From 203ffdc07ff740ae463dd206f23c12629c93803e Mon Sep 17 00:00:00 2001 From: Graham Jones Date: Wed, 26 Jan 2022 20:54:25 +0000 Subject: [PATCH] Added notification of unvalidated events in the database that will take user to the log manager activity --- .gitignore | 1 + .../uk/org/openseizuredetector/SdServer.java | 146 +++++++++++++++++- .../res/drawable/star_of_life_query_24x24.png | Bin 0 -> 306 bytes app/src/main/res/values/strings.xml | 1 + doc/Event_Log_Workflow.pptx | Bin 0 -> 225437 bytes 5 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable/star_of_life_query_24x24.png create mode 100644 doc/Event_Log_Workflow.pptx diff --git a/.gitignore b/.gitignore index 9ae0aa4..d5fb12a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ app/release/app-release.apk app/build app/app.iml app/release/output-metadata.json +*# diff --git a/app/src/main/java/uk/org/openseizuredetector/SdServer.java b/app/src/main/java/uk/org/openseizuredetector/SdServer.java index 43eceac..d782b42 100644 --- a/app/src/main/java/uk/org/openseizuredetector/SdServer.java +++ b/app/src/main/java/uk/org/openseizuredetector/SdServer.java @@ -73,6 +73,11 @@ import java.util.*; import android.text.format.Time; import com.rohitss.uceh.UCEHandler; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + import uk.org.openseizuredetector.LogManager; /** @@ -101,6 +106,7 @@ public class SdServer extends Service implements SdDataReceiver { private int mCancelAudiblePeriod = 10; // Cancel Audible Period in minutes private long mCancelAudibleTimeRemaining = 0; private FaultTimer mFaultTimer = null; + private CheckUnvalidatedEventsTimer mEventsTimer = null; private int mFaultTimerPeriod = 30; // Fault Timer Period in sec private boolean mFaultTimerCompleted = false; @@ -323,6 +329,10 @@ public class SdServer extends Service implements SdDataReceiver { mUtil.writeToSysLogFile("SdServer.onStartCommand() - dataLog timer already running???"); } + if (mLogDataRemote) { + startValidatedEventsTimer(); + } + // Start the web server mUtil.writeToSysLogFile("SdServer.onStartCommand() - starting web server"); @@ -386,6 +396,12 @@ public class SdServer extends Service implements SdDataReceiver { mFaultTimer = null; } + // Stop the Event timer + if (mEventsTimer != null) { + Log.v(TAG, "onDestroy(): Cancelling events timer"); + stopValidatedEventsTimer(); + } + // Stop the Cancel Alarm Latch timer stopLatchTimer(); @@ -1507,13 +1523,13 @@ public class SdServer extends Service implements SdDataReceiver { public void stopFaultTimer() { if (mFaultTimer != null) { - Log.v(TAG, "stopFaultTimer(): fault timer already running - cancelling it."); + //Log.v(TAG, "stopFaultTimer(): fault timer already running - cancelling it."); mUtil.writeToSysLogFile("stopFaultTimer() - stopping fault timer"); mFaultTimer.cancel(); mFaultTimer = null; mFaultTimerCompleted = false; } else { - Log.v(TAG, "stopFaultTimer(): fault timer not running - not doing anything."); + //Log.v(TAG, "stopFaultTimer(): fault timer not running - not doing anything."); //mUtil.writeToSysLogFile("stopFaultTimer() - fault timer not running"); } } @@ -1545,4 +1561,130 @@ public class SdServer extends Service implements SdDataReceiver { } + + + /** + * Start the events timer. + */ + public void startValidatedEventsTimer() { + if (mEventsTimer != null) { + Log.v(TAG, "startValidatedEventsTimer(): timer already running - not doing anything."); + mUtil.writeToSysLogFile("startValidatedEventsTimer() - timer already running"); + } else { + Log.v(TAG, "startValidatedEventsTimer(): starting timer."); + mUtil.writeToSysLogFile("startValidatedEventsTimer() - starting timer"); + runOnUiThread(new Runnable() { + public void run() { + mEventsTimer = + // Run every 5 minutes (convert to ms.) + new CheckUnvalidatedEventsTimer(10 * 1000, 1000); + mEventsTimer.mIsRunning = true; + mEventsTimer.start(); + } + }); + } + } + + public void stopValidatedEventsTimer() { + if (mEventsTimer != null) { + Log.v(TAG, "stopEventsTimer(): timer already running - cancelling it."); + mUtil.writeToSysLogFile("stopEventsTimer() - stopping timer"); + mEventsTimer.cancel(); + mEventsTimer = null; + mEventsTimer.mIsRunning = false; + } else { + Log.v(TAG, "stopEventsTimer(): timer not running - not doing anything."); + } + } + + /** + * Periodically check if we have unvalidated events in the remote database. + * Show a notification if we do. + */ + private class CheckUnvalidatedEventsTimer extends CountDownTimer { + long mFirstUnvalidatedEvent; + public boolean mIsRunning = true; + public CheckUnvalidatedEventsTimer(long startTime, long interval) { + super(startTime, interval); + } + + @Override + public void onFinish() { + Log.v(TAG, "CheckUnvalidatedEventsTimer.onFinish()"); + // Retrieve events from remote database + mLm.mWac.getEvents((JSONObject remoteEventsObj) -> { + Log.v(TAG, "CheckUnvalidatedEventsTimer.onFinish.getEvents.Callback()"); + if (remoteEventsObj == null) { + Log.e(TAG, "CheckUnvalidatedEventsTimer.onFinish() Callback: Error Retrieving events"); + } else { + try { + JSONArray eventsArray = remoteEventsObj.getJSONArray("events"); + // A bit of a hack to display in reverse chronological order + mFirstUnvalidatedEvent = -1; + for (int i = eventsArray.length() - 1; i >= 0; i--) { + JSONObject eventObj = eventsArray.getJSONObject(i); + Long id = eventObj.getLong("id"); + String typeStr = eventObj.getString("type"); + //Log.v(TAG,"CheckUnvalidatedEventsTimer: id="+id+", typeStr="+typeStr); + if (typeStr.equals("null")) { + mFirstUnvalidatedEvent = id; + //Log.v(TAG,"CheckUnvalidatedEventsTimer:setting mFirstUnvalidatedEvent to "+mFirstUnvalidatedEvent); + } + } + Log.v(TAG,"CheckUnvalidatedEventsTimer.onFinish.callback - mFirstUnvalidatedEvent = "+ + mFirstUnvalidatedEvent); + if (mFirstUnvalidatedEvent >=0) { + showEventNotification(mFirstUnvalidatedEvent); + } else { + mNM.cancel(EVENT_NOTIFICATION_ID); + } + } catch (JSONException e) { + Log.e(TAG, "CheckUnvalidatedEventsTimer.onFinish(): Error Parsing remoteEventsObj: " + e.getMessage()); + //mUtil.showToast("Error Parsing remoteEventsObj - this should not happen!!!"); + } + } + }); + if (mIsRunning) { + // Restart this timer. + start(); + } + } + + @Override public void onTick(long msRemaining) { } + + /** + * Show a notification to tell the user that we have unvalidated events. + */ + private void showEventNotification(long eventId) { + Log.v(TAG, "showEventNotification()"); + int iconId; + String titleStr; + Uri soundUri = null; + iconId = R.drawable.star_of_life_query_24x24; + titleStr = getString(R.string.unvalidatedEventsTitle); + + Intent i = new Intent(getApplicationContext(), LogManagerControlActivity.class); + i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + PendingIntent contentIntent = + PendingIntent.getActivity(getApplicationContext(), + 0, i, PendingIntent.FLAG_UPDATE_CURRENT); + String contentStr = "Please Record your Seizure Events"; + if (mNotificationBuilder != null) { + mNotification = mNotificationBuilder.setContentIntent(contentIntent) + .setSmallIcon(iconId) + .setColor(0x00ffffff) + .setAutoCancel(false) + .setContentTitle(titleStr) + .setContentText(contentStr) + .setOnlyAlertOnce(true) + .build(); + mNM.notify(EVENT_NOTIFICATION_ID, mNotification); + } else { + Log.i(TAG, "showEventNotification() - notification builder is null, so not showing notification."); + } + } + + + } + } diff --git a/app/src/main/res/drawable/star_of_life_query_24x24.png b/app/src/main/res/drawable/star_of_life_query_24x24.png new file mode 100644 index 0000000000000000000000000000000000000000..b36257012487109d47bb7c1a30ec114d511826e4 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHio`l(2#1Y6t&3pwNC#7sn8f<7Y!0`Hm=Xuv~Wk;TU(6 z{by_Sjl3j5*67@6OWLJoO0o$&kZ+3QVsP1~cHy9&`Ii`je%A$tX8dy^_5Qm^mdb6u z@;r^Tw_`K=d98$LPE&SgxhFpTyUOG0ls7Z>=r^YAUwv...waiting for data... Refresh Back + Unvalidated Seizure Events diff --git a/doc/Event_Log_Workflow.pptx b/doc/Event_Log_Workflow.pptx new file mode 100644 index 0000000000000000000000000000000000000000..258fa31149472d9cbf5146963856103f033420d9 GIT binary patch literal 225437 zcmaI6L%1+Ju&udm+qP}{+qP}nwr$(CZQHhO@B5$b9^6Tv3@RC9QtwLT36{JRFbE0& z1Ox;?yeF43!2i{t{~PN$npiv0)BR7ZNtBTS7K91C`#~Mr?%GgANXWSn4c-;Ggoj|> zfWMv&mQMb>!;Q>`E`jiz&SHn3Biy+~i95|Hp62B2ve2}m_`o@3;reoP*WTOE>ATFm z2-l=G$?Qn?Op0tuqS^yS;a3=5G%i(U7fub=6vqr$=sT3Cx7pH)&x6^bPdCNSPVre+ zcY4?V#KtC~1XBjd3t6Rk(R40VJfI-1Xd?V7!%A~1sxXF53u)~`pB!TF@*MxARa}(P zbyk!N7<3^u?lpCO$`hL!ZG&k7f=}PfTLgp0 zd9Vn zNDjCmN;G{7LE4d;f;usA=VqF9^NQBaOBkro0wBOeEF4foJ_}lN13JF*bmo%%*ZloL zX9Dq;-Ft;~7MXdHoaGn%gSL|+C-%xYlP)SS3c0u#gwg;_3LZ0oPeW(( zj@O~_xUwp9p+qetxm~62D<7-%v6fk_R}gJ&e}hcwE8F!Xek3?Gn^sfI63`R zdTzfF)8ZR&TDL>tR>ck^*A!#<54$uJE`OCwtlX zeAk8mj#@=#_SAOCp1UZN@F19KREnw5}=)7!>m5TAdyP z(&1nv|I@U!)bs?`H_WAM?KdrHl%>-w)DE0s@-6>s0r0z;!a; z@FQpEr2DoOvLGFmXlXo*+O!hi6eS8|&^WO;OF?-U**+99OfWrCG%=y?U8&Owckbsp z-|VyWOZVt_>cSi4|s&gB!@pujL0Xr zP=qd73Z7nP+(!N%KJU6W0g1%lU&p?P|HNWn^9^(Ukpgr4{_D*Tcog!+mjZin3A~19 zhWrn&97ZC!$(ncTJWw)dZ} zCeY-AIUZgA?mst=o6F!-)ye_YG<^=$kkuPdl{wiMcC>C=L|0CK`n?N;upJ{1P%kSq zt!s}U3b7x-GM4Eocn=|lXIv-qzV)VHbJPXB|Jbcj)Bdt}ZM^|}%(TJf>Px8pVaSF?a!07se+bKUkD7617N?<~>WIE%w*jK#DzmvWvE^NizP$?@g zq}i!-mbc_JozT&;SQaBT*Jpx+XIltkjL=b)=`K)%RUiCZ&;QI(7{i? zJE<4ht(+fNlrX<}IMZSW27;NzO5Z-<2H;j;7nUpfph&$L(5Bw)q6}k@+2q6tf)zm_Ukk4Xe1w@o(GH+;A0?4;kba!s1GM$IOWN?Db!u$Pt%f$j~C%IAMe{h+U ztQs}koOIZ}sOZ+7LB{QS5*IlUwBnKRFL&!P+yw7m^z~`D%%%_~#6Hxf#kq5Qo&``% zv~nK52X~d85;F$)zR&L8S=-YPo&DRUrFam}e+?xHj$)HJ9?r*wXm$T4`Msb@#G~Ly z=zn>sC85BOR~BnkU)bR8zQl9sJ=m4rXk$3POZzdbegHZP-7C3=*a+LYqsOadAESSr zoXGVy_358}x$-rOqU!qU1{r(=DX(~8RO59o*~GZtb0XxOBlm^k)jJq^S@N6b(m;O6 zqa$9tytLhI>+@rzSm%#F`ihsflrc^gNSGjbe!K(e|4~{3#wK~4dM4CQ#SHEu`Q^G` zs4mrYzY`Ekoj{myf?WUgYBTF{9O#t4j5gM)2(RZhPB~+v-V@_$UHpxm`v^vLLUAF@ zPAuHu?wM}A_$M80yS4NRj)Vl1hNw)hydpJz79oU;nUlM>f%*>6wF7%#tVJ(vYASzX zzU--DkGFP{8K$S{wo_}i27Yj?J_mdL`w)db1kiJLlx-U{1%--^q$n7>m6uFK!N-E+ zEWdF_%E==wUm=kt>=(niCUM=cXG_hrZR$fGR4e|TUYo@qdR4h*(xjEEcEGdIzR(Ej z`eVhb$aInE=b_=oK?T`=;j?kl$pR671f5L$6wwYv!N}6*OCd9h6kXH`;tfpWCBtBcE7+h+p>Cc?={_z2&jwrrdv&Y2&PaxP(}4(ntgIZ z0Qd`^h|iXV3QoQaZ3vjRcDB(v>hp@s{IrIiT6I;?w=+<8`Ct?EY>soTkT3ZoIyvU2 zMY~kD^>ln-6^h^!+;dUW zKZGf~{VXmHrYoa_ir29n6ZdlnT>6dKcz`M2+HR#bCB*Mm0CWb<3k=^jDrc8lAZ}6= z1v%*omNZ-gwYZo)QGNvB4VM=CS4WM$`&L*a3G{W?PE{8=t!{Iktnj+}A_lLfTPcG# zp-Zy-%O#gHfF){+NI7o#a@2{`e#m{hzzd%*W}t-R*3*Q>xG}%m?vTL^TptPP_@Q0sPk4XjTUAHN@P{Gj?!pfmI4{n@D=dXXbNL-UAk~L!QAXe5MRe#=!@y1 zq@q7C&rqQr8bd+rfoP-bm=AJ<`YLFQ2GkuEIKL<#?4s#ik+S5BGz`jk)OG zMI*LFZZ|95g;fuIY`M;x<2Mi>VtTrkQ@wD_DiHs3-UI6^_LV1H-szyNH*PL9)tF}a z@HuZ4IM4>6q9|lI15>SrJ`&2ms@F1ttt|``-;3|VWV;GJtL(B;e+E6n{5$bT>ekx_ zNNfNt6bmyg+!QBU#f{^FT2W%ix*oI z1H$zOkh|leAKqHc?u9??yp5};b`LQ5E*H0_P$_pjpZw+nFvx|dZF0iF`Y7vSx(Y=F z@zvdn*+&cY0m{Xq_&}Gm)x{`w1?&RGj@5VZ4QxYXXLS zgF;2rz7YS#icoQcP(h(w(SmDN{lu$3XxKn+eStNx?&b0{p`_3@59rW(=bW0+#a{js z3i;OkMARR+n^vpHD6U&$7|JQV!mmeQnv-wd%@3H9-m>0ClX;A#Ps`@B%T*hZnggw0 z;iO&!gr>uPf(2X!TX4oFUAbj2h{0kiE%nh61`ZXzxDR}9ysg!FN^9 zQwgM4@H{PKe!f^z`oG5%L-Y}r3EFNp(!{~!W0|%4T162|ohxC-&aFR62KWrpRSYE;}&n;lcrgj?QtArsP^CgI_4lS2aHS8s*u9E3j)*UbKXV_{47q#cB zWy9BXD$DLvSBxK^J+$Jji0GAd8pt#X4b6KuU(T+mR1#!kzOT(2N6sL)_qVktTFMS8 zmR1V~wDQM7Uk!=G?QrEsSWaePi0|z{eOU#8$wYr*>&Bx*oUJg3u%je|>Cma&AJm^* z{p|&ad;>rz7N3)uaGBlMV6inkC-=MIEXe;#VV9KBc?{}0ZNaZa@3MPu8r*Sm?!-<5 zr=TCO)3~EiMpdixhiYXKsrg({FpT>oA{#c!>9#%wyvb#)57v83;Ut}jwW&ls9EsBM z<4lIat_tz$d|In+lAi}(uqyf7L82oN9n8l+SySRH683d61uJxsDuEdvDPU^jc$Ngm zW4uQ#=`jveB<-2$-LBR=PNw7ERzLjBHy3iX`Qd~Ie&3GN7^++b3Cl2NxZ^cg znou+f@A>to{hl4ddKL}p1SKLI$EQdR>@AsK>_D%MYWQ%H4?cY>ozu7 z7G-b3ZsLhpS@QnD?IsmLOfybwi9;=oClT71753pMfmo`qh+_9qNq0Fh{dhq>s+Cam zPHS+1t1ov;R4MJ=tvPXQ!PNtIkJ4e1_S}?pCeA20LM?P;Y640p%i?TwmGE9}>Ea+$ zYn)b%k?qk{{#3#g5?4|=qUUie@7}&1+yYvg_LKJF$?j4=P7M@-jO+BAUo=6ldzcnm`VB?Zo=*0W@(HT8fx*bVtIX28ca!2*lRfz*891{QdVI=*57*W0Mp98vdfPQerq1Pbyt(~02!4yGw}fou`Szo*Q4&!q9zQr5mR5PdAxV@1 zN4T#(p$Ut3*VqKG91{2LPS;?u1C|!6n`dP~b~j>=PzYHjgk!LBkL-d>bToN5 z6uI-S+d}S#PV{AT{wKJ<80^*PD@*rwA{0H}3mgwv!J2M>v+j9tc$6736{h^?l6?=8 zF9+Gf*b0f9z_JF1k?=VCy1J08$06swI*q)%gQX*-oOq4Yluz6XlY{`%tLN_YCCS>@ z06NBfbT{=$qb>@hW>Zq{xNew!ynWA^v9BNYg|E} z{4)!h)n&t=aPn|5So6tPC&mDv?P+Iq^GjFEQ`=H!S1?gQzWkT!;6T+>+QE0FH0D~M zaf0_<)7o&>h(5ry5Q}{9x%;eZCksego~tq2phdJ0?Z+NuZvQ8Gl5!!bYex0#&{WWA z$Sgxu3$NkhbCm`+5_2M^!L~m8R}Y^=SP!W}rqj2iJisJDI&`IEB4~a;7*>Pp_rva= z{Yzz|W)e!fW_>Rr=ZQoyp#wi=L__sl_AqpwZFgDhL+{uv7`i2e5W^@Ex+M`mV*2R# z@|UFyY7AbxS)~s}@7*}UE!jGn`O;mTvSM`!PIYrpFB7TMldLDdl5-8`6XnzxjEr3L zztp|@!9SdTNFgsDCs~yH`2lWoaUEW7!1v()!sBLfs8#&FY^AT>ev=U1IW_dPKf@59 zqqq7z$fje9SI?$E<;52`YGTbMw|(0EE%;b@iWpFDr0IG^?R@s9 z^JX4;Mp3p{G(wL~po?nQgJe#m`#k;J0f&rASbji(p@+xF$GTM{fDiDopE`=1ZicGV zznAYR#PkLzteK#Ss8z*X+As}7l-ux8LL^+J>!_`OT)8Ojo05-u232%EM60N zPg07GNFAdKZE$U@Bh+;&_&%Xgl{a6Ws)m5Ug=!WcfSDHWOhf(c#3F02Q7&xA^!ADb z%}klkGF#-j5CiEBYshJ@A~3&298}-MI%q14+(g|t5F=xZ6LXr^AB=b%Vt2xxzK5R@ z7K>XeP%2BbW=PGlc?v=>`Z06MJ+S z^RwRUEjL+(_;tm^(XxUMf0~Q4f%i&$YF`J%@_>toN|J%VLF`=G{*n`RZVv4pS+a7- zfcDmOCchoLyMcGZf~$l7ieVzYR^ot$k@GanfLM}cl!w&;=qV?aZ!Cvwc+mH_V)(-d z&FurDXSt2c*74QZOGnAY7AaxwNJZ-_G^weRhbOtm@F#9aqXQ2HLEf*^jpED15>0L^ zJVOc3aC%QsT8c78HgK)@0TsW)`HC{Qswrd^_eb@8-YU$Z)rMFP*DGcCK{O@rMs{`8 zPpJ<*fOAG19|AkC=>v-|DheW{6PQv+@@Zl?N{}gOv|H0sZCdY|-N#z(@QR5s=Os|` z_WRd_rG=Q3MGkk*Lv0VPCsT0NsM9OYstN%;GQZv7V%6-nTi_9y~{6rBe&Z=OoIy+pxk}G#wkZ*WLsr@OBB_(NDxLe%B zV^uHdUajeRpS}~<6!F=JK^7iP3yRNRD?84r{F(+>;=-t1kJw_+L^FjCxxyfEYAGmC zOI$MytV1R48}2I4r1wfG$^bnIhibvcK@igGw1bx}UlVGRFymtSrjNPE^i_6Qkj>%( z^mn?62}mO}zDcogA;8^v8Z28OFgls&U1XN()N06iDqKP%lcgH-@Ne3eeSO&v-EY# zmjbaxbkJ})P&7K)jj#f1N+%%Fmn7qG+&owx1IEaf%`xF`jyLGDEY__Hc^S07z|cRH zE*f)Aawfp8QAzWwN=vcH{;?j|soieS;G?qVvbe#;i$)Cy+ZkL4|ZU}md= z;lzZwk;yCr9FRL`SW3=-X)EQKmA>Y7bSP1~+K+W1WoOjQF#O|M3TtM6h$u`~$|ST_ zAc*jBX`Wz%lZWzBzVu_lmXSJ>@<4kUxg0xLN^bdV$N4?^P||)56(vfejz#LjOyGF6 za%8%<0w=`U!G6LZ6l0V$neJ{SaMb4)AC1*5a zWE&_8YYW~yKfmZHNdtyc+JC3Q?6?xdJquR@v!Qa|#%zmr`zd#ae*f9>c3 z30nmH*>Qk2{m1Cg%ir@b+NQgnSoPnnim4R|Zte>d*cLT)!8B`6T&UkkRh9w>|9Sb)`)*E;ebwf=0xd z)d94zfzvT$gbZILdDgq)09NiGd=Zt2b#qFmcFYtPrvMpy@(n4KBBQmlBh53IBiA=L z(v`6lPLjhY%)CKS2|e^j;)HbG9%=n>(J2MeSzlWRgF2f_FjRLxgQmAq^JBRX2sZPw zE+sy*#-d$MA_fyEuck}qCe_I@c|-Jp*o=!%;?9BWb#G_wwqCz+$ctA2UUy|E z8YBpV6lV16)y;Q=TE=s34K;yoU`YtN>Y9~JcL8*imXm-ikN;A=>h~wEyFO$eTzqz0 zwWGTpQ39EOKqJZ|JaI>XOkSOCV9i`P_baxA3cC+~j*t6Vu!@r%U*;vU;?t?9?@PFk zn%Ybms{woo35=8!J6t;3@r>UQluP*_rmRSzz&w+HMMX=v1$I!!Cs>X!sx0PqaQ^y= z^J$-P$FQhAS~#kG$JgGDSr@TvzWhwMCVpK}*a{c;`Etq<*(i441Kn>_26s~8rx>S9N|dO zG|eF9toE;AaByE!2+*^`nzuOeC}X!_&c$Letvn5{4BZj4MuP@iUZe?}{8ZYX&vPzC zOq3Tm#;90Ki0iIodZb~5f<3qCnwaFITp`_-j4cC~GO@D?>+&WIZS=Tc2j1SQf=bjG zWx8Gp@@=2sQeu2(6c0bF#5!WL$Ob@wmIB#jOvdk@*MBTvuwig99|Sqv!wL*7KFKkp3-E?R14hC0_`#zI?~cE~4rV55M^AHd)aBo++S zkz}((c3) zpZ$vg$ES>>(SF{r3(%d4L|rT1qg-$`vjtgY-**WlgIOt(_Ye@)l~UcbHW5nFdb@HNqVVOuQK|{0 zWt+MsZOG>Jep?k!CNS_?eu-8RIN0va5Yy5nugs2bii%OSfFM8LpN0C9!%z|ivH6rO z7cY=%KWZMjC$DQ>w!+6v-(f%vviE*7nVjX2Rwfg0gZF+AthYZ(MUX(TDd(7b_S1h@ zo2RNDY32HSL-DPY$a3S^vsk5v__Rw=Q{MHr3%e6SKo730T)eF4;Qpet0y#*Fvi1t&v)hjcHzYdif>UOu;?eU|kaCBZv`dQe|z zdm3QFq7Cq5%Ua(G*Heler{jcQi+l;R6N>TT^itBXmdET+W0+KOVG@1qx}mul@9s8Y z`zPZG+|tm&JyBSQ)RV0E%awG=9s!qnpjJNk!c`-zFZWf0aP0KPf9-WcKF;}Lzi;f;1lc^$Pz`g7IEq)^Y%0K6u>8=FjsSs~Mfjjbo6I zGoTfj%+jFk)Cwa*zh{1pvaMKfTGJ^OK!H(=ttw=cz=ocjq2!T<*p3M?cUH`g2Wg;p&C zQX4(4X?Jyk?Q%!%Ln(IXxzk^qJN1>+=Wd?%--)uK#U9t(K4p9P^CtRUjV$x#`txnF zS7%qlWtIr*OWtf=*E)W5Rece$iM^{^b&|fSSB+T1`C|AU@)e&3Mb`nbS1GuED24^a zna$I*=p$C)(fUuUmcR?OJ78AM-~n}O$p6_k9TxP=(l@ebnZLef6M%$4A+XW7r%eQm zEHaVAmH1K!>5!PDga7f2Dpg@ViwJan2Ta}9Cv10qZPmbFf5<+Rd5k4a*!+bjR0+hm z--|^7DS^CH`h=S|57WtoSW^k{wG1}4?Zl@EQMX7CPY%#fgVV~@(f}_cBJaJoU_dWZ zN*f21hTBDHSgo~nPiI6p0D;>l69?~D3*JcUDNN9kv0wQ z?(9@_q!8-+5sy1NID(JK7KL~5OvT*5QBB8+s!LSHz<4_7use>v`KEx};~g&!1t}Sy zDEkBt$8O(k{z~5BV-f#cO$b+%0ULZV5s$wm6^9ch5>ODEx-hATTqagf>a0;OH$(bO zktBN+SD>8q`|FvMm^63yJjF9jT($D)uF-otNKY8q-DyH?PAUZ{m7T+rsCcDL4n8{7 zDAKOXgjq_uVnOvzYJ{kABAmXsmm(Kt2HEjS+iw)wbcIybMq^BWthIFWMkeyrmw;BoOU>qy;DtIXZBK9BUc3d#ixu<%K-ScN<@(df(KB=WbFWw4fYE5#hyx?WXCVOVe%48kZv84I1Uf9r91FzN15HKi3eSe!E5bZw)MY3O6nX@IwD z?WV>lr>3S>GC%$u*~2(m{}yDyG6=Qg@Oz^ej<=9SAbGm^n2)dm>{0~HI&+FB(zI}7 z;lJ2Qzm4SDND04Udaz)eV>&sHD8vxitS@S1JqW9&lJ=6zK+)oA>83`a@sN01uRl*( z3zL3kw>DGlcg$-+o@e${;{sQ;>ZwZkWFoZY>~QZsAflaldn&jASPJvn**HYETrKWT z>&l02`OmO1(EB)B+O%AumxV+j(G1j+-!6Uk~n zRZeSn3<9axFgJgNZBk=_@a4J?&tbnBSXTRx!*we*XjY zddn$syX6UcGv2kz@pvbFdg=+?CWu>+!lLb-F+B~$o7PDpvqxcHu!lqYhkbnM*`@h5 zY~pTr2su~=+>)D?l(lNE^ei?>#PXs(YS!d(5_8I(rF|BPRk^p@{7kL{QJ|XZObjwC z8*BguFN4mDv3zd4&~Zs;^VbZ&QgUn|&x8~x2LS0K_#aar{k&4@mFs!znH3|7%A42~lj@L7UM%}`NlVpA z0GoE4<>}dKBkfGcD^q}JhQ%CtcYCPwtT$W(Kf|ymC;_PR1C^zLz za3n)8_jPzIXH7aa#~L8jyvLINg+w&+;&YYz7b`w9w{Pdm=fZSw#>ofhkgdmQ($TZt8-(f>sk`ss< z4vK?RV5yef?JI| zFV0FS_6;CH^5%8B&~!qvkAW(4DXzWxWmoz_K&+$LTtH5LT9LA0rq^-7Ds^>G*A=&M zeJE0bxP9GR|2CeHX8?mUK?MFYCoHAlH%Lm_K$*U6UtV37T;ha-00|sd4!@1BfO%$o zAM8~Rw(C+DL}fV6;_6o61~@^ah=)RJNQm3gzw{Tm48!KuegY_)5W_S+RTkVqZ_q~8 zp3txwm-oilW{by_4aj29eE8>jEvZ*0ShuEhk1?Xe8>s1lAWveN zOBCrR4V(H>C5nV+#{_k#l*rrFaZFTW#2o`a=x(QnfyLd}aep}ob|pO=%q^!}vNY=& zBDtWw>Aq0tjOFRiL5v+q!#C(7aO&)8%H zIgy>FEUuP|gKYNUMhQY*Pfy!nHAOOCzJkkpmDY`(NKrL9&v+?HcHt9R4P#Aqfgh_L zuH&xip1WLKOajILGVRlQz{#oQuI}&3H~QlTWo-&xn1H+KGS>P4VJ1}54m7}2!S0WE(J-lL|(jB z;Kt|u`J!`KjqJFK{j(Y50f3yp0qY_zAhE<2u6^Y-Y7nTiM6iJp7}zd~^It>scW=Di zpYun$T_KifG(UdYe8sQZiJXG9g&n^jS_rz6c12~aF4=JMF|f3<5#e@6^iTjl9{C|nAXE@n0I=X1Z{)6P-Z zN4wAMKVX@0qE6RV7$$SRo{m2BDUn4Z(_`(D#p~5qZbrLI#$4)VAmY7wZU}a5;)u>0 z&iTfz6wR0ktYn_GoQCv@U-2ushvTDh0u$E;FfjWsIN3uA>)-v&?>N?J>40*Tk zfSO?`v;A_&+O`vrnQxtRa|(MVXH#%rd;9fiBjTTH<4A*(r(f3%xPCSXr5f>BQ$Z}aK1zP~@M3KkYq8t(yy_i7R|T3?&tALx$ z6(1P>V@>(3Uq?U^=KGE+DRK`~*-yIpBLZm5J;dsk3wC4T=Fd-FNLz|7vN`{K(eL>^ znQ?M|x7+Y~aC2*RLYb4==p&hhNhlhadBG;(Mjx=HO(cJ9!%llJo&7Fd{jV2MG2)oeLHo2`gkJ+nmN486c)`CPs}Hq$))Ee-8$nN60zUEI1> z-86L|zP~&u7`pp{RZY1;sAp>chi@@>GR!rvww$HQ1lW3Hr*&EF)MoCewrD;FQ{~>o zZteLK%4*kcm8HY?is@B~E7jT3ilR5Dn7Ibk(6d8Ma_?a!Css zK;)qbYr?|s8o_laTqr>rpMTo;JwrL$#1iF^ZcjutY1G50FFs=MUN-_mUTES% z!)NB%{jX1xx%`+Q|M)0}E}@88QRN^_rwSl$Z~-NK>`AE=z>eYFhp4#8+s8`Sh$}X3 z&aq+~iuOul;9+_Jq?4@-%w2uQwpA4}Gaq%Qm+jTAbcIo{7^U88ow}wJzqdyZ!RVa> z%Pp~WT5uzjW5800ny0`#vF1hTgdH2j;W^1s91ZLc9xkI{l7fniAiwmg7vWW01cCA> zrQatMx#nz}mcZ4(cAG!fX=4F1^aZ@N%@1m`%&0LfG~AziBhZ}LTO{w{ppiUH9qeZkN!TvI{t1!vs^u_F z9D#k`IvaFXU1__mj!WD6@;51o-K-mWfV@9*rjty>yuET*hJjpaZ;|D4tsb|i(XOies zr9KXw4+*Ap0B;m!OT*Kf@GN=(6Azy@F5A|?oWw(CmMmzYuvbEPG`8(fU;(0qLytQ% zW=4SqX%m?BefB%_eK9pHPc(y2NJ*D4ID8Ye?x@a^pn<(NP<;N7V*Se+^p~~qi#NWaf_z^_B;zcol~WLHyft4tZWF{oK0>@?^Qi$@>0aFC ztx$a8I=85C(D~JoDRWdS>1D-DBytAjPXM}D#Xvd+r-4^*X8+w9r#5YqhAhBf>Y1pzqa@ntnvkv)Q0O1O_|yKjXjk&_ORo zv6yg7k4_z01VCTgMsPt2+b(Cna_#8?`TL?HYBH>jl0y!_NSR~EYvN7Ir z`JX!eg|pfArirYnRSdS{C})zs+ut6OuUcTt3zdC6c$3TVX4gBcyr_e;j|a`4x7hhU zI|duukQ1!NnQ)527fg z@XEkVM|@U1;3;BvBcsX$%$@bLOdfLCKx$t=lS^8*_=UW;fT>1-x9Q6RtE(5?!F$)ZV%lEpXsz;^^b1B(fK`yfl6_oQY$);%$scDpRVsw6>lT$ zvmK(mzP8_b4Yq@I=H%_XA`UbH0Y~sVil@9K*HV&Z{xY3D7+#G~WGp$f2Viso+7T%Z z1XsQ#IgO0F)~ir$iW#LHTL~G&TY{bNe`mz3>$k?+JhHaayqb7lqqjXv1Dm?K zJ#ZaL!KLW_|w@vNQpK6z~p^RVB0MPOXFD6fV z)m@zhRRI8@N7xtPZ_>)f7uM+cchz>=Zmo1m3c|SZygi~x9=;5QGNR*M>w^$m)>ONR zyP!fmcm3%{6@-+%aem>UQh~^tf~#k!tdm|W5^6%E8@*qvi_2EtQNvHM04)YT4?Rk+ zrC71NLR7D6)WvG~N()UTwPkPWK(2G-mkz7=OnN0ID5?*{>v~1G>1;%&D+D2IEpHWM zQPdXXs)z;*I>;B2`BTUZukZbYkB1%If3Ez?Z&B1(dj%USfjct2 zG#H;4dfcA_5A)Tu3`|0lyJqwOv3>z)dZj9!F!%G_ikPgDH8ck{XQ@ljR|i@B)YYp(M@@Cy`hG zy|HTYlVaFEwNcXVIAU)(i6?EKF$$3fuZ%Z?yrHz2{2=8l@WB^~kkXD7?sX^&UoaRo ztfG+dWoQCezi^DWZ@%qYZz2|*8UoCQkB({%ZCXZ#zdsgLmUufBBnEq=ISn|8(>93V z&J^<(jxSlc&t>c!(ed{NY7~lMZyG$-95ZTIydD5CeFmkDFJbeU`!b%XCoG>(R!MTh zs8nG5?TLx~sw(R40!n-h=pdruwX{Sz#hhH}Y)rl6Uk;4`O`Q6QJ-zr_fo|RYFrWPv z)F!-o<&Nwnm__oRHU;L9f;kOuLeQ!t9B=S^*cRV>NpmGvM4^6t&Z(W#=w54m<@m^` zQbA7WBXHe-(~or$)Q@-|?E!RNTBX$HDuwiuX!278o4DF-RLAynl%V+ho*d~=ODyYr zS-8lr9$dNDUs%`4nW%wMiqcML`@y)r-%}g6P&LZ9s?}NgYe?SY=m`!vrXY;&=!uC@ zO7)g(P^U4;S>39i*Apy{!-D;tyK`i$<)Kz$)(59m2zUo z6SU!euAX%Mh(fyPw6_(5bEV3ESTE~b-Z&;3t5)sN3RZJ9R}div;}zZKI98_0p>@ku zTy%G#Df5*~{Q{cWzQCQcYCDW-D`=)}o=IoJEw^jWaropw=|pVtz?c_*4X23RByrI> zpZk&xR{|cFV^+98EC(0aa~*baPr&G=tWZMA_?J|!LZFHq3T&~S{2kgtvutisT-k+K zzFL(f4>kyGi7Q>6O;yk%a{kbx2zWHaG%EFWJU2g9Iaul=b{BFZF$>TL;4W4xs&KmQ zlK>@|m|egXfd)SNsA`+nq6DC#fkR>acL>*}spP-W2uu}nf`j#Pb?0lqXayNSzGS0` z)=v94xX!$?VlGB=z+`2^ot$}{{FM>P@$Bbt!-7^<|LnEZrt#-_2pN&wg}k$3?vP&+^t{-hLwOhT5v@ehDkHkno_7HkZiu8 z;Q$Ah>N+Wkox^IF%nKnSu_u|`iF*nffqF#ugUB<^%g&uBa+D&dL#`FhGKfj3-)!7hEwMwJHQSHv?|M;!^P|X@ z@DD9<1(T7rn4Q3c8yaFjH(=>1C_r-#olH0j!miOz{JCAR10XhG866G|lq^rj0U{Kt zpLmBULEiuP+eUM1qq&+Sh)6vie;Yr8y^LoRh`}u?=?}&7!Mkm7r-Y2Q zfijxqDEzubBvxTH-f8%D9P7Vw@_0pex6%yHynbz&S(aa;E?bKgZanJJo3rU=8Dgzn z;qxTh^xJjU;4h-+eJBD=1X~_yEmN@AeJTjETXPb60>c*Ml;{B)(!bJ1HNBNF#W=Eo z%uV(u9}Z<>w}fGZ7nZ5bApaZx`zNA?k%K#}CS@Ki0@JD zsNgRxc+I2LD$Q4B9Gk{y8YrOIe0S>+q4o?N7iBJTPjZM&fGFHtH79D)Y2=mUUo9bK zosz+SRlD=Azk4wCWlWBI|Bw`(KUj1^!}?{nWKw@)et|Va#=x5wwDxJ(&pHq8ltxMl z6a&dtq13MV!o8mczCJte<^K;mcO8{wlh6m;Be!3jwmhl) z_3cn9OsM4Ymx*UL}e+`aW=dyE-?>d z={-Yb#xg@hc(pfe=*!@-};^V#E=|GJV#>PNR<} zD{X7f+{dm{i>%RG-y1p(Fb>%be1rcqqEFBl(3S%IL&VF?NH=O9dS)<6b1G!rLmHu+ zNhlzJJ0O@)nv(!tGwEJBY@xOMtaJ})JCaq27iS)LuiR*m~ zTGJN@p)aZvo>|7v!sj-R5(ssBRX%#p)o=mh=!Ii0b})PWIrThsrRsyrUal5`K^IdY zdofdvsTqR)AcnAeA{^29o*u4tem(|PA@%LtHR}1PRp+Z+2D*X1F9hYR^2O_Wti}_f zR*555pHxZ1?dh3~zJ zPMxyM*T0V3Y0FDMK~st|-g2nHsKR$`%)@2U$|L{$#0GFzn8f=q<+s3bnQHd3|>R2CD&%DJ=^E1x@G9`SLw_&x*}T?9Y#6JtS;8hiwc<{MD|`*ZbBTKI8y$8K0hxM zjiig+pmR)L%ob|316Ylx10A=q(-SVft4;hG6~CT5A(Hl@MqI9ycvoE+GE;f!@X47E zIpNf2$)LJ_nENB^H+WQsj3z>Aet~{n_)qP`nHs#jDUZHz$Uc+D*HqHT#1T7Lea&)b zX0u)XMJeZTI@~7y5@~eeY~5{}x`y}jUoK*LDVM*n%2r_?n-B0hRXy#ziOtVqC=Oni zzYyE`A<*5wsqRqP`lIzT#y3VcH~AE+>QX98w%#A4n`23g%r>dJ-of006sTxVrn03U zq0RLrEa@hRaV6l&4nKLbzE~Q@I3wI9c>naN$GhEK>M|Ak{;vyH6h*xT+qbj3HF+ny z6f~bnL?9J6Y3Pe9%$niHk-Sg3EQYt9ONeZe{E_nqUUo0KAKlG~X5dxWOT4bU6{?a7 z3BwTbZzTNAREJ$Zp2E;o8!J89b8D=DGH@K;MfR|-@BM^6ZAXmW2 zZdA-fZC88;^1Yrwzf#8Gs_DptbXLa zI@g{iUg8;pN1B8%fGz(C8uluGXvW{Q=)JH$l}gG_(Wfe&$ZcPC)9(qzaDqc*zJ1Xb z9m3)lvW|j7%;>*kZ0c5)dA6k7mVwVX5+;s&+V+J|bUgcpAy?Yr*4od;IBOZ{{)V=h z_(9}z;ZIhhUjG2$z(CZ+&x?;3-po=Sov5R;UAPpLvLc}++cu?Vqor4%zc@}n?S3z_ zL}6FApE)JN>nnu>ci6u1tXZ)LJD6?K!c)f`Wlt#xH=y#PvqHT`a6$`>c@aybpgcEU zibDAKqZ9Zmzw+Jl)E`_ONCUhElah|In9dqM{Un%?-W4YMV-k#NeRq%UQZL_?;~Zz1 z7dAEYTtmO3Dju)geE)`=dB!7brF-~NaQqSS;sU;5?f9>mp+rgX?B@msDC{5lKA1*C zl&z;ckx-;)uDT4OA10G~QZT@4n2!I>EFu+A!&EY;`oQ>mP**~g$>6M5U)!~n`)0c9 z>Mz%^W|5QDU7OwIlZU3Yk^=0Z#6IKHSbvsU^W znU>|_7e+GpE(5tzWp7DMjjV!4f_Q67Ctti7@F$AvbTXLAxTtfr!$n`qC}Hi++4KLD zUuLp_*fdq_`}I;uU0S(gXe;3G^E0yckv%77&2;yu<$nFc7pD2I(`I-S{SnxO^S<(# z4s`z%FEsGG2&h=jPU`VDrMfJrekFb%>fR5vH3-#lUr%e{a1*a4^(=B#zn$0`E`G&* zoJ;tX(MBD9o$w-+R=PoFxg-qYCwXl~>y;WQ^A9E#^ocPD65p{(Klt*)sUa@eDNA_D zeJg6*oPf#izD!8O3+&=<91P1x(j*l1UidkS8f!SM_NxV&?Yo)QQ)w@2tc{pysa#yl(PNN2mRqDDnY~I&|NGdAUkW#j3vq3GU(k z7^8Zp@O@R|lARCnvbx;DQr4T?Axru?QEF&*+9lfMkb~ZDofXgTq&o|lQeHmFfwkcG z7Q}qxBq&l>PNd_cH6iNq=2q(|RSdPl0n(KMIEAr)_JdWqP z7o5F^0xV|;;gux2Pve)JaSlkCV{{l)cBeXVb7a0REm*}nJXMsYKIzhl^Em6DiJbq! zSo}oKw6>vsfA3a{oPV$6jzesFL?w!ZyQd|!NF!r#cB6NOT`{+IKMvCw_Cb?o5Drl( zH#|awY_d|g`7~BI9??)>DiB?$Ze&7RrPPYL2ToKOZYS67jl#7B6#jsGLQ12&ycwMp z!b+W?QbAQV*6niZQtLOkT#nr-lpekQk4JfAlXqK&-$aSLnM;we}-L0dAx zVtV^B&6lvrb^YP+O#dn^h%uiz2;B$Q{jp^p)E&=Rdz7`C5v*%;rGw!XP358A<2BVm z={c8E+AEZv1iE(=H=U1+DA|STcq`yLPdlt<_EGNnzOmhERr#eC`Y2g3t@audX<}bb zhA&+u!yPF4pR8WJww=-tL91bg-&~Y8WMP@!+z(jUWg|4-bX>H{f7zGU-NJaZI#)U4 zj^i;>G?n;4r;1nlXOzh9+ejXg(LL*q@5o=7jM8Jp8hkSik+8jw(&L<<@xuIGMACjg zPv!bxl{C}o#)8GdE7t%QKjZVgcr*Ql{_IMR*7$RRKV;at{PeseW<4>>qil2A}bkbnQPOZDGzHLQTE0bC8> zY5-RQxEjFK0ImjbHGr!DTn*rA09OOJ8o<>6t_E;5fU5yq4d7}3R|B{jz|{b*25>ci zs{vdM;A#L@1GpN%)c~#ra5aFd0bC8>Y5-RQxEjFK0ImjbHGr!DTn*rA09OOJ8o<>6 zt_E;5fU5yq4d7}3R|B{jz|{b*25>cis{vdM;A#L@1GpN%)c~#ra5aFd0bC8>Y5-RQ zxEjFK@T)-m-48b8Z#z3D7HeZ8a|0H0YXehbKA_bAtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v z8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bW=-rB=fWv>Kq*0IddS zH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HY zTFt-IYIuNF1GE~T)c~yqXf;5q0a^{vYJgS)v>Kq*0IddSH9)HYS`E-@fK~&v8lcqx ztp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@ zfK~&v8lcqxtp;c{K&t^-4bWKq* z0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxt>#~9H5@>z z0a^{vYJgS)v>Kq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v z8lcqxtp;c{K&t^-4bWKq*{7bEd6KFL+s{vXK&}x8I1GE~T)c~yqXf;5q0a^{vYJgS)v>Kq*0IddS zH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqx ztp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@fK~&v8lcqxtp;c{K&t^-4bWKq*0IddSH9)HYS`E-@ z{!y!8f`WpwvvXo`v@$m`RxogMGInre(Q`1ia{T*`*qGg{t(bp*+B+*}(ankh_tpEQ zL2ZRG-@8rh;e`aTtdcmA=ktbI(;p)85_Ya|g2Ye^%*a^@{dL>hW+IBauQ_S-zP8j$ zvd5Y*J(`+VOVh26o;pw-M7u2Z2vrPr>p}Opl4&t)F%n0(;Mi?@s;?wm$C2DPrNL8# zQCPlPVN<8eE2(g?2cSoV0df-;j~ZQB!6FnWntqA4z#QByhEL0ez79;!JpTejYL zJv}RRF~<2xi1YYW9Z$b5anj~WKcc36oP_JsH|hk_3SS@|3hsV{9}n{hF4-`7)VN`)93pp`MnB zL=uf+#y<10L^kS9MwQ3d(Dv3Uaov+AP;?epbP^%(U04($Xuta$YG_GK#uZLul-|H# zI(lN9b4a6@6!GFaj47K+FiaGq%8b8XATr5Hg5(%E2SY1VrDhmI=)PtIDj!Qnwmfw% zS9z0poj9H47yfU?$AW}QE{RYP{zPwPF0UM z^Z{BVDDoUPhs5RbaYN|h6H1H89QTv^r}CO>@H8kWBgT(**5zWqs@8ZgqZZ1nAfMywny)|(MNtgJQVu$ z5tqD*{NZ05{fbKN;(p(D?bK#Y@4XARaZ?w=Eez?2Z2RU$_r%(o*smEuLWkMjd%a)B zeL_fRJ@+_~ZX|?y7F{gg5~|aSR(VowiWSA{0>yk2Et8Au9f{qpI4Yc+J~>}`d<<_L z6uxO{dRgC0)*KzcRZZ+Gu#n-~VSfK)e^D4?YS)Wm%T2HNI-(%WV)?bslV+?LI=f6y z9ny#+PIovXPvq)WjC+c^RXG=aPdKAH)P?fMQdj+svEIYlFsGUn02L^+bk1#gJB_`H?I-J+~+;FmLoNXc!_=Gbm{iX7lTx~2yr(q z+>}|lMW$et+(@(f=7MTTqsTj`p7C<;%SXBV@_kN&s<9vF{l|CfKQ!7y1E(5J{f!9#B-N7kb_C_B1-Iz4?SRbH7)R|u+Y)+hvtZ88~yv_n-@ri zybf?Q@ff{!K`O}g$PRGzH+_oF@-+1+6=6NeE9WBn0tkkoH@R^es=oFG5Wb&#)6%!W zgFD|GWzgWv!Ft)ti8&^$5>lX=NRB=EIOXEqPy9fiIi{Jh{!VYAMqxD3VyPht;l6Kb zCpe|14V5p30?H>o|PK9`UP^&??E-B zIP!nGSeoXu5$Y`;?y+cH5&1#-d#zUJFA&jr3%*lo0)fpa^psN z16^_{>ikuemnE{CEX5EZXs007L%FlCKTYG2Ke{|mDTk)YDV?D9oI0bHCT+{Oe{eFa z;zXMf&T@#pT#(=zQt!{@H`#_|TraCI3T*-j`mYq#iDg;GV%{os3)>cMh3-CtG}4Ee zYYq0+tqb6kA#c2JmAqHe{N+v^_i&o9HRd)I!pBow7{lecUK(o}`PE)8=mB0vGHgSc zKzXF~@Q^8$oBM)E;AzzEl|J#>i0i1(g=pi_&RD1|<8y8tdFj-`UJAL*=H~NSOh&{P zmq_4lhg108OI(ThTPI?&Ig-fDkk%EmY~d~E)~Q1q+|FuLaI4*Hxv|g+0 z+r5$w&y#njFy>d_5~`hw%C9$#ffd0F+k&bj{&mOPf&K*6n$eKnrEo?R*FUuPxVxMA zx$n)*Wyd)2c1~#t*VSq>{scqORQ1r@&6oQtouJs5JXypN#-=`Wm9Nohq{10sFE2UGNI@m%Qe~sFs?+l?u^cKeN`};YeZ&GJuK5vOup49iTT57JH?5V$d zLMbNJPtbfDn7$go!Tks>*{g4LU{=i+Ma!b`$|Cy#A)~+Bjs;mwojz-ckIPSnP>NpR z)7&~glnkbRPfevLuDiXhBdmq*Vm%g*6AYF}^@-MvDpCLXP{*B=m;O4X>(iKEfApxE z@hg##jC_Ce=$riDFXd{(9X*z>JBRk)2dgor8xwo@8FAeiL`7b~K6N~7;^4vT z+y3~CyT|f}EB$*NQ3AXE?t&lM5i9rvipt0sY{b}GQ~^2lrAbHdFiz>$xX<-MN1JrTMVZ_XPh`XPJuGbpdClC8~1P*dwp`z?p>KL zUlT#&@Nz7d#BsLXkj8heA?{o!b~QJ7<(v@uBkWO>oE*8q`W<}ZOps{9(@}o5H0Ods zYXKf}A_E1{rhR;&RC!Iq59jb}v?EKMBw7kK%;G7(R_Hthe?7cfxGpRmMy<{9;WsAp zKR}|DK6>CP|IB3ZNn1gYMhh+JW6C_42kbl9$5F{1IJx-Qt|pHUz0J#B?HU>D4y3V5 zwFGH0Aivxrtv39TR`4Cy(bP6Qqlv!Y^A`$HwyF8rp6^lBtwZB-b?o>!-epyjdv4!b zcxlTd$09C{e2-1=Ke};voz?Z&3G=SCGPrH%a`6k7=~9l=kTl{ImQ7PY7QSZk>gW5& zQKHnZ@O!5!XRnVM;k^;w`o*vHK+`C)j<1Jql@8O+4i@(|Oy$la56cqN; zf41;Y{QX8<-oV|~+3Bxs&|m(;#{Rn$93|`6F0x{WoLn<9=|%G+l0Sa&Y0=v$z8JM^ z1)Vj@Kdh(Ts$0L^r~jpr@KBS*fh@~c3j4!Np4}Fo4LTHNHDmt|+G*P1*rBG6B(+&n zw%?|1oVb!|=|n{2Q{)C?3-(&toc5lMKEG6mT^X;_egliy_1!$&bhcQSJY>{OW;8`b zyJP;vew=3Gv~ryJEll2Uzzflsn7AG2xr-U)9mY{qybqev*D+x};b9-;9s1Vf>ghyF zFeh40b4)%kI%X>2i;Ocm7UaibdG;A;$UUL)x9qLeMJRe=wrrT64JE07S+ashLuSH&|W9h8w z-I1K4mnorqD_@B{j5<%0C?zln?OQlJ$h}xN>^{MPGomF|mx!;vE;}#%yox^)MOY~L z*!X8W6MMNL!jS44uE2nTMn$G+M-1?dn??XI}QT zyu^SP-F}WuEjowu*;to_7d^g_I}4B2{t#wBQp()0;xkjMW!@Xdo%w9Qelpxb|jmTCfuDRWH^eplBMf2gGhIc3k z6&2b=JLcs&u^tH!5yIYGi1{s)MN;4<4>?cC-1Y`NWj@YG(OYkH$ci-?a$MWKi~AOu`ZkeRuTb$@%&DW`1b6Bck|hD{~YOxQz!W$DCc^SoN&nVg5=3{65$1yuHgXYgh938fp`%!olSSxL z3f|CiB6i>PX>owLxsgqDaw!2_&KByNEH2426qh?BPhV)vBR`cxwn$YKJr)&sRvb=_ zXG2}(-k$gibpcbu+hTh1zWQ74({gsfZYZIH%)=;%n*N)`mDIlP-+tFcLjHN8hflZ!R^@G+;k03<@Zl3T*OK_ge0lA$Hq>aLb2kKiU4 zddXJnn&Vb<+N#55mJY{-)AW9_XO4;pN3c=|JpRnQ7$;=QWqRZxuEJ@SlA4fk_N98H zQIec&&cGS&aggI+IVvXRC;OjbPz&LoWSm^NY+o)kVOeeLD^%+Qn#Xw05T1L862Wr8 zC?>#q&u!tl2Y%H_?m>MN$otNa^f@=LETLzgaq!33x1%XjXvCA-pR1hB2saqn6@*-z z8EWd@f9xXuM&FLG`FXa?K+A9ulAzB)4Uhy0Ii(*QoZ@w4Z_8Ura9TUYDtszfBh%l{ zmfbfY#!IhJPIhjf51H+-#%^&;ACDB#(S|7#)AbnU*)9k^_1d-bpckHa{ESeH`_-q+ zgJ$bysxmqfNYl$p75R-mZ~e_Jp>fa(olJm`d5?VpN{%Ff0n1+KprZvOLCN8?$cz^` zqHFQ}Clce485*$bInlWGdWpx*n<6pHm3_Wqtd7fI@%MF+M2M~T`1;Jc(cXi z!+y-&kZXi&Ne5QB^ZB z{;o1sekIfsEmwIaiu8_pN*{$cEEynGCST}nHKNLkL4oqbQb8@EqiY<}Ux+f*Qj?Xt zoU^aJn^lCqs*I167Be=V9T^z$Ai2C6Yt!pCc{PXcPJM|Kz(&&TQk~ZHJb)V`S*?D@ zc0z!j>02O`krNg=mqjt3D`i#F^uDCRcl_W?!`tdqGZmaDKGwJAP#BX}U2p49BL)l| z{6E4OE@O*-n{ z8#TaTC40|kokitxhHE~Kqk0clK1h7_GB=)AE)c5F{6hiB^Ljx@Oa_eum&y85Id+Np z^GX;Ewannpa8h1J>*x)<-HhRA3>3VC6q?y4!g(9k12~n+;2`x(NKBm5e#hi%_NDeA znb?vxHdgVTI@E}us=`WVzr@KoG+G-eU&t((6?ThX>wJ1}Q`2LO;FdGWwFCkFpt%KELsc#;po*;Oanj(bj?R;K4G|7y5Su zGO@|gYakJ*Li}eD_=hvm|7NSj_m>1LIV}FQOlVUq;U}>s%TLNJrpR}5euoKS3MAB; zln!{_*2cJimK2jmzn7tf8=cau+W1taC(G?|&8kqqECdmSxj{4lzAT5@(?Ffi*sOKQr&E%1hqRpM*045UgFL8^pc0(M{Y&0ng- zD@c`K$k`%>REdngREc(R%%d2U!{k1OVq3gon2$)QDY(W4b8SKqhnk(o3j*#!_x7lF zLK+5Jz0-1Gp>D7OLpDQ@N+GJRG#}S4@x+5A_;GAZ&_|bzPDusMT^p(oNt!F4sz|bT zb{pH6`w4JTHf?y>7GNON!k}syHe`#9@43m{tK2}<@{-Wc(S8MHiEk?}7Ig-X8T2%I z_KjW4(nl*YM@=uHUvZ!ez7#EgUvE^QRi+`ZhJYhcrnDKy{-E*UsTm2hBWei;9jmsC zi)BmzNRlo7Jx`)|hqF`>^kU8Tt4fel%7`71Tw@AQ6&(2?aVMQVaFkRPmOFYAKR^rCeth@r#S}N*LbAmzDwOgoRVCM3`-#sjep4sH zz2gKykpT^rSWPgBcnxGFF+4t7X%4%gryjeNp7g?VkYXYFU&Vqxqe}8RhAXGt0JU&3 zlb7;P60+OUpp44h;*ybq}jpe-d4%ZLU1MI`EwC==kNBCm8I%!VyqynFpZ+M*`?z#853-9Y%81vVg3tP|UDTm^;o)EM z5p&Fj>5cU6<0w*}h-`hSUkS}b%XdhHpu0$h^dajdNRSG_0qH|#UO%BGZB(m1wKAyG zQ=h*hj5CYQds~RDrs&-qhceJ+59j%{mIa$3MdCigK>7;P zLA93NbH!qG@ki8a^OEVtya?Y|<1sEI|IZ;a0+4vfx!C?K9`KNOWLQi%tu&c%H+sY# z?&uSkWL~PZ=t8=Yvftgve)#f}3epxxH}WKl^iMp7A@NZE9S`=u#-oY*cRVs<&Cjb2 zs!H}sBUI_cmiPsR?O#YGv5WE3NniGjt@6;9GwwO z*S?^Ln`3YzwROJy7A3B;99Sy0dK=3!lupuhAQX6Pd?SWeYX!T|mhDqfQC}8UTj175 zaBnyp_7KeVQI^GCay~MSinmgdNJ>V;qI4p1lG8)gmbcbV`TVW^s$bJ#CrJf}cj8;_qm0eH=RR=(BJ_m*n? zi|xk~EWZ=7*mklv1xZNrf0PiOza<3HtN(2e6_h|BHglYtrc!2h^j~|Z?~px|%#f5u z=&X$Vlp6xiTtDqKNv5{3TU)7Y?bk(Yr956iMAnUf!BUJVY~SX)`8`7;CY-0w^1ssS z+6R7-vJJ7&A397e-&&@~!Z3NRELfw4ioj;o$7t~~Zv%SPp@`99UG0@j!5++Ob?SEk zWaK!{U~R5S#IOF^XtusF_%Y{Wk2gtH%j$5JXbPd4E@+4GN9~(+h*qoSf)&oA_Ya+SZ?BBWneR%nOT-zbvZ4l+xYJSGW-8^8}z!BlD3&#IU>Ich~>v8F1b{QE~QWU6&-N7W+C%lL_X^G zW{Q=DWk+pCqPxv7S}!e&kaz)hP#DW8`cFXa#dXFbZ|}c-!rCCU@7xo{>+$WT`vzyf z-16<0RA-68^VzjGc@LZ=jz{X(-{5~oWT=?{W%@sk$e-h^71gDvC9>bWIN55={Ay`h zrN&%61+*PoGf5gmD{##7+8T%Cunu`o#c4@|G<#W{J_w4;;wD z?v>M5eW{;Q7U=hV$S;OnOkzL5D24hB2Kq4{^_11a_Xi2Wg~nWVPknQ1s6M*q_jt}z zTf$mlQGE{li_Wy96%C~f|lW&ruo79E8-{%XNq1^2QJUK019Jz}|dlmuyQ^FWBk2Uxmr zcEZO|Qj0n!wigcbXYE8Ex(!gs;E4>=+t-^UIzLrzk8FM|T+-TAHY3GkbkGsnU`t8D`&|w9{z6Y5AQ{+qkgu~4Ikzo^Rh_hZv3*2zSvl6fajCfj@xlKzx1u0 z`g5{0cR|hQ1DVX_@c+q<=+D7Ydi=0W7b}Lu^*z$Cr(M8eakz9$u`svld)RxZP2Qd^ zmPiHZhqkdmwMUxSCQlYzOwiKE>FVhkg@+! zHrG9z@c5LXIc2G5@Mk2q$%*1~v!rqCq}8P$jDFejPiX|h&S5xk*p~*#T5&K!u(feU zxDwYd6tmA>+g21cbP&&F+>RepBWT00Ns#0FvRhR^mxMwk5l<&}HJyCeSmMaQM2X-C z&ScMp!>-!t=p>k!*f2X}Y`a4@;trs5iDZ*7XlRJd7ExoDU`6eiSA^7MnC7phwAF&l*9Gg&M9cU?O6v)b^d`9gOyJP ze@L>r+$V^SFEljaXm8F;2`{VdIvrCobRRpkz21Dyh-kY`suaCO&R)&ur^c6|-8Do< zc8gEW_Ew*DNa3Y!&#o5FhK&AvZ<*Sgu;!4bd2TTO$@j+byH5A2{zIpSA%-tcvqya- zUtpa2yVEn|s?Ljr_4o2tuO=pIU~iRouT(Fok!qGYFm|Xfr`EJT2vXyF8I2jy__hhd zB6jnHht!iY;$vZPmJ(yeCaUX=)vd|fzL&V_PPs`WkAfWxQ#Xe^IcR#S!sn)m&AV|9 z6BlQvyC<2Y4fcp%&&3(Zuv2m2AT^xr#JCxL-W*a!-xHR4i%vdaOpotdu}}?H9@69R zR7Qt7!c&@_Sa7}Man0i1Bq^ItgG$dg0h>tN*k=lmzBt-9lxm5xXn{Ok2C>V2#d}HBk zK3WG^hb(-_Z-y;QV(FkYrjAJ0~~xjp$q995-gh%;AP>f9AW8q9@3{SYgYaih{=at+p8a>v5C4BNf$h)f?*HCV`1hv5 zpS|b*^+EV^%K3kN5dLi3{`U^Tzqu&3*yDj+NI~D%D zJaBPhIIARIyN0xXgJKF5A8$kOYg&GK$TCmV-HjV@*LhN>$}t^kRAm+!&nu85~& zfS&#WgRzDVKw4%K&=;N!BOzG1tETX{}xmV~x4mmXR?^^)PgucIT z0UTjiepsl2+yZ#87S{6eN;QzbLOO@s0)Ss3_;U-ufOfhzC&E`vwG%bmzfqJ65gVZ# zySYZ1;dS3I$j_UTmAQzxPvx`^~PutwsiuLlXMoa(s4`#HzcmLgpwy4 zOxAa#1sbVvPz&c~hAY(ST<3vAgkvqv-@?kvOD(gAsZ@-XJeF_8a0sJ6b`nn)wMi4^ zaj$eZ2Ws$S#XZArIT(3L^eJumwNxV%dfAQx{6zhzFhfftbyqXYc`Pi z-*&iGpD6eI)$>WWSM4zK3X?9%Tzd02r|Fqrez1<% zqRHk6x$5HUte@v}K+g6ovKw$7E>E4Ef@9HD=2Qqq8JF#&ZE;C=Ty~7Tr37k_5il0N zm<2Ck97bS#(JcSe&icVJ*)l?zv!i4wZgGP4IipOU1RHfYQskZ2U53{|<1YU=)OOor z`xF1Jeb8K%a)loYRIo^BHG)*FzT~p~H3OjgGcgQOHvPlS5uElTL$Wnt+0SA^O z2Z>ta?M@EF2ZeXP30;njN>^0THMia#l%9k z{r(Rji4GyBPpm&1bz0&tG<*=kw#~0*1uaj0rF>ar@ueLZ)DW$DpS`uEb!Fuy!e$}J zTNjsbW-B?noQ*l4@qvR5;~2&ByEI`X%`GzI0?hzTU!nCY^~Skv83)b4lfk0>T=%5j zJi2O_&9mCZaD|LyR~;{=!uVCcgFz>D8EA*CH@n?&guxqGT~RfDh98elyapyk;~37p zh1TsX_n8@ZPGLQ_T#w@CZ195&Dxbos)Xa9gH0@ju8v9%nCbp9I zvuvFd*n~36JkSr=zlv=+bFkuljpqwF&45R6Gamn<3YnuHAa92J&!-#zYK{I=qS6!o zoMDEX++h=}U@ZjYC3G64l1z>n5fqHWV^nuoI1$KTEEj%}t%jj8r&ZRQKbSc#T+s{N zo6(i2-5f*CWz^2V!M7ikfA+ngtNnu>ykUe_R#U;GneO@rPcJS{o;oa+1FgkW>*s#s zK4Of^LHe{oZnJh0_bFA{-SdmQ5->lTP>YDYp&$p)Z?Kaf2hjFOwrg>=#Mj#J1X;^- zWXI1iYIKqNLMtY5Ir9~oy$bhN2lS`%U@Dr>DRKO z)W$#4V!2#D!8)J~KgC992wCyWLzTw542E*Rj+KbeTXK>+Y$(Y`h;z+$|45XyF5t%S zGiyzPjUk+=%g#+B!Z1_n)|+lMDJl15;KUC%lnL`Fm;ruLn?^-C0vwl*z4zj@POb;y zXh-5oGHr}>hZPDdeFHdNq7*-L?(!NABF70!R^?1j%MB~H zEkEFM{!R;9iYYtkwqP&R_&H?w_*L+iP(=jW^>Nf8w_kkr=#v&T(rOkAx_JENZ6P?N zr&6?^4q^F5Vs;f)u5{vB*ap_MW4#`#E80~}qkm6Vq>?*heaLi8`=`^D?C;N^{^51r z|7tB-r&=K|@?t;!D)fr{Sa;B6G7fH7LyUZ!J`bHN&r)OhR#Zv${0hhD9eFZZZ*F<{ z*bm&gyAt9-^gg4O&DT>%2>g4A_Nm=-KQ@h#?`&o=?65zV=5+?W7$QvKMd1r2Hk3g# zlgJUyV&rL!R@-ujNPSG+9xOSlGDG-2`sug=`=FwIn3O6E-x~A-_0n}~tlR1N+lg&j zoRRrS9cYQ^WWLu!ObnFA7tc^%!g!9E;TpDlVVix=wr??3r7@=Xg-`d_RIFs~sq*qq z>Q|iT7lTUTauTs+n%qB7SN>cgDEraqxeOVH7ytC(#Q!`}|J9GTPLEo^kV8hwJ40+) z-IQjKD#5;*KKQvhwKvp+K$O!@Q3dnWHZh*32$K@_dzT(#4Gz5CX^*`{!xl9{v?ldo z)p(1_-rj7U-#Yaa+HtGRlz&BM(uSh$r*ANdxpo6?@dsx3vERdCzz^|a&J zAkKKXxd*{9$7$ox3)4Y6UP#b}N4xc^S2)cdvAonqo&TN{U=iQ!NQRDt*&Xy6M(JYB zU9LqnS=hvB24Cl0RaxKs2mEG>2*{rmee+59-dvJ;Z;6W8(5U;)M4sADV6NVb>P#Uy z^5{KtrcyUrFv%)GxA^(zB`pfo=g^0ck(-0OFY!Mwi8%i_$Ns#|{AbLLbe0^Jcrkx( zRnH783oM9rU#tjL6=L>p%0}|oFT5P(cp-*4MAh+#d|_Hjn)%i>zfxP!L z5G7#rxbIPzu$lk#o!-d?!pIXjHfpI4cVksh6pv8ZQiwFx%6$d!-;iy`1hMA85^G%3 z)%gfL%-wCVMv9R!)9jH8Ru_Dv4XsayQ^xN8POO0OWVbJ&H|D)Kca=DtZSW*-wNU@w z0$WedP{peZ2k)-e;RvDHyiKx*p5d7MB%4s)Ih{1b-{=mmPDEyBqe<#VU2HoR0?ijAdq z!>o)^j9EW1i!9gIX0T}x8pUjBsJ0)q-$|cPqd*M0ax{K@Vcf7_-}LNw<_)ZLciO0S+poN7G_)jx((}~G4AxWf_FVQy z*o_%%{BnNkCYD3fv(O*8xQt(#A)>W!;tUcrP!hKIg)R{rEf6J^DTWzC8!uXApufvRzs#arx&EaMb(3m;uHS-INucYfVSBwjUd!bQJ zFDLxY-)PX&BjKq6SyGq8ljWg4fsK%iVy$ImO6CGbCxt|mFPh`@9AT3c`(CVs>t88v zb(5}^b*Xh!b~FU+EsB&ZzI^AdlgKNtQyFgvpJ-bR)^6lDJ=j6&e<85q;XTok^YG*q zzxaB0z)$h9o8zpS#qyIO>$Kt8q(gEvi$!vwbRWgh4$pgw-dG!*`x%?-N5E zbzjbpKZ9PM^xOsB`ivj#DZE|jKZ2FALsjr7m7O5P&3l(vT_ zIWMgnvjlfxaEOnfuyOQQoxFP*zLn<`+=!8pC-7X{1tHBZJO5<-Dj)^5eq@9{jg6yX zZNb-q+e)cMR}Qhp$8|Gefgk5cxu(1(JoQpbHl-Bo-E(^-z-5$9e`R zX0eEy2uqZ`jzfT;hi*)xxkTn#mO4fEZIu@cQK5n>61J@y;6TBv8Ko-s-M&2R@5l@8zvV)hYb_bv>j0vqO%T_4;i&#toJqY+$vA zQejX5%4Cha^TYEO%j&Lt6H}p>v5!)Od z7qcS6I^?vb?5!=t3vf5j^O5fwtdJ0w-1vEw#+==_twEeGX?5B29@x8>wh>a}vX^?t3 z^bGvziUiOrx=F#?A&j{d{cdm*9s#-K#XEV!B{e-C6642n*LOX4$w&2^hCICsR(;n; zm-Y`>D^k8V1yyhQ6NTro(>DHGXNK zY_l+UCmNerP7Onduvek8oJ6i9b4w&?^MH|ckVZe;WIDpSt?<(T&ZXXr?Zwqya=~h@ zpxNj9p!;f_f^t0=YQ%!$nw@*Ca^hJf?6HSV0YBVrxHDq)-2zF*fRJr_!`HM8_ATws z_#1EXpXrRgzomP9S}>+Z;RdnTxaPEE#O?dj9R?^Bn>~21X>$DD8~JgxHsNNOea)sf z9i~cxrtyh0O>{^A1cD?qCEs~6KDZWB;-j=qO^i{qph%uoF)Ha0+HUwgdH!oJTPCB0 z$6at~Y>0J^(Lg>8PC4y(eytyt3w8E+C?5Ys7q_eO1Pm^&AK6PuI+f$^nQrPZugnd< z8Z$`)Edd}8E;?s)_R0x zy4n2~->N#3Gh`MGYe@~cc-BMq^yWJx=X}*-Z{fDxWXEy!4PXx>P*nd;DeF3c$3iZz zLODn5mn;>|6wSY%{HxjCUurnUyL)j2VbgHMrJl+1t`66LD@t#eD1!!BYwW?{x@c`&E6tY11!c~ zpr7nqb|YN^U9=L`Rg9O?7b#h?8}U>l`)v-zBOX5KR8~)7g>LuiV-wP)SWoh(1V7Q^ zW+iF1j#Sov$Mh^k8mjkP@Vpunf@K|yZfE&@%69>p${c*2`&}n1iw_-(gYX5(^)zq` zwp-R!QJlDLOTrJT=8u=1<{zLvED3J=!1YiuiBrH@FBr1ha9=0AQd)XUch1FmvHJ#2zOX ztZNpRp`DlTRsj7f^-jFKfvpX7wv1b5Eh%;5=T6!R1JlNpckXfb3>G55jM7A83`wFw zqHDnn8*2-$jGA3W3f5Xb7_hJODXG{~S|6w(rB zajw^52DvZbII(Bh8e8S6F*%TqrTX>=TIq6R}T zNLIsSy(a~6Gb?A-T^>C##Yt9HfhD;KD%vl6S0c09!b@Hkm9jE#7f(-15u#8`&HG^1 zq4`>Gh;8$3vQ3TKFjPP8Q!q5Bf7iw)wCOL3>%*;LXAH5%OFzJz-5#Ez)GT`x{Un*@ z=PSMq7UFXz!e7xrz^{=P*n)f>d-3t(>gYsFLm*>~?>S1<8tCI)wWCln31wKjV()nz zG?kaAV*P|rSE&S-tGLIKmh;L$W9)BSdP{rHs(|M$gXn@r*$x&{%iZ~f;o|95wCgho z3(_^A`GTAuzcbmiP>6*{aQbWkQb~nEdWP>cEQ^JRK$hyUXg&O6tGH&O?`FwPB$V5- z(`=B@VCL-JozbW_U5$@0(^yFGPU*=fjHYq=nI@}k9a_#ECiM(&+iPWxqvn&=o$lv+ z?%BDXArY3JgrwA{Fv}9&gNcj-dX{DrHK|lag>ObGFpZ2!0!T zOs8WDrH$1*sDp`47m&kjzv9jEWF81CvrgtfXg1)e%6 z%B#tiNWUh=+Ka884erQZm5`G$h|OPQZjdOXJGVIWu=tr2Q?MVxbaW8 zKJVQF-s9%Inu{64B^wH5eqm)oqTU$Qt7thy4SlS@!4IM7(&tw$<7%euei}2Z zhu^c%Ftz+>N#h#T!=@qKsU`rKu~1~SUE*8O91T4@|K+@i_V}J%2|7yJq0QNt3Fn%j zl)}&ekG`VA$r`|7-o%%WQ7$%qH6`xUbXOaUx7Vse{gm37!u(Rth5CgCt%u719BJ2- z%Tkn093S~+3_LWzIT#_@n-{{A8Ho?1Yw#o7FM<~4zo26i-${Q#C%)tIr3=5DrEEW_ z5Q1;=c}v&Z52ZJmdEa9F^ZKd?jF_syho zilIth13tr4l~o~4qpYl}Y)2J*TlC}j1F7(leVQ#!Pyq(ui zk<2MomGDNLB(Z{Qv1+xiCP?i5@&re@)?9DQA(g5p-Qn7fMqrj>%I+7}hN7<{e0H#V zp#lmOO_UIXwx}-FGO216voE3Cb*S>&D?bTlA3~y30__pm+PSpnJgzHX)F0`~t0gM= zsJl;h12ue2`J8M`)x~Bd3ahvH-&XMsyqqMw2Y@KkGz;vE|Bkl1}wKkzw0ZPQO}wSUuZnPs*A;;iOJ&|pf}+ZXtv z*Q?5A)xyES?IBwWz{Dvh}fO{fiDx>8!`Xgk(hlMB|`m~EMEi#D)>q|&M` zD7`J#-;Ya=US3nhoerT;jF8XW@O}l^rX=#3x<=-4&EF!UzeFg&9<3jv5NA)3Xgiyd z=t7`m&2?;xg>+y%qa80HbNFS3rV{T5@97EO+Av>|>Hc}1b*)WAHVrjSxNgR*eDl4< zIE@`=pLSlZw$|4NncX6FykZZSWexP7V|)6B_+KR`+Hs(4?q3%#V=*TTs8?nHj-!jO z4ge@=~8^t`IYK%vWQr6+bb)UTE#4K%3cz3FJm z6K@sQt3^yKirta>P#%q#gRw6Cp0p5(A4NXF?21k@$f=O0Byj0Qc$j;57+~@<18pAz zt?kjg%P7q26@wF%#VsOv%&E;q7Qx143x|IGGNHz0;8HKY2kbp?Bp*1^Ls9;)_!e}a zk767TSh5$$RkGL4Mfi^YPNAkYO)^kaCVRkCGeol0(I4mByL&s9WSz3I-l@!JuJeK{ zT<^`z5^rA8O3464Hi>Y{)-z)7w;0*WALQA&Q5Lx0&;SLg_|g1st-Z8VEo~GkkMc7xW~K+CHBZ z&t=X6r?qAk9X)8~=Xd*BRg-t(xjOahfrXU3R(%6NmnXMR2x)s9D`)2+5-n(;nWr^c2p2m?fXq%1Dumf~O2sUF0HlPO^@B|ysK=A+|2PBc3x*XW3gAui+ zCp3a30SejB*YG^|x-V`E{OyN&6#<)0tp`W_&(cyE-~w5CB8B(Rn@0-*6c78!9iC;s zR%LQkzv}luWPi!HItIVv@son>g!J|jjT^zu*z#@Im(_4Ct6^V`kpyETDQPDfCfM0$ zZ{5xH3%{Hm1mTGl)DLx2w{}zCIi%R52q9<*zj*b=?J1LPxyp>7%Ll@-PIl}@QKQs^ zK!CqU&luLip~LFnmZ{5dV^@hYZarAK(i4N+b!;!+qz3&+w~so!(7pmQvK=Bj>Mp2g zBq%50B=NAMz6`@UiY!d`5A%vcO214@kBw!JGonO+<&TuPzA!KWLN*fECzc?f`W=w7 zE3dh;^HHZm&V8NA+1Cno+%W8CVPQYuk~Hj-|K$dP?pU3cy|{2FvmKV{XcL$YE;9A$w#Mc9Oss(T{5Z z7b+HEGw)Zp-jj_gzw?ew%aL*Lp4EsrLiWGoj@?&~aqwQKh&TbRzvGS_L6C9q zet?KL-AjMR9jl{|aq#YGh&U$xzvE7AT6kw5MBMP@zvGUrnvqKf?^c6&+Sdr3g8R*j zgN%}14 z6Jzqf6&jJeCUX|@iG}vr$vk`=4q;;S=fMEpwgr*qb?r~I zKc7qR`zMG?63BG~+Hn({dR2kf5g;N`b$>^kdYyw`Hy$YyPSUO^`e~{K^=p_|M+fo2 QZpIf;P&h4Mt1*=S17rn4zyJUM literal 0 HcmV?d00001