From 0a7f5e20d4b7688cb4f701ee0738b8356c618c8e Mon Sep 17 00:00:00 2001 From: "Casper V. Kristensen" Date: Fri, 13 Dec 2019 20:50:31 +0100 Subject: [PATCH] Fix heatmap ambiguity: xx's for null data. --- graph/graph.py | 11 +++++++---- .../Computation_Time___1_bit_Block_Size.pdf | Bin 14614 -> 14614 bytes .../Network_Traffic___1_bit_Block_Size.pdf | Bin 15710 -> 15710 bytes ...atabase_Size_and_Block_Size___10Mbit_s.pdf | Bin 23300 -> 25675 bytes ...atabase_Size_and_Block_Size___10Mbit_s.pdf | Bin 23888 -> 23947 bytes ...tabase_Size_and_Block_Size___10_Mbit_s.pdf | Bin 28312 -> 27277 bytes ...atabase_Size_and_Block_Size___10Mbit_s.pdf | Bin 22435 -> 23386 bytes ...tabase_Size_and_Block_Size___10_Mbit_s.pdf | Bin 28442 -> 26895 bytes ...Simulated_Bandwidth___1_bit_Block_Size.pdf | Bin 15761 -> 15761 bytes graph/util.py | 8 ++++++-- pir/src/main/java/dk/au/pir/Driver.java | 2 +- 11 files changed, 14 insertions(+), 7 deletions(-) diff --git a/graph/graph.py b/graph/graph.py index acf569a..7e8ee49 100644 --- a/graph/graph.py +++ b/graph/graph.py @@ -3,7 +3,6 @@ import re import statistics from collections import defaultdict -import matplotlib.cm as cm import matplotlib.pyplot as plt import numpy as np from matplotlib.artist import setp @@ -174,7 +173,7 @@ def matrixify(results: list, x_func: callable, y_func: callable, z_func: callabl x_labels = list(sorted(set(x_func(r) for r in results))) y_labels = list(sorted(set(y_func(r) for r in results))) - data = {y: {x: 1 for x in x_labels} + data = {y: {x: 0 for x in x_labels} for y in y_labels} for r in results: @@ -200,7 +199,6 @@ def plot_scheme_heatmap(results: list, title: str, bandwidth: int): cbarlabel="Time (ms)", logcolor=True, origin="lower", - cmap=cm.gray ) save_fig(plt, title) @@ -221,7 +219,12 @@ def plot_old_vs_new_heatmap(all_results: dict, old_func: callable, new_func: cal def calc(i, j): try: - return data_new[i, j] - data_old[i, j] + if (data_new[i, j], data_old[i, j]) == (0, 0): + return 0 + diff = data_new[i, j] - data_old[i, j] + if diff == 0: + return 1 + return diff except IndexError: return 0 diff --git a/graph/plots/Computation_Time___1_bit_Block_Size.pdf b/graph/plots/Computation_Time___1_bit_Block_Size.pdf index 1716fbaae6a04cdc70af5ece7310a6c4812418b1..2df8d6361b592e7aeef77bb36dcfbcedee1832f4 100644 GIT binary patch delta 17 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 C3qiI3 delta 11595 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 WcXKo~Bj6W;K==u6+>lpMAoxH2C{XqQ diff --git a/graph/plots/Total_Simulated_Time_Heatmap__XOR___Varying_Database_Size_and_Block_Size___10Mbit_s.pdf b/graph/plots/Total_Simulated_Time_Heatmap__XOR___Varying_Database_Size_and_Block_Size___10Mbit_s.pdf index ec53c2fbbd5c09921e10a95dd0de5a611f650a75..728c93e84b5f09787edd290c1354f7b517a7f54a 100644 GIT binary patch delta 10969 zcma)B2Rzl?|2I>12wC?c6yds;%jH^`W$!)8ez=sqZ!7Oe3tIO9=q3Y_`M9U@0w+` zEmuRI%sb|Yc2Te=k=ZT_SA2XSkP2(?vUzCvoPn2&OVsb8e=MUYn5k&nQ09Z zk%gj}edS%Z20C1HiMccyuA!(8a$TV_TCUsiwgAc21soo)Pt10|xRejNRPMIWn<&I{ zrRq_`!NIWG)X`3<*6HMoG2Z%xl=5I>b|$8*r}cudXz@moSgmh6U(JJ#zcSt4N>Ct& z?+?CPPFhTa2@QP{j|DZ1O7!aKo;TT=y=0m<{g77g=Hl6Hx~IFGea_?WZIf0grBf`M ztAsiWM+)RnyR)W9?+0 ze~lxekwfQ>EgGWiH=g?;sVXLMMro>kroOz%M)r_H zZ~AOtW^$c!Ebem?wD*?vq6jHRh+)gh6;rB&TH?3J_K@s$2H(32jOq0yXF4ZB>@sGX z`fbROM1uC-VrBO@tEGy&JlKr=)k9P|%Fthz84~2(eXOzbAF^L+G>_HD3@dqND~%R% z&Y_f|4G+}SyexvQXVob2W1oWm$lrWOC-fbZ;`-JFnw>MxF%A z7DD1t#q~df9+c&dq6VQorv8huBB$_+BbZ4!2ZRL*`FOdi)s)n~bX-uxY%HzzIMhX% z#fsWu9W}%1*?I&<5~zlUr><qtr_i=#)ablDZQIfrX;nm*f~o z#*spCQ&asCL0OGOrws#=jaZ{CD?5u%)fWk|9jj66SIY4yFx(%f3o8R(g&e&sc%U)4$N3U{c7;jpLwEVCsTV*u@+^n_k2kDC{3duVJ3z$nL2)T2d_%_w07+d50^9JGugcx!q2KlR+>r*x5~? zU9Mp?HpUSz+odTvvk{7B@408ihtk#+H2@>ROt{Jq8#L>6kdi6O`Tpzo(KnB`Q*-4Z$ zW4bdml2N2aj;BqJfpP-L*-vIlIFOd4r~^TJZicCX97)wnt>~1R-zABYY{+q2ryS9N z$uGDL(JrpJk#ucZaVa;y?*?%NJqF#(QD}SPrvR(EVwz7Jo#~|(Zh1&+5!1d!_M^T^ zQdIyGYSRjm*OdEAu3?;_Jjx|jF7w3s@i!$+YS{T$-z2d=xQ(0+Tx)nK1wl&?RR*bo ziW{|tUP{4{r(waWpj*xJ5EHRP%&24IxwVIf%!!%@g9Wo2gCaL@a)V_2O*#;94~!~k zeP~z=>_D8@Ho`&WXKK7LnV!4NTfOkn?~E#?e$ZngHc}6mRK(WVmf*Rk%kFj^@~C7_ z_~M1H-4eQ}1t+0TFiwQ-1e)s{_)>Bj;#yYh7NPwF+a(W%u5NXneiatN($8^!BFN|L zi|7`)({IB-=><;)nBYChP64O&pSazLJVlpyXFh=d-wp{ALOZb~iuFW~u7LNp=x-FrJr&fQfwUIyLIkUUohWVssK2555QN=5%=lo>4waWB%r!?K3}pCSU)=IJgEuAnTPFY-rr z#OTGtY*<;vlIauAHeh$KTI)VK(j45cB1u?k{t#&A z;y&MF@-X32X&&z)1vsF9pu6oN@P)#3e=A<7Nim5hfkC||5YXBupbvVestZAQgaSxN z)XPk{t~TSkDTw^C=x@&1d^phUO@BRH+w!qOZn(x;ONAOJxdajNyY_ghEN*k3R~TeA zNL(J$%E3;2mW>phFj{qy@CMW7xyF;6aTiPIEQJ+1ldT8g%vn3BV4 zDe#d#H~YS2+9S5&V_I7C?eTcKZUGkNA>F+vBsBt487-o+eC`0Xhr9r_)TM`MKo-R} zQvuuJT^k<2sWd*0cRK~?>y5ZTih+H%rzp#ZXO@kxU&WuA{wVFQfY6JQ>K>ja3Hk1- z?>$~ieE19wh{CIv9a|@-=Py8otWHaGpQ;!%ej(t<+7spFj_;Hs^`;y|c6Fb85Bp{&$0OB`@Cz;;DdL0?J-gb09Ziw#WS&emD2fRQkN)TnVO zx_&`l4pVYK)e)qgjj z{O1hiDzXKP`C;Jl_kn7U;1AR2ziqqxQ|TA4*t6-)gL_pIbIJltiO2dS*(gC+&x;w; zs*?jl4yaO?m?}u5d{ahQ&QmJ=47t;Y=HluGb)4VBrmGh9dxQNenIk28Y@^zt>j$sF zX#GqF=m~>ZG*D%8BtSd)V zI?F9l*ujWzP`m_--0+*G@q&0d)CmBhrpvg@@ZAbakQJNU6rogs&v7ZCDySrcKFTFN z%i7(ZI8NpU$^5wyD895#frDDf(LMYx?P7?ktIq(Q&ZZgLM&WCQ^~6(22P3|f!U0dp zUpiFvR#%QvDua=UFv-?^YAj0RX*ohs@=|~@{=Rmy_eTKF#?3J9we1v-@e1a7^J`u% zVJH#qV72@)ktI2N$((S71Y!!^e1qy+_e3jS>|@rf*1X$8MSyiUGycBr1_0uIiXS1E z#<$7Ds{&s?J^+X>w+A9!&OWtvu_ua?`AC#|4qyxDA|wC^5>0`ZO85?r$8hGK7+59# ziQ(prctLz6xd3bx{9p@xLKkzhpHhYT54uD`HzQrJ`19d}Ey)-XL*E%*hmAxU7(~@w$DV z$j1v7=NHrDV;+__DT|i&6Oho`G8{wAW^FCA20dFqQs`a!{-Qw(%TEbGPAB%HY$>3b z@Ruyui{yBj>BO9KS-_3pLxHvO{(Y+y$wfso)@Kk))nmd;Ty&8h6vjtqCQVioFfkG?|Jy9~0 z(kwvw$zRLwyiyxf80Tkk3MZtZJ=nt^i0_tW2B&cG*8(lOx!oBQyZ?Y@#p=(}Q*fNk zvi@S2z!~(6_mT0J`xi*jn92moMFqRPvQQPEcx%tus)G36@G&CsoEKhD*w@yPDVaVC z)S(;C`Tp?8jR?|M0F$3UXPk`wL#@lc_*2;I>bPG(4`xEjHmJ87cgAeS3NIPB1engM%lFeDsMhGk%r=rXMwwMGPuS)x(7I z?p8dV_ayv+A(2Ih^+1ApQKi0j?FFEHJbsg0ekOu}RHT%hu7fzSukHw->3+&utSabP zG_R`+7jT_$2>_1fAkkZ!c$yr>xcgPEWksaoX+n%~#LMV%X^aKp-Hgluhb+<6@xUvV zl{Ddnn_0ovmC+T;BP|cVGxKA`hT|j`-)HE=-0W_wV?7G`@{I?{!Eha^Chj6ZieTeQ z$>RAQvk}D@qQ`r$fR_skpO2Zmp$r|}h8E!1mD+)aqWD{K#YZAP+ky0o$G~ZDqja0G zgPXM|F8XTc=cxsqQiO0!%Dju|;~G+abdwGkZiWg$z8vW>JC$WnWtM7G`A#$+lrkx( zD`$^*vwTn|CYO2fG`3J%E_f|N)OkmZl9X^W`^@6nL_$t?;F(No`w9r>(NREuS%k0- z17-IRPgWyZB}J^Qb#FrBpjfCPm~9SqNQ`wjJrrYdM?LG}eXIrnn5Mv|^j@+m8rW2z zZ>k{UjS5>FY>MhW@Q0p(BfEHm7~;0~-XD5FQ?gsL`Qd(ndM}uzkJrDp%xYyFh8+hQ zehZhD{2F#j-kse5vK`%YAvpg%-y7udlZM>J?OCIg3=C!5$Saqay^>L$gYx6F%%D2K zC5-T&MF-Kt+Xt+TU!(jt*S3<|(M)KA#^T1n!1ZW%wMd-vLfC^p>7TgCvV{bfm^~Z0 z@@=hX5nsZwLw#`$PJLna)x!rRI5c+4j z2JvbF%I^hGU^Daj%Ihp%!I`c}))HcRR=UIDk%LvtLr6E{wScJX?jGQMO`P>C!Rx~- zve^SgqU)Z?`_S~PSczJ6(LkG2*PIiDo%p*iE`T)EWw)xPsyFpCBt3UEae}Y4e`YD) zvqIpmnR)sLkZgKxVbVlp&%pJix1Q<}A05kP@?g#d(x^8ptB;VZISpMoaHl`aE$U^C zyZlBAM^erG;OarxXmJ&D>1a?;mh|e!6^~$FyiCIjAy&kKCP3b@PfyKVtq%$#)yjzw z_TXGD3qz@GwabcW)yfUUS>-5H+=?C8jvAElm(==1aPUSogBp-xHaIFxmZ~eF z?dWyHrag`6H0C~!L)Hz1G*hJuhE_H!Sd+W-M5fhE-Jz4aBam%7$+p#7W{5BA1AhFc z(zwkl_sG#FhHP5Sst7dKMGy~Me=WB0gG!%Lo2x7F&~Yxjj3{AcwX zZfLD@tS+7#uJMkMJn+ri{W>Td(UZF9l;R&tbE|J_>e8d)Z{i2 ztx?}Tuu^D6W*d+Jthn?>S%t!bY3hAIAf;`g*J_YAX*;l3FEfmLaAXv<2-wcWylj;W zb7|~0Uy{x+yjy@mS$a|I0gF~^79KCZ?4C{akM+4#f}2+89e8hsbdzCyvVGXe6kEf~ zVv(d+`iJ{r^RU6-^6Lfv+J%Z~^q}4PfG~Q0qu1&f_#<%bi*LIVv$2g|H-}}9zP4Kp zm2b#9e`@&RMqyI$NU(ZO!gS>DMlx7%cXIG`+{5s+Ui(ksX1GUh?nTG(SFNb8Ds$Y` zxP3RmdZ|389)@^P-au$C`R&qh&n)2wlGDjfRHDZ#S2S0$-0mt5#BDxFi6KVEUyAFC z>(%N@(`b*V-(*ifx9n4QHqx`pvzV?rMaiZ-*!2G-#r^G7Q+hnQ6Lh1jtmPe}cNxQc zd7F>&aWn@oMNQqRsyXK81E=Nle&wTj>{Kgt;ai|N$<_5uotlkZ`iY^~U#?wopGrLa-SNgn5~7EPY$ z*xNSV+xL3XIp{bhD!L&cmgI3|${XI)Ugh!LcV&|^d+fDR$i{ZYW>!gaa+Rsoc}JbK zFNeVu>={#c?oD?l_^#j zSmEowgo0@Ai2>m0Jc{v}_?LNSmMEC(t%_hmK^hmXs0*o|FoncXO7M84gl2M~;Zp=r zfOO06iJp6l3l}pyXahdk>|#^Bd6&YET$I3wlat=BM`! z$~blp>Je1{iVYyUh=~g8ursLu+o2Fb!i741HRHQAZ{?&u+iOk8|XLqiGVz%-+B(6s1 zS%ohQ$jsB|^ETWlESyQRfb$wN$+E3r(95;fPGVn%#=1XQ6>9{ZQ7fGyGs=%E3vLqm zVrwe&LGfEZylh)T=mT%V-DsR8+lUi;kSB=R`vspPxM&Mn#X=ywk|q#3SZ171?sJ)f zx8Y4@N|+dlX$z)jynCr3=fK(ondoW6D3HkAQzWx-Ipr%fYH&!?@E!K}_;l{aPW1E2 z*I0g5)J8-6qpPCpc69mdS=wTv}VDr!~g$Y=`J`_Wg0zcly$H2o}y;xcg@2L0y@UXoAVE>-Oc1gnhXb z8r*>flb@4?W0A(fASafd`yT0a*K z%#qHaXlRxB;O1k&8+;`NSh!@!H?PhV5D^6Frpq5LsO5A0C|G3~{$}E<)2JZYv$n9` z8xsyFn|f2CtQzpjRg9zC4N)D`)3f_IWv$sFhp zrX}C%UK3iM1_H}}T3jjrzSRt3P}ehdY%9LbsIDh5?`kMsNKxMQo+iHho&sc@(cH{B zzdP?Fz?yxpTbv%~8-T7&{f7QTgX`L(&qF$(Zjf7d{1pCt)x+#Ba^jn?@dr5)2^PL`#myIN1_&TvaVY-F0<#VS>B8XT!W!2--JS50A}7=M zpDYUz<3AR?rt_7cAg&b zw=be)WXOf}om`w;9sW{1`Tdsxu&}Y7r`=6_6v8HdJpno%p6+(nQRKd9UhyLCEf7kQ zfI1?O^{Gs7oXbR3FK9*7aF%zfm;Ldp=x}B#PcG_8?gL2|v+FkdMLX-C=FQ-r{EnW_ zJm~R9Pizw&X=SZGd8YT}gUb?qk5sSC)nE%8OriJ5Ml{9^5euQB-{j30KV>B5u{_m0f4f*u9~xrGDK`kK@7^5;vE&fHg{Ww^UQ=Q4gC!I?rF9KW+N)Gbfj1YU?n{B>0&*1IV$%(~Q zgQA9dv17u3uj_XfPY*vl!dzEp!`xJ-0=~%^W0pC_I985vV{@ZcK?gIby*b=$WCs{p zwaWlJGRms}5%k8qeLFK{)n&yzWh2FV z!aAL?!}8&~DT0;3-6Si}KK*g}Pk_&i+Yo2C%JPl>WbM=p2dnn=zr3H~jcg?J7S>Ms z7cC!Oy!f6k0)t6lp6HxvtSi9s<`I@}o4wbK|09V*NhEgQVZKs%2H_Rm@u69JY< zp;OgdTOhOwf-O-y@YU+k*)2TUT=)CxWKxuZ!ORt_4}hi5mJ z*JoyrP{B1lmB)2O)(xscGE;v#9MA0aIA!E7%^%GB26JH_WlZm-<336W^`cc9^bp9| znMI}7;~m4yT@{q)D+FzxB@fLxdH8nuqPa$&M{8-PhM07&j|U0Hl{Y(wAZ5~>-31>| zwmnd3&ngSsFccgfY|HgP{jogy**q1Q#}+rs>74&?StI!Y6X z2d9Uwl&o_)JFgW3YZQiGnYsjS?GSusuQ#dqD6(;{X!VZ<>cI-8*gK1(yuA_CV(7O` zo~Wnut;s%=wEmNv!+E*gGn@hK)AGB=&{NWDt^36Fe3eV#<7>FGMdo(51z*a>PyXa& z3K{gx)o_TR?DI|B5NSGDP?5|1x2tMUB+m47M)(4=jYY>GkzY5Fv)ZSWae*W$K9%9T z7|urmW@|48Sssl`<>LI_H64pKi963BImVm~`-K zcqqKZA-yAehKzVe^V!_HNzPuWdi%s>9~r{PrgNBoQ4#nQ<10c`R1{;Ut3)V@$=Bs3 zfkH$Pn0{S9LNScG9t4d*K*13F2kZ(aKY0)V`l0CWG70#vG6|^YzmSOoee-8~5>N!< z7a6bs4qQ?o5X^y|C|X=x9EkO2CE)*1z~%EN8B_!+@vBS(4u$>Z5DxiWCME{|9Viq5 zTvZ`xz{}t0A>!hQU(rJ(M4-PSg-F1}enTZ8E)HzNpMr)+ARxc#BA^og0F3t!d=O%Y ze+YlbBoMzUi$I_vzXm7*fs6kdj0gnr8|@+@B5*un;PW?N5fL;D^1D#<_Zkop6aRgk z#P3d^(BEqcD)xJTP;uCaJ+6O714W4a<^(2!IcrFd7W=)lVB#XbWnWYT@-JkF-zrB` z^mo{zK&F4?M-1qwco~qU|0hih`a2$R@qe)&V4}YnM8IIb1_K5D@A_-dfb6FV)5NC@ z*aPt27K$K%_aOZ2{|5+#Ld5t4AV?@RLBjxogpz{NDFV_dF~o}~Ac`VqL`q7LkW!G478OuZ zhERqQkQhoNCI5Ty-1B`$*S%}qyVhkb-u2G2pZx9L^Xxq^SV8u*gzUvTGU${^{H=|j zA}+M_r7OFpJvqtJjzZVa?2Y8--fBICu{1Thh3&rkFtFUpV$F7_x+p%`Akh~!RCY!L z-%v;lCbY<0-rih!8Wi$$e{W?uwPk6w0Sb8)$GEkWQJ}$dUP?!|ZYHB1v)9XLkC}Zs zwS|XF`ZAseC=ck?4_xPY?hP3S9Va?-Ct3@ws@VjHXpLGM%5<$EL>CGND~{0-hL+&6 z#TL^Ji}2wmoz5#21=BC*q8(?NmzOK`<7|}oegtl;h^sqauN;9FJ*KzB`L4F;U8@TE91jUivC!rzB11*VtiE)rb_fP1AOkec#lr3yZ zV!jRB*Qjd+p>tQs%FL=7yFduyT>FsJf}L$C=Z;Ac3YqJ~r0WIHpTsA=wqAQPc$6)7 z`@FxtClC;F@(C}`Yu}Dt*%hrRsEIM42>rI@sK_Z1`}wmo31I2h~j%tUpTjer0qk+qspBJ@{<$&UZNO9 zpeKm^VzW8#<7?^;r7_=fG4_zuM5*8I=b~WIK+~Trky`=on1DKKnWWggQwz+l$#J~9 z?DRawd*`zDLTx0p(G_AiT~XzQV+EeuueqXkKSXFIDC_5KBl>ie=NuA02tLeMVDNBDua>KvZCiOYt%kg)RHF=Ak7iU%VV zqews|!Z#ElJ=fc*Bb_yrrMP%|cTz_%^aeZxWglay>31%k!h_Z$oAwqL{SqT7_M) z3Mi(oD;3j)hWMkR6O=Coh7UpW$?)((tqFgUc?~d6x;)b0U&-M@ZIwPtR!Dc<&GX53 z*y|2724g2J=xf%{7yE=BS4H zyaweb$s05h&Q+-`Zt5^1jLx0}^`B_{dWX!Q+Lxvs$=g$meK~6sisV(j%Aj^_>ONm{ zk}OP=Nv=^l;5f4R9hu#YS+Z+q!ruiNu{2WUXnvlZPgyUlODU^RHVQm6Mw_EKL#&48 zY7?vMlosWuquG*AD^l=M;rTbOJC?n7kb3_<0|*R&AcXyAL=4FYMxUd}w6IpGvlG+A z0y9Hknyw8jEEf+4FM9_oDi^lud_4vePlCUBr3Gy`(RIPzy;-HnPy6CeIX{?I_uWq2 zk**`W8^{VH&1)4%NgRQ4G-<>yO%5kFp*kcTm#!BYqayd!oAU4xo{dkwlc*r}#fnr<`V_eyr+ zAw{5D%e^*A(8{BN(c&p?8LPytISPiK(uwfk z;g%g8pZ$p@eX6ZYq&MsduTOY4-{>uGA-WaKep_t#Sf_1;U24R_5mq=%1ti%-Kb#pr zsx=eT1&gX@nINT4T7fYoV5Xjyggt-`;VEVUDCgEw zl{>046#oVh20+~RzJ@w|n=6whog~c3AKgN_p{k`~>;6#TGOd|ov22nukbku^v2J972I4H7|MY~aIkMD&D+c?*Zz7>Pju zX^@>#l#-m+0XpD=O4Qh!G{DtxIy^t@SOoO}2xkBYS1I8;BxdCSq#iH_es===BU%5) z03un0gUrA_od)}4PXizN+ae;52!C@jf{JX_)|X z$r=rI56DhhfJG4-NP9#|18{QxfRhKoohtUKLMxO#H(&6PVtppX^7I<_5E~Mk02Is% z_n#Cto53sJnjLOI3aqG7k! z$a?Nbw^jBx&KSkMN1&;mfcVEb+lfcj1ePITj@H~{;!gusIl#-I}y zZkhM)fRwg?l#_e{BcwAKMuF$&-wqF7sG?UP!}EW>OdbpR=otNN=){d8a@$y`moPzqL-~d9102F9O6uQW&G|v8xl;cqv90pfEWI zBI+mHzA_Y}Exvc|$k$6Zgu%@BnRCKY<^U%n?Watjoan$`PL3S+e$RA4{X%6M-=T}< zMJVhEvGoaBNYLK2Nv=esQb9jS0Y)BA@sQ1#aL{|yI*eY%c`gUNrwDqlT=g>HU?PG2 zt73aTcrcL|!FVV#=<_F?gn@uy9+A&0NHe(+Y`&MsrSgN`g9Cn9WIbOX_1<@|wL_(s z38Us!T;VW0KV(~Ob7;5dRy8jSXz6LLcvl`>B!>Z4C)kqghLh=GK*`{eZPaxqaTrV| zPUYf_W8mHd1KQ;3RF0+rQ-2)`Z)HAJZ68%G$gTp@VT6%107ZaC(>apHI5~sLB+b!b zt7)E8-bXn+e>Z6X@QJiQ zuKV8$er!`KiR~vM<$hgNNeU3TZe`OvIGGN+$m00}{a76XM81j}G$g~xGJo|;uP3rl3y5YaT)(l^u}U-e@P+MAGCfJ7I|pcVT4w&O0UCpx>hUb|tJ8LG zz%;RZ6LW$rm7E>)S@>SZDy$zEf+LO9D+khSC0XiOW=62ckxNsFf|>N+Di6JKera@C z>WO>3r|CUMEYYSq#2&Sf*fUh`b?#E^g+PA8(BT->`K&A3F5&)sX#;7(@8E4x@f5FE zp4TjDWzlAuvB)(kWR=c!vK}YHO2zY6u{^I{)X8Gbyvzd0kt+n3vQFP87oG z=Hx&XZ9$(~iXTzH;|DVWMl9k)d<5~jKYp^s+G%4JhEh*zW$Melp{1}kMT?GR*O^Qd zJv#erMA2@_G(36lsD^4maRYs(@tqx3jyJnA6G!C=j>HQ&i*N85SdJ1;S0~owBsPFOhjqxbvU$y3CD zQ`IkTKBbu2zI51fwGI$o*wWS#Zj(8Vrk;7F1Kp!_*wApjLiP-(oXpA_ z8EczT%K|E@!l@(`VGyZ<#$j2*)zSNrn@NZ+b-dE7w3|__P#wHb7kgOOQvjs_2`pd? zg~3&ot0vI-Hbs40g^3Okvuj>@p=a`R;=12>=Le7`!`j1H=0mbWfD|<< zY7W@!y+rrHDl~_1zD}IveyIT$;5{Z`HvWf=zYD1yo}(~5`)%g#pi5p|27Q$2*591= zTE)%*dyD*|kNZ#zMDK5$qp6ZPKQNJmtJhAN)f^H%NkU;k-XHRFshUe zpGe~4qF@{u_`8#a^*sTfTXc7--N8BEYnns-BGYXMOl6e>2Q1~0k3GOS{i+$bt!K^* zlkn|AVH&9&)}+BXj}^o7KQyTD1WusNoP|5g8ZQ!h7J74By08)ON5SXUE;FbPRu|zG zD^z1MGq+sA>DHZwhc#}K85{CZWB0w~uFD)Hl7&8Ojc>Mjr`oZ)I4(G5`B z?;@Y3OPJZ?dosuyf)^&WK1jHhEei^EtHqqi-*j-69(hM;E*#HK)lk?DngUXx7Vya) zNsRmw$ii|h^W6Q1+oj@Mo}-l8Lh<~4^`dPv9Xgqz!25jL^8@etz6BU{gjNp&Ar~APx!d(N69V-#Zz3a7i}dq%k(Lq?6$IApW9V^ zS8%s_x<#3%A!tW0L7CXVQ!(~x@how$;0?EXbUkdZ#5hQ2;AF~L(1u%Ay*RNBkmI=_K$Y4JRR z;puq$m-$GcmB@nK*4vj}c{T3NHDbGQaeaw>71Z6)Cy}?ij&_+Z^px6t5>e7s6rULE z+Q&{V!sTR~Z!?USwceF(a{uzcdZhBs&?vteMRa?f5`CRZ!q6kBeB-)L@krKWU*DE? zC{w9zNLsrt`}*niRPIiDW_gn^hQmaBciN)?cPklv&wz9K>O=+BIS<#S z)sM{Nr{C>PMj<5g^wk)#e+~B^&abTRGpb|FM`zf&7-ZzY*HEQJu020@iVRECi8|5; z=J=(&^K*`3M9%=zrGZC!68=^S9Z>bvPq6AKA>Ee>#~yhFsDxH4X!{n7}6RpF~4RIS} zEb1w6&#hjY@Jy?e@4s^wWh=CJI8T2=FcdFWr0rDFwcmNVxF1$pC6lQ%oSFq;`ky5( zm+?5izkFhh^B@$?qdE6FEo_r(y2v_p{73o?t^mQi`Wx!BE*2GOPn7qyjV#y5zIuC- za;1ygmUoZZabIz)G3q6&k_fM%AmWG3`a_4;KXehUaLsqL531A;z!WIP%R*;U{cRq} zZxgIMW;$6NV2jpcBjM1NU%+6PO=aJWt_B75W8nn8Dg}^OnumPH2+TLZPz`kErGS^V{@Jv@P@FRZ?)5S%${q_G=6R*Eg)pDCAy_XLTPtm zu0(0~$J^}|lTi~{4CXw+zIN%-?(-Dm>&cfTH=@OtE3nRUmmxW4$*xd#&w{n#(e{Na z>^6h$MeO0`H!kkmFKJp5L+juTyQK+-d?m&Vm*#>)FS9+I-_))xfvOz~s+@L=-U z$UvN0-Hi68=<%(-W0Gzti`BQ zC`QzGw79~~h6sg*7EsS3PWiuG1LjLpSm!~%kkpUCz+~6FWL7D?1J}2W4dt&~cu4p1 zw0t7grlg?y^?>gyvy8s&tsujX9zE^`c#Qa3eV7?>_4<(aE0YcFx}pJ&XX$v0yfTx= z+I1xZxVM9Tvr3QTa&3sAp)&m)z1e8l;x6#6JOHIN?Oa{Cx>hmrntNDY=IJODl3jL{ zkd3>lkmG5juO{DhM0Z%)3cZxu==Wr2d;{9w>7b2#Lx=&JDsxEmRl$Tt{=Zahgq{ z-O#POQO9yutiKV4-A2iav7Dl=)f_>T?c|56i1{zLJGcMx4D<}u{w$51JZ#kTfS*rT z(!OA_p?x8U>&M}xoTZb5a(If;@HIs>$H-{6wd@j(-HD0`!Z2nO?V^7?cj1LH+A-2; zepU6UN$G?jSP&gWKhHJ3)tlZGYxeb60#vu1rR;gS{%hSbW>S{eY+o%E7}ZY4n6HH) zQf*dU-1M((+KAm$Xa0ri~22C&U*pG|sor^R45M;D;*wb(6 zcH1IEK*Q~QGhcgUE*h*Yz>Kvc+AaOQP-ff^t9B9*^a8hZ`a-N{ngVfoo&YpUAL>3 zqWpqk?2gRFX95pvC*DVzCaas~w@R(KRtvyH%4kHQ%ll2H+0l1j__(k=t=zVGfda4n zH}y9%r54R@CA3{~Ez;_sHwF%hwTm>*$}8GBu&;b9)}{8$fV^zRa&4^n3g=fh2PH~L zmZc`AOs8*c9ysZ?RysnvXy?Fg_pRy-d%$dKR042V=6?xe89b5x9!h?OKR@O)>z5gf z@^{B_z-S*q?n}=iBJqP`Caw_Z6%>_e0)DXB# zmN5_&e#7PRa0O0uhRY>*AWgNhVhyqQv5>{fg5)hm*3m)*cgBBnIEmvmS`5cxmdrB zhpWj|J}IB_ATVIH?h)1mGG48nQD|awf)b#(vWiDHy`59cg06*}8eL#)`S_)Q+51rM zMlqaa%lKxjSune=Uc(5M^U>?%!Ee#p=8|z}=K@bZ%t^8Bn*G~!<7I`j70cD@t^_?R z<$W(Zde+(|VvyZTl!w~Bh#PxGRNqP?Vl6*Kbb>LEf%TMcq}6Hz_UxcXj-_4MrsOMDwaUn;^z{aSx8Lf`+_|a*M2v48|aBu zp_uKwU@%R1phe*`Z*weeyvIX(&FA5mla#B(C-Fr*hjQY`30mF}cGm_@f zdP}7aW?NJoB&RRc0~BtTf;_<_kl(%nM5d!nb1ox&W@zo2iXx|PCG2XTjK_<2?+sTU zX<*ql4~g;j-ckvf$?d$_Iqv?lv`4mb7a&P; z>}KwDe8q>9>d77-g$JZm7c!j(n`?#5YQ?O3Y~CiBl&$v`k6baen7jMLKh>rEOt%|P zRql^Z#rY2zf|);5?Jm2X&lKDIa(y|VTr_qMvY)kaHri5-sV~^WX~VfFWzh(9nG3v0 zkPLwnQ$J2gCvg^qJEbm8C&i24^}OOjr>Kat(9|YJqHtd?B5~c?4&;(DxU*V{N<%Mo z3(QzGE)q7n z7xq@EVLRG5ri)_7R%!A+D`7CYo^T$XT%o0mSq1J@N-HOi0!qP z7uIthiJsLT8XnfwXEz?Twzkd@Dk&+!v&f44qbpq14JSBQ+OE0V{aBcqa>SOt*z#9| zgB%MyySlpYxXQ}PS=xq28@O=2(;!tkHp@OZfy&bMhx^K$$*7XDa;}gi^*`GuEfN6oe#CtK21C<+SP*q;5cv9Ymwi}@da z>@QlHrA$BDTf882>@`4PVV$c210T0>T?VIdi+Xg-^Dp1*OId|ln8sMhzRu~B`Nxpy zMa!X+^ucbq_}LRSKQ#Z93ymG@|M|yDZXcG47wMpL@VM&h=i^}KPI@D8Oj71=vLTU@ z2wb|RJx<;bgHzUG$K5lGCYO}Mu^Z*%q;*(u>RL=d#E4rq;)I53JZ>RaRn965?(aJo zp1W}4gP^NntZ@q)DlS;V03A2M*_PrP#%-CtYg!p*#jz2>D961&_jv8iT<3yZ;@aF^ zot*Mvv#yb(m5|oilr*^ko8FbV%Bfe)J8cBTqLyZi!jh9yXHEIHmlz)lIDx&c>!IBOFf5m^~&u$R9%0nvVw zp%5TpW>c2aXw+{jNEyVRGHEF(+({D_NEQsGfB8np%Ek6fjZs6WCFMdm`}ez%GuDAu3dO6WMCa>g=i?XXegZeF54Z3mE-=hj;r{hX{nWXcN9Wh&&F}MH z4S|#J@q3$iOKa(zyYyI(-O?`q=)k__a`gjsbl|lL2pgYLjeD-z@DD=uC-SL-(}Zss z(GuUM2@mE9!T{tE{qZRi)8abE@n&N9RwjF1Y`6c(O3RK@b5&-hRO=@CB=Z7rabqDZ z$mr?E%U^(#lGF8014gV`xfH3T=KitY~ReyY6D==%o?51Vtty-XneH4{&H_|U3mWO z&BfXW8uASD%<_DLrio=SCs)7Fg?`j!V5&#yuhR6Giey_`?2Ze}#+!)K;R<(Wdtvz(u z>r1H482fv|=_DgN2J$n;9yLS#9yMRCevlZMzJxdKPxB#`pm~{4{yy z1=Q%ep4!;DZNiz|3msbWxm%C^n-cJz(Dr+&mbTu1lKQk(y0I20vu4?1Cy`G`+DB(c z&g3%f{fdoIRq5gP=DU6SqV`1m6`#Vnu4dd@QdBI9SzoX%!2PBSUAn9fow%MK!h+Cc zWpJQP=@=i~eAYH{-=;*9lsSk;BkwMImadj{{tF?R4+ik8LNOqC{${w4x|4k1Nuk?^ zW=$dn%N%s8hjxrObp4aw&BsA6kc@$DN-TStpR4MOo(*z)My3=?TZeemZEXd{>Jb#U z6yCBeMuW|&2BYUG^3NWpbUX`Eu&v^zz(Fz- z&_z+AjYS`VU8Hgth~gisf%-wp@|5kH)JrHIw*`s|Yoy0&X~guWY^aH%)ksZ1(nHrT z-WkU`B&m)rdiU-nZt=1*$w`9dYIw621R)dcZ%c~O_t zHaF0|TY2Ih!-;$3%MaYDMOEAf2-#HeJlPWJ(n-0)k>0{3Sv}h`+sX zK8f^#h!J?xJ-FCFKY7HlZRBxoM_`KGPq+~oX4W?Fj5;Shq%SvBq#(=iP zO}XiX#Y~~@f$B#`spOR_xi5KE_=@u!p%GQkuMf;?41mvyiW{HnaD0KnX)X2+mQYTWD#dG(Gg0l7 zUoX$h`kSmCgJs6vQAulAd6j!0X)>MRJLn z?ib1qn>@6KWT6yIdU7&AyaKyHD*a8IBvz^O55%S9ccT?LViM;{5N+-HoIRpa8$Ry< zpR^Lhfp1;nCL4P0U|1K1zjjEx%OSNfp284f0@^!zteQ^p1ndtPA)N0vm;G4sIKT+&YX+Wh1Kwna= zrk`01PHlVPSdQfTMjcDfb}5t2%$4O=%77W;g){MN_u=hTgB&nEiLhV7SF>M+p1B*A zO!)1EC!imxhYejM&IHl!E_-(R(=*gz;ULHa(24wMdJyz%TNwC{Vynkdc*ntk4D8Kh7CTHh@Uh+KWn0AcWE%s5Ohg9OO|mS2WUEisPM@P_{g6+VoJAFG*6FNmvLV6n zUh_g5)V~Z0U@zefT-&|5{(?M78+K7!V(Lnx@YK$W2%B^^(^0lQ78F|(nkHVG`y!15 zD?_8O3o7h3a-@Oot~adseB~p}8QYw3{>l)VgrT2t+gPlScXLlZW_4yOBAm4kC=K+T z*$WGO7xPz{iII2=lIc6TJ!zB9V%o|!0&?g?(Pzs=ardRP+4ezW!S60wHJUJ zU>*)y_TCPW7ZLjNZpD*qP-nTYED(kQ%u}$SOM5sq5v$%%i;Gtfcl%x%aSWIm8&|zd zo{7*IvT4eT0|};woI!-ufQH)iDUj>K<-Bd#glB$uc(^YV)_W<)tTq~9T@o*JQ};ByE+9%Ja4<*^$xn_DBJR-Pi93>zm3DS}H2I(d>DzpJ)cGp5xdG`og=? zN21OHpyjO>-DfsFqm)JcuDz4Rbz{#<;Lr+K4dK`tk@ww5mQSTqa>^3jDc+mE@^ND< ztuu!YX*NZi%xXHw8_$ZezV>$Ru?Oc!>Ijbey{eqHWGf<{%RcRAG4YOf?bba}p$gMl{Gsma~=u$iWdX!yLhBv%Z1dDO}Dv*`PwjFT~7gr8N9 zEOeo{3(~4_HV@V3#z>G0(lUL|*U9J3p6AW3jk9_VT57xDdJfj}HUvmhP+*vQum_{N zTq|L)RY$IckIB@;ul$d?u2p4Q{Lu8dU@CN0z z9x{ZyDO}FgZ84vj2%p%p27X(bl$i)k{I=q3OnPX5dkN0twL~JXZahkG*37lSJu@k` zUNUA%`#OauT|C20^11@q{q<0z2%wrI(AL`eHaNoKFc2?Ut>c4;o29#TWCc|H6WVKB z6-2ix>QvTjc6?jG@dAf~n8zAJjG|O$>zYQ0mc{?1=E9~zZQ<) zPmc_ES@IqWONcXGRJHib@jmb|a-_E*`0a0z3w4wt)vlyn zy2VFEI<8hKNWPqqUHX-5#PVi04#q*Mtg(J(w;AU@ldUwR6l8#C%*eL=%8DTccuq+CA$=8#n{MIB|&4{uA$d@yi2QrJ+OY3|-Ku@SHv zwAGGFTOK-HGRgRARuk1b(L|VmUiuc$*cRsi3Z$|`y{(WYXU+Ho(jtkzrlGguFIF|J zhZ$ut<>e=i*lj4oHrvRCONEWGZ^Zibr@bock>DJQqjd33mxEa2!;~?bpw?6-{@euyU}VLV*OH5y9mvbjZBCJOi2@yxy7 z`IlKJ&Q6L=uDC@<%ca4K`G@2uSo=DSjS}DTktfdWx+zy$U`FaoGZzhkE6AOrD?VNg zI3`9MpQWs!hT86*BF{M=@4O7LSSZuUlrWDK z+I${O1y!*B83E=@m6wvlY7 ze0U;=_tWp7OCMkk0oAJx0cC&Lb!~`;wMS`@DHxGgGGq`JvwWB=R~?K=AZ+izcqgEu zpGGUnCZB(Emn>;&R?lL&ARkjQ!D6p2D*OY?W2a2M46CGfnSH(sCk$Pv(68GPF49yw zDL9zoZT~AuHWzW4Xci|OfK9Q~UO6X=<i7TyvR-d@b`L1<9(aOG-o?YxoIQy!*L#DKJieht>UMki+L$2T(274(l*p6g;RE!-FZ>(uIEl)3?b*$uji`1eGd-&D$G`rv<>tNRtOvhTiH@casDN$ zn)A}+ztemgoEawb82!)YR9%_hi7!i|k$u6bfGGpmmR<6m2z^V`TCS<0y>BH@i04Ce zU@H=V*PkHNKuP-shx?*-CojD5A#0cJZST?itmP=)MepgHt`d=Mp!-(>X?I~URD*fj z^Dj=2!a<79MdsE^Eyivd-eL}kUEXNC@+GEBv}^3)??OyK3l`$J=At7^*@XKCuO)`N zUN+-uzw-?CB-y8%FZveJ{O%L0XR*I?&>74@mmdj|McQDSv;w~XN*6D=Ed^V9+qsM} zR3j|g&+u_s%CCIPdaZ8&di-_2ETi5Gq-D1GuCli}Z+39Ry;06tH%e?4VRJG8!@7U0 zYWB2^r&5BC27_o)kZovr8ej}Sh#eA4xTtnu>y4R`DJv`Q8_X+XDBscbYTg@5Z)Wk1u?R&UZoJ@c)##~Cvf~HYYeC26Wh*RFHIet?mAxumU6!zZAMrC z{nIZwul{sN2W8_!pks6Ya;P08xzZ|Et`>ySU@TH1b6od#-DA1A7y3w&hx?-ej7C9< z@z^3!Y4{ejHsyDfz61+crJDzBtj|$HYxU+roq2Niblh;IP!&IAGpFjv4$i=is@d=5o+#5dKz=f#S3q0HWtX+Lif zSQoTET4QJ#)tOmfaE%j6w})$SJbaSH^=(%z9@Av8vth{<|HaSoI7_u^2`OfYKJa|>Y!1#>qZ?j${ zm=w#{GeWw1z^<+HFfb=ZJrvEI>aHt#GJl4f`Tq1E+SQrkw1WBCWL^P=d;0-TVY zuDG&6RT?cWs|jps%h%0n`?B;?1+N^Yvi=+)0Ad~{ZTv}nt4#xhAi17azdjSr;KG%e zsE60pEc+vu&HlTo{=!>EjWkYXJmeZ(U%aenA?}^@S1O=hfec4G>8q14u}zNezs6TR zD#Zh146?8}#+60Z491S;8B^r1&P9Ylj*n~V`rQ@rKGev6gZ`-Y0q+8uo!9kooJ3NMRCE=F2i99h zq&&h;rTL0^a`DUcVt&1F#3QAG*T}5h^x=ik5ry_ct*odPro>L1ghCHwMgib(s^&!S z`{sa!GH(a%xjKyhaJXw-a@n?OBd9w6uZo!W+P#roNV?DV>YPV^)X?C>s;90ZpreVd&a-yOu3&s!AFt0b@ps3yT z3x@&_VY`_GJT>HIJ=ArK)9%G|i@za|+w@h0wa@h@e_5jT!DahB^Cq%^)v%Z0VNY>= zja#aaTIX)Rx}Y@DJ(;s^bx3znQCe_GerW!w_xsg1*soP-oSI2S#~Q;JnTrFR2jn=b zdx3Q|Fykhfs%t>vU~xy*QkaL^lGLxvz4m&W1!tm&yp~aNmfz5OrjYImy?q=#IyTto zXIpsOs7sFbjp0xrrv4pdWmeyKX!ZI2LHYbv2EniU&6AQ7{01?ask+S)+h7P^DO}BR zLvMFDgQOv^*&V!d$LVG(D#GkCagG4T?g1WCyWr2|@%IzI-AlTY#McnX`A)p(PI$P% zggDF5xMOyK!RJ`UNCzQ>75HZCfRBJru{ib-9DEJxyv!L;kA`o%eA&pH8GYJ8`e0U0 zSh+qsOfjLgPMzx4TX{_9m#Y}G#3iLSNyw`aJ~XlmqGR(`zz8Yu*K15k2Jz(TLzOx1 zlVjZen?usN@CQrB=mWc=3G+rgUH#y-UGHSpquiEm_W9~SucPoJTXFEOWw9;w6dMW$ zbL~gMdA%k38r3OcCw;H`!kDO!HJ)`p@jAMDq;kr`R3E#QYteakazQ*e{JLLFxoQ^N zw(j=SX2BDHS65uho@<#D6lQ5KW&)dFzUC)zP`BF8* ztQ_^z_TecW4O^2=`eE^&3It(dyUuPq&?!AXP1%pXGM_(7h{-{WK}OM!Q$X*X4HU(3SIyYhqQK!H~FD=@So; z!xQpaz^MWw^um)Xma|8ybyR|HP7FvcuZf*yD5fZLtuWjzd=u;VveT<}0RHXa;`6GD zuI2!m442ev!DV#I$moJUnm(TE7 z8wdOQ_&CEif+>ARAHVx{R8(R^e$IEa@%t0!kR*=>DG*d{(v3FpDL1kN&ZFWdB}nMz zR{`U4y0vy1NpX(jV~R`@&qj!Tz}}s=Av6YTqr~<06bsj3Fyocs5a&i6mq zgF1YVakB=9{u#AigV~~i+#8~kv3#LyQaPQz-)(VKJtrP_X`UFogL^GTtAa$+lQb5^ zsXQEZ)WDCGH$Y$e*FFQRv{%K;NSf7h2*jN}1eOn)nH+8wFjbP>g$ciHo6%*OnALv8 z&juS&9VUPYry8R+W1UWp6O5(APu7l4PuBK^(Z`3o!2Y)JDSt&ixvjpPjt0HVb#i`4 zZ4AB4;hl5$+{uT&JJ`R;=nYJeGRj;t6AF@XnMDF*U0GF)xYAETzsThtj%@gR+>tZ+ z+`p^*+7XWs=d73Q(@jpBrE426%(vuND(CLE4Lc=Z&=quxQ_1PjBFx5A@>MTFUl9gi zw1YGj-NJsHqA1 zPHLhZfofG^@4H0uxj3w6LPP{SpPrhdSU1uylg6uGd9*(%xqP4>5}>n<;&__#rXbO8 zATYe%3EgrJ@HbuMepAn(*R;8NJz@`Fn|)Gq=(*?wZ8jV*HZtQ{gcKy=Z0kk34;F>J zIibP-a#tb=VKBIftW&Hl-oL#mq<0m{_5-pMDrD9 z^Dld8TH>wXqL1svyO3+}S)5Do9u5`ito8}Q&#wrdpa6^9&R6&r9iHM2C&>k~9k}N+ zwD->oAPemUE`5F#-)Ft8h$R_~YyR2a9J4HCf&54!Y@&1Z3t0fB;DG-p(JqhyK~>zm z3nI3bJRC}{L{OFHgJG{Jvb&%E8sxPHNWFSFmX4mI2|6F#&t1VIO0DGmzArHStI$iU z@0(1gM=Pg#VYV|8no^PV3dhO(hB>H5b5NMAhPa_rl`sb~2+Ea06L7MxN;I7fT~1J! zTM^DO?*!Iu}4E@D%IwpH(Ty&#J#t?daJ*n{iBD& z58n*>hd)VXF75V#f{> zf+1=>*7&2^;3MMC+4QHCZ&Y+=uMGpD50$*;pB=AtN*%W_)$K0~qcc~5gD~R-=kMpU zqwc!D_4cb+q|f=X>v$WsA0@v~I6E;ss_Q>ybMEPsm(MuY zw#6m@6jp@dh;rCayR!_ad{RS_&4+oD$+`%rGJPpz699qIyvp2)FeyEXSNQHnJPH))bv z8~RQ{jAfZ_FSQqrW^aFn1Q0?XvFkYKf%t_!tuc#D9UaN|k=V(2E&H?|#u|qWFYxiv z0968^o}qxY2B)3Wn~_+J$Nj;Ylm$l=`*NW2X|vDC;yajEmY6^8_omgM%jyS`Hv=eY7F%4C8)D{5`2)J#$-x`XbPTp1vh+lcdIo4f7MccAS-U;}vebN{*Mj#aOmFi&n1 z3dr=fHO1Dcww>#9=X0nMBBu81M>oEBUP($0id~;B3Hmr^`q7hX>eEEtb#t*ab-=8g%xp=ZP-X#U%tBO1 zRN(h!RFM={NeldtD{8@zlkqPUadBpdjEs{fvp#r6fLR!Z`DYj@!l(s<3z0x>o4UE! zV1O8W0qk$MAc9|r*^n8cZffJ`b_eNf32uWQZf=$?jz2$1Aexr0PVO$|mafbg2I?+O z=B}1*t`UCM07*#_$Q>Jd8%OKEj$;4+ivTm^o|c=XGe!!C?q4hL%r6Z+U%N*@T|Nq& zJL6r0$7Di~!W?ctp4QE@ET}zw72VB{-1s7pj?9hqdoaruLNmzY zoXLBBE8)}Y{=^j!XrR!{UXT}9aTyRjleI?T&Qp2!8i1gI2$*(M9)d zx>(G+YsFu~?pbgbcX%GZ5{6Z_O66pk(nWo+priuLj`1bNj*3ub1jZ4XQJ0J?qUJ61 zqlS&7q8?dNNAVb61I9E+8U-#$e^@+T%_F=y*4Hk!r}0@h3UUO_imdEc599c>(-Brc%Xvsd_N+x$ZUfx6)7Ws7dbp&x>OHH;FHY zC9VEX#Q%lHPZ02n(YNar;^xD(J5bX9Z&iM4@@v5}zOigD`@V(ue>2Tr`YSsjn_0b? zOa6rszoObp;MObVH2<50{!hh!=?!2_{dEJilQhQoZ@7-I=rr<#A~AwIQ7|3<=zY<%E643jXV@Lw4tEF==;ZuFK)5R);?5Uty$u6E1_ z80L#4D$w$3l#DSY5EQLT_?Gb4=JuLGo** zq}ayE#N_hl>chDbHb4?3wtXx`e)8tHX>we+gv}Yjz*~#cpcBPnCcxj+yI+6W*>#0c z)mW(-x#H>d{a}l@!W&QtvsY8ir~}-V7M3B}xpSLr&eTYzsJCX2tI#1rHII!X!vLo% zAq#P>`l{3O_jkyrJ-sXtz~RE+DJ0_*4>}QrYX)b84w;v1o%govNJ5Qu@>R8dbjclD z+-`}bEh0V=T8%0)hSQ4Zc|Gze8Se^1)%i)(9k%ZCpWxB99Y(!1hF@s*vX7Z~)V^%* zUA0BBOolmNd%-NP#cF}!8@=^df4YvzB`hQ2Nk)2|=v=28*e??B>xi54D}VfM)CV(L zil0(AizYg##TuD*dt%gp6MNeiqWSv=g)vmEFVHO&>3R{GWOkKjDi^Go|E9C%S}i&` z>l0OE20#0w2$vcQAXq<()Dz~%gbfWQOt9S(4*T6S5r`|$c6tFRfv*Rt4KUt;i$(pYPcd%eKu?aFabePm`K#2%|l$#C|6qu4?++I7H`ZC zvm-MJb^#L*g@S$cpL>E)8jh5>0^n~dYEZ1dgP{meDiS*tKmdyP0|*lm{DX%eLKqbG zZ$zM?fp*I_(JoQPF==6B330u_p|N{kbOy{lf&p zLVrppA^`tq1VTmNzak&_4>d#(pi+NV4F(ku_@`OyGag6NJJ3 z8AJjwLD10uL_`P*{4=Cs2tg5ORGZ@!OxR!=lBScB8+M|`G$$J`OJ;;9Gj`H7b#e1_ Uv9uzAA%x%v5)KYIHF=W%0!nAEvH$=8 delta 14513 zcmb`tWmME%7dH%ogp`O9(q&Qu3>^lgpnwuXC=JpbL;V3MX&eQl5fOt11(cHRt|0_O z8U|^G@;QTEUiWkPe0V>+ti@V;PW<*hyUyNcCb}0t@hg5o9X`~@Rqptmx%y>Pzdzh# zW~sRl&D{6(QdBPGQ_B8=7G{i}uoG904RlBpbB#TQ${?RtE()SHQvKjs>a@lr%&GdU^cT^m(p(Nr(Qkms5;t& zBCwU%MeULnRSjq-7uKfWQPNc)S#7&{o;^5QR&0BkjBHT4biiKbG~y#u%=$M7NzPx+ z*Hk2ZaCdX_gs&?@l;ikHmDJJR!dh3ftaR1h^Da-Otyxd|S9_yP+7sS;`K(nxH&rKm z4|k6)dfHZxW_R$8gcvv}pFr;{tPRM1Y7&Kf4@M65)^?z!!mgD9<;`ueii}ccDqp=p zxW`^R=dO>lB4$4yy3{&)@u}tpFRQn*GrBhcE;VFpPHrJedarX51IEOXN@FV{&{xHS~rA7#{5v z#i2CExUNGd=F+~{>FJ+tXYfnD&0~vVdmP17&Eaoj|_Kbk4fZ-{kjrFNr!#2Jw`?MjoPxfm+X?TNk*(D*Bf*nY?PRl zBcR;8+sM{Te9*SoaYNB}X-7$NS^a#5`-?pT;8+^<63%ahih>Exg@R23#%7mpv z&WaJ)C^|&{5nqtP+1QxLaalTL``Tb2cVXqAV!F?`#Jv|=$m$W-@#tLdtc}kqX_@(v z&Ch4=S(-AChRJ+$?#Mq&Ew#x}ibz_6^j=XM%ofQ>@O6Ln4XpG&H|S&FMyG$+`uMi< zTj8RpKn>#0y_DzqdEHzd$zuvWoEc}yc@WPbfEle~^(8a&FCr_aTNn6nuDn5k@$)A3c2T*$&xl$gud@vGh0@&H^T9^IhT~wTsv0IhyZmARm3NoWuHB8 z&-%(2nf(ypPkevWa6cBi?ZG?qv;mj)mrQ`Pl(vKrhA&p@7$F4?Mece;k@ISnlJ~Mtgrs`0-Iu_ zhVo+eZT@5y^&@wck;4Nk4M^rrJKqN;h$SaBZQMy*x!!zI)WExX0tz?wdeic%thG+Q zI`|AT)e@(Ca9RHc3XOkOH9f?;8cec+B6T6m*cm=oTpjbtM`s%8jvmX;Qw z|I5$Q7g@aUbLdq{RD&xv??qkAt{nR~IoNlwI*3|xvL5famQ}8CUPtl9JDndV3yg<* zdS}jDzPL9dwvtuM$I^su*DcnvCHliR!~pPRE}c=nB_ELJwTs)~c)#kIFxQ(hMFTtt zH^;4VJa=%6rkl~VnBE`fp7?y*S9hZpYdaiYW`|snl%!s2M_8CrkY4d^FksLmm#~Y7 z4~Pil+F2%>+{ujE@6EczdA&#a-~iL>erUXR(%Vsx|1#3fwSscVAZ3`cc^ey1(vw+^Vw^hQBAJ+oy(}^CBzCx z6qK!8s%Gy=y=G8!hWD|nh-vh_A^gJQ*n~iEO78-h70O^bwqh;=62l6ut4GBVK7wyO}{q1Y^kK?NL7ia1$3$$ z_cV+UzJr@fm~Kqt=Vm5-hxtNR6L!5R5__*V7Wf7Pe8X*w9)_FpJ!uF`A!$dRaBPZA zV2bIe{q6uMDa>E82Qk3owXh zSGC}tZ-B#{d0;BnI3N52-(Uf5m%HI4o|`~TQQcJ$&#vv*j^22ZarP{w*Y4ABN>%i; z+DH3epgVlOlXZEBCEis98s2lfYXulY*M`~y@)GZ}lGm4FoJY@>y4`z+z~wuw*z{SJ z*EkK7Xo)yUhO~uzuz6)2$S3|ytT~ZoRNaT=Ps*U`0~%GsNa!FmaGSEgru4A{&0~$K zpRWnSZ?)CYgzn+yUV*u^F_fk}@NNtY%=NT9(9zV0jWMUiO(p;Dww{(q9nE7y;1JXP zcM88X((>07PQvstdc?7f8Y~$!BUJ6e-v@*S67FzOfN((#DsDPbEm?&_G7{wHG%*JQ zk3Z_pr{w*crZGl9jD;4T9=-n9m_?RsGYy#3TWZ8GS4RA*&iR^EV&?nbSRdhEr|QSk zYUh4kFMFCGI1vM)=xN!7qa#77HObFCYepTf(-f`noG-8UPbOl;uXg**^bE8{|wMAZ9ie<)9&U)wLG`M&^S-1vX zB@*VPnnRw><;a$2S51hP%3HoO#~!e3(oyI1Df>asvgc+I&gLT-JBksi(%%_eV&&5Z`Gn2MqT9~K8)H{68 zi2m4go49c>H9VFO1r*wbSpZWRcdSE>UQp(lP8KVzzPoj~Z4f&{;>v(`e9hq&VZoxp zj!06S-dMnP66_xvi+jp_jx-#@z%mu~r6W=uOhE<9+E0lKj2-$C*--`E_srs*G|-*M zBVEd?Nu^#@RNA%*dAK{MRY}d6YMlgOLH>h9}D&&W6>ahrH`Q|G(LnNLFA8`h2SS8)uu zNv~R<0E1c8+)PhR6`hmw1v-kJbG{$G*SSSDrgujK5zPaxj23{apOsG9jpn=I3b)v; z(`P(BaC^@zr><(KRfZuf_*{wJC?ViUxOI?~QIRjrw}%y(qns<6W@oBwSBkREUzoua zH`i{}wxS^=f~iDU|J4|x$X}^K862qO|k@NPd@Qu+HRlG z=xjPqGDMzfr*iNTcf1yGyp1=bH>%%o8jahO_&ao5TYSF1G@2^=tQpE+Kiv0KBmb(0 zq5E^n4T?Z(^LwJfkoqkM$PfxdDD1c8#8X$S{j{GzP?K2RA1Q=)ODUiT{fYp%YCpr1 znaDF2jGRdWtrc!Pe=v6CI;}_wUV-_ha|#5!Cm{0T>AZwK70#Gg#@GV*v@P9C_zt1`T;|C&9mc zMyvBBSX7rZ*psQBNaKUml5NcrpCOMGDcqf(pfJ3H;0|8^USXxnhCaco_`N;6-MQ$7 zdEu)`56rzS2jbsnyD|p@XH)NpgdsF=;zRvF{(&+2$MU#yUq7C+g@K$`U`N}Bo9g#n zc3W1IN&QZ(UYXH_u4yJnQJ(kl+Zor%Bcu(#j_@Y!yhO!aw~m# zDp7mx=5u6@fCJ|l+5zgk7yj)gLH^7I1qGCb9VDjbuR2)CLC32IVt%h0`m?IAgfxJ} zs*#n~-nQ+`|MVRjuc90pRI)x4k8Z@d&3tEW6&PgRA}L65$Gm4DJDXV8jmJRRW{%V5 z+g6v5_E_e^0;NcY4#dm{=VgB<8gy3C&tN4tALqHtEEp-6nWbb1u8kzRbPFL)Hb62I zp*f=VWfTrg#MQ);;m!AD&v2(Q!{hH$P~!>+f@fSg$tSG?tsAeDo^-^;rA~oDnR$-W z#L3YjT+AB+R*$lRPK`wB4||iM*D8n{E~nKh*h|U(aD8hb|F3z5!M3tq39D?vb17Ku zx%IDe{H;cr2Bl{9;CxyCIV<}F-dRz?U3A9>ZvfH|@#S*v6%qH+ZVO)K z7FFeU_lV5}|q^iLM^XPiomZHs3RBWGrxk!~bF2sykUq9lN)8{+QQo@OZr`Z8)# zvNe(+6~$Tqx*AFZB7(TUTuhLHNeuq-_af-`s`YG26Kq?P8K}gV3H<{6mbrTssWVoT#n$_zT3Fn-w;ZM&) z?}kT89xOi0(7GZVe}nVAl9G_}7@n4juI|;jTVa?AX`&}&n=L7jY%z1Vq-s)b<*x>r zne^=}l5r|br|o?T?TuEdl>_Z}D@mn#H~@_a}DIMdoDnRQ+kB{!`1BfeKAFhCJ#A!$~i<7d^q#ai4Rv?;9ohT)e#^9vS!?1B$eWJ+llPSVH)5o;}`?sMe5s#(cquu_m#wS(ujo4gN{x5fW{3 zf!V^Enn)!?KhRb%EczsoTTN}Ph##CY!jh-vE%pDsXzb6T`rZq89B&v5DxSKqoC?{h zcsDw@fAriMN*(`%rEk{waEbT$#@hHPK#OqS>)rPrX6l9Eoa*BbtHzYan2ms`y=iap zi~>*F(U(EL>)9BqxJb~(hAPRz?dJr<@;W)P zFvceO*8>kQg3*EtQ^Aa`^manfNgW_GrSm+?Ftu`Y5#As<$?I-uHG)%dCZN8jYR~YR zRN&%i=Fk^nPq?{*%Q(+Y7MNcX2(r5yc?l6E5BeE_5R5-4k_5sXIsy$T#~}hqV@s?q zA-v9imcsfWpXi)54OWof)}6uwX?y&rm7EvSU1?$9_MO{XDHV6aeLu1aet@i=-4~zp za)>WH#0(C6O!Jy}{z7?d))udl#}TyMmL4CzV1f%~m506+#gR?MZ=c@XmaO>WHK`)h zc?s|eyQmrnqY)cDHb;7*oY{b1K!3D@`j=6aYHM{S<;u*zcCS7tl+*OruWpnnq9NdzzyrK=wsE@6=+0cT)(xN6~hWcFk3{)OGk zGli+=&yQZe@#l^Rx`SIUdSuRf>^;9WREM%`weX0iH^6gT(s>NN4WvX%Tg@4S2hHAl z5O>K0%+W0DKDu=g0d;ODL z$F3VzFAmZ5Q<}mN$>vdY9s1oq;&Op7Y~LVF9Zk4v#I9 z(t^*ndTpNDo}ngp#msIO@~=!W{|n{>mT^2{UV|}kzbLv8uli_w3@aBp5`%k>Iqt~F zl7Y97SWO;BXwXgI7liqT(-oG}Zk;O4r-KLL?Hw+uIw23~DNcbN`PdH}LLE9h(zovC zL1#1V>s%^7$gXBibn*}cnezx=!&O_t!0uw*dybe2El-K-DKEcav?Rv*OOEvfI>jq< zJ*TG<*J|QPn<_ZpBsbuEhQL`2qy@5Y;EHlsaVDze&>-CS%LAq;Vz>I*6BldY>b{gs zAmA5bX=)PLWP_&t&qHbj6~F@`((3+rKugz@haoW!kJAYR&G&4Fc5tV(C6Q>??*dGm zC*2LSe)c)Z3k-EwkDJCyQ%b(%MmMK!|nw#NlM%6hc*prXM^O^LQX`{XE z3}JX!q@A7&rRM6Te|n=&b2lM8>)8{zFNRP>&R0x#Tytf+K6u52y3XFiy|i97F9)Z5 zd(Ap4&G-R^(>Ij?;a0Tq@UdO~KMep#6J9)WWmbaS5@AL=#6IXShS80nxBHG5%dJ9%F?+3MrvIS2ID25kI#O^EDXuFP1{FRmo#YMLABp{^L_|^rlW0d0 zJyiFX?vpOTi>Z7q+oZVdVRo|cch9xXLP4E(o^p(yRt^*#tBy2N@20MiksStR^5mwB z-M{<6ma15)IN%@maE}JcqafCmJt!hi>!RfAB58q0w+7Gh9^fi2==g`Ttf*V zJg*TJTyaxXkGszqmI|1WjypeNE~CB`9ZI4-gZahlwHCF8Jm#}Pov|@qkIOfe-!OROH7^jWIdPD*Y$D!gsuBm z(F-vxovMcU%q_?D1FjDd3w5~j%$}Kd>ziM%oX>25to^($E8~Ql#J?T#FOW=6ugQc7 z>_NjN*^g;-T!Y|Ur3+ls&_BJ-4G<~bOQEu!Eh+9iWHX;v_jpOWqQ3trPT4?iY%PuI zoFlC-V*0%95u?V^INMowTYt2cjTU?(BzVI} z6$B}Le27i*9=PXW)On#}_hXpLsY$~VNQPcvE;mOl`vqmG;91|;fj3iv#}G4>z^fcP zfUligEeGKH7VzZ+xBPW2Lb(6_j3N3%`W!laX5kZ--|G(K+VSPM=KbC-A*WM)KTc|$ z&c4|hch5^52foRxKmG`(8A)Z!teVRFI*=N_KD|fhK^tLTZ?UEw(J|kB~1)ZVD z!khd`LS&94Lxk8tvbQBYDbagHUSn;UPg+CncR}{WG;06!Zod~%%Sxl|Rz&o&I2k+h zRsN@K3la;o4gfZcrddHknU!NgT?3AYJ2l4%&9EZhliknsCu z7bh#ZFHR6p+nNW!6y-270+@lnFiX5I2P8UphxDCwo;fXQQYF9ODNaF~UIC9mtQIG{ zj3SgPF5}J&d*+i?de)VTEs>ZP@9Mqn$dC8VK25iaE5^%dL4QaKlErW5>ky0c?d)sy z>3D&A6$Nib=?-xp@N%A@b6I_>@*hBpxkGJiY<7iXoF$2-zg4X!rmTxMSid~jB`z5@ zW30fq;FC=!l~&?dZo>P!PPvpk!-Hr2ayyb;K?4U_gqK4)(g!c(6lF6)lGG$B>6e4{ zh0Dki&_5&;OZ^#R3U~+&@3bdB9BQ+FCy7VZ4 zJ5WqTSLQ9GjgqA@n>_of+f99Z0c*9po;&42x8!d;)zQNLG3qiRVbo>*fjwE4^SQyZ z&Z}kym#^grnWRvksuZ1yk ztJLZX)xw{=EehA;Zm(70tA&$h|Duzx)WZE={h}kdYvI_8UvvdGR10S}-2Q?K>FqO9 z=euO|ra(vwggkMGv`riT0YW;VMXs!|yek-26OCDL=$m}CP;E!ElNBeD4DIfqX>oN{ zIjFOE4wgZ6U0+KM>MTBA5nP>Rlt(jlo>O*z8bG=%ks3y#(sA-u|0 zu;cJKQC~$*Ez{0>hUe;hM7x+4L1*0;ehlgin!9@~0ytVv4ezQqfDjk@W_UzXbKXKW zX$AzMzzz_lFfDf-1Ob$=Ls-x_*rkA+B;smEo_7 z9-4y+1S0Y-p7rv9O$@Q!wOXc&esFW&k4?CMI|NOI7C3e?W2`_az>iJKT?6zKud0+4{~FMeIX(Qb*RITQkSm^chaW@@j;@qWljaAp+pcnAw^BTfhksf=zbgW4me@eA zIf3|V$ANC3f8c=Hb4jY)XHXL>`E?Zb1toa7GLU`8IF}zWtOl+c7f(YFYS?jwlN?aQ{j^NOr z8ML6mwV@bZ>O8^aVk+D_MQJ>VHgX$%3Is})q)Om>oBicrT+w>xLak;emskZ3bt(X0S-#!MPN z$7vlU4_aRN(o~Wm1QyK=8kJY0s)6sx4{e@-mbX{>lAmUr?|Lg}d0nW&93r#RR@Ons z`-u*cFKb12MInLw1I*#+twVHQ4P=kjcNevf)RfM}e@)F;PlysMUHt7?2- zYQ#h02w7^UQG~*KhYd6YD*O*JX zIkoG22=`?4eoLuPOAwNKe|;i-fu!@sYByC|KkE+7170bD?{r@$UUN#4_1=VJd9t7} zRhbY;x>-NJ>TB*kGJWjTAsZPfsRyzc^9P-uiVPuaw1v|N9t_oCfn{wIg{>YhS667Y zOetJghfw4u{dr@8uxQ3saWT4JXF?~75|cxlX77|Fv$5VgIy#E3|0@`(51obpZF4-aJ`v;Rd9RheXPjV z!&GbW%5Jl=$}Q+{b9b&OZ6vT+_DK81>643j9U)`WfB)uEsKV1X>6AeG+jjeQPpMMw z36xdx#ma8$Lrf|$_gk|ALJ7~@?5r9)J65R8VDdv^#1~Wm_u-siwa1q}+7h9V%Hb!D zZa)IDc~AJ%o_)i2mfz)F^ijD^Qi!Sv#v3eA_QtfO4$T{ZpRwrWjP~_buQqXWR!v%l zuXudQC8un3*#>(lN3sGsB#-Fn9{zA8v#%4v=s7esL|0E*k|}<+j}Tv_&~xz^foko$ z#y=e(-uG~TnQ#ZGXep|SH;X??8os4<=Av&zf1E!Fcx*oSdLsAxG%a)L$6>A83nI~) ziuvn+$F}suISD;f4@Je~67A+?>Cyw>SS`g3g* z`njT-#!`))`sw3&u*83K81i#>!Qdx*{zocZ+pfn=Nvq z*aUqQMY`;Sk#P~LJUh}=@FucW|C}4%75zuZh^jkDtBl|2{PiGTLKo6uO+(`Jn&(>6 z(~q2I7_+zK*|7_pWm2MfrzG*tVYtk7MoF-Z)IRDS-KCbY>!D>=mhm(^y4M;TM0l(0 z&l?a*C{KJXn>~v-CrEhPB`(S#$r?4audte};Ql>{aJI$1Z5>&W$i!|Af5xsQE|Hs5aGDo{38 zlJ=quw-|NcMGssT_k_r6Ro6;nf)PZHcf1t~c2o4HXGa6Kpt%H3x~;m$X5o8N{sq@6 zOTQZ)_RPMOZ3^Aj=t@&_c{is@dt;HgXT>@t^@x0W`MzYe>(1Mh2^U7oo$rh$HmKe- zBR8Kg3(*?M55GseVfB3Mr?!A2D&x--b4syS)alJL?2^OAT!Kj22=cpq9m#z;j(Z6?|V(@N%l6=lBMsp9EVQ^2=CeuP+*J7Ce8NwMoiZCPA zF_TK&v@|dU3wpD?c+AGyuShmu5gkc-OCVa{9;1nQwlgIC*$%e}xvZ)?vq2xJ=~kfa z8DCA#9^G}u%Wjg)^m%H)yk-0`Sh|>p4N|`mhrt1cOu7$;c3!#L>F*xh zFhF`%uM?bT#V<>qoS#R;8T6aU{@h(;J)BOGmG!k9R&+|$O_B|ae`WKLm$#Es*pQR>3fL0$N>&2Gu3G3uC)1;X2q=S zBwZik`OINjx-NS|A7Y8^9?62>iiBJjmyRwJ^;djJ&*H9aN*>lqf=G>@l*^kwobLB8 zz*m^(hZR@x&=(n*nIRQg)$m2SG2(-{abn6Mc=&{m;p(*}8Bb!$y{;)Yk?P&#L)Ns? z4yjgso6xyR1FJOhgE#8ySG%~0vkxYRr-L63b&b96LSFvV_qODr(Ops&Bq*|c4--*wR~F{`p3gDvkLwF)^b1Ct#yZdn7D_l)8W%Hy(bEng3T6t5DB zQj#C2*`!wS>4id3RT*ijOTywFI_kR9sJ~Z z_qMA{@?`%B$$m-{`I#-{_-ux4>dVP}>@wA_cfPBP(T<6=?_xqW7uGtcs(&74SNrbu z?I2&qitHjK`!owo_I|Dkmh4hg68~hqz&9j!%FNEx*~Q7s$QDQ08(W=%!Po@YjtN0g zLDAyUi@aA@1=#pCkPc>S{PG?yiuYZNTmWfe#0F!NkvYYGT@W><&QJP#my{HWM#B{4 zh>x>(+%%f`?{l4F^j=% zy(r3T&iB)6q@^>aQbk_EpLt8AeFPp9CPOcxY7W2qpr&+LQ8N0cc^k~#k>V-nmBP89 zRcw2Mi=jB8Q8~CYc`&KNrOs*3L!zi@CHuYoM3Wv{<31|=0n_gzoVqCTeq3g5pwUgc zwD7y9O!0W9R(sb_Zk+T>*=l)r4`F8X;ftSiWw%g<`oc7YQ&5rHVF(D`z?!Z1M~H}3Bb4?v5+ z!5C`96n;+#NcEq2L1CEKU)UlrG2#EN6NC#0{xv3qf<2;v#Qx$cCXgYFkvCVROZ zM1%zXS3Q8gfB;NHMDTwHe~pQXiTqa>5plu4#zgBK}u{_9x4MgDS1n7H6?O+){B8%!J+<-bhC#e_uv8WR`&@0g%~ zkjUR-!tnoUK~O;C{}vFZe?gdl=zmWK+)ezy!U)3PLjOInAY2T03*i3#gbf(`>mY(6 zFp>XiT2NF#;M`w;q5@)KsOm>dAQy~1qGuGrT^!CXMoumsPG;t(z(pf0c#4}_URB}L F{{ip{)U*Hq diff --git a/graph/plots/Total_Time_with_Simulated_Bandwidth___1_bit_Block_Size.pdf b/graph/plots/Total_Time_with_Simulated_Bandwidth___1_bit_Block_Size.pdf index 18abcfaa9cc335705a1e3bd5d36079ca72b2a74e..f6403a1b37be87691d96d7d3ae024f98886b5360 100644 GIT binary patch delta 17 ZcmbPOJ+XSj6blw30~5>5Gc10x002RZ2Iv3) delta 17 ZcmbPOJ+XSj6blwZOGDGmGc10x002Rr2I&9* diff --git a/graph/util.py b/graph/util.py index 6f3f5da..9633602 100644 --- a/graph/util.py +++ b/graph/util.py @@ -28,6 +28,7 @@ def heatmap(data, row_labels, col_labels, ax=None, **kwargs All other arguments are forwarded to `imshow`. """ + data = np.ma.masked_where(data == 0, data) if not ax: ax = plt.gca() @@ -39,7 +40,7 @@ def heatmap(data, row_labels, col_labels, ax=None, if logcolor: pcm = ax.pcolor(data, norm=colors.LogNorm(vmin=data.min(), vmax=data.max()), - cmap='gray_r') + cmap='Blues') cbar = ax.figure.colorbar(pcm, ax=ax, extend="max", ticks=LogLocator(base=2), format=LogFormatterSciNotation(base=2)) elif sym_logcolor: linthresh = 1.0 @@ -76,9 +77,12 @@ def heatmap(data, row_labels, col_labels, ax=None, ax.set_xticks(np.arange(data.shape[1]+1)-.5, minor=True) ax.set_yticks(np.arange(data.shape[0]+1)-.5, minor=True) - ax.grid(which="minor", color="w", linestyle='-', linewidth=3) ax.tick_params(which="minor", bottom=False, left=False) + ax.patch.set(hatch="xx", edgecolor="gray") + + ax.grid(which="minor", color="w", linestyle='-', linewidth=0) # set linewidth=0.1 if annotating + #annotate_heatmap(im, data, fontsize=2) return im, cbar diff --git a/pir/src/main/java/dk/au/pir/Driver.java b/pir/src/main/java/dk/au/pir/Driver.java index 8fe33e8..6b12f39 100644 --- a/pir/src/main/java/dk/au/pir/Driver.java +++ b/pir/src/main/java/dk/au/pir/Driver.java @@ -103,7 +103,7 @@ public class Driver { } try { - boolean interPolySchemeShouldFuckOff = false; + boolean interPolySchemeShouldFuckOff = true; if (numServers != 1 && !interPolySchemeShouldFuckOff) { try { profiler.reset();