latticeExtra/0000755000176000001440000000000012203200025012715 5ustar ripleyuserslatticeExtra/inst/0000755000176000001440000000000012203055637013713 5ustar ripleyuserslatticeExtra/inst/scripts/0000755000176000001440000000000012203055627015401 5ustar ripleyuserslatticeExtra/inst/scripts/README.USAge0000644000176000001440000000305411062365303017223 0ustar ripleyusers Data source: U.S. Census Bureau, http://www.census.gov/popest/archives/pre-1980/PE-11.html Steps: 1. Download CSV files (e.g. using wget) 2. Preprocess using a shell script: for f in PE-11-19??.csv ; do g=${f/PE-11-/} echo $g grep ^[0-9] $f | sed -e 's/,//g' | sed -e 's/"/ /g' | sed -e 's/ /,/g' | sed -e 's/,,,/,/g' | sed -e 's/,,//g' | cut -d, -f1,3,4 > $g done 3. Convert to an R array: readData <- function(file) { ans <- read.table(file, header = FALSE, sep = ",", row.names = 1, col.names = c("Age", "Male", "Female"), as.is = TRUE) ans <- as.matrix(ans) upto74 <- ans[1:75, ] above74 <- colSums(ans[-(1:75), , drop = FALSE]) ans <- rbind(upto74, `75+` = above74) names(dimnames(ans)) <- c("Age", "Sex") ans } Year <- 1900:1979 foo <- lapply(paste(Year, "csv", sep = "."), readData) USAge.table <- array(do.call(c, foo), dim = c(dim(foo[[1]]), length(Year)), dimnames = c(dimnames(foo[[1]]), list(Year = as.character(Year)))) save(USAge.table, file = "USAge.table.rda", compress = TRUE) 4. Make alternative data frame version (omit 75+ group) USAge.df <- as.data.frame.table(USAge.table[1:75, , ]) ##levels(USAge.df$Age)[nlevels(USAge.df$Age)] <- "75" USAge.df$Age <- as.numeric(as.character(USAge.df$Age)) USAge.df$Year <- as.numeric(as.character(USAge.df$Year)) USAge.df$Population <- USAge.df$Freq / 1e6 USAge.df$Freq <- NULL save(USAge.df, file = "USAge.df.rda", compress = TRUE) latticeExtra/inst/NEWS0000644000176000001440000001321512203055637014414 0ustar ripleyusersChanges in Version 0.6-18 o combineLimits() fixed to work with empty panels Changes in Version 0.6-15 o graphical parameters vectorized in panel.3dbars(). o new panel function panel.ellipse(). Changes in Version 0.6-15 o panel.xyarea() gains a 'horizontal' argument. o layer() now works with splom. o panel.ellipse() [was introduced previously but not mentioned here]. o changes to panel.smoother,quantile,xyarea to work with the new 'col' default in panel.superpose(): now "black" rather than NA. Changes in Version 0.6-14 o new combineLimits() function for per-row and per-column limits. o new functions xscale.components.* and yscale.components.* where * is in {logpower,fractions,log10ticks,log10.3,subticks}. o horizonplot substantially revised, with an argument 'horizonscale' (actually for prepanel), "free" scales and colorkey support. Also the default colors are better now (thanks to Joseph Guillaume). o new functions ggplot2like(), ggplot2like.opts() and axis.grid(). o new functions theEconomist.opts() and theEconomist.axis(). o panel.mapplot() now takes an 'exact' argument, similar to map(). o new function panel.key(). o c.trellis() and doubleYScale() now have an option to merge legends. o c.trellis(), as.layer() and doubleYScale() now try to combine 'par.settings' from multiple plots. o doubleYScale() now accepts an 'under' argument (applies to 2nd plot). o marginal.plot() now has a default cut = 0. o layer() failed on expressions with missing arguments, like x[,1]. o removed the deprecated arguments to layer(), 'eval' and 'etc'. o simpleSmoothTs() and panel.tskernel() used an incorrect (reversed) filter in the case of sides = 1 and c > 1. o as.layer() was not keeping existing scales if x.same or y.same = FALSE. o xyplot.list() now applies 'FUN' directly, avoiding some evaluation issues. o the 'style' argument to layer() now applies to the "superpose" styles also, which fixes some cases with xyplot.ts. o the 'zoo' methods for panel.xblocks() and panel.xyarea() now use coredata() rather than as.vector(), so can keep factors intact. Changes in Version 0.6-10 o support arrows with panel.segplot. o several changes to panel.xblocks(). o layer() now has a 'magicdots' argument, which is TRUE by default. o use of the 'eval' and 'etc' arguments to layer() are now deprecated. o new function simpleSmoothTs (calculations as in panel.tskernel). o panel.tskernel() gains a new argument 'n' (default 300) to reduce the number of plotted points. o panel.qqmath.tails() is now deprecated as its main functionality has been moved into panel.qqmath() (in lattice 0.18-4, from R 2.11.0). o glayer() was failing on plots with an existing 'panel.groups'. o panel.smoother() now omits non-finite values and converts to numeric. o panel.xyarea() (and thus horizonplot()) now handles missing values. Changes in Version 0.6-6 o xyplot.ts actually removed now (forgot to delete it after lattice release). o new function horizonplot(). o fixed rescaling bug in panel.tskernel(..., sides = 1). o mapplot can now take colramp = NULL to use the current theme. Changes in Version 0.6-5 o new panel functions panel.smoother() and panel.quantile(). The latter requires the quantreg package. o new panel function panel.tskernel(). o layer() rewritten and now has several new arguments. New convenience functions layer_(), glayer(), etc. o new functions theEconomist.theme() and asTheEconomist(). o custom.theme() gains a `...` argument passed to simpleTheme. Added a variant custom.theme.2() with different defaults. o expanded xyplot.ts() and moved it to the lattice package. o improved handling of colours in panel.xblocks(). Added several more examples to the help page. o fixed panel.xblocks() to handle cases of no missing data. Changes in Version 0.6-4 o as.layer() gains arguments x.same and y.same. Changes in Version 0.6-2 o new functions 'panel.xblocks', 'panel.qqmath.tails', 'panel.xyarea' and 'panel.qqmath.xyarea'. o added explicit 'layout' argument to 'marginal.plot' (was clobbered by the default NULL in 'c.trellis'). o 'c.trellis' handles 'subscripts' argument to prepanel functions. Changes in Version 0.6-1 o fixed 'layout' argument to 'xyplot.list' and 'c.trellis'. Changes in Version 0.6-0 o new function xyplot.list, to create and merge multiple plots (and not just xyplots). o c.trellis will now set same scales properly when x/y.same=TRUE. o new function doubleYScale, to easily overlay two plot series. o new functions panel.lmlineq and panel.ablineq for line equations. o marginal.plot handles non-syntactic variable names; also now coerces to data.frame (so e.g. works with a matrix). o changes to default axis style in marginal.plot. o new dataset EastAuClimate. Changes in Version 0.5-4 o marginal.plot now handles table objects sensibly. o marginal.plot now applies 'subset' to 'groups', as it should. Changes in Version 0.5-3 o improvements to marginal.plot including support for groups. o fix to marginal.plot: failed with only numeric variables. o fix to panel.voronoi (with use.tripack = FALSE): wrong colors were used when xlim/ylim enclosed a data subset. o new function 'as.layer' and a method 'as.layer.trellis'. This allows panels to be overlaid with independent x/y scales. Previous Changes o several new data sets and a few utility functions o dendrogramGrob to produce a dendrogram that can be used as a legend o new generic function 'gplot' -- like 'plot', but meant to produce a `grouped' Trellis plot. Methods can be defined for objects that already have a 'plot' method. API Currently unstable. latticeExtra/NAMESPACE0000644000176000001440000000463512203173361014160 0ustar ripleyusers import(grid) import(lattice) importFrom(stats, as.formula) importFrom(RColorBrewer, brewer.pal) export(dendrogramGrob) ## FIXME: add some variant of heatmap export(rootogram, panel.rootogram, prepanel.rootogram) export(ecdfplot, panel.ecdfplot, prepanel.ecdfplot) export(mapplot, panel.mapplot, prepanel.mapplot) export(segplot, prepanel.segplot, panel.segplot) S3method(rootogram, formula) S3method(ecdfplot, formula) S3method(ecdfplot, numeric) S3method(segplot, formula) S3method(mapplot, formula) S3method(xyplot, stl) export(panel.3dbars, panel.3dpolygon, panel.3dtext) export(useOuterStrips, resizePanels, combineLimits) export(custom.theme) export(custom.theme.2) export(xscale.components.logpower) export(yscale.components.logpower) export(xscale.components.fractions) export(yscale.components.fractions) export(xscale.components.log10ticks) export(yscale.components.log10ticks) export(xscale.components.log) export(yscale.components.log) export(xscale.components.log10.3) export(yscale.components.log10.3) export(xscale.components.subticks) export(yscale.components.subticks) ## contributions from Felix Andrews export(mergedTrellisLegendGrob) export(panel.key) export(horizonplot) S3method(horizonplot, default) export(panel.horizonplot, prepanel.horizonplot) export(panel.smoother) export(panel.quantile) export(panel.tskernel) export(simpleSmoothTs) S3method(simpleSmoothTs, default) S3method(simpleSmoothTs, zoo) export(panel.2dsmoother) export(tileplot, panel.voronoi, panel.levelplot.points) export(panel.xblocks) S3method(panel.xblocks, default) S3method(panel.xblocks, ts) S3method(panel.xblocks, zoo) export(panel.xyarea) S3method(panel.xyarea, default) S3method(panel.xyarea, ts) S3method(panel.xyarea, zoo) export(panel.qqmath.xyarea) export(panel.qqmath.tails) ## Deprecated as of lattice 0.18-4 export(panel.lmlineq, panel.ablineq) export(panel.scaleArrow) export(marginal.plot) S3method(c, trellis) export(xyplot.list) ## Note: not just an S3 method export(layer, layer_, glayer, glayer_) export(drawLayer, flattenPanel) S3method("+", trellis) S3method("[", layer) S3method(print, layer) export(as.layer) S3method(as.layer, layer) S3method(as.layer, trellis) export(doubleYScale) export(ggplot2like) export(ggplot2like.opts) export(axis.grid) export(theEconomist.theme) export(theEconomist.opts) export(theEconomist.axis) export(asTheEconomist) export(panel.ellipse) ### Local variables: ### mode: R ### End: latticeExtra/data/0000755000176000001440000000000012203175714013646 5ustar ripleyuserslatticeExtra/data/biocAccess.rda0000644000176000001440000003307412203175715016404 0ustar ripleyusers7zXZi"6!X5])TW"nRʟ6(;S:h6IFB xaͫ-)Eb+E도0Cva@RcyVb\%eBJiH^}F O9D ƌS} bQzҶa%KLXn*y!YsF?WA|}LA$Y>`&:IQK%M5m7Ah؊#OY.)+U{ZnЅSDߓ @*\Pzv2-#m]7`))&G ԗX}wLq#F(k3rS QwĘM<S tXۿ~bqA׽Mӯq=@\ 9`e2:̎:0d'PdCQ.q~i!p-X w[ȦD4ت2#DpˉX\6?duz/Xee1XwZi w`> \j.4kAVy֎Mfd%q2ܪi@C]K"e!Y^쀡9@jAylL>zVιB,<3M-+:ԅpV?^`b6٘9dSI*w.qf_X&` 㮒Fl`nCteBKrw!wL 'ź8"M!?>[y(@8";En$sK0v΃d? L?iaz7SX4D2k,gJ9چi -$0|DN\jaM0_XX{E эӐzwkFh{dėK~ǁ3o e: >$tZ+4gHgp5SYwݸF`&):"^L3Mc/J B16b{r4aoV!5`P1 T>:NW8MmzaOo`g ڌ dO퉵T5}ЇlO_BRH;yqLք!~9p,3X1"5t`˒oŏwUy?@5B;vK4/ٻFiU\NHNdTZb/L5+K\ӳ Ű_N}Pk⻁o+}.І\4>Fy fh)bN/w8wUq*ݗ܌:b6Ѧ)7 +ݼӍhg5'QgeE,zJ^]>ì 270UˬGKJߋ*Q*o0Cx>RPH?00wc^ ,CʔLL ZzcQ+$g&ZC(Ea>=]7P,4YlS@Ut-vE9E49}q5fC­+|_ Kmdy_Sk= Kv.:ik~e4WP!Ƞ7RO,DRQM nw&B 4eq+a gɃ$ߞ>CQ"x'{[t xݵie튨n\a'kl\ ?-.z?5'$3w(J@h D׏Pm=ċTh:O]/I?Z3*0a4A!{2jc~IB/53Z8S'[_u`OԂ+|6B/ `tS:{8X-Eюv<7*ՆSoxCUJ蟀0egT"m^iTW:64 @$,=h JA0 rtؗ07J r&09_ ) }4fn6UGɅiF⍧tTU'4-Qm.FŀT;ڧ":-fR)5XкP&q1oL9.Pgy]IJpgk# $k?ӟ~)lt!ܪ&cAɛt,;f /àbڍ1>h4tDn"e< 2{МuWȌMp.iG/"c;F(k0*PeXv.-wY}_ĥy󧱃t7xi/r'"3)S+狻 O*#M3cuM_z]Їgͣ^.klf%LMS0_#fnuj췙 zf'T%ゑ&UDuuGYf竍e#^Nf~px4vTB[Gx]b%Bb oBmD1/1>F]"77b]XV'iB!nx J\u<[gXõS;iHg3LXP ^ b<o[PL[]@ {QQ{G閏_"]jOtarD("%@nxp|i7TL`|5eCy4sڈ #Wʏ؅͆-qѨ#|HdS׌)Lt.*;R?F6A] pWWhFf&%1U^Y3#-B ye&18}E.Sʹ=B ꂛߧ3z 7i%O   ozS=&5lA)f[Y%%郘Kkxvε&KWqTtP!jOHcӡxtcGF6?vTUbb+qD=/DZɇ\űZP3i8g*#nnlaGכAB`^BǸ˽r@I(={hMŐ/0x ^pwQ0AEHFC%eo rzq!4TZQA/f92= FBy WR&4\V'б9fiʃm?@G졜_nNJC yKɏ1<mjs-īOH&f!b4D84 iF(|Y?Ł4a!-CKF䣜vFVEU906K 'guM*Tȗf\E!)}8v/?%<Η/¶Tc`ƞC*z#a!Fo^~u`1 _ؗN aS}S-HfBjJYohj[G_I浻2+/;#ZU* dQk1]A`|$m/=Dpf3Uq#'tl#^*H'0ր~2Sk]Q[}bO| R?'Q"ܙwz۵74"N`\dž^OT;жnjbs7jSç RR\//:Ҏ@/1Ek<,w|`ܷO̶DkV#9=_2 D|6=9ݗngiave=tŒwr}*9y\(~7z]hd 1y^7(ؑjqk\/U PA}xSڻQ{L8ortDr>t_TWOaNҫc'Yt @oavz\fCկض*bN&<`8sj LOXwz{L nuT"MoZ`%gpDeX%G7nh0 =A8Wĉ3\34`Uo|WI\j50]wdnnA :EX!REڗyAZq>,& h 7G-' LJ62l_YJ?ԇC7B<эX?-Cѝ:<`v!pGY\d7]rmzO$GFSΌ,oȶ>FBzE$VX;C}֬vEM )j*|^jOŹB] u]ELU8dl89E+n@${?iV`\ZO 6KGV+ ֆ%Q揄-[o6X1z!"|.z=B_&-FA#4X/ pHtl+Py(3a7ꕫ 4~u.\8Sl;e@Jetv8]g3sx ĒOO ;1"WٱҊ7)4[~ [+t=Έ9.4(j04[w,c:wqa&r;u,nr׫ rmJלٟsa?\I w/)TׂZ ȼt^!(SF^ G|] Չlcܤ?o޷ƚۈ\֦圱u_4N< >:u H0o\lP ,9>}Ryn|+Ln:?SΑh}T RW}u(kWNqVwHR6d@h`+8] &r)1gmo_Ւ wG@Y<q\cڌhy;%ͯ,& w$,dpzݮUpyeqsMVDޡKE&Z)E"3 C9!mEKF'io -j64Ei(^yT5yN1p،;a}qN8z)-3j W6";#hqk'h6c-ɲ/=jd%[+$A2fW k%tM08Ph}vu=ϣ]{6ԯg?1/  gLlqkMr `\m̧Bцd=!ue%\6l'{̓҃_ tVAtb|k#oxNkks";L+Ad8#>gx""bjQnL[ҵHT; c ]CWH0Vzusr} V Z뢐~\-?y䌜M< Yye<,/_w+sRr덯BS 4Wg+U+mծMC>*%_׹6>ØG7cB 2'ml>QO2L$ezK;FxA!?]F(vU um+^EONVn  &9k g [tcuJEh{mn'}z~-26ܱz EO#*ԏb^@ LS%O2`6mN/qF2eP"Y zLt.\{:svCFDR5`")EE/UUՀK ת&0.aAt$^*ĩ1Y[=E/K igMd'hd~` B 5mH;㜚fqo Ly*px PN݂F"#@cIި1WUvyx4 %:i9t#y/z7j*0$֗3OǢ|!w΂AgPqa5 FH~`@kO샢euC mC&Fa'kcw*Ker")KِWQ/6(GJ{Q\'!zJUH:Stkb-Qe8?| /~)I #DN)fȪaq5*&I}Nׯv'aj $Ě;`aYל5%vw ?=FD`6(R)"R)AV)V,㴟^{*&PՏ2myX+,/]@yܧF9V?о4;ntk~1h (VQUjvxc(Gâq8'joiypʔO4s7͊RAkO!px&=v\q;r1'X3027A=%˾-k߉(Tsz`kq#;2\Y #?h1\cas=zm]!*4_Lj}f6Uo_M$H$DOi ۪;n]'Ҩ킜Q"#(8R/?Saq٘TJF$؞hєϪ_LQ(ϣO43=t8/.t[[ͻ*^i73"в|\OygSqe_J LUE .;5ƁFZ! >lP$C@y{OqPn8t6zYSTq0ctY8bܿ, ~|\{gDTZvNP{UPDnfo7:IƚܳJ+ku}HDS#J @6Vq bf wI&HJp2?ʈ4mF&a !~彚 gۦ #$zܛwSd05ph2;Ԕ8:6Ŝm0~s}r ʇ7yl?%/ӃI6;DU-+ Wy:k8I|yBJNNIN;uFފ>KŃW c9ta ܁^AqR# ]Rݩmh3.RhA@Y_f͈kj8L< eX/ 2&-Hxh Gv~~7& b ؐǸdklv(,}eA@L3̟8ӞLDPdO*.m5 c' Esܫ+}"j<(ui>VF E`JH8Iu:83=.v % w,F~t?Wxk&mXP=F.ǾA6??$`S&%le6!~rH32p]_7:9[=xڌrt9ʑF$_Ji #;Ø/C>O)+26 Ohr u_ v\N%a"6ܣxGz,#wA*|3 t}H+WE5 ESmAl<:g^#J7 6VwSJ'%֪<G*_ Gҟ˯\ԾBę쭨fӧRȉwqVOT %YdǛ1(K= ͢$sJOBkoo]ZnFp8sŒ Xq;s/< ʉC-v!"m1'F kbǠ$X 7;-mOê j[gVSw-> !0#a8 J $VȑHUwI>N\ذFò#). G^1 HU;JҹpL=EƷ5?\d[kUSAC&. ȫ65GROᝣE }]H.;-"Ik =tDfyWz%% 1vt¹_~/)@en䆛4 7Մl5Y2+|5oju^ˉtSx MlT`\1e@{U2/L΢e--F~'_PW4h /o38T{ },Z@vٴY0N>!ëwμBXEr9M>Fxxָm!ShfBNWŤjh@ar)K˿G+]? H~M9/kec0.[w.^w`m\>DVvsl3\61!Bu!ī)_Il+4LIQ Ccqu;4/ZO'cq2X;[?>Nјi rs^<'_Y8KcQ+m<+/!q_ ܌r9ZӀd0Už.h:.%@N,ym:2STp͈Y\Ż9K,/2G#N;QLխ*9< ;׮j"Ntg+[Ϻ!o/l ^I3&vҗGǩL^trOj 3[@Z%Ho=Nv䋻:&\7t%gU.> y>etdMH[d8(±Թ:7jpEuޣᡴb+^m(g(F)+" /Nb})J{º}6xhx ՉM26InNv|Oily!^n Rk?safBRԻH_OldGrQ$wMi햬1!co ~aT2} x\K6g{U|@\KN2=-L( -LffcE][zs:WAf[vzPړM#qU1FD9Ыg6OoekL#]('h'$Գv8 ފ:Ү̡W&d5NzC`f4a Zrէ} ҈NI.?$kPD Įa@Rj+B O)+TNGZ 5Jm-|C)V Yhz1' k$n CQSQǮȻ(>+`fkdTdw ߎH\fpL) ArzGY|! U07}{^0zȰߩ6Kz@UrY7u➿󔠢K+_'0[YSaYnD{~xoXXjP= O!JV8\#z?|V6ǏpQ q}Ud,Ԝ&aKRrWTPUj[kKA22r3 y,1wOciNJ ž(w~x\vuT- :T'^Mf,3 }EŢ=A C='"m}v!XDU/櫏|/z߿D ڼ[^/< 8Tzl\᎙{P T5k#Ⅎ}^MK9<$EP]fƏ5HfzwSN!9c:(7=,iwFUѭEږ ^gV!I_̍ʵ |4~dcONO@ D}H刯4^ ND,0Se~kD28RJ萌ϝ.̟7L5MS4X }pB`p`/alu^e+ ' gFif4 A^γ RNWg< 9;7XQK->$'!d|@*Жq Nׄ.7$EO>bomxxw(*:5P@}S4ƨE td?.DVTFM~[iZ`i`vGE+ԓnFtP"n6~Z.hۈmj m @Yr]<1DtZ9RAf0䷥l|b|贫]DZ4>~јg&VI7^.uL_]:c2̜εʹ'Пފq qRQu%:HL\eW풻.qedwQfR궔K noW`MNk + W\>ذ%+ͅR'@-uð;9}& \[n8j 16)MwL/FNt, @R1gNu#-ATЫFsxVժR %X{p2|;..qT"D(^v[S]зПr)Tga%lȐ7:ME)x1.h ?h{ˑ@Ș͕op|ttL0%Q@!D$!DIo"^<2%C5^vg&MO$Ro#QM&x~)ƣDȟ$82$V!,i81ՅFu{.Όa}siQI$ww< N;7umGs?h;;{yY#{]?rN~^|?\|Cd@qOqwEh"=Z=*liIџyIhѹ`ۂz%tuƸSR /E\FוXiQnu5<;bkq#dEc0"=7tȡ>`o?9 (Dc$[h/-B11N9%b9ml ;&:"(rN&m9hM>gjET%wqT&yzKH {f,UG _<ݗ&( TO k˄c@Aw; % Yͳ\St tb uTL:_;J˽$S"-H՚#g vɽOoAFҙ!SЛ얲,̡\4@Yf7趀hREX3yQBW"rp1w>s[`?BYmBc@,jzl wG>0 YZlatticeExtra/data/SeatacWeather.rda0000644000176000001440000000354112203175714017061 0ustar ripleyusersklEǗ zS0@a CQ0L!]!bwf;x8i 9 cg+LT0Ia$ka4~㑹 y _,b#)7Ya:Ma! !xrAeLs%f>/|f;) L>49i d~6:ss|ҁ[nO2ś /O#>?« =!zLrA}0>{LSsOg93Q[#]}'< (332AY(95us"<2kM^erh X+G6|2}9J} .Eo`ú}_;nFחw͝|wW*^׺?s1g;F/|;CKsy»ɿC8%t_wN@cƨDB便vf;ۜoݚv`1}>l*k+3j;h؇֟Hы}IEU52ފ{<;[iO|F[uu<?Ѣ:~su~KRԵ?.o++O/|dɾn,]kv[6;_vE3~~uN:LNKᤘslζ |gv+8WD^Vzm.v_`|~L%oG{m2ܠ'A| 3fWӅ|r͖g?ǒLNW/c?KsӜW؏J7X؉Yֵ}&ɾ<^K7|޾sU)㓒r~>.)r<{dyqTc]Ȧ#+j;gp#c?#NE~ކ~A>;-Se/&k~%FxC<}CN0)א+ ig0`=gh^om8u_ӟ{yz)uDncGA0e<;oAǒrf?1vBlEUqy =z+un1:9FnoFXn&i ymSøzWɸq~{_رo7SOe{Q/ߤZ[};HS.!NuVܘ<ˈ_Z?~ĭfKY[%NUQgcK[uU}G|.ob/"vjPM#J}[sK<%hD~%hiIyĕa(i]$ᵡHqZ,RX[RjєƢb&5>K},;Nee+ـ <$#ptRRTjV4PSsۍ`In-GѢ̡5+WN34D p}۶GK>] 5m 4%q.37WRӴ?^zN"eD4^Rxeo&ʞ֥Ec v+C"U(丧' ]J2 '1P&4.R#zgx BNDŽlw%XM4.@GK6 O .ӎŽ@ PwV0{ez X!ߓp: pծ=s,RNQ<:B5M,d1(xyvcJߡV&$ZD`6%ihHW }j~. &KƴRxm7Ӻ}6,a7yprhBc<ܱ~TEjbP}Lk!ISΓkt PcUMJyjtۑnH9~qP k6pvu{3H.rZKBGUC?r >`rkT*g8Y(|^x[8@+F9A c(M= :G#O g,"4f %ns>ܙ  nwR2LA2nJO;CQ 9@i. n*G{&طjGO6[ә^GuFjאa? -*cxnԸ%} *% Ļ;ígܶX9]-ņJh1_һe\xzV6[ yJKBD WGkAPj X nX,p1EW~3X-.8^cV0T׃[\B%*ea~?|ru=~SŒ:Fr݉ghX:h-Zv/y4c(OŤK\Aa|-Vq^+KiQf[x s|j)5Nf;Ps +kt[N7L;Չ5y/"5&ax\ Z"#\^ROE(`$Q^v7aDGFi1۪Ԭ$ADW…r50 $K?"u,Eh [3I0+cˉNWH1h#\fKyDyg}ТDH[}?-/_WZ1CUQ+=>}_ d|坼E!X <2De@ve2 TnHHd>9~D).r*M"0=¢&fzS&9 |:xRg qj>-jqZ,C[n".n.m;S% h qvHpG!]L at".?ڏJ;y~ۤ\| #6`zdf 8F ;3GF +S $!=+#UEs_9$p-~qA^j~gJG<- b3*v |;L-OWT@:Ƴ]&#I dlJOcW" K x3ځݱ VKi|È6MC+Q%jY%7ٳj*u>8/`UҔlb^ʢ0ᱹK=Q>PW֊Z(Qg'+Lt&2Z ?p(]GR5S -kIE,JSU8RxtUW5>D$p2-ۯLx1뭛Bpb2u7]UVPQجi!g{mݲ=jY-UԉZXƮLK#V{օ+?< "'/FJ2籒-5w{Oۭ ip@p9f|ǗHRQDBxb %`RT]V"gN=Y e[g H@ZzFď7zȷӻ&$4F|\##S8rGѭh,@ @Ph;hc!Ra)(z\A(T{$% 8ԛu >i^[ X^H;/LaϯWӅR8#P- bmPֵࣆV1ſ,dBoqǎwW)w W9WzéPE}1y&81]$S֜QTWAn4Ͻ9)5x 4F3G=1|-6FV ~{T0TY,y 5:5TA/ch6qZ:l$;f^]%L;Gځ8=g?Z N~k;&̎:O&9 I n aZAh؆8T`yNr>/3I`痲h {j)T#qyYǷIM O( ٝGT>B%q6\y7m;m[嬫!>ǛMչfpqqpWB%vP1Еe9g8xr[/Kz/0W$WymϦhQRb>wU`/˷T4'ġ&`V :OF!d-鏢3h+,g҇ :%1<'cB}wdl:RmZ%D x- >q,6 o-\/Y nr!S aJ,1vo7_i'S?Rxt4 LG;(!miN6]q࿕!l ,N{Һ#e"-KGyv! +3~mմ(UN8m;S)KthF4O Dz/>29=T|5YN@hhdK)uz_wzXGL1EBMQ/V+mpdV?A~xChFj)vϻJ⼗M^sh{0E8{u̕-dw0/ȋcw{]Q.F[%")u139_= _JD "]51hiDVҎ5}L@z-:e` >6cD֣<1}{h_(S P8 S sL@=WR(G NX%GNwCafHpLO :ʈD-heHZž]vn'ĵSxbU;Յ3c7=fR}.v83%`M-VC7*i6y8= 'lV[;`Mj9u'"*ciィ`4LS;mk$:;kOEUɭŶ1Wc+!E՞#4ѽ3BqtnSعfU79?p&sUi mC#8s&AfU=SCX AO;p>_)tFf~[i6QqY#~y'2=F\|fY5{HXs0}4ܓ6\trz4lؠq6&GMn~zbWq!ESс.]<_/N>PacK[c3E׳\?KđCﶳ߽3||C\p@0\ fH o\OlU.F4Elzmη4Eib0-[M[h5=!N*?3-4l_DZ᰿,一 )$,Y OJG 4P\LgX˱;ƿw_E)٦?&󕕢'6"E>9.}!VZXԪ55VC}Y΂/Cpr15_7&.*mUh l!3@4=TRoOjvZư .ºEESmf @4[*lgTi[=F=QL 5@?>E ǻ vQ+eѕ?SY,^W.!ƻ5顜.<` ҏ>Ty1M)BLS&b/s/ZUx}F;MSp\2盉qL8*HTݮ74E;ΐ`YB<.)E0Hjj$-ϊEáRo #+Inr_v8ij.,x AA*N>~@W j–ރBcoI)` w[EV=K Hsggɗ% 1XjV PX5|'8g#Q/'R2CZbjx VV\o o]bwþRSR[ 0[%ːGU#IҺ<ީCTٙI'M{z )-QUpUW玵> K{b|TʡƩ>1T,^pZt r=!Yk‘o'l,B9 |.xĖ3Rh7Ocls~musrHN~/Q^陓۟ϬLI%E=2{9]7 Gυxl#7T3m,!cA%e(yj?gCre9 (nd(/#!BlӰQdf!n׉ɽu'kPċTor1{P BútuOV*X7#nGgfp2V'{-wx}pTu?8W\̄g  |Xy'`Zf'Z+.^riDڜf]A"- rW G`Ip$LoH_H/jn3ke_cioVEc3KD A")J &:mKo{\.~iS;&\`$)`6b=zEܿ 2($ Tj\€f0p\(B :ׂq÷f3LKUλ  3zT]V:4ApJ,%)ZgםU u1&&EV?<){qǻV}ޥcsjp|c8G/, i]LUv#v_T͐ٳ!3kG~:S*􉺙ig7-OEM%X*1_N C^F65?}: \kl -eʇ} 9<,iapK#ﯘG"Xr AʸqRAig0\pa 9 jBfm֐d@Ph\Gڝt$SAYӜjt}Dt(Alb&+j]_-?H#ֳ8^5g/ }gy5!LTĉކ4Mlӈ,wkӗ'=SnLtT2touͤ'V noؘ}m0yv\Cd#pݸrMx}k6e6~%G5܍[ Tw!ϙIWn=/QiMIB<}*~]Nǣ 9$Ab˴7[ c l* j95LcDWO ICY=c1DFx$u:Y9.Pk§@`ܚ hzL[2y`y%y|/&#iǞO>3tu"v c%gEɾ ThՏ|*@ĉͱ,XCY rۢ{~r=tnu"UNB_rrxynӃI]#lh(ʔ̉o`ۼbHqA ,pUTeVqyZ|ܛ\TԤ,E7bҡPu躆'?<7BFD0a3k{wYV4EEcE4HZt30!M|Qf4u\H0l/qp/)HNEJzC4iu#kE~TrsȚj^<?!ZpsdE"Vv$" {:. Q c?Pfs vg;hãUƆ1^b%)?E( v,f_L?!CQ ;`GfIbRbe9ỷ\Ahxs0G/VWc -6+Mw}Ia v9 2~~[oyiqo'*6weԱ(U9o-ysf=,?0~/x^ŖH-p7ci쪢}'۱zWq(;'cR;i|a"|OSpδ~:rdQk-*HwJ_H !x9 MPCм0Rq.yޞLY;d IJ;(e74:?j확EћFֿMil eCx۽֖{ߺN[mQX:7."0 Ѡ/mVF}ԘM.Jo#[ms9y-P02Mo NS_ԁz)n1IR?f/9S E)7@v Ej#/,n#*yѭ )V ۠x%Wm8 !;MJw2W']4W{V?6aڪcK ެS60gtY֓ēf7д5_h'I"ȕIf,7EG.J=Ժe<IO>|<3,#`'Cє Xy S$P$CW>66sa0Z^kwWLΰ8+<ނ]_N/L:8Yq'^[88_@YI-L5|[yTi?6ʿ*ْ ,eS\;KEO>2 Mx5ftR>o1&[/ 3q٧Љ?@(yPu详[6 ;Ñ0ȿO}zQn݆JL9`koS)ډ&G:\ß꧄yg ^wiF2 H }\2+Gf>ܪg<$a\1}w;ʤM1׬@j!5񑗎b#3d<-mĿiѱ;z sM՗5Xl{UN\Ӓ o&ncʻ8Lpz<_r碄!c؛Zg<"fZY!Z&\[ 30F3Hswwqi.JĚ0,e d#nSZ8 h<w>PE%n؝8tmT_QH7Iv}F(nT]oSDx*$J--Kp|eTA-t`dʦxo,܃UNi&EF7s?C,1VÈ=u>1ABW@K2жzRé%RX¦OBɏx0 @EQ& kWWջz ?0zn/{38 (73ĒZ0`H sLg]Qi`uV˾ج+0I mN_oqW<'0dpHaEv(Xh^dz*a)̔ Sm[eqd@6$̳tA}sm@х guDNk]> e< >jWaܴi2Ck$.2el=:H_tFXYF{Mw_@Δ譴CК }Š;iQr?C5&&u b9Ʃ[.V?Ϟ/yKI[HH@u@¼$NꢿU=ǿEcW{x$>zsC`$%Zc8F)S9VnXiW/#bU̯בD_RS[mbmMmY p|P Ohg+4?B2Y4y& !Vpɟ0:y}[ v|qi3L;n4Ac؉'&h;~\ݮx!ٮSaj@E;@4BMby801__au>aO3c韼}B[ f{:X>_;_Vsޢ>LVh-sSfH˽ߎ'gǚ"rv<+RLNC:Mg8(dZdń+%zP*,m?Z|3MK1PmDB[tKb .$| 7p@r 6 YȒU-hX'wPӁxKh|8A`x'KԝY+{rUgF2ƒY{y@uܣZ X_ҙJ=@1bsDUj/% "VOqޫA7l0N}xؔ0&$ܶ8U thX&WA8[sV&IvO}ͦcNbx:܇ ;J,Ύr?;I6Xf(w>h䞙*IxgioϩIC+:?H_G?0+A> qd_s-_D/J+SrU-?]ѦܴJ+K5̯V b2>.kkeK:!fCOB2Q740-y&'n hrMydM ׾DȐʃ8ЗN{QHQ2ً}@!*QΨsꂕfQQ8>Չmyb]V^lNuvr8#o-ַ]Lׇ=38 Fľcbǰh-)Y- TtY" Ȃ_jW|mAU=2QDVj`D eלcjjZ1drL$R,!Zhks]fլ)7J˦#[HʕcMNØr8pxY}粗_JkjX+=A/pp֋[}T ;ܹc!4{s`zJ梮΄L~i\^\Lqf"E] &u3na[sW5?E.tFwHԫ~KۡJj$7p`/س;nG>+,G[^`Mwc^*L>v,icJ!wxWRTwƁ]vz ȴ ΄0eorxz&ȨU`DD~YO>=U,h=~*786 6Rk-h)Ro1)vw[4*;7ԪAe>ڬm -\Ӄ|eBYN2F(ϓ| 5brJZxmBXklԅBU=d0Mv])6uDfXifKp2xB\N V*3M~:/s8{fi[ƽִvwu`-'w"ŋw7`Mpd[ {oF/.Odzf_)(ݭfW)},YI:t㡳onsoqu%UyR=Z STNतJiOl29@qs}laay~1j8}p"9Q%V7vFB{|HY}\q>BdpQ]6[t܋L|F/%Xoyڢ`:ƣ΂隶\p Nr=-yijVK3wpÁC\BI R2: ꌿ3+ nzޅJ?;,|q OSam*D2ګFwf3ܷY0IB(n^e|ruBr~YSkmq-9UyM,#A^'WԊU1^_Y,W5H3y3/ >-(B{&#dB3_@&^^5xaHY~_VEcPQ4"<Y x'hK_ 7>EQ5uU襅jr#c%u {<=JV ql",s#俪,wD6򚭺*< QhJle-&+bYe{X6v`7qE|P,NuԆ|P_H/-cX(][IBA"9|A*Hd+,CT¾&9#LKӿʐ QМDNG<[49O> ӁE%D|H[+~QVn߽y!S 4mSnAԕ:ۋ8R:woQ͠ #;1׈+9*))[B>M8qc.tzH28jpӒ<;+10(O6P}ǫQĿEjs&W\P՜ fbeܜu>"PD2I]Fwr+((=K@T`C94yk Nu^UN?m@S'io?H[@?/' z=I1}û $9JzX*+tډϜ~o1}.>M ȫ,{.7w3vz 48jtsh nHyt* mͬ|*YTQVQ޿o\&ͭ~iop:  Q2[ E17Oaɽ"9&PopjVxs訵U4oq~kQ0K&٘,xH.dKMZ E$”|j1DUm4!)Q ?~T32I]Gm*ЁU>BH[}({&R]NQVGQΤ\jY#b)ds (T|E1g߆F+XG~y52S4xm"ջ\\siˊ7[ H xsZ?ATL6?X 9wZ_3iD=b36J]w'@`g ?g]`(c"=;Ti,#&MQ~jA#;`n#k'0!h`F(ۃ1%n] xk!@.~TYKLwVi" M[pqS*B]')Fa3OH-ʱ-%Yތ՛b7gu}ՁH`!3;8qPXvuS+HߦOMA X s#bGU!".^v!ip)9q/*䃫p2`~:!lO~JUs+e }͌k^=|9|o//bAxz-8IOa:PuSD5r|$gay^M$!X泀eHB1@u2OQEHTC"]aPc-έsc''L7m hv|4dϋҫzl3sPOmOX"҃9`wJٌc֏-@Tb=v~R!ƗG@Ka9My-F3^c ƅ֧U)2,OmK,#!Ha'j7rsEE,^E,6RTԙ v],7|s݁à\YpK,+h6 7¤Ș%b =j*]e`i̧0Yq{jVJ'pz'$J%šFc1ty&9#@babbzv>B'7~AH,=)KGW  lKw(@!ƽ7w?:;B06C4g%],rR'u`DNhR.>MExѽ{J8aLozs}O/TO|{)U&9Jo9M}{2}\?|`!ѵGx:6. ^_rڵ\cZx3ȧ3mhVEo+dwcn+.jYE/J9_DyRBXLOqX}e=:)ۃa(ଫ )ùް:B)՛ŻM0%n;?J#8^BʷC)@! wc,qH9)`욈;̃Jei @ݖ-Urȱb L"Թ `0apiܢ cظX|ӈ*C9-nd@}r'"(4k=.Autag(r>Mb#RvnzW bږ]|gWU]RܧYhNaQ2ӛU?g{.-G*θ=[Pȑ둦-uY{\G=ӧԕ}Ofr1SѠtX]pV\ŜNgt4ms߃F!w7ƚ:EF1}N^p|oP/ ~`y !ouTu B|5}N*%g̝ؒOJ"#oX $}9м %t1$V\;_ _ݢ/AQΧS,ny̩}&5I198"Xt/ԥ PjZT]?s4`[]v$cକyT#}ׂY=Sjӓ(4H]=R>M &`3(Kk)#un`/ҤSfxܶХgŷ@;/&4,g:IIvRTCxU^R6yLVRvړMk임X:uE8*ΒeFŘȺ3c?쨋rj}!,пuq0hpe[;*l !v"0}Fpyfy\ p+ϱ[p Cmh۰}]a;Nvw*k(Kv22IIc 06ExhTgۦSE?>7t 'hb&sY6^6gQ ;虭NUc7x2Lj ^a*=L5 kzF c&cpTqyr}iP"+>Kzm"zgy d%06Qݱ]Zư8|)Y? Rvpo\)`ko8>Z$e hSU|@%;3T6b, >]fjXPх/-M94U^l . Kp^)f&W]hM5z ~ gVy/PNSAEWj6͇?*۹u&7;D1񴴓]tޘI ?HJRX居` Mi˞gBkK$j:YvIn'7ynFnP:j+g`&E?cx@4'Fo+k^W[aB: W!  5P9)y5葯,hqfPMVls7 ntu:]V&&kcH'2gї{]%*q]5 =\hħ@,7a+ڰ F4dy7OB3.Єqq0-Ij)[3 tBVSqPȣŠ~4BM1E8[ǹ$2̩<1Nii!xAf7ZDK$Qހ0(]t* ݏrbUSꅤ{sݹECsl7TL} P[Ȗ `!{r&%jy,wt)MI>Zh8.4nK7Qn1M a3T̪ncoQ*dyp#&W]RS}1`άӐ453ylοQq@"dBR!tX$ .)D֢_XDRn_2(ܣ suÌ#]?+Bb ʤ1yi@nKՄ(,`>ŕSL„.Ara+ʜɩ#BF8޷A/7զ5 !aqzyA=eJOjlGqŚU, E!܈XDŽ};4DAP0kEȶd?C"ݢNז3)"Za(U{\3 i;*@ :P2&OWCxPnȁg+ydD\`ZS8V_por wdomJ` 5&gqyuC\ChIy#Efnň(6kʞw0~4[.!;-)a{l|*lW BM;l=>0t#R"[7~qL ']whRa)5y1/b>"e(Uӂ>gL`S*=4ڻ>֠6o/vf9ıG-7 P8/4ڰ@ gtA2W V ve`~R2ل 5|Zm B9x(҇&|TUn]=~=!qlWFjW tf>3!X#1[۝ZͯȋϠY -T>9:jҖ#r@+&yih~%.ؐ|[췅ࡃ6MWIQ4>".2c!Tsf H HgeZ9KB6<P^]6eI/J=_[!Լ%e݋_"-pn|d:l\b=f]}( R4_Af& !4CU-?0'޽UٯBqNy.H6ң#G#bYj9/pM`$+/.M˩2hEbVf w/lj+@$4-z%#/ ?ԛ 6T p?퍯$UX6KfRJdğv 9a'H/MQU=ۿG%!ʬAUj|zA~M5'˲xǝY?1_E( FwxNDOa aV^sdo^n'Q}m?`ix_tJ}=p s2:nbe#c.\rE#\,Fxk"kTA R2#K Ci %dnlpR>mM]2 K%*XԸ'4iۏ 튊Z.z+gO0:lޯ섞XBQ808=7H~Gk С1EWu@֧;@\ߗlżq· VVg"B/0Fsj>2)U=<𨶎`ަnN"@Wj˕ɥ"cMm%R%rjT` kۙW~L.b)7%;MMJkpqBםgp0j\zWk ;VN,0q2Ծ{] ^B8:Y[RHKy-nÉ_ckMr9v"'X{$xdq>w_!0sR,f#"EU{Hҹ#&N]Nkz>Gĩ$y ʯ7}ثPFe0)u PUa%1{bjuxjf?"Fao,i\_H ^?8AA-t)(t$!uNBAlM;| %@Ef6_nh%xUȁuix HM$f񯯜n{;jhBw 2]O31-K.7꽾^תg]>H StUv#o!u"xҏA;3)f&&`Q ?QYz Mzɖ }B@-ٳSfFA啜s!o W}CƬ*&v43-, 'O1Or4;1_<~3>"? iɷWz %e,:.nA9򣀟7~y@[C IMjxbx-qo`׋U]eR""Ujۧ-vsY™h K#W$SeZckm^-WH&=CJ{g)k ތ%zMVkoc',/+}t }9 7ݳ 0xp%D|C73w=|7̷u"eˈ{ѽ@U4ZǶ@_翿/ILC`B Rnbl!!)"& #m*p]q[,}`^^aas]/@ w~`qhl Y99$oQ0MϮZfįj b=~j)ˆJa,#W@X5ܕr1fQ%㏴˿ByԅEiu‚bFxLy#]WS`OO:d B3vEA]sSkf/'DaX6ğ;aw擀UO!T(ܖ -Yn-AwI6[Y,1XU}۾aUE¢Ԓ/h,'GA=o#K:o-a:ZpޞKًi1GlNWt~o~SRV K4ͮPSNڱy\j9.Sv 7嫯>! t+=oՋ`Wo(^$w-"1dSeO"-ݨ?qJS/Jwa̅kkF!ܐ4qq2᲎޹ydyb|b=Q$7v7>hی(ƭ#;!mê[$9Tyt|Bm$Ta~jkt̺7r=q9iSwy*mlxAcn4"{nCI\4VMPq/4y+gJ! {"i1džu8&4X:Qd2q !& M.p~=lz>?ˬJ2Tn(\ˬI3c8N5!T\?KBkm;"rN(b,eKŕP\ejht*&=.%T<}{1~XO¡ P0bݮ }]M7-C ,$ά8 3ow>:PC U"OrT]*eb$F¶~_c`Z'l+a4qqP7m}w4+Qggڱ'T#עB2Gل$\w]R=$-J ȓKԣn73ᦰ _D&W߮9%W2v2eն(Ze?Do|ϛ @M?N(ziF0 YZlatticeExtra/data/USAge.df.rda0000644000176000001440000014225012203175714015676 0ustar ripleyusers7zXZi"6!X!l])TW"nRʟ6(;S:Z+t{&$Ft*ﺼl5ӷۯ;V(7ke-^sKe㟑B.T7<EXvt] ɡ"Ns0o>I4B}[lЩ-|YɈNw5W$U> cׄo$؆8{}&T'vG~'sa'wV¥n+eq.`_l`wth`ҟϴCOѤ:!ϹIro _ A6 EAoDŎAp߶nةf I Z38*'4ȢS!ٟehɧd|7 %a̓(:߶ΘˍwG2b\y|F X̹m4\ï&P^(Dm9,wg`#i:37"vC? {.#fQ;I14γP'C.BM EȁD 9G({T=lQ&~1ư'G/Ig]FV5Y>Gv(vfr9.{G{V;64;oqxh|f)ŕM +oE!D5g(+h$n>(@*VJBs"1喻55cZ7҆|^ ӂev4*kY*&&s׭쩇d6'v&u !l aW&/>zUp^L$S&0&,D7>J `7n > x\Lf۔gannK5wp:W5DgNe-YB'4]) Mr! Q@zAakB6j&]O8qa,~kLN {|/M#pUn`[El꥾f,VAeh*%!ӡ=ROs-|Vx\EzW2+J \`%eJd9ԣfDP,}T_iUʣ5^]H<9sMFcJdFxq1N~m\WnYce:5/(GM"#D %d:#G#A_ - s\_u\&97厽P&x [2kdlqz]h=_[\%w50NBW鈴[ZK\'KUwJ-ʠ[KQ@=rER((#gPc.U0EΖ+~|:_qVNf7sq^/[s(~o@ifF61  <j@Dd [ۖ[P&T΄M@ p]Z ZxTV?BPKM+\}/jme8F^u|17o֮q^f#.>V'`g{";aUJ\}k ;)=^Ԃz{Ӵh t*:QLXclf/|t(CE?Uq4ms[#sj(Wa6MRm} ,a<|&с&sb؛nQyhOP2s@(ۓ-U^k!Q9lepNrzIt/`wׂjJiL'~/2hf=TF H)5Ra' &煫9Z&[qN0JfdkٻvmFVdʸĎ 1DFˡ VVd,]?ل/Зx8E\yq=C/)o?xj{&tx3/+<@/CAl@L§㞏<";Ozvx!$F\ٺ \0\~<%ֳ;ѸĜ g/Zz&ݑ\ɱ88pPyHBYJ0rE/AUUSFH`^` I@+ z{0>*?W`cl^Rmr~y4ܡ&=|acJ?=j žt :%6[a?Rߐꐬ×4\Z`܇'J/zʃ}ČSrH{.fHXjbgOJ.FӋ(sd.I{e/]3K'xuꕯ/u3 ~9ĪfFԙ@H"V")0MCX,.`e` D5#OwL$H~ `g_pQ<ivߎDFN- AASIbf Ua9hd u76zG1e;oPWGOH%B4{?7-$BA6bb8,6/7*Wr҅=4 NL*@ãcgt @ƪYH].d*!P } %ɩ^Gցj鸒;gvfӛ)!e3 |+{l/[zE4|x&~r.\)<$DGlCCI(ZϗҜ\f!5#!>:Q-H }|U.oD nV ~o¡cLmDv ZѦn$FdǓ%AN'Nph'F@yV!fB#B”ĵd,h.dgWj'ݬ~ɢoi3]MCMQ,<W $⏗yפ'tB-&i;O ?JnCʡ%Okß`v$ QТsģ;_#l/1BnG'SBv%!<#^C^:Or"2!lxmZJɮ[om-XG.!Q^HIDhbj^wRCxtt  ł1HlT'gyhLQ#?I؀}ylڤowig"3T$M} Vஉna Pnfh4!BCe rFǙ:Қ m $:N $М!>al&Sv`8lš6J37).#cѻɍ.|Zj=,X|?o>:~]O5ZPP:O=/)#RI^=[dŵ_fdlʋ0[`Yqmf|"[i +@1`*8wtKݖۦa:,i7p{Y , ;TWPrhH@`5'DYU/GpxIvSljQsf纗'oCEdwP^bo!mIUk3]|tS !?W^ogfV]sG:XS>e;sMV?AM7O@A5„A"?֮hj$k'eU \EQ$;e릚eT}pH۶)EpIIv-kQq^x 7&&%y립 ?| ?sqgDJg/#"&t*xVq::!%WG1Dwӡ%?:xLzaj-? 2wAed7DO.!;obvf2 G#O̖)vdC@(|w{sccHO\A0`W@%Aɨ6of .aBn,r𘍸h 5g濱Ʒox_өNC*KlS9*Kd O*0 ΧSw#.v쑶>T )˦+qJ9\TYrq#5LiqLI ZfyMUn`E%>diőbJd0!րjS=#(w"|a?srڒ,=Ϟ\^yS_Ҷ(ge;I5CRjp2OtJ_׮tEN[<"3>Uw/3Thu\!J Qg!Goɓ؅Sio(6nf6=twgl6|ĉ `DD& Ia2SXq¤v?|ra{RnVn|3~  o&̱=˺ Fr>؊g(P!1NYARz\e?z>|5 :32zŽB.J^ꡧ3b-g]/Ak]">G{ =F*oN4ͯ>ciPgC$(mH2|؍)@Qj3/ǯw yTeҴwυ2i? fܡPxFr[)QYs%X3ATC/bg6ՙZXpiĦH@='@=8/HcSF)ǟ7E{PHmPeª{Ѝy'Vx41s*FY/+M ;bw#ZDw hP׹V:5 }һ8F02Ϝ^AY ͠](Zǐ^\/-o2$Z_uΨ,'bh1jn_kgeکp85j^ ŷp<}\)embʭB % ݔ5DVpgsuݚS׽Ob+tT>>ª(F0axDO'6W  JzM>@ڸLm|Ug{ :T7{n/-:~6 :2 A;}<%  =Pg>{ڠJ|3M3.7?:iჹտ韄JO/GV k2Jƪ$YwZ=1w D7 P6 *E*' <}X0į3"g%O>O4g3@ߛ@;VEg4N&A,3tx P;ecVx9ψm ^0q+6B^^ME4 ,ݩz\J&V2'㺔 À C2=z%AAL0!~e>ty}SNHJ8by\胪n}<Ʒuș +E[vfV JAOiCIP>nլ՞/~=q–]ަ+,!D 28ЫrxW]n6ּӤ}_ɬV>|[qzdGeMg ee+F?yȝy(ul 7b/W .I*373 4`|)?O'.tyҮ/Ae}p \D_EWHs!i KE ^̎ LЈ)~M g\ґ̔Moe?@ǻ݈pM)JZR]ݷ0)!<8Y9sT7_*=qiPzw{<虨ڎ,ѽmͦ8HS']f5W+8 6maԾeN{e[>5AvkE*mT`q{>댟xlِѩd9u?Ze `1Ӝ% riۈO',j });V(i+˄ {LA2{o&Wj"r5Xrn@$pB}<׭-p2җj[΁Cø6f/SJHF]ӗꋾ$c886?vf+|lX$x}.Z$~ *;дeJ w|}xsd1D҂!˥9ձ Ӂȭ2`nP5j,6G *%DxŸ-H]EQVrTf3Vs}%0 KZ ChWpΖʄb@+&ǟ h;8prh"9 gZ:~ݰ)ÛO@, yy&僥̐ύ jYP#'{Og?TTXqxk7\n}0D+>9ZG̅oCޚ20@@$)zzaTmtv@Fw)L0jT25n3%@z4hYT xm9O"GNIEջFsc?BF[a*Lp񿄅ѫW+lp6 rR Hh۳^=s#YMUAh02]H}DaRy3}Jx#)z;fSyyy_-R1ujgF~O֯zO}D93Iau\L^OɒZu4^ds"@5i jv g z3!p5u)PHzqd:{xSv'Q"-ꓻ ~]&#ujyu5vJ͇m3i- s@TLJ[pf?:z2=HBtu=e?zbiAJr\^^rΫTѴrdT5:>  B<)OG+ jK?*Kc>(ط3v흫QBYr- %KueJ,9`!0s&¯eqvв]l() 'dCC=|6Ws;\~&@ީN i9e8~' ?UN.YՐIW.qkgdTv1?AS$vfz ڦC\I+/r`awbSoPf2p"A]rhC瘅Xw>NM{HxMU1Be9H^3C2v8c[/pAJ̿γI&|j;++ #F0t=(*Up6aQcnwVx=+PX'x$h/ˊ~P 18 l+vԪZ\R*Sv^@slۡQRK k~k^$X@K^|JΨlZq*,,|>}/+JBBD4d!!~o]<鳙Qğz~pJz^k;5l [I k 8߻][hAAzI_M*)Q ζGޙo|Vw*S^UW8w]v@5kVxSlE ECanws 7ȹ1 `8tp Ļ$Of~HmcS!+\VYO$.D?Zhli|҆L:h`493yGmlL6h TSDV9lHt,1XTX"ЪCz !b`DHXw8 "ϝ3SJ}Hkbx-!GT\^愸tY\lNH!NoZ3i{ T c{q:&ԘtfTBp\(e>Ŭ[h=62}Qaf;43Wl6vÝ _: /W5@mqzTIY f~OܩUP>yGx-~?{T}qBb_%NzGd:=Pa*xďxSmVeppMl؈D~7*N&P8 o@Wj+l.㰕v&SWj3o_2V<"x#LAG\NƦF,b^2ͱe2ѷ*SmP'& A"maDGluoU+tEKx< >ZM0sRY =71`[ Uk =ȕtiGqɼrm&H93 4|L=;7V6/}a51 1s*J7ѥ|,Y鋚㮈*F^ɤkB1@(#>"eٓRc*1O48RjU/Y 9DZvX^lh_9;/k-ܐ4 ([Sry쓟A` _&M\ǶHg]Yj.vockXl[YqW+!o4W$Ci2 f7GClu\Te=i|``ޕ;զvc⡟GU;GPQ\bit(+o B,E7,N1eU;\s. 7DQ{aQ;QҒCɀã 0|V(s5J}ޣ)y DӠD9_ yAT]*X.yHY@*=YMԥ RXmT Q[' 8J[TRИ31ܘ`Ni]uN1Ea\7FC|A{+xP[A7wG"Wq9U:LE{EnHk'w\Atϥ򱵥̍G -`ol z^Jn}!+>y3kYQgemǩ5Z*ܰޖc|Q\A:77UH`x. ܓNo[.UlŊW + Tr`ݛ6gUnݠ%4H8e` az9{|V6t]y{UWh$ܯ9QכU;eC)pNݼ#4dӺpeF|*WHw?m$3luVri20M -_Op5PVinFMs%Tp˜)kHl"ǀԴ"Np7lHwfYkOH\:Qb}oB`fFbZW&2œQGOx< }2NZyDt6S[*}>8U15zTMCԗHaV'h4I[YR>\Zq~c濿H])_ÊVin<”o.[9hRQӻeU 8]i{uBfD1e4"F2ј|C#Fr/0@-&QGd&rGtv^vHNhe*2lԉ,Xʉk-=btJ+*NsM0C!W-q vN:`[FW4G q{#'kkS~?cYUu#gl=Ջr6I[bc(&>ϨN O˲w%_6TZ_n0BiwZ'_uvr>]4pEk^#V&%%J}i; Q_l7^N}$f?mʴښ~\ZnBLŋ sPkHlzAU>"%.P};# 0BKbӿu\a8CnX49'+KwƻXģ;WNnisbv)j^wh6vichz&N\) f56 RLdτ>r"[VW2m(Բ{"1"|qa7`3`H܍/ʃvwi U$~)[7aϻ 1f6aT4_gP`:e5#VP4i ,d!T}`04ZEZtq[}k,32UtG4'%}Opn tcH0W(!م "2 )?ik\?yŭ*dFP ?G^[]aظw+xHd!f&!(80O .^&6WײՒ=-vc2SOу}Y t{P>b"5fmkEٱx 5q"Ջv<2_d\qcX9C aدTQ(xϬ6T8WAHzR|8pJ{*,L[-e\ǒ&?7 *b G0sKĠW!̯y%A!?>'+{-<_JH$R%v揝nOLRͬYa*_݁W}6ijÈƽ &̞@bK}߃4_:>f<⸅ۂ41Hą@M=sA{)P4Qj? {8v)ćIDJ P#%˶ԗV)osqQIerbftDUjbݦQR_{2[2#s11lrkXȇCǫapU6aOف/βu^7=>T\#r*_{ ql>]E=ɐw 0< &aaTȺqy\ǡp}j 84 Nb^/dG``CځFe WaBr  y9Rج\L8AsLeQ`Lw,07Ʋz\F_ϳ^r-%8Ϩ·T [o73 Bm|ܬSd9ܡMS3`ƶNRmGwe^]bAROMLt#E-5`[͚pLzmނ~s#y7*(б:E>:p-bKմ5#!'t&q|b@*xMƕ;OU.)+ 6}Υ^_6LO"7/BX r&.O$s]CV(7+w~jyAW]; -T@:޴ϤsC8irF.K'/n4*Zԅ~ޤ]+ԝ;nƽYSsNp_۸o2P 8[qu;$s UeW8 gL=i\V }㍆-YRvj)qԨwrm)=oz`[}ˍhr3׶(df䔧vT0kJ.LA*Q,J>HYaA =RFMb@qF˻9 ,8EJPx=F4)ȇ-{Xz#iyZ"`p¿lغ杛#qzdy{Y"?emDXr2n:t$X`ٓeRa)jP='+hetIP9ܻ-.'h?:ZHRoTM|X'nwYu C-DHy> ـޮSVTMyį=:f}xqjF̫a1/ ]Y\×@4g[-7=-^پ(w){ϱǸ9sP8䌧ڨM&B%?h]։ҿU#ye˲%жNMWx=FgE!J{ဤ+o(]`wgA,Q*t59!_F`oOZ#/KV:"Ĝ)%*u? qBlROeT4%pOzc l^Z9:B` 82 <#*3Eq1$O۴)ޝdH9vgW6~#9v>C}Ȉ\Y$f wo?|]#67ov>3?b{qNW[LA6RbF91%6e r:onEbJ œ!Hi9Q2D%92SNl'wD!A5Zkup h*~Fx\;5+aQ:Z{؅)_*^Z@\rvjL4d a-r7ˠn,j*3[Yf|q%pB[ʣW~Yn]㷻`!N|Z}wae LrQ FaQKu7]`xYx0ޜ OdɉXsa-ij[usصR}ۓl,V1 ]=BX90+*BeQŃ%E/Tu1U[l4B}x,?ƣ8dkK`tB[(Sw5\P-?*Sde1O¯%R烿[t7c/L4J- w(b#%v{s|8\A`QO`v]S kNp}"riy()/'!7DxT>]Bهn7wvBGl>L_э oCJNZOk~2p*%*k#<7JfTZ[ƺ_1K=l_׹hdQbfuwEJ]%:A!m P!)SW+`9_jNJSt?!ذ]*Իglrj@$ĿoIR)Į6"eǍh($WrZ6x,OR5Bw~H+q*Z'Kpt/EEĖz;d8tu**jgc2 lv9%J+ȼLס2(~XRw3(yIGCᒗBPҭo|r H5>꽫xtR:1 RþU1D89 w3RkâMb /?hX;qm]@0&37A)t.X8ښ[L P:wnj(fR{qd~`--8*.7狪XMGR~}2v4*"<%Ȳ^x6C+;C=#P<#TęKR֡<n² WfibCs;-7m7wE9\w\P!>]F+7x!,Qj>UnNG7bCMe3f"˾,Rc%'s(XG&ҫCGln7xL CJ'nK_b"C+N{G{gQn"1cI1b7Tlb#ydmt DjR{`H*(E} M\{Z,< \'ܣt0 M&odI| ktpIQ tbp*,}]*FB;HN_s{˫,oϊOԒIӆ|_Ox>Z)\u-4`A{h: )snn1]vFҥiEQMN{kG/Ywt5uIᷗ1ٴz p8a4h W^C'߃^&HҺ-`Zz'4BQ\,N9){M(I 5ZMx2uW+ ["h"Eٵ*pUNf:U( G0z"\̭%`M^4+rA\@&=*eR1%9ۺk(*WZ J~L0<'։ +t֪9@N'fj^4tMw/»s|]AY-C4BZIR {zjro0JP$﴾ULxgj_|) aM6V0C> >ūp")^?/,A6uh~b4۰;|0-Ɲ~o }_޲m~ \hc 1e]>ԣ:uaBYSvm;*?}gc恔``ON`F!U'U6h`9ܪ'Ylȓ.0[YpTCehٺ$NP>]{h-5r@EFi_$W\ZƒLp#Q1Pz=V% $WQV`٢+N]t}5tTseȔ']]j@PHy5Cgڜv+wɝEgφQVGSckU~KV #ȍ--|;SSx ,Ⱒ6*QZ1R;iY *(Աyfkߖ>zA8ԭ\f/}d@-Q_ ].܍NS)4C^eWxMi;[?x\!Śr3JV4 YG]hȗ-rEBhW3WK{[M<&a6g7X-i8R؅a[1~$v}9=p?GX`nfQeG.~Nwn[*;lJR?ׂT9ķdE$gSwI[N ܉#Dt&Tl̠ xV; w;֎/HWׅWm'2]ʢD$04nHzLI'VENmLw~?!jcIGƑcb#m ,I8!A|҃ X9١g]GVԵo.%,{DEAA z ȭ[ 3H^ fv=:bҒḿLSi>+<,*_(օqв$L::fzN_)1cg5WХQA,^RF>p\6HŽWb}ݝgRHc;"5j{)Ot6) gJsPK5Wgŝ>kpJ׊-`? yA^BS 1 ]{Ig`eā?RKq< <54 "j-E%o(v3CSA!SFB8"t$ƔKVS'r):9*W*Dp"6i~V("h;Jq5 Ds307LֻwmzhH+zqڧӓQxX:_$ aq>L]X{cԙe҉čGwYdʝ/˜:\ ؏ eF~Ŧ-Op"{d~'Ľ )u`qқEob:LjǵLaYS FX2g rҳ d/۫3kbu)((4:6{Bb͆V]42j?4ބ~sAN3WUjw YE[#TNcXU;(CF w2]\nF.9Gg8]|".Yg9꧞ s#'ԋSh 5>dT4N%{}$EлmS.˷ec3fJsJvxu8\\cs$4MWCAų?y逛h0ׂ zPkn2$W2mF>s$L=EV$br }xv) HCT@W||ċЄtadt}V ~$0ʼnIw Ù?xI-`MVPb>zu!jsU7 D 왖}MPju3u~U(y.%' :(*Ҕ՜Q&6wSYԕbė`ޚ 4d^Wv .N ]UlV^y2NS:"L(ix$f,9F͘yҠF@FOt`\T9bRrחe80-*Ru4tcoc[wxʖCr5C_2뚉7УK ;H͹&)zcKzo-;!U8aEEEyf vM|O~ӟwƚxkTHfbc7C{8p#`^nA"iD`F9\k{l¢RǿwNd-ߧ*H[r+.5we5=7At4z[ yѦnE8ڼ(ؖ ~[s<3| _R+KzO%5%f2g%5…i"P6CoDza^IVUH'*4Rz3(6>ML{Y`qMGE!xژ#6%W/Yy?8/2QhĈXawnOMXb3Pq0S&ۀ^&[]16tױ h&3W@:˺8J=aj[b9/ I#~%,vZScO$6ma(Ns 369Sòw<$?9ga"X2ܦ³I^-0 ZhxYПհ̣{zQF_ߌ=gAWMRC*Ys"^e/^MǟQU~ Z\{B/l/*g_%DD˼<ȽMxW[avCzX:X̔:]uqwUɡӽ{Eha rer.~dP䲤j[EyE`oI<)8xF5R9 Vuf0Idv9o1mBifvz6N+] 8;a XY9]#0 _/0J~ǨkD21O꡺*ECfb4pVMJpp[0]C'~n 0iyi͈4P2T3;^D$U}֕\< \de%-`#oc~ʬZ[n0m>=E$__PRoV~^q7$#jWCU%\'v7oN&[홛Qt|(v؋}[rlU(.:fD~t=^ZW@+r@^97j?o:I<pH66Pw~jf=Y6|kCo.`. ($C~0.GkSȌFn4$  ð&Vo*𱔊JNv_ PBb"Tϸݏ5G=岹H- ;!iQؖDwh!WA|0_>.wVA"w,pY e-I:A!i!ZH-1Nt$ VG$A0:MT"{'( HiQNwv fV7>´|+"Y;0Icߗu5:W}e% hZzGpѐnh&wJz9} Xu(1쮴?fu#vY@uEoez̲c2s@<|.27y򮡃 )`32G4'\[vJ*?i4!m"'6 &iۋV WR ,֟־Շ_B;ȔO/^٨CC57:S*b׆aG}0Z؁{M 5 EVER Fp(P-;AjݻI?MRUV&uBT8{ٌ+3= V={ SurӢ5TV1]PON5iY1M ocmoRaU-/Rܣdť#gs9,\r-)}Ga=G_篷WWmSew`RAt|QĹ ̋Ƙ E)M FZ,ؔCW#+lǘO@xfӬF,&M1Ц]ZY;2ȖSdμ>,_똓ٞ=]no\f$P _1Ga%3ͫМTuG:Cb#W^bҰVZKXg.pH?Ϯr`%u(`)y X *`ՍJe쇧@?aXU˼56yMR O5[%8 &Ѷ̈́ rFd Fb_W9LmQx^`oPeKBy!t/qqv e+i,ТVD]9`u6m'^`M|V0"O^pzk:~+_a,:D!NZQ, vF:' FOZx5i ø"{k](4oWiRpf[6P}7рK*wZx#H-IqK%ƾ~/@J@j) vr Ny /{AT&}f.wsbH\C$n٩o sڤӿݠ(/LC>(kG&SRMn;/r`EQW nAy&䁸 {@S#UuwPтm[aNV5"&m<:·< >|0|^hj[mZHL c21nz mKIޥR5 Bppdb@ba3@.:>R'3Arem*+f}B]fTg>EB6|i~ZÅ/AE9k5I~}ZH3\p8Hd5Xa1kJ= +g2?е_+rPe9>9"+%u 3 tgmmXo2/ݝ` t'@Ddk߮,' =OIbϛ$‹DlA ɿ?ܠCA|.vs>Ap}}n.Q(VIrcfOZ{e 54.c9H&gUjC{8R4zkκE :?]n恆`GS/f|A`$v)vGfpt1%ͅ˛<ϥ,Y%}ۿ-Ol;KK!#{#@0bIn۪\C#JaQEJ|=~9*9Ր69V>NI0ӳ5>"QLOu_g6} #-4jPp=Ɇդ?nZE`pތpDo/Ekx҈kF>BGW&2r\2\ݴB{qVO !gY)щnsKp[FۘKr%PJgco=*e\GCB[$@8v0M{@ӢNހ+Eع5 1<\^X5DNZƳxJ+&TVL . ڱ<% $1Fyyۏt < q=&lQ]p8,m8Ư'T%WG|B~Jaz-5gZ9πpcAgsjHu  %W]hIbIt"K<1JnD{$&:2t0$bc&8M9:a!5G!e!UarHjab˙QGmUIO"99Tâ"δ5Cբh=Xˡ \*JQ0 sAv-i='@1?XbG"Zſf] 7 bӪJAiSp=N ':%LR1\b= ;1)N&l"I $Ľ, )/J^M>D-e !GB:ch>O]Mq*}n p/_|k'p1 #7q~AQ;K0)ǣG488܇^+LX٤ 3!7T4 "S Zp,cHm6si Lk^͟_٫ lu4v"%5ZcGIڞm'7ˮs){Ҽji)'qmXmЧeܤ ǰ˶u LV3Ԉn!b ·ڽ;Ɯ1TApqąșc$ '44܋_j5cԹM$$xx4hs2,AӤcS?0DaQ1X6.l#sY 1dS RadΉ6!t(fw)E[ xH{L͘R|PLe-*w ^9h#I*hSǏϫH;^_)PR<ͣmJIAA4P+ } aŶj&n7P8 z vZ F'zpaQ1Kdv(w`[MKp1"#s~t *ʟ[7X}+xB6o`Xh]ۭZ٬pܖlY; .Q,~I-[.[n-bk nq#B6hF诳QGf*ƃI1%`:rt0B >G=*!UC_}[dW4H>­@}{6]S8E}>o^Lk6w|ŊzB<$W5/қ|4vzǞP_07;n_Bb:JsR Ʌwߵ0yK| P{S9^su1/t!ς{Nle < $,7m-slSJFoYmL+jx/pMǼہks´4o_^cCK&8+gˍ`Q2ϼ'9Lp qzSN1m9]ď'{2I: 7ƢJՄ{jʧX 7lgѝ@wS"knh@r3uh[f|Q?X^fpN YfLd,`arh!NX ;%r AۇZNA,Arˠ5O5=':YL {F(<3S]suR^N۴[h}"H%!i~p.$F62حT?zUoXxے}cDp"Nݥ }oXLrF_R_k="niW{E\Տp{] {MCݽ]?T>$tlϏ:P$ׇ2 ;E j ܇ 8K`Oڵ>]jy+ K9a0@0AX TE@d-H񵎧bҰSCJGÌm \dM%8^IӀ39n7+EB 5 LGhFpoLi(C2kh:](:sҟizmz 0@"m0ǢN3iXvlN:3k˟,W= d Q(5ApXL\ 9d hO61v<ƕ,h>o{}_d+ڈ-@ԡOb\ސ Ws{A5ӆkxqOD_ٓt{y5PxvBSEWj|^JMdBza߮E(?Y=d߸ݦqqSQ҇QNF/3j''lH;IĒi+$&] ^\\t7dFT6UgЅ$b9@ϯ9NX!L4!+{xkzuw!)΁vYŸj&2L2O;딳`w#'Xh'3bj^"9qu`_*Z;t;QBXk%ӯ`cѭ q-]7~Rj| qW {;Dg^ߵ~PuqK6g=KiW Je6nb7/c[qD]<ꯁ0K_4G2gÃ<o՘THpU. hX,Ͷ&cPCDz'Oa$<x7`(6WYG6-:{^s:ueȡ{I*^H!P,>5ύ>:귵q7:!aH2j˩X3,=})#)adrhq;"D0Ѱa0)W U>F2_D$9q>>Wjbxz-aB~^.7 7P.0r(Y} ήd^y3V+-lrVp;ބ:FJnDj&9q>#L O'4/h;eE`tO3ƄBZ ݻ|8)"G^y8 ¬vr8.1 LlkU!bp7,Rdk6i2>@ -צ[Vo uoj*ClqLHc!*x[ vR.ݺ _$aPXE4$T|}Gb=*U!;}<Փ1)83ȵo^;Ѿ'0ׁ%Eۚ9x.~Z Ki4*<>V |N5MLwR\ŗm}-2_t 昢Y~o{Pk57m6oNNKzLSwjQEI(_W"%{4"R6o 8HSR"^$yfa!A@[k~/HMO^fx DX=D wY:^f]U0d)uopäٯ; /ej!+bOULiE ~& ." R;[i䫽2wƫVZ{{J"4^ w?s:wvN#(&TIʓZCS#gX:r=k;ysw)Naw̫̟YŁ˼9]8Q.ص]3vɲ>(^vJ(H')dBydn2+8v̅P"e˜$<[d o,㖱]ƃɳ-d({;@e螼.J#+˳lrMM'nÁ#LBF5#gRbqjׅ(WR&q4Ͽ>X춅4oQykOX@W|VhPlF'-H^N5;2d!w{]q5*ОnL=1^N}}]5+)Gosq('}0L]l8%)M}%rse$AV>3&Rl"[hY+b9CR|1Pn:5Ɛv<+G΅Y_odIN:Ǧ6],݉cV$t4 Mt6yx>R{[mTQ* 7!%51V&Wq4UȡЉw-5 %ON.WQ1'Q~_)1ٲ6N:$GG +w6Mۗx(6猎 ޡhmMӧVOH/`r"i|{jNOM9 ĠgWjcS J(yLk׬RĞu˧"4^L58oׇBq^o4k6g_4UOз:*I/]>IbOϞv^D}F6|%5oLqG)0WZ,v{K `/ F,CHL1ě_ {y{wƦ0:No~V:Do&C.-s a >TKTkCAhas߾%|"/7a[ DDs>iZ,SK4' @/(7 lEIH좕l/T!WkmC:)&! Kq@QPӞǷα5C ŗ΍^otg dGR})cHP^fբBY[VPҐȌvVL)YƍfY])yki뎔~#tQ`r%VkdKu:l+MOkSVKԂD<6Kvtfm'JJl+屺˪;{kBez \: ~g H[m Xs 4&g9T,Q䫰oO3џJ$Q JEMB5ߧ͢tĎy$K'+['ϲ0V =FFK`腠QĮ$P_jgzjEN1Q@/q)(=Uc~40j &)8?pz,%Sx?|he2N-j'[Py[%(vLvfB7.Dj۵`,:+^ߨ GKj(/8R]ߒF\(0BgPuofc?S9`^t,YxxFEԵG)2 o>,赯b~)8捆(=HIV3r_A m"Jl ?dQ}qK#MQG5I6Tp?Qs+Am(>.Cֻgq#`R3H))+]f1ؘoE ^B m坼K 3_&EohRf4&: ɫBP\`CAS$f hәBrQ**j#چV[_{tƺ崧zbW 1b ˃Ԩ$ %,{GNVs7vhf[kH}38XM[b5$Q -&X~au HbP+?_Z ld~Aj>{ݾ/JhTS5Y/|j ~_,UW)b/i:\'/}d;k/ (v[mH[ր5K§U#>=܄=oh4Z_ ĸ[/[w٦:#ڤ%1MHD0zxU^né8Ͱ1c.PY{PS\b<w9 n̻s|[$44{YZowgXb_M*E^vf[MhȢ\qG‚UXm>=2uʞ%>e$Te}P;9Aу*7Q;x?G"UiUdD]^6pc{ld>8oq gJ(jõ5"QcF]GEՏ|fS .H[ p&s=וMOFlַup!)9Zm.xfžyN׷Axb6{7_YUEH1g=zE\vFG<[ގ2.SwomgYJMu++w3#SR|0xa(J`4/c%Xh+}J],<ӭ3=㰯rs12bq(/~iԜe07psSu{: :)~+l"p ;Ѧ)45xj8Ww5ӇJpm!Nq&v0~X3Eecʧn:?Q` &qaBb_Bo[xl__n fA{^ ujeLC>a9W+MFK.M` ]b:ȊD,qgO/#WWG*e}DnΖ{E1_#8cu]b-> y|y%JN9P T$ _YPGS'5hr\ lQ.A_B)73&EPFLkpvn#UT,7)RuvKc d>)>jGd` eTp\a.&`ZmZtrwt@*P*mJюxʱ j;3b$Vƀ 0/ O8HRȥ0j\{G lL%A *Mk.E1"y\'x=wSHx%/XtFh-~HTk d:bzCPhְ魪869B7~bFeeSPނ.R\T5Ui+T(Fd) Ro^ lWYZ,cP6 [ZÎXavCoj\| bBǰm֤+ l-5!K! GIC98>(2KV@eijd& V6B\߈ .qN+"֓Ed (y^Ij@#|m'˹D"t=<|dFѷ4 [) j8q6Cc8SIU# A Jo,f@5rG:xzh/1XM:+ov[ $sI+/;'%IetN,X{H1Qa6c^c 9W͌']}McBBElz\AV7|>} <}0FU~ [qdܑؐ]U >Tڹ:m!F޲ȶ"ե7z^mw5֔UKTN8m{98qv z# f@k@o,r ZUؼe_40A'Uו,dkT 4'(TcE:f:@O +K*G ثl|}G 7S:^2m]M2L!U~V^8>P4W|ONpV?FzaT P9!Lk[~&=ȭ0]ƒQנ9*7'śqRx_䢀>I&5~UfFknOοnJ>}ZQaewuDP;kJVl@Hx9kb @}fњL& z,rWLWWI DLaҎl?E?zcpdzAzN{R=in!?;ZM!ŜZ)g:,L0:H+]6=:lV="$_4fN JkXDxJYVubS)7:@o4]{@fxqe'Kz F*T8<=٧9jGLdN-[z3%n7ifDI݄Tkۊe /$KXvrtFGXM@wJĄ.4"`.GB}vBzCY/<7_7[Rj=V,+<A_cF˟Eaء~Q.SucB3ǸCTh%Mlʹ(.̸(>a-0%/P,^ ȏ# ŋ !XG+=gj!ŜZHa:,lQJx qTV`hjx=ۢyh>!8TZ8ZQRk)VvdTĥ{G\4 HE+. k %I͆wf }ԘI{xP %%cO2;.I3Ղ_Xˣ&bݱڕJHWq_p|Wp'@̭pª @Ëa,N|Bα} I:Ӆrfd =(m !|@:N\oy5ۿÍ` *dK~}_]0J$WjJ[*~Y쒝eoލkZFkD|՜ (d*=xn5B(:fPB޵;AiK15B4}~9~7$ܑHVyD>VTMV^~YZu27pOd~c#w$0==o"'P tjG6/Rnl4FgO (_Lf=+)h##&6D={ZN5ي: A!9D> H,;ɵC4N }u#_! 73Ҍ#sUXMZ\qlSiҔPTMiȄe9Fcw-=dɜlg=DW[|% 쁪ڊIuTV] &Čb! e- j"PeDm|Xi[D_Լl֦!\xK,qw"7CL$rt-T6L! Cv6n:w\K ʼnC !*f֝diҿvgG[< +d#ݱcS&]8 2^mR<qmB.#luv仉 /6BGdgt"qΙ>\$^$Z4n<ŞYEWo]#pi PC25yaI' U27UsDTL~b;J-#C bDy3[ccWY^c(Ih; 64<јUpضJN}k?y* r S#iUH;tKN]Ni(_,o߱r3h%(ԏZ;] s bP[71. f)OA)=+͘Xk^ۈ-N+>vI4fyGx6hz -/0+qp sï崕גMǶfXqB$_'9jՆF!Lա7 .6q\Y=@O9sGM2#ٻHqS}H0JsˑW/ݧ8wF(_uWg>NjXXJP@)1Z]CXJXU>u^8k'yGmI;NUf.rBk9E (΂MZ+Pmʩ~htr-IO- ;N^khL_ ;MOc9Yo9Ni18ҤBZLxOL&DžLEQߛƟ7s@x0z#x~}i5}u@^QKFIK;o}$=K/ Ye nkɸd.ٌs[ƪ!үf*јӚ ne%Ē83_&*3SUZO x=и:2q#s /aQs L{c笑m#bV~IiuJ]Fb_A՛ˀ[<]~>}XYنd{mź́UVB1Vl= 8W#emby/^9jʚ %ņűLLB/?Zϓ~AP^|0ugBE*k ?{74!z4a#S=I);e ^뜀Ӥs()M7frqXa+xJݿ3^3c2ҳf.Ez8A5ƌB P˪Q ;LI!)žd)6xtt)Rz 9mݽ@ ϵqc_*:6;5dG X׈%.oBeko"D€tv@ngQ6C-y*: [8j"kbh(n+HNaB8 2kLh- ?%& p@N9 -3E+ܳy(̞DoqtC_WP寵dWNTAE1y ~q܄AHt(^ѹ8v^^bm<*$ݤ{5lSCrMd {ì77Qp yjö!"}щNoEY*u(kLʩK㏥+I{~o]t4jУ3YZ\5?ͳi'UoE~hGC>qC$e6O Ug%]B)}䐰=>s^:s۫YHGg}uճbZBU)WnfUJJA3 .tknE26ނF-^rH7z$sDZ9s Z\Z~Z!V?Ug<)ЍR䒟#e@Ƽ.脁mWl)usǖ!e+{GٱUo{5bd@+a7-2%dz+;T*_C`\OxcapX\R#-!ߦXͶg,2 x@[GRe :dwe=+o37%X OϳoCRN0XgDN.w ,Rm%ߦπ&E%_^R4ntaLPL?( TWaQR6,p@n2k|S3E9ǁ-jVLc_8#ha[I]tnwQ>jrcWа3͵u*7o28vuLHC$voD]4i!8ޔHgȞȁ7|4ȏHo 瀎p-59@;g'ZL랠 j} . `ΨcqV01eMM ۘKd;+\݁h 01lQy7s8}_1%worQYԨMLS$bL=HfFF9z8?ԟ4,[@ ^vA3g%@c8%LݞpՔZ2:6\v]<tB׿T`734BȦҸW6}Әbu}|-}&\Ś[X#%7Y\T#20iऺ-hQ%#(r3OvL1$xnGSNC䂥x=0E&`.^oF Rkp)',_vO]c7=n"zU|ߔ:.oJ˟Yj{ ϟrʤ]j Qx*o{v g,LJ(ؓGJ9{dnRos0]Lh@yߓ jto3,eE+8:[.)'`Cy^وcwIt;[l$,ˠ,hǴpU))&OpW nW P9N&aR {#F36TSTuK'=FHXz7ʉoT p4X/U~M簘Yayh>ۺMxBN"#F(C5{p'5~Q9,4 ɿ7OF cq/heg3$ L2113)vCy8o2;%W0RUeRT 4q\j*$St: nwBd2yDH;>PefA*w\îJ0Z"򈧖xwpR鯷ͳ-~Ӄ"<%4c0)ԩmDY;~zhE߄X*ޒ{hBil΂ `}텊e! !Eqϋ#&n4A&9б[蠔`[,*L:]nbD{dbzQ=:%(Eҧ ` )bNX|?F 3ƈlc@vqsQ"I#MA'iS}nQeð0|];#(MK螕5z !5ƾy[ }:qCW_˺Cbç=bҁZ\#\@^^4oḠ$kVND\{3njS KIsgy_*$G>:+mX1AaWߊKF6=٤NM!_tBq_ QifPrJ,*fû)קB_yȔވ[Z3rC]zB[ v^ӠKKu 䇅cf9DMm OȎ ;  Nb4Ia00w hQHsRb>;1@K+4VteM2P;[la'D~s7Fi9JknZE-Hƞu8O3^``N:9_)!Z}/ilVLf3apI+~ooB|6`UԷ->0 YZlatticeExtra/data/EastAuClimate.txt.gz0000644000176000001440000000162112203175714017507 0ustar ripleyusersMTn0<_anDZy-i4g&Z6rR}gh)&Mjvgvgpƻ;jD322?/澼]·.'}Ƿpڝ, OyP \*a-|kEmVBIncʆho{۝PB-H!Z8U0mjHZZp|įbkzο5ZG\̓܀D>"9]/G]sHR*@FDE҄wi8riϏ3Y ˝wd^FrQ c?帺Pa9ȄK_K$%Lj(o&]@6]^~D+#= ʆy0K_ *cK*j4Rm>p=!:c9F8Ԭ6k b)shq%m8`I&kҍKjBŒH[aqV) Sd/] :u /latticeExtra/data/datalist0000644000176000001440000000014212203175714015373 0ustar ripleyusersEastAuClimate SeatacWeather USAge.df USAge.table USCancerRates ancestry biocAccess gvhd10 postdoc latticeExtra/data/USCancerRates.rda0000644000176000001440000015417112203175715017012 0ustar ripleyusersBZh91AY&SYcomm}}mmmmommmmmm$i%R"TL 3{AN QT@T*A@" PT! FZ7ij2Zւ(@+hDP1RR@foJJ$BBE)A I$UJMiTBTU**TITPTIU!A@JRyJVHQZKBFwsZ6BAnsq|uQ+ wk @=&: h5zJnZoCD4dtt H@$K@U"K` olg1E;A%{oNxڽ)$*|@ }&:tP$] mc PJyORSp=tJv fM)@^1;vebf)A@QTU@|ljB)V16 h*AT"BQkP(MmP+B<4F!a0jf m#i4h@C  (i0&#H6I5=Q(z?Th'2@G =Th!hd2A@F@hIR4O$b4#&0L& LLL$!OMSɢfi d F&d2#AFFf4@@ FDG50dԚzj4# h=F2=@4E뚵ũaՊOO ,ꮅi\OU\QE(ڰÎ\˨l}i-sg%)z|=BQ]fz|PjVy;ܔr{ݕnc7kNyڑye5KءMs}3279ya=rֲ;sӎ]S4z^NHwCu#/kPesbFY>f5;{ЮO&毽('yʎfTyy7~l=<731}EkTwBާŠWʈ㈟KPzk+'P뗚<ۭɍcO}k=wunSɲLJy a8]wu+ۑT*/:zzF%1LҎ(Ngx2R 1 k!WXHvhJ7P">*NIIs^6ɰXO uΒ O 3cE9D@KKf;8VK#gmɳ,8S~u+͚CGgl$-FŬ)L.Hs2]=隶i&2ni-K<7&ӣ.<.E;w6]Jjz"0R8ɶ|znf]c0ɜhe'slZCau+PK-@ۡ:n5pÞ߰龽WLQm.qL˷]'qӈ%Cyl y֯ WӌBu٬3O۲kO^鬯].zpّ6{gl]NصiC㞰ۻ/öc9C[s\{i{Wڢ)PLe.%SGNq=g>W-:Rq~|𼋌fyg#Nz B\Llǜx=iLRMP{Cw5ٷcycbۗkv-rkqˆ]=S>N:~ƖKNU*jM>Kwo-Jʲ׮׵pN |%lK_/ mm-8&2Qda,uX}8ČOCWe/9ʱ(]w[KWϷm vh1*pje[V/- vи]7Rˉy۟_gӷqr%Jn7E[c^ggmx lqOM,볇۬V~ߌ)]n"=?[[xBćK)I:f'iC,Zt@Ҵ:u|3S^uT/MOmwKUQܳiS_#՗P'`a_ 'ixFZ9Gn7?ˈBK*#jaŸ -؀3(h J(הx+h@`%E+DQT&P* 6ldAEj9,(ܗZ.W!UUY+@(T ۣH(O2 "BJ ;Љ<ةH|,<4Q;JI jZ'y(O@wSЅOD*rUUOF/~x(ZzABT{@&x*;بIke_OV@! CUOVk]77Q{ c &YBƈ]:Zu"OG{EVt& ʄkY }/%+[T= m{jsU#)`Սs稿W4fRȋyc ͝lGqX}&J3hЊ" DD:4wa-XHma J*X,/F]J׷Oj2O9ѝd%{ϘEc,؜l㔮> ]:r0Z=DJ{(閰w[ TFm.Ѧ2`mDۡd8ϩͥj߲tj b*=#ݜ2~Ѓ=qD3ss*}?4Gw~x 㫎mmm m%l뮶Xm3*(~UEDj^SkSs,/"OAa5JCmUez2dɑ \hxPwi=֩qb8wʊ8:sN iHKFmTd\lCov2U,^&>14;iWhb5l6641sesu%[Yle * F Oq =e/0O%hst(c.*\(4Bͫ$[HWo>|~1z+'a*ѮsVԕW5 <^ck(Q(1. h{$ٻ-ו-64Cme/{wX4\]W{s=@8pyPЈ9=9&~_9x 6JzlI2rb"3qSS-1 =oߨRC>Me R|r[Zm\}"A\1|104ι\Ŝfc0~8, V{oJ,ױ9%ԡE%w&M eku뇊 pY#Me^ȎN:-R= Yqzp:*f/;Gqtq]t\Q$}cZKְ{A4mq$)Yxstq{FyP鈿J'bX Ϥ&T9Xl6v hz:9W{9V3F=ThŻQVιwkc` 0@YTU Dms fD慭FZlgZTaPjev0t̘K,5YvRV:Em4lՍU]4Z@:)k6 Ta$u:Zju54tغħִUJg*j\,YqU Vئnc! 4LiNfET*Ѧ4YvfEfU$Z:el3T̬32M-3ܓ;f晝l\"kJ V֋ 5.Y͈k[hvknjuӗAUHVEZ2kY 2sZjUՙ cslLŴpɭ9m [5S-k,p3N9iXֵZ8q)iJYٚK12ZSf4vTv(YTUrݥ-k`jm hiPS aj)-T´[I16rZVuJP0K409bֱMZmjg4+6\f̖4jYbMؑ&ֶ6g-`rYkB5fJ]Ui.N;MffFLaVXaV5C2VeJk\dLS*LdՂrbZ+V&238e5"v`jZju1Y3pdZDI4mfhpi[une-Uj WWbm&HFk&6Efkg*Ⱥ .eTUʪjCD2Qe,; 5Y, ڵ--:X5k+N:Z卆,*Ҷl4L)W#%k2jIrFѫ:'bBNhRR05ZvYk`W"hFm%Ѳn"۳4JeٸÖSp,eZN&Ӷl5 ѹ[8L*a-1s2\tΎ[:Zj;+Rc4jM*˚kWJ.d Y3ZmӅM1aim&4i tVvlqvkasV4-l٦a`U-RDӪ&:n+**dm ,ZlGJ](-qA9\L4KK6YUk9l-alզV5tj-kfMt$566M9eU3 )\T6Z֖,",un4juB\Vq-jvFXsJhkƫ4r @щg,KPcsE uKpt1-k*ki5gZ%͆ӭlfhڂKq64[NZM"kb-tՈ'39]Ζa5c,U8X:ek,.eeI+K8rn% l5ԶhZZ֊55CS3B䘓6(6:$("ZIТ*Fu W%-DAR iNes,fRZkLQ]*j4e1]iXedu4iZ٢aik-[q6G!YuJe·VUm\&#]n0HZөXekuڬG9EZJa7-vZ6g2Qѳ2rs.Ԯ٦YRv5V͓&VȌ'JW6 EkcQR"XUllZ8XiȺ[5if5+I"tmc6QZ46ZCT&.X:V4uR9M&QjXYYfVYVZsJu)&ㅨ2sZmr% hTW3UZH*hLk-fVlI̙eѳfiv8efݴF!3n!du1rh;h5Ҷ&ffuv Vc&v-t JY2ʵ2ۙ6GY Nd i5k͂[;In[IlŴdLm0f-k$e-$2FDcLAV4Z.[iNkjڴ5aK]d騴f,J,Č3͓dt,aL͆kfŢFӔMMvZ%Ye,ͅɣ$X,5] tڵ9k6KWkjRf27\JTҵI`9,*Qƕfv&LZ:k4뎮kuQ!%)H$ٮ -.U[X MEfuN)-dIu+E'j!5VGɫJ:qMl,MVT*X9\b5`YM-j%aL:uftWU2Mbiց4VYr.JKY&WY@ikE4εi-SY %GjmɵF:*SZtƵY/vx$ rHBލ$S4gfeC)\a3:ˋ9#ΪYҳ R$KamٺYlGbجtlfSV"f8$f)mFG,jYb:ڛf+8&u-L$m]~/oV$FT7J^CqF|JGLd7vTPkڿS;3=~̼Y#9滝]G%w>}N>魳Vӹ4/F!!.xdD 0wܯ߻{w.?f|e6[$1FYs6Hϥ4Ggz ˼:svsOiN*"(gӱg"R9btB@#ٿ92P3쳵T<|*q;BT`R&>܈|΂9]1HYK0xX̤7'^w-rٿ$!m[ STJ=>@B |}y}q^:E{JO5X]p#lƯpS%7#y>%bm9Bg?AF3@L՞tp =崋W_W.jIZڷ:Hj.d} bG'А3":n6[k91q?]19q i]-ZShRHЃ="-n? xwtH[vcPn۵ڠ_{5Wgz #ܹ|T˸.#O6d, p;T+_#g9EgZ m(a`%wC`)$?b.E#}gY6)B~*PJϛy1f 8LbNyYJtYcצ:?%N F,H 擯!w+Q&kΣ(ңԮs:V{uZygH''>tCt~Uw#V>WS{y^kREk8e%5j*;3Ul[]|%ly4/u%[>kqJ K\Lm|3SwF^ϣ֫0sQaU+GZkPC ^gmy}vfN=OW)FQD{gQ9C2O;+B63Uɗ:ߖ$3@v=Z'cdhxL6^Y#13{sm3>@"A;(h»s1~xs9Oq*zFu BڤJ#>g;\^˩:3z ]jn!܈^LΤ=A~nb46f/Lrg%rxҴ^4{*rtV=u|&zHmRѢ4",9t}O35;0NeGkBΰP *i\KhRbZ7aC"6(ƥ׼fAcly.)u)EZdԜ0x͂#ȪT&/ND7aIB[Y/32d7me+#ԔMlezfE1jQsrJ^O] TsΝ*UgcYf +Q?_AEG9EsI:VtV:m:4F:qO):CVg'qLc4fT ƮF8O1oUy殢uЌ<~;y><TE 4&`hgR)iUk޵i{4AD&`d坧%wvR@U\hyIPh1jq-ԭ-A?X (e}3_^4TT85y><tՊG"{A}-YcJ2j &*Z1l0yE~]g+ޕ -&baR2"LL>)bYSLEVR{|9_"} "-,ֺ݅uYLBe5,6X&G:D.ݰ; Yo!"D㡂z#30y!dlD|V;"o7vW=Kɘ&.G9e,a)NM#-WnkBymƙ= [c4"@x˚a—Q@/6υ;[-&tM*Ҳzid,>]EI%חzI`qY*#Аur=.<){\Qh14#3=|ۉ2JQQBZZ)4& $NbrRtѭ p%-L}`,9 NaJz2.0fS6A|kkolv͟-A߉]y@912$n/%g⴩S!jc'p쫪miԛ4ъdt<.Z1 PQ @9 4X$8iɒ"E1G*N  8g.5,lpQDƳzAPĂ6A5(Q;,(IˈL4Tk40, e-@p HP$mU,AL>5&au,Cb+Qs(&.Bx;+<Q I1!,AaC(" IQ=1xp 21KVpq@QeD;DE `(nN\hR(`)3(m)jLXl8Q+D3FHei!TTt$Q BPP 1/a2`HHCdI)fXs!KQR˒X\C-XS']s MI& u: 5W `B #DpXCD,e֠n&8"Dg -Vdpa!"(4ۆo9HK@E,DIן/?bӚd.tfu5Y U;!0˘J\wA=̍_}}DrN˙R0뿮s? PrPo,il:˸s/c#BZPGC)A''/Uͮu4GPsNy^uzu sy Aje#z̊l=iKovЧ=C4xoW{xz5&j۔ELdZ^9ӱwdwDEkT<|ZT*ơ*v^vw;f}rVy9quj#W/q;REh{Q"нʵ$pN!IVxTw{ܚng=)hZN JDkxV񁤭fiڐv*DR6ԄpeZBUXE 3AZIfSzh֭јH“o5ɒOJkVY0[{9es9{}2-XVIYBgY+$/V<ݫQ.ϙZ-ux4N|׋9Ũλhyk]y95Nb!.z;}ysDYA)yR \D؛t,Z/dZm2HXp4D<΃cdEY*RjVYZkɱJ)9qLLֵ19]$q;H5-j=ڔ1K: @VA*JA8Dj:hPJVQ{6K+>E; V#5]dR7l6V-[>KhHfQ fR`R[&cPoI>7b9F*`g;5{FFrZ>gC,d*>HwXfm}k=~ukOvzg[7f;^^^gĝʶφž|xO D tcLNjwZ/\J: Rx X쩶t^7eW>\T()⻢-ugsm+pns/jK7;y]oe5_yb%5SOqK^:k&JǶ:vF.gUߝ'ʜ;Y[Yu\o1)hX9ǧlxGW™B{4,r=g\m{i/Ӏm*&׀ӎ{s9;nm$[~kvpbueUqIλ_2n:6lS }#ۤ{;s\Uٕ"GF4V>~>rFNZMPGzSI@t7TsO7XŐb (&eXR{ >$uٌQ"QӤVS"!VeiRC~?igm5B0=]31嵍\s _< \|R4Po7b~1*plhM@q'S#n@ڵ[t}me$Zz,ϓ7*-K^|䧵fn&OY|m|ի}|y>V_3_kI;}my6K>{_}Q{sqNme+[}fYeǜw{#5vMzׯ[s۲<"׷}ޜ;o4bXymnPgաs{j}-x'Esymo}c]ze޹sTի/vo$ee_kȉnċ{V}Ա{8vYn m-Z-ZiotogޅZ{=isן ;m윜ߍvpKzwwU%_-_\}ץC"-{^yg^^e5ץw n[Z6,;MsZo^k}Oi-wzo=D6(ؼw3Veݶ ={ϽwdF˾k{{"W{g^9nZ}. _9;j<`3Y4}=:eUKZ֔}k/նﯽ9{XwjzJyVAyzYnzן_4i2t1Jj^^rj\LmlwZw[{FWVju+Frœi;78ՉޫKSkw^mYai9!aDC}.޷xwfc^tνÛC{ؼ4mjwsg> m=^l^kT<嚛̊(姛ku}V߇ص˚ݣ*kķyo8$"k |}7+%KPoy\ iZ3Z<]eܖm4ȓβ{U~6[brv]˶Yk^Rոtj7WF\ګvs2vE9nk^5=˺45uttlfMm{ڲϗ9#Z{?|󼗽N<ѐ͑gg66kg٤Tݤ2:;Mnvy޽8̨q#UO){ɟ{=w Ͻq-jwmM/jFo\3]L%V+(k{l8z+4RfuYtYbf֎;.$+S|o{H[,r\MSh\a3{ފֵ#\P=WQ{m=Fٞ^޴͢+eY6r)]\[-tMotyX]Ͷco(O&8Ytr˗W,ګDvw^ݼMV{y[5[6YX-[w}oiMV/^=Vhr6޶زtNe{ޭv^v޽]ilw]sjӶgs{*unѵeY4Zwxz+uurw{Wg^_/3+MmrU7zúyK[-kVeوá]tmμ㜯J^罫F {uw{n"/3msY.ZFk]p.W-ZYYm᯽_}Y>6,ΎɵMmx%x*ΓqAGc`9==gޯ(^_8½x"MgNֶYm6}|N |{y^Փ"Hm+,虧NטKu =m_[;hK lGe[,[EpWLdYAak Ó&h0KTΑpIeXjˢzi2孻\ZFqnC3{Z(U٘O^Q :ax35.η=fmFsCSŶFj˩mkL]WV7Vܙzl;AyxtWqzt[Ӎ:%(mn{^m"⼰(ͻ9)lQ_ ;/;̉vc˒yCEYteqZlÍvY[99kn/nJȻ);e3;VֻTBmyaᵰsۋ@C[;cN/)Ck=;zv^^[I[ ]f{,a3aV\dn2ͭe-ͳ[-k&[Uy֥9eMk=M-CjӞ5v\{zw[%<gWV٥ch9vFa Lmvu+ 24{zNYVr*I]˹vֳ#4δmvrDk#zWYok/t7{ϮxG-ޞ:+Yٜiͩ5ŵ3B6m Wǝs-3mv^xQFن*M/IF-kMifˊ;8%%ӆaܶu֖"گ{ޛb5m+>{{eZVuv7 *YmSg^v4$e7׳ZdY[sݝgZVڋL[}Gk 'ZY ]jbӆ[&μؘUv6p~E䏙a m9+6y9Sl[w{`k8d]Q`\u6aݔun*4ћ,ΖY8`V[j6ݑRۊlpi3lvX^eGXn/:6druFqk0g6,kKez˰쑛,6w5^MYs~Vݝ'ekjqCL]Q[]jլf)ueuwqYחlD*:+'ou71;VV>wCzk9›枭mN:'څ[WmYt։:bgk]J5Q/uz27f%&:-+D$3-y6GEbkJ6§GϾmn~\}Nvm;y檮[NjZ$^ge:UU({?ߏ> ®PUB%!P dqQ(Mye~絎/~U~m|WJGB Mo]C؈ MCX}V',@完3>qwUHLAU>)w-Y*($cY7X)꘨Їc{ cpP9ʍ Pε?*'߿v"ʒ0rAPKYb01?ЙGN .cY __Mǎ8- "3}cF`L؁X'cUDQYDЊ}M(#E$ #C{oOl)Z! S%KڈNbvǛNWc_HL{fm%܄oŻ. Ok= ;3Mq9U`7x?Z=3\~W4m&eLXΥR;Zᕁ^ezV sYmh-gu8dK5^XÏ߹Oi;՗Ȃ Tթ%Ca+sOL5_7}d;7d&ca/3xj5ʄ!0@b}Pب`Ycϻ/=>R|?U\AV1Xv6 SlYM&XM;7x9Ã&po;4ib4~iamg.: Nw?O (юHZz&;Yz||P=6,+B~ݵֵ5r_~ny[cϧR[1*~ɭ֩ ^ԟeZWo$wpnlj:2 ~^&oR~u6d#qJ624?[Rg4|X|0_ b߫=h l&QDL.-h^EQbXHFyѱ"KvbZY?ј-,~%!l8bb(~a{樓5?1nɾt{wK~,j NՏwѕI]_# Sv4b3p#_c? 87?V3lXHof[ھ#f"Y/3*?J?"5E8Oz\ B(|2gY_|,1IUL ڒu?wV~v_ Q_2|ZqZH;]Ĉ*" LK)Er 5 _*Pk?EaʤpM ļ`8Q0gLj0*UcV5Nq ?e"1BR&+(BnC)j#g7T_ 7zʇ' e~muw+*;lvklg@z3{zyU3}c}!/`WYwO-m2J>_I̪&MC=Fh۴xqL `DᚼU@ Uejo+萻גc_k+?+WݚG&DЩ&m1_i W*Хz}Y?'o>G݋~_IܾOPGh!0mcO/7~J5dlUoڛ3?Wbj`5Txlgc8ok@lnrkQ}CT `"ڬ@,4 k҉4*>us,lgDzY$k$Jl "UʴNHŅY/gP; Iڐ 6`BRd =GꓹLzt$HM=QO%-g$J~`1$ȣDw:T׻4b ?wZo<#9UK˃Ftx"K zdw^ڇx?~$> heXR#>)DLdx ܉JFTLFPB*T^+f 5rJ(L),Yޱ .մ ȱ,f*ⲔG3RfDfR}eټ_6{B DW'!g:UFgd\v+* ɐlO.ۦz{[ؗA 2ml~ꨴz':txFװWyccpg+mSoɄ1DesD"D,2ü9!n>ygN_)}G[ F[n$`c6hH1qm`\M°zq_*SçE͞1#' \:0z|{2Izdzvߊ]ݿ~>9rorp]ܿPz~ >_d_0 h|(`JJH"1*UgLkCǚ9_yk5oَtݹ2d757y2&ޛ̃A*HN^`cm򂡃~KChmc'~߉}y|э*B%LD^//G10 La|_3v뾡OQUAɛsW*2KW FGSM͎ph6>'E2$%~"(**:*rH ";b?0[!| WMi|r@0QuEyW•^]󲡎BOɓCϏgfwwxu8 c YC hP}iH㎡ ݧPay1 87nݰ׸< s!ô@ǸA>8 !ݬfFL4Hl=XĐ4 k(0R0~lw&^Bj<*$6yw|θm 0Mdh}7)^*[LFεDoF O}.;~f[;)fxEvS9Lk e J3cyhmQ*6^3^jG  $+E5ahM /BWPqR8r9q!srqq%9$@$r:8)#EG)_&HOwW;lC-/4Dݽ 46OC~<8pAZxryRnԁ]C BAPcǧb$Mn:EeQ)@a˔t"604]kq]v?'IvGq{|ħ P%,ݤiùEjÐ ^y{jtxΝ.M; 8mkXDGsrS\Ww%ِF|֦j_hlrHKE>wcٵu'g1ӆڍ-h _^=lއ6l*%d`|H|8==C £O>e3a67'@A}#$) n7D@oݮ>7}O]h&+`eDj2٣pCCD8-Q(6a fpϣ`%`Y*pA (U~xB6d<TD8`4K\mb!Ny!`A 2X \B9󓔺 k #p0E{MmӅ9\/X nIq2`6-ctJXBm,Be|uB l`Ʈ:86?TU -G舩TF#*c }>핱T[k;Z?,D&S:͗r=~w! h` 44$Nd~H=p4Up5kZՕ-_ [ 's]vOUUf͎ոA5 AE5& 8a=#OhICr@m7J޶6)v!mw۱%\۱x26q2Xw͟Ƹa@ͅy *PBPX!blmjil½[ dZNI,њo3`_yU{pTi4 I"401zB SdN66޲Sk4_uC[;֠A \9R)"DőiQZmG$n9!H>!Xh́rŨb&~`TR(ХaR ɡ0w3 87.%C%y\#$/BѴ{mȺhI,64NqhBxݞy_U;"S( ΘU6J0!&- +u&eـA [!J]!pHV 0O9F(pYFC*"`Z#%7#m6ؓhl؛fa{!YFN…qf+Kp`X-4L&aju6_s.̆H]/W141fD:xxX1777 OɶPB IZiFk N~gGSKhӲ,X26E4@fІ5,`Fa5hMZְ QlFfmUQ-#47в3(%cql470HHa$a|n%fͦ65^ϋ IbخCqq/~~y2B V+ոщimbi|gltGyBfd]wЮ,4ki=^:yy-zֺr Zg~7m=-u]{_'=s`Ϊ(VxJ^iy+HGeEm(4+pGQPPꥭo Ṕxͭ Wpų$C^$p=&gYUlYEuсGOw~g.ιuHl\(.Wun]_o /^߻JJ >rL 1,˗dz@oq= MV@okWs:6UgJy ӧwv 0jo=#= hl45 @d\gio:^ζq9ߨ6E-#ip7曘Zm?R\ 1.љHbA͂<N .׮,)$euʗjD#=3LV}SnI$m00ӎ[h$@&t&>4e e]}g b}=T]M ;N5ݑ 0mv hr<0ݗH[G v}gY3LL20 ]?_`FAz=m4r&~U 8$brjikYT5S{=zawċV /gO3fzԳLο=d9kgCoս &8Ͼ9͢w"8c yo- 7n>_6__.wbI#v۫n $ǏC˗.L^4ᷪҥvcϤ>9jxӧjs2ə_ɭ=-YI t7v:a}g}+9iƄx; . P߽-uF9rȴApˣ(>T+sw/ι$qIȾSיߞEpji7$4(ּN=Z+Uxjzw*5qq_PJYB]? ݑ!T6FrDMHRk~7~9{H;q\qș1#f. _=5ɨd%vF:KݿlF6wKߌTކKEvvr<8v&P٘"zrF$0BW1%בK*-(W[hFs8brFR*hm6m(o& xNː 4 }+dz՞wr+A2OP$,Iq$W[U˸XPeYf:z$~gr#U: |.C>&6 +y'"RgQz0.D 'cllm^Ŏ/t>c6cg,ZKޕ]yzz66p9l9s`ܪKVSalv%r9z%Q-Fo=hV_o50L446w/vgvlʒB\4%33V6fV0ns)rwhbw7 uz%fֻ̩ ^!'RǨ~uWrgS+ltNGZJgc)Fm(Ԗ) (cLc#w҈j#,<:j[\s*n*}޺YjrhPלR;IaVniJ?#\,7ĮmGqCcIG 7ɴ.3`ծYK|]H0zO4Yϔc7ߧQ0Es(ΝsIw[Sہ؈&5zF\ɝfr8Kq6!SeKZ|3wݒy2#-9$>0 5ہN:l:p^ǟ eӵ>K)HS[kÎuH%K^ۺ^c#nOmOOxKWF e3s۪e>;y!i}}SȇK)[=:^-O-ӅSObBI:r7χUG˚ڛ\cM-6*C^cȲf8eY7rݑ:.Ҿ{ٺM]tˁ.k£hy_H-ܟ~Eo-'˞]7aAӔלo!itߧ=|w' jE=ZXkp vhxg~8ҩ]n{I4Ng@Y>"v#-{iR]yk{i {vttMvƖ9ߢw\l\}V,uG|h]geDJ]dhK,]__Oo"|o*9!|?i D&c|&jh(7/YI/WJO.h;rlPq7r)5gĘݏr .?Ʌ} 2!6;Sl0t?axn7VafY!8Zm=7T['8f!4S5AIdHBM0! a`Q5E4m2Bl5{2eV/EbK$mB$4]Hͣ?r/qiѤ6ez坸8ZŜxtݦ1$(B.`I57͛Ħ!|YY 6V$zJŎv,Ihmgm*^"4H(|eI2e<o̾YLGC²ʪA3hlQiUB)p2Ϭ<14ex,r]m#U$ ” n/i `, LΛb@ylM0"²A#Al$rlctp8$vHQ#j 6uRHBV;;md!a(0jeb!\W`R3zAud@l2;ơD :,p,,TG{wpgҵƉ2"͙Uffw7?Aw^GIE '"CDD Q$Gp%B 9-uSG/2ǙmLR e RSQs,]~cHを"#(88#Crs)#丈)ˊ"*.Ksp#1$[c)1=tp$E6@$pBत 4mc &vn_ߩLJhMvnx jp1g%Lg6cokoY\+i Hc&a3$B~ Q&P8X:FZCm]+MPBNI43EF=>v6 QDr?45E6l(R&!E%9PK[yd$s('4ZLK`giN'xxA2=MYfHiI-|mET^7R^~Z7 YiQֵڧNxhE Ux jݻCˆʓVT9iãjHfݥasllm`|?7ܑr[)K^E$rϸa 69Jls 61iJ1`88A}g E"SQI)SS.PPJax$TγZx_< HGuD(3$Pv*?/LjD}+i#"a*S2/\HbgfA-eB zM'^G&a'du HI!3.$cDqS|*6;PF8jS0,IPVwU @*G*u׸R߮ӎ`H% D䲔@ WbBY$8D#nͽ<{o ec/:!hK$IEF8-1f M71ɀm4ЩrHApiX !pŰwj< $$94Za$*-ci$X2D _.bx8F~|E;T'GեAD#??*\&̋D4Gm(ɻ:2 &"jL`K06C9Be(] Y؆KOd -#)uG džġ\3:Ľ{K c檴 *3,nTA k3xm ahT$,A|fn2g $/Z!iw%:%6X -y*-" g%H V&­*ߗ,uWߋo/^z].˸.6"Vhvi6KңlUd$ABg vJE7u>~~Z۸f3K}ܷ&-uMGf-m& ;KMrdc=~xB0SbݸlAI@@]L"[0 $FΖ i=KXF'ul}š)Bݝ͓l7dWAu 3)FXA[$~v =!n 6RSHc-cl`"3=TI~-U|yݨ}Q<=5iG{euBky}1EV:*EA<}}dUdMfOnɴuz24GYN!s"G#;HR4DIR&;2cQ6wPXt ႐(pPuK-m>[S c]wiku {y>LOٌc/ 2 #аM|bIvv32HϪ*v`Ym, 6F$u s`z Rt߭f{x*0;_ S/;,׭igoo{HK[&FKڌ=Igǭ}|wc-hTcG\.ibjMb)Hӡ4a(hoDD18Ȫ1KP,¦^lS} h{7 AUCv HKM4!/Ywpa|z{x xF1/ౄr87#,`U]jmo>ӏ4P/_z(HZ=\m ŋ۩ vQN2Azt^F1OK:=mڽ'$BG9 Nq SrK;2}&BW@Kc,3ҰgmVpKt .0`ZwU.%1}V4C)wz$@ۮTrRq!ԛ?siGQa@q \&$[wJ' |v*.&hdb Hڐ[[e`mHnvxx@Mey)]Z3*7ylVw#vE]EŬ̧i- 2sv2X`ď#σ(x/iW&f^&&!ƛm9X8QqPg/#ʰpB,A!7{d!_a=T՚#(91Q,2-2döUkbY?d_~'bΏ7VEQa@r`S,# 17kE(UJNadA4{B, #:q)) T*8K2W$KlD$+K$ܠedS  8̻Ih•mXcSQƛO2fL 1h537zܹG>~N#g.!%%D b,U8*QUV1z$ O?0|rrwm`~F pRKI3OVYtXHvzdO]iO:NU_wh_at5ĆF~TQO_  |"?6$并ҫ:/b̬`%r"Rm>_>`=o=AbV( MUy0e4( 9W2 Mzc5@Ip$hqz (U~yXDK'M`r)h(UT(e1ݣꢃr AZlբ 3q1 5hYTrҥC +HCBHAd >g2lGɿ=~s: R84 ZKHQڄAiAdt4+ L2 $I"!b/la0P =Bh3FIX 粪P@}%}kn_nII˜i! ̌sk>Op(mBBI叿>oށM՝zx܀=3 [3q7`.óg1oʮ͋gt;>[UOs7sllsr B'P: GC'! 㓜c} ML\6EKņX)RvͶQyo{@3M4c |Ѯ:BC8͝u^ 6R荐<׈Db˷>>H;M't#wTlN I#Hr_&;ѿѦM}FoQ/ߧ&Ӫxֲ &bn[8SMuz3.0mW-F ?W }+JdpN.ܜc&D jf@v?7h>(3Z#LDHp( wR^ȓ aD ebEAQΥxm١d AY,,PO?w C_3"@X v-n8 j;w m冯jBlU\^[*%? Qqdƒ Y`7o3- X*Z .~l ,XF% h\^&gjI[nIl5ln0JY h@z@V0yh`z DV \L%FFZ4 vw1B4 2 b(.l8FfH^>ǯ&JѿnUZ yM$e%v6E1-jJiE,jwUzV0՚.ˢ?'w]/tu}gWm]eѝd]]y~O7ʳߋSA/%K2 m$#wPI~~BІHI}33*.RcA/pgai6Xg.Ym7܀lk w^j!>r\9ri 󨤒  csxq^4 !>_I יHKX~A6#1o !/}oWx]) $rs䊑JIJJu-u& 5ѿ+kh׃ZmqÆݺ/|g;Vq6$ěm|_Si{X qe fuPm Na7cȇf\ .s.eȖƧFB;y献;N(R6 r/xN3^HqcֺءvY . J A H۔gRʥK%DN7q\WwR]U!cp^/- X<2oR2RhO ʲ5YY ĨLr55Rvߙݴԝ/>E"0vGmLC"Deaka[h/~ MdmGQqqA $;:,#:i98":"NsʲL8#;# :!  g)Fƾvu9+'c?4dmXU?$#z~O$0_S4UV'ha}\vXLBUԸvk)LI c6dn :Y ^3@O!޸#1ȃ<\ ~&NF֬r!@ud`L Em飳\{j6+a$NZWyRSh!BZPeȚ 32ǩE{ + 7HzZ UADCfc\M4hvhU$j7k\*sl3|$L-ä_- UIqCh0/+y8ؠ>tq*=qY]p%4Y@- RPuB }9g 4TJ']J 6S 5;xI}gq|ҥ ڍXc4sȨiv8# +X㦺XA8bQ ]mWձ:fŞzw-׻ }[6ؐˆ .gn~3. 1,NM щgᅨJ2=Cp$ tiEsaHZa UUJxMWF=%*6rp;ʎ6b6Hpg:#>ڬr\ӱVdl͒ $9v8boD`}dr( 48Q=XaEZ{gJl ;%f76e1xS7۞3,ﯽE|/g0bڣm*uPm*t2$9T, wX.^Pc-TL۴BIB!  @U VEd@RD!C<TTFA$A$IY$T$UJGZ @@㫎;::΢.9+QWNquG'q:P42MFC"f?dTRpW?F1Z  T]U ;4nQט88[zs_Pgio?aEe1_̲V$,=@> e D4P=ڈAU'9!b ``z18|wg׽QK~)YX $rl8E+@؋S?YDa2G\|Bb{ousHOK;qר6|z {Bʉgݟ/3q.0ane826BB?U?z/bR:*Icjr*/ۥITZ NUL'fT8)L@PX%aBe}M"cmS 'vxz;Y+ HK-M{݇wQU묺Ofmk[;s=?,ڷɺypQuPڌ@lbi+ ^\j0C/tẕ tQ`XEu pgjvMnY^ }eקT> 2ɘE7,EP&LCCxm:24tб]]Ր4ùboR36~XjH*)"t11ghs$cLv0cOuQT!D+jQCr^~Ϊ C YlBXw_'XӴ EjgD٪%IP $;rqcHaS,n ^֫ k1oVUN@>Wݠ@9KYD7RVʲ06H^1^[eLMȯkrq &.tvfQaUTikUAp:"ꝰTpΡ2hEBN0qě,BJM+h$lG/. D<qLօ"!9E FYGgn3:Ew{𢣂Kdd DZki #wCxr?Vd G>IQB `݄Bü}\M$`Y"\4ĒȚ2 Ѹf.c)pr2G3Nq+{*,?:C)U&G#h|5[F4$O;4Iw,fR'KApqIg7r4 JaAfO$e:&ͿWoITuY#q|~=7lm .\Fw*;of̓{;/j~b_aJ얦>ۖU/m0RYd[Yϱ;HCtEm A~Zu8c3 `Ֆh ӯHۻGAlgWy[y}=VQXk{[ LC $)0irDmTH~Ws>}YߓhQYvJ6%e])(_1bgÿ{W~t#Aܼg3DAF%jɢ_g5ʻcDl3Om7l}!}/%C]$WM(&4_n`<9~$ ~zyLf(k[mf"p.pdCHϝyޓv$SELEIUY)+MէkUlL5Ma xpϚS #$L:zs~[C1</$_s<=PncJ@9,DF7WpPc|ȗo#w7|=b b~lyD@˿xx]aOW|eNh Yc`#3~Ge/n̄\}u!0TtMJB4~1.wjԽ'vRχvbq‹Di@C@'u^wӿof^mգ=~k$^=RɉPL9CN%ҍ`gr&$qYMBB.ՠ>O&DXMSSU)v{Uy{:?YSΟG+o=ۋ;I>^G^'Ghy_MOLi\Dg5Byq.ȡr$UrG NwP73(Lj*A!!mx 8Cgot< (9r9v.&̾?Tǁa1LqP)2I=j"Dc%Q2x,|,vyPQGaxYw]v7ĝ!:uH 茩zoN~֭vCg1Fj޵{N{JOΫ0j~l2镢%ӨD&a4IzstNw[jWϜU3ztRjPu!*VDIQTC_}n_]ΝԬV27b:ҷenhI]. [{K:[. yY]YK+>ZscFkȍȭEeψqZy'Uzj7`YwgnVj\߽K+]lyvfQ`gp֝\:-Y *eK^V2{ hZQ`ה4:NCrchJH ,. NճVZsih}u"TsosK|&_A֮:-B@صR$,=tV`9;pϋCg@k2 _dɥ2HpBpW--b9 =0H:6tU*xާ eJbBpT!&"ycg1J5-hbUX8fhhe1 cTMj Y 6šh{3Yj{6N" ֌DLJ3+a m47ͳh/%99.<_&'4.-]pRǦ۾䛫\0VԷѴݮv+zrlnUXv#sQѦqld\Ui6^,|65<]c30[85^_VbN|-.Qɸe|M:1ȗ]wiLϤ gmк۔auһ 5ɋ;A6=U.tfXޱ}ϛs|pG|W\ &ś"/u2 ?8p>䰯i_|ֺYŎ0ZȲFt8~*SS#F* d'1SI̼G]=`@̈Tڕ=WqԒeE9h]ۊ3TA 3U/!3fs7RCߚJp7 MVjjzP%)+QB>E,߱ 0ʊ22sd 1g] н < }rh3?C,5Bu6x!vٍf35;0ɲ ?tesvL4v.:%f~Ț?@FM}chד %ep$iAFF<ǚ'-DfvD!2@QM6/դ!'8RdJi_H?DYFL}~ w+]GhF pŃLWеO>|s024k<$yA< ou>S2S2@SNƔ_\qG TBX>V?g"FDCcSJIRhBYeB|1YyG&UX>RIO+OCz9ȢB1=ߏq5b9nUX'%OA ɟ|j/5OsJ~n,gVJoUOJsbyԂjzZ!A: oP@j[̸j"O8KH~Ѿ>ƃ_8ȌxY>d>MVI 9)Q=?}K?"ϱ@Хt5 W38G#5db^sz bX -Sҋ=߆z6|"y}>ZlM4MG!˗f0tU" RPu4_҂|ң9J$"6ŊYAd|u +*L0f2a'nЗ-ab]]}顡qYfWy.5謳ط ϭGd'dЛB1ų aJVrz[$H)(C+5M`dE(J^JD=^g2ݑ{W՟͗=]Dң*Qi1yq?UBU͈$@?"FLkxk#0Z|Z&Љ)P,58e Ri-QY.[_ dS(26u?U񄇱}~p^`C1,Ld+*nF$ Z޲0|h <`h&')#&fgn3or%GrHe՟^[}q4S(~ᐞNUU^zTlC."$NS4ҭ{TfC;RuнA^R^hL]BHtP]Eki˗=Kg٩sj#_5UhL Áff\RhP.ˁ:gZj**V`hJw^w3|uݬ֣ΧWuhOGdw"`-OH6uJwf ߏ4LC>D- ]ĥhؤ,H'J6o+Ilex..y}kw0:ZW9þj\5דuVgζiFfyz.̺VR ftym dSc\A(9=y4UpuHdVEiΖDb"ԺSNjif㮛גJgz԰(J؊MkKy3 XҗU;FbnQHVvgb*R#QNqªHݷpPD5cY1BμȱO|r.yy:&: ^sƺ~p9Ĵ9{={9 v'U\g5˃~t9)Eo=ĭh.JBdF:Ejs"LoQ9BC= u]-<;?ʼGLYQJ*4כזwgF9]$;z;ﶼ:q"3Fx&k;սO]C9GQ=.w0b|UF+ϡ5Nϥקz ndw&ukFؐXت'!R9!l`T*) "QԜBűYlf,|pLI1['|e"r,l-zEeZk54<̥x;'O]˻Sfzn~i9lMxat=&:kz3Ӝ˴cxv}9m\,>: ן. ]wc댲)n}.SNz[ .7lk|r۽mC~cM鳤:mxE5qdžk?k\R1&1nCNwN6s1֥oȾ_K~9CɌXg5iIlQR/g[cv7; K)(oVQJ22SF7{cU8F.V3Tg3YIs涺;vID#"C뎣".N㮎:;:"ຎ*;㨹;;㎢H;*."ꋎ㻢.*.⊒㣢㤣:㪜ꋊ(8⎺.*:ꈫ 今"꣺;⻸*.+;:;:J;"(...:;4& S q>SLHdI'C30q)ݯu#^L6OóB@d r~u6 e7Gl|gd?g3  OO_/j9>o|N}fqdSng4+DAFU.pLj;Lբ^M\MR'EET6OOYg'T췵}K3gOv6̯\sSE1Wf|(O8DQ(rYyEJJ@L1Ӄ2b_FWzЇxyoYOjkE}kg{<u>&,~0gۣ"pM$DckC1pCF^ϴVp)#Ln&s:fjm> 1ɧ q&};Нjx;u];i"Csup,p?'fzR׃w\1E`)5Vs|M&$!KSך VjI! &0B]o#|/Uܔvn%`;w*=">@Ugl |o?րyt )W13P~Hջ4hB14N.w<3pD@w 8jV23?gQ/{e6e+eY3O3GeF>qY,| IL@mڶCda9o'pU%@\GqxiA/7yAWTP<|cyf)3mA `)P-.PݩyOmaRY8ƛ]X*,Y39YnO1:Yiݴ@Ϥh4[+tnLwZ33M=落=ҿssd;g0&*n$\h'=GD;=1yVs+bBr0 oI5^϶*^eM ri ɖkja}x-}T_CH]%C 2}`de@{b.>TH`H{U}g>ߙy:O6k\?A>֫?%Nj>r,iVQ!-jN}B]+3DZ~bk뀄9&m ƲS+ww))cdp@DڈŁ:+47Qhm/13GIDy-yMyE[fy9i# HXz`l-4,S JdLBkU~G;qS.9XJ < 7Ub|fӶo\kǹ)bL]~(Y;!vo0lK9|?:(v|%E/ jo@of$6P 3y{q9q6ΘkLe, M@OXkKWdX;bbp+^2PDЋWȊj`k47w:rg yCtny;kSR,+uxe(ozC'79Wui0Kč& Ån.R% g0jH UB1ft*H(,ۭQWy)|:%g>hB8[\(8c﬏QC&ZEC*¼kcn TlDdF}U~>(!ԢJ&b'4YL[iÑu|1[ֿDK {vuo7֩;N'{NFF+*<#S$XEKԻl;*e5k0`M+Oo- 8tH# 8W-4E*UD^}-mm1[Rvt??)S0w+Xbn ^2\iŰJa7:tJQ]$;71*3m~4GO%e%9&hfv$ 5d:Ѝ_ڈׇֆrZh6s%Z^/t_VKEV!`A iժoI0Ƿ rWo+TdtKtw7㘺8$%wu%'W!n [pi!괶c{!(~*^L:HY)^[QQ9|wpYQuu+&Ls/eR[`cs9E{Os ؤpKWOP̮ k^uQخUvkehIMwi駏Y޽2L>e٨퇏N#u,˺cʉlO,VVl5H.j+R_}PQ"{@e#JXZrvKV?}u> b/o #((Y)_TI0={@=DzW7;-N[DDc)mu 5bA *Rp!:`N6&/ źm5 6dM?J 4xm:^)`oj]+fdo<(Qο Y TF.Ly?1a4K/:&Ys? =d#r ?|Ek e|Sp8_v8eM\KJ*:sqsx*MeH=6]! ENmX5rsUw"^Ӥ1 `jKJ>*~)sBΡ~r^R.]I֣F1" ͨxO4*-,T Řiq+Wp3衝;AL .n5J,W7:w9vֻ'q<f~RDΦz}LyDgɩJhS;, 5Ϯgmb w/A| {5xXePEd:,$-\O̡7ѡ"$ow;wM q7 w _,5%trZf#/&ap# :2Xb\d8Y{f|F$*-uZw.>DӦ5o5גY $$+\hҘZ7c@Llvy knLl>XdgU068Ias`ms" %xOm {eЈ腂SW*wۭէMLbfpҷsy6+k{5Na$kDQ y8,WS@iOo\~w.t\}&>2hp0 D8PxO({2VCNӆKejlʒ&`6dl6Ľ& j7$r (/FfeUJiѴCdfu}?,hKeަ 'D RW.0{ϚCr@vgOARDo3e{U``ip8\AntЦp|ĒMiDo.zd~ZCҶ ICM1=X v|4o GTlc*J{:5l)d}&gڇ4fT@L $#\uߓ,3 vsL5qN 2xp@85jwR̮xi3F/*L\5Q1}֖AIYȊdhu)A8?Eb'/ Y ϳ!Eb#I& (ƉfkE븓&į_ qB{OꕎՇSU1%6,ArfdZ?կ1CܻTQ,Nk~u1䎞V$HիwjJٗ +b1J>Ҿ2h^Hs}{6DJ6E8I:\z{eg.ӥA3ubꙤaY33t*ƪm]n[6҈vkZf턐!4t^ ƾ-J-_54s IkB0z a0ԁΦ^i~HⰐl%ٽe :5S Y!c6|e"938@]WF.N"kFsnv%3:5SwW|fPG]0 &G+;&RR"#)qFy>]/zJJH]!? !&? UwFb1 7S.:h\i: -oi/xaus6^~>ncHY[%_>cRwLO dqMGVdJ֦n BAF}Fۮ-A{+=$.`e 3UkKv#*2Lؒeb7*&14Oap<>B<نu=5$bvnsK(N3s~xj)z Z[n;n]^bxkcɛ'ľA λs7g}l!_3{ !ߝvI3.1흮£6cNI:J9gPa1  \IO{.!$ِgZ4eAq(|'nWQzR ;sakƝ}M\~'Md;Tuܾ)4 &ZjpB;*xŠ$ez2,IUDXܷJK-2ywT$r6eqb`ڔATK4I|1w /Q)jy-[xٗ+IQȞ&_7U<7}XUE!̉f1Ӕ}W)"v3U6خ w٣k {.T "cP)Sb%(%86WU㾨a+bIkF)"̢~G+l&ub:S!D+u[?^V<]_p;x~Btpx̨oj+lr1_ҋf!,C gNS+i%{*s2s!j  iXmqѿc1jK"iqZ__D[ xR\-33XvYC{yh +-!K,t,GW,qTUV-SQY54Nk' y9zi/d._9p;R,-7f\[iS7^~"8`N.@X/QJ*!\ʍj$,Q#2 /rtzTΖ^w zk^cŮiU `Py7Bz0AoK*5 PLbL^-ALlOOW3GKQQuƥO\W:FF{_r&qf:n tڱ~_V ]<L7f*oKP1vr>>*arZ& 9P ֍jCդFhy% yS© 2EtG:%xfGЇz KbJVq%f\hA'zƏ;u'{% jv)jW-sy`8lGH$$6vv J? Xf~B5.~ρr*TȜW#li(cJ,4Ę9kkDOMC_@E\H{DaGy9u SOP?n6KO;%WBTf I-TLBSvZgUlܵvGymLS#,'뢭SM$8nRÁ M|h`XS!+bu*YmlVUcG@u3ȾsrinI1')9͑Xc_x鵡5B--OΤ MNd'o/,P=x+{,5y<t!`,up&{>zפ:GI[4XnLf{.2k c~ۇ5*-bʗU-{,\ -2DE}m□]ve(v"g!G++Bwvp={6Jb~17a7 y# ͞5 ީѭm꼖*qUL\lDqpU[v M,,1(Lx cȐMh;mV$$qFi4Ƣai(/H-=IQ7԰Zc*(d'Fxs>'r+4V v?+~ZaT.&Y;;mpPѕ؞]4.)Y ߓP[-I!#.!$&dta LǰnI!\A_YoxёMeG`XXl0X"o]6lD*r",v/dZ-|s.]hxFfnyϹu,; ,r=[ ilZ x\ՒDLj_UmJ]:Tޢbd^H[ a;E9r^lDkJD|NyښtPfs[6vEj'2=.XG0bG!uWP}@.$׊$r88زx6A}61͍3-y\>ѡ(]YSԇ?pk>LV)O>{H=Q Ň6[T ]zf>sy'N$|*_0Bb@5k4~ R=&i&$FT/"l7SYl_jT p9@D9Ej \wVo>凜; U\q9iJDxR׍2ieW2ba%xtn.j4Do DlR׶ jeoBBD.&8)y9u. 7螧o 򦣜y9gm5lg=L m⣜8CӔ= -6f|^ˋY( X:\ j2TQ^{jj*\UZgB>*#ؘH~]x/yByv-gC .+2dfKjʥʹF>J .rD[h}5PS>a ,jRF,dcAofoGy~[A,ZFO^>Uka^Q&乃d;5r4q챼=~ު b>oJ+v^Rˁf͊q6D\mBЋGPj Sk=mcn0"Sm _jNq"f m ?gw,%{K١[ߝ {cd'NBj˒+D6zQuTsmZ;iob87Kfpo;!Xf7󼮖"!@%J+if[de yQΠ~LOJhۊm?SEU W1Mk@u fQoIgBD+^u[$T{mY- 3&q/:ޱ7b%ps"D'Mj)yyc kJ^Mjt+++QǬvž卬a?Oe3x})ꈏbac``SrAʯƾsP:OLz4Ne);K;+47_$u_{֪NY[-2JU)EH̰|6e &ĩGE>r@Չ[_o،C>*.q> Y*#~B,D!Ťw i}`!Bʧ&.q>%Az(Gwn92G tm1c尚hCp Il̍ гr~ZedB`]E(d ;{EwcG-Cc'F X6NjϼAeJ*Ԍ &9Ri>~Ubsk"J #s M=|ST["%P H0]U?O;mxU KgBJ~Tbh ?RD0Cj*T)B %u) tF𢎼 Pz D@HJ:"́9DKү- ,a;iKIբG#sTv1܌*5bn*;be$\"&|$p4Of!FW78?i|/N[zY7kyc6cB;kЌ1Pa~?.a` fe 3ޓ  ]49+$3 P1CR{FOL6X]a[U[HMj\u՛L ] =YCuC'^b s)Gμ+sG1bQgtPﴊcޝK\8o*6)vuT8b#Q¬+!b}j9QP7.Uthj>b990cq&W/  "]0eV}J66E[:ǝI८_W $U*>O>hB>%A1fn-z!{8\. __7p<=9] Y]dgdFX,n,R^P¥q$Z0{g,fW*$"E0lzM&+֎=sYM,L=L֘%(M8hn*R*u韇d!Lν֤uM#ovowLr~[z-}(9:` 1mS}1R$iKF:7ږDۆh%g("_ ^5'Bc$.;k6@h.I@'API@&liZJmS";ǜD`'fe GX^t"8LYf,ZϮP)ǽp>K#7'TI̜ֈ^\ j}(F"zx({,Gl`VV\$v-;JjUzR߶rbUk -8rYlR1ܒ(khṁ#6 '4&Q=7tdpKЃY+B}7* !ǟ\=Qlo4& Z,NϟX 3nٲB}̈?ZD<+n>jV*S:i6 vPy^E'B.<ڶV6 >>9f"("$(mw,O&eG`B'!ګ h0c7h > <juUL߯N{✞SFнg`#| _o ќ2΢ >gLQTXn zK8:|]FiH~}3ѮV+[T3e-2p=y}0XQ#ȼj+rʞ]TGE21E(B ­?]Rj%-j.[Tr~d˃Zt| GiJP9NzNxLp_!Fvmc ?O\0}-3T~ktF1. H~xgj==;dgx@~MἶS֮7:kcےqӱdK'-[0lzhYS `(+4e#d^mUllhp~(ւ[.X,8Pr}MMt%=Eoʩ<˰6*+?^Nw%dlD_-)2~pk=7xkǟ$rDzꃟTD#_aB򽤿^ф_Ѧ1AQ B?U|cgዤcPϳו8a)G6ŏ,:N-( o}0d*B-8ԁH-r4o@eM̠kgx1Q{4R72Bu*$h%os#sLE/-+АگH]gfvSaz|OMO5dQLkVdtXkB'f*f()xk7nѾ>L%uEOuYR ڢ@Wޒȫ?s5BH vY*&'vKAlhTNqڶ/rTz돱b=SG[x;3M܊eа5h"|YB?F80&zVwg+rHkpjJEN& m+ . nc ,m"cwsc ֿF̭#Ňd,E%E`A{6]kԛ ZtMhΟj:_B.QJ%z{F;6'(Ռkp#EzQģmw#XEМ?V+rfqLiׄ }y13v NȧofQ*C:c6qZ%a$o@<ЄgDtp#7)[)ݸҐԁRǨUJ@"|'o4i1~Iܓ,@WMѱQEB%Z:U')(I-Dte}SA no:ⴍ'BD9jftP Z Y3CCG]u;͸P<="Ͱy<-Jx;zz{iKB!1%x3"ï궡Ek)nC^*ڹК 26{.o7'س8u9Ul ʨpn% Ew av`ȹ68𣴠@+j*Xe;6{HN5kJ^hÿgaDV4@kUbWX@JF{$836WӺH4̾d@4ԏ]aُS(#슇-(: @\E"~F.`jZY5HV6gb.X֤43p!?IRFGQq[0_? \9~z\@;"-^u}y|l6ퟛ9m/`efW)1j:AU|)h2Z'a5-H>hJ]md\~}ٹ|@6AXG&P Jn76swj0Eh0θmG(Hmz˺=HƵmEYˢ-2CtoM%ahr;P+7gO1yiCpLR/xGY,m3 M 4yBK~ҍAZvċ}P7E&YIϊ="W`vIua`Գ" "d#imf0 C0=2vpI0NFbiŊgpyLp(S;UhH{i":%g*mIN]LnOX5%άD`^yg04W9ԏ't|[L&3~Yda c Պa+ ~<,ְ7ƣ7nԔR4Л%`Ǘy/zNSMܚy-ߒVq^/uyjeɑڃo>8TY5~_Sit?=א5[:P2cQHU芮~wFkj#4(byyi̢2w-T{7 VPzru;v*d #ruF:0:54@!01^RPS{C S$bHFW*vG0r'3M=,M|C<3S=vDib$<ל!Rdse&j9Y,E'DwԴ*y ^(NOK/ȌR"R9\`Q3rz!=: YNj3&7EÃiF!g-bdCǀ8*O|><Gtd *}2㵧hjO2f`3KϟSm;뽻Kz;c$VZ;v<Ճh"ORTG0ڊ3 _7ˀ'dP?` tXSh &Epr@'<-$VyCAyaO8pJt]p!*I z[uoqEO_^DAbYhwܑ20(#C4V"14lP?V'>Am8 2Xz-GxO=ZZ -׊\t~K2gd+0yUB \W ![ա}G7G=0yt<+h9}9O3\"zu{tjyl\4o>XVǽUL i V+H8A-/4͏gHϭ.[/3OFoWѽq;ړLV>PY- R2*2}I:.cPcE:;fxߑsXLu3!+!}er'H+*oOj4k%vFƛ,kn;h>bT;Aws>ԃkRetƹi Y;.huΪקZ'*vQZ $MCONw{>QoF~|8kܲ0WH)JxPiL]/LnvzPML U)jF.C^2qwHx rKǪr50u2aHۢLs)HsI72gxʐ DBL2/S~FFw\^ňYɽ$3_Yg69^Fp ۺK-}U:" ɸY@{جĀL!6\]"rՁ%Pf" ȞsS qg1[{Éʵn @(VŭU胯%,)ۺO1|E*A&Y Ym% 6E5K{9 9+`BhDpg{|_u3d,CTK题MqZi6 `"0-#l*bm[PComJ|bs/Ɵ{+{O(j"0R:3VuX57~殮W;5K`(if9]S;_5M>W[ zf"]@ My1[GC "Ca&H6"Fd U4M1N?!k$Xg tT 8}wuzUƒZ&1g5nih\ak}ֱ،7eɰ%#ȥLsVaYwMq~pUUABE+Kżƫ9WABHN%L{>7Ҫv1 490&QTdV=$8W# (at>da~_r( sLfILJih:*)ji7X}#e3G Yciկ&Or*i *;u%jaxNxWUBOV)F?]&-Q:>;Ɩw" YV E1aj/Q=qH,xdn"G{+* YÞ}W˹ǵw,!OmYz=}r22hAmT@=_ƹ ϯ6hMCʭMm͆kHc6wE-\XA<$gC}p(_hNb`Qi`.*6 S (Qý(/dDux\Q~8U8A͙9T=Ho={\]vk!z1d ]`ch6Q?"b]'a$T\ѯy]5 #^XRѺe쏾sj?u^4op(@woMFaK@d␗?kZ,?jMߨ_ TBG&<ț|kܱ!}!$+*A BϒUMmaŽɀ_د]焤'e^ H/e  hw B+uF`8Gvh'TCEֽݾ=(<Oy3xk+ufgXOA]+J:TaIFsg53ké*=D,T$cn=)OV$; Eي>I%CшQ \_+ut9ˎ{c*#ٍД#UDʀuf[X8?>*7PK#MMP+ L U}/^|OBؙXgwEϺyN1kJ[j4c=*ownP}I֨tTM9QY.h'dΟ 719N=`LwҾ1 (ߺr>yǷb]iG]jDwmk݌i2BmeF%*ʼn%J$ubvKRZWCE-뎉s11U},!8 /#_Eـ07)x|Omo師$Cf R7փL۲7 ˣ -E.d5U30fⴰ# =U.CXw\{-]r)uS8f,+"PVG΀Ԩeu52y)*[mnMP*+T) O N@g=o&rBq#NWS&݇sak CWs{'^36Q;Ġ4 c7_xbIR<A u JW 84?g",OG)g8HkmV@۵0&O }|60k;n=o NM8s0z *5Jy(2բydؓ*J )A#gISD<\eM\6_AfKS{_,=DSӗQdyC d$PR}U\@/h|&~W$BO/Uݕ Ti]4/ WmĴ ac, :;d6Muv%"ȨU(V[E͕ўwUpr|ʘ dhFeF<7 rLVT=:f S+A?_F(V]cE#ɪw~u*8Φ!$]0=v>vwq=999 (dXEU"Wm0je AϳZNq&{ te;V|@>Q*\#t):,UOBarEkV3iɎ?65:kjt9=]H}Wkp7QꂗgtΨd,&C.W7A$'4uUW Ʊ.Qݑ{V_ 9#7L |]=462 7nNծq@XXVCST7S(9c=#X5ӊrE$N+Ls4P1P\ ^(yPЪ?Xu"ŲNӶFPv'|[]l~O!oǡlgAv7zdp[#Q=tUb4xEWi)j;@-|(\:GQ9xלT4բO[3q] 6p Li,^8d9=wP_hi#|d4hy!;d[i'S6l8YGK [0ac;kz;ٍ,OA,=҉M$|Wv 3JI"*(NxxZ!\6B2l7֝L41*p5WqhZ >Ee1.xYnFz d06î{}Me[%d~7> dK=d@. siҰYشG*W2S&;:ح,iۿCHS̸>BCs^.\{8,gYm?&oIFw]J P |/tNr`ɪ3&~ɷ3UyЧ =#eQ'_ &Vi:0\傠yœMݔJi- ݑ#`*8Cb&p 9ƨOwcd٣8'C&6)uFh!I4T4cKnIu%Bb zk\ Y*žF$3KȠj| ܥaRyBFϗaġwR Y.OZѪov|];c_߲nuXDvx"j;rnZNg0#ۑ!Y {FhjYY2[ ,2ajӌ('Kb~f ȄQ)Ó]A \aca΃/桋K8~!Imo2k>1—Z`XВ?d~K*Gw\Jѝ>oonv5[%tlM0lUyUsfD#7/bx` n!n+Ed-M6eЙ͘vB E9- @Ѱ ,KNѦ'X'y?LMUHO„V MRC#Y+z0$A:O>YMK]lyGU(Ly!=ࡅ?y7eJ"F(M.>޴CjⅿcHQdwPg׻c$oSޔׄ&fp3T8X,dݑWȯDtωa<{J@#i snUٙdZ}şH!P Pjh1GQ|'8m&U"HD ;Q4lN 8V.h]f)hd#_Xsn{ɿ%uZDGwjq: #4 Iɔ#[CnYs?qxWȝO~;`K/bR&ƩTBI6 ^)})|JJ -v ij o|:},z|~)c\Ձ/Í)TjFC@r)9oBw'Y x9id%`wG'g<(}t#Ь1wNk6Sw+텻C%ϋB_{: Ĭ.N:4kRr;y/yn`sexv`j;!H%06m5GyxpzC.dgȾ:SYev`A9ݬ\)g.PP @b ChV W p*N{u9r/+U7kd}Iͫ $Y4PDAR)!-"O/`e$;.̄3}8&2a0n;Ij$f@C#)Fɶ]ń{YB>'\ÓՌ bt/mJܗk]>Xs^:sJ$G22+HieW-T#"~"\1CvIE]+Hi@+7O\Ii곔O p)I]ҿɧ5F+hߧIeֱ]!-o5gxiD>.-NoN!/!'$,׸Zٌ(> ⽗H)ƭ>FFDFEipclZB:ɥs:dW:usg=2IK'}ccn*z?2Vq8,ܺb7,q Bl&1ᇔ9pF0gSFGsx@7bvadKe<1!Esc(gjzx[9d}Nx `-12p\}J X+NS-7 whڸG!gz,E#:*֏i@ +p|F|J>"xxzA3Q9;kbϙDOWL*-ELjAV ^?.q348uKc&K“ӑ#pu'htY[Kqx> 6vP9yrxn͝Xc٤&H9q=FNT[9#,TD>UP4l'YY3ݐf6W3ZfӒ>KR2AUB ~!8"/;疼&PF:}5Vqu ׌cPz$L%k8UM1Z9.,4=_1я$_78a<GFf-< !^_ʙqpu≈iP l1ø08mm# e6NoaS fyڦ&g嫅62_XNz s^졣.uK1Ɣuen@l80=ĀhVSDX wM`Ԥ*-FSod v.zd;oP˂`ʌ=Eg(Q‣x횒Ǡވl mHLզkܬ׷(Z'5B\|yBh"kkn h@c:셾9cE_i/W!a̋kA{2P=R>tdɔs<ӆk/UjW>PWBۛgyC#hWy8D?뜭-# {9Mƒ{#D:{i *-3 &`>Wky6k'AKL]k'Ά^5:S79>g(\;AF;*A _=Q=&tUMe{ȷd>yc#^Z~8B2,̀M{Lj;#M:VjA5#(c 'i i7Hwj0N9?yhU[J)z#n[8P5j}A[+z[nޅ[{,(VRFQz9eu-L@˺wu5/7a$OgT6-ѣѴz?+0]¿c jE!r g>q-fTxz6m0M x:lq4FW,;=I =8^_H21?,/9)09&hV2#ѿ0 9i%JNJL 2ľVƯ6gXC?sfHÌCvpM Qswg$M TomLAUE/GҼǐ0PhE49Hs<\nbV̺_HҜء y\, "&Kl"wQ}) 1=I.ÒQ6҈?qN嬡=|sWw&eׇdqvC&+0f.A FzXgjuhӡZfH1f{ ь0roL&C!TYs86oUtWTV\+"nH:^$MavCQeLk`r}2/f3JdhO<%5MM#4qJ Qp4 Ѩ]ꫨv(+s*E?LwC+MGdܒ,-QYjړg pROBK횜Ra ?3Pv0cƜ.H<,L$ߎh@zZS{^U"+#q En~8*g8`k5W[, )I{WF;vsL=]9^yX:2=LK 8φM:RӒ6.qkg]7:rGTe=@ #,#窊+ϴ_r 8Ճb U'h5O^rC[h(՘Mh;+'(#cY4 |nޔOpQ+o? $@fp|b9ϚRTZˑHS0Pu;f106xX EM6l2Yk j  HM3x /cǞX5\kzQ2*.Wp!#r(b{~W_B*Fo?eIxÎ}ON=; աlCiʻmpocxCXsIN#iL,; .ԯgdHҋ,nNDG9hl5Y]luV}„AIc3W*+Hj,oy'W-k!ntjP=B[D#kox(4 ʌ(sQ鸮CC ~YvcGw[)㖖OqXlkd/W )/H wIj?vbt?Ol[-&ǹଚ'.>#'}zC-l+в/ zIEӟq/_xj>~)䶳Xl۽틃~}+3EB1 (nC\; H$\l%#_09 ][_qP|m4 5o%%=%-C$^5-/"ivI [ Pb>,nD}m}ME[7΋w30%æwC zI{w(9xNPKWdSQOOQMz+'+HȞq#k:(@c)pDZ`>.^S#HiWa.P#U<3C㕫g'"J3 RGOUH3}kE"H!WbǤ4^PΣ} *a)xTye;!]2#]ؼo-jHl^q}x=-(;314KD)4gۤ bߛly:rv5PgܶڢsWر#+UUa,MJ_]xyCQv2܂U؉5fdLcF|Τr<'չQ0qPdډlwQa)oX$nhT׸- h~-2ȱW|/ [0CR)A-o o:}v8.nd- ln}gCOy`K[1m[gc1];-gZBL77B e Q,Z7\T awwp𔠫$ߗw[p}iVbG[f1t'{k5t{IXB!I8v4Ł,{^ "*ym1!V=I=Br ]ۢX`kuj?&̖2 1+ؑan>9Hu7ȄXk>p n9֍Eݮ>}qyYuem;{HJd S=o,d t{p?ɴ㯻\yS^q{+*Ch rD Yч/.e?ATڍ? O.3 e}Bj-;+K50}ءrN CZV;O5±N@yjnM`NlZI o ab'B†˺v## Uņ,1^q V{𿤥]Y}Hmdf)-D;r ] iYAvms8'BS?/qIg"?&$1)%x*adN럮ިy2$x@32=u\XԞ-dD6DȜQD.NS^qۢo*/l 2$u+uCA}DoXM')|q ۼjOpFf`Fvƭ d~TũCIUDRCٷڗt>_oqesL@~thᎶP>~ёl84y.%(͡/Hn%%c/9D|L#«tzmqy?UjybPL(u'D~!e'hx@4p`}=< n 1f;0\3ij|2pwCa_2r5lբʴR kk<6Sɱ;ws[ҲR*e[& rLQd( о`jy%Wz5CXVV\F*mE-*;QU$}xlڬs>. ےgPS[pؗBLlE6%P؜=Ү:{5>$B- /?C}J}y{"ROl$:i!.V%7*;;5_8w[O$±Y׳3,+$~qAL6JsaC۴ye_FQklIZQ!W~W(9 )0lqN7Xv>s4zܔ5`x6hEɣ4"@1-r>S[{F8g¢G{7A1gp|_҈9aٜY6#Z N e:nJkWr|Sߺ#ؒ)TVN;|#KD1*qJ"Tjl*Iin@r63n|f7 '_Og6/$:(O` dQ I 6lZq_yL{Qܙig80׉oeB$*y ywM XADQQb,MaY̐z'PBS@+F'˝Z,_ҠEP*5($঑M8uyC_Y;\_B6nf{ˎspVN%m9%mqd21 9펵#f?ttB%ȷSHC̈6=(ȢsMep |ff {%p'!q"pUcgtΩ,^pKl'`mU$6+h3 D# 6Mi.fX_r ~e?%N3 F.CUJ_<殬[$1*\@œ0*~)RS8:rN=I>|ݎނ/&ȏo Ώpbgx

c;@s;CDf#丸&%B,;u wR`.ksxg?.XG&b]j~SjTT%=2?3XEcކ4'AsU3D5ff rG(p?B'z/`[5,|`x~RA펰Cv''-Y)i04*$O\w[*lXsӍ/ň裄Z4huOgӅklqﱜ~}mh'pc^pɛqK]~aC"&5AsI]''_ٺrGq$CL ~@6TCQ7UY݉3f&OB^o Ҙ@Ԝ:L/sOAT7*SCʯ40ON)$>/wKLdWچo}aNF|b- \>qe}Vt ^Tȷms?eD&<…Gֻ%0/%VU8q Xp:"|*ia5D'I`<3W r3>tH U kO$-;?'x蛟쌌IJwk68VmҁEVn W$1\259c`)Z9{p($g.tc ݦΌ퀣@$[cܜf[1f'֭{wnA|7Vm7|r.ueOK 4HL^*zv;.BX qw YC@Oȳ)-\sTSX.ACừigk񪁤hE }u; JX*>|f[Ks7S'P;ӰѰއPe%F'×"=g50gԐ)x ;M gP/gA{ "WJ`A $aK rT{AĿX@lc,=Eo 05/Y3 t6%OϑbGЕ?HqVdpƾv#)1׏˕ 5TjtX".CY~*4QCBe,N_Ka5h?2ۓjbp64*WN̳\/.8C&{^)t1;Z;k$`q: ecU@,5E feg/GY`e>]/g.BBRC ,YX[64Q_'=T\n C#gfPs׷!k"@Ũ2Q`n/*YvFr/ };z.p D{ų\l\k9) CQ\g0bץi#FRC㰺QQ,biܛ̾.Ķt1O թZ?8YHQB2;\O󿲌•L^Di;?ޭnp]s W)Y*6g uS1u-ܛ` $܆b:CguKǤXVW~ CE0&zPi>vg*&n'1\6еlK nZ ?wcd骃*?5\ NLcx@v1!s\z\IC-צb"=etS&[š6-F[R@ y t!S`J?y]VzsҦ PZw)tqE`kUud0VxZ:PH5Iā~gR"[*iA=I >BaE3P̠l-YSDU.?WZ'7]@,PsrqCqnoNT\kEe&t Kj^7|a (>b;szW0,Xrޜ[E0HL`ld$f0 h\]~XX3aA& L\>Bm={M(k&wQEvN{鋊43ZCUoQ٭W{㧱/.=q $tw ݜ#Ue<1D\9@{X>2B:1Nk`LkQ+=sGՃF]MKNs.~:8 ~܆;aqӆx5#^ em{u&ҥ+`#n{GY4._ydc"toǒkH>xG?9YhbvxX)2]dDmQ?i Yz973*^LT,s~> `_/ dҫK>VSqΊߨ;ž2"L-}HV׊ct Rʏ%vUhq  [Gd$Oo\dP l[pCn!,ɶ唰U ~/Z<IĤnn4!\I_IFe(<).P[h?mTQclYwؔWX ͂|P9[UpOv$=A&+qLc Ms8 x;v(<=X0bx]29:L9õ0u~5feih z4'z$Ymv2-JNkA^>78:A=jf9Mb(Tѯr2# T;thM<b:Z#@ēZ۳. &k-Ƅ7dJ\87"ϚD5Qp@\f- '[b 0HS4u9}H%JJwhU{[PDTabUf>rZoK' lSyuR' 9Z!^Oj.*zG%R)>WRL!^;A7#񞂔.WO.wb܁8@ĘYԳ-?kɺ} 0%bgJ#Bc6E}X_L#kwε?F'ޤ,fa+Qn ?$+ 78i(X!zdeRA0Þ?ч,C`1)`+2b{.pm4m =}dr:ܹ25{J AFkt?d4m!=p[,ꯢ4eh701!Ho| 4ѵ^_lY9moIȒEL+.~UXe>~=IŅ+75+$d8ѷxv=˧ҟEGwC˥75ofpHNơv5` nqU65uB2GcPy轶ځ#\wMw,20* oͪ$=!@9tyU MGYdױ+NS@g+j0Qq4,$&+RcvQYHF}L-3dr"yvLea"cf*GvI  d5 sm4I>4F`{- Y~W%K<4#zdUŷ@&66Dg~~T5Z s9X Giv-NeE)f<(؎ģ7|43|Iœ"ⷽ`;1#EXS3lt}U>o^?ZN*krNJIҼj(^)5sqsq\V;e)ᥭHa"?1SG3M ftjO2T&]K}H4XwϜbܷ¨<XtUppI %UFvRG9.N>dM->ՎzCj_ZzLp[d$J6CZr7P9H+Ό)Y\\~\yaonpN S)ms,MҴjC ұ'ʯDWh#ȥYA]]έ+w|-]n,Pt3Am]C>DN-Ŝ27,^I:p M[yH@ZYOq,/q{Ԕ̤nbz]ȷI~)<6\ ܬSJ12PZA=Gsdqxth Wo?Sc urow@kLqCz 󈐚bV;B:_9>dСVJ;k %茨|`!h RBinMgVG]A>N6& c X { R5Cðnd#S$س^dS/j?f4Ƀ/S;Z 2Y)$:qLcXg@yS_!Mu`/cbgW(p{y /wQ"9u z,"aKJ;8EjB|T x_סݡ̳|dGj,Y.Q$lm.iTΫaj|cUNygnzh;ICqȽ }*wO{FGXޥ7y ҼfOբR|bkk/0iU*PʜXqba|sYJFAD7hi+Pvn "}YXY_wv5bv̽{twb0'`dwZمLNOMZ1p̱V*(d$fkѝ~[=/qrs Bwv1OQL6ĵA*nБ נsz6粁(Yi '@ p#7_xgr-8Hѡʶ^_,,, !lwUxUgԉ;4/VJy;o/Ŷ:/p.TǪ vnKmyR>,.UuLF|mVQ5萆.& mG@k: OӶS$J^3a~y"@E`GEOgh2rV+ү˜iY)N?3` ɧ(ҕV%fr _|ԽbqeKeM"'v/f1Ak&`[ _pm 8X>Z.$~vU:=HM+X ޽X#9_v MiBVO|]Zy{^DAȱj77UqKgInВVxo$> 9rj3p;CįY@t3(Zk4_ q-E_ʇȘ^z͋7: :&.ƘB`(bPT` ]Y m(;PbwѨ)|묌_2C6w#ڢV|*9m~*:H)6 ;@{_j~'5lI``u\9߸_Ҏbq\P*; | !t=_KY'5\IIJ!V(Z<׏hF>p>@BxIYPh|g4Z#wƬ\*8Q 9 k@;tZ]=L67Rb I``n7A2<-7Y|f|#G&VZ=\.Zt Xҳ-3kЗ9ZWb!sV7,4q6jU X/홻Z&&螬S6F٠:_ T(T(sH4ŝRt%ő%x)*ndƸ~(e+4nqLPU5֗Օ7_-zTI"j> ܪRbc@]䦺6W.,|[>41Ja3?W54JfTOٕXEw񅅡6*C:RW8} *4. qWjIu^/V}V0ENr}/I%q3}KH5(+Pʾs wð}3*(O^ak&"Ѳ_37*6 hl$}%4+'Ƥ.f3#*e9v+\٥Jf!uBCaaN]\rB(8F1d3i; 3vSm{H/G_۪dA mM*.MR4[FyYVj_JPBBu&K_e[K9UTuw)1 yGޡc-;Yj n*`\}%>QϴZ3YYqc t4JYȵ r27l$`@'/oqHqW*K/"N ۇ/Ym3/5C-DXS|$jlBWt%kmdؖ??OGT|Ҳ˸[E8nt?p*d4}gU"0껿u]FfT" Z 9 (|PG \ j@/*af:Kk1Ij Ϳß5b4> e9tb]DHT"30)r S20[I<:kBۧ arQ_naZc4NGEd'Bk+H|6Nz&}OCDRٯUoFox^,bwDEVonaNaiD LvQa @Q((zJY'`m@AĵFw٫ }4-5MA+sq3NMf̍Zu1L :|`{̵d? :=;6x?)!}p῝AQe}#ֳz?%#|]c^x4¯*X!J'5r͂A$cGoXϡ";qvh5hJQe{g6Ifk)o\Mn40M\ 瑃}W_/5Z$bo &~zCky|g%VSPȗڲq'^η>\}{\w41_q 2N*Kbe>%# ?g.$lv+f}i;|㼉ܙSed9gp'@5U5&6g+k.3rWuwmT?89aDQOf{㻶M?Fk+U7C={i\MF\L6x1̙$57^T`q7 9)H׬rdn)-eZ#\kȝ&pqʼ:pzbȝ tQ\m/+iI $CLDB 2&FI^9Jo4W8O =Q4NQ|dX+=>' 1ݨF{' (v+,KSSs jϖ3EcDɁy4Y!6F&u_T>a{k9A`fקBfMV&4dnY-/5difp26u]kTm5O:[ f|w6(izرӖVPH=B'=$齚sO:)nW-Z ջIŊ7ëآFP,ޠN%UĿ} N,OiTTԢ5>EȀ|_Mŵ_Z*52}T\wa%L5דŲtl bU[,0j%rX GL+~F>bnmSna܇ _.nFNBd$7aNLn5 wJ"~9sBGd4]}baVp..(~wWJҼR[7>bm3<儒o>T~tꦟc 5iE1`C!J(DD*Z`.xxJ)` &f9 ) >&98%gr„dh@ޱVvI7xH+7F?#]4$F [G'lCL"2-d ` (2\lZN}5y~YO@:G_1O Bw}ߨ\/j?o3j{SIlf-,HdᢦvP힗 !J cX'?UXdɗ`E5a W7Yk;,qR:[d"44 ެoB{Z%XMu{gJ~#̧0bϭz FZQQO4 Jcڐ? *0KEOmAT8MyVU}@YܝhW:q4<R7dBs6lI9D|G:KG_ [zfM+8S_: 3Fhs~z620^q-kEΟ-R|^ӟxGZ-9F*SEA2Xw@Dp*GVZ̲u6@QBHub("YC< F͍rflxT~F*)l=|,׭#`/ ! w' `SIF1=)Tp x{Т{D+\V14', á !P'VP }G=oB3ȩ^ Lh,E{`rd0,1mma^74AwĠVUZ81z[ULܐuUpZYOKtSw]2fi@q2l@򗓼yx=_ Udկ> D=n 8 sjiVl{& i ne8-Akwec: "VK9OANXi|oE o8b+z:Z2cy6Xm.Y:JW7߯ܿkh?ډ&x8s&O\WùY0|?4]qR'5OrWAP1Q<`k`Wd4uSzGĂ!{4f.=r[U̫uD~LС#a Wͮk}{,&$#9OPp5͕9d z'3 :+PBO^M-' |2i 1 f V6EH'Ocǥ|i[,JZ.=EUI@Oh<7ȫY+!hԊ_HS()$q &pUSq)JXnBTN6XwwB3ʜ&gR331xǪ߃=<.zt*1 .#T= )Hkj"@&I3gaطD+s|dT*É& yzeYTϥL\ƾ\隿ӦGfGs(>,lnHuql.)mS:D<6z gY1y7e;>5&.-sZ jD!a&>^쳂bä2]~ˎJb|1QX@3(`;ђ 똝L v|djFި֋&:GN!v'>!ț&ă 0*JA+Дr~=XE__<F?R2')7rk >ȫLcd jZD,G=p6[q}P;mڣ[XU/'@N}M\<]BTVgB3[4 lNCMJ":٫Ȏs3ļɇ꩔= Hu.~ &W˨{uT] CQ.P,?A" 7#@FityܘIT`2{͂9sJgS|660!2:'8\Fjå449wsr0 2.}+`[Fa_a"AĘ$<0wO|e癌)˕ogL`)qWؽ(g$ `tףc ݳCoj\zO* TfjO4RabR%Z3QqFzȼK=< 4S|}~-bEuđɴ6s])憟Okp 0[ZNVtnec^RkniwAS5Ǵ6WK&Gj.\Y&*Kuoqpkg7n|iJO2U='*Bm uC/٪5ůJ-Dd7IfN+GI[MSwNnR .LzU_Z2'%N%Ը-ԑW a`7|9j-LBZ?}9S1(^T$K?^;S-]t6.Dʂje*],pL+BmC/&B-m,r}{|+pp[)/&wwxceD`j{g]|t8nK9y,D):BDӅ8T{"|jfXE"z'\xtX*:~/OxclGOiF*#˳["G~GR yD)s i傄e m{i |.VOBC`@IIx5dg87LSZ+lͧD.a,MNIOX?=θOY((,]4=en 8#^3"M/m' C發םBɏ4迲#D&]&SmyAK &v- |$S0˛ 9c&- ̝Cw[S ߻]|6: sq,uOC] \0D=a4GMqE xg)G, okz'b=s()@x d݂&Ior֤QdKOU \ f"KcZ'ʏRT_gd@~4ތ~ ̖ѿLIaN6 ,4nT)=Q"5r1h"fWo mkHtmO#(4HdEm[Y+\#bdKIlX@C;:Oݔ> "yi $@ewt,Q.=I@&F4RB<`($4> 0ml #Em{oڦC* xGJW0ӲJպU_9y0֍!c/;/kaUǠbhhiH,Ů[N&Ps-DкZhG.j<'ۄMۑS]BMO?ac)RP֗rdOĻ̊J:@"DIR 32& ߊ,p c:&(Orf("2է4SX{R1g>6 ?{>&ư ㍫0c̏cD¹mYWRwCU= (N` ɧ-B)iK" +5Y+#GI|46vCG`T ,\W4񷯎Cɐ{} lNܕ-V/ A Oz0KV$}D\Rƛ^Ԥ(xe=3~ z;[b#7ke`P2 [\0seG v(um+)!J0; ӈx7-!T?#A;/RMuԔ:-vΗ}Nzk/㹼Êg  j8N“KKeoRBpej[`}C),5>yNMٯ^TUQ1s0Y4%APi(17Qj!_ q@dpf$|c-sѺkSx G<0U`F'˷]>5-uTH8]"Y~o\^hRA7rqVY:f-V"Q.7kPXoٕqJY}(#05"JMY ,+e&P@59vJZY]|/@ TLV aǹ D1/ݨ[K(9| gczӫ GSs q ޔcÜ ~2NQ1i'䝭DA`ȗ\7x6ttReËsz<y jꛭAڋ]b;+6᣼%ھr t%61t=slXJ꺺„=t1R z /U诬zGSQlTDBzBq !W-∐$]ÉH孑y,,O~Xwd>U2vw u??&ZS_sZfDusab֦|unji5AiGɬdo]_ +_E]9ꇴY_r: +I}a •0PH!2!$d¸9[g]+M-а_8X< eiRP1f#jK ]og{)W-(4!Eq/ö 8c;"b,Zؠζ rL!nQT1֯3;pww#nVotM>!_ òj-4%|Lە7'w:Hzzz6m>`@/֢8E6CC`zl:-|Z^^h{u-''eҘI1S)YW$2qG@ ~8zxŖͩmx)Ѻƶ~r䆭Dᡣ Y5#7WE*$A  l:`j~gR:i V0eEJVbD1f`%\'B]e܈jD3JRyݴj^ĘMax!>/Z=b*\Y7ѹ4 y'(&P)ӱ NMOO/Rx eރ8Uskp@| Nh%lH˚SxEA*%N KI;g2 nyL FqQ}-_n̸%qS{-Wޕ^g"`ѷd1N:Ák'xʒNTWnlR蓒UoԭoaV]_DFUUt:K]F8.χ}{TqD2·W.V=ڠޗ>fto-u~mHO'Fސx\c re; Fr]lͱ?GAS9Nvn'V+n}rO۞'U53Ex(9K,"K=,.Tvv Otj}Q*ãnaxް]#Kk d+@(AXL9COZ4yZg @e<+,Ōy+mN˵/V];[Nwa^aPc]߮*t nf Z5{nF |ze\iʐ~eq. )x*$f1I]IlHWjprofef$))s46[Zg/6F1LM}:eIy@֧ e8hZv6l{Qͫrj$;P>< +vvl v aZ'*wLڪTgaVB,} >nK$Buu. lP{ R"ι k_N0f9qK=`7Uޛq\,88ŮPng>;Gr\qϣ83hvk6Լׇ&& 뇎$gTuhDJoWE]AH<9,q6x^IEM mhGmYutqR#A B!'N GQ*3)n,u*,cn6KQ J6y]?cj&<5AOs6?!.!}@dzzϣ"NKfޣG,px1Ђx+=;Kxͺ:ۼPSA+g+42cFF#v CMZX&=p0J!HJor27<>sӀD3N n3l' l>b@h#nz{zsOp&&.k;q_;® /ƭ'n$z,H`A9aKZm'dC췭Tj6#m4l\ee}vǣAP ՠL(?Cpmq0] Ci⬋HU._󣧿 -Y΃I 1j/NyR&DARC|k:G1"#SgB= utLBQ|\ᠾF(pF*U{rY8}IsKpb;t̖H*Z)ߴ<8ZY`x4|z(ܘ-6Mkۗo׷ #tU9KC Z\{餗o;xVds[\N@ES'$TLk%^b YBEKY+w>$~y10gU?0?PscXѮs`k }IonAI+Z#li;Γ2 ?(Oӝ,4@L CXú{\@RSOEJhX;.ku% UnZqcmv0,!yaaCc^:7&aLKN =T䒲gԬg|/P 3c/fmr94IX4r=K`eah3+nuL-[9yEf?{ISeå'LHk8 +?PF 1"q"˅7_K@9de/AxQa@|^ؑL^PWE_'U<&%_s-ëdu9#Λsg:J.BPx2E TO]0~&" A/&qvzLV+a]lŃ l\ї:ME?ThEgkAcoMD.<͎< &t aSYq*C4F+Et_=f6gϑl{ "> y5~>g[_<| Iœ$3UiT49q# z6Y_X^^*9 oZI7'RkE] Pxt4|kP{.%f:lЧpho@!q,(an*`E~MCTb- ĴgP/ rA4$Y&m N$FƭC[x`iЊλզowVY^}BTP'$塖u~gz̈v{UNz݊]E2}57{ ~q>[5~#k%3(PCzWGfLy}GqkԐckvI9pY >ZvfGg@  4,ۅ(\ #d ku_QУϬ-p.XfkbaZ]Y7W򱠆a I$LR#=~Įt:%*ur: y@1bEݳr4Iطtp@41 =x Ę l-lpZG9((|q  C@J=yve=<.0'C\4R\ooKV{MӋ`+P/%LE<4!70PUXvP\_JKpe@P6_Htt\Q{&'Ue­󺴇Cl2b5}e~3QYO] A-Vd<iv.R6>:/'(#X JMO@%vJٳ=g}_ܬ $=Qt咍sX{QHt˴5\Ƕ|Լx!lm&(ᆦYJ[PhsYo7WEҺϤq*<&Ys Ϲ=K(]p}s|wS!?p% LnC=˸-ˬo"&8 xmm[Yx Gu &[q]+d $>zq֏)q:%87"F(TΙuc(@#:勝YgidՅF}p7V\h?m?SC&D,*k}lkM!; \~a(j*3;eq Ȓ}{úGm'VA̒ "ipV*ɕQWN?P 4Lef.~}vݖ}-!csՍ]U@^Ix= #J䭥.nS j.A=~ ?d]0^ ưGm}Ǜ%uءګ@5dM}>,4'Zy1 &hf>92 mjZGܱ`ozp#p_DE]z:yk"D\ I`7OLsm6%R|=V~2{ô2aMYl_Ժ 2'93ª"3{Ef1XC&aNziOB Od k0ẘNj\5M(Q+iZ{4by~ng:m2:c,?Dza[+_46cd#r"F~liԀʱߎBF^ HwH$\<*^t_οgК>{mO5]/U{YFWKS22lAh*x,'#RWCF'KIM熣m"?;khg0mRoڡ W5`?[^@e fB&yL+.~ѹ ESyQztLR" &TAwJ&[d(Je?m[n[jo{>tl$.OPi߼T$[rO7&1Vę=օO1Ӭ)ғjTjfa ?[ܻd6iaoW2fVAzoSRs|pQ'c`b]٧yFZ\ӫX.E~rq&ȣяcKͪ).6zv㌧!o;9#3?sy&(\rɊGX[LA4PCu3?>n9fHoC 3B 9; 5E 8KJ (⏨ޣ>jfMo2R;/*6rLXA/T j֎hp"ؤǕ*@ Sv"31"[RmNf뉠N,D;vIǠ+[yNO:y!hO(5Ţ<_@ 5oq!*r |ik9sT* R]v>E(:ް#Yf_/y&qg"mY@JM:`(iG-7{9S(i,/_Z%Zj%%o/(qX(>%+w"Hn\$L3XcDBAbEv*OYۗ/P8?z J8%qL ڠ Sisϭ=c_T7A:q%$ON$zՙ4~'JA8y,F//&tuS݀S5כ_<dUPԈh-@Qx/t] >XFUP6\? $~L!*jv>flUFiٯH.RLZ/C§ D埤|{&{=lnf>^^ l={}[Pf$I_* u@  M:IXW)7HG>C!A ﲺm`1';ZmǟDx`Lx!XβD/:vbf? 'O{O@@8- ((@+!Hm4_5RR0*Hy*8C"xOܐ,O֥mtn;$+lQCU-%!+iK ?F6YZBZ)%k /qz X2iJD28mԉylf6Dw .72TZ KNp]nj+ZJs=}oPH8X=c&E$Y3lal3-Nx/n9X:ꫧۡ)BUZ=0kk,XM\H6RȲbqt)- B#;LXΪ;%!&j6`j 'Fͅ4a $TpT]ڠ+/*3s=~pRKYYq˨GE8 o(*g4Ɏjn & ,|r zCFC 9DRa#s1tȻ8q/anG_<Tt9-:#U]|JYY:{_f>WK_D,Oz1 j`p곔OUU r&.:ii2`p"WIy L5j2lԽ'ﻙXb=)kޠdN&̅[4 "%4H_$"?oB=FI~*@آ*Me. GB`s7#AQm<:.^m4ٝ˭B8 +A3qָ2'c_}HCY@h?t l{P*]`*:]L9uVVwx0ed-rחo{ֲPIpQSEAhǚwe_TVt6m8uܗ T~| _= C%-T)6Hr_c\Y0*:O`z% l.?knLk%XGnL<?n)6Dl@mY"&'2fSOT⼅29 gOM-#%ȴb,Uy}Y`pT T$?_wbn*Yk9.$@Q0H:7?+ܼ[FB3u%&C?FL@ ;5^43K/ǜdA>RwBTX*aYjomg&Cp?3ൻojjɃRL: lۀN5t[S>.m9 > 5]g{ (Hd HbrzġɬbC.="4n­qoY"ZUI0^(mb0dA)0_Wx p5bz̦ALݑǝ> F&@)VC9_ӪsXnJA)mAgIARJP%׭.:^ <.;W a#zEX!$:&7L1ohDMwOVJcG*MI<)|-zijA B bi?q |\6=R327wJZl642<>r_&ͰlaWϸs{j-`0,kX'MT0Y2T5 @xhtY[fTH ˛ZPe$nY\[H鰊vK5!4FTsk[bFcX}5+N4RkPBnEB!}9&Z"lsH?[2cf, ! O-ֳ}D pLRcJ#Ž:PRien+cWK+%F-6ȏ紟g A$k^GۥjB)MMƾ>t%^zx-Zj[͇&pԾ^Z+S8:f5Vb^sr,H[49Od؊Xxu/*I7uzcxMprvSS.'+㪪6ѳeq˭b< X;\S%Cœ"( YY1|C:_yX@Y2[_cwjfTn٠\vPI$2pr;I}`7MUS3;B2K5ynاqb!b_r3ĂBwr2"@ү}kj(-/bn 9 QÓ_ؕ[]$a3Roa\SLtI҆iKXg"Y9Y%3V"J[x?(Y5WMW=cم ۞ _k4JP b&WO|3☇/eM$yq0"4긩mR5 6>ռ̰wtnj 5a$u4Q;Eb^i&80:Fdd&y "Arnr@WCwZInQ¤MR9(kwYtG{Ύ^}uWAX挾D7L| xtbx TA -]äd`[0m6mp1n$rfg`DgZ'X]JB`S+KqVf=p M ;LO%d%M=- Kd8ׇ ۣXKMS9܏rn鍣U%Hr7~Ks/r5$u~Q- !Q "_hlHJewZb}z!}%GĒu){Tc}9? ;΃!#՚Ƕk!ז+5B# [f&KwV} !Yj" u%XoJbwQf aϪ3=#&Sy| y|i%DgTVu#֟/)Q3yȾl%tȄ'&fY(Ћp pSVK9"0+Lˮ+\o8$CdC9hC[8\uHk5-+S-,HjK8yƩHx?,(\8 ]kby:˔b䦕9Wd?:ch橚=wkG˒k[V;2[T` B }rjA}kU҇n9c 5 1)9 .FLlXdɝ~ů 8IE-um>"H|t5sAH]Bpq\0V% Ԋ,y+6QtIlSDXO{9]}ؐw<@wCz[n (-a[Z u[Tfq81n7@ZfdOD#AS)”pRrz7XX[l5f1ã-7BD( l}*1/&2_MNoJE<fdm_; :G^ ۦط+]OIمp1<bl@x>GfI!v0 bC~ {9X#H< V]e̻|Y" ]㌉jY=G V퇖Ȱ6 ߽^"7@=Y[= gr4I5ž]cIвAfMeJ&awN|+_^灎+;ʽ$M.^ q j`TѓLȶ6,KϧhJw)/g+qӹm+uƟ* C#EkMT3٫C) H5dTIH4E%N`Yq(F=6%k߰c]n+i s'bM0h Ľ`@y*R:3\<"U8'\oh@9p>,[\0:cji|J1\$ q~nq!ZQa)ugCkwk?ko膰{CeG&d#_Np5F.TsQc(`o .Լk:\YspșfOnQT U~vMNqy(xNՒF`KUF&{~M᥻TJfLl#J}PakLQ+hDWcڷwY>E|15a-~A":mi,wp75سA#q`MH0,KXk٢?nNʮQzZ8%wo̥B$H~"R (~W) 'Woya @~޼ݪY|И+C$^"sZ* t&bRY۠VoM_!ǩ}p&ףOnSN'!qV-Q@B Ji/k!rl yʕ{۳f3CG;դsŖCRB9&H^~O{qU6I7 7ȅAqZ e.܀~5]QfX c3S3o+*\S,*URİQsv[Ȝ1ɢ0i,Y}ؕU15{Mb׷7ă{e^\ l⪋7+`WY}o ?p[M<Y!3,Eia* U,{I4% ©r̛2O3q_qHߤ)wHO@n)K, '7VL[!f$SeRT hT&^sT1'jWdkG-"0.=+<>1JD}!9+:ǁY\Af[4_q=" nJ3`9N=ޞ_[H%#˫l+%ocD[pN~ ` Iy\] 2fng?,P>mRfֹIhȨ4tI/LPX-[]Lq`X8`dg%l~cClWmqcىGN4kNֽ7mQW"їЂ9W^D m^mJ$l5@1ަ`)xwm3badoؿ0&<سL8>;~_ʴOGc<B/mhkdvo 4[,/`t,r-#cfNLZءQԳBuC/ɢᬰUh #U/'wR|*yfڳEgo%mDQti0PF y~|1ĝ0%j<5͆cSh\i"o*Έk?CXw-B@ 2|E.f8E'XsgpϿC}]FNUUՂZl57* .$&?c"Wy ]ғ97(~ljo¢lXzp*hMY;/ӝ~xkGKOAK/Y h[FA M_ؘIh21ݶ^[Bl3-ѩ'H呡4:6C -_&¹TX G80b[>?f.eTg仅x8=GءZٗHV2 )0{Z}]Eup#p?ĞޠEiw@rRΎc\^!x\iqNݤ_4^&,yɰH%JO{vƒK] &71uTt{R nia![gLa7O֭遬c֜qZ#+xR8Zy/+,ۻ};0k0%1/5-݀Ŵ+C=iǍnA_<]F88OLfM ohWW Ogl+ y)(r\Pd7w + l^}W[XSԃ"pqN<=tۄdn3ݯV_i҆ y(V`ͤp]/L47Jk wC!o`OU] -'.dф5{stjO*uK\ GQ5y:%Ȣ8lPc):,lщTP't鸷/TpAhBg Z/bbG/bE_KZa; `ҋ?2dg|nZ1=d?.5K+2$[T^z` JR-"âz MΧ%*%(Lɖٺz힝h.^0FwšWE{܍=D/vde!]umFVY✲8Gk9 ǠT >~53r; ftZm9 ck~jCmDpӶMSi6G!Vm4`▋&Ӈt?~,ȓxSϷ6!ԗ$UaLXUֽl֤[|xޜ)ש0>m3NF_Y~PB\Zl.=d7s̜> e iO|{{*tIydBbۓu%f ?YyGx*YӢ]p-x"2.˃h$OԴZ\;DENJ\!o: *$n ܈'Ydܺ! I|{ .[a3;y~S /&P|f|#B*`)( NYp&w l!qtΈ D\6a'yLK,,ԛPNE ']^mTw(,t05K-UpE.0`v4 La0ă{0%?$ G &,KRw,V\UK@!Y|/@yfSckLn~ihOPO %NON ˜AFN˺*,6 ۡ0ۗRaZ0W<7=Oe"pkM%Vqi9>8AcTīykVcFb$*<-]?bىB1XF`bt{x=n^g:8O4\k=O PQ}>Z W)KZrc$/:>kn9|9첺gѧb?k׽F'w~aG-/6 5凢"mxx#Y=E8WuFWyNqz?YxɼGm:&0vI6Kˤ#+}CtRly1KEr-v%}Ƈ𚰴/c0dd2K2v@]GaH9 ԯu]8f}7E (4o8:Ƃ@,ˬ∊4 C5'+s> P_'A_ywūlD_HUw-1&= fgLi\o3n(D 5WV_[YAPT݂3b/sz5WfI|9 d^53`zAH21pS9N5tdMCi@Σ^;GπN.v7ǎnr2t1oC9@g &:iHۢ˛Sq=.iCJm5w_H,ŋ@Kl˻d'N/f8j\i@SL6]RhTN\JWc0Ʌb|3e占LOGI|O-F-xS(+4 ,ê:YmQH<4>wQt\)я$~H.DˆGJY|앪-$H$Qɷ&NE[B+tR3tfj[C}ʪ$j<`vG'_泘t\Q@y84q_%@X.NEtH[YM 2eS\6ňgO6 3M*Iӊ1na# ~}xTqrt:̨*5gjޓ Ho9覼UlίɑQ3.ܚ;x^dUt_3>x:lm>6zbe8ʜVWQA]気,d룚P(0U*ZioCWao7%U;Xd.Qœ oMhDrRp 3r Svi`]:v+yVs|-4ۧ?kMUfgA+B4q+du1;=u _ps͍ʢz%:Sp/03]r(0n*m=PEtxMjLGg^>k␯L:jTؑt- րV&g2vGȱʸha K=U3:jMFfCM׫|vr|Yj6U~3, L#U r`SѠuI8`x\{Ct]2nbd(6|qM,: &@h;4Ng魽F^qE~`YI !Xe3iwGD :Q󜸭 .6NLE6_u6-/)ŖPH-7^M m:4'iR|xiv֊`_G,|^$ҰbW  NeP3ݾ ^]l³.&SIL,ȱ HP“Ä]M<|;cBV8i#Mk:ن.AEBxخĸf# l]̬ޗO kZzih>XܑBF}6@S$O4a :DmD ;E]oe7|.b"h9qxQv_2lwjҰ=A+jnvL+סLGo8#5pOj0LY'a>~|1J[*(bjׯT >V Fg\LM;;RŨ˨o$v*:~_X@ 떤sOk.B,ITQ62/:AےGfV4PD̔69*,i I`i: :}trLVˬ @7-$H}!ĕBR_!ՠnDVML=V?2„Tc#'\Uñ#_b#rJBNᄖ O8zxFA--CVSlNХ3 jϠB1.g.% On`)J %+ꊀ$qqPM{z><"oǵ$'c,?X۸2[WV\tv0F uǛ9x]cGW8oNjW=T[)X|_s!!\3փyI vģOPhBH+o :-vtGlKÃ"9p5 >b!)0cڢ܉l1G=+B\ GX(rsGu'Eފfٿk]ԕs9ҷ܍S w:Q:>OltRcخzf|x+ʬVťۭ#&rB qn6Nk7~ _+,B+4 aLdo!E*qW_]8 PɩV&.sc$_wu~irDͼxK/$Hr#i)nQt) 94tY0 c>}jo=$$^S g?Ih\*cx]zoI/ou$i$ ɑLk.gwYSBfoO %ef/5/R5PhU@j{\D* *E4ٜ0F: viWN'%;X]EY gQkkRsDMu޻roY+_ Z'H6裏Ww1&S{=sAGGphBA{Z0_(VnE y +< aֽdjJ:+jogw f<s[T>;9~zj! =x\alZ; #VStEO}ʪG#r+u;@ȗ$KiENR\FRml'y=VR6K0t'3 [)Q^Q9`}]kcLDc!uwrqv_QlNJTݳ=\K{(pQ.(*'tKaPujB&Y+ǭY|WJ: )Mj>+>xءغ0gol;\x=297UXReW{rlHPn(j8wEz/S-717_\;X/v6өwCJAWٶ$e0zSi\OJrd7xxW_" ޹;BU;Iש%ք[\+:d-UPZdߪ4kqb-L`2|!-9xw#ì=}'6WGG ӽ_ R*糎ܠ#i024VpB~Brcvm Wn^BhXncT]NNc*mFko+J(?"?շ3dDshLVP:o$T ܲur >cpp2,o+_׍!DAM)`VYcsN1+(;UkiM%x_rO8E+ VD)Z$%{nj -0;̩Њ*Xa`Hq K ۳lǤ?^~ KfLjBuy.q[;x6AQϹfʐȎu8,>yfl ~;߳~Y,6]G|<+bR{K׫<}vPT7ZNcpma1nrFȐ[7(3 ?~wβ6k} |(T̸ !6}^|hzMjӊcOkN'`9M >QGx0( 8B &G>tzMeN[=/>c*:\dO )zh(GĎ 6UN`` WU wMm]F?T as_eMY5~S#`H+cKA=>Fz׸F{aUGQ]ni^β`[d)y=vUuAEv= vJ5a曉sZ`H+^G\w~4ɣPx?t)Q(>9A(R6 ]#Ǥkgw 2V^<\&J3GB KHR>U\|AW#0O TM /">diCDݷ?*GIGn#MzU,<9>rn<jY%3jp~w~-ynG/Z'K':7iWF$1_7vApi/"*xeo^&D&e4 ]NWXr\]IF5erhbhJY;E+XӈVXhחe!3c,F͜ߛ 1Jy0:a/._:6aC꘡"?o (=)goѺss5{B +bP `©JLQφWQh rUI1l{o͒?E3A-. =9}M074;@ @ 3 7P*Zh!Z H=u굕ñ~!bϪĀ aS jW!ݘf8Sӗw=-+CUwI{FRj'?_:5 :,T\qw(Ũ]MP#;6}\tpr, N}f1[!Ac#+"m9=\gE1E\D*o+N"3Bgv} ]ջ!qKXyM9d3@l*O6 :ew/dpYl?W GUvd2_98gTvˍubd`GTb v$."s }z#+5pì1[X$˭fjHIB8Ow#sAy !r.kS_,foT$`N2|H *N A>NIk:@+̾n} N } 4dݘ=κ {6m騠a={?pS)V LMaNiSL!>>5,{aօtY/ 8,=i/9_kMe ((e;_<8 U%ckʪб@3k}W@w)ڃYhUֵ)viRggɚ4h~$ p N 5?1>|Yýa[ES j^E҄\E"4c=hT{VVrAP hm4G[(S`V /'6|mF 0ǝǷ@7HrCtf? E$d)fD c;psen\lwqhA(Y6QF%N'9,q ' Gs 2 (+fOX3ݜ8EK z}$G̘dXQ^BS>d5|o">Q},J~|Gi@G&7*|UA 5}ýWWzs|u#)|pȤ`O:3,uʛ9Y,6 !>S;dT(7z:I".D>ڝ /g|WίjQh@$wQ[SdKx!yvrӛXkK) .)j ?}6ʓ4SePC"oZ.%T4k f hcȁ6D'|b́0B,B\?b7,ff5㚟30 ep68:%2Nε ^DQ}[R$(T yxnsGu%Ly(#Gle w›+%AjxlH-Fj'C;JT\PJ?dk?JPERU!o5qxlK(ȍgh)X(8{&%|ew`(H{ DHR5m.Pޟy]WJwj+"@|ŦJ]ڄ](kVT@Vbm;ZvCt8)7.@}K - vgz5A++@ kiRzp&~XaelܭB{33 ZȵޙwqJhl뎠`` sV9yHwIOGHr Dq0|ړM^x^'xǒ<+rEZcsNuxc& 6' q,Y-1*.̃ac!3)o c)ChaT17Tw']*]xB zbw؈yJEe5w@\iIxz4DسZ^pDsm_"Ѹ&r`yG0 v5A;: yoXQ[wEWX|yYGBe6`Q16f&U.my c}\}%W1eiKۣQ1{jFii&"*msGӧMڟ]1Qs݁1BBhq~W =$X3Y,Fy"b;׎GZz< << b-; ՟AҲpm n1_u;D|%>xvS4: .rDuk<>^7dWw0BgN?\VFWrB~QI[PZGu4IpǾAsT- J5֔4w6*Qa*E{ 4j5XI8omޣҨyѓy.'ș3n3(x!:ulnv.QN?0{v!R@@ v3oqV0ձM%L6m䦂v;T\7\UpO\LSD`dDĐHwuRN3Zg峀OsZ):w(j~)Gjf9VdEQB&yL6˰fAؓGX,i&frD N|+:8E; ۜչNl~3 ,QŘuxvgy\&|9UT4aQbL98c(iɾPE/ EBbΒkuENxHX6X]r.)fe2;?Qʹ0XB #f0e*1:Q1](*-;nKBM3/j#ߡ}zuRDS!]2g2ٻ-XtCܭ_LoD#!oO{}j(77}j<9{)#ܳx CG=8a-1i} ]m"° \ QjslKg~}EeQ",X1p/STOӒ1mSizi2g>/(F|\xbTHmrHׇ=PCN27RS] 1_ *(@9#rʻE0`Q"?Ig+`å EM(c#R6c!Ց" Q/lt~?|deTQgWiQHtxHRt^EfB*`d 2$Ƌ$?h 2: p(DU:E- 7 ]zmx}:,߶_(+B7Rj~4jթꯟل 򖲙b= 2Kyn4]b n/yF}{& 3s~ȭWKRdmqzdn5cϩ0"5k4/@zgլS *r]*bv$6iV[4C= $ZE"qT4Z_qF!*!C]+R'sb0\D7⛘9mIwkνIfa.=\7 RN$i^nQ{:ڞ/]J?hgᓹP㭥=CU4[xHӝ"?jh0g^|Ww&$FgRL2,E$tnpS7fj!7*\Wp176?rb F+\HkOD։6w&v JțaP, p2zH=]<9 ib?jr/VSֵqܚn -=jy~ SAGdwsnR +v0ӠiB%F'luc^=+JYVbL=L#Zܚ A τ!%1GkSmAlFUVY#Bq ʆR5쉮 uC3k`3 !v. `1(0B{ww`l@6mC}{L:5TKwIlv .TЧՀ'ƎA[/\)Ta F#j)?s3`K۲n‡历Qd )Qlr/񢐾} )x'68ByAƙ5Vxwg)@-h]YkZ%d@D!Y7^ =_Pot(I2Py'JkёC$lqYA6KTwJ~wMEČ\>T׿I%wbJi3?i4Fethw}˯!?졤7U0EиJ&T/(-]E,CMl}{DߩwmR DGHO8 ,>ey( 8|a7ۻ.kgO!|ARwݎw ҃[isE&=lgpv-B]P?,U$._X8FWl^[2#oʤ+e4Nʝvaـ(4 nz[S<>L5Hùٿ뗮U)(B$]cģ\nZ؏s@NUDusu.ɦV5*/^5KrbrT߰0-BG6cBeG)T{#4`î@qSHy~^` }$O`J^O_Ji t~|C.Т+ Jȣ 7U7- /WԳ͙ɀ\@:>]ŝ?JZm ٺ&ʡR\[iل h{լr>FNPURŽD"j &4V5^H`F. ^BKS_[g-{.Y%R}ˌ8uC䁺xȔ&w*:fAJ}sF rH CeXwd0bҥtYQzք0p\G {Hڊx/D\l(S-}:417wLg`Kbr5Nj_HI-?wś>51hk-}`ʂ[K'S6d?cyPLT'/]2sDkD*o ' w$^؅iH?_Z!Pj9.|Ӷ[{|1 rzt) #W"hv2Lv':Ѣag m,_nSxx/TpVh qaiM^yփG$t!hk/"Ɨsɲ+ T^Q?J1e$CZ'%=Y䜸a^ P rha'JdG䣔BgC~i{By)mBϙ)A[1ɚXm kK DVLѦ*$+`nqyJBE MeD[z>Sn-x>~| 2r k&L^un{Z%b4 'Wm>BC'<0.,jHF2ܜ'S< \/I5㍛qtqKO(uΦ Rvl&W^MiRS]ҳm˪ |PfN,F:TZ4+]{Oijۇ4 W0(2c/~,Q+q1-zJ\I 9{&=͓e9'EޔB9Ⱦ{=Ճ/Nlm 7j9*Dtyo-kh~0nH%~%tMnm ӃEM'tUg1+7Nk8%/Ὶ&8.l0&/Kfd{?/t?ȓz'S4nak` S@>aNh{yuԓ=D} B: T))fW[Ƥ6qa0H^~fo~!s͌a6td43)'sz_IR+NikUI =;gx<6onC5F?:X~3. +DQN5k՗6s1B*^t3*v,@ۍ?:: 魢jq׬{pL 3uFݰSm]lt2=ݞO7MZuťʼnY:ٯe6x.G);De':Їl+ iܷ۠[UIaJBNLz(R~ IĥBE4sCO7n8p]>'O2p2GSԱ+]Gӎb6<[f0YQA*[/m|#Q,oLzfԠ5Xg[x JS񧛧-,{9!Ox`p.=>tID;wcwe9Cm|ھ J#~"3tDeAM0s)}LPiN^~Wr{!1%ZJ;YtSxY2kղ#p9`Z)nS~3%Ĩ5@&u0.p44^( 0"Z@r.'ih4*y#< -Lv x2o' 5Vr9ng̴jў{?NU8.T!IW@*w.>7m2-%ΝJ _2'/],sx6mTxjx(`-c>i ۱cWk-z4²> Iɮb&bɋ_\Tc.BT̀^aW;?"X8XHi_1YpT+6EP6@C}gxwI#·Q,m]1QGկKkm=L_Yi KPpd?9`t/2~\{9%"oG-;?jHw5D~ioQ,gRq#XLJp:2n»žO/r+ʘ:1lA8+#G$+&[C 桷 iE-]ir3Of#Cݑ %GϤm gi)a12Qc[K̽9J%h#EEPb0_ $gR K46Z,|l fش1L&˵EFMb٬KnJ8\K̃c:"8oitL!n{ ɸxY-/Cb;%m&m0jD̈́~(M1 ɡ+ddV\uATtת:Ik)Nw2ET]8SY `ܕ7BkYɖQwfణ9ddÂV=eخ/mV> xt[ Xr Kb6R䦆%ImA@mԮ$pbxt JYQqؗQ)c-Ls=@>/aJU(DH]uO_%?@qMpe%[W}(wh[7S{g݄%eQ)kM~_ &#̴ } lFۖ]rlfߥw)0 }h5 :SZ, :(0htgG%38 MtR5R .F@ 4ZĊ5-҆Kʶw3§/4)VP?}5?g#SV$*w OL#Jy-v_0TqGq͹@#*FqTT]QA*4\iniyZ$[KVH+fvA `rp&PԪO_pzt_!eE% l$DŽYsp*jbC*㤚:J-6T:Y]̤MOr8<7 1#[,&oBTZή,:S9fg1m:'U[jw]G)> l:Lt^Ndmo%D\rKk7 6u *.c~V|~|X'&' pM(,Uה2¼v`gˍtcZ(+lGCA}&뗯([ݠKhtH" XC(7Ue gT.R}\*1"/= pgT ͑ݛֹB:МI1޿%ekXل)#I54ywy1 r)?NJ)cDyh¤:@ 饢 ]yh.t!`(FW7/e!:5薳#x90^HT$1DȝH[WcYm_*J̸#rDoR;yq6hRm4dQwRĄOl%;i]JouZ6VZ?>D1|6iOF)[Z8qnqŚ3L,8#b)&:fM9o,:hYėԩQN jI/ڥ;+f!qjDbس|bG}{Itmk{mc # ^?y U2%0L'bIİ-[|07Nn$ G߼61=Oy3/ I 3+ɁЄN#]k)kįO&m?HSIz[& M&X48qq-Lj]XWdEC;b.cPUH*˅t> 3dsWNgXɟ>s "l1$/! {-RTӥĥD,Qͦ5x-KAE_h IE h:@Ƭ[};9H,1ac2MeIwl|cX*v7SUr N d!IjGf <(kxl̊K.+E14!ltmx{V05_B͜N\q k}<?]YPPӯZv(fP ;L:Cs?^n4a;&qŃZFh}Qy("p)[qLf$>Ұx"!"!ig%OzhI ;?j ق\$TeFⰻ1İ5p`cji_F5' JbPXrZ(1bc0@-(!{~*]]<ɂqAbzGҡPzνlb뛞0aHPEL5E#QUnXObዊ16'CkRFMnn'$!gk<@o;!M7+o-SM%{uOaK7XB+9ȉacr,R1MtU\٤+1/P<"&Mx(<ۦZyz:R]2 ;]tf6_D:AĹyF>ڟ+0 [wf[NdgwZ{e6+1 !V#,D?DsfqOZK4i6s^Mh [oXk|]%j="t~w*CAV`8fl5AcHD}ȨwdVWdg"+xeeGẊ'QJ?# zhE,8^I3mͶb۱̽jP3 3)ʃY߃sDR}w.Ae>q4mhA D=JD54q)DԋtU0BɣW_,22QS.? 0E7_/kw E?ƬHyI P=r3ꞌ"M bH|n. JۉgDqDlmV(융!'}˰`VdabMgofKHcU$|E_Q1iz#(rI_@; As..⁻DYw?F-ɶ 䗝ӑ#+z3 &*D-^y7 N$I2s2;򌈭p oY̲I=(8\e`ӇH0{6.}2:UeBv%sAneoIc`#*GEcOR¤NSSf 9A_qh-Q/)ib P".p$)-_-2i U ݆vfbӜ=0]-p>͔hX|vaBri'Z2|dl!9:cBB (Ha[@#y E2持[ $T|KqB鯗Nxs(TfԖ,ESvKzfc>ĉ%@>kB ww\>˙KWGG"FPNueϐ+O-pvDxH,ZhE}f)"[.kf]-na_'8\7\]zZ1S?U㍉nGzv#Ejw,%zƱHt m 銑IFKVblgY^@/ƞN ;1G$AK|T BԬq=H_uRjUvu;p+Ʌ;̀%4⻥jLVJe !Av@OvP.gqWI75UYq2g, 82f+ fD4(0xj/긶+tW 4z.w{,RqaΫʇV9< k@|@aH/lkg"Wd~ǁY#Aq&z%dOX]RP*R4V^u.U.nbasֳ6jClZD"RZPȶx2MN<)GđCz?F"%]ut ʒ-EpUKrdΘ-T`GTB>ӈ)ǩ'{,£F_ȍ!P;Q/nxh0H?TA ~.<|˿hPus%y' W҆ ‡d]*~ݳnx@3w_4#'/!7',GYN*1SB5ZaWeT3o`Zݟ)6.c>*•p ,*SQ *DdO/d੓IbiEiq]=&dR8~Y'%bܣ0LzQA0g҂8O`(MVp0z{3l㊡Ԑq,7f=_O2'GoǹeCfS϶6nT"]5X,EYۃ@'V/ژ2)gy6/"6>>\ HG6a 敮y|Btؼy~)v:+AC-q[1#K(ц<͡7f QLxD.1s \<]@/ၥymc?BeQ5 =:jݴIk8f`am!eqiʢ'mqtf%Ș ?T0g(&V HhWž?ٲbh~RJ X/}8t/  PJr jx̴+ry`n?@o('thG|>xEDٟ(SvCh K2 oEcGBK{Tn9~L,VY۶lrQ`OjCw _@GuF&PGx`?꧂ " ap7ީ&I,-|B@v_!8.ƙm  ꛪZ~yV eӣn7֓pĻdW+TڨoK~:MO?7 $㎘Y0g)v.Z;y9sӳ47QF"+Hg_7c 3VZNF¨43k*4gqೠh-y|:$'9%Ek7T:N s2AѴ-AnKQ ΓUn2$yFھZJ}O$L0JmQf-eL؎Ϗ%=5DF:NQx?mV a#mߞA_?MVϠ7=E9b?$n ,4kN@uRiw'/|f^n:L4|A>" E2 v-+5>"BNjSɡh¿X5 ]T@y3CΛzvfP8mI.R'wC(Vn%bʷvb#!)bөxqPNҠ(?m Fʄ6] Qm{e =M6aS?qi]j؞nr>?1#Ut왵,;Lpq1Dz-'?"ws)g&Z2Zyq-<i?Gtlo4TAN!c$iA+Jsiż:@nPGWh%fVZV䐐U+/1=ӛk?yd8C~Ѡӽ]yၻo3VganekL4a\|`k6 +Um`9ąb[HL*fm(D1t`[K,ugaAMx }ZhDf$,B.3z9lR?:W|zsYvdD!vގVA_w o,LeQ/%xvET4Bf@ͻ }.EP$cUą$a>z," W@ԟb{@%-g5uIаіUHy$T^嚍mp4B'(Ww? !?Dy:4P)V y@s2l $C?l */hcRN%<猡oP4A7k^qS'gaȒcka`Az11( B g'%1ETRt13ۢH^$jLuZ)YwɑޕT.r9 -*ÄFaf$2Z~}%>r*`:Q1vaR>}"Ԣm*!sVe]lQ3 l2oCm~ iKМ Dұ?d&R}aRhxC5'׌_#:Wj2JV4ed5'UWwʑ؛g_FECXpiTvBÈ#@|}Dܕ-A兤իNe]~)%rX 1n`@I ZWmgRC^pb=cWN0ОnehÇEU?](]N]S GQ#5*^1̇{a33δq_<#y=,J*o OVՙ G*jEckc+i0z)_ )e z;Fu 8GO2K\_<̅t|Ûtu0Z '"\wA<&a-,C2}@} LW_z󿐷rذ+`l~DN:۝8c@APsa  lQM ʘ[ g`8B+^I~?FL#kt6#)F Q8® (ZaFgo9/ ]0zg<#:teOE5p{@U\ k4J"nHA{w*pZ3R2ժgM/ wX?'* a$aD'_&0y|e%g 8.S%ԁ QD2+FIҧq|gHEhP&d}$Y/tKx^v} ]Kuf P',T5}<'u rgN^;A:[yB!a՞rеMk-cg4*Q9C>iI2Qa-]CM!ж,$NF'z 뾧$tc(8FhrFX#Pvy"ѳ#'Y(4[P՚Dٮێ-٥Ifp!{ެ)݊f$WQ3.]&4זWs޹M u' v{,K[:w(P >pzcq$e qba7{p}ez:#Z3H$,>5L}j w\ݮ-,:r=O@| /U ɡh80Ҝ/S&fB]~:2_( OARo.=,6|2=Ń;۟FHZ`^v sEF- 7Q~}Y*o ؽݸ}ޒYL f:Mޮdb-.>k{y( aG<ۃ8vF5.[/Yb(Lk* ^O9â[/kaQD6\ dWגqo+{l֗Gt+g/f#}(P{e_Z(_%~99朱G5x%y!pnt e+s쮂_ =(޲ޣf+|[f8pZBf4P>̲FJv$+օᒔIptWOl9:b-O/k ;@ ( 0 zs_E;3۷4րo=ܢQϫ*3uիBc|j.nrC>{$w:SD(?Bz2C m'p7TglRr|V8CsmD )r-Z#3F1%Ao1k҈jh5y[y&ፘ5g֭s% 83ҟ5MHfpN4,Za?|H62GbúlΒg tۼ"æhةq 猿LAjĎ< nw ϐAN̞ƞp7sʇrӼF[wn]lY{ӳp()^xx!\_zh%~v6d Wu;:݁nHعhcw‡>Ʉb{eXSW.QVRQs4σE1TBz)3:J{5)Y0 ebvG$̥MP v-v5!QNd:91}v|Ae`T9ɶ5*MC㗧pز}|i²Ȇiuawe55Dmc>q]U|'pf9f a [pK.$+ޯj4%J;ʯf@T(,2y'%+Q9_wah\H`+rL{/X(7mBsU `"9~I9T[w/&dcu&v^Gu\rEE+h #\`Xg>(=*q6qAؿ%# $K<'O佺 H`**k5fX'64+ Pͽu;4^M G4:p6 JY:%f.̲BR/g4~8lκP]i`> lBa 1W_b9'NAӈۃTP#vi 3{"r>nT;b€J"YegLWn8E8 }]2 1M1tG!ԉ^sK4wVa F4i+CN.aT"!Z-(oHDfMofXXfG4G9`ԺzK܇db]Rw&o%mo,7;nc;Z1@ͯan~vLIWs$,cYñ&tǖ9yCmu>}6^c3"/5  1koE0m$y\iCi)RҌ̋Az6iU\rWe7ɝ"":~1^C{Cc*Ǥ!S2I\{ƿv[O!MD\YKX޾Zv#?1 a)Z=5Q p2߰&_ uk1F@oX󽘃h&',\@T/f+f *rsso$fN qFyꤼ:$e=RWǠROTsKf Â\@Cp?yM }*{tpFCztyWUN|QY\~ ,8"PyKPb <ڲuh>voRA#(ԦC]GoԹ z?V<}!oЌ:gYW*LqzKi \罬Ff\zR劊owsZNܰYgC"5[P#̓Xs= DA EnkS"*m]|MF\epZJwg5龰4|T{%z!2)Mq=WUć(HLDB+55icFJ=q^+`xXHG pxXRe`Z磚Da5lB JEDf7%<5eɳ[cN)ӿÀCwߴdM,ݲ8~T p9a11qB7Cn8Mn3eHnh4.WjHuԌ 7J E ~#S׌~/O&mw8uDF!UvaaSv,âIK[_[̌|Fc-aXuFL)?^>Zz~vW;RqY>rV% %_'s &j&-@N#MsP:-_;Fq[ͲǸ\9&!ab yT_2?R3 KKjޜ\?Ҟ'Ŧ#G@8qK 1wB e'aଜa}wL+zIe6ۧp)s [f8 ]$ؔ遊"V{zcGG6&}ΘΩ c-ϭ;wmOX;T t1!~m`Cޙz䓞|A)f4>SpRJq4۱RJG: w&L.뢼)dEд2q@Rr%`"Z EZ ʗ` N]װq%Slg;9%荋>y&NۉUl2o`+*Ǫ-cKHUZ5^E q[˓9ulu9CyAL6bs'$] hxfϑ14? 1$(iFcDC$P]j⼀! !aqwpIe71B>-S=|ɲ(:`#| g94ie}Kj0v#>`y +|Q dMzDHfmk*ig^ c-@90eM* eͰLSI{*v>ytz6D a8#L^M,Ʃ@_tIm~O*~rMCr"Tw`PwLqkq:( >'PyqΔ}Gx(K(8ޜ.|{րMlR%+z={#cځ#D _wS[aJnN.oF\2|re0d>=ց[<;Zo61+-nz|JYrk|™̗ej*yկLq-15W[}\!PD_ {=U4JՂDAg M#Q 1NM=pXňu_m sK5 tc]{8qו2h uRSv_If^C]#-\Yzm(sCFF5FԜi=-^~o}`tI}+*$>0%ZOSx.NN.3SU\Q $tlUae +!`U뵾fojfg9w"y/%Ls!.D[؂M1( VJhy;ΞXYhaD1Gy+TLB-&HdL9G2 fAQKn )&,mEiHשbx&M`Bd=[Z]i_ޔyЕYI?ڹ8= OIS<- cjV%b uӟj?whJ̊sJ~uI .0X,͒P&qO!xTN5Ӳ 5+/}j=,cQ45,O_q; `MpQMbPݱ pcf^ѐa{̩+K;'yp4*_v?Yj|'~8YIC p L >օ2SlQ.*K?d{r9:TWi.f^.ZRLtƴs\5 {܁c7O_7#bO:hoJ6urH9\ bڥTBi\ϙ:ϡ8HsAJHؾ/흴 J_%O"$HeB-EH>3fq+}obe8}eꭠV;J ȅ54V™\PnEX EKB%9}SVe,Zcr|(n'~Aj՞9U2$:;\N))*{=C'`p{9^<\5wiImA(*pyUH ̰{+Qug2gPlqOfigpnYL% oZ{)'@$䳿vnBn<['XPq!\O"uQMFYXd>` H噌p8_-}. gb͛mK (=w9`?hlVzh%Dc8W) Ylԍ ּyj[IJ R"Vlk|F9rp=*`)r]8F5G -0F'g8}̯kc򄔂pFnQ(9H/i3 NY\) 4-(g#f6eHb\K.]i4W|3NEs7\:Fk+1i -Wڈ3^c*=*F  6Z-K nn#F|5P8E8 1lvc@)$ǭݱrp7h13lML0 j.BI5":4tvO #9bF鏇22 W ɲdacd!]}#Dڡ`Xֱq$7qrþL/x^+5ֈT6 B (ȗ/ RTˆ߆CM'3T88P5[(! Ke%E*ԄcSv^:>h'' gDE']H ^Q0NYHI `}TJlғpT)%OoD S8 Z0kIO{Ay/t1f$TL|=sy7:l;p;/7XT_ =ʭCr(Cz2vj*c&:{i5IHj"CA_,w!4ч;V1ѣ#a;A?;2p/`;n4H&@CK(vib px=G_\Y>H;ʾe~ Ί{p'7֜ 9saNkhX]=J[0$҅Jt\W`gk39-@xux~VS(P3q"Z򏝀Qb-WwʢAf2{mU R>B(;ޒ7BHP+j:J"v#uz+(#UUQ*:L!{$\}Fg}Mѕ2 ڞX#7PpVMhQ*S^F9HggTizNQ73'tM k0C{^ ,d{. ͮtZBwTJuAp8W Z }f,3TbApvd0m1]E/bR)߈{^ye`$[ar)}"SA1$6[^o$%;X$1ն<O$j ̡"Qmax2* 7Y8IQ=c2}t,> ='n!Ӭy,yw u¡/oEbY-aFhjH ^JʒGi3;ɧXs+Mř`@n}DN"8ԗ6q 92'£u0'<^uIVXiyڊÏDU28Z;뒊m3`o7" >o4dju%8{9a(<ֲ0\&|播]y-u~d+|ʹZ}'[/3ɃHz=~{s'cԻ[5*%6R\`@"4T&Hcn@uu$g{O@U:o?g*bOj_m l(LT/kغ+hki=R۬sAVh/iU߂R#Il($1E~ ] ؓ恆jD,&d7@+^4>lÕ|;J'P?UVSO /󃈰 " RP?EVZ%*ü|Uf)ԤXeB!;Peƕ&yr,7vt^82Gl`L/na_fKn$S"@OZvG @;/؈|xLeHyVuӗ5rT/O~ /M0؏?;SrT+Ҫf9ڋ&uF%Bo;fskI)wێH-o-]pNCA-t) )ۦBF{ʿIHE9oRI SC9|N"2PgB=n԰rrG:Q3lp AfS,{KH|a@?"n|Y0>jl.__5weqYwf󋳬̲^0 on˒btp}%0]~ HM !T0Qb^}qbC ;X7M[3=Vgs Fʹ63{LsBj%08=E- vS"Mzj; &(i.Q3ֶ扡,bK=T:oO8+7sؘ@,e@d eє1HHfzpK!Wu|hN7ߏ e2WVK]kqUNnTxEh8PW) MG8Y νk)ɂSߐ1dw)i5nt;Yd V?(W9RLAbw-R Y촃l ¡H YP GZ `T<Њӕ{]mKw}~_@rȸ4%=̋؟ٷ){/t~װ0)&/k3P,GD0*;΄L7f'>Y+GQeu TX'"1Mo#:?|ʄ۩LјC|?n+ ??-ȦToK30/[ 6W mxJFyi|wUVX1dPlf )6EWdיovl7ieQ5^F]Ym =%DODIlYO2EqPBݻ0w6N>VγvJE㖉)޷ Ɇ +gR~:G5TkkMe9* ,)#t?O+&);ژukXcFn]uwR2M*DLݍͷQN6:n !QSM1" X^'D??3!=&ZElgJ#U_5^N t[}4?<"iȚVq[3utu'a-ǠO40yF{dMbI5 kÕ]EÛ%4УzUټDǙ%O%ym/PsdURs4os0/6M|l][`E?b?ƪl+~,iB`q5IITZGNn&~Z1,vvۯ(<lpq|2F3T@+tIdU7&" Ѧ!ߌ\/C1P5|QIJ8&57,iLIȇGqO*;{i'yR\KA`G7Uq4? +a~#ZХ$:Jp(xt&Y)ȜtMA 2uiZGH=lGW&hP9E(U<'dAS!p8OU>:gِGroEF {s#LX\-eL+'|̏1WxFu ߮U &0Ϻoz~X~3$y$!8X ư"5Zт?lR |aq$l0p TaWcuKKެ1ZYՁI,n2@M)4VMJkQ(!F~h *tFV08@|y_71yȔPmt5WSp&od22ت|3iB2JϞ~Ԃ]tU͐:ߘ,x$o[ l۵HLe\Q(:':þ]*z.9F|f!n {0r<]Kt(ĭZ6\;ZIcW!'M ERSt*\Ґ ^M\$iCEݙMbw lyJ$Vs+_y?Xz6 !%W!fဆђ&=ΡcEKR.-,ĆSqd\5 p> SC,f*iqsyf8 (hd9N-b{v2s@Iv fN0^$q>YNԣ{ 80)1𧚬RzH M?K}7rjR c8?4DA-9؉ՠ@ճݻ's ڷDwTPkqm&|aDmA/SOv^DQh~ A^|)cZiPG7PmBe_3=bCY a;/!s~BΆ&Cb,L+5Ucy$CpDߒ] 9%%whr໕b ~[%E?h?G/źJR,8 u܅k[̅pY86 SD#l<2LQ<M .^osъ!]+zEiԃ[Bj/NWdTuR#\{Gϧ@|IZ!g@Wd8}$ޗdyq[zkE]^fA5WZVJ)vi ¨ ݏ8)Qc*[F%`ݕ,?VN 4D`j.v4w|Ga^8s uV'J6̲詯iԙl&@ xzE/:t3L9LE'#ǚ^U rWlʻH|YyWNgOQ_ok_zu(MG yg4L,"FD;#z/jF!/oO4ޱl  ]bj?!V/hC_|=o.6=$cTF:-bЬ9ȫЪ0HJ8HJ;-lSezB.S2ܖXyoo2`98Uťp!s͵oB8Jx:F=vY\ʋ%vb8bfD c$Lw6+g2z6 Vt{~'UĖ/npD\]tI$p+ caEtHpf\w+>oSHX+{+Oh_T9%a-NU7DhcH؍at`a?AX}.#F)˄ q!r: u[R5vf-b1(l̴~} BЈ6[k6r 'ahuDL_ `(^QZT!Gdd{1o0=Rbv 6ЦXrCKRR[jhDǣj/syqo- |"\oXāo,| yx0mɜ>@#k>>XՑ'ip5JJBrzc[?G #dW kgvhqJy"J]aYޑ1=+}> r3gQkZ6}J~ۯXG),̋+P|ajRS8$_!o<ȸY2JLGOz}bp1 LH}l@بՍhTWxB1 rH fGxq",=]dYj_+BQ/pE^^ν,H=ꖐW@~ ^ .S=tm7n@ );_ߎ2KI[3ެLpcVK~H!#wM8Ÿ&ȗ=ƭb@fD 9ne u?2au\ťڍ-9cjM+%({PߧK#Mgޡ[|M۹tbg1 ֕%Ϥx96Bu絍It޼%:T ԶERyY|Ňrx~e;rk-z_;vgv,O4Ǻ~/.mܴ!p1%ф'v4VOŸKux&.?b2fOIcȍί\n5'W,^W@踡QC,M1f?u?@l>t$;'F#;)I7"*4 [$>#9DfPJAaM#=zau&WճD=S+}T9r4 |ApVBPB$hH<; /NR B Cq%y#$t+`Q$ I!Յ^RUҹ|I:X~Cr5mOXG> i5FX`Du4 ;F]i(+TAb\N[>a<=J236nb *<t:}w]278jmuKKBKψyd $]8v*:!:i˧ `&.Jw.D^~pvk( Du|b.Uk[pʟH(o6y>7zs Gtm?0o"of0SEEd&*$eNmt#86?%WQ,,~t(Z/N0=#Q4B2PhD? d9I^S-Z\w3(*)X] U˶MjEQ^;(ml%Y:n:L+/$ZD|HmD6Hskt;ٶאFECU~oZ~a _O=Qk) |xwJ> 8hI/=WpGԱV>VW=.'s9~RhOgZu!yqƚpޣ44)_K+y99g;,BH&;5<#5ȤOI#Iqh1?ɝda@d&vk´t!rytӀٹ`h,ֳ@3X1$xH^:eW#u@v\}{tU%-8?є_!{ևÀxcfX,1?OدĆM#`+[v"| ¥c@J+7kAA'Ko3Pn!HYy6g]p]'SyiԐD8h吗0Ҧmu|9wiAh͢Capn0FnXXב֫>$ãAz 7ǯ*%(ֻ,&\]A⟸x /ΉC̳S5^,/ 4LVx~S0]t"F히ƥjŬ&Z)ia='I,p\J!<[r.nʒ >b&_ÇVѨnbKݿVae%s ra3PhIJҀAkSDyn[m  _]iB6*Iv̎%\NԋAǿ͇e2۬t-#q۩ K`w<k=L>ᶷUxNLWv 0jM*%WE9A?SːNi0S_`HcS5 \ ؽjֲ vld԰ ёeLE-Ey:V)Y_cYCT.!3'Kq6^kNwl/`>&7'-jK5;y$ -^:P>THҽUStʰ3*8RfN0אH'Ɉ+ox U$N])Lb4„5}sk:_\2YV?X5 j^\TDa%4 LPT\uo[U:,BkaˁMMUeס3_K aBnÄy Ke+A,Mԋw[ ~ ~MT%ŬaN2/*aC+ gFi"hÄ~wk8I JI^:y̍@q nn{|`NQē8xBa{ڼKoc@@'þwuluV_HʱlaT\`R6|n^2r# *o]Ɠ^l5H@-a@zXclA"_`I;ansbh;\Ř+ ws5I+F;`EWN6¹J@$W%݁6u\(2LsUk2ob xN- =Pzkv2ՐQ )HK=* ӎz됆'!bOTiTE:oSUM-PN!?E1m,\c- &N^Vsx! #CD_렿&SnGjɁ zia0s{́j=@: w_.1[{3u0'gsr@1GUoc;j<ķ>%n_`5<]9Qaj4tZ|۹X+2(B&("?F :dHnMbr6MshVYΨr*z!QUcז?2& r=rj_K  ɚ.N7fx;Y;="KsgzȂ" 7#K=~XXCzqq ,ڡf_47hɱMle8!n1wsAdڙ $ r:m~?mR5q$ۦ a}s6`/P7T(T=9ѧxa1#y fH—*GY#*;lmQ=/Z\ 9~Zo[2\dft:]y0zZ "$ܺBu,x$ `)j9keѕfV` L ^#ōjZq5娎p 瞷\IaF'CE9 C8!H.Kv$¡ܣM :8ܦb@v@Ds"Ta^}9s{٭=8Ksrzd. LhjH0Ϻm1'/!_w@Z!K-u0heTtp;ځAPo ;Nr s=Nbr;lp4A$3h4zT7o)*紥0j_ڌE^kt3x$[1wDh#ާm4 EAl ǂ1drOZ>曥(f()~~3R+đ U8tA-=x7y,urT[BZO'"SeC^B-5k .VeKvEvZIq8l-yz,V@SΦ$6~"15{`L=Ƽ[}jATϫg`FWo7[TE61`]%?҅C CG6J RkiPʼnZP),P#΀>|Wn (w$t4[[]=W6{Tvé_$UbxW7LPdSLI;h< c)/1:"ݗ,2K78uss&.$*3^ԓ!ʩY$X1 n/F.|N71<6!g p6y P} SUB6Է4u&㷶 SH?ڗ2|b։olaZx[MlBFzhUxA ?#IQq&@ zG$FPGg\li=KǪNexVZj.z}:JV*wI߳&"OsᵓYVl+xvxp/| Dcug(EE~SnН!6!q@Y`x{js+-x)sãA/3# Yq@eglljaCzAzڭHį+MF^I*'FH >d:Ds0ͅՒl.@Ah֙!3:k, |֯ǁ~7e t*3UC($mr(]R/42W"8U[CC|PZV&4Ѹ1}«Άf4R[uͤWIWs>⿄pgӟۨoA}M*=XU6;sk/0zWK\:Y0b&Nq_W5 $]ev\mіe[Jcjjolq7˂T#kDSU?j|zx!j4'B iSXQ슐aW;( Zu:![_bT,azpw~3`\ͪW" {˷ֿ,ȱܤq%RԽԼtn횮 :sLL B&SMIݡo\:dYH^Y+!e+V5N=:VD5o-kwԲLEguߓ^>&J'8٧Ӽ!9-vW.FB,rIIC" QJPvӣ3XV.mGB$+HF#'}ʃk"<6ƼįTWMdA2݆&6iyA)qIEy]Zy K|+P(C`:62ڞה_0F4`r* (;~wܬy89}U^q"lARLa8}!XYd  5K{Y-5$NfԘk"p+3HIBww2;qZ7SMR57Ǖ"Vyĕ v!r['4;M? ̧_KP _0ZhP! ե njm٣˓=D2Mrmqp X՗tsU.]Gmσ۬:(:mNv0?rJŖ<8D/FסKە" Oe9>lO~h}gwΌށYŌ.34?Cc|q]tjV?XSMGZ*rjyw {$q>4sB{|r Xys=(mFk΅6Tv5ih6y!3OMɍM+uJɶE#dHB_{G:x0T-{'US̅W5ESNj.vDdbǮ~ݼR,1Nl;:ӟEŜuzY*]Q.6Ocw- Zr+<PN C@uC"ZzA K $-,׹ yzwBA S4{y)CC[-UE2RJrF@H:"M:z"I/y,A' ;;Lye-z3K L֖І[ 5+w(SIЗ+5ț]V$*uǖD#|+5^{iaSfZri\/gWp,w>5c#}YLhݎ7]pcw7t7,bkNdVO YR,N'ݶT<՛=[/'_îaFNLB9-ϑu P:muqZ Нq6~zUuQ?ަN1ڒKWY(܁-+8r9.7Q|hψ{ Xt dA܍W(߼ Sk  8Z*BARQ+)_~уۅɖo*3 |+xw~` !IMuؤOREv5¢b0rtX/#e`c{ȋ[ehXi|M@B7h xs/0]9yLE8_L_Yh?o-fɿ.g4|Kx#&V>H ١ Gi"ՆM0TnrNPp߰󂕬r#.x,͕ Gٖ-tmAdd8Q6x_&>&$vG]mfOxÿΤ%2{kqe#?BG #lDIi~J"7lwwAqny+-7VSyWy%p(3bg?n/Y-U9>nLh}inzPDg7juD :TbSk`56#m"5\bh!8BvAwGC}YYh d׈АDщ/~#tD⟑ 89 D2i6 Kj4Fպ(aGt5n|z H^xE"n?x3<JۮZ?71pv#SK>seǯVT_=<Odw"RVl驉< :XF\W.>-*[:lj8R9lمGϮta33 Ԥ\`T_Kn^M rSdBc~X@$]_8)h/릯Sga6צּr`5I+{E8H &XI" i&t@A=&$^mֳnq|dg!UIJsHu+|=;,+StYgn}| k:Ϡ3K\Q3ԐS&. yw7個$W3 &8 !`~~j/aw: 8{1Fd5pHwN-t=o/>HGt}Oͩ {ysMKr}n~ =~ -Q [ B@kP_e!/.te C ,7,ՉW`3WáJd#U ǻz;= |<ֈ H"fr5hOw:FGb  eni\P"HVmˀ(qO<"LeAVg%p$f) ͹W+gЙ2w_f|/1 cfP3oj!e2#Ƽj)RX'ثaHmF?L a64[Y>\B=廉 ޻ oÐLNIV/a-hU`%σC52۰Kh|oo k?kζ$iK l(}Ct]%ܜ-5wƨC%8n,$ۥ~|FIr=f8O)MM ܩaL;NvЭ%e6<3̃$fcr\W:0I0pF$̴nӽNj 5,?J3흾WzQu&r ׋_@@_T(9~d $كiO f5^ ='%|yme`'aDvD<k(lv9N͆l U7_ݱ]rƩꏢ%Pq_af{ ysԌӪ_sc.QnlV+s|$m' dC3د5:2Mێ]34, 4l<=L0ĢTgtݟ^!1 ZvY[Af٧=-yO"XxH[{p}垻B!&D#;IO =VƐ%ivˌE!捅1  !f_T>7N;qڶ>"Q'ૹz |%8CD&PP$JؗY:-gYI18Q!zU% :K&;sQ*/"U+=[-kJ 咨3GA}[\,H Jc S UQQ³E iG?RY(Zett2l>Z-uR;%-jQp61 ar&N~nE?#O9O=ȫbw~s.poAr6,ۗlB̢.(q/s-w.T,/&_@-]-j sϪ y#š~X"F[ ߗݡ@`}@/;E u0;Π!#1:CohܦX 6oHNSE}7[ :_8?(|;p f)fS}2_*w}Wr}G)E6᣷ʕGU&e/\>Шۡ)~ܙTW`cmLSZܼȓ8 w^VB P8@ ^KLlt5!&bfO: `UJ]FٲN8X4N{p'~G~P6Ol[4O޳Eo‹ܧe _&}؎iE7Y.[)RV=t9N4$P $''#ZO#?}݆,]!l#Bis_L|-r4k1#t 'OF }sfejΠ3vvȘy^(&Da]Rf !@B^;S }"cؿVor̓e_%E٪Fi\;I/v\RΌ+7L}2 Rf/9M}>|o{n% c}?qdO5pk,ޟ!;1YΔ; H(}r,>HKEFG=*k;( Ol?qŭmGLEGe:ܪm*uD.iʁ??<5u-t ڷزЭ[ =̹pNu1Ƥql-? `XofiOQ>3X 3,_0p%FkWTE6j܀k{(9_Bأ)>HwMMn#i Ͱ6)}ܗ&GI/lPR!>XrV>; 3iEf*0R؁ ʅ5@ʮ ,kUD} ؝j12X{m֨KR@N>LtwBX9.qT%Z8+BSab퍡 ?Qw6b FO--  dO{V8I2?Ht>wGK]:)hڋAv6)#OpSZ:K("Ay: :Sӌ =DRΰn=.vC64Xe.?U9Rk; S+Wm9$`*$oɥб/xĀg @Dt˵|gҾ1eRSCͲzK4 /V(Rʄj@7": .Vŀ&C1cDzP`o,'/} oصB Z!5:{H2X0&i[S0](ZbMDgqQTa *oHj}J}YZ/:J*w w勦Hm` -AG6oUg%z/s-^[j@o>.ilsl vmAsB'uO)yg5[oU`7:HdȤ+bfӼ kVi [T3zUy3"3)$H^Z<"E}TÉўTfdB4y.$ȵv #jd]gkojiLqE-/ Wx N` >= Z? E o4 JORS X:̄.ݟkځp3;Ũ]K+K|,[:wskwHpVQڝjKȥTB>U +t8 BC0%*azw;X NXS&dM&ߌH v@y|GQ?w&qH("\Bâ+SG= 5 ʼGAD"A T=.Sx:[frsPzqbp1+>xbՂzO֋ᠨ>USzCA^_Cm(z`8v ۾a~ѕ8>ϥjK= yF"˭+3Džʤ)>"s`CSsS2 cdsggrp)0[vRk- (l|wcG6vȪ2MfsHZ ;',:aw+Al^o3c;5syWI٫ɫ 0h)&&K JHoB اR'ŭKal$CwЦ4q16 Η֨Ś) 7fEIrhp0Thnْp4oޗBh XPa) [V+<Q H`,ŸVn#@3}]vڠl5"K" ij jcԖ"$ʪ0YH) $aޖm":Ne.Ekh07K]n3 *7 y<QpЄܙ/rw5wq/2?w ÷.f#RV@T^wְ_Vz8!X>|^"aw*?W6GyGhN<{IP3ks F}΃Sa?&d6[HyjnV=3EUH4D8<偍 + ֶrd^,*x~U xg3gHk2Ql;m#J{&0w0i˾dDc tz]rxfTg~``zȔ.)o޸9nfOzSPo4>$e6I;MO_tS6ݦao\E󦩘{مBY-er"ao?G5>Vs,zvԌU3Cײr)! (a6M;w](tKGWnΨ"+$Txդ hN?ZX`N:ζAbc.%(ɇRҸ"v=<nP]OrzxYl!->m35ٍrf|M3Q0Ю:l1"VO##`p+u)שW/ \\V ȼ",yOrr]xL*Bqx8p;NFgt&Y եА8j'Σȿw`鄓W+$ t[( Mg4 ; u*yeOVK1MB>=ĭ}tY֗Ɣ~LKSTwneD}D=1OT }?ϩDQb_Л{w١-О:Y%%RknBޢƞƟ6wp<|P ?+& S(a~axct苟@h–Wd{8+(X[d` Eؼf(OBз(ܪb޹;lr;O}ZCpG&58ԘDslD4u\,yL KyQxkg8`I^KDwbrj .aqaCC3|C/b1m:OE])5]$1}ZyegӮ? ,*C&umN1)l,[BMqA]E++0&*=ʠ4S9ם*@'0SZX䠍m24Zx_@vFX"{F2;U8˗-R[vz#J-A|֕ ɪ6'HG91_I .M L0'lf$Ԭb &- @B{73<6J_$bݫ||@1;4_RTxRh,E01?dg@w[Tp `wwNRO%nѭ@?7XH>NAb^~$VlE'sYRfv#EZ^'^𵜏`9U^|*tSsvˢυ kQNm%Cw˼QL*9]Ji+W֬Oern٧Gy0rg m11)4f~C(rd~*o3xtIY4a ^zSQG4MBa#؂O_͈sPTJ_9 =v|pq1Y(ĬN/M!A_W@u uj34*ՋȹKw[(~%fݸEfvv 8WfN# L~,4$ܙ"\t `50q' A-=!w}nAL'g{7Vj(ƍ3\xn*97{Ž{>җEM:~i5ILbw赎t[N`4YfI$ >Ųψrr$zwe.q6%} 1Nt+%Za ew#6;M6ڙN:ݲ7+ .w__.Tnه%^TށB0(ZGt!ٞ8T|m##\vgx%+WReC?0yt?t L\ r0h#q*: ]"= 0y$ffJOȽCJྡ+78LYQh'YUteUN:{l(TLqt"踰~GO:DVsv&BǍ-Ǭ:wĆgyy`F3q//`DGշ5(F(ⲡ[,i߼F/JϾ櫂H)śNw㗚F0F &UMo1;rnz™H5\h/n-6E V/cTȜ,36`lalUΎ<';^ZVzHLª1IrqJox ekt y,7T.)}xd5{]Ú>kC8"d.~r瞪&9Fok yUjsI$?91Z6 =>6d4uۘ%4ceajPH5SVJ_kW>鳊VbӢY 3Od`=[EAN P W|+hhA0w&ĉ=3iIϛ؁=}Z: 6SOc__0'VuĵAϕX4!ySM-oT9Gf/34+3I+NRx&]y떘#i(^D&73nF0!-|(lk<̴OBR&SBBfkHkVl 'yh;vf)ZS%A7qֻC';Фu=}m2 Yn",d̀>>+$_pTVu#4-UH .Yoƅ@ &%#gITc_;g .uf8B?A~#B}[`m-F)EeX)=蠨R ^pdk… tci]k@հ{ŇF hLNtG\{qxy- k&(yI4Al\0{hcB,K'HyVx]39N刭t{:8CIspcd2Rf@b *SaY'VqbRPF8 Zr7;3 #Җb]A_*3C6IQkUyR@4oZ4^odXoz cǴwi0l6O#@g. xgqN2nbCw[(ei+Ibߧ ?Hh7ByZ@}Nu3WP^-y+ug \F{ɬyL'`TEB0"p;eDN,0r;s~.0hLO3ỿvG꡾=cî#}21ZAb@lVw2hHP;gSXx x8C1G>el񛊀i҂>x ]n~Wo_#c=gOBs >7Iwpn*G䫁0YGc˻w [DXp?k~6Ȳ>sb6k-% 91w}*zsuij.##ru'ϰ?4mv)Z˾9yk؄Xmj{ 0NۋuZBi*;r9:zE1W~|ḥT2v b?hd ?}J*zWJ &}V!HONpo^GkVmRgںtO DkxDX=^) k`vǍ[<bX (Z 5+J xj,dǝ@k bR@%Rk<%`T[Q6 i`|- G,"%n{wN h2^'$Iz_çbrGL edyLDgFVX܄HrDQM񗃝-2V&H[7rmo*;D,K@sC }T/0#K kPġ:LY5јI=9^Fc] T8^>>ai+yo9Y7,V,|Z+vӿ%]z(JPσe#j17}SrҐW1ɨZaQSӤyzv^Xu _ nMYеe[,p4lػx)bJ;P13N$a/Vh=yLPۓ8ڀ"+< ī9GnJwE@qpפE;yv=\JPɦ6Ae9!-R)0RȽfqB('~Ü\S>0b īB|!P%wMӻ1,Q2tiU Ј⤙[QZI8芈S5OoTތN"nΚ=~S^70aO=~Z`cx5K`tXyiH $Xc 4z;;UnN1wAl("ܹ"?^&̑4Qm9 iOT.]\:EsxrU61MO')U)0pfLoeT+{)#]2fψ( Yu7 R]ϭ{X3sC:OKViq W,nN~sdศ'Z3z6( Q#Bj u K'IzS"73|٘eb^T5hd]!)0Ae^G^B 3<\'[Vۦ32;铽OͲ[ʵ+=r <+h+»hW[yh1#F ތXpfBNuM_ n m7F|_Q Us*@D8ֻ,6^c2<_Cʲ/X M(BXȏ.Ň3 x@ !\,񱩱{AYC?ڴҔS&OWRZq9ZwO~^/yN(I_] A^GɈ1kư*5}Q/1>,(]447̓,rҁas?pGClhx1OM|O%XH6sR]NbA }oCEo3]^R޶z :Hn7,0ЇD1vbkA;l\Ӳ+30NQ3!Ї: @McR Ӭ}،b.Mm[hmX>Y (ubfI+/YݴڻR< +IƧb/>a8oavOv(]n5+t ~d9 V$F=y>~5Bl9d-KzG pN1{7d9.A#ߺs2q*ٻjf:ѐ`Qսu]լLRY&wUϱp]9Uu4,?ѝAN|?h@Wl )u *o6_$kãd| b9Kfn.pz۶Uw:sl pQqRf뺽q._?io9妪 D>J}:(04(m}n@mߨF2sk.+k>>!}[\1%ۤB#}NjHklɣJkK6HS K)nBȚIM qrb?ZVe]im pU<4#ϳq~=3KRMއ8V^PX̺|Cp4sـWA.#ߒ jؿP7 1fH=(\@z>"w"R ZՉȒ H(!S?G1Dz'#[ɟҽTiCe$Ⴊ ۮG, \gɵ>]9Rq&&JWXl ̢4Ҿ2ktqjL fPy"GݠV֬8$m^iщWEѯz]VXr;i̻b b(GV+;fAVZ R@P%>}}o=NS`"Y~K>Z5eӎuebAjsV[1\jQVkxŠ/'PТpT2zM'D;n`n(٨osJFa?ĕʓt0>à3UZ@iH-*h`5*U>V*Kld-bSլjxܬ0G!%MyWE$vhv=npvx %0#cܾ<i+~ɗM]8t+JLJ_)"']ϟ}<6Z+' _5ٍ 1>YTTtX94qM&LMcX2 ll&ޑ?N.nXﳚR+D1n`ٍ;9#ݰxk槲?C_8 8ƕoc^-b=  OҮV8n}0~,LdOоCαqC-}%F޿̯H;׬9If|AcAS"rqJKIo^w{bv"w;m RDWOc #ylєgu=CE?r8||Һz]k=,}cC,uo k2|YQUʉy򁊕yn;qR 'h'߁[f9rYr6BxG܁)2 `s3nz$ ߟ#%kbϖCYƳ]XIP܆]?*Yu39K)2--YeIςܳct/l6;  6,PMv`Ҽ =τ+9MGU^ԡX 0O'#b:,8W+ިz)~QN SCH.rKf @keQ]\wktt@Y{16Mr޴_?(=%ęw?U[ߩַ |֨Ɇ8:,?Ga46aI^ljy Kw oSnGIgs 賗0񨀭'dN]ZE+}As%Ln,3T a_@ʰ瞀;Lb]7LPYh\zdNQz퐝F_vO'h*k}<9]~tY;c",|j 0#to#a",,Y]}qxdWA<.Yztb ۋHo ҂DbrE9GEւ]<"A jۜe vI|Ma3rLlqeķiEHf4}hHWKxg_&>8%#ݮD`^nQEyzjCHtȝn8Bh >I?P#\! ZƹhnCR%M-);.Hc+M6dBhSMfb uaܪUvFbnUEqzX\6?sQ[Ci{ (s&"2d 6abޟ#2FN*Zx۳v2 foJS{emrz H7hn*^c'X- !&!*73Evܷbݩua 9x >NSQlk ?06n7/CV|-nZ4)=_s88uU,cr߄:T= "ST楆Da%ٕA(A#z`vZ1rb>a0o[pM+VB΄ڮ)Ñ.(#=T,.ńIc1]Xt􄉥c(CLxk B]&{r*w:Op ~j}=R^ ˱G`V?`yVYs҃T0 8Wݹ,l]bc4zF˸VϦb 'Vu ?>=hݍ4G+/c$~+y,7ytTG Ġ^wc-X+ :s @rÕ{Njbe{<?:2gcUqOCb_)4 `){ =l 8!S#c: oV ]q@za >~E_ a-YnPKsr}uϙZmz&GK'Ϟ-.iDS 8ɢ|N0 [k* .*azڶ UG]t6)me (=͕b_fh-7EPm惑$aIt8X]6NIOd X$?.&\̅;a5<-[>B /ivO 2"8C#m/VPOu:5'km޺Mi=&0kaK#M;P5HX7 n wMjtiɓ Oey:zJx2ry9CL+2ݙESjU2YګnźP"q)}*MǍx* Hu^ӽS`XN<(=ƕ@_XoS>S\y ۄ& `{{48)JjXPϹه 1/u$=DgOݴ-'R6$C"SxWv ;*'udjчp^ؙxP͠eqdϵ{`(DO[aP/"a5h=xʬvCL@}cvb@w/O x #K\K]KpŵH&OU0(DTDm!R`Ծ7,Q"K">c]u|8ek=Dꮴm0+JjUy_ALQK"Gq&/^Y}5T~6BSaM] {&L be"5N<)Vcڭ{ua?R/ K 4#V<;`ϻyPm#$5CU7lTq6IJuȴw]1?y_%=ch|֘@+4csDsۈ]:T7u|%Z\hy~D;\=7Mf<&wZ810@˪?Ec /trc|pwrx沓ːFy bW٤Ł$BvX 0'_@W=sIGpG_Sq=L"i;;w:F#i&gnk߻gk%,j[Oԟjνts %c::F8%fgS׶uW5=uŠ9{40 ?]_xsG 6Nۗ' wyĖr lRتT`ˢ3m}i K+&^j]/xio4Ƴ#)ԋ<%I|-{8o\ 1?YX_xQ8-N.~$/`-͆rMX75leAx\Q&-4VRѫS Rx ;GND`ҹ  {tl5fkM{WK>{o8 Cy^nUGu<ێ;u}$-11'0"zh¶dVJsg:pW{dؕ$KHFk6xŲVM !Y+iHB)@L¶;DB/F=fkh>.VpD0xP)O ě# 7ѿ_\p4Rroqq6Un!O{v`K'/5ע;-9I, i9D1.< tL—kEP,cjsf?bЏXa6ې!p=Q y) 3ԕǰG Pf5*0@ %Dl^bPGga-z2ޕ4-c"mڣh-Ky@uk~!̤t+볐\d;аh*3:Y($Bsd$0S3j^¯܇''y[_4/k2r@C5)KrN\D{h\ER6 ;/ϝY&twjuSzqה.B X_Plny{q}%64`X~`ߴ?ʭFȾTqBe\%{ Gr)+X7_AɒMXuyDZWNB=y`N(~|..:cŇιI&@ sR:`(EL_KY iC[XBYQ"3bÄrL\S9@p*Bu64j!;hѐ4FF|T3GvdO;K6xP`LߌոWG]GLXp}ϑiu`^ ӃmQz%^}-ss(yGlyDq/kXNً\U?ct# Wݏ > o|rBcјϚA'ji ~abQw&5齩\[ lV8o ɂZ..I`3AŠ&2؟^ >XxV4(QCQm!SuO7t]0J洚hEuĠ1÷NÎz*LJ@wVQICv)D6CVݣ#}~|62x.IO:OY 3d)z H{ 焲[+b$ˬ ə(,Spܨ%7e& 3q@eL (G+@cҡ:r/gl5;hkɞ\/?WP7b̻&y`&~J9 39yL~*$ /xA{"OX1ĝiW_mVL 9e1fEp-Vb=8.An Wq_.ېt&hzm lկ樛{v ffCHqMi_iEhʜRz[<:@O+bԺٶ:X3T`PVX%/2MuqS[ܚF@ڊ/I=a h2L U?DO0MoRxYܜѱhUz T/DNxʄqEWqg@>BLLUTCzBziߥDVqs7otqM^#(@d3H.Ƀ+0D:0Ab><̰:l&;Y"4ZAaO @ΝQs؉,C=; G˭=`eA0Z2o g+ /qfBcpbo ~Z`lD1V-1y_^;9|6+j _mT^nfo3خDU] \o@3ظpʻގėV;bY^_2j%R]ZيI3(i*t hly7ѐG?̬=~0 G[rHn& ".쭃sB KfŤpu9!fBq#`#R '.w|!nqج]v3"z'sY}~GSfqh=L &G5ޑ?>6Avi =1bFW1A)a\3G Ro[9gvPswZW5Rb/QTʅx+_CYN:@VLxDgUGM M^- lҿV/2W,u$W(s~#xY=S`fv+[uJ^PFW8(_LVbO9Wnkl7gӖUFk2eNء yMF!Yy+Ӊ%ߐL V@™4MU(3% As5e2@+iu,π6"Mm|vD6T"45d@-8>|g'=y"ARۊN,61Wx3}<3eɿ fEGIU{pXV B.Sy grJ/b;<=a()Iq=@f,S͓AS=ԩʆԙ!&[W2=ȢH 3 Q[]HuX:щdHϠO5Ed+?K/y^F:0C"?[(!nI*wu- U${xu {<PO4EյOj?8GBؒP r͇gx~V?f?QВAڀ\ Q8p xwe d沣$vUiBn{ض|g4=Ih7K$5[ӥ٥DFH >֫=J#}u}#VaKz#;1w]byգ=.v!Xe9x@KNV'Bo8 Vp#~:+գʏ[؎-~Mܿś3bvSFP~U%*|zmYUCI'=gl*lm^@31mG#(lZvd6 UiVC@E -27醈Ҳr e?k`CRzC=mmz,# ^8ֱ=~u$v7>־k~<,TJIee*YM|QL@2WߝZ~a؜͐ lȯǕfSWO`MvgyLǼ(iQgw Lq셛 N1ѭx5- U ݩ; w{я@x.6捜4O&@o*y%O\ipc;V-C"M8U'fڒpR/y[F4] k(#C5+^u H]:' "O\9j%/9bl~ $P4x_AJ>X֐IlFZ}X͂oL6] J{jڃۉYLYWw1js\"3jZ}a9]Bv UVCF^=Lj#\V&>K9ԡ'u V-i(Dq\-<ޠKr?@JJt%\L0mg;l H3ugG~w(rxJ"'IWT)JoO8-l4q ^5ja{tg⊮s_Wm1*DCCuHB ,g 1J}θ^UO!=rs>.p (BX[@J>fIFU-+2 B`ܑ:L}U$EUDtnm"#Lʔ!g\U-mܷ[f.5!鿱(n {"*DrON<)8jӷ`$\5%Y[? xkw R\ߢOojuyTy̍2x0 !§OvQ0Y`hz0@#gx1晞d,l[CkjG)Nhq$X#0.} Hw]U-!S×*~ >[QmV3{s*=R悼'$,Ω#yV[qN'^R̫&y\s>,²b,k+uie%k`B 2悬5ofQr3u4xXE57:+ՁA3Fbw=6LY&c4/B-ťFoEE6i c> my~ya-kH}HU/ҁJd`|V."~!&K[흗l bŧ**>[IRXwa}]̃[Y @=^#Se{]IfN0èVIRƊSG&Zw@y?,PlR*`>M.H ͫYRfu$b!=wzlMpȝ, mjK4߮jWmhoCL]-%_$v+2ColHEVR7ۀ$JQ~Jm2 c5.ƴhF Ҕަ$aHQj!`uyܖ8~VT>D?:} i[ʍ:ۀ׊ µ$ˠ?ӆ {gZٓv Og)D6&4M*`q5JQw ΤgXrKDֱIfwHB@; dj"m뻷xyjX&4x&gsI/[5| jj:OvL:WEZVɇ*2ajp e-$|=@@8bJ65maf8P!?Ab0R-b͆>97C+Zy Ȕlb|L@NFxa8H2܂w7 \%Ƀ1B?u-*1_`  %Bl |/xv^;Y3WhIU4!bԌ}ؤCv9(Ob 5N lz?TP4~E0˺s A`g~RTߜ U9)lg}t;dP^ezU~zѿDeC<˩lTg?ӎSSoi\uN?\`'Tf"~˔eAh1P[A;[闹O0Q;bHlB8*6;oY/bcf0rމuKXz0e3HBrPvSdBSv)&:X/>| nY(.DlqU2%Y%qVd_f VzX }oLbqA6V9}Ure{~W ҜqG; (a#;Ǎ.1LObfNT7PG.U;[2Qj/HKN&KzxO\DŸVxo/@xH ]R%ưSR3]ۘ #BMp2ֶiRM1E[QbU{ؔ24fwTWܦlQTBh= (ȬzU>kK!ɻ_g^#;0 v;CwTo~;v̷/=xʀK̈p|VDo3|gc@^gAɼ/a#óɘcK17F-{vmdq~ܣW/ܗ,o#LC^jOV2vgry#&!BVK(Uk$$䅎"+"ʢ یFʠVQI&\r9< ig벖TkM#\sI2(R* rю,G"THn`2'71Z7j5昃ko}(d2K>[8q(Ωpȴ)x}!B4~;`' rfxj'=A_g !^ r=^eKO+ 1zrhRl\J4@AI'nzA厅(` 2/-e-Y2| 'ݤLR= iCCҞ\w]$h9T?s' _}#\8NiFJ%0kʽ4hp-< 9XSRoMS{ dCI0t9r<~*LJu#+?Sս\ΦpךGp~E>v)jlcPmXR>e^ :O G ,0Pj5!⒩*z4DMэ(knݤ_nZZ*6}* rYQb 1ph @8NZϲd/ ײӏKCq1Yј>U(nlX aAMi\i+4LBa&g SKH&}U)%>V{9"UW2^İnϿu-&WboYE[O"c@?,7SxsΈxlLRNޞj.8s5)x-V =ĵ<8Of?y2tl{uEKl52cF Ǿy@\`s2yY/3I^3d/>`ZSg~Eg9G ק:dzKN{lQ۳ 4ޫGz"r$y2;`:;B y],ǰ`;%.gG %q*a{<)sCϳD55GD鿟>iP$[LF! $X ^ wf;ovQߖLF zw 2ҍ%S.l(X_̘uxw[#EРiic82RM N_Gν)R4Q0_i2<-GUw&IJ {1sa[X/:>C29*+,$ܒUYF>k &ubo/ʘ:#Px:mܩfca AzL&k>A rgւ@S6Vxч*Rrّ#qMv G5r9kQ=K]5@J|$)%?[nPM:GG: w r,j;BN " iNa֯8b%Ʒ;ueA Rr͘9e^Hc odJhjwxsfšFp)3A]*qdo&݃ 9_üsr+ w*mЍ@8>y@6lp̽M4u9miȓn&\43ʭ%Z{&Z~6}(Ctv5o^K]F8Xr'PQ[Z_geEM4h|lOjMۺA4/ ]5iCJcz p Ed!q=ԛ-(k&%;Dګ3ʉS1&xO=io{qu^2Z,(0[ $+Z3e-p| -NRQhbs#ljf`"JA7kReJt @Ǜy5lSd+}U`Eeِÿ fKau9qrUQDݎҏck ! _#l|7,"Rs]BTAĊZdln^wDI[om]S1 &Az雷;"N?cU! $OC.[.ǧmFvG*hCSW]~cZ+{{ ̲쉮:O^7sPX6p+4D ɋ,\g:f2抬fdeoU> \`}q!tv\>OAȗ80xncz1oY{;UE !R]݈-իKզ>{s21򊻈Զ9\CGqP_C~=U9!dЪ,* cP+hP .KcF<0"ڰU'T0#=**I줿>k9nSP|lu;O6mmʿmlnw1p@^ˆGOmaA*e^Ri 8JlM!A}(&ú ^'lT"܌Hgٳ_!;)Iڤх [neG֟mŜ1X])HE~Ib-se6G)GDHUǍat(C3 nP9Ο't3`Zy`:j%HAE7L9䉈{uP/[|LDݼkHT1giy1j5lcn=4H,c7ad"i%Ӵ{ۻ@|nΐ^hLC_aUh=Q6b|jk"IU 8c%gh~f@YrwLIFm؜Dd3z{$sZrjL8ǙI3wA#w(0hw{a6|ݙP-o? 􀊡=GkaNVL髏¼J[81%ᦒp[Ir@@YJ sR4wcǦ\jm+l $番nEBv%Y 5n܃+3}7F?4P_q+5S('-`X'#v낉.kjT\@ 쇱q2{[4P`4g,]>8{5zf\ƔAC ,j7Zr}(Vhsq αՅ2(Aj4b3 oKޮ&G*3`zpsuBl*Al8ey6N 4NوSSpﭪG;.БHֶm:/7}]l1h(/5F=<^M=SXmF uzW}@LPR2/h!t ::~蝫.Ȣ 5at^zWƂLoEJd i} ?~y:!9}~Ur>loBrq}|Ɠ ej#kU,x9HGݔ apꖀ«y1JYzOf\৺@?Ƕ vg&m]Tm Dy/f9: |/!auzS+LLD;t9׌%O/0d`恋6FZ!won_8W}Rl/E* p7xjYj-g`256_n-#ݎ`몚&SmLgY NZO#jkꫪ 0+LuE,{D@6NI~D-؄F7Ygqjt4eTu똒|ƯOe! fqdI6}KB: )IL[/#b͉XAM\zY,b4iaᬌ4A+N^$X1&tSNgʴG)cygHa20X2]N 'EƩO;6t:.= o؀u(P#K߼,û$eN:VgePRW,r%ǖ!5t"J';Ø+UiLZdImה6īQ,Ofctin\#z-+_1HO КBv0JKmHT۽or')FLbrQjre0hܥ@3B/?.k4߇=KQD&F9^R 6NɲѡtdB7"}V̈OۮEd TL*41qIA m쎏 @Ez^x4WI=ZN4j$8 VF{!tjrf:C*kTr:MQ:R̮~ lAW)|!>,plsCuJ1Z:(Jv[/ }93]i49=?N&^"oeL;~|[3x't䨝T&5H0q o 6m_Q+DE,ĐP݋ZjJSq n]YCD6UTn"uT>^x)WW4jYlga7jVRJ4^Y]W2ed~9WY$xp)mCV&va6 2/R#5vlOL[j\fLr1tQ}h!u>=8.PnI;M63zاauR\9LB/)J~FJLQق߃fiA`h,*rI󦡔e}KFFai hN.RJm)7&qڠ 7?̍sO^q<`5i$wdCц4T^pEͲ1 5$b%8yhf%l?N.[T@,r/%\c]$ Ks6 8ZAaM_h9( nwTl/ԃH?avyU؁<$`ZvF"_IH[xx:؅』(h$@폩}>yb]Q(6jwkİei"8Gɳ<*' $$Ee]! 3e^F1|;,/ꑢ.÷)+Srl!,c,BغEⰔs78.E .rSFFPcu1/ :,*%9p"9!]({M4~Q #?7Wr!Ve:'UqVڗĚm8r|0:ܢ`gÚ#6rv*.$puD_T{H{vBcix?@xJqy9o6TN+l%ʹS I!M#)AP?#+D g9ߟV|*-&b'&ř.)(]̎07[kq؇B 'hA{P#i(amM2յ:Uӡ~Ub0q1CL̂}_}X SяZZp$'k|V1 | M,oR?-\TT*y ؊#S'_˿vN~0F](<.o.\gQPf1],ŻtLyJz|)fhusbe~ѐzdhZ)i0?PK4p0PK(2.u Pg۟c&ҩ]:@3c݅yx@>/kVeFL$rL Ÿ@.Į{'}ղ. 섭~x~oJ=JYÖ+%||/< 4uc,f} g,rkzf"ܶ\>q\P=(0XXR)@#Q--PևT Nj?-c8p&St\)MYҼ}Yf$k׽:/1bf?dI4>`$8,{b`q647}TL%߫ K3'YiЈ =Ŗlq#MF VtP 4E)j a1v)H7Y~|7mnfEɇʐ +&t֨ڔvtd I7ZF-lhcMcfח {DȌ$:Ni|$۩b{}>F)֫NL>g]-S"Rj 8D0}vX/yғ+<t̩%.;\LUJP= m^v{p/O!=#y2;Y 9jb~c^6kmn(FFLCg<Ofx\RL+w7@ x/jpnvIIӆs?(y“˒0B\$ h=6JΚEb ?1N3*5 5j0q5|o2z|j=*DJbM%r:mc=H2s5.J+hYKuZs9ݜv$VJeGPW,2I<7/4G'XuNיCUsYv؀ 6D xK);V?dz oO,{Ҕ"6Wf}U|B'Ǔl 8de+ĤtTW Q^kt7)Ꞣ@7ޖ;/Fa >_sy,î; +Pp:|׿ѐ ܄ŋf]-0_V%ԟ&\@vTچZ@v5̅w$N} o6}!c R Zh9գW:&qX߅Y|AV {5~sl(^)!ʃE1 /¶NznD^ XE  bШ$Ԋ %\![u_"P/y?B3!|J] G݄ŝޕzTn1NWkH;:(˟y6FiϨDz^"(bNY&S{S :&D] o$pyҎ=FNF'RȢ4]W)EVs^+3WKMrHy r8ȃ/Y,&8hz>p-甦>FX~)ۜohK,a7WuWo`)B7`Dqa=W>,#s]̙%Y3NؔGʙ p"2U2:L!;522l0%|pDb^띰7vBŖg<աi&LY4=5W~$Gɥa>Xcs(EȊ<( 9ii4E}9=~θ@9ϵA ;/b8_Li}_}/bp| Jވ JK47-GW?Tզ|*9 ` 3V*V8hr<(yHl6 Y.˶zdxk )vr*IĀ F'= Fzi RY^1`"m$' } ςe17NvS_;U,$<,37F`跖q! =Wr)U2cjR.iD0(!]Ù2(V$w[c/IͰI`Km/Ɩ@HL[e?{IpɿZ0#]-vݤ7R̒@ۖl7fHA`xB% [_яqE?",X#J~pHυ!ިGQDK;<]^d {ufgpe4ԏCӹ[Ct0r_' Tyx9hH<1Kd:\kNV["3%lUW`&ۤ6|,4 1>9žE{p]1"F`{`D_Ag!}A5]m#,R,,4R3JҹSvP敏X̎D1=C#˵.#Jd$oVn5A9Q{1ǀz,rȔovcֺ8<&FAQ>r'^^V7.?K}KQpAcWi+Ԟ3TNvXi> *~{!KӨy߲DΈ8D\Ll* 9Q!zјjywϞQS#R2JEOO(z{WK 4 `.K;W\(SۖuU{K`;h)Rkg)dԾvu7"̬-augՖO3x_#0 U6Ɵ@;:K3*q$LLE'_@%- Z\0_ E#fm2MkP]kS)PEpb9T^B] Ba,| y #t35J*AiÐaP|hQR?C쇟*RߝBS+az͔Az(xg[;zh$ď@nHN'|xKuM0@XC=+yQ2.tүzRP}&:x~\Q)R7$ |JĻoT>=|3A˦)S(7ͱME:,z۱Sφf?zM|z.?!uͧ:×JF8XVh2w0lf# {F=[lQo1Ο@]m2UwW9q4xw㦲<1qh<a΁NG`D胥MJ{< oHR(*eKbMtVlI@ʳgiv3_t3DG2LP%uuRS"T|jUpJ$/I//Ll*Dk[uQy!YÇ{l31Ǣ9[A/!d]U5IMڟ#kDkdYz%{[^tLq4,.ܱb64RQ"O2 -M24 hny phg/" VM|ݪev,PUH\Q 9wv!qU8*NrSӎ\5?~?#o[0+oN~K ViSzܧRFZh2"ZAյ n!9Κ;:A7ar$kUjmb#aޒyy^^K&}lh8, ]I6(9Ao#QTqq.reFMaN8BBX|GVuҨ!IČxDBEKئ};=VED]}w,b CV>D*1| seW<ÀTE>Nܫ;םeHcࡧWh]+st;f2ܤsiFgrKt|OuM73<eԢx"<6iO\'ڲrj'L\XVl;!͌m,!b9g 8h yl[-L+, ޺!VuDD zEeV}6_xZ:-T 3\lz[/0DMqrm!.!&Uy`+ˎJFEoE_*hoc0_f_l[U=~ &`qqU ՞]-R Ȼ~Qo551-Vp7 yцH P|?v@C9tf3QB}",essiB(b Yo-6RuRzc6(FF+V-%[I-)(ѕrxXImMNGIaM6IşԂ18ܱK3e\Em {4-rZݷ~k۵p:ҝX"I x51H΍CYC ;w92/hG{N3!b 71w<ڗj1zNY/.ٔ:\hTu#2ۥٰ 愍^|sGQ"V;#ɧ&a8t#d3Jf~`ޖJ>V&hX Y'7%4́1Hl%$HI~Tb7 BEŷT܈pT*vVа9"?Xy^5 {1.<-w:6hєݶ!Z:bSq/Nku blp8gl~\_Gu)O] NqhjaJ wލv+RvOT9a>)r7v窈h_8}?;E<7.0 #MX']kkjAUp{)f ' 7+2w <|8J_}IsiRU]v٢?]?|LP/TFjEN ަ# .DLF%G@}h1/>c0I(>%5cPd0%%,=fK)CZDәhQiT)חD|E`kz {+"!Sjȯ 'N0JPx&󟮒J@c}ޑX:-ʝd0NN$ʽQ+ɿՂn}@ ؾ/O2Gz,2Fdjz tp.XY:܏}0pjt=Ȝ`^5y91.;nuw/j_KOh1 -"B Δ xIʣ~A08h0#[8'~Pu fIUMwuUSG6cl a+8Dz3 Fi*+SNPz et z:h6j8`ymk /j$qB{mg$?LQײطK>ip^2, &tU(e\f 6/Ot9p¹a Г!J@ P5πʔ|ꌿ4d5H6TJDIn${ 꿢*yT ņ%⒫k§;ɩ}R"{ːnc^!$}zqv8?ēKS*r/T?&Pg^8]. G ! P嬥!8j)‚"9_i6w1Qz:Ŀ%3ĮKu'SɁ [VW9Q./-9 NΛOB "o(kXFe!B@]Dh$p (쪬Zu3UC ZiKIx2UkFi5GJ1"@gIp9 Ҟ+QȤ4տOzū—@ՙaJU ~oNFzQP2l˯{kce2`=no-X [l;kE?8X".'S>Fb"#h% $y#:i=Ԅ*@=/[;w+;N+(XX,.UDb$V>e<-2KqU)&,pyN$GK_rÒvwjR$R cF)^gQpuff`QK:yu3cG*DeTѢ b2S5eJF YvfzDSB~眗}=Ôw *Μ몔;o4>6Aq,j~cU'ASS)y^)emS7|FJMq잼z4aկAgIECb,6Xi0xhR_* F4YlYk,  sP"'rYrmrzxΓP! Oi#ΩAih/aNS ߯B1@w? :$X¾v֯\NQQ=`RQ7lP9Gx#S]FzvmNӰ)N7":gSNU6.BL|w^+/#zV\&q]Rk+'gZE~̈fN υ"Z t @)K)>xM~$DIL mOIbi2H<|ND:1[V"L7vxn0H\ظg)7NSHDc]Kf 1Zgkn%X,r S$wHp=E)E"W.E3M7ԫ RBWHh XE˹c#CpTe/W|9ty8o a]ocY"([[Sȥ%Q@FNqdq ƻSÁ5 >Oյ%q`ܟfWh 0 у !p뵳< KXIm32(|€ʗMuUG/;xoj`}k-WOENžfSY᝶뽒T3H@6tiy=UзDsKcɷJ>w& aqp0^ޑC^$TZF߈Kʉ9&P*/d1D7̩B!ֺ7W1r@AnN_kz0^ X.6oyt F?83RُT~ru_caoadK)^Tn}ucRƎ-h<ܨs&uݍ`_ũԈH?dB/ ,?<pXsl~cŤ*r=լlDjJ^\'xlqLL-]7P`|)&g.u{Np^FaNbEzJurh^ OLXY]׀z,j NzcJC52"94Ȇ[_оۅ8IY B)]{Bqإ$Cg,\ט>N1~hv0g.SYGteȏV\aE$W42j7l[pO3Zmyz+}h5wYyk,3f tty142伷)LڶaT `O>ԕ| ԗ: \.{ iN<{yA#'" a𙢦_t6 TGދ [NpSTK e"?|E+fO-,o^5BA [2$n Ur=^Ψ ܾ0ޑs{zvՀ8]dH¥bՀPj,ܦ?(OX+{>+|(B̾&(_hxCޤ༇zv;"b[yy[Khv tED'.9 QB7' K}h;HJWb3D}"" wL yh ܋rv<@y?W/7:,ѫqmma4سХF D+ɠ@PUjVW#52&^a` 80nwmbpD& FgaI 隕CQlT Z/Vx~spAanX v8O%xeM] G8]i#$j5ٍࣔZagȻYg_Tj/ݤEz1mr559@(Mˈv oq L'yVD1 4T4!iOx: qMEʢFWawj;==`ōh.TTs`=zS&>8ʁ${ HnLY[aZO~]|x{F:7T(+z ¶Z>,uU瀦euA5X7U_guq??ECs w&m0XJ&38bHޙg<@m*8`+tȉ>X_QFh ٻtMFoCASJ⬘L<%q]A?ng67B%Z9 aΛpE>/s/[% ᣁ/O8<"Me5GVZ.]!<+{?mZ^heaeNzmw&X$D,)OceMW"mR ^ASI\u\鯞'mX 6p8!N! Ό sjCgՖ!1#sm21Icg HL1%dHng!T &5Chz$@4`ּ8ݡvM*w^N;'P2f/oϯdg)O!G=-,]uXYg rl,/qO5EOfG鱰ui =s~R{&k S/v0YH[+۸&$*sfw| 2]k皫"efG~\ l+ 6&!i14D"dzSy5 81Nht6H+p6ʨ{; /ꢲ9겺{?9E`ǿ~Ð?8eFի?<uAU9٣l=m\~<}o1/6Mپ@P!l#*#I'V:[|"+LMI rxC)&<?{i#{վ){P/؇1/R [Cs8P] IdTǏ7ݙUi2;^< T@NbeMF Eeuj*ceMiB[`=hv'ѮuωvɪԆ%21CS Z&:P9gA~f J!h:5;gC=& n(ma˰0PTF #>9cfڜ&G8P?z'{0A͟蟧m]\AU2zi nn?rp( 'AZGJulPZJGz&n_*13cK+BZ,`2#CKH[e˖R:L5`V$b3ބ }Z’bF #$73;Kӧr"Q~8EKzsu` ҋN5ӍY&sc<D5QSŎ%^zKuaxh_taPp{BZ㒙lgse E~R(CӲ9'0fB0L\Cw..1Z^v>> m!gVgc6EX+QH^ ǵ.Xy;\03-q*-BN=%ZᴸXTCP@/_,O?^7Ou&@׬-迮AcBD Ժ${0[iN0< ZTӻ:kiуLI ZnчOǰ$V.Rv{N)-%ɿpTh,x&!L"RIO<3jtfd򤯂{ NkϦl.9Pl2XnxOPUUR"nt-;KPpJ9PE2ވ0$8;9MTiܩt,_PUum ?7㻥Ď>&~~j`iM:SspD!zMygrRӆ4vڜvur58˱I_ĨEb)C}.1.Y u<+//k[rPA,KL_A~ynzʶbU]!|/Q#^0q 8t5:+9W}oO0zRoU_a}_1١zy[8~-N塯94TjD7mYkGC2?R=Zm% ;QD-_"F~yaTW&`Na 푭6Q] |nPI H܏8u{-\GuBTZ̤.ݲT/ `-ʂr]YMV5s>LP؁,=W>6ө! 9oB#eFt 4a|hi9 **(.9-֚<8P,=Ev?钪 zbh"mﳊjOt:fX;*RdJ@Y9mrڳtYoGeQ*+[0k&͏곿t^hӈB;g7ūGrH⁖wh`g"`W0?WYE,U ,ByK]KIrAqZQ3w|njKxH#ՠ6 6)P6N5l|W&VJ$Crփ`=Xiᐔ6Ky 9P&GP#H(b)qL"g>Fk2YJKU ײX4fQ\gtAo#s!W/ b%ɟB¸#L9 :f6wbG%>PͥOÒy|0{i;v3 w+0xv0zm3ap/ްU=D}4C3yj[~h;5{z(m 4 DXf5F`;q6:j^|\Bz7[fJ!/_=ɗE-)h|v}ډJٗJRU= QVGDZB:dbb5_P&_bO8,QKoV8< BcvP4*b Wj;֨Uhc )ӣaܢ.qљSOn.-Srw)DٙZq=+7o!)Ѹ?7Wa4#&m-Tj\o|Դ+a:]YZuӘ05|IGQݿ"8fn;/ߎ69I2c'?bT<]'Q!H{Q/BFym5FHa@,CɈjW"KYqqR v˺t4xGڸvDd0(4^}sN}Cx>y>x xm0\2 ?44;y. ZcKT ]+ $Fbuʿzhĭ\eipՙbTKbn%KdMۙsN9xYZ5,~0턹*å'IzTDk^~>WM/S|em3_45lr.f6M(՗ȰA ){;=/ujt@\&/cԵZAE פPM}. aĽg(D#!ZEt+MhBe$~F 3 N%*{Fn,ňќ~_aV6ᆕk#?Y[/Ǎi PQt{ '&S%6HԵ/*`,(&%yЍdJ|]oCW\[֯YWzM +g{֯s\zIJ\z"BY_Mk_mж9TlsS?VT)%BSIu(<th;6lD5JirC@C :ѻ:oIkm_`G4[Nß'zf+cmy[?X,ArG3ľf%pwbI( Λo\< @PfIO7!2ܱ3O 0FyU[!3:0P{JDI›;3#Fou=fvud3WHcE:ܶE(չ +RrxߟŲڃm3wWzׄVc?Ƅx%ٕQ+CVl1A뎓xtC6dJw7[>`6S7s`sȅ[^owBMiOdmk[!2Noa0F"x!µNgM䚋uRv ?΁K̎6õ31f1}24*=r¯7]=UJ&τ瑺^n4ڕ%~GFNDg8fCyI.p32gN&:^mERr2^Ɠfqu(>bsMqJaGJ5$Iv6\P$rCUF-˔ފwƄTĒ4AcTJu# `v^="qqO[Oho}0GDzS^țyt0-V_(se b:"uu8nݔZLπKDH2TT$閵%Z^#A'䰶H?Bp[ 3~'v fV vwh6w84\274z^9fiI4H&7x]qz%EΔ.;;/,֛kpcwM;H}QKԮ mR|<)A値ã< q ^POt05-qr(^!^8v)S3㸘M"Ez9R lP:ozUi)++~\+JVǤ{BҨ${ #mW)*'Ë?ixCkl  L%Hܨp) . je|^󐟖gO`B(7 J wOI8Z-TWh,l0{Nນ ']B=P>vm?(XA)uW8Бwi}B7;(4KObIkazޙ9pG |\2mnX2d3vO9v31ܵGcLOWg@ݕ)2Z\utzX 7‡Zk_>^[S cɑNό=jOīC{ȰJPE N'x7q֒:(EHRk/S{)MqTghe^Ss AWj ָKNMRjg@hh`g KXoY])QcLV;~MB]5?xb#}B;cOHu1 F' M*{W#q5`q~+ b@q&bUod%wW,}2i%z) oՂplgrdG2 ˶DO|`bc*7mvCn!52<~c!zVS+&YB7'zM+ =3'E9$^o7E"pM7&TVQy EMU1`:i'{Ek2sY |$eF9>WD71WQe41:R:ZSo66`j۠?CHuH<.|03*q(#V EOv>4gD?+!IK6V9DXCXO=>i8&AԡgxcV4j}F"X >$Tv9D霂Ѡ459ς.hG-1}EuǦ'-بKM)At#:P+(ؼBb'uʹzE T3 UoEyA0B1qn&wZl9]j p:p+w7gG EZ&n{ʎ2l+ "ˆNdJ.VXy&7нf;5=OςMb\>$BI:h {<W㸇_LבimUA6\+cBe]1t>ih9cCCDYL"g}}/Q|8 lEؖy$nMC0TUE=I&"I"ɧ~'~ӬJ$Dz Td& 3(vӗ喝窊O.p[%GL`kr6wIlt Q]a9<ŃbL#-D[HF+ūX yQ9$3=s?;$9<|Խ>Ug9sh9vZ|Q.a$j34O/Wj#Ui>ղX;_Y>b=V79  m81.ftHF{<dP"H=8U1vNmc<40p~¶}Q4ǩ-p5]5WED{:)/,EX n!#co_O70BNժTnc3e> &d[~_#v#!lRNn]/x>IBlʎhȪ,LS!R`X"n6ED6Uj9. :I!eWӤ#;~edqO G#α@f5njRiS='zr9,kR { ](يh)E: Ng٫`UICثq|*׉3c\8c:)jxv8\>Zڽt$DVEF 9Ӂˇ$`Ō= '$? ;E0akp62"jxCkHRh̞b*.^KٻP.wDvDuQB M#{6Ϊ6B9Ǎ `~5XI w?Fϳ(^R.vs65D%%fpS"k{ YCWӤaum̠Hkb_imсyy 5M uٗ<+!l=Y r/vpc< 8 )cFttbF\-NxmqTvǀ>Vo)"W2 ,q!:M+׈10,8!Q |@AmEvWUd]PlI*{4Mz`dB}]"85.J>ݻec,kha\2NV46UEx^Ð2q<$S} WmX@"mɰgtN MV\T@a`V('.rs;leL<N ՈqUBWD%e Ygh@pC9G Hoh4OtN[,W42A,"].2SX}̈́/l}DLƱzV1d1BcA3B*Ϯ*:XƘゐD v.u_{x9K2Hu*VP&G3x"uGNx-R?TKwp*yO)̶_׻fX}%*uTB[7(=oPD2j )4jyV !gwX%QpRS,eL^MN(zA cA]VPKQLvF6@)} \j-^`;4f)ϋAyCbjeב:Q:$Mpz:\Mg;eȊ5W'$ _= w8uN1_Q#f]6ې#$'a:X]+F08;;np3/<BP~ #%bH avA=gh]c' SpעV&E1Imno] )Nm \nWeUV\ )e٫uֆs)v' &,RؐrغOyTFѲ”O@ -З)*f*5(J,;6_2L6Ďyh OJT+VM9%`^ԾjF衹 G#x2*ud8 ,@!]b9=)4*]Hhzǯxlhh 9z79\ .Ľp=ڢKs"x|fo8myZ1~F^4V\TZ*( R#`@dͽi:'AdiC0Y3Eɐ1tx.7b2Њ6/gҚJ[ Ѧ%rR\&顭-a rXU[D!<F5U !uɵxtrUZi+_&!YjwW󦰘HP@2gs,ͧ{6wzm{fM~{ꐸޅ?}`41IM*)72 Eۗ[P+':yMcOu<!N-CJX-FkHW,43pq"Z'|W*T둑$qBsni ؤ^i&C2G.m\\jV.Ʈ\]:Kv*|&8ߠ$yGlqM  R%Vm|)e[J߭ar@d*Ƚ>ڣSy{' 'EEj63j\T;cH΢Y:`'X+*I<,V0~B_l8)= H^s|k?"DᄶvSu͟xuBʚ,g1!-Swlrz;_!GcMvErHʄЕ9Nw1j DRe_k7N(J`#IަTmoc]w49*1Ir$q:Xp\-iI%W~jۛrAT_ʏxs3fB:nfjn^sDL+3>h1˨Dg,+fQC8: j{yLTTA.tVvxd[R)ד{6f! nCg{;w/F D%"R1Jrw<ߙeL{x45@9v#1HPDgQiX6*I鞀eLQ. K~cߦk8Y /tW+J#m|O<" MCʒs[p5#>sn"|Al @M:*띾{ vx,u[Z,A4Uٍ֭Ҽ13?&_0hUlu|C[y/ -&x,?aR2)~d @-iJYP0E" T; [ːXa Lu~Ӭ8N>36`($1QHRz_糲\nh)v/1$ `bVMpYBOߤ>wq縦Rtk0_X`[@E}܇5SͻT_Rؼ45=3)7_,M̮>ǀ^О@nEAJƨwKdd ӅCnC̃\.hZ܏f;}΅DV>r>$`#<}Va,ɢ;cBS0l8e TvLmSVOi1[9_]28 ӂ!pSSJg$uP@z%@s^|ISRoF(^j}꣱oQcAPҌ`ώ ٬GɃo7$E :k)')6 ' 0Zthf=y4g:"xiIT[-7Y8%XJ}~o#H]r{'MaP1td^Eu="<1o'5zpPBHťܢpT6!o;~/u8gt[!МL)24CIVӑXK rfߊKTzO]j0Ѕp~ QxC>SA̽p"H')i VD)X%>TQ.*Uސ~.AEbK~{ԣ-s~Ps_ ڐgk~3^ >9nǺK&֕eĭE<хX$WyY/E 5r|0AvrRO`i狸0= Ў38)Mq+XeHYn!/D/ˉaTԮ .*C~ӂVpzm4>՛ IT(=Fͧsv{z_ߥ@OUO][ǂTVfWIVTyA`UZϷŜ1Knʣh6#bJ,HUy7Q,ýU (EAɴVIݯWZemG}sʜ"CAs /+3q:SzbWmD-`fcNW߼,.6)2 Npf])8>e/<ף{~ܷc7j>&I]"fI88 [5t<[G&\X`)K HW5u;޻b%,iw)}#~MEilk:m&E_PYDI_wPY4_ď3>.|z.5'%o)rjOluD@,']8f_Pœxx|F}*OmBMZ60j`޲H>KޜePuc|qUunl; P49[kf7ܺ`{WĨx*RmK8(cOD;ae7YKoNfʨꐕSIi/n4̒ pFVW*6ׂ03?CzU8 ^k=OMh'|WEt&B֯уuܴ dlgma@Q\&FNR">lӷ?"P kw/{e?T& iga ѥ23T+$٢ p=lª╬r|-GM0ɚ6I}ż`a3gm>F6o56} H:BA?Bonjq}[c^0ώI_»ֱ9WajUZlqW?0#'y6=k|,;TJkTOG,YRF[TJ٣ǷΩaP* L5턒HM$]F;O#| SNMYۈ0.Fu$k^jdDI<$1AB3#`h2ͳH02vbtWίgM*OIH8 'űWޔ&&=Gmˑ+ˠ=N۪dR.уEb ?'e<W4p$PIslam/X8-*j-QO21W5ƴPcŕ&.6O?ҐLnMiן<)UXA A+ R7LSu4Pa"^Q~3Dt:cUYC젋;lAєxg:\( 8 Z=p?'rԉb,5TTSz0) \*=3 B6T7K1NOy݅hT KHo1_& `٦8s󡍒s@{\#$8#D3#[f>u=f!W$'uuO 0aJ л'S(gS1uB)FoB@)θ/[Wrx?f3a!QqP@&>$׎StGh>7cStZB4)ˏؖ[EӜo耽uyrUV",#Ǘ L b[f8QY Vj{/OK ~q?PC\RGcF\={NN ls*C6ԌxH7rfõs=CqF`ۀ8ĞvY3ǜЊeO* t]̳vb@RO@p2g13$PIJO܉*1Y_bxohɩ画ET.=[exK)@ه4l1ƴcIf}z]BNUW2T]a@\6:e}xRciЪ¬eUUj5 ~*qde?ݢoWkgC~l3p^U.ΰ/Ő)By8-3/85ҧmP,t|O@?$?z q PI\U^ϖtmڨ4E徑ޑ{ c0IW)x +єgcD,^{}M3@IǪaF@Z,pUU-]7Ud<): ]+!Q㏂VZZ]@_{ j~d7Wϩp%pv1 ֳ9TRjhWbi( ( ُQJ6ȾCN _A~Hz[BޘSm#x(;}h[ɻ.l'49HPeuhI?Ġ߳al<$rޒ)wyɹ'0%,#+56&w/FXQ$^BKۺ<SiWrrKfR!BK]u ޔ ;NS܈/r`w)jKf k{('-i d}QQuaU%4jvI7$*(|[0èza%\5w8.8Fɏ!ǚFL;"}NR/GtjSS z6Q;QW2,C^wKWP.c&ArrdƠʱO`""U t\ijvLIz5,j36LOדyKӆuǎ55KZ =:=/} OvGxVlv= F*Y1Q̠eFӲx_8sC!ŷ>%|mYf%Jvvb@0m~tD7S+ ]0Q!pI .qнkee -"zf nLXyI;j Զޤd@@DSmPm% Rν!銾]Q[n1׽*V_5z+䚋@ޣukKJp/-& /FzietcuX$3MCCu=ߊwl:r;W7uk"²9,xq7 bJvBevsfJ:׆=AFa=7tG:gyL)@iZC}Bm~m8x]73\ѼPl.e5Q/@fo9TBaFqH5,h;b9OVGeT1I)^MmE\<M.ׯ'?]26/go;[5?]4и c<>z.D:\XS݄4x?kn5R8}Bu,oLk,F NB4F :K\*MI]9,4eRzmC}u*5= D:!Y7)Kq;5bV."uM-߄d_Ngޗˀ0&QX]i:*HgFJFڶc\t)1\1GC/tUBȃU$B[O$aVHC*+DK6AMCW;_yJ}z!*b qyYXTjvJy/]6ŒõoJ\Fyd+I"2U5X~{ ϹV%oS2hPPS{!#MJUU<`lNvi|7zW!KN%B n#GgdQG84q % LEl髌0Sgg?tֈ6zJ0-,T~n#_O`?e?!:n! N 1T+:rףqpMMz:ٟx­q@ CϗBGbtY)Gc(rz!G1l^>pe:Ɔܙ N&n$~z ʜ ";}E])))mkšp"~k\M̥<f,@YX #)$alFCAǗ<0u0ġ1ۥ*Lw^rMP} KVNmo1a^ E@4ۣ^?H Q2i1tO`|VyZR_Xhq&p/f"wt:_uFisge ` -WO`{ۮLk_8Y"mY)\Mk`SuKB뭎R~-!/cU1CsF/q j"zME.1wu|~4n=xjONXhXK@}7@ڒKwJ\S)]vBoj5|b< BTo8r{9= Dp}n]|P]d ч-Jm0xEcY?xl|4 DiwnIJnk2i 5ĩi <Ũ0f1\ɱU{|T^lZ"=(:_XgMAvuϰ@!eǨτ f"::S![.Veu~EPX Afhco "L )2M6mCoeœh -+6fV0R%O@I^D(tIGp%޶ Q9Gn\ h^@]5NG> ZхኃPFbgoTxOVhg9@LWS'wˆFLpn]˶DkMy'If H<1uD& :~HZ蚁'kw> *v櫟ŷeJj:3;fI ޺!~mN`KUp<%Uv`~G HPC9oBJ_;Nd nyҒx,L:*ȅjGQxf}">b +qg. |a4$eˑ1xdx9XҢ)qn}k[_i窸gx;@PoS[zχ'web-9h ߻#SA| V‡Xa&͆ݳk8[=ixe[y% P& CViJ mHrҩerc:S/F:C4sto=1D>\Z74m!&W3i%ct*zL4[W+nߐ"gS6~Jl^V܁{vS.ӂ7A.R܂M27Ln:Ɛs&|VùUXo&#E*K軟bVY +/)Z<5)ai`Q D_G2z|gG% 6XWRj_uo>pk+$bXub於dnf^9]RM/AuBbC8qvC)z#(&nmšxcMN܅ pגdq$*;] `O[ɊFM#M6>4 ),-!j$ gѺdhC=@d@<ld I&L We%e0*>WjDzt_;2Ԡ&Q<xW8YN0+J[k~`&)^ՒYsG dvUfg QGGMeBA.;߶߀z :XULfS J#SM2Q , t ]sȍu4c(/ n e%|ԲV~]{!*k{=w5w+]P7,BL$? ׃S+)a9)kcFa&Cp+W 3`FmR_q*|`s,!~9r¸V?E̢M}U׈)-$X 3[e '[cxX+쁹jU ߙv >gmUp?MeTPë`{_8򵬂tC4e[%RY(bv-1$HdܴV$NX5qNF~kh%JrOpz IY3=tw4Z]і6Ud}dW$Q@Gͭ0U!$SӐ8 PDe9'p&TԦrhP0r":L u?m`l[ )!i<{;in_I'u2މ<l8Z/?]*OjN;' oC@:[r@53 /Fٙ:91ߔ×q{/kfdX]SQ۱e>o~?dˏe47B]g%>ixxo>@ G# &)G${ErtBK`d9l8 j4N5NdUb\7e^TG&KrN֬A#0Q|]]5vrȓ$-Ogmr& P*x`o UV׹wsg[_4cΌ$](U^d9&c^e1ҹ3܇2 N։[= Μ,HmB'%v o@ΊrM |)pbATq\m&p| |c$ت58IgDB *7Ӵ)@ }({ 8q.r')}&,BXl q,2u.3}GdUInoO%[ibSMO_`p NUEpvl&@L ._ώŚJ8>zja'1J)E7_-i/+oG+ZGG(x3q^V< C#[4ٽ8tx?)Q q0QEwWR J.T:lA;UOuLQKYА9aakBjt!=IU}OD-f8PltcH!]ە=1]Tn!ɌK-;N'-ٓ2MRsv P&Ui+] hn&y<yB>?r9i4Fe'O3m2g-8*\X.-0ߚǾ16?j6V?fBɖLoS#x齏\J䕯yz9Psuc셱hfn؛.P5۶0@%Xe r㯧EϞ"\ W.VPZ+Lo*u$aQp,kػ>.̄faFDYV}#^a[ك%[@#/3YvV-H8e1A;CYBs).Rɞi-+6fQGD,rĮf+EpԾgCaR' >R}$|nR 8tJr&f(;v򠬡9b72jiA,j1#\z˅+5YU܎1@K% 5p+'2BL3ݹ!<G)i{z (z4,&X.Qi^+<7`j0 .W܏C|7޿k-Qȕh'4lf'ĠDq7ieWLFO&f(Dp;]p=X_*E\LT0: j KZBhֵXݺr.7DazD%d,)яOL<\2ʙ:.f;_Ju|#{V+$x"zVLî;@@mYڤDF`ݤA`t'NV%u/slՈ |)g:◰/92vΦ`[}b[Ё5a#ێ3TCZk j¹Ssϊ;b/hXbJ|8|uet,3!ZPD^息]V Dȫycǽ"[ sV[IcԸ\y4yYÄys<^ GOj5nU9R|+2*jLeGa(l/,&Q/Qku &t;T$X^qr QW)fG] Owz[roxjʑʼn8r<@_ v3T_nl5,q_ wM7x/#~H?qSt@"6Mt ' `~?o7ށ '(@O{ͳĒUL5]n+m~~-͑~ u1m6C^0EW\&w6;QFlAWphL8hRE5ğٱˡI䗸{K5ըiƥ6*D&l >;v>@4=8^ɼ14Xg(aAȗE^`p̩v~'Y/υd(pGÿPbC&0-?% P2qYǻ[9{T[n\MnM79) >jSZbǰgQnZp6`W e MDQZ2?l!O>MۭdnV%ϗIj[¯V|'c *}Ԁc2p au,vQPF}hG@D5UkuEW(_HdJPN7r?+NRtZQO"tI3W b^ՐIzfY9'싿O0!Jwy/3ug[l?X1 eJ]{LDg7Lr6,mƼSL_@g4M(q_{Qj5yfT&.byS{ŕ}ΌdIQ%N$;:@>3{(%Âdk~@!r]15\>"4N {ŋs\Gew\MF4Se/ɚ-o(TM3{,T5[6p_f9}uGJ@+IՆk7=rtSA(`1rgs2&7r>(%IfZF;.?(䧔{ (bMC2ti)Xz-t ea|BeJ9=\Ėr(Et@0l3e:m9wȚfFC} ~Sf]omr`aޗWb\.7\?uɓDi*74ébch@ry[=>R81ᨡ<jrl= _Jy@`I׆̉ngHPdFήS.r_Kw4&혳ҕ}XF:~)$ ZOX%űs2ιb_? Bm)Hxp\;`ȉ"G$Sq_o _ͪ'@J:v-#@﯆N>6yf >>$Q[ԈحEAf5GguE[ cS?+NK+x*ς9X#8JK.B.Un`q&3:*୥ױ_rS3L@>-}8nJ5δ,~&/iF6H>Ё?}>hl)[29ژlx.Y.C#wImtp{z-).f WF}F` v*tʃ eqˏڵ,z&nx ؽl:VG.S-SjC23Dž?C zoK^rEkO^4]C-JKY:q8Lsa줟EY=MDqdKy ^?àfiSAp&5Ej37/-ϙ&.Ҿ!.e2@?qqG&3jΫbԬR|N^ňYrܷ?ޞ,Z#)N,C q_Su`9NՕ R y > ! +oH,$tN2"OKOXT /nJ?2= u'=n稴Z"%>W.V\*'RF 13vζ|ݶ)Ql} Of_bB.I99!VԬyor(X~P0MGoN+wmLC}&3W:y<$Rɼ}?}USZ "7aN&t]9 酼^^&:Ul(߁)Gm‹h\ȰU4m&bʏH UU2`u9m~T7Б~P vt?<>WOKȓ;>ڃ銒XsUiU :.>WxCZ@2W.dHeU^5r;: [ER=@5;Er4L̬Mic*p{r٥$Q,Zt|ku!SIBsvsku!u NR>T +LǼi,t~ E#"8)ǕjdRΖF+O0{3#g/qKF`E9ߊp&A)~q7flNo(GqvHs?Lh=Q=FRa .AU݅ 1͜ .S=?͆ܲ;֬FO+W[[XB/U 82yU]}t H[VbD xcC[R9kyCj PoOƌL 1j;puW9{4Edב'[cZo ={߽.v1۹`_H篿QЄDNY[ G= ׹wIgGi>rM,G:vxʎXA@+t]gkgTDboJhDBɶ8m8l^EL ֪DGV?QVG}.hFZ%LAܮxrP,LͅĔጮ\8#::QmR 'JI!"ɨ_Iϋ{[To|J3o)_!_T-sS4klp|5[g9h5 57ʾUbY$o}AV}/#XJ`D{- .: =szmckàHÞ򔷕j 1!(=p_=$"8bidY#l8pTl\a. daaLȦzc&8]p&fﻓ sˇK74,l=d~>UF>;*m(/aQ[K†u2̆4e F'O#ŇaVrmPk._ n\0& [!JcXd~w&5x\H\XK$wgA&6MjnZV~:MlJB;kķX}J0ƨjῈn69)TA;uî '4׉b)B-n/yf-a+CP6bJvo@ np.Yrk[rY<?$.f-{z8(5>F6a(A9{T߽=P&SVF* 2{PMr c8͟Dշ|Ojxjs jV8vDj1<(gmRc$ҬFߛ>Tł14֍ޏ*J1VKeusvXNos4,唰yRJąY ~PNr\̐ye/c>/m QH\"A@)v0Kq77ge>J~ # b2{7zXkFy q-'w0u4yf6۴,tJcKKy9m |)KaD_ȳN07z縄 e,ħU&eq*e"4iEeue$c ՚ڊ/Aj+/O'Ç3` 9ӠH-p>V57sehكq6nxzv/Ϫ}yЯ!"K!A&nsWpـk˞ס`9;T6{ḑm{:' 4:t Tb/y'ީ\" ݥ!V[K^>ڵ^.>i Dd. Y1dTGf'`(~|@?[x9}:?Eu`5@鲽ëAo;Y.aw\)؃ͅ;0pQ-GԶ8 {m;qIQ.znh4ܲ|~' LU ^~I br63*: u9V Z+HuIպB*@1oi֬#)OT<0c@j4>&@W1KhwGI^3hH 0bwGPĹq\,K('dU? p??25hi>xA;i0/:h IGԬC$!9]l1wbW0qư;ϧuuI&M[!_5y[Сo\8$?+Շ\ PAΨAp,zN^jp`H kbFav*#Z_xD3TBAVҏb>o\6" - EJ% ͇ҥ6s@.S> yc?-Hvi{Y%pL$b2#;⺿e Յ0)1珘|iR\՗OҳЏFTCIXG)'}l ހ~Q%"`PJHTV.KgeO(1T0;E/G97gUGʟ(fwr(O9j@m~Ƥ^-Ck;D;~F2X5RG!g_ەF%0@U43h_p#sk)S4Z4eQG@K NQ |\gj D/ӲaᕝHJ#BYMK&=-PPnitNl"m91qԣwwmTQm8x­;} ZWoo|:r@Ey/䀛<wa%pcפLȢO$duONi7R}6pu7̴?>KqΞόRFQ {] ֶ)|Po*~B۸Zb^-gA]&xb[Yo&H(zf>Kبy9=ZvaJOsLi<"B4mnRͩL<4b%2 hpG&̹%y3נ2発}Mѻ¤qLMNuso2PjRW$+ eds=,a+E0D{&m~N?g4egzֵ׃xmT20v6 .ܾn7qBX}$2W5tJz]-Gѳ۱Q!4$4jl3?s_%uɦf wo::ݼ?tOÒd)I056{ RcY=]ӦAw_ ily"< XDXQΚ7<:>KۻEQfkn>?lǁ%(RcXf,նN"(}`i̎\N{ۚkd8t_w׵4O D!faXH/Q4p&{" d Kj^P>vywcI8oI|RW¶ V_{\%ԎnY~qymK|@eNqrjSvݧ^;gL1g`e$M͔Ny=M &. /xZABDS@Jq(Fjisk =)NߟV]JVC=`1.A?Nd3w>:s٠ȷXH: HΠʁωsu4R}h8?%oXӤlRSORzCR0(7cl1'Kgӽ?1tG>k*MBzzco$xdIuC2HjđI 605#9Q5g$p씑8D@5A6falV0Үl7>:T7v1VdӒ7!L3|Y^[rdtRhb3RmBҺ؇AkIP*gSIڟ*Kem7N&IJRH} ]$"iN\F&Mc@{_#\Ks5 O‡ބV͏F %S˰nxbkW]A &8DS4qkh< P7kY`BQ+ BtkԬ.L܊>"wЊ!K]&]񏹹&Ej&$%ث۰_cz!Mp x,zaW`jrM8`U6[|k8Ȉ⍶@~%{4F69m'r#(].XZzk eS U`5uTltı #tphӐ1!нx`= M;D e:*&m53z:k^Ix ~ed! (~X}>dT=4Htu]vu&-+6`߳>[:_2YP &u r n^0Nxv<YKX*R ,+6p{;(_COGdz .P:ĸF]Xd^&+SʨKo`}`hQ͇䞴hkC U$d&Tޱd YOFwxDOiGU\YI;U%5G+ī8wQSOp4a'OۜA%42V>id|a%݇5U)ˡsHSܛbSTSy33E4=>{ R)㸮1/A,Eˤ_ {#;?g|)m![)NЧbb }pˬV԰Q*ڦ;R @ru@@dcB@{Y'G5R)5V XMuA[e.y-%ͅlh ˯RjJDɥvhA[ɝ1r&o|jٲ-="\yƃOcI2>hAs't|ǩԧ SFUoz5KA+xTo(^Vm ºåT 2Y6k9ss[ɉiCr*S"(zm>?(n-;CT=%^)r4#3q&`ATNcp$Mүm\( s6ߖp,M˧W;bzd>#ȷnzO9e=c_6 3 8~wT``<4I+s S7Kjʥ_ |P&*)-?7 9&L5u-Xt KAUt0|uohshF-@FfGwi2Z5yg%F_ӰIo$"Ϲۻ[yX^NfւHiLb'o hdL""Z@!`,h!:T/̀bdrSۙ&$Z56D|N8D s6y>5yj;3t742K츝㏑I6 oӝnj?x=Nü7 dwf /,Ā䈓ʪ SU'Ud4 l͏\tZñٲxy-|q-<2y~7G*r*{MF\BQXfUD mnWAhHoNtIX5&wƟ%3%_=0U/&%氬u;m >8Ld1#rlV6{]ʤ#$mQa.™MU4]{?\I×*7Mp=bDSűw<ŽDCQP R5NkŲmS |X5USuѝ~3b9A78 ?V"o8rI]7b)TeFe"ȗMo_u?=8olL\?rg_Lu1)ٟWtn&5͘Nǵ#x>{ח %Gl F7)ImHo9nhm9iz8?UғRBځ @hb;0T&*5I+*0mDYkxZUșJ~ O&^[A!Of+ 2V (,ijFS&j;ԄɘR9.d"W]d}g g)~ K1yr:  W|b?֙ފyx0)T 0H .᠗zmZS S=zߣWnm s2Ld**oYkfIeImp:/E{'X1Bh`TߤtM#ձdi<,pbwܒ$ @@}ʦ* /#^3^%7HJ8Q %N^q8IvNW&}OѦ3q| |ΠUud%BX_,Ƨte=8EcB&NkY1+lju%tgDsaK$l%`mH[ &G#k~ov>-'nGx&Gom/i,Z LL)\Kէc o#~ ~u61B~cfs$#V^$3X~@ãgO_o.3F$B iזos/95"z)ʊya}(Kn6q#dSb07.|&9/m^tX;/ wpm *sf>"#a1 yBUos'N_c.(Em!8=<_RM:?1/JJ.;)h>^ z5tYlk`7caiozxl"v4<0bcWQ Gx2nM;ZH 8'zJVQ6,䶓56*F$N;DO?2 řBIBS 5ܛy\!fiN?*ck6IXD.z NtH3F37ݗjq~K6J\#V ʶ'5S7Vl{L?~ NM#B,?E¨iwMUʼ \®XkzgZݽ io!(FBscH3=ys곃FPnEUoAusL=)r婾l{eF)?{-d(Jq xQ8`fXܐ܀,%(5Q`ч-܅FiYo B`=^(%߫d{؍M{P/6KIBavsIuw.T֏{x]dh|; u\6dk؇'wWE/5;/:螣G a)Y ̜ ̿l3"i[73rGdP7SH g yէtVwR(ScMf63qEr >ƢO<05z9)޷`/ >W*PsD A)Seov~ OKt.C2ݤ a_}8 5'w%@->lTGvo,荆0yKKieͧ.*D~N`m[[sC 13ȎP: I8kh[cktu%KҚЁS‰_k)u *Z z_ƃ)͚,L~ż͌޽y;ӹ^\|)8viX\͕`6Urh X)Zʧd\F$|V7 tF)_bvh^һzo;\ΞÚ:.@ev<{!JvUC*WcAkVU|;9(I:Đ{&ai;|+V}q|j]J#<4a֊6IE8)0 bE?%ܓ%&80h`~h+lw|iyAS9n[ Z/ޭ\c)]ވRA6=QҲUS_YO@ܰio /p^ 0P4RYV;m^8/XS$yJ?YpxĔ.|D%/0*<\fW?,acyH4h uw5OOߒbq~c=$ cFfag b=mU{O,1Y 4P-Hx\B–C!¯6+;섺dݬ -Lp٪wj^4r32m? gDL#qV?+"rn5P/䄍^Fn@AsJj(giyQN/0u2R]I\z c=<gmlyk f@t]{{C0QQn 7,*@8Se.8iM9!q7Un79x1^ؒ~DCMLs)xE^# Y_{h84%}/_MoZ$J%/Nm(Gwsu$MErYeb7ZUzrw4`j3Ow0:~d*0r_QDnJV kHx("IO"@?~,8c ;WLHq?Sc^GeY` XXsCɱ (i "w \_")mV YRnށv=مC%\u:k-J5/VWȃؿra\ #0RLWbJD$) i|ȬKc[u>8,V\'/ˋ7_W&F|mEv[u9=EuY9.z=.rrOv!eO1Gߨ8aa /׎k"DT1v+0LqJ +v`9`5OYY9t 7])VF܅^*p-,WASUcT Ww%ic`Uq=>_WYG\.f;N7ʴ"DdfQƧ+ yF,2nEDGA:Ŕ0Ɣ2ْIY5G +4n=R̮Kplη9Rhк5..>p̖] 06^QnϚYW#;8oD\bL69ZٻŧK=4ȚN$ WB&8 cBe;^cBF?C`S]i`ϛ}eý҆ϱbyOl>S!+ /tLl)p &"SjWO(d Q@ZDC3^2˩3C8,Z^s-7ч-(dׇn]2z<9rAN!`([69yTJXӵj_g[eJciwg̈vxLX 3yѵ0>)qM}Wϴ01nt"U~](5# Խ#И , CiX]ga)S!>uJɒe93)]ZR@'NE =vOQI-$Ugf h)&FC7_Fܭ;ײ岋;`t„07Y"Gqspz kߪ$ nxڣ('֫vxyC}D7u)jf/;%n.ZϸQtb]Pow_9HcCj7;b?k ?[^ma%N/4sDʻn{c^OqPc!HajZS %Rӿp> 2 dq2E9dzN!V,W*"I $xnMlt+K4u<+ml 0gX* i(%X~w97߮W{xFY56XG u-%NpN HP?>;8ߣRjW_(;G o6Q]=-/DgR əO]lvnn9}Q1CmiMЍrpn_Coj0q H I T^:r-Tz'a W;kݛvJAs[ԉw lD3憿 ڲ5SsbUE I3sRlMSڽ 10%DqAǏ&oKO  +ʫ2?XP+]4Ant#:(پNiX@$22m((#af'פyeܠ ޙaZ=g! K4_mQa,vX {*,4f?G.?v3C%  421S,EȦ&̚Y`^"?(R6GD-wPi;)P`=T\dgr=œ̧ƃJe95'AZ,w;S6_!Wovu;KkaƻVM)_ĩ̾|16Z_i fsF@8FМtS&"7o~&@J/W.ҒE Lo.5W*J<ߜ(Ar^0śe1v]V[s{gG[`ƙI5N6a.ɻ'$P,F]u)Ͻ>M .ZSڨ-b>]¿PTe4V93-\wwPRq%U"Ac]J(fQe~2wǑ=AM;.C0qGW t2otf H%^W@np` S9/Sr4ERCK\ev޶F 2O$[Rr i8 :tk!*ob&1jjHglDi )jy^=L703 6XrZAxRq!BUDi{Qjl^r JCYjE< %RWU܇z d}>i']1lJx!xvJ atUWTw'{]fsT&CZ{/VI@ͮ-kב]ܫ+}[h9.dP85ƕ Dm9kv6 JY!ЊGS|:QBe-ҐkWe  T@pa o15 fǗ3䀒"_N V]}F=z)] o] q9?RЈ*H(-Uq%ZH F#/-{F]||+#%'߁3'/1@Y| s<0Vh .lPd<4Qs,f`[NNh W8Фhjf'!5eWfHyFr?BKG2MsH;NbGzcUd.Uq[OE_/A1N>S+[r388xq}aK::H;a @%>W誐Ũ`#tmA>v#e/j/@"9gVګ*WC!jҌ|fN@'ju`<7U fWxSnYN5CiK!_cd2'01btdR+ 茀:AC#֦@b A5x]w&{Y @k!v1TGLa%`:#\%#nˀ"9S\JC&eJz$]7[v]2ꀃ2q8K$]Fxm2D$0%?GNMsMKIt )ڛ3 EnZq6ɬYu(U 8e:]u͵" ~_mNl3|ڱ\Xvk9{,ǎt5R·\ (42؉u K/09q8tDg0MG`Z+jym]H .#1A$ tͲڒąmuWH06kr?T^pNPSH2mV-i4gIbH׳` Kp0*ޞhrM}4#ư;8/-2j){ZoB R}BR@ KRl?Of)cn=VV|9[b\HUٚ ~>qb(jy 3<b" >Hiw,ݖwgl17 snUl8QY Kl}枮Z.oUd)qAocKaWD ъ?;OkYH)Wu)gS[0Hx.ÎG 3yߍP^L5>]ZQ^͂z6"=降Y(vjn So 2^mJŮ{rEǶMӎL=4g6nZyChԑ΀{WfiG۟aA>aODYTעApk?Jk4|\ԕ|.cDy2 (bm"VJH9]e\:ܤ"[n[Cx:?qI</{!ylX'1j |"tA)b @E4a#dvNɘӮWFc6qFa?N&7_YɅ?}L#.ŔZeɆxQ6Ea*sR@ZYǽFn掣W} }%HgR"m/Y.иV-۠򲤹9!DTm*ϑ/1do^ aNpe0x -=IUБgz¦`BPŚ\0˃~zF{Dd_>K$ISR3*pboR)eD5K]c*!=H'D#3 ps  q?nCj1EzhFk8yZ^IHVLf4s[8%; '{ly#t8~A*Bj)3%[6n o:|` Ց6,~ٴv(T@N`KU-qe m̫Za_LB<$oH`$,ҥ;ș|Wo}XM1W10^S|K}gic*(xGE9_B&Ƨs+ؽb42fČf:fd&{ Mϛez>WK+%+1L/ViH@jAbLΉV@(?po*=x/t]Q/D{fޟJF ߿1a|qD_?=3@鄝tZ{3ᢃ%aۑ]I񝹸*j|ZGӅVb*6 `]+` Qgr䍱72L8hW4װX W;UqUZ)z?z߇!&6sEz,sXd֝W%Ttv/'m89ppHq?W%ta!y?i,uر,Yb7&PFPǹ_tu˜ ~"/UA<+?K`ÒI{NVWJD))[}8g !2'^}[7)qWe9kyR# ٞtد6u4a4KHjwGD>8Xjk4(|?c^Ǭ S2ܥ!ƊbLvțVў[XF[dwuLnkQ/$I%>%i㡲u:"zQV{I 1š0X$?7؁yldKL}~5%冸R(#s UBGM>+EjX6B6^:]2:ʖ=\F7n׫Bb nݚ:=BCl8#٨бSR RO`O.Rć|$TMWs5nz}9o/ ɣ3al5q؀9eZ,K 2D7}7(lxyZ2G&zʞ*njtBe$S_([Š_jx*h];~/z[]_j/%`S͆q8q<܌i8?0L9v)-saVLТR$X9vgMB:iUf,eۃB`e 48`w}A;=/!O.Ģ{0)o`?;ݼCj4 ɴ==5٢ =<.ˤda׊^l) ?w@1N Sb;g/"[֐ %G$zYB{3O[/!\] n fSI.Nx"bF2![JFxWcEI&2x 5O4T+rвPB|S>߯kS@ Xn/lL?A 9kL.U,=ɯg9+ڄmUdg~`[Ryg-)M}2:m\+PS+9 ~C|2n0F/~EVjya/i7j5cf^wV)9dD_9a3@уuL%2g [x9?sLuM)28X|c`gi 9XS396{&:dǨE` yhu[b_Asg0gߘgu;"{nCo.{|FvIh/aptsN! XfI)ZAw_irDĐ$²z#o;i9 R^Z 'PF3ZognvEL֛NNY`E:&\uק:*#ᐂKǂj2rBh4jmJ(O,BL-)=wCIaRkg<ȘŞTs=tID"\}LJ5j g;06S2I0RRnkP~˯5r>xrHwWܪ'ǚ ;4X37>08QRA =q#觓Q%zNlz?SPWg.; o$j~* yw"X<1s˩V!⻷5HCmIJ<аk JJXS8tU{?Fw? @M#ge#&f>KT$Zf" W+6nn"PI83\IC \T4Nzƨ~ȶ(QLQSN^=XZr~W^W/tk#s@MiphJ;a*fZݽd0Ɨ7bE[nu &Lj% T1lkdŜ /k5Ⅹh_.ʙon\IԐA.I!r|5Qسk>pq2118A >75wTdN6cvK(I T@lH5Ɯn7)X%Ǻ@XRzaWXyjOyQ`e)3.KYGN5B*L > 5BT-o2#x,jTnZcvf|ilT>3 ˆֵyE\"KA2P VE3s_`7;_w3J tVRv 52Qsrv+~nv L NgeORQccƩ` K=ȖΙ,~Z282x- ﷝"SU](&x8I>{L&YT+E}y| EAֈI|\ 2(𦓧6Qj?V )>)Yy*ȝ|2 %\J[0x.؊z 殣y5Ff~a/›0W.Bny'goqDp_b"? n]@97-٧cl~2i5Q?i/\ P0ZXhuXCjoWLRP~ {ecxY9$91{H#B .L #s~VHXi`[N)$Vq$ǤfZ.?kS~'r5z cW.L Pf vG 16=nzj5/k'=tQqi{AlbYKh(eo(X ߃^9HH!f7]ْ6`QrwpU}W咝:5 ^n4q:jiFB#xg=BGC'ͱhJa6Mk\;;WYO@旬*+hE26B6ޡ[DΰMrB Hf'$  0CuL+Ԛ$\t8o?%li1 '2D8E܋]#0i65p*: |lm(|~V5W!$8$.hӹ-YNj^y$gzRUR~L@`d%YR)z64|RŰsq\:y=і6FW2O|W[ɥ' 1}fOC7y6aiTI5]QWJ bHqU҂q#]CoPJSòc΍YNҽB G.νs&İkӈQlU'r+?&sV}X#oQē>ol~:Rn\}Q*s3YD8n] $QfϩOڄ1Ҽ,mN² TLkV[>{ vq7h1&%Ε]s ]qwcBxȱ3̘#љr"=;AHuJw l 4VW LB) v!2аҢ2W#X:͵KiXMy`y7Vӣ3psw.t܄qHfΛ]}bsX YЇ'v켠x @Or\M0(N s)`Uι5Kx_#>+9:`8Bal=P7WkB4n;ѰY_ZOTDOIɺV6{ܷw5tqz^IUeĬl4z*gc!kޗCB=i"M ݿkP<(ωŲo>~j\`v5_ӾKhv_OY 7BT1I ".T`|܎z?m*0s\)a䯰jY}_!Qsσ1p'B%BG y|) 1E".oPy#Y]9H"HlƮ 7@s ); "f5=W?p4 6oHg?5@,7z;)Yj2hiѪ@ɫʩמ%0F47H!j&@αkRN '5JzW 9Xs']nv5a)Nk JXa= ̨ TQڂõ]pl ='R+M21.pĹOq(~oM <_o,W;C0?3Gv>ڱ(aOE@*PfeگM)Ur٪(LH Ma{. n5X}B} 欪o^^c0_ QT)e][S|B[y&Coftb\hk;:@F F+H3 CTDjcO,4aքbzc- 9T/5QG9 r(\x$YI@˲^"]7.吭HY_Jj}Hb<%t4#>ů?z{_`N'%ҏ#qy30 ,5+.I=f0nt@lg]EWjN(h0Ooq>i\ISeׅ>,plt噏8]dx:U|U& )0]r%gLI^1Q78ɑ@?J i|SyF{AGudup9L>,0v(,*xS"0R; 'dJ2_{r$Ob8n; FCD'iPpR}6KᕥM)R|F|$k<1]+ZF/E@X֡g&[s n|]5dnHYb-+塎 =/  PX-IGʗitݻQ \.eXKdҩ0|tnҹySy^q*7k(ju^:ɓJ̌a%Wg\l}ضX*O2sl!DHP+< S i=~vHPvza1!у=C seD츧xS (1(qp1mA%زgSfpʹ0NpDZK Qʈ~|n!0-I(4A>%B8xЄ4Kgs&^iD^) d wVЦTqkRo48LG4:Yn$`=7wBH1.&x mkRG;(Wa,4"K^ 6=)y;^pP߼ ;q&@oIOZS21:j(C^HnZC@ΉC$tt9 5% %NL QZ<#@#B8cYR,PJqv'nb* *5^%J'u@gUl@H-Q%Џ`C P hUdFh{{;-9L 8[k ܿ`E`At{-w}*V.Dܥ<вQ.WlοRx F="=#Efu|$ };PF=_@*k@L(kz.Чa}sÐnQB#2Fŵ?\In Ho"eW$|X*ps+-.O/gxNO:[7T4ەAt),}`ļ8U ۽9۬ikNd5!̵yaˮt\}J@+Xy12Ӕq'tʖ! 9/,XL>ew:7\QM_TukF @kCY8NQA+ȕʿ/S3`n4vY+JYeOZA\kMuj%[ޗkO<7vU([{gsi6$th* afJT)sֱX U`RG A#f:ʛf b`$;@Y77`շBв9|ѦȻ9@1kELn)է$ lpMC-Pjޗ|9BJi?ׅJ1ܨ;Il.pBgr"ƥQ?{'`lNpkX ;'PU~оtw3 1x01kL"5V>anx7 5N)E~Kc}e;ݲY-p40Y߯,3|sHSQεz Bvu= HDISWPRZ[JizHe$tP6I*{L1r.Be]=j* S\:yQ{E; *|!8l9[+'V,)i,w.uu,'6JkFaA|DExdPAޑWDUBۿ4r*䆞e  'KUX/7ƆmWVRpΒ;"D+sG[#9]x7v E 7(VPp{绻UgkHFpقF5z7|̳Jjʰ*=B}Gc9 &ZWH6pϰ΅A^m |^^՞+3h̪,"uB 0[F^&1GSt2W/N܅:B^N:m[B_A(|jPL;Ǘ34 eV*d B`Hpg68ʂHXopI {W>S6ط2p_ !Vlc0OoNGnqfYz66z)}~I_* b]ŷM&-$܍؀7&Lz"x;"D賗0L<1EN^$q#,NzVLR [8{ySBFz<*b03pԁƛ'pq^}qvfú,@IxH|z/F򇠱zm1*jm@SX$y(jIj.;#K1^^R _D!Ԋ#cl]**oČR VMg3ɐ0ǜC^ۧF̯0(@i%*܃ ;+pBLJ$2i J2\C5<q8ӚLUHW6 xu`oIzׇؚz% s*I\ $6MmwoK祂 .W}YT4Q2DE%1xV8*[y\- _g$!027 IKMuM$^9tjEH}W?~#˓JGiTgAAr/+A fŹ7;9*8 Q56,.0=3Bd *Դi m6N*j|8t&G~cQrM@ԋt/8vz%0h[RHdYX aKcώrŝ^3Rvi"9RTp=zDpyざ:zX=KYƏ:bMx3|&vg2wm,@MkdCd{+P+JeN|1 N+(. wJ{s}hjTna˯dQO V?kpsnv<6l]Tx )Yw@h_y4> Y{Ke#:r~/ٳ5y9z[1//ˆE!@v떫٢OR5Qu`. XQO\dĺL i1ytu`tP6݄lZ>[.BA%ւ QH6G_ipcCZ-ks9ՆM攠P6Ҙ>P\s@n"e݄B5ȸcB$ tZ*o$P#͊Ch^@]"t!*Q|?DjZv ws%5u*p(R%}p;M!;}8AxNE#!tD#awf[,'Q~{UHǾP/-â4Q?B>551#ᷗW%0V@^AHЖ)tE1")GGatI騭rp.+v67VOn\!Peތoũ)Ѱz%V;Q.|1=M%Tx499d\O+Q^Y1+JQtbY@m@xӆݜG{I~S,g6;`[Vt4a-/&%_EL }Y,KcWP鎢4nmF" =M/n\Z8h>xTNK)"ݾDj~Rˌ߂y)ecNd)X1Vy< o7Q woEkkaSyA6a(lkSNh+SQ`׋iK^sڗsq4߂W) /S.&HJ`{I grR!:F\ߍy{ÄXi{i*pGmV.1t{;[AJ-,M?V.,Qh*Qp1Z+^& faW/>!2#~ wUq" (VГ>1mu07 x1*<HAD0O{H*]ZDBVdH]LJƋPÆVOFfy[,+ho0V&5 -"a?us*+sͦ&K,aQR8 dq ?ޖ;ƞፓƤlVre!`Gm?hK;W:ZL#VXih)eXB_j2殽_aHEϵ/=0ĕ틺yv! Wg_MfT}W=EZ.kIA^_ƣ}cnMj+V9'gTҼ`Π>ڈ)~OZx$I|=rxzEyݙQF"Ǿԯj0~zg{D;s Y#a3p= "#nW)A}|4.L!Y?ҽl)Hmj܏Cј!y4_g4̓8VsmFG/m N[u*GjՑ*J@=oڰ >syIN)2afP0.psYYåzq׳>%\+%>QBCf֕h/7@KElVycZ~qhֈh|TjY„^T|Ӻ݋KVz :ﮦ\&V:cC_By51/ .Ws`|/6z W_G;0 sI Q.#'l{qTuhrt '7m_hƏLtuY،n85l/N_0~VE?ưIw4 kcqPpy=m!0=6qb%i'߀i)bB9v.by!ّjT Hp<8䗹C ;ݲ+JR7YUW:e피Rr.gN:4ԫ8J)"FSdҧ. EDBbt́59wn\o#E30Up*%L/7(ڬIU$Tf1=nua/Lz.K *\SgEG5HBQf2)QyTʨ"ڴmAc;;=xeli*Y0NcFe'bZxp ry֘)AnH*t ', 4ˤXlj_{ŀelvɘJ`%~ (VSMмP7={%)*~_|p%+L^s}.wݪucUx?O(SZM;xyek[ڬFO*@`[$5EO41D]b4QQsNeyW%} ƈ y%kELtoNj,5zk!ywrF` g>l+зqcpn^ڒ1?xX<12;ω`]3l~A¼fƫ:_VaL} ۟o6,2K%9Hr{ x'a3/s(9~4|h螞Jvɵ9l=)ƾq^ЏIbx[ګgcB,>EuʍLDY,$r){f@}4jPfx>ȸ<ʃW !SPR.omVUQMS, %CDADGk{ @Ml:޽JW^l ߄1uQpR%=<ƿccĒfk6y~'De/P  4²;ǹeR!<`x2{˂t;Bԏ.g8ybEB 7%&B9{]mFc?\tTB?mbqJ&A`^RsB?gZևØ iԞ^ݪϸTՁTL)HO f]= Z0A$ ࿎jo["eyWt8/6&3 VcsAkauT#WZ6p!SnirWs~M9bRo;Vx t7([ćZ'e6'cINz X˵Fpu7N,W-o<6#51߮v043G?˪}~ x:IWX+(7H\rKN䗿%"W$ŀ:*l `2Mo.atyaQ"_}x,iC (miC8n} F]C|ھ3MO^ىvzUP1r齋nRQiC5һA&k#KqXr o\WH&pP{=Jo<8v7v*"xݪ\Rz[*!t,|Nt@By 2rGW\M痘}8vɿHw!YR:jcon#D` R9FK1kg :(R4K!?>cuB[Ctc!gK~ E@GuIgaamKvGβlFS|1>Y5s8v r2UId([̣t hg!9) bA1 ?D+4MbRR+?Ts_m%u3ilvAm{_'=gؚ5;n>z=Rѵ$*D;3&yVl-(2tJNy  f;%JXTkY-@8 WT-&eE ٸFm#v[ԁ8ZәPu,ݩ~/v ǎ-WЉ2Eۋ<ނ$Y/WD߮(J3(w$Y;IX_h.Y3<iJ}|-G3=HXV@jQ׷U;3=WR5|$P^յڐ9\.էO+GU%B$C!3  ta)+<>vWW. 8#ZB,Ux3U.[$Q ^~_F,pZ[HlX^|]V52.&\ʍ܅J(,(^PH &Lr"c3#4&?y UKa :97괪J3 QI*v3ڷbze$~3ݎqf$i5s.!O >6ݖ\ XTv(&sRӇ /w#e1;|Ag=l.pLqX}J8\1&TF2J'*,r]Z,ۋ @tu!,[E#)jJ٫lVe^k5*W7TQ1x΀ 0w>,ȫZD[qk,j}>7v^䂈pThW>1hxbJ9D  Z/2y_,x'=71I@oQ[u s[D=ҙ*`e`.61RWSD laή-fF|=J&@T/Pr+1.YUHJrDW 7x򄅚jT=Pu~UaNchf'C^Pځv uKuBBIR_yu:Ш8$t 7<6q`nߋ[}8Јop%eP VU'2ϲf:a*wc ˅Mؼr삃!m^y"KWdM0j}0اir v=M;|M܆5ިQ"JKN {4 *f5z㘡MIsu}Tgq9q4:? ϭ&MP5)WRh?V(rgt,vh uQIR3ԍwìj Qfژ#hY4s(5tkNsW,$h.9t̿ɾL/N/Tc?CAaa#T+o5]cc@AS%2]vx:N_u@LJsl&aNx WxE<,+i3yVNRoqQ Ĭ} "UrϙW͚VH#}?␍xcF1Aiop~ǪK%~v+ L"MݞS6*Py3f>mr16vcP٥fw =m 5GaѰUGRz.I JuvZJ] ē`Bdw!^ؙ?ÑYO5bKHLđ:|,hX;d%=fHϏ{;Tp̳H#I oL]* h݇Q}%(lO|k:4!H[V<}DяLrP:n=BۨZeJ_.kj\_Guwt "*:ȅK=@ҳY/Vz*qĊ)H(nϘ M[xs۶8<2OeXh߼<;\=>, b;,_ S>|ΚF˺%A[hV o1ԡu:lTP:4wވUG=Zq`X̅@9&)ZJ[1mXhMp%LFuBVYN>L,YPX>EKl4nbrk7mj@ZNEKɷyJ Aqўm{|+3 ve?uuHw_OCBM#\ݨt=4 (=✴1!HpS?i b's"ؗSC(l] 𷛌ju@Z|䭻6kDFTQٺ~P5 ܂3eL}{9L|L`+ΐy! 6<%O\<~@3Ě$e 0Hrf.NkRn.B6Gƃ6t5aQXO e{CKlTcm1}U@S+#Jk(iٽakeQ+K9bHu?ԔҸp.aSLO.JџꫴKJ6J˭^*w'ۅ %f61*/ߵF` &6Ęx >I"nH!fe92|v~af]Yf@Jcl92PcfS Dp ,UNbh 7+ ɾ3._..táxf RavmprZ&~n楋ȁwfL OmHtV;ɳ;iLÚ ] uIdktphp/#7%.R5\ ϾguhE ]sX-\l<>QcPhxнa Ga*<'I"B>[V?ڜ[e?M|rQjN5XEH{4+0ĺ;ig{rϾ Kme=^6-ؕ>q{$د{YH .vz J<>ʄ6$I F`(:( f]FB]PFGp~jJ+`͈R*uB81 aQH)?7vN:8dv(#Mu"}]Z|c80XKH/v M92/{'V`P_unT\h"Yp$ [`nh }U)k_m{\N9*P4%yh@8F*q`8)u2i=}|>3ȑF'Jt8ͣ1SҚ$q|"gcy?rn?'K%xH"m9 eݎ VW!R]uޟPz癇wLӂ\KbD*ss?1-Q{*/,dC`fػi wHp0ѲUtvBH2Fy;VLol.8$`0Ɵ5V)UvHgtCG HO[,>h1CkHvÀ|o'?+b+Ӎ%-AY슎X'%QT˯'%ēz ˩>MjQ |Cuèσ'iyIk#(0jekaJČ?Ԧ8"S'wUB`yXHmgV;H>fKPC)caA4#v*a[7 Hw9s>'Q7J 9\7 pC+x$`lnL@/O) {pӶ L-;]{o}@$ /c 9ghMSN[Is :} B0Rl|'<8/2yD`|am[{&Zd Y<) $d)K$T,IԈ Pкm{!N %*!,Fm+z0L|2j%΄ZVT^ڟ\ց:S$' [rk)90eq`c *8|uZ_'DɭFU=:~V3A )z ԑo7 ~>RÎ7)#$z h.cnyELc@7XL5b})Ngwc0*8<OO[}DOyBAaloN3]xjK壘xqf\P%IMCXHELmν55(>9?Ĥ4·\Z3iɝLOIC2<I\7p8rpn} 7jlbT\]&or5{Pjͬ [C&@nVr%H "a8+$j%*#Ewdbƫ54brۏ2 >DЈ7b%y&3 ^=΁L4<;+j4͗g8ks}+/ v&["UP]OV+vUibI +Ld]=֎8n+g,蚙E7JX;p4B4(l0΍I|+i|SI_H;?EzZC ׏WG"+9آ'+|4ЇzAvqa{\NǓxӖtH!vЯu{iUBCno֤7iNHw*j\`mQCX+z Whn:Z܊w(RNB6ycJ5˲0WA97H齅csUOJu:QgwPEvYl0kc 5?#u L*-G>9)'^ Pr͉&d ܼfQ>/ LdQ5~Y'4R?nrt|lde >@-Zta7'I=VA5qէ1ˆ,(O:rnIk\$kT\-5NֈS]ܬ:b8强W= 81!lKt㥽B?6=3uT;>h>i؂BzS,pBͼX +{(!EfeqOpu.㓳}>c53B9]K=^%\%Áb^Ȥn_Ɖ;>/2pߠ7^)K:f~_ PnY"1d¥6@l\Zs@7I⧶l ܮSB$1ͯUb ޸l4-€pG rcZ I&MeZQIz3" H*@=m=TpNpQ]b ~΂QbTsf#1fcY{!yw-*Y)cCYC@MO!t`%/G@D!k&6]L"BIy@SnQOO>rB"JP׎-u{aqG)2`~. JgnTP0&'$NSeֱoԨN-P|w.)6׀DCD%ˇu lz1M,LI[ݗ!K.q3Y: e@dnW5*@Uï[88%\&U2@v^C&F=E}  n!|_=3rGV61ဤ8y#j%g)IJB*\G@u|~|{k/B_wCַN(X~$'q)(z ]04 pWج3)3R868i?v# 7#ŠZ (~lU7 nd,( cD)ߵ:a$Jcͤb́]"WҋZf ot~*"a@QaPr;x]h)*>;9]̣]$XWDJGepob).~C]Fl5DV9ISoFirx-"W QUN^ت'TA|zjt{f4Kɜ#0ק"N.TYRbI()y/$R~hG~*xc9"  : ^16~Uz?=v. u3?5WVnMOHC"VĻ̄|wn'CG-[KU-rhA#B73F B'ߤ:"1K=͡"mQ0puxڃ_,=ȵ򜊲x_ld0> [bD7l֬ɀ X=<hԉ63TDWdܰ*:bY߿Nouӵ)}a~hf2.jHXwg29wo_yqPmԉmgzx c:ՀX:Yu,?`cȱM`'l]7"d;ą'62wk^HD `唎tGHFz '蘊nwtsX2QtLg)O6T“)ݻѫp7Fܱ#?i{Zs~ËɚXm 6'ᤶf 0_5DRpflACwD\a 7%9Jw5|+A#R'H@zhD>i,[m,_aƶwHrP'+":x/ {P F ݲ-K0Y %</}C4ǁ!ZlZ?1]6&0¼FVnN`-*m,eMHxƺ^ꞑ6Dm5$8%l3o?o;4gnNxl=dÆ<\8eGw 9$KRhQ4}G͚S6YhS muycE~{Gb+mb (fw݌tX'"*|vO-4Ofѧsd}: A謌jD|,yf]:Sm58,<4EI=UY:C̿NM֯ @zalBQ7? KcYofeUJpp4`nE, ~;Ls~ %^m,;wJby(Swb[HT@ v:+>'k]}HҙӏOtCL8:mSRX)zy_p|7rHS!ʄ7 ggn93#\qK ;/smuE%#cng0P{;dLv;¾\iaw,$ĀΨ5 TFV ieu7|Ei0ߑݙ6PgMҚP&“E[Ws|f4zfCZ 7#Oj=_#pxb`52D`pU`)-)$1no s~XBS=^?+>A.3Q!9'Qdg8nv!>𓷳倄>O&G_$S(?1HI2J[P[zpv$nqGL6쫗m0rD]2Tk$S*`BJ>BNls+Vi_&$j=-t=V" {޸g\U-+ Ⱥ_q55`r#&\/آn.p|v X,⊏k3U!,ҵkthEKg-'L& 7[#$.:*H˿aalK e y3ONyV -djLMPk^ͦ#dG|cte]nY𰦼gs^=`3`ni_=\Y\N/. tb:mU)S Aa~VAB8y{MI]81q ]gU:1q;jYB ǃ<sg5 7Q7ZͫY8*C_`2pSˀkaRG`Ĵ{dv:&T:+xГܦD:_E *(\#C/(3=F+ӢÎǨLRAB5!Pr<\>4'g'g:mV7!&ݔu_xhΙ6E'X!u'ERTRP˩0nƬ-+&% 6:mcӰb*Sj1?0QڊPf D2~saA*!J!2 KlR(4F`vs|=AaÎKIIQě{3&JU7yX\S' Aid:Q4/8JlǮ&i_s0rZh65Z'-=;P&3O* +hߵ/ׇd=8^Q'6Kv hXyc"֗G8ET^:~Vh\F>+j z}XQmV6~N3Om;O &H)*4˚ŎnM3k|' < $7d;M͕ bY1LtL M;:5qAQS2|H1b0I,%XD _XLlsYib 6ﮑ}O'\/,VUd%ҾHs=Qܶgx7=<5x,c^&m?k^aIÏ#kwM/|W7nѨ/#{oNQ?>i4]Y`qo,;vZst{̹M_vԑ.cp3SS}ػ~߷p庞_տZrh8.Pb.;=jv|FgX"}HzPg`.mȾG-9WcFE}5;fIAT1{֛P  99Pv23/_x $jynW(yc£uةih8!)>PH3ɪK]>VT[؁L=-~.-+2խK1<< VsdB{$Hs'T뙧7NΔ@IMiȧp 1ԡ@`L6C:H`f 3]Ei棨߄W̸8l%IA#+%*@w_ 8h{V؎"f"jny.8Uii? JQ+?hF*3bY_Ԧp7:\u] hTKq@3'HRCG.wXiKfˈb6/L3Hg1Ɔ]eFa1td1ՐVYUg 1<3Ľl{^RH9x \p1d^DOB`ewReLCt uP`cMnᣎ̉A3\VU/+xŌ~iI(Z'l;@,*ޮ+[ f1!{tbK% R'z&Qrqk\&ߐ]t:@vsڊi&zIO~doA!6$jooֵȓXWYb(%Q**ލl:}?2Ա !]B^3!A紞2k!g[ۈ[F }3Q>aM? |eI(IQUzOdĸmXm EU4vx߭9ڄZ+^noКڮv#OH_uɭ/ŷ%!Ԋ]9 Pw%ZA)ϮJ{ق #LXpn-k唧/3PO(]TPU -2Y_^4m'jHmSB"F NV˳s>gOS:^%Vg-FVv=޸&rO^y;oݙ7#@ڲ_t(nCʳ _oYp-5*xC ccz{{W.fؒ덤l{œ%]÷Wf9lJ%۸X p!뒛3es;K.4zʄE譋t0꾷rxuz"A_J g;U+' M%.,__3#O8 bٹR 8S tʉݡ;ZP|ןj#sɒY z^(쭕Hl>̈́Mw1✛"Ljo@O++83;Gp:bǜ#' YLR aTRu]}ܸgw u@5{"Qtx-iVn+(F%G8 #=}otusAnl2ݶܝT HMb>ǀnͬ{M!.š~h㎊d!Q=hYsـEE~PNSo짡\)RovU߶L!y7ėນx̷ܽOA9 "AM cgU2tʂ3H=3F;N)q猙 )[:3[TzX`,< B'!a AM9gj?+YNJ~p|KNr#5`D<V!5Vfߕw'M1v\DL=6!h_]4^^kyIj FۢjZw2c7:I,[q(/^_݊P=:=Nr" fOz2ɖ;>{Nw9@Hw HҮ[[Lr}` rqPSqzF؀0 =H]ϧ#yvZ~-ner2+ɌiO1f-x>^:}$'~3(ٌ*]$ݘ9wv}_\_`1jbV0mߌա^T6S 6"LfHK|/$$_{P:+Yc'zPͬbqd'#ypZSEڥKxD*wW֒krh>?P/>-V6YwxPW\dowxq~MMr1WMX&Kr#óudb,5sVoYAw)vv@- cvds6GzpdECAJ5*y +23dG`bbw\|eH"ӚXC.ZL'HQJ('E)]:R\d"ce9Aw((MZRW\dB>@h /N]:Bݷ=6ABwX1RO+4e"Y{fB5<`&5/w.Os(g j%oDΡT~d;I G x(/}v]&lX8wr&뱊ȿU <^=2ƨ{CfA#mn 5 RZ);<8E76tn┆]~$[= ȮYWQq4*Zff$Ͽvpxo#xxb3| $2.yYNu1>ak8:2arôdiBfnܧro@ܡ/}ek̻$?ze6+'C[xx)Jwj_#I2ciS, ]^R%=es.P6L-^Dv0S|707}\L'Rln$-)__ +FJFiCul!́Wrp;Q<&I. 6WU~v?a whv25c$|Dceg.}ET̹3Su>sX Xhvu5qɍZ!9MrW߃D,* h5fTz,1IʡaEy?}}-xPP' D1gUB8\yю)C !OtNL3nd5@0 j84Ae?UQ0nYrp*z-\A|%E<\!hH*7 Ŀ%Su+WR\Dh)g~}q,ܒ*W Њ'TF'&qZk{2 $`]aw,)\)Y6Z d#W5wQVM>lJtRJ˼O%*)/})Md#]`n-zg{/BEW]:JvAiu|=RM_哯FR^&S5 =#NP\ \>{+t ETper)A!,JIK2wGN4"$͹?OFh(gl]ՏxX8Y'މt#pE*0O=x7i&ǧ,FJvͲXNo:7ubqxp@X3.™#)W%xKJ3&Y0LoK*faeS<# 0_9 7t% c r@vӇO+VhŽ&9K8d1mNZ<.%sOcڝEJ—UZ#EQ+"VDVW+2i:Q܋xeG~ kgq~=VHR"tD4~*b=(?f~͗e̙0c&u)UH!sŽBkX"&$2% 8Tg0(ԃ{; n,9=Gu5Ly@"slt0W`ceϊRh`4DLvl*͏\~l8Lh0xR ꙄaM_*%妛*kk[:l h  Knl-6jv6c k }ӎҧfK53kyQEլ*P 1G4>R6=ݬ\dG&/f&7LNh@uah1?BvDP{y&EeFܢZ -IJ,>'l' aQ.Iǫ07Gf!1'mE:@ig lwa{{n*J1 .&(-VjjkF12/)6"=3?ʄUo1|/6EDX9i L(.«2t$3>z(lEVAY)'J 2p\'x/F&H)^hˠ_ -0+=dtG: ɖEc}9\c7`ou=0⏊|0މ}ޅ|QňO腤Epi:\`\mT4VHesNɩ%~mv//v:Y ,'Yj١:tyqߧwFh7=W7mYQ܈<0e]G"Y74\غ?[W  rOudЍN /ia6 ^B<3.R"8`_e<٥n>MIK*!-f$DA>J6p$ k&MlTP8J.)NuѥIS\cneIY{h?'TZ=i5xgĐ]DGc|~p 1Y-22FSr> r&:-C% AiK IGbңX>bf AOLQW)^ "-Z´,$:K[W«,MFA8Vd$ȊgΏ3صz{6;JYu2nFYiMdVi<"P 'o@|SZrR gu9nxhU+c6F ip H^*>B/2O,Pay\六!\pMM]fu TNcLS:o< *A"fPrF ޒ#Њg$oF9=q£GzXlZyu_^?)q&1Wў*B2کg87p!*a>sb]>r{@9[s( i`_PLT\S|Z"# ±<ύل$CpeBZj0 z<è= K'\1Pr=0$nOs> I2#d J Cbtհ /R ܾo8:9ɝOȕ} (#5sŅ5է6Aum9BymTNeCuGN2o1>85QIZG fV>7੍g[Jʶגc1׀ut@ B}/ǎe'%$%t*/]^P*\[Ixqg^[F8s_YZvZ/mVQ-q*Q Qo ='cMk^ kZA|k$ۯX>F%p<2݉З75'}ZGS~p Kp\*U#FFʥޚhŕ7Dؕ.HC+N OŢ&% q\`sk7 g?ږ:oˤE#m6bHEnu]9Ⱏ!,W"2h={M )IdZg4ͧx11K8CV \v#ncRqECTvLX 톜:"R Acf}"Èj@>'e**"CO#a*Rs> ] g#j 5!~@ˢgZRƝe K ^N:E ^B7'DL MťWsMWU(eVįSk^5#շ⿸5G^x["6kO5w&%Bd* R<l\^#6,+.gmOB^kīvԆS^TQ|8~"Fo*6;OHq'FcemvSK gj(70Y[TࡿZ._H NSfS1p/K6O j@Mù!mCߡ|1\cx )*nnqK,8q~}nQ5 ȠmDH=mDM|p^VV>Zw/ZRg!q􍔇YC4$'ݶchz &QmoamЪRe(Lb`*CktHt1NT11ӔDߘ.Que@-لeC_Z)E\Aݐ܃xr>J@j{|&A17\{Ov&b2y 2< l\rp] e6:+" }^RK÷F(^ :Gՠs|ߦͥ?Gw'jQ%TEP)K`ta:i0oWD0»> K%%)~4uhF >D6:xUj3lF$|j$ ɎcfVSDw;4rITΐ9 "eenm qeRBzn^*3 - Ol+I߲opMoQD ]rY|Y#ƾL,g fIlrRej } .P+rJ|*fVJͳh䩰;k$P(pLլ R/?H߱7.%J#\KUʥ WQYؤ0תvQDP_FipVYS֫([Ym׌ߞ'+uqeW̿SaΩJb*tRmc{,/Q:V $ h!} tٍo.S 8 VBsuǓ% zj|p2*<u9=ׂF[Re&c `hm Ok<9ܿL8v0#d:,خhGBau]'738"<!߼n\n6 @˒w|'N.ɥB[==q[oZ))SMuJJt=zaݟ~O w ]]{MYn{Ҡҷ)p1d^'kvpVizcYI GJu3Yk;.meln(hc 5fH r7Z IqL=ج/904a8+c0oMsƌ OPR:-`|dxrix)ѡ0CȇcL '0#%D9WՇAOHh4{=O,>yPQ_TpЇm[4`- Z;ÓER*JƧPWjC]\Sry[t/aK p%3"!v3M pZ(4e(: 6%i/<{ܧ =ƽG6O?%Lncj(X\Zs$m+rZdta>H%szl7W6:0fɺpԧ/ѹWʩj$K/`BZO1ݜCjѻnpiggɊ rB`=v1jZiUJWw1nKM rYCۯ`PRA&/wE&$GJpa#.Un6D׻MY(;$ Z;aQڽ'%z Gl q9L*cl]51ZuibJP$y\|ɑԎ;_M v2 lsligѪ\y_\tF'LB]721k.nHG+N Wx2a|#D%AodxhN`j u14 ΅<0VҾ\fO^6 8F$m]%ښoR7[2Tp3 1=3]tN?:+S8eW47 k$ZIR QlpBMg8VA;' \]`gHU^c&)טX!:J1flR_y-g}7YOH~7.~9gգk՗YoLazEFZrGV2m:pAm%~L(O%\`G{s2MO?xW0:LL[9=/YѬfL]RFZ١5|$nNBΜط)a̙7^R=}Vr]whr,py%oCvmQ]騋؇`LO.BٙxL+GK d 1B_47';B?qNv-bqo j>uNݪ٥ m߼7 K;Juj1^^H\%hcGC2xZ6k`9etс $\]0EA΢Q}E7zSDӘb/iVӸ^Χj +Qr8#9?4=U,S=g(-q8Bi" .$*_RZWݤؤXO/YObf:rS3rco`d"|i$0hQcFM>y0LK7F27wpd3+?Y+GiN";PҠݝZmFJ)*Y7 . G1U*sVxث>ETU%Mg3S%qe>)=MtO/]\B uJдk[p_ pqЈƥAFJ>!``xQovkU `N3{QYgJ[جƼF),s!9W#hDO*Wa/^kQzNiKYl?}{IYKL;?n'V}CG9.[og.F5M#6B}v0}ؿ$[VlYrAǫ#OӍϥt=I\ۛڝ`uGlû8#h& day}*A(\;`ި:vEjZb9xQWPt2Cc8"ZD4[mQ>9)hc`ט3lUr&u6eF! #W#DwRZV ¬國V _X'}'w4 =I3=t(4[L3E0p! G>k.{u8J`g9J=<"jq W<6ƵZɾgz-ֽvn)i?AO8 Ǫ~cJ<ưupAjkRέcb1:-\w:0% =J;e1Q@Ll%E5Ʌ'5mԇ&K`ρij9zd J6`& 6@WNy)6€(*e/B# Cs񊓏yS|k1NmL.o̼Gl+9>dYRLW$EҳE'EQ JXK 9 nco_fKI#~".עbb/98Mxj MTtƔ2 /Hh'xiZͭi]%Cc=U/VoxXeD~ʾ<ɫǏ$_.w&!ir_ۍnϝ/[ 76oՉ\/s) ,=U;atޒ9$_ő)k[9+Z0Q`\eK!Ag0DK?셠p@:=UWkA5>aqcϮi(C:hz|D {-m< 4B+rm#_hΌ:{ۂ}0ޟr1|U?4/ B>T (EOG'0\A}}S3I>U2_?sZɵyND'K@OuƸ hOᕤǝq07&3BBW3!kã9a)(R(U3-֍WT] ˁKe`Eѥ[$툸Z 6CaWrF|~ 3Bd9s1V7|My~M 3V`,JNinbJN2s\~eVgo W Z"k@ 1(!֕3P&$!@2-_]k pڨM)쇜2ky?̝mYx9}H(&z#c9+%x!'*<=*#O{ pnKly +@W/V[NgyXTCﮕ U%="8bxd)|*KX'; R 3)P$C&kr x}({՜\AΨofngş{RibKp^e.cقI3[/=?Y$ }4#b'Ѳ8w# 84Qliv"]C3Eہ[5˘> V+>Zqr6:zvl$ ~j ˂K}&qVǖR^R[CBR+RAC>OMS[]kZt/(jh#*!U4x$"_,PӭUioufuV)Q^8bw_JQ])KCdi8e 0΅֩{4odʂLz}``_2ˡ &d_GQvQgg/8CZ Gۊ;m+ b>cӺTǯEt8_?X2Z#~BP.DϢ-ǫzZ>j&˩̀ݯwg$w߽^s"ϋ oNgy1_Bec(G O`~r,@TO9܋vh )տ-S-diPwKk`874~:u+e)P>3Hq8F,ۑ`eځ~YD,U8]r5*գZCQ! %j/ 9Lwc+޼*rr8^;&ϒH^%]ƊxQ#,+żU9;~~q;#+6%]I1_*>1^76 N`FVH۝.S=@cf',΅\SI$D%ES g}iB~eld?$,UT1'%)i,7«bƇHyr\YwRE5h<7ݝeE&YQSLt~ul} 5dFNLЙ2=k=FBF_1r2WW1i8C Q+֡3r S񧄺Vݘ%hPUxf,'? ) &skdGHP-q;L+&e*uTpHzNKwF;4A˴n烖$z)<yo`\q1 &fjv+VNhPue/Ʉi%4tf|wWy⨨C(%hj1O[heo!Qx:Zޚe}@>rBTۉ^Wm-[]eP` r8.-0<_8zdQq\憝\l\U~.k,ZvǯkIp+8>`ddHoLQ(Ai\іjhԯ6g$xxuM e9^Ri"{M/OWRcT˧4-+SxE1eqa'APb/d 01ኾn0/,Ka+v,vJ 7̧xa éWt? G1z$5u7251&yocʬ~ZC}csu@nnqD hIuAX퐠Z Ojfp/7<txud,a)XX|ˈbӞϦ]#R| F,ǬUK9A(v [ItkMa֚CJ=ѷٸӖM=9 n^_D8M"\MaTk OH{Nx*~ͬn_B+[ҍdj?jwSn[A \C{;A3K3S=ʐ?ݕ U`v=noܘ'įx |nUП)a>+QD@94,Q* ֿn])?yJ's& pma}@;u}̙$0P֜4Yz$"x2҅aW a%RژN\zࢀڗ+}6&A'('D.`'ZN3Zw0] յ!Z}ц3]'J F\3՘Q'X0Uߕ(!)mp@x:ʗ|JڼYKNɛ ;xVSalmђo,EЗo?`yq,$9fuurξ Et"WqCx\d`6Gv.i4%O WQMzeVCѢ[rp`G! "CidnFEr!Z*owNGbЁMǸv9˽ց !@ T8|̐fFUWwL:tE וVխlAZv8i+LΓ:w,(h])1~uOH4ZJj紨aXJ16Gno]an84E!+3jԼ ęJ8ضxag>KOQ`qfw}ҿ $$b/chـآC9NmpgY1y6Is?sjƚ#o}hF+=߂ͪ7FkJǬ\z[*gdYUl:uZ"(3C9o+rpeJ͜. Ch#jPmC%<\IqRRf\ygd(eԽKVo+WK'kFN5f}7&/$ޏ`2`?ȇݞ۾{#6pWv`hh}H3_@J(,lY& 4SOъÌֵ$5*\;f.k&"#O맑s*w|`@#Ѧح\tu*QoP /0\l(!T 3'w   n-S@ֹȅyG{!| 1Ox;o72tF6YLKMϷEUXd +]HXKj_s<W ݶ(?D]3uk$2ҿ2CfܽIDp˪=BkN눾A<z6@=j( . 0['LI5O̸ j c 1_C?;-hL2qQ=/JD@NRS$rܼLђ0oẂUw‹([~JjlN%ɐ1%Dc; Hdu;,'M3qp+NQS` 덲KHfUI19n41(hG| =tճ!:hIUO}(.QҡHC6ꯩE[4N,?Qj̖?</gCB^]N)Q까{K8ϩANIq 0H1JKHR?(g;L@O=t{(%+&#x\'uIgA]S (v8ݶ _R-*5Mڠ ^.iIZMpQ'!#F-s/`}7wY<54rSβj=^71E;Y9"p/Z$dgϴ6UuE;B.ˈfzjA>,lъR˝P34Ӗ}6 ]+imC ybk1Һ,Jf%۶l4_2"Jĕ4c2\hm͑PْDOÁ* H(G 5~WIUF?uFW~o^?@*R^'dQH}xcD'\_:}Tm-'h_Ttyŝ3pC=G+ooFb Qm>wDImKB@8/e.̶UeS(hJ?ܢM /ZYE?`N~{^H`.@J EP~*3%aq@ny$ܱ@^ ٶ9a.S +U>{oE'ҀxtlN*n^ohl,\Z6M}:kf*RIGDR Hܺ-/;O &ݞ5Yҷ5=g>I?,n]|N=(F ve8j:9+~qt n=caH1Ȯ1ޖ27Tf gRRCΤL󉳶󲋍sB4\aZ % MLJ I^&&'Ocz,]t3;k]yeA&6!$qnWp0ViHY04|vFs#l]@,BSdaLվ4U7W n7 0՗摤WɆaH_ҡxY94 oK 7f\閭^Cr\m][;Z磾 )[$ /N=r뷘'MķowRF k9j"NĞ֘ euؒ(Ģ# 1?@kڎ!9@)mMVLRica \6-0!~B:C&ԊG97udo]i!KRY+4_q ;IYݯΕ6MfTͧiլ8c)v^ZuplxqmYPϧ˜{߰Q (5O-EfIͽ]B-6 csۦCEEd=GfL 9֌2W=Rnu_%+oʦ 5Pr1$~(nzaTlN rFA|3zfTʢ9OTǗI9VVfXA^ja|'~|7OvM_:%ʚJG4=ڻp8ߐhGmoor.G$ҋpBCg{t C=z2"| O\Z~f2>3:$5Ph;`x:|v1o[@34vd3pWq%W?n7dCe+Tnq//@9%i_Am 3 dWʺK1A6 ~eicˇJ;{þ)oս3QcyndϒRݥ`(@oFZLqײ [$#8=4i@yBYo'5k8=!40J˭2N세fs:xT4,ebowFj3Ek!PܽFjUW]$ӖSX%jY_%jw:J%(c$%@BI Z Rqs;Gz b)N6(n$I E;FVj,FyZOna0?z+͡聂8h[lƸGeVu *Uuv4DB&;GVuށA+'FYk]{}U ߆Y`.p-P8MNZE!Kxt[[Y3v?BC"_,HHH:;'W`n2"~ENc|/ V9[fKDH*/c_7n])q^!F8D*2<8*^>^-{>T~vAN̂i^?o%o ᓌ>\}^A#ҋR֯!{,"vIpBnyn)L'=4L} *E}PeTd0KCqj'cNǗfWWYQs ,IO"b M|W5  9E8ƨԂ(z *kXcŠ7C{<1༏㓰4D'I'`%o |W60, q>)-p Nix~J:|D^֡DX;W\4Htxӵ2F%zĦVU7}toag i]٠mviWS_& T G˵,!#XiݛưG |(mx)kf6Nu{_zsv!r/ )z7nrIhO{@7|N{Aen6b ʪNeE"CΚ \>!-1*upNJK_UDo1q%[-"aECp:e[J9p#[Ǫo )SOsdcm>,җ H$T8a a$yژդPŽ~};0V+Rd;^ﻨ eyF,mBP_9/Dk04ǿUIrY^zEߖz%UБ> _a5U|xYsݸ%#e:"򴶛FzLoS,JrVFL |$I;{ŏ&-zDRbw #NnHZg_[*/A Zs~-{X(q5(ˀ 4*[As(쪫,&Xof08h(?3WM4MR9`~ѐ' ,zc%WyZ/mcjͮ_ߦE&;,Ѽ -U#sv U ̚ʗm 댫̶7fC[\ߤ)oJprB37湐G`X$`6I<]\T%It1U"NȜ^a5xͶf.u)]ve3Q&+%Ҋȅ3Z߲]!_'QRA,TKcC^JF9t*QފzA,L0Rcc ЁN&٦-m+څ &7B_eeB%x6 E8Zɓx8d ύLH\һk.֩A2g.qxl*,KoChZH3xCqziǞxl⸒8dVfϯxY_#ĺ{#ۼ%^nrQҤ%)'rB׻|Ota Ao.~ufHۍeOah+>*؂q .bn̢4; _ɾj,f Vٟ©b1@Ơ՗ ]Lp] {{|3ԤT . _EG7N:E\J0fXQF.p"R sM\fOӴY rwɼ#|OD.dS^;`؅k.ڰ߯%[<-^D/ Im5!~?֭!@,"lV-D0U f=<zS^SZmfEmZc(N)!䠃M&хß3ۢVz @e.B qdp|,2.tQwlY:Pq( [\E!8S;SWʑFPqWod7s_8."0O%'Vk%7`)`p n,TbyN 'ǽ~ѴK]%|S>S9hM./܀xq#`z=iL;*h=-K͑!%&\}^耠7,AȎ:p}ѬQ+BvQ:F6*/Hf TF ,9r(nV m#`/yO J()mC..{;3ԳJ׋5YiүD~#wơWJD V7I?Xώ(cN0h2xޠV - oXK@%,>cO:zIՁ8Cm;G&1y\nE09yfۃx3_%ahn([G?!Uk lo10mc@ZUP3l! u[9 JSVhPkӂ^ qP#$}PmoF&Re  ; 2DZsxh-O-VC$@4VM[0.}:l"cP-,^փz܆wr޸vh+i6Qud^We*ΦQ'rft< 빌問Jy7N g1d`seI*KB|Ւhi׷l% \ueg PZJk҈HN#%j@B -&|Dp|u8U WqA| D])k;Lo'd`!Ӫ\L'ӱgX R{)~-LY;x-bM)e+RuhSD2z $?>^ B-EA:?; ncֆup߽{豍ɓ}Z63> U,#Xi,:]&} 9eNfjńҶ4M,4r#Z@̞c [5pY -6Xs_6Xj@wOBXF삍ڸIk2zw}oR#*rv:Dژ=;}-$H>XoYN{jz GkJ̲Dsj=zW);97tTLzNgC>^3NuZQ:9(qyJ-9pyG;Vzme68~@ 9S2Z:PW*cFDUu"+x8F]#jM3=费Fl7Ha¿|J??K ҹ@ܠrlz%^ *F~^^&NnLν>3I C0:fC t }ubEj hn' ۂY3:D*@\T|EGQ:T/ 8?:dVzfGj~ȦGkB7+[=E 9}i썥J%]4 لWQ=X½5$vٚX-ī7DiE KޝF3Y4Fcӳl,?L 7X)'y'у~RFF[]txuxiHVGߘ{(IM%<JopbrXxYC ФCHݴj^e4fyׂx| } Z]Vc&5)߁_Ijiw'bTw"OO\x):ezH]oV{UIioIr] Xӛ/ gO D8!UjF UxpI~'0HD'Wpt愁7c| /DM߇rVSZ8h'{T/$D*/&=1Y\/  ܤ"[@'_%,݇%:ɝF['#RGO;݌H+ԣAF^ҬCV=Ks2Tw$=M?$%$ #.YuR:P"h4L4޻.;@1c=:cY"M5[@ב<Eͅ;8pWWя<ВX?=HG)C~+/MJqiFj o\VUNã (YchT[EpUA1{ڕ&&QS tª(~dּ_8L6)O"~N&vhJQBy>'$j9W2'J}`s:,fhmo?˰!> :SBb@,bw"ԳcShnaܷ X[v1|Up#tc.nG[k˄ 'EL:rxJ:npAr. Uӡ@;_涑AI u^3iG. `@UsUϝ稉64c!Z.ٷRaNA[aD!l*L`gVK$(˸? \mԁ`^Ҕl;ά+լm#QAʙcd"sOr ꗴ Rdi!C1S"&$mgp?LGM]?3,=@*>vJ8>M1}FTAwN(`WV <֎v9bZ dt,(YHwbt_w{.ۗO\!\f݃@˿>/0EBIc:-v >).E֔s%!z̶{t L@͟"%0O0ܳ%83xQ=_+ar]X*tgnn޹q [oEXpgٚF oChWt.}6\N@Z]CWx=co*71;A$VYgdcr--j.Ջ| ?U,16ccu (AsxI1A]9a,VM !V=P $Kg=d^ݵriI  BS챍 p_s@C[mYss7dw$Zr;}8%J nɃ:g߭9tטFQhK坔ק6aXmv(X|){Rޗz;6P T>Sh"{gWA)q& Y:F]C+54ZU.F@* }@ U-Ehݰ|tdRc=[+Պ#318Ҕyvയ,$0d5F!nG9vպnÑgkeLy[`%8gb ]9A_%|)>2&7Ȑi[7uTcuϪn"Rh62viz. 9>#"{:5rUԮeC:YKʽgiUa9W;. D3NpR DK^J~YSآ`*Ӱk b[ԭ3󆫇2ۥ⼌-o$҄Hi5"b A+a٨h`Mϩ]e9v"5 ̓i̫mt?8x ^f석*Eh)]RX 2ԋ1o6^7ו_}!t5@w9+͠wIw%nNo!/qX>"pt_;ϝ |&Do22>\;q5hw-PDGVx]AC`+.YBgj]UQϹeK@#$x#qpj[nH#WI{~sF|txRK:$j;J+ֆQMӲşh6k2 *L8qqӝfbtq;(] UGUƈߧ>%:\4;a5n OJ+duQbwѽ 'x-?h~)7ZNɟ]cn;V%ֵrUKnBd];ؒp8dSSЋa*1kYt(0\ʿv1srϵ!؄l~?_hOA}  ҂94H#Oł[XjFhpRab6P *bp,3KKF?).,/-7ȉ{e"}"xLjL›qaS1 HQis]J. %LZfϿ|a5qAr_ٗ QDe魓L!'0k,sne65Z;hU}QdD`y>ǣ"~UF0~?gp.XY * :i"vgv'-Vx$< L\ߙ;y'Z"[0MU'W$&"3WOW<=o2v@ d_p `AQ!6`qxIY6t9C<`y]{ ʐ5/l'6>kd H*m5]L5"Ь6+/|M9]AS>ar._pwt''y ǫ ^f0/~!4g4WfJ_J'f]֑!587kF *FL1-癴R :fI@BM8M3lQQWxWPEH_u)ZzE#n oeB:nmG%rDVhK%/(?atio}$kL ~ȿ]AG+cq|jQXfjH߭,bedv *yLHOo2دc2L>3bVllD[B LyL2wj~f h0 =HOf-9Aʳ=Y^$>%Rʘ6gm}k%#1>y`PY?! s|}* {S-t/TJ,[LDZAC7 =nH[`Ad 8c7E';QĤk8ǔ=SLmH$rԦR[8iڊ҄wm\Ėc&\61+ ZsLCY7v뢥!G YTK04VL|=?3@Kz}n_/Y3(7ha9LLd>2KsݟE!|ZzD*"0g1ׄIw=J <%#0@|gu!!.h'DƝlta3%QWN]1}*z `_yN0)eZk@زIÂƭQۿȾ& yv7 fԜb'Lb@)x7^+9:FEqZU|Մ\qd;z!O4I)4C Kx`cg;#и,cUO5bͨb,䓄TA&6V]H(sr$n{(ܰb2mDQg)FЦ/F3*-SCn.mu,\~{#%5z-OGm7޳>x0X&[T{+):*'{rfe24FmG`rտ O]~Qkc<\ -Д> FYԯ*ql3Ţ.@$de/RFKm6F8fiqƐʬXV R&zdhv̵vgL2񑵗F /gKIhU󿟈!21r?<@`_Le=-)U",6ڍM8YMHtY0S  9G[{zvgdᢛSyN#=mb 3KS?i SNk\djJ,^\Z䪈U0-Ad혛\Y\]Qk/}aT0]("yL!#;:b`x}(Ceg:[?=5gA`^My 땍us<p= DMYfɇH# ɟd*âr\N&p nj~#*}Eř#;EU:ZuL̓+ Zn]r6.ԿklyΑ|k u?KݜY;puv*KG'qeg{NQGkQ>$1DS/FHo:L 6")-_dMe gqFDY09:p:Ko$_֥_`Kvɍee!35<+G)l~\Ϻd١mj0h"ml !Ra"XLK-Rr?2U L3*u:lD5~CH.X}UuPHBv6n]l|%;k^Jiͧ~a,hx 6CDtlp=Uφyd`Wjf(U?~B󌠄=2 yVpk4;"3= G ,A;G aUBK\'GX%*3]Q[^9T"`^O Nu AKxIV`j|٭Td>IAe!aQINU+F}?BS ľt;R̚ߌ~=cQ*/ ^dqmVOWNDM-l XX䕬u5:jD$d`_w AB"EBB&a`KBΠCDG7jȄܝˡEOykZ6{%CaHh/ Cge>R?32%ͼl YTofwUV?W ŮN6qq^Ӟ׈PXzV15*J?ۧT* 0Eft_+~? v r&|maerG>2یۨY>LOM^O];{KKKI٠55+OڮBعKpw-y &An j!_mQ*{Kт}CJOCFws9i}{SldWnk#أc(r &?YyPb>`V(2A ^ct nJrN.lses0Bv[@؃0i0L/ 5 3bfLO?p`l T _@ÆLLP{+. ÷'ShqO%  ķB}0<3k0OF"-IS~ o@S;:Okb6AB? @h0(6?&eX_SvlHF%/6h}'%7̙jZ 3n$FMxFv6Q~@$U4؅v溼s3&쨂Ea(E5dnv܆y#HR \f6㚃'&R'v uc&&zhV<$2t^nyPƵmI؁nǞ:0%4[F|.4#f2wTAQ__O u|Vkf9"KLL<[jZ-SqEѓcEX]=2!@6\::mCh#"Zib3I!/aȵ茐ώZn=i6 <Ϣ3@wk5mἫX=V@s*Cv'1N` \;ВQɈ ݕo{yYF$)F 2buGA {6~Hx#ZD`8DI'XЯ %m31FXULgeNG߬>.3bHA*;yB(ja5ϯK9KQ|Ћ +jyuDf?P[Bʈ͢zP񦚮x߄g"<'WHԘ[qhLH&f(9KOk8^m;^dZ 0Rj)f,ˈC5 HI<9iw+Ac GOONU᳃s(HصOE}[AјZ)`A=ϧߘہylsd8EvNh{r14w*i.lʖk`"&/bv #;ߙ9a|oӖ=#3r9cƂEc-"|OȠ in{MȎ=4CخX&%̅#w9 7 3}` ),Msj돺uL8%ab1^2rXZ _-v:>$V7h*FWaSK#OLL 遰`sn|PVUZpρCb==2$n$əi!NGz!] 竝ZRS;鈲V$4S +Ց&Ps?^MQZ?WDKPTlW꯱)ЇHϨ$)r"t+rS4Ujb*n-kph]J#/ 4 1W_g*/մ{jt^fk8pE/P;S`:(!;h79噻*Ó6)`c9@Q$E ?ҕ&Z==7_Rr(L2fuz V<:bSm|ՂLGL9a?7CrxX]UnD\ZoCi[Lo:V2ڰ&?}ÚUqǷ9vN!R? <:Rs/QnĢ#FnrΘt%Q蠂Oc[#0[S7gf1ԥ%, ߋz7ʾM#?0/dm:, Cf^"а/&Cg$gcdNqe_TN/g.Ҹb-n/l{/be!9(HOI)7Ns¤LxPYР/Ͳ؆/~>Y0[4 R`6`<49dU$*P' J'gTiRż#;gr= 8g-`d{Meb:Ѷ8G6-ľ7;y Z`1sRC(/@+o'a>Bq'T(\dа@VN)uv{(qsC#S ʵ~\3'Q!L'1!ڞ]G.?!_.ӑVbQ@68g8zء=kbgBy4$In1C'wRAC(JՔWJF4!҅@m;r1hķ=ο0 xK'7zRfd2ځi'Љo~Mez=Y<ߍ?;{PX*> gS}Z-˙O}XI^D($qv?O~xjW=2?/g.]vcDϰε~r xr6IC"P\E_ )x{Yy ’-74DGP+L98$IQ MIǾU\*y Ck9U!Pm٪hzD詭?܉>akPP_gR]a-is@ VՁ}ߣqc!tY7%ѡZ&ޣ@!NąRS{DD?1/^0\nz&b7#e^wyYQ&ĵnb$auj0 O1_Rfu!I t%-hv]Bpc>YgѳC]Q%ۻ-*;iWR rg<2Oc欂O̿NNq@JX()ug,S,q׊L}9PqB7x߇Tm6Tl4ZŌ@T M}!4 ItXYf9?fY8d;4N}H \ [,I266ޡ:o**`b_6 W 1ɨ9cCF]⨒&Y'=n}'%\[ǔ@Kڡ:EPKBHႰ}́Fjnq(g"4@S=>&J+,!7*CsfNi"P0?t`Yfnָ߲Hlq;Z9wW d7'M.rBD91urň,%.vF9N+fog۞0YزNCxx.|=J| ץMeNՁeVr_wj~_p6 }kFg^׷z[덞 C&RʦXrH^s[DꍍqP7DqF`'t #BiWlJ f^z,#IZ [chp:Va; EC?7#4lƹ?Ü#ms-ٹ#ڶ2 wz)vnn>qV7sIv=|/g~7as(* Ponpzozarΰ޻LG܎DqLv͊g oZhT=o._dϊ?=TPxM]:R Bo~d-‰G\)V[[נBWbVqoi' |!u5;F諈_Zm077Y1d̂YhhZj]rx`ffg7:֨ RҚC1nN-As.`!(db?Mtz;a¡r:aK vћ&[KJϡ ˠ0 u6IP`Y.אBjhAߡ%vPa-z$*ɚxjėxq&Վzorx?#)2%_BgBֺjě#0iqU g ~H4Wq=z;7ƒF)AW& ԍ`"?F5UG'v[e`^& qp#Im`pVzsӥm]jyAnz. `0mV5dަ-_EXKʘ+vK44n6$ۈ-s+}/Kj/x6=$M^k͓%+_Ōv[dzQjl̎'!`ATEw>2:>GpGJ=)h3Cu9 x(7,?Δgw Y ԰{l"Zsu5ċ5$j%p` qXL)X+6оV. e@pO_vI=a˷'"m+2uS&~K8X4miI"ɼ~d;y7kNAi>'2Y,ag{0wW7 \wi1F M$-%l rIXB-[@E+*`Vsgo  mR)r'S21A[*_LEz(JjVF/>}r?ȷqO (i6A>#{EJl苽/BhTezejGJì3@h^S:3 Ϳ" c5D}o TFbjwQZנ+._hWx?ȆC7 p.d3 ݴ#iyA  &x.G|6 3GU|)4Z|Oڛ4D̟ˣ3@pF= ù`燽1oz<jph*!$pc,X~W~E. \:534@^#ZX^CSO)×Wu$t irpzW9is.9ֻYa8z=NA$l .Q`$Ybiiif O%(³1Pۍ>wīv]e2pow@3ZtI #T& %b kg^|Z?;ă&Kzn20{/ ʾPT_UZ.]"ŦLYP`'jd"f`z<.$"aV5]\__*N4e k & XD1 ]⩩8E)#X~ ~?Zc9aǴ*z=ngqlCud22S=lr_ MV(1}`e8{FQ^G8H骖_JY)pz2Zb\$ 1K}^>ӶXk^;8E6Er)Zn5 q'ZS'L6Z5N(p 2ⰺ4W``8}ugDm)WK̔s$ Qd)`ka饭GY"rb pzN>BkdE@)&# RGnHU^`Ɛ3þfcČK i.8y{A2sHtt9˼@t4,y E 聄XI !쿮܉QD_w^Ρ[_8 hR9sM _cFDQ1>C~879q CC;v4p?4~ z=k ) 9)N*%QV*>o2"@$Lܝ\ݟG߿gF A\I̴ U|3%Š)85Cec'?@il[܉)\%O%yMHE2͚ f̀hw^lgE;ů_EЅi-G*[}[ۘӖ"uEݡ_pU(WQABsV `#ڲBX:u͞70)k+d'Urs y0IucЉmt Қ XyYjwdP^z!\ƃ'gi*]XMd8L3E5x6cA3:#5Ym" ͝aԱ :yƤ mrL$e0BDU1R[,MQ;5sI˻mwG!`Ӏn/iHE/Ixvefv#3Ok -@DA#qOKDmumcH;UMLKn+ AkN{z1`!'"dqTdv)X{+ *O=!SPGx+{Ե$h̰S6!_ȉra;FRǚQ׳EG=ۿZtlpF%SKI=+\ل HΆX<܆WSn<{N'7?c/[^P !+LnX]ٺ5Y/#;3v<*cx v #DޛZ $IڞzJl7|m&7𝲛6&O0ZԱ M~_]Wxw POnjfͩA``OBv3 Wvkk&| =[WAzcK I*)FQ&8OuEB"Kc!Wt4џ=* uP9±Bϡr=Gf1z_,do"zq+0`ZJ"ai Yj n*Ē ~T)Z!)'^RGsjIrxa-b>}XQfS@d6DlX.Eo 8t÷AAui..~|* R]W={Q|P}*ݰc6>!GFTo۳$L|o*Ě^n ny賢Y971 4\ב~*jwė|R81kRSiD!8-vTa0idzƘÒD|b.ecbicΟ:|`rP6-@`¥^r Ff 6$57VXZ%Wx ! [kxt Εǎ^7wV &n9Qh 0i MLǭ_b j;^ Qe5Ze pf ̎(6cjWu z< uL_<-O_4yg CLEOȶ]ogϯCf N!?.nlܐRC:#Sw ]zf=' mV ]P6-סtIyWdbs`8oa pM2HAx 3 MeRq(`_|42Y xQqVy٥w?V3 \SJ3$34Sk>7xݫFu<%HDm1=PW^xi'$,zreieN8{Ӑ//3ZGGN"w:if˦ oP~(44|4 q\0l)^nG&o/`2=xPv0SE2W`|>cm*3?k=,Zr "+=A߈ߊ " Ա ;|EsY^Oth 2PbzM\Uuv׏]D:r@T!ں0*KtܙOw!/^9HwG,IzMyRH۴ق?4 cT~1">,o ~#JJNyv]J4=ڜR0BF,Hs?R%-z0Xn}PT6kMs/e? ٝ6DKw,uT螾B@pAvqi%*']\dŰTZ+;e! 5iLTᣭmg pnμ؛[3vtid2"Gal9ۂ迥Zⷼ X?uD },۪ Օ4 ׋(V9lR K^L6׬;SPoSW%<.q}׃^{w x>zC 3*"}i\Az9!~.t$rݫ:y xMPRlSV(N'6m;WAQA/<7J?wftX tG)rio|nz`*5ediR;+iӜ8εOD\*~}jZd!GB\qH /)W܍n BrGr&fj&2WДHE8-0غ<=(pc2'v?4Z[U"|ǹ퇙$i}'5pYeS 6r+7\dWZ''R ѮT.>Њ,%݂"M) Xr4~e*OI#+2 S51͹9_SJ핧UZ^U6m5PGqKgw6_`8cY 6adݔߥ\R™b}YX g{gHՈ`$B=|`6~90)`R9y7 Ȓ?1;pc}Bj%@)3sxp3xiI+>""Mɀ&ec쪾qiW73AXP}&N`288%H3/™҉]әWƁ#tRo<G)f^8.6 k|ɲ!}MUa{`´V؇Wڞō%_lP0 r h=ڙz]e! 5J'a0Qd>UMpnȞBku&vZʡXWIxO#'+n 8Yu/wѦ^u|ڪzR ,+p ֌,ͺtxG\q0ALjG~~hQ1?`6?1fQX?,^5vHCY'dmIAY#AH/zx*u !VeMRy I=9xr.9fU{g,ÊFâmY";EOpzaQsI^0M7N3[-ӫ&p7Pú!S rDb wrorZTŸZl Joo>º5(fr ϴ@J>_mrlC:k~4?-l W}i@,_O<ɾ0f(*dV]X஀I  9If6OT?PLMǕ㬻$а[W%_:A0!FBk"2͖MGa]d3~b~͐EYf[{)]j ZgH"ǓOYkYDHLP%1./dHX8 G:vM|2tfx[C6wʵ[| 饀7 Ss=*x,w-cR\(TONT S|'TGH 2{ŠcXPPJН92;Zy(3Tai1M ZauuYAPwo.➕t t`'UuƦyh6?'m{ V#52Jx׳ʚ|+oGč݂Ձ !CR>g.#9 쑴*WJJqH!O̭1CU+f& /g" }@ʞz-Ͱ.J`QM}FyFyOq@١v)O _B#g|D54B>'GrŞ 3,vxCMK?WkC;Jbaҝ&LH,|ЕpsO_.*c!yʦ[,zbH'{]q.KXϵqtM@hTz8}Nɹzų A1a(ٙ-S"C0A5'Ah7Ȧ|xPKŰů % mhRgtMx6=JZ]P@$Gqv)s`9 F/,w9@*F6oY`"!p#iDX$Ʊ{L= 2FYl)-R&seQ{a>8"N\6|jre(ʻCfqfA/?MuX]>/^0J&iQ}v wQ˲<Oau:;D9˧͹jm8Ag2N`V/IMBYӱ2xG5QP(Znؙ>غ>žtD{*l[PBcI(\s3Ï8ybR]0x2W16,~߅P~ₓ~֓ڿ"Tҟe0&"kk؇$ãĝxfp*9QElV1:B3*|5ЍU,cS;+Ż[3IB>ʄsRXiҟxc :g]\ 0?DQ4ix>2f(+S|3 XZ*盄'Գ# ҹ`qOH(ܬ>9eOf8_h d'*2!#;fu$RMk5&3`{R\C=C^Q%a{ZkH8Z y!ymMݚ O4Io9l~Դ)"R䕳NX)j4&[ǼI$vuE4O6Ft40Z2fI=  {##y|@x쪧2v$n[ƹ퐐Y!ܿC#-W˹$pذQKa̹igrc,fdNqq$@40'tFA,jw9@3|DAhH!_@?l W@pc,fD;vf(9, `[K0}h\H`'&೮S~9TRNҋro9ع2eZOƎribEa@"s>r;*2 ^.k p4Tвͱ&[뭹 =XFs{2β]uAg ~-/qlQ{ 0Z/'V{ɞK/D +!H^}v>8+qzKS @nRr@&08{&1H~J@g^.D}>{eP ax^߬הƈxw|Abe}>(g7TCi ,*'u4s[ ~4 [sG>躞NSJI7.g>&5V+o/g<`',I1hYg=[< 1 GZ҂l]KrpB>I%J50;190o mfz_f{KFQeˠ Y>UX`.k.O<ᯏ=/Hv5/1𔩤aE>yfPD6v>D=~,sv'~[?خ  B8#FyZ*3|M`VM*y@ >t< :,/j\45zx1ϗWS_=J-##\ cr4? 92i+O3 Z_` 5kTIhmhqN}CyqEHGb&!t%&,NDLK!.T/zhZ՛w/WB݄󙥛m)ڪ|; T,mՄoQ0DH; ~d5yڰ_*şj"^5OQ.STWjF! 6\F&\Sj"ČgdJP˃{/~@r}AY;}0&HOЛ?;ϖZ5MY>>GG :6{|eW<%棶x%$uV] ؎ow"HHQ: @Nl({@8/$+i[֌EKBib:dY B]ݧi@@SD}\xI6`)6.ij7)&>sS}8}pg[Ge*mwLXÛ:.!I'\Ӆ3bD!_$'8Tv44i[x)fJQN1n6mՇQJ} ,[oa~O~?xj'Ttebw;Ԅ6iY9 ΦxWuGবrZ+Ta~+[z$"UxK= ؏"*zpk<_/liә9 H6D t,N!)]jʠd[=̾/pEܜ+-bnuB8BNxcy]!>kಣWeZ9b[P,KHv9b X$ڥ1Bko?es-GVF sKJqWZtP8#Rj1Ala|n[]la(\Hn:eNmn;;7Ι]F4:DcTdD9&U #"R&NRƑs 3eVrK X>Ky(_ń EbG7H.Qij' #S3, "{?دl Fie/+B(>o>>V0ꌻ7% pfx'4/4#TUjE\^<i4ZDEɕy[xvXk/'u\5~?WFb9{nͮ&J ƧGaЛynU%A̚F7+:s +8!Gw Mu.SU5S>pzcu3W#nwץt")r6-2Z9([sn :m6P*ɏMr=#C kbT6J&REųeO8ȫʚ9 kp/EfU\yU\*dNs~ )Z?iq)mx nN.{*@;taA}_@kTn5 "[6UV u\7ۏ@BM5lPJIPA:X!7`S1O-sPLpV +ml'rd7֕>Y4V!wy쟘#5GCǩѪByg(%_{+)eS'7_kIyb9`DYNIen 3a+gܯgp2"Z|{t8FF'#f_Ju.?_+YY*9DUyn^q5IZƨQ َ#Zo{am舀1K7w@&F&,14ܷP_7bA{= :K3]اhxn58Q7()6;ю \ cZ!quItiWqQ(]1MFٙ騀婸<$ڊ}9,v/zWb46cp Y qk+.3Nz.Zo2q~}ūF9%s5Ϣ#\[ 924 N5c~̓ BdnrVV9_i@p{}Ñg Ax|]܋wDR8+0*9SB?}S*g 2Au=6\&44 zB),/F|0MA{B3,څdS\gf⪭5 sA>$2*Ou6yHuR&١-:K>ө')ؕ/_ ơD݃ 0EtRx}ύq jλn6 $U}Ed3ƒ߄fgZpg Q}z$fl*G4=}n$a)E&FJ+ǿ≾߉s.x%̈́\wS)!x^ fc"ly;'ԘEME`ͩ~~C7d<X?Fe}I'g5*J1yEߎ ėbx~rjQ1zkf]$qIKmRV/Cu3M=en0/{V-/߯{C`=vm뒝6Y{"64m9̏h]EIٯ'kHǏlk`d_ `U%64ԃ WBs&%/Q4H: RҕA =W,Ev)[Ɓ)U^1exP7%$ѥ@[2<`#7Y쌎jv!EHmvCv uA#d? ~HS8 O\mwW/{yJ0-<^-xriTb}T:U oz3:EW&IO[ecz+^_CP ܞDeOOh!w- g*c %௭b[ ]Z($wEɄ}ҹB~'MT,wF4zJӸ?)q Uh\ժF'5 &u9|kDsTL5l3QZ7skc1^Y*jƣMfzTC*՟,> F$N2udrLYѽ$J<շ_t|;d7zU~ h"._RA(ŝpO=%(9o/a͆I$EApz*tFOoG؎iw&ÅT%ل&ULS[Go4N~O ckݠjqDsYB_/P~5:3+j+o3WjsπҜ<&u=G smzfѦFI/ pܜjAcc؏XtǷjZ'~EwTBx֒y5 fh]ꀆ\6jdil&.0^2P֑Qe**pOLvFoTKAI[~ZUT%.aEU6*!MxeH+j De8F# Zo%\!VS2Hi8mf:E AhכB5)U |Rr9S,Kˀc{/XDn}n 7`Vp?G5n:@EE-ٽ\Plsq'VYe]ƕvR:`2.?8v e$ٍD$fJ<=/f]?tMC8~vFb ݸ0]aYvMQMKRPtrTM-q{8O('ꉇ >95J3uJ1WceQvo JO\2AI͓VwVW޵USӻ-XI?c[ĸ߳TCb8*#;棉o^8&ffg._^͏mEb-t;Rk0%ioC"4*}(dQԔ%^ퟟQt'suz@,@/5jk6wي#lj3k niCUz 3#-e~RGEf.S<*PQ.''&e@Ǝ'.GyJ D՟aQ2Rα3~~~P_#/Bđ5R<ǣ\\{ Pfi:1jq$%0v@Y\NA*%;S+Wr#' Mxj)Mk$nZB}QBx@ X~'t:f ZվOtJiq\,v[;Tznw(7˺nћteR-Vw- A3jO7&l\jgϮmil=Gx]{MjxH,I]W]K(p I|ApvIZj.֛Ǵ(=P'Tu-i :B>f5?԰b*(<}|3Q|إi|ͻ* A:_F xTwѨt1IͰ8C:{f 35'崘k^Sb\bwHαMYc7!3viBGG.0 qszJ#*=/>Z U<;,|M;8yqؚmb'0ܐ{A3'3fWZpMD5l)GuYxȷ < 8y :} \ ]N,{Fn2pkpR<:1OwX.wt1iYb6VJM2 E%'bi'H}3?R(ȩKVֲJD|{M;oU{ؗn䝅+WkpBo3(#|]}NNTt:C"Tu2 qϖƄr6 X|omI iX¬DB`8=!'Jic|)%\%gK {;GH@(_CagHfn&Qs{b зހ{L 4^0pCRՍ#GlotK7HT$ƿ-epgeF"?lxm ׽tv]lN鳃p'md F-JG P]]FCM~ Lee /_P⊌%PVXFs62Vl tyUR;IK,O&<"39&=} efq80ēɗ^{0v`f[j˃>3 Bݲu ԦG-#Z A[> hFI!-B.#~յJxkH~tQGEڲO oKڍ vWOͯr"P<Aꙺ3_m/47kE%H ?bsLrt=EmccxV怓Ia⽹i>:p_'k/W:u<^L $:ZZmLmKOhVKTz@$ɕYXCgAq `_΂+ Og&+LzTa^ C)Elw6NgROFĦuop'ziJQ k Zw8A[k^HT8nU"E=p=SSӘ8@KdQ"ÆPMChiDND F(eTp+G-L{%̥9HX(yB3M/lsemj&`3wNW*k7ɵH ʷR0ЈxӰ=j{fkz;x`ޜ$Q.Z7{={]en;,#xxGqIDH)e5PTk DGPkzl̙_åq/ƍz fȉWv vj̶== eKA6<M~Y a0(klAFRSK`2zi@(r{,Y0ﲋ%٫t^|b>,]lg3]<^K vj#%e=@׶wҽÛFԆ$k/EsVzM ng(:yD\$ i+s\t ~Lʖʨ h$LƊČ3z)+P->^GD24RwKї0|d@GLNp'S!B0a#o(`7dO;^D e[gN:󢲯@Y {)d3EyuV> L1i|AhoVY0gsybH пCx,,!ʸ3 SH\GraL d{#@ŀÉf E$b*`.a a<ʊ 5i;1%| Mx'i kl]ʍH"~w%&)HTm{8&RV RX3A%/p+%wE_uH4)gx'$ L=-e289o» D=pOc! PsSk@Ot+#E1OC E!w1i8zuL izdMvtGR+ ԑ,Kz.#i}`D&ûvkI:rjhJ7 ʥ33Ʋ>迲 As) _AlG_с;~O5M9>.0!=`7YB\ޫ9ZW3b#~Zssۊw; J%Q܆FWg (̺1nxgo.ZRb?GVzu08A7'ÏXˎj}[iHYe堀λt6h5"m!\/A1 AA|f]bdky2\٨Ĭ+!Y6ە6|^JpEa YpdÙ''<9igZ!y7 @q/haNذao9qzrBhH/3,-[< 0LmO|xրZIArF!V8N:g 2/|\Cwd|̇u[X7)WkYig#1@YG`2L@g**4 (YRW1ƌEӃzҳy۽v*:6īpmϙ9зsDxkdwq` I8-Tr/Qj5 yU GxMgJ¼Pn]v|SmI,/0HJ/-Ʃd+T,3[nZ$1"Na5(WAY=\jJg23g6,}WSrK&T}4cA=dyVbd<ېoڋBb3<Hj1h[K*ZL$.ДY$lZ2pf%v܉gabYƽq`I`btÐR v̱6/8 P3n%_U4̇,@z9> #'CU+!vi=O~L\Ħ6^G_r7ODo5}5i ͭ7(.H;WZ(2F C@Þ )wUlAQY4Jļް@֫WfCIjHBl9SkTaGK[eLSM$+&5q "S=IXA4>$i0` Mk 6DpԆc"sK1hTP\.0E 3 4|1jʁDhmBrK F72ՐyHq3fߓ"J{ )6ܑW41akqkF@]04Gnd4^eUrTղj<*`@[\ٝUA,}Ƞ$, 6]I@HWwqq_#Dllt4 Kg["/cAB^]zd3,@)LU@ӡFpwYÄw&lW[GY`J5ꏚ]6xP]%PAT0JvG&(i/ܘ?B/Nb~XJy'ox+щu6b`g9UH}xqBSVޭ'74bP'v ~^H d'#ed8|YFz%߀H TVdyyors4βuw<ŭҕӋ)-XNB߈ +<ʙ6 $EMfMWyEڑs4H+E?Du4.]diFeu &4s0RZhg /"Q&6g柖7j,w9ؙjw&?'w ɣ 8gn^X{UfHqtMtQ쭣jHggC@ed2Ύb+>Ha8"S0^ȘNW x0j  t 8ڊVhr0!]U01C BPVk?Vpx*gL'S=g/ 5࣫7w I7*P-iz{P5j;򳋊 {K?GٝƐTi%!f5Ac4'5#mQa%=pD" dwJC4\[*T+$B2/HyiuU5绅ݯüxfBaU%]iOC11TeŜH ^pנ\B`֔,2ȴKo/kohwMвBrS[BD~2Ha๿+Q ؼYjJ=aِmuv%;ǔ |7V^ CgC :> s@4N$/5Ώ\kmF,7W9+4 n諾 =&D܇b;BJjKst qVaV$bR&Aw<ӮNխQw5pN#}h'8{o%ߟ{OWBcVUŠ,K1BeUF1JD/5Ǖ:Z1Lffe)㹖"-ra`.RQD>Y* 2'J|-+:>ceG"3+o\dCD3p"u(l`ʁ,7`8.?_lA=kDl%[]|/Q`F_h5 49DC{&9Ogo'6_8w+7z]1F>Y=+R&6eZ7!ޤ)`ŧ_5N 5i0L6ݡg$4_zv?%@bǵ rzG`ʂu|4zֺgDGU]{0:|]9U0hZ(C?k;[jOcNS(Dʃ:dBo0#0jjn5J#r/Q7k5IJQbqY<#$_'h]KjƦ|2 D&t!M&vuki-/k`G'׈m:/VAPrؼWEį \eL=q4TOeLi!!z9C RZJ{JQd5p'$p2cLfy[{8=7М~ +R |/,R+=?%kGmGٿ(A7_SXK;U`5TguMƯvmƔAcq#jFU 57G} J ?ezʱg4@7 !ͫ]ӊqisAg%O՘D/n7!+މSKVs%X1ꆊ}qo#cƓ*{V9[q_;Uxy{n"΀C{4"t}. N{Y!DJC&z'\ޫ酲W?~ XF9']LB HRt6i,WUz&=eEQ-52m@UxVrb'UU Fƕv\+y1y_$ozSpIh r(cZ 8֬oR_A:0JqT5fwbQc5u,qR;kegr-(HJd=_&d4^s I/Z4!cF^:_%o߇]–إLY)015K/ #z-03$^҅WMv1559A?m,"Cw^>Z#V_+O(m@{LѾMlG5gFT pY,gTԛ's.Ww* ˂|TQsR${7%D4?Ykood5?ֿ&XKD[1Bd ˥V Q"T;c܉.IN{0H;5(њBÊBfNUF`r>M/?ŶZ? ΣAP_^МCQCw t Ds IY6#۳G'aG5qDxs~ZrDDZB쪔_ 9V^YroXZ9膾7-0LZܢ(6;NCHiqC!2I]W+]TS`Λ0Y,,5è7xߑ[wQ`rX"c1x W3II /rݲ^.)%x 5Sm0 ̑yش8T}bQ"[$=1V5zL3T+U|sV oy~BclʙLx&bCK>auf|΁+ZvX F@}* v#wwY;ޡ|{vU7IʣM8e-f%"~],Lxb3s|ϻ"鈚8#J68r:&hF@*%B:/h:4c~ķ9iPA# j l > "˕Fqk ;ǵi@Bu:d{KP5/ ٖy%j#V0|بZ(e4 (lޣ>G:T ή0(n"{Q9jhJ#^*'"Gdo}ud$N!0Z坆+zwF* ̞=M?:,/:gO`2\P<7ZsQBس[Y ;>8U[{HU風CٙL<ρ,JTV 2j'E2G*X |fК bwVjٻs@S3rҞp r\bښaIw}'gQfH5G܋َwfUfSb_ЭM#v_?/$O}ߔª ZD!mb " Z{8wLh%Ux:SE(k٢d׸h%% Ғ 'H#kߖ)&+ljC!(*o+w.f$^|PQ[Aγ)zS.(F\" Jv[ʡʟ@[v(She(ڱ 5{!7&0beD= '=nXP)2T1.&%oVk N"zp!\QcR@аaPɮ8w7tE;Q -ѦC w|_]n_gV&8byĬgOqx #Q\ρVq&h6tX^&Tb+#ܱ&\vѫ<'09e,;tz[)P6aov!`r jAQ_Hxrɧ14\U֖ A\⌈f lh VF\Z#N;V$uG~d9qtު|L峴G+p#?8TRMS¤ҙ: ~oXpd7֢e2f'eᤑS"҈^L(>%g1+%g68cMAk<QaKiO!?E`~ R'aD`oc}%(tCLsU}^ݜrWE | N;V[$Sю)%E`Ē4 Ir@I! EwI f % Gf֝{(-Xwغ%}e508`?9 |U/~sO 7g\_Sa+u=n/~.v!qXuzς胈Įl=쵑aIㅲ(=TИGBXLnp2R[XZO"{xn(7W<d=RtO%@F•hר嚋s5R5tM\.w .ؘ,m-W?Iiݰ0eG)+JɾK5j!AoXbPBK֞Xƺ(||uL^K@%p\c~.-iK\W_7Әm HifٚԿOJqq-O-g3J 2D[:Ó/Gl`yga7*ll,LN/QM@X#*W?zrqTb;HG>FF gWn32IrqaM3UD@ď樀Y4vXHD" ES$k;Ϩ \48Q ;"h<4lDV X!o/L[(@Kq۶ 4K5"w9aex@1Sʸ!㪵/]c˷g7TWAp-6unqPsbo3*@39a 2e)T(3,V.^XoV)Z^;k,r|(:kBpNN?7eJ\3NŻ ,#c}3,$]fLkP/ jBə㰉ۣaU1\W#.qPwlTYX~<:'v1fFlɲ(p?_,J?: /[ȍaj[ 7T:ji y[Ձً0,v͍Xςˉ/ȼ*;X0ާyBak vAcRj#e'jEvT|ef|!\ $h%j9pyӰgqNy.{ !7-=f]+_sY#a__P@RSQmߝ?] ]}*.8bžxf@!=eKXP.jKw$F(b*eAUz+P>VHerdz3 .`J5 BNWgW#,_b&s럹A+5 F *>;S,$Mɧ&N藝a0',U8H KsB ) m{obT$RCΏ2]d75;s~:YwR'Ukr$&3KE4?c5^r&%K4VqYQkwMEshzV3DmIgKbG\J%mSI9DRRԑ7ܸ}֝:܉ab%=3;N ~*\rfT`(i6}cew=<"{Ho NdPUA{ -#r%,Ƥ~9aހH~#&w8AAOeC1#(ˍ+-"D,#NHӦsh ƉV"'X8uBWbr&Q2|58\oCH;\0ύ;[KquzjAƬ0wF3,2gq.-)ORza.G%hFBi“TۛZ\2F@&=Z>&K8(@3r68>0ak5֖h:g*bll:}?RP92huuKƥ6v|8ION|x%R 7AxBDƨt*L=ts2HǻyK4lq<.)ՕRW⳩*gs{ҁ Vvf'I&M_2JgaH_!he^y噆̨[Ȟ(b|-{:qSk տo`(HsmX,1S %U@|/*k۵c$?Lm2pAg,XY)myfA n"Y-#q^IM.j4G¤F"`6zM 9l&jrdRawQ,4vQ)GᥘZ&Tx(ρ3|-)G$.Oޘ>Shoy-z^uPRถY\*¹VugR T4XlҦf1@L!$ !b߱G"Cw ,QԊK;eT#&" ,47wETh}1S'L'`᮸& ~ φ"&Ҳ3\ !ُ&_=c}98OZ X *Iΐ~Z[o][_{ lݦөrJoS!"eE_uw{1z(!ӑ Jyx[y$°}iDEKۧb^3,1Hj Fjq3I+qP(ǚN(nҧ\ Z= JUJ՞L$=b#HFh-|=V%'{moy^^NyE]Zo8\ w˺hI2J vlb;9X, Df5&<ΰOw*#j $[G:9( D-5vR7tGO1@\2cW{d$Ϥ9,\,oѮ76tE܅ :%g6gGsz/a7|+w=y6/4rOaKb^"c :s`bmbpL C hq?x#|΃hqMf1UƉJzWy+*y4g(J?}~v qd]P l|TAݻ'U.xlڱDL(So]H$ICg?L]'f9q2*NT<=}-OE]ik`$2%~衛̧AӓI-[Cq9 4 xdoVa4gɸ.'zPV%b:"v)1)iKɎvm.\RmcCcD[*=FqsCD q۠?_A)/N3 y|?t ڜ 8UQ nrʟ!>u_&?4Oѐt 'K oGɭAecY'q}Oנ/Or #g$&N:>NSezFd+I$W6Xd+NQke{J oYwZgAusQІC%+wo_l٫OoMM;_=-|,T {^^&z*ErE)o0NN$'A>k[h$TOMX&PuI^-&PA92\wB.DI/N/0+.يD|rݖOͩkpwby㬣O *QMzIpG'Ohx05Uh}1CLe O8Pxch6K+|b!Sٱ 8rߌXxC L4E3 cya' J"ߟ; #DZn:i+T|Ό>r0ڮ*{;@%(`l)njUìtcĐsd$^gKLFKaH0AF+++LPu,w"o֮#ݠ:_Q6?Vպ50qςl՛9se![J2iS,W=,5z/.dEz@eTCW  ,<[_k wi>aBNؔgX㻤n-s6[ppNY_&nY~<hϋI3V,7W/)m2h>(u&"Lqj=,|zL+Ao אEvSpUZo^ԭ$[s~%|m{nyޗV=8} evۉ8-d_[,Qq&"p7InGL+'T@ `1jq͊F#ՍKFةJ*Jl^{wKydYL9_DZ4V %= WI v^ &<%f Hw'ڪg2xs(g[vp1)'RZ,?H.~8׼8 ˅Dt#Ǐ|w) ճ.F}dmK$Ѥz?9 c؏-ր2-Pt[ט:yo>98-$8oBEk`o~+X }m˯6NhnmrXb-]q+x Nj&/bL6Iێy5=bHW'grԴţ "rYeJy֯iV܆A'0阱?+2buesQ>e> C]SMlUڹK8ˬ˞n>nl{\Kdik#l6^7_k6ἱ}lxRύOWP&@:~LUiz )U,9rR2J< 8JuMֶ9<}Uzǟ O]2w2GV*ń0T&9MfhLжR}TVR=])- zGgSTs3>5LsvJ戸l^hJkfUYב/i79w0}+SYyZ|16r8>b;EEͩq Uw yklCŷOd/ʡsmd8&6 8)ZX qb_ۣTd#kzf%poHuصeY2MJLEЧLa$+9-H eص[ (C(,&aXg$kJqAYA+ѠPlvߴ7e_˜b qu9ebѺ_D$STۼKT_sŎłLRK ~Ά;=T i:^sMUN%u}yf{/vv]stv f,z>^0RT]ԣ{bAgm2_9-hN}1m072-WBp \א1nS巆ڈD%R_ sda'n vC+Y`,jz>wVjRge$;d6Yܠ gflo*ml5//;Dpq6.NVv +DBlKYy#ؐ)]UwRԘJ;뉢s!/m%Eқ>ќ$^[_c\ﻐu9鴵^e v~S]8qM8K @qe8x6\-4kjV:evח!/\gqxg Ukt8Tu?x+3'o 6?Nr;;`ץj>taa(i3`rLgM칉V=jy37[tv?+x8~i{Y2 iR5>b:Ox7t0s|ﴻX4J U-|B4uB‘{&8gqFDf %Z撀/]!PBIw|c_Yn ř;!94m~aO$l5it<|d)r'3PFOI? 2{M^LtJ9d`#Jm^6znt8' e^Rr%͕C ZϢk_Z#m,# Ugx tBfәfU84i.YtHn3A8ʃQuXʩFV)h$$T zl3l&l yT(QBr({͓~unPb-dHŒEc.'>ƕ=]VQ;\Xg vAyw)RLX['ȟ<2xzueLwԐ|_W.BꧦW|4_ ;]S#[6۝jO# c÷ݞǧC(#d/]h " xWk]hvɞ'n*t(85Im@kۻ>9C݆M#5a1vތ 'NJEfX^6%ƌ: u =Z)7FMbC>AŌwuM7ܽ0M]0N\Eb8o ̲<@}NxihQYl\$تyk,mx<[Mi>S6`uWr459+Ő0BݳN#YGׯC J]qXEXhJA/ܬĞPRF=oJVE ha) 52U߄_l8uқ+;O@L;qЎiL5j;w` rV H@\Ԛ^ېO^An!ymuܳϹ[M[K[91\lygrr!3ɸO]M*IE$4.Z2XxNּ{ ^p2rxzT9֢iQ+H'3tTdxMYȅrZ0!ukTGL&8+0(b)c̽w߅lӊ$ D7)OP3'NQ9胩zBC*C-UH5 hDDpǝN]J"ҏPs皋R3Rqi xiN9! #yCr*Cd@9\\ ۵?>BLj3@63f2VZ7Ifes/@:9D:^zgQ 6XZ̫'>Sj( _/_i9tyA/45.=GMc@)ccW Aˌi6@HLK/GOnԣr+Bf?2͍WXb5B9r_}C Wq?*{̟@%z ^#2ڕIm6JvFD,*6њlO3擸uns?}$v5{WPL4?fBl 8Br*b{V(wkTcVr5mm,>xnӮJ94 ǁm A%yWVwr'ƠanR3Ѫγp !±]P[=ʗ( Qm=s^jE-'6]Bw4Xis.RmKF*f:MEvq-;T&=[ LJ\AY~6gPt"Ka×^MsnpS!$ # :RdYȽVl|z@KΧAc}I6RyPw[ݷtF1 @B?L!6f DGvsƑd9JmאN+b%0g~=m<6RҼ\ _U Dn-5=5pSʫs*(\;?o p#tsˠQq*UVCh&nM& ^* Ȕ_u^w#W9$'jU6x>1?pXm=-AǾl:{׺,V:cc2lKve-co \GupP\1- s-ǚSU!vl_!,& ڰpKP1krڱIcE]+{NzffJ8⯟X7aSe;A0DXm/$A`ױ8ܛLK:z 0(A`5\U#k$T[Pu,@GD_/fgᚿ&+4 0r`LO$k˃Kֈ+Ĵqz[AcTf Ng#Bi}yU]*pj+:##MgWh.L<>#[ֳV>*^YCe_(+ZXfAfI,+1p|d)]/{_uφE Cc#_+;KPIX.s}EHY3u4 >G&s,$(>( AF^i^eX l2h|1ΓˆO&kYjGow>׵kt>m#TTSmJpBIYk 0 DC <ٍ:zPQ&hby-K MAM p:U)*{ʱړ:ᕑkإ'}.Yc̿nϵln?BPצ Li/۸':%=q]tk8|b}Ƒ^ܰ̏SzR)6Mv`aNo;E5 r5L+d]YEg3_ R'Ecxi䣦1s?,ya@|ln/Q>cp$D-R A ճB\؝զJE9Rlp\ځtcW"[XFM$lUoMCQ%7^s KHˉ%H;)$uP APׄX=1p!pq ^fU)MTvoCWva2cBTDSz3f?]{qQmd6R| ׵t+ x@ [U|{,#{2e.{<$pDy{Ã+5FɃ{!v($_a, CZ/5(Edl:d1؊fޕ?!`*6bRH2cƮcG;p65vaR7HlXqoQ\Èjqv %>@#H h=nF#Ghhe(c R6vZ󉇾y:B&+ޥwezD\1сӋx]+Ra$[ &A4bm8CV-ekps^ΔI_AqLRܧuI x+u!hNJAgh)̮ͥW!Fy~c7JܷGh:^uv(/l<,c8z(ܪ*ĉaPDM?vkXоDyTQ7H;dȷXl^Wy .iwc" b.g Rz"4ћ HBi^d}pvHȗrL)5A b#%4g|4=3kPJU7P:%!Zݴ`W.n;ItYAV|s袤IU}&/]1{*VWؤ,rn*+&= ܑZJ+-a >^@A;-FoTq(K8t ਁi,+o&w[Jl6=uhI(Ngͧ2ZO-1jFhzevI57^$}K~Rx!k"4 0Rq!t(O"7v]lT`9܂;N <6rx}!('o=t3TQko[ ^A }&JD ۘқotmVY@I.,Lcxl9aV@.%]Tܩa'}Zq_!^hVIfs\dDKyzJIXRE5І?A` /џ\%ɿt<#۽Feg-E4m~xD$im(&@=E d&`co.YzⰩP~P阑dRшC#(o0i|>`j8@, a3'\/.N=-PɯH6J^ok*!ȏ]E89B*FT>׻]PZIX4(l,FD*`g{15;Am; #cƽQ"$LZ|5F38eil=x&t#Bnݯ%dbdnU\Ajoɩ5!ȋfr|T(rjhLp1,Zeg}Up߿JYAS;]WyGP'Ƙ򸕕o)KyϹ[QWR4ߓ!b}-%d͔h$ kc r>* +#(9d7Zq )}4tN=RKd@:V={񾂍ktθ3R+C@9@W?p#;q;-]9`nw[vLܳ&BSW3D ? L]m3E-15;܋~Fpę]7c֔At6CU|lH{-Vy }SpU1Sz=}FX7E04q\g?y`T)!&w\ n_Ma#Ym*8k~ϱ/- Bu-$m=F&C"9."k &ܨYi;+Y,\M_Jq3\?t I 1|ll/1;L\'#)@J7ްy(|6K"&¯@I|LjB5jNe4B2䌵g>@A ^J]o/ u$a09i ۸ W cω@4N+![+Tc+S}JPʼnDh0z㑻lx+dR"hh %H 0}\ 5V.:œ OZFMg܏|}@42 l$BxO]zee5rym6u έ͇_Kˮ[!vQў;T&>kKz~MfS)8cgk4Cݾwx}a:3Lt )f-uFrY_uZf)~bgD(p6/L= /;vM5Fc,߉/f/F6lDnݳ;@O:۩ j.\3s45b99BKHG&&U<Wx(rEZ-/?7㗇vˍ"3~p Cnq`;4ͳv P*nge7c8!ѝۈl1׿mS~ =z ԅ?|\yKh`hY{.E{d9/jnQ'Rtv>D~NT:j@dOX<4UkE āĞA2Js洩wg-#JyW1CPUJ.vB^2j]_aR@]VSn&9rrQt8@J@ =$JC8}4 eD3mr=Ra u6S](eUVjܑAlu{/\s&;nڇq/vƃzRm67ExaSxTP jAAb si1L(by\gd?Z:L> LP;ܞn:b⚜këUSm δJ~oEAt BQw-ZN!'sVGs3";;vn۶ӋӢ[<_>O *GYugܸMTQ^Yl1H؉@Rc)GR~#ΘW*|5{)B Oow鷙6a+6%{U^6&IdjJfTm}nXղy(IPj椙o0J+t)4,>Zp#\%6& Phܬ 39?"\CJPijP6s"FWɐ~?kbx׼LjKރa1Vnu'ju 3 =FБ- ~LWc?GܳF*z9tw]?7hK9 YqR2$?6ξϧ8i:"w\ޗ,vQw.F"OW'$Y\'x}KoH``U$_O`= /Yh, πp}&'+;~ƶMjnz1j/tN c=)[^# Á1]z2sNZO&܂fjɒ:GON(4bz-\s V3GG) y)P[sѨ]F+@`R hBp%bFɅNkĞ>LGa 3ry[6>09LU?*%vg7@+mCc/,m.D7ϳ@=TGkV`ncX ߩ.4U Q*m=rYB߁FQo!Z[ctK$Oљy`ػN7yCQ)*}I x}M}@9{Q[܀!n/[`A,qO"yL& 7i+0f1݂J.;`3 %2c%[fܽjE$@N1F나=B״ 7e#"z"jJPkyPE&>zL̠aBCcRgnQvV ( ,-S`E6FIl[5[fa< PGD=ʌzS0'\d"])*L=fQ @N>)z2Z=A(]KAA+yW|JqˮYL8{fOaٲLl@ |D̦]ne`TXxH4hX'Bm9ra 5ǖtGoCEgxeH.tKtȱr#eӗ.ya][gKKk/i0d+ψ8c%!ăL7uN|}HW>-HM&ГL.q@ ӯ$: o)8mt"D(S{fA9[ /0&(X{(,KY̬3]L~<%t%SH?J9퐎mŢL%W^wpR_{m2WoyrRvGQ]RqZ{w;Hw5퍴T EP 2@9%L@؛p?UL_^/[NL{,*.?e=h]4wV 'LwVVPRBqRͬriP2L)[಴V!hcA&}M9*uR쇆imu'p[p1X)Gg+ sWk@#k#Bs/j8ކL Ej?!̤+<Q L.;c/S}/#Jo;.4$T H8毺6-[_@܋xhכ4ð:)o5+8 ;܊(0+aG }HQs Q{4&]]M7ҳdgV>T3 G/K֌3#1OoZ/«R'[MJ`!%Q[ۢ<񏆪~QS1cֱ%(m#*/tٶ1/D&=Ɓv*GJ_'r$;l,tiyԏqC2 QE t(yqJ1J8%0f%X ڃ407w>mM0/kˮ W2Ovگ3[bg\H.q]cUCuLps(@U{KX%QJt F4{dqJ+L?H6)DV|1,T +H3 (o߱-˦y8t):nC:80b@϶JwLۊ*GlqԄxw(+[W3R'C{k(ay6~54usG=uaJkm:>/ IT ҼJQџVts1!eg(P9R&EX=Ѷ~2P^# O3vG9''"AjA`tegJtYAJl>◣?K,}~&BZloo|E+Ӯ[^R{K-J]ɜor~zWO=kow'#&7'mUX<[kGf)"(x8'MNyךqpʞ%\]ɋy q+,bllm%PO]|QGU=)18x78Px))a[c_/ }, `m"ʭO6,TU[Vt1Fzaj[q9UE_ks%!{24rG-W.!kvzioM = ji1ŢK38z(2@ѮTcLC4z QccΈ|ozfp XKsY됍-G06lGؘر@z%k1OyttY9,2N|m @2"o >МF!o/ʍ?^gLi&W_M.\W^=#$Qt3kV[,O-dsw](8jo<օ4KJ[ZL>IIAA *v#)[:ާn ӣ+wt#o{Jr qAEQj>"E`}@Sy*A W)ݷWF(0_u)&Pc92% Ò{zgs ҡ7|0L;Qx*gwVDO<+E^\S;G~k2/%xC{0HE_]?U17#<Oǖ7ET[^fDM˦ʵ"z[a6Qqэy[L*D-%H^"0a;gfkG({gVn#Nls{5)um S#b{QkA⿲ʘ<Ա[ٯ^֕zwvP6"S?cWcֳ׍Atuվ*O|6 lHmoz\ݰ% 59x9B96b/v֔@p<'OLL*蜉;ޢI0ǣ)cNDCЇ'/Uz#&J q@~b8zhn=~\VF~]xNQf( Ͻoꅋ0,ہO5ꌰ )%p  F"Y;Au8Os* }-,{ wO7&Iڦ^We% 025zЛzSLqV0'.}SEY3%Ah心S 0'xyyvRX&tp$ig]y [>DPפ!ruA.RIz.nO 6?Ȭ̗@z #V< \,XI1>ؒqZ|jUK0y ;Xn 8ٲ`7O~VXñ8nRXaUY("ErnɊk,;ì)B$n g lSo W $W|;(=8}@k0 skaW (q_SƏO4GBVN~h;`]ߤpN=XH㯺Ы"+G6leI {&"2 ~i/Q~w3V5VIѽܰeU@20N%7ZEsc/Nop4QXCo^r]q~7:<6m6K"FlXP)$ иh,V ތD&@"~ *Z_o/gp5;u~/ ?!xg|$U*qu^!2YFOe{kqq!RGP M~ Š , b@2XѼP_0ZUk{J$Q9JoD(aQO_Io,VbZ]wJ*zWf)ۜ+~ʜd,+'~qZdE'9}?|Fa~)>K]oxy^8YsK96I$k!T7Ap`y5@|9 N(F|kXP4(MgI|.$ٕjxm'jv݆|7Mkv\+ >w^} g\q0,ʡ?my9$8*1ƿFUA zꜤ%Lۨ0UUdE%*8)/j~:M \${(ꟶE:Ү 0įP{נ3rQ<=k۵i/ ޭd.i^H0nrֈ(+05VtxR||-柂x(==GN3 29px (KĊo~)m0W,m0lo?g+n;c K՘Ŀyӹ()(};.{G[LI2< R#Wޡ|ހE8G/?\8/o⒭$ƄL(fpi# 2xo o#&e%YLIt xѤ¯DUw~JyP8oR)+Nm:`Eģd.?GFRz 5~) p QqdZ7`od)l3IqX_|E"D%uj )^JWϼ=;_)Zxjd#Aor+To8Ac{ #u;XF{kŤXE Nicm Z~ڐXihǁw͊4jԗ/^s8B՚b%v j> ɵ rӏ}7>\({;7Hv?1dϓmaᮄ[GÛ2ŒSI?Sg&N1lj?'^{IP#@֍TSiZ@*HOK[H#eB|n+FJd(wɅ,.O4r9R#: psu@j;p"5DtgɛPR'Ќ'?U7!0f}E;wfToĭrNЅ#oG'1!_ fN|L5l'e8# 7NҺq=2kLT|ߙ+~V* jҪe)43:f”FoRxpmmH>[M 9[vpޗУVrqc0% Rd3A1{]( 9ܖZ4F+ҿKNV.i4 n#F8BY!G4qhk}}7bAL_5%n@SW!ʷ|hb u9㾬Rz{n |gk գJ{$SRh$誡VPn.LHýXC;/&w}۸>n2F Ƨ—%%Bz1+n;. S^%gbC[ }ko"׼HSh I(j#w9QO4 6#("J[}XxB3 2uK#@t=F81 J6 `Ӯ1DDsg sϥgm2iI+ak,npv^|_mJ^)Hż\`\a,Z!n$7?X J)W1v y?VDפ-z(74mb;eBQh&IB#ct$hr sH+)pBra 8@}+CLjӈY+n_@ ;M1OY?w٭\Y#tW TO+c7u\$S*mAYcڂղ&Տŷ% žX)ŠBÔ hP@C nћ uWfCKj@uaK.Wzd'͠5FRzJiBP6 Mԇ!Uԃ5R $MUOT1yO4;%:%yrxLdδY-@SWJTo@G@c%OAG591sئ>imš#„^9Ah KT j^K!#x7 2K%uSX.x|}Hf n'W> :+|8] 72bQ .\r8s)o^')Ap:Y[Z Dϧ4Y>jK 0K1]/ w/h>͈g<){(rF ci WZW迮@o{nBfBWK$R2lkE8 P^ Dw x_a50RI2Q!^#a£ I3jS-Oi@;-E 6[t@?dy`lwNB3H퇚A`AڦUV~nvT9VYnյ *$$g򑹴}V+Q.o6Exs>⌶E--E=2pJfPUZܚIurJG!`Cv<UbA^ֹ;$2[#r X_mC=~Ln"1K:xExaHuO$$Yo'~sy˷Ò>nw8 Zhm}@PLޕShg)S(8+ g"u5 XFkPd&_+eZ ;5{=OQa.JU1.Vө}騔o4r\R*Tl ILQSnC1;~c)aKctOU): Sil*r`5|Eg&|F'qѫ酰\;v]gs?󟤑,͹Rڢ)?9:/ߨ!^2e~K*Q,rʾ#INjUwRmwÎk(z~yЙ4t#ԟG@[e x[ϷŜqu~"Nv#Mz }AHNM='4 ] $qq?}F.5LVhm0EA%tuCuwFaފG7z`a|,$M=fdh6<؂Wqa #A:4O.GifKjZ(gw )8J#Q3 O~8Ɋp[njlQ:l%7n&Zc `AglMښ%ﮟD,-^\GhakyxFur3Y~,<(1p|Z9՛4f܊BN3: ^B bjpB"g%9`VOR:yl,fls~r=qE!m@^vԀO.TJ{he品 Ը{aȚ"YLa\9huT7O@[ȄSĎ$P2J `:N7 zp՞<e[S8 _,$JBTMЌp~@a O|ɷP316 Ƅ`oؾƓ孶d7Dbb88:HHHť)"E}-4Nk۽~%E2'@ʌ"dϥHF>"4rt:g kE9?LPA|՟:0A. m=qVLC yZj~1e!)=nӹT3,)^Pp#T lՔzeͳ˛^+ , ꝭ_OD#O|ym0%32 dJ̻1Pp )wӀ7]FxJfJv&)i5<HAnJo-6qe3HC9J>V+VIoކVvkt! FD:[6p9:w@B;dWvߍ=ql6q'LheaN(1(Fr9O*@[3B*ᒖ*w[=u]O[=d4[ՏZ&7o?b߇0 YcAqi⹰-|XÕ=U35LaC]=NL/x} 9/3ՌU<}|'N?`W P)x !#KQKC1#u 2xQFc6iSEΥ}cCM?ek39AXavJG>z:kхcr+-<(;ܸВsAvja彯 HeqDIn")qd@N(@CHYXO'vaA%جk&?#H"Tl.{V)B9i[^.ß͸Joچ؆"JOe?EQŁc %No:m%mE!&He%ǐc.__9Q*q=괁j=`` Diۺ~ټ*3!ϛCD]0~1(_l024K{y7h.je+kq`rCc^)_c4`%|&iGbC\8oN5Ӟ7~zQԮzLvB0x.=b#bWC2Md2?قf D=)TZq`> /'\醍x xfs6 4 y8e]hĉda/V]C p/~XOqoH.ݢC\O))=(5\42a _;?ĚBy0?[8Cs<}.PF,a~8bs}!1p|$_nؖ;l6,#- DAt&oc2aޢjʠp xZMa6?a9,Η΋7Et䰀:l^ >vfsuO$ P7K!iF]8t}2@E5%^G^ H\ id,Wt0&1T|ؑ98/m܈ Nۜ c}%}=Ё?j .y\rNq3$oS`4{[;ܑlV%DuHDF I!7|S3i_ֲMeK`/o@- #c@"d9^߷JAJ=E-ղZ7a*'XC,_&Y)Q#7+UC#vN夘yD/ <+H=\j\l K.wvU'P)TR7c/D1gP)IkUXQ cIS! 1ߐ j!ց" 6gGhK)uA Q,-bĠ}*'>GJul$]f&ml/ IwLyJ?0iUE̙tw*Jwt(M4 KL'{E@. ^K3Ʌv6jprwŞ2` (ZZP/2Z]B氠&ewMTtShn,{1y# &/k. r7}V_;V ɃP?ϬXMdwMq 3)q_\Eٷ4_FڑF~lpzỵ~smHU׉( 0@;ʝ(:T?C;b~0??1iPW9VFe^?a]a=*E k$c\SN/&#+ 㘲Hn3~Dl b(`MH0[~J5[^TYO{0 3<qVapHO⧐֪lP.W17{c5Wr{wpIv_P8&P˜dMy|5*1=a%46]ǁ nӷ,[Y9'^{]6]K5^?]c(C=]/9`<&<=del8;v u_}㏉/( Ai/Ql~1*{1N'Hu= 2&8Eq503s=+ KFh/uR  iz;s2&dG6"MkZ/zt }~NLpTYOu; ŕaT/YHٶ xYK$gX2zLMKzɕX.;le8{MuY2r61­g@%4Z9L+ɁL >[d&'6QjҚkd/+\1s4 h&Qָ(s?ƕYإ#Ufy޿|uAL4U?+4 (-W6a=:" ̄šj81H2n3x"q[3WGLe? j'dyQOu" X,u('LԛAErH,~Ţw8iTDهb n<8M}ɋ:,F4T=yHCoY%95ml *Fgx`jȏsAo%Nؑ`k_/|{g8ksf sguYƌUy"=g[%߈ /9FOuԖI്g#8qc}3kIЋc?NRᎥڹG ^&hG;$>)&a*XҔ>:*QFJp}CܧG^Y[u0qqԿbSY8 @KrY=VܽKpJ;xx:lwZlW$UUg0{!h`AcI8thC -&&y :2I V4AjB h0%VM> Sz88ov-v|D v \֓4qN(3eZF\ W7;Q> H;jPzo6M̫c9SmMdt ]iH6̩4ʙ1sjǮ:t; Z^E{ԉ/0"yK"dמ^,gL( Ȳ+t˿b C=b`CW2}}+GGU'W^4Ŋ.vN<&w/ku+W2-҈kX1lIb+4òVJGY=8M3,edus|u!HI(, sW%@ict~4ß'>_]wS{="glQ*H +&_7mfS ZA9K!L16"e"B in_tG8#7%溔^aY#'Bؘ)-}qEOWNR՞OĖvp4 #-whn.>,{R#u|M6aY'GAr|]N2n{k:bd>E9zG(juFC*RRƦ3) mT48Y^;sUg5 ;׊IC&Njջ9y^u1\4ya0@]$ۃ̓ۿ 7ez ئrhZ[GܕTΓPXQ!|_SBacɕZ?1#l#ҭK첉z[Z5jn˄Ƒ1-!J}]5uhQKtRl\;ei) x;#qB6ZcRf}w !5E?aUqaOՔ,KaRQ"$Jo LY"=0C,8`&U6wȄJaHo@SG= ?3q[eIn[.&pK5=00ԙWzfkfȃ,bϑH勖j:=_"uJ^+EŬ P67s%#{ RގDpEpίY?OIc[Ӟ{R|%U7߮v<[51H̉g33lɤij^4%\䑊,)VB(uV LtobD!lm`֡5S\3\jIe1T]|w$ER~{T;͌JbV"@`m)YA&_a%{aϞcPoa!H[nf6ҝUfVEjI.s1^7cb7 mg9SU`^O{|`=jE[fm n/Hk(93_E/0X5kj5ktѿOM2x,[ dC), 4Q RoF\PH~f;x5p|s.U X8j1)Vxjizw0sEm,\!wX\:6i},7\&eՆ(Jy}olu# 1`z;e5M?ֻNHG0$@>Yr0%Ʊ̏2]E_jaNYu4JK5zN՘1*l*~iSxCx ŠG3LR@l4Fsr  [w*^6@2#l(=U~>VSCbFeP b4X߳]<EvCnōC9)0 d!_Ey5GM%%AL>JjAn9 cp}$aba!Ac$QlWoa*gˈcϣoA1Z֡JA9×ZW=@t!(\~I&?EҊEl1Aϰq"/Tvz ,Aq,cgJQ\x- yDzm~` Q=Q6S`lݿ< h hrJ3u8~^MD)eTAYOySJ_a} nu>Ywىn 4[л(D|Җ]l caL~.a)4AXװANQvtO^ D?o~a{RzDUöK\dD; 9+PMg)V42r J ?rc{\abfیC֔3Њ1woīlneYMZO=-}ă(@m2nOk$w!qx/7;AfKTVIvނPζCͺ#Z"٠=rǛO7DN.̫94]CXOW1;oJ?wD(fgtQQbej/H r^TYۭhIR&DM%QWn1@hѩ)L<ɜIߢ0ׄf=HwEI7;M;E#r#gĕxkj"bOv<&ۈᠾqzȗޅ%ڪ)Nw 'z(ߞ@ 9(6b劷]xbjkfV<q % uNR 'ƒYE;fv:va4XOsY,hV%YP ԟ煌5OpHgr딟+}:$doHm~|Dq"vS@9MV@Ѫ 1(߰DVL;`XHaUGwƵ6a\ )PC(>UZQN]O]vGXB$,W@F-TMacN}j-@Idoą,!;^[>RhL$=9$QEG\LJHCnG&ԇߋ҃7ŠCzG !l;P]ك-?ՋPn͔PBDVeejѡM?m%ɸUJW6\3Bm 'xٗ@O^TO6k(DMwǎ.l,` p_lWKz܉2a&nvZs C{xW{"j@-O}d{S-"4ȷf7pBcjDMgLQ,e^c:E+43PӇaSXGkw:6t\+us[E@> OAr~Y1BʳVxKwTH#ia.K])EO!I2؞y6^@aWg%fl}O8G%16MZ7%~i\WPnn|7܃r tp','&ݷ0s!kpslų+3U$305n^{ sQ}G۷O'bI$»&q_văߑXuF{8c6 ~$ 6WnG%`DFb̈́!m5,UHy:R=ҟw@U/[`xfZ+{T Oz}EEr̀zMr4sz p"gZvY.q̏Gzqq1ʶE>san'v VgLdKնEKz$2"?0i P.+"HD I^KNXOtDh/~ʵR:Fk.~.(7PGOˇbas$wc^U+n҇4$(V'O'IcN ^=W̜벲ْ9,EyiP^-Ny uhhp5ҊOͤ8IjGN$qR{O &BbJށK\6=q2>x{ b JFOO_ 3&kWf?@c 8Ibp0W2{BhF  4nj(%r*q\zA"&B֮m2xo7l19YR@j/h`&,z͗ӣ]1Cb}=iò;4iwu㬐a>fMY !dcR=$b5ɁZ:?{ki EL4˪F/ ?d*`N4,!ߊf,skٗ)4WGc +oK@TQBQK"һ,M|`v7]wnk4/*\E*jiU=sT0;QΠ#y*ꉧk9?gIjݒް 0j' !Sy6 gE@ )b}du(?QH5&5`LWT]Eߓz_7YKMXm0>I qHn6y3 Ñ-%0#oEڠq .`pleGͿ`~,:ZdO/Ơ2Y+8 uX0c;=祚Wf أ闼GXuMPp ']7tRQ+rmȓ/T0Ueb8U혱eJ(4z,?.Ot9;eF/=>K» ։nl!E 89 lkqtJ;IAŖQlc0C&IZ`$J7P1ͽݰ \ Hl>Kι{Iy0ٴoB8okzLlo݄ݞ I]|ɝ5M˦ՈvyF)%_菇mUFz 搾=.TjBdr[/6Hq8\9Ac{s_4[ዿS2@NowDUU6y(tM\d2j!{[ B&h v˩-TOVsʣQ>IC#"Ba NӉӽ J&jXYy#GKr6Hh|"Np;D(gh ^kIzc:_%n {+J] ~䪯:Y.-m6ơ3a#P4#[iɟ[׊*w}oèC]BYcw#,_Baꮛ鎩X10Y<%MB(v9Vz;pQwH6׾[K-He*C<9̳69ޭMt$}KH CSi|(T!$N ɋkn? `Π(O}%1n1jV(bg9E'OV~a Gϝ9ul)T!8Ζ%˳@$!) B"q\d8+IZr uɟp@4`{nV˃D[2W;Pko7dB넏sv ъ}w(ST[ώw!94C" |W=D;??},]3H=i BwA\br ~ˑ_ڌbJ"h1^ bZLp2C0dj2v&(Eѐ]Fa!SK3*vA^M/@&iʏʌJ)eȓ0c߅I WZx1Xkv{}^qP)# zhE< GkU-)sL%[7vkj{j6o/sXc~'ΐA}}+tJrG,xndFը_Xm{.Z!;Bl|a#uϧU7> p _D%+3`7*7`T֯5A]wÌR@Voo/̃;pA>^9C`ޟBÑXzZs\rS5y˅;ёlKX,g90u׽3cycΏd>kqYx ` 4.M ЬI`[d -/k0\ ۿ|QDKHaRO}m&i Cael`I7BbфHi-2 '5,2=#tzDrf:9Nfꗤ'cŸv{|ޥ<34z޲&P-g"$veN̡z' !=7[8YywŚjwY3gxi̝/e((7ĵ׭fT95:=QJV(PCDL9"f,ؙQw_JU{$A{'$Z0Ncxk8TN, ѧ˲^K4DԤPea`CDؘܒ7>+bG\Wv{;bvb`H81Be:ry*c~KŨ4ُjCrw`$َp@Pm*y$њz>wW/pRt;4Fp(^C9m_˔ɫ RzreOS`C4'6ewAX\prPINTr 01E&|J&3h1ڌ&gWw"cF=Tt<("އV䗟DΠ&֟|9&qۤbt^0bT/2VNƞ7g>7ݭtBC2͞љp>n=+8A66(΄0@EK-԰ ˛_EyANq f-\)2l>] nbQn5o9)J^7=kN:ȝG͆V*"ChyS}3Omxi~{.֛Pt)k0! }fHqCrf S*@@bnp!85#iG-޶2Xtt15f]LB? SEXҽ5ߏk?"xJ"'@ 8mz2Lxnɠ*mXJ8VIbwNa_*ه-I@tktwpٍ䦖U_{?USoFs]`G8Oq9Zd ##]vVn2U^@IOAO+tٽZ啽fDOLOa gQH|߮;!/M B̐B1k7:l*X/-9bT@XI3DDk*(Ry9#6xzMŰ7bA3{Ɲ'Tn2} qTw< [qLk{8M.!1~}RƖۼl!skSwXP2 DSYK>EآuW3yjvb>Tk^Kdϓ&YBbXɁ'YrQvc] SI\cK )OEөKH}[HdH2hתr` vʑܶ 7*U goj]Ha ra9fYTÕ.ɻ1$򄌖TN:Ȁ2e5Dnoi"HeޭgFV8}޼+}➒ [?4z\LZ4 x~ *|J^M,v%Al Hͩe>tܤ:Lk7H mӘ%vY;ZJa+)Eg= _Xk$ u&lL ,: 5GS2̾YnPΡ4ՏYrIGIݣ4RV[Mepkv:2*F2H6h0G<+'gO #ԅr@% !L-|U@ue Y|2BDcŘ ~Yq@w 17#CH͘4;йp >2^BZ+J@G:6X)p2Œ~e՚5ݣc$0'y_ѱ-fWY9f5ȱH^/Bоw ,觘Lmp[g4bFL_ ,5j@3ecR41wjzJt=FFy)?KD_r~A>br@![ eC$Qwk&̩4B }T{ʨXqX - 4F`οX.4L1C(Oer,RaȨK(.mWNemNQ'K: y\wZPބ!Q~b\ۧLWM$MKn]Ҏm79+N, d^COԊfHM59B [¸>@Ƨ6fp5$ :SEPWڛDMg@~@WnMp{  ,BԉسPX^ÑnAV"t%ɻk))\^HXb>@%w|4B.qMvzJ%Wv"w30d`L7eXcmsmi|́+0Px]I`0HfG?}K4H?C񸜀Ԓ@].|Kk1=o#6tSq5u:# d)L;9&6^i.+LYu^ˮȔw=՝2EYz=?Ur!,8,#p[ CY2i{t.RVg!bl+W'DW2(-yYT+BRI wzc:0 Sa'QgM8n@=BIkPDa*F6nbRJ!jrn򽝍(aZ-#;.j(ȎzWVsq(l0qhK_ia$ 2>+~!QӭÙovvɌ{f<~_h8p;ԁ\aT2QNly/J/$jRj])yJ iL+$c[.y}5(  tT"  aY-zZQḩIB$X܋ҵ.hX`A}B ygvxR\v=_3Jw04{x?Ef. .xSP mg4  ] kgгMiP80cʧ|21qogdQBಇAVTܹBja?s!YհxM_Ywygp"0ǃdpɸڞ|&Č\O{J LH3?x?W2I 8z8r7ΉEĊY N,xъ*aw%pvϗ?]zf)ZbbEP5$XiQ~)ȑ@Nx,^Y"!{,\54G\I{$p^Ax2V's6]r9$jk=$ub}B`%)tg :TA4Ȅwm N2v) , r*"V(\d;n+L, $%diH\[ϲ=ؕ07:>5V"7Xw;CIomr"fwLtˀ8L`NSg FB&-[o[6Fepuͩ3YCWhm} x% fYu &/M(5\B{զs`rRE l'd6+Tw+/'pT̕GR=FT7[֠;^o)-{X$0.hP v  v6u']菻E )K+~^'1M]rm-]!̭ ڲЮV5>yzUgBkuk>Qf2Md}1Xg.wl -OsVۤځ(7*h-2Nj>Eu8V[;R1; >%U{ʟ֢}ޗ狤g `2 ^2JAw\! aGhnX%;ufX4w`"R}\f85M`'#Uci_FS2\9ADžr[7rf(V"tvj@TTqa:"wl- JX}~ʵ,싡W#KRen ‘Bo !}ՍA: 3]%T\Qu·cz󴓱})F >[Y$G.x59gyd,j.̹" QgI`XpgW1A.c`9C Ea2n=Hd~S_`8[.Rt%*j\c!t ND;o2)р*.W>A>US7 N[*"BL'DNɍul* ^.^)n6uǑaƺ!3>._M![K\5:[d )UbpI"nd%6$μ6;oɜa dϾ,1ؾ鶠\ !' W,h;fЪqlе}<(x kE1"<=4K$CZ옚9"lߚ^Mʝ.pq;K{,,B_ \4w#6Ge5wdp%M[s@7BzTCb##Uc8t7)9ZRDǿZSĻٳx_nQ T27Odg2n+aP<.?z/-ZYumHO1]w٠7Y=U٧B7ݿ=|]UĴ>M)hL7gR<$΅d~ֳM^U,`bY8aJN_ǥo7 geR@}?Fkݪŷ z1JWMEg9dGoY%7FdwЍk 5TA:1F̣ [61pW2z&Z1%S0(bV7ͽt^vO6{*FR"VEf}|2q!h_Fn'&vVkP rDNl#kfm_Y #YA~vF*騯R4:v͗ogco?4HT!\'qІV]I-}F#$ond~+~&* *ӅoR&g^EjR{RяSM9>o E}V+AE=ud8?_40>ɌN~0c#Y@(u`2)*Nv*~X~j𱑑PmwȾ`zB Y+d{+c}vltQRs8 J aT"?\%G¶.;4n0Y%W XVХ܍CS<~oy>J;DCÔkߚbSݰKkM6O6O:BWa.ȪL8J8fBpˮwvI&ĭ 22gxsξpPR}LӪ^GN m~&"3FDO5K&=1#]㻕@BB+@Mg{'|<] &DIJ2A `W{S*_oG,XJl!Xrxu_ ;zzlƌS<\Š D!ԙGq >+U b9<^9WP$nu=|{Ao;*WOTY*GwMC]\ i&GT`ns\` FnEBkkX^f[ɚ+bQ B!KEEpp#Z+TuW;1e}XsM^Į_JcF]rZa[]EPPNR+y\(.B1\,f-<^|9D N: $8Gqi*0lR SWW /|W=mdӔKL?"d 4sIz?^\ Nyj2Jp"|<d Q6/<.R3z~l^pn ./Y<0rDLFiH$U!Dʉm~.RO*ƇŚ$NRMyƜYgZvNbK@"La\܎<]5{^@9* S'@au=jR1ż ^e0V/17̤B!KXd m{$26v2.-IiPqВR_^yZm2q5rs\V@JȯLA5}b5 |ATSDR=(N]N\PͲM902BT>г˧> S>nCoq(Or>M=z0Kepׁũv5߅73ح_@@A5Iè!/It&ҟB9VR;xiVSˎ ׀9tT~Yޗ5١&}A_g.uj 0#TPN4rhz3\xdϯ ߦ5p݀9YE1AQNrPE\SF`(T^Kai5&1s&. ew^Jʴ\n^K 2*:7dk 7YP!6fo"d2A$CՎN+Ɣ- ̧U{! 7vV*!8sPMUAB)}%N*!,EWq*HԘ@?,ZhHSf]`?)i{),U_EM.:cU}髵8:űlطni\CA˫՟Ϭk&Sk& bw/pE`SؓrV ',J ):{0(X^!:rMP/QqT} yU]'VwW7mX:Qqrf[[pe - si0@7@%aShD?/\HYZLd{ ؟=UӈP <|?wb#6:φ@$ 5n9`^l笴wj, Z¾G'SzhO>Q8#DnQ;Q &\'tIu3tl,"V%',g #j˾#~]]4J& ]war[;Q41^bDG}mW72Gpfޥ=s :|F&<A>;#[bUv<钾,0 ᣗJ54{S!hQaleڐό? g=)$4bރx̼M[Lƶ!xcUi)nķuU\f-EZvf!}/r@ b4Pjr jM[>BcPb"IGLUsS:0 2 X7Nvoi5ZB5Ou}hM EKߠ<ưHșq|]ן@k- B0 _ohV^uH46prO==J~ʦ5S+\byBcQD,6%՘]YxLuz<"?1;KXmIn$kX,j*)wpx?Axq u1s\CֈlP;7cCVG~})nX&~+Tƛ_s%E;\ZwBXqj~It><*%jJrm}2K%`w$Tc)B)6hsr6KD>r4jARtqجG(*$( k@8).x) boV7-)K r^N=$-~dy{qlRKұtxFo>|[d l ntg@(Ӧ~ZKaDOaw\vq1-[LhGTD9ُ}DΊ\ka+OJt B$Neҿ%ҷ%)iE34ZlLz FdP-!Gsw 6`')*) Y+ڀtKQ=\MqZ׏ .F@eVשlC U92EN'sl 1DFܨ]kLVduzq7g9DDx1Z֦.v~| ~nR!x=RT3?u}s~ƬFlj@Rfyn SU lx'77Zd#*'PVt$;/3ov%UI0-Ch&9[dL4"]1;R 6e$)pɎڵ6TZ'SN3%Ї<`)V_-^lBG> +.n |gbg^!Jd/zgף{.^9PTι1PK׳rc7=Z.qJbe95(MMئAECEd "&[) .?:/Swja&6i!H(PQ;Fa\^]0I@lOͺq`X!}d+}MO[cFdyU5D,B2XQ<za"{1cE~6WM yMS; ۩am=ɘT mL*woi|ejMv!R*6 mX@@Tp#;NljͭmztN}GC ^t\ٸn)a2+بZ^8=O޼vɻ !"9n$.ǒ~uA_8_[*\Ezxo LSDG%NӠswpbYZIxu2=6^qZS;oϞS_n5ٚ*9&eoS=^dmt/z_Dz.QPZ<ϮMmEpCj]̡>[?AwzNΓ7lUXMhTww`x\_zBC{S8tI+APb\lQي" &Unn\jRF }/uq9PEXE> Q?sQəyBQ?ǑM#)@+*Ƥ[ ?ء~,>Zf7hgoe旲n)mԻkptz)e2Ё6p d XZ<`7B;.tɓE[FL~aL_ZE;TxU0\oT'AXfJ4\Y氺qR"{O](#\8)Z58&CZ{cj~/kjD}j.2%} fe rEf_"/vI@h#Wsl BAߤ>2y\|̳!-î]E9F8Cn% M{SF~- a3&ͯ j"W̩Z .Hq$^k:d;D2՟x_-Ou66Hx`]2Cs*!-ڪek꛰6!a>g8p ‘A ڸ0K9y;)=Ɩ,4jynU&dv#!/&$ Ą EgƧVH8 pw?jϰ\S{~5jhdY̺GcWDMy*z _aGNhB>\}J}^IwP17%؈mt[ц mSX= !^u;]R)"]8 ŴekzςľF@g ,* -p ?&ef[BVʯ[鼃E*! Qr*-f>v klb(' vw2D/?o|1n*P@ew4ئ8MP8o=?$[t25yϦaLO&(kݢ&޶M,I+2aFD'[\}Ua3]M&7-Kq ⭚|64;r3*t@ZspTF~@4៧5LA)} vI$R 'K"+e+NЭ^SGWD;3"bH,P0tPu pSi:*UzVl. < _7$ D%9 Vax7j]9fEc`b;ˑOS|~A ~x4$.8Hp :YPJߤNʥPpKi1vN:st#W b :\,2XȨ G-XvGѱdW'ZLtH>01P"-8YeE=uRNr(Lc )yz(5bK5C[Bs|: V對r7bT۰j/!jq<~cz!F 6߼(ދ,sqK# lAnvj nfמGhϘH7,Yb?Ca)M`nI[x+JҚFVJ?>D,WĹZpJHy|].BT|cBMY%"v˻Z+﮷,X=ؤ1! j@Ztx ft|PǾ&9Dg 9_ i66aD wIpy!x~b|,wF"\6Um onbE>FSuRfp.FXe/a_MV|r#?IX=Ϯ%AUp;Gq["lL{ܫC]I ,טzu7çz3h0>9y@;.s:!S% `!kfi1]as)͘]4gf,QXmW]br)(hnU-%Iƞn1ZJK؊'95~cʷ3{ I\Т.yB?:5T.kcҫdžUQ￳L6F #=6<~d(3.\b,1U&pyk^nJpC[nWNxl5Hl\ME< /gRlmN &I eqH})%=C>Sլ?]VxjWIF`͐;Cnz6×;Hnŕd5SmX @BFv4bOǠaJ#-ηbڤfF;&?%ȶksK/:16lVsl+y@l>EAx%$(PM,; %ĺosݿ;}ݨb˚\-ӄ;& EF(mq]lZy_lAJ#= ;ǹ*X/0ςJ 렎``ۻđެ$!'eO%(Ns?=rcp672lڟΠnoc :{ޞgl:v|Ð 3MCOb}Nжa2&On"償–xϔyr vapu IZsWL]q0_}_t>yR3.+8bXAq2c#3 6nz%w);dYDVF0 l z,' ^q̂>e7]i›PFQztMcWs PMߑNH]({әefAb[qxYx@Y-}"PkQNr,2  Ŗǣx@>_s St?8c|@@LJ!MB23zfCBacyJaް xgdˏq<5# 4?jTHEHVj#E] U3q2ֽKEΛ\a~˿dY.XJyGGRWx| k2o0DVArVV BOS(ЭHv87A~@=q@O|#vh3*z^6"oWTjo`Akr!}ޯP +ĺT Y}ML%iGԧ$z5 [b}$|7;P~w}3twA]t좆ȻE!k_YKAib nod  'v_wO{^^ \:@`2̂F] +TK=Ia5ދ|^2)K"trhYlUߦ--}I*o+xi`*ʗbHCvsȐţfjJ*j PT̏ =tc]JN"7c26J힜O>@Zϣ/ɜ &|]=zVЅC|&NA&EРUI33g]޳-vD$use IHff<&ƔPBK>7~>INE\M/ځ.ʥ Cq4ebs3@r[JMx);?TTL +҅-X65!_>‡h;o@72mK!uSf/0S"LB`a\۾/nGrA1F6Ӄnm3 ßE˰R$Z19%k?z`%JcYHsOc0bⰩ^zT:2 CH=/,x0P7³2xPm~rvԵK.x;FX'*-+߻Th#l̄M";|Zn@IK6tFh#] &u7ܱs$ϊۀF?ѯh:qcm٦ϗ"f;~TrbHk >?*] Cj+" Lb#|aTU<CI)Aǟ PȤrc $xο93=YLc AϧU>5QI/ľJ6/0QJ͵gM5P3=JEUituz [7J#تM3M3P!Q3( q̳7hpB >t:˽TYzTxF9 5/5wχ\\rKoa_.[gaqcBƊ'C}t~3=T__]bDȄ1, N_(ǾiԇK~xSe2=e҄A^ f)&J[t1MCf17ͰJ8$ 0?z#5bCZ-`QW&X_ƪ2 ^ 4D#v Ķ.PNv,נWZ P.U?B~ߍן;+yr DnSzɅ\l>ZXƚȊEC M 4yw{lx_UC?c36!r˅ŬGrr(긽"FqX݌.4?G('".Rk~Ca|䡆ˆU)bl2L왈g\\C',1/A{?ڕ;,4C8'blYLKfo!:1DP tNEº"j ݛҩXոp7 hW  'e}ׇUp75ů#:ȶudLR{Pm0;y[@Բ XZ" Kd] :gޓ ˦SCR-pu53Hv'ս*!t(Ҳ7bHO%}AFI[SO `.H}QXv!Vp"&HR;F(;,0><-ypXS̤zW))- B+үQo7ugod.CҀڬlK-htKA&DVa۔X殲)&g ǁc&fDXqXJ.2 Uk=u{:,K>XCuލ}(i@2<6?ca/>xCYL:3e%Y¦z;0/p.޹uG5X(ua<[.VHٸw[]K")rQ>3 ^g~d7'O۲NK-UGDL 5ŪPTasuy1o^s| hY2P,{4xF e-%XJqt;3j})?Y !>8)X711Is-TıX=js4ˁ(Xc$۹ )&WdҼrM+4lx0F 9/K^ULþ1.~ݢ &y]`ΔÊl"*o~2  :]I8 qt`*د͕)e%1 05xS5l.LxM/rKMgE3b4S'U$88zQt?{eTg(jf³ݲg2LECX 7h IEE/4 |KVB&$W?6$L2%]=yֆ cpL *֧[=| VA -Cz0ZXlX򅳟l% d[-.J/t>m*>%4,9_r52nG= _UP|KхO(!i1e=^I 1pM %f+K;=Vl.iCCo1fLwq dpK#HD{+bdž@/2Pa1@ W.oYp\c"@OPR( ҵEyǀUdJU"J/%0!VDV? ?sVFMIRzu+NEd0/@72'Z7wyIS6cw>0OJօ_Kr,y^e/s\:߻ƹZ*%&ekTݕ[=oZ38 +o~yK@MLq@ξ4ZFܦ6@L9<'Z L}e(ݼfLYd-1=]@^Ȣ[HLwI[ ">W.3qo$bRTVy :2EvTC[Ȭ,I81tR:(dRAOS!qOD5 oTتO8`~hGcފw6#mͲ1AҙU%>.>EMLO0tގ6_`^-c+ȎoT˥Ad?pqK.0}?r]8 9+q5v|0M)2-QJQV4 Geۿfe8I}`)ahԝ3y'\.aT;Ƅaةa>y6z6S.WD0yEDJGSDS%̂sl&չ%PTDKQLW/<9dZ2xoO(~$ WEH;3 D[=uY ze_|al:pNw-}{{ҙ:yE/o)+iiy\(0`K>g뿻6-W5ef˗DZe\'K#yN`3_*S>Z%U/KWLƉn7L]+:J8ٖaL) OM0H;螔d+װH-qiv!*}8ZW~3i@OO&אI e{ް&O1Y[q.L"t2)3˭ TEf.U\$0q="F%ªmYD4LB8:̦?hn'8AŨ ڸ![n)u CJ9wARME0ք%nKΌo/$O<#I-8ƼؘwO ܋3&RC"iV.[I|/TDŅ^-18LsD' _lqa5v<-}?С-o@Qh 4U=)0Fo68:4'Q@J'n~p'OqM%m_3!.Lӎ+-nOOn)|2r|h"ETE# h厪1E9jrV$~ H1d/SKPپ&~>*= ꨘY)1{8)&`Z@>KWfQ2w!b gnn.Qq*Ij0NkRa B"fIxBL E]w>k'dp?WFuHFމK+MI<'&'qLA_Ŋc} MSP6zK-c8JH[uu]7Wg,T ͭ4U%2&* m/? L4 t߳X--ZۻGķnS U{l#;'H s+n Hk4qT] zVSLA;=NGp7..M=E6|Gp*`T݉d^WSỏvb<Lb!;DoK|E@(H652y(|A 6ҹ,}N4<.=kesEARH8=}\ 8G6A+ǘ'5獱PXKQ'3~s9'H3.WXu/xhP>Rho:EV˴ `͐¨HV 192,#=~Rmjz1G91 ͛ڍWt6Cc? U_X$/>x'z+U#ʋʬރ+Kiǟ<~1̕6 "SA"?=2&t:,$(v I#t1^ͱ݇ĉ&S^+-Z'dRT 85g.]Qu+ϰi"B3FewFVa<_cЄIjGqcDn CFԉ?"fTzlS5U~8oa~_};7 ˏ(O#d7p)ۅn.yk;1757O6fu7G}䓝8>h a "\^I B`TtWX^+I:}:D ٤AS_452`K)Î!˾ʆ6mԣB:$ 1YII8'CNM2j{5^vBޢl6Rq=:Kl [eCA8gEȔ`{d]%$;OgD:n5V6^N#2,5~^FhfyTِIrdIʓ AEGΆ"%aFb6P1GVx#x?̨Oִ6)0Y/`VYw'@UdFrBP4s~ b'x4QXZH>+`Bo&ybi,*fr ^=wO<8/J .*]Y}a t/fcG[Ta{QV|5k75"̈S1{2?w9o9@2^OѢ@Gz vTz_ rs} O?;YۻU~϶R7[۱`á;u= Q0R`CnVWk GEOP-Œ+#uo%9T?.P=GH@{$r9`ŷ }/+eq)m6:O()LdAS (*g6 wv`l`* eMNaM!Fx=mߓa6Mu&{BFŹ~*w^e5Bjrlb/Nʮ.ڮvzx{H8X '}f'SyF&N)#زzyoZ)+S,)cfQjִvx Q;e&0x}MB>{&=Bx`kJyQ53N!Q)[ci*1x_I3IxY#Ԕls6ы\${ K{yK9;Θ'0m|M9kcUF}83l@nP$K[١Żďoy>m|(13àڍHO}TM-$}X>3u)dnELbN1ŀa'Eqë%x؆UIc X5P8EunHy_KmC7jl;;-I׳4CLoEE% B0ݦ$¿uG/s>0v0-pgk3yM4\!9TnRWE%;zYIpKE!vL Lde-ٙi5_ G$ubrC]9R [)V¸jNFTwFA*OQ=-0:{HPw+頥įnjK*F m"|IQQVQq+A)) zϰ!hT;m*ą{a4/̠)9 {"+/Q] -!_? Ӕr]'goSd0w %C,M&nLв}k pEZ pL^ut\2c o/pGzZ҅*H yζJ gZSls.zkRJJ1 rHP9JDuOReaBԒO ЧضD^)ў>gy?qV7r{ЎBü r -7_]Ne-o&fqw}ݵ%\VcP+4ȹSsRgĊy⓴pJ6LXZ&G3ɰpH怦J334uŗX}BhGiINO|1>Њ`GYx[ܱb)Ťa9{יQkvR72l5x͒rS`^pŏXcC@>fHv(ڔ 'Kf[I9Ԗ#Ml[+]-dQzf"f`(zi.u\?,RG3d dȇgTȧ~c2o02}(NץMB! Kb9崤Ŀs >؝A@ܦ_/p$ @CS2}$m Hȣ㽄EKBshCC!}x%ą&gF:#Wb]a$,R@h TBz5RQ>-c)^t;)gVgG*1 N}@YT-Ɔ 4Q3@`#@|#ڦ?PTn3U5% t4msەֳcDݓS$YR dd otŀ5>}B2ĀTF8slH_X0$ޣs0} x:|eg?` oxP 3򟶐u=_]IZ(*2V(cث)]5& 4GUcBk"WN>Qx4PS`,5|E8za*tv,XnUeFtՙOàGQ1d}9ӄcڨWͳ0԰/F]΀6m!ڛ~h$9A d3&swzܧ(G)KnP{mcd2qCԯR{=u" My_P܋m 'Kfu84%C>tr)19';:֞XhaF>Lɩ39EG^u _ V1v.m$IC$ FR: ïQ]gQʹʎqyiߞ>E!jR8o!2'7 &XdWUGFk'ʳ'3դܖ.5pctI>q###M#ĴbB w59P ! Yz֛rlyu+%z`GLƤcXӅi=ΙW@^f6.غ _ΨR!F7qs5NيS9C I)n) qc⎇j#Y&@"ex=2+tj2ƊSCh.,g}y:c{H=8(K@{" d9wZ%O5tg{rX7iyj+ _LRbĔg??]jzpU"3}uA `/vŁ@}6[43u~m@^1m\=#SrduMuֵ F=F]4@'6D g&Qg ٯPPqjЫhn:B6J$cJy@^οc(k'ߢ`*. )+[^`mPl՚+0O<97݉8qv`6r7oI8okT0M1e|:me1ۅQ`tXc F"LyКcqSʂo5GLY5@h`t Osw=1P7"vƱ4B7o.5wy3񶷼^ʘpkKsuEo ڼAt`9Ǐ>34DYpc"^GNdphQ98<[ٞQafONvyesx}ORfƶ~K Xp;@U,%aOJZy^uHEb0@zo:#N[,VƵ;vK6 \qH~NPEx=0&+o8C{}A`ok]-d9v IE?֣m$/%M(h-"rewGq>Y0QE# 0D:Xzp? -Z࠼BqBxt_kT}D%偡>.SҎ 6l F5 Q6Y9|uE(ԃn >MJp\yN4 dr- %2r9:[#0W:GFM4H/dE4l' h7p43Xʆ,3ʙq n J5$Vʷ4qڕ{Yv)$tQ3.(Zݺ@rΒ7K8U BQ/ZrΊ\v[uѾBjQ־ḫ NQ-9ǥL":={c(]^y݄ۡ_.QfEܧkYFAS"A&># 쫯X@t;O|h ٌvA[Ge&yGC?p¤"LȹZ/`%$bMJ h_0^/WGutt\u[&Nbu\ҎC^G96qz [aß\o3t],{h$|t]m"B[z5 H#$}3_x|I(! VQȮ'O>͉~LdZ>DNt7? MA޴ JS 0?φM47t]x㍰j)7ǡlu5/@ƽqbg R> {}V̤L d5*6(O%#sgQ]`^G1e?px%b%:~{N > sQo Ϝ[^WQ,9 9 SڈWt͛)߭D \gU'۱G>Nجx=\U;/ J Ǵo10Vx>ܔl."FBHr5Y_3W\tcё%z4\Ia'[,ȝvήxeDM_C6=c{0jW^@ez6~t-P-[1Sɋ Dz{CO`]st{^Bg&9Tyo}]EQLp+Oq#S ·#q %eF;d*$ oE"Ǹ~;3*_7HM^cky,(0 ;4g020գ a(]3J^ْa$Nh˜{,.z963| W|X ]k84c1\l#mrYEփBs/ bqк^>aA6fqE3=/qK^NK6hP?`!n=^2./{PFwCAsVעx$U?Lguڋ<&^~2saYxK|H+3wgVup ` $nScJK-_U4e hE!frIzK"0Tk}(9D~YdE,k *6 z?oM4ky)e3/El ǽ%]o6E)~S$[/ V_2Tɠo >:h~ y$B}ņQ؜ϣf>Oidk`]~s)?3Ps/M£Y])"K!tG57^OyF&?RLr3:j>j65~…PV咀.-H8? ìJw>GX~nwS]i\gr$ԶG#X - >Kvbh'ȃ0d`|7sD1mz@ͷ:"7Bt tQ?w'p6-mo, lMUC:!6l9<;^Gaek`4hkN *G/ڼȄw\:AH(6Y bX%%E[6@ Fk;Uu6-?8?)~y."F02m΅Pb/mj`[Y|ߵtQ z,V;֔>VANѷݍ; 2vewIkH@-2jV虜U"s KAuRb [i/o|wqXbtoAXL  |@ba$Amb-v<œh{^tre"eZam;5vIbh}#җAv@CZvwQ k0BIGLz@;+.4x`[ 7DYƑf V`F&έGS=RmT!Bi4Nss~c9<}rMP$dc\7(ICM= 3"vŃկ*p &CHp&D5݇@' (&<y˜Gl3[Πݠ9]zy}& ~v1HXp;.od7JSS0b{҃y7tj ∖lPan+E?"KS^auV6){۬54^y77wDब'twJ`986氁7M'gB˩K~>[ߤl˟ JN)4k K‹ὙMF֔mPJ "i#xb#^ $VkdLevs0n՛^GOTdzOz46 ^P ʫ> l($q*KF,}R q:-b0:!VmԿ/#})YAI,wq8N6|*6}b̖=C"lN0˴~ /̩~_L:;t2?O2&|ZqR[Lպ#eU&qDLb|ibϚ>ְ F q5=T_ng@ NaL#v4 #[\n ܨ6S֗TBbqjqo{8[nbml(%Ë8n`gDGN=\ÜgPoKaB3.+/q -µr+hAkrB!CfY(KG ~W1:Ɲ86HQ+`lbZvAZ䁋'I}R Z@Qr)u7z '==_u>DOd%{c;ț7P,d]xO7ȟ,%_c@PƓE=Ь~P|Z:rJ*9t u.@d~71XuJl xBޅK ݒ.8ѾGH3źUc+t mSzWZsJ8Ztet KDygWj0 m컋@jՆV>|iGl|t%" yQ=+xQ>lUڇ4S <jDp`Ow2p.fa O04Lyj!PPrHrg~e~ bƕ)[AWLq Y^\ Y\؃Q {V;c!4tUG*x_j =566N׷\s'iM:>;}v,Qa;SS(#P/5HL._{15E$iN}6LΥaG0tfbchB\2=qh(WqcXi Ǔ䌘$PC!CN ʨpc=z<~vʼn76:u)S,"W$uVܥR55~3Xwʽ+*3ŘXT;jIz_n Ukxo+V-7@=JYL·SFkXn;]% h=8Dga7!f)j;}`m٫:go4 ^c# ))Uj%zEa{ޜZ ~RbOjZ$# "k F,[ԞizҴl)ܫx`ءٜ%hCCtAbד r'<[Mb.R[?cr x-*XIaU%Y- y䚱+lOY%o{A:x'45Ne*8q$GS lW)?'I\Hzg$`'d+05ΫMaйvYY배D4]1~\nQNv*s]Clzh;t 矼<eY$),_q]+Bh^M[Dj7͝<"B݇א+m6P,ȤLD"#k.XʐWQ0m2|JԽU#]V-N|6%:*oKG{Fnp3 e^Eї[D:az%w Y3d ݩ? 4YѨK V i9ck kNnIH_u:7^N‡@ rdHH"댘e%L"C2v.9ek韾<'z{YP2G$_\ $8F?g*m|V85$fՅT-BXK+Q0W>3wIW߯%U?úQcǘIV1^r\hxǹ1h`+ӴNv׿qE @\{kXYqp~Ϯаx7+וDci±kD5} N94u;i 6z]if΅?5xY쐕X8ɟM/cX6hZBPݛ >UuAOӣtf#άsY%{iqUנ4Zl yt`3h@ b|I(N'?CqsQ˧Yk8' 9Vt=5+NU.(2K%R9ЈMNɭ&β(W:Bx 'w8헾uh@߾`3W6R:ybW=i]^-3zQo SqG&n{d=66b13Q::YndXvJ (ڐ)m1'Sl]3Ӭ;_k:B+Z21BW;LAÑ i}JLT.?&gXy`=9``G$L)3wUS}Cìﺏ OAURH ԏP%m xUF? oQ=Oue|9w&44/@b?}b hހҢmNuk~qVA >4`BvjĮRf\K1u.Dq'v3wC۟߷Y%?l2w%GxhNϮֈy>"/'ၓX.Fwjg$kqD^QCgA=]X`ne)U;Pu@W〫dOGph)N|;"m_F .pN?g>* H^M^ ɀ &6'bkp/߾,6k,N85x҉=;{*>!k!Ԥl^pE3jN;1#U{+y@w ~˺ɚMk< >ۮ*[K8̑$G^s j|$xpZ'Eܨ[M`@c17 B lT]R XD7\bD`IB)Uk |VX"na%"Ffh}QH7TۤY%JV.Uu2k]*m]jO"пjuv*$!)uUK_#o>rVa DvC9_\FFjĩW{!{0r- 4v%Gʐimr]אeh !=?ۮG)c smh:ĘRh~[4 Զz=e}wit{+~*l6rr XMM<=۵ط1zMnC2'+ڃ@-:u|vrLYo2Т'33])D: sq!F qao*BYժڴuϒH0cXn>Sq KTW8kNHnpl“_Y]10"|{vw欳\)u|4a͓\ִZRPoÿ᩷09%;.`TpaLb^x5Ts-~赭+ؚKӛOq}4ISTG^t*,;5`g~:ƗۣX]P<LWsQA?3'Gg@|;a6ɴjdo=Yaաӕ 9h@ci4jQ$z%42P5fv;02dPk -Ԣ|+hkUboA_pVki &y`k'Ճ]7,};y!m~(aI @=M'Ql(Wv8c5 ^K$acD p_ItMIg#G6vWly5]4d`6'ޑRGYwPꗭٟcekU_p+K2?S=~Q2OrK}ĨƑRgBYVJ|js~d*.DH ˁIDYo  Z{Nd2ev=4l/nۢfGKk۶]wPkts1?ɏ'3 ;쐨=ȴ%颃 o4ğP2P`wd "M}sd:B\&Jﭿ,SO5HS^0%ƍd˄DskΚ>,i5VP= ʩ>IwM!T)[9ڞn: o,Rl1+ϻ$j A< н7 hl"I]7i=z4][.`!\\Q}̿CK}LWw FShw蹢 ޚϟٽo]NA)|p{6JwaڲpN0;sxWK_idy\%珮3RzeJAt"gU>h4C^#]gnz|>t쑳]]P}ه.: imzw"8᨟nAw6J~TSy^W>5,qC\uF Ph"uζ)e0s#RՂ) ސeSЙ,5CP/&d8}C!' z*(--DEز߶ElT|+S~0#lujiR>uR'>!E\uһCSk!CٚY"~/:*CI M 8cd#*P"DoTPX[UΩ `.pbd&hsc`IHcbK+qG`B_Ֆx[0oI |jrLOꄌهertO_&sJŹ_Y>q/>wAn!qEJ#y 2^(NvwHU:|ս_1vjI2؊Taxsާ+U(]F-#-k &/_V4l lp7Lj~08@wss*b^b4蠭duIF.-l[O< a{]{wkce(|4^0uU5@[ƐQLƐ2Lr;J$2ت:4&ҺBV#vF~2;UeתFkoM] Xh^r'I P2+:f x/C?l9 g,${BC\Bu2Vʹ`G$dOG?J 7ƺ z)(I@To*0CVpD} t?'$xUf AT p&\M8!=ݕvɂO,߰j=% L@0N4Y~j ^ ')c;KIWs6T{;PO=@U'> $U9GEIcCB:'.9l rkTIG0Ο 'gI[{6ZBŶ,!mj#TH',+@>] er+Cxv4/LLDiP$ (% mƐdYA\΃ :10zҟrzͲq}Fjuy3ENWrJK=}! 5sL`#Fz\έ~R* QqvkjЇFdcr^z&$?V'v#?bs} e7ύ1&`W 8#8*|%P9'3tZ=S;"MU2 bbd',K[-. 5^w]8\pfPݚ$DQ27!yN Qi,eEՏnuh)݅4 c] Yjח!>[ M1k"~J7!pxҫj@"4(u+džSE6j ֥Vk*kw} $d8R֡f5BZ" C9l65rw.&{0箠m"])\J1k*VFdžv %FT0^Z MIP;"ve\'5@`a Q4%Kf'T!-ۢLXM +=PJuldāV%Svb){էMz f$ۘ)\'ӓJqk?*b &YunYx^JjՁeiJ*aݞp~e@n]vu''ݷ[mg{ I`^SY|C EG @|榬BYbUx!ʍThlE( Y|/d懈3Syජ0%܅AKS\v#@rgN.aDuvuݯ#E(ATf]aT4z&*S"w+4Xށ͖=`-= 6=Qb4I*A|d[O(WeM*gҹ$NkQk2pDz!eymYz C]B;VQ6$-pM0 e`^蘴̷bG^(rj@-wZ.c[Y}2YR<`a@_ 42ԕ]Nr7"zda CfȗcMŊ~g7yA܅™Nݗ [deYZG6Mv GIA47HuT~śoWAj!L,]dɫlXy几OT}$~  &e}iGٗ^6\ğ=U`rȀ* D{Hu9a>N A8 p]XFdFI>xb2bȼudsS(fwh7f[z#dj-dM˵aPI4. iv;@ &|rlH,Uf;ҹ[)"M\hgMK^SY-͒o=azO_ (Lit!SDra5W:sS҉GUPvLrֶ:$Doҽ@vgFjQwR۰xEP CQ"R j>B/laG0Xzm-_c<%޲{<ߖ?s2(l>W @U{idTN 53bCpsIaI v*F'@l2~L # f2*9u,DCռkyV!w4Қ2 ?;a+>䯎Ёk&f:H;ˢq̖; W6׭H/ 1Γk5T՚rƞ 186m6\l'kQs4)qL@$/5T ZH.tJ\Ŝ>OÆTby* i ѡRXA6s8u֖ejv"Bߝz60AjrJB6|lK?FH$LUENlQH0h pV g̱q5e^R_sr.bcjTe)_eqB5-.ӵk9~rzmp8 xaɃJ8#24qpfW%{磙J {4=aaUU}_AS `c>Wc-CWTDruN=wBO\v;$ftM \^P,zU{q3+|`!{fV 28ܣa c3E1[z*F:rSSsG),Jq)"<- u Xt@$vioyM#pE`@MwMc)KдGLV|EƕZ[1K+~ rcDWUcT'O>L]|Yymo/XOvp]ճY["T~wEc= tY5^ؤЍ˼ ȣjZ<]9@yk 'Zg3Nd/kH HЉM L=hgz?B^"L`J>/Ǜ2f |^xdSh%S|/)n|!&êNO/jD{~Cݫ yՏJkE!ѕCӆ0醵X7iS^Y1(mK5f,J7`T}]!xMDx=WQ" i˦X J \ĉ*I-@:Ё =S75|H~5Ɯb:7<[vC JʎoO\ -^tp;X,A`A7>Yr7JYZix0$&6PL #)h7ҚOEؐD-.fƧ6ȁA}db)Ewq ǂf5P^Ob($J$9 aC~qX ߈V#{X iO/)h5|ȸ pk[G@4rA;.V@˸Hb?guH4g bsKBp/*P}:%7iSy9Yw#5{ b Q|t=n>$6 &,-Z~iO͉%x1V^Ј_y^"YPd(XZBSO^hH!8H+̶q ,5*+Po=ܵ,u{Q&M}ty`z% ]鼷I]jcçM.ȮMkҁ ɈCCk)IP0jG55ݡ$S[v,GU+u$}^<,!DTx`Ej ܑ|lvD<;a+СZ KD:طKԵKj#VW7u Wwܯfybk:_QyF,._,b=?O9L$Ϗ1|@]iNINj5UsL./enέM"UBF;9% |شצFV?#5/.x>7"JW\euɰ^ GH]nF ~Fkzn);Y&aPw -CH~v"1iK _|uIYNzub31s)=%FGnjOekʼnyC#k+ًz*JHO6u:&R#a{ZrgJ{BH&PἈ?Z`a2^ڒl~*ݱmBa R 7i xuڤi1Bm[Y%yhS%jcWKoNvc'{0á0ze%'1xu5de#CZuS-$y#RRRadxVo5c6/)IJwߔ՟ aZɔ_O1%$xlA#BY |-$A]x˸A/Rԏ{j+u2kh} (fT7֥ϩv:F[!4M>Ri*Ao1hb66:)܉gip 4 QcD<!Ή\.ecү:NUU+ sj) w4WqjBmNQg\]m7+sYw #'}Yz Qɹ2qO1!5юA'gU.gc_P'9eH?%T!,Z2H\8@-E╵ӝJ5ݹh;}cE}Scټ3BhIDAWMLYdD͞uC~"繇sYm.5/uȼ1U%& v*LH_UIOe8U֧ÙՓ-,Q _F ~4ҫ7H2*9w H_=yHX: 2&$m F*94aRcE Ğcnʿims p SyOq.dD5aaS(L1O4{Ζ V(0i>KFHMcNHZ`]j b*n$qz%]uP̽=!a q;߃ؑ*KKjd7tX-[._!3aޖrK0Q1zD}|n}j$XYI Rͧ>VA&qѪlFpud٧ûcEG5X , \t9#g| wK56ߟAٱm|mDLgE' }J;X$Bmsx5Ϭ= ySDOm $ WnugbY(㔙Z[/8RML>c{9@Qe40Ѹ_X- wrSs̓zi}}!:告oAZ b^hCdGl#b@oSPړ`QN n.t5Bdc͔xbM 5a ]O?W ̯GpVQ,qG{&=5l"c\$Lyf((oѴCGR;+WwFʁ}V:Ms1n:4i+ Hh(uG-E×UR1 78eph{O^,K&gPT]Bjyp˕ & +[Ci)\ն6+zeڶu,!@d)X9PP6b=F;F~ΛY놘O|/pӖ es8S ^a,jNi:*Tij 2HW*_[#1<0և&#\UAFH7?s\IӞgF:JKr Ls,)Wg ? "09Ep*ʘ$N09s>{nB(SaU(ҙ1EE;b)h[,#AP?*5 hHU{il挾<@Pl~wEyTRI;h ?^X,.+q* ENۈf!x;_va2#y 卟fS|\eIt]Vq#m ߒSl(gS8[\S Y/ E]1mzB ߨ=^usaYsA*UgwkT6?? ЩPLe ÌËҀO13Ke|T>U\L]5!GZ76wBQqޛ x ~ RK!WJ޴cT{(?qL"QC0Q,@` ϕÈwpPAkY/Z 궘x0dAAq+\/J&\bS"k T8FBf -* e&'i!ܤ SMh1dp䠨?vwi/̺_6Day9] k%_b c[jѣ[)JuS| N֪r"|\#!aN% ^]q$X[u]f5 GYHPg;sOYu.9ĉ j A#&f2^It:2u` ӻH|KOJijJȘCE8 2 8"IԮ(Yw9S֮"TB> f @}%7p*݊^zJrV0*1j "@XU<`.@TMbS>)O7%O? ;4 gKO?iC-`Uh0y:~g=o x8b@j0Dc?.E)Q@{U76-P(jWW%T' 6>ge uV~B<))RӞ-S=G$9j< F&~6R/Ϋ0,BS-$òt)_\Z(K#>N:KhX@iq@bGc9\[ f&@4!d6 x}U*'4=hzB+OeVl29r#P,3658H>#A_ >7VIh]eC+ܛ:;éX )UA%%џKQVEVv7 uia㬍?0Mreb$clkdczmPL܀EcĉGp6Ejd0x~kXTٿf1E`Lb\t!(> 9p/+8mC~0 ;dG 3tݼ{1o|)+}1#s8Fտz;Wd6w,dBAGoQND 6dhdnﴥD`!L Qǂ őIZyL?_{mx4"V⨐.pbB6e5)t2=C^L/*(qh 4=uˆ 5QF 4KT7g,X4Zx.Q qٍc@?ݜ95E싋'SC6O>/-525)(ENjho:J{Ո0J!9 Q<<K].2VYXy_M*~s$a4Xy'5i e=HTQYZ:, 5jȍuRe=4~u[(ã:406\'lE %͢Q1Maȇ>wϓ".@njEϥra u 2yUeHw .Grv?yOe5d ?n=U#qț` NͰqj8\rO*ٓ}"rόXĆyZ ӁZrn4 5=) Z8y<6ذq3$6~OFCh vF):D-ssׇ޼`Mo/kyN#_YZ/y# 2rveτ6e,z(_"/.ݴkwkidCԘ{4_'{wdY,S#fg.Ʃ]x3h- dB>qHE/$qPlZ[4fz*(MW9CGu} DRIdݔ5b]9hK"LµS>bJF_z̮ Y%; 57 \iՀW~VD' 7vݐ _41T>h[ٺJϿYr&WM?[ &]J_@d!j Y QIvZ[JM1:0A:mӕFЅ] xb<Tݍ?ԩ=̧nus5S-WfJYkAj Ɏ^R-v&lR1n3H? /(>-:UwDѮ~i xvOx=r6o ~`yUW}g ~`EyE9$1wđ(? /p9OQ&&%Leyji[R &(<,wOR2?EU>4q1ZuXѯ&+*}"CыD=HIa/Q5̝ WY״YL{%i_׀Mc]wmU/J S앴WW6 'ɈX(gu5aT snmmW>> %&9z[ЇSju,c{G H=qMfy.m&౹?@vйTk>S ,(&kf.ÑjN5 opz'^ iFY [WSL'mW+C-pYBw9dZYZʨe3V ::9*;LIwp *Ex~}aPlN^2tUεOS/+x>$emA-_*u* Tghi}/y?9Ç>& [AE6lo 7yS']f\/kl+҇ZUlkT؉C|:Q`o(7K 2QcWZ` } :$h+3v.tXԈz?3Ю*P+9!J_qLwOyݶqNܚs氏 %|{b6"Ƌ&sd3e-E1ϑ."RJBi Z=M@K99c41_ Jx궑%Z)ȬXP*)wT^`"M$hhFHT&w,N!{_ *.y3K3ʢnv\odM&ԡ~Z~({5AlEQ|#AL]: 7-6yOXd%\ Jd<,L`M%Gd (laHLvl8+UD9;lc=J v SUaغߟTli) `B^]M34Ќ`D\S-:"܄(O IG2)]g" ܵbMFO<.!_G!vfB2/]zzCY%KW0ֿ#U*7:bf'S#o"؎ӂ$# j9~G yƥ1=QJ6N!fE! 5PkVGL.DE%7Q}Sfut;PyӗNJV*&շv >a>`E&m&Y'~o2L8i0t4E'ٰ N JFŰOa)4.ה/" Ȋ&q"q !{dkjY(FIMzY4v]@bO|?sc~A*wcj18yzdꤧک5iT$@-CT@XP4E= ُaL܏@Ő^HyAa&E~ !p Ί+t?fPX0B*-Cѝ'F58(EcUNA4:L0"?S_wIrtꖪM%n\]v9shU@`Jwa{gW:0|cr~9 _:Esa V,re\ ?$Yq?˶;I-j#Ԝ6=}&Q+HVqy]́z .awς7Z IrAj𳏥%lB8{q[Eħ^z1IyN6x=t&ъh8rIK㘼O_+Qd44.pC g6wePY0Ȫ 3=%#xPs^Lf2Vu-fZl UJd{q7!I .<ᆑ PsZڡBubQe6()ө- Y簥d~3S3>ԊnqdoSŪG34M/dfX9J$bz#JJrhAxՁy0_FDԑޮGO7Oj;; I7Z1\'~kꛟ_A.h:Dl9K#X%*H=cy[F+'ilPQT0eSЇ`r=[5LΔUŀiN {A3YW-ꕼl<%R?1Ox@ԯۆ_bu Խ_gGSb3,X.8c] Yޖ >[\ կ, ed"޾[ɰE=vQӬA 6^8w/sDHxsɋ)o~'!kkT'o5ia]^ G=Vxiݬq+Ƹ~EFe>H`U"j5TcMeKcgM$Jz'Mz*VdQ : L!鱃I@\ *?21+Iu;'" 'ٰH3%BC $AY2?9s`qNaٳbr&/bl FFX0>|=Ӄj9%)Kd^k:FLl"- k&3B+tqr$PWUWN_R3mS *O*YI,E[eMDSڸ2J9TeNJsKK#]𕺐 ۹`%u}^GeP@(&4bCxv 5sP[8{6]J]bqbkT$ySjv ]&K51vgKmdlWmKS`Ļ[@Bi'lkngߛ'7M bhOv  BWfΞM[os7Q-|󧋘4D{L.kb1R!?FX.̼ 3Tnۑl:i (7)}YrWi =WXjD ]-;!Uk{N|Hhٳ+ c`v yZ/7ش{+UHkdi v`E5cV22aۖj9X 7EP8wH-6LjKtӅ\W8^.t'+H6@(n14*t:E>EhPR ^wmnΣ} cgܴy)) Zt$`LzNުpO\=jWa9 mHo=;P^(XffDvw:_.//Wȅ%>(n): Y! B?:3j5;->;w7$^@cNrPZ,ݸCM4=_=gaON_YVb<3C<э}D.DA;W !gzZS4Vf8 9ómf +n ; l9ݧTR|/pA@X x<^6DawAJ/J4 ,׏Gr =&JZ<ݺۊ@Dq};,N|2 1)Tmg|?C3~7*l8^Nb)d;VJ'[]) 3 f7Cm?[EfNeĩnqTXm{R *r%1g? ga@Br}k7WK(Gʙ6j\RA|߼X5C 604 ;bnHu,*n.,<8easuȧxnBC<+Ԩ$mo߾\`?k:J:Dvk?X.Ww-?eЉ(j43ŏx_;3޶^fTa[8ݿygY>EVP .p5&\X 4\U1IRTdJ˰hzO ab'}OޡO(Jsq}9C@l)Y4\*AJC-p%5&Y/B["C0`ͷd fiz4sgI"25vI&SHfHb _.>iBk^>ڕ8G3.ro7ChOe3'*ԈGmLçqy1i-%uI<(e\Җ~qB{p ̖ӰԤMPsM;Bvi`^Fz'7ȧ6fw^؇ YSS"A#fuW^&c{UWᴟ-Ӧ5VuծSǭoBZYc~=b.7l\߀[+EH6gN?ܦ|NwhC] c 8Q|ZT@ 9V  ۮE[~痚f+ cـӦƽ¤$y R )(J"`Gɚ7ft߆ ^U1`e"7ݡd^,Uy%JXSi}gBM-f-*ʁq0x5󦶣r3풐xW汰HdHT(75P>FdUHg&iHbJ%`x5*|1G= ]%NH%6s LI؋s7_<ىO$3GvL6Ez{+ Z媉k,L o*wf8e-Iv7WWm-%1$u w"ЍU<1Bk7mpW^Nqp,rkQ럇ϵ7H"a+uJT}|u5 0;y{nӠ"ĕ X(a1'J@6y O5@TvGt܅m.-l=*ŧ;AKr ~t[~GNQqTߦ,ˢ`W7QH"s(ܝfBb{ԠECkJ'Bi1T "V]oʙ3 m<}$ S)r>[o,(Ci4AZ, ƵxgHVt a2m|_ 9qhŊV$Y܍rZi}ZBXɡDH#*%n;NaۃRAѥ oxkk)VP=psks\*Ӡ_T|:>-$[1<,)6_TB|aE#j$mY2zzA&ȡVTy۱aU)ΚθsJSK]t#pt^i]F4ݘU:8ܭcbحs]oNCiW&{Fn"m̫wr%сY4xj/RE]-uy7fW3B%lCݔ@$5#kFL4Φ~疩D~(!SY$')tD0NG:j㪜ϥ~AK::H"D &}\{8W^(b> #%R>-?)@Y!nzDcԸ[#n!wƨaxkB. N<;+S_[˸V R@"4t9A[M1/6?B]Xu}슞Ď,`~&DžlpϞYklCٝZîtxK-Ũ$jg‰YS@Ԏت?k?6e >Iv)Y"M`hy mMl'w *,cjrCɉ~RV,1OCn-[Vyש^cݯ "qDG;gs*m$0~y^-F-=m п^Z0jPS r{c-C 0{4 DKS?"d9O.!=)#/xcd0ʼ; ,j%("O|`onĕ\Ǿ'X]̴C2ʱ`8;Cw$huˬ ۀ0E\d#Ui C(yy:1DcMq$C%\ͻU:FQՍ^u_j0kꝼ%! mdBO 4_p 3-:礩8%dgM* 0aCsuQ]VdY@ :@cZm߁kW1oS>Vis:Ycѭ  -,It tAfb>*rcJ(~7HƜt[tꄌd /V~ Wp.X7;^(K;|ĉv/WДޫ(-^F0OBJ9 -5Wk٫#U7|`>q42 IW^2zfxV2rB39:{j14fc"3T(>3ė suJd: z Yr#=R{HG7lOU[ dĂ6MzT˳[Y \{l1'SfAl > %LyP=ɺc3LM$9[ 뜉-Hm)` IRt1:m>N&x怌^PS̡]'s,q/Z.\`u'qşbm#p Oٜad6'kGmbG㉆a+y U *#dm>Kt!XqRv(LA`?}-! "^dN\zPҝXʘ<NhD"yjyxԬ'g%w1 `LQ6qjҡ0K 桙TKk]W'TB{2xoP/:vI/I5?qX܎C4}LěxZ7d8VCRkw?;?_BL7ǩ`01G̲/f-%'oGZ"lfڃ4:vpZ\9jqղ/ M2J=oV I6%eאId}.ԥ)+.g'7u7Ht:-dZ1[ Fj3pNAY@bZoGOZCKE:2Q*DLey V0Z4EmǴEl6n 8H&Ru CH@-JYu"ve[˟ 첱O JTE"#,Bӏ iu_6o0SQ5eaE~ y s{uȁf`]T]Sܖ[ .Aug,y_3~w,Qj(n_tDGQ>?tuzZz.|HCK䷀!HҕPű)\E՚Of|<`= ='K+"rbBJ}`eO:.BfćE%Vi |C2Grk)Afxge[iu::\2Ƃ6gnV͇`O]~UZ2fn ķazAfufm&2q 3 :2NaRЯ`R)?*4~J?ЯKܬYweF-X|L+f -AIva><$x1xU"5 bSL$p@h? ʌ!aֱɠ5a?R8 +xp|^d1hGeC 2qOD> &tPg K:_Y\JkjlVijɦ('MS}DQp=61ӫz곀*>&:IQgԶ: M_$?A߀O7 =0Y[@?\0NMqrjg@,ڙ5]) (&}YsWDG Kz\"(Y}UPe ku]e[@KezڿMc:q1p!o7x={4=C] OtDPX'YfھI,c4e?̵ ̯qǀo_R@ e!ŝ;-9Bb7"pG}Xƥjź>'T̛I %قs0:-h1& TF%"?b (gk %EmM95=iY#HE}=Y9[ѭe]8>A=\oC?* v-b|I ~HWSÄp*zrBXgt#y<*iǘu0\+zna#,ʵݔ7%hFBJ/\#PW;$öv"X,lwJ.( )t!bT)C]8|S (+͛- ,v{T';_ޟMȚݝŸ-Q< #\Bi*?$ؽSopdr;!5#ثWvju S@oZ˝JvlQ:҉~E(VqMs De'Q0u(2FV"0w÷$`KE{C8:(ı%#q@%ڵ# +WP$aa=nx3g=[-Xis2y)עXq6]gr&M2W95a~b"yηf-P=%i{;$BMFl~T zJ Xڸ I!?f$"A3JҎ3+M>r>AY]w2˝\:erÖ,# ^6ڮeU -^uimG!i?5S/J|dة*WKZy5¿<9u3,BB5'f}_d"K}atG h}j0#ek5H7\:S*ÉW;4 +"nk&5;jhE&/}ß2\2F\xc{ n^HymDN5h,yy,8Y|]fQ+u슡~H<㍟Ӷܼ3g:`>YܨV u̟ܒ$c vL0.`~/#` ,6yj@(ws'}'~m)*N^A `!:ϛu|=x!F uI;ZəoZLmh-Y]wCB؁Mq3dZ]$%)MA5!uJG cua{`?6ݦn7O+{IsbTRsͰRB6qf R  7*w Đo7]0Q=K0p\pNܡb^m@t 7㒩P5]$S%+s+5ߺ7𵔅ށAe&;1u4"(n*S9ߩס2TΘMt5JϏ/kг L@]d\зmRf, a,}\oe$B4L.5HĔ> @tWF4PSpfqQWpb8讯_w32cF]y:fa5ubx/mȩ8â= bxKEOY.$X\*~ Yi IQWZ$gd.6U|{:=>4PRpvf+oN&ȉJm~5XgG'/GAJL3,G-Uqw{v?hK`qa!b},~+(>Hi0f+-J1 b!.uqRhBlsrnw6[4f~SZ\>WnJlO *QouEwu/Y5 d|jT]%^p;(ϾIJkrVR[=[5-[/ SvX[9Au߯L`KЈr ٣w2"fKx7]T{~!mA'E"-/d";K}trEy+=`&?N䟞Dơގ&w.NFesCrǬ0 JWD@[쉜 5 Qcxi&\ksRf3MV6%:62-%_\Pum8GI {5 QDydyNvFw&M/,s-x_iEXO!Yi!hJf/_A6nXF*ejsh̲oW V|D[@MU60T&Fu:2!Hp|֓~ĀaQAD-Wh{FqKkЦaАQa9KvݽO3 7xӺJ`z*5[eK9p ƌ-fF#[S!iT)!)wKvU.r|cxM7{)T7TN7uBP>K{ֳ\> x %O(П`$fgx/ ^W͗CDa+=ÜaF;3[{JUI'xhUΡh_+Wͮ(%qu8>p>irbP'@ N o؀Bb[3-2<;|QEuF02ݘa"uER{j~588S>*cnoDŽȐ-e'9jgP 4]YtrjG1 21c\-{!9?Q?J浼meJ,lO3oθ֙ ќ-̤4뿹g[Ge`Ѓ{-bwFaۡ5 B8ds3\ $4KK׮In ef01*5Ux0_-pxޤ>w$g>Py Z}^B0SҢȧp) F=aq?3HĒujz$Bh*rǏԮ5Yo%'n\fjkn<*ͱ0@ʼno| 5([Ƈ3ZqCMa乕E&dC{l~aȾ lkDttE:`.S4y7ūLj3L$ @Ϧ%D]ӳ7-Vr$n s.iNU2HtގVẘ[:,ͽt@L}+HxP<塩;;ҥ<@ZOߩFFV%P;# mFLaU ,Cj;ʰ<8PHgva{۾+C1iSP%~,U$鱑۹P$S0 ڄgvS)&NRˀF,O+b?5c%vҗW~욬lS F_ w{ECF6QkI(j ѽ?::h /Yh"U@Rsre:ٽRr?9xyK[I3wD3~7,T3DSRwV3<6NMg|glvLIP (b$ǩj+"?.< _ऱr2ט`/qeuA04tlS^7r `x́nGbaO_"rNKhIA``oIuv@D izVa\cdd1U꛶ `I{Nx-r5J\p1SUImE)TW v[l z֢jlvg鰳IOoն )(JUɍ/V@A]`Nf°t)eMt(5:Ցp#c$O=MޛfmkPḑ@g|@"P2Y^٨4b׀f6Qh$J J7i0@? YF9~YA#NTǖdE Ycfs:ޭ;X 4,9cKu[5/nɱ|bDzVr CueKZ >u2;+VvVwXZ)啃(D?)]ԙ{fDlBLKӋ =y 6_G".-/F"Ţ&&aRH߿OڐR<~T]'uY#>N됗U򔲎e:37& +iJZDV+J,K^ yDK`P,,vt`\)LZ˕: aZ~g'wJ= s.&;%ӄĊߎd +ĵ, >1{ċD.ďܕpNqK!iLiQ2\ޅzGy[a ႺgMŎ0RH&^2%@g[4#YD@cVDKEc|;,G~J慂mmm&f谉Jr !bK% 6!ޡU ƋZAtoC7?`/lbBq:  Z'YwSBl 2CאcBzl$ޘ+e][|#+@p)gMƤVpHG@Ӄmb'p[FuR?d1~#|"5Ye6§Yf3 k"Lz>WXoKw7^o]G> NX#D E}| ǐ&R'HYR+y{3F*zI=s!L_HM6rA;Qz#pQlJdmeyg㑟 LyjY66vK/B)Z?8n7l"ynQ噫p;BwRWNӾ_ww" m*!L1 #aːtx>eHD W_מb^:ҮjuAwL9ZS%@TǏ y 5 @~qزQI6HD:pj1|O&IR(`˷\f>l 1zMޟ% FƽMC*$po,r+Lzʼn<1꽮^)4@2eth.hKI^w1wͦLf9u+3Rh&zZo@jZlszd _"Vj=XɉmJwКxW!<s SLn Kt`wG\Ke ۳D*Ê$ ^V^6JOL#`Ys iм,?0.H!'2A'/k۝њU F}ݍm))yCm]CZfvr; +lQ Co R-*lXi%%P1&ml7xhMyd1Y|W(vU-F22wj Vg}KETLBo_Ɣ&i";9颡f0['.ԨB_Fji \=J 4H~]cM[o㡉"V%7X/?_ Fa4E`~ҵlӤ*[*o=k}; 7wzlWN9h &sf g1˴2W#g.Fz'.Y*KLX|a[T.o  Cl9GFB جbtYa s&(@^0$,\Sh囚KT#v~#;/U((|37u e%,HmH^i$ZZq irD%l$i[C.C`s`nN&+# NWnO7ED?<ޮgHh5/e!9mXJeThW1DٸbXndc:a;'pPVײ>R.(fg Bb*L)lC>AF/CZ87 ߃n31CU=rVӂ|G ӸݞEMX6AE!=-=B{mxf"e'4:wz.5Sg{tRNfU[P畢8TowjTa5toSpEM0Nګ=|-wͮ=9ƋSj^$'N,@if8Yε6/tkuĚ(1\>'-*4LtP jHRP~ɓi,U>Er۹?M'U'^EFsKL[ưqͧ_k /Lq.(=~ 5;i h=%9Nn|&O' {|VOv30{!`Cw@; '~mxA#l&[%ol[QdK.<П+>G>4w}cCr&_ g-܀̒my0'SRuf6UOu [EDTߣe0q!i6ջzH+ik;+_*_H"ҼAm4.tµMppޡRazYm쵴ښw9ց/3uLWjM۬Rat h<:j,$+n)Clq@kt(YOTԘ6 lBTa t[{>c!{9N(4_%Bng%Ő*D>'!(mqaՋҏo wQ%Iq` ,Օj0:sdz!j>zo {$QsN#˙~SidJ3(`+,(x} >xeZ6ع/oGQm2NAcHA&s 'LRI^<< E&d9)G%]<6n|q|lnE>T*)n& 2\ jhkr{rWD*Y,W|/9%+&LWjNiNT/ΛCZZ[%֍,I،PiOY/G;z T3CHmF(]ȮmlAp):nf*᪖ޏi=-`DvDbl?v3̶D=ט!;ʏp~-0~lQϜJlh";{; ƎbS)pNJ_ qgf`kS8ץ8$2)K [>JG(NRO(-XIʶeW6l缚b4RTd$| <)NDڜSdvBg|7_F-q9V";ه3^JՁO( ?vȚp; XХ?Q<"hd䘑F8U}-t*$QQJf: /^T׵׈B.E-QαZfjADbԇ25I-inT(3"v~crՖ[FH~ eh<짞e <-T#3zX }?g( {&`mSӻj\V\Esy:b%s v1a;?rbȆ4y6k֍xe\)̤&;h DWeĿu9lf 絾*B^`>![C0maWO."Il-"t-V^̿bT{tׁXlK,N1cb%%0ӨȘjF{ jk o|,f+*k猝gP$T_9<"5Ů1y \(;8GjLىՈ-׀6s$JfK=&>O7Gdhݠ `;Qdxgqn&GZD'o'}ۄ8ΟhLO>Wema3u>k.{%)*f1f]qVKvO@N2=4_A ^k <:?l2_FԉRq~Okl͒ú8A 'n\&|ĻRt^Cv\D­bSn$ƢHJӚ oA{XkG}*sj[ͪ4fRE?[ puoY|8(܄E!/|z$5JÈA_A@m\ g7) LXpDii Exq76iPPť<T4!~Z(w_sNjULϱ0)`s49F1D1au0)\p`Oj =[( zao_&su;mıDFatP:*Î1B`hs#%$a]uZ}(b~z-4 l՝068#KAFw^y2ъy_.m'cB\Gm“zuwnUޣM7 _#iԸ~ l #>vbq'O*k^}q:iISc͒L}kM3-Z![߉'qoE-D]&iwT`J9їLRnУkl0rv Q<3  %nrUāP<@`B'˗a<Ťl~^v|":F݋LzA7wyOo%sat#6X5e2A#TKdR3~nfeuQ|p^p{C2H-J鹬l>ǺG `M#)nB S?^R;]-}En!عe2HqQ"L Y*UA|cy5^N.r3/FeM},v0ՓT$VLAa5k|w6#*RJew)`"P[\vixFzI"!~ޑFDc\/w]_>Q耂 k Ӟ[ἳQJ-k.8V 0M6٦XTMW>#8)<:0aE?4D9YV[1, $٨msdA^ݎOpLBz8z̯>ȖRpw%B>e3́"EȂWȋ瀨YX*Ms%դvvb\6IR.W 00e-˛,׈4r[7E{TnrIӥPr ܲ/E0"c屇T0Y^,Oa 9[N/֗iwbXdKeML~dr#"&[/EBgE\ U<\m:T^)gOfϼ{a [^E\^8 o{e@Q؍v.@:`}^8 ?UoY]+IX!AOcY9L֔CJdy%W 㥝9$"Ճ@w!mU+?=\Gv;GH4Fj7lI~a?* M [ݘ&rnD]%/n-yel" 5YKkɴK"_{G\O8#n՞" țwX$Z9[u]8D8kl`bk\%zSVv7˺#B'PI"b[bE@q{n%UCd䂥5k8v[.?/\/Eϒh}3$d~a Tq:䒘xn۝|MH.70RmlT^k'c@]7F^hLѳh$,$~G]R_A~lYQP?vlz;D?6C}v`I/lOi@]_xuGoEg íáVMZl.1O{/"7i6Zf7I 8Y?Ÿq-.OW;ýi2))f*ˡBr/fI{' kݙ4i";91ƾ7׎ԽjOE/g .bc}nZ>JKKn PQEjp+6j:. Ϗ$.~Hh5/XUk+’EJW%iTJ*CC2:3SV|7L1̞R wׅWnl_Q!`Ix?-rQPk?ac4g -(l)# EX:[:iPC{ržp9xMwϯrOK/Uѽykԭ>v٘K~؄kZ[mӉ{ei̵T+-$ᡲ]J z)Iѐ#.=#e;XRTFJۯ96E6VJ F7RKÉ6{h趬5x>lњXiT@i{0ʀ,ncI9&l: hzb4 (+pT4 ZCXj&zύ\9n_D)ۺK# L^5dfO F[S51"mTfU&ti6ZqM x;3?e{<x9h[+Z-ﮍt~zȽ Q !E$y˘Y Ms-(# dnUiSb=YU>^K$t_OBhKo(<~ ܡ3&巅_-f׽ZXv` a'<@e?d8]`Ѓn9qFϲL^ U*M6'Y .ݕq,>"KL@>Glx31[jXѻew;, .g+}LKxvc[7@-&ج k C\qtA sfg28,9J9sAY J>"58[8dBr4fcCWKUf-&F-P1QC!w``?^_\5hNɪQFygd&3UVX̑z+[ڇJk[nxjPXv~ONi'~P%%4,¿Ls0z A[ę3șp&BmbE6Y:YƮrjU1"(᭐I+#j1e917$K_ E#p( H(kd8];Ti9d_ >^Jd٬ c&LLLp@vK۫`<.2` ]ZQ1>ftnad@I6EDw)"ŘHK1G^)[WHXB W٫P.V3c:'o CdӰphl5r.6סmXTȷ=͠<)tJ\ qZ}M"v榊/}D\H:OMع5f;aNu"]Hab}N9nU57-ЪHe83 (tb%L)`* MEՆ1/?.83{} 7s$]fhn{ (0G-S^z4K<%;}ZU>t8lP,u?rm`@,S)by|$SSxP{40MAX>Rܳ/_,4Tno{wj2-~SFl"`0 8 '17?Wt(YFGSqJ-&;"=A2Ćd 7)xv%$` =Q/2)e4'F%S?0'MţD}wfL|#Oӹ"CLb||$AgYDT鏨.z米K3кDg\&;?G1J ]GZb cijT=:=>׊̬Y(L5ùY.:L`7*-\cOTkNW0>qq緺Z %>}a6~i6ݫpJ)mlE6p 4)eNʷiY]iF10}'JxVw50ar|u[ .ԗH!Lg@QQIr#RNgc5ɉ<=qhk&C#Z7cvIgp(m)b@ˉ.휇TxXZb=:/\cr}/Yg5Xk+Zzb9g0>jh,R7^{( (7RSxƙ+2 ͋Uo3wZ:ZϥfUu>72aohģVSi)+dl(6p?#ksdNFrM Plf6Xeu,h$9QK0a/$F|/qƭn[7֬m!doGn1Y_y{ DkN`*AU%.M1PٲU֗o@=$MC_bCݿwn+{l9\9/  ffmW27py[ţ[B#*i+ D.-}RNJZŇ;muPM<wP穵U+JJwZzF\_2.׮a!@f |eHTGk1]usN #ˡBmV+N<4o,04(f(urpAQb9v8HTx2eLT τf!n؃D@G&s(PF0(cpN..y>u lF Z3WFL+4|naG0>#=TULsXiB.Ffٶ:H5ja)`W=MQZN >Bp 5߮LƢyPkhWs TDƉ W1agגQWōh(K,2V Q M@%Zhe%$s뽙օ𞋥]ٜюO?rnF!kzW[;':XO^|ňvPRqJ]o4R"?,LOtZ0U]qY$V?K/ oFJ[s7YA[޸w~vI!q߯6NZNO߰SA}ean=Q{W?p_iTjPd i𖼻ʜ8fNoG^IG~. Bo]' [gH!ĵQXT8*nS@Xa=p~AQ&RiKWT@#۟j֬E&uҎ|l?bD$!$X@]dlN +S(k~К777d?)7XQ2+QfwxidTcp׽mbSrߦLgiƌ^sQ3} r[ )j6hy,R< 4 XJLUSޡ u:<4ϛ ]$ yo0Z獿 P~"GjM/)-jqeJZ9@nqk0{|x>0RJˑ7afkUrNos\]+LSQ$0xdv`OgUD!5F^'~݂nM%F}beׅOߏK"@[a[ku=w;q9x&&?\nĒoe~MI8}Hf:gtUÌ4=Ot? 3(֥Du𖶚{ sx2?]]5옝QDi_ӉgZl~BHzY.l䑵ǚ]kSw_S|jZ( !Bd-#_3Kj nUbgT :$Qܚ-bJm\gp4`ۉ^FT| VSg8即_:ы KH9{juR=:WɏɻSB*sTx@a-HT|آf ͨPZ5)(7*qخ5W3M?ȁf}|ŧ3֖ULVH]1kh揦n{J (WvYۅ>:󉧭 tnVxw7d>=hg T5/.ȫb%Arjqxx!3$2(lj%@{rych/Eƒl\g,WQcd}mR&/o: W}3ESa]ݝ4\ /UQWO.{o uWaivvNtV.u[W~mh,N#ÞܱQ/gͰw4M=oM8pksb00s1*ekk:u W>h+,˅EܣM v ?K¶o25nF>.] 2vLȴZ^S64/xɅ:Ma* 6$tV=LBwz{RlƲm`̫?C\_!<{ӆ(Kt.j=u>!;7RhԿ,hCf#9d߅>cEl`%t4T_=h+bLaezzNk`O3ѱʊGFڣ#4p0tΟ3e31Uݨ^gW4aopyx0r. }zT{\mڇ44 ?rt@m[t6[ ̿9t(a d́ߠTJw27fI/L*P8F/hk-o &VY^8C +ޡ=RaAo;16/mL€o*BOZZєeݓ}@ i/Dے6?i<͸kݯ))l3r,Anf 5"5`#nWR8ݥT\d+17GUq1^+9yߓ 2ן,U 6Ma)&wrj܍:ӐA[6\2(Hu6! qES{;Kq֑{l](]gOoYz)xqjCRgPrd*_LԠMhA%G9 սlO Bh]>f݇6G}iI܏A. N/&PC\2]JΧ)AEQvպ3b`,UE'{RF/]<,}˔ *dVAakE{~{σw~4 #)Y>̹K焼K*Q+kpϾw9ӨJɵumD=.t O0N}Etc"a>EyK<jDu}jK*{Xq[zT1כn*4]^Ԣ>Q"˲smKrľ@*ЯPJi$>#)Iet!{7r045g [8Q[ߵ$b2WOGOA:g(2:U?EZ "0hlg@>+ˍ\͡ 7ocKN\9'B?_.",+b#`|tC15^- Rf*J3`Ȃڱ,8NT\2u w;"ܶm}v+V _֜V++~I|%Vepv I8x )Z؋t0Mu1!t&W|рϰ_?RGnC'k~bS\;\ z/{ސ tj&ސJt;hHvhs 52A&[c+SNeJ*Sm#Px` 4 z\Z~L-#V@Vl:h -)J]o6_:WXrΥqSs&gQ3SY49 S oH8u dr-b/-qǝqQ<:.ɟSҗ|)p0v#1v폠}uک0rj)KT`_I LBp4:>a3g?e#=9%%{yuVpK9#V4!uY;15+g#PD'5wE4cd۝8[93 K6b/=xȔpT,i=rxrLo!ȷvmG.z!a{fy}Ζr!D-Gmt 0ƒ!nmjRڨ)L%ULg<,fĤ5^\}Z1 &fݥ~]g-& B2zB#xoO]gzQ}H{A6;GMI SBYTR [ޙt$duL&_؛}pUZcz L 8RN6rGW9^+#mF:;\yDŽ3S PtQໝQ cOx&.s { :R l$8wnn"w\¹a/Gj|J$]`S?Ţ;ǕB1[ɗ[V(I{GQ];D4URSw@B곓0RP&o \б]K6Q)8+"3*.V۹AgJE.-ԡ#e4w ˋji&a>`Td+ڨ<5#Kn}j$x#5'~GR;jLF18(` 31{rҗA}9WJԎl\zz#zsX Ёa^4CMZz0A/e8?>U@eAkvVƥgU:pb4ɱ]LO#$J@uu7SaA_x@viǴFj]j+CMH!S>$ &"lM={YW9VXzٯ[lM7WS^^ka ]?Akc&jE#?7?о1{ d0qbݮKEIHKStzm"Ԫ KE 5uEųGWiJA5oyɖX vR e|^p/t7i`˧M!\7\DG1zW -':>vH)Cބ2H^,NL@bYZp0Xk[g tHI]|+x}`Hy4Rd{=} p7"ͽ%L{Y-p$/A dږGԮ9fM "Pڼ$BY#6,I1vp6X^SEVPş!|OA+l[財W #:U͘VVF\{eMO1`D™}{MM p-!&;Sυvox6oOf& Oh,._Y˅ vUsL͋1ȩ1݄iZ*Z8p!do&aW_s~!jnҗLqFGHPh$HTK+U e~X{Ԏ8s Lx+mjݱRrjl7[."$G]5cF OGKba9!y ˦P)-wFbꌆA.h4;:!I}ꀩk.@nPkX% ,uc_=aloÚQk 4u. QB,C,7sŹ;b_]_pn~躟/!GR.^qKb==WvDݗ(u-N[+v8AxkcirT:AadgVf֕ $ RšgUkoB1qՠ2eEcɬXz8I] \;MF1J7Mz%<ΝH mL+t8 ,UjNSȿY7+ môaF TAg)()l \D,&>ˋ/* $NhPT0H O(ߵe!!9MjC4` Ƃ~!WQItB2Q8K[X9ydŢMZi46)9TkGO9%d"9ِgD_F4z `.E^)318FT~_'(%̈F#x~$Uz?OQRȄ.n@qǾj@*bϦިU64á0IElmM5Io:K T6'<S*qpu"~Hy{QE>,-:{]!xD, d4o=DS\63O-t۬x\VIQa,֕qᆤZK&6Td QZL$s8 V:v|Sm9gDٰ8㺚*kmN;Rr0ZSJ !5`FF.B՘a>g?R}G[.N)[܋g(z֫ߙ+SE(FF/kv1&Fr>_ǞKyB|ꈗ¤RqֽhG{{!'zp 3&16W\bՊ@fw,9cc:bBl>v zHh}w'+o/HlI8R<8+JĖR XI`jVD/Uv_+V&X T6;yaa<h#`C ۭ[v }gs>DK rm_2~/H0U]p+J8Mc.9R)Yo]ĥ}̳Eegqe=݋d 4W@iR#\͟ N ӝzЁ1$fȏuu_PR4FԸ9{P(/W:[#{pwbLoѸh3Ά,pXш9q÷8p*#M.(( JcUS$ ϊ׌0[zzaMgFL.b4? 'zt :1!AqBW<B<Ok :v-UG҅5.?tP-6zS-p 2čz<ݖ>mG|DoVq:*JyhzZxvki^RT {9x_J'`!90.i 9a5k= N*e!6:SHS]vzc+@x 9O5ըp[^Er#9TFu@5i`9Fx.UaERuvfè>,`^'sJ.{g8|"웉ؾ?ohŗ$ľKIK:&XzzD+> H\pI2LBe1 O&zؔ t)*TVt~m- {%8)W>lLuG$F#?SwUtr4 /stHKrR`\zOxϪVn f-0a4ӖC:KYÊ"e7a*4 Lt$جt|?n!_Kwк{i,k\f>:$eFϔg/a"w[0fGzH70dPfxwljZ}:]6Ph3 8$(_ E [eBK&KmO J84`ALE{O2}UC,u߬ +Efpʟj1m%[H qHM^@Ci@H?F$j;{{ g#QMj\ъHu;U u77Uq%:Fث 1!>1nfm06/srlF2*;6_5ߛ_t1YZm.kb`߂#(d"(XR5osLkG*+3B$kdfPmjdy`b2-XÆ5>)WA=i3(o|.*zN\ [շ ݔU/Ã|jе,{ ȷs*^- eJ&tԜ/"wEgF$#8꽜:<킖LVƓ|S 1MIOSm>dR&wLd N5 ѲZx :IH`1W'\Sμ"Sޱiވ)'[A1q|gV1LZMg6U}fƏ\0I6Kg| ՉQNV1؈"FZ[Wu nSFI.Mq/ lm 8}?.)~,RЋ8A(d +#^ 1^` 3^@7G}}]"1ޭ-m[FXP90"9uaԂ6 DqCGB-a܏bj:t|ۅk ^H{X]DlAU,@7HSϪio70l& &W|5wFHUv5YXpDyab[SMȒ0]2CIO+\RudF (. ?o4 7 ܖ|k~M(Zn$mWv텑8t /ɄrԤjwݜ{E7q!e!͍Tg!v:=rHmn(_EJf Q{?N#&h7oMpg82u>t s!Ob`.q‹1(uI&e9IJ91TOrGy&YpՔ; 77?X GWϰޤ [KEx2 5Bf~4BJCFox}RʂDlur؃ Slx'jK3@LF2>ٛTn%Ih/ Dv̋s\AD,A+\qeAp)ޛ|h/Z2M)ko^ [FGSJ.mJaf8IBS9 ݕl xiZ+P*K D2T#O=2LϐG/ =gS]+#ڠ1"6bE;6XwDXg4e\QLܰ`)UФk 7z̲Lx*Lݺ64" 8c}<6ؼ%Wil#7.AwGa]bf gPh;ZgxPI4k<{+q >' |W_Z@ٿÉJ]}, ]tu[+~~p$X Ԉ΢͜e&b ) r@E-Kו#7 ]iaΗL9Ѵҳ޲t]<9EE+,m X["yп6ɶNC:"s#Rm-Ti!;]E~ȺMBr}ۿ1x_U|(4,dV>4O=&gP(cI)˧SVAل;XI:^EhJ{.ERqmE IөfNYMlyRuCuw{ݸ.\ZM7VO?ju>Ó{Q,IzK?Dn8Hf]{3~j1C^J«Ɂzh% FX [D!z/V{'׺Q5B*,h#n=߲uqŠ@5 |󢝪r533WeQo&Wm+; Oᡔ#};bLJ_YAv 9SnoU$POpՈ0[: , ӻbjuuio3u:g\uԳ` *=Yr!@c,LuE`E.2߸m "=(~6%z O ^Deq $B<ZM;J׸* Ui,Wu 'Z, ͖Fł?Q.pһΡZ).>[Zu|B= pIz)4pSf/gdL\P*MUd*{vczP'=qS ڑ#:) *ȒpH|&~6f)-.I-^C=k4pFc\KlkoI}=_h7?CZ/UC0s'פ %_d QLnazBUV\³L Im7޴R@ i˾)h%U hpgH5 gGpqKTX}n*{uO0tu× clLg;qwղZDbbpFJ5xH+?*EgƝooT0}1j8Ξd{۬{˰0=`BxD&Br1 +\B{ܝ@D\"y!1I2 bTBָF {Is} [BDzD 2ni!_uGn̕T̠KH 2ֽ&ܨDܝ ef)$ KДxJv~IYuG# >5/R[9@&wӡq&8|\իSt@ltP}!]3/3CcW?wB!ƅ%S+'H 2#Knx #s*q11ZT<c_Ԃ;9~};d = }kF=hs᾵,\98]4SB;c^SӒQ[A}8甬) { 1u>BQ?W1Z+VoM0'4`#81s2`\Ul`gBlˏ/G4")_^˖`l/rpa=ك r!NGyN˷b>rBn+tmG D6'4Σ Ig5~jĠrf{"a?Ŕf_Geǥ:H+̹;F\Z"s: y[әwgP k_av .Cr'SawoL\s= >HcWXZD6b &KI_b- kTwQR*'DlMPug#S'8|K̚X%ATmu+\@:XKq;8n4xY{cu{\#5 bF9_/*VEXv%%v>)kEO(U٨D'mC"j? v7]JwٺT&<9z㿙q! b 8v:/~\ޝh0{?kYluZ&_{I)ckTAR~nJU|*N0\ۛm0͡Ϙw T4K=O(uv_ Z7 kmο` ^w:wujU^Ϫv3yƝ㹤 Kqi݊2,5PrjƼ>]x/`7&X e؟Z_Yom^]2}[)s19iƨ8nh:Y8%)8 krϖ/Ш7-+ѭ佭F-Gs,3N.zS#J<>VA)mq:K*Z5£e~iq@?K,IȺC\_>u-8 A%A\Cy[<Ч5"8&1.8*+H%DڱZJjHVa+qFrZ/L9>%7%ߑxQpK \8):FY>w`K '_@RXozb5ҐQF9V2N9 5V!(ѿ/ʕ6k CoTGPqjzK*e#<K=4l)9Qc)"J[TS5p^Aiu] qqN<2;bNc%]5.u0m] Zn8}Na\*?a,D&Gv \7ꁕ2X68%z>f ?M50Ő.XatПKR&Fޜ7 AKdRIm J#C~g_M<00h[*Qf^zjvS+|"eT2stHwMwEDlO5'VC,}0̰_ݏfjEӜ0ů-XM B0 #=2rA'˟C&K5dDl_L@3Jand&4= (MQ6D6,o;-+Nb*٢-;Ovl̗Y$l3PEG%״7] 3 3 -otFFlDMOd\4[2kn"0Uc`n2*i᣻D4^xHyU#İ5~Ыԉ븯w])7w*!#wlG:cVZ< :HB i&pTV3n3 2^%ٟ67|}X` IHk6d.*AȽΎ8&MyJ`fZ Un  ^R`Ǣ>+Iv<%&B?QƘ!}Pq>R9E%H”:S_>iD-V}/j7𭿾2=s_=\6Jc{m ZWI (zieLlD咾 *NI#_, (4L֟}=ϜAƃZeܭ\)Ȋ iD [h|ϟ &IF}v@ם"fBdElũ qCCͰ:RA_>-=A(|%;bsa۽-<' :8 o\@Ea-Ua" aq9oFd.g+M嘇Tn= PqjfهNeC 7_Oӌ4껡:Z զN k™mL~<s>5e/tRm'(DM!`nZwg?~ɬTڣ0-j.k+0f\eVӗSlj~'#'xd~4AzNTKAU NruJK9H+RC̞g/@9PMPF۩mnNѯX~.lVP&n -߼6P32ş/cэK67ݔbanS;)_+R؎(oҼ~҂z|W6b;xTⴉrkp-xOfmxo-J#"%#"+u ZU }8WX!:%5/ Aas##\f9MEy̏mc1R^0Dsw15y|r}SC]`!!Cn |] .։A|XLҚd q \g0@aCC$y@;AD.i?jx w zy FY Q$ ,A9.mϗA9<`_0+/6J@˴c]'X2ZNa&ܭPkj 9PNYq8KO#퓿z#Y8苀RK gxEcxt!Gk? d!g&.{jBE398X Ng>GW \KRaghSŝ~kZr@,mP dRN }DP bX7Nf kYDķx eE;h %IiX9<7TR;JmM }*+(< r‘ ƫIa˙Pd 2 7dSs]Hz v2ԛ$Dr kH;Ry.Hz 3֎pC^~p*kj ;D; ̠t;ʉ[f%SO4MGl2xJkP$L]x@ g(VfVVskcf#~> ai/5[LJe.3 xf+>5)W:BBL̘CU7Ƅ+j2^8dR˻+38 T%b 1 #}Σ"xaΒ>u| 8*2=Yl%=sA5F 9ߋfk==\j?3gA_CMrD}:erR܍P98{kkK [{~7wKLHf^C>C%^\!Qh\o_>du۬zV.&7iyuXm3Z 7kVAS*NT ex2D2q%="rklsBՊѿC\W+p-q Jt&7^9ŭc35ǤOD`Mf6܋-(j\sNZ8aE3$xoLD'0"9E:;}6IB@ĉwu1}pVF/5.\Ux~ޑ 6pN7*ñ !?}#5@u=H(u^yzlviMzp8zU( vo[#O|MjaH(Ist 3K2 =aܲ+Tsw/xcڻ3 wjx0{  smsvÏfוy`l%=Za25X SxL@;0Gs#?:USnSDȭzG$&fAQod\;''fn9ok~YE_M:4*Mfg7ɞ$-tڥ|co+W=&ڕ̺?kl}ƞ X a&"=+1-1Ѩ^{pU j\E$WnH[.LS1r|:0]RAJ !Ҫ0eD,&j> ݶt5C,CF/TdUֽ4ldBՃ=K3 X7xvq8;$g cYOu nF<75HqtS>nT CUZ !) di"RG:1`XphTT&m,ʃ4f*4%1>T1aEą؆ Ē M{ j? jT&TN&Y[eOy*y#tHĝ==AGX.{  o$Xzln%]u&+kaW|]~9#O..c,gʌBO 1liDX_l}6YR;kSCиe''~2*(nŨ6n%]]4A6 jlX8QiDVKZ8=߆8bcqA}&m2?6xr؊:kek(֪ZjI!Vr1@5>dZˤ W7:3 D.5g:%YK$?4wϟ1$#NpЎ5_#}{a>⯨/]k43 GDYr&>g3ZXVBLpђF6Z8RSܘ)-v{eHp }9YSW9nր :Ut bxʳip']6Hcw [:Źho'~=6\ƨIa_9vNi\mOӚ,*m$kyRj;(jGPv-2-ɼ37 wIk"%\:E?b 2&翯Vyf ;n.ocUrݥ0\' 7 0͕ fxk+;8y(cBO끝FF<0pյ$cMD1 ~F̵̱ 4(ÍH sϏdkš.eiLfSءoETxJ:Wi&WA%,9lW^en-gt ^26 DŽc>Dc xuMţ͓foe'^j/8v<5Py¬Y "-]yxRkUBf|(*Gߝ3:ՐGR-M}Lqا<`Vro8ZЩAȞ\#ڨü}}P ӓ9'_$TT;>:\Yt#ѽ7\6)ŅO`*VӡWGŭ0S4Ϝ3cHhe>kW^ ADeɳ\ xb!,cmhѥ,O'zʚ pCD_~T(~~RIKG;#XJHǀ9q|)mΈbr()ʇ Z.fbKjyKJsCAXEzl_4s7uQBѼLQ9u$ɉŶ/}s&n6|J j{h,?aWB ^*ӕ͵+ɭq]N˚6 1la} A1vڇ2tXlϧLK8F\LV|v'uD7~yx~|^+;iR^+~ aǮ3paI'4tnc,y4ፏ- =5*ic$}Pl#BƟ˻wNTkF[s'uLna@&?41 iYF2;;MD>f'܀<؋ +b@;} bqxu;adpr[Q>mntpO?:vȱ/RNClO(]D!QY}B^MEڻ^7?OL&mA8]uq u~ 8%J; ^zLJWzkh%Ȟb'Da#)@_x~ c6}|@{7[P$v:WUdB >K}VUbW`&S[Nvm;rA*M^g{6,URhQAU9.t~B q#y-18~UeZ:_Ѧkk2*u确ϙ!|hX_|+qZ >x|LCh!(Gu$Y' [ߨ5'N ][N5ĉ] fDF˜˷Gg_چj/A.;3Soٳ E&톷ss?"0t;F%3NhkQt-gskMKE'}|) $Q7dTxU saT4K»qNzV UW2[J; jf .:)y*wK4W*i`@2#ЉLV?_1ϟ.1S0uJ\dX7:P䊢]#!yyA,h&_ 7P\]skUQ Zg{ ~@Bxt|+8)Qh';4} uvWKgtʃr=R FIwc+`w /Su)&fDi]u7KU[ % n7Fmvyr: [vf{.',7{wGWwkE^>-ݸOfOr?5,$%d_TDaqGg, &u0K|n -]'Mq)r}WJ](Imc;Љ^4;$t8ATޫD]VE7@c IWd]Ӊ>f;4ʾNz? ᔌ}WدuJ%|vq]iQnwgY>ݞ|5NFiRIviߗ'8s vh:5 ,6.eۀFrW#@o{Qm/Iook$S/LKbY*nf ]zH,HI :g,Yp -Soa+O:~:T^ZƓ> }\x>YeO>Eplo.&mB_Mjn@̩Ͱ搷p3H$@]PP"G gC?,̮ z3 DYM |wXAu\S2e ڬt}8֣/{;rPt^ta+"Ti:,@.vAڞJ&^ܻ Urg0[EvnAS1Y4뽑C$jUX5. ?q)9N~$bu]!2OӜīcfng9;GRuDSG,*@W}r=a| wXPѵlMi?of_N:93$_@ҋ>0xLVD# HK-Ȃ63"O sDfi~Sd =UBK\Jt4jF]yF*`σw}Aft$h>m؄EP+qOu|b+*:{ONqZ fHP8jb_gƙùC0w5lŅV I) Lu+<*Ne/ܲ^=rMOvɆ(ЃuBӄaw :dfMtO;CʽNlUOVl8lD2_ӓ()81#Ge UA6.K[!'o.@f 71oR*WuMf3wIF=!@7^q!>hD:B5$$U՜wAw (n &"\BI_]Jg( ]2QsZY2 eOZ6 p$:]@CTԂ@T!߸2,/:aQY R%.YcE* Oh+-f`ݔ8Eї5\U/?p"D*eU%-'9D*S #M:z]G11;0 Ο7'Woce!37Yc@2]z8ΙFBR=!ci/8ʔoa\[Vt(T89SagO3B"~GlDSʶόCo4Pc5lyaɧ/w'5*ݝ n{mU;"r{{2% Wu}Ro>xH 9Mc$\VK$si4N]+,23\HrBٙ(!cNDW(Yu{F#}JY·3GRu[E5Ȼiz f7u6߆m~]7&l;6HhZ~Ipi;ĤҺ>V \` ?eI9Kl¿ 9,.}NњpU;Ҫ Qχ CV"/Y1CNl\L@|7}䓫EY?Z]5.*KW!H|JRQY? &}!iv{{S yhYlE $X%ϧMaWgP{#~]L?M2t9\B_;NI-Ya2C]@<&CڎBocZɼ֡y p4cgcPv[g[fsvD-%! HmLF.pXSBRlK߉9<߷wv?ӡqP`$ϒ$oF`b%U?>)͏R.kWkq#`g?SXCFop$`)k"=),N;{=dC`)h˛G+L5| A DZrӑ $l;e01@r&'+9[98.~8u@vNF+\bi'Xlt,oD2RpD0#PmLȊ%h|?pTN;g$)e_WGc9 :k21N; 5vk̝3Բ9ZZ™U~ûJД˭+B{`i>dh(W-`fCʽtUR%P */Re"iyYYtLP҇^.3VFC),e3Тw3$طK%UhrLoWRWx?CH&?yw]X Kc" ێ`Y3$j=A/8mT5,{s!b}` n&ߡA娸f{eJ|a/b*8%vUP4m K czڎt!.*OIhWѣsV댟R9F<*bQ ^ԶVbfhƝ/ 28>ܝpQ"څ, ^s,AI) E!Y[ È{o'+"w|OD?ծe\.~Ba9cD!㉻~Vd`mcT*}86a͐25O(_pnDzo ᑚ}6{EHTdSḦ$&\2"coqߧ":PtPOlwLνNwc]Y9N T PC [YpAj^"N JüZx`_m*z} uX^2V7хFnvc;ݓ ߎe55JͯRu׍WӚEts'\w_!0Yf0TTHhB :rȚ~ {D,3O8\kTTXu?bbX{5CkBK7%?ZN 7A6c%q2HPa t*TLXd)r=TS-&AE#`ËrBV[hozEfY K QkH=[hHL!TATZ6Ëm.&54/е1U5bRMǤ5F'c1zl̰R Kpxt dcYcX  {dwtZ<*h{YJ>#0p @xA~ꤷ/vDZ]vvb fǪC~OaNbJJs,s֖;ϼ|'yYp`!lUZĎ~QhG # h|B1K.ދM$IMU  =sv*cZqֱ,=Hӡ ;: +\b`p^5-:LhN'w*0?W^9Z`Np7X蟮aBb4X].*],f rk_K%<ꁣRꞆ64/sjЭ#RU;yg 뾏,ZZ̥V.e{ۇCt)0c8"K(:ȪJ.c2)vS%sƲeJrS^ h`ZQ!Bs I8mֵ:cN,(7iW:xZnZ#2( "$b'zv!蚶t^'̃;0{؄lli-dltĄq3O]!:~N̫Q@ߏp!邾xFGSuh>DF1Q /4i=3SR?[-8a:c@JMe䏱{aQ-`pr sIBeڨn0P~ 7^Ousk}$e`D+D([ "VtV o?}OB_P(āKuDʟd0͹ob!LXAĹjQYG2OJ݌is`&rظaDLtc&< %,F%So*M7 Y}=w()Su1iX򟎳5dШG%!u49hzuc;ˈ3ż:eJ-K]2=ŦCbȄGVd.s+B쮳 AVhA_0Se0׀ ;C |'qұp=sEw]/``Jݖ@mK9 Z{rd|&WXɶkn \XEW=I&Eg`KU^!c4&I҈8 bhNRSaH=t ADd_4Zl? :`,.d;X:0EDrƱ@Von?NZ 1v)6)Ȕ]ceՔ9? 1$jF9dF}ȼ_ut,%;M2*HA/s1 yf;hfG2[m x OrxL/魼k^ms 2G/Zk}ӗb; ` pw䙢JHmm SlTLf$P5] DjS!kf }=H=' ]m?␲6!G>x\)yX~!((q2qng 2ЌզJ|cPWeTUOܵގͥ2 4;38U얠P<. ~{sE:,m=zqm[f%xbܗg^&;;6x_ z v~= [k*GUJ7 0O-fQG͓]L&жm]lTV`-C]SĽaux$3Ukl @b(```z/I%$눇 г:N[¿a |dI0OIњܔj\b_Ymt[H];VY_|^Uwon[hLa)Bhk8*}Du{r'5OIg#0+,"Ǜ_[V@L{ZKJȃx{(|fQp)ܐIc;]{$˃# ʸa1ׅi)1.}+>>JE)fԩʁMa Od ۇRq "p*iR~%aN4)2fI7Df);3&WY'Ŝjk;Y4km^ mƢ-Ӹ`L0;䨟zHUȵ89ӨH^wir0XܸAC0g`RԾBqhv~`Fc-΀ WtPg :EW|}0R 96cy% _fhWQg ` >gH J( *v =r&VW9r5;o&W(f󒟜8=p%ojBESvk g1TУ(w@~1a~"^M/ʈVI{Yvµ Es~4ːjfGlZv]U; P2-gWyކ'+Bryԥnw Z!<&@d: D庲S/x&ڣU5-EuK{2dž 7w! VE5Ѩ4`n`wbg{N=&[6u''6d,2W~@W* [ ߑ27N95O㱴;Kx`ת< 5 )*X餑ZW +lYZxպg͎ޯHOrf2o0'r29+gs1"*O7;4@ԒƬWZAJvVS|)#͙F}p x kA4 dfqc2BVl=I @yUq+fӁmE#4-DIuhh,Os;\+|Y(U~:rZbԁ~ej!tI4o6l*L7T ClO(P4mr.B]ebϫbQ@T bTp&e.]mkP)ˈxbt-DzVYvf?nFjh%eŸT*<7R AUb,n11gdKQ%2&_h!c%I N@" ݹ1Oߎl5wSg8w K7v ѶWub%Fg-8:;{-2YΣYT(>dY=cw(S EŸ5k;9tV!Jv)Z^i8搷xX Chc=_\RgFSHd[䕋0kC+pwwa؜Z<^!2|a#ޯ3h@e]xJy ܝOw#,帮PγL)o3X TJլ]gp[F4&Vr?W lcnZ$DwǓcXqjc]+?)q B}N(ߑ/~(0繪qC Eܟ7<%u!ѷê~QSd;=!Nxc#dZ{i*hDx+SZZlfRE]a-x_ڷ浵z|;ǬcqsﶠPQYr}ۣ3m7{U0y=|bYRihQӚbub{8Mc%LpͼYaT*M#x҃q|tɞe rw\-8y`_ ˋ~C[sHkڔ1qIYb?Pu:`\36nF(d~ϿT$BT Oܖ7Ep'A싕փ!ŊͱE)zvkQчqF~,|9T%*ܩ~_)-@sE;`C"}8۵:~gFU` 3J%Γt10e"U\dV" \XXnRh%A=zMb&quu*wh*];Ȭ shqLW7h@=_c=n]5iyYwMafa@fOo)|H̳E5@U ICdryߎ$O"xf5e֙p-4Kx v[wG 1.Զ[jIx[ בE鍟Ap]>F+%hDxtSʴ 8jr4p+ -$ߘhv:7dU"hy{|]Ֆ9~To@7rohТo!t{௵Y&ݝt{*}\W ecazxް#3|(1튜o}z!u fG4J9iMLzkee8|$Ho}яC!>!yzX؟^E4ˈa8C~>d՜ +_r! %te?} t[ߡBx?"+e iv `g8AS1"cKF9>c62/G2{jSw>]AuP9a=QicTT;>A+qY1o!z^8WeR7W ] ѠuUL^VϮ0q!Em3 V|sfZDO_mxX|-cyÒ]=UloK }MFe>28Yh`[,x[^ ~Pu vrv79[eŹ)ޢ lN5BS4n#cT<;Yw _6:R3t~ycx7r`L%0[WJOivT30b{/UeQ7ēKdc&ېY/ #Q@K5PƬPTv0*IGϵG\,9 Kdsf:J9ɧlT Z,l0z4eUC6C2-HUw:*ӳmLV<eZm̚CtLVEc[:yГ\13륬}5җw,kkhn:fekXl}\NCB8=YgfPx GOh[Osﰡ|nϺ S =S=?§F% Q)ޙ`މEz,7$oA$ J⺏5jI8٪<񁏰'<5~Okr`StsQ^ cz%E2.UfZ|`OG*q !vXH {0 tV|CJ5AK4c+SS`p:wZK*Hi8j!< aXx8W O'~%CSyxQ;|[.h`a,|CvԺ%e<wU?Q詀boHF&޽#^2FJֽ1DnI_k?_k,LnUӽpI< Ʀh4݁6&;0 bÊ \Uecx]p"j5C^HRJ;`WknJ- zY ̝Yfpoႜɶv2@5Ϫ8I?UGl56LI#Wa|c, )\nr_ƅ:*0ghҜQ$dERoY7uV36!`^ uNθxf ~%t$W]ƺVDFvGpowJV\3tY BeVXFG>aDn'R2LVpRh6JNq1@Iғn̹זx%5w`:9Q\W=*-ָɔUl&>wp/bI'o]y4O^cX?%b[oqww +TIWЙm&NNl8Qqg_EJRe:"h NF07`-4q{vf]ZW u=!;T6:b M̵1iE81 fg E#۳ѣ(Y~4fsῙOUʹ4'B%|LO2+(zܲy"BI)3hPX1Q1& uu , >0*>S]"_0OdpEEu Y ??QouBW^[ 寫9\9m͍ ?,f{ ZS[/í&SUg]w vφV<(0yky A 2T.(O ?wF]!bSf -!nd8*7D_ʷ^W}KjJsC]!!RCGﶖ pmL !jIH|nB6ƖV*V2$B0VBD(O"cm@sE577EzP9bp`{hŜҭ't*غPɣmhsAICQLhR-2Dā!^9 |]sdbHo xTMO8s1X!.!G\>Ď:P`ɂ/gYRȬ᫟Ei10r /"mkγ8H]gTu0+>C̿v;)^KNy|/7+D rۅ}%!XHe]isy~M잞E]Y=o]꜀66*|  5>y8R^!Ztԗdi:\\i9^aڽBM\I~V|J׾?$Y#_Gƾ΅nIq{PU-RTG3><nIȒ لˆ+D!_oP?jSNvv9G=Xv2u+l@""s}vtv@B/ypV%}Z4eG.*nl&lBe $M-y{ްZ`jFDL;=uH

haNxwV@MZ  GN>7z (1u'-=?~ $]lyv"jc\WvYx:kWR[yV(VKXK`--yV/%2 QO"?j#ayGond4\[ީX^`1ީ@$ID.Œ ,a.1\47/MExd;*C$i- ͨ&DM)n}5}CMڗ1UzS#Ŋ韦 0nQaKNzKOMNkoGK͡3mH*@O-nB)Cqsԇ:KR ZXR \@MwJ hN~[U pL&9è_ OX9Ч绅cUM ma hbX~"[HHEpp-W9Bb GՂA^z1B!Bpܒ8ि->t%r_7t3_'<Ó5Ŕs29ÏM<|Py?$DdS[Nw*vaVPݖm{A}6f k@t0lߌqb1YiPC+xg@<fcGM/' P.e5b7I7$BoL[~p .3 Lk-|5ܝj*axj]]v}R?T>b* c tv|bSd4[T0륍=Q obRRͧy|F8 ХZ\H(|eۛVg8ʻضNˀ+F"w.$hUFD Awl hQ@NÊK<'FªcT/:(t8Ťo2(xnc[n䢌UdnNr%NrZ7ldղĴ٫ܞrz=rpJOhX֖ӒbVT #3np9\hg[YdH5{ھ5y!=" \9_{E9mmӼZ^8鿰t+BggT_&l-17AZ< s)dA|GUAAsk؈(վnu͢q[k⦲@=+RSw@]$69" S5fuߵJy/KƩ:! i=W-ESyIW-ư;ɷ!s'aw'pr}7T0tH:hz1CH&aY?H)= tT*۝ @C7+WJXE[84& ]kW.kVCF빩l< e~:I_zkY1A%N xO7RʕNH/ĉ r~m<Hˢyڴ1$}[QדX~Gj؀&YD ]1!u] +n6W: &R<*|2YQ3B^tVN%5B;Op9F6-ѪՀ@rs#}zN Q;Znb0+>)g1f%oP.6+CjN$d`!>c5WqԯvH$ߢm,@dy '"7L}_7gf3%) 0V&Zկ&sr^|_lYex+ru"w@ί/Fks$ņM_XN~=_D{6Wn:- TzPRk &: TLN[^3e  tq +fF7@?Ǒ#F#$4Hy QNXo'PӢ{YFwp"&G  9$OΗ{jɣt8!nhmcw X͢:o6\3jQо~.e5mO t( wLmQ_H<=5>6/j6X<,r tk PI 3y P')/#C #0W3%,_`n.wm'F#1WFd fa^fqi b`ΐE(Me0nu'f% gJ70W)1J@hsơ`l{)#]gӏkwz̶n83|&GBY\|_fS'QH:&@3zJûzҞnfAS/MنoXHpva9UtԶp33M=^3rCc*40S~L;(RE$NY+CTIpdcUo4/X-ۣ!nG`jFws.jcEuzPy3d*❑PLyggcaJcrwБl&ybt;>; yFJN8Wۑ!4J{"_˸ !_&=.5t'J } $w@9sSA&u\,sP 5픹:Ov'BdQK 聽}%7$WNgKX$&W8 &Q\`/c_O@//W?( /[]{"̥#E 3eRhQJ@ FS;V'ϋ$h~z0;3bI(&vif"IaG\4 x߹#9|Sr~ OMYr\ժ_KRNiRg*Vsb%w%y*Xf,rȳ&y8y'zyc Ж[1r1Ci@󨸩l!K`T\rw1E&% OaTLcǖe1(-}G܌9f;qA&$MpmQGS 8ڵ` tg#{t,km3VD []09Egje8=Y_nYmdVa" -f2vB^^@`G~7OUV8y3ۡyDOSXv ,e7Ìaϲ6G 5:xKw{7[\ E-5HZY"eNGH -z,]PeB~ϟ¹]e$I.AH{H3{b7j:ӟ2":4^j9\Gl-ǩL{0~fAEy_h)7(8b*u2vVY%M/təOW`* o m JBx /] Y]=613DMaօv %]au- ͵nJ\M]w8|% ÄT|5^eF- 7N}h(xѿX0xOJ&$t4!¿M[>~/CTa2 ¦jIc"&ϒxޮsKx;e)XIu%j>Z5B)u[l|>3*_H YrD:ҦruYHC6Zmy,J*BV6#wks’SMg$F箸|JӼm B5%sAA֠&hH=]XƩsx5ilp^-۞y{WHx?pZ:By 3\zAáw&JErzE\!Ur4|hkc+`qMKc ,1|Ф5u*̞inє:пv~' ?DFC OW)OB#]v[.4CE}ȩsk;E\I~g*ZmªJFŞ/+b !޻זk ؇E#r >0/ }6&6.6_!L4?RnFO؀vD=M)ߧC(\|'{ qG7~6z)ݣ<6D!oYb #;+-wm09! BhIoTېUt1yKH+,_ 4Kdaaz`T!eeҺu"44tPK?=XW ȁ)J钤S_EX~Lha3Ocg9ժ!HqXOrۘ [Vct`^~D~.dDC7I?8JudUgf`OQ t# 0J2{}OM,6]3(r.&[ZP #LL##@y+pHvZJ#By^?.>.],h .X7k~߈_~Fޠ`V%OX!ѸA84,wĚ2Y9U0_dFh?07s`Ÿ)OC4?O)fp%SΏGuc.S,ECൈ SoVz<$ :q*Xz94yGxA+2ާ_t8C XX[b7t;r3L$­I\6rcL`dtgTF"L5|lxo$XQ*ԃ;<`E E5泐T$.y!(ܠ^[ >ɐ;\y7!E)nQ+hEsE tY#ۯ\zIDF+<@VVBi~'ㆊlJl~R(3 6 T_ Qj 0y>Fb-a Ĭ;HoƳ@fAZ#c%" ñ8^ۊ`Uf1>#?z|q~9D͹ͱ'qВ =DK9E/xoOuƒPIb%I퉚6SF *0NQ!f:*R CtS -m1~G#A=#2N\{[Џ QDq>(x /B` Dr/'(mՀگ%..Z70*a.ĨqKLGuk<^Lrzt2Eo=mZ:™tE#$S x_a}K'~Rԋ9Xа_#l d)/:}K`Z#";yTnL5I>yER*saȵ{qb"&SPSzXi\C+ghDzʦAҎ%Hsoaxx!,!%g Y:%|LYCo95`?2ɗiPk x\昘xv4,XTtes<}C+['&.7rC$~)S?XŲg;5!.ի8x4{WУ-ߕ֓4jDΤ8N?#hImvuki(:ښ^ȕ~f'CrE̛2$$pHt kF>#~tTg߰:$)ʰ~Qv{zsА*pbt7Vԫ5bejzcsGh*.=JRCf]$mܠP|%'28Owt^mm J]'(, G #Й_(G[׌JankV.A2)!81"!ՏKNQPg.W-AHx0W8ѐWEM˒F]{Oq61sc^'+Pv#]<*C Pe8BGSSojeBjP>y8'=ݮ1ci=˕V@˫B [uDԇ~/ n̺ B(Ce a+>5i/UXW}NWMCL@C1/zjIMQ%P]ztԼ>9\̖uc!qcPe5*V4(b`WF Yo 'ߙیML%& }^z#M iqa!|30@2@腂31Y:޿,)5hM#{#@|ZӷD"jfW!ֳ۴uШuʢtcՎmg,-ꝳ0fqC#O~OxJpYov.5/}?8qz``#>469idbI^m<.`Xq iۢ8GrnMpO_gK4bF=x| 9^l%<--3|cya&E4y %ps]rZdJ=#=Q N|?;E5z&-yzZJarAD|}?E IVqc{oCg&1qxx~z̫p~m+>ˌŽNvs)٧i7&d WWGkQ=R5-k7C \ޟyװ%"i*-rM`w &%kZM癚=J'HH]h}do\eTȠI=LA"ޤȑBcw:hܩ&vi0W%zaT՞X<y[nZ !Egz ȢN*D͏ 8ykd2vLeQ'u/''DHH* 5~E at`7 pL*,7T_9,-0Xb+K!峗cF%6cFE1 p,ٞ3T6}'6;_gY5\'}"_qN'*tb̫R Rv[hbUq5\M|@DJ^8׻k3ñ:-* QZ "QTjY (0nwIRFH@hEHdp&RsB`/LPe/~t(%DY`Rɲ@]}8W/XA(/h RQC=JӌR呠oϺ鵘!Q׳=W%Cr )#ʼ򵰦lذ'J>Z]O_FUʵЉ ^d?M.FSW6sp2w޹\O/ H p7y?kqB8I|2>97L#G_Խ v琨\\&xQ&I :0fkM9gXRS^Y>G|-HIaHN5݈[ }w>tm_D F(fI;]ȍ)zk/'s3nAPáe3Lc'd>w/+st7Pd:(747GR _{EVԴggp˟xVu7}bvI|ml6䉜(3Fب)ל&5;JRr^1ť+qѝZIF`bi04= VNA{Zb:(s ڒ:@l=)]4D9(RaH"?[{~WӮ*{Z)^)"3 .5iBw>~]~@N5xڗʹ%޴;ʡo*SvA6'bH]cVʽh/'JZ7=mЌc:ɫ^uzLa??Zq&nr=dli|;;w/0MfPM:^fY5K_)8_OT5 !h0ZN,(ru9m4,S|tГVGEvH):/WAoDR ^n;纟_b|=ĬTA&%fF=xj XG/D8'-]+mbӡB!nR1,yɀIIOf!RUox;T2F?]4Gy8p''>kO(@tljqD֧E:%x#DqE[ŭ]\1qg\!POe<3,M69v7 ִ4&Z>!^k^^N;e / FKko3|1dp0P˵1̸֜}a%hf `݄8Gkڐyo(ƿrda ;]^n"Sؕ$B1Ļ^(B:0 == 9DkWۜa(/KE^p6|x)(X_+\?9S,8 ^mg‘?K.y3Td/ݸF-V6TΣjG$}sjEwCO`F`eĹN$"j u h6p0{ ԦoZCn2@tR)!*K(H."t_~J@Cr.qɫmbq 8L 0NemB?H˾-thT@^{Tx]q-gX2vt'@ꑥ%hͨZcw;\NDen:<%g0=:EQ1/]at`; ޾.*YAbY 4ŀ­U'Yt yad\W{zۚ?V $cmyx5lGp+,F"{|g]z%w)Uy >%mh0c>BfpVxi#F;7 nџ gFc_li;q>IN$-I,jq>; T:;UCE?1x$zݍ"OZv{ЈB`tVp  'i c3nQ0R֎Da++)5رW@UdHvo,)W=۹(Q%pܦ̐>r΂^tz 5F|SqӖ|H}3ʆ;ºw &=\wq*01rp9Sk zGSً!U vk8ZOS- !H\*+c WUVi+aWqFzv•W||)@^la`R$s 7X]cbvi!\ .Ì Qs0LzBa:=Υj\8M$yk0Jīl`8E=uÁUPOşZ6>ёk>eMpUjv:!{}4 LAÜҩjw@Ju|ot[iaq05L6" %Aly1Ve$iF9$ˊPZf+QzlaBGud3x+t8ҐE<;OgkpŶjp K^z,xSMܼ\C+?'8>`Rҿ,8tٸ0@k"тc0GwP8ʑykv#QvW #+rDQXlNc7M9mZCWG^tȪ(_DZԭ_,KEُdЭb7̢x .Y?r~o#>R $~t(lB|𹺹<˜/B o*J9+>_֓v_lIV~[fc hB@p. /Svo ,*XLe) Qq`N*KW+dO6cmDn>|\?|0]ێڰb5 rHKȕ B oyD$R)gBUe^<$!(ZIdk~mG O[؟3XǡV+b@叔f{jH.AأZ;倹gEH$7e VԮ~,e3|q* _ = Q @ujň sl/Pa m.f5)B+a"\i9K#R2\8ûIphau).왳#BYN̸nqEÕ=㶮>[%`uX݁ps#qKgG8g{d 3/I&CRs eoPp\eP n _ˑ,Ft$-;S@sM&zɲu]˰N)|_zg:k("a8iFRn(O9^~ OT޵g J 9PAlݎInC&a-E[WOt5Ӿƅ䂖!Hz!ޫ4'&^EK]Y+ Š85Y;;VKAV3N֑uLRMcNfu1Ik-KAjOh_nyH0m)ie І\n* y"5DP47_& 6kL5uDމtyYU &r./tv6j?(]Z,^ :~+=F#o%Pb!ۡy&P+&lGiK|jGo 1Mْ5Ҥ[]5lȑU a!̚yHj͐aI>XX#>U&Zf[r(rZ䶉:]0p ׮v8̹h/c3lQi2ZpΗ9ZYXR\ #:2bh悾[j ׽䁕K)֫R)RGk@tBvXmXY$0Rj-*k+[`0; s]8~"e|!gW6g(~kG5l¹3 k-a҂67 1(~ybT;ZQ[Vk}F#ƻI.`x !,1 H=~ф(E1O.%-ާ&|)22͞Nm0%F! ޞ85ah^My$3ϐ{ծV?ڼ8Zaw*JZ(6"ɠ%XϺt'3@D $$WS3pqgb񌜫k{Q}FÆ~[ֺcl44D_-t~_X1h:|ö)M\$8+ȫkGW2Ab_*l?g 8\%»2y(,"+kQSHt{~! 6_A/]CAjQu[`BO 50etݖ+M4P)lޗH=kP#G %+3_]ϛ_Zw>k ߏb>?4; o[}WdJk!;oe< <qk[8rp '2;\{/2U.CδBA\~ް;"ȿ\E%1S @0qAJb-noKFcc3x_h!*w3ziW ]d؏O2SۏX⨃կ0aXv+0ܷ{N0gvA$!q_Rj"yEFAEԂ^ԓm<.`= +Wǫ͐o\g"@^t/?H|@\L13I`}RgcJ(ST0po@w]%L[]r+s}$`R+x| 9Ql+ UX=ڪ CSp"%2UᶋdaF@v5A {F+L.?ܔWaŪX^*-(~3ȆǷ@ɘ6zڏam+YM`ҙTP633yNYaZ2Ԑun\^gmKyZtt7si/f /l} i8c|%;F?Q讳1ScI&}1dӊV+B,?uG_N J#USҞ)Gt[*"V:/_Aeڝ0V.0N!>oa/[\ʯޝ.<7XVgi|_:ӭ.,rO XՆ$(NlfF8j0L [[ߝa?Mc! K«>{f|RȺ@vn%4~஽, 0!`€#p?r"8js)?sW7xn ^zϛ;pKloE3jl ɝBo  -.s9-RNuKs7`QsҾ >qă7jߌzx){f iv֒s&F,#›v%OY#3y0jXq;*p k3&,la_w`l$(ȵHW9>Ǡ#duQk`NMɘq ()TwG_M;s nڕqp)cR-VuT D^׾H-/`G[S܋ٞjAVg݋sȐd2 gtř60'`9%N>LBnZϿ5&'vpXby5ԕiY@Zg8 J%шPuI'YnA my4S8!gm4tCg{XP@i1ōK ?W&Vt,t%v86%4nbuRNJa:;a}I  Dի2=i]HAy!9CUnTR$2חowRdM\QWt*T=Aw!hXf˭]dh(5㓴I I4׭3 uS]TG i)!<7:Xʵ6~KfCR3aj]fq6 1jaбqf*l:wTKIJxp-T6 o-NHuVt;3.?MGs'z^&,y{ɜ1\[Ȃ;"589ѵuۮA5ux,73(No` hOE=c#}"n2a)DڔwݠN.Q=󆤱 n|cU% \0`NĠķ7IbQx`}E_p顭21TX@H6s_7YYO2F0+x'/MstC=AsBh㉡FT;GQ`rc.,|i,^W*MX2ٽ*nguP3KEuIߥMG;Tl:f^7h$w[+ME!hƤy {z^bNJh>Vhso0@$[{@]p? esh5Rɖ+7a:o0u_G Cu7l}E'=6tsl*GxOLQ/s % t>ѱaF0IQۅ ;K%ߺ?d<bP!&_L?1 Ű*g].Nk#Ȍϻ5@,`IG O(4z0kL ܔܾ0!Ȉ( `35hc{*6I*s>(EX|3,jc?kRk-Q.Ǭ^aXsj[{fz-Dq5l_ oG&)X:A~z ikA)>X";q MulfKlrCZ^4XԄO[B9&9Ę"r~*/ 埃 #Dp2R6-Yk+[vߒLt|K'va [~ lw]]^$ޔ/Slf$(q"R:"au˟B:³(F4X/ܐ׽32ν h.w "⼰dMBͅ^ X5Úz0vrS*>K.b@?SR0h0v 8',P~- ʦ)ɱq> ] תSX@Vr D[v9^㝺g8N8hFltd%acxཔzh88]х!D"lWm>۔U4\\2*bNݑd:p6 WU;lrEC&,cD,W)RʐㆱF+ ًDŲ}4;-i@X6 |D-lfJ ʩMR*xM'X!g-u&RCOl!Ϣ#9Q$N yr %ewZ>#kLw;LA~$6`x0rA[ >[+ml+>(]7S"Hy.Qٻ'CFmŢ ~> ̐QLCOf: O=@4b9N (ERm͟!60?l^?V #&&‰`Mzp茝 TڌA[nk(0P6_.xTFR5JJ[9gYP ]иl10/R؝=e]8nms[)+:K\7E/fK˺ۇRl 9Lj{T "85PZ5Li{_z^Q< EhT0ۀw5S]w CRae_Aeu3f(쟋rz {_;bߊ1%PMT|FNB}bʛ.OQfGm]^]zL@c$S1HYni~)ݙ@ox\@jU(.eyAp ,QeI ޙ?5֚8c!ZB3ܑg,NP!Z*cr $3x/OTfIJ0~z߫[rV9 _sm&IEUlnCaݠeZR/R_IYN9gϋЅB[uC,eWd_բOG].xA)*B:qRd{s| V"dAÀ 8)N0 >J8~򸲊,e~M _C"hN:/{<}/X#ƾ]wpX ˶p*@knR&^v'Q=O%̯i(%=k1{_qeD>tMc36{{>s~&q 4cn|g-\e2:+W:ExWdrnh#?zܦdx9'I6BWl$42Bx"ıߵIbϢ]|_&ձnQ p"XЌFIx.onr L,5g40ӘOr~vn{X_GyR{5^oqx z&*E](qj nt1:lw`lA1Rlv"CQYl3gD6_ruƄpdl{vgMe;[ @?x*H-7Y{Iyqiׂ<s[T.>[_ u{GPȔozۍ.c@-Ц+TU&SoVq+,wUl\.ct^cX~Mݯ/ MRpuJ Ee@5S!uԻ h)P܀}SͦWX.Hփnw QYR bc$YUOZ<* T 1/6Ͻv{pɹA4' 'V (n-tjƃ|ʇy@8` y宏SdOB g"!%/ }[1}S"Maj\A|eSib*x%(-z4;E,gv(h:ҡ` HjPMkܢ3v~,R.% T97? Lt_b< ^?gr銱R 'd;ǴR?KZbx a5wsxXSCrQ17CY1?ESXh6+עTRƏ! 1pOT]:쑡'hԹ^mʫ9S/-vM:S~`7"?.WǍ`v_s4[H`BD납q㧍!L3A\zmN,/dT})h )r9 |{%O}a.jyqkws1zI'gqed1+6urd{4/\IQ%r~' {~M;.8)JE2DOR6~l|F.~@aV20g^RZmE=AaA%s%-S͠a`o,{"W#3LuVws.`F *]]ieER2Rh;_p $QF9A`}F@ZMٳ٥o*0.zM&!Ru31c$%C޽.Atba @wl}Wu !9Kz/{;ŅlcQv  4]OqCe I[p#86]TsQ_ri."?:fy<^nCB ?=eSd" b2(b(P+=9,,fՊjc9W~OI<.Ug'7m(p1ĵ`E/L E:gi:VSx(7~ tRgڴafTo>";8;uuG.L<Ƞս8mT0Pr+)'bE]rJ?Xo1 $(2 XP)MDja,TYo*):nnhw;xΞI uzvrvۏLSƦjxFۓpqdc aRJؼ?eb`WES|RvH37Ò(lv%eY™V=?6[WUw*M<׍x009Cֵ dyy ۷pgQS ٺ:Xޕ>5wNpr_jAf&3UĀy뱿Ȫ6B&mE\pz}OEaQCLw;}Nf4w!Km t J_R(k;DlUA6a .Y<Gn[T G*3 BlmňBPso8hSh-0>p`vԊ+ud|)ql5H2$>K?h̏n)}};'3˖Ҝ8aEr6`o4=^opHvAmFЧ깶jwuھ;&5ȎXB;;#0tm_q3iעWӖ'0J`cv5`3-뉢$#Vƞ߭Ӽ!_>Åd4Gwp5H)WM}U5Dy{톸DoV(94*q*T̼,U+ާ /gC鷝LUYɐ(`hl :}p?3tFF>mUO8=5=E7wG)H*~+ y/.M$s*1/aft7Fp C<$OѬ*[?TImB߬[-҃U[>A4cܤe,É1yL6:nlv^8-2ҷ:k\Uv{xNŊY-c +༺lESd ʋ:-ۺ4Уk%wXP(s*z [{Κv}ost$ֈpri e{!z[zksp#_tO_@Z='n<;3%&|!=suװy7j~˪LqZ*J>6X8 nXRM5?5jH"mM3C&8j _-HMWSw+p(($wa;1 wٖ|r(FIwT8cCoI$6,@bkg ^z^kr ʈBY?_s}QJݥ82e'\jkM3Wh Y GPFTuANT.[tfmѠ+qfQS;Ոq\dmbtћ95|7EUja# 4,t 01̄wӕ %*Z9GLEߪE'm>:> Y[m@d2oQVq t̬vوAwº:AѾAANIě/qddVL[0vYSOwTRo;AF94SD晚*S$^"Sa{[CN?%+7 A}&]ćo{{ef#9{54չݣ7(/%gREP|Bu+9 ztP\B .'be@^>(˲ݥ (WmD1B;q!]FhpHQluIqp&|Iq5Ab.3j\(J’ \ÓčdNM}&'(c14l=}I2TSEn86ۑN*@JvSqK;u_ QU [ ŵ2_hF`Ye釵wlBS5wQIb`' TGv״K[y5T2%3nXn.m+=::):}6$?X 4MzYL*ȟd8GkQdvGQ{.Ѣ=5(n>H6T*dPTq -h-i'ݢ̇`24u& LM1E} ؝] ^>uWOR6]L˲Z49=EM8{g0G@QA fVi4Zs.&r\H\JVƤ(Z7xkL=kfϵ9d>U@!9wJS]fV`lLhRP%QX3U5*4= dǢaսm!y s0 _ؗ[cEȜ^VWkk;>/7Ή4N|axL6ŧ& ¿A%T7c+QTԫ0d{fy腥jD1N]|^\;VӢ:uKPvc#_Z&)z%w1fyߛGVky^ٶ)i {,1Vq̬ÉWM+-v9R`E95_E~KG JXp488? QƶEcdN2(b@| A_ϴ^Y2~rt;t:wsM`Ų[$yv& وRce*z}g@AhىM'uٯ z .+B:!df#J&9@?^!H~6BQ\ci.&H}ht jRzϊKX|_,B_Rtvda QN˝'f͚xI)T/~BO]r4]~|R·嘩'ݿ/G(y5 q]g,q*sU3Ѥ21I*WXh%ټ1b=R<e$I7|g<P8>3(E6}ZlcgINRX.d.)0&)`w_}{ॗRYMaC,Ycg֘CWc. k[Y+)=eoS$x ǀk_IE)_\kBSC#}o^!lQ=K=>]7̽鼈YjZDVs- Ru5 5+0?Յdv=Ea҉W<,UC{@~kB)v`.hlw`>B_6&F>ڛՇFˣyйVcWmAL/_ps%VߞOc )K:E/hbygܡ?QaH<|kUm/A`~=bNy)\WpTa[cgĸ^Ҩ?{伦JTٵ'xuTFu߹eRl'O OϽ L'eV)oJJ \ )c/Pbgxp"$:y?G)x{q5›L O# 35%dSX4ʢ;>xIf1PĭyQF a0ݦ#Uhn~bſzU\W9U#@ :jѻ^Up&ħ1[MZ`+!PoCZ \mW kH,!R+1c1JC3 7{$;AòR( tLڒƣm 1T {L8"&⟣,ekN-6U ]75ɨILCta {-"a 5{XAcElVp.rRMfX^f^ž).m% qq{v}-fېbV;H5Bq>ޑPWRwSlwޥ® C(`S>/rFQ f(*j7,VdODVWYyٱؼ-M(ξPD%0,č"\ϱn֍ۑ97Ђϵ!+2@ׯh: ig<OՄ2+RͧA.+>8 d- \Pp-ȗOGc15]3h)蒬ח,$ mAIgn6ܺ\V}Dգ<=So#/~=IkAVdjGUJAj;_ASg7~Q!&_w/ZLlm= P']^ v+w}CdHEp=m+}ݢ#SC _vfKRL$1/- o:ZZI[+W+3Cc3 h,E0Gk\G;+J(+el-j1<Ϩ.:hXvK< ~V74Zc`~'ׯWAe˳R-.ֆ<l'Y1Wr~ӯ* ~xswAHYWNr_QY\l6ǭA#& ?A [k>,V=?``3gNC=+(oOuP9(j2ӈ*P}Y@B4X-y9bbTxssX2Jem?#HϖtD>H RgY6Ӵc )QPd7y}EًC=?)=M`8 F\;ݑ X$U>ِ֫kTzO"+X.WvD]T>̠u g2.ݳIWk7ǎ_~h}pJNaK7uMxOIS,& #= @j"8(EKaeqCލ5_{.ѩlYBIot=w"t TNY&OFF r5!Ȁ8J2IѰ>P07Wg*AHbv#DÌc %Ū-&[L)B Z?[>KGyat İ3϶ϧu-*Q}Ob WgA <=fBoh7\V9nZeuAq4tfMSwE.Q` 'g11ēyXD$)J:oɊEm?{b`}ٞJDy9u*IP<<}ijEa6V=B|_c(}JCXmsq :0B(+2x"U۫lQ.SH ͔.?48ai,ϫ?Bp8"=)e$gXt'Pu`>p^-zH)s5eq-Y`^mGCg VK$`~NT^k3^kH o6BXDi eq֛'6\^U[H/qi$m*i bP]?c\|C\&S }sTƸ$& FOβZ_8ݣ3jI^5gX|@~_%ᣘ܎ AJᄍS c3PW;bfXr>V'IVme,Ѡ Wo^l!0wNTdʗDkk'Ej̝&rGMp_-O; P?I5ܫE- ^oVqXE.U,$pO֪Tk?ӞfnMk PEgV>C*w&J Zt]ɘɐep ?#oSCϖ8ΚXza]LZ^%G[Ni-O:6zYTo Єhy0rf3c7jbV)6tE%+ΥwˢT[H/NT9j&vJ:qJU]]V^+Q++ n}*^۠:DMGc3ٶz.s"K8-**ڑ>n6N-邁w@k]sE%i1q r01elMlt"[QhZ`*ssYO`g?RbXA{Ѡ{ƕAf;?'2 )zo RfO/FPsԋBOW A1*-rpW֑mdrpȂcQMcx)#Ig6JjΑ5}k]J*CH"o>s`K;F_z `GUt듁-mhv[hn_QxNEb}ZkV43?qoj+44m e IǙT'e|Ԗ#~樍բD.&3ۇϹs&VN PDf7|jk?9$SIS!<8V8O ,_Rd w:(ըgSLqWB&̯"81II:"fšp1ԇMoȪ}se^5tOsDʘ!/j}ځNhOew&%J8#̜sǰJ w$(LHΈEaNQ+ $Cj1G ˼Zuo:`XfX+z].ă<^>*s?{EyQB4ȡ, zXt3xF5zLh`o}r)[nyyda|ErGבh$7]獻ZyK] gأzϡA4r_.AeLfX} , ?1!K xȗ'<#"XIj[/G}D_ a|EhhOzxQ޴gE`g,q{kI1> ӛc|zxgEI?f~n bId=%q3y!n$dijJ%9b ku fXz_ ѝus׺חϚDJJ %kSB*gàk .',A^t}Ҫ{K `$9 G g1Wɠ܁cv f{-0rVةͻ_ICwrK a"$d-r#.^_-*gDpnr q,5jݒ/P$kߏ~T ˰&us euK~6kv)F 5i%`mvA?"q՜]pA#۷@͠e-[g٩>T(mN<RG#oop ޽1{Xa6C6*~+(J"rw?RRp"vmc4{T+ޭ13öµ =1HZTjG?;"Fl]p'bTu3\3عuc WƂȓ}g1i=~ 2NTN+uBom!9P,eaCV21Sຬ5HV !8lir w 8P~!񙝼D֨(4ؾD\ @'-SJ-4(0A{z:/qs!)nC *?dyOr?]vqǘ$>̭U涉Bf΃mtUT]s@mqu jcSb,ݵ<{r`St"->saUSh_&a-AAH+;v C3]ř*Oa(jxnApjR96sAU\MUȟn0۾9zgDhRbMAb6r?'YH/6]Tz b}ETfS: {H4im`jFQ$4Vk\DE'o ǽUc}#QeKl/X7\OֺHC9taՇoe *GU5qY}|;6NRLg9$aU]̦UKf4.Nb"AD΂>S[a!}/\)R@ȿAO6إ"{"7Sӣ4V"*jZ,0zR5=_e_~*(gi8ݴvC\aaA[2ߘ$ m T3 iWܙweQA7-t(qnĜwlk8 O E#>n%f [g ^J b׳'D43Ks1w3;ܧO^[ӕrq2N .,\bmpJ>gW}DJ8L"3Y0o_ꭖVyʏB) cU!j]f!r(E]KE{W, 0KBRPzEi:Wy'Wn7(c._hj`y*+=^_\>`YN)0𩁁k + FLT87r%Q뤜Il[@lAu^ғh]:ehD7q$vfl`2k/7l,Bͅ+zc-pFY%pݮϓM^yG %mWJܡ/ YCYTa&OuʱHgZ4ԪHTm-ųdg~EdZ#Wvޥ, UzEŭzH K.=-JTOXzylRT,c'zo2AhRgJn#DZnO!cHW?ft*v_PiY0w25 (q*Q6Ɓ\4|f Ym$D2*scFlz@ {Yu(ҿ(]](Gk@38=Z;x#>|iZ!>tCji"kSl0-?CmѐI.ӥ?t t\hEߞ1.(qkDi@B$~$q}՚3%V 8%hJ&dhVB%uָ&dق^sn, (KȻS&y0˄nʳt d8ay00VaԲFh9L ˨C/,"y}4=:U6ė2=qhxo8gh($hGffa ld3-l_6LL2̏h=}%H.~dpU>v0T"e2u|XY!e~NcV BfoRURD-AH8XP`r,A,I&ﱅҀIbӪa\y8cKDZ*D+XiC8TYG)MÝ%XV A?2I)Y=t?-"5!V`MYxX:A޻3J3hNGV24$#t #,I7{I;h$I Ѡ${"O@OB\GYyh\Hs:#ʈ-x%-[ek[:獫(Cr]/ F+dawM7(x믭:;31Twt F8H(E=bO$Wf56?=e]Sp[gi^{l"LAurkE0j3\J)sNIP:Ю9,`iT9 w),euvl1玾3aS\z1$bX #)&l|{Žzgz,-i7=3#vJtVUSa{c}ՎкkʢAjlZ}D:i͟}m1,t=t%ekmȰ4^rػ"Bg4sϋ2; 3)l*KQp/S1cEW^8Rߌ[B{sjg+_Ml'!=ReAs!/ӏ (V03@)ƅUN䋵*5C))>DRY8: $P >;ĕwE2g6mUZHKZ=nk@jJSbSȓwpQ]ᚄ3^\' CL,8גu?ўk{ py[6XP\2-tCK R FqmAH:bsW%|O,F|I*JFf:[yx韜 j G`Iޞ6l飅pXQH +&Nby(c\xcCf=6^.:2Co㘒^XH3SAD 9gx@ TaR į4=~]5YIS\Jp 嗆LKx@hi3 $Ama|5(xH(|LQ <) V~㵦 ȩtܷg7qdjMt&}`؅70R4OPlm;W|OK7 |ȅR&Ȳ{H&[oF>fo JG=,Ckf81z HdU\WU_=x}PŘǬ0f X9w#33V2X^P%wojr˽pNaB_ߐ=(VVX4gv=a04 _,б*JV&p H ~i9I[n;LJmw)FZniNeyy5! u>Ap8EL@֒XN6%(,%`qeЈDіt$YsQDԭ 8l) b̸nSS$q]әT*Ңmc #L Kdv/SZD4U錧9Q7Ti,N[l-Y.Ϳ?M hٷìAN0,]r;aųu^s0)EdI% VtT|;|EZmI?سi~5_: @NR+kI|T-LzhQrRܣ!AGÖ0!i:!-1I@ySxdR핢%B@1'I%bW@C0 ZXEٞO,G>0>_dwY"\v\YcQu>[>r냀JR醨/-b6bXלSV<>( uO C>(@qNIҽoO͓YDԩU\W C~||4@<] DdܦDmu4?aO,5CtLn2S/˜+'XRyhDF)2seԤ R.7 ):t9*f),-_"vˎy+nVD-,_+J~h/6;Ĝ^R]_,&jPA Ztm>1 ݫ}·じkTAmbZ 3eDV1 (@rBZ= oOs;ί>qxANPõ/AjncIj !kW17>Dyb2Wܿyͩ:kܮE,H n i2h0Z=.]X"#)Yv+R᭾#ϩMNbέOk,L4`Y'>)̢MW"=H#<0eN@r=I7s,mѸ/o߽ R:YY!SD!<֞޹L~L:6Fu#:OoÒwope@Be%O8ELŸRQ҄׵uw7IHsǪwIXF$S׆tL- A2u=#!\% @ppЧ6i\,söf?)Qj.tIW?S5sF=0jXZè\! :}NT6SMz뎙j7x&? XJ[1 *ZpKuA?5:={esxM s6"G`j 䵧[M]`ʶ &GzxZ>01^{B#;}kR"9>Q9#6&íCz\FM.Β*衫~VCƔg?mTø 7*ݣ@ᴳhhH P$ߢ:\{gw+Bwý\;vEH6/I!zlH!7f'oi/vcBd -3T~%3v[Άm{5{7yiP$g9D OܶGK+,GNX٧}/)B.Kph 캅DC\}^m}oMOO5&ь>~pNU[U|SrU 5"@g2d: RH"O核*W=74}uD/JƤ*qIV`Gs^CZ5}6_YWP9>BsUg'K ⷡӬ0dq3T-VKRIM xNB#Va"?]diez!sf7 do܂yp}*7#*Y'\بKC\1>"xB@tC`Q"LJ㲍<b/mx׶)6]RT@aM!8j#mDSgs5T*%-ƙV%1C0q&}1=-SfKP;~؏vg1wnn;Kq0p_gS#4- g~h҄:Nچd( o!GUaSYy-4Fb?jOy0s`G_PP\˦Z\J7&hmT<|(KFN׾fyd^w5^%UxSz̛Se{ghxs9j=D='ܺݐB h8%7FڗzQWVkd]p:# l#;#^Y3㥤P8H^ZD7geP/= eSTHI5*~P eͭSF>!$= ഝ)'8n\,sC-_Ar>|/`f4t.VDa/%\ m؟6*J=7f2+hYR&o Exܓkhq Q~;WW?B3ku Mkq1Jr5HLi&"\؁@y Vakw'o\=!V}.Y |M0HK@$yghNK~X)ta/{q?՛ a_l`oo@O:{fטmZ\^3Hm8WŦ:=0{Nj{W ֘ܶ={u.'Z8o[l0E /V9cE䜁 q}T!͗]I\C lq3r9ܯzr#}nM4h^*214Fy1~*L{L_|Uye'4-_\={`#cThAg)(Gx /3-Nw *PB?Azx<σ}OZ O.K{8ejڄs" Mzض']bǹ@*\sp"-e Hc>ș_>ɀrsM8Z2 !aTрlXיmg %4nA0[:m5+dAI}L+p6/PޟyH`9 j؊۸?F)-+|F_P w ̘u7\ո~xIP.4]B+99vbO8E9YbuXr~h=_Eш½rhQ|J8 ֤&3䅔a.TTQ qBA¡;?r/Vx"xD'7$@k 氙" fʞB<|D <.F+ZAѮ5nxTvFˁOE&h{q#JFi>| П(E"mgѰ W.mjVpN\y?\TkA D+ (AK?D< RD>Œ+zɉQ=R 1>؝ܚ$Mai Sxց" (4b2S\Uyn~th7R)ArolAAQO<>tu{+mZ}&i눮Y莫~\X\/ar5@~M{L:!NkCMݢCQgJYqGy5xVYf'AXܒ6QIf;U--9]'Fzdy7:P `e;SL|:9|y6{%+=<-YC#$ͶnBngdzyqO-T 4 { H-T|w>rn鄎+k Lfpo';͡u^DԢeX*[ Argyt EvHާs) g1mV~Tpcbs`Ni{%m^-D63Ӯl_O}J7LRƴg=eۯ|h?ڐ&Vk>M Go' 6U-m~}\]ː`B2˹~QVY0*W&9%~"+Os*n}Bm4^wDGj ixS5h-^U8c.rR:(e)&2c#II Q!xԭO$b6o*EV 3GW c!K detj0 hVc4̇+u5arʉHyע\.FTN%'%iӇ1AXthhnS$Vvz#:|6 {1dpo>J~xhpuYD5A9IPf/lB~8uT WyE*b%rHb%CaZGw-<^_ ':X2p0k duT&DDz}~]YQТ[q< *sEV*s${W)41 ep^s=3[~^nLNʳE:zh!|=GR)a>yF64(a"QG宷G]$Pӡ(,+dulZ\`3$:.չqy X֠WEEƖ7&]geo"2m H(a l)<AH^u@ygl|8҆m!REV B0Yv{62pXR&ZZQc*#ƪA<1%HFA !MT]C7+. 1ՙoMREJE߁%FݠSXqOɢ ~eԳ\Іב }C䇮|gp]֦RW+M jx؛MVa^@QwcIl{ʨ) vXKK=xsqB%}2=!t5'@XrQRzռ)_ ',`hnb#xỉ}wY<(u7AV%$Ȳd!DȺUB8|ɹi @VXi`gK}o~' ?)RcagTJm{°?DZU%jΕ*{̽7N!CphrzK]fţ,T8[^C!53RthǼ hB 0p"i5![%_$hJدd*E~PuiW0vu(:Oj!RB1yϝ}ܡV;=Q6S7%?^\j_da,$H+}p (w4NxKTRKqaSV_a#z<4U(^{x3U,#L"u,&W;h};Nm .K8_fUI$MuLPX~=/q^@mu&&zܮ9ͣˆcu0y꿴+: 2xJdtt*Yu]k8 >p_EJH(ie2meN7n9uR`H'ΩݺK3tY,5p1Gܱ9'Szb%=C!V۵,t%-|xI#p@ /tIn[X$@+tuD==(M-o2ݣc&Nyۥ+“zy%Rn*P3SM^/+D*dLF8KUO3HXJ|AJw//k=Sn w_&jPM$@V›2BRB$x_3[(!`LARP4R?+ܥrJex-]7]񗥾@]نA.*ͫ+A1麶+ Ly?%&}˷Df]Z8a.fدËUNxoѿ 4QCVGntX]'A5b~iɌicGS/c9h\B ~R`M >g6'S3@給rBQ̝YŮ+khK[}{nӈ5氍9L`9gLG}ĩ F;]L{( Ȥm@aA;ڡX^-o7lc8Mm-X܁Bը *B_(oŝ󾺛1 kzGZvmcPzd=Q%_ۣ:06菟BHnj&N򥭱r!@y5@;QἧAw Uns<áuBο&b;r[URRlAvD!*/{Ȥ~ה<2mǷ)=` d˝k>Ph&"X0% p KNQX|m<2bʤ [`Ghv? jk\}Z0 0k@}?sbz9zWXōцd3wUtxRzA-D.'XPW[[Ą(iE!>rVl'h_ b$E⥸ IY.}}c_%t|EBQRB7ʡܨJ})cF?z١?XU{Cr-yRݶ4 ڤ[yD"`X*67iخrWL 1YSP 1]lMfd:wlMG'fـP\ORq+< z99ҋoݯсg{'O5r2O+{}=s kf\=:؟0 8/*}~Ee-պofɥJc[.MK3S QӓRa**O'% }*/ReiIU_+Z F8`5 Q[.)vg~ŢV~w՛qOnIx::;=N@p}7?+͊ERũHoJN\g0 䇑+AE&:kS[OPnL`p ضAI&`Q12M& .^E z28|z 4k JBհLAŃl5ZP@׷͝ŭ_h|'XAJM~i#!;Z3n}EpK-~:bh%FخJ.:Wyt{' WS^Az?xoS"eϤF0ɖA 0+Z|WqdG^G(*6ka\amҤ_'b0[,88;].7'sE*i'u`}Bƀ͛;=_n=ޞӯ:U߅[ $0r_ ibMaX`(um.%)>ًN=Z/хvlHE=ٗ|@JS;?" ꣾM0b0?>9u(Nk& lN py .J[! u7,`C8Eir ZΚL}1Tuwv\(8g%{ߚY{wX $95gy;nr6)WhL|JWrwAydڍ Wr]WCѮg1/~l$gN۴՚sy[VA6 <ΉƊ>yBn кn76.w86CH8kcj|-+=e y(Vs1\aE^ĵn{IUs)HNҴʢ) 3\g,\pklo}bf1hd >\p*!<p-rdYǥuJs5="ȆL@iN P̡_O BT:[yxF%M y} .~?eArk 3%YIb 5m < z 5^žfJ؉yiO,FM~_*&V$zM[ +g,3~zcSɓ?4˜;$ް!*Fӭm|Yx2̠榴$HqMTcXtW~IUwKp &XЋ]/W ~wfCov`Ih//2ai F~x2&u=#4Q#;+?>\#SfZ TllC6h=PbK^y !3W2dI"ֹ6Qw)#6^i̬l;--ͷ /f8t+ۀFX]IdP[GH"$OKEb?p/sA#Т;BȳvS*Q{Ƿ^AZ\}i'(*n~p]b h6`jYydKS&:n/m^3ggpS 3eRS<* x-Sh#^HO5(Kw%◂tHJ/Ռ!7T;(RqalHeQ2ex&<b+4=FY&Zplupr4W Y^Sp؝/; &R%#C*R8N~#zcSn#v>*t3:IX)Յ@'%Gtwng0,zStvܒG\YfTg^(rY21[ aj',C7"d|~c* xi'o&XKͩ˪3. D oNk0phuхߋZ7Rd*lY9XnIN7\dF#jp@)ā gʕVې /CD+8Y ^볂m7 |мnX~VvMY A$f>"'d=Xχr.0{7q(~pdlS= Z4?ٞƬΐ<,Rpu|#vA֧{"UPO"+THk ^A3ma2W,4ZKy ֯UXqQ"]KvS#<ǔ2}ɚ=8+le09f˻k;L# #+, Os+!-, XoYIkZzz)Efd4ա[+9oj\!Ak˽l=1F.o(czY4@Z 0+uQy{eP {ǟZ*Ǡ^ Y:A%K|w/V:֩3J{a:y1R X-nMwko001al˘8\T7S}x.+AZ^uV cmNNw] ˎolS9NHVs,T l0'7_B,A]q/ q/"ܡE7J4•V|> C~WgQ AO]EA{*lIgPD "e]lTrAm@7 o[cvO|cTEVomBb]K$c,ltsxyyYc_!9(AX$%Q]&Wkc=wR3MM3;m%r+N dL!(9 oR{玷@sC [ݜ9U%2󧍲Jf<`;yo3!@e.#"A0^GD u9 +NzFK{VA%%PQq),?B3aG=`B@78ՉC6sEЮeTd+N-~9'c59ǽLJ!ohkT9R6!vȳ`΂0o2g VdNribئq,@Ϡ&FǟSǟy42(R(Lwf3&I@zDn'}[ƻ&&(\fY(3V]Kz[`&!$],, Qo3w3EB:|iQ])~Ҷpd҇낈YP_S"U486p-5,I`2za?&^Vi+Ud@ Q@v\ت( 8FI޻;~ፔH}aQNkVtPN m\/ ;|uS:v$ZJlJ5eӜNGn"| qR53W؀V5m=O[$Jy/.Fo2t;fSVHz94NR& Y<_PɗphSg& Pk,.+X.0ٓ%%Ġ%~ʬj>&V9þZDL@'rk+zxdڵ[nz)}||O5@ Ƶ0Gt{1iM (NԴz+aqk٦.sÅ&ƶ[A4Q l0M"M}yQijca)[7~3|̖uA34jx.?Xpzz(ݰ`?%g8[ȐnOqD ~î-[ $I?E;[n0α:K*xY ptǰyꊞ㛺"5רbET•U"89lmqxSӕey~7r qh:GQ,d.ȣE V|B{LS87Yƴ/#qLtU6^) p?0 Ǽ2 ֍^7]uqYE( DbVpmV@Y}Cz6hyQ[G#bi'y}GKcpɫw5-F4=CULw8/,wyޙ`ICgk=AfC52x8{DǓZwP#ov=T#Lޅu)9$1Wf.R3ClN4:恏&s'/ pf0]5͊)XFdwe<f`UB͚ǤGxD.xa}1!or]H.\#zN+e:N ~QJ?5,X-H̍Wd6Q_\L2>~Y: > $2n_{',{Eh>pɧi傑<m uD}@8.쥠QSjnŌŸF ?rqk߳ys]e.&Õ7j)%ջјۘImT@ ML {)^)ä~aV/?d@FRmY:}/#])Uг2xozHPE_/ . ﶸ_-IL*6P qF8X/1{ -{ xn#΋ &mwcIʲRȟOkvP2nH Fv?qzXTQƕ&霪F$kΰPݻ^]J|N`| }A' F#\H쏀#(x8p0"]im?B;g>m>_gu9@~oYTQ2̋XpɈeSVQYؑصv*c9fC *RYx94֨5?KlIC̺lγ*i`Sςuˣ#ŀ·Vɖq5pfׅ츘G9LM࠯VC"5,-P,5e'f9N ih48l`?#$Wld?jˉS K"oB |ڔd DLm+FD ,F!E`E<5N^+4,{+9>:[k\S\']jI/pqd20j4ԁ ;J-աO4hjs 0 (*cFMiwutL#-}+%k>{VC#075܃`(8V7K` PpBw{Qoo'ZJrwҷke L+e^2c:S߫7|^ ѡ 7>`ԽiQiG`Ļ'xDfu\MD,Ż2eENVݺW4óHM̷P ^68pݐ) 4V]#)pl5ϟ,^m|iǔ"$,GWm*DO.9Cˆҷ{-H7~X)޽ :?}w=Ts'ڼnaXsG(!$K. Ѷ=?%Yw @%-Ɯ=^"vX9VžU]gd/ԟEgk*oj] x>D 6A&?6-ԚpcP-5=yݒn2Zd'TVݡe [ '/!tEo%*s0WBmГ,}<?4R9!tIU?J7>+I5Anv+[,IJ ;6hFIblcEK&!b݃EdWuG%D4}lXU2OhlM^^w!08|@x, 5s>xjŻQafUWm;]o}+*NU*3W[QY~"vɔkEU390Jqܻҹ+ p{i% HdW&dh(:T2&]WѝC?sCng`ο{H0y,7Y+㈕u0ӛ&i0;IkEQsQ9.{+gqu lG}iΣdӾiU*=r@q#U =3T)M1٤K|J{^ -=\E> |%eLgvCx =k0x'5 PJ [Ѐ-Lq5Tg"^_i/W4g`E?@ D=_v+:eʒWlS4YvgՓ_u3m6zfHv$/y qrϛ7TG[n yeuhiG|ǧpc{kw?/ERcׄ~P2/scq']GLѰ|5=׍\XE.?b؅]"P0L:B`aۨ>J_}n+s &nwXw ?@ nZ~|Bua\DQg/8ʸQ_SMMy>)Erw-@- Fu^7R2) ՑPCd:bJDcn#@$$/ʼ8%^Z0 M'cѫLOU$ȐhؿyCPA_—*)ʿUQv^S]ɢ^!ICnDkjNž?x/c4mBt( y&?SQ#ۙM;Y/‰7?M*3Iֶ0,UHTًJ3=AuF! {EL&/WbfְbɈ00`]u%+rK `csm#_ ӂ(r^+@hv&n Rװ7?-i ?/]r*vF;[82[/zڮټ>T]l&p:^Fw6I|:f^ %ʍ#QZ;&cN7Gc˷7BPٮ3rJxZrX,YCwD0*I@t[Jl<]֚ayV6h*˙ ,+$xHOPzwlj8xqof4A$|ܣR$%ihS$e 11 AD 4$@n;X̻\ :n, ,ڭqꛫЫ4(D-?VT[i\$|:xf_Iv\ w$y"1ȝGj1,|l5=xx4jJaN*D/٤#Z άc^eMMT 髢~y',3[GSr"?a!NIxcگy\.v ?g3oB?%&i$`Ѐ".Mz^+dcqY&T2~ O5Febú: CAs%3o} s"=r1;q ByYn ?],~d[" Z'e2bwhτɝEN)?mTeWe\ފB[s-О*tA< + ܟXQaL=Dnɛ [L#h:Ժ0~qJ b,:ar]Dq ^T{VU'k.AW$[GL$c!;T/ X 2mmTXxWm< UUjkA(}H!]Q+􋕚Xyv/_uEzXޗʨ%KNP1ZGqi?45h(Hs>,+ö67Jq>#X'MIXƵ:KQNTuRMUΌ󦮰(VF`,){4 {NT`Y-F]6{Ȥ:hDQoS]tAsbh~ K%{Kz{q\OD&>>dn[x&~Ybe /&^:o-Rf)dRR[bX~um@Tb$[f1ϣYy{Ѕ&TF-qȬ3)QJ'SoI2ihW*HvIx(-]Rea.ibFiJCsd}.Foܻۤ#INr Is OZfr8 U/KU%u CiKfy냼89bVzGpUgS%+ARIzU NNBT{'Zi'J`Иq_="Dnf'XŨwAtQl*;tŌ>V$htF" "nxT?&2Iv/h)hgI =JpftJc c{Myq`1` Elؓ{n]웺S :,\4> II| խ!7]E<ȿ`l}/@x6"rOq Ha\ f*. 8irI<ĴkfBiٵih ]ZSWGpaYJ#˶؎qMP׫FS{GΆS졡r(FˏuQ!,Mō9n9&?=LT" -q>LU˰惝cr aY9~'b&ꓔ&Y+{ Ehibޒ7$vR_= ?D5P֨mb+ƵO줌3Y۫Sر֨m5cH|A>nWҪHkԾ: d͏uᴕ2s=0sJf8؞G>h>L$9j@1ħX(5!dϳp=\zu<_ &J< Seuœ/ Յ= zôEb+NEPP4=| `ܜO~G2gP#/L 2 ,Qw@v@[Y3:{9s0l ٪~D,,Tz3PlO} Oai|ԭR^z|+~##uZX1cQoƘ>@g1a չ(ϣUsk:oAl @:B B8d-уᮇ(=KV ky{lU-jC9Py[7f^ԡ )e!!pSrSmd6|N^2{Chyig<[4%rksD_H=<׍EWe:uN]%J3qs̛7y*큑 V+w,ƶj&9Wz = t-gt8PFxN7#G9GkwJvɏRMČE666|c3T9Պޒm Ί)cR1D?,,8*>b,jv~brn~2I-HxFLl߾y7ohm$[ea\g[՜n\<~{a]?uf[Sk  6RZĂe٨U\3y> Qf(݂0(2xt~Ղ},`jlw=oA-t_͚v պ`WSយۏV&'-6%"I|Eogl~z(_qM2cqϕH1&Y=DkPZUBfy+\Wb0R\ ):JJĿ43O*$j%}w!ވNI\!X`*eZaJzP1"5s-Ùx->I>vV&o "xEt~*4}783iZ- *yIH(5)17xdS0ʑn0|IC|mF˴Ph_f"L_Q1+Sl>=2sTu-i+oCYH/,t% \;qI͕rl\ax#KHFP/s(уVkJK5dKĎ3w+w/2fb*Dn}e*9;I:{!)ux{UU ^hf\f4+h^>~mn\Vnu-]Ut,Yx%',!gY7c!˰6[,`&Udc2.A 9q`{:@FG{, 5K;:&? !d^ρd:+f sNq;hiŷ. j.ov@! hI<qbRXϚVKYkڰ#ƛ@c (b8QA%Pko1}YRd SS=$;X,lh:ۿ@<|~lݣ!YAXgɷ:A~2`9o&Mc&/vGuhoNNl3şIй8n-a`.(OK(J0ξ PãI(r$jF䝔aws]*\m R?-CW~jBYⲴ*lL۴d@(ß?R" d  7 :gA &&TO($K}Е(.n r?sQX uK)aXEZ~{KR2ԟ/a&[:b )Cj\,˺=#y4 ~ܷ#K =|X}8 _m( -hBRW`kd]mOkSO 4FL{A94ppuH7RFPᆪuX|_B_"_/6 / tӐ[m] iTogˉC7bŲZlϝ᡻T*&p/jOz׷# !{I1<}Q_붊ݫ$tb}.50M(x Me14o(ǻ+p{tHmR1_RYvVy ĎOg>IWHXbo'sPP 'a\=$'r[dv`k}U5$TҘ"&5٦<=ma=y)?{[A; {CC972r 2œcHnǵEmi/{{sRN -aaM7 Qc^֎<A1oYr^DݙS I;WХ%gl-m1ryyo) 8bx5X6(F7֠{nߨLvlC6,^p$Ir":XV [Q\1&_gVc_2{h˓m6&>`'^hU׈kh1u˗8)s<Ȭ~45&05K[(UEq3_nDaݨxœ)yO3MY~"l3TKnJ6b)^H;h6[}Ji잶Ϲgu90ۙFX3)O]CcGWIC>f<<"#Bņtckj8gZw<&7\)UTu^yB(hi|ep[=("*IX؂60Ȅ\\ʭq۵wBѥR)9xRr7痜@1:g}G-gWrwD,( TH<ϑrvОIe޺@ʳ)}1&I!#Ey{x{e m0ZeM㷷{:ɐlcey/n]Gu>ѝlMQHj#Pvu3 F_@&ˬ2VA( YMJQJ,^n 0coolFk- *!V]q?/cV)נI3eIg`[ 8޸чr#\QpOl*"0jgX}r#Uy3_]~ 56fq]i@D>~}+>뢺V+UsC&p{*c`Z "&[kv\%QN>%HILD8u" !ī0n.JI9vT~u1A5˺d>s6ơky5Kqn,=r~gQqhADE̒}g]<3I؇46Eq8 L  x qA/DSv2IR^/I3pWZ"PDZ&o DR4k&H!2!T#wq]S/nXCڲ[ӄn!pd7d#ۂ0x$y5vVy*Ujv](TY_3ӂ:p {/!Mho]b}{u7ߗrCc|AIH {5^!:}V0RLɀt;ak~$?d3HSNoLA/wK:&&-MB΢E=U@DHRۦ(QOvD@W=;. @%y|+t7JϘ#}*Ejpfa9Mmўv4&PRN }" 1H"CUTRY/qd W>nPPʖvw Kݳ@^'~@U1m$er])r'rG@9Y5O[B/`|UFK Wȇ׆Z؉Hp*qo<8v"$y<;x&mv r*̡-3!LU1>m'w-\HO>9NSas/$ͼRO=0lCVr=kqIV`qO51_[*~Q# J:2s`hD9[5;EBj2H@zU'+P 8A6z7:sճBq]u(g {n1vK2#ަTZvB}h{WXBtq"<\^( ݓHo%d8":d~zm37ݢJmۥ>Z/~$9>FLo<ĆyM/O`C){SpNKA$Т*G[B%fWdzҍ?CK_B6 d#nh\\z#X$FmG;/u-v/U7;Zy~gwr K pBm \}IȎ6mS&_,.X8Gmו)^X,*<8^Ê?Չ'413d)8þU5 vXs`^yt> Ȱ|2I0TyWqv^j/k b煃!ϴH ;h=Z'))P |3t)Y a>#krK[gE.ytɧ? w|Ňsxy  B2H}j74äw̅`4y£t75-O-vg-3INƸ@&fHڞXZỉC{`r ݿ8 NX NBr9I~sȎ솳sy˝ˠ%Hcm&Ro06Loa1fhVQR-̓cy"x1<|xG>6rad3C+o,g$2_rĞz30*'C)l+%C4D!Ъ$0h>5"۽װ,'Fm\<_ #?gnH-f ʃ{ Zuz"׌1[ _Yj^=xAd(xP g>SlǕATΕl9[8|@p|~lcO&N)JTږ_$4,ѬS0*C24qA N'7X5q"UyO'u s,!jGN9Y%AX$[i|g> uw REQWͱ>n3R IqL[>/J0{#?Y#v:|l|-Z8Xn9Ё)4Hΐ janBs$SUb?wi7\#7K\[f1}p?FQ]CYSeB&T:Rp*qKcXF`AtG2DܣQFgɡzm?Jt0Xr3 #}N0@4ulJ0ehz 9Wy )X I6#%!#%̒:XHZKhp? <⣯HfϲU@aFͻ$&YU}z#6!^SoC`>􌃩%ZGD /&izWal`""&k $&̋ufb% = iY.3ز+( !~*wv_RuaVhES¾#{;h$0=y_8Z2]/E q0DU V~T1hEu|v Q=_vhDazTy>,GH:C9C35w)Twl`д:4 Lzꤸ^ GVY>=Ҫt"; 1jn`xFU!d{ƈ}n>ž}yؙP)ފd0-&>Xh-ry1VBmU@f~w=`csЙ{c@4(ƷpNC/|>y9+OE]6ӯ3mh`zO]h@ЊŸ$v]ҽ& +k[)c ?>E1gȇr8`sjz*`fD`jR7TVD ^]j)Pkņ$C 2n#a _s&S<78o'>EHGK]JA㊢7EsHVf|Ń#Lhd\!у!M.E +$L5;}:=Fb1Q'54 }+c gP *!ݎ@,/Kd _$pđ l;C8@{GѭEQdSi&W^_#Xk~Eh~aOQIsӈj)_nyM^Uٯj5*ϽA%AN)ȶZm4}S]$ѧ_GU; ϳ"߸ʂ ֺ,p˜# s9: 7s396;_к&Yqb ɠ>ՠ\LOEuȻa"`K d_s:QȂQ?٥8ǂvfֲHA_:==Aj_ȷ)ƫYg%`HKD;S(Jp%QFsI0J\h6%Oʌ5K d*z ~|^v?FHqm\z/&QʳZel+3~*3 ‘ùh8p0GUw;LewQ/We։uۓQ3;Ѹ wb˟\RJ>U׽fT8S?xGa}`?bQj7\G|…wn[䠚V4CT/wوB8<(Ѽo)r "m_oA@CNcOۮ&d!ߝa4)!bEوazC()zmg\j[捗$Zjzg:#{r'>J2DћFߘlB 6fTʒ31XG46Hcڜh %M+7)!!ar} um}{6#tΌc<MHhte7F;UgܸWy@X6}z]R >5tW]F0[B]E[+ |ɓ 0֢șW\&X3YQgh4gٰ $|I(wڸw FĤCXWѾ.SLpS GQe\Σ gF`;sX? AEʏXDJ} \jJ V zu3=9|?D&H0V{k%0:z!+k8lE͔{ RV!%Hy5,(+iS҆>|ȩ(Bnvf9s؁Y!*rJnnO=έϋKx'ʄܺg/eUEYP]K~pu{BdGV-K\zP9mhm9#,MK;Vl:3פ>un?mS%:ōιhx*]sTHcN0'+mԲAk3W<nA>%-?{+:XBM.]q,İWF*d3W|وxIሇw1RZz JPmP>J"r8 at NtZpew®êYƼ AׇN8wP&?s?a u4(XN|Ys'RYɳ+{!OU%BEpRwS9]D(rr٪xA鼝ce]̽h}_44d }_u|//+,m0!7ƒVm͜:ҡ0Q/FBjoDIN(i+YBfCV|ؤq(|#Cy^]uFB+DJU:m=nyISm]vz.RLQGDK|yG@Y/WZ$_qGKRZ$,ÒY$Ivkγ؏ޢ_`<rg'c* hdg:׹ɲJ]5#X.ײ_'e㎁e[y1{ m๸ )vIAlJGAkh{r $ Z cG<_y_{\G*MT~ m69]zO~̩Mߔh痷|#L p Lf<:hw Wym ?s|’9 eq uGzfYM+LMih| ~kSɑQk!и:w A_]L[oXI;\1WJ|]ʼn Md},ߍgaOd^ P[Bɇ_t)p$WG Τqd+ERLe)KCJS%VZ%d1Ҁ[8M!@/&B WOV} ^N ;eNPJ:l"vN1=ՠs&wOGIß9'WrpSWQq0V3a\r|V=#1W]#Zeɴ}NoP̍P}%ճѤYϺp\1CWz:V?+Xzq)rڀ w?Ϸ[nccEc% e.M~״(Gd=P] m۝6QNC l<]Qi{ed60ZߞI=dc[΢& Ԭ#[̲%f1+w]Q^Z}xsQ2~-$0kÝ̼SS-~CLSǚaw פՍIQe@w`KYs9PU$ zbvth8>\em%=Ģp84>PwmyX*ܑ_MaXD2+pnOߔ:yF tY4yE&Ge:[rޅ3|FCRknÁ'ن#>x(AkZDG-%(855-! F)̦q؈#k~AG8Um[0Lf#K$pGVr{Jt š;C."^}_kCB[7Rz?~+IWf ])JZ@H-jYAҗ2X9Ya~F(u`ؙ,Wj3i '?I8"DēcC?[,e\ȯ%zUt /U%FgwfSias#V@}&YdZO VZ}-/BhN*FhĞ&#F.]iLL#} 9-OJ9/rm9s4F3ZQDtcb) W~j vx+'ߏϷ6h{"W (>I(FoB 8&oe'(0^Lmc=̥߱fĘcjZl]t >B[\Z({?âAD*189Uh3ϻc:B'2wiEӥaCl흒=_ cBu,X^ڣZyX*+:qkº0A@.l 2>6iJ"grj1V<tG?XSÒBύ:cDxl'Kҏ!8fgSFjH Z^VeطM9"7Y9ؕ :m&h a2J9%wo=c )MPc$M5BQ2Ŷ@)WK[:jW"s%{Usb\u L:!4%#jǩLRO*-U0z7or#cpH[n , CbA|]R()>j(OnhdA=mj؁־ hޥ.p"w]YeE,c߳f!>.5ZB[ Yl[㲔k#?H}5ܐa@bn-|1Q=cXgr)epbZ!shwj1 }hDEl_1SFLp(vFpR&?64$"|P=D}ˡSWib7l!] D:([ؤ۱K}qq]䐠şIަxZorL_ d!>OL;c>H,xOwˢbGnK2ts4I޲5}]MLz>~y`kmFuWBByHY%_`qu[9ĭ [ jeIm=<s0$ DXx(PplVҸqΠXQ=mQ R0tS(X?Ұ' H [6~G)>64zq|HZ`0#X&=`v%ӧGbv %4/X&"5ǀɵ ^0֮ɸbu{%!8 9 -qmIA5᷇.>f3IS,:W/ZA'Ĩ+ٱi toMKN%"yUB8Rm]7w/}C!hMA#%/[0+ 2քJ2*T:Aʓ*D`&ç `g1U&NbSCtLxX /qfSKӧ;9LqdkrGv-A8'$|:6 {;7cE,):0UɝvK|{TNF[TXkF^ 0s qY0кl+jqD0I.T~u 0a+);W'ޢ ^;lo&%5^eD9!H5Ewטtc +dBs1 @R:_XO#Zz%<aH_2V4[.w\1f_`~7&\y!Ȟ!|SkinAV )]!v@?+eҎscd/UR7]N7|}:Yx)~^+S#i.o/dOً*c3<Ŷ$|69H>4Y(!lhkv:NdH-XFG"cIύW"Oe>hwq@ŠtYuBH#id xn}Z x QX=M9:)J%Ԁ~s'5Ȩn詴kwG@>w' wd;~2"SU3k: }{Z$Qoi vu N@3[}vfvVK:ʯj. [<&k[ejYNX#@2aZSϘN$4 HŅ{zJAo+ߺ%Vs/~1ag[NjaR^ןx!Lf/.4\p|͆C;z: T 4Uމz2Z/ofʑœf$N]U@-[Qk+6 ?*qtB:4F{-aw?M:)Q@08/'MV/xB.鸎l"`N:e؈¶xswԱ` Y Oy:ZsCe͒9N, x-I]oϮ.}5{seSJJG ֟^9P&1Z,6[FsfKO4b&?tʛsb3i }es01C q0=B{g ICR˕KڐHaSU4zo3㵯ua'62KHޢ5 a`u_͠!q0'nƍ813Vf0`?7=uK.wy| > hƇqGݯkNJe!0t^R#` 8YNiI6_IaniŎllGD{?BF&!{;;̽[\5)TPԅ'x y=, }#NarH[j.2# DG Aοm%ac'QmIMxNj0yL[|~K3Q -6r^OLe 3[Uj^Eŀ$HL,Pm#Ҙc i" MA]mɚdrKaYyVu۱paTI)rTlci[q$k #= F5WэN;GzA\j.1U͡?R&s^\g VA(K#6 ɨi70|\\\;`]}-xo^jnW؟Q­Lh$0dZ<‘D(; EEiGVӏ(Ka&℩'*x$CȠK}fL9:@rO(nqvN"Jsпiz#l<7k* Dgu|:sGiAΘJݪ ո_c&A`Úcc(_2aLH_*,Tz8LK틆ן@aTuo ʹE噥LҖV rర&_x ‰YVi^q =̹I}C7gY/ulYlpgc'\Ė]#zuQ7͈6e@6:D'ī{.x60-F`@>TZk<.+`^`ǘЈBlQ&.Sߏ÷z3pN_[&G 1f*\1{N3?GUAySHrVzH!B"%Hj;VJB/P&[M H%ZxLRBB5hgHG/z_T- ǒ2339y 3^ Jo<*mӓ-裿UA-\Hn@7$&T햮7k6}XڇpegqWFr>KmaUס4E>J9u/A 3-U"F\<} >}6L_Rq+Xɘ%GO9dĶ/sa+F`.'/ ~>^3,h;j +aР/pjMgrT!#b`>2JX3JovuA7eUC$CvT!o86!^#+EIİx-}6NԽ 鿉|~rZ}Mwb<7(+]@^x4$4x:Oѳސ& S}̭xvq _> Mb 4FҰטFM]r_Q~i ODzZF4 @/uE[D,Drevҹ8CmAӄiW(}۔ƫƞ'EFKeB5+Ep pŮ̊ev.`MbhX4I9,&N5M?\DX'<!$ۀ/~ڙStN4 y dѫ0~u蔵|ߨ=". P}ZT^^ݳNRS]cݟSx_ɳF,rS:|/_3OO sŠ'ģ6I-D sM#ݕ<H_Yqyy[]C8mhu-so/~qo%;5]=*VnaHDH 5 ;GhlI(,wm&/$k'}Ei@@D8* f{̅G9Cu>I yNVUBvn+3=0K'PflXJRH2kK` PL'cv˹6^ht/uxoFF?Lhoa2(6 T$J`_PT>B/feNV_mF=eM`sxo9k8`5xUHOES{#\W_"M$[|q_7e\7V IDvmEsK "RwjTJxQ /:U|$$,Flj+?ϔnX;nD5 =I,($ S<ֆ+W1.Uĩt~ mz!.@A?sbWpyGcvަh=9k6U.޴m-L4ad/?oWYCN"?^Jzi: (q+QI4ώwΔO]D$"ڽdրvZ|t}hBJ%(ޜO=葁<[C- ]^чFdA- qK<,-=%A9f aRPXovꥺes$9>$dT뒨(Qg~$l6/OhB~t #=zlMͬ>-! ъW7;OdcH%]N2Yy J5|3N 0q LPD-$\Ws#g'Lj2]aONr_6opW"/].Wg偃%5qo)]Lַᖂzt=Eܮ"gYW'=N808sd,UW7B !ֵ.f՝fkTM~5B"u -. AJ\G6! Eo=g "qq& bbWȢ࣌8i/qMĹ6]AJ]w*laB~vo>qwS G6LL_̟ ,2ͶQy)y%i3$ȥ9Z):)ةKf uB_9MNė"řz\MJU/($η>J1&y&'n)'oȾO-v 6Ox['5[TZ+Oa\&Lk6 蚆Ir&PL٦Wn z",M |QQv65 |YPmewzk~'@ 6 *tx5`@?Z*ZS/{7Ǜ;+_;8^Q缟gDBFL Z!(i(aBvYі GH yLU`zqR҇d Dށ;9-9zzEvW] x?.~…}bcfo5<:4A9[=8x ,cZz $M01*G Un5Doi|t_xr5)tA%)t.L$nlotVT=N3,Z䒵m~LRx aƸK\ `EQo&^|mk St5`0*S9yZm7ޟjnb˃ rmy EΔgG9c/ :%#cTwԣ]i0MP']<ܝ|.%S^2K]x jf,ID#-mpduD 9ʵX-v3,Y9^"X+A;wOVϫ2IrJKdn~ _R<@>쁀84Z'h]Jhу䘅5鱔Ӻ'Sl*b펶;{gVîeV@hyʴXGE霞w uR {ϙC&i}c[8# b f݌=pw_pSȨ%tEu !8E/tTEdF[j[кnX] nh%ޥ6z{KU`n[b=VS 3$1ڗL!H*6]U2r뺢J)^e 9SQ\ ?qi$2\a67fTՉV` 14.,6v Jp4?\G?| &Dkqc*,-.?܃VqaxPFůBa@_ 1QT{H* ٖdJZQ5(h{=o ?nw.aԋB.U:SX8'uc>pQ7euvtWk='s?ew̻ gS_Tye?;Xh[18red@6a]@CX ?V(/`o@ȍsGuI8{4c7 ^ʠ+'5 Ԍm0\ [\y0ˬȕXȧS'֩R]]vۘri:Jݧ_.F^cW iu3uoJ쁄 +•'F]\nI'͂,^[}}3cǣϐ*C%B ]\:"up"UO(ᓣ9yREE aCpU~Vt[y. VDHXSlF{dÃr9T>nA Vzm}}B:F/S7jgi!,&4B&,†6ky(ؼ҈N[9 FGE4L@W3Uo$V& oN:656V ARi_Xy3Pt˚m"+J(֓qLI4S(mglɁqH$^\1S >GXD(黌b:q{Ȳ?BEnDZҘm(#۟!X[w%n?Ȩ~S!؆ @. VM+BI8hOq1,<n4N0So~l9tQԦeTCU$^2;Xmou ma}$!Z`%{>WHг5ֺWRer2MJ8Hvڶ4q](9%EAOsJnf⒦71F%qʬ#J[Bn[8ߎN; / GeP n$ }JkD0  }X7(AaPdxw?!3<ޚsm'8.Kϋ#+}piLTyLga&Rlzyb^S X]ib89״^u @}( E3mMػsPu.P$1E˲hҋdh`w~#x+8 gɆ*2DA|3oHvl"K5dca;cq5N+ZlB$$ !󪁃̔>/(4ݽv5g=V $^>B 4P`l *Ӆ90&( `p-Pkc#uᒐn2:ZUNp2%$wN!>Z`|5,J}8(N}:\lY }VY#F<(}%DBƻ+KgN ]ͳ#A-8wdk+Wh[+e! @ʻA, rhzEϙ z!wkPEJqjjMJ3q#9IV+]Ck vM)6vQX $)}+Q2ƶ(̆\|qV5T$롍[aϤ4.8L˩)k0`ݣϹTSf%otSIW]1 nSh0)*f9x@gO!G \T76DjnŽ,7 /}.^栕4kחyN?|F#֊CFW]@`Id- / Vd6SyƖ5rɜ; FtIc&Hx"]9J/…MOG> L$%- $OpB\V6+콼HՖU-ks}^4GeWbR 3W = ܉O_\pkR((پ$^sHG%V4-eY~fu'Q~P} y֞<)F4nTKQu[f*{z!ƬQzBv>Glv.1!,aZdjψ ZV5 P@X@qiN xDMh0'HR^) I}L?rgXFrFyq !EpZjkY:`6Wt~=Jc5Jl/VXɠyd-~CO-O 6doˢ^3P0x"wcg>a8l$ߧދutZ)1SS>R?PW؄MtiX`[xH0eD)4d݉N7iC4GTOBjy.–"ɓ;aY5?߳sP<_UaxM\) (P3_GSDLH9Un13 {|^4`cAsʢfJl459b԰yjlkP_04c&iduY/ ~Wgrڑpu t==b5jT|>5[n2[qw)# =co@}(pvm^u TN; 369f-'֦=qMZ!=Zk⠷*4RKSxZ)bD'[ 'hR\z Pdku;.+(xɳ۔ҖҿW5\tk tS]1ьMݐL"3!2Du;ܫR:YO9DqZXKse@iK0l6OhJ.:MvkB<,I[ z!uvgI H㳠N[f<{ܢK~S V &s2ͥA;*wt" K 6>1JLqα# ȍuFGx#\="_vxJȟ`M@t~W]b:8{}Pf2\n >œ2 i `\1D~0N2J>:))ow=c@bE|v}MHy1ǀ4_ CmGC$CTUg3((\vWU|h:, uUx>1b d>t>Q 8U {\K rE>Aq˹_xYLM'8M9{Wx @4hS*m1zA:N t{q%w:ۂXf:[ч2/DW1nlx(dg~{.v5ȩ; fYeɞl/+j46geAA\b7_,醓ɫQ#\uފ':h}P Z̮F`]vф2:iuT?|VȲ9c-Hp2]Sԣ6;~IeNQ ; A*i46NFL)*eHO 戤7`f|%p--H)/Ib_< gm:Xl 0^O"I``c4e-dgn3=d{GDQc<;1EtPIA^zGWhKXe:h 2m}ZU&3QX-d vrSMBIݲPfN>wvAO,$]s^~ĕJ#ɵ`AQΣL(؈>`~ )6IG^X2N/1Agv'sctxyfJ8?mE3mͤtno'K7V`ޒ/WDD٦,D]W*ZF,ь 5KzmKe{nmF+DԐRqΑq$2xRmҠYj{-jxEAכWV{ld~9,EU M~n,d#z2GrC"ausŜ͓e>QL&'6r1SxY ZB:HT-si=t,6ť:Ts^o!V@c$-:,c1J=,w Ѫ-Ɗlm?כE^-mDvX9y>9ijOZR)ǎf {\$Ǚp9?oi_{ܑ,qu:凛629=c95Mw]IF}s{ ?0׭R(Uz'i0f,UHGm傶Y7 [΅JvkI!n-ЋfO@;]ڲ\J|2Yr0zY?bC.7Bt<8^:b>f۹#}-Nme 7vfhk'ή,ù]f 2D&#A|$=NdntXK&;K!aǒ?JmwQ$S>[2AzO}̣vl^y3e;{`T*fD $\eO:f:Ĵ\d=#Ϩ3nMyܯmma!A<^3' (_(ki W|.AHq,e %~8Kg@NZr|0U*|s^Xq4ЫOՓ^=`)TGz]bp£$cvxm#^E)^]_džx<>A_މ(Vem RD ׍de8u.G{K4ѽW^SS JN\ h+ Gnha-%lJh3+=oݳnzX.dGGd@`"4FDK"oC"aTH?'&CcǮ D^״P-LsM2ѐ@$ A6C.Jœy|{sUi~:uUs9uHbPWqY`YiR|۠&"*T=\12}qjB5温.k 9?qWܩ돠0ga3 U^Wi`[rxNUn>) hhNh. ں$s -IUTĞJh84e#0`R21bH8?p%1T8Wt@0} vG1UFf/HiDlz\rT {'Oi6E.ȒzIز뾽MYQ2=?}46OCeHIO%%S^23kxQRsQ(vuo]Z|9 osbZM_ .q o-h@бkZ{ix|pcߟ(#E7Ao rpHofH(+4';Mv kPЂΣ_L69up!wkZn nf2j|%/|!hA%htxvqcߣg5*46\"l|x!y''\i&,2c>Rfx|X{%'a[+2%P(嚍n*)LOp:#s]#1~Mb",ҜhD7SS Y]`:Ҏ`$]'$Z.h~Ζ\~kelk׵lp`l׫4Y<e<5:o_ J5`WqB XKn(O̊cBvj?tޘjG=K%9q6P&Mjtڒer]m궀vC3n{n<m+U6S'R'_+C/1}HDkӾPS>\}GD dSFz=6(@W )d[Oq"}Vj9>iy5dV5My]/JRxXKh< ?8 2uB~#`mץT 84_Θo tub\)C1U?\Dne뉻hN- _>nn6-Su@Jy'>ّ0xNIG`-&ke֒E*{:\1k􃟋C9!q"m~bnjpO/V.g7E,0R }5eiS)o{`-e}~=+m@cB)v$Jn׺uz'֍ƥ HQ=Fk+0/X xTO F0-hٴ{3H76iQGb?pz ۲va͓ k`KY-+U%O&_{-  >!7$4&c>U9U$<+;Gk ,~=+m@FsS]UOtqN+ަ'\0!K}[rVWn[>y됹=#6Z4P&q Bij{fiuN\[Ѵ:[A~ےLȷ+ :=}یs'?>W3, =_8+ 0څtP EƼ *~v`d^),qޡ$wѪŏZ-<1^ {sZWur7"9Xhth* ;p!%0ӥ;Qq OEq1ZWB] ,GlNÍ ÍùV;ã0C r˜́pY%]A.&²MSl7rU^INzSkqew5ڲq <쒵߰Kjp3ՂI vN}2Q,]G~V!9jťX*k#ӝ4f!/ԣQ?2_Qt8M6(Ňn_sO|Ӌ q}.@u[q﷎Lrqȧ9[m ⸃Dcղ)\RQqr`/xKi?*[vSЦ 10{{` rMRMz{}DI ux%Դ!)l6 rZHFӱ߰ktRIR61}L;j7 [A"$faI=G3@$؉be7Xԫ@c}ԌJKs͒ڇ2񣐔>$!V\I:qJO9 Fq/\My m):)cdQW n!ΎKέLn /UIfp+kk}sIA( ocd *xe0|/Vt}4~?:I>N6} c ف.!E갅{lۗHSЃ}VS"˪Bu<T hXd%97Te\wl?D )])6yFı1I w0{&{( LpRS %F`_BFQZCÄ jhZ#*V;a=-9جO˽̱@xM[QuǐCs oD'&u)G<أCf6* QG:,t)#JG ۯJ>8r*ۂ 8U?$wPO:NxX޽ГѼh5`DP Ix" E?.O Q{ͲURKp:⦟ijתʔ@ _#:ϯl#GN6\ {UmGJ8Vho1Tu< *)4^&ɾ|/ŽW8 V۳oδg\^#kD 7oEì0n_H]l%*ۥl$R\mpWeq{֯S}){z[-%f˰L2YE0HQ%K1X3xaiWTk2G[>(JTDEgvM.P/?% 3Hx+pr.?Px {c!Cyv.A0̤eA}TgF X aPGLR*s L`*saum0 qP'Fs2A~5.Rth) j4S5rvG"Q4[8}\/#rWw}I3p-bNrH{>;L#1㧣('ڦ_#n(23l Y2NUەO`cX,5--ȡD;VepqE_3ȮNTCi.@Sw7}q֋^RD|Z+1˲{U3C<\y sG!^vCa ݔ]t;:ny?}#uHM׾*&&HH°{T[ 3*VZ3fz=uEvR V O-VI*M hSJ"#}$TD.l+S{0ewSt; 2,{@rD4O7ά@GCX7ݥkOļ'D1휏!Z\ R(6e PB=Ftb̦} M™Utp,y1?4PR8Ee *WDï(abb[v0 n{D+=!t}EfYꁅ\ jtdnvы8[0qȈ_UH{jx\Oy#7Gq` ((;eFјCҪً'6BD ٶm`6%4&]\]17Ϋ) l_S0)|VWJj\x.pk\/ʹzI:ÎA45T{xux;5J[b!ǁ1 Du\q, Y̠щ=w!:B]b>=jCx LچW|ue&Cbo>]؆ӏ3 n(BS\Z. T27b"ICO+j쵢=/NpM)3!> ѓsbx-4kKT612>JǽV+\t&*”XHi\7P %L͵-fd4 SD⅛Y.U ux~J UBRFBQfП- "(<4HrP0oFS Kp%@EBTE. ^ӔIw A|P<DB9iE 0q9zDsG#M)o)i;C~_CֽmRhP/,k^~,g#ۄ6\KG0yƁwUǨ=WpUJf"Yd7IbY`EvvjdƺȹΧȩ,B 8`P){|/! xƐA\].ńoXz*,|nfX]b~{Rq/k,x. ЧHb{ik^-8LZ]1;9ܖ>Si1TČHfV;E Io;+{ m#΢c<'?CI:-ض6¬H~ע40,nmfϽC!x'y|}ZY{BQMVAOc8Dbh8vV85 vuchr&Zf3BV;(ȈTP o!K _8=Vs;SS\ '%ԕ. [<+*@09áD]t43pUAYyV{QdRzRT7GQ{eD\;@>/qܹ;oR1ŀd_² 2w]KxCg`TJHo\KgsT[<⮑@,QOmE GTquNW F^]s =lz4{@E~MF5Jq@ȝ}.8?nq筬vcI[ԓV 4FBSHgDlRd Չ 9뱂 C=ք;B 3f\Ym!o(*ЏPg񰼂mdK|5gj.9n|@j.S,<15WSm]eYo'o6VpjB3tO՟9`fa(XCoщZ{(K?9zjك?kHL2sLŏ+-f k_"˒}|!6f6s]½զ0B!1$kƺ&-_ k-sBs4NYTwV!} k>_Yk7lyT•6|)Ui:l PiU} SjMQyb~e9zI/|IO<5 ˛{0zTfk sfAcYoђt1jt'O8>朋XJ˸_mj1ë~L[:ݍ )j}W`hl ї(|{[Q-7ۉmzfxJB8h/of?h:}?5$]R?c۪ċ?:i9O JhDv3" })%5sE nh Kllo{w=`>As5-Fp ŷJiX>?/afm ï )yen^$?C-_:TAYfxD@)5YX"фs)3;J7 )$فw`71%u 4ZOZ~~^\B- Ҧ^1vF,J YڊItRhuN9;+sYoϭa+ ESey-LmLW˲ eփy Z#O&u)"0 0lgg*qJiN4g:-<|7? Gz51XO-P(m&"纫p+jZk>%1|Y(=#Q`߷d~wk2A?|=HvMNN;`i<$#2G_6q-i@KJ@14ʧ9U{-xnFu T\8aXثYpjhl&6gjtiv4nmrh,3eHUC֥0 (<4?G8ca?*fV إNJ?0;F9R)XVtP33PR_D7ƇP߹YYn,/015l:Ñ64`or?QO!hQ .Gp^Ges?ͣ D:/QpwK',YHjLn/+Mݣ`Eg`*  LBEzBB7 vX]\}ByDz̓)GXݓq `LQ|ͅgkOLtGۓhw)W}5"JJ |aӾ}mÜ(,w(A:@ϊfY?9fc19?%cuk`ғd|4qS}ڄu9sj̤" 6n.Q) P7>#6S gbɇiܗJ{dS8{-+QN WGцY6.(m-mj\ yngM<%]^§g?lăձ|ji!"ʪٙ\ /mPi`&A tbul,V?ۘDҙPD]>yڑgſ'C%!"Ʋ_NFԐ9r *52ʢkn0h5vX(V*df{r"3-\sƆmPc}azYE=o 3R`*k"ɢٻQWQ;̧UחfHBQ6xj9g_!+k%=r4OU[˝J{RtP/t|o灐_PɪR GbMz" #U)7E0` TNE~k]R8mIt5Sh*}Z{i&9upi5{F1^`%6yQx:7s9.]ȆjAC'Ϛ9.<;#5pUsb?1^/ev#XZ Z?X U(V{l~]jɝvЄ~R g+{NC l*fQ|Xej@v帵aH 92E_L>1x~z׺xYTs+ a>x5<謶`r$JSAb`v/A:bǧYwBw~(ZusȌZPXg*I7&;{V(OFeMS (eo$uJJDu%љ򲧹]p[lWL:YaA(WEn>Xt+M}y4aٗ>Ȃc>⻧Ze?4 3˹5HyFB5PtDv:<(,/ރ-< ` *"@ hb| }ĠϞLbSfNVjoKק>+wn"lO4.lS<^zղGX `"U n}P!$ɑb&N~gܑ"h J"jU\c]<,28_!xE/Ѱ,كOq.|XRФw 0A%-> )T4P !^/R0()&,<&-8u#l ,XZ:Wlq;c4^53@E>wT# ,%Ť:'7| IvU`J)JCW+v9GuFFSFlCl.TR:^H~9=p^%rNJ[7!4~QZQ,R,inZ4F $Jɴie:h.'RXc˓ў!W%qBN/?+h/2H)UE,u;`t\C9´}HuK-;n$l)$a[1 ;bw|^Kqݡ-F##\,|5"$ sU.b%{A{`fCso1_?!١շ8 ϯZmϯGKkv7- =JQ¾ZC({Jxñ02<@YN;V ;8Z2'k|u[+ku,64K\ '} p/#lv-i>eelDRN{AKFjׄ ;~)k+eZ2B[D̽3R2Wr29l֬>kd~,Ę.DX>hu)z:xTu$xj]B-RJoVDGyPّnA_\͍4F,+pgv9hƬ:x9jŦ,1mā-dzxT|/,C= H,t%6-v~\/ #wfWafli)\`^SO`>xF3WJR0ٞC("+ ùiH՚q*f/&+J.0֋Gx*Ӊ_= bbi14/ (+2mUXe5NFb|u9U \;Z:ͬ `Ģ~`ť?!ɍ%%f[']Sę?E)'/{`aM)\St˹qL1)a95z RCT$@BH1+] b"G7 ƭ);U^ݸ#o}3qie)58f $*˺MJl>ufIb~Z",=?#>C8<ߠd:CfbE0;'Ȕu|Y+夾LeI5%Mk7lIP~FMF@Tx7a^ kyãg>@*Of k$SYG1}@">{lM_Nb'OKX2 eQ܎P1J.ܳOܕ:wҝ Hv\!t M?P⥒|gt$8󒳤ZIitLu#7G OrMk>sX0 pPCJ3T J]C= | ѱ5Hvd6Hc&@ܾd9QR5UZ1fd8e M•q/*8b)rf!BⰬǷ۞vWr.7Sv`nlT^{k~"zqZLr5ϹmaLstwþtQLƄ=ݠѣ<]iА<6&תT2HNLΔek'X,|MJ!N<ǻM{˛p꼗AkX 璫qc=G N:{܇yaj& ;K'Ԩ2M|;pD8w^[)J\뭩]{S1鴅sxHCCUHew(ИBwYli岷D@ Z=[i(,pcEK`W*dAa/D7!m"Z"My0.mWbGN DZ;agu4AIib8\ŀ{E?s沖[ʦ**&01k:wvRDw\q oi)0+kb3V+CAC rP_mJ!^DQyq#@%nEiimU<U32E{LNjLDb;#J~;Ie۳b' lYs;*WL 5Az0MsǐC{(yxX"UlRvrW1qO SZ#*n1,Тx]I+ h @߿ۛTa^θcrgG@jf g.n.E%i >7\6(Z# 0Liɹ9WpɮJ;yMz htp{O)l/ uqm36 J}-úB̏',hn>,s!PF:8 e7gz|  9@o-@z^2$fE?aNۼ*B$< |U=c!6raj 4vCUC/JSZ)eŹ{ S4K[#TPQhnG_Ap0Gf >G{' J*o5Y9z\ ʬ!}^\6"̘-!k PS<7ɦQ3Upǥ YsE7 LDQrZPs[!0. j x7,/P3:JtUbyd,7ű>8 0$8|,D!u0 B^ ^jvW@ȼ<:jBqPc N1[9)O9wzy5wHSRsN1)s`EEfaKP&qWr _kƸM tF[Ups42cX8/?;]ڗ\Ci_|yWSא}l>)E7ZZ-k.څ?:oMm̀`}e7 F{#TKşHPG̚cԌOCb/,CÏ%i nb?ƞ`' 0ƭo Juz+h p{ R \9 E$@ Nm8/ WIL`BW QէSw='U11|+V\ME Vrv83dhJ˺!Ct}@!L$NN{uZ&}CI`nu_Yf]A#w h9߉KEd^V]BDJیJrpkdPX[!Em!ysNhmy?~ <-^*hBɡ1@Ja_q.sx r$[By{@g_Fx*slj [qxS"kS_lRZ1Ժӥj$)Z|;\006!h:s5:hBN\YNputE a2u8MI@}f^xCؐ|QfkA0bCW뫶3S?I\~Nh}$S{ŧXGRu`[~!YbrU 6?A, Mi4"1rPrbw`hZa(4nK\]Kdg _ҧx 99Z%HL%W(t ya\FюV׽alnjQ-P*0 Oj7[PVDv=Jdq #촲b$Hc1vNǜ3RRf|i~W5; )4gIxdw(mP$E}OgvE߃^TW-E ~c??,H/v meS Rj.ԒcsWv@ZWd`^P[F;Ý/2N-רJ֟.+(jPc>4b!/-ZY x!h(Sh x s2yɒF*'Zj9PN 0mu219-SByçanmq\.R>""AX6)gxY@@b0j4% Qz`:!fY_p:}pj)zB m %.W .Sb~pmI2iӉZDtҫPT-]@]YPI&E.P8QJ-ͮƧ&<`}r+c O;'%uhy{XbOٶ#֤x/*fMCh@18IϊRvJ`wfLԶ0څ:S=n"AYۓj'GԤKН4:q0."*UW7]]09{Լ yFVG_z1ѺR!S((5jN$Kb_2_W";j9QM,J.~}.,#(ʳ_&:B%aP 7s4fXI5%P7 k\c>1Փ4Ucq+|Gu*@qK}gc}J_!dͦP6Xa^wAeLPS~]4 SmT0o%. LGAjRQPAP cU"e2FkN$I?I/5s>R^f\3TC4`GVn❵Da\WhnȢQWgY2Tk"YK|g/`zx ߖjN91I Zgs@/fuBmJx@&'.{{. ?{=@MvtnGމ| (wUM~WI %|ĉgc89vzEA/CυӃENc3;CɳFb咖 lsL5Ժn)ЖS5Aor(K ~TpgȹVa3BQ BMk !c`*> 63BN_yRŲ#wEiS[Y$y7y|U1x*9Zj&zA/jpfQ`Vd2vF׺ɽa%%txr1ۡ*OQɔh,HL 6 l9OM\HvS鈝[&Hp8_T[)*u^aLwRt;lվ[KfSX-V=H 5z-- d:9J?0yWžn56x5< Be1$mB32 'K{\ѪӤfEUk܇š9QD~j^Ѝ2ԃx>Y[/˫bY]u/nRX\WrgSI@&:Ʃ nSh 5.aEv[qj !.KMTW>+6Q}!UC(lvu_ݝ{,8m6zJVZox ~"6"ȝhF[18^$&^n/ n~A4JT0"aQ@.NX<G>Bn黷)r0̾g",KTZ*r4ШaݫKoVIrKxLD =G',(lA 8^1G–1H3DZrQ/7 Lܑ̽z܃^; ՑGc_aF 6Yh[<GyV@ڗ(>8!6^E@ zT.hgвfy $7I 9Bɭ{cM_;<Ŗ\ $vD8 "rԏo ;sݘpib\.<] ȥIT>^?Wgةj@LnO)+ҶPlkB@*e_N2APj[2ɂxk#OV]j>. >V Vmeo)DRr?ŕHZbd!' SAXt)?,L{-0#wW ѡb7v@{FI/-9m?U a" B#]5ŦO 2UpA; >|P&ڮ!IjUa˨I'ebeS$zb)}}I/1{&dEؼ̅6"l0y$Meɍ|(m~"(B?['BQC*=(IK(-yi8ݴHy\Cp! 9srW[h :d.o[Ej}eyӚgi֋ZhWpq_'F@/wIgUE 5ʌjsQ 0i7>#PTxRf}/LFѾE =3 RoC7vG9M$ˢܐ8<~3 =3/U]nH|k<8YkĚy lU*T`XQjX hiFɼSx˭"'0=)]É_, Ule]^\:^t@^Z0>„u~yp˨t';LЖ%Cְcv |H?Zh&+?埓8t@jdF=ݑѱujt)Z!D^p6͆lt%VMajj_BnNѶ-/F>Au|O(קd5许ܩFqn jhG"1!GLDm(?$.J˅fˍF]SiK`93ǩvfųq B@)Ku3jCd% JM~8  ^һL:B,w?}O'ʤh?M~Lj'QŮ ,~]e1 ՐG0"U/b٭$5m42cw|  vs *1L #^tC0_¥##(|Kf]zrPY$>\yѷ2솧c݆ >ֳnĂϸuhWLD)%Ffn:iI+JmJ/L|n:4dcÌY)[(2B╾bX1im lB6 b+vfI58 <+ am6Z=]o/!rI:O?$AbF*&[kJ'S~p} ? ً[>eFw+\#읟wL6f<ӆOy&HnNdn7^_D{Ҥ&L#jp nA9jOaZŧ̎k WpAc8b ri'hm²MhNʊE Y*6?Y q:$4hQӯiʪZ0>Y|5${nc7䝴!,MשEݠwsgXyă*R'Z&O0:#@H07a*%ϭtiD#<З;,oܕyMfX&'Erzi !$c ) ҇Y֤H`Pzֵ/6w X.cˈ82|^075LĝXN^N_Q h<=b!~/VT7}<ŽE:g;e+t 3JUH75Xp'!VNu)T%ի.FŜfOu:ƱDŮ9ɗU6Sd``M}l)Bq]^. hn> WV'=|(v0 RBgש,n:B4Q,ӟpЭpc)fzԮ쯯ۚuu%➝Y{ҟ|X@'E&RnsaN%|1l &G3PQx֩;'j8T?TȜɝrb>t[Kd-ZǛG-Qޔio Z'0f akic\}lE[`]0a=![9R-A!̰i+#[whqQnzZ{3ܱ7O!fc "JWd> F,SSIcM!^&]g>u$̉dۈ^}qGbz+q;4n᧖ #okm^@T<U#4{x k-cZ=7IѪw(w軦D;Lxeˡ7,(O)[mE6hK@T n 1L5#p1#6X~h%@b= Sāt;j:%=FB}oq+/)R68އS"q((Uۍm|&5̾05fs+\Rt~Rrڌiq@JU n%Vc;]ڦS'y 6h嬱oUVF.d"hʰ& bހp!5?!]D\pW,Jx19$)%\}N\S?T$5u!_GNZAhge-jTeY^\kYݓ^ά~@rWNވpa.m|:jcy3zcN6V߀ܯ c» m-G:4fZc/mNֿl>8N*nyxV;`Lu%4:m\+]僠s tF ,7Hv6n '+m=دA%}JKmF 5L,8zA*g=jz~ 7q? o8p*ޭ&6_ e}UmXta; 8zoeƦIjO0JPE@䰾 T˲bo2BJ4}3GE1z.U-#m6U_PO\*s#-I g5AXÝhYWCnVv EAªr| UD!}X)ka擋iO%. B`֨1QH@gFqyCa]@Կ墎u|i9["nG5N;z0#G6Y3/Zf'*Se4!y"o1S(Ub_19M<@+2Qxx꼟yd%s3 ;(=tQK(a~ƎpuT@:2δu-K28+ܲ'<@zout UL]!Jx<ѷu*i$b`ut=u:A"( |l 4b#E\ XR*W s/EOPBp&„k=K_9"9>m9R`r~  .<a!3㋻5^!m LOiZ.Rv[p wc)FgEW\z14;S-΂S=rzK6{qs[W:%a5=_  <k􆚇 X0*"IԪ:nY/#ϊɝ~,S }2nM m.( Hg5E^BޅTn+Wh02ÌY٤=gKzwӭ7H cv:Oj\O0=w9%qlԌc~h-W'.FHlS/+C bg K;%W\K)?q1z .}.oV9:5˂/tTȸɭj;፩ 0Vk"_ k#|O Ϊ*=Ą="^ij`?Cqrkl1ZA4q`mDg_=8w+&Uݴ#RաEZ߹$ٵ)}9+JuDgFJn5(ۓI8!ZEYyi;xsod]Y/Mhf׮ 7~ZE-d龢[tH4QkŃwX)fp(pj()>^&η$1`,:t/KaYY<< K.ujG]x(%|e g$XާՔXF4۲~-tErTASn$ i-7jiIٴ|bkO\կ ?h#?TX$mx\@%qD,FV(O.+m ;JIC)pֵzdYR(B;`=A5,߸EG;k guED;?M(p!7}0EPX\o~88@DHpyoFB ϙ_ `VJiUgC>,36:5=AQDSn}Rd:e\ݪx)p;aB+e"_ǜ2_FkGAYja˫G|+5H-#Op-8#y2c_LC5Ы;IKnP?ߛ 'e)+Uv7:Nx%Q$ù HLF 4) LEaF 룡:΃c&{zy ꀉ-o8AӒ_j֬'t^Q/QJ,ᚶQ/R_Lsw<S얐M>{JIMK׹dhSXV-Q0 @ÆˠȐ2e!M}`4>#rψH.^Og]c2`'ui4?}2l6xJdUDk0_4S=ȃ]on$ٔ]3#zs~t̎-3P6 y$]fP+|++^)76IKN|Ck";4wT~h uw-;5G) ПD`+X躡l* CUC*< \0 Z #6-B wd^'/?e{Y WܩA_uD{[2}ps@R+(ŀq@=L~Aܜaj1"#^aw+*pkB=~~P}(_i/KURQ$$TL/'%A_c'[s5?R$= y]"zfqzPö!)&S EI’L9Laf˥GIV V( ?a|T! Ⴅ=&]vIB.WE惴 >#U@ 7dW^az2c)8M (v-1&&*.,k#qSznĠq N`~BF2WA73V9ڂ 5Aʳ=>'kA3Z⁳IVWUSI`OCLw.㼬#4FB6W2i8PcBS!sUvQe!n[zzU~K20X/| :Pqu2u:m4je6OOGf֖ F[:Z8s| QNRVxP)uD/⋏+psc Xg'205&=㪑nTtP-[v:Œ1ū[ȱVn2y65 ?)(mt7'Le؞ZtMmZK6Xp.-%r_;z\/]˖{Sf{TcÅR]/oZ+]W(f\6lnX:݌fDȪأCw9ZVqYw, ozn٧xڐS VAUT_ P[pl=n\I?%GQgl;h6Y~?+zI:&Uâk .W6څء<'HgIzo ׄW-|f1kLHqWkJZFCVqf[Cb2aS8c&^j;vփ{>/V5U;V-hh`czJkP߉L;<&ff'\` pv28{ ӀNr83ʜ\eDN&S,Ii e k Ch'uG9Z)1uz@ cRe͑Z“יڟ@5˷mTE ` ϥ{-.C3K$àjzJ$Qʃ* F BAMu.@o6R Z{ޓYpa~ӖSD &^EQ"L(Ӳ۳!Uu6-=hZJ@ۮ{116@G-&֢<]gP!HPpWߨ/\;J1v #;8PV okVTt*İ6rbgpaAC ewU ZTgJj eqDL u6:d@mf%d1BA>aWhlgY܁Pek<؛J:Ej BH{H*.. REHn~*NW^%c#ll8?n QLy6ݹZM6P-HpU7wm[:wb ? Qtٜ*ѫ;Gn^6U.93q;leY a7˧RN S{R(uU9'gjTl|S#Le* 2]bѶwưJH&D+c@7Amώ! "m]钹%.k l͍MvkFf'F6ˡ怦dN9* S*Ȅr_ _AW"hSADm4:dnAqRKrտ%]戻voşSGN3ř9zm>"ᏃZbJ_V<5 ϒ0O8Ivq¿/}_vCۇt͋URziw UrJ~ [hYd=]ӓKo1Иf@f9gc Zʟ6 @X֪5LЅlM60O!%:s p]^1A3?rq-lE,蓀'-pva84`P&f Z!7ָоbDJJڃ8Tٽz@l9|N4Ղ)߇m𑫊GOr`S5|QrP>,%)MC 0]V9RbZ" S\4OM f05270btLTJLX\qp^ ybԴ:W mmh;QNkN떻ގkv_9E L7Z"fiQ=W>w]FU - [Y?eԺ!2y(qw W$^2Ӏ`u)!nb4]b3Ĭ 3 wI*Qi]_?f PapkDg"&NYYxPvϜc(C+usPi&^w r2_<yc|~jD(@)9 X@C_sK\.x^" iusimr& W& IScC7Բu@"(rR hzBa040vt,kX/; N6ѼMX$&}*S6KV݇+\`DXIӕUx*`u%K$i׍9>tANXlQXRQI:bKpu#"Ma@1>< %*U2:j[;d%$MsQJAan߃*n[+ʉSF_"q2$78Wt h;*.D5Op`ׄ~.A)@S3'>nR\A+J?qDM9:(՗jwHH}&o O`:36I%Lͤ9lbjkA"#̏έf1?t=8'nѣȭZ&9ØO9&c8:H9TqUB?b[ \"|Bb,BEaiz\K#f:{d"n҅H_vXE$'ܱ)OCCCŕgL!l> rrdC=ږ=g.X,GJJt%Z`*dNW-DvQC9f <2?za _gԓ(pOaHu癚\GX}ZNJM%VCo<3գ\ |O ѭZR WD*Pd *rF ߃w^oKO+=zS{1CYzK]p $*R=#Ai1.|*vk`!"OXf~B4w5ҾQɀZk )coݫ)-TVe=} J8x k^1< lU4o둷 VjNRpZyĥ 8y|G@R`ٵFPT)#-txăv^mD] _gյHp?ͦ?߽;(s_o7~juJoef18Aِ|mϋ=#R#9 s v*A(5Ue\hcQF]6rduA[EFOyN{x5²*}$(FWEdˋd*uWxlKS2Ψa86Sz[4h+\paT"q:yY^e wCԽkf>&١B ^01DfN*K4R?D؋gۺ2 fVNV> ٛ |0:[Q pg`s0}3 ^iwLa C.$q%L z;bb` 2Ǹ?̕sahGp3hhćۮk+2lgOvZJd=C!b{]Cogw*LrQΧdПdmg gP_Oc Y[R'Ʋ)eHEuMR(gqpj:z4Ib&Asf:8i-j jͷƯNw;jL^["; 5PIm~nKu} V));/&淸m?C5G> G]HQ߲ 0NVk.jx6<ũ}kbB[/&*&ivTtC'\1Htu2>^ ;Kyūg#Nmý)|4$VoIƉO[ t |yն &L+%Dwwsכ ڝ>RSѩVX8)_W/P@1߼X\=vYsYЬvz %J8x^̟s&OZ f՘`=hF6k!i߷Lԥ4㨝҄?637HH{B2h|_s9&Aai5K*1⦢%]?CM *ߠ+d\9sVRWa0rك!Nl<^[2NjIZWDk\?!\9 "\g=)v\Ll_E=WG j7+v쓩 U4ZRg ^atx3x| 5W˰͹sA"sSB;݇d >Vo5>j1 E4붞\5ŞAYߐ9JX,L}L9WYϟWKB%NDA[j1&{%K -ְݦ>/6qxg0%kQCsUi=Y QG񖃨0$Z hcmTWo,@8b3?t6Q\~K&脡EC ~EZA` `$TG6 m(ͱCXz|9ӒyzL/[s6 D)f+fXDa^=TO`C%`HGZVI}ouTl*!$s3qGct^Zם698ݫ%䈠UNs[WSۯW65G&7I,R,ޭhw ُ8nyg6F$(aD3O7wqf*cQj>Dy2% S@ CQд{~][@M)rg7}ŠX2<9WW! 2w;>e2 B;C.&[m ' [aVyj̦y=6qV녫6szVnV"p.7|3gh+jxCuo@t{>jh>9  )4rO ea<ܪK0\uقg[26MB]$ůn02)]RN`\vfk=/2\["=EB@([12%g%4Tjm3]iWSE-] ևFٮML: 510(qn7zPþ2t~>ݟů)n D^#D+vڜDHBx1(&+Rع}K^vF( ͚ {6@*xv=`?.:m>_T&$\e@X `sҵ$TNS(&qADy 8$˫04\'HVG䓣Ôٶ_% MQmk|/ .THhP@Pu7ۛM*[w[[n{:m"u΄Vސn5Vp 3#s2LGIa^̠6~x|F CuwElrufQM*:o4D"} cwhdjɉ{彾Q ws(4ݰ٦=܋0S]$HUIb;' grدdkFetŋ `JIшFmfP\-W ^3S{ 5 Wp'+&kф_&zsIҟ@.Omڪe\8ȼ-I5a:=ʯfڲcXVqJPOdͽ&/BrʦjІF)E] Jݥ@^-}C|q=[XF3 XPX}ƫ\M 67V1 sT<{p"q> l,Mεv3凑Fh?66b*09>(oGl+/hOw J4+-g])Ax̅11W9SFCjpjDT&UPn+U037lJxƳQmb,5jbn5Txp ]jifv c;s])UAP˔Ras%l[wW?{/2We{p1' E0(2D1d KjR!gG# 7&q0pϦ(\I~H%W嘉 >flώp!e&ɯvp ήB72b@y#a;1rH;5XZ8I܅Rfb~{U2d흶v VDԒ^23u\ig*g?MT{՝RO&r6pEFaEsN.҆f-6|q$WHXg$1V1|ێְܹa`u-)I+ג &x@Ԇ|YY!ʮc6ky ೈ<0q*B}ӹOr0Su;S8&[ ;\5><,uٝ}^XQF.uY7MPxt'= JHVUVevb \7Q_\ v@ZH=1 u=Ff:x{@S {w(htWT=fvmYLğ"LFX$N3@%Q;'*KKwEcj Zl,02 =K^٦XFͩ h蝇QTњ{1DRVJ4jA1j寧)ǵg/riVk^Xp>6a5ŽS؆@}=,H!>A$>')qڵ^SͺWaJ 1ĹZ< 8E&4=&IxO]6ʭߔi|HcB9fϟ NRCc|6O"Z4eTKjP/2]1Ž'na9>Y=Uh?!Y0a0ޙtYm~,0֡֫1*m̜Vw菬7AI۫gh7Yy簰VJ&R$;뉊.ʂ0[?t(*V@Z٨@$,6l=GE"ԫ5&mίɌÂac -n0̈́K4 րK|D09]n3筫MuO}$nfɞ΀08dK-M9M{=+Dy+8 nK\yWf_6Ȝa_!?ۇOU)[fEA ;_S\rWxPA3<̈́jڃ2v; ko=[g/@8O5]<B,υH̒BdlDf'=;= F=h n+?5R(Yø:Ff, ˙D*YmoZ]Hg<൛֛\' M Y'lD ," IHU)އJF?[A@2DQmwR7rF&I>2]Ϙ5|>AX I㣓 U+"qP*jRL?@lxl|ÿS(OEXi= qCs΁%[64î5(loxkV'ĄorY8M/9$K|/\ Ij0e}8⽉ͪ. rՇnksn.p^B8ҝ^dw3TxH:5C fp7tI{'te>Ɂ(z3^![G.Bq'+ }<NpQ R2X!Imuj^҄L5!+bƓs5m&VQAYK/TeA  TTTpMz>*n(3I.aZŔ҄##gc \óCH}AoDk*v]o3'$ZMWvSm2oD[cҁ068`R8weje>ϔ2=7D+cc6,fiU&Jk-}aȲdAoA[{Cc:½Op/Q&9ԧ ]nYtSG3%S~xbixА:T7 ۍBʄ7Ar|k9~Cj{d6hc3?PiV;b4#3E,?ʆEt#d8xRx蘈)m=a B2)zmW%'d$G8AҹTQk+"mR-K) }/_TxX{%@+Ѫm:s@7Jg'.NPj<9@Y1ii:c#ka۔o"-,R nܚRVp7("Z4awnG!@|KTz7lR|qbT L]e9 $$H_VAEV?12gƟ*`;9(Kf=\ FB(wH=ـ&JLʗBz'3,mQnD}dBP4mC7^ 2L{v.vOJ}9ܬ xe~CEazֺ/)qrXv%;VHKM&S}i/>?㐤t\74r+>؃XAfw4t=L.2iuO*%й|I%#Ug(Yn0QW893 A'8D$$l;ʟ!E<,t+'%KژX~w2\6 )W <_IǺ V#Na-oTȝ"!b.+*:ErG/~,1FP~6e7Ebt.i'(BN PcHӞ=`yy=Hg&X,+NGi=KzE9{'WΎ\Z0Acº߯g]`)%blBͭ_iRuXif}կi\&/ SlZAT. m8J3PB՛W_Y\]N@+{65 n"U5^6[2b# f\1BP2]:K0nr"V3(nGzG.g=5 <ٍt=`."<'@œPCg*z5z,_klY$j$=cp$ⷂyҔ ?t">P}^uFR`Uʡp}((Ċ&E% ۋڲA T^Qp9FQ-I!w 4eߍQ\RmʑgwtC݇NA2Ik F(R=.]{ `񡈡C՛郭| A$|}Az=oP> ]u&a8u7۟YO /F5j"A @Gѧ\qa0GhHBMhǬzo RVn02mnm!3A|vתZ=MKɵoS'pȋGRu-"<0$Rb;-=dЏ#>Of/fv)q3V9wGZѩ&0 |h+Sn!R5[X#Ll|`)rr>R9P-qfWv鈒Z/;j?`?9MLgƒeR ,Q%ܝ1sw 10l4^Ĺw hm CG+ڱ޿dbæ7pΥ[ /M#>Qͮ,icO! d/^y`sn6J̞D3o|l}gO]T e:Uun~Mj`>QX"b7?q"޲>NUNAc/;̠yIb,=OO_vxuzÿ+W s?y GF=S:4 N%T<1joj}OUrjN[95%o36:bt"YnoGkNqFdvanOwt>Kcbօ^t|բT  Sg"᧬w.`iЧT#䄉G݃Kߘ[/¡6c٬hw>nOi ?{8!$B=TV;!-'jK[i:Wz- $*]bGrgvQ)\? 6n(RY=]0)(f8ieH&0_dٍTChMp2Ae)+ە;|q"2_o\mBPf9z=y*Yj.cUz%Õ/އ+~Y#`}gkO+*-5ۗQ")<ڪjҞ6reCQjvH{_-oB T+MǠ=WNB-JXmZVGt5 h܃dRJQBAXYu+PO86Sʈ+Ư47GW@ƌ]?;5"eWȧ,޸׿eNzAJWZՊ]ڝFAG@ W5KfJԿHg Pj A9ZF#A- 3^El-#hf]~aԳ wXԼTQ9\A\N"|dOh~B]l`$1|dN9 bx[bY=3dbxm#Jiʸ3;, @S![^"JEAqF #o ޔ?\NnEz'Ew@I' wM/°^ kq쏄zp_2P 9Uqv͹,"T4~ſ;Nu!Hiޤou8zȸAz4|]Q|:ѧXBXS9}ANQlE {IӾ*TO zZ*N7{as.E)cT4:sOEҌʐ7G`F$49¨*{m{l> q7Cx՛a?)<;Ol3o4UO>ky(̷}(bSq{L'[-6(n?6$ܠL5ǭ so(b'a`nx"/T 5df~Bt:rV؋Ezy# <1 ^-!j-M B)A QK(KȂl/ڋ&??^@~vۅ~oTR|-`dw#P}~Z'f ^o(Lj"SFe7̕ҿ)Lw{D@W=5X۞)$ͮKxe u򀁝e\,B¯X YLƃ-?n*$Up[rc(ɹfKTPyL=+\,$Du@-<ZfFx෰ e) fOUDjQ[zulܐφqQ7N;-8`/fM_bh)?m,XBH[™fWO_}j?R4y[?`@llLL,[OK^ߌ gspyAڛ?QgcQ(486&,"BsPC"bjYDVҲ`{[cw!yؗQq<\oL~XĮ¿7ƳG|p\zgb㔆1k7r v}}CyFdG ^T:2wl5 榃я*djٺVm&aUevQDF Cxm7&ijmUd?@?-:zXTE[i zY q=. \"AR"Ag?(K[ٸì[&zUr݅\{ a*>`@_&ʚ`~v=nn' )gR!ۦ.3e*vsa4+m ꓸHA O-U6]Lf*fu2A!Rt4ߎO})8^HF_=XZ=Q'״<L'JI$ {XCH%࢜9=KZkoI"ٸnc}PLE$*N':G-iyc@ņIa.?\BOBS-bX|YϋV _DjQOXagKxE&F8_SޯUcSs9H6Ux'U VC: A1C}\]K | G*=l=;B}>oo0%`JT~BPj+ JD\yIX+yUkG'_jcʤYN#%9l頩.)|a "duZt9 vHEɞ z@vA7gϣVXlnԍt>.Yg S⃖ҟ#^v7p4 Q\9LaR=;IɩR*B@x -v(uks ڹfnN\gXhl)z"k)#b$=> w"$Q$Z m,Zcq wMT)]ARU*YL}z"VUK8N;dJCƩIc^[C//ptxf0o".H SAvLaۂTB0s:]B>bYm/ZRc[vk]WDc(H*a|GÅ?'?a㕾E+oQ7*)mAf5# oPݎ6`]`Ö9yʆA*R]u" g1@^$753 3HH`ܦ6ZPԃ8*迱{S?jNASP>^;.UiOh\aA𓐚}:(E{LRؖ=GKĉ~LZk I]3Ͽyǣoµ~+yb; O$;ܐ+[w#6_U1Vl6IE\f*-4X)Oo@LAh-nHuͨo! d'@ %SQD!H2 „E,xJkN1A|T-z͂,N>9<}l΂qW)Y$ChYѫwU/e"~R;竻d(H^/cphs\!=Ok<8bL" Z<0?QIqmLK %Hϼ^3d%U`b^\gm3hIJ ^6HSxѣWŀ=尸Gm5t!um ;P\KlрB=B=ٜd dV/_&sLXQ*^r;:‡l5ؤ ^ԁo&Xn~NxJĤ*@"Cmj3rA:bBSȯ(Iii oA=5N;&K߱Ϻ읋ZZzZ:߲Nr O[JGW w~ߌ},ce!ݤP@%)q5`bc?:*-5՗ÐraOoXVUL[eA>A0'_BB'^&}0M2Dt=NMR}`du )Ags\|58Rzh;:}aQz34 X3=\{ysM2ꭲ 0`9]߅36ղa`{ІC+"Bv]aI5wN"1i#9,}B1`M2И.^ Tŧ^9ƝbLBel*Vn5#u?D_ )y* t9?W~)CĔ,ɖ%3({ќ,eaƙf3eL(g?jHBD;?yizǖaGwlڲRWl\3KxS^c_p,(jv<%H Ardvel:fܨC c=]u%|븈a5tT|i0(9Gw57PBc}S2.g]N"\m_Rn?\EgikًRV8g+j(3Om0@\=SU+osBUzDj=} OgoL 97#@t^Veaחy"sGf.g3)}}@%$Wj[mfq-{@¿'Pdƕ6c46CuլU z`v̅ƏWp3i\,cTJy]F((D,oNfk T^[(T{ *8)׃5ѡq+vt5NPXߓ«,6tDӅx.>s5T}sLdɢe|\WF^ڔRHEpTt 08* i>r*Ռƪ'°gBr#;-7ry3L(ktv~4$*hsVE^պˁŢ'XYw)--o۷ꔼ „3XZ:6"L}"DC{Nn|s.ezb*<{TB$[( "R ZiutüִVF dH ]AUs}Lsosmܙ*' ϲ"-57ar@;v4y)[W9FCxjRK*EuR;<8J|<2?{ERu4&` #9K|S01Gf _cơ%ZxD\fͻ=Aߙi.oC q~JKV܊xOo|}γk9ߧ jmS8*`LˁD0VG}{V5d)B Id6<-2lH-ުZQ2KNxmSI:mTWWW0?%L(ΚkwC@!(>AsIv* qtBydooe*ۂHT 4Wd ~鎺Ԝ^eK>ˀصINЦ7`h9FVaVd8#eYL%O%^TCT=== ^ MHPp;A%;E=aHXb~ODIjU,45߾ qXN8̽Ȅl_o}REuZ}3''^Qp9H~>7;'w7:bTa5V,k ⩳ hjBLQˊ8kwpy`r`2#v? 8*rI \jp3e&`?r>uګ;%A <,΢zjj”Zǟ`db[ Y. FG1[X '*'SB{ѿ` 'Cted}Cy_]d Y1ź~oiV_pJfM\A'F|^v%&-!Eܻ?\ Suv~פ %yA{3 Y^]._z|ID. إgNnqt&6햌2VBHu{TSئU  e팮m%PL_L iE" HrqH`I\\ؕ6-q57P&=W-fLd~d]Jɇ%Ƅ|vF~7gm 7=&dS:by#th*;c2{gwy AEݞumy`(J eD"y^]?]@ٖQF% ۂaC2=;W"7>Sbiٓ G7?VwR6?!r, J#~6 W]n31=h'dh:`iXmf㴐[R ?& qbk2I:N`7d)LOƝ/0>o*D`h|̯h*ϲr<4*/BbFcHZL?Zmt?21;;/Iv#5(WH$澌I%W gC@c_taxeGV8 |,Dv#CD& WdN); G5[$XT2\J׎]`ٌڝRX0>P~!DB=pjpC;UJO=ut=hܪ&qڡO h+ :̥ ^8 _=P.`J 5$ԟ[}%^hbعpdw` v.Fy%lǦж9@ Qlphzoc7?B}!Zt XU:;8b;|j̬/VZOQRUq`o5 |׌[cb{S X#>"!ُ(b~0A\.eݚKF u-y-pLzciqHgK'jӽr/tl]0/޿̇D{^OBnfF8E  y6DAACϦÁXYPb`ۮm[L2KWy19iV̇Kegihɏo n,C%urF Zi iR EJ ~8!ddEi!t rSp9FZ[P@r+sFIAYe 9PZ /-p.=zqIuC\?L1Yf٭c[W@߈ dߺO& >a:tjoeee~O[(B+f_*13FV0^]p<|-k~ҵ"j,V٘=:.eΑpVͯڎ_5f&^ճVz%z.Bz!_^䄬7ß*~cy(V[Stt]&h~LprK2z+K%T3џv*@O17_3'؋@HE~zsZP @"v/w.FUW$t f볅÷m=Jbo$1|K]J%@/`5-)2鄡#/N,gҎ!1t=O.ձVlb"hs̓bDߠ+=&ERpW٫YcMf,Q6 bY?}TLsE~q+!G]0Y(@;w%^1ꘇ q4+4]?p GWڃȎz!aHՔϒ6/τK5BӪ})3O&cEJM-1&=6D(9.w^ `V&j8/^,'L(gT)ipSqXVG~kY%bM1x>@2Zb2N"XocVs}]-:(;mb(\h$QMzM:xRGzA&iN55(|i?DfW7>y ^)h^kRHx娡 JhfW@Xt˞Լ@{zU(-b[ٳt6h w^;&U.}\W.aF؁nk&3b#K l 8)ZΊZ1`cV'G>!G@&ԠP,|v0V{7wcM ǤШ\U9jCwfF_2B#m@.goJ;i uO1e>%D~\aqﺓ&f_ޯ``fi1l&TF3XP5߅T˅y&hBѧ"nfp4<8TiALw#,P :yLY8]@-7"Rz尊ut [ èzqgD䆱.TyD2ފ| j8__X,.,v&kPl# aO z{e_W&x fK\dA9R#+;Ir%Z# =K5HQ+]q2jNuse5/ =xH8WWOCyɁy".=?^vOFt'^"TG_r(2攊s~Y!4>n8@aB@@8O6D^W- ʞ&K760ꌯGyGdWj?Gj.hXF>?տzĚ'Rԡk){e"]fq̏?5x;,guok> d,::|_ؾ#쑞?|ӛiq{6TQke[D ԖݮG^jͣg&,b( | eKuK[Г,r69+?:7P?$5RE@ '*zǵp l%7szpdKg6N0d0G¾֥=N_qսD;ltJZsla!ld`Uؘ:;A|:<6 PmMGRt&SO'&^f]?jL#BAQx'dL f#K)W6P,p[m{){* ֤IQ8b^+>p`a)Pսd8=РC`rk ˴N~{wA-&btkAR[{&('Pi<4:#lߎK!5#i4Kl\E-|agJx`AT\LKJJqT/&r;>Vxw(ҳ3ڡu·fs].5"Z  r*GXNV" -TxPP@tӫ/߷ٍӡ'auM_֢[z_s&C7vU|-8J@j b fY@y՛AjYTyE6ʐy/O k0.&e).@J mKNj+GakT.-rt|XKGJRG0M{<;M^EDEAXԓ%K3R Q'Hr#FBFQ‰DscGLmFőMO} .Vz8#^ ܛ57"` | Max[ v;l Ck7W5ׁdCiopЛٮ}xHgA kZRxƽ<+J1[ѣ.NzfeSƎCҌ 4(RT#z?!Rҷz;'wN&ZMP%4Y4棄;հB)uBxGZ`yַl&*m+|V'΄ɑ4rfHaf.*EkZwd4>).JhL]#[P}M]ۻHs{!9ҤpCI2JLD9N)pBgRdQ%E6b089Iq29PawKBZAbQ[U,^Ȣ<lϊ9 &ze ȜȣaS i*qeC~& ~o/۫1+>.e9nB%z,6&߃)?1pz=fq_; ͜b?/^QuL-@Ze`kAj$ E뙌hZ<0. wK8x{ ľMJUmW[;`!3DϿcy<{@fO ЗF=C wZRP!$ÝΏMU~S*r.v1"4 ]+Cy,%J,t 2y!rΟgs[+/ӈht&ŞǸJ/_|$Э Jt b("; `9m0ςP^vF68Ga-w$ۃY7fZV!T,2]b|>@I(3s(SǦvӧp^:_O1ol`.qGpQ}v"Uf J:6~[ʯH-rKڳ O㯓ԽV✷%wJb{ &)1~)aw{SQp <5WacJЂ9DW1w -uv_~a0ZفV"29?Lc|}V=&osO[M,RpW֧3!`HX\߇-WbNu7U㒄3sŊD:^f JQ ^SWns^.=X['rŷwkGUHsX~ELJ^'Q3Wz!-'p+QzM2C|lp)^q'oAJ~= y)_#ȉ݇ :\_Q0 wڕ1Y墠f.BxfnB4Wz4b62!I?[L|~6n~I=)#mͣ-k?7^œv7mGn(" jC"]XO0&Ł|D߉X4'k'0OFdt v05fo3{3zzt8}|'V:&:…?<|L8VgI1Lb?ύ$O `wD?d+c,tZPތrSew-z!`P11id? YHIfYSß4 5/A7LiXѺT)YO['R`7B/9z68dYO2q+^e-qyO% K樍5IlN7BeI&88,~AAPDطv/$sMx֖KQg v06?2dvȟSCgꉽLlzVu>坆L. 8rH_q{bwDu0*GYcA(RvY]w0ko.է?ܷvJd`$4vXm8&pi1`l G;2k45=xmCDALUA9q`Ih {$A\IEPT`ZRE0neo)T Mt/F}S[e=(Uk$+D%ÀqYHhg8Dnea a=`CMӱxؙ5MQBo?>i)T\+H #6.=M'Ѽ?fk](rZӫ"cߖ~7ȑ da?c5?{ϬRi?ŧuqOr)lIQZ, - ^jq)hiUJ)- %Z%k.o,jYڬ"ޚs Yo`Ng$<mQ-\c1协zWmm ws=L#V"c\:ah,fjՄ]HQm;A Jv11M=K;q`cp|9y6sirǖjCNjwRi1#(Gi.NX<C`ǯxm8f2=7ǥY~ki M9qI)}cΞ ax0V*;q,bZh ̧l~'@ 0!#WH`> W,+܁~a5SO񞢲@B#%3@wBL:ɏг:BFeY"/vBy]9~yr&[ w%Z'8DI枒 Q,I8}\}J8Ӧ"=-7*kӜR\I[򨸊NכdoZxCT&W^TS!h= 05>mA~i;ПY[Clv޲:5 #IiZ^ :٨]^-th }2M)Zg;#U4yk0&@z@InS_FO_ɨ=ѠޱhO̹<fиI1m)1vlflj`gR$v֖@QNC%g!pskگJ&cf(1-ZZ#XS]eWq6M-DʶY +t}-ϳ/I +F ^D6Ⱦ#0*^uz9:-.lqf(}4V[b*A[,(p^ TH5l*Ur, ZtgN*TDnZL]P7-Q-ZȦOk9ᰨp*g@iCX^h2?{-Hu;OV;)f{>/%K#aPs| ct.eok֨x@ 7bI~^8 y.&[eh ZB(8]VW) ,2H2np:s)D`]`HLM $=j2PEda`T{QYF'Ҙ-; Ra|Q|p2}Ax_b6z$0á:1G-θ1::g,mqqb f3v0ui*X?{X۪~؉-҅貽}㘠y~ako,;Wgi|UPFsz9# _Ku頲xo6ԯ$aLqMOa_af Bt^l;̰J&u OV?9pcD\˖VCnsͫ"&5QY?Z5M(?gUy6W Kf}9[}\:XT7ùl0!I8H}^R@E9auh8ET\m^r!o7O)M=p=3 胼I鬩;J`عQh)uP`i㤈tjj ]X1^)jj G8`_Z2$v0H:.Ukޣ ڬt+.@7V"ݘ:̄M1 &`@ BBҞ?3xR8=_Na^Oqhc1LL+7{6O) (4Q{ʠFq۳AsVu|8Yb|gK Ncqb{2Pbv!R*r%6fӾX{s <ۭȎݜldp mf [7ĭ=MuRoś1PhDaSAF+WeZzM$@*)AO,AFӬklr `}J3 od"" :l'j2n̂xeIUUIeL7Ql #F8vXS&P?HbɔxT%SFzR,Iq"ǖ &OcDnHH[nJrJp=#7څ+SHcEy?<,pcD#/gD9;1:*U5S"mn Y36Sg\_h%J*_FZ,$'N'%oG6[>:`ksP}U!^FgHH<-a8m:CO cTyк\[L%ņEJs-m92tf2l!GǠ}U-hV~bJWWß<?@5k*X P-${-ǡQp0d]ҒFoΡ|њٝbq7,j#VfCdX5!0gTC{޿*xbPs*DZ<_"iFUu)r .k3yK O崠G`Mn.? qhO})ؗxX,Ŧ /-fM-+-d V؂ȟ3 M?(|_fXhJK|sl;a( .wpyln.ҊN<'(L;ˤ s#5Y!g=8%Y$7Fxu+3k; ؠ}bwm)3 P ! AzߥtUl[idd$iP<1G/ܺv{s#<MOw )9wZ?BoEI$32)ÇFhAL%__s# =ۙbp@lSe!aKޚaN~C0$njQ7{6?5 GviȻ+`H jDnhs60KLE,Y)LZ+8s+>bs5BEҞLɏ3!1<N<{Ϸt2)X%nQ4<31bxV8/qnWmp`$w/TL!RۧB@\~'3 ^( LZ 06e> Öz]SK T'{Mx3umY7`p;β2cUAFwcaҿy<:JWt}9UcYVBg"GxpNRIø'͌ /h}0W``S0%u5a[{auz?S} 8ި{}kUKQWE'BMJ%TJi6a3 ?  N]x3epܧ.[^u@⧸| br kݫD740GOg^IP5|9髯+Bx̍oq oŊpTލo~Po7IWMJ|i)NCYjT r~i`/zۍyzaO9Qngi(Zl]ÙZQERR灛3q~{"rI9+'tG+,`<%.BC{Ɗ-d_ŪmeQr0 PN {aT;\y.yHy5]NrS{>#|py I*quGB:OSVj" ~F]mBCEnE w֝OLQ.5K9̎ģ ʣ! pcZM3 QUSV/CK<:ɩu ,cQebĂT wI얭lsF0ό9o y"[ MPRC'ytf>E+y-߳MhPC@٭UBO*|^?Ei@l:eXN3 IJi`4Xia]<0i\z'S4}@k`֩gFtE= "y=S(@3ӢlNTӂ4*Tq@.Ncg!SX gE-kל> c辸Dxr92.Le7͜wePCf|q-ۺ8> ²kO X91:@kCJF_tWk:F\iHJmGKqPu jk׉Vդwx6_߼05<2S-vULb o0ŻKs3Vp)ht.&V>$u `H-@bHdm!zԣizzsiP\!+B5o&bg(Ϗn3>OȪ@9@",Z"Wfi:032ab̺%-sf%37FWR>c -UkkJs:<f׽#Utӿ[*ng:8{BPї]ڶj6 4+Imi J4DnY^B _'q; f}])1C>lW`$^K|S#r}3c($C,ʅ:9Xڪws?v  - K f\(,u1;ɂݪ/9V[$?:!r΍"<#v>2'%..CMf ?_<R uGV$,KͤfQ#`4|qRkxk$Hf;`jXHM6RjVy` 1 5 ޏL̻YsplGn-1YB.ao_s@"'%X)~BW=#?nZlQlb4N᷆)4l0ڋO=_Ü߇/NJD:P.PQmՏE8~ۍgԴؘ勃l~|mC[o""`k+HcϹ̳+z!'="ʗ$JI~DI#%,3)S$yFz6>ZY;ҙJw=OCi=fj{"4M5Ipl][Rڟ:k>w Jl7hj/4b{YS|0۷ `wyn=28ݽf+R:A',ĮP >f >!Q;>bq6H7 4ۤAAgfWDRAţ&uK &pRUcް"ԡC.go~C7)-c4@9Ȋ iwsޤ5u2Htx~>0оŎ^owZ6օۯw.v!tAFTMOV̤xp]9׾~KTJ2 (T%T2; U<:N_hFl W{us -2|ntn}P? ~%ߖvMq2o/ %# y\8Wu 3hYhz“8QK=R-J8X5'ϳݷП1IK>yL6euk"6j"B0Cc`ȥs$pڂAPbIN7YԮ_ 7{|űAC~ ʔw}6+䉠ȜW0ɻ(1Tnr9!92Q SdZ8ͯC3ǧ0&ɧcԗf>?_$웛Nνzf4Ժ t:u^ n:5,OQI+G6{Ŵpܩ˭1/牗9ܾ[dxo*xkVJ^!ܐ7OpXRjT;f j@M˗IKV$Qo?Nh> )1 ]B neFx]h#{%)9=` +eЭR'Y )#Jf>.wf;P[e.sAI-9zwxRerrrŸ-|BD}Tl*dΓFQ<C)Z|ҢVVHҤapi_}J5Xs|Qfn6=EK_F- ~"sOHJq]:Gt"N v.1a,fK ~/ChO IDJX J jeQ[f7s>j3T#QWDxiX5i;G6*bhHvϓUġDۡ+??"ּ%@/LΞ}ߊW=Vv3Qވޛ@~ӷ˟YJ=g(D\O]0PM-3SE1aݲ~ȜXS[,ԀV!#gVf<*J=>e{xPu(q?P} л؈ l,Nd&Z.k(VvP"nҞJ*"YDY>hP)QvfWY{C0įhvNh bisV"MFO܃R?@ ^CyvSL _QlI~ ^n}"_ħk%A"5l :|ϸhp:hq`6i9yR"Ah fSRPIpPcֻԝGԘ4#(z3}!\w/[Ğ"@a҇%H|J!v̐b "wUZˁ ?8E.W#55z (er^jmt SgaXdag+Q&<4 R h^FuJ<Vm<}ţl_Uu|%"- ~?1h;,T. )_ ⠝W7<}UAfwt?0=z"pRcy?:%AD\^(QtVb.%j;Ե'uA/1v vR݂]d!A^d̡5)? EZj߃e7ɺ3hW_0OPli}QaiQ9OVC +WC@CS\).k'1LGڹHb+ V'S|vלi d&VTJ(/Qi_=T9^okc鐹;sD{/tbEfu<>n֦ n_ȧςb wϴduD&HuRlul.q_g* vBOdk{>:6YDMB.K涘vR솰k3xni@ĕ<-3Ē=L[ﱦC?<]KzPfsٜ6-EB<6 L#eΎv4?adR#N [Nٹ GqC6ăt>M=Yd=MˈKI$q9b-2TY"=2TpY/}o~ζ ;ǹDC[ ~g^Y3Spƒ+ DMLm1A @gDh976Gҁw#mfQ{sim tժ#?C#&L}&w9p+iT',Tk!5n[,&MV_<t" m+dMH>`MNxd~6ABW "a*7`Vx/;;@3W:!L.Fmj'c0%b `Dڠ"i@SwQ\7ӹ39eIǃ,{Kw(u }R.K  * N&xGTKcXcYrj'(M-m͉Ɗ9 SYkEM..L1ޣ3G ;QGuFBCL͵cNJJt= tZG|2I^ٮ8E*; gs&> Ol2i<8x}cۉ;,i7ZOۡ0Ŝh(*bJȡqQLZXgK/drf2]>'?c|K:iNG!Ճcdn&2.3}XyP^NwM[?FXG Yc0"8[0p  cĢ长Ki8}(X!:wˋ]PTcN ߱&q_I@1-Y.x/D𙱗f dψnQxˊ&3RZ!ahy+L%*~p3\~Rc1< sfZ$9`1 Ʃyɿ{|q$"':NEs:gW%9pTIoebA>v#()v]NoKr 8oTNPb[:|Ҳ@{:P-NY7MۺlJi7dum@[̊(^q#}@ T}"4+v$7vb;h:-paP2AQ|rzm̀KG۫J  gF[#ƩDz426x3SWDϭ\5vGCA]z+%H@e1$ma3WsKI6sk_Z83_ cQWg.Fg4Ӄ'?Aa}-ß+}چ,xX{f'5'ΔWzyMEyMCYCa˹˼zcZ>(IcE)s,΀umZ:B&~(4=v!sECP7aIx:M+ Ռb+'5I!@;RжJ?xSࣺ1H=ks@*AjÙ(ҴFMKt#q'bHӦf^Sz#ⳓwReGVP:?+;q[bfd1 |hS;9PppGZ{* _CL:7Y*YTiI>Uu#oE|Ǧ#:L19jp_i + , `MF推&>O.mC6Ll!u~NUK'al2ZmNJjȌ<(1deԘ['bziڊSn!'kxQho?ʧC%C-),20ΰ,gg( b!\Wg=SpnцXH:qnH۝ˎ${`[T::Ps[,kHH4ūM"e&,Ԅz>O:VPV7ڣw$d3ҏF'/C EAwZve]1uNi4TwlTdXBg0+ˎg|",OG32b>'x^r| sͪ瑚UZk!tI7 T_tggE\Y͝@ t?""8혆I钫E8o(0:xl墋UT5 ބA!NntUIځScتhRF-[9/ 跟ҝuKA h~E E$BiM;@G5qaO47y]#4$-4t#B%Fu;gsQXKF:jg5_>K{A)nwO n\zC|r3Gʞ\!)9٥~:/G/S ssuL* |FsC|$^+Mn|FPSڬZ)p5{ymcwCZº@LgU{#9po0S櫰g[@cx>RZD)*NO@GS@=>nyoHľ D+Tp9n I ܙ8L3F hgVuO/ Ix]gB9S#JFάB+r'P<@A 8 {+6pe4_+aHʓOb̃GC*&n TklfCPP&1WvgbfNa9{o- Z[Kq&!xJ\?;݉9A,Д1tY47,'t@36&l җs.4?7XTH"Do15 ug_;cW.'@ȗ v1ՠ۝A41;VyRJ,UGr!H&V$ m_!7my T7=㗍g9N0olc"ө0DŽ[riK(S|k/`mI`܈zK"%ۘ7>K;Hx3*)11siٻr^ьXV7?db2G}Z-WFTnVGX_@|ٍV}U,"YX̟Q/5h$7l xk'xJut/긥 ,riSwʞE6;qUR'ed ֜6Ǿ:ȧL-ᾴ6_],˱#H}$5@x*ms+p SaoHd-;1wt@.9Sޔ$ag|7dN͌QZ,‰2pBAճ~8򸇖U}εX[(iNo$%oU!^ {FwsKb}6s'8{R&贙YPfDL mMmiQKO{.nBw&o1vm Rhq~uYYXyY)TݕS(BO4ϡU"C$+4N20PBA.!_qP.O"tC@P>b}UZMzzI5*2&_pOPNg?HZH{y)N 7+v_pr쥁|[Uqe’:82&[y6 ]V /\?Tc%~HolRQ&UЏ%k`H;&'@NRg,JO5i\@-C0sӝ1;6nV)@]g`.OkQ-ߚLGM#E,DՐ\) l] p{kaDH2U FX[DN{ٺ;2X¶v0u$&&8/ #Ji2tq+{oՖe ' D*;+$Fj"Pf'/®+6`MA7?4!ҩ/,l aOU[T-P9^d#J2ũQ}p1a)(E\]>.?P#k;LXJMfː&|c7]Bk D<J+42ϝh1DoŮLMVoqz3e$X闼y1_Sh7GcŢARu7*4pޝX1TZVS b9 *)3YhA?:`;V/Wot&?C7|j߶I5ySb? {Tϳ)IB?w] `hmsB(0u@ Ѽit%R(C<E$pI<1eCrb^Jh0lf\>q_?^5lޜLb"!YFPf<6[JXJ}r){mS֬ghX8yLv\FI=`@Xa|[g`ޘ:FTe3N/7X wUĺ<8}MHFouђaj57@@tA~-xʪ^dF 0!^3_JCiw2F(Zטvӊ|X1Gq,m-19;> Ăy`ChhڿTJcY"VBFgBuϜO+ϮZ'6$YyXlEIcA/lMj⠉qY{:Pbfb%(҅֐~]IdBV(5q0)-l:k:qKpm}+yR%oT(,#|ڔ|$+\yfj# "KX~ X]ߓuZJ?@I.OZ,b'_TC%nP59WT Jރ2G?4f:^q;O]4KңUJiʥ}q;Ed§K֪dK e%<:]Kߖf#(|rʕ8|MW?WgcِGtf5LV<̀izWBR>[o34YyRԊ^[Qe'է4ʅ7?Sm8#OO0#ƱvCXwYvqvBcV?oÛ#5?6 |]} ~T .UV{t04}ǵskB5]`xBQf'#Loagף1Ei97C7KߨSoV~_=*,(mXfryAԋOhay(7z)=$ swb(@ |JC l A~BA-)xd_mʙl]W5Ik̩is&_ȋ$Ҟ:``5a5M 6sd6' f77O{M [Fh'z!M =B4p/khypEe_0`oH Ab UfAܬBQe(s_9.cio:eަxx'Va.t5gG\+ SǬⰢ׻".'=~I * wgp.ofyd`K4<ϊf5~MRw!Em2z2KE7i+% ~{Qa~|SWcǾi t8@EL({ E`4f=ޓk"a (/r<Ѥ~{h2ja]yQ.IJ};v8ɧRP@E 9ބ8U|4GFQOZ#*34N t{#47]2]]`@RuP2QKg+;B|Ykx뱆GPe!fd^9}//~]xkyaOSE2 C}0/gp2fvC 25=NڕdI S B_wgNNf~Ph>=l5 V.uktbpLCedMv4pF"+Nsj,Kį2/է"L'e/ miN7kzޢ.*}Fgf31ˎx"Վ;/5r4'6mTٴ322ʗb9MMgq$nyw[?^aWXc6xb$EI d%J_q,:hQЌ IF|<͊YXneKԚpkQZ.Fj;?O4lsݮ =x8w %ड\vJ8i<]^p`kZ\!ܠ~GsryY3OXHۆJT-EfnB.r4ZׅVB(uoJ֩+>kC ړiyl8aE-h88`i*efnԨ,޸Tyd}q"SMؘ gX}㹯,qqݩj Se[qqF4bU?rv;m_kMGS']|Uk4w`[>Y)8ꀀru 4 FnͺLץ7,yXe3R6ng d5EaF z:%VLeKo!>%!YtlR6x;QmϨ3,;=3cI br^51<=!4rZ`i?i@P;G.bxʟCI϶d!`E/#ܤ :50k‚3us`ҡ>bEBv8`OܽOMmD,E*bU^5jiPR"v KAu#~r4sUy.= 0rݕ+z_Vqۗ"]jLK3ŕCf:\Y*SSk҉BgvZ+0s5,>k% жk7ek"f[qL#{ǪZDu=[5h26VZ[j4>Tyl6!eaj6ezlw,:֯WJÔ aR:v0z?avܔ}fֺZfկ7uGУTD̉caz!]sBp0Fo0`1uR^ >}e?nNa-j)=kA={X_IgH8$\G(H4Rf>3g o?Jp(fWl?NƔaob k-N)&J5ϸ,]_rݭcs^2Gq91Զs2 9+z& ='C-g'փ@w Xz;_FªAO)4)H]>L-(= ^icVH;jƈ nZ @Kz6ࢡ]c@V0\RvWvJЀV Lcu3?r2bukeԞ[K8YDrQ`Nh ]J~Gyʿq(ui0+W.֧'W2rX˓9u\ >kvavlg3nDZbmp3KxR\ 3g"Q5غcn#r(?{ 6;x|/  V'WGe 8Z4m'4ʽ(egL:J^U'u/{Z%(ydl+y&߁iin1c >z_Mt aQ+~jc*M4Ɉ ˴C M+F{lSՊX\$yM64SZn}j8cdk.4x1kpDHAxlr>B"4 C s434("<$jOBZgv}>4RXFܮ03s8QO)h\e4) r#`D:qyTcwuv[%lJ8Xj7Na% fh G `[lڊ">,=ejcSaF'tÐv1YGW@۝13B?@\3D+}#S `lݞM\ Tgu{תEo'Is^YYq11x.:B^XxZ 'W$%Uo߈5Nׁ;26B鐷$݆Z۪$%9>lOEB@@fwn9Б`.)3bx KaM&WO?\]5İ_F`SZVOGIb )1߭ ҷB@9MHL:&ޛ,l/V)vsg>FZ 0׳m[y,f3%ԗuvB'KrYһqX3ly.i_Yyt %tۇnL~KR6?,*>v 銵"Eqɇ˿іUH6nxVA$GGz5Tڇ{ NW:k=S ٷ4]$\u\g,7S2e[̆l/~kIgN`$o h8jaEÐNͻh /?Pe U EZn QM7Y+\R  Rܫ֜'M!k+jYmsiR 6R|_0*1gI-[LޛqQk/!j У.vԓZާWIzN:84Wtn˵Clx}‰ ׿y pC.S_g )-aC]L7)Yn8L:@g6-n Ap-BZ# el˴z9l:dsI{*^at9_Vb < ȼCIlD%Ng,X~*\O_پf01k.`C rvvN0Cswh׻q4;ORxRB4atR!UB ,TN[qdX,-8uru>e,|U^Y廌l.r}|Su?nÓ 0 ׺˒Rg* }/=f`OA[Mcte&P~g^!#@" *9A, `IxͰ4Z(.ik"#u1lɡ6PV:ZiFCf]M]4d7yĩG\т$$.>LF9ն*65MeG.@1dbF2l*>ZLH%UwCc; cn+vk=)<{z>_OOa-h3[Cnz{ #6ڟBI8K4j]*iY*)0<0 tʊ-.w]#P":9L a![㉊;@2S|{hqA[V |=oZq 4>&`0KzX;HTWK4%ȃR/m?gR@ۆ?7m''"Y,}EG {E<`=W{0뭗Ć-mJ2) 6xW<30TvmW& ^[q[ /onG6cc"rmnƴ'硿ntzz<hgvw;G L,M HY2ܺ%DQɻP,]]Tm-L%P&V[p1~=ȑ-IKrrVjG45.pvXbuFJrFTcQ b2N#0ʍ}X s O8?W?|fK.CD($Î1 [m ƈmC T.ňx-6$^.ӭ֖fcX|V?%X+ʹ쩜&`٣n\Rfyd͵T^it ',fib򀰂##`3IapK0ka7 gBO5l9xfoyC /.}w&[Jv]2+e-'j޽y10(ILGk|.*Bm]QYʞ?Nbh,+XT͙[$`W]ݖ앳|lŸÿ: pfV\>π\J&Tb OȐXlj_tY=nP NL|*xf_Q t+_Dfl9s[_D菝?-= -ǭ oxڹ)ɢ_TRCPV:YY26pr1/!5[]g&$xQɍeQ}rzo5z5R&ly=nC  mB9_EotӓWy Ȏ 2*\ "ej?zujX}tDvYD|2ˇfRBir-P _~p4 YÓp:5/2Ԛlp<,R鷃iߕTF-$XvrO4bV\G;5+tU tjq>}U]/2F\!ݹq0K'&&'(?y;zK~~bTqa1Zh\5wN^BAbt$J{UޖK(%N^ݤ dP98@'=q_8 ~9,8'՗Q芝s6)k2&W'_ gф5/2&άGAw`O)^RkoPfUcCD_I]Y iҚj.))6*H:7'v&OGY h3ٱ-@p6RG6B$|C0 !k9 kzesL_7n4"ܔaI[ŅPWX%ܖY\Ěj ]*4Ͽpq29,s1VW׏52uu'f]52r;Hc]^%<|LN t] W~Xfq~JF\ ͣm"PaծPIP?5icDX6倸cҚ6% ^|1$ө+CRf6 T 7Np LW5L 8,}}eFaErxוfKxdGJl OHgՂ8i*M dda 33x`ڹsVXK9 [.@H2tYx"G)J΋GM_yLJf}*IpRF"`czd@܀KՏٳw%$a7S:|&]QnWL7|! 1G.H({}LUԠ x׽AA `(l vj+}C (٧(%49sLV?B8ؐC;k8|dHt9}G(`)?>nĩ)ԠPi?Jk| 1tITV<4AҴJTct4OQJΘwpKKdSm>U?ZP+G}Zq33_a@*p!ty9p}Y QmX0D-q^pJ z9v,*E]5MZݜKj2m@.E2C Zu(֥NZ~lE"DKI!2ހL"s"p@IV˅pPPYSA]Zr(z{EyF^$(Gv*/`9[sp3MeEn%.0 "s$uNSs;$! d +n;Zg.I}/dcQX__D(]ax+_.o-?^ԫru(#ql "٫B _Xd'Lbc]Bɵ+U}8Mʺ\Ad_z4 Ả'q[j4f aً5DAN`hb1bpm ,Jm^<#/>ApP>ͳ#x ~v^LxnH>,s|P?3+a@'CQSEEnTXY[q|R:X|8r0= (1MjYيRZ48syɃ;&6}b鼨|n0c$Ԃ7wҌ]'_yk^恵ccY嬢e#BnD|\> oXH^;u tfj>"Ú;6*I8SLcrѪA^pfp+aweZ|*8Fmgc42Bx{4>Z$t.[ʚx.# Kgn#o7/8 * *,J.( Pz݌ %ηD2X؛Hvl#GbE}iQ]3\\ +}<ϓަeLT|hB7ڗ 6AZ3׾E{R}04j] ň%>WDv$vܑd$hYʉ)~tWn )kE4" =ƍzz^*ϡ6WH1+6l OJ%``0[nOLVYf:Wxs!#oi5v`')-q:YOι-KμZjєwc=a ̅547p^.18|V9ihHo!ϤgZ$X$~rK@cjz)Wd2v*UCnX]+Db5[ &4#Mɞw4(/YgJ?X &2 2( t?(k-%1bK}mh|RA^He SwjZ1F羸2xz^˟cًSB7mWP\w6dyv[͂NfH5ZF\p<[<揺2?s#z2Jc0" s/h)BΆ]hZ;ߙIw r .h-3&++o5Fi٨IXl$)sc^Cʄb0$C$7L \|U#~ #rCwT Y%edP.xNuڝ@N7,AxM'(ơ~y%ḁ7)x>T(tWl E DPM!qI9Shy~zgMdqۄ}d5e4$!im%4VXyT 4T).9 ҈iUk-]< .ԀBZp̙*ɦ/%8;ܣ#N+|BX,cl'N: qs ikcկŸ΃f[M7=EXm>U RJ>J h(kd&Dեo-0(Dn3]aaƎf,i of坫2L "ԳSԌ%U$f( cT7h.Z#RZŜ܀XzӾ&Q$l)iD} ry?若⎅}1y"ٚFz/0]hR4vFH㡉tBv" ]VK{ F9 . o܍}^;,0  ܛ]h+o%܄֥$|w)ӿIC y0#oRĚkQV֦3~j 5RJcu?/gmuF BINo@e|0PCȭ0v0JNQY/BtE1f8*(86l?94էRդ Y!=OI1ۉAbMݺ 6;vFҲI t/g[ќs9]1KWZt UI1OdȨ0dJ(ɰf9*JS=L?"6L]fpR, x%( ߽*o%_(UG9ݍi>ygly頤q|ϼ: \ؐw*B`TvR½`exɰe\o=7~!B$w8fsAk삫$OLI8 ewH3zPؽ gk7UOmTK Xy.&{k>F gZ5XQU ~FZH@JGt1V;/BL{?B=i܂#];+q_## |bFPfe_m~yyϵedY FsgEGoF63μ(Czh|Kn0@j%uʈSf'6؟yh8aNoDX sCRa4^q_pOrK| zT .jEg~iSmRqApi//>A;%}_&߀-Xz? K2CyHnwRQܮu_`; >__\S̀ݘ"Btn ׉- sx&'^qf8fxTQiFCvנvbM, FRqc2-87.q.h1~Йh[`\qmZ*ݬNmY\j DbAoy~B#k䏚,b?Fe1L< !k+ah A/lX>h^6U>@jIi(O@s!z1XRc^ћ> GE|5? h* f.G=jC',S @;6=F)11chc)τJn4ajư&F$fPWe>&|vnXHnQ;i=ȧ,LekDo󅋁IG.A5k_=VIEBOΦX/0_2A/`x'CPb\#ɬQrڼ-FnbF~l|vM1@C>c>w炩ĈTݖ$ق Vv<g5yGO'*G\v{d9#pS !eNMb-!8܃j.3mɜt# E8?$8WS Vc&F^ J`Xi  R tdT ( *;kY~;&)=3-# COs\yVCr|#  &k'r.tjf]y LeB_`X}Nqlm­(̌ qqdO=:?<\A-Ko鄝xЎ+l% r‘!m Sf:;R2Ia'۹:' ; ~Lr;\#3?ln!C 9> s]^^x Y4GwR'EZ>6 =nيDNR.b[-6mP!i"NGtUerO0hG% Q6P&[~* Od Si9|X='f\R1M Fl_Mq4PAN#fͮH䁓 .ußY_+g$%EʆGUTEfc_Y^qY厸% :gwB=_m/-LZo)7͏_u)D8^ ( y7|W7KH Sȡ>a8%-79:)9oOɿcK3Be W,?."}M.?=P/NBJ3DZ5 u0^ fu5F?@imy͙Ao~唪dS j#G=8Ox)g7%ּsMǮ_+gv40@K" ZA.SV`S?UR,_ߎz&j?@J輥"k.Q$Џ[ [5K[ |!p8R%TG$_Jd%͡^=ˏ\}ľY qp!n%d M1冡 HiZuB\ch+19JfF}bG>`J3,yHaT C ]T,,{6e\m\LïjGfxH s_ӻx4UOR3dMQA4J°zMgs2Qy4 Zہ|'_y` m>-!~٤+us+ߓخtíXxW̸vm[9Hy|= d:nJgMt=]61肢N=0a'gi.f~UKRSd#'@iP9,YL|.gc.Α( 0MaD)BڏHX}_-ghlWo+6?l'B'֑JgO͋GO@/ 'g.[e<Hly!hz4Ws(Qp˞ɪKb R5Je{5HRD5rJv2Ū ïТi[ :62f2d6_VRq&]4jufPa^ LJF[g-Ã)0?6,ݴiѶp~w&7/+{ۭ__b [,vQ+q99E* B3A=x`8s`]jEX8]zJh*Brl@ɗB?F'yҐB-3kIz>=ms#܃ ߧuۦBKsryE}9Gz؁On"#ԀMbvg-M;^e8Y'6-mKIJ%|A4H*/UzoM|uO{>Q"M K;#c|JGNJ &]RM'B6 }_ 5Q89 &mG1m$@T3^tD=G4^nJȿ;鶮F1|b6]%~d{pJ00|8NTxNŪHu"'joD%#)%-#kxtzKMQE*?dڲ++ZOXATY'[H|-goB/חAG|DUh&%BIhWr\=bzӥ$ၦ2TN*ܕ*֥'u2dQ i58Q&pVch6`%%',{(2 w =Y+i2 vgm_L X6Xvkx3Kn@徻aO!-v yր[cbtS&N@=vE_VSЍp% E4ҵ6D6󫅒x^ifr>z3 ֻ;N\2.oN}Ed,l8Zw2:u/O9$@n3{"@DϘmӂi['4v5H>]JApQDvfpCz"Xe \Fu ew/{ Ke '([JVh%—ݹ7:xwzP^";`hl2-OIlkzne=4%bjk)˂-it_m3<9-jUgN ,F_ {Y@~mjíD҇Nȹ@ Vx+p LvQ@>C9N A ]+-O2U c%Ilo(H o)Z[@U9$o8ا]PY Pdf5mhO >pb!)|[4f"'.Ѡy7%9@]^\$k OʜK5\(@mU*7zYQo4zӻLr\ 6&MHx\@jyۃqҷPM{9̟jFZRo{{ `eQx$# eFnf0Pz:z0*}R5/I(SJ*>&m!ݱޝM:5>l}\Ptmm>y:.қuư 8q$h6Mox2CR +-apGl2˟y7!-F:5(2˭dZ^u0ڜe#fYK~E8`pPn tfML<'zW.bJB"Y0Lr@ c/[`f8 GB- :RУy}xuV-sYΧ/XiZT5PvlQQڔ 0kYozR#0,^DrϪnNMaP=8WL.~uK2ha?:6WƴT3[}\qTտ Yi!]pڗ CcÒy,|hǰEw)m/PJ닯LJd4u ͦ=ĕEβu]ʼnhj.Q''+-2xϫڄ{aSFG)[RK~An/v##XaEd:k(Dռo O؇4W~#B"0ƄL rϧ~Hx1BWJGWP~G =qH VOOrl|ie*Me7)c ENK=jSrT~\%CJG!H;*f͖d'3EO*_V;_AY]I~f㳎րX l$> U³\괂R)hX`^ECHQM03Fw!bU/.TDTu+YX[UYL '51_Yح].EΊ[W@c-bz.|v$܎K^PN$r}Vo[Rc,1D0,qmx 5̈4Nw4.-Oc}{ro \ .l9[ߩ8.& p<xu99>nѶy&ti]n2G>ÛvZB gZŌw#s kVw6p3AX"qʎ+BK *.uK |~p}!s>;<ۗ35 tE5ݬMH!kҝ?M7}puhvܶ Bâ:ib S>t-"ʄ渻 >gMa6wIZKr6|/z5!I#4oǩ\ߋޚ~@!9Ҷo=bFg>.YmmhbOT3|8h5qJ"^=&h ZlaL299-Ϋ$xr`vq0-t:ՇlOIv1lWۃScy2M~ttǡ-#Nx^9 Fa`(i6ˮO)> x乲;R)u bKߋBؕ>1E'~vJcdF:r1X8?X^P3MZ]kȴH>)aQZ]zYK%*llad9jg F]tL"1MVAl _N 3-Y;?tt"M }X9Mbߓ!$|Յ%Z!m#1uia TƉLAb^T)5E(jp aէH`1DW4F03 E~kWo Ulh>ݳ20]jZFQ3A&bЪ8^?OVRzp_3[\}IѮptYk=T'dV䱼ˆ&Ec-#q]m3n%9r-p2$W36$M?^'ouۇXW6c,cjrOHI48 kՔg 9D""Az&69ɾڢ;6VW%þ= 4,< l0BWQ t3y狒)5+@Hgr m[rIrEXUKH俥~3$6R[X"GA; P5&0|>/mkQjK垠4O& zLPO^PG!DŽ"aKoǽ:u.3I==94^CǛϋrlJL1%^!myNSR_d:hБil1Eb/x.y[I1.+`# S @zV/< è  J_ЈaeiydVHݬNVsh 5|yReIʬ6 %|n\*$X4^L Rc8.cW[{0S!7.+1V+VDr@_OV1+d9-o6gp yReM!p]u% +ϸ!$DOO,d9L:^- =DVLjJA|1yE MHQ5"-|Ov>z Ug[3] j HZn-\0}U7 *(}'4m}<0ac= +ry?ŋ93PU PHjJN5dgITEpu$q1c3gw7LM)kJώUx{G >dIlj8`) ^Mhɚس cY1fS?" Vm'7†&8Y;G4 'z7q{g=J|YP~w_!1 z^Tv!Z;b1vXJ B}]jTAK?UYeZג5d{.,r77KK PYFix;IsKB0؞>zѴaj=+OLg,~g骒eYu%tGJv(7@$llr֧u{PVLк2N B%nnkJZI{Fƫ+)D)bt{KOalsoR]yKQā.Siʛ _/M΅UC_ڄࡈДx?& 5n\#o1N_dGNluJRMdžgbb_ oAgY(=c膴34?]ɍ#cprKdy%yP[#sS HsԖ6!á0LjU6eC=( 8#ޒ6v,7먭7/xj/iL<ʫ?9]ny]8YH m$J#N7/hdh:_$(Zߖj/R?T&Kt}кd;¼]I61iws?ADwU]S sGqkD^͢Y{8NR@R.F7O#ͻFb:DAGgRM{R :5o_%m_3IkS0+K/H܍pk@)wJ L`^^>doB,UX)F*&Ö Cɕ8$ce69s>W)Zg$tAy M~ؖF ﮳raLWI$l$[|ww8\FvM[UB;|%:;J[$VP@Nb~:m\=QVi-E"5W h aUhW=5ő:v0!7-,Ojv[9<)P*+XQq$<`zV&+geW!:, j`)g7ge'z+4s˾0ų٘a-YKY1rs 2`/'{Lۖĵ;ϹwXΚzߔ+U#KnH _|/7`{I:PEjq$k:r* cfkX!~lxO3\E{pTc?H#pZ-~ ԕx8+yaoXb킥ɖ mX޲5K:Әe4# U'E49I6{*6MZ--ӥ6zLWF"?X MZQs׀iRyÆa[~WL)wiRPG2 7 @Qu Nx"*_hd,iGӂEW62UՖj5`9^PqxNtsWV62c *j8 gjGqFẃ}atPbъT)w9yg̕, j9Hw7Y`W:ٝ5>'=[W_1oKPu#t~MDBp==HwJ:u~}'1&7?+P~8˸GSe{5=m؉<`†y| q(нv:-$;6D۲.0I{jH)\]~{Z#E5!R֋U30UQ3}yv`Dl 5`vDB!G t͇18F0':fvЦ!*@Jpi}j#4^0/_2@3.TCghuO&/|F$F$<92ZG;ngzåU{X]-tiĢl{ ^6+r<YKI:18̔fFSԜ D֋"^BFUTKVt bZ }yxqVB75VHYH. d^ ͓ۤe#M4Y=I; hڒAs^fߋͶึvvo6xة띫CȫO#3D(qK$"N!>z^!&Edѣnl)UX YA]V&KOAa(<<>Eo<V; ս œ%ē|O͎!Y ^ءyJg%T^n7nUX5ew ('ڲZP 󓜽SdJ~",zY"upKz &tNĘ 6:`XU8DGexEoW@ }6?ITJ.+g2!ZZnk`''*!w|_cj{EW ^0:y7䵆 wZ_LJg l35vW<1 lD 3u`z"GnF F([bY+x/Vؗ*hCciVg#/Ǟ%.zvhH^uS][J@+<,<\Tj7cvj5c-U /c%H7OXuT[`w~;Qaکx'F8nM.p#n+;{jG9@>raL(^̣(14dlUWX)Zqq[mL.I}}U,C.Z>Eďςoh^-lU,b=1j?jHpDp?i3=zgex,}s.Zε\dL>G$hbVT&>d;tH..r[9; 7%>Qm6hWbVlB.!=GF[&dd- ]z>SiZgT|YL )%4&C7Kk.Zt[wb#gH~bOG4wnE1UbE2'~8հB9]J%ޮGhݧVZb]}M?]2cc¦=hIrD}qҡђ ..p#~XɃZ=ٛMѫì.C/>cXo6?vKsoފJ_V$e{ NE$. GOʀpQ5"e2CFA $@d΋ -fwp2# I^7?UZ >‰~LRce@@ M}U ,7V=MB|O˒!7딏sv%;5L18g9#%??pmmZc<[Hঁ"(pK*NvZ=ƓzջDaƷ~^ztTl4H\aZ(|!ќŅGK!ڽp =ޏ3*ư__G40)sNǧ=1lc8+MH6 EEWڦ8rL:~MCG8%Ol:FOyp*^}I nи(sܷGG/> "Me :ZGirttm"sFK}= Bۃ=9rV'F?m6s+4`?Dbȧ␚b#، sSx=%Z 'RSGSɆ5weWۜ+&)rvOpVQ4Y*cG~]d6]^69`zR"cO&`^W܀pD[ϳ!#J:L?<^k4ǔDwxJ!lCY _iCw%u„.m60}Ŷ6M$ N_망*1;OスUCV<..cIbK(Pd1r_Z;ąu3R'JpWpyl;-R3ay&ԫW$ݙf?"<"* Y%֠/&s*X0A0ƫ8Ghf'$@u&nMxh0 e-p g}`.*zO=D6T':ZYk2 AVյ/hDc hRXzQ[΃C PXH#R?'#@t]Vm2Zlyf"2K qg_4"X[z3I2=5ICG@g99S`LFu] qM U0[2{d#"vB-:K+w΃$:O=Fh o8.n^if, s" JshTOy-q 6H "ګuM 6kx_A qjWآZj2k_nʪÿQհ~͜#|}6x»P^۔\a)WGъ.2ρ;IlQb7\73>ͥ\`xu>䬂1!ߙT!#z# \!ݘOGG`HĘ$4y@6ZPDT=lTRU)k:wٗOA>]{e٘zU 8!"Ʒ'ZyO Gw瑅Ʀ$OOڭ\Ո ڄQn4ȉ0duTnU/+B:]lr!*1x=Ԩ?B8':8í?G{uVL~tn-9j \4JXfWN3l{dMv #shqHS%̠̌%'ʻ*ۃ_j % !Bf9ы)"4}ߍJ=di?jOF!^T7ӵU.z_lyRHk3d.oZ湜O{`sdxY8u1dj2 nQ 0d?mwCr$II8v-(\%<4* pXps5id%DT7Uo2*n5Wi_Wp!t59j?o]~bzFA^|J7cjq6qKc&ńHz,VT䏺 4ǘ[?Z@S !`NF>{7n2?& 9b׳}3`y67OjJ38*9!.( QV$4wdz4ԩ':?2?֯.(Q7o9~4j^IS,.)2dc #."dep)ڹoҔ$xj.qire$\׃6v{ %)^yymhF5͇SB,V RDg(X{R\nnk@Cȯ5t &f(jE R@;9UN[<$ 谈M5&˵뢚=sZ^t"Gަmiej(:/_7} ]̛?onLbU \ .?)'dJUdBC]H zY|F: R7ħ'0RnZDH n5ע1BtFLFv2C8R;˭*q.05G/i\)IvK2d@> UuֳT9%R+b-B^_)FzZ>6Q򅔙ºi֍i?}iׄ~AS̯ba嶽khn^4f 0WBNl\弊^٦ hHZP,b) 8+{mbO5dqG}>|}Qci53}3cӶ)ãC!geZQt=?i.%D |Ly^>aK.46Ke=Qڪ.L My IM'=0>8>q-B}w\+9l;C8*m"dz6Й\43@V(RD#rRJVg޳Ε P^W^b zoWIp2iG𗩤.ٮumD=?A QX^g9e6 \r؃l#L?˾:ʜ0?A&5jj]ϓ%qrUFgx9Wq%لIVp[W/`g])D #S )˧XQJQ"hH2(#$C$;PsIS rD @劻ld}NBn~Dx9BgߐZ2kf},#wP;Dy s[w`H988y?,I6r%JnO[<4Z-뷇y/ n_@SQR[l,9v& cӪXdEtN"#vY//8 U.1hQFdmna'ز,`Y.zП$~hX!aWМ62ѳlFr%?6F͞H[J2t`y*.*{`'fS{oG70|/JaXqZʱ7\Um~KJxFrnw}AF="%.fgiM.URG!"Mhl1P`_pFT8ar>D(/hwX`01r.~#C&p]  @e3ᩕǽD^wF<4=K^ϼBEɌTJ1)W%zٚdi$׶r`V:(wn hͬ74H lMY9`0o|0rcՃgF!̴YGl `:@ s z]q G* 2/yRUs4Uؤ|p4dNN ̇E@kǮ(i# _m|fzu6罓e5iV_P4XW\qj |C8HӍuD ևvc2إ`D &oN۬RL]!:6TO )<^m%VZ})^U s`5,zd}\fMFO%emW>A9g!<{FA!nd2StWM.YK*$Ұ89{ ܣzƞuD ԃfP%nIPøY&* y>L}1%wRqeϾSp.1Δ^ҍqӀ)-pQ ncQu/|VFM(a)9=]l%IcFq,40EҸWHfU MYG ?VmyYqǴif@_3xMqxms yIGu , Cl4|0TD\Id zW [hxSYLFj. ^UJ "[T 2AU}wK%fڧdL7/Sd>] qS#Ͻ<&MCm1%&4}vP; *4WOfa/ "9,8@Ɔ#fXSފ$SK[iFRI`#~^cr6]m]3fxCsa5p?'=L쐙xv5Ñ 'T4vځ{w*2i}odPx J_ò˒Uf~P?y/1Lj?H>yUpqWEqG5!fl jEPڢ(!S/Z)&DvҖzjeb g-w`Q3?}8Lc}#(Rmŝt*N|]),o#k ic4BmS HGݚ"`0uUHo3uc:-EI!HQ ;%w6yTG ')+rW_GTMmjBx/P ?f^{=֯RX&gXPXԘOW?e1vyòL=3H.l^QeV5%r~ף|&&PLS81Il[a)\+ y9)whdTqhvb nɛL:ݔ!Gc׳ }ޮy k=7S 7lJ/@).DNAھ+(ӓQD\3aZdJH^:?K3uf?6ڣ.Y3?/,;#4l@<اwZacOK@Hf׋-QeTR @[FvKǷ_4UE R!z|k:( >4,>9k8&@)Z5c\[OC|RґS"urWj$*뱺0Nj#G1Yl10[d:Ԙ˼ u;nZufquZgFk6t~UtfjBp/h)iS4DϰisXo㼒u 3 ?2RKNW8X³+2.}?]5t<##"Y0IxVHƓ+Dq&J6AZ1=+X Y~a|Jm`O8n2A[*BcL%s=wPcJJ͸3GARvπa#ИP}' x}aD+ݹ ;dFS}-ERR 7i\7jqE`ῳ L솳4c_$OTy`ѫ [T%!HL2qվO &lTd,x `\$t=phQ1&O+G N(p=/1Ӎñ|oVէb7ѫ pRm, pDx yY0d^ !~p\!C#rs'9pJ dVX '%$mCo)A(< i pmwY7s7: 4(vaG~uDo7FIgE]uQ[ׂT$vp.+ +W7T{0kZh3˔6z0ZjC3bb!mxH=Bwݰ&]=N88tpYR:^hhmof*ǖѪBtCx.]d򝭙lC7[c zQ2,enJ!k!fӹ/ .˜q6JCv8 dm\` 8'ksS؁AB^&Vw9׶$>#J=ݳ$A*<+l;x.d PD,K(C"3Dכmjp6?:ncgrPNV;u3ۚCz:;E_*N}p{4b7V**6(jWFJYэfݫE Rc`DZO' !Wl^Ii{%Shv8^un(}8Y`eƬ.xÍ3&M͋+GJ.Żxz+G9*J .U9mIdٮgg\)ΐ^"0!xKsgRt%Q@Ml"5[vx<$T,ٍ%ć-eM >fi/Vq{fd9f# }j՟Y #b.&L(z_[7 h_2 q0ի mBkU0k%\HUEW׿[(:tLg՞ճR)t, ġWV"dKNHI5fU>=+b]]sGf> L@4(#=b lG!+aeVt T28 Ogk@V?Q=g>xϲaT#hQ_8Vz)gIӆ^ML; ZyODb_8UuSf}Qjx3$6Avk\|s;9&5=!ףMOh]t JkH uUlx (0_#/Bt:!2\~%rۇlST](H[7n䭂RssW+Pn~nv"&&BE<^",eTa\O3fqY޶́NowU<8dIgq\wxk"俷npctO=ߨ ׈EZBnv lZlWm\m  Bl I T@uR DDf6Vu倔Uu}A 32yTm1DZn't U m`$fwD: ^NzN9+P}B)'wx|-Z лK_mxFZ_ ~xH+5/p~F?ȥWK]vA"ctc XY> r&-< ,ºot.3x `!aE_ GΘWTEO{\TE$LR4Wʷ_aYj߄ZہӔ@=9r2eHQصpIYߡd:v&pٜ>e' *ߤekM3pسƉ̦LItZ* G5ΫlK)l,AZf L=2 C :>SzTu~ !0$$0/)AHUPyi416ig_B&CcAZwFɕ$O"Z6FCGG3rb)y/1J-Qb{N>+[\U6"999g)R̂;$W[m`1F1*=V6:adMOY6̑ xx4 zmM4}7knђs*!-oQ%UZJu0ןo !;x:D89oi+u`4"g|yDJ]~$鯫BUF":"@̝WƝӊ5gƒ1#B'WfE]j QEmotMo@p/C(a^LDw5GWXmu1Gb1ӞZI}Rl4[A*2 iJ5OK?Tm:?Hnx=zz,\Jg-Qs;DT80lu!@qf)zs+nEk ` " B,֚IϙJa=xbn0gBq+TumVT  4GZ+*;\7qSDoO`[hp6o|ȌX_"rx{P}okZ1T 8!;)CU@:52JC>2 @ydH@~ћ{8?Z#;b/| ,H>ܒL zG6Z<nG|?fɚZ,ګ*9%ZRB5cܣTiH˳NՌ.%Ѓ:)A`o>gYm-6,\]bt"MMjlR:=wa+~2ʑ1-Aܕ:`F>X2h9pAלZBY z 5fB/&^ HV)գSZ+T"i-ר-_Eq[Nmn3mweET\s_khj%KUr?Dn/Qq(`8N2ݵF7SۣYv_$I|vh,o)E}Wu@I>U:I4#%wJįɑjp _L x/!r9]br]N֠S]8A`: j\> f !`W2QJ܆ƃ_Mn :%E |9 1|-DUgqh,ߖtDgpkO,K?9? $N (}hWkxV_6$kgyX)Quާkk`i7~,ZLAKX,Z$ߣocげd&ϯ] RX7iF򈝙B$CntS[Ѷ~<xxdUomx1PcscS5Qt2f@An^!yEH?`2u{` ks:] blLk#P&G%k_Vw5 Mџ-$.Aeߣc3YRTXE`c;FRPyCxuʴ>=c~ NJmJBdMW[ϯrđQD8C٫oJ._8 rmrc aΡ$p{ܠeA !(#!n,[ODTw891\Td3ϛ^9onkW}"Q>nIo! >ȋ굲8v&<#Vš؄Dnd8CK.eD*j6r˕JŽS'">#(~%߃|L"ZF ύxZ^;0F$9vIԢ) zDAfc"^ntuBso+,nfcEw8ٱwYwa1Y 1=nJʅO T~6GBӟn[[;;󞈜v|ޫ@!c IHϨ;EdEsj'v¬)m2T2y wKK7Z7<z(V'T 5l :jr!oڞ=ix&#~=)6ɑzGJf?c0 d(띻Z"Lwog}[x.c509,%c:)l9/`1 * wv 7go+ụJ#2%ZYC7"[^C-GtLGJ2xm!Ojd/>M@@yڎw4&x} 4 5.~Xp9.im@VTA ‘Z7]cȀkEvye㡣TK2wa8q `t{OT4Ac ڢ wCPبu!!\T%}NdX61џs+Fzg!-T̻)0ܪKçŲ`)4#k:ҍ}6^P[0eK$SA@'F _Q9]Y©Yeϙ%ľX^تZJVN@Gz)`4%{99_i2 s'<>1VU77O YI0ׄpi#S%((d5uĊrv$ GJ4]"9ٳW5ҫ"xR"u7%@"J^4o_х$C0BG~CWn,.[Xg1 WRg17Z1U yԞmdDQ#Hc9i)R{ndbHk`}P1^,+3^ XZ/z:JBԵa<2X ?.QY=Asb̥I}Tѿ)xyXPHvsm|ی5 ~J|{ Hoz5@T[pB?ԍ' ~c (@\1g:C CU$2^F}16tU]+a'.1\{ĺF *ژ!g?+^o~V>QZWxL-ϘFR&YD(gl1/@L,qp%p0+N:;ήI( {&`4d;JTb:?2>HY_yx:aJ\Pۂ@N?g4r~:hw:(cϹ'Nf3~w, -@L >'t"nS>퍫,E'{LcX>Z*(3B0:"Wc=xY(_ߢq cy뮽3.loU|0>#Xݜ7 \ޓ|PYtm} p55UR' TPFM_+‘yo.hVgem&QWGi2sSm1/-{񜮅H^)/4g[Ѻ{"߳/c9kd>UG%s?L]pȧb:]3ÇTj;!ީ"T[whA9) KI0*XLx)71JZ'=g JŔGWY>ʿ%Q]"%۰)<[*ҶS;*'ߐy۠Jk rׄWƁe_9m!_UP7& %n`{!o{nrK+eo-d֥+Uu~(UN굋u;BZx8؂º? ێ$?Mds0QA崰>|KC]?L{!(Rl镠ԮFZ`Ǜ,6KZLtM`mЩ[Cb3|ݨ CTHA=&:3 3gbC 鑟lw=7W@_T*(xplL`$zrwű .v[5y-vo@H,0- NÊ]71U"LcJsN(z % ױńU,U\Ѐ`f9KҶzM OA+CG8#g-+rL:R , A` @nrٻ-]ou6R; .4J/A |ACH3Fn3b3Vbjj ܧ(ٮ+L\'k60#B,A6ϗ,Qz t0cdนw4μc=Mބ=lgK|:rs^l֬{ʜA7Ιk(Rܪ}Cko3VwEQxC (Mγ1b$D j&JW1T}SBŲAX?S^4x(2 @ ]Щ9 T+ Dkvk+ snqa3 ZPzHA~4F9_ F|)Df6'!U2ֽ0nh~'Ё4p=KvrS'25Дsi Zqe| 3_|bmu'T_^3g@۾g;\TrȐ ޥH1 ![Ԟ^ Ƌ PۣsfӺMX2ňko@Uk)հW~=^ZBJ3i2 2wjړL uKPH?s L>>`~ ptʁbrz,(GrBJ98F'6_ߎkbG|KdІ% 6Cfp׃>(W|W&Ֆ/fXʼBPfE3K؀&*pH-[>pũڄr:]sAF !e"Q[ 3SN Vx$:QKnT˔8ӕzsWsS2SJL+'b۷hlpmf[9i Ķ82eY{PJQ'hBbqQ+e x kᆔ-+C#Kx HAS&u&L5EE4`FmJƑ3f\ScwEr0y3tZ"/E=1A}u@N%#UQ>ݡ^(|J+~Je7<A@\?=2e!LF@MM6<5R4C]9;6˞K-+zsM q]V`/kgR#iH@q>z^q֥A^ ^u~bN> HpPX6@I6=cO0OF*]۳~&*/Gr@EVrzC=v! 兽1WNr R"4%̆v7wo\d SOui@йC~e߭Zuc#*a9M۞aƆ/zPVt8oVk >_y|Rn14368XZ,f6$rWÙ…QcfqiٮPh8ʼ*n+oh6<Ů*ݘI*Ȟ# r__NσT] [2öAT+_>֠"r"#+&zL#ۢ$B*dx2%Ɖ|:ܓ$'U$E*RR.]Sx 1Ӈh)JnWkRRl}=ͨ$Aí?.y0M|* 5oes{ 24.*bB=у|EHN|}4zܗxyt Zb,mDA>( < Ab@q 2UکּZ"epN+J՜@TT/FCdt2 sU*->4G9W#8˝mUp'< bʟò'uDȐ)Ѽr1gXl`c>n5vbڭ@t8,Dgw$m! 38*RVH#h .) !g3%)bn .ݼVi2f]Sa}5@<ݯ I~;>fuƱm UV]ĴJ(#0bfcl<ߌ؟SK(px6%FE#Awr%xDሏ"Tge4)C-ͽ7d ߏU^Sg)IPwRsIH'zf~`"+u 0Y-F DDS̓0_H9||L*+v6Fd:чش!wӘiD6rz8E }s^sO9,;d> dY7u[u0̐eI_͠vȖW EOg<._0Ke^.P޼4A+M7^ 9R TqI/𯸹e(L_QZ>q-nSy``j @Ge l^9s9w.֑XU3"c:8d 2-KϷrd5 i0;^6nq!XDV{KEI}RwEBAD&3 7箄b8rLHzخu7M ꑂe*&ԯ3 Q`Jg a̢ǝ[uF8T1(;,{u®!N}zB~D2h~;.zCm U]Sl>Az-K'm9./Z,|4Ma6(00:^7HdC? l֒lC~^ʤ} ?N+hJϘb;v>ɷC(A nu[8C%t_28Zq"-9"xhV+\_@@H1146]eM."`-J>ܥХ3RfR:=[h80tFO9OT^cLXц뵀{rAB=cq3ڪ&йm?i3z^ǛEHCͼf,"Agn[}`Η7@ ( uRw}"`SbMJ[E7E͐ b0cF 6'&7ԾDT'%PGַ*'GcVP~/A(2c))TU(E>3*H6F{mg껮jtAD{=hҪ'e.Lt$+PdzcWW;X.A ngL|_ygq)83Թ vSn į>L,Jׯ@D6WRyk"TZ7'خ83&q<6d9,^EVit9Ey䕜<<;ĉ4 0'mi.#+"Jn5dV_Zcg˴HK67tT39A8 _ Y)Y_ga۴/Wf؜jA039idNZ̯l! $TKֽA+&R޾NحQ=)Җ >P^Rz\U2EɃw+ib8PsWH1W*5W%Epor`Hx5h#!4D k5|+3pr4rJA)R1s.gm;Xm@䊩 o㨵 YN5_:xQB^9QZ#vh ۇzՉ8l#K$,7{Ry|4T !Ȓ!jLыF~|߮;x,E/eDLA x:Ȝ m ȃ\|)Ax ȥ'^ *6W<^w9qGG 7giQɁz4TZ9C"ON_i|/qUPMwAb[Qγ{ö ,͉dar M1B ܍>PlϦdLED{`ᰤ{]m*j_WLm@K p_ *ݶ8TH9:HpI`'FÒK>4NzVô]B;)xXZ&g!lfC=yI}o*sI &&OY6! yw9QA "x/>ku|G5I߮Ӡo 2(Mkts˫'iXRGWWYϐ@qtڧ~  R&uxhR/*%IFcmM]G%ȧjRq;KA''-QBE9miR:D9!WE%gLS[Q9$@O@ٷ3RDaCƳE lD>խ$5Hlܘi{J"ZCBr@o&A80"*ӡg|<{^/?AT Q'e|?P.esDD^)"Av<D7g?i}Xhlqlpxϛ/jAy z$ 5$C7!UP+J^@.kwB,e{:QC'sq?_9VjbPikڨug2UErc fm(fr`JCX+dZ fiw'YOmm҈R6r{/|OM1#Dxb#̓EZ=լ ܹn.' +)sl]&`.; D[+yJ7]u4 u}W!7ni$f Hz |52S1R]!vO(ŧK'a x\E4eψXjC9]q!+#^VV_^`8H01yZCBU>X* 5J;GD3p[T#CZ)S0g?)zï 廟,n=~ X8Z|\OTi*Ⲵ3L!g}vW dLˏ1dyZ ɕn)nLp+4 p]8.eűk:JVA +n_Xӻ[!i@xIenϨ<%dI  NC8RSa޹Ԋ:Ҭ@Tx6 nJ_YꚯٜO;g* $css"ʻk^{\ӄtW%Z}Kgo OS!iTaY͙@rM;ṮjIʕ(̻ c䜇] ;.SCXBuؠkavK]ci֫uITDwʸK6 .7Zs,)TX AVp*M_EҊ '8ڟ4H^LԯdP Kxe׍Lbp.uݽx|Ă  p, G9Z9iz 1̙NzM'k & ߤ as /zG/La 1/.<ꍄ9CD:jZ.}׶^߯&.sՍ&ŞB_JVk&sbeCGc3q?W}BvIC#x}{FKSU>@Ȩ&*/k-axH铿 DKHrH8O]G܉֊REԐnd> ŁL6 ؍i'(1ygYrD@ 8OPeEm:>A(_ ˲AHRr!Z;GH/J٣6~ޝ3n c- e8-k7 Iȟv'#߯M#բƞXo] $5v` ݑlddAlHrHV݌VxOXrds ݿ. 2l nKDM'ۡ% Dʙdëús^F)_&1;POu[\:{H6b\ݍzA / -; B 3u&ɠV!x? s~ 2Fi]|{e]>ZGK9MILzG& V')2 8Sy Da4aoGG\P<.A͝r= ;ts B3^p)H]}],F$ֲL}kS%v CVu o=#6ydKroYϻ;l'S+o/@OG&#R&؍ZJBng2sK{𭺂 >`1=j6ȓ/)ce#3Zŭ# #8<מ 8ōUel.-c 5O&#f{gx'&-؄aψ NY)϶HpA3!D׳q6G*?{M7 ")b&%aխ뜌4c9gFGU)`:J_ 0ҬgmpCVC"`ۊ7JP=+\u8Rz#9*%vfv?/ l0pL1D 4~s%Bhnx)~ >MR[o.k 4!784#mGs'[X $>B?#7^<2Il[xivҮf{X\G^OwRZ^B2#\[4ᘷ4Gaylp#iiSEuJ@i&kZ^^L6(Hf">f;su­cw̱Mqe߲dЎӫۂ2<:6ute|w$wжC_ ]+FWl-o %xW$H6Ed;YLגz)qƺ"PRwQRW!n[_ x?RVn/xrV0N3'ߌ% 9?&3ah9_9Z%=*قwM"qsHYGw MWQ_g3+|QIP IbFᘠle)E e> 2.f’k%ӈtkN?11P-Fwh^@w *N۰Wa0+rJCh: cC(P0`Vqs$|FRY6eK(9"kX!8ޑ>^Tuo)#&*Dl?bDCoue*y4%?pqU <JYsr=f/{,gПHgs*ߍ$ fЂ6mvk:QI@Ti&>ܿUw@\B<௎2 +fj_il]"T/F=VNd` m[}3bӰcXS$ ^++pB۫ŶRwcb.Jhn<`X9:!1Rp4ps,nP\%@WezV0Rq/8ܦ]CeNt,i 2ywɳut4zήb|ZgURTT#XHN}{;︁߰Dۡ`E)r6 LYVG4q1ЖoPM6 :^S?2ͯXB-VkrRdd4`;Fk416KvCen  ҄lqtCUX%C2Hš'm_a4;УLƠBIa$^4d'_ȉŶrC* VM u[`DJHQ?#o.-g*K[#`df`,#!t;~U'KԿ FʋYNx KQ ߱JOiY/1HRׄ>ڰn _b( 6xrYUY 'N#]"9xߖƆ+/8VGƈq,~y6*y#arIOX"O ''.X29n> *YΞIR{n B}i/T]nNvEf]j/~H>mRy;H[^RO=aokǬNt  =dq8U ҎPegjD9hn.F#ۼiO٣M`CP*fAE%{?m w\=/ay~&{O,vt=peE45yjvѷ=-:ZLǨȜOV=AA? k1j_Bcp`$*!*6w$4w&WZi[h31՚aWS\;5k!"aNQ FA/CWE:W\TSEL&v}^@QL/UXQ[}744ԿkH=UU_ VlOc ybS xvW 6%dh|BoꗆX1v ۧBljok TZCy   d٭(z6UM՝u`:u0QB_zBin0Yb"` iz/x겠] ^GkmZ*W͟@C=܃Ram%79&YFt0^$~`*!6b>+ Y/0۪Pb!DySA31by6^X{A*x]JAq(JqOA-'xAGzv*:# x#n`ƭ>١G:zE.ϩ̴pl+E8uC" 5qrp(4͝]iwY~di/ 4a1zRUL}З,UbtZ*E,H#n-‘Ԭs6bv`n*G'Bom+'jpA'kb#~k!-urdyȎNQ(QY܂7gH1w&S ک {3& oWA!|*{%Bx6"$K\0#>m9$ͥ5pl!@诀YD~ߏWy|=9CFiTuf}P5!ŁZfFu: X \1%)A ߠ{W R\ھG'Pl77*;mi+ ;m$&G ap a WKܓR<0e'Jҗ`Ƭ"5λc> s\_"-g C粟tr͹g'\/ӟZ 0z=n4;: *~,0)^_=)Klf,e9tT&\~׬AS@ rנV~Em:ٙ00ba</5%yIXʂ[6@.S;[LOZ θ=1 !HfTR4cu,䙮uSՈ'iZVIE,Q쮅e wfE.^QsX7C Y|xQ` ⰳ$Xl^sZPDtd}~w~+𵘳/6 '-YA ^0jY&04ot QjƠ^ fm:vLKez{ùrIˬ@pW<ΟRXb *V4ljHIQ[ kD7LD" 3 |TO2۩vq٬`k40Y"Ώrh>KVR"JQg0QUSb⨭)tġ!=ͲrqQv`v*bl 9qDCh$L# kb121~Phf$"t1?ҪۜPX k&mM G(#rX\B$R6G^OcU>(|ٮ{$5F.k 8ry^$8C;x0kz7 (H9A柺!E}n3$*uXLRYҰ˟jᐩs Q} C7rn*@Jevئa.XR.Ρ j),CZj*Yy]-R GltC Pæ,GFX;uw_꒝lx r,LJ2{Aimu'&xwJxT{pzLEC5` H,Jj^NMݖΚUX"`}Bxx/*MT ac͞z/븢DWoPP{{Ϯ=RqtMG39߄{"s(wੱFXg'VUCFB,63Ewkǎp5ZMvZtKq;QhAjw$Jsb$fs X9j4[2JL=dK-,Xi3y!ÝH5NAG&MHɌKȋڍ5<F|Զ1)V-!3kgOB@uQω-|~s>K#sX ]jdx|iW(Cd %E%=(MZ%P{o }n&6?&y1M~; 'o@?tg5&-*#PmBkA /mT!LEot47Y1iݜNLBWZj#vq!!Aę=n|{"?ۻeJŤn\*"zN#6, Zo,dije2?ItNOE2pO*$QY}N& =ic3tX;) F`YRG6/| ̘[L(%Rʆ Vq]XɊ-鯫nrӮA}A+jM1ׇu'](&CC]u^m X ؊ujҋdlᷨ"zI%Rט! j]Sy GڒD~HBAc$@?iW n4GY3/xgsKd mdU2D˧V"}P n{9-jDBe&XH"T]! dvJOorAr4v5O:Uxs/:YalIC2bĻ@2nz߬ˌoIo .Qt4<z>З>#57< #B.mGhW"B[R0O3e ϺW5Q Qffcl6&U9dv"OܷzBop*N/т*hӳ V.C'o숱$R+Ʈs/w\/eooB}{E ;ښs'4SB, _g u7 *y5q2&TfT$Wm80C vΆ/o\YO7ӯU8_ K_+ip9"o,- %gègw P2 ]uhPS^m.E H:IϛFrE2qyUnWX9F`q^;gf) LoutK[.lU)ƗK⟑wi*W8lD4wŤhO@K^R_rWAnhE>,U7 ZK@G}"MKnEc*sqܐ89bAqH5lӂNMofΧ ,]>esYy %KU܋萢Rr+2xۑAy?UIg;ʞ|FIy3 Lh8N8'yMa=eU((>ywבX[Andma<%i2Wߔ ׆Վ`N(:<n~Zq.u3L>0E}| ?z*ZKlJ}>>eVs98<7Eduϔȟ,R8fQu k_ѓ?#Fyᕛ,+-3O >O^* e}ڮƖ9A<X۰dp>Q\7&IoI7j_cE;[ĥBP`\z/aZɈ9SDtW58Kj^M*sbB$5jШ_|4 &/U"_fgi`+1?8ֶ+Ǜ՞UgZ ޶YIV>j]LL8-8Ƨ:iz߮w6Էbtp '`|. ˵Wj#1XJVN& W%S4z o څM;v9˛o5qjv]4mm:)SXtoXdAbD.;zfY7Z2q<Χv-T1-R뤹ݿ5Xu7( 4}B;'>hZ iF?C0!u E(o+q>*5euhUt42|.jĦމ-fh,@&ȟ&zO1e (jNGEvHCuYHG펝R-:6^Ć _NeO}o-X'6>T`?ħ6WN+&TPpxqϱ&@[VG3|;h{ 6==\ #14~_ҀMkKf9;nz6V69_3ƠkesǴթBy ĮH׬kǛk,ʹey*eD=TB0bvUl`i£9.7p%Nc?j ~SCzKgqzvKg 74p$Yy3Zrb7MIh\cCa1Sw\YZZ.πԯǏ8j%9.mʺ4ȹbW{°꞊^1bg4J9ShsyRݐ 4d8BsC:-[C㥘'gCOЬKCE:YgNՁ73Sq} xv$7'E&m5OGter2&yRk^V;6;^V|dpͬTȎh@z99 3%ѬKt$wDgR [ǖ!I^>}jdPGlH/Pu8Bm{v:履V \LS8yHMRZ|߇&sY=>E9*E^9=`5R.[|fD-oBOP)JO&;v.\G߂S>QTvLt-ݚ[|ށWD,òfsbHΊm=z1Dr۔3% QlTlpD5rlI۹>6~r]a27ICGz(whRփ>Z o9S-Ez%:$'7#=#zj,< ?]$lG3 }F6I q@]zWά Tej~(nDm &4T"ήiinγmPVi(U$4ITՅI pLQäM,댞! ;FU'UoB V٢ӥ x'D^}g!'duO҄(HE&DB_eú|n}q0g.gj-#χ[SèU~LOͬU\12pMIqOrek :cz鉇B˜-:a^̷t2RW #hU9pp= ,s 9Unk5bXjLe W>XYekFYW}YOCwM'|hSk\5ӫE |N9g2!.AFcS9^LJd&AB1`4ZM2VOc[Uaԥ%VO jRiAl|iD%d GO=&nЩ(kljc Mе=G\mY +BJXj#5PQkdV`+@;ħ ĸ(=@́S$b̕t%\I^<׷k^oxWa͈CqI=ELQ8F RO SvZhIUVU$LӤju֑MJ<SW͍]&K)}ӽjDAsEyo8_N_"mHj-Õ)49Өǚ5iS`4V8C5)zFaJv+'%FNAoh\}eG'p@Q!Fc$ͳ>[𶺧sJH3@Ô)'9f~bU|GfgIYTvChzWnCy,E!޷sj7'kCh88M|F F*{`>8"&N?hYnذxp&)xST7K|j`5.KhrIA<07B^6xv`=B/v=$kLc"-"sj0I, [I;}19vc ֲ({dnqIU6w_=lojhV<7/X ˣlFJ%`ZQ5B vL$Y0PUb> $ b\ͧc# S,SHu`X@% eMMb=!5IRv8Hui;f>s[T|C_!y=@rX=lvFyhu@VaK5ҭ_F?D2n9Fx7TNh֎)hETTael=H=KU|1D蕼^*& 4t"}?:~L~ja< Zu@&dv )OOG)R,pVXo$v)SLbU省hT5:vv` ޮFo`f D<(IjP6쭀jI#E](:Z[rLUD쪨+6= dsLRc@y:zR֨:=F[u!?ǂ`C 'ZV*B(jVeb Odͮ߮p!$k{wIj u䚎e9$zΡ?hݙtkW[lPX\); 'fݻ8?_)-ucpçdHk{˱;[\@ b٫e px? u!o'!T2l'0A YH݇.btP[4}@]MޭwMT^u],)ŇaQj7∗{M E?3s+M< F%94 -_ I6K2a! Rxf&- &_wW.+؀ií]Q*q)JUJ86'eKŸIBV[t<#kyk?8~I2/>_{XT yn;/OS6 :X.Kx22K$vW׬j)=[kh3C$QSL EΓ$;GӁxtKhmF7KޏHE9cZ te~=f '03Oӄfg$fe'DW=+cB 12y\vs-P}vg# EPMi >J jMhbS"s  f_FswcLC$BýRL)3f9=Oe@k`QFD5CQ0?F#;~P eUd D`Kz!1'RbfS_FPp٨TBkLZ#)= YAd4O*e5߃f∞T{b@(UGa`_'&(M#wwɘQc Ǘ h47et].)3̯y m  j=tZ`P_;(0#6T9c~Pt8(,RhS^Y4n.b ͦ4F7-Oz&v[JsMF09˹RhA'ogOBߤLWZ.|H{*.|5q,( P.-t/J,eԾ;UK\&XӣûwÅ_RXU&gF5WS£6[GsFf noJۄ[,hvDWesޏYJy9 ixȗvnycFpTV[ʦ j$_(b tPG*V||HΉw$\}sV 0 4 nrOUrCx`Ya*<|U'fmHfo` gPmM w!rJ:V3L|8%^Զ-+ZwY}nOYJ Vmn"b|ڥjp,O<l= ? x@8d;/]4ױe[ e-PI۞ ŭޢ@uZP3L_HƮSl2lB@)RE=kpo~p=բ/pP :8դ!SJ%Jh`V))ElUdѓ8j9k=28%6P##;|oF~Ilb{h8pZVGN~6 ) }x5@ϱ?`=8Ժ:Iv0p_=faVUҍ"Dt?WyM58a1AUH4D@{ѵ ~r_¤(3c޷NI&I̊kػB|}yf UKni/%U*ᓵ@ )ghu(G#*vD;T\8$,{L^zgNhcV7 GSgonjVtmȯtV%HO#91Nr{kK:և"8qWrĪ ^WNNXΖi^6A 7ҭ7ȀtV [12 ew}3@\g6FE#[r7!d+!{NJԯ/ųw1 ni=&*8ܤd-- ?hKf۫Dh?IWd_؇PJסvOzb6]Rʰܦ1{[I %]d*,(>#l/+#wgw$.^@őasXbk: +H6>!#7y`_Ї蠭Sd0j\Oit :]ʂ1z?9ةlX? *1Wk9 =1E[?vd&/ Y`в;wXS_4g;ABP ) m g{ҀI8gOr0 pO'׾A_{'P1hkz .iO3­׷65Čd_x&B"-iMYwL m|Zr!C7池' " A4Ij1a1z88'],}c=m?0]GUrxZⷍS!ocf]2J/q9QT?OF=!g7~w%6oZ(ErBDCҔZ%(7Qzߊ+d+96zcD)N5SzkbA` 9$XA92fL8RՖ,%[GEu4x]P 3(.< I1 0ҹ#F!)ʣmܺל4[HD2kêOY8S yo@@Y|wJ}ZcX3s2 >n خ; +ĺʸG >ϯ8]+Q̗:Te?tbd&<`yVzF*3w~bBNʼnlfE!{VywBSAlu22VR(=0ݎ{5# lqϞ4St]Gg*Kb7o3 y+<]@̣:-53Rrm P%pR(F2hUduZjJn`ˠsxUg aL]¼YMQN~׌҉'N fZP0}l/Z8L9@Em* 7a'8/!8SAph~CQd̍jr X{D\ cWVf 7hr 03n*nɟ>gFD)XɎD K5k$K`8^)+)ԃn:e,"a.& 2׼‡xu?jV&}/vhoɝ7ɚ?M@tE_z1QW/cE _Ɵ(P(4V/mWW\AcsLu0 !Vc ezy˱lxD&l@Ucյx{iN ѭCF6G~|H'*ۂN.n+/g"XՏҟGWa}VW_:h]jn7фy~ZDQ]gwV2=tiRlcU`/)8k6e@aCjU܈5rurTAq=-As7ꓢ,WɅm/姷J1^D,ޞ)V8xK](m*L"}APnN"gn`mWa}S1!s؞- SW4N90RR礉g 68֢?2D-N)+Cj\`[/SdYF l͇X;#0Bbv/X6nO:Ʉ_U*cJ'w5IAɗQ6dϜZq;?^KhSp{n_ Gfg},hbѻ"LQ$ٵsuqu/[T)ԺJ~ҥ@_H'L16 Q^<ǶAhqvmEDwcD&[mLk6*Tg' 9r $T=p0)ԟP̴I]XfrG-S@cxD1Qt\ԼvL`j⵪Y3yurqROl`;$$x$e"VhdTi1Įb:/GOt8>^{O/}]t?(cY /@p~CJ(a5B?1 ]4 4ks% v:'5xlݕ *rgnǨ㦼Jɉ2D3пX9FFY/Jӎ-w'aO|֏JBՊ ?Nu,8jg0jCuy Ck_Z_cw~jl6t7zڰ%gSvAe"Cy-506yɀ-P1SGV%VavSΊ z*Dc@uNS EELBY()}D񎋟T7 Eh@qBy5Nv߿D@:;%yX~)%.ɥ[MCG0w`sw.Ƒ8m*UMzq+^q4 ?|D0̊ݖ}L,^ˊ cDzC m.+VN M(4I'Ѫr_*VТ }*t]ڦ%{nE!87B8O\}Q|KD>黮?HlR, w|[([Kx@eRiԊ݀AMAڄ^MS1mn0o;Us ~R 9L IX<4MYI ,df` 4I/#֔Qzruwj!w+R-^6YҟI3./=!w`¯^azcl=@hS԰ d4@{FKO86:ճ =gԬȽ^"xdf_e^ؚ0C\E(t ݩax#%ޓ:Ik`=g}#rXӥ=Qn3-3c> Ҝ};2~Fm(pZJMyI'S="4 2g6rĽ }l)f):/m@rc{x#`.qD=+XI76Cَ.Q?;'΂Ii6[3j5w??EFuDd`i] !HhYR:t__Y`f2mMpS 1̃4twȝ@QO krp|/^1}?\Q%L~~(P^T£xn)vIJ]SX_q};4ya]G5:0,k:[mg:~}J$o[^r[ v4ɐ͢W6az0ʰ wviեzؚ,zIwmR7 (:& LB%Q׳wJ'SZ[UlkpqhM"@xc3". (wC ȏ U'/#E ؄1Uksy_E(.1b)<<q2c۞=_xMY%W#7jm72ߕ w8sFBL#hhP d'|!}qyxV&* [TCV;P8XVs'.}ADe||d oXѲd:dU6v K@"6Qy#dkLdV.Zr.{l"7˱(>$udXӼß;N+jpQy1^Csy@we%L 0"w5o|# JʋnZpno6Xi֛W MDA]QXI9J1`zi>>2(sH|}fE/] ϴW]?u23y觯XZ%fE3_ZPcۧ&9R/RT/NznM[h(|{5Fs<Q@ˡe+[.Qq)tg80^ڏ \F*(\(-OvQpjx=/6M#V͐f&`aC(c%Y2V T~i^ubq`sxunҠf_LõV}hX_T~y)eж@'VpTڠ; cl#dW{u9J8IO < x68薖K=kTWAU=0ڻ Q & b1BL"7yVn2y<ϱݖy|s`EeH*V>2_[ "&d0a!_>  c|u= b>p%$(~ь=Zb fEd(Q'~ISJF]jp .^%iU]obT\C nrCQܝ;m݁=@9)࣪xzeler(+Q3@$ z.(ٕk\6qt~]&t $TV~ʯEN \MfXӍqpwQoh 57%$y@YVƍ?nt6\3Tkzt=b~+U )8Z*qUw>1T3Qn0:Fvz$1:a|.t新Y^!▲UMriC 1MX|6 TOɷaGQDHeke;!Tx*oͮ%^<2CHse"vwY5365ݙۤx20 !hL0\pە5cuy!QY 3Ј,ߓB2jc֑t{׾R$H sp*)?8 yY]h~M|r-=) K;&%m@ܦxqDI*ڍe7qpn!ZN;u&STЙxF DZ[@Ej fp ٣}nO _Ki+$iʼn"W+^ vE=K#I|tƅ;M^̑O((|D!vV:QOAi.0*;x~wINଲu`fALȗfÝMآ[1:+v=`5P5:P΁I (?!x@Nܻ=aNJZXJRCbQ'<QB[Io/Eh2[i{Xa*/ff; cu&˜٢﫶Ko5r YzuXWc,Gt7PΆm E7] -мV,^>v UƜ]*$0e OvIYM;i6 kɫJ9N]J]>O,T ![BmM p 竻Tq 7V`M1AR_-;on‹1$36@x%e泷7sUխyt:-e-oܩe"VHw* S0N2cQT<}nK,8G Oiu( |Lf>҉!̻Z2h&kښR"A:&P`nUًćuT(>|SkQ\7 KG^{S ~*(k``;t%)x53a@| #lcJ3,>1h0X+mzh3 oJvs2z`O6[O ˥Iޙ#E%X A$.3oXR)uVclRUYq˽ [:mUi)NŲ[VCaPb<YX7Vp|!^E˸+a*Y%ZXC7˽qUjVfa8[P@OcNˡjh0(Wx7(71*es kU(XJyH&^AC[tN˴_$hP 3ʻXaUllB8iFKTqΠKqkRdnXUb$va,+Q )E,wɍk_mQ_W v݉3с({Va$+2s(x]@-m Nΰi ڲ|¤%<~N]Vh8:NӢo~T|Wp3\@Qcmģ4jq&kC'0R>;^$B׹/˶߹cxl;ws"2yx/<ٲ湮i$%axyd5%p<6YC7yVrpҢ!3/`4m;»ՀG瀩9硦iqʀ 7EbMC*,M ?Y qu>/[¦*Tuk2>#)%OKjp=,Y.ݥM7h5vvi?aP T398O l p-0Ԟ;GfL4Ç+7泌6K.5 Ъqpp}E.\YY:*Km:kFLEWQ5z٠zi42&.scB4pHYNB*KzV^^k-!򝘸ixgױ,rVjm]$h)u%2\%b1&R`M(V]7*lqxD?G!m^F٥~H`7H# hi~NfE-5i!tR;rT-9 z8yشDzqM<6; PJ}o-HvX0-P=XƸź}c/AxpÂ|f!4N{BZoЋC.z/M!o|'|H^hPTt )XI&āMA92'f~MUqx&drdJ[z3'0E^2cq]- 0"(x)ԵTѯ8IF`6JZ]M\k Ű9f˔zXg |7NEfrOo<7]S࿅'WgK噱D\.Y]Y-2ֵ82;c҆-cfn5Z;7M VJrCz9]dյ:`Cg aF惉EYΖv1dQ˝&-bcʆdo:فe?,ܜgbAa.7f"҅0j3}Ъ$^hHQyBcxa^ږ w>i z I)a[ϰ+]7|¶?: D',2}3aE"7ԮP6\[453HuzS{#C+`0Np) Md__o/@ǃׁ)͇Y7Z91Ԏ[+(z$$׋ v n 5jaֵASs_Ba P :xC$cv5gu>G)Lo$00`z7ͩlmU5g@|rz?/c81t#޴)imM ՅШ"n6f?cw'2oEz45e48탯T>; T8X#ߕIsL)L.9V=8 cZrCf9٬>pt~R2oyycx19^nvdsa0PU\HcDOIXdaϩ 54X~ufXPTY>Y/u<~է}L3o':Eў}0HS7/RB sQzYݔcpK !fܚV`RKePLqz&ktE/pvicO`nѾʀy|!qjYm¿O> #Ŷ_W Zn;uJs_\א~)XRHڂi}5Q >1m~1bS ߮Am+t"r5Jp$KȺHs]z>~mrr+N iS!?)cD6sܰ/x'{٪u=~BOJaK֜-3B:lc+f.:wܼ#88gST%P[ lqrKaH<Hc\ՔQ 퓸}Sf5ћn*rVL" FymtQ14'ذ>,5_kD:M@]Ʃ!ֱk *Y2Ӥm/\vs c;~8-dte 4hgx#(Y2;-Ts:ǽӣ2j`[ =gukSocc4gݻk(;B1őMvmmeAO'*8oI\4ʜ+r+;*wŷdDt.ޱ-ZXU3ebm!QViY}#8K4G2ݫ{mɦEN @GY%/(7f}1\z,[T0 beRDMpTX%P6MɸGEƍ b2?+o RCL,}`U[;&6" .ai^[)PBY<:˞pQ Ĵ\%dae!f-RglAOs8GHPA:d\풔Rdg- -nV} ^ưky6{A"[kea`G9mqQ1lOҢ5vam2Wn'})>=ڤV Ĭ1֭H%+y"yT]==bM d˦$ވky5TuvA-]\Gt`aP=ah"#2w5aTz2opN*[}9A9;mX8?|gc>Oe8MMZ?n%&jV; 2T8켇uƞC%O0۸8RВ+6JJ1 |WZ 9=ĚC鷻iYKa+HeMC ?{5gEc7h08mGW1gy>젶I;S Ztd"M`(EN:GTohJ7AF*z-W]B_ȸ"9P$yQ p(޴^D[!Pt2*È~Ǥ3өYrg`>f )B hDm| C>\ܐXJ1kMDFMꉩS|g{X6Oh:1Y' j65Nb|60w@ۑxyh4H1ǜbvkmbw̢}m{𞬫ե1KT\jҕaӣw"KaҦ3oj^}Wyo`L[C X`aZTB|Zv= 9A}27 4lmkC禑<}Lerpc(?D7Q#RY! r m1Q"JCʩ6i;׈3̞ rb=ً< 9UeERٿL}FVxo7lNG8_F&S9cpĻ`)].}r9Z-:RRľ=u,v&%Ǜ{s{!e 2Pb4-Ӹ4Y$<蘿%ţX#.ԲkK!"sKs-~D@ѽjamVϦJ0;.p/NNe _i|w62K@MAE謃d o߱9ݾ)NX$*NP )-,!JNjc=,dg y:2v۟9$@Mo}tcc.^C~SIdžfLbrD;'Ol,W6 OYՒCM ibZ+ǪOگOC\I.1+ʢYXre6T6؍k^if=:dF}J+ E߀#fg/_`FgH )ݶ[fΏаKj+:@|r]CMIz"FP|^<4+|{71_< d ޜ.܁erT ] 팏H<$5.x@Ò5cnYPDPu+ _14K%[~3(jOW(R|ob-S>3eJV́Ip'2Rh|H\ B@4oKgWˉYKv 0zaRbNxhI"?2C`^ Î :?I'Q@&ZxOU+6Yԋ:I;TH`}7}0ZbEe0g^B~eqTrGр)d EeTlhI)e{t ^PoB2Gx|w3aQq;vmz{uŚޝ"[CK~O0ʔڱ]b֧cmC'AjۭYcI,htcv$}tl"0LXdl}Td@Hf0Ӯ 'ƱH 7|(xrF蟀Aj(/}~qlpE*Χ4 gkfկ L.z~~u矹0Je?b^K@b\5fKC Qx~w\dIY&wꡅn 㿟BO"e_ r|-po0EB9Y}u?NUhá,B}g &cuM8u31u˘XS?r7,dHsiŮ2Un2u kEXJ: ~Ng t^[mj; j=(eF?-5buh;~W'|Bq#Ǜjk]WƘǹCi^\+BlR=ia6:E%:1}9E_0" ^P1w6uCTFXa9 J@^.S%b9)]$VAiYt)HUT#f~ Čt9҃yÛaB30U5w: pC!q]bF6/(O ʔq#i%3PSNJ]nF9mת7;`jKhל1glul=0 'ʹBgjv'v^9*پ~Jg؏H- [~_KO!J~(jfmlr(L[d"Y8k&40uSe- &|YL.u'5Rh36nB1s#de䒨~NhM 0`ňA84ZJa-ޒEY6^^9 F"6t hLh)-[f-.psˏ`8uXTY %LF3ͪJ`oPȩ̕V!!gסc |aCJQ6p{ ªyBb@6"EVo(΄OhU+oYdC%8צ&cԠ?r{j^VR($Zk'Н8f[m؜g@ 97iK$J_edqLx^=*~O5@[.4$|+qd0ޛd_X$^^:DrLxXcxh~/b3 Iljg.eeCM"-2+a(c(^CN>fQ><ŜZ&Ht (_mja%^I#+VmBC۲|36hCD5tPf%0*o~^xIw@)⺰ i@XF_{!8B@$H:SQRuk:2~ְb§_NNe S+5=(as(bɿ9a*V̂^ 1Bw& }( Q By^ݓFCsм.5lLIz Xe4;A!ύ1L3g%AQ8p.5LodMN* RD:*%ϓwBu-(dŤ\K[CP8t%}Vribde'ήzS}&﮿T7brNk"ȢLniA8V_BLKߚ كuJ"  ~a-59F5nAj@)"LԚ7AIceKr#qXͭFr'_۬}d?Å.#]ɵf*WΗ܇8~==[. &tӘRH#F̵O7wcJet9+ O꠶ edMѡqx(wZ\؉Κ `0WԘA I} N>?Ϧs F5ꪋ"3 E%bb%Y$+EL媏ʈCfRÓ_u܄Rx-bJ -,qm|dr&rcn>%V0Lǝ$5t-UF,5l "1vLmn<*t!pW+#+9>[' OeSezLLc!6Sl~WJ/|wn'@OVnzY%k_?)"ylIj9p%/HDߟm F@ʿ[vK8H{_"ýz/. Ak?R rP0g1i͎Vb -u_Z=p ƵU^D'[MS\qE:e*wȢ($2`fd.VC V90Ա98 L 84Bm%i,f3avcx 9KxbuُQA*ECau,jY ~׆S֮JxJRW)pVGj;kX%qѳA sAx:r(ru\lHo !'T[e1zb?J*^_|YYa5B&-QnX=VNڭ nB&<4o2-nY4.W+;Oi/>y03nj!'UP93#XY .{@{mX5|ɂALnF˸_l#Ƙi@JpmQ~SAbm|ed9ƘRt,eNBe:d Aóa1<į?7 ߪyVލ0w$dH0=/ wb+urD1Np̹ƥ) t8eW2Ys,܍ܪugلaT͙h;B;g'6ZTt淍'jmL_=sov$ -gTכ4.n.G˸巖^׉Ik;6Xm\gn\ܱKJ8~ؾƝ,U&9[3%n~1𻳞5`@KTo $E&?gbI_fn?óBvbұO^äHGfZ(!xԵImD3 JVTPJ~H>IJSx/'!tTVwmaKXe1&,hfڶ_ay9 ZiqHHcTxpNj6`#JÅmi(gfب';) C(s˂R<ѭ M Ss=0ȟ"/UɘuŁS+a7w\5 Vc$F5b_s?RFvm\x+iŒF: 48]tb8€i@$F; -^'bs&!aJ͓Bpi=f7.5HϜ>%]?x\9Ŷ s0_s~I ꧈{N8S@9lñ.lK3hT 06w۫ -|-Ю/--.*BQ#^Rv% ޠl ~?G_bکwdH)]!@Y昽a;{t})R4<ث3.+'XNpJ ¤(q E(3 Z0ǝ*ƼȋiI% a%I+*0H)A%-5Vcuʌת;E'r+6s_9 [Ր%LxB\;UwBs9{~$߳\˰R_?ًfQUSE|G(5 T|GƮx;v/f qO ,{=,?|[ ҙMf?^Dc8'Ōc vq7&PWz6<֏ȣW% XJ_h?'4۪9kDHJ( <0*R=DuL/}/?˔OY*gYOlW>!3)/s`hX8na ˄l]hٛrT/T9/FD Q:"|9rQdU(,7deX`mq; "њiⅰm5'D'l'\dQ-S ΡKvY^j̫8FҤR/Ъro&wF& !CJtmrQ%3>p')f߭ۮ @LT8SpGlࢰ ZeRA ^{lGQ{5!?K%Z^G_Qmya/&^GjTR7k Zrʉtf ppgR~>*6KJb-[~iB M4‰A-K]ZcpqXIׁMSd B*RL;};-7Jٕ"Ϊ(h~-y!!q;&?S7L rYr_YWgN/iN OQguE(!O&xͮx҃-19hb4=6ƟF[3 +ї,WAL:8.7m= ZپyR47D_m+CSΧY%Y1Krjic5?*LmDžnXZ<>Aɮ(NÁ%ŤGr ̚ݞfٓ4P[H{>(t=@UT&4CtgE0qt謼 Y嶈 l̎ ==o:'UbGvБD^noFPxm\ݟ0znMS\c/`_CS+bp}{u]nDZgca-~ct[~g9Q~yi_CH;O;QDHQPs>`ػzAgx];Nx(}`WlbF."%ȋ*jgĖmg>3W}w35՘b?/SX O<|jpHN=m4;aD\'tm \.iW&:5Et_:W)f}2!)/8tq:]K;e\=N}[{ۧKddEvR/߹b#O,MEJ/3o߇>{<xdOp⭴A*I\<&2%B0׺ ~"17k4sN~ڵDZj'~ >'`ଖeirO6PXfӚYXq` -2啨茌{2! B,AQ!miTWq Qo.[$?VwwLnOŞ@mEE.ST% EAn14ab>ߪ~"3秱_ QNqpgG#)!˞x)0d3A!ϧ/6,=)_z> ^P\+$ekPy3 &(Pj'Hb`YV}~jԙ l)ܦ-<~ e pm'KO,.(05ICĪ10~6|Z~#i%tS Zbd?BLI(LQ Lu`֩U.Ae$s+U\5K+&ip/(+Dq a~m9z+1N?KgZU)"ADy9&[=rss+S!nNnXH]k1Ŀȡ'lV\y(OR7x D}d+ Vk-txe Ci:U#v|ϲUjVZ`^eJ LugМ%}ϰ˫@_R^US*(> jX4]G~ QSɃFXBFAw77ϕ`b}XOt(AIJ"EGvh3OIl84 T x@lu^t HɿXKI]LGMגz`̛=C&WlC:\z 3Hy ]u&[ϞROc\#QYٹC{%+;@\nT>$/,R,wLU6vԉ_ܶ[;D +|z:b KS#'w 'm^o9(˷pדw&'M}W0ANPĮs'a(d*%EŰKc/-p{X;2ݛ aoWSb4E^I^=gBMl1kaL䂍]rzQvDKNiVoXZ;A81d?ϋৣôr% ?ɘbs>vs1gt%YS#ME"T]Uf W0.@wՒM¡| Rj \P{plwKo*_bIww=3ž%V^|0kcݱJSB/>aZi멃:sf}ѯfdfX@i)'aca,eN6(~Xߤ"t DM>},c8F*bLG+a{ Bp]91&5<'2/nkuwhUktqliKr>k=mjW~yv| [Zϑ5E1+ o # |ky8>]uΉȣxV(mrJJaJ]~lp&( ?pDžÎF(Wx?0{#ؠA'vK(*QWW!]]neK]i)ϙc7 ,$dvwpu#-5WAn;v}7#I `3RVC]QBJB}m;\G: xfJk$[3.U|A'%HyOq KTɃYk&sg=.3hy?G1|"Ddj,UwwF|{cn~|RF]-t$=^4n-ǃVd O_J5Z5µMVru?uDlI<t9nYMY੨СI8i2w1C0i&2Yiv]eT_ZCa'] 'i5Dm:z9~!5X~7ؑ+s5,QQ;&R-ųc1|o8{Xg_LB[2Qo،H)w4\B>4? ^SXe-8>_wk{L & zJoZo!w-e-y4gAGjsux+]ȩVv:]MQ|&e"qzrRniK!6֘xRGd/8ҡclpݞ}> Ȁ4 :2p n$VY^z{(%9j䴅(H' Hf6Qʧ75LJyAo[kZF}x 'WO䷄j"@[/͋^Ua_9_# ܢ@65)XmZ0MGkgim \RXq8,/%)wLW3;$HK[D];z),Wr#yz&#]Ul\=;ZBR'kRY{dGb(Wnٓ,uҗCZE(h."ı/feʼz8xQk-Q=lYdiaod1R4SuvF)/-1XrdO Ut>7BuX2@qK R$5I A5}Z6 Iv_5v)NzrDU"6EjZcTx 7gB~>T@z f(;_);٪VPf#x>MQwU X]ZC rKPx/o[UsV@   5wpeh`ix(gN@]HfHhM^eutF!9pOg{t+9Zm"r7cw񌌜f!ov<:;e|`V=tczo? 5 jcznS_qt#O9EO>I8\jy{ӵX[ЖNR.7|%Wn2,gS ߷ 2P~e$aʩ/RcQxވ5+Vjk zŚaNǛ2t!Ȏۨ֌H~>,;!GM=s$: 1LkZKj^%Au֢oWFekbeЗ L A9exd%/c!5JNl5b-,U_g qu'\!_e&XPe[-'\ԟD] rzT3.)2aշ8J;ZA|QO^z!DDurOk:q>0Zbޡ!#ˇl{`)d ̩?* 6ZZbВ#ݲKp N!jdfqVp8CSwv?E$%{c>Ge?_k ,.=~uC?vʌϛpȟlYi{+'?+jO/K}A1N:jɐa&F9 e_@gzA0DClEjz9 ̣\JP}zZP_PѭSΨ5T|kͼp>v8WR([obގ@@WRK3rꩊ$aر-9N?,㈏B]\Ζ{YT }x+Ș8*xWp&2^c_#.|Sۖ2?yF2W ū2-*\HP@igFjq~ :aP:SlZL6c)ZTFcKN,)=ȪHt#s8_a4ѳl!vN3o1V ARҌEr~=:nKJlU]Uphc2}{ W ?x廕^-P>L5 B!f>#PevR!#26@ٗ%8a ɭ eKx$ԦM\>&U^U u) ;I zea,i^)7BRwH+e"a2 ?&bSmt֥, Ky$1 kLL9ŌhXUN"ٝ$TD ov>~E>2dr>>6S} h2N.kr#ׄO+'J\Trԅңw AT$Nt+m"E,p8~d.NB&ȫ.jVoش)3ѴpDWX.=Z:HFxdIr#U; PwE)^3%. nO&NZ.~cR1o6=' /G; Sλ;Nh qk=JScN49V>Rh`VXF}f3as7)98#~l2OAv{,UPY>a7o*<peir@AaG5xc6{&Ӵȡ4$]X8MyBCb Tbp_-8C!P*"G/r],9SƻbxT*C)NBOJ.y+`~$]ɽfq `&CS:Glmz=ŇFMs~r6{)vuv#%_Bhт~!D'e.UwTn%yo#QLD ׋to`iUM%0IHZO<=DN"Ro",t";,r;#KR=֍^}j\<_ŅzXK]>ldw[3>f6vTJh9Y9^ߙnZ7<]}1b8M qG,[ڧ{PVRa :^m3W@7gk@ ;+Z^#KKCk`VлgreI<>5U^W> eߡ#A sdꈷQ`7W{A<6fq^@fTZdP>hf|g@1ORGrHUV(AoØĭWurGz7u.B;wZ'due&+J %5r`&O 9nbJPT?yi0D?f8מ+GYiuNQ?-`KƱ ImQN\HEUTghPP<*` GPKCsE% /XԉasIU@pFzehZgk*E\jXK42fYr Q5UoS6;F̈37$t-B 6G^i Zcc(`5n].{?\ ! ~:?`|퉥]cunDT2L ʢ9n''LǧA! Z["k66]0~p_"'D;PH9z})ٶD޺;=˭A'B܌DOģ|RZs =r'[u>H$L8 ЏMK {wHOg\m?4؈An^6d&OB`A4-z9mQu|aC>a1)g'ŪCO⪒+tz6m>ȫ{Ȥ#Do $ -3N@bI YOZ:sX@nL Ӱ'<[/!/Q1 QfX.嚭D2:Y2΂SPE-Y=up/:@v<9^".tAOE:~s(|L9)$X˪Lb3+`,&Z#4HROځ񠔖!Sk/bǴcP5z--oCfRRA?% MrRPr:VS9QZ% ix%IcnmLj,~?1'l3 '#ШNBB>D!c ri zdl>93*g_`v^j?Wgozu3 rN̺e+N,Ty:͋ HN>Z;x< 2s/ԳB]+grV3h6+jCQ4pҬ3DGZ' oέchtӅ|!aUzShg\x]c+rldLW[,`]+9+s˞iD]Y yKI$6tK̩U#ҧ͎ ֫ l<=eQ|Ux#nPjQS(D<%1XaOC^lOEB1/c%Z^$]+=iDCˡ<9Tv+ @Uʛu3Ԫ^0!M.z }{EnxaEnWsFuL0ˀi0 $y(hC;#/o[yez%!ӭ< Y <&Nk0;mFUQl7eXzgNyVd8?5h>Ou~'uK+MFQ]"Ͻ/(T^.=Tz9wAVXƪ"tvbmg3a$X(]/g,quoPI{Ф ,5q%:Eco[P\կ>C<'e8- m STQ)7n6gvG<w6Ild?_]$ьN ǼC1 ȸeoT* X)Az4B8>2#-blT ϯNU1Q%0yP5LHe's8[..M_>hXF1nC6<i3ӣrb͹p'uŅٜ6"lq2EۀH> }}cdY;6+{nd&|+=Hl?Sd5apƮ8sVBjayj, *xFꞰxiP&@ׇ#dKZ!lz*x8ĭ/IbL tWyZ= h4[SS"n@T 䗗U-(6a$%+9]\ XNᡷ"}PvTBIx9f0'ʗgP;W&澐r9-Ve#S/,Ϳ|?zyqyp[.6C}ҭA8Qͳ0g|fExP"jN,/uk:R~鋅AxxItΆL@b CGdv_hM6ASHȠ_}J qWQ'U^?$>'X7S7tm@{ kL%,dѳ1uSrbmPIjq İUCLZBmudb:!hG?}*/ 1ψ4˛Cs\~*hgH-rHF>N~XB#Q#'5GXꇕ{Z7ZFs]QH֦X(H9U4OCgTBNKRYjLMofr#:B>:2tAT笫Ox%s.%O AMΞnwk쉜,1l;>c+ 9|Ԯ:P}]DC.?ifLol!On0P֞q;2$/MoQmㄍشkIV#)UtM 8a2WF`f 2O S4yK$*AgH`;u00%~7qiu(jMa4ekAƳ+d- 1+v@%"g=m7sQ'cZ.88(r4KFj+̝œ6t6 I*> .?HKW#JIۼrdbA1̐g蜯-Mp3Cq4[Q(awxysƜE=fJrn]kyC'iϋ|!b8`/bK qzFUX][R* =F~ɢ%yJg"Z~OavǩKR{ ?[1 Vx+h lq$RQߠq~OkGd^rxs{,lsvl&FM7k>:c;z1d%IlA^a )毣?i?"̅E?@ -t|i1Kxd{L@Q;ǷMRR]@URI :E*]͜G1zNrs j&Yi V8}7F[,sђ^xrRjq£PwFnbZ3S^s GvM>7dK3)SkӦ)қo2z ]%Q) JZmp >v&Փ}~]̒XiS)a‚sL# F„{3wI[F(G̷k]d ppM +7 "nRVɇXJ}:f+*^ )N@07p4bjuOyξ=jf.7$&}Rw7v|7m J "H*q_J18'],ëHSԋM~VRD L<ʦ43OrKcwJP7'E zi+ڋ8#[@:pnHN P[+o\iE .T0i;t%h{޴Loܯ!تϞ}ߙJ,b >Y7igP6'1fⅎL8`&;e@'Rcé!lݶd]Vdi ցPP5̴\XcV%\}|u&5ײ|0OohBէYOiv;?3Ӛf^RUvTrPIuoAp]\ng\=/+%u"?XL=8] 98웽;GG&2kp7u4!P":y%y \qs{o<;K&Dh%kaJFuY䶍|X-Ўg7CrȞ͋f3?d$$,CJ<τ_g6 Tl̆0‹v rB _a[2_qL/礜k#, 1?2Ok|W_!&+ #b%5}|`n3؋/`^Cn.9(۩ =K\"P2٦>ghzz7WƦ-@6nYI/+| F.&=phu\e.U*vm͖ՙL5 %z[e>yXCB;YTVsw|u\R"? o=;NMi}sk]&"d֩i_l TrOB C2X.e-Meh"werC\"VA}x7s}ue/Z'&.i2#wR%fԼ% 8p Jġ܅ݘptVȺƱ$oՀ0am4G d O;)RLǜUdp"s/j>=p煳o΄+OuʑX,ۺ:;jx',QJAySFv*-k7{tQ2]ֿ_U٣׉A$D%AƎG2x6xVg7S4*prOy IAh(97y8D/Ry7H4,|=C: ĩ*|"1eX]X) qKHޒ?=Y$!LU pLe` =$%G[;P3mCՒvw9KH eKk 8M&? @InTDٵ&qnc ?uoR|7~P3rrL |L :H8q R(n `^ !#æenZ_ś BӮg8e`1\QgG$aq"KЅēz^RJ,VLe:)j]rn&9b2&)Kf0ZcĂ-9Ot5w7$k)~F>04ѓf#sMfj_Ǒ(t7A0gw۟`㶋=kLHz//ka(;d#YigM's֓5-@X=ޔH{|#ؽQ48Q_L)>0pO7sBT1JP1Ui}z !zVU1~rG^5p< [pu~ 5kVfBvkHiAKPf':ߗos=tt>j4o{79]'GlK>;R;?N:[?,3"m&򵗲]B-oͤE^_|JBD1h0>Cye\UTeJ~Tq3US+خsQ:筨S;&έݯ5U7LuyΑ!Xs&lnEN9OoSMy|J5n3R&1`\-;?7U`:9@:QtbRP%5gSt~[x @aڷ03`tc'p] /摕|[(g|bʐ8 d y/dM:%= yә P 햾SD^$K~x4Gk NlLYl;]zf-_ؓ,KsBLtի ~ɯ VY `U.R/E컄s#/2rC5O5ypk-' `#-!}=5-o%z ϧƘIj")ЕN"[T?ul#Ӽw|XY^l\mȪ%s K^(/i1!+LBp4YF`mj%UBܯ4EťI.TkNr7/ΌX"[:NA|dK+&ςz=O6H&V;"t$s(:hn 7]h[|m#N8~D$Vϋ~82Du@\$yQ!]VOBq?GBVe0j8aA_#'|G'2ы2 ){Q L)ly!ai0\%[5,+:=uj`J]2L'>Y̗Xn}66lt tԏ9nw" KX0nqy!< 1vʥF۳e:ukc~0Nz;>Hf,_ܗ[$yxLxlbF˽ͷg.yDZSۡܤ&h4Ğ7m8.CgIf.U w oNu8,Hc맶8 {HR[hpHq$YD[c QGTzc}|*ZD'q-¸*538wJ:D e⋞  y1qu>YHOB#n^tejxi(o܂{pP2I.5x:w:hq7R-sԘ^TV:8K6}xdu *4 @ 2[ jV]HֆnV_jD,}AƹIZDtd!e"S~x&-$ic2_?Kd,kӋiݒxk`1D,*r/)\RTEԬvʪ+~OIȴ "QlmLsWyRf2K\+Ių7/_|&Q|m\A"Ǒfh}a$b` XLwA\>3z~&! Ak}Y0#iՏ?Q ը!*$A칔+HTXZ4}tz Ys\ʍ+s'wŹdpOqB㵾<· $7hT fo]|MXGݴYJٓք*}.f#vL˼e7=.&m#C<]f0y dzF-3&XeV&C_N6t!o 8hRU'y\7Mfv~zݜ9a5qP#uqLf%_ H4]jV뵾;X>a{h c˽+"*] ؋tchpmIE@ 4\?%&߆RMJOw\-$W崤18߉&axwC^^۷Ic>mUSGT%zbȷΐvChm ,B`/t\y]/$#뱊ߴ7i?5RJ[md& =ipA{($|*xԺLkO  p,* (u}v["yDjV9{SITYMԤ b>F#O2sS:-jm+Gys2cb|wvelkbI %/#xPdnj ǃ? Oll4ֿ%R f5b#-Ob hw:"zm6KlJez(ɀF^у\[kIܣqYB2TwjJq&(΋:9\eĜ22h z AHnt ٰ0py͢=qn>4WDMuCd]eS:71^ӈIҕ%ĥKQ4[f5s {K٤[`F:^HMl;ٸgpq==zrpF!R uy|b3`P;NɋjÝރܲM{aD`:'5O(j%x^caIUwTZD s2 R zp8хvd :AV[mrh^ zH=H<̃kRwk8/zb,`p{w!#qDOū<$|++[/ϊwp{䶺DrRA LiFοlޢ.{%C1,pm S3s' ۈ% |q Җ5X\Y` vͽ!@Ժ Gvmth:Njep.|M%EyxgVi2S%tƝoDSK +؆e!|;~FN/D0ExwBʪT"hHODDtGSz.t4[bںioRD\J' YB4Dٲ w !XA I[#k MmcAFprcYtZmm9Äi$b_zx\Ss>W1_O-H.G3(6dׯTSa!z$ 1mPpc"ʼ͞V.v0PZH4յZʒF #ɟx KSd:P:Z.[ "LށJjx,IGga@6]cRpcQ-4k*8O\n/lj.bSՉqc;4Ϻ"A~sVHT0d4Y#yaI *>)M4 ;沾pvˋsHMUg*?,ASY}\}!c݊ ЉjYgv\)+캀Rb.#lb(A#]!Z[E`$IBYN'Hyhx,5nP7ka,FcݼLnX J)pZbA@S㦊ώ$>b!R|zWg;ɣP)I!79kv2{S%H$#3 y8bRQ݀?9MSu%&2BW7B*qFJޗ}@6 @W %iFoB %8D̗"`rAyE@#ø.VLi2ZˈÓ9l1)'҂%00{0 igj3'P`D"{L'FE}H>:i`ڻLJI^a+U [t%Tֲ?"n%d”y,,4-b|cDd#qXPa'׊3Cy/  َ>ET"?)w2$b#bD0O ?9Kv!y7#'d|,:ir|c(`xw<_9r^6m ѮO\%lyI4'΄bj<_IDKC-۴{4?9rN6iƷz@+nOXL:'BDks_ q,ɲ Py avr(QLv)ؾ6Mld7/B,K*Xr 1lmd[23^|:s G<pg>r2'+7[nĉr[M⚙6&&أlOA}{;q&Ȗ&AW0C}Vph#ЉuOj]Ӫ aZI:!e~C5m?+ Bv0!W`mS28yF~jNqtf0LUSܘU Q;uLWJk$ߧ:{qYc0L6؟ĊN:k؜sQ XbF <%& DGχ13%6R:H9I*l{ģo,oX犺H{U'Du[̰s?)DK . $Q;y^rPff%RA|{hA<԰مOpq-8y´p 8+)fk%rrgJ c >QdM7힇8]vم $( 'v2lG%if+v:u1u&\` 5Sr<M6cF4;pwO o+Z5_]V/ݭBzrԌmYvo/m c<9jEU7лX"=(SG!kU!gw ޅDJ4J IcNxwjo>Y>bsd=n^5ۙK8xbjMϜ3yty>zMfW)pL,wn*'sRsܦ\pectfHHzqkQeOlP}| zPa&S=db[Ը'J$ VftQVA>(,$ܛ_kvzaKU7qqh'<= оnD3 ɩo^ :?=u6}k耸sזॾ/Xݝ%m D00TBtO<(;MM~m׊`˥ SVX2 [)-~»Hc7FL!{}ԃ5_McJ<-vs'y\QF@hypT+,KEj.JDNBsxx`в\&A=_ȍ36>B7+7]G;/G ^&O@~;8 XL1B ]?lh)*Q} ם^})Z'&Xtbϑ{&ƆLRޯ]Ѵa빤ڦom8diYJIB?]`$"˚3_,0m.F(W%%Xx+^tKfタ]DaMt + afShzWlmW3\_%j;nEvTIJ71Ehs0WTS1 @EK1}`̲D׀ms?7q?v4iO_JGŏiTGB|QYU R d_=&(1Rel,SxZK*/-!=L{^FHg75T> dSڀ-6?3fik鳵IJ{3GP═ዉM47 4nhn{)i -Ѵq|hPF: X}j _kznT? .5ڰ#`x QQ@F$/.qu8 9YR1 ,]y$ t)1ss] y}eA=e7~j=Ad|Oe 9wg9Ilդ}u_Yj [&cD kݡ?9[v,qv=WY&cQbP / 7 Bn _?6mݵK]h|a/go@65$.^UNN\|k@Q}/P|,X#3#릢lt!hTcQ}S-8F;5İ6XPIۏϱNpt~@nSRqUDZs>G-HdX*Oa;Qh2\'st3}.=ѕǻ!g*qLBvWu۹)`t*_oiK%|z E'ϰt0i|t\1]$J/ ".+ْ\%rh)#/XBbW,ߏN"lV-) Y Ϭ?82)(f,/{B>Hm#,Wv ̊&b:Sc4Ҙ}Mb:GcMa:+鰼}Rq7tyQD ^Y*xhfrpfa:S:/mvӚE5.*[&yǒ?#t2z偘SVm|.^KGoKI&tpTvc_Rrw.)EՎ2<ւ#H$حDV:>32++-aHpu)(/, <=ǥϳeR$-A{v4';WvM!(hDI,=\~(U^E]U'ƬӼ Bbh|R1ՑTntR!_3yDqz,;eDUg!-XnyFbZz .yᩜ e@赲B0F:UʧBC$męvF0I?\lu't黑O;ソprz88̋w8+; 93PhJனS hǬ*~<,DȨɢSrH"=<OrWQ%]RuD]MG7bG>r׍qaI\7wc^:zðgJEPFY2S͟?Ieʐ) _"Ԡs2)1,L" Cp+},l07!9" W v$⹋\NJ K}2̣U:H@l0ɰ|[%=t2?)U$6z8_A4L;Q~[piի ?T Nqչtr$* OO4|kc7$TRvC]24fSta";X=[!]^z~ `a=rOL|y 76jd#ya[vMCEue8 OWyT\XP⽹k+ 6/cWnk4eٜQV%}NߐkEd~+3j32 \;Ib2C?&AcOQ‡%Ijìzr(FphYD*5\?)ў hf8 h REw pN: ~knͿs⢶[oJGL1w2 k|Nw,l1#,Bad⑕N#-<>E"y\hfÎgYxHc J 5"i4gOZLvNE -puO4s*ZQTՙO[>sX 5b򷚋H7zP$e ǖ+2-!v#^ ZPard0.^pb!T}QE|[Rac dkޅ9ꨲ+Jà#1ڪ?L\7ŠwU2?ZƆjai7,?t5cI+YU*mA-rސEQS(G\Rjf+ b ƃ1BK"d2sVʠSNq5(0 U%GF&d\ bv|Dy/nkR;%G8$dȬIDguW  瞼G)ɗ"XÜ)f Qiꌭ`iY @sFb.5k+Dδ(1m\_z5AH+gF]RC|N9 o^ Aݒ«E>%ISc 8P:,+\O: QY}@̝$YHSN NRL(xE.|*[l쏴VhV Ew/Pd&Gz]|?pw= c+ɏh'POs [_P[܂EîP^X2 oy{'`!['.ebhshOpfv >xX UWRzGoTD0l~x1狻&G`RfIܟT_C@"Ñ \\ lYEX*8bN⥘x] a(_clF%|UT+ۨz5jQ,g ',i0uzU ] i5IQcG80{[b̎fUS~5iɼR/9P^㸞,K4w,߹G1Esab<r^XI53 f =\ l%0?RJp͞t$FұU3d[wp $oz p|N#'`2@ 6n.16uڐ | RO-΍+)MurJYkpyC陎RҰt{Xλzb;!P xsU*kO˻x֊4)ł3,7$g$B32@>: PVAm]s尥ʥuUEL6t+[” / y6XZJOm0hu¶[ xX-~|5!C[oBF(7g,{tGBV?LsŽ!}'n@Nܐ a3QH; q9J 4;ޔQ'h !8H92w_QԹHq ۼ9LH~-Wi613XDmi-qjԷ:# z]hW27KN"b˥@ۆ^M?6lI݀#Пk³Wu?UtG9P8g}cEWvذBeN7!|s1 e8(nu J{Ky7ah#@ uASgLwd/k;t*j~u$oۋ|h1zt(Mۋ6-@QGJ(9 x)i|d](Mr D;}l]i2pЗ~gEJr<1 ,; ]u!`Eb1s:fF_kϸĨȃWib)lYIP9fĹo'xEa*bRO,M+;>tJ Ea7g$V9VyKtVtol,$h)JFCXHD fçD2X]aNvT%0).L ?=266!rIO Kt30[!Cz69DZ@.xّQzQ ~-cgCWC"mlSxI\mC~4YOpsؼ+yZ @xJg)S#  eyc'ȇ4}͎ 8,xI?WwESzu4eb  j˕I7exa6 )>5Y|x pqK;Ys*CߥVdLCԼRz'\ot|n%g"h8=:EH37U3ƚxxR>ALgEJXh :3TYT0? WgL62o['IWTYY $s9uWzT:ޙ O&b2t[ƺh)È+uc%6/ނ>ruJqCҼ)7ۆYmU>\mޣPOŏ[n >]܅?kP: DO, bga1j粙tצ%ӄ3\L,|L}Q܀Z^ir'#>aKu[}|&T#4Swe1 DdZB2]|#-gL_U=HGg1<ݻլsy|wv2;3T3B`xIa*DMMmZ/.d*XHFSA%,cp2Aj1:d<޸D({8> Y=\iL{AE/!4LHp2N@@Npۇa/W8 v'Dq~60B4.wAG\.CkEw_w#GZbvGH顂IVw{3d'zXLsY faU`@3$ps `W¬+Ka(t^hvR?#A7`CRFԒ {"UŵĪ@dnHA C[Kj>N,JwԲ#ld[I wCkW-/d":U.wen#0Ϝ (|Π\K1ts#~#6:y9boYh11ND_Jg,@mz&{SR ]QЅJn5P1&~ir䁵Dh(d z[w^FN}W^{#qF.xi.ᵣuRVD&</}hnW!n ⾁0)\FA^Wk)wm; :*%l{pm,o?Yb` e^䘼-^$O çI; _<4Rnj){(ZM wyUW`i3W:M-ƣXFᓢ,) 7U[#_ zd<|9!z\kCbi0YD>f,dyM̢%ɀY&ef79GynDDM-F%5&)`wqU q;xaʟ@^$e[rRjQu/X+Jjp0.$`rt3މ6uߕdݕi)R6 0m{A4~fX;{!\%dž21S}L r{x*Eڃ|z)TFCYY EgGts'#_]jAVN/^V\qk$2v ~!K׷R?V=?ɀn)LͽL>[M6漜LBd(Y<@f,.2's? ;˃cb%Ef J@I׬:o*7*I뙵z-bϲzֽ*Q&8$ Av*)%TinS;њ;1mh"ɩRjr=rgKέa|M̈́dM]sI~6Nf:Vj>R n47npn< [}N==L91*R4#]9N.6v=[*ڢ%pGRE2ж"gYB1+:CŭI!_Zk'+n˙d1AnC17ET<ԔE`x\xƧЬXAKp65 zFtbF/n(Cw> ohj ӿ?y|@1 ҋ^]K0s/ Z^dUZ=l۽롱N26$E^]03uGMhoSXQc˰2Zsh[T[fhջG7Έ|fŇzZS:2(tuGyM=1YAKeDҤ`2e^j4 OMvsVϢvhCBm;5ʣCa-u&'sNH(p<&)J6GD$d4:Wqxk$ ܻ1|ן~_)NQc[4m2B~CP'һ7yΑ°R;xRa܋\e<:%އ1F}>᪗Xgmл4ڥ#pc!mlpVj&!Z|EG@ԫ.B9=nۡ<* rG'䦿z^ RZ&h_)EIƱ|F#`4+#2۵T]_-{]8e ? Y 2)Szꚠ[$˛/DdϥrN_4_r[]BCoCDAgQ(99S(2I~'ZGdw )CQbzY{`Ê $\X LRA-[4 O5j"+n`s֛+mfPGW## J(obX*>eFX۲}F@ۿ~ o5 *h}*Kt[aV-*{)sLm<"'}#XC 9:/(ּ.hd⚸IBΧ.` `Z]JZ6[!]:tSLgoC(hI.uJ?d8F5$3_$g^Wj'g\<ȠwɠXBxcfl3fD󵦊(3&>bJkȘnvIner ZN i{qD`G9|:{ ס IвRGF_M#͕/"tq @&`9J&@R5\સL>4I*@92N9vshwO5t-Eh_on]-T!Ea%|N2V?-)D7u=.FawxZMsMzvǛwK@Ap IP{݃jXr)$k\˔8َ|>nnT`\xpo{A,bU(#6r@0'!>.rwi-$?q]_fۇ_ύ;2n+wB1x3CiZ WBsm2lĔ΂}lcv/<6S~bD vI@}%D-S;>%"Aah빍0y۾kpS i wXwyD䘔Fz4iޱt[u{?$bvCtēx<.ɁBz÷x7́}!S1,Bq$)8/@s 0 5F̂L|H"S[qGeO&(Z~e͂J;INIVe5jP(Q۹6"HLX2N&*ytc_;տ~\E+bwȸU!CUڡjH- U7*fbGL0NN:_+?+Gj>vi?bb#۠}ٯpջ&S KϭYXI2RZ62 3DQkݭq>S ݚMFTWI*o(_am@WR/N-}n#nhRlw/(!KWcR * 7jSgɭzA]i xͺ!k]+1kPGM67U2f}UEgsu6*1ڧ6ցⷄ DXc +-hvͺw` RxтYv,s(ޔp)Tu@|=AvǴ+[}6LT6()۹7)BAܧhzIijb!lSQz&S$쳉wB#랡ʠT-\D.uff>տɇ;eBu@rRceG-(jx=%d3uo)VuqEW^ML?K܌'#̭*HNcj,˭E[Pes$w(96 , W׮oFKKvHrۣՖN 6b|N!:U;A%=ή[Ynk/HILdB|8KΚ`qKO `׌9(EߦCGBb@N oi,1xnC37u_:[![flCmAɳrJE0u|弄w2k;ZL:2|NN4!d0UA–}mYelom+84 BMS_8fm~k:ՌUN僱Rj9&tI~ ZFE*-_ NG[vUyjOq1AY| I8 Tg(dﰏhzNoXeWI /lmu`X8 H΀:Da3a`Bq|BۦlpP8GecHYARb]JC;u8ESz+_ٙ cwo se7;4&&Fj*>?؂Ke 1vMIH̜S G8- 0< e"C)S̬]4Ih]5iH =6K7\fo|.7 PtptmqF <QtNT)/9޾/I@Rw7"ԀY 5;SɆA=0zDג3d5ҌhIubM[ms&%,>|r'@fGȒg54]&wXSM}~JBj}l[2Mg*+/T2 -y ʈb*yjTȅW{$j:e*lCOA/Ȍ輖Xsr*=?SKeQS ^v^Z3<.)'Ov*^NFL3T3SP(^OyEz+<'$Ev;&g>MIw)wC2K0̀A:>x9i#a)zd`yBvW'һB}EX>5U-Y;2jK+w$( 7Xs\;˕c^"vĹjx (NC6rIL$FI$#e ɼ KڦYBLTĬ[%ۖK;OOIή |އ4c9$oKZjǘ0磄Fh9_oov?f?[p4 ٵ"OEa/Unl:ajדn9ap@(j23t2ÁnVA-iMqdZPsJB͵m0ĐX/GL39'NəÜgm2fxi[Қ+QE᫪/'Sc$Ʊ(ܶ þOҵ}yУOyMBmފ2 &s\Qf {Ũ6eKXW4F(0/7ta~|BYw==I$ᦵx鷉Tvll5ݤD,!"mSސj%U ߈l?%1&N>d$O%0\(JĔ=nG"x5=·Jf.)/bg](]fc#*lf_U.4r-Qxp[K*x&ym Ԗk&ZNC0CJWp.rFϓ*j~0I;{Hаw86nq= V1MePA8/xZXG.w.-M85vW,ЦFl9aw~~v(&\e=[v<?i ;+'c)Fl+Mu5 |Nc+TnUdk棬VQ:5pS 'Hp[[٨3uϚYnfmr5 ;&J+f^<8 MBnۦ5)D Z|sq4xNѷ('GtǗůG®"Shh ]i /]D2{@W*29,b>+^?>-(p:8[IjeٱܔxˆdM3qW0q2.n"@PTXoqIyZHKej8.2upXf.&;3 ԃKejGaB5,,;b PouHZap4r"FmI0>c4b>] x4fA7[ay~$-?湕YF5!K˶B<w7Cd !<Ms$%B'cfͥC/jSYiX.k &*k "_!mhyCk+ ͺmT=&3hk(phZ1WGɅzmEM>Q@VFy E':H-/`H#=H;qLvͭPBWp, 1H̭cݟox*nߐ![uk2'5rP䩖CPNv`սI!E4õyuh󙜖s/헷w0Sbrl? vy%64SZ|q8ϧb +ɰրfVʰQû ܍K~f jc.*  ^*/RqcN pO= GYxـNJ̱\yIpr8:TNrY8%2j8Og|Dkx8œ^&!9 ĝtZ$afCT9E1` #T-eY{^(#’S{;5@|gOw+S4أ1b2ac ܮOJcqBZYV; y GW1CR:TJ>s: >;bXyȴ[ið Aoh4QV 1:o#PrQ8?]jYpg5 /Ì ҧFR]uc`7f>~^UԸ:ڗBc}W0_.U"EB#p6 "r36V3s}cI8 [osPsˀB 8obUZ~G*X`a&GEzlo(PoZz cH% 4 &JAT ;Nq4Ƃ; =c-ZE8.ki6Jof+ں%vCWf#`8[WRKʑDcX tKəK,Z]:I&υ(~X~ץ+W-tV0vy yfeo&ŀ`0g.O^A׈E+Wf[sMF$s̯E S>DG!^`ggUz3d~t="Os$c DLM'?P$N'+ąV獽7̄¿CG8VL^tm H%R uP.Q|xۧs 4ESCpr .+m$egP+}"{,Ux7RO3WZAI+P[ J5mU/ 1J˩u /g%azVՈ}4!فΞ( ï)3"3Q*'ϐs5;6nO #T}!2ޯLqlgC$̶jl it`ze|?[UZ;o3du; "齕8þ_$k;Sw5ZܙFuZŚbĀXvJ-JWuG]BkbPꃀ>g~ \Gуqv~)BSܟ)\G9{QM-򵄌pNL*@2?Eۅ2pSB1ųsƥ2'cuT Ǡ񑐟_&g‰'1&OzJy0E,ЁX.!mDGrݑJ3&W6}zgMhUhL`B*(Bz NhZq{ЏGWy쒔C谗M8bwSXHʿ-EMRCLw~Z쇟`:ΈXŰ}o70h)h-" 01ǟD&/l ]czRz dNviZd; !G%^Mwa/qgvX ~3f [^m ]n3b([JXfHHіrc|`id^V-~WuYz9]x \*[ ""1HKWϸF<>:ρ+[u+ :*%؀ j>xtxK"ztwG|g]x7?إ>#TÙ)pr+5$ENOoqk޴<'Q -9G>f5_tTzo)NM45Hy^+WbH5#J'!+%hIbWܯwMyFv eFX& L#O5sFͶ1W` %YzU6o#ڝs⾍_3=;Q^_(XZB:?بnzwS3t(ZVѦ؜+P-:}gV~G% PTX\It EL-*LlKe[#thwQ{4-Z(wQSo1Pl^AJ_3wawiV_\Xw~*oKO@нkݫs;&Z 3[`$@YnzK(͡WlzGֿAߚ m˃7zc]A&]qk0[FRUJ7 \g|7|ȢNdF,Vv &3 "~*ُ5XX6;?f@rN$IYl;X4/אE\TI:s(-#)h7+ϧEõcK\Nv`B-X-ߋ '֐_(p ĩDS{0RSsW^}VVgD'R\$a@7qD54*Ho2W|L0S%GY2q95STqi픧5\=+|}|(RX0y6LO/3R'TeeL~Fφ)oa`= (QuK >VZ32 .gfgӈ. opw1p=2cO/HSxtc͚uCCrl./J!ЮQ`6{+T)w2yy]@ňkSȜV`עqZMVڍGF>Z[ksʂR{ C߂xoVו^N΄7>V)8^=gR"3θq:;9.49h.r@MWM"v]¶_U꬧f'&;0^)gOCWPxsxOoߡ~< "T cŮzq `^[J{]&xlpJ/u؇==D@UK9Px!0'U)=G% Yrw.k/`9fnvgR%bV6/%#\|c xO9'BYъ^YpP! z$j_ߏ>U=<9buOyXH |0jҫ.})PR+t?5>x56JVjEm(W%~O*˹w@-fk%cY[G91"=BM[Q}'+4Xv#(>+"j'TPPg=8- |9yY`M޹C p &<;W;pΥZ]G; {S"[8=踋QG1 ׿PhO cIv(^=OTDѪ ΐ򈦈lbT}Þ- !sʸ~ Jb !L@C^ "$B@Dwڊґp^J}"h^H(yTɾn[P{ssa`j\ɨlwjrIa9`Dwҡ]+DQOOɧ?ۻW A"pgyq-`XnO 0s .qvrT:c|2>s@$}b ``vNSmDmtyZW4t#e˥IS4Is΂FRؠE3%q$ͺAר] KhKSn8l-aieteԧ-FɁ;v{RFa;z? hM}a55҉ы}1$d,v {s#%ӤQ[9;I0Pՠ?cu5כ,(ͱApտD+ drCfZX 3.VЫ)G)Jm=[MjpqTXvH[x,[}!yU@v}8KL>"tk-z !q#'d{1l0FE[~J[,.wizC#)]y[E-[n?9?^!U Ŵ6h<$땀aJхF-` Sp@ OSm7hsprF,ݕjOAa/t&齮64J?",/ %d ʨwqŔ%!JTNr\U8'mpk!TC2$: SbWT2|E쾚 0O#3tEF8f9:R`Se2LI*~*"Py^ dzyt|/4VNUhﭘ~. PScC)v`H>`fޒ_hunh DMqh"8 i9ɍ`qT~q]FdH\L#'WV>?@*u*HYm'ahy0.Y;hp4UŶM䌧ؔziGbP|5 %*ݢShWrC8Ayh*|<$X~< ,TE8/pewWuؾŌ:ҥLI-BXs)i>jpgNM%8 nOi0K[\ Kڊ\FZBpeeF훎ܜfP {y%r *ҢP7&Ls|A&_];cG3O?u\|Fİ捃w$S+%y]\;횎\8@U3!eBf%+K;wDEZ}F8+D Wh枓+e6Ɨ;F1g&E=? v{3Sd(%5ݿ *mWqT&~n?uVSb5, ˟5"BƗOHgܽƣ-hP<7`1%\@X)gΛ3wIҺ]ޑ㵸]EM3= j6JUXrHZYF*Pm%6x %ڳ:#JPm_ÖPXPaϏvO[0m%/ }߸藵6g;<!;'J_R "16huᛈ z %C-ChfeVjn;`w3Yv ^g T{if1RRSTP=,yU"!VʒW#,ldhd`cׅFyI[ {{Q^btS"7FLy)N1Ql!70 IԵڐ9^/Acږ#F{pCN#*lHѠE!k2>(sRt4ie}vW 04fa);)pdXh"5:6Z|q~!uʱӦ,THq8çO?w{YD^1-oa&NM+Egn^S~8WMrԢيC Z<=ھlrOyMգmN& 2rR2l[x{o[7n +EaLuenLFJ8>ixt_qlԛ p8*ܫpP<(' 'ޅ0=Y_2HO2D.ղzpb+} &*aXQ餢ƛhBl`P>ܟ[)4W[XY@?y^,rhfup]VX}ksZ"T mb0Z&v $~"ɂZhAx[GY3˫ʬVxjg{VF_ q߆ ,y\8"7;JxT䙤cf1{l8I(uɦmbk^Rzb}}RmR"P|l}R?BXomF{oC$3NZ!@f<9Ojy7u5ŏD 0KN0q ކdWr[SL$G):ZpJ>wi8"#x0B# pTOU]$NY [[/1#ޜH"liXG vAe\G_;JXĄ29fcddfxTe^#fSy5ow”SSw?ƃֱiNvp_>9l#C #\]>PFR˾i(IQIҺ+*G{Q`c pֻ;&&+Nb 9%kR?zY^NjCF^W$2{گl"Djyj䢾CP]۬tSrD8pkx,(, ђ耪'G\Ȇ,xc,BlYF/qui=VpmMLG Ʈک'.-Qnχhu:J8T6vC!~jpAb렂dqM6(n`qƥܜ/V& vd­&!5uZerJzx71qR$<23Vl2D.來?KTe0(JkPCUjY+yF F ,܋0LCϒ4 M$S68˖piA*1-9Қ<^k3dMIQd+9f_Qp҇hlBb5Bv܃n`NU40ǡ*Luys>J߻}b߀wX>᳇2Ny֌2>l$Q,pĪ]8P (\MQd6S[%sEq9ݖBH`-3j'aB`&d? BiT Cvl+#{)g/dAS&%Ogs aP oF;W<-WGI{Iύ:RD!KԂ %wtfEFg% je)éz;)`ֱgkjڤ? ó`>xqzHz4La`pj^1@NvSmbd.Z\<1zYCĎ;#P9 4 ;ɐy,t(4;q<6yVo}S=8#h6˽Gu3I MvS22Ss3*7j[BYE䜃ôDUHO|0-,O"\W8HpF9^)=vs!Uܛ[Ǧ0~֖yBjr߇&PwK %$ll86*<`] ~ʋm,,/al\0W`_#/% L=$p~ I^ C6 `nv(u5W7,p.-ȸ'Ca܉p>I5Lw{/O5 gNK6FЉ3m{U<0j *p/-H;aQEN=׳~ s4pх~XHùbqf=P'ư\/q%0Tl\ g-R5WeU#|R$@ף/#Na%6qL|4ɬa>GWPb|'rw?`qJ瀢u_+n f.9Q,ho^J}u=1Պ]CEf@Ƃu(U`> rDeƆ!5'E4>Pp 1k;P_D̼v)hs:=^yİmׯ<| {QnV4KsJ6Š__,K)XIv3Qs@0˞$2:IL[Fk3V/DsBdE0Լ6#UaMجJ9 > 8tq}q{RUW)M 7M[@ex+tACe@՝'\xMz%i#tUP·Hi;QbfžWa?, Q0 /'{ԆLq+06-Xֽu> #{af'iw uˠd=)\mL;YǯpGR.ND:[SvzaƞK?rtvAkDjGUk7(@m$F8-Qb`޾"uuġy#㤖@Deޚl;E.Ԇ ǥbfHbܖ2ÕT:<8KMC/856Tdw #~E pƔ 棎 RgW + \ibԖ9#(|Z>pd0V\翭+lrNxS~mf,U|tC`-}csWGԊΏd=PmXt*+iLۀ=(py֦G]K>$UBhv7ajnGcqdy]8"W1/Q 2jTqPOwfPKr?܄yQ´(|&&ގkr=ae҉Һ,zE)Ճё:]dW_tw) כ6bQYh0ڃ"hij'aE9 U|k/95 "PS{Mh[\O =`#zE>Z[)C*d,Y[I҂}{e K(P2 1>X[$#c}yߥ6V\BYv5jć3nW{ۤHMM1SG9}$Pt+J- OeZ:tŽb_] yze{Zgl@7]zU _PRJꢋ'{=Xglo8vmS\5zth7 [#N<]V!Ѯf0K_6֔F1Tb/4Ր RJ^hqѪ=X5NmMAV8:sBi:X\ݳR耰|?5IǗi5<@P0rr.$,U#%ҁa!,)d}B[Dg?֖peCv* r\8naj= ~*Lwd ѻmH(:2˙rt/X=BT9q=:s:*hX-)*1R6/⎚J{c(!(cǨ]ɰSGeWcqPiJ A-Ї#cEԬ̈{UQ %_BɉfP~[0_cá~PĶ]G}7 $$ICHnh -v 8$vxvs:=Y^*~[n/SnNG(mpGjCP~:bߎdR=9<\bR/9rxڪ;\K*"Uѯ>:Eg3ٖ@XȎ 4Y * Kػn*նT“HWK3̍3_AM=P/ 3 ?8/oMər%CyU"Aq.6% s˭E@dJPd@ Tu&u\m(|hya {-e fDfc˜E9@H7yc@amQum7iIZ׵gِɨd|pCg X/g,NQEjgܬtW2T,VډwC-L{˙9iZ$)a ])i,DAС"vMc.c|JDr0^AûT) S!Ę%[w>FNL9t-v GTB!b+!10ԔFz5 cC M ç/9S fzwʿN%St2ƭwEV`uK )./}mޢـ!*6 c [X]dx땅.s+Le"/iKvk^{]xBoz/U)9c 2M1J VmSjDrt8yy+C$"ˣ2$ -?El堪a"jl, pkAzaFMfrr=6JlESJ {Αҭ̓*UPx/A_* [B 1O\p]ϕj&Bw_vgtA=,3fgEQ 0)6QJ~tlR JA"͚؞z,鯕ČǻgY#Fm$ҿ;8I̒M] H'gEAFV(FI1\KNWcqpFex[Kx6<0uXT-7JqΧUeSӌ郿ʛ]U{fb~[Axo/0ȨQe"/v50}#>v@7R/%1;t{9o'F)>c|ʱ"/4T:/LAJ8x5•-H?3ϿׅRB0xsWJEl;E,kzNqDi諆%N#_H}NwIG>"ȧc|g^VM,t=c`i!WxZx!$n{_e s] n*A0>~ *."%Qy9L尟`FZ0[DRЭU3XOLo;۱{:Mob (BY+n&qv%J<1SWiFb+cSeՐe3:1fE Xlvp`DOM̝h`1ȽbbX Kfoظ"fa>"&0)!:'w-p .Z>a E5GHEZ.;LcPy tƣ7d8hƱv.:74 Qnq%E>URGk<o9f՝W.d`؄A7C 9umE[4hI$HmnN.cG8coZڸ.]{lIa˷r|B-L[_.-qmŶU [z€P0pu.9ڎBRf燽aidN2귿W$Hu8iU<:N$Ӏ\ZXJk?SBS;:V W>2"X\x7<5 X|D *l^֚:iǢPfɽ"6[آs\bnzg9l|q[ )M;Y4dv4(D6!AY!`]fv{YUhgQ=*[GpI-\.0nYcm_B;#\̅GZG0oBk X,_CGEǭKa(9L_f:YQ?M{otl~rS $G%D$FnwrD{P?! ZigliZI@1fKjlzyJ>>֦N]˙߅&Fa#^ AH@=v,Ue2uuE!'0=\#(C灙G•Lxa'=B12:$ӳ%:E)H 3quLͶ,t\#νrq!ˢ/x9'Gwjh`olnm\T{2GK7V/ēKWB^XpAgMg7r_pm\G'nq6돝3/i/"q/1@ޑ]=K~.'3,%"3ChBsIi@(;&-QGv<&5rEk2uo3QَҫѪ핌^D{D%0]Q<?۸\^\ HhZ/TxjLQ/)}[&@dIM64lU YeK"ZRrh±tV03u k}]:?ݶ`.c?3u bdFhHk1Tq ]GڀОtfU Pͭ[dÙ (S ^\qt;3WuezhNNC 3M.F)l2j VvӁlL0KS[Ίcfzm |>!(܊.x[I_vb:і rA*Xnq@}N>hݾBdPVv+ĥo/K& 鸎`:%}" ,wπnw{$_;6-_izX`PlDvcX xLJɧĀ=u.<_CTJ)|B$2ug2w>%;[էwҹ2y1vrֹ Zl}Ќ|-|REoO0lܛLL-C$-@ؑ꿟߷8yYQ85VhjySN6k%6exK<Xlιq:7۞c8ypiٝ#^Z@cʧ|*m2~@`KYwq -'TZ CdTh⣳nMm  )Tx#xVzei4}=P}hX]S#:;s1Dmjk^K\`S]E\9->+r'S;7łd͡ـ-8?/F.BiY?B[~3@KAG"UAٌl%5zmQE[2j28?Fe_zcç 5}W0zPPkn22dҝȣ-ʊ!+VM!f 鍦 Sl 5%36>žݭwf}"pq#4ۺށjz0,93=So{_|`l+ظk% _8//LIe7zrORgxPXHÁOt+z +iz+)}$WwjX$ƤWqBdKf_3Ȭn\yxu::q8yBnqHWxp#T͛`~VSN;!왛.#1,PRFE?" $fɎ CYJNxd5? 4 h% /=k %?{cg&YI! joLgk"[D-0GO$wle(RCG1PᘔJOѲ DՍvdq^! R6*~fnj) Ny N;epl-glcS~ Cg0 ){B ͘'{5 [ɍ]ʨk|_UXD]u>Į;<<^ v!'RmGjpo?FcZT^@űz9PKHi*켘5ty/6x)Y?6K7Ž>sC#S#k]PJJڴC(:r>sTWSأf8@K"if-lf(f,@iOP`<`[C eûfau+X{Y?f;NCvieVZz?I-.#J{naG<6- i #NF`,!O hb )pУr(GJ8vgAz5RZ1[DF ڹ (bRX۪ f+LOZW{ok+nKS}zSP6ɥo,\4ƣ@NȌ*^+e֖{NLAao|KCNC}U6S"Qs-4D]:~, M~ rWX"{[|lQ\owjyʇws@_'J60u΀·Eϵۍ GHڠKOPcФaf )NeO,Pa4 vDܐĜF`Pv}hb㱂_@SBi+r o0, :25q@:#NiteI@Wg(Q[;F@MydH}J'U^x_Ah/Dk^; *ս `$\ApUL٨"0b*" a(L84 "mgU}֞%bԅ  (TS"ۯj<ٶΗ.A39ghկ$m)e! 7̩g`zw(r,0i[R(#g\v\?q-^sbn>?h(x)g 2?%@Q wyvpU!sf_H,AZh+ xRxO5OxaZd5L{ hSpbmWKeuIm4X4!T5S7^Ѓ~Mfa\yZ(ْőQf*C/O]VGuhoӻ=oHD!T]|YT#8|h^mEa;Lըap[xեH E  3t(yF>H.SQq.lh"%zC9X~M̡}񴥗S르{~[Mfa%WG=*Tp2V_1s"|ñxwAkɱH8KwCۓ:ɖI: pc\kb(!W7{e hlG"g) AOܾ<ʔuc/Pu@Tw]beB0T'9NESq$oޡovYB HA[ίBL(;(9xz/`_|v=ۭx-A:HXHb 4 sFe6m˗F{ˑٔ6oK.if媬n9 yRT1%MS_AySy?8GK;H0Nn7fx*EZ}N<}bfI;ϳA,XO<5]&'is?ED=x$lųI΄õ&3~ 5ӫ AP;#OHUj,/qY_Ʉjh8Ȃx%<``8=&13׷ڞ]? ZC!ep醇f^%/w?C#A)7s`)V56h5*PpaEޘd_hPKDf)ҋrfmȵ,r/~XMzzGgd%ίDWKsRlCOj?؇ _pG|5;;jxaK| EZsVoBrQd6)SVD7N>QQ?r(]w-^7:YۇSɮX.[iY}"DM(8 Q@?B=Yn}_Ce༊u8_Kt xZ̈r~䟝xh4f`/%[}%GVIF_էcE~!Lօ_Aj-HGpOkeY…G%0UDzpl|1>EʡL$>A_*Cz&:--v24Ƀ]"@Km ڕ\-qBB0t;Rk˷)G8Ϩ;warh]F?P ɾvy|؎] NDϥB~ I T^ &7WRMr2g3 tA"-\Y/J,%\ v>$9}k3Y (թwx`Lha/E#*VZ4]-kayA`}(8 Z`Yer9Q+6?)o'3bڸj}pՕI+l!o~B(kDSQ+AEvws*"Bzx=.q 9H1+'x%wB8Soa'$vG.zZ,? j_aj„Ibs1jW\_ U S}:΃A tfUW+g~n:Yxrm>Wh+3J +\OXz]$m@b jH!F6_mJa{kĩ8$U o<ȶNW܍➤s BquM\v,% cDT ןɛ_%ˤ-q>Lm4X>E:>Mi-9TDO: H D9a8cGgBH_yвDUKB {iMGsܷtߵŞ !NOAH5cUm/&EM6Z6pעGmv3ZI'H1Y٘;@a0S'˗%!2+_G9(N5u4>'tusգ^$f?qE zeVU8NHG}"rޑ&Kĥ&Js;qfw#;X*LYO9y8?|q>QH(X7E(6N)J#Cb| "ؗ{Rj"xR>\8"D8-Av N1݈%TL3qԔ$U|: w=*يF3_pb(DJ4V~Pex ׶gW%^(k/ӴQO e>tG,g"Lc IQrD` \\;$c8ѳ#Y4A2f@)wӛc\< 3Dt0\9|Q@ȓUϽr)\N`$^ekPgZ:x 9}8J/]ĵy#A0}v_-ְʰ.SҬƙ~Fa%f4uVPl J`kXػܴ0f s0?¬}+:-lZ;JnYNfi-J1'$pm/BC7DxИa>aÑRlƍ[N͎;m0}-$ P1Y' }tE^3JFp4vpEŲ?5R(hHtJRrsԫiِ!Ul._@[քH?e\IvkCwx`"mK=B5 {`f&h5mkV{G"{#`-V=yW˅QׁWS!ו#TwFFoG%H0u*a*s*- z~k4e؜%vJpkĖldHWUZjr7qJZƮ$YkYʴ@<|%@$Pw&zwu2HqKX4/@}^rNhג7L[$ü#gu.v(F"T"jl38_dWRLr婥1Q}g@?w*+wںG8P$Ij7yq|vY4q/a:O^<-'ރjIle#/%[i3q&&xKl$ 40u^g@5绸MzM24oVBs-O&K1ٖ;lMh%:5<,i "*5{JBG}jbgkPmˤ&l`])G5)GQ`;%BV]ym ۽W>(_V<#2epn b>f3vv$[~?+Gh3n'WC,vxkW$y*SG:44GPʤTa@{fҀƉ?6xD+XP T,-~;P!HxyԶAzrdvgnVr*:*gEk$wI_zd.c8bygm6*BW΃xd =H${qo0Η$X>A*?(d_9 b$*돓96*|UKU߾u[ UR0S$GoFM%N1T ]{v:V`36UwnFMŖ^cOqSzZfPP,+҅vN@0劮zM朊n'@cP4,GGH0Γ"`kYZx[<0"=CrONu{PAJ8q+6E\6L?Z[X)Ddh$,)nU}tWg˖J|QFkxnj=AI4i:hs s< H3ɂ"Gc i `HN {1,Β:NLtDj s4E0{7ޅU!(2/J½:>Qy%--*I ՞1~%hFkR!Q`}TVi GveɊwN9&ŞD>7JŤnq/-lHf5pժ-Bx p9h ^<5 9\qb*+bf+U"&UwlSFf&+u ~'mbVkDsm*jn hLՑPNma 9MLOF@|Wwd$f.25T3ҕ>\^)ci4j&,+3_ҥSW==Yd:+ʀ简.7#æEkqнsPЃ}mzzfWngnkMkOU8ɦ|̮`&>(y2fkH25FVi'pDz1Jm]ca:i2Al G{CW9sY^ķt8Ѵ eg-xAХ 11_UrbSOT e.zsbGD6D`ͻ3 <#U!az "[Xڎ|D4%"u p,[~9zzQꯡ_#wes;5k;VC:96X9ML ϱةY.6I9J.Z)[j ;OK{EъBP({f,|`j ݀fu4!&QrWhRP5*@ PX`J˥NtIRa-y ӂ̢i_TټY y6!0-hk|~ͮL bM;s28=j~Ћ"i)>߃l&%Cd'$(5b$@=cu)Hu-nW -S-)>4 WfA`uQx?XuD("U&J}y?>9HRTWXq@v C הt=u9 p4DAN7 X)(Ln[ne]iq˾/&)F:Œ:*խ95j;~gI SCè)f?@(o|_aB^@,20ਹBs.@>JKUc'%(ӓ 0Cũu "_D:ACmz|.x>LUᘷB<)؈Mb@rD{kŅ1̣S=)+eT$p7L]!7G0ow3xD)N2rWS8PE~Ռt@R'B$_h=-|ͷ.%ۯA>&o׽9 kw|L↌Jdlo/:F_\y-tzOj׭p bs"d *t$o тuBrfo-!0T*5G\Yq^D>qy_5#119/,O)gJ:j﹆,Jk!z bcui?svӯ ]6>u*ے9ƧrUX=R@s+j呄Ja熯}3>!;7 sľGhn-‡^G=u }hӡ3ղMҞ೐ `2|O5m0璩٪5b;2n4B{5H 5)G89W6&wCkcKCח%F +UK`g63fTR]fՖZH=Z7B۱}+;!WoaCҤ:q&TRՂXfX*ղRM<ʡsOͱ7@qV‚Q˘|SKC6xo) 7ap5x)[OϏ6UzR.;FZ *]f}#ܺ__~?^[~=bwt.Yy&A.hV:#~aV^`Uކ X⿄\θwu-υ~) .C%]c]SJ n9pDi$L¼]1 ;A+&k*M-޸Qƪg6%gwK횇qQef DvM748ң֬A ,N!%~TUTd_H.߫ԹX;U&A/H+Hd NN=K!pRo 軈M E>ûN~i"<9kԩg@Vl=DCL `!.  @#/pR;ӥpbv H\|E|{#E*ug}19)l'>7?__qi؜_Zģ 4A!r8Da5!B;|a>'z+f-HYu^]vc^NI@lq:9Vb1 `SN ]OӇ^Cʓ\*9♭@lW(7+M8È~!٦!9ٵ74 v=3_ ǣA@j6_4.,T[w]q(70v-K$ 3) l{JM(.$baa_UMԜ/Xʳ`z?͆:?srZ6w552O{RX\IzpFBn ڒ)o!x:>Hw+<1 P#<IFmIH QCPI`ؔ-41Uz\C&}:DJc&x1(/?n4O S砛`~ c8IpqG?qB~I^#qMmiUzhsG'Kx)}]*,펂&ӹWxJ_>ǛJ.7|/ :&GHT#Q,Zò/gb9dQ,c€Ѱ뜱dx^MSْ=]ߟD1Ն/i0 gb8H O\Z|IFuur  ~4?۠sK]+\%dq1J܃޽Aԙ5:H@Q(_Cnn3;{AmuVƺwu|V,6g7cs>h"4 \^x ב<M3V'2 .uVA̱F&UOh;iud?q'r"f76~zf W )*q IіZ$넡`fhƱO i\Lʭψ Qa!f1u:QH tfLn`Am!{l6CM४[ope^9V~~mNmpF}o+U$/A.˒`EQ lvR [ ;D:#'GR7;5BR/ o.+;U-w{3GDXTXNDr4t*v!P|KGp @rvX+ZӀɒ!KuL4`!>|ՆLsnՑ!]^щx'eZ.D jɧb{1;{~C1q9ƻK-FoM\=FFJ縺>U{Q'u ZI`}Wopx <&ƶN +؛KĿX%$#$A2`V`\d.6{uW݊C,~rNW? \N;lGr EZp(Q45<R4+ֲ 5f*ZԶTQk { _5CÂڤb[8bthܪ(cY=qqr>ߌ2r2ʙ`[ҼE؅+%*~#.:u?<4 aC (D#CS;jw>>ńە wAI q63 .|KHd25M2pRfNqo`2\_T7B9]Z=.I!0}a#7&(یOct>L_^2΍R}jio)gtsT|]U}*^C#mǂāb n?#aފZ^% r MNS{hMJl{]l'vW1zʘew@xD3U9Z\ĸ-5mTGjQx/y #N aXEsT\nx0OoxJϣk L "Ip PyܤJ$9={j@! Em}Im(A1͕G#|Y\߄AGi0(m]HO/u6 ܺaowuz.J{Ij#y:jBp*د^Y )uꕨ*LMץ)º&[|B:n!`qDz؅].5y?=̑5ȊrUmK[_GMd 3zY<6P[bDZbkR*6z+_At|=.Bp؊4JU%pSf^C n<+>/gȉꜻ"65j` /PZ wZ+uG_O,4Nږ>ɱH63.+U %H _||5K R8?$MY{ǣb mlS'Mjn@l_$?"Lܝjϓ";̌ӗ8+j{/PN ^~NE1.6樤xr<{%Wc>O;YLL9: -of2˾}.Z&\sk]pjQ )M cƳR'HVP@v;H$ۤ; {`:?vTn_쟤tTsë/ #CD-k,CI NKcr:Y{} y߿Å(]}fHyeZk|-o޻aKB\;C~p^"kտ]YuZIjGWK0?ȡHCbP%[>oaDR럝:Nԅe2TrXws.dxq0,I (n9d;P62t46.0TK8jqm{rQysQ 2X 5ߘ|Sd]o'ۂ˲0w`ll6"&ؠگ/()FTD޲[]cTȵݫK)z뺙q ,jMS4J8tg6!Sg4ŰV@!(J{FeȱU+*SzCfq7WhH07NYJh;ھ*Yvƶ7Dmg@y^qיxk:t@ňtHu͵b\lzW;:A(t礋^4.:9N^z<1]:&74w=pby AEW {n= D]}O:Ζa4q<󰍚T 8cwcLB;QҮ>BPȞ><\0B'WԛI>WN"Y& t (T3ѼofTpc$g9I}G8k%$/b棥̧۠v/4kBIS 6@l,QցHЖ'>3i{HZw޷Oa~]]dhQXrJ;,Ԓp|gwQcnV}+w$T_CGDx K]Jkd]Bs;m ~=\0`=1 0scg,Tn;I\v"یSE~N|{w7-4#iUw#%y<02kΘ8Y;4Uz#9a.t16{lߘ~:܁VR4 F׳K8H;UUrZEq윒D#+_M# pG5x'tbl-L& {PJN[z2ڐԂ)epk=%dxiyMvrfn%y0Av?WWQԯ櫹NL+a!f {%[V*$ q +cIV#x t'dсynK*-xw6GG ܉@}U.p85d[$ FW w8=5#෻JѲnl9 s\vH7JSAvQ 7Xjɳr&q tO)ƉZ͘".0؎=cDJ6^qz55ͮjo-A3/qN}o[Y-W71 Y8y``n.;tW 2"iYL-‘ f-2nqkLA*$t7c5/PF@X!< 0޾چ *CwsJL-?osl'1ĵT)k[fu8Fmps+e]F41l t^A2>{ յ:IK+aMH"Wi [n:ռ@O(Vb*6Mv9QC\BN/Q5#Ssȴ$Vba%Ztt%l :kM'"XL1/rdКlZ=r4ji-P8]m9/x F,lTae^>Ra#ɝ-Q]d:~4BbB%UryJ̳xI߿%6h7+bFX!FVI@0o$=-ɚ+YR`c(D W"В]?T^*(tlhI#MVV]p{jI7q ˳@=b;i"f,!=6EApЦ,H80$(UnMM61CpFV@C- nLO\ VYwU0,StK:GZYT[ >@/+a05ugL苜wa.bg<* b6YA{kY@SD-YR_+$,|93uhL@b\ ~f#Q rNj[9OlxMU"O͈'laJfKČ,% 9H>H+QER*E;MM1J4@.N'S1-> ~ft}r7%M |ҭ  "<^+Q ; ]#dq/?s甜T]}d8)[g`^}ꁙFs u+d#hBP+|nhELlEEFeVN Yf\,4_GH ,P2pl֍2:D'p=sKQMvϚs?f\ZzQ6L-" U GK 7ZU,x.'iS VQ@t%.OxH݊m{IzhKn;Do ْuXa0Zfv(FNr]޺Ѩ4.@GljoX:)zo@ 6^hѠm :btq3_ RF!-b1lv! vv'+;/FiU" V˛ U;t&~nWDD1F#~r c5![oZ˥Ծx22*P:q%VփBDf.7) 8A:=>BgZǻRĔ{'"STcJF*\ 6x*U7& ;YU1K,(JpTfRY'DPJ}BsOZ p:hgBpvoI1hn4g]3qe2zӑ#b^0Z[({u dq@` Z73@(ZS1sub^cq,51屛Zp@m9EKL{16(dEiXf Ŗ藙xu8slzsyqV~r`%RQ8UihEq٨.z+eah{)ŕgZ;Sj|ɀ!K+hyf& h,TQNwY4yg&V&p&-LfLD-8V@$1G+D ad̴|܁Z.2_?.rm-7z Pܾâ3 G. Td^"yr,CUK^j%fjpq4 ;mOgh4JJoZ-j fHʖ?yx;|Va!R8ȡ51\Zg8Zw{mre~ֱ}|Ce8*(nx`xE.5$Wt uw; XV)g^!8@~0.rJRM=ԌњI$=Ƞ8 ?g?ƃ.|حqp'%tŨ.G11`#0a|+ގ<5$2IE;8Rq%uC&//v6 &ad-;VLG$N)RO'XN騷]&/b 1W Ɯz*T 8:|`*H#??E/0*P8pxT2\V<؋<,jHR Y)S:A̪׷ :6H^vh$lTY8Mjc~Mw u/4WOH-]x"O_!6E$;))0c%IbP?HWfu0KZ]_X}O.P8@f b̨O^œK;-u⾵Bx+ U*q&dtngڶ7ymTP+Π*vMxp]M]+FݩjzL(hxQ+W50-1?b4ueE%.WmOBUPtfggJ@(KMi7dcO-? lk=ΓcL,JJCj(vu[c⣸;A믖Kq;+frn16(vƄ2Pf H@V1Է"zLgy)1)r@sWT[>(ZU*=U=HBKU-}{LS(AޯMhD4{8H+V鬿 i◫#:ST[|;hs\r$JX|gssL̴1ȫ1,#/%o?3&SޮL FI;!Lŧ/D59T&\ 8syğ o[{x]AO ZLy8 Su|S썡l|2ڳ,>ծuQ*h-F;-L E4|)#L |s!V{v~dwQ:%G\:Zp,at{86ȊWt_cB i|-Fw(F|\qmѶ*K^sKc1]fݧMS7&l6s}9F2&yTYNQaxR ~lXRpP޽JH]1.BW!m?w2>xB3⯾aPn_? l#EȖjJYm(pj쨃 ZFk/ʷNQ|!߹ysv뮠{ qŕ4,_JD@=~` DZ4oFv^}$M 2(NY*'o]$=9$3ΘnZaM7=?6}Ng 1vbSwi^% NwOC ޝSERg 6KcS8U+i}ĥ]f% 2^X^!seyBSC:ՇwX)*#g+*{G. ;BQ"USCQߜcseHL?G;_?'VwOb J:`gb?סM%ˍ}|╃]@|-4 Lq[MBVUT@xTOú 5#"IEՉ:K^2Ε wG|MrZ7zgj18_(u %[ϠU2Y2 +p[R#Un {[+PdRԢMgLr ܑXv>=KmBQVfMn Ϊț_qITq}z_psnP]OpFOC@~7'وw)B}~3}/IxK A׸lR4LX A/vK!d2d+z&:;')DFZ Cf s挱I4[K%9p2dTlt] 3zVv0kG.`V&Et=u3a7ǃv1 S*A(yPqE 1PN:%u6م>_A*n?-Ȧw9`ove"9?'vJ{⊚Rn!^4wcߨNZ{Pl3b p!,CɄfB+#^ZѫU }Z𳟮}mӟJ$j-gӡEvIGن̀x.1b=)1BݭX>A\Ӣȁ+C#ɞct4+խ<38W8qv\荘hfHN9|T WL~*#uw[$@)t+h\i~lb R|I DEˢM6*C [}!v]EaO:`E/Tl/@ںI/I; Kж g[$-H[0>~﬛T` Fx-1@TN86|Ti f v=+8թ&[8a6>K$D*2 7Z?&lR6/.TAҦŹ>*|RD;O\~7?+m}L#Exn(7Hyz裱3',zFܸl(6nljk!tpyzL . S042`C<%\ڈ\iUw:TPX)pGdJEaY2Ջ+Ƒo,aD<`C9L> D?=𾗿JEb8b=wg.aurߍD(udS"UXCy?}ݎ^wȂ5a$Ȃ0;bDgP; ? Gi6$13Ztep}pi \5~F|hS>\=yޒ/@{//]"NZjچi&Vs@${v~%^7Te*I h:c*e0:Ve_$x$0v n+ݫ ;0?k*>\w(h#bڄ[A[JMTBi츛(OXrNYM&D 1'ب{= BOI(o{YTdnQ7 X/ZU%g;vO%< 6@&˿S L.LACEWfSF[#YNnw3SqbɀUb%qr- ߎ_aϕŜ\uc לٖ|H(+LIN}9 ɐn eQX*]%-"VGUw4!nG| L\B/,׎ Oc ʴN ΣC NO&$[8[`Y','a0Z-T"$j3Gޒ:@zME|ӭ3$@gD^v%26ڜ!IjuQjJqa2b6֓c٪:əe(,YBQۮ1ل*9Mlbf6 jaCO$Yڪ+y{#&`l5;ku)>n2ݛ^ FpKf :Q&g3`SU .ㅱZ},A;zRKn摙ZC^Z:?Y #ޟsU{R1C6?8(] +'T tRRkbP'ҪEY?Է[C}"۰krY Ax^`?Wp#@(b|G+2z:H=GB ý;iUGE.68@uX=vM14E1Kؚ<aϼ @(xdUֲg=˰7*WU8+qdAuoF˴]%h.no/cXO { fm^"#DҠfH`\C2VgAry+& 懩w'T7ȃ^+8~iAs1r8 {åtcv[dܠgG _GMjM&G39@SBm> 꼰eؠ׋*qسi &wo0kg Ӡ+ ׸bȸVE[?(=y/b//ͯt8 LDB?]XoƋQK T9?'\iAgB8X%G4A%9tqPfR:(sìJ@PYr{E,KjtRPDr?9rb~#94)WJ*Cٗpˮv1|p6qMғo;(<#xJM}1G ;5l-%^%#hp5dE*oBZm,68T C) N ,n2ڤ#dq#' y,\eK,Z BZ~yGs U|\6Ӱx3y on+솙2M0Qgu%z$=xbQ Z"}ʣjem"$A = R=(BB17\1y=M~sԅj5yPyz, (!NӞ:=tXvjLk:WkAUIv %UA33{ OF-)5΀G9Ng;~ ss5yBq{(*dLU^@ %o\_hS'ʪqh:oԢjZ~ 8y}K{344nҟkGO(Píkϝ}_rtb'rVd $oEr%P Kgӈ#sjR{%I6:**Dѡ#'<25"Pjؤκ7($v~c<Ʌflh+rx$[`ȎWvxdC= A 6ؾ*UX$YF:fL[oZǝ1WpsE7rĈCA@`ZrI<0! ubqĮ.iIc8(wyAHBذF`h >)}╿/Eֺ,Lԛ%;@WA˶n" cLCW4puAbq3?#xbׂ!!"Ibb+ib|*VXL "H3]Z8be w.]Z/U,N`qkƲL>oݱ:RyN Xw} , \mRB"g; V>x=Rk#`9Gzڣ)}`H3in7vm@EɓYT0cH?*349A*vQO7t NB<FsModE\GRSȪ:'UGp[{Vlā9ool =FWVNL,ŷƭ] _JYh7I@854.|H5zJ3<~ŝ#H]R7'2.`2K]D-m0(u)S{_7nMvĸD7po=P$Yh ՜r0a;z utbt&:ƄI gtK/@MڅIu͍VOmh f:H2NݥdAeX}r24L%0jSW^ ˗xb Iʨ 3ו5٬F5.cTG2)H@%vFt ^f o8xU*ǬXaL 4tT~/[+!fN-?2<4ARfɖ!gwAЮZyNJ1;'-yP.msQW4#8(xhHkF.a11ָ<,1ݺz?: mgzi-~Չr bqQ! ֙L@2k0DQ:(YB []SWaaK@’=%g2:Y4+g`'*mJ%++SuIh; IæVHjd4ᰡ+Nd8 H<[dU?n54ߪ ܖE-#M̐qjl^r@ܟ7?̰KDk>5yBa(fͥLƣ 84c]Bp&Bce&L,dcS'[i38U;d Qr8پH3 nd2v 54|7T{^&/L̴5{W_b"Uę mL!Em]|.(glcD! ]^3:oz->O JTw̦!S+h;2%pj/f32x7| Kgisʬ$a}/,Hx%I63ߘ $DLJے pܘPHRr! dyLCe&>̤;i@{;/Hڲb77]60)t0Z/!d8QW e+hf$@oB%Biv7>_OFmq3bXPb*n8`2+O^=OnW& El$ai i+"?W"6KGߧ% kZx8"F? rESu6>"S ۏ)r=(NWGt#jI94+aVt.5&Jmv9d[F*{.|Y̘S; >PO2%?:bؖCi\Ɓ*B" kɞ;.Ժ9=r;Jdru^3H`;>ge?CXSE\F ,Nx:v"=ij?%7_/)Y.FD3[h ^A_:zUx'Y&if9ANZ;$R*42C V :D1j(r.4Y&-.(qXS_Z:c\vVYងk2y 2 bP-jKsəLN:ARJf73:jl~1g~!e^\~i> q1 $r§ .==j<8Ťj:ya6`iJ S#;YeƗ5@ӗE iȻ %Pexin!78cs7hb a@Mټ䒀GXr@T' 396%8A>NUPvZ.%,_ڟT]RVZXrj5N0JjDhU)#11bs:2/DݣZm9^ n8Ԭo<$ JzqbÀmƥ#5nm}!Zy/X85@K3O#ݝ'E3hV=scY*x)f"ǍAkOªѰ̀[9}r]ʤWsnLS[慷B#_.p+ ӽּvnBF-azT)00-8QAMEEPAZ`R@ɜiQxYgڞ"dKD-Y-A oiqw677LJ8cTJVe-J4?Ke!ˉ_kVbgR{Y@R [CPRfڼv ZXg"ag"_|A;/N"W.j&zLtl!!ƣyvf?넌;Jo%mi }hoÃ` L6>"Xz^f|Ko$3)pnY%-^6ѭu 2NZ_p+ؿ)cI|P^T_uC^ktz!(qAfSIU!mz'cfIhx~-~UOymN,Xمve%%.ehodTh x3<}9?n;8J­C=]omU:oQAB qa&i~\K?6k$=gRNJ)pu*nroskeSh\D> o"FQr f3i'H|Ns昮0+2zhћPQȦE`bzYh;k^zXe)o7<]4[ʂY$kN'=6Y?&d)2\J8N qNt ^HHץ]{dc'(Du|²&b/{J[_XׇOsS&Wn(cp Ӂ"ytA (1olV:njEszgMΡ&fޔYStt$|f<\}q@K*h i)C;5$Yx̭.;<M5z 7a>!ԋV^vVW⚤㣊\J_$^ -^dY#v?]6D4.Y` Lܠ% I9͉gl*ǃt|:=3duYEnKd1ڴ`SPXpW&2dpy]:ZHar əi|^:.}9J\PP\/aIRl߰(}0=F*X;n uzWoRTpԩX CP\ZMt-\1} :*}K}Z3@a\hc~uJȿHMM(nUe ˗%\.&̓2{8~eit 縳6t! ؘ &ra,~HZf#gq5"O…\Qs^g$hu#00 T|0ӫWs-}q'}{{?xuĆv_l,fEߡ1KDm y$]XDE^hMIVaJ@ozR#/A3vUo7NiAL\q\W˷9~T7Yb~nQ;)[P\͢jHR A_R5" \kZKBSbR[AN$7R `<5+ c5&54@b;'8Ea,lC_/k==Zu_*/^#l>5$Ge?]9p.Ч"N:@TF;F#[}V)p/şsX,+J˄L h{>IFO:{ "6GjlGw1*m`NNe[jVcD+9yaL_/0&5LK?gޭV瀱k3o7L!$" $Ծ]'>~]jg-,3oNHk,ELC_{2À_DU$:XMM" |+_G='\h7*fhXpm`J~OjLfh_@,4hL̷˾m`&D ty˔ݡоk.L0koI% b/t8 sq$8d )74'vo_ u.qCquxCי^LW_oMu&e]妢uWs{-gUHX5;-W㴫CӰAPFq^M)$rҐÄ#a=47{C >n,1 K:suB[Ȯf%}54Dd>z:-(B@@a- "}ՀYUU.EHGcuL1l f ŃpPWsIZ܀q=ynX=@g];#~I0?d C2b3ULL Ϻ^";yM#q{9-P:G (B}<.sS8b!*hE8!Ĕ }lFy6яhFfGǹ|S9ؙk"B&hvUw1b+@w6؏0wB >+dSMyv%GE D\lj|'6h.X#IEJ2*CSyD LO3߇#ne'7b7I ق tYN8@:Cq:.($ds ܥ(?QDT6 ^[Oҵn'Р%8ľ7ϗ$]m/q+HH)UFQy LDv>pQ^`a5!K  l>;R[M6*@SgOíGR6'8FҐC!p h:֢3$o f:h6hT ,$RB^2$$հEz DJ}IжsDyuØh@3v@zH;dݶ()XXcrO+OU(0zK_I8X޳;l.l [^R 䟏ұoO~2fXUSrȹ槱vL8ԊZf֗RPm`i_fq%b2ܚS?}6AQBt҃ IR2W--W$WkPAfF/x ?ˮ:bM=9Xsn#^yA`V=3*BcppPm­4c>){Bc/5"a)nZpKd`z||ȷ|b(dMt!.=8/" ME,+̈́7anB<*зFZ$@b請&GZ&c N;sDm'Ki?oIDY! nkJwyQ?cؿ]*c;o*jH6H!^#!(ر1<ZGäm}NS? tyr5ֱ0fUրIc [#P$&gݸRD_qι-"̼J[iiqV2“zz2~ś}yHVٍW B 8yn;\)T:[5MK8b ECg2SV9p%>m 6v!OE_l/RJ+[ޗwTąyvFi͘TVa{[&AqfO ߌvξ%] ]u$"5+ Rx2_6Aq ?HVRI!-O'L[Z3H"Ij,}4l0(+@TG$sر*\_@ PCw-dDua0_9Cz+¬F}-^]W9xz9䛸-da6^R~Ih屺ymlfys+'7x-~wm%EyO/uMbEmv^ZC~ى'3z%~b4̾Oi[,u!OxA.5=D $V%֚DUq_qhGWH,{uUxNRF={BD1*rC >WQs֍VStjWM٭`ʦj*iwd)Us/?Ztц@X6L"*qʠ`h-nѹC =mCfm|lL[6W 2F0;+FQ9؎5g Td`.66Lg;+ sbY @Dr LDskDm%o*=Y [:+;k~@+^p)3O7OU3g![A_+d> \JVn+IԹBV b@:ѫzG {΅_maYXWԮsAhZrܵաF DT7R;tᙗٜ5zlջH&eoB"P ~xA߯@Gvя<>>aܳmcF:ou ::Ӕ: 1'oiG\3d40bA1-Q~XOK-J^3>8<Vw~xytcWˑ!f|X۳q553S Ǻ`2'/ԧ^4<} ru󶓭 P^<hKG<CM:܏,^z13 MZܼ1mBS:鹁V欚3gbC`4LdRe,&kcj-i}(:BsW&)n8% /H N7*H*Np>H?h./>96$2$?%`^vbhvytNvgjJb; 6"H}fbwpcxMR9?U~HpHHUEMk2:(h /a(x˞4][xxȅ[e1g{}{@ w4YI9,QKԞds4.e J'4 e@=xzqV׭RpQK-\cY?`;+[˞yٴM<z+LL+@:Xu5 ,aUU/]E%++Tihۆm $}bM($oyc'slz<28Y罁Qo=zjZKn'k_W6f1]2!/RN =$72 بI~Wa),]4~K,9X%jDr).4X,3JJٵ)2 0 g GS/Lr6Hn힃 QC/^aY:Wy |X%dȽJ֌JWc ->Z T!K]G5Ԉ˰>gQ) ⌻Ve)U#D!_ 3oݤ]nSFjBZp4zZ<׬Hbkռ5uGDUÏۄ<zII-H߬,9i}|eߚuο1J}!p]: l/ۻ o>+MfY&nB.ZDf8𕠛2N0ȺtΉu6@z(+{7@LgqsS^nN\Pڕ <$mAa3W: Q!nPMk%7W5߃ʤF\ 93Hoƹ(*$κ:|{M!:m6rmJ1[|)bURH'S7m"]3ȃ;t+h YU1s˦;HnL o~2:q#, 9! OZlUk*9Rه)_% 0O2=I#ߛ̺+&^^vܿ?"0'ڈԙZɮ0x; lYcNF}3:ϓ-_^(fq{4ͩ?Vbcz?)Mxj(Kr:ͬ9M=qֆaC4:yC\nYpad|#}BAvN$%\iL\r?]>a}QŊb9IkY|K Ucmn/a%FdFN:9FXN !tP軸d|z" 8Rbot8x:nm򰚭-(L:$A{aK|_ȢfkCuSpAU{;~-[ SbVA>Meeb@^i܈U~'dw=ucK;sh \ݎ`sZIcAOߏ vſdˁϯg-ޟ ;BZ˳}XN^DLr"R.CIf~^TWL;YW5 2&SG6zY<{``J~}GYJPqٙz²ܟ g}%~# ?6ԻI)+9/6xd4 j% ͲB)ɵ OR>(+-Q^= :Ja>l9Gf^{Kout`> vtcKkז+LjcWy9R*Wiq/Z 3#'wJU@rQFK9%zT}EDm2-Jcv擾W32o p 3ԒA`V3G@kl`߄,J~YENx +6N+§eW38)ާ]*#Xh`|\:b$KJsm0^bHOZIquc@8NIL{]Ӑ'CٵK.f wG\vsS+!"1e 1 \Rݜ^/Q;,گLblT=` z`W$ca*(!ejmJ:@Og({uV/`ڒ:my©0 秞}nKV8ͤ| ڬ`j@0i4/~xl.ನUEѡ؉NG"4J.3t)"wܯ;!F䔩|h IJ:vko$]T9轐1w-qn3{iҞ4v*Bx3G $sK^Q}2QXU!z Q]IjzR>$ą_qٗhPG6-kY_a_a_.||%W`2^2*/dV@kcp3NLfƑ`m&'(s ۞Bkj%KC%7tޢ3 %mUT01[n3W|0ܧ|7 lj[R_IS5bHȕ5saLE\2BduI\hLQNXKZƿ&ỳWqA=9%O7KZO VeE { C8nACY'F2*4 u2;NjGZ!]|򧽋;\BJ{g"zzKxhIW#ʷuw}rULNBn)l[H~%Pn'e9썾E+U)9']핯x6k Qn&NT0P X3wG+֮*"v0s R&4杭|IȓCLRW0OgE ?vi_49ra={8%`YūR^'RK\LVՄ$% AeVb\f5cyM L84+#zIl3ѣa[P}:X'ġIS)hnZ2D2 !r9GrTK&7H@V>(d)*hz@3tJ0hg_ k PG!G7dli.8gwM',8vi;Uڦl>^b+:<9#)-hdj;4Eg ?L .%^w`R=lvڥҿI%ٰ1;3@:dd&ƲRbd]b5f}֬A2.>J0-ky>_$ _c9BGWޘp䷈!m؊X96d z{-h/ pDq^ӅTRN7QȏEIweI\>"N,Sx$ʣF'FA{tAK^82 r}RǐZdFdձh Ge4eG3w)|֎q'1tY-PAyf4PY.]W-fͦ.v\k3?Ki^&`R>+/f,4=U 24y.MfjWjf.E4\ \Xsʇ]h DtYZUAKXu )դ9T$ŀИ]v"C$4`d4~pN!yD+IU*y. %qŌ' 1Vu{]C6Tueo:Ծ\;튘)˜ql)NNt+7c|ud6b 6Z4ȐЪ\%8σtx!d~} 1G-{26#9+e/E^mA*PlI?C[ĉmx__7FKebPR5Zz;SKYv}A/NREŝg"Q&[t|׷m)nY " nWRHJ.2oWtﭢE:k ymôΙfr<`Ef6C ا)!f Z[nӺM# g_5~/iHԓ tV\ptv k~):v ?~ {ՌLNj);zV!b`vްHL)G8{<+}6aMzB`}l 4b;eBv5!`5GSUͩT{.=UB~k0eiWDQ- sU[.Gpk"À;@Dp=:V~k3س8p̖>Pd!utxI U%A[s%adQ r' @]ɶ\<6&O7[2i*{L|JVNQQk2&mI6DwClNoUR3@IH>MWքіU/WN_c~4:j tc 8軑˄zRH.w"Ig{:$ 6rnypcNTÆ[!!zTW!Uam#\N~u&v0P?ƞ>_M/)eU$bc={/gr.n2D){6+S!q":;5 ؽۭܺFzaI?I!~0TB>{\,<gT+P)K9r@JQBZ%:B>,\NdFlLcpz{+2ԋ݊mM;"rj~mIuc]HY$P Oժj_ry{?njXN/Vp)Z[iUǀڡcοM3IRJ7!h8,Pv>Y8o 1_mk 9U@x|:_-? D,3rn G$SAlʏg)$omXʏm`ZR6Y3+74uKD-L9,΀<< AudTlѸ<6Z־\Cnohaߨ= "|47ogs"jF\N۽C+g5!v(ݎ?UJo.-8sbqM 2OIթLX%1S {miM# J]p>,k!]'Yŗܽd\~@wK'"V?|,{ZQZʯC'=kl ;5ش]lEy4@.(hz1e-uSAddlc+8 ^[UZ3y3iY걡Ӧ;B{uv\bM X iZ0 FjN}r}AEqŤ eNDiIyƊШ}$ <͸GMdf*·]Y>GRøМ8t y=*dTLܻ/YS^M9dw/WL1-Un>O{ S:{w7IUFY0i!gUC);r1*/_\KR.QG9%kRӹn d9Vs;G=ނaFEO{LZUdG  bIb XB:P%{2{ӢjcG8,$/7lL=ZiuKLRPJ[̶;*%dvY'йLC:ϡVv(L%`D`xXJvk(JeRS;)n$XYZV'7y/Ⱦ8"ToI};JF0uwx66UNQf iJ٦bfPYs a?89Rؕ0654VWq C;i_J &Gu~ ݌ƺCL(A-_ocatϧE(噿t%݋w-֑tZBlzAc5tQyk!r$9Jxu{+ʃkT^THT^ĬDDQMyX2{ լgŬFhw [X( {IOKx`Ӆ8oO мC9ExI #R&\E f9f&lC1ϕkgA MR á NG|{-q6E;I:l֏FEhwukZ$ 'EV6rISG g̛FЧs' о's0Zz]!,s HϥQcFʐpa0}[YdLJe'kZ΂Hsio0zG69p-j;a(ʊ(.®蛖ּ?L"l!=8Qy6@"az e5m^Aje8FI ;5Z,惓'CTXǤšlWx)p=\h6r ì KT;*Al:}d?[ ? 3"UhvyETəbzf%E9f~>_OZ]CDIGQhۻ 18ba߄[y@%D,<_DI‹}-1䫝U^6jc3 O.S8* r,""t]L49Ļ/Oui W ce@~BGsċr+`H SbvPp,9h/{.Y|c(sz.._:Sf{Nွ~TnT M4:&Z$'IzhF, ဵP+|%}|.hākTQ:z $qXu0R;>?Mbӌ[Uz_"˳a%HϒrDbS,Gpp @( QT; ݂#\ .h:nDȆA be\4®LQ'*GCLS$"_A܈wmg ?s(Mp=TX]2LH ~,tvBC yU3r ~KMHAd L~9TM|UeiQ0E mYz!ER @`mMgTD_@ߑ'`D(k:j_\|pio32a=Z֋^5JE_7rlCR`k]Mۏπg$~Id_G]+?4Wk>w tTzGәdA9K mrW(׶2Yd+Or1ܯ?gN]]qy9ḋ5OiM7Bx`ɬKfc3QL@6(}Sjeٺ~k{BxHK,G/<ή'Sv!M7; `-iۻ{jc, \OPZ?>~Gx$xxG_HxGvMXY>zؐ3[B!Mu̚g~p ?8(26]h7#hL&u#i9C+h,5Cz _n|U9`ZWF0c1u=l?KT /5b#[ Z6mk.Ov!|go`(nKkՠ8_v@ptD‚9 L@Efg_/I{f}}Ղ 97tո2vܑܙb`]FK y=Ehr⛊L W;0یGH#4s+͎ZbgO6Se0ώG2Odc&5 dx~챫72i}W^S"7ұF@S8OELIC痽@oKhxAxᢵV™V|k>.r& :8:wV`F>tDG\*6If6VvǬ6x5I 90X!6. (?%-[Z 8''0w"y$DLԽ9/ވ`L,;F鴄Կi`&$ϦP ~&6/A5W'trs;4emޡR:f\nz(wUQɼn,em+1~܋ OoӾ s eҒn&Q2\a ꏂ%J*H˸~ q֍G/*#U+44XZiYӆd.(3;Y34^Q8q:*¢9c Һ$5CO\P?Y^4#GKB8oM=Z\~,b0b=, / $ÛSgq@OPPi: ,| \=ڣ-c(UXy 0^)&ĕbt?90-9e9uOjERWlf(N;+A$o ?"nf H Ĭ6x*LdJeBݒ-$AZl3Os@*&Ŭ[n,}ϱ߆qAJ^y*X Zb+`pJ| u=TEc 7K(v}6XY垴B.Z <GV/O?yH*m oۙTllkpw~c5;3 !)J jHOqzQ}xkoZq7@vid©yО&c6&UY" r yfdt-GME?sNZ9'8M5S%A!:<B~ ?yGCݍiVL6~~=G߬' |ZV,}Qt?g`O*GuDl=@ vI-%_1gA;݀E2<r]\+Qd Ú93O%ޏL/ pW9QP$Ͳ؁i P^>`T<dG@CjX,DU1PWa-}>!FeiE|T=Zv$+-ETC>`}`cU<_qeE휡x( 6 !KVMe 5`ahi / ZRP,E#A!*a4~jriܧ솿눫aO%mT rФg;זb=ɇfA>ef+#enMQ5>HYx)Tp:-i`.Sd /FOeAgIlOhoxkkKf?wXbVvw!X(6x&"@:F#ǻG ǾaM7S5Pop+n{{*=^Qo)cp.: rƕiY1sj&y_2=WZvsjn_A<㢗I.[ZW)3"b$U8[Wmh3,WJ}bڥ*#j@dI}W:`&yv@>{'`qzpS߽)9B?XY([X`G3,`DUOfM۴,h(}̀AW \<<餻 J;J>2Szt.' 5kF $; E lYYʝly ;`t퓚 +ю``Ty>tLuBB}mnE\w=r#\^6; :*drg0ʕe%5rى`Çej D3,o #k] M/te&_ ℏ废sM}ʃG@/ҘV.VR}Dx4'ލapQDzF\$㠤h/b#7"uYA_"^9pFIՌ'l X9u'ðMjkVZHkpț ´E3L\1'ٌ+V’-mpf$Rۗ_\)atv(wڄ$򮘈~[\ dH(.J64ECgh`1=S;]Bu)@y Tۓhzoco&-DI8OcpuSD/ȋo=wԲEnEJ AЮhKV' ZG4س:%[]Ǒ+=J^LG=z4Y6yR# -!s#L9]:!,˅oVPTavӨ^8CJ8{I SL90tE:.>tӚǺzS158 ȖQŪ$X! 2rB5s,ތesݨ3Hx> xw2EDh/4Ҙ n~ؚ#Ak\/W7Xwv$6CYEcj TEI꟯*aR惾7\(Y Z/LRs Ouq;8{jqW-!,OmYz%繢tw BDN'JIP6&&ط smGzx>}% ˍE%"N8up^.ZbH!ٌL^,k?-pz=reSQJ^(14:kSQJGl{ 2 %#nxY%^ ~Ykq+p&h0ofO! fxfВ9asUPA IdJJR|sWd8(Аlؔ9}]>xqe'w:ں⛨Flm+Qn0b*\%Nv oڲR -Rtt P@rs5Ͷ!znT?8xuc~Sgz#lfS/x&"⹓>I`jM( d3mqrF#Ѓ6/ X2 J \'.}O˜-vt&])Fq[ jLS9eV EV9#&{_;9bWdgѨQqq6@ւkȹe V' [܁3I%EOUElLcRρ#YU ITpY_$?~`QT4:˘SReM.SjM061}fJPnʬ/zP&+ g /VWn lV/&E Uh )xVMI$" r5џ!?V!\Z4pS@X;؅Lfș[H褬Y>*b aT U:<$=wEϊH3 ΊylMڰ'M J0"vp) M ڙh}*sPn~ N_j@*˒_7l]j1J j7\O$^ΡLod/q"(:`+Z?CnCy#i+):~-vB:޼to*?ԍJ/^8%E3{+IP ޼OlH,k eA2UXp Xif,r{ҝJfMMzܝ`MKE߉?/)q0 3.IlA>XՅf[U^杭g PӤObAﶴJ Q5= ٖӛ.!amd_-Eȹc}=mnӺ vmTr'60i?w%} ?QR>6:al ƾs"Vkܙ bΛ22H٩6˵OY`MQR!tmDP~ ru_\ȟ';w/ngW.FnD o^yzLXJ zd6L,0!8wۏSf5)@a&YU y)XI<&= bk<$\Ԅh꾂6;:lWKH^&a|=Lo[`b$ ,|}fQz ,bo:x1r4t cCK43&P$lCbXuy&W`/ӮS-8烋6[߾U%'ʍ8ϻ[j7h(&/#`_ zTN%Oρ'3+{=b(E 9oi.-DҔp(姊^Cq!jWA;JTl *K<}Ql.1cCڮ@1Müݱ7S Z^k &,L:(OOFd E6~abw@ASbi&Pط#W7VKt܏Aa"wzDFBh'eZ.mA"j^+%G[ Z:bDhzܥkyn("{˜w5%S]+ܙgod,Z|5ƃOřBaT3u+Sڣs`@V'3E>[YF [!8sky7){-. 5_GC+^8ncB{>+n X:zYl,o-EJd,,%އYGuDcFIſ O;d*!GPyCG^,]sa)(ڠ'w3Jׇ04r$z`0F*&7LF:Y]Ƈ] @ecn5e%(GɎ@MνVV o%yY-AY`7 |Ml`u|kaNCzw @oFL\vHCeQȀˣйN4`2ʱF#_KW껗?`Uv ",׌<KxwOg&#^9S[OKt8 Uʂ4hPӃG)B.9O+tZ8Ytj!rye0R\ku)nPa(~خri@81C=Zi9UAlp e|VOԅEffK$̋XdjYSEYG&y{4XtMtwMd~x`GyIǛaPQ5/ZN,7]uJx H$1yPN7L7Kqfƥ8%aSxȽ2C;PУ*;p8Ǧؚ9 r/Æsk&lfrl}A zR"tj8;4O[+Q"+O$`eHAoԶF͓{LW1]rV_U%6Zsvb[Z}NCJ@KТLϟ f=b%đY}* c:"z^"(SZM,NٙqT(Q7]M̻R3?q͍V?'}6ň+ށZ7qW{.6?!֕/iKݔV|f`y x+7_9rW܃X_DO7, ŧ^sN(kӆ+50d1~ ?>CߵG0:ѴAS\T8]f7-ho~|l7*jSh=a Gٚ[t$ ݃ [ lҰ!S dZǶT*V}>+/gBuܬɔQTAq=Zݱ rqtv:u4p['eLWyX|AXa'?hq{oƣ0G몦ج+.7+1Hk vk^m  .:n*VzǬ`Ъ꽚1@As۠k{o8bԖGp*).e2z쮆$q-O!ђ>X;ΣMj^JN Cv웱_:=3's=ϛ<2KrvY@)"uG5ԟӊ/@n%W3Ʊ/eDW5f<**rA,mFx'BI5Q L/Gehđ^9-SΔrk!zxftU!PmNPDy25鹆hwȲD3B8ƭ92:RD?[sl/(UC&**"<,e }b_R3[LֶߟHJb#|e 0~FS{7oU}++]tN%!SM"4><7ՆqNgHO.\9㙼Ғ SXypjCSafշE#o>`D7oV,!?/Lf@EFqE |K?i›9NBBli&SJEO#( /$#L[[#r&+`$V}+z:4+!L&ݽ&lVʗu_ ޏ@eI/MTnKH+/BKb1r8u౫rPazd<oKQ @C}"`?v̂)L2W>CvJFUhC_3l_ٟVOpHep*=Oyrzϒ)A"QB$1Z>F{ˏL8 eo'G[y"P#R\cWdNĖ+dNV' 7(te(.vx'8ө@u ?~aP<ڍ!zmF<QQz&q3Bn,aC1 !үӻ[Z ƟCuWx|zTkozA|)hї VY"' .PU4_\v N@ bEQ߆j| -^1%JdXFEKvH1py?\U̥ u2euoAM| ) __s?kéAޗC8#9$O)vE/PWLnӁ*jcȳ*+NwcMfp,+ٲnliZ?42;!N9`^ :x8fJ ,#\;`is("{35s~ERͳ~5iEf2)QёiDT6E 5,?BJv)3آFTt8})!ydz7A,$k}aBLiFcB`1Otsid:AiB}gVahiiWELٞ߫!V, +0!I9e^R 0 x57V]z*, V]h$w5Siv@iekt]JЬM_K ̊{vD Ì~w"Ti&xݤ;?:9Pl5WӉY̥ٓ\CIy[=rko[\K`aH!<,LiH:TǍ2˾P\n5,=i'7|듘/'esbO ov>%?x^ZBDg1MN$~h*IY' q9 /4Mt+)SʓA _H(FbcY,CY4qw?ZeSKD[ P#9OW?fЉV~ ^5ncx#|pǴOquz(X9$eaF #h{H&nbzx[kӇ.V."̝"4f̕9<}Ţ"?qTfEbFB?WwonH,6j$SkpOmPTw伻̼2VJ4p6^ -/q~)}h;Hכ{,WP9}CJEIkHW)roI' eJ+$iZPOʙcS!ف &;zJLSu4Z{beg:>$ } ^0 9bc ndp1q]kbO* AVB 峂i]+1h*9`DrLQٛ͡v 6uf(˳wodYNZ5=pM)klYtKCs@/1 #WhkГbj+5UehA. 5Ӝs|Twm!s|#* 5GcQ͂SVy+_XW+:={r[W6%q l(J4(4hHΖ|*ҒnWPV;Rt)rȚhAjg蚤$:n^dƚS X#諘'fcOT;x>DSB$_WmZ;kOuK jLFQO-d[yWyg\4Ub&sq-/Fk4=7 xKm\:= ӌiʩ4ӥF,\2wn' ϐ' ;@pO]u--mv_/R^o<<ؽ. /{ e[K7ogy1s`afdKA,%o SL\ۙSiut v[(4K4~OTP%Lz~VTZ}H6ѫ@>@1XF,_G" VAi3@Qbx[*,Wpd> GikwQ^K "bULvXسizR726cH+1-J QL4T_"ڳ3c,<LWR:̪_GH²k R!Kx "uZ0 Z)Z;ȳOTZa]#1+ҡ-*& P<.d1̙+6LR,V*S_g$Et>*Pg_ M)4pȒ yҭ]@+.1Da8NQIx ql];̯VFG5-**d }Lڄh=0THbPtFV.X8P't8k(Yt0ÑaGGd@C-m.: Ss]㺦LLc1?ok|L Hg^pNV &oi_p~<8_n&_ N~iRL)}mUafZmF ueyO# T S(&",f:׷)z48F74(Y='UtE Ix`ɩvD0[%&QЍN U rT!RlIku sMjxywۗk-%)ۄaU{ACϪخi즼+ɭQޞKDZ Q!h86o6/@vyVqGX{X@âl yy"Mh"ތNB|_(+Q*m79w,{I$gehI4_ɮz: P9ѵ:QUƐ6L~(҈4xc$*x:#,ڱp 55+4f̲L?D?@96NC rosӺ'C O]AE34J ie D"J5=!"W2-$3) Fz |(`@oi` C$%qE4[Y?9zBP_zԺR tGB&L3YkucW⊄5Vņ˕Pzee yq/ڧk+i#v#U^_i27&"HZO7& #{tc P+TO s@z֪+N3%VRu !je=HfDz"!ر7"YXa X ǜ>5p3Rdu_gk#ix*qZK"Jl r9K;]Fqa2)I$E ǿ+׆>mdӘcn’VŎRʨc 3ܼ?D1{60puwh?VZ*xq HcV[*4+n)pǯ[vA~m܃6̓wB󁱞VfW? y1N.玉QY+{;ddl eq<6Z'HҜo5 k>#X4?EPGAY4Ճ,H&N <>2i$ 7QXߧvhvXsIj8wV,H9?Ս\5p-|IkCOn)jCFVLPf9)MP+"LiiQR[7v3=aS 1&"Wa+.Yaz&X2fDExC:}Z Ĝ9CL.yV4G$eY ݊SLgq{H0>U ق{ Eᩂ9Żi/ČyچSg{zєf9o"ܭp森g,G Q=rL48rҹߍpbCTS^>b' [:ZN}3; Dzz .$\9*1?qOQ9 gsVνrdO8% (о?oA<.;&TF><;-dHN1ΗV_B@iwE x@[!j6}" 2DDz=kenۈR5vbf5ͣ((XhkR=8ɗ}qEV{ӱ2 ąw^_闺>Z*춼fC[l`RpAu%I PBmL@}I2Vz|P%\С큇ˆk_ybn=ə؉nSlSZŒc1.aP+CV$a!R+Ք.Dh'nc"; gW "p!OF9:)Sr{ڴIpJ+߹[a8KQ18|EZn X)Y)yY5DR΃;*;|!cs{0kr ~eCZa/2v.*+e FEElV< g̒Gˀ^WP$Xjw2e`Fr50=9<+6CbΗ+$+*PS861蹉(YW]32{c*'WW] / E I܈b-NiKH|륳hj/#q8@ &7i-xJ>\49 숑CB$-tYSyv/< VgȔFG\Ct hKfUU=(\ߺtf?,jeF9$Ut¸͎ȷi`$DIN@Gm•GR|ǔPVcGYX 1-揮ձ^O}ķr?ydߌsڽw ߻KoH)|?h ^+-\I(f`n߼.Cm9N鎢Ւ+ն=8gzPUjl[::-7Q!|<+e>y@Hks{r؋%)iB>P0c cݿWE3/7nyh=1 #7;?~pfȲwIT0UuրįBT!Y7} n8b=+6HF3m$J54=lyfm|ci*VbyEnf'q9轎m Θ krĝv]됧GBp)x%39Gv%R }K)*/Om938R-v/o!wZ T *$ gR$_ Bnr*ݝRߒ$zv$c! o`ȃSGhx{& ͲsmDc2qvz"*sӜ"= %Qz-pU87/"d6Awt}U}7blͫ ;;שĜyQ'£?wf%S/i^?R| >qr&wЍ6t4[ C+ei,;OiF,)fQt\4&`gP@Gm`1-#D=(X"Mޘ"v<&0V(rvO I FB^ $GNtjw􎐼V.C J_lsRExQ}sb577 uyy0ꞔL2:=7VNGZ3dĎ|8=j8 b)'ZM"_™ K# ec`MSOS4vS?q|N$ODQ}BVݶɞif54ee-ŧP.c-sgW, >[?`ZBCd0f %,1;IvU)[hd 4(NQg܉@tJ<ZF}ť=YخOs$oh*o̖ WWfzEzd IS7&3` 0bQ .BǢ?E9_;!BHՂn= űvMGFv>? v~zZHig|ЬWߦQa>%~' V`gn]$PLpg( _\AVWˁ?$W22Pٻr @/6([GdmV*>׻|@Ea,_=a[̚ءf?Xn ] vKDōE ɌsITǽ>RC H W"v dHW)}co%q#GQB$7r ڄZv .6>cVIUl.3z\F݀b 9M9X{d@1ҶқJ+#rO-+ 4bd~Υޥy8xB"_Pb.u4y*;{TU%v2 Hl\ilTO쯄_$ΛϦLau9"Q Ő2v  %QQ15츢wz8Z&@oٷC(une2ӱgdIRq_Es` R6j Xn)E|]kI'Z$,(O\ YUJ?w[x-ж֔E"d Vf[s=Xq1TߤlQ7>HIh1ZpϿJ?\ Ρ6;&BV8m UBNjx(*+z7w=j|F_p\^8t!&؅/&k132~VAg!AecfpǓM5W})Ds,_* XyHT"ZJ7J5"%:JI}"]l%BDž;d39aHhKek@B8Laq+`]SlF9Fr"Y~Gg[<]A'RX2_Pg=ϐe 8-93Y{k"4)G+"zhu('`QM#?.ꄘ ALNh\}LC)]#Lİ2 v<@T *P$/S@'0+ɼxG%#˘wah& MA8@#N9ŃTUy8`OͩPnw8 CJ PJBwxU/B6rC3 RidNFm'~1mӔ6p<1ge3^&,OawŢkoz8%5΀+8 Zit\ZT,Psm0_Z5q!p?T>zn>WM4p H'A f;PmR8C($do&7;CeXjBifקϏ֙YXcdSbܖydʭҜ$L ^ۖ0J7x pu;(0}m^(ugjAUk"^MrCU#Ot1pYyq4r<Y;{1nûJ{ºR?ruK3G8В P/!# m񹋧"ɰ`y#AsQ|mr5\AQ; 圣qBCz{.p)!Su"<]tVQc:cLѾQwB/NwؐB@i7)ii7gڸ5LGG"w^[Ӧ@Eg-gi*eowt.bd;jJc+S',a<f?iw )ٍx=62lQEXp o_/c?) )\$PA~/M0&RB*Qyq$?"5דO .a*kf}Pۢya`s&*kéx0,B3BHqnD w 'f!<[=vB &k@OWdG!4܁qiv[ D9>f~bR.2ZSKWZ}ǷN*J}sElFz >CȻ f%Pa̭vt_rS) gͬU`Gv3v !6{m ?H]-<9j-}zy #є,~40{д`}!Vq( zQ;Ƚy{ЋOUJm}N15Z/b s""r+3Otabs6Y$͕d&7z?}@&ү>v7QrFbU:J Ӛ{'hmwzm&N:+kp)akymz}wo*웆xދ # (ل, 3ԩx3)>f(V-^'٪m=ml*0ъ'84P) i\欦?9 X=LV:Q7pld* Wv2#b4.Z9<|}2mQxUd9 Vç ]~>}#Gee+"Ku'W?Zi!h_?Cb-|.}jG?e\cɛO ݺP5BzJ2fWr.v-ktRy`KdaRPڑL~U)h=_&do.( :̴'fǺ%!ʹXrK1(RCkn|J AH\%%H/)!\TX_bS=[7sӻ{:RVgDðDl@!:Aj.|/.9dC4TvTd(嶬YF8KjժٰD5%9krsp'_ K;vsGv)+ {aRnsT^^9iH=XcY#dL1\zJYWZ`ݑB248&U!. -A]LSw"D2Sc=7R/86O`}Eu9Ox%$q)<RvdĴpvP| gJhq 鵃߁AO#M.=E9xLkl#S{^YfH5NtPqS/1!CE<d@m e*^ۏ>yv /57*V>j/5/_a#( ,җg_oԢB)vߠΞ_&U>hY\rqpy$' b BR֠7g{Xp,^7*&4|'3UeH0W*>:T˓NsMmoSx؊?]I-,mxa@ M `^m8-~F2T),O7^~wJc5Pd`-rdhVLJ+t (ⰃP50zČQ6(ZD',WEb9(!uT_E7x"9iLz8u<-T YrB{Ğ/ڟtE$~FMD覺ȸȯeFz\4 2?:i<tJ1+'~,g8d#8E$Ptn#x)H6 j4ґ1N*v;T/CC8LTUH5yCyv䭠l'|O Л΢ΓFM*2m r93%i2#%2r( \+dp< R]nx%*g r5Xmu셆گ_$zҊS䖎R@~vzɶ֎1ќP8%Mel3I&Q U1\͝'gQD_1 \8wSlkY5TH!8 ?&wq-{a~l'o.ix20pDwK? -!q+/1#s˲P+&fClkN,bb^ !̅vJB pkTmUo 9FCֹf [m(R޴7 JWgV2UO_$[%L. ;,JWڼaFDi+`CŸVq_1 Wo#0kvhKN8L@I!fB5dLy/ߨ2MK!sY99q QXVY[ͧUiJ˖W7,Cx,1p*w?T۵sլFH`yˆ>Q) 721/Xqm1 "en U1/t k{0}T^n%qED$I:_cI *sȝ%Q@#o*Kmw/HЅY)8~i9_J U+-w/h՗jke!2<}>[hy.ױd/s]6:9&kѤGZ^qe 'L,ZZ9ù&!{i1t%ȑ pPs9- 8,:Q}pǏ0,eJ@wIy3yE DYKd50;Tјr@ncJ(Tu+6Mj<ft˖sDE/R>yz5K?4~ۖeGXKKQ}BגRVꗲDix^Mg.AL*`OJIv( +j:5fnWV }oWR^Um V{)=`:ꬦK-u:mFb7ԯ bٲ_[%ibMS>]l_FԊ *ٽ!ϐW.pn~LP @;h[g]T鏎? 痶B1t}N Aª4.竖R|i9&xLeA腄!h[wEd^+$4=:h UwhDW| pa~B%哉*<?7j^+P{0p^Lax`P'`XâhiY JVq #/j"f*ms kڀI3vFЙ-ۡ)V9g={&|O7X֛s YM9URA+L C^^'h0q]!ҳyK\(lnu-eg ~;pV~|;ئje`DxIp~{A5 =ȃ)8n{F(w -a1( lh = d?A7ٰ2͸Π0+&h6$guV6y;L V̍nI>'fGCeE fNGTIcGUuu/p_p0.hrEhO?8vwaiOPi;=Mf:ٖ}Wj$ē0$>p:Ȃ$Ueߩm&WPɜ3je]`+K` .VJEaKQ͝堔z{w5|eV8Fj۔ {Bae6@?i>_xF jNTS~@S6c;s_Iү;z2_2`rɖ#慙^5IzGD/ r__ihoGiČY6ɠDba~9 ,H"&Z5p[NǢ~MiHYn~@4eƭ:BƺjģK:-Yc!ݕ^+kyޕra,(yltzL.%Эj@Ge&">a8dm *鑱wpaQAlN(X c`ƑO}eknin-"UEpW [s7e0F] =U*iȲV/AJiP$H=8s13x@"NDg@I((;%M4QġJlw_U!ώWvC0nJ1YWP:6-MN -22ϣt[/@fV̵ q~m%Y?T/tj4hOxB1d@.`te\VBceMZBŔ&F>iҀ2ѻ'xS,:ȧ8% |n3RJ\ngur 6a!x!e/mW$9OZS? WC0H ٚqrhxq~fL}W ŽjIso`T*nLڅ[#STB} FԒ\!-rܤSLb]"|#)OJQ}dPcyiDTp <6TzF;JS+4: 0=EV&b%k{(MR0b*]#>.L#|b5n -/b%w7:6ƚ(.K3c2րѦZį5`et2!GpI u>*-A9Lhrנ=6t)z]VsBy/C {ⰽy{Iz>;ƻ#noo7JRkByGcaO[1H<$+\v왘}Kv*bݑ?X1kyZ%\KPVRJ?q^%g2HMe%c<޶`EEclH%{TTԄci.)W )wDֲ1cp3+{wǵHgM!H. AMj3:]A 9 |PE˨]ZjxѦfuNDm'ZV_,ޢG`Kext)gZb ͵(NTP.SU)t6 >Z P8Pg;3LP%a/ 2gdJv2Q'pèy47cΙt :)1g{ \uHGxscp8o!v`I-.rIvpp!У:=f ºɁE,ݕߏryukU_wYHC:cYBX,5~!Zi4r2WLR@ -A "Na'U^:ԢHdl5y T sYgP(B Yuʈo$2ߋ&y=D_DzE =ITvI)g@Œ2 CY#6>6~a֏*"? V}'5V7,pOaoRw WT{"xhϋX󸨹ٮ8hndԜ|kda맂^݅=.7lPi&"@0p9t}V]Z>=1| rrGn;W8ë7}+TBuR~6\jT %=րї쎹uHW5("3eϐ)@"BrnXjװKeN~S 2|`aQJߙXL'B\ᶎpR"Ai/'R% YpO X¼K .{Ĕ! l]f'2#k{%to ZMJ 9d7h7:eݟLծrEj KFGB 33(kzq G$ӈ W9c"͟Nd6f-  8P$B-1$Q8Ⱦ;݂+HĺW!/Ey$OQ+ԮT3-)QPTpvl's /lӿ!s`8Ba׭#H۫:vi6BNSwfO1귗 .sf3C'z$Jt[֡hw1YHe~}[fSoOvRI!`mma" zj&b\:= zg'^Cb4.ZНDlT<.mlgg*La4}BɎ!D9Y8hOrk"tpE5?(W`FMٮ=+~(3dD];*/Y tΪ(h]&QkRuӜ'ϣK08=0 E pD^#b!ҡH:ϼ$-$6^R<x &ԏg7 W#%ϩt;H3Ux""@]Lqψ^(JW@.UdQ$@Q.T P!*/(:xg懦7ٌIILrn5n3F#L'{rN/^bS5JDj+57u\N޷x܃[]E~N'^XWcvCXbr4( _jXei0jU&@7q>%{ב(Pꦻ,j8=j+ԋP;Y$E*;W*ѫQNVzٍd[/CJ 5{UJWӦc&'ܫ'GS(5@WeXx/*@^^ zTAEƅX|"~@6@8BB/83CՐʐ=SNi8\Nɻ6($v+mM 9BE%ft>Ow̵tXkUз2}isՌkk $ Fj-Fwx'|Y +^eыYCQkSߩccwF%%>Wi|rnHŽC٫sP$NkkPի#"ll iuLUE͂t鸨S43ukj*  7e3x"B(@ָ2룧ytF>h2!U6 zBZ/b|XOVi",EM=X(gQLC޲ꅀjxLepRZA+R;4zi'6(fb™\jI Ҿ DhiZp6XVWUi‹rRNfo'r4uv8:ɉ̼2'-[J ُ1&2}XbcD;%g.$}{~a-̠iςRTUUt)9gݮ,\NQ)S2-کpՒiAmsKrhU6F `7 ו`-;3WǘdW0f]N薵Le-t>6T tN - A: 0'<[1(7&~`|`F a7A~.`A(g`Ш$e %HNY2&,"f{-jjмm' فĝ~lb -Dw"N^<ٖ9OXrӑ=z f0!TRjLMt/~5ui j> jvĬpbvz_Nʝw<@Zvd&ۑ|i""c~7t^vGOS/ {~?`6/0SCa 7Bk`boo))K b$,r |3k`. Q_a_i?chF ?5jzL|KeSCw̄iL{X!8"gO8luY2f |}/J@ 2/=]d_| h2C'Fl(^9%ܺ?܂`Q'ĕ-3,&INQI!ݨ@ KsbRj(VvwrMd^r<2eU9΍mɓ$[8Hoy_-$X K9a!}<~@,%ӑ8D׺ˠ;(b1ENDO95cI+~k+*Dk͒1@3fU!՝۲I6T"3jp`YRe<``5I~UؙM1"ƒ bm_w^6vBɕ5|9.@K N@tvzW3F! "  $AXL`>؝a3oM A6qfu&DŽκ(7 ^6z"71m. m z:?\mIK\ŕ7>eZd _:}f?,c'2{%YU1V K!J- ڼRo5Cl Q UwT)෡b.Uy]j^"u0*!;{o-Wk![9,l3>e5i$ LI c:h-Ú sݛgI4/(J1=չ?=L\Acwg/6/v&*~Yʀtg+](slBB1`7:Z#+qxT&fl<Ǫ Ѷ5 2jT-|hJľN4T "59 D׬Hp:Fލ+1B?"}1yd&drb4ɭ5V6`xu{Ǘj6 +Y%%٢2Y7275pͲ{~Z \lvp-'*-[fW'1ȍרC*jcb H p`D>cg yni; jtD=ч;xf'%YFzZFFHj6r`[P\v@98b{}rK>} ,t9=46h4L:>f?psZB6ٌNkZy !;IqUbU"(ZJm']Ǡ@E[nWbd p]ڝ:*$$QJ {{cvxy]'Tn:;e3^fr7iNJbLa1~YhM SE\/(Kø;Be!J6`Uo:zSO]$XFs h A]"8@ˤ%˓jSsfM70.,LlԳJ8dOd>B>Ѣ2Rc +Vn%6$ZDa$+8' 6Oӓ*y1k1[c w7V,HrdY,sVzԎX7jF4oN3Cq#xSc놕i[k)zK:L*S4J.QT@0w cپתd>_Hx^ dT=JjFlШ&"!:W}rn:8Ij?4Ͽ%FR̼d €Uܼ.Z %QNg(<)RP6-3x@@/7uwt6Șw},$bҎ DFsk1/>Կ0kN`MhXt/T?yR~MWIb|F9Ϛv?:l]^Rd`(H#~V8l9:pL& ǵf_֎%aK#"ݚ)U1[C"{*r {Ʋ`/g2#Baf' C?X sYjXڶg/kepocG ;DeՊGKm;`RR,lK~6ţǔT/uhj<Gi:Fѕ>߸Gt v{L;|Uv%9_ nęA򁥏d?NQnKKw'-_;7ʬ)MV2Y9uXbD>U?;Yab!~l66.ќi @U9V~H?au0^r5!ԗΧmCWa)'јikENɖeѴcfiWQ1Z^]:-!SvA0xAmp:SFĊDinc_"б.YK /ktD%1Ya,gH`q5dHMWjg]or5lJ axAK*rP 0(9AΙEtrk>*s Y+kPĆ{2.r{Qդg dV8eNm^wIQڑ!-zeZ5$bCv^ pI٣A"+00fwԩSj ҁM(`JΌуSTYgny uq)H\q Sk54_..J NCL䐏!AUܿɦ0L\ Ҝø>ĝL7 !,^R?U1gm/U1I>P'/Glqq0wbXxL_,@4ī<[凕UfFqTuu$ jL:?8f0Yюl33WgTW,iZAa~$&N$X'. KgAO+t-*5A+1@4_J>ơ} dZ]+#.k`{1 |]mbz,`L/?k1R'ɉs%uRCӎbu@.it`Ap16h=AaA\Ris ' ?[!m3j/]={3Vrb z8d~ܪ3>pl vYbvUQwp 6,+DL_ϓckHҝwf!a.4[5N#M@C\_+V.ZF<#hV9,(@zzGR/%68kڬyd 1/Yu^ba i :1^G&z];6+T-V7i/;$<{[vQ&:*.wF ѝLo [v1)嬸 ]\s蔶D87rF˫IP?^zŻQ`(رN+\ Nj۔ \GiGGNqd2kϲq UORZ0~F~xCeaROAzL,3yL^BB{U5E$ܳ?dbUA3_g (xQTcwзf ӟO3\poEQ,)7jCZKG-F?X'R?j+~\Z\8ŤKe"GFy _}Yϝ 4%4q搰(Ru* XOG//1#T\gѭvs45/e/S-&q_߫/5BB¸6]}:e-.މQ 0 x8,|(Rg!jQ]+փ3+|dZICc'*Ѥ*3'ol__ y[E&-qZ8=]YkՀ3cT6 C6dYذ).xŖx\}P*m0NHZ5&9-k;K{%t NA_rA@4)uwlR,CV|pwo u(j/ DeH: ? xU(a%6*WsjQ[|5sĸ`}B 013a >f +Ǵ lseE0 @H"u8>I*ʩ1NQ(( qTȧ[M I%oa+QHlɒc0"k>XblCN2"`֨&4&1ɫx< nB[A-taTXn30vDX=({ꮆH?/ꒌ'xrṆ۪~`ueF缂2ǬҮ *+qllZKYF.s+x&6E໿Q 4\Oqr\'G٘(1u`מET(C!:%;eD1罊 &u/=1˻?.ZpM#ZzZ0hN$Uw4%нMJM m 4Ѓ.>ZtcFЉae#,ֶ>7$ /TOb<ޏzNPX=jSFΤG5L l$^C<%^9ʏ:THuk;]U[ӵwY5‰kt!B(+Ww=$pghxl.e^֛-1J2yda"J4? ǀ:rc?EC`ٽwC<4jn#RT)B@XX 5B>Eo۹̦6ݖX'& 4g=`a]Ohl?Fa8۬|%σMȔM( Ɓb;yN؎]dxuhך#˻3Kr~V:eT6Jr Ԃ&n˄uV 7ℯC7LW ;q}r,ZΤ;S =1P]}̟4]lӡ CD+ay Mt!YUES.!3k' 8(Prs,b_dF9-SF4e7OXQ #C"٣(6yቃ(ئ8f0DfJWd"qJ9@ {Ġ'm>5x4D`'\ܔYJC{c/mwGψˆex.=ضB9"콙K# 6`F[R{8>Ӆ"!@*^ oG z\çUIR:_vu` $:iYLa7:`LеF5}O CIMhSCsH z<74dǔj~ 3񏩼h;r$<_XZjbΛ_ށQ8 F&#hKNgP60&|f8,=Y/jD-chx,L:~t | [c?=F-֩&` pC,TYV RT`~=T8 YY1,rQUE87=jȉݯlSI(l@c-<Ĝd {fے;jn$ʭO)E;޻&mO^i0(9fIefJ86ro4S^xyݦOݮFr<&PV^牏gII9%*/喂V/~H~@4hZ#~3W-跨n֓9BZ'q1[7rt2=7];A:b$9ފ,7lldea3st`#K#* ޖj5tyrB8o!uV3UkG*wB 'kuT4sow- .iST/ ,OP}f?@gZth_DC4 㮺O<1spvjקBZãl@Awo1V'S(8cq[ՍRntH 5wER;ܫ$_("&=O4 v+})cs e\3\, efÓ~]ԗR?[Ba!wX\ee9hiӌ.tzVzVCbs0/3 ]QrB5K: :!*!4Bd܉=瑆t z#+sXO7)rU\t=?%/ J>2t0`jkM^ڣLʋҿV-Ln?%Zǝn}Gp^q->V]&q,2L`aZ>Sw9u1oUpsYAjM nw2lUΑde؊nj)j[3#<(XEx$]YY`em{ @.2>]h&Vdɍ*6r Zda O˹RWۙsKfVz` 3N%;\yCq˰Gv׽3tTILĀ@sXʀ .ѵ^KA[L_9LŃxy b-a )Æn0 'A@WuI'ْӄmjB9KAݸБ9s MϢv{U^aDжc^ ^+ˋ*nv Jm/Yj=|f.gy,Ln|N$-)1nlʟcJN\wY0ȩ /jDp\UY-5(QX@d6:fŠ*&Q3~'?&qo5%-e0p|ч]d%gP{aïwvfkn 9Y*HAX L,QH×^e H@DLy[S-,0=5S#|It ﰂ9ӿw H?KC5{jBd'ƴLLpn۳P_TK8j/ iS?>ܡmѴs{fOGϣ߼VђS% a/]aJE}Um]Sq|+T(F>1 ~Mz, gF!i}/PͅJF[>p$h}#R<Z1Y>WЈlx9u=:OVT#; q#IƝxuր3˅d$m!zu#A~Gђ Xz#xUXݛ\6 |`n3PU&KhC ޠ Eo; pj[NtV-FN88z\_f]w"ŮkowsþHAK߮jp0x8]Ju¸9;L ݘLsKh. 7UԤ\pYsjiYl֑nsbʕhh+.S6E%wxZ>NǓ]di93V, + =SBdAUx %ޅ6,윘7S+X5֌)R;ğzwW|%]RG=P !Q})7;]6ax6j&$+2(,})zp23OM%galUjeFɅmDЏCӧa{ee_V%հlYg㵊4k3Y%s_]9J?xB( &wZ-3\Lw :8 Jqޭ龴򲥸iBb}$.jgSRuFBVouy~O=op-t2_es3i/"Q[Klŷ,9 wUX!M 2 w! sqK PpuŰBcv&C^קc۽DYJι| H{vz8vJih_̘$QCx5V%I:ҏDd-wToz,>f⛓ HMcY2$Z@AvR㤛h$*uUG3EƅUwJk7kVE fh.kJiZL iƒ Z݃ B{6HDEvbm{ͱe~饔%bFKNY}>';4-iKy*dJ.A #\uAJ s1'#uDR$t5lx5^CD*:Ώv5vߨ/6u]yoϨ9 Ys/x*˻mޞCԓ)e;ż#1F}WhJ1J&P {:grNR;F%\1T3%~,m51|*. ~\[.VҞ!IC=:A*5ZI_u)℠!PԌMq߹kXy ıCBÿUTnŗ3ש.Ҹ"Mfγ֤f]6hB6&[&]NL_yj@ʆ$xH=e 5t)H_zό 9sH>CvJr$\Z{Xa \F(V[Jv}jM#@+.2f=kH̨3.ӈیҡ{rBPY5Q%D 'T-vkZU|v+|4C:*H:+ T#qcv9TbV4ݩ}GG%ݻ3w !AYTs:X;3+(TvW}ײ";5j7wR5; a3輵 =x|>C RV>Q4- MU[ZB}&mSWXy_ 0[en:'חb:]on7-HEt.e2;]5lb.|-b >ZT)q 6e$l*r:p2N0Aϟ$.*[; tD[yW]|WU]Qt=Lxh-āB"cK z4ʁ^]jcߑ\3'Z_7'I.PUo$s^Z /a-R"fds$;JDa/D@k|IhZ( Y8ur'LN3ŌJm5r8bVGjxj,GsgI~Jp92[8ٺDMGui28Y‘/O߄|I/_c S}P#֩A-s%98:)(Ӵ5"-5]#Q~)-D/9#{:GbDP$k%#&Oj[2ei )3UƂ+Wi3 fҊؙPf-|ܞf -ʚAm;Pe Vbp0n&$/?0{$6YzY}EIQđ-]!w<&_*0A-ԗl 6,s) !>2:˜)oKYF]#Ara8؂j>?/0zJV(oZն2tޅɳ(u d< s <5Pn5^/\a rr:4fȵ kt7R Gl@uG6Ba5.T5[!D^aOE$Th#3eY83c*FT_dW< 1xiY n]/SͧrBZ7ϖ>ek$ hVL62?$]Od;^q *~3fASo$]8f-tVϩcAIODFSEQZo+G*yt }Jm0.3;3s`V 藒fa^ Vh] HɌgo!ĸ <84-Qz&q8"=m> i*^&q.HA"Lkvƒt7 CȠԵt*]=~ӂ(QeR M}Y^A-f nnIMh.;מ7M`;$XE8&z$myVѾ|6<v^ #FB;|1*BZ6H^8N/[f/0ʴvw g7QSǀSvdhxQpDq'l4J a@Yx$^ O1t Gn&DYnxCSDg%47x9xG*;6$L4?"E?i 6$)'W‚[bʁ$@,p,NZB̉YUnF(BFR H)WMKИe %(7l+6E r`Q<=8HTvyڗFw+71 ̵}$Eҳ? i =uЩ*J_V^ހmצ U i4|*!o:'IH+D% JXAP4f9/f6/. ^7lWjJ# U3.Ͻ81Л]`+Ey_X>S`|OX(зC >h3 V<2|i0Q2ciWݩ q"0~?4ZiK$ߐ]=$+“؈c5] U"竑}gL$*D+T7YZ _|a7oDۭW5AՔ 1%~{~qX;<#\h8Ľ % RfptqpYc%cf6^+C[pQ nܕgy1MgjJa"}]۰DWqt*,?II?w E<"@PC0*x^m2~]cL)ŹKPmՠ= .fRk'sO@Z5n~[As?xAw{?kq-y7.#<![ yœeO~ıH%\SR3,2 kS^|U:.,j_r퍤T5L!7Bk%%J}Td~ b=0G_L A8+%M[#bڜHl:l{'7=2S/5ڈ~s;e7&zz3D~Y(~FɵeA턤p.G`"ċ’;cӧ?qeKg]2'IZC؝S7F:.z9Y2(諭F[6e\;c$פOSoҫR6 $VYCDp@%*N小/1~%-w%Yk [fl>2n9Q@9PP lJ^ t(,ynz^6~QAm@3ru%c S`WXFR 79HЙbu]ٖ=M %nC9,[A{f. n#}{{DzlIN&,^aW)Dm]$[JbF{7"5M}stsf-. &_ R<ʍiC i.BoF4&~^}2Jp:Y8#| iZ{y,~^u`~ye֓k۷1>32P[J_cm#FtFq%`2'LӺ n&p"f^-m1 Z~cA<ȁҌ` >Q >Yo _c=zcme':cI&Z t#\A Ѵ|>DŽ+9~.GmD稣R,94EC-=ʹ1t|:I 1 :PQpN޵YaBa-4P:2+?_0p)q'ʐN.?,(jf[T90],,=gę3=&Ud^k"5CLwD1jKwL6NKiT*'CΘJ6{ǀEgc;?-ׯs.Q!;9 bm-u!ak,ѱK zqrS$؎夯5ZO"a!7d_>fR0z?';A1gxhGSb,̛q VaPE+L-\ұ+UޕrXA%@M ^)*{P/wn~E> kC8 Q^eK%|oy֩RuKrc4(&`'WZ_*0-k^=>P,3`G2*\Uyd{y tr e$On|6,[.й{z҄y\KV4'IXUPd\aP:˿2 ~]Р:uz.&اp>%^X@o4KfnB°[oI9$/W ׀޸'TDBrY-g#Ň=W l`w3, {]#e$Ls2!5(3CҩN$#e:Ҙ4W rq>ΰ3BucUBBU>55cX' OYS5YAwx%1H]nE$?`ڿ $yQ,@z"x_~p^ױ<$@1Qx)С6lJ Q+YfcpA:b]%ٞk 2v| %6o7?7v5pFL'6!^Lo:br߭D.𴟇2x,lzo ocAg% oCRUq1up-0w7S.“ASpp4)`7QTw='сwWDV09?q-ec>6ؼ+mRӊ2$@hfuj>DѬ]ӦCR`~G]۱_0W{MdB:4pj&bl0ͯ9g+dS>[ݼفxUOÅp{!h⣯|:0%3].X ArfCJ0"bG,{?;Amȃ΄/E(=wO1(=K=7s8AsM3 pywUlѕ!;2'2ӊŽy'R;NYyYr]~-E!a `,f葴H8~0 |s[!wp}چI8e$)帶AqAw-#Nw P>]!e ?T'k7.j2VA6Kݍ~  7#LO:|n z0o֡u/UrC$3|i=(wXDX^F}xZ@Gr nͥ-̙-&OŇ'n@r" lDGq-$ ϬHެNrxWEEy?͠AdNBgM՘{l )wVcO2|P$8m-zy=壬IORX^=<4f&Lhuia*Ad඗i;)nHJemQw7ӊTOjq1 .R1Op`((.2+8w0 @wO `EuE\Hyq'dc;O[~1Fvadr!~ӎv+cXI2|lIm3n rK tBI *E(Rg 4h!&!v^ "ZyY -Na!-vx4$oCSQ&X-b))>Yȍ AtsrO3%x$lhrcX>:=iNGf3Keb2 i2&BRw Tpeqy Qi@-az<CQ}|)HXvM*GZkYƇ8pid$cSsby-pec?V\߽v^ZYx'rj%*1JUUW?g9Ɣy4gEG! J-N $_/uU/7&4".9у|[mI:fObCWY' 'j݅N=G0޽/vR'726'DTu>e&c!gκ\1uh\G7|Wm wJWOwIuGj]nϜ V i]t?[ -|;4@]CcΒIKhߜTY;B6vFn q2D~HYҜ߆NG%;v _1u`If㠥M_ "!&zO z{QOðnޱ}N.-='nT!sg|Y祼itU,(E*>`q;,\6 +FıpQ!;_7 w^=SxQl(A0ŵZ+64 1zi`Pf`%)[`|~f+.Sz]UJBr=(m qp[e1ǜtT|8p _?5˨>Tx[g.d֧EUt0h(ZJ 1cx&`=\D">ɞypID6WV}vT{ gzǝ|T@؂^ȑϞ_nfL&rJ#e[I~N+jYt(1uciR,R,XMn m:(ӡ,(4` O.CrL0O"-󒡫#Xs4. ,SpuWq{JLƍ"\QӖҘ)[=u* 9HDqZ~Ki`mK G T x2)å+]Le w솈P)yu#sRvBՎ L+H"q>^S@ytS4:hutkS yl?U*{Xoy!;Nrk{|TTWgO|iQbɉܺtntCKp |3TqǜȜ׆X(cV Uy، uHZJ=؛e zu~uӔKmԙEW 9Fm<y{U1Gz5Fz#8U'+P"IH}8zٲF,K]d[[h3;4O]60lB/(T溱%=R ݋Z}Eϱc\4[JM'p.WnMHɱ[kI<Ŏҿ 6& +Tg6Qu:15:vls zr902m@Y6/ *6ROpRZ& 9Yu $O88*ug݌t}zVt0$ 4 M.9OE5EUϡ}Ez >sfF9E%t}Hmw}8{% q^VB"^ΡbVMW]V/`JPtz[ƬtӮM֊r#5%VHlGE+^7m"^&>ifw(XB&U%J^EHRNN klth{Z=br~ZrvEP O#G t'eGiגbe6-ҫ# "-AʕΥ'1^7;XmPhP+|ej k gF6#GWUi%K_\  jcB})PW~lLHh̀/T%Y f}lݪrZW݅gg3- Hxf%m(E3BLWFDX8)p I7bRpĬx,Me/C4`Qhq ì t:_ټlhW%A[L0.fOjN/ }r%bU<h h9C]zާT\BY[Cm}8\`!aepܷD(g<jT|5@#)"@ a]IbvG Q3/It8BrCnH;i ȍX `$DIkЭ 7>˽D! 5(?3<{JR>!`6z&L H1-WL8]䮙Y/tx4 Lf2C#fev%xUP\Jf !OI1O}F$;n/rRRXV~%OOaID$R}iB`cK;3 J)"`CQpPp$sNdxS; j:Zǟ\9kK/|NyWM%uXPAAZ m# ^DSL عFMY&I.8pƲH_qzRHzDcg$Us԰՜E*IgkJe3]ۮwz6cזJ}$`Ubwȱ(%5 p0S>Wϛkrq_te'r#[7eOc[k!Ӱ ~+}ocS*W χwI אF hEqO|$moC5PS H(ګ_R*-Ë:CSm8Un :0$5+&D# Y`e;y\@]0jxi{Gm:t2M};[<:~ع uecu&%b& -0%]͎,V|P@bcv42t岁RJr}#z ˥ x=CA<+˜6|gB Y4f,M >Q8Xgd^ʪj3?xȞڳ ATwX=M0gx+zޘpSLAŜiX[Uow7$JJ܃_W\.\/xKWɂ}.μUjۄMm;*oiц-;GAf&fTˇ^ t*~h^*A.&uo)^eAQNn< lYŔL V~0fÑX(,C~[|oxﻓGp~2g\-ZRr 'Xy"/Z`1''*noCNcYGP'Zift(x-AeM9dhwR 2p-ЦU$sq݇j4RSTfEת2E,~zŎ6``ګ7d2S"Iέ . \⊳0>YH!!5xg3`U73jR)7>h9ߜ=;̲=17w6Aʢ^(e5%Go,SNܴIkIA,SC}Y'' *&k3ELwKP&o_lsPnma4MWrO-ݚCBk4S(K´k j3&o\>ES-; jTk_u }+s-ZJLIgi:Q&x@TCgQIhܕ/w7 ?޵38&v,.U0>TRB-@<ZXɬCe5WӸ(X4e9~䄳vs{Haf8|rGQF)7 Vn%*R-@ U4%&* Wxޏ#oʩ "̝bPS: UP$_+]l"AYr&G:@ぁ)|//!ϭP3UepK`M50V,8$f61G53u]c}x&D-sM54t*܃`7/jr)Qō,tR&$Ŧ02Ac1K*weeboDj64Q1BZ %#|Q_d5N2?bìK4ѝo:h[h;9tx]Hix5;> odX]f|o!0Pu>r,췸,^F_2Y))ŧ[{za.S 2t4K["%a(­t yQ_j&2m=?ǂJ_ͲDP({x_ F*qa%*D=<+Aax޻aǹ`_yوNYw;nMm Y46L|ou|6(ɺG)}k@⢳!XR zj~]BP$CCJյ j5jC˦9xܼ*xZWgTX܆gE aUV@eϭ֘ 9_߸rK\(Z>U:C}'j%xN$i6޻S8@>F!,Ӫ[Ib*Znt~G^WqGD;ui7ڻ60f񯢗MZ2aw 47MoPvZ7Qyo>>E|ᾱ$rz%ڋg/)w֚FQ%9iwP&82j.H()ŷ;n, ' N:v ǜ9 =Q֜fw MoӋX10W~&ix3!h4ÏKizM wK+ERŠ<`KS+!FA3oMG.p]B_\lﱘc|>[nJTAEڴ&6bVw[̯b3MAƞpb 9 (1^m*Uc6ڳgrHCV(^j]ExYIf :t}]ڕ<ږg= iΣo5Gg6r6#ħ0$W?,T6qni,+6dIQJ]cWxbShȲODҧl'Fx@Jd0'#(9 iԳ+z*7,z84c(V}BrWo<nsj2yYTlGWҮ{ΊE1Ye'iL!Lut"U$%Mf${P[Gi s&ΉiX/*JRG)C0d9=Rq&Qvj3%T[ wc)k4RI1lU ChH~qYCp9pA iDxԥUlpfì^yۖ*9᤬8'žE Z*:ӄ: I\S ~}pi+gos{}HLW״UdDko t(®5-ov 95kF1^Q0Fj8%9|Y6{|{%sxnC9Kޯi)`tX)Kҵ da /N F{Ѹ] kV8܅w[ت߰f5Lj0(+2wk`OF-,d"OC^:i%zLr^iXS0Įb9jޢ&CaS;h+j(#D_}Ms<| 2r9cYQ{u;Q&/qChYXW1-_DB@3=& %](DjMJ9kGp5%ǷBħߛiI4# C5>Q@G(Uǚdtܤ`U%l3epI ˥x>z |꫓$E1IiG[n 1xNuhջUe_ơрGG 3C9fl"&eJ86gum;eXRJ>'8&_Sy%\ WȰ bB-`kwe"2VAB"Ⲣ~T&yf!n_pwHhX=pW-JD\!eHs|m&7y;vE`h!7QETk 4VW ~׃T/N{j]įk?l$Xy9˸̈́C v o?ICΊn?RM-9v l |BdSip&({Tt b- T#4EǼ pZ>8ͭP`i׼{v-ʠÉ;'|:$cO-S6 C-Fչb4-h[b6˰*)Zm/Lc$*zf'DVrJzyHz/=%v'i2tTn8{~wiD`ڦF47YoyR9~ajN!^ܽF)AxMO%}@/}r(\|FRK;N_Z4q<wu'?>(u8^,!Ty|6lw ʷm\PpVM\2]"  .Lm_BhGtz-Az!3ws_M'jm{4V9ARcnW0U7"_.Rg2UX3xǞzx.֠C$:t2 lk?s;HF2B^DDp(Q"x:פ2FKA8!MB,nT`vEHDA/}H D1}dg<ճфJs!ޥe;n%P1Z g0G=6XKŽnnx˲ь|ێ7B+5SRbw@> Ey%lN\G=fԊvC_#D ,Օ~jy=f< ]i;8rOE:8G\ n zFY @RUn-"E ږY))\-ҷ 0U,Mr]h:q[t !88hD| fB <_W\eXbdΗZicݷi_ʀ@yCzQByzl3㍉KD \ LƋޮLܰ]çqc^m%$JUqF,'c;qMH3gz.Xϫud'v|G ,N (Bؖ3]qSCa_w։z^Vc8iVc)r+]&8q`WA{pz`1Aca(] ury^(>,{ϟ=cR5~FCĈF`ӊcLp} ̷Ox]-;"r0KxiĘr9π& qo.ZUGPov l6IKTHG_;58Ǐ4JLUDanZz1Jes y$C7Co]k4ViHb`Jk]c)n ĹI*KW.:kX*X4ު")Lth=<7o&&z=| |Pƀfmw|mnoi_ p=g#|%#kSv04oyucOz$-DZ!>_}I".9nǰy\&Wظ ñs3l&Xģk ({1`vS7QR&n1qvvM9KoĜDI2%?<NRU;ج.yUmbe{ֆs9U B$r[4Y:Pk7^Va92>zWQSEʺS)D˪d9,c܄m-MD: r`|^ڛjr:YuWFZJ ! `xBER!oB֣1k㌉)'8P\HeJ" hдI]&W (&oݧfmۧ@9|=CP@~,ȗ?"{}Ty~@VCЬP# BcgY! 4y"^ vUēp} r"d:}"T\Yk՞k>5&I$H )Xw:K8|u TڑBY38nOE'[h.h00<YMxGvI"_POL${‹Guf tLʥɬXԌ[t-CWo埘%LD.s0/w[}VQʂdwZ Mi{2a4Ddj,ƇNgu}8Yց~]>N9euWP?Zjɞy,uASR%A(;xt;RdfPQ;l"5@^@ܣip J2Ӂm!f=]yEr@ҁ2}\!lYnڮm>O܅|*F i #S [J~6/_"&iа5gĽXFκM*~/zu1-ج_DzPA, L(!f43]Ozi* T$Y\>m "h7l{kmqX(Snv9JXu0U$M{< xم^m(E,xӗ\tZA&bJ2=$ɧ%4;Ӕ ~ a|""W=5dTa:m 3H Qb@)ʡkK؁b̤]0@ O*Ma'lQyUD#HAN*,$]mdkݽNIAx̿z"Pz^튺tqD%uX}1RhUZ>&Ue (}f?t$8W᛬ $C .U ,\)b7z;R0c^t-+ku<W&֝|@-xޥ2WMq{]WM!%Ndo&P4t`\01eѢtVDOy5Ls!f3DkT_YGDFӞO>ZJ#KkcL[/]ae' ȍGP1G) _;_*$NXQZ#fɔ,s:!hxzAqj޼/p+vʭDVn~Gk+?ɡ!_7^7HoQDSCu~|$7ԙ W.3xfqU͋/MYwOT¾9bt< ]?9tX0DSr=!vc^V-TyP*Pip&V}O0`FJ2nb_Z's擖(2 v <*HGCcbQŴT5h#Su8VxmM<݆>iP0r<`y6btOj%kjPQo*Ap3:%en| g{UT^HԊ 3^O"^p@z/" W)[#'JUD6CzrxWϳOzc{[4j5עoh<4~CʤVMuMP~W+6bƾD9#F<|QK7P_9 [~ rPYJDݲ5kB_ $PNi![Oҝ\+Õؘ ?S-ڏw!3d!qzsvG SJ%!(-[֚.bG d|[zȳ͠WKr2n(,>"4" ݸ3| !xco8BswnhDMޥO q­.l Py#7Lha B/[q3 @;C$0&<^8F$ig&O^'ݮ!/ZП>6)GWr5:89 cM2C|Fhd_u,PEd?Vr3)\cd*s,z(պr9(0S_=ZUA^bl6iCѫx%Jw`mԾy!_>s66vcqN\UwqWK*eKJTzI[~x-6߿Ί<uZq6]A6G@Ćۣ3֯dǣ3GP@џƭskM 7,Δ3E[V*r}oN|7.Y邥ZiJhW&hx SFtעb(A/czRs#j/}Q'ߎLy> 47S`k(R > ,mr)`&8fuads=R,5Mq C-6._EHa)Z|V8j3#;v5O=٩vD$X+.oy8T":i>HA*/=vj뭑7*unIuYu̞`SǺQXbx| Lq(2 ĊY~UgGѻ**8hr{Ywv4N4TFye[d9|q-Hvֵ貳Dg*Mx}۴w_1>е:G J3 咃DTb8=ȫֲ Zc%Q;5.8' ȶ\m~f噺*nc!סerILq wgZ8 K'>IYP8)u~x[/س%)MaYSg5yXz@'hx?G5EW$#5K +_SСW~l4/-]}EirDɉAڮG_ 54q5̫mR"|wOur?z@qX]ȴlZVFj/P+a6醝#v{A3@Oq)#]rIW +Ca2?tnjs泳(pDZ0^bH5(Fʏ|̧2qWƴd{(c-j[QWE*CSg-þIpw )Hw#|!L F=0wiݶi=liod ="Hir_uM~>L>Ob>"tӇ;Ώ- *Yv=l=op41l09(Vy4m uSh !'!rҊ/ l̚mG)Vot, h.븢f~ x-CCѤ+OL ŸsPw:7]}0a|D7 8z/%,k;R˅i "-)C6±:ܗ)V8yfHxQuڥFЗe`+g + c8@$-Tm|+G=LQ?C|D178gzb8E(78%c."1M' Wt,cVZNPyۺBfA.\2KZ!mZeB1wo'whNBdʂ(4p6L{;f /UFMo35/m~,b+J_#06Wn^<#Hgb۝68z } \\ w'ml՟^ztCȰ\ʐ%婷F>6)FBqN}וx<%U=;*:5K1M[ }?qsOkjLg 0Bcu>tjv9ppm͗4X(k;=&S;wb5 f {b3-v5Wa/5aIgqŏ-[iWYy`-ߌ K'17!ɱy.9|11rVWNZw ?H0VV %j $@{;Ɍ͔ ~+UxU`;XÃb`]SxbN'=A'^^[Ɔ#?`3kPxA\ӃnS͕P+Q To}7B-Xlɏ-i.[[e]g[eB;C%,t1Iess[1Fv*CysZoNt>/cJ]B45`HHra =A6.<7;q݉GZЙQLPn-gX.zŋ/ƒl"$)т)t0]ɜu$ܼC99ebF=|O"y@yōq75]LXg+Jѳ OdHauXyS|ȖaBsGjvy8Čb5}GM7MbPF+.vRw4,өZnH%Pxo5~rqG Q" IxZB_aX]^J6&7 UE֥h*iLO8!Y) A9N;w SOBBhkOMӯD>'HE\'*I;@{໶U֩l㯄]Sb 0NurYӢRә2oB!cƟ!'}?s0yGΕ n;Ѳ];vy&4QJY4{4rXNAj,V?Bl䃼"Ve'/hO`!E4 JtAc3ʢc<- D9(䍼>8:M3hS!hE?o 2fb.R!ϔ(qg뽈x?"ڿ݁ȼP W*,~G7)8@T+ g3nwJSz 3~a  5G=o61pl"Z!wNs)*w Q)> AcjAvRj)2WYO48Vn* )GG#|vzL*SJ;ͼ!-ayܦcnSzY1x)^Dw@ hx&u AY 383致q[@/u` Ļ_n+o"Z>ܝT8 E:jk\[΂& )3a8.>/\R ՝#E "εU:"uxH (KN@Yr w̫ye \^<_+eu-D:Wbpj\ɻፐ\Vk)bGF FpTp!{Vi0gGduq喧3 9<-ɠyËK~> cMu *9)uV@Ifn)P +D0Q~^]cV˦z:b e|Xq/g8Q}Jh}#v7!Ƥ n1DӡV6>3r˔|*  4}5B@WMI ćZDmm^M{唓!(w$@;&p@Ic+mCt#,vW;ބ^#އЃ9<$Dg}B%$Hj"F*kĶAKYw[ZZm% ">B^*әE՚}iGxps̠œV)T8?b OK=A x؍DctLbǗTpLX:S7$^!~rkVq vS_.܍f0h =KDq.yR0 {"2]|>ٛCHeXu_1n1>,Xk2&_tbxk!V1(un/ SlHsA&9)O jNrE͗Oi^lFB[s\ 2iAM8Afv!Wƫz"neJڶQ̎QCʐ'vR ׉}:@?[xF2 5E|ʎ-WHB:m3}0ຢ+8}@d*NѴ+䐢P1ZՙAC{rvr8uXJ"N OY0U]Uz zdMǍ6A % li{STSLg) :ϿjNzS:˄GQVrR3FMpkqCHr~bD⦌E}=*v>AALZ>9 ~;)P Bew]҈  =;Hɵ(2f%}>o,H>#k%I.%k"l«i䩉ża9ېEh¢"6jV1eƬ{Ë~v._cZ3g;k #c ,"dȢ(iThvzNnl)Dr񁹦1I5$ h"f ŗMS|;5ktߘ'~_uG=ǏЈVEA窰2bVB~oƙβeym$8,'}E7 1Q&m #s$-6@(ُݕ$/;IF,1ϣ8(Իlu+ cE%O %1O$*ҊZg~ӕiWSBk^6lW'GcP_Hظ/Dptvxd@;pvօ^z[ZVd^Fwcx.vb dSgSz a|YNvd ئ"W챫2cQmϾS$Q >Kوw価mV))U6܄|,$,-4?h=wπiHU0 mb ^5XS%^L Qt-Dzç~GW=$5;#H})g(dF^eꕑȜ2 P>bBXp6tzA1Fhi58ؗO* ְ"d==PcAP$BRC.Esj~ B@Hm(p2`'_%s4-wQmnbb58`Oy9QT|UO*@,y8} \t~ FR.\ tU8:icVX&8R#BBP#تc:83ІfCw<zu .np.W|w/5samqeb{8Fh1>9AR6DH:ku1޹q躠bK c|̈L.~?dkY 'S2MJ+| +Jjz]I9ZU"@l0c&eouZydt/+ a~hl [=#TpSbl%LpJ'HMr]oZe̋ ~ ]iu FS.ՖPp80B7oJٹ桀Cn_{Ow),?F_ D*lc%ywܧhÉ +ԉe&5Ơr 9)LYQ)ΗL"cA|~_4fpɳ2D@ăJ2'Rb| %}vjҩYЊaP-'tȗ`K`;Sh-48>}%D*1jdQdŽ"=МWc BLz8]H{ >6㖦2Yt2nzŜ)k_"5E^jxJ\D;mJNG͟,hة ^ѫJHU5^/?'AF> !)T,‚*$ !luO]c}R   )Ҝ7%B;Z9zL;>)?%$5hӫ~V oǣސ"!|o:كߑYe}e}5 )jbh6AJjRz/0ǨI=+/ 3mA9j{sl@Wm{Vz(+l4^1W,bBMf4Lؽr T'0Ԙrmd01zd#b2\L)Gt#Xs1e`RTC TijjF|/ " ކ)GriݨI)ű)*y[MvOVV'R ~MaզdTq/ 7T84zzuhZͫG` iQ5Ԩr7xSX)`GZ= ^[QX~7 hYCAgЎ\]AYs!@)BFÎpwXjTXQGɨo r; ЭY€"$)/Qϸ23b`KE`SDHr񯱶լl=U<đ2keϯaC)cK }*'8[H k"NM62+4ۑȖFpfۄRЮFZ_,#0Q@ .{ۿ~q!ta$&/߽T=d,TZ6q_:{F7zAb[dޅMU4ͯjFN79LcؕG6p.Uv]@5@54F<82߳j zw/ $jvJRÀ>[ٳww%o(Mt?rxY6{̒pZRqknuytP?J#EsInVmBTgx|=EʀTB_%imk"J1.`ͫ%-70Qn"0׾6 4kH%0ΑkKɸETs׸^}88rjf]DP= *OqmߪniE;Lh/f䑀$]*Glj[?&[08߁mC&k0 `aa0KBFNs>΂B /]e;v,/xt鋘{M'Kv{WjSjUUE,u|nH·|҅M{?:!f!;H'ML)=)0looN?lP?%ɢ-F&ށ8pR yB f_1DF:e}#a43Dwۀi h#Q@^MaF"9W[P_9Q5XVBW%F#]׃SX,ߑHa6bXΥŋD}ߤMPd;tSXy qΡDLlxoxl ՜XHM{pL,_;Dc$+\|1OWOf?Y}\qRQh{i^c4;gZ%q n`me豒 (n慥 %nqvytVBv\\hfY(`FhI{acY0o J;+rr ~Z~|8ʢ.c?&h)n(+OSlv(}NP7E#+H&Fʦb1f3V)ʝǽx&d`JyC/;9wpk-9{Ƥn}EYk0p*F9)a|z#Go\OڔyoWCHjvnD Be˷bem1ʵ_oJ& kưࡰAEџhT֊ s)d1MO@-̉;?k4w!rܷ3:yX.d8&ɔMFÝAx>e匓ٴm|ɮ5e5؃Pr9O'rPA \n ~/3K.G3ߘsfO!J}s`mHt'_Īt㌐ t0drquts62_S b EhC%4bn|nOOOK I6J/~ڀv Q]ݐWnG/[K[LXǍ4psd2|x ]OzvȚA_@MD3jG<D ο9ӽ je KSdPf?, M?6+C=0L q5|+L4vEt~&O"W;xD#;w{;M9ьW7\?t\_hhpPݻp#x,(g46{wbD i7D4MnXQ81;w 3 'p1¬7-0`Bd7SC:&P;L6~FigFx8J;| {ކw:3[tIhMB9@jBh"\#dCss0ѡй;1 6?|f ]Jtt zgUN#!m*6Sا`W\Crl ]ׇXv <b$Dz7a;3l+Vp>C3^\n,R4ZZ Jw6.T:N Pi#T"Mbc|בo"&ʯvPD, Q>ŭsOf۫mRzdrCj^: OjFj=7t!Lj&K 4x+F܍yÂt9'F}tbڱ]w;cs+_bF>yCnziouR="!GxʗoQMH},"@ wxuk9bԝw.Z mLàݍEC孹5Vӕ+~liWB@>\W x߬; =hC,JQf"Ia<ڵ~z۝5(nõZb6lq[0: L?aRZ tG 4bnQP1hj }A&~4enD58w'nqvM?R`=*7mw{ƈ}Oӕ*EĀkî[6,O%bzyEӪy\U*( ,ƞrJ_kڏU6$vu*$hܐ>Kx]ɞ/s֮rjT{Th/sV-ƷnI%mO-X?jWj[&Lzuvȃ"3T/o~ ^*Jo4Oxiɓ~U gD'פ210QM؄Q#Qp!Tk?вbV%}yV[g՚%\ASPbkX x<޶&[C8ȸmn)%8H*ڛ{pa_tBM(e\;QiXG \]%d,G*.=kf583ָ,Okmʿ%)?,]#HKs.\ u\H}Б/+褌QD*p<;V̄` ߈9$Z  }:(LϹ&kcrkߒXN@Ea8#U%Nڝ0cF2L8PtzR0"͛Y,:L_wCy- ;=apeoWK}Y|R>5 (;VqԊ($K22_{OK W܇'u&\(Bnlϸo5 2 P $4IhE@]\7P 7x_7s1SJm7irMS RbƯmD ^ͬDG;3YS%vh>|f=ŧ:l ՞LG<$/01cjZ;A[G|e')*\ 3Z{*[{'`f ~xi-7”}Ϝa`,aHPNL=G8Ya\H 'kK"V_|Lp /jq ġ2}k@߰ldqT=3)$nT~AQVm.̛t@_-_S1lj {/bNnti%ڹ^28i@{GJb/5A5 KhEdbANt6Lw*A`;et;)FQ?FLrP'e5mNp8KʈįAAufn9ME$q-J[Dy5+S0C6܆"0P WԆAdYo7솁0ʚ)^i ]et6 vB@idzWs+Z_,7K`A>H \t,g]hQ*"Φn#8cB[1ڛ 76Ԁo5:uJ"7KYo_D kԛOTa7k%,U6QE~kߍ {J̌xu2QV_[n8ݶe>ẗnX]1':`K @XSl5N'ǥj -cSPɧ 9&5vFΡ$JWX΄}F7r5iy(;2uiXOgj([PL۬<qG*5TP4<3mg&0@>W/K~%`W+Sa"v|:^@PГG>G6:Ȁ~}oi(OeoJ>2lf|Fhn$I\dLpDLاa5SWCW8B'7o#;Aѳc?^O|'^w=ǺB/8&'ܜ/@ ^]B*QpBN|zvupͷ3F6W,-y> pY %t̢Dv3qoɑwHϵCl(%AS`6]ht%eb>ശi*nu HƜW*dz<+?@rh~"_R8і q&l&=̀Of0E/7XZ (7:bҒ}e]1|VJ;[4֫g-XibVkIjsZvtN>^aw ST#εp\El>Y_SӺG`~I(`DxxBmsK6tbNT%JH;܌ߌbd$ Ow$yE&70e"*6ðK,܌-XPd̄f (U'͢/S,W ^[pu8`7ϖ`ʌ0 I`ЮJSy<_p 'j3[Ռ-Me}pt>zbC2˭ך80F;Lb )%-ZЪIyr@_ױamDSVfICFGpsmu b?נX3mg}^"$m0ridYJ̺Ʊzu/hׯ` 0&n[-Ἕ ~gRԠ:]ƭP! - خIpvb5碈S,{qWhEOK#ǔ ˎ~̦k 6$x8N053g-"{w{>KR =¸ #CrRfNB=hoI_^'!3^)VSHJG`@1DL)ؚ3֯8j(Pθc5ު) *Rk}KcB`ka!]DzhE6z]l~zVzeEFsOnioxh/] Y0Ry9wIN*r=˦ߤBv\@Ӌ a!#SOQa_ܜE%&qF1 X& .lپYg6F{oY[[^lxj f73y$nxJ)Rp뚥2UHǁ3RlUˤOKDg}.nz(KEy"e9M2L˸$ ?bNqNm&O`.MW5T`:HcMqGfOͷ1/r|*3`d31"fp#r~[. >?p5pE fdJh=VYP[o-Փ2tjNǷbGZ5njuz5NgZ]t|.M5ul3?0:DZJ Qe1e0P9C#RmK4t]@8Byiā{~qy!8`}JNzw翃,rҬ^*'5⾋V qJ Y7KIUESyp_t@?^6wvU*L^S.á#ULWX)'Bi͞&;8z瘽|) h|htTm°wI&*tbډ+7\ HK9ϞTnOFm8M,m p:Wx(`q{X0%0pQ<0{/JѢc(DaKtSPܔ䉭o}c&t 8KPK*zGap67qXQ((+l\T}ϐk{dܥL Zg|hAG? ^!%6TW-Kz8uH5a&$5^Vk_5[i]"+Fi y e}wNJM_aoNGm7}"PߤXTMcٓlq+%` ]"(kGz&L፩eSSUThHr^xC/;ơsᾔrds_m"!~B ^]_l=}CI\aĂ׈,DK\6%kbK(?~i+OmͼuoI`Ɔ҂0*-žS(皧0 H.Bֈl!=lYȺfХ hrv On N? (t=`6.TxIA5z׊>ԗ<-w?,D#A?I5Ǘ- 11EB5Q:Y/+AA]hx@ҩ#h"r.S2kP-Һ(1ƚ3:aY* iI*mߴlKٗ< Vփ2Ȣ:fR2*<5|f0s!exĴugȂ{ر;2juHvԇ>ql)A,EF ^xtqx „&Hbi=D-ڴStlCa^LW]`eQKfi`|)$*,jIpx*rd֠قA+jqwv?''Sj+<1\ ӣRItXi,% q1cdRp4XeVt(@UUh~.{ܓ2dsX 4Yo;w!C'VguӪ5k=Y@v߻x-7b WCmB~m{UT\mEgpJ2`fQ Kl*Iç! OwG;[S#0DDh0+sMGXE/8wa?9T<Ԃ2 +hXyjN-0 Ȕ)4ڧ 9;+oZX&[w~:ϤvBA`Hqأ h`@RQ)v}^$)jg*~'&Egv_9' ǧbY Got3IAI#r(8pQ i0&u+ԋ)iq~!z4,W6wbIŵ/t쓒Ǿ;0ʛmȖ5x|Juމ$Kƛ~ԡC$;dהmcv/D!wzmK (ݛXr 6E_ GjsMef&m ZCN`<| :Lי6HI H7Nm[^ϻ&2 r\-!(?vEJeyoatC?X&nWka jH,R3TKI<%i0F<{hyYe~  #_fkM0`-R}p0UgmD 87B/^9C$LCItZç8Mt_"d؁o:g$2!e0N!1չw- O+s!e,ĀqMV-Qla;31).AhcqرCIHm%~㮷4um8#:Lx`dO1iNoTUކ<珋ba^ b{-n ŝ焹5 h*agF_Ńh\w.8~@5d]Ez&ӑE[xl7~UDr}Kr+d;L//G!b|eI [ 7.N9˕Hp`ϟrz_򸧸SvIw 4D+zN(ws0 <`3<_$0N]ȡ"tQf;v.o@e[UZD0j#^:=EmHxL}# Wa|?q?RE6}epfYBO>EzmH(XAOڶE^(P/{1j ktܭ۬3OX.@H餼햝bwCZ\YY4MSOVw܎)2F ##z"//#)n^A`WkVK&JsQZֵfAdkoO_xO@+]1BZfpwm(1@ylq ,+?Q, Z/"!P24Q#4 ~[ uMyޚ ?_ݷ!XǜUׄ7m pGe@aGvO' =MK'SIAF'@Qex,i`H}X[#[KrN5ά*A ҚJV-s/s8-﷤ukusM:XI2~3, [kQ1su0)1$UЄʽg!Y\@pm|  ݍM?֯JX՛,O-'Z,GZ%"/wJ6)s{:TXސjF/V3dS40dNۦMPڣq!fc!'N G?1494S ?7_t ؂pyGڍAdr"]Xm+:ch,rfǏq JzRe !x\HQLʔzoF Gh֬[ۜ`?iH+A (FRB?%Eo_&&mM]4H]Kt3<R@d~z`"X5४^BPmE:5b5hH.3r icĜyzWdc-!oQ"!!D{W=ZJRE#vb%OE+hP=!͠xRY. =MaaiGN:[nH#g1 Gz~vk=M$x R2==2IRހoV?$G6l"g9}B][9-P+qk|,N,yynw9L;>:`@V5;;X %.ܹe{oC˼Cfju pT7Y둀Cݱh~v"2z!0BSvepG&` _DK^4Z-L n!cXU#<4UN6#t EJ\uNN#j mX!.WpC(R[X@r_<ɨszetjNTiz@udkIH~Zkc4j߷=ả:[0DR_Ű-(pbqjyJaVmI*𥎇Jd&~~X(tR/ZxԳƵ.CԙEwO~7 ;ɖO)IP4ӄH^G.-XgM^0S?᧒2eK.@gƩ/z͆p~e~e-U\wnb _O'n8Yp=8'JQWeFD:X }}_? g^ܗ\t<%UIa4r )H@،O( OO ke\1%ӝZ,lf랸SWڟaM<}!3gT:L*Ug#/0dVv̝T {h]م(r<dsb Ǵ> {b6&2y[4+D]׋M,D]T$vBg]l;VmN VShDLiVN`QUm50HSҊ Sg K#lov4& ]dHUŴŒ:noMYt9/'~LJK u@8j@IWEd`+&A0@Vsic8" X{9524p "ro+_9_1.p I&\OvÔrjJi3~ _ 89>k=h՜! d BQl^caj;<`:L' _ԭL!/Ul'|^":˓'ӳKA̯9z!P)J bl'ͷ;Nk-Oğ&]5-\={4th\Ig-ӪRw1}K(N-NZ 0qSDE.\*E0QP|\jf{ 2\?v}-:-{2K:[bIG}(^-DּeS%zINle?Q['#<-E򝓉.޽0#9۾G<\}Hj˃i~j.bME'dXRl %" i} fLSyzdԬU.?RdR>կڧ%&N9=[d\3ߊX75/03fvl)7dGEl?{$J# Hr 7̛{^cU; s"rC.,%k/o57].lX%(q0?]P 9,XM1Yq bhVaq_^mr_AS|cuXyZ (\#+j]6F%{N_zR}<6:r:ˢ*}h0,#] =^")% =1t0ߥx,3R'v/(Ev&G˙Nf6m,7,471Kjmw `TS U`Dgast9 KfE*.8ksGy0` W)UB|{YV&%̯m]DeL[rO`G  b0&eÑ%n)(=-iQ-L& O4ϒ1~)uF/9cg/ +'glɏR٬6iL 5$!Sj9<܌ }s7TCC@k1蔿z2CVQ"PTaIeJ[^ j-<[vj'Wxbk0@Rqc6D=[ShqK2ɶ[$,꘢ǧ_f䏷N:Ɛ~AHVČ>A,A 6+Hô!N:97t,` QOXVOfup&znFG`DXW]Ѽȟwv oG5`ԸBb5huIԆRJ? bqUI1{k*MUg+.mhpOkEϒ!\ZHDO9DMTC5,Z࿯Di]uc6 GAG,ApSc0ÙB)C>z*<$9@#P )* laV=Ƀ,݉!N8 Z]H~[9 P߭H7< 0y.a!;4Mm8oh¡>}>/C#9]CKR$$:J.0k`ψ=Z*A%R:A3m `iuu2i\}|f=8e[W]&=8XƩq% d1BZqLT.>Rq3xrM}d)[&xm:ů7C&5@%RS{0} -r ~2ɱqϚ̀Od5 LX RqPS*[ GFGSZw̰#pZo|_jF <ԁBЉU^d "/'#l]帖9E:N.4(VMMj%[bI sa&){oۑVmCSDհT+f]@W ajs;ه/+nV*sT pZgSu@DcV`wBF1?`wdg$I bf^/;7qXo[Yp"K92ӝ?P}M8+ad=iKMNsC=;' H>&({eYsY !;,gAfrqz,֏݀zRC8dm6Wg@1MrWHZaK3-Gek:dFtBW_v3h嘸^ψ5V Z_2s9Bڭ~ ^X: <6P9C$iV*ARvZl^H=VS,!Ga`Ss.IPT^ ߜeJ4qw &ꖒ˗}27ӟ >n}SZ=lc|1@:Q#Ʈt%-"srIשem K䅻<5ASEۊZxh Z\G,ȎԖRXc[F/"憐ɊU0 W8z{a=Iݝvc A9Wbsz wbVO6B#N]q\XP ZR@ݛ#Lt2(+C=bnFf1=" jAJDfo5aE^ƋIt;}y.ȻIg,*e1{&X{?\5M.K&$Îd7kyظ%`H{(PҧVr`T&oX@PyEX1 kJv\N5$I >,;( +iRO~-`1vtt[ 8FɅ=3Č~TqD ?jDw"0!¼$&Ʀ8ܥR +uB%A<0DHр^y9<\+_U.Ze+>Oo8st/ޮ?14!MB!EB cwES]m#Hy*v43FvO 9W=c:@YiRͪ$Վ6l=T&]!L .gÖ[ڿpy k:s/9٭te`Q|rǕKE~0j;InðZyg3:5{)Q\qj* NHXa)(,PZv@w*<իM~j4q.w[؂Hn=.C#wkm;9Ȭ]ˤ CئFFedNo/ԛyXp 7,CŠѰtZ}wU+L ՉDS:8qT7g) Ow.+0OaAXTƎ-3$]N$~KuSk',#(aD*IML^ ԜGdF‹MKUn̹ WfڦVzOH֮ڷ o`2sYC:-46@H-G?(t.s>a B,cůoۣ0 ]~XF6Fg&c덭>q5=4j =u Tjhڹ{gӠa>CC$ 'ꑷw.3RZ Ln*RutYE(VZVp{\@}C0NxQ gSDVGvgϺK2.? ۡMyŒj[S@:ȀI8NJ]6 t -|㠁 j `8ܜn#0Lـ0nʈ~٬LF#,'P±"), H=-<]AY}XDsϒ>J!qKwj|w$|%hnp:W%yvtjli!D%>3G2ǓiV#auD5حM, ߧsTg]Q?С5SN1@ LǷW v.R?a(@MD;Iw!Gȵys |BHr5 ŝ (~y up&< Iܚp<:[Z ?z]:d8ifp:1TC,B:8:M`b~mL8TawdaN# w⸎K^+32M/kk~I/gD0x:*w{U '?ύZZZ3(6YGz|{>Nw+»*s l\!G/1^ρ8+ēu՜P&:G{_l12vg\Z7*W\!Wp?g95EC򻖙X#5쐔rnW6#aE[S{퐬]B" ; Yk3Xmuv?ȭB> _ȵdҥZ>uvD-AQL/p@$/@%<2z{PyL+*a"LbB3Xa9Z#I+OM٥<)mZGaǩLaD%4h*u BI jݞУ9G:MdYJKt7Ez~#q3]H\y׫);$/e\t 4 <VCt#C_ЫeׇQ߅xb>W0͜Lz'&#;rˮ<[C3q]ͻv =I_&԰tFOaČ FU5T $QڈV OѕAU7tۆfD5UsZw 2x/J@l4J1zl^4Gpf۳//յμ8GIwަAP~#q,lʓ*矾dA#'l$tk'|\_MtӧixSw Y_l4J^^?P2qh9?$<4v*dyuya{>e$vrn/GjW }m5dma=dw?@]C|CQ0ϼVi{3W.nNqvE \ e#MeUdS&%j 12iK{߮% Q#}Lы &.kXF\[2EZ9=XRFɿ8聠;2#t`SZcrԻX>&[`.vYaP ^ ej}cNi/sʧZ4m ieY6aL|Lrp4D4xUI[ǩg-IP&_jYL'Ag@J|I'->;nύ^76 蛋$Jc Z gV6DQV" ;Js`thf^r]dҺPzn#7N71l.T Q0Q Zd-;2Iڡ5j ]д67eV̹iZt"KDF4va줟v(ٵ=YNf`wیCzPnGE4}TW)Aǿy0> n=K%/!(b 4R6w2Emk4N圍Gbbm64c,{2w* @?)s"F7v(O1GxtZTIŔ1Uje\:)yP{FUe = /g65yZ@<+B5͒`D ~ 6>۠~ L۫"6BKpb*W+B6K|IeSz޸SZ]6fKOKB/Jkho?k2qp!{N%IfHg5om<ܷ3Աݰz? >NފFhzࢹђ„;ƒu&?᠓D  ,VRYCѽ`)V/o>\G9pf#Nul򖃗vzUUw"<@_U B 4c4{73:&KAEDyI'sB$CE~ٍxQ EQ -0Y*߁ 6$Dо~f=`8 SW@ym2juKRl[c~P 2r0Y=tT&Q^I7@|_[)J4x 3k9X!ş/֫Cl{Yx P؉.|AAa?֦RzK]!NC{rK*wn\^ clfq &Ʋ,T݅9衳p̆D>k0Fj! rfYрB?9q\;Wz➺HŤ.fۣ\hd…M;q##u4 ) w/"ڿRNY0 V)y֓5H :1#'.Q\L?Z{grXnQUPN#ơr4iƾC7_ qIm3ocs ?ߤ<*ASGt d5C`# 8JzĖוi/Bh`]>kWKT &@uwb|DKnȚx3@2rؙ%|~{Zv"P 뱆#$Nj"V3t)׉LTE}7& U^wm<I9#H GYZ+,WYˆ*D~M>Qۣ?MGR4v>ðR[gc ɕ<29X?rӨ9az$f-6wp!^cpBbpC|\(gz!%$wQhS+]s] jkho|qԳ^ 172 }# C7_X_'8r6Յ!~lWÿ>*S'T g|-ۿa Br7ZB@}Hm)TOX15eX2_'h{ ES?R{“&Z␋o fRSCl&NKץ/,>JhSdkNQ^'.y!Pr"(YEz[ T%D^4v9KxU!#Nqy_`B6;ew_h+/o;6]]qH }a7'_p|q|wCʁvUT+F͵1 :Ji'fy7"afIM졬𖾞[$Hj.i8]Ϡsm8}YvM\C(>D'p^3lE4ˡqE %dmⳘ&+3zMci$_ޅ笮Fm6n,#_`Pmz̫PC)K@m HNYY)9=M̊.~ T$r*"YGS䎼3V&־NژzՕ'nl-3 >Fm>"b ċ] LјB`b1~C_]::7m_%Yb'1:g@+b:&*#XcIt+tp(N'݈?k!96,IQԯTRHf)tn2IVgc9Q8tR5EwЄ80]i.j!g$5.G;!Lj5J%@ycD-  l2 !9I{>~t 4rycבieVCA8ƯtFSv[orŦ)Y4z2&B[[P'd)Ȝ oJOWdVݚݚn3O+.h5"&FL[6ML[ 77,/W!29w%XA ޣI&CYsn=E( /X_gl:'aҁpnlZ/X(!# ߬ԆYݜo-CRcP`Cz3HZo&H@zF8 UiU\Ƿ<wq`=~5P)@e~&/ =FL3< ~d+f/$"mT5ZsB7L4S[jSWJ܎NYTd*>7~#ue&o}7tŔpXۃ "m l~U  _Z:${cRʹU;֢&6xO~(z*1/Չ'R!%j9)"B(ů;x2"wwуNݨQPvZ݁~6 /v !,'y,E&nGVpDr$En"k:_' A% `ɵGOie=d[2Q[ӗh9# L}D?Ϫ _qE>QS~|%CQyJBEZefhT(djߙAN$~rWKҧU #::qU#Ɏ<Ϣ̥3Qq6,6G}I#o|/enffdZZk9-; P)nߖVvTxy.0&w,%mn3nQD V8LE:ϗ3=[dk / -BɱGGŸKϰ/=l8HZOvdTR/)2kJ:l,vsC&AfH?\PLn )_r2$i% k2Wes)U %ͼb]#=oi7AG*wlL^G879&e- ,k_Y"[ㆂXnknt1BԤbJGF7UV4}%4* bO bx#' T c{.WX{Rlo 0ήv @tu tW2nF6I%~tA>,kǡXX <Z%"'W'4 +8+t `c:3DȰ#?d!\L6àD&K@#*)W~/̵sO\hׂ,Uuo;{l+Ù$6,)`h1v_|/ =$yNY{\EQS4W&-CE=U`ZE< OvozMBȔFi#IYBYTٓ153cUDȥ9Ao]|VjsK ' UHxm;?ⲠEWwP̓>m9"H>@Xd4K.yԀgvWWiyC93N]D{ِWȤ8[ 0.R{D)_\WcI9=¹!H2JFl:[RRY-1.!KȨ(x/mOM^d`i$|ϚriAM"QJW#6rQ77Yk.^اg_J;x=oE']xf^ TR6OU؛wEc}I;]Ak 3U›U2T[o@$HPd{8(XD yֆBjپ2:%_wބcVK[1S4}$ݢnb"#4hׇgCgl si=K6ۛs`ukMvAGI?k pv}KK\juiedǡ7r\ǣ?@g/Ti}Gx+?gZPS&gzf-4EYL+ʿ[~Mm6}4FCU9K3''Fc}SlW&zC+R\h(66*IÕK9hn řsKEDANKyd vZx`<g|"l=;td^S}>c!AW|ȋ)K ,i^Tmϸ棯HDl>nk6х8/Y(ky3ᅓ_WZ+hsVԭm7%M3佻pq?/kҸc>+|ڼ%FB5jkO^/cb-}t???]V\]ʬDБmYDO!>)ܣ G\Xw cDXTۈ-0|B նU?J *tܶrz-~_ўR ,j{Jqpt~D:2@WRK1' &6- 9!ia,G'2db&d9ܒ1L6'` 2}1 ;e|)4 Mz3Ma<€O!A>G (D|$9UHahd;{~;;7c'mLv>?j* wIPebG9\f+SI;_ m,P˯H {Z9^8W@iVr|.|G3MOTsmgwXPo)'$]ujVzDw T7^K; FxEt(f1; v:wRr@``#O/^>r MYǍjJȵݺo܈E%iD|VP$,éZ/!P7Ť3DeJBa;Eu(h%1"R~_@49@Xo+_$tkjpXOئ kWS2b 羳 u :AuQ֊.ꏅ{Л' ,u r`NJ_F%eݭiu0!i^ۉ/f4㴉)x"j!I˖]pyQ}h)u-|Wle˹=bO:Ĺm;!'Nq_JV@fP屯 }`k?s5z_ɸЦޏ=6MD!"{c5A3ʁ!1(pPǞPi3`BE~݆ aEQO5{`h :5W SD&[)nv)BIq-㑲CmW|HHwtfʼnm"dIPB{ರ-K+1f2X: gG8-ze] ci =Ιǽ ӷ]G%b nНYpcd4xkT$^ \T mi"@bM0]cD`bR6l'Tu|4ҸM WjvS\.[F^Όi#Z4[h׋{AI"=Պ$lƂ)թmܸy0S{NAI|kεfIkGF&g4D7ĸt)aqOqj| @Z5#Էr+өif_ш:kK">c+G%S4\$!(Xa=zs+cn)x`Uz\h~~w&'ZNן[(t@rXφR僧 hpXFjnym/W:sgYRLt˱X hIX-OtoŽpݎƕV4Hn[I珦gg"^.2J_աO&n)(ق ::e's 5L.#aBU6e@{ Fکznl ti-y*~Jz{ \OW/X!573-%AľR7LJvbO8ZU+)TTwlyI.lbǁ2$G(]պ-2P`/Pj{ze;eCJ>gew]ђ-䏪u~} ?8W?NN `,oQfGK ~r`7,^`͒㋨B`(+>IMNN\}DL{]䆴GPͽA hcSkKӹC'(<m[YJ+=8 &L2mF^kH\%"l͈ Չ47 K8=RUx?fPp1zmTMj&hhk^癧 z1SVJmRc˾!(9PaEi6ifl4Ab+ E,>EiҦU+E;!ljzIȱ*M`Gã8u+`%Ȼ1w zn4hSUנ3/OgkEGйN3V q\譒8cFLjkhĈSÑU%GHlN 9'!/Ou_|Tkz&Nb!mtBUq%['KKV99-DfG- Ќ8׏el57p~z$\Tb490ʰ?zv<A4Y'>6kDU$dXq-늢W!U2+]AwI~BEEk3SQ-[^M,#pJCa"̞:n?A!3 2ORًUx &}9=ޒ:WZAɆ ? ɲ!PAq>&B-p=R?|취awh g\ [[GnwwJaXaP% {LŬ#8;L;Y-M+kd!J Lf2 5㊂S J6׈h]|o~|16@0!1AB_> ēū-gtC֒ϙmmTS+B`9+ + pBs5qS跑R|^ dMՕރZ"i)Q$ƶ ??*\1v uT{͕ ٕvǙ[u ͏S呜6wS|Voc2u2 e.idlhIʵ&h7 IJ̋SfGfi6]`_Y.ncx bi GXA UzeR5~R;G4} ~ϊ8;b'aS"搗t4#1~ ?pVD^S'>h&Oli2tiӇ{B/ɘ>MRv[55ĭdqόv[2oܖ^פ/]OV'2>xHOt^H_e|n޲Ll|Tݥ>@iT`ZUi/4MVhH;A9cs;-eF_go_jh侴V|X:&3 (hԅrt'elKBJKe[=fyú}NBe/=m N,RZo 8╊OeG^s9B#qF#&#6uZ|XrTQm_אvru S3 u;Dz 3&@_yr#, 6lԻa⸈ `CbuqI~.|cP",; 9Dl %-V, ;GзO; \#D'fy(f'A3R0t Z͓7i~/@$ ;Qq p3FqHѦg oLOCs9藯8Ar!'Ea2UV\5\d 8} ;][]_eQnk"b8TtYPJ\E?p>*3V`)';̅ɆdBg}ܱoPa㒏O'06TVxJ*uF= Zjn_;l4'=Wߩ*N:+ƞD-0 i-]tVNk>R=O#C?V8eJNG.SmƲ8$ncCĵ8bLDo-\"!~y*:7HG1L03D)w;4zqæ" #e+ɬ974]H9Ew >\QQL?TyOTv v^=0{##Ia=: ĶfƆ\o02R ƟPڀ< rnd&ZՎR+ EBm>;@FoCFS`DD!?eft/9lya&*j"ѬIVL)}E?`o[mQ=f~-M)ci/pns,>fAAqx-^:e_IzU^ 3QeHoE"Xmh!{!NҟJGe }.dt{|qByPlHD9LƓDIR}E.WHDž.VIH_4>P[$>ڭR YrLtp0f5{(~}L]JBvk,"1˂B(f5'␯Έ[}R?'v\MD V=N1C[g]! <Ɲ40*lgosv"?fG֭k /l 'oC2[)PuʵÝMHZ jkv3V+ =Oܕ|c*> Q։-o7Wy-$w)8-qvnʍ /l <aL ZݟK_[\nh*e.q1(gх ܝ*sM@ 8 wֽ~buA>52eKĉUj{CV::7U}[^ւ< ^̄0-YRI5í6K- I{dA M83 #,{ׯmD@G.RЕ3̠@Ў dHWw=_Wf7C ٨fjRQ{| yڰˁd&x ZUHFy|'qЎ8e 3#_z:@ R!&G$ `4T40q6|G& uAћ/O+"Q!6x }rq>?/';ŗʠ/*<'{"Zhg/m B)2kGfh}UNnǭ_M7'Uc1 M$߻L(nwp=>b}wl+ w$jnլ\ JU-swaeȡt2md:fܰ N,a6PL)~UL+ō?jm([F{Rx?N:UŐx|ȒXB;˩l-@nه!1apA?U-X܎QF4G\"g/>u"U$a}{c {c5<B-UB61j=CVKP?9Z 87D\Wl cQA ҃`u#bDM[S-j0qE.% +Y ,9S>D?Q OasH jWDzRY%A&>9 V1B*3 ~]~%"lu$!1nHpGyvd+|OeiXģȭۿ ᴄPύĩo;i7޷wQjSrƁA`qF.+#Zz^q`640˙Zz?]09ՖIq*9T{ՙfNXT찿}Sž#Y@NU0Xt97G͑r[kqs+O]L#}vu˿{,dZ+'0 ˓e%GXW*Wu[ݴ5r9ox:r=^Q? L2yf)¶d! II4O1N]O"v9 ac%7N_ʁzErSG6= /Dx=“֜@ L]l!hrm5S.(57V w_<{<*_|!#xZa vosRH\&f$Z\ [˥_ -mGSO²fRS2|x# v&=hb1rLy}` څCR׭3ǎ|!u|_5Ǔ 8uyƕIH-(4ߍ6Y|D[ ~Q|NB8{~ʅAQ *ʏ?͔x`N_8tv"iP:CvfQzj ; 4,.`aѽ5:"?K M]j;wg۳}`Ҁ>c%f#T?*"CTH 6!K_ί2ǥ_xVdSU諑UvB&_07O{rGKY՛U[TUh0y*'iG:VGn?5#kI86"W*h=»웆qw,ȪV}UXm l%UׇhǡpGԶAUxq:Ud*+V3Bt=ֽ,c3'vz"C$H@1m"/;K$)ȼDd2H%iGpa^E,H|?ulE!?c=Vɖrv8^E@d-Pq4*xAC oṽUuL:Ƭ(N6Rd2.0ح`oAD>l,]O-) R$L?Rh?ox^ Vd4{̜?4v@xtf \[D_'4׹tXhAZje@a6 |R zdXTCnz(0#3NӏћH9U hc,w_yUl(~A {I}*x&97ic[Q%}Yx&Qa]YxȚWً8| ^,6y`FSЅ*9a*J&MJ62,޴2.^G7*9-*?\@p<}MpFǙ kEvNLhoH0F0)\;SP{i1m_:4'I[?oPZיk`eGDF$}YBYκ"NaD:mJǞ0Fm!}` #%Ie4@&JS*^eh"0E} ]ɞ<Op2R9(Zȓq)+n`( ?}5pM_sqt Gv1p_ _tN+́\T'JVۏfSw|C۽Ϫi7c ykHPP! 4r֥ V tzd<3pӷ-Y@/YG_?LnZfY|aNkbTU!6|{EeC z<}L,-:;1 35P.2DrBse$t G)R]2R@M]~KͱV*]:$PhU"i=5VAs)1far9-2/K,;h7Gg\w+D?ŏgJ׆m^k.(|zXi{ T~dNV=7; lpL =AlG #tN֌@I)y<'SXi:–#m8@|a; .fI#oxN8YatA/`׬H+K.5Ĩؐ6}%yFD܇,X+pbF.D BrB xr`N܀/KGεo8KӼnPf!~W^9"t49Ϝ0}vG lG\=1p m6Y!Sʄ\{j =+#IEn +P>n]{ug{V*7hXMuC!~!.eyz=De]*A< O!//LgRTdţŹ'7'CxyUwHA1r E\,ς㌼7~!wW a\%Rb]e2$$e[XWw3/R2nߠcX 6Mt(:.X Hi<ӼIà0D`G{ݼU0g&aYcСlGv s!/g'oł^_~Q-=;?Fa Km?f0+ 1v88)ɺ'c]NJF_|btӤ\gV (LB!G jhbl2Ƈ"qZ^?\ }"{@P# P8Z&ݤ[Z<ΩŲa*b~n̎Hra[ɍ@笄m]rdbv*P^9{!UwB4ڰun߈CFAtk,~#cݩblk?YԵh:N*~?=rU8J S-k7%=Ta\j}'XiE8PS!Q <8>6 _ET<:oE)I*^5 z`uzB {OjIt}_eq>e֟9Fo?狟L9*3ozjފg<3nj\ ,Bakfoe8C/%N~ |!tpĜy2;Ñŋ'tޛI5QdP("5g]kخrddnuLK$ bq~>#fSsK透%G66m£fTd3- ]LNm[ D)HJxYt/߼F@Z zCf^s䝮e zNJVW ޓfMj0N4Z~ɳZkm62W7P( ؞۪̐Yȓ9mԏoXBNgPN= HW^{D7S*Xd6`/Dʚ 709#S"iYw%u8FE=?'p*:/U,Sk5.-+zQua(nN('u`pYpw~KrFAh;csW7)g ԺU;Y{s:j70?}yemp49U-+'Wcb-@pt"9(:I]#FTc6y9{VBj8wƂ[5єƪBVlK;%yWvֹ-UA]X|oy{AJo'M6٫O\©-E,+Ñ)wtLw6o1aI&B҉03v##Kgu(:ӏד7J/KVA4:wY?Tify5 X TlSqP"[6Gtr>ʵԀ,sPIX`g dXNcq_B*9;pl?;Jؑe-=ʾ\wd ^M"KLX-cA&y7UA _&ʒgP|Vdž;ʮYז&`L-Ў*۰l@eFtew8/e@p̮5=) L{35G5_٬zy׋0ĻߓYV-a18}Wļ&=5omؽotqd>of!0 ,1BoϗkÂݷ6A"Ћmj"juI@d hEf~`AD(y:ajz*\Yy?ǣv,yN<Tk}B#R"a 6l2822.YhCn?L:f+-lazMϜ ,iyUChlӝau?ovؚRqed<- [bќ7C.~}Ԟ} oZPSEF$@Ҭs#ZpgR^w/ =s{-e0p; )Ϡh'QK1X%"k{>G5[I*r?y6l dm\[L'}7UBLX+c1'O&}!pȕ= $f_OաRrCe$~T/;D)$R6IcK%Lp!8P1pB>WkU چdgL~7ފܴ˘+[cW14M8/vaf3 r۽7D,3Y^C߮/wIcS6kxhȏQsQvg. N<`P_^C|莓)*`T`ghH/f2.Zeڽ-YⒷH Z\C?Qf_S XIog[![fz}*v33toeyKfD䶠 Șn7#auһ I76:'&m%&5眝 ];F(UT[~itjB.pAJ&o_i;CXf;1a?Pi_j;M҄}W*Q 1hA@ hFi.u?gwVUy p84Q=tMY10=+N K?2SPtD/abYlQt>YD&idsF e',91XOJl㔵yW)=@+)89iA[;B"^;A44;TuUKq]X^ \uK.Z"mh\yS6Ȧw9[B߽rzBREZlsl{h+' Q 1Qsnȳ&Z#af ˖ *L:p7@ZȌf\/ /|~`O6`f}>n_^ߌ 4o[)e!g 97s^ͶHqH\~^ 3Zw HKTd{[}sd2j[p]>XK wF5*cF12=Yͤ>[Aӈv#2@{OqV]UL~wH2%x=9?Vr0ٶ SJS^ŏ5Q db^s0T\8X<8[)^K5&ޭ\-iEsopر}\.j>yX˺CrQ ?J49(^',ХtvM^|7-muM'k#^rD "3FJ@,.^t^0v6 F ޡc]Rʰ("Fk⤄V[Q>QS>a=C,#-pFF%wH4Ix *ERx$}aj23M˴d+4Dj?zE(rԭlrmREs6j`"X͋k#K\y*z*ZaUrj,_B=7[a Phz/}eɤM W<|'섨p%z!IM.qHig ʫVgZV; pV$K R/V3 00 /x8he; ~J87uЕI 4#`yy n3 vpɵn9b`уSAN5'*gcǧO<$υ~[wZ,QR]ȱwkenՆtjERjF3l]mSA6"P+׋ -V!ͽœqA;JaFG)1*q# h2l!@OA=M&ÆHAޮZQ'>:^|; =V* Dg}\rizpu V/e ȬX1]e~e/lU&SA) y"ױ z ^k׶C{鬬\zݝ- <G` JQTJo *ȰXv3U9EsR}O~D~v8n*%KbD]NMQHq5|RTHNP OEk>^){:X~E{?rLN ZDʲ%Ε@SkbmWKt`c/w.6^?l𗘟WSmGᕟ84\SFyBkRun$%Ui"vf_sEI*6nܣzoXkF'KyL9\r@?hG@~Dm#*wWܸsll~-gV>ӶSL#=LEU*k&n} ӻLZyf2 "lE%3"`|nZLzˮ^Wp4cBdI*q Pl9$IbrHY!g7={bt4%i$ mnZ6q48Gg2̞pP)oR.rlW=Jy5i6lU r3zs *p`л {}z'fH,)gzN@ibg5d)Po{9^N2oA P"ЦÓ@zmJg ~/^LhN`Gve !3Jk48mʇ)2ʤkR\X5K%Qoث^ɣ֜/FV*T_6e '~3#L)̤Tå Dj]F|=.Ϥ#g743%|dkNpBM*_%d_q&pB9?9L59DR)5W)UT=AxrDmOA{:̊BPݥtlٖj Yn4F|ܓ8`sS:%j2ࠟ{?KyAZHQ%4w1h`6&W)Vwֶy`bP]eA~иxi6|~;T3ٓ>17s֌p7Kk#\)΄_g/D.=3 !mWϓeq5Dҗ46py&\V; tw"kĕm ~$!Р0"xZr5B#K#J)}9^jv16B3AOǷ F/z^]  T-n=t!BAAq~YNdZ-hzW.ubA?&4J[XV)akN+I_#/ m35Lo4.,S3]ux= O'q_sF L`0r\hpem;@7N@ЅЯu͚VɤSEQZihY""S!XnR !<5ks@" |u+g$6Nǹ26l9p[涡:4``d)C33ٍd' #_(Zp~i8Cv,wk@Wd-]kӍ]?؋,o^D`jz:|S"*VT>|c ~q`5r"E@fe9DFA\xW(! o\/g̸߄.aK,ܹ07e~NOl ΗVkH#O#YHUؘлf܃%,$u+g6Q|Vm6RF5 }T2ŬNC 3\pYYe1{HmTt@}zZdOi1QA$!I=O+CtwSA^Z͍nym!`ԍjq-h-go/n$@gc)gou ]eObRbA]xg !qӽ:, !"d'*l\?\k AKVgZqys~OY@;y1l#:W-l3@FH5kp4`6wo#Md1Ocѭեۗ,9]JD33˞6G@Y2NQ4~䴺-&mt&, X`|6W*HI>K o_%^pdC>-lܘ,Q1 0LRdLYГ8449"(}%TSB_5?(`##?^J1sLYAe:N*Ԙ;OƜY84y  um)fXP[ /2؁cj'BV>/;af42R O&(.6Jd8BC툭pU- dAH{cqeH \!D~êX|̮<8\qniɖ,{dZzj:%wߩ7xu9P`6Pe4&[U+ŋ sT [NKQ Wʓ UHr(7 aô"fd&JE1~ޓ>ֳX3Om>Q U5o I'ø<2(c=AU.r湩u%2z(ح XQP!0y$࿢% %:4QEaCt1zDDZl@ooYklDD[*]'?Q7q:NXj*By *2E$TQD }h.+ % RM[ F宦#!z{6AUղijfMP kAvҔ)-P  'yWzZG]FJ>MfdQd;8|X \EB.k',X(75j$P&g-1#hS@k1>}$8t|,|5XoЧ*qr^o}t1(~T;smkcY(5\]m\R+n K8 E*9j#5w1,Ƈ<,donXiӬԄzI~OV~[ʆp L |m|ۗY SΪ'cc4YD zcY;JiwmX|Ţ#w$MKqϑNeG v/v#(vBcrILV,,j?~n6grc"WEŽڴJLaH+Gy| bCpx0v΃ ; Qj Cxݮ>5`G0>_ k22 [6Pf+!-@C ǁz7G[R-6N.*Aq5e^d_y {W.URYGINIĞv3x=xrMUnu'{V ZE4O}~$]/EgpZ6{ǐ?:WECEdMLQ6Y߇Ы£=l_į ξXr"EH$fxβNi d{^=#Te ^+uAi4Vvt4{ Nu?|gsFVXR]8u"sKQh}1aڍ'X--=!=*R\s>qb[SaKH2 4-6m4dL QJ v?=!IJ )c eC$$B$ >V#\# ;/%ǔ1*&^x6Ƈ'x)ޘ[.Pqtx؛[fYr(@ ^kd/pH+G}P>b=)@ oSUMpZ@|v{,|O,RE`eY͸|®?'|ۭZݻD ȫ$mMJ5 jSdQX7kvن]@. }ui>踔];>VtZgG w(|>I?w{3)5<(:+1/Ҏ2$,)Yym\w7ծPw;4Hi3yYd?1pjP•h.@ȏhMPfXf (RmbS'~A|yj1';F/K8 NݔxP\%,>%U 9{9;Khb;N .k Y.)f}ޗgl93!\U+v 1ۊvE֐~_VQ?X*pḿpÎ ʝ'XH>p+zv0GײU=ՠ eoj<`"ip\9.e ci%JÀb}hIW}yyMiilFeb6j[E]Nb9x2+B?PZ SchB+DCS:&_g" !ΏvF IF;^S%%G=}$ϞE+*(H ʝuE\&NI8E2zw׷Yx,vS0+JOsUvicPG~˟9/NE>y1y⠐*Y8Vq2$e !۬atc#p+ L VHKU][lɝprќa _F5 I  + E 6J.q+&f?UHfv2鮪`v&C?7M/b]~]/1-'y{(fc`JF6O;I@]kiS00!D[l19DyZr[ɂrm pdmd;"a1QUP[iH^T/˙?bu\ڕ). 18^uu|F,pܚ?o ̱{FzݳM?s;dSh>b FǤM&vz'*$%v/U@W<:jkIy!&DX]h\%VkR^>W0?13"=DrE[eaԣIve`&[%79ݵu( Rd*}R1xsvn=jnŊ ܉D 8+#ogp5h)KBqmũX]h'{6hp4cBU(vѠ #XL4N8?/.wpM[] 3L^O}A"]v 7y^OSף(@Wo0k8``}7QHnFZ9>7%hv!Q1g4:_)M.t#A6#T|j;/jZV3*8&fMݩ;hduw00S?p@$~vfEsP&' =ZXmlW-"0* !v|eћ1k!/[AG&Hp{J[#i5 R$ ){쫊\֞\GJ 8D(,LAUn:]%;Ud>ĵF<6'm ضDO~h. \ Xz|4zyt1Qֱ(iP=ml,@|y]˛Q0B'g7Qd}?'ދi3EN{)J K`MgWϱA|)Ps{7HECNLPHx.};J2+l0 L1:NZGf%]sVAiY1uhY#1^qsĜ<@79~I zqU~5"8P=A0aL'[oYۧG뵔LL??/*;@!r6 Yu5RVɷ 9xa6{Y!,\\!Qqd[H+HlDSO +$o6X;}ڔJJ(> 6ثp;@Wd1G{S_,'4ʇat.]CmW{" ^^x3(?IY^vbqbps%oolSV"x7)M(#U>POQ@YZlatticeExtra/data/ancestry.rda0000644000176000001440000007472412203175715016205 0ustar ripleyusers7zXZi"6!Xy])TW"nRʟ6(;S:Z R6wx14*?L+!FFףRe+S3^J-?)XjZ`t/Տ4qTB9Nz{" &tpWY~Y)ga*nУAВCӼ~eN eMRgƺyRBHU㣑uB p̔yrɆ $F–?JrB PSa|0&B EzU#o A7EQCc+BWo*r "<>@ՠj?b򇑛Pq_mM#;: M u3o?DR6:ѭޫg 1Z$a딇߂]T y@_QSu6>DC▇4MF4}&my4BsAc|g \$X\ zxv²=rlOξC&w(=&9O,JN >|Ĝ{ ԴūZϯr)V6,\ֿqKsZFI@dW_-7&azng/)e*QjrkXZ\f*G}B&iM _8o'RZ48 )fK.(s֏*)uL+8Bg>0`(n]y㍐t,꒪77L`2Z?F{1lD.55?1ʴmn:""9fR.KYthkF?btbLD=݃e?Y;ٜNQ5sSD28ў^FBi9HatGPG D14Hc$}7W.%0Qm0u xw:е\j!Mp,eC:n%lYo}pyMk5Se/3*mҭ?W/ɣ(0L+*$uG"VW9jHsyZWd²ܔR%w #]^g+18sIP%a\H ȟjhxiW@9Q̬I8>w7x*@ B|iWS(*W۴X"J8}$Szg P(Txhsa dT|ȨE::/,DwXOB?]p d "@1c3|N(X$ M*3s&WJ"i8*Y| dѵa,S[j8?]s}̊p]UG,FRQ$K(/9F47X ޸d٫UP7%@g]DPj܁pC4m%o&kR e-̲elٲM//Q*+R^w3CфSa^wh,Hɳ?ȏB`ww yT?Yj킥 Rƞ H.fwkf;֒_ Y!pƧ CM50c?0<}-.s΂cFivme KV;XIFqs<wU30/Q 9^]r?SKjT瞝O }r \Q^DZbڻef0qE &i;B/)#i r(Cbr&$|((YQ)Itbx4!R$`g/=l7͋p-W07-5#6t"ѿ\)z~5W يmj܀;C,UT׍bS[tN?PL„KjcN 2ŌUULAڱHep$nL:-N핊ᬌ zf2;jBאOBSO/ڄDpuK.溔4+_1LHzϺ.MCa$t)My[8g؛'1ֈweJaORj>fr.v=XYoqՇo  X>֪+ ]b}J^P:V|WD2Ci 邠\A7j~YoǴ20&{VJt^ב'  `گ\L},+Wq^aOߩh"Do=_jâ -졒&FΎGF{x/| ރԺXfb*M9W/[XW$;rޙTYllUuUe鬂v}`.x<͜E*GZ2*x'~4Y^:_Ƹ\)r B*fՠm7߸c_| +ohn ő`cJF٠n&aoTVl~Wt0T^s|%i80g rc?x.l)//VHq;,ܟ E54d G,ku:iu{#+ 4 U{̺Ź Q`diJ&cly;_EcUБz.h()_ͥm畼=5"V2% %8kyc9!djhGʇsm vlV2,c^f;ap ), jwx2izI=]|9fo<za?^$q4S,&중/}[Q]d}a{UߨIg bG@N 3 ?ճ7N\'"[Đ$ZXdM ɪYgl\KL ̑;M/D[e4%}6 :ʹj%zYS3zȃg7QBbLzUJw'&Wԭ^v6o.@w 3D1[V׬5TZZL Uvd>buͪSE|8zΝ3|q>i+.?:]%V)[}QV{|^4;/ġxqHfrv)! bV 5Xܳsu;SX2[w[)Ba$RZ/p%ٔw7@7Iq֠xchLP'\؇ۋV}R_LHRD|gaAr~0-IUA2'|2{Zk P\\ 9gDw(<"A"S^'?a~/&kTXf|b9&@'܏ tvVq)Uk+&<hhKx{ZoMh2W'!i*)ϜT3mfX `}n_t-)Ye 2:{rxdbg9]T3aʓ׺Y^q*2;jeeIuA(=JqDP)R╏4OUW0id?<RY O_R zoDT$|){j,3SDJH { 3,<#7(}u p"SUck32l vz")C+H-ma}d+܈eÊ4Ǎ^i g_Dф|³ liI*\2P0aRPEFO\\uoeɍ;p 0i+3AM|HWt wQ}L(2F:bUIJAe &_ZjPŭ;h4xMRi; n,խ% !/ڌӡrـ=- ˍe΂Shx,AF]F|k+zVKrqNĎF<*Q'PpYhzyz{  Ӟ1j.LׅO{) 쪅viva#:CC'd2m%wmO>̩VĿL|NCi%!dcHcZ=c1VIL,@q3Q\Og_RMzCA ԜP븿UI\'7A\kނ~5/DWiDX'ǝ O]Azs:_+!Yr;ˡ*Evbd(Tög%WD+C fv7m>X楸S ގ0] GBvd7B`%/5# 5uxP"ٱ8NFqeRh.0=%)dd,DB|ku;#^e'DGS "Eog5`%5&6-AXh(WIY^5PwժEq6ƒ}n{&xa"˯%D HA0I1^'g.0YD6ք#=Ƴm~Naph{V%j0-h&2k S AԛdC.``1trGB9̊@MwA֘I3{5+qbi#OmN}X灘 ;L#(np],b͎lc:7A8vȟ)-wRmlcqL\9Ohv5DxDWKH$*ߺ4>箤dtN;,\RHTb!?a:UÍݏ)|ӷͳI=MnP E}4"}0VY + ۬]%کP}KlW/ \0y#ncj+&-_WA݃iGXŦ/3efaLqI|ci #؆[a8H@4-sV}UZWZ7Ls6hڜ;yFŪJTw^:s&➒>'I\U]K*P~{]$ ȕU=TQHvκl,atcŤ w" [BVGcF9,- L/iEf 4|̅6nifȇLKWJQ*W d<5wtV*QHoZObڨoqV˻`SyyL%=dEBQ39{yS^g+IؿO_*/yVʬ!I[['1 7TxTL#a\2'u4T?b'H2^֨2@`t<ߘAq m0 6aQ!)ٖKO^0m;\/d=*MFЇ=;0MW;΍Z6!JV ۖ8kF z7\("En5\L||i0P|i<iX(͢q$2 py72) ?T?d~LK= c}`pџuFciZH{O쪂- Ѥ4eY\8Qkf"keSt p!-3L&}`e<9+tn~1sL; dԎWGbN>۴)!dv@:%ʓ)0ߜ}Sw֐!\7SD#}^ωKmAxb܆ƋNdY"hrQS5~Hܐᠤ ] پy_rʹ{D={c ځc9 |s/+]ŘU(XI;M=fh+ܟ]ghu!_O;:,!E?+`!J׋L%[mc_ױw_taՔqv< nN|]=vIM]-ЀEf[2% h}cj\BQ'%} (kew|D1=WчpkѺA-cz7Ga\LQ_r[^PT:?qt'}#Q#hVxmre;m}loM7-l/KOxƘF%)3W``f\:~:E( fLnsR.f~'~?qE"6ms]u7@'1Bxŗa݂UNmK߫"VYFD!ěAb-g֒EW"*04TYH>o PW--WUupFl==)|+ef]1ÑVou_wAZtTMYÐ|bViH <}%/+/:, Vݯ[ \ҋE X]q>n;;d­Dru\Dd>6|܉|t^Dş=Hgi>^pbq^~.Wk-12=[ږ#Wdhf -+ɐvij Wf({ ^W&3NWpav©Td]PWTu-w&d0!ê@|bb+BGXV|wAa)lꉿjӗUaLBv8\,0` b_⢽wMr=w7X, <ߎfvg!43 A?\AI'w14bSob?rtcϖH5p, maܪ'G#h7FɸA@[աMۈ\bӕ5u@!ј)>9sMbɊ+~ug~QXM22w Qr)m>YJ~L" su*]dz˾b$Ч;>暸fWώlDΝN \BS=`F8L4/#r,X[oB QzhyXQZٽ&rޗ OJ w \DjR@9uw+v [#0Gh5**_+졕D_,ġٜ"'tBkB~7HUd -tȶUڨ)c_hSfŋ9]g#rB.0jS(+g@J\*s Q:MhW{֕͝B ҫD SA4о*>lrGp9ؑUc[j('hKQ$1^%V 9„5$gza? !VVT۸ނ$\+ʼnAZI_t`ZxQO CZ{w3P=)I#6X0k@VBG@!>in*`| õ$+\j%`D. ﲃܯ] R.@24= Ff(,ߥJsԹ:sLv6FULnSex.a!7#ZF99U^r)0-\ {Q^AsD-(`#w h4Oح- }I7X2 딙]=:@3c8  \^q!6LOxWvpàs29y>P ?OWk0LW_PUuҬ)0wAaEI/HA6;ղMQ3^á=$wQ }Da?53' gWnd$A9oJJ0/raq:tϕ8KE{O&eܖ$'oKNC2rH5_Ɉb*ֶj"bpma[s*ϙ7;0LmGK֒Sʗ? P1hZ!ncے6Al}+P~ . 44]y3 ɄU+]??c#`s3&J\);fjۜX"z/ŗ{kysV_>X{Y}Ėċ^vAP])MT$=Rl:(QtZ500;Y0:0u6kߖKK|'+?D=o4܎[RɌ`>0Vk'Sg`#_]6B̧kJ U 4x8C㝅2H}mBGsOU}/GM-=Ъ04! j Km.:yPq˸8[A}_ yA|ь1]OTLSAL>ONx_NE `?NzL=Y4d܇㈖OL $;΋؋:0j6{!a$!1{6ڈ++.o7 2!Iꔱ"*,~*"CQFh\B= JM]Q+S_=#"c(a*ir(“LmSahHPT$~Ng8x 3x>: :y6[JR<+eKţBBy <ԉY,Üj%K2,;'m d5͂|S:W)랣  yA-wa:r#wl4z?~0fV{[R҆!czk)!D!*q1`Ž$Ƈ(+#`TV7wH=aMl0.r3_46\LOťiz0Vqψ;g4tYԳK5 8nЖ~Q7_`@qб-z5o/i^A)N5jz|ǟt%|e/6j4oj0ò񗍎tp@&yR!|;ڹrr HM2("toj:y/;{[" mچtu7Mr Zg:t{[ک*+@)0|!Mg$ SkQnZq/1r`8 8*9FρB晦8(i6şSΉ^q+,=[c6,Hc?r4yBa%J(t`+4РDӞk}nKm*,qvwݱ.=ѭ#*x")=skUYl-y\raf%!|Ba; GI)kZut2A7^.bTf!`{j#رfloT[Z5L-F"&4򒧈q1n*H۷h ?o^ /PXM{JH#o{6,q `GhEsBW*6q[4zW}Ieaw<[Y'CQvXfK"pԻF;Ky@rBml=|b!(J|Z`z&B43]*ߴUwadOrvi'.&Kbc >몯 = CBP, } <&,WCueOcm&^YhJǪwWlkDFH՟Wdm͍_bH]A'{,`& C]n0"z5 133֬R:3ICSb+:[^A $%n ~i%hY8T_#f3@aW[I)PCKM||]3NV u}w$Z }"guGO,3( ^3gj؜d'y; oܾ/ӭaoBwsx.fmt3*~IL})̒{5xb|=< Q;"_+|YXr3y0mbHhؖ0ٛ^Z^ٛZ|rgO 0s+%8P薢ٰd,>$=>H$:^UptŽT4W?LfZ|e%y7jQNc jsRx+W;8Yԟ\w=tHⴉDQb!SsҘ)h^Ц_,<ɂ)jmM%X]ݡa"Sh!cRPnΖVI[zt5їF?BƮ9v2tącs=#Tۭ⒫23Zp)z=NjV$J JzJP1SPvU.`yКH{2e8iƛ)/+rԾ_S2P-NRLC&r8rY;(A#65dyQݰ`+~-W4xOrT=Nb[ydCbL'3H;N:sFşf2Ӏ|Ҹmz"дCBMs> - '߷1bb?_v}fn1QΧ;!(#g0>0#lZ0[,6P}ƢA !->՘Ӡ ^Vmx޽ga;r#]Bk0Wnw7[z;BVtux|x֮mMfF^O'Pi4^-<ٝ9< c(}; XpA.XgvT¦iBc+耴ybrI}qg~%e:CyZX2 `v}8 HjH3GjN59y(r9yҗ6ꢦgq;!y'>Ҍ=kyb-fjm&l&XBCq >Mc׽ĶJ K. AG ({ۇ&(tc0R_M{eysxT6Z_(K `7lS*"%$[xszncpcMA+o:)09}R[0@e yR~}1t-X~xA'[mdC6UO&_\G_QcM ÀsSBP\!%cNܐ< ZN "_l wK?$CbHlanthT#VImcI?xZ:tY3+GsnÞ&Ϭ!Yv~Xre.S6_8. [54;GQT@􍔶9\X-ptHFFHŰ[ V~wV4mRR;d}}CG.Գf$[glwv6: 4J#U8=d6ٴ* ̌g4؏(قCBe/j*6R_Dj*EQaC d [)䓍EѳrAM3 a|bsI/wŖQ)$p1M!1X' %6(veN; |g+gWii=df/=0C.&i-TmK]3J40/ĥqǤ:߳2;'.tBz8iu튜=\u=݀L/D!!bX"wV(4Мⶑ*-jMgwISasM%,0zpKYI㣮g)Q0#%aƭcG_/Pa[Im9FG_L3-؜>iD:)XM×EQɿPpx߇uiAz4u6U.|%jVđlŠatJ<,!)֕nZ7怙uU6,,NIפX}.IG~Blj߈L>m!t7(EBN}P?TS w23TCp_fg?}654Op66 } ӪSH@mo@s.ɓa[BxC"NvFn(H/M$F{"~N)5-a|a%wsznK)6{A .'})t6*v]ʅFϋG}Cw092?JF 'h1A{ YTYiC<`rUKw(0 dߧ³^#_ȕ/¤/SOg223o * F-h99F~?=.5Ӳ?ݟoDʁ4]_Wt=qM|c`AK9@7C\6VEAҐkAӨYѬXe#䝺ӝ¬HUb%fgt>#ہ$PKd2cS®3ʲ5.Mg\ TQғ8 F NIHݖJB UiUەTK*k,sU MS,s`ՉQDl&!):9rL̈́6ND+8S ooQoʟ!ѝI8IWIv~E>܌M)D+o-%jEiX+AxhXJ3e[R'pʅ5-ӡG}6M)-Q4%mTGF" }wtMW`o@ƍo|I3MH#h9 '[Hgd 2* ԎΌJtM8$nb<}u֠2Z0pu s̃sϋ ~ I!nnL6|g\WWg7Lq-J@s?e1,Buv n4/iZ[b,{c m&$9 6U\f3V,to? Kurɶce4,Tេjb&_x (%9 a*u7?ə9˜vRsN;Cf:5܊=k<'9Z$9G;p3NEȺs_Bu˸nr Ƹ,'gg՚L7 qzV 8=ó+5 jŗn\d&CNey9p-] ߘp rsIDy[,cU;! ف䙍\$ Rctvh3,h(w*j/4a`7oA.b2P_t=&e3HJFcvt4w/.yuu}?cFRr' T~(u۸|Ұf37}W:teh2'C.6;qL., _BN ۴e,zSWgf!Pk5@P(3Ef|'rǸux/۩6 .yQ!tqgkG)r-vzàSk2EZ$3)/,R=yJuM y*+Ux-HpR㛩ljsp~ lmk'}6,2.e BJ/ĎVeّsQq݄4J X7KxfM_]R @v%_6pr X,=eSd1F ~ 辋s]q4,Kc!dC9K(bv?ai˥Rќ]Kj-a}R>Ys"1(ynNcdR@"Pckl-a{[ ^ 9Fʚ~&71{8;5.A k`0t߱Z0:fM68|3erYgwfkUHiEcP'ð=<@eO9w`ŽX5$ݬg׹Gʼn~Ry  -aP̟Fƙz;9#g_\[i3H^QXP{<4JIr7 ܥ?C) Ha}f1?YFU3yUq766jlGLxX0'I=;$rb3$^5\\L^bMLF?U:Ą4׿"VQH &CJL*BbRٺjv-x >zK(}{ʾZAVRtۭ&1nߵdH;@*AtHwhǿ=l? $:.PAr鈩coZifqI~0G+:L+;vIH]x]!=<.FT~pZ׈f㍝HAq;s}f7(ӽ6%7~TU,%b _J{Ii;̷>,ShC@wrx1op j?Y ƙק>lr-Ď j$X YBԨu͜A`%4rjV</4FsXw EXRo ƯqSԕ]s sOa 8#PAQ.VFb[<)9aW{XHzqiVGs.4k:Yuʟ}6)Y ;Nf/a~?ҁm2v8v}/x*=20ʖ' 'P X (S^͗x?Kݞ8ZM'w<{1]]E@HJhNL^~>*n B9p>ݓ57Mj]as3K&dzla 6Ńɾ63h )[g !8`HH{z=MǼNa=/C7F`CߦAKpL νQ f!O|!Cj-.\q< X8oѲDѳ&w[yht2THH]ϪTݖ\\SK#9шpFFCqSó"-E4,Y:SYEVuы,Bc>h~v!)qx;,>+"P'hU EzÛ0)HFiA yĖ}:8ƫ*Zxtn7 }TfTK=J!)BQdOϟf*1/a-nf,L @`z|]8B/4jqP$6ɷuRu뮆:,@Qw^_؆MMD@ @j4"kE9c;xĽ6wH^BT_\a(Шҽ. YR3a M2 L94 YUniK!o5 6O߰ ƬZPmET/[&}Ͷ/LΗp};j^f~Oi<3E*>21MtaK-ޘׇ2Ln"w¤Z֐I8Kw7miRb77NْXs+* sJR6.qL [ rEio<(Rȴf|t&. d:ܒ!Sf ҤgsRDF䍵 Ajaˆ qJ&H*bM%g͘2;; _ s֨|5 BX]=xX.DU`jhJ,02l{u)A?9Y"TڤmUaC L@'R&]Tx iZ ns+xC4xݒ2x`PFjԚab (Oܪ@O"܊Wp5+ 2)qFۉhI W`rdUc?宎|[Xs!ۡ%@I|;|/'ڈ`WJ{:+;hs32r ~VHDNg90[8V P;.iS7wXH_]ēt- vUjxW&d]+E{LNGaxxBh6Q1w^%c]E+ p|^ZsE)mgiUWwLAXloos vBR4O2h^Q@(ūrx0wg}a (vIOva.vV_%B;8_hlp}|G鿈dT8zޥh+زk d1O?8\Nx׋ A牐.Сz7dv'NY9 BNYɅ­A ( cm[lϏ>9gaLqAf2A>h q,3f#(w jNJg8C]\G9l{*l "20MdxXt,NB%Bj4pc$=)րng!(ǣX^HأbJ.t ^h8?&P Ԙ ܲ-"ڮ[LsI6H =s$[1=BQ@i$}*3@8o5N uXZv ѡqp oxHBS|qֹ>M+!yF^)4w0$>tV6۽`EctXKiX6z^(=X3D0 {%vPՓah9eq,-82 :L B77Bb-8'R,!\Zaݚv^F x5nMMKmNݯ()i;'{gx ~]8\f4B_x6ԅܡ!ç0j &- gʝiBR@ofõF陛 =5͸ ,-*鐛41lcwEXicql!mmb#%%_v)LR ϛňl%u`RMC%̆Ñ6-!0O1"WYӮNOxt,E#z]% S$1_s0Uu\I”ӨV8 ;UEb;/3>/fIМ_ĘI .sr! %lQ5(2*ASn 3/ɇW&}xI\ hlaN)_UCb¡5Ǔ+ASyHUK K*Gs-s ʨDƁ,G#9%C]NrIJb4l|$KgCX_a~]9xj%/sh08)*i6+&g0ݡx<_g4@t"L /~% m Ñ^`}lJ1& .=z`PX9Gʛ%m ^n&eB /ff9(fBaOi4S 7 A]!G MB4ьIZ* f=ԕ`MzW#gh:DCVsmDLvRHDs="?N_i>ka4 FZ ֍xIm'O"" JXj^ @%6X>4]x}pd  GL TM@$j[f6NL97 T/Ov8*̛;$OO[ςMGP\ShA,NO-bY;v (`\^5G[ә>zrGrSv5U9.V,Xђ D@-eG <=B@+>z\P>G@"SҭAU[HOpCvi/ձ,`al|҃X!])HP3zxW<KF=21/U6H7 UYCo`̟]4—P6s?U[ʱ>m ]fؽ;&D$o3 q:oB7r ƝAz1/_BP 8f$l&t+-eN)(d37o(N3ȥR(Xz1Ipl(1sԾӐEKut:Y(nrݤB,{V:C N =*w_|X7G>Z䟙Yݙl-(q=;,|\ K!Eh>BːYܻ`-Pupfm؇"3v_6z_ 3 im,LcǺM]Xj$d1jK̻&Am?y_4,BGou; } ?>0r0"A%2ǚa6ՄV =E qŢCi@d%'LfL@YR/vppL9$_~ORq'<5S -R8e D! lYwf&EȜ!QRnFFP+C0vlkB,M /Y05B͝VmA#9dbY8/#I"T$wY5w9>HY3tEd=FHuL)  D*35 *ߛ5k\IWaX`ݾa^+7jGҜYS!B_}4Lv{EKe- 8kkKt6¯ %* BJ)*bI]:/Yq; Bۿ JH EEC4d,}[8:NV K smq.}bި)/aЧds3f^o d֩@s`UeXR5I!Z X Ⱥ_md@ 8rxXa$op&_+ hZAs`j&hYl$J*=;&Qzb]/S?Y6ILv( -N#Ϧ F6w1*`QvZhM4oUq⸡e9\= T;EAc>q^~,Xv0U Fp&긣iF} ͛DEt<Bo+3vj|,OܑrRR@7"GG9:Ø؟cN- ԓ@Yp/$Kפ)T\úm/K{5( 7q8136paUg{ Fu*|P /UL2@;Oj.H"F/QGZR<c ߏu \WniWp*$`.Ps[ԣal!nG H/ &e- K\ӨFOY]fC!|j~ms- (] 4)/` QrlFJL*ΊBc{%M-3-$Wydᣭ%-<>*I86S7l0Wѹ 4L\i&GED,h6y+W =")ba"*t9t3O@<T ֯hc]цqCnRCLkwns`2v;JCf"BW'SiT:+$7]MTUoY1G Î*y }srGo?ދ&zڙ$SXPu+oEF^0 զ\ҫ_]+H`W+'|K \nx1o#yFAٛ&E&4rmV}Xݨ^&v0Gؒ;c[. >NeJҧ@4cjnhVRFO+GV-'7S$h]0-Zeځb8vg~GWz$;q6 )a Cq.9{?ei.ͼJ*мi,DL8sG t]D5AJ6azA$q"vgA^?Ǒ[&ugLJ{-MbUft 1_1J'͝x|2HiBpnb>8WdHV8kMBJpHX㫻6UW-i: @5 %8;MF9lkvVR#ZiҔT.dpE,Kij@Dc{t?^0&0]j#wDqeXj͓=)SOh]z I"I#A8%Zq-V6G:|*)K` H .)xr͠(iMetPMHwpj| tІag_ "q;L∰0Rݦƒ{B J:Sc K 7|C T8;˚Jzypj$MUkVjJNnV)r BJ'b' ߬k_.N6HZH>ZoZo@z*6ZEmKV w|ǎj6; |MQbOf%NJUBFd|dRJ@=aYg#TP6`qvMSȃVy̋s+a!G"~.J ĥ`P1(ۛ)uM뫴a߈K;w'(D!g蚹nΆYHF.v-gY*,-!iRphq]s훑rmQ" 5)$sXu?K`qgC ZG.5LtphvmYVgj/^Ӡ`F( mk;Ha2!az(;DL ݵ;>)kzIz,ޟ(;o7ZjLJrTsZdÿáK#-8ە8:PV=!0*)+j)|rXb /Rd͘!vvoɶXi6-R >Ą5ӿR̐Rq.#_yDc$׊1hVV{T!P34Yolms;%gj@wT֝.2m&O.[eQt'wgZ&#H̯<)q"QOosOdkqʕ$wL l'^eo*MMPmqj vP7BWUӉa=%n%gV)Qi&oyh//D8c`||E8_d(/}n\,]Q :JӾFD`[ *$l䆎2#Sc<ת{!NcPSg]ڒLwI/:s%;4 uݬ:븒xU` u2)S%[Y:ebҴ5R:7-JsnY[]kq+1aA&ah&+wJ,xOs,+c# c Ag؄XL^&y5n jmn \z R,*LgYMrziʟ gzհۏtNTD}\,ST3Ow; MX}I/[NEʘ:VԀ eg)/v*5+ oaj*728]˶NTԁߩU(i*cɗEh=É®>922\:|D%lHٛ{ޒ͉-ڻEx|;Y _@# PO?аusxkasM7)MYHRDa[z#cM`f$\.HwcdO $VTci.wòF6e 4|ٶ&?!ocxXTHJz}-#؃IIn>@ J#SwhɩyR ~^Z tڍt `o,T+*v8>ZC΢cF_u 7M S$nvW XBJtjbsMrRHUFb vSJ Iǹm͖ʍקoP?FRW; S [ vxCF)} J l~MRa6 7c0jLE24Nqz#;(fǭfxR%N1 D I+׽sМ܎8-x9 b^INWC|+FNs7ƥ9x`;سKXۮuJ%2u+6 x_R1mI~)o]v77,}ZrZP֊,)b_upmdO׬ H_G^S(vFw{p$\ۈ(̊Ay.F*vԾ,f~Zba%426"~6GIQ>Šhg?^.½7L~1zfĚAI3n#twB§/j:Ӄ(tpdZsF>֥y˧C ccx Y3~Ę7D"4/Oz(6?V7Ufhtʏ:qD\"ְH}: ûOY q&+GKQ,-/$V}]qimaޓثq]ܛjʇ5+/(k*G^\aR7L`., ȏlj% Ѳ[AcٛX?kEr?t4UoK -Ӟ1o(ӘIT{o.M~9 K(ɹ֞ZZ) 䋫8Gb=uki ,]u A$Uqs 'ꩾ+WpA}Jr;JS3'ZEDš_&[MQp1e FCĝT^>0 YZlatticeExtra/data/postdoc.rda0000644000176000001440000000073012203175724016012 0ustar ripleyusersm1q9Q H\:P "m#v6'B􈂊'x OZ(od8=&u7"u٠g>DQw5b ]x_Ä!F=7cvu^@'X' *:D-buOXw @W Ƞ!VB8Ydv*v;bob8tM!ڸ2eD )Y+#]Pn^[;I|XYEsũWU}oZ_3W7Mj¨hHޡR3/s1OY̔XCq㈟#Fea\|d+XSSIE+ߪӘ7ߜ] Mo3VGV4latticeExtra/R/0000755000176000001440000000000012203175714013136 5ustar ripleyuserslatticeExtra/R/scale.components.R0000644000176000001440000001424111661265177016550 0ustar ripleyusers ## adapted from the Lattice book by Deepayan Sarkar xscale.components.logpower <- function(lim, ...) { ans <- xscale.components.default(lim, ...) ans$bottom$labels$labels <- parse(text = ans$bottom$labels$labels) ans } yscale.components.logpower <- function(lim, ...) { ans <- yscale.components.default(lim, ...) ans$left$labels$labels <- parse(text = ans$left$labels$labels) ans } xscale.components.fractions <- function(lim, logsc = FALSE, ...) { ans <- xscale.components.default(lim, logsc = logsc, ...) ## get 'at' in data coordinates if (identical(logsc, TRUE)) logsc <- 10 if (identical(logsc, "e")) logsc <- exp(1) at <- ans$bottom$labels$at if (!identical(logsc, FALSE)) at <- logsc ^ at ans$bottom$labels$labels <- MASS::fractions(at) ans } yscale.components.fractions <- function(lim, logsc = FALSE, ...) { ans <- yscale.components.default(lim, logsc = logsc, ...) ## get 'at' in data coordinates if (identical(logsc, TRUE)) logsc <- 10 if (identical(logsc, "e")) logsc <- exp(1) at <- ans$left$labels$at if (!identical(logsc, FALSE)) at <- logsc ^ at ans$left$labels$labels <- MASS::fractions(at) ans } ## compute nice log-ticks. This is a version from the Lattice book ## that is not very sophisticated. logTicksOld <- function (lim, loc = c(1, 5)) { ii <- floor(log10(range(lim))) + c(-1, 2) main <- 10^(ii[1]:ii[2]) r <- as.numeric(outer(loc, main, "*")) r[lim[1] <= r & r <= lim[2]] } ## A more sophisticated version that uses the same algorithm used in ## traditional graphics, via axisTicks() - new in R 2.14.0 logTicks <- function (lim, loc = NULL) { if (is.null(loc)) axisTicks(log10(lim), log=TRUE) else logTicksOld(lim, loc) } xscale.components.log <- function(lim, logsc = FALSE, at = NULL, loc = NULL, ...) { ans <- xscale.components.default(lim = lim, logsc = logsc, at = at, ...) if (is.null(at)) return(ans) if (identical(logsc, FALSE)) return(ans) logbase <- logsc if (identical(logbase, TRUE)) logbase <- 10 if (identical(logbase, "e")) logbase <- exp(1) tick.at <- logTicks(logbase^lim, loc = loc) ans$bottom$ticks$at <- log(tick.at, logbase) ans$bottom$labels$at <- log(tick.at, logbase) ans$bottom$labels$labels <- as.character(tick.at) ans } yscale.components.log <- function(lim, logsc = FALSE, at = NULL, loc = NULL, ...) { ans <- yscale.components.default(lim = lim, logsc = logsc, at = at, ...) if (is.null(at)) return(ans) if (identical(logsc, FALSE)) return(ans) logbase <- logsc if (identical(logbase, TRUE)) logbase <- 10 if (identical(logbase, "e")) logbase <- exp(1) tick.at <- logTicks(logbase^lim, loc = loc) ans$left$ticks$at <- log(tick.at, logbase) ans$left$labels$at <- log(tick.at, logbase) ans$left$labels$labels <- as.character(tick.at) ans } xscale.components.log10.3 <- function(lim, logsc = FALSE, at = NULL, ...) { xscale.components.log(lim, logsc = logsc, at = at, loc = c(1, 3)) } yscale.components.log10.3 <- function(lim, logsc = FALSE, at = NULL, ...) { yscale.components.log(lim, logsc = logsc, at = at, loc = c(1, 3)) } # major + minor ticks for powers of 10 xscale.components.log10ticks <- function(lim, logsc = FALSE, at = NULL, ...) { ans <- xscale.components.default(lim = lim, logsc = logsc, at = at, ...) if (is.null(at)) return(ans) if (identical(logsc, FALSE)) return(ans) logbase <- logsc if (identical(logbase, TRUE)) logbase <- 10 if (identical(logbase, "e")) logbase <- exp(1) tick.at <- logTicks(logbase^lim, loc = 1:9) tick.at.major <- logTicks(logbase^lim, loc = 1) major <- tick.at %in% tick.at.major ans$bottom$ticks$at <- log(tick.at, logbase) ans$bottom$ticks$tck <- ifelse(major, 1, 0.5) ans$bottom$labels$at <- log(tick.at, logbase) ans$bottom$labels$labels <- as.character(tick.at) ans$bottom$labels$labels[!major] <- "" ans$bottom$labels$check.overlap <- FALSE ans } yscale.components.log10ticks <- function(lim, logsc = FALSE, at = NULL, ...) { ans <- yscale.components.default(lim = lim, logsc = logsc, at = at, ...) if (is.null(at)) return(ans) if (identical(logsc, FALSE)) return(ans) logbase <- logsc if (identical(logbase, TRUE)) logbase <- 10 if (identical(logbase, "e")) logbase <- exp(1) tick.at <- logTicks(logbase^lim, loc = 1:9) tick.at.major <- logTicks(logbase^lim, loc = 1) major <- tick.at %in% tick.at.major ans$left$ticks$at <- log(tick.at, logbase) ans$left$ticks$tck <- ifelse(major, 1, 0.5) ans$left$labels$at <- log(tick.at, logbase) ans$left$labels$labels <- as.character(tick.at) ans$left$labels$labels[!major] <- "" ans$left$labels$check.overlap <- FALSE ans } ## major + minor ticks (e.g. for date/time axes): xscale.components.subticks <- function(lim, ..., n = 5, n2 = n * 5, min.n2 = n + 5) { ans <- xscale.components.default(lim = lim, ..., n = n) ans2 <- xscale.components.default(lim = lim, ..., n = n2, min.n = min.n2) ticks <- ans$bottom$ticks$at ticks2 <- ans2$bottom$ticks$at ticks2 <- ticks2[!(ticks2 %in% ticks)] ans$bottom$ticks$at <- c(ticks, ticks2) ans$bottom$ticks$tck <- c(rep(1, length(ticks)), rep(0.5, length(ticks2))) ans$bottom$labels$at <- ans$bottom$ticks$at ans$bottom$labels$labels <- c(ans$bottom$labels$labels, rep(" ", length(ticks2))) ans$bottom$labels$check.overlap <- FALSE ans } yscale.components.subticks <- function(lim, ..., n = 5, n2 = n * 5, min.n2 = n + 5) { ans <- yscale.components.default(lim = lim, ..., n = n) ans2 <- yscale.components.default(lim = lim, ..., n = n2, min.n = min.n2) ticks <- ans$left$ticks$at ticks2 <- ans2$left$ticks$at ticks2 <- ticks2[!(ticks2 %in% ticks)] ans$left$ticks$at <- c(ticks, ticks2) ans$left$ticks$tck <- c(rep(1, length(ticks)), rep(0.5, length(ticks2))) ans$left$labels$at <- ans$left$ticks$at ans$left$labels$labels <- c(ans$left$labels$labels, rep(" ", length(ticks2))) ans$left$labels$check.overlap <- FALSE ans } latticeExtra/R/tileplot.R0000644000176000001440000001007312203055637015117 0ustar ripleyusers## ## Copyright (c) 2008 Felix Andrews ## GPL version 2 or newer tileplot <- function(x, data = NULL, aspect = "iso", prepanel = "prepanel.default.xyplot", panel = "panel.voronoi", ...) { foo <- levelplot(x, data = data, aspect = aspect, panel = panel, prepanel = prepanel, ...) foo$call <- sys.call(sys.parent()) foo } ## panel function to draw Voronoi mosaic panel.voronoi <- function(x, y, z, subscripts = TRUE, at = pretty(z), points = TRUE, border = "transparent", na.rm = FALSE, win.expand = 0.07, use.tripack = FALSE, ..., col.regions = regions$col, alpha.regions = regions$alpha) { if (use.tripack) { if (!require("tripack", quietly = TRUE)) stop("The use.tripack option requires the tripack package") } else { if (!require("deldir", quietly = TRUE)) stop("This function requires the deldir package") } ## find subset of points to use x0 <- x[subscripts] y0 <- y[subscripts] z0 <- z[subscripts] ## throw away NAs, but keep originals for panel.xyplot() ok <- complete.cases(x0, y0) if (na.rm) ok <- ok & !is.na(z0) x <- x0[ok] y <- y0[ok] z <- z0[ok] if (!any(is.finite(z))) return() ## strip duplicated locations, with warning dup <- duplicated(cbind(x, y)) if (any(dup)) { warning(paste("Ignoring", sum(dup), "cases of duplicated locations")) x <- x[!dup] y <- y[!dup] z <- z[!dup] } ## compute bounds data.rg <- list(x = extendrange(x, f = win.expand), y = extendrange(y, f = win.expand)) bounds <- c(data.rg$x, data.rg$y) #panel.rg <- lapply(current.panel.limits(), sort) #bounds <- c(max(panel.rg$x[1], data.rg$x[1]), # min(panel.rg$x[2], data.rg$x[2]), # max(panel.rg$y[1], data.rg$y[1]), # min(panel.rg$y[2], data.rg$y[2])) ## check if any points in visible plot region #if (is.unsorted(bounds[1:2])) # bounds[1:2] <- panel.rg$x #if (is.unsorted(bounds[3:4])) # bounds[3:4] <- panel.rg$y if (use.tripack) { xy <- data.frame(x = x, y = y) ## add dummy points to ensure that voronoi polygons are finite dummies <- data.frame(x = c(-1,-1,1,1), y = c(-1,1,-1,1)) * 10 * max(abs(xy)) xy <- rbind(xy, dummies) tiles <- voronoi.polygons(voronoi.mosaic(xy, duplicate = "error")) } else { ## NB: the 'rw' argument as subset of data is bad because ## need to take corresponding subset of z ! ## (but not easy to work out what that is) #set <- ((bounds[1] < x) & (x < bounds[2]) & # (bounds[3] < y) & (y < bounds[4])) #x <- x[set] #y <- y[set] #z <- z[set] tiles <- tile.list(deldir(x, y, rw = bounds)) tiles <- lapply(tiles, function(p) as.data.frame(p[c("x", "y")])) } ## draw it as one composite polygon polydata <- do.call("rbind", tiles) regions <- trellis.par.get("regions") zcol <- level.colors(z, at, col.regions, colors = TRUE) grid.polygon(polydata[,1], polydata[,2], id.lengths = sapply(tiles, nrow), default.units = "native", gp = gpar(fill = zcol, col = border, alpha = alpha.regions)) if (points) { panel.xyplot(x0, y0, ...) } } panel.levelplot.points <- function(x, y, z, subscripts = TRUE, at = pretty(z), shrink, labels, label.style, contour, region, ## (all ignored) pch = 21, col.symbol = "#00000044", ..., col.regions = regions$col, fill = NULL) ## (ignored) { regions <- trellis.par.get("regions") zcol <- level.colors(z, at, col.regions, colors = TRUE) x <- x[subscripts] y <- y[subscripts] zcol <- zcol[subscripts] ## panel.xyplot does the work (can handle 'type' argument, etc) panel.xyplot(x, y, fill = zcol, pch = pch, col.symbol = col.symbol, ...) } latticeExtra/R/panel.xblocks.R0000644000176000001440000000556311403245152016030 0ustar ripleyusers## ## Copyright (c) 2008 Felix Andrews ## panel.xblocks <- function(x, ...) UseMethod("panel.xblocks") panel.xblocks.default <- function (x, y, ..., col = NULL, border = NA, height = unit(1, "npc"), block.y = unit(0, "npc"), vjust = 0, name = "xblocks", gaps = FALSE, last.step = median(diff(tail(x)))) { if (is.function(y)) y <- y(x) x <- as.numeric(x) if (length(x) == 0) return() if (is.unsorted(x, na.rm = TRUE)) stop("'x' should be ordered (increasing)") if (is.na(last.step)) last.step <- 0 if (gaps) { .Deprecated(msg = "The 'gaps' argument is deprecated; use panel.xblocks(time(z), is.na(z))") y <- is.na(y) } ## Three cases: ## (1) If y is character, assume it gives the block colours ## -- unless 'col' is given, which over-rides it. ## (2) If y is logical, show blocks of TRUE values. ## (3) If y is numeric, show blocks of non-NA values. if (is.logical(y)) { y <- y } else if (is.numeric(y)) { y <- !is.na(y) } else { ## this will convert factor, Date, etc to character: y <- as.character(y) } ## Note: rle treats each NA as unique (does not combine runs of NAs) ## so we need to replace NAs with a temporary value. NAval <- if (is.character(y)) "" else FALSE y[is.na(y)] <- NAval ## find blocks (runs of constant values) yrle <- rle(y) ## substitute NA values back in blockCol <- yrle$values blockCol[blockCol == NAval] <- NA ## for logical series, col default comes from current theme if (is.logical(y) && is.null(col)) col <- trellis.par.get("plot.line")$col ## set block colours if 'col' given if (length(col) > 0) { if (is.character(col)) col[col == ""] <- NA ok <- !is.na(blockCol) blockCol[ok] <- rep(col, length = sum(ok)) ## rep to avoid warnings } ## work out block geometry idxBounds <- cumsum(c(1, yrle$lengths)) idxStart <- head(idxBounds, -1) idxEnd <- tail(idxBounds, -1) idxEnd[length(idxEnd)] <- length(y) blockStart <- x[idxStart] blockEnd <- x[idxEnd] blockEnd[length(blockEnd)] <- tail(blockEnd, 1) + last.step blockWidth <- blockEnd - blockStart ## draw it grid::grid.rect(x = blockStart, width = blockWidth, y = block.y, height = height, hjust = 0, vjust = vjust, default.units = "native", name = name, gp = gpar(fill = blockCol, col = border, ...)) } panel.xblocks.ts <- function(x, y = x, ...) { if (!is.function(y)) y <- as.vector(y) panel.xblocks(as.vector(time(x)), y, ...) } panel.xblocks.zoo <- function(x, y = x, ...) { if (!is.function(y)) y <- coredata(y) panel.xblocks(index(x), y, ...) } latticeExtra/R/ecdfplot.R0000644000176000001440000000512511363627477015102 0ustar ripleyusers prepanel.ecdfplot <- function(x, f.value = NULL, ...) { ans <- prepanel.default.qqmath(x, f.value = f.value, distribution = qunif) with(ans, list(xlim = ylim, ylim = c(0, 1), dx = dy, dy = dx)) } panel.ecdfplot <- function(x, f.value = NULL, type = "s", groups = NULL, qtype = 7, ref = TRUE, ...) { if (ref) { reference.line <- trellis.par.get("reference.line") do.call(panel.abline, c(list(h = c(0, 1)), reference.line)) } x <- as.numeric(x) distribution <- qunif nobs <- sum(!is.na(x)) if (!is.null(groups)) { panel.superpose(x, y = NULL, f.value = f.value, type = type, distribution = distribution, qtype = qtype, groups = groups, panel.groups = panel.ecdfplot, ...) } else if (nobs) { if (is.null(f.value)) { panel.xyplot(x = sort(x), y = seq_len(nobs) / nobs, type = type, ...) } else { p <- if (is.numeric(f.value)) f.value else f.value(nobs) panel.xyplot(x = quantile(x, p, names = FALSE, type = qtype, na.rm = TRUE), y = distribution(p), type = type, ...) } } } ecdfplot <- function (x, data, ...) UseMethod("ecdfplot") ecdfplot.formula <- function (x, data = NULL, prepanel = "prepanel.ecdfplot", panel = "panel.ecdfplot", ylab = gettext("Empirical CDF"), ...) { ccall <- match.call() ocall <- sys.call(sys.parent()); ocall[[1]] <- quote(ecdfplot) ## for nice $call ccall$data <- data ccall$prepanel <- prepanel ccall$panel <- panel ccall$ylab <- ylab ccall[[1]] <- quote(lattice::densityplot) ans <- eval.parent(ccall) ans$call <- ocall ans } ecdfplot.numeric <- function (x, data = NULL, xlab = deparse(substitute(x)), ...) { ccall <- match.call() ocall <- sys.call(sys.parent()); ocall[[1]] <- quote(ecdfplot) ## for nice $call if (!is.null(ccall$data)) warning("explicit 'data' specification ignored") ccall$data <- list(x = x) ccall$xlab <- xlab ccall$x <- ~x ccall[[1]] <- quote(latticeExtra::ecdfplot) ans <- eval.parent(ccall) ans$call <- ocall ans } latticeExtra/R/data.frame.R0000644000176000001440000002676211062365260015277 0ustar ripleyusers ### Now, the question is, (1) whether to have the method for data ### frames (which is what's of immediate interest) here or in lme4. ### It doesn't really make sense to have it in lme4, since we won't be ### defining a new class. But most of the features would be borrowed ### from nlme (2) whether to have methods for any other class (like ### 'lm' maybe) ### data frame method: gplotArgs.data.frame(x, , ...) ## 4 levels of information: ## o attr(x, "ginfo") ## o ## o attr(x, "gplot.args") ## o ... ## the first 2 determine a reasonable list, overridden by the 3rd and ## then the 4th ## should we have a non-generic "gplotArgs<-" for setting the ## "gplot.args" attribute? ## First, we need some good default panel functions. These need to ## depend on ## (1) the type of display formula - ## o factor ~ numeric [ model: numeric ~ 1 | factor ] ## o numeric ~ numeric [ model: numeric ~ numeric | factor ] ## o ~ numeric [ model: factor ~ numeric | factor ] NEW panel.df.fn <- # factor ~ numeric function(x, y, groups = NULL, ...) { panel.dotplot(x=x, y=y, groups = groups, ...) } panel.df.nn <- # numeric ~ numeric function(x, y, lines = all(type == "p"), type = "p", ...) { panel.xyplot(x, y, type = type, ...) if (lines) { y.avg <- tapply(y, x, mean) # lines through average y y.avg <- y.avg[!is.na(y.avg)] if (length(y.avg) > 0) { xvals <- as.numeric(names(y.avg)) ord <- order(xvals) panel.xyplot(xvals[ord], y.avg[ord], type = "l", ...) } } } panel.df <- # combines above 2, should be called function(x, y = NULL, groups = NULL, grid = TRUE, ...) { yNull <- is.null(y) groupsNull <- is.null(groups) xFactor <- is.factor(x) yFactor <- is.factor(y) if (yNull) ## for factor response, may not be in use yet { if (groupsNull) panel.densityplot(x = x, ...) else panel.superpose(x = x, groups = groups, panel.groups = "panel.densityplot", ...) } else if (!xFactor && !yFactor) ## numeric ~ numeric { if (grid) panel.grid() if (groupsNull) panel.df.nn(x = x, y = y, ...) else panel.superpose(x = x, y = y, groups = groups, panel.groups = panel.df.nn, ...) } else if (yFactor && !xFactor) { panel.df.fn(x = x, y = y, groups = groups, ...) } else stop("can't handle both x and y being factors yet") invisible() } ## display formula ## generally, the display is determined by the arguments 'formula' and ## 'groups'. In the nlme scheme, the formula associated with the data ## is a model formula, not a display formula. The display is further ## determined by the 'outer' and 'inner' arguments. ## Let's try to outline a strategy for this. ## attr(x, "ginfo") can contain things used in nlme's groupedData. ## formula can be of the form 'y ~ x | id' (only one variable in 'id', ## although it can be an interaction). inner=~a becomes default ## grouping factor. outer=~b+c used for ordering levels of id by ## values of y. outer can be also an argument to ## gplotArgs.data.frame. If TRUE, it's equivalent to outer = ## ginfo$outer, or it could be =~e+f. In either case, it becomes the ## conditioning variables, id becomes groups (inner would then be ## ignored) ## In the formula itself, if x is a factor, the display formula ## becomes id ~ y, with groups = x (unless x = 1, then no groups) ## .typeInDF <- function(x, data) ## { ## if (x == "1") "one" ## else if (is.factor(data[[x]])) "factor" ## else if (is.numeric(data[[x]])) "numeric" ## else stop(paste("don't recognize", class(data[[x]]))) ## } ## should work with expressions like log(height) as well .typeInDF <- function(x, data) { if (all(is.na(x))) return(NA) x <- eval(parse(text = x), data, parent.frame()) if (length(x) == 1 && x == 1) "one" else if (is.factor(x)) "factor" else if (is.numeric(x)) "numeric" else stop(paste("don't recognize", class(x))) } ## S3 method: underlies groupedData() in lme4 ## FIXME: the following doesn't work in the docs. What's the recommended way? ## \method{"gplotArgs<-"}{data.frame}(x, value) "gplotArgs<-.data.frame" <- function(x, value) { if (!is.list(value)) stop("assigned value must be list") process.args <- function(formula, order.groups = TRUE, FUN = function(x, ...) max(x, na.rm = TRUE), outer = NULL, inner = NULL, labels = list(), units = list(), ...) { list(ginfo = list(formula = formula, order.groups = order.groups, FUN = FUN, outer = outer, inner = inner, labels = labels, units = units), dots = list(...)) } pargs <- do.call("process.args", value) attr(x, "ginfo") <- pargs$ginfo if (length(pargs$dots) > 0) attr(x, "gplot.args") <- pargs$dots x } ## S3 method ## basic idea: get defaults from "ginfo" attribute, then overwrite by ## "gplot.args" attribute, followed by ... gplotArgs.data.frame <- function(x, display.formula, outer = FALSE, inner = FALSE, groups = NULL, ..., subset = TRUE) { ## The final result should contain only standard trellis args, ## with a special component plotFun, and optionally a ## display.formula, which overrides formula. However, for data ## frames, there are some other issues. ## The "ginfo" attribute can only contain info traditionally in ## nlme groupedData objects. This, along with explicit arguments ## here, will be used to create a list of trellis args. These can ## be overridden by the "gplot.args" attribute, and then by ## ... here. ginfo <- attr(x, "ginfo") gplot.args <- attr(x, "gplot.args") ## equivalent to default method if ginfo is NULL if (is.null(ginfo) || !is.list(ginfo)) return(updateList(gplot.args, list(...))) ## First (longish) task: determine display formula and groups ## groups is by far the most irritating thing to handle. The only ## options I can think of: (1) evaluate groups here and pass it on ## and (2) change lattice to allow groups to be a formula. Use ## (1) for now groups <- eval(substitute(groups), x, parent.frame()) # typically NULL ## subset poses a similar problem subset <- eval(substitute(subset), x, parent.frame()) if (missing(display.formula)) display.formula <- gplot.args$display.formula ## major step: get the display formula, but only if it's NULL model.formula <- ginfo$formula if (!is.null(display.formula)) ## no point in jumping through hoops { ans <- list(display.formula = display.formula) } else if (!is.null(model.formula)) ## the interesting stuff { vars <- list(resp = .responseName(model.formula), cov = .covariateName(model.formula), grp = .groupsName(model.formula)) if (ginfo$order.groups) { ## reorder grp based on values of resp if (is.null(ginfo$FUN)) ginfo$FUN <- function(x, ...) max(x, na.rm = TRUE) respVar <- vars$resp grpVar <- vars$grp scores <- tapply(x[[respVar]], x[[grpVar]], ginfo$FUN) if (inherits(ginfo$outer, "formula")) { outerVar <- .covariateName(ginfo$outer) outer.unique <- tapply(x[[outerVar]], x[[grpVar]], unique) ord <- order(outer.unique, scores) } else ord <- order(scores) x[[grpVar]] <- factor(x[[grpVar]], levels = names(scores)[ord]) } ## display formula may be further modified by inner and outer. ## How does that affect rest of the calculations? if (is.logical(outer) && outer) outer <- ginfo$outer if (is.logical(inner) && inner) inner <- ginfo$inner ## both cannot happen. outer makes outer the conditioning ## variables, normal grp becomes groups. inner behaves as ## groups. outer takes precedence. if (inherits(outer, "formula")) { if (is.null(groups)) groups <- as.formula(paste("~", vars$grp)) vars$grp <- .covariateName(outer) } else if (inherits(inner, "formula")) { ## FIXME: this may not be the right thing to do if (is.null(groups)) groups <- inner } varTypes <- lapply(vars, .typeInDF, data = x) ## Next step depends on varTypes ## case 1: cov = "one" - grp ~ resp ## case 2: cov = "factor" - grp ~ resp, groups = cov ## case 1: cov = "numeric" - resp ~ cov | grp fc <- switch(varTypes$cov, one = paste(vars$grp, "~", vars$resp), factor = paste(vars$grp, "~", vars$resp), numeric = paste(vars$resp, "~", vars$cov, "|", vars$grp)) ans <- list(display.formula = as.formula(fc)) if (varTypes$cov == "factor" && is.null(groups)) groups <- eval(parse(text = vars$cov), x, parent.frame()) } else { stop("no formula!") } ## determine default plot function based on display.formula dvars <- list(resp = .responseName(ans$display.formula), cov = .covariateName(ans$display.formula), grp = .groupsName(ans$display.formula)) ## NA is none dvarTypes <- lapply(dvars, .typeInDF, data = x) if (dvarTypes$resp == "numeric" && dvarTypes$cov == "numeric") plotFun.constructed <- "xyplot" else if (dvarTypes$resp == "factor" && dvarTypes$cov == "numeric") plotFun.constructed <- "dotplot" else { str(dvarTypes) stop("unsupported combination") } ## other stuff in ginfo? ylab.constructed <- if ("labels" %in% names(ginfo) && dvars$resp %in% names(ginfo$labels)) ginfo$labels[[dvars$resp]] else dvars$resp xlab.constructed <- if ("labels" %in% names(ginfo) && dvars$cov %in% names(ginfo$labels)) ginfo$labels[[dvars$cov]] else dvars$cov if ("units" %in% names(ginfo) && dvars$resp %in% names(ginfo$units)) ylab.constructed <- paste(ylab.constructed, ginfo$units[[dvars$resp]]) if ("units" %in% names(ginfo) && dvars$cov %in% names(ginfo$units)) xlab.constructed <- paste(xlab.constructed, ginfo$units[[dvars$cov]]) ans <- updateList(ans, list(plotFun = plotFun.constructed, data = x, panel = panel.df, groups = groups, subset = subset, xlab = xlab.constructed, ylab = ylab.constructed, aspect = if (plotFun.constructed == "xyplot") "xy" else "fill", auto.key = switch(plotFun.constructed, xyplot = list(points = FALSE, lines = TRUE, space = "right"), dotplot = list(points = TRUE, space = "right")))) if (!is.null(gplot.args)) ans <- updateList(ans, gplot.args) ## leave this out? updateList(ans, list(...)) } latticeExtra/R/panel.3dmisc.R0000644000176000001440000001470611462212124015542 0ustar ripleyusers ## a panel function for cloud that draws "3d bar charts" which ## shouldn't be used except in unusual circumstances panel.3dbars <- function(x, y, z, rot.mat = diag(4), distance, xbase = 1, ybase = 1, xlim, xlim.scaled, ylim, ylim.scaled, zlim, zlim.scaled, zero.scaled, col = "black", lty = 1, lwd = 1, alpha = 1, ..., col.facet = "white", alpha.facet = 1) { n <- length(z) col <- rep(col, length = n) col.facet <- rep(col.facet, length = n) alpha <- rep(alpha, length = n) alpha.facet <- rep(alpha.facet, length = n) lty <- rep(lty, length = n) lwd <- rep(lwd, length = n) id <- ((x >= xlim.scaled[1]) & (x <= xlim.scaled[2]) & (y >= ylim.scaled[1]) & (y <= ylim.scaled[2]) & !is.na(x) & !is.na(y) & !is.na(z)) m <- ltransform3dto3d(rbind(x, y, 0), rot.mat, distance) ord <- sort.list(m[3,]) ord <- ord[id[ord]] zero.scaled <- if (zero.scaled < zlim.scaled[1]) zlim.scaled[1] else if (zero.scaled > zlim.scaled[2]) zlim.scaled[2] else zero.scaled inRange <- function(x, lim) { rng <- range(x, finite = TRUE) rng[1] >= min(lim) && rng[2] <= max(lim) } ## draw bars one by one for (i in ord) { ## print(i) xbase.scaled <- diff(xlim.scaled) * xbase / diff(xlim) ybase.scaled <- diff(ylim.scaled) * ybase / diff(ylim) zz.sides <- matrix(c(zero.scaled, z[i]), 2, 1)[, rep(1, 5)] xx.sides <- c(x[i], x[i]) + xbase.scaled * 0.5 * rbind(c(-1, 1, 1, -1, -1), c(-1, 1, 1, -1, -1)) yy.sides <- c(y[i], y[i]) + ybase.scaled * 0.5 * rbind(c(-1, -1, 1, 1, -1), c(-1, -1, 1, 1, -1)) zz.top <- matrix(z[i], 2, 2) xx.top <- c(x[i], x[i]) + xbase.scaled * 0.5 * rbind(c(-1, 1), c(-1, 1)) yy.top <- c(y[i], y[i]) + ybase.scaled * 0.5 * rbind(c(-1, -1), c(1, 1)) zz <- cbind(zz.sides, c(NA, NA), zz.top) xx <- cbind(xx.sides, c(NA, NA), xx.top) yy <- cbind(yy.sides, c(NA, NA), yy.top) ## str(list(xx, yy, zz)) if (inRange(xx, xlim.scaled) && inRange(yy, ylim.scaled) && inRange(zz, zlim.scaled)) { panel.3dwire(xx, yy, zz, rot.mat = rot.mat, distance = distance, xlim = xlim, xlim.scaled = xlim.scaled, ylim = ylim, ylim.scaled = ylim.scaled, zlim = zlim, zlim.scaled = zlim.scaled, col = col[i], lty = lty[i], lwd = lwd[i], alpha = alpha[i], ..., at = c(0, 1), # dummy col.regions = col.facet[i], alpha.regions = alpha.facet[i]) } } } ## panel.3dpolygon <- ## function(x, y, z, rot.mat = diag(4), distance, ## type = 'p', ## xlim.scaled, ## ylim.scaled, ## zlim.scaled, ## zero.scaled, ## col = "white", ## border = "black", ## lty = 1, lwd = 1, ## min.sides = 3, ## ..., ## subscripts = TRUE) ## { ## m <- ltransform3dto3d(rbind(x, y, z), rot.mat, distance) ## ## ord <- sort.list(m[3,]) ## n <- ncol(m) ## w <- which(is.na(x) | is.na(y)) ## id.lengths <- diff(c(0, w, n)) ## cum.lengths <- c(0, cumsum(id.lengths)) ## idlist <- ## lapply(seq_along(id.lengths), ## function(i) { ## ind <- seq_len(id.lengths[i]) + cum.lengths[i] ## ind[-id.lengths[i]] ## }) ## ord <- ## order(sapply(idlist, ## function(ind) { ## min(m[3, ind]) ## })) ## for (ind in idlist[ord]) ## { ## if (length(ind) >= min.sides) ## panel.polygon(x = m[1, ind], y = m[2, ind], ## col = col, border = border) ## } ## } panel.3dpolygon <- function(x, y, z, rot.mat = diag(4), distance, xlim.scaled, ylim.scaled, zlim.scaled, zero.scaled, col = "white", border = "black", ## min.sides = 3, font, fontface, ## gpar() doesn't like these ...) { if (all(is.na(x) | is.na(y) | is.na(z))) return() border <- if (all(is.na(border))) "transparent" else if (is.logical(border)) { if (border) "black" else "transparent" } else border m <- ltransform3dto3d(rbind(x, y, z), rot.mat, distance) ## ord <- sort.list(m[3,]) n <- ncol(m) w <- which(is.na(x) | is.na(y)) id.lengths <- diff(c(0, w, n)) ## need to reorder multiple polygons by some measure of "average" depth id.long <- rep(seq_along(id.lengths), id.lengths) ord.depth <- order(tapply(m[3,], id.long, min, na.rm = TRUE)) id.ordered <- ord.depth[id.long] ord.long <- order(id.ordered) grid.polygon(x = m[1, ord.long], y = m[2, ord.long], id = id.ordered[ord.long], default.units = "native", gp = gpar(fill = col, col = border, ...)) ## print(data.frame(x = m[1, ord.long], ## y = m[2, ord.long], ## id = id.ordered[ord.long])) return() } panel.3dtext <- function(x, y, z, labels = seq_along(x), rot.mat = diag(4), distance, ...) { if (all(is.na(x) | is.na(y) | is.na(z))) return() m <- ltransform3dto3d(rbind(x, y, z), rot.mat, distance) ord <- sort.list(m[3,]) panel.text(x = m[1, ord], y = m[2, ord], labels = labels, ...) } ## d <- data.frame(x = rnorm(10), ## y = rnorm(10), ## z = rnorm(10)) ## rownames(d) <- letters[1:10] ## cloud(z ~ x * y, d, panel.3d.cloud = panel.3dtext) ## cloud(z ~ x * y, d, panel.3d.cloud = panel.3dtext, ## labels = rownames(d), col = "red") ## ## for multipanel plots ## cloud(z ~ x * y, d, ## panel.3d.cloud = function(..., subscripts) { ## panel.3dtext(..., labels = rownames(d)[subscripts]) ## }) latticeExtra/R/mapplot.R0000644000176000001440000000641412203172233014733 0ustar ripleyusers prepanel.mapplot <- function(x, y, map, ...) { list(xlim = range(map$x, finite = TRUE), ylim = range(map$y, finite = TRUE)) } panel.mapplot <- function(x, y, map, breaks, colramp, exact = FALSE, lwd = 0.5, ...) { names(x) <- tolower(as.character(y)) mapnames <- tolower(map$names) mapval <- x[mapnames] xmatched <- names(x) %in% mapnames if (any(!xmatched) && !exact) { ## lump sub-regions together (strip name after ':') mapnames <- gsub(":.*$", "", mapnames) ## only replace values which did not match exactly mapval <- ifelse(is.na(mapval), x[mapnames], mapval) xmatched <- xmatched | (names(x) %in% mapnames) } if (any(!xmatched)) warning(sum(!xmatched), " unmatched regions: ", toString(y[!xmatched], width = 60)) interval <- cut(mapval, breaks = breaks, labels = FALSE, include.lowest = TRUE) col.regions <- colramp(length(breaks) - 1) col <- col.regions[interval] panel.polygon(map, col = col, lwd = lwd, ...) } mapplot <- function(x, data, ...) UseMethod("mapplot") mapplot.formula <- function(x, data, map, outer = TRUE, prepanel = prepanel.mapplot, panel = panel.mapplot, aspect = "iso", legend = NULL, breaks, cuts = 30, colramp = colorRampPalette(brewer.pal(n = 11, name = "Spectral")), colorkey = TRUE, ## col.regions, ## alpha.regions, ...) { colrampNULL <- is.null(colramp) if (is.null(colramp)) colramp <- function(n) colorRampPalette(trellis.par.get("regions")$col)(n) ccall <- match.call() ccall$data <- data ccall$map <- map ccall$outer <- outer ccall$prepanel <- prepanel ccall$panel <- panel ccall$aspect <- aspect ccall$legend <- legend ccall$colramp <- colramp ccall$default.scales <- list(x = list(tck = 1), y = list(tck = 1)) ccall[[1]] <- quote(lattice::dotplot) ans <- eval(ccall, parent.frame()) if (missing(breaks)) { x <- unlist(lapply(ans$panel.args, "[[", "x")) breaks <- if (is.factor(x)) seq_len(1 + nlevels(x)) - 0.5 else do.breaks(range(x, finite = TRUE), cuts) } ## regions <- trellis.par.get("col.regions") ## if (missing(col.regions)) col.regions <- regions$col ## if (missing(alpha.regions)) alpha.regions <- regions$alpha if (colorkey) { keydef <- list(at = breaks, draw = FALSE) if (!colrampNULL) keydef$col <- colramp(length(breaks)) ans <- update(ans, breaks = breaks, legend = lattice:::updateList(ans$legend, list(right = list(fun = draw.colorkey, args = list(key = keydef))))) } ans$call <- sys.call(sys.parent()) ans$call[[1]] <- quote(mapplot) ans } ## mapplot(rownames(USCancerRates) ~ log(rate.male) + log(rate.female), ## USCancerRates, outer = TRUE, ## ## colramp = cm.colors, ## map = county.map) ## ## scales = list(draw = FALSE), xlab = "", ylab = "", latticeExtra/R/panel.ellipse.R0000644000176000001440000000676411462212124016022 0ustar ripleyusers# data ellipses for xyplot # M. Friendly, 7/7/2010 9:24AM # - replaced panel.polygon with panel.lines # calculate one data ellipse; modified from car to do just the calculation conf.ellipse <- function(x, y, level = 0.68, segments = 50L, robust = FALSE) { if (length(x) != length(y)) stop("x and y must be vectors of the same length") xy <- na.omit(cbind(x, y)) if (robust) { v <- MASS::cov.trob(xy) shape <- v$cov center <- v$center } else { shape <- var(xy) center <- colMeans(xy) } radius <- sqrt(2 * qf(level, df1 = 2, df2 = length(x) - 1)) angles <- seq(0, 2 * pi, length.out = segments + 1) unit.circle <- cbind(cos(angles), sin(angles)) ell <- t(center + radius * t(unit.circle %*% chol(shape))) list(ellipse = ell, center = center) } panel.ellipse <- function(x, y, groups = NULL, level = 0.68, segments = 50, robust = FALSE, center.pch = 3, center.cex = 2, ..., type, pch, cex) { x <- as.numeric(x) y <- as.numeric(y) if (!is.null(groups)) panel.superpose(x = x, y = y, groups = groups, level = level, segments = segments, robust = robust, center.pch = center.pch, center.cex = center.cex, panel.groups = panel.ellipse, ...) else { ell <- conf.ellipse(x = x, y = y, level = level, segments = segments, robust = robust) panel.xyplot(ell$ellipse[,1], ell$ellipse[,2], ..., type = "l") if (!is.null(center.pch)) panel.xyplot(ell$center[1], ell$center[2], ..., pch = center.pch, cex = center.cex) } } if (FALSE) { old.panel.ellipse <- function(x, y, groups=NULL, level=0.68, segments=51, robust=FALSE, col=NA, col.line = if (is.null(groups)) plot.line$col else superpose.line$col, lwd = if (is.null(groups)) plot.line$lwd else superpose.line$lwd, lty = if (is.null(groups)) plot.line$lty else superpose.line$lty, center.pch=3, center.cex=2, ...) { x <- as.numeric(x) y <- as.numeric(y) plot.line <- trellis.par.get("plot.line") superpose.line <- trellis.par.get("superpose.line") if (!is.na(col)) { if (missing(col.line)) col.line <- col } groups <- as.factor(if(is.null(groups)) rep(1, length(x)) else as.character(groups)) n.groups <- length(levels(groups)) col <- rep(col.line, length.out=n.groups) lty <- rep(lty, length.out=n.groups) lwd <- rep(lwd, length.out=n.groups) for (i in 1:n.groups) { subs <- groups == levels(groups)[i] XY <- na.omit(data.frame(x=x[subs], y=y[subs])) ell <- .ellipse(XY, level = level, segments = segments, robust = robust) ## panel.polygon(ell[,1], ell[,2], border=col[i], col="transparent", lty=lty[i], lwd=lwd[i], ...) panel.lines(ell[,1], ell[,2], col = col[i], lty = lty[i], lwd = lwd[i], ...) if (!is.null(center.pch)) { center = colMeans(XY) panel.points(center[1], center[2], col=col[i], pch = center.pch, cex = center.cex) } } } } latticeExtra/R/panel.qqmath.tails.R0000644000176000001440000000257211403245152016766 0ustar ripleyusers## ## Copyright (c) 2008 Felix Andrews ## panel.qqmath.tails <- function(x, f.value = NULL, distribution = qnorm, groups = NULL, ..., approx.n = 100, tails.n = 10) { if (getRversion() >= "2.11.0") .Deprecated(msg = paste("'panel.qqmath.tails' is deprecated.", "Use 'panel.qqmath' from lattice 0.18-4 onwards.")) x <- as.numeric(x) distribution <- if (is.function(distribution)) distribution else if (is.character(distribution)) get(distribution) else eval(distribution) nobs <- sum(!is.na(x)) if (!is.null(groups)) { panel.superpose(x, y = NULL, f.value = f.value, distribution = distribution, groups = groups, panel.groups = panel.qqmath.tails, ..., approx.n = approx.n, tails.n = tails.n) return() } if (nobs == 0) return() pp <- ppoints(nobs) y <- sort(x) qq <- distribution(pp) if (nobs > approx.n + tails.n*2) { keep <- rep(FALSE, nobs) ## keep lowest and highest points keep[c(1:tails.n, nobs+1-(1:tails.n))] <- TRUE ## keep points spaced equally along distribution qqkeep <- seq(qq[tails.n+1], qq[nobs-tails.n], length=approx.n) keep[findInterval(qqkeep, qq)] <- TRUE qq <- qq[keep] y <- y[keep] } panel.xyplot(x = qq, y = y, ...) } latticeExtra/R/simpleSmoothTs.R0000644000176000001440000000335011462212124016245 0ustar ripleyusers simpleSmoothTs <- function(x, ...) { UseMethod("simpleSmoothTs") } simpleSmoothTs.default <- function(x, ..., width = NROW(x) %/% 10 + 1, n = NROW(x), c = 1, sides = 2, circular = FALSE, kern = kernel("daniell", rep(floor((width/sides)/sqrt(c)), c))) { if (sides == 2) { ii <- -kern$m:kern$m filter <- kern[ii] } else if (sides == 1) { ii <- 0:kern$m filter <- kern[ii] / sum(kern[ii]) ## normalise } else stop("unrecognised value of 'sides'") x <- as.ts(x) xf <- x xf[] <- filter(x, filter, sides = sides, circular = circular) if (n < NROW(x)) { ## reduce the number of points by aggregating chunks of 'reduce' time steps reduce <- round(NROW(x) / n) if (reduce > 1) { ndeltat <- deltat(xf) * reduce ## work-around for bug in aggregate.ts if ((ndeltat > 1) && (getRversion() < "2.11.1")) ndeltat <- ndeltat * (1 + getOption("ts.eps")/1000) xf <- aggregate(xf, ndeltat = ndeltat, FUN = mean) ## and adjust it so that each point is centered compared to the original series tsp(xf)[1:2] <- tsp(xf)[1:2] + (deltat(xf) %/% 2) } } xf } simpleSmoothTs.zoo <- function(x, ..., n = NROW(x)) { xts <- as.ts(x) xtsf <- simpleSmoothTs(xts, ..., n = n) ii <- TRUE if (n < NROW(x)) { ## find indices of aggregated time series in the original data ii <- findInterval(time(xtsf), time(xts)) ## extract elements of time index corresponding to aggregated series ans <- zoo(as.matrix(xtsf), time(x)[ii]) } else { ans <- x coredata(ans) <- coredata(xtsf) } ans } latticeExtra/R/panel.scaleArrow.R0000644000176000001440000000300511403245152016452 0ustar ripleyusers panel.scaleArrow <- function(x = unit(0:1, "npc"), y = unit(0:1, "npc"), default.units = "npc", digits = 0, append = "", label = NULL, angle = 30, length = 0.5, unit = "char", type = "open", ends = "both", ..., col = add.line$col, fill = col, alpha = add.line$alpha, lty = add.line$lty, lwd = add.line$lwd, col.text = add.text$col, alpha.text = add.text$alpha) { add.line <- trellis.par.get("add.line") add.text <- trellis.par.get("add.text") if (!is.unit(x)) x <- unit(x, default.units) if (!is.unit(y)) y <- unit(y, default.units) x <- rep(x, length.out = 2) y <- rep(y, length.out = 2) xnat <- convertX(x, "native", valueOnly = TRUE) ynat <- convertY(y, "native", valueOnly = TRUE) panel.arrows(xnat[1], ynat[1], xnat[2], ynat[2], ends = ends, angle = angle, length = length, unit = unit, type = type, col = col, fill = fill, alpha = alpha, lty = lty, lwd = lwd) #grid.lines(x = x, y = y, default.units = default.units, # arrow = arrow, gp = gp) #xnat <- convertX(x, "native", valueOnly = TRUE) #ynat <- convertX(y, "native", valueOnly = TRUE) d <- sqrt(diff(xnat)^2 + diff(ynat)^2) d <- round(d, digits = digits) if (is.null(label)) label <- paste(d, append, sep = "") panel.text(x = 0.5 * (xnat[1] + xnat[2]), y = 0.5 * (ynat[1] + ynat[2]), labels = label, col = col.text, alpha = alpha.text, ...) } latticeExtra/R/panel.xyarea.R0000644000176000001440000001327011647447070015663 0ustar ripleyusers## ## Copyright (c) 2008 Felix Andrews ## panel.xyarea <- function(x, ...) UseMethod("panel.xyarea") ## Plot a series as a filled polygon connected at given origin (on y axis). ## With groups, acts like panel.superpose, but with polygon style settings. panel.xyarea.default <- function(x, y, groups = NULL, origin = NULL, horizontal = FALSE, col = if (is.null(groups)) plot.polygon$col else superpose.polygon$col, col.line = if (is.null(groups)) plot.polygon$col else superpose.polygon$col, border = if (is.null(groups)) plot.polygon$border else superpose.polygon$border, lty = if (is.null(groups)) plot.polygon$lty else superpose.polygon$lty, lwd = if (is.null(groups)) plot.polygon$lwd else superpose.polygon$lwd, alpha = if (is.null(groups)) plot.polygon$alpha else superpose.polygon$alpha, ..., fill, panel.groups = panel.xyarea) { plot.polygon <- trellis.par.get("plot.polygon") superpose.polygon <- trellis.par.get("superpose.polygon") x <- as.numeric(x) y <- as.numeric(y) if (length(x) == 0) return() if (!is.null(groups)) { ## NOTE superpose does not handle 'border' argument, so pass it as col.line panel.superpose(x, y, ..., groups = groups, panel.groups = panel.groups, col = col, col.line = col.line, lty = lty, lwd = lwd, border = border, alpha = alpha, origin = origin, horizontal = horizontal) } else { if (!missing(col.line)) col <- col.line if (horizontal == TRUE) { ## actually means origin is vertical. for consistency with panel.xyplot. xlim <- current.panel.limits()$xlim if (is.null(origin)) origin <- xlim[1] infi <- is.infinite(x) x[infi] <- ifelse(x[infi] > 0, max(xlim), min(xlim)) } else { ## default case; origin is horizontal ylim <- current.panel.limits()$ylim if (is.null(origin)) origin <- ylim[1] infi <- is.infinite(y) y[infi] <- ifelse(y[infi] > 0, max(ylim), min(ylim)) } stopifnot(is.numeric(origin)) ## need to split up the series into chunks without any missing values ## (because NAs split the polygon) xy <- data.frame(x = x, y = y) ## order by ordinate values ord <- if (horizontal) order(xy$y) else order(xy$x) xy <- xy[ord,] ok <- complete.cases(xy) runs <- rle(ok) ## assign unique values to each chunk, and NAs between (dropped by 'split') runs$values[runs$values == TRUE] <- seq_len(sum(runs$values)) runs$values[runs$values == FALSE] <- NA ## expand into long format chunks <- inverse.rle(runs) lapply(split(xy, chunks), function(xyi, ...) { x <- xyi$x y <- xyi$y ## drop ends of series to the origin; the polygon will be joined up at that level if (horizontal == TRUE) { ## non-default case yy <- c(head(y,1), y, tail(y,1)) xx <- c(origin, x, origin) } else { ## default case xx <- c(head(x,1), x, tail(x,1)) yy <- c(origin, y, origin) } ## we need to catch the 'fill' argument from panel.superpose, otherwise over-rides 'col' panel.polygon(xx, yy, alpha = alpha, col = col, border = border, lty = lty, lwd = lwd, ...) }, ...) } } panel.xyarea.ts <- function(x, y = x, ...) { panel.xyarea(as.vector(time(x)), y, ...) } panel.xyarea.zoo <- function(x, y = x, ...) { panel.xyarea(index(x), coredata(y), ...) } ## A slightly modified copy of panel.qqmath panel.qqmath.xyarea <- function(x, y = NULL, f.value = NULL, distribution = qnorm, qtype = 7, groups = NULL, ..., tails.n = 0) { x <- as.numeric(x) distribution <- if (is.function(distribution)) distribution else if (is.character(distribution)) get(distribution) else eval(distribution) nobs <- sum(!is.na(x)) if (!is.null(groups)) panel.xyarea(x, y = NULL, f.value = f.value, distribution = distribution, qtype = qtype, groups = groups, panel.groups = panel.qqmath.xyarea, ..., tails.n = tails.n) else if (nobs) { if (is.null(f.value)) # exact data instead of quantiles { panel.xyarea(x = distribution(ppoints(nobs)), y = sort(x), ...) } else { pp <- if (is.numeric(f.value)) f.value else f.value(nobs) if (tails.n > 0) { ## use exact data for tails of distribution tails.n <- min(tails.n, nobs %/% 2) ppd <- ppoints(nobs) ## omit probabilities within the exact tails pp <- pp[(pp > ppd[tails.n] & pp < ppd[nobs + 1 - tails.n])] ## add on probs corresponding to exact tails pp <- c(head(ppd, tails.n), pp, tail(ppd, tails.n)) ## must use a quantile type that recovers exact values: qtype <- 1 } xx <- distribution(pp) yy <- quantile(x, pp, names = FALSE, type = qtype, na.rm = TRUE) panel.xyarea(x = xx, y = yy, ...) } } } latticeExtra/R/combineLimits.R0000644000176000001440000001340211663621704016063 0ustar ripleyusers ## also available in lattice, but not exported is.characterOrExpression <- function (x) is.character(x) || is.expression(x) .arrayIndices <- function(d, i) ## Suppose we have an array 'x' with dimension 'd'. We can index ## 'x' in two different ways: x[i] or x[i_1, i_2, ..., i_d]. ## Here, we are given 'i', and want to compute i_1, i_2, ..., i_d. { ## Here's what we are doing: ## For length(d) == 3, note that (for 0-based indexing) ## ## i1 = (i mod d[1]) ## i2 = (i mod d[1] * d[2]) div d[1] ## i3 = (i mod d[1] * d[2] * d[3]) div d[1] * d[2] n <- length(d) ans <- vector(mode = "list", length = n) for (k in seq_along(ans)) { ans[[k]] <- 1L + (((i-1L) %% prod(head(d, k))) %/% prod(head(d, k-1L))) } ans } combineLimits <- function(x, margin.x = 2L, margin.y = 1L, extend = TRUE, adjust.labels = TRUE) { if (length(dim(x)) == 1L) warning("Only one conditioning variable; nothing interesting will happen.") indices <- .arrayIndices(dim(x), seq_len(prod(dim(x)))) ## For regular `numeric' scales, all we need is to modify ## $[xy].scales. But for `factor' scales, we need to leave ## $[xy].scales alone, and instead modify $[xy].used.at and $[xy].num.limit modifyLimits <- function(limits, margin, ext) { limits <- array(limits, dim = dim(x)) for (i in seq_len(prod(dim(x)))) { ## index.combine <- index.entry <- Rows(indices, i) index.combine <- Rows(indices, i) index.combine[margin] <- list(TRUE) ## limits[[i]] <- ## range(do.call("[", c(list(limits), index.combine)), finite = TRUE) li <- unlist(do.call("[", c(list(limits), index.combine))) limits[[i]] <- if(all(is.na(li))) li else range(li, finite = TRUE) } if (ext) lapply(limits, lattice:::extend.limits) else limits } modifyUsed <- function(used.at, margin) { used.at <- array(used.at, dim = dim(x)) for (i in seq_len(prod(dim(x)))) { index.combine <- Rows(indices, i) index.combine[margin] <- list(TRUE) li <- unlist(do.call("[", c(list(used.at), index.combine))) used.at[[i]] <- sort(unique(li)) } used.at } if (x$x.scales$relation != "free" && x$y.scales$relation != "free") warning("Function only has effect for scales with 'relation=\"free\"'.") if (x$x.scales$relation == "free" && length(margin.x)) { if (is.characterOrExpression(x$x.limits[[1]])) { x$x.used.at <- modifyUsed(x$x.used.at, margin.x) x$x.num.limit <- modifyLimits(x$x.num.limit, margin.x, ext = FALSE) } else x$x.limits <- modifyLimits(x$x.limits, margin.x, ext = extend) } if (x$y.scales$relation == "free" && length(margin.y)) { if (is.characterOrExpression(x$y.limits[[1]])) { x$y.used.at <- modifyUsed(x$y.used.at, margin.y) x$y.num.limit <- modifyLimits(x$y.num.limit, margin.y, ext = FALSE) } else x$y.limits <- modifyLimits(x$y.limits, margin.y, ext = extend) } if (adjust.labels) { ## Drop all but left/bottom-most labels, and set space to 0 ## for those. Needs to know layout, and will set it unless ## already set. npackets <- prod(dim(x)) par.settings <- if (is.null(x$par.settings)) list() else x$par.settings if (is.null(x$layout)) x$layout <- if (length(dim(x)) == 1L) c(dim(x), 1) else dim(x)[1:2] else if (!isTRUE(all.equal(x$layout[1:2], dim(x)[1:2]))) { warning("'layout' does not match dimensions; displayed scales may be wrong.") } if (any(is.na(x$layout) | x$layout == 0)) stop("'layout' must explicitly determine number of rows and columns") if (x$x.scales$relation == "free" && length(margin.x)) { ## change x-scales if (is.list(x$x.scales$at)) { warning("Explicit per-panel tick mark locations ignored") x$x.scales$at <- FALSE } page.at <- if (x$as.table) rep(list(NULL, x$x.scales$at), c(x$layout[1] * (x$layout[2]-1), x$layout[1])) else rep(list(x$x.scales$at, NULL), c(x$layout[1], x$layout[1] * (x$layout[2]-1))) x$x.scales$at <- rep(page.at, length.out = npackets) par.settings <- if (x$as.table) modifyList(par.settings, list(layout.heights = list(axis.panel = rep(c(0, 1), c(x$layout[2]-1, 1))))) else modifyList(par.settings, list(layout.heights = list(axis.panel = rep(c(1, 0), c(1, x$layout[2]-1))))) } if (x$y.scales$relation == "free" && length(margin.y)) { ## change y-scales if (is.list(x$y.scales$at)) { warning("Explicit per-panel tick mark locations ignored") x$y.scales$at <- FALSE } page.at <- rep(list(TRUE, NULL), c(1, x$layout[1]-1)) x$y.scales$at <- rep(page.at, length.out = npackets) par.settings <- modifyList(par.settings, list(layout.widths = list(axis.panel = rep(c(1, 0), c(1, x$layout[1]-1))))) } x$par.settings <- par.settings } x } latticeExtra/R/mergeTrellisLegends.R0000644000176000001440000000321211462212124017210 0ustar ripleyusers ## not exported; for use in c.trellis and doubleYScale mergeTrellisLegends <- function(legend, legend2, vertical = NULL) { legend <- as.list(legend) legend2 <- as.list(legend2) for (space in c("top", "bottom", "left", "right")) { if (!is.null(legend2[[space]])) { if (is.null(legend[[space]])) { ## no conflict legend[[space]] <- legend2[[space]] } else { v <- vertical if (is.null(v)) v <- space %in% c("left", "right") legend[[space]] <- list(fun = "mergedTrellisLegendGrob", args = list(a = legend[[space]], b = legend2[[space]], vertical = v)) } } } legend <- c(legend, legend2[names(legend2) == "inside"]) legend } ## exported, to be called at plot time from 'legend' mergedTrellisLegendGrob <- function(a, b, vertical = FALSE, border = NULL) { if (is.null(a)) return(b) if (is.null(b)) return(a) if (!inherits(a$fun, "grob")) { fun <- a$fun if (is.character(a$fun)) a$fun <- as.symbol(a$fun) a$fun <- eval(as.call(c(a$fun, a$args)), getNamespace("lattice")) } if (!inherits(b$fun, "grob")) { if (is.character(b$fun)) b$fun <- as.symbol(b$fun) b$fun <- eval(as.call(c(b$fun, b$args)), getNamespace("lattice")) } g <- frameGrob(name = "mergedLegend") g <- packGrob(g, a$fun, side = if (vertical) "top" else "left", border = border) g <- packGrob(g, b$fun, side = if (vertical) "bottom" else "right", border = border) g } latticeExtra/R/utilities.R0000644000176000001440000001113011262122517015265 0ustar ripleyusers ## update elements of a list recursively. updateList <- function (x, val) { if (is.null(x)) x <- list() modifyList(x, val) } ## common operations that only make sense in certain contexts useOuterStrips <- function(x, strip = strip.default, strip.left = strip.custom(horizontal = FALSE), strip.lines = 1, strip.left.lines = strip.lines) { dimx <- dim(x) stopifnot(inherits(x, "trellis")) stopifnot(length(dimx) == 2) opar <- if (is.null(x$par.settings)) list() else x$par.settings par.settings <- modifyList(opar, list(layout.heights = if (x$as.table) list(strip = c(strip.lines, rep(0, dimx[2]-1))) else list(strip = c(rep(0, dimx[2]-1), strip.lines)), layout.widths = list(strip.left = c(strip.left.lines, rep(0, dimx[1]-1))))) if (is.character(strip)) strip <- get(strip) if (is.logical(strip) && strip) strip <- strip.default new.strip <- if (is.function(strip)) { function(which.given, which.panel, var.name, ...) { if (which.given == 1) strip(which.given = 1, which.panel = which.panel[1], var.name = var.name[1], ...) } } else strip if (is.character(strip.left)) strip.left <- get(strip.left) if (is.logical(strip.left) && strip.left) strip.left <- strip.custom(horizontal = FALSE) new.strip.left <- if (is.function(strip.left)) { function(which.given, which.panel, var.name, ...) { if (which.given == 2) strip.left(which.given = 1, which.panel = which.panel[2], var.name = var.name[2], ...) } } else strip.left update(x, par.settings = par.settings, strip = new.strip, strip.left = new.strip.left, par.strip.text = list(lines = 0.5), layout = dimx) } resizePanels <- function(x, h = 1, w = 1) { if (!missing(x)) return(update(x, par.settings = list(layout.heights = list(panel = h), layout.widths = list(panel = w)))) cl <- trellis.currentLayout() if (all(dim(cl) > 1)) stop("layout must have single column or single row.") if (all(dim(cl) == 1)) { message("Nothing to be done.") return() } if (any(cl == 0)) stop("missing panels not allowed") if (dim(cl)[2] == 1) ## single column { pos <- seq(length = dim(cl)[1]) heights <- sapply(pos, function(i) { trellis.focus("panel", 1, i, highlight = FALSE) ylim <- current.panel.limits()$ylim trellis.unfocus() diff(range(ylim)) }) return(trellis.last.object(par.settings = list(layout.heights = list(panel = heights)))) } else if (dim(cl)[1] == 1) ## single row { pos <- seq(length = dim(cl)[2]) widths <- sapply(pos, function(i) { trellis.focus("panel", i, 1, highlight = FALSE) xlim <- current.panel.limits()$xlim trellis.unfocus() diff(range(xlim)) }) return(trellis.last.object(par.settings = list(layout.widths = list(panel = widths)))) } print(dim(cl)) stop("shouldn't come here") } ## utility functions to extract components of a formula. Don't work ## reliably with unusual symbols .responseName <- function(formula) { if (length(formula) == 3) as.character(formula[2]) else stop("invalid formula") } .covariateName <- function(formula) { RHS <- if (length(formula) == 3) as.character(formula[3]) else if (length(formula) == 2) as.character(formula[2]) else stop("invalid formula") RHS <- strsplit(RHS, " | ", fixed = TRUE)[[1]] RHS[1] } .groupsName <- function(formula) { RHS <- if (length(formula) == 3) as.character(formula[3]) else if (length(formula) == 2) as.character(formula[2]) else stop("invalid formula") RHS <- strsplit(RHS, " | ", fixed = TRUE)[[1]] RHS[2] } latticeExtra/R/panel.2dsmoother.R0000644000176000001440000000303511403245152016441 0ustar ripleyusers panel.2dsmoother <- function(x, y, z, subscripts = TRUE, form = z ~ x * y, method = "loess", ..., args = list(), n = 100) { if (length(subscripts) == 0) return() ## allow 'form' to be passed as the first argument missing.x <- missing(x) if (!missing.x && inherits(x, "formula")) { form <- x missing.x <- TRUE } ## use 'x', 'y', 'z' if given ## otherwise try to find them in the formula environment if (missing.x) x <- environment(form)$x if (missing(y)) y <- environment(form)$y if (missing(z)) z <- environment(form)$z x <- x[subscripts] y <- y[subscripts] z <- z[subscripts] ok <- is.finite(x) & is.finite(y) & is.finite(z) if (sum(ok) < 1) return() x <- as.numeric(x)[ok] y <- as.numeric(y)[ok] z <- as.numeric(z)[ok] mod <- do.call(method, c(alist(form, data = list(x = x, y = y, z = z)), args)) ## use the limits of the data, or panel limits, whichever is smaller lims <- current.panel.limits() xrange <- c(max(min(lims$x), min(x)), min(max(lims$x), max(x))) yrange <- c(max(min(lims$y), min(y)), min(max(lims$y), max(y))) xseq <- seq(xrange[1], xrange[2], length = n) yseq <- seq(yrange[1], yrange[2], length = n) zseq <- seq(min(z), max(z), length = n) grid <- expand.grid(x = xseq, y = yseq) fit <- predict(mod, grid) panel.levelplot(x = grid$x, y = grid$y, z = fit, subscripts = TRUE, ...) } latticeExtra/R/marginal.plot.R0000644000176000001440000001413511462212124016025 0ustar ripleyusers## ## Copyright (c) 2007 Felix Andrews ## GPL version 2 or newer is.categorical <- function (x) { is.factor(x) || is.shingle(x) || is.character(x) || is.logical(x) } marginal.plot <- function(x, data = NULL, groups = NULL, reorder = !is.table(x), plot.points = FALSE, ref = TRUE, cut = 0, origin = 0, #ylim = c(0, NA), this only supported in R >= 2.11 xlab = NULL, ylab = NULL, type = c("p", if (is.null(groups)) "h"), ..., subset = TRUE, as.table = TRUE, subscripts = TRUE, default.scales = list( relation = "free", abbreviate = TRUE, minlength = 5, rot = 30, cex = 0.75, tick.number = 3, y = list(draw = FALSE)), layout = NULL, lattice.options = list( layout.heights = list( axis.xlab.padding = list(x = 0), xlab.key.padding = list(x = 0)))) { if (is.table(data)) data <- as.data.frame(data) ## assume first term of formula is the data object; ignore rest if (inherits(x, "formula")) x <- eval(x[[2]], data, environment(x)) ## x must be either a data.frame or a table if (!is.data.frame(x) && !is.table(x)) x <- as.data.frame(x) ## groups and subset are subject to non-standard evaluation: groups <- eval(substitute(groups), data, parent.frame()) ## note unusual cases e.g. ## evalq(marginal.plot(dat, subset = complete.cases(dat)), myEnv) subset <- eval(substitute(subset), data, parent.frame()) ## apply subset if ((length(subset) > 0) && !isTRUE(subset)) { x <- x[subset,] if (!is.null(groups)) groups <- groups[subset] } ## divide into categoricals and numerics if (is.table(x)) { iscat <- TRUE } else { iscat <- sapply(x, is.categorical) } ## reorder factor levels if (reorder) { if (is.table(x)) { x <- reorderTableByFreq(x) } else { for (nm in names(x)[iscat]) { val <- x[[nm]] if (is.character(val)) x[[nm]] <- factor(val) if (!is.ordered(val) && !is.shingle(val) && nlevels(val) > 1) { x[[nm]] <- reorder(val, val, function(z) -length(z)) } } } } if (any(iscat)) { ## handle categorical variables ## make a list of dotplot trellis objects if (is.table(x)) { margins <- seq(length = length(dim(x))) names(margins) <- names(dimnames(x)) } else { margins <- which(iscat) names(margins) <- colnames(x)[iscat] } dotobjs <- lapply(margins, function(i) { if (is.table(x)) { nm <- names(dimnames(x))[i] nm <- deparse(as.symbol(nm), backtick = TRUE) form <- paste("Freq ~", nm) if (!is.null(groups)) form <- paste(form, "+ groups") tab <- xtabs(as.formula(form), x) } else { if (!is.null(groups)) { tab <- table(Value = x[[i]], groups = groups) } else { tab <- table(Value = x[[i]]) } } dotplot(tab, horizontal = FALSE, groups = !is.null(groups), subscripts = TRUE, ..., type = type, origin = origin, #ylim = ylim, as.table = as.table, default.scales = default.scales, lattice.options = lattice.options, xlab = xlab, ylab = ylab) }) ## merge the list of trellis objects into one catobj <- do.call("c", c(dotobjs, merge.legends = FALSE)) catobj$layout <- layout catobj$call <- match.call() } if (any(!iscat)) { ## handle numeric variables ## construct formula with all numeric variables nms <- names(x)[!iscat] symbolStr <- function(nm) deparse(as.symbol(nm), backtick = TRUE) nms <- sapply(nms, symbolStr) numform <- paste("~", paste(nms, collapse = " + ")) numobj <- densityplot(as.formula(numform), x, outer = TRUE, subscripts = TRUE, groups = groups, ..., plot.points = plot.points, ref = ref, cut = cut, #ylim = ylim, as.table = as.table, default.scales = default.scales, lattice.options = lattice.options, xlab = xlab, ylab = ylab) ## set strip name if only one panel if (prod(dim(numobj)) == 1) rownames(numobj) <- names(x)[!iscat] numobj$call <- match.call() numobj$layout <- layout } if (all(iscat)) { obj <- catobj } else if (all(!iscat)) { obj <- numobj } else { ## if there are both categoricals and numerics, ## merge the trellis objects; keep original var order reIndex <- order(c(which(iscat), which(!iscat))) obj <- update(c(catobj, numobj, merge.legends = FALSE), index.cond = list(reIndex), layout = layout) ## force strips when only one panel in each object if (identical(obj$strip, FALSE)) obj$strip <- "strip.default" } obj$call <- sys.call(sys.parent()) obj } reorderTableByFreq <- function(x) { stopifnot(is.table(x)) df <- as.data.frame(x) i <- which(names(df) == "Freq") df[-i] <- lapply(df[-i], reorder, - df$Freq) xtabs(Freq ~ ., df) } latticeExtra/R/c.trellis.R0000644000176000001440000002217111462212124015154 0ustar ripleyusers ## ## Copyright (c) 2007 Felix Andrews ## GPL version 2 or newer xyplot.list <- function(x, data = NULL, ..., FUN = xyplot, y.same = TRUE, x.same = NA, layout = NULL, merge.legends = FALSE) { if (length(x) == 0) return(NULL) ## NOTE lapply here causes problems with eval.parent and `...` later. #objs <- lapply(x, FUN, data = data, ...) objs <- vector(mode = "list", length = length(x)) for (i in as.numeric(seq_along(x))) { ## this is what we had previously, but it seemed to cause failures ## in complex call structures (e.g. pch=pch ==> object 'pch' not found) ## (use substitute to get reasonable ylab) #objs[[i]] <- eval.parent(substitute(FUN(x[[i]], data = data, ...))) ## check for 'data' to avoid warnings in e.g. qqmath.numeric objs[[i]] <- if (!is.null(data)) FUN(x[[i]], data = data, ...) else FUN(x[[i]], ...) } names(objs) <- names(x) ok <- unlist(lapply(objs, inherits, "trellis")) if (any(!ok)) stop("FUN returned object of class ", toString(class(objs[[ which(!ok)[1] ]])), ", not trellis.") ans <- do.call("c", c(objs, list(x.same = x.same, y.same = y.same, layout = layout, merge.legends = merge.legends))) ans$call <- match.call() ans } c.trellis <- function(..., x.same = NA, y.same = NA, layout = NULL, merge.legends = FALSE, recursive = FALSE) { objs <- list(...) if (length(objs) == 0) return(NULL) if (length(objs) == 1) { ## only one object obj <- objs[[1]] ## set dimnames if given and only one panel if (!is.null(names(objs)) && (prod(dim(obj)) == 1)) rownames(obj) <- names(objs) return(obj) } if (length(objs) > 2) { ## merge first two objects, and call again first2Merged <- do.call("c.trellis", c(objs[1:2], list(x.same = x.same, y.same = y.same, merge.legends = merge.legends))) return(do.call("c.trellis", c(list(first2Merged), objs[-(1:2)], list(x.same = x.same, y.same = y.same, layout = layout, merge.legends = merge.legends)))) } ## now exactly 2 objects obj1 <- objs[[1]] obj2 <- objs[[2]] ## number of packets in object, i.e. offset NPACK1 <- prod(dim(obj1)) NPACK2 <- prod(dim(obj2)) ## first panel function panel <- obj1$panel PANEL1 <- if (is.function(panel)) panel else if (is.character(panel)) get(panel) else eval(panel) ## second panel function panel <- obj2$panel PANEL2 <- if (is.function(panel)) panel else if (is.character(panel)) get(panel) else eval(panel) obj1$panel <- function(...) { if (packet.number() <= NPACK1) PANEL1(...) else PANEL2(...) } ## TODO: treat 'prepanel' the same way as 'panel'? ## flatten the trellis objects (make 1 dimensional) flatIC <- function(index.cond) { dim <- sapply(index.cond, length) ic <- do.call(expand.grid, index.cond) if (length(dim) >= 2) ic[,2] <- (ic[,2] - 1) * dim[1] if (length(dim) >= 3) ic[,3] <- (ic[,3] - 1) * prod(dim[1:2]) rowSums(ic) } flatCL <- function(condlevels, newname=NULL) { ## paste names of variables to their values (for strips) #for (i in seq_along(condlevels)) # condlevels[[i]] <- paste(names(condlevels)[i], ## may be NULL # condlevels[[i]], sep=" = ") ## convert shingle levels to character strings condlevels <- lapply(condlevels, as.character) cl <- do.call(expand.grid, condlevels) cl <- apply(cl, 1, paste, sep=" / ") if (!is.null(newname) && (nchar(newname) > 0)) { if (length(cl) == 1) cl <- newname else cl <- paste(newname, cl, sep=": ") } cl } obj1$index.cond <- list(c(flatIC(obj1$index.cond), flatIC(obj2$index.cond) + NPACK1)) obj1$condlevels <- list(c(flatCL(obj1$condlevels, names(objs)[1]), flatCL(obj2$condlevels, names(objs)[2]))) obj1$perm.cond <- 1 ## make scales nominally "free", so they look like original objects makeFreeScales <- function(obj, npack, x.y) { obj[[paste(x.y, "scales", sep=".")]]$relation <- "free" .limits <- paste(x.y, "limits", sep=".") .num.limit <- paste(x.y, "num.limit", sep=".") .used.at <- paste(x.y, "used.at", sep=".") if (is.null(obj[[.limits]])) obj[[.limits]] <- NA if (is.null(obj[[.num.limit]])) obj[[.num.limit]] <- NA if (is.null(obj[[.used.at]])) obj[[.used.at]] <- NA if (!is.list(obj[[.limits]])) { obj[[.limits]] <- rep(list(obj[[.limits]]), length=npack) obj[[.num.limit]] <- rep(list(obj[[.num.limit]]), length=npack) obj[[.used.at]] <- rep(list(obj[[.used.at]]), length=npack) } obj } ## set relations to "free" if the first object has "free" scales ## or if the limits in the two objects are not identical xlimItems <- c("x.limits", "x.num.limit", "x.used.at") ylimItems <- c("y.limits", "y.num.limit", "y.used.at") if (is.na(x.same)) { x.same <- FALSE if (!is.list(obj1$x.limits) && identical(unclass(obj1)[xlimItems], unclass(obj2)[xlimItems])) x.same <- NA } if (is.na(y.same)) { y.same <- FALSE if (!is.list(obj1$y.limits) && identical(unclass(obj1)[ylimItems], unclass(obj2)[ylimItems])) y.same <- NA } if (identical(x.same, FALSE) || is.list(obj1$x.limits)) { obj1 <- makeFreeScales(obj1, npack=NPACK1, x.y="x") obj2 <- makeFreeScales(obj2, npack=NPACK2, x.y="x") obj1$x.limits <- c(obj1$x.limits, obj2$x.limits) obj1$x.num.limit <- c(obj1$x.num.limit, obj2$x.num.limit) obj1$x.used.at <- c(obj1$x.used.at, obj2$x.used.at) } if (identical(y.same, FALSE) || is.list(obj1$y.limits)) { obj1 <- makeFreeScales(obj1, npack=NPACK1, x.y="y") obj2 <- makeFreeScales(obj2, npack=NPACK2, x.y="y") obj1$y.limits <- c(obj1$y.limits, obj2$y.limits) obj1$y.num.limit <- c(obj1$y.num.limit, obj2$y.num.limit) obj1$y.used.at <- c(obj1$y.used.at, obj2$y.used.at) } ## merge common panel args into panel.args ## check for identical() args commonNames <- intersect(names(obj1$panel.args.common), names(obj2$panel.args.common)) identNames <- commonNames[unlist(lapply(commonNames, function(x) identical(obj1$panel.args.common[[x]], obj2$panel.args.common[[x]])))] obj1Common <- names(obj1$panel.args.common) %in% identNames obj2Common <- names(obj2$panel.args.common) %in% identNames obj1$panel.args <- lapply(obj1$panel.args, c, obj1$panel.args.common[!obj1Common]) obj2$panel.args <- lapply(obj2$panel.args, c, obj2$panel.args.common[!obj2Common]) obj1$panel.args.common <- obj1$panel.args.common[obj1Common] ## the actual data obj1$panel.args <- c(obj1$panel.args, obj2$panel.args) obj1$packet.sizes <- c(obj1$packet.sizes, obj2$packet.sizes) ## some prepanel functions require a 'subscripts' argument in each 'panel.args' if ("subscripts" %in% c(names(formals(obj1$prepanel.default)), names(formals(obj1$prepanel)))) { for (i in seq_along(obj1$panel.args)) { if ("subscripts" %in% names(obj1$panel.args[[i]]) == FALSE) { obj1$panel.args[[i]]$subscripts <- TRUE } } } ## recalculate panel limits using all data if ((isTRUE(x.same) || isTRUE(y.same))) { scalesSpec <- list() if (isTRUE(x.same)) scalesSpec$x$relation <- "same" if (isTRUE(y.same)) scalesSpec$y$relation <- "same" obj1 <- update(obj1, scales = scalesSpec) } if (identical(obj1$strip.left, FALSE)) { ## turn strips on if either object has strips, or names were given if (identical(obj1$strip, FALSE) && !identical(obj2$strip, FALSE)) obj1$strip <- obj2$strip if (identical(obj1$strip, FALSE) && !is.null(names(objs))) obj1$strip <- "strip.default" } ## TODO: can use 'par.settings' from obj2 only for obj2 panels? obj1$par.settings <- modifyList(as.list(obj2$par.settings), as.list(obj1$par.settings)) if (merge.legends) obj1$legend <- mergeTrellisLegends(obj1$legend, obj2$legend) obj1$layout <- layout obj1$call <- call("c", obj1$call, obj2$call, x.same = x.same, y.same = y.same, layout = layout) ## need this to allow further calls to update() to insert arguments: obj1$call <- call("update", obj1$call) obj1 } latticeExtra/R/panel.quantile.R0000644000176000001440000000551511556336425016217 0ustar ripleyusers ## based on the stat_quantile() function in ggplot2 package. panel.quantile <- function(x, y, form = y ~ x, method = "rq", ..., tau = 0.5, ci = FALSE, ci.type = "default", level = 0.95, n = 100, col = plot.line$col, col.se = col, lty = plot.line$lty, lwd = plot.line$lwd, alpha = plot.line$alpha, alpha.se = 0.25, border = NA, superpose = FALSE, ## ignored (do not pass to method()): subscripts, group.number, group.value, type, col.line, col.symbol, fill, pch, cex, font, fontface, fontfamily) { library("quantreg") plot.line <- trellis.par.get("plot.line") if (!missing(col.line)) col <- col.line ## allow 'form' to be passed as the first argument missing.x <- missing(x) if (!missing.x && inherits(x, "formula")) { form <- x missing.x <- TRUE } ## use 'x' and 'y' if given ## otherwise try to find them in the formula environment if (missing.x) x <- environment(form)$x if (missing(y)) y <- environment(form)$y ok <- is.finite(x) & is.finite(y) if (sum(ok) < 1) return() x <- as.numeric(x)[ok] y <- as.numeric(y)[ok] mod <- do.call(method, c(alist(form, tau = tau, data = list(x = x, y = y)), list(...))) xseq <- seq(min(x), max(x), length = n) pred <- predict(mod, data.frame(x = xseq), interval = if (ci) "confidence" else "none", type = ci.type, level = level) pred <- as.matrix(pred) if (ci && ncol(pred) > 1) { panel.polygon(x = c(xseq, rev(xseq)), y = c(pred[,"lower"], rev(pred[,"higher"])), col = col.se, alpha = alpha.se, border = border) pred <- pred[, "fit", drop = FALSE] } if (superpose) { for (i in 1:NCOL(pred)) { line <- Rows(trellis.par.get("superpose.line"), i) panel.lines(xseq, pred[,i], col = line$col, alpha = line$alpha, lty = line$lty, lwd = line$lwd) } } else { apply(pred, 2, panel.lines, x = xseq, col = col, alpha = alpha, lty = lty, lwd = lwd) } } ## moving quantiles #L.rollquantile <- function(probs = c(0.05, 0.5, 0.95), width, # alpha = 0.25, ...) #{ # stopifnot(require("zoo")) # z <- zoo(y, x) # pred <- rollapply(z, width = width, quantile, probs = probs, # na.rm = TRUE) # apply(pred, 2, panel.lines, x = time(pred), col = col) #} ## quantile regression with smoothness by mgcv # L.quantile <- function(probs = c(0.05, 0.5, 0.95), n = 100, # alpha = 0.25, ss = FALSE, lambda = NULL, ...) # { # mod <- rqss(y ~ rqss(x), tau = probs, lambda = lambda) latticeExtra/R/panel.tskernel.R0000644000176000001440000000146311403245152016205 0ustar ripleyusers panel.tskernel <- function(x, y, ..., width = NROW(x) %/% 10 + 1, n = 300, c = 1, sides = 2, circular = FALSE, kern = kernel("daniell", rep(floor((width/sides)/sqrt(c)), c))) { if (!missing(kern)) .Deprecated("The 'kern' argument to panel.tskernel is Deprecated. Use simpleSmoothTs directly.") if (!missing(y)) { x <- as.numeric(x) y <- as.numeric(y) stopifnot(NCOL(x) == 1) if (diff(range(diff(x))) > getOption("ts.eps")) stop("'x' should be a regular series") x <- ts(y, start = x[1], end = tail(x,1), deltat = diff(x[1:2])) } x <- as.ts(x) s <- simpleSmoothTs(x, width = width, c = c, sides = sides, circular = circular, kern = kern, n = n) panel.lines(s, ...) } latticeExtra/R/horizonplot.R0000644000176000001440000001032311647447070015657 0ustar ripleyusers## ## Copyright (c) 2010 Felix Andrews ## GPL version 2 or newer horizonplot <- function(x, data, ...) UseMethod("horizonplot") horizonplot.default <- function(x, data = NULL, ..., horizonscale = NA, origin = function(y) na.omit(y)[1], colorkey = FALSE, legend = NULL, panel = panel.horizonplot, prepanel = prepanel.horizonplot, col.regions = c("#B41414","#E03231","#F7A99C","#9FC8DC","#468CC8","#0165B3"), strip = FALSE, strip.left = TRUE, par.strip.text = list(cex = 0.6), colorkey.digits = 3, #layout = c(1, NA), ## TODO pending new lattice release groups = NULL, default.scales = list(y = list(relation = "free", axs = "i", draw = FALSE, tick.number = 2))) { if (!is.null(groups)) stop("'groups' does not work in this plot") ans <- xyplot(x, data = data, ..., origin = origin, horizonscale = horizonscale, panel = panel, prepanel = prepanel, col.regions = col.regions, strip = strip, strip.left = strip.left, par.strip.text = par.strip.text, #layout = layout, default.scales = default.scales) ans$call <- match.call() ## add colorkey if (isTRUE(colorkey)) { colorkey <- list() } if (is.list(colorkey)) { if (ans$y.scales$relation == "same") { origin <- ans$y.limits[1] horizonscale <- diff(ans$y.limits) } if (is.na(horizonscale)) { labels <- expression( - 3 * Delta[i], - 2 * Delta[i], - 1 * Delta[i], 0, + 1 * Delta[i], + 2 * Delta[i], + 3 * Delta[i], 0) if (is.numeric(origin)) { labels[4] <- origin } else { labels[4] <- "origin" } } else { if (is.numeric(origin)) { labels <- round(origin + (-3:3) * horizonscale, colorkey.digits) } else { labels <- paste(ifelse(-3:3>=0,"+","-"), round(abs(-3:3) * horizonscale, colorkey.digits)) labels[4] <- "origin" } } ii <- round((0:5 / 5) * (length(col.regions)-1)) + 1 colorkey <- modifyList(list(col = col.regions[ii], at = -3:3, labels = list(labels = labels, at = -3:3)), colorkey) space <- colorkey$space if (is.null(space)) space <- "right" if (is.null(legend)) legend <- list() legend[[space]] <- list(fun = "draw.colorkey", args = list(colorkey)) ans <- update(ans, legend = legend) } ans } panel.horizonplot <- function(x, y, ..., border = NA, col.regions = c("#B41414","#E03231","#F7A99C","#9FC8DC","#468CC8","#0165B3"), origin) ## catch origin, don't pass to panel.xyarea! { regions <- trellis.par.get("regions") origin <- current.panel.limits()$y[1] scale <- diff(current.panel.limits()$y) ## ordered for drawing, from least extreme to most extreme sections <- c(0, -1, 1, -2, 2, -3) ## these are the lower bounds ii <- round(((sections + 3) / 5) * (length(col.regions)-1)) + 1 col <- col.regions[ii] for (i in seq_along(sections)) { section <- sections[i] yi <- y if (section < 0) { yi <- origin + origin - y section <- abs(section) - 1 } baseline <- origin + section * scale if (all(yi <= baseline, na.rm = TRUE)) next yi <- yi - baseline yi <- origin + pmax(pmin(yi, scale), 0) panel.xyarea(x, yi, border = border, col = col[i], col.line = col[i], ...) } } prepanel.horizonplot <- function(x, y, ..., horizonscale = NA, origin = function(y) na.omit(y)[1]) { if (is.function(origin)) origin <- origin(y) ans <- prepanel.default.xyplot(x, y, ...) if (is.na(horizonscale)) horizonscale <- max(abs(ans$ylim - origin)) / 3 ans$ylim <- origin + c(0, horizonscale) ans } latticeExtra/R/doubleYScale.R0000644000176000001440000003221012203055637015633 0ustar ripleyusers## ## Copyright (c) 2008 Felix Andrews ## GPL version 2 or newer doubleYScale <- function(obj1, obj2, use.style = TRUE, style1 = if (use.style) 1, style2 = if (use.style) 2, add.axis = TRUE, add.ylab2 = FALSE, text = NULL, auto.key = if (!is.null(text)) list(text, points = points, lines = lines, ...), points = FALSE, lines = TRUE, ..., under = FALSE) { stopifnot(inherits(obj1, "trellis")) stopifnot(inherits(obj2, "trellis")) if (any(style1 == 0)) style1 <- NULL if (any(style2 == 0)) style2 <- NULL ## force same x scales #xlim1 <- obj1$x.limits #if (is.list(xlim1)) # xlim1 <- rep(xlim1, length = prod(dim(obj2))) #obj2 <- update(obj2, xlim = xlim1, ylim = obj2$y.limits) ## TODO - ylim only here to workaround bug in lattice 0.17-15 if (!is.null(auto.key)) { space <- "top" if (!is.null(auto.key$space)) space <- auto.key$space auto.key$space <- NULL keyLeg <- list(space = list(fun = "drawSimpleKey", args = auto.key)) names(keyLeg) <- space obj1 <- update(obj1, legend = keyLeg) } ## merge legends obj1$legend <- mergeTrellisLegends(obj1$legend, obj2$legend) if (add.ylab2) { ## add ylab2 as a 'legend' (idea from John Maindonald) ## draw both ylabs in their style, if specified ylabStyledGrob <- function(label, style) { textGrob(label, y = 0.5, rot = 90, gp = if (!is.null(style)) gpar(col = trellis.par.get("superpose.line")$col[style])) } is.characterOrExpression <- function(x) is.character(x) || is.expression(x) if (!is.null(style1)) { ylab1 <- obj1$ylab if (is.list(ylab1)) ylab1 <- obj1$ylab.default if (is.characterOrExpression(ylab1)) { obj1$legend <- mergeTrellisLegends(obj1$legend, list(left = list(fun = ylabStyledGrob, args = list(label = ylab1, style = style1))), vertical = FALSE) obj1$ylab <- expression(NULL) } } ## TODO: use ylab.right from lattice 0.19-6 ylab2 <- obj2$ylab if (is.list(ylab2)) ylab2 <- obj2$ylab.default if (is.characterOrExpression(ylab2)) { obj1$legend <- mergeTrellisLegends(list(right = list(fun = ylabStyledGrob, args = list(label = ylab2, style = style2))), obj1$legend, vertical = FALSE) } } if (add.axis == FALSE) { ## if not drawing a second axis, nothing to do but... foo <- obj1 + as.layer(obj2, style = style2, x.same = TRUE, y.same = FALSE, axes = NULL, under = under) } else { ## need to specify padding to draw second y axis yAxPad <- list(layout.widths = list( axis.left = list(x = 2.5, units = "char"), axis.right = list(x = 3, units = "char"))) dummy <- update(obj1, panel = function(...) NULL, scales = list(y = list(draw = FALSE)), lattice.options = yAxPad) foo <- dummy + as.layer(obj1, style = style1, x.same = TRUE, y.same = FALSE, axes = "y", out = TRUE, opp = FALSE) + as.layer(obj2, style = style2, x.same = TRUE, y.same = FALSE, axes = "y", out = TRUE, opp = TRUE, under = under) } foo$call <- match.call() foo } as.layer.trellis <- function(x, x.same = TRUE, y.same = TRUE, axes = c(if (!x.same) "x", if (!y.same) "y"), opposite = TRUE, outside = FALSE, theme = x$par.settings, ...) { if (identical(axes, TRUE)) axes <- c("x", "y") if (identical(axes, FALSE)) axes <- NULL opposite <- rep(opposite, length = 2) outside <- rep(outside, length = 2) if (x.same && y.same) { ## simply run the panel function in existing panel viewport return(layer({ packet.number <- min(packet.number(), prod(dim(x))) do.call(x$panel, trellis.panelArgs(x, packet.number)) }, data = list(x = x), theme = theme, ...)) } ## else ## take one or more scales from layered object (so new viewport) ## draw panels and axes from this trellis object layer({ packet.number <- min(packet.number(), prod(dim(x))) ## axis details... ## this all copied from lattice:::plot.trellis ## TODO: this is horrible; can use the axis function instead? x.relation.same <- x$x.scales$relation == "same" y.relation.same <- x$y.scales$relation == "same" xscale.comps <- if (x.relation.same) x$xscale.components(lim = x$x.limits, top = TRUE, ## rest passed on to ## calculateAxisComponents ## in the default ## case: at = x$x.scales$at, used.at = x$x.used.at, num.limit = x$x.num.limit, labels = x$x.scales$labels, logsc = x$x.scales$log, abbreviate = x$x.scales$abbr, minlength = x$x.scales$minl, n = x$x.scales$tick.number, format.posixt = x$x.scales$format) else x$xscale.components(lim = x$x.limits[[packet.number]], top = FALSE, ## rest passed on to ## calculateAxisComponents ## in the default ## case: at = if (is.list(x$x.scales$at)) x$x.scales$at[[packet.number]] else x$x.scales$at, used.at = x$x.used.at[[packet.number]], num.limit = x$x.num.limit[[packet.number]], labels = if (is.list(x$x.scales$labels)) x$x.scales$labels[[packet.number]] else x$x.scales$labels, logsc = x$x.scales$log, abbreviate = x$x.scales$abbr, minlength = x$x.scales$minl, n = x$x.scales$tick.number, format.posixt = x$x.scales$format) yscale.comps <- if (y.relation.same) x$yscale.components(lim = x$y.limits, right = TRUE, ## rest passed on to ## calculateAxisComponents ## in the default ## case: at = x$y.scales$at, used.at = x$y.used.at, num.limit = x$y.num.limit, labels = x$y.scales$labels, logsc = x$y.scales$log, abbreviate = x$y.scales$abbr, minlength = x$y.scales$minl, n = x$y.scales$tick.number, format.posixt = x$y.scales$format) else x$yscale.components(lim = x$y.limits[[packet.number]], right = FALSE, ## rest passed on to ## calculateAxisComponents ## in the default ## case: at = if (is.list(x$y.scales$at)) x$y.scales$at[[packet.number]] else x$y.scales$at, used.at = x$y.used.at[[packet.number]], num.limit = x$y.num.limit[[packet.number]], labels = if (is.list(x$y.scales$labels)) x$y.scales$labels[[packet.number]] else x$y.scales$labels, logsc = x$y.scales$log, abbreviate = x$y.scales$abbr, minlength = x$y.scales$minl, n = x$y.scales$tick.number, format.posixt = x$y.scales$format) xscale <- xscale.comps$num.limit yscale <- yscale.comps$num.limit ## maybe over-ride with original limits if (x.same) xscale <- current.panel.limits()$xlim if (y.same) yscale <- current.panel.limits()$ylim ## do panel(); need a new viewport with scales from 'x' pushViewport(viewport(xscale = xscale, yscale = yscale)) do.call(x$panel, trellis.panelArgs(x, packet.number)) ## use axis components from the standard side only xscale.comps$top <- TRUE yscale.comps$right <- TRUE x.comp.list <- xscale.comps$bottom y.comp.list <- yscale.comps$left ## axes viewport (clip = "off" for outside axes) ## note: to draw an outside axis at top when there are stips: ## should really do it in strip.column.row.off pushViewport(viewport(xscale = xscale, yscale = yscale, clip = "off")) if (("x" %in% axes) && is.list(x.comp.list) && x$x.scales$draw) { comp.list <- x.comp.list scales.tck <- x$x.scales$tck[1] rot <- as.numeric(x$x.scales$rot)[1] if (outside[1]) { ## use axis.default where possible (i.e. where outside=TRUE) ## because it handles labels well in multi-panel layouts x$x.scales$alternating <- 3 x$axis(side = if (opposite[1]) "top" else "bottom", scales = x$x.scales, components = xscale.comps, as.table = x$as.table, rot = rot) } else { panel.axis(side = if (opposite[1]) "top" else "bottom", at = comp.list$ticks$at, labels = comp.list$labels$labels, #tick = do.ticks, #draw.labels = do.labels, check.overlap = comp.list$labels$check.overlap, outside = outside[1], half = FALSE, tck = scales.tck * comp.list$ticks$tck, rot = rot) } } if (("y" %in% axes) && is.list(y.comp.list) && x$y.scales$draw) { comp.list <- y.comp.list scales.tck <- x$y.scales$tck[1] rot <- as.numeric(x$y.scales$rot)[1] if (outside[2]) { ## use axis.default where possible (i.e. where outside=TRUE) ## because it handles labels well in multi-panel layouts x$y.scales$alternating <- 3 x$axis(side = if (opposite[2]) "right" else "left", scales = x$y.scales, components = yscale.comps, as.table = x$as.table, rot = rot) } else { panel.axis(side = if (opposite[2]) "right" else "left", at = comp.list$ticks$at, labels = comp.list$labels$labels, #tick = do.ticks, #draw.labels = do.labels, check.overlap = comp.list$labels$check.overlap, outside = outside[2], half = FALSE, tck = scales.tck * comp.list$ticks$tck, rot = rot) } } upViewport(2) }, data = list(x = x, x.same = x.same, y.same = y.same, axes = axes, opposite = opposite, outside = outside), theme = theme, ...) } latticeExtra/R/custom.theme.R0000644000176000001440000000426711324555514015710 0ustar ripleyusers ## Construct a custom theme based on supplied colors. Defaults to ## colors from RColorBrewer custom.theme <- function(symbol = brewer.pal(n = 8, name = "Dark2"), fill = brewer.pal(n = 12, name = "Set3"), region = brewer.pal(n = 11, name = "Spectral"), reference = "#e8e8e8", bg = "transparent", fg = "black", ...) { theme <- list(plot.polygon = list(col = fill[1], border = fg[1]), box.rectangle = list(col= symbol[1]), box.umbrella = list(col= symbol[1]), dot.line = list(col = reference), dot.symbol = list(col = symbol[1]), plot.line = list(col = symbol[1]), plot.symbol = list(col= symbol[1]), regions = list(col = colorRampPalette(region)(100)), reference.line = list(col = reference), superpose.line = list(col = symbol), superpose.symbol = list(col = symbol), superpose.polygon = list(col = fill, border = fg), background = list(col = bg), add.line = list(col = fg), add.text = list(col = fg), box.dot = list(col = fg), axis.line = list(col = fg), axis.text = list(col = fg), strip.border = list(col = fg), box.3d = list(col = fg), par.xlab.text = list(col = fg), par.ylab.text = list(col = fg), par.zlab.text = list(col = fg), par.main.text = list(col = fg), par.sub.text = list(col = fg)) modifyList(modifyList(standard.theme("pdf"), theme), simpleTheme(...)) } custom.theme.2 <- function(...) { doit <- function(symbol = brewer.pal(n = 9, name = "Set1")[c(2:1, 3:5, 7:9)], ## blue first fill = brewer.pal(n = 8, name = "Accent"), region = brewer.pal(n = 11, name = "RdBu"), ...) { custom.theme(symbol = symbol, fill = fill, region = region, ...) } doit(...) } latticeExtra/R/ggplot2like.theme.R0000644000176000001440000000501211462212124016574 0ustar ripleyusers ## based on some of the default themes and scales used in ggplot2 by Hadley Wickham. ggplot2like.opts <- function() { list(default.args = list(axis = axis.grid, xscale.components = xscale.components.subticks, yscale.components = yscale.components.subticks, between = list(x = 0.4, y = 0.4)) ) } ggplot2like <- function(..., n = 6, h = c(0,360) + 15, l = 65, c = 100, h.start = 0, direction = 1, low = "#3B4FB8", high = "#B71B1A", space = "rgb") { ## copied from ggplot2::scale_colour_hue rotate <- function(x) (x + h.start) %% 360 * direction if ((diff(h) %% 360) < 1) { h[2] <- h[2] - 360 / n } colseq <- hcl(h = rotate(seq(h[1], h[2], length = n)), c = c, l = l) ## copied from ggplot2::scale_colour_gradient ramp <- colorRampPalette(c(low, high), space = space, interpolate = "linear")(100) theme <- custom.theme(symbol = colseq, fill = colseq, region = ramp) ## based on ggplot2::theme_gray theme <- modifyList(theme, list(axis.line = list(col = "transparent"), axis.text = list(cex = 0.8, lineheight = 0.9, col = "grey50"), panel.background = list(col = "grey90"), reference.line = list(col = "white"), strip.background = list(col = c("grey80", "grey70", "grey60")), strip.shingle = list(col = c("grey60", "grey50", "grey40")), strip.border = list(col = "transparent"), add.text = list(cex = 0.8)) ) ## misc theme <- modifyList(theme, list(plot.symbol = list(col = "black", pch = 19, cex = 0.6), superpose.symbol = list(pch = 19, cex = 0.6), plot.line = list(col = "black"), plot.polygon = list(col = "grey20", border = "transparent"), superpose.polygon = list(border = "transparent"), box.dot = list(col = "grey20", pch = "|"), box.rectangle = list(fill = "white", col = "grey20"), box.umbrella = list(col = "grey20", lty = 1), dot.line = list(col = "white"), dot.symbol = list(col = "black", pch = 19)) ) ## custom over-rides modifyList(theme, simpleTheme(...)) } latticeExtra/R/rootogram.R0000644000176000001440000000561212203055637015277 0ustar ripleyusers prepanel.rootogram <- function(x, y = table(x), dfun = NULL, transformation = sqrt, hang = TRUE, probability = TRUE, ...) { plot.line <- trellis.par.get("plot.line") stopifnot(is.function(dfun)) if (probability) y <- y / sum(y) yy <- transformation(y) xx <- sort(unique(x)) dotArgs <- list(...) dfunArgs <- names(formals(dfun)) if (!("..." %in% dfunArgs)) dotArgs <- dotArgs[dfunArgs[-1]] dd <- transformation(do.call(dfun, c(list(xx), dotArgs))) list(xlim = range(xx), ylim = if (hang) range(dd, dd-yy, 0) else range(dd, yy, 0), dx = diff(xx), dy = diff(dd)) } panel.rootogram <- function(x, y = table(x), dfun = NULL, col = plot.line$col, lty = plot.line$lty, lwd = plot.line$lwd, alpha = plot.line$alpha, transformation = sqrt, hang = TRUE, probability = TRUE, ...) { plot.line <- trellis.par.get("plot.line") ref.line <- trellis.par.get("reference.line") stopifnot(is.function(dfun)) if (probability) y <- y / sum(y) yy <- transformation(y) xx <- sort(unique(x)) dotArgs <- list(...) dfunArgs <- names(formals(dfun)) if (!("..." %in% dfunArgs)) dotArgs <- dotArgs[dfunArgs[-1]] dd <- transformation(do.call(dfun, c(list(xx), dotArgs))) panel.abline(h = 0, col = ref.line$col, lty = ref.line$lty, lwd = ref.line$lwd, alpha = ref.line$alpha) panel.segments(xx, if (hang) dd else 0, xx, if (hang) (dd - yy) else yy, col = col, lty = lty, lwd = lwd, alpha = alpha, ...) panel.lines(xx, dd) } rootogram <- function(x, ...) UseMethod("rootogram") rootogram.formula <- function(x, data = parent.frame(), ylab = expression(sqrt(P(X == x))), prepanel = prepanel.rootogram, panel = panel.rootogram, ..., probability = TRUE) { if (!probability && missing(ylab)) ylab <- NULL if (length(x) == 2) ## formula like ~ x foo <- densityplot(x, data, prepanel = prepanel, panel = panel, ylab = ylab, ..., probability = probability) else ## formula like y ~ x foo <- xyplot(x, data, prepanel = prepanel, panel = panel, ylab = ylab, ..., probability = probability) foo$call <- sys.call(sys.parent()); foo$call[[1]] <- quote(rootogram) foo } latticeExtra/R/panel.lmlineq.R0000644000176000001440000001266211403245152016022 0ustar ripleyusers## ## Copyright (c) 2009 Felix Andrews ## GPL version 2 or newer panel.ablineq <- function(a = NULL, b = 0, h = NULL, v = NULL, reg = NULL, coef = NULL, pos = if (rotate) 1 else NULL, offset = 0.5, adj = NULL, at = 0.5, x = NULL, y = NULL, rotate = FALSE, srt = 0, label = NULL, varNames = alist(y = y, x = x), varStyle = "italic", fontfamily = "serif", digits = 3, r.squared = FALSE, sep = ", ", sep.end = "", col, col.text = add.text$col, col.line = add.line$col, ..., reference = FALSE) { if (!is.null(label)) varStyle <- NULL ## work out colours for text and line add.text <- trellis.par.get("add.text") add.line <- if (reference) trellis.par.get("reference.line") else trellis.par.get("add.line") if (!missing(col) && missing(col.line)) col.line <- col if (!missing(col) && missing(col.text)) col.text <- col ## draw the line panel.abline(a = a, b = b, h = h, v = v, reg = reg, coef = coef, col = col.line, ..., reference = reference) ## extract r.squared from model object if any if (!is.null(reg)) { a <- reg } if (isTRUE(r.squared)) { if (is.object(a) || is.list(a)) { r.squared <- round(summary(a)$r.squared, digits) } else { warning("r.squared = TRUE requires a model object") } } ## work out equation coefficients ## the following copied from lattice::panel.abline if (is.object(a) || is.list(a)) { p <- length(coefa <- as.vector(coef(a))) if (p > 2) warning("only using the first two of ", p, "regression coefficients") islm <- inherits(a, "lm") noInt <- if (islm) !as.logical(attr(stats::terms(a), "intercept")) else p == 1 if (noInt) { a <- 0 b <- coefa[1] } else { a <- coefa[1] b <- if (p >= 2) coefa[2] else 0 } } if (!is.null(coef)) { if (!is.null(a)) warning("'a' and 'b' are overridden by 'coef'") a <- coef[1] b <- coef[2] } if (length(h <- as.numeric(h)) > 0) { if (!is.null(a)) warning("'a' and 'b' are overridden by 'h'") a <- h[1] b <- 0 } if (length(a) > 1) { b <- a[2] a <- a[1] } ## construct the equation label if (length(as.numeric(v)) > 0) { ## vertical line (special case) if (!is.null(a)) warning("'a' and 'b' are overridden by 'v'") if (is.null(x)) x <- v[1] if (is.null(y)) y <- convertY(unit(at, "npc"), "native", TRUE) if (is.null(label)) { v <- signif(v[1], digits) varNames <- c(as.list(varNames), v = v) label <- substitute(x == v, varNames) } } else { ## normal a+bx line if (is.null(x)) { ## work out start and end x values of visible line xlim <- current.panel.limits()$xlim ylim <- current.panel.limits()$ylim if (b == 0) { xx <- xlim } else { xx <- range((ylim - a) / b) xx <- pmin(max(xlim), xx) xx <- pmax(min(xlim), xx) } ## x position as fractional distance along line x <- min(xx) + at * abs(diff(xx)) } if (is.null(y)) y <- a + b * x if (is.null(label)) { a <- round(a, digits) b <- round(b, digits) varNames <- c(as.list(varNames), a = a, b = b) if (b == 0) { label <- substitute(y == a, varNames) } else if (a == 0) { label <- substitute(y == b * x, varNames) } else if (b > 0) { label <- substitute(y == a + b * x, varNames) } else { varNames$b <- abs(b) label <- substitute(y == a - b * x, varNames) } } } if (rotate) { if (length(as.numeric(v)) > 0) { srt <- 90 } else { ## aspect ratio with respect to native coordinates asp <- with(lapply(current.panel.limits(), diff), ylim / xlim) ## aspect ratio of panel at *current* device size asp.cm <- with(lapply(current.panel.limits("cm"), diff), ylim / xlim) grad <- b * (asp.cm / asp) srt <- 180 * atan(grad) / pi } } if (is.numeric(r.squared)) { ## add R^2 = ... to label rsq.expr <- substitute(italic(R)^2 == z, list(z = r.squared)) label <- call("paste", label, sep, rsq.expr, sep.end) } ## wrap 'varStyle' function (or multiple functions) around label expression if (!is.null(varStyle)) { while (length(varStyle) > 0) { label <- call(varStyle[1], label) varStyle <- varStyle[-1] } } panel.text(x = x, y = y, labels = label, pos = pos, offset = offset, adj = adj, fontfamily = fontfamily, srt = srt, col = col.text, ...) } panel.lmlineq <- function(x, y, ...) { if (length(x) > 1) panel.ablineq(lm(as.numeric(y) ~ as.numeric(x)), ...) } latticeExtra/R/panel.key.R0000644000176000001440000000071611403245152015146 0ustar ripleyusers ## extracted and simplified from lattice:::plot.trellis panel.key <- function(text, ..., corner = c(0, 1), x = corner[1], y = corner[2]) { key <- simpleKey(text, ...) key.gf <- draw.key(key, draw = FALSE) vp <- viewport(x = unit(x, "npc") + unit(0.5 - corner[1], "grobwidth", list(key.gf)), y = unit(y, "npc") + unit(0.5 - corner[2], "grobheight", list(key.gf))) pushViewport(vp) grid.draw(key.gf) upViewport() } latticeExtra/R/dendrogramGrob.R0000644000176000001440000001630111603566525016225 0ustar ripleyusers ## FIXME: want a convenience function that behaves like heatmap() ## Goal: create a grob that could usefully represent a dendrogram ## can a dendrogram node have more than 2 children? ## long term FIXME: use better graph layout algorithms? ## returns a modified dendrogram object, with an extra attribute ## 'position=c(x, y)' for each node ## FIXME: should have and honor 'center=FALSE' argument addPositions <- function(x, order) { if (!is.null(attr(x, "position"))) return(x) else if (is.leaf(x)) { attr(x, "position") <- list(x = which(x == order)[1], y = attr(x, "height")) return(x) } else { for (i in seq_along(x)) { x[[i]] <- addPositions(x[[i]], order) } attr(x, "position") <- list(x = mean(sapply(x, function(x) attr(x, "position")$x )), y = attr(x, "height")) return(x) } } ## returns a vector data.frame(x0, y0, x1, y1, ...), to be used in a ## call to segmentsGrob after being combined. The possibility of ## attaching parameters exists, but is not (or barely) tested edgeLocation <- function(pos.node, pos.child, type, ...) { switch(type, rectangle = { data.frame(x0 = c(pos.node$x, pos.child$x), y0 = c(pos.node$y, pos.node$y), x1 = c(pos.child$x, pos.child$x), y1 = c(pos.node$y, pos.child$y), ..., stringsAsFactors = FALSE) ## 'col' can be strings }, triangle = { data.frame(x0 = pos.node$x, y0 = pos.node$y, x1 = pos.child$x, y1 = pos.child$y, ..., stringsAsFactors = FALSE) ## 'col' can be strings }) } dendrogramGrob <- function(x, ord = order.dendrogram(x), side = c("right", "top"), add = list(), size = 5, size.add = 1, type = c("rectangle", "triangle"), ...) { ## Note: We use dendrapply() a couple of times. The return value ## is unused (we are only interested in side-effects), but certain ## types of return values of FUN can make dendrapply() go into an ## infinite loop. To be safe, we return original node. if (size <= 0) return(textGrob(label = NULL)) type <- match.arg(type) native.height <- attr(x, "height") native.xscale <- c(1, length(ord)) + c(-1, 1) * lattice.getOption("axis.padding")$factor xpos <- addPositions(x, ord) ## version of x with positions ## how many non-leaf nodes are there? For a binary tree, n-1, ## where n is the number of leaves (join any 2 ==> nodes++, ## leaves--), but we're more tolerant nnodes <- 0 dendrapply(xpos, function(x) { if (!is.leaf(x)) nnodes <<- nnodes + 1 x }) xseg <- vector(mode = "list", length = nnodes) ## FIXME: add something similar to have nodes drawn as points i <- 0 getSegments <- function(x, ...) { if (!is.leaf(x)) { i <<- i + 1 pos.node <- attr(x, "position") xseg[[i]] <<- do.call(rbind, lapply(x, function(child) { pos.child <- attr(child, "position") edgeLocation(pos.node, pos.child, type = type, ...) })) } x } dendrapply(xpos, getSegments) all.segs <- do.call(rbind, xseg) ## number of additional indicators nadd <- length(add) nleaf <- length(ord) native.unit <- 1 / diff(native.xscale) # side of one square switch(side, right = { key.layout <- grid.layout(nrow = 1, ncol = 1 + nadd, heights = unit(1, "null"), widths = unit(c(rep(size.add, length = nadd), size), c(rep("lines", nadd), "lines")), respect = FALSE) key.gf <- frameGrob(layout = key.layout) ## key.gf <- placeGrob(key.gf, rectGrob(gp = gpar(fill = "pink"))) for (i in seq_len(nadd)) { addi <- add[[i]] typei <- names(add)[i] switch(typei, rect = { key.gf <- placeGrob(key.gf, rectGrob(y = (order(ord) - native.xscale[1]) * native.unit, height = native.unit, gp = do.call(gpar, addi)), row = 1, col = i) }) } key.gf <- placeGrob(key.gf, with(all.segs, segmentsGrob((y0 / native.height), (x0 - native.xscale[1]) * native.unit, (y1 / native.height), (x1 - native.xscale[1]) * native.unit)), row = 1, col = 1 + nadd) key.gf }, top = { key.layout <- grid.layout(nrow = 1 + nadd, ncol = 1, widths = unit(1, "null"), heights = unit(c(size, rep(size.add, length = nadd)), c("lines", rep("lines", nadd))), respect = FALSE) key.gf <- frameGrob(layout = key.layout) ## key.gf <- placeGrob(key.gf, rectGrob(gp = gpar(fill = "pink"))) for (i in seq_len(nadd)) { addi <- add[[i]] typei <- names(add)[i] switch(typei, rect = { key.gf <- placeGrob(key.gf, rectGrob(x = (order(ord) - native.xscale[1]) * native.unit, width = native.unit, gp = do.call(gpar, addi)), row = 1 + i, col = 1) }) } key.gf <- placeGrob(key.gf, with(all.segs, segmentsGrob((x0 - native.xscale[1]) * native.unit, (y0 / native.height), (x1 - native.xscale[1]) * native.unit, (y1 / native.height))), row = 1, col = 1) key.gf }) } latticeExtra/R/axis.grid.R0000644000176000001440000000376411462212124015154 0ustar ripleyusers axis.grid <- function(side = c("top", "bottom", "left", "right"), ..., ticks = c("default", "yes", "no"), scales, components, line.col) { side <- match.arg(side) ticks <- match.arg(ticks) scales.tck <- switch(side, left = , bottom = scales$tck[1], right = , top = scales$tck[2]) ## only draw major ticks (those corresponding to labels) comps.major <- components mycomps <- components[[side]] if (is.list(mycomps)) { lab <- as.character(mycomps$labels$labels) if (any(lab != "")) { tck <- mycomps$ticks$tck if (any(tck * scales.tck != 0)) { tck <- rep(tck, length = length(lab)) comps.major[[side]]$ticks$tck <- ifelse(lab == "", NA, tck) } } } else { ticks <- "no" } ## use axis.text for ticks because axis.line$col might be transparent axis.text <- trellis.par.get("axis.text") axis.default(side, scales = scales, ticks = ticks, components = comps.major, ..., line.col = axis.text$col) ## now draw grid lines corresponding to axis ticks. ## can only do this with the bottom and right sides; ## otherwise the strip viewports are current, not panel. if (side %in% c("top", "left")) return() if (scales$draw == FALSE) return() ref.line <- trellis.par.get("reference.line") if (side == "bottom") { tck <- abs(mycomps$ticks$tck) panel.refline(v = mycomps$ticks$at, lwd = ref.line$lwd * tck, alpha = ref.line$alpha * tck / max(tck, na.rm = TRUE)) } if (side == "right") { if (!is.list(mycomps)) mycomps <- components[["left"]] tck <- abs(mycomps$ticks$tck) panel.refline(h = mycomps$ticks$at, lwd = ref.line$lwd * tck, alpha = ref.line$alpha * tck / max(tck, na.rm = TRUE)) } } latticeExtra/R/panel.smoother.R0000644000176000001440000000373311556336425016235 0ustar ripleyusers ## based on the stat_smooth() function in ggplot2 package. panel.smoother <- function(x, y, form = y ~ x, method = "loess", ..., se = TRUE, level = 0.95, n = 100, col = plot.line$col, col.se = col, lty = plot.line$lty, lwd = plot.line$lwd, alpha = plot.line$alpha, alpha.se = 0.25, border = NA, ## ignored (do not pass to method()): subscripts, group.number, group.value, type, col.line, col.symbol, fill, pch, cex, font, fontface, fontfamily) { plot.line <- trellis.par.get("plot.line") if (!missing(col.line)) col <- col.line ## allow 'form' to be passed as the first argument missing.x <- missing(x) if (!missing.x && inherits(x, "formula")) { form <- x missing.x <- TRUE } ## use 'x' and 'y' if given ## otherwise try to find them in the formula environment if (missing.x) x <- environment(form)$x if (missing(y)) y <- environment(form)$y ok <- is.finite(x) & is.finite(y) if (sum(ok) < 1) return() x <- as.numeric(x)[ok] y <- as.numeric(y)[ok] data <- list(x = x, y = y) mod <- do.call(method, c(alist(form, data = list(x = x, y = y)), list(...))) ## use the limits of the data, or panel limits, whichever is smaller lims <- current.panel.limits() xrange <- c(max(min(lims$x), min(x)), min(max(lims$x), max(x))) xseq <- seq(xrange[1], xrange[2], length = n) pred <- predict(mod, data.frame(x = xseq), se = se) if (se) { std <- qnorm(level/2 + 0.5) panel.polygon(x = c(xseq, rev(xseq)), y = c(pred$fit - std * pred$se, rev(pred$fit + std * pred$se)), col = col.se, alpha = alpha.se, border = border) pred <- pred$fit } panel.lines(xseq, pred, col = col, alpha = alpha, lty = lty, lwd = lwd) } latticeExtra/R/theeconomist.R0000644000176000001440000001553311462212124015762 0ustar ripleyusers## Implementation Copyright (c) 2009 Felix Andrews ## based on plot style used in The Economist magazine. theEconomist.theme <- function(win.fontfamily = NULL, #"Gill Sans MT" with.bg = FALSE, box = "black", ...) { theme <- list( background = list(col = if (with.bg) "#D5E2E9" else "transparent"), plot.line = list(col = "#00526D", lwd = 2.5), superpose.line = list(col = c("#00526D", "#00A3DB", "#7A2713", "#939598", "#6CCFF6"), lwd = 2.5), plot.symbol = list(col = "#00526D", pch = 16), superpose.symbol = list(col = c("#00526D", "#00A3DB", "#7A2713", "#939598", "#6CCFF6"), pch = 16), plot.polygon = list(col = "#00526D"), superpose.polygon = list(col = c("#5F92A8", "#00526D", "#6CCFF6", "#00A3DB", "#A7A9AC")), regions = list(col = colorRampPalette(brewer.pal(9, "Blues"))(100)), reference.line = list(col = if (with.bg) "white" else "#aaaaaa", lwd = 1.75), dot.line = list(col = if (with.bg) "white" else "#aaaaaa", lwd = 1.75), add.line = list(col = "#ED1C24", lwd = 1.5), axis.line = list(col = box), box.3d = list(col = box), strip.border = list(col = box), strip.background = list(col = if (with.bg) "white" else "#CBDDE6"), strip.shingle = list(col = if (with.bg) "#CBDDE6" else "#00A3DB", alpha = 0.5), par.main.text = list(font = 1, just = "left", x = grid::unit(5, "mm")), par.sub.text = list(font = 1, just = "left", x = grid::unit(5, "mm")), axis.text = list(cex = 0.8), box.dot = list(col = "#00526D", pch = "|", lwd = 1.75), box.rectangle = list(fill = "#00526D", alpha = 0.5, col = "#00526D", lwd = 1.75), box.umbrella = list(col = "#00526D", lty = 1, lwd = 1.75) ) if (.Platform$OS.type == "windows" && !is.null(win.fontfamily)) { windowsFonts(TheEconomistLike = win.fontfamily) theme$grid.pars$fontfamily <- "TheEconomistLike" } else { ## TODO: how do fonts work on linux etc? } modifyList(modifyList(standard.theme("pdf"), theme), simpleTheme(...)) } theEconomist.opts <- function() { list(default.args = list(axis = theEconomist.axis, xscale.components = xscale.components.subticks, between = list(x = 0.8, y = 0.8)), axis.padding = list(numeric = 0, factor = 0.6), skip.boundary.labels = 0, layout.widths = list(axis.left = list(x = 0, units = "char"), axis.right = list(x = 6, units = "char")) ) } theEconomist.axis <- function(side = c("top", "bottom", "left", "right"), scales, components, ..., labels = c("default", "yes", "no"), ticks = c("default", "yes", "no"), line.col) { if (scales$draw == FALSE) return() side <- match.arg(side) labels <- match.arg(labels) ticks <- match.arg(ticks) if (side %in% c("bottom", "top")) { if (side == "top") ticks <- "no" if (scales$relation == "same") { scales$alternating <- 1 ## bottom side only } } if (side %in% c("left", "right")) { ticks <- "no" components[["left"]]$ticks$tck <- 0 if (scales$relation == "same") { scales$alternating <- 2 ## right side only } else { if (side == "right") { labels <- if (scales$draw) "yes" else "no" if (!is.list(components$right)) { components$right <- components$left } } if (side == "left") { ## check for two different axes on left and right if (!is.list(components$right)) { labels <- "no" } } } } ## use axis.text for ticks because axis.line$col might be transparent axis.text <- trellis.par.get("axis.text") axis.default(side, scales = scales, components = components, ..., labels = labels, ticks = ticks, line.col = axis.text$col) ## now draw grid lines corresponding to horizontal axis ticks. ## can only do this with the bottom and right sides; ## otherwise the strip viewports are current, not panel. if (side %in% c("top", "left")) return() if (side == "right") { comp.list <- components[["right"]] if (!is.list(comp.list)) comp.list <- components[["left"]] panel.refline(h = comp.list$ticks$at) ## draw axis line along bottom (assuming transparent axis.line) lims <- current.panel.limits() panel.abline(h = lims$y[1], col = axis.text$col) } } asTheEconomist <- function(x, ..., type = "l", ylab = expression(NULL), xlab = expression(NULL), par.settings = theEconomist.theme(with.bg = with.bg, box = "transparent"), with.bg = FALSE, par.strip.text = list(font = 2)) { ans <- x ## make nice left-aligned title title <- ans$main if (is.null(title)) title <- ans$ylab if (is.null(title)) title <- ans$ylab.default ans <- update(ans, main = title, type = type, ylab = ylab, xlab = xlab, par.settings = par.settings, par.strip.text = par.strip.text, between = list(x = 0.8, y = 0.8), scales = list(y = list(axs = "i", alternating = 2)), skip.boundary.labels = 0, lattice.options = list( layout.widths = list(axis.left = list(x = 0, units = "char"), axis.right = list(x = 6, units = "char")) ) ) ## these do not get through update() ans$axis <- theEconomist.axis ans$xscale.components <- xscale.components.subticks ans$call <- match.call() ans } genGillSans <- function() { ## generate AFM font metrics of GillSans - for ps/pdf ## TODO: is there a similar looking free/open font? oldwd <- getwd() on.exit(setwd(oldwd)) setwd(system.file("afm", package = "grDevices")) fnames <- c("GIL_____", "GILB____", "GILI____", "GILBI___") for (fn in fnames) { system(sprintf("ttf2afm -o %s.afm %s.TTF", fn, file.path(Sys.getenv("windir"), "Fonts", fn))) system(sprintf("gzip %s.afm", fn)) } TheEconomistLike <- Type1Font("TheEconomistLike", paste(fnames, ".afm", sep = "")) postscriptFonts(TheEconomistLike = TheEconomistLike) pdfFonts(TheEconomistLike = TheEconomistLike) ps.options(fonts = c("sans", "serif", "mono", "Times", "Helvetica", "Courier", "URWHelvetica", "TheEconomistLike")) pdf.options(fonts = ps.options()$fonts) ## TODO: problem: after this, plots generated by bitmap() use wrong font } latticeExtra/R/layer.R0000644000176000001440000002251712203055637014405 0ustar ripleyusers## ## Copyright (c) 2008 Felix Andrews ## GPL version 2 or newer as.layer <- function(x, ...) UseMethod("as.layer") as.layer.layer <- function(x, ...) x layer <- function(..., data = NULL, magicdots = TRUE, exclude = NULL, packets = NULL, rows = NULL, columns = NULL, groups = NULL, style = NULL, force = FALSE, theme = if (force) trellis.par.get() else NULL, under = FALSE, superpose = FALSE) { ## set layer to quoted expressions in `...` foo <- eval(substitute(expression(...))) if (magicdots) { ## The dots `...` are magic: ## pass on only those arguments not named in each call foo <- as.expression(lapply(foo, magicDots, exclude = exclude)) } mostattributes(foo) <- list(data = data, under = under, packets = packets, rows = rows, columns = columns, groups = groups, superpose = superpose, style = style, theme = theme) lay <- list(foo) class(lay) <- c("layer", "trellis") lay } ## convert a call containing `...` to only pass on arguments ## not named in the call magicDots <- function(ocall, exclude = NULL, assume.xy = TRUE) { if (!is.call(ocall)) stop("arguments to layer() should be calls") ## call recursively with any calls inside this one for (i in seq_along(ocall)[-1]) { thisArg <- ocall[[i]] if (missing(thisArg)) ## eg x[,1] next if (is.call(thisArg)) { ## skip function definitions if (identical(thisArg[[1]], as.symbol("function"))) next ocall[[i]] <- Recall(thisArg, exclude = exclude, assume.xy = assume.xy) } } Args <- as.list(ocall)[-1] ## nothing to do if there are no dots in the call idots <- sapply(Args, identical, as.symbol("...")) if (!any(idots)) return(ocall) Args <- Args[!idots] ## nothing to do if there are only dots in the call (unless exclude) if ((length(Args) == 0) && (length(exclude) == 0)) return(ocall) ## assume first argument is 'x' if is un-named, and second 'y' if (assume.xy && (length(Args) > 0)) { if (is.null(names(Args))) names(Args) <- rep("", length = length(Args)) if (identical(names(Args)[1], "")) names(Args)[1] <- "x" if (identical(names(Args)[2], "")) names(Args)[2] <- "y" } if (length(exclude) == 0) { ## simple case mcall <- substitute(do.call(FUN, modifyList(list(...), Args)), list(FUN = ocall[[1]], Args = Args)) } else { ## exclude named arguments from dots mcall <- substitute(do.call(FUN, modifyList(list(...)[!(names(list(...)) %in% exclude)], Args)), list(FUN = ocall[[1]], Args = Args, exclude = exclude)) } mcall } layer_ <- function(...) { ccall <- match.call() ccall$under <- TRUE ccall[[1]] <- quote(layer) eval.parent(ccall) } glayer <- function(...) { ccall <- match.call() ccall$superpose <- TRUE ccall[[1]] <- quote(layer) eval.parent(ccall) } glayer_ <- function(...) { ccall <- match.call() ccall$superpose <- TRUE ccall$under <- TRUE ccall[[1]] <- quote(layer) eval.parent(ccall) } ## to avoid print.trellis print.layer <- function(x, ...) print.default(x, ...) ## to avoid [.trellis and to keep the class attribute "[.layer" <- function (x, i, ...) structure(unclass(x)[i], class = class(x)) "+.trellis" <- function(object, lay) { ocall <- sys.call(sys.parent()); ocall[[1]] <- quote(`+`) stopifnot(inherits(object, "trellis")) lay <- as.layer(lay) if (inherits(object, "layer")) { ## just concatenate lists return(structure(c(unclass(object), unclass(lay)), class = c("layer", "trellis"))) } panel <- if ("panel" %in% names(object$panel.args.common)) object$panel.args.common$panel else object$panel panel <- if (is.function(panel)) panel else if (is.character(panel)) { ## could be just get(panel), but for flattenPanel: ## do not expand original panel function eg panel.xyplot(...) tmp <- function(...) NA body(tmp) <- call(panel, quote(...)) environment(tmp) <- globalenv() tmp } else eval(panel) ## a flag to indicate this panel function has layers ## (used by flattenPanel and undoLayer) .is.a.layer <- TRUE newpanel <- function(...) { .UNDER <- unlist(lapply(lay, attr, "under")) ## underlaying items only drawLayer(lay[.UNDER], list(...)) ## original panel function: panel(...) ## overlaying items only drawLayer(lay[.UNDER == FALSE], list(...)) } if ("panel" %in% names(object$panel.args.common)) object$panel.args.common$panel <- newpanel else object$panel <- newpanel ## need this to allow further calls to update() to insert arguments: object$call <- call("update", ocall) object } drawLayer <- function(lay, panelArgs = trellis.panelArgs()) { lay <- as.layer(lay) .UNDER <- unlist(lapply(lay, attr, "under")) ## underlayers, in reverse order for (.ITEM in rev(lay[.UNDER])) drawLayerItem(.ITEM, panelArgs) ## overlayers for (.ITEM in lay[.UNDER == FALSE]) drawLayerItem(.ITEM, panelArgs) invisible() } drawLayerItem <- function(layer.item, panelArgs) { stopifnot(is.expression(layer.item)) ## check that any restrictions on packets/rows/columns are met matchesok <- function(spec, value) { if (is.null(spec)) return(TRUE) if (is.numeric(spec) && all(spec <= 0)) ## negative indexes exclude items return(value %in% -spec == FALSE) else return(value %in% spec) } matchesallok <- with(list(a = attributes(layer.item)), matchesok(a$packets, packet.number()) && matchesok(a$rows, current.row()) && matchesok(a$columns, current.column())) if (!matchesallok) return() ## set given theme for duration of this function if (!is.null(attr(layer.item, "theme"))) { .TRELLISPAR <- trellis.par.get() trellis.par.set(attr(layer.item, "theme")) on.exit(trellis.par.set(.TRELLISPAR)) } ## define a layer drawing function, which may be per group drawLayerItemPerGroup <- function(...) { ## Note: layer.item is found in this function's environment dots <- list(...) ## restrict to specified group numbers groupok <- (matchesok(attr(layer.item, "groups"), dots$group.number) || matchesok(attr(layer.item, "groups"), as.character(dots$group.value))) if (!groupok) return() if (!is.null(attr(layer.item, "style"))) { ## extract plot style attributes from given index into superpose.* .TRELLISPAR <- trellis.par.get() local({ i <- attr(layer.item, "style") line <- Rows(trellis.par.get("superpose.line"), i) symbol <- Rows(trellis.par.get("superpose.symbol"), i) polygon <- Rows(trellis.par.get("superpose.polygon"), i) trellis.par.set(plot.line = line, superpose.line = line, add.line = line, add.text = line, plot.symbol = symbol, superpose.symbol = symbol, plot.polygon = polygon, superpose.polygon = polygon, axis.text = line, axis.line = line ) }) on.exit(trellis.par.set(.TRELLISPAR)) } with(dots, eval(layer.item, attr(layer.item, "data"), environment())) } ## call panel.superpose for group layers if (isTRUE(attr(layer.item, "superpose"))) { do.call("panel.superpose", modifyList(panelArgs, list(panel.groups = drawLayerItemPerGroup))) } else { do.call("drawLayerItemPerGroup", panelArgs) } } flattenPanel <- function(object) { flattenFun <- function(fun) { env <- environment(fun) ## check if this panel function is simple or has layers if (is.null(env) || !exists(".is.a.layer", env, inherits = FALSE)) return(as.expression(body(fun))) ## merge: under layers, existing panel, over layers .UNDER <- sapply(env$lay, attr, "under") c(do.call("c", rev(env$lay[.UNDER])), flattenFun(env$panel), do.call("c", env$lay[.UNDER == FALSE])) } flat <- flattenFun(object$panel) ## wrap in braces, as in a function body as.call(c(quote(`{`), flat)) } ## not exported -- I do not think this is really useful undoLayer <- function(x) { stopifnot(is.function(x$panel)) env <- environment(x$panel) if (!exists(".is.a.layer", env, inherits=FALSE)) stop("does not look like a layer") update(x, panel=env$panel) } latticeExtra/R/timeseries.R0000644000176000001440000000322711363627477015454 0ustar ripleyusers xyplot.stl <- function(x, data = NULL, outer = TRUE, layout = c(1, 4), strip = FALSE, strip.left = TRUE, as.table = TRUE, ylab = "", between = list(y = 0.5), panel = function(..., type) { if (packet.number() == 4) type <- "h" panel.xyplot(..., type = type) }, ...) { stopifnot(is.null(data)) mstrip <- missing(strip.left) sers <- x$time.series ## ncomp <- ncol(sers) data <- rowSums(sers) X <- cbind(data, sers) colnames(X) <- c("data", colnames(sers)) ans <- xyplot(X, outer = outer, layout = layout, strip = strip, strip.left = strip.left, as.table = as.table, ylab = ylab, between = between, panel = panel, ..., default.scales = list(x = list(axs = "i"), y = list(relation = "free", tick.number = 3, rot = 0))) if (mstrip) { mx <- min(rx <- abs(sapply(ans$y.limits, diff))) int <- cbind(-mx / rx, mx / rx) ans <- update(ans, strip.left = strip.custom(horizontal = FALSE, strip.names = FALSE, strip.levels = TRUE, shingle.intervals = int)) } ans$call <- sys.call(sys.parent()); ans$call[[1]] <- quote(xyplot) ans } latticeExtra/R/segplot.R0000644000176000001440000001241612203055637014743 0ustar ripleyusers ## Want to plot intervals from start to end, color coded by decoded, ## and several in a panel according to source ## since there are colors involved and levelplot already ## has a colorkey, we'll use that prepanel.segplot <- function(x, y, z, subscripts, horizontal = TRUE, ...) { ans <- list(xlim = range(x[subscripts], y[subscripts], finite = TRUE), ylim = if (is.factor(z)) levels(z) else range(z[subscripts], finite = TRUE), yat = if (is.factor(z)) sort(unique(as.numeric(z[subscripts]))) else NULL) if (horizontal) ans else with(ans, list(xlim = ylim, ylim = xlim, xat = yat)) } ## prepanel.segplot <- ## function(x, y, z, subscripts, horizontal = TRUE, ...) ## { ## isnum.z <- is.numeric(z) ## ans <- ## list(xlim = range(x[subscripts], y[subscripts], finite = TRUE), ## ylim = if (isnum.z) range(z[subscripts], finite = TRUE) else levels(z), ## yat = if (isnum.z) NULL else sort(unique(as.numeric(z[subscripts])))) ## if (horizontal) ans ## else with(ans, list(xlim = ylim, ylim = xlim, xat = yat)) ## } panel.segplot <- function(x, y, z, level = NULL, subscripts, at, draw.bands = is.factor(z), col = if (draw.bands) plot.polygon$col else plot.line$col, alpha = if (draw.bands) plot.polygon$alpha else plot.line$alpha, lty = if (draw.bands) plot.polygon$lty else plot.line$lty, lwd = if (draw.bands) plot.polygon$lwd else plot.line$lwd, border = if (draw.bands) plot.polygon$border else "transparent", col.symbol = col, alpha.symbol = alpha, col.regions = regions$col, band.height = 0.6, horizontal = TRUE, ..., segments.fun = panel.segments, centers = NULL, pch = 16) { plot.line <- trellis.par.get("plot.line") plot.polygon <- trellis.par.get("plot.polygon") regions <- trellis.par.get("regions") x1 <- as.numeric(x[subscripts]) x2 <- as.numeric(y[subscripts]) z <- z[subscripts] if (!is.null(level)) { ## col is overridden level <- as.numeric(level[subscripts]) col <- level.colors(level, at, col.regions, colors = TRUE) } if (draw.bands) { if (horizontal) panel.rect(x = 0.5 * (x1 + x2), width = x2 - x1, y = as.numeric(z), height = band.height, border = border, col = col, alpha = alpha, lty = lty, lwd = lwd, ...) else panel.rect(y = 0.5 * (x1 + x2), height = x2 - x1, x = as.numeric(z), width = band.height, border = border, col = col, alpha = alpha, lty = lty, lwd = lwd, ...) } else { if (horizontal) segments.fun(x1, as.numeric(z), x2, as.numeric(z), col = col, alpha = alpha, lty = lty, lwd = lwd, ...) else segments.fun(as.numeric(z), x1, as.numeric(z), x2, col = col, alpha = alpha, lty = lty, lwd = lwd, ...) } if (!is.null(centers)) { if (horizontal) panel.points(x = as.numeric(centers[subscripts]), y = as.numeric(z), col = col.symbol, alpha = alpha.symbol, pch = pch, ...) else panel.points(y = as.numeric(centers[subscripts]), x = as.numeric(z), col = col.symbol, alpha = alpha.symbol, pch = pch, ...) } } segplot <- function(x, data, ...) UseMethod("segplot") segplot.formula <- function(x, data = parent.frame(), level = NULL, centers = NULL, prepanel = prepanel.segplot, panel = panel.segplot, xlab = NULL, ylab = NULL, horizontal = TRUE, ..., at, cuts = 30, colorkey = !is.null(level)) { level <- eval(substitute(level), data, parent.frame()) centers <- eval(substitute(centers), data, parent.frame()) if (!is.null(level)) { rng <- lattice:::extend.limits(range(as.numeric(level), finite = TRUE)) if (missing(at)) at <- do.breaks(rng, cuts + 1) } foo <- levelplot(x, data, level = level, centers = centers, ..., default.scales = if (horizontal) list(y = list(alternating = FALSE, tck = 0)) else list(x = list(alternating = FALSE, tck = 0)), xlab = xlab, ylab = ylab, at = at, colorkey = colorkey, horizontal = horizontal, prepanel = prepanel, panel = panel) foo$call <- sys.call(sys.parent()); foo$call[[1]] <- quote(segplot) foo } ## green.red <- function(n, gamma = 1, power = 1) ## { ## m <- ceiling(n/2) ## c(hsv(h = 0.33, s = seq(1, 0, length = m)^power, gamma = gamma), ## hsv(h = 1, s = seq(0, 1, length = m)^power, gamma = gamma)) ## } ## segplot(1:100 ~ rnorm(100) + runif(100), data = parent.frame()) latticeExtra/R/zzz.R0000644000176000001440000000205211062365260014114 0ustar ripleyusers ### Copyright 2000-2004 Deepayan Sarkar , ### ### This file is part of the lattice library for R. It is made ### available under the terms of the GNU General Public License, ### version 2, or at your option, any later version, incorporated ### herein by reference. ### ### This program is distributed in the hope that it will be ### useful, but WITHOUT ANY WARRANTY; without even the implied ### warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ### PURPOSE. See the GNU General Public License for more ### details. ### ### You should have received a copy of the GNU General Public ### License along with this program; if not, write to the Free ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ### MA 02111-1307, USA ## .noGenerics <- TRUE .noGenerics <- FALSE ## .First.lib can be used if the NAMESPACE file is missing. This is ## useful during development, thanks to C-c C-l in Emacs/ESS. It won't ## be used if NAMESPACE is present. ## .First.lib <- function(lib, pkg) ## { ## require(lattice) ## } latticeExtra/MD50000644000176000001440000001130312203200025013223 0ustar ripleyusers9f7934781b318d23235a3331f9442a86 *DESCRIPTION 8bb761ce068d07514aaf99513f63fb13 *NAMESPACE a9eff11ad8bdf71138bebaa0b5c2122b *R/axis.grid.R ab0a933706dc8c607d974fce5566fcb1 *R/c.trellis.R f8d834c954229744c9bef1e720cb0c74 *R/combineLimits.R d40a5f3ea561fa26d2b06059876a36aa *R/custom.theme.R 63ca6194b42dcdd68bf5ecc259cfd144 *R/data.frame.R b7b429eb4c282886bdb9df9f65bc17d7 *R/dendrogramGrob.R 2589015634f275d7e5636742467e7dd2 *R/doubleYScale.R 0af903de5a6eca3460cfabadcc69d231 *R/ecdfplot.R 5e71766600b004e1ae7a399d937c67f1 *R/ggplot2like.theme.R d46ab245d98cca4057eedfb3c3475167 *R/horizonplot.R b841bf5320bf818485c3a170f8cce631 *R/layer.R 50669901899eb4bdaf45ac06c9bde477 *R/mapplot.R cb965b37aa7203f2eacc6c51a525e5c5 *R/marginal.plot.R 5130d18ed8bcb21a3273fe428388706d *R/mergeTrellisLegends.R 15197b0042be7a386cb9d3a62eb69899 *R/panel.2dsmoother.R 023f94714c2acdb2d5eb5efe14b12b86 *R/panel.3dmisc.R c0a9e0c2e30aade6879e0e8f20dc5d06 *R/panel.ellipse.R a11af6cee36fd67edc15d600547152ec *R/panel.key.R 60b850bac4fa224e53575e669c75026e *R/panel.lmlineq.R 07f4141ef94cde0b112b210cc5022e4c *R/panel.qqmath.tails.R d5390ea996d35ba6f373996ed64a65a7 *R/panel.quantile.R 812fc93bfdbd0bc59dd78537aea498d4 *R/panel.scaleArrow.R 58d3133b5da18e904268eb16235edf7c *R/panel.smoother.R ebe4054659ec356b8e1dcfc1a7643e75 *R/panel.tskernel.R cb3226534b26ec7cae663630e2ccba01 *R/panel.xblocks.R cb881da1a89281ad5697b04e74b46139 *R/panel.xyarea.R 5a89cf36e9a148d77e2ab831d84eb5ff *R/rootogram.R afbb9405eefd20f94227b82dfa0dd63c *R/scale.components.R c96f9f7f8fc9534f2a7eff49202754ae *R/segplot.R 92ab0979ab1ee48d16278fd81f59e39b *R/simpleSmoothTs.R 236f12515501af75b7c0d8b68556207b *R/theeconomist.R da0cc2283c24ba04bcec0167072a9d90 *R/tileplot.R 2adc922f9a51d3fe08b3dee3f756a1ff *R/timeseries.R defe3583b03d8ce652a9091a7e32aa1d *R/utilities.R 10b2c6bad9041c53504d7d1bfe382fca *R/zzz.R d64906540de6e6aa03f57f74adb81cce *data/EastAuClimate.txt.gz 8915c8992eb4e50826c12e517aecbba9 *data/SeatacWeather.rda 75dce8ad5af2924cb5e57916da7c31c9 *data/USAge.df.rda 468dfc1d7ca5c4585811f56436d3e09a *data/USAge.table.rda af6ebd8de9ac9844ca75cd2a11581c37 *data/USCancerRates.rda f0f6a7cf3131c25027d51fae18578c1f *data/ancestry.rda b476fe2556980de9d8988e16046fa44c *data/biocAccess.rda 5550eab4cee8d026a7bb189caf7dbb0f *data/datalist c09b1ba829d656ba340f2b6eb6ca5aa0 *data/gvhd10.rda 052b468502aa86a066bb1921fb8f8ed4 *data/postdoc.rda 5390bd8539fee977fbbcdc252c98f162 *inst/NEWS 38dec33aef49dce486c983197430f6f0 *inst/scripts/README.USAge 14c9313b11d35848268dee2fd306b83f *man/EastAuClimate.Rd 1ee99b4cffef68ecc8de1571d0dca4a8 *man/SeatacWeather.Rd 678b0821035d10c17002e764ff98287d *man/USAge.Rd 11bef918fccf2e7928bfa48959452308 *man/USCancerRates.Rd 1154f4e85939bd83d9a2eb8c1abc6af7 *man/ancestry.Rd d1ebc9afec79d4906db9299927f988b9 *man/as.layer.Rd 8c41b620f7dc074fa1659bd2ef8855d2 *man/biocAccess.Rd b8c771ff1970bc957b8545d953ab9a73 *man/c.trellis.Rd 608f562b96777338ae2a5da402b69652 *man/combineLimits.Rd 407ef539997856ae4c5a3ca65807336d *man/custom.theme.Rd 1bae8f134b7318a54ac3dd8f39f09c9c *man/dendrogramGrob.Rd 45faf2180334872dc86a631a01237408 *man/doubleYScale.Rd 63da0ba5a57717b927f5de5d1b0ac85f *man/ecdfplot.Rd 785dc8185ca9d223faa6b64117162adb *man/ggplot2like.theme.Rd d8542e1889af3ab3dc4e994a743fc93a *man/gvhd10.Rd 7a87cbdd9cd769525be3df05257f96c7 *man/horizonplot.Rd ba4775c3019b362edb2218ed9c62bc92 *man/layer.Rd 1ef2cc90b933918e54e24557b97fea8c *man/mapplot.Rd d623029e23f438c14945a62c25c43d83 *man/marginal.plot.Rd d77a17a40784c9309740f21783595404 *man/panel.2dsmoother.Rd bb5a3d8a939941ba176419a87fd1a842 *man/panel.3dmisc.Rd 2ee2100ee5a97f7c65d689c733158593 *man/panel.ellipse.Rd eaef288cdec8002ac6df95f689cdaa4d *man/panel.key.Rd 42c682f9e91829f597017d2b94ef18ab *man/panel.lmlineq.Rd 818eeca6e8b0176ae304e26cae2b0647 *man/panel.qqmath.tails.Rd d4d16291184220728b19af4a46393714 *man/panel.quantile.Rd d651b28892a02a40872deedf5b5c7836 *man/panel.scaleArrow.Rd 29b3fa151219bcdf268865b4c0a4bbd8 *man/panel.segplot.Rd e3e068ab371f64fe785e8ffd5bc0b19b *man/panel.smoother.Rd c2e6266dc28df9705b1728e5da647209 *man/panel.tskernel.Rd 53d3fe9f0af0dba3e052e40dd70e44db *man/panel.voronoi.Rd 90abdb99908ffc55cddea475f587d57b *man/panel.xblocks.Rd b879872617a3f4c4bb2c1e43e48616c2 *man/panel.xyarea.Rd ee2d50ea725a90b01c629e55fef67d56 *man/postdoc.Rd da6cb2b7a3c207f7b4fc42bdb2e36704 *man/resizePanels.Rd 28e8c01356d699d7af5c31a223922b98 *man/rootogram.Rd c94340a208fa116edb94fe29302619d0 *man/scale.components.Rd a63dcc3403d84ac749cae8a5bdc4ff49 *man/segplot.Rd 5477868f6f4ae02715a4b3e4d03bbaf3 *man/theEconomist.theme.Rd 34b7eb3fbf13ee43a7c11753962689d9 *man/tileplot.Rd 071c5b8956ba376d50de32f2414e7d5e *man/useOuterStrips.Rd 4ea66854b1d353feef7306d7f2ac3a25 *man/xyplot.stl.Rd 5a139d07613547a1b4df83c0cddda1f8 *old.svnlog latticeExtra/DESCRIPTION0000644000176000001440000000123212203200025014421 0ustar ripleyusersPackage: latticeExtra Version: 0.6-26 Date: 2013/08/15 Title: Extra Graphical Utilities Based on Lattice Author: Deepayan Sarkar , Felix Andrews Maintainer: Deepayan Sarkar Description: Extra graphical utilities based on lattice Depends: R (>= 2.10.0), RColorBrewer, lattice (>= 0.18-1) Imports: grid Suggests: maps, mapproj, deldir, tripack, quantreg, zoo, MASS, mgcv URL: http://latticeextra.r-forge.r-project.org/ LazyLoad: yes LazyData: yes License: GPL (>= 2) Packaged: 2013-08-15 16:03:24 UTC; deepayan NeedsCompilation: no Repository: CRAN Date/Publication: 2013-08-15 18:21:41 latticeExtra/old.svnlog0000644000176000001440000002530511062365303014747 0ustar ripleyusers------------------------------------------------------------------------ r412 | dsarkar@fhcrc.org | 2008-05-12 14:07:54 -0700 (Mon, 12 May 2008) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE M /public/Rpacks/trunk/latticeExtra/R/mapplot.R A /public/Rpacks/trunk/latticeExtra/R/segplot.R M /public/Rpacks/trunk/latticeExtra/man/mapplot.Rd A /public/Rpacks/trunk/latticeExtra/man/panel.segplot.Rd A /public/Rpacks/trunk/latticeExtra/man/segplot.Rd added segplot, plus misc fixes ------------------------------------------------------------------------ r315 | dsarkar@fhcrc.org | 2007-10-20 21:13:38 -0700 (Sat, 20 Oct 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/inst/Changes note ------------------------------------------------------------------------ r314 | dsarkar@fhcrc.org | 2007-10-20 21:12:31 -0700 (Sat, 20 Oct 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE D /public/Rpacks/trunk/latticeExtra/R/brewer.theme.R A /public/Rpacks/trunk/latticeExtra/R/custom.theme.R (from /public/Rpacks/trunk/latticeExtra/R/brewer.theme.R:293) A /public/Rpacks/trunk/latticeExtra/man/SeatacWeather.Rd M /public/Rpacks/trunk/latticeExtra/man/ancestry.Rd A /public/Rpacks/trunk/latticeExtra/man/biocAccess.Rd A /public/Rpacks/trunk/latticeExtra/man/custom.theme.Rd A /public/Rpacks/trunk/latticeExtra/man/gvhd10.Rd M /public/Rpacks/trunk/latticeExtra/man/mapplot.Rd M /public/Rpacks/trunk/latticeExtra/man/panel.3dmisc.Rd A /public/Rpacks/trunk/latticeExtra/man/postdoc.Rd M /public/Rpacks/trunk/latticeExtra/man/useOuterStrips.Rd documented remaining objects ------------------------------------------------------------------------ r313 | dsarkar@fhcrc.org | 2007-10-20 19:50:58 -0700 (Sat, 20 Oct 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/R/dendrogramGrob.R M /public/Rpacks/trunk/latticeExtra/data/ancestry.rda A /public/Rpacks/trunk/latticeExtra/man/USCancerRates.Rd A /public/Rpacks/trunk/latticeExtra/man/ancestry.Rd M /public/Rpacks/trunk/latticeExtra/man/mapplot.Rd M /public/Rpacks/trunk/latticeExtra/man/useOuterStrips.Rd some man pages added ------------------------------------------------------------------------ r298 | dsarkar@fhcrc.org | 2007-10-04 19:03:01 -0700 (Thu, 04 Oct 2007) | 1 line Changed paths: A /public/Rpacks/trunk/latticeExtra/inst/scripts A /public/Rpacks/trunk/latticeExtra/inst/scripts/README.USAge A /public/Rpacks/trunk/latticeExtra/man/USAge.Rd doc for USAge data ------------------------------------------------------------------------ r295 | dsarkar@fhcrc.org | 2007-10-04 15:32:04 -0700 (Thu, 04 Oct 2007) | 1 line Changed paths: A /public/Rpacks/trunk/latticeExtra/data/biocAccess.rda A /public/Rpacks/trunk/latticeExtra/data/gvhd10.rda added two more data sets ------------------------------------------------------------------------ r294 | dsarkar@fhcrc.org | 2007-10-04 15:30:46 -0700 (Thu, 04 Oct 2007) | 1 line Changed paths: A /public/Rpacks/trunk/latticeExtra/data A /public/Rpacks/trunk/latticeExtra/data/SeatacWeather.rda A /public/Rpacks/trunk/latticeExtra/data/USAge.df.rda A /public/Rpacks/trunk/latticeExtra/data/USAge.table.rda A /public/Rpacks/trunk/latticeExtra/data/USCancerRates.rda A /public/Rpacks/trunk/latticeExtra/data/ancestry.rda A /public/Rpacks/trunk/latticeExtra/data/postdoc.rda added some data sets ------------------------------------------------------------------------ r293 | dsarkar@fhcrc.org | 2007-10-04 15:25:40 -0700 (Thu, 04 Oct 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/NAMESPACE M /public/Rpacks/trunk/latticeExtra/R/panel.3dmisc.R M /public/Rpacks/trunk/latticeExtra/man/panel.3dmisc.Rd added a panel.3dtext function ------------------------------------------------------------------------ r263 | dsarkar@fhcrc.org | 2007-09-21 18:59:10 -0700 (Fri, 21 Sep 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE M /public/Rpacks/trunk/latticeExtra/R/brewer.theme.R some new stuff ------------------------------------------------------------------------ r240 | dsarkar@fhcrc.org | 2007-07-27 13:38:43 -0700 (Fri, 27 Jul 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE A /public/Rpacks/trunk/latticeExtra/R/mapplot.R A /public/Rpacks/trunk/latticeExtra/R/timeseries.R M /public/Rpacks/trunk/latticeExtra/R/utilities.R A /public/Rpacks/trunk/latticeExtra/man/mapplot.Rd added map functions and time series methods ------------------------------------------------------------------------ r231 | dsarkar@fhcrc.org | 2007-07-09 16:39:18 -0700 (Mon, 09 Jul 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/NAMESPACE A /public/Rpacks/trunk/latticeExtra/R/brewer.theme.R M /public/Rpacks/trunk/latticeExtra/R/utilities.R M /public/Rpacks/trunk/latticeExtra/man/panel.3dmisc.Rd more utilities ------------------------------------------------------------------------ r224 | dsarkar@fhcrc.org | 2007-06-29 12:53:09 -0700 (Fri, 29 Jun 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/R/utilities.R A /public/Rpacks/trunk/latticeExtra/man/useOuterStrips.Rd function to update trellis object to use outer strips only ------------------------------------------------------------------------ r209 | dsarkar@fhcrc.org | 2007-06-04 11:50:13 -0700 (Mon, 04 Jun 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/man/panel.3dmisc.Rd doc update ------------------------------------------------------------------------ r208 | dsarkar@fhcrc.org | 2007-05-30 15:29:52 -0700 (Wed, 30 May 2007) | 1 line Changed paths: D /public/Rpacks/trunk/latticeExtra/R/panel.3dhist.R A /public/Rpacks/trunk/latticeExtra/R/panel.3dmisc.R (from /public/Rpacks/trunk/latticeExtra/R/panel.3dhist.R:207) renamed file ------------------------------------------------------------------------ r207 | dsarkar@fhcrc.org | 2007-05-30 15:29:31 -0700 (Wed, 30 May 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE M /public/Rpacks/trunk/latticeExtra/R/panel.3dhist.R A /public/Rpacks/trunk/latticeExtra/man/panel.3dmisc.Rd updates related to 3-d panel functions ------------------------------------------------------------------------ r202 | dsarkar@fhcrc.org | 2007-05-17 13:20:42 -0700 (Thu, 17 May 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/NAMESPACE exported panel.3dhist ------------------------------------------------------------------------ r198 | dsarkar@fhcrc.org | 2007-05-14 17:46:18 -0700 (Mon, 14 May 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/R/ecdfplot.R M /public/Rpacks/trunk/latticeExtra/inst/Changes updated changelog ------------------------------------------------------------------------ r193 | dsarkar@fhcrc.org | 2007-05-14 17:33:28 -0700 (Mon, 14 May 2007) | 1 line Changed paths: A /public/Rpacks/trunk/latticeExtra/R/panel.3dhist.R added a panel function for '3-D' histograms and barcharts ------------------------------------------------------------------------ r190 | dsarkar@fhcrc.org | 2007-04-26 19:07:01 -0700 (Thu, 26 Apr 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE M /public/Rpacks/trunk/latticeExtra/R/ecdfplot.R A /public/Rpacks/trunk/latticeExtra/man/dendrogramGrob.Rd added man page for dendrogramGrob, plus updates ------------------------------------------------------------------------ r189 | dsarkar@fhcrc.org | 2007-04-26 16:58:05 -0700 (Thu, 26 Apr 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE A /public/Rpacks/trunk/latticeExtra/R/ecdfplot.R D /public/Rpacks/trunk/latticeExtra/data A /public/Rpacks/trunk/latticeExtra/man/ecdfplot.Rd added an ecdfplot generic, and removed empty data directory ------------------------------------------------------------------------ r184 | dsarkar@fhcrc.org | 2007-04-23 12:55:53 -0700 (Mon, 23 Apr 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/NAMESPACE A /public/Rpacks/trunk/latticeExtra/R/dendrogramGrob.R added code to support dendrogram plots ------------------------------------------------------------------------ r168 | dsarkar@fhcrc.org | 2007-04-11 15:54:43 -0700 (Wed, 11 Apr 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/DESCRIPTION M /public/Rpacks/trunk/latticeExtra/NAMESPACE M /public/Rpacks/trunk/latticeExtra/R/utilities.R M /public/Rpacks/trunk/latticeExtra/R/zzz.R M /public/Rpacks/trunk/latticeExtra/man/rootogram.Rd added rootogram, fixed warnings ------------------------------------------------------------------------ r135 | dsarkar@fhcrc.org | 2007-03-09 04:15:31 -0800 (Fri, 09 Mar 2007) | 1 line Changed paths: M /public/Rpacks/trunk/latticeExtra/man/rootogram.Rd misc ------------------------------------------------------------------------ r103 | dsarkar@fhcrc.org | 2006-12-15 17:17:46 -0800 (Fri, 15 Dec 2006) | 1 line Changed paths: D /public/Rpacks/trunk/latticeExtra/data/benchmark.R removed spurious file ------------------------------------------------------------------------ r3 | dsarkar@fhcrc.org | 2006-09-18 17:00:16 -0700 (Mon, 18 Sep 2006) | 1 line Changed paths: A /public A /public/Rpacks A /public/Rpacks/trunk A /public/Rpacks/trunk/latticeExtra A /public/Rpacks/trunk/latticeExtra/DESCRIPTION A /public/Rpacks/trunk/latticeExtra/NAMESPACE A /public/Rpacks/trunk/latticeExtra/R A /public/Rpacks/trunk/latticeExtra/R/data.frame.R A /public/Rpacks/trunk/latticeExtra/R/gplot.R A /public/Rpacks/trunk/latticeExtra/R/rootogram.R A /public/Rpacks/trunk/latticeExtra/R/utilities.R A /public/Rpacks/trunk/latticeExtra/R/zzz.R A /public/Rpacks/trunk/latticeExtra/data A /public/Rpacks/trunk/latticeExtra/data/benchmark.R A /public/Rpacks/trunk/latticeExtra/inst A /public/Rpacks/trunk/latticeExtra/inst/Changes A /public/Rpacks/trunk/latticeExtra/man A /public/Rpacks/trunk/latticeExtra/man/gplot.Rd A /public/Rpacks/trunk/latticeExtra/man/gplotArgs.data.frame.Rd A /public/Rpacks/trunk/latticeExtra/man/rootogram.Rd A /public/Rpacks/trunk/latticeExtra/tmp A /public/Rpacks/trunk/latticeExtra/tmp/hexbinplot.R A /public/Rpacks/trunk/latticeExtra/tmp/hexbinplot.Rd initial import of personal R packages ------------------------------------------------------------------------ latticeExtra/man/0000755000176000001440000000000012203175714013510 5ustar ripleyuserslatticeExtra/man/panel.xyarea.Rd0000644000176000001440000000610711647447070016402 0ustar ripleyusers\name{panel.xyarea} \alias{panel.xyarea} \alias{panel.xyarea.default} \alias{panel.xyarea.ts} \alias{panel.xyarea.zoo} \alias{panel.qqmath.xyarea} \title{ Plot series as filled polygons. } \description{ Plot series as filled polygons connected at given origin level (on y axis). } \usage{ panel.xyarea(x, ...) \method{panel.xyarea}{default}(x, y, groups = NULL, origin = NULL, horizontal = FALSE, col, col.line, border, lty, lwd, alpha, ..., fill, panel.groups = panel.xyarea) \method{panel.xyarea}{ts}(x, y = x, ...) \method{panel.xyarea}{zoo}(x, y = x, ...) panel.qqmath.xyarea(x, y = NULL, f.value = NULL, distribution = qnorm, qtype = 7, groups = NULL, ..., tails.n = 0) } \arguments{ \item{x, y}{ data vectors. } \item{groups}{ a factor defining groups. } \item{origin}{ level on y axis to connect the start and end of the series. If \code{NULL}, the polygon is filled to the bottom of the panel. It is flipped if \code{horizontal = TRUE}. } \item{horizontal}{ if this is set to \code{TRUE}, then the origin is a level on the x axis, rather than the default which is on the y axis. This is the opposite of what you might expect, but is for consistency with \code{panel.xyplot}. } \item{col, col.line, border, lty, lwd, alpha}{ graphical parameters taken from \code{trellis.par.get("plot.polygon")} or \code{trellis.par.get("superpose.polygon")} (when groups defined). \code{col.line} overrides \code{col}. } \item{\dots}{ further arguments passed on to \code{\link{panel.polygon}}. For \code{panel.qqmath.xyarea}, passed to \code{panel.xyarea}. } \item{fill}{ ignored; use \code{col} instead. } \item{panel.groups}{ used in \code{\link{panel.superpose}}. } \item{f.value, distribution, qtype, tails.n}{ as in \code{\link{panel.qqmath}}. } } \details{ none yet. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{panel.xyplot}}, \code{\link{panel.polygon}} } \examples{ xyplot(sunspot.year, panel = panel.xyarea, origin = 0, aspect = "xy", cut = list(n = 3, overlap = 0)) ## two series superposed: one filled, one as a line. xyplot(ts.union(data = sunspot.year, lag10 = lag(sunspot.year, 10)), aspect = "xy", cut = list(n = 3, overlap = 0), superpose = TRUE, panel = panel.superpose, panel.groups = function(..., group.number) { if (group.number == 1) panel.xyarea(...) else panel.xyplot(...) }, border = NA, par.settings = simpleTheme(col = c("grey", "black"), lwd = c(5,2))) ## missing values are handled by splitting the series tmp <- window(sunspot.year, start = 1900) tmp[c(1:2, 50:60)] <- NA xyplot(tmp, panel = panel.xyarea, origin = 0) set.seed(0) qqmath(~ data, make.groups(baseline = rnorm(100), other = rnorm(100) * 2 - 0.5), groups = which, distribution = qunif, panel = panel.qqmath.xyarea, xlim = 0:1, auto.key = list(points = FALSE, rectangles = TRUE), par.settings = simpleTheme(col = c("blue", "green"), alpha = 0.5)) } \keyword{ dplot } latticeExtra/man/ecdfplot.Rd0000644000176000001440000000566511363627500015614 0ustar ripleyusers\name{ecdfplot} \alias{ecdfplot} \alias{ecdfplot.formula} \alias{ecdfplot.numeric} \alias{panel.ecdfplot} \alias{prepanel.ecdfplot} \title{Trellis Displays of Empirical CDF} \description{ Conditional displays of Empirical Cumulative Distribution Functions } \usage{ ecdfplot(x, data, \dots) \method{ecdfplot}{formula}(x, data, prepanel = "prepanel.ecdfplot", panel = "panel.ecdfplot", ylab, \dots) \method{ecdfplot}{numeric}(x, data = NULL, xlab, \dots) prepanel.ecdfplot(x, f.value = NULL, \dots) panel.ecdfplot(x, f.value = NULL, type = "s", groups = NULL, qtype = 7, ref = TRUE, \dots) } \arguments{ \item{x}{ For \code{ecdfplot}, \code{x} is the object on which method dispatch is carried out. For the \code{"formula"} method, \code{x} is a formula describing the form of conditioning plot, and has to be of the form \code{~x}, where \code{x} is assumed to be a numeric vector. Further conditioning variables are allowed as usual. A similar interpretation holds for \code{x} in the \code{"numeric"} method as well as \code{prepanel.ecdfplot} and \code{panel.ecdfplot}. } \item{data}{ For the \code{"formula"} method, a data frame containing values for any variables in the formula, as well as those in \code{groups} and \code{subset} if applicable. } \item{prepanel, panel}{ panel and prepanel function used to create the display. } \item{xlab, ylab}{ axis labels; typically a character string or an expression. } \item{groups}{ a grouing variable of the same length as \code{x}. If specified, ECDF plots are computed for each subset defined by unique values of \code{groups} and the resulting functions superposed within each panel. } \item{f.value, qtype}{ Defines how quantiles are calculated. See \code{\link{panel.qqmath}}. } \item{ref}{ logical, whether a reference line should be drawn at 0 and 1} \item{type}{ how the plot is rendered; see \code{\link{panel.xyplot}} } \item{\dots}{ extra arguments, passed on as appropriate. Standard lattice arguments as well as arguments to \code{panel.ecdfplot} can be supplied directly in the high level \code{ecdfplot} call. } } \value{ \code{ecdfplot} produces an object of class \code{"trellis"}. The \code{update} method can be used to update components of the object and the \code{print} method (usually called by default) will plot it on an appropriate plotting device. } \author{ Deepayan Sarkar \email{deepayan.sarkar@r-project.org}} \seealso{ \code{\link{qqmath}} for Quantile plots which are more generally useful, especially when comparing with a theoretical distribution other than uniform. An ECDF plot is essentially a transposed version (i.e., with axes switched) of a uniform quantile plot. } \examples{ data(singer, package = "lattice") ecdfplot(~height | voice.part, data = singer) } \keyword{dplot} latticeExtra/man/combineLimits.Rd0000644000176000001440000000667611462213117016610 0ustar ripleyusers\name{combineLimits} \alias{combineLimits} \title{Combine axis limits across margins} \description{ Modifies a \code{"trellis"} object with \code{"free"} scales so that panel limits are extended to be the same across selected conditioning variables (typically rows and columns). } \usage{ combineLimits(x, margin.x = 2L, margin.y = 1L, extend = TRUE, adjust.labels = TRUE) } \arguments{ \item{x}{ An object of class \code{"trellis"}. } \item{margin.x}{ Integer vector specifying which conditioning variables to combine the x-axis limits over. Defaults to the second conditioning variable (rows in the default layout); that is, the limit of each packet is extended to include the limits of all other packets obtained by varying the level of the second conditioning variable (row). More than one variable can be specified; for example, \code{margin.x = c(1, 2)} would ensure that limits are extended to include all levels in both the first and second conditioning variables. In case there is a third conditioning variable, this would have the effect of per-page x-axis limits with the default layout. } \item{margin.y}{ Integer vector specifying which conditioning variables to combine the x-axis limits over. Similar to \code{margin.x}, but defaults to the first conditioning variable (columns in the default layout). } \item{extend}{ Logical flag indicating whether the limits should be extended after being combined. Usually a good idea. } \item{adjust.labels}{ Logical flag indicating whether labels should be removed from all but the boundaries. This may give misleading plots with non-default layouts. } } \details{ \code{combineLimits} is useful mainly for plots with two conditioning variables with the default layout (columns and rows correspond to the first and second conditioning variables), when per-row and per-column limits are desired. The lattice approach does not tie levels of the conditioning variables to the plot layout, so it is possible that all panels in a row (or column) do not represent the same level. It should be noted that \code{combineLimits} actually combines limits across levels, and not across rows and columns. Results are likely to be misleading unless the default layout is used. } \note{ Does not work for all \code{"trellis"} objects. In particular, log-scales do not yet work. Fancy layouts with \code{skip}-ped panels and unusual packet-to-panel mappings will probably also not work. } \value{ An object of class \code{"trellis"}; essentially the same as \code{x}, but with certain properties modified. } \author{ Deepayan Sarkar } \seealso{ \code{\link{Lattice}}, \code{\link{xyplot}} } \examples{ data(Cars93, package = "MASS") ## FIXME: log scales don't yet work pcars <- xyplot(Price ~ EngineSize | reorder(AirBags, Price) + Cylinders, data = Cars93, subset = Cylinders != "rotary" & Cylinders != "5", scales = list(relation = "free", y = list(log = FALSE, tick.number = 3, rot = 0)), xlab = "Engine Size (litres)", ylab = "Average Price (1000 USD)", as.table = TRUE) combineLimits(pcars) useOuterStrips(combineLimits(update(pcars, grid = TRUE), margin.x = c(1, 2), adjust.labels = FALSE)) useOuterStrips(combineLimits(update(pcars, grid = TRUE))) } \keyword{dplot} latticeExtra/man/panel.smoother.Rd0000644000176000001440000000574011403245153016737 0ustar ripleyusers\name{panel.smoother} \alias{panel.smoother} \title{ Plot a smoothing line with standard error bounds. } \description{ Plot a smoothing line with standard error bounds. This is based on the \code{\link[ggplot2]{stat_smooth}} function from \pkg{ggplot2}. } \usage{ panel.smoother(x, y, form = y ~ x, method = "loess", ..., se = TRUE, level = 0.95, n = 100, col = plot.line$col, col.se = col, lty = plot.line$lty, lwd = plot.line$lwd, alpha = plot.line$alpha, alpha.se = 0.25, border = NA, ## ignored: ## subscripts, group.number, group.value, type, col.line, col.symbol, fill, pch, cex, font, fontface, fontfamily) } \arguments{ \item{x, y}{ data points. If these are missing, they will be looked for in the environment of \code{form}. So in many cases you can skip these if passing \code{form}. In fact, for convenience, the formula can be passed as the first argument (i.e. \code{x}). } \item{form, method}{ the smoothing model is constructed (approximately) as \code{method(form, data = list(x=x, y=y), ...)}. See the Examples section for common choices. } \item{\dots}{ further arguments passed on to the model function (\code{method}). } \item{se, level}{ estimate standard errors on the smoother, at the given \code{level}, and plot these as a band. } \item{n}{ number of equi-spaced points on which to evaluate the smooth function. } \item{col, col.se, lty, lwd, alpha, alpha.se, border}{ graphical parameters. \code{col} and \code{alpha} apply to the smoothing line, while \code{col.se} and \code{alpha.se} apply to the shaded \code{se} region. } \item{subscripts, group.number, group.value, type, col.line, col.symbol, fill, pch, cex, font, fontface, fontfamily}{ ignored. } } \details{ This should work with any model function that takes a formula argument, and has a \code{predict} method with a \code{se} argument. } \author{ Felix Andrews \email{felix@nfrac.org} Based on \code{\link[ggplot2]{stat_smooth}} by Hadley Wickham. } \seealso{ \code{\link{panel.loess}}, \code{\link{panel.quantile}}, \code{\link[ggplot2]{stat_smooth}} } \examples{ set.seed(1) xy <- data.frame(x = runif(100), y = rt(100, df = 5), y2 = rt(100, df = 5) + 1) xyplot(y ~ x, xy, panel = function(...) { panel.xyplot(...) panel.smoother(..., span = 0.9) }) ## per-group layers with glayer (pass `...` to get styles) xyplot(y + y2 ~ x, xy) + glayer(panel.smoother(...)) ## natural spline with 5 degrees of freedom if (require("splines")) xyplot(y ~ x, xy) + layer(panel.smoother(y ~ ns(x,5), method = "lm")) ## thin plate regression spline with smoothness ## chosen by cross validation (see ?mgcv::gam) if (require("mgcv")) xyplot(y ~ x, xy) + layer(panel.smoother(y ~ s(x), method = "gam")) ## simple linear regression with standard errors: xyplot(y ~ x, xy) + layer(panel.smoother(x, y, method = "lm"), style = 2) } \keyword{ dplot } latticeExtra/man/xyplot.stl.Rd0000644000176000001440000000422411377660023016144 0ustar ripleyusers\name{xyplot.stl} \alias{xyplot.stl} \title{ Display stl fits with Lattice } \description{ Display \code{\link{stl}} decomposition (seasonal, trend and irregular components using loess) with Lattice, like the base graphics function \code{\link{plot.stl}}. } \usage{ \method{xyplot}{stl}(x, data = NULL, outer = TRUE, layout = c(1, 4), strip = FALSE, strip.left = TRUE, as.table = TRUE, ylab = "", between = list(y = 0.5), panel = function(..., type) { if (packet.number() == 4) type <- "h" panel.xyplot(..., type = type) }, ...) } \arguments{ \item{x}{ an \code{\link{stl}} object. } \item{data}{ ignored. } \item{outer, layout, strip, strip.left}{ passed to \code{\link{xyplot.ts}}. } \item{as.table, ylab, between, panel, ...}{ passed to \code{\link{xyplot.ts}}. } } \details{ Unless \code{strip.left} is passed in explicitly, a custom strip will be drawn, where shaded bars are comparable across panels (representing the same data range). } \value{ An object of class \code{"trellis"}. The \code{\link[=update.trellis]{update}} method can be used to update components of the object and the \code{\link[=print.trellis]{print}} method (usually called by default) will plot it on an appropriate plotting device. } % \references{ ~put references to the literature/web site here ~ } \author{ Deepayan Sarkar \email{deepayan.sarkar@r-project.org} } \seealso{ \code{\link{stl}}, \code{\link{xyplot.ts}}, \code{\link{xyplot}} } \examples{ ## example from ?stl xyplot(stl(log(co2), s.window=21), main = "STL decomposition of CO2 data") ## alternative display data(biocAccess) xyplot(stl(ts(biocAccess$counts[1:(24 * 30)], frequency = 24), "periodic"), strip.left = "strip.default") resizePanels() ## two different spans xyplot(stl(nottem, s.window = 4)) + as.layer(xyplot(stl(nottem, s.window = "periodic")), style = 2) ## components superposed xyplot(stl(nottem, s.window = 4), superpose=TRUE, screens = list(data = "trend", trend = "trend", "residuals"), strip.left = TRUE, layout = c(1,2)) } \keyword{hplot} \keyword{ts}latticeExtra/man/panel.key.Rd0000644000176000001440000000177311403245153015671 0ustar ripleyusers\name{panel.key} \alias{panel.key} \title{ Draw a simple key inside a panel of a lattice plot. } \description{ Draw a \code{\link{simpleKey}} inside a panel of a lattice plot. } \usage{ panel.key(text, ..., corner = c(0, 1), x = corner[1], y = corner[2]) } \arguments{ \item{text, \dots}{ entries in the \code{\link{simpleKey}}. } \item{corner, x, y}{ defines the position of the key within the panel viewport. These are given in normalised coordinates between 0 and 1. The two elements of \code{corner} specify the x and y positions respectively. } } \seealso{ \code{\link{simpleKey}}, \code{\link{draw.key}}, \code{\link{xyplot}} } \examples{ xyplot(ozone ~ wind | equal.count(temperature, 2), data = environmental) + layer(panel.loess(x, y, span = 0.5), style = 1) + layer(panel.loess(x, y, span = 1.0), style = 2) + layer(panel.key(c("span = 0.5", "span = 1.0"), corner = c(1,.98), lines = TRUE, points = FALSE), packets = 1) } \keyword{ aplot } latticeExtra/man/as.layer.Rd0000644000176000001440000000671611404117746015532 0ustar ripleyusers\name{as.layer} \alias{as.layer} \alias{as.layer.layer} \alias{as.layer.trellis} \title{ Overlay panels of Trellis plots on same or different scales } \description{ Allows overlaying of Trellis plots, drawn on the same scales or on different scales in each of the x and y dimensions. There are options for custom axes and graphical styles. } \usage{ as.layer(x, ...) \S3method{as.layer}{trellis}(x, x.same = TRUE, y.same = TRUE, axes = c(if (!x.same) "x", if (!y.same) "y"), opposite = TRUE, outside = FALSE, theme = x$par.settings, ...) } \arguments{ \item{x}{ a trellis object. } \item{x.same}{ retains the existing panel x scale for the new layer, rather than using the layer's native x scale. } \item{y.same}{ retains the existing panel y scale. } \item{axes}{ which of the axes to draw (\code{NULL} for neither). Axes might not be drawn anyway, such as if \code{scales$draw == FALSE}. } \item{opposite}{ whether to draw axes on the opposite side to normal: that is, the top and/or right sides rather than bottom and/or left. May be a vector of length 2 to specify for x and y axes separately. } \item{outside}{ whether to draw the axes outside the plot region. Note that space for outside axes will not be allocated automatically. May be a vector of length 2 to specify for x and y axes separately. } \item{theme}{ passed to \code{\link{layer}}. } \item{\dots}{ passed to \code{\link{layer}}: typically the \code{style} argument would be specified. } } \details{ Panels from the trellis object \code{x} will be drawn in the corresponding panel of another trellis object, so packet numbers match (see examples). Axis setting are taken from the trellis object \code{x}, so most \code{scales} arguments such as \code{draw}, \code{at}, \code{labels} etc will carry over to the overlaid axes. Only the main axis settings are used (i.e. left or bottom), even when \code{opposite = TRUE}. Currently, outside top axes will be drawn in the strip if there are strips. } \value{ an updated trellis object. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{doubleYScale}}, \code{\link{layer}}, \code{\link{panel.axis}} } \examples{ b1 <- barley b2 <- barley b2$yield <- b2$yield + 10 ## panels are matched up by packet number dotplot(variety ~ yield | site * year, b1) + as.layer(dotplot(variety ~ yield | site * year, b2, col = "red")) ## which gives the same result as: dotplot(variety ~ yield | site * year, data = b1, subscripts = TRUE) + layer(panel.dotplot(yield[subscripts], variety[subscripts], col = "red"), data = b2) ## example with all same scales (the default): xyplot(fdeaths ~ mdeaths) + as.layer(xyplot(fdeaths ~ mdeaths, col = 2, subset = ldeaths > 2000)) ## same x scales, different y scales: xyplot(fdeaths ~ mdeaths) + as.layer(bwplot(~ mdeaths, box.ratio = 0.2), y.same = FALSE) ## same y scales, different x scales: xyplot(fdeaths ~ mdeaths) + as.layer(bwplot(fdeaths ~ factor(mdeaths*0), box.ratio = 0.2), x.same = FALSE) ## as.layer() is called automatically if two plots are added: histogram(~ ldeaths, type = "density") + densityplot(~ ldeaths, lwd = 3) ## applying one panel layer to several panels of another object xyplot(Sepal.Length + Sepal.Width ~ Petal.Length + Petal.Width | Species, data = iris, scales = "free") + as.layer(levelplot(volcano), x.same = FALSE, y.same = FALSE, under = TRUE) } \keyword{ aplot } latticeExtra/man/c.trellis.Rd0000644000176000001440000001553711462212124015702 0ustar ripleyusers\name{c.trellis} \alias{c.trellis} \alias{xyplot.list} \alias{mergedTrellisLegendGrob} \title{ Merge trellis objects, using same or different scales } \description{ Combine the panels of multiple trellis objects into one. } \usage{ \method{c}{trellis}(..., x.same = NA, y.same = NA, layout = NULL, merge.legends = FALSE, recursive = FALSE) xyplot.list(x, data = NULL, ..., FUN = xyplot, y.same = TRUE, x.same = NA, layout = NULL, merge.legends = FALSE) } \arguments{ \item{\dots}{ two or more trellis objects. If these are named arguments, the names will be used in the corresponding panel strips. } \item{x.same}{ if \code{TRUE}, set the x scale relation to \code{"same"} and recalculate panel limits using data from all panels. Otherwise, the x scales in each panel will be as they were in the original objects (so in general not the same), the default behaviour. } \item{y.same}{ as above, for y scales. Note that \code{xyplot.list} defaults to same y scales. Set to \code{NA} to leave them alone. } \item{layout}{ value for \code{layout} of the new plot; see \code{\link{xyplot}}. } \item{merge.legends}{ to keep keys or legends from all plots, not just the first. If multiple legends share the same \code{"space"}, they are packed together horizontally or vertically. } \item{recursive}{ for consistency with the generic method, ignored. } \item{x}{ a \code{list} of objects to plot individually, and then be combined into one final plot. } \item{FUN, data}{ a lattice plot function, to be called on each element of the list \code{x}, along with \code{data} and \code{...} } } \details{ This mechanism attempts to merge the panels from multiple trellis objects into one. The same effect could generally be achieved by either a custom panel function (where the display depends on \code{packet.number()}), or using \code{\link{print.trellis}} to display multiple trellis objects. However, in some cases it is more convenient to use \code{c()}. Furthermore, it can be useful to maintain the display as a standard lattice display, rather than a composite using \code{\link{print.trellis}}, to simplify further interaction. Many properties of the display, such as titles, axis settings and aspect ratio will be taken from the first object only. Note that combining panels from different types of plots does not really fit the trellis model. Some features of the plot may not work as expected. In particular, some work may be needed to show or hide scales on selected panels. An example is given below. Any trellis object with more than one conditioning variable will be "flattened" to one dimension, eliminating the multi-variate conditioning structure. } \value{ a new trellis object. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{marginal.plot}} was the original motivating application, \code{\link{print.trellis}}, \code{\link{update.trellis}}, \code{\link{trellis.object}} } \examples{ ## Combine different types of plots. c(wireframe(volcano), contourplot(volcano)) ## Merging levelplot with xyplot levObj <- levelplot(prop.table(WorldPhones, 1) * 100) xyObj <- xyplot(Phones ~ Year, data.frame(Phones = rowSums(WorldPhones), Year = row.names(WorldPhones)), type="b", ylim = c(0, 150000)) ## NOTE: prepanel.levelplot (from first object) is used for entire plot. cObj <- c(levObj, xyObj, layout = 1:2) update(cObj, scales = list(y = list(rot = 0)), ylab = c("proportional distribution", "number of phones")) ## Combine two xyplots. sepals <- xyplot(Sepal.Length ~ Sepal.Width, iris, groups = Species, xlab = "Width", ylab = "Height") petals <- xyplot(Petal.Length ~ Petal.Width, iris, groups = Species) c(Sepals = sepals, Petals = petals) ## Force same scales (re-calculate panel limits from merged data): c(Sepals = sepals, Petals = petals, x.same = TRUE, y.same = TRUE) ## Or - create xyplots from a list of formulas xyplot.list(list(Sepals = Sepal.Length ~ Sepal.Width, Petals = Petal.Length ~ Petal.Width), data = iris, groups = Species, x.same = TRUE, xlab = "Width", ylab = "Height") ## Create histograms from a list of objects, and merge them. xyplot.list(iris, FUN = histogram) ## Create cumulative distribution plots from a list of objects xyplot.list(iris[1:4], FUN = qqmath, groups = iris$Species, auto.key = TRUE) ## Display a table as both frequencies and proportions: data(postdoc) ## remove last row (containing totals) postdoc <- postdoc[1:(nrow(postdoc)-1),] pdprops <- barchart(prop.table(postdoc, margin = 1), auto.key = list(adj = 1)) pdmargin <- barchart(margin.table(postdoc, 1)) pdboth <- c(pdprops, pdmargin) update(pdboth, xlab = c("Proportion", "Freq")) ## Conditioned 'quakes' plot combined with histogram. qua <- xyplot(lat ~ long | equal.count(depth, 3), quakes, aspect = "iso", pch = ".", cex = 2, xlab = NULL, ylab = NULL) qua <- c(qua, depth = histogram(quakes$depth), layout = c(4, 1)) ## suppress scales on the first 3 panels update(qua, scales = list(at = list(NULL, NULL, NULL, NA), y = list(draw = FALSE))) ## Demonstrate merging of legends and par.settings. ## Note that par.settings can conflict, thus need col.line=... mypoints <- xyplot(1:10 ~ 1:10, groups = factor(rep(1:2, each = 5)), par.settings = simpleTheme(pch = 16), auto.key = TRUE) mylines <- xyplot(1:10 ~ 1:10, groups = factor(rep(1:5, each = 2)), type = "l", par.settings = simpleTheme(col.line = 1:5), auto.key = list(lines = TRUE, points = FALSE, columns = 5)) c(mypoints, mylines) ## Visualise statistical and spatial distributions ## (advanced!) library(maps) vars <- as.data.frame(state.x77) StateName <- tolower(state.name) form <- StateName ~ Population + Income + Illiteracy + `Life Exp` + Murder + `HS Grad` + Frost + sqrt(Area) ## construct independent maps of each variable statemap <- map("state", plot = FALSE, fill = TRUE) colkey <- draw.colorkey(list(col = heat.colors(100), at = 0:100, labels = list(labels = c("min","max"), at = c(0,100)))) panel.mapplot.each <- function(x, breaks, ...) panel.mapplot(x = x, breaks = quantile(x), ...) vmaps <- mapplot(form, vars, map = statemap, colramp = heat.colors, panel = panel.mapplot.each, colorkey = FALSE, legend = list(right = list(fun = colkey)), xlab = NULL) ## construct independent densityplots of each variable vdens <- densityplot(form[-2], vars, outer = TRUE, cut = 0, scales = list(relation = "free"), ylim = c(0, NA), cex = 0.5, ref = TRUE) + layer(panel.axis("top", half = FALSE, text.cex = 0.7)) ## combine panels from both plots combo <- c(vmaps, vdens) ## rearrange in pairs n <- length(vars) npairs <- rep(1:n, each = 2) + c(0, n) update(combo[npairs], scales = list(draw = FALSE), layout = c(4, 4), between = list(x = c(0, 0.5), y = 0.5)) } \keyword{ aplot } latticeExtra/man/segplot.Rd0000644000176000001440000001073011661656476015475 0ustar ripleyusers\name{segplot} \alias{segplot} \alias{segplot.formula} \title{ Plot segments using the Trellis framework } \description{ This function can be used to systematically draw segments using a formula interface to produce Trellis displays using the lattice package. Segments can be drawn either as lines or bars, and can be color coded by the value of a covariate, with a suitable legend.} \usage{ segplot(x, data, \dots) \S3method{segplot}{formula}(x, data, level = NULL, centers = NULL, prepanel = prepanel.segplot, panel = panel.segplot, xlab = NULL, ylab = NULL, horizontal = TRUE, \dots, at, cuts = 30, colorkey = !is.null(level)) } \arguments{ \item{x}{ Argument on which argument dispatch is carried out. For the \code{"formula"} method, a formula of the form \code{y ~ x1 + x2} (with further conditioning variables appended if necessary). The terms in the formula must all be vectors of the same length. Each element causes a line segment or rectangle to be drawn, with the vertical location determined by \code{y} and horizontal endpoints determined by \code{x1} and \code{x2}. } \item{data}{ An optional data frame, list or environment where variables in the formula, as well as \code{level}, will be evaluated. } \item{level}{ An optional covariate that determines color coding of the segments} \item{centers}{ optional vector of \sQuote{centers} of the segments. If specified, points will be plotted at these \code{y}-locations. } \item{prepanel}{ function determining range of the data rectangle from data to be used in a panel. } \item{panel}{ function to render the graphic given the data. This is the function that actually implements the display. } \item{xlab, ylab}{ Labels for the axes. By default both are missing. } \item{horizontal}{ logical, whether the segments are to be drawn horizontally (the default) or vertically. This essentially swaps the role of the x- and y-axes in each panel. } \item{\dots}{ further arguments. Arguments to \code{levelplot} as well as to the default panel function \code{\link{panel.segplot}} can be supplied directly to \code{segplot}. } \item{colorkey}{ logical indicating whether a legend showing association of segment colors to values of \code{level} should be shown, or a list to control details of such a color key. See details below. } \item{at, cuts}{ \code{at} specifies the values of \code{level} where the color code changes. If \code{at} is missing, it defaults to \code{cuts} equispaced locations spanning the range of \code{levels} } } \details{ The \code{levelplot} function from the lattice package is used to internally to implement this function. In particular, the colorkey mechanism is used as it is, and documentation for \code{\link{levelplot}} should be consulted to learn how to fine tune it. } \value{ An object of class \code{"trellis"}. The \code{\link[=update.trellis]{update}} method can be used to update components of the object and the \code{\link[=print.trellis]{print}} method (usually called by default) will plot it on an appropriate plotting device. } % \references{ ~put references to the literature/web site here ~ } \author{ Deepayan Sarkar \email{deepayan.sarkar@r-project.org} } \note{ Currently only horizontal segments are supported. Vertical segments can be obtained by modifying the prepanel and panel functions suitably. } \seealso{ \code{\link{Lattice}}, \code{\link{panel.segplot}}, \code{\link{levelplot}}, \code{\link{xyplot}} } \examples{ segplot(factor(1:10) ~ rnorm(10) + rnorm(10), level = runif(10)) data(USCancerRates) segplot(reorder(factor(county), rate.male) ~ LCL95.male + UCL95.male, data = subset(USCancerRates, state == "Washington")) segplot(reorder(factor(county), rate.male) ~ LCL95.male + UCL95.male, data = subset(USCancerRates, state == "Washington"), draw.bands = FALSE, centers = rate.male) segplot(reorder(factor(county), rate.male) ~ LCL95.male + UCL95.male, data = subset(USCancerRates, state == "Washington"), level = rate.female, col.regions = terrain.colors) segplot(reorder(factor(county), rate.male) ~ LCL95.male + UCL95.male, data = subset(USCancerRates, state == "Washington"), draw.bands = FALSE, centers = rate.male, segments.fun = panel.arrows, ends = "both", angle = 90, length = 1, unit = "mm") } \keyword{hplot} latticeExtra/man/panel.segplot.Rd0000644000176000001440000000634312203055637016561 0ustar ripleyusers\name{panel.segplot} \alias{prepanel.segplot} \alias{panel.segplot} \title{ Default prepanel and panel functions for segplot } \description{ Draws line segments or rectangles. Mainly intended to be used in conjunction with the \code{segplot} function. } \usage{ prepanel.segplot(x, y, z, subscripts, horizontal = TRUE, ...) panel.segplot(x, y, z, level = NULL, subscripts, at, draw.bands = is.factor(z), col, alpha, lty, lwd, border, col.symbol = col, alpha.symbol = alpha, col.regions = regions$col, band.height = 0.6, horizontal = TRUE, ..., segments.fun = panel.segments, centers = NULL, pch = 16) } \arguments{ \item{x, y, z}{ Vectors corresponding to \code{x1}, \code{x2} and \code{y} respectively in the \code{segplot} formula. The names are different for compatibility with \code{panel.levelplot}. These are all the original vectors in \code{data}, not subsetted for particular panels. } \item{level}{ optional vector controlling color of segments } \item{centers}{ optional vector of \sQuote{centers} of the segments. If specified, points will be plotted at these \code{y}-locations. } \item{pch}{ plotting character used for \code{centers}. } \item{subscripts}{ integer subscript to be used as an indexing vector for \code{x}, \code{y}, \code{z} and \code{level}, giving the packet for the current panel. } \item{horizontal}{ logical, whether the segments are to be drawn horizontally (the default) or vertically. This essentially swaps the role of the x- and y-axes in each panel. } \item{at}{ values of \code{level} where color code changes } \item{draw.bands}{ logical, whether to draw rectangles instead of lines } \item{col, alpha, lty, lwd, border}{ Graphical parameters for the segment. Defaults to parameter settings for \code{"plot.line"} or \code{"plot.polygon"} for segments and rectangles respectively. \code{col} is overridden by \code{col.regions} if \code{level} is not null. } \item{col.symbol, alpha.symbol}{ Graphical parameters for the point if \code{centers} are plotted. Defaults to the corresponding parameters for the segment. } \item{col.regions}{ vector of colors as in \code{\link{levelplot}} } \item{band.height}{ height of rectangles (applicable if \code{draw.bands} is \code{TRUE} } \item{\dots}{ Other arguments, passed on to \code{panel.rect} (when \code{draw.bands=TRUE}), \code{segments.fun} (otherwise), \code{panel.points} (if \code{centers} is not \code{NULL}), etc. as appropriate. } \item{segments.fun}{ function used to plot segments when \code{draw.bands} is \code{FALSE}. The default is to use \code{\link{panel.segments}}, but \code{\link{panel.arrows}} is a useful alternative (arguments to \code{segments.fun} can be provided via the \code{\dots} argument, see example for \code{\link{segplot}}).} } \value{ For \code{prepanel.segplot} a list with components \code{xlim} and \code{ylim}. } \author{ Deepayan Sarkar \email{deepayan.sarkar@r-project.org} } \seealso{ \code{\link{segplot}} } \keyword{ dplot } latticeExtra/man/horizonplot.Rd0000644000176000001440000002235211462212124016363 0ustar ripleyusers\name{horizonplot} \alias{horizonplot} \alias{horizonplot.default} \alias{panel.horizonplot} \alias{prepanel.horizonplot} \title{ Plot many time series in parallel } \description{ Plot many time series in parallel by cutting the y range into segments and overplotting them with color representing the magnitude and direction of deviation. } \usage{ horizonplot(x, data, \dots) \S3method{horizonplot}{default}(x, data = NULL, \dots, horizonscale = NA, origin = function(y) na.omit(y)[1], colorkey = FALSE, legend = NULL, panel = panel.horizonplot, prepanel = prepanel.horizonplot, col.regions = c("#B41414","#E03231","#F7A99C","#9FC8DC","#468CC8","#0165B3"), strip = FALSE, strip.left = TRUE, par.strip.text = list(cex = 0.6), colorkey.digits = 3, groups = NULL, default.scales = list(y = list(relation = "free", axs = "i", draw = FALSE, tick.number = 2))) panel.horizonplot(x, y, ..., border = NA, col.regions = c("#B41414","#E03231","#F7A99C","#9FC8DC","#468CC8","#0165B3"), origin) prepanel.horizonplot(x, y, ..., horizonscale = NA, origin = function(y) na.omit(y)[1]) } \arguments{ \item{x, y}{ Argument on which argument dispatch is carried out. Typically this will be a multivariate time series. In the panel and prepanel functions, these are the data coordinates. } \item{data}{ Not used (at least, not used by \code{xyplot.ts}). } \item{\dots}{ further arguments. Arguments to \code{xyplot} as well as to the default panel function \code{\link{panel.horizonplot}} can be supplied directly to \code{horizonplot}. In typical usage, the method of \code{xyplot} called will be \code{\link{xyplot.ts}}. } \item{horizonscale}{ the scale of each color segment. There are 3 positive segments and 3 negative segments. If this is a given as a number then all panels will have comparable distances, though not necessarily the same actual values (similar in concept to \code{scales$relation = "sliced"}). If \code{NA}, as it is by default, then the scale is chosen in each panel to cover the range of the data (unless overridden by \code{ylim}); see Details. } \item{origin}{ the baseline y value for the first (positive) segment (i.e. the value at which red changes to blue). This can be a number, which is then fixed across all panels, or it can be a function, which is evaluated with the \code{y} values in each panel. The default is the first non-missing y value in each panel. See the Details section. } \item{colorkey, legend}{ if \code{colorkey = TRUE} a suitable color scale bar is constructed using the values of \code{origin} and \code{horizonscale}. Further options can be passed to \code{colorkey} in list form, as with \code{\link{levelplot}}. } \item{panel}{ function to render the graphic given the data. This is the function that actually implements the display. } \item{prepanel}{ function determining range of the data rectangle from data to be used in a panel. } \item{col.regions}{ color scale, with at least 6 colors. This should be a divergent color scale (typically with white as the central color). } \item{strip, strip.left}{ by default strips are only drawn on the left, to save space. } \item{par.strip.text}{ graphical parameters for the strip text; see \code{\link{xyplot}}. One notable argument here is \code{lines}, allowing multi-line text. } \item{colorkey.digits}{ digits for rounding values in colorkey labels. } \item{default.scales}{ sets default values of \code{scales}; leave this alone, pass \code{scales} instead. } \item{groups}{ not applicable to this type of plot. } \item{border}{ border color for the filled polygons, defaults to no border. } } \details{ This function draws time series as filled areas, with modifications to effectively visualise many time series in parallel. Data that would be drawn off the top of each panel is redrawn from the bottom of the panel in a darker color. Values below the origin are inverted and drawn in the opposite color. There are up to three shades (typically in blue) for data above the baseline and up to three shades (typically in red) for data below the baseline. See the article referenced below for an introduction to Horizon plots. There are three different cases of using this function: \enumerate{ \item \code{horizonscale} unspecified (default case): then each panel will have different scales, and the colors represent deviations from the origin up to the maximum deviation from the origin in that panel. If \code{origin} is specified then that will be constant across panels; otherwise it defaults to the initial value. \item \code{horizonscale} specified but \code{origin} unspecified: the origin defaults to the initial value in each panel, and colors represent deviations from it in steps of \code{horizonscale} (up to 3 steps each way). \item both \code{horizonscale} and \code{origin} specified: each panel will have the same scales, and colors represent fixed ranges of values. } In each of these cases the \code{colorkey} is labelled slightly differently (see examples). } \section{Warning}{ Note that the y scale in each panel defines the actual origin and scale used. The \code{origin} and \code{horizonscale} arguments are only used in the \code{prepanel} function to choose an appropriate y scale. The \code{ylim} argument therefore over-rides \code{origin} and \code{horizonscale}. This also implies that choices of \code{scales$y$relation} other than \code{"free"} may have unexpected effects, particularly \code{"sliced"}, as these change the y limits from those requested by the prepanel function. } \value{ An object of class \code{"trellis"}. The \code{\link[=update.trellis]{update}} method can be used to update components of the object and the \code{\link[=print.trellis]{print}} method (usually called by default) will plot it on an appropriate plotting device. } \references{ Stephen Few (2008). Time on the Horizon. \emph{Visual Business Intelligence Newsletter}, June/July 2008 \url{http://www.perceptualedge.com/articles/visual_business_intelligence/time_on_the_horizon.pdf} } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{Lattice}}, \code{\link{xyplot.ts}}, \code{\link{panel.xyarea}} } \examples{ ## generate a random time series object with 12 columns set.seed(1) dat <- ts(matrix(cumsum(rnorm(200 * 12)), ncol = 12)) colnames(dat) <- paste("series", LETTERS[1:12]) ## show simple line plot first, for reference. xyplot(dat, scales = list(y = "same")) ## these layers show scale and origin in each panel... infolayers <- layer(panel.scaleArrow(x = 0.99, digits = 1, col = "grey", srt = 90, cex = 0.7)) + layer(lim <- current.panel.limits(), panel.text(lim$x[1], lim$y[1], round(lim$y[1],1), font = 2, cex = 0.7, adj = c(-0.5,-0.5), col = "#9FC8DC")) ## Case 1: each panel has a different origin and scale: ## ('origin' default is the first data value in each series). horizonplot(dat, layout = c(1,12), colorkey = TRUE) + infolayers ## Case 2: fixed scale but different origin (baseline): ## (similar in concept to scales = "sliced") horizonplot(dat, layout = c(1,12), horizonscale = 10, colorkey = TRUE) + infolayers ## Case 3: fixed scale and constant origin (all same scales): horizonplot(dat, layout = c(1,12), origin = 0, horizonscale = 10, colorkey = TRUE) + infolayers ## same effect using ylim (but colorkey does not know limits): horizonplot(dat, layout = c(1,12), ylim = c(0, 10), colorkey = TRUE) + infolayers ## same scales with full coverage of color scale: horizonplot(dat, layout = c(1,12), origin = 0, scales = list(y = list(relation = "same")), colorkey = TRUE, colorkey.digits = 1) + infolayers ## use ylab rather than strip.left, for readability. ## also shade any times with missing data values. horizonplot(dat, horizonscale = 10, colorkey = TRUE, layout = c(1,12), strip.left = FALSE, ylab = list(rev(colnames(dat)), rot = 0, cex = 0.7)) + layer_(panel.fill(col = "gray90"), panel.xblocks(..., col = "white")) ## illustration of the cut points used in the following plot xyplot(EuStockMarkets, scales = list(y = "same"), panel = function(x, y, ...) { col <- c("#B41414","#E03231","#F7A99C","#9FC8DC","#468CC8","#0165B3") for (i in c(-3:-1, 2:0)) { if (i >= 0) yi <- pmax(4000, pmin(y, 4000 + 1000 * (i+1))) if (i < 0) yi <- pmin(4000, pmax(y, 4000 + 1000 * i)) panel.xyarea(x, yi, origin = 4000, col = col[i+4], border = NA) } panel.lines(x, y) panel.abline(h = 4000, lty = 2) }) ## compare with previous plot horizonplot(EuStockMarkets, colorkey = TRUE, origin = 4000, horizonscale = 1000) + infolayers ## a cut-and-stack plot; use constant y scales! horizonplot(sunspots, cut = list(n = 23, overlap = 0), scales = list(draw = FALSE, y = list(relation = "same")), origin = 100, colorkey = TRUE, strip.left = FALSE, layout = c(1,23)) + layer(grid::grid.text(round(x[1]), x = 0, just = "left")) } \keyword{hplot} \keyword{ts} latticeExtra/man/rootogram.Rd0000644000176000001440000001552012203055637016014 0ustar ripleyusers\name{rootogram} \alias{rootogram} \alias{rootogram.formula} \alias{panel.rootogram} \alias{prepanel.rootogram} \title{Trellis Displays of Tukey's Hanging Rootograms} \description{ Displays hanging rootograms. } \usage{ rootogram(x, \dots) \method{rootogram}{formula}(x, data = parent.frame(), ylab = expression(sqrt(P(X == x))), prepanel = prepanel.rootogram, panel = panel.rootogram, ..., probability = TRUE) prepanel.rootogram(x, y = table(x), dfun = NULL, transformation = sqrt, hang = TRUE, probability = TRUE, \dots) panel.rootogram(x, y = table(x), dfun = NULL, col = plot.line$col, lty = plot.line$lty, lwd = plot.line$lwd, alpha = plot.line$alpha, transformation = sqrt, hang = TRUE, probability = TRUE, \dots) } \arguments{ \item{x, y}{ For \code{rootogram}, \code{x} is the object on which method dispatch is carried out. For the \code{"formula"} method, \code{x} is a formula describing the form of conditioning plot. The formula can be either of the form \code{~x} or of the form \code{y~x}. In the first case, \code{x} is assumed to be a vector of raw observations, and an observed frequency distribution is computed from it. In the second case, \code{x} is assumed to be unique values and \code{y} the corresponding frequencies. In either case, further conditioning variables are allowed. A similar interpretation holds for \code{x} and \code{y} in \code{prepanel.rootogram} and \code{panel.rootogram}. Note that the data are assumed to arise from a discrete distribution with some probability mass function. See details below. } \item{data}{ For the \code{"formula"} method, a data frame containing values for any variables in the formula, as well as those in \code{groups} and \code{subset} if applicable (\code{groups} is currently ignored by the default panel function). By default the environment where the function was called from is used. } \item{dfun}{ a probability mass function, to be evaluated at unique x values } \item{prepanel, panel}{ panel and prepanel function used to create the display. } \item{ylab}{ the y-axis label; typically a character string or an expression. } \item{col, lty, lwd, alpha}{ graphical parameters } \item{transformation}{ a vectorized function. Relative frequencies (observed) and theoretical probabilities (\code{dfun}) are transformed by this function before being plotted. } \item{hang}{logical, whether lines representing observed relative freuqncies should \dQuote{hang} from the curve representing the theoretical probabilities. } \item{probability}{ A logical flag, controlling whether the y-values are to be standardized to be probabilities by dividing by their sum. } \item{\dots}{ extra arguments, passed on as appropriate. Standard lattice arguments as well as arguments to \code{panel.rootogram} can be supplied directly in the high level \code{rootogram} call. } } \details{ This function implements Tukey's hanging rootograms. As implemented, \code{rootogram} assumes that the data arise from a discrete distribution (either supplied in raw form, when \code{y} is unspecified, or in terms of the frequency distribution) with some unknown probability mass function (p.m.f.). The purpose of the plot is to check whether the supplied theoretical p.m.f. \code{dfun} is a reasonable fit for the data. It is reasonable to consider rootograms for continuous data by discretizing it (similar to a histogram), but this must be done by the user before calling \code{rootogram}. An example is given below. Also consider the \code{rootogram} function in the \code{vcd} package, especially if the number of unique values is small. } \value{ \code{rootogram} produces an object of class \code{"trellis"}. The \code{update} method can be used to update components of the object and the \code{print} method (usually called by default) will plot it on an appropriate plotting device. } \references{ John W. Tukey (1972) Some graphic and semi-graphic displays. In T. A. Bancroft (Ed) \emph{Statistical Papers in Honor of George W. Snedecor}, pp. 293--316. Available online at \url{http://www.edwardtufte.com/tufte/tukey} } \author{ Deepayan Sarkar \email{deepayan.sarkar@gmail.com}} \seealso{ \code{\link{xyplot}} } \examples{ library(lattice) x <- rpois(1000, lambda = 50) p <- rootogram(~x, dfun = function(x) dpois(x, lambda = 50)) p lambdav <- c(30, 40, 50, 60, 70) update(p[rep(1, length(lambdav))], aspect = "xy", panel = function(x, ...) { panel.rootogram(x, dfun = function(x) dpois(x, lambda = lambdav[panel.number()])) }) lambdav <- c(46, 48, 50, 52, 54) update(p[rep(1, length(lambdav))], aspect = "xy", prepanel = function(x, ...) { tmp <- lapply(lambdav, function(lambda) { prepanel.rootogram(x, dfun = function(x) dpois(x, lambda = lambda)) }) list(xlim = range(sapply(tmp, "[[", "xlim")), ylim = range(sapply(tmp, "[[", "ylim")), dx = do.call("c", lapply(tmp, "[[", "dx")), dy = do.call("c", lapply(tmp, "[[", "dy"))) }, panel = function(x, ...) { panel.rootogram(x, dfun = function(x) dpois(x, lambda = lambdav[panel.number()])) grid::grid.text(bquote(Poisson(lambda == .(foo)), where = list(foo = lambdav[panel.number()])), y = 0.15, gp = grid::gpar(cex = 1.5)) }, xlab = "", sub = "Random sample from Poisson(50)") ## Example using continuous data xnorm <- rnorm(1000) ## 'discretize' by binning and replacing data by bin midpoints h <- hist(xnorm, plot = FALSE) ## Option 1: Assume bin probabilities proportional to dnorm() norm.factor <- sum(dnorm(h$mids, mean(xnorm), sd(xnorm))) rootogram(counts ~ mids, data = h, dfun = function(x) { dnorm(x, mean(xnorm), sd(xnorm)) / norm.factor }) ## Option 2: Compute probabilities explicitly using pnorm() pdisc <- diff(pnorm(h$breaks, mean = mean(xnorm), sd = sd(xnorm))) pdisc <- pdisc / sum(pdisc) rootogram(counts ~ mids, data = h, dfun = function(x) { f <- factor(x, levels = h$mids) pdisc[f] }) } \keyword{dplot} latticeExtra/man/USCancerRates.Rd0000644000176000001440000000334011062365303016436 0ustar ripleyusers\name{USCancerRates} \alias{USCancerRates} \docType{data} \title{ Rate of Death Due to Cancer in US Counties } \description{ This data set records the annual rates of death (1999-2003) due to cancer by sex in US counties. } \usage{data(USCancerRates)} \format{ A data frame with 3041 observations on the following 8 variables. \describe{ \item{\code{rate.male}}{a numeric vector, giving rate of death per 100,000 due to cancer among males} \item{\code{LCL95.male}}{a 95\% lower confidence limit for \code{rate.male} } \item{\code{UCL95.male}}{a 95\% upper confidence limit for \code{rate.male} } \item{\code{rate.female}}{a numeric vector, giving rate of death per 100,000 due to cancer among females} \item{\code{LCL95.female}}{a 95\% lower confidence limit for \code{rate.female}} \item{\code{UCL95.female}}{a 95\% upper confidence limit for \code{rate.female}} \item{\code{state}}{ a factor with levels giving name of US state } \item{\code{county}}{ a character vector giving county names, in a format similar to that used for county map boundaries in the \code{maps} package. } } } \details{ See the scripts directory for details of data preprocessing steps. From the website: Death data provided by the National Vital Statistics System public use data file. Death rates calculated by the National Cancer Institute using SEER*Stat. Death rates are age-adjusted to the 2000 US standard population [\url{http://www.seer.cancer.gov/stdpopulations/stdpop.19ages.html}]. Population counts for denominators are based on Census populations as modified by NCI. } \source{ \url{http://statecancerprofiles.cancer.gov/} } \examples{ data(USCancerRates) } \keyword{datasets} latticeExtra/man/SeatacWeather.Rd0000644000176000001440000000274211062365303016521 0ustar ripleyusers\name{SeatacWeather} \alias{SeatacWeather} \docType{data} \title{ Daily Rainfall and Temperature at the Seattle-Tacoma Airport } \description{ Daily Rainfall and Temperature at the Seattle-Tacoma Airport between January through March of 2007. } \usage{data(SeatacWeather)} \format{ A data frame with 90 observations on the following 14 variables. \describe{ \item{\code{month}}{a factor with levels \code{January}, \code{February}, and \code{March}} \item{\code{day}}{ day of the month } \item{\code{year}}{ year, all 2007 } \item{\code{max.temp}}{ maximum temperature (Fahrenheit) } \item{\code{record.max}}{ record maximum temperature } \item{\code{normal.max}}{ normal maximum temperature } \item{\code{min.temp}}{ minimum temperature } \item{\code{record.min}}{ record minimum temperature } \item{\code{normal.min}}{ normal minimum temperature } \item{\code{precip}}{ precipitation (inches) } \item{\code{record.precip}}{ record precipitation } \item{\code{normal.precip}}{ normal precipitation } \item{\code{time.max}}{ time of maximum temperature } \item{\code{time.min}}{ time of minimum temperature } } } \details{ The time of minimum and maximum temperatures should be interpreted as follows: the least two significant digits denote minutes (out of 60) and the next two significant digits denote hout (out of 24). } \source{ \url{http://www.atmos.washington.edu/cgi-bin/list_climate.cgi?clisea} } \keyword{datasets} latticeExtra/man/scale.components.Rd0000644000176000001440000000714111661267040017256 0ustar ripleyusers\name{scale.components} \alias{scale.components} \alias{xscale.components.logpower} \alias{yscale.components.logpower} \alias{xscale.components.fractions} \alias{yscale.components.fractions} \alias{xscale.components.log10ticks} \alias{yscale.components.log10ticks} \alias{xscale.components.log} \alias{yscale.components.log} \alias{xscale.components.log10.3} \alias{yscale.components.log10.3} \alias{xscale.components.subticks} \alias{yscale.components.subticks} \title{ Custom lattice axis scales } \description{ Convenience functions for drawing axes with various non-default tick positions and labels. } \usage{ xscale.components.logpower(lim, ...) yscale.components.logpower(lim, ...) xscale.components.fractions(lim, logsc = FALSE, ...) yscale.components.fractions(lim, logsc = FALSE, ...) xscale.components.log10ticks(lim, logsc = FALSE, at = NULL, ...) yscale.components.log10ticks(lim, logsc = FALSE, at = NULL, ...) xscale.components.log(lim, logsc = FALSE, at = NULL, loc = NULL, ...) yscale.components.log(lim, logsc = FALSE, at = NULL, loc = NULL, ...) xscale.components.log10.3(lim, logsc = FALSE, at = NULL, ...) yscale.components.log10.3(lim, logsc = FALSE, at = NULL, ...) xscale.components.subticks(lim, ..., n = 5, n2 = n * 5, min.n2 = n + 5) yscale.components.subticks(lim, ..., n = 5, n2 = n * 5, min.n2 = n + 5) } \arguments{ \item{lim}{ scale limits. } \item{\dots}{ passed on to \code{\link{xscale.components.default}} or \code{yscale.components.default}. } \item{logsc}{ \code{log} base, typically specified in the \code{scales} argument to a high-level lattice plot. } \item{at}{ this is ignored unless it is \code{NULL}, in which case nothing is drawn. } \item{loc}{ Ignored if \code{NULL}. Otherwise, vector of values between 1 and 9 that form the template for tick mark locations after being scaled appropriately. For example, \code{loc = c(1, 3)} leads to tick marks at \code{c(0.1, 0.3, 1, 3, 10, 30)} and so on. } \item{n}{ desired number of intervals between major axis ticks (passed to \code{\link{pretty}}. } \item{n2, min.n2}{ desired, and minimum, number of intervals between minor axis ticks (passed to \code{\link{pretty}}. } } \details{ These functions are intended to be passed to the \code{xscale.components} or \code{yscale.components} arguments of high-level lattice plots. See \code{\link{xscale.components.default}}. \code{xscale.components.logpower} draws tickmarks at the same locations as the default, but labels them more smartly using superscripts for the power (using expressions). \code{xscale.components.fractions} labels the tickmarks as fractions. \code{xscale.components.log10ticks} puts major tick marks at powers of 10, and minor tickmarks in between. } \references{ Sarkar, Deepayan (2008) \dQuote{Lattice: Multivariate Data Visualization with R}, Springer. ISBN: 978-0-387-75968-5 \url{http://lmdvr.r-forge.r-project.org/figures/figures.html?chapter=08;figure=08_04} } \examples{ xyplot((1:200)/20 ~ (1:200)/20, type = c("p", "g"), scales = list(x = list(log = 2), y = list(log = 10)), xscale.components = xscale.components.fractions, yscale.components = yscale.components.log10ticks) xyplot((1:200)/20 ~ (1:200)/20, type = c("p", "g"), scales = list(x = list(log = 2), y = list(log = 10)), xscale.components = xscale.components.logpower, yscale.components = yscale.components.log10.3) dd <- as.Date("2000-01-01") + 0:365 xyplot(0:365 ~ dd, type = c("p", "g"), xscale.components = xscale.components.subticks, yscale.components = yscale.components.subticks) } \keyword{dplot} latticeExtra/man/mapplot.Rd0000644000176000001440000001145111403245153015451 0ustar ripleyusers\name{mapplot} \alias{mapplot} \alias{mapplot.formula} \alias{panel.mapplot} \alias{prepanel.mapplot} \title{ Trellis displays on Maps a.k.a. Choropleth maps } \description{ Produces Trellis displays of numeric (and eventually categorical) data on a map. This is largely meant as a demonstration, and users looking for serious map drawing capabilities should look elsewhere (see below). } \usage{ mapplot(x, data, \dots) \S3method{mapplot}{formula}(x, data, map, outer = TRUE, prepanel = prepanel.mapplot, panel = panel.mapplot, aspect = "iso", legend = NULL, breaks, cuts = 30, colramp = colorRampPalette(brewer.pal(n = 11, name = "Spectral")), colorkey = TRUE, \dots) prepanel.mapplot(x, y, map, \dots) panel.mapplot(x, y, map, breaks, colramp, exact = FALSE, lwd = 0.5, \dots) } \arguments{ \item{x, y}{ For \code{mapplot}, an object on which method dispatch is carried out. For the formula method, a formula of the form \code{y ~ x}, with additional conditioning variables as desired. The extended form of conditioning using \code{y ~ x1 + x2} etc. is also allowed. The formula might be interpreted as in a dot plot, except that \code{y} is taken to be the names of geographical units in \code{map}. Suitable subsets (packets) of \code{x} and \code{y} are passed to the prepanel and panel functions. } \item{data}{ A data source where names in the formula are evaluated } \item{map}{ An object of class \code{"map"} (package \code{maps}), containing boundary information. The names of the geographical units must match the \code{y} variable in the formula. } The remaining arguments are standard lattice arguments, relvant here mostly because they have different defaults than usual: \item{outer}{ logical; how variables separated by \code{+} in the formula are interpreted. It is not advisable to change the default. } \item{prepanel, panel}{ the prepanel and panel functions } \item{aspect}{ aspect ratio} \item{breaks, cuts, colramp}{ controls conversion of numeric \code{x} values to a false color. \code{colramp} should be a function that produces colors (such as \code{\link{cm.colors}}). If it is \code{NULL}, colors are taken from \code{trellis.par.get("regions")}. } \item{exact}{ the default \code{exact = FALSE} allows the given \code{y} values to match sub-regions of \code{map}, i.e. region names with a qualifier following \code{":"}, like \code{"michigan:north", "michigan:south"}. These will both match a \code{y} value of \code{"Michigan"}. } \item{legend, colorkey}{ controls legends; usually just a color key giving the association between numeric values of \code{x} and color. } \item{lwd}{line width} \item{\dots}{ Further arguments passed on to the underlying engine. See \code{\link{xyplot}} for details. } } \value{ An object of class \code{"trellis"}. } \references{ \url{http://en.wikipedia.org/wiki/Choropleth_map} } \author{ Deepayan Sarkar } \note{ This function is meant to demonstrate how maps can be incorporated in a Trellis display. Users seriously interested in geographical data should consider using software written by people who know what they are doing. } \seealso{ \code{\link{Lattice}} } \examples{ library(maps) library(mapproj) ## Note: Alaska, Hawaii and others are not included in county map; ## this generates warnings with both USCancerRates and ancestry. data(USCancerRates) suppressWarnings(print( mapplot(rownames(USCancerRates) ~ log(rate.male) + log(rate.female), data = USCancerRates, map = map("county", plot = FALSE, fill = TRUE, projection = "mercator")) )) suppressWarnings(print( mapplot(rownames(USCancerRates) ~ log(rate.male) + log(rate.female), data = USCancerRates, map = map("county", plot = FALSE, fill = TRUE, projection = "tetra"), scales = list(draw = FALSE)) )) data(ancestry) county.map <- map('county', plot = FALSE, fill = TRUE, projection = "azequalarea") ## set a sequential color palette as current theme, and use it opar <- trellis.par.get() trellis.par.set(custom.theme(region = brewer.pal(9, "Purples"), alpha.line = 0.5)) suppressWarnings(print( mapplot(county ~ log10(population), ancestry, map = county.map, colramp = NULL) )) trellis.par.set(opar) \dontrun{ ## this may take a while (should get better area records) county.areas <- area.map(county.map, regions = county.map$names, sqmi = FALSE) ancestry$density <- with(ancestry, population / county.areas[as.character(county)]) mapplot(county ~ log(density), ancestry, map = county.map, border = NA, colramp = colorRampPalette(c("white", "black"))) } } \keyword{ hplot } latticeExtra/man/ancestry.Rd0000644000176000001440000000216411062365303015627 0ustar ripleyusers\name{ancestry} \alias{ancestry} \docType{data} \title{ Modal ancestry by County according to US 2000 Census } \description{ This data set records the population and the three most frequently reported ancestries by US county, according to the 2000 census. } \usage{data(ancestry)} \format{ A data frame with 3219 observations on the following 5 variables. \describe{ \item{\code{county}}{ A factor. An attempt has been made to make the levels look similar to the county names used in the \code{maps} package. } \item{\code{population}}{a numeric vector} \item{\code{top}}{a character vector} \item{\code{second}}{a character vector} \item{\code{third}}{a character vector} } } \source{ U.S. Census Bureau. The ancestry data were extracted from Summary File 3: \url{http://factfinder.census.gov/jsp/saff/SAFFInfo.jsp?_pageId=sp4_decennial_sf3} which is based on the \sQuote{long form} questionnaire (asked to 1 in 6 households surveyed). } \seealso{ \code{\link{mapplot}}, for examples. } \references{ \url{http://www.census.gov/prod/cen2000/doc/sf3.pdf} } \keyword{datasets} latticeExtra/man/marginal.plot.Rd0000644000176000001440000000554111462212124016544 0ustar ripleyusers\name{marginal.plot} \alias{marginal.plot} \title{ Display marginal distributions } \description{ Display marginal distributions of several variables, which may be numeric and/or categorical, on one plot. } \usage{ marginal.plot(x, data = NULL, groups = NULL, reorder = !is.table(x), plot.points = FALSE, ref = TRUE, cut = 0, origin = 0, %ylim = c(0, NA), xlab = NULL, ylab = NULL, type = c("p", if (is.null(groups)) "h"), ..., subset = TRUE, as.table = TRUE, subscripts = TRUE, default.scales = list( relation = "free", abbreviate = TRUE, minlength = 5, rot = 30, cex = 0.75, tick.number = 3, y = list(draw = FALSE)), layout = NULL, lattice.options = list( layout.heights = list( axis.xlab.padding = list(x = 0), xlab.key.padding = list(x = 0)))) } \arguments{ \item{x}{ a data frame or table, or a formula of which the first term is a data frame or table. Otherwise coerced with \code{as.data.frame}. } \item{data}{ an optional data source in which groups and subset may be be evaluated. } \item{groups}{ term, to be evaluated in \code{data}, that is used as a grouping variable. } \item{reorder}{ whether to reorder factor variables by frequency. } \item{subset}{ data subset expression, evaluated in \code{data}. } \item{plot.points, ref, cut}{ passed to \code{panel.densityplot}. } \item{origin, type}{ passed to \code{panel.dotplot}. } \item{xlab, ylab, as.table, subscripts}{ see \code{\link{xyplot}}. } \item{default.scales, layout, lattice.options}{ see \code{\link{xyplot}}. } \item{\dots}{ passed to \code{\link{panel.densityplot}} and/or \code{\link{panel.dotplot}}. } } \details{ In the case of mixed numeric and categorical variables, the trellis objects from \code{dotplot()} and \code{densityplot()} are merged. } \value{ a trellis object. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{panel.dotplot}}, \code{\link{panel.densityplot}} } \examples{ enviro <- environmental ## make an ordered factor (so it will not be reordered) enviro$smell <- cut(enviro$ozone, breaks = c(0, 30, 50, Inf), labels = c("ok", "hmmm", "yuck"), ordered = TRUE) marginal.plot(enviro) ## using groups enviro$is.windy <- factor(enviro$wind > 10, levels = c(TRUE, FALSE), labels = c("windy", "calm")) marginal.plot(enviro[,1:5], data = enviro, groups = is.windy, auto.key = list(lines = TRUE)) ## support for tables marginal.plot(Titanic) ## table with groups marginal.plot(~ Titanic, data = Titanic, groups = Survived, type = "b", auto.key = list(title = "Survived?")) } \keyword{ hplot } latticeExtra/man/custom.theme.Rd0000644000176000001440000000442511377660023016422 0ustar ripleyusers\name{custom.theme} \alias{custom.theme} \alias{custom.theme.2} \title{ Create a lattice theme based on specified colors } \description{ Creates a lattice theme given a few colors. Non-color settings are not included. The colors are typically used to define the standard grouping (superposition) colors, and the first color is used for ungrouped displays. } \usage{ custom.theme(symbol = brewer.pal(n = 8, name = "Dark2"), fill = brewer.pal(n = 12, name = "Set3"), region = brewer.pal(n = 11, name = "Spectral"), reference = "#e8e8e8", bg = "transparent", fg = "black", \dots) ## different defaults ("Set1", "Accent", "RdBu"): custom.theme.2(\dots) } \arguments{ \item{symbol}{ a vector of symbol colors. } \item{fill}{ a vector of fill colors (for barcharts, etc.) } \item{region}{ a vector of colors that is used to define a continuous color gradient using \code{\link{colorRampPalette}}} \item{reference}{ a color for reference lines and such } \item{bg}{ a background color } \item{fg}{ a foreground color, primarily for annotation } \item{\dots}{ further arguments passed to \code{\link{simpleTheme}} and used to modify the theme. } } \value{ A list that can be supplied to \code{\link{trellis.par.get}} or as the \code{theme} argument to \code{\link{trellis.device}}. } \author{ Deepayan Sarkar } \examples{ set.seed(0) ## create a plot to demonstrate graphical settings obj <- xyplot(Sepal.Length + Sepal.Width ~ Petal.Length + Petal.Width, iris, type = c("p", "r"), jitter.x = TRUE, jitter.y = TRUE, factor = 5, auto.key = list(lines = TRUE, rectangles = TRUE)) obj <- update(obj, legend = list(right = list(fun = "draw.colorkey", args = list(list(at = 0:100))))) %% NOTE: used in website for "style example" ## draw with default theme obj ## draw with custom.theme() update(obj, par.settings = custom.theme()) ## create a theme with paired colours, filled points, etc update(obj, par.settings = custom.theme(symbol = brewer.pal(12, "Paired"), fill = brewer.pal(12, "Paired"), region = brewer.pal(9, "Blues"), bg = "grey90", fg = "grey20", pch = 16)) ## draw with custom.theme.2() update(obj, par.settings = custom.theme.2()) } \keyword{dplot} latticeExtra/man/panel.scaleArrow.Rd0000644000176000001440000000361111403245153017174 0ustar ripleyusers\name{panel.scaleArrow} \alias{panel.scaleArrow} \title{ Draw a scale bar as an arrow, labelled with its length in plot units. } \description{ Draw a scale bar as an arrow, labelled with its length in plot units. } \usage{ panel.scaleArrow(x = unit(0:1, "npc"), y = unit(0:1, "npc"), default.units = "npc", digits = 0, append = "", label = NULL, angle = 30, length = 0.5, unit = "char", type = "open", ends = "both", \dots, col = add.line$col, fill = col, alpha = add.line$alpha, lty = add.line$lty, lwd = add.line$lwd, col.text = add.text$col, alpha.text = add.text$alpha) } \arguments{ \item{x, y, default.units}{ coordinates of the line ends as \pkg{grid} \code{\link{unit}}s or otherwise interpreted in \code{default.units}. } \item{digits}{ number of decimal places to keep for the distance measure. } \item{append}{ a string to append to the distance for the label. } \item{label}{ label to place on the mid point of the scale, over-riding the default. } \item{angle, length, unit, type, ends}{ specification of the arrow style; see \code{\link{panel.arrows}}. } \item{\dots}{ further arguments passed to \code{\link{panel.text}}. You will need at least the \code{pos} or \code{adj} arguments. } \item{col, fill, alpha, lty, lwd}{ graphical parameters relevant to the line. } \item{col.text, alpha.text}{ graphical parameters relevant to the text label. Others like \code{cex} and \code{font} can be passed though \code{\dots}. } } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{panel.abline}}, \code{\link{grid.text}} } \examples{ xyplot(EuStockMarkets) + layer(panel.scaleArrow(x = 0.99, append = " units", col = "grey", srt = 90, cex = 0.8)) } \keyword{ aplot } latticeExtra/man/panel.ellipse.Rd0000644000176000001440000000637011462212124016531 0ustar ripleyusers\name{panel.ellipse} \alias{panel.ellipse} \title{ Lattice panel function to fit and draw a confidence ellipsoid from bivariate data. } \description{ A lattice panel function that computes and draws a confidence ellipsoid from bivariate data, possibly grouped by a third variable. } \usage{ panel.ellipse(x, y, groups = NULL, level = 0.68, segments = 50, robust = FALSE, center.pch = 3, center.cex = 2, \dots, type, pch, cex) } \arguments{ \item{x, y}{ Numeric vectors of same length giving the bivariate data. Non-numeric variables will be coerced to be numeric. } \item{groups}{ Optional grouping variable. } \item{level}{ Confidence level for the ellipse. } \item{segments}{ Number of segments used to approximate the ellipse. } \item{robust}{ Logical indicating whether a robust method should be used. If \code{TRUE}, the confidence ellipse is based on a bivariate t-distribution using the \code{\link[MASS]{cov.trob}} function in the \pkg{MASS} package. } \item{center.pch}{ Plotting character for the center (fitted mean). If \code{NULL}, the center will not be shown on the plot. } \item{center.cex}{ Character expansion (size) multipler for the symbol indicating the center. } \item{\dots}{ Further arguments, typically graphical parameters. Passed on to \code{\link{panel.xyplot}}. } \item{type, pch, cex}{ Parameters that are ignored; these are present only to make sure they are not inadvertently passed on to \code{panel.xyplot}. } } \author{ Deepayan Sarkar, extending code contributed by Michael Friendly. } % \seealso{ % \code{\link{}} % } \examples{ xyplot(Sepal.Length ~ Petal.Length, groups=Species, data = iris, scales = "free", par.settings = list(superpose.symbol = list(pch=c(15:17)), superpose.line = list(lwd=2, lty=1:3)), panel = function(x, y, ...) { panel.xyplot(x, y, ...) panel.ellipse(x, y, ...) }, auto.key = list(x = .1, y = .8, corner = c(0, 0))) ## Without groups xyplot(Sepal.Length ~ Petal.Length, data = iris, scales = "free", par.settings = list(plot.symbol = list(cex = 1.1, pch=16)), panel = function(x, y, ...) { panel.xyplot(x, y, ...) panel.ellipse(x, y, lwd = 2, ...) }, auto.key = list(x = .1, y = .8, corner = c(0, 0))) ## With conditioning xyplot(Sepal.Length ~ Petal.Length | Species, data = iris, scales = "free", par.settings = list(plot.symbol = list(cex = 1.1, pch=16)), layout=c(2,2), panel = function(x, y, ...) { panel.xyplot(x, y, ...) panel.ellipse(x, y, lwd = 2, ...) }, auto.key = list(x = .6, y = .8, corner = c(0, 0))) ## Compare classical with robust xyplot(Sepal.Length ~ Petal.Length | Species, data = iris, scales = "free", par.settings = list(plot.symbol = list(cex = 1.1, pch=16)), layout=c(2,2), panel = function(x, y, ...) { panel.xyplot(x, y, ...) panel.ellipse(x, y, lwd = 2, ...) panel.ellipse(x, y, lwd = 2, col="red", robust=TRUE, ...) }) } % __ONLY ONE__ keyword per line \keyword{ dplot } latticeExtra/man/theEconomist.theme.Rd0000644000176000001440000000644311462212124017541 0ustar ripleyusers\name{theEconomist.theme} \alias{theEconomist.theme} \alias{theEconomist.opts} \alias{theEconomist.axis} \alias{asTheEconomist} \title{ Generate plots with style like The Economist. } \description{ Uses colors, drawing styles, axis settings, etc, to produce plots inspired by those in The Economist magazine. (\url{http://www.economist.com/}). } \usage{ theEconomist.theme(win.fontfamily = NULL, with.bg = FALSE, box = "black", \dots) theEconomist.opts() asTheEconomist(x, ..., type = "l", ylab = expression(NULL), xlab = expression(NULL), par.settings = theEconomist.theme(with.bg = with.bg, box = "transparent"), with.bg = FALSE, par.strip.text = list(font = 2)) } \arguments{ \item{win.fontfamily}{ on Windows systems, sets the font by name. } \item{with.bg}{ if \code{TRUE}, uses a light blue background and a few other corresponding changes; otherwise white. } \item{box}{ color for panel boxes, strip outlines, and axis ticks. } \item{\dots}{ further arguments passed to \code{\link{simpleTheme}} and used to modify the theme. } \item{x}{ a \code{trellis} object, i.e. the result of a high-level plot function in the Lattice framework. } \item{type}{ plot type, relevant for \code{xyplot}s, see \code{\link{panel.xyplot}}. } \item{ylab, xlab}{ axis labels, blank by default. } \item{par.settings}{ style settings, defaulting to \code{theEconomist.theme}. } \item{par.strip.text}{ see \code{\link{xyplot}}. } } \details{ You can just use \code{par.settings = theEconomist.theme()}, which gives you some colors and styles, but it does not do the grid lines or axis settings. } \references{ \url{http://www.economist.com/displayStory.cfm?story_id=15065782} \url{http://www.economist.com/displayStory.cfm?story_id=14941181} } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{custom.theme}} } \examples{ xyplot(window(sunspot.year, start = 1900), main = "Sunspot cycles", sub = "Number per year", par.settings = theEconomist.theme(box = "transparent"), lattice.options = theEconomist.opts()) asTheEconomist(xyplot(window(sunspot.year, start = 1900), main = "Sunspot cycles", sub = "Number per year")) trellis.last.object() + layer_(panel.xblocks(x, x >= 1980, col = "#6CCFF6", alpha = .5)) + layer(panel.text(1988, 180, "Forecast", font = 3, pos = 2)) ## set as defaults -- remember to set back when finished. opar <- trellis.par.get() trellis.par.set(theEconomist.theme(box = "transparent")) oopt <- lattice.options(theEconomist.opts()) barchart(Titanic[,,,"No"], main = "Titanic deaths", layout = 1:2, sub = "by sex and class", auto.key = list(columns = 2), scales = list(y = list(alternating = 2))) asTheEconomist( dotplot(VADeaths, main = "Death Rates in Virginia (1940)", auto.key = list(corner = c(.9,0.1))), type = "b", with.bg = TRUE) dotplot(VADeaths, auto.key = TRUE, type = "b", par.settings = theEconomist.theme(with.bg = TRUE)) asTheEconomist( densityplot(~ height, groups = voice.part, data = singer, subset = grep("1", voice.part), plot.points = FALSE)) + glayer(d <- density(x), i <- which.max(d$y), ltext(d$x[i], d$y[i], paste("Group", group.number), pos = 3)) ## reset trellis.par.set(opar) lattice.options(oopt) } \keyword{ dplot } latticeExtra/man/panel.xblocks.Rd0000644000176000001440000001070511403245153016541 0ustar ripleyusers\name{panel.xblocks} \alias{panel.xblocks} \alias{panel.xblocks.default} \alias{panel.xblocks.ts} \alias{panel.xblocks.zoo} \title{ Plot contiguous blocks along x axis. } \description{ Plot contiguous blocks along x axis. A typical use would be to highlight events or periods of missing data. } \usage{ panel.xblocks(x, ...) \method{panel.xblocks}{default}(x, y, ..., col = NULL, border = NA, height = unit(1, "npc"), block.y = unit(0, "npc"), vjust = 0, name = "xblocks", gaps = FALSE, last.step = median(diff(tail(x)))) \method{panel.xblocks}{ts}(x, y = x, ...) \method{panel.xblocks}{zoo}(x, y = x, ...) } \arguments{ \item{x, y}{ In the default method, \code{x} gives the ordinates along the x axis and must be in increasing order. \code{y} gives the color values to plot as contiguous blocks. If \code{y} is numeric, data coverage is plotted, by converting it into a logical (\code{!is.na(y)}). Finally, if \code{y} is a function, it is applied to \code{x} (\code{time(x)} in the time series methods). If \code{y} has character (or factor) values, these are interpreted as colors -- and should therefore be color names or hex codes. Missing values in \code{y} are not plotted. The default color is taken from the current theme: \code{trellis.par.get("plot.line")$col}. If \code{col} is given, this over-rides the block colors. The \code{ts} and \code{zoo} methods plot the \code{y} values against the time index \code{time(x)}. } \item{\dots}{ In the default method, further arguments are graphical parameters passed on to \code{\link{gpar}}. } \item{col}{ if \code{col} is specified, it determines the colors of the blocks defined by \code{y}. If multiple colors are specified they will be repeated to cover the total number of blocks. } \item{border}{ border color. } \item{height}{ height of blocks, defaulting to the full panel height. Numeric values are interpreted as native units. } \item{block.y}{ y axis position of the blocks. Numeric values are interpreted as native units. } \item{vjust}{ vertical justification of the blocks relative to \code{block.y}. See \code{\link{grid.rect}}. } \item{name}{ a name for the grob (\pkg{grid} object). } \item{gaps}{ Deprecated. Use \code{panel.xblocks(time(z), is.na(z))} instead. } \item{last.step}{ width (in native units) of the final block. Defaults to the median of the last 5 time steps (assuming steps are regular). } } \details{ Blocks are drawn forward in "time" from the specified x locations, up until the following value. Contiguous blocks are calculated using \code{\link{rle}}. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{xyplot.ts}}, \code{\link{panel.rect}}, \code{\link{grid.rect}} } \examples{ ## Example of highlighting peaks in a time series. set.seed(0) flow <- ts(filter(rlnorm(200, mean = 1), 0.8, method = "r")) ## using an explicit panel function xyplot(flow, panel = function(x, y, ...) { panel.xblocks(x, y > mean(y), col = "lightgray") panel.xyplot(x, y, ...) }) ## using layers; this is the `ts` method because `>` keeps it as ts. xyplot(flow) + layer_(panel.xblocks(flow > mean(flow), col = "lightgray")) ## Example of alternating colors, here showing calendar months flowdates <- as.Date("2000-01-01") + as.numeric(time(flow)) xyplot(flow ~ flowdates, type = "l") + layer_(panel.xblocks(x, months, col = c("lightgray", "#e6e6e6"), border = "darkgray")) ## highlight values above and below thresholds. ## blue, gray, red colors: rgb <- hcl(c(0, 0, 260), c = c(100, 0, 100), l = c(90, 90, 90)) xyplot(flow) + layer_(panel.xblocks(time(flow), cut(flow, c(0,15,30,Inf), labels = rgb))) ## Example of highlighting gaps (NAs) in time series. ## set up example data z <- ts(cbind(A = 0:5, B = c(6:7, NA, NA, 10:11), C = c(NA, 13:17))) ## show data coverage only (highlighting gaps) xyplot(z, panel = panel.xblocks, scales = list(y = list(draw = FALSE))) ## draw gaps in darkgray xyplot(z, type = c("p","s")) + layer_(panel.xblocks(x, is.na(y), col = "darkgray")) ## Example of overlaying blocks from a different series. ## Are US presidential approval ratings linked to sunspot activity? ## Set block height, default justification is along the bottom. xyplot(presidents) + layer(panel.xblocks(sunspot.year > 50, height = 2)) } \keyword{ dplot } latticeExtra/man/panel.quantile.Rd0000644000176000001440000000645211403245153016722 0ustar ripleyusers\name{panel.quantile} \alias{panel.quantile} \title{ Plot a quantile regression line with standard error bounds. } \description{ Plot a quantile regression line with standard error bounds, using the \pkg{quantreg} package. This is based on the \code{\link[ggplot2]{stat_quantile}} function from \pkg{ggplot2}. } \usage{ panel.quantile(x, y, form = y ~ x, method = "rq", ..., tau = 0.5, ci = FALSE, ci.type = "default", level = 0.95, n = 100, col = plot.line$col, col.se = col, lty = plot.line$lty, lwd = plot.line$lwd, alpha = plot.line$alpha, alpha.se = 0.25, border = NA, superpose = FALSE, ## ignored: ## subscripts, group.number, group.value, type, col.line, col.symbol, fill, pch, cex, font, fontface, fontfamily) } \arguments{ \item{x, y}{ data points. If these are missing, they will be looked for in the environment of \code{form}. So in many cases you can skip these if passing \code{form}. In fact, for convenience, the formula can be passed as the first argument (i.e. \code{x}). } \item{form, method}{ the model is constructed (approximately) as \code{method(form, tau = tau, data = list(x=x, y=y), ...)}. See the Examples section for common choices. } \item{\dots}{ further arguments passed on to the model function (\code{method}), typically \code{\link[quantreg]{rq}}. } \item{tau}{ \var{p} values for the quantiles to estimate. Note: only one value for \code{tau} can be specified if estimating confidence intervals with \code{ci}. } \item{ci, ci.type, level}{ estimate a confidence interval at level \code{level} using the method \code{ci.type}; see \code{\link[quantreg]{predict.rq}}. } \item{n}{ number of equi-spaced points on which to evaluate the function. } \item{col, col.se, lty, lwd, alpha, alpha.se, border}{ graphical parameters. \code{col} and \code{alpha} apply to the line(s), while \code{col.se} and \code{alpha.se} apply to the shaded \code{ci} region. } \item{superpose}{ if \code{TRUE}, plot each quantile line (\code{tau}) in a different style (using \code{trellis.par.get("superpose.line")}). } \item{subscripts, group.number, group.value, type, col.line, col.symbol, fill, pch, cex, font, fontface, fontfamily}{ ignored. } } \details{ It is recommended to look at \code{vignette("rq",package="quantreg")}. } \author{ Felix Andrews \email{felix@nfrac.org} Based on \code{\link[ggplot2]{stat_quantile}} by Hadley Wickham. } \seealso{ \code{\link[quantreg]{rq}}, \code{\link{panel.smoother}}, \code{\link[ggplot2]{stat_quantile}} } \examples{ library("quantreg") set.seed(1) xy <- data.frame(x = runif(100), y = rt(100, df = 5)) xyplot(y ~ x, xy) + layer(panel.quantile(x, y, tau = c(.95, .5, .05))) if (require("splines")) { xyplot(y ~ x, xy) + layer(panel.quantile(y ~ ns(x, 3), tau = 0.9)) xyplot(y ~ x, xy) + layer(panel.quantile(y ~ ns(x, 3), tau = 0.9, ci = TRUE)) } xyplot(y ~ x, xy) + layer(panel.quantile(x, y, tau = c(.5, .9, .1), superpose = TRUE)) update(trellis.last.object(), auto.key = list(text = paste(c(50,90,10), "\% quantile"), points = FALSE, lines = TRUE)) ## seems not to work... #xyplot(y ~ x, xy) + # layer(panel.quantile(y ~ qss(x, lambda=1), method = "rqss")) } \keyword{ dplot } latticeExtra/man/dendrogramGrob.Rd0000644000176000001440000000775312203055637016750 0ustar ripleyusers\name{dendrogramGrob} \alias{dendrogramGrob} \title{ Create a Grob Representing a Dendrogram } \description{ This function creates a grob (a grid graphics object) that can be manipulated as such. In particular, it can be used as a legend in a lattice display like \code{levelplot} to form heatmaps. } \usage{ dendrogramGrob(x, ord = order.dendrogram(x), side = c("right", "top"), add = list(), size = 5, size.add = 1, type = c("rectangle", "triangle"), \dots) } \arguments{ \item{x}{ An object of class \code{"dendrogram"}. See \code{\link{dendrogram}} for details } \item{ord}{ A vector of integer indices giving the order in which the terminal leaves are to be plotted. If this is not the same as \code{order.dendrogram(x)}, then the leaves may not cluster together and branches of the dendrogram may intersect. } \item{side}{ Intended position of the dendrogram when added in a heatmap. Currently allowed positions are \code{"right"} and \code{"top"}. } \item{add}{ Additional annotation. Currently, it is only possible to add one or more rows of rectangles at the base of the dendrogram. See details below. } \item{size}{ Total height of the dendrogram in \code{"lines"} (see \code{\link{unit}}) } \item{size.add}{ Size of each additional row, also in \code{"lines"} } \item{type}{ Whether a child node is joined to its parent directly with a straight line (\code{"triangle"}) or as a \dQuote{stair} with two lines (\code{"rectangle"}) } \item{\dots}{ Extra arguments. Currently ignored. } } \details{ The \code{add} argument can be used for additional annotation at the base of the dendrogram. It should be a list with one component for each row, with names specifying the type of annotation and components specifying the contents. Currently, the only supported name is \code{"rect"} (which can be repeated), producing rectangles. The components in such a case is a list of graphical parameters, possibly vectorized, that are passed on to \code{\link{gpar}}. } \value{ An object of class \code{"grob"} } \author{ Deepayan Sarkar \email{deepayan.sarkar@r-project.org} } \seealso{ \code{\link{heatmap}}, \code{\link{levelplot}} } \examples{ data(mtcars) x <- t(as.matrix(scale(mtcars))) dd.row <- as.dendrogram(hclust(dist(x))) row.ord <- order.dendrogram(dd.row) dd.col <- as.dendrogram(hclust(dist(t(x)))) col.ord <- order.dendrogram(dd.col) library(lattice) levelplot(x[row.ord, col.ord], aspect = "fill", scales = list(x = list(rot = 90)), colorkey = list(space = "left"), legend = list(right = list(fun = dendrogramGrob, args = list(x = dd.col, ord = col.ord, side = "right", size = 10)), top = list(fun = dendrogramGrob, args = list(x = dd.row, side = "top", type = "triangle")))) ## Version with unsorted rows. ## For illustration, MPG ploted again at foot of dendrogram mpg <- x["mpg", col.ord] mpg.col <- level.colors(mpg, at = do.breaks(range(mpg), 10), col.regions = terrain.colors) levelplot(x[, col.ord], aspect = "iso", scales = list(x = list(rot = 90)), colorkey = FALSE, legend = list(right = list(fun = dendrogramGrob, args = list(x = dd.col, ord = col.ord, side = "right", add = list(rect = list(fill = mpg.col)), size = 10)), top = list(fun = dendrogramGrob, args = list(x = dd.row, ord = sort(row.ord), side = "top", size = 10, type = "triangle")))) } \keyword{ dplot } latticeExtra/man/panel.voronoi.Rd0000644000176000001440000000670411403245153016573 0ustar ripleyusers\name{panel.voronoi} \alias{panel.voronoi} \alias{panel.levelplot.points} \title{ Panel functions for level-coded irregular points } \description{ These panel functions for \code{\link{levelplot}} can represent irregular (x, y) points with a color covariate. \code{panel.levelplot.points} simply draws color-coded points. \code{panel.voronoi} uses the \pkg{deldir} package to calculate the spatial extension of a set of points in 2 dimensions. This is known variously as a Voronoi mosaic, a Dirichlet tesselation, or Thiessen polygons. } \usage{ panel.voronoi(x, y, z, subscripts = TRUE, at = pretty(z), points = TRUE, border = "transparent", na.rm = FALSE, win.expand = 0.07, use.tripack = FALSE, ..., col.regions = regions$col, alpha.regions = regions$alpha) panel.levelplot.points(x, y, z, subscripts = TRUE, at = pretty(z), shrink, labels, label.style, contour, region, pch = 21, col.symbol = "#00000044", ..., col.regions = regions$col, fill = NULL) } \arguments{ \item{x, y, z}{ an irregular set of points at locations (x, y) with value z. } \item{subscripts}{ integer vector indicating what subset of x, y and z to draw. Typically passed by \code{\link{levelplot}}. } \item{at, col.regions, alpha.regions}{ color scale definition; see \code{\link{panel.levelplot}}. } \item{points}{ whether to draw the (x, y) points. } \item{border}{ color for polygon borders. } \item{na.rm}{ if \code{TRUE}, points with missing \code{z} values will be excluded from the calculation of polygons. If \code{FALSE}, those polygons are calculated but are not drawn (i.e. are transparent). } \item{win.expand}{ defines the rectangular window bounding the polygons. This is a factor by which to expand the range of the data. Set to 0 to limit drawing at the furthest data point locations. Ignored if \code{use.tripack = TRUE}. } \item{use.tripack}{ if \code{TRUE}, use \pkg{tripack} package rather than \pkg{deldir}. See Details. } \item{\dots}{ further arguments are passed to \code{\link{panel.xyplot}} if \code{points = TRUE}. } \item{pch, col.symbol}{ symbol and border color for points. A filled symbol should be used, i.e. in the range 21-25. } \item{shrink, labels, label.style, contour, region, fill}{ ignored. } } \details{ The \pkg{tripack} package implementation is faster than \pkg{deldir} but not under a fully free licence. Also, the \pkg{deldir} package allows polygons to be clipped to a rectangular window (the \code{win.expand} argument). } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{tileplot}}, \code{\link{panel.levelplot}}, \code{\link[deldir]{deldir}} } \examples{ ## a variant of Figure 5.6 from Sarkar (2008) ## http://lmdvr.r-forge.r-project.org/figures/figures.html?chapter=05;figure=05_06 depth.ord <- rev(order(quakes$depth)) quakes$Magnitude <- equal.count(quakes$mag, 4) quakes.ordered <- quakes[depth.ord, ] levelplot(depth ~ long + lat | Magnitude, data = quakes.ordered, panel = panel.levelplot.points, type = c("p", "g"), aspect = "iso", prepanel = prepanel.default.xyplot) ## a levelplot with jittered cells xyz <- expand.grid(x = 0:9, y = 0:9) xyz[] <- jitter(as.matrix(xyz)) xyz$z <- with(xyz, sqrt((x - 5)^2 + (y - 5)^2)) levelplot(z ~ x * y, xyz, panel = panel.voronoi, points = FALSE) ## hexagonal cells xyz$y <- xyz$y + c(0, 0.5) levelplot(z ~ x * y, xyz, panel = panel.voronoi, points = FALSE) } \keyword{ hplot } latticeExtra/man/EastAuClimate.Rd0000644000176000001440000001461611403245153016464 0ustar ripleyusers\name{EastAuClimate} \alias{EastAuClimate} \docType{data} \title{ Climate of the East Coast of Australia } \description{ A set of climate statistics for 16 coastal locations along Eastern Australia. These sites were chosen to be approximately equally spaced to cover the whole eastern coast of Australia. For each site, climate statistics were calculated for the standard 30-year period 1971-2000. Only sites with nearly-complete data were chosen. } \usage{data(EastAuClimate)} \format{ A data frame with the following 10 variables and 5 items of metadata for each of 16 sites. \describe{ \item{\code{SummerMaxTemp}}{ average daily maximum air temperature (degrees C) in February. } \item{\code{SummerMinTemp}}{ average daily minimum air temperature (degrees C) in February. } \item{\code{WinterMaxTemp}}{ average daily maximum air temperature (degrees C) in July. } \item{\code{WinterMinTemp}}{ average daily minimum air temperature (degrees C) in July. } \item{\code{SummerRain}}{ median total precipitation in February (mm/month). } \item{\code{WinterRain}}{ median total precipitation in July (mm/month). } \item{\code{MeanAnnRain}}{ average total amount of precipitation recorded in a year (mm/year). } \item{\code{RainDays}}{ average number of days in a year with at least 1 mm of precipitation. } \item{\code{ClearDays}}{ average number of clear days in a year. This statistic is derived from cloud cover observations, which are measured in oktas (eighths). A clear day is recorded when the mean of the 9 am and 3 pm cloud observations is less than or equal to 2 oktas. } \item{\code{CloudyDays}}{ average number of clear days in a year. A cloudy day is recorded when the mean of the 9 am and 3 pm cloud observations is greater than or equal to 6 oktas. } \item{\code{ID}}{ BOM Site number. } \item{\code{Latitude}}{ Site latitude (degrees North). } \item{\code{Longitude}}{ Site longitude (degrees East). } \item{\code{Elevation}}{ Site elevation (m). } \item{\code{State}}{ Australian state: TAS = Tasmania, VIC = Victoria, NSW = New South Wales, QLD = Queensland. } } The row names of the data frame give the location names. Note: these are not the official names of the climate stations. } \source{ Sites were chosen by hand from maps on the Bureau of Meteorology website. The data were extracted manually from web pages under \url{http://www.bom.gov.au/climate/averages/} and processed to extract a subset of statistics. - by Felix Andrews \email{felix@nfrac.org} Bureau of Meteorology, Commonwealth of Australia. Product IDCJCM0026 Prepared at Wed 31 Dec 2008. Definitions of statistics adapted from \url{http://www.bom.gov.au/climate/cdo/about/about-stats.shtml} } %map(regions = c("Australia", "Australia:Tasmania"), % exact = TRUE, xlim = c(130, 170)) %with(EastAuClimate, { % points(Longitude, Latitude, pch = 16) % text(Longitude, Latitude, row.names(EastAuClimate), % pos = c(4, 4, 2, 2, rep(4, 12))) %}) \examples{ data(EastAuClimate) ## Compare the climates of state capital cities EastAuClimate[c("Hobart", "Melbourne", "Sydney", "Brisbane"),] ## A function to plot maps (a Lattice version of maps::map) lmap <- function(database = "world", regions = ".", exact = FALSE, boundary = TRUE, interior = TRUE, projection = "", parameters = NULL, orientation = NULL, aspect = "iso", type = "l", par.settings = list(axis.line = list(col = "transparent")), xlab = NULL, ylab = NULL, ...) { theMap <- map(database, regions, exact = exact, boundary = boundary, interior = interior, projection = projection, parameters = parameters, orientation = orientation, plot = FALSE) xyplot(y ~ x, theMap, type = type, aspect = aspect, par.settings = par.settings, xlab = xlab, ylab = ylab, default.scales = list(draw = FALSE), ...) } ## Plot the sites on a map of Australia if (require("maps")) { lmap(regions = c("Australia", "Australia:Tasmania"), exact = TRUE, projection = "rectangular", parameters = 150, xlim = c(130, 170), panel = function(...) { panel.xyplot(...) with(EastAuClimate, { panel.points(Longitude, Latitude, pch = 16) txt <- row.names(EastAuClimate) i <- c(3, 4) panel.text(Longitude[ i], Latitude[ i], txt[ i], pos = 2) panel.text(Longitude[-i], Latitude[-i], txt[-i], pos = 4) }) }) } ## Average daily maximum temperature in July (Winter). xyplot(WinterMaxTemp ~ Latitude, EastAuClimate, aspect = "xy", type = c("p", "a"), ylab = "Temperature (degrees C)") ## (Make a factor with levels in order - by coastal location) siteNames <- factor(row.names(EastAuClimate), levels = row.names(EastAuClimate)) ## Plot temperature ranges (as bars), color-coded by RainDays segplot(siteNames ~ WinterMinTemp + SummerMaxTemp, EastAuClimate, level = RainDays, sub = "Color scale: number of rainy days per year", xlab = "Temperature (degrees C)", main = paste("Typical temperature range and wetness", "of coastal Australian cities", sep = "\n")) ## Show Winter and Summer temperature ranges separately segplot(Latitude ~ WinterMinTemp + SummerMaxTemp, EastAuClimate, main = "Average daily temperature ranges \n of coastal Australian sites", ylab = "Latitude", xlab = "Temperature (degrees C)", par.settings = simpleTheme(lwd = 3, alpha = 0.5), key = list(text = list(c("July (Winter)", "February (Summer)")), lines = list(col = c("blue", "red"))), panel = function(x, y, z, ..., col) { with(EastAuClimate, { panel.segplot(WinterMinTemp, WinterMaxTemp, z, ..., col = "blue") panel.segplot(SummerMinTemp, SummerMaxTemp, z, ..., col = "red") }) }) ## Northern sites have Summer-dominated rainfall; ## Southern sites have Winter-dominated rainfall. xyplot(SummerRain + WinterRain ~ Latitude, EastAuClimate, type = c("p", "a"), auto.key = list(lines = TRUE), ylab = "Rainfall (mm / month)") ## Clear days are most frequent in the mid latitudes. xyplot(RainDays + CloudyDays + ClearDays ~ Latitude, EastAuClimate, type = c("p", "a"), auto.key = list(lines = TRUE), ylab = "Days per year") } \keyword{datasets} latticeExtra/man/postdoc.Rd0000644000176000001440000000136211062365303015451 0ustar ripleyusers\name{postdoc} \alias{postdoc} \docType{data} \title{ Reasons for Taking First Postdoctoral Appointment } \description{ Reasons for Taking First Postdoctoral Appointment, by Field of Doctrate, 1997 } \usage{data(postdoc)} \format{ The data set is avaliable as a two-way table of counts. } \source{ Survey of Doctorate Recipients, 1997 } \references{ Enhancing the Postdoctoral Experience for Scientists and Engineers: A Guide for Postdoctoral Scholars, Advisers, Institutions, Funding Organizations, and Disciplinary Societies \url{http://books.nap.edu/catalog.php?record_id=9831} } \examples{ data(postdoc) library(lattice) barchart(prop.table(postdoc, margin = 1), auto.key = TRUE, xlab = "Proportion") } \keyword{datasets} latticeExtra/man/doubleYScale.Rd0000644000176000001440000000755411404117746016370 0ustar ripleyusers\name{doubleYScale} \alias{doubleYScale} \title{ Draw two plot series with different y scales } \description{ Overplot two trellis objects with different y scales, optionally in different styles, adding a second y axis, and/or a second y axis label. \emph{Note:} drawing plots with multiple scales is often a bad idea as it can be misleading. } \usage{ doubleYScale(obj1, obj2, use.style = TRUE, style1 = if (use.style) 1, style2 = if (use.style) 2, add.axis = TRUE, add.ylab2 = FALSE, text = NULL, auto.key = if (!is.null(text)) list(text, points = points, lines = lines, ...), points = FALSE, lines = TRUE, ..., under = FALSE) } \arguments{ \item{obj1, obj2}{ trellis objects. Note that most settings, like main/sub/legend/etc are taken only from \code{obj1}; only the panel, axis and ylab are taken from obj2. } \item{use.style, style1, style2}{ \code{style1} and \code{style2} give the `group number' for obj1 and obj2 respectively. The style is taken from these indices into the values of \code{trellis.par.get("superpose.line")}. Therefore these should be integers between 1 and 6; a value of 0 or NULL can be given to leave the default settings. These will also be applied to the y-axes and ylab, if relevant. \code{use.style} simply changes the defaults of the style arguments. } \item{add.axis}{ if TRUE, draw a second y axis (for the \code{obj2} series) on the right side of the plot. } \item{add.ylab2}{ if TRUE, draw a second y axis label (from \code{obj2$ylab}) on the right side of the plot. Note, this will replace any existing key or legend on the right side, i.e. with \code{space = "right"}. } \item{text, auto.key, points, lines, \dots}{ if non-NULL, add a \code{key} to the display, using entries named by \code{text}. Further arguments are passed on to \code{\link{simpleKey}} at plot time. } \item{under}{ if TRUE, draw \code{obj2} under \code{obj1}. } } \details{ Panels from the trellis object \code{obj2} will be drawn in the corresponding panel of \code{obj1}. Axis settings are taken from the trellis objects, so most \code{scales} arguments such as \code{draw}, \code{at}, \code{labels} etc from \code{obj2} will carry over to the second y axis. } \value{ a merged trellis object. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{as.layer}} } \examples{ set.seed(1) foo <- list(x = 1:100, y = cumsum(rnorm(100))) ## show original data xyplot(y + y^2 ~ x, foo, type = "l") ## construct separate plots for each series obj1 <- xyplot(y ~ x, foo, type = "l") obj2 <- xyplot(y^2 ~ x, foo, type = "l") ## simple case: no axis for the overlaid plot doubleYScale(obj1, obj2, add.axis = FALSE) ## draw second y axis doubleYScale(obj1, obj2) ## ...with second ylab doubleYScale(obj1, obj2, add.ylab2 = TRUE) ## ...or with a key doubleYScale(obj1, obj2, text = c("obj1", "obj2")) ## ...with custom styles update(doubleYScale(obj1, obj2, text = c("obj1", "obj2")), par.settings = simpleTheme(col = c('red','black'), lty = 1:2)) ## different plot types x <- rnorm(60) doubleYScale(histogram(x), densityplot(x), use.style = FALSE) ## (but see ?as.layer for a better way to do this) ## multi-panel example ## a variant of Figure 5.13 from Sarkar (2008) ## http://lmdvr.r-forge.r-project.org/figures/figures.html?chapter=05;figure=05_13 data(SeatacWeather) temp <- xyplot(min.temp + max.temp ~ day | month, data = SeatacWeather, type = "l", layout = c(3, 1)) rain <- xyplot(precip ~ day | month, data = SeatacWeather, type = "h") doubleYScale(temp, rain, style1 = 0, style2 = 3, add.ylab2 = TRUE, text = c("min. T", "max. T", "rain"), columns = 3) ## re-plot with different styles update(trellis.last.object(), par.settings = simpleTheme(col = c("black", "red", "blue"))) } \keyword{ aplot } latticeExtra/man/layer.Rd0000644000176000001440000002251511462212124015111 0ustar ripleyusers\name{layer} \alias{layer} \alias{layer_} \alias{glayer} \alias{glayer_} \alias{+.trellis} \alias{drawLayer} \alias{flattenPanel} \alias{[.layer} \alias{print.layer} \title{ Add layers to a lattice plot, optionally using a new data source } \description{ A mechanism to add new layers to a trellis object, optionally using a new data source. This is an alternative to modifying the panel function. Note the non-standard evaluation in \code{layer()}. } \usage{ layer(..., data, magicdots, exclude, packets, rows, columns, groups, style, force, theme, under, superpose) layer_(...) glayer(...) glayer_(...) \S3method{+}{trellis}(object, lay) drawLayer(lay, panelArgs = trellis.panelArgs()) flattenPanel(object) } \arguments{ \item{\dots}{ expressions as they would appear in a panel function. These can refer to the panel function arguments (such as \code{x}, \code{y} and \code{subscripts}), and also to any named objects passed in through the \code{data} argument. The calls can also include the special argument \dQuote{\code{\dots}}; in the default case of \code{magicdots = TRUE}, only those arguments which are not already named in a call are passed on through \dQuote{\code{\dots}}. Otherwise, \dQuote{\code{\dots}} simply represents all panel function arguments. See Details, below. } \item{data}{ optional. A named \code{list} containing objects needed when evaluating (drawing) the layer. } \item{magicdots, exclude}{ if \code{magicdots = TRUE}, the default, any reference to \dQuote{\code{\dots}} in the layer expressions will only pass on those arguments from the panel function which are not named in the call (thus avoiding duplicate argument errors). If the first argument in a call is not named, it is assumed to be named \code{"x"}, and if the second argument is not named it is assumed to be named \code{"y"}. Furthermore, any argument names given in \code{exclude} will not be passed on through \dQuote{\code{\dots}}. } \item{packets, rows, columns, groups}{ restricts the layer to draw only in specified packets (which refer to individual panels, but are independent of their layout), or rows or columns of the trellis layout (\code{\link{trellis.currentLayout}}). For group layers (using \code{glayer} or \code{superpose = TRUE}), the groups can be restricted also, by specifying group numbers (or group values, as character strings). Negative values exclude the given items. } \item{style}{ style index of the layer, used only to set lattice graphical parameters (same effect as in grouped displays). Note that this will use the theme settings in effect in the existing plot, which may or may not be what is desired. It may be necessary to use \code{force = TRUE} to escape from the plot's settings and use the current theme. } \item{force}{ \code{force = TRUE} is just a shorthand for \code{theme = trellis.par.get()}, which is useful for over-riding the theme settings in effect in an existing plot. For instance, if the original plot specified \code{par.settings = simpleTheme(col = "red")} then the theme settings in effect will be entirely red. Use \code{force = TRUE} to reset the current theme for this layer, or use \code{theme} directly. } \item{theme}{ a style specification to be passed to \code{\link{trellis.par.set}} which has effect only while drawing the layer. One can pass a whole theme specification list, such as \code{theme = custom.theme()}, or a more specific list, such as \code{theme = simpleTheme(col = "red")}. } \item{under}{ whether the layer should be drawn before the existing panel function. This defaults to \code{TRUE} in the convenience functions \code{layer_()} and \code{glayer_()}. } \item{superpose}{ if \code{TRUE}, the layer will be drawn once for each level of any \code{groups} in the plot, using \code{\link{panel.superpose}}. This defaults to \code{TRUE} in the convenience functions \code{glayer()} and \code{glayer_()}. } \item{object}{ a trellis object. } \item{lay}{ a layer object. } \item{panelArgs}{ list of arguments to the panel function. } } \details{ The \code{layer} mechanism is a method for augmenting a panel function. It allows expressions to be added to the panel function without knowing what the original panel function was. In this way it can be useful for convenient augmentation of trellis plots. Note that the evaluation used in \code{layer} is non-standard, and can be confusing at first: you typically refer to variables as if inside the panel function (\code{x}, \code{y}, etc); you can usually refer to objects which exist in the global environment (workspace), but it is safer to pass them in by name in the \code{data} argument to \code{layer}. (And this should not to be confused with the \code{data} argument to the original \code{xyplot}.) A simple example is adding a reference line to each panel: \code{layer(panel.refline(h = 0))}. Note that the expressions are quoted, so if you have local variables they will need to be either accessible globally, or passed in via the \code{data} argument. For example: \code{layer(panel.refline(h = myVal)) ## if myVal is global} \code{layer(panel.refline(h = h), data = list(h = myVal))} Another non-standard aspect is that the special argument \dQuote{\code{\dots}} will, by default, only pass through those argument not already named. For example, this will over-ride the \code{x} argument and pass on the remaining arguments: \code{layer(panel.xyplot(x = jitter(x), ...))} The first un-named argument is assumed to be "x", so that is the same as \code{layer(panel.xyplot(jitter(x), ...))} The layer mechanism should probably still be considered experimental. \code{drawLayer()} actually draws the given layer object, applying the panel specification, style settings and so on. It should only be called while a panel is in focus. The \code{flattenPanel} function will construct a human-readable function incorporating code from all layers (and the original panel function). Note that this does not return a usable function, as it lacks the correct argument list and ignores any extra data sources that layers might use. It is intended be edited manually. } \value{ a \code{layer} object is defined as a list of expression objects, each of which may have a set of attributes. The result of "adding" a layer to a trellis object (\code{+.trellis}) is the updated trellis object. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{update.trellis}}, \code{\link{as.layer}} for overlaying entire plots } \examples{ foo <- xyplot(ozone ~ wind, environmental) foo ## overlay reference lines foo <- foo + layer(panel.abline(h = 0)) + layer(panel.lmline(x, y, lty = 2)) ## underlay a flat color foo <- foo + layer(panel.fill(grey(.95)), under = TRUE) foo ## layers can access the panel function arguments foo <- foo + layer({ ok <- (y>100); panel.text(x[ok], y[ok], y[ok], pos = 1) }) foo ## over-ride arguments by name foo <- foo + layer(panel.xyplot(y = ave(y, x, FUN = max), type = "a", ...)) foo ## see a sketch of the complete panel function flattenPanel(foo) ## group layers, drawn for each group in each panel dotplot(VADeaths, type = "o") + glayer(ltext(x[5], y[5], group.value, srt = 40)) ## a quick way to print out the panel.groups arguments: dotplot(VADeaths, type = "o") + glayer(str(list(...))) ## layers with superposed styles xyplot(ozone ~ wind | equal.count(temperature, 2), data = environmental) + layer(panel.loess(x, y, span = 0.5), style = 1) + layer(panel.loess(x, y, span = 1.0), style = 2) + layer(panel.key(c("span = 0.5", "span = 1.0"), corner = c(1,.98), lines = TRUE, points = FALSE), packets = 1) ## note that styles come from the settings in effect in the plot, ## which is not always what you want: xyplot(1:10 ~ 1:10, type = "b", par.settings = simpleTheme(col = "red")) + layer(panel.lines(x = jitter(x, 2), ...)) + ## drawn in red layer(panel.lines(x = jitter(x, 2), ...), force = TRUE) ## reset theme ## using other variables from the original `data` object ## NOTE: need subscripts = TRUE in original call! zoip <- xyplot(wind ~ temperature | equal.count(radiation, 2), data = environmental, subscripts = TRUE) zoip + layer(panel.points(..., pch = 19, col = grey(1 - ozone[subscripts] / max(ozone))), data = environmental) ## restrict drawing to specified panels barchart(yield ~ variety | site, data = barley, groups = year, layout = c(1,6), as.table = TRUE, scales = list(x = list(rot = 45))) + layer(ltext(tapply(y, x, max), lab = abbreviate(levels(x)), pos = 3), rows = 1) ## example of a new data source qua <- xyplot(lat ~ long | cut(depth, 2), quakes, aspect = "iso", pch = ".", cex = 2) qua ## add layer showing distance from Auckland newdat <- with(quakes, expand.grid( gridlat = seq(min(lat), max(lat), length = 60), gridlon = seq(min(long), max(long), length = 60))) newdat$dist <- with(newdat, sqrt((gridlat - -36.87)^2 + (gridlon - 174.75)^2)) qua + layer_(panel.contourplot(x = gridlon, y = gridlat, z = dist, contour = TRUE, subscripts = TRUE), data = newdat) } \keyword{ aplot } latticeExtra/man/ggplot2like.theme.Rd0000644000176000001440000000767311462212124017331 0ustar ripleyusers\name{ggplot2like.theme} \alias{ggplot2like.theme} \alias{ggplot2like.opts} \alias{ggplot2like} \alias{axis.grid} \title{A ggplot2-like theme for Lattice} \description{ A theme for Lattice based on some of the default styles used in the \pkg{ggplot2} package by Hadley Wickham. Specifically, parts of the functions \code{scale_colour_hue}, \code{scale_colour_gradient} and \code{theme_gray} were copied. Although superficially similar, the implementation here lacks much of the flexibility of the \pkg{ggplot2} functions: see \url{http://had.co.nz/ggplot2/}. } \usage{ ggplot2like(..., n = 6, h = c(0,360) + 15, l = 65, c = 100, h.start = 0, direction = 1, low = "#3B4FB8", high = "#B71B1A", space = "rgb") ggplot2like.opts() axis.grid(side = c("top", "bottom", "left", "right"), ..., ticks = c("default", "yes", "no"), scales, components, line.col) } \arguments{ \item{\dots}{ further arguments passed on to \code{\link{simpleTheme}} to over-ride defaults. } \item{n}{ number of \code{superpose} styles to generate, with equally spaced hues. } \item{h, c, l, h.start, direction}{ range of hues, starting hue and direction to generate a discrete colour sequence with \code{\link{hcl}}. } \item{low, high, space}{ extreme colors to interpolate with \code{\link{colorRampPalette}} for a continuous color scale. } \item{side, ticks, scales, components, line.col}{ see \code{\link{axis.default}}. Typically \code{axis.grid} is not called directly so these should not be needed. } } \value{ \code{ggplot2like()} produces a list of settings which can be passed as the \code{par.settings} argument to a high-level Lattice plot, or to \code{\link{trellis.par.set}}. \code{ggplot2like.opts()} produces a list which can be passed as the \code{lattice.options} argument to a high-level Lattice plot, or to \code{\link{lattice.options}}. } \author{ Felix Andrews \email{felix@nfrac.org}; copied and adapted from \pkg{ggplot2} by Hadley Wickham. } \seealso{ the \pkg{ggplot2} package: \url{http://had.co.nz/ggplot2/}. \code{\link{custom.theme}}, \code{\link{scale.components}} } \examples{ set.seed(0) ## basic theme does not include white grid lines xyplot(exp(1:10) ~ 1:10, type = "b", par.settings = ggplot2like()) ## add lines for axis ticks with custom axis function xyplot(exp(1:10) ~ 1:10, type = "b", par.settings = ggplot2like(), axis = axis.grid) ## this can be used together with scale.components ## (minor lines only visible on devices supporting translucency) xyplot(exp(rnorm(500)) ~ rnorm(500), scales = list(y = list(log = TRUE)), yscale.components = yscale.components.log10ticks, par.settings = ggplot2like(), axis = axis.grid) ## ggplotlike.opts() specifies axis = axis.grid as well as ## xscale.components.subticks / yscale.components.subticks xyg <- make.groups( "group one" = rnorm(80, 1), "group two" = rnorm(80, 5), "group three" = rnorm(80, 2)) xyg$x <- rev(xyg$data) ## group styles: specify number of equi-spaced hues xyplot(data ~ x, xyg, groups = which, auto.key = TRUE, par.settings = ggplot2like(n = 3), lattice.options = ggplot2like.opts()) + glayer(panel.smoother(...)) ## or set it as the default: opar <- trellis.par.get() trellis.par.set(ggplot2like(n = 4, h.start = 180)) oopt <- lattice.options(ggplot2like.opts()) bwplot(voice.part ~ height, data = singer) histogram(rnorm(100)) barchart(Titanic[,,,"No"], main = "Titanic deaths", layout = c(1, 2), auto.key = list(columns = 2)) ## reset trellis.par.set(opar) lattice.options(oopt) ## axis.grid and scale.components.subticks can be used alone: ## (again, lines for minor ticks need transculency-support to show up) xyplot(exp(1:10) ~ 1:10, type = "b", lattice.options = ggplot2like.opts(), par.settings = list(axis.line = list(col = NA), reference.line = list(col = "grey")), scales = list(tck = c(0,0))) } \keyword{dplot} latticeExtra/man/panel.3dmisc.Rd0000644000176000001440000000701311462212124016251 0ustar ripleyusers\name{panel.3dmisc} \alias{panel.3dmisc} \alias{panel.3dtext} \alias{panel.3dbars} \alias{panel.3dpolygon} \title{Miscellanous panel utilities for three dimensional Trellis Displays} \description{ Miscellanous panel functions for use with three dimensional Lattice functions such as cloud and wireframe } \usage{ panel.3dbars(x, y, z, rot.mat = diag(4), distance, xbase = 1, ybase = 1, xlim, xlim.scaled, ylim, ylim.scaled, zlim, zlim.scaled, zero.scaled, col = "black", lty = 1, lwd = 1, alpha, ..., col.facet = "white", alpha.facet = 1) panel.3dpolygon(x, y, z, rot.mat = diag(4), distance, xlim.scaled, ylim.scaled, zlim.scaled, zero.scaled, col = "white", border = "black", font, fontface, ...) panel.3dtext(x, y, z, labels = seq_along(x), rot.mat = diag(4), distance, ...) } \arguments{ \item{x, y, z}{ data to be plotted } \item{rot.mat, distance}{ arguments controlling projection } \item{labels}{ character or expression vectors to be uses as labels } \item{xlim, ylim, zlim}{ limits in the original scale } \item{xlim.scaled, ylim.scaled, zlim.scaled}{ limits after scaling } \item{zero.scaled}{ the value of z = 0 after scaling } \item{xbase, ybase}{ length of the sides of the bars (which are always centered on the \code{x} and \code{y} values). Can not be vectorized. } \item{col, lty, lwd, alpha, border}{ Graphical parameters for the border lines. These can be vectors, in which case each component will be associated with one bar in \code{panel.3dbars}. } \item{font, fontface}{ unused graphical parameters, present in the argument list only so that they can be captured and ignored } \item{col.facet, alpha.facet}{ Graphical parameters for surfaces of the bars . These can be vectors, in which case each component will be associated with one bar. } \item{\dots}{ extra arguments, passed on as appropriate. } } \details{ \code{panel.3dbars} and \code{panel.3dpolygon} are both suitable for use as (components of) the \code{panel.3d.cloud} argument of \code{panel.cloud}. The first one produces three dimensional bars, and the second one draws three dimensional polygons. } \author{ Deepayan Sarkar \email{deepayan.sarkar@gmail.com}} \seealso{ \code{\link{cloud}}, \code{\link{panel.cloud}} } \examples{ library(lattice) cloud(VADeaths, panel.3d.cloud = panel.3dbars, col.facet = "grey", xbase = 0.4, ybase = 0.4, screen = list(z = 40, x = -30)) cloud(VADeaths, panel.3d.cloud = panel.3dbars, xbase = 0.4, ybase = 0.4, zlim = c(0, max(VADeaths)), scales = list(arrows = FALSE, just = "right"), xlab = NULL, ylab = NULL, col.facet = level.colors(VADeaths, at = do.breaks(range(VADeaths), 20), col.regions = terrain.colors, colors = TRUE), colorkey = list(col = terrain.colors, at = do.breaks(range(VADeaths), 20)), screen = list(z = 40, x = -30)) cloud(as.table(prop.table(Titanic, margin = 1:3)[,,,2]), type = c("p", "h"), zlab = "Proportion\nSurvived", panel.3d.cloud = panel.3dbars, xbase = 0.4, ybase = 0.4, aspect = c(1, 0.3), scales = list(distance = 2), panel.aspect = 0.5) } \keyword{dplot} latticeExtra/man/biocAccess.Rd0000644000176000001440000000212311363627500016034 0ustar ripleyusers\name{biocAccess} \alias{biocAccess} \docType{data} \title{ Hourly access attempts to Bioconductor website } \description{ This data set records the hourly number of access attempts to the Bioconductor website (\url{http://www.bioconductor.org}) during January through May of 2007. The counts are essentially an aggregation of the number of entries in the access log. } \usage{data(biocAccess)} \format{ A data frame with 3623 observations on the following 7 variables. \describe{ \item{\code{counts}}{ the number of access attempts} \item{\code{day}}{ the day of the month } \item{\code{month}}{a factor with levels \code{Jan}, \code{Feb}, \dots, \code{Dec}} \item{\code{year}}{ the year (all 2007) } \item{\code{hour}}{ hour of the day, a numeric vector} \item{\code{weekday}}{ a factor with levels \code{Monday}, \code{Tuesday}, \dots, \code{Sunday}} \item{\code{time}}{a POSIXt representation of the start of the hour} } } \examples{ data(biocAccess) xyplot(stl(ts(biocAccess$counts[1:(24 * 30)], frequency = 24), "periodic")) } \keyword{datasets} latticeExtra/man/USAge.Rd0000644000176000001440000000437411363627500014754 0ustar ripleyusers\name{USAge} \alias{USAge} \alias{USAge.table} \alias{USAge.df} \docType{data} \title{ US national population estimates } \description{ US national population estimates by age and sex from 1900 to 1979. The data is available both as a (3-dimensional) table and a data frame. The second form omits the 75+ age group to keep age numeric. } \usage{ data(USAge.table) data(USAge.df) } \format{ \code{USAge.table} is a 3-dimensional array with dimensions \tabular{rll}{ No \tab Name \tab Levels\cr 1 \tab Age \tab 0, 1, 2, \dots, 74, 75+\cr 2 \tab Sex \tab Male, Female\cr 3 \tab Year \tab 1900, 1901, \dots, 1979 \cr } Cells contain raw counts of estimated population. \code{USAge.df} is a data frame with 12000 observations on the following 4 variables. \describe{ \item{\code{Age}}{a numeric vector, giving age in years} \item{\code{Sex}}{a factor with levels \code{Male} \code{Female}} \item{\code{Year}}{a numeric vector, giving year} \item{\code{Population}}{a numeric vector, giving population in millions} } } \details{ The data for 1900-1929 are rounded to thousands. The data for 1900-1939 exclude the Armed Forces overseas and the population residing in Alaska and Hawaii. The data for 1940-1949 represent the resident population plus Armed Forces overseas, but exclude the population residing in Alaska and Hawaii. The data for 1950-1979 represent the resident population plus Armed Forces overseas, and also include the population residing in Alaska and Hawaii. } \source{ \url{http://www.census.gov/popest/archives/pre-1980/PE-11.html} U.S. Census Bureau, Population Division. Internet Release date: October 1, 2004 The data were available as individual files for year, with varying levels for the margins. The preprocessing steps used to reduce the data to the form given here are described in the scripts directory. } \examples{ data(USAge.df) head(USAge.df) ## Figure 10.7 from Sarkar (2008) xyplot(Population ~ Age | factor(Year), USAge.df, groups = Sex, type = c("l", "g"), auto.key = list(points = FALSE, lines = TRUE, columns = 2), aspect = "xy", ylab = "Population (millions)", subset = Year \%in\% seq(1905, 1975, by = 10)) } \keyword{datasets} latticeExtra/man/panel.tskernel.Rd0000644000176000001440000001003411403245153016716 0ustar ripleyusers\name{panel.tskernel} \alias{panel.tskernel} \alias{simpleSmoothTs} \alias{simpleSmoothTs.default} \alias{simpleSmoothTs.zoo} \title{ Calculate and plot smoothed time series. } \description{ Plot time series smoothed by discrete symmetric smoothing kernels. These kernels can be used to smooth time series objects. Options include moving averages, triangular filters, or approximately Gaussian filters. } \usage{ panel.tskernel(x, y, ..., width = NROW(x) \%/\% 10 + 1, n = 300, c = 1, sides = 2, circular = FALSE, kern = kernel("daniell", rep(floor((width/sides) / sqrt(c)), c))) simpleSmoothTs(x, ...) \method{simpleSmoothTs}{default}(x, ..., width = NROW(x) \%/\% 10 + 1, n = NROW(x), c = 1, sides = 2, circular = FALSE, kern = kernel("daniell", rep(floor((width/sides)/sqrt(c)), c))) \method{simpleSmoothTs}{zoo}(x, ..., n = NROW(x)) } \arguments{ \item{x, y}{ data points. Should define a regular, ordered series. A time series object can be passed as the first argument, in which case \code{y} can be omitted. The \code{x} argument given to \code{simpleSmoothTs} is allowed to be a multivariate time series, i.e. to have multiple columns. } \item{\dots}{ further arguments passed on to \code{\link{panel.lines}}. } \item{width}{ nominal width of the smoothing kernel in time steps. In the default case, which is a simple moving average, this is the actual width. When \code{c > 1} the number of time steps used in the kernel increases but the equivalent bandwidth stays the same. If only past values are used (with \code{sides = 1}) then \code{width} refers to one side of the symmetric kernel. } \item{n}{ approximate number of time steps desired for the result. If this is less than the length of \code{x}, the smoothed time series will be aggregated by averaging blocks of (an integer number of) time steps, and this aggregated series will be centered with respect to the original series. } \item{c}{ smoothness of the kernel: \code{c = 1} is a moving average, \code{c = 2} is a triangular kernel, \code{c = 3} and higher approximate smooth Gaussian kernels. \code{c} is actually the number of times to recursively convolve a simple moving average kernel with itself. The kernel size is adjusted to maintain a constant equivalent bandwidth as \code{c} increases. } \item{sides}{ if \code{sides=1} the smoothed series is calculed from past values only (using one half of the symmetric kernel); if \code{sides=2} it is centred around lag 0. } \item{circular}{ to treat the data as circular (periodic). } \item{kern}{ a \code{tskernel} object; if given, this over-rides \code{width} and \code{c}. } } \note{ The author is not an expert on time series theory. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{kernel}}, \code{\link{filter}}, \code{\link{xyplot.ts}} } \examples{ ## a Gaussian-like filter (contrast with c = 1 or c = 2) xyplot(sunspot.year) + layer(panel.tskernel(x, y, width = 20, c = 3, col = 1, lwd = 2)) ## example from ?kernel: ## long and short moving averages, backwards in time xyplot(EuStockMarkets[,1]) + layer(panel.tskernel(x, y, width = 100, col = 1, sides = 1)) + layer(panel.tskernel(x, y, width = 20, col = 2, sides = 1)) ## per group, with a triangular filter xyplot(EuStockMarkets, superpose = TRUE) + glayer(panel.tskernel(..., width = 100, c = 2), theme = simpleTheme(lwd = 2)) ## plot the actual kernels used; note adjustment of width width = 100 kdat <- lapply(1:4, function(c) { k <- kernel("daniell", rep(floor(0.5*width / sqrt(c)), c)) ## demonstrate that the effective bandwidth stays the same: message("c = ", c, ": effective bandwidth = ", bandwidth.kernel(k)) ## represent the kernel as a time series, for plotting ts(k[-k$m:k$m], start = -k$m) }) names(kdat) <- paste("c =", 1:4) xyplot(do.call(ts.union, kdat), type = "h", scales = list(y = list(relation = "same"))) } \keyword{ dplot } latticeExtra/man/panel.2dsmoother.Rd0000644000176000001440000000435311462212124017161 0ustar ripleyusers\name{panel.2dsmoother} \alias{panel.2dsmoother} \title{ Plot a smooth approximation of z over x and y. } \description{ Plot a smooth approximation, using \code{\link{loess}} by default, of one variable (\code{z}) against two others (\code{x} and \code{y}). This panel function should be used with a \code{\link{levelplot}}. } \usage{ panel.2dsmoother(x, y, z, subscripts = TRUE, form = z ~ x * y, method = "loess", ..., args = list(), n = 100) } \arguments{ \item{x, y, z}{ data points. If these are missing, they will be looked for in the environment of \code{form}. So in many cases you can skip these if passing \code{form}. In fact, for convenience, the formula can be passed as the first argument (i.e. \code{x}). } \item{form, method}{ the smoothing model is constructed (approximately) as \code{method(form, data = list(x=x, y=y, z=z), {args})}. See the Examples section for common choices. } \item{subscripts}{ data indices for the current packet, as passed in by \code{levelplot}. } \item{\dots}{ further arguments passed on to \code{\link{panel.levelplot}}. } \item{args}{ a list of further arguments to the model function (\code{method}). } \item{n}{ number of equi-spaced points along each of x and y on which to evaluate the smooth function. } } \details{ This should work with any model function that takes a formula argument, and has a \code{predict} method argument. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{loess}}, \code{\link{panel.smoother}} } \examples{ set.seed(1) xyz <- data.frame(x = rnorm(100), y = rnorm(100)) xyz$z <- with(xyz, x * y + rnorm(100, sd = 1)) levelplot(z ~ x * y, xyz, panel = panel.2dsmoother) ## showing data points on the same color scale levelplot(z ~ x * y, xyz, panel = panel.levelplot.points, cex = 1.2) + layer_(panel.2dsmoother(..., n = 200)) ## simple linear regression model levelplot(z ~ x * y, xyz, panel = panel.levelplot.points) + layer_(panel.2dsmoother(..., method = "lm")) ## GAM smoother with smoothness by cross validation if (require("mgcv")) levelplot(z ~ x * y, xyz, panel = panel.2dsmoother, form = z ~ s(x, y), method = "gam") } \keyword{ dplot } latticeExtra/man/panel.lmlineq.Rd0000644000176000001440000001372511403245153016542 0ustar ripleyusers\name{panel.lmlineq} \alias{panel.lmlineq} \alias{panel.ablineq} \title{ Draw a line with a label, by default its equation } \description{ This is an extension of the panel functions \code{\link{panel.abline}} and \code{\link{panel.lmline}} to also draw a label on the line. The default label is the line equation, and optionally the R squared value of its fit to the data points. } \usage{ panel.ablineq(a = NULL, b = 0, h = NULL, v = NULL, reg = NULL, coef = NULL, pos = if (rotate) 1 else NULL, offset = 0.5, adj = NULL, at = 0.5, x, y, rotate = FALSE, srt = 0, label = NULL, varNames = alist(y = y, x = x), varStyle = "italic", fontfamily = "serif", digits = 3, r.squared = FALSE, sep = ", ", sep.end = "", col, col.text, col.line, ..., reference = FALSE) panel.lmlineq(x, y, ...) } \arguments{ \item{a, b, h, v, reg, coef}{ specification of the line. The simplest usage is to give \code{a} and \code{b} to describe the line \emph{y = a + b x}. Horizontal or vertical lines can be specified as arguments \code{h} or \code{v}, respectively. The first argument (\code{a}) can also be a model object produced by \code{\link{lm}}. See \code{\link{panel.abline}} for more details. } \item{pos, offset}{ passed on to \code{\link{panel.text}}. For \code{pos}: 1 = below, 2 = left, 3 = above, 4 = right, and the \code{offset} (in character widths) is applied. } \item{adj}{ passed on to \code{\link{panel.text}}. c(0,0) = above right, c(1,0) = above left, c(0,1) = below right, c(1,1) = below left; offset does not apply when using \code{adj}. } \item{fontfamily}{ passed on to \code{\link{panel.text}}. } \item{at}{ position of the equation as a fractional distance along the line. This should be in the range 0 to 1. When a vertical line is drawn, this gives the vertical position of the equation. } \item{x, y}{ position of the equation in native units. If given, this over-rides \code{at}. For \code{panel.lmlineq} this is the data, passed on as \code{lm(y ~ x)}. } \item{rotate, srt}{ set \code{rotate = TRUE} to align the equation with the line. This will over-ride \code{srt}, which otherwise gives the rotation angle. Note that the calculated angle depends on the current device size; this will be wrong if you change the device aspect ratio after plotting. } \item{label}{ the text to draw along with the line. If specified, this will be used instead of an equation. } \item{varNames}{ names to display for \code{x} and/or \code{y}. This should be a list like \code{list(y = "Q", x = "X")} or, for mathematical symbols, \code{alist(y = (alpha + beta), x = sqrt(x[t]))}. } \item{varStyle}{ the name of a \code{\link{plotmath}} function to wrap around the equation expression, or \code{NULL}. E.g. \code{"bolditalic"}, \code{"displaystyle"}. } \item{digits}{ number of decimal places to show for coefficients in equation. } \item{r.squared}{ the \eqn{R^2} statistic to display along with the equation of a line. This can be given directly as a number, or \code{TRUE}, in which case the function expects a model object (typically \code{\link{lm}}) and extracts the \eqn{R^2} statistic from it. } \item{sep, sep.end}{ The \eqn{R^2} (\code{r.squared}) value is separated from the equation by the string \code{sep}, and also \code{sep.end} is added to the end. For example: \code{panel.ablineq(lm(y ~ x), r.squared = TRUE, sep = " (", sep.end = ")")}. } \item{\dots, col, col.text, col.line}{ passed on to \code{\link{panel.abline}} and \code{\link{panel.text}}. Note that \code{col} applies to both text and line; \code{col.text} applies to the equation only, and \code{col.line} applies to line only. } \item{reference}{ whether to draw the line in a "reference line" style, like that used for grid lines. } } \details{ The equation is constructed as an expression using \code{\link{plotmath}}. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{panel.abline}}, \code{\link{panel.text}}, \code{\link{lm}}, \code{\link{plotmath}} } \examples{ set.seed(0) xsim <- rnorm(50, mean = 3) ysim <- (0 + 2 * xsim) * (1 + rnorm(50, sd = 0.3)) ## basic use as a panel function xyplot(ysim ~ xsim, panel = function(x, y, ...) { panel.xyplot(x, y, ...) panel.ablineq(a = 0, b = 2, adj = c(0,1)) panel.lmlineq(x, y, adj = c(1,0), lty = 2, col.line = "grey", digits = 1) }) ## using layers: xyplot(ysim^2 ~ xsim) + layer(panel.ablineq(lm(y ~ x, subset = x <= 3), varNames = alist(y = y^2, x = x[x <= 3]), pos = 4)) ## rotated equation (depends on device aspect at plotting time) xyplot(ysim ~ xsim) + layer(panel.ablineq(lm(y ~ x), rotate = TRUE, at = 0.8)) ## horizontal and vertical lines xyplot(ysim ~ xsim) + layer(panel.ablineq(v = 3, pos = 4, at = 0.1, lty = 2, label = "3.0 (critical value)")) + layer(panel.ablineq(h = mean(ysim), pos = 3, at = 0.15, lty = 2, varNames = alist(y = plain(mean)(y)))) ## using layer styles, r.squared xyplot(ysim ~ xsim) + layer(panel.ablineq(lm(y ~ x), r.sq = TRUE, at = 0.4, adj=0:1), style = 1) + layer(panel.ablineq(lm(y ~ x + 0), r.sq = TRUE, at = 0.6, adj=0:1), style = 2) ## alternative placement of equations xyplot(ysim ~ xsim) + layer(panel.ablineq(lm(y ~ x), r.sq = TRUE, rot = TRUE, at = 0.8, pos = 3), style = 1) + layer(panel.ablineq(lm(y ~ x + 0), r.sq = TRUE, rot = TRUE, at = 0.8, pos = 1), style = 2) update(trellis.last.object(), auto.key = list(text = c("intercept", "no intercept"), points = FALSE, lines = TRUE)) } \keyword{ aplot } latticeExtra/man/resizePanels.Rd0000644000176000001440000000363411363627500016452 0ustar ripleyusers\name{resizePanels} \alias{resizePanels} \title{ Resize panels to match data scales } \description{ Modify a \code{"trellis"} object so that when plotted, the panels have the specified relative width and height. } \usage{ resizePanels(x, h = 1, w = 1) } \arguments{ \item{x}{ An object of class \code{"trellis"}. } \item{h}{ numeric vector specifying panel heights} \item{w}{ numeric vector specifying of panel widths} } \details{ \code{resizePanels} modifies a \code{"trellis"} object so that when plotted, the panels have the specified relative width and height; this is only interesting when \code{h} or \code{w} are vectors with unequal entries. \code{resizePanels} can be called with no arguments, in which case the currently plotted \code{"trellis"} object (if any) is used for \code{x}, and a suitable \code{h} or \code{w} (based on the current panel layout) is chosen so that sizes are relative to the current panel ranges in the native coordinate system. This is only interesting when \code{scales="free"}; the resulting object, when plotted again, will have varying panel sizes but the same number of data units per inch in all panels. } \value{ An object of class \code{"trellis"}; essentially the same as \code{x}, but with certain properties modified. } \author{ Deepayan Sarkar } \seealso{ \code{\link{Lattice}}, \code{\link{xyplot}} } \examples{ state <- data.frame(state.x77, state.region, state.name) state$state.name <- with(state, reorder(reorder(state.name, Frost), as.numeric(state.region))) dpfrost <- dotplot(state.name ~ Frost | reorder(state.region, Frost), data = state, layout = c(1, 4), scales = list(y = list(relation = "free"))) ## approximate resizePanels(dpfrost, h = with(state, table(reorder(state.region, Frost)))) ## exact (including boundary padding) resizePanels() } \keyword{dplot} latticeExtra/man/useOuterStrips.Rd0000644000176000001440000000402211510543447017017 0ustar ripleyusers\name{useOuterStrips} \alias{useOuterStrips} \title{ Put Strips on the Boundary of a Lattice Display } \description{ Try to update a \code{"trellis"} object so that strips are only shown on the top and left boundaries when printed, instead of in every panel as is usual. This is only meaningful when there are exactly tow conditioning variables. } \usage{ useOuterStrips(x, strip = strip.default, strip.left = strip.custom(horizontal = FALSE), strip.lines = 1, strip.left.lines = strip.lines) } \arguments{ \item{x}{ An object of class \code{"trellis"}. } \item{strip, strip.left}{ A function, character string or logical that would be appropriate \code{strip} and \code{strip.left} arguments respectively in a high level lattice function call (see \code{\link{xyplot}}) } \item{strip.lines, strip.left.lines}{ height of strips in number of lines; helpful for multi-line text or mathematical annotation in strips. } } \details{ \code{useOuterStrips} modifies a \code{"trellis"} object with \code{length(dim(x)) == 2} so that when plotted, strips are only shown on the top and left boundaries of the panel layout, rather than on top of every panel, as is the usual behaviour. If the original \code{"trellis"} object \code{x} includes non-default \code{strip} and \code{strip.left} arguments, they will be ignored. To provide customized strip behaviour, specify the custom strip functions directly as arguments to \code{useOuterStrips}. } \value{ An object of class \code{"trellis"}; essentially the same as \code{x}, but with certain properties modified. } \author{ Deepayan Sarkar } \seealso{ \code{\link{Lattice}}, \code{\link{xyplot}} } \examples{ library(lattice) mtcars$HP <- equal.count(mtcars$hp) useOuterStrips(xyplot(mpg ~ disp | HP + factor(cyl), mtcars)) useOuterStrips(xyplot(mpg ~ disp | factor(cyl) + HP, mtcars), strip.left = FALSE, strip = strip.custom(style = 4)) } \keyword{dplot} latticeExtra/man/tileplot.Rd0000644000176000001440000000411311403245153015626 0ustar ripleyusers\name{tileplot} \alias{tileplot} \title{ Plot a spatial mosaic from irregular 2D points } \description{ Represents an irregular set of (x, y) points with a color covariate. Polygons are drawn enclosing the area closest to each point. This is known variously as a Voronoi mosaic, a Dirichlet tesselation, or Thiessen polygons. } \usage{ tileplot(x, data = NULL, aspect = "iso", prepanel = "prepanel.default.xyplot", panel = "panel.voronoi", ...) } \arguments{ \item{x, data}{ formula and data as in \code{\link{levelplot}}, except that it expects irregularly spaced points rather than a regular grid. } \item{aspect}{ aspect ratio: "iso" is recommended as it reproduces the distances used in the triangulation calculations. } \item{panel, prepanel}{ see \code{\link{xyplot}}. } \item{\dots}{ further arguments to the panel function, which defaults to \code{\link{panel.voronoi}}. } } \details{ See \code{\link{panel.voronoi}} for further options and details. } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{panel.voronoi}}, \code{\link{levelplot}} } \examples{ xyz <- data.frame(x = rnorm(100), y = rnorm(100), z = rnorm(100)) tileplot(z ~ x * y, xyz) ## tripack is faster but non-free \dontrun{ tileplot(z ~ x * y, xyz, use.tripack = TRUE) } ## showing rectangular window boundary tileplot(z ~ x * y, xyz, xlim = c(-2, 4), ylim = c(-2, 4)) ## insert some missing values xyz$z[1:10] <- NA ## the default na.rm = FALSE shows missing polygons tileplot(z ~ x * y, xyz, border = "black", col.regions = grey.colors(100), pch = ifelse(is.na(xyz$z), 4, 21), panel = function(...) { panel.fill("hotpink") panel.voronoi(...) }) ## use na.rm = TRUE to ignore points with missing values update(trellis.last.object(), na.rm = TRUE) ## a quick and dirty approximation to US state boundaries tmp <- state.center tmp$Income <- state.x77[,"Income"] tileplot(Income ~ x * y, tmp, border = "black", panel = function(x, y, ...) { panel.voronoi(x, y, ..., points = FALSE) panel.text(x, y, state.abb, cex = 0.6) }) } \keyword{ hplot } latticeExtra/man/gvhd10.Rd0000644000176000001440000000265511363627500015101 0ustar ripleyusers\name{gvhd10} \alias{gvhd10} \docType{data} \title{ Flow cytometry data from five samples from a patient } \description{ Flow cytometry data from blood samples taken from a Leukemia patient before and after allogenic bone marrow transplant. The data spans five visits. } \usage{data(gvhd10)} \format{ A data frame with 113896 observations on the following 8 variables. \describe{ \item{\code{FSC.H}}{ forward scatter height values} \item{\code{SSC.H}}{ side scatter height values } \item{\code{FL1.H}}{ intensity (height) in the FL1 channel } \item{\code{FL2.H}}{ intensity (height) in the FL2 channel } \item{\code{FL3.H}}{ intensity (height) in the FL3 channel } \item{\code{FL2.A}}{ intensity (area) in the FL2 channel } \item{\code{FL4.H}}{ intensity (height) in the FL4 channel } \item{\code{Days}}{a factor with levels \code{-6} \code{0} \code{6} \code{13} \code{20} \code{27} \code{34}} } } \source{ \url{http://www.ficcs.org/software.html#Data_Files} } \references{ Brinkman, R.R., et al. (2007). High-Content Flow Cytometry and Temporal Data Analysis for Defining a Cellular Signature of Graft-Versus-Host Disease. \emph{Biology of Blood and Marrow Transplantation} \bold{13--6} } \examples{ ## Figure 3.4 from Sarkar (2008) data(gvhd10) histogram(~log2(FSC.H) | Days, gvhd10, xlab = "log Forward Scatter", type = "density", nint = 50, layout = c(2, 4)) } \keyword{datasets} latticeExtra/man/panel.qqmath.tails.Rd0000644000176000001440000000322111403245153017475 0ustar ripleyusers\name{panel.qqmath.tails} \alias{panel.qqmath.tails} \title{ Approximate distribution in qqmath but keep points on tails. } \description{ Panel function for \code{\link{qqmath}} to reduce the number of points plotted by sampling along the specified distribution. The usual method for such sampling is to use the \code{f.value} argument to \code{\link{panel.qqmath}}. However, this panel function differs in two ways: (1) a specified number of data points are retained (not interpolated) on each tail of the distribution. (2) the sampling is evenly spaced along the specified distribution automatically (whereas \code{f.value = ppoints(100)} is evenly spaced along the uniform distribution only). \emph{ This function is deprecated as of \pkg{lattice} 0.18-4 (available for R 2.11.0). Use the \code{tails.n} argument of \code{\link{panel.qqmath}} instead. } } \usage{ panel.qqmath.tails(x, f.value = NULL, distribution = qnorm, groups = NULL, ..., approx.n = 100, tails.n = 10) } \arguments{ \item{x, f.value, distribution, groups}{ see \code{\link{panel.qqmath}}. } \item{\dots}{ further arguments passed on to \code{\link{panel.xyplot}}. } \item{approx.n}{ number of points to use in approximating the distribution. Points will be equally spaced in the distribution space. } \item{tails.n}{ number of points to retain (untouched) at both the high and low tails. } } \author{ Felix Andrews \email{felix@nfrac.org} } \seealso{ \code{\link{panel.qqmath}} which should be used instead (as of \pkg{lattice} 0.18-4). } \examples{ ## see ?panel.qqmath } \keyword{ dplot }