lme4/0000755000176200001440000000000014770711462011124 5ustar liggesuserslme4/tests/0000755000176200001440000000000014770373205012265 5ustar liggesuserslme4/tests/glmmWeights.R0000644000176200001440000000741614630126752014705 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... ## hand-coded Pearson residuals {for sumFun() } mypresid <- function(x) { mu <- fitted(x) (getME(x,"y") - mu) * sqrt(weights(x)) / sqrt(x@resp$family$variance(mu)) } ## should be equal (up to numerical error) to weights(.,type="working") workingWeights <- function(mod) mod@resp$weights*(mod@resp$muEta()^2)/mod@resp$variance() ##' Sum of weighted residuals, 4 ways; the last three are identical sumFun <- function(m) { wrss1 <- m@devcomp$cmp["wrss"] wrss2 <- sum(residuals(m,type="pearson")^2) wrss3 <- sum(m@resp$wtres^2) ## compare to hand-fitted Pearson resids ... wrss4 <- sum(mypresid(m)^2) c(wrss1,wrss2,wrss3,wrss4) } ## The relative "error"/differences of the weights w[] entries rel.diff <- function(w) abs(1 - w[-1]/w[1]) set.seed(101) ## GAMMA g0 <- glmer(y~x+(1|block),data=gSim(),family=Gamma) expect_true(all(rel.diff(sumFun(g0)) < 1e-13)) expect_equal(weights(g0, type = "working"), workingWeights(g0), tolerance = 1e-4) ## FIXME: why is such a high tolerance required? ## BERNOULLI g1 <- glmer(y~x+(1|block),data=gSim(family=binomial(),nbinom=1), family=binomial) expect_true(all(rel.diff(sumFun(g1)) < 1e-13)) expect_equal(weights(g1, type = "working"), workingWeights(g1), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? ## POISSON (n <- nrow(d.P <- gSim(family=poisson()))) g2 <- glmer(y ~ x + (1|block), data = d.P, family=poisson) g2W <- glmer(y ~ x + (1|block), data = d.P, family=poisson, weights = rep(2,n)) expect_true(all(rel.diff(sumFun(g2 )) < 1e-13)) expect_true(all(rel.diff(sumFun(g2W)) < 1e-13)) ## correct expect_equal(weights(g2, type = "working"), workingWeights(g2), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? expect_equal(weights(g2W, type = "working"), workingWeights(g2W), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? ## non-Bernoulli BINOMIAL g3 <- glmer(y ~ x + (1|block), data= gSim(family=binomial(), nbinom=10), family=binomial) expect_true(all(rel.diff(sumFun(g3)) < 1e-13)) expect_equal(weights(g3, type = "working"), workingWeights(g3), tolerance = 1e-4) ## FIXME: why is such a high tolerance required? d.b.2 <- gSim(nperblk = 2, family=binomial()) g.b.2 <- glmer(y ~ x + (1|block), data=d.b.2, family=binomial) expect_true(all(rel.diff(sumFun(g.b.2 )) < 1e-13)) ## Many blocks of only 2 observations each - (but nicely balanced) ## Want this "as" https://github.com/lme4/lme4/issues/47 ## (but it "FAILS" survival already): ## ## n2 = n/2 : n2 <- 2048 if(FALSE) n2 <- 100 # for building/testing set.seed(47) dB2 <- gSim(n2, nperblk = 2, x= rep(0:1, each= n2), family=binomial()) ## -- -- --- -------- gB2 <- glmer(y ~ x + (1|block), data=dB2, family=binomial) expect_true(all(rel.diff(sumFun(gB2)) < 1e-13)) ## NB: Finite sample bias of \hat\sigma_1 and \hat\beta_1 ("Intercept") ## tend to zero only slowly for n2 -> Inf, e.g., for ## n2 = 2048, b1 ~= 4.3 (instead of 4); s1 ~= 1.3 (instead of 1) ## FAILS ----- ## library(survival) ## (gSurv.B2 <- clogit(y ~ x + strata(block), data=dB2)) ## ## --> Error in Surv(rep(1, 200L), y) : Time and status are different lengths ## summary(gSurv.B2) ## (SE.surf <- sqrt(diag(vcov(gSurv.B2)))) g3 <- glmer(y ~ x + (1|block),data=gSim(family=binomial(),nbinom=10), family=binomial) expect_equal(var(sumFun(g3)),0) ## check dispersion parameter ## (lowered tolerance to pass checks on my machine -- SCW) expect_equal(sigma(g0)^2, 0.4888248, tolerance=1e-4) } ## skip on windows (for speed) lme4/tests/dynload.R0000644000176200001440000000367114234301437014042 0ustar liggesusers## this is the simpler version of the code for testing/exercising ## https://github.com/lme4/lme4/issues/35 ## see also ../misc/issues/dynload.R for more complexity pkg <- so_name <- "lme4"; doUnload <- FALSE; doTest <- TRUE ## pkg <- so_name <- "RcppEigen"; doUnload <- TRUE; doTest <- TRUE ## need to deal with the fact that DLL name != package name for lme4.0 ... ### pkg <- "lme4.0"; so_name <- "lme4"; doUnload <- TRUE instPkgs <- as.data.frame(installed.packages(),stringsAsFactors=FALSE) Load <- function() { library(pkg,character.only=TRUE) } Unload <- function() { ld <- library.dynam() pnames <- sapply(ld,"[[","name") names(ld) <- pnames lp <- gsub("/libs/.*$","",ld[[so_name]][["path"]]) cat("unloading from",lp,"\n") library.dynam.unload(so_name, lp) } Detach <- function() { detach(paste0("package:",pkg),character.only=TRUE,unload=TRUE) if (doUnload) Unload() } tmpf <- function() { g <- getLoadedDLLs() lnames <- names(g)[is.na(instPkgs[names(g),"Priority"])] cat("loaded DLLs:",lnames,"\n") g <- g[na.omit(match(c(so_name,"nlme"),names(g)))] class(g) <- "DLLInfoList" g } test <- function() { if (doTest) { if (pkg %in% c("lme4","lme4.0")) { fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, devFunOnly=TRUE) } if (pkg=="RcppEigen") { data(trees, package="datasets") mm <- cbind(1, log(trees$Girth)) # model matrix y <- log(trees$Volume) # response ## bare-bones direct interface flm <- fastLmPure(mm, y) } } } if (FALSE) { ## FIXME: disabled test for now for (i in 1:6) { cat("Attempt #",i,"\n",sep="") cat("loading",pkg,"\n") Load() tmpf() test() cat("detaching",pkg,"\n") Detach() cat("loading nlme\n") library("nlme") tmpf() detach("package:nlme",unload=TRUE) cat("detaching nlme\n") } } lme4/tests/nbinom.R0000644000176200001440000001513114770373073013676 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) cat("lme4 testing level: ", testLevel <- lme4:::testLevel(), "\n") getNBdisp <- function(x) getME(x,"glmer.nb.theta") ## for now, use hidden functions [MM: this is a sign, we should *export* them] refitNB <- lme4:::refitNB simfun <- function(sd.u=1, NBtheta=0.5, nblock = 25, fform = ~x, beta = c(1,2), nrep = 40, seed) { levelset <- c(LETTERS,letters) stopifnot(2 <= nblock, nblock <= length(levelset)) if (!missing(seed)) set.seed(seed) ntot <- nblock*nrep d1 <- data.frame(x = runif(ntot), f = factor(rep(levelset[1:nblock], each=nrep))) u_f <- rnorm(nblock, sd=sd.u) X <- model.matrix(fform, data=d1) transform(d1, z = rnbinom(ntot, mu = exp(X %*% beta + u_f[f]), size = NBtheta)) } ##' simplified logLik() so we can compare with "glmmADMB" (and other) results logLik.m <- function(x) { L <- logLik(x) attributes(L) <- attributes(L)[c("class","df","nobs")] L } if (testLevel > 1) withAutoprint({ set.seed(102) d.1 <- simfun() t1 <- system.time(g1 <- glmer.nb(z ~ x + (1|f), data=d.1, verbose=TRUE)) g1 d1 <- getNBdisp(g1) (g1B <- refitNB(g1, theta = d1)) (ddev <- deviance(g1) - deviance(g1B)) (reld <- (fixef(g1) - fixef(g1B)) / fixef(g1)) stopifnot(abs(ddev) < 1e-6, # was 6.18e-7, 1.045e-6, -6.367e-5, now 0 abs(reld) < 1e-6)# 0, then 4.63e-6, now 0 ## 2 Aug 2015: ddev==reld==0 on 32-bit Ubuntu 12.04 if(FALSE) { ## comment out to avoid R CMD check warning : ## library(glmmADMB) t2 <- system.time(g2 <- glmmadmb(z~x+(1|f), data = d.1, family="nbinom")) ## matrix not pos definite in sparse choleski t2 # 17.1 sec elapsed glmmADMB_vals <- list(fixef= fixef(g2), LL = logLik(g2), theta= g2$alpha) } else { glmmADMB_vals <- list(fixef = c("(Intercept)" = 0.928710, x = 2.05072), LL = structure(-2944.62, class = "logLik", df = 4, nobs = 1000L), theta = 0.4487) } stopifnot(exprs = { all.equal( d1, glmmADMB_vals$ theta, tolerance=0.003) # 0.0015907 all.equal(fixef(g1B), glmmADMB_vals$ fixef, tolerance=0.02)# was 0.009387 ! ## Ubuntu 12.04/32-bit: 0.0094 all.equal(logLik.m(g1B), glmmADMB_vals$ LL, tolerance=1e-4)# 1.681e-5; Ubuntu 12.04/32-b: 1.61e-5 }) })## end if( testLevel > 1 ) if(FALSE) { ## simulation study -------------------- ## library(glmmADMB) ## avoid R CMD check warning simsumfun <- function(...) { d <- simfun(...) t1 <- system.time(g1 <- glmer.nb(z~x+(1|f),data=d)) t2 <- system.time(g2 <- glmmadmb(z~x+(1|f), data=d,family="nbinom")) c(t.glmer=unname(t1["elapsed"]),nevals.glmer=g1$nevals, theta.glmer=exp(g1$minimum), t.glmmadmb=unname(t2["elapsed"]),theta.glmmadmb=g2$alpha) } ## library(plyr) ## sim50 <- raply(50,simsumfun(),.progress="text") save("sim50",file="nbinomsim1.RData") ## library(reshape) ## m1 <- melt(data.frame(run=seq(nrow(sim50)),sim50),id.var="run") ## m1 <- data.frame(m1,colsplit(m1$variable,"\\.",c("v","method"))) ## m2 <- cast(subset(m1,v=="theta",select=c(run,value,method)), ## run~method) library(ggplot2) ggplot(subset(m1,v=="theta"),aes(x=method,y=value))+ geom_boxplot()+geom_point()+geom_hline(yintercept=0.5,colour="red") ggplot(subset(m1,v=="theta"),aes(x=method,y=value))+ stat_summary(fun.data=mean_cl_normal)+ geom_hline(yintercept=0.5,colour="red") ggplot(m2,aes(x=glmer-glmmadmb))+geom_histogram() ## glmer is slightly more biased (but maybe the MLE itself is biased???) }## end{simulation study}------------------------- ### epilepsy example: data(epil, package="MASS") epil2 <- transform(epil, Visit = (period-2.5)/5, Base = log(base/4), Age = log(age), subject= factor(subject)) if(FALSE) { ## comment out to avoid R CMD check warning : ## library(glmmADMB) t3 <- system.time(g3 <- glmmadmb(y~Base*trt+Age+Visit+(Visit|subject), data=epil2, family="nbinom")) # t3 : 8.67 sec glmmADMB_epil_vals <- list(fixef= fixef(g3), LL = logLik(g3), theta= g3$alpha) } else { glmmADMB_epil_vals <- list(fixef = c("(Intercept)"= -1.33, "Base"=0.8839167, "trtprogabide"= -0.9299658, "Age"= 0.4751434, "Visit"=-0.2701603, "Base:trtprogabide"=0.3372421), LL = structure(-624.551, class = "logLik", df = 9, nobs = 236L), theta = 7.4702) } if (testLevel > 2) withAutoprint({ ## "too slow" for regular testing -- 49 (MM@lynne: 33, then 26, then 14) seconds: (t4 <- system.time(g4 <- glmer.nb(y ~ Base*trt + Age + Visit + (Visit|subject), data = epil2, verbose=TRUE))) ## 1.1-7 : Warning in checkConv().. failed .. with max|grad| = 0.0089 (tol = 0.001, comp. 4) ## 1.1-21: 2 Warnings: max|grad| = 0.00859, then 0.1176 (0.002, comp. 1) stopifnot(exprs = { all.equal(getNBdisp(g4), glmmADMB_epil_vals$ theta, tolerance= 0.03) # 0.0019777 all.equal(fixef (g4), glmmADMB_epil_vals$ fixef, tolerance= 0.04) # 0.003731 (0.00374 on U 12.04) ## FIXME: even df differ (10 vs 9) ! ## all.equal(logLik.m(g4), - glmmADMB_epil_vals$ LL, tolerance= 0.0) ## was 0.0002 all.equal(logLik.m(g4), # for now {this is not *the* truth, just our current approximation of it}: structure(-624.48418, class = "logLik", df = 10, nobs = 236L), ## tolerance loosened 24-03-2025, failed at 1.7e-4 tolerance = 5e-4) }) }) cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' } ## skip on windows (for speed) lme4/tests/README0000644000176200001440000000125514234301437013141 0ustar liggesusersCatalog of currently-failing examples (commented out, testsx, etc.): glmmExt.R: "fail for MM" on Gaussian/inverse examples -- seems fine for me lmer-0.R: sstudy9 example. Should *not* work; is a meaningful error message possible? prLogistic.R: Thailand/clustered-data example from ?prLogisticDelta example in prLogistic package Presumably the problem is that 100/411 random-effect levels have only zeros -- but should this mess things up? glmmML and lme4.0 give nearly identical answers profile.R: fails on CBPP profiling from testsx: testcolonizer: definite case where complete separation occurs, GLM does not really give a fit testcrabs: ?? not sure ?? lme4/tests/testcolonizer.R0000644000176200001440000000140314630126752015310 0ustar liggesusers## library(lme4.0) ## Emacs M- --> setwd() correctly ## m0.0 <- glm(colonizers~Treatment*homespecies*respspecies, data=randdat, family=poisson) ## with(randdat,tapply(colonizers,list(Treatment,homespecies,respspecies),sum)) ## summary(m1.0 <- glmer(form1, data=randdat, family=poisson)) ## summary(m2.0 <- glmer(form2, data=randdat, family=poisson)) ## detach("package:lme4.0", unload=TRUE) load(system.file("testdata","colonizer_rand.rda",package="lme4")) library("lme4") packageVersion("lme4") if (.Platform$OS.type != "windows") { m1 <- glmer(form1,data=randdat, family=poisson) ## PIRLS step failed m2 <- glmer(form1,data=randdat, family=poisson, nAGQ=0) ## OK m3 <- glmer(form2,data=randdat, family=poisson) ## ditto } ## skip on windows (for speed) lme4/tests/testcrab.R0000644000176200001440000001056214630126752014221 0ustar liggesuserslibrary("lme4") L <- load(system.file("testdata","crabs_randdata2.Rda",package="lme4")) ## randdata0: simulated data, in form suitable for plotting ## randdata: simulated data, in form suitable for analysis ## fr ## alive/dead formula ## fr2 ## proportion alive formula (use with weights=initial.snail.density) ## FIXME: there are still bigger differences than I'd like between the approaches ## (mostly in the random-effects correlation). It's not clear who's right; ## lme4 thinks its parameters are better, but ?? Could be explored further. if (FALSE) { ## library(ggplot2) ## commented to avoid triggering Suggests: requirement library(grid) zmargin <- theme(panel.margin=unit(0,"lines")) theme_set(theme_bw()) g1 <- ggplot(randdata0,aes(x=snail.size,y=surv,colour=snail.size,fill=snail.size))+ geom_hline(yintercept=1,colour="black")+ stat_sum(aes(size=factor(..n..)),alpha=0.6)+ facet_grid(.~ttt)+zmargin+ geom_boxplot(fill=NA,outlier.colour=NULL,outlier.shape=3)+ ## set outliers to same colour as points ## (hard to see which are outliers, but it doesn't really matter in this case) scale_size_discrete("# obs",range=c(2,5)) } if (.Platform$OS.type != "windows") { t1 <- system.time(glmer1 <- glmer(fr2,weights=initial.snail.density, family ="binomial", data=randdata)) t1B <- system.time(glmer1B <- glmer(fr,family ="binomial", data=randdata)) res1 <- c(fixef(glmer1),c(VarCorr(glmer1)$plot)) res1B <- c(fixef(glmer1B),c(VarCorr(glmer1B)$plot)) p1 <- unlist(getME(glmer1,c("theta","beta"))) stopifnot(all.equal(res1,res1B)) dfun <- update(glmer1,devFunOnly=TRUE) stopifnot(all.equal(dfun(p1),c(-2*logLik(glmer1)))) ## ## library(lme4.0) ## version 0.999999.2 results ## t1_lme4.0 <- system.time(glmer1X <- ## glmer(fr2,weights=initial.snail.density, ## family ="binomial", data=randdata)) ## dput(c(fixef(glmer1X),c(VarCorr(glmer1X)$plot))) ## p1X <- c(getME(glmer1X,"theta"),getME(glmer1X,"beta")) p1X <- c(0.681301656652347, -1.14775239687404, 0.436143018123226, 2.77730476938968, 0.609023583738824, -1.60055813739844, 2.0324468778545, 0.624173873057839, -1.7908793509579, -2.44540201631615, -1.42365990002708, -2.26780929006268, 0.700928084600075, -1.26220238391029, 0.369024582097804, 3.44325347343035, 2.26400391093108) stopifnot(all.equal(unname(p1),p1X,tolerance=0.03)) dfun(p1X) dfun(p1) ## ~ 1.8 seconds elapsed time lme4.0_res <- structure(c(2.77730476938968, 0.609023583738824, -1.60055813739844, 2.0324468778545, 0.624173873057839, -1.7908793509579, -2.44540201631615, -1.42365990002708, -2.26780929006268, 0.700928084600075, -1.26220238391029, 0.369024582097804, 3.44325347343035, 2.26400391093108, 0.464171947357232, -0.532754465140956, -0.532754465140956, 0.801690946568518), .Names = c("(Intercept)", "crab.speciesS", "crab.speciesW", "crab.sizeS", "crab.sizeM", "snail.sizeS", "crab.speciesS:crab.sizeS", "crab.speciesS:crab.sizeM", "crab.speciesS:snail.sizeS", "crab.speciesW:snail.sizeS", "crab.sizeS:snail.sizeS", "crab.sizeM:snail.sizeS", "crab.speciesS:crab.sizeS:snail.sizeS", "crab.speciesS:crab.sizeM:snail.sizeS", "", "", "", "")) stopifnot(all.equal(res1,lme4.0_res,tolerance=0.015)) ## library("glmmADMB") ## prop/weights formulation: ~ 7 seconds ## t1_glmmadmb <- system.time(glmer1B <- glmmadmb(fr,family ="binomial", ## corStruct="full",data=randdata)) ## dput(c(fixef(glmer1B),c(VarCorr(glmer1B)$plot))) glmmADMB_res <- structure(c(2.7773101267224, 0.609026276823218, -1.60055704634712, 2.03244174458562, 0.624171008585953, -1.79088398816641, -2.44540300134182, -1.42366043619683, -2.26780858382505, 0.700927141726545, -1.26219964572264, 0.369029052442189, 3.44326297908383, 2.26403738918967, 0.46417, -0.53253, -0.53253, 0.80169), .Names = c("(Intercept)", "crab.speciesS", "crab.speciesW", "crab.sizeS", "crab.sizeM", "snail.sizeS", "crab.speciesS:crab.sizeS", "crab.speciesS:crab.sizeM", "crab.speciesS:snail.sizeS", "crab.speciesW:snail.sizeS", "crab.sizeS:snail.sizeS", "crab.sizeM:snail.sizeS", "crab.speciesS:crab.sizeS:snail.sizeS", "crab.speciesS:crab.sizeM:snail.sizeS", "", "", "", "")) stopifnot(all.equal(res1B,glmmADMB_res,tolerance=0.015)) } ## skip on windows (for speed) lme4/tests/drop.R0000644000176200001440000000127114630126752013353 0ustar liggesusersif (.Platform$OS.type != "windows") withAutoprint({ library(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## slightly weird model but plausible --- not that ## one would want to try drop1() on this model ... fm2 <- lmer(Reaction ~ 1+ (Days|Subject), sleepstudy) drop1(fm2) ## empty update(fm1, . ~ . - Days) anova(fm2) ## empty terms(fm1) terms(fm1,fixed.only=FALSE) extractAIC(fm1) drop1(fm1) drop1(fm1, test="Chisq") gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ=25L) drop1(gm1, test="Chisq") }) ## skip on windows (for speed) lme4/tests/vcov-etc.R0000644000176200001440000001063714630126752014143 0ustar liggesusersstopifnot(require(lme4)) (testLevel <- lme4:::testLevel()) source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> unn() ## "MEMSS" is just 'Suggest' -- must still work, when it's missing: if (suppressWarnings(!require(MEMSS, quietly=TRUE)) || (data(ergoStool, package="MEMSS") != "ergoStool")) { cat("'ergoStool' data from package 'MEMSS' is not available --> skipping test\n") } else { fm1 <- lmer (effort ~ Type + (1|Subject), data = ergoStool) ##sp no longer supported since ~ 2012-3: ##sp fm1.s <- lmer (effort ~ Type + (1|Subject), data = ergoStool, sparseX=TRUE) ## was segfaulting with sparseX (a while upto 2010-04-06) fe1 <- fixef(fm1) ##sp fe1.s <- fixef(fm1.s) print(s1.d <- summary(fm1)) ##sp print(s1.s <- summary(fm1.s)) Tse1.d <- c(0.57601226, rep(0.51868384, 3)) stopifnot(exprs = { ##sp all.equal(fe1, fe1.s, tolerance= 1e-12) all.equal(Tse1.d, unname(se1.d <- coef(s1.d)[,"Std. Error"]), tolerance = 1e-6) # std.err.: no too much accuracy is(V.d <- vcov(fm1), "symmetricMatrix") ##sp all.equal(se1.d, coef(s1.s)[,"Std. Error"])#, tol = 1e-10 ##sp all.equal( V.d, vcov(fm1.s))#, tol = 1e-9 all.equal(Matrix::diag(V.d), unn(se1.d)^2, tolerance= 1e-12) }) }## if( ergoStool is available from pkg MEMSS ) ### -------------------------- a "large" example ------------------------- str(InstEval) if (FALSE) { # sparse X is not currently implemented, so forget about this: system.time(## works with 'sparseX'; d has 1128 levels fm7 <- lmer(y ~ d + service + studage + lectage + (1|s), data = InstEval, sparseX=TRUE, verbose=1L, REML=FALSE) ) system.time(sfm7 <- summary(fm7)) fm7 # takes a while as it computes summary() again ! range(t.fm7 <- coef(sfm7)[,"t value"])## -10.94173 10.61535 for REML, -11.03438 10.70103 for ML m.t.7 <- mean(abs(t.fm7), trim = .01) #stopifnot(all.equal(m.t.7, 1.55326395545110, tolerance = 1.e-9)) ##REML value stopifnot(all.equal(m.t.7, 1.56642013605506, tolerance = 1.e-6)) ## ML hist.t <- cut(t.fm7, floor(min(t.fm7)) : ceiling(max(t.fm7))) cbind(table(hist.t)) }# fixed effect 'd' -- with 'sparseX' only -------------------------------- if(testLevel <= 1) { cat('Time elapsed: ', proc.time(),'\n'); q("no") } ## ELSE : (testLevel > 1) : library(lattice) source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##--> all.equal(), isOptimized(), ... system.time( fm8.N <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, control=lmerControl("Nelder_Mead"), verbose = 1L) ) ## 14 sec [MM@lynne; 2022-11] ## 62 sec [MM@lynne; 2013-11] ## 59.5 sec [nb-mm3; 2013-12-31] system.time( fm8.B <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, control=lmerControl("bobyqa"), verbose = 2L) ) ## 7.8 sec [MM@lynne; 2022-11] ## 34.1 sec [nb-mm3; 2013-12-31] system.time( fm8 <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, verbose = 1L) ) ## 7.8 sec [MM@lynne; 2022-11] stopifnot(isOptimized(fm8.N), isOptimized(fm8.B), isOptimized(fm8)) all.equal(fm8.B, fm8, tolerance=0)# 9.78e-9 (2022-11); both versions of bobyqa all.equal(fm8.B, fm8.N, tolerance=0) ## "Mean relative difference: 3.31 e-06" [nb-mm3; 2013-12-31] stopifnot(isOptimized(fm8.N), isOptimized(fm8.B), isOptimized(fm8)) str(baseOpti(fm8)) str(baseOpti(fm8.N)) str(baseOpti(fm8.B)) (sm8 <- summary(fm8.B)) str(r8 <- ranef(fm8.B)) noquote(sapply(r8, summary)) r.m8 <- cov2cor(vcov(sm8)) Matrix::image(r.m8, main="cor()") if(testLevel <= 2) { cat('Time elapsed: ', proc.time(),'\n'); q("no") } ## ELSE: testLevel > 2 ## Clearly smaller X, but more RE pars ## ==> currently considerably slower than the above system.time( fm9 <- lmer(y ~ studage + lectage + (1|s) + (1|d) + (1|dept:service) + (1|dept), InstEval, verbose = 1L, REML=FALSE) ) ## 25.6 secs [MM@lynne; 2022-11] ## 410 secs [MM@lynne; 2013-11] fm9 (sm9 <- summary(fm9)) rr <- ranef(fm9, condVar = TRUE) ## ~ 6 secs noquote(sapply(rr, summary)) qqr <- qqmath(rr, strip=FALSE) ## NB: x-axis range <==> scale of RE <==> "importance" of effect qqr$d qqr$s dotplot(rr,strip=FALSE)$`dept:service` cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/prLogistic.R0000644000176200001440000000220514234301437014517 0ustar liggesusers## data set and formula extracted from ?prLogisticDelta example ## (Thailand, clustered-data) in prLogistic package load(system.file("testdata","prLogistic.RData",package="lme4")) library(lme4) (testLevel <- lme4:::testLevel()) if (testLevel > 2) { print(system.time( lme4_est <- glmer(rgi ~ sex + pped + (1|schoolid), data = dataset, family=binomial) )) lme4_results <- list(sigma= sqrt(unname(unlist(VarCorr(lme4_est)))), beta = fixef(lme4_est)) ## stored results from other pkgs glmmML_est <- list(sigma = 1.25365353546143, beta = c("(Intercept)" = -2.19478801858317, "sex" = 0.548884468743364, "pped"= -0.623835613907385)) lme4.0_est <- list(sigma = 1.25369539060849, beta = c("(Intercept)" = -2.19474529099587, "sex" = 0.548900267825802, "pped"= -0.623934772981894)) source(system.file("test-tools-1.R", package = "Matrix"))#-> assert.EQ() etc assert.EQ.(lme4_results, glmmML_est, tol=3e-3) assert.EQ.(lme4_results, lme4.0_est, tol=3e-3) print(lme4_est) } lme4/tests/hatvalues.R0000644000176200001440000000246614630126752014412 0ustar liggesusersif (.Platform$OS.type != "windows") withAutoprint({ library(lme4) source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> unn() m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) bruteForceHat <- function(object) { with(getME(object, c("Lambdat", "Lambda", "Zt", "Z", "q", "X")), { ## cp:= the cross product block matrix in (17) and (18): W <- Diagonal(x = weights(object)) I <- Diagonal(q) A.21 <- t(X) %*% W %*% Z %*% Lambda cp <- rbind(cbind(Lambdat %*% Zt %*% W %*% Z %*% Lambda + I, t(A.21)), cbind(A.21, t(X) %*% W %*% X)) mm <- cbind(Z %*% Lambda, X) ## a bit efficient: both cp and mm are typically quite sparse ## mm %*% solve(as.matrix(cp)) %*% t(mm) mm %*% solve(cp, t(mm), sparse=FALSE) }) } str(H <- bruteForceHat(m)) set.seed(7) ii <- sample(nrow(sleepstudy), 500, replace=TRUE) m2 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy[ii, ]) stopifnot(all.equal(diag(H), unn(hatvalues(m)), tol= 1e-14), all.equal(diag(bruteForceHat(m2)), unn(hatvalues(m2)), tol= 1e-14) ) }) ## skip on windows (for speed) lme4/tests/glmerWarn.R0000644000176200001440000000450514630126752014350 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) ## [glmer(*, gaussian) warns to rather use lmer()] m3 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) m4 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) m5 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian)) expect_equal(fixef(m3),fixef(m5)) ## hack call -- comes out unimportantly different m4@call[[1]] <- quote(lme4::lmer) expect_equal(m3,m4) expect_equal(m3,m5) ## would like m3==m5 != m4 ?? expect_equal(VarCorr(m4), VarCorr(m5), tolerance = 1e-14) print(th4 <- getME(m4,"theta")) expect_equal(th4, getME(m5,"theta"), tolerance = 1e-14) ## glmer() - poly() + interaction if (requireNamespace("mlmRev")) withAutoprint({ data(Contraception, package="mlmRev") ## ch := with child Contraception <- within(Contraception, ch <- livch != "0") ## gmC1 <- glmer(use ~ poly(age,2) + ch + age:ch + urban + (1|district), ## Contraception, binomial) ### not a 'warning' per se {cannot suppressWarnings(.)}: ### fixed-effect model matrix is rank deficient so dropping 1 column / coefficient ### also printed with print(): labeled as "fit warnings" ## ==> from ../R/modular.R chkRank.drop.cols() ## --> Use control = glmerControl(check.rankX = "ignore+drop.cols")) ## because further investigation shows "the problem" is really already ## in model.matrix(): set.seed(101) dd <- data.frame(ch = c("Y","N")[1+rbinom(12, 1, 0.7)], age = rlnorm(12, 16)) colnames(mm1 <- model.matrix( ~ poly(age,2) + ch + age:ch, dd)) ## "(Int.)" "poly(age, 2)1" "poly(age, 2)2" "chY" "chN:age" "chY:age" ## If we make the poly() columns to regular variables, can interact: d2 <- within(dd, { p2 <- poly(age,2); ageL <- p2[,1]; ageQ <- p2[,2]; rm(p2)}) ## then, we can easily get what want (mm2 <- model.matrix( ~ ageL+ageQ + ch + ageL:ch, d2)) ## actually even more compactly now ("drawback": 'ageQ' at end): (mm2. <- model.matrix( ~ ageL*ch + ageQ, d2)) cn2 <- colnames(mm2) stopifnot(identical(mm2[,cn2], mm2.[,cn2])) }) } ## skip on windows (for speed) lme4/tests/optimizer.R0000644000176200001440000000500414630126752014427 0ustar liggesuserslibrary(lme4) source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## N.B. is.all.equal4() and assert.EQ() use 'tol', not 'tolerance' ## should be able to run any example with any bounds-constrained optimizer ... ## Nelder_Mead, bobyqa built in; optimx/nlminb, optimx/L-BFGS-B ## optimx/Rcgmin will require a bit more wrapping/interface work (requires gradient) if (.Platform$OS.type != "windows") { fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## Nelder_Mead fm1B <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerControl(optimizer="bobyqa")) stopifnot(all.equal(fixef(fm1),fixef(fm1B))) require(optimx) lmerCtrl.optx <- function(method, ...) lmerControl(optimizer="optimx", ..., optCtrl=list(method=method)) glmerCtrl.optx <- function(method, ...) glmerControl(optimizer="optimx", ..., optCtrl=list(method=method)) (testLevel <- lme4:::testLevel()) ## FAILS on Windows (on r-forge only, not win-builder)... 'function is infeasible at initial parameters' ## (can we test whether we are on r-forge??) if (.Platform$OS.type != "windows") { fm1C <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerCtrl.optx(method="nlminb")) fm1D <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerCtrl.optx(method="L-BFGS-B")) stopifnot(is.all.equal4(fixef(fm1),fixef(fm1B),fixef(fm1C),fixef(fm1D))) fm1E <- update(fm1,control=lmerCtrl.optx(method=c("nlminb","L-BFGS-B"))) ## hack equivalence of call and optinfo fm1E@call <- fm1C@call fm1E@optinfo <- fm1C@optinfo assert.EQ(fm1C,fm1E, tol=1e-5, giveRE=TRUE)# prints unless tolerance=0--equality } gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=glmerControl(tolPwrss=1e-13)) gm1B <- update(gm1, control=glmerControl (tolPwrss=1e-13, optimizer="bobyqa")) gm1C <- update(gm1, control=glmerCtrl.optx(tolPwrss=1e-13, method="nlminb")) gm1D <- update(gm1, control=glmerCtrl.optx(tolPwrss=1e-13, method="L-BFGS-B")) stopifnot(is.all.equal4(fixef(gm1),fixef(gm1B),fixef(gm1C),fixef(gm1D), tol=1e-5)) if (testLevel > 1) { gm1E <- update(gm1, control= glmerCtrl.optx(tolPwrss=1e-13, method=c("nlminb","L-BFGS-B"))) ## hack equivalence of call and optinfo gm1E@call <- gm1C@call gm1E@optinfo <- gm1C@optinfo assert.EQ(gm1E,gm1C, tol=1e-5, giveRE=TRUE)# prints unless tol=0--equality } } ## skip on windows (for speed) lme4/tests/varcorr.R0000644000176200001440000000113614630126752014065 0ustar liggesuserslibrary(lme4) if (.Platform$OS.type != "windows") { data(Orthodont, package="nlme") fm1 <- lmer(distance ~ age + (age|Subject), data = Orthodont) VarCorr(fm1) fm2ML <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin, REML=0) VarCorr(fm2ML) gm1 <- glmer(cbind(incidence,size-incidence) ~ period + (1|herd),data=cbpp, family=binomial) VarCorr(gm1) cbpp$obs <- factor(seq(nrow(cbpp))) gm2 <- update(gm1,.~.+(1|obs)) VarCorr(gm2) if (FALSE) { ## testing lme4/lme4 incompatibility ## library(lme4) VarCorr(fm1) lme4:::VarCorr.merMod(fm1) ## OK } } ## skip on windows (for speed) lme4/tests/confint.R0000644000176200001440000000320114630126752014042 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type != "windows") withAutoprint({ library("lme4") library("testthat") L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) ## -> "fit_*" objects fm1 <- fit_sleepstudy_2 c0 <- confint(fm1, method="Wald") c0B <- confint(fm1, method="Wald",parm="Days") expect_equal(c0["Days",],c0B["Days",]) expect_equal(c(c0B),c(7.437592,13.496980),tolerance=1e-6) set.seed(101) for (bt in c("norm", "basic", "perc")) { suppressWarnings( confint(fm1, method="boot", boot.type=bt, nsim=10,quiet=TRUE)) } for (bt in c("stud","bca","junk")) { expect_error(confint(fm1, method="boot", boot.type=bt, nsim=10), "should be one of") } if((testLevel <- lme4:::testLevel()) > 1) { pr1.56 <- profile(fm1, which = 5:6) c1 <- confint(pr1.56, method="profile") expect_equal(c0[5:6,],c1,tolerance=2e-3) ## expect Wald and profile _reasonably_ close print(c1,digits=3) ## c6 <- confint(pr1.56, "Days") expect_equal(c1[2, , drop=FALSE], c6) c2 <- confint(fm1,method="boot",nsim=50,parm=5:6) ## expect_error(confint(fm1,method="boot",nsim=50,parm="Days"), ## "must be specified as an integer") expect_equal(c1,c2,tolerance=2e-2) print(c2,digits=3) } if (testLevel > 10) { print(c1B <- confint(fm1, method="profile")) print(c2B <- confint(fm1, method="boot")) expect_equal(unname(c1B), unname(c2B), tolerance=2e-2) } }) ## skip if windows/testLevel<1 lme4/tests/refit.R0000644000176200001440000001546014630126752013525 0ustar liggesusers#### Testing refit() #### ---------------- library(lme4) set.seed(101) testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 ## for each type of model, should be able to ## (1) refit with same data and get the same answer, ## at least structurally (small numerical differences ## are probably unavoidable) ## (2) refit with simulate()d data if (testLevel>1) { getinfo <- function(x) { c(fixef(x), logLik(x), unlist(ranef(x)), unlist(VarCorr(x))) } dropterms <- function(x) { attr(x@frame,"terms") <- NULL x } if (getRversion() >= "3.0.0") { attach(system.file("testdata", "lme-tst-fits.rda", package="lme4")) } else { ## saved fits are not safe with old R versions; just re-compute ("cheat"!): fit_sleepstudy_2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) cbpp$obs <- factor(seq(nrow(cbpp))) ## intercept-only fixed effect fit_cbpp_0 <- glmer(cbind(incidence, size-incidence) ~ 1 + (1|herd), cbpp, family=binomial) ## include fixed effect of period fit_cbpp_1 <- update(fit_cbpp_0, . ~ . + period) if(FALSE) ## include observation-level RE fit_cbpp_2 <- update(fit_cbpp_1, . ~ . + (1|obs)) ## specify formula by proportion/weights instead fit_cbpp_3 <- update(fit_cbpp_1, incidence/size ~ period + (1 | herd), weights = size) } ## LMM fm1 <- fit_sleepstudy_2 fm1R <- refit(fm1, sleepstudy$Reaction) fm1S <- refit(fm1, simulate(fm1)[[1]]) stopifnot(all.equal(getinfo(fm1 ), getinfo(fm1R), tolerance = 6e-3), all.equal(getinfo(fm1 ), getinfo(fm1S), tolerance = 0.5) # <- simulate() ) if(FALSE) { ## show all differences sapply(slotNames(fm1), function(.) all.equal( slot(fm1,.), slot(fm1R,.), tolerance=0)) } if (getRversion() >= "3.4.0") { ## differences: FALSE for resp, theta, u, devcomp, pp, optinfo? ## FIXME: this isn't actually tested in any way ... sapply(slotNames(fm1), function(.) isTRUE(all.equal( slot(fm1,.), slot(fm1R,.), tolerance= 1.5e-5))) str(fm1 @ optinfo) str(fm1R@ optinfo) } fm1ML <- refitML(fm1) stopifnot( all.equal(getinfo(fm1), getinfo(fm1ML), tolerance=0.05)# 0.029998 ) ## binomial GLMM (two-column) gm1 <- fit_cbpp_1 gm1R <- refit(gm1, with(cbpp, cbind(incidence,size-incidence))) sim1Z <- simulate(gm1)[[1]] sim1Z[4,] <- c(0,0) (gm1. <- refit(gm1, sim1Z)) # earlier gave Error: ... PIRLS ... failed ... all.equal(getinfo(gm1), getinfo(gm1R), tolerance=0) # to see it --> 5.52e-4 # because glmer() uses Laplace approx. (? -- still, have *same* y !) stopifnot(all.equal(getinfo(gm1), getinfo(gm1R), tolerance = 1e-4)) gm1S <- refit(gm1, simulate(gm1)[[1]]) all.equal(getinfo(gm1), getinfo(gm1S), tolerance=0) # to see: stopifnot(all.equal(getinfo(gm1), getinfo(gm1S), tolerance = 0.4)) ## binomial GLMM (prob/weights) formula(gm2 <- fit_cbpp_3) ## glmer(incidence/size ~ period + (1 | herd), cbpp, binomial, weights=size) gm2R <- refit(gm2, with(cbpp, incidence/size)) all.equal(getinfo(gm2), getinfo(gm2R), tolerance= 0) stopifnot(all.equal(getinfo(gm2), getinfo(gm2R), tolerance= 6e-4)) ## FIXME: check on Windows == 2015-06: be brave gm2S <- refit(gm2, simulate(gm2)[[1]]) all.equal(getinfo(gm2), getinfo(gm2S), tolerance=0)# 0.17 .. upto 0.28 stopifnot(all.equal(getinfo(gm2), getinfo(gm2S), tolerance=0.40)) ## from Alexandra Kuznetsova set.seed(101) Y <- matrix(rnorm(1000),ncol=2) d <- data.frame(y1=Y[,1], x=rnorm(100), f=rep(1:10,10)) fit1 <- lmer(y1 ~ x+(1|f),data=d) fit2 <- refit(fit1, newresp = Y[,2], rename.response=TRUE) ## check, but ignore terms attribute of model frame ... tools::assertWarning(refit(fit1, newresp = Y[,2], junk=TRUE)) if (isTRUE(all.equal(fit1,fit2))) stop("fit1 and fit2 should not be equal") ## hack number of function evaluations u2 <- update(fit2) fit2@optinfo$feval <- u2@optinfo$feval <- NA d1 <- dropterms(fit2) d2 <- dropterms( u2 ) ## They are not "all equal", but mostly : for (i in slotNames(d1)) { ae <- all.equal(slot(d1,i), slot(d2,i)) cat(sprintf("%10s: %s\n", i, if(isTRUE(ae)) "all.equal" else paste(ae, collapse="\n "))) } all.equal(getinfo(d1), getinfo(d2), tolerance = 0)# -> 0.00126 stopifnot(all.equal(getinfo(d1), getinfo(d2), tolerance = 0.005)) ## Bernoulli GLMM (specified as factor) if (requireNamespace("mlmRev")) { data(Contraception, package="mlmRev") gm3 <- glmer(use ~ urban + age + livch + (1|district), Contraception, binomial) gm3R <- refit(gm3, Contraception$use) gm3S <- refit(gm3, simulate(gm3)[[1]]) stopifnot(all.equal(getinfo(gm3 ), getinfo(gm3R), tolerance = 1e-5),# 64b_Lx: 7.99e-7 all.equal(getinfo(gm3 ), getinfo(gm3S), tolerance = 0.05) # <- simulated data ) cat("gm3: glmer(..):\n" ); print(getinfo(gm3)) cat("gm3R: refit(*, y):\n" ); print(getinfo(gm3R)) cat("gm3S: refit(*, sim.()):\n"); print(getinfo(gm3S)) data(Mmmec, package="mlmRev") if (lme4:::testLevel() > 1) { gm4 <- glmer(deaths ~ uvb + (1|region), data=Mmmec, family = poisson, offset = log(expected)) ## FIXME: Fails to converge (with larger maxit: "downdate .. not pos.def..") try( gm4R <- refit(gm4, Mmmec $ deaths) ) try( gm4S <- refit(gm4, simulate(gm4)[[1]]) ) if(FALSE) { ## FIXME (above) cat("gm4R: refit(*,y):\n" ); print( getinfo(gm4R) ) cat("gm4S: refit(*,y):\n" ); print( getinfo(gm4S) ) stopifnot(all.equal(getinfo(gm4),getinfo(gm4R),tolerance=6e-5)) } } } ## ---------------------------------------------------------------------- ## issue: #231, http://ms.mcmaster.ca/~bolker/misc/boot_reset.html ## commits: 1a34cd0, e33d698, 53ce966, 7dbfff1, 73aa1bb, a693ba9, 8dc8cf0 ## ---------------------------------------------------------------------- formGrouse <- TICKS ~ YEAR + scale(HEIGHT) + (1 | BROOD) + (1 | INDEX) + (1 | LOCATION) gmGrouse <- glmer(formGrouse, family = "poisson", data = grouseticks) set.seed(105) simTICKS <- simulate(gmGrouse)[[1]] newdata <- transform(grouseticks, TICKS = simTICKS) gmGrouseUpdate <- update(gmGrouse, data = newdata) gmGrouseRefit <- refit(gmGrouse, newresp = simTICKS) ## compute and print tolerances all.equal(bet.U <- fixef(gmGrouseUpdate), bet.R <- fixef(gmGrouseRefit), tolerance = 0) all.equal(th.U <- getME(gmGrouseUpdate, "theta"), th.R <- getME(gmGrouseRefit, "theta"), tolerance = 0) all.equal(dev.U <- deviance(gmGrouseUpdate), dev.R <- deviance(gmGrouseRefit), tolerance = 0) stopifnot( all.equal(bet.U, bet.R, tolerance = 6e-5), # saw 1.0e-5 all.equal( th.U, th.R, tolerance = 4e-5), # saw 1.2e-5 all.equal(dev.U, dev.R, tolerance = 2e-5)) # saw 4.6e-6 } ## testLevel>1 lme4/tests/nlmer.R0000644000176200001440000000473214630126752013531 0ustar liggesuserslibrary(lme4) allEQ <- function(x,y, tolerance = 4e-4, ...) all.equal.numeric(x,y, tolerance=tolerance, ...) (nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ (Asym|Tree), Orange, start = c(Asym = 200, xmid = 725, scal = 350))) fixef(nm1) if (lme4:::testLevel() > 2) { ## 'Theoph' Data modeling Th.start <- c(lKe = -2.5, lKa = 0.5, lCl = -3) system.time(nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe+lKa+lCl|Subject), Theoph, start = Th.start, control=nlmerControl(tolPwrss=1e-8))) print(nm2, corr=FALSE) system.time(nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe|Subject) + (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) print(nm3, corr=FALSE) ## dropping lKe from random effects: system.time(nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa+lCl|Subject), Theoph, start = Th.start, control=nlmerControl(tolPwrss=1e-8))) print(nm4, corr=FALSE) system.time(nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start, control=nlmerControl(tolPwrss=1e-8))) print(nm5, corr=FALSE) ## this has not worked in a *long* time anyway, and PKPDmodels is currently archived, so ... ## if (require("PKPDmodels")) { ## oral1cptSdlkalVlCl <- ## PKmod("oral", "sd", list(ka ~ exp(lka), Cl ~ exp(lCl), V ~ exp(lV))) ## if (FALSE) { ## ## FIXME: Error in get(nm, envir = nlenv) : object 'k' not found ## ## probably with environments/call stack etc.? ## ## 'pnames' is c("lV","lka","k") -- not ("lV","lka","lCl") ## ## nlmer -> nlformula -> MkRespMod ## ## pnames are OK in nlformula, but in MkRespMod we try to recover ## ## them from the column names of the gradient attribute of the ## ## model evaluated in nlenv -- which are wrong. ## system.time(nm2a <- nlmer(conc ~ oral1cptSdlkalVlCl(Dose, Time, lV, lka, lCl) ~ ## (lV+lka+lCl|Subject), ## Theoph, start = c(lV=-1, lka=-0.5, lCl=-3), tolPwrss=1e-8)) ## print(nm2a, corr=FALSE) ## } ## } } ## testLevel > 2 lme4/tests/respiratory.R0000644000176200001440000000150614630126752014773 0ustar liggesusers## Data originally from Davis 1991 Stat. Med., as packaged in geepack ## and transformed (center, id -> factor, idctr created, levels labeled) library(lme4) if (.Platform$OS.type != "windows") { load(system.file("testdata","respiratory.RData",package="lme4")) m_glmer_4.L <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory) m_glmer_4.GHQ5 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=5) m_glmer_4.GHQ8 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=8) m_glmer_4.GHQ16 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=16) } ## skip on windows (for speed) lme4/tests/polytomous.R0000644000176200001440000000247114630126752014644 0ustar liggesuserslibrary(lme4) ## setup ## library(polytomous) ## data(think) ## think.polytomous.lmer1 <- polytomous(Lexeme ~ Agent + Patient + (1|Register), ## data=think, heuristic="poisson.reformulation") ## save("formula.poisson","data.poisson",file="polytomous_test.RData") load(system.file("testdata","polytomous_test.RData",package="lme4")) if (FALSE) { ## infinite loop glmer(formula.poisson,data=data.poisson,family=poisson,verbose=10) ## Cholmod not positive definite -> infinite loop glmer(formula.poisson,data=data.poisson,family=poisson, verbose=10,control=glmerControl(optimizer="bobyqa")) ## caught warning: maxfun < 10 * length(par)^2 is not recommended. -> infinite loop } ## works but sloooow .... if (FALSE) { try(g1 <- glmer(formula.poisson,data=data.poisson,family=poisson, control=glmerControl(compDev=FALSE),verbose=1)) ## runs for 2880 steps until: ## Error in pp$updateDecomp() : Downdated VtV is not positive definite } (testLevel <- lme4:::testLevel()) if (testLevel > 2) { glmer(formula.poisson,data=data.poisson,family=poisson, control=glmerControl(compDev=FALSE,optimizer="bobyqa")) ## caught warning: maxfun < 10 * length(par)^2 is not recommended. ## but runs to completion } lme4/tests/lmList-tst.R0000644000176200001440000000500314630126752014460 0ustar liggesuserslibrary(lme4) options(nwarnings = 1000) if(getRversion() < "3.2.0") { if(interactive()) break # gives an error else q() # <- undesirable when interactive ! } ## Try all "standard" (statistical) S3 methods: .S3generics <- function(class) { s3m <- .S3methods(class=class) ii <- attr(s3m, "info") ii[!ii[, "isS4"], "generic"] } set.seed(12) d <- data.frame( g = sample(c("A","B","C","D","E"), 250, replace=TRUE), y1 = runif(250, max=100), y2 = sample(c(0,1), 250, replace=TRUE) ) fm3.1 <- lmList(y1 ~ 1 | g, data=d) fm3.2 <- lmList(y2 ~ 1 | g, data=d, family=binomial) data(Orthodont, package="nlme") Orthodont <- as.data.frame(Orthodont) # no "groupedData" fm2 <- lmList(distance ~ age | Subject, Orthodont) s3fn <- .S3generics(class= class(fm3.1)[1]) ## works for "old and new" class noquote(s3fn <- s3fn[s3fn != "print"])# <-- it is show() not print() that works ## [1] coef confint fitted fixef formula logLik pairs plot ## [9] predict qqnorm ranef residuals sigma summary update ## In lme4 1.1-7 (July 2014), only these worked: ## coef(), confint(), formula(), logLik(), summary(), update() ## pairs() is excluded for fm3.1 which has only intercept: ## no errors otherwise: evs <- sapply(s3fn[s3fn != "pairs"], do.call, args = list(fm3.1)) cls <- sapply(evs, function(.) class(.)[1]) clsOk <- cls[c("confint", "fixef", "formula", "logLik", "ranef", "sigma", "summary", "update")] stopifnot(identical(unname(clsOk), c("lmList4.confint", "numeric", "formula", "logLik", "ranef.lmList", "numeric", "summary.lmList", "lmList4"))) ## --- fm2 --- non-trivial X: can use pairs(), too: evs2 <- sapply(s3fn, do.call, args = list(fm2)) ## --- fm3.2 --- no failures for this "glmList" : ss <- function(...) suppressMessages(suppressWarnings(...)) ss(evs3.2 <- sapply(s3fn[s3fn != "pairs"], do.call, args = list(fm3.2))) ## --- fm4 --- evs4 <- sapply(s3fn, function(fn) tryCatch(do.call(fn, list(fm4)), error=function(e) e)) length(warnings()) summary(warnings()) ## 4 kinds; glm.fit: fitted probabilities numerically 0 or 1 occurred str(sapply(evs4, class)) # more errors than above isok4 <- !sapply(evs4, is, class2="error") ## includes a nice pairs(): evs4[isok4] ## Error msgs of those with errors, first 5, now 3, then 2 : str(errs4 <- lapply(evs4[!isok4], conditionMessage)) ## $ logLik : chr "log-likelihood not available with NULL fits" ## $ summary: chr "subscript out of bounds" stopifnot(length(errs4) <= 2) lme4/tests/simulate.R0000644000176200001440000001451414761420570014236 0ustar liggesuserslibrary(lme4) library(testthat) (testLevel <- lme4:::testLevel()) L <- load(system.file("testdata/lme-tst-fits.rda", package="lme4", mustWork=TRUE)) if (testLevel>1) { if (getRversion() > "3.0.0") { ## saved fits are not safe with old R versions fm1 <- fit_sleepstudy_1 s1 <- simulate(fm1,seed=101)[[1]] s2 <- simulate(fm1,seed=101,use.u=TRUE) s3 <- simulate(fm1,seed=101,nsim=10) s4 <- simulate(fm1,seed=101,use.u=TRUE,nsim=10) stopifnot(length(s3)==10,all(sapply(s3,length)==180), length(s4)==10,all(sapply(s4,length)==180)) # test hook for cluster random effects fakerand <- function(n) seq(from=1.0, by=0.4, length.out=n) # In fact there are 10 observations/subject for each, but more robustly ns <- tabulate(model.frame(fm1)$Subject) s5 <- simulate(fm1, nsim=1, seed=12345, cluster.rand=fakerand) su <- as.data.frame(VarCorr(fm1))[1, "sdcor"] # sd if cluster effects y1 <- predict(fm1, re.form = ~0, se.fit=FALSE) # fixed effect y2 <- su*rep(fakerand(length(ns)), times = ns) # cluster effect, per individual set.seed(12345) y3 <- sigma(fm1)*rnorm(length(y1)) # individual error terms y <- y1+y2+y3 # testthat::expect_equal automatically incorporates the tolerance *if* # it is in 3rd edition mode. Currently, this package does not use that mode. stopifnot(all(abs(s5-y)< testthat_tolerance())) ## binomial (2-column and prob/weights) gm1 <- fit_cbpp_1 gm2 <- fit_cbpp_3 gm1_s1 <- simulate(gm1,seed=101)[[1]] gm1_s2 <- simulate(gm2,seed=101)[[1]] stopifnot(all.equal(gm1_s1[,1]/rowSums(gm1_s1),gm1_s2)) gm1_s3 <- simulate(gm1,seed=101,use.u=TRUE) gm1_s4 <- simulate(gm1,seed=101,nsim=10) gm1_s5 <- simulate(gm2,seed=101,nsim=10) stopifnot(length(gm1_s4)==10,all(sapply(gm1_s4,ncol)==2),all(sapply(gm1_s4,nrow)==56)) stopifnot(length(gm1_s5)==10,all(sapply(gm1_s5,length)==56)) ## binomial (factor): Kubovy bug report 1 Aug 2013 d <- data.frame(y=factor(rep(letters[1:2],each=100)), f=factor(rep(1:10,10))) g1 <- glmer(y~(1|f),data=d,family=binomial) s6 <- simulate(g1,nsim=10) stopifnot(length(s6)==10,all(sapply(s6,length)==200)) ## test explicitly stated link function gm3 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial(link="logit")) s4 <- simulate(gm3,seed=101)[[1]] stopifnot(all.equal(gm1_s1,s4)) cbpp$obs <- factor(seq(nrow(cbpp))) gm4 <- fit_cbpp_2 ## glmer(cbind(incidence, size - incidence) ~ period + ## (1 | herd) + (1|obs), data = cbpp, family = binomial) s5 <- simulate(gm4,seed=101)[[1]] s6 <- simulate(gm4,seed=101,use.u=TRUE)[[1]] ## Bernoulli ## works, but too slow if (testLevel > 2) { if(require("mlmRev")) { data(guImmun, package="mlmRev") table(guImmun$immun) ## N Y ## 1195 964 g1i <- glmer(immun ~ kid2p+mom25p+ord+ethn+momEd+husEd+momWork+rural+pcInd81+ (1|comm/mom), family="binomial", data=guImmun) ## In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : ## Model failed to converge with max|grad| = 0.326795 (tol = 0.002, component 1) sg1 <- simulate(g1i) if(FALSE) { ## similar: not relevant here {comment out for 'R CMD check'}: ## if(require("glmmTMB")) { g2 <- glmmTMB(immun ~ kid2p+mom25p+ord+ethn+momEd+husEd+momWork+rural+pcInd81+ (1|comm/mom), family="binomial", data=guImmun) sg2 <- simulate(g2) ## } } } } set.seed(101) d <- data.frame(f = factor(rep(LETTERS[1:10],each=10))) d$x <- runif(nrow(d)) u <- rnorm(10) d$eta <- with(d, 1 + 2*x + u[f]) d$y <- rbinom(nrow(d), size=1, prob = plogis(d$eta)) g1 <- glmer(y ~ x + (1|f), data=d, family="binomial") ## tolPwrss=1e-5: no longer necessary if (testLevel > 2) { ## trying a set of glmerControl(tolPwrss = 10^t) : allcoef <- function(x) c(dev = deviance(x), th = getME(x,"theta"), beta = getME(x,"beta")) tfun <- function(t) { gg <- try( ## << errors (too small tolPwrss) are still printed : glmer(y~x+(1|f),data=d,family="binomial", control = glmerControl(tolPwrss = 10^t))) if (inherits(gg,"try-error")) rep(NA,4) else allcoef(gg) } tvec <- seq(-4,-16,by=-0.25) tres <- cbind(t = tvec, t(sapply(tvec, tfun))) print(tres) } gm_s5 <- simulate(g1, seed=102)[[1]] d$y <- factor(c("N","Y")[d$y+1]) g1B <- glmer(y ~ x + (1|f), data=d, family="binomial") ## ,tolPwrss=1e-5) s1B <- simulate(g1B, seed=102)[[1]] stopifnot(all.equal(gm_s5,as.numeric(s1B)-1)) ## another Bernoulli if(requireNamespace("mlmRev")) { data(Contraception, package="mlmRev") gm5 <- glmer(use ~ urban+age+livch+(1|district), Contraception, binomial) s3 <- simulate(gm5) } d$y <- rpois(nrow(d),exp(d$eta)) gm6 <- glmer(y~x+(1|f),data=d,family="poisson") s4 <- simulate(gm6) ## simulation 'from scratch' with formulas: ## binomial ## form <- formula(gm1)[-2] form <- ~ (1|herd) + period gm1_s4 <- simulate(form,newdata=model.frame(gm1), newparams=list(theta=getME(gm1,"theta"), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101)[[1]] stopifnot(all.equal(gm1_s2,gm1_s4)) gm1_s5 <- simulate(formula(gm1),newdata=cbpp, newparams=list(theta=getME(gm1,"theta"), beta=fixef(gm1)), family=binomial, seed=101)[[1]] stopifnot(all.equal(gm1_s1,gm1_s5)) tt <- getME(gm1,"theta") bb <- fixef(gm1) expect_error(simulate(form,newdata=model.frame(gm1), newparams=list(theta=setNames(tt,"abc"), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"mismatch between") expect_error(simulate(form,newdata=model.frame(gm1), newparams=list(theta=tt, beta=setNames(bb,c("abc",names(bb)[-1]))), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"mismatch between") ## Gaussian form <- formula(fm1)[-2] s7 <- simulate(form,newdata=model.frame(fm1), newparams=list(theta=getME(fm1,"theta"), beta=fixef(fm1), sigma=sigma(fm1)), family=gaussian, seed=101)[[1]] stopifnot(all.equal(s7,s1)) ## TO DO: wider range of tests, including offsets ... }# R >= 3.0.0 } ## testLevel>1 lme4/tests/HSAURtrees.R0000644000176200001440000000456014630126752014340 0ustar liggesusersif (.Platform$OS.type != "windows") withAutoprint({ library("lme4") ## example from HSAUR2 package; data from 'multcomp'; see ../inst/testdata/trees513.R load(system.file("testdata","trees513.RData",package="lme4")) ## model formula: modForm <- damage ~ species - 1 + (1 | lattice / plot) dfun <- glmer(modForm, data = trees513B, family = binomial, devFunOnly = TRUE) ls.str(environment(dfun))# "for your information" .not.call <- function(x) x[names(x) != "call"] if(lme4:::testLevel() < 2) q("no") ## else (testLevel >= 2) : -------------------------------------------------- ## Generate oldres: ## ---------------- ## library(lme4.0) ## system.time(mmod0 <- glmer(damage ~ species - 1 + (1 | lattice / plot), ## data = trees513, family = binomial())) ## ## 4 seconds ## oldres <- c(fixef(mmod0),getME(mmod0,"theta")) ## detach("package:lme4.0") ## dput(oldres) oldres <- structure(c(5.23645064474105, 4.73568475545248, 2.65289926317093, 1.29043984816924, 1.59329381563025, 0.532663142106669, 1.16703186884403 ), .Names = c("speciesspruce", "speciespine", "speciesbeech", "speciesoak", "specieshardwood", "plot:lattice.(Intercept)", "lattice.(Intercept)")) system.time(mmodA <- glmer(modForm, data = trees513A, family = binomial())) ## 7 seconds newres <- c(fixef(mmodA), getME(mmodA,"theta")) stopifnot(all.equal(oldres, newres, tolerance=1.5e-3)) system.time(mmodB <- glmer(modForm, data = trees513B, family = binomial())) ## 10.4 seconds ## if(FALSE) { ## defuncted in 2019-05 [been deprecated since 2013-06] ## lmer( + family) -> diverts to glmer() with a warning [TODO: use assertWarning(.) eventually] system.time(lmodB <- lmer(modForm, data = trees513B, family = binomial())) stopifnot(all.equal(.not.call(summary(mmodB)), .not.call(summary(lmodB)))) newresB <- c(fixef(mmodB),getME(mmodB,"theta")) stopifnot(length(newresB) == length(oldres) + 1)# extra: species[ash/maple/elm/lime] } }) ## skip on windows (for speed) lme4/tests/evalCall.R0000644000176200001440000000073214630126752014133 0ustar liggesusersif (.Platform$OS.type != "windows") { ## see if we can still run lme4 functions when lme4 is not attached if ("package:lme4" %in% search()) detach("package:lme4") data(sleepstudy,package="lme4") data(cbpp,package="lme4") fm1 <- lme4::lmer(Reaction ~ Days + (Days|Subject), sleepstudy) gm1 <- lme4::glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) } ## skip on windows (for speed) lme4/tests/glmerControlPass.R0000644000176200001440000000157214630126752015711 0ustar liggesusersif (.Platform$OS.type != "windows") { ## test redirection from lmer to glmer (correct options passed, ## specifically glmerControl -> tolPwrss library("lme4") library("testthat") ## data("trees513", package = "multcomp") load(system.file("testdata","trees513.RData",package="lme4")) expect_is(mmod1 <- glmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513B, family = binomial()),"glmerMod") if(FALSE) { ## Now (2019-05) defunct; was deprecated since 2013-06: expect_warning(mmod2 <- lmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513B, family = binomial()), "calling lmer with .* is deprecated") mmod2@call <- mmod1@call ## hack calls to equality expect_equal(mmod1,mmod2) } } ## skip on windows (for speed) lme4/tests/boundary.R0000644000176200001440000002103014630126752014225 0ustar liggesusers## In both of these cases boundary fit (i.e. estimate of zero RE ## variance) is *incorrect*. (Nelder_Mead, restart_edge=FALSE) is the ## only case where we get stuck; either optimizer=bobyqa or ## restart_edge=TRUE (default) works if (.Platform$OS.type != "windows") { library(lme4) library(testthat) if(!dev.interactive(orNone=TRUE)) pdf("boundary_plots.pdf") ## Stephane Laurent: dat <- read.csv(system.file("testdata","dat20101314.csv", package="lme4")) fit <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="Nelder_Mead")) fit_b <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="bobyqa", restart_edge=FALSE)) fit_c <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="Nelder_Mead", restart_edge=FALSE, check.conv.hess="ignore")) ## final fit gives degenerate-Hessian warning ## FIXME: use fit_c with expect_warning() as a check on convergence tests ## tolerance=1e-5 seems OK in interactive use but not in R CMD check ... ?? stopifnot(all.equal(getME(fit, "theta") -> th.f, getME(fit_b,"theta"), tolerance=5e-5), all(th.f > 0)) ## Manuel Koller source(system.file("testdata", "koller-data.R", package="lme4")) ldata <- getData(13) ## old (backward compatible/buggy) fm4 <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", use.last.params=TRUE), start=list(theta=1)) fm4b <- lmer(y ~ (1|Var2), ldata, control = lmerControl(optimizer="Nelder_Mead", use.last.params=TRUE, restart_edge = FALSE, check.conv.hess="ignore", check.conv.grad="ignore"), start = list(theta=1)) ## FIXME: use as convergence test check stopifnot(getME(fm4b,"theta") == 0) fm4c <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="bobyqa", use.last.params=TRUE), start=list(theta=1)) stopifnot(all.equal(getME(fm4, "theta") -> th4, getME(fm4c,"theta"), tolerance=1e-4), th4 > 0) ## new: doesn't get stuck at edge any more, but gets stuck somewhere else ... fm5 <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", check.conv.hess="ignore", check.conv.grad="ignore"), start=list(theta=1)) fm5b <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", restart_edge=FALSE, check.conv.hess="ignore", check.conv.grad="ignore"), start = list(theta = 1)) fm5c <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="bobyqa"), start = list(theta = 1)) stopifnot(all.equal(unname(getME(fm5c,"theta")), 0.21067645, tolerance = 1e-7)) # 0.21067644264 [64-bit, lynne] if (require("optimx")) { ## additional stuff for diagnosing Nelder-Mead problems. fm5d <- update(fm5,control=lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B"))) fm5e <- update(fm5, control=lmerControl(optimizer="nloptwrap")) mList <- setNames(list(fm4,fm4b,fm4c,fm5,fm5b,fm5c,fm5d,fm5e), c("NM/uselast","NM/uselast/norestart","bobyqa/uselast", "NM","NM/norestart","bobyqa","LBFGSB","nloptr/bobyqa")) pp <- profile(fm5c,which=1) dd <- as.data.frame(pp) par(las=1,bty="l") v <- sapply(mList, function(x) sqrt(VarCorr(x)[[1]])) plot(.zeta^2~.sig01, data=dd, type="b") abline(v=v) res <- cbind(VCorr = sapply(mList, function(x) sqrt(VarCorr(x)[[1]])), theta = sapply(mList, getME,"theta"), loglik = sapply(mList, logLik)) res print(sessionInfo(), locale=FALSE) } ###################### library(lattice) ## testing boundary and near-boundary cases tmpf <- function(i,...) { set.seed(i) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10))) d$y <- simulate(~x+(1|f),family=gaussian,newdata=d, newparams=list(theta=0.01,beta=c(1,1),sigma=5))[[1]] lmer(y~x+(1|f),data=d,...) } sumf <- function(m) { unlist(VarCorr(m))[1] } if (FALSE) { ## figuring out which seeds will give boundary and ## near-boundary solutions mList <- lapply(1:201,tmpf) # [FIXME tons of messages "theta parameters vector not named"] ss <- sapply(mList,sumf)+1e-50 par(las=1,bty="l") hist(log(ss),col="gray",breaks=50) ## values lying on boundary which(log(ss)<(-40)) ## 5, 7-13, 15, 21, ... ## values close to boundary (if check.edge not set) which(log(ss)>(-40) & log(ss) <(-20)) ## 16, 44, 80, 86, 116, ... } ## diagnostic plot tmpplot <- function(i, FUN=tmpf) { dd <- FUN(i, devFunOnly=TRUE) x <- 10^seq(-10,-6.5,length=201) dvec <- sapply(x,dd) op <- par(las=1,bty="l"); on.exit(par(op)) plot(x,dvec-min(dvec)+1e-16, log="xy", type="b") r <- FUN(i) abline(v = getME(r,"theta"), col=2) invisible(r) } ## Case #1: boundary estimate with or without boundary.tol m5 <- tmpf(5) m5B <- tmpf(5,control=lmerControl(boundary.tol=0)) stopifnot(getME(m5, "theta")==0, getME(m5B,"theta")==0) p5 <- profile(m5) ## bobyqa warnings but results look reasonable xyplot(p5) ## reveals slight glitch (bottom row of plots doesn't look right) expect_warning(splom(p5),"unreliable for singular fits") p5B <- profile(m5, signames=FALSE) # -> bobyqa convergence warning (code 3) expect_warning(splom(p5B), "unreliable for singular fits") if(lme4:::testLevel() >= 2) { ## avoid failure to warn ## Case #2: near-boundary estimate, but boundary.tol can't fix it m16 <- tmpplot(16) ## sometimes[2014-11-11] fails (??) : p16 <- profile(m16) ## warning message*s* (non-monotonic profile and more) plotOb <- xyplot(p16) ## NB: It's the print()ing of 'plotOb' which warns ==> need to do this explicitly: expect_warning(print(plotOb), ## warns about linear interpolation in profile for variable 1 "using linear interpolation") d16 <- as.data.frame(p16) xyplot(.zeta ~ .focal|.par, data=d16, type=c("p","l"), scales = list(x=list(relation="free"))) try(splom(p16)) ## breaks when calling predict(.) } ## bottom line: ## * xyplot.thpr could still be improved ## * most of the near-boundary cases are noisy and can't easily be ## fixed tmpf2 <- function(i,...) { set.seed(i) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10)), w=rep(10,60)) d$y <- simulate(~x+(1|f),family=binomial, weights=d$w,newdata=d, newparams=list(theta=0.01,beta=c(1,1)))[[1]] glmer(y~x+(1|f),data=d,family=binomial,weights=w,...) } if (FALSE) { ## figuring out which seeds will give boundary and ## near-boundary solutions mList <- lapply(1:201,tmpf2) ss <- sapply(mList,sumf)+1e-50 par(las=1,bty="l") hist(log(ss),col="gray",breaks=50) ## values lying on boundary head(which(log(ss)<(-50))) ## 1-5, 7 ... ## values close to boundary (if check.edge not set) which(log(ss)>(-50) & log(ss) <(-20)) ## 44, 46, 52, ... } ## m1 <- tmpf2(1) ## FIXME: doesn't work if we generate m1 via tmpf2(1) -- ## some environment lookup problem ... set.seed(1) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10)), w=rep(10,60)) d$y <- simulate(~x+(1|f),family=binomial, weights=d$w,newdata=d, newparams=list(theta=0.01,beta=c(1,1)))[[1]] m1 <- glmer(y~x+(1|f),data=d,family=binomial,weights=w) p1 <- profile(m1) xyplot(p1) expect_warning(splom(p1),"splom is unreliable") } ## skip on windows (for speed) lme4/tests/falsezero_dorie.R0000644000176200001440000000156014630126752015564 0ustar liggesusersif (.Platform$OS.type != "windows") { ## test of false zero problem reported by Vince Dorie ## (no longer occurs with current development lme4) ## https://github.com/lme4/lme4/issues/17 library(lme4) sigma.eps <- 2 sigma.the <- 0.75 mu <- 2 n <- 5 J <- 10 g <- gl(J, n) set.seed(1) theta <- rnorm(J, 0, sigma.eps * sigma.the) y <- rnorm(n * J, mu + theta[g], sigma.eps) lmerFit <- lmer(y ~ 1 + (1 | g), REML = FALSE, verbose=TRUE) y.bar <- mean(y) y.bar.j <- sapply(1:J, function(j) mean(y[g == j])) S.w <- sum((y - y.bar.j[g])^2) S.b <- n * sum((y.bar.j - y.bar)^2) R <- S.b / S.w sigma.the.hat <- sqrt(max((n - 1) * R / n - 1 / n, 0)) stopifnot(all.equal(sigma.the.hat,lme4Sigma <- unname(getME(lmerFit,"theta")), tolerance=2e-5)) } ## skip on windows (for speed) lme4/tests/devCritFun.R0000644000176200001440000000165014630126752014461 0ustar liggesusersif (.Platform$OS.type!="windows") { library(lme4) ## ---------------------------------------------------------------------- ## test that deviance(REMLfit, REML = FALSE) gives the same answer as ## the ML objective function at the REML fit ## ---------------------------------------------------------------------- set.seed(1) w <- runif(nrow(sleepstudy)) fm <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, weights = w) dfun <- update(fm, devFunOnly = TRUE, REML = FALSE) stopifnot(all.equal(deviance(fm, REML = FALSE), dfun(getME(fm, "theta")))) ## ---------------------------------------------------------------------- ## TODO: test the opposite case that deviance(MLfit, REML = TRUE) ## gives the same answer as the REML objective function at the ML fit ## ---------------------------------------------------------------------- } lme4/tests/glmmExt.R0000644000176200001440000001177114770370470014035 0ustar liggesusers## Tests of a variety of GLMM families and links ## coding: family {g=Gamma, P=Poisson, G=Gaussian, B=binomial} ## link {l=log, i=inverse, c=cloglog, i=identity} ## model {1 = intercept-only, 2 = with continuous predictor} library("lme4") source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... str(gSim) ## function (nblk = 26, nperblk = 100, sigma = 1, beta = c(4, 3), ## x = runif(n), shape = 2, nbinom = 10, family = Gamma()) if (.Platform$OS.type != "windows") withAutoprint({ set.seed(101) ## Gamma, inverse link (= default) : d <- gSim() ## Gamma, log link eta = log(mu) : dgl <- gSim(dInitial = d, family = Gamma(link = log)) ## Poisson, log link dP <- gSim(dInitial = d, family = poisson()) ## Gaussian, log link --- need to use a non-identity link, otherwise glmer calls lmer dG <- gSim(dInitial = d, family = gaussian(link = log), sd = 2) ## Gaussian with inverse link : (sd small enough to avoid negative values) : dGi <- gSim(dInitial = d, family = gaussian(link = inverse), sd = 0.01) ## binomial with cloglog link dBc <- d dBc$eta <- d$eta - 5 # <==> beta intercept 5 less: otherwise y will be constant dBc <- gSim(dInitial = dBc, ## beta = c(-1, 3), nbinom = 1, family = binomial(link="cloglog")) ## binomial with identity link dBi <- d dBc$eta <- d$eta / 10 # <==> beta slope / 10 : scale so range goes from 0.2-0.8 dBi <- gSim(dInitial = dBc, ## beta = c(4, 3/10), nbinom = 1, family = binomial(link="identity")) ############ ## Gamma/inverse ## GLMs gm0 <- glm(y ~ 1, data=d, family=Gamma) gm1 <- glm(y ~ block-1, data=d, family=Gamma) stopifnot(all.equal(sd(coef(gm1)),1.00753942148611)) gm2 <- glmer(y ~ 1 + (1|block), d, Gamma, nAGQ=0) gm3 <- glmer(y ~ x + (1|block), d, Gamma, nAGQ=0) gm2B <- glmer(y ~ 1 + (1|block), d, Gamma) gm3B <- glmer(y ~ x + (1|block), d, Gamma) ## y ~ x + (1|block), Gamma is TRUE model summary(gm3) summary(gm3B)# should be better ## Both have "correct" beta ~= (4, 3) -- but *too* small (sigma_B, sigma) !! stopifnot(exprs = { all.equal(fixef(gm3 ), c(`(Intercept)` = 4.07253, x = 3.080585), tol = 1e-5) # 1.21e-7 all.equal(fixef(gm3B), c(`(Intercept)` = 4.159398, x = 3.058521),tol = 1e-5) # 1.13e-7 }) VarCorr(gm3) # both variances / std.dev. should be ~ 1 but are too small ## ## library(hglm) ## h1 <- hglm2(y~x+(1|block), data=d, family=Gamma()) ## lme4.0 fails on all of these ... ## Gamma/log ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log")) ggl2 <- glmer(y ~ x + (1|block), data=dgl, family=Gamma(link="log"))# true model (h.1.2 <- anova(ggl1, ggl2)) stopifnot( all.equal(unlist(h.1.2[2,]), c(npar = 4, AIC = 34216.014, BIC = 34239.467, logLik = -17104.007, "-2*log(L)" = 34208.014, Chisq = 2458.5792, Df = 1, `Pr(>Chisq)` = 0)) ) ## "true" model : summary(ggl2) VarCorr(ggl2) ## ## library(lme4.0) ## ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log"), verbose= 2) ## fails ## Poisson/log gP1 <- glmer(y ~ 1 + (1|block), data=dP, family=poisson) gP2 <- glmer(y ~ x + (1|block), data=dP, family=poisson) ## Gaussian/log gG1 <- glmer(y ~ 1 + (1|block), data=dG, family=gaussian(link="log")) gG2 <- glmer(y ~ x + (1|block), data=dG, family=gaussian(link="log")) ## works with lme4.0 but AIC/BIC/logLik are crazy, and scale ## parameter is not reported ## glmmML etc. doesn't allow models with scale parameters ## gG1B <- glmmadmb(y ~ 1 + (1|block), data=dG, ## family="gaussian",link="log",verbose=TRUE) ## what is the best guess at the estimate of the scale parameter? ## is it the same as sigma? ## gG1B$alpha ## if(Sys.info()["user"] != "maechler") { # <- seg.faults (MM) ## Gaussian/inverse gGi1 <- glmer(y ~ 1 + (1|block), data=dGi, family=gaussian(link="inverse")) gGi2 <- glmer(y ~ x + (1|block), data=dGi, family=gaussian(link="inverse")) ## Binomial/cloglog gBc1 <- glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")) gBc2 <- glmer(y ~ x + (1|block), data=dBc, family=binomial(link="cloglog")) ## library("glmmADMB") ## glmmadmbfit <- glmmadmb(y ~ x + (1|block), data=dBc, ## family="binomial",link="cloglog") glmmadmbfit <- list(fixef = c("(Intercept)" = -0.717146132730349, x =2.83642900561633), VarCorr = structure(list( block = structure(0.79992, .Dim = c(1L, 1L), .Dimnames = list("(Intercept)", "(Intercept)"))), class = "VarCorr")) stopifnot(all.equal(fixef(gBc2), glmmadmbfit$fixef, tolerance=5e-3)) ## pretty loose tolerance ... stopifnot(all.equal(unname(unlist(VarCorr(gBc2))), c(glmmadmbfit$VarCorr$block), tolerance=2e-2)) gBi1 <- glmer(y ~ 1 + (1|block), data=dBi, family=binomial(link="identity")) gBi2 <- glmer(y ~ x + (1|block), data=dBi, family=binomial(link="identity")) ## FIXME: should test more of the *results* of these efforts, not ## just that they run without crashing ... }) ## skip on windows (for speed) lme4/tests/bootMer.R0000644000176200001440000000636314630126752014025 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) mySumm <- function(.) { s <- sigma(.) c(beta =getME(., "beta"), sigma = s, sig01 = unname(s * getME(., "theta"))) } fm1 <- lmer(Yield ~ 1|Batch, Dyestuff) boo01 <- bootMer(fm1, mySumm, nsim = 10) boo02 <- bootMer(fm1, mySumm, nsim = 10, use.u = TRUE) ## boo02 <- bootMer(fm1, mySumm, nsim = 500, use.u = TRUE) if (require(boot)) { boot.ci(boo02,index=2,type="perc") } fm2 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) boo03 <- bootMer(fm2, mySumm, nsim = 10) boo04 <- bootMer(fm2, mySumm, nsim = 10, use.u = TRUE) if (lme4:::testLevel() > 1) { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) boo05 <- bootMer(gm1, mySumm, nsim = 10) boo06 <- bootMer(gm1, mySumm, nsim = 10, use.u = TRUE) cbpp$obs <- factor(seq(nrow(cbpp))) gm2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd) + (1|obs), family = binomial, data = cbpp) boo03 <- bootMer(gm2, mySumm, nsim = 10) boo04 <- bootMer(gm2, mySumm, nsim = 10, use.u = TRUE) } load(system.file("testdata","culcita_dat.RData",package="lme4")) cmod <- glmer(predation~ttt+(1|block),family=binomial,data=culcita_dat) set.seed(101) ## FIXME: sensitive to step-halving PIRLS tests ## expect_warning(cc <- confint(cmod,method="boot",nsim=10,quiet=TRUE, ## .progress="txt",PBargs=list(style=3)),"some bootstrap runs failed") library(parallel) if (detectCores()>1) { ## http://stackoverflow.com/questions/12983137/how-do-detect-if-travis-ci-or-not travis <- nchar(Sys.getenv("TRAVIS"))>0 if(.Platform$OS.type != "windows" && !travis) { boo01P <- bootMer(fm1, mySumm, nsim = 10, parallel="multicore", ncpus=2) } ## works in Solaris from an interactive console but not ??? ## via R CMD BATCH if (Sys.info()["sysname"] != "SunOS") boo01P.snow <- bootMer(fm1, mySumm, nsim = 10, parallel="snow", ncpus=2) } set.seed(101) dd <- data.frame(x=runif(200), f=rep(1:20,each=10), o=rnorm(200,mean=2)) dd$y <- suppressMessages(simulate(~x+(1|f)+offset(o), family="poisson", newdata=dd, newparams=list(theta=1,beta=c(0,2)))[[1]]) ## fails under flexLambda dd$y2 <- suppressMessages(simulate(~x+(1|f)+offset(o), family="gaussian", newdata=dd, newparams=list(theta=1,beta=c(0,2),sigma=1))[[1]]) fm3 <- glmer(y~x+(1|f)+offset(o), data=dd,family="poisson") fm4 <- lmer(y2~x+(1|f)+offset(o), data=dd) mySumm2 <- function(fit) return(c(fixef(fit),getME(fit,'theta'))) ## still some issues to fix here bb <- bootMer(fm3,mySumm2,nsim=10) attr(bb,"boot.fail.msgs") bb2 <- bootMer(fm4,mySumm2,nsim=10) } ## skip on windows (for speed) lme4/tests/extras.R0000644000176200001440000000153314234301437013711 0ustar liggesuserslibrary(lme4) ## This example takes long : only for testLevel >= 3 : d.ok <- isTRUE(try(data(star, package = 'mlmRev')) == 'star') if(!interactive() && (lme4:::testLevel() < 3 || !d.ok)) q("no") ## This worked in an *older* version of lme4.0 ## fm1 <- lme4:::carryOver(math ~ gr+sx*eth+cltype+(yrs|id)+(1|tch)+(yrs|sch), ## star, yrs ~ tch/id, ## control = list(msV = 1, nit = 0, grad = 0)) system.time( fm1 <- lmer(math ~ gr + sx*eth + cltype + schtype + hdeg + clad + exp + trace + (yrs | id) + (1 | tch) + (yrs | sch), data = star, verbose = TRUE) ) ## user system elapsed ## 34.991 0.037 35.132 -- lme4.0 ## 36.599 0.031 36.745 -- lme4 {bobyqa; 2014-01-09 @ lynne} sm1 <- summary(fm1) print(sm1, corr=TRUE, symbolic.cor=TRUE)# now message *and* gives the correlation lme4/tests/is.R0000644000176200001440000000160614630126752013024 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) stopifnot(isREML(fm1), isLMM(fm1), !isGLMM(fm1), !isNLMM(fm1)) fm1ML <- refitML(fm1) stopifnot(!isREML(fm1ML), isLMM(fm1ML), !isGLMM(fm1ML), !isNLMM(fm1ML)) gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) stopifnot(!isREML(gm1), !isLMM(gm1), isGLMM(gm1), !isNLMM(gm1)) nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = c(Asym = 200, xmid = 725, scal = 350)) stopifnot(!isREML(nm1), !isLMM(nm1), !isGLMM(nm1), isNLMM(nm1)) } ## skip on windows (for speed) lme4/tests/glmer-1.R0000644000176200001440000002660214630126752013660 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type!="windows") withAutoprint({ ## generalized linear mixed model stopifnot(suppressPackageStartupMessages(require(lme4))) options(show.signif.stars = FALSE) source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## ##' Check that coefficient +- "2" * SD contains true value ##' ##' @title Check that confidence interval for coefficients contains true value ##' @param fm fitted model, e.g., from lm(), lmer(), glmer(), .. ##' @param true.coef numeric vector of true (fixed effect) coefficients ##' @param conf.level confidence level for confidence interval ##' @param sd.factor the "2", i.e. default 1.96 factor for the confidence interval ##' @return TRUE or a string of "error" ##' @author Martin Maechler chkFixed <- function(fm, true.coef, conf.level = 0.95, sd.factor = qnorm((1+conf.level)/2)) { stopifnot(is.matrix(cf <- coefficients(summary(fm))), ncol(cf) >= 2) cc <- cf[,1] sd <- cf[,2] if(any(out1 <- true.coef < cc - sd.factor*sd)) return(sprintf("true coefficient[j], j=%s, is smaller than lower confidence limit", paste(which(out1), collapse=", "))) if(any(out2 <- true.coef > cc + sd.factor*sd)) return(sprintf("true coefficient[j], j=%s, is larger than upper confidence limit", paste(which(out2), collapse=", "))) ## else, return TRUE } ## TODO: (1) move these to ./glmer-ex.R [DONE] ## ---- (2) "rationalize" with ../man/cbpp.Rd #m1e <- glmer1(cbind(incidence, size - incidence) ~ period + (1 | herd), # family = binomial, data = cbpp, doFit = FALSE) ## now #bobyqa(m1e, control = list(iprint = 2L)) m1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp) m1. <- update(m1, start = getME(m1, c("theta", "fixef"))) dm1 <- drop1(m1) stopifnot(all.equal(drop1(m1.), dm1, tol = 1e-10))# Lnx(F28) 64b: 4e-12 ## response as a vector of probabilities and usage of argument "weights" m1p <- glmer(incidence / size ~ period + (1 | herd), weights = size, family = binomial, data = cbpp) ## Confirm that these are equivalent: stopifnot(all.equal(fixef(m1), fixef(m1p)), all.equal(ranef(m1), ranef(m1p)), TRUE) ## for(m in c(m1, m1p)) { ## cat("-------\\n\\nCall: ", ## paste(format(getCall(m)), collapse="\\n"), "\\n") ## print(logLik(m)); cat("AIC:", AIC(m), "\\n") ; cat("BIC:", BIC(m),"\\n") ## } stopifnot(all.equal(logLik(m1), logLik(m1p)), all.equal(AIC(m1), AIC(m1p)), all.equal(BIC(m1), BIC(m1p))) ## changed tolPwrss to 1e-7 to match other default m1b <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, verbose = 2L, control = glmerControl(optimizer="bobyqa", tolPwrss=1e-7, optCtrl=list(rhobeg=0.2, rhoend=2e-7))) ## using nAGQ=9L provides a better evaluation of the deviance m.9 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ = 9) ## check with nAGQ = 25 m2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ = 25) ## loosened tolerance on parameters stopifnot(is((cm2 <- coef(m2)), "coef.mer"), dim(cm2$herd) == c(15,4), all.equal(fixef(m2), ### lme4a [from an Ubuntu 11.10 amd64 system] c(-1.39922533406847, -0.991407294757321, -1.12782184600404, -1.57946627431248), ##c(-1.3766013, -1.0058773, ## -1.1430128, -1.5922817), tolerance = 5.e-4, check.attributes=FALSE), all.equal(c(-2*logLik(m2)), 100.010030538022, tolerance=1e-9), all.equal(deviance(m2), 73.373, tolerance=1e-5) ## with bobyqa first (AGQ=0), then ##all.equal(deviance(m2), 101.119749563, tolerance=1e-9) ) ## 32-bit Ubuntu 10.04: coef_m1_lme4.0 <- structure(c(-1.39853505102576, -0.992334712470269, -1.12867541092127, -1.58037389566025), .Names = c("(Intercept)", "period2", "period3", "period4")) ## library(glmmADMB) ## mg <- glmmadmb(cbind(incidence, size - incidence) ~ period + (1 | herd), ## family = "binomial", data = cbpp) coef_m1_glmmadmb <- structure(c(-1.39853810064827, -0.99233330126975, -1.12867317840779, -1.58031150854503), .Names = c("(Intercept)", "period2", "period3", "period4")) ## library(glmmML) ## mm <- glmmML(cbind(incidence, size - incidence) ~ period, ## cluster=herd, ## family = "binomial", data = cbpp) coef_m1_glmmML <- structure(c(-1.39853234657711, -0.992336901732793, -1.12867036466201, -1.58030977686564), .Names = c("(Intercept)", "period2", "period3", "period4")) ## lme4[r 1636], 64-bit ubuntu 11.10: ## c(-1.3788385, -1.0589543, ## -1.1936382, -1.6306271), stopifnot(is((cm1 <- coef(m1b)), "coef.mer"), dim(cm1$herd) == c(15,4), all.equal(fixef(m1b),fixef(m1),tolerance=4e-5), is.all.equal4(fixef(m1b), coef_m1_glmmadmb, coef_m1_lme4.0, coef_m1_glmmML, tol = 5e-4) ) ## Deviance for the new algorithm is lower, eventually we should change the previous test ##stopifnot(deviance(m1) <= deviance(m1e)) showProc.time() # if (require('MASS', quietly = TRUE)) { bacteria$wk2 <- bacteria$week > 2 contrasts(bacteria$trt) <- structure(contr.sdif(3), dimnames = list(NULL, c("diag", "encourage"))) print(fm5 <- glmer(y ~ trt + wk2 + (1|ID), data=bacteria, family=binomial)) showProc.time() # stopifnot( all.equal(logLik(fm5), ## was -96.127838 structure(-96.13069, nobs = 220L, nall = 220L, df = 5L, REML = FALSE, class = "logLik"), tolerance = 5e-4, check.attributes = FALSE) , all.equal(fixef(fm5), ## was 2.834218798 -1.367099481 c("(Intercept)"= 2.831609490, "trtdiag"= -1.366722631, ## now 0.5842291915, -1.599148773 "trtencourage"=0.5840147802, "wk2TRUE"=-1.598591346), tolerance = 1e-4 ) ) } ## Failure to specify a random effects term - used to give an obscure message ## Ensure *NON*-translated message; works on Linux,... : if(.Platform$OS.type == "unix") { Sys.setlocale("LC_MESSAGES", "C") tc <- tryCatch( m2 <- glmer(incidence / size ~ period, weights = size, family = binomial, data = cbpp) , error = function(.) .) stopifnot(inherits(tc, "error"), identical(tc$message, "No random effects terms specified in formula")) } ## glmer - Modeling overdispersion as "mixture" aka ## ----- - *ONE* random effect *PER OBSERVATION" -- example inspired by Ben Bolker: ##' ##' ##'
##' @title ##' @param ng number of groups ##' @param nr number of "runs", i.e., observations per groups ##' @param sd standard deviations of group and "Individual" random effects, ##' (\sigma_f, \sigma_I) ##' @param b true beta (fixed effects) ##' @return a data frame (to be used in glmer()) with columns ##' (x, f, obs, eta0, eta, mu, y), where y ~ Pois(lambda(x)), ##' log(lambda(x_i)) = b_1 + b_2 * x + G_{f(i)} + I_i ##' and G_k ~ N(0, \sigma_f); I_i ~ N(0, \sigma_I) ##' @author Ben Bolker and Martin Maechler rPoisGLMMi <- function(ng, nr, sd=c(f = 1, ind = 0.5), b=c(1,2)) { stopifnot(nr >= 1, ng >= 1, is.numeric(sd), names(sd) %in% c("f","ind"), sd >= 0) ntot <- nr*ng b.reff <- rnorm(ng, sd= sd[["f"]]) b.rind <- rnorm(ntot,sd= sd[["ind"]]) x <- runif(ntot) within(data.frame(x, f = factor(rep(LETTERS[1:ng], each=nr)), obs = 1:ntot, eta0 = cbind(1, x) %*% b), { eta <- eta0 + b.reff[f] + b.rind[obs] mu <- exp(eta) y <- rpois(ntot, lambda=mu) }) } set.seed(1) dd <- rPoisGLMMi(12, 20) m0 <- glmer(y~x + (1|f), family="poisson", data=dd) m1 <- glmer(y~x + (1|f) + (1|obs), family="poisson", data=dd) stopifnot(isTRUE(chkFixed(m0, true.coef = c(1,2))), isTRUE(chkFixed(m1, true.coef = c(1,2)))) (a01 <- anova(m0, m1)) stopifnot(all.equal(a01$Chisq[2], 554.334056, tolerance=1e-5), all.equal(a01$logLik, c(-1073.77193, -796.604902), tolerance=1e-6), a01$ npar == 3:4, na.omit(a01$ Df) == 1) if(lme4:::testLevel() > 1) { nsim <- 10 set.seed(2) system.time( simR <- lapply(1:nsim, function(i) { cat(i,"", if(i %% 20 == 0)"\n") dd <- rPoisGLMMi(10 + rpois(1, lambda=3), 16 + rpois(1, lambda=5)) m0 <- glmer(y~x + (1|f), family="poisson", data=dd) m1 <- glmer(y~x + (1|f) + (1|obs), family="poisson", data=dd) a01 <- anova(m0, m1) stopifnot(a01$ npar == 3:4, na.omit(a01$ Df) == 1) list(chk0 = chkFixed(m0, true.coef = c(1,2)), chk1 = chkFixed(m1, true.coef = c(1,2)), chisq= a01$Chisq[2], lLik = a01$logLik) })) ## m0 is the wrong model, so we don't expect much here: table(unlist(lapply(simR, `[[`, "chk0"))) ## If the fixed effect estimates were unbiased and the standard errors correct, ## and N(0,sigma^2) instead of t_{nu} good enough for the fixed effects, ## the confidence interval should contain the true coef in ~95 out of 100: table(unlist(lapply(simR, `[[`, "chk1"))) ## The tests are all highly significantly in favor of m1 : summary(chi2s <- sapply(simR, `[[`, "chisq")) ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 158.9 439.0 611.4 698.2 864.3 2268.0 stopifnot(chi2s > qchisq(0.9999, df = 1)) } showProc.time() }) ## skip if windows and testLevel<1 lme4/tests/methods.R0000644000176200001440000000166514630126752014061 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) expect_equal(colnames(model.frame(fm1)),c("Reaction","Days","Subject")) expect_equal(colnames(model.frame(fm1,fixed.only=TRUE)),c("Reaction","Days")) expect_equal(formula(fm1),Reaction ~ Days + (Days | Subject)) expect_equal(formula(fm1,fixed.only=TRUE),Reaction ~ Days) ## ugly example: model frame with compound elements fm2 <- lmer(log(Reaction) ~ splines::ns(Days,3) + + I(1+Days^3) + (Days|Subject), sleepstudy) expect_equal(names(model.frame(fm2)), c("log(Reaction)", "splines::ns(Days, 3)", "I(1 + Days^3)", "Days", "Subject")) expect_equal(names(model.frame(fm2,fixed.only=TRUE)), c("log(Reaction)", "splines::ns(Days, 3)", "I(1 + Days^3)")) } ## skip on windows (for speed) lme4/tests/lmer-0.R0000644000176200001440000001206414630126752013505 0ustar liggesusersrequire(lme4) source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } ## Check that quasi families throw an error assertError(lmer(cbind(incidence, size - incidence) ~ period + (1|herd), data = cbpp, family = quasibinomial)) assertError(lmer(incidence ~ period + (1|herd), data = cbpp, family = quasipoisson)) assertError(lmer(incidence ~ period + (1|herd), data = cbpp, family = quasi)) ## check bug found by Kevin Buhr set.seed(7) n <- 10 X <- data.frame(y=runif(n), x=rnorm(n), z=sample(c("A","B"), n, TRUE)) fm <- lmer(log(y) ~ x | z, data=X) ## ignore grouping factors with ## gave error inside model.frame() stopifnot(all.equal(c(`(Intercept)` = -0.834544), fixef(fm), tolerance=.01)) ## is "Nelder_Mead" default optimizer? (isNM <- formals(lmerControl)$optimizer == "Nelder_Mead") (isOldB <- formals(lmerControl)$optimizer == "bobyqa") (isOldTol <- environment(nloptwrap)$defaultControl$xtol_abs == 1e-6) if (.Platform$OS.type != "windows") withAutoprint({ source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> uc() ## check working of Matrix methods on vcov(.) etc ---------------------- fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) V <- vcov(fm) (V1 <- vcov(fm1)) (C1 <- chol(V1)) dput(dV <- as.numeric(diag(V))) # 0.17607818634.. [x86_64, F Lnx 36] TOL <- 0 # to show the differences below TOL <- 1e-5 # for the check stopifnot(exprs = { all.equal(dV, uc(if(isNM) 0.176076 else if(isOldB) 0.176068575 else if(isOldTol) 0.1761714 else 0.1760782), tolerance = 9*TOL) # seen 7.8e-8; Apple clang 14.0.3 had 6.3783e-5 all.equal(sqrt(dV), as.numeric(chol(V)), tol = 1e-12) all.equal(diag(V1), uc(`(Intercept)` = 46.5751, Days = 2.38947), tolerance = 40*TOL)# 5e-7 (for "all" algos) is(C1, "dtrMatrix") # was inherits(C1, "Cholesky") dim(C1) == c(2,2) all.equal(as.numeric(C1), # 6.8245967 0. -0.2126263 1.5310962 [x86_64, F Lnx 36] c(6.82377, 0, -0.212575, 1.53127), tolerance=20*TOL)# 1.2e-4 ("all" algos) dim(chol(crossprod(getME(fm1, "Z")))) == 36 }) ## printing signif(chol(crossprod(getME(fm, "Z"))), 5) # -> simple 4 x 4 sparse showProc.time() # ## From: Stephane Laurent ## To: r-sig-mixed-models@.. ## "crash with the latest update of lme4" ## ## .. example for which lmer() crashes with the last update of lme4 ...{R-forge}, ## .. but not with version CRAN version (0.999999-0) lsDat <- data.frame( Operator = as.factor(rep(1:5, c(3,4,8,8,8))), Part = as.factor( c(2L, 3L, 5L, 1L, 1L, 2L, 3L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 1L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 5L)), y = c(0.34, -1.23, -2.46, -0.84, -1.57,-0.31, -0.18, -0.94, -0.81, 0.77, 0.4, -2.37, -2.78, 1.29, -0.95, -1.58, -2.06, -3.11,-3.2, -0.1, -0.49,-2.02, -0.75, 1.71, -0.85, -1.19, 0.13, 1.35, 1.92, 1.04, 1.08)) xtabs( ~ Operator + Part, data=lsDat) # --> 4 empty cells, quite a few with only one obs.: ## Part ## Operator 1 2 3 4 5 ## 1 0 1 1 0 1 ## 2 2 1 1 0 0 ## 3 2 2 2 1 1 ## 4 1 1 2 2 2 ## 5 1 2 2 1 2 lsD29 <- lsDat[1:29, ] ## FIXME: rank-Z test should probably not happen in this case: (sm3 <- summary(m3 <- lm(y ~ Part*Operator, data=lsDat)))# ok: some interactions not estimable stopifnot(21 == nrow(coef(sm3)))# 21 *are* estimable sm4 <- summary(m4 <- lm(y ~ Part*Operator, data=lsD29)) stopifnot(20 == nrow(coef(sm4)))# 20 *are* estimable lf <- lFormula(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsDat) dim(Zt <- lf$reTrms$Zt)## 31 x 31 c(rankMatrix(Zt)) ## 21 c(rankMatrix(Zt,method="qr")) ## 31 || 29 (64 bit Lnx), then 21 (!) c(rankMatrix(t(Zt),method="qr")) ## 30, then 21 ! nrow(lsDat) fm3 <- lmer(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsDat, control=lmerControl(check.nobs.vs.rankZ="warningSmall")) lf29 <- lFormula(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsD29) (fm4 <- update(fm3, data=lsD29)) fm4. <- update(fm4, REML=FALSE, control=lmerControl(optimizer="nloptwrap", optCtrl=list(ftol_abs=1e-6, xtol_abs=1e-6))) ## summary(fm4.) stopifnot( all.equal(as.numeric(formatVC(VarCorr(fm4.), digits = 7)[,"Std.Dev."]), c(1.040664, 0.6359187, 0.5291422, 0.4824796), tol = 1e-4) ) showProc.time() }) ## skip on windows (for speed) cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/minval.R0000644000176200001440000000242714630126752013701 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type!="windows") { ## example posted by Stéphane Laurent ## exercises bug where Nelder-Mead min objective function value was >0 set.seed(666) sims <- function(I, J, sigmab0, sigmaw0){ Mu <- rnorm(I, mean=0, sd=sigmab0) y <- c(sapply(Mu, function(mu) rnorm(J, mu, sigmaw0))) data.frame(y=y, group=gl(I,J)) } I <- 3 # number of groups J <- 8 # number of repeats per group sigmab0 <- 0.15 # between standard deviation sigmaw0 <- 0.15 # within standard deviation dat <- sims(I, J, sigmab0, sigmaw0) library(lme4) isOldTol <- environment(nloptwrap)$defaultControl$xtol_abs == 1e-6 fm3 <- lmer(y ~ (1|group), data=dat) stopifnot(all.equal(unname(unlist(VarCorr(fm3))), switch(fm3@optinfo$optimizer, "Nelder_Mead" = 0.029662844, "bobyqa" = 0.029662698, "nloptwrap" = if (isOldTol) 0.029679755 else 0.029662699, stop("need new case here: value is ",unname(unlist(VarCorr(fm3)))) ), tolerance = 1e-7)) } ## skip on windows (for speed) lme4/tests/fewlevels.R0000644000176200001440000000132014630126752014376 0ustar liggesusers#### example originally from Gabor Grothendieck source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##--> rSim.11() testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 if (testLevel>1) { set.seed(1) d1 <- rSim.11(10000, k=4) library(nlme) m.lme <- lme(y ~ x, random=~ 1|fac , data=d1) (VC.lme <- VarCorr(m.lme)) detach("package:nlme") ## library(lme4) fm.NM <- lmer(y ~ x + (1|fac), data=d1, control=lmerControl("Nelder_Mead")) fm.Bq <- update(fm.NM, control=lmerControl("bobyqa")) v.lmer <- VarCorr(fm.NM)[[1]][1,1] stopifnot(all.equal(v.lmer,19.55,tolerance=1e-3)) ## was 19.5482 with old starting values (1), 19.5493 with new start algorithm } ## testLevel>1 lme4/tests/throw.R0000644000176200001440000000157214630126752013556 0ustar liggesusers## original code was designed to detect segfaults/hangs from error handling library(lme4) set.seed(101) d <- expand.grid(block = LETTERS[1:26], rep = 1:100) d$x <- runif(nrow(d)) reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## version without random effects d$eta <- d$eta0+reff_f[d$block] ## inverse link d$mu <- 1/d$eta d$y <- rgamma(nrow(d), scale=d$mu/2, shape=2) if (.Platform$OS.type != "windows") { gm0 <- glmer(y ~ 1|block, d, Gamma) gm0.A25 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L) gm1 <- glmer(y ~ x + (1|block), d, Gamma) gm1.A25 <- glmer(y ~ x + (1|block), d, Gamma, nAGQ=25L) ## strange things happening for logLik ==> AIC, etc for nAGQ ??? anova(gm0, gm1) anova(gm0, gm0.A25) anova(gm1, gm1.A25) summary(gm1) # "fine" summary(gm1.A25) # Inf logLik etc ? } lme4/tests/resids.R0000644000176200001440000000115114234301437013670 0ustar liggesuserslibrary(lme4) ## raw residuals for LMMs fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) stopifnot(all.equal(residuals(fm1),sleepstudy$Reaction-fitted(fm1))) r1 <- residuals(fm1,type="pearson") ## deviance/Pearson residuals for GLMMs gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp) p <- fitted(gm1) n <- cbpp$size v <- n*p*(1-p) obs_p <- cbpp$incidence/cbpp$size rp <- residuals(gm1,"pearson") rp1 <- (obs_p-p)/sqrt(p*(1-p)) rp2 <- rp1*n ## FIXME:: restore this test ## stopifnot(all.equal(rp,rp2)) r2 <- residuals(gm1,type="deviance") lme4/tests/offset.R0000644000176200001440000000263614630126752013703 0ustar liggesusers## simple examples with offsets, to exercise methods etc. library(lme4) if (.Platform$OS.type != "windows") { ## generate a basic Gamma/random effects sim set.seed(101) d <- expand.grid(block=LETTERS[1:26],rep=1:100) d$x <- runif(nrow(d)) ## sd=1 reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## version without random effects d$eta <- d$eta0+reff_f[d$block] ## lmer() test: d$mu <- d$eta d$y <- rnorm(nrow(d),mean=d$mu,sd=1) fm1 <- lmer(y~x+(1|block), data=d) fm1off <- lmer(y~x+(1|block)+offset(3*x),data=d) ## check equality stopifnot(all.equal(fixef(fm1)[2]-3,fixef(fm1off)[2])) p0 <- predict(fm1) p1 <- predict(fm1,newdata=d) p2 <- predict(fm1off,newdata=d) stopifnot(all.equal(p0,p1), all.equal(p1,p2)) ## glmer() test: d$mu <- exp(d$eta) d$y <- rpois(nrow(d),d$mu) gm1 <- glmer(y~x+(1|block), data=d,family=poisson, control=glmerControl(check.conv.grad="ignore")) gm1off <- glmer(y~x+(1|block)+offset(3*x),data=d,family=poisson, control=glmerControl(check.conv.grad="ignore")) ## check equality stopifnot(all.equal(fixef(gm1)[2]-3,fixef(gm1off)[2],tolerance=3e-4)) p0 <- predict(gm1) p1 <- predict(gm1,newdata=d) p2 <- predict(gm1off,newdata=d) stopifnot(all.equal(p0,p1), all.equal(p1,p2)) ## FIXME: should also test simulations } ## skip on windows (for speed) lme4/tests/ST.R0000644000176200001440000000067614234301437012740 0ustar liggesusersrequire(lme4) # sorry for fitting yet another sleepstudy model in the tests m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ST <- getME(m, "ST")$Subject # copied from vince dorie's simmer.R in arm: dimension <- nrow(ST) T <- ST diag(T) <- rep(1, dimension) S <- diag(diag(ST), dimension) vc0 <- getME(m, 'sigma')^2*tcrossprod(T %*% S) vc1 <- VarCorr(m)$Subject[,] dimnames(vc0) <- dimnames(vc1) all.equal(vc0, vc1, tolerance = 1e-6) lme4/tests/predict_basis.R0000644000176200001440000000304114634571002015213 0ustar liggesusers## test for models containing data-defined bases ## ?makepredictcall ## ?model.frame ## ???? data(sleepstudy,package="lme4") library(splines) ## lm0 <- lm(Reaction~ns(Days,2),sleepstudy) ## attr(terms(lm0),"predvars") ## library(nlme) ## lme1 <- lme(Reaction~ns(Days,2),random=~1|Subject,sleepstudy) ## attr(terms(lme1),"predvars") ## no! ## attr(lme1$terms,"predvars") ## yes ## detach("package:nlme") library(lme4) fm1 <- lmer(Reaction ~ ns(Days,2) + (1|Subject), sleepstudy) fm2 <- lmer(Reaction ~ poly(Days,2) + (1|Subject), sleepstudy) fm3 <- lmer(Reaction ~ poly(Days,2,raw=TRUE) + (1|Subject), sleepstudy) newdat0 <- data.frame(Days = unique(sleepstudy$Days)) newdat <- data.frame(Days = 5:12) tmpf <- function(fit) { with(sleepstudy, { plot (Reaction~Days, xlim=c(0,12)) points(Days, predict(fit), col=2) }) lines(newdat0$ Days, predict(fit,re.form=NA,newdata=newdat0), col=4) lines(newdat $ Days, predict(fit,re.form=NA,newdata=newdat ), col=5) } stopifnot(all.equal(predict(fm2,newdat,re.form=NA), predict(fm3,newdat,re.form=NA))) ## pictures tmpf(fm1) tmpf(fm2) tmpf(fm3) ## test for GLMMs set.seed(101) d <- data.frame(y=rbinom(10,size=1,prob=0.5), x=1:10, f=factor(rep(1:5,each=2))) gm1 <- glmer(y ~ poly(x,2) + (1|f), d, family=binomial) gm2 <- glmer(y ~ poly(x,2,raw=TRUE) + (1|f), d, family=binomial) newdat <- data.frame(x=c(1,4,6)) stopifnot(all.equal(predict(gm1,newdat,re.form=NA), predict(gm2,newdat,re.form=NA),tolerance=3e-6)) lme4/tests/testOptControl.R0000644000176200001440000000327214630126752015415 0ustar liggesusers## https://github.com/lme4/lme4/issues/59 library(lme4) dat <- read.csv(system.file("testdata","dat20101314.csv",package="lme4")) NMcopy <- lme4:::Nelder_Mead cc <- capture.output(lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl("NMcopy", optCtrl= list(iprint=20)))) ## check that printing goes through step 140 twice and up to 240 once ## findStep <- function(str,n) sum(grepl(paste0("\\(NM\\) ",n,": "),str)) cc <- paste(cc,collapse="") countStep <- function(str,n) { length(gregexpr(paste0("\\(NM\\) ",n,": "),str)[[1]]) } stopifnot(countStep(cc,140)==2 && countStep(cc,240)==1) ## testStr <- ## "(NM) 20: f = -53.3709 at 0.706667 0.813333 1.46444(NM) 40: f = -147.132 at 0 0 19.18(NM) 60: f = -147.159 at 0 0 17.4275(NM) 80: f = -147.159 at 0 0 17.5615(NM) 100: f = -147.159 at 0 0 17.5754(NM) 120: f = -147.159 at 0 0 17.5769(NM) 140: f = -147.159 at 0 0 17.5768(NM) 20: f = -165.55 at 0.0933333 0.573333 17.3168(NM) 40: f = -173.704 at 0.23799 1.4697 16.9728(NM) 60: f = -173.849 at 0.449634 1.39998 16.9452(NM) 80: f = -174.421 at 0.52329 1.69123 18.1534(NM) 100: f = -176.747 at 0.762043 1.88271 32.8993(NM) 120: f = -176.839 at 0.751206 1.75371 37.2128(NM) 140: f = -176.853 at 0.706425 1.7307 35.7528(NM) 160: f = -176.853 at 0.710803 1.73476 35.7032(NM) 180: f = -176.853 at 0.710159 1.73449 35.6699(NM) 200: f = -176.853 at 0.710271 1.73461 35.6689(NM) 220: f = -176.853 at 0.710259 1.7346 35.6684(NM) 240: f = -176.853 at 0.710257 1.73459 35.6685Linear mixed model fit by REML ['lmerMod']" lme4/tests/getME.R0000644000176200001440000000430414630126752013410 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) #### tests of getME() ### are names correct? -------------- if(getRversion() < "2.15") paste0 <- function(...) paste(..., sep = '') hasInms <- function(x) grepl("(Intercept", names(x), fixed=TRUE) matchNms <- function(fm, PAR) { stopifnot(is.character(vnms <- names(fm@cnms))) mapply(grepl, paste0("^", vnms), names(PAR)) } chkIMod <- function(fm) {## check "intercept only" model b1 <- getME(fm,"beta") f1 <- fixef(fm) stopifnot(hasInms(f1), f1 == b1, hasInms(t1 <- getME(fm,"theta")), matchNms(fm, t1)) } fm1 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) chkIMod(fm1) fm2 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) stopifnot(fixef(fm2) == getME(fm2,"beta")) getME(fm2,"theta") getME(fm3 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy), "theta") getME(fm4 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy), "theta") ## internal consistency check ensuring that all allowed 'name's work (and are not empty): (nmME <- eval(formals(lme4:::getME.merMod)$name)) chkMEs <- function(fm, nms) { stopifnot(is.character(nms)) str(parts <- sapply(nms, getME, object = fm, simplify=FALSE)) isN <- sapply(parts, is.null) stopifnot(identical(names(isN), nms), !any(isN)) } chkMEs(fm1, nmME) chkMEs(fm2, nmME) chkMEs(fm3, nmME) chkMEs(fm4, nmME) ## multiple components can now be retrieved at once gg <- getME(fm2,c("theta","beta")) gg2 <- getME(fm2,c("theta","beta","X")) ## list of Zt for each random-effects factor lapply(getME(fm2,c("Ztlist")),dim) ## Cholesky factors returned as a list of matrices getME(fm1,"ST") getME(fm2,"ST") ## distinction between number of RE terms ## and number of RE grouping factors stopifnot(getME(fm2,"n_rtrms")==1) stopifnot(getME(fm2,"n_rfacs")==1) lapply(getME(fm4,c("Ztlist")),dim) stopifnot(getME(fm4,"n_rtrms")==2) stopifnot(getME(fm4,"n_rfacs")==1) stopifnot(getME(fm1,"sigma")==sigma(fm1)) } ## skip on windows (for speed) lme4/tests/test-glmernbref.R0000644000176200001440000000047614630126752015515 0ustar liggesusers## DON'T load lme4; test is to see if glmer.nb works when ## lme4 is not loaded set.seed(101) dd <- data.frame(x=runif(200), f= rep(1:20, each=10)) b <- rnorm(20) dd <- transform(dd, y = rnbinom(200, mu = exp(1 + 2*x + b[f]), size = 2)) g <- lme4::glmer.nb(y~x + (1|f), data = dd) stopifnot(inherits(g, "glmerMod")) lme4/tests/lmer-1.R0000644000176200001440000003144614630126752013513 0ustar liggesusers### suppressPackageStartupMessages(...) as we have an *.Rout.save to Rdiff against stopifnot(suppressPackageStartupMessages(require(lme4))) options(show.signif.stars = FALSE, useFancyQuotes=FALSE) source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc all.EQ <- function(u,v, ...) all.equal.X(u, v, except = c("call", "frame"), ...) S4_2list <- function(obj) { # no longer used sn <- slotNames(obj) structure(lapply(sn, slot, object = obj), .Names = sn) } if (lme4:::testLevel() <= 1) quit("no") ## otherwise *print* normally: oldOpts <- options(digits=2) (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) (fm1a <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML = FALSE)) (fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) anova(fm1, fm2) ## Now works for glmer fm1. <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) ## default family=gaussian/identity link -> automatically calls lmer() (but with a warning) ## hack call -- comes out unimportantly different fm1.@call[[1]] <- quote(lmer) stopifnot(all.equal(fm1, fm1.)) ## Test against previous version in lmer1 (using bobyqa for consistency) #(fm1. <- lmer1(Reaction ~ Days + (Days|Subject), sleepstudy, opt = "bobyqa")) #stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), # all.equal(fixef(fm1), fixef(fm1.)), # all.equal(fm1@re@theta, fm1.@theta, tolerance = 1.e-7), # all.equal(ranef(fm1), ranef(fm1.))) ## compDev = FALSE no longer applies to lmer ## Test 'compDev = FALSE' (vs TRUE) ## fm1. <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, ## compDev = FALSE)#--> use R code (not C++) for deviance computation ## stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), ## all.equal(fixef(fm1), fixef(fm1.)), ## all.equal(fm1@re@theta, fm1.@re@theta, tolerance = 1.e-7), ## all.equal(ranef(fm1), ranef(fm1.), tolerance = 1.e-7)) vv <- vcov(fm1) cc <- Matrix::cov2cor(vv) dimnames(cc) <- dimnames(vv) ## work around Matrix 1.5.2 buglet stopifnot( all.equal(fixef(fm1), fixef(fm2), tolerance = 1.e-13) , all.equal(unname(fixef(fm1)), c(251.405104848485, 10.467285959595), tolerance = 1e-13) , all.equal(cc["(Intercept)", "Days"], -0.1375, tolerance = 4e-4) ) fm1ML <- refitML(fm1) fm2ML <- refitML(fm2) (cbind(AIC= c(m1= AIC(fm1ML), m2= AIC(fm2ML)), BIC= c( BIC(fm1ML), BIC(fm2ML))) -> ICm) stopifnot(all.equal(c(ICm), c(1763.94, 1762, 1783.1, 1777.97), tolerance = 1e-5))# see 1.2e-6 (fm3 <- lmer(Yield ~ 1|Batch, Dyestuff2)) stopifnot(all.equal(coef(summary(fm3)), array(c(5.6656, 0.67838803150, 8.3515624346), c(1,3), dimnames = list("(Intercept)", c("Estimate", "Std. Error", "t value"))))) showProc.time() # ### {from ../man/lmer.Rd } --- compare lmer & lmer1 --------------- (fmX1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) (fm.1 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) #(fmX2 <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy)) #(fm.2 <- lmer2(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) ## check update(, ): fm.3 <- update(fmX1, . ~ Days + (1|Subject) + (0+Days|Subject)) stopifnot(all.equal(fm.1, fm.3)) fmX1s <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy )# no longer:, sparseX=TRUE) #fmX2s <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy, sparseX=TRUE) options(oldOpts) ## restore digits showProc.time() # for(nm in c("coef", "fixef", "ranef", "sigma", "model.matrix", "model.frame" , "terms")) { cat(sprintf("%15s : ", nm)) FUN <- get(nm) F.fmX1s <- FUN(fmX1s) # F.fmX2s <- FUN(fmX2s) # if(nm == "model.matrix") { # F.fmX1s <- as(F.fmX1s, "denseMatrix") # F.fmX2s <- as(F.fmX2s, "denseMatrix") # FF <- function(.) {r <- FUN(.); row.names(r) <- NULL # as(r, "generalMatrix") } # } # else FF <- FUN stopifnot( all.equal( FF(fmX1), F.fmX1s, tolerance = 1e-6) # , # all.equal( FF(fmX2), F.fmX2s, tolerance = 1e-5) # , # all.equal( FF(fm.1), F.fmX2s, tolerance = 9e-6) ## these are different models # , # all.equal(F.fmX2s, F.fmX1s, tolerance = 6e-6) # , # all.equal(FUN(fm.1), FUN(fm.2), tolerance = 6e-6) , TRUE) cat("[Ok]\n") } ## transformed vars should work[even if non-sensical as here;failed in 0.995-1] fm2l <- lmer(log(Reaction) ~ log(Days+1) + (log(Days+1)|Subject), data = sleepstudy, REML = FALSE) ## no need for an expand method now : xfm2 <- expand(fm2) stopifnot(dim(ranef(fm2l)[[1]]) == c(18, 2), is((c3 <- coef(fm3)), "coef.mer"), all(fixef(fm3) == c3$Batch),## <-- IFF \hat{\sigma^2} == 0 TRUE) ## Simple example by Andrew Gelman (2006-01-10) ---- n.groups <- 10 ; n.reps <- 2 n <- length(group.id <- gl(n.groups, n.reps)) ## simulate the varying parameters and the data: set.seed(0) a.group <- rnorm(n.groups, 1, 2) y <- rnorm (n, a.group[group.id], 1) ## fit and summarize the model fit.1 <- lmer (y ~ 1 + (1 | group.id)) oldOpts <- options(digits=3) coef (fit.1) options(oldOpts) ## check show( <"summary.mer"> ): (sf1 <- summary(fit.1)) # --> now looks as for fit.1 stopifnot(all.equal(fixef(fit.1), c("(Intercept)" = 1.571312129)), all.equal(unname(ranef(fit.1, drop=TRUE)[["group.id"]]), structure( c(1.8046888, -1.8097665, 1.6146451, 1.5408268, -0.1331995, -3.3306655, -1.8259277, -0.8735145, -0.3591311, 3.3720441), postVar = rep.int(0.311091076, 10)), tolerance = 1e-5) ) ## ranef and coef rr <- ranef(fm1) stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) print(plot(rr)) stopifnot(is(cc <- coef(fm1), "coef.mer"), is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) print(plot(cc)) rr <- ranef(fm2) stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) print(plot(rr)) stopifnot(is(cc <- coef(fm2), "coef.mer"), is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) print(plot(cc)) showProc.time() # ## Invalid factor specification -- used to seg.fault: set.seed(1) dat <- within(data.frame(lagoon = factor(rep(1:4,each = 25)), habitat = factor(rep(1:20, each = 5))), { y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) }) tt <- suppressWarnings(try(reg <- lmer(y ~ habitat + (1|habitat*lagoon), data = dat) ) # did seg.fault) ) # now gives error ^- should be ":" ## suppress warning that uses different quoting conventions on ## R-release vs. R-devel ## ignore singular fits as well as hess/grad problems ## (Windows gets singular fits, other platforms don't ...) ctrl0 <- lmerControl( check.conv.singular="ignore", check.conv.hess="ignore", check.conv.grad="ignore") r1 <- lmer(y ~ 0+habitat + (1|habitat:lagoon), data = dat, control=ctrl0) # ok, but senseless r1b <- lmer(y ~ 0+habitat + (1|habitat), data = dat, control=ctrl0) # same model, clearly unidentifiable ## "TODO" : summary(r1) should ideally warn the user stopifnot(all.equal(fixef(r1), fixef(r1b), tolerance= 1e-15), all.equal(ranef(r1), ranef(r1b), tolerance= 1e-15, check.attributes=FALSE)) ## Use a more sensible model: r2.0 <- lmer(y ~ 0+lagoon + (1|habitat:lagoon), data = dat) # ok r2 <- lmer(y ~ 0+lagoon + (1|habitat), data = dat) # ok, and more clear stopifnot(all.equal(fixef(r2), fixef(r2.0), tolerance= 1e-15), all.equal(ranef(r2), ranef(r2.0), tolerance= 1e-15, check.attributes=FALSE)) V2 <- vcov(r2) assert.EQ.mat(V2, diag(x = 9.9833/3, nr = 4)) stopifnot(all.equal(unname(fixef(r2)) - (1:4)*100, c(1.72, 0.28, 1.76, 0.8), tolerance = 1e-13)) ## sparseX version should give same numbers: ## (only gives a warning now -- sparseX disregarded) if(FALSE) { ## no longer r2. <- lmer(y ~ 0+lagoon + (1|habitat), data = dat, sparseX = TRUE) ## the summary() components we do want to compare 'dense X' vs 'sparse X': nmsSumm <- c("methTitle", "devcomp", "logLik", "ngrps", "coefficients", "sigma", "REmat", "AICtab") sr2 <- summary(r2) sr2. <- summary(r2.) sr2.$devcomp$dims['spFe'] <- 0L # to allow for comparisons below stopifnot(all.equal(sr2[nmsSumm], sr2.[nmsSumm], tolerance= 1e-14) , all.equal(ranef(r2), ranef(r2.), tolerance= 1e-14) , Matrix:::isDiagonal(vcov(r2.)) # ok , all.equal(Matrix::diag(vcov(r2.)), rep.int(V2[1,1], 4), tolerance= 1e-13) # , all(vcov(r2.)@factors$correlation == diag(4)) # not sure why this fails , TRUE) r2. } ### mcmcsamp() : ## From: Andrew Gelman ## Date: Wed, 18 Jan 2006 22:00:53 -0500 if (FALSE) { # mcmcsamp still needs work ## NB: Need to restore coda to the Suggests: field of DESCRIPTION ## file if this code block is reinstated. ## has.coda <- require(coda) ## if(!has.coda) ## cat("'coda' package not available; some outputs will look suboptimal\n") ## Very simple example y <- 1:10 group <- gl(2,5) (M1 <- lmer (y ~ 1 + (1 | group))) # works fine (r1 <- mcmcsamp (M1)) # dito r2 <- mcmcsamp (M1, saveb = TRUE) # gave error in 0.99-* and 0.995-[12] (r10 <- mcmcsamp (M1, n = 10, saveb = TRUE)) ## another one, still simple y <- (1:20)*pi x <- (1:20)^2 group <- gl(2,10) M1 <- lmer (y ~ 1 | group) mcmcsamp (M1, n = 2, saveb=TRUE) # fine M2 <- lmer (y ~ 1 + x + (1 + x | group)) # false convergence ## should be identical (and is) M2 <- lmer (y ~ x + ( x | group))# false convergence -> simulation doesn't work: if(FALSE) ## try(..) fails here (in R CMD check) [[why ??]] mcmcsamp (M2, saveb=TRUE) ## Error: inconsistent degrees of freedom and dimension ... ## mcmc for glmer: rG1k <- mcmcsamp(m1, n = 1000) summary(rG1k) rG2 <- mcmcsamp(m1, n = 3, verbose = TRUE) } ## Spencer Graves' example (from a post to S-news, 2006-08-03) ---------------- ## it should give an error, rather than silent non-sense: tstDF <- data.frame(group = letters[1:5], y = 1:5) assertError(## Now throws an error, as desired : lmer(y ~ 1 + (1|group), data = tstDF) ) showProc.time() # ## Wrong formula gave a seg.fault at times: set.seed(2)# ! D <- data.frame(y= rnorm(12,10), ff = gl(3,2,12), x1=round(rnorm(12,3),1), x2=round(rnorm(12,7),1)) ## NB: The first two are the same, having a length-3 R.E. with 3 x 3 vcov-matrix: ## --> do need CPU ## suppressWarnings() for warning about too-few random effects levels tmpf <- function(form) lmer(form, data = D , control=lmerControl(check.conv.singular="ignore", check.nobs.vs.nRE="ignore", calc.derivs=FALSE)) m0 <- tmpf(y ~ (x1 + x2)|ff) m1 <- tmpf(y ~ x1 + x2|ff) m2 <- tmpf(y ~ x1 + (x2|ff)) m3 <- tmpf(y ~ (x2|ff) + x1) suppressWarnings(stopifnot(all.equal(ranef(m0), ranef(m1), tolerance = 1e-5), all.equal(ranef(m2), ranef(m3), tolerance = 1e-5), inherits(tryCatch(lmer(y ~ x2|ff + x1, data = D), error = function(e)e), "error"))) showProc.time() # ## Reordering of grouping factors should not change the internal structure #Pm1 <- lmer1(strength ~ (1|batch) + (1|sample), Pastes, doFit = FALSE) #Pm2 <- lmer1(strength ~ (1|sample) + (1|batch), Pastes, doFit = FALSE) #P2.1 <- lmer (strength ~ (1|batch) + (1|sample), Pastes, devFunOnly = TRUE) #P2.2 <- lmer (strength ~ (1|sample) + (1|batch), Pastes, devFunOnly = TRUE) ## The environments of Pm1 and Pm2 should be identical except for ## "call" and "frame": #stopifnot(## all.EQ(env(Pm1), env(Pm2)), # all.EQ(S4_2list(P2.1), # S4_2list(P2.2))) ## example from Kevin Thorpe: synthesized equivalent ## http://thread.gmane.org/gmane.comp.lang.r.lme4.devel/9835 ## NA issue: simpler example d <- data.frame(y=1:60,f=factor(rep(1:6,each=10))) d$y[2] <- NA d$f[3:4] <- NA lmer(y~(1|f),data=d) glmer(y~(1|f),data=d,family=poisson) ## we originally thought that these examples should be ## estimating non-zero variances, but they shouldn't ... ## number of levels with each level of replication levs <- c(800,300,150,100,50,50,50,20,20,5,2,2,2,2) n <- seq_along(levs) flevels <- seq(sum(levs)) set.seed(101) fakedat <- data.frame(DA = factor(rep(flevels,rep(n,levs))), zbmi=rnorm(sum(n*levs))) ## add NA values fakedat[sample(nrow(fakedat),100),"zbmi"] <- NA fakedat[sample(nrow(fakedat),100),"DA"] <- NA m5 <- lmer(zbmi ~ (1|DA) , data = fakedat, control=lmerControl(check.nobs.vs.rankZ="ignore")) m6 <- update(m5, data=na.omit(fakedat)) stopifnot(VarCorr(m5)[["DA"]] == 0, VarCorr(m6)[["DA"]] == 0) showProc.time() lme4/tests/profile-tst.R0000644000176200001440000001353414630126752014664 0ustar liggesuserslibrary(lme4) library(testthat) library(lattice) testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 options(nwarnings = 5000)# instead of 50, and then use summary(warnings()) if (testLevel>1) { ### __ was ./profile_plots.R ___ fm1 <- lmer(Reaction~ Days + (Days|Subject), sleepstudy) pfile <- system.file("testdata","tprfm1.RData", package="lme4") if(file.exists(pfile)) print(load(pfile)) else withAutoprint({ system.time( tpr.fm1 <- profile(fm1, optimizer="Nelder_Mead") ) ## 5 sec (2018); >= 50 warnings !? save(tpr.fm1, file= "../../inst/testdata/tprfm1.RData") }) oo <- options(warn = 2) # {warnings are errors from here on} if(!dev.interactive(orNone=TRUE)) pdf("profile_plots.pdf") xyplot(tpr.fm1) splom(tpr.fm1) densityplot(tpr.fm1, main="densityplot( profile(lmer(..)) )") ## various scale options xyplot(tpr.fm1,scale=list(x=list(relation="same"))) ## stupid xyplot(tpr.fm1,scale=list(y=list(relation="same"))) xyplot(tpr.fm1,scale=list(y=list(relation="same"),tck=0)) ## expect_error(xyplot(tpr.fm1,conf=50),"must be strictly between 0 and 1") ### end {profile_plots.R} fm01ML <- lmer(Yield ~ 1|Batch, Dyestuff, REML = FALSE) ## 0.8s (on a 5600 MIPS 64bit fast(year 2009) desktop "AMD Phenom(tm) II X4 925"): ## system.time( tpr <- profile(fm01ML) ) ## test all combinations of 'which', including plots (but don't show plots) wlist <- list(1:3,1:2,1,2:3,2,3,c(1,3)) invisible(lapply(wlist,function(w) xyplot(profile(fm01ML,which=w)))) (confint(tpr) -> CIpr) print(xyplot(tpr)) ## comparing against lme4a reference values -- but lme4 returns sigma ## rather than log(sigma) stopifnot(dim(CIpr) == c(3,2), all.equal(unname(CIpr[".sigma",]),exp(c(3.64362, 4.21446)), tolerance=1e-6), all.equal(unname(CIpr["(Intercept)",]),c(1486.451500,1568.548494))) options(oo)# warnings allowed .. ## fixed-effect profiling with vector RE data(Pastes) fmoB <- lmer(strength ~ 1 + (cask | batch), data=Pastes, control = lmerControl(optimizer = "bobyqa")) (pfmoB <- profile(fmoB, which = "beta_", alphamax=.001)) xyplot(pfmoB)# nice and easy .. summary( fm <- lmer(strength ~ 1 + (cask | batch), data=Pastes, control = lmerControl(optimizer = "nloptwrap", calc.derivs= FALSE)) ) ls.str(environment(nloptwrap))# showing *its* defaults pfm <- profile(fm, which = "beta_", alphamax=.001) # 197 warnings for "nloptwrap" summary(warnings()) str(pfm) # only 3 rows, .zeta = c(0, NaN, Inf) !!! try( xyplot(pfm) ) ## FIXME or rather the profiling or rather the "wrap on nloptr" (testLevel <- lme4:::testLevel()) if(testLevel > 2) { ## 2D profiles fm2ML <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin, REML=0) system.time(pr2 <- profile(fm2ML)) # 5.2 sec, 2018-05: 2.1" (confint(pr2) -> CIpr2) lme4a_CIpr2 <- structure(c(0.633565787613112, 1.09578224011285, -0.721864513060904, 21.2666273835452, 1.1821039843372, 3.55631937954106, -0.462903300019305, 24.6778176174587), .Dim = c(4L, 2L), .Dimnames = list(c(".sig01", ".sig02", ".lsig", "(Intercept)"), c("2.5 %", "97.5 %"))) lme4a_CIpr2[".lsig",] <- exp(lme4a_CIpr2[".lsig",]) stopifnot(all.equal(unname(CIpr2),unname(lme4a_CIpr2),tolerance=1e-6)) print(xyplot(pr2, absVal=0, aspect=1.3, layout=c(4,1))) print(splom(pr2)) gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) ## GLMM profiles system.time(pr4 <- profile(gm1)) ## ~ 10 seconds pr4.3 <- profile(gm1,which=3) xyplot(pr4,layout=c(5,1),as.table=TRUE) splom(pr4) ## used to fail because of NAs nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = c(Asym = 200, xmid = 725, scal = 350)) if (FALSE) { ## not working yet: detecting (slightly) lower deviance; not converging in 10k pr5 <- profile(nm1,which=1,verbose=1,maxmult=1.2) xyplot(.zeta~.focal|.par,type=c("l","p"),data=lme4:::as.data.frame.thpr(pr5), scale=list(x=list(relation="free")), as.table=TRUE) } } ## testLevel > 2 if (testLevel > 3) { fm3ML <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML=FALSE) ## ~ 4 theta-variables (+ 2 fixed), 19 seconds | 2018-05: 7.4" print(system.time(pr3 <- profile(fm3ML))) print(xyplot(pr3)) print(splom(pr3)) if (testLevel > 4) { if(requireNamespace("mlmRev")) { data("Contraception", package="mlmRev") ## fit already takes ~ 3 sec (2018-05) fm2 <- glmer(use ~ urban+age+livch + (urban|district), Contraception, binomial) print(system.time(pr5 <- profile(fm2,verbose=10))) # 2018-05: 462 sec = 7'42" ## -> 5 warnings notably "non-monotonic profile for .sig02" (the RE's corr.) print(xyplot(pr5)) } } ## testLevel > 4 } ## testLevel > 3 library("parallel") if (detectCores()>1) { p0 <- profile(fm1, which="theta_") ## http://stackoverflow.com/questions/12983137/how-do-detect-if-travis-ci-or-not travis <- nchar(Sys.getenv("TRAVIS")) > 0 if(.Platform$OS.type != "windows" && !travis) { prof01P <- profile(fm1, which="theta_", parallel="multicore", ncpus=2) stopifnot(all.equal(p0,prof01P)) } ## works in Solaris from an interactive console but not ??? ## via R CMD BATCH if (Sys.info()["sysname"] != "SunOS" && !travis) { prof01P.snow <- profile(fm1, which="theta_", parallel="snow", ncpus=2) stopifnot(all.equal(p0,prof01P.snow)) } } ## test profile/update from within functions foo <- function() { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) ## return profile(gm1, which="theta_") } stopifnot(inherits(foo(), "thpr")) } ## testLevel>1 lme4/tests/elston.R0000644000176200001440000000706614630126752013723 0ustar liggesusers## original code for reading/aggregating: ## tickdata <- read.table("Elston2001_tickdata.txt",header=TRUE, ## colClasses=c("factor","numeric","factor","numeric","factor","factor")) ## tickdata <- transform(tickdata,cHEIGHT=scale(HEIGHT,scale=FALSE)) ## for (i in names(tickdata)) { ## if (is.factor(tickdata[[i]])) { ## tickdata[[i]] <- factor(tickdata[[i]],levels=sort(as.numeric(levels(tickdata[[i]])))) ## } ## } ## summary(tickdata) ## grouseticks <- tickdata ## library(reshape) ## meantick <- rename(aggregate(TICKS~BROOD,data=tickdata,FUN=mean), ## c(TICKS="meanTICKS")) ## vartick <- rename(aggregate(TICKS~BROOD,data=tickdata,FUN=var), ## c(TICKS="varTICKS")) ## uniqtick <- unique(subset(tickdata,select=-c(INDEX,TICKS))) ## grouseticks_agg <- Reduce(merge,list(meantick,vartick,uniqtick)) ## save("grouseticks","grouseticks_agg",file="grouseticks.rda") if (.Platform$OS.type != "windows") { library(lme4) data(grouseticks) do.plots <- FALSE form <- TICKS~YEAR+HEIGHT+(1|BROOD)+(1|INDEX)+(1|LOCATION) ## fit with lme4 ## library(lme4) ## t1 <- system.time(full_mod1 <- glmer(form, family="poisson",data=grouseticks)) ## c1 <- c(fixef(full_mod1),unlist(VarCorr(full_mod1)), logLik=logLik(full_mod1),time=t1["elapsed"]) ## allcoefs1 <- c(unlist(full_mod1@ST),fixef(full_mod1)) ## detach("package:lme4") ## lme4 summary results: t1 <- structure(c(1.288, 0.048, 1.36, 0, 0), class = "proc_time", .Names = c("user.self", "sys.self", "elapsed", "user.child", "sys.child")) c1 <- structure(c(11.3559080756861, 1.1804105508475, -0.978704335712111, -0.0237607330254979, 0.293232458048324, 0.562551624933584, 0.279548178949372, -424.771990224991, 1.36), .Names = c("(Intercept)", "YEAR96", "YEAR97", "HEIGHT", "INDEX", "BROOD", "LOCATION", "logLik", "time.elapsed" )) allcoefs1 <- structure(c(0.541509425632023, 0.750034415832756, 0.528723159081737, 11.3559080756861, 1.1804105508475, -0.978704335712111, -0.0237607330254979 ), .Names = c("", "", "", "(Intercept)", "YEAR96", "YEAR97", "HEIGHT")) pars <- function(x) unlist(getME(x,c("theta","beta"))) if (lme4:::testLevel() > 1) { t2 <- system.time(full_mod2 <- glmer(form, family="poisson",data=grouseticks)) ##>> 2 x checkConv(.. "derivs") warning: 1. failed to conv. 2. nearly unidentifiable c2 <- c(fixef(full_mod2), unlist(VarCorr(full_mod2)), logLik = logLik(full_mod2), time= t2["elapsed"]) ## refit ## FIXME: eventually would like to get _exactly_ identical answers on refit() full_mod3 <- refit(full_mod2, grouseticks$TICKS) print( all.equal(pars(full_mod2), pars(full_mod3), tolerance=0))# -> 1.2e-5 stopifnot(all.equal(pars(full_mod2), pars(full_mod3), tolerance=8e-5)) } ## deviance function ## FIXME: does compDev do _anything_ any more? mm <- glmer(form, family="poisson", data=grouseticks, devFunOnly=TRUE) mm2 <- glmer(form, family="poisson", data=grouseticks, devFunOnly=TRUE,control=glmerControl(compDev=TRUE)) stopifnot(all.equal(1780.5427072, mm(allcoefs1), tol = 1e-7)) } ## skip on windows (for speed) lme4/tests/priorWeightsModComp.R0000644000176200001440000000703514630126752016360 0ustar liggesuserslibrary(lme4) n <- nrow(sleepstudy) op <- options(warn = 1, # show as they happen ("false" convergence warnings) useFancyQuotes = FALSE) if (.Platform$OS.type != "windows") { ##' remove all attributes but names dropA <- function(x) `attributes<-`(x, list(names = names(x))) ##' transform result of "numeric" all.equal.list() to a named vector all.eqL <- function(x1, x2, ...) { r <- sub("^Component ", '', all.equal(x1, x2, tolerance = 0, ...)) r <- strsplit(sub(": Mean relative difference:", "&&", r), split="&&", fixed=TRUE) setNames(as.numeric(vapply(r, `[`, "1.234", 2L)), ## drop surrounding "..." nm = sub('"$', '', substring(vapply(r, `[`, "nam", 1L), first=2))) } seedF <- function(s) { if(s %in% c(6, 39, 52, 57, 63, 74, 76, 86)) switch(as.character(s) , "52"=, "63"=, "74" = 2 , "6"=, "39" = 3 , "86" = 8 # needs 4 on Lnx-64b , "76" = 70 # needs 42 on Lnx-64b , "57" = 90 # needs 52 on Lnx-64b ) else if(s %in% c(1, 12, 15, 34, 36, 41, 42, 43, 49, 55, 59, 67, 80, 85)) ## seeds 41,59, .. 15 1.0 else ## seeds 22, 20, and better 0.25 } ## be fast, running only 10 seeds by default: sMax <- if(lme4:::testLevel() > 1) 99L else 9L mySeeds <- 0L:sMax lapply(setNames(,mySeeds), function(seed) { cat("\n------ random seed =", seed, "---------\n") set.seed(seed) v <- rpois(n,1) + 1 w <- 1/v cat("weights w:\n") fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, REML=FALSE, weights = w); cat("..2:\n") fm2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML=FALSE, weights = w) cat("weights w*10:\n") fm1.10 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, REML=FALSE, weights = w*10);cat("..2:\n") fm2.10 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML=FALSE, weights = w*10) ## ano12... <- dropA(anova(fm1, fm2 )) ano12.10 <- dropA(anova(fm1.10, fm2.10)) print(aEQ <- all.eqL(ano12..., ano12.10)) # showing differences if(!exists("notChisq")) notChisq <<- local({ n <- names(ano12...) grep("Chisq", n, value=TRUE, fixed=TRUE, invert=TRUE) }) stopifnot( all.equal(ano12...$Chisq, ano12.10$Chisq, tol = 1e-6 * seedF(seed)) , all.equal(ano12...[notChisq], ano12.10[notChisq], tol= 1.5e-8 * seedF(seed)) ) aEQ }) -> rallEQ cat("=====================================\n") rallEQ <- t(simplify2array(rallEQ)) notChisq <- intersect(notChisq, colnames(rallEQ)) ## sort according to "severity": srallEQ <- rallEQ[with(as.data.frame(rallEQ), order(AIC, Chisq)), ] round(log10(srallEQ), 2) saveRDS(srallEQ, "priorWeightsMod_relerr.rds") if(!dev.interactive(orNone=TRUE)) pdf("priorWeightsMod_relerr.pdf") matplot(mySeeds, log10(srallEQ), type="l", xlab=NA) ; grid() legend("topleft", ncol=3, bty="n", paste(1:6, colnames(srallEQ), sep = ": "), col=1:6, lty=1:6) tolD <- sqrt(.Machine$double.eps) # sqrt(eps_C) abline(h = log10(tolD), col = "forest green", lty=3) axis(4, at=log10(tolD), label=quote(sqrt(epsilon[c])), las=1) LRG <- which(srallEQ[,"AIC"] > tolD) if (length(LRG)>0) { text(LRG, log10(srallEQ[LRG, "AIC"]), names(LRG), cex = .8) } ## how close are we .. str(tF <- sapply(mySeeds, seedF)) round(sort( rallEQ[, "Chisq"] / (tF * 1e-6 ), decreasing=TRUE), 1) round(sort(apply(rallEQ[,notChisq] / (tF * 1.5e-8), 1, max), decreasing=TRUE), 1) } ## skip on windows (for speed) options(op) lme4/tests/lme4_nlme.R0000644000176200001440000000302214630126752014257 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type != "windows") withAutoprint({ ## testing whether lme4 and nlme play nicely. Only known issue ## is lmList-masking ... library("lme4") library("nlme") fm1_lmer <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm1_lme <- lme (Reaction ~ Days, random = ~Days|Subject, sleepstudy) ## variance-covariance matrices: annoyingly different structures vc_lmer <- VarCorr(fm1_lmer) vc_lme <- VarCorr(fm1_lme, rdig = 8) suppressWarnings(storage.mode(vc_lme) <- "numeric")# 2 NAs vc_lmerx <- c(diag(vc_lmer[[1]]), attr(vc_lmer[[1]],"correlation")[1,2]) vc_lmex <- c( vc_lme[1:2,1], vc_lme[2,3]) stopifnot( all.equal(vc_lmex, vc_lmerx, tolerance= 4e-4) # had 3e-5, now see 0.000296 , ## fixed effects (much easier) : all.equal(fixef(fm1_lmer), fixef(fm1_lme)) # 3.6e-15 , all.equal(unname(unlist(unclass(ranef(fm1_lmer)))), unname(unlist(unclass(ranef(fm1_lme)))), tolerance = 2e-4) # had 2e-5, now see 8.41e-5 ) fm1L_lme <- nlme::lmList(distance ~ age | Subject, Orthodont) fm1L_lmer <- lme4::lmList(distance ~ age | Subject, Orthodont) stopifnot(all.equal(fixef(fm1L_lmer), fixef(fm1L_lme))) sm1L_e <- summary(fm1L_lme) sm1L_er <- summary(fm1L_lmer) stopifnot( all.equal(coef(sm1L_e), coef(sm1L_er), tol=1e-12)# even tol=0 works on some Lnx 64b ) ## FIXME: test opposite order }) lme4/tests/AAAtest-all.R0000644000176200001440000000154614630126752014444 0ustar liggesusersif (base::require("testthat", quietly = TRUE)) { pkg <- "lme4" require(pkg, character.only=TRUE, quietly=TRUE) if(getRversion() < "3.5.0") { withAutoprint <- identity ; prt <- print } else { prt <- identity } if(Sys.getenv("USER") %in% c("maechler", "bbolker")) withAutoprint({ ## for developers' sake: lP <- .libPaths() # ---- .libPaths() : ---- prt(lP) ## ---- Entries in .libPaths()[1] : ---- prt(list.files(lP[1], include.dirs=TRUE)) prt(sessionInfo()) prt(packageDescription("Matrix")) ## 'lme4' from packageDescription "file" : prt(attr(packageDescription("lme4"), "file")) }) test_check(pkg) ##======== ^^^ print(warnings()) # TODO? catch most of these by expect_warning(..) } else { cat( "package 'testthat' not available, cannot run unit tests\n" ) } lme4/tests/testthat/0000755000176200001440000000000014770373205014125 5ustar liggesuserslme4/tests/testthat/test-utils.R0000644000176200001440000000565714630126752016400 0ustar liggesuserslibrary("testthat") library("lme4") ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } context("Utilities (including *non*-exported ones)") test_that("namedList", { nList <- lme4:::namedList a <- b <- c <- 1 expect_identical(nList(a,b,c), list(a = 1, b = 1, c = 1)) expect_identical(nList(a,b,d=c),list(a = 1, b = 1, d = 1)) expect_identical(nList(a, d=pi, c), list(a = 1, d = pi, c = 1)) }) test_that("Var-Cov factor conversions", { ## from ../../R/vcconv.R mlist2vec <- lme4:::mlist2vec Cv_to_Vv <- lme4:::Cv_to_Vv Cv_to_Sv <- lme4:::Cv_to_Sv Sv_to_Cv <- lme4:::Sv_to_Cv Vv_to_Cv <- lme4:::Vv_to_Cv ## set.seed(1); cvec1 <- sample(10, 6) v1 <- Cv_to_Vv(cvec1) expect_equal(unname(v1), structure(c(9, 12, 15, 65, 34, 93), clen = 3)) expect_equal(2, as.vector(Vv_to_Cv(Cv_to_Vv(2)))) expect_equivalent(c(v1, 1), Cv_to_Vv(cvec1, s=3) / 3^2) expect_equal(as.vector(ss1 <- Sv_to_Cv(Cv_to_Sv(cvec1))), cvec1) expect_equal(as.vector(vv1 <- Vv_to_Cv(Cv_to_Vv(cvec1))), cvec1) ## for length-1 matrices, Cv_to_Sv should be equivalent ## to multiplying Cv by sigma and appending sigma .... clist2 <- list(matrix(1),matrix(2),matrix(3)) cvec2 <- mlist2vec(clist2) expect_equal(cvec2, structure(1:3, clen = rep(1,3)), tolerance=0) expect_true(all((cvec3 <- Cv_to_Sv(cvec2, s=2)) == c(cvec2*2,2))) n3 <- length(cvec3) expect_equivalent(Sv_to_Cv(cvec3, n=rep(1,3), s=2), cvec3[-n3]/cvec3[n3]) }) test_that("nobar", { rr <- lme4:::RHSForm expect_equal(nobars(y~1+(1|g)), y~1) expect_equal(nobars(y~1|g), y~1) expect_equal(nobars(y~1+(1||g)), y~1) expect_equal(nobars(y~1||g), y~1) expect_equal(nobars(y~1+(x:z|g)), y~1) expect_equal(nobars(y~1+(x*z|g/h)), y~1) expect_equal(nobars(y~(1|g)+x+(x|h)), y~x) expect_equal(nobars(y~(1|g)+x+(x+z|h)), y~x) expect_equal(nobars(~1+(1|g)), ~1) expect_equal(nobars(~(1|g)), ~1) expect_equal(nobars(rr(y~1+(1|g))), 1) expect_equal(nobars(rr(y~(1|g))), 1) }) test_that("getData", { ## test what happens when wrong version of 'data' is found in environment of formula ... f <- round(Reaction) ~ 1 + (1|Subject) g <- function() { data <- sleepstudy m1 <- glmer(f, data = data, family = poisson) } m1 <- g() expect_error(getData(m1), "object found is not a data frame or matrix") p1 <- suppressMessages(predict(m1, newparams = list(beta = 5, theta = 1), type = "response", re.form = ~ 1|Subject)) expect_equal(unname(head(p1, 2)), c(444.407382298401, 444.407382298401)) }) lme4/tests/testthat/test-allFit.R0000644000176200001440000000770214630126752016444 0ustar liggesuserstestLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 if (testLevel>1) { library("testthat") library("lme4") L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) gm_all <- allFit(fit_cbpp_1, verbose=FALSE) context("Show basic allFit results") test_that("allFit print/summary is fine", { expect_is(gm_all, "allFit") expect_is(summary(gm_all), "summary.allFit") }) test_that("nloptwrap switches optimizer correctly", { expect_equal(attr(gm_all[["nloptwrap.NLOPT_LN_BOBYQA"]],"optCtrl"), list(maxeval = 1e5, algorithm = "NLOPT_LN_BOBYQA")) expect_equal(attr(gm_all[["nloptwrap.NLOPT_LN_NELDERMEAD"]],"optCtrl"), list(maxeval = 1e5, algorithm = "NLOPT_LN_NELDERMEAD")) }) test_that("lmerControl() arg works too", { fm0 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) fm <- update(fm0, control = lmerControl(optCtrl = list(xtol_rel = 1e-8, ftol_rel = 1e-8), calc.derivs=FALSE)) afm0 <- allFit(fm0,verbose=FALSE) afm <- allFit(fm,verbose=FALSE) # used to fail drop_ <- function(x) { x[setdiff(names(x), c("times","feval"))] } ## should be approximately the same expect_equal(drop_(summary(afm0)), drop_(summary(afm)), tolerance = 1e-2) ## should NOT be the same! expect_false(isTRUE(all.equal(drop_(summary(afm0)), drop_(summary(afm)), tolerance=1e-10))) }) test_that("glmerControl() arg + optimizer", { ## GH #523? fit_cbpp_1u <- update(fit_cbpp_1, control=glmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-10, ftol_abs=1e-10))) af2 <- allFit(fit_cbpp_1u, verbose=FALSE) expect_equal(class(af2),"allFit") }) test_that("i in model call is OK", { ## GH #538 ## ugh, testthat scoping is insane ... ## if d and i are ## assigned normally with <- outside expect_true(), test fails ## BUT global assignment of 'd' breaks downstream tests in ## 'data= argument and formula evaluation' (test-formulaEval.R) ## ddd breaks similar test in 'fitting lmer models' (test-lmer.R) ## (where 'd' is supposed to be nonexistent) ## if we do global assignment with <<- ## can't figure out how to remove d (or ddd) after it's created to leave ## the environment clean ... ## tried to encapsulate all the necessary assignments ## within expect_true({ ... }) but that fails in other ways nr <- nrow(sleepstudy) ..dd <<- list(sleepstudy[1:nr,], sleepstudy[-(1:nr)]) i <<- 1 fm0 <- lmer(Reaction ~ Days + (1 | Subject), data=..dd[[i]]) aa <- allFit(fm0, verbose=FALSE) expect_true( all(summary(aa)$which.OK) ) }) test_that("allFit/update scoping", { ## GH #601 fit_func <- function(dataset) { gm1 <- glmer( cbind(incidence, size - incidence) ~ period + (1 | herd), data = dataset, family = binomial ) allFit(gm1, catch.errs=FALSE) } cc <- capture.output(ff <- fit_func(cbpp)) expect_true(all(summary(ff)$which.OK)) }) test_that("maxfun works", { gm_it10 <- suppressWarnings(allFit(fit_cbpp_1, verbose=FALSE, maxfun = 10)) v <- vapply(gm_it10, function(x) as.integer(x@optinfo$feval), FUN.VALUE=1L) ## function values are sometimes off a bit (due to initialization or Hessian calculation) ## but close enough ... expect_true(all(v %in% c(10, 11, NA, 18))) }) } ## testLevel lme4/tests/testthat/test-catch.R0000644000176200001440000000105714630126752016310 0ustar liggesuserslibrary("testthat") library("lme4") context("storing warnings, convergence status, etc.") test_that("storewarning", { gCtrl <- glmerControl(optimizer = "Nelder_Mead", optCtrl = list(maxfun=3)) expect_warning(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data=cbpp, family=binomial, control=gCtrl), "failure to converge in 3") expect_equal(gm1@optinfo$warnings[[1]],"failure to converge in 3 evaluations") ## FIXME: why is conv==0 here? }) lme4/tests/testthat/test-nlmer.R0000644000176200001440000000074614630126752016347 0ustar liggesuserslibrary("testthat") library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 context("lower/upper bounds on nlmer models") test_that("nlmer", { startvec <- c(Asym = 200, xmid = 725, scal = 350) nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = startvec, control=nlmerControl(optCtrl=list(lower=c(0,200,-Inf,-Inf)))) expect_equal(unname(fixef(nm1)[1]),200) }) lme4/tests/testthat/test-glmer.R0000644000176200001440000004074414641535374016350 0ustar liggesuserslibrary("testthat") library("lme4") source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> uc() [back-compatible c()] testLevel <- lme4:::testLevel() gives_error_or_warning <- function (regexp = NULL, all = FALSE, ...) { function(expr) { res <- try(evaluate_promise(expr),silent=TRUE) no_error <- !inherits(res, "try-error") if (no_error) { warnings <- res$warnings if (!is.null(regexp) && length(warnings) > 0) { return(matches(regexp, all = FALSE, ...)(warnings)) } else { return(expectation(length(warnings) > 0, "no warnings or errors given", paste0(length(warnings), " warnings created"))) } } if (!is.null(regexp)) { return(matches(regexp, ...)(res)) } else { expectation(TRUE, "no error thrown", "threw an error") } } } ## expect_that(stop("foo"),gives_error_or_warning("foo")) ## expect_that(warning("foo"),gives_error_or_warning("foo")) ## expect_that(TRUE,gives_error_or_warning("foo")) ## expect_that(stop("bar"),gives_error_or_warning("foo")) ## expect_that(warning("bar"),gives_error_or_warning("foo")) if(testLevel > 1) { context("fitting glmer models") test_that("glmer", { set.seed(101) d <- data.frame(z=rbinom(200,size=1,prob=0.5), f=factor(sample(1:10,200,replace=TRUE))) ## Using 'method=*' defunct in 2019-05 (after 6 years of deprecation) ## expect_warning(glmer(z~ 1|f, d, family=binomial, method="abc"),"Use the nAGQ argument") ## expect_warning(glmer(z~ 1|f, d, family=binomial, method="Laplace"),"Use the nAGQ argument") ##sp expect_warning(glmer(z~ 1|f, d, sparseX=TRUE),"has no effect at present") expect_that(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial), is_a("glmerMod")) expect_that(gm1@resp, is_a("glmResp")) expect_that(gm1@pp, is_a("merPredD")) expect_equal(ge1 <- unname(fixef(gm1)), c(-1.39854982537216, -0.992335519118859, -1.12867532780426, -1.58030423764517), tolerance=5e-4) expect_equal(c(VarCorr(gm1)[[1]]), 0.41245527438386, tolerance=6e-4) ### expect_that(family(gm1), equals(binomial())) ### ?? binomial() has an 'initialize' component ... and the order is different expect_equal(deviance(gm1), 73.47428, tolerance=1e-5) ## was -2L = 184.05267459802 expect_equal(sigma(gm1), 1) expect_equal(extractAIC(gm1), c(5, 194.052674598026), tolerance=1e-5) expect_equal(theta <- unname(getME(gm1, "theta")), 0.642226809144453, tolerance=6e-4) expect_that(X <- getME(gm1, "X"), is_equivalent_to( model.matrix(model.frame(~ period, data=cbpp), cbpp))) expect_that(Zt <- getME(gm1, "Zt"), is_a("dgCMatrix")) expect_equal(dim(Zt), c(15L, 56L)) expect_equal(Zt@x, rep.int(1, 56L)) expect_that(Lambdat <- getME(gm1, "Lambdat"), is_a("dgCMatrix")) expect_equivalent(as(Lambdat, "matrix"), diag(theta, 15L, 15L)) expect_is(gm1_probit <- update(gm1,family=binomial(link="probit")),"merMod") expect_equal(family(gm1_probit)$link,"probit") ## FIXME: test user-specified/custom family? expect_error(glFormula(cbind(incidence, size - incidence) ~ period + (1 | herd), data = subset(cbpp, herd==levels(herd)[1]), family = binomial), "must have > 1") expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = subset(cbpp, herd %in% levels(herd)[1:4]), family = binomial, control=glmerControl(check.nlev.gtreq.5="warning")), "< 5 sampled levels") expect_warning(fm1. <- glmer(Reaction ~ Days + (Days|Subject), sleepstudy), regexp="calling .* with family=gaussian .* as a shortcut") options(warn=2) options(glmerControl=list(junk=1,check.conv.grad="ignore")) expect_warning(glmer(z~ 1|f, d, family=binomial), "some options") options(glmerControl=NULL) cbppX <- transform(cbpp,prop=incidence/size) expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, start=NULL), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, verbose=0L), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, subset=TRUE), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, na.action="na.exclude"), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, offset=rep(0,nrow(cbppX))), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, contrasts=NULL), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, devFunOnly=FALSE), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, control=glmerControl(optimizer="Nelder_Mead")), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, control=glmerControl()), "glmerMod") options(warn=0) expect_error(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, junkArg=TRUE), "unused argument") if(FALSE) { ## Hadley broke this expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=list()), "instead of passing a list of class") expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=lmerControl()), "instead of passing a list of class") } ## load(system.file("testdata","radinger_dat.RData",package="lme4")) mod <- glmer(presabs~predictor+(1|species),family=binomial, radinger_dat) expect_is(mod,"merMod") ## tolerance: 32-bit Windows (CRAN) reported ave.diff of 5.33e-8 ## 64-bit Win-builder r73242 now reports ave. diff of 1.31e-5 ... expect_equal(unname(fixef(mod)), c(0.5425528,6.4289962), tolerance = 1e-4) set.seed(101) ## complete separation case d <- data.frame(y=rbinom(1000,size=1,p=0.5), x=runif(1000), f=factor(rep(1:20,each=50)), x2=rep(0:1,c(999,1))) expect_message(mod2 <- glmer(y~x+x2+(1|f),data=d,family=binomial, control=glmerControl(check.conv.hess="ignore", check.conv.grad="ignore")), "singular") expect_equal(unname(fixef(mod2))[1:2], c(-0.10036244,0.03548523), tolerance=1e-4) expect_true(unname(fixef(mod2)[3] < -10)) expect_message(mod3 <- update(mod2, family=binomial(link="probit")), "singular") # singular Hessian warning expect_equal(unname(fixef(mod3))[1:2], c(-0.062889, 0.022241), tolerance=1e-4) expect_true(fixef(mod3)[3] < -4) expect_message(mod4 <- update(mod2, family=binomial(link="cauchit"), control=glmerControl(check.conv.hess="ignore", check.conv.grad="ignore")))#--> singular Hessian warning ## on-the-fly creation of index variables if (FALSE) { ## FIXME: fails in testthat context -- 'd' is not found ## in the parent environment of glmer() -- but works fine ## otherwise ... set.seed(101) d <- data.frame(y1=rpois(100,1), x=rnorm(100), ID=1:100) fit1 <- glmer(y1 ~ x+(1|ID),data=d,family=poisson) fit2 <- update(fit1, .~ x+(1|rownames(d))) expect_equal(unname(unlist(VarCorr(fit1))), unname(unlist(VarCorr(fit2)))) } ## if(testLevel > 2) { load(system.file("testdata","mastitis.rda",package="lme4")) t1 <- system.time(g1 <- suppressWarnings(glmer(NCM ~ birth + calvingYear + (1|sire) + (1|herd), mastitis, poisson, ## current (2014-04-24) default: --> Warning control=glmerControl( # max|grad| = 0.021 .. optimizer=c("bobyqa","Nelder_Mead"))))) t2 <- system.time(g2 <- suppressWarnings(update(g1, control=glmerControl(optimizer="bobyqa")))) ## rbind(t1,t2)[,"elapsed"] ## 20 (then 13.0) seconds N-M vs 8 (then 4.8) seconds bobyqa ... ## print(t1[3] / t2[3]) # 0.37; => 1.25 should be on the safe side expect_lte(t2[3], 1.25 * t1[3]) ## problem is fairly ill-conditioned so parameters ## are relatively far apart even though likelihoods are OK expect_equal(logLik(g1),logLik(g2),tolerance=2e-7) } ## test bootstrap/refit with nAGQ>1 gm1AGQ <- update(gm1,nAGQ=2) s1 <- simulate(gm1AGQ) expect_equal(attr(bootMer(gm1AGQ,fixef),"bootFail"),0) ## do.call(new,...) bug new <- "foo" expect_that(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial), is_a("glmerMod")) rm("new") ## test issue #47, from Wolfgang Viechtbauer ## create some data n <- 100 ai <- rep(0:1, each = n/2) bi <- 1-ai ci <- c(rep(0,42), rep(1,8), rep(0,18), rep(1,32)) di <- 1-ci event <- c(rbind(ai,ci)) group <- rep(c(1,0), times=n) id <- rep(1:n, each=2) gm3 <- glmer(event ~ group + (1 | id), family=binomial, nAGQ=21) sd3 <- sqrt(diag(vcov(gm3))) expect_equal(uc(`(Intercept)` = 0.42542855, group = 0.42492581), sd3, tolerance=1e-5) # 7e-9 {Lnx} ## unfortunately these answers aren't reliably "wrong" any more (2024-07-02 Pop!OS Linux) expect_warning(vcov(gm3, use.hessian=FALSE), "finite-difference Hessian") expect_equal(suppressWarnings(sqrt(diag(vcov(gm3,use.hessian=FALSE)))), uc(`(Intercept)` = 0.3840921, group = 0.3768747), tolerance=1e-7) # 6.5e-8 expect_equal(sd3, unn(coef(summary(gm3))[,"Std. Error"])) ## test non-pos-def finite-difference Hessian ... if(getRversion() > "3.0.0") { ## saved fits are not safe with old R versions L <- load(system.file("testdata","polytomous_vcov_ex.RData", package="lme4", mustWork=TRUE)) expect_warning(vcov(polytomous_vcov_ex),"falling back to var-cov") } ## damage Hessian to make it singular ## (example thanks to J. Dushoff) gm1H <- gm1 gm1H@optinfo$derivs$Hessian[5,] <- 0 expect_warning(vcov(gm1H),"falling back to var-cov") ## test convergence warnings L <- load(system.file("testdata","gopherdat2.RData", package="lme4", mustWork=TRUE)) g0 <- glmer(shells~prev + (1|Site)+offset(log(Area)), family=poisson, data=Gdat) ## fit year as factor: OK gc <- glmerControl(check.conv.grad="stop") expect_is(update(g0,.~.+factor(year), control=gc), "glmerMod") ## error/warning with year as numeric: ## don't have full knowledge of which platforms lead to which ## results, and can't detect whether we're running on valgrind, ## which changes the result on 32-bit linux ... ## SEGFAULT on MacOS? why? if (FALSE) { expect_that(update(g0,.~.+year), gives_error_or_warning("(failed to converge|pwrssUpdate did not converge)")) } ## ("(failed to converge|pwrssUpdate did not converge in)")) ## if (sessionInfo()$platform=="i686-pc-linux-gnu (32-bit)") { ## expect_warning(update(g0, .~. +year), "failed to converge") ## } else { ## ## MacOS x86_64-apple-darwin10.8.0 (64-bit) ## ## MM's platform ## ## "pwrssUpdate did not converge in (maxit) iterations" ## expect_error(update(g0, .~. +year), "pwrssUpdate did not converge in") ## } ## OK if we scale & center it expect_is(update(g0,.~. + scale(year), control=gc), "glmerMod") ## not OK if we scale and don't center expect_warning(update(g0,.~. + scale(year,center=FALSE)), "failed to converge with max|grad|") ## OK if center and don't scale expect_is(update(g0,.~. + scale(year,center=TRUE,scale=FALSE), control=gc), "glmerMod") ## try higher-order AGQ expect_is (update(gm1,nAGQ=90), "glmerMod") expect_error(update(gm1,nAGQ=101),"ord < 101L") ## non-numeric response variables ss <- transform(sleepstudy, Reaction = as.character(Reaction)) expect_error(glmer(Reaction~(1|Days), family="poisson", data=ss), "response must be numeric") expect_error(glmer(Reaction~(1|Days), family="binomial", data=ss), "response must be numeric or factor") ss2 <- transform(ss,rr=rep(c(TRUE,FALSE),length.out=nrow(ss))) ## should work OK with logical too expect_is(glmer(rr~(1|Days),family="binomial",data=ss2),"merMod") ## starting values with log(.) link -- thanks to Eric Weese @ Yale: grp <- rep(letters[1:5], 20); set.seed(1); x <- rnorm(100) expect_error(glmer(x ~ 1 + (1|grp), family=gaussian(link="log")), "valid starting values") ## related to GH 231 ## fails on some platforms, skip for now if (FALSE) { rr <- gm1@resp$copy() ff <- setdiff(ls(gm1@resp),c("copy","initialize","initialize#lmResp","ptr", "updateMu","updateWts","resDev","setOffset","wrss")) for (i in ff) { expect_equal(gm1@resp[[i]],rr[[i]]) } } ## bad start case load(system.file("testdata","fakesim.RData",package="lme4")) rfit <- glmer(Inew/S ~ R0-1 + offset(log(I/N)) + (1|R0:trial) , family=binomial(link="cloglog") , data=dat , weight=S , control=glmerControl(optimizer="bobyqa", nAGQ0initStep=FALSE) , start = list(fixef=c(0,0,0),theta=1)) expect_equal(exp(fixef(rfit)), c(R01 = 1.2735051, R02 = 2.0330635, R03 = 2.9764088), tolerance=1e-5) ## gaussian with log link and zero values in response ... ## fixed simulation code, passing mustart properly dd <- expand.grid(x = seq(-2,3,length.out=10), f = factor(1:10)) dd$y <- simulate(~x+(1|f), family=gaussian(link="log"), newdata=dd, newparams=list(beta=c(0,1),theta=1,sigma=1), seed=101)[[1]] dd$y <- pmax(dd$y,0) expect_error(glmer (y ~ x + (1|f), family = gaussian(link="log"), data=dd),"cannot find valid starting values") g1 <- glmer (y ~ x + (1|f), family = gaussian(link="log"), data=dd, mustart=pmax(dd$y,0.1)) msum <- c(fixef(g1),unlist(c(VarCorr(g1))),c(logLik(g1))) expect_equal(msum, c(`(Intercept)` = 0.23389405, x = 1.0017436, f = 0.24602992, -156.7773), tolerance=1e-5) ## GH 415 expect_warning(glmer (round(Reaction) ~ Days + (1|Subject), data=sleepstudy[1:100,], family=poisson, control=lmerControl()), "please use glmerControl") }) } ## testlevel>1 test_that("glmer with etastart", { ## make sure etastart is passed through ## (fixed in commit b6fb1ac83885ff06 but never tested?) m1 <- glmer(incidence/size ~ period + (1|herd), weights = size, family = binomial, data = cbpp) m1E <- update(m1, etastart = rep(1, nrow(cbpp))) expect_true(!identical(fixef(m1), fixef(m1E))) }) lme4/tests/testthat/test-lmerResp.R0000644000176200001440000000435714630126752017025 0ustar liggesuserslibrary("lme4") library("testthat") data(Dyestuff, package="lme4") n <- nrow(Dyestuff) ones <- rep.int(1, n) zeros <- rep.int(0, n) YY <- Dyestuff$Yield mYY <- mean(YY) context("lmerResp objects") test_that("lmerResp", { mres <- YY - mYY rr <- lmerResp$new(y=YY) expect_that(rr$weights, equals(ones)) expect_that(rr$sqrtrwt, equals(ones)) expect_that(rr$sqrtXwt, equals(ones)) expect_that(rr$offset, equals(zeros)) expect_that(rr$mu, equals(zeros)) expect_that(rr$wtres, equals(YY)) expect_that(rr$wrss(), equals(sum(YY^2))) expect_that(rr$updateMu(rep.int(mYY, n)), equals(sum(mres^2))) expect_that(rr$REML, equals(0L)) rr$REML <- 1L expect_that(rr$REML, equals(1L)) }) mlYY <- mean(log(YY)) gmeanYY <- exp(mlYY) # geometric mean context("glmResp objects") test_that("glmResp", { mres <- YY - gmeanYY gmean <- rep.int(gmeanYY, n) rr <- glmResp$new(family=poisson(), y=YY) expect_that(rr$weights, equals(ones)) expect_that(rr$sqrtrwt, equals(ones)) expect_that(rr$sqrtXwt, equals(ones)) expect_that(rr$offset, equals(zeros)) expect_that(rr$mu, equals(zeros)) expect_that(rr$wtres, equals(YY)) expect_that(rr$n, equals(ones)) ## wrss() causes an update of mu which becomes ones, wtres also changes expect_that(rr$wrss(), equals(sum((YY-1)^2))) expect_that(rr$mu, equals(ones)) expect_that(rr$wtres, equals(YY-ones)) expect_that(rr$updateMu(rep.int(mlYY, n)), equals(sum(mres^2))) expect_that(rr$mu, equals(gmean)) expect_that(rr$muEta(), equals(gmean)) expect_that(rr$variance(), equals(gmean)) rr$updateWts() expect_that(1/sqrt(rr$variance()), equals(rr$sqrtrwt)) expect_that(as.vector(rr$sqrtXwt), equals(rr$sqrtrwt * rr$muEta())) }) lme4/tests/testthat/test-stepHalving.R0000644000176200001440000000061014630126752017504 0ustar liggesuserslibrary(lme4) library(testthat) load(system.file("testdata","survdat_reduced.Rda",package="lme4")) test_that('Step-halving works properly', { # this example is known to require step-halving (or at least has in the past # required step-halving) form <- survprop~(1|nobs) m <- glmer(form,weights=eggs,data=survdat_reduced,family=binomial,nAGQ=1L) expect_that(m, is_a("glmerMod")) }) lme4/tests/testthat/test-ranef.R0000644000176200001440000000735614630126752016331 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) set.seed(101) n <- 500 d <- data.frame(x=rnorm(n), f=factor(sample(1:10,n,replace=TRUE), labels=LETTERS[1:10]), g=factor(sample(1:25,n,replace=TRUE), labels=letters[1:25])) d$y <- suppressMessages(simulate(~1+x+(1|f)+(x|g),family=binomial, newdata=d, newparams=list(beta=c(0,1), theta=c(1,1,2,1)))[[1]]) fm1 <- glmer(y~(1|f)+(x|g),family=binomial,data=d) context("ranef") test_that("warn extra args", { expect_warning(ranef(fm1,transf=exp),"additional arguments") }) test_that("dotplot_ranef", { rr <- ranef(fm1,condVar=TRUE) expect_is(lattice::dotplot(rr,scales=list(x = list(relation = 'free')))$g, "trellis") expect_is(lattice::dotplot(rr,transf=exp, scales=list(x = list(relation = 'free')))$g, "trellis") expect_is(as.data.frame(rr),"data.frame") rr0 <- ranef(fm1) expect_is(as.data.frame(rr0),"data.frame") }) test_that("Dyestuff consistent with lme4.0", { lme4.0condVarDyestuff <- c(362.3583, 362.3583, 362.3583, 362.3583, 362.3583, 362.3583) fm <- lmer(Yield ~ 1|Batch, Dyestuff, REML=FALSE) lme4condVarDyestuff <- drop(attr(ranef(fm,condVar=TRUE)$Batch,"postVar")) expect_equal(lme4.0condVarDyestuff, lme4condVarDyestuff, tolerance = 1e-3) }) test_that("sleepstudy consistent with lme4.0", { lme4.0condVarsleepstudy <- matrix(c(145.71273, -21.440414, -21.44041, 5.310927), 2, 2) fm <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) lme4condVarsleepstudy <- attr(ranef(fm,condVar=TRUE)$Subject,"postVar")[,,1] expect_equal(lme4.0condVarsleepstudy, lme4condVarsleepstudy, tolerance = 2e-4) }) test_that("cbpp consistent with lme4.0", { lme4.0condVarcbpp <- c(0.12128867, 0.13363275, 0.08839850, 0.17337928, 0.12277914, 0.14436663, 0.10658333, 0.10309812, 0.21289738, 0.13740279, 0.09555677, 0.19460241, 0.14808316, 0.12631006, 0.15816769) gm <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) lme4condVarcbpp <- as.numeric(attr(ranef(gm,condVar=TRUE)$herd,"postVar")) expect_equal(lme4.0condVarcbpp, lme4condVarcbpp, tolerance = 1e-3) }) context("multiple terms per factor") test_that("multiple terms work", { fm <- lmer(Reaction ~ Days + (1|Subject)+ (0+Days | Subject), sleepstudy, control=lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6))) rr <- ranef(fm, condVar=TRUE) expect_equal(as.data.frame(rr)[c(1,19),], structure( list(grpvar = c("Subject", "Subject"), term = structure(1:2, .Label = c("(Intercept)", "Days"), class = "factor"), grp = structure(c(9L, 9L), .Label = c("309", "310", "370", "349", "350", "334", "335", "371", "308", "369", "351", "332", "372", "333", "352", "331", "330", "337"), class = "factor"), condval = c(1.5116973008, 9.32373076098), condsd = c(12.238845590, 2.33546851406)), row.names = c(1L, 19L), class = "data.frame"), tolerance = 1e-5) cv <- attr(rr$Subject, "postVar") expect_equal(lapply(cv, drop), list(`(Intercept)` = rep(149.79166, 18), Days = rep(5.4543894, 18)), tolerance = 1e-4) }) lme4/tests/testthat/test-oldRZXfailure.R0000644000176200001440000000076214630126752017762 0ustar liggesuserslibrary(lme4) library(testthat) load(system.file("testdata","crabs_randdata00.Rda",package="lme4")) test_that('RZX is being calculated properly', { # this is a test for an old problem, documented here: # http://stevencarlislewalker.github.io/notebook/RZX_problems.html fr <- cbind(final.snail.density, snails.lost) ~ crab.speciesS + crab.sizeS + crab.speciesS:crab.sizeS + (snail.size | plot) m <- glmer(fr, data = randdata00, family = binomial) expect_that(m, is_a("glmerMod")) }) lme4/tests/testthat/test-glmmFail.R0000644000176200001440000000270314663635630016763 0ustar liggesuserslibrary("testthat") ## library("lme4") data("sleepstudy", package = "lme4") source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... set.seed(101) dBc <- gSim(family=binomial(link="cloglog"), nbinom = 1) # {0,1} Binomial ## m1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ## family = binomial, data = cbpp) context("Errors and warnings from glmer") test_that("glmer", { expect_error(glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")), "Response is constant") expect_error(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, REML=TRUE), "unused argument.*REML") expect_warning(glmer(Reaction ~ Days + (Days|Subject), sleepstudy), "calling glmer.*family=gaussian.*deprecated") expect_warning(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian), "calling glmer.*family=gaussian.*deprecated") m3 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) m4 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) m5 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian)) expect_equal(fixef(m3),fixef(m5)) m3@call[[1]] <- m5@call[[1]] <- quote(lmer) ## hack call expect_equal(m3,m4) expect_equal(m3,m5) }) lme4/tests/testthat/test-glmernb.R0000644000176200001440000000571714630126752016663 0ustar liggesuserslibrary("testthat") library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 if (testLevel>1) { context("glmer.nb") test_that("basic", { set.seed(101) dd <- expand.grid(f1 = factor(1:3), f2 = LETTERS[1:2], g=1:9, rep=1:15, KEEP.OUT.ATTRS=FALSE) mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) require("MASS") m.glm <- glm.nb(y ~ f1*f2, data=dd) m.nb <- glmer.nb(y ~ f1*f2 + (1|g), data=dd) expect_equal(unname(fixef(m.nb)), c(1.65008, 0.76715, 1.01147, 1.51241, -0.61506, -0.6104), tol=1e-5) expect_is(m.nb,"glmerMod") ## 'family' properly quoted/not expanded in call? expect_true(grepl("negative\\.binomial\\(theta *= *[0-9]*\\.[0-9]+\\)", deparse(m.nb@call$family))) expect_null(m.nb@call$verbose) ## check: GH #321 expect_equal(fixef(m.nb), coef (m.glm), tol=1e-5) ## GH #319 ## GH #285 m.nb1 <- glmer(Reaction > 250 ~ Days + (1|Subject), data = sleepstudy, family=poisson) ## previously failing on Travis-CI m.nb2 <- glmer.nb(y ~ f1*f2 + (1|g), data=dd, subset = g!=8) expect_equal(unname(ngrps(m.nb2)),8) ## expect parameters, ngrps *not* to equal full model expect_equal(unname(fixef(m.nb2)), c(1.629240234, 0.76028840, 1.008629913, 1.6172507, -0.6814426, -0.66468330),tol=1e-5) ## control handling ... this should suppress warnings ... old.opts <- options(warning=2) m.nb2 <- glmer.nb(round(Reaction) ~ Days + (1|Subject), data = sleepstudy, subset = Subject != 370, control=glmerControl(check.conv.grad="ignore")) expect_is(m.nb2,"glmerMod") options(old.opts) m.nb3 <- glmer.nb(y~f1+(1|g), data=dd, contrasts=list(f1=contr.sum)) ## make sure *different* fixed effects from previous fit ... expect_equal(fixef(m.nb3), structure(c(2.93061, -0.29779, 0.02586), .Names = c("(Intercept)", "f11", "f12")),tol=1e-5) ## make sure 'data' is in call even if unnamed m.nb4 <- glmer.nb(y~f1+(1|g), dd) expect_equal(names(m.nb4@call),c("","formula","data","family")) ## GH 322; allow offset m.nb2 <- glmer.nb(y~f1+(1|g), data=dd, offset=rep(0,nrow(dd))) }) if (requireNamespace("merDeriv")) { test_that("summary not broken by merDeriv", { library(merDeriv) data(Arabidopsis) mod <- glmer.nb(total.fruits~status+nutrient+(1|gen), data=Arabidopsis) ## trivial test of existence/non-failure ... expect_is(summary(mod), "summary.merMod") ## may? expose other problems as S3 methods won't be unloaded properly ... detach("package:merDeriv") }) } } ## testLevel > 1 lme4/tests/testthat/test-simulate_formula.R0000644000176200001440000000471714630126752020604 0ustar liggesuserslibrary("testthat") library("lme4") quietly <- TRUE ## factory for making methods mk_method <- function(class, print_dims=FALSE) { method <- sprintf("simulate.formula_lhs_%s",class) sim_generic <- function(object, nsim=1, seed=NULL, ...) { if (!quietly) message(sprintf("%s called",method)) if (!quietly) cat(".Basis from attributes:\n") if (!quietly) print(attr(object,".Basis")) # NULL if (print_dims) { if (!quietly) print(dim(attr(object,".Basis"))) } return(attr(object,".Basis")) } assign(method,sim_generic,.GlobalEnv) invisible(NULL) } ## (**) these methods should (??) _mask_ package versions ... ## works in source(), not in devtools::test() ... mk_method("NULL") mk_method("numeric") mk_method("array",print_dims=TRUE) mk_method("") test_that("simple numerics", { ## expect_equal(simulate(1~.),1) ## FIXME re-enable if we resolve (**) above ## One-sided formula is not the same as an LHS that evaluates to NULL: expect_equal(simulate(NULL~.),NULL) }) test_that("raw formulas", { expect_error(suppressWarnings(simulate(x~.)), "Error evaluating") }) simulate.formula_lhs_character <- function(object, nsim=1, seed=NULL, ...) { if (!quietly) message("simulate.formula_lhs_character() called.") if (!quietly) print(ls(all.names=TRUE)) NextMethod() # Calls simulate.formula(), resulting in an infinite recursion. } test_that("prevent recursion", { expect_error(simulate("a"~.), "No applicable method") }) dd <- expand.grid(A=factor(1:3),B=factor(1:10),rep=1:10) test_that("two-sided formula warning", { expect_error(suppressMessages(simulate(.~1 + (A|B), newdata=dd, newparams=list(beta=1,theta=rep(1,6), sigma=1), family=gaussian, seed=101))[[1]], "object '.' not found") }) ## cleanup ## I can't figure out what environments these things actually live in so I'm going to ## give up and try() to remove them ... ## rmx <- function(s) if (exists(s, parent.frame())) rm(list=s, envir=parent.frame()) ## rmx("simulate.formula_lhs_character") ## rmx("simulate.formula_lhs_") ## rmx("simulate.formula_lhs_numeric") suppressWarnings(try(rm(list = c("simulate.formula_lhs_", "simulate.formula_lhs_numeric")),silent=TRUE)) lme4/tests/testthat/test-resids.R0000644000176200001440000000673014737521241016522 0ustar liggesuserslibrary("testthat") library("lme4") context("residuals") test_that("lmer", { C1 <- lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6)) fm1 <- lmer(Reaction ~ Days + (Days|Subject),sleepstudy, control=C1) fm2 <- lmer(Reaction ~ Days + (Days|Subject),sleepstudy, control=lmerControl(calc.derivs=FALSE, optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6))) expect_equal(resid(fm1), resid(fm2)) expect_equal(range(resid(fm1)), c(-101.17996, 132.54664), tolerance=1e-6) expect_equal(range(resid(fm1, scaled=TRUE)), c(-3.9536067, 5.1792598), tolerance=1e-6) expect_equal(resid(fm1,"response"),resid(fm1)) expect_equal(resid(fm1,"response"),resid(fm1,type="working")) expect_equal(resid(fm1,"deviance"),resid(fm1,type="pearson")) expect_equal(resid(fm1),resid(fm1,type="pearson")) ## because no weights given expect_error(residuals(fm1,"partial"), "partial residuals are not implemented yet") sleepstudyNA <- sleepstudy na_ind <- c(10,50) sleepstudyNA[na_ind,"Days"] <- NA fm1NA <- update(fm1,data=sleepstudyNA) fm1NA_exclude <- update(fm1,data=sleepstudyNA,na.action="na.exclude") expect_equal(length(resid(fm1)),length(resid(fm1NA_exclude))) expect_true(all(is.na(resid(fm1NA_exclude)[na_ind]))) expect_true(!any(is.na(resid(fm1NA_exclude)[-na_ind]))) }) test_that("glmer", { gm1 <- glmer(incidence/size ~ period + (1|herd), cbpp, family=binomial, weights=size) gm2 <- update(gm1,control=glmerControl(calc.derivs=FALSE)) gm1.old <- update(gm1,control=glmerControl(calc.derivs=FALSE, use.last.params=TRUE)) expect_equal(resid(gm1),resid(gm2)) ## y, wtres, mu change ?? ## FIX ME:: why does turning on derivative calculation make these tests fail??? expect_equal(range(resid(gm1.old)), c(-3.197512,2.356677), tolerance=1e-6) expect_equal(range(resid(gm1)), c(-3.1975034,2.35668826), tolerance=1e-6) expect_equal(range(resid(gm1.old, "response")), c(-0.1946736,0.3184579), tolerance=1e-6) expect_equal(range(resid(gm1,"response")),c(-0.194674747774946, 0.318458889275477)) expect_equal(range(resid(gm1.old, "pearson")), c(-2.381643,2.879069),tolerance=1e-5) expect_equal(range(resid(gm1,"pearson")), c(-2.38163599828335, 2.87908806084918)) expect_equal(range(resid(gm1.old, "working")), c(-1.241733,5.410587),tolerance=1e-5) expect_equal(range(resid(gm1, "working")), c(-1.24173431447365, 5.41064465283686)) expect_equal(resid(gm1),resid(gm1,scaled=TRUE)) ## since sigma==1 expect_error(resid(gm1,"partial"), "partial residuals are not implemented yet") cbppNA <- cbpp na_ind <- c(10,50) cbppNA[na_ind,"period"] <- NA gm1NA <- update(gm1,data=cbppNA) gm1NA_exclude <- update(gm1,data=cbppNA,na.action="na.exclude") expect_equal(length(resid(gm1)),length(resid(gm1NA_exclude))) expect_true(all(is.na(resid(gm1NA_exclude)[na_ind]))) expect_true(!any(is.na(resid(gm1NA_exclude)[-na_ind]))) }) test_that("floating-point issues -> NaN dev resids", { dat <- data.frame(x=1:5, n=100, id=1:5) res <- glmer(cbind(x,n-x) ~ 1 + (1 | id), data=dat, family=binomial, control = glmerControl(check.conv.singular = "ignore")) r <- residuals(res, type="deviance") expect_equal(unname(r[3]), 0) }) lme4/tests/testthat/test-formulaEval.R0000644000176200001440000002020514630126752017477 0ustar liggesuserslibrary("testthat") library("lme4") context("data= argument and formula evaluation") ## intercept context-dependent errors ... it's too bad that ## these errors differ between devtools::test() and ## R CMD check, but finding the difference is too much ## of a nightmare ## n.b. could break in other locales *if* we ever do internationalization ... data_RE <- "(bad 'data'|variable lengths differ)" test_that("glmerFormX", { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d <- data.frame(x,y,z,r) F <- "z" rF <- "(1|r)" modStr <- (paste("x ~", "y +", F, "+", rF)) modForm <- as.formula(modStr) ## WARNING: these drop/environment tests are extremely sensitive to environment ## they may fail/not fail, or fail differently, within a "testthat" environment vs. ## when run interactively expect_that(m_data.3 <- glmer( modStr , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.4 <- glmer( "x ~ y + z + (1|r)" , data=d, family="binomial"), is_a("glmerMod")) ## interactively: (interactive() is TRUE {i.e. doesn't behave as I would expect} within testing environment ... ## if (interactive()) { ## AICvec <- c(77.0516381151634, 75.0819116367084, 75.1915023640827) ## expect_equal(drop1(m_data.3)$AIC,AICvec) ## expect_equal(drop1(m_data.4)$AIC,AICvec) ## } else { ## in test environment [NOT test_ expect_error(drop1(m_data.3),data_RE) expect_error(drop1(m_data.4),data_RE) ##} }) test_that("glmerForm", { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d <- data.frame(x,y,z,r) F <- "z" rF <- "(1|r)" modStr <- (paste("x ~", "y +", F, "+", rF)) modForm <- as.formula(modStr) ## formulas have environments associated, but character vectors don't ## data argument not specified: ## should work, but documentation warns against it expect_that(m_nodata.0 <- glmer( x ~ y + z + (1|r) , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.1 <- glmer( as.formula(modStr) , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.2 <- glmer( modForm , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.3 <- glmer( modStr , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.4 <- glmer( "x ~ y + z + (1|r)" , family="binomial"), is_a("glmerMod")) ## apply drop1 to all of these ... m_nodata_List <- list(m_nodata.0, m_nodata.1,m_nodata.2,m_nodata.3,m_nodata.4) d_nodata_List <- lapply(m_nodata_List,drop1) rm(list=c("x","y","z","r")) ## data argument specified expect_that(m_data.0 <- glmer( x ~ y + z + (1|r) , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.1 <- glmer( as.formula(modStr) , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.2 <- glmer( modForm , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.3 <- glmer( modStr , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.4 <- glmer( "x ~ y + z + (1|r)" , data=d, family="binomial"), is_a("glmerMod")) ff <- function() { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d2 <- data.frame(x,y,z,r) glmer( x ~ y + z + (1|r), data=d2, family="binomial") } m_data.5 <- ff() ff2 <- function() { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) glmer( x ~ y + z + (1|r), family="binomial") } m_data.6 <- ff2() m_data_List <- list(m_data.0,m_data.1,m_data.2,m_data.3,m_data.4,m_data.5,m_data.6) badNums <- 4:5 d_data_List <- lapply(m_data_List[-badNums],drop1) ## these do NOT fail if there is a variable 'd' living in the global environment -- ## they DO fail in the testthat context expect_error(drop1(m_data.3),data_RE) expect_error(drop1(m_data.4),data_RE) ## expect_error(lapply(m_data_List[4],drop1)) ## expect_error(lapply(m_data_List[5],drop1)) ## d_data_List <- lapply(m_data_List,drop1,evalhack="parent") ## fails on element 1 ## d_data_List <- lapply(m_data_List,drop1,evalhack="formulaenv") ## fails on element 4 ## d_data_List <- lapply(m_data_List,drop1,evalhack="nulldata") ## succeeds ## drop1(m_data.5,evalhack="parent") ## 'd2' not found ## drop1(m_data.5,evalhack="nulldata") ## 'x' not found (d2 is in environment ...) ## should we try to make update smarter ... ?? ## test equivalence of (i vs i+1) for all models, all drop1() results for (i in 1:(length(m_nodata_List)-1)) { expect_equivalent(m_nodata_List[[i]],m_nodata_List[[i+1]]) expect_equivalent(d_nodata_List[[i]],d_nodata_List[[i+1]]) } expect_equivalent(m_nodata_List[[1]],m_data_List[[1]]) expect_equivalent(d_nodata_List[[1]],d_data_List[[1]]) for (i in 1:(length(m_data_List)-1)) { expect_equivalent(m_data_List[[i]],m_data_List[[i+1]]) } ## allow for dropped 'bad' vals for (i in 1:(length(d_data_List)-1)) { expect_equivalent(d_data_List[[i]],d_data_List[[i+1]]) } }) test_that("lmerForm", { set.seed(101) x <- rnorm(10) y <- rnorm(10) z <- rnorm(10) r <- sample(1:3, size=10, replace=TRUE) d <- data.frame(x,y,z,r) ## example from Joehanes Roeby m2 <- suppressWarnings(lmer(x ~ y + z + (1|r), data=d)) ff <- function() { m1 <- suppressWarnings(lmer(x ~ y + z + (1|r), data=d)) return(anova(m1)) } ff1 <- Reaction ~ Days + (Days|Subject) fm1 <- lmer(ff1, sleepstudy) fun <- function () { ff1 <- Reaction ~ Days + (Days|Subject) fm1 <- suppressWarnings(lmer(ff1, sleepstudy)) return (anova(fm1)) } anova(m2) ff() expect_equal(anova(m2),ff()) anova(fm1) fun() expect_equal(anova(fm1),fun()) ## test deparsing of long RE terms varChr <- paste0("varname_",outer(letters,letters,paste0)[1:100]) rvars <- varChr[1:9] form <- as.formula(paste("y ~",paste(varChr,collapse="+"), "+", paste0("(",paste(rvars,collapse="+"),"|f)"))) ff <- lme4:::reOnly(form) environment(ff) <- .GlobalEnv expect_equal(ff, ~(varname_aa + varname_ba + varname_ca + varname_da + varname_ea + varname_fa + varname_ga + varname_ha + varname_ia | f)) }) test_that("lapply etc.", { ## copied from dplyr failwith <- function (default = NULL, f, quiet = FALSE) { function(...) { out <- default try(out <- f(...), silent = quiet) out } } lmer_fw <- failwith(NULL,function(...) lmer(...) ,quiet=TRUE) expect_is(lmer_fw(Yield ~ 1|Batch, Dyestuff, REML = FALSE), "merMod") ## GH 369 listOfFormulas <- list( cbind(incidence, size - incidence) ~ 1 + (1 | herd), cbind(incidence, size - incidence) ~ period + (1 | herd)) expect_is(lapply(listOfFormulas,glmer,family=binomial,data=cbpp),"list") }) test_that("formula and data validation work with do.call() in artificial environment", { ## This ensures compatibility of lmer when it's called from the ## C-level Rf_eval() with an environment that doesn't exist on the ## stack (i.e. C implementation in magrittr 2.0) e <- new.env() e$. <- mtcars expect_is( do.call(lme4::lmer, list("disp ~ (1 | cyl)", quote(.)), envir = e), "merMod" ) fn <- function(data) { lme4::lmer("disp ~ (1 | cyl)", data = data) } expect_is( do.call(fn, list(quote(.)), envir = e), "merMod" ) }) test_that("correct environment on reOnly()", { ## GH 654 f <- Reaction ~ Days + (1 | Subject) e <- environment(f) m <- lmer(f, data = sleepstudy) expect_identical(environment(formula(m)), e) # TRUE expect_identical(environment(formula(m, fixed.only = TRUE)), e) # TRUE expect_identical(ee <- environment(formula(m, random.only = TRUE)), e) # FALSE }) lme4/tests/testthat/test-glmernbref.R0000644000176200001440000000122014737520747017353 0ustar liggesuserslibrary(testthat) ## DON'T load lme4; test is to see if glmer.nb works when ## lme4 is not loaded ## this does *not* work properly in a devtools::test environment ## (lme4 is not really detached) ## see tests/test-glmernbref.R for working test ... test_that("glmer.nb ref to glmer", { set.seed(101) dd <- data.frame(x=runif(200), f= rep(1:20, each=10)) b <- rnorm(20) dd <- transform(dd, y = rnbinom(200, mu = exp(1 + 2*x + b[f]), size = 2)) ## lme4 may not be attached if running tests via devtools::test() if ("package:lme4" %in% search()) detach("package:lme4") g <- lme4::glmer.nb(y~x + (1|f), data = dd) expect_is(g, "glmerMod") }) lme4/tests/testthat/test-eval.R0000644000176200001440000000445614630126752016163 0ustar liggesusers## examples for eval lookup testthat::skip_on_cran() if (require(car, quietly = TRUE)) { test_that("infIndexPlot env lookup OK", { fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ## silly test; the point is to see if this errors out with ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? ## Calls: infIndexPlot -> influence -> influence.merMod -> lapply -> FUN expect_equal(car::infIndexPlot(influence(fm1, "Subject")), NULL) }) } if (require(rr2, quietly = TRUE)) { test_that("rr2 env lookup OK", { ## Error under alternate eval lookup ## Error: bad 'data': object 'd' not found set.seed(123456) p1 <- 10; nsample <- 20; n <- p1 * nsample d <- data.frame(x1 = rnorm(n = n), x2 = rnorm(n = n), u1 = rep(1:p1, each = nsample), u2 = rep(1:p1, times = nsample)) d$u1 <- as.factor(d$u1); d$u2 <- as.factor(d$u2) ## LMM: y with random intercept b1 <- 1; b2 <- -1; sd1 <- 1.5 d$y_re_intercept <- b1 * d$x1 + b2 * d$x2 + rep(rnorm(n = p1, sd = sd1), each = nsample) + # random intercept u1 rep(rnorm(n = p1, sd = sd1), times = nsample) + # random intercept u2 rnorm(n = n) z.f2 <- lme4::lmer(y_re_intercept ~ x1 + x2 + (1 | u1) + (1 | u2), data = d, REML = T) ## NOTE, fails to produce warnings on second run of devtools::test() ## (possible interference from lmerTest methods being loaded ...?) expect_warning(R2(z.f2), "mod updated with REML = F") }) } ## semEff::VIF() is here being applied to a previously fitted lmer ## model (shipley.growth[[3]]) ## previous messing around with env evaluation had messed this up if (suppressWarnings(require(semEff))) { ## suppress warning about 'cov2cor' import replacement test_that("semEff env lookup OK", { ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? ## Calls: VIF ... update.merMod -> do.call -> lapply -> FUN -> as.list.environment m <- shipley.growth[[3]] expect_equal(VIF(m), c(Date = 6.06283840168881, DD = 6.07741017455859, lat = 1.01215136160858) ) }) } lme4/tests/testthat/test-methods.R0000644000176200001440000011351114770365011016666 0ustar liggesuserslibrary("testthat") library("lme4") (testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1) ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) ## FIXME: should test for old R versions, skip reloading test data in that ## case? fm0 <- fit_sleepstudy_0 fm1 <- fit_sleepstudy_1 fm2 <- fit_sleepstudy_2 gm1 <- fit_cbpp_1 gm2 <- fit_cbpp_2 gm3 <- fit_cbpp_3 ## More objects to use in all contexts : set.seed(101) dNA <- data.frame( xfac= sample(letters[1:10], 100, replace=TRUE), xcov= runif(100), resp= rnorm(100)) dNA[sample(1:100, 10), "xcov"] <- NA CI.boot <- function(fm, nsim=10, seed=101, ...) suppressWarnings(confint(fm, method="boot", nsim=nsim, quiet=TRUE, seed=seed, ...)) ## rSimple <- function(rep = 2, m.u = 2, kinds = c('fun', 'boring', 'meh')) { stopifnot(is.numeric(rep), rep >= 1, is.numeric(m.u), m.u >= 1, is.character(kinds), (nk <- length(kinds)) >= 1) nobs <- rep * m.u * nk data.frame(kind= rep(kinds, each=rep*m.u), unit = gl(m.u, 1, nobs), y = round(50*rnorm(nobs))) } d12 <- rSimple() data("Pixel", package="nlme") nPix <- nrow(Pixel) fmPix <- lmer(pixel ~ day + I(day^2) + (day | Dog) + (1 | Side/Dog), data = Pixel) test_that("summary", { ## test for multiple-correlation-warning bug and other 'correlation = *' variants ## Have 2 summary() versions, each with 3 print(.) ==> 6 x capture.output(.) sf.aa <- summary(fit_agridat_archbold) msg1 <- "Correlation.* not shown by default" ## message => *not* part of capture.*(.) expect_message(c1 <- capture.output(sf.aa), msg1) # correlation = NULL - default cF <- capture.output(print(sf.aa, correlation=FALSE)) ## TODO? ensure the above gives *no* message/warning/error expect_identical(c1, cF) expect_message( cT <- capture.output(print(sf.aa, correlation=TRUE)) , "Correlation.* could have been required in summary()") expect_identical(cF, cT[seq_along(cF)]) sfT.aa <- summary(fit_agridat_archbold, correlation=TRUE) ## no message any more ## expect_message(cT2 <- capture.output(sfT.aa), msg1) ## expect_identical(cF, cT2) cT3 <- capture.output(print(sfT.aa, correlation=TRUE)) expect_identical(cT, cT3) cF2 <- capture.output(print(sfT.aa, correlation=FALSE)) expect_identical(cF, cF2) }) test_that("lmer anova", { aa <- suppressMessages(anova(fm0,fm1)) expect_that(aa, is_a("anova")) expect_equal(names(aa), c("npar", "AIC", "BIC", "logLik", "-2*log(L)", "Chisq", "Df", "Pr(>Chisq)")) expect_warning(suppressMessages(do.call(anova,list(fm0,fm1))), "assigning generic names") ## dat <- data.frame(y = 1:5, u = c(rep("A",2), rep("B",3)), t = c(rep("A",3), rep("B",2))) datfun <- function(x) dat aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <- dat expect_is(stats::anova(lmer(y ~ u + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE)), "anova") expect_equal(rownames(stats::anova(lmer(y ~ u + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), model.names=c("a","b"))), c("b","a")) ff <- function(form) { lmer(form, dat=dat, REML=FALSE, control=lmerControl(check.conv.singular="ignore")) } expect_error(rownames(stats::anova(ff(y ~ u + (1 | t)), ff(y ~ 1 + (1 | t)), model.names=c("a","b","c"))), "different lengths") z <- 1 ## output not tested (but shouldn't fail) ss <- stats::anova(lmer(y ~ u + (1 | t), data = datfun(z), REML=FALSE), lmer(y ~ 1 + (1 | t), data = datfun(z), REML=FALSE)) ## ## from Roger Mundry via Roman Lustrik full <- lmer(resp ~ xcov + (1|xfac), data=dNA) null <- lmer(resp ~ 1 + (1|xfac), data=dNA) expect_error(anova(null,full), "models were not all fitted to the same size of dataset") }) if (requireNamespace("merDeriv")) { test_that("summary with merDeriv", { library(merDeriv) cc <- capture.output(print(summary(fm1))) expect_true(any(grepl("Correlation of Fixed Effects", cc))) ## WARNING, this will detach package but may not undo ## method loading ... detach("package:merDeriv") }) } ## Github issue #256 from Jonas Lindeløv -- issue is *not* specific for this dataset test_that("Two models with subset() within lmer()", { full3 <- lmer(y ~ kind + (1|unit), subset(d12, kind != 'boring'), REML=FALSE) null3 <- update(full3, .~. - kind) op <- options(warn = 2) # no warnings! ano3 <- anova(full3, null3)## issue #256: had warning in data != data[[1]] : ... o3 <- capture.output(ano3) # now prints with only one 'Data:' expect_equal(1, grep("^Data:", o3)) d12sub <- subset(d12, kind != 'boring') expect_is(full3s <- lmer(y ~ kind + (1|unit), d12sub, REML=FALSE), "lmerMod") expect_is(null3s <- update(full3s, .~. - kind), "lmerMod") expect_is(ano3s <- anova(full3s, null3s), "anova") expect_equal(ano3, ano3s, check.attributes=FALSE) options(op) }) test_that("anova() of glmer+glm models", { dat <<- data.frame(y = 1:5, u = c(rep("A",2), rep("B",3)), t = c(rep("A",3), rep("B",2))) cs <- glmerControl(check.conv.singular = "ignore") ## ignore singular fits gm1 <- glmer(y~(1|u), data=dat[1:4,], family=poisson, control = cs) gm0 <- glm(y~1, data=dat[1:4,], family=poisson) gm2 <- glmer(y~(1|u), data=dat[1:4,], family=poisson,nAGQ=2, control = cs) aa <- anova(gm1,gm0) expect_equal(aa[2,"Chisq"],0) expect_error(anova(gm2,gm0),"incommensurate") }) test_that("anova() of lmer+glm models", { dat2 <- dat set.seed(101) dat2$y <- rnorm(5) fm1 <- lmer(y~(1|u),data=dat2,REML=FALSE) fm0 <- lm(y~1,data=dat2) aa2 <- anova(fm1,fm0) expect_equal(aa2[2,"Chisq"],0) expect_warning(anova(fm1,type="III"),"additional arguments ignored") }) test_that("set p-values to NA for equivalent models: #583", { fm0B <- fm0 aa <- suppressMessages(anova(fm0B,fm0)) expect_true(all(is.na(aa[["Pr(>Chisq)"]]))) }) test_that("long names", { ## GH names(sleepstudy) <- c("Reaction", "Days", "Subject_xxxxxxxxxxxxxxxxxxxxxxxxxxx") fm1 <- lmer(Reaction ~ Days + (Days | Subject_xxxxxxxxxxxxxxxxxxxxxxxxxxx), sleepstudy) fm2 <- lmer(Reaction ~ Days + (Days || Subject_xxxxxxxxxxxxxxxxxxxxxxxxxxx), sleepstudy) expect_equal(length(attributes(suppressMessages(anova(fm1,fm2)))$heading),4) }) if (testLevel>1) { context("bootMer confint()") set.seed(47) test_that("bootMer", { ## testing bug-fix for ordering of sd/cor components in sd/cor matrix with >2 rows ## FIXME: This model makes no sense [and CI.boot() fails for "nloptwrap"!] dd <- expand.grid(A=factor(1:3),B=factor(1:10),rep=1:10) dd$y <- suppressMessages(simulate(~1 + (A|B), newdata=dd, newparams=list(beta=1,theta=rep(1,6), sigma=1), family=gaussian, seed=101))[[1]] m1 <- lmer(y ~ 1 + (A|B), data=dd, control=lmerControl(calc.deriv=FALSE)) ci <- CI.boot(m1,seed=101) ci2 <- CI.boot(m1,seed=101) expect_equal(ci,ci2) ci_50 <- CI.boot(m1,level=0.5,seed=101) expect_true(all(ci_50[,"25 %"]>ci[,"2.5 %"])) expect_true(all(ci_50[,"75 %"]1 test_that("change in deviance name for anova", { cc <- suppressMessages(capture.output(anova(fm0,fm1))) expect_identical(sum(grepl("deviance", cc)), 0L) expect_identical(sum(grepl("-2*log(L)", cc, fixed = TRUE)), 1L) }) test_that("confint", { load(system.file("testdata", "gotway_hessianfly.rda", package = "lme4")) ## generated via: ## gotway_hessianfly_fit <- glmer(cbind(y, n-y) ~ gen + (1|block), ## data=gotway.hessianfly, family=binomial, ## control=glmerControl(check.nlev.gtreq.5="ignore")) ## gotway_hessianfly_prof <- profile(gotway_hessianfly_fit,which=1) ## save(list=ls(pattern="gotway"),file="gotway_hessianfly.rda") expect_equal(confint(gotway_hessianfly_prof)[1,1],0) ## FIXME: should add tests for {-1,1} bounds on correlations as well expect_equal(c(confint(fm1,method="Wald",parm="beta_")), c(232.301892,8.891041,270.508318,12.043531), tolerance=1e-5) ## Wald gives NA for theta values expect_true(all(is.na(confint(fm1,method="Wald",parm="theta_")))) ## check names ci1.p <- suppressWarnings(confint(fm1,quiet=TRUE)) ci1.w <- confint(fm1,method="Wald") ci1.b <- CI.boot(fm1, nsim=2) expect_equal(dimnames(ci1.p), list(c(".sig01", ".sigma", "(Intercept)", "Days"), c("2.5 %", "97.5 %"))) expect_equal(dimnames(ci1.p),dimnames(ci1.w)) expect_equal(dimnames(ci1.p),dimnames(ci1.b)) ci1.p.n <- suppressWarnings(confint(fm1,quiet=TRUE,oldNames=FALSE)) ci1.w.n <- confint(fm1,method="Wald", oldNames=FALSE) ci1.b.n <- CI.boot(fm1, nsim=2, oldNames=FALSE) expect_equal(dimnames(ci1.p.n), list(c("sd_(Intercept)|Subject", "sigma", "(Intercept)", "Days"), c("2.5 %", "97.5 %"))) expect_equal(dimnames(ci1.p.n),dimnames(ci1.w.n)) expect_equal(dimnames(ci1.p.n),dimnames(ci1.b.n)) }) test_that("monotonic profile but bad spline", { ## doesn't produce warnings on Solaris, or win-builder, or M1mac ... skip_on_os("windows") skip_on_os("solaris") skip_on_os("mac", arch = "aarch64") ## test case of slightly wonky (spline fit fails) but monotonic profiles: ## simfun <- function(J,n_j,g00,g10,g01,g11,sig2_0,sig01,sig2_1){ N <- sum(rep(n_j,J)) x <- rnorm(N) z <- rnorm(J) mu <- c(0,0) sig <- matrix(c(sig2_0,sig01,sig01,sig2_1),ncol=2) u <- MASS::mvrnorm(J,mu=mu,Sigma=sig) b_0j <- g00 + g01*z + u[,1] b_1j <- g10 + g11*z + u[,2] y <- rep(b_0j,each=n_j)+rep(b_1j,each=n_j)*x + rnorm(N,0,sqrt(0.5)) sim_data <- data.frame(Y=y,X=x,Z=rep(z,each=n_j), group=rep(1:J,each=n_j)) } set.seed(102) dat <- simfun(10,5,1,.3,.3,.3,(1/18),0,(1/18)) fit <- lmer(Y~X+Z+X:Z+(X||group),data=dat) expect_warning(pp <- profile(fit,"theta_"), "non-monotonic profile") expect_warning(cc <- confint(pp),"falling back to linear interpolation") ## very small/unstable problem, needs large tolerance expect_equal(unname(cc[2,]), c(0, 0.509), tolerance=0.09) # "bobyqa" had 0.54276 }) test_that("confint with bad profile", { badprof <- readRDS(system.file("testdata","badprof.rds", package="lme4")) expect_warning(cc <- confint(badprof), "falling back to linear") expect_equal(cc, array(c(0, -1, 2.50856219044636, 48.8305727797906, NA, NA, 33.1204478717389, 1, 7.33374326592662, 68.7254711217912, -6.90462047196017, NA), dim = c(6L, 2L), dimnames = list(c(".sig01", ".sig02", ".sig03", ".sigma", "(Intercept)", "cYear"), c("2.5 %", "97.5 %"))), tolerance=1e-3) }) test_that("refit", { s1 <- simulate(fm1) expect_is(refit(fm1,s1), "merMod") s2 <- simulate(fm1,2) expect_error(refit(fm1,s2), "refit not implemented .* lists") data(Orthodont,package = "nlme") fmOrth <- fm <- lmer(distance ~ I(age - 11) + (I(age - 11) | Subject), data = Orthodont) expect_equal(s1 <- simulate(fm,newdata = Orthodont,seed = 101), s2 <- simulate(fm,seed = 101)) ## works *without* offset ... m5 <- glmer(round(Reaction) ~ Days + (1|Subject), data = sleepstudy, family=poisson, offset=rep(0,nrow(sleepstudy))) m5R <- refit(m5) ## lots of fussy details make expect_equal() on the whole object difficult expect_equal(coef(m5),coef(m5R),tolerance=3e-6) expect_equal(VarCorr(m5),VarCorr(m5R),tolerance=1e-6) expect_equal(logLik(m5),logLik(m5R)) }) if (testLevel>1) { context("predict method") test_that("predict", { ## when running via source(), cbpp has been corrupted at this point ## (replaced by a single empty factor obs() d1 <- expand.grid(period = unique(cbpp$period), herd = unique(cbpp$herd)) d2 <- data.frame(period = "1", herd = unique(cbpp$herd)) d3 <- expand.grid(period = as.character(1:3), herd = unique(cbpp$herd)) p0 <- predict(gm1) p1 <- predict(gm1,d1) p2 <- predict(gm1,d2) p3 <- predict(gm1,d3) expect_equal(p0[1], p1[1]) expect_equal(p0[1], p2[1]) expect_equal(p0[1], p3[1]) expect_error(predict(gm1, ReForm=NA)) ## matrix-valued predictors: Github #201 from Fabian S. sleepstudy$X <- cbind(1, sleepstudy$Days) m <- lmer(Reaction ~ -1 + X + (Days | Subject), sleepstudy) pm <- predict(m, newdata=sleepstudy) expect_is(pm, "numeric") expect_equal(quantile(pm, names = FALSE), c(211.0108, 260.9496, 296.873, 328.6378, 458.1584), tol=1e-5) op <- options(warn = 2) # there should be no warnings! if (require("MEMSS",quietly=TRUE)) { ## test spurious warning with factor as response variable data("Orthodont", package = "MEMSS") # (differently "coded" from the 'default' "nlme" one) silly <- glmer(Sex ~ distance + (1|Subject), data = Orthodont, family = binomial) sillypred <- data.frame(distance = c(20, 25)) ps <- predict(silly, sillypred, re.form=NA, type = "response") expect_is(ps, "numeric") expect_equal(unname(ps), c(0.999989632, 0.999997201), tolerance=1e-6) detach("package:MEMSS") } ## a case with interactions (failed in one temporary version): expect_warning(fmPixS <<- update(fmPix, .~. + Side), "nearly unidentifiable|unable to evaluate scaled gradient|failed to converge") ## (1|2|3); 2 and 3 seen (as Error??) on CRAN's Windows 32bit options(op) set.seed(1); ii <- sample(nrow(Pixel), 16) expect_equal(predict(fmPix, newdata = Pixel[ii,]), fitted(fmPix )[ii]) expect_equal(predict(fmPixS, newdata = Pixel[ii,]), fitted(fmPixS)[ii]) set.seed(7); n <- 100; y <- rnorm(n) dd <- data.frame(id = factor(sample(10, n, replace = TRUE)), x1 = 1, y = y, x2 = rnorm(n, mean = sign(y))) expect_message(m <- lmer(y ~ x1 + x2 + (1 | id), data = dd), "fixed-effect model matrix is rank deficient") expect_is(summary(m),"summary.merMod") ii <- sample(n, 16) expect_equal(predict(m, newdata = dd[ii,]), fitted(m)[ii]) ## predict(*, new..) gave Error in X %*% fixef(object) - now also drops col. ## predict(*, new..) with NA in data {and non-simple model}, issue #246: m1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) sleepst.NA <- sleepstudy ; sleepst.NA$Days[2] <- NA m2 <- update(fm1, data = sleepst.NA) ## maybe tricky for evaluation; fm1 was defined elsewhere, so data expect_equal(length(predict(m2, sleepst.NA[1:4,])),4) ## Wrong 'b' constructed in mkNewReTrms() -- issue #257 data(Orthodont,package="nlme") Orthodont <- within(Orthodont, nsex <- as.numeric(Sex == "Male")) m3 <- lmer(distance ~ age + (age|Subject) + (0 + Sex |Subject), data=Orthodont, control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")) m4 <- lmer(distance ~ age + (age|Subject) + (0 + nsex|Subject), data=Orthodont) expect_equal(p3 <- predict(m3, Orthodont), fitted(m3), tolerance=1e-14) expect_equal(p4 <- predict(m4, Orthodont), fitted(m4), tolerance=1e-14) ## related to GH #275 (*passes*), ss <- sleepstudy set.seed(1) ss$noiseChar <- ifelse(runif(nrow(sleepstudy)) > 0.8, "Yes", "No") ss$noiseFactor <- factor(ss$noiseChar) fm4 <- lmer(Reaction ~ Days + noiseChar + (Days | Subject), ss) expect_equal(predict(fm4, newdata = model.frame(fm4)[2:3, ])[2], predict(fm4, newdata = model.frame(fm4)[3, ])) fm3 <- lmer(Reaction ~ Days + noiseFactor + (Days | Subject), ss) expect_equal(predict(fm3, newdata = model.frame(fm3)[2:3, ])[2], predict(fm3, newdata = model.frame(fm3)[3, ])) ## complex-basis functions in RANDOM effect fm5 <- lmer(Reaction~Days+(poly(Days,2)|Subject),sleepstudy) expect_equal(predict(fm5,sleepstudy[1,]),fitted(fm5)[1]) ## complex-basis functions in FIXED effect fm6 <- lmer(Reaction~poly(Days,2)+(1|Subject),sleepstudy) expect_equal(predict(fm6,sleepstudy[1,]),fitted(fm6)[1]) ## GH #414: no warning about dropping contrasts on random effects op <- options(warn = 2) # there should be no warnings! set.seed(1) dat <- data.frame( fac = factor(rep(c("a", "b"), 100)), grp = rep(1:25, each = 4)) dat$y <- 0 contr <- 0.5 * contr.sum(2) rownames(contr) <- c("a", "b") colnames(contr) <- "a" contrasts(dat$fac) <- contr m1_contr <- lmer(y~fac+(fac|grp),dat) pp <- predict(m1_contr,newdata=dat) options(op) }) ## testLevel>1 test_that("simulate", { ## simulate() will look for data in environment of formula, find ## unmodified version of cbpp -- need to re-add observation-level factor ee <- environment(formula(gm2)) ee$cbpp$obs <- factor(seq(nrow(ee$cbpp))) expect_is(simulate(gm2), "data.frame") p1 <- simulate(gm2, re.form = NULL, seed = 101) p2 <- simulate(gm2, re.form = ~0, seed = 101) p3 <- simulate(gm2, re.form = NA, seed = 101) p4 <- simulate(gm2, re.form = NULL, seed = 101) ## p5 was: sim with ReForm p6 <- simulate(gm2, re.form = NA, seed = 101) ## p7 was: sim with ReForm p8 <- simulate(gm2, re.form = ~0, seed = 101) p9 <- simulate(gm2, re.form = NA, seed = 101) p10 <- simulate(gm2,use.u = FALSE, seed = 101) p11 <- simulate(gm2,use.u = TRUE, seed = 101) ## minimal check of content: expect_identical(colSums(p1[,1]), c(incidence = 95, 747)) expect_identical(colSums(p2[,1]), c(incidence = 109, 733)) ## equivalences: ## group ~0: expect_equal(p2,p3) expect_equal(p2,p6) expect_equal(p2,p8) expect_equal(p2,p9) expect_equal(p2,p10) ## group 1: expect_equal(p1,p4) expect_equal(p1,p11) expect_error(simulate(gm2,use.u = TRUE, re.form = NA), "should specify only one") ## ## hack: test with three REs p1 <- lmer(diameter ~ (1|plate) + (1|plate) + (1|sample), Penicillin, control = lmerControl(check.conv.hess = "ignore", check.conv.grad = "ignore")) expect_is(sp1 <- simulate(p1, seed=123), "data.frame") expect_identical(dim(sp1), c(nrow(Penicillin), 1L)) expect_equal(fivenum(sp1[,1]), c(20.864, 22.587, 23.616, 24.756, 28.599), tolerance=0.01) ## Pixel example expect_identical(dim(simulate(fmPixS)), c(nPix, 1L)) expect_identical(dim(simulate(fmPix )), c(nPix, 1L)) ## simulation with newdata smaller/larger different from original fm <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin) expect_is(simulate(fm,newdata=Penicillin[1:10,],allow.new.levels=TRUE),"data.frame") expect_is(simulate(fm,newdata=do.call(rbind,replicate(4,Penicillin,simplify=FALSE))),"data.frame") ## negative binomial sims set.seed(101) dd <- data.frame(f=factor(rep(1:10,each=20)), x=runif(200), y=rnbinom(200,size=2,mu=2)) g1 <- glmer.nb(y ~ x + (1|f), data=dd) th.g1 <- getME(g1, "glmer.nb.theta") ## changed to setting seed internally ts1 <- table(s1 <- simulate(g1,seed=101)[,1]) ## ts1B <- table(s1 <- simulate(g1,seed=101)[,1]) expect_equal(fixef(g1), c("(Intercept)" = 0.630067, x = -0.0167248), tolerance = 1e-4) ## ?? Travis is getting hung up here/ignoring tolerance spec?? expect_equal(th.g1, 2.013, tolerance = 1e-4) expect_equal(th.g1, g1@call$family[["theta"]])# <- important for pkg{effects} eval() expect_identical(sum(s1), 413) expect_identical(as.vector(ts1[as.character(0:5)]), ## c(51L, 54L, 36L, 21L, 14L, 9L)) c(49L,56L,32L,25L,11L,9L)) ## de novo NB simulation ... s2 <- simulate(~x + (1|f),seed=101, family=MASS::negative.binomial(theta=th.g1), newparams=getME(g1,c("theta","beta")), newdata=dd)[,1] expect_equal(s1,s2) ## Simulate with newdata with *new* RE levels: d <- sleepstudy[-1] # droping the response ("Reaction") ## d$Subject <- factor(rep(1:18, each=10)) ## Add 18 new subjects: d <- rbind(d, d) d$Subject <- factor(rep(1:36, each=10)) d$simulated <- simulate(fm1, seed=1, newdata = d, re.form=NULL, allow.new.levels = TRUE)[,1] expect_equal(mean(d$simulated), 299.9384608) ## Simulate with weights: newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) ss <- simulate(gm1, newdata=newdata[1:3,], weights=20, seed=101)[[1]] expect_equal(ss, matrix(c(4,2,0,16,18,20),nrow=3, dimnames=list(NULL,c("incidence","")))) ss <- simulate(gm3, newdata=newdata[1:3,], weights=20, seed=101)[[1]] expect_equal(ss,c(0.2,0.1,0.0)) ss <- simulate(gm1, newdata=newdata[1,], weights=20, seed=101)[[1]] expect_equal(unname(ss),matrix(c(4,16),nrow=1)) ## simulate Gamma, from function and de novo set.seed(102) dd <- data.frame(x=rep(seq(-2,2,length=15),10), f=factor(rep(1:10,each=15))) u <- rnorm(10) dd$y <- with(dd, rgamma(nrow(dd),shape=2, scale=exp(2+1*x+u[as.numeric(f)])/2)) g1 <- glmer(y~x+(1|f),family=Gamma(link="log"),dd) s1 <- simulate(g1,seed=101) s2 <- suppressMessages(simulate(~x+(1|f), family=Gamma(link="log"), seed=101, newdata=dd, newparams=getME(g1,c("theta","beta","sigma")))) expect_equal(s1, s2) dd$y2 <- s2[[1]] g2 <- glmer(y2~x+(1|f), family=Gamma(link="log"),dd) expect_equal(fixef(g2), tolerance = 4e-7, # 32-bit windows showed 1.34e-7 c(`(Intercept)` = 2.90871404438183, x = 0.988265230798941)) ## c("(Intercept)" = 2.81887136759369, x= 1.06543222163626)) ## simulate with re.form = NULL and derived/offset components in formula fm7 <- lmer(Reaction ~ Days + offset(Days) + (1|Subject), sleepstudy) s7 <- simulate(fm7, seed = 101, re.form = NULL) ## thought this would break but it doesn't ??? f_wrap <- function() { Reaction ~ Days + offset(Days) + (1|Subject) } fm8 <- lmer(f_wrap(), sleepstudy) s8 <- simulate(fm8, seed = 101, re.form = NULL) expect_identical(s7, s8) ## harder: insert NA values in the offset and see if it handles this OK?? }) context("misc") test_that("misc", { expect_equal(df.residual(fm1),176) if (suppressWarnings(require(ggplot2))) { ## ggplot calls sample() [for silly start-up messages ## throws warning because we're using backward-compatible RNGkind expect_is(fortify.merMod(fm1), "data.frame") expect_is(fortify.merMod(gm1), "data.frame") } expect_is(as.data.frame(VarCorr(fm1)), "data.frame") }) } ## testLevel>1 context("plot") test_that("plot", { ## test getData() within plot function: reported by Dieter Menne doFit <- function(){ data(Orthodont,package = "nlme") data1 <- Orthodont lmer(distance ~ age + (age|Subject), data = data1) } data(Orthodont, package = "nlme") fm0 <- lmer(distance ~ age + (age|Subject), data = Orthodont) expect_is(plot(fm0), "trellis") suppressWarnings(rm("Orthodont")) fm <- doFit() pp <- plot(fm, resid(., scaled = TRUE) ~ fitted(.) | Sex, abline = 0) expect_is(pp, "trellis") ## test qqmath/getIDLabels() expect_is(q1 <- lattice::qqmath(fm,id=0.05),"trellis") cake2 <- transform(cake,replicate=as.numeric(replicate), recipe=as.numeric(recipe)) fm2 <- lmer(angle ~ recipe + temp + (1|recipe:replicate), cake2, REML= FALSE) expect_is(lattice::qqmath(fm2, id=0.05), "trellis") expect_is(lattice::qqmath(fm2, id=0.05, idLabels=~recipe), "trellis") expect_warning(lattice::qqmath(fm2, 0.05, ~recipe), "please specify") expect_warning(lattice::qqmath(fm2, 0.05), "please specify") }) context("misc") test_that("summary", { ## test that family() works when $family element is weird ## FIXME: is convergence warning here a false positive? gnb <- suppressWarnings(glmer(TICKS~1+(1|BROOD), family=MASS::negative.binomial(theta=2), data=grouseticks)) expect_is(family(gnb),"family") }) if (testLevel>1) { context("profile") test_that("profile", { ## FIXME: can we deal with convergence warning messages here ... ? ## fit profile on default sd/cor scale ... p1 <- suppressWarnings(profile(fm1,which="theta_")) ## and now on var/cov scale ... p2 <- suppressWarnings(profile(fm1,which="theta_", prof.scale="varcov")) ## because there are no correlations, squaring the sd results ## gives the same result as profiling on the variance scale ## in the first place expect_equal(confint(p1)^2,confint(p2), tolerance=1e-5) ## or via built-in varianceProf() function expect_equal(unname(confint(varianceProf(p1))), unname(confint(p2)), tolerance=1e-5) p3 <- profile(fm2,which=c(1,3,4)) p4 <- suppressWarnings(profile(fm2,which="theta_",prof.scale="varcov", signames=FALSE)) ## compare only for sd/var components, not corr component ## FAILS on r-patched-solaris-x86 2018-03-30 ??? ## 2/6 mismatches (average diff: 4.62) ## [1] 207 - 216 == -9.23697 ## [4] 1422 - 1422 == -0.00301 if (Sys.info()["sysname"] != "SunOS") { expect_equal(unname(confint(p3)^2), unname(confint(p4)[c(1,3,4),]), tolerance=1e-3) } ## check naming convention properly adjusted expect_equal(as.character(unique(p4$.par)), c("var_(Intercept)|Subject", "cov_Days.(Intercept)|Subject", "var_Days|Subject", "sigma")) }) test_that("densityplot is robust", { p <- readRDS(system.file("testdata","harmel_profile.rds", package="lme4")) expect_warning(lattice::densityplot(p), "unreliable profiles for some variables") }) } ## testLevel>1 context("model.frame") test_that("model.frame", { ## non-syntactic names d <- sleepstudy names(d)[1] <- "Reaction Time" ee <- function(m,nm) { expect_equal(names(model.frame(m, fixed.only=TRUE)),nm) } m <- lmer(Reaction ~ 1 + (1 | Subject), sleepstudy) ee(m,"Reaction") m2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy) ee(m2,c("Reaction","Days")) m3 <- lmer(`Reaction Time` ~ Days + (1 | Subject), d) ee(m3, c("Reaction Time","Days")) m4 <- lmer(Reaction ~ log(1+Days) + (1 | Subject), sleepstudy) ee(m4, c("Reaction","log(1 + Days)")) }) context("influence measures") d <- as.data.frame(ChickWeight) colnames(d) <- c("y", "x", "subj", "tx") dNAs <- d dNAs$y[c(1, 3, 5)] <- NA fitNAs <- lmer(y ~ tx*x + (x | subj), data = dNAs, na.action=na.exclude) test_that("influence/hatvalues works", { ifm1 <- influence(fm1, do.coef=FALSE) expect_equal(unname(head(ifm1$hat)), c(0.107483311203734, 0.102096105816528, 0.0980557017761242, 0.0953620990825215, 0.0940152977357202, 0.0940152977357202), tolerance=1e-6) expect_equal(nrow(dNAs),length(hatvalues(fitNAs))) }) test_that("influence OK with tibbles", { if (requireNamespace("tibble")) { ## make small data set/example so influence() isn't too slow ... ss <- tibble::as_tibble(sleepstudy[1:60,]) smallfit <- lmer(Reaction ~ 1 + (1 | Subject), data = ss) i1 <- influence(smallfit, ncores = 1) expect_equal(head(i1[["fixed.effects[-case]"]]), structure(c(286.35044481665, 286.179896199062, 286.327301507498, 285.014692121823, 284.36060419176, 283.297551183126), dim = c(6L, 1L), dimnames = list(c("1", "2", "3", "4", "5", "6"), "(Intercept)")), tolerance = 1e-6) } }) test_that("rstudent", { rfm1 <- rstudent(fm1) expect_equal(unname(head(rfm1)), c(-1.45598270922089, -1.49664543508657, -2.11747425025103, -0.0729690066951975, 0.772716397142335, 2.37859408861768), tolerance=1e-6) expect_equal(nrow(dNAs),length(rstudent(fitNAs))) }) test_that("cooks distance", { expect_equal( unname(head(cooks.distance(fm1))), c(0.127645976734753, 0.127346548123793, 0.243724627125036, 0.000280638917214881, 0.0309804642689636, 0.293554225380831), tolerance=1e-6) expect_equal(nrow(dNAs),length(cooks.distance(fitNAs))) }) test_that("cooks distance on subject-level influence", { ifm1S <- influence(fm1, "Subject", ncores=1) expect_equal( unname(head(cooks.distance(ifm1S),2)), c(0.33921460279262, 0.290309061006305), tolerance = 1e-6) }) test_that("cooks distance on glmer models", { inf <- influence(gm1) inf.h <- influence(gm1, "herd", ncores=1) cook <- cooks.distance(inf) expect_equal(unname(head(cook, 3)), c(0.0532998800033037, 0.0405931172763581, 0.252608337928438), tolerance = 1e-6) cook.h <- cooks.distance(inf.h) expect_equal(unname(head(cook.h, 3)), c(0.256630560723611, 0.00525856231971531, 0.103355658099396), tolerance = 1e-6) }) ## tweaked example so estimated var = 0 zerodat <- data.frame(x=seq(0,1,length.out=120), f=rep(1:3,each=40)) zerodat$y1 <- simulate(~x+(1|f), family=gaussian, seed=102, newparams=list(beta=c(1,1), theta=c(0.001), sigma=1), newdata=zerodat)[[1]] zerodat$y2 <- simulate(~x+(1|f), family=poisson, seed=102, newparams=list(beta=c(1,1), theta=c(0.001)), newdata=zerodat)[[1]] test_that("rstudent matches for zero-var cases", { lmer_zero <- lmer(y1~x+(1|f), data=zerodat) glmer_zero <- glmer(y2~x+(1|f),family=poisson, data=zerodat) lm_zero <- lm(y1~x, data=zerodat) glm_zero <- glm(y2~x,family=poisson, data=zerodat) expect_equal(suppressWarnings(rstudent(glmer_zero)), rstudent(glm_zero), tolerance=0.01) expect_equal(suppressWarnings(rstudent(lmer_zero)), rstudent(lm_zero),tolerance=0.01) }) if (testLevel>1) { ## n.b. influence() doesn't work under system.time(); ## weird evaluation stuff ? ## FIXME: work on timing some more i1 <- influence(fm1, ncores=1) test_that("full version of influence", { expect_equal(c(head(i1[["fixed.effects[-case]"]],1)), c(252.323536264131, 10.3222704729148)) }) cd <- cooks.distance(i1) expect_equal(unname(head(cd,2)), c(0.016503344184025, 0.0106634053477361)) if (parallel::detectCores() > 1) { test_that("parallel influence", { i2 <- suppressMessages(influence(fm1, ncores=2)) ## if (packageVersion("Matrix") != "1.4.2") ## fow now,as they differ str(i1) str(i2) print(all.equal(i1, i2)) # to see diff print(identical(i1, i2)) # expect_equal(i1, i2) ## <<<<-------------- FAILS (4 MM) }) } } ## car method testing: influence timing with ncores > 1 ... ## car version 3.0.10. ## L <- load(system.file("testdata", "lme-tst-fits.rda", ## package="lme4", mustWork=TRUE)) ## data("sleepstudy", package="lme4") ## library(lme4) ## library(car) ## WANT warning about S3 method overwrite ... ## fm1 <- fit_sleepstudy_1 ## library(pracma) ## because system.time() is weird ## tic(); i1 <- influence(fm1); toc() ## 2+ seconds ## tic(); i2 <- influence(fm1, ncores=8); toc() ## 3.4 seconds test_that("influence with nAGQ=0", { gm1Q0 <- update(gm1, nAGQ=0) expect_is(influence(gm1Q0), "influence.merMod") }) if (testLevel > 1) withAutoprint({ test_that("cook's distance comparison", { ## generate data with zero variance set.seed(101) n <- 50 dd <- data.frame(x = rnorm(n), f = factor(rep(1:2, each = n/2))) suppressMessages(dd$y <- simulate(~ x + (1|f), newdata = dd, newparams = list(beta = c(2,2), theta = 0, sigma = 5), family = gaussian)[[1]]) (fm2 <- lmer(y~x + (1|f), dd, REML = FALSE)) (fm2L <- lm(y~x , dd)) i2 <- influence(fm2) ## hatvalues version does **not** match exactly ... expect_equal(cooks.distance(i2), cooks.distance(fm2L)) expect_equal(cooks.distance(fm2), cooks.distance(fm2L), tolerance = 1e-2) }) }) ## testLevel > 1 lme4/tests/testthat/test-lmList.R0000644000176200001440000001730514630126752016475 0ustar liggesuserslibrary(lme4) library(testthat) ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } context("lmList") test_that("basic lmList", { set.seed(17) fm1. <- lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) fm1 <- lmList(Reaction ~ Days | Subject, sleepstudy) cf.fm1 <- data.frame( `(Intercept)` = c(244.19267, 205.05495, 203.48423, 289.68509, 285.73897, 264.25161, 275.01911, 240.16291, 263.03469, 290.10413, 215.11177, 225.8346, 261.14701, 276.37207, 254.96815, 210.44909, 253.63604, 267.0448), Days = c(21.764702, 2.2617855, 6.1148988, 3.0080727, 5.2660188, 9.5667679, 9.1420455, 12.253141, -2.8810339, 19.025974, 13.493933, 19.504017, 6.4334976, 13.566549, 11.348109, 18.056151, 9.1884448, 11.298073)) expect_equal(signif(coef(fm1), 8), cf.fm1, tolerance = 1e-7, check.attributes=FALSE) expect_equal(coef(fm1.), coef(fm1)) expect_true(inherits(formula(fm1), "formula")) ## <- had been wrong till 2015-04-09 sm1. <- summary(fm1.) sm1 <- summary(fm1) expect_equal(sm1$RSE, 25.5918156267, tolerance = 1e-10) cf1 <- confint(fm1) ## Calling the plot.lmList4.confint() method : expect_true(inherits(pcf1 <- plot(cf1), "trellis")) }) test_that("orthodont", { data(Orthodont, package="nlme") fm2 <- lmList(distance ~ age | Subject, Orthodont) fe2 <- fixef(fm2) expect_equal(fe2, c("(Intercept)" = 16.7611111111111, age = 0.660185185185185)) expect_true(inherits(pairs(fm2), "trellis")) }) test_that("simulated", { set.seed(12) d <- data.frame( g = sample(c("A","B","C","D","E"), 250, replace=TRUE), y1 = runif(250, max=100), y2 = sample(c(0,1), 250, replace=TRUE) ) fm3.1 <- lmList(y1 ~ 1 | g, data=d) expect_equal(coef(fm3.1), structure(list(`(Intercept)` = c(45.8945525606396, 50.1127995110841, 49.5320538515225, 52.4286874305165, 48.7716343882989)), .Names = "(Intercept)", row.names = c("A", "B", "C", "D", "E"), class = "data.frame", label = "Coefficients", effectNames = "(Intercept)", standardized = FALSE)) cf31 <- confint(fm3.1) expect_true(inherits(plot(cf31), "trellis")) fm3.2 <- lmList(y2 ~ 1 | g, data=d, family=binomial) ## ^^^^^^^^ "glmList" cf32 <- suppressMessages(confint(fm3.2,quiet=TRUE)) expect_identical(dim(cf32), c(5L,2:1)) expect_true(inherits(plot(cf32), "trellis")) expect_equal(unname(getDataPart(signif(drop(cf32), 6))), cbind(c(-0.400041, -0.311489, -1.07774, -0.841075, -0.273828), c( 0.743188, 0.768538, 0.0723138, 0.274392, 0.890795))) }) test_that("cbpp", { ## "glmList" (2) -- here, herd == 8 has only one observation => not estimable expect_warning(fm4 <- lmList(cbind(incidence, size - incidence) ~ period | herd, family=binomial, data=cbpp), "Fitting failed for ") cf4 <- coef(fm4) # with some 5 NA's ## match NA locations expect_equal(dim(cf4),c(15,4)) expect_identical(which(is.na(cf4)), sort(as.integer(c(8+15*(0:3), 47)))) expect_warning(fm4B <- lme4::lmList(incidence ~ period | herd, data=cbpp), "Fitting failed") if(FALSE) { ## FIXME: this is actually an nlme bug ... ## https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16542 try(summary(fm4)) ## Error in `[<-`(`*tmp*`, use, use, ii, value = lst[[ii]]) : ## subscript out of bounds library(nlme) data("cbpp",package="lme4") fm6 <- nlme::lmList(incidence ~ period | herd, data=cbpp) try(coef(fm6)) ## coef does *not* work here try(summary(fm6)) ## this is a slightly odd example because the residual df from ## these fits are in fact zero ... so pooled.SD fails, as it should } }) test_that("NA,weights,offsets", { ## from GH #320 set.seed(101) x <- 1:8 y <- c(2,2,5,4,3,1,2,1) g <- c(1,1,1,2,2,3,3,3) dat <- data.frame(x=x, y=y, g=g) m1 <- lmList(y ~ x | g, data=dat) expect_false(any(is.na(coef(m1)))) w <- runif(nrow(sleepstudy)) m2 <- lmList(Reaction ~ Days | Subject, weights=w, sleepstudy) ss <- subset(sleepstudy,Subject==levels(Subject)[1]) m2X <- lm(Reaction ~ Days, ss, weights=w[1:nrow(ss)]) expect_equal(coef(m2X),as.matrix(coef(m2))[1,]) m3 <- lmList(Reaction ~ Days | Subject, sleepstudy) m4 <- lmList(Reaction ~ Days | Subject, offset=w, sleepstudy) m4X <- lm(Reaction ~ Days, ss, offset=w[1:nrow(ss)]) expect_equal(coef(m4X),as.matrix(coef(m4))[1,]) expect_false(identical(m2,m3)) expect_false(identical(m4,m3)) m5 <- lmList(Reaction ~ Days + offset(w) | Subject, sleepstudy) expect_equal(coef(m5),coef(m4)) ## more from GH 320 dat2 <- data.frame(dat,xx=c(NA,NA,NA,1:4,NA)) m5 <- lmList(y ~ x | g, data=dat2) expect_equal(unlist(coef(m5)[1,]), coef(lm(y~x,subset=(g==1)))) expect_equal(unlist(coef(m5)[3,]), coef(lm(y~x,subset=(g==3)))) }) test_that("pooled", { ## GH #26 fm_lme4 <- lme4:::lmList(Reaction ~ Days | Subject, sleepstudy) fm_nlme <- nlme:::lmList(Reaction ~ Days | Subject, sleepstudy) fm_nlme_nopool <- nlme:::lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) ci_lme4_pooled <- confint(fm_lme4,pool=TRUE) #get low and high CI estimates and pooled sd ci_nlme_pooled <- nlme:::intervals(fm_nlme,pool=TRUE) expect_equal(unname(ci_lme4_pooled[,,1]),unname(ci_nlme_pooled[,c(1,3),1])) ci_lme4_nopool1 <- confint(fm_lme4,pool=FALSE) ci_lme4_nopool2 <- confint(fm_lme4) expect_identical(ci_lme4_nopool1,ci_lme4_nopool2) ## BUG in nlme::intervals ... ? can't get CIs on unpooled fits ## nlme::intervals(fm_nlme,pool=FALSE) ## nlme::intervals(fm_nlme_nopool) expect_equal(ci_lme4_nopool1[1:3,,1], structure(c(179.433862895996, 193.026448122379, 186.785722998616, 308.951475285822, 217.083442786712, 220.182727910474), .Dim = c(3L, 2L), .Dimnames = list(c("308", "309", "310"), c("2.5 %", "97.5 %")))) }) test_that("derived variables", { fm_lme4 <- lme4:::lmList(log(Reaction) ~ Days | Subject, sleepstudy) fm_nlme <- nlme:::lmList(log(Reaction) ~ Days | Subject, sleepstudy) expect_equal(c(coef(fm_lme4)),c(coef(fm_nlme)),tolerance=1e-5) }) test_that("subset", { data(MathAchieve, package="nlme") data(MathAchSchool, package="nlme") RB <- merge(MathAchieve, MathAchSchool[, c("School", "Sector")], by="School") names(RB) <- tolower(names(RB)) RB$cses <- with(RB, ses - meanses) cat.list.nlme <- nlme::lmList(mathach ~ cses | school, subset = sector=="Catholic", data=RB) cat.list.lme4 <- lme4::lmList(mathach ~ cses | school, subset = sector=="Catholic", data=RB) expect_equal(c(coef(cat.list.lme4)), c(coef(cat.list.nlme)),tolerance=1e-5) }) if (requireNamespace("tibble")) { test_that("avoid tibble warnings", { ## GH 645 op <- options(warn = 2) m1 <- lmList(Reaction ~ Days | Subject, data = sleepstudy) m2 <- lmList(Reaction ~ Days | Subject, data = tibble::as_tibble(sleepstudy)) expect_identical(coef(m1), coef(m2)) options(op) }) } lme4/tests/testthat/test-nbinom.R0000644000176200001440000001042314630126752016505 0ustar liggesuserslibrary("lme4") library("testthat") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 set.seed(101) dd <- expand.grid(f1 = factor(1:3), f2 = LETTERS[1:2], g=1:9, rep=1:15, KEEP.OUT.ATTRS=FALSE) mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) ## mimic glmer.nb protocol if (testLevel>1) { test_that("most messages suppressed", { expect_message(glmer.nb(y ~ f1 + (1|g), data=dd[1:10,]), "singular") }) test_that("ok with negative.binomial masking", { negative.binomial <- function() {} ## use shortened version of data for speed ... m.base <- glmer.nb(y ~ f1 + (1|g), data=dd[1:200,]) expect_is(m.base,"merMod") }) test_that("ok with Poisson masking", { poisson <- NA ## use shortened version of data for speed ... m.base <- glmer.nb(y ~ f1 + (1|g), data=dd[1:200,]) expect_is(m.base,"merMod") rm(poisson) }) if (testLevel>2) { context("testing glmer refit") test_that("glmer refit", { ## basic Poisson fit m.base <- glmer(y ~ f1*f2 + (1|g), data=dd, family=poisson) expect_equal(m.base@beta,(m.base.r <- refit(m.base))@beta, tolerance = 1e-5) th <- lme4:::est_theta(m.base,limit=20,eps=1e-4,trace=FALSE) th0 <- structure(0.482681268108477, SE = 0.0244825021248148) th1 <- structure(0.482681277470945) th2 <- 0.482681268108477 th3 <- 0.4826813 ## NB update with raw number m.numth1 <- update(m.base,family=MASS::negative.binomial(theta=0.4826813)) expect_equal(m.numth1@beta,(m.numth1.r <- refit(m.numth1))@beta) ## strip NB value m.symth4 <- update(m.base,family=MASS::negative.binomial(theta=c(th))) expect_equal(m.symth4@beta,(m.symth4.r <- refit(m.symth4))@beta) ## IDENTICAL numeric value to case #1 above m.symth6 <- update(m.base,family=MASS::negative.binomial(theta=th3)) expect_equal(m.symth6@beta,(m.symth6.r <- refit(m.symth6))@beta) ## standard NB update with computed theta from est_theta (incl SE attribute) m.symth <- update(m.base,family=MASS::negative.binomial(theta=th)) expect_equal(m.symth@beta,(m.symth.r <- refit(m.symth))@beta) ## NB update with equivalent value m.symth2 <- update(m.base,family=MASS::negative.binomial(theta=th0)) expect_equal(m.symth2@beta,(m.symth2.r <- refit(m.symth2))@beta) ## NB update with theta value (stored as variable, no SE) only m.symth3 <- update(m.base,family=MASS::negative.binomial(theta=th1)) expect_equal(m.symth3@beta,(m.symth3.r <- refit(m.symth3))@beta) ## strip NB value (off by 5e-16) m.symth5 <- update(m.base,family=MASS::negative.binomial(theta=th2)) expect_equal(m.symth5@beta,(m.symth5.r <- refit(m.symth5))@beta) }) ## GH #399 test_that("na_exclude", { dd1 <- dd[1:200,] dd1$f1[1:5] <- NA expect_error(glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.fail), "missing values in object") m1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.omit) m2 <- glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.exclude) expect_equal(fixef(m1),fixef(m1)) expect_equal(length(predict(m2))-length(predict(m1)),5) }) ## GH 423 test_that("start_vals", { dd1 <- dd[1:200,] g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1) g2 <- glmer.nb(y ~ f1 + (1|g), data=dd1, initCtrl=list(theta=getME(g1,"glmer.nb.theta"))) expect_equal(fixef(g1),fixef(g2),tol=1e-5) }) test_that("control arguments", { dd1 <- dd[1:200,] g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, initCtrl=list(theta=10)) expect_is(g1,"merMod") ## dumb test - just checking for run w/o error suppressWarnings(g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, nb.control=glmerControl(optimizer="bobyqa"))) expect_equal(g1@optinfo$optimizer, "bobyqa") suppressWarnings(g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, nb.control=glmerControl(optCtrl=list(maxfun=2)))) expect_equal(g1@optinfo$feval,3) }) } ## testLevel>2 } ## testLevel>1 lme4/tests/testthat/test-glmFamily.R0000644000176200001440000001206214737521154017150 0ustar liggesuserslibrary("testthat") ## library("lme4") eps <- .Machine$double.eps oneMeps <- 1 - eps set.seed(1) ## sample linear predictor values for the unconstrained families etas <- list( seq.int(-8, 8, by=1), runif(17, -8, 8), # random sample from wide uniform dist rnorm(17, 0, 8), # random sample from wide normal dist c(-10^30, rnorm(15, 0, 4), 10^30) ) ## sample linear predictor values for the families in which eta must be positive etapos <- list(seq.int(1, 20, by=1), rexp(20), rgamma(20, 3), pmax(.Machine$double.eps, rnorm(20, 2, 1))) ## values of mu in the (0,1) interval mubinom <- list(runif(100, 0, 1), rbeta(100, 1, 3), pmin(pmax(eps, rbeta(100, 0.1, 3)), oneMeps), pmin(pmax(eps, rbeta(100, 3, 0.1)), oneMeps)) context("glmFamily linkInv and muEta") test_that("inverse link and muEta functions", { tst.lnki <- function(fam, frm) { ff <- glmFamily$new(family=fam) ## as.numeric() needed for binomial()$linkinv breakage (also in muEta test) sapply(frm, function(x) expect_that(fam$linkinv(as.numeric(x)), equals(ff$linkInv(x)))) } tst.muEta <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$mu.eta(as.numeric(x)), equals(ff$muEta(x)))) } tst.lnki(binomial(), etas) # binomial with logit link tst.muEta(binomial(), etas) tst.lnki(binomial("probit"), etas) # binomial with probit link tst.muEta(binomial("probit"), etas) tst.lnki(binomial("cloglog"), etas) # binomial with cloglog link tst.muEta(binomial("cloglog"), etas) tst.lnki(binomial("cauchit"), etas) # binomial with cauchit link tst.muEta(binomial("cauchit"), etas) tst.lnki(poisson(), etas) # Poisson with log link tst.muEta(poisson(), etas) tst.lnki(gaussian(), etas) # Gaussian with identity link tst.muEta(gaussian(), etas) tst.lnki(Gamma(), etapos) # gamma family tst.muEta(Gamma(), etapos) tst.lnki(inverse.gaussian(), etapos) # inverse Gaussian tst.muEta(inverse.gaussian(), etapos) }) context("glmFamily linkFun and variance") test_that("link and variance functions", { tst.link <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$linkfun(x), equals(ff$link(x)))) } tst.variance <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$variance(x), equals(ff$variance(x)))) } tst.link( binomial(), mubinom) tst.variance(binomial(), mubinom) tst.link( binomial("probit"), mubinom) tst.link( binomial("cauchit"), mubinom) tst.link( gaussian(), etas) tst.variance(gaussian(), etas) tst.link( Gamma(), etapos) tst.variance(Gamma(), etapos) tst.link( inverse.gaussian(), etapos) tst.variance(inverse.gaussian(), etapos) tst.variance(MASS::negative.binomial(1), etapos) tst.variance(MASS::negative.binomial(0.5), etapos) tst.link( poisson(), etapos) tst.variance(poisson(), etapos) }) context("glmFamily devResid and aic") test_that("devResid and aic", { tst.devres <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) { nn <- length(x) wt <- rep.int(1, nn) n <- wt y <- switch(fam$family, binomial = rbinom(nn, 1L, x), gaussian = rnorm(nn, x), poisson = rpois(nn, x), error("Unknown family")) dev <- ff$devResid(y, x, wt) expect_that(fam$dev.resids(y, x, wt), equals(dev)) dd <- sum(dev) expect_that(fam$aic(y, n, x, wt, dd), equals(ff$aic(y, n, x, wt, dd))) }) } tst.devres(binomial(), mubinom) tst.devres(gaussian(), etas) tst.devres(poisson(), etapos) }) context("negative binomial") test_that("variance", { tst.variance <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$variance(x), equals(ff$variance(x)))) } tst.variance(MASS::negative.binomial(1.), etapos) nb1 <- MASS::negative.binomial(1.) cppnb1 <- glmFamily$new(family=nb1) expect_that(cppnb1$theta(), equals(1)) nb2 <- MASS::negative.binomial(2.) cppnb1$setTheta(2) sapply(etapos, function(x) expect_that(cppnb1$variance(x), equals(nb2$variance(x)))) bfam <- glmFamily$new(family=binomial()) if (FALSE) { ## segfaults on MacOS mavericks 3.1.0 ... ?? expect_error(bfam$theta())#, "theta accessor applies only to negative binomial") expect_error(bfam$setTheta(2))#, "setTheta applies only to negative binomial") } }) lme4/tests/testthat/test-start.R0000644000176200001440000000645514630126752016372 0ustar liggesuserslibrary("testthat") library("lme4") context("specifying starting values") ##' Update 'mod', copying .@call and attr(.@frame, "start") from 'from' copysome <- function(mod, from) { stopifnot(all.equal(class(mod), class(from)), isS4(mod)) mod@call <- from@call attr(mod@frame, "start") <- attr(from@frame, "start") mod } ## is "Nelder_Mead" default optimizer? isNM <- formals(lmerControl)$optimizer == "Nelder_Mead" stMsg <- "'start' must be .* a numeric vector .* list" test_that("lmer", { frm <- Reaction ~ Days + (Days|Subject) ctrl <- lmerControl(optCtrl = list(maxfun= if(isNM) 50 else 100)) x <- suppressWarnings(lmer(frm, data=sleepstudy, control=ctrl, REML=FALSE)) x2 <- suppressWarnings(update(x,start=c(1,0,1))) x3 <- suppressWarnings(update(x,start=list(theta=c(1,0,1)))) ff <- update(x,devFunOnly=TRUE) x2@call <- x3@call <- x@call ## hack call component expect_equal(x,x2) expect_equal(x,x3) ## warning on deprecated list ... suppressWarnings(expect_error(update(x, start = "a"), stMsg)) ## misspelled suppressWarnings( expect_error(update(x,start=list(Theta=c(1,0,1))),"incorrect components") ) th0 <- getME(x,"theta") y <- suppressWarnings(update(x,start=th0)) if(isNM) { expect_equal(AIC(x), 1768.025, tolerance=1e-6) expect_equal(AIC(y), 1763.949, tolerance=1e-6) } else { ## only "bobyqa" tested: expect_equal(AIC(x), 1763.939344, tolerance=1e-6) expect_equal(AIC(x), AIC(y)) } if(isNM) expect_equal(suppressWarnings(optimizeLmer(ff,control=list(maxfun=50), start=c(1,0,1))$fval), unname(deviance(x))) expect_equal(suppressWarnings(optimizeLmer(ff,control=list(maxfun=50), start=th0)$fval), unname(deviance(y))) }) test_that("glmer", { ctrl <- glmerControl(optCtrl=list(maxfun=50)) # -> non-convergence warnings x <- suppressWarnings(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=ctrl)) ## theta only x2 <- suppressWarnings(update(x, start= 1)) x3 <- suppressWarnings(update(x, start= list(theta = 1))) ff <- update(x,devFunOnly=TRUE) x2@call <- x3@call <- x@call ## hack call component expect_equal(x,x2) expect_equal(x,x3) expect_error(update(x, start="a"), stMsg) expect_error(update(x, start=list(Theta=1)), "bad name\\(s\\)") th0 <- getME(x,"theta") y <- suppressWarnings(update(x, start=th0)) # expect_equal() fails: optinfo -> derivs -> Hessian ## theta and beta x0 <- update(x,nAGQ=0) x4 <- suppressWarnings(update(x, start = list(theta=1, fixef=fixef(x0)))) expect_equal(x, copysome(x4, from=x)) x5 <- suppressWarnings(update(x, start = list(theta=1, fixef=rep(0,4)))) expect_equal(AIC(x5), 221.5823, tolerance=1e-6) x6 <- expect_error(suppressWarnings(update(x, start = list(theta=1, fixef=rep(0,5))), "incorrect number of fixef components")) ## beta only x7 <- suppressWarnings(update(x,start=list(fixef=fixef(x0)))) expect_equal(x, copysome(x7, from=x)) x8 <- suppressWarnings(update(x,start=list(fixef=rep(0,4)))) expect_equal(x5, copysome(x8, from=x5)) }) lme4/tests/testthat/test-lmer.R0000644000176200001440000004535714737520711016201 0ustar liggesusersstopifnot(require("testthat")) library(lme4) ## make sure package is attached ## (as.function.merMod() assumes it) data("Dyestuff", package = "lme4") ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } context("fitting lmer models") ## is "Nelder_Mead" default optimizer? -- no longer (isNM <- formals(lmerControl)$optimizer == "Nelder_Mead") test_that("lmer", { set.seed(101) d <- data.frame(z=rnorm(200), f=factor(sample(1:10,200, replace=TRUE))) ## Using 'method=*' defunct in 2019-05 (after 6 years of deprecation) ## expect_warning(lmer(z~ 1|f, d, method="abc"),"Use the REML argument") ## expect_warning(lmer(z~ 1|f, d, method="Laplace"),"Use the REML argument") ##sp No '...' anymore ##sp expect_warning(lmer(z~ 1|f, d, sparseX=TRUE),"has no effect at present") expect_error(lmer(z~ 1|f, ddd), "bad 'data': object 'ddd' not found") expect_error(lmer(z~ 1|f), "object 'z' not found") expect_error(lmer(z~ 1|f, d[,1:1000]), "bad 'data': undefined columns selected") expect_is(fm1 <- lmer(Yield ~ 1|Batch, Dyestuff), "lmerMod") expect_is(fm1_noCD <- update(fm1,control=lmerControl(calc.derivs=FALSE)), "lmerMod") expect_equal(VarCorr(fm1),VarCorr(fm1_noCD)) ## backward compatibility version {for optimizer="Nelder-Mead" only}: if(isNM) expect_is(fm1.old <- update(fm1,control=lmerControl(use.last.params=TRUE)), "lmerMod") expect_is(fm1@resp, "lmerResp") expect_is(fm1@pp, "merPredD") expect_that(fe1 <- fixef(fm1), is_equivalent_to(1527.5)) expect_that(VarCorr(fm1)[[1]][1,1], ## "bobyqa" : 1764.050060 equals(1764.0375195, tolerance = 1e-5)) ## back-compatibility ... if(isNM) expect_that(VarCorr(fm1.old)[[1]][1,1], equals(1764.0726543)) expect_that(isREML(fm1), equals(TRUE)) expect_is(REMLfun <- as.function(fm1), "function") expect_that(REMLfun(1), equals(319.792389042002)) expect_that(REMLfun(0), equals(326.023232155879)) expect_that(family(fm1), equals(gaussian())) expect_that(isREML(fm1ML <- refitML(fm1)), equals(FALSE)) expect_that(REMLcrit(fm1), equals(319.654276842342)) expect_that(deviance(fm1ML), equals(327.327059881135)) ## "bobyqa": 49.51009984775 expect_that(sigma(fm1), equals(49.5101272946856, tolerance=1e-6)) if(isNM) expect_that(sigma(fm1.old), equals(49.5100503990048)) expect_that(sigma(fm1ML), equals(49.5100999308089)) expect_that(extractAIC(fm1), equals(c(3, 333.327059881135))) expect_that(extractAIC(fm1ML), equals(c(3, 333.327059881135))) ## "bobyqa": 375.71667627943 expect_that(vcov(fm1) [1,1], equals(375.714676744, tolerance=1e-5)) if(isNM) expect_that(vcov(fm1.old)[1,1], equals(375.72027872986)) expect_that(vcov(fm1ML) [1,1], equals(313.09721874266, tolerance=1e-7)) # was 313.0972246957 expect_is(fm2 <- refit(fm1, Dyestuff2$Yield), "lmerMod") expect_that(fixef(fm2), is_equivalent_to(5.6656)) expect_that(VarCorr(fm2)[[1]][1,1], is_equivalent_to(0)) expect_that(getME(fm2, "theta"), is_equivalent_to(0)) expect_that(X <- getME(fm1, "X"), is_equivalent_to(array(1, c(1, 30)))) expect_is(Zt <- getME(fm1, "Zt"), "dgCMatrix") expect_that(dim(Zt), equals(c(6L, 30L))) expect_that(Zt@x, equals(rep.int(1, 30L))) expect_equal(dimnames(Zt), list(levels(Dyestuff$Batch), rownames(Dyestuff))) ## "bobyqa": 0.8483237982 expect_that(theta <- getME(fm1, "theta"), equals(0.84832031, tolerance=6e-6, check.attributes=FALSE)) if(isNM) expect_that(getME(fm1.old, "theta"), is_equivalent_to(0.848330078)) expect_is(Lambdat <- getME(fm1, "Lambdat"), "dgCMatrix") expect_that(as(Lambdat, "matrix"), is_equivalent_to(diag(theta, 6L, 6L))) expect_is(fm3 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy), "lmerMod") expect_that(getME(fm3,"n_rtrms"), equals(2L)) expect_that(getME(fm3,"n_rfacs"), equals(1L)) expect_equal(getME(fm3, "lower"), c(`Subject.(Intercept)` = 0, Subject.Days = 0)) expect_error(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject==levels(Subject)[1])), "must have > 1") expect_warning(fm4 <- lFormula(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject==levels(Subject)[1]), control=lmerControl(check.nlev.gtr.1="warning")), "must have > 1") expect_warning(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject %in% levels(Subject)[1:4]), control=lmerControl(check.nlev.gtreq.5="warning")), "< 5 sampled levels") sstudy9 <- subset(sleepstudy, Days == 1 | Days == 9) expect_error(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9)), "number of observations \\(=36\\) <= number of random effects \\(=36\\)") expect_error(lFormula(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9)), "number of observations \\(=36\\) <= number of random effects \\(=36\\)") ## with most recent Matrix (1.1-1), should *not* flag this ## for insufficient rank dat <- readRDS(system.file("testdata", "rankMatrix.rds", package="lme4")) expect_is(lFormula(y ~ (1|sample) + (1|day) + (1|day:sample) + (1|operator) + (1|day:operator) + (1|sample:operator) + (1|day:sample:operator), data = dat, control = lmerControl(check.nobs.vs.rankZ = "stop")), "list") ## check scale ss <- within(sleepstudy, Days <- Days*1e6) expect_warning(lmer(Reaction ~ Days + (1|Subject), data=ss), "predictor variables are on very different scales") ## Promote warning to error so that warnings or errors will stop the test: options(warn=2) expect_is(lmer(Yield ~ 1|Batch, Dyestuff, REML=TRUE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, start=NULL), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, verbose=0L), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, subset=TRUE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, weights=rep(1,nrow(Dyestuff))), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, na.action="na.exclude"), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, offset=rep(0,nrow(Dyestuff))), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, contrasts=NULL), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, devFunOnly=FALSE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="Nelder_Mead")), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl()), "lmerMod") ## avoid _R_CHECK_LENGTH_1_LOGIC2_ errors ... if (getRversion() < "3.6.0" || (requireNamespace("optimx", quietly = TRUE) && packageVersion("optimx") > "2018.7.10")) { expect_error(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="optimx")),"must specify") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B"))), "lmerMod") } expect_error(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="junk")), "couldn't find optimizer function") ## disable test ... should be no warning expect_is(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9), control=lmerControl(check.nobs.vs.rankZ="ignore", check.nobs.vs.nRE="ignore", check.conv.hess="ignore", ## need to ignore relative gradient check too; ## surface is flat so *relative* gradient gets large check.conv.grad="ignore")), "merMod") expect_is(lmer(Reaction ~ 1 + Days + (1|obs), data = transform(sleepstudy,obs=seq(nrow(sleepstudy))), control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.nobs.vs.rankZ="ignore")), "merMod") expect_error(lmer(Reaction ~ 1 + Days + (1|obs), data = transform(sleepstudy,obs=seq(nrow(sleepstudy))), "number of levels of each grouping factor")) ## check for errors with illegal input checking options flags <- lme4:::.get.checkingOpts(names(formals(lmerControl))) .t <- lapply(flags, function(OPT) { ## set each to invalid string: ## cat(OPT,"\n") expect_error(lFormula(Reaction~1+Days+(1|Subject), data = sleepstudy, control = do.call(lmerControl, ## Deliberate: fake typo ## vvv setNames(list("warnign"), OPT))), "invalid control level") }) ## disable warning via options options(lmerControl=list(check.nobs.vs.rankZ="ignore",check.nobs.vs.nRE="ignore")) expect_is(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject %in% levels(Subject)[1:4])), "merMod") expect_is(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9), control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")), "merMod") options(lmerControl=NULL) ## check for when ignored options are set options(lmerControl=list(junk=1,check.conv.grad="ignore")) expect_warning(lmer(Reaction ~ Days + (1|Subject),sleepstudy), "some options") options(lmerControl=NULL) options(warn=0) expect_error(lmer(Yield ~ 1|Batch, Dyestuff, junkArg=TRUE), "unused argument") expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, control=list()), "passing control as list is deprecated") if(FALSE) ## Hadley broke this expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, control=glmerControl()), "passing control as list is deprecated") ss <- transform(sleepstudy,obs=factor(seq(nrow(sleepstudy)))) expect_warning(lmer(Reaction ~ 1 + (1|obs), data=ss, control=lmerControl(check.nobs.vs.nlev="warning", check.nobs.vs.nRE="ignore")), "number of levels of each grouping factor") ## test deparsing of very long terms inside mkReTrms set.seed(101) longNames <- sapply(letters[1:25], function(x) paste(rep(x,8),collapse="")) tstdat <- data.frame(Y=rnorm(10), F=factor(1:10), matrix(runif(250),ncol=25, dimnames=list(NULL, longNames))) expect_is(lFormula(Y~1+(aaaaaaaa+bbbbbbbb+cccccccc+dddddddd+ eeeeeeee+ffffffff+gggggggg+hhhhhhhh+ iiiiiiii+jjjjjjjj+kkkkkkkk+llllllll|F), data=tstdat, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.nobs.vs.rankZ="ignore")),"list") ## do.call(new,...) bug new <- "foo" expect_is(refit(fm1),"merMod") rm("new") ## test subset-with-( printing from summary fm1 <- lmer(z~1|f,d,subset=(z<1e9)) expect_equal(sum(grepl("Subset: \\(",capture.output(summary(fm1)))),1) ## test messed-up Hessian fm1 <- lmer(z~ as.numeric(f) + 1|f, d) fm1@optinfo$derivs$Hessian[2,2] <- NA expect_warning(lme4:::checkConv(fm1@optinfo$derivs, coefs=c(1,1), ctrl=lmerControl()$checkConv,lbound=0), "Problem with Hessian check") ## test ordering of Ztlist names ## this is a silly model, just using it for a case ## where nlevs(RE term 1) < nlevs(RE term 2)x data(cbpp) cbpp <- transform(cbpp,obs=factor(1:nrow(cbpp))) fm0 <- lmer(incidence~1+(1|herd)+(1|obs),cbpp, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.rankZ="ignore", check.nobs.vs.nRE="ignore", check.conv.grad="ignore", check.conv.singular="ignore", check.conv.hess="ignore")) fm0B <- update(fm0, .~1+(1|obs)+(1|herd)) expect_equal(names(getME(fm0,"Ztlist")), c("obs.(Intercept)", "herd.(Intercept)")) ## stable regardless of order in formula expect_equal(getME(fm0,"Ztlist"),getME(fm0B,"Ztlist")) ## no optimization (GH #408) fm_noopt <- lmer(z~1|f,d, control=lmerControl(optimizer=NULL)) expect_equal(unname(unlist(getME(fm_noopt,c("theta","beta")))), c(0.244179074357121, -0.0336616441209862)) expect_error(lmer(z~1|f,d, control=lmerControl(optimizer="none")), "deprecated use") my_opt <- function(fn,par,lower,upper,control) { opt <- optim(fn=fn,par=par,lower=lower, upper=upper,control=control,,method="L-BFGS-B") return(list(par=opt$par,fval=opt$value,conv=opt$convergence)) } expect_is(fm_noopt <- lmer(z~1|f,d, control=lmerControl(optimizer=my_opt)),"merMod") ## test verbose option for nloptwrap cc <- capture.output(lmer(Reaction~1+(1|Subject), data=sleepstudy, control=lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6)), verbose=5)) expect_equal(sum(grepl("^iteration:",cc)),14) }) ## test_that(..) test_that("coef_lmer", { ## test coefficient extraction in the case where RE contain ## terms that are missing from the FE ... set.seed(101) d <- data.frame(resp=runif(100), var1=factor(sample(1:5,size=100,replace=TRUE)), var2=runif(100), var3=factor(sample(1:5,size=100,replace=TRUE))) library(lme4) mix1 <- lmer(resp ~ 0 + var1 + var1:var2 + (1|var3), data=d) c1 <- coef(mix1) expect_is(c1, "coef.mer") cd1 <- c1$var3 expect_is (cd1, "data.frame") n1 <- paste0("var1", 1:5) nn <- c(n1, paste(n1, "var2", sep=":")) expect_identical(names(cd1), c("(Intercept)", nn)) expect_equal(fixef(mix1), setNames(c(0.2703951, 0.3832911, 0.451279, 0.6528842, 0.6109819, 0.4949802, 0.1222705, 0.08702069, -0.2856431, -0.01596725), nn), tolerance= 6e-6)# 64-bit: 6.73e-9 }) test_that("getCall", { ## GH #535 getClass <- function() "foo" expect_is(glmer(round(Reaction) ~ 1 + (1|Subject), sleepstudy, family=poisson), "glmerMod") rm(getClass) }) test_that("better info about optimizer convergence", { set.seed(14) cbpp$var <- rnorm(nrow(cbpp), 10, 10) suppressWarnings(gm2 <- glmer(cbind(incidence, size - incidence) ~ period * var + (1 | herd), data = cbpp, family = binomial, control=glmerControl(optimizer=c("bobyqa","Nelder_Mead"))) ) ## FIXME: with new update, suppressWarnings(update(gm2)) will give ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? op <- options(warn=-1) gm3 <- update(gm2, control=glmerControl(optimizer="bobyqa", optCtrl=list(maxfun=2))) options(op) cc <-capture.output(print(summary(gm2))) expect_equal(tail(cc,3)[1], "optimizer (Nelder_Mead) convergence code: 0 (OK)") }) context("convergence warnings etc.") fm1 <- lmer(Reaction~ Days + (Days|Subject), sleepstudy) suppressMessages(fm0 <- lmer(Reaction~ Days + (Days|Subject), sleepstudy[1:20,])) msg_in_output <- function(x, str) { cc <- capture.output(.prt.warn(x)) any(grepl(str , cc)) } test_that("convergence warnings from limited evals", { expect_warning(fm1B <- update(fm1, control=lmerControl(optCtrl=list(maxeval=3))), "convergence code 5") expect_true(msg_in_output(fm1B@optinfo, "convergence code: 5")) expect_warning(fm1C <- update(fm1, control=lmerControl(optimizer="bobyqa",optCtrl=list(maxfun=3))), "maximum number of function evaluations exceeded") expect_true(msg_in_output(fm1C@optinfo, "maximum number of function evaluations exceeded")) ## one extra (spurious) warning here ... expect_warning(fm1D <- update(fm1, control=lmerControl(optimizer="Nelder_Mead",optCtrl=list(maxfun=3))), "failure to converge in 3 evaluations") expect_true(msg_in_output(fm1D@optinfo, "failure to converge in 3 evaluations")) expect_message(fm0D <- update(fm0, control=lmerControl(optimizer="Nelder_Mead",calc.derivs=FALSE)), "boundary") expect_true(msg_in_output(fm0D@optinfo, "(OK)")) }) ## GH 533 test_that("test for zero non-NA cases", { data_bad <- sleepstudy data_bad$Days <- NA_real_ expect_error(lmer(Reaction ~ Days + (1| Subject), data_bad), "0 \\(non-NA\\) cases") }) ## test_that("catch matrix-valued responses in lmer/glmer but not in formulas", { dd <- data.frame(x = rnorm(1000), batch = factor(rep(1:20, each=50))) dd$y <- matrix(rnorm(1e4), ncol = 10) dd$y2 <- matrix(rpois(1e4, lambda = 1), ncol = 10) expect_error(lmer(y ~ x + (1|batch), dd), "matrix-valued") fr <- lFormula(y ~ x + (1|batch), dd)$fr expect_true(is.matrix(model.response(fr))) expect_error(glmer(y ~ x + (1|batch), dd, family = poisson), "matrix-valued") fr <- glFormula(y ~ x + (1|batch), dd, family = poisson)$fr }) test_that("catch matrix-valued responses", { dd <- data.frame(x = rnorm(1000), batch = factor(rep(1:20, each=50))) dd$y <- matrix(rnorm(1e4), ncol = 10) expect_error(lmer(y ~ x + (1|batch), dd), "matrix-valued") }) lme4/tests/testthat/test-doubleVertNotation.R0000644000176200001440000000617214630126752021060 0ustar liggesuserslibrary("lme4") library("testthat") context("testing '||' notation for independent ranefs") test_that("basic intercept + slope '||' works", { expect_equivalent( lFormula(Reaction ~ Days + (Days||Subject), sleepstudy)$reTrms, lFormula(Reaction ~ Days + (1|Subject) + (0 + Days|Subject), sleepstudy)$reTrms ) expect_equivalent( fitted(lmer(Reaction ~ Days + (Days||Subject), sleepstudy)), fitted(lmer(Reaction ~ Days + (1|Subject) + (0 + Days|Subject), sleepstudy)) ) }) test_that("'||' works with nested, multiple, or interaction terms" , { #works with nested expect_equivalent(findbars(y ~ (x || id / id2)), findbars(y ~ (1 | id / id2) + (0 + x | id / id2))) #works with multiple expect_equivalent(findbars(y ~ (x1 + x2 || id / id2) + (x3 | id3) + (x4 || id4)), findbars(y ~ (1 | id / id2) + (0 + x1 | id / id2) + (0 + x2 | id / id2) + (x3 | id3) + (1 | id4) + (0 + x4| id4))) #interactions: expect_equivalent(findbars(y ~ (x1*x2 || id)), findbars(y ~ (1 | id) + (0+x1 | id) + (0 + x2 | id) + (0 + x1:x2 | id))) }) test_that("quoted terms work", { ## used to fail in test-oldRZXFailure.R f <- quote(crab.speciesS + crab.sizeS + crab.speciesS:crab.sizeS + (snail.size | plot)) expect_equivalent(findbars(f)[[1]], (~(snail.size|plot))[[2]][[2]] ) }) test_that("leaves superfluous '||' alone", { expect_equivalent(findbars(y ~ z + (0 + x || id)), findbars(y ~ z + (0 + x | id))) }) test_that("plays nice with parens in fixed or random formulas", { expect_equivalent(findbars(y ~ (z + x)^2 + (x || id)), findbars(y ~ (z + x)^2 + (1 | id) + (0 + x | id))) expect_equivalent(findbars(y ~ ((x || id)) + (x2|id)), findbars(y ~ (1 | id) + (0 + x | id) + (x2|id))) }) test_that("update works as expected", { m <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy) expect_equivalent(fitted(update(m, .~.-(0 + Days | Subject))), fitted(lmer(Reaction ~ Days + (1|Subject), sleepstudy))) }) test_that("long formulas work",{ form <- log.corti~z.n.fert.females*z.n.males+ is.alpha2*(z.infanticide.susceptibility+z.min.co.res+ z.co.res+z.log.tenure)+ z.xtime+z.age.at.sample+sin.season+cos.season+ (1 +z.n.fert.females +z.n.males +is.alpha2.subordinate +z.infanticide.susceptibility +z.min.co.res +z.log.tenure +z.co.res +z.xtime +z.age.at.sample +sin.season +cos.season +I(z.n.fert.females*z.n.males) +I(is.alpha2.subordinate*z.min.co.res) +I(z.co.res*is.alpha2.subordinate) +I(is.alpha2.subordinate*z.co.res) +int.is.a.log.ten ||monkeyid) expStr <- paste(deparse(expandDoubleVerts(form),width=500),collapse="") ## check: no spurious ~ induced expect_equal(1,sum(grepl("~",strsplit(expStr,"")[[1]]))) }) lme4/tests/testthat/test-summary_testlevel_1.rda0000644000176200001440000133755714751251207021617 0ustar liggesusers‹ì½x]ÅÕ5|Ý{·%7I×’eõ.w˽ã†ÁÆtd[¶…UŒ$7„ž !´$@è„Þ!¡„ „’@„„þ=ç®=³îÑIòþï÷ý¿Ÿg³Ä^Zûì©gfιW+箩车w,ëëÚMþ+‹u[µçü¢I±X×Îò?b]c½;×—Å:uòvmªiÞâñw/Þ1·º¥ÚüF,ñï3`gUÖÕ×TâçžeÅeEã‹'ÈÏ_‰ Ëê™±Ûö¹V¬K.¡KuÛP[S·^~Øú·“³×ººêææeÕõ5¡ßîѰµ¾¦©v]8rðû’2ÿnÊúš Õ[ëZf×6¬¯mØ8kú–ÚÆ†´Ç–êu›«7¶ºP}M˦ÆõÍ(§XׯÃÝV]·Õè¾À/u'²ÓaA &;;×nðx{Ô×67K‚ ªÏ׈ƗêY\4õ¤ò¾_S(×eÊ”)!9†Ýý‹›kZæn­¯ß9 ¾n7ù:Íy` ùÛ¨Õ5½"a¡‚ÛŸëš\ï}‹›j6Ì1 >·fƒ§G÷ ºYð æZMíJ¤OÍŽ–š¦†êº--MÑéÿ/u×6´Ôl¬i wÇ.ÍøÝ^ÚVHùtZتC¾qÃiy ×|HSËšíIÿÛäþw{MíÆM-ÍÉ ˆ>¾Sgˆ•ó–.Á(á”-±¢©±¥±eç– 9dþ†Ò¡¥_â7’g¯€ë¤SJ¯Cu‚ ×3Ì%×W¯¯wešèÝ*X«y¡æ… ÏÒTÀ´ýÜÿëÖý}ñá=ÿ?8˜tCôw“RtUÙŠ²UÑŠêJ™±Ö™&ÌP+½-º‘ÚßFÉãñm;Ñ]³hzPšï¬Õ’#F×M+º‹Síb»6¾”ˆ¶4ÓEtS6b´%Ý¡ÿw·b7©sSﬓúk¥ÕÙ :|CLTA†ñõO´vò’ó{tóéoüŸß„½¤Æµ0ßY3¶ ÚÁ¦ìž$ÚÅæÕœöÝžöWþÏoÐÞR÷¶4ßY‹¶ŽÚÁ&푬ÚÅ6Íj³M›ÚoÓ¦ÿ«Ú´é¿Ò¦MߨM›¾i›fG¶©.•ÛhSý•ÿ;ÚÔ–æ;mÓä¨mÓdÕ.¶iN¨M»ÝF#ò‰Åÿ‰M8à»Ülü$Ê> jÊ~4ºÕ„ü?¶ÅÜ&Mj{çwØz¯ƒ-×I7yQ­Ö¿8«®qÝæšõÁ!”`tÿ/œZDo\{7ÕlXj[.ꌢWãÚƒk¤õ·Õ¸~F-_½sNu]]¨ººØ ­«ô†Öçš:t˜¥g]žÃОuÒH+ͱn²f`óÖ-5M*Q¨.ÑÕûÚZ0kéàÉÛŽæ¦uMFØÅœàôÂif Kì3³hüÆZ5­ÛP[W“\ÿö9­Öë¼=\ÂÌ’Mõ5%kë6×4•Ìm\'ݹ¡¥¹deÉ–Í›K‚m¬nuµ zŠÖåF8³³²²âA}Æe6¨m¨53@s|CcS¼eSM\OµvX‘••Qf]ý’Úæ–ÊÌxã†xN]}N|yÐÜÍñƆøœÆúz¥ëkê i¼¨hz¼¸¸¤¾º¡ú¢à˜»xåú¤ß3ÿŽðÿÃï 3¿7ssÍÎíMë›ãëp4Šã…€¬Ù±¥±I‡ÏgAæ¹6óBP“âú¯©f‹ *©ÖjS¹ë¤ïÇ«â™3 ã[ƒÿ­kÜX+.«ß#ñocSãÖ-ÍF"9Ö4Õ¬— Yq©áÌ ÕëZ›2gÄã Òpñõ5Íñ­Í5qü^nBWE…nlªÝ¸Üü²‰Ž°L ^—aR¿5Q$OK0ʺÖ5Ják‚¤ë¤–2óB]` t›=—Ï]>cJ<©~KZÕo±Ä’ŽÕ"…æ¨ÕMMÕ;[…-Ž·®fNã–ñiEñ ¸#åîÈ‹›(w}MÍ–uÂÆw„¥Š½Lž¿hÍÒypìnÍ›·Ö­oÈi‰o¯‰oªÞVÏ”f…iŒx|{m˦xËöÆx~óÖµùÚ‰ìoÌÍŒW7¬·ÿ»G&3u¤¬¯i†3¿×¼¥ºI~\_Wm¢ÌСœ•…ŸV‰léÒ)ñ—7Î%HeMÜŒ¦ ¸pK«[šjwdƧT%|«¤Nâ‡ÕîÂx‚>+1ïæºši~ª5ýW6%«¯ÝQ³¾¨fÆ`HכܜÈ1QÞ5=<ܧ‚ãqihð ¼éT¹Kªë×®¯n1ÝaýÆ9(f¡°Y~KMÃúæ)¦n[ªƒz]"Ë„[ãíÇR­Uqš75žøÁT[]ãv"¾ºaãÖºê&áuÕæ–ßVmœëj≡•nðO⵬j‰·™®É$¼JÅL8)A¹…‰r¸p -›Ìó3ôä¨bCßV´ŸtÓ%›å¾¯«iØ(ÍUÝÏÙ‘o®kl‘ßÖ4‹xvTàEÒê5u5Á-c(¾¶ÆD(›‚йA …Gã$oÄ-Mq™N~ƒÞ§EnsÆ[¹ÏÕ×»êO®2)as›ÍhšA"›qŸD &¯µü9­reÂÒ²u3RNþŠY·9E ú\¿¾euXßÏ‹øýÖIC°¯W #.”`VbNˆ'|v2Ü4mÈ|(=Qš»¹ÍœdÉÛ‘Óz¯`C&f}dØG~ÂlìM³IÚ¸±>Ž<ÛLn­ôñRr~\nmDi"[#þ&IÌŒ¡Ž—ÇÏ4Ø9n]cý–ÆË­›$ß{‰­¥¶†õv±þe,Ÿå—ƒÉ½Í1,4«ëj­‘_··ù5…Ò¦…:93da¢œzÕÞpþ ‰¾ Óà–:™ åb…²ºÚ*ëˆânhjÜž»Fç­²]ˆ[\\œ?L<‘¿V»!ž;¦¡ºicsn^žÜqZ¶65Ø›²Ö”¥OP…æBøýâÈß_Ÿ&¿_ÝljOǦª*"U2v 35Nã§Ý%§½ÅAo[ˤ<:ˆ¹ù%"ãî•k|ª¬ŒT&º=¤è•É÷ ìHí2SµÉ ýË[‚_^×Xç~y\ä/b#ïÓ¢¿=!ò·›[·Ôn›{nÒ=4>=^ºD{úøHµûuPqIâå›õt³¬Üs·6Ô²µ&%/^%#¦æ«ë6"¯¼öKdî̦M‚N_kF¢×Õ¿U/n;³!€D¶ ¹‡ÈNKÒ‘g ¸Rçn7sWöå#~«öOM­òr½ úDNê<¤ýξڛÊj›ÈÂŽUÌjSþµ4t¬ZÌ:Á›KËê]m&‘˜ oñç³¥£ùø›i55ÓŒ¶óIjžÕ­šg‹†‰ÜžãÞîK#`¤túcDhÿšÎü V¾È†°%œ¹ % „ß$­Qylý¦yl Ñ=h«¿ž·¢’·–FDœqU‹Ø`æ®eyæÞVOD‚¼¶Í‚Éïgçgc¥˜¸ƒåÖV™IPæ×Üey…ñƒ«è6µ±ÎŒ¶²B¹”P;ªšj¶.·¬p™­Éý"/fÎMÌ ¹±N6¥²µ‹×6Ç«ã›ë¶®ßXoiŒ7n«i’uZM|KSãZÙyÉv{SMƒÉQ~±ù­ÕM5í¶¶\cíNYìn6ñ±km’å v¿í®\–TªÞéMíØÍìä¶.4ƒ¹ šÁ½$¸ÿ×þ­]ðå×­•;Ry ÖûÚ¢ö´¡¡6Õ&,Íû¦“þü]ÜQ¥=ß\ùm®¯­o®ZGMRXæîæÑkPô3°ŒªÝ·f{°f­ìá$/»| <ÐïÙ†^d:Œu^X³=X6ëà2#;q—qóüJ»eq[-MvýêýÝõÒK½ôœuËÌ…ÿCû·ðïÔÌ¿œÄ 9ØxùWÓQ,Ã65nll<[všsR™6Ö{¶¦ZÙ¦ÉUrÚ½™&ŽHõLÉÊ}Øû[•{ ÿ·ÜÑ4©Üë¶65™ígðz¹=¦JìÐçlj¬«iÞ¼'q9mfÔº¸K¾‹‚®h· þ“ÇV¥Ów݈ë¡CÛÅÞ±%w…Dý.J¼’ ä-ñÆŽ•8q¼¾q{ƒÜ1jÖ‡Ë×îÑV@ôF<¹V®ùnŠOKoñ·u¬øµfÄ6Û>ý]ÕFôž"\µßMu¬¯­Ö÷VÇj¯®Uu˜0f6ë`}hq£÷¼áâš ìZ‰ý#k-ÿ•Xòr…ŽÞMç$!š‡žæ‘\­)zóºêºš ¥›[j¶Ø–¯^§¥ÕÁÒ®EA ùÖgüv%Oœ¶]òèÕLNr×]×(?Õ®« ´Qæ¹-³9óûvÅöïÍÓC_±›7U›¹¸æÏZ²Çt4¯a[¤E›`›QË?sÜT³ÝDÈ•iCTÕÔoiÙiþßV>Œñ?72ÿLKåÏêÌ3æš–õµ6ä·É•âÍäÏICdÊ*3ÏÕÿ$[ÿ™ÅªU3Ú»Mù'—ªÝØÈ©0¾±¦E êÊç&j0ÏyL•èÚ^ëGM¾ýã]®H]·‘H‡6ÏZµÍ¹ˆ*µ)‘ôYl¦m´9íÆ ¥†Çšž›è¼>,O®mûð]sŒ¨äô6cê“èÈ÷ ìoD¯–×7¯ãé`¬ôus¬$c&ØZlKô€†ª`gcþoìjùÿ *«¤ã~»Û`Ýú%îÆ»«ëÝ–íµ²l77½ºÆ2GÈí¼^îÒVZïvthrü.nùuëW®±…ÝÕ=M»euwüÄ ¢ÐÑGáBK²ßE©·64¯³ÿã-õZ¯.Qj)˜ ·÷õöáZѺFûœ Qí­ñ:Úâæ’ßÅ’§®¶ÁÄkUö¤ÿ¯4(~Ù½I›&Ú½¶¡¦º)¾Å¾;ÒÆ½?z µr"Áÿʪ§¶¡¹E®µB†`táWD~ëÓÍ9¦y? q(ÜÒTE°©msñ³[+€’ü–•Pê¯:ñ÷þÈï ؇Κj¤V ÃO!Ý£\„]YIÿÇOúü7xdþwUKSa|uaúªO|K£9/•Üšj6Ö4˜°à|ƒ¬d×Õ47W7íÔ‘RÙ,¢’šºtÚ~pe„‰J«m^¶µ®nÞŽ– žV˜GM§„í/aFGþ†ûxz;µïßôJÇšwN’j?ñHÊ–9ú40³H¼ÚlÜ‘› Ónµêå³c¦õl„gdß²¬{nÒí(•Oŵ¬Ñ¢Êø…Ån]Xt¹ŽÖ¿ ”ðúâRRa÷iYÖØ°OMS£+pôÊÀØ·ÙlàöiÙÕ[M¯¤.o5‰47Öm«ñ”Ö2zöÎIˆõ¬ŒŽ¤¬ëšðVbðhÓÜŒÍt¾« Êà ßÅ‚2´ª­r¶qrÜr&ŠÙØP·3Œ8ó40XXæíêÙY"Óïb!i¾b/­%•Yú£+vô{D9¢o§ÀZ¶è$Zõæ #_‡6Y}Å]ûß+îÚoVܵÿ¥âÒä6Q+åÈ%Ž7xV½^_@–ÙXÍf9ÏOjÜŽ š„þ+{‚­ü?Q%n“÷ð.ôFéwqø»õ¿r ÊëŤ70WÔH1ZÌû‘ÁúÑ?úTJ·DK‚•z0¯\ßÐ$Õ`í«oRËš]K¾"2TmÃ¶ÚæÚµu5¹m­nQšjG+¢ ŠX⟲£_º´…N<(>ž°«hqéïä8#*‘ÌwX”ÈM¿(ضíJyüw­D¼•5xÜ–'ø°£+Tô Z(ó~Yâ£Mñ­æ›È;uûjt♥$níú­ÕuÍ»º€²©úÆi"ßo79ÙÝa¸*š;49¡"в«oXƒ:Y£tÐÂG?~ˆÞº¢ô´wMñ—·MVµƒ¢ˆÝí‘°ùhmn&N2 㙉þüTÛ`>d—)’„sUðI“ÌÕÁZMö%ûPfJS4ƒû‚­ŽùÁܬ[ ÛóÃÖÒViS•ç=šO·†?õ8:ñJO›Ÿx\”š“ÿ¶ÿeÅ×V7×Ї¹Ì×$66$> ±µÎ~Jr„ù夅%®`k¦½wµJ$8¢ú¬O›Žêíj²ƒŸšH|rzøpõ® švE€±´ 3Kø íÿX†>Àô},cDø—íÇ2ð ÿÀŸÖð^OFü¢† þKäA1Ž€ŒoHH¬O¼S½­º¶®ZnôæyðþSð¡a~" e Wo0è¹;«v¢õ«P¨5_,”îTU¿5b€{ÿICW¡Á%œ4KUÐ8Á™\ºN›Ó[GO^¹2“>Oy£nóã$9Q*ÿ§Iæ·uz/WWÁgr3wJ]6·˜Ïþ5o©YW+3Àz;ÓE¦¼3ü1 $T‘Ÿ¥h2NñÙߎ|÷°Þû^ó¾ûfÖoÍÜ{ïõÂÿ’2´ÒäW‘Ú=ÆTä{¿9AÙd¢×þádT‘KänSç _2àl6Ñû¯VÙ¨4‘Ž{7³ý„tÚõ%¤ãJƒÌëxB*M$dþ/WsìHFMmdÔôÍ3jj3£ÈýÞLFš]~;øÂKd3íÊû.+¢‚|Ë×\¢_.Ž{ßr‰>êÿoù’Kf[±“Þq‰œèõß.½âÒö'qâ}å͹ؓXô .ÑǼø—e>?]#ël36U¯Û/(mï§þûfïÆ¤µR÷>­iá_ˆ¼Cè‹1þ÷aZ¿ÿò­)‘‡#_(K~<\W >ÞiWgºj3«³B½/ìʇãvî.LL™í~ÚÕf“د.ÝŠG¤U½¯ºÇ£»VEßöÑhädDOFwæuäÎø7{(Únçõ î‘hÛõíýd’t™åv³g+¼±±#[‘u›ª6&^XÁ*­6±ïH|-@îÖæšà३qCmÔ¼}ª9WÙ>eóò56vp$F9ØêÇ“ŠÜÔ䊼Ê' Ùîû¹Ðî£ðÕ¤ãÅ«ƒ‰2X+hÙgv¤ì&A_É›š¾eÉ÷²ÛhwæµÝ•<ò^Ä%ßÒT+w~] sñµŒ‘çÚ\ƽtæòœðmï`1½ŸkÐù(©}7V××Wwàù¨í™i4±t ¾²¤Éœö˜C>ßëYí>sñL•­ Èð[ÌA’Á?ïܹjIš;[ÝÆ›·Ö›CÝÄ“§ævß%±e5鄎­ý…j÷tRû–$ŽÐpFY&fónzúcSâGtÓàGÓœ™yYòcëïÈê£ßç¾Ù©Ôä:ÂKüNè[·B'{¥árèÉ^âÄÀ|o>=Q^ä‰ ™ª¢:{®§Ñσ\B_á>ehØv_»â;d ˆ©Š— ØØ¥KÚ;O‰›Õ׿Kù<¥“}ÿgš:°ÎŠ~À^hÕ4íêR+ú1Uò?ÿZ+ú9wôbKö±8Î@èz¨X¦[Kû 7t;µî?–¢·Úþ‡ßi‹îSÉ+7üúwÿ6Ûwð®Ú /m¿á3©No¨ã•íÄÃ{ÙPÕW7Òêñrta“?V¬Ï‚·É·%^µ–Û{0z[}LÖŸ©ùG}kIõ–ºêu5ö×FÊítºß†™õ"r37T××Öy¦øÖ_\Ù{£}îà §¤I£NïmÍù­6&És¾y·(é¥)’-Œ7xŸ<ü×n »8ïêW+E:*tž(¿=GÅDŸ‹G? ƒtZâCó‰ÿƒhÿHQƒ÷¨²AòI>lhu<ÛjnÙyýn¥¤ËÔ$>ݿルB7·T7µGë|ÝšÐu«K~£÷ªkݧ4võ½†Ä0—!q DÙµ—üçŸm>kã-Æoþ,ò6ñÕ¹®ûçEŽîÐ?z‚&mY¼æZ¿užüü×L‚Ûª›ªô£,.ðŠvÓ¿½š6ï•xZü¼дy¥y˜@íúæo7¡Þ‚([L\¹˜¸ ¨]Ÿ›×Ñ&öMÑÙÚx ŠïRîõ{›jõzI{ú1ýV³ÙµÎë/™Ì1øÉ[²6^[LúÞ ó¢øX“dˆy¬£Ý7eJ(v­Dþ·Qp½æèÀQIr5lõYlì¨Å@ÅG|Z­?´èш\ÑÛ]l|«–>fuoG¿ÉÕf›¨ZÆèï re4¿ÿ]t×`2Š.Méáo!X\½®q­´[\¿:y½\¨d}œ>$PÚBÉ}¥lçù¿·‰þÜvÄ!rôžZEÑ›±®Íæ_ò¦v#=>Ði£ƒ{Ûv{…þ%ïq ãÁmÑ>Ônÿƒâ.áЦ×,§Â»ÞïêÓÓßÁvÎÿz‘TÁÜšmþ>ý²@RŸÄI\â«?¢î¹_$rÙµÁæk?dý£èµ·yy¿Ùûé¢àÉ ø7&¾O\Öeõ²Ÿ‘¹§Y昵[ƒÛ‡ùÜFN»}Ó•ú;û’Þ±K3G¿úšÜÆÁ1k¼©±Ñ~Ü{{cÓfï ¥í}'(´fµk­íŸËZÂMíŠýÝ|9‡l­iÚé>Ìû͹´åm¡þV=Û>Eˆ~ˆÐƇè)‚¡4ËÖ´¬+nÿyBG:uÇŸ(|£N¿Wò#Wû´[xT–x”x=ZŸÙò·ú3Z:t¤Û$w­ÝýßAc¿oÀ[à)ÑöoV4Ü.íQTô],‡¶›áœq}›iÉór¿NKú t—¦%›ÕwRDÝû‹ýfLT]É’ï­*™&ó]œŽlo«é¾M¹’[¬½/Dså ·×åÓz`«G¯xàgOJ3Ì̇¢>à;êm¨kn憎ÒöQo«[â¨'½ƒ#ÏKçÑ=󯡮¾q}pÜØT¿µ®ÚÊ¢§‹„¬¦a[ða÷  •F·ªù·%xQÏü¦MÕMÕëZþGžDþ—£ß> :ÕmÏœ•}ä}b˜PâÄ9øŸ]ÏDšŽ21íùÍ21J›‰üÏ®Ä':„M%ñ¿ßè R$“ø¿vo7¡ldÙT̘ŠÎ#zóÔê ®ùexBïG÷O“ $?vlN÷éYXUGÎ×¾ûGxíªÉøªù»ëû¦ÿûg¢¿æKÿ%ϘÚßÅWh÷ÉÿÂÇ2Ò Ù¾û–ï¿ab*)Ä(nÿ»õŸ+@è¸Æ ¹ÿ}§4þû±¦^µç«öÊÌ¿ˆ=߯¦êõµÁ{ÛÁ¦o£luü_ò•8?íèæ/¹¢¿áæ¯ÃK±\,° ºK°3}Åüè-‘ ²YfA¶ 1@Íb4x"g¿œc¿uëkÛÏœsïQ|´ò0YúÍÖ{‡žø°%u‘@úËÄ4_û¿ñÆmªÙPÓ”ø>ðà£ú@ÊÄÝcëºM²_ÕˆµÍæµÇzÙ—ÕíŒ/¶¶ljjܺqS¼Vv²‰ë4Ôl?+¥âÖÙÒÅÁê4øÎ:ógâæOµ®W7m þêh<·¹¦&¾¬QºÒÚúüü@Õ`ü³ð«Íú¥Uö~ÙÛ–1øK 3›k‚>ÇŸ²ßo}M³Ü1ÖÖhw¯1t?¹Ôf¯“›XŒWáéýᇖ˜µ§yºL´n4Þ^S$ªY‡w7#Ôÿ)@ª52œÛ‰É®þýÒ¥6D;ΊëKÍ-5Íæ›‰7è[ôw^yŽ ¿I2{üÎÌð°—ÐÏúV…þ¢jݾáÒÑ{›OõÊȼ%@wh¹5â­Øà ±›£ÿHò>48ݱ‡>&~}MýÚš&{‰½©V†ùãëZïQóa·ŽŸè/nHú˜c<ùs’;;ðá¼VKƆP†ÄsjhØ•§"ˆe>U™¬~ë·ˆ¶½%Í|´.9Zi¢™{‰„š^w£#êEÒ6¡4Lßò([Òþ³{¾ôVI°þ u¹ŽÝÙýw±o!$wêDø}éCõ–-uµ5úÅüˆ¦±ÌL„K¼/ÞÒî{Òq_ohWäkô63Í¿ñV#¡Ý%n« ÙѾI.Ûö.'ùŸ7ÆÎ¼oÚOÛÇá~zë£0îš¾cÊÿP/x?€:”)`êqOÊ•ÅÊöê¦õy‰`ÜŸê·î›((½+Pžj:VRÿË_&¤ç—IOùÚx‹‡K«Ñ¡UYéÈ?ú³U¾Â.jØæ+ï.<ÎóœÄËQÅmã+º¸¸‰ åìø¬ÈïF|ÓRú·¿‰½¸w'=ŸÐ~YßÞl÷ñˆê"·Ì¾õ´zŸ•”üVÃwøzöÿî'ßÑß)® ïìù÷ÿʇÃí}A˜«‡oðˆØ?'úò úÌ$i’p-Ý;÷w|: =6ÜÅù¿Ý³€Efãle° £ ÍáqY`„7ÔA񠒡 ÉÛ4Ú/Oìåk±YKüý¾íMRM²?h;öŽÍ8ÞiÎÿªuŠ5aM—уݚY£%ß‚Lôjœ$˜Gëõ|&ø`#g™ËIH ~xžt=ƒçÜÉÅ·‘ªZXš6Ö,—[P ‡ M5[šjše»®_­–8žˆÇçK’ëëëµ µøxbRQš9Ùà«ò•ÐÏjj%4ÉýØügs2ØÕšï ΑMãÍÁáÂÎø:É­þÄi&lõ:s¸*¿lçå·šBZ“V¢N¥YŶ±±¹¥íc‘‰ó²¤íXE|ö38ø…õëöܹ¥&éTh±;YŽÞ€¦t¤ÖÍÒ”xº>øÓø})}µin­wœ$j¬a[ãf)Þ-7Í–ë¾ ¯U[×6èAƒ¶I¢É-èðÄ–_.²—ù‹”ÍÕÛL”æäÓ'P-ü Õà¯Û™f4+n£¸³q»­Þ¾)˜kM1šƒñº~kÃzó—%‚$8^"Á-&Á–MÕÁ˜äS| ©È¼'oÒ´£'±Ï—ŸÏé‹”sÑo $2JλírW˜¸öØ¿f½ûcp-æ;RWÀ4jÖÇPIÇ_²©i0Ç_³äâ¡Þ"#¬& ƒ]Û •WÛb¿þËt2}täj-3éxо­ãðÌÃ5ƒ)Q§Zv^+Œ‡&š]9äê‡C®à¯´{ÎNs /wRw÷K§zRÕÍÍænï]Í'ËBgºSÛ<ÓÝØX·Þth™C¥ï5ni©­—iµ)ù¨µõ õins›Ç¹ÁUôŒØ¬ªƒ?fÿk0âÜÕS’ýs!ñíµ2E4˜®t.Yƒ`.w’­¦4Õû’qõõ[j×ï²ûJ´óî·¾Ñ,øÖ¯Ž«ë ƒ ¯Q»³Ùx|YcCM0ËÇŒ2ìp#Ðèówå ¸¹½Cà]—­kÜ^##Ñôñ„c«¹óäb‚¯m”‰ÂµD¢Š]=NMÜ(ôzÁQhMqRG Ÿ5ƒìä>vžeOŽÃçÎA¢UÁ ãA’UÁ#Ž KéºÍþ“èkÅÞèÜvO å?÷ÂX±o¦Ï쓎ƒßÈ,ŒgÅW&ºbrÿs7òÄÿÊ@XºG0£Î‰C_:Ùæ9±ÿTê}#eÐ~k×ûÞ“ñ¿ó´q² ÍÕìwôÍþïÃð¿èÂ}²0žôÚKô­õ+ &Jè¸.ðé™ja»1©(‰˜AJ¡˜‰AŠYÚ‘˜A‚ÓãE‹6tìݦÄ?$'Yô«êáËMKÈõnä?Œ³¿¾¯ä˜ŸÛUhÏ2Šàçv´BÁ0³§Ü :¸¹ô×^ÒGê}›êý5ÔÇwx@Óî7|u ~Ö®/ÔzÿÏiü¯Êɽ`~Lþó[k¾ÑMS$¦D´ÐCè§TIcò³öD Ž×R–H/\ܼäk¿¤' mÇÛaþ0Y{ñ‚_ Çó?Ê’û¾¤¦­xòKzÑTÙ~>çˆÖ牻¨çü!ØóÌò`T‡–²Xûð1ñR-¯·Z!¶½÷M¡½opµn|ÿ ™|,™:¾—ùV;‘Ô`'²©q{òJ'¯õoúö ó²²¢· ËdmSÓT´´¦z}xg&XCêR¢sV…ê µ9Xví èÁWVšþ°¶q‡[Ìší¹ì¶ªkÎ8xgÏþÍ E’z‘¿ëôs)»µb0ؓ֊T°]Y/¶Y®ÿsÖ~gýض`GðF¼orûW¨;ZëâÉ‚ÿ‰ªÿÎÕ‘ª”PþS*ÖZ®F¿ƒéü¦E‹ÖRzøáÅq“|®yåÏP¿uÖ>_X–xð‰¤6UëKx”“¨Êçú£mÔkÛ5l#E ê ¡ˆ& ¢Ž´ÏÑõ•FôˆÐ)Hâ—’NA–¬ìjªÍaÿB¼.éÿ6&ÿoCòÿ&þ‡¯hN ñ;‰ÍØÂDhÜV]œ ƒ?3ª?ëkéÅIƒwlº°þ">Ó«ÿ[׸qIíædÕD£ :Bâ{äôw®Ä'ƒÔÌOÉòt-†þNóÖúúꦞߒ-v}³þZâDÉ¿5ÉüÖ¶uÛ’¯—1q1ïU‚ P&¤ ÂzUÑG\s“ޏB¯wÔ$æ)ÖoX® Veëãkw+6OHõP?4ƒÁâyÔnœñÐûF ·vÛÅ‘ðÛˆY苨³õ¬ˆÉÂÍP…mOö«Ý"Ù¡ïc‡ñãTÓ»Þ FÝ=qΑD® ÿŠç9é`¹Y'Çký ¯òƒs­Ü[ô6g¿o»ísŸxâ£èИ­ òX$± û&Èàì-“†t¦¹#Éú:¾GeQð‚ÙΚ–öRÙ`Žz‘ÍOȽ¡Þ3Yù2oâXÄ{ΩiÁŸ•ßÍZü%ú]ÑèŸîð¡]<ø˜þünrDî-·l±ÑÖÎ ”æ\4ñ­¥‰«ä…—8žÞ»ÀõÞ:í¾áîjn UîkæóÜQ´»ÒÆv.¥_nüí¯ÔÐΕô»5:r¥9m¾YÔT³B°¹‰¿ m}²BM|ü./êó¢ó¿ÉçEƒ‹Ù÷‹Ìk9­¥Q:œ¹£Ö6àochÁrI&Ns¼/ëÅП°–XëjÍMJÎL´` ¸¥º©¥vÝVóˆ)TÂàÎô÷6ô^”ßêM#};(8+vŸ(Íûï¼H4×ÝpÌ­^]”²óê/3|g3+ÁLQØ·úrõIór·´õ![keL–H·“ptñoñv‘{)(üv‘$TUù2QI;/i_ië]¢œöÞ%BŽÜ„=²gbpاCÁ›¤§CÁ/tø¯Ð¶ùìá ïÜØêÏ Þ nl0ý1ñÕ ¹Ö‘X±%º¶¾Œ_9/ðè´àßì·º7Êu—t¹M[·o¨"¾Ù}l×Ìža…+ù¿,¥a]cþ”¬]DÈÅäžd>½jz¸+™Jjª×mÒ2´¸¥±¥u`qÊößÞ<I” ÷ð®«ÙÖfÆÂË~Úe»µ¡öóé\í?+L|Es8tðvn0…lÞ/¢š ˆ_m®¼Ñ3Ñü®)µ%ƒ ѼY“xVIÅ—£a}ð0SZٽѼ‚ìªý¿úèÍÿ¸Ãÿè­¾Õ;aÑ 6Í´„2^Ð<¨†ÄçÎM*íž*»»_GN~sZLC¸{sÿ+éÏ4ã:ô8¯#lô8y~Тˆ$ v`‚!VP;ñä?[SÝÒÒ”¸Ha<3ñW3óðTÈ”J'“è¯Ñ‰Ëœô›‚·û„Gg #˜OÍýHBg’à™Pƒ™ Q=² ªV´!1eP©„Äw¼å¶˜íÌ ®Rô¡B³w¯qG×±Îw["Ú†DºÏAÖåÙç¾Á,b<²ª+]ÒwIJ‚ ˜],ƒ¯A ^'®”îAòùA:ûšìŸ1a£? ¥“’É~]®ô©øº­õRòÜDdYÿr`u]cÃÆ ë´s0Þ‘îh9/‘ñ¾µûÇóã.mùÿý]½G N}ÁsÅp²‰aR˜tµà³‰ ]»ö;ù&>ïiíðV¯O%–ž·§VD¿=¥Ëcýlˆ[ ûïÆ‰žŒ¸»%Ö‚Õ-¡ÏììÊYOßZg=Ì6%ûÿÌ+WöÐ3iIèyãjFÀà;Ìe¾égV[™A¿Oü s¾ h[à š¡Õ¶®ç¶u+k¶´µ8 ~á»Yœú¿{L.¼‡ ~‰žx%þc…%Õõk×Wce·~㜥Áùm;×Y"·û¸^'|Xå—èé–WâÏ@ïY­ˆü¿¯7ÅÖ¿ïOIïp»P ½¥íŠw«]è-bêJçæŽ–]Öø©Ã=ÅÖn<é›8Ûi“ÆmÕ¶G&åå_«Èæguö÷7Ê¢²îäå´o·BþÿW¬‰ËDþx;5MKü¡ñ¥óµ˜ø3Û×ëlÖþÌöß°Ñy.¬‡ßFˆþ“„:鵊 ~+þûÕ:†å ¶dþÿëýÿ¹õþÿçæówaaý*¢Þ/Ì%‚¿ˆhzoûcFïF§!Äv©ÝÉSïF^¿yuuÓY[çÊõ ƒQGwÂ×d4¸‰(ú§êJ÷˜\’x0“™7v}m}ó¾9$gÿoõ©êæ9t+Ü¥7 «wDËu²+¯Àšöz;ÜwåËXƒù‡TM°¹© –dæ7 eš[ÖK½%œôé‡è¯æiýoG»ó`ò?û= Ñ·Ê =©@I0ø¢SéC”w¢.%÷u™y”·{BUm¿°âw&¼XêíÑÃòunÔv3’ÿ jÊ*û~£¿¦”èU­ú…d¢ÿ@¸±ö˜ÑVß]Kùï×ö “âI-ÕúÒ¤½Û¨„ðw3&Ö/¡/hÄWÑÍ%¿á½¢¢š/ØMD·oÈ·ÿ켜J¨ÿ‹“q;màÿòiƒ=ôUZnƒ=Ö¹ˆž(\“÷7ø¶H¹P¸¹äÒ¡÷‰£_ç¦ÿß«ÝþôÌQFb>Lª]ùÿ¼DÕçš/ßÎåâν°ùUc+çáNGqç¬îÈÓ|¯~â²@3nœ6GP?Zû6Vt7ÿ欶yA‚µ¹ÑÓ‰Eй´]±$® uûß÷_5×j7'Íã¦e;°³=ZªHËTØîœêþ…-žÙ¹Qñl¤™Œ„"ÌYmž‡ï±³^6ÛÒI\œèϤGÆ êÁ$–¨(;‹EkgðGŠƒOLñNÅ"úëíÌ¿š¦&Ù¡dRßÅŸyrOõ›_Í%ݹÕÛl>1ù»–7ÅuÇ öéqôçg’þiï÷åƒ÷߆ ¦ßÉMSc¹`^‰L-»~{ß°aßàc#ÅÒØ¹6a3ñù…ýÛ“þÞÎôÕÆW¼Åb_Åb]; vÒsày ë’«ÇÖ†Í Û¿ÝJѽ¶y~m]üÔ;ð&,ü[½Zjeˆ´T×o‘kô7Ĭçλó¨»>9$ñ‹½¾ÆU;ëUW,ßcÑûbv÷à[\lIWêiþ&†¡b””lj¬¯)YÛX·¹¦©dnãºÄÛ,%+K¶lÞØ\RW_S)?Ϫ« N¥‹Wú/ÕKJ§ßó–ú²šíæ›åšÛ«¥-ÕMÍ5s«e ëÒ/ûø%úecÙ ì”ið믿¾Ò48ƒÄwß¼Á8ñ½Àwß-Ä÷ß¼ÁaÄß¼Á>Äß|O÷s§\ÄJ…¯¡ù]爭òèÍ¿åÐ*ß8ñMY‡‹„¡‰U(6"B¯ñG‚ï¾®©ùgˆ8¡æoêrG¯ñÇ?8ñs3‰O'4ü8Á,âã@í¦ücÅÆÁϨåÏŽÐk~ãˆÏP~ùÄj~Ä—'R~&‡bø'j~Ezͯ|oÔ_oª“_ñqBͯ’øL`>å7×ë²(j~"ôšßDâ‹€{ÄÜø˜ ¾ò78†ò¯">‹PóŸN|6Pëßä?Clü%À*ºþLèûâúЦ|æÖ0;"¾–oN,¹«^yí‚$¡ÖßBðý 78ˆÊ¿”ø!„ZþeÄޤò›v‡¡–oE„>FZžT¯ü*ü<¼ÁT¿ûÊüwºóÈóßbÁß‹PçÅ=z½þAÄ÷rùåÓ{ù(B­ÿµz¿Žø4àØ˜kŸÄ#ÔöÙD|.°˜ò«Û  ¡¶ÏÁzÍo³§~JˆoÄϸ'ˆúídîU[ŶÃߨ¼©mb§yô;ñýz4í´CìGð§jûî$>•ÐèM=JüpB­ŸÃˆ ÔùÏÄ?\ìHø3õúGˆâÑkùŽ$>Ì¡ú;Jìøs µ¡×øÇŸO¨ñ vü„Zþã#ôÿOù ˆ?…꯿‡7Üi±äögþ4üŒ6Pû—ÿg}ýõûÇ\›ÜøsÀ£ÍGüùàµÍ v&þ—àuÎÖõŒò×1oPçS¿—‰]o ®ßÌÿ_.ÕRîÑkù¯oÖ,Ý€˜ ƒþw•ØÕð$Ôþ÷kÑ—zôÿjây~»Fì:øGjÿ»6B¯ñ¯#> È÷ç›À§AŸæÚ2˜ÿn!~8¡Î·‚O‡ÞàPªŸÛÅî„¡ÖÏòã^ó¿“ø ¯C<›æ÷[âã@^ÿÜ%vü„Z¿wGè5¿{ˆ/. ú½|ò7¸†øÁÇÁÇ]ûå{˜xÎAË÷ñj\¾ß‹=¡–ïѽ–ï1âKbn½¯ùÿüäopåÿñ鄚ÿÓÄǹ”ÿ3b†?PóÿS„^óÿ3ñ%À™”ÿóà3‘¿Až¿^ŸÞàlâÿ>¼A¦ü¯ŸN¨åÿ;ñq`!•ÿU±À_D¨å-B¯åÿñ%ÀI”ÿ[àÇ!ÿq¡üÿI|:¡æÿñq Þ?Mþ.¡æÿ¯½æÿñ%@^ß>ùÔõ…ùùcâÓ 5ÿOˆyü|*ö9ü„šÿgzÍÿsâK€<~¾¯g¹Éõo.cùtBäß©ñq ŸNQãË#DþºDè‘Cù Õ¿Y|òWÔü{ŸN¨ù÷!>¤þÓIÖªú‡r§þÓ©_„^óïO| ú§Áàó‘w~¨þ‡ŸN¨ù#>äü%f§áðçjþ©zÍ8øäWÊ/x¾‡i~éÄÇÜ?ä~Ôi üy„š_Pó/#>äú•µc§Jøó5ÿнæ_ ¾ù¤ù­ÓdâÓ 5¿)ÄÇ4¿uš*V¡æ7-B¯ùU_\Oõ; | ò7¨ë[“ÿây ¥ùÏ%>ssæ?OlAÌmEÍ~„^ó_¾ù•†Ú ñ鄚ßRâã@Îo™Ø øó5¿åzÍoø2äWÊoñ鄚ßjâã@Îo/±½áÏ#ÔüÖDè5¿½Á—#¿òPû@|:¡æw ñq çwØZøó5¿ê½æ·–ø ÿ à+¿A_›ˆO'Ôük‰9ÿƒÅêàÏ#ì”ÀN›#ôš],y¤zå·`ÿeüù„Z?‡€¯„¾2T¾mÄ Ôòm'~Î_:í;þ ÂN‰rtÚ)ú|^ó?üxÔÿx§òûñc5¿Ã‰ÏêüfÖ&Gȶûcø 5¿#‰/$4ú±bG_D¨õ{4ñ%ÀRÒK|¡ê#¾8™ô? ~ ¡ê'~péO$~&¡êO"~6p>éO!~¡êO?!æžpýF|¡êO'¾¸"æÆçÁOD\ƒÅÿLâKu|ý”ø2BÃ&ð3á?ˆ%Ö„#ºÿ(vŽØµð§jÿ9—øtÂN‰~Úé<±_ÁŸÔçF¾Ø/àK¨ñ.v¡Goþ-Oh-ŸM¨åÿ¥GOÏ¿ góG¨ú‹<åcý¯ˆÏêó“ÿ¥b—Ã_L¨å»Lì*^ã_N| ¡æw…GOçㆳùôð×¢ý'ƒŸLíßCì±›àOêügö67ŠÝãÑkü›ˆ¹ýo»þ±„Z?·ˆÝåÑkü[‰ÏÒùu§ÛÄî€?—Pëïö½Æ¿Ãs}¾?Ýå)?ó÷ ~§€WÔüî{þÑ@®_s~ö¬G¯ñ >Ôûƒ©?s¾ö0ü™„Z¿‰ýÉ£×øŸE¨ù›ó·GáK¨óÛï#ôÿQâÇéùf§'Äž„¿˜PÛïzÿ¤§|ô|Ép­ê—ùgÑ~SÁäñaÎÏ^€? ¨÷oÓ~û—G¯ñ_ ~ 0“ÚïE±—àÏ"Ôö3çoïxôÿ%âÇõý“ÿËb‡¡¶ß+zÿwâsåÔ~¯‹½ ¡¶ßzÿ¦§|Ä¿ã©_æÿ…ö›~Z̽`Êÿo±áÏêóOÓ~¢íÜÝ£×ø?¨óiŸÄ>?—PÛOîÍ»zôÿâó€%”ÿ§bŸÃ_J¨í÷Y„^ãN|9pµßW‰ÇQ¯ŠPÛïë=âm«òUßÕS¿ÌwGûU7˜æÊß¹—˜¾óÔùOÚ¯³±T^ã÷!> ¨ë7iŸÎ}ÅúÃ_DˆöëÜOl˜G¯ñû_ ,£üˆ ‚¿œõÛy`„^ãò\ŸÆáZ•ŸùTÔïtðõþcò_çÑðÇ:?™º•¹¬s®G¯ñG?Hë£ÎÒ3à/&Ôú•XÇyô?ƒø ¾gò—œ;gÂ_I¨õ;&B¯ñ3=ׯ$~œ§üÌç¢~g€WÔüd/Ö¹þÑ@íߦ~¥/užìÑkü"â3€tÿè,uÙ¹þ,B­_)s牽Æ/%~,¡æ/}±süÙ„Z¿åz_á¹>Ý_ תüÌOFýί¨ùÉ|Òy:ü£\¿2:/öè5þtâ3€\¿’OçYðgjýÊÿw^èÑküYÄ%ÔüeOÚy.üÙ„Z¿s"ô®çú\ =åg~1êwxEÍo©ØrøG¹~—‰íëÑküåÄg¹~Wˆ­„?‹Pëww±½=z¿’ø±@ZÿtÞClüãµ~÷ŒÐküUžë#~oOù™ßõ;üìPù;þ,B-ÿb×yôÿ âÇó(~µØ:øó 5þZ±ƒ=z¿Žø ­O:¯Û)¡ÖoM„^ãoð\¿”xá:7Â_Nh®Ÿ"Üfâ+cîŒÇðÝ„««÷ð¿žô±¾êÜà©_Ö7‚Ÿ~N¨þ[ĶÁŸO¨õ¿Uìp^ão#¾¨çC¦þ·‹í„¿„PëG„^ãïô\ŸÛG¸ÎÇÀ_F¨õñÀJªÿ#ÅŽòðÿ(Ò'Ôú?ÚS¿¬?ü\ðÇQý/v"ü9„Zÿ'ˆ]åÑkü‰ÏPü“ÄN¿PãŸ,v®G¯ñO!¾XNñOûü„ÿ‡b?õè5þˆ¯NŒ¹þsšØðO"Ôþsz„^ãŸá¹þ$âJå›L¨ñÏòÔÏdÒ ×ù2ø§uÿbÖ®ç?¨ç»¦~Îûü µþ~.v‰G¯×ÿñ K¨þ~)v!üK µ|Dè5þ…žë/%þ*ß2B©§²þ2Oÿ^FüU4~–jü_‡î?Ê«þ:Üßæ7¨ï¯™ú¹IìøÓñ˜[?Ü‹uäÑkü[ˆÏêùÔ@áo~ üÙ„Ú¾·?ŽÐðfop»ØÃðçyÿr‡Øoà/&ÔøwŠ=èÑkþ¿!¾XJõó[±»á/#ì”h¯Îw‰ÝëÑkü»‰/VRü{¾ÿ=Hõ7PõyêŸõƒŸþ1?–¼>zLìðgjý?.öŽG¯ñÿ@üX ¯Ÿ{þq„Zÿ{Ú£×øOŸÌ£øOyô|šòË'Ôûß3Äjý<'ö<üE„Z?{ã×ë?O|1¡æÿW±á/!Ôü^ˆÐkü‰/#Ôø¯ˆ½ 9¡öŸ¿Gè5þ«žòñýï ª¿ Bÿ¦§ÿðùÀ;Ô?õÙ!îd^êü.ñS€Ó©}Þû7ü3µ}ÞO|F°•^¯ÿoâgêúÊœ_~èáUÿ!égjû}DüBÍßœ/~ÿ\BÍÿsÑ÷ôèõú_?PÛÿ?b_ÁϦù}¡×ø_¿ñ»të ÿ"B´—.zÄ7ÚVå[D|Oª¿Å„¿—§}“¾Í™~`èþæáþ»¼Aºÿv*–:0³÷ß.ÃÄzô?…øL Ý»¤Š-€?›ý£ËpâÇâþÛe„X.üúî(Ý»HN]FÃ_L¨ñG‰óè5ÿÑÄ—K©~ÒÄ2à/#ÄüßEê¬Ë^ãg_¤ûo—¸GO÷_ÃÙüøí?™žòÑýÓp¶þ&ª>ÇSÿ¬Ï¿ü˜ÛßNÆ`—bøK µþ¥®»Lòè5~1ñe@Ýߘú‘ßí¢þ B­¹V— ^ã—_ œ@ñË=ú ¤¯ ü&jýUzÊGûÃÙú› Ôý‰ŒÍ.“‰Ÿs{­_ÙÓt©‚¡Ö¯Äê2×£×ëWÏs˜–_4]f¿€PË7#B¯ñgz®¿€ø¹Ô¿2=ü‚ÐüæbþZ^QóßMl)ü£ôü¼‹ì¥º\êÑkü¥ÄÇcbnþ’½P—KàÏ"Ôú_NüXB¿Vˆ6κì.¶ü…„¥Øþ½æ¿ñE@ZŸuÙSl5ü%„:~V‰­ñè5þjâK 5þ^})é×P~e„Ú¿öö”Öo†³õWN¨ú<õÏúÁ/F¿0Hû‡.ëÄjàÏ"Ôú_/v¬G¯ñkˆ ¤ýC— b›àG¨õ¿Qì`^ão">‡Pã×zô9¤?˜òË%Äú©Ëfâó µ~Å¿€Pëg‹Ø½^ÿâ 5ÿ&±ø‹5¿æ½Æo!¾„Pãï;þRBí?;#ôÿPOùJ‰?‚ꯌPãéé?Ü?¥þYÔû“¹?Gü$ Þ?Lýÿ@ìø«µ}Ž»È£×ëŸ@ütB캜(v’‡WýI¤ŸA¨íw2ñ³5ÿ‰ÿlBÍÿ4±Ÿ{ôzýÓ‰ŸC¨í†ØOàŸK¨ùý8B¯ñB<¯á5þÏÄΡ¶ÿÙzާ||ÿû9ÕßBBÿ Oûòþä"šãþ’Ðý1Ì_Šûïnà òþá ±«àOÆcîþ{e,Öµ»G¯ñ¯">Èû‡_ ß þlBíW?ŽPï¿×ˆýþ ï®»þbBؽæ=ñ%ÀRªŸÄn‚¿ŒPçÿÅnñè5þMÄ—yÿp³GÏû‡[(¿ñ„Únõ”×ÿwRýM Týo<õÏúß‚_‚þ±$–|ÿ½Wì>ø³µþ'öŠG¯ñï#~,ï¿÷‹=ÿ8B­ÿÄöè5þƒÄçéü®ËC=ßÎæ—O¨óÏ#Äjý<.öüE„Z?{Á£×ë?A|1¡æÿG±§à/!ÔüžŒÐkü§ˆ/#Ôø{þrBí?ÏFè5þsžòñþ Bÿ¢§ÿÐùálÿ¤ó».'~ Îﺼ&ö:ü3µ}þ/ÿ ëõú¯?“Pï¿oˆ½éáUÿ&égjû½EüBÍßœO¾ÿ\BÍÿ_b_zôzý÷ˆŸG¨íÿ¾ØðÏ'Ôüþ¡×ø¿Pã"öü‹µý?ÐküÏ<åãó»/©þjü¯<íKço†³óc¦‡ïº?†ùî¸ÿ.oî¿]{‰õ?ÙûoWcU½ÆïC|&î¿]ûŠMƒ?›ý£k?âÇâþÛµ¿Xü9@ºÿv 6þbBoråÑkþƒˆ/–Rý  !æÿ®CÄRz?Çp¶þ¦ª~Oý³~Oâ§«(ÿ½Äö†:¡Öϱ}=z¿7ñ3€t~ÐužÖ?†³ùÍêúÄÌû¿¸‚úÏbÁ¿;¡öŸÅ6zôzýƒˆ_I¨ùW‹­ƒB­ÿµz¿Îsý=ˆßHåëáöŒ_æ7c~XÞ`åß ¶þ à˜˜›Å.ôè5þâ³€8Ÿæ‡CÄ.€¡Öñ9„:?4‹.PïOFß"¶ þB¿Uì(^óßF|)öW]·‹í„¿œPûÿ±Ã Èó×ebÏÂ?ŽPëÿrâsuþºBì6øs<™óÛ_Ã_B¨ñÍùí-½æÿkâK<™óÛká/'ÔñsØõ½Æ¿–ø Ï_×yô<]OùM$Ôþuƒ§|<ÿÜBõ7‰Põ·zêŸõ·7÷Ät Ï_æ|õ.øs µþÍùêýƿ‹ø< Ï_w‹Ý ¡Öÿ=b÷yôÿ^â <ýΣçùë>ʯ”Pëï~OùJIÿ0Õ_9ç¯GˆŸäùëQ±ÇáŸN¨õû˜Ø3½^ÿqâgjùÿ öGøgjùžˆÐkü?z®?“øg¨eyøgCóK˜ó×žà Ž¢üÿ*ö"üiÀŒ˜›¿^}^ã¿Hü îï ÿ7á»Ã?–Pëÿ%â³ uþzYì=øÇéü¼«9ß}þ"BoÎwßõè5ÿW‰/rÿ~MìuøK uü˜óß7=zÿ:ñe@Þÿ½áÑóþîMʯ‚Pû×[žòÑù·álýUªþ_žúgý{ÄON¤ü¥ouýþI„Z?Š}âÑküˆŸ œBñ?öè§þÊoPǧ™>%~põŸÏÅþÿBBí?_ˆ¾‹G¯×ÿñ‹5s¾ü5ü‹ µþ¿ŠÐkü¯=×§ócÃÙòñðÝ=ã—ù˜VÅÜßÊ ù¡›ÌÝúŸ¤ù¡[±m½ÆïKü ÍÝú‰m…,!ê¿[â³ 5¿bƒàÏâþi>ÔÍ\c˜G¯ù ">ŸPã !Ú¯ÛÊõ¨çúÌ#}Î?» Óz-%ì”È£Û±t^ã$¾œÐÄï&œ´U·Ñ^õ£I_ Ôñoê.Í“?ëÓÁ›wÔÒÚLù¤OtË‚ PŸOHœnÒWº5{ô?‹øl êÇŒïnÒ—ºƒ¿ŒPû—hºâÑküqÄ—šøÒߺå_Ahx£Í%¾8…ò3}¨þ©„šŸô•n彿W@ü4B­_¹×u+†¿ŠPûoQ„^ã{®Oë#ÃÙòM'4ñ͵+ˆŸI¨õ7‘øY„Z“ˆŸ ÜêOîÝ´Þ–jýI]u[íÑkþS‰_ \Fñ¥.ºi¹–j|sþ½»G¯ñ§¿‚PÛGîUÝ´Ü»jýÍŒÐküYÄïA¨ã{žØ|¯úù¤ß“P¯¿€x6Í_ê²›–{/Bí_K"ôzý¥žúÛ‹øÝ©}Öjü•žö]CúÕÔö&ÔòíEü¾„Ú?÷%~?BíŸû¿?põñu;þõ„Ú«óè5ÿ‰¯!Ôö=H¬Ú뾚ôµük‰ßH¨í+¿ÛmüŒZÿ#ôzýMžòm"¾Žê¯–Pã×{æçZÒâ¹?0ßL÷§1^¸¤õK˜.Xí~/jsoÚ ~ xƒ“ˆÿø½Á¤ó£nGŠ 0së«£ÄNôè5¿£‰ÏæRücÄŽƒ?¨û'3w+v‚G¯ñ#¾Hû£nß;ÞëþxO|æOð”ùQû€78™ê÷ðû‚7XIüÀïÞà"âÏ¿?øýCü™à@ˆÿøÁ\Iü¹àP,yýós±_Â?¨ëÓþ¿û•G¯õóKâ³Üþˆ]äáU‘'>ó¿BþÕà òþàR±ËáOêó_“ÿeb×yôÿrâãÀ1ÿ ±«àÏ$4óƒYÛ])vµG¯ñ¯"> 8ŽâÿÚ£Gú«)¿\ ïk<õÃúëÀ¯¿6–<þo»þ  –ßÔßMb¯yôÿfâ³€t~Üí±WáG¨÷Ÿ[‰ÏÒû;Ýn»þbBÕß.v¯G¯ùÝA| °”ʧØoá/#Ôùÿ7zÿ[Ïõˈ¿—ÊWN¨ñG|%×çˆ=ÿTB-ÿƒbÏxôzý‡ˆŸF¨÷ï‡Åñðª„ôU„zÿþ=ñ3µ~ÿ öGøgjùŸˆÐëõÿè)ßL⟡ú› Ô÷ ÷'âWPý>+öøw'Ôú5ç—/{ôzý¿¿¨ë_SþçÅ^€OB-ÿ_#ôÿÏõ÷$þe*_–‡Õ3~™ óÃ:ðu~2åCì-øsµ~Þ{Ç£×øoŸK¨åÛ£çùÿägÖ¬)„F¸pïƒ7geÄ«^¸àû©?•Pûï7ë?_¿A}?ҬϿ >‹P×çÿ!>¨ëŸžÂ‹uW]¡ÖïWÄjý}M|)¡áKü¹ÝîñXbÍ=¨û‹®ÂuëêáQ~Ãúà êýUòë.}¼{/ø3‘w)c÷‘½ÆïE¼^‡ÎŸºË=¨{_øKÑ~ÝûDè5~_âË€z>bò(6þJBÍ_æîú§ƒ×~¡¼êãè?ÆŸJ¨õ;&ÔÃú,ðµð+b|tÏ%>‹ã£{ñÙ@ÝóÍ_톿ˆPÛ§€øbB­¿BâK u|H¬îfß0ê× ®ŸMß—¾Ö½ÌÃkùË ß Þ éKÝ'ÀŸA¨ùK_è¾À£×øˆi}Ý]æ½î“áÏ#Ôö›¡×ø“‰/Òú«»Üë»Ï€¿˜PóŸ.6Û£×ø3ˆ/!Ôö™éÑÓþËp6¿RBÕÏñÔ_)é }Ì@ ¡ŽÝÀk¿P^õKÑŒ?•PëwY¨ÿ†õ+À×ï¨ãcñY„:>VŸ äñ±—Øáðjû¬!¾˜PëooâK u|È~·û¡òsê× Î¿‚ñ!ûÙîxx-ÿÐ7‚7ÈãCö+Ý×ÁŸA¨ùËz¥{‹G¯ñ×âùH0>ä~Þ}ü…„Ú~5z¿øb`)å/óA÷:øË5éÝ=z_G|9¡¶O½GOÏ7 gó« TýOýñý«í#¿ôKE;Àk¿P^õ‡¢ÿ*¡Öïa¡þÖþø‰%ýýœîÇŸE¨ããXâ³<>Ž»þ"BmŸï_L¨õ÷âK u|/v©üÜ„ú5¨ç—f|œ(v²‡×òŸ }3xƒ<>~(vü„šÿÄ.ðè5þiÄǸ?ããt±ßO¨íwF„^ãÿ˜øB ½ßÕý,±³á/!Ôü&vžG¯ñÏ&¾”PÛç¾”ôçQ~e„ª?ßSe¤¿ícÆP ¡Ž‹Ák¿P^õ—¢ÿ*¡Öïe¡þÖ_~+ü‡ÇÜø¸†ø,Bן äñqØŸá/"Ôö¹žøbB­¿ˆ/%Ôñq£ØÓ±ÄßA Üsããf±[=¼–ÿVè·ƒ7Èãã±ßÀŸA¨ùß)ö¸G¯ñC|HÏß»ÿVìnø µýîŠÐkü»‰/–Pþ÷‰=)¡æ¿ØÃ½Æ€ø2BmŸ=zîßS~優ÄS|ÿyí#÷‰ *êøx¼ö åUÿ4úñ§jý>ê¿aýŸÁï„ß ž›ññWâ³u|¼@|6ÇÇ‹±X®ðjûüøbB­¿—ˆ/%Ôññ²ðæçCQ¿WÇÜøø»Øk^Ëÿô‡7Èãã ±·àÏ ÔüßûÂ£×øoêþÀŒ·ÅÞ¿˜PÛïŸzÿñ¥ÀrÊÿ}±௠Ôüÿ-ö±G¯ñ? ¾’PÛçC¾’ôS~ã Uÿ‰§þxÿÚç{±DÿTÔññ5xíÊCo¸ ÿ*!ê·GçPÿ 뻂?þÃcIû½ˆÏ"ÄøèÑ›øl }ÄfÁ_DˆöéÑ—øb`)ôc…ëG|!ê·Gâ+Ñç{ 3ïGú?"fß0ã§Ç`±¡^ëg(ôG‚7H㧇Ôuðgjùä^Üc’G¯ñGÒþ½‡hzŒ†?PÛwT„^ã&¾Hû÷¢é‘ 1¡æ?F,Û£×ø™Ä—jûdyôt2œÍ¯”PË7ŽøràTÊ_ú^Bø§jþrͽ^¿ø*à ª)k-×LB-_q„^ã—x®?“ø *ß,B_éé?³H? ýó¨XbÜ*bþè1 ¼Ž åU?ãÇøS µþg„ÆwX? üÑðsóÇ|â³uþX@|6ç…bGÀ_D¨í»ˆøb`iÌÍ‹‰/#ÔúÝø B?–Š™9ûÔ¿A}¾næS»{x­ŸÝ¡?¼Až?ö[ ¡–o•ØV^ã¯&>¤ó{‰í !¡¶ïš½Æß›øb Ö¯Éo±á/#Ôü[ëÑkü‰/'Ôö9È£§û·ál~„Z¾uÄN§üe¯Ý£þ„šÿ&±-½^¿–ø™ÀÙTÿ‹ÕÁ?‡PË·9B¯ñë<ןCü*ß\Bˆ§ÿÌ%ýVôOóN ¡Î;Áë¸P^õ‡aü*¡Öÿ÷Bã;¬?ü÷á7ÈóDZÄgêüqñÙ@ž?äÿ{>¡¶ïˆ/êû9fþ8žø „†7÷®ˆŸ¤çç=N;ÉÃkùO"}¡¶ßÉÄÏ Ôùé‡Â?+?ÿíkPŸ?šþwšØð§1¿˜÷7zœ.öS^ó;ƒø1ÀBŠÿc±3=¼êÏôÄgþ§Èÿxðãÿl±sáÏjû›üÏ»Ô£×øçŸ ¤ýCóÄ~¡öóÅ.öè5þω¯êû7&ÿ_ˆ]ÿdBmß_Fè5þžëO&þbOù™¿õ{xƒô~O+Ä®‚?Èõ{¥Øo=zñÙ@½ÿ˜úûµØ5ðjý^-v§G¯ñ¯!¾¨ígæ‡k‰¯ Ôùá:â+¼~¼^ìFø§j~7ˆÝâÑk~7_E¨í{“G_Eú[(¿é„ª¿ÕS?|ÿ¹ÓÓ>Ìÿíxƒ:?˜½Óï„?þtB-ÿ}b¯ÂŸÔþaúÏýÄgõýÂ=@|.Î{<(ö0ü%„zý‡Ä^öèµ|_ ¬¤øˆ= ÿxBÿ{±?yôÿQâ'y|?&öø'šø3…{\ì½ÆÿñS€ú~’ÙÛ<áÑÏ#ý)¿ù„Úžô”o>éÿDõ·€Pïß&~piÌ­åÞÔãø—êõÿ¡×ë¿ài_ú|‚álÿYN¨ñ_!>xóoe‚³ý{wB½¾&üäç“¡7¨÷Ç¿.üIð!Ôþóñ™@Þ¿¿)ö6üy„šÿ[z-ÿÛàOo0'æú÷¿ÄÞ‡?—Pó{Oô)½ÆŸø< ßõø·Ø‡ðjÿø B¯ñ?$¾È÷ßOÅ>‡¿‚PóÿLô½Íû=‡ŸEˆñßSî‰=͚釈oÆoO¹WöL‡?¨ëSw²êYîÑk~éÄq3ý¿§Ì5=ÇÀ_Jˆþß3.VêÑkü1Ä—ÇSþ’SϱðO ÔöÏŠÐkü±ÄOêþÆô\â§jÿÈ#~&p>å'uÚ³þ„Ú? "ôš_¡§~_êiæËÑþ?ÿ#×?ÌüßSê¢çðgjûL ~æçžÅ&ßK¨z©Óžó=zÍo2ñy@í?¦þdÍÐsü¥„Ú¾S#ôñå@m?3÷H÷œ ÿ BmŸYz?ÛS>:5œ­¿™„øÓ ?-–´ÿì)sYÏ¥ðµ~Ìø\"¶¿G¯×_J|p"Å—µHÏðO"4ù™±ab¬ôè5þ â'uü˜ößÝ£§óÃõÜþ*Bí?{?¨çOæÞ°§Ø*¯ñW‘~¡ÖÿjâˈWý>žúe~jßL Æßéà òøY+¶þ\B-ÿ:±£=z¿žø< ­ozÖˆm„¿˜PÇφ½ÆßH|)P×&¿ÍbõðO&ÔüëÄZHï‡õü™Ø9ðçêüx¶Øy½Æ?‡ø Ïs=zçQ~Å„Ú?Ï'¾”Pë籋à/#Ôú¹Pì1^¯ñå@ÿ¿»þÉ„ÿb±_{ôÿâ§«¨~ÌùÞåðO'ÔñqY„^ã_î¹>ß¿Må›A¨õ{5ñ³uü_OülBÿ7?¨ëCS?7ŠÝ ÿB­¿›Äîöè5ÿ›‰_Üêï±Ûà_B¨ý÷V±;÷¿šPÛçâ÷îMå{Pìaø÷!ÔüŠÐkþ{Æ×>Ä?Fãw_Bÿ¸gþÚ—ôOb~4Ï(Ruþýx}®¢¼ê… ž¿*¡Öïs¡çOaýóà ¿Az¾Õó%â³µþ_&>HÏ·z¾‹õê ¡Ž¿_L¨õ÷*ñ¥„†7÷Þׄ7çg¡~ Òç_zšó±7=¼–ÿMèÞ =ÿîùO±wáÏ ÔüßûÚ£×øïÒóïžÿ{þBBm¿÷"ôÿ}â‹¥”ÿGbŸÀ_F¨ù,ö¹G¯ñ?!¾œPÛçSžÎ¿ gó« Týžú« ý×h¹OýSã£WðÚ/”‡ÞpAÿ1þTBÔo¯î¡þÖ÷üçÄÜßW”ñÑ«ñY„½úŸ ¤ñÑk€Øxø‹Ñ>½_Lˆúë5ˆøRBŒ^ƒÅL{œ‹¼ b~2ã£×P±¯åOþ<ði|ô’¹¢×(ø35Ñô*ôè5þ(âã@Ú?÷-–¡¶_Z„^ã§_,£üeÍÖk,ü儚¿´e¯^ã%¾‚PÛ'Û£§þm8›_%¡ês=õGÏ ´¬#ƒþ©¨ã£¼ö åU_Žþcü©„Z¿¡þÖÿsø Òý£×â³u|L%>ÈãcšØZø‹µ}ªˆ/&Ôú›N|)¡Ž¹§ö2ûÿ_ ~ ®¹ñ!kÅ^s<¼–ô¿oLJ¬õz-„?ƒPó—µb¯½=z¿ø8í!¡¶ßâ½Æßøb`)åo~gwøË5ÿb{zôwâË µ}Vzôtÿ0œÍ¯‚Põ«<õÇãko´ì£‚þ©¨ãcðÚ/”Wýè?ÆŸJ¨õ{P¨ÿ†õkÁ_¿ÁÑ17>6ŸE¨ãcñÙ@µb¿€¿ˆPÛç`â‹Ú¾fîÚL|¡Öoñ„:~ÄÌœtêß ö'ÁøÙ"Öäáµ~š ÿxƒ<~¶Šm‡?ƒPË·Mì§½ÆßN|¨Ï÷ÍøÙ!v(ü%„Ú¾;#ôÿPâË€ú~‡Éï±£à¯$Ôü;Ö£×øG?žPÛçhžžÎæ7PËwñ“€º?6ù vü³ 5ÿÅN÷èõú'?¨ï˜ú?YìTøçjùN‰ÐküS=×§ýµálùjü3<ý‡ž¿.èŸæ§B?ίãByÕŸ‡ñcü©„Zÿç‡ÆwXÿ ð—Ào0sóǯˆÏ"Ôùãbâ³<Èÿ÷ú+üE„Ú¾—_ ,¹ùã2â˵~/'¾‚Pç+Åd»õopEÌÍ¿»ÆÃký\ýeà òüq½Øðgjùn{Ê£×ø7êû¦ÿÞ$v ü„Ú¾7Gè5þ-Äêó“ßb¿¡æ§ØÝ½Æÿ ñ“ µ}~ëÑÓûy†³ùM!ÔòÝCü4 Žo“ßýbÂ?ŸPó@ìq^¯ÿ ñ €ô~B¯‡Ä1¡–ïá½ÆÄs}z?Áp¶|»jü?xú¿.èŸæ 4…Pç?ƒ×q¡¼êŸÃø1þTB­ÿ¿„ÆwXÿWðWˆ މ¹ùãeâ³uþx…øl ÏÅzß¡¶ï«Äjý½F|)¡Îÿ^úxLæ‰`_apµÿboÁŸÄø6ÏW{½)ú:^ëç-âÇñü<è¿o‹½ÿ8B-ß?E°G¯ñß!>XIù¿+öüã µ}ÿ¡×øï?8‰òÿPìcø'jþ‰¾‹G¯ñ?&~ ¡æÿ‰ØgðO%Ôü?Ðküψ¯ιùÿK±¯áŸG¨ý竽ÆÿÚS>š_ gëo>!òïÝ•ø…Àe®ü½e ôî ÿrBÕ÷ŠÐëõ{ƒ¿ í{U,éü£÷±Aðjüz?ˆø Ý¿zËœÐ;þ BŸ¡×ø©ÄÒû ½e¬õNƒ¡Æ¡×øiÄON¥ø2æzgÁ?PãgFè5~ñÓ3)¾Ôiï<øgjüܽÆÏ#~¡Æ—¶ì­õ:—PãGè5~ ñó )¾´eo­×E„¿2B¯ñÇ¿žõ–¹¤÷Tø—jü)z?¼yÆ—̧øR—½gÃ_@¨ñgEè5þlâ‹€´ÿë-eî½þB¿ B¯ñ_¤÷ÛzË^·÷2ø'jü¥z¿ŒøI@îÿ+Åö„¡Æß#B¯ñ÷$~:pÅ_#¶ü³ 5þÞz¿ñsÜ?;þE„ÿÀ½Æ?ˆøÝ€K(þz± ð/%Äý£wM„^ãoÝßU¯üÁ¡õE˜¯ÃúåjðÓböþÜ»QìøÓ qî½Eì8^ãB|ûw“X ü%„Z¿ÍzßB|°‚âï;þJB¿3B¯ñ%~Ö½; þ©„Ú~GFè5þQžúãþÚçðׄÚ籓àO'Ôö9Qì|^ãŸD|°”Êw²Ø©ð—jý¡×ø§_äùçt±Ã?PãŸ¡×ø?&~石ÄΆ¡¶ÏÏ"ôÿlOýM#þ|´Ïµà¯ µÏbÁŸN¨ís¡ØÍ½Æ¿ˆø ¯~%v ü„ZGè5þ%ÄòúHö;½¯‚¡Æ¿2B¯ñ¯"~ ° ñ» 'ÿßûzø§jû\¡×ø×{êÞ¿1\Ð>'Øw*bÛûvðº¯S^õÂû?ãO%Ôòÿ&´ÿ ëï=ü‡Çìþ¶÷}ÄgbÛû~â³´¿íý@,ÖgüE„Ú¿$¾˜Pë÷!âK ±¿íý°ðåçb‰óƒôþBïß‹=æáµüA#xƒº?ï'„ï¡æÿGâÓZ?†RìiøÇªþ)±ç=zÍïiâ³ô~^ïgÄþ >¡Öߟ"ôÿÏžëóúïy*_¡Æÿ+ñE„Ú>¾³ü|âÔóS¿/‹} ÿB­ŸWˆÏŽ£ú5ç'¯ÁŸC¨zs~òo^Ë÷ñ¹@¾?›ó“7à¯$Ôñõz„^ã¿Aüà$ŠoÎ?Þ…2¡Öï;zÿ®§|tþh8[S5þÄOêúÒÔŸ9¿øþE„Z¿Ÿˆ}áÑëõ?%~1¡^ÿ3žÎ ägæÐ‘„:?~éé_¬ÿ¼öKÕƒ7œí¿#=|wÌ·Àop´k¿>½ÄúxxÕ÷þÖXb~UDþ}úƒ×yMyÕÄügü©„è}…æß°~øÛà7¨÷'}†ŸEˆù½Ïâ³4¿÷‘2÷Y!úGŸQÄu} ó`ŸÑÄW¢ôI#~2—ô1û…ÛQÿ±>3ó™Kúdyx­Ÿ,èïožô1u ¡–ÏÔá^ãç–Pÿ1e,€¿”PÛ7?B¯ñ ˆ/êù¨¹¶ünŸ2øÇjþr­>•½Æ/#~¡¶O¹GÏõ[IùM$Ôò'~2Pß6ù‰¯ÏTøçjþ2—õ™íÑëõ§?Hûç>2çô™ÿ"B-_U„^ãO÷\ŸžΖo1¡ÆŸãé?4.èŸf ˜B¨óÇnàu\(¯ú¥?ÆŸJ¨õ¿,4¾Ãúà¿Až?VŸE¨óÇjâ³<ì%v*üE„Ú¾kˆ/òü±7ñ„Z¿û?žPçýÄÌþô·¨ƒº¿0óÇbyx­Ÿƒ ¿ ¼Až?Ö‰ÕÀŸA¨å[/vœG¯ñkˆyþØ ¶ þRBmßz¿‰ør Ïub ð'ÔüëÅñè5~ñµ}=zž?¡ü&jùšˆŸ äùc›ØøçjþÛÅŽôèõú;ˆŸ äùc§Øað/"Ôò¡×ø‡y®ÏóÇ‘T¾Å„ÿ(Oÿáùã8ôÏ»c‰ñ«¨óÇ àu\(¯ú“0~Œ?•PëÿäÐøëOü÷Ä’ÞÿísñY„:ü˜øl Ï?{þ"Bmß3‰/êúÀÌ?%~"¡ÖïYÄO&Ôùãl1ó|þ^”Ë îÌüq®Øù^ëç|èÞ Ï¿»þ B-ßb÷xôÿBâã@z>Öç"±‹á/"ÔöýU„^ã_L| °Œò¿\ìJøË 5ÿ+Ä®öè5þ•ÄWjû\åÑsý^MùUjù®!~påƒØMðÏ$ÔüeßÐçN^¯ñ³€ôþEÙoô¹þÅ„Z¾["ôÿVÏõyüßIåÛPãÿÆÓv#ý=èŸ÷ÅãWQçûÁë¸P^õbü*¡ÖÿC¡ñÖ?þ~øï%Ï >‹Pç'ˆÏòüñG±Oà/"Ôö}’øbB­¿§ˆ/%Ôùái±åç·AÒƒþ©¨ããßàµ_(¯úÑŒ?•Pë÷£Pÿ ë?ÿ0üõüÒŒÿŸE¨ããKâ³<>¾ŠÅúŽ…¿ˆPÛçkâ‹ Q}cÄ—b|ôì+{ôØ#¨_ƒkbv|ôí"ÖÍãü† ô¿oÆG_)CßÞðg"ÿ¾½ÄFyô¿7ñq ÊoÆGß>býà/&Dûõí¡×øýˆ/êþÆä7Hlü„šÿ`±^ã!¾’PÛg¨GOýÛp6¿ñ„ªOõÔ=ÿ2\Ð>ÆýSã£oxíÊ«~ úñ§jýf†úoX?ücðÔó;}óˆÏ"Äøè›O|6ÆGß±jø‹µ} ‰/–Æìú³oñe„Z¿ÅÄWêø‘X}e{õoPŸ_™ñ#}¡o¥‡×ú©„þà òø‘µpßÉðgjù&‰­ñè5þdâã@z¾ÞwŠØ4øK µ}§Fè5þ4âË´í;Sl6üã 5YSõçÑküÙÄO Ôö™ãÑÓþÕp6¿‰„Z¾ùÄk=Óþµ¯¬åú.¡æ/kµ¾{xôzý%ÄÏΧú—µFßåð/ Ôò-‹Ðküåžë/ ~*ßBB¿§§ÿÐþØpAÿ|"–¿Š:ì^Ç…òª?ãÇøS µþ ï°¾üá7ÈóÇâ³uþØH|6çMb?‡¿ˆPÛ·–øb`iÌÍ_F¨õ»™ø B?êÅd{õoçF±C<¼ÖÏ!Ð?Þ Ï-bÛàÏ Ôòm;Ó£×øÛˆyþØ.¶þRBmßz¿“ør Ϧ ÿxBÍÿ±c ÿB-ßCzÿ°çúsˆŒÊ7—Pã?îé?sIÿ$ú§±B?þ^Ç…òªãÇøS µþŸ ï°þyðÏÁÿœ»~0¼D|¡Î/Ÿ äùã•X¬ßpø‹µ}ÿN|1°4ææW‰/#Ôú}ø B?^~˜üüÔ¿A}¾bæ7ÅÞöðZ?oCÿ̹þû¾Øðçjûþ;B¯ñ? ¾¨ç &¿OÄ>ƒ¿˜PóÿTì?½ÆÿŒøBmŸÏ=úÒÿ‡ò+%Ôò}I|9pªË¿Ÿ`¿.ðO#Dþý:‹õöèq}£µ|p†«ÿ~ÒGúu‡&!Êׯ[„^ãw÷\&ñ½©|³5~Oÿ™EúèŸ%Æ­"æ~CÀë¸P^õÃ0~Œ?•õß/%4¾Ãúáà_€ßà˜˜?ú¥ŸEˆù£_:ñÙ@š?úÉXê·7üE„Ú¾qâ‹X?›ù£ßâ'^®×/“øÉ@]_˜¶“\ûõðZþ±¤¯"ÔöË&~!æ§~¦ «åçѾq2óS?©›~…^¯_ýßÀÌŒ¹ñ!c­_üY„Z¥b+ݯþ¨ûC3þ¤-ûM„:¡öÏ z?‘ø™@Ú¿ô“¹ _üs5ië~3=z_Eü\Bmÿé=Ýÿ gó›G¨å›Eüà2ªùÝ~ê_N¨×Ÿ¡×ë/ð´Ïrâw£ögÔøK<ýgéW ¾KÌŠ:?í ^Ç…òª_ñcü©„Z?{…æ°~oð/ÃoÎWú@|:¡ÎOæÄÜütØàÏ%ÔþSM|¡ÖßZâ u~X'&{ðØ+¨_ƒz>a懱^Ë¿ú¿ƒÿ{,iýÒï`±:ø35ÿÍb‡{ô¿Žø8ÎOúÕ‹5Â_B¨íס׸ė+(ÿf±­ðWjþ-b;ÛN»V~þê÷±äñq†ØO<¼–ÿ'пÞ ³ÄΆ?ƒPóÿ™Ø½Æ?›ø8Pû¯çˆ%¡¶ß¹zñ€“(ÿ_Š]ÿdBÍÿ±‹=z!ñSµ}.òè§þbÊo*¡ê/ñԯϯ@û¼KôOEWƒ×~¡¼ê¯Eÿ1þTB­ßëBý7¬¿ü›ð¿IýÃŒ[‰Ï"ÔñqñÙ@·‹½¡¶ÏÄéýÔ~w_A¨õûâÇêø¹Kìùù-Ô¿Á=cnüÜ#ö;¯õó;èßÿv,yü< öü„Z¾Å^÷è5þCÄÇ¥17~û=üe„Ú¾Dè5þêþÁä÷±?Â?PóBìi^ãÿ‘ø‰„Ú>OzôIÿ4å7‰PË÷ ñS€º0ùɾ­ßóðÏ%Ôüÿ"öŠG¯×žøyÀETÿ²ì÷"ü‹ µ|/Dè5þ‹žë/&þ*ßn„ÿïžþ³é_Gÿüg,1~uþx¼Ž åUÿÆñ§jý¿ßaý{àßß ú0|D|¡ÎŸ äùãáÇÁ_D¨íû)ñÅÀÒ˜›?>#¾ŒPë÷sâ+uþ0ïÿ˜ý⻨ƒt¾Öï+ácõc¸@ÿ/ðiþèßE¬ü„(_¹FÿѽÆïF|ˆò™þÛ_öøý{Â_Nˆöíß#B¯ñ{_ œ@ù÷ëÿDBÍ¿ŸØ ^ã÷'~!Ú§ÿžî߆³ùM&Ôò &~*ößýÍùÏpø§êõS#ôzýážö¡ó{Ãíÿ^,1>1>ûÇÁk¿S^õ™èŸïÃÿ>éM~ú~ŽŽŸ°~xSw£H¯¼y?§T~6ŸD¨ñ Á›2v#^õÂõ/ÙwæZñú,åð{RýËœÔ"ü½Íïš²I_é?Ù£×ø‰ï ìsýs’GßôÂõ¿þþ„Ú§?ˆùÑŒÿþÒ'úWÁ?œPûß´½^¿Šø‘À1–Øø3 5þì½ÆŸCüX`Å_ ¶þ|B¿0B¯ñ_,¥øKÅ–Ã_F¨ñ—Eè5þrâ+€(þb«àŸH¨ñ÷ŒÐküUÄk?¡÷7ú›ó•}áŸN¨ñ÷‰Ðkü}‰Ÿ œMñÍùK5üs5þAz_Mü<à"Š_#¶þÅ„C„^ão$~ pÅß,Vÿî„¿.B¯ñëÁ›w|Qü&±øjüæ½Æo!~(pÅß!v(ü# 5þνÆ?”øÑÀ Š„ØQðÇ 5þ‘zñ™À\ŠoÎ?~¡Æÿ~„^ãÿ€ø`)Å?IìøË5þÉz ñÀIÿ4±3àŸL¨ñOÐkü3ˆŸ œEñ*ö3øgjü³"ôÿgÄÏ. øæý•ŸÃ¿PïŸçGè5þÏi|t"½òâçOÀsç»fmpÅ×_¿mÎ>ÿiˆÿ5øÏÀìs÷ßkÅ®‡¿'÷_óý•ý¯“n¿Ú£×ü®'>¸ˆ®xYgëƒbîþ|“Ø-ð$ÔûïÍ¢ßÓ£×ëßBü àpjs~q;ü#µýo‹ÐküÛÁÞ ½?Ðÿ.â‡bÓÿnðÿÞàP*ÿ½b÷Á?ŒPËÿ;)n_^ó»øàpÊï~âÓ 5¿ˆuÿeêïA±‡á/"Ôú{(B¯ù= þKäg0•ò{œøtBÍïÄÇ<ÿ=!ö$üy„šß#ôšß“à¿B~GQ~&>Pó{–ø8ó{Nìyøó5¿¿Dè5¿çÁü Òóþ/ŸN¨ù½L|Èù½"ö*üy„šßß#ôšß« ÞüºÉ/@ÎïMâÓÚüÞ">äüÞ{þ<‡6¿Fè5¿wÀwB~Bùý›øt‡6¿ˆ9?™¯û žC›ßGzÍïcð‘ŸÁ‘”ßħ;´ùý‡ø8ó“þÞÿkøóÚü¾ŠÐk~_ƒï‚ü€šß€®Ä§;Ôüt#>¤üȽd@Oøóêýs@=ò3Zž­^ù¾‰ù7ðç;Ôòè¾+ôi~0˜ømù†€ï½AšßÈ\> þau~ u9t™G¯ù§‚ï½AšŸŒ >Í¡Ío$ñÀqàMÝI¬ßãÐæ7šø\‡¶}ÒˆÏwð‡ '}a€ì!ÌZ#¨?ƒK¨ý¥Mdzx-&ô=Á¤÷?d‹åÀŸåÐæoê Ú£×ø9Äuhë7—øl‡¶~óˆçP×W¤.ŸãÐö¿‚½æWH|°˜ò+%¾Ä¡Í¯ŒøRàxʯ\¬þ m~zͯ’øIÀé”ß$âg8´ùM&~&p>å7Elü Úü¦Fè5¿iÄ/.¦üf¿›C›ß,â——R~²—0þem~s"ôšß\ð½ÐÿzQÿ1ù-">Ç¡Ío1ñ¹@z?a€”eÀRøKÚü–Dè5¿¥Ä—+)¿Ý‰ïÐæ·’ø À)”ßb«àŸêÐæ·g„^ó[E|på·7ñ3Úüö!~på·¯Øþð/thç¿ý"ôšßþ¡ùGõÊWc~3g—Ãñ®¼Î¯Ê«~#æ_ãOqhëoShþëß×7HÏ4whëo ñ™@=_4÷—Cä¶– ¾C;?7_Ô÷we< h&¾Ø¡­ÿâKÚûÏ6áͼÝõoP×W…ß!öCøG;´ùí$>ÍaÀîP±càOòýÉäp8üYmüï‰åÑkûNüX‡¶üGxôcIå—íÐêö”õÇŸÔý¡ÉÿûbÇÃ_äЖïb'yôÿxâ‹ÚüNðèy~:‰òááˆöï¾µ¿ß§‹ýþÑ@]?ÉXp†Ø/4õw£ØÍð—:´õ{“Øoóïðu~5ùK›,†?Ôý…é›2fäÑkübâÇõþ3P8éK„?Ç¡­ÿRâsêü;PúÒÀ™ðçi}9PúÊÀJøKÚøbÓ=zÍ¿’ø2`9ÕÌ…'Â_áP×?e.8Ù£×ø‰×<'SüIýdÒO¦ü¦8´ýkЧ|t~e8[SZý Oý³~&xóÌ Èóã\±ùðç8´õ/kí+°”Ú÷±¿Á_æÐÆQìM^óÿñå@ž¿^{þJ‡vü¼,öªG¯ñ_!~<篿{ô<½JùMshû×kžòqÿ}“ê¯Ê¡Õ¿å©Ö¿ Þœ §yþú—Øûðç8´õÿžØ½ÆŸø\ Ï_ÿûþ|‡¶þ?ûØ£×ø_äùë#žç¯)¿r‡¶þ>ñ”ç¯/¨þ*<ý‡øÉ@ž¿¾ÂÇiF¢ýFƒ篯…ïáÑãúFkùé@š¿ êÿ<‡Z¾A#ô¿‹çú4ÿÎö¯lß;4¿„ù>˜¿FsÏ÷Lìþbá¤ùkб¸G¯ñ¯×¡çsƒ¤ ¿ÈaP?Ò Ëðè5þâKjû ’ýø 4øKÚë˺tP*üå½ä1HÖ«ƒFyôzýTâ+ã)¾Ü/„‚CÛþ#(?Ökü‘žë3?Šô%_ù4Oý1Ÿái?æãèæ™á0‡Aþ²w”^ß/R^õÙxÿÈøSêþeиÐûQa}.ø4\ßàpԯ̃ƒŠˆÏtð{P1ñcÚÿz /u6¸þB‡¶ÿ”_Ôû—ÄTFüx‡oÊ^NüD ÞŸdÿ7Hb ªôðZþJÒOshûÏxâ§; øÃ„Ÿ$|üo:Ú× ¾múç±ið§éùå ÉeÐL^ó›F|Èã[æÒA3<¼êgxâ3?ùg€7Hë«A²W4þ1@:ÿ$sé Ý=z?ø±@½™öŸ/¶þr‡¶,[îÑkü…ÄW'Rþ‹Ävƒ’CÛ¾‹#ô7Ïõ'¿ÜS~æwGýÆÁMùí)¶þ1@®ßUb›ÿ4÷ŸË‰ŸéÐÞ® ~6p!åw¥Ø¯á_äÐö«"ôšß¯=õ³ˆøë¨þ;´å¿žø%ÀT¾›‰_éЖïâ÷îEå»Uìvø×8´å»-B¯ùßîé¿kˆÿ-ƇÜ{‚ñk0Žëþnâ3Úñ¯ðÒŸÌZ>ˆŸK¿÷‰=P×7f}t¿Ø_B¯ñ%~"P÷7¦/Ÿ äùùob/ßãÐê_{×£×ü^&>Hï_zEìUøKÚöý{„^ã¿J¼Öƒ¶Ÿ¹¿¿!öüÓÚöy3B¯ñßò”Þÿ0œ­¿müÏÞ ï??ûþ" ÖŸо‡G¯×ÿˆøRàŠÿ±Ø§ðOt¨ç§ƒ>ûÜ£×øŸ? ¨ãÇ´ÿg=Ÿ7¸3üÓÚþóñUÀYˆoÎÌùè—^ãIúÙmýE|)ñÐ.¨¿\Œƒ:ÿÈ8Üã‹ëŸõ=¨ýÇxø^Ðç7Hãkp_±þðç8ÔúÜO¬À£×øý‰ÏÒúg°ìa‚¿È¡Ž¯Á#ôñ%À‰”ÿ0±Tø'9´ù§ˆ¥{ô?•øÉÀ”ÿp±‘ðÏt¨í;xD„^ãô\&ñéT¾Ymýd?¸ùI; Î"~‘C½ KünÀeT>éSƒµÝ—;´å¡×üs<ýc9ñè枟æPÏG—€×õ…òª/£õ}š‡¯ÄþÃÌI#ÚøÁëþEyÕO¦ýÍ? ûÿBðõ|Íô/iëÁ³à;´ýOÚzð^ãÏ"~ PŸ˜ö‘±˜Gå¿]ìNøóÚú½#B¯ñï$¾HûëÁw‹Ý ‰Cÿž½Æ¿—ø2 ÿÄ‚¿Â¡m¿#ôÿ!OýñúàQ´Ñ shïoO€×ù]yÕ?‰ùßøSÚò?ºÿ„õÏ€¯Àõ ¦¢üæþöâ3ÚûÛóÄâü<¸¿ý5’?¡í_/ŸïÐÖï‹Ä:´÷·¿ oî+•¨_ƒ˜ÌùÈà—Åþîáµü‡~eø7ÄÞ‚?ˡտ)ö¾G¯ù½EüX‡¶¾-öüÙmýý3B¯ñßñ\Ÿï¿ïSùÆ9´ñÿM|®CÛ> /{ÜNß =¿ü‰ðÃà;´õó)ñc€¼¾øLì øÇ9´úÏEßÓ£×ò}A|Çÿľ‚¿Â¡__Fè5þWÄÒó!źÂ?É¡Öï.zÄ7ÚVå£÷ gëo²C¿ñSz—úÒW¬?ü jýé'6È£×ë÷'~‘C{ý==1\Ÿ)ó‡:?âé_¬^û§ê•Nýw„‡ùaxƒ´~"sá1^õc 7u>Ì¡Í,xß”Wý8ÌÆŸâPûßœÐüÖ矂ëO‰¹û¿h‡w¨óûâ3z7}«Tlüùmÿ(#¾¨ûSörâ‹ÚþQA|‰C_†H» Y'ÿ;õop â›±!í9d²‡×ú™ ý4ðÓbIë£!òÿC¦ÃŸîЖOöÄCö÷è5þtâ3€ú|ÊôÙK™CÛ¾3#ôñEÀÊžØøKÚüeM>d±G¯ñ_æÐ¶ÏB¾Œô‹)¿r‡¶|»_ ¬¢üMŒÝáŸîÐæ¿BlG¯×ßøÀ™Tÿ+Åö„–C[¾="ôOÏõg¿†Ê7Û¡¿·§ÿÐùºá‚þiÊ4Ì¡?ªÁëøP^õë0~Œ?Å¡­ÿõ¡ñÖo?×7¨óŸ™?6whç:â3<Ô‹]¾CÛ¾ Äyþh$¾È¡­ß-Ä—8´óG“Ø/åg þ ®Š¹ù£El›‡×úÙýLðyþØ)vüémù;Ç£×ø‡ŸÔõµé¿ß;þ<‡¶}Ðkü#ˆ/Òû_CŽ;þb‡6ÿcÅŽ÷è5þqÄ—8´íó}žçŸã)¿R‡¶|'_¤çwCNû!üÓÚüO;Ó£×ëÿø* ¾_bêÿGb§Ã?á-ßizºçú3ˆ?“Ê7Ó¡ÿSOÿ™IúsÐ?Íœ4Ì¡?~^LJòªÿ%Æñ§8´õAh|‡õŸëÔõ¿™?.#>îÐΗŸ äùã ±—àÏwhÛ÷Jâ €<\E|‘C[¿¿&¾Ä¡?®“=l§9¨ÿ9®ýƒùã:±<¼ÖÏ ÐÏoç›Ån…?Ý¡-ß-böè5þ­ÄgéùüÛÄСmßÛ#ôÿâ‹¥”ÿ]b÷À_æÐæ·Ø}½Æ¿‡ør‡¶}îõèiÿe8›_…C[¾û‰œNù?,ö{øg8´ù?"ö¤G¯×ÿ=ñ3³¨þ{þÙmù‹ÐküÇ=×çõÓT¾9mü§<ý‡Î ôOóNÏ0‡vþx¼ŽåUÿÆñ§8´õÿbh|‡õ/ŸëÄùK0¼F|†C;üƒø1@:Ÿòºðiðç9´íûñù@=4óǛė8´õûñeíüñOáÍóÿ¨ƒx?7˜?Þ{ÏÃký¼ýBðyþø@ì#øÓÚò}(ú¡½Æÿˆø ïùXìSøóÚöý$B¯ñ?%¾HÏw‡üGì+øKÚü¿}'^ãE|©CÛ>_{ô¥No8›_™C-ßÐÎÄW§¹ü‡vë •CͨÔáн^¿'ñÓ³]ýí%Öþ9µ|C{Gè5~ÏõiüΖo®C §ÿÌ%ýPôOs&3Ì¡ÎC‡ƒ×ñ¡¼êGbüŠC[ÿ£Bã;¬O¿×78ß¡­¿qÄ:Ôùa¨ÉÑìßwCýœ³óÃP£ÀÃkù  _Þ ÍCÍùO)üémþæüg–G¯ñK‰Ïêù¬éŸÒ¦C+àçж_y„^ãWŸ ¤Ï/ (6þ‡6ÿIbÓ ˜MñÍû1ðshã7Dè5~#ñ¹ÀRŠß,¶þ2‡6~K„^ão%¾8•âï; þimüC#ôÿ0â§çRü#ÅŽ†žC;>ŽŠÐkü£‰ïDz忟ø1ðÏêù¶¹wýàë¯ß”=V'ý̇Áž17~Nû!ü½ÚÿÍÚàTî³?5÷Ö³‰çÐÞÿÏ!>XBù+v>ü¥m~çEè5¿óÁï‰ü ¦P~?Ü¡Íï"âGùþþ+±KàOwhÛçb±k˜AùÝAü‡6¿;‰Ïêúɬ_#éèu Úü~K|!ö¿Cï"¾Ä¡m¿»‰/sh×·÷ ož/ï…öÛ‹ú¯™¿î{þ  –ÏÌ_÷‹½àÑký=@|PÏÿLù{þ"‡¶ü‰=ïÑkü‡‰/–QüGÄ…¿Ü¡ÿ{±§ÃüjŒÿÀÔççfüÉ|;l_ø3Úñ)óá°&^ãïK|Hï§ “¼†C[¿ûGè5þÄK(þZ±õð—:´ñ×Eè5þzâË“ØÁðwÄ—xÃjÅ0þT‡¶üg„Ö'aýOÀWãúéù×°³‰ãЮÎ!> HçÃÎ{þ‡¶G|¡C[¿ç_ìЮ~.ö¢üïZÔ¯A=«4kÏ_Š]èáµüB¿¼AÚÿ »XìøÓÚü/!>Hû¿a—Š]ÿX‡V™Øµ½æw9ñÙmÿ¼Bì*øÇ9´õwe„^ã_å¹>¯Ï®¥òå8´ñ¯¿zƒzþdêï&±§àãЖÿfâ3¼¾¼Eì6øsZý­bxôšÿmÄçyþ¿]ìNø+ÚñsG„^ãßIüà$Š·Ø½ðOvhëƿ×S¾ÉÄ?@õ7Å¡ÿ ñÓ€ ©~{þEmýþ^ì½^ÿQâ;´×Ì£çõá(¿tÿõ¿‘þŒßðyÿó¬˜9ÚKÌo@;¿þ%B¯ñŸ¯óê•ó“ñ§:´ýço¡ù1¬üFä·1–ôþã°?Æ¡_'> ÈóÀ¡mß7‰/êúËì­Þ"¾Ô¡-ßÛÄ—'þâ':´úw‰×rL#ý{ÄW9´ú÷‰ŸœOúˆ_è0àÍÞðCâõýªîÂ$ö±‡×öû˜ôËÚþÿ ñ+Úû×ç›zÛ„þ·ÉŸàþeξòðzý¯ ¯_KZߥ¦t?á¶Jg±BñÖòq ­ïR$Ç”îð:ÔöIé¡×øÝ‰/–Rþ½ÅúÂ_æÐæßGl€G¯ñû_îPÛ'¥ŸGO熳ùU8´åHüx Íÿ)CÅRàŸìÐê‡Eèõú)ÄOΠøÒf)£áŸéÐÆ¡×ø£‰Ÿ œGñ¥ÍR2áŸïÐÆ¡×ø™Ä/.§ø2‡¥ä¿¡mŸœ½ÆÏõôßÄb|È>-˜_:ÿ§”‚×ñ©¼êË1~?աͯ"4ÿ†õãCÏïT¯¼pÁóÁÍà6þÔXòóqåU/\Òóù0?+ñc§zðéý–iË”…ð÷uhÇױ彯_H|? >ß4sƒ¬%Rvƒ˜C[¾Åz¿›çúô~R úB§FðT>Ó÷V}ýõ«f]·>ƒ=¨ÿ­Ûþ^ÀÞàÍܳ·lõèõúû€?ícpÕï~bÀ?С­ßýEÿˆG¯ñ ~pÕ¯ì'SªáéЎσ"ô¿šøÑ@Ý¿˜±WC|¶C]¤l >HÏïSd\¤ÔÂ_âÐæ·)B¯ùÕ‚oBþS(¿â‡;´ù5?Hï?¤H{¦4ÁŸîжä“r²G¯ù5ŸCù5ŸåÐæ×B|6PŸ˜úÛ*¶þb‡¶þ¶Eè5¿íÄ—ÇS~‡?Ñ¡Íï{ÄOΤüÌz$ü³ÚüŽˆÐk~G?Ç¡ÍïXâç9´ùGüàrÊïûbÇÿ¡~¡×üŽ÷´ÿ âO¦þµ»C[þSÀ7£ÿL¥òNüp‡¶|g€oÞ ½?’bÎo~ ÿ0‡¶ÿž)úû…ô{8Ôõ}j*ñ{÷¦üe­šÿ>mþ2礎õèõúiÄïëжŸÌU©qø÷shÛ'#B¯ñãžëïGüX*ßþmülOýïOú¼Az¾“Z*V:0Þô]Ë©M½Æ/'>¨÷GÓ7+Ä?Û¡m¿JâÇ9Ôù;UÖ©ËàÏêýÍèe-’: þb‡6¾¬R—xôšÿ$âKÚú™,6þ2 ¾_gêgŠØB^ãO%¾Hï?¥N›ÿ žôNæºÔù½ÆŸN¼Öæ7³¾J•9)uü³õ#ý$uf„^ãÏ"~ŽC«ŸçÉç¯ùTþ¹mÿ_à©Ö/ô´ß\â—Pÿ˜çÐÆ_êé_¬_Füà ê_2W¦îÿîmÿ’¹.u^ãïAüJ‡¶ýeÎH] ÿmþ«"ôµçúô~ŸálùV×àúæþ±/ñç *¿iãá¯vhË€XƒG¯×?øµÀ_~7Uý›Úør­ÔZ^ã¯%žÐÖï:±øvhëw}„^ã×x®0ñµT¾Ímüƒ=õ³™ô Tÿ™þÏüË|æ÷Ãb‰ó'`pýÃ…Û ^Ïw”W½pÁùñ§:´÷ç¡ó©°þPðßÃõ ÒûO©GŸåPÏ¿R">ˆõ·9ÿJ=ZìBø‹Úþq ñÅmýK|©C=ßJ=Nìò¿‡£~ ÒóßÔˆ†C{ýãÅÎöèµ~N >¤ý_ê‰b'ßãÐÖÿIz2ñy@ÚߤþHìtø ÚüOû‰G¯ñO'¾È¡­ß3Å£×ëÿŽø ®Mÿ»øb‡¶ÿÝO| °,ææŸÄ‚¿Ü¡-߃zÍï!â+“(¿G‰ŸìÐæ÷ñS€Ó©þ{þmýýAì)^ó{‚ø™mûÿÑ£ŸIú§(¿Ymý_3å–øùmùŸ#~p•ÿ/b…¹C[þçÅþæÑkþ%~…C[þ<ú¤ÿå·»C[þ—À‹þylÌíŸLù_#¾Ô¡-ÿ?ˆ/jÿ0å{]ìMø§8´åC쟽æÿ&ñSÚò¿åÑO%ý?)¿imùß!~:ž¿¦¾Oü\‡¶üÿ&~PçgS¾Ä>‚™C[þÅ>õè5ÿˆ_îЖÿc~9é?¥üV8´åÿ üqhÿãbIŸ<õ+âËÚòM|Úß,%‡w†ŠC-ÿpÁáÝ2þT‡¶ý2Cë³°~,øàúõýÓ¾yÄÇÚöÍ'>¨ëYÿ —œ‡ï¾CÛ¾…Ä8´õWD|‘C]ÿ —µÀpÓîÇ£~§þ)ë¿á¥bå^Ë_ý à Òúoøx±‰ðg8´ùO[èÑkü‰ÄÇô~ìpYK Ÿ¡CÛ~“#ô ñÅÀRÊ_Æìð™ð—9´ùËZcø^ãÏ$¾Ü¡mŸY}9éçP~­~®§þèó† ÚçDôÏCãc xíÊ«~úω'†ÆÇòPÿ ëw®oöÿÃWwhÇÇ^Ägy|¬;þ|‡¶}ö&¾À¡­¿}ˆ/rhÇǾb‚NFýÔçSf|ì/v ‡×òý)àO µbëáÏphó_'¶Õ£×øë‰µ~Ìø¨Û¾CÛ~"ô#ñ…ÀbʳX=ü%mþub[ })é·P~e­þOýÑþÄpAûœŠþyjh|ì¯ýCyÕ†þs*ÆÇ©¡ññ½Pÿ ëÿC\ß  ?–ø¸C;>Ž#>ÈãCîWÃï‡?ß¡mŸ_¤÷ÆO|‰C[¾ˆ/Ž'ýIÄOphõ'? 8•ô§?Í¡mß?Ý¡¿§‰™÷~„ö7¸*æÆïb?ñðÚ>?þ4ðyüž%v6ümýþLìN^ãŸM|ˆö Æï9bçÁ_àÐÖß¹zñE@Ý™ü~)v!ü¥mþˆ]ìÑkü ‰/shÛç"žÇßÅ”_¹C[¾Kˆ¯êó/S?æüë*ø'9´ú+#ôzý«ˆŸœNñ¯»þmüë"ôÿzâgçRü›Ån…žC[·Dè5þ­žþ5ø;ÑO%æ ßî¯ãGyÕß‹ñeü©mùšÂúûÁŸësóÛ#ÄÇÚùí÷Ägy~3çGÿ†?ß¡í¿_àÐÖïãÄ9´óÇÄþ%ÿûcÔ¯AŸÌüñG±§<¼–ÿ)èÞ Ï{þ ‡6ÿ?‹½éÑküg‰õüØô/s~ô<ü¹mûý%B¯ñŸ'>XHù›óŸ—á/rhóIìU^ã¿L|±CÛ>¯xô¼~x•ò+qhõ¯yêç¯7Ñ>g¢žï€×þ¡¼êÿ…þs&ÆÇ™¡ññ^¨ÿ†õÿÿS\ÿ§1÷þœŸwhÇǧÄgy||&Ã-þ|‡¶}>'¾À¡­¿/ˆ/rhÇÇ„—õJ§³P¿õùµ_a¸‡y”ßpþgà–<>Ftë†CÍ„\cDŠG¯ñ»êó#º‹õ„?Ï¡¶ßˆzß“ø ½2¢¯Xø‹Úüû‰ òè5~âKjûŒàÑSÿ6œÍ¯Ô¡ÕöÔ_)éSÐ>g£ž<>FŒ¯ýCyÕFÿ9ããìäñ1"-ÔÃú ðçàúiÿ8b,ñq‡:>FdŸ ¤ñ1ÂüÎ ðç;´í“C|C[¹Ä9Ôñ1ÂüŽÌ±ÎEýž›<>FH¬E^Ë_ýyà Òûñ#¤­F<šC›ñé@ú|ÁYk¨„¬C«¯›êÑk~•Äg;´ãKö#&Â?Ρ­¿ z?ÑsýqÄO¥òå8´ñ§Ÿçж¬åFÈ¢Óùˆo0ƒêWÖ\#†ŒC[?³‰ÏŽ£ú#6þ‡V/k¹+=z-ß<âsT¿óÅÂ_éÐŽ¯z¿ø ÀI‰Ø2ø';´õ»4B¯ñ—yÊGçõ7Å¡¿ñÓÚö[-fÖ§?GüŸ»þä¿FløÇuþï-ÜÞbyôšß>ÄçéücľbûÃ_âжï~bxôâK“)ÿÄ‚ŠCÛ¾Fè5þAÄO΢øëÅ6À?Û¡_¡×øˆŸëÐÆ?X¬þymüÍz_GüàRŠ¿E¬ þemüC"ô¿‰øÀU›ØøW;´ñ·Gè5þâ×÷¦øß;þ}Úø‡Gè5þÄï\Kñ;þumüc#ôÿ8ð¿@ÿ28âŸ(v2üÚø'Eè5þÉÄOVQü‰ÿt‡6þiz:ñ3³)¾¬ÇGœÿ‡6þO#ôÿ,âç9´ñå~>â|øç;´óÛyz~hþP½ò„æ¯0æÇ_‚7È÷§KÄ.ƒ?Ç¡¿.»Ë£×ø—Ÿ äûÓåbWÂ_éÐÖïz%ñ€|ºFì:ø';´ñ¯Ðkü눟 äþw“Ø-ðÏpÄ7k³›Åîðè5þ-ÄÏΧø·ŠÝÿ‡¶ÜFù±^ãßî¹>ówxÚoñw¡H? Ö?@»¾ÿx½ÿ*¯úûq¾0–XŸ­þÁXòú*¬¼®ÏT¯¼pvý6Òà ¬/oPÏÏMý>%öŒ‡Wý3Ðÿ*–Ø_mþÏ‚×õ½òª.XÿªCÛÿží?ÂúÀ_ŒëÔõ½Ù{¼B|šC»¿ù;ñ@ßfóª»7ü9íø~ø\‡¶ÿýƒø|‡výõºðRÏ.AýÔû¿Ùß¼)ö¶‡×ò¿ ý¥à/%ïÿß{þ ‡6ÿ‰¬“G¯ñß#>¤çc#Þûþ|‡¶ýþ¡×ø_äõá'bŸÁ_âÐæÿ©Ø#Ÿ¤çc#‡_âPëwäPâËêø)eiÖ½W þ îïÆÏÈáb#=¼ÖÏHè¯eòø)u52~B[>ùÝ‘Ó=zŸA|Hï_ŒßÈLø Úö¡×ø™ÄK)Ó†¹ð—9´ù›>PàÑkü\âËÚöÉóèéý ÃÙü*Úò?8ò—\Fêug8´ùKYFNöèõúåÄÏÒþj¤ä2RuóÚòUFè5þxÏõiýi8[¾ùmü)žþCëÃýóªXbüíü1¼ŽåU?ãÇøSÚúŸßaýð¿ÆõKúþÇ‘Kˆ;´óÇRâ3t~8Röš#[àÏwhÛw9ñmý­ ¾È¡v;Dþ÷jÔ¯ÁÝbn~ØCl•‡×ò¯‚þð×Ä’çÙSŽÜþ ‡6ÙkŽÜìÑkü}ˆõùéŸûŠí‘CÛ~ûEè5þþÄ—Ë(ÿj±uð—;´ùË^vä^ã¯#¾Â¡mŸõ=íO gó«thõ=õWIúÍhŸkÑ?¯ FðÚ?”Wý!è?×b|\M¡þÖ·€¿׿.‘§;‰íÐŽC‰Oêù¯¦_ÿ8‡¶}¾G|ŽC[‡ŸçÐŽ#ÄdïÛézÔ¯Áýh|%vŒ‡×òý àoC›ÿÄ~æÑküã‰éùÓÈÄN‚?Ï¡m¿#ôÿ$â €ôüiäÅNƒ¿Ø¡ÍÿGb?öè5þiÄ—8´ísºG_BúS~¥­þ'žú+%ýÏÐ>7¢íø8¼öåUÿsôŸ1>n _„úoXø›p}ƒ¼þ¼„ø ‡v|\Jü ¯?e½;òEøóÚö¹œø| ¯?¯ ¾Ä¡­ß+‰/shÇÌ #Íû7£þ ®¡ñ#óÕÈë<¼ÖÏuÐßþ–Ðø‘úy3ümù$Ÿ‘Ïxôÿfâã@^Êÿ¼ þB‡¶}oÐküÛˆ/–Rþ¿» þ2‡6ÿߊÝëÑkü»ˆ/whÛçnž×Ÿ÷R~mù~Güx ¯?{þmþ‰=áÑëõ&~&ןˆ= ÿ<‡¶|¿ÐküG=×çõçT¾ùmü?zú¯?ŸAÿ”~Œ_ ?ž¯ãCyÕ?ñcü©mýÿ54¾ÃúÁ߆ëäõç߉;´óÇ«Ägyýùšð}àÏwhÛ÷Ä8´õ÷:ñEíüð†ðrN·£~ âùD0?¼%öO¯åÿ'ôw€¿#–ñq ¯?Íù͇ð9´í÷A„^ãH| ןŸŠ}¹C›ÿgb_zôÿsâ+Úöù£çõç—”_¥C«ÿÊS´þ4\Ð>w¢Þ™<>Fu¯ýCyÕ÷Dÿ¹ããÎäñ1ªW¨ÿ†õ}Àÿ×7H÷×Q‰Ïp¨ãcÔ âÇéþ:j°Ø$øójûŒB|¾C­¿QC‰/t¨ãcÔ013oýõkpŠ£¤.FððZþÐßþ®äñ1JÖÚ£ÒáÏphó7ïÏ”xô?ø8$Ö¨1ð:´íÐkü1ÄK)óþMüemþ¦ ó=zŸC|¹CÛ>¹=Ý? gó«phõžú£ñe¸ }îFÿ¼;4>*ÀkÿP^õãÑîÆø¸;4>&„úoX? ü=¸þ=±¤ûǨ*âãíø˜N|&î£d-0ªþ|‡¶}f_àÐÖß,â‹Úñ1[LöàîEý¤ó‹Q²5ßÃkùçCÿ;ð¿‹%Eb»ÁŸáÐæ¿Xl?^ãïF|H÷Qæ|hüEmû-ÐküeÄ—éþ1j¥Øžð—;´ùï!¶—G¯ñ÷$¾Â¡mŸU=÷ï½(¿J‡V¿ÆS|ÿØísúç}¡ñqxíÊ«~-úÏ}÷…ÆÇºPÿ ëkÀßëßwhÇÇfâ3<>êÄ΀?ß¡mŸzâ Úúk ¾È¡b²ïôê× ¾Ÿ`ÆÇ!bÍ^Ëß ýƒà mb;àÏphóß.v¢G¯ñwòø0çC‡Á_äжߡzñ%@GŠ ¹C›ÿQbÇyôÿhâ+Úö9Æ£çñqåWéÐê¿ï©?'¢}Bÿ|(4>N¯ýCyÕÿýç!Œ‡Bãã´Pÿ ëÏÿ0®oPÏïÌø8‹øt‡v|üŒø80‡ÆÇÙbwßëжÏ9Äç9´õw.ñíø8OLÖŒAý>?û¥‡×òÿú߃ÿ}h|\$v1ümþ¿»Ù£×øæÓø0çC—Á_àжߥzñEÀÊÿ*±«á/uhóÿµØu½Æ¿šø2‡¶}®ñèy|]Gù•;´úë=õÇë³›Ñ>¢>·ƒ×þ¡¼êïDÿy úÇHo®ÿÛPÿ ëïŽ%ÿc!^¸àï<hã?Kþû"Ê«^¸¤¿oæMüØé ð{Pÿù£ØSð÷t\¬pOŠ=ãÑkü§ˆïìKýçi¾/é…õ&üýÚþõ'âû‡ÅÜøü³Øsð§8´ýÿÙ½^ÿ9â‡GR|óþÌßàåÐÆ1B¯ñÿF|p Å7ç3¯ÁŸéжÿ«zÿñH¯ü›hÿ§À샟å÷F½ÿõ×/WËÏOÃ÷t¨˜ó‰áïì Þ¼;ñ‘LW¿ðèõúƒ—vú¯ÁÔ?>ûþmû&úó=zÿ9ñƒ€#¨~¿ûþ‘mûý'B¯ñ¿$~4P?ß ÷©ÑˆÏv¨÷·Ñ‰Ï»üFwÓr•8ÔüFwÐ#?£ ø?!ƒ)”_oâSÚüú?¨÷o©ÿÑ2VG÷‡?Í¡¶Ïh«£Ë=zͯ?ñéÀ8å7€ø±m~‰äú“2‰C[ƒ#ôšßðF~޹¿/bòNüX‡6¿Är~Ò×F†¿Ä¡ÍoT„^ó þYä÷l(¿1ÄuhóË$~°œò“¾<:þ ‡6¿±zÍ/üsÈï¹ÐøÈ'~¬C›_ñ〥”ŸÉ¡þ2‡:?Ž.ŠÐk~Å¡þ©zåËÑÿŸK”KÑ–¿ü_0¾þBãÇ”oñÃÚòMÿ<ô‡Òøš*Vÿ0‡v|MýY½æ_E| 0ƒò›Nü‡6¿Ägu})ë€Ñ3e¸Ï‡¿À¡Íoñ…@z~8z6ñ%mûÍ!¾Ì¡®ÏGÏÞ¼7ÿ×Xbþþ+õsýb‹àÏrhó[(¶Â£×ú[DüX Þ0÷¿Ñ‹Å–ÀŸãÐæ¿[„^ã/ñ\?‡ø(ß à Ž¢ëï)¶þ4 î/dn½Jl­G¯ñWêø4õ³—ØÞðuhëoØA½Æß›øl`å¿Ø~ðç:´õ·o„^ãïç¹>½Ÿ`¸Våg~-ê÷Eð/Rý¾Fì8øÓÚòo >¨ó—á7ŠÕŸíÐê7‰5{ôš_-ñã€\‹ÕÁŸëP×ç£7‹5xô¿Žø<`ů÷èéý ÃÙüŠÚökô”ï_ÍT%­¾…ø2`%Õïv±ðwhëw‡ØQ½^'ñ€ËßÜ_ûüËÚü‹Ðküïy®¿œø£¨|#=üqèŸÿ·˜ߦ}Ž;þ8Pç?3þO;Í£×ø'?˜MñO;þqmÿ:Y쇽Æ?…ø =ÿ}ªGOÏw ×*æOCý¼Þ ß‹]šCÛ?~B|:Çï™bgÁŸíÐê*vG¯ùEü8 ߟ‰®C[¿g‹çÑküsˆÏòø=×£çñ{åWìÐöïó=åãñ{Õ_‰C«¿ø2 ß‹Å.…¼C[¿—ˆ]íÑëõ/%~ÇïebWÀ¿Ü¡Íïò½Æ¿Âs}ŸWSùFzøëÑ?_ÿr,yüÞ$v üq ß›Å~ëÑkü[ˆ äñ{«Øíðshû×mbwzôÿvâs€<~ïðèy|ÞéÉŸùߢ~^oÇï=b/ÁŸæÐö{‰OòøýØýðg;´úûÄþàÑk~÷?Èã÷±‡àÏuhë÷A±G¹§M„?oÆ–äœ6Ý£×ø‰ÏfQüIbSàëÐöÏÉbÓœƒünx=T^õz>iü©õ|8mnèü4¬Ÿþ \ÿ jÓwv#>Ý¡žÏ¦-!>¨ë‡žÂ/;þ‡v|,#>¨÷/Ó>ˉ/thË·‚øb`9éW_áÐê÷ ~¹þ‡¶þÖEè5þzâ‹€%”ÿ&±ƒá/uhó¯«÷è5þÁÄ—9´í³Ù£çù¿žò+whË×@|%p"ÕO“X ü“Z}s„^¯ßBüàtŠ¿CìPøg8´ñwFè5þ¡ÄÏÎ¥øGˆÿ<‡¶þŽŒÐkü£<ýkñÇ¡ÿ¾KÌ/@;¿^Çòª? ãËøSÚòŸšÂúSÁÿ×7¨Ï¿Ìüvñéíüöcâã@ÿÍüöáWßëÐöß3‰Ïshë÷§Ä8´ó‡\;]æ¨Nï ~ ®Œ¹ùãl±s=¼–ÿ\èßoöGi?~üimþ¿ >HÏgÒ~)v!ücZýb—{ôšß…Äg;´ýó"±‹áçÐÖ߯"ôÿbÏõij8[¾‡6þÄç9´íóká͸ùâÿ+–ôý‰i׈{6ücÚú¹–øL Þ? Ø ðç8´zs¾w·G¯å»ø\`Õïb7Ã_éÐŽ¯›"ôÿfâ''QüÛÅC[¿wDè5þžòM&þnª¿)mü{ˆŸæÐ¶ß}›õÙ{ˆÿžë¿Aþˆ=ÿ8 Æw°>}Pôq^ó{ˆø| ž¯™ö{Xì÷ð—8´íûˆèÓ=zÿ{âK“)ÿGŇŠCÛ¾Eè5þãÄOshã?)ö4üUmü§"ôÿiâgçQügÅþÿ|‡6þszÿâ—RüÅ^‚™Cÿozÿñ+€»SüWÅþÿJ‡6þkzÿâ÷îCñå~›öOø÷uhã¿¡×øÿÿ>ÚßàŠ/ÿŸöüÚøÿŽÐküˆŸ ¬¢øŸˆ}ÿt‡6þ§zÿñ3¼6çS_Ã?Ç¡ÿU„^ãMü<à"?½‹X7øq¾dþ>yºÜ£Óûyôˆo´–_â0Ю»X¯ú¤_ê0(ßþÂõ$~™CË÷õäGÏŸ g˿ܡÖ_zâw®¢ú,6þÕ­~H„^¯?”ø5Àý)¾¬åÒG€CÿÓGDè5þÈÐüªzåÓCó{˜ãþñoðéþ.kôløsêüž.÷ŠôI½ÆÏ&>H÷ïtùÝtõW:´õ›¡×ø¹ÄOÒý;ÝÄ(†²C¿(B¯ñ‹‰Ÿ ¤ñŸ.{­tÍ{ºCÛ~z_é©?Úÿ.h™‡‚õP÷éÓÀëú@yÕOÇúáÃXbý ´ú™¡õ_X?¼®U¯üB¯ñˆ/–RþMb-ð—9´ù7‹m÷è5~ ñåmûlõèéùál~mùv?8òÿžØðÏphó7cèû½^ÿâgéü%ýH±£áŸçЖ悔Æ?Ús}ZÿΖo¾Cÿžþ3Ÿô'¡~KŒ_ ?~^LJòª? ãÇøSÚëŸßa½ž¿èûŪWÞœ˜÷—¿´ñÏŽ%>CyÕ —ôù0ÿ‹Ä¾o°µß¯Ä.¿§Ãàúf~¹Xì2^ã_B|/`_ê—zô}I/\úð÷shûçåÄ÷¹ùÉœo\ÿ0‡v|\¡×ë_E|*0â_+v=üémüë"ôÿzâãÀŠ³Ø­ðç:´íK„^ãßJ|'Ò+gâÇαà,ü®¬7ÒïûúëäÛ¹xƒ]ˆ|gðWÿxhœCücໂïŠÿønà»…ø§Àwo°˜ø?GŸpñÏGŸ0Nü_Á÷op<ñß¼Á2â_Ï|Øø×ÀcLX@üàÑçFüÛàûƒ7HŸ/KüðãÐŽoYï§ ŽO)Kº¬73¯÷èµÿ|@|p)]ÿCð层ñ/ë©ôOáèÐŽo™73¯õèõúŸ?¨ç¿fü˜ýóðvhÇççzÿøAà âþ`Öwf©bùT‡º¾ËèDüp æ'åËñ’ÑþѵüÒ×3†yôÈÏh-ŸÌ üºwhóëNü ¾¿dbKÉè±C­¿Œžzͯñ¥Àñ”_?â'8´ùõ'~"p:å'}!CÛe†C3Fè5¿AžúAü0j¿™mùSÀFÿKú|RÆ(â‡;´å ~ôõþeÚ_î%qø‡9´ýCÚ:ó ^óƒšè·Òó¡ŒLâG:´ùe?¨ÏGLÛË ž ÿX‡6¿lâ³êþ$cñãÚúÍ!žÐêóˆÏshõùÄi”QH|‘C«/"¾XJúâËZ})ñÀñ¤/'~‚CÛ+ˆŸäP÷g+nêuÚÏ`-éó“=¼öÉЧ€7HŸʘ&6þ4 îßäþQ%¶Ú£×øÓ‰µýMÿ±–1 þqmÿ‘±–±§G¯ñgŸãÐæ?[l.üyÀ|Ê_Ö"+=3œ-_•C¿ÎS¿¬¯÷´Ÿ.cü3€3Q>é/MÄÏêþÄ”¿Yl+üsÚù½…úëõú[)þX¿ úáà‡‡ú§™ã‡?ß¡mßï‰æÑküÉ/êýϔﱣà/–PÿÙ¿žñÕˆ¼}~ÒP@äíóH·iôÉþ߀ÈÛç!Ý„ò™ ¥ÿ7BúªFŸìßÄøYˆ¼}Þ é”ÏQ(ÛÏ—\ôÉþ-šüyûú*+ß\…Òþ×4ñåú·iꇷOà&Ý‹òùˆ¼}ÞÉøEˆ¼}Þé”·(”íónÖ¾¸>å³_¢áïEý£‘ÈžONú¤ï ¼\¡¬ßoCzL£Oö¿Ãø Djÿ¢|BzåÕˆÔ~a¬Ÿô]HhôÉþCŒ(4õŽû÷ }_Óþ÷™~BYÿküçúhÊ_ÇøÇX|ëÊú{ùcPÿÃ>><é”W)”ñÒo5ú”ÿ3Œ¯F¤ý ÿŸ@zåuˆèŸ9>üÒË}²ÿ,ãÙû“žƒô3”ÏR(ýÒ¯5údÿgŒŸ8—ùÿsH/ |žBY¿pÑ'û/hòŸÇø_³òÍW(í¿¤‰/×YS?óܤߣ|!"=ÿãÃïß‚¸„µï× ½®áÉþëLÿ8…Òÿ74íëÿÞ°ß>ñoáýÇ±È dÏ''ýÒ_Q>I¡¬ÿw@’FŸìÿ•ñ>D>¿½ é=”×*”ýëÿ\ôÉþ{Œ¯Cl`þÿÒ¿QÞ¨Púÿ/HïkôÉþ¿ߤPÆÿ?}vþBpÒ¿f…²|0~ŠBŠÐW€ò© Iß—ï¢ù ]ÉOW(í‹4 å3Jû#]ôÉþ(ÆÏBdó¿o,¤ƒP>G¡´ ‹>Ù?ˆñóç3û‡B:å Jû‡¹è“ýÿ±…Ù‡ùÖw Ê—(¤ú÷í¢OöÑôÖ?gö?ñLì…¦}¸wñ#Oû_Ä“>í/ ùx…²üeŽýK§~ò1ìü†¯–ñ“Òþ¨/Àø"DÚŸmG쾋òJ…Ôÿ|õŒ¯RHûƒ¾ÆW+”åkd|-b€é73¾N¡ÔŸÌøÄF¦?•ñM eýOcüd…´?郾äƒ14Ö¿@¿Åþ¤Ú¼oކ§ú™ƒú>ä²ýI´eßB”O@dû“>è ¾•}²¿ñ>D¶~ñA›öµ ¼J¡¬?X‹ú–kôÉ~ ã«Ùøïƒ¾à[ŠòZ…2¾Ç¹è“ý¥šüÙúFp åçüJŒoòEŽø®´åy|×B:M£Oö×1Þ‡Èã»ÒF”W)”ñûƒ§hôÉþFÆW#òøn‚´åµ e|OtÑ'û›5ùóø¢)?çOÃøú‘G”þµB ¡|"o¤}²b¼‘Ç·Ò6”W)”ñí€Õè“ýmŒ¯V(ýCÚŽò…2¾§»è“ýíšüyü£šòs~Æ·ylÿØ×i'Ê‹Êò÷BúžFŸìïd| "ï.H{P^¥PÚß é\>ÙßÃøjDÞ~Ï€tÊkÊøžé¢OöÏÒäÏÛ'p¾‹Q^‡XoÈõ»ï£ŒoD¤ç¢|çAúʧ)”å?Ò§4ú”ÿÇ?‘ögDù?é“(Ÿ©P–ÿ.údÿ“šüÙý™àdùf)”óã§5õÏõ/F¾ùGû¸ Ò(¯R(ãs9¤ë4údÿ ÆW#òöq%¤«Q^«PÆç*}²µ&Þ>€ó}åuˆ¼}\ÏøFDÞ>>é (Ÿ¦P–ÿH·jô)ÿ/0~ºBYþ/Bº å3Êòßè¢OöoÒäÏÛÏ­¬|3ÊöñeMýsý¯ _м@¶?å»Ò7P^®PÆçHßÖè“ýo0¾‘íOùî„t7Ê«Ùþ”ï.HßÔè“ý»PH÷ï¾{ Ý«áIÿ^¦_§PÖÏ}ÿ¹þ75ågûS‚“ñ­W(íÇ1¾OúßÃù£ yìþß÷H¢|’BY??„ô¦FŸì?Êx"ÝŸ‹úy ÒPÞ¨P¶¯Ç]ôÉþߌ8…ùÿ¤gP>U¡ôÿiHÏjôÉþ3ŒŸ¦PÆ÷'ýiLÿYæßt…²|Ï1~¦BŸ_@ú%Êg)”ú/¸èSþ¿düD¶ÿæ{ Ò+(Ÿ§PÚÙEŸì¿Âøˆìù¡ïw^Gù"…2~¯¹è“ý×5íkãßÄö+ÆŒ#Êûç·‘§û3âI8óþMÈÇ+”åÇqëÔù Ì_àQ†ºþãQ(ïŸÿÉø ˆ%†ºþd@y©BÙ~ÿÍø2D?Íû×ÿ0¾B¡Œÿ_¥PÞ¿~¼7+1þ•ªþÌû×½ÀçixŒàLý*ä²ñ¥l@ù$…T¾"c‹J5údã}ˆl¼H¤Q((¤ú-é¢OöG1¾±‘ù?ÒA(oR(ý?Ò!}²ã›RýÓè73ýC˜“ÊòÊø©ˆó˜ÿÐÖ‹ŽBù|…Òÿ#!ù4ú”ÿQŒ_€ÈúÔYѱ(_¤P–ï}²¬&Þ¾|¬|‹JûEšöÞŸ ÎlŸâžì…4~U"OýƒxÒ¯Æþ#äãÊø×8ú·SŸöÏj0Çrü(jbüD…4~53Þ‡Hý_´mh EÛQ^¡PÖïÆW"Òý-ŒES_£PÆwã iü(‚µ`‘¸ÿ®Åø×²ö!ú>ÌeEs4<ÅgêöñÚjÑB”OR(Ëmªh«FŸì/d¼±žµ_hkE-(oP(ëw±‹>Ùoa|";?Wt<¤e(Ÿ¢Pú¤•}²¿ŒñSÊúY®Ñg÷‚“þMS(Ë·Šñ32ÿ×AÚ€òE ¥ÿë!¬Ñ§ü70~1"=ñßéD”§P–o“‹>Ù?Q“?Û_œ,ßR…Òþ)šö³”éoÅö)ÖäG(”ãG;òÔ?ˆ'ýmØ„|¼Bÿ°£;õ·#_ù×jMŒÝŒ?V¡?v0~""OãG ÒWP^¦PÖoœñåˆtÿ%ÆÆW)”ñíe|B9~ì‚$Î4`üâú×?ö@:SÃS|ÎDýFä ûøq¤sQ>I¡,ßG }A£OöÏe¼‘îEûý(¤óQ^§PÖïy.údÿ|Æ7 61ÿ? éB”7+”þ_éÓ}²!ã'+”õs‘FŸ?ŸfþMQ(Ëw1ã§!ÎgþÒå(_ Pú¤k5ú”ÿåŒ_ˆÈÎß]é*”·(”å»ÒEŸì_¥ÉŸ=ßœ,ß…ÒþušöÃǧ/`ûur„B9~ÜŒ<õâIÿì?B>^¡Œÿ­ŽþíÔÿ ò͘¿À# 5~ÜÎøcÊñãÆODäãÇ7 íEy™BY¿w2¾\¡Œß]Œ¯T(LJ»!‰çï“1¾éþjp÷BzåÊüïcüDDz¿Cðß„ôÊKJýû!}O£Oñ}€ñ¥ˆU¬}~ ÒwP^­P–ÿÛ.údÿ;šüÙóÁÉòÕ(”ö¿üÔ8‰Åï‡ÞEy‘BYþGïGdû{EAúÊËJýÇ!ý\£Oþÿˆñˆ4þ‰øýÒ“(oV(Ûÿ.údÿIÆOAœÆìÿÒ³(Ÿ®PÆï§.údÿYMùØþ«àdüf(”öüTÔŸªÚŸéß‹^By"®ïÅó³¢_CzG£Où¿Äø*Dš¿Dý¼ éU”×)”õ÷ ¤·5údÿUÆ×#²ý§¢ß@úÊç)”õ÷[}²ÿ;Æ/@äëÇßCzåÇ)”ñýƒ‹>ÙSS>¾~|[_οÃêw¢†—õÏ£5ü{8¾MC^ ¿¢|ÿ€$Î7‰6u„B9üËEŸìÿy_IŸø÷qüòñ eý|àÿú{‘Ÿþ dçKüÃ?I!Í/þáŒ/B¤ö ó‹¤Y(¯THíÓ_Èø*Dv>Ä?’ñu ©}øG1¾A!Í?þ1ĸ0ã+ðdC®Oýc!¤á1>‚3õg!?˰­Oý‡@: å“Êò ©I£Oöc¼±AµÿáÆ£¼Q!Õ¯ÿ}²?žñ͈lÿÝs±ʧ*”þC[ôû4údã§)”õ3Q£ÏÆ_ÁIÿ¦+”å+büLDÚßþÁœë/Gùb…ÒÑF}Ê¿œñ-ˆÇ³ø U(?A¡,_¥‹>Ù¯Òäã¬|ËJûušö³Œé7aûgòŽPHã‹*òÔ?ˆ'ý騄|¼BÿŽþíÔŸ…üÌŽa»¿õÏgü± åø±€ñÙúÔk~åe eý.b|¹B¿ÅŒ¯T(Ǩ3;Èçb|žd¨ñÆzÿñžÊ<êÏC~ža–CZ‰òI ¥ÿ+ ¦Ñ'û+ïCd÷¯þUÖ ¼N¡¬¿Õ.úd ãÙý«¤M(oV(ýßi‹FŸìobüd…²~NÔè³ûWÁIÿ¦(”ú'iâÇǧӰ~Ä=é eÿhCžÚñ¤ßŽíGÈÇ+”ñíp´_§>í-Àüòù5ÂøI eÿˆ2¾‘ϯÝnEy¥BY?;_…Èöý1Æ×(”ñ3> PöŸ^Hpœ¿ã/pŽ¡úÏ.H{4<Ågê/B~‘aï?gA:å“Êò‰:ü¼FŸìŸÃx"Ÿ_?é£(oT(ë÷\}²ÿQÆ7#òùõã>‰ò© ¥ÿŸ€t‘FŸì’ñÓÊú¹@£Ïç׋˜ÓÊò}Šñ3ùüz ¤Ï¢|±Béÿ¥>§Ñ§ü?ËøD¶þ÷_é ”§P–ïr}²…&¶>œ,ßR…Òþ5šöÃög¶OQæ#ÊñãFä©Oú7cÿòñ eþ_rôo§>íÁ:Òü~éœù}Žä¥ý¯öïÓOúÀÙ¾Ÿãäï¶þ™uf"ÆO|?ÇßÞ½/‰û¬3 ÿò¨câJÆy\s™¸„ñ!k.¹þÃÈãšÉÄŒÿ!òË‘_îÐyÔ1qãŸ@uLäå{ùUȯrð?E~5òbüóȯA^à!Œÿòk‘x<ã…ü:ä×9Êÿò둸œñ¯"¿ù †:ÿ.øß!¿ùþ ä7!/pãßDþDä61þOÈoF^à Œÿ ò[XÎøw‘Ç5›‰3ÿ7äñžÏÄÃÿOäOA^àXÆÿùS‘?ÕQ¿ ò+_l D^à0äáÞ¸lÓðØÿŠñßù­È œÉìÞ»÷ÅAÞ†|›Ý¿â±È‡ÙÛñ8äÛ‘o··âC‘ï@^ࡌ?ùmÈosäòaäÃöú->ùÓ‘ØÂøIÈoG^ੌ÷#߉|§½~‹K‘ïB^àŒ¯@>‚¼ÀùŒ¯F>мÀzÆïF^àpÆ7 ¿ùŽöÑŒ| ù˜Ãÿ©ÈÇ‘8†ñ3ïA^àäa~-†ûµâ¹(‰8 ùÑÀÁZ¬t‘FŸÚß\ä{­r™ˆs…XC¬Š¢|œBZüVº@£Oö2þ`Dz¾m¿ò.nAùQ iýR¼ØEŸì·0þÄÕ,~Ç#¿õâü.ÖçÅˤBZŸ/G~ê <ŒÅGø°å‡+”ñY)¢Ñ'ÿW#¿ÛòËDöü§x-ã'*”þ­c¼±†Åæƒâ(¯U(ã»ÁEŸüÛˆüôOà±Ì¿“?Q¡ôïdÆû+˜0Ÿ†òJ…Ò¿S]ôÉ¿Ó?ý;Ãá_ˆñJÿÚïCäþÁxX cVþ™hÿLÕ~„ŸÅa}òïtGý“>ñl_B>^¡,ù³Pÿ,Ãö}·âÆ¥P–¯ù³QÿlGû¿Š÷ üp…²ýB{(¥Ñ'ÿ÷ ÆGà$æß™Œ/R(ý;‹ñňô|Ƴbȯ¤åÕ ¥ç0¾±õáþ·ø#ŒoP(ã{.ã›§2ýó?M¡Ô?Ÿñ3g1ý3~¶BÙ~>Áø¹ MbW ÷%â¹”üègõ÷ÅŸFy±B¸ÿ+þ³FŸêïÓŒ/A¬dö/†t Ê«JûŸt“FŸì_ÂøjDÜ¿2ç¯K!]†òD¼?7ç¯ÏBºA£Oö/c|3âlæ?Ü__‰ò9 ¥ÿpY|½FŸì_Éø¹ˆì|eñU>‡òE eý^í¢Oö?§ÉŸÝ_ N–o±Biÿóšørý4õÃÎW®øË(_‚Hëh/Å73þxDZßÁ|_ ÷·Å·hx² Ó_¦PöŸ[5íëùs‘?×Ñ>áþ·ø”W)”õ{;¤‡5údÿÆW#òöù Hw¡¼‘·Ï;!}W£Oöïb|3"oŸpÿ]|/Êç(”þßé;}²/ãç"òöy¤ûQ¾H¡l?ßtÑ'û÷kòçíë;¬|‹JûjâËõ¿«©Þ>+~ åKyû|„ñÇ#òöùH?Ôðdÿ‡L™BÙ>Õ´?®ÿòE^ ­DüŸ„ô4Ê«š<Ì—ÅOAz^£OöŸf|BÓ?XÇ?é9”×"Rûåÿ ¤Ÿjx²ÿS¦_¯P–ÿYV¾þsÿ9ÿ<ꟇüyŽøüÒ‹(¯Rhò°.þ¤W4údÿEÆ× ÒóQþ_CzIÓþKL¿N¡,ÿËÿ¹þ+ÈŸüùŽò½é ”W)”å{Ò5údÿ Æ× Ö3û¿‡ô&ÊÊþ÷æ×'ûojòçü ûúìÿg\Ÿ| y>æß»ÞC9]Wb¨ñóÿ ýS£Oößc|";¿Uü7HÿÐð¤ÿ}Îÿýÿ8òwøÿH®ãþÿ×ú3AŸì¿Ïø2DîÿöjxÒß«±ÏxÁ™þyÇ*û%†£|""•ü/{œ’ }²?œñ”>ŸóWÉH#Q^®æ¯áÃ1}²?’ñˆÍÌÿQÆ |²BêŸ%£]ôÉþÆOEdï÷•é`”ÏR(ísÑ'û3~âfî¥JÆ£|¡BêŸ%G¸è“ýñšø±ùYp õÇù Ø>>iX÷gˆfþâÞʇ<ÝOú~¼?òñ e|Š÷oNýRä/Àü²ý’*Æ)¤ûÃ’jÆ— ÒóMÑv„硼F¡lµŒ¯U(ã`|Bºÿ*—ÀØ—!ÆW ;ßZcaÉN”OP(óodüDDv¾µî9K&£¼D¡Ô‡¶\2K£OñÌøRDŠhS MCyBYþ©.údš&¶?$8Y¾Z…Òþlä/B}´? â7RÊ‹Êò/`¼‘?ÐÖK£¼\¡Ô‡µfÉ>ù¿˜ñˆì|kI ¤ãPÞ¬P¶ÿ%.údÿ8ÆOAœÆìÃZ³dʧ+”ñ[î¢OöWhÊÇη NÆo†Bi-òŸBýO©ögú·Ò‰(/C¤õ{7AŠiô)ÿ_…Hë3Q?›!„ò:…²þ¶@ŠjôÉþIŒ¯GœÅü?Ò©(Ÿ­PÖß).údÿTÆÏE\Ìì·B ¡¼E¡´ßæ¢OöCŒ?q³†´å+Êú;ÝEŸìo×Äo%㣚úã|ŒµŸ‰¾‡õÿ£5üN??¼@¾>Ùé,_lX󢜟ÎtÑ'ûg!Oã7éÿß…|¼BY?ç:æ§þyÈýHû«bþú$ã‹ÊùëÆ#²ý͈[É (¯V(ÛÿEŒ¯A¬G}ð·äSŒoP(ÛǧߤPÎoðwÉÏ@~ Æ÷ö¿Xr)¤ËP^¬Pú÷YHwiô)~—1¾‘íß”\éJ”W)”ö¯€ô>Ù¿’ñÕˆlÿ¦ä*HŸCy"Û¿)¹Ò—4údÿsŒoFdû7%×@ºåsJÿ¯…t“FŸì_Çø¹ˆlÿ¦äzH7 |‘BY¿ŸwÑ'û7hògû/‚“å[¬PÚ¿Y_®ÿ%Mýðñ ¸’ÛQ¾‘íß”|•ñÇ#²ý›’¯AºMÓýÛ˜þ2…Òÿ¯kÚ׿]Ó~—1þ.ì—"/_+¹Òý(Ÿ¤PÖÿ7!=£Ñ'û÷3Þ‡ÈîK€ôm”W+”ã×·\ôÉþ·_‹HýCø÷¤ï£¼^¡ôÿ{~ Ñ'ûßg|ƒBÿ‡5úlÿ@pÒ¿F…²|?d|3"_?ýÒ(Ÿ®Pæÿc}Êÿ MýðõÓ3Xÿ0Ιã?¢œŸžCžÆWâIÿg8þ ùx…²|?wÌNý¿ ó¿Ì°¿.y‰ñE åüó2ã‹ùüó ¤¢¼Z¡¬ÿW_£PÆ÷7Œ Òø*ô é5”7)”öéo}*ÿkŒoFœËêÿuH¿Gù<…2¾o¸è“ýß3~â"æÿ[ÞFùb…Òÿ?AzG£Oößf|‹B¿?kô[˜þ;Ì¿% ¥þ_5ñcç''ëç8…2>×´®ÿOä/Çöw¹£ý½Ïø"…²ý}ÀøbDÞþþüx”W+”ñÝËø…T~ñ*䈬ý•– ¼I!Ù/͇t˜FË/t%ߌÈÚ_é0H#P>O!Å·t¸‹>ÙÁøˆ¬ý•Â¥ô”/V(ýé >Ù?€ñ- eüÆjôYûœôo‰B©?N?Ö~'ëç8…2>‡kÚ×üØþ²õw鱌/RHí¯tã‹Yû+…¹¸tÊ«ÊøNb|BY~㈼ý/¥”o“BiÖÊ¥Í}*1ã ç°ökšÒ2”ÏU(ã[ê¢OöË?q!ó_ìÏQ¹)”þ‹ý¹:>Ù¯aüb…2~µ}¶~œô¯E¡Ô¯×Ä·ßf¬Ÿ+±ý Jý)šöÁõ§9ο>ñ³ð| Ügˆs¥„ÒþÇù8âIã|ž“Ǿœ5òW¶óÅ¥Köî}îó?‡¼ÀÆü5È <ŽñË‘¿y‡0~ò×!ÃþZä¯Gþz¿ùÏ#ÿy“?ù¿Á‘ÿIÈy'0þT俈¼À*ÆoEþFä²ó—¥!äoBþ&Ãv>¸tò7#³£|Û‘ÿòÇ3>‚ü-ÈßâÐßü­È †¼˜ ]”öjxj½Ø>¾‚üWTÿ2ퟹwï/„þW‘˜Ïøsÿò_sèùÛ8ŸñCþëÈ m¨ñIì\ˆò)¾bn»ºÉ§4úT¾ ‘¿ûÀƒ 5>Wz1ÊÇ)”ãÓ§AÿB>Ù¿˜ñ#Òþ”˜Ûa]^z)Ê'(”ãë%.údÿRÆOB ±ø]ü¨ëb~»ŠñG*”óÛÕÈõÆâý½ô:”®PÆú{é}òÿ:äï´ü2‘=¿)ý<ã'*”þÝÀxb ‹/ôçÒQ^«PÆ÷‹.úäßÈß…þÝeØÎ–ÞÊø‰ ¥_f¼±‚ùý©ôk(¯T(ýûª‹>ù÷5äïFÿîvø÷ ÆOT(ý»“ñ>DîäWzÊ+JÿîvÑ'ÿîAþôO [ß—>Àø‰ ¥ßb¼‘û÷mH¢¼R¡ôï;.úä߃Èß‹þ ä뿇?Q¡ôïÆû¹?€ôÈïCûˆrþ~ÔEŸü{ÌÑHŸø'° ùx…²üO"ÿMÔÿ¦a;ß[úSÆ¥P–ïYäïG}¼ÿ?éç(?\¡ìÿ?ýó5úäÿÏ‘ã#póïÆ)”þý’ñň|ýý+Ã(oGyµBéß‹Œ¯A¬G}±öý5ãÊø¾Äø&Ä©LÿÆOS(õ_eü ÄYLÿ·ŒŸ­PêÿŽñsç1ý×?_¡Ôƒñ 1ý?0~±B©ÿ&ã— .eúo1þx…²ýÿ‰ñËšü™ÀÿøVÃ8`îŸ dÏJßô.Ê‹Êúý+èÖèSû{—ñ% ¥þÿFÙA(/U(×ïAú;ÊËÙóËÒ¿þX>åÿwÆW!²ýÓÒ@úÊëJÿþ úc4údÿ_Œo@œÌüÿ7¤ÿ¢|*â4æÿ@¿P£OöÿËøˆüþNìßüå‹Jÿ?ýá}²ÿ?Æ/F\Êüß |ÊWHíK<Š×ê£}¡›ÿñŒÎÊw‚Bi„&¾\¿PS?ìù€àdý/S(í i\,ãK˜>ñÀ•†ò ÍøÁx[6Žñ«W#/ÊcvÙ!žìÂô×(¤ñ¡ìPMÿâú‡!ÿmä¿mØžß•Á\Tv Ê«Rû)ƒ>]Ðè“ýc_HýKÔ ¬•Ê&¢¼‘=¿+ƒµxY•FŸìOd|3"{~WsYYÊç(”þû UhôÉ~ãç"²çwe0–•Q¹)”í§ØEŸì—hògû{‚“å[¬PÚ¯ÔÄ—ëWiê‡í¿®¬ åKÙó»²:ƯP–¿R#ÊOP(Û_k_\ŸòodöK4|êyì|PŒ•e3P^®PÖïtH‹5údã+éþE”o&¤Ù((4y¸O*ƒµBÙ|>ÙŸÍøzÄffÚbÙ<”OV(ëw.óë“ýyšü9?_S~6NÆwŠBY-È?ˆúöñêºl9Ê«ÊøÃXXvšFŸò_ÎøjÄZ+ËV¡¼±ÞPヰq’FŸì¯b|#âLæ?Œ…ekQ>K¡ôÆÒ²Í}²¿–ñ³Ùóƒ²u6 |žBY¿ë]ôÉþMþó¿™•o¾Bi‹&¾\ÿ$MýÌg„úßE^ N‡Ô‰òr…²~·CÚ¥Ñ'ûŒ¯@¤ûQ¾.HQ”× Rûs_R\£Oö£Œ¯S(çÿnH;4<éï`úõ eýÇ4þsý¸¦üõŒßÅâÛ PÖßnäBý‡ ûøp6¤ ¼J¡Œÿ9.ÓèSþa|5"ŸÏ…tʈ?1>|Òg4údÿ<Æ7 Î`þýmÙÇQ>S¡ôÿc>­Ñ'ûgü,ÄÙÌÿO@ºåsÊúû¤‹>Ù¿@“?{þ#8Y¾¹ ¥ý‹5ñåúŸÑÔŸ€+»åój|¸œñ‹Êò_é*”/V(Ûו¬}q}Êÿ*f¿DÃ_úßC^ ®‡tÊËÊúý<¤¯jôÉþ Œ¯@¤ö/Ê÷H7¢¼‘Úïxà¾é>Ù¿‘ñÄFfÿ&H_By“BY¿73ÿ¸>Ùÿ’&Îߢ)ã¿ÊâÛ¬PÖß×ÿ>êßÿo@º åå eüï„ô FŸò¿‹ñˆ<þwCºåÕˆqos¤4údÿ^Æyüïƒt?Ê›Êø“ùÇõÉþýšü9ÿ€¦ü<þ²ø6+”ñÿ.ò£þÃŽø?é‡(/W(ãÿHÏkô)ÿ2¾±žÙÒã(oP(í?é>ÙœñˆM,þ?‚ôÊ›ÊøÿØEŸì?¡ÉŸ¯ŸŸa囬PÚÿ‰&>|}ý<‹ÿ…²~~†ü#¨ÿˆaŸ?é×(¯R(ã÷"¤¿hô)ÿ_3¾‘ÏŸ/AzåD>¾ é->Ù…ñ ˆ|þ|ÒoQ>S¡ôÿ7ÞÔè“ýß2~"Ÿ?éu”ÏQ(ëç5}²ÿº&>ÿ½ÉÊ7W¡´ÿGM|¹þ[šúáó'peï¡|>"Ÿ?ßaü"…²ü…ô(_¬P¶¯wYûâú”ÿÿ1û%þ=Ôÿòùø!ö7ÿƒòr…²~ÿ ×è“ýÿ0¾‘ßbó”W+”ûgïƒ~žFŸìÀøZ…r}-ö7÷jxÒßËô ©þEQügúB7¡üÆgñ­S(ípìŸOú£qþ‡È ô©ø•iÊýˆ¸¿.úwùAÓè“ýqŒ/Cd÷?åC:TÓþ¡ûœ? ýùGþéü(”û¹ÿGBš Ñ'ûG1¾ ‘û:åÇjxÒ?VcŸóÐÿÇ8‘Ù_Êý('äþA*Óè“}?ã +˜ýbH¥žôK5ö9_†þ?޼À ̾hƒÕ(÷#rÿ!åu}²_Íø2Ärfƨò€†'ý€Æ>çëÐÿ!/ðXfæüòf”ODô1ÿÅþâ)}²ßÌx?"ÿÊa®/ŸŠòr…4þ•Ã\_~’FŸìOe|â4æ?ü»|ʧ+¤ñ½|º‹>ÙŸÁø™ˆó™}˜«Êç¡|Bi®‹>ÙŸÇøEˆl¸då-(?A¡´¿ØEŸì·0~9âjf®-_†ò5 ¥ý\ôÉþ2ƯC\Ï쯂Dv7(”öW»è“ý5Œß„¸…Ù[å$?I¡ÿ7ºè“ýMšöuãOÒ´oΟ‚ýÖÉæóD3ÿ³ "÷!æó1âI_ìßµ£|¼BŸ6Çù§~;òO`þÄø@?*ßÎøb…&/Æ®NÆ—"Òúv$ð]~ŽòZ…²FP(ãe|½B“?¸nHÏüIŒ¯Àc0ÿqÀÅ ýåÊü㌟ˆHå|¤(/Q(õ{!­Ñ§øîd|)"­ŸDûû{{P^£P–·‹>ÙߣɟÝN–¯V¡´òO¡¾ÀI,~çAzåE eùÏg¼‘σô ”—+”ú‡t¹FŸüÿã+Ùýgù'!]ˆòf…²ý_à¢Oö/düD>þ_ é”OW(ã÷}²‰¦|Ó9‹ß …ÒþÈ?úO«ögú÷9H×¢¼ ‘Ö'b~½Ò£}ÊÿZÆW!Òó5Q?×Aú<ÊëÊú»Ò#}²ÿyÆ×#Îcþßé‹(Ÿ¯PÖß\ôÉþ¿‘(ÿ¤[Q~¼Biÿ}²+ã—!®aöÅþÚ×Q¾V¡´›‹>Ùÿ:ã×#žÈìß én”oV(íßå¢OöïfüIˆ'3ûß„ôÊOQ(íßï¢Oö`üiˆ­Ì¾Ø{åm eûþ®‹>ÙHÓ¾Úÿˆ¦}sþQÖ¿&jøÇÙøx´†ÿ1Î/Ï /¯oÁnùO@Éœ?åüýŒ‹>Ùÿ ò4¿‘>ñÏáü'äãÊúyÞ1ÿ:õé|áOÑ?Gj~‘ñÅ åüþkÆ—"òùý%ªP^«PŽ/3>€Hû·0•¿Âø&…²}¼ÊøÉ åüÿ[àżò,Æ÷YÃv>®ü5Ho ¼X¡ôïu€a}ŠßŒ/Adûƒå¿‡ô&Ê«Jû€ô_>Ù“ñÕˆ´ÿ'Ú×!ý å ˆì|Nù[þ©Ñ'ûb|3âlæÿÛþ‚ò9 ¥ÿ†ôw>Ùÿ ãç"²ó9åï@zå‹Êúý«‹>ÙW“?Ûœ,ßb…Òþ?4ñåúÿÔÔ;Ÿ#81šò%ˆÇaùÄÞÅûŒ?ï¯ÄþV¹ØÿúŸ†'ûÿcúËJÿ÷jÚÓº íwã‡aÿxy´?ÊЇ+F£|’BªÿŠQŠ4úd4ã}ˆ´~€ú¯i,ÊëÒøUq€‹>ÙËøÄ&æÿÁEy³Béÿ!ŽÐè“ýC?Y!Å¿â0>{¾ 8éß…²|ã? q‹Ü«TL@ùl…2ÿc]ô)ÿ šúaýSpfýÃÙŸËøMˆ›™ÿ0–W,Fù…Ò‹+ŽÓè“ýÅŒ?I¡Œ_‹FŸí¯Núw²BY¾¥Œ?1Èâ³ÒJ”oU(ó_á¢Où¯ÔÔÏVƯeõߪPú·NÓþ¹þäŽýK Ý¿‹þµ…ñÅ eÿ:‰ñ¥ˆ¼A¬*ÎAy­BY§0>€ÈûשŒoP(ãwã§!òöe­hCùl…2ˆUÅ™}ŠOãç ®eõ‚Ôòu eüÛ]ôÉ~ã7 nbþo‡Ô…òJÿ;!ukôÉ~ã7+”ñ‹hôyÿéfþmQ(Ë·ƒñ'#žÊâÓ iÊOS(óßé¢OùïÒÔÏiŒ?“ÕP¡ôï,Mûäúç ÿ lÿ¿p´ÿó_¬P¶ÿ1¾‘·ÿCºåµ eý}‚ñDÞþ?Éø…2~0~"oÿAú4Êg+”ù ÒÍ}ŠÏ§?‘·ÿ‹!]‚òu eü?ã¢Oö/aüDÞþ/‡t%ÊOT(ý¿Òç4údÿJÆoV(ãw•FŸ·ÿÏ1ÿ¶(”廆ñ'#òöÿyH_@ùi eþ7¸èSþ_ÐÔo¿7³ú*”þ}IÓ>¹þ­È¿€íÿGû¿ñÅ eûÿ:ãKyû¿Ò3(¯U(ëïÆiý$Úÿ7ߨPÆïNÆOCäíÿnH÷¢|¶B™ÿ=žÔèS|îeüD¶Wq¤ûQ¾V¡Œÿ7]ôÉþýŒ_¸‘ùÿHßEù&…Òÿ!}_£Oö¿ËøÊø=¤Ñgû‚“þmV(Ë÷0ãOBäíÿQH£ü4…2ÿÇ\ô)ÿÇ5õÃÛþƒ ¥OiÚ'×ù_bûÿ¥£ý?Ïøb…²ýÿŒñ¥ˆ¼ýÃ|Sñ”×*”õ÷ Æyûñ eü~Éøiˆ¼ý¿é%”ÏV(óÿ5¤÷4úŸ—?‘ÿbîU”¯S(ãÿŠ‹>Ù•ñùøÿ¤7P~¢Bé¿Ø{S£Oöß`üf…2~¿×èóñÿMæß…²|düɈ§±øüÒ;(*”ùÿÅEŸòGS?üþà=Vÿ[Jÿþ¦iŸ\ÿÈÿ Û¿@Úßíÿ¿Œ/V(ÛÿûŒ/Eäíÿà'¢¼V¡¬¿ÿ1>€Hû3¢ýïe|³BŠŸØ •ü4DÖþ+ó! Cùl…”e¤c4ú¡+ù9ˆ«UýVÂ=|e!Ê×(¤øWŽpÑ'û…Œ_‡¸ù?ÒX”oT(ý?Ò8>ÙËøM eüÔè³þ#8é߉ eùfüDÖþ+‡4åA…2ÿ#\ô)ÿñšúaíWp²þ·*”þ«iŸ\"ò/bûx´jÿ•ÅŒ/VHí¿²„ñ¥ˆ¬ýW‚¬rÊkÊú+c|@¡ŒO9ã§!òö-RÊg+”ö…™}*ã)Ÿå¬þª!‘ß+ÊøÖ¸è“ýZƯB\Ãü‡¹®² åkJÿa®«œ¢Ñ'ûMŒ_§PƯY£¿ŽéOaþ­W(õ§jâÇö¯'ëgƒBŸYšöÁõç ÿkl¿v´¿…Œ/V(Ûß"Æ—"òö·Ò)(¯U(ãÛÂø€BYþ%ŒŸ†ÈÛßqŽGùl…ÒþRH[4úTþã?‘·¿ -Gù …2¾Ë\ôÉþrƯBäíÆâʵ(g(ý‡k+7hôÉþZƯS(ã·N£ÏÛßæßz…R£&~¼ýlaõ³A¡ŒíÏñöÁõOAþ%lÙóÝÊVÆ+”í¯ñ¥ˆ¼ý… }åµ e|ÛP(ËßÁøiˆ¼ýmƒt:Êg+”öÃÎÔèSùOgüÄe¬ým‡Ô…òå e|;]ôÉ~ãW"®fþï€Gù…Òÿ¤}²güZ…2~=}¶þœôoB©¿K?Þ~ÏÄúyÛ¢Ô?[Ó>¸þG û÷HŸx±ÿ&ÎgÁ}„ùýFDiÿã†ýûqÄ“>p¶ï×9ùOYÿÌÿ-òë±~üÀ_¶wïÏ/ùïXÀø+‘ ù×Tý™üçù×Uû4ùëy+ò¿Gþ÷þFäÿ€üü—yG3þËÈÿù?:Ê÷5äßBþ-U¿&;òBþO¬ÿþNäßFþm‡þ=Èÿù?jüü7‘ÿ òŒÿòï /p*ãDþ¯È œÈøï!ÿ.òï:øGÿ?äÿÏPçûÿ(òï!ÿžÃ¿!ÿ7äÂø'‘ÿ;ò1þäÿ¼À…Œù"/ðxÆÿ ù!/p>ã_@þßÈ œÃø‘ÿògüËÈÿùÿ¶ïsVþù÷‘ßѾ^CþäŽgüï‘ÿòaü‘ß‹¼À1ŒÛâE–BfâHC¿Ð^*ßEù(…rü…öRեѧñã]ÆF<í‹{Gh/•Cù! åüñž‹>ÙÿòyÈç±øÿ ¾*ÿ‹ò#Jÿ¡¾ª¶iôÉþ"_¾Ïø"…rþÿ€ñňլüÿ³Ž3`y eù÷ºè£B×äóÑ?Ç*ÿª†3¾H!ùW5‚ñňÊ¿*˜ã«F¡¼R!ùW5ÒEŸü…|ú'póï@Æ)”þÄøbÄóo¤CP^§Púw°‹>ùwãÙüTuòÃÐÿaÿd|‘BéÿQŒ/Fäñ…¶Tu,Ê+JÿqÑ'ÿE~8ú7ÜQÿEŒ/R(ýó3¾‘û²ªR”W*”þ•¸è“¥È@ÿF8âWÅø"…Ò¿jÆ#²þS%| ¼F¡ô¯ÖEŸü _ˆþ:ükb|‘Bé_3㋹“!MEyBéß}òo*ò#Ñ¿‘ŽúÅø"…Ò¿ÙŒ/FäþÁ\V5å5 ¥s]ôÉ¿yÈBÿ¥‹_¤Pú×ÂøbDîÜ_W-EyBéßq.úäßRäG£Ù󋪌/R(ý[ÉøbDÞ?VAZƒòJ…Ò¿Õ.úäßäÇ ÙüRµ‘ñE ¥›_ŒXÃü;Ò”×*”þmvÑ'ÿ¶ úw€#~§1¾H¡ô/ÈøbD¿­ÚP^©î_ªZ]ôÉ¿6ÇüMúÄoÃõW)”öÆ}ýB<éwYÿ,8ylýT‡õØ(8ylýT÷U»Q>J!­?ªàþ±êj>å¿›ñ£i},â·Ò™(?T¡¬ß3\ôÉþ™Œ?‘ﮂûϪ¢¼X¡ôÿ\HiôÉþG_‚XÎÚÏyŒ¯P(ÛÏùŒ¯Dldåÿ¤O ¼I¡¬ß»è“ŸÐøßÄø‹X|šÊø~ŠñSg³ò]Âø9 eù.eü\ÄV¾ÏBºåKÊò]æ¢Oþ_®i_K5¶o\“›ÈÛ÷ç¡} »ØæLäíû‹nBù(…²}Üéa>åãG#ÊÊ3¤[P~˜Bÿ/¹è“ý[b1óÿ«nCy‰Béÿ× Ý«Ñ'û·1¾‘Ú¯¨ÿ¯3¾R¡¬ÿÛ_…ÈÛ÷îDy“BYÿßpÑ'ÿîÔøÏÛ÷½,>Í e|ïcüDÞ¾¿Åø9 eù¾ÍxjG¼}ÒwQ¾D¡,߃.úäÿw5틷}c›1‘·ïÇ¡}‹~÷ì&òöý¤§P>J¡lOBú“FŸòŠñ£yû~ÒOP~˜Bÿg\ôÉþO"oßÏCú9ÊKJÿé>Ùÿ9ãKyûþã+ÊúñUˆ¼}ÿÒ‹(oR(ëÿW.úäß‹ÿyû~…ŧY¡Œï«ŒŸ‚ÈÛ÷kŒŸ£P–ïuÆÏEäíû H@ù…²|¿wÑ'ÿÿ i_¼}ÿ Û7îy˜Èö¿ªÞÝ»÷9Ñ¿pÏÃD¶¿Tõ7äqÍnb ãÿ‰<®IMäüÇ='§0þäñžÅÄ*ÅWÈã=—‰Ì~uò¸çh"Ûÿ«<®IM¬`ü(ä}È dûsÕ kVdüAÈãšÈÄzÆ‚<ö9ë8òØçLÎø#‘/E^`9ãA¾ ù2‡ÿ‘GÙøV]„<ÆÄDÊî5«ÁŸê2”"ÒøãM5øS»P£íOèš|¥%7×bü©© åãÒøS ×Î×è“ý*ÆŒHû{пªá^¯ºåG*¤þ]]ã¢Oök‘¯B^ í¿C,«¤BêÿÕMÈW£¾ÀÃXùáþ¿z*ÊW(Ë}¥ú#}òo*ò5–_&²ûëê錟¨Pú7ƒñ>ÄR¿™f£¼L¡Œß,}òo6ã+Ocío>òµè¿@v[½ñJÿ1Þ‡Èý_ i ÊËJÿ[\ôÉÿ%Œ¯@ÜÊü?ùúpø¿œñJÿW0Þ‡Èî«…«Q^©Pú¿ÊEŸü_ÍøjÄÕÌÿõÈסÿuÿ72~¢Béÿ&Æû¹ÿ'BÚ‚òJ…ÒÿÍ.úäÿÆW#rÿOE¾ý¯wødüD…Òÿ­Œ÷!rÿ[!…P^©Púßæ¢Oþ‡_¸–ùF¾ýÈö覆3~¢Bé'ã}ˆÜÿ.HQ”W*”þG\ôÉÿ(ã«ÙóÉê8òè£#þ½ŒŸ¨Pú¿“ñ>DÞwA:ååˆ,ÿݨ߄ù#Òú©ú ûT¾3ã+éÿ¿…|¼B¿s‘oFýfÃöûFÕgüQ eù?üdÔÈç‡ ]„òÃÊùáBП©Ñ'ÿ/B~ ÆGà$æß§_¤Púw1ã‹i}ë€êÏ?åÕ ¥—0¾‘žÏˆµÅ¥Œ¯S(ãûYÆ7 61ýË߬PÖÿŒŸ¢ÐäEÝ_¼¸¯˜jµ[ùúñsÈOC~럂¿ùéÈ dûcÕ×CºåÅ e|>ţѧú»ñ% ¥þ ÝòRDº¿ë·/Bº åÕˆ´ÿ+Öo7BºO£OùßÄøb+ßÍnAy³Béß— Ý£Ñ'û·0~2â4æÿ­¾‚òˆ3™ÿ_†ô >Ùÿ ãg#Îeö¿ é6”ÏShúXý5H·kôÉþmŒŸHíúIõ×5ú‹˜þí̿Šeû½C®ÿ M|3þV- ¥ý{5í‡ëßÇø¦OåÿCÆ× Ö³ö÷(¤ÇQÞˆHýK´ïÇ =£Ñ'û3~2âTfÿGž@ù4…²}ÿÒS}²ÿã§#Òþ‡hßOjôg3ý§˜sÊö÷´&>\ÿM|ç0þ9VsJûÏ3¾„ñ¤\õ‹(Ÿ¯P¶ß_0~!"õoÑ~_€ôK OöÉô+”í÷WšöÉõ_D~&ò3 5¾‹ö÷*¤ß¢¼J¡lŸ¿ý|>Ùÿ-ã«i~íçw^Gy"íωöù¤ÿiôÉþëŒoFœÍüÒP>G¡ôÿ÷Þ×è“ý?0~.âfÿMHo¡|¡Biÿþ©Ñ'ûo1~"o">‚ôg”/U(ë÷m}²ÿgÆŸ€HçKÄú÷]Hï¡|­BÙ¾ÿÏEŸì¿§)ßZÆÿ“ÅoBiÿ_šø¯cúï³ú]¯Pê i_\ÿšö¹^ñ‚«)DùFÄMX/Õ0~3â)ª~j †5#P~ªBò¯f8ë_\ŸòÁì—høBÇúì?ׇ³8ùw¤ƒQîGÄùIô¯šq×è“ýƒ_†ÈÖ5‡@:LÓþaûœ?ýŸ¼À‰Ìþ‘HîGäþýNÍD>Ù?šñeˆUÌþ1&hxÒŸ ±Ïù‰èÿäç8ü‡{šb”û¹ÿ «™ªÑ'ûÅŒ/CÄõjÀV ÉkÒøSsZÍd>Ù/c|-"[×À=\M%Ê›Jû"ÕkôÉ~%ã)¶þ®XÖßÓÊþSí¢Oök4ùOg|=+ß …Ò~ƒ&>3˜þdMýp~*Öÿ\äç:ê®­™…r?"¯èÏ5m}²?‹ñeˆ¼þ¡=ÖÌEyBY?àoÍV>ÙŸËøZÄÉÌþE¡´k™š“5údã§"Îböa®¬YŒòÙ ¥}˜Ój6iôÉþbÆÏA¤ùYÄî%jŽCùB…4Ö,qÑ'ûÇ1žüdós Ü+Ô¬@ùR…Òþr}²¿‚ñ' .göa®­Y‡ò eû]ë¢Oö×iâ·‚ñ›Xý¬T(ퟨ©ß•LÿdÖ~V)”ú§hÚß*¦¿UÓþ9߆ýkòyÿê€F¹‘÷¯m¾¨Ñ'ûaÆ—!òþu:¤N”×(”ís;¤4úd¿“ñµˆÌ~¤(Ê›JûH×hôÉ~”ñ͈||í†Cùt…²}îpÑ'û1ÆÏD¤þ5¸.AùB…Òÿ]Œ_„ˆ÷'b­f7ã[Êö³‡ñÇ!RÿöÏ„t6ÊW(”ùŸéÓ}*ßÙŒ_‰¸ŽÙ?Ò¹(_¯PÚÿ¤OjôÉþ¹Œß€¸‘ÕÏG!òM eùÏsÑ'ûçkòßÄøO²ò¨PÚ¿@Ÿ™þ§Yü7+”íçbMûàú—0þ$Ä“ y[s9¤+4<é_ÁôOQ(ý¿RÓ?øúùÖÿNU(õ¯Õô_¾¾¾A3~pþ‹8>ÍG~¾!ÇO±[s3ò ècõ+¤¯ ÜÈǯ/Cz_£Où…ñe eûý*¤ÛP^®P¶ß¯AúFŸì߯ø DZÿ‹úû:¤Û5<éßÎô«Êösãk˜ÿwCºå ¥ÿ÷@ú»FŸò¿—ñTÓ˜ýû Ýòé ¥ýoBú«FŸìßÏøˆ ˜ý }å Jûß‚ô°FŸì›ñ‹—°ö#ö'¿‹òãÊöý ‹>Ùÿ®&¾>y˜•o©BY ¿õÒþ–˜‡ô6Ê(”åÿã*”óÿH¡,ߌoA<žÅç)HÏ ü…¦þàž†ôs>•ÿÆ/S(íÿÒ³(_®Ð´/ÖF?uÑ'ûÏjòçóp5o¡|¥BÓ¾¸wúãW#®gþ½éW(ß P–ÿ—ÞÔèSþ¿büFÄÍ̾Ø?| å[Jû¿†ôšFŸì¿Äø“Jû/Czå'+”ñ}ÅEŸì¿ªÉŸÏ/¯±ò¢PÚ]>¿¼ÉâªBÙ>ÿÈúG‹Fÿ-Ö~ghø·ãÙ'þ¯8¾ ùi eþï:ÆGâIÿï8þ yP¡Ôÿ‡c~ žôÿ㘟œüû8ÿ-B^ _¿ï>å~D6ÿ‰ã0µ>Úº’/Cdë÷Ú|HÃP^£ÆŸÚH5}²?Œñµˆìþ¸æÀÚB”OQ(í€t FŸì2~*"=Œ¡µ£Q>K!ÕOí(}²?Z“?»œ,ßl…4¾×Äø¹ˆt>Røv(¤ ”/Q(ËãSHã{íáŒ_ªP–ïÆŸ€Hë+aÿHHÔ.V)”ù©T£Oå?šñ«iý/â ¤ (߀Hëw¡{,¤">ÙŸÀøJûbÿЇòÍ eù'1ÿ¸>Ù÷iòç|‘¦ülüœŒï…2ÿ2Mýsý MÿÙÂøMÿå|ÇqOx„B3¸7«m@žÎWOúMxþ¢õ[ ÛùœÚÉŽó%Ný©Žó--~&žŸmz¬Bi¶ãü(ñ¤?ßq~ÕÉ/´þY€}ÂÄ# yÿPÛ²wïsí Ç>abã—"kW1~ò¸æ1ñƯD×4&rûkÇ5‰ìüoízäñžÛÄC¿ yì³&òü· >›XÅøS_üjGþAä× ¿Æ°}ß ¶ y|¦e"/_òØçM<‚ñ§#k*¹~ò¸¦2‘o®í†Cù…fûãßH=}j1Æ"Ž6Ôø×èfúÀÕ^‹ò1 åøØËøFûbîÛ i7ÊQ(ç‡].ú”ÿnƆx4³¤sP~ŒBiÿl}²ã' 3ûçAúÊKJûç»è“ý1¾ ±†Ù¿ÒE(¯U(í_è¢Oö/b|âdf_œ»åSJû—¸è“ýK? q³¤«P>W¡ß®tÑ'ûW1>é­õÏÜÓ2‘÷/Bº å…ˆ# µþ»Ñ0šoÑè“ý›?Ñ’›xë_‚t+ÊÇ)”ít›oÖè“ý[0"¿ñû2¤¯¢üH…²~¾â¢Oö¿ŠüfäÒøSüŒ?R¡É‹¹ùÈoAý-†í|gí]îAùá eùï6ŒÀb>ùwò'Y~™x4óï>ÆûJÿ¾Éx?"ï"~÷CúÊ«Êø=à¢Oþ} ù“Ñ¿“þ=ÄxŸBéß÷ïGäþ}Ò#(¯V(ý{ØEŸü{ùSÐ?Ç2ÿg¼O¡ôïGŒ÷#òñçÇžDy­Béß.úäߓȟŠþ <Šù÷SÆûJÿže¼‘Çï9H?CyµBéßó.úäßÏ? ý;Ͱ®ýã} ¥/2ÞÈýû5¤—Q^­Pú÷’‹>ù÷2òAô/èh¿c¼O¡ôï5ÆûË™¯Cú=Ê+JÿÞpÑ'ÿ~üVôo«£~ÿÄxŸBéßÛŒ÷#rÿþ é”W(”þýÅEŸü{ùVô¯Õ¿¿1Þ§Pú÷wÆûyýþÒ¿P^­Pú÷O}òï_È·¡mÿ>`¼O¡ôïŒ÷#rÿöŸ‡òj…äŸ8ê¦ÕGÿ„®É‡Ð¿Ý¿ÀÆû’BÆû™˜‹£Q^­Pú7ÊEŸü|;ú'ƒïS(ýÇx?"÷æ¬À¡(¯V(ý;ÄEŸü;ùô¯Ã¿#ïS(ý;Šñ~DÖ?`+p,Ê+JÿŽqÑ'ÿŽE~ú'ðHæ_ã} ¥~Æûyü`­(EyµBé_‰‹>ùWŠ|ý ;ü«b¼O¡ô¯šñ~D6¿„”×*”þÕºè“äOGÿNwÔoã} ¥ÍŒ÷#òú…µv`*Ê+Jÿ¦¸è“S‘ߎþmwø7‹ñ>…Ò¿ÙŒ÷#òú…µz`>È;Ñ>"­ïó\ôÉ¿ùŽõ!é¿ןB>^¡, ò]¨ßeØæïÀ Œ?J¡,ß2ä#¨/­o+ ­Bùá i}›?¯Ñ'ÿW!ÅøœÄü[Ãø"…Ò¿µŒ/F¤ø‹±saÔ¿òj…Ò¿õŒ¯A  ¾è{_§PÆw#㛘þ‰ŒoV(ë3ã§(4ù3‡õv=¬a º­vi¢ŸÅÖ“ÓP^¬P–Ös§5úÿÓ_¢PêÃz&°奈ìüiÖ6”W#Òø!æ˜Ï»4ú”ãˆ?‘?Ìg”7+”þÁ|èÕè“ýÆOFdçs0žNGù DÚÿþÃxØ¡Ñ'û§3~6â\fús  åóšþ ¿¢}²ßÅøùˆ‹Ð¾Û#ýEL?Êü[¬P¶¿nM|¸þM|3¾—Õ_‹Bi§¦ýpý]Œ/aúÄ8åÇ)4ËãEà ÆHû›Ã}è, OöÏbúËÊþ}¶¦pýsß<¢lŸçCº奈4> þc>òj…Rÿã®ÐèSþŸ`| b½¡Úß'!]ˆòFDê_¢}_éR>Ù¿ñ“§2ûAú4ʧ)”íûS>£Ñ'ûŸfütDzD´ï‹5úìýÁIÿæ(”íïM|¸þ¥šø²ý5ÁÉú›«PÚ¿’ñ%Œ'}à×£|¾BÙ~?Çø…ˆÔ¿Eû½Òµžì_Ëô+”í÷:Mûäú×#C>fØÞ? Üéf”W)”íó&H?Ôè“ý›_Hó«h?_‚t+ÊYû¼Ò÷5údÿVÆ7#ÎfþÒWQ>G¡ôÿ+Òè“ý¯2~.";_ø¤¯£|¡Biÿ6HßÒè“ý¯3~"o">·CúÊ—*”õ{‡‹>ÙÿãO@Äg5æúTì/Þ‡òµ eû¾×EŸìß§)ßZÆ‹ÅoBiÿÛšø³ç·‚“õ»^¡Ôÿž¦}qýïkÚçzÆø1Ê7"â^·x¾x”ñ›Oaõó¤¡üT…Ò¿ÇYÿâú”ÿ˜ý ÿcþ~#ûÄ?ëÃ8òÙùŽÀ³žG¹ç'³=é >Ùžñeˆ|þûƒ¿@yµBÙþé5>Ùÿãkùøð¤_¡¼N¡lÿ¿tÑ'û¿b|"Í_¢ý‹ýÃWQ>M¡¬¿W\ôÉþ«šòñõákšørþ ¬¿ä{õ÷&¤·PîGäõ÷GHïkôÉþ[Œ/Cäõ'öÿŒòj…²þÄþã4údÿÏŒ¯Aäõ'öÿŠò:…²þÞqÑ'ûe|"¯?±?ù”OS(ëïï.údÿšòñúù&¾œë¯y>Vþ½PÜ<”ûYý‰PÔªÑGûBWòeˆ¬þêò! CyµBª¿ºHkôÉþ0Æ× ²ú«ƒ5H]!ÊëRýÕpÑ'û…Œo@œ®ê¯n ¤±(Ÿ¡ê¯î}²?VS¾Œ?X_Ίõ·yXùaVw$Êýˆ¼þÆCªÒè“ý#_†Èëï(HÇ ¼Z¡¬?°YW¡Ñ'ûÇ0¾‘×ß±&¢¼N¡¬¿ .úd"ã§°úƒ˜Ô• |ªBYÅ.úd¿DS>Ö?—_ÎWaýíB^à1¬üµêPîGäõe­›¯Ñ'ûuŒ/CäõW©åÕ eýA™ëæjôÉ~#ãkyýÁ½ZÝd”×)”õ×ì¢Oö'3¾±™Õô¥º™(Ÿ¬PÖß }²?SS¾ÉŒŸ«‰/ççcýíF^ ï°¦­kA¹‘×ÜëÔ¯Ñ'û-Œ/CdûWuK -Õð¤¿TcŸóÇ£ÿ{ÈæïºåV¢ÜÈý_i­FŸì¯d|b³¿ Ò Oúk4ö9¿ý?ù3þo€´ å~Dî?¬™ë:5údãËÙùàº!mAyBÙ`Í\wºFŸìoa|-"Û?¬; Ò)(oV(íŸ )¤Ñ'û§0~2"Û?¬ƒµx]åÓÊþsš‹>Ùjòçó[ˆ•o†Bi¿]>¿®©ÎwbýŸ‰ü™ŽúBÚr?"¯ÿnH×hôÉþÆ—!òú‡û™º”×(”õë庫5úd¿‡ñµˆ“™}˜ïëv¡|ŠBi擺Ë4údã§"Îböa<¨;å³JûÐßê.Öè“ý3?‘öDüáﺳQ¾P¡ÿÏrÑ'ûg3~1"Û_¨û(¤óQ¾T¡´ž‹>Ù?Ÿñ' .gö? éB”¯P(Ûï.údÿBMüV0þbV?+JûŸÑÔïJ¦k?«JýË5íoÓ¿ZÓþ9 ö¯³Èû×õn@¹‘÷¯ÏCú¹FŸìßÀø2DÞ¿¾éF”×(”íó‹ž×è“ý_‹ØÈìßéK(oR(íß é>Ùÿã›ùøz ¤/£|ºBÙ>ouÑ'û_füLDê_#» ÒQ¾P¡ôÿëŒ_„ˆû«âù^ÝíŒoQ(ÛÏŒ?‘ú‡°'¤»Q¾B¡Ìÿ.Hkô©|w3~%â:fÿH÷¡|½Biÿ^HjôÉþ}Œß€¸‘ÕÏ7!=€òM eùïwÑ'ûhòßÄøYùNT(íWŸ™þÃ,þ›Êöóˆ¦}pý2þ$D|ÿMìÏ×ýÒ5<éÿ˜éŸ¢Púÿ„¦°ý?ÁÉþwªB©ÿMÿeûƒ‚K?8ÿsŸÎF^ Õï/!½ˆr?"Ÿ~ú>Ù‘ñe eûü5¤—Q^®P¶Ï—@¿F£Oö_f|"­ïEý¼éU Oú¯2ý*…²}ü†ñ„ Ìÿ×!ýå ¥ÿb¯\£OùÿžñMˆÓ˜ý?@ú#ʧ+”öß}¿FŸìÿ‘ñ3Ù󋺷 ½ò… ¥ý?AzO£Oößfü"Ä%¬ýüÒ;(?N¡l¿qÑ'ûïhòçë÷Xù–*”õ÷7äÏA}ó 5þÿø‰(_ P–ÿ?Œ_¨PŽÿÿeü"…²|ï3¾ñxŸÿY[Mù M}qo³øB>–_èJ~™B²_X_€òå Mû0NÕç»è“ýMþlþ\ý±(_©Ð´/öfF2~5âzæß(HcP¾A!•¿Ƙú£5ú”ÿÆoDÜÌìé@”oQ(í…t¸FŸìÈø“JûA:å'+”ñç¢OöÖäÏæÁÉò¢PÚ?B6NÆÿT…Ô>ëaý£E£,k¿34üDÇøCö‰÷ãø&ä§)”ù;ÆGâI¿Ç_!*”úŽùxÒ¯qÌON>€óßGÈÖçõ0V×7¡ÜÈæ¿zëëOÓè“ý&Æ—!²õy=¬Yë§ ¼F!?õp/ZŠFŸìOa|-"»ÿ­‡{¦úé(Ÿ¢PÚ‡¹¢~žFŸìOgüTD:%âm¢~ÊÊú™é¢Oögiòg÷Ç‚“å›­Æ÷úùŒŸ‹ˆëo1¾×ÃZ½~3Ê—(”åoaüq i|¯_Âø¥ eùŽcü ˆ+YüÅþà2”¯R(óú}*ÿ2ƯF¤õ½ˆ?ŒÅõ+Q¾‘Öç¢ïýDýZ>Ù_ÉøJûàký”oV(Ë¿šùÇõÉþMþœ_«)?7²ønQ(óߤ©®¿YÓ¶0þMÿåüi8>œ‹¼ÀcY|Z!…PîGäãC¤}²b|"{¾PßiÊ«ÊöÓ)ªÑ'ûÛ_ƒÈž/Ô‡!mGyBßÓ]ôÉþvMþuŒjÊÏùß"ÿQG|{ íD¹‘Ç·ÒE}²¿“ñeˆ<¾» íAyµBßÝÎÕè“ý=Œ¯A¬gþŸé,”7(”ñ=ÓEŸìŸ¥É¿ñÀÕ_€òF…r}óQÆ7!Naþéc(ŸªP®/Îwѧü?Æø2¦OüšúáüEXÿç!/Ï¿Cºå~D^ÿŸtFŸì_Âø2Djÿ¢~/…tÊëÊúÿ,¤»4údÿ2Æ×#62ÿ/‡t%Ê›Êùë }²%ã'#²ý±z±¿xʧ+”ö¯uÑ'û×1~&â\fÿ nDù<…Òþ]ôÉþŒ_€ØÂìßéË(_¢PÚ¿ÕEŸì™ñKO`öoƒt;Ê—)”ýïë.údÿvMýóû£»4íó÷`û>ùóíû›@¹‘·ïû!½¬Ñ'û0¾ ±ŽµïoAúÊëÊöýmH¿Öè“ýï0¾‘¯/„ôʧ(”ö¿ éI>ÙˆñSé|ˆˆÏ÷ =Œò eûø¾‹>Ù˜ñ³é|í0à…ô8Ê+”íã1}²ÿ¸¦|ì|»àêŸAy‹BÓ¾X_>Åø%ˆl þiÆ70žìWÿ ”Ÿ PŽÿ?aü2Ä5¬ü?…ôÊ×*”ãÿ³.ú”ÿsŒo`úÄÿ‚µŸu e|_д?¾>ýµ¦ýsþeì_0™ï!šöឯþ7ÈG±}OúÀ™ïßùx…²}½æx¿È©ÿòÇüÒúEÜ»¾Åx¿B“‡òÖÿ‰ñ%ˆt(î_Þ†°ö ¼F¡ì_f|­Bß¿0¾N¡É‹µÇ;À‹õÙ'0¾Ÿ0ìë¯w!½‡ò‰ˆ“ 5>ýèÏÑèS|Þc|"Ûÿ­ûsÿ@y¹BY¾¿ƒþ,>Ùÿã+k˜ÿÿ„ôo”×*”õû/}²ÿoä?‰ü'UüÌúùðÓP^¯Pú¿—ñ éþRüSò ©þò߬ꯡ’˜×/Àöqaÿ†C*Dy½Bò¯a¤Ã4úX~¡+ù…߈AÃh”7*¤ø6ŒrÑ'û£ߌ8ÏãSÃÆ¡|¾BŸƒ\ôÉþ8Mùæ3¸†j”/D¤ùAøv8ã[—²øBŸo8åÇ+”ñ…±¤¡T£OùÉøÊøé”/S(ã{´‹>Ù?†ñ+iÿUÄúrCÊ7(”ñõ¹è“ý"Mù60¸†*”oB¤ýß2ÆoAÄýÍ<Ñ6a,h¨Ððd¿‚é·hø*V5¾ûÏ…È#ÊøÃZ¿¡^Ó~=ê_dÕ7!Í? MÈSÿ%žô'cÿ¾ÈŠ7¡ŒÿÇøãÔŸæIŸøYŽñÙÉÏÁñÿSÈ ¤ów"¶ÐW¢|¢BÙ¾aMÞ°J£Oö2~b‹/ôµ†”ûÊö½ØEŸì·0¾Çw³}C_lX†ò€Bß\ôÉþ2MùØýŸà:P^Hã£h߫߄H÷ß"~°–jX‡ò© e|a-ÕÔèSþë? q‹/ôÕ†(Ÿ­PÆwƒ‹>ÙßÈø¹ˆôüPÄúdÃÉ(_¨PÆ÷$}²²¦| \C;Ê)4íC?nØÊøÅ MÿÄÜ× ©MÓý6¦ß¤áÛYý­á;°ÿ|ylýÔp:¤N Oú¨±a­åøEžÖoÄ“>pæúNÈÇ+”õs¬/ú=ÈóxŒ!ׯ {ïWHë׆3_‚ÈÖ¯ bòÊkÊö}ãkÊös6ãëÊõÏ9þòK0¾—8â.¤óP>‘­_> éI>Åç<Æ!²õkÜ4|åå eùà~¡áÇ}²ÿqÆW òùÆí† P^«PÖï']ôÉþŒ¯C¤ñGԴdžGQ>U¡ôÿbÆOS(ׯŸaüt…²þ.AþRôïRÃöü«á2HW ¼F¡ÌÿrHhô©|W0¾q*k¿W2~šBÙ~¯bütÄYÌ¿«!]ƒòÙ ¥Ÿƒt«FŸü»†ñsÊú½Òõ(Ÿ«PÖïu.údÿzÆÏG¤óeb|þ"¤›P¾B¡¬Ÿ]ôÉþMšò­`ü­,~+Jÿ¿Œüg±~Òþ¨¨Ÿ¯3¾I¡¬ŸÛߌHõ+â¤;Q>M¡¬Ÿo@ú®FŸü¿“ñÓÊú¹ Ò=(Ÿ¡P–ïn}²ãg!ÒùQ?÷CúÊ)”õó€‹>Ùÿ–¦|lJp2~‹Jû9úñ¤ÿö_!oQ(õà_œú:Æ?Ò'þÇŽñ×É?‰ãûeÈ äëÓg ýåÊúÿ ¤—5údÿ§ŒŸ„È×§ÏBzå~…²þŸsÑ'ûÏ3¾‘ÆwQÿ/@úÊkÊøþÒEŸìÿJS>¾~®á¯(¯C¬7Ôü÷ ãÙþnë~‹ò) e|é/}Êÿ·ŒŸŠÈÎ4üÒë(Ÿ¥PÆ÷5}²ÿ:ãç Îgñ}Ò[(_ PÆ÷.údÿ-Mùøúõ/,~Gkø¿bû½y|}"öÇþ®áIÿï¨óœ¹>C”ëÃ!Oë#âI8sý$äãÊøþ×±~sê€ü•˜¿@ê0~7æ3Þ¯ÆïÆÆ— ²õa#ÔQãy(¯QHí«q8ãkiþ{#ߤ귱ñ“Òú±q¤€ü*ŒÿU†íûJc Ey±Béß–hô1~BWò%ˆ•ÌþÆ¡¼J¡´¤b>ÙÇøjÄzÕ¾†t(Êi~…þßx¤I}²(ã'#Îaþé”ÏU(ý?Ò>Ù?‚ñó3ÿ¡­6…ò…²~tÑ'ûGiògó‹àdù–(”ö'jâËõ'iêg ãk¬GùRDz¾í¥±„ñËW³ø–B*Gù…2¾¢4ú”9ã×"Òù _aƒÚÝ&…²ü•.úd¿J“ÿ&ÆXùNTHãOc¦pýzä¯F^ »ÿj„:mœŠòr…2>0W5.Ðè“ý©Œ¯@¤ý#XK6Î@yb=ò¢mÂZ¯qŽFŸìÏ`|#âfæ²ÆÙ(ŸªPÆóë“ýÙšü9?GS~¶þœŒï4…2ÿ…ŽñxÒ_‚ãççÈžo7ži9Êýˆìùv#´™ÆÕ}²¿œñeˆÕÌ>Ü‹4®Òð¤¿JcŸó«Ñÿk¿Æáÿ:HPîGäþ¯‡t†FŸìo`|";Ò}©ñD”×)”íúBãn>Ù?‘ñõˆÌÿÍNBy“BÙÿ¶¸è“ý“?q³¤­(Ÿ®PÚºè“ý­ŒŸ‰8—Ùo‡´ åóJû.údã ¶0û"(_¢PÚïrÑ'ûÆ/EdÏoczP¾L¡ì_q}²ß£©v¾Dp íóg`û¾Ö°Öoˆ´~l<yZOúÀ™ë'!¯PÆç\ÇúΩò×aþ×¶ï«6~’ñ~…rýxãKùúñBHF¡ì?1¾û—¹~üãëÊúù4ãÊõ#¬›ÿ òë1þ×öõã¥.Cy±BéÜï6> Ñ§ø]ÆøÄ Ö¾à~¡ñJ”W*”õs…‹>Ù¿ùÏ#ÿyþ>…úl¼åU ¥ÿÆohôÉþõŒ¯Fäó+üÝø”×!büÍñõH·iôÉþ߈8“ùÿEH7¡|–Béÿ¾ªÑ'û71~6"Ÿn†t Êç)”íçK.údÿMþóÿUV¾ù ¥ý¯iâËõoÓÔ»¿\ã½(_ˆHÏ¿ÅúôNÆ· âø(ž¯4Þén OöïfúÇ)”þߣi\ÿ^Gÿ }âÀþwòÙýuãƒB¹‘Ïßß…ôˆFŸì?Äø2DÞÿ¾éa Oúkìsþôÿ È äëG!=Žr?"÷ÿ1HÒè“ýÇ_†È×?‚ôÊëÊþñcHÔè“ý'_È×OBzåM åøô”‹>Ùšñ“ùúãYHÏ£|ºBiÿ9}²ÿ<ãg"òþý¤_¡|žBiÿ—.údÿWŒ_€È×/CzåKJû¯¸è“ýW¿‘¯?^ƒôÊ—)”ýïu}²ÿ†¦þùúâšöÇù?aûþ¢aÍÿˆrýñäi~%žôÿŠó¯W(ãó®c}àÔù1>C­?þÅx¿B¹þø7ãKùúã?МAyBÙþËøZÄzC­?Þg|ƒBY?0¾ ‘=ÿhÜ â<”OSHù‹®Öt¤Fã#t%?‘=ÿjʇ4 å³JûÕè“ýaŒŸƒ¸„Ù‡9¤©åÇ)”öG@:P£Oö ¿q™jÿMPGM£Q¾\!Å·i”‹>Ù­ÉŸ=œ,ß …ÒþAšø°çg‚“ñ_©Pꦩ¿•LÿHÖ>V)¤þÑt”¦ýrýc¿ û‡ÀIª4ùïWHý£©ˆñ%ˆ¬4ÁµÍ× ¼F¡¬ßbÆ×"ÒüöšJ_§PƧ”ñ i}Þeh¾ ä°N3Ç't¾aðÂÆ(Ÿ PúWÅø‰ˆlÿ© ÊÚT‹òr…R_ÔA³FŸâ_Ëø DZ‹ö ±hªGy•BYþ:}²_¯É¿ŠñÀ5-Fy "­Ïáú¦ÉŒ¯ClfåŸiÊ'+”凱¦i®FŸòŸÆø)ˆ3Xù¡Ï4ÍD9CYþ.úd¦&¶¾\Ó"”ÏF¤ýmh/Mó?×ßbýÛÿnZ áÉþ¦¿@¡ô!k_uýE,þ5üb¦¿H¡lÿ0–6íù—P_ õoßã!-Cy"õo1öÁZ i“FŸò_ÆøÄrÖ>`¬lZ‰ò …²}ÀXØ´A£OöW2¾±Šù¿ Ò”W+”ñ]í¢Oö×hògûƒ‚K(?ç7a|oAþÃvÿß´ÒÉ(/V(ˤ6>Ù?™ñ%ˆ¥¬ü§@: åe eùOuÑ'û§iòçãpM;P^Hã“h!ÆW#Ö±ò·CÚ†òz…²ü¢}Êãéù´(Òv”OQ(˺‹>Ùß®ÉŸíŸ N–o¢†ßõ«aÍ/ˆ´¾mêAžú'ñ¤¿“õߣ5ü8}y¼ÿŠ<>‚ò"DÞÏôY>ÙÿãKÙþOÓ¹ÎCy•BY…t‰FŸìŸÇøjÄ:æÿù>Žòz…rýò1}²ÿqÆ7"òöq!¤O¡|ŠBÙ>.rÑ'ûŸÒ”×ÿ%šørþ³X_Aþ+†}|¸ñÅ e|¯ý}²ãK«˜ý«!]ƒòj…Òþç }Q£Oö¯a| "Û¿kºÒõ((”ñ½ÎEŸì_¯ÉŸí/N–¯N¡l7"ÿUÔÈ×gПš¾‚òr…²üP_M?ÐèSþ_a|b ³7݆òZ…Òþ× Ý­Ñ'û·1>€ÈûÇ×!Ýòz…2¾·»è“ý;4ù×3¸¦ï¡¼‘ΈõÏ=ŒŸŒ8•ÿ^HßDù …²ü÷Aú®FŸòÿ&ãg"²ý—¦û!} åóÊò?à¢Oö¿¥Éã¿ËÊ7_¡´ÿ¦þ¹þ÷4퇯Ï~ÀÚç…²ýþù¯¡þ×í÷ÇžDy¹Bß' ýF£Où?Éø ÄZfÿ)HÏ < PÚÒ¯5údÿÆ×!Ö³úû ¤gQÞ P–ÿ§.údÿYÆ7!Îföé”ÏQ(ëï.údÿMùØùÁÉøÍU(í¿¤‰?o¿aõ;O¡,ÿo‘¿ õosÔÿï!½‰òr…²~þúy}ÊÿMÆW òúÿ#¤?¡< PÚ Ò¿4údÿOŒ¯Cäõÿ6¤¿ ¼A¡,ÿŸ]ôÉþ_ß„ÈÎO4ý¤¿¡|ªBY?ï¹è“ý¿iÊÇ÷Ç€kúåÓéþTŒÿfü,ÄùÌ?±?ø>Ê(”þý—Õ×§üßgö+4üšúgç'Û×B…”s¾c}A<éÀõËבÈöOšaÙ<åRûiÃø‰ MÖ«Í@*Aù$Ä"Õ>›ÇB:å~…Òþü}òÿ Æ#²õm³(Ã!(¯R(í é(>Ù?„ñÕˆ´õß|(¤ÃQ^§PÆÿ0}²¸&6¿ ®™âÚ€HÏ_ ¾šf|3âtæŸØÿ£z›¡Púw,‹×§ü'0ûÅ~¢¦~ØþŒàdýÏT(ó/Ö´®_‚üíÈßnØÖ×Í"U¡¼X¡¬_‘GƒFŸìW1¾ñ$´? 8¨³æZ”Ÿ¬Pú_ã¢Oök5ùŸÌøVþ£5üdìŸw ‡a{~Ø< Ò ”ûÙýa3ÔUóg5údãKyÿºjžò*…2¾0¦5_¢Ñ'û³_XÃü‡¹¸yÊkÒüÑ<×EŸìÏc|"Í#ƒ{òæO¡|ªBéÿbÆOC¤þ#Ú^ ãg(”õ¿ùoÖüHûsÍÇCºäw¢ÿw:Ê¿ Ò ”éþ@ÔßrHí}*ÿ Æ7(”õ'®YòF…²ü« ¦Ñ'û«ß„8…Ù_iʧ*”ö×BÚ¢Ñ'ûë? ‘_ë!mDù …2þ\ôÉþFMþ||ÙÂÊ7S¡´’&>lYpÍ!”ÏRhêC=6?‘Ýÿ4o…Ô¦áÉ~ÓoÐð!Mûà|;¶¿»ÈÛ_Òv”×*4ý±9Òy}²¿ñDÞ>:!EP>U¡l]ÎÖè“ýã§!òö…´å3Êñ£ÛEŸìï`ü,Dªñl©—ñóš<¬Ã›w2~>"¯Ü.H»5<å¿›é/V(ÛßM|ØùwÁÉø·(4õai>GSì|àÌöq·a_ˆ´¿Ùü ä¿áàIÿÿî¶ê“Pú¡c|vêÊ1>ñ—8æ/'ÿYœï1¬ç›ˆÒÿ+§ç‡Ä“¾Ø_»åãJÿ¯6ìÏ?ú×öß?'}â3_ý^ä¥ý/ "ü=œñ¤\³8¶ÉÒIào±þ9,ß䇣 ÚÂЭ XZB ÓàÄ——Œè‰nEâð¯q&kI ®\¾|ñŠuÙÿó°µ'._°rÙ©-ëW,\·tåŠSÎ_¶ŒÜ-¯(Ç íîŽá¿G­]·æÔ…+W¬]'¯«Ñ]—éѨ²výŠÇâÕì¯T³lvAOÛ¬C¿ ¼R— ÿ7s$ƒB$5?p­¨?¼aÙÄ¿Æ,[ܲîÔùk×.]²BsñH*Tby¤b¯\³|þ²µ‰d»o.Aq^”´Ä)Öc_þL+¨ýØ`Òìkûp”òŽç`{2r~H—%gvN¡’br÷›¾‡+›+©~˜K2X}Ô © 5˜tIUP~&ý3iKbT Ê‹ú°úri.âìeñê4 +Ì´휶×gÒs…È"ç\ιAî\ù „‹ùK¨ƒZ±~¹­Ç»¬•ö{iM¹\’¿xõ¾w"…KÒêœý°tµ$ùEº~ì³5Y Nvö&Ý.Y¼líâÌ}MuôaÈÆ,–ë(Yò¯2kûö¹ÚÏ “¹a2×Qr%×QreHt”Üzb°Ô~3ËÕY®Çæj?Wû¹ÚÏ×[gv jK·Oî:ªÓ^ýò»[.\»jñÂ¥óu5Ôç&f—»?O†ôÛ#Ûod²uÃÑ¿QèÒ¤òï,ž“M¹ y y9`'Ss¼&Óž/¥Éî>ÀOßS,óp6…dÄKgÊò8ê§?ÿ–pøf ¦~?T— j.¨¹ æ‚š j.¨¹ Š¦s&~ȇ:›Ò2¿eÍÕl®fû¡fGƒº]’änK×öõíõþv^»v¥Ò›Hl—@óH´íØø]º"sײP{ó´…X»le’6ìÒã2{)O^RصF#m‰%…=ôþ{ÞÔ_á3¨úsk»Oû@™kC&±!˜µ7³Ø%Ùßpõ*¨Ý YèT'Ç~Úõ¨.½O{£ËŠ(ÍK†ÚÉÃAVkƒè |¶´ÜÞDævéÞD.¨¹  æöZ>\{-¹šú5›… °AT§ýxßæz*#¥wIrå.$·ÓýãyÎÛ”/½bý²eé@ƒwe<Žá%Û”Œ/ öû19·{mZäV”Ù¯œÕŠ2W³¹šÍÕìЪÙý´sAÝƒö×1(W³¹šÍÕl®fs5;xk6ñtmâfVò šl·„!Õx†\KØO{s.¨û]Ps³Ñ‡k6Úßk6['M3¯`¯8dírŠ?D”».wÝ]—´/dñë,ƒçw>ûáÅ®¡ú£g9;Y·³óúµzº/då媜‘}õÖÚ \:ç~îoàß½î¯ÓJYÿ^hvV&ƒê½ôþ‰Ùiz}ÿÖ^V?q»lÁÍEš6t²¾¥ºˆûyüÙ‡…,Ÿûdí(÷¡ì\íçjßÛ©þûi®• "ÿrcD®ö‡Xí;s­ÒG¾Âm„ªí×¢ ¢[øÜ—Î2¨Ëþv.÷¥³4k/÷¥³‚”ûÒ™kßÎ}él^rü°~éÌãw*†Hß§sÐ|ø,[Ñú2O=ŠÁúÃuÑ~ü!ŠÁ|„7÷¡„Ì|Î}(áÃvô5w¨9W³¹šÍÕl®fs5;h—sC¡Ó jî=‘}r]ºïô÷ó`;N>0o& ÝêéÌJýÝvf®(Ñ'Í¡jŸÝ篠‡™lK§U…Þ¿+ß[>ƒ}£&·ë˜ÛuLù¢ì*TÅì}uÐoª~wRS]þ§ðp nÒkúû‚Áùyœ}·o0Øç›~½ ÷¥r·†pk˜{™z_ܪÄ$>¨O«æÞ ÍRÅõ1ç›{•ap¼ÊêëNûðAÇÐhoéõ³}v@ZsZ’íîiZ pßû…žÓËÁò`y@>çÒ/…ÍešË´F™Ãà“ÑsAíkPûoWx¿¬¬ØÄÒ†BæF±\PÇÒ¡øÖIî°È‡è¢¡{x#ûgS\³¡öîTnÀuô~êÁðd ×]†rwÉ57寠\wÉ5Ô\PsAÍußõCþjkîqÖÔîçˆsç‘sç‘“8Äÿ;œ¥ŠËâyä\äê$W'¹:éK웃ÊÙ‰\þâÕÙs)û7 ×À÷ùækî •wøs©rÇSúÇçÜñ”¡{‘Ë;RÞ/¬\žøÏlŽ:C÷4LæCáP;ÜòáœDã3ÐÜÖ²wÙ[ËûߟiÍ¿Ý}¸w>´ö¼÷¿=æ~ÿQÜr ìZsl€½”¡%µS“Òò!¡\„U„ò—,Ö\“É\ûkm;Ôê°¯±Rw.C`/bm$~hW<ýù8-çÜ>^¨¥5:Ìp­ðCZÐþZh/ÉÍwCd–ÊíÁö½ soåj6W³¹šíëáƒÁp¾`È*”' ÒZÖ§v/2¨~— 7òìŸ#ϯÃÜDë.}1Èÿ=HÕÈÿôþ=šAâä8ÆÑç6œu6ð‡r¯Éã Yzi1÷r vŽ? Arî•ëUåì2ÉÂ#»e:3Y(†ÖîÀ=(Kíu }mrh Dw¹ýª¡¾_•ÛÔÊ­EúkšÝ¿ÏD ž'»}{!{°ìÔ墒‹JŸÄ¹M¾Ú?Ëm>-HÓÓœtúî‡n3l½<•ÑH-Ź·«2ºDí,å¶òR¸ÇØïÎdÏìÃüâÌ>¨À¹—Ÿ†|jϪšN˜¿l¹·Obä:Æ@vŒ žeZè}ý`æCkrPmÿ¶;í 7÷,÷lP´ÛÜó6gåäž·åž·í‡ÏÛôÍz4¨Û%©V×þ^->¬äš h. ¹€æš è@tˆ….wÜ$•>F%w'÷ç@~"8w|Ç­Û 6÷rvö{;™þûÛp‘ÍÓlYø^}.ž¹xæx~Øþ,'¥ñÑè~ZËäÌ^³ýå™pÝ3ЬßZ ÖÓÚÎ-ŒyÚú_»lev3ñ÷ív6OZ ÎXíwÇÔûk§-‹7G}:z˜ûˆÃ¾hÙŠa1Õé«~ìNƒ0ô)…h€Ÿì ŽÓå¶Q7ƒ£Péß®öûí[ŠSëéôé,äûÒ†ùnIÅ9íÏÏÚ«êSÙòÂåwrÓ<½‰ÕÌúþ¶†\®õ©8}j¹¥f¼a7¤~Ûv_]·Ï”ý`4g'g'g'gÇÃNn¿ýD³`îñVîñVº•8·rϳ郆Üó¬dSúàmôC¨™íϳÝ\µs¬§ÝoÝ]ÁPú*Ót²¸S¢od.-Q“G “Èàùþ~czPt‘}÷1®~k]šHr÷¼x!µ#¥†Öˆ4ȃ6˜Ü+(?EŽU^w4Y¬ÊÜ•ÒÕ.WÃëÏG¸ƒðANn€Êò^÷>lrßùÌʳxyo=À; YE¿|¸_{ù|"³ßÝæî/CL}SkhC}ýÞp®‡æzè@?˜Û§Ïòèûé †ûì †Í_±¨qóËÞ°µo˜ú†iÝecô³B×åß% Rú®ið‡¬Ÿí¥ËÒb·Sãº9· ¼hÈt¥þJv^ìTaò‘Üx œù˜R§/eúuìrf©¿ê6ék\ãs9.•‡€ýô6¸1,þG²žÐîÀq†1ñ%”•ûvãq_[¨= ÷„£‘¸¯=óõl ùºƒ­Ûƒ!¼¸©¸¸/öwv- Ç{šý¾h»¯¼³«Ü·rëé¡Öž¸/ñ-Œvu,¶…:QÕ'T}µµs|@]W0R‡úµ­Â\`M›í:ñß9úÿðºÃÅuó¶‡öìŠÆÚâ>ÓJ(N½Ð$!ÑXõöx¨ÇôÿΫÀÔ$d‰èŠÇÆBݱP<é Š ¹Öì¤RçͦæçRWÓú£Ñð(Ú=Wµ±how@èqš«‹…þ`,Ü“ÔÇQЭZC £Ý{P?«Ö™G{o¤U×¼òv;­,d-ÍY¬‘m¡Pw«Ê*¡4‰î&¸/ÆŠ–¥›–Ó“„ÕBßííl‹”÷øv…|Û‚;C>W(¶J4?ŸoW¸g›¯gWÔWïÝZEÝT^±Èï FÚäŸk)‚eÂ0Am¡´Iq]¼;ƒnòµ…•¹Åâbü×zP[¾|†ïÔ•±S¾˜®lò‰ñÊtÃÜò`O,¼Ûï›1Û’­@ä}gv™âŸEŸM%§]+o ´µ5¡vÏæ6Z•Ý­f¦ûÄaÑ9ÑW‹®ðîP[m¨½Ýf»Äà·JeEhu˜öp¨³-¡‘ÝÈÍ«ÂeÁ®­mÁ§Ò[ÇBŒ’›»GƒÝ¡H[|†¨¯ž YWËÂÓB­ÌöõTXyTÎôYÿQïŒî A-ÇÂÁHGog0æ‹…:aÜ€ŠÛÂÖϤ¨l Ú³¾ÏnbiMG¥µaÌe÷.Áî!Ìn$Ú³-é@f”µ};CfmBãM:„á¶3é€Ê Æ}å»Ë}ñÎh\M®ÐF-ØX Õê uÁÌÇîæÛ7Ì@+fà©#¬êI©ÇúaòÅ"ÁÎî÷ÂŒV…![k6orÚéïòŽõA,&P.j‹ù}¯¹ÍV¥í …;¶I»ëË;Êé…žnM×ɼ iWµ =雥 Š‘—~õÔ[ÇϺNŽ´í¶[h¦Ðf(2Ã6íêÑ,6’9˜¿9£ZŸf ›a¼Ø ÿ±_ëw šD´Ë‡ŽÓô¸zD}úîƒ ¶f¦Ö›¾Úp³ã¦¯×PìÃKØÐ"ÇÌÖhWw4ãEb%æ÷¦“¤«µB°¹-šæ$3Ú¼½v†Ï9õÜ—=›œY³æ$½qÌ^$·è5Úˆ“4/â”øEûƒº»Ækp¹–ƽ°àÚâH,º«b“n€3ryg’»áö„2‘+‘`¬Ãu¥P ‚±POoÌõNĵóå²1q ãYƒº’º­eÍÌJÈ$?è^ê„ —+Zç°–ÌÕRÒsAÓÂä O3p%sÃÑ:ÓóÅ­i÷Å!Þ-4ތƸlqóÊÖ±’egëp.ùáä–Ÿ½Ï&my´õ¦iÝ¢ç&ozIsèöÈ¡5êzS–F;2+k»É²ï‰v‡ÛaÍêfl„µ¸ì[­äÍ!×ê—9©„ ï SjvéäWàq=,®6#Ó ïè õÍQ'‘?[ÎÈñÐŽSƒQy+‘iìS&Ø2_7@yLb…aÑ}Ýã¨&›¼÷LSŸô†›{-YÊMNÿ®C숉 ïn7]}·ì¡”Ê‘W¿]u"»ÇÀ¢2M½¤0Ÿô1K^…I²R•’ê6›¼¸8Ë, &æ•BËNXÞN˜MW:¡ÚVÀN¨2ˆQZ“[ Qïv^;xH6]Õ4}0JoøQ:…,Ó¥“†Þ‰¶í¥‹µ-ÛÔ£®Åþßb¸Ðñ\ª¦”gÿ›6&6Ø½É ÞÁNšgÿ®ÝÔîêÀ…Z噕ñ Ñ\?‡l½×Θ&d´ÀR·Ë2óÉ2gÛ#ÕNe¯b'ê”V•:ȬgÖnœk€Âôyz@Üìw†Ü·q“–J­:NwOa3/¿Ã}¿Ê}1ÛàêCrwš§ÔÝœX¨[ÀÕÃlúá†âö:ñ|,ÚÙÝŽtøÂq_з½³·­#äë‰ú¢;C±ÖhWÈ׋ní uÅ}»¶…"âa%\ßÑŒQCš¦¶îñu· 3ÖÓl_,ÔÚƒÀ©í-SO¹w;ʉMQu*·2ùÄÃév_…ù(CäVé›=Û'6/­¿(6ÇÀuâ?!ôͪõµn GÚÍk(Òõx‰ã?Þ*³±VÔW&ѳýwz†z»gã@Åô¦§ ×îŠÏneQ©i¨”±°Ÿ>Ð W¼Ú†žM»\+ÔkRc]Iv0D<¦©•%š ¸Rj£jÒùGzŸ¼;õgŸåƒr*«…än;q¬zJÉŽQ$8w¶[¡d¯]غBxëâÜŸ}&DvUr¸ž°ÞN¤Ò]Þ²>mº-h­½±˜x0¾3ØÙ’çq¬Ã ·E;Cñí{ðÌQz±E±Z¶Ï¢´ªQšk‹;ÁIç è°E6buÅjßWáÊ_“xr&õx­°ÅË:×Ýi9ÔæŒNÒ6é…o4…O•` ƒW°fSÂB6èl‹^X TqÙ6˜cT0Ãû*š#Ölj ;úÐÙöæÆÄ4bDÓ Ø*`Üéíi¹†«Šé¹)åöãcâqÞ=,âo v†Ìï uËlÍpnØšh‘v + ]Ù“ß%þ°­šck™U@}¹½#·Fá_áÖ°yܵϡ—SÍVÍ©¯!}~°?iô ãÛ‚âÆÕ©0¼eþ²µ‹Ý¼‘õSТۅÄ;—1<ð¾H^å,`a<ÔÙ¾8²ÓÕÈÈPdg8ˆCÎnÁ†’…SÆh§W–…‘Ð.‘§[^#`:a®È‡ºº{öxè%ÙTÓˆ&´¹áæÑ}r:Qìi ·'Ü´ÉÀD`æs=BÆê/ož³úÌ ÚÞžJÞð‡ûW±3ä©·k3‘Î6špÔ< w¸î‘Ù—ؽ;BîÊSs¸Ù,­ÀÑ “ïËéÍðšÒ ¯ `!ÞŸ6ï}Ub¹¶N¬áü°û!G{q|ë§èÅšÔÛ]Ò(9óMØ{aìátÞ{ôt LŸÚqÂûcI#ÙŸ-3ašJJ¶E­^ï¬9Þ°J|ì £¶[IÜŸ¸Âôâuª9µÒ&ž—Ñò:i3žÁ¹YQ¶·Ê(k>¶gs}ÑÙ¶¬Ñ™WZ[.=»Â­!óÞ£3Ú÷p_Ö+êHO6·\äÚŽ»;Ð÷!Ã;ÛÖlêK°$–ºs³îäúµ±*jÌñÛ°ÞH¼µQ[Z.#ŒÀZ›|õ¥¶5*ß‚Á·„0†ÙÙ-MŽ»?б+ì G„)‡Ïóþ«©<$6C¡yYM0 c¾nùjŸoÁä.²Ãí¡~6&‰÷@¹Wc sfU1µ¼·[ôs_o½ùš£y4G<`cîXgáŽøPªûC½Jôo2^Ø+´šh)n-Œ… 2Ý|íß— ’¾'W¤öWªÆiÝ;t²ÙËÁ Ås·Éß×MØÖÛàªÅÞ©Õp®m¯­&xéþ®—ýÒ«ü5QÙëjWû¢tH½Ÿ™ì^»Ž£Võ¬óÊ‘¿-îí«›CÞŽ"§Lslóª /WlÕ˜™'‡Ù=YïÉf䋸%‘¤=0ùC”î>Qö›ôz¿¯;*ŽLÄj|±PG("ž›'VÚ}‘Pk(Æö8ç ÍÝzv^ýJpY“S’õV8¾¢·³sñîêàU•Ô—l=ßw"s"õ ¾N³@÷žºk3°J žP޳º/õ½K=æjé­ø²Àk(ì·E‚¾¬YX&ŒtމÉîmð2ìÝÂnªewï»ßâžÙË…)Ü+C‘¿áôQ›{VD#›C±¨kà–—a‹/£lîÉð¦Øæá€Eܽ¤Y‰z´sgŸ\Hrs¹iA>xgOè Ö­1ü4Xô˜·-bi”iø¹«þÞÌ}}"57•HYŠF:÷ø*Ä'‰š»•>ˆ·»=à»Ðei>~â~ ÝÔ5‚%å`.Iì2Ü~pø9p÷ºšòf¡[cÜÓ8ÑǸ§Ù§qßGú'îÃâ;b©ŸGôÜï).·‡·ÑÇÀ`ÅÐ[ï«›:¾ª ںܞä>õM¼4†¯hו«²ŽoFeñˆÏ>_ú'ìèî’“ÖÀÈM«Bßž„ã)üžÙý±Šv@—ÕøÖlÞd.'ÖlòµÇ ®Ö÷Ôø6XßÛгÁY=£Â‘áxxk§ëW9²¹9Q]&Ä&›³åvêSbì—±·^K1?ã˜á˜ïðf ×$Øvõ_‹Ø8Ú•÷nkÇe”åÄšPê,†ïꉅ6Þd„fR„6ôÄð{š1_o\l9™-äÇé¬O6ÂTÖÂm½ÁÎ4Ÿ¼l#+ÂÀÝkC‘…Î;:qk4ùT§ÙeSÖ ¶Ù ÖŠ_ÏÜ„´‰¾£™^M¤³¡›QU芖å„ ¦\„I› 댶nwZ“›~|°âþ½h¿ÕÙÝ¿ßíWÜ¿ é‡Ðýƒ“~ËÃtÿÊkƒ‡&Ì­ž¬—]wwGøE;ñ(Íf÷ÒúÍ@ÛâîÄ›îõ°nnwy¸Ö«²vkKÇûøÇíaxêv~ÛþXëýCÏïÚ°Tñ¯Ä#kEž­Áxˆ}F¤îhÄú4jo§ú~ ߢé·rs\Ÿ’ÎüãÃù]|@uD´½=J˜ã“+Â-R´É 5ciÚ¿[œÎwbmSO_NX‡Ô×^ aYi:•ÒÚw´pùÄþ®õ¢´ø.ëµ´àÎ`¸3Ë}ñ†ùö£ùΩl4ŒÐÁ@»8íãæibŒ”$Åææ§ZïNy =‚‰†_M›t¶Õ„Ám—¦YÙ6šNãìL™?Íä#Á¹ðj3Éà-o϶%„vÎ0ñaQ·,÷ïñuõÆ{ÄìãÝ¡Ö0L1mI‡¢/2ûŽlŸÊ' ù’’<5WÃJÒºëê÷OöäoÙâlyþ.µJ:Ùé{‚ iïH«B²îNZ_­Iú;5N´ø÷±{¾ýT™æÚ¿!wL–sGÆôT³µE=óOo¤_ö9ëÞñ€ÕGŠÙòúÏŠÜWÈŽÕ_Zí«ÀÇöMàSȶßo[kÂî\lW9=–•! 5§–÷©z%­ç^ÖÖvîµa·Àä^ν6<(Jì1o}8_>¬Xü¤X¨»V˜òm ¶n÷U×»8ž{¥ØãY{c8qot€ÞÐWwÅP£:»Nõ~ùÉ}‡5Ùžh’­VýQç&e²}}ï=ødcY’¯NA„¬Ç§ËÝ÷s=^yHa¸?¿’|'-÷îI²Ú½h¥öi†kȺŸÄo.oÝŒtX/[}TÄY?ÚXѵ Qw,Úî„F‘æyç Ï$ø<`‡?4eÏÂp]h>¦•|S¨‚XBsccU Ÿ óJP?bl‡>ê š« ŸXe¤ù B«.¸ëW‰!ÈBMŒ†âlÔ?¦s¯Œ] w²2ÊyetÇÂѶ±ÕHšïIXaßè=Eö_äË›…ÈtN„ÉϤu»ºÜ߯šL§Ÿºzk|æ¤mýhpL™ç tß9Hó«‘©ÌßývM[ü,ÔÄ0¢”k!1ðÛŠ áÄŸ/ÞÛ%ŽZ‡ÞÓÜŠæŸésXoY°»3Øš¥Wæk¼gxÐð ¤áÐ~|»C¬*WâCJ·Œô·»Â{’.ׯ—ûæ…vw«ß/ìHrT?•eí(G’µéÀ®j 4ßDIá ¾ÅDÑM˜æ>¥:P‡Ó³¾€ÎÎnž ¶×½ûÐ’ÒáࣱÅôá„°ÝÝr<ݲ$´Öü]îˆ[]}<4Ãìœ6ÌÞªÈu¡F²,×WßëwÜ3öƒGñž`LíÁ¤¨¹/Õ.ýNéÐH²ó»ý_ƒ),ûƒÊ¿ –ýIöaf>•eÐßû ÷›ƒãý©áæ>º4ù´ç±ÑüÍ,Ýr¤Àã‹hûz'jØ¥©;X°3˜xWI_—NßÜð±í_Û 6&u‹#vŶk^åe‰Ãm®ËNw“…–n·Ó¦Sž†“p¿£ûÞ€%»6­úPšœ¹fЫªl·uêò¾.à §=êÀ¨±)±ÿ@%tmúü:Îg-¯Ò|Ð,¢b¿¿ð‘ØqÝoû áœe 'ºá vwÇ¢»Ã8Žã×Á¶Ò|ž)Â<¨÷2ß„;§=yˤQû=µ0ž^¬GŠXsŸºAë§ÉŒ7L¿6x|°5ºÚ þC¯ îçêÚ|i u””Í×? ˃é„\V1™s†÷¦ÞSÊЕP ËæÔßýKaÓ—çVÜÉ>>¸JìÛýrˆr„|QHžÏ`Œ¨¶xBÆúÑÖ¾­'Í^`wo ‡Ï¬g{‘øJi\û‘íók8‘PGP<#òÁ]k´+ ƒm[8³ÐÖ^s±$>º›Áª|ÿûwâmgM·ÑÞtÍS]¾X4*·jW4¶½kÆÞé耯–zÒjÁ‰aZX¾£7Û£~ħ¿Û¬¹nòü•‘~ïøÙ>Ò9—é”b µ«X\¶²u¸3µylÈîÄ?nLã€sbȨŠÀ3æÖÁNë«‚t¾YV¾:¦Z}Ú·cUUlÌÖç š³s×/ƒÀ¹l‘éLv‹œn t\FíCsZï/$›E4 ¥Y„ÞhÈdIptàCåÜ”Í T•n¡RÊd¥hEÈé߀o³¹l=g7>™´ 1*>Ö~Ò~læ8’Þùó¤G5 ü‚òÏg¦s„&ÒÏ´2XŽÐt$î §ð}ÇHgW4á©Ä(¿x^×ÛéþqRÐcŸ• =óÍwú.†{éºm€ å1þÖmÁX°µgècÿО±5ŸäÃŽç!œ£ü¦±>œÁ±y“ÞmAú-fªëd!f`¬o1SÞ¤³Ä‚ôOÌìCFƒv´ß²Ö—Ó^6Ò<í¥-KÿÄM } Úx?˜êCÄF ãáöHÔuKò`¡¥ÌŸ=;µ|RÜïu%˜3éµ M)ÒXÄî³gÅý|Ú| ¬²ö×ŧ|Cò)Ÿh‘ûû{d afwž÷‰Pó‚“ÿHè!öÛ‹$7}|x(ª³OYhR úå©`Ö·¿sÙþîˆÛÄõáþwGxg(¢Ýdziî1¦T%ƒ~<ý­û¾Dz[)…Öí“ÇkôfŸòxÛßêUIWtóņÊkfÛ\æñ]ùË£'µFÛBgž$Ž­m6-ä̎ήs—çì³­ß¡CøÏUÂæ:q²)C»±P{(ë ëÇOÐîBawmoë6_0BÃqñY”®`L¼ða~¨g[,ÚÛ±Íî‰c>‘Ю³}ÖÖB Ñ[öÏ€¹»ÔŒÁâîÂ}+ „m¾`¬£×üõÊŠx(ä[…´5ÔÝE!]ljE„|>^§u ÈEwÄf[–Ñg‹‡Ìþí[ní‡ÌðԊÚkkH~D\'þ; b]gÊ|*¬-¸ÙTž}ö™Öäf=íFåRúÞUa…™zÃp¡HT£«!D¢Iì Êá¦ÊöО]ÑX[ܪ]õc3‰{{£¤ š¦÷Òb}ª'‡ÈGÛñˆ(¬ZÛͽ¡¨Ü´Ke+pŒ_f:H~Ò&Õ7ãúg-½÷#ÖJêXI4ËžüÄ•LA[(áãˆr&[eߢ7 Êç…à/t¶®­¡˜Ü¬ñíÚ†qF‹`kõí*~:&a éûÏ3$j¦òzMßßxéó½¹ÇOS¤R‚¤ÇÀÜ·Lå]½ŠBgHuƒA6²ŒJ‘Ê—¤²cdVŒ~L'+Å(ðX²2Ì™í̽>UwR}ë…L7îd³ä_|Imù?ïµ*µÍ&dºOK(Ön³{¦~À—Qio|,{÷æ¶:>`›ègûjaôp<Ó1›*{fpf»ýI{*³ÒzœÆçæ&®oW ª/Kb _ÄñˆÓqv‚ÚïaVt êøÔ@ÜÈÛ—tÂzf‰c¦mô`Ôüö>÷²‚;8ûìÊ€Ï|æ,>&²œ‡=DÛ#/W˜­®¦ç]±Pw,EÌc æÛ1æ2Ÿ¯œlvuQAÂø½z[QâÜY¡- ú9 B Ö·]Ý!ñpÊzºÆ»ÍÃ@¢ˆ¾¸ù|k¯üßJÍ|–0lSà:sC> WźÂ-+¦P- ÜÆ{¼ŸÌe=c_M «–?~<ļ -ÚºnOwÈö`òxõxn%¶|T )±ZbÖñþ6Q Ôz ôAQ ¼N(îøˆÎŠXdgt;¿…$ªÍ2Û§êJ¨kùC{Ë©N¬6sÿÙ>ó1d²q[(â‹w +qûP½Q*üq¦«Qq§"ªQ4,Ÿ8}¨ÎÉ#»¶™sŠ(FÜì¯m½‘¶`¤ÇÇúË´g9Ø-ìÙ4ŸÁ‚?A󳪵âCOÂMÙ{¬'5Îò£=óQ1úå\Ú®€å‘Ýoïr7 »òÈT¨M>yŽ÷D¡d˜fT=Áö–œ¡ˆx;2w´èa!“6[t8Á ÷às^«‘¡Ér5¿í )ûi¹³ýg“3ܬÊq­ÆçhÒyÎ:Ÿ³EÿÖ<¾¯<¬*¤Ýö`BG#••ò¤©æ;¶3=tD;ÛDƒ†1Ú^´»'ÜÃjÌþ´?qHý‰Æ´+ CDD4m³qÁZ Çr¥Ò+Ú@,dî ÑC­×ÕÕ ·š×Ñ•èvÒश¨X_·µ™ªƒ5fæ·PÔñŸoE42Góq7t;œÈzK:ÇâÉÎ!œªšlgtWz¢hã– W̼g›¾ã[£0P¨š°B¬â8Óš((?ó‘|(`k¨ÎãHhúà<ù0_^p}0mþÏtr¶ùÿ.§ êÙ)Ïöcµµ€öDEÒCh%•ž©91ÂÒ§Õ]F/7ô[F\L-ö­±±½åª%€õ't¡%V×]kv]òq@OCš¼UóšS²×£ ÍÖŠæàySi¸YZgöÃÍ’8¥Þo5õõiŠÍ“ŒýØË’݇«i>{±0³Âت  cÜçåä}ÁÒˆóg°]ØÛÝŸåì)X²;å´Zx\ú´nGŽç– nïØ:uîŽÇ>[Ú{c­¡5ÉF ¾g«A¸ÿë’÷÷ àÔ*Ý•dÓÑ€lƒõŒ}òÙÇÜ`tm)}ŸS¸ý̆a­‡Ù†3;°3tv¶ÿR,kò-h›ÔGˆdß±Êm3žå=â„’ìí”{ Y/‰Íx?—d,ú3ø¨GjM‘ÛÎr9ÒîqG%î[7'š_s·i¾vë8èØDÀ»N~kn}«ƒß›’poî½ëxÛu4sKq˱¶ªðf5õ]¤>í7÷€¶Ew™V+¨Ž*¯Ôíþ,..vßüY÷Š¡XíòP°Í¹õãóù-Vt3–_\Ì̺µn5nÞ¶îfÖ¡Dw‰ö°5ºÍc­ÑH¼' ‹ܳ•ÛÖî¹­é›Îhå²ëD–Ê]úš²'ôÖ%©ß©{FÍíwî‰3D¼'Ô¾Þ°Ý=Ñ„‰e¿Ù(ØO8©›¿»>Q”øVFß¶Ô–ñûû| óÄßêÂÛî'Áå€à±Éæ&AÊo¨ÖÙ¬wì³ÀñBÈŸ‘•¹×§êNª1S½?³ÓãjðØgcEH8³œZ—OZŠÙÍJÈ.³ví•ݨp<`=:Éf¤Þ<úörÁî}ß¡˜ ¨©w''±o7.m‹2Dœª|}£û²Ín7žì›¬V¸YÞ;ó^ö%œéO\ëh×}¹­XÝ}Ê ÚŠÝßš”GwËmò¦ØžÜ§¬mòÄšÝàÝè= êi‰ÆZCkÙ·à’¿„ïI¸xغ5ë»ùïª#Y¨ÈŸSùÇé²3îuÊïÀA5õ½×‚öÄsáÞ8ÂÈðÔàÖ,íÈÖx¸•rù×Èc¬)•?ahO¿ü1•cÖÊŸ|ÆÑ•y0½‡úv'¾Ëì€Ãípä˜òkÝJ-áH;¸”FÂòt@f-@äxj—Ê2[Ðø•4£ÀŸ¥Ý1öÄI0"l»>µf=ËìÀů¤!èŸçãX‡þ3A^š!ÿ\¯^Ó³ÁzõlÐ ÂåÑ6¿x’ÑîG¸—‡w‡Új··‹§IËÅ«šWk¬G†]æµ!óÚ¸õž†Ï<î‡fÅ‘Wq¦\s`2^ µ-’?Ñòlóåñ¤Nþ€0ÜÛ²Ž[O£¬ñÖs<|Ñ€?\¡ŽÕÚ2µ>!öÙŸpÞtW?Ö{Ø .Z—s«Ò©mAzSÏïZ¡<{¦ÞZå--p«NcÌš Eüð³(Ì Õ£åËt*™,jžÅ²°ÖE¶°ËL6ØŠç¨ü_§í¯ûŸûŸÖ¬4 ‡õwæ(›iÓ8€:<Ò£j$íC¨ÃF<”y©çyŒH™o”¦sÔ4Õ“#Ã[XPÓ+”mÄK¿TY<8;L´×2ˆ£Ø©Ý ô¸ïyÛB”ø}*?ÌnáŽHú÷c)œ\°µ×¤§Hx+Ó©áÍשj«KÝqœM]K’OA彑ÛßH<¼dV®ëÁ6§ÝilWú΂Æcý°Û#zÄ'Åö¸¶Ûüœ°wÁZn⃘xoòÑ=åVe›ZÓĈÞÅl÷ì$®ßjSÈïd_´fw7Zc0yÈökG¤”Ã<¥Øü¦’؃ƒañ“wÖ÷QÌèYÓ¼Ù"ªÌêØ"êÿdßܹÔìËM5幟·uGG´öv±Æ”Ó¸gÝŽŠ‡vœìŒF:\»(oÆÉoÙ]d†6ì½'ágÉäõ'»åY¥ký †lþg‹“H~†4õnË‘ºnÛÙǺ³÷ܬVžù•±TÚŒšñƒžv(.H81—ö$rdÂë«Ö]«æíÕUîo¯Òæ }MmßèoólóÎ ÖNE°Çñµºtvpèd¢×‡«G®fÉ>4¯¼Ê'¿ø„ʪWͯ¶½Žô~Öm„_¬`Ü÷ùýíž›…~sôäa‰ãÅ‹±Ïƒ7[JÒìð­käQèLw{LYÝíÉô±Q¦© —»¶¶öBÆøÛ:.7Ñ»?ªZ7¸‰Y&ÛrÈèAäÀ=ïËp*Ó-¥L÷ˆ2ßòIe#G³zw$f•¬uhâ?Æßº- ¶öx¹ØÝLhÍÉj®7Z›ð3o£üÑŽpk°3ù-íàßZÊmiê=·9¤á‡esÈ6Ýévx:B=Ë»S×ïÔ¤nšNZFí„eOLÓ){â˜Ê³êË(?OÙ¾8Ȫ+#üÂrÊ~¨ÕFV½æ_’ü±¾nLÌme*çr[™–#¹­L—es+3·i·‘ÛŒìÿÍÈ–ý|3’Ýêæ&`»‚nNòÙ5i>žóçpó„K+𦭽ºµJi›ß§j<Õµ}C0¶0s¤ø}µçö…÷>…÷éc¯Ûò¤ë[~W­)¢¸åÀ;l×èò('¿å =ÌamáÄûOªÜÂr³4´ ê>ê¸f“ô}õÂ`|¡nó"/f#^7îÞÓ½mç$åé>o·«7ž7ŒJÏ™ÕX¿¹³ßi›MZ}ªœf7ÒïiƒÆ’NNš¯>&Ô÷n§ åÇ/F*bUø^³?&~?l…Ï»q óÇSø(à)ôÆ$åfEK½÷Œ½'6ä;çNáÖ1œΦ֮VŸÉ’)wÁÔWh}îC£¬>´vÑ êB}ê éÿ4戈÷ocöùÛ8ö 2ú8Ž‹)OË)ÿÆxŠßÍLX0y¼ˆî(~_¿Ûç¼ Ùþ¢=ûá5…oÅCŸI|0äþT&¢.Π·ØC¥¹½ÏòÎ컟ß3èEi|cÊûù“kškÖ1k•—raWË[#O؈?ºLÞ®´Y¦?¯k¿Ý³fqz7Lù 7¸vOÍ—ÅWG­o ¸Nc0¡k”•¥Öí냬ö4UHéoâá¹òL¡ ª‹xí©¤1éZ’í™”æÚ£ä¸ fâá3\ã’d6ɲNŒ©º˜|†(„ÙÇjRǼ>\Ýç:dOgû^‡}+L’ d¥IcÃñµ{ººB=l|KÿDÿø–RËb«[[+O1©óŠR(`Vžf¯ÃC±˜ûs¿é~5©øZ{á¾8Ò£^‡[¿— SKÂKŠY{æŸy{ðøø„'Žj>h§ZM÷ò<Þ+Ýu­pMvÉ»JED­ËÜ"¨\Nx&4Êü†mz««sí®ß*Ö&œSóüð§$ rñXk{¸3Ôí¦vWˆ"™—ÄBíÊöð½Ö•òŠamËÿëïl[³IGˆ•æ2|¤ù0(ß¡2Ëa]Ó(Ü:T4øßXq-¨u®RHIü-’Ðk½æ½©MZÝx4âñÖ¿Š¿EÊÐj­†ÑÏ£Ñ×°•Ò³ê¼Z^5ftØÐZ¼”2Úü/ïtø¿#¬›˜gÉÒË\¤öšíÊ~Uõèqë¨,*–úZ˜ø¬ÔšÅË—ùZcḀñË21‚7ë{~AÂÄ8N]4ß-Ò(™Ÿï³\jº6qâ½öî!ÕGƒz±õ1#¯°ÀbÎŒUg7ŧªÍ‹êœYžª>!„˜ƒÉ68YC>ŸË€¨[ß\X$Â/®íÔ•GQeÑDg‘ ¯ °p:àáÖ¿ ¹¥_÷Ã÷ºtÍaŽ\kR2smʸ5…¸Úú·@ñ·HZŒV§¢ELB.dZ†VƒV±þ©o~Ñ^Mï¦6ó2­amïžÊ{7ý –õañ;ä±~öE,–Âí¾H¨5c{T‡»×Hì¼t¯l2ÔGó5Í+ßQe )™U69ã*›8q©õoâo‘ú¡Ê¨Éˆy™49[•9⼘þ-GÛϘÜ1,궺qŽy”™LLÙ6¤fSt\ —qT7Øž5Xjˆ§›V?+µPÈ…,‹#j#×z…”Ì\7ù:«áå k8 r!ËÐjZØ„V›¬¿EꇎDuajì˨.xGRóº¸SÍÝ­oêì¢çPÃ`¢q"¢±q[¢¸f22±>_º¼×îÓD·ÎÁª;¥ßùK+™tDS¿Åz˭ߺä@?à±Xý~ì’c,Yf]ÒCóó–EÛSp8S¯PöÔ1VʰO€}J`ûTÀú[¤ ­ŽE«ËÑj¹õ·HZ=­ lA«-Öß"ehõ ´z#Y)C«ãЪÀ2´Zfý-R†VF«‡.@« ,¹ehõP´zà|´:ß’ Y†VG«âŽpZ]dÉ…,C«ãÑê‘€‹ÑêbK.dZ¥µùÑ«(ËÐ*®ÏMœ‚V§X‹Ôó T†¡æ«Œ*·…ŸÔÈ+Ò‡G‚±Ž¸‘0Û¨|¬Õ¾Çù4%*‰¼sç×YO›LùjÍü¦õY<ýˆôjÍå•X ¨W¡±É6šÄïï$Þ˺G~r1Þj ·‡Cm‰f–ó,œ¦ùQÉž¸×Ã9fy½sRÏc›!K=JF.Mt©õ5ìß›tnçoÙbwÑ—ü®^½Ã[˜­“÷¦l!¡^m;É%:TH_š…tFßçbKª:xÍ){Só·¬þ–eào™Æ_îX¨[¼ë‰”˜óæþÕ ÿR(’¿EògP$¿W‘¬C žá"ßKúè{I¾—h|?-Iõ’¿#´£wUbaY¡â°L£ÖDg¶º;„á.ó+§‰·t…ý³ÉöÏ&7?cárAÆõwcØ7Núý^ÞLÿ–íßq –¥909Po™#Ì%<×@_EØGa”Çð(Ðo¡åM½ÔŒDÜgþPP ~/K~'3?Œ*þÏ$ñ[·£ÁŒâ§y*Âíòƒ½( Ç}]áx.îõ·‡"Be+~˜¦Â̼²2à3¿Öl©Ñt„F£ ê{6ñÞîPŒ>jãpÐúØOE46ÚúTåDO<ÔÙ^ãÛÚÛ#.ŽøöD{}­ÑÞÎ6ßé"£èÎP,¶+Üc})Ì*ce`tòþz þ»]ÓÏÖóª ^Áú¨”ç9š´´ÒîÒC¦ë‘f1ÍF—ÐÿT×põT»æLJ4Ò0ÚÙ¦›mˆaÇYcÿ¹-·­ÚÜÎ:KaÕÊÅ,¨#º‚=­ÛXéF y–ð0gØw׊¶´¿X¤ÝQ´ÙnƒR™oI2º×’‘{íÊÄæä]2ãK脪.€áIã×°ü&‹FDçÓ n E×XÌÆñ’C=Ôg>:Ëw¸×„YÐYâBfâ¹mæ‰Vqø¬-j¶ðH(Ô†Ë5r×ZHY˹mÁXWg(n~‹4âQ°X›OE%ÈCfoÙ&‹²X/D/Ü’+,]ã&¾ ¨i³ù6>…å¾uá jÄ ×1Ãð›À„É-¿U· 5²'¶g¡Zñ;á“yÑaDä3m y!Öéò˜Â:FÍÀ­Ay¤JVÅ¢=Ñž=Ýbi•ðíN¼ëðÎ⓺¡š Ü”ú‹£MfYpkC}Ÿû¸õ¼ÑΧ2ñPwbûñ\Ñ=×BÚ¥³Ú›ÐLÚÖä"f-i´ Íçb>¿E}JwIúBMO±Í¹¶õýŒs0ý¨c=A«ÁO¹-ŽÙÞëq0ŠÝïh‡?8†ݼƇ„µÎÕ¤OïµG4Ì®YÍþ}˜n(ìôÄÄñµÔReÆÍV¾1f¶Œ¸šbMÔeÙ`4øÖ[…´>Ùk­:Â;CZ´‡cñõ«Dl@¤qŽ:Q¼ë„Ù°¤Xn+@8ñ^æižsÄ6èÄÎñ™½Vâý¢C×/òÚ}*[d´1¸ªº=…¥Ÿ±aôv2 V]½Öx ÅäÞN=ÑÑf)`µ"Š?×kzÛ•¹w䶤¦‚9JñÁùæ€Ü­85OCñ®r°».…›ôm̰æfCW Ó5··™ïõð›å.öï÷Æ%RÝn3f6ÓîµÉ)Kü¤—*ˆK°bL5Î͹\ߣ¹>ݯ-šÒuÛ$òzPð=‰]Ì–í–y€÷9´wÓµ¯q†ÓQ”Ÿ™F¡“Êã„fqBÌûãÈ¢8\^bXk·þmYœ`ɲpd±0¾ ¢,öbœëñ„ã‹#ŽÍQHÉtlBÆG¬&Ö+ÕÖ¿Š¿EÊÐê$´*_¸(þ)C«>´*p6Zmý-R†V‹Ð*•“ Y†VkЊ@~$°ÆJýpt¬a¨£k5Xïçnmôt•î§ûº TÃÃÎÅÚgz…°n ˜ûìLºq»ß¾yêêîÙc=ôØ â«Iþ°§-ÜÞ®(ÝÔµn‹UÔ‚UüÝ7ÏwfDû[¥P¾-Yd¥ ÛŸß°Þ™©²’ Y?´?ê?†¡Þ™I»ÿ8Û­»®a²³5uèµ²§¿¯c Öó%91äûR‹”aˆ×QŠ[¬›‡¯K­”¡Õ2´*‰/@« ,¹ehµ­ \‰VWZ‹Ô­‡Ú©˜—I;u½úz˜pßÇ=°/u#Ï^¤òÏñ‘Ô¹EçqW•0€jÆZC ÍU¿ÍJè.[ j$l‹Zå¿—éòÊkÕéñó(&uË^ÜQ\ëÈÞ6œó÷QÒ| †¿Å2xWên¹èìß«>Tqóí;(J {PBÆ&]”otfäVc:Øh¹?a°]¦¯žÄKOýˆ)×0.›·²Ò=±};:ݧÃý³s7=ÅyWù–Fâ¡XÏzZÐÚÚÛÑa~—Å<íÁÎñãm$žn”Ç ÄíèhüaÒ®xº@š¦E¸_¥§±bç¢Ûºí÷ù·ã!?Ú²?ŠÍö„ó§ñh >Ȱžâ›öÛjع¸ß Œmù×Öfþ"b°SädRfÃrÄ|M¡·»»3l›Ÿ*ñUl݃YÂuåhát4ÖwÑ©£ ¹ažRÀ·³!wÜáÃc ~Xôú+}@‰[ðžmÁÈhûV`œTév]óLö4æÖªé¡Ë¥{½Ÿ©êž©¸6röLeð4ò:ÖÈé15nÝ€ìÜ䄺i-Ñ’íb××±Õ…sv›tê˜,­âéìNâ»…ÖÆ3í¶ª³|ï¸ÎÑ:’íóÐ}ñlG¸(ä aÓMQ…°8Yi¦óÜ–T2Ù€Ê^‹LØpá™d˜g(ÌûöI 9«è‡×ÖE®U )™¹ŽÈø¾¡Ð°v=.³þ-Pü-R†VG¢UqÅqhõ8K.dýp7Buaj/%£ºÐ>™m´^âóAƒ4ôpDü®ùÜÂÜ wŃÛãWÖ•äÒ·-Ø ´ÇÄï ™Þˆ7K*Ð3ñ¾”ÿ-^p)Ë·N&îut¦‚Ø®ëUûö8 >"áòMârþ:PâB_Lw_<:wØ3x¿}¤øþGŸÕ¼^ßox`1àfÃú‚S±…B.d™ïó»ÏM áAƒBJ¦2îz ëóXgYÿ(þ)C«›Ðê&‡ÕMVÊÐê‰hU`9Z-·þ©† ªmÃPßíʨ¶ù’€Þ;;šÉT¯`¿)ÙÙ• 7ydI³0пïR¤y8y4³fŒÅäÙ­%øM׉9_íôÒ9ˆ$>ðq?у«Í„gLi=Úg«ÒkäÒ‰…j„~‹¶žÝ¶Þù±Ë¸ŽËÖûuìúlžõð:³‘ÒVºË*9Û»ÀýufdïîÜ« …æÆa Û éÜû¥ô¨dS·þCUý6{‹wïņùi†5Ž—Y(äB–Å%ø0G® 匽ÅJ΂'Ö,x²a}3ãh …\È2´z Z8­Î¶þ)C«§¢USÑêTëo‘úaƦ6 5cgTúÛó#Tc̯eö×g¨Vj\huØÓ}C!ñ;t¦›æW˜—/³Ûäˤ%^ÇÏûú]Îd#ÿ:h¿ â5[±ªo7ì«ú %ë§qAäPHÉÌ5˜q_ÛŠ}Màìkk¬¿EÊÐj+ZǃøGy[-Y†VChUà±hõXëï¼P¿Œ TơƅŒjx¾Ñ™ð!Í5Ô¯çã»öçÔŸïòÉÈQ0¬4}×£³«~œx’Né²}7ñ"ŽßŸ·›n†%Ëü–]ÝJE£†ûÍ{×:…”L_fdÜfÖ¾™@¾7ÓJZ…V.0Ô'ÔfY©:'Õa¨Ý¸ŒjH¿׺-éÀO^˜-•´tEÛB¾ z¥Ôút6ôÑÊÄ~ÆçÏSY“§ë–8ú}¬æ>G?´µŸB놺3ëyR{õ»9Øïæ;úÝK–~‹¥Øïæ`?›ãèws¬”a™‹=Dàzì!ë­¿EÊÐê<´*ÿ-0S?ô;ª!ÃPý.£Òö»™¬ßYщ‡l=¯Æ×ï vvîñÛaž4O²‡º}­òx‹¶޶: Õ¶“u¿¼ºŸø«¡pǶ¯S=dpÕñòöN¸À’e£îœSé„ °Ó!ÊN¸ÀJv—…Ø]b‡(þ)C«øN1âo‘ú¡R ñN˜Q i;a)ë„ݱp4æÛe5X[Oôènc­î&›y²÷¯7R~@9£þ¦ÔYok1¬ã”K ûo=´X²,ô¶áÁ®®`ŠN¸Ó Pn<µX)î±»†ÀåØ5–[‹”¡U|Þk"ÿîqVê‡G•Ä;\F•¤ípMVõuõÖøvõˆß´ FÚ|»bñ8â ù` ÆÄ—RÚÂâ×­»m÷xõ´‡¼zÚ0‘cf½ÌRd=ìxìaË=ìxK–ÅšG®5 審o¥ ›ü Øä¶ê+Ý'X)C«xhb-Z­µþ©:ÕïHÕ…¶#Õð=kÒ‚Û4ó'ÃaÑè‹÷v‰Sñ½AóƒëV˜Õ¢:”& ‡»Éá|G«w{’¨FéxgTL’ù‡Zá°õ‚1¶72SìG$/°[ýä˜}rmFz‚áå?ÂÈ+8ÊyM¼w+:nóͱ›à¾x©YBËÏ :,ÚFŠdöÜx[^#̈íÁÝ¡‰ÑÕHü@Æñê©y¾†}qÂë¬ø7}Sè16ôfV:Ò&KvŸ{Bâ(½(OÈYžò\bÄ.f>v ñÓÆ!(ËÇòñ2ŽÅ.[p®ÁÿÓvÉq¡ÝâíêxnÒ–FÚB»5ÞZ_MuT€Y0gÐó{¢†ëQLô„ïù ÛµMûÝ$Õì5Õ¥;Ù­,Š>é¨À§³ªÎÆÓìš1N½d•;"îê6?¿çö©“ü­{ Û³VÕÅѯUÁo¶‰×„ÅçÏÌ_f;PÈÕëäÚIø µf7]¼»'‰›oЧ0A’ƒÈœÓ4~èÔOHS½†ŠG÷º·ÍÇ÷)1ÙÀ¼Ufœ{Ú±Õy!Ô~´×>@ý˜÷æ}4$=áQÏO²{<‰ß' ˜ßg6{‘~кñ!™žc²A>8*67 øl0ÒÙbùl02Ö+ïÜL0p3Á‡m¥>„†cÖ¹rCqn(Na¤_ÖåÀ˜ÿɱ‹má ŽsI¶½¦Ì·üƒëöt›{í"ß‘:ïÑñ‚¼¤ñ8¤xà„ôŠõË–QÁÐ2ý¹µ7ÜَП»BÁíâQzëžžø)åây a0'¡ b~Pž_:< ®M) yaC½õ4L] Þ­6þ~׊õ¥Î^á4t –ZþÙFhsä+‹)\T,ŒõÇ(ó§–‰µX‚±â£-+Ûm¿t!-ŒÈJMÝË]¸¶©'hý&É0ê£ú&*Ԯݫ:ÝâÓ螪ŒbåÌô™ÊÈÀÚ&6\‹kQù¹wü„7tSÈÐxHß—WåËC„´>Ê×GZ³&h¦þ×~‰sYµÛ9­Œ­!¥Žë(ñklé …rÅ&›­»2‹ÓÛ/ç»õ˜ÁK)×ë/áÊ_íÕ¸6¬7Z•¼¥›ƒC±KTlK<ÛÚ‹)8þ~Y39‰æçe~ ²ßa¾æ°1Ò›+©Œ…¯§²b³¯œ3^³¥å\šË¶çÓX¶Ñ{öt_ÀF&Ë"]Þ™,‹ÜüJyd úe£%ÑuohÚý4^÷Ï|ªæžÜd î›'ÓÅß]“óî€FÿÜÑ~xcô²¦bfÌ?Êe9guŠT'ÌÌûS s)Ïlߌj¶mx0ÝcZ¾Ç˜†Nf<ªõÃ-â ×Ò-_nd3vd뿦=è&ìdu]Ã'Ù _yìë>ÚçÇÄö[ï|MKú_b®™?*¶¯úú¨8›#U²ÑªÏS×>9`iŸñó5î÷}9—o4=v–ÒZâ¥9½EÞ(óÓ—â›çƒ`¡çuóÊÝfÄA6‘äzÆP¼…å]#£Q.ƒ¾5$Fº„ÑnD—ubpuäenœËs¹qNÓ/2äÒíUCb„³n…â7z;Ö×ð&ÝÌo¹ñíÃ2¾j|ãgCÎ~Ø;‡XÌO,SE% ‘J=£12í®9ôÉ«V®]º©g‘äenˆÌ ‘–!2¥% õ‹Ì–€iöª¡7ºn‹‡‚±Ömƒ|x“næÆ·Üø–ßt#³õ[ºýjHŒpÎdñÆàØZ?]9¨G=›«¹‘/7òåF>·Î‘Ñè—QÿR# mäe>›ttv òq9šõr£^nÔÓwŒÆ¼ úÖñl£]¾øÉˆA=Ìå÷¤>8寷ܸöaßÌ>‘ÑÀ–Noš#ÚØxoWW0¶'0Τ8œÍs¹qîÃ2Îjœ3ÝŠHñ—ÊÇÚ¯K8è<"ØŒÅÉ©H 5h½Ïž¯yþ«ëg £ªó¢ŒØ {ôkÅeu{½ß§O:äY_bÊ|¤ë F:zƒûì½2¥z8á?šº†ý›~Â^ªèC´øè)LofÙì¡sõ ÄOš´F»º{­–4ÃWŒWX?øPã/û+}³j}æçÈË}á¸Ïüo×¶PÄg]äÛŒûÌ&é+û¢‘Î=âgeËÃñ S©Æg1u×­Y¿ØWQn^l± ߊ•£û^t,智(¦ÞdÉT=ÿÅëØ±ð9K¶Ñs­žÈÜ ë‡âô¡‚–lú:cf­_±hqËÒ‹ÍImè¶e™Z5Ópœt Ã/Ýe<Ò¥7P¦8Êå>Ê¡À nýÔvè‚ApbØ¢Áÿ6“åcî.*wõa¹‹Je·{EF·3éõ¨!q“0²šç×ZÃáU¯orH73ß²|PoPné”-7¶;¶õg£t“ö€~£¯Ížßqâ•Ç@öÐd_¿è×/Uä÷¥$ú4 ¢o\ë}_"å;ÃìˆMFk¦´Ç´¡¹l²}e¿ïßXMá;ú2낞®î¾gIšÞ&‘õS CªÚœUh~Xó3¶ ;±Pk4Òî_äåƒi@¥ÊèîX´;ë ›ïþ/«\畨Ÿ[æ×^ʇbñ«èÂɱ†1\èŠ_ú¡*3¬!W„³à†[Å(ÄkFà5#Ù5£ñaÏoÙ7¯ƒ×ˆ×ŠŒ†œøµó™–Æ&¼® m¶D< mG½ ùÛìÆ1 w,^?}š„ɇú°¼ ™?B¯¹bÄÔ+E=?úTæQ†Í* m…t4¤J¼®í—Cª‚´¯¾×€;sØu"vÃú½ö?¢ouèSb£Ã·zô­‰ùÖ„¾‰<¦@ºÈŸi.ñ™Šñù”#>T3g"ÎB½éxÍlæÃlŸyèË|H`5̰·§YÙ· ÏàW~-^w²aõ‰S Õ/…ÞHÔ² aµuac+³w Úk…á¡ íµ!¶;òŸ„±z(|˜Ù ayìÛ5×uj|Xä-ºŠ`u#îÀºŠV‰¡¿0öå-4ìm¼×зñ–“vªÏìþc(?e{@¶eÑßh«ó>ó>ñÃÞWÏB[.Ô9ý<¯ù¨‹í¡ÍOàug×e2މ%rµ#Îâ5á5 ¿0äŒ×~¯ý ^s1Ú¼„Åò¬ŸÏ¢þePŽ¿³x îrä®îÎ$e܈±¸‹Õ™è_W!µao_¯Åü®6T;»ŽýûÔ½žéºéÌFÆã5"¾ÐGŒ/VÿmùFðOôû“ÐæKfêÜŒ:¢¯ÝéVHs 5.P›šõ)t¾‚:¢>¾†º·áus Ù>òrÔáíˆw` ¿ŽñþÆb aï+wú¾rËÇ©„6s/â}¨sæ÷MÌï~Щrä÷-—ü`yP~ýŸ~ø™(/0lý&³1×a#Œ×>Èd4ÿ>d˜óoÁHÃ>ÿ~ñaôõ{†}Þ×þ¯yË÷^ûCôïqðå¼öGxíxÍÑÞ“FâX)dÔŸÆëža¾‹‹±ø§`ÿ£L6ΰÆñksÏÖ\õS‡¾sÎ Ý"‡2~nèç’_°kžÇvðæ÷K¿0ÏæÕ°úÌ/Ñ¿±D_ú5ð?2ìííÄW1n/c>¿Áÿt3ìíí5CßÞ~gXíê…Ͻù·jîåþÂ:$ÿ”ýó}ý~]×JÃO—? Ÿ0ßçÿ‡Õ¯°k¾ü?c<žA»b8ã/ÚíŸàš°k6X2sLxËó_C¶ý‚BG,þâ‹?³òŸÀÊ/tßAÝwÿuþŠe~OSæ÷X™ÅØ?’ð[¬=ÿ‰1ø@­Ã¿ÿ í£ÿÎþOën¡å,8ÝHm{€ÖýÂî6ô÷†WÈß½–ޏE*8ѲŸ—gÙÍ+°òÉfÙÏ£û'w 6®ãUÜGtÚñÊô}6ѰÍçy#1¯BK'o”ª›¼1x Þ創#´Ë¼ñÚƒ”/æ¿…OÁ݆¾ïÓúN\„¡íçy䛸·Ðû·<¸+¸É°­ƒòð¾-ïHôIäw¢u­¸_ʃõpÁ¬ÝÀœžw,³-üÚb]'Ë"bu=Ʋ\·‚Gíí)ÏghÛ{Þ$´õ˜a¿×IÒŽòÀ·‚ŸkêÊk>z`kX¡ýÚ¼RlSeèS Æâ\ðo>³všWÁþ]ޱ-Æü@oµ‘*̧ó©F߇;Ê‘B6ÁH«?˜vÓ‰/Œöa[`½×‰k>Z÷zÝk3¬1æè¼&Œ-Ü?Û`éå‰y‘µ}3ºq¹_Ê›Êb>cÞˆ¾ÃØ6,äh3\ÚßtŒO;«ƒnŒ-Þ_çÍÆkg9â@kqO2¹yb˜·Db=pòë,™yýBvýH¼]ì¸~±Ã¾nÍÛäqìßxÿ·TåeÚ~‹1Æ®<¸Ï;ï`ÙW`ÙW!®Æ¬D[kÐÔ[Þz´¹†Õ•K©”¡ðK¬¡Åx´ Û”sØó†m o3âÌÿDÔ9 ë|Ö9ŒŸÃþŒ¾Ÿ‚:§!QW´/¶¶Ïk5ä=Z^ý‚õ}^;^ËÖ÷ÃþbØÖ&þlØ÷辜î§'á¿y½L‹²‹ùú®ùÛµ0™ýÝ`bÄß³dœ_ÏyôaíA¼¶'i ÆÚV©r´ʳ’ŠãÚBíÁÞήg°ëþç°“ïíÐÃθä{ y|vmg´gþŠ$׿¢52ØÙé¼^Ìl{5^ë¼îíý[NïG¸øQ2ÝhÓ¸ÁkgSÀ÷ò¯ÐÛ?iLþÌáqvØqÛ‚×f2ÒžÉXg¡GÙùÓüh;¿ÆÉ±ó›tAö Âú‚kè+åЀ٦9~Ò­~ Ü¢wº¢sé@{–›.dç÷x5„O„#>ètáH8Ò!‹×øÄéóxowwg8ÔæÕëë†BXÔˆåá¸/íÁcç]½ñßÖ/èÛŒ‡[ÑP4ü¹WµF»¶Zy± CñJG ÆÙKp¦£u‹äü°·W b¤Ö3”¿dë¬aåP»•°³³ó£¹¼âˆµm;âv7Ü»“ouús„ïtÑ[ã"O»ë·ë/µëç•JñšÎŽ´ó½ÿÎÓå—ŠÝ£ŒÔZÇðÖNëwj¹òц~<Ó²» ó3åú?Æðr5¼ê-ÏïÖû&ÞãÒD#õqéøHÇ%ñLÖ|¥=ÚiƒÿùÌGœòÝÁÌáª;Ôn·šq}Ñv9š9¼˜dxŽ繕Îç­Wçõ´Ç–"#µÖs@϶pœ¦‡ ¿ÍFžOWƒÎ™'žYlx· Ã{R.5<[X‰Wþ^=¯Ì;voyåÃí”')_E’òUz”OðUv>š¤~^ÑÅ#¸T{ÇÅvÌ 'ª›«j ý°dÞ ñ k ÷I«¯Eæ.óZÝ®þR,ú¨Hh×JóÍ9‡:û-Ô»DfXi8Rj/d©ë:!0k$ë v®ƒµB\S¯ÚmH±ˆ#Ѷp,±„6ý¼27ý#d€¼UÇLœ¥ôª’&ý)0?ŠM¤J×[$M%Û½Løßìï¼IÎøñS­nö“!ϲáÝ"§ØyǺÉ>º§Ò¾¦&ÉošïròÓí|$¥Sçm¼[@¼ŸaxVÔ‘ÎëgÚ¯¿ÉÉϲó‰×ÝUk£ì¶;À3™íétâžÆûõGè éÌO—ï\û–çÞsÞ|C?ŠÁŽ´9'”¶Ëó&zÕøoœKœ£AÒµËB»Ÿ «ÔEvÞs•ÚÒ´w†[{Ä-[®ÂêSÞ4Ïð™Þúf›7Öléî·×šêb»g:=lÉfèt!Zâá€GˆSZêêò;ÎðnzKí¼óFÒy#œt\8Þ#?ç.®?Áðì’¯8ôËÝ–•Ë’”s¹¡ïB†ã¬mm$íí·¾"RˆëWºx3VJ ÄîáÞÌ ;£p+ÖÉ\ѹ´*M—VÛ¯¿,•†é–¿ÇÄPä²h »Èû´3ãáWBÃ]cx7 µ6>¯Ö«\â¿qÛ´7G%¹ónm3¤ãÜ:Ï ²ŒmA·ûÖõ†¾ÉÇÅG*Wo°_õî–ÖkÉ¢/ìnLåM†ûL>×§;˜$¿ÍÞùMrëð[ ÏV^îÒšÓêU<¿“<ócƒCwTw£u²‘Vuþ8ÙDJŠîŒF4}Nµká¬”Ó }Sì鉅·öö8o‹S cÐÃo·Û4¡·ÕÎ7§2+¼É­ù´zÛÓ–‡ë·¥TŽôêÙ­<ºüC†w·j7Ü»•à; ÷ÁTðÛ ÷ÉAðŽ§©£œüé}ˆ+¯ç¼o¤° Þn÷#aAÜiç=ÄgÀš—fú‘Ø»•Ï’v…{¶ïŒöðÚts/×’°u,´£7ƒÅrP~ߨg[°G<†rÙæí²{°ˆŽ$©hjGín¿mxVÚäL­‹ ÏÁE½Ã 1p¨~ÆH½^áïénãÛ%†÷8p©áêÏÚýHXS_fç[›“Ïpóóro;S¼ì8‘Û½Â^¾„UË•vÞsÕҺȶal®†Å2%akó+œ>ÚfŽ[ëgµtWo ÅÂ=°ÖiE»œš÷®²»wFªá¼Ú®—òy¬Ïyè þïjò¬n]~×zûéz¶ãº$~^ïígºÍ)ãòÏé ç7é ç_0Ü»¯sXðòó‹†÷0q£wžìšæVO7y”ߣœÎväjÿfo;Îzžæý/ÞÃÇ-FêÃG…<…ØÄÝKoÄ`4°ØŠÒ„³•·™õå/{ëçÒ7û|ãúëͫxŒ—e—{غÕWíæ¾à¬‚¯^“·þŽFèÝæ©ç=és;_7¼»Îívþ³NþókÍÔùofd¨ NÞkéý ûIßi¤Þ¤›×Áݹº“Gýd#Ÿ³V­[L–ñʉSÜ]FfÍûn»žÚîÆ{Bõ^›¯Y9CœôbyoÑíì vÇCš‹ók|ÌÛdÈKsáÞŠ<î×Ó>roJù Àƒ¨tœ¾ÏÃiÁÓÐ7…Âp<ÐŽóç†Çˆp¿á9p%<Ü|À~ý^1Õ­y³ÆéŒyfßòˆA6túeÃÆ«.¿í¿zèHï¨$ž¸þŽÝDØ«OèBù`Š.ŒmÝjÝîòäó»v# 7Nú69:ߤ>zÊ"=7Õ–ð=ý%€yNO¾ïY\ûõ캄· ¶óno$è=bç^úO¸›ÿ¡wžFs¾•£ª/`zPG½‚ú¨á]Ùø¼€#ˆž•§Ëïq{~KùýÈÎ;BÎuZ{â.~l¤×¨ž°_Ÿ°ŠxÒÎ{®"ºÕëI¡ÎpGxkgÈׯ'‰Íõ2Üsá"¸}¦Årʯ1™wᑨ¹ IX`?e÷µß^BzÚ#ÆûtîÎ=“çÒ^üÄ#_ÁÿÔð=žíCð†áâ@ç ïú¼÷¼íp"·ó3C?Oî ÆÄ{wîÇÕʺOÐ'Jƒ-]¼] )$>H ý¤5ÚÛÙfv”®­áŽÞh¯X‰Ãß==З «õÆañÞi5·¶¤ÕŠJÁwFÃm¾žX´úe …R¥ÐŠæds•Ò¯K°dÈ«òç©~`yýÂ;’ì¶Iw¨æÃkJx¨îyð[Øû¥·7nõÚç£E¿2¼G™ ïQæ×vþJ?=ßxLõæ]ä÷’¡†#{VÌw\ü²ýbçãŽE鬸ÝWìvæøW]œ,„)éq.ÛãrùÈH‡ˆv;WØ¿u¹¾ ÞÛå¸ôwöK–¯õC„Äã˜[sƒ.¬VÔøÜ5—7­ÑX,ïŽFÚÄÈj>@ZŽ]§å¹™[Ž£i]õ¾îßáæŠãâ7Ü*#жÚqéïm—&ìÉ.rVÎ’TÞ›Y¬<‡¼Ùtµ~'ÕÅ»^zÿGÃkÄKŒÆ[öèMpò²óͺ‘1y镽·=ý3žræÿgCßFÅC;N vF+–ä¯ÏüÅÛÖ,Ç:„ò;†g[s¾YñT2gþšf4ÞõÌßþîO*ùÿ_ŠÁÈ8‡À÷ìš Ç_ÿfdÞn¸¿Ûóq>Óþ…3ߨó=Á+"©¬gþ™b„FŠæ²Âúå0®ÿ/»þÛ^5LåñŠÇ¿íöVÿ±ó +‹ÿÚù„‡÷íüG _áµxLéÝ¡’8`¯¼ oò–§ÚöîÉäO{/ýäû5&¥}nÐÛ³"´ËqµãÃGŽæ’·Ì«¹0¹ç‹$Q2¿ÄÆòÇ7iT•u_m7Î3òŽò÷02y¸­ûžŒ@Þ±ô·øà’øÜˆX Š/ýð/ÍÓ—×ˤžõ©%úrdNW¤? õc×X×¹—éÁµæõçªë0ÑØšõ¸ÐnqôLüxF|i¤-´ËIvF¢ÿÒ²›‡ù{Xþ<q¿Ï·ž2¬’XÛ©)Ô`Ý^¦7؇„Lâqpzñ=éà!²{@r»}ÊGŽd*æY>ñ_颸šßÝ1¬4‰x‰8‹ú¡ŒR,©Ž³þ…6Íé”Ê6*µ²õÛÈv¨‘½v@vópûQØ?ñ‹_Jr«m[{Yï¡Ïyx~Hü}¤ÅÓßG§V®óøõûb¦Èf¾yx¸\Ø= ñXÄc'Ù™1&î3Fv¿Â•É(7ÉHk”“­`Rkc0ú¾ôâ!gA߈Ç@ú"þ”â§z¡?‹ñKgTà|ßê|óðKkÂnb)b b1bbb%bb9b¡fVñw­!×êÌOë[T‚¯¶þ® ¿ëS«ÿR~ýÀÕC^eä+ìÕ!6ZùTã¬]Eù5 6Yòr’ û}_Ê›§ N¶¸.Ò›fý¡¿§ózÂòxœÆIíÛP ÂÐ0—sŽLµ»‰›iý½‘þže $ï¸gX×AÏAœm]WKòù†ªh4Ý/:™¨p>ÐGý–½‰éî€,0`G€2¤ð_¿Tó³X`aoâ\Ä…FvÖY‹ ÷uVö¾#•Éšb±‘¸¦È¤É¶™5Ù–,Ö 3²ÖdÓ"q‰‘Ö"Qv¥%Fö*b¨/év]Äe)âqˆÇ#ž`^gÞ/7Ò‹÷rc@w—öG¾ÂÞ2+òfc¥‘ØÙÁÄ%+¬¬.#•Õi†nu–‹° qmJ~¨]޵YôÃ2ía-‘éˉrb½Æé æt>^·Aã,û/ÝE}=å¿qâFÄ͈'"nA<ÙÒo$ý“OµäÍ$?Íú»‰þ>1ˆ¸Õð|­&ªž®î*:Ê‹ ¶Ìªµéç­²Û³üÈÇŸ—ù·jMæ­æzägªvò˜K¨oI™¾±<œ¯f–s›¼X#ªvº>ÁÊ*»•¼µ{™^þ-q'²ýˆåÆTrã¼4Ý>/‹nçá'n„Ý"~Ì’O#ùùˆŸ@ü$âÇ/Bü¢ãchžO£ë3yžs¡åçtòóÄÏXò$¿ñ³FòÍnšÔt›Ý—YvSÝì–Ýõ²,ÖW ùÎè|û{/½/õryzõ"Ûûåû¨^²™o׋ð÷RÄK¯`å=ÄHmq8ëKàDqp˜×' ¾Òp_4Ðô2Yõ\eý}FŠÍP6‡«ŒÁ¿êÉ$Wi­壄«÷Óx|NL†»kŒÌ¦¡k²×tÚw6óíïán0µ—k´ú\Ý_kìŸýç:M<2é?×™-®Ïb\Óé?ÙÌw¨ö²{Hê~g5Q7 ~ñóˆ7"~ñfÄ› ÷G„Fâ£Fº-’oFG½5._:u³#þþ’‘½½[ ÷eZ:_*Íd,¸ÕÈlmq«±Ž_N/r®øòˆÇ@í¸åá§aE\¾Êâ˜îÎï׬¿¨ßLý¼Íæ§5Žô§ŸyøT‘÷Wï0ØÙ`4*ä·#~ñFvƬ; ÷1+ÓOÑfÒ_ï22¿î2¥òŒKROô·Ë>ɰÖh<^ônñÝæßy³tõf~_7…•l|wg1ˆNg¬Ï¿äáÇa(—qÉCœì¿A9dŠhÞƒx/À®>‡¢ýMÄûL¹õ5ñ÷FbôlXK¡_¼Âe«J…½û¿…øÔü‘O²¾“EòðcÂî·­¿çÓߥä—Ò(Ëqú®eÙñ{ˆ#>‚øÄZz „žÇ» Ž/³Z×gò¨à±4ãôX–ãô(âãˆ?Bü>âŸ0Üïmã§îÞöIÃ}~ÛIÍdn|ÊHkn”}î©,ÖY¯eûs»þiÄgŠølJñTg[žÍb<Ç9®£ï¦Š|žC|ñ'– ÉŸiô÷чK…;?G|Árs¹ù Ä_"¾ˆøkëºÅtÝKˆ/é”.“¡ïWˆ¯}Û6{Õ*G ï–nfý†Zâ¹-ÅcÙ[ÂíeØoaŽF{Ç ÃP¿ÿ]ˆÿùˆ!¦Ø°nuFê¶§ÀH¼¢OÔüÖòá8¼U“¯0þÎú[¾Âøš¡ê:ëBÞ¶`ôw]RW< ¯£ÿ 0 Ï °äø¯OÝ»ï_²tZÌÂ,jQœjç÷;nãuóï¼¥¼s¤3‡¾aéÏõ1Ô˜/®Ý†zGúŽ&®¡ŽFNø.:u´‘†½£­c¾ŒF_~oØ:ìd0ììMcßw®cÎUþÓ~ý×mP¬IÆ9®ÓßÂöw¯éï•}ZN´4ñ…ÔLwÍþdÙj¨Ý=‘çÿlåù•ãmÄw,Ÿ–‘ü/ˆï"þ‘Ò߬ë—Óõÿ‡øËþ/Hþwëï·éï)­ÈŸâ×Ü3åw6óÍÃD »ÿDüegÉß7²ð…M~ÿäBÊ ®7 Õ0ÿ‹˜â#MHÞáàQêòþÈWØûñßV>+13T}Xkç¡?o§v ,;¾©·:\Vóíï‰ Ëf=f³½ì•ºøŠ¢X¤š¯Qœ'rgz“ý°–çwkÙ`ÙqÓ쥦?Ù*½{¹„gT.ñw¾ò÷ÿÙûð8ŽãPï]€ Á^’(®xS"—¤Hê DФxˆ/‘Ô-YZ `I`Ú]ðÐI]>dYv|$Žc;‘;vÛ±lÇÎm'±G–dY–ãœÎõÞ?ù^üò~ÊË{/yÏüOMWÍT÷ôôÌ,àÒY|_¡w¦««ª«»««{ú˜’>ëá+ÐÊ -Ú̈€N ‡Ù :zQï= æEÀE ÷b cÂÅ,Ž +˜ò°’Áå œÕ ®@Èj°.&ld°a“‡\®ÒàÚ˜°•Á„؆°Åï`p#ÂN!bØÍ`/áíe°‡ÁÍô¼Á¸•Á„à nA çÛÜŽ@éIÎ;Ü%äYwkyãºÑëÀ=¸—Á[HoaÐÇ 0ò!pœÁ°Fˆw)ÊÕ˜ÀÓ¯“°=í4ƒn„3 î@xÞ?gðD<…@xÏ„ÀÛ€R;Fy|{¼“Á»Bà= ÞðSïe@ú|Âû„åñï×à§>Èàg~Î?Ëà# li>Šðó!ð1F ç_ 2 :õKŸŽÂ#½þj|ás ~=&ð4T^Œ€/!üƒ/Çžæ^ x;ýM4‰ô[ìÿ2øì÷¹p`C:w e…)Bn¯Rm>èöJ‰Ã<¥¦†Àt3C ¡‹A'B7ƒ^„95@/ƒóCà"›Íàb„K.f@8 º5 |]Ê`QL¸T…¨z”ºÌ¨GÞïˆþ0µ˜ÁÒXÂ`ÂJ ¬`@éV1¸"8Ê6‘í!N;M­aEXçù|©õ>XÇÚhsR®d° áª`¢w ƒkcOCù¾>¶"À¼ú0©¶ûàÅí`° žwúà~¬t µ‹áÓón{n²À73 º· ì×à`apû8áN„£ {ÿ>÷GÀ1„þ@¸œ¾®+€ÁÚ!Ñ<¥ÖKÓ^©úWÁ±4MãŽäªåÂiú¢“+—sg´´m}Ãûä’'H¸ßN½}ï᣷m߇-ÛÜEø'ó}ÕR™ðF ލÅAz¤ƒ5ñ±86’/úH̾¡\9×WÍSê¶~wa÷•FF‡ó$íÔB±šôp[ʹSøsº¯"eÕ–ü=MÑóp®88–$63òÅ“…r©Ë5¼W§¡Š¹áѪ—±cc…ájˆLuï’ð2–>²Ñûµd8pÛ¾}~”Çúªcå¼­ BµB`Qýv´HÜRja€~]¿†ô2àÆ”SCO›måüh>G9„nŠªÍ“z•ƒ<„W®)űáaÇê´‚·ôÿ„?[ßV\/ fì»ñ$BýfÒrVð¿ºÕü¶¬»¾S£D‹ø ©¦T›N{CTåPÙ=€¹÷…1ð&@‡ã”àßž“¿ÿîÊ„¥;M/]¥Ù¹(Óu”©#ùêP©¿"£ÿÞ‰N÷¸Ñ©–òÝÀ;ždf6 Yüu2‰„#*òÿÑ9Ùf¾‹ú: ÿ‡üý øÍ¿iƒVÛüËÀ¿ŽaË9ŸÝ7‘^éý1ÒsÓ2Z÷- ï?a¿gpïJÒ6vk¥E.ï«×Y<Êû2Ï#ÖŠWHeøüªç;ðF˜©þEÿ}»^hGÜ–» öqº (NÁ‘tsu4­&Þ?Þ\5í5HÎ|ÌRL VjFÿØÈhv ìÞcï5‡¯úMDeÎÌSÜÚPÈ´ì‘ 7¢qEœ¯Åi’Ѝ5·Èi¥á~ä^ßæ˜74‰°æÈ›Ý~û öà9|îÆðϵæôÿb|¹Ó[×x,‚)ûµX„8YOd!R o!X¡Î_r«!ÒØ8~è•Æ·#ûŠÑ×r¦çÏê,_zx¤Á HØ´sM;×´sZ›¨É¼%iM”U X¶ŽÊØÈH®|fg~ 76\m+—¶X9]Úš-Þ”jÊ?‰æ.AÖš¶NL®­›„šÝp}9î×Ù»F­üô®Áý‘óÝN_‹PÃûôv™Ö²HÅäFèõçÇA†q½fb¤¹ºÑà~¯.b)µU‹»W«ñ½ \?ÅÝ›zèà‘½w6¼Ÿç‰Ys7ØæR¨û\8VΕÏ\çò0I›V¯iõšV/¤mÔdóji]„ÅS¬]G®X:™Ë6ÐÇëM$š´5[½vÐO¤ÙK˜½¦Ý“k÷&¡†7\¿>©3uuhЄÝdµÕ†šˆ«¥¥$šP«¡h ÕiLúñ{UéU“«U«Ñ» Ü­€ËÕV)õÈ7ú¤Iù“Ó5˜án:XâBXzí¢&K—´U]N±nSû¡¤ªgܼyb6í[Ó¾5훩aÔdà·« ¬^|ר6.áõ…M ×´pº…¾…k™å?oœY*ŽO³¿0RÌä+~å/ü¸v=Ž7·€Y×M™õ½7»1LªR­nÛ·Oµ¦\ÂXß$š]×ÁQ?7¼{¬Ø;'`ôÈ`M¶e™Å~f¿OàïÖAkúôêÝŒÝúÍ“¿½:”Ïô•FFÇd-ÛœY‘«¬,;žï«®^¼¬²xUæú5™“¹á±üŠL¡¿ ý™SCùbF"e†r•Œ[]3Ë*™RqøL¦0YQ¨¬t­Î¸DÜ´Gß¶+³r…‹,c÷§rpÕôú©³û°I«ñ«²qf´>Áïv^öš/ôˆWwÏÊ–ÊÄ!ü†îa&Ì”t”Pÿû]Ô¦!ц¤ýD™‘š0F¤òüÄ›ÕIL‡Úß•F¹°ä F9‹ŠñÊÁèAdv|Æ0™-i¿ÓB,a¤ïÎ-¬bÕbM¼k½…É{´&¶!èu‡`¤án8ÿÓ6ÖS´’|qnäͨ ³÷ê|xAÿi&j&ª"7Üìcs«aíÅ&ædµÌ†Z¹”h ¡­í7OÑÒ©Õe_=Ï'iŒÉÖ$P/Óø>ý±mxäp¾2êsø7 –›ÃŒ|ñäáü3QÂffÖáS(—Š#N¡Øù„:üIìá,ø˜Ñü˜ïÒXP¼°fᇖ³‚ÿQSòÒ•? µ Úteo±?Ú—‰ìî”:xD¯EØVn—í•ÇË1¯š?rŒÃé5§Jᚌ¸¯¤œ8èNÖÞ ÉpYyýjç¸&·%v¹½˜Æ¶fé‚ö¾—ÔPç›æXlÌy2Ǽu5q¬QAãcuXЦÉmhÜ&Ç ­wYÅ™DÑ«P`”!¼QFŠF®£ÖJyWÃ< øø µBCú§¡•Nqžÿ‡Ä^¸ãersf¶P,T÷ä‹ùr¡Ïµ©·ŸÓp¦f½ì£‘¸U7h‹…4hÒ ÍCÕÀ{0r˱>ÏE5\,붸ŠÁ^|™+@ïø›ÇÏ`ñÓñ÷R –±pÊsð .ÔÌDð9;ñ½?àu#Þ–ÇÐɦ+÷1Ö`üVŒ‡úðn¦êÓ®EYևȲñ?ÊÊ€ÓýAý‚:*˜‡ç•ïxüm<^øvÕÃO©ø¾«TsÅþ\¹ßkEœŒbɦCc+ä† å1öÇ,äÌÒ*³Yº0-jüa=¾UPŸ¢Æ·›2o’«Íš.õ,O–?[¡LÖBñ§®úNš)ZsbÊÑ´ØK±8šuÀ9¶ {ÙNæŠ65[èwº¥5ô*ú}š8Ïé¢E)ƒxÎÛw™ŠÞVd3#²3K?®Çw¨ñÐã;Õø½¦üóaÏ'ÐíRéŽè|»Õø¢]¯©ã­ú³•øÔz|šþŒ^®]¯*;G Î( 8˜ÍõÈ æ3•áR5³rYeU¦à­L) ø SVb¡8PÊäúûóý«4þ½Â\-g`Ò#ò° ¨ª¤æ¨¤Ö³:WŒËÊ×ï`U9ÿàX¡ì`‚&Î%Š8©½º¸ …½Ú\jUXWÚBïyvÓ«3!J]!EÆ*Åø*¯%1—)‘z'<¿)¤ì6‡$…©ßD )tཪvzž‚a›äâæ*Ìá |þܦJ­LLä{Q>iänÁPd/ÏSåó»èyš|~žž˜=蕠dž^³yÏ.¤}ßA|+Ò˜ÁxÎjGÓD3Îúé¸ü”ï´ú*É4’'+“ŸxµhùŸÎdjÕdJ%ä ôÚ1Ä<ï%>]Àûù{„ð$Ù‹Ãs·”w‡¢K”3i¯ð:Îúú6µÖ7Q)ìåáy6ÓïLE­…¨ç…XË™þÛ.M:Cºåú­—W@rNÓä\ˆrr¹¨îʺžz÷9‘¬õŠúÕ#¢3 éXþjjIôÓÀs}´cú‹·ÓÓèZ§1Wø6™l0å±=:‰ó9Qú#º3ãÉ\3ojù¤°·]R™yƒ-·\“Ì%yOÈ$×mÎG¹~lM—:dKÏ ¤8wSC>é˜Â`*B» ~º¦ÆòÝ:Øøv1°ñŸÍ 7æ1¸È#\‚0ŸÁ¥™àRDYžl:¹auP<ñ¥/=Y¦Ÿu1¡CƒVÕß8€_mº®=p?¼©íÜbW§¡|0›ž=RÜ—/V‡„q%5›ÒÝwy#£÷rFK4ôŽíÃ…ÁâÑ!'£C¥á~‘šÚ¢a´UsåA÷¤°.K:õjð;Ÿù3la`ÀqB>æ¶W9ÇYˆ·ë< ´©ýù‚ãh\ˆ¢Ò—õ8`>¹siO@¶.¹ók'(§lçÿÁ—Öµ€[mÖe7d7ùÕ>ôã.8gdbgzlåð#-ü}äƒBóÉÿc!àjßu’~Œóëwv¸Ô—Vcá«õ‡ÎsâpÕ¯?8cEëvûé«Wfg*]–§Ò˼}¤PÌ–ŸŠK2õ‘sát8ªN§«¯4V¬fsÃű‘,lµ›+ÉRüØPtÚʾǖUÑJÖ!ã}¶L}”ÌbbAÈ÷øî³ç4Ü«iü¶ë”Ôðü骷{‘,¬~øœ îo‡’K ~ÿü9\j·r‚q¡j£~“Mýœi®•U”[Ms¯-¡È•/ªpƒ•D*&q¹žè²Oý‚^zµ—tê…sã,Ó–Í8ÓFc)«©Ø,ÔÆÊ×Ä’_A 6`æ†L°ö þ¥Â_s átÄ™¹º_Çz¦§u¯›§Æ¢å[„¿F'ܹy } óx[d¿J¨k/[0oÚš„Ã=ÕäüüL~<ÇO+ø‘Ë'kÒ´å“~ÕÎf³Ã4±cb<%$aK®xFCÕ–RÖ½M !5Í‘ ˆ]w§wPa@_&ñm‹!Ùû’­¼Y ü9¿öñ­ý¥jEK«í¹#Îìkí^[j¥­«h( ç³£9×S³¸vsµþç×lBÚ§y~¡Š Lóõ}¿;·6kNe@Åšø9=^sØôÍŸáÚãÂFmÆÐ<»»m™]¾½<835™¼l?«T3ÇòéžgÖg#4¡m› hBÛÖ2'§ÿ*Û]ô¡ÍgÌ9cïüEÈÜ!s§Ø֥ƿߖ'mKŒµ”VXKÉ;,/ª˜f[ÔY×Ö¥“p=ª/hB¼ ë¿WÅÿ˜¯í‹Ñ ¨:>‰²Y¦ÇüǤÐÒx¦Ë¦¬ZW]ág`ר’9uG(P¥°PýA™¿‚¼]˜WO|e¿¿“Vés9â›$¾&}¦ð×õû}Sð&Jõ&ÆAØ)üõív¤IÐô€„ÖÄü.þž{Üõ¯qGgzφ;QÔæÄúïÏÖÜfȧ° B® mƘ•Vðë5+M|»…ÚL. ö¢LÔ\Z„¿…{Š6£©‚/¢—vƒ·k¹˜\Ú½yuc^è¯Å–¿šfåO"o} ®ÃÛ"€±IVÓbAzžÉ Ã]Ý zB [ƒ¹à iaÞ„yÐü‚i¡ À¸D¢³á2¤'z&œv –DøæÚF"¿ ŒŒãóÄ$}àn@lÚÁúu[]2 ”½¯J-"õë† 6ø”Çì°Íj|±\:%ìK/[‹}¥áœ)ÇÎHBêQ/©³çü,ØÖÝxÞ*Ls~ìRÊýw|•Öqö{oªß_¶ù®¢²ºÆ§ë•yyMɪÇÍ儃DB—“á§‹ÔoÐ;W§Û„÷Çhðϲôž@3²#ùò`~{µZ®øÑw©ùM­>ç‘”d,bJ Å©:1H$fêN-7ÁçØï€&CUoP³Uµ\]©+Bô­VšXåi(—Ô—MLÛs•,>Hð½4, ½#Wŵ}¹b±TÍTFó}…3I|åªL½ØŠ¼Oãaÿâ W{+4&1›’Ÿ“‚š“Ï© ºOýfXR¹½ ª¥ ašŒh†˜æ çÌü¾`RÂÔ¾|aØÑ©©z­ æ‹é(õÅR6ÉôÅ™¾Ètð;ì÷ïmŸÂû &ýéû§ø84?§éø ª ©/axÖ s[ó˜a+3ƒl¾¹so‹ñ×âæL7m1Aé½fesårîŒ{¼šÛ)w pѹqž·Q-õ¹Þº6'‘JåÂØlTÊ­š[T=3°Ä/y;}.D¦vp ¶»¼Ò!þƒ,xÍgp7½*Y ݼb¤›»¡©CO.û› ¸û®½ O¯=ÍéµeK¬O§}Öi»´'¡ÏžVPòq!vÙ†®‰U,=sd¢&¾_Jýǯ¡Šü¾ Ó0-ß$ù´Ø VÁ`jV©µâo°ýŸ:§Õe0; I0çË…?54ßÏCË…?³;+}{Î`|'ÆÏÊDhÔ·ÑÀçíû§ïH]¯!¦UD·¯¬0ˆ€^cuÃR6ãº=-“Ú÷Ñ@&ÃV¸M-TöNŠz›Š^ÐÉi$k>2Kýp©®äxêÌÔçMüX¿Y‡…),JúúÐ!‚EHŸaØçoYNIƒžAÕµì“ÇvâêºÖ/6øÕã‚ß'Ï–åySý¸¤íóôlZZg[ÀÞ.ê÷©€è,C:i hº›¦Êù5j[¶½ö|éÚ,tÚ¡–óÐüÑ9ÛŠ2ìägÞ4¸¢¬áDl°©]ãm ÇÇŨuéñi…™û½UÈVL‚¨ÇŸq3YºY43ßñÚ‚†qöø©¯ëñõêèõžÉ&³ædV;øÔ7ôx­ƒôØZ^s­öüá=¶Ö³­QzlÞSƒNké©q-¸zjl#?=µþQOUü﹓ôÔÓDcõÔm(“ øí™è°Ã8¶¶¥¦ÙzëtµÒHý` «n0ù¬Ÿ¶~‚%vLc@þÈù ö›Q]|ø´¡ßò¹Ðˆéãú‹£Y“F·=¾?sä^óá(ÐÇ)pš!éÿÂ4KÓš«VËþ{܇”úâþÏ//í~_ÎÏ|ÝÉyõãê÷}b&4ßÈòsŸž7¾ô-Š^k®<È>Îç¦ÃÒ¶UØîÈÅBÔܷ㤞rj¨Ð7$‚ÅÑV|µIR/Ǫ ùá¼;M鋲œ‹â„¯ÄËÐØh¾NÅMuØDÑFuFu¨Pñ?® Ú\FR¯q_‹]àÈW§TÂi}Õ’ñW™ X‹R¯Ó;^Óä–jþê¹fœðT<Ã6Hš®fzÃÔb[Êù“~)Ý‚¢¿fȪ}õ€»QH×Àkœsd•q[cÁÇ ++u+œ’ågd ¦ý¾!­AÕ©?ÕT}7Ã9cR÷cEh²ýÞÄ~¦ZÊøÚÊU™R9sdøé®1ÊÌgrø¦ßë±®ƒóBûKùJ¦è]ÐæŸ®d:÷dV~Z«%{'¸ P¿C+ìÛÖþïÔŸ¨4bîÛj¥RlÖ2S²¹Ê‘>Ã/k7N×G+,Ðc~c ç·~õê—[…ò®ñËä Õ¡|Ù=YÖ«b%ùŒòØYX–Í•«×AÝÊTËcy~Jí8*[„Šý¦ïHß x;Âÿ‹ÐñwØ»±ßwèzæ|"*Òô‚.Ÿš6øùçÇæ²­ù$š+Ʉ߾÷ðÑÛ¶ï#›ºýÀ]ÚrÍÔããpi°g¿á#[†Þº·¬hõ—ÆüÃn¦ö•FF‡ó´*aj¡XÍz¸-åÜ)òÖý™ÜáBÅ».ŽÎÌ¡çá\qp,7Hl ×ÇÍ€º\.æ†G«^ÆŽ†«"2ÕýJêe,í4púµd8pÛ>ÒWpEø‚ ÑrG§™Ño8—¾M=L¨…úuýÒË€Wà|yÚl+çGó9Êaj%­ 9Trç(ÆÁ·¥QÐXnXyËFWa#L®6„oçÉç†óý!i:µˆðõìàÁBsQ0FKÛk:qãñÔáhÝû Å|®,e®ìókÕl9L­@É÷1f¾ÛaÜVtˆh÷x£Ò¢n=Vêxn”ô§]œÈWù¾¼r×ß7©ÝF9>²Ê;¤i•3•lHÜtˆs¬²r¤wêzøÙ󱢬íŸskKã˜V•ÿ!v³`fy̺È?ÿ]—÷N'Ú#i.úÇY‡¹œ‹ë„e6ÂAŠS±Ô ¹ñ b@)? ¡>¦SOù „<§ø‡çDT?Åb§ßö£ïã$œðïl.-ÓÊßèøêÈÉýM+ ÿ>¤«±Ñÿ!çóã@¼6¸Êçúý÷3áLyp¬TÅs²ÞЈþ—€’¥4–—ÐЩÿ¹I’©9½ýqïÓ“ê#ý0™Ó§7øBýð\“Æû`nÜ…&,n†©ˆjΟĪkÎØLi9²eè¸LžEð|¶–26ȼnèîwçsJK™+H42Íi|ꄊ·r-Ö„J;LhL£Ææ™Õ/RÒæ×ú徿^5jc›ªÛ¼›v$—rF¶ZÙ^<€ršš¾Ù;—çð8$âñÕX/°ßÏéâLqzzœ7‚ys“=1Îþüè\¨Ða+¶L4ƒt4n!ø‚§þǹ ¬·ú¿­+¼ uü7ˆïAÚ]LSçpdlØéAZzdu0~‚ðÑ úÇçØLtG× ’¡j³y8 ûWéKþ˜HöU¾ó¯Ò€;[¨ço€O‘þš´¹B6:s„¾XÑíÅ+PÀë@¼^ü}‹ðÏ6ɲRØ‹´z.ÑêþÙ&£L~/þ-Á€»Ó^,ÔsP®E]Áï…,‹ÎB†Ÿþ6Öa}É\á¸+çr ¯Àp5â­þ}ÂÍb¸qÖ Îzá×ÑÀ_õ“.ß3¥×–ëéÇM|[—]ûºŸøŒ–6;¿ÖùiëûôãV¾ÅÏ~=¯´†¿]ØËV;häN“üºB˜ï´Õ1õx‘Ô×ãÕãER¯Æ‘Ãp¼HàÖÚ5^¿¿îŸµç1é?*äü:…]ß]j>?e*?®M¯ÚŠÈ[»g«ø#9zÔxý~¿ÿ¡=O +õhdÖµ£>ÛôrzsUþ_¶éEh«f ½zb§]þ(ù8]õJ\U.ˆ_ÀâáY»²¶¦òš‹²§Ögý®,ÿømzæ§ °Õ-ÿLÏmÂ?a„Ö™zwÖùü^%|\åæ'‚>“wÇe‡Äÿò§Üø³’NRÁm!§Ãßóøã}¥?"ypÝ­w´F¿ìn1ê{¹§ÿNÚùü¹¢]Âà¾ëî2o‘ÏtÌ^Œ¿šN™%Ô+`é$"zY¼³xÔE™NV-®â9,³Îúéø7ôÓÂxòG¢ü¤Ø)œÝR–/Óó\g±–Ÿ~.“½U“½ÖXâ,›¾ú¿T¾PïEÝór¥Å|²š«åJ²ÍˆQžµ–#ðžÏäïÁfׂ!ÈJƒ{d„ùÒÆÂo†ð|‘¨¹9Ò}é0üMXµ™/êWmˆÎXH>ãA»¢v˜vPOyá‡ßÌf¿{-0a~ 0—rs©ˆwc?üfI¬`°*¬‰†q¬Íôñ»TÏ çoªŽ ï+ U³,Ú4 7Ðé¸5œ-nƒ-éŒw˜/˜hÆ0¢/G'Ç ª×áO´aSpÖú„4ý?]¯˜…tôøNŒ‡¬€yØ*|óE‡â0áÔ 2ªƒ™d‡Ô²÷%=]ʯŠ+‚Ö±bßé^Ýê+«¹BΡ f¼„mðþ [›ú˜.Z£0e¡¥ Ê“JÃç“Ô#, *2Î9½äÿäã(½W•¢©ŽO‹ð}€´š/%DSïyYo™ÐUõOaµ q^ àMŽ_/ÀRMµC%¦{ëQý$'Kÿ¯?ƒ—Ñ£21Vó0&A!-DÂ8[ˆë— ¼Ésà<+3²z¨1×*<¥ã—Âg¾…ïŠã[¶Šúû–«‘N˜ï¬ßÞú…:tD÷O{ì$ŸÐ!ζícQÖf5І‘€3Ô¨‚6šôö8ní@…#¢n_¢û 2¿Ã`.Özúöå®þ1š+Dðî‚^­5ÿM,“E×=‚Ñýßmþùÿà6]Épè¬ÿ­Læ™(ï,Æ'Vô㦓žõ˜K×ܧ›ú~‹ÇùmJóy›² cÜ!T´´Úw±Äß©´ïbcï—4zÿ¦ç]ûNóœs}^_ò1É7ÍJGŸßWé„å[x= 7øaî ñÉ=!Ÿ½¹qìñ¼¹q9ÒõçÆqîüßx˜B¹ø\9?¥›õèúÙÒzNåáÉGkl¥cÖwêy¯?+ßé=n+ƒ6„íÕï ë…©÷æ³:úLOÂl„CÏ„cêÙ[|H:ã¡®Ù:’¯V ÅÁŠ¥7÷qh¢ Е7¤”ÖÇšÎÀÜîú¾fg¥ð×Ðúê3ˆ7Å€ík ¶ è÷A4šº€ösLøßè·"^Óóõ>¶Ó%f‹º®Cù=^ë_cOgLï/TF³§ ý‘×Åh=r÷¦þwX¯¤õØŸ­ý°ÐÒÛÕ5«öæµÍ‚P˜Â’£^‘z;Ö+~Víå'B%½|ïë½R+“§K¨ R­ µŽŠU*a¼ù˜8%ã„f]ÆÄäa½Ë‘õÌÔ“EõÖ„gêµm=öt†×ª©g%èJ<&öqfVFsåJþv¹Å*¼gUñjê·&ç ãF´Ñú×OÆé_[„úáW’”ãZªýóð7ôw|œŒ¾¹>†IzëïÏiöÖë›dƒýö²:’¹¶ðí¿Á†r•ìiÁ´ÿäßÏù¥íõ+>1¯ã˜h7[·ßL)d½ÉH\–ŒsH… Ä”ÊÕ|¿O[õ²+NÕ﫟þ #Ëo„(q˜ýÆÕˆ©ÿ{N¥qXÿã Mk>S#f欉U²´§Ó‹Ý¦Ö.®Âr®¿pÚñàX¡ï„½ÍgÔfjtd7¹û3'ž:íMý‡¦-»&L¥= òRÔmÒ&ˆÔ9=ffz‹l9ïX¹b¬Š@Þy›Ø;:”9ÖEOôOÜæ¦¦“naeéä ÝzNæF¡§J©œ•"X\ˆ£­¢xî^K,ƒ%óV›’¥±M“lâ¨÷ÿ§–Y 64¨©‘u)È3-ØûIµ'éJVûá7FKS‚ßSâQR#n ©š“ÚôSØ´iä•à¯7 ©ç7^}u[ŠñÔW|…@-+‹T/ 4Ü/O%±Ìµy8 ô5*8×ÖˆR6ÚX rÿ+´…²nº6¦žûã€Î4†Csq *Œ3hŸÝã ,þ¹NF è¼^ð÷³õ"ÍÙÂ_€LßÅà7í©ƒ•…7 ¯ȃò rocrSZp`õáͨï¸ð÷È]ÊäÏ|tÆ/fñK1ýr„eˆ³‚åoËéêrÄ»‚ÉtaÖV>(ä÷Bˆ?Šï?kÀ_çÀãøðaÁùzL·Ó]ÉäÙˆú¾ŠÉ³ ñ®F<ˆ¿ßmf<7£þà;ì‡P[P×#þV†¿••Õv>iv0\(§_ê|ìNÔënÔë.!çsá.÷=NñnEúW¢<{ø]ÔÙ”g/ò¸YëíÍ,ïûo?ãùߊü!Îa–·Ã,o·9ð_0íí˜öN,£»„Üky7Òºóü_µ<߃éîÃð-ˆ/ò¸ßÉ÷%Âo3<¼Í<Àä:æ¤é¸ýXV7#?Q.ai\1€x[Ï‘3E+ƒIÎA”¯€ò ©àoÑò3ŒáâŸ@ÙœrKm@Üâ<ˆaqGCh“ŽÇBt\¾ðEáû »“˜ß,«p; è lå5œArx1ÝÃfDÐö=*ü}¹œî#Bm· ûã(û>‰2ŸÕòZEü§ï­ˆ÷Œðë Ùè·‹º~£¸€÷ÊúG‹¾ö• ÖI×<}›°ñó\ôðµù³‚I>?û^Yÿ¸OÂoWðéô:?^Û+«…ù–Fÿ¯ÂʶKðÉÿ<[^Ôý³Áz§îŸÕ÷ñʼšèjûg_~:T¼`Ò¹‰n§°–õK:Ÿ.__×ñÚ³rp‹MŽn»57³UüÄknzìü^Öùõ*øt¬*ŸŸ¶oVç÷ŠÎo®‚Øgýr?u_l€ßwt~Ú~ר}´¯Dñ_`çÿšÎ_Ý?½ùb•¾¾Ù(ŸIÎKìr~Wç»PÅŸ«Ç_*Ùž¯Å•s‘]Î×u92ÉäøjTy^få/^Õù/6;¡Ê ]‚Í8Ñ!¼6–»¡]*¬†öÕ0C»,AFuÁÙ!¿6Ñ—«,ô5woèYY¡à§¾§Ç¯Tão1µµ0yl>Ô*«*R9/Ö2Í”O›ž®°óÿ¾ÎµŠ¯û=‘üÖØùý©Î/«àӡƪ|6~k…½ ¯¶*,å1Ñ]¯¦»[§{¥ÆV¥'ø eiƒ*ÒÃ1Uù½çgàÚT¾1Bå›Ôø¶*Oî‘ÎÇÖ¤®Šàµ/rˆ¿F‰W]ß |µ¹°×ŠðfPOÞIšÊf‹Lú—.À¿N•õzüõjü—#ÊÙzü†IÞ-Â^Î[E’zfî­lõ솄úÚVG}pºÛ…ÝíñMÑdž¹MòÝ(&Î.ÅÑßNa¯G»ÔøŸÒãw«ñ{5ù¿6ôíþMpluo°Ö½ÀÐã&ÿczü^5þ[] Ë›to¶Ëh#·¨øúâJýÙÈß$Ç>….gnokañ©úÔNÏxÑ×=·Êç=ÃÔOŒ³R8~½>C¦pC‹,SØ'Ás»ð$êá}Q §,ø–Œ™B9È[øÙ!üãŠÞDš´ÍÀÏCÊÛêÑ)ßy[GfËxoëH·|^HϽ±té§ï­¯._&º=òÙ;®i®|~…žçÿ ‘Ösxž'üóR ¼XÆ¿Fñ ¤\ÞV™…^*ñ¾Kï/Á0#ß¿Nïa¸ØP¦Þ1…% ^†áR —²! ,“<¿G$V°2ice:>£• à¯dy¦²iÓʆý%=³è ’k9†—K~ÞûU®–ï¿Oï¯ÏKè9+bÕµïsü:Öµ?%ºk0\‡áZIïnŠ_/¢Ôâ'C\tÞÔ•òù ÉÆå›À¡M-w*nÏ®‹‘¤h6Ô±hˆN½ïH$ºu<™wÚœŸ×K¡k zÚO¯opüzé5ß—&‚/ÐÛˆá5^áU^ëÑÆE—pIÜõê\HzZ­ƒ½´Ú€â,[h[÷kÄ¡Âäî:n@¨5Ú Èõ’Þ—c¶J¯ö\_ÇRL²Î«ž|'ºÕ‚¼›1ÜšP¿['U¿¾OQO¾@o‹ðë×æÃ¸Î`é‘;£wç`suá!yé`ø#zãlÉlipymÛH¬-äàÆ@W¾YDµFËÔ`^Ü XònÄ¥Â_nátÄ™"]œ¨S¶Ü…é>¸¬›?|;€®¼å[âÁ½€n{±ðO´ƒx[…ÄUBÝ‚ÃY}y`Ò-ïoc)ß¼ü”ã§…ý»f‹\oUùýçÇñÔ¥Ðê5.ÿ*K? ÇkÇs}ÚÄGmŠjga„n§Óu`’ѶüÙ²„O?<å—Ãt -—þ=Ë¥­|¢ò'ß'ýa~/Sޱ…‡¿Dïå7Gÿú üje ¼jn釯Ò1p4¬âÃ0JÛ!”eŒ@ìÞ ¼11GÁµ{Ã[œ†Ô@Ǭ|ŽÆ³Ñ\X§Áµˆ†<­Æ$»—Õ–>÷cK/²Á|UÞà´bqg‡œ“•‰õæ‘>.I¦=é9…N…ÂqnTi¬::VµPêQ(ºBij~ 76\ÕR¶æÆª%ãÞ|¥/7š—óŪSIò¶¼\¦H’Xg2ÅAƒC©ÎV¨"6œ1Ð ØÚ9IŽìÀ§iï*d|OΛW(Íý^a{`a1+„…ùœbq<vHjý¹VöŽÀÙ|¹l`ØU¨dKÅ|v 0œÏåUÎ\/î6Öåíô­á‡ÙI¦÷\rÐv\Í@zŽ®Ý¸‚vø‚÷äœ_NV{ÕÝ- tÙ/÷Ù»ÕùùmæX>sôðm»àCÌîíûŽì R ¨¤û¤Óô«-ž?fbMM=ð~47˜7¼o‡ºèT÷*=r¦y*[>³åµÃéVÅÁû Ò´¦ñ›ôü¸Š\â+’©ÀWg¡˜yÀÀ·¥??ªqÒ)§Èd Un×Ñ*ˆÛHZ¥ì®ü­²>ºu²UV Y1ÒÚ…á‚ÑYŽçŒ#C7—Æ;àÍf6¼+“í+q&‹3qo%ͺ©Î"Ù.Ù],–FîuÒ³uÃ6¾.&݃^„9–æ\3ÀÑS¤çD›ô¾!=9OZw ­Xƒ[ýôvb|ú"üä[öæVÚü€?èµÌh#ãÆ8*8?Ðb6Úü@¬[_o~ Ž“Ivô70VìU8J ÉZx×ï¼Ò†;WÈ RÛ„÷'ßûþžfVÉ„^¢uù~–ÝŸ;‘?â×%…Úø)h‘b¿âºïp~-éCÈ'“^x.’½LgCOïᆊ¯ƒ`ôêëh‡Õ)ccUŽ8夤/Õù4R™ÿ'ï‚Õ9Í‘ªíàH7ºú²@—Ûh6Zgë¸ÈK°â‰ú 4|ßËÙ1ƒˆÐÓ1‘ ¿¡Á;Z0 ñ:¯ÓÑv@üôä¹iõ0\¢Õ‹qÏ‹Q&Ž¿ÿ(=À]‚i/ft@žk…TäB–‡EHg!ÃÏÿºšaä»q–b¸ õ²i’ó¸+çr ¯Àp5â­BsÜ,†kg ⬉¡Ÿà#â‚Ç'©ë"’Ÿ¥­›Ðùý³ÎOsJ_Sg?".õ#Ÿºæ!X¶Úšýh•+Kšäì½­Ž©ÇÁ¥þ»¯8æË(¤›¥òÑév¨ñE[ù8ÏÿbÒTÈùu »¾»Ô|~ÊT~:]›^»…­>¯€œ­â¿ Ç÷¨ñÏiòýíyZX¹ô*t¢1›£òÕ1ûQœráôæªü¿lÓ‹îÔCzu]Xä1pVù8]íx¹/ë|°xxVƒ«­<„fÇ¢ì)…©úœ¡àíûÇõJÞ¾}¨{ûà§Êø¦ç6á¯9¢u8ÞWŸŸ·%m¦|?Bϳäs‘ž;$¾ÛÆi}Mꬤ“ÔFp[Èéð÷<þxŽÂH\ûä­çêÊy Þú0h³Q[Á‹ð­`=òù9r»„ï2N©TsàB"ÒîÛ‰Þ±DÙš%Ô#è^;zY¼³xÔE™NV-®â9,³ÎúéøŽ(ôÓÂoÕšŸ[6Ö-eñv4αvXÎàøçcGãDð!Ìå Õù^Ô=/×Vᥡ—+É6#FyÖZŽÀ›vñyHÞìZ„"üräÃŒP›!™±Âo†ð|‘¨¹9ÒTA: Vmæ‹úO‰Œ…äSŸÏ&·8›Û:POyéf0›ý¶­ºœ‹ of‹sзKd,¶éÍ+¬Jk¢!é#uÚjû»lÓV]—yñÍ,!ôUƒ 81ÓV½ýùrádæ­`a¡œÄŠ=–3uõá6Îô„jŸ¡²“M††BÆ‚nîþô * ÏŽÑHÿ£PoŒàSS4…5ƒÑãSEˆ?CøSKÝŸZã@ «‡ÑCr“ òµóBSMóYž(·„:Ýv‘ðw¾.G¹øtà,þTÕr¤;Wø}ÐX*ü›FHÎeB¦"y¡/‡)(ø”t/ÆÅw€¿Ê€ÓY|·ó¿Ó]éÖ0yÖ"½õLžuB½áâ7â»MŒ'ü. yÞËóBV;Ø {ßÑÔáÃošj„ݯþ¶#ÂÝT¨7ãP½ZÃd¼élsŠì+¨ÿí¨ÿ1ï;„¬3°ˆc§ƒ÷FäÞíÀo£nw¢Ü»Q–=Œ?Õ×=Œÿ^¼ …äÔoB<îGÝ@¹:ð÷ ä9äÀþqáß’‚7‡ˆj½<Œy>Šám˜÷#Èçvþ“Ÿ¦‰Z©‘Ƙön ïAw! G?î%€{âÜáBÖ_¨û9L÷–>ýæ¿ù 8¸«™¬[¤…º½Dø7 rg,àmµðÁ°ˆ¼†‘WÉÁÝÂëAáo}»yUbð:‰<ÆP^§›HÅò<…eTEÝœÁ2äö ÚÙ·3Âlßèön+–#þãÈ÷1‡/<“ %ª“g…´ O Li4y]æéžBÝ=íÐÿ4“x>ã¼ûi–Þ½Õy÷~á×ç£ò>#ÔöS2;â>‹z{§õò9”éÂw¸_DÝ@úßf{³Šåý]˜wÇÎ¥ÿZø¶SÇ{·ÞhõS(×ûPŽ÷"-G7©¿×dÿéÙ?€²òöÏëõ'\®ML® s}úYCÙÿœ¡ì?Œ2;6;M¶€dþù™?*eN“óÞ*ü*^`åi¡¾~\H{ý‹ÂµÇé?cñÐ~?ἃ¾ˆÛëO ½OŠ`¿ô)#âñ?…øŸfåó+˜_Ãð3˜Ïb>~Ó|ŽñX…<>ïðدÉôyÄQíôo`øe¤ý%!Û"ôa`G¾èÐëGÀïŒÿ-!íñ±œ~+ý¡öO/²òú”áw ùü*†_Óòùû˜æ„_¿þÓ~Óü1†ßÂðO0| i|e€>a©ËX2~óö2æé'O¿"Ô~æ;¾&‚ýÌ«LÏPÏ œºñ÷g…º-ùäñº÷Ó·7oßÞü)ã÷!mÏŸa²=@»Gøõøþ€Ñ:…á_kôàÝ1)<»”†x´Ké µ¯ÿL÷w˜îo¼Ò4.Ø Û'!¬Ÿ¼ŸÔÏ•É?饅ýŽö‰R?JZù„GïmùkµæoÂoµ äOûDyX×>A>¹iŸ‹¶ü8òîˆûéDûT¸ùIûĸÖÎ×\L|ÕO“Ñ·€iŸ$ßÖa縑©SÍw♺ìü72©Ÿ“ßÈ4ÛÎ/p,ºúIrü72õÚùndR?MFÊœ+ÂÛO˜|&9µ£)"odR?-odZ Æ×íF&íeäLÚU㾑é+ÿàL UüúßÈt©°ØEj|ì™2 2ª óF¦Ë"D_¬Æë}ßk&Ñm}ß5>ò¨¥ ~ð¨ej|Ýn€Z.¬u<⦪ñßµÒÎ?pÔ*?ñ PÚ Vz ÝH¸ncµ°Ö“ï›ê‰ËH¨ßót¹Ö$ÔCVXËáûz“1ñ·éim„žÖ)ñ©ç#ø˜ôt´%|Öcˆôòåt®Œwƒ*ïšZåݘ@^Àߤâ¿ÏÖ¾„ïË}ƒøó%!B„—×Uù¿Úšÿ€ïj¬Ç@çKþ-ùÔË1¤„—ïµùS¯Š,ßЮH½Vªæ£šV'ÉŸÍ>_o‘Ç¥ˆÝà4yÆq¥ ¥ß¢êe¹Nk ½™ôtƒ*WßxíÍ6k>ƒ¾úv__Úô]õ9}YT¿°#!ÿ#ôºS×ûëWÂôºK•#0FÝ­ÆØè†…œÞaoW7 kġ­>ïµë9ÐÏ©W8Æ(±Â-vüWÆSO'Ëîéñ¯}*ŸÀ5kûÕxë5kûúrE8Ø|¬’Ï”ÜïéüxsØZ\ÌŸZ¹jsÆG7ŸÐQêÕ¡\UÆjrPå°^§ÆÓ´¦ [×5lIC.ï!ao7· k»1^Ëfk7‡…µÝæNލøúrüȫӎFäï65Þ«[³rÅ3;ÇF‡ }¹j¾ß ¤‰ÙíÂ^¹ïñ+÷‚~{¦2ìÔX÷à»ÍÁ‹ÿîTˆ¦öêLïR™>¤Çß-¬–&P"÷„hlzuË*µ…âyöÓ«3Fìä©Þ+’õˆ÷ kÐÇ[„µ†¾nϽOç~a¯©(ñ©]q{✰WÊc*ÝÝz|Ÿ¿GïWãoÒãó*ÿX=}X£XV(ºg&¹Á½ôÊmÌêk D'°‚¨x*&]ˆøÖ§ö6:$’µÁBM:è–v\ØZšÏ±} P®TFò?˜ÇÄà„Ê r2jXU«î¼í¸­ó‰™ÁiP§ä”üAú¢š^ŸìxÙ”›ÂKqòÜhðrFíi3­éeQ=S ™ž@ò(N£¬ÐÐï*OSÛp(~EÅ· _—Ù${5¦ìSAöÛsÃZò1»*¿“´lO {wpJœ;}Z ÀΨj{^HM¯MP¦WšfusºGÈõˆ¯Í½§WÄ)N[~TÄlÃN?aj2%Ћ)ÿÇä?ƒø[ÈYam!«ôò„Ê2ê{Îô¸-æIa¯¢O {Q?­Æ?¨Ç?£Æ{ªé-U*…cÃù]r®Èœ}Ý`Ðóå¶eê‹7©á­ÂV¢²Fpü·©øï³á3ùcM¥†…œÿÛEx±9¿–†L ZÒ;,ùfïõÏ¿ÚT‚ìTÒ‚}ÂëÊ÷°d6Ê pÏZ„Ó3ÆG§kSÆ;•øTÄü?e:½ÚT¨Qæ$nÈå{N•/ÖÕÝ:o•n›¿uTÈwÞmg-‚k¯_Û-馂×w{[EåVL«h»Lç®M‰¿UÔ¼¶…׃¸[E§  l ײÀ3¬q‰±‡p€ã×kSÐÃzä]{>+¡<³ê(¿ö\nýõ¯ïŒ%—_Ÿ:ë+—w…x‡|ö¶(wËgï ñ.Á·èú7ØÍþþUړɯï•ry[§ç ¾ÇпB|†x¹w…øE.†=ˆ¦+Ä/Áp†—jWˆg0\ŒáeRïJñ¥¬ŒÚ„º?ôŒVV€¿Œé€ÊªM++ö—tß®w“è WH~«ÆåÑ+þÍ“+1\-˜­@€÷W`x9†Y ×H:Ïu"Vý>ǯWMÒ†ëÉè­Åp½Ìßâ³!¡>6œ'}Ô“/лR¦{ÑßOçé¾n_õä›B‡ènÄðê„ò\=©zðëa=ù½«0¼Æ£A÷VÜÛÉÁÿ‚}¾_’Ö¿O¿¯¥ý[Õé‚$y}Wój‘ÿPùA®Í 󱹎ùˆQG_¾@ïZ ¯“ùKz­Òj›^-t¬×*yþ„­À¶`¸5aÁm­£½Îûœó‡ôopÓÉ…ð|=†µ,¬¨e ° Ã1܉án wa¸Û0܃áÍÞ‚á^©—»)?û˜¾éî)ýl™…¨÷…Â?ì‚ô܆töËgãuãõþNòNÓä]ˆòrùZQ¾ò9ñµâDýOµ¨÷µâµèã`"}øêÁ @Dwf4Ýqññ΢òõðééV axÃÃ.^z1áÁõñeŽ_Ïã(†·39ÂΘ";ÀëÀt‡oÿÖµaƇ*ïbdºH„Ÿ;¥’öòÊœ¤1Ü%Ÿâé;…:"¥‹:„zò8ÉÔ"ÔŒH¶»Y:¿„ ò‘¬àïõoxþ×ì¯!{—†'¿7§ðkôd™â3Qç¤A ¸÷ˆø+H¿×ã^W.¹žÀð~ Á¥‹j½q\‡c’Ïîs1è‘5Xl¡×'éíáô:„z´ñEH¯éÀÜÔ ¡ž £Óí—to¹doî8/ß¿ÂëÐEa­IkQð7®Ú{‹ž0ÁÊ•ÉjSµXòQ›[3 ß­©GO9(‚=e—0÷tÐÚÚ‰©·¼·óÛHAÛH—¦gþ³½\À=Ť9§ȯ’PÇ1Æð†E‰·ŒðF0•ï—Óû’ûœò|™²ˆÓÚüôeQ¿ÖV‹•¨HùßÏJørsëרV"…+,R¸ôä~Ã1ù~%½¯bx Ã3LíBí1{QŸzïH:}H>·Ÿc<(íÑyLœÏ$åvFԯ܀Þi Áða Obø˜ä¿Šø?ŠáÙxr{éÎÖQnïJÆ7üž0ð«µ|R¸è>.ùäãY ß+ÿþÎï¬cþ“è}’ù®œ¾)\õtŸK¨÷çê(ÒIÿé¤ ÐÊ ÍS´[`&ƒá:ô"Ìa0Ï 4\€‹CàR}\öË,ÀɦêJËèùr„Â_@ï³ Ö!¬GXÇ`ƒW1Ø„p5ƒkèy3ƒkà‹òõ ¶ lE¸^ƒ,°ÁŽØ¥Á„Ý v"ÐóM öZàû,°áÂA7#b@øô|+ÂA ŽDÀí ö Ü@ï{¼%C ´}0À€dD(DáQúá(1 ^£å >¢Á/8ð1‹>Žð‹Pü'½¦ç_b@ýÒ§|ž™Á¯Æ„_g° áó H&zþƒ/EÀW¾ÈàspZóo!PÜo3ø üƒß ÈàëßL_O/#¼ÂàÕð]žþ·5xáu/"|áû à{ þÜ¿@ ÚYèõþy þ6¦j0݇¤×£(W£tÊ©r17|8?€7n„_”b@n Ëtצ4¶¸ v÷¯Þ y‘ŠûÜ#ÜÏ"üC Úò÷œs'äó¼s~Z Ý‹Ì5îðµuŠó^Îÿ©žs8…¡WÙiÙ~È]¾_+îùâÉB¹TÉ« TÐÊ-4JF¦f#[\ƒæ)ØÖUÐkenˈ¼¦ ;LîÀÀ˜¤‡*Ð\!¼+Š ZLFøÇŽBüTŒ‡r J/¾£rÓ…z5Q¯ðï5ë@þ›X:øØÛ)¤Ct/ÆÇw[P(u 9X œa|·•É<åÅx·`{…}k«Pã#o°M©øæ“¡rü´•~ðøæ?ñññ­ÂÊïßt~STüÄ7B·©éõSK^Šâ¯÷¶Ïú>[¹“|Ó¬tôã»U:aùÞd¸÷ÑûÃ4™Š“¦Þ5šB>{[‰qòÕÛú) ¸¿•rŠŒÿ7zn•ñ/Ñ3-u™†¡ª¿Ôgí“ü^yxòMcù§cÖwšL¾þ¬|—txƒéà¿ÜÖp ·“Á,á/²èB˜Í€pè™ptú->Ôr·  ´¾š+æ«@_–§¾¤×³ãYáÿ†zté ˆ¡{péçš.[Óekºl¢é²ø5]6Cþš.[Óe8Ï.›6‘´'_Ì— }ãìot/32ÛišQ×MÀæEÔøì4¿æEÔ¢yuó"jѼˆZ4/¢>ƒeؼˆÚÏÇxËüí¢y5—k“h^D½Q4/¢ÖóùUѼˆšôÅíÍ¢yµmZJ›öj^D­¥×¦ÁšQGð)¬õ¯yµA>¿Ùv~Í‹¨‘Î<»œÍ‹¨‘Þ%VþÍ‹¨q~­yuó"jE^¿Ë…½4/¢–ô×Fèiß¼ˆÚ$/àoRñ›Q[èÛÊ÷Úˆüm¶æï'õ"jõ`Àߢê¡yñtÿ ùß¡×j|óâi¤·×®çæÅÓ†xÈ×>•Oóâiß¼xZÒ;ÏOËó¦uyLtoöz|‡ˆ_/;¦ÓKlÊ BóFiIç~a¯‚(ñÍ¥›7J'Õéù½Q:üǰIƾ@Ú¿ “ð‹*þ_8á£vþu¾ZžkÈñË ~£Ü¼ÒuÌ®§æåÏH·±/V¯üÇèÁ”ßÇíü.×ùÖúþz³³7ojÖúÕ¼©¹yS³hÞÔܼ©¹ySsø_"º]^ó¦fþLøµ¸÷ºr5oj&ºý’nó¦æIjSµXòQ›[3 ß­©GO9(‚=e—0÷tÐÚÚ‰©·¼·kÞÔÜΩÍ›šÉJT¤üÍ›š1<…á¦vѼ©¹ySsíåÓ¼©yÜ|›75‡¼OMðû¤|éòó†Ob+¯bè½yS³¢ßæMÍqò7]Ã|<‹a󦿿MÍi´2h³¿I®ÝüôçѼ©y¥hÞÔ|ƒ¶1Ø»Dó¦f€=¢yS3AI4oj~B4ojئÁ»,ð¼hÞÔLðјðѼ©ùKðѼ©ùѼ©™Ãóâ|ÜÔ,o©ñŸÓ›.„k¼LÀo“ƒŒ¹Û2z„ü³¤‹ ±pœ4Æ/w³óòÿåœ~ÿÒ8‘%¶  ÛœJP*WñiÚ`¾z£»&ZòÃý2éZ]ûm…7©»N…Úq8? ©¹(ëuRî3ËtmöÎü@ì¢ÇëOäœ^2€ó%´cu«ÓðÞÛ ÇH§Mßëf¬’9™˯Δó£Ã¹¾Bq0SÊgFse÷ó7üî+—Úk§÷•œÇÊh©Øï"—2nî3+ ™\yp  ¾*T2¸ez¡ OÕ܉|’Ë˯ã+]æ«Ve3™£'™ld¬RŒR1?Ept•wdèËg*c£ù²›6_Ñ”ÜW–ÊÓýu™Bµ’X96VäbæLi,ÓWîÏF¥“ùrùT¡šwIÉ<®Êâéü >oÃeÛüêüîÀß\Ýw/ |p—ö~ðœŸN¡c 5Äh,¼¹¼ÇÙï:^Óæ–±΃¹t´™“·øqÊǵᭌ°ßE.%¾£m˽Žê¹fü4¤#é§SquºÓLtþLF›4\fï*¦Æ¤áW ø=ü9=Ì1¤£#+¦²ts-:1Ñ0åó${wŠñcrúêÁR«xyŸ0мOËïÔš}7Kã]Äkå}nëv›±ÓÔ]3+Ÿý¶ vV<÷•FF:{l8ŸqZó‹ÑŸ¯Êù~eÍ4¼Ç{c=æé‚âû‡d ”ç.cåK[µ ?jPv•+Р¤Ç,+R×/«~kš1[Ó ™SX½TrðKèÏèzàæÆš_ŒœwÜæ‰vàꕾÅc°’JЭ¶jv.];Tɯ=V>‘/¯=¼¶¼æØXa¸­“ªœ+Ÿéë4½”N¯åtùÛså ÒœFËYrä´æ*ׯ¡·zÛRÌŸ"_àȆC9ßO^’VXøE˜ðûú5AÒ¥Qç_³Ô?q)§8}R©¬UˆïèI=qw¥4æäuw\ãò´žôÔ”þS|7»PÊ—n²ÿˆ“µ°ÚØeï¿ÿÆûïçž&©ä«x ãk ú ¤žùÙ‚ã=”:¶ýX±TÉ ß(« ÆÏʎ亽¾1½ìÈòÑ3£joÖiÉûJ}'òý»Á>pÉ:k—Ìa]ôä"<ë0Ú—;–&^î¢>=§S •=åÒØ(õ™Y§jìt³qÄóJ¼ê0«¯TtÔˆÂzv¡âX©¾¡½Î`¤š/sı';6ÚŸ«æ÷Ñ/sŠ<ÅüéB¥ZQuŽ8®”«4åu·¼s1W-•é>DtT³…Ê.× Î{²dÉÞ].ܘëÊ{1®ú‘ÂÑœcS1fžÇVóPRYr}ŽžH^iø¤L¶Ïɉ'Ò ,?§ ’ç{þ¹S¶ûUÃeqûÞÃGoÛ¾0öçªCWzš¼ÿþ£÷ßï¾Ú<¢há’¬“ɾ;i]½d¥Ö½îl¥š+öçÊý‡r}'rƒ^Äœì°_Í@í9¨”GpØ®ÅìCw¶?ïT‰2èÐÏÂ.h݇]‡Û#=²ñàp?o?íùaàÐïU©Ùje{yP©âP%s##¹ò‘3#Ž]ä­ó¥—îür~Ð)…|™%¶d ùhÙ‘K3ÛdµZö &³x]h¼Ñ¶W¤C¹Ê‘ .w;¾Fà5O•ƨÔûÞ[“DÃŽ¼ ½NW†J§Ž¸ÆÎ£àÔ9wJ,6yG»jUèÌæ*7º}‚Ò€¦UÔ±áLª¤¬¬geý¡[©Ï£Í¡êdi_¾8Xò»Y*ú©aô †¥âaô•FÏpž-²¥08¤¼a}êWÕÐ!Y d‹cÃÞà§ æ÷WYë…’•jWdÄV{èà‘½w’Â.‘ï h¤v¢ÙRtÕŽ­ÝkêH¨Íįn“;2v¬Oif½Ù±bÔJ¬}ÜÊ´N*ç×g¯! 8ýÅmŃc„Ò]λyaŽcÏ{¬ÔÆk1I‰Œ7Žz6ë~‘cÍKžÂpþP¹äØôj!_Ù^ìwª¥ªÓí#"éº)¹JE£9D[>Jµ@/;i¤¥–¢SC7ìr7íU<ÍIÙV“(ûh®Ss¡_ÜÞ¬À rƒ0Íé“vä*^×Ö9âä¸0:œW­Ü<,;§€ÊŽÇì¶xφº Y4®¡Y¿ûôL /½%á:×ÙÌÉBÁî%ÏBÕÈœlµœ+VœÂ=™TŸŽli_)×/•@o/FÕðžK³<=Ž…¦[ÕI{%Žˆg`Üœð&ÔîÔºráôÁQÇŒ+ Ãí(œ,{ ¯*jýŠ[jŽ­óø·dûoõŠÇ‹=XæŽuÐN5+WÍܘ>š÷:ÕYà“èvušS·Ô|وwEºÈ„ãnc€>²ÁK6ZÉõ—ܶ:Þ9¼ Wt#ïxUN“wª5“°7;œÏU¨—/€Rú|ÍyEv€Wx·<¿@mðJsðê7 ‡óÕ<Q5Ñ ¬!ÌéÈâ\•bæŠÇ Èw{‹»FF«gX¢nÇ­"¹Ž zÎÕ4´Ÿd¼g{ŽMPK.fIíûg»-ã@þ´ÛïñÚ¥Bº²Ø­í­@sðùËÂô áÔ#cà$œ¡ü*G6h>ðX%¿_©ÆÒ£?’¯ºõ˜µ‰ÁáÒ±Üðý÷{íÆé¯”ú/tcÖ¶Du{æe÷Ê 4®YèßöÈï¥+£ù¾BnøöB¹:æ9ËSÕú<›Y •m{¶T¼­8ìhÆïÙ°z2Tr'óGK!þÐ,§«)Ì«Úê<æÏýŽŸ[8É-~—ïÀ*&auV` ‰p,ypn¨¶¯Ëq%PQJuìszsÇ^‰Ûå+.¤ã*rc[ò­ŸÚÞ“(å¼R %ÆîRyw¿ç‹ôd½¯.ÖZ§*wªÅ3 [h¾ß~#é8FFŽò˜uã·Œ“ è…,k#I§^9ûŒ”‘Iᎂ†{ý>ÄyÚ ÉyïÔ¯7rJö`y¿‘l7DzÕ‡ [óÃ^ì‚ZÚ'ë#ŽŸ@¢ÎAsw[±¿D!{•õÌgädÑ«d†¸«2v¬R-TǪy9"õ¬-³Ðý‚IQãrÅÒÉ\Vs9~<ëªTŸF¶cÃdÃf’±Ãq¾¼ìÊY$}íö] ß@ŸÞM,}ðÚ …¹ËµFjÄ<Rb옌‚Rñ öç¡ðk»ç'¸CÄ\¿kaeBm¨ØŽuØÏg«ù‘QÍ'ïÈŽºÃ G8^˲0äñê“Sx;òÔãù²Qós¬b¼lիΕhP<Û±µÐG«Ý,%^©úþ™îé;n…c[Ñ !Ç›9}$oIY÷+-ÃíÉB+uŠjW`ÞÇé‘ûÉj8—Wîr$T*©–Çú˜{Ò›í/Tr#Ç ƒcÞ˜Üï7öƒ}Ü îµ»Þ“ªœpÌ©éª)ŸE¾'ôgHºBÕº—H¡¡u –"ÚGµtP®ç°(í·ê÷x>#={­¡âµE§LÙ´2ä8²Žጅ½bóœAµ…ôÊ!¥kõŽ.{–™Æ¤i+ )ûDg\æMžñ'6æ°Ñ~¾ÒW.Œ²²ÇìyFbJüµ2Ò‰~HNšfÒOx …tÔOCn/Ê~¡jÄgz¡ ›õLà1Õc’:Ac×éQÃÃDÖíà±ö‡ÉÀ,€gýžËŸ&$†ØVœ~u”{² ²7óGË…b5|.±Ç†ÚOS?Ü›šé5hêŠ Ü´CåüÉBiLm ]Ò•Ý[È—y_ßîò€!½Ê©Q£ÚCåˆë[êãSË´B¯ï9yEM çËÞÇ÷r´®gªã´îó]Öv×uf5'5¡þÓ@\5I³ÜVhÌ•3T!£mÿ3H)вòšÖQ¨ #®úw©:š°)ŽúÆcN6?\„Ou†QxÍrí¡o ÀàåÓê[AõÚ©Ã< :¤êu {gßøœhOV/ò–«ø%…ð&ÌÕ©QijV‡<Îl1–&÷ =3 ³7ŽEß…5>wب•.¶jÍ|ÍrÒõœiJ^u¼uœ£nÂkÙL9®W´0;tfhn¶_Ñ@¾²ë´ï†Ms2}´ä›¢Nît°ìûù³ÜÑTEVÈÊã’uÇ®lî¼=ëØÈ6wÜæv/ô¡=ªl>еwgá3®a–±3 S«~Ãö,ŠSJÖ ˜eÚ¯ŽÞ±ûñ*§g³×_ùhÈ<¹s*G•joº¼Ÿ9ºsðãfFM3‹j»êƒº5úžë×ðú<Û²SÏ´F<>_˜{ºÏEàLè+/ZPïëá ß÷*7|ÂM¼§œòèÞ8”+æw»fÒ›? ”ÐÜbþTx_ÙΰZس\º»íåA_ùiS›lžíeÐ_“F1Êx‚‘âÓj‘td¥5Ô,{¶4ÜÈé°¼âËÏè“è: Uò¹²çñïó3 PÕÚR'q§hs@8ÍR‘`Y>›;# Ãæ|Õ‘Æ>XÝXêÏ-•†}[7 ·ø“À`g¶,Ö¸ÝÆuš×Å™ <½ßvz~i•¶ï÷³KB~×àæËŒ}O¢Ÿ{7½¦™zÏs¬Æ®ÝNoOu€”© Õov½0ÏgÖòÒéÕ(\Kú¥¯0s|÷0ø¯s´äxÐdžµræôÜÕE7þ ëŸç†ªÅïØå’§!WµÞœ>×îÔlÁFVoäIŸÓ_î‰éc4pH´ÄG6 8Cº‰všú.´C£UêY»²ÇäèSžw±Q’£ko(1£PÁ™Bo¸;/+ÙŽw,YîÏW*þX—-tA½ô¹½f)»ò0nš?/À)¶¢[ý¤ë«~Îý°ŠÞîyDž7¡/ÀÀ/âÄÒ]ú¡B¿ädž-B˜^Ñ—|tôAõÑ'O¦Ê´+Õ:Ü7”sJ²šçK¤W¢Í+ùKa´¹'¸¢âJ/ü(ë"u˜;'Kl¾âM%x™t}y5K³²§Gûu±C.ÑZà w~y@wç ÇämÀ_ÕáΛ»š5ÛÙÙc0I`øŽÞáµ{Õo“ú”ÖP¥+&–gà{²î(Ôéôo÷¦Ÿˆ ë¾ü`rÊ鹜ޔ7½vï9½(Tv8™ôû ©yŲÌÉZ¼ç®l±T=â4DÇ7w̆7°ï¢Ù|w)š¿x=ͺÌÌ*úGepΜND.và×”rNŠea*Z/íòPöºk¸0#+õÌÆúÓáÈ:¢Ç) >)q™7q1 Õ¡~SVµ_ÎòÐü¥H·|³§NF{©äaâ…¬¼?lÚ^tZ~ŸcÃJeŸ ¬ÁØ€I†¹þì85ÅA?:`t[Aõ^Ý ®T€…l8œ‚»ôÕ/Ù±JþÈF½¤g»N1˜­“yœTT ÐÃ^úª·‡ýK ²ÞÃã°ÔÚGÏ`Ž8e“À¸ËHŒÌœø+"ÔæŒŸè¼zæš&®¥¾Ÿè71éÚyŸ¹ÕOŽ7ÛwBš•#î ÌëÂ\Žû'/WöA3¯¦â´†}¥>O÷“œ;W¨J0[w޼q(~]éóßt8CŒ~øÀ«ªÊqýîÇc—“‹·ã^|Q––BCæ“ä„×NeªÙsmÜÏÃÒËïׯžïÞW*÷çûGýQCGÖÄ÷–/¼ëÑ”~ÙÔá·Kߌ­Gä߼ªàrÒ~šœ9ªtÔÐ@çùr`à\ѾÌ3ã¼ ˜š<6ì'D3â™ h¬à‘»%QQ±¶¸‹ñÕ‚ê(Q–hpæyº« î߸ ÎAœ.G™K˜QrlMÙÅÔ,œ>Ú®¿ÀV5\,øµ{ç¥\ιXN8ž×CÈN¸¶ZýTÒgÔxë£)t6ïг 1)~?<„Þ¹ºÆÖŸñ"ë‚qÕÑ¡B…¾ûQµwç}ÛÂ**NKíMðŒO÷7z:s$„>]™ËÊIÀ½~Î\^Ê'¿;¡7Þ°?WT XÄY0S¯Ú„BÚ»G]04Íñü¸—}‰:“`ÎwÊ‚ÍVNÀܽÿ¡i8WsHíò?*ÏCW”­-9ªpÓ»Ý3d;‹i^ãzqp@ïågÁ(^šfßZhúÌLé¾ë8)µ]~ÌÑ|,û`ùFmeä¬ wø½j¨ù%;}/ Û\Uó[geÑáƒf»Á{é/ƒô‡«eSuÁ—j6Kä›pXË驎/öhsª•Ó%¨–çm~j–ô Ôø‚¬¾0%0,;yÉ—®¿Ûó¹kuØ~R´W{ý³ŽŽÔÒiƒéukŽ‚WÎ_c©8àHëe|ŠÛ|=‘”òÑpzVÿ¼èNQä_A:¡ÈÐÞY*ú>3ôÌNmÉk:c#4W¬9wIž6HQfƒd^á¦ãÇ;¿äz „ލŽrêΟû‡2Lp†{.ÏíýýGK¼©N÷{eêänTÆIsŒG‘ÊÂGí[B'I* ð– ŸôývÌ =«`‹Ì ðô:3Í­ý~¯<Ýwû(G…ÊþÂé‚ú‰O]ùÅz¯£Ð ÒEsJfç*º8j÷å$èõ|á†ìOÕöç~À†ëU”àdn/|iùŽ6_›öò\oÏ•“S+¸¿W´žÜ_À.D÷/ÁLê…¢7‚¤ºÐ—+*d¦ülª.›fc¯ÕñÕOúÌîܬfÐ6G”µ6-¹‚¯§ÎCQ?ûãþ³#ìäÏÎøþš?h•s+ê¼Yì›nž¯•ÑŒP›;;¸Ñ—Ò5IR_læmYpN-|5G7›èPfC:hJÊ´«ZQEwýZ¯[ëv½îíÁÅ·h½%ʸËõ\x±u 8c‰À,ú,˜£¥ý~Ó`[Ô¡h§70PÜŒlà³îìŒÀt÷Ë,¦u²4/à났º²ßJ ïxdJ½ž­¸ÀÆå‡`8IÒ‚Ëú â³ÎôFòû '<‘JÅíÕj®Ï÷ qNÜ1NòË•¾ `&¹£ù\Õ#S,¹Ò¼Lø³\Üè€I ¥7€e0¼×ú±^øôt°¼w ™¾€“ ô s(GCŠVq2G”´)»LæfÝU!3b—’o¢Íp¨“2Ýý%-½êLíô—`ôà°À'U{ö‹¹+[™ÜÖåŸCže¹œ£^¾@ýeü QîÜò' KÛq1£ìÚö™ðã1nÝP§¨ðH`pÖõ¦¿õ/ÑaÛíæ‡MðSýã=­jT`±ì}ëvcU“7ß)WéÑܤNZs¢u‹Ùœ7ÿÆ´:t‡N¿êGÎ1®’õüFmÝáÒ)e^n~Öm ¡ŽI&L=uÀÁ)bœ"+á7i%®[~`†I>mízB¬¿ÐÏ€Æu`ûþ]Gm¿q×ý÷g©gqtg°•ojãñ×™wfGO ¿à†¹ª7y~”odž“=Ï÷‡4^ȺWÝd¾œ½Ê’ uÀµ€¹ÆÙ±)}l-}q |º™˜5áU~*ôœ|ñ¨ëå¡Å Ê÷ä^§wÚ‹Çè¦yÊ­c%¶ÀËõ»õÕ' { ¨m¨Ï°€z–;‡¸_D쨘>tϦæÃvRx‡9¼çœX”¼†S–ã5¼ã¦Ò7è)Ó× ½¶þc®QRɬ³ŸÒ±¹81Ä<J¦äD_ö£^_çóÌΚÎ*!Íó7%Ví²[ñ2ëQcŸÌöœAJp§iæØyÜŒ|™É•óî5ZίŠ{N 'V™žÉ`•iæAhný™R93V”¿³™Ì^y¨OŸSx™œcÎTš£NqºÞà` 6›.O7“V¯Æ³‚äæzOÄS…áa8†¬Pìë—œÜÓ†ò•J:ñép’&sŸQ3W(frÖidNåÎdV泃ÙÕ™“…œ“ “>“¡ãªìô sFë itœþ’{†OÑ1·x|‰+6“Ç« åÊ#Žu®¸r•2•’Cq)¯>+Wy7ÄBrÕLyÌÑ^a$ïxÆêé¦zšÆJÁ¿[OГˆ Tq•U;ÞêNÑYO²wO±ßtæÎb<çñ=ƒqðî­¼¡¤µ0Æeo3î´”úyð!Ø©Nng@ÇõÕ@—µWNÊ¿ÓÎOÿv®Ÿh¥ð`ÎwÊÕtFÚ³L8ÓYgÆóÒ g¦½Ó@/2ãS]7<³X%¡ ´,Þ3GÏ!‰n ŸÐ›Ê¥MЃL-“äðgnÍ R‹oŒFiêMx£<¢iΤÝù•ýî5Õö®$}ðT×4ªÂà÷óÞYl¬*†tÉb}æ6™#·ëÃþwÐñá‹Ô÷Ê•ª×óó0º4Í¿[ÓÆ®G·Vàý!ø`8{M8®õºá_ý%­#küSWs¹:… Ü-mC*‡sjeë˜U].ÀFº•z…kèVxýøæLÆÁÙ×Î2—©¸]2ùÕ%‘úÓÑ} ýL7«†½îgºFë¶uÏÔ¨õ#r¸îÞÝ1¸—gÜ sX*~!”ŠÎØÎB—Ã}ø˜–ÉÁà<_F§,¼>hs•Ð5Â8|ä œûq£íŸåž#Õ÷ŽãC¼ó5td¦ŽõC–Žïç&¨c{–7å'ê,o2z?ËÞ=jàaëLéùç&¡ƒtÊá5ͤfÎà.íýyôªcéòˆF@ßm†i~1‰}›îmÈmø¡wØÜ]zÀ‡×=,þçÔw½,.Ð<ðý:Mƒµû¤mÂCY‡aV}¥qtݽg¾Bü O2éE_JR§üDMf¤~:³×]1—‘3îWØA&Ëóìÿ6(9="Ííãm#Þçèœå‡Jn$3 ”Ò¥èôÞ4Gþ~yÏ,†O_‹‘–:]2yY@¾jÐáû8Ù"gñå×òÕ컆Óûg§O—òõÓŠÿb:¡Ë!±ÅqŠ@¤26::\ŸM޾mWfå±3ÈÒñ/VM¡ÝõÀTê(Gb¸_)i*_ð3ÅâbþÔâU' ’êP®8]èT()9/þ½+µÌEÍMMTÉÙìPãTòµ¬’Ó>T¹MvVnqÛð) O1œµ¬/Óíl˜M7Ío¬pSB§á“Œ“ñq’JÓø¨]Lþ+ÁèÖ¤®G5u‘šj³Œ~FµÚ÷U¨%x©ƒR[‚ׇETãumÙÓîr~ãkįU¤ZÈw ×Ô`%Áûõ=[K"nAû#Ðw‹ß,¾ÎšÅ7¸í§¯ï!^)ÿ÷uV®ãÌ‘!’䛚ÈÌ[¯6Íý-KöþÄbxiÀð’©åø “ÿðísZ®ˆrÄü O7CO¢©—µ„w¯h æU­ƒ‡wßwÚÜ‹ÑwêÇ%Å,Ó‰n*ÓÊIIÔ¹™|ýÜù©«Q3±TsÆ¡­ÄËÛåš‘Ñ19׸9³"WY)ý–Õ‹—UÇæú5òò»Ð É ³SpCzAC¹Š?MëNÕ2+ xiã7­ôºV¸Èx¥ÝŠÌ©$\5}üYÇl>lÒbâšk4‘ãˆ[aÓ ÙÖKþjÃQ“—Óv|wœ]ì×Ù»÷éï8{C7 |¾Á+„æEÍ­›lûEy}-¢å_#âè@™â cöÚœßk&~jÅ LTilfðl† .L·ÃhA„oAêàÑÚ Ï6A”ái÷gûOà²D5±º¸5 Uúå×$ͻͱ©Á=¬³8õpkêã¯Ùœ£qŽ@΋YSg9ZvYϡà –2ÑþKC®þêœH¥Ñœ:Gê­Ìóüç÷ߢ5ù;xßã§›VÓa6ÿ^cúð÷üt/å‡4E½ ¥T¤š”ÿŠÃ/t½} 0½KOhôZÎ[eHïbéj(z*M·tÎs)§ob2$*×–Û›X&ob¹‚ᣌF/Ƨd™AºgÏ1|·ÅÅ?ëã1w¦]·w]þu²°3å!:­vHÄ/¬¿šv¤zf88wÊë´R°à­¥Ëˆ£z=žMÏÚ]ÔþÂÀ€ã¸‡ôSìÂ…¾Wꃄ”?«Óá7ÃÅíùÂtŽŠ;ÿÁþ:Ò©Ø&V`›˜‡u:Ê4«Ÿ׊qS0~6¾oÃ÷@o ”¾p‰‹‘þ1ä4·"uÖÀc!f+ƒô:QžÙ¢öΚ½/ñ÷{î©sÊhNN‘öNÂxS|Z÷ˆÎr‰Þ_¨ÜûCˆ·„$î<‰œ©Tó#û“·†$ŸÁ’³¤zÈIMQH‘ÍMÖ¦Dú²©iáÛVçý>z/moz?=KÍ·Å2)w+“ç¨]žôÍø<ƒÛt’«Khë/¨¼- é•ÅH Œc 5ø&j6Io4EÔ¿7ZtÒð^iŠô~ªí3" A§’äIéåºÜ¾á¦êÈð¾ÂàPõ®c–Þ.ˆÛ@ýI ×khi/ÈÞ¯M¶±Z¨½ßB¬çÔ BF½¤Y‚8Ð{õa}îö/mˆïÄxÈJ·=b+ã5ù€mÈ <¸nÇêÖ»G4tn=fêMnõÙû5½vŽ©ÿ©ó×ú¿Yî04 BúÌ1&††÷›µvv2;ÔÙé&¾Køf»Uø_—ÐöCÈlñ,I½`–;Q/ì_eI'+½9c%KÍ;d«yQþÉ©×PÞ[§=*Ï*ö•ŠÕ\¡8.A!Æ9¾‡#5@tœç#\#zZàTÄÚ…§ôaüRøÌý¨=IüœVQ?g5ÒÑýòmtŸF‡(ߦ#¸Õc‡¤£}˜iÙwÎâçÇã8ÜœFö‚ôræÊÖ JBõr2Â÷p‡æ¡æa-]Œ5Ÿ<ÀmC<g£ð=š…H{9¶†ë„?·ڿq;‘n7âv!ÿ•øø÷b:G ®t%â,Çñ¤¹ ß÷ ü½†ôð~âÍÃôsæ#þ*.Âw—0[èn‘·1Y†ñÝV¦»^¤ÁÓA~û˜ ÃøŽ§ƒ÷KQË1\¿—ay­ãú`ñkžÞšõ7º8–ióÒ†sƒ-±æææP4l¥Õ 41Pg/üm\a¹³i¹-Bpí³Òa=~š0Oд*Ù¾¡rvý>-A»šà>[±†jFÏ©žc`4]et·ðzº0(ó€ËâÌÈX¥êî¦ëçV®ß·*“+ö»;&l`>c"r–@XpA˜™"^Ínw'}àbÀ¬ñäFŸz4IØa•Лûòð;Uügx¼Óü;µ†ÿ0ð k q44ÍÑMg; é<¼™•|Õ½ÿd®¬æå`Ì–êw“¥b6ºP@ëpï*azX¾z_@sýýÅ׆…Ë•¾U+ü·åG¯ÇCYvYt_·&V\î‰$lâjµIÙ*C}ðþ‚ÞzTüéñ½ÂÖ3Jo+(Ÿ¹O¡0…tüp‰Ïf¸WòqP—®*!P¹ÍFH×%…Bƒ0— é:¡Î4L‘ÏsÏ1æ4Hj?+âü%˜°©ýC”±iLþ‚œEd2]ønáqC>Ú™ü¡J¢ŒÍ8ëàG< áÇ“Á©Ê…²Ï|“e‚Ó©©Ï|5¥“™’m“\™eÒ µ©Z£7Qõ4æÄqã¿ë#üîà‘m~t®ðç-W¢6È«¥D;âOCZ‡ŸÐ›Mü*Õ›MÑð­½HЛM5³´QŸ^úvz¶õA8^/‘Â|ÅŸ¥ó+H=géR˜o¾ÂBv’~ýj‰%ŸÌ'á×{î§éDÍýÐX`Z8$^‰y딺¹™òÚa—P9ŸM2Ç=8!§Vr áx®@a¼ÛÎ Ù§R½k¯Yò(Â)ô à3ĨŸ ~½ê'ñíj~fŽf2¨+oÁßð~ŠvñÔ á·¡É.Þ÷7d+ý½ëïÆ¼Ð_‹,5µÏò6µM¾ª-øwå°ùÙYÂ_2JÐPþg3 yaz&þÔ§Îa@éç2˜‡@Ï \Œ°ÍH]Ša@²Ðó¥ .A¸ a ’ž/c°,jY•¦|«oÛ_êÎ[f® £¦9àÖÃ}££<[Ýh6Ø µÿGÈ¿´’gœXŸ]—]¿aÍú³Øè4Ú’o8~]—Ý×ýˆ[9Üka4EÝvà–ï8 %˜1Ê®ç 8ü êÔÑÜïUf¯º³Çrý²>¢È¸+ù­¦ß܇ŸžJ{ÖéÀoÜxë¯äù0o-ŸSÉ=jJʲìxÚ÷HÍûg€F%×”ë¸;) µ@ wY(„[¼—ý6ž&qB°2º†âóUµ8Úç!ãÆCu\oh"®Þ„[0†Úež¾÷\³V‹f­Ž¬ÕÍmj‡¡nX w¹ Î|·oW«—ïÕ°’6šö]ƒ“p°öÈ:šú˜ˆ·L«S„ÿ¹¥mˆ7•áM7àÁ ìN!MkÈ?•áw²ßÐŽ®Ãlß…4€'_BÐü`0ö#Æÿ æwßí‰àyÒ>Šñ4x#‡sꇖ\Ìd˜‡ù„8¥e|·ŸÏb„å¨kc£Hs)ÒºXø“”d\ÆøB=Èôú¼CøöŽ—ÅÅŒÆ Ô%LÞ^#äRãržC™¯@9× ¬«‘ß»¿8ô78Eúkø/B]²±ÎO8p/Ò8Žï ë™n[° Þ‹Œ'ȼËkƒPë,•/¤ƒå#_ Iw•Pë0/³kµ2}AÙŒ|à÷4mAÜëQg¦él+ʱžéì–gHóßæv¤µC‹ÿWK¼^6¼ŽïD¹w9Íý$ÒØy½ iíAZ{™>nAœýˆ³q0~‡P·‡5¾½ˆGõt¾å¹Év+ҼѼÓßÎðîÂ<Üíä¡¢•ó=Î;(³{1ÍQùÎm—÷É÷)’êà[œw»1 ÀqùÎ-GÐgÉœƒ gX¾sË’tî´¿¤¡öÇå:æÄåX^ Þô¡|Ç„Zÿx}wzT)$]^øõÝ©)ðE»ñ÷)¡ÚÇõ˜ŸA,Ï‚ð¦Ÿ@†o+âÅ©G#¯ MÐ%Ô‘Q Á6-GýÍEš ÛG5Ùà=ô= ÿ8ìßÖñ'vÉSêßt~Ú*'}Ò·£øµ ?æ§ åàúïíåA€¶ ê¸.`›¿×& OWë*§–Ü𰆪®oJ½jÒ©®£°ÓÕ–3ÍRé¦ßŸmuLûPZéBAK©.#J-×)««„R·ÄU~‡Wþx5ÉùtÚsþ†žŸ.a.ô©t½¶œd,LÑ-EÓίâ–ål^' ^[rBïUãõ•-ßÖêØ1S a:0i†ö*Å-ˆ¹*¾¾‡æ ›˜Q!çCû¡ÂÔ9_ÿ)=~°Y)§I}Ðø•7&Ù.Ri[W3^Û—+Š‹¡ÜÉ|f¤TλLJgJÅ|f¬ˆ—¼ÒÚœ~ŽMAG(è5þ!õ¸nбµ…ÂZɪ:þ¥"I[Pe6éj‘•°/ψpëj¿L¥ßG>“œ‹ír|€%v9ÿ-¤Ìk–o©°×¹e"¼÷€øå"Ü ­À_—ˆ´e&1iª Nû¼1Ð «¥L1jå*o •Ó\oïJ ’‹g¥HVûµÅø¾ÎÏÄ÷ò„|¯Pñ?œ¤OË'.}.×ja¯uk„Í¢©¾Ik•µæ'õ-­Š_Ðãשñí½gãêa½U.÷è}ÿJŸÍ<—ª0#_ÁŒÙØ`Àg0\êË õ)•Oº?i ºF×ÝÍ—tükE|;&ÐÙ, (¼? ØÝ—Âè_g¥è—_Š[>×[ä6õ{[è ð·Šð~I×§MÎìrü‚mv9¿R>‰ä‹ ¹<Û-ò³÷QGÙ´„øˆÕ°z³C„·¿¤–èÝhɇ./àïTñ#ñïRñ?fׇy®EÃ,¾añþ·éYÈwsé¿!þ=§…²þ~/½osŸÓ÷Ó³\-Gí´Î–˜§p¾ž[…¿ÄœrÓÊoZ\šÂ11­wžsôÜ%åxƒž;eü1zî–ñ'虳E­Ù¿ójZ³ßËtF¼&c‰~—°ú§´®“ÖLÂó\ ç`¸@øëùÐ âæcˆŸÊ¼ÕÿXkŒ D/Áðb /•L«Ät!† /Ãp†K0\Œárç[¸O¹¨ß·p · Ã¥Ò7"ž¾NŽ t`³ Õòý‡éý^Žá WK¼á­µoÁY'ŸÛe3&f"·à¤Ð_ÞY÷9ÝGÏWÆ*~?ý•u,þº…@w½|¡çò¹HÏ›„¿v7…|“ºŸÜÿåtø{¦°;þ¤>EÏWcx†×Jy_¢øk0¼CÕÝ‹\)On§w6ÈuL®p:f÷0Œ8 0·ó `x2ˆ·Uøkb!/—!½ÅìÝR|·LøkÌV ¯eÂw|W"Þ*&Ë*ÔÏjÌ÷Ÿã{ óS0‡õ"÷büq|t²,ïë0WbÚ ˜ÿõ¨WèÔ_ÖòŸÅ´Waþ!ß×°|sú×"ýë0¼CZºÙ Ë (Ë6ÄÙŠ²À`ìO˜~ ŸÐQ\ËçÌgŠÑÞ‰´w#Í](Ó¤ k>¿‚¸{÷Ä…NêÍo Yo€ö>FûâÂðV  Y/Ž ƒHç%á­Ot×Är·ax;†wh4Ž °ö€P×X^Œz]€2SǾU¨õ¸]ÃÎõ-ÞEHŸ·C(gè,©^æPwN'›êa2nqÁ™Ï ìBmK€7ˆ2ÎÞZîÔUÈ¿€| L»„\Ÿ õlXøk.7 Í%Ô™Q ùšËKP— «ŽaxqË9øze]°¦þ!¦Ó(—c Ý5² ×#Èã1 ²Ý¿G‘Ï!¡Ú£³˜‡'1ÍSˆÿ„çÄy+â<-‚íéíˆûÄyÊù¬ð×>¿qß…8Ï¡lúúYÐ ´«w‹ñ¬Q:¾¶F5Ö—hž>mç7¤ókQñ &ùlüZ…•Ÿ¿[GNÇÊ•ýÛF‰†¶Lõ.]Æ6aûö¥æÉù»‚ËÌÞ?•mYkà´¶¬õN•ozÀÄ×V7Ôµ¯CnuC[Óêé¶'ë.Íõå–É ZRmk” §›Tr>gç´¨‹`ý]šD_ß­iRµIŽ‹ùµÓžߥ-—ª¥ê™Qe…Pè²J(©yQšÐÖÕêÍÑKdv2þs¢ø÷Øù>÷ªøs“òÓVËê ;¦ÚøÛë\{>ü…à£ZJm¬¶$#­ktjTµuµ3¥­«Õ–ð¥u¯Œ~æäúª…“ù…b¡8è_%Ħ*mñmHãKÍ6 ¦ó–Ʀ­¯õ2Ñ=’;‘ßÎ3bаE#¡ µ»Ík‹hi~n~ 76\Ÿê/µ¨^hîà/¶º©Z£nfìügèüµe¹.VãËU—(ñ©¬)¿6y—ªôß'½‰Ž¶¬öQ]ÎåÂ\U»²ÇdyïÏWsÞ|³¾ z<ñÖ§&yµõ·šÊÙPskæg[`æú‰àwͳ>Ìgr_m¡n­|{CÊa(Œ¯¶°7P¯Õ…¼éKõxmAí]!r×ê ÆÖ.lö…/ä…ç¬Uê3!òܦǵÂfO‚ËÈÖYå±×§Zô¡-ø ”ó•j|`Ì5þHˆ~ƵµccBò%¾ð|•šþ9M‡ÝÚó'lmÔRWcuÉo¼íšqCÎG[ (Cuéo°­jKzëÝV½¾bÚ@¡ˆ“àÖühK€½ô³ÊùÁ,Ñ( »òµõ¾5C)ºÁø÷x?=l3`¶÷¦ƒYMJT×/³&Ã¥¾F¯R=Œ2[Ɉ ŽM¼¶*¼ÒÚ¢&•ðÌ,]š¾3—þ Â^Á·©ñ}ښ䨊ü7a™çcÚ@¸ƒ =j¬<œØ]È»@æ¾’ qÒd5…¡óÄ·:‘|§ ó‘£\à}µ|vçI†©(CÈ_b“°Qøûº Ü즓ÓMð||öö«]—P×M`¹­b´Hg0×#ì÷<áT‚· ‡eîÒ®4ÆïE>0p‰V>|ÙŒaÉS`9OÊ/Æ9ÈïB]ô¨S.2•Á,­ Ò Zh‰×”×kŠ#…ÓƒŸ-"hÔ¼yÇ$•r‹AÀñô«[ ‚éó–IäÛZgù¶ø›æ¦¶×±àt}ðùOàuƒ'ç9áyG,ùÑŽ:êé¤F:é˜Â`jLg@öf2èd@>ÈØ-Ìð8Ð&¼n æY€o´[€@›í.¾1ï2¼Pg©ð×´¬´ßôFæôÍq‹…î2Áô¼–ÁúØÈ€òOÛ®¾ùmsØÛÐ&Ä (Ÿô|#}3’¾ñì&7‡ÇÙÏà`Bàù ÝM¦‘´©ðN¾íN´y•6‘ÝÏà^Ü\Fíðƒƒ~$ß46`ªKlã•·Ù‹héÂN #Œˆä¿âÀ)Nä9@ú8Ãà4ƒ‡<Öà‰ðt x[<Ëà¹xVƒ‹}HÒG(ã:å†óÕjþàÀ‘ê™á¼ms\µ¶}gý…Ò±ãõÝwØ ×ÈÂ6Ø&¹Ô‡Î‰èMrБc0øiÐ1·`üá¯ú[$¤± Ó&9pˆ ó… !¨ˆàÀ‚X`€¡!/ôyy7t […¿±ÎÄ»+ïNÆ»Cã=ŸF/ò]ŒyÃ~ þóÿ¹ yŸÿ%“ÿò;‹t2^†!è Œ8-¬ ²‡Èr ʲ$¦,+bȲ\¨—rpYÀ±ûº&Ëš^VÅ”%C–5L–Õš,ëøÇYH/ëbʲ1†,˜,Wj²\圩Ér¦—«bÊr] Y63Y®Õdq~§Ö†ÈBzÙS–í1dÙ&ÔË>x;v\wãЧ6©¹)ÿ=Œÿn¿ã»—LèüMv¤Wø)÷ çLsHHóVÄÛ*ÔM£‡…´×G…?ówót»¨}s[ò êÈáÙþJ6W.kñ] §¥œ;¥Eÿ‡áYˆà&m¢ë]ü´*æ]L.Æ4×9L²x´8ŽïiîžM+‡òåBµ‚Ih ýýØr1[jÒrºlËΔ\±R¸&B¯ô¬13FívÙà¹Cø{ûtU‡¿_š¨»ÞãNAð¬uLŽÚÇ+š®e v ‹¥Ž22SèS“_ÁzÖÝ …a— ž{…¿+Õªr`èêŒEÝUsf‚gŒ–‘N°ÊÇ)™®b"xó„¿ŸVÇ3Ø[ǘô’Ö°yQvÁàù"áo}ÕõmÀ²:‰‘LÝ5NVð<\TåÖY ]uDð O­ŽgÅ®:1±V’…çAÁv)øzøEò9áù rÚ!ímtS§ôrqÖ¸NW ôaüø¥C‘l?@FÔ?À;N¡µH3 }3#€ï!è@è¬:Dí-àÀ÷ÌE°í1ƒ¹  \0¨Wþ",bA ½ ´¿‚ã,dP/],FXÊ@—…ö]pœÅ hÿÀò`ÓÞ ’…ö#^8ß×Aë÷×Ô|ýÿZÜÓ¡ËBzá8k\‰°¡¸’iÉB‘^ÂöŽ\‹d Áµ ®GØÊ@—…ôÂq®gpƒP/GJ70ذ3ì`°aO °›Á^„[bÀ^íq÷¼ðý1Gì0Î wÒW9iǵ´]'xõ9ËŽ„–íîªÏÒüñÝ ƒ‚»MÀ‰ÙyÐÛŸ/Næaë@#÷!Ä.íXWô¼G¸®LúG¼ß\èŽÀ•¢•µð%¢ßÑjÙ6|žê$ùGÄ›†xÓ^;Ò›Áè;]z'âÏþÝøº3˜×Y‚tz„ºâþ:&äk«ð»Tè–ç³tsá_cù_é®Àtk˜‚i¶0\ÐýG™îy½â+õo@:Ûœ"û ê;êÿFÌ;tPg`U¶Ó¥¤¾Àè€ÜÐ%ü6êv'ʽeÙÃøS}å«À÷"ÞÍ9ofxû0ûQ7Pnè&þžáƒ<‡ø!Ã?Žïˆèæ„Z/ E8„· U8ð¹ÝÿÅäZÓ%­Ô‹HãNL{7†÷ »†£ŸT7âÞ‡8÷cø€ðWËç0Ý["øôc˜Gü>ä3àà®f²nAêöLz¡í ÄÛjá5‚ay #¯’ƒ»'„׃Â_‘ òªÄàuyŒ¡¼UãbyžÂ2ª¢nÎ`rûíìÛa¶oˆ ­XŽø#ßǾðL6”p¨NžÒ.<2=¦Ñäu™§{ u÷´CÿÓLfàùŒóî§Yx÷VçÝû…_ŸÊwnøŒPÛO=Êüíˆû,ê ®'‚zùÊôáO¼ˆºô¿)ÌöfËû»0ïŽKÿµðm§Ž÷n¡Ú|ë§P®÷¡ïEZŽnR¯ÉþÓ!²eåíŸ×êO¸\›˜\æúô³†²ÿ9CÙevlvšlÉüó!2TÊœžÍdžü^`åi¡¾~\H{ý‹ÂµÇé?cñÐ~?ἃ¾ˆÛëO ½OŠ`¿ô)#âñ?…øŸfåó+˜_Ãð3˜Ïb>~Ó|ŽñX…<>ïðدÉôyÄQíôo`øe¤ý%!Û"ôa`G¾èÐëGÀïŒÿ-!íñ±œ~+ý¡öO/²òú”áw ùü*†_Óòùû˜æ„_¿þÓ~Óü1†ßÂðO0| i|e€>a©ËX2~óö2æé'O¿"Ô~æ;¾&‚ýÌ«LÏPÏ œºñ÷g…zÙ Èãu'î%¦/noÞ¾½ùSÆïBÚž?Ã4d{€vðë3ðý£tþ ÿÖèÁ»b>þRxv) ñh—Ò?j_ÿ7˜îï0Ýß"Þ?iy¥Uh`+üé֤׭É;Ñ9¾m‹–Y%ÆÓ§Õô£µ[Ôø½&ytº¶üµZó¼NNÝû”ü:¹¶ˆüi;ƒ÷³¨;ƒÄˆ¯.‡úÑçš¼;LòšäÖ¶ÎÕùjËAÖÚùÚïàtµ=$zýû–.‡¶s#ñõ{v~/ëü:Õ|/´ÕG¿.;¿Wt~ꎃԫ&ùlüfÛù}Gç§}m_nÊŸ.¯¯ÿk:m5¿•?àÏáí'L>“œÚ’w]Îïê|Õ%ðê-k¯~¼ ¬Öý–VO¿WNmé¸.çëºêRòH9¾Už¶¥ßÎß«:m1ö}6yá¯K°5'Y<;Ý&Ð¥Ân`©ñwš6ÑÍ$Ȩ.øÔ‘B¥"ï·°‰~Y„è‹Õx½ï{-iß·D×oö{CÇ_ªà§¾§Ç/São±É—DÎåÂZÇr®Ö:öš)Ÿar=íX[ÿ÷uþ«T|ÝGˆäw¹°×ƒ+ÔøÀH«…µž|ßTO\FÂÿ¤m’kMB=d…µ¾¯7›žÖFèiŸz>‚¿ñºY ³Þžo}ÉÃat®Œwƒ*ïšZåݘ@^Àߤâ¿ÏÖ¾„ïË}ƒøÛv´p>WEäÿjkþ¾«±k,ù·äS/Çv^¾×Fäo³5ò 튮‹—¿¨A«“äÏfŸ¯·ÈãüºLÇߢêa¹¿5†žLz¹A•£o¼öe›5_Aß|»Š¯½TŸ‘ôbã¿#!ÿ#ôºS×ûçWÂôºK•#0&Ý­ÆØè†…œÞaoG7 kÿḟ­þîµë9ЯÝlѳilp‹ÿ•ñÔÓɲsz<äkŸÊçn=ßûÕø36y__®X,U3c•|FÞlŸ) dúà|ã̲J¦PÌó§V®Úœñßõ—ò• ¤ÉŸ®æ‹ý™êP®*c59¨r<מ´¦ KxDéÏ ïÏVÿk ¹¼‡„½ÝÜ*¬íæ;IÛÍaam7¹’#*þ\SþŽFäï6%>½Ø$‰îíÂ^ïñëñ‚þ±ÑáB_®šïÏT†ÊYÌä+›úª½S!šÚ«3½Keú·°•€òïQ•³Ä¦œ`!¤¶P<Ïlzuƈ¯ péîɺºû„µ« äþ-ÂZõ^·çÞ§s¿°WÁ”øÔ®¸]¬ºê9X©twëñ}jü=¾_¿IÏ«ücuáaM`Y¡x27\èw«~f T– ™s­9èVpBÅ@¤ËßlótƒÂÞ"‡D²W¨I§ÝÒŽ [KK/Õ îÂ&N¨ô"'‘†U-êN¨ÑHÛ:¡{~–éøE_Ÿ”xÙ$¿MŸ%;ÿ€>jçÿºI~ÿíüWèüË ¾~Ú…'¯»Fð+*þ»Møº|&9«v9WêrŽÙõô¤åtRØ-÷)5þ¸Z ‚Ψzz^HMßnÊ¿.w˜~9݇#äzD¿ÓT?tú:[û{TXËu•ŽÿX=˜òû¸ßå:¿³ÂZßWéõý •~Ô’éqëÿ“Â^ÿžör|ZPF‰O_a+Ý.ézÓë…©?,ޔ߷Šdíým*þûløLþX“a!çÿv^>z¿hkï°ä›½×?œjƒrê·Ò«mù‹² ϳylý=ç£ÓµåÿJ|*b²ÜžÏ(»7äò=§ÊëtŽŽg8æèÛô,份ôÜ"üãRìŽÔ)2K7Åî%o•ÏÞiÓä³wiU»Lç.䘅@~`øɼ„×N‡¿ç!ð§#nÚ¤kI.XãNªŽ_¯ý•@ë‘wÇæ¬„ò̪£<)ì7ÞÞ½å é¹3–\~}꬯\/Ýùü*=wËçWè¹KøÇ/¤Ðÿ‚çÙÂ?Ź2þ5Šï•ryw”ÏþnöN–Â3Ap±|ÿ:½§­ò …áZ¯%€x‰ð7,Cx©!!û ( cx™”á{Dr)+£6VF ó3ZYþ2¦*«6­¬Ø_Òûmß ¹–`¸BòóÞ/Çp•|ÿ}z¿ÃÕ‚Ù x†—c˜Åp¤ó<ÑY'bÕÙïsüzÕÙ$m¸ž|ÞZ ×Ëü­!>êcÃyÒG=ù½+eº÷ýMñôðÇ?z¨'ßú @w#†W'”çêIÕƒ_ëÉè]…á5.~z ©`c›èt¤ÒþåÍÊØ>IþÞUÇüYä?”D~ksÂ|l®c>bÔËW'‚/лÃëdþ’ž%²Ú¦W ûy‰äCØ l †[ÜÖ:*Ðë°Ï9Hÿ7\IÏ×cXËJ„ZœÿmÞˆáN wc¸ ÃÞ„á oÆð ÷J½ÜMùÙÇôM‡—ÐÜÅ(ÛBÔûB,“å¬<ÚÎ~ù|†tÍõ]ï/Ï$ï4MÞ…(/—¯å; ŸÝOIê×Q÷CiÄ4¤cù«Éà$ÑÇÁDúð;Òƒ€>ˆîÌhºãâCüP;NáÇ"ÐÓ­Âð†‡]<ùåžá‹zŒúø2ǯg‡qÃÛ™tÀQ˜àõi ¦¿C„·ëû0ãC•w12]$ÂÏRI{yeNÒî’ÏñôB…aº¤I !™ZP™ºlw³LáªxHVð÷ˆú7¼Nÿk ö×½KÓßqSø•w²Lñ™ŸOâ¦z†oñWf~-®Ç½®\r…žÅð±òïŸÀþÎ:æ?‰Þ'™ïʉà›Â•n@÷¹„z®Žr ôNÚ­ Ú,0•A»øÉ÷]5@ƒ^„9 æY`† v:ý¥ 2!°„Á2 ¬`@#T~²úrÓ)í„§Õé}–Á:„õël`°á*›DðTt:œžM§˜Ãe~ù„­"xR9?­ÜÛì]¬AØÍ`'=ßÄ`¯ø ãû,°áÂA7#b@øô|+ÂA ŽDÀí èõ;èý]p/ƒ·$€c”¶/¬ƒ… Æ`1ÂÇ~QŠÿ²×ôüK ¨_úƒO"Ðó/3øÕ˜ðë V!|žÉDÏ_`ð¥ø Â|Ž3þ-Šûm¿cßcðû1á|á› áë àe„W¼š¾‹ÀÓÿ¶/ ¼ÎàE„ï!|?|ÁŸ;ðDû/k½Þ?¯Á߆ÀT ¦û0žÛHâððhOÏnÞ4wl¾e¨À‰{ï9ÄîÒk“©RÿÇv5ÉÌÊh®\Éßžï«–Ê¢¦ë;ÚöçªåÂi_ ã¹?„„\QÒ¨‚NÌU%]òr’ù—Z©W¦Ô'ωèkJ` ÿ²K’r§ 7ùšX4”þqç)8–7é1É?§>‹Ö³ìoø¿Sÿ–§6Æ¿íTlóø¦þƒ½;Ì~w`ü¿Së!ÐÒÿ» ÏÀÏ@[æAK3Ó ãÿõߥþK yÿ1<óyM³œþéš\Ãì÷ç÷ã€ìþûišä>gæ™ìýÞ0]Ⱥ‡+˹~h ÁˆÇ }'ìš?Î8§P2oF’KöˆÈja/–tšnQ‹%ÝzNf~O‰WDT•Üb^|'îRù¦ÛBª¦†gªš¡òZ»”íŽ'X5qZH`nÒút°ù„ë–fÓo6}Ñlú¢q›~ ›6Ì| !IfÌS¢þ+1:4:- ZíP/ôz‡Í¿nÛ_êÎ׿°¶î`¿ºÑl0:}§¡cº@üi“ìé»Y¾íÀ-Þq@Fß­G ùþžs"}ï¹èþ—Ä*³w¦ßúgy'î£ö¾×ýý>›EŸ‘/ž,”KÅ‘|±ê“(k¶ýQSÒ©£¥B±š/»QC7w§ÏÅL>c4×w"7˜?ÉKw'%1}Äm|>…»,x‡÷Sì÷^ö›.—¹Uï:„ÿÅY¨tMÝú³þ;Ù°w·êEöc?ñ®b³V7kõù¨ÕM/ÈÅÿÿlÞÎ ØýY.æ†G«åú¸µx%Í ¥yáqóÂcѼðèlÍ Šæ…Ça¼FDóÂc¡:yV4/<~uéa…€ÉÞ¬Í )ý‡QfÇf7/<Í ¿%šíѼðØ6·ÃÓ§ÕôÍ µøij|óÂc –Šß¼ðXK?Ûίyá1Ò™g—³yá1Ò»ÄÊ¿yá1ί5/•OóÂcß¼ðXÒk^xܼðØÖ¸t÷Šd]Ý}ÂÚÕ6/<ÖâûÕøæ…džtƒÂÞ"‡D²W¨I§Í ƒ|lЈ=?Í 5ü²‚ß¼ð˜âO©ñÍ ž­ý=*¬åÚ¼ðé>)ìõï)a/Ç§Õøæ…Çò¹yá1Ó)_ÏZä±õ÷œN×–ÿæ…ÇÍ ›7/<~S4/<¦²jÓÊŠý%½2 y᱕oóÂã0}Ô“/лR¦k^xŒt7bxuBy®žT=4/<®%ù›Çà ô®Å°yáq ô:ìæ…Ç®þ£l Qï ±L–³òhC:ûåsóÂc}¦ÀDÝ„—Dé£yáqóÂãæ…Çî_‡h^xŒ ÑØ»4¼æ…Çü™ðkq=îuåj^xLtû%Ýæ…ǓԦj±ä¢6·f@4¾[SžrP{Ê.aîé ´µSo7$xo×¼ð¸œS𓕍Hù›cx Ã3Lí¢yáqóÂãÚ˧yáñ¸ù6/<yŸšà÷IùÒåç) ŸÄV^ÅÐ{óÂcE¿Í ãäoº†ùxÃæ…ÇÍ ÓheÐf~![»f2èÍ WŠæ…Ç7X`ƒ!°K4/<Ø#š”DóÂã'DóÂc€m¼ËÏ‹æ…Ç Í ¿_Í _Í 9€ø‡0¼ÃÃBÖ‹#Hç ÒyIxǘ»GŽs·ax;†wh4Ž ÞçáÏN.F½.@™a¬v7ê×ãv ï>!Çgï"¤ÏÛ!”3ŒË¨^æPwýŽª{˜ €›GÜK„ý΀PÛà ¢Œs1­£“ÔUÈ¿€| L»„ü– õlùŽ8¸›PP ÎŒbø ò,¡  Ë †U Ç„z­GÙ Ù “>àÛßCL§Q.Ǧ¢\ Ç0„ñØRä÷(ò9$T{tóð$¦y ñŸ0à<ƒ8oEœ§E°=½qß8oC9ŸuxŸDÜw"î»ç9”í”Pž—;ü䘆}wIxô|ðhö”ŠŸøhö´ßίEÅO|Ôx«°ñKG=—ߦƗlò;WpùØûǣ䞪ò œd0M×Oœ0ž¿c«í õ¤UŸÔãÕ£ê#õd=áÁ¦§™V¹EU—k–Šÿa ?ä;_:²žuXä×CàZΖúR5½¾Öü§í©Ë*O \æEå»ÛÊ_ÌÑùÏNÆNÿ;ÿÀ1¼½*þܤüæ¨éõ“˜¦ÚøÛÚß\k>ÒžŠŸ­ÜI.[¾æ »½Y ÆŸ°É]²ÌÉõU 'ó; ÅþBqp÷X±OŽo‚Ød;ƒßŸšmLç#, J=»?}Ü^ÀŒ‡Ò½$BÁ Ç¡à¹ýòþÉñiøR‹†…ÖÕþ"a«‚jÓ1ª`ÆÎ†Îÿ².Vã‡ý,QâSYS~mò.Ué¿7Nze*Gu9—+ñé6½ôuã«6yLr­°È%Â[BÍüVŠX]è]¦Çž{ÌúP]SÎwU}øö†”ÃPßd7¤/ÕãW[䫃‹ú[ý·Ù‘5,ž³V=\ Ï„Èsk˜× ›ÝžÄ¿Î*½>Õ¢õÂ^ÎWªñ›&6¨ñGBô#—¹á_ÿ‹+ãÆ„:Ü$Ô2¾JMÿœ¦Ãníù¶6j©«wþj•o¬›Ð↜Ï5Â^†× {[Uo%¨w[MGõUêmé‘(½^¯Êõ O‹Ô¿¿ÿ0ðk|…åW·ÿÏ–Ûók{o:hÕ¤¯-ª¾ôƒ½´Ã *ùáƒBM„·& <3[ÆÏ;óqéß ìu›Bß.UÈ¿ 3F<ÓÂRà¹Cáï´¸°xÚð¦üh ^JÔõÄogÒñNIk‰%—Ÿ¾¥¾r Ý4†mN‘ñîÜT ç<ÞþþŽiN•ñƒ?ÝÓÞÓésì/ñÚâvIÿÃ$ǬXzõó5«¾z­Ý™B­Wò9áI,r.(í­ùUÛ|—&W[ö4±bá`=£Å§ÆóM/EÚ«CΖ:˜Cï»å³w"]¯|ötÒ#Ÿ§Òó åwÉ´×VðûÐ z¦5že\àøõ*c]ç¡óÀ˜Žà“›§Ò%µðÓšaõFOFҧóŠÔ˜.…ó ÇűçÈÅuT\’›\¾~£­'_ ·0a¾Ö‘—ˆ;?œ/Áp†—º)å||Ù‰ayP`9LÊ/Æ9Ÿ—Âô45C¶ØŸR‘é¨ fiefÐÊ@ûKºÔºžÇ#x lA£æÍ+&©”[ ާ3ÝjLŸ—L"ßÖ:Ë·ÍÀß4÷´½Ž§ëƒÏo¯Ü8/ðŽX:ò;¢uÔÒI=ŒtÒ!0…¾/Á°?ÁË›!Ô}¿ ¨Ã»ô„í×íÖÀ¶ß÷" .A¸4.apÂK…¿þ“`¥øž^Úc´ZƒÅkÐÞ^z^Ë`}ld@ù7ííå°‰Áæ°5¶3 }Ñ;P>éùFú¾>ÚWÈ÷ôÞg?ƒƒ çƒt{4!èå@ûÎïD¸‡Á Úhïíý ø~ÞµÃc r ú y º4È`h×àíÓaPŠ€r8…Àéƒ<´O—ôq†Áia{qÃ@ß¿ûD x:¼-žeð\<«;ß Iáধž³í+ ÷7Ü.¬Àv±†”²ÁöŠ¥¾yNDï; ä^1¨ЯÓùo0Q“Fà³@ÒŠ¿Áo€þüš6áû^³…º7cù iºSÔBú€7ùÂd)ø8Áéât2Z@úÞ¤µi¯@¾s1?­Â?G„ö¡Á癄nÈr–O{›P÷S@ZðïÀ_¸uòÇwÀëR&FøƒßË„º§ â—bzò-–!Î –¿U,?¤«Ëï &ÐÛ þÃÂßcuT÷’qüuBîséE|ЮÇtë0Ý•Lž¨ï«˜<›ïjăøkñÝfÆs3ê±BýmAý]ø[þVVVÐÓì`¸PN¿,Ô=9;Epÿôà8¾Dj+Ò¿åÁðï¢Îö <{‘ÇÍ"Xoofy߇xûÿƒÂß[ü!Îa–·Ã,o°ì¿`ÚÛ1íXF°/l‘û®€Ö˜çÿªåùLw†oAü{‘‡ã;¤.~›áùàmæ&—ãG¤º0n?–ÕÍÈúÛ%,-øˆ·UxûðRäÓœƒ(_åþºwÀߢågÃÄ?²9å–Ú€¸%ÄyÃ2⎆Ð&…è¸*ü1ì×§1èî$æ7Ëêø" '°•0¡te|ÈáYÄtc˜AÛ÷(þÖé>"‚{@GÙŸÀðI”ù¬–×*â?-Ô=gÏ¿’~»H´?,°žHJ}]O«éí‹· åãü«ì3®ŸBDâé[Õô‘{Ý´½`‰÷ºµYù©·Ü¾¶ç+ñ^7mO˜ž¿¿Ðù©{¾R¢Ç«{¼"oéý«°²íÌKËÙ€^š5/Úþ±@½Óö}ÝiÊ«‰î,^‡ ¾CÕÉ &›èv kY¿¤óéRñõÍ¡=ËûlrtÛåø¶.Çl?ÖZž¾ÇÎïe_¯‚/oèÔå³ñÓö_éü^ÑùÍUðåÍ›º|6~Ú>+ßwt~ê>ªÔr›þI^mß•Îÿ5¿ºMÊÎðÕíNê&™0ùLrjÛ›t9¿«ó]¨âÏÕã/‰lÏ×âʹÈ.ç뺙dr|5ª›@K„ÝÐ.VCûj˜¡Õv5Y3ª În޵‰¾\e¡ïÅ|CÏŠº¡IÞ<ËãÕ…©[Lm-L›eÛ`$ð"<ޝm ÒËü5S>mzR7ø_ç¯m,ÒýžH~kìüþTç—Uðåº|6~k…½ ¯¶*,å1Ñ]¯¦»[§{¥ÆV¥ï+µ*ý™\ypl$_¬fª¥Œ?´r•{ßÊ‘ xÓÊÈX¥šÊÌgrø¦ß›ì¹Žßާ‰´Aéᘪ|„Þ»û#Î ï/Lå#T¾I?a«òäé|lMêªþÚ¾ ;õxu?êúå«Í…U÷…îX7ï$MEÛ‡¹ÏKÝ7”ú¯îJ}9¢œC&›¼[„½œ·Š$õÌÜ[ÙêÙ õµ­Žúàt· »)Ú!⛢þ€)r­ ^³™/T‡òåŒóÏ·F%ùŒîC¿ãZdFsåêuî%ÕòXž_¥Éw£˜8»G;…½íRã{0w«ñ{MÃ/üuÈ& 8¶º·GXë^`èq“Šÿ1=~¯‡­.†åMº7Ûå ´‘[Tü4|ýÙÈß$Ç>…‘yë§C§¨h]’¿É_¡¯=Ç­UÊ–ªÛS?I¶„Mu=¶þ[DWN Ê> žÛ…¿Å«K„÷E)œ²\Ú&6SøÛ¾RX®o¢ßノ4iÍšŸé@|§|w=Ï–ñߦçnù¼ž{céÒOß[_]z×uöÈgï¢ï¹òùz¦-OóåûïÐûyÂß9¡<ÊKºýð¼@Êåm­Z(”}ߥ÷´¯##ß¿Nï _…^¦Þ1Ån(¿Lø( \bHȆl€²Lòü‘àkàÛ„º6ñŒV6€¿’å™Ê¦M+ö—tmþ$×rá¯iNaÿ Ï«_ûìß}…|ö®=ËŠXuíû¿ŽuíO‰nÈlïŽïõLÎé"ùݾWÊgãݾ8´©eÍùœøšï u,¢Sïm4Dwz4ÝšèÓê>rµRè‚¥Ø̘Ëêßàø“·¼Ýï6êÉèmþ²q¯þV¯u餧Mß ‘ϵ ïÒþÅ=¶Ð¶îïC;…C<È_¯› j6“q½¤÷å˜íЫ/×ױܒ¬º­'߉n§ ïfᯨN¢ß­“ª_ß‹¨'_ ·Eøõ ž·%ÔöIÕƒ_ÏêÉèÝ üîãéâwˆð.~²¦ jéïoµõ÷7Ö±.Ôþ>…S ˜âð†¹Œ ÄíÂp§Œû¥¹ ýî‘ñÞP†ú1ÊDÁŸÄ6ù‰à ôn–ô½ ûâÉó,ǯsÝLF:i ZZ…¿-Œ€V°LÕÞ´[`ƒY!ÐÅ`6BÂlÌe@»EÀ>Ìgp‘kñóYZ¾d!=/bp™–ˆè›áÂv‡è0ž"„¿Žá¯êÍpЫ„z#À5 ®þÍo´#äz¼ Žžo`°a›PwWìêNí„í ¹Iƒ+ö2 #ô÷¶· …À‡Ž ¹’“àŽ˜p›÷FÀý ˆ0“sŒÁ~„>„|Þ1 †B€vƒŒ'" È`4*„_ z}8eÚ)B»Gbð£x$ñnwx ø>׿C ·¥>aÛùѶ?W-N×¶£BIOÄFÛóñÉs1ö|€G½òf¡zÞàqƒ—½.y ´Æ &uÁ3€õêà\*üµòNGœ("ÐÅY6eïÇ]˜èƒ÷¹ ùÃÄ?ôÊÝ(ÐØ‚xžôÀ‹‘ö1Ì àmE<ý*¡îåÀ‘©¾¶/áÝÁ[)ß¼v”ã§…ý£d‹\oUùýçÇñÔuÌ©OétÚ”xñ=^]—œú´‰ÚlÓΠ+˜d´­]¶¬¿ÓÎÌKýr˜´µÎ¿¢ç1b­³•OTþDàã¢?âÁ]žç/ÿ€(ËžåCYvð,?(ʲ€g(£.^obþÞD¹R¨ƒ7Q7úèÄ´‡~º¨ßz 7MÊ‘ð\D©û4;0ªéÖBÇ>;ÊtF›ò¾ó®¤Zè{çM#§Ð>z!ñ¥íÑ÷kÓˆ©7¯CƒŽÝ—߇ö汓 w3Òy»Ðsþ³y~âbþtUzq]ÂóQP Á’jÙ~à®Fpb<ÂÞþ|¹p2.!îˆ%W×[#ß#\K”þ‘0ëdò ÁJ‘—E^^>;–0ýBÝQ9]wÏ`ôÀÂèÀß3|ç?døÇ…¿‹wÖŠj½<Œy>*üÛ)!ïGÏíü/&?К.i¥^DwbÚ»1¼iÜ…4ý¸;z÷>ĹĬ¿P÷s˜î-|ú1Ì#~òppW3Y· H u{‰ðwÞÈïâmµðÁ°ˆ¼†‘WÉÁÝÂëAá.¯A^•¼N"1”· ®(–ç),£*êæ –!·oÐÞȾfûF»ƒ¹­XŽø#ßǾðL6”p¨NžÒ.<2=¦Ñäu™§{ u÷4 ™ÌÀóçÝO³4ðî­Î»÷ ¿>•ïÜð¡¶Ÿz”ùÛ÷YÔܘ õò9”éÂ弈ºô¿)ÌöfËû»0ïŽKÿµðm§Ž÷n<ñá§P®÷¡ïEZŽnR¯ÉþÓ!²eåíŸ×êO¸\›˜\æúô³†²ÿ9CÙevlvšlÉüó!2TÊœžÍdžü^`åi¡¾~\H{ý‹ÂµÇé?cñÐ~?ἃ¾ˆÛëO ½OŠ`¿ô)#âñ?…øŸfåó+˜_Ãð3˜Ïb>~Ó|ŽñX…<>ïðدÉôyÄQíôo`øe¤ý%!Û"ôa`G¾èÐëGÀïŒÿ-!íñ±œ~+ý¡öO/²òú”áw ùü*†_Óòùû˜æ„_¿þÓ~Óü1†ßÂðO0| i|e€>a©ËX2~óö2æé'O¿"Ô~æ;¾&‚ýÌ«LÏPÏ œºñ÷g…:ó÷òx݉{‰é‹Û›7„ooþ”ñû¶çÏ0 Ù Ý#üú |Àh¿Âð¯5zð¿ž]JC<Ú¥ô…Ú×ÿ ¦û;L÷·ˆ÷OZ^Ýu|Bú ã˜å ìVg9“ïO8ë©oµPvˆfùkµæoÂO}äO;å!p-¡6:¢Ç«3™B¿Ah@“w‡m¦Ò28A=‘!µÖÎ×~õ§«äyJÆ,?ñ)v~ :Õ|'>± ËÎ/pbA·Ê/ñ‰³íüÛ†zT~ã>± ×Î?pbÁœü®o?aò™äŒ8Ù!pbz²CðÄ‚j|ÝN,POtˆ>±@;ÑaÜ'ØOvžX°Půÿ‰— »]¤ÆÇ>± “ £ºà1O,¸,BôÅj¼Þ÷½fÝÖ÷-Qã#OHXªàOHX¦Æ×í„„åÂZÇ#Nrÿ êÉÑ'$¬RñŸ ðqõkp;ªvBƒ^O¾oª'.#A_Ír­I¨‡¬°–Ã÷õ&câoÓÓÚ=­SâSÏGð0é謷ç[ÿùF+#äÝ Ê»¦Vy7&ð7©øï³µ/áûrß þ4– ¿°òº*"ÿê± zþ¾«±õø†ÐÕz>õr i'áå{mDþÔã"Ë7´+R]¨y5Äê$ù³Ùgõ˜½¾¥/Óñ·¨zX®Ço¡'“^nPåè¯}ÙfÍWÐ7ß®âkc/Õg$½ØøïHÈÿƽîTãõþù•0½îRåŒIw«ñ#6ºa!§§mhGÚQzÿḟ­þîµë9Я©GÆ$±Á-vüWÆSO'ËÎéñ/õH…à±#ûÕxë±#ûúrEØö3VÉgJî÷s¾ù'S(fŠùS+WmÎøïh'0m4ªåª2V“ã€*‡õxžî 5]è\¸Ž%Iry {»¹UXÛñ˜[»9,¬í&0WrDÅŸkãoÊßшüݦħ›ä1ѽ]Øëñ"~=^Ð?6:\èËUóý™Ê°S9Ýec›ƒgÞÜ©MíÕ™Þ¥2}H¿[XJ@ù÷¨ÊÑQ3NùÊJm¡xžÙôêŒ;ù‰a÷Šd]Ý}ÂÚÕrÿa­z¯ÛsïÓ¹_Ø«àJ|jWÜ.6'ìUð˜Jw·ß§ÆïÑãûÕø›ôø¼Ê?VÖ–Š'sÃ…~·ê»§;¸ ™s­9èVpBÅ@¤ËßlótƒÂÞ"‡D²W¨I§ÝÒŽ [KK/Õ îÂ&N¨ô"'‘†U-êN¨ÑHÛ:¡{~–éøE_Ÿ”xÙ$¿MŸ%;ÿ€>jçÿºI~ÿíüWèüË ¾~œ¦'¯»Fð+*þ»Møº|&9«v9WêrŽÙõô¤åtRØ-÷)5>°â´Qõô¼ÿš¾Ý”]î0ýrºGÈõˆ§©~èôu>¶ö÷¨°–ë*ÿ±z0å÷q;¿Ëu~g…µ¾¯Òëû*ý¨$ÓãÖÿ'…½þ=%ìåø´ÿ ÿŒŸ¾ÂVº]Òõ¦× S X¼)¿oÉÚûÛTü÷Ùð™ü±&!ÃBÎ_»êb–ÆOémíá–|³÷ú‡SmPNýVzµ-QöäyÖ"­¿ç|tº¶ü¿S‰OEL–Ûóeâ†\¾çTùb©ÓÑñRìüAܲå(ä;ï Á·Yég@Jº©àYÞ=Är[”ðî†m—éÜ…´5ˆüÀð’y!¯œÏCÚZFÛÇR¸ðžaAHŒ€8~=ÙÀzä¡9+¡<³ê(?Cs¦|öΣìŒ%—_Ÿ:ë+—we‡|ödê–ÏÞy”]B9·Ò;e¶PÏ«œ+ã½ó({¥\Þy”ó?§Ò?’εÄó,½ó(éœË…"æy”t°å"á|©'ÔΣÌÿÌK/“2xçS.eeÔÆÊt~F++À_Æt@eÕ¦•û«ù|Ê%Â??“^µ\øçTòCV ÿÜJÏV Àû+„Þ%„Y៙BŸž×‰d‡)­õ«³IÚp=ù½µÂ?/3…¦àyCB}l8Oú¨'_ w¥L÷>¢¿)žÎÓá¾êÉ7…>(ÐÝ(üÓÈsõ¤êÁ¯‡õä ô®þ!˜)‘^Cc*ØÁÆ&ú]ã©´¥2¶O’¿wÕ1ù%‘äÚœ0›ë˜õòÕ‰à ô®þá¡5lí_mÓ«…Žuk¿çCØ l‹Htš¦Wp[ë¨@¯Ã>çü ÿtÇ®$€çë…ÚcÒ•µ8ÿÛ„Z"„;…Z „»„z$„t"àោá-Â?)0Ŧæ'ãÑùa§V.Ä2YÎÊ£ éì—ÏÆÓ+ëýå™äMrJåùœø”Ê¢ñO©¬EéÃïH^ú º3£éŽ‹OØiÝ §[1<„á »xòË9<ÃõõñeŽ_Ïã(†·39j9½öÞþ­_ìÃŒUÞÅÈt‘7>wJ%íå•9Ic¸K>?ÄÓw u:„é:&)„djAeê²ÝÍ 0…«àý="YÁß#êßð:5:ü¯%Ø_C4ö. O~ÇMáWÞÉ2Ägz|>‰›ê}¾EÄ_™Aøµ¸÷ºrÉðü†÷c.]Tëã:“|vŸ‹A¬Áb ½>Io§×ô.BÜ‹^/Òù¨B=4E§Û/éÞ$[²?_œ—ï_áõ­õKa­IkQð7®Ú{eˆž0ÁŠÉjSµXòQ›[3 ß­©GO9(‚=e—0÷tÐÚÚ‰©·¼·óÛHAÛH—¦gþ³½\À=Ť9§È/‘PÇ1Æð†E‰·ŒðF0•ï—Óû’ûìßÂTqZ›Ÿ¾,ê×Új±)ÿ»ãY _nnýÕJ¤pÅD W€Üb8&߯¤÷U Oax†é£]¨=f/êSïI§ÉçösŒå±=:‰ó™¤ÜΈú•Ð;á#>ŒáI “üWÿG1<On/ÝÙ:Êç€Ñ' üj-Ÿ®xºK>ÒóÓ2þ z~&¡^ž™@½ØêÑ$ó½ü<ñ]1|ÃVVŸ°2¦÷© ~Ÿ”/ýQ~žÂðI aåU ½{vùmâüÔïzòzoÅðí¾ÃM'W,ÁW«çE]W2áÇu%SŒü{þÎóuÌ å´äïP=ò7]Ã|<‹á;cåß?üúu̽O2ß•Á—_7ô\B½?WG9NúGH'm€Vmàh·[`&ƒa?Û z…“0Á< ,Ðp.KdB`‰ˆ¾bˆŽP# êJËè™_=DøW0 üÕô>Ë`Âz¡^1°ÁF„«D𪡫\ƒ@Ï›\+ü+ˆ®Á+‡¶"\¯Á ØÆ`GìÒ` Ân;èù&{-÷:¢ý2¸á§ç[jp$ng°ázWÜËà- à¥í‹€$ë B!ÒG@‰ñE(GáQú±¨28@Ïü*¢‡k€GP;á1ïz¢'÷IOYàiW"<Àäy+ªÏôL¸ocPk™“,ïˆ º=ئÁ»,ð<ƒw[à= Þïgð˜ð~ ~Æ´€ àC >l0øhLøˆ¿àÀÇ,Fø8Â/j@ñŸ`@öšž‰õKŸbðIzþe¿~Á*„Ï3 ™èù ¾_Aø"ƒÏ!ÀqÆ¿…@q¿Íàw,ð{ ~?&ü!ƒ¯#|3!|=¼Œð ƒWÀwxúßÖà„×¼ˆð=„ï'€ï1øsþhÿe  ×ûç5øÛ˜ªÁt’øûÊ "Óò§û†Çúóð¥²GÈñ§a¿;¤CÞ`qG¡:t º*š÷›‰æýfŒ_ó~³æýf¡eð¦ð?K“Ô¼ß,LWa´)ï›1ï¶i½û˜"~âï7ƒ>æsÖÛRGÆqA˜ß¯Mìu©'c£Ý—úëqü ºÙ|™P?SCŸŸFPÇ ¯oÅßP¿;…B6õÑ`'Àû³ÛC òXˆ831nK×!üM“ŒïÄøÙ"Qß蛵¾þëz¼Ö· ë3AÆÔ6¡üé}—æí£žÎ–7ÕoæMó¾á/ôxíÿX7˜ò­úª?eéÛ?oï?ì'ïëa ËŽúM²‘©mÂû£~œúoÞŸc?îmÝÖ²$Ûƒ«ëZ—€L•ϸDÊ8‘K@&j ó‡Io£nÞ›îl¡Þ×-7#üžfèÞ ‹„ßráY¶Yˆ×!üQ=ü¦{~VÈà¹iõ0\¢Õ‹qôArž†¿ÿ^0À]‚i/ft@žkQWð{!ËÃ"¤³ág„¿œ}ù.Fœ¥.C½,êýc€»q.Çð W#Þ*á{B„›Åp-â¬Aœõâ'Ó2¥×¼ŸÈûœTo(ù}Nš·¤óûçïI?¨3ò>ÛLŠ“þG:?Õ{ –­63r§I~]!Ì‹µluL»?é¿ëñ3ÕxýÞ£n–Ê7p_T‡¯o×ùgíù_’x&y:…]ß]j>?e*?®M¯ÝÂVäLÇ×FF/èñ=jüsš|ÿC{žV.½ è{æ¨|õ{~§\8½¹*ÿ/ÛôbšíUg#ï…²ÊÇéηÈñ X<£9]ø^¼¾àŽé4S¾÷¶½àlw”X‡Äÿ)[ñ’Ún 9þž‡À†äÿ#mTãÍúvaˆ³ÞèÚ,vÂv/ểñcÔsä.v ßeœR©æÀ…îÏqßÒ`g¢vVR¶f ó.(zY¼Nw>Qe:Yµ¸Šç°<Ì:ë§ã놅ÞjÍOŠM.wKY¾LÏsEœA«Ÿ~®¨ß 5É`y"øÎæò…ê|/êž—+MjÈj®–+É6#FyÖZŽÀ{>“¿C›]‹PwÂ?d„y÷ßá7Cx¾HÔÜiƒ«>÷ ƒáoªÍ|Qÿ9–±|Æc™"Ìßf’Ì·˜æ]¨'„¼t3˜Í~Û¾ÍÌE˜_Ìep Â¥"zI-Àe –D_Z»*¬‰†DuáÇÚ2‹©Ã#ùòþR¿eÚÊC©ËÜN-³K­Ž½ä†y«íî:Ò(LмUo¾\8™‡‰«ÜØpUÎbÅžOËÇ™»zp[gúGB5ÐPÛÃV·€% •"4_ӆώÕHÿ£PïçsS4‡5ƒÑëÀ!ü¹¥na¾s¾‡ÑKr“ òµóBsMóYž(·„:ßvâ_‚¸ u¾ p ®j9Ò+üÎ h,þ½ó$ç2¡ÎS‘¼Ð™Ã”SSÜÎââ;À_eÀ‡ù¬ ¾[Žù_é®Àtk˜æð…g²¡„Cuò¬vá ”é1&¯Ë<ÝS¨»§úŸf2Ïgœw?ÍÒÀ»·:ïÞ/üú|T¾sÃg„Ú~êQæoGÜgQo°êås(Ó;„ïq¿ˆºô°¨ÙdoV±¼¿ óîØ¹ô_ ßvêxïªÍ¹~ åzÊñ^¤åè&õ÷šì?"ûPVÞþyÝ¡þ„˵‰ÉõAa®O?k(ûŸ3”ý‡QfÇf§ÉÌ?"óG¥ÌiòÞ[‘7ð{•;¤…úúq!íõ/ ×§ÿŒÅCûý„óú"n¯?ô>)‚ýÒ§üˆÿIÄÿâš•ϯ`>~ ÃÏ`>>‹ùøULó9Æcòø¼Ãc¿&ÓçÿE´Ó¿á—‘ö—„l‹Ð‡ù¢C¯y¿[0Üß%ãÝrpú­ôg„Ú?½ÈÊëwP†ß5äó«~MËçïcš?~ýú#Lû LóÇ~ Ã?Áð%¤ñM”ú„¥,c!ÈømÌÛ˘§Wœ<ýŠPû™ï`øšö3¯2=C=ƒrêÆßŸêêåÇëNÜKL_ÜÞ¼!|{ó§Œß„´=†iÈöíá×gàûF èü†­Ñƒw?Ä|ü¥ðìRâÑ.¥(Ô¾þo0Ýßaº¿E¼ÒòJó¸`+lß8„°~ó |KP¿W&ÿ¦—öo8Ú7JýžIå½·å¯Õš?õ* À×¾YÆZÅÓ· {þ´o”«z´oonÚ7ÇXWsèòšäÖ¾UÕùjß×ÚùÚWŠqºê·É@ýû–.‡öM²`’ÃÆ¯ÃÎ/p_§šï…¶úhâ×e縜RýæøVk¼j“§Ÿmç÷ŸúM2ò[œõ2G ×kçÿšÎ_ý6ý-s®o?aò™äÔv°èrîaV¿-ªk ~uõ××âÊ©}£Ôå|]—ãâdr|5ªB$¿Ë…½\¡Æÿ”¿ZXëIÈìþ ÿ”!è®I¨‡¬°–Ã÷õ&câoÓÓÚ=­SâÕk3 üC/ïÕÖðEÖ¤–/§se„¼Tyõ«@bË»1¼€¿IÅŸ­} ß—‹u="çsUDþ¯¶æ?à»ë1йƒK>WÅèômå{mDþ6[ó(ßЮèºxù‹Úi¹:Iþlöùz‹•ÏÝz¾÷«ñgl.r½oÊárPåx8®=9hM:—ðˆÒ/žÞŸ­þ×ry {»¹UXÛÍw’¶›ÃÂÚns%GT|}ýýw¢êÛшüݦÄË›ftyLtoöz|‡ˆ_­7¾p¢w*DS{u¦w©LÒãïV£Pþ=ªr–Ø”,yR¼žYyŽ|;^àÒÝ+’uu÷ kWÈý[„µê½nϽOç~a¯‚(ñò‘8]lNØ«à1•în=¾OߣÇ÷«ñ7éñy•¬.<¬ ľ‰#Œ@‚9LºñÍ6O7(ì-rH$kq…št:Ñ-í¸°µ´ð;ÛÃ&N¨ô"'‘†U-êN¨ÑHÛ:¡{~–éøE_Ÿ”xÙ$¿MŸ%;ÿ€>jçÿºI~ÿíüWèüË ~jIˆ¼îAÀ¯¨øï6áëò™ä¬Úå\©Ë9f×Ów’–ÓIa·Ü§ÔøÀ‘P§ÕøÀ 茪§çõø‡Ôôí¦üër‡é—Ó}8B®GÔø;MõC§¯ó±µ¿G…µ\Wéø%Ѓ)¿Ûù]®ó;+¬õ}•^ߟPéG} ™·þ?)ìõï)a/Ç§Õøõøg”xyÃDX9èvI×›^/Lý`ñ¦ü¾U$kïoSñßgÃgòÇš„ 9ÿ·‹ðòÑûE[{x‡%ßì½þá4щÿºüaöäyÖ"­¿ç|tº¶ü¿S‰÷ÍV»7äò=§Ê÷{&ù¢èèx|£¥ô•ü–B¾ÛKÏ-‚'í<ãM—nŠÝÏÖ*Ÿ½•r㢿±²]¦srÄßXi^ÂëAÜ•S?FG.ü  —1vÜ püzmazX DVByfÕQžöo Ú(+ŠÀsg,¹üúÔY_¹¼[V;ä³·¡·[>¿BÏ]‚oh•þ<ÏþnOÚÁ˜Â¬o oס·Ñx¾à;òäd)í6„ðbùþuz† …aÇ-H±‹å/Áp†—²ò€’Áp1†—I¾G$—²2jênÊ3ZYþ2¦*«6­¬Ø_Ò]®o\K0\!ùyï—c(*ñ¯ô^‰ájÁl¼¿ÃË1Ìb¸FÒyžè¬±êì÷9~½êl’6\O¾@o-†ëeþÖŸ õ±á<飞|Þ•2Ýûˆþ¦xzxƒãŸ=Ô“o }P »ëÊsõ¤êÁ¯‡õä ô®Âð?½†ÆT°1‚MôºÆRiïÖ'õCT’ü½«Žù³È(‰ü ׿„ùØ\Ç|Ĩ—¯N_ w-†×Éü%=žxµM¯:Öã‰=ÂV`[0Üš°à¶ÖQ^‡}ÎùCú7¸éäJx¾ÃZV"ÔâüoÃðF wb¸Ã]îÀð& ÷`x3†·`¸WêånÊÏ>¦o:ÃY?}e!ê}¡ðƒ =·!ýòù éšë»Þ_žk9ƒô€|Žyy·_¿ˆúŸûPï3EkÑÇÁDúð;Òƒ€>ˆîÌhºãâãÖäëáÒÓ­Âð†‡]<ùåžá‹zŒúø2ǯg‡qÃÛ™a§0‘àõ‰Ž(ºC„·ëû0ãC•w12]$ÂÏRIÊÍóIÃ]òù!ž¾S¨£P:Ó§i’BH¦a¾µþnV€)\ïïÉ þQÿ†×©Ñá-!Àþ¢±wixò;n ¿òN–) >u’Ô€û0|‹ˆ¿2ƒðkq=îuå’+,àù ïÇ\º¨ÖÇu8&ùì>ƒYƒÅz}’ÞN¯C¨‡ÿ^„ôz‘ÌG­ê¡):Ý~I÷&Ù’ýùâ¼|ÿ ¯ot„ý…µ&­EÁ߸jì•!zÂ+B&«MÕbÉDmnÍ€h|·¦=å ö”]ÂÜÓAhk'¦ÞnHðÞÎo#l#]šžù_Ìör÷“æœz ¿DBiÇpÃ%žwwö†£ò½w—{É}Ny¾LY$» ¾,ê×Új±)ÿ»ãY _nnýÕJ¤pÅD W€Üb8&ß{w”W1<…á¦v‘삎‡ä3^Ð!yP'₎$åvFԯ܀Þi Áða Obø˜ä¿Šø?ŠáÙxr{éÎÖQnïJÆ7üž0ð«µ|R¸âè>.ùPz ƒeàIÓu%ƒåô|9¿‚á¯F ÷YëÖ#¬c°ÁF„«lB¸šÁ5ô¼™ÁµðEùz[¶"\¯Á ØÆ`GìÒ` Ân;èù&{-p ƒ}Øpá ƒ›1 |z¾á G"àv{î@ ÷wEÀ½ Þ’Ž!PÚ¾`@²""€ð(ýp”¯Q„r¥ *ƒÓôüƒ‡k€GP;á1g-ðá>Éà) <ÍàJ„gÞ¯ÁÏàƒ0á|ˆÁ‡-ð ÑàøƒÅGøE (þ È^Óó/1 ~éS >‰@Ï¿ÌàWc¯3X…ðy$=Á—"à+_dð98Îø·(î·üŽ~ÁïÇ„?dðu„o&„¯'€—^aðjø.OÿÛ¼€ð:ƒ¾‡ðýð=îÀ_ í¿¬ôzÿ¼S5˜îC ˆ¤þÈvÑí”\¹œ;#è&ÙÀ•!'b£]vëêz¨A0Š„‘ Ÿ½‡ÑIYÀˆ,m+þ†%<ð­F[mˆ?k%|EqÀ3˜†øÓ…uý Œ›ÉÒÍÂx ™ÁøŒïö½mB?o—µê³O6™["dnUâƒWÒOQÓ®¤oSãk¾’^=ø8üJzõäÔ×ì³r“w%=¿ŠtZË—¿)òy\WÑcù‰¸Šg¢¼Ë§Êç¯Ñó4‘l&kš¨ûLÖ¸®¢oC™LÀz\eKŸÉ ¤½4ï[¦Ùzëtc]úèªL¾Fë§›—Ò‹æ¥ôëÅ…áçü—æ¥ôZzÕj^J?KåÛ¼”^¡×¼”Ó7/¥7¾o^JŸ:+é$µÜr:ü=óRúæ¥ô"r@óRzáOoÈjÞ¼”^4/¥O:Û2U{`Z/Ô¼”¾¡/¥W.¤ï!wªCò§«–y+³.€oÞPß¼¡¾yC=ÇoÞPß¼¡ò~ùÜ.š7Ô/Íê—‹æ õï¾ûý"êÒÃ’.“½YÅòþ.Ì»cçš7Ôk2ÿ|ˆÌ•27o¨Íê—Šæ õœ¼û¡hÞPÏãµ–Íêµxídó†zƒ6~v~Íê ùÓåµñïµóoÞP/ã›7Ô#¿.Áfë›7ÔÛú¾æ õˆ¿BXëXó†z_—‘P¿îér­I¨‡¬°–Có†z-~ƒ*oó†z3_k=:×XòoÉgó†zKþlöùz‹<¢yC=á7o¨·„œÞaoG7 kÿÖ¼¡^ÔßÎéñ¯}*Ÿæ õ2¾yC½¤×¼¡¾yC½­ péîɺºû„µ«mÞP¯Å÷«ñÍê é…½E‰d-®P“N›7ÔùØ:¡{~š7Ôkøe¿yC=ÅŸRã›7Ô3<[û{TX˵yC=Ò}RØëßSÂ^ŽO«ñÍêåsó†z¦S¾žµÈcëï9®-ÿÍê…²ëRÈwÍêEó†ú7Eó†úù‚oÏkÞP/’oymÞPoåÛ¼¡>Lõä ô®”éš7Ô#Ý^Pž«'UÍêkÉŸEþæ õ1ø½k1lÞP_ƒ½»yC½«¿Å(ÛBÔûB០AznC:ûåsó†z1ùGÖ¢ƒ‰ôѼ¡¾yC}ó†z÷¯C4o¨Ç¿†hì]^ó†zþLøµ¸÷ºr5o¨'ºý’nó†úIjSµXòQ›[3 ß­©GO9(‚=e—0÷tÐÚÚ‰©·¼·kÞPßΩÍêÉJT¤üÍê1<…á¦vѼ¡¾yC}íåÓ¼¡~Ü|›7Ô‡¼OMðû¤|éòó†Ob+¯bè½yC½¢ßæ õqò§ŸùxÃæ õÍêÓheÐf© Ú-`º×««è`Ð+š7Ô¯Íê Öˆæ õwˆæ õÄkT4o¨'xÊO‹æ õï¶À{Dó†z‚ˆæ õ_Š€¯ˆæ õ¯ˆæ õžçã†úô^Û·ÓŽTÏ ççN‰Ú.Ôè/ ”Ž÷%››oRÊF»ÿöCçDôµ!PŸ`, cþMúwÿѸƒÖ²Ð×Â)?[øÇs.GzàëOÃ÷POa\´éC~@s+âµ".ðXˆÙÊ ½N”g¶°ïtj|Çp¥oæó%œ~J¥Ø1šVâÓ·„ÑiQñö…ᵪxû9žòtS”t©ìù5ý›Bùßþ|?~ÜGïq~d?=· užBÈç„«Š¥þÓì"8š«‚ø.¡­Í æËvöåÆD Œ#¿‘4›d¦fЍÿÀHGŸ¥ia0Ez¯÷"4#3#øìM§jéò¶ÞhF¾xòp~àF¹š·q®:tH*hƒõIñ®²Ú)k| ÆÁúwz¨ÉÔ7ÍþÜ$õA€3Mø}Ñ\¬¹€³kô^¤;KDßµ~Òž´{‘vK ²¬êÑÿ·TøWV-gï0~ðúKºŸð©¿\$d™A¼­ˆGy¹L¨W—¬Džðn¾ƒoò+×2á“_)‚WR­BýÐ\⟠õ:˜Sƒqù½ß,Ëû:ÌÇ•˜væ=êæ_ÖòŸÅ´Waþ!ß×°|sú×"ýë0¼Ã-Èg³A–P–mˆ³eÙ.䕤È'Ì)~\ËçA»i}Ú;‘ön¤¹ eÚƒ´anñ+ˆ»qoA\ºŠ®²ÚûíˆÃ[1<,d½8‚t"—„w•†{í§q†·cx‡Fã¨ð{´„ßÃN.F½.@™a¾ðnÔ¯ÇíÞ}BÎr¼‹>o‡PÎ07Hõ2‡ºëwTÝÃdÜ<â^"|ÿp@¨m ðQƹ˜ÖÑIê*ä_@>P¦]B®g‚z6Œ|GÜM¨?¨ PgF1|y–PÐeÃ*†cB½Zªlƒì„Ig„œ3$}œF¹[˜:ˆr=‚<Ãæ—"¿G‘Ï!¡Ú£³˜‡'1ÍSˆÿ„çÄy+â<-‚íéíˆûÄyÊù¬Ãû$â¾qß…8Ï¡l§„zý‰Üe.çÕjõñ…ázÍgO|=ˆêÓø éüTß>ùuªÏ8$êú“»ôø6aû¨ò;W˜Æ"ÎßãQrOö±Ñ45^?õÈxœ­´'Ô“z]JzPW¯K‰Ô“õ”!›žfZåU]®Y*þ‡õ¡Œy­I:²žuXäˆ?V-!õ¥6¦í´æ?hO]Vyå2/*ßÝVþbŽÎ_›sˆâ?'Šà(ø^nR~sÔôúi€Smümío®5邎?OÅ¿ÏVî$—-_ó…ÝÞ,PãOØäƒ¿.áYæäúª…“ù…b¡8¸{¬øÿgï_ ì(®ûQx÷1Òè1Iƒ„I£×H½ŸH 'z£’ Äc¤9#413zñ”@â!„pŒí8` ÆÆŽ±pc'¶“ØŽƒ` ±ÇØqî]Éú–×ÿûÈïJ¾/úÎ>µëô®ÝÕÕÝgzFã{û¬õ›šîÚ½÷®]Ï®®ª½W½ßqÈå†ÍU ·)&倣B™þcrÜHx(ß+# <¦Ù¨| wÏÂcÑÕ#ý8pA³êCŒ"Xç–?HÊaÑ f|àÀ¹‰F¼7Ó–^—¾“Lþ‹ó¼Ïd“ÏýRÏz#>wÐeW‹½ŽQ|—K›^SzAxM([ÞTˆÕ…î²Õ8v=ÂnshÊåNKGnmH>ì“›Ì Nn¬ŒŸîÐ/…!ê«®òïjGf°x¼žé´c`ôjˆ>7†Ùq¸Ú 7˜ÙN}Üå©{Ìw>Ï5ãÞŽæ™ñ;Bì£8[þ¿€ÿâê8?¡ €™Ç ÍçÏ ×/¸ê¨£¬†ó‹L¹±¼qÆ ¹œkÀ‡‹Á]WMÏ8i×Õ\KT_ezÔɵFÙõ:S¯Ó<>Þiyÿm‘W t…¥W¶ÿ¯-w§×ußvØ·Í^KM{ÉÃ%Å;ù–&‹AmŒ—%`§æŽðúu]:$ëÚ„ö»¶ómã¥m†sr#jÉgq¾Œ/󤩂ÒAeôÚU\•£ø $_÷¯ù×X––ÃxŽxèæ|žGÏë©ÝûS*ê9CDäú1ˆ_ÒÖiÑSrr³,Kñõ¼b’B¹Ô¢`w:ÓeÅä¼dý–¥¬ß ‹|ÛÜÓÊ3NÚƒÏo¢¬åÅ8ÿ<ŠU±läwD«R´ññî%>¹ðÝ rWƒe\i'?{b(ƒîðQÇa #Bp)a˜€P‹×º Õ4ºLžÕ.œ$ú­Ü«`öO¯±üúéðW–t~‡ÂïŠt~›žùðË×ßѳߧgþžÂRø¾A<~@:`Ÿ0I`2 QÇQÚÞ¤4/¤é0û™·)|‚ýÌ[ÌÎXÎ0Ÿ†Ñÿ_s“ìó$ãÝBÜÌ^¼½yüö晼Ÿ‚j{~FÏè¶y¿<£ÜŸ2^ÈçŸ)ü¥à‡÷> tüJíRã©]Ê}f_ÿ+zî_è¹_Ý¿‹´ê•¯ØV°û„‚•›nÇ€X+°ùó9p/X­0ã7Øô‘|]éëçL_póØœxÃseDúÄFßÀ.%±Ñ·UÆ‹»rAq“Ðw•M_›Þæ_Ø)åš|½Yn¹î•øœ¯{C¯r3Ï釘ô‰7ˆW»å½)å 5Ó=ÆUmòjÜòÎKyÃLyoÙôsÉî–÷¶”7”WïªÿZ_—üZ·üw¤|sƒ­[>Ò„ðú¦ŸMO±¡Vêùc)Wl˜)ãņY¹n󇢜~7®ž®}°¾ïJ=Ìý¬‘z|'*?Å>VÙ~¾%å1éowé‹¿à_@iE²K¡±àn`Ç™ñ·Ø¶ñ­KP©xÿÖæÎÎæ¶}ªP}‚/û¾w’ö}Íx¹yý=I?É ÷~"ãÍ«Þ .ý’èYÎ2ÐSìT•eì[:ÃôB~®¨à»?/Ñ‹¤rŒ)/ÙNÐàA±T–“÷må¤(üË6½f$´ÃLpæÃû²ÊØä»ì4+ÂN³xï\„|ë!)ÈgŽ;ÝÒmû{a|æFè;ÏÔwF¹úÎO /Ò/0éŸvÕ/ðÇrß×òõ»„þ…å׈ô›»7eúcWk9F>bwfØn™N™!õ$<Í]ŸÁô™»>#ó7´+2wo–{¸Œ7=Iú\í³Ø*+/é—šv¨—ñËbØÉf—å¦{»Û¾¬p¦+86_iÒKWÀ?¶ÙÅ%UBù×GØuµ/ûçóav]cêx']kÆ·ºø†…œß:p×£õàì߬ép•ß n;úµ;ÛÞ npÓŸïN9í­vNÆcº6™rn•éÞlÆw ‘7ímhkkïª;Ü™¯k/~?美ëšÛêÚòG§N[RçßklÏwÖá3ùc]ù¶Æº®ý ]*Vè±ÅÔãÞ¸íÉVçs¡s ÷ýâ (ý\å¿Üë» ÜõæFpÖ›·“Ö›íà¬7¹’&ýH—|[úvF¤ï#F|n‚Mß›À]Žo†øåxtãáC-Í{ºòÊÙwу7ùêæLo1˜z¤Ð]¦Ð{dü­àlTÆ¿Í4ÎD—q‚™ ¼2ËÄ*ŸÍAêxU€k·’uu·ƒ³« ¤þp½wÝ©÷ùÜ î"x—ï­‰ÛÅ6€»î1ù®•ñ{Íøu2¾ÑŒ_/ãó¦üX]xXˆíõ>ŒÁΠ³Ä¡ÓÂÂfË&ˆßlóçö»Fî‡d5®¹,›ötM;®š¦¼’󌱑Âù4ùEN"µ˜V”ƒPk#íê„ZÝé™,éÛLz9)ñ¦M—=ÛÝòƒðCnùïÚôwÉ¿Û-Š”ßaÐ{Cô-®DúN“þ)½ÔϦg—[Ï©RÏÃn;½4ŸŽ€»å>jÆñÇÌøÀKÐqÓNçdü=æóU¶ôK½ÃìËùÞ¡×}f¼<xJœüsÕ¿ûÁ™¯Ó$ý ì`KïƒnyWIy'ÀYÞ§Éò~ÒäõÄyR1×ã!p—¿‡Á§Ìø»eüi#^ysËÙ.I»Éraë€ÅÛÒû$«ïšôO»è™þ±&!ÃB.ÿ1ÏÙ/ºêÃãŽt³ûòÃi"ïÚRÿ°öõ9ãÐÇÕßs9’¯+ýOñÝö"îlâ†\¿³¦~±N“|$G ]ü­©êô¿5U½lãµÞ¾›S÷KÇ‘¨Ó¶_öÕO]—¶%P×¥­¢êÔ+µCoõÕãÀð7$ûB^8~Ÿ‡(¿?ø§†y´ð¯qAH’SÍl§y>ï¥rT:ÎbHB}†¤¨GýƇP: lŒ¾K/¿< MW¯75ßjuý–¾¦®Ïëëà'u©ñ^óÄ®‘*þ_«ô*ü¥Â­è~¬ïÿà%ÆÁx}9ø"Õ@È‚¾– ¡íü"ù û $u`;ZH}àÆëI,*ÁÜJ\äÒOf6ÐyU)òŠý’%óžÖk"øG¦x4a‹×õà-âÑ'^OÿR[AÀûúˆÛ‘iñz6Ä*³ïsú´Êl’:œ¦\ä7 øñ$êÃ^ÏKhyÉiÊE~sÕsOkþ1XyÓ_ ;¤)×£1(òþq&IôYÔ«vðËašr‘ßB0ŽR™¡ß©pc{7‘t­¤rþ‘IÆ»}’ô=™búúoK¢?êµ$a:–¤˜Žåò­ž‹üôÑ;תô%<U-X³«ƒÛAéÌÀ1§Á [ þq%I2nYŠ,uØ ?àG‹¨•x}øÇ›$]‰PÎà…×S¸šÂµ®ÿ ×S¸ŽÂÞ@áe—[uz61{ëcEôÜ ¤Û²ûÊ“z–•Äg³º>®mÍíö—çrÎzÜ¢®‹Ÿ*’”¯-ðûsÖc{lMd¿#Ýú{`Íwp4ßnÉÑGóèzìÑÇ"´Ón£p…Û‹têË9^ãõåñMNŸf‡±“›˜ÁÝðòt =3„×çû°ÆGÞ $t„7>·(#mà…9IeØ¥®ïáÏó-t?=WM<µA´NdL©Û­,=Z€÷oƒd¤_ñ† >üWö땽FЩï¸}åí­¦@Ë_Nâªz;…w@ü•š¾œ¡Çî¢^j…^ßEáâ.ªöÆ:ìQrÖ^ˆÁO·üö*~ë8¿jâw9Ñ^Nüj‰ÎGMóÐÉ·Qñ]¯j²?_œW÷ÏóòVMöÕ¿°Ú$jþºUúc¯ ‘&XÒ[uªœ–¼ ÊÖ4AßÖ¤ÑSîƒ`OYöž{@W=±õvû÷v~i†`©v濘õå÷¸§èµÁi êK$æÆ [(^|N­X¯Vç Õ•LôqÁ\É#ý¥ñιÓŽômK#}¦ã …OÄJ¿ú)¦?‰Ý{YîÔžËÏŸ?›ÐîgSÔƒøä~K|rôc¨t ?C•ƒªÁ?‡>)ªj —2Œr`´ E\‚± u!˜È0Ù) ú u*C=˜gÙ_Å é¯fÐôús}&ÃlÂÂl†y ó @ð¼úkúšŸC¿˜€_”¯cXJXF¸N`¹+V…`À ÂZ†Õ}½žaƒ70lr`3a a+ƒ>ƒ¦××7¶ ìˆÀM ë7ôý]ØÍpGì!èg÷F ‰AëºÐM§Ÿo‰@;ƒ–uˆÐM§Ÿ?‚.}†½¾¾‡AžS÷3èzþ ᆜ$hÚ‡vàÃ\Âi­Ï# º<ëkMû(C¹y®uy<&d{°BàIÎ1<åÀG>‚3|"&>.ð‡|Ê=âÓ Ï8ð,Ãs1ñ¬ÀŸð† „Ï>' ã_`Ðíµ¾þ<ƒî—^bx‘ ¯¿ÀðŘø3†i„¯2hôõ×¾× _gø 3þK‚Žû&÷øk†oÇÄß2|ðƒ„ø^¼I8ÏðVü˜ÀŸÿ¦Àó„w^#ü„ð~ü„áçüAóþEåþœÀ¯CÐB}=%ï~DªöîoèhØÛ•ïpxaD}ÈEGæC$ó!’ùáô™‘̇¦}ÉÁ—¾ß1ý‘WæC$ó!’ù̇d>D0™‘̇Ê|2"¹ÒuæCÄöaÙ•¾Êˆôõ7ã3"à,™‹~.yÃÝò2"Äg”[Ï̇ñ»Ò)?ó!’ù±ë—DÏzp–ñ̇ˆˆŸÎr’ù±ËÏ|ˆ(ú̇ˆƒ¿+G¤/ó!¢è—švÈ|ˆ„È_•Pþõv]mÆg>Dˆß·3"–xL×&SNæCDÅg>D¿Ì‡HæC$ó!¯‹mwÜcòÍ|ˆd>D ¼š–ùqNJd>DÔuæCDÄ3ã3"Äÿ~pækæC„ø>îò÷0¸óñ”ŸùQ×™f[º2"¦~gMý2"JÃ̇ˆÐgHŠúd>D2"•"¯Ø/ó!’ùé{¤)ùÍUÏe>Dˆï| %ÔgQ¯Ú!ó!RNúúg>DbÈE~‹)Ì|ˆ”aÀR‡ù)Úoé6¢߬®3"ÐûÇÆ–c­‰ì‘ùÉ|ˆd>DŠ¿jÈ|ˆÐ¯OTöA—ùáך¾œ¡Çî¢^™Í·QñÍ|ˆôR*§%o‚ò†5MÐ÷‡5iô”û ØSÖ€½§Ã0ó!ã×·§%d>Dt+Ñ©ôÏ|ˆPx”ÂãÌUùÉ|ˆ”Ÿ?™‘̇HæCD…¸ò*†Ý3"†}3"™‘‘›ùa¨t€Ÿq\åÀ`†jÈ|ˆL…̇ÈrV0¬ ÁÈ|ˆ ÖAæCD£2"'!ó!‚X!ð¤ç ó!¢ñ\L< ™‘oDàuÈ|ˆœ‡Ì‡Ç9èU"t#ñ™ .·!] {ó {ZòÐMiøôÐ*܆ôM5{ÆyHr²:ßTäÖÞW'ï³ Úq¾åñY|ùU¤‚_Fþƒ®ÙŒÅçÜ32æ!³Ñ'yóHÿ‹J|m(Ðæê\5¬¯y¼É\òd.y2—<œ>sÉ“¹äÁ´ï 98‡ò;¦?òÊ\òd.y2—<Ê6ø|æ’'sɃéød.y𙿿|ýd.y~ ™Kžÿ žŒ>sÉ#ž¯ŒH_3>sÉÎò—¹ä±èç’7Ü-/sÉC|F¹õÌ\ò¿+ò3—<™K»~Iô¬gÏ\òˆøéà,'™K»üÌ%¢Ï\ò8ø»òwqDú2—<Š~©i‡Ì%OˆüU å_a×Õf|æ’‡ømpÛ9sÉc‰Çtm2åd.yT|æ’GñË\òd.y2—<ñºØpÁ=&ßÌ%Oæ’Ê«i™Kç¤Dæ’G]g.yDü13>sÉCüïg¾f.yˆïCà.ƒ;O™ñ™Ku¹äaö±¥+sÉcêwÖÔ/sÉ£4Ì\ò}†¤¨Oæ’'sÉS)òŠý2—<™Kž^±Gšr‘ß\õ\æ’‡øÎ§pQB}õª2—<å¤Ï¡æ’'†\ä·˜ÂÌ%O,uØ™Kž¢ý&nc ú\ýÍê:sɽ s9öؚșKžÌ%Oæ’§ø«†Ì%ýúDe¯t™K~­éËzì.ꕹäÑ|ßÌ%O/Õ©rZò&(oXÓ}X“FO¹‚=e Ø{:ì3—<1~}{pZBæ’G·JÿÌ%…G)<Îì¡óË\òd.yÊÉŸÌ%Oæ’'sÉ£B\yÃî™Kþ™KžÌ%OÈÍ\ò0T:À ¯r`0C5d.y¦Bæ’g¹+V…` d.yë sɣљKž“¹äA¬xÒs¹äÑx.&ž…Ì%Ï7"ð:d.yÎCæ’‡ãôºK>S¢­ÚÛÞ±¹¡«£ù˜ËOOtÑ\uTjˆAЕH%W±lö}ÍEOî˜Ë¿Kªjg.^â«‘¹xÉ\¼ì†ÌÅË È\¼ü+d.^2/™‹[><™‹—ÌÅKæâóë[¹xÑemó<É(¼Og.^@}ç3>sñbÒg.^(>sñRŒÏ\¼DȯuËÏ\¼¨øÌÅ É«š*sñâìû2/D?œe,sñb‘[þÚ-›^3Úa&8ó!sñ"âç™úf.^ìråù\ãH¿#™‹Gú\íóu} sñ¢é3/Žó[îz´œý[æâÒoçd<¦k“)'sñ¢â3/Š_æâ%sñ’¹x‰×Å6€»î1ùf.^2/P^MË\¼8'%2/ê:sñ"â™ñ™‹â?8ó5sñB|wù{ÜùxÊŒÏ\¼¨ëÌÅ ³-]™‹S¿³¦~™‹¥aæâEè3$E}2/™‹—J‘Wì—¹xÉ\¼ôŠ=Ò”‹üæªç2/Äw>…‹골Wí¹x)'}ý3/1ä"¿Åf.^Ê0`©ÃÎ\¼í7tÑç´oV×™‹èýS}˱ÇÖDöÈ\¼d.^2/Å_5d.^è×'*{ Ë\¼ðkM_ÎÐcwQ¯ÌÅ‹æÛ¨øf.^z©N•Ó’7AyÚ&èûÚ4zÊ}ì)kÀÞÓa˜¹x‰ñëÛƒÓ2/º•èTúg.^(lŽSeãCÐSþÔPHSŸ×÷û©ë—ôõ%êúe}yTáyð!ø}sêÙWô³HçsÃ@HïsòS÷/zþ]âúkÛ:ø8=s[…ñÖi_BiwMÓÈîâ= 3H@OÉ ÿ“ž†~–O¹Ô„`8¡6š®Z ÂG® îp¹Âêßv¸5ßѼ7¤Ë|ae¾° ó…52_X ó…¥é6Q7Cæ KËi„ÌÖqÊÃÌ–ŸŽîæùcùÂâz-€ÌÖ|È|aÉt~2_XÚ^¼½y2_Xì;ó…eÊÏ|a)¾™/,uùÂüjÝò3_X*>ó…EòjÀŸ¦Ê|a9û¾ÌÑOgË|aYä¿Èզ׌„v˜ Î|È|a‰øy¦¾™/,»\g9F>×8ÒïHgæ Ë‘>Wû|CÈ|aiúÌ–#äüÖ»­gÿ–ù‚ôÛ9éÚdÊÉ|a©øÌ–â—ùÂÊ|a¹ª×n7$ëêngW›ùÂñf|æ ËòÜ>p×Èý¬Æ5—eÓÌVPŽ«ju§'ó…%è; úÌ–Ž?jÆg¾°«þÝÎ|Í|a߇À]þw>ž2ã3_Xê:ó…ÅìcKׇ>®þžË‘|]éÏ|a!2_X™/¬ÌÖ‡ùÂÒyU)òŠý2_X™/¬^±Gšr‘ß\õ\æ ‹øÎ§pQB}õª2_Xå¤Ï¡æ +†\ä·˜ÂÌV,uØ™/¬¢ý&ncÈîc(OêY~TŸÍê:ó…‘ÇTf¾°zØšïàh¾Ý’S:†Ö·Cæ ‚õ?ó…•ùÂê±Ê^#è2_XüZÓ—3ôØ]Ô+ó…¥ù6*¾™/¬^ªSå´äMPÞ°¦ úþ°&žr{ʰ÷tغꉭ·Û¼·Ë|aõÁi ™/,ÝJt*ý3_X¥ð8³Gd¾°2_XåçOæ +ó…•ùÂR!®¼Ša÷Ì–aßÌVœô t˜Ž3f¾°2_X9 ú1T:À_®r`0C5d¾°¦Bæ k¹+V…` d¾°ë ó…¥Ñ™/¬“ùÂB¬xÒsùÂÒx.&ž…ÌÖ7"ð:d¾°ÎCæ ‹ãôª/,|îf—ó~-Í]>ÿ‹ï˜#ó’yÉ<‡púÌsHæ9Ó¾ƒäà«Þï˜þÈ+ó’yÉ<‡@æ92Ï!˜ŽÌsHæ9e¾™ç\é:óbûœìJ_eDúú›ñ™çp–¿ÌsˆE?—¼ány™çâ3Ê­gæ9„ø]锟yÉ<‡ØõK¢g=8Ëxæ9DÄOg9É<‡ØågžC}æ9ÄÁß•¿‹#Ò—yQôKM;džCBä¯J(ÿú»®6ã3Ï!ÄoƒÛΙçK<¦k“)'ó¢â3Ï!Š_æ9$ó’y‰×Å6€»î1ùfžC2Ï!P^MË<‡8'%2Ï!ê:ó"â™ñ™çâ?8ó5óB|wù{ÜùxÊŒÏ<‡¨ëÌs³-]™çS¿³¦~™ç¥aæ9Dè3$E}2Ï!™çJ‘Wì—yÉ<‡ôŠ=Ò”‹üæªç2Ï!Äw>…‹골Wíy)'}ý3Ï!1ä"¿ÅfžCÊ0`©ÃÎ<‡í7tÑÇoV×™çèýÃb˱ÇÖDöÈ<‡džC2Ï!Å_5džCè×'*{ Ë<‡ðkM_ÎÐcwQ¯ÌsˆæÛ¨øfžCz©N•Ó’7AyÚ&èûÚ4zÊ}ì)kÀÞÓa˜y‰ñëÛƒÓ2Ï!º•èTúgžC(ÍGø}º÷eIû?Æ3ÞóæBÉ^E›‘ŠÏQÊTê´žš0~:ïô×[{^É98û±ÂYž^´<õ(Ï>¤üøò4Éü“é׬|*ú¹QŽç¬Â3¹Û]}àà™ù¶#Íím­ù¶®2{•R Ü£=`ŸÕ´õðã8ýß:U&½Ï@÷]h!]F7ÐB‡»lq=*ª<ƒèôwt=¯ÙŸÑeÿc½¹–’½ |w\ÃHf-ýòFð[&_»ß¾—Ìk‰÷NŠI¶ÑãÑdŸË)î ¦Ã(J'Ο☡‚®·ôû_=ÙuĹÔC`ºàº|w;úYÔq2“‹yt7³ÚófðÛ7žW0SÈ–8ïŠó›ÓHœ{=K:_MzÎÞå= ¦;š(þ8ß:“øÏ*àgyS(ÒŹY|çÝM<€ïâk³må!ò{ÉDçS~ͳÌêüÅçpŽ÷;!Ï-³ ó<[,ò í…ed ÉÁÿ*l¶”h¯#›ýLØlé1L—a:ÍøÌÿ |·aÈk•ˆÿG¼Ì^ÆW“Þk ÕýñXKi]O¼Ö¯ Ì7Íf¢ÙD4[˜¼mdÛíBn-Ñéò6ŸHú|„év#ñ¼‰ñ¼…ž¿‰Ñí¢4ÜZHC§ÈçÛ ÷0ÏvÓ3;Õ½b½¼]Ý÷´~º ÞQ¸·ü¹Ýê^1Ñž8/zWf+£iQ÷Šy©m^¨>£ë×kO!®¥ËÍ^Òo˜å—÷Bⵇ<—¿¼Ê„‡s±Ãèÿ£`¶s(=û(?›Áw#vth!ºeD§µd=K<Ñ–XFQˆmS=Ùo$ñDÝžº©Õ—“šúšK)ï?¥¼ “^žõé’£ŸS^î)ï“>prT¥Ëe >'Þk#\Áäî”ñUF|ÀUÈÚìr¾ÂŒ<)ǰ«™.cv¾KÒ6Ó8Ymˆ/O– µsµÃÎݵ—3Ô™ÞàIy5}®!ªÜ3ù‹“ør{\öuåÓpÏoŒaÆ”ñµf¼<ÉíG6=eúÌáö ã%ÄjŽKš{¤Iÿ½T3*ärFE˜ó23>àÝa4¸šó ,æÞòÿü'uÞdn¼,XLûf÷7É×µ¶wäql[]{[¾îpîÓh¬kèØws¨®¡³Îža6%„‹š€®4ã?RŽS3Œ«nŒg!ë’ôc!I]ˆ>ÕpœS~°/®ƒð6ÔF?Þä/Ô·êgÓs‚[Ï@>Ñ­ç†äyÙúMw™› á}Æ×Cx¢à¯"Û2›šúU?Ný¼>P »ÚÕVöºÖÃ]u{òu…êÊd·UuíÏ#í„Pg*$+ýÓLúN½”g“+äDÊsžIÒsÇ•—?×k:¸KÝ pµhæ$Nk5Ó™ž 3½Y&}³ŒŸmÆÇr†h³Ã§^Ê §ŸkÐçöÚÒá’7Ï)/×(åÍ7éN˜ñrÏëÚÒÇ. Á]>ñÞK¶tH¾®òq/Ïr~CÒ/†ø­t˜>ÈÇtŒzf¦è-­êaü¯uò ôºoÄÍŸëzÛzµ¥ ì…ôË ¼×‘öté¹Ü­g ×_áÖóG!ù“H¿¨ë³Ò¡?»áð*BF€]aåf„׿¤í2ò»Þ‘©/Ò¯6éŸôÏKú5&ýgÜö°Ï„È0¬=÷¢Ï<-ùH_ôþS_ç(¼DÑ•ÎF­,^«™ ¼VgúgRVQØ_ÑÝ¡ï÷£p …ƒ)Baµ¢¿KÓR× úºFéQ:—n¨Šß£¯‡©øƒúßxõÌA`îOn£ô£.»)­|›”t­e6Ó²ô×ÉA'|z¾ƒˆ_μխ}Æbô‰ª Wb?£“;’ÂK) þBxþâ„qúxOúU:Éér‹èn½A"Ó+)¼‚±Jh—:†Â: ÇS8ŽÂ‰N °â|™öù×Cz_¦‘ßd 'Q¨¿àðçSÖ{4üF1Ó(œªî?£ïËã@gP8]Ñ•ŽÖÅ̦7\Äݘ;[]ÓÆ\ÕÄh“öÄÆ\~ïÌâµ>âõÜXÙï??7Åì÷hXˆ|ç¨ëÒñóÕuéÈçÀNƒ#¹I‡Ÿü­‘óá÷yèQwŽòç);¼¤¯Q¸ÂÅJß7tü5^K¡ðƒøe¡¯<®O;]`|´^á|ìÃÃ0>x½”Âe^Gá —ƒ_Fñz¥ºNxŒ¡†äJæÌáG ˜å¥ræ1:ŸÐ!ÁyÀ¡Ï!L&¦eUñ 5ÄÀkzĨ }Ú›äô¦-[[¢?ÎÉvåÒg ø}˜¬ºênµžƒIÏ¿ÄMúõ¾<ï3$/gA?†J0 r€o€ÓmÅP†0ÔôóÆF0TôƶZ—Ì‘M{ÃåW2èMuc!Þf9‰oÓG=?+å"¦8 7×éþ|“Ýô\%‡ÿLÂ,7³ôFC}=—AÓÏcÐôó úþ½P|!ƒ|Nß_ÁÍ}aÐý®e›ù4®XîÀ ‚¶Ó*ë ºŒ»âW;À7­ ÁF†°Í~[ôƽeàF†›\›õneÐù|ÃM}}»€.Sw0ÈÍw4¾Ö4’ÿíL¯= Z¯½}¿‘Aë–gÏéûMn¹ñka?á@ö3¸ÊQ+C{:­û|”±‰Ã§ëßÖÒ¹=ßyȱžµD’ÊÏr™ökiÍÏ/=\ÇŠï½ÛóM׫S{³e¬a:å/ÄXÆJ£?·‘òe¬ø޵ {P,AØÛëQŽþŽ4ˆ¦?ÑT öj8šÙ@|‡P|5øË–ðÿHŽL®&ÞÉw-ñÁžE]¦ƒ¿üiÅM¢g.£gôýÑLþo WP<Òã¨'pb[˜:¢[þÒTLËxâ7Ý›D÷&ƒ¿Ôk Éš þw*ÑMcºL#ûè­ø?§ûÈ'¢ð—˜í¦øtùÌdiŸMé˜KÏΣôÏ!»bEzS¤&=»Ò龆¥›ó_Lü¯¥ð: õÍ%]–“.+ˆfé‚o]ÿÀìƒéÄù³"«@;£ñy¯&Þk‰çÒiñÆ¥—¯í¢½h±wÆrƒ['‡ïMŒ÷¢ßFánU.vŸ­Äç (-,.Må<>BáMÞ,xìÿ­ì.0—:^AvM:ë|˜å¸JÐa/z‡ »œøózˆùŒ½¢.— d»Boê`: mžhqÔ^Gº7Y—né8JKª½…$¿™ä`žÖ€Z&‰å¬ü¥ À_úˆeæ…|éã•dËN »(/–ŽFÙÉé¤Óe'sÉiôBs ªšIçórö£Úr‘å¬Ú¡GO~êL.PŸjœúòeTTºÅ’ViÿK¥üáÉä_%„[~àƒm­I?2©<±fU.Àèï’ïª#éÈöˆ5ª·»ò]ëåJ—XÓhoÄšÖƒ.ýðWþ+Ë¥ {»šäW5·56·í[{¸m¯z¿ (â2XøRÁ¼á6ŤpT(smkî€;ƒ å+ÖÄ ,Ö©&2ðÈÆ|SÃá–®îYx¬Ã ºz¤®"hV}ˆQëÜòIùbåkÀ¢ÌøÀŠÐ‰F¼7Ó–^—¾“Lþ‹ó¼X¹z¿Ô³ÞˆÏÉ•«ýCJ¸¶×1Šw®Ý´é%–²Þ³&”-ϵV5lHÁˆ#ìö0‡¦\®XóZ®ÜÚ|Ø&W¬‘ ”_sMln¬ŒkSw…è]îõUWùwµ#|M,^ÏtÚ10z5DŸÃì8 \íFpÍÖl§>îòTŽ=ÄÚÙ@>Ï5ãÛIæ™ñ;BìÓ­]óÚ¯§Åë…æóg… ‡‰ë\uÔQVÃys}m¼‹qC.G¬» 䡹Î6XWÅúÙ”ëj®%ª¯2×׿Z£ì*ÖÍžæñ9ðþKËûo‹¼J¤+,½²-ø¯xm¹;½®ûüõÎe/spNúf7F_—ÌìÌ·4Y jc¼,ãÁ3;èóÇê|\þËÁ]PW˜ñ­€b!oTüUXcÄÓ1 )|@Š2W2Õ1ÈawPV`Ñkqàõ¡úÿ¢cã1ç@ħ´O¯ÄˆXÄØÄéSÔk¿æ›Q/†´Ø·87åќLJà¯ÆâÞ}:~ %=6÷ƒ,é`¿Ä+wªÀ\ 9$–]ýt I×®¥E§ƒÁ,WÕðŸUhê‰\© cEò¥ú>-È.-0¯U×%›ŒP×ýõµ^¹¬¾KæJu…¾•vŽ—ÇÍœ>­<–6×@Áz™µZ—k73?'ÖÒÛ“ÕðáÏ•²ÔúœGó¨Ç± çgÈ).I†õ®\¿Ò¦)ùI˜î1)ʯ¸óC(Y¯Ñ|¾šÁë‰ñ,YÅéÓ´äð÷x4ςדê5)E½<¶H¹N]߯¯'3½@|¯bõªD›º$5µ>Åti>ˆã—vMÄíw1Z€4åz4†|§$ÌÏ)½š~¿ê]¹¾ÝÓ”‹üÌyÄÜ¡ˆAг ¼NŒ¸àägŸ/ ã‡úMsò èW+zøýB¿Ú„úEðSs¨§Þ\D›‰^Õ÷õf£™`n:š þf#æ©ð篪Á¾m.jÎêgp>©BW¾É¨!¸fn{¾ims¾¥H€êõ¤×Ó¤ÇLjWÁ6Þo„îŸ Ñý¤+¯ÿ¼ìèþ„ëµ€éõ)°—§?²äý[òþÒ¹Ðfçt[ uþ“ŸS:ç†3‡“¼çY¾ã³X^? ª½þÛãÜÏX<Öß ÷°/âíõ ÄïEöK/èçý‹DÿÑ¿ÌòçJÇ—(|•ÒñeJÇ陯0ÓHÆW 26 ¾Jô¯A°þs ÿ‚xT]Ä> Û‘¯ø5’ ”wÅÿ%¨öøë”…~+÷*˜ýÓk,¿¾E:ü•%ß¡ð»"ߦgþüòõwôì÷陿§ð‡þ…oØ'L˜ÌBÔñG”¶7)Mç izÌ~æm ß`?ó³3–3̧aôÿ—ÁÜ·ü<Éx·÷³ooÞ¿½ùG&ï§ ÚžŸÑ3ºíAÞ#À/Ï(÷§Œòùg )øá½(¿€R»”Ãxj—r€Ù×ÿŠžûzî×D÷ï"­z12¶ì#J_sçXC\aÆÇr—ãJ_?gú‚{ÐÅíÄ{Ð+#Ò'ö^G¸õ 6.öRË5ÞMBßU6}mz›{®a§”kî¹öf¹åº7Gp¾î=ÖÁC釘ô‰÷ìW»å½)å 5Ó=ÆUmòjÜòÎKyÃLyÒíЛQò†»å½-å0å9ûÖúºä׺å¿#å›{ž£]’Œ„ðú¦ŸMO±ÇYêùc)Wìa)ãÅf¹”ö‡¢œ~7®ž®­É¾ïJ=Ì-Æ‘zXp~bk±l?ß’òǘôò°ýwÅóâ£4-w)4Ü ì83þ›Â6¾u *ïßÚÜÙÙܶ/BõñªO0ãeß÷NÒ¾o¢/ÏøÀšdÐ{?‘ñæf​µw\eÉ¥g=8Ëx@O±yX–±wlé Ó ù¹6ø½/å‹M½rŒ)/ÙæÜà¦M±9W–“÷må¤(üoý6½f$´ÃLpæÃû²ÊØä»ì4+ÂN³xï\„|ë¹5ÈgŽ;ÝÒq‚Õ•ò™¡ï†Ô“ðü57âÓgnÄÌßЮÈÜP[îy?Þô$ésµÏbîðtÜ´Ó9ù|•-ýRï0ûr¾÷FèuŸ/kž'ÿ\õï~pæë4Iÿ@;ØÒû [ÞURÞ p–÷i²¼Ÿ4ùG} qÍõxÜåïapçã)3þnÚˆÏ]íÊÙ.I»Éraë€ÅÛÒû$«ïšôO»è™þ±&!ÃB.ÿ1ÏÙ/ºêÃãŽt³ûòéx)×ýVnº+}QíêsÆ¡«¿çr$_WúŸ0⽈Érw:£Ú…¸!×﬩_¬ß$IçE{;.y1Ö;ªsê~é„ušvEèÀÖO]—vŠPץݻUê¹âB½ûZÃßì Ax9à|ø}¢üþàäæÑ¼Æ!Iš³ÐæùH¼9—ÊQé„‘! õ’¢>Ü-,Ð6F_¥—_ž†¦«×›šoµº.yÓ¦®Ïëëà‡§©ñ^óµ‘*þ_«ô*ƦÏ&­è~¬ïÿ,,ÆÁx}9øgTÕ@È‚¾– ¡íH)ù û $u`;íI}àÆëI,*Á<Ýà¸È+¤ŸÌl óªRäû%=ݧä‰|"ø§Øx4a‹×õàŸöâÑ'^OÿT•R[AÀûúÔÛ)+iñz6Ä*³ïsú´Êl’:œ¦\ä7 ø‰1êÃ^ÏKhyÉiÊE~sÕsOkþ1O½yÓ_ ;¤)×£1(òþ 3IôYÔ«vðËašr‘ßB0N·™¡ß©pc{7‘t­¤rþ)VÆ»}’ô=™búúoK¢?êµ$a:–¤˜Žåò­ž‹üôiHתô%<”V-X³«ƒóèÙÒ•aKÁ?A&IÆ-KÑ€¥ûBáü´µ’¯¯ÿÄ™¤+Êü¯ ðz WS¸–Â5àŸ*ƒáz ×Q¸‘Â(Ü ìr«NÏ&fo}Ò‹Þ;tCvCyRÏò£’ølV×ǵ­¹½Óþò\Îñ›[ÔuñSE’òµ~ŽßLb­‰ìáw¤[ì¡ùŽæÛ-9ú´$]=úX„vº‘Âmî p{‘N}9Çkü¢£<¾ÉéÓì0vRxÓc ¸Û^ž.¡ço†ðúïübÖøèÂ;„ŽƒðÆçe¤ ¼0'© »Ôõ=üù¡`¾…î§çª‰§6ˆÖ©‚Œ)u»•e G«ðþm,ãoƒô+ÞPÁ‡ÿ*BÀ~}¢²×:õ×£¯¼½Õh9ãËI\Uo§ðˆ¿2CÓ—3ôØ]ÔK­°Àë»(¼“BÒEÕÞ8C‡=JÎÚ 1øéÖ`‚ƒß^ÅoçWMü.'Úˉ_-ñÁù¨)`š"ù6*¾ëUMöç‹óêþy^ުɾúV›DÂ_·Jì•!òÁ+Bz«N•Ó’7AyÚ&èûÚ4zÊ}ì)kÀÞÓaèª'¶Þn?ðÞί#ͬ#5ÂÎü³¾ü÷½68-A}‰ÄÜ8@a …)lSt“5]+…‡Ôýz}¿½xí•Æ2ë,úzNŸölK’V¢SéÿT¼VÂ×›·~}µ•ðhÅ„G+ Pï»)<¬îOÕ÷»(.˜+™b¤¿4Þ9—bú=ÒÓ‘¾mi¤o  Ãtœ¡ð‰Xé÷¦"Åô'±{/ËÚr¹K€³ í~6E=ˆOî·Ä'gA?†Jú3T90˜¡|×IQÍPK¸”a”£-⊌e¨ ÁD†ÉLaÐo¨SêÁt/pƒ¦¿šAÓë£åõý™ ³ s³æ1Ì',dXA×ô5w °˜€_”¯cXJXF¸N`¹+V…`À ÂZ†Õ}½žaƒ70lr`3a a+ƒvM°AÓëë [vDà&†u„› úþ®ìf¸#öô³{#ÐÄ uÝGhŽ€¦ÓÏ·D AË:D舀¦ÓÏAÃ1‚¾¾‡Aºˆƒût=ðà N4íC ;pŠa.á4ƒÖç]žõµ¦}”¡Ü<׺<²=X!ð¤çžr࣠ ÁÇ>øC >å€ñi†gx–ṘxVàO ø ÃÂg ŸÐñ/0èöZ_žA÷K/1¼HÐ×_`øbLüÃ4ÂW´Núúk ߈À넯3|…€Çÿ%AÇ}“á[ü5÷câo¾GøAB|/Þ$œgx+~LàÏSày» ¯~Bx?~Âðóþ‰ yÿ¢ ÈrNà×!è¡î·’Œ÷Ñ_HqÑÅPï ü·¯jå±âææ®ý[òǺ ¦ç ïÅ í¹_ðuf ˜ÓòØÅà+ÈHÃk¾nL!Sàr\W2ü“•/'ó Í ð?ZÍ#9zZUÞEÏ#|•X@òñƒ~Fz ¥D7ŠLˆÃý Ä{¥é–ê¾Ì“~+(mâDˤ'ýN ó zïyþÚ¯CNŸ3ùGìØ€Ûψ÷>ÏåqºKLº—$ŸJ#>!ãÍx½—mrÌb8`uskñÓ´Å6Å)¾åžàõ…0T™ixE¦Qœæ›HNTú °9N•AOøS @!M9|^ßï§®_Ò×—¨ë—õ5æQ „çÁ‡àôÍ©g_ÑÏ"mœÏ !½Ï ÈOmÜK¼èù t=ˆë¯mëàã\ôÌmÆ[§} ¥Ý5M#»‹Kô4Ì =%3üOzúY>åR‚á„Úhºj ex.Ëmq¹ÃªÙÑu¼%¿¾«µeSó¾ý]»ö@y>£››šÚ÷é*ËôpŒÕ§µí/Y5j”±:ßTä†nTcŽ3>gœQIe{:?ÿc™Óã ìçûßGO$l3öRh¤ø !>2~(ÅcRpL° ü:;Šêêu¤ª„òÇ a}KpÜÙ÷|hï½ÿëûÌq†÷FŒ3>ãj'/iÁŠà ÈßÃÔ¡cøò¼;Ùöò=JŽîÖd7Vþ̼^ùP~S™3“Å“ YʵøI?8½¼G9­G1>@|Èé{àC¯,yr—Qò¢zn­§,¡¼wÍ1~:KJ­âÞö¶®†æ¶|‡CHT·n0 “œ`ìñ!OAáz·ˆLA¿¦ÃmÝP^?&Ï£k>žÄÒ“äSV?H‰Ôtâ#ÇGz,#ÇHr|$!Ç-|Ì5ÂÄnç©îë Ê·iîhokÍ·u•9p(u²=:Ì髊öµÎcqF8ô–Tü¨5“2ŠJgøgú¤Ò¯gZP•Zº§gM‚é÷³VÔ ”¿€=WHbq䃓©»)þÝÓ3*í FDsM ø£$­ó`Òw“­gTj¡;3*ª•sŒŒžI8£é›IŒ|ûf2‡0yÿ)å™31C7#}㈙y´àQòÍ™œÐêí®|Ñrlú pò‘¾qL>aé†Rï§{=UüÙ¿Wu]:zˆz»ÒQ1jæÃ?z…fQþÓœeQzñ“àϲ°Þü˽¹Î’~X:ÂùØíÆG÷º×P÷\³¶E#:À„õÀºçÊ g3ôu ˜³Ã¾Ö4¶^½{³Þï\=ö€ù®®æ¶}}é=?Ð]÷I-ûZ_k6b•»«À\4j6âÿŠê³D[î̾!ÇÑ9 þa¡£/øÿ3ûêò¦7tèQ>é>O÷e¬Ïû²Ù‡ùoxÔ&eÿ¿dŸÓéSfõØØÜyhæÑæÆ®ýn)Î÷]“K˜lþ¶‹’’¼íÒìcj ¦/aü®"~ºßÕýTT_¬él}²«?Èèú ØúMšòfõgºúÍaxìGG[CËö|“j±ûÒkd íÛêö±ž47+NOZæÆmÅR½¥ê’Ïaào½4ê–o'I¿Çÿ±h[úUØuÿtX:*™ÌJÆ¿²Ô{èVR¼ô?¥xïß}ÚÜöÜiú? +*/G® rëLú>Œ ðFÏ{&Æûf•ö"ŸOsZAçHgn=ÓáÓ"ÍÏ›´¦> ô²ŒÕ‚{K ôŽåÌýêfÖ'Û×ÒšïØ\èIo—%šTú‹rz¬~ æ—öŒ+·ìºxÚ8ôP_XÛ˜ïh>’ÇΰápKÄè£óqúê²™û-˜³Àu¾¦ûD=›Êß(ñºÐ7æþ üõuH7Ìut|Før%¿¸}f(ø3Äãéÿaô?¾™âåDâ3‚ñľüZ¦¦k¥ea?~K“N#¦m9˜o´—ý•D{ã¡iÆÑõx¢©#š ,M“HŸ LÏÉD§ÇZ_|‹À7ôBI)ÎhcüNº‡ôÓ,ô¸u§“îÕSú§ÓsWÓs3˜>³ˆß¦Ïl¢›Kt?Ÿî-`2ñÿÂ0¬¸…ç¨b‡ÛzÐ=¤_ÌèñÿHWüºð,øk"5-Úþ9f{^®f0—Ÿ…,{ì¿’ì=¥}¨2ƒË÷Wè¾Æø ÞkA-ûÝ­â‹z¯%]Ö1ùº¼®cò7ÝF‹žÝ&Jãf²ÍÒ{k¿aô¨Ï¶>`ôèž–ƒ¶ùW0ËåvJóN ?BißArn*àwLä5Pñò^#·Ð³·RxñØE< öñ†ííDs'…w*¿Xöè¹;"ä4R˜'ú½$§©@;麔xà³X¶õ´ ÎD$ºeY­¶‘¬(}-òօȺüY¯kHVg YGHÆaÒ· '(?Ru‘mŽSòö ë›nߎƒ½}»‚mE=Ñ?Hr(ÈÅk݆j]&O€jN’Nž¼,óç&Û*ð™éŒ2Oî}’=ƒ÷)Üû8øåy§ºW OƒYÒÈóLjö Ù ·Ûb¹öòôG–¼ÿcKÞ?C:Úìœn ´Î¢ósJçÜp¦óp’÷<Ëw|ËëgAµ×Ÿƒb{œû‹ÇúûBáöE¼½~ø½Á~é¥ý|¢‘è_"ú—Yþ¼Béø…¯R:¾Léø"=ó&cÉøjAÆf¡ÓW‰þ5¶ÓNá_ïo€ª‹Ø‡a;òõ¿F’òn xÜÖ³KÅó¡Ðoå^³zå×·H‡¿²¤ó;~W¤óÛôÌ߀_¾þŽžý>=ó÷þ ð âñÒû„I“Yˆ:þˆÒö&¥é|!M¯€ÙϼMá;ìgÞbvÆr†ù4Œþÿ2˜{&ž'ïâÞ`öâíÍ{à·7ÿÈäýTÛó3zF·=È{øååþ”ñB>ÿLá/?¼÷¥ãPj—rOíRî0ûú_ÑsÿBÏýšèþ]¤UÏ€mE7棫 Äj†Ä« ræóQûE¤7[cu¾ïJ_?gúL‡9H/¾ˆGfvGBüyó‹I0}b~0àL¬>h•ñUf|,@R_›ÞbïHàKÐ #^9 —ëþÄùê/‰!åï‡R!&}³M—¼j·¼€»Ï¡fºÇ¸Ê£M^[^Àî0SÞ[6ý\ò†»å½-å0åI÷§Ò¡™Óe,ò«uËGÊ¿âËGú‘^Âô³é)öÍI=ÞÞ/3éGÊøÑf|”ƒÁïÆÕSïS Ñó]©ÇÉôøNT~^é”oIùcLúG¨b]¾vÚàRh,¸Øqfü-6…m|ë$T*ÎO¹T¡ú3^ö}ï$íû&šñ‘N|'ôÊQŸlÆK'¿ï¸Ê’KÏzp–ñ€žSÀYÆÞ±¥3L/ä7Õ-ÿ})šI/Ç‘ò®w9¸ÚŒÿ?œåä}[9) ÿÛ‚M¯ í0œùð¾¬26ù.;ÍŠ°Ól#ÞtÎk‘ê"|Ž;ÝrUÉ{a|æFè;ÏÔW:Š­ïüú"ý“þiWý,Ë +—³0"ý‹œéŒ]­åù\ãH¿#V‡T’¿+G¤o‰3}ü 튮—¾¨Õ`Ó“¤ÏÕ>_çЄŸ!¤_jÚ!à,}Y ;Ùì²ÜÔcowÛ—ÎtÇæ+MúXþ—\òW%”}„]W›ñ²>f×5¦wÒµf|«‹oXÈù­w=ZÎþÍšWùÝà¶s _Ûè°³íÝà7ýùî”ÓÞjçd<¦k“)çV™îÍfüq×9m\\-¦÷ÆmO¶:Ÿ K¸ÏèO@éç*ÿå†\ßmà®77‚³Þ¼´Þlg½ Ì•ì0éåΠ·£ÊÛΈô}ĈWþ¬¤>6¾7»ß ñ˱ӯgz‹ÁÔÛ …î2…Þ#ãog£0þm¦q&ºŒÌåB&Vy«RÇ«\»Ý¬«»œ]m õw€³è½ëN½ÏçNpÁ»Œxo-6¾ à.‚{L¾keü^3~Œo4ã×Ëø¼)?VVbûû cÀïÍ–M¿ÙæÏíwËþ#k\sY6íéšv\5MùcáÃÏ™·ñ;hò‹œDj1­(¡ÖFÚÕ µºÓ3YÒ·™ôrRâM›þ.{¶»åá‡Üòßµéï’·[þ)¿Ã ÷&†è[\#ˆô&ýS6z©ŸMÏ.·žS¥ž‡Ývz;i>wË}ÔŒDwÌŒ¼7ítNÆßc>_eK¿Ô;̾œï½zÝgÆßb+’¿”ãª÷ƒ3_§IúØÁ–ÞÝò®’òN€³¼O“åý¤É?êÉÀ¸åÿ!p—¿‡Á§Ìø»eüi#^ù± ËÙ.I»Éraë€ÅÛÒû$«ïšôO»è™þ±&!ÃB.ÿ1ÏÙ/ºêÃãŽt³ûòÃi"¿"Rÿ°öõ9ãÐÇÕßs9’¯+ýOñÝöŸâlâ†\¿³¦~mÓ/ФãÇ1¨±’¨{ôuÇ4TéûtLC‘¯Ç¼@öS×%¯…ê@Iõƃ×Uê¹âB}Ä€†¿!Ù‚ðrÀùðû³!V™}ŸÓ§Uf“Ôá4å"¿YÎQ雡åÌKhyÉiÊE~sÕsOkþ âÙá=N1ì¦\Æ Èw>…‹골Wíà—Ã4å"¿…^S¤ÏÍÐïT¸1‚½›ÈºÖR9ÿ@HãÝ>IúžL1}ýå¢NýQ¯% Ó±$ÅtÄ(—oõ„\ä·˜ÂkUú’×2ÝeWç,¥1„+ÖR¸,aÆ-KÑ€¥ûBáGü—ŸS+ ðú: ËY‰PÎà…×S¸šÂµ®¡p…ë)\GáF o pƒ²Ë­:=›˜½õ¹lzîÒm Ù} åI=ËJâ³Y]×¶æöNû˳Öw€Ðw éËõëGúmQ×ÅOIÊ×Hÿ”ÄÇñ+«ÁIb­‰ìáw¤[ì¡ùŽæÛ-9úü$]=úX„vº‘Âmî p{‘N}9Çkü¢£<¾ÉéÓì0vRxÓCŸÓÖðòt =3„×çû°ÆGÞ $t„7>·(#mà…9IeØ¥®ïáÏó-t?=W æDZ§ 2¦ÔíV–­ Àû·A²Œ¿ Ò¯xCþ«ûõ‰Ê^#èÔw\¾òöVS å Œ/'qU½Â; þÊ M_ÎÐcwQ/µÂ¯ï¢ðN qHU{ã ö(9k/Äà§[ƒ ~{¿uœ_5˜Gs^Nüj‰ÎGMóÐÉ·Qñ]¯j²?_œW÷Ïóò¦Ò¿°Ú$jþºUúc¯ ‘&XÒ[uªœ–¼ ÊÖ4AßÖ¤ÑSîƒ`OYöž{@W=±õvû÷v~i†`©v濘õå÷¸§èµÁi êK$æÆ [(9 ú1T:ÀÝèU9ÀúTƒÛ­° Õ µ„KF90ZÐ"®ÁX†ºLd˜ìÀý†:•¡ž ¯¯bÐôW3húé}&ÃlÂÂl†y ó 1\CÐ×Kð‹òu K Ë× ,w`꬘AX˰š ¯×3lpà†Ml&l!leØHØÆ éõõ„­;"pÃ:ÂÍ}Wv3Ü‘{úÙ½hbкî#4G@Óéç["ÐΠe"tD@Óé燠‹áA_ßÃpo¸ŸA×ó 0œpà$AÓ>Äð°§æN3h}aÐåY_kÚGÊÍs­Ëã1!ÛƒO:pŽá)>Êð±|œá1ñq?´àSØèŸfxÆgž‹‰gþ´€Ï0L |–ð9ÿƒn¯õõçt¿ôË}ý†/ÆÄŸ1L#|•A뤯¿Æð¼Nø:ÃWxœñ_tÜ7¾åÀ_3|;&þ–á{„$Ä÷àMÂy†·àÇþü7ž'¼Ëðá'„÷à' ?/àŸš÷/Ê€,÷ç~‚þÌ!W’ñ>ºpèrªUµ£ëxK~}Wk ô!?—!}SÍ>æD+ž;J|£à߼ˋíD˦{nš!É•øf¢,¹¿P*fîíôMšâzn¨ñÜöXµë±Æc퇻V…-7TfL¿†Ã]í>ÛÛñÛ|çÞ†Cyú¿­«ûy¦ß0£á£Ÿ–TçzÕ^Ö²g-;»ŸµìYËn»Ÿµì~Ëž9Ò4hV5jßÜÐÕÑ|ÌõJì]4'••ZÐ7âJ®bÙìûÚÛpî˜k²"UµÓñš97Íœ›fÎM9}æÜ4snŠißArðkôï˜þÈ+Ì9ç­97Ågï†Ì¹é%–ç&ۂ̹)w"Ê鞂̹©Öù9¥sæÜ2禓 snÊùá½ snÊã+ÌøÌ¹©ˆ¯2ã3ç¦=\òªÝò2禖ôI}]òkÝò3ç¦*>snJòjÀŸ¦Êœ›:û¾Ì¹)ÑOgËœ›Zäÿ½Ç¦×Œ„v˜ Î|Èœ›Šøy¦¾™sS»\g9F>×8ÒïHgæÜÔ‘>Wû|CÈœ›jú̹©#äüÖ»­gÿ–97…ôÛ9éÚdÊÉœ›ªøÌ¹©â—97Íœ›Æu¹¸’uu·ƒ³«Íœ›ŠøF3>snjyn¸kä~HVãšË²iæÜ4(ÇÕ µºÓ“97ô}æÜTÇ5ã3禌ÎUÿîg¾fÎM‰ïCà.ƒ;O™ñ™sSu97eö±¥ëŒCWÏåH¾®ôgÎM™sÓ̹iæÜôCÈœ›ê¼ªyÅ~™sÓ̹i¯Ø#M¹Èo®z.snJ|çS¸(¡>‹zÕ™sÓrÒçÐ?snC.ò[LaæÜ´ –:ì̹iÑ~H·1í¡l³ºÎœ›BôÉ=åõ*‰=¶&²GæÜ4snš97-þª!snJ¿>QÙk]æÜ”_kúr†»‹zeÎM5ßFÅ7snÚKuªœ–¼ ÊÖ4AßÖ¤ÑSîƒ`OYöž{@W=±õvû÷v™sÓ>08-!snª[‰N¥æÜ”£gö¨‚̹iæÜ´üüÉœ›v[næÜ4ä¾×Ã÷“ÊÕ?ž‡)|ˆB\yÃî™sSþ™sÓ8é(è0g(Ìœ›fÎMsôc¨t€;_ªr`0C5dÎM§BæÜt¹+V…` dÎMë snªÑ™sÓ“97E¬xÒs O9ðQÈœ›j< ™sÓoDàuÈœ›ž‡Ì¹)Ç9_‡ ¿À@I›]Œõ¾ÀŸqû ©V+nnîÚ¿%¬ âzØ|ñD{®ÀW|Yæ´ÿ£oN=ûŠ~iã|né}n@~jã^âEÏ_ ëA\m[ç¢gn«0Þ:íK(í®iÙ]\ §a è)™!àÒÓÐÏò)—š 'ÔF@ÓU TøHصù4—tä·µw:übÁEó:Õ¯¥5?¿ôxÐ'Ö |Û‘íù¦ëÕæîùµêkËRôßÏ/ÖjU¢½{!øÑKeè¤{g¤@4ý‰¦Šh°•š³üš3’J±îíñí? GWïáÄ»–x`Ï¢.ÓÁô#€q“À÷UÏîfòð¥\AñH¯G)ã@RêˆnÑé´ŒÓÊT’‰÷&ƒ?úšB²&ƒ?’š AÿVÓÈ>zbòç`úÁ :|ÉßMñèò™ÉÒ>›Ò1—žGéŸCvÅŠô¦HÿLzv!¥Ó} K7翘ø_Káu.%9K,º,']Vñ­å_CÛÓ‰”Ÿé\zk®Ï{5ñ^K<×Nëˆ7NT¾N´ˆö¢Õ¾¦´_佉ñÞBôÛ(¼‘Âí ÊÅⳕø¼%¿EœÇG(¼‰Â›à÷äwß³£M® »Ž&qô}+Ù—ã*Aw;¨ GNw9ñçõó'u¹l Û5L=‚逴y¢½|rM`Ö%¤ÛG:ޤg 6ñ’üf’ƒyZjq–³’ÛZ ÕoX°Ì¢ðn’ÙN: -;)ì¢ð0˜~ª:,zèvÂfã & µ=Ž‘^…¶ÐÛJzÝG2 ''‘¼ûIÎ60Û£”†‡è™‡‰þ¤…æ4Ñoú^‰´“óÈ"—;õ†.©×“þùFb_¸’‹,gÕ=â¿ÕBEHyé {«êL.PŸjœúòeTTº‡9åÃ¥Rþðdò/’?Â-?0CTkÒL*ïRóyy´`—|WýéLG®YÒ‹™³Û]ù®õr¥ë2p·7£Íøƒ.ýðWþ+Ë¥ {»šäW5·56·í[{¸m¯z¿ (â2Ë© ›rnSLÊG…2Ñä¸38ðP¾WFxL7 <²Q9Tîž…Ç:, ¢«Gúqà*‚fÕ‡E°Î-”?>¢ÌøÀéuxo¦-½.}'™ü?çyŸÉ&Ÿû¥žõF|î Ë®{£ø.—>6½¦8ô‚ðšP¶¼©« Ýe«qìz„ÝæÐ”Ë–ŽÜÚ|Ø&7™KÜX?Ý¡_ CÔW]åßÕŽÌ`ñx=ÓiÇÀèÕ}n ³ã,pµÁD³ú¸ËS9ö˜î|žkÆ\'Í3ãw„ØG–¶üÿÅÕq~B.3šÏŸ6&®_pÕQGY ç™rc¹öŒr9×€;ƒ»®šnvÒ®«¹–¨¾ÊtÏ“k²ëu¦^§y|¼ÿÒòþÛ"¯é K¯l þ+^[îN¯ë¾íäp›½–šö’'UŠÓz:ó-MƒÚ/KÀxðÌúü±:—ÿrpÔfüA¿È_…5F<šÂ¤(s•!3Þñ§añ;¾39É¢rR=‚­´Ušø”Žý¬ˆ¥—ÿ|Eºzí×|s`~•V_´ÕÜ”GsúË·þZ¬¿t{4磿JÇùzm;N•ý½®RüŸÑz ‰eW?]CÒµk—æ;ÌrU å|eWsA¹Ò&³Î×½*g£3Üßß}a2?,=‘+•¡¡W6¸Tߦ®KG¬Öªë’MhñU}})…ê»d®TWèûÐA}­7-Däq3§O+¥ÍCç5PðeªÝÀ¹v3ós¢a-½=Y þ\)K­Ïy4z\Ëp~†\‘¢á’dXïÊõ+mšr‘ߘ„é“¢üˆ;?„’¯¤p…c‹Oªù¼žÏ’Uœ>MKN p¼zþcZΤ„zMJQ/-PªS×÷ëëÉL¯$g,Ô«Qlê’ÔÔúÓ¥ùôÔI,Žô âö»-@šr=šC¾Sæç”^M¿ßõ®\ßîiÊE~æ]ÉyUß·ÄŽál g)úš篪!8?…qs)œ£ž9«ŸÁù¤]ù&£†àš¹íù¦µÍù–"òÀ9ª$¯  WËÿþ‹$·«'åö³¿«³¯« Ù‹Ôuq¾NëПtù%næS¸˜Â%ÅçÔÜ^_£®K'n]›Ð~×ö`¾Mc¼´ÍpNn¡B-ù,Ηñež4UP:õŒ^»ŠË r¿äàëþ•"ø²Ëò ÀrÏÝœÏóèy=5£ÛbJE=§ó`ˆÈƒC?ñK”O|ŒÔÝ) ¦ÿ0=K!ب•æ“Ê¥»Ó™.³(&ç%“è·,eýVXäÛæžV¦˜qÒ|~e-/Æù‡[¬Še#¿#Z•¢ˆw/ñÉ…€ïŽ;',î;&Ct‡:c‚K Ãä¡—3Œ&\I+Æ&2Lý§ÆTø!zÓìt „ ú° }=‹aNæ3èôÛ«àXÀ°$–E`%ÃdÂ*N}}=ƒÜ¨®¡7ÊóC*6†€ÓlfØš<Ú¶;Bæ;B¤r á6†[ôn#}˜Ä ü€Š‚®‡{´y†& tYÚǰŸ y8HÐO´2´G #Ž8ÔG<¡íqœáCØáaRœŒS1ðhÎ0œ Áv`OÒ Ñ›.86Š ÝÖ°/ß±ãxgW¾uS¾ìÍXÍMMí{¤»+°k¬/+ÛÇvŽyŸ¾Ñ;Çð ŽD°¦Ú^ír`îMÇxE`O‡£œòÔ»Ç*‰Õ™O´‰f0Ñ`í¥W«Ò~ô)àïGG¾ÃÀߎò§Bp9ŽÆð«Ô\¢C]Ð=|FO1Œ ýk-ÏãýUD7ŠžI¸Œè±§¿œî]Éx –/´Ý8P»†´.-to³]-ñàÏaz÷2ZèïO";ÖS8…þŸLù%–¹%Ýkÿ¥ˆW¿XKoøó9§¼ÜV)¯Ü+úñžpÎ+^­šZöu bëÇH›Âä2le„âb«G`ª¹Õ#·MÆ‹­Ò+ù—bB&L&‰ú·ºÏYÙ±ïpk¾­«î®¢ˆ»êZwvÕíÉ×íÝßÐѰ·+ß1uΦiu mE¯E[VFJÒIeØà EeÜ»Nr7Ê,Òåa‡¡Pµ[¡R¡¡&}Yë»@”u‡üívºÜ[¥K'{ng?«\ŸOî&}m[fáw£È¨ÿré'ïËx´{ÃN©•î0ƒrE†õ„"²¤ÊhSd¸)ðy!ðyYrG˜ôŸ‘ñµàê–ì«ÀÃZwzA_Ú_2g"½Ò ©ýÀ2“§sHÏgÑ þQñ´2«Ø%iáz†¨'ŽŠG™ôyp›Nئ¿žùÑÓËm$d øc²–tT1ýC¤6è„Ï@×SýÓÓVÝI`ð—¿yÌÁŸNçSVwö!ø'/qf*Qªn~þå›Utò¨5úLõ%àbX ñ|Ð_NõRß«ˆ~ñ}q¡d.0Â1‡’Éz…àP²g{‡àP4^/áQºtãËüVNŸÞÊ•nÝvéÈËWE,ýü¯3)ê§ùÔŸ\ø„u%Àp$þÒƒiªl³Q§µü…ìuãË¢ ¸ý»²×}D¹QȌ㠣æÃÜÜšëæˆ Ø˜ŠæQŒ=` pÌ£|ôi©Éü£áýK ØÅë^h„ºþŒêâýñ†êbÕ¸EvýÃ(-úWá€ãWVýl'Ù¶ºÉ¿¶VF ŠAÇ¥¡¿hWCôÑ[Õ`?Jk8ƒþ ¥¯µ|ù1êRöüHýJ_fГ°côtÐXž ®uÑ×c!ø‘ÊöJë ¯Ç3LŽFÒ¶Ð8Z¬ªqßõtPfø¬1#ºhGŒ•Žó$ÁébãÀϲÙ÷µIâÜ1×|~ªjwï\¶Ð|©X¹eW_R°g¦îkóÍGò8wë³ÕD~ìÒëà·B±íÌýâMßc?†ý”ž×ý•žº/´U¹ÿ˜Y¤æq²Èoã‡m7¶‰C‰~ø}â0ú¨¶x"ñÁxb;~-Ó Óµ ü6ÛØËXšt1mËÁ<´ér¢×+Ÿ®`<4Í8ºO4u` ‡<&›Ös2ÑÕƒù)?œâ»~pÝ þa¶ã4=~,ïÿp+ Yö:Ù%ÙÿzJû*Pe¬.Ð}ñA½×‚:ýz·Š/ê½–tYÇäëòºŽÉß@t-zndt›(›É6[Hï­ü†Ñ£>Û ø€Ñ {ZÚæ_Á,—Û)Í;Á?`Ó¾ƒäÜTÀï˜þÈk âå½FÉžÁ{î}üò¼SÝ+†§Á¬?iäùcD{†ì†‡Þa¹¥ýIJ{¡Ëýü¶SÒ=f›zýéõ4éñ1âU°÷¡û'CtÿéÊë?/;º?áz-`z} ìåé,yÿÇ–¼†t.´Ù9Ýhÿ$Dçç”ιáLçá$ïy–ïø,–×Ï‚j¯?Åö8÷3õ÷…Â=ì‹x{ýñ{‚ýÒKúùDÿ"Ñ¿Dô/³üy…Òñ% _¥t|™ÒñEzæ+LÆ4’ñÕ‚ŒÍB§¯ýkl§ÿœÂ¿ ÞßU±Ãväë~$åÝ@ñèÝb—Š/æC¡ßʽ fÿô˯o‘eIçw(ü®Hç·é™¿¿|ý=û}zæï)ü!…ÿ@áÄãà¿KN˜ÌBÔñG”¶7)Mç izÌ~æm ß`?ó³3–3̧aôÿ—Á\Úñ<Éx·÷³ooÞ¿½ùG&ï§ ÚžŸÑ3ºíAÞ#À/Ï(÷§Œòùg )øá½(¿€R»”Ãxj—r€Ù×ÿŠžûzî×D÷ï"­zÛŠòçÛ½¹çÛ»½t#Êm›>’¯+}ýÀ•¾à!¥b%GâCJ+Á¾d+6 UÆ‹ò&¡ï*›¾6½ÅR®ùÝÆ›å–ë>=‡óu/‡ð~(õË!êZí–÷¦”7ÔL÷Wy´É«qË;/å‰ö·lú¹ä wË{[Ê3¿‰{õ®ú¯õuɯuËGÊ¿4|¤ áõ'L?›ž£ÜzþXʇ\Ž”ñ£ÍxyÖÂE9ýn\=]gWø¾+õ0Ï ŒÔã;Qù)Ξ”íç[Rþ“^.yW>Bõ f¼ìûÞIÚ÷M4ãå³ïIúI½÷?ÙŒ¿Á¥_=ëÁYÆzNg{Ç–Î0½ŸëôÈ¿÷¥|±VŽ"å%;½1xªŸ8½Q–“÷må¤(üo—6½f$´ÃLpæÃû²ÊØä»ì4+ÂN³xï\„|ëÁæÈgŽ;ÝÒ…Ñ{a|æFè;ÏÔwF¹úÎO /Ò/0éŸvÕ/ðÇrß×òõ»„þ…å׈ô/r¦?0vµ–cä#NT [€(Ó)ó1¤ž„çïâˆô™'5FæohWdž¸X¶;µéIÒçjŸÅ‰Žr-ÔxI¿Ô´C½Œ_ÃN6»,7õØÛÝöe…3]Á±ùJ“^¼{™cFm—üU å_a×Õf¼ìŸÏ‡Ùu©Gàt­ßêâr~ëÀ]Öƒ³³¦ÃU~7¸íè×6:ìl{7¸ÁM¾;å´·Ú9éÚdʹU¦{³Ü5DÞ´·¡ W·îÌ×µ¿Ÿ×µ7ÕíÅ“ê&wÖ5·ÕµåN¶¤Î¿×Øžï,®ˆÍëÊ·5ÖuíoèR±B-¦÷ÆmO¶:Ÿ K¸ÏèO@éç*ÿå†\ßmà®77‚³Þ¼´Þlg½ Ì•ì0éå.¨·£ÊÛΈô}ĈÏM°écã{¸ËñÍ¿n<|¨¥yoCW¾±®³¥P8‹~'—Ê«`z‹ÁÔÛ …î2…Þ#ãog£0þm¦q&ºŒÌo©Žç‰ÍM¯³RÇ«\»Ý¬«»œ]m õw€³è½ëN½ÏçNpÁ»ŒxoMÜ.¶ÜEpÉw­ŒßkƯ“ñfüzŸ7åÇêÂêÀäæ¶# -ÍÅ¢_×ÔÞ¡*kÎEu ¦p%6[6Aüf›?·Ü5r?$«qÍeÙ´§kÚpÕ´Ü$Ù¸EmX8hò‹œDj1­(¡ÖFÚÕ µºÓ3YÒ·™ôrRâM›þ.{¶»åá‡Üòßµéï’·[þ)¿Ã ÷&†è[\#ˆô&ýS6z©ŸMÏ.·žS¥ž‡Ývz;i>wË}ÔŒøc?fÆ^‚Ž›v:'ãï1Ÿ¯²¥_êf_Î÷Þ½î3ã¥7¿)qòÏUÿîg¾N“ô$°ƒ-½ºå]%ågyŸ&ËûI“Ô§wA®ÇCà.ƒ;O™ñwËøÓF|îjW>ÈvIÚM– [,Þ–ÞG Y}Ô¤ÚEÏô5 rùAxþÈ~ÑUw¤›Ý—NÅK¹î·rÓ]é‹j?PŸ3}\ý=—#ùºÒÿ„ïEL–»ÓÕ.Ä ¹~gMýby‘|$e÷ô5¨{ôuð‘þâj¶ÞŒå{èè§®KG‰ÒFÙÒñŽ´ï¹¸CofÒãÀð7$ûB^8~Ÿ‡(ßÜê¬~à5.‰qzc§Ok#ò£rT:‚zHB}†¤¨GýƇPòà1F_¥—_ž†¦«×›šoµº~K_S×çõu ðÍ„jü…×ÃÁô²1RÅ¿£ãk•^%o—ï=ãÉR¼¾³ÆÁx}9øN j dA€G_KÐæs@>È>È#IØÜ¨Üx=‰åQ%˜çy…ô“™ t^Uмb¿¤Ç¿¿§õšþ1çMØâu=øÇ{4Á‰×SÁ?v»ÔVð¾>–Ûv ·GcZ¼ž ±Êìûœ>íM²qêpšr‘ß,àGŠ«Sx=/¡=æ]${¤)ùÍUÏ=­ù/ˆg‡÷8ýŰCšr=ƒ"ßùàAžDŸE½j¿¦)ù-ãøóú 7F°wùA×úA*ç»90Þ퓤ïÉÓçÐ[ýQ¯% Ó±$ÅtÄ(—oõ„\ä·üãí“{-S Âìêàã>vbfÀ5Y0Ö‚Äx’Œ[–¢Kö…Âøqàj%^_þ‘äIW"”3ø_Aáõ®¦p-…kÀ?vÃõ®£p#…7P¸AÙ¥t^Ò&fo}¸Þ;tCvCyRÏò£’ølV×ǵ­¹½Óþò¬õ ôCúrýú‘~[ÔuñSE’òµÒ?gñqüÊjp’Øck"{øéÖß{h¾ƒ£ùvKŽ>N_×c>¡n¤p…;(Ü^¤S_Îñ¿¨Ç(orú4;ŒÞÄôîv€—§Kèù›!¼þ;¿Ø‡5>ºðN ¡ã ¼ñ¹Ei/ÌI*Ã.u}~(˜o¡ûé¹jâ© ¢uª cJÝneèѪ¼$ËøÛ ýŠ7TðῊ°_Ÿ¨ì5‚N}Çõè+oo5ZÎÀørWÕÛ)¼â¯ÌÐôå =võR+,ðú. 龜tQµ7ÎÐa’³öB ~º5˜àà·Wñ[ÇùUC²¿¦Xø6*¾ëUMöç‹óêþy^ުɾúV›DÂ_·Jì•!òÁ+Bz«N•Ó’7AyÚ&èûÚ4zÊ}ì)kÀÞÓaèª'¶Þn?ðÞί#ͬ#5ÂÎü³¾ü÷½68-A}‰ÄÜ8@a …)lSt“5]+…‡Ôýz}¿½xí•Æ2ëHÔzNŸölK’V¢SéÿT¼VÂ×›·~}µ•ðhÅ„G+ Pï»)<¬î—Ž»î¢ð(…Ç™=ª Ù)×÷¨ëª L†NcOœr$ߎCzù†üŽQx…÷Rx„”üiZþýžˆ§wé¹)ê-åNers$ï¤E^¹ùãÑŠäû ’s·¾>¥â¯Ö×§ÚåtÚÅUŽzYîUI¶²JË [!c»ïõðý¤rõO§ça ¢W^Ű{©]~.NùNS.ò{„ÂÇ(|¼øœZ±„_­ÎAª+™ôÑÓÆJ¦é/wÎ¥˜~ôt¤o[é(è0g(|"Vú}ߥO¤˜þ$vïe¹S{B.÷{6¡ÝϦ¨ñÉý–øä,èÇPé@†*3Tƒûˆoªj —2Œr`´ E\‚±`?Λc"Ãd¦0è7Ô© õ`úŸ½ŠAÓ_Í é§ôý™ ³ s³æ1Ì',dXA³×ôõ†Åü¢|ÃRÂ2ÂuËXÁ°*kfÖ2¬&èëõ ¸a“› [[6¶1hz}}#a«ÀŽÜİŽp3AßßÝ w$À‚~voš´®ûÍÐtúù–´3hY‡ÐtúùÃ!èb8FÐ×÷0Hß²qp?ƒ®ç`8áÀI‚¦}ˆáaN1Ì%œfÐú< ˳¾Ö´2”›çZ—ÇcB¶+žtàÃS|”ác!ø8Ã'bâãhÁ§°Ñ#>ÍðŒÏ2<Ï üiŸa˜@ø,ás:þÝ^ëëÏ3è~é%† úú _Œ‰?c˜Fø*ƒÖI_áxðu†¯ð8ã¿$è¸o2|Ë¿føvLü-Ã÷?Hˆï%À›„ó o%À üùo 7 „ô>7 ?µq/ñ¢ç/Ðõ ®¿¶­ƒsÑ3·Uoö%”v×4ì..aÐÓ0Òóšž’þ'= ý,Ÿr© ÁpBm4]5ؽ¸U$ÌSêÞ\î°ú7·uå‹ÎûŽ»©ÌVæ+ó‡Åé3X™?,Lû’ƒ˜¿cú#¯0N·Bæ Ÿ½2X—Xž{˜lw 2Xºí”tOAæKëüœÒ9ó‡™?¬IùÃâüðÞùÃrÌšeþ°D¼9–ùòéá’Wí–—ùò¤Oêë’_ë–ŸùÃRñ™?,’Wþ4UæËÙ÷eþ°ˆ~ 8ËXæË"·(ü…®6½f$´ÃLpæCæKÄÏ3õÍüaÙå:Ë1ò¹Æ‘~G:3XŽô¹Úçëú@æKÓgþ°!ç·Üõh=8û·Ì¤ßÎÉxL×&SNæKÅgþ°¿ÌVæËU¸v»!YWw;8»ÚÌ–ˆo4ã3X–çö»Fî‡d5®¹,›fþ°‚r\P«;=™?,AßaÐgþ°tüQ3>ó‡Åè\õï~pækæ‹ø>îò÷0¸óñ”ŸùÃR×™?,f[ºÎ8ôqõ÷\ŽäëJæ ‘ùÃÊüaeþ°>„Ì–ΫJ‘Wì—ùÃÊüaõŠ=Ò”‹üæªç2XÄw>…‹골WíùÃ*'}ý3X1ä"¿Åfþ°Ê0`©ÃÎüaí7tCvCyRÏò£’ølV×™?,ˆ<ª2ó‡ÕÃöÐ|Góí–œÒQ´¾2X¬ÿ™?¬ÌVUöA—ùÃâך¾œ¡Çî¢^™?,Í·QñÍüaõR*§%o‚ò†5MÐ÷‡5iô”û ØSÖ€½§ÃÐUOl½Ý~à½]æ« NKÈüaéV¢SéŸùâð(…Ç™=ª ó‡•ùÃ*?2X™?¬Ì– qåU »gþ° ûfþ°â¤o  Ãtœ¡0ó‡•ùÃÊYСÒ~s•ƒª!ó‡52XËXÁ°*k ó‡…X™?,vÈüa„Ìb…À“œƒÌ–Æs1ñ,dþ°¾×!ó‡u2Xç Wýa!¾D7 ¥5ß±=ßyÈáDħ¹hN:úT˜_z<èBdP¾íÈö|ÓõjÉW÷Ü€¤‘F­hϸ©QÎCV益ÜÚÛbë˶o…wBÇ ò ¾`¿eh$øï…úxN¤@4ý‰¦Šhð}wmßñÆWS|-ý¯ÝM õ.ƒ¼‡ïZâ=‚=‹ºLóØeŒ›¾»zv4“‡ÿã{Éôø‡}~űmÑ-#:–ñ`?•dâ½Ét¿‡L!Y“Áÿ2‚î@¦‘}ô{ÜÏÁ|•îaNùp©”?<™üK£äpËÃ[kÒL*ïRóyyS—|WýéLG®YÒ2éowå»ÖË•®ËÀÝÞŒ6ãºôÃ_ ø¯,—6ìíj>’_ÕÜ֨ܶoíá¶½êý& ˆË@®3øýûÞp›bR8*”yvî€;ƒ å{e„ÇtÃÀ#•ÿÉîYx¬Ã ºz¤®"hV}ˆQëÜòIùã#,:ÁŒö3ш÷fÚÒëÒw’Éÿcqž·ñ™lò¹_êYoÄçºìj±×1ŠïrécÓkŠC/¯ eË› ±ºÐ]¶Ç®GØíaM¹ÜiéÈ­ ɇýar“y È•ñÓú¥0D}ÕUþ]íÈ ×3v ^ ÑçÆ0;ÎW»<‰¶Swy*ÇsÀÏsÍø€§‰yfüŽû¨Ãe–ÿ/࿸:ÎOhÃ`æñBóù³Â†ÃÄõ ®:ê(«áü"Sn,OhqC.çpçábp×UÓ+AÚu5×ÕW™Þ r­Qv½ÎÔë4Ï÷_ZÞ[äUB ]aé•mÁÅkËÝéuÝ·´j³×RÓ^ò`/q¸Ag¾¥ÉbPãe žÙAŸ?Vçãò_Œ?(ãWB¢ù«°Æˆ§c@Sø€e®2dÆ;-.,^ï?øPýŸh ž©žXSÚYF|J§¤UÄÒ˾"]½ök¾9 +)¼DÅç¦<šóøüý(ì¯â÷éø–ôØöØNŸc¿Äk‹«ÿg´CbÙÕO×tíÚ¥ù³\U«ë„'±¨¹ \iͯYçk„^•3Ñ+ Î3Z|a2?,=‘+•¡¡W6¸Tߦ®K'ÒÕªë’MF¨ëþúúR ÕwÉ\©®Ð÷¡ƒúZ¯ñŒÈãfNŸVK›‡Îk `}ŸÚ<•k73?'ÖÒÛ“ÕðáÏ•²ÔúœGó¨Ç± çgÈ).I†õ®\¿Ò¦)ùI˜î1)ʯ¸óC(ùJ ÇQ8¶ø¤šÁë‰ñ,YÅéÓ´ä Ç«ç?¦åLJ¨×¤õò¨Æ!ß:u}¿¾žÌôJ²%µ^•ˆbS—¤¦Ö§˜.ͧ§6®;Ò3ˆÛïb´iÊõh ùNI˜ŸSz5ý~ Ô»r}»§)ù™óˆ¹Cƒ fxqÁÉÏ>_Æõ›æäЯVôðû…~µ õ‹à§æ.PO}Pít%çU}ßvp-†³)œ¥èwhzœ¿ª†àüÆÍ¥pŽzæ¬~ç“j t囌‚kæ¶ç›Ö6ç[ŠÈ稒¼þ-€^-ÿû/’Ü®ž”ÛÌþ®̾®‚d/R×Åù:­CÒ!ä—¸˜Oáb —ŸSsGx}º.PrmBû]Ûƒù6ñÒ6Ã9¹„ µä³8_Æ—yÒTAézí*.ƒÊQü’ƒ¯ûWŠüáËN,˃ËaÏ£çõÔŒn‹ý)õœÎƒ!"r ýÄ/éRë4G(9X ÁF­4¯˜¤P.µ(ØÎt™E19/™D¿e)ë·Â"ß6÷´2ÅŒ“öàó›(ky1Îß ¼*–üŽhUŠ6">Þ½Ä'‚Kä¾Ëþ„â\Þ 0÷ýeÐ>ê8ŒaDô~Ýa®ý¾—3Œ&\I+Æ&2Lý§ÆTøž^½ÇhºÀ ½·W_Ïb˜ù :ý¶½½ –$À²¬dÐû¢W1ètêëëä¾> ½¯ïéÝN³™akBðthÛîL™ï½ïüÂm ·0TôÞÛ;ø~Þ‚®‡{´y†& tYÚǰŸ y8HÐût[Ú#БG œ?ê£÷éj{g8ƶ7 rÿîÉ8Fà ÃÙœ`ç$ÔüzæÿwÁ±g¬S{Gëá–†t¶SuoCqîÐÞÒ˜msëäýàDoÛjËìÞõ1p8_“#8tÁ®¤ýÃì¶qxS þl8˜[40šñij8S jxt£H.ΙâP‚æ9‹4C/ä‹]ðâ5xO!¹#)=ýÀ?NDoGï4ËÁ?>¤ž¥õ^æ¶ |‡y8lØH6@ýÐ=”5–é_þ;ðx0·–aü$z^1&Í–¾i,=ÚVWÝÕL7ä‹M4#î«ÕNn)ãô³Amw©%z|¯CÏͦçæ2}擽2}Ý"¢ÃøÅto “¹„ì‡ï²Ÿ&û-%û]GôËý2–WØ%¿LϬb´˜O_skÎjn#Ãn‡…!…·ŒøÏ%}ðø¯ÈfëHŸ $c#ËíF–öMD·™Éß þ3”¿h¶³´mgiÃídÿ;={={ ånjûòº™Òüˆ4ßFÏÝNáD¿›d†Þ•àמ^gîbz†^ Åm¦¼ÚHò°ÛȞšGÑ-ƒÒv—BÁÝÐNgCûVXC+679*gd]ª×›"ä–Ì÷dRÌ}MÊ-7×x7ØêZ˜>®1”kŸ?w«ä;׌?î*Ò7nCï*u û·æÛºêºÚëü¹ ©ÓŠnWvÌ#‡+­‡;»êö7É×5ÐÆÒdϵÜIžPiž©Ò½1MyŸ¾_Ü&qJ¿0“Ï0ù3þ «Èëá‘”ãªR #ä‹íA·Èxs[9ô êWÞÖܺq¹Û²“T±)r»—¹}Èû©Œ7· y‘ÏÖW&—¾KÁÏË I9³÷V®r¶<¡½V¤hÎw%¸›¢U¿)j 4EÅÖ†¼mæ›»öç;ê üÖ¨]]ÓESñ¢±0´¨;ÔÐÑumÑWgWÇá<÷%ô»z®]Šc¿Õà.GkÌøÀV̵füÛk€”‹¿jð_ÙÀBã*{ëÀYö¯ëMúÏÈø füÍ®²–6|7ºõ Ô‘Lúç½¼¶Ê·é±ÉàÛíÝd¥eŒHS Á)*½<É_–ä¯äKÐi‡•±³Êc;Ãpê'Éΰþêéõ?Ô|Õ´ ê“ðº ü^5Þy4e´z·Ø`ðwy”¯’?¤´~H<õÒ5? jL€ñCÕ½›õõpÿ#}=L]Ñ×µ±lé?_›®-K^;G¨ë’¿ï‘êú¼¾Ö;Ÿ.S÷ßÖ÷G¿Cu¢—öãõh¥Wi‡Õ0¶oüXß×Û;êÔýwõýqào¯yZzeô˜£òñàï£Àp¢åAöʆ$“•ÌŸh|)|%˜K‹¼Aú©,Í:o*EÞ°_Ò%úïi½êÁ_ÚìQÿŒ×Ó€/ö]B_­®KÞÏfB¬²ö>§O±¬ý£æ²»äê{Ós $wñ;W][]üöà«M9»iæ©ëÄ޾祘5šOÚ»i4ßÑ|Ëâ¯ùé¡–GC0mÄŒ¹ºþ=Nß{«Üýn#M¹Èo>ø«Ç1\þŽ ùä O¢®Ëy½Ëù;IŒá±ƒ·s›oÞ½âazøªxÙdèúçj2®Süþ"f=,•—ëRÌ·$‹oÓ”ÛÓõõ]þÂê$ö]Ö«öõGiÊE~KÁ/_x½"¡Vôªür–¦\ä·ü…îÝéâWAxß[Såô÷×Cyýýõ)æÃïkïÑTÚ§8J¯¹Œ!Æ­¡pµŠûŒ~f=…(\§âK¯zøª#O ú^¬“o÷„\ä·Qñ/mÙOŸ3œ>å²é#>9 B?ðw‡iè,ýÅ}D•ƒ†„ †a8aa¸#ô¦l.c¸\à {–oCÐ×ãÆ[0¢Ä…m‘èÎFM?›AÓÏÓAÜ<½d!˜Žá×0,ßœ†ÞrÂéëå Ë+ÀÜd± Ì !+Â6‡¬˜KØÀ 7èë¸Nß¶0l Á†í„ VrjÜØ;ÉÙð™°—€¦Û#°?zSˆÖñ`ÚE “ é»bB–ÄQô†½‰ä†û÷;p_€xNÞ´ÜÓ!À¸Jålþ@˜N„ÚÐCÐæöF—¡MŸu"T±rË®¾´_¥gv‚Ô6æ;šäq+žó£ö…ÄÞ¡ËÐG¡Ø_ç~ öþXv°OÖcìwq|PK÷°¿Ô+oðº0–Èý˜«êBp7È ÆÇ Ø—%úA௚þJv'L$>#OÓ^ËtÂt-߉öý—±4é4bÚ–ƒ¹ŠýrðÇ õ¤—æ¡iÆÑõx¢©sò˜þn ­§ÞRþJmÔÛVG`›¼|G3S!èxHÓã |'K˜þéôÜÕôÜ ¦Ï,â7‡é3Ì] ?Ÿî-`2ñl“qNì¨b‡ã‡té3zü_ï4Àñ³àïÑ´hûçÀÜ=¤ËÕ ¦ãrâ³¢e¯“ýW’ý¯§´ã8Ë Ž ï0Þ×Ôß}¾I¶]Mz¯%]Ö1ùº¼®còm»E´žr·¦q3Ùf é½µ€ß0zÔg[0úàï$¡Ýð¯`–Ëí”æà;*´ï 97ð;¦?ò¨xy¯[èÙ[)¼xì"ûwu ííDs'…w*¿Xöè¹;"ä4R˜'ú½$§©@;麔xà³X¶'‚¿û Ç#‰n™CV+…m$«…dµhׅȺü.׬Î²ŽŒÃ¤o¡›ðvR~¥<ê"Û§<äíÖ7ݾ{û¦wˆð¶¢žè$¹…±†‡×º Õ4ºLžÕ.œ$æ¾Pï}22CêIxþŠm}ô™[ì"ó7´+2·Þ•ëXØ›ž$}®öÙÜêpT;^Ò/5íP/ã—Ű“Í.ËM=öv·}YáLWpl¾Ò¤ï^æ˜QÛÅ%UBù×GØuµ/ûçóav[àï¤kÍøVß°óÛÛõHlg“ý›5®ò+¶¿Eökæ¶¶À;IàÝà7ýùî”ÓÞjçd<¦ËÜVÜzºÙŒwn=Ý´·¡ —~îÌ×µ¿Ÿó uÍmumù£S§-©óïéÝ z±i×þ†.+ôØbêáÜbÊŸÛê|.t.¡[[S“†\ßmà®77‚³ÞX·ªºêÍvpÖ›À\É“~¤K¾-};#Ò÷#>7Á¦ïMà.Ç7Cür<ºñð¡–æ½ ]ùƺΖBáÄÕÑK‚ûžo1˜z¤Ð]¦Ð{dü­àlTÆ¿Í4ŽÐ,­.IrnmLm£%•£Ò9JCê3$E}ø9JƒÕuéL¢¡±ôòËÓÐtõ*IT­®K›ò‡©ëÒ™D5`œ]TÚ ;Ì3‹FªøÒ™DµJ¯Ò™D—?«È?“HŸmDg•Î$Òg˜géÃÆø‘|PœITþ¹GŽW:”Î(šÉÎ(šÌl óªRäû•}FÑDðÏPâÔƒVߨ>ü³‹Jmïk÷®W&†3ŸsšÏlH¶¡~6¤Wf“Ôá4å"¿YàŸ™äч)¼ž—Ðó.’=Ò”‹üæªçžÖüûö@¾Ò”ëÑùÎÿ $ú,êU;øå0M¹Èo!ø!y›¡ß©pc{7‘t­¤rþADÆ»}’ô=™búúoK¢?êµ$a:–¤˜Ž$ó¤)ù-ÿ©BúŠ‹ˆÙXÜê¶…]OwÙÕÁÇyøUi áʰ¥èD¥RÆ-KÑ€¥ûBáþ ?­$ÀëëÀ?ñ'éJ„rÿ+À?1ÃÕàŸƒ¡>f˜§Â¬ÿ4 oÿ´NÈOG î“‹ÆPžÔ³ü¨$>›Õµõ£´¿<—sRÑuø¤¢-Ð÷O**Ç[ÙÃïH·þØCóÍ·[rÂNlD;ÝHá6 wP¸½H§¾œã5~QQßäôiv;)¼‰éQÎ f7Cxýw~±k|tá@BÇAxãs‹2Ò^˜“T†]êúþüP0ßB÷ÓsÕÄSDëTAÆ”ºÝÊ2УUxÿ6H–ñ·Aúo¨àÃ!`¿>QÙkúŽëÑWÞÞj ´œžŽ^_óãèï-÷3èzþ áˆwDýI‚¦}ˆáaN1Ì%œfÐú< ˳¾Ö´2”›çZ—ÇcB¶+žtàÃS|”ác!ø8Ã'bâãhÁ§°Ñ#>ÍðŒÏ2<Ï üiŸa˜@ø,ás:þÝ^ëëÏ3è~é%† úú _Œ‰?c˜Fø*ƒÖI_áxðu†¯ð8ã¿$è¸o2|Ë¿føvLü-Ã÷?Hˆï%À›„ó o%À üùo ˜N|·û¬Hç*лš|Þ«‰÷Z⹆tZG¼ñïu¢Ý@´7­vÓ¡] ïMŒ÷¢ßFánU.vŸ­Äç (i^<~œóø…7Qx³à±ü9 »ÀŸB›\AvM:ã{Û­d?^Ž«Ýí ÞÕ8ÝåÄŸ×CÌg|GÓå²lWhë½L¤Íí•à»âi³.!Ý>Òq$=[°‰·ä7“ÌÓPß•±œµÜÖí²–,3‡(¼›d¶ƒï°“Â. ƒéâ£Ã¢‡n'löÀï€÷0{#½ m¡·•ôºd<@!¾›M"y÷“œm`¶G'( Ñ3ýI Íi¢y„hNA°>=F´Í£¤ç™‚ì#DûÑ>I4gI·£`C¯vû©÷ö &á1ôÁcÚ=“>ñ1í9·¼ýR^…IŸøØñ~à’—‹:†~—Œ¯4ãÛ]ú~WsýØý£ôîoÊ œj0ÀŒ—§OXÏâq•ƒª„v2­Ïí“ñæ±õ‘vržöà²Ó`§ÞÐ%õbÒ?#èC¾ùå"ËYµCp;Èo]PR^ºl÷QîPgúsúTãÔ'/£¢Ò=Ì).•ò‡'“i”ünù#ykMú‘Iå]j>/Oeêï’ïª#éÈ5KúQ&ýí®|×z¹Òu¸Û›ÑfüA—~ø«ÿ•åÒ†½]ÍGò«šÛ›Ûö­=ܶW½ßqÈu¿ßnSLÊG…2ÏñÏpgp á¡|¯Œ0ð˜nxd£òEÙ= uXDWôãÀUͪ1Š`[þ )|„E'˜ñƒ&ñÞL[z]úN2ù,Îó6>“M>÷K=ëøÜA—]-ö:Fñ].}lzMqèá5¡lyS!VºËVãØõ»=Ì¡)—;-¹µ!ù°?Ln2o¹±2~ºC¿†¨¯ºÊ¿«™Áâñz¦ÓŽ!Ы!úÜfÇYàj7‚§òÏvêã.OåØc¸óy®ð:1ÏŒßbuÐÌòÿüWÇù m¸Ì<^h>VØp˜¸~ÁUGe50œ_dÊå-nÈå\î<\ îºjz(H»®æZ¢ú*Ó³A®5Ê®×™zæñ9ðþKËûo‹¼J¤+,½²-ø¯xm¹;½®û¶CWmöZjÚKò%:èÌ·4Y jc¼,ãÁ3;èóÇê|\þËÁ]PW˜ñeüJHT Öñt h ¢ÌU†Ìx'Ç…Å뽪ÿ­Çó ÕÓkJ»ÌˆOéÄ´ŠXzùÏW¤«×~Í7Ga%…—¨øâÜ”Gs‚¿×c…ýUü>?Ð’Û>ÛItì—xq•âÿŒÖcH,»úé’®]»4ßÁ`–«juðT5”+­ÿ5ë|Ыræ1:nÅ!Áy^‹Ï!L懥'r¥24”ÂáÊ—êûÃÔuétºZu]²ÉuÝ___J¡ú.™+Õú>tP_ëõžyÜÌéÓÊcióÐy ¬ãS©rífæçDÃZz{²>ü¹R–ZŸóhþõ¸"–áü ¹"EÃ%ɰޕëWÚ4å"¿1 Ó=&Eù5w~%_Iá8 ÇŸTó!x=1ž%«8}š–œ@áxõüÇ´œI õš”¢^Õ8ä[§®ï×ד™^I¶§Ö«Qlê’ÔÔúÓ¥ùôÔ&vGzqû]Œ M¹̓!ß) ósJ¯¦ßozW®o÷4å"?s1w(b4ÂìA¯#.8ùÙç‹Âø¡~ÓœüúÕŠ~¿Ð¯6¡~üÔÜê©­®ä¼ªïÛ±Åp6…³ýMóWÕœŸÂ¸¹ÎQÏœÕÏà|R „®|“QCpÍÜö|ÓÚæ|K‘yàU’׿ЫåÿE’ÛÕ“rûƒÙßÕÙ×UìEêº8_§uèO:„ü·ó)\Lá’âsjQ×¥ÃJ®Mh¿k{0ߦ1^Úf8'7‚P¡–|çËø2Oš*(C¯]ÅeP9Šß@rðuÿJ‘?|Ù‰eyP`9Œçˆ‡nÎçyô¼žšÑm±?¥¢žÓy0DäAŽ¡ƒø%^vÖ†GÓ˜ž¥lÔJóŠI åR‹‚ÝéL—Y“ó’Iô[–²~+,òmsO+SÌ8i>¿‰²–ãü}Á«bÙÈïˆV¥h#âãÝK|r!¸„AîQ°ìU(Îå sðPÝᣎÃF„@ïÝ&àÚû{9Ãh•„±¸’azÏ®¶Çq†c aûrà ÷òžŒS1ðhÎ0œ ÁvÖAÒAM>W ß16bsCWGó±µ {»Ú;šïiðw(%Ý”U©8¥»'+°y¬ëÛÇöy/^€è=dz×0_ò°oÄ1~«Á± ŽqôrMœÜÁ±¶m8¶Kq(H4ƒHEä;䌧8Ty=üq\¡÷“àX'U‡‘Èc)Ña<Ž-°?Ÿ@¼÷PZnÑ¡î ÁÜ?AãV¹Î6áþ‰àÂó…É{ÞöâÃésàþž_aƼkö3å}Þöö ÷=x/I>•¦œOÈxs¿‚÷²ýEOŒ›W7·ϵØÀ¦£ØóPæ{ï a60÷@x¯È4š{’ɉJ_pâQ• ÿå×?ð×x”§xÝO]¿¤¯Õ÷|•xyTáyð!økrêÙWô³Åïýž5ÒýÆ?@é‘Ô£Éø$§Ö_Û¶Ü/äÜVa¼uÚ—PÚå{ŸˆïWüL èw-=ÉSÅ Ÿ­†èó˜†j# éª*|”1Ö`]Ѿ–ÖíùÎCŽ¡G‰$Û©þû=ÊÈvªãýÑLþ£•l§z¶S=Û©žíTÇÙŠl§zñ—íT7žÏvªÛßÒ²ê„ÛÓ¦GµCøo·ÙNuÛó.ù#Üò³êL/Wº²êíTÏvªËôºôdòÏvªwS^¶SÝŒÏvª÷³ê*>Û©Îäf;Õ‹ò²êæs¡÷³êf|¶S=Û©^ú:íTï–]³êÙNõl§z¶S=Û©žíTÏvªg;Õ5ßl§z¶S]óCý¦9ùe;Õñç“j Û©Þ“õ.Û©^¼Îvª³4f;Õ³êÙNõ„¯WÙNõl§z¶S=Û©®‘íTÏvªG¡íTÇä]»Ô/ÙÖ°/ßQæ¬Ææ¦¦ö=ÒÝ‚Ø+Ö÷Tìc»Ä¼O_€è]bØ«â¨ãØ_ãp¤€_dpÄÒâqÄ€½ŽpzSï«$:T[†ZºÆQÒ@¢­¡çÐ=ä=üCè9¼‡=4NéQŽ2æÓÿÈG ÁßY6Ìe¨û"0wŠ\já¯Ó‡|Öÿ˘nÈg˜»-ðþ6P¯„WÐó8²¸Uè3–ôÑÓÀ·Yø,¥çÛÉîû˜ZèÞ2ð÷Ø·€¹+eñŸDád’9‘òR,ëKº÷þK¯€±–àðçsà^±PaÄ{S£ØW55·ägjèÚ/˜ô3…Œ´%*LI—±Ävi¬W%}¥I»Ë¸ÎĹ,špïÈWd¼Ø ²Á–()·(ü÷›^b§ÿ­®ÄÖ¯ìØw¸5ßÖUwW)ÙwÕµîìªÛ“¯kÉ·íëÚ_7gf„%Ä.”€%Äî‘Ö8)ýì"qf»Ÿ2lÏ ¿«#tjÆ–5טñw¥É&ÄÏ¥)Î\Ú»¿¡£aoW¾#*›†;Ì™jm‰²ƒM¹¦Ï %ž—ö¯5é?#ãÅÑ^Ú—)‡5Q:ÔS©þT™¢÷§ÊT»‰×œÁ0Œ¥§*ŠS= W0¨„¡Bº£º¯¿_öS×ŶU+ §1ªN@œ_âé=½S©d–¾QÐR¦ úº üyQÝDá}sI“*ìx=Ðb¤øM’GMɇdA ý¦àCÒêCŠÃp(ø ‡0fÑ&AÕCfó¾,JseìUõ—-£ 9˜Ç¯§aÌ=ªw˜=[1›fЧ=M? ̪q9%°–tÒU¤‚þÇû—@°êôcuÔgTÕñëò¥àÏ Ê*5ŒÒ¢8~e-8B²m3‰|ª½2U ZW>Ë(gùlcµz²âÏ@ʙǑðYÈËzÖDÎRê ,#ú Ï>Ž Á•šÏ8Âxm'}­iª&F£œ3î®pÍÈ÷ç¾qˆK`¡oªÙ×f‹3‹ ?BbM ~—‡5G·£è,éØ2ÖzK¥A„|‡Iú–úÇæu®_…U÷Ü•aé¨d2+Ù(¼¼ï±ûÅEz¤†éõV@é§îûëzM>P­þW:üOé~nÌñÜûÏèÑâú™ÿ±óÞîÿ¯7£ør’ÉRÏÙeÊçK´¡ºJã§óÖœQyX'ma¨Èò¼Ïæ¹GyªßNô[ËÅÚ«¡ùT >|ÕÏ2zMïÿãê5‡íè:Þ’_ßÕÚ²©yßþ®íûöô¥Éí@ïÙ·Õík½h¬¹øJª ÓÁ}bÛRð{T|f"øóð{Aû)~ ÏmB|düPŠÇ¤àxx+ñòô¶:ðçÙuO_nïÍî·Ëçä=»ÿ¶ûÁ¹hïÿ”ò͹hsn@,ßiÁšà ¨èÀZRÒC†\®9}íÉ9¨X=¢GéÑÓ&²µ­¿åÓS:|®(g¦ËHƒæ)[dö^˜pi”y.«Gy §ø°'z GÙÛæ*{Q»¿´ž²ŒæØ²øã§ó¤Ô.îmoëjhnÃO eo3˜„Iv0·Ö¾œ?£cl\—)è×t¸­³ÊëçÃäytÍg†°ô$sôƒôÇÓ‰O.Qk²4䉶®Ù’j0×…Í/˜ô{bVØ÷í¤#àS>ÑE;¥¶tP}èØÇ8Êþÿ6çà玹†§©ªÝ½é–Ð|©X¹eW_R°gF¡µùŽæ#y†â?5&]ZbüQ(¶W¹ßB¼U!8Ó‰íˆ^ñ¡g½õŠB{•û7ð= Ý@0=ØV‚àÌéP0WlàÿÃèµâ¨t"ñ檑k™N˜®eàŸŒ#ÙËXšt1mËÁ\aq9ø3´õ¤—æ¡iÆÑõx¢©ó\aä1 ü³€µž“‰NÏ…i}ñë®3Å5{»Á?cÖvæ°¦Çõ–ூÁôO§ç®¦çf0}f¿9LŸÙD7—è0~>Ý[Àdâÿ… â ›s Šn°8@÷~1£Çÿõ™Ð¸±áYzf)£EÛ?æŠ]®f0—Ÿ…,{ì¿’ì=¥}¨2ƒëJWè¾Æø Þk ø&Ùv5é½–tYÇäëòºŽÉß@t-zndt›(›É6[Hï­ü†Ñ£>Û ø€Ñ {ZÚæ_Á,—Û)Í;Á?£Ó¾ƒäÜTÀï˜þÈk âå½Fq{v]ˆ¬»Á#¾†duÆu„d&}»p@Kùy”ò¨‹lsœò·oXßtûvìíÛ}l+ê‰þA’û@A.^óÕtõà—É Ú…“¤Ó‚'/Ëü¹‡Év§ ü_f:£ÌÓ…{ŸdÏà½G ÷>~yÞ©îÃÓ`ÖŸ4òü1¢=CvÃs“±\ž%Ìÿ”fA<}v¸Lû4–ö')í…v.÷KðÛNI÷˜m>êõ¤×Ó¤ÇLjWÁ6Þo„îŸ Ñý¤+¯ÿ¼ìèþ„ëµ€éõ)°—§?²äý[òþÒ¹Ðfçt[ uþ“ŸS:ç†3‡“¼çY¾ã³X^? ª½þÛãÜÏX<Öß ÷°/âíõ ÄïEöK/èçý‹DÿÑ¿ÌòçJÇ—(|•ÒñeJÇ陯0ÓHÆW 26 ¾Jô¯A°þs ÿ‚xT]Ä> Û‘¯ø5’ ”wÅÿ%¨öøë”…~+÷*˜ýÓk,¿¾E:ü•%ß¡ð»"ߦgþüòõwôì÷陿§ð‡þ…oØ'L˜ÌBÔñG”¶7)Mç izÌ~æm ß`?ó³3–3̧aôÿ—Á\eû<Éx·÷³ooÞ¿½ùG&ï§ ÚžŸÑ3ºíAÞ#À/Ï(÷§Œòùg )øá½(¿€R»”Ãxj—r€Ù×ÿŠžûzî×D÷ï"­úÀ3l+ºñ=õG3±=¼ê7°õG¶\Wúú9Ó<ç^,ìM|Î}eDúÄ÷íÀ*N±F·UÆ‹5ºò¹&¡ï*›¾6½ÅÝR®¹¢Ö›å–ë>€‘óuŸãîýPê!Và&ö Pí–÷¦”7ÔL÷Wy´É«qË;/噫p½·lú¹ä wË{[ÊaÊ«wÕ­¯K~­[þ;R¾¹*Ö-éŦíqô³é9 œzþXʽ̤)ãG›ñò+ÁE9ýn\=]ÇŸø¾+õ01Ôã;Qù)Ž/—íç[Rþ“^.Ý~W>Bõ f¼ìûÞIÚ÷M4ã¥Ï‚÷$ý$ƒÞû‰ŒŸlÆßàÒ/‰žõà,ã=ÅN&YÆÞ±¥3L/ägÿ¾”?ͤ—c„HyÉ -—åä}[9) ÿ»•M¯ í0œùð¾¬26ù.;ÍŠ°Ól#Þ;!ßêùÌq§[~ß|/ŒÏÜ}ç™úÎ(Wßù ôEú&ýÓ®úþXîûZ¾~—п°üZ‘þEÎôÆ®ÖrŒ|®q¤ß‘N™!õ$<G¤Ï<ì;2C»"óÐî²=óNO’>Wû,—>jÆKú¥¦êeü²v²Ùe¹©ÇÞî¶/+œé ŽÍWšôâÝË3j»¸ä¯J(ÿú»®6ãeÿ|>Ì®kL=ï¤kÍx¹[Ò9æ¶É[îz´œý›5®ò»Ámç@¿¶ÑagÛ»Á núóÝ)§½ÕÎÉxL×&Sέ2Ý›Íøã®!ò¦½ mmí]u‡;óuíÅïçuíMu{ñ0©ºÉuÍmumù£S§-©óï5¶ç;ëð™ü±®|[c]×þ†.+ôØbêqoÜöd«ó¹Ð¹„ûŒ~ñ”~®ò_nÈõÝîzs#8ëÍÛIëÍvpÖ›À\É“^n¶;ª¼íŒHßGŒøÜ›>6¾7»ß ñËñèÆÃ‡Zš÷6tåë:[ …³èÂ|I¡¼ ¦·L½ Rè.Sè=2þVp6*ãßfg¢Ë8ÁLð–êxžØÜô:+u¼*ÀµÛ ɺºÛÁÙÕR8‹Þ»îÔû|îw¼Ëˆ÷ÖÄíbÀ]÷˜|×Êø½fü:ßhƯ—ñyS~¬.<¬ Lnn;ÒÐÒÜX,úuMíª"°æ\TÉ` gÐYâÐiaa³eÄo¶ùsûÀ]#÷C²×\–M{º¦WMËM’›Í3çwÐä9‰ÔbZQB­´«ju§g²¤o3éå¤Ä›6ý]ölwË Â¹å¿kÓß%ÿn·ü)R~‡AïM Ñ·¸FéÅâë§lôR?›ž]n=§J=»íôvÒ|:î–û¨@Æ3ã/AÇM;“ñ÷˜ÏWÙÒ/õ³/ç{o„^÷™ñÒ!ô”8ùçª÷ƒ3_§IúØÁ–ÞÝò®’òN€³¼O“åý¤É?ê‰ÓA5×ã!p—¿‡Á§Ìø»eüi#>wµ+d»$í&Ë…­?oKï#¬¾?jÒ?í¢gúÇš„ ¹üÇ <d¿èª;ÒÍî˧â¥\÷[¹é®ôEµ¨Ï‡>®þžË‘|]éˆ÷"&ËÝéŒjâ†\¿³¦~±œÊI>’Î ³ô#} ê^éÄ¡ ð7OyÌ :™Héâ;yë§®Kç P×¥«ÔsÅ…¥“ŒN(¹áoHö… ¼p>ü>Q¾>ª¦Ré1Kë… BbÞÄéÓÚD…ü¨•¼˜ I¨Ïõñ¨ßøJNàÆè롱ôòËÓÐtõzSó­V×oéëaêú¼¾®ÿØ$Æ_x=ü#‰0©âßÑñµJ¯’÷Ë(­è~¬ï¢ð uÿ]}ÿr Ç@ps`iA€G_KÐæ¶J>È>È#IØU×c>¡n¤p…;(Ü^¤S_Îñ¿¨Ç(orú4;ŒÞÄôÐ罆µ¼<]BÏß áõßùÅ>¬ñÑ…w áÏ-ÊHxaNRv©ë{øóCÁ| Õ‡™Wƒy„¦Ö©‚Œ)u»•e G«ðþm,ãoƒô+ÞPÁ‡ÿ*BÀ~}¢²×:õ×£¯¼½Õh9ãËI\Uo§ðˆ¿2CÓ—3ôØ]ÔK­°Àë»(¼“BÒEÕÞ8C‡=JÎÚ 1øéÖ`‚ƒß^ÅoçW ÉŽ ŸbáÛ¨ø®W5ÙŸ/ΫûçyyÓZê_Xm5 Ý*ý±W†È¬é­:UNKÞå kš ïkÒè)÷A°§¬{O‡= «žØz»ýÀ{;¿Ž4C°ŽÔ;ó_Ìúò{ÜSôÚà´õ%sã…-¤°MÑMÖt­R÷ëõýöâµWËt@,÷õœ>íÙ–$­D§Òÿ©x­„¯7oýúj+áÑŠ V ÞwSxXÝ/9¤é¢ð(…Ç™=ª ™š{ÔuÕ&C§±'|Ð$É·ã^¾!¿cÞGὡð%š–?…'âé]zîDŠzK¹S™ÜÉ;i‘Wnþx´âù>¨äÜ­¯O©ø«õõé„v9݃vq•£^–{ÕE’;¥'䆭¬ÒrÂVÈØî{=|?©\ýÓéy˜Â‡(Ä•W1ì^j—…‹S¾Ó”‹ü¡ð1 />§V,áW«sêJ&ú¸`®dŠ‘þÒxç\Šé÷HOGú¶¥‘¾‚Óq†Â'b¥ß?fù‰ÓŸÄî½,wjOÈõh¥ò=›ÐîgSÔƒøä~K|rôc¨t€s]å€Í9XM¨f¨%\Ê |qŒ´ˆ+B0–¡.&;0…A¿¡Ne¨'èë«4ýÕ š~:AߟÉ0›0‡0›aÃ|ÂB†„E ×ôõ†Åü¢|ÃRÂ2ÂuËXÁ°*kfÖ2¬&èëõ ¸a“› [[6¶1hz}}#a«ÀŽÜİŽp3AßßÝ w$À‚~voš´®ûÍÐtúù–´3hY‡ÐtúùÃ!èb8FÐ×÷0Ü[îgÐõüA '8Iд1<ìÀ)†¹„Ó ZŸGtyÖךöQ†ró\ëòxLÈö`…À“œcxÊ2|,gøDL|\à-ø”6zħžqàY†çbâY?-à3 Ÿ%|N@Ç¿À Ûk}ýyÝ/½Äð"A_á‹1ñg Ó_eÐ:éë¯1|#¯¾Îðgü—÷M†o9ð× ßŽ‰¿eøá ñ½x“pžá­ø1?ÿMç ï2¼Fø áýø ÃÏ ø'‚æý‹2 Ëý9_‡ ¿À@IÆûè/¤¸èb¨÷þŒÛWHµòXqss×þ-ùc]ׇڋ Ús¾ àëÌ0§å±‹ÁW‘†× |ݘB¦À帮d,ø'+_NæAíÐùÎ#9zZUÞEÏ#|•X@òñƒ~Fz ¥D7ŠLˆÃý àûh»”è–ê¾Ì“~+(mâDˤ'ýN ó zå= üç¯r&ÿ¨“}pûñÞç¹ó^FòjÀŸ¦Ê¼—9û¾Ì{ÑOg˼—Yä¿,٦׌„v˜ Î|ȼ—‰øy¦¾™÷2»\g9F>×8ÒïHgæ½Ì‘>Wû|Cȼ—iúÌ{™#äüÖ»­gÿ–y/ƒôÛ9éÚdÊɼ—©øÌ{™â—y/˼—¹ª×n7$ëêngW›y/ñf|æ½ÌòÜ>p×Èý¬Æ5—eÓÌ{YPŽ«ju§'ó^&è; úÌ{™Ž?jÆgÞË«þÝÎ|ͼ—߇À]þw>ž2ã3ïeê:ó^ÆìcKׇ>®þžË‘|]éϼ—!2ïe™÷²Ì{Ù‡y/ÓyU)òŠý2ïe™÷²^±Gšr‘ß\õ\潌øÎ§pQB}õª2ïeå¤Ï¡æ½,†\ä·˜ÂÌ{Y,uØ™÷²¢ý&ncÈîc(OêY~TŸÍê:ó^‘‹fÞËzØšïàh¾Ý’S:8Ø·Cæ½ ‚õ?ó^–y/ë±Ê^#è2ïeüZÓ—3ôØ]Ô+ó^¦ù6*¾™÷²^ªSå´äMPÞ°¦ úþ°&žr{ʰ÷tغꉭ·Û¼·Ë¼—õÁi ™÷2ÝJt*ý3ïe¥ð8³GdÞË2ïeåçOæ½,ó^–y/S!®¼Ša÷Ì{™aßÌ{Yœô t˜Ž3fÞË2ïe9 ú1T:ÀË®r`0C5dÞ˦Bæ½l¹+V…` dÞËë ó^¦Ñ™÷²“y/C¬xÒsy/Óx.&ž…Ì{Ù7"ð:dÞËÎC潌ãdÞË ó^™÷2-'ó^–y/˼—Yxë´/¡´»¦idwq ü?Â{vow»Üa ÝÖÐ’ïêÊomÚÑu¼Í]–Ë¨Ææ¦¦ö=BzÊ2übõee{ÆGVc¬Î7¹µ·Åe|:Î(c‚*ÙÞã`~¬þ2±KÀ?×w¨Ú3™þÇG|i Ö¼¥TKV‚ªIc|Y¥‰Cœ¤ZFtýBd×Ä=L_Y\öpºFµ$w¥=ŽüËbÈÅäò‘çíùWöBú›IÞ âSGáx ÑDSÑö@]pdøÙ]®$]&ÆÔeJ ]êÁôMÆuÁ—Øï ]®v™S—™1t™Át™.t™]À¿…è¢í2;¦.ócè2é2WèR™{ƒ….×»,Œ©Ëµ1tYÂtY,t)üïÍ ÑEÛE¿}Dé²2†.+˜.ËÁ¬Ç×Xn%8y–´YCþ:&­¿±À²Ý"ßÖŽÔÒÿøü&Òc øofÛ@½™ÝHtˈ®}±Õï‡ Ót”ÿ†ÆF‚òh—×H°¢£á¨ˆþoË5@ð%Ã|4]½_øäÉ;b@Zrl׺”NÕá4þÈ?Cwj’8¿8Þ3S±â% mÍ×DØ‘?PѱoOˆ~æ{nЬâýÖiÖÚ¢YW¢r[ò‡»:Z¶åö°‰Å+öÅ1qîx˜…Í7ü …Í·s·…G,¼« l¾ß§càþh๠ºHÚT$Ž‚-&nQº/hÓ»Q_²wx)œ‚¹/Nérq¬}IKó¾ý]GÙ®vã‡&0º_Æ únBz¥Œ×ôQ«‡—ðaFžÀè#Fï’>ââØ¼_cCÇAG¼£ ×FØüÒrm¾º R¯”ó‘}ÓæáÅ\|¸ ˜ü²&.MÞ¥|tX¼ßþ®VÙ/–9à.Ôö5]¦¹í;¬hßõÝz¯á¾²˜7¼ôމ°îØÖ­1­Ûew\,ãF~A{MËÿf‚Mni–çÝüíþ4½à±”¥Mq9°|Ac/á2Ž™Óó÷puRءق©öBmçG©˜S9ö½Jç¤(ê7&)êÝ+ EìôWLýõR’…½È诡å±Ü™ž¼~)X5m=¤ýJüƒö/Ù±?ø_^%YÈ›þpÜkæW 'Ouÿ‹a}·ÒxŠZ0.×V©N8pÕ¦`Á^QNÚ• Dù‹p·|ì,1ƒûŒÙݺáu5…C-¦{ÿFzsj"u»Ç‚àI«î³wW5iå?$Fáp aÈ›ù‡ §,z?7‚ålXÉ ·fx]K¡^BjrÿÅÉÍ‹ÔMsf‚'¬¶wLÞMͤ‰5;¤Eáe:û ;R›ó½žÁ6ªod„[1¼ÖGŠ_a±·õ‰ÍIŒdæ.s²‚§áòŒ›²Òtš=Ò¡p¬…Îö´æÎp࣪hç~ æp ÂÓÂfIw«ºË¯¤ëBõÊýøGk!Ý@0ÐâCƒË•üâ—¥¡àÆÓÿÃèÿ  ªÞDâ3̃®e:aº–ÿe¿]ÆÒ¤Óˆi[þq[£H¤¿’h¯`<4Í8ºO4uà9ÒišDúLó …‘à ¢õE¿6ø¥¦PRŠCŒßI÷~š…¿¶tÒ½zJÿtzîjznÓgñ›Ãô™Mts‰ãçÓ½L&þC4ü‚rT±Ã¯èÒ/fôøÿ ¤+3Ÿ¥g–2Z´ýsÌö¼\ñ!–Ÿ…,{ì¿’ì=¥}¨2ƒ›ÿWè¾Æø Þøeâ›dÛÕ¤÷ZÒe“¯Ë+?l`Ñm´è¹‘Ñm¢4n&Ûl!½·ðFúl+àF€îi9h›³\nÿà ?þá(ç¦~ÇôG^/ï5âq ={+…·]Ä£`oÑÞN4wRxø‡24ÐswDÈi¤0Oô{INSv:Óu)ñÀg±lO¤çÐ.{@yBºeY­¶‘¬(½6xëBdÝ þÁ׬Î²ŽŒÃ¤o.µ ü¶õDÿ É}  ¯uªit™<ª]8I:= xò²ÌŸ{˜lwªÀÿe¦3Ê<]¸÷Iö Þ{¤pïãà—çê^1< fýI#Ï#Ú3d·'@•˳¤Óãà¿ ¾F¶Áçÿ7°·7ÓXÚŸ¤´Ú¹Ü/Áo;%ÝS`¶ù¨×^O“#^Ûx¿º2D÷O®¼þó²£û®×¦×§À^žþÈ’÷lÉûgHçB›ÓmÖùOBt~NéœÎtNòžgùŽÏbyý,¨öúsPls?cñX_(Üþˆ·×/¿!Ø/½T ŸOô/ýKDÿ2ËŸW(_¢ðUJÇ—)_¤g¾ÂdL#_-ÈØ,tú*Ñ¿ÁvúÏ)ü âý Puû0lG¾^à×H2PÞ 'úîRñÅ|(ô[¹WÁìŸ^cùõ-Òá¯,éü…ßéü6=ó7à—¯¿£g¿OÏü=…?¤ð(|ƒxü€tÀ>a’Àd¢Ž?¢´½Ii:_HÓ+`ö3oSøû™·˜±œa> £ÿ¿ æq©Ï“Œw qo0{ñöæ=ðÛ›dò~ ªíù=£Ûä=üòŒrÊx!Ÿ¦ð—‚Þû€Òñ (µK9Œ§v)÷˜}ý¯è¹¡ç~Mtÿ.Òª7Cb[Qþ´VpÚILk%žvÓ\QGÅnpM3Y¦ésOs)?œŽi®*!ÿLTúÄ4W }bk»ŒÓP­2¾ÊŒos¥§ ïª8ÓTÈWœà²SÊ»’f¹åÚËM®8ÊD–¿J=Ä"Í6=\òªÝòÞ”ò†šé“tÚ³Æ-ï¼”g|á½eÓÏ%o¸[ÞÛRÞS^½-}R_—üZ·üw¤|q¨„S>Ò„ðú¦ŸMÏQn=,åš'1˜Óßoî!lÿ¡(§ß«§8Á@êù®ÔÃ<Ñ RïDå§ë‚Âï-)_œ §ÑßÏ›[Ÿf®VËÌ] w;ÎŒ¿Å¦°o]‚„JÅû·6wv6·í‹P}|„êÌxÙ÷½“´ï›hÆËO.ïIúI½÷?ÙŒ¿Á¥_=ëÁYÆzNg{Ç–Î0½ßT·ü÷¥üi&½#DÊ» Üåàj3þdütp–“÷må¤(JŸ¬zÍHh‡™à̇÷e•±ÉwÙiV„fñÞ¹ùM6» Ÿ9îtË7ï…ñ™¡ï×8ÒïH§ÌÇzž¿‹#Ò·Ä™¾@þ†vEׯK_ÔÁ4Ó“¤ÏÕ>_çЧðßxI¿Ô´C½Œ_ÃN6»,7õØÛÝöe…3]Á±ùJ“^¼{™cFm—üU å_a×Õf¼ìŸÏ‡Ùu©Gàt­ßêâr~ëÀ]Öƒ³³¦ÃU~7¸íè×6:ìl{7¸ÁM¾;å´·Ú9éÚdʹU¦{³Ü5DÞ´·¡­­½«îpg¾®½øý¼®½©noKCggÝäκ涺¶üѩӖÔù÷ÛóuøLþXW¾­±®kC—Šzl1õ¸7n{²Õù\è\Â}F¿xJ?Wù/7äúnw½¹œõæí¤õf;8ëM`®d‡I/—ˆ½UÞvF¤ï#F|n‚Mß›À]Žo†øåxtãáC-Í{ºòu-…ÂYôµ³¤P^Ó[ ¦Þ)t—)ô+8•€ño33Ñeœ`&xKuw‚»ÞeÄ{kâv±ææû`Ücò]+ã÷šñëd|£¿^ÆçMù±ºð°*0¹¹íHCKsc±è×5µw¨ŠÀšsQ$ƒ)œAg‰C§……Í–M¿ÙæÏíwÜÉj\sY6íéšv\5-7I6núå.lRà É/r©Å´¢„ZiW'ÔêNÏdIßfÒËI‰7mú»ìÙî–„rËצ¿KþÝnùS¤üƒ^ºZÒ·¸Fé;Mú§lôR?›ž]n=§J=»íôvÒ|:î–û¨ðAyÌŒ¼7ítNÆßc>_eK¿Ô;̾œï½zÝgÆßb+’¿”ãª÷ƒ3_§IúØÁ–ÞÝò®’òN€³¼O“åý¤É?êÉÀ¸åÿ!p—¿‡Á§Ìø»eüi#>wµ+d»$í&Ë…­?oKï#¬¾?jÒ?í¢gúÇš„ ¹üÇ <d¿èª;ÒÍî˧â¥\÷[¹é®ôEµ¨Ï‡>®þžË‘|]éˆ÷"&ËÝéŒjâ†\¿³¦~mÓ/Фó‚§m—ö债·A_W€±_§Jß§ý:E¾RÙ¾V}­|ɪ7¼®RÏrè½&zþ†d_ÂËçÃïóPïÒû‰³!V™}ŸÓ§Uf“Ôá4å"¿YÎQ雡åÌKhyÉiÊE~sÕsOkþ âÙá=N1ì¦\Æ Èw>…‹골Wíà—Ã4å"¿…^S¤ÏÍÐïT¸1‚½›ÈºÖR¹ÒÞhóCT’ô=™búúoK¢?êµ$a:–¤˜Žåò­ž‹üSx­J_Ò#m§»ìêàãvÛ¡Ç® [Jᲄ·,E–:ì …ñ_^|N­$Àëë(,g%B9ƒÿ^Oáj ×R¸†ÂU®§p…)¼Â Ê.·êôlböÖôõÜ ¤Û²ûÊ“z–•Äg³º>®mÍíö—g­ï¡ïÒ—ë×ôÛ¢®‹Ÿ*’”¯-úÙÈ0€ø8~e58Iì±5‘=üŽtëï=4ßÁÑ|»%Gn¡ë±G‹ÐN7R¸Ân/Ò©/çx_Ôc”Ç79}šÆN obzè;ÂÚ^ž.¡ço†ðúïübÖøèÂ;„ŽƒðÆçe¤ ¼0'© »Ôõ=üù¡`¾…î§çª‰§6ˆÖ©‚Œ)u»•e G«ðþm,ãoƒô+ÞPÁ‡ÿ*BÀ~}¢²×:õ×£¯¼½Õh9ãËI\Uo§ðˆ¿2CÓ—3ôØ]ÔK­°Àë»(¼“BÒEÕÞ8C‡=JÎÚ 1øéÖ`‚ƒß^ÅoçWMü.'Úˉ_-ñÁù¨)`š"ù6*¾ëUMöç‹óêþy^ުɾúV›DÂ_·Jì•!òÁ+Bz«N•Ó’7AyÚ&èûÚ4zÊ}ì)kÀÞÓaèª'¶Þn?ðÞί#ͬ#5ÂÎü³¾ü÷½68-A}‰ÄÜ8@a …ÚWV›¢›¬éZ)<¤î×ëûíÅkßßmÄ©mþó^m+§•èTú?¯•ðõæ­__m%<ßð­÷ÝV÷§êû]¥ð8³G˜=f-ÙSöŽÚ¦÷¨ëª L†NcUt§3I¾‡ôò ù£ð> ï¥ð…(ùÓ´üû)<OïÒs'RÔ[ÊÊäæHÞI‹¼róÇ£/È÷A%çn}}JÅ_­¯O'´Ëé´‹«õ²Ü«.’Ü)=!7le•–¶BÆvßëáûIåêŸNÏÃ>D!®¼Ša÷R»ü(\œò¦\ä÷…Qøxñ9µb ¿ZƒTW2iÇxÆJ¦é/wÎ¥˜~ôt¤o[é(è0g(|"Vú}G€O¤˜þ$vïe¹S{B®G+ÝïÙ„v?›¢Ä'÷[⓳ C¥ýªà§;WjÊ@5C-áR†QŒ´ˆ0'‰cêB0‘a²SôêT†z‚¾¾ŠAÓ_Í é§ôý™ ³ s³æ1Ì',dXAç|×ôõ:ÓÃ/Ê×1,%,ƒ Ã<ÄrV0¬ Á„µ « úz=ø£»Ml&l!leØHØÆ éõõ„­;"pÃ:ÂÍ}Wv3Ü‘{úÙ½hbкî#4G@Óéç["ÐΠe"tD@Óé燠‹áA_ßÃpo¸ŸA×ó 0œpà$AÓ>Äð°§æN3h}aÐåY_kÚGÊÍs­Ëã1!ÛƒO:pŽá)>Êð±|œá1ñq?´àSØèŸfxÆgž‹‰gþ´€Ï0L |–ð9ÿƒn¯õõçt¿ôË}ý†/ÆÄŸ1L#|•A뤯¿Æð¼Nø:ÃWxœñ_tÜ7¾åÀ_3|;&þ–á{„$Ä÷àMÂy†·àÇþü7ž'¼Ëðá'„÷à' ?/àŸš÷/Ê€,÷ç~‚þÌ[JRÏ$èF¢è…Æ¿þ¿‡·8LXq[ÆP?Çs‘@cºÉ£›À´ýªž_«´Á¿°´áõiÓ-­ùŽíùÎC!&íWˆŸïó‹Ç¸ßYÿŠ×#MÝþ `L&XóydG¾ézü"¼=²Pœ’øA# (’×]€ rsý壕íMMù.ß4&ã¶ÃÛ4ï Ó²QyeYÕÜ֨ܶoíá¶½‰´ìw¡T}—,•l7^%ÛÁXø¿šþ׎ ñÿñ,ž?‡¨¡ëagÏд\Ū™3–iƒ"}c¢*‡ÄL&×¶ô¿(°Íòh¦4\Å¡®5+PöŽvtR[1;µ-­~©ž#cÃJÞàBÉ+¹ß‹•“H2÷‚þÒV "§ Žj/Uÿcˆ÷ñÒÏ+ÐÏ¿Ò Wvvìí@Ἔ`˜«ô¥«Y…:Ý5ŠR7&•ZâŠo¯£)\«þǯerÝD\1œA\g¨kD2®’z5Ë ÝÈ”ò(ôÊÍ‹Á¶z3½#_è“Ú:ëþÿì½ €Gy/.É–m­mð)ÖÇJöÎìœ{YöÎjW§µ’Ø]Ù¢g¦w¦µ=Ýãî™=¼IH/ð9 !$/yIx@–à„—ƒ!ù“p$!$@ÂŽÂÿû¾ªê£º{¦g%ƒM,[š™êªêêêªïªïû}¦ÎÖu£ÑD7D \F½«™Ìí¶ÐÅÅ}¤«AÙoJ\™wöíáÈáTl¸»Ô}Äé<´þ&c·®Ÿ72æÍÈ tìÒp«>ÿýqDlGåzŠŸì”$o¦°æ{Z¨“Û‚ï± l"[ÐÎîð3‰\Ç˱ì¶‹•»æýOù—îúð¶Išn‚Ïçïà&Ë›ø'–cÙ6{}è?ï½ÞËãßmözFôŠŸ¢× þÿ>äR¾á;d(ð6ßpp//ˆï7Ê$ ü?âSDH`&>oŸ N\܇JŸ'cîWSúc=ÚÿšÒþ¦Ðž¿˜f€èÖ•ð÷ÔÌøt=ùùäç·âs‡'*ÜÚKTØÕê>q¥„g^H)a7H 8ƒ»¼©eN'žåщOþyòÏ·öO@f½×eÀB#Ë÷ù|íëß8vÓÓ'o¨Üvà™¯øã?9RÙsËeŸŸy£V¹óÖÎûn9úÈÌW>÷¿^Ë~ø•Lî•ïøôë>^yêu¯úØŸnÕf¾´ø¾ÿ6{ú•[Ù‘ß¿õ+{+W÷e_­¿þdåŠOu~îÇVɼáÁþú×T®þÆ?®/\±X¹òøºÜ±Y¹óU‹zë;ÿ¼rùSþÛ«¿ðšéÊ;>³üÎ¥·Unv¾ïË/|Ùçf>yÍÈw>ã‹¿»õO?2ýÎÖßß·õ…/|ä_–ô¥•‘¿ÿ—‘¯<ÿ…öƒ¿õg×Ù•‘‹þúyÝ'*—½÷EozÓÓvUžöŽ«_ôÖïxA%SËäk?ù•=oÿÉ÷ÿéýßÊØ/¿äŸ}lë£Ëswòc?[¹m|9û«åÊÓV/ÿñ>{³²sÿ~÷'Ÿ÷½•+†«Íü‡+;ÎÜýÔᙫf>ñ‹×ÞòÛ?üÊíÏþµ»¿q±rýÌ—½õGŸU¹ææ_þ`çÝÿR¹ô¥ÿ…ÉÙU¹è—éÎ~Ï›g¾ôÅáOåÚzÏÕGn¹÷+/¯\ú‹¿Ã~éŸ'+ÏœýÑ÷ýÑ/Tö|aañ–ß~{eøóÿ½þßKÿ2ó‰ýÁÇå†*W¯ _öãW¾»2ö£ÿ{í¯}¤rëSö²M|_åš~ãû.{öþ¿ŽýÐT®ËÏÖ­šùâÔí7ûn}ú'F~ü5ߨ\õ™çþÍÇþéáÊE?ñÓ/záwê•Âe?ü3ßÿÈe•Û?yõ‰¡¡s•§,ÿpñÏïþÊÓÞû=¯ÿê[¾ò´#¼Ë6G+7Þñ ¯¹ú‘·W®ùùÙÅŸº¤6ó…ßyÏÏÿÖ?XÙûù?¹ã³¯}dëS«¬Kë;+CË/íüϽ{æ?_\}øÇ®«ì¼áGWÝ?½¥òÌÕçÿùÇÿóÝïÚ³¯¶üѾ¢rÓ+Þ¿ú£µîÌ¿¸ÿö}É}•ëÿâ3×|öìoÎ|cú¡_š~êÖFŸ÷3_X}WåŽOï|Çï½Â_“7âšDI•Ü[8¯»½¯Zì<‘Õâ;.$Ój±³-µØÙ®Z|ê;v§V‹#I³4ëQûC†n&!\=A®†áó–ܘ4Ì?±˶§cÍ`nîˆN|…2‚œÿ)ÿÒ.ß¶ž‰{íFñ™åßñãßmöúÑ+~Žˆ^Gøoü»Í^¯½âgÐ0y%ÿ»Í^¯½^¥ÌÀUüï6{}ªè?ï½ÞÉãßmözµèõšÜ™éFþ‰åX¶Í^¯½¢[ܬèu–—cÙ6{}ºè%yÑëݵ›¬Õu;¬ª3·­×ŒC¯G›.»e§½}Ìã>/Ðöh!ËûÞšbʃÓñ|uZƒÌ•Ö˜Ñ=¼½D‹Ÿ-¦wù,lÀgQç–%ôßë}Ä™õÒŽ÷ÎóïÛï1ã=#ë#‹Û0ó¤x†áó|†ám<ÃpÌ3¼°ÏœÈñÞ~žã½}ã½ý<Æ{I _-æªïÒä,iÉ­jߊ©ˆdþ'MÊO~~Ë?wx&å;{ªÙüÄÛ}âªÙ#ëDÍöfd 5;Üj@ óµèŒw#Ÿ‹‹¾áÏKdÂð÷òÿòepS¯epñâÁ…ãIkÀ°:zCwÇkàÆ ¹.…5À§#zÉ›ŠÈ¥‹MâÂòŒ,òíÜÜëí\äyD^ÎåˆçXšéùY=._Ð-ò]/ˆf$r%<‘Ëù­¶ñŠöözE;7Ÿ¸tß…|9ÃËÙŒ)ïA;wÊú½þ܇{9ÆùéD¬–¾‡âÀ.!§Á?RxyÝ“§Œý¦ìÉSÆ'OŸ÷óïø‰¿ñï6{}HôúÒëCüï6{}Žè?GD¯#ü7þ} ˜«Ô–vìð­9ÛÒ–â°n ”ýJÌ Žeš»Ô0¨øõ–NtS PΘ•ïMÖÛ½ßëâzÏ¿ÜtÖ禠G_øã“™éØzçOüÁMΞ[ö»sû—÷Nnýåæ;~ÓxéÖŸÿ¯¯¾è¾eæ+oþîÖ?žøÔÖ{ßZø•}ÿÀ¶ýÛÙüØÆÌ~øU¿û‡ÿÑÞútáÇö¶ìß*ýÂ7½ï¯>?óÅ?>øž®|aæ÷Ø£wýú»¶þeã/‡ÿu×u[9û‘ß8±mýû‹~÷¶¯^ûÖŒÿáÆï]¼cëËõ§|îëoxóÌ?¿ÿ ïýÞ_²¶~÷;­ç¿ò²­ß{۽暣3ÿñÕ¿þÊëßýo[úÀs×îþy6óÅkÿש#{ß²õ—ÏÙûÙ+î©[ÿ޹ÒÊxsæ_ÿàÜOþÊ/¾yë#‡×®?û½[Þõûþóû_ºõ…™Ï}ôÞç_7óúï[ЮúØŽ™¯ýùKgÇî—nýeá½úÏfs3oÞ6ÿð§^;ó¥µ¾æmûÞ½õÅ“ŸûÀ3ßú[o{Ïëžû¼+vl}é{Þù¼þþ‹g~ºü¢OþÌ›wÌüíËü•oª¼tæ«zçUï¼rë_ïþɇßóÿ*[/ÿÃ?2ÿÒl}ñÊÿü±ŸüÌòÌ»vt_ÿ§Ÿ{ae×'_ðOo¾ò;Þµãµ|ßKŸ6óöÿ¯O|è•/Ýú“ß¼þÏüûÌ|zñÞ{ Úýå+Üì_|`ë÷~í²Ñ÷üDeæsÿÇzƯ¾xëc¿ú’/½eç»¶>¿¶ú²#ZÜúë;Wž~Íïžù³_¹îô{÷n}íµ‡/Úûê÷Uvä¿öûŸüÈÆÌ{K?÷WG;Þµû3'7ÿðà+·>÷¼¿~Ó_î~hæßï½òŠgý\nëÓ¯yùç½aëç³ÿüéW¿hÇÌkòó¯{û{_ºõåÿï-§?Õšœù«—?õOßsåÌ_üÚ_Úõ–™ÿ¼ûOžvÍßÿÜÌ¿óÎlνk柿üÔ;ß¶õÏsFæc_›y×GŽÜó¯~|ëË¿ôWôoÏø™­/¾bìCËÿúÔ™ÿ7ÄÞüöW¾tæo~ðž²üëÍ­/öå¯ÿë—oTv½öðÏý‡_ï½NŸé¯Óÿø¡ñºêÞS¹í%ß¼ë7ž[¹ü×_sö¯^ô©ÊÈ¥o(íºå3ÿñg§ ÿv¢^¹ëE›ŸÍ^Tyê×fœ…+|æ+ï¿îí+G+×÷À?¯<íŸwÆùÕ÷Í|ñÅÿ÷ú»³Z¹ûÐ/¿ðÚ7­\ýÀ?>ýßú‹•§}ý–×þŸ¨Œ¼ðçQc•kÿî-§ÖÞ·R¹ó)/û¿¿uºÂþþäU_¹bë¯o*Ýý™¶þá5_Õ>ôïØú'÷5—Í}ø+•Û?ºoöå;+Ï:zß›÷¹o«Üþ;æß6ð+W¬¿á÷Ž|êw+×ÿÐüíÜÑ»+w­¾ô“¯ÿÜg+OÙõêü[þ¾2¶2¶òúû_1ó·ÿß;Ø+îÿHå¶‘+/›þÄáÊÐÙ>|û •‹?qûµ?²ëdå’ïyÎë^¼s|æ3ßé3nxóÛf¾vÇ¿½à¿ïúLåöï¬<çkÏ=[¹å;þ‹Ï~_¥rõWæ>ò¿7®²ë¯7¿çÕ¿ÿ·3Ÿ~Êô‹ú™ïªì~õß<ëkïØúݷͽñçi£òÔ粉û¾”¯Üú;¯»íÒÛ_2óOcoÿŸ|×_UFv?ã†7.ÿÇÌÇêuýÑ ~³rÍËý®ð¶WUnøáÛ~è_\®\þÅç{ßîJå–?zð9yUåšþäxç¶çÌ|Á>ôÏûû;*w¿ò{r¿ðƶ¾ôk¯|ÑäûV.ùïúâg_mμöögöƒ·ì˜ùÏÍõÏüÛKÞU¹å³¯»ní.׎ïy÷}ß۪ܴóëû~óÍo­ì~Û‹^~Ó©#3ÿøÅ…‰kåe•ëÙ<åM¯_™ù—G.úÅ3ý±™/ü­Õý鳯¨®³]»Ô÷¡¶ úºïùÒßÏ|ùá¿ú0½aæ#ßûâéÛÞø†­ûé7¾éÿ–m}ö­ÿoxÙÖ?ökwÞ\ûÝ­õŸ|öÏv¾üÖÊEûó3çþö¾™OÙ¿êoÊ»€ì¿è/ŠßwÇÖŸ÷Ç?ücÏüâÖ¿û{?tËð¶þôÎïêþĶ>ò@þÅ—|ïÌnoýÉá‡G·þ镯Ïìyõ»f>ú·ûKßûðÝ[_zïW®û±·½뽿þþ6o½qæ/F*WþÁ™ß¹ú®µW¼áÕ3Ÿþ­üéïzé0™ðƒ6 u¥x»ÖÖ|/ÿxyÞh:ˆ®¸K~AJêR—¾Hz1ì=Šgr5½ÝÙ'{ÙÈæý¯…m4À;~Ur¥=3xÓ®îGíüÖÙ#O}õÇÕž9så÷¿þÌâ{ÄïïžùWüíç¯ûÃñ­êû>|ÿm3ÓÞuþ{bæ>w׫_ðò/){éŠVëØŽ»#„$E«7ô­ã Tçy58Ñ{}žúdXã“aßò°Æ¸¨VË‹…|³(ºë¸aéšÃZƆ^g-»®›lÅè°ê&C1öðrÆ»>ò|ÑâÎCœN³Mößìbv7ü[€÷ò¯yöbÖÛüò9Ûê8¶9ÍæòÍæŸ·Ó jŽ”Á°-†ùQmkMwºUÓ§YarèB¸Í5K5Í  ¹ÓL\¹1¶`X ÿäŸÍôº¡ñ_Ågã¿ Ú†_5SÈÆËä²ãeúÈMA•\¶„…l®È”û^µ¨Yu»Åô•½Öq§Eq†vìnÛ…V'0]™øó€æÀÍk:[êÔ³óúZ–ÍَüF Y1@Y>[æ…y˜Lÿ×Èûƒ3,ÿ䲓òËÿ‚Sð-J”¨àŸÞwb'º­ªî ¦”]…ù̲=å4cQ6©LÍ•‡hé(33¼áA·c´´ŸvÐql‡uØšfvuY=8ô§œ-ù)Ç+l$8âQ¦üê²eÙ¯^W/es~uÑUA}²gà[ÓMÄéàz0ü WcS½³O¼yáÛÈË‘ù xÛ\aŠ®—Šñ[U2Ñ[¶½UGûoU^p¡6,Lýc³aY†¿à _ ñÒÄÊ€›rÃÚ°¡×VLÚ¶¥¸Í¤4õþ„7ï”l*V#.‡É䦅@Ó’ü2á¯ãMLÞkš°ûóÊ—è€4@Ns2 (7õ€4@Ìs¾üØÐ€ñ/ŽÓ;Ëw$Ëí$* Érë—î½ñ…ÿ÷Õß9óñg¼zýÁ¯üðÌ?Ÿ9ù«ú©?Ùúû[ºÞÝúò«Þö”Ó/}æÌ›þé¿ÝõÿÝòå­÷ÝýSÿðËÿ»õ7g̽öÃ/Ûúèo=\øÉwÿÊÖ'ãÑÓÆí3ÿ0ûÊßÿ?×ù¢uÏÅ_ýÇžùüÖÿ»afþ%[}Éí¯zýmÙ™/}àú¯|õWþyëO>þþéÒ[~mækì_ÿ®Ú¯ÎüÍ?ÿÔLÜý­}ÕxÃkŠ?²õ™7Ü8Wþ³K¶¾ø ?þè±Å­¾âÍ¿ñð ÏÚú÷Ý•¥Ùú™/¾lô å¯Î|æ Ï:þÛgŠ[|ã͇_}²;ó'—é;ö^òû[qóß½m¯ö7•‹¾ç3™ßøgn}Ú]Ý=ýOc[¿xÃßwç××f>°ëÔ»þ…­Oþî[~ÿÙ׿që·_öW;ñÕ™¿«üÈw|òÏgfþù'^󞯹læÝ›^÷Õ=Ã[¿}ǯºù³OßúìØÏãßîÿ•­Ýñ\ë†ßø‰­O¿ìw>y°Z›ùòSßî¼ò×®˜ùÔoÔ¾çůþ™­÷ÞxÝ+?÷ooßúhîúïÙ3¿õ‘¼æS£ÇŸ:óù8õõù_~íÖŸüÜCŸø·þÞÌ—oxÓØ¿þÅÜÌ'õÕ/ùÃ~læËðÿÇ|Ÿ±õÿühõ¡¨Ï¼ìö?ºç¹Ç6·þ)wãßýTfæO{ÕîÿŽ™ßþÙüæõïþÊÖ¯ºm÷Ûþ÷ðÌ¿Þÿ›ÿíÿò·3|ê;ðº7çf>ÿ‰·\ÿèW¿<óé‹¿þª—|n~ëS}îÏ>ôç/ÞúÄ[së¯xË/μéÃg~ô~.fyîBÔ‹®å+t—ø XoLŽŸ/eÚµŒiXÝLÃêª ¯¢”îIª~5¯>Ê’*ÜrÚª«£½Án#d4Û۵܎V5õ}JÝêm/*gsJÑÅ…\¡¬”íÊå#%JÉîɉrQ-ܹ¨Y¯ñ²½x÷L.ŸÉM0‡zTŸáúÓ–Ûªäuîêt‘) 2(ûJi€jIC[–|<Í©5åCØ®wÒ³évô–÷«£uºòÚî–vÖv¼†åý¸x¤ïH²ã‹êÚ¦ÔÃÝ5 d‚5ÏȧY®Ö¬àJ*'<ë‚–m5d-˨­bv_A'\b|îÌÜòsN¼W·ÎÌÍfO/ÊLÞ…'N/\<:wïþX>º©0wòøñÙåHñÂÉ—gŸ)?¸´4{øà’Z~jöÔÁÅÈÍgá~tçÙùùEh)†qðøÁSGàüçÂÁÙ¥Ó ~<±¬vpt ::7»|ôä‰{ç”§¾j–¢´±eÛwa+—¯ä¯˜ím˜Fµ¦®ª«OÙíg9¹Ä À[KìøòÒŽ°aç© ð¢tËÒ3Ëët$ßûž£–x…òÝ-Ú] \*.*¹¦.k8Z»iÔäï= „1—±¨Ýí¦W»®u4W÷Z{bVᢠHWìØEêzåù.…]ÐþUb”Ë ™q¥t6a)“+f *q¸ÜÑkv 6mq‚—®[éÁ4\;ù£Qbjeÿ_ô?j{Û0]¶µwx^×ÛÚ¦f ²á%ÍYÕøò¸Îîeµ½ÃZ·ƒWjŽ>¼othOPžÑ[šaB­áºè"ëRûŠ“i;6Ââgm§1 ­¨q‡º=¹8wt›æàOþ3¥|n"“/—‹ÃûàFaÉIŽõn8œY«îèë®?ÒáZ§ lp?¼Mz² FTêÆ4\·kÝ–„féê„n˜ØÓý¦ÞÖþ·>f7ù¤×JzÝ»e¸5xkš¥Û]—-˜¾5/ºÃ‰sñܦq˜½Ç4ø½RÝ¥Ý ßeÅ0Q3ªá®ì:ðYד»?¥uéqº(Žš‘Ñ{/¿ +¸©²Z·¶ ÏPÏjµ¬u.fJ–:ú Ÿ“ƒV£×|¬6UÖÆDìêl(}ÎÖšF »|.¼Ÿè{ O3<±cA‰i;=fvÖÔ74\`ØíL¬ˆèú¥8¹ÕL Tu$…¶mn6l ¾Áví0è’™®ÞO"D!;Ÿ5ËÚöºî¬tMj¢›zCƒû4agLd× é[3Ü.ú|Óz…'tհܶL´tI $•eëF§ ½ÂÛk75.QSPÙ;ƪ¤ .açYvœÓ)UÍ5ŸŸ¯³Ùênz2K×ë.Î%ŽêƒÎm³˜CD ¦[v·Ñd›Áv¨CAËv;̲Q԰ꚃšú#]1MKºYÒu6#ïw„ñh"¨w)0«P¼+ÙÞûîEí*›SùÉ]÷à _jÙv§9Êf—–àeðžntmT¬…¶!É# Ǩ£*Âh`‰…Œ2Κ]k:øÊÏÙ*ã»hSW+Ç >uœ§ >ÊÍNÔá±1ñY'“ÓÀϵS'@¶jÀ›ïV³°jÇ$¹–=®ÛM3¸gù ‰åŠÓ¹ÉéR™^ž»‡É.•µü.É\ç,ìa`'0éŽþ|¶w¿šíÔŒ: >†ÜGÛ”?TŸ= ;ðùXLäqÚÎKÙÞ§ÆH¹™ Û~[¢ÏLgÙ8™SO Íe@p¡e» -cˆ+5A:ÊõoÎ)!2(ïœDò¨"rLP8o¬AjÆ«IÂÅ$Õ’uSS("‰•R×à˜ú>÷÷dý÷)Í/ž[œ=¡”]\SãÓùÜt®€kJ©vÏ"lpØâ÷°¹ûæuRf…ât±4]˜â ³kÉ#5O%¹^Êb§´Úª¯\ú@H~¼xˆ¡üN9†í©Lì^6:¦¼¸g¶ R ãV¥p6¯»5ÇhwüÎ.‡Ågy’âeKÝFCw}Aòh«m;¾TzÐjj–/„^v\;·yÜÖêÁß0 ‘­ê wé)™€¦2¥ÒÄDT2= rYR‹wxtx> ã <ê1dW°N­^ õè9{<TYöú*æK•#kÛÎóå3å|>ŸŸ˜ˆÑ<¢Ïw¼[ ?Õ¼Î4ÌzÒÜðPÐuv^§Îü7ÖgDÃóšeàò Œèdê¬}DRlïÕ©ï¬Íû Ls¿A£w:¡QØt,Zûç;ª*uT5¦¹ÙnÍ­fõz·ïŽë¶ÒfhHhPŒ*H×ç?W†µbWíG«@Ióí7¦ ô 1´Ð –€›?ÿ­¹¼§J·ZËÖ´¾£9žœÝY5û­êÃhQ?zD+¤#ÕÛZ0jMMYÖG4ÓMÁ½/«Å»Ï6e—¬íãìª&áM½Õé‚ÔxæÈ¾*ÝZ]/Ýtm‚èb¡QÝ:б ÿØÝ 1aNÇ^- 2MÀ3ÝÕðÒ> 9(]ˆE•â(zK?( ß'àÍÛ¦æ†iø¢][]·íúùÌrDW¿SC&’+L`y:+ç?šÞwÖ¥þ* g€ ´ÏlŒíGÙeTó`!5ëÝJÛݬ5r›ZªÅ}D;g<È1üvÆ‚gÏbg@#ë8˜l5I8éc½,¦&3ù\>×W†>ähÖ¹ÐóPnÈž»"åÕ¨£Jý¬Aï7TYÕå~àC³ÞÙÄ£f“K»kRÚ%P «fvÑ”ŽÚíŠá´4û±sîÜz#‹Ñ2âtk®£™L¤Ë±©lM0~( &«u5yÕ¬³gÍ ÅlIø’0» ;L)l Úi¸Á§eÙN«3:Ô®køu”YÝÖ<¨Ãk£ ÆX…µ¡Üb_ŒÕdÓáÂôWâ&Éæ›sÊÅ0Yªjs½oåÁ»d» .*ÕvYªyé\žÊÆY¾0]Ÿ.¸ ¼¹¦Þy×-¨0¡¤5Ên”‘¢>›Ï2O§Þzw¸yG ø2)FóöXÊ%[&¤Ù€á† —Œ ”~¹ð˜/Õùפ¤Å„tå_9Xg\Òñ‹„ðÁ<#x ˜?ó~àçÀ,Àu9/d’ÿùW$;b’ù—_`œøå@•Ù|7ø¨#’(­==-k¥–5¤FŒS Þ^YX·‡ÖÊþX½rC_ åérn:_Š1ôìECO =ª“Ïá!t¡0›˜.­:ׯ[uB¦Åij Ëb©‰ÚW[Œjª¹üÀfGçÖ—sÍÄ8³ëõjÍr?ƒ QÌì1—¹À,Öas(廋Ù|Fu‚’++¯ž Þ¶hW¸`Î^“wÜ^z‡qÏü iÜ¡Xm€«Ê#&ŸaGΚTëŒÏ’©qV4¨,†OFûI¹©üd¦81>Þ_ªXnÚ--lZ:Þm™úfààŠÑZ'kRŠrp×wX¥B¹œ)—ŠÜ ´'v<'´N3jš8ìhM­•|˜hµT#´é$gг¥|!Ã)”Ç{ g© +Ê ëm÷ÛуÍ} ß¾èõ<Á{ˆ1 A¯3×^é¬!'S:‰.‡¯²š¿ÊZ|•éÞ*˲¥Žæ”œÝí°Çnì\UsšbÝ4j«º“9Ò˜y° ŠÉ]º—†„”¦O³¦ÞÑAV©éu n_3:›Û\ô–@'Ÿ#sòèÑ ÔPÂɸ:²Ñ9à=q‘KÉ®ùžŠá;Ì&Þ¦žd/øM§˜{Ý.<0@q¶3Âà™-d¾³s£ì„¾®of„i¥»>xpöƒYÝw¼ÙEg:€ñï¸×¶ô̺¶Iméí»‡µ5¼–Ò· =I­n.û†÷¥Ó±ž?fì• ,Ñ:.7T›ºÛë d«Úväa­¬–e³¦é½3XFâ&Z»¤ÅîŽ-ÎkÑ :2…69`Û´]tÄîðS^³µwݼAߪ°¼j #Ð1lUgZ]kCMqè܆u/›8>b:t@»T”£Ê‚,ìÄt©›*.ô.žìZÞ”Šƒ™%'±Ü>¶¿nÓù\6?9^œ;ëºÙµÜT9käò÷ÉÝ(B‹\)¾E>Ÿ5@&¡ VO¨>7˜º/á,¸w|uXMˆžÐ¾|öà"͵j«Þi1|iéèý×êÐbš.)XQkð‚A¿Ðà™º9ÊÚ5Z´MP5Ún \`º°*ðp¯Xê- -xg5ôÑ!t!„SePO"ƒóøYT.ŽHAO†ìbæ /ö:.¦l†‡™ áe›–:¬¨Â<.\†¯ÓÅqqw;Ç_§Rÿ¯”CÍ´'ÃOJñ=Æy] å#À½x£bœ9õ¢U–ÃûÜ…G‰•¢ï?íþbÁ@Â4Nv…é\>0MBË—¦Až–úazaºÇéù‰ªG ê é·ßgTŠžè-EËÍ/Gsç«r´eút;¥ü¦eœ\4úœæ}~/Y ;Œ*qç²åÌd¼Ä=™)(WvþGT|>XoOá`G R¢ŽÔÛ:O˜·­ÆÙnØœù4Œ‡dãþgH–Bœjªµt£®;ª Ù×>c¯vX<Ö DNæÃD' ]‹ˆ§}z]ÒáA›¶bu×ìåTÓ‹ísM C½"N½ Œ;ߌk ^Xƒ‹/1nêck††Ò/ì,ævQòá’Ì]=Û›Ÿšœ®?ò(rýB171–ŸÊÕž¸/Kw<ÊE]^ä*æ²QÝ v ·©U „U'¼ë¼ľ#ßzHFUŒ˜(¶‹Œ…7ª yûM¯Ñ­P´ª"â’¯µË%t“Îò,ÙzÙÕ¹'ÞìÑ9ºÓ£sYàdÀ0b DEéÚ¨0€H±‰Z4±yÏë¶³JÓ4Ï*'4>¶„®zp×C(µq l—\ý½t.­–.eò¹ñ|±XD†ºÉê³»ZýR[knQå>µC_ˆqذ’\26µ`³‚NÔ]>[*@o'Y,lŒ‚Qß\:¸0ÊHVãbØ ^ …ÁL»atF‡l§nÀTHékÕ2:ˆçÝҜպ½nÒºÁ… Š01fßGÚîæXÝM=«…Ùb6R“¼çûÊPÏôé*˧‹ÅéügÒœê)Õ˜H«g¿ô$(²žrŠÇžƒ†HiRŒyD+h£äôˆEiPÀm“$Å/DjÁ$…ˆ~n s@èá³3‘è*'ô@ÅüZ ã‰BÏÓ· % ózTÛ¡"„ž«0–* uOb¹|ÑÞØÕñ„í»®´jvÝiùvŽäíed¼J]cÉ'$0€r‚å9 ½€á˜Ž)$&Öu‘Í4`îGˆ /)ý^ü¢ÚÞ!/ân<‚ÖÜÑ%S½W¸ c×½ÂÔuoÀQi²˜ÏL•sÜQIv·@v%èmAÓkMÓ“DúvXÈLŽO–3SSâÔRvx=´†Øæ*öE‚×½ÃÕ*ý¾ç,dœ£[)ÒZ¯{ò…‰L®T ?ÄRG_£Û>¨ñÛ¦|‚Rqª”™ÊML†z[ì‚2vDëVT^E.g Ä8d¡r½(‰{Å™j¯þKб85êÿˆn9Æ*ô¹/¾ªßN– ™âxy"<åf7éIÙI7®Ìü¦´n`U«CÓ0$âD–bscÍ踫›uIc¤`˜}ž%9n¨° `çÇ ðDà @rcb{“;—ƒåmÐѳ’+ôH[øæ†—5K#§—°BÄ€¼q¾T.g 婇»ÚXåPÃÇ´†‰êÝe± ‹¬0UÄ]1¤Êå—ãÁ¿°)’Ùз5z¦F¢r"º^ ¿CËMyVOí`Ñèè<Ì"k(Žíà~CÉ”“Å¥’gkDÿrÏÈȰ»šíèÔE·#åWÍl ¯u³Å;4Zm“<á½á¾C’ÖÎÝ}7,€ìË"¥t#Ðlèp™<²Xk·EÃá†ÙÕ‡UÑ÷v)úŽƒè;*Ί<Vî”6÷b¯Bòu¥ í¼ûˆâ"ü7•-y= ÁÞ“*_¿Êw^àñ'nÄ·ZúFÆP4Ë(Y›G‡, Ïâò™|¡·lÖ#š¸#ü‡ã³L»ÝqDYŽæèbU»Þ˜#Âÿÿá‚ô/H-\€Q IyZ´Ìæa%7hï,Œµ0ûĈåÀß[üá ¹|ªc5­Õ*¡wƪC¶Õ¡#K³§‹ð,ÒKcM²CõjÝ5jP†¯#ŒÆ[¸z x2 ĨVMêèµM#°Çxfìn/ŽgÄhÈù?ªØÛ³r¬ÿˆÔB‚éU©¬qçkÛÎ*ì¯e;I.A=Ÿà_X=_i1;Ö´[ú—YÆæEH Rc{µáò0pinñè) bÞá[ÐnTzº„/-¥Ô{áâ£0í6¨ðFÍif­ëÃxH‰‰Ô)à´úºá"4‰t—:(Ý¥’¬p¥²uoYyøðŠëýB×i7GÁÞy5Y¢66ªÞZ ºV*\ä*ïQÉBQ«³ºGiè5&¿³°;蘺sÛ›ŠDÏ1—¸vd7$þ¦!,>âüKð#êÌã=XQö‡(1¢? mÇõžð`(и&)š¬Sín¶t­fà ꡚÊã\×”NãIÏAÞ§\!î®)Â|>Ô#r¿dÒã[`¼¿tpíÝ8NÀJ“†t{îvFkp‰s¸ÛµqNmkÀÑ­ÌájÛˆçVï”%.K¥ÒtYDHÒ;Pj߈ە=e|{,8*'Q*înÐÁN xTÊMçÆÓžY.7/§­XÊñ|êâåÍö…rÇêÉ>;RJà_ªF±Ÿ¨ìíZùM*@}Ïg9†yÂZcú8| :3ÀAÕE ÆíHÅco\,L ½!&Ã%añä…R˜˜.'G‚'Xü/$ÃR؉®p…eÅqäCo#OˆBoö‚˽o¹A]YGOŸMÇ\Îêš&; mê.úÞËxoT8D,øa­ëÒµ í$QbáLq\k›(³mP6Ð_5ðí.šR¸ÑmǨ/võ _l׊“1,SžÃ¾"‡i”û/(|éaq"ÐÅ€¾[ÁWàZÖb9TÀ#³ršù/ë@ì Gc÷;°P(ØØïZÇZ±£}²P§K JÒcØÁž\¸ÔâŹd.:ªÌ¡¶JhKôU²Åú‘ÃX?°˜Ž¼Èêá%£ÕæN~ht;ëòÒ´ã"WzÐEC¯òc¯;Bíв¿RÕÒÌZ«›¥ùèÑëax ™Y‡<›‡u&0Áz°ç¾&¸ž]éš ¼˜v¼òX ^Œ]w´Õ`§-*ɶ*:ïë\ï®æðàEœ^Ì5n­iØfèE×DlÍ»\Y…Ö¡ 4R5,`Û¼˜5þË4©¨&À‰øò††D k6¬„Z' ºI×츼ˆ3š£+e!.¾o´›¼uÛæ%@Z;°ÛØ ç‡v;ôY׫ÝF–5‚¥˜µôu~ÍÀ7¼™å«‡Ù|œugÓéZÔBßhcì v¿D€w… ˆeèäKÀʲ˜¹¡‘º´Òà3G,™¾ð-›1ìÐOXàÈAH¨1/¦*|ü½( Œœà´©!ÿV[£â&ȺŽÿ­-^ŸQç­ £¾ZçßibsúR“o´ÖÄwtrwôŽ<"¥Ò³°èE­Ï¶©pÕ§Š¡®†§}T&¶ \¡†¦± ‚EÓ¶ùp€,ÁJ¨Êï«éŒçŠ"·“ñn­m· ~К oº#V3Î*5¡/þñ¦w‘Î2]` œqÛgă°x§°’ùZj×2šÙnjëÔ9²¼ºÙ’_k¶“ |ϾÊ’MñäN“—èGÍîŠYÁ}M~Å@‰5Í‘ a‰Ôä%×’ßDC ïü‹íì¿ã¯ hìòxÉÍv]1+mØŽ|jáÿ´(‡FqtÛ—ƒFzºXdÀL®‰¯]ÍÞ¦gÏBÍvÔ=òÀàg˯Ðï׿%Eðrðò }shÜô•C~·êU{ƒZ»˜À K«‚_C/„¬Û…ùDT„hñåãÂv«ë+LqÖ6?èâÕøûDf…ë¸%–þÎó¦ð­à•Å7oݸ±Öåû5tû®Ã§¶‹Ñzu>$Ð7 ¥¼8¢°•§ã¦Ü+™*ÈrË‹§ªBÌePä ÙÜT?ž$#Þ ™Ü¢‹Ó9akoF¹ä¿sÕŠ^ņ0ʤO$*ILjH¾«$©:,¢çøPmaBg Fc£öÁHõðKE(»Ð#ür®0¡øåžTϤH &‡[2.”ûÅRÆf¾€k”¹%0ûµR5É]¥˜-øÞd—§ “‰v•´«¤1¤\?[¯ÜEäŒ#͆~AmÿWÒOy-¿—|¢Âéò) x6ôúQ.ôÈnæ@¸ñÝG/ÝÄ›š.”%çÙgнí3(!dü¯i/jt`Q…U/л ^y&N l2Ø\ —ÍŠߪ®¾{؇¿Žú¢õ ç>»boTZµ–†ÌI jíñ->d¿yP7ܪ±}„lV}³ÒmY2€Åëæ€C*üð)`zr0×õlëTH __ëca¢fŒÙºu£ U•Ž©,䙚dz•Vô|@ëÖ3ìµÍÞ-ȱ”yž¥É!oP¬zñ‹m«ç µ5ƒ¦ëátš}l¬Øð!Œç®›}F|¤á%i;gAÙë]}©NÂQR[ë7ƒ‹8¾^Žè.—¤0¢³cœ§cÒ´ñ¼ÇµªmÀ^Єh »êOk¸Q—›‰ˆlö1ª”Î A ]DÞf¯ÎÉͧ|øQ uµox6ò~9Ù0û  ܂WÐc$ÄT^&SÙðÖN¯á>hÀj%tƒát c¹û¼o™K§ç«üACô–Ñu{Õ.’Ìœí­Š{ã l̳KÑQìy ßç‡oQ[Ôwi é×G™HæÙaÐwY°PF™ôø–©R¦ã"16]È„%ŒNÂå[¹ðOÉå3… ô:‡u$C«gY?¡™NIxJ²š½…G’g82u­íâ¼ùàPØ‚åDzÂ=De ”Ó0¥/h>ŸEÿK÷G‡ü`¨%ÐÆ\}†(â½ù7}S剩à»(ÀJÅ—X_ì#Ö&;–…ÉßàÑY&ùÙÞg-x}8æ(Æ£œxK]0pàãä65¥š9“A¯^&,ã±ÊÅww –SÀ •Ht!GÜKž ²Þúúzö,°oè{Xñ˜÷Dc°ôô¸°õXK[XöB ëó¹é²ˆÃÂûÁíÂõw9(EÐt‡OH…@à;¯= gÄà#€WĦºgÊŒ8r@EàÜ—y¬×¿l–q_Ó™`§AÅÈ #ÎÅ¿’,2pSb‡LðÂ@ïœï1ÎôürÁà˜ÇÝQcä¶ï±±@bY,À¯¢º`LA…‰Ø<(ð€Äo˜`6=X |%PyC˜OÂáâœÂ/®Àˆ%øE‚0IýÕéçd^}¢ôÂ(Þ;M êXµîfoîWEÔÁÀ¹&X®L¡uÅ´à\%–Ëc.€âÀ¡uÛÆLÛ‹ÝR!ÕûŸÜ÷¾ûv=mGâÜC™»NéíR!Dº\FMh† ]ÒŒ©WöõaOŒÄ%=âðó7GÕ.,zžŸv§òØ+‚’™ríJxÉ2Zzc^$¾zì% ÄüÉOíK/büØc bàãúu)dßtyX½› ¬1\2cl{ÕM#|Ìž·”pa‰~ŒÙå¢ñ)5"öZb u)7I/x½We½„ÑMk"†{Ä;£ûžÎÙˆC/3Žý=ö-Ë™Ü$¶,—½HùösÝcË~T~Ó/_Ç@Ìfpnq“_2&pÆNñ….×MLEP¶“Ábªàü,-}©£µÚ}XSZfxXXŸŒ bO÷bc7+=^ÂU>•‹å³üÉ©º-ÐÖº­6sÚ˜<ibŒÛˆ!c¼Oÿr ;$™*¯î° ÿîæ%‘áy\CÒmdκd q;o˜í¤â&HÙ˜“P ]¿»:u'° E'ðDß½X„Ž‚ » ƒƒjµQÖAi¹:¿Ã=…ë†Ö ÀNê(èÐr^¡š kÛ "Bµšµ 'ÍbºÕAã~–aà”H>&½¢2 í±Ûx–JpŠ# AÙ=ô³Ò h]Dæ—ÎÈã³K#£läøì©Ù¹ûGà)("t© Ë„Oàˆ$ÅÛ*St±xqÀÅbNu±ð\tĹ»àI!N£´¹G¶‰­<Öq4„›§­ß[˜*ÝIÇ÷gàǸºoá·Íh’^ÅÞvÇKÑ~óО@ÈdÃ/À÷ó>öÉ¥†(ؓ¬#“n络µD³»ùC†’¾¤ž x^b¸õ@½Ý(§Ý-6K‘ê¨úEr¦Ÿæ‰ñ|)3>955¬ääôþ –¶¿²“«£« "®&…Ùé„ùX7œ½<µ ùÎì}&Ê|ŒüyÁ;` ž7ÌßÐóPº ‡Ãš+]ÓÌb^]÷^<ÆèãZHâšN¿÷©Sǵ{2{5oo⊠ߖ‹™qš¬u´5}AK‹¸ŠÎ-¶Ó¢‚óØ9Í4€ŠYFôiáå“m^o‚,Ý4ý™†IªûÐÆe Ã(“Só0ÌpϨh8:[Ö£ÀÂñý!š[q%gó DêWUÅxºL0Y"Ûw<œU.6S$â÷‚ô{ÄJÞÊ ä2Å0ºº˜P8*µ¯ôÌÈt¯¾‚ö¸ewt.æä„¾ Œm]×Y×å ?ÇîÊ.òåÐuˆ }ûuLÌI’ …e¦sBЗd=Ìž.šSÌž)’ x¬‡crFl…i³xn<ˆ%攽4ŽhS•p#ݦc,¿«Ñ4Û3V²-©v ¢½Ï·Ã2A¦Så#ð(ò}£ŒH/ @ßQ60™ÝÇsD U—kŠAh( ˆ% !Áì1<ê"‰8ò1ÂIJ9”CU U9Y¯7!SÉØ¨º#ö'ËTémƸ§AŸì¹³Ü;s't"ÂÑ&=Ôà=þæTzüåâgÀ!'u2ÏTó˜ä9Ž˜|aìÖ±y@v„+äïÀ“^E6éEÝ…¥¨úm×'ðX(Ø=ôü•/KÀ‚¼ön‡ISŠ7Vy_1[ˆà|1ÑUçþõUžû`SOaq…æö[¢*¤º`}¶$2Œ²SæÂ¡`”ò}xŪGš òщ“’’^@L:¢&HÀHn™žF[5Ć¢y¥þAb pò ʤ ]³€W»B覬ª×4”A ¯¡q¬8]ÕèÈ„QÀÝ Di¡ÅÇà2mÍ6€Íu²lD¾¼#î(:^EX©ôò8ð+‚×k.aµš@\-ºEÑÚ)y¹ŒâñÕÔÍ&JDúG–e#ØáŠi¯¨6‚kŽ.÷Ž¿¸W2 9謃ë9Ñhò(]KXž{û6åcçB(£‡U$7Ó”¼Ä4¼ÐÝcM¸`”(€ºn4|ŸŽñlékšÙÅv‰8…-ϲ4 ^­'³Á˜$¯*AXi GwbUAŠ˜¥¡öj½ûe˜lJì¾íh+#»ÉQÅ#mˆ˜Äñµ]Qg‚Cw‹›”©Š‚òÁ³öùPšY·‡äSbïå!çFÎ)0G€3ŠϤƒÈݰn¬¬¬úº¡•§Þ"P[Ìq;ݺakmc”-MxáH°x;ML½¶Vë8n°¡–™ ±ö:Œ[¢ˆ´1Áùe¸ÖNÕç2.éšu­SkêŽIv—:‚8!r%F¸“K Ü 97]Ÿ. 5‚ÔuNc•V]N„™ ÀÊéK M¥œî ñZõç$¯N@òêOÕ÷Ï”AìWXÀWä%†>)ç#qQ'…"ªbùdOîH— ÿØ£º< c$öŒ­ëU”䬊káÔù¤¸|ƒzY®ly˜¢^§°‰ÌŠ6AúŠq d}py½Y‰Çå -¶+ä+öùÈ"7»˜/3˜øías‹}C ¾¢¥Àn« !5D%BÅx *n,]ÂG@QAF¾ …É†Žº:Æ.*WnY¢RžŠx,u(ŒH¥ŠyäeJáó8¼n¸F—¦M.^šT8°x9¨°0ˆ#>~l–UñÄÄ1JÕÄ|Q8e$†{®ŽÂ0â±®‘,cG;4”–¶ ŒBŠzž^,ºÊ`,a 3FIÌè$±D]¤ïHIá1抱x.¥À(8`ÜŠ&^Q/bü¶5¸Ì8ëɌނJ'5&­¿»R4IHm*%ÇHBÖúB!âAlUOË%Šu$\ QHƒ2L™Äɘ@s¸¥mÝFD˜¸ùÍeÅpø6í/G*- ‘Žƒ† ¹/ƒí“6<;""¥“¬bE¢!‰@HÌår;úÊE"o@açòy”‹rÔ‡S¥ú³9Ñ 'ÈMEŠ‘•RˆIÊ n Ý`¿BŽpHäOTêõ_ BÕ Ünà ɖ¤„µ'œ\ãÚØGœé% };Ë)S}äŸú `C±ö¬<™|J»#®LQÿ‹ã£CaCT.,µ Í‹I"&æÉ$LVAáj<*ÅýMU·0@©êØvK˜þp ¨5à(ÈYUœ/!&q#›ñ.„¯ãZ³¥YèÒUuI3jŽMý¢,6ʬÍÚŠ‰§en¾Úuœ°kqaséÙÇáx§áèüü ¤ZJq†g¯Côøˆ@Wóà„Ð812V¬Ë{Ëó°µW"kÔ¶Ìd©‘ˆcñyŒ`(a&ÇBfË㽌`Ä;vH4‚õK—))??Îæäžy´>Õ‘¸GÕyñ“$LN³™ Ø©úõH3ï—Ÿ¯ bœ.¨$±¼ƒ„Ü eÑãïr‚åÇ{[ôJ½,z¼“):ˆšÎ—ûZô‚` Ot)ø<¬{ýð¿DàRo˜³Ãù³®Qú»eˆ–ÖVŠŸvŠE|Žá5må”ÂÏ*â-ÆulÈá•=wÐu~mP—ŸârÛ'©^ËÆra£6Ô¦Ývkv§Ö<³äyò¬™ ûÝù6š5#r®@˜—ÌÀ €;klUßÌàÙ—Ë`Bîd† P{¤«wõ,;h­Žmµ¼,= ÈÜÄÓ£:f_÷:âxÖ¯E:¯e:°½Mž¼]c–¾ŽõцÍGùá-Ó꘡c“CJ$ÍD·ðªmRg<Ïð¸—Ým„Á´BFù"#ËÒÒãé0E¢Î6H0/”XCæ×Ôз}½‰ñ¡t6Œið:ƒÁñÇ$p(vˆ¯R~lŒ Ï1ͦ3þ¨(b*MïHÏqlɇ¬¼ œž¹»ï\ÆM:‹2ÿkCÒMÌUJ•~øZý$boŽõ0Æoß‘~õã%æAEXdÊÀ¦Ñ"S.M狜/‰Ý«Ô¯Š Ïh·|LÇ÷#ÛÝ{êì±ð÷«TeKUSq禦s ÁOiå°“)’ò0[‰,üšo ÛNa ú¯FÝ'¶HîŠf£§)=^Òv´ZKM2&@òSƒò†¤È—S Éð)蛲ò`ª_‘ mAEÝÉPZ¼Ø7'Y.{0Ë!z<ÆGãFÐ`!þˆ”Íõª¨ViØvÃÔÀÂ1­B‰"%wVÆâéÝù¨Þý¬XxÛ.Õל0k')g0B­Ž ½ Ó½ž†yŠgõA"P½:†&aŽdÌ2äÑŸ^ÎCÆœvØI8ßÜh *¥-3Îi<ÈÕcSF Ó‘Ë% b°®Î}{Ûf×e®ÝB?mÓ̬Zx:å¶u FE‡Ï¦.²/ùƒäÙ±O#cY˜]>>{`Ä»ÈÈuW0L ÁÛf¢FŽHÖ¦±²Ép¿Æ$3JN³§ÇÆp‚¨ãø-þFû>N «J©{³X˜L®ÊäD9£‘ªûWé`úYŽòߤ;†à-ò¨Œ@K>†xZ<%éfß$Œ„¾ü E! ,=aI|¯RN®I-|E0Oz::¿Þ@ˆÛ¸[%±F"„ý8$ûbo$xž@ V“= Á®F‘Žv£7^ z^3ïÂZV®<ýT–×V´MLÕBð/ºÖUC_Äö›TVéZî:µk‘Ì?7G >u—êzð1Wùˆ÷˜+ò1-þ˜kò1%j{«i¯ Û;MGÉPàå©ßBLçóÁ dzÜè2½eÙà•ôñ°rnY®0]Ÿ. Q—OOÿ¨è•òu-)Ä¡²Üã…Å'‰–…Lú™ÀNÊå^ö ©&ÓfD R§~›<…ªÆÑ+d$‰Ü|ÓÉÇ=½ÉG ’·$P\¼»eD£³&fÑè®IyMòŠ™ªù³î¦Uk:¶eƒ`qŠg,hQ²M•vD}1¿[1ͳun–ÑÉ,_ÏÚúcëÎ=ÆÚyƓ܀ŽÔ5²›€h¦NCÝ&‹Càñù(ü) S‡ .rv³á Õ&ËÇJ—[6ðšiÚë®a`Ò/èN¸£€E¹µë ±°JŠu4w•¨œŒB¿' î¶ê ¦¡ý€@0Ë"{Jj6Ò<ü¡›®ŽÙµZ[]#{7¬‰HPy䘶¦-ÑÚñ‹tèlƺ 3¶áy7uƒ§ô¤ž7mñ¬ÜY9`÷O{)ê%,íX¯%¥I¼Yb^¨g¡£3<¶qbáÇyöf™ÿb(.§Ø‘•.Z€ä[Ða[œi…|Ú ¾cƒwV5ÊÖtP0êêÙÓåb\8uSÆUíqÜ:?Fœ¼â-Lº•9½¤¦t¼æFyDYD§áâätIâÕ(ÕÇ>0"Yq”^nð{Ù$/¸JÀ'ÉSü|\¥ó™b³yâa[—¢ÇËÁJoy?’íyG+1g'¡ì–ßNg'}Üœ="4êõ%Ž´x°ë’4ø`w“‡—> ßÊãÉ/æÙ2yëýö€OLŽgÊ¥r1¹óeDW"µá“¦°±6»Çäd'òã=VjãæÛj ÖýÔDÝf§z<†ĵ†=²j§z]÷w ,{ø¼¸—€öL"C>yH‹Z]â1žÐ5sþÑe¢˜)–r=–Äý s‹,‚º9`÷S¹©"¢Qô$ êëØ]gÏîêæY[O·ÝZ òÝ kiM³ìµTíŽò§Yê:Ýš®YÝT'ÊyˆC::"™ÖR­ÙmihwMÕ 3¡<úSD–Öm5u\BPašŒCzÝvRNŃâ©`¯Ôµ6|1“Ÿœ˜Ì ½6ü!Óv¤[¨’TSÓM}°%4^„ÛŒOéµB׸Ûí2fšJIã1²…Úa½©§kµÌIõ(RVº50«9|µÒU]ÍïK&&ó°}ò“=DऴÈ`ù3˜avܶÜ¢“¹‰Li|²MkʹêÎ`‹¤P.—3EX)=žŽç$}ѼAi²Œà—…Ã_Ò«šŸtSkµ«*KÞ·›f6_žÏò½†6¯óQÍv:ši Ö}y¼S[êÅ­I>暆cÔZÅLnbr"“›ì%úz{ï´ÛTé¢j-¾„ÂàU@G‘Êf2“ŸR®ì£t…=·ÖaG4·ÉæIU °·Ev’û_‡Ûí‹Æ$k¾}}„+{÷xau”QÔlÂM†Dì>ÝEsªÀg@µû o¶—È(î®U/#œ¢ÛÔ2yù¥Pǯ5§V,ŒÀÌll`¿XÖê:ð¿üå¶m{uSþªšÚª^ôZÖð´,‚:>ÂݘøÏ|ardÈ·×»ûðu7$W õã©! áž&Êú¨ï±®¹tšŠŸÞ©éÇÔÜ‘&0,œ¡ŽÍ'G§yÉTÉ|ÚÒ]ûBpE<¾åZ&ܳ®gÙ)SG,ËÆÕ¦ÖânFBDÛpµ`ᣣ=º4Õõ¶ioê<ʱæl¶;2}+Ú@¹å„h DpKÍ{ø|Ðm Q—Ø^œšutÃM¾Ðëû|l(ùLläd[·––Ž0·iwÍ:Þ›ü¢”e÷@Œ‰M(žc|qøÖ»:0úl°5ÁéUã 3éîÒÇ)¿uØç|„s#,šMžâƒ¿uÏ`§T¼ª÷å´øg·øÛå Óùq/W<}ØpÉo£Å‚JZgí€ÚÎý™…ŠÎH?÷óÎ< \ÉŠ°Ê<;v–§Zó{’Í„LªÎp›a3®#“0€"ÌH äƒ U— =7˜…•Yæk²ýB€Bʸ6Èç*'ü“ ±ÍS3ùCJÉ@ŸLÕØS#dW™ÔSõᩉ¶UBvœ<éR4÷Ô@Þœ«|Œô=BP©c\£Kõf=ENÄp¥¡Æ–jiyŠoÏ•2†Sªæž"&)]Ì׸Ë‚Ô*æéTþPœ˜§5Ö#Æ*p½(Ð î\_ó 'zõ†qÝ&„&´—p&Æõ“Tí©%üI¹ ‚úGª óÔ9ß æ0Ò/‚{ •&4ˆ@>Ø@\G<6*Lh逥ðïÑ‚UòÓ½v)Üó>Hg(ŧ£FRx# Aq)=Ý¢—¹ ‡RgR ¾æÃkŠgóÄkñ‹’q9:UsO|ö‰‚[ 99Õãyâqp›˜f8ÊÍö‡ Ô8ÙrþÉÃÁ·ídË;™Â(ùÂÔ )k¢nV)ý³bŽsÎ#0Fõ”H'ó_P‘=üµ®U×\Ëh©~ î7/hmvÈ0uîP ÒüÂÑ…ƒ Oý">=¹l^=\ý˜âIñ£ÙExø!# &ùpgÃÐ+›Ø†°XSh³¸ãËããÑ€êcúʊígÈÒû¥ž<@Ù¨Èbah‘LŒq1-;º‡Aˆw…ßÍRfIb߬ˆ9dúFU ƒ¾‚‰ÁÔ'fØ^C5 éÚ¾ª,vDΧO}(CÝr°Ûxÿî8üä‹@3PŠž£šÐDŬÛ{VŽW_vO`Ç6ˆ[vå)A×$:˜å|„º­R{•Vƒ%•>ÎÓ[(÷ tZZŒ/`r9\ ×@,½¿É¿õþðZMKç½Ç,S0Ey»o^nt/N¤óמŸÇ[ªcûž´»'H‘\ú KÄû$‘¦Ôã8ýz¥»=^¬½ralA³Ðƒdå8Ôaso¯pÐ'1M‰á» œ(\¸óÒÇ ×…Áò8_\‰ïL5¾V Mµ¾k‰¹VAŽhnîÆÃ(j¶µ†Ö5Œ‰` ¡w}ƒfU«7ÐM@¶:™™Ÿ²®·/Qêo!žÚàlI!½ÅäÃmõ ¥KZ{qJ‹>h[ãêߟ0»ºŠT±UØY2Û-Ѐ°·š‚§@P­Cj"€ ’L‰àž¡àÁ˜*ÕÓ)Pì¤ÊXã“ñ“qŒ±ËMx!'± Y/$k0…oœö D¥ÿSƱðr~:—Od¢×Ç3ÑÿÊ@ßNÎo“½9µOÊz°ë›Ôýé®(%—ÙŠ‡=}‰ ðì®ñ°ë(öÝÄy‡ôœóBôÖÏ¡Z>Ä[ÑZ0 ЫºÛÒÔ )вXÐÛî‘mó®*°92­.,ZLÃX×Õ®û¹úäJS™‰ÜxðØ_}¦E»Ñë™ ý²žðHQ¼÷þ “ŠS…Ìx¾”ë1¤ƒ ¡ÉƒZÔjFôzŒ²íÛ;ÍMê{©Û²¢’ªï£¨Ç&õ;gÛ«Ûê•ü%’z½_7:mu»hWÃ=n¯é¦VÛÞ$K‘3©sOÝFßÇtÇÖ{ ü¤Ýr/Ôr-dJ¹"è}…É^;H‚Ã%háyÝ\n¥ÆÝ2¶³švKsA×èñÔ§ô:JA‘©n0ßkÝи÷ÆvúÕ×{­‚ù®…buŸÞ{_S¥|9S*O¢¯ÜО={"1>/\ê¶‘“Ý燱lEð‚Q aéà)‰S7Î^AP½6 @Gv¬c6KŠ´^Ók Ò:Z–0¬:YîFÏÏ玮ÕeΉuÇðÒH`‹Q^÷àÉ%^·¡Û<Û%EwS"JÒW°-Ö<µxò؈ÿ+r0rgKäþäi9¡ón‹uÍr1æ‘÷“åÜUÔkV´®Ùána„w'ôUšvS™‹!mƃ™11ô¤íÚFªì5m«1’Ç>‡ 3fa¦ UGºéð©ã™{1K¯+91Ëpw%I]uÇ"üÿÎ>Õ㥧{Èy=¼^LùÌŽZ2/E)ƒèuóŽŠß“ûÂIۙ܌úè)ìBD|@(CÀû;`o"“Û‹J°óª¦]e–fÙšãØëc¯î¡ëÉ|]O&ƒ0×ñ-‹ øA ¶]úsHŒŠÔ¯à½!»^­²vUkÃ]$È |ÂÀAý£¤Ñ2ä)  I>7ôÔ è|2Æ ˆ0P|o8=2g͸,Ìâƒ~¨C×(kb6¯N †À0Dl}×›Â<ÔG‹àæTˆD ˆÎ+Ѐ1š(ÚÊ 1­(ÝU/yGd‘]œ6n+} Œ‘Ь‡T»õ4Ò0/3 >#ª…é‘Ha8IÏì>‚™Wåz׌à$#›]a#˜ˆŒ!m*É-Ð=ã3ŽÞ0HÎ]©9¼IµjoÐ$¨ô¥^¥w¥&>â“ÚPë­¯VÅ'¿%®}ú‚k%ÓÒ5I>µ¡’¶ XH˜WË£¤ºW@íó{·yØÝôEC2ÞÀCÅÞ¯ ½ªQƒÝrF>„øQÝaìd×äme&G~ƒì— Vürè7/}9k˜† ŽÚ¯i¦fùã 䌾A¡­¼‘Ñá“ÍÕ65òö •âfá=8¶xbx{gh/ÑO„,AO-lÊc튷“‘z½CLvôýܘÔdËûŽ.€ÆJç 2£Ó­ëâ Wõ3Þ4»>Ǹeå‹t3˜/ÅÔ6->£UX7«g0¨ñSêxF¼8¢î‚øó ÕË•Yް¦r“ÒÁꜚ]r矒bÈ„þ—Þ½ÊÓÏ$&¨bŒk\é| ¤2ÅÛ ½‰qõ(àÖ$Žå¹jpEA'PKÂN¤RøE¤'0©ý6Â6+Ïñ‰äs†bxºT‰RÂçÿ j§72OfRÖ øÉÀƒp95P†Â'óeÌt®R|¼O¥Æ™ð+ÞßSM(¢VX~‚ަÎ#¢Vg.?]œš.æ­j7Å[ÕCZo˜oªU-mPi [YkÛÓÅe‹ u”rÉŸ k–è$xQ¤k8äÈÏhšÚß —ïmYyû‹ÛÍpv‚ïó@§2Ç“8ÕÜ4mľFÈ–Y‡¥J5$3*rÆEÊáÙ¬³K¡%ÃG×(¾ixìïVÖ ·†°2‘ó }×uu­£FùÂáloþ3˜0^í«¿ÅdiÁ‡€x¥BÿZP¸Í{ ¹) :ù‰È3¢ÈŽèf«+¦®å4éW…ŽWôTÓ7¯geäqcXÙó2Sï5y¾JU?7U@ß³Fõ©Zþ¯Î2_Ê ¯B]·Y žðÄožbËrȹ£ª»á>`«Ô0Õ?EUm3ÜQ]¦êåM0™d‹·pÝZµÖ²™ˆ@¯‰ õ>ÙQ«! ©ÌÊç8x¯£¦ÑöM+F'\0åI« h9êªel`(N†‹©:ìE†Ð£OóPSê RWP†¬óSX²2`b¬ÏÆà3ßõõõ¬“1,S#—½}/4lúÜ;íŒà›BÅÖÚºDæðt\©øûš»H„)ÀF‡,Ón£ÎŽâçA”›¡ÉZÅ\/#»(&¥0ªE½u®å#ÀgAZ®ƒä£ž2¾ØGùhë缓ÖÀ+W÷ÛÀ,Ô›€šŽ³8·0×0[8L5¬•QþrÍVÀ&ÐÀÇ¢óðù#³‹  cz³ÚçœÀ!¶w¤8A<@‹¬Ì«(]ÆAƆÄšn>]žêå–›ò‚ºkõÆÁUA{‹È1¢mDJNy8ÝSP¿~¶ÎdÐï)ú|·“—²îu*E¤¼½Jáð!¸ð¼fÅÌ}ôκ®[I±–;vcL§Ê^ýøIýãšõŠ'åØï nâ:Qqô5 ÊA±ÝëþdpPYxS¸(ë”¶\šcn’ˆCé»-/Ù·ÌŸ(f«:ª VÌ€RV[5>Þ&qL¹ÈÞØÅÈ27’G0¦”^ÂD­nçæÖ5×ý]]\}O.&<©WCª„ŠqëæŽÞµ{:v•¢öãÉšip|`x1ÂÌ\¤´ˆÜÃË“wú¸zUÎx‰c™a¢èXÓ8yl²˜ÑÛÌÞ¨õ̺ӳŠL°|yºX€ÿû§u¾ç<Ò:+]]ÀäÌôžœ9ŸäbUd,- œìbu]<ã{üºX=éKµ$,œr €%?âZ^r1[ï¦e<©$²ý`0Ë[6«ѯ£n)»¦ô¬m¯ëÎJ×ô3ÅQàF=”˜7ËN[p©ÓÅÃe ò\—¦XxlŽÜÖ;Ð_Ív;Ó –º„ˆyHœF—ç(YG“rUg.†ˆtY4@oÃdÔ_hlRWmû(î=L 5ÌO/ó‰=ØŸfb€"r?ô,V'ãe‚³§åíý²—¹DuÂ^\¢FÁÀ`éñ5ÛO2Õiï•\LÎh*~˜°êöömÐÇÝ9©ÿTŸÛåâŽö¯äêt 9wðj”eA• ŠŸŸ.õÊ•{WO.#^O:¢´¼-©VÇ!1r¼=‘,ӆħ¦sÅAQé{;Äp–h¤äÀùE. 7zÂò‹>À“Þ¶ R& WZº¹(åϘEÜy¢ê™SF[g'ÉÃÈŒ'.f+É©Èó;Ÿ£hFK}1`~ƆËsêÒµ ÿ¨by¶¾KE‘:&„½ ŸtŒ†ÆY^'Ñx‚t±)­‡|R5Æqd=.ûl¯h øNƉü  öz •IK¯55Ëp[a¦ «95N’†îoÚÒ×é¶+â·ñÛâ²;î»C¤â’eœ9‹êÐ¥ eTˆº ½ÖEȘ3aÔ ì%›˜¬’ƒM„©FÇüzYÉãÎYeÕ@ýÑ 8b'ô 7q0¡h¦‰¯Ø…gÜQè®°z @îïyÙ2W×=ÙaM\²p_4T„ñYÔ--ð…¢óW3<§× f 6ÚÖPIe8]ÙáÙóAÉ'åJTRÝÆ™`}½,a£Ž¦jÔ['F1á,VZ²U/±$Þk}¾è9‘[§S8“š”ðÕÌ <SÍ”¦‹=xþ„#ê$?%ëM^øI˜î}IñBd.…Å ±êê³bã¶!WМsÒv;µÍÔ£¹ñL!GQBÅ^yËd”Ðã!;,@¤´ÂƤÁ#ûÛI•í#šx§Ã*ƒÔøÌFNãÈf¢®j<V‰ ꆋL¼ /ºW©uÇñîªÎ– ÝAøžý&üÊtø¯J×°×5<3W7Q».²¬£0_·3 *fàÕw´Z'£ÕëÈt*NF¸{Ç!›Üµ˜iêf›á òbÓF²ß¡ÂÞ-oÄUGXsLοTUõªSšÓáèwqS¦XŸ@Ö§Üd¯¿¡T*Áe§áräú íæ~Ë÷R1•©7÷ZÅ…È*– XÎô Î4»‰=ª…h§USøí÷ÎéM¢O !nB+m‘£.Kþ8âEÁ)}}ï,eªöÇ Úvp“¬äâÑ3õ*ã'†0mÝ*×®Ù·Á  îš@ ‚MEC¸è(Q–cÄÕ'F2Ž “ßF||̱JŒdîEº´`ô+µp¬ŠÑÇ/Vj8£ÝNÃ]7&¯a8ïo‚&BðJZ_îÆb£€±ª¸Œãd¢KvÒxŸ£YJÐM0PÍ4u%¦,ÕÐø†Db €R’` ß ³—®8~Dd_ï µÛUœ‡H\™'³–SâAþˆ:Ï#ÂAñ+®ß¢ÚñŠDä`èÂ)'•”Ÿ˜z&WÎódÿò‘obe÷÷ ¶å|ÃËÌÁƒíXÚ¸=߇²—T›Ë‡ø¦ ”PR‡Ù¨T@¥Z*5ê$_쓦8ÁUã›cäñKšÛg;vB×›žC_ +eŸ“®^ªÃV/èsÄʼnG¥à •ÆÅ!x¥ÖžáŸyI¨Ÿy}M7í6no¥òå_¹ô­ÿ+þ3H“UÝÕê-Ã2(ÁR+ - bç ¨%DEC5zœ]€”v“{úÚù,J^¹±Òµ0R²Ó<«mÀïR€šõ'6Š‚’+qÅãPAI{q¶ÝX¢"C¯r7©„‚ËÑ{ÝN#Q×Y^8œ•®ÅŸ ä³ã­ÿPôƒE­eÁ¦ä &hø+ˆ6¨ØÿÕ L1ÎDìyìƒ0g8ýª¦Ìu×vNs\‘xÅ€ K©0pìTÜß,=ªW!Sš*Of “¥RdVî‡V|~DªéIò!àL yŒ :( å·¤"¾Õ™Øçé´½}ëaœã™ƒôEŽ6$ã»ÑœÌÕMç~… €&Ƨ~œB!ÇS¡‰!h¾,Tâú»º=^Î Ó¶óø„ø§{ üAºÕCìªÒë%-ŒÕ‰œ*b|˜†øYÖT¦0®\9Šç ˜r™’Èå;ÁsÊSà›$£|[v0ODG¯‰Å¥Âx ÍÖu³Ö4Øì¹s­†bkšÄå°n“a -ÄýC°’§Ùç×[0‚ðò²’cÃÀ,:r”וáDzhÄhvõhsâÞê0Ôβ#†Ÿ5A­¼´<ïÕ ˆn‡õ„Ê.;pâÓ4U xàt$l423û5^’ÕD Æ_·ëY££RaÒ+6GøÚ®Iß`Ž~ìÂßO$ÐMÓíxàÑ'ÝÙäê÷ì;€TÏÔGŸ†Eaùkc¸3Ì8, ÉèÁîâüÀÎr*¦Ü‘+„íÅ®,{ sºMß]`¥ÔÇ ²˜†(º…Î8*‘Ë8샹†»zhİ2õšÞîðŠäp)júÀî`ÌY¶`sÊP'ÛAy‰RBµ‚›Áùè”FœO§^—‡ˆZ„•в hxƒn›§6ÇžKä™yʱ«Z”Ûf ’ÁØ[34¸…•Y@ yiKÕòÏý¿ã¯±!Ÿˆ™ŠDŠtVÃŒú½ùQø§€ÿáŸûà^#¾s ¤j<ðJa¨ëó)á(.d‘|(€SË•šåè3b¹Ž-=8vjµ‘á”)ETZ¬€s³O­hµ¥ÂtY„ªiZJî+›s,ÏXî›Ê!€¶ ùébq:?™ÈŸšJ¹NL}ÐW±[èb׉‡ÐWâTqï8"HKBÙ”öWýÔA3€•™¨ªî?)Q1ymOé爖>ve2²5óï@­²¼IÅj6³–­ô{@ywíu$š~Òè€ ¨ÿ€á4€xÑÙáa ¢ç2‹ÝjØ#;ÒfÑ®ê"Ñ­q¶¥Y1Jr v 5¡„­ìQ{ž+í ZíÙ]]ï=v‘Où¸ÞŠ{H–ðÇKYjX<É´aÕN¿[Ù<óÉ‘Àݯ®Þµí®³ª>¸Sï]£|ŸG´.,'+rOUÙ|zðdгa*•r>¦XÇMÀqâ<ˆ\i_Yœ³MÛ9àè눞ÖÀ~€#éfÝpââ¾Ý­Œ#®)åïwj+°SÞ#¼‡3CQW1D¸^’‡HkHÌ ¸=‘w&Ê&£Ôua–â¼F<ÝAæ½™JZ …dYkˆaè$Í`KL4È‘èäÍ9¢9Zr.žŠF/Ó5‚€„|`n·êêtƒQ¸¿Fn·Û‚ÉÜ„QtjYvˆ @†Kb”ÃLG¸¢„“Z›¬2ƒ¤ƒPS#ô8–ͤJw¸t±(¦‰Ë=B÷GA Q]wÆPË•Çòå1}Í6I.+QŠÃûhÀu Ü«¥j&‰)'cS!ÕsÛcÞA-§£\Ŷ*u ÷ê'ÎLtñLµ½ Õ`íºÙE6;; ÿÒÚËÌ-.á÷Å¥ŒxSÞÁ-²‹Câ[ †8¸ÐëjíS6¼8×oÃ'õͯ";:„v@µ™w!©=iyê-…~»¡¤v17»Áa Ëv¦´±©v˜ÐÏX¤,x¯ÐÅã(C‹àϤ±ÓÅ@O,¶<©õ)ÛÜl y3ò&xyì»à—SÔ(p×àüD[âÕ@å¸9J¾]ތMÛøž²†•mó«1ÕA¯j›Úæ‚×ì•-hn´ï9Bm>«]ôÞ€/@M4Ä d-+IÃ"ñ…:®ü!Í­‡º*ÈÑ SÑo ìD$YÂícõŽ›˜â•»m ~s8."[1öÒáùCðµÖ\1hÄÑÒ»ˆQ8D)o]wÑvià]gE«é³Ž®Qo'ÛÜ|½(è)ÞÔp`„Cnû >LsÂgà2ÓM£N·  ¹Õ‚ãSÅÎX?ï$ˆ¾\ ŽAi)”…Þ¢BôqnøÌ$ˆ¾(ðž´À’¼Ç|aÏ·JÉŽĺbZB…׆oý@„PN Jâ—_„b“2U &PLHO¡R•˜”“æ].ÿ0)üĦ]zŒàîÄÛ*Mrçá/‚x],‹´}*ì,ê2³Çù†Ãhr †ß'¬U·È\{åËÚ«*΋R~aop÷œ(nd¢d‹Òa#UWH˜ž;>Ÿ~£×)/W x àÞU?úSU›Ö9÷ÑŸ¹UêºCžmhp1^Ú>>ýM/ôËÞI¾Åtãb:%6G–· 9W›r7g—YÞ P[ ë›8jeè·‡ WT`³WbFÚÇ©Ùå#¶U#Ç&¸TÇ“TÇn“ÁÑÜd®'²šEÀ!Т5øáê½‰Ž‰r•ùžŽ²Ä÷‚T:KY–Mû„,—ÕWQ€6G4sGS%g¼'ÄãvlÐ2Ý ÄêPú8&\SÛí|ÞS&9úXr¶&hM¥ÂŒ0}ñ=ÒÕÞÎ.rhļKy/üŠ6 ß8Êvn$9kuË2¾#™ØŽÛCá·QºÚ¿«áO=N4.p; ’CWWôxššÎ'»W> òíqxÚ'ŠÊ#Bƒ0[™î@)¿„2äTBÆcø&3Õvü¬¹¦ R);myF¤'²£¨Á¬i§LÚ=»ñàÞvÝ{ãsÛÞkÐõ@Eï>O÷öHMäÙ} KÙÙåmyr’äþ ™òDy*S*L>¤ô·ˆz€S§.»–©µC]†ªÎzÃærè¤VãÑ_}#íò™ÉR3——'•¥í,9¶´ì仃 ah$&œ¦ïPb–~Ù§¦¦€ôLŽ—Õç'LBCï’Ùºc4LO@ºWí8fVÇ'ÑÉ¥0•‹Â¾JZˆÂ~”F؈VÏç&ò£Ü:Ê^jÙvG ˜wÛh@ð¢-Æá6"KGœ}¶cX›H”^b4Yk‰Ìz]8‚TC¢VÐh[탦ͮ¿yhÀÌ›‡êµ@:Âj+Òã=&kw DÑ -É&Å…^Y$MˆÇ÷ô­xõ”Î3éZqYIm¼{é÷U;¼Ó´×]L™¦ Lr ËÚÁÕÇqæEøOh(©0ÙïéeîÀe2w’å$ÖÇ=ØÕàP3/ö %Å€¡ÄÌõrÍ"“<£ÏoP c¤bV,)EZ6y+ÐR¶¨Žå¹U cx¦-æ1 X†7µµUÏ£·l:·,ð¾"ùÈ bñi®³b ´w¥zÄ6sñòâiÕFvQÝT÷ÓÇ'ϦÈO4fäHë•<û}IÖA¹‘­ÞF¼½M:$€ùDJ2Û!´Õ•q£qq:ó¾“Ê6”›À£b “Ó…äh¸þ Ù†nP/ K’_¿Y½ŽiÑ:™¶ëóÒx_óQêüòwkx6­‚”¡-C|Í‚ø®^y&Ìd=Ïɽ"è‚=ë8Ú¦J _â;$.‹LA§Bú¨¢™­ÖBVÕCH‰³ëÑ*;‘vQ£ÅÍ8F÷gûÃwU¶þÎ}ò1[êcjô˜Och(Àä1Xˆ˜u¾àà%rѤÇúH §D¸5Ñ÷,#8_Žé绕¿r¸ k7FSw21ÃØ«­j@+-ZíÃÌš®í#êú'J#ZݱÛè`¥¹Ýªt®ÒV@[– o[še´Q~"ß-ASef]G‡ùªync†%F Š.BFÈÇA{\é1þ8Œþ§GQæv‹\§ù<:C—}ÚÚÑÚJÝ\àí+N Bç÷Ögeé¹×P'â•Ã*ôåТˆñT¹©éBr<ÕyºoG8C”ªÅñŠžô_á$Û¤®3`¢‹½(éµJC‰¦ËË+7u]¥´—²…b4ЉÓZŒ°Ë)Wî Má=Ñ©…n‹;Q$ØÆ¯â½“³1co~jJ=ÛÜyƧÄh1"5Îg{OÈ•×#ÒØ&‹ *ÝŽ‹ kY­K.Ã!ß9´r}¶Íˆ´Òw@<~ôĩٹûý  /®S«ßq3öŽ Ð£‰\Ķ©o†¨Ç1%×íé¬ì=ÝîE]Uƒ€8ê=ÊpÁ™â”wÛuÔ7£ŽÌËþVs…ó*´Xƒû‰” ™˜VGS9ÒwÝJ8Ê&¦×¨ó†´{TZ{­4—ýœÖJ•§,Ì.-¥Óœh´ÀŽW…××*__®·¾ö…É9Õ ö>Š3rÇm‘僃ÃVm{u€pŒ²…ì©,M­Jü=—k“ «‹yX}¸=§AukÁ.U·QŒY?|ˆve¦Á[žé-+Õ×p}ó]äÇãbf´’¥&’¼P¹í—ãˈ=Ü!À Ôrxãè²Q;Pû“WeZM…£pä…×^1Ñ›ÊcjºXNdWׯ³+»cÛìëâ€Xß´¿?ô„U¢ìMr6ŸOõboW+ý]‚ 4§ªü+[d˜àØé£!‘¥¨rl –¿®Fàî¸4—ÍÇœ*}—bZUà;öGNØENˆ#¸G¤;lšôa÷É×Póœ³àùx(4m`SÛ¯ ½9ñeš­Ý–ÎUZ‡y45Òä¸|rRÿâ Ewù° 0¡ˆH§BG`Yœ¨½»Œ ç•ÂXÓQ~@1¿%N–ç/gkøR”êw°ˆìyéùzäZ¸Ùo´_y)‰œ?ÄÉé℈†TªíõB*C  ¹é¼ïÌCÑ®Ž§heÒ:5I]߬tOXªÕ/°’hÐ ç?»ãó‹]Dø«ëläA¸<–uœQÍAj°`×C¯³Ã¦]­z©ƒ_޾%—ûË\§ÒªoÍI ÏáN7OãÎ{[uÌ–éÜíT4Ví°]%nP÷c4ösÚmêbL«XÖÅßqN±q½ š8ïœé–e¬g%gSK¡Œ1ÍÙNRÄåríÝyÙ,sõN$•‘Óå0ldV¤«­ -Gù‹“FÒ’ ´Á(Êøz–-h@øù‰”«:_ÇPB[`Üc—tvE=%ž_Š,O~ —04½ó-#²8uU'ÑK·jÐñÌM˜BÏÛ¸6×àŽÂ÷y‰þpK§Kô‡5ost ±Q9SïF}N»Æ£–¬kcbN•*ËäK<ÊæõaiC‰>LBË`..=û8YÅàÒª¤)Îåæ±N¸ó؈¦iÙÅ6Rãaâ»eñÀQúY¯ò6gF߀¿824By!5h]†®øuÄ7šIúN|á }Å—t†Ú× ^Q·ÖèW¯ óÙ¥0üaTÛZ§èG§Ö˜ rMsx¹wžD¿loßaˈÏN“¾8Vƒ^Çx1¼}ú:û*}ÁYöв~ž‘u0§šÃ/,æ=|I#‚ù®È94pJ´åôŽ;AxÀã8Î?˜`~bŒx_8èÉ  ÍŒèr hKX[9Þ&Ö…:Èó\ÛSäyNÞ næ’Ó?áòüˆ[ßo%ë +ÊöË I\fdí®ãD|)¥¹äPKµZ¨n.ÇìæCB+'Ü;Êsœ&bz˜Ëb¦4QžÈäóE¤ØÁ³nÅH‚ÛȺµcnV$Uîè/É5€xZ¾fsÝÌ5ŠN«FGœ˜±hþ¢MÅóÒÁwN5+ßø =nYìëߢ€sT÷|ßgœü_<÷q¼Ç g?pæ7:õà bçGýuª?øKíà<¢±bŒÚwÊ€&!ÛÊ÷O·l'&ÂìãYííXîh‘#Ò强€Ù4éÙó9ô$Ç ¬‰ízS'…üt¡4KÏJ€Áü²ð=ÇA*µl÷æéa˜ý'£»¶ÃÒ9]À¦~™ÕmÍ뎱¦”rùñ,¬ÈˆAöÖÙZ­Kž£'º-hYCÌ/ìžvM¥ ;?„ƒª5áÉÁövÝ.ö¡~Ný í±¼É›Š˜Ÿ«c&! X÷ï“eÞ8¼nÑÖ0´5눟ÈÏ.G„dìxdÄá$m[¸YcNÊõ¦nIxf"ÐÚÐ΀7°Ývà¶äD#KaÒ(!k: €ëÓT5àöRϲ¥He¨ãO¦ ÌFµÛÁë­n­Éé™Ò1O%è,½Ÿ'-`5ÚÓuu̲]sl×ÍÔšzm5 ¥ò½D / :0§ÏCÈxZÎz01·².ž"}ó1hÍéNGéŒAõN-r”ã–hÖ*šŒæ4K«kY ›ù^½Lƒg>cL9˜t1Ÿìü“pö0`õœŽcŒ„h=UøÓž9»½I™ZSRê4ßjLÇ>Á'’Trøp1:¼+e·,H—:Í\š[÷×dzÁDŸû8&ÖGUÕÆóCdJ™7PÕFýPa¼OØsÓ>°’R/i¨ë˜DÃT¨ùûÈ·-ƒW†Q$µU—C€œÄ,9> wòI27¶WՔƱXF‘ÌFÀPÎɱ۰ šÈ âò×@’Äq:$³ƒ€> dŸ(Ne&r“…ˆIü19EØŽÿÕ[DtM ¾BzÍÒÏ*pŒŠ&7¢-iAÛ6I[ºæ˜¼pa/$̧Å,Cèb¶šmÕPÂLuú#]܆ :pqDµªÎOW(½?ü¥Œ<ºƒ9qd·©BµnK´y'®ã»R4éc,8U]GÆržõ]ð=L¯’|´–§‘BHˆQ[G­°Œ³‹<& 2ïñȳüp(¼çvüvÛh—¾8ël?+¬Ü%Ü ÛÓ ÜÃÕé1Á –‰È۽ܓCm˜]°PDñ¤P4eÃã×·éÛÙÕhª7Ë Ð€A4à¶c¯¬EËÆŽJëÈšÎê¤\oŠ¼Â 7‹5§’\ñ¢Ûò+4ÆmÀ€0mÍàá`Ç»ŽæÖšFïúËFËî4i° @ü­ÍÞÕ·ˆÇäÏîêÎ&;dw­:M¹‚œ$Vˆvb= 'õ´r‡QÁûÝã8á’ùŽgrÅ×ÊKõì#Øllöôò‘“‹KÙÎFô”ß ÔÃlx‹” p°Í“®Å?tOÄÉć®qL‘%­¡™š¾6ð`¨ÉD_™ìY׿IŒä“ nõè6l¶!òÂÁð=¸HARÅÐÅÓŒp‘¼~OÙ$,2¸Œd¨:)èa×ñœtWšOxqî±Ù1*~ÛÑsÏJòîN0¿œG ]’‡7‡‡šbù)”ŸdtzïoLôðîŸE”’I2é_$‘qzè—÷ÇnŒ8òÏö†©Ë¾@ÝÐÑ\ÐÒ— ÑLI”8P6P"&ÈPèV>A z U‘‡ùJ-¤LŠPwqD@]{j0Ý~…9E9EÞ„ùé2f”Þf¢/´ï”ȨUööô¦™Ç¯Ôø- j{ÂÊ¡ý'±'í’ªï*1Ìg'#鮇¸7m) 9yëÁ :Û[Ʈȥ¬?„NoG–އk_²ÏÇ9› W‡óZÓ–¹/‚÷'Ôˆ„€šM0i¡C’˜°7ü#ŽBêYUÂg¬‰·‚ìÀЦk±R pÖ± .®ÂþuýÔØ½[³- Íôdëˆ^™òng5Ž—š”ŸDÉ_?<]„òY˜Í1ðT½š€ê”åTWïœKÙı$šÃ©me%U«9SvªáÙ0Øp¦i дK/츭7-ž@¼CoM-PåLs°V6 W(U£C”¡¢n³ºÆ×•«¥jw¸kÔyþtms°Kµf×L÷ÆŽòõwH'œôTMŽéô^‡kš—‚¼O »IwyP3W•|7‰MºÔâ9ZºµzÜX3(§Î¬Uwl˨¥jµò£·v`¤´êpd–Ãÿ˜²Mï´?Iíx:UR´ÑjÆ$,Šiµ¤wHç=¤™5;Ý.uô¾Ö×1¾&]«5O„æTµzºÅpzˆÑqÅ‚p U$»³ "ûl<)WŲ+D†£8_’…jÒ6[£ìœmctgÍXÓ"èîqzÈs¶îÔt޶ë±ÁÜTw`&›J?§jfÏÜ ¶YÕ­Zs”Y°€€á"IjÁp`ua*x’Q¶®¾0ÊøtŽÂúì8ÆÆ(ãhÅè¥îÿ¢)O«CØd‹Ì¸B<ö=ô͘<±X%Þ=”ºËR} cÏÛËù©ñL1W¢X?V"ñ†p­¡[†z€yYs ­nw£Á-Ï ‚Ž×íý]’àü>P8kÄ ÅíM¶Îò‘Iˆ›½~/ù©ILW—ï?näºæ††þ  Nw]ÝT†ß¯³CŽ¡×£Ö uw\‡íÕ°«¹¦ÑÌÌ5»¤~ù})'Qòx@œ€r¸k-6w÷Ý4ä§½!‰º±Ööî¦ÊmŸc~£mZòü–𥙛®;¿‰Ä1Cc.̦#Lö³‹9ÄapÝsç6™Ø÷e'°E {‹j=m©S  Õx§Ë]ÛFYUöSufix4r@ÛÔ]Ñž‰hˆÞ'³k@«ÕŒ¥kH_˜¥f̲YU6îé š.jþVÏ8?N$“Ó%†ÝB²®½s\Èox)-æJ€ŠpA%X€2ȾÚM¥[–ñ-›Âá!°'ù ľcþ^ó%bo1¾uÐèÞ®§ û·²÷À‡•ܳ¶2ç#ÁYÜŸH¤²—çy¼~QÀ+ÕÒØËy'ùÒ4:õ'ȤËß6Ÿ÷xÙ&¢p äÿ kžîƒÈBrÖ £´¡”õHßqÉD¶˜1[‹Uš»âöE}mšÇ'sìvåÚ˜<-Ñ!g@ôò屦…K…H¦?Þ'†:O³¥K ,Þê°ëfßNÞ+—F@‚Š=üŽÊ=riDò…È„ßè4bo-ÄžPK¸“ ¿o ÎâiýÊÃöäå©.ÎÇ(g Ív±0]HŒvHô‡A"“Û8R gÊeÀfŒÀµ1ãR!EMPÐA(h" Ç>aE‘>Qò¸Õ{Ùˆ®‰ðóµŽJ•Ràr•øà†bÜKdÕ­¿â ³&—ëÖ¹tz2¨ÚšµJþ}ŽnÛ¯Ñ2PínÓ £Éác]KÙî¡®¾¢óÃï·Î˜ñù¦€¨ çIªVbÑR­©AIÙîÀYXwyt¬U­ÕV™r?KÒxaª”™ÌO–Í&cÁ ˆmL²µ~7™Ÿ,£˜K¾É2Ð…?s;bã´b峯5ÑSVt£Ú–z5Ÿ™,IžÈG“zîüät—§ê”»Å î–¶g'¥ÀñGºšÕA„%ižÄ¤ÜØ à9ü¬g‚0·°±WuÓhÚ_1t«ÃZ×u‘µ@Ø1¹â•ÕleÒ±_Lo ‚»î.ˆBÕMPŠa.ÝÕM¶¢QÚO4ïÖlê! É T¯m÷‚Œ ý@Ç^Ð;Hù™%… 8 }z&m»ÓXËØ@›²£Û+YâI)3 QÊx‚2gÅYjhåöߘOvùÖyÇ>M¾”Õ|I0Cú4à #Ñ×€“¦$¡ é§_ÎI$ö2ãxG†D☠o“L"aLÒ¯TpFÑâv%q–'©Sª.<’Ä»Dƒ ¢‘Ö† ÷© aLísOÊ4@þ†§(ÀöDFÞ áD&¦Ëɱ;×Ä‹Œ½¼0ƒòb*’‚Ñ;Ù^²¼÷„ðú¸B ªÐËÚtJ¢ãÙ#º‰¼–ï¼¾¦›vÉ!ÌW ‰äqL@MÀ ¢°Í®FÚß ÀȸøžY”záKÆT_ÒL{Àyô°Î`*,>j¯dª•v+ÛÒUy'>"#þ¤®X˜Ê”§&'. X$'ß/™enWØHH„ïvÜéÈxšx¿&¾_Ã{¿4’½#sǺ#ûFyœ£‹ß1jLç ßfM]C¦éŽ’+ÌèÂæn¸“ËÐ¥è‹Où–žáÈjÐg¬Sp+=O'$Ÿ,@US e±¦ò1‰‡–ÓWÈ#„ȶÅ,ì¤HÑU¥é|1Q̺np1ë[ìòdTK¬(Wè-Ê!™î!Æ=]éíN€ÕÕ9‡œ ”îeÝi|ÏÉn§ÝUññwcŠEdúþMÙbÂà{":Øc™ó ߃3I Põ-{>iJápÊÔ5SKptxO#|ÜK_gB_C¸lù:ò-Øô0å²,â¸ÙÔ‘/FP¾áÂÉ^…ÞºžHDIœ)çûÈÁ–VsùxF‚• ÷"»ÆÌ]»4B57_u`¬ø|sž,C½x÷D@@’À«¨ÂÎᦠ1- Ý xd!÷`5W•CÌq0ð:ƒ‰3ÌM˜å€ …­k8t·m8ÜúÄgµ©™«#l䘶¦-ÑF“,”àE*/»§„TdØŽ«~xìκ³OõxëÆÀ‰zØ}QåÊžì/°l&<9 XqÝyóifÄý3|…p p*VÝ©5 ¦iÕ â”w2\5kñåø»PçñG´…އNëK@¿9\bqð) ˆ#œ ä›l€@<ãcw75÷ Þ…ãŠÈÉ)2e0愃˜€{Cÿm†Òñ+gÖâ›Û´×ƒ=c·‘Q Þ)3^’É7òÓ¥)/÷S²¶ØSS@ÞLdùŠH“K›Ñ’·@ȘB/§ô§?ä¡í @ÿ…’Qöqats€(Þ!GG—Ï®©EÐdä–à1¨?l?X9¸²ÔŒŠo‡&³ãAiÃs‹=€çPAï{Àæ~Á«)N©¼Ã©*µ¯´j-BÿÊÖ4á7ô‘ ¥Â toh-_˜ÈäJ¥bÔs懖µUì{ôøÀkf—Ž<øÁSF§ùqÉֶІÂöbm­ƒŒ\ã†ÙÒK#£l¤a¶ZË à+švöÉT8å”Do¨Bw@ êr×eM²1&çâŽË]åS2–øÞcÏb9Þ­jtõ_¬ãâSj_[z%N*ñÖ&ræ8žÚ™ì™ž‰½€^¨%ôoþ°JõXpŒ¯¬ôλÞJˆ<<3ÐÝþè‚ì ¡Èreü¨céyäæN«QåwÇKŽZ"Ã"e†ªwk:kÛƒAžqBU«“ÙdkC÷5Ä7°ü˜Ê7L?èÛçkô~7vÑÏ^³¬>¸6w¯Çdi¬ä ooß}ìå‘ ä?è<7•·W¦¹·zæ~ÌA¡}8×—=Ý*ÑseJ XðL“´•ÚK=Ÿ`G0Üáøi—‰%Ÿ»÷1LÛë=×Ô@8–è>YšÎå…æ“FÚoc#mŸ„ŒèÁÿž¥‘‚L)ž[”S@VáÔÙ\é¸u‘š0ïéÉ]ì¨Ú‡F#ݪjk* ÀEÇdÞ~ÿËß Ûn/ÀèNîcª½ðIþ Yý/U]†7kUµnŸ‘lwsxÖ­¡/À¼lxì’îa°?³Þyż½n! !MËà«Ä"/#LŽÃÁ1åÊ¥oÇ5øÆÃŒNµ[[Õ;xé€acŽå.zûGðlív«czKG`¨ÜëV¢jÐõ˜?YrÅðÎÜ5ðè(y#u}‚GPA¬`-ÛíÈs[FópÍnc”†½† #î‡@Ãe‡ž%X¤L#:ˆº·aÁV$§Q¿fñòƒ—#$àä–pÞ,*;ÎVüUG_eÞq|]•ÅÉ–¸¢GS5JL=±ñ¢˜æ5Óh Pµ¯ÔyäâmN„ý\(`Z®rÙ‹: ÉWjÁ×£ÈǘXÆýå\cL,°t–¨‡!|è…Þf¥ˆ“x:ž/MÏï0dyÇbpØÎ/õXJέ²ß'H.ê~Ç"þ6õãò€c°réé‹ 7ÒEÐ’C‰8$í΃Jão^’(w½†[è#eÒÞŽŽ ÀHI+P¸‚G+‘/„/yô7Áfäq«C‘Œ"i(ûˆJ(ÆVíÛ³%>'·m£k‰I›Ôó!ršÛV×2.%©k/Ze}“M.©ci©ÛÎtsÒ%,š0¸íy©<ïàI¸¨¤Ë´`@Ón‡DjµEîWÉ÷P–¡ß¤á2×€×èÄ‹û–MO‹*¸ËöîeÕnGøF`/ÝsÌèá½ñÍqìõQV5íªTp¡Ç!#Ô«ms!ЉÇÀþ@•o€´HŸøÍÒ,›úô²’r·ŒÅåš?0:ë Á—ž}a?DæÒ æ2sÚ"œØL챆üË"äLÕѵÕÈ!Šfº*•xŠ7«qi#w|=Ô <)ý„¿~:T ~Ížë:úýˆ,/Áh8”xsÔ£(°ß,‚G¼ŠNÇ®Ã[ªwk«ð9„K_‡©ÛtWF\¬²¶m›0³°Ž-m”]XZxðôØâœ‰t5ÜyñHathñØü¹À{o›ðàó”ívšˆäWQŽDφ–üU!@H;š…É Õ­Ò`âl#F’sÑa’[Ƨs¤•Ó¸0qÞñ¿¥ÆýOUb ©"V½½ä<ü<ž°þÇ}@"M ‚õ¥µ#ò[9 òýŽ8ù-Û0§\™¥\:aBžjnš6º@p6rÿƒk¶ÙE†þÁÇr=ˆS]J2| u#]=ìî dë¬hZ1œzvÅéÕYÌsS75%Ä/ÕËhqGâ¦*ØÁ¨ùLbo‘Ï@[*ª·8  ÔÕ@ÞÇ»‡s»?f»:÷2>B<jª'‹åÌ$<„:Eˆô¥5(©æœ‰`¡]«³ýÛLNÆ3婉’ú]Óà3E¹ç¢^þúÞn1ë·0©Ü㈭±%y—®m%¿íP³E£&ºÂ–m÷x‹¡f‡ñ4ºóFÝØþ»/frå©ñÌT>¯¾XZ¶AýÌw1r7ݸü™žr§æv–ÏLL”1uK!¯Îù\7ÒNñIÓXãS„H0µ®ž<¨P»å¦ÝâÉwqºV¯…Ó//T±P†e3QVn2×t Òø.;¢ÕmÏX!31^.gŠ…!šµ€óX¤¼]ë‘q¢ï+™*N”3Så‚J'8žv|̶¶˜¦ÒÔ$R;õöÅ<:Zó<ÖÔäøxf¢œS7ï¼fœo×Ö]û<(]¹˜ÏgÆ yuŠ0,ôÖ¥[`lk2• 5; —³«ã:°ÃzŒ×Ü Dx2S,æÔ%(‚iŽë­¦>¸´n‹Ìî®õØRýWíD©œÉMLªÃ:¤×1Šxè°÷ı»Ä­î¢ûÜ%îAAÁŒÊ]÷eÙ’Ý æJ@§*²¼;hÛ×0¿UMœÌî…'_8>Êæ0›¥da93g¯¬ Zèº5Œ]XoÛ„îvÍO{àè®cQ0)Löâ@Ù+ã0òt¡À·¹þ>µHdÒµJpa³%'ç?@ ‡H_U¨;âáú—Þ+ LÔVtœÑ;Ã¥g‚à6M²<0iv¤¼êÓgfàÝDñ€úuÂâ§ÇhA`d>H߉g.#¬Ì3¤ïÊ3 ˆñ~ÊSÐëé{ñ”~Þ‹Ôõ)úJJ1¡Ñ3®Î+¹ÞθҞþÅxJº÷b@7g\1Wî žP¨ßioP·…Yü#[é]èÒL(ÒÊU®13O]Nÿ€žz|ŸÈ*´bF*qúå©À2Õ+i¾ ÕÞôS᩹b¶¹vËHµà‘¤*Ë{! –¡ú:À;‘êê}"ij©Œ«¨éçÄSIy/Be\ UÞ ×7™T6Ú²\¹ûÌh1R(Õõ/5GÆÕÆÞ¬TÅt í ÕP¹ꀌ+€L”TøÄz󔼆Tê$D7©È©ƒ46P×” ½Œ ¥L©!´/R½Ô¬É¨c1¡`¥_ÆžBÅŸÄÓ£˜T¢XÎRi’Ëu%æ)JlP©E@çîŠ0Óý výðç ”>9—/š*Ñ u’/cV>Ù=9ܧÇÑ]èˆ/rŽ×/MW¦KŸk´ƒ‰ÏïTðÅd=îÎP„_]«5uÕÙowãT±w«²Ev²Jà\¡˜•xÛì”k*R·u¿¾™YÓ0mÁ·ˆfš×¬Í›euÏQ¶ML¿N¢§n`ú4Ô ŒhA¬4.ÆS§1tÕ¨*¶Yǃ}›ÇöB…ªÝi Ÿ$-„ .n)êRÒ˜–x¯B7±Pÿ6P¯RçUŠ£W d|]ç¥~¼îhoL!ßµv à•õÑÕ#âÂA¦½T-´>|0™žˆâqkéFÊc2ÊV4·ÓÒÚÂg'Ært™<äVÇjr‰iW݈ÿNB¼K¢¢”¹¯L‰â0µ<'ŒâÝ©ó TñÝTS"P‹;‡{Ú¯®•:ÊÄPÇ‹Ç&Må[&7ØqÌ•—/ŠF­ð†~»QÑ£4&Ùm²/l ÄÒ°«…c£],Æ–Yôæ¦ ;P :ÓoªÛ.>…²æ’E5Å%–ht@¦Õ5·ëDöä%¹l)S˜PJ=&ÆDä`„rè› u%‚šf©º’5!+«wS®r#~ ˆ¥[kv"ùtUÒöÚSp¨ÅýG]Ð,ußè+s2}eŨ¨"Á+£xAi¸–á&JÇvÝ jV5MÄXÕ¸Á ¬MÉQ†ºd–)côŒú¥(i¾"hW‰k­ª%Ýïè L˜¼™]ôÜpñ+”Á‡+b¬Qi¸dï‚õt >Ôõ\Cß¾ç8Ååå§‹ãBz¾‡µðÝ+µs<%:- …¶{¯ñWo0l¿?q à Ÿb9$ÉÓÅD±¿Ø‹´S'ù!Mä¼§ÿ&D8Ä êÅ*‰ñ„¥Å}"ˆ°ö"ÅOQ©®ÛÆ£’ˆ©˜X¾ºÒp *eWù'mqù}Guôë%x†%ºóOÈÍq÷y¥ÙC2Øg!+â}öWñƒÇs­nâ¹8Ìòƒ†iZ‹È²t q† ú(ÌÊŸ•šk8vV‹D€D|ï2Æ÷î¯Û™®«gDºûŒV¯ãÐ+N¯Ýw×bÁúQô§£ Øcû*ìÝro`jøKœTðS$šUy¸ê”H¶,ä2õ²Äê‡YŽ¡rý¼r&'ñèAPÌ%£¦=%•€wÙ)ÇÀÐÑÍø¢ý6à¥âm¥ÖïU:‘D .Ð~ÍGö«ÀË7^¯Íz¥ÒÙe^$ó6wë"³(Oü!:c<;@yU¹ååMò8Ú??|91â Zã§Ö~æŽ*å:AËÊg{;Úª.Ѓe¬¥AÇÜê èAm!0±GLU×²× ‹‚…xNäÎO¡ñîƒn[–”ô”ˆN¿›‡p(£l±ººûþ<)ÖSIF$²WŠßf P2޲ÈöDªh×õ%Wƒäˆ“øþ0­Nk¡ÓZ(&F¦L /bÖDˆLÖMnˆ—Yþ+#:_vLן‹o§ä$} %œ~ ‚]&³*(åw-Sí ÇªÎæõ5Ý´Û”MQæ,qÙAÍ5"2ýî_UB›K!¡õ¥H+2Xžcºe“rx(ݦÒÎBqº`ƒÀAŒOM3…‰òTD¼‹@§žö¢%P¯yN¿^¾.zS4z±ƒ‹÷y( bm¤“4VRrª-Ù ^Þ€- „HUD!‘!²ãÊ|ìüY_á¹.ê°™/!˜¸70ȳ+káM ´RkÕ)fÚ{¬)Ñ©5n·‚"VåHúq8Ù+P!Ê$þˆt²1wvÍ;„ÆNe&’0~D°!‰óè˜4@Ý M™H AI#rŸÂ#ÞÂ1+K+7Úá)éO¼Äü Œ>]ŒC‹€nb‹:o” ÑÔiáqÒá·+²DŸÌv?î!?>M]´U;¢ù^îè\ªÃT(n @.3Åxì‰Üd¦ ‚hîöA$f­6$×iVgS‘ëx–lÿMŽ•µpFmͰœiôæP®²£a`\ e&C£ÎR’;H"ŽqÑh›ñ¡§ÇL­ô†ìPk:t³öFV«e»«ø„{”Q‚ò+“W¡ê;êyêÕÉOMMe2H F™ÿ4Þ‚ËOeÖÄ„%VÝÑØb–KÇÚ¹sšŽšD|ïÞàŸ~fsÑ^`WZF»ž5:qO‚:(v £nènÔcd,48&GÆöÇßC¥³ËþFäñN˜qØKæ‚3‰~-L«cÖ&´Cð07MŠØC„ò]7ê¼!Í­*do…ƒÑ’áâ¹Ë ¹^Út¡l·½à@èf.¬"fˆ¸ì¥<Æ–ÉÚ1ëÇv ãqÎl Éj!"Ñú’edÙÃZE^¹ÂÄ(›;}jߨ·˜ÍM cìè„Êw£mÅW¸ú8ãþ üÛ{Òï-¶õ½=c1$ õ>b¿’ËOn×Y3Ö4õh0Æ¢S´ç´EÞ²2Džå“ –›œ^+ωä¢RüqèyI¼`{{’ ³‚î2œ>áH4l/Ó^‹ÙÏ<¸&~{ зu”=¦¾©ž€¦ ¿î‡F4•ŸÌ'ÆÇ=Û•*2x#~‡² d\ql RG•Ùüb›¬W¯ôa-ãèða[õ®]ôôçܾxÒ3L9ʘ¿)‹Ó„çtŽOŸRÿ¹4·LÌmZ=20‘\ÄgÞƒÇ:PÞ¾Óþ/5ý>h 9]TÊ\•R¶@щéòx"¿*žŽ§ ”J寨Œß&>}’ º7öß%„¨¾¡”îqo‘´o`N½2}p£­%…I1µG &ô?î°ÍmДü™î9âɉ …{Cmo/P¤^*z¿ Dt’IOÏÖ,hÊ@¥ÜŒ:Pþ± ýñJ4“Õ*g›-Cd,ˆIn²ñƒîyã@ šP5èºAÚ“|6Ü\¯ŠJáG`Cqdö°ÆÓ·ûOqر«¶nèµÕ¤ÛðÁ4ªÁ›EN†9Ìöð›Åe:ù«™ºfeðð%S·kO·OèŸ ƒx²Â¢‰h »sÙɈ¢ûLàG<ñ4¶"Š¸È¸Û«ßOžñåú9î¨pJ¯ên+tQ‘Štl“mó¨VeZ]XSh'´Ý>@w“¹ÒTfÂGýŒÃ`…¥lvƒ0´ªn×â*Uéeµn¶¾ªza,c_ET3 à%îª1ÜÛo8/Ýýˆ¡ó¤œáœ“áÚGýUz>]ÓTÿ‘ÀH.\®¬èuàÄ!U¹ß<—@³+—˹„ybÇr#‚£¸º¥—š¨¢×A•ÆÀö]Hˆ”ËÔø†G—–i¡¢Gƒ· Eˆ`î‰+%Šù˜y¡t“¯‘笀§ÖBÓ¡¿áæ™'†‚–ßµº±²âD“K«û'æäz×þ`|Dà)=×øVõÐÖ8ιö:Ú¦;‚X°ÛZC“x€Ò‹î#<‹–HŒÅM;$³IDAÓè¦÷0錀ò½Ó j˜]ET ö r/á,…§àO3€>wêäÒчjÊZÁ½Ÿq¦€é\ •±Sì4šž°ÅéGçg—gY·ÎŸ_0j‹%~ªœ/. bqh0Œ8$À¡? \ˆ›·k]/hV$?¡» l'¼°ëLD´5Dתn2A¦F™ ìNêNìX¶·Ëzæ±ba<_[<–ÁâLŽ`m|‘R¤¡ñSЀdK½­ †uC[ÛHÍàÃÜ;L៻”܈ºBí³;ceQ?…{æ‘."ŸQH®Ÿy•ºJHáh1Ç*bS¸G%¦pºüƺnDÄ¿dÇà¼0ó'§‹Â€xI˜=íø1%ùªÓZÁŒ…[Á•” Å9c`>Wøq ð“'CrRÏÎËC™žñ(wh ÇÐIÐêX4~îý=ùìŽÃ|ÚÇaCôp.õr&ïã| a‘JùéòÀ¾½P+úZâú ¥7cdáäÔm盵^ñùvuýèã7ÌÉËïÅá¡”ÝL„ÚŽŽá2ˆB ó9ZÄ)tw>;© î¼Sqîåõ;ˆßma¢ˆÄf2š†­§ûoß­ ãû{žQT;_0«&äD¹Ã¼ —¿ S¼ d«nÛp(K åÔ&¢1ޏòmÉ—Çß§múRGK××׳mjFµ®¯µõ¶‹ÿd€¶OŽQ;ÊüîîÍ å Ñ135×2¹ÄdžÝ…Ë£?”åîôN7{Û¢O,ÝA·ÆÖ@”CÈ9ØbPc·…zÎð^3²×Lþ¾óðžÆ’õü,“½§}W̘=ç=n/ IåAõ“Nйý^i5àh‡ÊKUÉOÇ¡«‚Iè¼tfŠ‘ª£. J «*ó@«¸<ïqþ«q°\ËUݪ¡3&ðyòZn4ªºî®jyª 2Ë=“‡`wÀ&YÁ€¯:>à…ŒÌÂDv)XJ™ÜdúȲËÉÞ¯?­z¹öCü•dO@]^Çתžï» 8¯©L1‡ç²I–½TP9LÙ–Ë£t•OöDùvqŠñH¹€AVßNAUÅÞÂQÙAŽ]ùJwãÀž¶èçÙůǡ­JO(L#\xñ_ù–ÁcºÉ“f ?§ÝR·úøevköÙÍÍJ·f GÓÿE–:úO¢q³¯3: eåéqÇXïZ‚ÜÇ'fsÒt‘ì’ºÙÒE™¥ŽÖ Çd à‰ªñ~².vR©YŽKÙäú :>¯ÙD¡œ)Ž—K‰^1µ½t L‘n|Î’‚{:x6lÛ SÇO×¼áà)ððÁz]7«]¤æ`÷ÔëõJ]¯šÕ .Ùë¹Ç=‹ÇKµ»¦»äNå9YLö´¾¿K6ßá#¶c‘ÃîÇä–\uMã˜Ïx›s¤Ý욣ñÇáÙºRdø¢íýDó,µ Õok½s ä&rÅÄõ:üÉFG#GûyÍHùÇtÇæ“sÒn ¸´ÏRÛJUwVuX?ܯB‘Z/âR?_s§y8o± »A&#Ѹ3€JP³‚Êè•À½ ]³Ëf\»ë@Ui9E{¡e[ˆb„p€{ ['÷Ç©Z‘?}`5‡’Ь€ôƒoï¹€Øt}ßsîi@·f’ñ|‰cð e‚m› €5³Î²Í–8»_BÿC)ÜWÊb*¨K*’a£^„b®Û£ :3ëõ*™ØmG‰^”BÁä¦^ßi>pcFRˆçÚî™pù4 w ‡r\62‡ñÅ#YvÒB«[wƒô¾‘–V;¹4šê ºut ÀS”3¾}áá©+þb÷²Ùúfàã8ûðMòôA¯CîáÓ´n`îf^Œ}u䊈îš¡…ù a¶Ú…· ìj‡»Œ€îbwMÞÛÜÞd• GÙ~ SÌg7Fp G«VÑËDxÿcÖÇíþ„Sk"àòŠðô†æåšÔˆª‘^î%L/ªª^§ÖÂàm_ cëM£Ö”ÓKmß%Ÿx¸M»Ì•u ¶BdÚi! ÿË ì•gÒ¢ùV‡§©¥Ïþ9"’¸ °s6ãòŠÇ)‹bth¸ÿ˜tí5xqÀ¨Ï+Œ)=ƹ™„zLp3IÄZGßJ®'’ÒPwÅÝdç¯sY¡ çù`Æg™È¢ 1’àÒ#‘*#Ð;}‹”|DâòéÈÆ8u ‚2ˆ) ¥lo/ÖÌóçgœí§n#“Ëp¾í@ðVF¼UöÖ;›†d ü±%³dÀ)ýn93dÈ cîÏùþXt Üå…2z½œOì„Ò ”&=oŸôŽ05¬''[þ/9`h°ÚÒë§)õæžšùVÇíãò"ÈÖÑ{ÐÁ0ðá’\¶)äT6•zÇñ.p©eCw, ûMø•éð_•®a¯k„Šª4ºiΦ¸ Ør`‘|e7RÍYYsÙ¯©T’Ay•‘nk„ûL¤$bÁ–cIx0t¥(êeÈô0ÅXžå'§áÿœ8ëÃ{¤'ÔA!G'މ¡å¥€Ë\®DNvŠHÆRL †w…·Í€!ZÑ]Äß^”À7}ŸNöA¥—k¦×V½Zéó2à/ä˪”ÏÌi®žy‘M8hq˼`^¸¿`| n–c$ƃ Î`V ÅŠñw+dJá¿ iZæÂ}Çõ §'VKLqòÕ(ÝsíÕndìúfÈ“¾wÜÒÁzC ;Ô/€JŠÏÉ#KidkQGz¥b!è3‘/O³I‰÷Ä>H$kÑv]­?á ù¨ šü£Ð¿OçXº:¹5eÖå‚©‰CuoÁp½‘Ö‹.ÖK‹Ö wtÂØ9LCºùJ¨’çP?*àgÅ ŽÝ‡Š®æ'ü„NŒztbYžåÎæ-Ôþ Ô•©¿ŽÁÓ%¤å±²tþÉåbÚÇxî‰é@?„š Wu»”ì°ƒÑY'¸^Ÿ/ç&òS*Ÿ9ægþų,ÓKÓ(¦¦ã%µ[ÒíF‡0ZwÝÀÃ+tjMu„»^€éH léš®ò/©FÜã²rb˜‚ÕX‡­7–@b¢¤që²)7Kì&SyàõROCw§C³rÔZ‰cf… EDZ\Ø (Bœ³t¢Y“Îúƒû›Óf|Ó¦rþñ6S Oì•<ÏièyBüÃó©rZ„rõ)÷¸¯~Œ£z0%U%±Í(ëÄK?¾<Àû@¡È1ȱÏn²<)… §>ó§)JÇÌu ”æz—Pœ|| 7ô’ÝãØ3§žÈw†ŽÛv;Ƨ¦¤Pvꟓ«¯y$c—êEcë¼?=¦¿`Ggm=±Z:.iQŸ›`75^5ÛÐìŠÛ4VíÕn­Ùµ³Ùäû˜Às店>´Í-ê†l±)Ó0:ȃ+mëËÁh9,`7p$Ž¡O¡¸#yŠ0Š_ç#ÞKn^²ôPÙ¾OÃÚ’UçxV&W¦¡jV‰£«ôøé¨ªßÅd"˜VªLveÌã—Ÿš.ƒö™œ`MKUƒ±ÍýèO }ó bŒí£%J25ˆ-ö¢†ÉsÒV„üˆÕZ¢IåÚ"z ìi™ó°Õå¶«F'²ã||áV;—ÖØ{AAX´«<0õþ,[Êúà+÷¢ÓÚªaEµÃrxïp“ªeì'èœÔÏŒYžš„•[Ê—{ÃIÝ;L„p}xTŽkÎÔº@‹ãº—k8â^÷Ó¹o ý&CÐ0º±§á÷Þáy¨‹:”¼ÃB×ÊÓŒ¿Ã#N —K 4åño£ª[it|x0„õÀ[%•IÛ‡žF%¼s•èÝM¯˜Ñûeü¥²ýñoM¥Ñ»ã€³†c´ºï{,ºº÷õo‘Ú[â§bž&uÌ¡·æ¸ÈÏW JžþÇ/!jÀ ëC6¯u=ôàÊœǪˆ£ý,P-—Ÿ.Iœ®{˜ÃßßÀ¼‚z+ÒÙ]®8]N–ÀŒŽ KPhzïHÁäcün“6mçù$n²]‹£Ê…³Tja§s·g*µ[”Þ.ái‹ÔÑ,‘Ë †“kìž®DDßb¸}×/ ¬-õ`é~Ã1LS=¸ œ—=¯›Ë­ÔLòr WJuŽçYøVéF•Ú¦µêhqî®}Œ|ùR~˜hN•ä9‘éP’ÖP(&R¥¹çd#ªy¦¾2‘Ø^B¨ã[ed7¨c(` -!„*ªëÄŠ[Z¡Ý‹{½‚²Å#c4“Ƈ <[ùàÁ‚|ƒŽi°pÁØ-WŠ&}¼Å$9ÿŽÍreÚ žƒ$š)Kýø@yÌÎË6)3¢Ô(ÚHM[Rð3‡P¼à¼cD/ûOí'²ÅUM» ÿ:†-2‡À‡i„³ÈyÉV09ʼ¡‘ƨ/z!Žúšfv5 `¯ŽýÐÁ!Ä5ƒWÒrñ½´L‘ÿDØUÍ.ܼN­1çZZ7k+&âȺù"Ì‚È ã¥~/]ÇQpÂ(þÔˆÉLWØç*¦’Lr³¢EDÂã¼vG%ÖF†OžÄ»gøŠ‚¯õúèañãø¾ÅåèÓ~¦êèÚªz)ÖA8–,]Î’Ós‘Žh§‚P=[Îg¼êÓâœÍ±…Gßaš¡œ÷}lÊב>±ñÉJ8Åg’°ýFÚ²¼G®>âaeÄû#üs`Ø¢0k$É¥i (Л4‡¹ëÊ“½0¿o‰—3Ÿp‘–)|OûDWÞ ^öRbóë7«×ÝŽæt2+ðS¹=D„6r;›@åÝšÝVï¸J|O\~Zä²Óª+×â‚FŸ°&ë>î°‚OöÀoV:¼„³9•ôÌÙ¦ÝE¨…C¾$A˜¶ÙmY×Ù|‘ÂÃ¥;õ'ÅñTâø6åI~>®Ê?ìI‘#üÍŽðȤ¼PËÒêúˆ—3Í!]àu|»±±Æ_4ƒ¡ ÈÃÔ¸YH60zj´P8…©UÝ$Ï9OÝiáÃ6ÒùMKžÅŸ#]2¿ØÕçF¬/W>,ód‚µpràxpeRˆkyj =Ȉˆ˜ú! Î8ŠnÕn bD½x/*Êái9÷NIs¬­apŽF×°Ü † $Ew²œLa“F“ØIŠã·ñG› I0yç'ð ‘7@v vâŽmH}:Ÿª3d;³Ò=wNÎ^ è L^°Ä¥ŽyÆÛ*ÊÏ3yµ@uVP\|–ÿ†ïh;z¦Š×3ν”°zÇvDɨÿã3Mòä3ŸÏ÷$ÍÇZ’ †Lè=p¾w@4é z7NõÂÕ½ùq þ•øn—MmŒ°Á3BΑOþ_Qìl¬‡Øw£Òa‚KÂÏ@ \¸Ò?:²¼ †ù\Š\m2b­ªÀha‡ËQų²'rîœ&܇— ´ïðjT|a1ÏJSeÌU*E0ÏhŽCΚÃKµ¦icä?F•.$=Jú›ç3SS“ã™|¾ñóŒsqrÝ>Þ\¾<úo¾0¹õsŒf—pˆ2ÄobIÊWwL_Y! *æÊ…•ÛqGx™rQWÀ‚lw;ínGE“(ŽÅ ŽÜ<æ›Ò<äTi$ö=Û¼Jj$öÝizŽ—KŸâ…û•¢G1dd¼¤[5™UÏÆÝNKk{‰zy»yóº)vHCIhU:ÎÌi†c¨¿­Ñ)±iX›¾ˆ8ˆÔWøt9 Ý4¡;2—ª-SÇá?JzãfGØè&}Á >S' ô¾é—ÖÚ:üâ¿ jÍ»LïD²*5ZÈxè몓r¦£5\jîê&9Ó5  1jgØTõÎ<ÒÕ~ošoYÎÛKÑ~(c(–޹¯ ãÓyàXk»œZ†[ì¼=ΕH)ä5½Ðç‘K.ôqÉ<™*¢Å£z¼˜Èý$OI»DH ’'Ô*˜@ye… òË…S'h¿Â{ˆ|/ [³sqI¬úÛ*y'S蕊hÇɶÊåhSO»%ˆ«M ž“SH¶£ƒ¯R_ ¡÷Ò9Û4µ'¾œØ' ×ç,=Dŧ«ëO§”²§Ð\£Æ*;I|U%ÈÈk|Ÿ!®Þ}㛎•{øÑŸâ §†çÜGÊ©Bpt5øžm`î–X¼üîԳЯ¼òŽ °ÈñT¥¹5hf¹Ä2І77=BƒÑÌumÓeämÒ ¦ÆÕñF¶w2S5(Q%r]v4Ëõq¸QW¤¯2Lá¸*ÌwÄô LÙKˆûVˆÙ@ôA:›òòý‰·+’(zÃ0M{µiñ –‡Øü ²¥#J‚ˆ\VÜÔ·¢$:Jñ™bŽÂAX×WOOL˜¡(-”×)Iå6WúútÛÙT•äþœ¶à™$ÆSñÙÅqÕ@ç0íÕMÊçAûMHXœÇ|ì¹qÂ.‰¬¼b-+õoHЍTœ4è¬†F—ŸBU:× ¡Ì2ìyŽÀÿÉ×Åù߬Uß >ÌÞfVϺT¡ßS©€¿ì—ñÛˆ¬¹xˆ€¦PÖE`×1æ®Hê?b—Ã/h;b‡¸=’Å«·åfõº%Wa ÆÅ»cØÞ‡ ‹'8å †Ü­a™ðÞðb©Ì·!lÝ‚ †‡~HCHlv0KYc´ZÓ ¿Š+Zõ<&WÜ€º†òLX¥i·ud³z­ £pÈŸd¥u¦ml ®>ürAÕìœ1)‚V†a™ZÕéÇ(Ì»n;Ì-ú:õËQ…òÛµ‘?Ã.g¹ëh¯º|œ5[dc£»m­k HbœÅ|†z+dêF‹§{Æ ÎPƒÏ~×Y®2 /+¶Y¢HvÍ ª»ëçRv´è>tÝÅ”¢Ü `›› €:PMG‘ †GÆô¹!'T' ; · ¸[ÙU R'¤î³&¸+Â!Èm£'"ÌGè5 š<"ˆÝˆ/M‹o=€êlR&鎗?ýè‰ã³#RÔõFHõŒÕi sâèM>Žg¶Ý–LÀ– ~ŽœÕM“cvÍkzm·{ ¹Üø>/ý^>—›+fÊ¥\¦ˆ©ø2“‘Ô7×z‰û¼7¡TyX¸×Àþi7Iœ~$Ï!DbtH€cyÞ0Ü߇A@Ž‚\T½Œ.Âk'.32ºM9÷œ_†vבç9ãôLwq;ÐÀ#l'¤$'öUD¡À•xÓñ MÆâù_&]«x‘ñÒÌWqsY®’Ë ¾ÎB,ÈÕFMow˜ëÔÆ€¦ÔqÁÀÚ­ÕpÁƒýJÁ‹"íÔÙRS_¯5»«£,?5¥êq1æ–Xü‘t cÁçî¾;?¡VŒÃ=I™)hç›G°õÁ ÿ©®#iEÒC?«š8QªVí ú"O°†Fjâ ½ù2ðV64Ü™¼ÈàøuôCDˆ£«½E­WZü'›¡C0QFßùâ¦~D—Lt,¬ég |¨¦áò“5Ïè›$«Ô¼¥µÛ@°Äïïå}9“¯ûß ¼e[”tãL³+Žûl ãøtðÑõÓü‰Ü•3¢Ï!üîÅÉD÷üGûŒwç·Gu–+fK¶N±:ž%¡E@¿(§s…é²0G­éMyù?–¦<=Hb¯ô´òy²Ú}œ%ö•̈ŠA‰„&6º Šw…’rDWÛy¸^ÝWî¡;zâŽHÄ]S )Ü4žNPQ•÷‘ðìîOÉB±e9Ÿ;_›AÆ{i¨·Æk¨){ 3ÀA0oöÌÙíMÍI}T×óϨÙÏ.9p8‚Ä“à«w%ý”×¼'ŸT^v\;·‰a²O|¼·N.Å…Î'/Y¬cEU´ˆ×˳§Ûu™£Ñ&C.[¬+é¢OV1‹zŒýv\•v©íUÏAOßiÏÔ‰lðo0<Õv›–¶j¯%%ÖI4Ç×öôº#[•ýW€ËÖšt>äåÍb_W=Þ”, ÀŒÕ¨j•p® Q˜×ÏÖ©ç Êq¼÷kþÙ(óÊ·%2….*@;6c£JO*<>àž²‚ÎÞ}ôöõÀoì¿‹ ƒT¤Åúg4*ß™¯Òq6²8­°|#Jq×ä×й_v„³, °©1ÉÔ:+ææ=Ô ¼®ÍÀäǼÁð©‚°ÕùCª:Ü¢§eè6.å€þÂwÿÛ ¯k_¬[·—¨ ‘å«L;.ai¸a¼ sçWî¡`2t+ÔC§JxW¦+t¸Hœ\@ÿô„oœÖ6à;,Þ³ŽmCq£º¨¦&*¥áÞCBÌ—…,RðQœÆ¨„žS@v³«⣜'Ç!“(½LÄõ²¿/QH¶ÂçAG,¡.ŒpŒo1Î ùé¤F‘þù›8”¥R$V­éÛðT /½Øì {¼½¨\@E€˜Ð!"Ü 1œ‚Šˆ ¿Ô­ÖA,DQ#º Ù\VÉG°ãݱþGq¡”))SøÈ§ ¢ „Ry¢ß_´«]ôOvtÓàÙØPË2õ ´µNÓå`û8yUÐÒÖùÙ1:*Ñ,â”sÃå~A~å_5\ïDVCL 9ሯu„!·S£ÃV¶Hº/úP9d4Õ³,¥[ó`þüjŽŽÖK‡Æ6¸TÅ;• ']pcÒ:‹ƒªRZôΈqxºŸ{FÉØBß*`"„ 4‰wHZ2S»ƒŸ‡ëT<¯* ëJnÓ“Š=Þæ.@À›Òå…Ä6àÏ<7 o1rÍ-hWÊOçKO`7§Ýø¿°‡S_Ç÷psºRéó²vÕX³l§¥n£8‹:4ô€A) ,ŸÀƒ%“ÍÍR7gÔãœRˆx´XYP·mÃG€Ýe¤°Ãºu.‹8³²ô‡Æp¿n­ê&g>^b”ÙºnÖš›=wN3 ËqÙH Ÿ¤ãE©ôy_¸C¶¿ÊgWéw²®hZó'fÑ?ïC-Ç;V´2(¾ªU½¬ ¨êiˆoÕñŒ¢êͪåÍjúø¤8_Xñ4«c ï”ùïýUJãÓyAEK¥~ŒÂG©® v;Žn=U¥H… ;A¸¥ér¹W®óE‚M¤i*ÅHÌ5ò8C•ëc°ÑÝî¥&˜Úžù ^ ër ?Êd—ÅŽcˆ(ÔãŠ?x,ò€ôM¶‘ Ÿ3DÜ9UÂcÇD,¤fÛMRg“SŽÄ„Â&ô ½À±¯ ÷ÆÃn;ìU‰=ýÿÙ{¸(ޝ—£Š½w]±RìmÏÞK,Ñ89îðî1Ѩ1=11McLbLbº¦Øc\[Ô¨‰]c‹½°'å›Ù™ÙÛÛ;Žüðs|·SÞÔ÷æÍ›73.2TœGÕ~•ì"‹F>‰1©Š×Iœ{Ew™5œÓ ®žÆ çžrnbÐpÑ>È™¼Í}ôB>qñfÌ„¡ð"õp˜âÅÉ‚†ùàÄ,.Ù°×°~Ä7¨€Ü¤Ý> Gº~øÅ}ÎXôF°…;É¢Õ-ÔnÚ[egg·²¥B³äVÄ#–a݆Å÷nŸ¤lB§’:ÖÌ„"FÝ?gH1˜ |–çÈS)©ây#ר©ggÙðl”o! Ö&ÄÅn¸1@ ›Cn›‘JÔâ`7YRÕoòÎ1¤ƒ™œ -AyrD[›|q%Û ´lJ W¢Xõádqçbs_Y£¦i^P|ÕßÝÍSL–6E$íÌyò5ŽºŽ˜“ÂÄníQÅOñIj±¤Á¶CÂds[Ç”T†ÅR€ ŒÅL„úHën#»ŠÛl¤Tè+Ó–™R"´.¶…Ù2Œf3oE‰?¬R˜ŒNQ¦$> ^2*&ÓdŠÙbCí!²³$>) À4róŸ™!Y‹ALGØ%Ê€|…%‰W]#ÏT°|³`³êTÐd6éz ØH6ù 0¯Ã,v5d ½ä:‰\9Ì(™I#ñjdèðJ±Z23¨¨IdÈŸ¢(C%w)å(æÌtx\†òÉm±&Qiàc°ˆ³[ÌtI‘@F{ˆ•Ж™Ä*$2Å'Xý¨$ts@û$Ðq ôg¦Qü"Ëe1¥È)õ·1)ÉÄCH¢VGOt¯àò¨TK"ûPÈÇMF±D·ÀWYmØ \|¨È@ºhSo,&'“Ç>–0R£.ž²Õ·ÂAiE„š&Y¢coÉn‹3ŠiË´šÈo@þØ‚¾Dc+¹qÊšÒ¡E7‰`:Â! €â&î¬S!r»À‘+UùЖþ¢”?üÀ!þÆÏ@‘Ä–ìD&H(4ð°«^†Ø ÔI`FC-&KEDßbÑTGU•YNœÅOüjÕ¸Û8qZûˆIIt"™Œ“°œn¹š+Pá…"ñ”?¾XÂGé|¶ˆ]©H÷ø¬IiöU8m˜ŠÝ[I‰Øyƒ] M™Z·+èÊ0oWç° w3—ÊÅcýû³Xîö2²ÿà2¯“NI c9LÜÓDÊ_Ù+zY¤åõô>2ÃI_‹.Ñeƒ=шPh-þªY‰!iªV:3…ZU-?·šS7Y:jOÅL¡Ê”…úRræÃIˆF"T†²Dê>®ºvÓ}ZcIzI=¦¬Žd¡.Ò­š2JL‰,Ò2"R!²XXˆ„’ruÔ …¨öc‰Î¯ )=žs{º.±¨¤cE ÃÀs§£_ÚÕn…K)ªÓX¤KsH©¦.C¥ud,V©§QÓ‘Þù`­—CZŠ-œeº‘Ū,‡Dn´U(¡R3åÚYù„ù~ª¸lã­ŽµsVûÈñ‘É£øP7ÄÅC 5ݘ„Òó8$p©ÊQ.z‹ðrhJ¯¥Štgáå`…­#Ûˆ6a®-¼j+÷è‹Þ Yùîxžîr<ëäÁ¡­€Ø¤AâÏìÄ\ß'ùØš‡ð¦9Ò9ʸ™œU`<²úè ¯#lÞfé-YéOå!¨;ÖG‚&£E\Šçà ^Ru2õô~Å“ÃVEr®ªÌ#¬ ,ƒÎDQjbô|z(6o eÍð)Wùð zΜhK¡®7~s êõÌäU^Z`ò`b+£Ó»A$k§“gJ ò©VqÓ„Ú.Ë´§;?•¨h.|A§sáÑü¡X„#—CHÇ]Ð04]¬¨a¥ÉP7óöVØ|ÛÖŠ$jå||Îé¡tâß¡ƒ Hîô€²hŸQ½†¤$Ôu%\0[ÌfÞ±!GMNïþ&ÐûM2šÃCÅ;LvÀ·m¨DŽgöÔw-~‡¼©l %ºêŒ#ñIc‚øò‚bÄ;äO¹£16Öñ"R‰ ]  KÏóQו`¡â/±5àoÀ=õ2'™ÁtÐ\¾p¤9!‰æá,&Ñb“œ»/+‘É dš™ÃŠÄ bD`bAgÏGi×p6xï™Cû#4ÃÕC'ÁÐ4ˆ¯wòx³É-/yär*wIÄG®•Ëü‘®OÉI\Ü“ƒrÔñ4Õ³rj—×;¥U?qPV:.ç´…Pïר=?@&pO4&*«UA=ðnŠ51= ÍôªÇÛ"Ä«¹ÛvŒnß1¢ƒëãm^‹ÜoƒüاGÇO™Ûã]HÀñÑÒ Ž_1p¢ïð”!‹¨<îH‚Æ7­ ^K–r¼“ó"{d!K¤£¹aqª":HV(–¥cÅœŸö,誆|UCDéÉÏÿæ„a±^íî ¹»¸«;ˆèé|:-¥—xi¼ Ã9¹9¬QU)xƒF°ž™­Ó|è/ÖB< 'ŸW2Mx¾P6ÎÏ+yë+qz¬±„<7.Þïª äöx×Ep‰W²'w…[™«¢öðJ¢ð¨¢>Ž‰Î“iiï4«)ÝdmiÕC¸¹(Þìª = f#ï¦ =,–4-¥Hñò‰ 9}ýƒ«b ûWW…è•”n,ǹ=zf^oË4§ZL¸G”sÅ‹=àNò>u»ŸE!Î’˜7lÅ v *‚MdxÛðÈ6޾W‹ðÁ¾²çötD‡œÌOâ8 +¢÷åɹ°ì±’ lw«!KyîÃép“Õ‚Ì«‡XÒ•'.TŒÉ'óÄSàGºÐHš1HÍ*ÿQÊ"db0…§fd(ƒ“™%]½àêˆäx`)ÈóârPô&;¼âœçloœPˆ»‚áè‘?0£ZÙÁp¡]œå@×Áa–a°ÚäÍ59è¶ ƒ ×ácKáJjËL€"ƒÅ |;²v+χ; «~ÐÍ i _ ÖT6ÀñŒ™é¨Ý!GÀ½ìã2ìøEñËl·d„’[3ÐÉ'¹ á/KÖªÊ'åøIhû„i©=J[Øì€iÛÃÒmY‰QíÃSÙ`q/ݼE%Cˆ²}DIã‘Û$Þ e K6N"ÊZ:—8‹9‡dI€˜3Òá-HHÔ­{ñåÚÁ@A…˜—°=ÑEšXYÐeV‹1)̘lHJ²ÚÂSC¼œÊ2€7ƒ! žNdH`Èù—óïÆVJŽ …ÊÖ@de{Ç´kÆI;xMj´x´Jñ€ ÄÜÍ6ª}‡ˆÈ¶!ÿrYãì|Žæ“s—«¼ãúv ‹tÒÞ+ø&X‘ˆL§»Õ’ítÂõwÇG ­ð€‡xÑ«¥ v`1 ™]£Û–ÄC"âù ]¢ÿhb&á@;|ÑC´œK7À+QÁº5˜LNð +u(F¼sÈ&Þ.‰q<\’iƒ( )¢1˜Ý…³ä؇Ñ&?)¦(¢ G„ªœÌ‘jÚ¯LŇI²S‰© sñrwpBë ‡ÇñÒâímAf®ÿWËÍ„V+  ¥[ûÕúˆÚò5 îOÇ4rû¶°Š®v÷¡c‚‚^"nãüq[ùKDx{‡C.ðh º_:ÓÎųâ>žfÉ´š^æÐ WÄ/+æªzó¾ç¯Wè3x˜xò)” úKjpº…µ2Ð=kI'Ù0ÓÖ¢ásœlÏŒ<ÆÉæØ.®wýâotXT¨¤ˆhÛ¬µÝ™ïú>«bxëN!¯\ í)²·ƒþh‰Â:¬OúYǵ "²'^t°ÔŠƒØïÑK ‘Yº^G$žèÉáÝ'ÏV®sñiYH ]-ÄŠò?‹„ÇB¨I÷ÈÜ­ ‘ÞIfG\²r;²$s1K$uwºÅÑ&¨,Ž£()ÜN…¸‹,ÝHÖnp¡9GŸ[™¹ „ž{b.Xf‘(ì®ÎÎ(UsBhIÈE¥±{X¥ÅWÊ®dCZM†ÄÙ@"eEq´À¸Ý¡é¶(a’¨ª˜b¬b¡‘$q– ‘á¶ QôŒëœ €Ç"éŽD¦_9Cù(œÚÂÅÛD€¹@ëƒâIxn›Ö#]?(^Ke›¹äÜX€.×éî}”»®oòÿ_y5¼€q±Xˆ-j_ñFt¥h–Ⲭ”j] …9߆¥x¥\„R@«ëðZ~ƒIM~ôÔ-.Ná·DÚå¦î½0fˆÛÜ?ŽGýIŠ"¶p„J†¥ÇmVü'«›M&£h±4œ7‹fóJ±’mLV$–L›âvu±É%s"Úˆ.-Ì̃¹Ë×VføØj‚%ˆÈ§†£KÙ¡™ðØÉÈà q¼)9lˆ5Å`6N†ñ2œ.f¯çxI‡B,Ç–ÍØÀrF<ô¯o7«’ìììp±‹Ã-“=N«ŒÌ„V°g[+Ÿ-UÉ£¡<ŒØˆvÁ?rá¡Uì)Eô¶øð†¦|fIÍb—±¤¿§W` qÀÒÙõÈð”É“À[`ÛtŒŽÖdZ„Ӣ超ݕ ˆÁG_Õy;}Å¢{¾ìÉ,à0‹”ížcçk•rp9K<¶Œ¸•#&z– SÛµoÖ¦u›h×Y–.nŒÍ´Ùx“)Hu§×)]¿ßÄMРa‰·k Û4R›6m"\¶§%Slžîðâȳ}tdÛ°m"Ü4¹š ¬7ħΕí£4tÄ«õ!#‘.S†ª¤mŽ¥äƒÍí !ä)ÒCóPUÈZà;èðÒcÂ}è'ÛÄ—|03 ‡O2åÀ—} v+ê¾=íÃÂÇBø@¾ (>¶š˜†Þ 3K*TÃÌ¡˜že0‰fVHW›lH„6þ°¡‘žOÀ/«šùì@l”-×7ØŒ ÄŠbÚSÖ$¸”³çÈzápÇw£Y®ì¤ÑD¹Ø^¢ŠØs›EÞôÂBÒµü6ùýÔ,£j§*¶|[ÌšÓœ…’9k°Ë'RPH¸DŠPdRf½3¥90²<',¾¥*¿¥Ú¾mt»Vl¶ð¬ˆÖáÆˆö]C2xUŒ®`Q‡èøk‡víÃ"ÃZ·lÖ0¥°Ö]C¤W…\‰ín0Ò3AŸCœíp¶€Çó£#£#Ú„ƒÀv`FjצC‡ˆ®!DÝ_sò¾`ê‰Ð.¡¹(ˆ&™*SsW|U”úb!ÊŽïO€Ò3|å¾ÔÛSá59¡lFZÊx¤ÛŒ•Ú‘áNr'‘^2+éù¬E˜Ãyªö¢ª¿Vbdx«ŒêÉ X5h ßJeVw}=¸šñž&uµ~3Xô0¢Á·…[ÃÐQ+-¹*Rù¶UyEÈÓóõd™j ¢ ˜Ž„SÐZŽR†W.”-LJ—QP¢ºß‰2AxrÍ„4Éãû,—W¸MMM×]±êLͬ8/{”\šxQrq’eÁ ëÑåÒŠƯ墹RÞ@Ó! çBÏÐ’É¡…+Îj¥–¦-r=Hª¨ç'„@1T‚œ»¿³£ÔX¸‡5£ ¢«cמ>¬ÙžˆìÝAÃ{Pž^Yï‘ÞÌã³Öе“³Z­,X Áâ€þ]«Æ<=ÄQâ^Ѽ ye!Œ }̦t¥¤t8|8Lù5ZME€YS©þp£/ h„*qîl§*ð5È8 H½€´…¥A`V¡f8‘wê®È+´þÛÆ/EK £9•7Z•v‘¡v,>…æRˆ†dÄ>—"--3 kpÂ%º8ƒ1Í ®{ò ±!ñN5tQ®KÇó†r{¨5Íàt×°*Â6.öêÓ­ÇrU;lpçÌj O–ÏìJ•4ò¢æ¯//º¥JÏp‡ ›,v³Í˜’npY¼îè®ù á€Á‹úªh!ês ¼¿Ì>=ÃNvŠ5˜Óœ. ¦qg¬poÒòÈqnÇsË’" 6,x+´¨ê #–¸Ji¨²(.R|M¹ÏÞ£·ÑŽNÏ€›}} `n„j<“Lnf‰ÜÒaK…ñ˜ÜÒErSÊ›Ò[m¯ÌlHÞÎtT`‹·ƒÂ—ÒÑ+@}g(×-N̸`™JUör-,Ö!³tBfŠÍ­¤W-6,•7eèÝʼnN’f™‘µŠ%wÊÙZÙ­™æ´VYz¨ÇEœ²5Ñ>c‰màNFù&êܶ£ÛjUq$ðE϶[»~Bˆìc*ä17"˜Rûí º9Égþ= !E¢$==ê;èN/}+d/-"Ýÿ‚μÑMd.nD·º tºd%ßiÛÃj±ÙÂb@³@ã<ñJlÀ³¶0éNž$k.ÚK8]øO®ÈWú]ypňåtžÕÝ9r.—: ªà3µžué³ñã|ÜĶñck’áH´Àïð¤Žhzxä¥hO‚ü›§=é}gË\f|76Q:dèˆ7'yò®)kCãÈ"£Pd£*ÄÑN+¶)oá†F’Y9ÙæÑ™P'ZrU]™(I@ÊæñW*ûit”\zŽß\ ¾·J_ôMÝnËàMµÉBììÆ„ïp;yV¢Ýj#÷¾î¡R µ(…³vcR,øVð¹ž[ËéÆÖŠb_õóDl¿>}㕆 ꫼9l˜SLµgQˆ+S lÕ„Ü;ÕnGÃç½ñå' Žàȼ˜cj\]†E¬†Å|FakZH£ÏG7ê ‘,\]^¶ª¨lsE:«3ÉB]/ iýh…DGŠ»ùí:¶iïRÔ©[xÕÓk¦åâÕW#€j׃@«p£$¯pù_™–Œ+¼Ò…D$.sJ¦Ü^…² {lå©H÷òT²Û»Jª(YÍd‹ò|½_d8ЕçðÅg‹# 6U ˆ<Ùj°¾›ßr@ÏGâ¸!é÷³’÷¸ãá]¥q<Ü™cƒG5·±‚áä²! ÐM±Š‰HÇ;ßzÒ-1UÅä›&Fñ`Ð)^Fraà &Ç <Ò`´Çß!²}Xt»¶®í ¤‚÷1 ‰N.x+äŒæ$#ŸètZŠºÍ0…Цv/‡z~‰èmE+’D»)._ŒÍ1¸{:$ 7„[A¤Âeh±¥fŠ$Rä7Ìd5&¦:)£¨Çm©áéá™b4Ïó êÍ›Œ“] ì¬ö“²J†IôpØ&"û?Å óšÞÍÌ‚‘-n•ãgq8$Žn»Ån0¬,xøÍIü$|)ˆôg¡Æ´t$‹>9eÔ7‹ˆ—ùÚDQ Kfñ»ømc[«t˜Eñ¶$R=¾ܦzÃJKÇrwvÃø= Q³E³‘Qá>¸ÚM+Ûò‹H@ZÐöÑnmù«Zæ^çU°’K)é)ÁÿA›Î(÷ò ³Â<ÀíŸiã¡¡’lñp<‹›Cd“1xEÇÛ33)|EF§„z(ôQš”L.t-ª’MëvmÚ.ÑÎùÙçþð…‚dtÖ»» ð"à­–³»«Ø °ÚlÛ¡}4`“m:8•aÁ”h1¥£=Møšˆ"ù£G®íj*²B7DDT‡amÚGµq*`@bÄ󙉩b{€л9áväóèýÖ®}ëÐQÎýð¨J° ÒÈÌ F&YëÛàÈdá;]6t—”Ä•|¶ÑÆ“‚@ÝdÒ æL(…³ñÐTÎHîöHDs>€ ð8»xJ*ƒÄ¨öÐð.ݧ Â2áñ ʼ/”í»6ÿ÷ÍLhJÎcƒ Yò¡6i'ŠnNÊo Å·v[å–6LÒiäÔÉßõ-m8~!us^MFI¦ ‚ï «ƒ¾Œ(èàÉl| â’ˆßãk-¾0˜l“„ÉRà† ‡˜SRñgú4eòtò"£òBéåÄL«Õ /ÈÈH2Z´%_=G”}VØ]V‹…d ‹…Ï·2ŒÒö+º 8‹WÙ ÙÒàQrQ1ˆkˆŠT4åL¤µÄÚÊtCŠ1Y ÂGçäÅ*ÊŠË@+Ò( ùQ¼Ÿ.DÖfR¥ï¶µJ  ¡Ôt‚Uµ’ôÂÐ0Ø`fƒVêZJ d¦›” r']¥O|ì0安Æ~¿^éÀ›xƒÓ%‚…Òc:?‹å|G_bx¿I üÃw5‹óƒb0·PSJ ZJ6Kó+NEž?~%Í-]ñËDâÄߦòäY+jfèJ¥Éañ\à‘½¢ÄÚ»Fë‰Ú¹¡¢Þ§ßBÚÁë#Ä×J<{ß$êGQç¶v-Áºxߤäª6AaYK ÔÐøÛ„Ãë*Ã_³Â×­¶GPq>¶‚ww’™±ÚÌ2€Ÿ'Šm¬hc5fAõ@&>459Íc›™\õf™Í¢† Ž ŠPÛo›èP6üÒ#Üc4@‹å@Ý EDygŽZ êZ ,Òˆ‘˜`^Îoà¯çç"r|m_:Ü÷#Šv™fƒh/Å'^^RÛwóU3ão†æbù²˜$£ =tX“ˆÑÊÙ2Ä¥ %õzcxA„“a§ ÕÅ/ÕiÑy²kÙ!,¢CXT”¸_åvoÎ-'–ñtpω[KœL@m¡.!²5¼ M‡ÂêÜqâ‚XFÁŒYió(¯Mi5f.i—ÊË£Nµ9ôÚpR (¢—æHa“a“žðÇ“ŽË°ÓI£—ƒm44Ó_q"Dîz")Ð=ÏdxÂW× S•ß7Å`K&Ñ2R¥øfLIÒ­ P@Î|Š|“G¿Éw"Ú$”‹kòÁC ¹ÁÝ“¢¦›A=ìRi2¤*¥¥ˆ·šI™@¥u?3‰é¥}’>ÄMšwo5Ç¥ƒ%Hª”‹ÑlÖOªh}€?Ä% ÉÅœ™Þ“Ó i¸À"8Ä…Kkš€äçŸdLN¶$L Ùƒ5šøn‚Ô"þ ’³¤ôC/ÜK¢ydD»H‚V¼A§Jϲ›åNö«B‚-I~VøvHz&h R ¢v'˜¬|:1lRi9F:¿Ì oD#ÅM6‘ :ïžÝIãy¤‹Hüð%ã¤!áúŠähË€†»R“¯hBÉs1¤ àKæOoT3’#œHÓ'IóXJ©àZ–D3›@DÒúeà‘/:ƒ€tÞJ÷²¯x œh >1Mê›b#¥öC¦-YŠV2$8´ka5’¶ÔŶ•H;·¥J™ùÅ&AŽApHKg©ÙŒYÔðEÞ“ØÒ[qd¼àKå1n|ûNŠ. Áe¶áßâé \Îd‰wídŒ–hATIJ‡ féŸÄ'2MÊ{âXµ“öÐÅ&€R…ÛœÞKvßd€íåœÂ¬É£ †ÕßV eŽ Ïr˜ ˆ‘I.æ%Q¤}²Å, éöÉpüŒ³SðX3ÍfÊ4vpŸ4™ûÀý²˜´©ÁDÉŒò„|‹O:©ç vÐõƒO÷ÝðØ Z1“¤»#5QŸØ%÷ƒ”,Í@òþÑ$qÁ_¸áFŠüW/uäNÙ'ßHyæŠpkÊÍúkM½¹{^ûꕟ/œð]úg£yë¹{‡‡ö]À ‡“WíJË#äÖû»o§ßçÞ{p7õ›1;¹ùAS?©<¯½pï”îÒ|.ïhȱtË(áúÅëBŒâöO^÷~ÔüÓÜñ¯~:öô®Üú¯—Wx®ÇsÂZc󜵧ã¹_­ØzxÃ5ází±/ôòzE¸øã•Ö/= ¾wßOêúí,îï¾Ú}`äîÞ­ô{Ã+¹];ÃÏšÝT¸¹êÎûËVÌÓvÝÿ -’û«ÕÎÞ¯Wë!ü9ñ`»¹Ÿã.¾øbù™ã7 ¹-ýÓzšÌ«8"þv…µw;®}Ï Ü\V%óT·æÂµ¬òæÊ —÷w?óɈ&ÂÕ&v½Vv$w~åK5ʽö ÷ýKmÛsÿ5aßÊaÕ×}{[¸ž0ÔçXÎ?B^·®Ëëí9)\˜½fåOÍ®_÷N´UŽ.>õ°Ï¦(îψ«›W¨"Ü8Ý?jã g¸»Ï‡F[ÿé#ܺÿvðs}ü…•ËŽLžY-L¯»Ýjyà¢(îÊ4ïZ_xÏv5Þtðû¯——ødëQîÔ§¯ðU÷^ú⟧¿ÿ£©pðÁ‡û¼Ž¬çöìbô}óŒp¼ïœôk±§õ¾=¯=sqÑ îÞ©´äê-pnŒ ¹v¦ wnϱ­3½"œ×/oÉÌÜ•‘N§WÉ _-¡ÁBûàÀØÆ»¹‡fúL=w]¸ººÑ¬gCî {öÕ³l×aáô·ßD¬xóŽpmðÄ3e_ ãN·øíÚõ/ï_•¿²Åea[Ròò‰kC„SãlÞ?jŽp§kƒŸo¯\#üàw|a^‹ƒÂ‘·^XøÎ}áÔÍ j¦ìårùA+^ ùÇC•aêcOÏHft~ÞÈ? Œrïò¶´ISC=þ­ÇßµQühH> ú»ó€kÌúÎy¶q6ÉIµ¤ó­,&0·"Îm€ Îgk¸ekqÑo“–þŽÛ„}0ªXV " ‚BpP¸xÃÓÓ‰©ÁAXvìr°Æƒ˜ÐÜÂf4¡¨$©*Jaa$d †Ca6Å«i;‡±Æd6Ø<¾lƒßq9¶p ñæ¬à ƒzµß+.~ÜÀ^Ã{ „ÇxXÀ±iB°-„åM6žTdÐ êõùIöà [f:¼“^XÔ*Ãj4‹;èpŽT¬ª°8ã`µÅòÂ=•§pPy®vÃm@ôŽ ñX¶?,h{Â?YÖ ¿##ˆ̲ƒ¡G¶Kz5¾th€Þ‰ÁmBÙ¨P¶5A؈e3a€ha1)Ø 'Ô`˜84pÿPÈôDzøWe– ¡ØƒCè€(•€:,›"zóÁ‘û‡Š?̈3vP ±F`ÙÞ‚ †9¬Ç3G§„FŽ a[ÊÅ?X1ŠDŒR%EŒ&£©ˆqDEéIÏêYR,¹o"xR›hÈ€¦`á–L Q؃ŞF}ŸÂCÁrb]"¥ºÖx<‰‰!RÇ7E¥È†R`KõÍàó]á¡¶D‚¬ÞTKÝPCŠ=âKf4–‚¶`Ùb§Áa„X-&ñÒÓtãdÞÚ%H” ³­†Œ Pœ‚cUþ@¤v«© <<Én13$€ÊñamCÙdúSªn;–M—2Îa§Š=ÖR쎖l0úÉ>ͦ„ M1P°.="Iò. yTÁÉ‘‡+$•a ‰…€=œî%D…Èݸ1Û»ßÈA½:„V+o’®ßH¦»ƒ;\4Œ’l„즜pŒ§‡ˆ§à3‘!¬‚¥°]ºÂ`[ÌI-XC24_ÆÒ|·f•Ïù8‰µIð¤žÚ‰›3D e'NÒ§áÍH.„EV>DÄêŽñG£ E2u‚®.Ò•™-5À`%•ŘbL¸îÖ0ÚÄò±ÉYöî/F˶dš’X“1MmÂ[“Àˆð6èGd”»b@šsø‹ ï £ ØÚ¸-¤X‡¿Öá2Œ?ª½TŒjÎ(¤°(ç°ŽTÛ›>“ÞQ.XSç”ð?ØFÖÕSÊF%2ŒIê/Enâ¢Ê rT1Mëè "8Å QÎ?µ• ý¨Çd\ៅWQô˜(Šq‹ÑÆ£qéVÀ¸*âaÕ¶Ã*2º-LáɰÒM ‘åòvJAß?Óœf¶d›Å÷ö0Z  9ìß®AàºÙ«Û¡¹-'/ýP±×´1Câú”4»~â'µFP.@:*ËUfÄá±ê)=q{'Õ錗TÕ^¤Â óGÐ+{c €Áb•q“ôðoNKÂË`Xã÷aÐÍûWU@Øs¾.Òü~*ùW¥ÂñoÓÉõëWAê:TIý*×\%=Á_‰ ÷ule\è_–‚?¬K•ôU*¼†õ©ö«\ ì߀‚¤ýª»HOð×PÉ¿^‡ª_C Bü¡ :ÎKÂaØ —¯9ŽKƒ)Ãa<– oa÷Å8ƒTÂIù‚¨ôá$õo¬ÒáTúæø7ãÒã¿%ÎúPôlƒÖ*é þ0*¼ †¨þƒe‰Àþ)HÊßÊEz‚?B%ÿŠTxküÛ‡û2yÁrv®3ö/‹a9Ça'àŒ*é þÎTx qù½*ظTì_™‚¤ýºRáU0¬Iµ?\7ì_‹‚$½¸x•ô¤|ݨðÚ$õï\Oì_ÃzTýánmŒJz‚¿'ÞÃæTùá¦zìLARþÞÀ VIOð÷¡Â ?ìÀÈã§/pý±G ’ñÓÏEz‚¿¿Jþ©ðÁTý:Qà¢Ò¾tú•þéD…Ã0Òÿ)Hð£Â»b؇jß‘ÀÂþ})HÚ÷ à *éIþ£¨ð~$ãc4pc± ’òq‘žà«’*Ü@Õo †CpþN¨ð¡$üÞKë„ü<•¾‚J8 SÒ7nÄ¿1O!Í¡è”ý(HÚî@d«¤'ø3¨ð26eäñ=8öoFAÒþVé ~›Jþͨðlü›–m„å ¸)Ø?‚¤~Oq!R%=Á?… /‹a%ª~S›†ý+S̯ϸHOðO£Â«RÐ —}&eä¹£ ã(Ÿ<܋ؿ,Iý^îu•ô$ÿ©ðr$ãó%à^V 'é_¦Ò—§ éßWTò/O¥×/‘eM"ßÁ¾~ ¸w°?‘%±¼)ò÷·{O%=ÁÿNR¿w›£NÒÏQÁO‡¿‡Ë_‡HÊ?¸yn.«(ÿÀ-TIOðH…“1DÆ7Ä÷p TÂIú*øéð…¸üåp8¤üŸ÷9ö'²]þEÀ-QIOðN…Pàÿ¸¯° áøòâ—À-VIOðE…ÓŽàÿ¸oUÂIúoUðÓá‹UêG‡/ÁíW‡—§ÚæÿpK±#Ói¿Û¡’žà_J…—¥ ¡ÿeÀ­Àþå(Hè9pÛTÒü+¨pÚ‘ñµ¸U*á$ý**} þ·š ¯DA‚-p‚J8Á/Pé+Sà_G…W¥ Á¿ ¸_T þ_¨ôÕ(Hø×f•ö«F¥ßÆ8÷¾ Œ,ûÓôµ¸ÝŒ<·CHÓ×.àn«¤'øwSáTñ±¸}ØŸvd|ìî¦Jz‚^êþýÀÄþÕ(Hðî”Jz‚ÿ ^‚¤}þî0ö¯IAÂ÷§Jz‚ÿ0^›‚d|î¨J8I”J_‡‚d|S)?þO•úסÂOQí[—‚d|Ÿ¦ÂëS´Ïyà.bÿ$é/¸HOò¿H…³$ís¸k*á$ý5*}# ’öÉeœÇW#*= SŽo:ü6¦ŸJ8B_ªþ÷€ûûûcHæH?÷ PIOðÿC…2ÄæH߀#Ú½Š$ãû!øé§’žàϧÂi‡ËÑxé°_e âöóòr‘ã‡iò¯L…û©ÔŸÀí[‡“5>)ày^„çú3²Œ‹Û× Ì5^µUÒüå©ð@ ©öõ¿½H™*R·¯øíUS%=Á_‰ §Û”|{UÅþ´#í[ÅEz‚¿ªJþtûÕT©?^·oN )_=à0òÚBŠÿ{Zõê®’žào@…`H­¼×û—¥ i_8½Jz‚¿^Ž‚˜?x×X%œ¤oŒéú—§ Ì¿#M¨ð $íÖ‚¢² bþuRùèô$ÿæþr*áÁTúÊRó›Ì#ûW£ i¿0à:©¤'øÃ©ðê$õk\$ö¯AAR¿é þH*¼ þ6ÀµÃþµ)HÆ[é þv*õ£æ7&µ_ üUÆ5ÿÁ0§ñM‡wÇôS ‡Hê׸~ØßCš~ú·M%=Áß   ßý NÒƒ0/3ö/GA,Ÿx ¤Âi‰ŒŸAÀ™°EFc¤~ƒ‹ÁþU)Ó–a„JzR¾*œv¤~C‹U 'éc©ôÕ)ó @œJþôøa^°M Âô-I…צ ©ÿÀÆþu(Hê? ¸T•ô$ÿÑTx] üc€{û×£ ¡¿±.ÒüORáõ)HÚ7¸D•p’>‘J߀‚¤}“TêGíïÀ0©ýRПQe|Ñé'Pá¨ô$ÜDßF$ý—Ü;Œ#}ÐéÍ8¼:‡ÌO°ý3€³bÿr$ô3¸·UÒüV*œ–Á }Ù€{ûWddJò·—…ý«RŒ¯Lন¤'ùgQá4þÏn’J8I?‰JO;Òÿ9*ùÓô¼ÞÀ~5)Húg*^›‚¤þÏ7‘÷ $õŸÜ,•ô$ÿéTx] ü3€›‰ýëQÐ׳.Òü3©ðú$íû"p/©„“ô/QéP´ïË*õ£écÕ~ )Hèëu•ñE§ƒ ¯@¥'áoRã·Iÿ½ÜÆqüÓéßVП2üœ¾‡¦¿9À½‡ýËQÐß\à~RIOð¿G…W  ¡¿yÀ­ÂþYÆ!ù¿ÜØ¿*Éø›ܧ*éIþPáÕ(HÆÇ‡À}¤NÒD¥¯NA2>¨äOÓóZýkRôßgTxm ’ú/î FÞÇ'Ôÿsà–©¤'ùA…×¥ Áÿ%p_cÿz$ô÷•‹ôÿ×Tx} ’ö]Üw*á$ýwTú$íû½JýhúYFµ_C ú[®2¾èô+¨ð Tz¾Š¿(Húo5p¿2ŽãŸNÿ¦¯j.Â×àô5q8„dýéc-pë°y ú€Û¢’žà_G…Ó:2ÒÿëÛˆý+R´ßé þ*ùW¤Â·àúUsÂäoeø6,ßׯáRús¯ÀíÆþRús¯]Àý£’žàßM…“#'„ÿ|^{€»ý«R´ÿ^*œ–Á`z¸vÝG…ÓsißýTxM ›Pý¸CØ¿)Iþ÷—JzR¿CTx3 [Pøwû·¤ Á¸›*é þ£T8é§( ÿ1àŽcÿh üwN%=Áœ oMAÒÿ'€;…ýÛP´ïIé þS*ù·¡ÂÏQõkKAÂÏSáí0Äö ¢ná2Þ…‚0ê&®Pá])HøçUன„“ò]£Òs$õÏUé?ŽJ“z ’ô·TÆ—žJÿ5~˪„ßW¡?:üLßup8„4}ç3ŒÎ û`HÑ7Tê8•ô?L+…—ed¦o@ ëŠý«RO7NÖ–D?èLçC…Ós4n?/^‹‚0ü)ꨃú8§úS×_êª+‹ýË`Hä3Xèꫤ'õ/K…—ÃówHŸ:à§#{ •úùT0×èꪤ'ø+Pá•1d1~Ø6 ®Žø7¢ ¦]%é þÊTxc „íúBWû7¥ iÿ.Òü5Uê×” ¯«Ò¾tx}Üõp8„ÔþµÔE„ýËPËo:к6*é þ *<‚?¨“®)ö/KAˆ¿#ƒc4R%=Áß” /‡aej|ž¡ ÆþU(HÆàqºV*é þ`*¼*#ëPHùaµd×~Ôü¨ká"=ÁßR%Jþ†aRýhË—º•ö¥ÓGªôO *¼ î8F¼)ñƒµ·®'tOÂIúN(«ÞUÁß”áæŸ °?„>Tûv®'ö÷ÃðÈ;z—®’žàïI…—ÁÒëzׇqÔMQúo]oàÒTÒü}¨p²6&ë8¶úRá´Ãó§®ÞÃFæ?ýˆý[PðŸ.Ò“ò ÄáôÚ¾.U¾¡Tx= ’òÅRáõ1d©ö‹nöoDAÒ~ñÀ%«¤'åF…aB•o8Þ‚‚¤|#¨ð–†3’ü¡ Ü*á$ÿ'¨ô­(HÚw‰a{ª|ORá(HÊ7Ž ïˆaª|ã3¨„“ò¨ô])HøK‚JûRò “ú£ IŸ¢ß$œ¤OSЗ2<Ó/‹Ã!¤é78+ö÷æ߉À}¨’žà·Ráe0¤Ö—:p™Ø¿<Éø³7_%=ÁŸI…Ó6¤üYÀMÂþ•(ñOaÙÀ½¡’žàŸD…WÁž?r€{ û×  ^Ÿë&÷ŒJz‚ÿ)*¼†u(üO7û×£ Áyüë*é þ©*ùÓáÏPéP´ÿ4à^Ãþ )HÆÿtàf¨„ü L÷öoDARþg©ðÆ6¥ê?¸çù0Ê>Ï÷ŠJz’ÿóþ†*á/PéC(Hò¸—± ú{‰j:=Áÿ2…¿¡Jø+Tú~þÕ?-)HøÛ,jüWQIÿºÊø¦Ãß Ò‡aˆ×Ç"|› oMAÂß¡ÂÛ`Ø–j¿w›‹ýÛQ´ßéIùæªÐ;*|¾ ÿ¡Ã?Äü­‡æo÷ ö÷Ãæo Û«’žàÿ„ /ƒ!Íß>nö/OAB_Ÿ·[%=Á¿ˆ §m˜Hù?îKì_‰‚„¿}Ü/*é þ/©ð*Œ¼‡FðÜ7Œ£î‘æo_÷Jz‚ÿ*¼†4û¸%Ø¿ þÅÀmRIOð/QÉŸÿŽJ߀‚¤ý¿nã(ûÐüíà~T 'øA˜n%ö§)ÿR*¼1†4[Ü ìßœ‚$ýràÖ¨¤'ù¯ ð7T _I¥Á°%•ÿ*à~Âþa$üu5pëTÒü?Qøª„¯¡Ò·¢ ÉÿgàìAAÂÖRýC§'ø C•ðuTú~¾‘$üu#EUTÒoR¡/:ü*}4†D¾„üõW*¼# ÝF…wÂè÷`ûmî7ìß…‚¤ýv¸HOÊ÷› ÿ¡å×Ý*üß‹ùk‡Ð—*ßàþÀþþRöyºƒÀQIOðÿA…bHÙëwûW  ¡ïÃÀRIOð¡Â+bX‰*ÿQàþÄþ•)HÚ÷˜‹ôÿŸ*ùW¦ÂO©ÔŸ?ƒÛ·1o¬hßóÀ]ÄþþÒí{¸Û*é þ‹Tx †tû^î ö¯@AÒ¾—»©’žà¿B…WÄnß«ÀåbÿÊ$í{ÍEz‚?W%ºýnªÔŸ¿Û· ‡PËu_áð¦8ÂTø}Þ ‡7S¤ˆÃ›ãp»ËáÞ^8<‡CØ ÷Áá!8ÂþT¸?oÃ!¤äoÐ&Þå°¿†”|ã]¸Z*éqûÀ´Rx )ùžï÷®ˆýËSxw •ôE*¼†Ôøð¿½«`ÿÊÄãû²‹ô•ü©þ‡aNõ§Ãkáöm‰Ã[*Ú·.põ±¿†tûYÆ;D%=Á_Ÿ /ƒ!ݾ`Îòf±y ’öcÅ»¹Jz‚Ÿ¥Â+`X‘*?àçÞ±% ’ö r‘žào¬’?ÝþÍUêO‡‡àö ÅᡊößÞáØßCº}¬âÝV%=ÁN…—ÁÒzYÁ;ûW£ ißàZ«¤'ø#©ðê$í¥’žÒïÂ0§òÓámqû„áð0FÞŸ‚岄w'ìïOAR~ Kx'©¤'ø;Qá’ý-Øþ@VðîŠý)ˆå#ï..Òü]©ðr–§ð^èÝûW  ÁßÃEz‚¿'^ ÃÊþ¾ÀõÇþU(Hð÷s‘žàïO…Wð&#ÉoÞƒ©ðÚÄò›÷*¼.#ËØ¤ÿb€‹ÅþA$ý7¸q*éIùb©ðÆvÃøxÇ7 ûw§ ©¼‹ôÿ0*œôÓ@ª}Ÿn4öDA2þG¹HOðV©ß *|Õ~ƒ)HðW߃©ôI˜~Âq8„dý Û7¸ Ø¿"Iû[§’žàŸ@…WÂiÀ¥cÿ*$íor‘žàOÇá­p8¤üVàìØ¿2IùmÀý¤’žà·SáUyEÆO&pÙØ?ˆ‚¤üY.ÒüÙ8<‡CØ‘Âÿ4pS±' üS\¤'ø§âðH©Àÿ,pÏaÿN$øgºHOð?‡Ã£px”ÿËÀ½Šý;QàÅEz‚ÿUãøg÷öïDA‚ÿMé þ·pxkaU ÿ\àæaÿj$øßs‘žàŸ‡ÃÛàð6Œ´~ñÜÇØ?’‚ÿé þqx[a ÿ"à¾ÀþM)Hðî"=Áÿo‡ÃÛ)ð Üìß”‚ÿbé þ%8¼=o¯À¿8¨ÿé€Ã $üm¹‹ôÿ }“ô$ü'Ì?:à~#à_£ào$œ¤_‡ùg'!Í?7·ûW¤ á?[@úf*é þ­Tx% iùìWà¶cÿj$ø··G%=Á¿ ¯Ž!™¿!ÞÜïØ¿Iûüæ"=Áÿ»Jþµ¨ð=TýjSŒŸ½8¼3NO ©ÿÀÆþ•)Hê¤o¤’žä˜ ¯‚!Íßw ûQ”廓ôÿ1Þ‡CHó¯SÀÁþ(HðŸv‘žà?ƒÃ»âð® ü»Œý;Qà¿ä"=Á‡s8œSàÏîöïDA‚ÿº‹ôÿ ®Çázþ»Àýý;QàÿËEz‚ÿoÞ ‡CHó÷‡x9ý«QàÏw‘ã‡iÅðî8¿/pþØ?’‚¿Ÿ‹ô¿?ïÃ!¤ø£ù}*`ÿ¦$øË»HOðWÀá=qxO~PWŸêØ¿) þj.ÒüÕqx/ÞK¿pP?Їˆù‹O=é þú ú&éIx#Ì?zã~#àRð_NÒ7Ãü½NC t@öòiÃp:NÒ‡âû ¿Ž‚$ÿ0ÅýE$œ¤D?á}‘]ÀX×v:_7ùwÍGußø¦Ñ¸'u2p\ïaƒ{Ä÷2x\nÉ3PÞ̓›“þùIÒÛ)qñ±ãz /Å Q‹GÿÖÍ¿T2ïæ¡$J Î1nXwrh¯¡ÔW™ÁÃ9 wÄ£šÕ¿T ?” þ*;°WïøqÝââúõ¬Yׯ·s 4´P™þkÝY˜(\i²óé50®—'#¨iç_"Q•lBÕây7êZ\ ÙjhzÜ+%«røµ(¸öžŒ±b'e÷}(š"ŠW´üòß™¼<êÙG­7Õ„ÊüT)·¤·sá¹qiá<êÙŽ…&EÜPªyº5‹zxÐb½R•T–y´†ž«>£¶,TEAì. âA?´ÔÌïJÛÒ£¶,m×âo×{Ð̧H WÔaHì n㜠öïˆ:ÿFSóº¾8góGé@j©õ,Ï‹fâv—Ø#ÎÑñ¿tª È1Ê”’$HvrAxŠ£h®ÿ#òÿ·WS=‰ä‘$VàTH•¨€Æs!è†Ä’î Å4Ñ 4"Q”(èmwÆ/‰·S]W Âo­w„ÏÑǃ ÌÍ‹¼Ûëg3šx3yúÖ« ©t|ì°^Ê4JdÕÞ/”§ue)#=SŽ=tÃQtÆde&~æÉ‰©««¼½l.‘ÆåØÂSx;oÎr•ºrÐÀA½Z‹ï?n`¯á½Ü láæLÐAÆÄ í›o²ñ$R¤‹HRÿ$ZÌv~’ÝUvõƒÐ“ÅÆÉFsJ+ñQyðƒM·$\<ë¶qpl»í«„(TYÛ§ðo·ñ|’Ëv‰(¨µ½ú»ìn¯ö®zÆìz¼E*s” v)ƒW W9¹ê)Ÿ@à®»0m\ѵW”ËÖÝL—EòK7Ø­ÆI®Êåk5[¬é.Kíº¡¢=.[¨2§ñå12ïIá‘.«Z@]„œÊ$ªØ3ñJq™…·•Ïp™’•xu,°y=Âkv•ZÆ[xŽšã²ŽÎõh¡,Mj^£ L?VéÑRIÎHR\Vº`ô.+ÝRáAYg2ò¬²N,¢h+[0z+«BCZ+íÄжÒ£/t¥‹Š7H“==ƒˆSÎ$œiN´-fe†^“”UH4dØ3­|¸%Óž‘éR ð% W¡þHq)D:gër*ðK2¦í’ EdYgªs’ j:;h•Â7™.1Q™ƒ$ôxe»Äç“↥V êmœÄ'±|r2Ÿh·ut)^©dîªzTT§¡NŠ)Í’Ö )v—‹²w¢ )`JAîáz¾. …Î@òµZL® WÆ’a7¦'óÒú –²Af̶2\¶¬?ˆÐÃn5)Óú˜Œ6—ã<`’ÝbgHpž>‘|X[WC: ¹0©<׺t×íçÛÏ%5Jt:UBÏG*sU”«0'öíL®-U²xÚš”‚êîÔÆÊqÙD Òäò +˜ Ò]‹zGûz2—ì>ðNLt3È©9Йu¥&7=í>“(O3éÚ¸1Û»ßÈA½:²‰«•7àdÃZ’Ùdz*`Åy|Í õl€ñf»)'cé°ôKfƒ#CX…rƒíÒ…Œˆ`[ÌI-XC²·²ÖL³* &Ì ¶X©â°,\ýÛBY›%·§Â˜ÁX Åš,†$Ž…”‚k{¨UàBØÄTƒ9…'œL/b±YX¨Aÿñ¨2a¨2tEm¬Áʳf @ Ò[I51žú" „² ø‘Ñ&–M6M$³¾ R¶%ӔĚŒi†ýŽc¿ÅTqúå«àPÈ·c`öä’/)Ì+Ÿñò®~ë¨ßâmTéèZ@ËÛ2Px ²¡î¾µCt¯Ó×l1(>\Éë¡{çõv¤Ÿ‹ŽñÇÒ ~˜hGÌFê©(`ªÝV;ÿÖÍÇð#‚·gÕ¶2Ò§U))B¦[¤Ò!T.éîu_ª­^|“Á¬Äc¡ÖçÃ=Èï_§zûZúÆÝ¾øÛî¾ú2õr¹…}³ößëõ›ÈݾöîÛìÜúú°ˆ—×\œsB_©ÆkG÷ ‰ÜÍØß§vvZß€í»µÁí`}åçî%}8D_î‚}Ñ|+«[0¢Öñ¥}õ•ó/g*«¯ðó¶9‡›æè›½{`ùÏõeËO•7»£¾s)þ縕úºÖWoŸ~;S¥ù³õol®¼×ñçôs]…¼¼ÃwâçMÓ7?w§ùí±ãõì›?í›Tâoî}ü›‰sNëv<õùçÕtújk*?µ|Æ“ú°¤ïÚ¿}f†¾ÌªvîݾBߪös~oí/‰ïÑòÌÑÏôÛÆ‡_Nk£¯–Vvþž¡9z¯ÎÛž?3æ%}¹ „Ô7ïÖ3ãZV â*r§¿©ZoíÜ]ú&ClÙga¬¾æÓôåóé«Ô]¼Ç¾áŽÞÚ‰¯Ú¿§Ó{/þ¶Ùž¾ànÞº¹1PØ\¹o½.·ŸÓû³žýöz{}Ãnóv>ؘ§/“7(¶ÞÚUú Üg’ži}‡;}ô×½#õ•“ƒæWØ o5ïë¬áÿÖ7(Ì>ÕîU}•ë êËý½“·ÿ[÷õ5"»%™½p7:ÜøqõÚw„‹ 7Ÿ?;__ñÒ¨“G¯ŒÖ{ðÉSãŸåõQs?}}b€¾É™Êƒ'ëËÇÏ>Øò }µ/|xoù—új}'®³˜Bõµ›~5»òÄUú*_v‹ýØ/‘Ë[¿ùËŸ~¡ÎÝÝôêÛ… )Íþ?=«ŒŸfåÚîáÓ £·µª¡÷ª5/Ͷ·ž¾aÚØƒ'nXW&$1þÈ‘õu^Ü™6/1“»³±V×Î3®{:7¹:¥«¾æ—ª\°šËï8òÇÀŽ•„]¡c>ÍK[§ozÑkMÓåÈ8¾íR{üŠYÏr'êÏÊq{.w}Üï|¼[8Wo@ÇÊI™Â­×V–6­!÷ù•©-ö×»%üÞòãó‹ƒ6 'LjxûÐtáÈO££>Ú°D8³uÒÆaÆ&Üùn/o}eQ&wÃÜÉçÞå¹\®°¥×sŠpdJ“×>lÎÝÜUóö½%×…Ý'vvlýÝÜ?ì“f&~ϼþñ¯íZŽŽÞ3.˜ýžpiAímöù 7¾êubcÿXáz¹/–®ÕHøÛWwGxƒ»1=4¯Í?¡Ü¥®-üV»nŸYC2¹Ý<ì·Uø£îÙ•Á†“zï.…-[ÖP¸hKóíx¥•ðM­s™ë—fq»t1뺊çNo]|xï^as­çÏFöê³ÎkÛ««Nï%Üj·qÅ'ÝwpnO([-÷¼ðüGÞ~Y(\«½£×ïŒ~^´Úº|ÒmáRµÝîÏãvꦌû|t/áÎoÑ[âWsÓÞŽÉ›þ·sû?ÃŒþí¹ï–¯ºZkàsÜ[ü´xÃÎÆÜ®I&ÈÎlúnëК …µÓÿ¨Üð=î¬þ½grÜõfo~Ð7€ÛRgν2AÂÚ¦µ_«{µºpµÕ—ù X"ÜeF™k-û@¸8}ý™^ ‰Ü­J«¬/ÿXŽ»°,ñ…§g}*ì¨]ãåk­ŽDÔœôB™žÂá]³/„¬ÄåžyÐsñÛÂîE#OÿuäîV­Ï[Ýý£wæûYS¶í9ÊÝúõþ¦ßÂåëFžOâ¦7ÙÞiTÿáJDí³.„q§«½¶­LÛÜÚÏv­®¹á¶°§bcß•_qw¬žúäSÜo1ϾYã‹.÷ôw57Þ»Å]ôyðÚ”k=… GF}6òàÓÂéåÙ/~÷ ÷ù¡qóž<8Y‡7jTä¿z©#wÊ>ùFÊ3W„[SnÖ_kêÍÝóÚP¯ü|á„ïÒ?Í[ÏÝ;<8´ïV8œ¼jWZî!·Þß}ë<ý>÷Þƒ»©ßŒÙÉÍšúIåyí…{§üûp—æsyGCŽ¥[F ×/žX:`·òº÷£æŸæŽõÓ±§wàÖ½¼Âs=žÖ›ç¬=Ïý:hÅÖî ×k}¡—×+Âů´~éið½û~R×ogq÷­Ðî“#w÷n¥ß^™ÈíÚ~öÐì¦ÂÍUwÞ_¶j¤`ž¶ëþi‘Ü_­vö~½ZáωÛÍ=øwñÅËÏ¿IÈméŸÖ{Ôdî\Åñ·+Œ®½Ûétí{áæ²*™§º5®}xd•7W^¸¼¿û™OF4®6°ëµ²#¹ó+_ªQîµ_¸ï_úkÛžû¯ ûV«¾îÛÛÂõ„¡>Çrþòºu]^oÏIáÂì5+|jžpýÒ¸w¢­‚ptñ©‡}6EqF\ÝØ¼BáÆéþQ_8ÃÝ}>4ÚúOáÖý·ƒŸëã/¬\vdòÌjazÝíVËEqW¦y×úÂ{¾°«ñ¦ƒßÕ@¸¼txÄ'[r§>}…¯ºï˜ðÒÿ<ýýM…ƒ>Üçud=·od£ï›g„ã}ç¤_‹=­÷íy홋‹fp÷N¥%Woy„»pcTȵ3m¸s{ŽmÑèÀ?úå-™Yƒ»2rÀéô*yÂ!ã«%4øAÈcÛx7÷°ÑLŸ©ç® WW7šõlÈ}aϾúc–í:,œþö›ˆoÞ® žx¦ìk`<¶øíÚõ/ï_•¿²Åea[Ròò‰kC„SãlÞ?jŽp§kƒŸo¯\#üàw|a^‹ƒÂ‘·^XøÎ}áÔÍ j¦ìårùA+^ Á”ê ‹P_(-ø}ˆàEÔÏ”ÍmZ‘¢šÀR7Ý&K²0Ë`5L¼ •~–â‚ÕÄAJzƒ¢ë{Pü…½L^¸!ë úÏ…ŸÓ ³>¨× è;¬èÈ"¡µvÐ縉¦”*Ë 7xI•X0Ç&¶X“x+®YUyɵ•›ÜHŒüx2R€¬",fïÇI­‚;×ÝRÀw†•Oý^ø.§Ú+É`7ô0l68rtt/ù;žRñðSó8w*ZR½pÑ"ăJ:a©Í`‘!c ÇƒË29"©(Ãj0'YÒÝ—ƒZé¾sŒó(K5µtšWhÇ%z†ÒŸXŽÂÁŽ×iÚ¯Eٺ!TÖ£¢Ù&RúzamK S:ïå>™ŸhYC83Q{K¦ˆÒYÉ~^:¥$qò"æ®^íÈö®ô\ɆD»Å*wv e Âý§’ é¤0M4Ãy— Gu8¥‚¦YŠë,ŸÉ’-N:Y¥Çäç1Š?…0Jm(r¹ #–çg o†—)÷ýéϸ ‘,{¾å4ÇATdÞúêoÎÝwÙÿ%îáŸá/û°©¾Ríi_÷AYï]¬ˆ.uœ»¬òwÜ–µÕ˽Öéo!eYDH´ŽÓ3‰³‚.Hæ®wXS¹ç×Üù©O]Ÿÿ^_îîË^Üwø‚×bïµ9Gs[ Ûïûá pgòÕefíþ³#;îa aׯÏ¿èÓ¾/?yu¦°ÿâTóá?n[âìÁ}R…eG;Ù>¸¿F©MJâ³-éò®Œ3PÏņíiX»»¾QûÎ7¾i7R?Ò¿â˜Þãë#[½~íúŒDý˜Ø›#uÂùgĶô_¨·ên}ËÞÙG¾¹›*n¾š»™š5ëÞº¥Š^#{>¦¤QRg%ÅŽ$>ÙVÉÍ'Óf›H"eP¾IV[&9ºáÛkt€þ!Yùd™ÓÉO¯‰’Ÿdßï›iããȤïgåãe‰ÅÇ–Ñ›W©£OŸƒ‘߃áogz$¤ä(åî“dL§öÊä̓Œ G-®ÈaÑ—‡ã£e€bgd8ãíw;üHr8 pb øx£º–¸FŸlÈ4Ù»ÍIFsJorúC]gì d-I¸JpZÜŒº² óZ_žú]ÿ.KOƒ ë:\ŽK〮þ®Œa GU·’ |ªMââE¢Ó†Šâ–uš‰}2-ÈšID0 ^¨ò÷PÙÇ#ÝõñÈÿ>YÄ}ô H\iã”à ¨äo¤Jññ†ªôM6VI|¼Á*…ãVéo¸JßxãUú&°Ùˆ%ßdC–|ãYÞ %áx£V '¶$œlÜ’o¼+ÅǹÒ7ÞЕ¾ñÆ®ô7x¥o²Ñ+•oø’o¼ñ+Å'À$oKáxC˜|“a)oKßd£˜à#ÆäoKññ2ù&Érã e’o,KáxƒYúÆÍÒ7Þp–Ûo<|xZ 'Ñ$œlHKññÆ4ù&Ôä›lTKõGÖòxC×Ò7ÙÀ&ñÉF6ù&ÚäolËéÑ·ô7º¥o¼á-÷Þø&øÈ8ùÆáR|¼!.w´1.}“ r’o”Ëão˜KùásòM6Ð¥p´‘.¥'ê$o¬Kádƒ„“vò7Ü¥ødã„“ xòM6â¥úà yò7æ%|xƒ^ú&õ$¾´aO¶ÒÈCªò~™¤”ƒ¨§“ˆïGBe)W\„è6º[„U ê2Äqo¦D.AÖÿD­YTK%Nõ¶q ò¥ÓJ§ÁHZ«ÅùŒ/é´peS–7šv£ÁdœÌKkÈVN{0r$#B#T ˆ =Qx¤*†ÞFÞ;Mu”³òɃÄní ­B=èw'£aøÀxc 5ðïØ?‰!&©Lë|Wªz¥Ñ0UºmxT9êGÙU|ýÒ’ jA>Xç€ü!-IqÆP¿‡RCØÉ.¹.U]øy$#©ïv…­®„J‚u0l…·Âßí5cí€1AŒãïš±vĘ Ç¿ÃñwGÍX;aLFãßÑø»“f¬1&»àß]ðwgÍXiLQøwþî¢kWŒ ÂÖøwküÝU3Vc‚°)þÝsš±ê1&½«9X»aL6ÿ›áïnš±vǘà*wþ=„‘V¾±ö˜ູ?þÝû÷ÖŒµÆÔ—úÝ»¾š±ö£Ê×—Ê¡òÓˆuÆ4PÑŸF¬ƒ0¦Áб;ùiÄJ÷{þ‡¿‡hƃ1 e)"ùiÄK•Æ‹ü4bǘ⽜F¬Ã0&¨2âßFì?\3Ö'0&éÙð ä4b1AHφã‘ÓˆÕ€1AHó,r±&`L ŠžK@N#ÖDŒ)Qщȫ2¶ê9%"2z1Ú„B—KŠXêw-Žc¿x?rÎi8•–Xu U‰?…!û½¥ôs(}ºr%§À´WÓ^5Lô¢Ñ²}*ÈöiE¶ŸB¶„ös#4í§Þ溯åø^Ké6t'YÁñ)EûDçŒöª$”[,7&›-Ô ³©ÚõSÖú+£îÒí/8n•îê·¼š·V©øûeš3y—ýå5@­oÔû”Ú˜‹Em:»"»‘Ôï'IKwX™.Î/ž¤Áá ±ÿzH¸ÂWjXÆC6Ã0iRc3QoB1§Áqž¤«áºèº-pKwåÝ¢¡Û¶¨wZe?Z·©ã(°Û†Û‡?Z3ÕÐ GÕ›0²G½ª8îÆ•ÐpÍAV(S8£j³8…PâJ¡¶œP7íu×M⦉j/)7%KbGé~§Â¹k°¥ s€ÃêX¨“’ÎüU·úA²tsJƒŠïXÎa¥¥%Ӣɖ¥†Œ¥†Œè±BÔíÂL׋EÝnWqKmKmKmKmKmÉwɲMTȪp¹#nˆs#ôìê~3²…o|eÓäÂõµ…†¹ÈmúJ½+k}õ L­3º÷¹×÷bÿ:¡h´±³×gk„žžVóðÂ} ý˜3þco_õX;,~×y}@ýŸöVȈã¾n¼nës«ôõ®}Þv1·´ÕÖKµ+~©¨{‚©¶k '„Œü¶nìPáÜdöAs^äîí{熹ßfîÖ/“—µñ]¤÷>¨bõò½„Ëï¾5ëB/}Ù¿Ëë–Ç­®¯Ù¾/«õ2½n዇¿0[8ÅÔúôdÿÁÜ/ÏÙÄ­ü$è›W–LÒ{1qþ¬ƒÜÁéƒ^þù M¯cÞ¶à«¡ÜùÝ>ÓúU\Ä=ÈøðfÚÊ`aõ¶çßë–Z[øcøKoýÝ5B¸h]_3;öTãô]¯ àNé´üHÔÁ6¤â—Y›ÿîNôûºrÇÜÑ ÓîùÝ;#ÿóíÚÎtçN|{í¡º6îæ¶“ª6x™;zõ…ˆwM‡¸†“_”0¹b`¤/FfÂZúB ·³gyñ­E“%p]xï Ñl0Û!?†ÞhW˜í‘j1ñ¶´VºG«@֌ƸkVuhoäZ¾ÊöF-Fþ£ïV£ïE£ï4£ï##ªxZN«ÀÕÔו©¼H/ÁGpTddU6ÖÕI­ª¾­¤¢¾•Ù‰¬¦¬åjoèqñÿwÔ eÐ*Ë^º-Æ”n‹•n‹•n‹)ùj Ý‚ò±Å6Á&,ªü½_æ\î² ?»]ïÇýñäJ¡Ç/q¹ã³¿þaÐ^îRÏ_O çò"-oìþè)áÄŠiËïoý›Ë3ïÖ˜èBnµ˜%YŸârï¾óáŸ=C¸…5²¾ŒM^ÍåUŠÿ0|ÇaóÎi×Î2ÿpy;n~æïápÏS̳{nqy ~ì¼­L3aßÝgï4ù5‚Ë O‹Û~v‹p<½ùõõé yůƒ¹k—¿ÇŒýŽ»Ýãtú7²¹Üoö>óä`îHPÍWNYZsylýÞ_5ö_øù© s£¸¼N?ÔMqY8ÓhôÐù¦M\^¼ïòoNfW:ôï¶lq:—7ðÛ#Q#Ê ·9õÄ×˸¼Œ ÝããÏ 7.ýô^ËCPþÐ}Ó~™Ã]¾ß4eBù¾\îsOÆ7º°;ÓÈÀwœËåU\ùùs³§¿äß²¸ù".÷à7WÓ^å~]o¬bxƒË«óŽ©QÞoÂžŽƒöÎh·•»öþßìæ¼˜ásÿçx.¯ƒßîZǧ»ú™3výÞ'zÂIá³®]¬r·r¹‡ݼ ÜÖ6 |Ê4ZËå~šõÓæÊ½¹c—bÊ~y—Wvm·.O ë–~¾ QÝ︼ëåoÿE¸wî¡×ùy ¹¼ÑÕ|Ø-@¸öæˆORƒús¹ÛÚ”óÞ¶”Û=ú‹I†Õãróÿ™3ð»|aza]6/ŸÍåõ˜sõÈå¹ ¾&E‚òøÏ?W;YXžæÛkí¢:\^G{ל¸o„Ó+æeÄÆÎâr4úW®?·eâ¯Fïãò’÷Lùi—p½K·7·®nÌåþ<óêñ+Üî¥ùI“—œõÑãŸÂm ì?äÃÅå¸Ü[§ž]3‚ã¾ìu¹ÓWQp¹÷çÖåò|¹×¾LÏíp~—ûÇ­rAoå¶žO[½?Œ·„5Õ®¯ާdpÏy5å;Ôã¯w…•–t¸òqw.÷ƒmåswTâNTNÞöӪ߹Ü'» —†ßæ.-¼wøêßÅIÉwþÅý´wU™sõÃ@úu¿þ%ØÏåu{öXƱ;¹ÊLÜÒ6?qy)«ïùfŠp=ñêªnŸýÕ<¥JÆHátßc»k·s¹}þ¹Û¹MSîÚˆ!-ŸypšËUmÕ°‹Ü©Å£BlôZ±yëW»í~éjø-ªïM0Þ«åŸ\.ì›Õ¡ó³L.¯þY¿ÿò½°¯7së–Æå¦ºÞˆÚÉ]hp+ìÀ¾3`üw[³N=aÛwúµËžy ä·ôlÕœܵÄcÿý›» >ì×:ïpÇûOŸ\gC.·[ê½Ý÷q¹–‰½¿æòº~?±ýìšÂYvQæügår„|Ó&äk.çʨwS_æò8®ÎË4áì-ùó]Îå~þew6s wôPþãgs¹WîÞïóÔ0nEË“Sgwʳì‹Ù¿Û/=«?ü*—Ûâ£7ë~±€»>ÿÒ§eV÷ãrUIûdÿÜæ#Ÿ? ê3qÍÏ“·rêµ9i?»›Ë}õ«¼Ÿ¶?źôR½­qyí¾íÖöNáÔö ã}§ê¸¼–ÿøm¿Z8ö{êÍÚÌ“€?½_¾Ýì'¸…ºš7ª.+&ÙqX™ËÛØ‘ÚÖè0a‰[¡Ã3LpU'Xz…>ùÓ b `õ=QóZ u0LÁ¿Sð·U3VÆa$þ‰¿mŲB'}Á0ò ]K_¨¯ÐZy{¦ÕlãI¼¬Å“,Ùæ$ƒOR®ÊÙdø&"ˆ'Þq†_^cÅGáÊÞÆ¸^¶’AKðr\´«$ЦöDrýOÿPáª:>ë&)SŸus¤á‚žu£YKwJ?.r‘¹NIâ-?0ˆŸ¬dyËȯy‹"× FPß?hæ?2ˆò!¤µ?"§ëRŒi9#=;)º¥ÈO#Ö „õyÁ·¹bàX¤‡FæXZzØ…N‘æXä¢W6Ã"¾‘ÊZùÞÌ[ v£9…5&³f>>-ŒŸ7wÚÞP;eë4 tŠN £`õ½Ts'©E\CØÿî¿—K'‘AÆ`è¥e9t’¢eÉÐúT ;ü æ.Þ\Cm°tkŠgŽÇu{í.^$†Ò‰5õ†p6C~kMw6)œ³ËP/;üqgVìÌ>2g«~PÙóǽ.®%þëêµÌ»ðù€)úêGr‚.­_¤[0øÕ6aaÇÁ¾È›q²/òAoJhƽ2KÞ|yˆAsäQÆq¾<„ü´Í—>d·Úó˜S4£©ïCšYÝa1éË#§ëŒ BúZ§#È%ýÂ0ò,§¥_Ôg¹0‹ Ž œÛÐkPä¥cQ ·Ùù I*7V¼ËLÙ;xfÇ€ÊßM#Iá§KJYÍäô‚¬æ!¿bZâB쌠¾çiôïãáhü{4þ~_3Öù„ô½pó‘+R"}Á02)ié uRÒ¸ -¯xÑ ØóÝèòòn´8ÚÕW¶H`9ìöd«hϬ*±”ø“­º«E)°HÆÝÎ!®Ï²Ê 4H,[‰Ä’§Üo)…¥ðß„¥o—¾þ_¾^úxéàÿíàN+ýÆa¥ï°Eà5Pãr¿\02h-m]èu‰ùÓºb `õmÔ¼‚€6;u0Œedõøä4bMØÒpë`˜†\1¬KH_0Œ¼.ÑÒ(²3­V¬H² ¦L^³q¬´ØW;´@-Eþtû¾íqUŸþZ”«ú•ÈBhPn’+Ä’Ö}€šÆ…qÁÊÔ6K[ûŠA¬ì{Æ‘­}…üŠ­ù*r `õý•fô5pµû–A×ƒ×Æðkä§ëbŒ ÂNøw'ü½X3Ö%„ñïÎø{‰f¬ßaLvÅ¿»âï“qÃ02 Ö2n8¹s­.åçÄK+¢éaå v^ŽYˆ«˜©»ß.`ˆ/üÇ-áâôÄÙƒû¤ ËŽv²}p ÒÕnÏ/ÕÕ–Â’Kuµ¥ºÚR]m©®¶TW«ÔÕ¯iDÈ„þ×DøŸŸ“óñÆâMÙà~Ð`4‘ϰ‡uäðHùgªàRAoŒkqd¥2é¶”¸Dƒ‰ÉȶêX×v¢ ‹@2[U›·®(Um”ÀYMý”€†{¬pݸõ±í]nQvŽ|¯T!ú†z ¤÷ŒíwK4è‰Uõ~fà)¼µ÷ËŽ¢&üâ¬SÔÎDC%ÑzÓÌ+| /Žù¯åñRøÿ"ÆqÉ-ã@ãõ1eèÞ>EÍ8d}­Ç³-•¤P³-#±ö#ngÜaóŒ{£¨gÜa…žq‡~Æ•÷É4Û5jÙŤ%NËþ!ƒ4ë3ŽZö‘_1™X@쌠¾?Ô¬ÿˆAzoùñÖÓˆuÆ!}ÿ؆\ŽRÔšuÒ #kÖµô…ºf½´¢€ƒ,Í’Ø,ƒÕh0'òa‰ò“EÛuÄàBÃÁfIåŽÆ¼“Ê]!>U£NW‡c—*Šb;ÜëQ%ëÑÞeÉùH‘V]lTz–Ìs Æ¢î[(."¶|Eì {­ŠUH0¹Q×_FKÚ˜cB ü¬£Ÿ:)®È¼ÑO¯áòŠú)“Äh>ƈFDØúD^ '8,–q$»¸á‹ÓŠ'þ0ÑÖ„5ôÁDyùµ µ®\èZ—Īúc–P-}ÐŽ¹W‰;PÊø\òx(õ¡Ÿ³Â}´Ñ]án~l»iOQv4\³Ë&®Ñi ×YHHuÖ wõßi>‹¢¯cͧ¹À™ê©ãõTÂcÛSñeÕ>Ę•ê©?Ý2ÀÿÎr·Hºê1·Ü…G:_‹;Nº¨ÓKös¸h’‘ü ¾À§/†KÎ|‰¡Aè?{Û³H†Øãù¶'š_}ÝÉ-×þÏtE2¿>¾ºN+5ÔSŽ»ääÇÝæ®½þ“CáEBiÛ‹²}`ªø»>î¥á@¸Ù5¥ˆì˜»îùÏ6ˆ‹¤‡Ï bÔ-Ò-CLÁv´€.þØÒØå¢ïÁáj!Eüˆ¸}邸Å-‹||»okQ³ÈÂuž—Æ®»¡`‘GÜÒ×µ£W$=ô¸îèù ÷ìþV#§Ü®Fþ³'‹dx=žO¢~¹Z~Ø-‡ø®>*’|L¯>‚Õ†—kÖÇMP×mŸdᎌ%µ—Ð=¢EÙK1ªl\±ÝêÔU1N¬œñ¨«É ž÷»]ùÿgæ‘EBQ«y$ê™[ÿ“îwŒìõ>Æï­¢dÔ;a…œ|ý’r¨©>g÷ø µ}î†Úüx‘ŒµkE9Öþƒ—¿FÓ†+ DäRwxi±¤ˆ1J’ áUÙ æ1Ž6„W‘Œ_8»52Âä–AZgOíÃL£)M}_-la$¬×dø!}Aó5ä4bÍŘ ìŠwÅß¹…ŪŒ­jZHºˆadÓBM]¤~A3¥ì0;k0'±ÃÙd«%…¾F²™6øþÀH6›7¦¤JÛ²¡.ŸâÔù|ï@ŠöÆE”a,¯‘¬¨ô%Žª.bJºÂ8RÕE䧪ü(¾í–”`Nm(؆ú¾¨yÐ_ÂÂxü;_ÒŒõ2Æáü{þ¾\,¤Dú…&%Mý¢JJ0) ·[Eê ¢h“›Å‹_X’1-ñI¬•·“2 &wv¹•/–‡½ ½‰ßø> 4Zs<Ì"ò ¬tDQâ¨ð,¦¼ Œ#žE~Ú¨°@ʃØ#(A}ŸÕL#ç0]@އãïsš±žÇ˜ ì„wÂßç‹…òH_0ŒLyšúB•òªbÊC#R$>êæÀ‚.krX¼ø9Û¼;?N£r¤Ô%ŽhN2èÝÜ3¸ƒX O"¿b"ˆ½%[Rß'5ïSxHŸRÍ)ä4b=1AØÿn‹¿O Ѿ ‰FS_ÑTT‡ôRÎáB´G™nÈj%rŽ1hŠ9Á8N7Ç_,¥FÆðfƒÉž#ÇqKU0gŽ‚õ}Lóøÿy{àß=ð÷Ÿš±ǘ ŒÁ¿cð÷ñb¡*ÒO #S•¦~R¥ª`BU¡l쨑"UÅŽD‹ªaöP ¢e–dnúqj>£$;o†ò£—U’b…Ò<½›¯®þ?¼Eˆ©ôµ¨¢!žýZ”îouª¡GªCu×HA>¶‰Ö(ËíDŽ󇂈ö#¿ˆöc¢!0šúÞ¯y¸ÀCÂÎøwgü}@3Öƒ„ô5œ‘+""ýB‘¦~Q%¢F¶‰™0ðXoN±§BCfÛR Û‚¥ÛP„s]#áÈ#ÒÆÛ{ÂÓ!Ú–E$u‰#¥Ý˜|ö)Hi7ò+áÎ;Ëïç÷„ªvc*"0šúÞ­yüïÁcÂ.øwü½G3Ö½„ô„·¹b *ÒE #S•¦.R¥ª 0DÑ òµ¶¬Ñ R¦Ã_ÔÉ(·‹'i @mÞÕ< ¶ÌG¢¶(ýýÆ ÛÅ8RÛoÈO3µ¡Öô„Ä~Ã$E`4õý›fbø„4‰ýŽœF¬;1&iÛ‰\1醑ILS¿h$1ç™Ë%‰üL¨{ó³YLYü0mF—8û•ADµƒq$°_‘Ÿ6+¨ ö FPß¿jþÛð‡p$þ=oÓŒu;Æaü» þÞ^,DEú‚ad¢ÒÔªDÕEŠâòÉ=i±³)‡ †ÇFY£ ]!¸¦7é] 2Ö=RúбµQN[âˆêLH[G¢úùQý‚‰ˆÀêûÍÃ3ò¿áïÍš±nÁ˜ ¤ŸâÝ‚\1é †‘‰JS_¨U”DeCTµ}‡å(‰ñ”xû(û·8m‰#¤õ˜x61Ž„´ùÁb«Ì(û`‹yoµ0žÉƒ0ëì@}¯×L0 @ÍÈ÷“m@N#Ö„´=ÅFäŠÊHGÑT¦©£T©¬–Ñl³L&ÖÌg£ål€¼ØQÔV­ZBC¼ °¾; žÒDfròGi?3ˆºÖ1Ž”ö3òÓLiè©%O æÔ†‚m¨ïŸ5“ÀZ<ì!l‡·Ãßk5c0&ûãßýñ·P,„Eú…adÂÒÔ/ª„U–A&-|u ýÜQ>Ìg ¢#ù‰-WtÔ]¼ŽD3u—o„)It´ŠA´³†q¤£UÈO;ýé)­ÂtC`ê{•æ¿rÛ2²­Ãjä4bý c‚¦£Ÿ+:"ýÂ02iêU:ªë‚ŽÔÈHNF¿V׺¥Ç yý©B^}ÜmZ©½§éDX2Í•$šúÓÑJÆ‘¦~@~E¸œòQäAÁêûÍ#þG<Ê!Œeä„DN#Ö¥Ór ‰[Šü4b]±@Xÿ®‡¿W u’f™:5õpÁï“l†ž—³†²V>…7óVƒè“'ò6›ÁšÃ¨žˆé§œèt*J§è¤0 †QßK5wÒ2à`Øÿî¿—K'‘AÆ`è¥e9t’¢e ìa] à}$ŒÄƒ¹Pã…Œ ¶÷ÿí­a× °ô­aë¦ô­a-o ëP~oa¿ÇöUai¹SÀëÁÒɧÞ–LùÔÞvX&•ÅâdŒÁªñl”†Ç×1ˆ—}É8òµEÈOûbÉc³$˜S4£©ïEš)üsÍŒÆ0² ëçÈiÄúÆ!­Íû¹bà¤_FæšúEUkƒ c3#D¸x=)k· ³QH¹W¸G‚«’‘ì0èÍŠÉd4C”í*HêGy DmŸ1Ž”·ùý ”·SÑÔ÷BÍ4ò ¦ âßñ÷'š±~Š1AØÿ?-Ê#ýÂ02åiêUÊ‹ä!}AÚƒ´)o°²`$•Šê$3 i°k 8o_­·ÿ?^äñlb`J_äùŸz‘ÇÛ/Ÿq&)j²ê¦‘t|MI±#£JíÌÃôòãH;ó_1ÑÎrÅ@;¤/hÚÑÔª´£·gñddIa“ !¤Í³PK’%Û …Eh:a¶ñlT‹‰·¥åà)ʉht÷ ½ÖùÆ”4°ÒÌ»˜NÞSÐ̻ȯ˜hæ]L#FPßïjÝsðˆ†0–‘UäsÓˆu.Æ!=ßÌE®h†ôM3šúB]™] ÍØÀ¤â ©Ü,€T¾W#™D’¼‰¼ˆå“hÉÈqE8r˜á”åÍY±|r“Áf+vÚŽÇmÿŒJ_Yø5­ç†ÏÃP2V„—¥Ò¼I§y¨ÿ}*¾Æá"¾]%~U•ø™8ÌŸŠ_ƒúmQÔ§º 5Íü{”ß•<²)?ض“òq™Êßïç»Î‡Ô3ËCœ4z÷ M‰ÇõHSkf:{èžPøÏ¥« :Šb)›)+_¥)T62ÊÊͦûBëD•P"팦3hršÉ8NTÓ‘ß¿ x€9ES0šúž®yz™Á )Â~øw?ü=C3Ög1&铈Ï"W “醑'-Mý¢:i…;®z(3YÏt}Þ^jsþöH¡ç¥ñ@"HWâhi ¦ŸiŒ#-MA~ÿ-MÁ´C`4õ=E󨟊G:„Cðï!ø{ªf¬Ï`LÒGãŸA®h‰ô ÃÈ´¤©_Ti©µâ<¼ÅÌZ¬Æ#´iµ…Ôã•!9y4ó‹™d4¤h<(…—8b²«H`O3ŽÄ–ƒüŠi…±GP0‚úÎÑL “ñð‡p8þ=OÖŒõ)Œ Bú ÔSÈ‘¾`™À4õ…*u¢Í…à o¡ Q !«% ZeÉh¥cRd¤»[{É$;Ò¨¢Ä”%Žœ21 MbÉ)ù9ebò!0‚úÎÔ<ð³ð`ÏRù¥k6Æaþ…¿³‹…œH_0ŒLNšúB•œFÓäd4gñP9á5Içª4dû´"ÛO![Bû¹ˆ¿‘Нz+‘c›ë¾–ã{-¥ÛÐEüTüeÄ? ‚¯s|ÝAªÜ³©ßjNÐOáÒyª¥Û_p:Ý8*Ý;òoÝÔïC®ÛÞk€Z;»èŸÃÐÍHê7±ÄN§wÆïõ‹'ipøBǾA}ê _ªÍq¸¨û‘G¬ûõºKþ˜Çy’.»›ònyÄònÑÐWRÇvFkãGë+u.ê~ôë~TCݪ×ðœG§ª8\ÔýØ#Öý˜†qz̹nÒ8u*³¢¼>by•×j¯å;þˆå;®¡=?B{žxÄòžÐPÞnÊ[Ÿ:ùˆå=é¿Ëx…,ß)å#s-áK_;â÷Zý%ILIãÔ~ZøÉGÒ¬X>ð}V‘ó:ˆl%Æ;çX.œ/—'åK—㹇ñŒó0Z{™é™.5"ž†ß♤i¨ËEPk®)Šæ"ÍìÔlT>ŸjäÙ­†DW;@ÿÙÈ#›*ð÷,©Ù¹ÙüÔwè¼Þeû™m¼ÕΊÕb“ø„Ì”xc lÂ'A÷%±(óp–ÞkJ&ºÞ`åQLC:ð·I)EŒÁ!lr¦9Q´9ÝŸaHL3¤ðlP‚ÁÆa\ÉF«Í.a dm©–L¼AmB´xÇÞª“€ñ'…²3-Ð& ä ÆZx` *_R’fj0IˆÑ°CmÜ…M4˜![fF† Ö<>vX/68!gi6å„ÂB[¬I¼U¼ÊGl#)2°ø’E¸«™0O´³Á|xJx(d泃BX” §Ìhüó8¢$™‹Ïg‚8¸ŒáŽƒ¼î¹Ê¾N ò¡x¼7³Ä´ÈÝhÙÞî8n¯ÞrŠRrFr>uŽUÁH›-¢Ú,Y˜O CüN;¸%§ èmUwó™{†RíQ• ÿ,ßѯætNû«ªô¨±7·0mìîduA;ì•`ÚÆN]PûìÏ1hîÆÑ˜å9ä§yŸ]õ·Ó>¹Ÿ¢$9êû9Íì礵†0ÿÅßÏkÆúÆ!½gþr±¾ˆ1AØ•‘÷v_DN#Ö—1¦·Ç[ˆ_F~±¾±@H½\1ì Ê0ò΀¦ªåOù«]#0—ìƒ|ôý¡’½àxjW|T€ˆëòºº¼Ek äö6d8(†Rp(õý²æÁò ƒn@~Câ^A~Å0XÈ`gù6äBvå`)®;Ü^xþƒŒŸlL}¿¦¹Gf„aü»þž¥ëëÓ zr>ÃבŸF¬³1&cðïü=»XF§ †^ZÆ©+Vó?|“ô[@ãSð.âS8p™t¤Lo*¸òB*î'4ÇÅùAœ–ìç9Ôsf‡½"|ÏS”úÏ)ŒÐW&Ñ`2Åef¸4[.1rµ¤÷ “Ç%­píkaƒ+E©:`ý Èð€ ÁdLêÈ’Å­ø!XˆdhëW¸XDe‘[ò]ei}Lé|k–âî6£°fC-æ¬5s>ªÎOʰX]½šöŸ®íT×5tòá±”¡±•·ešÄ{£-¼5j3äe7è@±á,;Ø‚¯€· PQŒvoJ¦Wá4¡7£ÍÔo¥ö,€"¾dOTœ2òßÃüý°aEbS*Uc>•§~8A…7¦ªµn +îøX>´-oFgˆ1Ó[j:Çd7-•Q‹S› Ôî§JuÓBV*¾Æá"~a×ê*õK¥Ã<Zk(㻩ÿ£Î†t9ÍŒÀo¬¢^þÊ>Âñ ÔÎÀá))‚›ÚuaDQœhIÏc+ÁijÙF{*>ûiÌ5 £SÚ VÀÞäÌ'+ ŠýŸ*D¥<Ñ:OQil+Ý€ŠFR*ùÕDU²«šXÍ©é¹Þ¢²#:œd7E ¹ÀÛ.âS¦3ÄüÆ1ŽÈ½¨í ÂŽ‘0z¯ ‰O6š¥'{`þ1Z-f¨Èuî[šÕ¹ìCeaè´Æ4Û\dtÍ%¥±›)Q`‹Ô!Ø©,@‡Q¿‰È°™øVz‚…`„I¶âáåWZ*¯ŽK ·zA¦pU°Ÿ׆®Qy¼-ì‡þSÝö­ä>0›ÙÀLfëgNâ'ÉeÚæ¦·S¿•fÖtKþ¼CôäѦÒîj+¶ß¨>ØLc.`¥G§+«Lç¢G~WŒè·“´nÍ]tì·úU`”±ªÒmÅ8qÈôšdçÍ6Qðlì– ×ÂD b¡>ù»g¼z§á[Âo€µ8¤Ÿÿ-¦ûÿAZz\95~K¹^)×+IJ¯X¤Í½EÈøÞRú¹ïE˜ÃÍnø§ÇÙ¨ˆŒ®ò±(ðx+l)÷,yܳl©Øèš2ÿ" PŽÞÎ@Ë€iwÖC–Ê¥rãcÇùè\Ê÷þ3Á±xøžãƒ¯ZùÕÄåŠBeŽT<0»c*ý3ŸñÒa Ä!¯ç)†/Ý9… O¼ ¦ªœ.àÙµ;V{F‘—xyN Ǧ;¯R§Îq¹)í)Ç|£ÂÛm¼‰mˆ¿2™ß@Cº}˜]nG"¦.ZT/cŸlÈ4Ù»E{ˆÞØXÆÓ2ê6çÌ ¸ÚEwËÅœÒÖµ E¿Ò±|‡‡‡u%MâHß;éă’ѬUÁùöÔNµ‘ 18 ¹É-v£9Ù ­¾eÌ&!ÛjÈÀàì(rŽ®ßm¾»`ÙÕ×\}3ÒŸ/ 6G“ìÓ8C!ò€dÇï²V£Ù>ÎÄgñ&Tl>ó+¢÷jýòÙ%ðƒ‹i÷Ò©ñ #Œ¯ô±~ÌNÃËè[oX¯‡á‹CYè+ÜïÇPßúHá1üâÃ;áø[ßáè¼uRñ»Àâ—Çù{c§dsò±/«!É(3+ÿ¾pö7˜UªA9¢X‚JoÐ *I®Ý QôÚ¨Á‡ÄÄë?dà¸Ø^ÝzôíÕ³#;ttºq2zÈf·dd@>>ÑiãY±õ­¼ Úæ‘ž`ƒ –,>„Í6ØX+oHLå“Âå‚¢~àrF,ÏÏÞ /SîûÓŸq"?Xö|Ë9ŠŠñdA¥à­¤q-f»Õb"D’Ä[YdøÀG)$34>Ë`’…ÍfHáI‹g¬fÀ^H:oÓ5½øƒ&´²$yF.N$£K’{]¾ü[\pû Æ!o£ˆ­ÕXd´ŒŸ;Fë›mLÜŸõï0&—õŽ~t.ËT,J.¸,n§0¹-œ‚|é4sX±îՍބF,"–a”22„¬fƒI|ÿÇU±J¨7à§| 9á+QfB3ð²2À3 9Z’“m¼ÄÈl­ö‘ÙŸVù3›7¦¤ÚmŽ}>¼rmÅö4P¦©š µðàk `(þ¡d€~¦ôXÞ–áRþÏlcüÜ­ñ!Ÿ‹­mO*ýÈ"ç¿jãq©ÿ?­ÒÏÕ©»•iI¶…yDº+±6iE¢]ÓLŸíiü{º½ÿeNQdú<©Ÿ‹]•§~yK©2Ï­2¯P“{IÛý}Dû?nlXl¶dí®~†Ÿ¥l™)il¹ÔîÓqhzd÷Y”œ¹’rÀ–pÎü¿lïY*%—²ãÿ–—£þ§br%åp-#T¿‚- Ô/å*JeúVB0óâ5I-ÜŒRH“TÝ«¸ÿ’)*tÈJŠukŽŠ R¤&yṲ̈¹˜’ ÓdŒJÄ)ДŸC¢Bš¢Â¨>rºÊÕ[4Ž‚AÎWf[]ÞàêÀPŠñž8…~JÊ«?€Ä i·‚ÐúÁø…z=C'ð·Óû(ÞŠ\CeHœ˜kÿÂæ*a`m {£ßÂoè4bˆ±B†±†¡oè ‡U[í%©/F…4õ…ú É¡Vê¹d¶Æ'Áw ŒI™kËL‡wAÙ&fdsBЗ½0®uÝöq¢ÄÅ‚Üq1Éî±ec‹’6&µHaø˜¿cªB02XÿjLŒqÁ¹Êç“q2CØ›óûxŽS²«æ€¤1ÍðŠƒ±ÁwÍš8žALš!ý¡_26E®‘2$NÌu´f4†Äò `[ôBèý4b}c…° ÆÚ}C§ë8ŒÂvk;ô ]1°KÒà #½1§©‡h¿RÍÔ¥ü üÃ` ›aÈbØÃ ›`èGÓ¡ç•üøX7éT¤¯ã@óÈÊ[ä[pÑC¬Ka)ü/ #‰ ܉ Ðÿ±•¥”à ¤Ø…tR‚Bži$ñ ¦ô¯ôï¿ý£dÖzp\Ö`œdÙy^{ß¿Nõöµô»7|ñ·Ý}õeêär úf ì¿×ë7‘»}íÝ·Ù¹õõa/¯¹8焾R׎î¹›±¿Oí6ì´¾ÛwkƒÛÁúÊÏÜKúpˆ¾Üû¢ùVV¶`D­ãKûê+ç_ÎT.V_áçms7ÍÑ7{-öÀòŸêË–Ÿ:+ovG}3æRüÏq+õu­¯Þ?ýw¦Jógëߨ$\y¯ãÏéçº yy‡ïÄÏ›¦o~îNóÛcÇëÙ7Ú7©†EßÜûø7çœÖìxêóÏ«éôÕÖT~jùŒ'õaIßµûÌ }™UíÜ»}…¾UíçüÞÚ_8ߣ噣Ÿé·¿œÖF_-­ìü=Csô^·=fÌKúrA ©oÞ­gƵ¬ÄUäNSµÞÚ¹»ôM†þزÏÂX}ͦéËç5ÒW©»x}ýÿ´_µO§÷^üm³=/|Áݼt!rc °¹rßz]n?§÷ÿf=ûíõöú†Ýæí|°1O_&oPl½µ«ôA¹Ï$=Óúwúè¯'zGê+'̯°AßjÞ×YÃÿ9¬oP>˜}ªÝ«ú*×þ0Ô—û{'ÿnÿ·îëkDvK2{ànt¸ñãêµïn>v¾¾â¥Q'^­÷þà“§Æ?Ëë£æ~úúÄ}“3•NÖ—Ÿ}°åúj;^øðÞò/õÕúN\g1…êk7ýjv剫ôU¾ìû±_"—·~ó—?ý6Bœ»»éÕ·' R*šýzV?Íþʵ ÜçFokUCïUk^šmo=}ô±O<ܰ®LHbü‘#/ê뼸3m^b&wgc­®g\ötnr9tJW}Í?.U¹:a5—ßqä+ »BÇ|š—¶Nßô¢×š¦;ÊÉc²6“䈪7šëš¸,¶>ÎËâ¦Å±,¶jZ[µ.‹cò_—ÅòŠV“ZOL/>öb+¾upYF||׫ƒ”IABè§m cÒï§8­‰Ë)J!CâÄ”ռ΄´VÃpôBø F¬å1V›c¬ÍÑ7t±VÀX!¤“Óˆµ"ÆZQёӈµÆ a3Œµú†N#ÖÊk»c¬Ý‘?ôÓˆµ*ÆZ Ànk7äý4b­Ž±BI£'ÆÚùC?Xkb¬µì…±öBþÐO#ÖÚkVì§k]Œ¶k[ô ]1èpwbYå­…;¹œ°èw)¤—é(=J¼ŠÙšN¥U‰ïêù¶'x‚UÒª¾ Y5GzðÆ–Á'“|’sÒA4Zì7ÚÓìUª;†JÛÏM‘I¾ Túqn·½/÷N]w½ã-Y8uŽã%T%¶ƒêeù[Ä)Dq%—2Ø[N¥¡‹‚Ýu‘WÎãËACвs|@ç䍸»á^$~¡:Õ»;ãC5;'­¥l¡XhžÀŒÁpÚ†7.êk ß¢áŽù“áÌ5\†Ä‰¹4+Rd a,ú !ü†N#ÖDŒêúc¬ý‘¿W’f¬<Æ a=Œµúöâ‹EéCz˜adÃ-=¬nçØŽ¶s$|’ͰÀ)Í ß4NáͼÕ`‡/“Y3Ÿ¯Õ´ÚTð'EˆJb‹ÓÃºŠ¸TjuütÔ¼tQU Kd$b^ìnÞ)ß|ƒïÅjÞ)+hê©,c(öh8ƒf QŒã 4ùž?1è^\Ix™SºËX@“•î2k¦t—±t—±t—±t—ÑQR¥Ò–î2–î2j(oé.cé.ã³Ë(»…A…)CéÖpä4NX#¤!°3ú !ü†N#Ö‘ëHÖ‘ÈiÄúÆ asŒµ9ú†®&W²ZbY›£iµ¤v «å·De«Nš:å1(uŠúNe&ªCáÌx½Õ‘/•Äcœó›£6¡»uH$>,‚TAûö<¨0oÐxaO¥9 ¯ž¶ø®yeD›áBÓq”'ìücÒ¡™¾[¹¼FÕ–žn²KØÜÈ>iw—Ü«1qUcîá+·?çÏÏ.NZãïÌÝ]°¥AÀkí¹3¿ùñÒÛs…_†7ØÞ½’p©b›Ÿ…YõaÈÓ æ0ÂÏ–etØqFØÕª×õK#!/|Påç÷™¸‹Çš48Þû¾ðëF|¯çŽXïoyÎ^‰»Þgï·K;­rû‡<÷Bj—÷Eä4[ý¹MïWy¥VÚ.áÌö± Ë'Mâ.eVŸôÄ÷Ó„uÕ*ÿC/œàù~m°^8>øç}Ë&5çö½Ôånjµܽ:µRæ|=C8÷õ‘ª­„·¹“ÕëV-÷áLîú+O5êÊ>)Üzg܉_å¶-x±»N¸¾è¯—}”Ç}óÂÎeÝ ÷‡î•ŒþÕâîr»ó6v¯.ü¶xñ†eß{êvøë'!J¸±{͈òkzr{êuÜ[©ñ.½WÕ_æWí:J¸÷éÑîݦ6܉^œ×¿³°§ÝËwÆ6ÙÅÝ>óJÛ‡ om¯ýBÛE¸uá¶K^^ÇÝY™;3w£p¿î¨i'.—w ¸Ü`ü`a÷ÔI{Þžö.·? ÿÌj© ½Gößÿwë—©Çkމ¶¯H]v?D¿Žñ;zåïmQÂîèç¶ôú—»ýã'ö7Ï{ÐuzÏ]Œp"±å©k1s…+Ÿ¥øLªqŽ[ºnAÖ»¦ øæÉ[bS¹ù#¦l_Ír½~þË·Ù¡ÜÙMÓÇíÛ°\Ø4¸gÆô*zaÓsM²Òž/¼»¹áÂí@¿¶±íû¼êá`½§ÿ~òÀ%áÇ*»V¬™«çN·¿·ùðÕžÂ*!‡,øœ»¹õjù'ÜÓ†ò8ýkÛËÌŸ®Ó7ÞóiÏÁ»Vè_MZq»úr}óÛ~[^w÷÷ÅÏ– ­u@ß24µÙ èÞúJ[Þ›6¯_ w³öÕcï·ê¡¯1eÀ“½žê®¯¶¬‘?uŸÞ«Våšs[Îԇ䮟‘`X¦¯V½r§fö·õUìðþÌgš¾Ùökž¾ï«¯úÉó?Ð7›‘4sà¢Iú†SÙöÚ•¶´¼añ9*œkÕ~áÁ¿¯ w{ïB›»3õM¾ÿC×ýõA/èÍ@.¢Åú²¿–õýã·H½ßùõ¾hÖû«ûÉν«¹kü²‡å~šÆ=L3ZÚÜé©o|1øËfìÔ× lñi˜®¾¾ò©¢»¶ÖûL{½s«^ ¹¼ú/Ž9ù['½ßë¶Oî<š[ÓÄW¶Êëô•^Þ¹¨NÊ·ú íXÿ#w}UESUf­¾YÏ:W¶ð:î¼á;tÝßÓWyiÞJ¯“õ¡Ö©˜Ýð¼¾ÑGw»5ÉøD_%£Ux}K¸­?~Õ ¬Ñ:}­¨&;×Ö¿©g*—‹ÿôî“Â‰Ó•×Æ]ª/ßoèìQãé+ìÙüùs×õkôË?¸ßKß4öZÞÉ» õ5¾]ýFêä“úêÇ…ûæËô•?x§õ½¾vã¯~ký¶è÷‡»²¸üj“[Þýc›>xó³Lj¸pú·_Þvî¢> þå–D³ÜÁï/mý£S5îîà[Íô<¦gýÎ?øáÙ¯ÖùŸ¬\>³éB}Þy¥K«±zŸ§{—™¸=žûqúøö¿&§¯Õ´Í°cër·?82dþF3w¥BSóeÍúÆ–3u&´ÝQbxTƒG÷z>#¿ÿÐBÚëH¾ÈÛuoà™íœý\ÌrþÉkz¦ o%=Ìgt³ÑT #Óµ°òZíü[7Ãè©ÉQ°Ò}àŒð>t­[¤2UÁæø”ýË|ùž<öÆXé)¬ÒSX%â–8…o»Ô¿bֳ܉ú³²GÜžË]7äûïÎÕбrR¦p뵕å‡MkÈ}~ej‹ýõn ¿·üøüâ MÂÉq#"Þ>4]8òÓè¨6,Îl´q˜± w¾ÛË[_Y”ÉÝ0wò¹wy.—+l©Åõœ"™Ò䵇s7wÕ¼}oÉua÷‰[÷#÷û䃙‰ßs'¯ük»–ã…£÷Œ fG¿'\ZP»G›}~¯zØØ?V¸^î‹e£k5þöÕÇÝÞànLÍkóO(wiA£kÇE ¿Õ®ÛgÖLnwÏûmþ¨{ve°á¤Þû…KaË–5.ÚÒ|;^i%|Së\æú¥YÜ.]̺î£â¹Ó[Þ»WØ\ëù³‘½ú¬óÚöjǪÓ{ ·Úm\ñI÷ÜÛÊVË=/<ÿ‘·_Ç_ ×jïèõûc„Ÿ­¶.Ÿt[¸T­C·û3¸º)ã>ÝK¸ó[ôß–øÕÜÁ´·cò¦ÀíÜþÏ0£{î»å«®Öø÷Ö?-Þ°³1·kR§„I'ò„3›¾Û:´æBaíô?*÷|;«oÆ™ƒwýƒÙ›ô à6¤Ô™s¯L°¶ií×ê^­.\mõeþ_–w™QæZË>.N_¦WB"w«Ò*ëË?–ã.,K|áéYŸ ;j×xùÚ_«„#5'½P¦§px×ì ¡+q¹çcô\ü¶°{ÑÈÓù…»UëóVwÿèÁù~Ö”m{Žr·~½ÿƒéw£pùúÆ„‘瓸éM¶wÕ?G¸Qûì„ aÜéj¯m+Óv·ö³]«kn¸-ì©ØØwå×AÜÝ«§>yç÷[̳oÖø"‚Ë=ý]Í÷nq}¼6åZOá‘QŸ<ø´pzyDö‹ß}Ã}~hܼ'N–Æáù¯^êȲO¾‘òÌáÖ”›õךzs÷¼öÔ+?_8á»ôÏFóÖs÷í»€'¯Ú•–;GÈ­÷wß:O¿Ï½÷ànê7cvróƒ¦~Ry^{áÞ)ÿ>Ü¥ù\ÞÑcé–QÂõ‹'Ö…Å퟼îý¨ù§¹ã_ýtìé]¸õ_/¯ð\ç„µÆæ9kOÇs¿Z±õð†kÂõÚc_èåõŠpñÇ+­_z|゚ÔõÛYÜß}+´û$ÀÈݽ[é÷†W&r»v†Ÿ=4»©psÕ÷—­)˜§íºÿAZ$÷W«½_¯ÖCøsâÁvs>Ç]|ñÅò3Çor[ú§õ5™;WqDüí #„kïv:]ûžA¸¹¬Jæ©nÍ…kYåÍ•.ïï~æ“M„«Mìz­ìHîüÊ—j”{íîû—þÚ¶çþk¾•ê¯ûö¶p=a¨Ï±œ„¼n]—×ÛsR¸0{ÍÊŸš'\¿4îh« ]|êaŸMQÜŸW76¯PE¸qºÔÆÎpwŸ¶þÓG¸uÿíàçúø +—™<³Z˜^w»ÕòÀEQÜ•iÞµ¾ðž/ìj¼éà÷_5./ñÉ֣ܩO_á«î;&¼ôÅ?OÿGSáàƒ÷yYÏíÙÅèûæáxß9é×bOë}{^{æâ¢ܽSiÉÕ[á.ÜríLîÜžc[g4zð~yKfÖ஌p:½Jžp`Èøj ~òØÆ6ÞÍ=l4Ógê¹ëÂÕÕf=r_س¯þ˜e» §¿ý&bÅ›w„kƒ'ž)û-~»výË;Â_ãWå¯lqYØ–”¼|âÚáÔø›÷š#ÜéÚàçÛ+×?ø_˜×â pä­Ö¾s_8usÆ‚š){¹\~ЊWF`ñ%†ZÆät:o‡Î×Cçç¡ó÷Ðxæ ì&]ªè#›sa˪Iá‘òÏ(œ‚䤥²x¨[†DGIe¬&ãQ2Lóea?–òQ5Ð.ü`¹žñõAýÅØiD¦+|½ÄøÞGÃUXžïq})±7ã0:aØJFù­rö“qò˜¦¯·¦ÛÜJå×j =ôYl”l õ©y”‘r¬ñ¤ì8îÏÊ.q™}m!›¥ˆ8ꋚ¢]à0Ç%B™†pĸXÓ&ì†ðd«!ÿ³$ãF€c½ªX=¤ ŽaJg—GŸ]tëȰ!†{"ô’H=šühM~´!?Ú’íÈö®ÔîɆD»Å*õ¨ó»¿˜ 3Sl• úÙaR6¸´±Lä3ì!n˜‰zŽû¢Q„ -þåç9B¥¿üÓo”Òs7‚’]ÉûQøaöŒrc;$p˾}ý‹VöpWƒÆUo³r©°ØÐò”uP9î´ýò›nŠÒAÒ{ë«§}r®úí.ÿËS{/ßÏÓWÒuŠ{åÕï]¯w­ËÄÞ£†Ÿæ¶Ï8pê@-î·úÓÛ÷\SضxïþQÏ×áÆd½ûŒa´pqù6ápwõâÉàÍÍvpgjìÖ‡\âίøþÍÏ>çn^Útôø71ÂÅ[‡ò^ïyQ8ûÆúëûÆà6;öf«5„[µ6}tööáÏ+ºZݦîs7}”°·jû¹mÓ7qÎîëóòÂÍ2ê<²DøÝrnטÞ€xüþð…­¬Â¡ÝIq-3…u³l[¾ù,‚»Ó¯_ÜWMP}6‘^¤ƒõ Ô÷™0í—ê>ßèë¤eÇ|¾¬»>æý¥ëë½ÕRm­S牘Ãúa“:õùá|Â3b?ø/ÔO|niWN7‚|syoíí8û ÀtÎ.óÉ8pAÑù’æ-i ⾦¤Ø‘äÝ›‹gÚlI¤ *À7ÉjËL'±Ä³)x¸%ñY„ÛŒ)é)¤Œø)¿É- W1ØAÖïb­…G!ÿ “G›\›rd(&?ÌäG)‘9üôš(ùÙSIM2m| ü¬|¼,®øØ2zó*uôé3pÐ ò{0üíLÕDþñN”r÷I2¦Ë}º_e1ØjQ¼_dýpT´φ趸=‚·XΆø¥ìVã$ªÙG=Òëaáhˆn+^$GC†«øKÍàâE¢êZjq F÷«Ä°×èhn›ÛîùØvßö¢î¾‘…ë>½pÇ!u;È !§!K4I y\ü©zýVàZâÁ¨|Œ¢nüš¡š‡Ó“aðoþ&2¿ï¿ü›Èüÿòoq± \Ùù7†`_Wø—WdÐЭü/ÿ®Â !§Ú¿üÚ"C“©šÿîoHÛ; =ƒeøÇ;{epŸTÄe…é  ­µ0è¡°dËZ0èi„à¢dÍÝAælƒlñ¡Ýx_ààã ƒq~ñÀAí44ƒw›n„Æ`FàLÀY€ƒ| šÛÂ9÷)à¦7¸™À½ÜËÀ½ÜÀ½Ü»À½Ü|à>n!pŸ÷p_·¸ï[ Ü àV÷3pë€ÛÜfà~np;ÛÜ~àþîpw¸3ÀîpW‘'Â6+)p›Å MëWùŒ£¦µ–ÓßùG”ëÑ®´vý£ëm]ÿhçúG{• sM¬§nžÃ¾ sQ$ÀúŽ»ÛUÜò8.%à¨a\USáÁv¿GÄ<—ì K;sÙ)Æ;u’?Ù9&;wÞI&;y’?ÞY–vö¼ÓLvú¤ødçïüIþd'šì¼3-í ²Sw ¥|ñε¼sˆýÉN6ÞI”üÉÎ6ÙY”òÅ;Ýd§‘ÄÇ;ßÒÎ#‰OvÂñN¤ïŒK;“ÄJ Ù9Ç;—’?ÙIÇ;™’¿´³Žw6‰?Þi—v:‰?Ùy';ŸRûàx¼*ù“y¼3*áÁ;õÒN)‰wîÉΩïäK;©ØŸìì“U)>Ùé';­ÄŸìüãW)_l @vb%b€wf%<ØR€ìÔÉrïÜÊãYH;¹?¶,vvI|li@vz%by€w~%b‰€w‚å~G– dgXÊ—X*àb)>¶\ ;ÇR|lÉ í$Kx°eÞY–ü±¥ƒ´ÓLü‰åÞy–Û[Bàh™N±eÞ™–ü±¥„´SMðË ¼s-ó%dIAv²%bYAv¶%üÈÒ‚ìtKþÄòï|Kþăì„b™wÆ¥|±¥Ù)—ü±å†´sNð`Ki'øcËigøK¼Ó.ó+lùAvÞI|b ‚wâår"˲3/ùcKi§^Š,GÈν„[’|)>±,Á;ûR|liBvúezD–'ÒÎ?ñÇ–(Ä@ƒ-Sˆe€[ªKÉ[®Ë¹Ý% ±$ü‰e ¶,ò%–.ØÒ@òÇ–/’åÁƒ-adK²“M¿¸ç´h/“”Òc¥krZ§û‘Py©@´þ®5 ¾öTÞnp¡K(æ{kŠB»E¿)úÈz„€ð°®¸=œÂÜÜ]ãK§)äãyD'½Xíø{¡î°ñà>P+ŸÔ…ÿ'§â™6 º<§¬ÁH ˆþ…¾¨…EPK^£Õí¥~ï£~ï§~o”£ƒrø·ÛUu©šÀ—œ")I}·+lM$¬pPÃVøw+üÝ^3Ö„Áøw0þî kGŒ Âpü;wÔŒµÆa4þ¿;iÆJ#£_ö¿;kÆJcŠÂ¿£ðwÍX»bL¶Æ¿[ãﮚ±r„Mñï¦ø›ÓŒU1éXõÈiÄÚ c‚°þÝ wÓŒµ;Æï‚Áþ=5cí…1õf®žý{kÆÚcêKýîƒ]_ÍXûQåëKåÐùiÄ:c¨hÈO#ÖAÓ`ÅØ„ü4b¥û=ÿŽÃßC4cÁ˜†2Žƒü4b¥ÊGcE~±ÆcLñŠÞŠGN#ÖaÜ­5âßFì?\3Ö'0&éÙð ä4b1AHφã‘ÓˆÕ€1AHó,r±&`L ŠžK@N#V|]žéHD®pX•±ÕŽBKòÃHG¡5É{ÿé=#øx3’5±ß[J?‡Ò§+e L{U0íUÃD¯ÿ\!Û§‚lŸVdû)dKh?ñ7RñGÓ~êm®ûZŽïµ”nCñwRñ—yÿ€ þ½Îñu©rϦ~÷SÖú+³»I·¿àtºqTºwäߺ?¨ß‡\·½×µvvÑ?‡= 7—g ôÎø½~ñ$ _èØ7¨O]á«@µã!u?òˆu?¢^ww‡8¦Áqž¤Ë[±¼[4ô•”ƱɥDÒWê8\Ôýè#Öý¨†ºU¯;á94NUq¸¨û±G¬û1 ãô˜sݤqêTfEyÿ|Äòþé¿Ëx…,ßñG,ßq íyüÚóÄ#–÷„†òžpSÞ‚øÔÉG,ïIû_ŠWÈòrQ>2×¾ôµ#~ét‰$‰)iœšÃO+ã¿3ù”eø>«ÈîÀŸGaôÕ=ºsŽåR=™ò5Ugi'ßÏíE`iÔÚ‹ÈL穲zí£ÛÒE;_ Ó«à½èf \rƒ÷’‹þIã¥ÒyÔŽ4!ãP”A¾™m£uk9Ü>ü±µ¾L…‰-¦ØÎ!.m„½å…Ú> Ê~7Ï¥rõz¬rC­DvÍïEÙ5ðÁôQjOÇ:,•:)I!-¸Å­9HˆNÑx®”šÚ–šÚ–šÚ–šÚ–šÚ–šÚ–šÚ–šÚ–šÚ–šÚ¢ø¥¦¶È¿ÔÔå[jj‹â—šÚ"<ÿŽ©-Z¦^…hà4ßW0pxÃÕã›p?vjºÊúöUa7Û÷Ó´=îwvánWµ[ï¦îl+lŸs (£ê }@ÏšÛ¬£¸mŸý}}v…_„MSV•[â÷@0€™:Ãÿ· ë¤Šÿê*üvíp¥ë÷6èúô þñÅÜŒOî„zͪ/ì\|߯g«ƒú€aµ6õ ÿˆ[?||¯O¾z^XÍîi³!{š> ¿éøS^'¹Mcæyw²°±É¢Q»2šêÚU­rõ“Ñ3õ:Áçöðü—¹­oÆÅ|=}wöÓ…Ÿ­øñO.Ÿ­uç¹Íõ¸çÜÙ´%.Œ[_fnŸÏúmN›;ŸN=uAïç«»<ìֻ™õ­–þQþnç ³ïæçé½½új“\w©RÏÛa;ŸÖ}ŘüݽÿºÞ·noß(Ü©ôÚÇkåöXðÛì–Û¹«¢>YõÝá×ü[7ž_Ïífö½±ñÙïõe§=!¡!w÷é2m6…Làv}åÛ3ëýfG¿ñRÃrܾ9Þ_œž<‚û}gãØ'*öÖ{üq×Egû ׯÞ;znyEaÿ¢c§{]½¦gäw|yÓ24êº(ÅxoF¡þb$Ø>·Ï;4¤'$k=ص¢ÔƒÁž¥6)œ2Ìß1Ç1ÔM§Üj*‡=Ö=t¥¨5•à ¯©¦QS™KVhÞúœÜ†Y»Ÿ Ö_¿¾YõgŽê'F>ïÕªÖ†¬æ˜îîý“ß‘u2Ï÷±M´Ôh˜ÏŸ9>Ô+@s]¨[¨×`$}ƒvsü|xYßÿíý¶ò-¾Ó×÷}«y5ÿ½úa횯ÊÙ•¢oÿî‚Ï­­¬ï±óÇ™ÛÇ Ð÷O?zéÐÖë*Ý<¾©Êyã:¦3Ƽlš~Píá«+dô[W-ªzǬÁ‡õæ]Ø1«ÕV}Ì¢¥ÆþßéÃc¼É¼£ïÍ­œpìµ}ß•±]÷ö°ë#W~6æÄUúÈÉ7û˜_=¨ï~²KÍàaúPsÞ¼]s«ëƒ>þ–9tf‰\7Ø«z­ìZ¼y­Ä±k¨Z†,ú=Æ‘]c•³6v] ‹†Ø#(A}¿«™™Îa…0–‘¿çhÆ:c‚>=4¹b`Ѥ/FfÑZúÂÅ“Ýölc"/>Øm²¤ž ïê5š f;äÖÐÛ–a°Úx¶GªÅÄÛÒrXéK㾩ƸUb ×Ôö]#ùÏ‹‚:ÆñêQå¾%ÙOTî+’ý>å¾ÙSîËUÄÍC Ù7ƒ®*㼯Eö›\í;Õ¦ê@öžüyÿ©<#ïAUeä}(˜ŽìE5däý(HdOª%#íK©îËÔRÙ—QöÀzG8íŸã}s²®Ü?/_´ñ‹Uot«Ô¼¡Ô¼¡Ô¼¡Ô¼¡Ô¼¡èÌ -¡&_8tíç#ܬ“Ë–$,ÈÎ>3#áØ;Üø]·+iàŽ4©¦ûw`bxtúݹk}¢7ÜßžÆ]ôw·f… —‡¼r>øUîvã,óêJç„óí&—ou¨—» CKáÐ\îÆ„)– 7:ïIÚt¼°÷©£åïø4ãnZX®Å•Ö·­™“oTâòâ~²×úáwîú¡‘η„­ÃNϨ:¯·°«|f¥3ßîã®[íïÜò™,É»<²¹ñáÔ¥S5ÞXÀÝø:ï­O´ì´£Þ îõ÷Ÿ[»fMwãÊ©M#»ÔNý=ºz¤× nvÝ>£â÷4ä®ùOlöäíŠÜ…±•?,{;FÈ™þÖ_5ãntøêííí}¹Ü×[=÷åŠñÜ™i‹‚N^_É]»6ÿøC—PwÖÒ—¿În]Ø­ÅÄáÜÍR£/]j½hg­fܶ«¯üš0Š»þ$» [™ÜõÙó·]˸½Ýª¾õ]•ÜÏzßž9ª¦°ë·&§'%ná–M)Óëɤ÷¹ÜcÇÅü–û{å„{§êt~˜òê3åò¹ëëÆ-jÛ½wüJ܆؉¹µ¿Dé—î\Á]oËe4‘'ˆ :­›{M8³½ÊÊgÆr7¼½šU­7Q8·¢çS ¶Xáx·§Æ¦×Ï]¿÷m‹7rŒ{kÝráì×oõú“‘»ýlÀœ™) „뾿7ݸ‡»¶vȳ/ iÁݾ7ýPðO:á¯è/fw˜òwµÉLÿqƒjs×›ž‹ú¦z[.コ‡|ý¹MǺwã!¿yTÖ¯c¸Koç‡O*œÿçþs‡×ân$}vwUŠ]Ø–µiÆÜÕ „„WrçÞÎÝ<þùèß_ìÍm|ñëK)Oõç®gþ¹áH_îúÕØŸNp„}MVÓvBaÏŒ}o_iò.—g8øô{½WJÄ‹?ëÅ/·bTƒ?–s××ý6ô÷g„³±Ïã;ñå±g¸3OüºÌ{ßHáü݀¿算Ùö™é FXõÃÝ-&ÞN}ýó´àÆÜÍ—ÒŸú®ùM!övn\)œ¸2ô»†»r7ÆÞH«Ûk…pýå+/îªè%œ\éßàÖƒ¹+smï¾q”ÛS#Ã'ÿ÷UÜÑ?r®´H|‘»ÑÅÚkàâ§„W//ýjo«‘Ügñ^U=•»ñë›ÛVV.mÙ(¶ßáרÁ3{¯™Àåm¿Ó¹åîÕ§÷ÿú}׌¾ÂÙÆ[om´Ôá®/mvd«-Q8»ëyÝÌAÍ…Ó›ºï1‰äòv58ôðx#nw@«u}¯Ž˜7q¾ÏÜ^ie–ìj.Üü!öàGçj gíüô_«p×ët®8ÿTî ßˆ¨úO »3>9»ã¯iܧۛÖ/íÊý:vOLßào¸=£Çl_To——9‹é­ïÇ­{óá“¿ütX8w÷ZùËþ?s·ê|•˜úÕbáû?Û¥µý½5wåýNs›-0py«¯«¸à·÷ïW*¿÷õpáâÌj»ssËs7Öÿ<¤í¶I©UŸÒÇN—{þÒc¹ÛO­9|øæaç©EÁ†r­¸»å¿7ôžú7wãMæ“÷[µàN~‘å߆µp'ã·aä).ïÙƒCL©sy}te«&Õ6.˜°t=ó h·äÔšÍB¸-ñÓ¾{ûʉ?þ±§U.w³¢½ÏOïÖ64]±/¸çîÀ× îÌüe6w3Ìoå†À—„K¯ÚG;x Ï´ßt9»9à©>yb‚pë+‘Ûßz[ø-ôé·_ŸÇÝœ2iÂØm Âù½Ó“çEÎá¶þlo½Ü¾ËóéóI÷ó¹?MÿÜüA#a¯oʨ“6s·6;^ïswÒúáÅ CrëË~wÝÂÝú*­gû©ÿ{[ævO{­#—7ò+{Í—^æn.ñ:úçGM„#Ë?ß³3ËûsxM“ߎ7¸›ïöx߯ÚTáHÃÈ!/ý¸œ;²>"â“÷_æòºœÿ5åöYîZÕ-#º´üJØÏÖ1Û&p7?cÌ€2k…½æ]7Ï®]Âìô`Ç¢o¸¼ÖÃCVlÿ™»±`Q¥Uã/Ûõ/›œú(ÿ'.7ŸËYÏöq(Z8ýA`Í©óÚƒöyý­‘ ®r׿sAÖ!îÆÐß¾ÿCîúé¿ñzŒpþÛ7¾pr–pªj£)ïÕ¶r×Wÿrîî½o/¦Ü7TØ|6çr?Ð.±;ûTþ¨’paêíæMR㄃×Ê [Âôæò‚7ùü:û7îtËI!#~ÿ@8•>¤¦ù·ÛÜßߟûJ$÷Ãヌzá>[ÏHåòø_Þû¢ÃSÂ/CNdÎñ©põ3¯JóÞ|£ÅÐuFmàn§lìøî•a]¹²ê{›¸ë5[Ö}ñ£kÜÎòåkU¨¿]8ðD`ù/¯|Ê]‹‘»m%—ûÍÐ6?¬-\.7x¬oÕ߸뾯ýVàmîÜŶgNŸ]>³»ï©¸¶ÕüK€œÝUnÉbŸÝ®M£øo÷nàn”Íoݬê·Â‰=¾ôÂaá`ÙÏç|qEÏÝL=:¦é ½ðF+¾Ââ´ÜéG§®Ó¥ÓRŽ¡WîºÛ•ŽºØ‘%Oå8‘AZ ¸·F«'"¿bR9B쌠¾'jVBQ·†)øw þ¶jÆjØ ŒÄ¿#ñ·­XTޤ/FV9jé u•ã@+oÏ´šm¢v1‰7ÛÀÿ–ls’ÁÎ')ÕŒl2p0^²qŸÆ''ó‰v›a€/@Ùy«qÒCÞq©‡D ‘»ÒVó˜ÿ¡wÀ«:¾!"m89¿ÃìHä½ÃLosôqÇq<º>NfK%‰ùüÀ †³’qd>? ¿"d>>Š\#(A}ÿ ™MüÈ Ö!½ßñ#r±.Ř–cHÜRä§ë ŒÂzøw=ü½¢XXéa†‘Yš–v±‹B³4ò&›a1ÂG¹BY+ŸÂ›y«Án4§°ÆdÖÌ'ò6›ÁšÃ¨n«] â4 tŠN £`õ½Ts'-c²Âþøwü½¬X:‰ 2C/-ƒÌ¡“-‹ç¦?†u©v<”K9*Ì]|Z¤†22B8éÖ+3âñ5A¸K…‰ýlŒÂ è¤ÌàdÑx¶ Q®)ÿ¸3+vf™³U?¨ìùã^×ÿuõZæ]ø|À}õ#9A—Ö/ÒÇ-üê?›°4ä`DIö'Òú»¥u¯Ì’7_bÐy”qœ/!?mó¥Oa̹`NÑŒ¦¾ifu‡Äp ¤ï-<ŒœF¬G0&é' W ”ô Ãȳœ–~QŸåÂ,V08R,pn³ÌI–t–äPL·Ùù Il7¦$ó¿Õ$sü­nÚ…ŠÛM#á' KÍÃ”ó‚Šæ!¿bZòB쌠¾çiãïãq áhü{4þ~_3Öù„ô µó‘+Ê!}Á02åhé uÊÑhe#¯€ÑЏ@s›{jÄD‰"‡ÝÞ';j¤ Y¤äß'rµ(ExŸˆØÎ!®ï‘hE¶Y$O¹ÁW Ká¿ É9qé\89ŽÏ}“sÞä\·tŽ›œÛÆç´¥sÙø¶tîšœ³&çªñ9jéÜ4>'MÎEKç É¹géœ3:×,c&ç–É9e|.™œC&çŽÉ9cé\19GŒÏ Kç„ñ¹`é0>÷KÎù’s½Ò9^rnŸÓ•Îåâs¸äÜ­tΟ«•ÎÑ’s³äœ,>+ƒÅç^¥s®ø\«tŽ•œ[%çTñ¹Tr•œ;%çL¥s¥ä)97ŠÏ‰’s¡ä(9÷)óÄç:É9Nrn“œÓ$ç2É9LrîR:gIÎUâs”äܤt?¾@ºß7 Ý/€ï ÷H÷ûð}òùtÞ_:ßOÎó“óûø¼¾t>ŸÇ'çïÉy{é|=9OOÎÏãóòä|¼tŸ—λÿ{o É‘•Ï¡‘4-­vW»Ú•öŒí=zFꪮ³/4}Í©î™Ùêi/s¿,ó•U~r,óU¾±Ê/VùÄAþ°ÌVùÁ*Xåÿª|_•ß«òyƒüÝh¾n\‡¿v$¦Ã#¿þÓÃêï/Át,ŒËBmc³¢š‡Œ×z‘4½ù[Š|7­#Ü<"ôüÛ8Ú»oŠ9êŽiGÎñMòïŽø÷EÐ<Ô»8r$Ô<ó.rX¦[¾ërÐ9v ËçãÆ÷ÿŸ Ç/ ­Õä£t÷š?ôNêXJ®Ç8ÐÑ>c(øìϤ±#”+Í¡÷R¢bßvDP®ï>§bß&®ÝA*vB»k)ò·ùþm‡¦7ÑúüûOŽˆÊ#É¿ß.®rÔï”#áß'åç'å÷ï<ô¨ÿTŽ„ÏÈÏgä÷zèQ¿KŽ„Ÿ–ŸŸ–ß¿ëE¡¸jß9RÜÃì›%˜²ÂU¤‘Î?‹\£žCW!àʪ m_!+z…ì®PÎâ·BºU( Y[!X+dhUe!Žœ¬=Í'ãO¯`i÷)­Ýo¦·;~D_¹d±tØ<ËfP~ð¥DÁ0þ©Ö_>§`2.þÓàGÁ;U#«‘ï_xè³üEG„Ä„/ÉÏ—ä÷/:ô¨IŽ„£iñIüû"Põ^Ž )ÄaÞKºLVŒ3µød¶LÌò9RŽMÅä÷tG ™Ãkhz|ôìo?õüù<û«gì—û?÷_îѳ?ñÖ/œ¿på/üØwþÌÿó/~ÓÙO^ÛýÛÑøà Ÿø¾ŸcÍŸïŸý­Oü—S{ÏŸýµ7üø ?xú7Ïþú¿¸ÿ»¿ê[ÿáÙ?øÍþø/ǵ>ñ‡ÿùw¿bí/ü·¿ñƒ¿÷³ŸósgøÆ/~ÕÌú^øÃGøÿÛýÓ~é{tù o¼ð¿&?þÕÿ«÷~æuó_3Ûû᳿ñß~váÚ—þþàëûoúäÕúÂO:ÿý§>tþPYÿî³ß2ã¾ðŸÿãD{ó ÿ…|¹÷#ßñ­¥³|íÒ¥Ío{—0¥þûO½bJ}åïKáï+¦ÔWL©¯˜R_1¥¾bJÕM©pýè( ¯ÿ6ýýŒçMÒ}ŽK‰ìS—0R³ÅûƒÓJ©Ø/–Ãñ€^=àq94¿ puß/?÷õ÷·w|{Õ2<)6ý ÚÒG5RMM×±{Üä¦ÔoHœðâþšÞYÕâ‡ÔýN„Çê£:›#‹ÿa½ò1sÌ=ë.øê¾øÁ ¹°“2~&w|”7§È×#ŸOÊÏ‹ðïÛ›½Eˆ]þœ1—3þѨôȑд†V®’¦à'´'z•¤ùÇ¿àHôŸTšþ¾ßw¹ç¨æ]²Û|?œÓ YÅùX< ÉsyÊç ~,rí3wP£Ûìг‘Ó¦ñr¦j9z5ø›)Ô`ûL(eÚE|¢·ûé´Ûio6¡ìi÷y ú˜;ëî$Ÿ£Hèí3ÿá„w)±}_â„÷~÷Å~^^D÷³AZº[)_dÿ¾Bõ^¡zc¨}/Š´ù3wðýMýÚð·ˆ·ùrÝömRDƬû8Ú8ǵ û õ|éQÏ^³ è‘O#½_ß½/qzØîÕæMÞzEYOßM¯ÈG^Ò”/º_¡{Ÿ1ÁñÅ¡{qÉ´ù§‰7ºF‘Â#Ó7ÞîSô—>uäè1I‚A:úÅ‚€9uÿU¼_Åë¯ ûÝ›äz©ý5í^ÿíSGŽ—ä<~=å’Ñj} ¬Š1N´Å òÂA”§-XŽLWaú_!˜Á‹rRT‘Œ_§øÞX·CD†¨Mu»ÒÐæ8†Oï~ýlËéö\£/ $ñôw}ì}Ó÷þÖ—e}?ü;ô*–ûþýcÝ0šê4ß¿ÿþ@ß5íÁ ‹ïrKÌó˜ MÇáï=»}¶= ž}þ˾ô‹þnýè/üÎç9òÂÁêÕ_ü)øþÔ}ä_CÃþ¢ûà ,û(RÐÞµTúáMüvö—ïù?ø÷…ÿïáÐß?ù{ÿ€®ÿÚÊãôýSo¿m·ôxçcô÷ø·½á ðúÇÿæçS»ßü™Ÿ¤v?ô‹ŸOµ[Zü¼›ø÷…ßúÙ›Ôî÷þd‚Ú}ÿ[Xì¾j<Ùn©ö=eºþ§÷ŸÇ¿¹÷ôÑ/ˆÎOÝWާÚ-ÍýÝS»ÿþ§ÅžCÍOÞ7O¶[Z©ÿÈ7¯+–" ÏF‚~S¯®ãm3¤Â÷]D±Æ°S^[dWDi]bÈã°éRv«Jh‰ïÒ\Y¿zmëÆù­«ë7ç–W/ž[[dWû³gÞ""ȼÓïó6kò–á{œÑns¹Å0ySî"ûgŸ:r쇌ýØ?‡ÏÇñ]ÞsD…GÿÙ§.¿é‘ùG—Þ¹òö/ù‰ÿxqéä[îÿ³ßb,½çmƒŸ|Ë¥çÏþÑoÿí¿Å¾æ­K…Ò—~ø_ý+K¯y×}üg^hýƒÆOþ…å뿺ô6vñß½íN-½ö‹ïÿßío¸ºôào þÁ×¹l©ðMÏ=úËßsq鵟ú{6–ú7?öÕ?ÿ÷|Yãç¾ïßü§¥^õ¾üw¿rqé=G~sëßlþË¥7»ý?÷ ûì¯=<õ—Þúû?üÂÿü;‹ÿ¦÷ߟ~áw÷çÿxëk¿`iê¿ÿñÔ}Îç.±¯ú×?»ÿgiêø/Çó_ý«K÷ÿøçýÃøúcK¯ÿðk?ïû¾èÏ-Úß5ÿ·~í‹–Nþ«oü?óïÿÅÒÌcåÞ¯zïå~akõ‰_ûø·.½sv«ø?vêK¯ßyàë~ú½KGÏüØÿÚ‡þêÒƒ“ÍîWýé—ŽÜxâ5“g_}öW¿ãuoù¯ù©¥w½÷Ÿ?qá[Koü&ë ¿ïkß±ôð›¿ó§?ôÇK÷}Á¯|Ûüß9¶tü;ÿÉ{~úÿúGgÿà÷'£üщ>öÚ‹oyêþÊÒ}ßñƒìŸüÞüÒÛ—¿ö?üÙGwéäïn4Þòÿjiòwþbû/Öþøì¯~üGå|ibéµÛ“÷ÝC?´4óµß¾ûìÿùù¥·½êû¼¹¿¾ôðï}ËOÞÿÞgÿä?ð¿}ùoþéÒÊËmûèÏýý…ßÿçßÿÿ÷ Ÿø–+S_÷•ŸZzõo~à¿|ü~péø×ÿ½Ïûܿė*÷ÍßÿŠçï_zׯ½öÊÄÄ­¥Wm}Mõ?=ñ7–^ÿãÿ×7üïïûÇK¯¿øüGkzé±wÛW¾öùµôð?^n|ó½­³¿ûƒûÇÿú'ž[:õ;ÿñÝ¿õ·žá7:¯¶ïû×iibë í·èì'?¿ùÁ›yÃÒÑG¿vÇû™·,½}çsþÓ¯|ò‡>ròtkë~áK–Þô%ÿaçk[þÙ?þè£OŸù¢ÿùÂOŸy×ÿ˜þóO/½ñÿý͇ëæ÷ŸýÔâûþùÄâk^ø©éýýßÝùÈÒ»?qôÃïþñÕ>|%-õ•´ÔÏdZj°_IO}%=õ3šžJÞµ#¡.4êßc9ÿ=žóß{rþ{"ç¿÷æü÷¾œÿÞŸïߘÌy”çŽ(±PKš•?˲h߃r’ˆ¤?ö½Ÿó{..ãÅe¹ˆ v,«vLUm?r$.ô~-¡{È*ò÷èéÉc>WLõÒL>Â÷éÚêðûjÆÇÄv'þö/Õo‘kÿ*y-´+è‚+Aþ¾mÇíù–ÄHú$H¶_),!Ǿÿoè_+E@­`m=Ö×Cï25ç™»lûoôW’yjþ#†Ž( wRIëwXæÈ/á D¿k®„‰¶10ŠÛ˜%!ZüYx„“­Ó÷ÒKU“Sïÿe¡:*},׎¼Â%nŸKûˆn™8ªÓÑàÈVÕ‡šúPWfÕ‡9õa>cÛÝ –êv¤£Gbä4„oˆø˜pªÑD‡©Ì…Ⱦò‡”Çß*ýó©ß=¢ýsÏ£vgç“Æsß÷©½¾ªxòÁïþÕo=ûå¯ÿÞ/~â«E»´[z䫾ægÿÇ}õì'©ø%¿ø ï^zÍc_ðíßõõˆv[µ]à7¿æ{_û]gäyðËžü“:ß[:]=vvéHëË'?ñÌöÙß[øðk×¾}âì¯ÿ…Ïû½¯û;Ïþ¯/}æK~öçã…ß}üg~û«_ýÁ³?büû_þÙöŸ^øã[¿õøÉ/ÿñþ¿ýøÞæ'á#G?ú­ß ²×çŸøÒ?÷[ù…ÿçÁþùÿ÷AWi}å• Ý¾÷ãOz_ÿ§óùaµ´Ç¤tbél£ðÓoleéóg~ÿ;æÞ·ô¾û^ý¡ó7®,•g¾â·ï‹ZKjüÁû޽ðë‘Öë¾oYrýá?aü³êûÙ?˜¸ùê÷…ßöº»_þ¿?ò=Ú˘lLíuµÏd!ùÞxzîñ=ïyÕ¨ùáDÛõüžjÕ8·±®^›+{Ù}žÙéÁ/'é+5æI%©\;âJoQ¼&Ü„G¢»D{šÕÖº¢>ØêC_ÍÈî©GŸ® ºêI|o*{¯Ë·BÞ×?ÏSžñž ëêóüœm¢=Þ î~OÛì…~Àcÿ6^—òØÇ>õYìU8þ£ÿö[>œ½6÷Wÿëç9òÂç¾æ›—¾o'ë’Õ~è—ð÷ïœfxõ…?] ý®¾/•_ø?ôû'>ùDZßå÷¥…íG‚égÕ%{‰XÙOùLYÙ‡SÙ—…5ÏÞW‡gïØ×¤ìÔz¾M×zÆC»Þñ+Þtòì½é˜ÿ Nù…›_óå¿òÝÎÙ}Å7Üh|L~ÿâ³?ø%ÿõwÞðc³/4ò??óγ‹ÁïâûÜÙÿûǾüÏý•?õÂQå¶ùxå¶qدWfý‡ä)xHëõºýùÙ³µB¿U°LÛß/tl_X4Ñ®žÌjþZÑ|še5xËuvk#™qú ÀNù¶70š×OÕQý¶ÇëÅ’¾w*¥J]»v¬TN\™Ó®œ˜Ÿ«Wõ‹GuïY¥Á†Í—»JåBi޹4¢þ o¼n{þö6w±4´c{üyŸÛ-îiÇõ!u°ú–1@-D=žá¶#<æ¨ãv¯wà x/ø60~Àø{ÆMÇ ¾˜vðåžn„?8!‡=Þ6”ÆxŸ·kéQ4à~˰;~xîÚå.Fµ=ØmvGµ²ÍÖŽM*m¿1·Ø__½±ºõþkçžâöÕåâõ­ó…ù'áâ•ëç—VŸZÅ/[—6 V¯®¯/o%.o\½rnk¹ñþÄõs››ËÎmêׯ-_;×HÜ|îGw^^[k@O9sëç®]„ˆ¯ç–7¯ƒäqîÊ–>À¥5¸xéü¥Õå­KW¯<µª=õ«—ÉT`Ìl9.¼ Gûù!ñŠÙ©Že6[ú®zí5§ÿŽW7Y¥R,ÕØúÖ¦FÑ^³/ŠÛ6/lí™0zï'/Ùòªw×p| 8‘ܧ6nª@VÛïš-õýdÇ]ã»&nc%£ L+h:·ÇƒÞA¬ŠÜ†MøQ¤#õFíùîƒS0€ñubT*V*…YíêÂZ¡T-Ttâð€Ë[Nm›·µŸÞ°Ì×2=vA>kçÿø_kêÃr9ö©É5ÎûÆaON³ÉMÃÝ1\ø|”³§XëÔ¤áð—–Ë'OOOœd‘xÏ0-h5Ù–C=ê¿äú®ƒ!YEÇíLB/ê&f< a¯6V/­a×üS€«…Z¹4W(×ëÕÉÓp#ûGÍõ<·Ì}œÎ²ÝvùžÎt²5hF&¨:<o“žì9×ìtZûéÈœ&ÛNË頻”¡®pÓ‘ž±xŸ›£o}ÙéŠE]7@{qìa÷î™^ ÞšasÇ÷˜ÙƒåÛåø£7™¹èš7Ad§.ðý4=$Ý¥ßßeÛ´‹å$Çwáo›gÍðéq7°2‰e%f¼ü>4\ÂCU4üÖÏ eýOkÝïYm,_Ñ®½1º§fË¥ÅR÷”ÖìÉp8âO²¹ûI Rg•êbµ¶XYÓ·•j¨$oT²Ø5£µª÷=“ïYb¨¿k®é¸æ@)'¶Ì¥~<¹ìƒèzK %œ­q¯åšýA8Ø}k°ùì@R¼Óït¸ ’—z}Ç ¥Òsv×°C!ôþuãÖÁºc´£ß)‰Av_‡C ˜:¸×Ê^8±âw<:ök® µ^uz}Ó2"3¼_.†ºÇ½â©Ô8P`ø7·'pXÏ8®Z”×à‚Í\ó›°‡ÈÈ'V|Ódxî‹ÛF—ŒTüoÐ[ÎÎøž;c9Àzf@s˜iÌÀÝ9ì¦k¸)ÛàcFZtU9Éâ¯Ó…nËØ5t’uäQà<ÈêžEvˆ lÙ6¬`•zïRq¶P^ˆ_øŠ@®î˜»@Šïßå(–l=Ó:À Çó8‘B@Ä?$fPÏ„øÖ\bÁŠrð¥ëà1ŠMžq—¡Òxèoe¡P«ÍÍ%¥ñØÒ$·8V¯kÁ­&׊0ÏÈ£^F{Óö°ÐŽžsÈóA“­`¬j¹¶ÔÁËÈÎó|åB½\.fçæR´äó­û­øS­qöœiµ³ÖvŒ‡‚¡‹kœ ߨˆM®¶‰Û'2£«Mh³cŽ˜I®Ã'Ô¦±‹Ž/²Ì£&u¸  b³Z9pmÚû·;«& ´{ÌðŠ~ËkyÛ9¥uîØ aƦô¬aÅh‚D}ûkeÚÛÎ’ËÑf´”´ÝQszÖD—¨iÄ&µ ”XûíÏh×#-ùÍV±eŒœÍ¹øâlpwǵ«sL£Gãð%§wbS8ÊÑòO È÷xóŽexqÞpZ;{ŽÓ¾ý‰Ù®j dî\D༅$ÀŽÓØžîöíÏf[Œ]ôh¼%€ @ú·ÌN1ÅÞ£Ïì¢6«µ;°‘ºm©ï´º@¹-#׿¾hÜ2ŸMä2~ºsÁ‹7q0 ‘mœL±™%œŒ°XV+ ó…r©\)CLžw ûVìy(msè©ÈùD-h©}Ó¤÷k¬ëoã¼ Z¡ñòÁBïZBÚÝUÒ.*•¨†¦Ý²|4Ÿ£F»mº=E}\–¿3¤XŒÖ×o |×°Þ^a{“ÑKÜ£Jç ‹¥ŽwÕ}tSÎÉš>ªÅš>ñMij—¶—ZܵÍ#OÏvÜÞ`z¢ß4wñã4³ýÞz„§̱ JjG»ÅéKÉ+„é¡*¤J²M6)&”{`±tSÓCËÞ¥èw„¨5;fë&¥· µw¡P™eåÊbev±ZjïÁ®~çcoAí€Ií ¯!&¢CŒõÙZ‘ò86| ˆÄ-Á—)1ZôÇ«B²eRšk„pÉ„@^— ¥ºð7%i1)]…¿œk3!é„—¤ðÁ#ú00üÈ‚³×ü(x!Sü/üE±#¦8Pø“ä Lð‚ð:Pe¶æG¿cD•…g¨5- TÒš†Ôˆ $úkë]±½r&U¯ø#6h}±^Z,×RŒ;§Ð¸SG㎴ä”Kèx®TKs‹µj¦%çué–œ˜yF3ëÂZ£Yg’6Íþ¢›gX9paqI1Ñܵ™ú(ƒ QÌ1ì1÷{À,öàph×OT‹å‚ø0¡vVY÷š¾³á4}8¿«!Ò¼ˆ!aç¼I|L'G4« pUåV v¿¤[gB–L‹²ÃR#î %U”Êó…êÜììh©b«ëôŒ¸iiÝïYü â¬S ¦6(ZÔbIsÖœV­R¯굪0LÏcÐMš&.¸F×èe;í~‡Z”£6Ìé,¶T®”a:•úìélú°£ì¸ÞöŒ“tfžÖøöño€" Æ0Þfž³=ØBNæs] ®ØeÉz<ØeE¶90@%1ÈñlÛuzTê ixfK3‰ÈáΙ­î.úÀ Ïuá@1u*b·Ò”Òø"ëb­Çkñ¶·o™ƒƒÈmFH``ÏÅUån ¾€J8“g|O¦ Frl%§å 'ƒÈIüË™·€å€§Ù ¾“çò”çÃã”þœ)Ïl#ó]^fWø?(<Ë8Mw}îÜò³ç"«zúIuËÇrº„w<娼°gP_rlâ·ÓO²¾·À«ô©@OÒÄ»«±á}qre Ï±àlT$¦kMà &rš5gò°Ñ6+²eË Þl#y£ßGÒŒb÷À‘>ôèâ@ 7Xx:Ãÿ[Móÿ¾6®&$½²eù\ˆá‚®¬ÖNà!†=޽mF©Yà–‚µ /ô ޘŭiÖoyУoªÑ÷ZpÁ¦ »zÕvTom Ä;»Ã§'<Ð…LbÔ«@£(TØç3ü[Õ~œR‚ž" ÅFá<9‚ÃÁÕœÝÐ ^±;èéÓJ* ,àÂuø¸X•λ'Ù-ñ:µö¿¤92ózƒž(•â{LðºÊG„{‰FÅs.Dë,GŒ!¹ #Ž’*E?Ú3CÄ‚±„i\ì2 Ó¥raš„$V®-‚<­ôÃüÂô·èíºAu·§îýlpkÎ —¢ÕaM—£EŒá#ºm;°/½AE»þ¦-\\4ú\æ}¾/Ù ;Œ.q—ŠõÂ|ºÄ=_¨h¿ýÓ¤ø|®Ý¡8Âñ\ J¢NÔ‡ò'¬9vç¦7g¾ ã1Ùx´ɶAˆÓMµ67ÛÜÕÉ‘öq˜{Ëtââ1f€°ñ¬ia`7âéˆQ79J>B’yÖ‡Ù³Så…ùàúkW/!ׯTKs3å…2Pí¹§‹tÇKBÔáEíb!µMº¡oz]£iZ ¬’8ü2ÜÖ(ÁÆ·ž‚Q$#&'ŠýóFá „*SÝ~[â×t+­šHA&„äkoö@  …¹ÀÙAÞƒ-ÛÂȺ¶ˆ¾[¾´JwZ¹´ZNŒäZŽ ƒçú¨0€Hq€ZtqÄÈ{Ž»CË4O¬*W 1¶‰áyp×ó(µ ¬OáýÀÞ@:¿â÷@Ÿ`›ç6 åÒl¹Z­#C=‰dõ½¾Ñ>O†ÔÞî@XT…†Oý0b¬"WÓ,„ñË-Øl£Ã‰†+kí*0‹ýiP Ú›ç6¦ÉjB ÛÁ ¤0¸‘åtÌÁô„ã¶MX %}íØæd:·g¸;mgÏž¦}ƒAaR̾Ï÷½ƒ™ *z‚FÖ/ΫÅDKŠ˜)C½=¤«¬\]¬VËs‚I ª§5ÿ"­ý2 Èz*({?"•IU0­¨RÐ#–¤A‘P5A^”ð"R ¦(DªðóÎØ<ϤQð1„±:s™áaiB4,/ ±2›)ô<2¾1*ݾУÛ5("ô¼úY³csP)PðhË gÿTÇ+N®vÎn9í0åå*©:ÌÈøj}É”¼˜ÀT.– ÕzQ·$–Ö…¾A¥)ÏÉÒ”Bbb¾‡lnêœ k?E}S÷žÏkš²,@áFô4°æWLõ)"$]OIS×S‘@¥ùjy¶°P/‰@%5ÜÙ•`´ ƒ·ºV ‰Œ°R˜Ÿ¯¤×R ¸‚Z“+޵ƒc‘àõÔd³IߟÀ5‹çèVš´6ìž•re®PªÕâ±9à»tÛç qÛœOP«.Ô ¥¹ùØh ”±‹†ßRz…œã’…Ê 2#ž’>Õaã×`üjua!6þEn»æŒ¹ /¾ªßÎ×*…êl}.¾ä"3eÍ0c#EZœ‰F&æ´ºÜì[yo Û¦<‡·Ô¶Í£éàV™¼à¢EÈn›¼µ“u÷khù8ËWªTç óõJìÖ—.=Éyg?ë†2|YÜtÅð#»ZŸšiWŠ”ãš»æÀÛ9ˆìKš#%Àœ,ÉiS…S'¿:['šRû" ³›M„Mð¢P‰=Ò¹¾¹É-Ã6(è%†0`Go\®Õë…J}á}ñSmÉËFÇHd ²Z‡MVY¨â©˜ÐåòÐñ/mŠd6 m©1V€W ¿[]å«§~°iL nf“5⮟†ÁYܬ¶FŒ)ŒŒ ‡k9.§!ü’_ «ƒñÕÝžÐìõ-Š~„ûN(Z»úÄL²²/Kl"F= Õáð3MxªÑê÷eÇÉŽåóI]ô}—}gAô–¾¢@€•†;­ÏS8ª”|A]©C¿à>òrþ·P¬#JÁÞ“._Y¼ rN¼>>Hhµ Œ± –i²6OOØ@žå#” åJnÙ3íç yGøÎà\y­Ds¹ÜÕ^0ç„ðÿÏ„ = Òç6`Jž–}ç‹eØÉÚ;+Ó=«×à» –c–¾xøJ©\…f³ØÌèõj±ã’muââæòõFžEEiL Iv¢½Mýa¸N ®á«€Í³qáïO†‰˜Í¦Å¡ w©o=%2㤠ãHDq¼5EC@Ž(þ£‹½C§Æ(=!&˜¾:—5îv-p'AÂÙóµåä3ÉeÈ ·“ «·+-gºNÏ™efM¦y 5öw:žxkç6W—®aâò‘Ђö˜6Ò½bkiWƒW¿| –ÝÞl±UÃjùBÄF„’‘H]NË÷L³Í \j✠—ʲÂÍ%”Ê^2¼dAäá“Ïj¡÷¾ÛïF\Á¿š, I5ïíFC+5.òêàQÉBÑ’ËYÛDWF©OÄ,œÆ„EVîÜ–"3rÌ#®ÝÙ ‰¿eJ‹ôI~Dƒ¼ªñ HÛ:ßé ;@f•gif{Þ›w›OŸ.ŠVSm7ÀŒ0 ~h“+ðïõá~:'1ÕÙWKY”DÀtfÄŽš™žH¡ªùŒ¢hªMÓ?èq£åÀ òXKíÆi¡kÚ é¤çÁ(ïÓ~›"îÂ:ž¥a!’yF±e‚ -0Á‹ß<·ÁNŽ@'b¥ÉCºƒp»#M5¸¤ÜÛ¿¥wM5àp»paEï›0à¼-ð²”1d©V[¬Ë¬HzZëÇð¸²g‹LψGç$ZÃ3É:ž×¨‚> Zi±4›×kTe¥Òb¹"ƒ¶R (¥ó©{¶úw*k(ûÏ¥”Á¿t#Œf?ÑÙÛëÔw4©ÈzNC¬1ëq¨‘»Ö3"àKÒ™1UÇAŒ;’‹Ç>Ö¨H Þ‘ žÁ3IÞÕ.~yëÔDÄå1¹lÃÂÚÈ'/‰Ô<ød€äȽ% O-ò.Mëñ]Òt Jîƒ)ÆhËkhèÔÍ%YÁFGÜê‚~„‡ œ_mTˆ#O¸Tò8×…£#ùy°}­{`9¨à¡Hra†Ø•u§ƒ.“Vd-§YÔÒ%Æ“f®SëÞiÁÏ/D”ÆXÕö5.R[Æ“˜¶Wð|ÚQZ¨Îx^ÙãÁAi¶”í8‘æ'xmà«8®¥òUÉÃp)¬žPH€í¡ŸÁèó@×Rê*UÔšT¦ T™’üijbbvJ/ <%Zƒ4uBl¾™äyx×ÐÆéL=ÝÅP%#z™\ µ€¢‹±´æÓò€ˆw¦¹ä‡ jö[¬ïíTåeXÁdk‹`X™1õ€a‰…R™[¬gggXüï$ÃÒØ‰žü­qe¥ql§ÀË(¢2œ½àvÂ[ÕwÖ¥+ëËù˜Ëó¾e±ã€#¶bï ‡Ì¿`ø„»³ýO ´^Ç%J,ƒ)Ö¾e€±Ü¥aãQ‰ßîø‚Æ.»"Gu²áóh\l×%·`Ú–!#‡CE9Ò´ˆ_ÐøÒyÓ¨C ‹}·£#nÃoEKþÊ¡"•Ó2)Æxr‹±7]ƒ=ãÂF¡dãphŽ­Rg+Çd±A7A• t!òc8Ñ‘<ø©'.—²¹è´¶†Æ!,M®;d‹ 3‡ñBúÄR 2«'7Í^_ 6…©Ñý¢'®æ¸Òƒ6LÞnš`8Bê0Š®øe vK·hl¿Hë1dÔ ð Ë.E6Ož÷;0Ávtä¾&ø½¸í[ü1ï|•[ ^ŒÓvè =ºRì-q1Ö­áC­¢ãEz/V»¦ßꚎ{Ñ-Ù¢Ø ~^Ú“6 ¤»çva†Ø¥Áaà¶=(p²hPÜî%ŒÞƒQzºÈBÀEàØØ¨éúØsE·œñéx±Íwu›á´h꺵¸Ê8}ùu¶ÐÒ¨ñ8€*Úîq~…i¶T\(.”* a™Û¼uÐæRiàÕzQ#öçxð,ŠŸš2~ôq™Sw®ÕF‰çâ3°*0ƒ@ÚÖœMs×¼5 ‚¡Õ6ѶËwŽƒ?¶kÁÚ}ëÀ…M²Û†§€£ˆ , d‹ ‘¦'ÐT.1œ†©K3ØÏ ÃD‚è•ÐÒÌúæ~ÏèÃÓw¬XÀˆ· ÿvMûþà×~›÷§'`q —{â·!‚SÔÇ@ò“†<ˆ°¥0^ÓliÆŠ´k…)‡ì X'8%ë—VÏ]Ù<—GD͘ro} K¥bcŠMá“çÅ FGž-ñÍ¥?MÃj†Ÿ'¦š¦ l[\M„ü²,ºÔ’€Dâ ECà ¢Ž-vBkPÝÄ·žhâŒáríÁýÊÏûý®èÝwÄ ­8mT%ÖG\ôô·Í›~§H‰:ÁV,Ú|Oüfâ>(ŠÝ#.9bžm÷ÀõmêÁ÷û˜;ƒÃS ú.‚ V Ï—¼;ÈRdå&¦¶é§íŽX9bÉôAÙ‚éľÂ·ABzDÅej"æÀÆÜD®DfÞq¿OŧÖ.]놟úòõ™mÑË4Û;mñ ™&v§-õöðÛ9{W~Æ w—”‹”®Þ„cÔÁx,ê}³OwléUŒ}ñ ôöÑ5éØªØð u´Ì,ºŽ#¦d vBS}Þ)¨`›‚w ;Yì¥~«`Xý®±G½ñ›«®7zêcËqK‘ÏåÈgØQª+zî õ}i9¾\¼ÂwÕGL”Ø5\Õ¶HKýäÙê“ìä]|p0‘ÆtÜpW@gÄo?ãO^Ñ÷äªôá8Š¥}^üפM91õ¼ËÀíŽø!²Éž‡•Ü•}ÃÞÆ n` ¡î@;Úy`ðµçÈWŽëÉïŠ"@³írw»QúæÒ¼é£˜‡úl·›Î>õöàlñ"í ñF!=ÖWQ™¢%¶ÇM–U.ÂÞŽ.ÑL¼OdV¸{r[á÷²è Ÿ*Áµªüì3Ö|q^c·÷]±´>fëµÅj`@Ÿ|rcJc+à¡<¥˜*Èr[ëçt!æþ (ò•biaORï•Bi«ÕÅ’´µw“\òO„jÅ@¯b†0ÍTL$*ILiHa¨$©:,¡ç„ PmaRg‰fc£öÁHõ¯ÊTv©G„×…NÀ¤B^¤z¦DúX29Ü’ ¡<¼¬dl Ø©F™·D⌦Vê&²«T‹•Ð,v}±2ŸiWytL»JCÊ—ÛmS„ˆÜp•9ÂäwÔöÿ}U¿Å ÷²=Ú9‚._‚g‡·/ ¡G ³ ÂM>zŸ&ÝÔt§,9wÈ>SnŸA q,ãËHDQc‹.¬‰Þý—·ãÒÀ!ƒÃzÙ²L)­Úñæ'&CÈëd,ÚÐtî›ÛÎþR¯Õ39IT­“¡%ÃÁ‡ì7ÏqÓkò„í#fÛ°ÛK~ÏV ,Á0+.©ð“×€iðì`­ÛÅ>¶Y"-|o׿Â$ÍËm+FkªSY,25Ëô*­yÅðÛ…g÷`x ,eAdiöD(›žCÌbÇ:icפå:oºƒî›F+6yó¹ÛÖˆ_i@FI:îMPö†7ßìcЀ ”4vG­`§#öËEnâvÉJ#Š;¦E:fÝÁØ–Ï»n4Îw3²Rì>zgÂn%tƒÉg¹¹Ü#Þ°ÍUÐsŽ]þˆ!¼gúÞ°Ö#€ÐõMRXu‚]ñTºv)rµÁ^£ô}á|KÚ¢þ²š~{šŠ``‡ÁØ=fÃF™f*âOZ¦j…Ì‹Äp8t1–4:IThåB7žtÉ• •9Œ:”Î:’¡u_Ö×–[“‘’¬åìcC‘Ž,nô½Hž·pNÄ-Xa~(+"BT%B¹KÅ‚–ËEŒ¿yz"L†ÚmÌã0E™ï->ñ'æ‚÷Q€UŠ/±¾ÙGìv¹‹¿/²ŠLñ#²½/Ûð:GpÌiÌG9ñœº`âÀÇ)ljA7sfƒ^}¡rY¦ã“ËÏÞ l§H8:µLt)GS êo˜ˆLâ ý©¨nœŒmë&è1v\­Z«j•R){®®\gW[c—O!h)po AC1¸Åq{táövÕ°L b¶™|Zxùd›ç]¥»ÖGÿ~‡' i¦>ô¤i›ˆƒÅ0ËäÚL3>2*.g[< ,œ>¢i±Æ”§8[1 ˽ê*Æ#ª¨dlßépV¥Ôê"‰?HÒ’+ù6a We…1äÐà „2€PkýP`F¦{´gmgÀ@ ó°'Œmbnëg¾'Š|Î<^lˆíà»Ć‘㦆fV‹$ɆÒ2*‹%)è+²gOÇW5³gŽ¢ë˜œ [aÞ*ãg`ÄrÌ#Â$@i@÷ÉÞ”lú,}ZR‰9U,M#ÚÔE'ÜH·É!Ú’fÆ I¶ÕÎA´O‡vX&Ét®zE~zšé¥ Hò;ÍÆ&³§E´êaÍ1‰ …I±¤)ä ˜C¦GCdG1GXX#‡jª:Á£æ2§Ú 'd:›ÖOÄ™l™*¿ÍÏ4¨àóëuÖ‡Wë„Ad:Ú|€œ¢Ç¿9—ÿ€ü ÈÉ]Às,Õ<%yU &ß»ujíψáAõ=ò¤¯&›tƒ{°u#M_60p#¥‚=DÏLðþ ,ȇá옂0¥|c÷U‹•NÀï'2ºÚ"¾`ò9³µ#jLcé)¼¼Dkç-SÒÃ?°=Û”¦Ùµ•Õx*•yŸÜ¶Û‰®’| Ò¤¤ˆ¤“.Ũ 0’[Ñd ±‰d]©_WÓ£\<“ª'ÃF7làÀMŸÀAÝ”5yË@ÄÄôšÇ¶ë#¨Æ@Œîfb"J-Î8»Ž lnPdSêåM‰ìyG9ð*ÂJ¥—'€_¼Þð«ÕâjÓ-|Dk§‚å*HäWÓ0(ñ},˦pÀmËÙ›Òmo\Úžñ”b@jÒE÷-r¢é4äQúu&c{žÙal”£M ŒRT•Â<,K9æÄË Àp `Œ-‚Q£ê¶Ù c:f‹UìÄw ËÇv…8…=o¶´LqzÏç¢9IAS‚°2@ŽHÄªŠº(s–&ú;ŒîWiRp(qø¾k ¬Œ¦D—(i_>À<Îw¢ïÉ6sºkVÞ¤N£PTžu:L€2¬¶3¡žG§”¨97á§Àî4VòËx«£zÌeZ2ÒÃ{Æ Õån˜Iö¸>ƒ4!r%ExDri±6»X—j„ ¨{‚Æj½|A„™¤Àš÷%…¦RwxíöçD$¯ADòMõ÷Ï´IœÑXÀWä%†1)·#qÑ •*ªbåìHî H—;œÿ⣺¼ž :3$öÌìñ&J jUåoáäÂ!)~TÿYílåLѧ´‰Â¶ 6CúJ ¿k²¸¼Áª¤ãòÆ6ÛƒêK{‰zdY›].HPL~°¹å¹!P_ÙSb·É]†²!ÈËè•7V¡ qPRP„™CaòÙ Ä ¤£ÇÜEí—·lÒUQŠxl(H§ŠeäeÚÅŸÒÌux5Âp!MB¼´èâØâå¸ÂjDÀX"jŠøøñeÖDˆcT0ª‹õ¢pÉH B¥ `*`]SEÆ. h*=c$8˜…õ½XUÀ\ÂÈ` ’˜‡YIr‹zHÞRÂc¤Ì9±D-¥È,`ܶ! ^Ñ(rþŽ=¾Ì¸ÈŒÁ†Ê'5fí¿ÇstÉ(mª$ÇDAÖÏ …Băت8VÊëH¸šˆ¢Fe˜:‰“)‰æp?!J¹Æ†È4ñ ó[ÈŠñôm:_®TZ•" •r_9Û'ozvBDÊ'Y¥ŠD(X*•ŽŒ”‹dÝ€*ÂΕË(•$¨ Zó÷ ¢AAš8”"+å“´¼-vƒ39# Qj×é{-gÐêÞ€U " EÕLýý—´jf¯@XPÌÀ›Ž€;l‡з&ä2XW™a”Æž÷¹Ï‹ìœ½kºŽÝ ªô4 ë½Gm¬¾ $ ¬_ ò×2lï@o7˜Í÷°=šÃ°û´pÞ2£…¤t@0, o: 60(ò ݽbî^$ fô2*Ñ-K[O”Ô…:û EÀºPa U_ÓÀØö½.懒oiðƒÉ‰Ç$p(v^ìRá6Æ‚çXf3¼™xT±”fðTä8öSÖÞ.ÏêOŒ/ãfyÀ’Ìÿu1é¦Bæ*­ÉJ˜þ„VÁ°È„<›3CŒ„éÇwjTût‰9EP‘™:°i´ÈÔk‹åªàKòôjí›òÀ3:íc»éÄy¤‹ÀöSÏž¾z,~Ç3:UÃRUÇRÜ¥…ÅRFòS§²@r@V+“…?üiaÛ9ŒAŸ`Ô#r‹Ô©b6z½6â½}×hõô Ù,cR$?=)oB‰|%L^ƒ±©*–ú•ÅÐ6 PÔœ­Çç‡æ$ÛcÏD‹n|4nD òY²»×”Í–:ŽÓ±xX8¥W¬P¤âÎÚ\½»œÔ»ß‘ o;$¤úá+Vë*Õ Fh´¤Wcºo¤i^U}0€TïÇÔ$¬‘ŒU†9ìÂòrÂ0Ö´ÃAâõæ¦#M©l™yËI®›2#•ŽžÚˆ±èÚ’o{{Ön$*{üƒU*ðÉ=¨ÛÑÇÜŽ<æóÁcn«Ç´ÅcîªÇT¨í½®³aïd4&»÷àBP;t¤~1ùç£?`’éºé3>€kÅè/ù!Ò°jmY©²X™]¬IQW,Ïè2¨•êu-©¤¡²<¤Åg‰–•B Æ™ÃAêõaö¥&óVD‰R§Q‡<‡ªçÑkd$‹Ü|ÚÉÇ“ÃÉG”ŒS·$ƒPܼ»g&³³æ–Ñèn(y MІ…ÕüeïÀnu]Çv@°¸&*ô¨Ø¦N;’±˜_¬™f.;\˜e8™eàãM‡¿¸áìI7ÖÑät¤mÝD3}ÚY"/f.™:$qQ«[Œ/X¬5Y>¶}aÙÀ[–åìI»†‰E¿`8nŒ ÖÎba#”ÞQ9•-„qO˜Üm·ALCû `&–Mö”Ô¤yø…[ÇêZ=„­n‘½C@ÖD4žºlì›´w§‚ÇòíÁ\`Åöƒè&³mŠ’ž4Rc|ÓÆÅÀ!‚•#öuÿô²—²ýLÆÖNZÒº¤›%Ö¤zs¡ÛÆMuÃ5fEõfUÿb"­¦ØÅm-@ÊÇ Ø–>­XìQÄwLa|UÓl—ƒ‚ÑÖ}OÈyáôC™æ«:éz- ~Ly¥[˜¸]¸¾©_Ìx-ŒÊˆ²ˆAÃÕùÅšÄk! КÏ}`DƲâh£<Žr&J^Æ•† ÏS¤øí„J— ÕVóDgÛ袗Šce¸¼Ÿ¨ö|×JŠï$VÝòåä;æ¡1P¯ï©2ÁUòÓ>ðƒTSs>×ns«éã˱2Yk´þV»½ÔæM,ÈBE®Rl1#&fkå…ÂB)ïü) Œ•ä€u¿e¤Ò&:]6$Fï–ïÝ:•ÃFw#¸Fê·ä`Áý¦GñÌÕç õòl=ûy6Ížp6]w›†M³Ì}ƒj¡RY˜+”窕ìl€ãÈ@)¯eäzð÷@¯cµä\]6€¶9pvxq=b… £§ˆ)Ÿww’§Ân':æBtNîO|‹n¥'z<ç{$ >çóbÊðÒçáS}v.ûżWo}ÆsðÙ¹ùÙB½V¯f¾…èJ¯6yÕÆ6öþx÷˜Ÿ/aðDyvÈÎBm\Â|Ûñ†_˜«cØìÂGxÖT¸ÖpFvœ\¯ëŸÀ²'/bÂû˜g hÏ<"0”³§Ô0Ú ñ 7¬qÆÇp”¹j¡Z+ ÙÏ€Ì-«rkÌáJ UD£J @ä{8~›³÷úܺéð|Ç­‚ 8ݰ—v ÛÙÍÕï’xšMßõ[ܰý\VdåâŽ(¦µÙêú=í®¹ºa%”~3ÑŸÍ]רÉG7T˜ãœ•¶1Ö¯Êósó…jeØ?o9® µA’ê¼Óåãm¡Ù*Üfxʰº+Ân·°ÒTNïÊ™m´.ð.Ï×kKê P¤ì|{`ÙpÅn»ÆÍ®æ$Hsóe8>åù!¢pRÚd°ý¬0[wœ1è|i®P›BSW»j­|Óo“Têõz¡ ;eÈ Ññ–¢/|ÌÔæë~Y2ýMÞ4¢›F¯ßÔéXöñH„ÝŒ±²åúÜl¡R6µ5.fµ<–9ÞðõÙ,mm·ŠùXíš®ÙkoT ¥¹ù¹Bi~˜èœ½ë^W§‹ºµø^Jƒ×e)›ùByAûåÔ*•+è¹­»hx]¶Fª¥½5ØUïwl&™“l„öõ)¡lœ:=¤ÕQYDÙ² 7™¹ûtÃmŸÕî'ã½Ù)a £¼»^»ŽpŠ^×(”Õ‡J}?¶ÜVµ2+7µ¿ãⵞïÂÿÕ7¯ï8;ê[Ó2vx5èÙÂOг êø”c_Ë•ù©‰Ð^ïÆ×ÜBu(ÕO”†$„{Z(Kê£aĺá‘7ÿ^Ó ixS]`X¸BG,§u)4É|Ú㞇c!¸"ºo…– ÷ló"»fqÄâ±t¨vÁ„3’Š ÚÖ€«í1¤©Íû–sÀE–cË=èTùV´!r+Ñˆà–š÷ðù\ Û6¢.±S¸4{&è†|ÁÛ§Cl(õLlêjŸÛ››ëSÌë:¾ÕÆ{S\”¶ížM1±ñˆâ9#6Gh½k£/F[P\Ù4 ¹ï.#‚ò«Éà€iÙ.œÇ`ÓˆäüæÁNkøêá?çÅ?{KxÜY¹²Xž jÕÁÓÇ-÷þŠP,ªôç ÖŽ¨í"žYªèŒôó°Ž)á,ÐÀµª;,бsagªµ¸'©ÑLêÐùÀ”ê·™:r´(ÂŒ´àH=Ru™Ôs£UøP™e¡&;º (¤Lh£‘z rÂr!¶j¦xR)蓹:j¤„Œ*#Súb®15QÁÖ¡JÈÖ)’.G÷@ Ý…ÊÇHß •:&4º\o6Pädî€PÚjl¹¶V ¨‰þB)c(1åê(bjc‘ÒÅB+²-H­bNþŠ ´¦È~Ä\¡EFÁ“j>ñB Þ0¡ÛDê‚äö¯$„~’k¡µD<©PAXTÿȵ`Ú¡ÖÄFúEôl¡Á¤©‡Hè‘ÇFE€I- ð¡þZ°Ã"R~¾×®„{1 ò ¥ø|ÔH ïr$¨3!¥çÛôJ8—ôP âLIáÑ× xÍñlx-3^`S2!GçêˆÏ!‘@pK)'çz¼@<Žî’ƒS ÓL&¹Ù™¸zŒ [Á?E:ø¡ƒlÅ ˜%_Y·dM2Ì*g|VŠ;ç6côH‰|y2Ÿ-(€Rˆ¯õ:}ÏõÌžg‘~ñæ £ÏΛ• Ío\Ú8ÇÐë—ˆé)˺sõãZ$ÅûÍ®:ðäûÌH5˜lçξɗ°a±æÐfñÄ×gg“ Õ—ùö¶+¬gÈÒG•ž\¡jTd±0D%Æ´œ–#þâ=÷E«4€URØ7Ûr ß Jt0T01Ù‚ÆÄ Û»¨&a§>hÍà«*â@‡È¡ôÿœy,"A§^^,•3™èÓ™èg3ÀË)øm~8§IÙvý&ý|zÛÚ•{l%Ýal’žç†H»Nb?ñïïP‘sAŠþ¹ö-TkâN¼m£gÓ@Þä^ÏÐä@ËbÑh;¸G±/†Z‚ÃQèù°i± c›ëC õ)Õ s¥Ù¨Û_¦†ÓöL+h¿lgwÓï#''º/œ±l[ò‚iLa —Äm›·@¯ ¨^‡&À‘s¬fI™Ö»¼5ÀT c`ÙŠi·Ér7uamy]DD¸Üh«š{®”‘ÀÓ¢í¹«›¢m‡;¢Ú%ewS!JÒW°/¶¼Ö¸zy*€ÿ•5E°€-kвœ0¸ßc×°=ÌyãEwõšm÷"â«L‰á¤¾JëÑïÊ$s9¥ƒÈ|°2&¦žô=ÇlC“S–cwf@ò8 óp`Ål¬t¡ëHoºpm½PaŸÏòëJnA®r$ÝÇÛÎR—dÛ™ÿψæéŠÒ#rÞè€Ï§zf—lU—¢V@ôºµ•KòûüéxѶH%7³==b {•X"‘ÊðþØ›+”N§¢ýѦå4§™mØŽáºÎžÂØkèzª^…B×SÅ ¬=|Ëò~FP‚}þ‹5$¦eé×ðÞ„Ón¶¦Y¿iôá. dþÂÄAý£¢Ñ*å)¢ N(>/öÔè|*Ç ˆ0P|o¸<ªf­¸ºXĉ|…І A§¢…Õ¼‘ñõ½`ó»®‘À,鉘]Ö :b4QöUIcZQ)º;AñŽÄ&»'oÞVþG©YïÛÐíÖ‹HÂÊ(øŒH¨b¤G²„á<=³÷¥¶ŠNæ@,>të4ûÔ)8/t‹ÁuäÃÛ»Ag‰¾"d FjaW‘klT¾‚Òãèr2ÙÑç[7`Q;b’½à3†šÛƒÈdÌßæò wø`™½ŠXc<²êEz¬—b¶XÑ&웘Ԋø)mô7¦ôSî¡T½R•kª4¯¬néÕ%þ )†LêùëýLaa‚*Ƅƕ/¶@)S¢¿Ô›˜P"aMÒ-/T›H( €Zº •"¼DzSê@4n#n³ ŸH>g(†ç+•¨$léÿ×P;ƒ™B0S²n$NDÈ©‘k(|²PÆÌê¡Äǧuj\ˆ¿â3CÕô±2Ja‡•çÈ5u¥°;KåÅêÂbµ”iU{SºUM3¤ Gù´ZÕò&•æ°•°¶="¶ÉPG%—Âzx“<Á þ¼oº©ÏhYÆÝo+7Ȭ<ˆý=ýn8;#öá SYLàI\ëXb_#d˲ÄÃÒ¥’59ã¸æ<[¶au)µdòÒ.å Â'ÝþÞÒžéµV&álñ•ª~i¡‚±gÌêÓµüï^f¡”^…ºí°n<‰ßn<ÄVs— •{ñ1਴°Ô‚?EUí >P[•ê ]°˜dOôp]nI­Úè9‘JD WƒD†zŸ„ìhµÐTÕ k½M0P×ì‡&ƒmsoF˜ò$޵%´ Õ3÷1ÃCˆTg„! ÆÑ=Ö•ÆB„Ôm”!Û KV,Œ5ØBæ»··Wt ¦m²w:eƒfƒCCŸÞξ©)Ul£Ï2G ã*Å?ÔÜe) ,6=a[Nuv?Ï¡Ü ]v(æÙåeR “úX2Zçubøße–Û ùè^ÆÏQ>úüVài¸X…ºßÆ`£ÞìFÔt\}xÀÕÕŽÕÃi:¨amO‹—kõ"6>ùÃ×..76@Æòf9´ÏÕ Cï(H p‚t€ÕX4цLƒŒwH5ݨ.´­Äî*àa9OôXLTxý†%*k’Um±Z_¬É ‹¶ejm_r†ì& —,„Iþ‘Ë­0‰lO‰ËEv…â|s P÷xŒº çáÜ}:%û€â&¤ãwFÇ;“JèóÊÄÁ¢Ï,{øp-YG|v±¾0,,7£ å ׎ƒ«ƒ‘SDÛ„”œÓ9=TPãr[È ß»J5ù]¾;"HŒˆËY÷ :E¤º½ÚÅÉó&pá5 ÌŠ•ûVø`s;+×òÈ Ìéԙ׿tJ§„fý<å“ ìw ÷#y(ƒ¸|“rP@l÷v¸TÞnÊ6•íF#—áZ$âPùn;(ö­ê'J¤Ù&'§ ša¥c”²ÖŽ…ðñ‰cÚídõF3WÈÜHÁXRzEôü–¨ÍÍ Ïý]ß\#=sTƒ»!WAÅ´}óîá­‡vÕ’öãù–e |`x1ÒÌ\¥²ˆ"Â+wF„zÍ4ÍÁlM`™a¡èTÓ8ElM³”ч¬ߨŒÌzO`™cåúbµÿ]ÖùÉÛ(ë¬ u‹3ÓCTDqærVˆU=R±Pö¨TpvˆÕÒßK7Äê•XªÃa”c ,ùû…‹7iy)¥½7m¡§’ÈösÑ*oÅ¢NDÿ uK54•÷`}g»Û¾VŠ£Äv¬0o‘]·á§Îe òB—¦\xìŽÜÖ0^Ëñ‹ –z„ˆuHÜŽ/j”ì¡I¹É™‡)"dÐÛ°˜››ÒUû!ŠûSB ëÓ«z"RögX˜ ˆÜ#‹õÅøBÉÙóòv…~9Ì\¢aL66©S4±XzzbÍዌ$uÚ§S+š‹fìºS#;ŒwNdê¿&äv¥4×þCBŽçŽþšeYFPå ¥â—fkÃjå>>”ËÈ—&ŠŽh=ß™ÁT"»cŒ”5ß¡H–ySbª ‹¥ê¸¨ôÃü)œ%™)9v}‘;ÈîZ~1x28VcdÊdáJ«0íú[—w¤¨vášÙçì*EùO‰ÄÅj%%yþèû5ÍhsÀ·ƒÖGb¬aº¼ ¡ý¶$þ4ñz±½“JE‘:f¤½L^uÍŽ‰ÆYƒ^'Ñx‚tq¨¬‡zR=Çñd=­úì°l ôA"Æ™ü  ö^¤”I·º†mz=0Ó…]ŒœÉÀð7 mó=ºí¶|Å}|ÅŽ|ÅÓìÝO¿[–âR×s–Ía*6ͨ :F­!Š9?.f¬8K1Y$‡›K΄튊ǻœ³ ʪ‰ú£ ÄA(énâbAÑB_±Ï¹£Ô]a÷€Ü?ˆ²›fçì°+ .E¸¯*Âø4¸ÍÙ†Ø(\¼šÉUÞ2™=…Úhß@%•ár'ÇfÏçŸT;Q+u›f‚ õ²Œƒ:«ÓlÅtJ°XeÉ֣IJxoªõùøû·Î§pf 49á«+Xx(–š©-Vç†ðü¿#PŒ¨“büT\l8yž¹Ü§³ò…È\K1J*RÕÕw¤æB® 5©–”ívá¥GK³…J‰²„ªÃê–©,¡— Bv\€Èi…M)ƒ3FöËI•!šgÄ.ƒ´ÄÊ&¼qd3Ñw5ºƒub‚ºaƒÉd÷j­Þ½îïp¶erá{ÎXð­0ß–|ÓÙ3Ðg®¢  \d‹£0ßv  *àՌ֠`´ÛÈt–Ü‚ ÷NC6y¼Qèr«ÏÐÅ‚¼Ø2‘œqéâðžá®#¬9¦VHˆ_ºªúêk†;èwiK¦YŸ@PÖ§Òü°¿‰\*Áý×\árÔþ‹æQÛ÷>¹”¹÷ÚÅ•Ä.VX­ô8Á4'ˆ=êÑN«—ð;$œÓ›Ä˜"BÜ„vZC n)þ8dÁicýÕe2Ê4}µíà!!YÉC×3ªò'&°lÝŽH×n9¶°ÁI š@¢P]eGøá(Ѷc"Ô'E2NI“?D~|Š[%E22]z0ûíV&ߋʜˆx‘I ÙÓ2½]樆bõtFîüži·ºúÅL‹nÒ ü[DŒrÙóÒÈV¶‹Z§+ ÇÐ[ePN.)?³ôL©^¨–Éþ"ߤÊî3m¯‹¯*wbéxàñdâªQr® àÓ‚PCIVT Z]Zµf¹ÔhruD™âŒP;lFL‘Çï]1 ŽÏaì„ ¯w ôCß!+åO×0Õá®Õ F¸¸ñ¢<¨Ó¸4¯ÜÁ[CŸ—‚úYã»Ürúx¼µÆDd|í§Ï¤ø¿>ƒ2YµÃgQ­Ý3m“ Ì!µ¢ÔÒ(vΘZÂ9T4dRcÀù0TH©ïZ"Ò×±)fQñÊým߯LÉA÷¦±ߟÍj6šØh Jv®Äƒ/A%¯â»™LE†^å8aR‚Ñ{ÃNQ_ÜÚXÎJ¿¥{ÊÅÙŽÖŸjúAÃèÙ°…&©xˆ ~‹¢ jöM5HSL3Ñ_¾Lû ̙9k]¦õ]5\O^1áÀR) œ;]–Õ«R¨-Ôç •ùZ-±*Ï@/1‰0I"×rž³,Qã¢ßér/ò¨)ø· öuËlÛ5z•W Šõ €NÒÖ’ÛNÔªt9†‡aØ–V=A…ðý'3”dð°šj¢0ÊíS…”QøS›]Ó>9öÀˆ±Fºb‡K ‰vÅæÞÉ>FÅœÝÒeïg#™ëؘνT6êÅ9P6n«B©5Èb.Ϫڕ"  Sá#ÊÍ‘Àð¿?ÃÞÿ‡ ¨âÒ Ù8™Ð•DñêdÐØ¤¨ª œ–f//–%œW«ï‰Ã¦õø#I]X”´Dìú$ÉÇ€3E‚äe&éDäZ¬¾%]GÉsž?H;8·Æ9úT,z|vt ™8aæäx¡nÚ<Ïh´h 41±ô³” 9› M A ðe¡7:Ôí¥â'Oc8|Îã]+ð/ø£tkˆØÿmÔ{{˜«“ð*VRb˜&„/k¡P™Õ~¹„þ€ ,¹LEäò]5å)ñŠ­EŠÑK>L—m¹X'bÀÛrsé0Ëmnµº&[¾uË¡ÕÔl @3€¸\àö-•Òs@Ü?;É5DÙ˜Óa» 3 /¯¹LÌæìÚÅK¢­J ¿\D#F×w 6¤Ï•gE¯ кÈ.šaÕ½ñæÖZÐ( &¸]à=¶råÙë´TÏ®<{=‘ 6X™3†¸R4ä̿æ@§6Ò¤W!lŽøoÇæCƒ9ƱËx?Y@?À£Nzp Þ1%´#ï9 <¨]h›=> ›Â÷Æä`’ X’10‚ÝÃõ“å™M,¹£v;…CÙ\D`pžCŸ=`¥4–À ² ˜¦(‡…Á*‘Ç샹†{<6cØ™|¿ÅûÑ.eËp0̹È6C+âä¸(/QI¨^ô0„¡ʈ‹åämå@Ô"l„”> `à ü¾(mŽ#×(2óšë4&(·¬@¤’ p ¶kp »°2ò ËQªå“Aøÿ Üc"?+Éé¬…ŽŒöSåiøOÿS…ÿ< ÿ1á5â;J* Æ#¯¶¾?_¥ŽÒR)†8µÚ©E>#·ëÌæs3×v:A™rd¥¥ 8o©­¶VY¬ËT5ÃÈÉ}Uwå™Ê}sÐv¥¼X­.–ç3òkr)×™¥F*Öq ÝXì:“gêY[}©•,;jŒÀïc^?…5t7ã»VúJz7ĉ#‚´)‘Ñ(•-Ni¿;¬A-4#X™™ªêIø''*¦h(ýÑ2Ä®ÌF¶fá¨WQtY²»Ý¢íh㮲înÃÙC¢ލ°‘öÏšnˆù/½UhøÍxDv¢OÃirYèÖ¼Ù3ì%9Ò:RšPÁVi½&”ö £õ^Ÿóás—õ”×y/í!YÆ?AÉRÓE¦M»ÝqGÝÊ…˜¯N­ ÷¨¶¼/[7ßÝáãOîæ{·¨ÞçEÇíd'î©+›D=ƒ SkT 1Å^þ›ÌIäZÿ¥Æªc9îŠË÷=­ƒãGâVÛtÓò¾½í­L ®i忞Ô^ä¤J¼ Fø¤`†²­2bÈt;üIA"­!1'ö8AÑ™(›LÓЕ5Xªkñú™÷A$e"*iRì%®!¦¡“4ƒ=±Ð @¢S7ˆjh©¹y*š ¼X,Ô‰Љy~Óãtƒi¸¿‰FnÏïÁbÀ,­";/ Ó#1ʦS.\QÁI£OÖUAÒE¨©)zÛaRÅ]!]`.Šeá6ĈÐ3IPCT×ÝT`gJõ™r}†ï:Ée5*qø4M¸ ”aµtÍ$³á|j)D š3^&pÔ :ÁUìëRÇä°qÒÌD÷œmö ì]¯Ø`ËËËð_Ú{…ÕÆ&~nlä› ~‘ܢؘŸ"-¤ã‚·õÖ×xq^ØG|Ï[üŠìè<ÚõnÁYýIËÓo¹ö›Èê—ró´_3¸ÔaËéÃ’vôá/úK\‹Þ+öã: ÀÐ#ú5kîôcd$–z=«÷5Ç:è y3ñ&ÄõÔw!~Š,AV§È]£ë“쉿F§­Qöí ðf¸ ’>víã{*šv±/~MizUß26‚ñà¤8¨lAw³GxwÈZ;ð·écô|jb f $kEEÄÚ¸ó' ¯ešê¨ @/dLEß°=d ·µ{8gìbÉWîõq&øÉ¸ˆlÛ2û›ÖÎÃÇVwÛ¤#]ìLó΂è+Õ0à”–J]ê-:DŸà†oÏ‚èKï) ,É{,öB ©’ìXD¬‹!æ¡%T p£aøÖ0D eñ¢$~…—P¬bJ¦Š´ŠIé)vD%¦ä¤ˆyWÈ?L ?©e—^$¸;ù¶j‹•ÒmÄ‹ ^ æDWë²lßJ;K‡Œìq»†á8š\†á÷®µêŽ™ëãQ¾¿¿Óiâºh×ßMØ"¼J™hYCl¤ ÊÁ¦ .¦ç‘ßÉ¿1ÌË+(QxxÓ ýæ¦C ëª÷Ño¹U:u=„!/v ø1^ÚvŸ~ú ï$ßb¹q¹œ ›£ÈÖBΕnSæì1;xz }“®V†q{¨PE‹ %f¤}\[Þºˆi[- l‚ŸÚèIu>­æ9è‘5l½ñ«Oe&ª]F:ª+a¤6Xvʲê:"e¹®¿Š&´¹*¡Yšj5›à=!·ë€–éí#V‡6ÆešÚï—Ë2)ÐDz«5 @k (•fô”„é;Œï‘ÇUû.tQBcc¹ºX+éWtXÄÁÑŽs'+X3Z¨[]'’Éãx8$qÛ)m¨3é§z @ñÔ³ÄAÓ·“€ % uň§…Årvxå+€ /çéˆ,ª€ÃlU¹íú½Tù ¤2‘Ã7_¨è¶ãw¬vJÙu;p‘žÈ.¡³kD‚2éôcă‡ÛuŸJ¯mûTªA7}JÆ<=5¤4Q`÷5%,UgW·ÅI²Ç«êsõ…B­2ÿ>m¼ên›†ômËèdžŒ5]3yÇrè¤vç£ÿô¼3(æku¬\^Ÿ×fp”¶›ØvÕv²ï*„i˜pMš¾c…YFUŸZXÒ3?[ןŸ0 Mî“Ùz`v¬@@zJ8eUgç1È¥²PJ¾*ZIÂ~Ô"FØ„–—KsåiafÏÀRoög 'LÌz}4 Ù³pY¥#Í>;0í¤?Ú()š¬½IfÞ–° Õ¨5Ú¶ðè iÓM˜™êðP»HGØ s@rƒÇd}ßJ”¬Ð’mRÜV‘EÑ„t|ϰÐJÐN¼¯—•ôÎ'fóÖ>Nµ&¼E¨B÷Ÿ_¬ÎS×kÆiÐÑÝ„q Wùc ši$}@;deA2˜ ÓÒ%9FÐ1º  hAÌ|gŸÑÁÏ5fpÚ#À£pÈ™<Ṟ:8Û €ÑÉØ[8“BÛóš‰÷‚cV Y®õ…B¹BƒÌ-VÇ–ªòººoÓ ‘%Äܦœ–£ŠtVÔÚ].=diˆôô¨6ä} r¡‰U»|jÓì q•FrÉÎdYaÎÅò``$ÓöÐX¡É\Gÿúí+ž3mO†t¯vjû1mÜÉ:ÖcY44ì‘j3à±…HT—‹ä²n:=ΰÊ<0¤§·¡@]DÚ¼¬œ£‚¬(+º1™fIùWêE‹`"©¤cð”)^8!š‰82ÈLTž6h`X*›CØyrÚ—97„³Þæ»Â?ŽMbËrö<,™¦L,r ÛÚÅÝ'pæeúOl*¹0ÙŸfîÀm3w–å$5Æ=:ÔøP3ŸJªCI˜™Ôšd&FŸ‰Ð ÇHŪX.º)]eY6™y+ÐZ±ªÏåM cèÓVAó˜¬Ò›úÆN`á=‡üÖ€ÞW¢YEN"½ÌufUl‰ö®5OØfîÙj\×mdÇÛ–¸Ÿ?8½x6e~¢1£DذâÙ?™e½‘”‹ÙnÔ’È;ܤCXHA”$sA籡ïŒ;˜‹ËY&ð\¶¡ÒºR@Š©Ì/V²³áý,² =ªÿ t((lIñû›õß±,Ú °mÂqý,0/ÍŽ4/¥#.ÿ„¾iý"H9 Ú2!ö,ˆïú/o‡•lbä9…WDC°—]×8Р䟷d¥ kH!'§CÔŽÑÌ%£ÕCV5DHI³ë\äfÝßn¢_Òhñfœ£û³3ñ»jGÿèiõ˜=ý1 zLˆg04`ñ¼ˆ˜u¡àr1TÄúT —J†5Ñç"#8_醕¿r… [wÍN—»…”iœ2v  •¶½Nã–-Ï uCÒ”Ñv>XžßTÁUÆ6h˪àmϰÍ>ÊO»%iªª¬ërX¯V6fÚrºè"e„r´ÇCãOÃøí=J2··¨}Z.c0t=¤­£¯µ-EÞ¾” uþ`/ V–Ÿ u!^¬ÂHn=ª˜OUZX¬dçSÝføv‚3$©Z¯Jÿ5NrHêú6 º8Œ’¾No"Ótù€Ë…rÓæ:¥½¯R¬T“‰N‚Öb†]Iûå©8ÐÞƒZè¶xemüøžÑ÷°Ë¦`œ*/,è¾Í£7BJŒ#ÒXÓb¶OÆBy"}ŠØaÉx²V4| ŽEü®Z ÝPè³c%b¤µ±#:àú¥+×–WŸ “H€¼xnk¦ýx"Ì8p`D…ˆ›}‹ĨÿÀµט¬<ÝŠˆ¢¡–Q@œõImº Fp¦¸ä~¿úf2y+MyF® â¸#«|pئãì,bî“i¶Q¼V¤E¢]‰ßW‹ro²I}3Oêwò:¨n=8¥ú1J1ëg‚Ñ©¢Ê x+Ã3½e­ù.îoqŠÂ¼`ÜÌŒv²ÒD²7ª°=ã6bb±pµÑ9¹môMs:6À™ì]™WS(eµWÍ4Áæ†òXX¬Ö3ÙÕëÒÙ•ŽÝqhöuOD¬:ZJºkU…${Sœ-äSÃØÛkµñîEPšë—tþ•Ž-2Ið ìú¥ˆÈfT9¶ ÛŸë¸Gî+Ë)^¥¿¬™V5øŽˆýQvY„3 âî鎛&Cؽqê5´‚à,x>‘ MØ2€DäkBo„MN|™Äè÷Up•1 dG‘M@´8žXœ\Æ¿4CÑã!l,("ÒéÐx-MÔ>QÇ‚óÚÅTÓQyƒ@±¾NVþ—›-|)ZówG°ˆìåù†ÔZxsØéŒös¹pŠó‹Õ9™ ©5;¤TÆ *TJ‹å0˜9…¢½6¢½˜Eëô"u#«ÒݵTkTb%Ñ qü?'ÒË þÚœM=?O±-Ž+j¸H 6œ¶¹mò6»`9MЪ7)øå ZrE¼ÌtZõ™ñÔˆî$p‹2îb´×êYîî’Ʀ³·«¤MêÌæÂq®{].ç´ƒ×|üž›6ʸ…óŒÛ¶¹-ƒ•Ü##…2Åp´ê Y—w(´÷èýËÌãƒD)#×0ljv¤glc|-ù£ÂÍI3é© Úe|^d~á‘òxdð=L%t$Æ=I¾+)Ó5-«<…(<ÂÐ ü[F,eqªM¢·[0ÌMXBýmBˆÎkü@ᧃBx¤óúÖït9¦Øèœix§Þ®Ù¤%ëu)9§Z“-Š%žfk+—BXÚX!ÀH “ÔãÊØ€Í÷®“Ï*—V'Mi!7/vÀ£—§ Ã(6¦ØTK¤QÈ϶-Gék»)þp8œ¾¿151Eu! h]~ ÛÈO´’ô™øÂ úˆ/éõo›¢!·wé/î ÑÖÓ§0üb6ûÆ ‡So,P¹k¸âzàO¢oŽÊ·‚ÏpdäßA—>¸vGÌžc¾NÞ>}}‡>à*“E™ß‚g¤N¬©æŠH  >äÁÂPä8Úƒæ½AÐÿyLwœàL2° ±F¼ ¼8®gP’fFt9’´%­­‚ ëN9ò‚ÐöÜŽ¼ ÈÄÍRv¹ã»Î‘—GôâÆ~k‰Xw­(;ª6$q™qŠô}×MÄR*sÈ – êõPÝÜJÙ-Ç„VA¸ŽUç8O-Äü0—ÕBm®>W(—çÞ—bǯº•" ¢êÖ‘ÕeYTyÀ^’gñ´CÍÖºYkvÌô˜±dÑ¢ÍR¥ƒï8^>j&U¾ zÚ¶8=ºÇ'ÅU÷9a8Ï,Å¿á;Ò½'Œ g?âó›žHFðD±óg“ñ:M‘2Epó²ÕÁYvÂ_ O–ßtÍ6Eׄ±ßz¸N ¼ŸëEâ·vÇãðxú‰I“¥Òм5+æ¿éÜF6VŠQû=*á£D‰IȶʣË-;™…0GDV'V'äˆ|5¯î`5Mzör #É1)kî°Å4H¥¼X©-–²Á³2`ð_º,üä:ˆ£@¥¶œá<=³ÿJv×aXº «cØÔï·ýÞwÍ]íúD¥Tž-ÂŽLdß¶Üjù9zÅïAÏb~áð´»:m8úóQˆ0hÚ’‘ì”ïùh 8ú97qÒ¤h*b~ÇJB°Þ§È‚yâ­aâ$º5ÛˆŸ(|—SR²v<5åM‰’¾#ì±&å^—Û ž™´1qR0à}l·¹-Ñ(w)LA%â`‹Ã„>MM#a/í"ÛL4†6áB`Y Èj4ýþÞó[]ö¼dŠcJÐY†?.ZÄj2qÒ÷8VÙn¹ŽçZ]ÞÚ)ÂUõ^З.Gƒ¬©!êŠàQ–³-Ì­í‹W)·o9­9Ÿw”| ztj¥R¢z€˜·¼bØ;h2Z5l£mn–+øÓ,èe<ãÓj&qšßýž©aìšìYÃ5Ú°žZëwÅZŸéwħâ`°»pkÉnm[†Î¦$Ê#êë=‘2ܬ%ž¾¨TÏbJ÷m,¨‚(åÅR-(& TÈ6wòq$9Ä,f©—Óë0&À”£EËÙÁ?¾‡1«°è~Rt/¬cŽ„ì‘ô‚jüéäªÓ? J­9)uŒÇÏ4¦ãˆäEªÇq>܃ïÚµ·l¨:ÎÖÎm®6.]Ûºtõ ;« Ê€"%ÎÓ4¶À"͉0FR –U@[Zq»Ø¥ky½ÆG¿nGÉ©†•„?§†Be¾\/”ª wžã¶p¾\ £ µŸcjú†ù´(ÀEôe/usÐäQ}ÂÏ.c¼S[q؃´1£tÔ`4JG‹ pCô“2RKUŠnëÐþž®  [zÊx×ÐÆ#à9j:o{´6DÜHwjW¤Á](“.BrÊù Mé(‚8FÏL/ÞvG-çÜ.\ßÔ/¦èyGß=…€nhÁ^^Á„!sdÂÈ.À#ɰ¬ßÑ´>𤽯>x­‚"_d?)£´£ ù]Óí¶j]À|iYð}êŒ(ÐŽS0ú¦4‹–¨JœH¦rØìòåÖH«¿xï8Åþ ’ŒDsß•öðÐ2âiùÔSâCæ±”¿+(TP"†>·X/‚*ùÇCáG²Œãi6vI˘ d¹Rp’õôé±ÍßCk;ˆ¨•¤n;J k;Ô†‰#w /þø¥˜«’@¥^—§lÍ÷ÎØ¶?Ý’Qu¸dDd{ˆÖû€6ܽ”ªÃ“¼ã,Lo@èùêEOÕ˜ÄÓÕ©gÞÂqï‰|“v]Éý{Žkµ÷@ ÓzM˜”¢½:Ûù V—{4tC®å´(àÃ×–^jv¦„Æ' z,h|·§Pƒ‘Õ܆ç'Ü¡SQÊ °û{œ¢ˆ÷¤ RçÞÚaUX…ÿH´‘ô¨Ì)R®7|×ŘÃ3}ø¶D ¿µcÁ¡(­¢}ë¥T*}sde’“U°J€¨"Ã-[F?¨R1Íú–ï1Ïéa®§'R!HB&˜£•V>ñ5pš4rÄA¹íJˆ /ýJˆ‡J÷¹CǬ˜yÌðÌ ÓÆß¨tšþœæMýrúayÝ´–ÅÙÕ&nPý=·.ˆ20œŒ¸Í[ á]h³î!6¢#zÒ8¢·|m™¤Šíšh}Œ¤¨\Qh¢L—ŠÕX¦¸ø©¸E€>O® 2)Ò Ï"?®„æjÒ/ ¬â奣ëHW*uLCõŠ«Ïb|…§»Rœµ©x€¼…é ý6ªôÇÆ8S"Äzz"¢Ê?5yUª±U½j3,ÏÆfÎà‹aËVw|·—L³ |˜å¤sh¹˜4ðu±XfÒ÷NšŸU둮Ђ֗¡”»ªÞktÀ«øïG8H‰bêȨ*a‰–nAº>1Õ3A³ÇË6.´Á%9¯&Kº„OH:\„ru|´{‹þ¾-õ9A§écߟ0Ú …PŽ0Ÿä-¸h©®écJHut¬ž ¯ÚÈh*4È‹k®)~®ÔgDqx釮‚˜^7ZGb4©Çê?eŒÿA,+,Z )4õPxGœH&Ž£¦W†§‰ÑQ"mQ” d§rž :HÁ¹ÐwþTüög2¨@^·kðÐsX³¨œévU³HÅ܃®YÉŽ¹c:ÌŒ¹Ocb#ôP]m¼=D¦œuumTÓ5Æ{×úMGÀ(J9F½¤ ßµˆ†éPóGNSl?lZ¯ ³HZ;ž€¹Š/Xrz @’daloê%S±Œ•"‰¡(œS`·i3˜4‘ÄåoމtHgÇ}Ë$>W](Ì•æ+ “ø‹âE8LüÕwÉì*Z|…ôšUœUÄŒ Цü¢-QÛ6I[Üp-^¸´æS£(À|¬¶ÓrìêBX©Ž?ïã1ÕAˆ# ª5¹ðþnSyáü¥Š<ÜÅš8jØ\©ZïÌ´ygîãÇsta,OU½Œå¢ê»ä{X^'ùh-Ï#…£÷NZa™`e,>@d>à‘7…s(~æŽü@ îG”ÛëE·Âé4ëì(+¬:% ;Ô <$ÔéEÁ V ‰ÈÛÓc‰msX]°REñ¤R·dÃK7¶éåj´0œeFhÀ8pßu¶wˆe3—”ud—³g£:©Ð["o ÃMƒ²æt2PJb"çXqÅãæ¸™fìš"lÝw ¯Õ5‡·ß2{ΠK“Ýâo o~xhDt“¿×çî;ïøv›–\KAÎ+d?¹&³ÆZ¹ã“J¨à£îñ¤DœðÈ|'*¹âkˆU„Æ­zóyì6³|}ëâÕÆfq°Ÿôò›T:prÅ·HÅÇ›ØZ5ûÁá·ô‡Š8™9âä¥])²it Ëà»cOš,Œ•)Þô›¤H>¥è1ÜMÃ~ä"/ßÀEJ:+‡.f ‹í‡Ê&)`‘Ñm¤RÕIA‡Ž—Tè¸Ö}.ÈsO­ÖˆYñ‡Îž{GVtw†ùå6é²"¼<Ô+/ ü¤²Ó‡Dxý–ÌïaùYD)™"“á’$2AÃ룱N¤ü³Sqêr:Ò6æš‹BF$:‚9‰’ÊJÄ$ŠÝ*$ÔN£*Ê™¯µBZÁ¡ˆ —Fô½§'ÓјãP” MX^¬cEéCúBûNŒZõ@`ÏošyéJŸ‘¤¶»V…8)‰ý8i÷îP}׉a¹8Ÿ(w=!¢ikIÈÉ·Û'ßÞE!uëÆ½]ÜÚX·¾÷tˆs¶®-kFךTµ/"‚]ðO¬ -‡`ÒbN’”´7üGºBÚE;-Å}¬™·‚슖k±sMpÙµM!®ÂùõÂÒØÃ{]vlÍôd{ˆ^™ón7 Ž7»TŸD«_’>=.Sùl¬æyªaÝV 9Õ_¹æóÁ­œ]\[¡9\Û6¶·sõZµ i§š\î3€gYæ]}zaëïÚ¢€øèŽÁžÚ0 ÊYÖx½žë®P®Nç©BEÛamCì+ÏÈÕï‚o¶Eýtã`¼›­®oå{c—Äþ;Ï '=W—ËœÞëäºa%ÈGôpºt—ç kG«w“Ùŧï7òíÕusפš:ËvÛul³•«×ÈÁÞ]ojÐk Y.`þcÎ>ÃËþdõåTIÑF;¨•R°(¥×&Î{Þ°ZN¾Üðm±ε÷0¿&_¯].Âp›F;ßf¸¾GÄhÝD± ÞCÉÞ%Ø‘}v&”ëbÙƒ²ÂQZ,ÉcR5é[½ivËq°º»kî t÷4=äÝ«w[\ í,ƒÙç1b« {ô»dvŒàºùRcÂl¢)»bQš@šjL½B„õÙźŒ0mÃò–ª걯Q,›!¿U諉+7’‡2Á@ÃÈ%YÀ"#ZäƒL2ÁHàt Ù\I¼Œ…Œ,ü¸#V½(ø#f^—‡EØþ£ï1ÅP"%‡è¡ËЯK¦©YR~†d?ü…H5®_¤;¼ ô™Iâ©O˜ùÖ,êÚLØÈEßfï"}dŠHFÊ3%d’ Æ®Ã#1"tÑ«iõÈ/Ê?Kb^GŠÄ9Š\$šÃ$Á‰\ªÂ$I ¯Ý`‚h¤m~ct_W2k,gÀÎb_¯Ã}ÎÒ¼ƒ¸Ï‡Ó›Rt·ˆ²6Ü«ž¢ÍJOúÌ‚Ò Ê:è>Õ¼Óõ¢rq®PÖ‘ [¦×Š„Ë(HXV8db„+A”2°k®Ó‘[]KË.¸Žßg§Î;n»ÖÁ";‡·?=Ͷ®³çL®[¯æS€¬‚ú|’¹éá2ÀLö´q®µ,}nÐÚjr»Õf6l `¸H’z0Ø]XÊždšmÂoL3±œÓ°?®¹?ÍZ1F©ÄÇ?¾hu›l“WŠÇ!°ç?H©ŠUü ‡ÒpEb$tª¿½^^˜-TK5*‰íS%’`úçv;Ü6ج!ÈškmÇO>†°ÜÝt¹íqÌo´mCOQßÒ° ëÀ3ñäwÑà‚8fhÌ…Õtå†Àyö°†8Lοuë€ÉsOYv*[&²÷¨ ÐÙ—2ÀX€w|Ú6Íš°Ÿvl0Û@×ÈŠqÀ=ÙŸ&‰hˆ˜Þ§ªk@¯‚Í ¤/Ìæf§Û„ ³bQ—‡FƒæËš[`œŸ%’ùÅšÃî!Ùˆ·>:+å7ü)/æJ„ŠˆxI%X„2¨±ú]‘¥G–‰#›#à!r&Å ä¹cáY %âà1qt"ÐèÁ©P^…ˆý[Ûƒ§#`‹ÃNÚZ[ó©è*žÉ$ÒcÙËË"_¿*ጵfyìåbrmƒú³dòÕÏG@¼Q8’òך§G ²œ5N„Ä=(mh׆”ï¸w®X-̦˜­e†‡.Í=ø®ß]dÕÙù{—öÛŒrÖÈɽBylˆiá>)’i—ß ïCÄÓêq%¥[޽9´“«¥‘ RßIbH-D½UðûYn“A#õÖRì‰õ„Ÿ×¿c‘Ä0¹QD68¹B¥8ˆ¾ñ[J))QÕÔG‹2X`1$]Ë]na>y“e« ©K7ºÀ›h¼H· ¬ÄçMwÐÕž>»äJ0úŽå&e†~(3PEc`xè¹8ËW/P€¾Ð»ÇœÜ’îÚl1€U‡Ê‹@Þœd§jðWúئº–*§uÖý”,tÃâóXSóÀ™§L`Êc)'<«*-(3ÛÞÞ^‘NiÑÙGû ¿3Ó÷›3xÓšnf{ä ^^Š7×¹VFA_jˆÁ_Y^Çä¿ÆK(©#¨à‰•ôä†jÜKVí ÿ4–-!\àö­|z2¨Ú†½Cñ}nè·Õi ¨¶ß5É59¹aî9û½ÏçÛ\8¿3Â:Sæš’€¡žT£)Å¢ÍV—AÉÙoå¦,O„<ºöŽÑëëLy”%i¶²P+Ì—çë™f“ˆ[pÃb›RlmÔMægç먖²o²ta |n<€vª|–ø&G*ÊatÛÒð¹– óU"ÉsådQÏ£¿¶J†î‰Rê´ØÑÓÒ줔8þ¼oØDXRæI,ʽà€‘iù=Cª( ×Li¾iX"vÅýè‡aŸÁRØbÖþRh.õ{Å×åôŒŒtO]µ²P¨/ÌÏÝA°HA¾ÿü2ó|`£ ¾Øñ` ò=ZòýZø~ÍàýÒLNM­®_ò¦NO‹4 ¼ L ÆÊŠãçÈT³™+?&y†³³}¡í¸—'ÒŒ½¿õ¨Ó¬mvÈ£Þ±|U’aV³%ODÒd")ÉjT=“ ȳ¼öá“7¡€3jÅ85ZrN©XÁËX"’zã"ïDäÈé ‰îoôÍ(ú¦*Ì0 …ó@,ŸáµL íøŒ2  éš«úPÝæ-DG<ºé‰m¤uœ> €câCzð @ßM{Û¥R’z&|£œ™žftgk7¼K8Žf)dhŽJŒÄ§ü®¡éÈzÒO`¬Óp+ƒH'$Ÿ,BUs e± ¦òEɇVËW)#„È¡Å,¤JÙUµÅr5SÌzÃøbÖg6Ù啬–TQ®2\”C2=DŒ{Dí^A€õÝ¹Šœ ”î-îö¾çª?èû:>þ ,‘£‰l@ß? "[ B|ÎD{1‹b~á;p&…᪾íì!ÃG"M%®YÜð°´„@™‚÷4%æÁý°ù“úÂe«·0PoÁ¡·€%—Õ%›M)ñb å‹)!\l$ðQê­ˆDTÄ™j¾Oë-OÌgêQÅø(jh¬LáƒØeª¨uüjsÅç[ d%¸'*’^ENŽ0åØˆiý®À#K¹›Ñ¼šbN€·,œiÀzlEl(lÏÀ©{}ÓÖ'±ª]ÃÚ™bS—]c“’\d©-RÕ­„8%¥"Ó‘p\ÃðÃSOÖ{F4O±‹xÔãá‹:WdŸtåð0áÙiÀZ0èÑsXO³ ï_;DÓu`ÕƒV·Bðg†Ñ,€ ^@y§ ¤aÙ²•~¿Wê³¢3~郶0PÃiIè7Wá€+,î‰)±ÄqÄó€|“ PˆBìî®áÝÀ»PgüBS‘59e¥ÌÆœ “pohø·íÃTaã®D|óºÎ^d²7œ>"2JÄ;m¥ÓÂkªøFy±¶Ô~ÊÀC0 ämÌB–/¢ˆD1¥¼-E„Œ© Jä% ^ú,*F9"„]ÒÍ1²x'\Ž!Ÿ¾e$Ðd6ÔVà1¨?l…p¬œÛÞjÆÎ§wOC“9òᨴ„Å® *jã ccW‘èý5‡—*pN5©ÿR¯Õ#ô¯bËq3ÑØZ* JOEÖÊ•¹B©V«&#gþæ–±ÃɾGü·eùäòާ§õñ(ֱцÂNakc€ŒÜ†Õ㵩i6Õ±z½­øˆ¦Óª.9Õá=Uèhá1@]ö=Ö%cv-î´ÚØM±$3™ï=ø,•ã½MO"P¡þ6n>­õ½©WÂ@%Þ>@ΜÆSG#“½=0±W0*µ¤þ-Vk~6;+ðn°އ·G†;“Üpã9ª¬TGGƒ¨Ö0Š¼Ç¼ ÙÕ3rŽn—¼Gƒ?´¸T"ëĽÑââ:YÄþå¤¢Ž á8‡û)FÞlég÷2º@#Ú¬² ²(_vMÕ¦Ý`U¯S¥ëÜ"ÅbàL`@ŸÅΛTT’伜0…}òŽN”‘ÚÇŸžñ»ÒMÐ3öó— ÆØ3Š!}Öð;¾´ñêmÔA«Iå÷ÈŸ¿dË ‹Tªí·8ë;˜ƒA‘qRUk“Ùdk“‡b „Ø~HLÕ›– íó-z¿À}Œ3€×¬š¯Í=05D+yÆÆ;5²Ã{y" 9#º,LåýŽå`í­¡5‚_ôBPh.dOoSè¥:•¬¦IÚ‹ZëÍ¡€Op"‡xþ´ÇäO¯Ýû"–í žka,K Ÿ¬-–Ê2ó#íËØH;¢ c@ †ð¿wèÄA– Ó.¯6TÅ•A8µd5Wr·6¨ žžÂÅ.)¡}bê‚9¸è7u[ÃD.r“¿wüw~:l»Ã£Çðܧ4z3“üÁ°G1^jºoÖnþˆ™wsrÙka,Àš lxì&wÉ08šY}pÍÙ³‘…¦eŠÝbQP‚Çà˜jgLÓ§u> ãðŠ9hú­>ÀŸVLk,ûí7EyÀW°·ç7%Æô^‚© ;¬Ù‰ºA7`þdɕӻñøT$¢O¢äMµù.9‚§PAl`=Ǩs[FópËéc–†³‹ #ž‡HDZe‡•À,KædÛwbÁ^¢¦Ñ¨néòCP#$àä-ñºYTvš­øë›.ß›f;¾Íecé™'¨m˜ZÅ•˜–•*IÂÝ>zÙ”ñDD†(z9Ó™ž*ÀïØFëBº“ *s'åšG0ú䔚.£­Æõsúò¦:Çg6ƒÝ.CWÅÎõvmZ¿ØEø®u¿W¼}íêCX–2ÜùxÁ Ú=ÚÅ{.ž[^Ó®š¯Ì7zµjl/Ìnoo7ù6o–¶êõ…je¡Õ*·r¥Váú"}¦î;ÄüQ-¡ÿ¼RZ¬TSÍÂ,ýC ßi0S$Òaè£*>”8ETPµYÀÆÍ òšh{[6÷4ËJb5SdÔwÜm2ꋚyŸ]³%Ù‡7©úOƒ?ï›®ˆ. eSˆ+×= 1ë±°ªÝvüÂf×P#] šI\ÑGRí¶ã7/.—ï°pþé qU,u,?AàCÕ~y릱ͭ¶ÜBc5 J÷\¾vIk|#½;en‡õ›ê‡`”Í1º’»®#ª_÷`’ÓöxD*2té’̽ÀyçNÙ–&¹?Ãw…l{Ýëf§HŸžÝ ;Ø#fCÒåöË“¢ššaº<1bt¨›7CÔüü}Ê@:¿^áÊ)|ÐêšÃçÔ¶Y…¾™lËXÒ6övZcF ÌÎ$–O'Ç£%Ðõ@•£„ÑáNÁ8ɤX)~ŸÉÜÑÓ¹:e„Kz,¦Â ƒ$¦yË2û2T+w¹t›a?W*X–«^²hñµÖfôõhòÀe&·ñhy÷“,Ÿ%jˆ3DL½2ܬcÙÐc½ãåÚbõöœ!‡¨;–‚Ãv{¥ÇrrnýÞ%µ¨G¹EÂc6êÇ‘À`í§G 7Ò %K†’H:Q•&<¼$QûJa¡O`”){O<;2#¥¬@ñ­D¾ÿ) ¿6£ÀÇ­OE1Ь©ì#}*±[}ìÀN”ùœÂztˆ¡&mÖÈç)hîPC«¼”¬¡ƒl•CŒM6¹¬•¥î0Ë­I—±iâà¶·¥ò|Xa¢®PЂ3]ý0 ÉÒj W)ÎP‘aܤé1Ï„7Èã%bËeñ“mØT%a åZ[™žH Ð`Í÷®#쇬\ZÀZ¦iA„3Z‰=ÕÿB„ÜhºÜØI8¶ ËÓ©Ä«‚UMK”È›‘xäÏbÃÀ“ÒWø7,‡jÀ·é‰å[¾ËŸAdx fǥ›ÓEóf<âU NÞRÛoíÀß Ü’ø:,ãÖ·=ÍàÇÖ4ë;Ž˹ ûØ6¦Ù¥Íç®Ï4V-¤3°©á΋•鉯嵕ÕÈ{Oðàï5Çt\4©ò:=zŠW… í6"$ƒV·C“I³y$ŒYÁD‡In™],IVAãâÄùÈ·KG{UR ¹2Vj)Т$’}0%]qR»Ñ™+S×k„YCËTD”­êb½¼XÉöÞ¼i|³ÆØY‡7häôÙ¼Aš0œÒ`g¼–Ó×m‘_`OÅ?<³iPõøüö’Ûˆó¸kãG€D ›ëËè'ä·zäû#iò[ŽaIûej™jqp„¼Ö=° &àläþçvËOE&~=Är=‡S>•N™¼†º‰™Ž®vªwQv]2ÝvqÛÕY-TK ˜·° ůÕËì‰@âËÁD•Nêdôz&©·(—f+ -Uõ[¬p‰º©û8öðñtÎèð—‹(ãÒ¡PsÝ :_­æá!ô%B¤/£CE5W- õíÁáo3¿P™-Ôæjúsø–)VŠjÏ%£<Â;Œ¼Üböoe^»ÇEÇ`›ê.¾cg¿íX·†ÙR]áÈö‡¼ÅX· ÀDÝ5³mþÝW ¥úÂla¡\Ö_ l-ǤqÖ|ÌÜÍ7¯p¥×€ÜqÓ:ìÄÊ…¹¹:–n©”õ£¢s{fÞ%¾j™»b‰ ¦åóìIÅúmuž(¶pÁÇåv{Ã6ΨºPÕJ¶Í\]»Éj×5AH§ì"7›‡^±Jan¶^/T+ B´lç±Iy½´;¤âÄÈW²P«êN¬¸v|Ù±X¦Ú› $=ÉÿÚœ= íCX ·õ*îÂz |˜áSIÚˆÞÑá ìóý~oš™:ÍúèÜw\;ÕÓÅ“‚ZJaE&=WHÕÔ>ái†Þ a9*W(.CÀtê*qŠ—$aT8þgñJ}®€}f{.þÅÂÒÎ@|B•äu¡æ @¬Ñ$ «¬îÇ%Ê|gMñÒTaÚ´™ïµ`õx†=[ðð Å3£…a j´ø¸m“{¶•ATL¬å:\),Ó²ðÎôŠ-’ÍÖ®,3?ïs›p»ä‹HñÌÌö[wò´T𯄖BÎlI#®˜ÎªÊ·«äñ]¬(Áy=¿ÕÅnp^Üšò˜0wE‹ z;Ó‹‹–ç‚`GYŽ€ŸÂ'­-é)Ãâû„ ÿÝqÛÙ5o¡Žå ¤óûMW†³`…0>Ö%ÇåƒNº# zé=2߈ù†-ê(ZÜî º¢qŸÛrÚ!rÿ4λˆî„¸k;v¡}9.—as´GVžŠ<Ê„/ e³åØËÁ»‘±šf£~`p÷ŽMNžb µDŸX"ÛµA0SAƒõ•ËÓlåÒUü³qþ}¶1Í6×6Ä]D Á鋾GU9tÛ©€dá ±VTm¯°øÀ©+——·zœîó¸¼%AF+hw=]d›N/Z+ƒªÈòî¢mßÀúV-é™=O¾±>ÍV±š¥da«°êlo#Úð½æ.ìumÂ÷|k ʸ|à»6%“Âb7ƪ^™†‘Ç¥ßúûLÒ"QÈ×+#„=Í–œ]ÿ-²|U]¢îÈ[ÄÛß÷”2<0ixÐkX‘;cx…ËÀ!lšdy`Êì)y5b˜ÀÌ †Iâ"†$¼ÇhA`d>È?H`.#­,0ä*0 Èù~*JÐóü£J¿EéúŒ}­¤˜Ôè™Pçµ…Þ΄ҞÿÅJzðb@7gB1×î ŸPªßyoQ·¥Yü2#[]êÒL*ÒÚ¯BcfºœÿõøiY;UjÅŒTâü/*PU©WÒ|ª½ù—"Psåj í–‘j;Æ#)UVŒB,CõuŒw¢ÔÕ§eÑ8ÔR™PQó¯I ’ŠQ¤&Ê„ª½A¡o2¥lŽud…r)Ï™Ùc¤Pêû_iŽL¨c¼Y¥&Êå”Ú!“ª¡vÔ™PÇX(¥ðÉ# õ<(yc ¥Ô)2ˆa2J‘Ó il,¢®i "z“J™ÖBj_,¦zéU“QÇbRÁÊ¿…J.µÆF%ì&YÄpŒÒ”b·Ù±°9Kã¡®ƒv±;50v¸DV¹:Tk«ƒ ­=„\ÀÂ)M=ÛÙ#4,J5A$’»ðBãÝÇ=¶,)é) 4ý4OàT¦Y£—€ººç<[‘{èPçüÅ=Ø£1º·ðé9÷I[À¢åVf`{T?ài¥Nz–Òt˜,H­w)g‹õøÅ£ÿp¬ºÃÓDÁuXyx‘ÛS-º˜s„aå’# ÇÕFM¡8@®/ñvbv9‰“ £mî3Ì¡ sºÃ‘¦(˜§ÍÝS§UäéR™e×lRøÿÐL¶ºÃÕ|j A¬ÁÒ‰¶èd@Î$l^&MJ^ÃØª#1¡â¢ ) e$ –ÃÝ–ŒA0zÁå­ƒ–„/„ßÃ0G´©J"®ÜÌZ#ŽD¸&Ðú•ºØö-šˆG¢ )Ejlc=¯¬‹tnòÙÓŽXZ¥HëÐÕõ¤|&ΉÊϘØ\o›V–¸ÒU­vs99Ö¿lšƒÙZ¢Æ4fèÉLÈùbýtXx$µî£Ó•׊µÓ„kMˆÐ"4kM‹œˆãpÆ{†Õv¶¼Æä<²7=q ”qËI˜f_lÔëÜ.\XÑ/æ,6€*¡ù”ÑÀY™[,W²k|ü§¬\?A%‘Èa%>B›FÉÊ";5©¢S7’\S#Z.J|âgâ´:¯…B-k¥š™M˜³4t¹ŠUG!2[7y4]fùlFt¾Œ®ÅË©8ÉC‰ ßcˆ`÷«ª ÚõÇ·ˆ©0Žc‡³5¾Ë-§OÕUÍ3<3!ÓŸ¨ñÕ%´ÕÚQjŒ²"ãÕ ¹Ìm˜”+Ré”v.ç+6ÄìÂ|µP™«/$Ä»4qééZy+ú êuÑ›¢yЋ_Ìx:@Y{#Ÿ¤‘±“²Km©éòFl! @ªB … QœÕÖãè·†2ˆ¨uцÃHÈùA4ûžpÜmú:ÕÐñkRdÁž=ÞsLÇ䈞i›×/Qg¬5W¦‹Z!ªº“BfOÁä½Å„AžÝÞLo¥•V¯M9ÓÁ“`K ˆN½ñ¸U4±ªDÒ+È^….¢\@â,w¡:‹yG`×'4ª*‘Äñ#Ê(€M(œG×¢ r7¶d2!%ùäIÁñè&–¡Ù Õ½ ýçOËÚ&ò†s4$J„ &°Ì ]¨É—)RäÎ+ pmm+(‚¯Ûé=·åº‹•ëtƒ×E²+mâ[8,a˜ ’íT¯Ú7ö@MNȑ˛›Æ¥œ‚èLEWâ2)Œ@"Ž ©j¿ÃûŒ@ÚËáÊøD^÷µ|õ•daºÛC3ÅÎë›ib§žRž­B¸¢Ê¥B™ÄPu$Ê‘`­õ×e‰¡i—虊â3"÷ùÑ)â-c# ᩲä¤v£3 ž’ßã%×eôÅjŠXt{T0x£>«…ÇCH‡/Wd‰•í~áIm– üªâU¨úN‘z@uÊ …ƒi>MàPð„—!óQ–-,Xb·]ƒ5ŠB:6nÝ2¬xÖ$â{ÿ +›Ëþ»Ò6ûí¢9H{*¬0@ÑºÏ½dÄÈLlrLÍŒI¿‡Ng·Âƒ(ò°âpPÌWãZ˜ÑƪMh‡in†±'å»m¶EGZ[]È~!îFK†‡~—m ½tBÙïÉ0"¬ü°ƒ˜!òç ä1ްEÖŽå0·kÝ9ËED€$«…ÌpDëK‘=[dM{yå)ØsÓlõúµÓÓÁf¶(qÀ Tœ,FÇJìpýqfÃI…vêj8Zê(ú{{k#& w±?$ä'ÏwwÍ]Cw ¦X´R.¼nS´l‚ %‘w„$ˆ•æ×*?‘ÚTZ‡Ÿˆ=/‰ìÔP²!sV0\FÐ)|I€®ãe:k)çY$פúV¢ŽvÆô75ÐT-©äÊŠûÞ†TÏ}}º(’pª••ä¸÷D˜|ŠÜ—{†Gèƒqë ‚Ÿ Ǽ3Á9Ÿn!¡˜éâCÂ5̯ÿjm¤û΋RñÚe„-h"ªÌSÔ•†7žS˜’²Þ»¬?¯5ûÞKö¶ ,Þõ[ßG.@£T5ëE ùÄáâéšìØ’þFþq[¿Ðþ§69¢@+{Šô\Ê4añߎ´—ÂÈ)sŒ0˨ÔÎVçfnz^q·T­ÍRùéÓ=úX2žs¹Õ%ãWVù[,A+ÑI‹²ƒÓ©ñëQhD åùBunv6°]é"C0ã÷ (›HÅ×1‘ t™-œ(ö)í–€>ì\¡¾"Àëþ\:Î@†¦)' 7 Uqš ‚n‰åÓÚ€Ö–ɵͫGFRè‘øà,xðÔÊ'âw:3䥿wQàƒÖÓÕA¥,V)UŒ[¬ÏfÒñW§Óñ¼‰R¹ã5•ñe9¢¢¤{ã`ÿÝKˆêûÚÕ“2ï-Qö-€,é¿,žÛïDIaQ,£%ƒ ýOl 4¦{Nr¢Fᾩuj¨?R/½_Ò ":Ù¤§7[6ôˆU ÒnFƒH(ÿTÐþt%»©fK7»=SV,H)n²ñs‘áEç ]h Ý íI=›ìî5e£ø#°‰42{ÁåÛç¸à:ˆUÛ6yk'ë6b2N¤iôf /䀙(ógÒY£9ÇN…ñüX2<¶[¸¾[h³œ5ƒ  Òþ*là7´ºµ P¶&ˆê†A=Íœ9Ý·ˆª“Çãèœy=f~Çñ0Ý4g?ÌmC‘!Ðs”¬­æ‚r€aì £Âk)2”+EJ0SqÜS§§¨žyÖÂpÃà“Ìm“H!n?á’ò˜‡ÔEÇÝ3Üv„|Ï <æ9=ñähxÇ0Ñ‹$„ ¥}Às,Ô2¢1„ž±Í;>Œ s»Â÷Ðd*×JsØÀgU«O±‹€Þ°`'Ø.Uè=U4«Í°–èK5âMQ>5ZfÙR®ÒiÞ&Ü~7[3©´-­,{¬}º¯éøû—µýÒ˜f¶}]ôÏ­ž.Í&%‰ÝdÍLÐýW.L³••iæ·àån“ÿèycšµ·ibÓVs»ã5«­iFŸPõmö ¶Æy~ï.[ $ïFÑõúúr¦]L–¤!w¿5”Rª,–gk²ÄM Zãf”@ÄC=RjQÜh$LDQ€Š0¢±(«8U€íR‰f±”–ô—¬ÁI=* ÎV†€ßéìï;^¨Š´ÑuÇPÂfFÏ”‰ò™×GØÃß,&ÏçLËâ†]@çK¡í´^š:îˆÔ?I*Ɖd…M“Ð@N”Šó E÷í2ÁxâuìE±ÁDØk8†(žñ?"(Êí["Páor¯—º¨IEûû¢ªU…ž{ á„¶;èn¾T[(Ì…¨Ÿi¬°•-? C«ëv=Ñ`©iº­¢áÛ;zÆŽ%PD Ë^â혓Ãã6€óÒÝ/š\åŒ×œŒ·¾ôÑï6hÄÉë-C‰ÌÔôáç¥mÞNS•G­Ól 4»z½^ÊX'¶.‘Åã¶>]ꢋ^F t˜Û÷ÚHA¤rZ¥Æoºris‹6*F4»PÖ€ˆÖžˆ…R’W|" À,K¥›b‚`ôZw:M‡ñ„XŽTž˜ˆZ~wÛæö¶›,.­ŸŸÏõ±3ÑüˆÈS0z0! 4 ­ œ íuo1±àôŽ¡ð•ÃGD-YK˜vHfSˆ‚ §ÑMŸd 3’€ê½Ó$ZX]E6 þ :Š(á"¥§àW+‚>wíêæ¥÷µTµBD?ãJ1âB U¹Sì:šž°Çõ+—Ö–·–™ßÏ/IõÅ+a©\/! âåØdp(€Ãp„·æ´ü iV?¢»M¡l'£°ÛLDô D×j0I¦¦™¤ì=4œ<±ìT¥TžÌcÕÊl¹6Ó¸\ÀË…ÁÚ„"¥,C– É–FÛ• ëI†¶¶©–)¦yj’&8 Â7>w(¹™ …:)W-!v¦Ê¢a ÷Âó>"ŸQJnXy•†Ê(áé1“Æ*RK¸':e–pO†ü¦†n$Ä¿ìÀà²4óWç«2~€xIœ=ù bJêU終E‹°‚I*©6J * ÆÀB®‰ã@l¦@†¤ž!WN™¡ (wl"ëè$iuª Zˆ?÷™¡|vŒÀa±ì³p †׆Sôq¹†°Hµòb}ìØa¨#-q#P‹rŠ›)²pvé¶Û­Z¯E‡¼\C?FÄ ò2†À{fxh×ÞL„ú.ÇtD!†‚õ\#z¢\œ×“¾G õ;NÜme®ŠÄf>Y†mhøïÈ­;û{›YTGÿܲ^å3ò*<ñ*,ù*­z}Ó¥*m4•kˆÆ8å©·¥^žxŸŽJA-ÝÛÛ+ö©Ô6ßéó¾‡ÿ)mŸŸ¡,v”Äݽ1ºWês²;bf0¯- ‰)¼×‡ƒ+²?´íôN¯xûbL,ÝÛ3» ÊÎ ä9©™wÆF.ˆQ jÔBùéÛˆžÆR â,³£§ÃPÌ”3•=ï.L(åA“Îʹý«*ÓjmåR‡*(U—¨O' «¢Eè‚rfš‘ª’¢. JM«ª‹D«´:ïiñ«i°\[Mn·0ø>1[U¦‹ìÔƒ—d6F/ž“5F$ª!Æ)z8ÈRËv=ª&7bÒéuÍæ*õBu¶^ËŒŠi"‡0eº‰5ËrŸtÔ7ì8‹GÄé˵fºèž<×ns«é#}°Æ»'o·—Ú¼iö0¸ì¨ç!÷ˆl‘/Õw÷(œ*²ºšiýŒO6ßÉ‹Žk› g÷‹rËH­º®ù<¬gºÍ9Ñoy×5D‚ãärÛŠ)2bÓ ²{‘úF\õ‡Ú¯Õˆ¥¹R5s¿N¾Èdg`P ýšaæ|ÈËÜuÄâ\uzcní›Ôw©ÉÝûGÄUhRëñ !õ£ûZ (ç8¼Å&œUŒÄÁ:A-J*cbT‚ˆ6p9Ÿq€Ë<Çw¡©²œ¢½ÐvlD1B8ÀȽ¦¥­SDƒãRK­(¼>0‰šCEh¶AúÁ7‚÷‹Ï\Blza칈4 [G+ɱÄ)ø…ªÀ¶CPÀ†ÕÁ`ÙnOúî71þP wÄ•ŠXÊÚ’Šd:¨¡˜ë fhn,#€ F&vÇåò!1ŠR*˜ÂÔÍGnÌH BÛ®XfNá CŽÇ¦V1¿xªÈ®Úhuó÷Iï›ê­«›S ©ncX‡o ÀQ¢œ‰ã OC‰{ªRœ+–06Ç=oš?` zíò¤X¦=k7‹Ë8Ö@툴éîšFl’Ï™6h; ]ÊiDÈè.ŽßéŠÑ¦à6ð&›Â=Õ`g0M±\ÜŸÂIv\£ÙÄ(ýU[\4´ûcN«‹€ËÛ2ÒºS–#hRSºFú@P0½ª«zƒV“·C-ŒíuÍVW-nµ|—báá^´ìª<4æ6…IJÓF’ñ—s8ª¨¤3Aë­O/MSË_ý;á"R¸ prÒꊧ)‹+):´AÜF…v¨ârĨ/Ìh#¦…™ÄFÌ3ÉÄZžÅØJ™®'‹ÒÐp-Üäè÷Y¡ Ã…`Æ.™”È’ )’–HÒ#‘*–#0¼|‹’|dáŠé(¦u ¢2HøS<¯²SÃX³¨sœŸ ¶Ÿ»*.#øv8É[ñV5ÚðjŠŠÇVÌ’§ ‡Ì!'Lu¼;¾ægRÒ±j—Wêõr;ep*ƒP›¢}òÂÜQ<Ô¸žœmù¿wÅ4`·å×OsêÍC5ó»VÇò"ÉÖÙ'1À0 ðáÞR±R¨”t6•úîu¸Ô–É]Á ¾âÛ’o:{¡¢jÞ´êP^ly °D½²Ç¨å²j¹¶ÔN¨¤‚²ÎH5ÃÓ&R1‰hÏ™¬< ]»”Œ2AzXb¬ÌÊó‹ðÿ’ôõá=ò R"cfjy-2WªQ]…2²±óåèé]ñc3fŠVò”Eñ—%ði?§ó#PéÕžvT_«y?ðŠeÕ®Ÿ]5<^x‘Mh±ÆeqaM†¿`~ – s$Æs Î`UJÅJ‰w«jñ‹G¿7™Ò´%*„‡ëÏNOª–˜Ãó–Ô(½[ý¿2vû I?o!Ù]Ç‘õ<D~0±î8ý”˜ššn@9vmtM®‘A䉊]zÃÅxâ÷®,½ê€’Òë¡puM:‹“’S=AÃ&*¥òmü’öËÿÚ ]² A® GÑF,®-Ht«ËΈKEù=¢…Îþ£,&Îj»XWà9Sä }X쌼V ¯-µÌâÀßýÃtŒÁÓÁHçaPOcPèžð,®ZÀÙ†ƒîSmØÖÌú¥+×–WŸ `ÔñŸS*èæ6p× MÛÙ>Í GÛT=N3m¦Çyp­o{+šÍƒ3‡ ìE\â˜úË;R®Pü³Øñu>¼ä~ä%«ˆíùt)¬-[uNgejg`: fUY8ºIŸª†CÌg‚iåªdWÇ:~å…Å:hŸÙ)ÌöؼT5šÛ<ŠþäÐ7ïcì-Q‘©ql±Ç;^¢ÎH[ ò#wkR&µßÞó¢™V•1/ؾ°] 0;‘­‹ùÅ{ÝŠ[bŸ¡á4Ebê3E¶Y ÁWžÂ µÓNj‡1åð©É.5+º8N48i”³¾0;·V®‡“zj’áÞ䴚תeø”@‹ózJh8ò^OM’ß·‡q’!˜Ý8ÔðûÔä´EJÝaÃwòtÓïð¼©å’Mùîô7PUƒ­uZŸ a/òVIe’nûØÓÈ‹ï\'zOÐ+fô~™x©ìLú[Óiô‰4à¬Ém‡n!ÆžIîîÓ£{䎖øæ”§Ésì9!ò‹Åä†RÞÿô-DÄFar¨ñ¡ï‡!\e‚ÓXi´ŸEš•Ê‹5…Óõ$sÅû›WÐhUòÝ•ª‹õl <Ã許¦ÏÌvã§p‹”²icÏgq“ÃZu.ô¢•R‹{CK©½Eí^Q¶HŸÍ&… b:¹ÁΣw%!úV“ÀíǾSbm鎥gL×´,Ýqñ—}È/•¶[E¹Æåò㾺ÑRëÀÞq´p×F¾r­<[¨ÖÊ•{Iât‰$Y&I}4¯_¬- ÍEë‡dN£á Ðkö4à­–ˆpéóH ° ¤iì%·KÕõ=Ó•tøl„ȬùÈ4Éñ'“¬©’½&ªJÖŠåDê4÷V€ljдn´·§r;Euâ¨LuLl¡å1‚ÐDuXqÏ  ѽDÔ+(["3ưh~ˆ° ª•Ÿ,¸tpN㥠¦ùÇstQà-¥Èùm¶§ÊNˆ$ÉJ)x5ÌTnÎx]¶yU¥EÙFzÙ’JX9„ò'ÔzÙ'e¶Ÿ¬×´œ&ü×5Y9þXf¼Š\Pl‹£¬™iŒ¼¤8ò]Ãò L`”¯ƒŽÃÔÁ Ä5ƒWÒóð½ô,YÿDÚU-nÞ¦ÞXó-­­m qd½rVAV† J¿Àßu5œ0Ê?5S*ÓUN‰Š¹“$³Âl“h‰´Æ´¨Ýi…µQ˃žxï†ØQð±Ýžž0máŽOà[<€1í7š.7vôŸR„Ó`ÉòÕ,É0=WÉE»À„ºÄØ >4˜ß"ØÛøè‡-+Vó~„M9à:*&6½X‰ øLöhÜh÷!W›OØc›:0Z<àrZ‹¬Šœ»jÈ0ÁÉMíb€]¾³˜gµ…:V‹ªÕ˜g+†ëR°æäf«k9˜ù/¦Ñ¤²%ÿÍË………ùÙB¹\KÄy¦…ÀN§¹o®\Ÿý·\™MÜúýf×'â÷™òðJÎWw™ooŒ så΂Êyw|› QWÀ‚ìøƒ¾?ÐEÑì ŠËi‚£°Ï„¦´9U‰Ãȶ ‘ž‰ýDž‘ÓåÒWé~µdÆß%L™­q»¥ª £oÜôŒ~P¨W±[ãX'ЋH±ÊJB«6paÕ0]‡@ý¥ÀèH‰]Ó>EÄq¤¾´‹¨Exè¦ѹTï™;ÿ£¤÷¸^±1Ŧ@×°è.ð6P`ôƒðÐa£Ïáû„øNPkÁÏôN»¡«f}ܱaQn ŒŽGÝ=n˜3ý† 4fË ›®@»ÏûÜ÷¦õV×E%ÚÁí‘R …“*Á±TAãUev±,[}OPËx£ïJ E%RÊ$yÍ/ôäR}‚F²€@æÊh ¨ž#¥ò(ÉSÑ.™ƒä‰µŠPÞÞfD‚ÂkcÂé tFã=cd¾×ЭŽîìRZ«Ñ¶J1ÈF¥"Úq¶­ò15›HÀÔ]c·qµKÉsJ`ŠÉväøÊ!õåzï[u,˸ûåÄY¸!g"*>¢ïcôNi×^¿bxf‹!0Tv•øªN‘ׄ1CB½ûÔ§+÷ÂG¿Yœš\õ>úÍnÛ”‚£gÀçbk·Ä"ÀÒåÇø …îvå•ÇB€e§&­­I++$–i4¼y‘욌aí£h{”n°4.gÄÙ©ùBÓ¤BTÈuË5l/ÄAF]Y¾Ê´dàª4ßtãûX²—÷í<s€è1‚xÂ"7v罺¢à¸£B{Þs^ÊÖ{×ÐÆã¢Ê>&ay’剴†ùL/¹qV“¾Ì¾þ.EèdgsO*+¶­ØÂÚ;¸=´UqZ˜<*ZþJNv)&2¥ u&ýÄÅ5q(êxî°x15Œ$+•«³’õ¦rÍG^rœRg¯@¢•HĨ燵áŽ5fµ+X<£ïùxøz‚ ›ˆˆœ'̼g›¼‡0Z‰¨µ ìO]G¹v'r\½AX…À»ŒôKWC`¦c+:Y7˜¬§&;…bLŒyÁJÞSd®`ÚúNuª¹P)Q0ù3&ê·¤dGŠéÙÈnÈ+( ?x*Q¯jÛ Œ;”¸kÁ@ž#Ú´lÅä#ßTPïO¾]YD1˜†e9{¬O›O²<Ä~ŽÊG”/2 ¸¬¸Ë·¢$:Mù™bŽÒA#ØæÛ„§',ÄPTÊ„á!¨”¤s›‡B}ºïèJòhN[ L³¹ølcV7P¤Lm³ê¹$Ð~3 —±{i–ð{æk²*¯ÜËZûG³2*õ g$ †'#/«¡Ù•P•. ƒE¨E« ‘#ðÿlÇÁÃ/_Î+n³ÖÈ]Ë ÊÙlä!jÐÛ´ÁîÛîq¯›(áñ-Œ'ëÀÝÀ^BÀnpÁ5.p•{ 0½ôcTBÈËøÅcBj“bçM›¸Äºi·;.ÙT†$È.Zò‡tÜÝT¦2CÈ£rÕç«sU.g 1š'S“õD›*qd¨—H½J=×&ð)Áÿ–íöAô©`õмèQƒQO¥þFp\&n#«æbâ!šÂ5]Ä`˜·­¨ÿd|о€ Þ0lvщNq£x±ˆ¿.y=¯ÈÛ”\‡5Ș—Žaÿ02:-Qà ”3˜²ßÂk2z#È¥B0ߎ´uK6Ÿúy!±Ù¹"U1Z]+:ý&^Ø6𷱏ò44\/´UZNŸ#›å-fáR<ÉvïFßÜG\%|*øæª9¸aQ%ì Ó¶Œ¦ëO¦(ÌÇÞyAXô9õËQ…êÛõ‘?Ã)guêè¬zbž- Gd.°ˆ1ܶå[’W±\ Ñ*…¶Ùåž±‚3´«ï»»2Tä%sÛ±ÚR” Ài™t²Qu÷ÂZÊB'Ñ],•(* ŽuÐ H©Õt©`zd À˜ ²q@u²ñ±#r›„»UCE bê~´jò”·-‚¼>F!Âzp„NÑR ÉS’ØMðÒ´ùö"¨ÎU’õÓ/]Y_žR¢Ît0«H©glN`RÇ`ñq>Ëý¾bÞ¤*ðsñ&·,Ùµfð.ÚnOUJ¥ÙÓAù½r©47S-Ôk¥BKñæ¥o^d$žÞ„Öäƒ2¼ÎO¿K’pÄ? øQ@V¢† ‰é ŽDÈxr‚€œ¹h]dÔNZed ›r 9-?º+®£ü9³ŒL÷ð8ÐĉlW”$'ÏUD¡ˆ‹J¾éô€‘.3éü¯¯WºÈxßÖ+L„¹lW)P_g1äj¿Åûæ¹­ )mÜ0°w[-Ü0—á¼R²CÃD¤6Ûìò½V×ß™få…]K1·¤âä+H˜ ¾úÄå9½aîIÎJAGÿÑö>·ú‘ÚI+’úÚ4¤G©Ùtöéƒò`MLµ¤ £ù ðVö <™â’)ðëè‹Ì&®«mÞ£ÞÛ=ñU¼Í˜L^£ÏbsS?¢Ÿ, ,lñ1UËô„gÄ3ú¤È*uïý>,ùLNŒ‚÷ >Ü(·ÃÏÑÏvl*º£ëKwŸccÞ‚X1; ~¼#žÈÛ¾!ÇœÀÏ¡+Nº_ú7‚;G¸•tÕÙž\-Õ;Çîx‡‚ý¢R],UëÒµ-¥7íåm\š ô …½2ÔÊÈjO –8R2#/%šdÚè!(1J6RÊ‘CBæzõH¹‡îˆ;R ‘wÍ)¤Óx>AEWÞ§â«{&C$ Å”årévQlJaT™¦¡¾-]C½£HÙcùÇÁ¼9¹êô\4'P]o¿¢æ¨8¸ìÄáOF¬ÞCôUý²ƒ A•M^º~I]q·ÀÛrdvá—áw~’‰ÁCO2EÝ¢us0³··7ãu1,yæ&¥X–¯o]¼ÚØ,öõ%LÌ žá¶&®AþùùæLö ±FF‘M^ ¢iÖ!bed+ öy Qõ3^Ääe£åÐClÁÌìAümfĨCµL_ÀÛ I*±wÉnÚ£#×ášË{슱gÜ"qqÜsNÔha¹f“$ºÖ·üŽiëã?k¢tH íÁ¾Ã£¯!Þ•mZç=Úø~Ó9z×ð|ÉdA]äK˸³7ZÊy@{{ Ô9Ûqïèð‘ºXÆÁ5„1kçäZ©ßÔýD™ù(jܦ€ÎȾÙڡܺԽªärwσ$s*iN÷àÆ®9ÆMDž;èAÅ›^Öà›:E£¯ð›†CÜ|Üá â Œrù ë>p.ı¸ds”Sóßc”ÑlÓ2ÛÙ«´ [Š £×õÝ1ã2œ !­c,Ë6•Eð6ûîÁo›[7{ ·©Í¦ßã¶Ð¢šùJ.;]z! ’{Ѽۑï£ë족oÈÛVC_pýæú’,·it Ëà»ùïš.åe);ËV1v‹½üwnë*=ƨë7Ò Ð=¹aì O³‹ZÊØ„›sÃ;@“7!îRd“k´¨4ío ãw$LVfh³NêÉLº\t˜dMé{hòÁç¶È'£…Eb±ðºò}ŒaÃÛô].²®öÌv½Ã=˜%NÄ[Ìòjv ÃAÈ1·}kšªã:4ˆeî;{Ü…_RfÜþ‚¦Ê7Æòz*ßÀ>˜ý‘Ðn]Éò¹ýél¸RÑ\âïJ§k]ôų(Ðë°úíMØ @ñ¹p^(–gáê¾DÜÛFOÀ§"QLé ¯žL߆„PÍYé¦"ºŽï¶¸tSe©þ4†"˜ÀшõLÀÉ¢µ@ŽÂ â}©4oÚ… ˧ƒØcÜ›ŽÖyy£9 aÈ¢·hzpä¬gi&-£Õé( ‡Ì¦üÝõBËqX'Œ3õ8ÆF¯mM3BQ _¨ŸÎðc@6ŸŽ¡Í„ƒjÚì–Ó™HGò>0z°1·}Œ„ùP¬‚×8{,(8ážnáZP†5²w•r—ᜑ5i¶‘©QíS3'þãTÇrš† E…#TÀ8s®¾ÝˆÀÃ`àˆÝ.Ðk£xTúJU$ŝ޳ƒk'F(„á¶ñD×PdЋƒ,Ø‹¾}au÷TÄ®†fôß|ï €D©…ÑÅ^Áë›¶Í]ÑYûQŒT‡ÓæÔæ»2JÝMvlÇëAä¬ÍÛØ€; ù‡ûý ˜6õSäRÜ@}+´ êZ\ì‚úæÈ°ê.,™Àá"y!PAÑë‚Ó¤]aÑx)|&¢Ê£„I‹ m"b¸'´K×ñû‘¦mµ ¯$ÊDº’—2lbû=L—‰\éà ØsÜv¤ p@‰8vt¦B ‹^ ‰)ÒÑó› ®DZà!Ó¾‚ökDºD—ã“àÅ5£_}“¾)u™z¥Ñßf»mq4Äi_¸J@åÅ$#Mœì}òåÒÃnR‘èVeõd@9*2ÔF§˜zHÌLÇçòŠÓÙErwñH¬¾‹›Òµ]"Ñåå n^~'Ž#øvÁw-õŽ¿Œ`Çzñ » qÊÝ…~bE’ˆö@±ÑÊ”%txÛtëæð>Q‹¥zKé-Cs$C[drØ4cõ†F&¬Œcô&D&í‡ct Œƒ,nc2û1eó£cÄŽ—\Ïì“‘Ž‘….¶ñ†ÙÇ¢•öÈì6^O2§1aK‹õL3—‰Y’ŒIYzŸ4˜z›piõŠõÍ0lÉ[öL&MY±NC¬U¢£n™ŠõNŸ$Ýï’Øãnüé’fŸ°½°!åj¶!¦ C±i¶ê±óÄ:dšrt¥÷Ö)ÇP2„¥*‹ðŠE!W0 ¹\§˜°ì¯ÇtýBÖëŽßÁì®x®Sޤ­ûí J€È'–'y׆‡¨i.lc7«\…#¹¢>Î4ŽpjE&³œRVV1+„ i„–é*~  •T¡žÇÿZžd«;’Wuò¶«¦'NŠœ¨ˆ™X”OŸ–ámÓÌÆR®aò(g®¬¥hk•‹?%[¡]ÏVUyáwXEä' ´Ê"{wRÝ:‘y¦G¯v]ršDÜeþ —,•¨-—èL> ¦æ?>-E8¤»ˆmh*[,YØH)ÝFI¸hóÁŒ ßöfT§™dú\¢PŽÈø=ÆŠä‰Búc?cúcí¶‡¶®Öè ·2l›Çò9ÓJÔýçþ°HýöM»Øš&̃¦5ºí‰ÅsöÒ½jüؽ#·Á8Jõ¦ö‘4›TyAã‚Ò“¡þÑ=ŸÓˆ‘4@dt@9$š@åù"p%ÿwWÓÜÈqž¥•öC”#W,'‘%—ÕZ»ÄeD€ø&Hom-Éýô.w)`Wq|Q†Àq0Ïär+9¤’CrÎ/ð%•œRþ©èž{¹çàTþ+ïGwÏLϤ$¯¤²%˜éîéé~ûé·ß÷ydëôõþ Öþu×z°¬F„#«jJ¬VBE(‰"6UÞ‘•DÓ ÿᙇg‚&•“ÀXp³ü(½U}Nx'ž9>‰Û8ùxœ1CÓ"õN[.`aÔÙÑ–'j§yJB"׿6ÿ—ùYrÚŠ—I”‹¥§eæÊe‘×§îÍÎ8x[§Ë¥Ž¾'Ïk²ä'®©¼ŒÇ$#bõ]xyš &C^é3ÓÛjDÍÝÙnv·k[ùém¯ÿsqzÚã"KÏé'¶öò,>o­pü 6àÊßQÖ SQå‡;#hɴ¶Vmå¶Sy2Mbü²— Ñá¶¥L–9ƾþtB?ÝbÊET 5IÕPÛÒ’Ÿ˜ ï•Ú=Üó÷Ÿ$ úÄžÄQú+Æ%kèéT¬ñ® ¼¡|'%3ûþê>}OOA©p:Þ4š˜_çS¾Ò—Ø”¤Ä_¹qâ‰ÏkƒbÏoBn¹:ž<¯ležYtIJå(õ  Å19Ÿì<ý}¸7ø$¸_àá"±ç5äŽå9vACö|ÿø<­R¹önÓ?ä5ƒã_óqw8ñÁä¤_`)™ùÛáÜû®|#æZñ{xRgò!X1v?Ÿ2I™ øÌŸó ì‡3ÖóD)Þ…è¬ ¬ûÁhÎTxpA`Ïæ.ûc »9qüyèž)²BÈ»pŽüÒŸ«e\ZŠRÀÙV%3~!~}6ÌûQF¬ –ÞS"EÖiX ›Jø|äû#×FkÞSö\>ìƒé Ù£çÖW–…Ds°ødŒù‰ëu$›Ç$ÿ–&æú‚!AÒp¾öy*‡&?~—w††¿eä 2KMó-ú’Î8ôèϤNøiŽw2f†Ê3"ct(±«.!‰q٠ܥ2¹Ú•ZWwr»™ï |7ļBRŠßådÒlLjŽø ß3ÑI¶[ð ‡Þß~ôàÙ³ÂïaöýÁ1ØÒ¿xÌM0‹©W;Õz;ùíµÿý u—UÙ+ԉᕙC™8Étãò¶Ê€mO` -±X'fÞG*¹)ð9¼ú©?13.2‚É_Ú_PÖü1q`Ž;׳¢âå?1g‡Xnu<šÈ™Ÿhê…¼‚¹9ð`+hÛ´¤¯Õ /­yéxã3(‚N«,ò+j žàFûëlÓá°®L­ Œ×¢›b?>°︎ Æþr- ç‡|¾Ý³À¶«©aõÐ<œ[’2öT!Xá~»@`½fŸOgR`‘>y3º®X38ó)êBü ¯Š¼ªQ¦œýÂÂØ'9w1Hí"}ÎÀhÏ*“ðdШպձ¸AÇx“¾&'Úلû„4.Ü'ÓÙE™*GÎ å¬×Ò÷½3±ï"€ƒ5c‚,HìÚÙýújÝÅ **¼DÜa"Í >,¼²Àw†çȃ°:^O}•jË#Ûƒ!@Ù‰ûÖà‘uö ׯÖèÌ7T¶²¯‹{›0N6‘&µITТx˜PT»ç‹Fw«Vï¬}ÃmíÏì›Ssœ¡±våÕݰS©§¼÷†Ý„ ÝÀ?Me¸^ à]™b`@ÉrYµtAÁ q`ÃnÉ:.Yþþö‚ÂQ! CiúŠ™AÚÊ’o»Ô<ñâEûñì•Â’c‹H#þëÿ¥Y)\ÿ´â¢¿v¦¥¤¨ÛÌø®³ÁÜ{Å-OUf`0”ÔA,9“`[J–w³`Ì{Uñ蕦3±`Ór&ã³8ìšÙ–(I„òO]rÆ?/ÌJ ãðé Šœ›XH‰ ûbî0 'dÑbI1Ä9hÓÙµg”“L.™‡XM*ÆraÞU…JûpÂHR–(å ç‰j.æìZWBóñ–Ó±3Cå¤À ¸ƒÏD‡ÜèÛzsÎg[hì™þ?«6—w+Їšµ¿jú#~Ñ€gÇ|T¨-œó¸“7,R"n§•ˆ;Q’K­ÚM$¹`j “ãë˜ÍÙaò§`6ËBÝR ë)'OŸÊíòk òγ Ð7æm¨„ÿƒÿd#²Ð=‡»-‚ôEåhÌÎVrIÜα‘j- ©U˜Åù4‚ã¬@ÃàEep—# uAY¼æd”Wˆ™XìQ- †ÂEÏœ.2³&.öB —[A¥—lIN+¾ Ä®ê@: CÊ€l@¤‚àèÂkw1t›¦º4cU‚FuKràvTo&¿&x‚Ѻ86ñÍò« Å… ƒ‚âí¬ç‡B¶ ·ÝÚ®ç Š¿—qÌüêð.ð妸÷K8wó™ü¿+ªá q%\âˆú21¢›Ð ¶´­=‚éÖ–æ\aI”r5 ½ßK¨%I ¦,üøæþN¿o|÷oú”;Æ{áL阻´8^ì} H¥U¹¨Û½ŠD1ÉcVùOänv]‡"ö®f{6oºˆM³ñ7ŸÁŽÄŸ‡»:u¹'ŠÑW<Ö®÷VŠ­ús€ÈáKg’Gñée`_rÀ;‚‚¾íUž#Ës^âuûÖ4EÌþã$Iÿ^¢‹qìQlg(éßø‘Ø aWrzzZ¥W\õ_p<ÎÆt~¸o¶eÊ–fÔña4ŒDmsþ§zSÆå™¼A¿™2;Œšé• õ¾ØÒ¥¬%J¹™?2ÊyõÈÛÞn6ÏZÄ…¨Ð¢fgÙS¹k2õ5Û¶Ç)‹ír™U ±Š¼½{6³Ù´êrW‰o­!ÞHbeƒiv/·Ÿ%4ö“¾mM`ĆB†~ò m$¤|’qõ5Ü—×›Óø®h9!3†èß#ÃzÇaÚ²»Ã¡íΑÁ×Í=4‹ñéÙÃáí¡Md6³ î.ÁN«¾UÙªmF\‚)³Û£É€À1©öÎQq£ÒhµZ•V#F™ª¸ýqù:›ð6[•­n§›_ç#û„Ÿõy8ޝq篴ÑíÖ*›­Úf~¥Ÿ:|xzý‘?¿x•ðR7»J»ÕnæWùD7öæah»îõÌ“ÞÔ}¿ü­E‡ ×Ÿ¬Bu鯶 “Úív-¿±wü9uÏ.*~uv›õNe«]+è EÍû ’:7ûÇ@—þƒ¨õÑh2etͰ·¹ÃV(N¡¿ñ¿hS´Ð<ºJW„:èHz¬¬O\²”|¤1ª¢$Ó*ûX3KO€ý5,í#P,äÐ^¨ Hb«ƒcÖ €•eŒ.b¬aú‰åR˜ûj¬ÆøcG³ó¤²ªgŸ®È ìèl+t ÅF3gc'âVnvù…«Iݨa¸š©N#9õ¹ˆCtÌY®8Qš^¤±¯Ê#ýÔÇBïô %Xp¶*™ ke&Œø—j— Xç2 Þ:V·Ày®Lj©Öëë‘–j·ÓÜÜø" «'µV­êÔº·Ö¸0¤ŠI•uƒ|+I)Ö­Ín¥^iuê­JŒR¥ukM« å6IìZ®5™Ã;Ç2»‰2»5LÏoÖ›µv~Ü„i³½µU»µösòý­*}%0êŒKX% :„•©ÆÚõޤŠÊÞ,4f’?Ñ3ªü¡Rí ÆH“³.¦Ç£G˜ÒíI§v½š"䪷‚˜U½‘(×b«bÕŽ==¹ÚqømÐÅÈ*“™™†‘ð«z>=xVð^¢¤l·þÇØF¼)øa5¨p*@G®Æ]—;*Beó3~a ô@4¦38…ÞJ¢Œ×ÿ±Er •$£ˆAæw`Mˆ24z‘—|yEáݱåú–týÁÒ,h].u»^xùvZd¬°¥È-ôÊ7?‘j¹¼VF§¼ \ Ë«;.6A«Z©»õ²¥èAÆä£õ‰ 0†Êõôë¿™DË k60F1/íº¬°fWÔêÛÍ­sèA•¥¬/å7+kmìÒnµ·a3„'Äaþç»ÆÊ&q¼ò¯æM(´•KA¾é¹3òj³ŠÂa¦5ï¦j°jšîÙÚc]:´v>ñi©‚OûÎ @wm!XÚ‡U%¶Â‘í¼ô»h‡ö ?üò_)’Âñƶ˜q‘뉸!³ÐrA4N{€}¹6^Ú|Š` Ï!r‹ë[αE;Ä;öaÏO gVqüÖÙöÔ:Sì¡Á±•âÎ,°[à݇ýƒ½GŠª¦¨4<9 ÂêQ”³«Ò±Éó÷ÀF¢hÕdZTOqD¯9tF+·y»Ì5ý30ðä¯a„hnÉÈ_fÁÇr¥Ç²¯÷,ï8E@/ûÄ ðlruLo¬¥;!™·¬½Ê¾6¼¨Ù£œH\ ý1ÁŘ]3ÏÙ÷î93):=™âaß} ÖFtã¹Ñtóôt›`OUl9Ý&4ÝL¼©¶:iÊÌ•vfÒMì ¨”n\þú;×E§O/ÆT™Ø+,¾¯VéÃù(,Dz?ìUƶ;½]tMMg’žxÉÂ6zŠS.ܘsïxeI?.[Ê–¨µPƺ.cÂɉòy&þ’ œPÖMŸ(*K¦Á X­$^‰Ì“äÉAS$Ø©,ÔÈæH¶/‚Kêª6ŸÈ&F< ×6AÄ ‚^OM~uB=ñY®®ÏžÒÉl\š»ê†ä»º‡ž.ªƒžRú6°×y ÝwÁg¾º‘q)€nÅ]:2íNg/ððrÝ‚ÁyDi#CÄSXÅd„É®’$[¥x‰á#f®D‰+l£þÓL\q$à|Ö¢<•—ËÀÅD™S[.×åþ—¿9”é&á—¿ †—1-ø»:²àÇXŠfÉ”—¯6ä›Ìö¸¾N:2÷µ¿Ú:S5tˆ øÈØJ×T„<Ž|=ŽÖ9F•’ŒS•ãJì©ö.ŸZW«òQX*'45®\šíLZÑÈìž«ÙRÙÍ Šô\ê‚UB½Õ8ÑwŒ<œÚ.š¶(!40s];ÁN~2˜¡â}_N¨ôM@-&8ûÓ™3^ÇÃ|Õ}€¬Y$Y”V\ŽO™rÕ½«€j=Š)5.9Ù¹ÛCßæÐ‚?Ò¢IÀM$å€'ƒ2À†"³Z8ƒŽ‹#6Àxo{^ƺÿb³…ã¿BùéEª5­k¤Ü‡1…#é;TB=è6MÜ]s©>¼æj¯rŽ}&¬„§NDÆ\R¨4 N^²Q4®ÿ²˜BZ̲§¹1»Èg‡dûDÜÞ%iûÁJ‰ª@«çîGk"ö«‚­G”¶D³^’€‡™ +Ÿ$Û}³Àð—†ÜmMQolã9xÓÊâX~*î…¾oÆòÿ`iX±Ïk±“ËDzüÆt6Šñ̳e¸¯ÎC…Ìi+%àl!»ƒÌäÜQõíÙ|jÜq™ „ö Ô¹œL9¾–LdÓÚlo‚•ØLË>ÿ Ž8×{7` D.ðuVÍETl ¢6;[Ý&˜ÉöVª û–;ðÝ Ÿi¢šÈŒ1áïYäz–å"[º#j­­J»Ûh§ˆÞÀ3{>SÀx»gÕsñ÷Шlv[5èˆFú=\Ô ö?zdNc#SíõC™uºBæRCä@;ùS'´UCÐw@fbysDEUñ CåÅí …P8”6nFYÂè ¢?Vøé1ðnÄ|ªðÛÓ'bá}ëâ>&»®Â¿ÌW×U>6,¨ÉÇ}²ÚëSRôªj¸.Y»ƒ‹°´É)]Ê#—=ýóYÚäõKúæ^ÿhà:Ó ¨ |ž ™rÐaf¶LÇ$nx!©Ç×"…Á£P âm#<°R¿cÉ£±üØàîÜ^‰ß MB­œ8‚ɦӡڊ¨ç”³/À×ø¾ª›%óÛ­©£_™ xE«Sè¶cL%'Ç |Bn ]ù÷ìµ”Þʉ5r1ˆ¢s‘â"=bä¸\ Ø£Àø‘øéÖ"of¬µÄm莂F˜žNØU›S¯ÂCÀ ¬lÕ˜í¥9qÍ yÊWùæ³Þssÿ7©_‡”¶k[)Á¥ü˜iY¬4GßOTিR‚ÿI®fZŒÁüçYNÉÐR/L2,M®F‚–¢òâWzm¹%•‰háÚTed­b+Ã-%Js&äZP*^Q›ö[Ëx=¹Ÿ?4žûfrù]*Ðék¤VRNߤŽþQ~¹­|›£oòêº6/à°|Ïü6ÔüíÊß?0» úc^ÀÅù­Þ ¸ Õʸ„7ó-°çêcã‡ç1¿¹L@OÎjoUaòLæÈÌòAÃ;Ƀã×sCüìÄ Ñ6©ôˆgŒb,”ƒ¾À"„wžÊk §Ð×b öˆ©+a]>#¢ç¡µH¥/ðñe‚Ýܳ(^Ê.—²ÎÝ.g…ñÌkqD3tBzœ¬© CÓ\-×r1”~ë?E‚ˆT`g‰³áW沘^ì~Ö¨Õ·*µ­J£AçE³¹BK•³Ul‰[ÚÃÔA_B½…¼í­e} E–x‘ÉXl˜Í ˜‹¨M7˜ùU#•F]¶iK¼µÏÔC d¥9ÕØ!Llõ&®J¡qõâ¦5˜¨Nÿöѧskˆ*Nª“דºƒyžÕðDÕueT#}S9Â#uÙt¬[pùÔr‡šµòì”ú¬D¿Õçê›iO >°Àˆb˜r#ÅîUS'<ÇL·fªéxD¬fºtZ?ôÔ•W%ÚWÕX(Ä­º÷‘xý lAƺÇsž?ÔOGÑòmiT-Þ|rdžåEõ n°T´qi©_  T}W‡ÎÑ‘ø…ªöh¤› {ä*¼Ÿ£ÝWXá^Cózm³®Š%y×ädæE/ù تx;¨ê P;d2‡R¡ÜÀžÆõ z;¦^ŒTfFF4Õ,è²_«A÷Æ]ÕyoXšˆäŠ$W‰û+Uc8ÅÀ]Ý <]¦ˆõ£’‹Q}€J檜{üdªF\H'/ôz@}îeÕež ªÞ S¾â\›ØAü-_&3õã¯an¡Ä´zÞQ¨Z}…C[ô´¤(U íäSŽêËK½ŽžÚ;ëÊ®ô†h1Tz묻íÐ9‰ Ë,z¯®ÖZqj¼HRyY¶dŸ“·2Iˆl%¶É¿){B¶óHÛn 400] <- Inf) ## Modified cake data : cakeNA <- rbind(cake, tail(cake,1)) cakeNA[nrow(cakeNA), "angle"] <- NA ## Create new data frame with some NAs in fixed effect cakeNA.X <- within(cake, temp[1:5] <- NA) ## NA values in random effects -- should get treated cakeNA.Z <- within(cake, replicate[1:5] <- NA) test_that("naming", { ## baseline model fm1 <- lmer(Reaction~Days+(Days|Subject), sleepst.a) ## default: na.omit fm2 <- update(fm1, data=sleepstudyNA, control=lmerControl(check.conv.grad="ignore")) expect_equal(head(names(fitted(fm1))), paste0("a",1:6)) expect_equal(head(names(fitted(fm2))), paste0("a",4:9)) expect_equal(names(predict(fm2)), names(fitted(fm2))) expect_equal(length(p1 <- predict(fm2)), 177) ## predict with na.exclude -> has 3 NA's, but otherwise identical: expect_equal(length(p2 <- predict(fm2, na.action=na.exclude)), 180) expect_identical(p1, p2[!is.na(p2)]) expect_equal(length((s1 <- simulate(fm1,1))[[1]]),180) expect_equal(length((s2 <- simulate(fm2,1))[[1]]),177) expect_equal(head(rownames(s1)),paste0("a",1:6)) expect_equal(head(rownames(s2)),paste0("a",4:9)) ## test simulation expect_is(attr(simulate(fm2),"na.action"),"omit") expect_is(refit(fm2,simulate(fm2)),"merMod") expect_equal(fixef(fm2), fixef(refit(fm2, sleepstudyNA$Reaction)), tolerance = 1e-5) fm2ex <- update(fm2, na.action=na.exclude) expect_equal(nrow(ss2 <- simulate(fm2ex)),180) expect_is(refit(fm2,ss2[[1]]),"merMod") ## issue #197, 18 new subjects; some with NA in y d2 <- sleepstudyNA[c(1:180, 1:180),] d2[,"Subject"] <- factor(rep(1:36, each=10)) d2[d2$Subject == 19, "Reaction"] <- NA expect_equal(dim( simulate(fm1, newdata=d2, allow.new.levels=TRUE) ), c(360,1)) ## na.pass (pretty messed up) expect_error(update(fm1,data=sleepstudyNA, control=lmerControl(check.conv.grad="ignore"), na.action=na.pass), "NA/NaN/Inf in 'y'") sleepstudyNA2 <- within(sleepst.a, Days[1:3] <- NA) expect_error(fm4 <- update(fm1, data = sleepstudyNA2, control=lmerControl(check.conv.grad="ignore"), na.action=na.pass),"NA in Z") expect_is(suppressWarnings(confint(fm2,method="boot",nsim=3, quiet=TRUE)),"matrix") expect_error(update(fm1, data = sleepstudyNA2, control = lmerControl(check.conv.grad="ignore"), na.action = na.pass), "NA in Z") expect_is(suppressWarnings( ci2 <- confint(fm2, method="boot", nsim=3, quiet=TRUE)), "matrix") }) test_that("other_NA", { expect_error(lmer(Reaction ~ Days + (Days | Subject), sleepInf), "\\") fm0 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) ## NA's in response : fm1 <- update(fm0, data = cakeNA) expect_true(all.equal( fixef(fm0), fixef(fm1))) expect_true(all.equal(VarCorr(fm0),VarCorr(fm1))) expect_true(all.equal( ranef(fm0), ranef(fm1))) fm1_omit <- update(fm1, na.action = na.omit) fm1_excl <- update(fm1, na.action = na.exclude) expect_error(update(fm1, na.action = na.pass), "NA/NaN") expect_error(update(fm1, na.action = na.fail), "missing values in object") fm1_omit@call <- fm1@call ## <- just for comparing: expect_equal(fm1, fm1_omit) expect_equal(length(fitted(fm1_omit)), 270) expect_equal(length(fitted(fm1_excl)), 271) expect_true(is.na(tail(predict(fm1_excl),1))) ## test predict.lm d <- data.frame(x = 1:10, y = c(rnorm(9),NA)) lm1 <- lm(y~x, data=d, na.action=na.exclude) expect_is(predict(lm1), "numeric") expect_equal(1, sum(is.na(predict(lm1, newdata = data.frame(x=c(1:4,NA)))))) ## Triq examples ... m.lmer <- lmer (angle ~ temp + (1 | recipe) + (1 | replicate), data=cake) ## NAs in fixed effect p1_pass <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.pass) expect_true(length(p1_pass)==nrow(cakeNA.X)) expect_true(all(is.na(p1_pass[1:5]))) p1_omit <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.omit) p1_exclude <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.exclude) expect_true(length(p1_omit)==nrow(na.omit(cakeNA.X))) expect_true(length(p1_exclude)==nrow(cakeNA.X)) expect_true(all.equal(c(na.omit(p1_exclude)),p1_omit)) expect_error(predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.fail), "missing values in object") ## now try it with re.form==NULL p2_pass <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.pass) expect_true(length(p2_pass)==nrow(cakeNA.X)) expect_true(all(is.na(p2_pass[1:5]))) p2_omit <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.omit) p2_exclude <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.exclude) expect_true(length(p2_omit)==nrow(na.omit(cakeNA.X))) expect_true(all.equal(c(na.omit(p2_exclude)),p2_omit)) expect_error(predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.fail), "missing values in object") ## experiment with NA values in random effects -- should get treated expect_error(predict(m.lmer, newdata=cakeNA.Z, re.form=NULL), "NAs are not allowed in prediction data") p4 <- predict(m.lmer, newdata=cakeNA.Z, re.form=NULL, allow.new.levels=TRUE) p4B <- predict(m.lmer, newdata=cakeNA.Z, re.form=~1|recipe, allow.new.levels=TRUE) expect_true(all.equal(p4[1:5],p4B[1:5])) p4C <- predict(m.lmer, newdata=cakeNA.Z, re.form=NA) d <- data.frame(x=runif(100),f=factor(rep(1:10,10))) set.seed(101) u <- rnorm(10) d <- transform(d,y=rnorm(100,1+2*x+u[f],0.2)) d0 <- d d[c(3,5,7),"x"] <- NA ## 'omit' and 'exclude' are the only choices under which ## we will see NA values in the results fm0 <- lmer(y~x+(1|f), data=d0) ## no 'na.action' attribute because no NAs in this data set expect_equal(attr(model.frame(fm0),"na.action"),NULL) fm1 <- update(fm0, data=d) ## no NAs in predict or residuals because na.omit expect_false(any(is.na(predict(fm1)))) expect_false(any(is.na(residuals(fm1)))) fm2 <- update(fm1,na.action="na.exclude") ## no NAs in predict or residuals because na.omit nNA <- sum(is.na(d$x)) expect_equal(sum(is.na(predict(fm2))),nNA) expect_equal(sum(is.na(residuals(fm2))),nNA) expect_error(fm3 <- lmer(y~x+(1|f), data=d, na.action="na.pass"), "(Error in qr.default|NA/NaN/Inf in foreign function call)") expect_is(refit(fm0),"merMod") expect_is(refit(fm1),"merMod") expect_is(refit(fm2),"merMod") ## GH 420: NAs in training data should *not* get ## carried over into predictions! fm4 <- lmer(Reaction~Days+(1|Subject),sleepstudyNA2) pp4 <- predict(fm4,newdata=sleepstudy) expect_equal(length(pp4),nrow(sleepstudy)) expect_equal(sum(is.na(pp4)),0) }) test_that("NAs in fitting data ignored in newdata with random.only=TRUE", { set.seed(101) dd <- data.frame(x=c(rnorm(199),NA),y=rnorm(200), f=factor(rep(1:10,each=20)), g=factor(rep(1:20,each=10))) m1 <- lmer(y~x+(1|f)+(1|g),data=dd,na.action=na.exclude) expect_equal(length(predict(m1,newdata=dd[1:5,],random.only=TRUE)),5) nd.NA <- dd[1:5,] nd.NA$x[5] <- NA ## ?? not *quite* sure what should happen here ... predict(m1,newdata=nd.NA,random.only=TRUE) }) lme4/tests/testthat/test-predict.R0000644000176200001440000005133014636101145016652 0ustar liggesuserslibrary("testthat") library("lme4") library("lattice") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } do.plots <- TRUE L <- load(system.file("testdata/lme-tst-fits.rda", package="lme4", mustWork=TRUE)) if (getRversion() > "3.0.0") { ## saved fits are not safe with old R versions gm1 <- fit_cbpp_1 fm1 <- fit_sleepstudy_1 fm2 <- fit_sleepstudy_2 fm3 <- fit_penicillin_1 fm4 <- fit_cake_1 } else { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) fm1 <- lmer(Reaction ~ Days + (1|Subject), sleepstudy) fm2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm3 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) fm4 <- lmer(angle ~ temp + recipe + (1 | replicate), data=cake) } if (testLevel>1) { context("predict") test_that("fitted values", { p0 <- predict(gm1) p0B <- predict(gm1, newdata=cbpp) expect_equal(p0, p0B, tolerance=2e-5) ## ? not sure why high tolerance necessary ? works OK on Linux/R 3.5.0 ## fitted values, unconditional (level-0) p1 <- predict(gm1, re.form=NA) expect_true(length(unique(p1))==length(unique(cbpp$period))) ## fitted values, random-only p1R <- predict(gm1, random.only=TRUE) expect_equal(p1+p1R,p0) if (do.plots) matplot(cbind(p0,p1),col=1:2,type="b") ## neither fixed nor random -- all zero expect_equal(unique(predict(gm1,re.form=NA,random.only=TRUE)),0) }) test_that("predict with newdata", { newdata <- with(cbpp, expand.grid(period=unique(period),herd=unique(herd))) ## new data, all RE p2 <- predict(gm1,newdata) ## new data, level-0 p3 <- predict(gm1,newdata, re.form=NA) p3R <- predict(gm1,newdata, random.only=TRUE) expect_equal(p3+p3R,p2) if (do.plots) matplot(cbind(p2,p3),col=1:2,type="b") }) test_that("predict on response scale", { p0 <- predict(gm1) p5 <- predict(gm1,type="response") expect_equal(p5, plogis(p0)) }) test_that("predict with newdata and RE", { newdata <- with(cbpp,expand.grid(period=unique(period),herd=unique(herd))) ## explicitly specify RE p2 <- predict(gm1,newdata) p4 <- predict(gm1,newdata, re.form=~(1|herd)) expect_equal(p2, p4) }) test_that("effects of new RE levels", { newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) newdata2 <- rbind(newdata, data.frame(period=as.character(1:4), herd=rep("new",4))) expect_error(predict(gm1, newdata2), "new levels detected in newdata: new") newdata3 <- rbind(newdata, data.frame(period=as.character(1), herd = paste0("new", 1:50))) expect_error(predict(gm1, newdata3), "new levels detected in newdata: new1, new2,") p2 <- predict(gm1, newdata) p6 <- predict(gm1, newdata2, allow.new.levels=TRUE) expect_equal(p2, p6[1:length(p2)]) ## original values should match ## last 4 values should match unconditional values expect_true(all(tail(p6,4) == predict(gm1, newdata=data.frame(period=factor(1:4)), re.form=NA))) }) test_that("multi-group model", { ## fitted values p0 <- predict(fm3) expect_equal(head(round(p0,4)), c(`1` = 25.9638, `2` = 22.7663, `3` = 25.7147, `4` = 23.6799, `5` = 23.7629, `6` = 20.773)) ## fitted values, unconditional (level-0) p1 <- predict(fm3, re.form=NA) expect_equal(unique(p1),22.9722222222251) if (do.plots) matplot(cbind(p0,p1),col=1:2,type="b") }) test_that("multi-group model with new data", { newdata <- with(Penicillin,expand.grid(plate=unique(plate),sample=unique(sample))) ## new data, all RE p2 <- predict(fm3, newdata) ## new data, level-0 p3 <- predict(fm3, newdata, re.form=NA) ## explicitly specify RE p4 <- predict(fm3, newdata, re.form= ~(1|plate)+(~1|sample)) p4B <- predict(fm3, newdata, re.form= ~(1|sample)+(~1|plate)) ## **** expect_equal(p2,p4) expect_equal(p4,p4B) p5 <- predict(fm3,newdata, re.form=~(1|sample)) p6 <- predict(fm3,newdata, re.form=~(1|plate)) if (do.plots) matplot(cbind(p2,p3,p5,p6),type="b",lty=1,pch=16) }) test_that("random-slopes model", { p0 <- predict(fm2) p1 <- predict(fm2, re.form=NA) ## linear model, so results should be identical patterns but smaller -- ## not including intermediate days newdata <- with(sleepstudy,expand.grid(Days=range(Days),Subject=unique(Subject))) newdata$p2 <- predict(fm2,newdata) newdata$p3 <- predict(fm2,newdata, re.form=NA) newdata$p4 <- predict(fm2,newdata, re.form=~(0+Days|Subject)) newdata$p5 <- predict(fm2,newdata, re.form=~(1|Subject)) ## reference values from an apparently-working run refval <- structure( list(Days = c(0, 9, 0, 9, 0, 9), Subject = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label = c("308", "309", "310", "330", "331", "332", "333", "334", "335", "337", "349", "350", "351", "352", "369", "370", "371", "372"), class = "factor"), p2 = c(253.663652396798, 430.66001930835, 211.006415533628, 227.634788908917, 212.444742696829, 257.61053840953), p3 = c(251.405104848485, 345.610678484848, 251.405104848485, 345.610678484848, 251.405104848485, 345.610678484848), p4 = c(251.405104848485, 428.401471760037, 251.405104848485, 268.033478223774, 251.405104848485, 296.570900561186), p5 = c(253.663652396798, 347.869226033161, 211.006415533628, 305.211989169991, 212.444742696829, 306.650316333193)), out.attrs = list(dim = c(Days = 2L, Subject = 18L), dimnames = list( Days = c("Days=0", "Days=9"), Subject = c("Subject=308", "Subject=309", "Subject=310", "Subject=330", "Subject=331", "Subject=332", "Subject=333", "Subject=334", "Subject=335", "Subject=337", "Subject=349", "Subject=350", "Subject=351", "Subject=352", "Subject=369", "Subject=370", "Subject=371", "Subject=372")) ), row.names = c(NA, 6L), class = "data.frame") expect_equal(head(newdata), refval, tol=5e-7) }) test_that("predict and plot random slopes", { tmpf <- function(data,...) { data$Reaction <- predict(fm2,data,...) if (do.plots) xyplot(Reaction~Days,group=Subject,data=data,type="l") return(unname(head(round(data$Reaction,3)))) } expect_equal(tmpf(sleepstudy),c(253.664, 273.33, 292.996, 312.662, 332.329, 351.995)) expect_equal(tmpf(sleepstudy, re.form=NA), c(251.405, 261.872, 272.34, 282.807, 293.274, 303.742)) expect_equal(tmpf(sleepstudy, re.form= ~(0+Days|Subject)), c(251.405, 271.071, 290.738, 310.404, 330.07, 349.736)) expect_equal(tmpf(sleepstudy, re.form= ~(1|Subject)), c(253.664, 264.131, 274.598, 285.066, 295.533, 306)) }) test_that("fewer random effect levels than original", { ## from 'Colonel Triq' summary(fm4) ## replicate 1 only appears in rows 1:18. ## rownames(cake[cake$replicate==1,]) predict(fm4, newdata=cake[-1:-17,], re.form=~ (1 | replicate)) predict(fm4, newdata=cake[-1:-18,], re.form=NA) predict(fm4, newdata=cake[-1:-18,], re.form=~ (1 | replicate)) predict(fm4, newdata=cake[-1:-18,], re.form=~ (1 | replicate), allow.new.levels=TRUE) ## p0 <- predict(fm1,newdata=data.frame(Days=6,Subject=c("308","309"))) p1 <- predict(fm1,newdata=data.frame(Days=rep(6,4), Subject=c("308","309"))) expect_equal(rep(unname(p0),2),unname(p1)) p2 <- predict(fm1,newdata=data.frame(Days=6,Subject="308")) nd <- data.frame(Days=6, Subject=factor("308",levels=levels(sleepstudy$Subject))) p3 <- predict(fm1,newdata=nd) expect_equal(p2,p3) expect_equal(p2,p0[1]) }) test_that("only drop columns when using new data", { ## Stack Overflow 34221564: ## should only drop columns from model matrix when using *new* data ## NB: Fit depends on optimizer somewhat: "nloptwrap" is really better than "bobyqa" library(splines) sleep <- sleepstudy #get the sleep data set.seed(1234567) sleep$age <- as.factor(sample(1:3,length(sleep),rep=TRUE)) form1 <- Reaction ~ Days + ns(Days, df=4) + age + Days:age + (Days | Subject) m4 <- lmer(form1, sleep) # fixed-effect model matrix is rank deficient so dropping 1 column / coefficient expect_lte(REMLcrit(m4), 1713.171) # FIXME !? why this regression?? had 1700.6431; "bobyqa" gave 1713.171 expect_equal(unname(head(predict(m4, re.form=NA))), c(255.203, 259.688, 265.71, 282.583, 294.784, 304.933), tolerance = 0.008) }) test_that("only look for columns that exist in re.form", { ## GH 457 set.seed(101) n <- 200 dd <- data.frame(x=1:n, f=factor(rep(1:10,n/10)), g=factor(rep(1:20,each=n/20)), h=factor(rep(1:5,n/5)), y=rnorm(n)) m1 <- lmer(y~1 + f + (1|h/f) + (poly(x,2)|g), data=dd, control=lmerControl(calc.derivs=FALSE)) expect_equal(unname(predict(m1,re.form= ~1 | h/f, newdata=dd[1,])), 0.14786, tolerance=1e-4) expect_equal(unname(predict(m1,re.form= ~poly(x,2) | g, newdata=dd[1,])), 0.1533, tolerance=.001) ## *last* RE not included (off-by-one error) m1B <- lmer(y~1 + f + (1|g) + (1|h), data=dd, control=lmerControl(calc.derivs=FALSE)) expect_equal(unname(predict(m1B,re.form=~(1|g),newdata=data.frame(f="1",g="2"))),0.1512895,tolerance=1e-5) set.seed(101) n <- 100 xx <- c("r1", "r2", "r3", "r4", "r5") xxx <- c("e1", "e2", "e3") p <- 0.3 School <- factor(sample(xxx, n, replace=TRUE), levels=xxx, ordered=FALSE) Rank <- factor(sample(xx, n, replace=TRUE), levels=xx, ordered=FALSE) df1 <- data.frame( ID = as.integer(runif(n, min = 1, max = n/7)), xx1 = runif(n, min = 0, max = 10), xx2 = runif(n, min = 0, max = 10), xx3 = runif(n, min = 0, max = 10), School, Rank, yx = as.factor(rbinom(n, size = 1, prob = p)) ) df1 <- df1[order(df1$ID, decreasing=FALSE),] mm2 <- glmer(yx ~ xx1 + xx2 + xx3 + Rank + (1 | ID) + (1 | School / Rank), data = df1, family = "binomial",control = glmerControl(calc.derivs =FALSE)) n11 <- data.frame(School= factor("e1", levels = levels(df1$School),ordered=FALSE), Rank = factor("r1", levels = levels(df1$Rank), ordered=FALSE), xx1=8.58, xx2=8.75, xx3=7.92) expect_equal(unname(predict(mm2, n11, type="response",re.form= ~(1 | School / Rank))), 0.1174628,tolerance=1e-5) ## bad factor levels mm3 <- update(mm2, . ~ . - (1|ID)) n12 = data.frame(School="e3",Rank="r2",xx1=8.58,xx2=8.75,xx3=7.92) expect_equal(unname(predict(mm3, n12, type="response")),0.1832894,tolerance=1e-5) ## GH #452 ## FIXME: would like to find a smaller/faster example that would test the same warning (10+ seconds) set.seed(101) n <- 300 df2 <- data.frame( xx1 = runif(n, min = 0, max = 10), xx2 = runif(n, min = 0, max = 10), xx3 = runif(n, min = 0, max = 10), School = factor(sample(xxx, n,replace=TRUE)), Rank = factor(sample(xx, n, replace=TRUE)), yx = as.factor(rbinom(n, size = 1, prob = p)) ) mm4 <- suppressWarnings(glmer(yx ~ xx1 + xx2 + xx3 + Rank + (Rank|School), data = df2, family = "binomial",control = glmerControl(calc.derivs =FALSE))) ## set tolerance to 0.1 (!) to pass win-builder on R-devel/i386 (only: ## tolerance = 3e-5 is OK for other combinations of (R-release, R-devel) x (i386,x64) expect_equal(unname(predict(mm4, n11, type="response")), 0.2675081, tolerance=0.1) }) test_that("simulation works with non-factor", { set.seed(12345) dd <- data.frame(a=gl(10,100), b = rnorm(1000)) test2 <- suppressMessages(simulate(~1+(b|a), newdata=dd, family=poisson, newparams= list(beta = c("(Intercept)" = 1), theta = c(1,1,1)))) expect_is(test2,"data.frame") }) set.seed(666) n <- 500 df <- data.frame(y=statmod::rinvgauss(n, mean=1, shape=2), id=factor(1:20)) model_fit <- glmer(y ~ 1 + (1|id), family = inverse.gaussian(link = "inverse"), data = df, control=glmerControl(check.conv.singular="ignore")) test_that("simulation works for inverse gaussian", { expect_equal(mean(simulate(model_fit)[[1]]), 1.02704392575914, tolerance=1e-5) }) test_that("simulation complains appropriately about bad family", { ig <- inverse.gaussian() ig$family <- "junk" model_fit2 <- glmer(y ~ 1 + (1|id), family = ig, data = df, control=glmerControl(check.conv.singular="ignore")) expect_error(simulate(model_fit2),"simulation not implemented for family") }) test_that("prediction from large factors", { set.seed(101) N <- 50000 X <- data.frame(y=rpois(N, 5), obs=as.factor(1:N)) fm <- glmer(y ~ (1|obs), family="poisson", data=X, control=glmerControl(check.conv.singular="ignore")) ## FIXME: weak tests. The main issue here is that these should ## be reasonably speedy and non-memory-hogging, but those are ## hard to test portably ... expect_is(predict(fm, re.form=~(1|obs)), "numeric") expect_is(predict(fm, newdata=X), "numeric") }) test_that("prediction with gamm4", { if (suppressWarnings(requireNamespace("gamm4"))) { ## loading gamm4 warngs "replacing previous import 'Matrix::update' by 'lme4::update' when loading 'gamm4'" ## from ?gamm4 set.seed(0) ## simulate 4 term additive truth dat <- mgcv::gamSim(1,n=400,scale=2,verbose=FALSE) ## Now add 20 level random effect `fac'... dat$fac <- fac <- as.factor(sample(1:20,400,replace=TRUE)) dat$y <- dat$y + model.matrix(~fac-1)%*%rnorm(20)*.5 br <- gamm4::gamm4(y~s(x0)+x1+s(x2),data=dat,random=~(1|fac)) expect_warning(ss <- simulate(br$mer), "modified RE names") expect_equal(dim(ss), c(400,1)) } }) test_that("prediction with spaces in variable names", { cbpp$`silly period` <- cbpp$period m <- glmer(cbind(incidence,size-incidence) ~ `silly period` + (1|herd), family=binomial, data=cbpp) expect_equal(round(head(predict(m)),3), c(`1` = -0.809, `2` = -1.801, `3` = -1.937, `4` = -2.388, `5` = -1.697, `6` = -2.689)) }) if (requireNamespace("statmod")) { test_that("simulate with rinvgauss", { dd <- data.frame(f=factor(rep(1:20,each=10))) dd$y <- simulate(~1+(1|f), seed=101, family=inverse.gaussian, newdata=dd, ## ?? gives NaN (sqrt(eta)) for low beta ? newparams=list(beta=5,theta=1,sigma=1))[[1]] suppressMessages(m <- glmer(y~1+(1|f), family=inverse.gaussian, data=dd)) set.seed(101) expect_equal(head(unlist(simulate(m))), c(sim_11 = 0.451329390087728, sim_12 = 0.629516371309772, sim_13 = 0.481236633500098, sim_14 = 0.170060386109077, sim_15 = 0.258742371516342, sim_16 = 0.949617440586848)) }) } ## GH 631 test_that("sparse contrasts don't mess up predict()", { dd <- expand.grid(f = factor(1:101), rep1 = factor(1:2), rep2 = 1:2) dd$y <- suppressMessages(simulate(~1 + (rep1|f), seed = 101, newdata = dd, newparams = list(beta = 1, theta = rep(1,3), sigma = 1), family = gaussian)[[1]]) m1 <- lmer( y ~ 1 + (1|f), data = dd) p1 <- predict(m1) p2 <- predict(m1, newdata = dd) expect_identical(p1, p2) }) } ## testLevel > 1 test_that("prediction with . in formula + newdata", { set.seed(101) mydata <- data.frame( groups = rep(1:3, each = 100), x = rnorm(300), dv = rnorm(300) ) train_subset <- sample(1:300, 300 * .8) train <- mydata[train_subset,] test <- mydata[-train_subset,] mod <- lmer(dv ~ . - groups + (1 | groups), data = train) p1 <- predict(mod, newdata = test) mod2 <- lmer(dv ~ x + (1 | groups), data = train) p2 <- predict(mod2, newdata = test) expect_identical(p1, p2) }) test_that("simulate with a factor with one level", { set.seed(1241) y <- factor(c(rep(0,1000), 1, rep(0,1000), 1), levels = c("0","1")) x <- rep(c("A","B"),each = 1001) mod <- glmer(y ~ 1 + (1|x),family = binomial, control = glmerControl(check.conv.singular = "ignore")) s <- simulate(mod,newdata = data.frame(x = "A"), nsim = 10) ## very low mean, all simulated values zero expect_true(all(s == 0)) }) test_that("prediction standard error", { # note that predict.lm returns a list with # fit, se.fit, df, residual.scale mod1 <- lmer(Petal.Width ~ Sepal.Length + (1 | Species), iris) p1 <- predict(mod1, se.fit = TRUE) p2 <- predict(mod1, se.fit = TRUE, newdata = iris) p3 <- predict(mod1, se.fit = TRUE, re.form = NA, newdata = iris) p4 <- predict(mod1, se.fit = TRUE, re.form = NA) p5 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species)) p6 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species), newdata = iris) p7 <- predict(mod1, se.fit = TRUE, newdata = iris, random.only = TRUE) p8 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species), random.only = TRUE) p9 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species), newdata = iris, random.only = TRUE) expect_equal(unname(head(p1$se.fit)), c(0.0271816400250223, 0.0272298862268211, 0.0286188379907626, 0.0297645467444413, 0.0270330515271627, 0.0295876265523127)) # re.form = NA expect_equal(unname(head(p3$se.fit)), c(0.451147865048879, 0.451497971849052, 0.451930732595154, 0.452178035807842, 0.451312573619068, 0.450778089845166)) # random.only may need checking -- tolerance maybe too high for this? expect_equal(unname(p8$se.fit), rep(0.451569712647126, 150), tolerance = 0.001) expect_equal(p1, p2) expect_equal(p3, p4) expect_equal(p1, p5) expect_equal(p1, p6) expect_equal(p7, p8) expect_equal(p7, p9) }) test_that("NA + re.form = NULL + simulate OK (GH #737)", { d <- lme4::sleepstudy d$Reaction[1] <- NA fm1 <- lmer(Reaction ~ Days + (Days | Subject), d) ss <- simulate(fm1, seed = 101, re.form = NULL)[[1]] expect_equal(c(head(ss)), c(266.139101412856, 308.148180398426, 296.081377893883, 338.367909016478, 360.294339946214, 401.91050930589)) ss0 <- simulate(fm1, seed = 101, re.form = NA)[[1]] expect_equal(length(ss), length(ss0)) ## correct dimensions with na.exclude as well ? fm2 <- update(fm1, na.action = na.exclude) ss2 <- simulate(fm2, seed = 101, re.form = NULL)[[1]] ss3 <- simulate(fm2, seed = 101, re.form = NA)[[1]] expect_equal(length(ss2), nrow(d)) expect_equal(length(ss3), nrow(d)) }) ## GH 691 parts 1 and 2 test_that("predict works with factors in left-out REs", { set.seed(101) df2 <- data.frame(yield = rnorm(100), lc = factor(rep(1:2, 50)), g1 = factor(rep(1:10, 10)), g3 = factor(rep(1:10, each = 10))) m1B <- lmer(yield ~ 1 + ( 1 | g1) + (lc |g3), data = df2, control = lmerControl(check.conv.singular = "ignore")) expect_equal(head(predict(m1B, re.form = ~(1|g1)),1), c(`1` = 0.146787496519465), tolerance = 1e-4) }) test_that("predict works with dummy() in left-out REs", { set.seed(101) df3 <- data.frame(v1 = rnorm(100), v3 = factor(rep(1:10, each = 10)), v4 = factor(rep(1:2, each = 50)), v5 = factor(rep(1:10, 10))) m1C <- lmer(v1~(1|v3) + (0+dummy(v4,"1")|v5), data = df3, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.conv.singular = "ignore")) expect_equal(head(predict(m1C, re.form = ~1|v3), 1), c(`1` = -0.035719520719991)) }) lme4/tests/testthat/test-summary.R0000644000176200001440000000462314630126752016725 0ustar liggesuserslibrary("testthat") try(detach("package:lmerTest"), silent = TRUE) library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 context("summarizing/printing models") test_that("lmer", { set.seed(0) J <- 8 n <- 10 N <- J * n beta <- c(5, 2, 4) u <- matrix(rnorm(J * 3), J, 3) x.1 <- rnorm(N) x.2 <- rnorm(N) g <- rep(1:J, rep(n, J)) y <- 1 * (beta[1] + u[g,1]) + x.1 * (beta[2] + u[g,2]) + x.2 * (beta[3] + u[g,3]) + rnorm(N) tmpf <- function(x) capture.output(print(summary(x),digits=1)) tfun <- function(cc) { w <- grep("Fixed effects:", cc) cc[w:length(cc)] } C1 <- lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6)) m1 <- lmer(y ~ x.1 + x.2 + (1 + x.1 | g), control=C1) m2 <- lmer(y ~ x.1 + x.2 + (1 + x.1 + x.2 | g), control=C1) cc1 <- tmpf(m1) cc2 <- tmpf(m2) ## FIXME: correlation of fixed effects printed inconsistently. ## If (1) LME4_TEST_LEVEL == 100 *and* after running all of prior ## tests, something (package load? options setting?) changes ## so that the fixed-effect correlations are no longer printed ## out, and this test fails ## would like to sort this out but realistically not sure it's worth it? t1 <- tfun(cc1) vv <- vcov(m1) ss <- sessionInfo() save(m1, vv, ss, file = sprintf("test-summary_testlevel_%d.rda", testLevel)) expect_equal(t1, c("Fixed effects:", " Estimate Std. Error t value", "(Intercept) 5.4 0.5 12", "x.1 1.9 0.4 5", "x.2 4.0 0.1 28", "", "Correlation of Fixed Effects:", " (Intr) x.1 ", "x.1 -0.019 ", "x.2 0.029 -0.043" )) expect_equal(tfun(cc2), c("Fixed effects:", " Estimate Std. Error t value", "(Intercept) 5.4 0.4 12", "x.1 2.0 0.4 5", "x.2 4.0 0.3 15", "", "Correlation of Fixed Effects:", " (Intr) x.1 ", "x.1 -0.069 ", "x.2 0.136 -0.103" )) }) lme4/tests/predsim.R0000644000176200001440000000460214634571002014047 0ustar liggesusers## compare range, average, etc. of simulations to ## conditional and unconditional prediction library(lme4) do.plot <- FALSE if (.Platform$OS.type != "windows") { ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } fm1 <- lmer(Reaction~Days+(1|Subject),sleepstudy) set.seed(101) pp <- predict(fm1) rr <- range(usim2 <- simulate(fm1,1,use.u=TRUE)[[1]]) stopifnot(all.equal(rr,c(159.3896,439.1616),tolerance=1e-6)) if (do.plot) { plot(pp,ylim=rr) lines(sleepstudy$Reaction) points(simulate(fm1,1)[[1]],col=4) points(usim2,col=2) } set.seed(101) ## conditional prediction ss <- simulate(fm1,1000,use.u=TRUE) ss_sum <- t(apply(ss,1,quantile,c(0.025,0.5,0.975))) plot(pp) matlines(ss_sum,col=c(1,2,1),lty=c(2,1,2)) stopifnot(all.equal(ss_sum[,2],pp,tolerance=5e-3)) ## population-level prediction pp2 <- predict(fm1, re.form=NA) ss2 <- simulate(fm1,1000,use.u=FALSE) ss_sum2 <- t(apply(ss2,1,quantile,c(0.025,0.5,0.975))) if (do.plot) { plot(pp2,ylim=c(200,400)) matlines(ss_sum2,col=c(1,2,1),lty=c(2,1,2)) } stopifnot(all.equal(ss_sum2[,2],pp2,tolerance=8e-3)) ## predict(...,newdata=...) on models with derived variables in the random effects ## e.g. (f:g, f/g) set.seed(101) d <- expand.grid(f=factor(letters[1:10]),g=factor(letters[1:10]), rep=1:10) d$y <- rnorm(nrow(d)) m1 <- lmer(y~(1|f:g),d) p1A <- predict(m1) p1B <- predict(m1,newdata=d) stopifnot(all.equal(p1A,p1B)) m2 <- lmer(y~(1|f/g),d) p2A <- predict(m2) p2B <- predict(m2,newdata=d) stopifnot(all.equal(p2A,p2B)) ## with numeric grouping variables dn <- transform(d,f=as.numeric(f),g=as.numeric(g)) m1N <- update(m1,data=dn) p1NA <- predict(m1N) p1NB <- predict(m1N,newdata=dn) stopifnot(all.equal(p1NA,p1NB)) ## simulate with modified parameters set.seed(1) s1 <- simulate(fm1) set.seed(1) s2 <- simulate(fm1,newdata=model.frame(fm1), newparams=getME(fm1,c("theta","beta","sigma"))) all.equal(s1,s2) fm0 <- update(fm1,.~.-Days) ## ## sim() -> simulate() -> refit() -> deviance ## ## predictions and simulations with offsets set.seed(101) d <- data.frame(y=rpois(100,5),x=rlnorm(100,1,1), f=factor(sample(10,size=100,replace=TRUE))) gm1 <- glmer(y~offset(log(x))+(1|f),data=d, family=poisson) s1 <- simulate(gm1) } ## skip on windows (for speed) lme4/tests/nlmer-conv.R0000644000176200001440000000171214630126752014467 0ustar liggesusers### nlmer() convergence testing / monitoring / ... ## ------------------- ### The output of tests here are *not* 'diff'ed (<==> no *.Rout.save file) library(lme4) ## 'Theoph' Data modeling if (lme4:::testLevel() > 1) { Th.start <- c(lKe=-2.5, lKa=0.5, lCl=-3) (nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ lKe + lKa + lCl|Subject, Theoph, start = Th.start)) (nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe|Subject) + (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) ## dropping lKe from random effects: (nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ lKa + lCl|Subject, Theoph, start = Th.start, control = nlmerControl(tolPwrss=1e-8))) (nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) } lme4/tests/lmer2_ex.R0000644000176200001440000000564314234301437014126 0ustar liggesusersstopifnot(suppressPackageStartupMessages(require(lme4))) ## Using simple generated data -- fully balanced here, unbalanced later set.seed(1) dat <- within(data.frame(lagoon = factor(rep(1:4, each = 25)), habitat = factor(rep(1:20, each = 5))), { ## a simple lagoon effect but no random effect y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) ## Here, *with* an RE, sigma_a = 100 RE <- rep(round(rnorm(nlevels(habitat), sd = 100)), each = 5) y2 <- y + RE }) ## FIXME: want lmer(* , sparseX = TRUE ) {as in lme4a} if (FALSE) { # need to adapt to new structure ##' ##' ##'
##' @title Comparing the different versions of lmer() for same data & model ##' @param form ##' @param data ##' @param verbose ##' @return chkLmers <- function(form, data, verbose = FALSE, tol = 200e-7) # had tol = 7e-7 working .. { # m <- lmer1(form, data = data) # ok, and more clear # m. <- lmer1(form, data = data, sparseX = TRUE, verbose = verbose) m2 <- lmer (form, data = data, verbose = verbose) # lmem-dense m2. <- lmer (form, data = data, sparseX = TRUE, verbose = verbose) ## Eq <- function(x,y) all.equal(x,y, tolerance = tol) stopifnot(## Compare sparse & dense of the new class results identical(slotNames(m2), slotNames(m2.)) , identical(slotNames(m2@fe), slotNames(m2.@fe)) , Eq(m2@resp, m2.@resp) , Eq(m2@re, m2.@re) , Eq(m2@fe@coef, m2.@fe@coef) , ## and now compare with the "old" (class 'mer') # Eq(unname(fixef(m)), m2@fe@beta) # , # Eq(unname(fixef(m.)), m2.@fe@beta) # , ## to do ## all.equal(ranef(m)), m2@re) ## all.equal(ranef(m.)), m2.@re) TRUE) invisible(list(#m=m, m.=m., m2 = m2, m2. = m2.)) } chk1 <- chkLmers(y ~ 0+lagoon + (1|habitat), data = dat, verbose = TRUE) chk2 <- chkLmers(y2 ~ 0+lagoon + (1|habitat), data = dat, verbose = TRUE) chk1$m2 ## show( lmer() ) -- sigma_a == 0 chk2$m2. ## show( lmer( ) ) -- n <- nrow(dat) for(i in 1:20) { iOut <- sort(sample(n, 1+rpois(1, 3), replace=FALSE)) cat(i,": w/o ", paste(iOut, collapse=", ")," ") chkLmers(y ~ 0+lagoon + (1|habitat), data = dat[- iOut,]) chkLmers(y2 ~ lagoon + (1|habitat), data = dat[- iOut,]) cat("\n") } ## One (rare) example where the default tolerance is not sufficient: dat. <- dat[- c(14, 34, 66, 67, 71, 88),] try( chkLmers(y ~ 0+lagoon + (1|habitat), data = dat.) ) ## Error: Eq(unname(fixef(m)), m2@fe@beta) is not TRUE ## ## but higher tolerance works: chkLmers(y ~ 0+lagoon + (1|habitat), data = dat., tol = 2e-4, verbose=TRUE) } proc.time() sessionInfo() lme4/tests/lmer-conv.R0000644000176200001440000000133214630126752014307 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type!="windows") { ### lmer() convergence testing / monitoring / ... ## ------------------ ### The output of tests here are *not* 'diff'ed (<==> no *.Rout.save file) library(lme4) ## convergence on boundary warnings load(system.file("external/test3comp.rda", package = "Matrix")) b3 <- lmer(Y3 ~ (1|Sample) + (1|Operator/Run), test3comp, verb = TRUE) if (isTRUE(try(data(Early, package = 'mlmRev')) == 'Early')) { Early$tos <- Early$age - 0.5 # time on study b1 <- lmer(cog ~ tos + trt:tos + (tos|id), Early, verb = TRUE) } cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' } ## skip on windows (for speed) lme4/tests/REMLdev.R0000644000176200001440000000315714741264430013651 0ustar liggesuserslibrary(lme4) ## show important current settings {for reference, etc} -- [early, and also on Windows !]: source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## N.B. is.all.equal[34]() and assert.EQ() use 'tol', not 'tolerance' str( lmerControl()) str(glmerControl()) str(nlmerControl()) ls.str(environment(nloptwrap)) ## see Details under ?deviance.merMod: fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm1ML <- refitML(fm1) REMLcrit(fm1) ## 1743.628 deviance(fm1ML) ## 1751.939 deviance(fm1,REML=FALSE) ## FIXME: not working yet (NA) deviance(fm1,REML=TRUE) ## from lme4.0 oldvals <- c(REML=1743.6282722424, ML=1751.98581103058) ## leave out ML values for REML fits for now ... stopifnot( is.all.equal3(REMLcrit(fm1), deviance(fm1,REML=TRUE), deviance(fm1ML,REML=TRUE),oldvals["REML"]), all.equal(deviance(fm1ML),deviance(fm1ML,REML=FALSE),oldvals["ML"]), all.equal(REMLcrit(fm1)/-2,c(logLik(fm1)),c(logLik(fm1ML,REML=TRUE)),c(logLik(fm1,REML=TRUE))), all.equal(deviance(fm1ML)/-2,c(logLik(fm1ML,REML=FALSE)), c(logLik(fm1ML,REML=FALSE)))) ## should be: ## stopifnot( ## all.equal(deviance(fm1),deviance(fm1,REML=TRUE),deviance(fm1ML,REML=TRUE),oldvals["REML"]), ## all.equal(deviance(fm1ML),deviance(fm1,REML=FALSE),deviance(fm1ML,REML=FALSE),oldvals["ML"]), ## all.equal(deviance(fm1)/2,c(logLik(fm1)),c(logLik(fm1ML,REML=TRUE)),c(logLik(fm1,REML=TRUE))), ## all.equal(deviance(fm1ML)/2,c(logLik(fm1,REML=FALSE)),c(logLik(fm1ML,REML=FALSE)), ## c(logLik(fm1ML,REML=FALSE)))) lme4/tests/agridat_gotway.R0000644000176200001440000000462314630126752015420 0ustar liggesusers## require(agridat) ## dat <- gotway.hessianfly if (.Platform$OS.type != "windows") { ## don't actually use gotway_hessianfly_fit or gotway_hessianfly_prof, ## so we should be OK even with R< 3.0.1 load(system.file("testdata","gotway_hessianfly.rda",package="lme4")) # Block random. See Glimmix manual, output 1.18. # Note: (Different parameterization) ## require("lme4.0") ## fit2 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=dat, family=binomial) ## params <- list(fixef=fixef(fit2),theta=getME(fit2,"theta")) ## detach("package:lme4.0") lme4.0fit <- structure(list(fixef = structure(c(1.50345713031203, -0.193853259383803, -0.540808391060274, -1.43419379979154, -0.203701042949808, -0.978322555343941, -0.604078624475678, -1.67742449813309, -1.39842466673692, -0.681709344788684, -1.46295367186169, -1.45908310198959, -3.55285756517073, -2.50731975980307, -2.08716296677356, -2.96974270029992), .Names = c("(Intercept)", "genG02", "genG03", "genG04", "genG05", "genG06", "genG07", "genG08", "genG09", "genG10", "genG11", "genG12", "genG13", "genG14", "genG15", "genG16")), theta = structure(0.0319087494293615, .Names = "block.(Intercept)")), .Names = c("fixef", "theta")) ## start doesn't work because we don't get there library(lme4) m1 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=gotway.hessianfly, family=binomial) m1B <- update(m1,control=glmerControl(optimizer="bobyqa")) max(abs(m1@optinfo$derivs$gradient)) ## 0.0012 max(abs(m1B@optinfo$derivs$gradient)) ## 2.03e-5 abs(m1@optinfo$derivs$gradient)/abs(m1B@optinfo$derivs$gradient) ## bobyqa gets gradients *at least* 1.64* lower lme4fit <- list(fixef=fixef(m1),theta=getME(m1,"theta")) ## hack around slight naming differences lme4fit$theta <- unname(lme4fit$theta) lme4.0fit$theta <- unname(lme4.0fit$theta) ## difference in theta on x86_64-w64-mingw32 (64-bit) with r-devel is 0.000469576 stopifnot(all.equal(lme4fit, lme4.0fit, tolerance = 5e-4)) ## Fun stuff: visualize and alternative model ## library(ggplot2) ## dat$prop <- dat$y/dat$n ## theme_set(theme_bw()) ## ggplot(dat,aes(x=gen,y=prop,colour=block))+geom_point(aes(size=n))+ ## geom_line(aes(group=block,colour=block))+ ## geom_smooth(family=binomial,aes(weight=n,colour=block,group=block),method="glm", ## alpha=0.1) ## dat$obs <- factor(seq(nrow(dat))) ## m2 <- glmer(cbind(y, n-y) ~ block+ (1|gen) + (1|obs), data=dat, family=binomial) } ## not on windows/CRAN lme4/tests/modFormula.R0000644000176200001440000000501114630126752014510 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) .get.checkingOpts <- lme4:::.get.checkingOpts stopifnot(identical( .get.checkingOpts( c("CheckMe", "check.foo", "check.conv.1", "check.rankZ", "check.rankX")) , c("check.foo", "check.rankZ"))) lmod <- lFormula(Reaction ~ Days + (Days|Subject), sleepstudy) devfun <- do.call(mkLmerDevfun, lmod) opt <- optimizeLmer(devfun) cc <- lme4:::checkConv(attr(opt,"derivs"), opt$par, ctrl = lmerControl()$checkConv, lbound=environment(devfun)$lower) fm1 <- mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr, lme4conv=cc) fm2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## basic equivalence fm1C <- fm1 fm1C@call <- fm2@call expect_equal(fm2,fm1C) expect_equal(range(residuals(fm1)), c(-101.18, 132.547), tolerance = 1e-5) # these are "outliers"! expect_is(model.frame(fm1),"data.frame") ## formulae mfm1 <- model.frame(fm1) expect_equal(formula(fm1), Reaction ~ Days + (Days | Subject)) expect_equal(formula(terms(mfm1)), Reaction ~ Days + (Days + Subject)) new_form_modframe <- (getRversion() >= "3.6.0" && as.numeric(version[["svn rev"]]) >= 75891) expect_equal(formula(mfm1), if(new_form_modframe) { Reaction ~ Days + (Days + Subject) } else Reaction ~ Days + Subject ) ## predictions expect_equal(predict(fm1,newdata=sleepstudy[1:10,],re.form=NULL), predict(fm2,newdata=sleepstudy[1:10,],re.form=NULL)) expect_equal(predict(fm1,newdata=sleepstudy), predict(fm1)) lmodOff <- lFormula(Reaction ~ Days + (Days|Subject) + offset(0.5*Days), sleepstudy) devfunOff <- do.call(mkLmerDevfun, lmodOff) opt <- optimizeLmer(devfunOff) fm1Off <- mkMerMod(environment(devfunOff), opt, lmodOff$reTrms, fr = lmodOff$fr) fm2Off <- lmer(Reaction ~ Days + (Days|Subject) + offset(0.5*Days), sleepstudy) expect_equal(predict(fm1Off,newdata=sleepstudy[1:10,],re.form=NULL), predict(fm2Off,newdata=sleepstudy[1:10,],re.form=NULL)) ## FIXME: need more torture tests with offset specified, in different environments ... ## FIXME: drop1(.) doesn't work with modular objects ... hard to see how it ## could, though ... ## drop1(fm1Off) drop1(fm2Off) } ## skip on windows (for speed) lme4/tests/drop1contrasts.R0000644000176200001440000000144414630126752015377 0ustar liggesusers## drop1 may not work right with contrasts: make up an example something like this ... ## options(contrasts=c("contr.sum","contr.poly")) ## drop1(fecpoiss_lm3,test="Chisq",scope=.~.) if (.Platform$OS.type != "windows") withAutoprint({ library(lme4) oldopts <- options(contrasts=c("contr.sum","contr.poly")) fm1 <- lmer(Reaction~Days+(Days|Subject),data=sleepstudy) drop1(fm1,test="Chisq") ## debug(lme4:::drop1.merMod) drop1(fm1,test="Chisq",scope=.~.) fm0 <- lm(Reaction~Days+Subject,data=sleepstudy) drop1(fm0,test="Chisq",scope=.~.) options(oldopts) ## restore original contrasts ff <- function() { lmer(Reaction~Days+(Days|Subject),data=sleepstudy) } drop1(ff()) ## OK because sleepstudy is accessible! }) ## skip on windows (for speed) lme4/tests/priorWeights.R0000644000176200001440000001340714630126752015101 0ustar liggesusers## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } compFunc <- function(lmeMod, lmerMod, tol = 1e-2){ lmeVarCorr <- nlme:::VarCorr(lmeMod)[,"StdDev"] lmeCoef <- summary(lmeMod)$tTable[,-c(3,5)] lmeOut <- c(as.numeric(lmeVarCorr), as.numeric(lmeCoef)) keep <- !is.na(lmeOut) lmeOut <- lmeOut[keep] dn <- dimnames(lmeCoef) if(is.null(dn)) dn <- list("", names(lmeCoef)) names(lmeOut) <- c( paste(names(lmeVarCorr), "Var"), as.character(do.call(outer, c(dn, list("paste")))))[keep] ## get nested RE variances in the same order as nlme ## FIXME: not sure if this works generally vcLmer <- VarCorr(lmerMod) vcLmer <- vcLmer[length(vcLmer):1] ## lmerVarCorr <- c(sapply(vcLmer, attr, "stddev"), attr(VarCorr(lmerMod), "sc")) ## differentiate lme4{new} and lme4.0 : lmerCoef <- if(is(lmerMod, "merMod")) summary(lmerMod)$coefficients else summary(lmerMod)@coefs lmerOut <- c(lmerVarCorr, as.numeric(lmerCoef)) names(lmerOut) <- names(lmeOut) return(list(target = lmeOut, current = lmerOut, tolerance = tol)) } if (.Platform$OS.type != "windows") { set.seed(1) nGroups <- 100 nObs <- 1000 # explanatory variable with a fixed effect explVar1 <- rnorm(nObs) explVar2 <- rnorm(nObs) # random intercept among levels of a grouping factor groupFac <- as.factor(rep(1:nGroups,each=nObs/nGroups)) randEff0 <- rep(rnorm(nGroups),each=nObs/nGroups) randEff1 <- rep(rnorm(nGroups),each=nObs/nGroups) randEff2 <- rep(rnorm(nGroups),each=nObs/nGroups) # residuals with heterogeneous variance residSD <- rpois(nObs,1) + 1 residError <- rnorm(nObs,sd=residSD) # response variable respVar <- randEff0 + (1+randEff1)*explVar1 + (1+randEff2)*explVar2 + residError # rename to fit models on one line y <- respVar x <- explVar1 z <- explVar2 g <- groupFac v <- residSD^2 w <- 1/v library("nlme") lmeMods <- list( ML1 = lme(y ~ x, random = ~ 1|g, weights = varFixed(~v), method = "ML"), REML1 = lme(y ~ x, random = ~ 1|g, weights = varFixed(~v), method = "REML"), ML2 = lme(y ~ x, random = ~ x|g, weights = varFixed(~v), method = "ML"), REML2 = lme(y ~ x, random = ~ x|g, weights = varFixed(~v), method = "REML"), ML1 = lme(y ~ x+z, random = ~ x+z|g, weights = varFixed(~v), method = "ML"), REML2 = lme(y ~ x+z, random = ~ x+z|g, weights = varFixed(~v), method = "REML")) library("lme4") lmerMods <- list( ML1 = lmer(y ~ x + (1|g), weights = w, REML = FALSE), REML1 = lmer(y ~ x + (1|g), weights = w, REML = TRUE), ML2 = lmer(y ~ x + (x|g), weights = w, REML = FALSE), REML2 = lmer(y ~ x + (x|g), weights = w, REML = TRUE), ML3 = lmer(y ~ x + z + (x+z|g), weights = w, REML = FALSE), REML3 = lmer(y ~ x + z + (x+z|g), weights = w, REML = TRUE)) comp <- mapply(compFunc, lmeMods, lmerMods, SIMPLIFY=FALSE) stopifnot(all(sapply(comp, do.call, what = all.equal))) ## Look at the relative differences: sapply(mapply(compFunc, lmeMods, lmerMods, SIMPLIFY=FALSE, tol = 0), do.call, what = all.equal) ## add simulated weights to the sleepstudy example n <- nrow(sleepstudy) v <- rpois(n,1) + 1 w <- 1/v sleepLme <- lme(Reaction ~ Days, random = ~ Days|Subject, sleepstudy, weights = varFixed(~v), method = "ML") sleepLmer <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, weights = w, REML = FALSE) sleepComp <- compFunc(sleepLme, sleepLmer) stopifnot(do.call(all.equal, sleepComp)) ## look at relative differences: sleepComp$tolerance <- 0 do.call(all.equal, sleepComp) if (require("mlmRev")) { n <- nrow(Chem97) v <- rpois(n,1) + 1 w <- 1/v Chem97Lme <- lme(score ~ 1, random = ~ 1|lea/school, Chem97) Chem97Lmer <- lmer(score ~ (1|lea/school), Chem97) Chem97Comp <- compFunc(Chem97Lme, Chem97Lmer) stopifnot(do.call(all.equal, Chem97Comp)) ## look at relative differences: Chem97Comp$tolerance <- 0 do.call(all.equal, Chem97Comp) } set.seed(2) n <- 40 w <- runif(n) x <- runif(n) g <- factor(sample(1:10,n,replace=TRUE)) Z <- model.matrix(~g-1); y <- Z%*%rnorm(ncol(Z)) + x + rnorm(n)/w^.5 m <- lmer(y ~ x + (1|g), weights=w, REML = TRUE) ## CRAN-forbidden: ## has4.0 <- require("lme4.0")) has4.0 <- FALSE if(has4.0) { ## m.0 <- lme4.0::lmer(y ~ x + (1|g), weights=w, REML = TRUE) lmer0 <- get("lmer", envir=asNamespace("lme4.0")) m.0 <- lmer0(y ~ x + (1|g), weights=w, REML = TRUE) dput(fixef(m.0)) # c(-0.73065400610675, 2.02895402562926) dput(sigma(m.0)) # 1.73614301673377 dput(VarCorr(m.0)$g[1,1]) # 2.35670451590395 dput(unname(coef(summary(m.0))[,"Std. Error"])) ## c(0.95070076853232, 1.37650858268602) } fixef_lme4.0 <- c(-0.7306540061, 2.0289540256) sigma_lme4.0 <- 1.7361430 Sigma_lme4.0 <- 2.3567045 SE_lme4.0 <- c(0.95070077, 1.37650858) if(has4.0) try(detach("package:lme4.0")) stopifnot(all.equal(unname(fixef(m)), fixef_lme4.0, tolerance = 1e-3)) all.equal(unname(fixef(m)), fixef_lme4.0, tolerance = 0) #-> 1.657e-5 ## but these are not at all equal : (all.equal(sigma(m), sigma_lme4.0, tolerance = 10^-3)) # 0.4276 (all.equal(as.vector(VarCorr(m)$g), Sigma_lme4.0, tolerance = 10^-3)) # 1.038 (all.equal(as.vector(summary(m)$coefficients[,2]), SE_lme4.0, tolerance = 10^-3)) # 0.4276 ## so, lme4.0 was clearly wrong here ##' make sure models that differ only in a constant ##' prior weight have identical deviance: fm <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy,REML=FALSE) fm_wt <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, weights = rep(5, nrow(sleepstudy)),REML=FALSE) all.equal(deviance(fm), deviance(fm_wt)) } ## skip on windows (for speed) lme4/MD50000644000176200001440000003621514770711462011443 0ustar liggesusers2e5b726f280690ac96aa8279ec72c848 *ChangeLog 31c7a7a9b0823731a6fc4d5ee7db3722 *DESCRIPTION c75721978ea4c8363ac3575f9c73ab5b *LICENSE.note 85ee104cd3c16e444ad0371fc1beed3f *NAMESPACE afd711c6c33c483ebe5399e100dc0b13 *R/AllClass.R c1eda7d4300d934fccc1271aba17f3a1 *R/AllGeneric.R 06258906fcb33c60df0495fc736fd54d *R/GHrule.R f6c82f2f97193a78e485bc127598fffd *R/allFit.R 3ab1905c48a13e835d3f477f88dad24f *R/bootMer.R 62b0b1adba8ca456c428f850eafd0343 *R/checkConv.R 6cdc50a61ae595a0694fecbd5ac4c3d9 *R/deriv.R 977d9b9359bf2288205f43ce6ec2a4f8 *R/error_factory.R 29b6afe495b5ece2876fae4437028406 *R/lmList.R 168ad63d770540661016dda1b40384a5 *R/lmer.R cc1cd19af8888f6c89f772b86419a788 *R/lmerControl.R 4bde5438bd9ddba5d3cd26e5a43a494b *R/mcmcsamp.R 552b034ea37bd4a89141ae77be462ab3 *R/methods.R 2c2ffae4d9232a7f19ba569c97bd407e *R/modular.R fce30fededd71e3c542daf4f1a12f04c *R/nbinom.R e81eeaea1aed45340dc7c174f1d70291 *R/optimizer.R 86314743a4dfee67e59594518bb09360 *R/plot.R 8d2664f50aa1a47013591cf615bba911 *R/plots.R 5b9ddf002b624928a884063feb67c18d *R/predict.R 859f74c7d3a88475c790ac182b79eba6 *R/profile.R b0c02d0440df7255bfebefc55ecf9881 *R/rePCA.R 301c7dc5694f9591adf7c237c0f1284e *R/simulate.formula.R 7b20c93bea72e7623e2899de44fb370b *R/sparsegrid.R e057bf248efa620aa2c5c7ad122cd98d *R/sysdata.rda 41b03bda4bbf37258ece5fb057b797d9 *R/utilities.R 6eedd85037874069e2d5564c3cd19206 *R/vcconv.R 0ba27624906e58040c9d6015ef2e9a99 *R/zzz.R 533839446f70bde34a1050627ce80586 *build/partial.rdb b76987590ea23bf9d7de12efa1af06c8 *build/vignette.rds 7b16a3ab29bb34e105b8edd5333ae95d *data/Arabidopsis.rda 8cf70603a6660d10c170d9e7159c2951 *data/Dyestuff.rda 2f1c751f7de40daa241601f64726c9e0 *data/Dyestuff2.rda 5d257c44f24c98310fbb2e9f85e3e396 *data/InstEval.rda b61a31e7665881741ebd2f88acc98891 *data/Pastes.rda bfd53f3fec03c93b634a4250d03c17a1 *data/Penicillin.rda a545020034749ad9c56e4510fdba6dc1 *data/VerbAgg.rda c80348b333f026d7fe927398894c6f34 *data/cake.rda 09bbd2170531a7256a2cf743f4bec399 *data/cbpp.rda 28d1ffd0a450108d274431f7335e859d *data/grouseticks.rda 3eb17ae1551f7a264c4214460041908c *data/sleepstudy.rda 8c81a4cdd4cd634e4102999545422b7e *inst/CITATION 513f3337a2049a610e8c70ad90b5a97b *inst/NEWS.Rd 7ea2caa8013f7ffc6e4c333fa1db1534 *inst/doc/PLSvGLS.R f84eeec527edf425f54bb4754e23da61 *inst/doc/PLSvGLS.Rnw 3e9746a8177e1c713fe829980c6c9a15 *inst/doc/PLSvGLS.pdf 8734899d5f18360ec1ea4ea4e5e3d59e *inst/doc/Theory.R 4f0f087495b31139690072d1aca33c00 *inst/doc/Theory.Rnw 58f89d526d6483b501d4947015473489 *inst/doc/Theory.pdf 93f238ec7b74da27501505bf5141bcf7 *inst/doc/lmer.R abece788c951856256aa6f9251276c73 *inst/doc/lmer.Rnw fbebff6374324d28ffa5a3b98d71f228 *inst/doc/lmer.pdf e9ab0fb8b5c0d7d8df0b0be3dda381d0 *inst/doc/lmerperf.R ecde401260019bb51fa974bcda985f37 *inst/doc/lmerperf.Rmd 88ff2257d08bd8a6ac4229dd10321284 *inst/doc/lmerperf.html b63ce45d087ac1ac15e011620990b796 *inst/testdata/Johnson.rda 0ad4852aad9639f10ad13606ecf09908 *inst/testdata/SO_sep25.RData 56173e2cb895c04358bf1bf81bab1495 *inst/testdata/Thailand.rda aedcb80c37b6d01f4db5bd076ebc3298 *inst/testdata/badprof.rds da186eafec8322a55ec78451e19fd01a *inst/testdata/boo01L.RData b4b99dec3880c755f42a8dc9e77a067b *inst/testdata/colonizer_rand.rda 8a445ad28ddc63a87ff828ec55be99cb *inst/testdata/confint_ex.rda 5f381198d17abbc54763cb7afe2608f8 *inst/testdata/crabs_randdata00.Rda 693aae2f30886fa217ca1b82b0ed43bb *inst/testdata/crabs_randdata2.Rda 038cc2f0fce197eb134607eee63fe83c *inst/testdata/culcita_dat.RData ec60161c46be3b6dbb2840490204eb79 *inst/testdata/dat20101314.csv 2c5596646060c432ca9e53cb5b61e307 *inst/testdata/dataEx_Glmer.txt c340d92f256024616f2aaf56b3460c23 *inst/testdata/fakesim.RData db58d90a120922be1d62a9252b8f1e2d *inst/testdata/gopherdat2.RData 8fb10b3889a527fbb661415f7cbb8e11 *inst/testdata/gotway_hessianfly.rda d10397932e1069526d47be9e961e609c *inst/testdata/harmel_density.R cb4e78532620e108c5c3af0c77fdb092 *inst/testdata/harmel_profile.rds eeae66bdabc2c1af320e278718105a29 *inst/testdata/hotpower.csv cf78ea240b9aa971169ec4e513b328f7 *inst/testdata/koller-data.R 4635d7c7d32300f4dcd9c5c810cde517 *inst/testdata/lme-tst-fits.R 8e789eec8fededa43e13ebeed8711c54 *inst/testdata/lme-tst-fits.rda 4e4f8105bf0b78e879e2f96fbf87323f *inst/testdata/lme-tst-funs.R f01648354c4d6c08320a551d7bdd3c7a *inst/testdata/lmerperf.rda 3dffc4c30b964f86f938b6d8c656d13d *inst/testdata/mastitis.rda 3313df191ef524ea5b887dcb54b3f153 *inst/testdata/polytom2.RData fd199a7fcece25952b873986d3ac0b1a *inst/testdata/polytom3.RData 10d8d2dab0664031ff18831a9213d1f3 *inst/testdata/polytomous_test.RData 36f44d658986561eee513a4a2789afe7 *inst/testdata/polytomous_vcov_ex.RData c3a152c99372c2097426afb07adea841 *inst/testdata/prLogistic.RData 402feea181e789a9b24bd0df88b73717 *inst/testdata/radinger_dat.RData 0de901759722680f5c73ed77a6f6aae2 *inst/testdata/rankMatrix.rds e7fc63ccb18cc703074586afaa6cb4a6 *inst/testdata/respiratory.RData f3e1a564e23849bf8db38440b543c944 *inst/testdata/sbTobb.Rdata 3a50c8e1daec82e4208e7893cc963e18 *inst/testdata/strip_env.R 7c4e1116306646d99c9ef1a20c98afa7 *inst/testdata/survdat_reduced.Rda dca0ccff30089606e068a486f5b51d67 *inst/testdata/tprfm1.RData 0eec27a5b9eab6d5b3d190cd37ec6634 *inst/testdata/trees513.R 145eb2c3cf4bac44b217618a0525e0e4 *inst/testdata/trees513.RData eeb7607787b40c58c2db9685e5939eeb *inst/tinytest/test_lme4.R 9873b3dc101b4bf520d632f42bc04a80 *man/Arabidopsis.Rd e763b611e70a7697cb6fe31b0561aaac *man/Dyestuff.Rd e2529dc3f21a20ede6b95e15e1f0db92 *man/GHrule.Rd 63bcaefc2718a7d338bf093d44f6ac5b *man/GQdk.Rd 63677bddce89a841f9f69c5f467b1516 *man/InstEval.Rd 1d25a90dcaa8ba7bc62594892d2f5006 *man/NelderMead-class.Rd ad16fef8b8dc2ac1d116bee141e48baa *man/Nelder_Mead.Rd a6d10b8014d2887c25df3954aab76cb2 *man/Pastes.Rd 2dfbaad44da43caaf910a65a19ecb2f7 *man/Penicillin.Rd e7f37aac25dad4d13a1bb2db42ff37fb *man/VarCorr.Rd 8799220ff9f8424bf850533d76ca94c6 *man/VerbAgg.Rd 8a175dcf7d874e33d6acf437e13e3e97 *man/allFit.Rd 88a026b470f8cbe855f56c6d8679629e *man/bootMer.Rd 748eafe3d76c725cbfb23e5bfe46afe4 *man/cake.Rd fd93f2971f3ebf948961188570e94b82 *man/cbpp.Rd e187936bd4ad87c41d8e7a51421f77d0 *man/checkConv.Rd 987e347b428a7ab7d01f6597682ae7c1 *man/confint.merMod.Rd 1dab3afe2e04f5b9b69519b6b5c0f5fd *man/convergence.Rd 3824501b16af01f2424271e95ba7c7ba *man/devcomp.Rd 22fc3d76c1055a4ca437278ac06b706a *man/devfun2.Rd a934cdd2a196abbc1e9f332281077ede *man/drop1.merMod.Rd 0ffadf84fce25e56463e86ccf165e04b *man/dummy.Rd c3409c0a52196a11daf3ecde616d3076 *man/expandDoubleVerts.Rd 20e78573b5222c04c999b4abd03f04a2 *man/factorize.Rd f699fae826b328940860943c133ac02e *man/findbars.Rd b6f832b80984b12fe181c79428184895 *man/fixef.Rd 2fa58c5a47024f77c29be94508844328 *man/fortify.Rd 4ae84a0ac87f3d359403ec1fb7698ee0 *man/getME.Rd c0c66bc34fc7cd0b242d62901a9d4cb8 *man/glmFamily-class.Rd b595fec321f7ca73ed88b843126baeef *man/glmFamily.Rd 7a77561f95c366c8e7baf40fb0fa6d5e *man/glmer.Rd a2f6e4133eff7b2288bcc20c01ca3c29 *man/glmer.nb.Rd 36383a0393e3f8f285f7c1d3fe04160b *man/glmerLaplaceHandle.Rd dc26eb9f86b5056b90e2e90d531490c1 *man/golden-class.Rd c1544d416f87de6777ee2281e5f8fc71 *man/grouseticks.Rd c4236aab077a04046402a23b86635a7b *man/hatvalues.merMod.Rd a68e2467e44316a346f4daf8bfba3e31 *man/influence.merMod.Rd 3af905a45dfae46c1eda3ac1be6dd36c *man/isNested.Rd e10407c28ced55696cb726daac2d9c05 *man/isREML.Rd e37d68fec1f6822ef5d4274309814074 *man/isSingular.Rd 5bb3bf291c363e7f818e48ce962027fa *man/lmList.Rd e4faeace55fd64773ae425a8d0f72713 *man/lmList4-class.Rd 7d8ebc023d6f58fd43e3a35047240342 *man/lmResp-class.Rd d9e3572637ffe3760c4a531f0a9828c0 *man/lmResp.Rd 5be68d6000e53966c5c7fbb470609929 *man/lme4-package.Rd 36b814d230675b6fedced4d5aeaa8840 *man/lme4_testlevel.Rd d95f62406563be34315095c26173712f *man/lmer.Rd 96a63c1a6133cf3f9fb27586e9844f9f *man/lmerControl.Rd 0ac2b66d8062e6cd03c67eae2d9f68c5 *man/merMod-class.Rd 67daa8376c15b9f3eebf77f83cd5b6c7 *man/merPredD-class.Rd 2c4a82fb8f0e4d1d3a5f754c242ccee5 *man/merPredD.Rd 09352c1fb6121b13186be99c445751a0 *man/mkMerMod.Rd ec1d3b36d1ae7b26ea8062b25097f9f7 *man/mkReTrms.Rd 0b8a7c8eb451e46d3c2f589fe257faab *man/mkRespMod.Rd 97cd5db2899f0c8587e1205df415cd21 *man/mkSimulationTemplate.Rd c061c134315aa205c8f412e3114e6617 *man/mkVarCorr.Rd 96753925f2baeaebd6923a2a70404914 *man/modular.Rd 1afe7f8a3c84ec0759662f5c8718c2ae *man/namedList.Rd b6a57f539f0628c52c83ec28a3a1e1c2 *man/ngrps.Rd b31bc40c7d30f7c7661f74f4ae6529b4 *man/nlformula.Rd 25b163f661adaa3db2240d0c91a6f2ab *man/nlmer.Rd 9d0550af0e7bca952d48bc8e25535e6e *man/nloptwrap.Rd f6ab89312ba0f6e6312c4ad7a2a91eaf *man/nobars.Rd 6aa1db26560fca6afc99a6c988441f5b *man/plot.merMod.Rd ca94cfa042f96d97bf2639c88f508f63 *man/plots.thpr.Rd 6b6b81db97d494acb567f47f934ce3ce *man/predict.merMod.Rd f672d2c45e719f937dc9ce3c98075583 *man/profile-methods.Rd 64d299749bf5c9a8ed4889a14edd0dad *man/pvalues.Rd b88b10a913d43a8c2625b03185c48c09 *man/ranef.Rd 89e234815a580d83ee134b502432b620 *man/rePCA.Rd f1619455da67c1fe4ebb48da69d41663 *man/rePos-class.Rd 24efcd0c579045d6aa2b74818a3b3e62 *man/rePos.Rd 5f0d75e8351fd01aea599bf45d233292 *man/refit.Rd fc1dffbf663939a2c12d6a64ab2488a1 *man/refitML.Rd dbe8547e6c2911509a4310514b506803 *man/residuals.merMod.Rd a124183851ef5f2b787f310dcd53436e *man/sigma.Rd ac312d5990e96c04a3bef4613ab693a6 *man/simulate.formula.Rd a7d9f64a4d137ae2ecd2e8bb2660885b *man/simulate.merMod.Rd beeed79153193c18bb44d318d3b41652 *man/sleepstudy.Rd 74597be45b8bc7612dfd345902340bfb *man/subbars.Rd a6be665c1a6b719b2ef02a30d1d16068 *man/troubleshooting.Rd c1561df41718c5e4f33413944777d45b *man/utilities.Rd eeb3cc1e7dda77e29d74b46216ca483a *man/vcconv.Rd 9bbd2ffa483f537a20540fc0123487dd *man/vcov.merMod.Rd ac607ddbd1be24663cddb063de18ce48 *src/Makevars 9faf9df33ef6101441741d018009a391 *src/Makevars.win 2ad2fef6fff1b12bd60f5cb4c8646aaa *src/external.cpp 29f517a9f513c55cb34ede9d56604895 *src/glmFamily.cpp fd71b2c3113a00e013aa1818b5e316a3 *src/glmFamily.h 6479d79445f25040d13ea9bde81920a9 *src/lme4CholmodDecomposition.h 32c841db506eca816f556d7afa42dff6 *src/optimizer.cpp e84ed1741b657d321391c2e98b24083b *src/optimizer.h 453a58aff4da0690a3151f4075962299 *src/predModule.cpp c3694080138b784156b16c3ca6783614 *src/predModule.h cdf2dbfbe86509142c71bc0f240da638 *src/respModule.cpp 9e54026971ddeae1ec36a759e38ec699 *src/respModule.h 8bbacc62f05c91663ae579ddf04f7a35 *tests/AAAtest-all.R 0c78c74ab39d4d99cdceb6c66c30c43f *tests/HSAURtrees.R a810120b26ea54a7c44ec24aa9f441f5 *tests/README 98a404e235e377a972b4bc6684b67231 *tests/REMLdev.R 1d7c93d885154b156d3a387f1735e080 *tests/ST.R 4d36e8f04cc6dc309d6fe69f715271a0 *tests/agridat_gotway.R 82889c8158caa7257cae9143f34d407f *tests/bootMer.R 976dae1d199acbb54363e8cf0a65ccef *tests/boundary.R ffeb3bd97a922f9a5ff96d21609f37e7 *tests/confint.R e0947bd9ce40080d115a7f35304d623a *tests/devCritFun.R ebc403e112bc9788710262665525e2ba *tests/drop.R d296f685d1731f8eb26cc21c8aa45229 *tests/drop1contrasts.R 6d3709bac2db9daf69e1e29aa3d2d273 *tests/dynload.R bae09675aa2568fe2505d8b62d1264b7 *tests/elston.R 4a15fbb6260ecf8c0db04bdcb37729c8 *tests/evalCall.R 65c300f2156a21d8492b0a050800057f *tests/extras.R 46e18635f440a030fe3e0e57c902ad81 *tests/falsezero_dorie.R 5e49f8a8d4b7275dfa584ab6b5e1c08c *tests/fewlevels.R 22abbcf0bf53d87a69fb887b6dc29ee6 *tests/getME.R 88d16563d7fe047623b4ccb992dc8114 *tests/glmer-1.R 87fbf8bcb9704fe0d95928f441e2c85d *tests/glmerControlPass.R 46de511d77c5e07b8de44c9abcb7b63f *tests/glmerWarn.R 07b053d64e430c968e7849adacbb4e4a *tests/glmmExt.R 1c3dbc408c2995ffd9263f68fc40f944 *tests/glmmWeights.R 214757f88c9e26dc7936ea9ec1594bf9 *tests/hatvalues.R 3693e1cc55ebb3bcf5aaf46ee0bf1eb1 *tests/is.R fd186269bb93bbac5dd07ec81ea3ec2f *tests/lmList-tst.R 1d2d60b8842fae30078e428d29c253d6 *tests/lme4_nlme.R 0e1a2e95602e958f00b0802afd210dee *tests/lmer-0.R deb3ea8a35d4a647eae7d7579acef6f3 *tests/lmer-1.R d01e36cf014c17a45a448da442fec402 *tests/lmer-conv.R 3626933bc63874cc482b23542cfb1325 *tests/lmer2_ex.R b14e84bbdf9344cb4514151d99d513d4 *tests/methods.R ef374523e11228e4f2df65883ac1ba42 *tests/minval.R dc038e000b1d664c0c3fc1afa713dd73 *tests/modFormula.R 59670cafae675128957c07dc8307e4c3 *tests/nbinom.R c44581c823bf500428f485bb6d02ea84 *tests/nlmer-conv.R 4182acd6af58c584c25d745f98d3491f *tests/nlmer.R b7265658c2f03aef75e1ae2fe1617fd2 *tests/offset.R f3f4fe4f43b835de94f56df46940c87e *tests/optimizer.R 243906ce404ce78f0e54487f9f128419 *tests/polytomous.R d43a3e94c09040bc3ea42155f9ac3e11 *tests/prLogistic.R b9add26a39ae6e9b7640010a25ff4ce0 *tests/predict_basis.R bd056d4618a5af1874bbd14e36f99ea9 *tests/predsim.R 962e548f367fac7d7ac6f6a74fd0aac8 *tests/priorWeights.R f66f45c2d7efe66c1a899ac004c6cc7c *tests/priorWeightsModComp.R 851ab07ade90afa06519d5b6524f9c2c *tests/profile-tst.R b2a49dcf6fde0fd4c2f163604fbfa613 *tests/refit.R f41d72b2048efd5d4aee555f78e1292f *tests/resids.R 59b7d77420eed731836649460fabdd3e *tests/respiratory.R 7ff092a47c0f3c2f0d951b907388e520 *tests/simulate.R 14328f790312794d092fe203766763dc *tests/test-glmernbref.R 8375fd1d85d82c024a5a2bbab8b01a14 *tests/testOptControl.R 8c2cb194b2102d830e8ec03a7d90e05c *tests/testcolonizer.R a9b61b064c85d067e523cdd9923f8c76 *tests/testcrab.R 0f215bf9be77528cf28d284888393ab8 *tests/testthat/test-NAhandling.R 5327e2d4780b0630089bcbb9de4715d8 *tests/testthat/test-allFit.R 60481bb722fbe5d948cd37ebdc42744c *tests/testthat/test-catch.R 5a7f64ae7704ac4828a9766568b96021 *tests/testthat/test-doubleVertNotation.R cc7a2bffc0e7ca1d8cd60a1d974e5f7b *tests/testthat/test-eval.R 122e5c6684959d3304f3da4e441de029 *tests/testthat/test-factors.R ae1a6c68a4c16818c81f0556084f80ef *tests/testthat/test-formulaEval.R 77dfda50f17399c093d35103e9c97d13 *tests/testthat/test-glmFamily.R f9d09b2b3dd33645659b89014eac6783 *tests/testthat/test-glmer.R 624f216b5476bddab915163bd1644f75 *tests/testthat/test-glmernb.R 00e3c6b9d17f8d36810367f3f57a4d83 *tests/testthat/test-glmernbref.R 760e6136e0de07276810703e824fb1b8 *tests/testthat/test-glmmFail.R b56599eb941945b0bff60be870cc0df6 *tests/testthat/test-lmList.R 141e58abde1440be21513668a11fdc05 *tests/testthat/test-lmer.R 1ef8bc825d617df86ba8128cef02eff4 *tests/testthat/test-lmerResp.R ea993280d9aee84efa528e268c3fc27b *tests/testthat/test-methods.R 7d3cc50d5f8999d96bb6ae0338f0bb1c *tests/testthat/test-nbinom.R 45ef0bfa99cdf9d184bf91a67f945c97 *tests/testthat/test-nlmer.R c5a2a10463306115ca7aa399dbcc0fb6 *tests/testthat/test-oldRZXfailure.R 20394c3afdc7775716c4ec51534bd386 *tests/testthat/test-predict.R 3e2b37cdca465ac1121000fa1b73fda7 *tests/testthat/test-ranef.R 47463f8098d8db9155e9d8d98aa3f330 *tests/testthat/test-rank.R b82d5d2b1ffe2d4e84d9dd287788817e *tests/testthat/test-resids.R a8b5c24a565b3e0f8afb5f7aa64234e6 *tests/testthat/test-simulate_formula.R ba9fe366c384e8f5e08c47e02350ef14 *tests/testthat/test-start.R 6334ae273f2b1c89d9d629c6a1050464 *tests/testthat/test-stepHalving.R 0371f5a0714714dfc3288543fe819136 *tests/testthat/test-summary.R a9dedade08f7f73d6fdb7f781ec078c1 *tests/testthat/test-summary_testlevel_1.rda 5a0402a0706e02a3078caa49e1e60233 *tests/testthat/test-utils.R ce72dd3a6585a6d08e5af85b3ca8c1da *tests/throw.R b8d09265b05a579ab6b218887b59b70b *tests/varcorr.R 888b6d0b47901ba9a40003d6868a65aa *tests/vcov-etc.R f84eeec527edf425f54bb4754e23da61 *vignettes/PLSvGLS.Rnw 4f0f087495b31139690072d1aca33c00 *vignettes/Theory.Rnw 9c40378d0fbc0a8a8709908391461f5b *vignettes/lme4.bib abece788c951856256aa6f9251276c73 *vignettes/lmer.Rnw b0e17938f9d8feac0ec8df7ba1c4aba3 *vignettes/lmer.bib ecde401260019bb51fa974bcda985f37 *vignettes/lmerperf.Rmd lme4/R/0000755000176200001440000000000014770325770011330 5ustar liggesuserslme4/R/nbinom.R0000644000176200001440000001401514630126752012730 0ustar liggesusers##' @importFrom MASS negative.binomial ##' @importFrom MASS theta.ml ## ==> user should use getME(object, "glmer.nb.theta") getNBdisp <- function(object) environment(object@resp$family$aic)[[".Theta"]] ## Hidden, originally used at least once, well tested (!), but if(FALSE) # not needed anymore currently getNBdisp.fam <- function(familyString) as.numeric(sub(".*([-+]?\\d+(\\.\\d*)?([Ee][-+]?\\d+)?){1}.*", "\\1", familyString)) ## Package "constants" {only on depending the glmResp definition in ./AllClass.R}: glmResp.f.nms <- names(glmResp$fields()) glmNB.to.change <- setdiff(glmResp.f.nms, c("Ptr", "family")) ##' setNBdisp(object,theta) := ##' NB-object with changed [DISP]ersion parameter 'theta' (and all that entails) setNBdisp <- function(object,theta) { ## assign(".Theta",theta,envir=environment(object@resp$family$aic)) rr <- object@resp newresp <- do.call(glmResp$new, c(lapply(setNames(nm=glmNB.to.change), rr$field), list(family = MASS::negative.binomial(theta=theta)))) newresp$setOffset(rr$offset) newresp$updateMu(rr$eta - rr$offset) object@resp <- newresp object } refitNB <- function(object, theta, control = NULL) { refit(setNBdisp(object, theta), control = control) } ##' @title Optimize over the Negative Binomial Parameter Theta ##' @param object a "glmerMod" object, updated from poisson to negative.binomial() ##' @param interval and ##' @param tol are both passed to \code{\link{optimize}()}. ##' @param verbose ## show our own progress ##' @param control passed to \code{\link{refit}()} ##' @return the last fit, an object like 'object' optTheta <- function(object, interval = c(-5,5), tol = .Machine$double.eps^0.25, verbose = FALSE, control = NULL) { lastfit <- object it <- 0L NBfun <- function(t) { ## Kluge to retain last value and evaluation count {good enough for ..} f_refitNB <- factory(refitNB,types=c("message","warning")) lastfit <<- f_refitNB(lastfit, theta = exp(t), control = control) dev <- -2*logLik(lastfit) it <<- it+1L if (verbose) cat(sprintf("%2d: th=%#15.10g, dev=%#14.8f, beta[1]=%#14.8f\n", it, exp(t), dev, lastfit@beta[1])) dev } optval <- optimize(NBfun, interval=interval, tol=tol) stopifnot(all.equal(optval$minimum, log(getNBdisp(lastfit)))) ## FIXME: return eval count info somewhere else? MM: new slot there, why not? attr(lastfit,"nevals") <- it ## fix up the 'th' expression, replacing it by the real number, ## so effects:::mer.to.glm() can eval() it: lastfit@call$family[["theta"]] <- exp(optval$minimum) ## output warnings/messages from last fit for (m in c("warning","message")) { if (!is.null(x <- attr(lastfit,paste0("factory-",m)))) { for (i in x) { get(m,pos="package:base")(i) } } } lastfit } ## use MASS machinery to estimate theta from residuals est_theta <- function(object, limit = 20, eps = .Machine$double.eps^0.25, trace = 0) { Y <- model.response(model.frame(object)) ## may have NA values if na.exclude was used ... mu <- na.omit(fitted(object)) theta.ml(Y, mu, weights = object@resp$weights, limit = limit, eps = eps, trace = trace) } ## -------> ../man/glmer.Rd ##' glmer() for Negative Binomial ##' @param ... formula, data, etc: the arguments for ##' \code{\link{glmer}(..)} (apart from \code{family}!). glmer.nb <- function(..., interval = log(th) + c(-3,3), tol = 5e-5, verbose = FALSE, nb.control = NULL, initCtrl = list(limit = 20, eps = 2*tol, trace = verbose, theta = NULL)) { ## ?? E() is a placeholder; [-1] removes it ## left with a 'headless' list of elements in ... dotE <- as.list(substitute(E(...))[-1]) ## nE <- names(dotE <- as.list(substitute(E(...))[-1])) ## i <- match(c("formula",""), nE) ## i.frml <- i[!is.na(i)][[1]] # the index of "formula" in '...' ## dots <- list(...) mc <- match.call() if (is.null(th <- initCtrl$theta)) { mc[[1]] <- quote(lme4::glmer) mc$family <- quote(stats::poisson) mc$verbose <- (verbose>=2) mc$nb.control <- NULL ## ** FIXME: specifically add check.conv.singular="ignore"? ## suppress other warnings unless explicitly specified? g0 <- suppressMessages( eval(mc, parent.frame(1L)) ) th <- est_theta(g0, limit = initCtrl$limit, eps = initCtrl$eps, trace = initCtrl$trace) ## using format() on purpose, influenced by options(digits = *) : if(verbose) cat("th := est_theta(glmer(..)) =", format(th)) } mc$initCtrl <- NULL ## clear to prevent infinite recursion ## in initCtrl$theta reference above ... mc$family <- bquote(MASS::negative.binomial(theta=.(th))) ## ** see FIXME above g1 <- suppressMessages( eval(mc, parent.frame(1L)) ) if(verbose) cat(" --> dev.= -2*logLik(.) =", format(-2*logLik(g1)),"\n") ## fix the 'data' part (only now!) if("data" %in% names(g1@call)) { if (!is.null(dotE[["data"]])) { g1@call[["data"]] <- dotE[["data"]] } } else warning("no 'data = *' in glmer.nb() call ... Not much is guaranteed") other.args <- c("verbose","control") for (a in other.args) { if (a %in% names(g1@call)) { g1@call[[a]] <- dotE[[a]] } } ## FIXME: optTheta should also work by modifying mc directly, ## then re-evaluating, not via refit() ... control <- eval.parent(g1@call$control) res <- optTheta(g1, interval=interval, tol=tol, verbose=verbose, control = c(control, nb.control)) res } ## do we want to facilitate profiling on theta?? ## save evaluations used in optimize() fit? ## ('memoise'?) ## Again, I think that a reference class object would be a better approach. lme4/R/plot.R0000644000176200001440000004754514634571002012436 0ustar liggesusers## copied/modified from nlme ##' split, on the nm call, the rhs of a formula into a list of subformulas splitFormula <- function(form, sep = "/") { if (inherits(form, "formula") || mode(form) == "call" && form[[1]] == as.name("~")) splitFormula(form[[length(form)]], sep = sep) else if (mode(form) == "call" && form[[1]] == as.name(sep)) do.call(c, lapply(as.list(form[-1]), splitFormula, sep = sep)) else if (mode(form) == "(") splitFormula(form[[2]], sep = sep) else if (length(form)) list(asOneSidedFormula(form)) ## else ## NULL } ## Recursive version of all.vars allVarsRec <- function(object) { if (is.list(object)) { unlist(lapply(object, allVarsRec)) } else { all.vars(object) } } ## simple version of getData.gnls from nlme ## but we *should* and *can* work with environment(formula(.)) getData.merMod <- function(object) { mCall <- getCall(object) data <- eval(mCall$data, environment(formula(object))) if (!is.data.frame(data) && !is.matrix(data)) stop(paste(sQuote("data"),"object found is not a data frame or matrix")) return(data) } asOneFormula <- ## Constructs a linear formula with all the variables used in a ## list of formulas, except for the names in omit function(..., omit = c(".", "pi")) { names <- unique(allVarsRec(list(...))) names <- names[is.na(match(names, omit))] if (length(names)) as.formula(paste("~", paste(names, collapse = "+"))) # else NULL } getIDLabels <- function(object, form=formula(object)) { mf <- factorize(form,model.frame(object)) if (length(ff <- findbars(form))>0) { grps <- lapply(ff,"[[",3) } else { grps <- form[[2]] } if (identical(grps,quote(.obs))) return(seq(fitted(object))) fList <- lapply(grps,function(x) eval(x,mf)) do.call(interaction,fList) } ## TESTING ## lme4:::getIDLabels(fm1) ## Return the formula(s) for the groups associated with object. ## The result is a one-sided formula unless asList is TRUE in which case ## it is a list of formulas, one for each level. getGroupsFormula <- function(object, asList = FALSE, sep = "+") UseMethod("getGroupsFormula") getGroupsFormula.default <- ## Return the formula(s) for the groups associated with object. ## The result is a one-sided formula unless asList is TRUE in which case ## it is a list of formulas, one for each level. function(object, asList = FALSE, sep = "/") { form <- formula(object) if (!inherits(form, "formula")){ stop("\"Form\" argument must be a formula") } form <- form[[length(form)]] if (!((length(form) == 3) && (form[[1]] == as.name("|")))) { ## no conditioning expression return(NULL) } ## val <- list( asOneSidedFormula( form[[ 3 ]] ) ) val <- splitFormula(asOneSidedFormula(form[[3]]), sep = sep) names(val) <- unlist(lapply(val, function(el) deparse(el[[2]]))) # if (!missing(level)) { # if (length(level) == 1) { # return(val[[level]]) # } else { # val <- val[level] # } # } if (asList) as.list(val) else as.formula(paste("~", paste(names(val), collapse = sep))) } getGroupsFormula.merMod <- function(object,asList=FALSE, sep="+") { if (asList) { lapply(names(object@flist),asOneSidedFormula) } else { asOneSidedFormula(paste(names(object@flist),collapse=sep)) } } getCovariateFormula <- function (object) { form <- formula(object) if (!(inherits(form, "formula"))) { stop("formula(object) must return a formula") } form <- form[[length(form)]] if (length(form) == 3 && form[[1]] == as.name("|")) { form <- form[[2]] } eval(substitute(~form)) } getResponseFormula <- function(object) { ## Return the response formula as a one sided formula form <- formula(object) if (!(inherits(form, "formula") && (length(form) == 3))) { stop("\"Form\" must be a two sided formula") } as.formula(paste("~", deparse(form[[2]]))) } ##' diagnostic plots for merMod fits ##' @param x a fitted [ng]lmer model ##' @param form an optional formula specifying the desired type of plot. Any ##' variable present in the original data frame used to obtain ##' \code{x} can be referenced. In addition, \code{x} itself can be ##' referenced in the formula using the symbol \code{"."}. Conditional ##' expressions on the right of a \code{|} operator can be used to ##' define separate panels in a lattice display. Default is ##' \code{resid(., type = "pearson") ~ fitted(.)}, corresponding to a plot ##' of the standardized residuals versus fitted values. ##' @param abline an optional numeric value, or numeric vector of length ##' two. If given as a single value, a horizontal line will be added to the ##' plot at that coordinate; else, if given as a vector, its values are ##' used as the intercept and slope for a line added to the plot. If ##' missing, no lines are added to the plot. ##' @param id an optional numeric value, or one-sided formula. If given as ##' a value, it is used as a significance level for a two-sided outlier ##' test for the standardized, or normalized residuals. Observations with ##' absolute standardized (normalized) residuals greater than the \eqn{1-value/2} ##' quantile of the standard normal distribution are ##' identified in the plot using \code{idLabels}. If given as a one-sided ##' formula, its right hand side must evaluate to a logical, integer, or ##' character vector which is used to identify observations in the ##' plot. If missing, no observations are identified. ##' @param idLabels an optional vector, or one-sided formula. If given as a ##' vector, it is converted to character and used to label the ##' observations identified according to \code{id}. If given as a ##' vector, it is converted to character and used to label the ##' observations identified according to \code{id}. If given as a ##' one-sided formula, its right hand side must evaluate to a vector ##' which is converted to character and used to label the identified ##' observations. Default is the interaction of all the grouping variables ##' in the data frame. The special formula ##' @param grid an optional logical value indicating whether a grid should ##' be added to plot. Default depends on the type of lattice plot used: ##' if \code{xyplot} defaults to \code{TRUE}, else defaults to ##' \code{FALSE}. ##' @param \dots optional arguments passed to the lattice plot function. ##' @details Diagnostic plots for the linear mixed-effects fit are obtained. The ##' \code{form} argument gives considerable flexibility in the type of ##' plot specification. A conditioning expression (on the right side of a ##' \code{|} operator) always implies that different panels are used for ##' each level of the conditioning factor, according to a lattice ##' display. If \code{form} is a one-sided formula, histograms of the ##' variable on the right hand side of the formula, before a \code{|} ##' operator, are displayed (the lattice function \code{histogram} is ##' used). If \code{form} is two-sided and both its left and ##' right hand side variables are numeric, scatter plots are displayed ##' (the lattice function \code{xyplot} is used). Finally, if \code{form} ##' is two-sided and its left had side variable is a factor, box-plots of ##' the right hand side variable by the levels of the left hand side ##' variable are displayed (the lattice function \code{bwplot} is used). ##' @author original version in \code{nlme} package by Jose Pinheiro and Douglas Bates ##' @examples ##' data(Orthodont,package="nlme") ##' fm1 <- lmer(distance ~ age + (age|Subject), data=Orthodont) ##' ## standardized residuals versus fitted values by gender ##' plot(fm1, resid(., scaled=TRUE) ~ fitted(.) | Sex, abline = 0) ##' ## box-plots of residuals by Subject ##' plot(fm1, Subject ~ resid(., scaled=TRUE)) ##' ## observed versus fitted values by Subject ##' plot(fm1, distance ~ fitted(.) | Subject, abline = c(0,1)) ##' ## residuals by age, separated by Subject ##' plot(fm1, resid(., scaled=TRUE) ~ age | Sex, abline = 0) ##' if (require(ggplot2)) { ##' ## we can create the same plots using ggplot2 and the fortify() function ##' fm1F <- fortify(fm1) ##' ggplot(fm1F, aes(.fitted,.resid)) + geom_point(colour="blue") + ##' facet_grid(.~Sex) + geom_hline(yintercept=0) ##' ## note: Subjects are ordered by mean distance ##' ggplot(fm1F, aes(Subject,.resid)) + geom_boxplot() + coord_flip() ##' ggplot(fm1F, aes(.fitted,distance))+ geom_point(colour="blue") + ##' facet_wrap(~Subject) +geom_abline(intercept=0,slope=1) ##' ggplot(fm1F, aes(age,.resid)) + geom_point(colour="blue") + facet_grid(.~Sex) + ##' geom_hline(yintercept=0)+geom_line(aes(group=Subject),alpha=0.4)+geom_smooth(method="loess") ##' ## (warnings about loess are due to having only 4 unique x values) ##' detach("package:ggplot2") ##' } ##' @S3method plot merMod ##' @method plot merMod ##' @export plot.merMod <- function(x, form = resid(., type = "pearson") ~ fitted(.), abline, id = NULL, idLabels = NULL, grid, ...) ## Diagnostic plots based on residuals and/or fitted values { object <- x if (!inherits(form, "formula")) stop("\"form\" must be a formula") ## constructing data ## can I get away with using object@frame??? allV <- all.vars(asOneFormula(form, id, idLabels)) allV <- allV[is.na(match(allV,c("T","F","TRUE","FALSE",".obs")))] if (length(allV) > 0) { data <- getData(object) if (is.null(data)) { # try to construct data alist <- lapply(as.list(allV), as.name) names(alist) <- allV alist <- c(list(as.name("data.frame")), alist) mode(alist) <- "call" data <- eval(alist, sys.parent(1)) } else if (any(naV <- is.na(match(allV, names(data))))) stop(allV[naV], " not found in data") } else data <- NULL ## this won't do because there may well be variables we want ## that were not in the model call ## data <- object@frame ## argument list dots <- list(...) args <- if (length(dots) > 0) dots else list() ## appending object to data, and adding observation-number variable if (length(data) > 0) { data <- cbind(data, .obs = seq(nrow(data))) } data <- as.list(c(as.list(data), . = list(object))) ## covariate - must always be present covF <- getCovariateFormula(form) .x <- eval(covF[[2]], data) if (!is.numeric(.x)) { stop("Covariate must be numeric") } argForm <- ~ .x argData <- data.frame(.x = .x, check.names = FALSE) if (is.null(args$xlab)) { if (is.null(xlab <- attr(.x, "label"))) xlab <- deparse(covF[[2]]) args$xlab <- xlab } ## response - need not be present respF <- getResponseFormula(form) if (!is.null(respF)) { .y <- eval(respF[[2]], data) if (is.null(args$ylab)) { if (is.null(ylab <- attr(.y, "label"))) ylab <- deparse(respF[[2]]) args$ylab <- ylab } argForm <- .y ~ .x argData[, ".y"] <- .y } ## groups - need not be present grpsF <- getGroupsFormula(form) if (!is.null(grpsF)) { ## ?? FIXME ??? gr <- splitFormula(grpsF, sep = "*") for(i in seq_along(gr)) { auxGr <- all.vars(gr[[i]]) for(j in auxGr) argData[[j]] <- eval(as.name(j), data) } argForm <- as.formula(paste(if (length(argForm) == 2) "~ .x |" else ".y ~ .x |", deparse(grpsF[[2]]))) } ## adding to args list args <- c(list(argForm, data = argData), args) if (is.null(args$strip)) { args$strip <- function(...) strip.default(..., style = 1) } if (is.null(args$cex)) args$cex <- par("cex") if (is.null(args$adj)) args$adj <- par("adj") if (!is.null(id)) { ## identify points in plot idResType <- "pearson" ## diff from plot.lme: 'normalized' not available id <- switch(mode(id), numeric = { if (id <= 0 || id >= 1) stop(shQuote("id")," must be between 0 and 1") abs(resid(object, type = idResType))/sigma(object) > -qnorm(id / 2) }, call = eval(asOneSidedFormula(id)[[2]], data), stop(shQuote("id")," can only be a formula or numeric.") ) if (is.null(idLabels)) { idLabels <- getIDLabels(object) } else { if (inherits(idLabels,"formula")) { idLabels <- getIDLabels(object,idLabels) } else if (is.vector(idLabels)) { if (length(idLabels <- unlist(idLabels)) != length(id)) { stop("\"idLabels\" of incorrect length") } } else stop("\"idLabels\" can only be a formula or a vector") } ## DON'T subscript by id, will be done later idLabels <- as.character(idLabels) } ## defining abline, if needed if (missing(abline)) { abline <- if (missing(form)) # r ~ f c(0, 0) else NULL } #assign("id", id , where = 1) #assign("idLabels", idLabels, where = 1) #assign("abl", abline, where = 1) assign("abl", abline) ## defining the type of plot if (length(argForm) == 3) { if (is.numeric(.y)) { # xyplot plotFun <- "xyplot" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, y, subscripts, ...) { x <- as.numeric(x) y <- as.numeric(y) dots <- list(...) if (grid) panel.grid() panel.xyplot(x, y, ...) if (any(ids <- id[subscripts])){ ltext(x[ids], y[ids], idLabels[subscripts][ids], cex = dots$cex, adj = dots$adj) } if (!is.null(abl)) { if (length(abl) == 2) panel.abline(a = abl, ...) else panel.abline(h = abl, ...) } })) } } else { # assume factor or character plotFun <- "bwplot" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, y, ...) { if (grid) panel.grid() panel.bwplot(x, y, ...) if (!is.null(abl)) { panel.abline(v = abl[1], ...) } })) } } } else { plotFun <- "histogram" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, ...) { if (grid) panel.grid() panel.histogram(x, ...) if (!is.null(abl)) { panel.abline(v = abl[1], ...) } })) } } ## defining grid if (missing(grid)) { grid <- (plotFun == "xyplot") } # assign("grid", grid, where = 1) do.call(plotFun, as.list(args)) } ## no longer defining `fortify` S3 generic ##' @rdname fortify ##' @S3method fortify lmerMod ##' @method fortify lmerMod ##' @export ##' as function, not as S3 method, see ../man/fortify.Rd : fortify.merMod <- function(model, data=getData(model), ...) { ## FIXME: get influence measures via influence.ME? ## (expensive, induces dependency ...) ## FIXME: different kinds of residuals? ## FIXME: deal with na.omit/predict etc. data$.fitted <- predict(model) data$.resid <- resid(model) data$.scresid <- resid(model,type="pearson",scaled=TRUE) data } ## autoplot??? ## plot method for plot.summary.mer ... coefplot-style ## horizontal, vertical? other options??? ## scale? plot.summary.mer <- function(object, type="fixef", ...) { if(any(!type %in% c("fixef","vcov"))) stop("'type' not yet implemented: ", type) stop("FIXME -- not yet implemented") } ## TO DO: allow faceting formula ## TO DO: allow qqline to be optional ## TO DO (harder): steal machinery from qq.gam for better GLMM Q-Q plots qqmath.merMod <- function(x, data = NULL, id=NULL, idLabels=NULL, ...) { ## klugey attempt to detect whether user forgot to specify argument ## names explicitly (after addition of required 'data' argument) ## NOT completely tested! if (!is.null(data)) { idLabels <- id id <- data warning("qqmath.merMod takes ", sQuote("data"), "as its ", "first argument for S3 method compatibility: ", "in the future, please ", "specify the ", sQuote("id"), " and ", sQuote("idLabels"), " arguments explicitly ", "i.e. ", sQuote("qqmath(fitted_model, id = ..., [idLabels = ...], ...)")) } values <- residuals(x, type="pearson", scaled=TRUE) data <- getData(x) ## DRY: copied from plot.merMod, should modularize/refactor if (!is.null(id)) { ## identify points in plot id <- switch(mode(id), numeric = { if (id <= 0 || id >= 1) stop(shQuote("id")," must be between 0 and 1") as.logical(abs(values) > -qnorm(id / 2)) }, call = eval(asOneSidedFormula(id)[[2]], data), stop(shQuote("id")," can only be a formula or numeric.") ) if (is.null(idLabels)) { idLabels <- getIDLabels(x) } else { if (inherits(idLabels,"formula")) { idLabels <- getIDLabels(x,idLabels) } else if (is.vector(idLabels)) { if (length(idLabels <- unlist(idLabels)) != length(id)) { stop("\"idLabels\" of incorrect length") } } else stop("\"idLabels\" can only be a formula or a vector") } idLabels <- as.character(idLabels) } ## DON'T subscript by id, will be done later qqpanel <- function(x, subscripts, ...) { dots <- list(...) panel.qqmathline(x, ...) panel.qqmath(x, ...) if (any(ids <- id[subscripts])) { xs <- x[subscripts] pp <- setNames(ppoints(length(xs)), names(sort(xs))) ## want to plot qnorm(pp) vs sort(x) ## ... but want to pick out the elements that corresponded ## to ids **before** sorting xx <- qnorm(pp)[names(xs)[ids]] yy <- sort(x)[names(xs)][ids] ## quantile(values, pp)[ids] ltext(xx, yy, idLabels[ids], cex = dots$cex, adj = dots$adj) } } qqmath(values, xlab = "Standard normal quantiles", ylab = "Standardized residuals", prepanel = prepanel.qqmathline, panel = qqpanel, ...) } ## qqmath(~residuals(gm1)|cbpp$herd) lme4/R/profile.R0000644000176200001440000015027114632613042013106 0ustar liggesusers## --> ../man/profile-methods.Rd profnames <- function(object, signames=TRUE, useSc=isLMM(object), prefix=c("sd","cor")) { ntp <- length(getME(object,"theta")) ## return c(if(signames) sprintf(".sig%02d", seq(ntp)) else tnames(object, old=FALSE, prefix=prefix), if(useSc) if (signames) ".sigma" else "sigma") } ##' @importFrom splines backSpline interpSpline periodicSpline ##' @importFrom stats profile ##' @method profile merMod ##' @export profile.merMod <- function(fitted, which=NULL, alphamax = 0.01, maxpts = 100, delta = NULL, delta.cutoff = 1/8, verbose=0, devtol=1e-9, devmatchtol=1e-5, maxmult = 10, startmethod = "prev", optimizer = NULL, control = NULL, signames = TRUE, parallel = c("no", "multicore", "snow"), ncpus = getOption("profile.ncpus", 1L), cl = NULL, prof.scale = c("sdcor","varcov"), ...) { ## FIXME: allow choice of nextstep/nextstart algorithm? ## FIXME: allow selection of individual variables to profile by name? ## FIXME: allow for failure of bounds (non-pos-definite correlation matrices) when >1 cor parameter prof.scale <- match.arg(prof.scale) parallel <- match.arg(parallel) do_parallel <- have_mc <- have_snow <- NULL # "-Wall" are set here: eval(initialize.parallel)# (parallel, ncpus) if (is.null(optimizer)) optimizer <- fitted@optinfo$optimizer ## hack: doesn't work to set bobyqa parameters to *ending* values stored ## in @optinfo$control ignore.pars <- c("xst", "xt") control.internal <- fitted@optinfo$control if (length(ign <- which(names(control.internal) %in% ignore.pars)) > 0) control.internal <- control.internal[-ign] if (!is.null(control)) { i <- names(control) control.internal[[i]] <- control[[i]] } control <- control.internal useSc <- isLMM(fitted) || isNLMM(fitted) prof.prefix <- switch(prof.scale, "sdcor" = { transfuns <- list(from.chol= Cv_to_Sv, to.chol = Sv_to_Cv, to.sd = identity) c("sd", "cor") }, "varcov" = { transfuns <- list(from.chol= Cv_to_Vv, to.chol = Vv_to_Cv, to.sd = sqrt) c("var", "cov") }, stop("internal error, prof.scale=", prof.scale)) dd <- devfun2(fitted, useSc=useSc, signames=signames, transfuns=transfuns, prefix=prof.prefix, ...) ## FIXME: figure out to what do here ... if (isGLMM(fitted) && fitted@devcomp$dims[["useSc"]]) stop("can't (yet) profile GLMMs with non-fixed scale parameters") stopifnot(devtol >= 0) base <- attr(dd, "basedev") ## protect against accidental tampering by later devfun calls thopt <- forceCopy(attr(dd, "thopt")) stderr <- attr(dd, "stderr") pp <- environment(dd)$pp X.orig <- pp$X n <- environment(dd)$n p <- length(pp$beta0) opt <- attr(dd, "optimum") nptot <- length(opt) nvp <- nptot - p # number of variance-covariance pars wi.vp <- seq_len(nvp) if(nvp > 0) fe.orig <- opt[- wi.vp] which <- get.which(which, nvp, nptot, names(opt), verbose) res <- c(.zeta = 0, opt) res <- matrix(res, nrow = maxpts, ncol = length(res), dimnames = list(NULL, names(res)), byrow = TRUE) ## FIXME: why is cutoff based on nptot ## (i.e. boundary of simultaneous LRT conf region for nptot values) ## when we are computing (at most) 2-parameter profiles here? cutoff <- sqrt(qchisq(1 - alphamax, nptot)) if (is.null(delta)) delta <- cutoff*delta.cutoff ## helper functions ## nextpar calculates the next value of the parameter being ## profiled based on the desired step in the profile zeta ## (absstep) and the values of zeta and column cc for rows ## r-1 and r. The parameter may not be below lower (or above upper) nextpar <- function(mat, cc, r, absstep, lower = -Inf, upper = Inf, minstep=1e-6) { rows <- r - (1:0) # previous two row numbers pvals <- mat[rows, cc] zeta <- mat[rows, ".zeta"] num <- diff(pvals) if (is.na(denom <- diff(zeta)) || denom==0) { warning("Last two rows have identical or NA .zeta values: using minstep") step <- minstep } else { step <- absstep*num/denom if (step<0) { warning("unexpected decrease in profile: using minstep") step <- minstep } else { if (r>1) { if (abs(step) > (maxstep <- abs(maxmult*num))) { maxstep <- sign(step)*maxstep if (verbose) cat(sprintf("capped step at %1.2f (multiplier=%1.2f > %1.2f)\n", maxstep,abs(step/num),maxmult)) step <- maxstep } } } } min(upper, max(lower, pvals[2] + sign(num) * step)) } nextstart <- function(mat, pind, r, method) { ## FIXME: indexing may need to be checked (e.g. for fixed-effect parameters) switch(method, global= opt[seqpar1][-pind], ## address opt, no zeta column prev = mat[r,1+seqpar1][-pind], extrap = stop("not yet implemented"),## do something with mat[r-(1:0),1+seqnvp])[-pind] stop("invalid nextstart method")) } ## mkpar generates the parameter vector of theta and ## sigma from the values being profiled in position w mkpar <- function(np, w, pw, pmw) { par <- numeric(np) par[w] <- pw par[-w] <- pmw par } ## fillmat fills the third and subsequent rows of the matrix ## using nextpar and zeta ## FIXME: add code to evaluate more rows near the minimum if that ## constraint was active. fillmat <- function(mat, lowcut, upcut, zetafun, cc) { nr <- nrow(mat) i <- 2L while (i < nr && mat[i, cc] > lowcut && mat[i,cc] < upcut && (is.na(curzeta <- abs(mat[i, ".zeta"])) || curzeta <= cutoff)) { np <- nextpar(mat, cc, i, delta, lowcut, upcut) ns <- nextstart(mat, pind = cc-1, r=i, method=startmethod) mat[i + 1L, ] <- zetafun(np,ns) if (verbose>0) { cat(i,cc,mat[i+1L,],"\n") } i <- i + 1L } if (mat[i-1,cc]==lowcut) { ## fill in more values near the minimum } if (mat[i-1,cc]==upcut) { ## fill in more values near the maximum } mat } ## bounds on Cholesky (== fitted@lower): [0,Inf) for diag, (-Inf,Inf) for off-diag ## bounds on sd-corr: [0,Inf) for diag, (-1.0,1.0) for off-diag ## bounds on var-corr: [0,Inf) for diag, (-Inf,Inf) for off-diag if (prof.scale=="sdcor") { lower <- pmax(fitted@lower, -1.) upper <- ifelse(fitted@lower==0, Inf, 1.0) } else { lower <- fitted@lower upper <- rep(Inf,length.out=length(fitted@lower)) } if (useSc) { # bounds for sigma lower <- c(lower,0) upper <- c(upper,Inf) } ## bounds on fixed parameters (TODO: allow user-specified bounds, e.g. for NLMMs) lower <- c(lower,rep.int(-Inf, p)) upper <- c(upper, rep.int(Inf, p)) npar1 <- if (isLMM(fitted)) nvp else nptot ## check that devfun2() computation for the base parameters is (approx.) the ## same as the original devfun() computation basecheck <- all.equal(unname(dd(opt[seq(npar1)])), base, tolerance=devmatchtol) if(!isTRUE(basecheck)) { basediff <- abs(dd(opt[seq(npar1)])/base - 1) stop(sprintf(paste0("Profiling over both the residual variance and\n", "fixed effects is not numerically consistent with\n", "profiling over the fixed effects only (relative difference: %1.4g);\n", "consider adjusting devmatchtol"), basediff)) } ## sequence of variance parameters to profile seqnvp <- intersect(seq_len(npar1), which) ## sequence of 'all' parameters seqpar1 <- seq_len(npar1) lowvp <- lower[seqpar1] upvp <- upper[seqpar1] form <- .zeta ~ foo # pattern for interpSpline formula ## as in bootMer.R, define FUN as a ## closure containing the referenced variables ## in its scope to avoid explicit clusterExport statement ## in the PSOCKcluster case FUN <- local({ function(w) { if (verbose) cat(if(isLMM(fitted)) "var-cov " else "", "parameter ",w,":\n",sep="") wp1 <- w + 1L pw <- opt[w] lowcut <- lower[w] upcut <- upper[w] zeta <- function(xx,start) { ores <- tryCatch(optwrap(optimizer, par=start, fn=function(x) dd(mkpar(npar1, w, xx, x)), lower = lowvp[-w], upper = upvp [-w], control = control), error=function(e) NULL) if (is.null(ores)) { devdiff <- NA pars <- NA } else { devdiff <- ores$fval - base pars <- ores$par } if (is.na(devdiff)) { warning("NAs detected in profiling") } else { if(verbose && devdiff < 0) cat("old deviance ",base,",\n", "new deviance ",ores$fval,",\n", "new params ", paste(mkpar(npar1,w,xx,ores$par), collapse=","),"\n") if (devdiff < (-devtol)) stop("profiling detected new, lower deviance ", sprintf("(deviance diff = %1.3g, tolerance = %1.3g)", abs(devdiff), devtol)) if(devdiff < 0) warning(gettextf("slightly lower deviances (diff=%g) detected", devdiff), domain=NA) } devdiff <- max(0,devdiff) zz <- sign(xx - pw) * sqrt(devdiff) r <- c(zz, mkpar(npar1, w, xx, pars)) if (isLMM(fitted)) c(r, pp$beta(1)) else r }## {zeta} ## intermediate storage for pos. and neg. increments pres <- nres <- res ## assign one row, determined by inc. sign, from a small shift ## FIXME:: do something if pw==0 ??? shiftpar <- if (pw==0) 1e-3 else pw*1.01 ## Since both the pos- and neg-increment matrices are already ## filled with the opt. par. results, this sets the first ## two rows of the positive-increment matrix ## to (opt. par, shiftpar) and the first two rows of ## the negative-increment matrix to (shiftpar, opt. par), ## which sets up two points going in the right direction ## for each matrix (since the profiling algorithm uses increments ## between rows to choose the next parameter increment) nres[1, ] <- pres[2, ] <- zeta(shiftpar, start=opt[seqpar1][-w]) ## fill in the rest of the arrays and collapse them upperf <- fillmat(pres, lowcut, upcut, zeta, wp1) lowerf <- if (pw > lowcut) fillmat(nres, lowcut, upcut, zeta, wp1) else ## don't bother to fill in 'nres' matrix nres ## this will throw away the extra 'opt. par' and 'shiftpar' ## rows introduced above: bres <- as.data.frame(unique(rbind2(upperf,lowerf))) pname <- names(opt)[w] bres$.par <- pname bres <- bres[order(bres[, wp1]), ] ## FIXME: test for bad things here?? form[[3]] <- as.name(pname) forspl <- NULL # (in case of error) ## bakspl bakspl <- tryCatch(backSpline( forspl <- interpSpline(form, bres, na.action=na.omit)), error=function(e)e) if (inherits(bakspl, "error")) warning("non-monotonic profile for ",pname) ## return: namedList(bres,bakspl,forspl) # namedList() -> lmerControl.R }}) ## FUN() ## copied from bootMer: DRY! L <- if (do_parallel) { if (have_mc) { parallel::mclapply(seqnvp, FUN, mc.cores = ncpus) } else if (have_snow) { if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## explicit export of the lme4 namespace since most FUNs will probably ## use some of them parallel::clusterExport(cl, varlist=getNamespaceExports("lme4")) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) pres <- parallel::parLapply(cl, seqnvp, FUN) parallel::stopCluster(cl) pres } else parallel::parLapply(cl, seqnvp, FUN) } } else lapply(seqnvp, FUN) nn <- names(opt[seqnvp]) ans <- setNames(lapply(L, `[[`, "bres"), nn) bakspl <- setNames(lapply(L, `[[`,"bakspl"), nn) forspl <- setNames(lapply(L, `[[`,"forspl"), nn) ## profile fixed effects separately (for LMMs) if (isLMM(fitted)) { offset.orig <- fitted@resp$offset fp <- seq_len(p) fp <- fp[(fp+nvp) %in% which] ## FIXME: parallelize this too ... for (j in fp) { if (verbose) cat("fixed-effect parameter ",j,":\n",sep="") pres <- # intermediate results for pos. incr. nres <- res # and negative increments est <- opt[nvp + j] std <- stderr[j] Xw <- X.orig[, j, drop=TRUE] Xdrop <- .modelMatrixDrop(X.orig, j) pp1 <- new(class(pp), X = Xdrop, Zt = pp$Zt, Lambdat = pp$Lambdat, Lind = pp$Lind, theta = pp$theta, n = nrow(Xdrop)) ### FIXME Change this to use the deep copy and setWeights, setOffset, etc. rr <- new(Class=class(fitted@resp), y=fitted@resp$y) rr$setWeights(fitted@resp$weights) fe.zeta <- function(fw, start) { ## (start parameter ignored) rr$setOffset(Xw * fw + offset.orig) rho <- list2env(list(pp=pp1, resp=rr), parent = parent.frame()) ores <- optwrap(optimizer, par = thopt, fn = mkdevfun(rho, 0L), lower = fitted@lower) ## this optimization is done on the ORIGINAL ## theta scale (i.e. not the sigma/corr scale) ## upper=Inf for all cases ## lower = pmax(fitted@lower, -1.0), ## upper = 1/(fitted@lower != 0))## = ifelse(fitted@lower==0, Inf, 1.0) fv <- ores$fval sig <- sqrt((rr$wrss() + pp1$sqrL(1))/n) c(sign(fw - est) * sqrt(fv - base), Cv_to_Sv(ores$par, lengths(fitted@cnms), s=sig), ## ores$par * sig, sig, mkpar(p, j, fw, pp1$beta(1))) } nres[1, ] <- pres[2, ] <- fe.zeta(est + delta * std) poff <- nvp + 1L + j ## Workaround R bug [rbind2() is S4 generic; cannot catch warnings in its arg] ## see lme4 GH issue #304 upperf <- fillmat(pres, -Inf, Inf, fe.zeta, poff) lowerf <- fillmat(nres, -Inf, Inf, fe.zeta, poff) bres <- as.data.frame(unique(rbind2(upperf, lowerf))) bres$.par <- n.j <- names(fe.orig)[j] ans[[n.j]] <- bres[order(bres[, poff]), ] form[[3]] <- as.name(n.j) bakspl[[n.j]] <- tryCatch(backSpline(forspl[[n.j]] <- interpSpline(form, bres)), error=function(e)e) if (inherits(bakspl[[n.j]], "error")) warning("non-monotonic profile for ", n.j) } ## for(j in 1..p) } ## if isLMM ans <- do.call(rbind, ans) row.names(ans) <- NULL ## TODO: rbind(*, make.row.names=FALSE) ans$.par <- factor(ans$.par) structure(ans, forward = forspl, backward = bakspl, lower = lower[seqnvp], upper = upper[seqnvp], class = c("thpr", "data.frame"))# 'thpr': see ../man/profile-methods.Rd } ## profile.merMod ##' Transform 'which' \in {parnames | integer | "beta_" | "theta_"} ##' into integer indices ##' @param which numeric or character vector ##' @param nvp number of variance-covariance parameters ##' @param nptot total number of parameters ##' @param parnames vector of parameter names ##' @param verbose print messages? ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ##' tn <- names(getME(fm1,"theta")) ##' nn <- c(tn,names(fixef(fm1))) ##' get.which("theta_",length(tn),length(nn),nn, verbose=TRUE) ##' get.which <- function(which, nvp, nptot, parnames, verbose=FALSE) { if (is.null(which)) seq_len(nptot) else if (is.character(which)) { wi <- integer(); wh <- which if(any(j <- wh == "theta_")) { wi <- seq_len(nvp); wh <- wh[!j] } if(any(j <- wh == "beta_") && nptot > nvp) { wi <- c(wi, seq(nvp+1, nptot)); wh <- wh[!j] } if(any(j <- parnames %in% wh)) { ## which containing param.names wi <- sort(unique(c(wi, seq_len(nptot)[j]))) } if(verbose) message(gettextf("From original which = %s: new which <- %s", deparse(which, nlines=1), deparse(wi, nlines=1)), domain=NA) if(length(wi) == 0) warning(gettextf("Nothing selected by 'which=%s'", deparse(which)), domain=NA) wi } else # stopifnot( .. numeric ..) which } ## This is a hack. The preferred approach is to write a ## subset method for the ddenseModelMatrix and dsparseModelMatrix ## classes .modelMatrixDrop <- function(mm, w) { if (isS4(mm)) { nX <- slotNames(X <- mm[, -w, drop = FALSE]) do.call(new, c(list(Class = class(mm), assign = attr(mm,"assign")[-w], contrasts = NULL ## FIXME: where did the contrasts information go?? ## mm@contrasts ), lapply(structure(nX, .Names=nX), function(nm) slot(X, nm)))) } else { structure(mm[, -w, drop=FALSE], assign = attr(mm, "assign")[-w]) } } ## The deviance is profiled with respect to the fixed-effects ## parameters but not with respect to sigma. The other parameters ## are on the standard deviation scale, not the theta scale. ## ## @title Return a function for evaluation of the deviance. ## @param fm a fitted model of class merMod ## @param useSc (logical) whether a scale parameter is used ## @param \dots arguments passed to profnames (\code{signames=TRUE} ## to use old-style .sigxx names, FALSE uses (sd_cor|xx); ## also \code{prefix=c("sd","cor")}) ## @return a function for evaluating the deviance in the extended ## parameterization. This is profiled with respect to the ## variance-covariance parameters (fixed-effects done separately). devfun2 <- function(fm, useSc = if(isLMM(fm)) TRUE else NA, transfuns = list(from.chol = Cv_to_Sv, to.chol = Sv_to_Cv, to.sd = identity), ...) { ## FIXME: have to distinguish between ## 'useSc' (GLMM: report profiled scale parameter) and ## 'useSc' (NLMM/LMM: scale theta by sigma) ## hasSc := GLMMuseSc <- fm@devcomp$dims["useSc"] stopifnot(is(fm, "merMod")) fm <- refitML(fm) basedev <- -2*c(logLik(fm)) ## no longer deviance() vlist <- lengths(fm@cnms) ## "has scale" := isLMM or GLMM with scale parameter hasSc <- as.logical(fm@devcomp$dims[["useSc"]]) stdErr <- unname(coef(summary(fm))[,2]) pp <- fm@pp$copy() if (useSc) { sig <- sigma(fm) ## only if hasSc is TRUE? ## opt <- c(pp$theta*sig, sig) opt <- transfuns$from.chol(pp$theta, n=vlist, s=sig) } else { opt <- transfuns$from.chol(pp$theta, n=vlist) } names(opt) <- profnames(fm, useSc=useSc, ...) opt <- c(opt, fixef(fm)) resp <- fm@resp$copy() np <- length(pp$theta) nf <- length(fixef(fm)) if(hasSc) np <- np + 1L # was if(!isGLMM(fm)) np <- np + 1L n <- nrow(pp$V) # use V, not X so it works with nlmer if (isLMM(fm)) { # ==> hasSc ans <- function(pars) { stopifnot(is.numeric(pars), length(pars) == np) ## Assumption: we can translate the *last* parameter back ## to sigma (SD) scale ... sigma <- transfuns$to.sd(pars[np]) ## .Call(lmer_Deviance, pp$ptr(), resp$ptr(), pars[-np]/sigma) ## convert from sdcor vector back to 'unscaled theta' thpars <- transfuns$to.chol(pars, n=vlist, s=sigma) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), thpars) sigsq <- sigma^2 pp$ldL2() - ldW + (resp$wrss() + pp$sqrL(1))/sigsq + n * log(2 * pi * sigsq) } ldW <- sum(log(environment(ans)$resp$weights)) assign("ldW", ldW, envir = environment(ans)) } else { # GLMM *and* NLMMs d0 <- getME(fm, "devfun") ## from glmer: ## rho <- new.env(parent=parent.env(environment())) ## rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) ## rho$resp <- mkRespMod(fr, if(REML) p else 0L) ans <- function(pars) { stopifnot(is.numeric(pars), length(pars) == np+nf) thpars <- if(!useSc) transfuns$to.chol(pars[seq(np)], n=vlist) else transfuns$to.chol(pars[seq(np)], n=vlist, s=pars[np]) fixpars <- pars[-seq(np)] d0(c(thpars,fixpars)) } } attr(ans, "optimum") <- opt # w/ names() attr(ans, "basedev") <- basedev attr(ans, "thopt") <- pp$theta attr(ans, "stderr") <- stdErr class(ans) <- "devfun" ans } ## extract only the y component from a prediction predy <- function(sp, vv) { if(inherits(sp,"error")) rep(NA_real_, length(vv)) else predict(sp, vv)$y } stripExpr <- function(ll, nms) { stopifnot(is.list(ll), is.character(nms)) fLevs <- as.expression(nms) # variable names; now replacing log(sigma[.]) etc: fLevs[nms == ".sigma"] <- expression(sigma) fLevs[nms == ".lsigma"] <- expression(log(sigma)) fLevs[nms == ".sigmasq"] <- expression(sigma^2) sigNms <- grep("^\\.sig[0-9]+", nms) lsigNms <- grep("^\\.lsig[0-9]+", nms) sig2Nms <- grep("^\\.sigsq[0-9]+", nms) ## the in ".sig0" and then in ".lsig0": sigsub <- as.integer(substring(nms[ sigNms], 5)) lsigsub <- as.integer(substring(nms[lsigNms], 6)) sig2sub <- as.integer(substring(nms[sig2Nms], 7)) fLevs[ sigNms] <- lapply( sigsub, function(i) bquote( sigma[.(i)])) fLevs[lsigNms] <- lapply(lsigsub, function(i) bquote(log(sigma[.(i)]))) fLevs[sig2Nms] <- lapply(sig2sub, function(i) bquote( {sigma[.(i)]}^2)) ## result of using { .. }^2 is easier to understand == == levsExpr <- substitute(strip.custom(factor.levels=foo), list(foo=fLevs)) snames <- c("strip", "strip.left") if(!any(.in <- snames %in% names(ll))) { ll$strip <- levsExpr } else { for(nm in snames[.in]) if(is.logical(v <- ll[[nm]]) && v) ll[[nm]] <- levsExpr } ll } panel.thpr <- function(x, y, spl, absVal, ...) { panel.grid(h = -1, v = -1) myspl <- spl[[panel.number()]] lsegments(x, y, x, 0, ...) if (absVal) { y[y == 0] <- NA lsegments(x, y, rev(x), y) } else { panel.abline(h = 0, ...) } if (!is(myspl,"spline")) { ## 'difficult' data if (absVal) myspl$y <- abs(myspl$y) panel.lines (myspl$x, myspl$y) panel.points(myspl$x, myspl$y, pch="+") warning(gettextf("bad profile for variable %d: using linear interpolation", panel.number()), domain=NA) } else { lims <- current.panel.limits()$xlim krange <- range(myspl$knots) pr <- predict(myspl, seq(max(lims[1], krange[1]), min(lims[2], krange[2]), len = 101)) if (absVal) pr$y <- abs(pr$y) panel.lines(pr$x, pr$y) } } ## A lattice-based plot method for profile objects ##' @importFrom lattice xyplot ##' @S3method xyplot thpr xyplot.thpr <- function (x, data = NULL, levels = sqrt(qchisq(pmax.int(0, pmin.int(1, conf)), df = 1)), conf = c(50, 80, 90, 95, 99)/100, absVal = FALSE, scales = NULL, which = 1:nptot, ...) { if(any(!is.finite(conf) | conf <= 0 | conf >= 1)) stop("values of 'conf' must be strictly between 0 and 1") stopifnot(1 <= (nptot <- length(nms <- levels(x[[".par"]])))) ## FIXME: is this sufficiently reliable? ## (include "sigma" in 'theta' parameters) nvp <- length(grep("^(\\.sig[0-9]+|.sigma|sd_|cor_)", nms)) which <- get.which(which, nvp, nptot, nms) levels <- sort(levels[is.finite(levels) & levels > 0]) spl <- attr(x, "forward") [which] bspl <- attr(x, "backward")[which] ## for parameters for which spline couldn't be computed, ## replace the 'spl' element with the raw profile data if(any(badSpl <- vapply(spl, is.null, NA))) { spl[badSpl] <- lapply(which(badSpl), function(i) { n <- names(badSpl)[i] r <- x[x[[".par"]] == n, ] data.frame(y = r[[".zeta"]], x = r[[n]]) }) bspl[badSpl] <- lapply(spl[badSpl], function(d) data.frame(x=d$y,y=d$x)) ## FIXME: more efficient, not yet ok ? ## ibad <- which(badSpl) ## spl[ibad] <- lapply(names(ibad), function(n) { ## r <- x[x[[".par"]]==n,] ## data.frame(y = r[[".zeta"]], x = r[[n]]) ## }) ## bspl[ibad] <- lapply(spl[ibad], function(d) data.frame(x=d$y,y=d$x)) } zeta <- c(-rev(levels), 0, levels) mypred <- function(bs, zeta) { ## use linear approximation if backspline doesn't work if (inherits(bs,"spline")) predy(bs, zeta) else if(is.numeric(x <- bs$x) && is.numeric(y <- bs$y) && length(x) == length(y)) approx(x, y, xout = zeta)$y else rep_len(NA, length(zeta)) } fr <- data.frame(zeta = rep.int(zeta, length(spl)), pval = unlist(lapply(bspl, mypred, zeta)), pnm = gl(length(spl), length(zeta), labels = names(spl))) if (length(ind <- which(is.na(fr$pval)))) { fr[ind, "zeta"] <- 0 for (i in ind) ### FIXME: Should check which bound has been violated, although it ### will almost always be the minimum. if (inherits(curspl <- spl[[fr[i, "pnm"] ]], "spline")) { fr[i, "pval"] <- min(curspl$knots) } } ylab <- if (absVal) { fr$zeta <- abs(fr$zeta) expression("|" * zeta * "|") } else expression(zeta) intscales <- list(x = list(relation = 'free')) ## FIXME: is there something less clunky we can do here ## that allows for all possible user inputs ## (may want to (1) override x$relation (2) add elements to $x ## (3) add elements to scales) if (!is.null(scales)) { if (!is.null(scales[["x"]])) { if (!is.null(scales[["x"]]$relation)) { intscales[["x"]]$relation <- scales[["x"]]$relation scales[["x"]]$relation <- NULL } intscales[["x"]] <- c(intscales[["x"]],scales[["x"]]) scales[["x"]] <- NULL } intscales <- c(intscales,scales) } ll <- c(list(...), list(x = zeta ~ pval | pnm, data=fr, scales = intscales, ylab = ylab, xlab = NULL, panel=panel.thpr, spl = spl, absVal = absVal)) do.call(xyplot, stripExpr(ll, names(spl))) } ## copy of stats:::format.perc (not exported, and ":::" being forbidden nowadays): format.perc <- function (x, digits, ...) { paste(format(100 * x, trim = TRUE, scientific = FALSE, digits = digits), "%") } ##' confint() method for our profile() results 'thpr' ##' @importFrom stats confint confint.thpr <- function(object, parm, level = 0.95, zeta, ## tolerance for non-monotonic profiles ## (raw values, not splines) non.mono.tol=1e-2, ...) { bak <- attr(object, "backward") ## fallback strategy for old profiles that don't have a lower/upper ## attribute saved ... if (is.null(lower <- attr(object,"lower"))) lower <- rep(NA,length(parm)) if (is.null(upper <- attr(object,"upper"))) upper <- rep(NA,length(parm)) ## FIXME: work a little harder to add -Inf/Inf for fixed effect ## parameters? (Should only matter for really messed-up profiles) bnms <- names(bak) parm <- if (missing(parm)) bnms else if(is.numeric(parm)) # e.g., when called from confint.merMod() bnms[parm] else if (length(parm <- as.character(parm)) == 1) { if (parm == "theta_") grep("^(sd_|cor_|.sig|sigma$)", bnms, value=TRUE) else if (parm == "beta_") grep("^(sd_|cor_|.sig|sigma$)", bnms, value=TRUE, invert=TRUE) else if(parm %in% bnms) # just that one parm ## else NULL : will return 0-row matrix } else intersect(parm, bnms) cn <- if (missing(zeta)) { a <- (1 - level)/2 a <- c(a, 1 - a) zeta <- qnorm(a) format.perc(a, 3) } ## else NULL ci <- matrix(NA_real_, nrow=length(parm), ncol=2L, dimnames = list(parm,cn)) for (i in seq_along(parm)) { ## would like to build this machinery into predy, but ## predy is used in many places and it's much harder to ## tell in general whether an NA indicates a lower or an ## upper bound ... badprof <- FALSE p <- rep(NA,2) if (!inherits(b <- bak[[parm[i]]], "error")) { p <- predy(b, zeta) } else { obj1 <- object[object$.par==parm[[i]],c(parm[[i]],".zeta")] if (all(is.na(obj1[,2]))) { badprof <- TRUE warning("bad profile for ",parm[i]) } else if (min(diff(obj1[,2])<(-non.mono.tol),na.rm=TRUE)) { badprof <- TRUE warning("non-monotonic profile for ",parm[i]) } else { warning("bad spline fit for ",parm[i],": falling back to linear interpolation") p <- approxfun(obj1[,2],obj1[,1])(zeta) } } if (!badprof) { if (is.na(p[1])) p[1] <- lower[i] if (is.na(p[2])) p[2] <- upper[i] } ci[i,] <- p } ci } ## FIXME: make bootMer more robust; make profiling more robust; ## more warnings; documentation ... ##' Compute confidence intervals on the parameters of an lme4 fit ##' @param object a fitted [ng]lmer model ##' @param parm parameters (specified by integer position) ##' @param level confidence level ##' @param method for computing confidence intervals ##' @param zeta likelihood cutoff ##' (if not specified, computed from \code{level}: "profile" only) ##' @param nsim number of simulations for parametric bootstrap intervals ##' @param boot.type bootstrap confidence interval type ##' @param quiet (logical) suppress messages about computationally intensive profiling? ##' @param oldNames (logical) use old-style names for \code{method="profile"}? (See \code{signames} argument to \code{\link{profile}} ##' @param \dots additional parameters to be passed to \code{\link{profile.merMod}} or \code{\link{bootMer}} ##' @return a numeric table of confidence intervals confint.merMod <- function(object, parm, level = 0.95, method = c("profile","Wald","boot"), zeta, nsim=500, boot.type = c("perc","basic","norm"), FUN = NULL, quiet=FALSE, oldNames=TRUE, ...) { method <- match.arg(method) boot.type <- match.arg(boot.type) ## 'parm' corresponds to 'which' in other contexts if (method=="boot" && !is.null(FUN)) { ## custom boot function, don't expand parameter names } else { ## "use scale" = GLMM with scale parameter *or* LMM .. useSc <- as.logical(object@devcomp$dims[["useSc"]]) vn <- profnames(object, oldNames, useSc=useSc) an <- c(vn,names(fixef(object))) parm <- if(missing(parm)) seq_along(an) else get.which(parm, nvp=length(vn), nptot=length(an), parnames=an) if (!quiet && method %in% c("profile","boot")) { mtype <- switch(method, profile="profile", boot="bootstrap") message("Computing ",mtype," confidence intervals ...") flush.console() } } switch(method, "profile" = { pp <- profile(object, which=parm, signames=oldNames, ...) ## confint.thpr() with missing(parm) using all names: confint(pp, level=level, zeta=zeta) }, "Wald" = { a <- (1 - level)/2 a <- c(a, 1 - a) ci.vcov <- array(NA,dim = c(length(vn), 2L), dimnames = list(vn, format.perc(a,3))) ## copied with small changes from confint.default cf <- fixef(object) ## coef() -> fixef() pnames <- names(cf) ## N.B. can't use sqrt(...)[parm] (diag() loses names) ses <- sqrt(diag(vcov(object))) ci.fixed <- array(cf + ses %o% qnorm(a), dim = c(length(pnames), 2L), dimnames = list(pnames, format.perc(a, 3))) vnames <- tnames(object) ci.all <- rbind(ci.vcov,ci.fixed) ci.all[parm,,drop=FALSE] }, "boot" = { bootFun <- function(x) { th <- x@theta nvec <- lengths(x@cnms) scaleTh <- (isLMM(x) || isNLMM(x)) ## FIXME: still ugly. Best cleanup via Cv_to_Sv ... ss <- if (scaleTh) { ## scale variances by sigma and include it Cv_to_Sv(th, n=nvec, s=sigma(x)) } else if (useSc) { ## don't scale variances but do include sigma c(Cv_to_Sv(th, n=nvec), sigma(x)) } else { ## no scaling, no sigma Cv_to_Sv(th, n=nvec) } c(setNames(ss, vn), fixef(x)) } if (is.null(FUN)) FUN <- bootFun bb <- bootMer(object, FUN=FUN, nsim=nsim,...) if (all(is.na(bb$t))) stop("*all* bootstrap runs failed!") print.bootWarnings(bb, verbose=FALSE) citab <- confint(bb,level=level,type=boot.type) if (missing(parm)) { ## only happens if we have custom boot method if (is.null(parm <- rownames(citab))) { parm <- seq(nrow(citab)) } } citab[parm, , drop=FALSE] }, ## should never get here ... stop("unknown confidence interval method")) } ##' Convert x-cosine and y-cosine to average and difference. ##' ##' Convert the x-cosine and the y-cosine to an average and difference ##' ensuring that the difference is positive by flipping signs if ##' necessary ##' @param xc x-cosine ##' @param yc y-cosine ad <- function(xc, yc) { a <- (xc + yc)/2 d <- (xc - yc) cbind(sign(d)* a, abs(d)) } ##' convert d versus a (as an xyVector) and level to a matrix of taui and tauj ##' @param xy an xyVector ##' @param lev the level of the contour tauij <- function(xy, lev) lev * cos(xy$x + outer(xy$y/2, c(-1, 1))) ##' @title safe arc-cosine ##' @param x numeric vector argument ##' @return acos(x) being careful of boundary conditions sacos <- function(x) acos(pmax.int(-0.999, pmin.int(0.999, x))) ##' Generate a contour ##' ##' @title Generate a contour ##' @param sij the arc-cosines of i on j ##' @param sji the arc-cosines of j on i ##' @param levels numeric vector of levels at which to interpolate ##' @param nseg number of segments in the interpolated contour ##' @return a list with components ##' \item{tki}{the tau-scale predictions of i on j at the contour levels} ##' \item{tkj}{the tau-scale predictions of j on i at the contour levels} ##' \item{pts}{an array of dimension (length(levels), nseg, 2) containing the points on the contours} cont <- function(sij, sji, levels, nseg = 101) { ada <- array(0, c(length(levels), 2L, 4L)) ada[, , 1] <- ad(0, sacos(predy(sij, levels)/levels)) ada[, , 2] <- ad( sacos(predy(sji, levels)/levels), 0) ada[, , 3] <- ad(pi, sacos(predy(sij, -levels)/levels)) ada[, , 4] <- ad(sacos(predy(sji, -levels)/levels), pi) pts <- array(0, c(length(levels), nseg + 1, 2)) for (i in seq_along(levels)) pts[i, ,] <- tauij(predict(periodicSpline(ada[i, 1, ], ada[i, 2, ]), nseg = nseg), levels[i]) levs <- c(-rev(levels), 0, levels) list(tki = predict(sij, levs), tkj = predict(sji, levs), pts = pts) } ## copied from lattice:::chooseFace chooseFace <- function (fontface = NULL, font = 1) { if (is.null(fontface)) font else fontface } ##' Draws profile pairs plots. Contours are for the marginal ##' two-dimensional regions (i.e. using df = 2). ##' ##' @title Profile pairs plot ##' @param x the result of \code{\link{profile}} (or very similar structure) ##' @param data unused - only for compatibility with generic ##' @param levels the contour levels to be shown; usually derived from \code{conf} ##' @param conf numeric vector of confidence levels to be shown as contours ##' @param ... further arguments passed to \code{\link{splom}} ##' @importFrom grid gpar viewport ##' @importFrom lattice splom ##' @method splom thpr ##' @export splom.thpr <- function (x, data, levels = sqrt(qchisq(pmax.int(0, pmin.int(1, conf)), 2)), conf = c(50, 80, 90, 95, 99)/100, which = 1:nptot, draw.lower = TRUE, draw.upper = TRUE, ...) { stopifnot(1 <= (nptot <- length(nms <- names(attr(x, "forward"))))) singfit <- FALSE for (i in grep("^(\\.sig[0-9]+|sd_)", names(x))) singfit <- singfit || any(x[,".zeta"] == 0 & x[,i] == 0) if (singfit) warning("splom is unreliable for singular fits") nvp <- length(grep("^(\\.sig[0-9]+|.sigma|sd_|cor_)", nms)) which <- get.which(which, nvp, nptot, nms) if (length(which) == 1) stop("can't draw a scatterplot matrix for a single variable") mlev <- max(levels) spl <- attr(x, "forward")[which] frange <- sapply(spl, function(x) range(x$knots)) bsp <- attr(x, "backward")[which] x <- x[x[[".par"]] %in% nms[which],c(".zeta",nms[which],".par")] ## brange <- sapply(bsp, function(x) range(x$knots)) pfr <- do.call(cbind, lapply(bsp, predy, c(-mlev, mlev))) pfr[1, ] <- pmax.int(pfr[1, ], frange[1, ], na.rm = TRUE) pfr[2, ] <- pmin.int(pfr[2, ], frange[2, ], na.rm = TRUE) nms <- names(spl) ## Create data frame fr of par. vals in zeta coordinates fr <- x[, -1] for (nm in nms) fr[[nm]] <- predy(spl[[nm]], na.omit(fr[[nm]])) fr1 <- fr[1, nms] ## create a list of lists with the names of the parameters traces <- lapply(fr1, function(el) lapply(fr1, function(el1) list())) .par <- NULL ## => no R CMD check warning for (j in seq_along(nms)[-1]) { frj <- subset(fr, .par == nms[j]) for (i in seq_len(j - 1L)) { fri <- subset(fr, .par == nms[i]) sij <- interpSpline(fri[ , i], fri[ , j]) sji <- interpSpline(frj[ , j], frj[ , i]) ll <- cont(sij, sji, levels) traces[[j]][[i]] <- list(sij = sij, sji = sji, ll = ll) } } if(draw.lower) ## panel function for lower triangle lp <- function(x, y, groups, subscripts, i, j, ...) { tr <- traces[[j]][[i]] grid::pushViewport(viewport(xscale = c(-1.07, 1.07) * mlev, yscale = c(-1.07, 1.07) * mlev)) dd <- sapply(current.panel.limits(), diff)/50 psij <- predict(tr$sij) ll <- tr$ll ## now do the actual plotting panel.grid(h = -1, v = -1) llines(psij$y, psij$x, ...) llines(predict(tr$sji), ...) with(ll$tki, lsegments(y - dd[1], x, y + dd[1], x, ...)) with(ll$tkj, lsegments(x, y - dd[2], x, y + dd[2], ...)) for (k in seq_along(levels)) llines(ll$pts[k, , ], ...) grid::popViewport(1) } if(draw.upper) ## panel function for upper triangle up <- function(x, y, groups, subscripts, i, j, ...) { ## panels are transposed so reverse i and j jj <- i ii <- j tr <- traces[[jj]][[ii]] ll <- tr$ll pts <- ll$pts ## limits <- current.panel.limits() psij <- predict(tr$sij) psji <- predict(tr$sji) ## do the actual plotting panel.grid(h = -1, v = -1) llines(predy(bsp[[ii]], psij$x), predy(bsp[[jj]], psij$y), ...) llines(predy(bsp[[ii]], psji$y), predy(bsp[[jj]], psji$x), ...) for (k in seq_along(levels)) llines(predy(bsp[[ii]], pts[k, , 2]), predy(bsp[[jj]], pts[k, , 1]), ...) } dp <- function(x = NULL, # diagonal panel varname = NULL, limits, at = NULL, lab = NULL, draw = TRUE, varname.col = add.text$col, varname.cex = add.text$cex, varname.lineheight = add.text$lineheight, varname.font = add.text$font, varname.fontfamily = add.text$fontfamily, varname.fontface = add.text$fontface, axis.text.col = axis.text$col, axis.text.alpha = axis.text$alpha, axis.text.cex = axis.text$cex, axis.text.font = axis.text$font, axis.text.fontfamily = axis.text$fontfamily, axis.text.fontface = axis.text$fontface, axis.line.col = axis.line$col, axis.line.alpha = axis.line$alpha, axis.line.lty = axis.line$lty, axis.line.lwd = axis.line$lwd, i, j, ...) { n.var <- eval.parent(expression(n.var)) add.text <- trellis.par.get("add.text") axis.line <- trellis.par.get("axis.line") axis.text <- trellis.par.get("axis.text") if (!is.null(varname)) grid::grid.text(varname, gp = gpar(col = varname.col, cex = varname.cex, lineheight = varname.lineheight, fontface = chooseFace(varname.fontface, varname.font), fontfamily = varname.fontfamily)) if (draw) { at <- pretty(limits) sides <- c("left", "top") if (j == 1) sides <- "top" if (j == n.var) sides <- "left" for (side in sides) panel.axis(side = side, at = at, labels = format(at, trim = TRUE), ticks = TRUE, check.overlap = TRUE, half = side == "top" && j > 1, tck = 1, rot = 0, text.col = axis.text.col, text.alpha = axis.text.alpha, text.cex = axis.text.cex, text.font = axis.text.font, text.fontfamily = axis.text.fontfamily, text.fontface = axis.text.fontface, line.col = axis.line.col, line.alpha = axis.line.alpha, line.lty = axis.line.lty, line.lwd = axis.line.lwd) lims <- c(-1.07, 1.07) * mlev grid::pushViewport(viewport(xscale = lims, yscale = lims)) side <- if(j == 1) "right" else "bottom" which.half <- if(j == 1) "lower" else "upper" at <- pretty(lims) panel.axis(side = side, at = at, labels = format(at, trim = TRUE), ticks = TRUE, half = TRUE, which.half = which.half, tck = 1, rot = 0, text.col = axis.text.col, text.alpha = axis.text.alpha, text.cex = axis.text.cex, text.font = axis.text.font, text.fontfamily = axis.text.fontfamily, text.fontface = axis.text.fontface, line.col = axis.line.col, line.alpha = axis.line.alpha, line.lty = axis.line.lty, line.lwd = axis.line.lwd) grid::popViewport(1) } } panel.blank <- function(...) {} splom(~ pfr, lower.panel = if(draw.lower) lp else panel.blank, upper.panel = if(draw.upper) up else panel.blank, diag.panel = dp, ...) } ## return an lmer profile like x with all the .sigNN parameters ## replaced by .lsigNN. The forward and backward splines for ## these parameters are recalculated. -> ../man/profile-methods.Rd logProf <- function (x, base = exp(1), ranef=TRUE, sigIni = if(ranef) "sig" else "sigma") { stopifnot(inherits(x, "thpr")) cn <- colnames(x) sigP <- paste0("^\\.", sigIni) if (length(sigs <- grep(sigP, cn))) { repP <- sub("sig", ".lsig", sigIni) colnames(x) <- cn <- sub(sigP, repP, cn) levels(x[[".par"]]) <- sub(sigP, repP, levels(x[[".par"]])) names(attr(x, "backward")) <- names(attr(x, "forward")) <- sub(sigP, repP, names(attr(x, "forward"))) for (nm in cn[sigs]) { x[[nm]] <- log(x[[nm]], base = base) fr <- x[x[[".par"]] == nm & is.finite(x[[nm]]), TRUE, drop=FALSE] form <- eval(substitute(.zeta ~ nm, list(nm = as.name(nm)))) attr(x, "forward")[[nm]] <- isp <- interpSpline(form, fr) attr(x, "backward")[[nm]] <- backSpline(isp) } ## eliminate rows that produced non-finite logs x <- x[apply(is.finite(as.matrix(x[, sigs])), 1, all), , drop=FALSE] } x } ## the log() method must have (x, base); no other arguments log.thpr <- function (x, base = exp(1)) logProf(x, base=base) ##' Create an approximating density from a profile object -- called only from densityplot.thpr() ##' ##' @title Approximate densities from profiles ##' @param pr a profile object ##' @param npts number of points at which to evaluate the density ##' @param upper upper bound on cumulative for a cutoff ##' @return a data frame dens <- function(pr, npts=201, upper=0.999) { npts <- as.integer(npts) spl <- attr(pr, "forward") bspl <- attr(pr, "backward") stopifnot(inherits(pr, "thpr"), npts > 0, is.numeric(upper), 0.5 < upper, upper < 1, identical((vNms <- names(spl)), names(bspl))) bad_vars <- character(0) zeta <- c(-1,1) * qnorm(upper) rng <- vector(mode="list", length=length(bspl)) names(rng) <- vNms dd <- rng # empty named list to be filled for (i in seq_along(bspl)) { if (inherits(bspl[[i]], "error")) { rng[[i]] <- rep(NA,npts) bad_vars <- c(bad_vars, vNms[i]) next } rng0 <- predy(bspl[[i]], zeta) if (is.na(rng0[1])) rng0[1] <- 0 if (is.na(rng0[2])) { ## try harder to pick an upper bound for(upp in 1 - 10^seq(-4,-1, length=21)) { # <<-- TODO: should be related to 'upper' if(!is.na(rng0[2L] <- predy(bspl[[i]], qnorm(upp)))) break } if (is.na(rng0[2])) { warning("can't find an upper bound for the profile") bad_vars <- c(bad_vars, vNms[i]) next } } rng[[i]] <- seq(rng0[1], rng0[2], len=npts) } fr <- data.frame(pval = unlist(rng), pnm = gl(length(rng), npts, labels=vNms)) for (nm in vNms) { dd[[nm]] <- if (!inherits(spl[[nm]], "spline")) { rep(NA_real_, npts) } else { zz <- predy(spl[[nm]], rng[[nm]]) dnorm(zz) * predict(spl[[nm]], rng[[nm]], deriv = 1L)$y } } fr$density <- unlist(dd) if (length(bad_vars)) warning("unreliable profiles for some variables skipped: ", paste(bad_vars, collapse=", ")) fr } ##' Densityplot method for a mixed-effects model profile ## ##' @title densityplot from a mixed-effects profile ##' @param x a mixed-effects profile ##' @param data not used - for compatibility with generic ##' @param ... optional arguments to \code{\link[lattice]{densityplot}()} ##' from package \pkg{lattice}. ##' @return a density plot ##' @examples ## see example("profile.merMod") ##' @importFrom lattice densityplot ##' @method densityplot thpr ##' @export densityplot.thpr <- function(x, data, npts=201, upper=0.999, ...) { dd <- dens(x, npts=npts, upper=upper) ll <- c(list(...), list(x=density ~ pval|pnm, data=dd, type=c("l","g"), scales=list(relation="free"), xlab=NULL)) do.call(xyplot, stripExpr(ll, names(attr(x, "forward")))) } ##' Transform a mixed-effects profile to the variance scale varianceProf <- function(x, ranef=TRUE) { ## "parallel" to logProf() stopifnot(inherits(x, "thpr")) cn <- colnames(x) if(length(sigs <- grep(paste0("^\\.", if(ranef)"sig" else "sigma"), cn))) { ## s/sigma/sigmasq/ ; s/sig01/sig01sq/ etc sigP <- paste0("^(\\.sig", if(ranef) "(ma)?" else "ma", ")") repP <- "\\1sq" colnames(x) <- cn <- sub(sigP, repP, cn) levels(x[[".par"]]) <- sub(sigP, repP, levels(x[[".par"]])) names(attr(x, "backward")) <- names(attr(x, "forward")) <- sub(sigP, repP, names(attr(x, "forward"))) for (nm in cn[sigs]) { x[[nm]] <- x[[nm]]^2 ## select rows (and currently drop extra attributes) fr <- x[x[[".par"]] == nm, TRUE, drop=FALSE] form <- eval(substitute(.zeta ~ nm, list(nm = as.name(nm)))) attr(x, "forward")[[nm]] <- isp <- interpSpline(form, fr) attr(x, "backward")[[nm]] <- backSpline(isp) } } x } ## convert profile to data frame, adding a .focal parameter to simplify lattice/ggplot plotting ##' @method as.data.frame thpr ##' @param x the result of \code{\link{profile}} (or very similar structure) ##' @export ##' @rdname profile-methods as.data.frame.thpr <- function(x,...) { class(x) <- "data.frame" m <- as.matrix(x[,seq(ncol(x))-1]) ## omit .par x.p <- x[[".par"]] x[[".focal"]] <- m[cbind(seq(nrow(x)),match(x.p,names(x)))] x[[".par"]] <- factor(x.p, levels=unique(as.character(x.p))) ## restore order x } lme4/R/mcmcsamp.R0000644000176200001440000000654314234301437013250 0ustar liggesusers##' @name pvalues ##' @aliases mcmcsamp ##' @title Getting p-values for fitted models ##' ##' @description One of the most frequently asked questions about \code{lme4} ##' is "how do I calculate p-values for estimated parameters?" ##' Previous versions of \code{lme4} provided the \code{mcmcsamp} ##' function, which efficiently generated a Markov chain Monte Carlo sample ##' from the posterior distribution of the parameters, assuming ##' flat (scaled likelihood) priors. Due to difficulty in ##' constructing a version of \code{mcmcsamp} that was reliable ##' even in cases where the estimated random effect variances were near ##' zero (e.g. \url{https://stat.ethz.ch/pipermail/r-sig-mixed-models/2009q4/003115.html}), \code{mcmcsamp} has been withdrawn (or more precisely, ##' not updated to work with \code{lme4} versions >=1.0.0). ##' ##' Many users, including users of the \code{aovlmer.fnc} function ##' from the \code{languageR} package which relies on \code{mcmcsamp}, ##' will be deeply disappointed by this lacuna. Users who need p-values have ##' a variety of options: ##' \itemize{ ##' \item likelihood ratio tests via \code{anova} (MC,+) ##' \item profile confidence intervals via \code{\link{profile.merMod}} and \code{\link{confint.merMod}} (CI,+) ##' \item parametric bootstrap confidence intervals and model comparisons via \code{\link{bootMer}} (or \code{PBmodcomp} in the \code{pbkrtest} package) (MC/CI,*,+) ##' \item for random effects, simulation tests via the \code{RLRsim} package (MC,*) ##' \item for fixed effects, F tests via Kenward-Roger approximation using \code{KRmodcomp} from the \code{pbkrtest} package (MC) ##' \item \code{car::Anova} and \code{lmerTest::anova} provide wrappers for \code{pbkrtest}. \code{lmerTest::anova} also provides t tests via the Satterthwaite approximation (P,*) ##' } ##' In the list above, the methods marked \code{MC} provide explicit model comparisons; \code{CI} denotes confidence intervals; and \code{P} denotes parameter-level or sequential tests of all effects in a model. The starred (*) suggestions provide finite-size corrections (important when the number of groups is <50); those marked (+) support GLMMs as well as LMMs. ##' ##' When all else fails, don't forget to keep p-values in perspective: \url{http://www.phdcomics.com/comics/archive.php?comicid=905} ##' if(FALSE) ## C++ code in ../src/mcmcsamp.cpp -- is also #ifdef 0 # @S3method mcmcsamp merMod mcmcsamp.merMod <- function(object, n=1L, verbose=FALSE, saveb=FALSE, ...) { n <- max(1L, as.integer(n)[1]) dd <- getME(object, "devcomp")$dims ranef <- matrix(numeric(0), nrow = dd[["q"]], ncol = 0) if (saveb) ranef <- matrix(, nrow = dd[["q"]], ncol = n) sigma <- matrix(unname(sigma(object)), nrow = 1, ncol = (if (dd[["useSc"]]) n else 0)) ff <- fixef(object) fixef <- matrix(ff, nrow=dd[["p"]], ncol=n) rownames(fixef) <- names(ff) ## FIXME create a copy of the resp and pred modules ans <- new("merMCMC", Gp = object@Gp, # ST = matrix(.Call(mer_ST_getPars, object), dd[["np"]], n), call = object@call, dims = object@dims, deviance = rep.int(unname(object@deviance[["ML"]]), n), fixef = fixef, nc = sapply(object@ST, nrow), ranef = ranef, sigma = sigma) .Call(mer_MCMCsamp, ans, object) } lme4/R/optimizer.R0000644000176200001440000000613214630126752013471 0ustar liggesusers## --> ../man/NelderMead.Rd Nelder_Mead <- function(fn, par, lower=rep.int(-Inf, n), upper=rep.int(Inf, n), control=list()) { n <- length(par) if (is.null(xst <- control[["xst"]])) xst <- rep.int(0.02,n) if (is.null(xt <- control[["xt"]])) xt <- xst*5e-4 control[["xst"]] <- control[["xt"]] <- NULL ## mapping between simpler 'verbose' setting (0=no printing, 1=20, 2=10, 3=1) ## and internal 'iprint' control (frequency of printing) if (is.null(verbose <- control[["verbose"]])) verbose <- 0 control[["verbose"]] <- NULL if (is.null(control[["iprint"]])) { control[["iprint"]] <- switch(as.character(min(as.numeric(verbose),3L)), "0"=0, "1"=20,"2"=10,"3"=1) } stopifnot(is.function(fn), length(formals(fn)) == 1L, (n <- length(par <- as.numeric(par))) == length(lower <- as.numeric(lower)), length(upper <- as.numeric(upper)) == n, length(xst <- as.numeric(xst)) == n, all(xst != 0), length(xt <- as.numeric(xt)) == n) ## "NelderMead" reference class and constructor: --> ./AllClass.R : nM <- NelderMead$new(lower=lower, upper=upper, x0=par, xst=xst, xt=xt) cc <- do.call(function(iprint = 0L, maxfun = 10000L, FtolAbs = 1e-5, FtolRel = 1e-15, XtolRel = 1e-7, MinfMax= -.Machine$double.xmax, warnOnly=FALSE, ...) { if(...length() > 0) warning("unused control arguments ignored") list(iprint=iprint, maxfun=maxfun, FtolAbs=FtolAbs, FtolRel=FtolRel, XtolRel=XtolRel, MinfMax=MinfMax, warnOnly=warnOnly) }, control) nM$setFtolAbs(cc$FtolAbs) nM$setFtolRel(cc$FtolRel) nM$setIprint (cc$iprint) nM$setMaxeval(cc$maxfun) nM$setMinfMax(cc$MinfMax) it <- 0 repeat { it <- it + 1 nMres <- nM$newf(fn(nM$xeval())) if (nMres != 0L) break } cmsg <- "reached max evaluations" if (nMres == -4) { ## map max evals from error to warning cmsg <- warning(sprintf("failure to converge in %d evaluations",cc$maxfun)) nMres <- 4 } ## nMres: msgvec <- c("nm_forced", ## -3 "cannot generate a feasible simplex", ## -2 "initial x is not feasible", ## -1 "active", ## 0 (active) "objective function went below allowed minimum", ## 1 (minf_max) "objective function values converged to within tolerance", ## 2 (fcvg) "parameter values converged to within tolerance", ## 3 (xcvg) cmsg) if (nMres < 0) { ## i.e., in {-3, -2, -1} (if(cc$warnOnly) warning else stop)( msgvec[nMres+4] ) } list(fval = nM$value(), par = nM$xpos(), convergence = pmin(0, nMres), # positive nMres is also 'convergence' NM.result = nMres, `message` = msgvec[nMres+4], control = c(cc, xst=xst, xt=xt), feval = it) } lme4/R/AllClass.R0000644000176200001440000013331514634571002013145 0ustar liggesusers### Class definitions for the package ##' Class "lmList4" of 'lm' Objects on Common Model ##' --> ../man/lmList4-class.Rd ##' ~~~~~~~~~~~~~~~~~~~~~~~ ##' @keywords classes ##' @export setClass("lmList4", representation(call = "call", pool = "logical", groups = "ordered", # or "factor"? nlme does use ordered() origOrder = "integer" # a permutation ), contains = "list") ## TODO?: export setClass("lmList4.confint", contains = "array") forceCopy <- function(x) .Call(deepcopy, x) ### FIXME ### shouldn't we have "merPred" with two *sub* classes "merPredD" and "merPredS" ### for the dense and sparse X cases ? ## ## MM: _Or_ have "merPred" with X of class "mMatrix" := classUnion {matrix, Matrix} merPredD <- setRefClass("merPredD", # Predictor class for mixed-effects models with dense X fields = list(Lambdat = "dgCMatrix", # depends: theta and Lind ## = t(Lambda); Lambda := lower triangular relative variance factor LamtUt = "dgCMatrix", # depends: Lambdat and Ut Lind = "integer", # depends: nothing ## integer vector of the same length as 'x' slot in Lambdat. ## Its elements should be in 1: length(theta) Ptr = "externalptr", # depends: RZX = "matrix", # depends: lots Ut = "dgCMatrix", # depends: Zt and weights Utr = "numeric", # depends: lots V = "matrix", # depends: VtV = "matrix", Vtr = "numeric", X = "matrix", # model matrix for the fixed-effects parameters Xwts = "numeric", Zt = "dgCMatrix", # = t(Z); Z = sparse model matrix for the random effects beta0 = "numeric", delb = "numeric", delu = "numeric", theta = "numeric", # numeric vector of variance component parameters u0 = "numeric"), methods = list( initialize = function(X, Zt, Lambdat, Lind, theta, n, # = sample size, usually = nrow(X) ...) { if (!nargs()) return() ll <- list(...) X <<- as(X, "matrix") Zt <<- as(Zt, "dgCMatrix") Lambdat <<- as(Lambdat, "dgCMatrix") Lind <<- as.integer(Lind) theta <<- as.numeric(theta) N <- nrow(X) p <- ncol(X) q <- nrow(Zt) stopifnot(length(theta) > 0L, length(Lind) > 0L, all(sort(unique(Lind)) == seq_along(theta))) RZX <<- if (!is.null(ll$RZX)) array(ll$RZX, c(q, p)) else array(0, c(q, p)) Utr <<- if (!is.null(ll$Utr)) as.numeric(ll$Utr) else numeric(q) V <<- if (!is.null(ll$V)) array(ll$V, c(n, p)) else array(0, c(n, p)) VtV <<- if (!is.null(ll$VtV)) array(ll$VtV, c(p, p)) else array(0, c(p, p)) Vtr <<- if (!is.null(ll$Vtr)) as.numeric(ll$Vtr) else numeric(p) beta0 <<- if (!is.null(ll$beta0)) ll$beta0 else numeric(p) delb <<- if (!is.null(ll$delb)) as.numeric(ll$delb) else numeric(p) delu <<- if (!is.null(ll$delu)) as.numeric(ll$delu) else numeric(q) u0 <<- if (!is.null(ll$u0)) ll$u0 else numeric(q) Ut <<- if (n == N) Zt + 0 else Zt %*% sparseMatrix(i=seq_len(N), j=as.integer(gl(n, 1, N)), x=rep.int(1,N)) ## The following is a kludge to overcome problems when Zt is square ## by making LamtUt rectangular LtUt <- Lambdat %*% Ut ## if (nrow(LtUt) == ncol(LtUt)) ## LtUt <- cbind2(LtUt, ## sparseMatrix(i=integer(0), ## j=integer(0), ## x=numeric(0), ## dims=c(nrow(LtUt),1))) LamtUt <<- LtUt Xw <- ll$Xwts ## list(...)$Xwts Xwts <<- if (is.null(Xw)) rep.int(1, N) else as.numeric(Xw) initializePtr() }, CcNumer = function() { 'returns the numerator of the orthogonality convergence criterion' .Call(merPredDCcNumer, ptr()) }, L = function() { 'returns the current value of the sparse Cholesky factor' .Call(merPredDL, ptr()) }, P = function() { 'returns the permutation vector for the sparse Cholesky factor' .Call(merPredDPvec, ptr()) }, RX = function() { 'returns the dense downdated Cholesky factor for the fixed-effects parameters' .Call(merPredDRX, ptr()) }, RXi = function() { 'returns the inverse of the dense downdated Cholesky factor for the fixed-effects parameters' .Call(merPredDRXi, ptr()) }, RXdiag = function() { 'returns the diagonal of the dense downdated Cholesky factor' .Call(merPredDRXdiag, ptr()) }, b = function(fac) { 'random effects on original scale for step factor fac' .Call(merPredDb, ptr(), as.numeric(fac)) }, beta = function(fac) { 'fixed-effects coefficients for step factor fac' .Call(merPredDbeta, ptr(), as.numeric(fac)) }, copy = function(shallow = FALSE) { def <- .refClassDef selfEnv <- as.environment(.self) vEnv <- new.env(parent=emptyenv()) for (field in setdiff(names(def@fieldClasses), "Ptr")) { if (shallow) assign(field, get(field, envir = selfEnv), envir = vEnv) else { current <- get(field, envir = selfEnv) if (is(current, "envRefClass")) current <- current$copy(FALSE) assign(field, forceCopy(current), envir = vEnv) } } do.call(merPredD$new, c(as.list(vEnv), n=nrow(vEnv$V), Class=def)) }, ldL2 = function() { 'twice the log determinant of the sparse Cholesky factor' .Call(merPredDldL2, ptr()) }, ldRX2 = function() { 'twice the log determinant of the downdated dense Cholesky factor' .Call(merPredDldRX2, ptr()) }, unsc = function() { 'the unscaled variance-covariance matrix of the fixed-effects parameters' .Call(merPredDunsc, ptr()) }, linPred = function(fac) { 'evaluate the linear predictor for step factor fac' .Call(merPredDlinPred, ptr(), as.numeric(fac)) }, installPars = function(fac) { 'update u0 and beta0 to the values for step factor fac' .Call(merPredDinstallPars, ptr(), as.numeric(fac)) }, initializePtr = function() { Ptr <<- .Call(merPredDCreate, as(X, "matrix"), Lambdat, LamtUt, Lind, RZX, Ut, Utr, V, VtV, Vtr, Xwts, Zt, beta0, delb, delu, theta, u0) .Call(merPredDsetTheta, Ptr, theta) .Call(merPredDupdateXwts, Ptr, Xwts) .Call(merPredDupdateDecomp, Ptr, NULL) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(theta)) { if (.Call(isNullExtPtr, Ptr)) initializePtr() } Ptr }, setBeta0 = function(beta0) { 'install a new value of beta' .Call(merPredDsetBeta0, ptr(), as.numeric(beta0)) }, setTheta = function(theta) { 'install a new value of theta' .Call(merPredDsetTheta, ptr(), as.numeric(theta)) }, setZt = function(ZtNonZero) { 'install new values in Zt' .Call(merPredDsetZt, ptr(), as.numeric(ZtNonZero)) }, solve = function() { 'solve for the coefficient increments delu and delb' .Call(merPredDsolve, ptr()) }, solveU = function() { 'solve for the coefficient increment delu only (beta is fixed)' .Call(merPredDsolveU, ptr()) }, setDelu = function(val) { 'set the coefficient increment delu' .Call(merPredDsetDelu , ptr(), as.numeric(val)) }, setDelb = function(val) { 'set the coefficient increment delb' .Call(merPredDsetDelb , ptr(), as.numeric(val)) }, sqrL = function(fac) { 'squared length of u0 + fac * delu' .Call(merPredDsqrL, ptr(), as.numeric(fac)) }, u = function(fac) { 'orthogonal random effects for step factor fac' .Call(merPredDu, ptr(), as.numeric(fac)) }, updateDecomp = function(XPenalty = NULL) { 'update L, RZX and RX from Ut, Vt and VtV' invisible(.Call(merPredDupdateDecomp, ptr(), XPenalty)) }, updateL = function() { 'update LamtUt and L' .Call(merPredDupdateL, ptr()) }, updateLamtUt = function() { 'update LamtUt and L' .Call(merPredDupdateLamtUt, ptr()) }, updateRes = function(wtres) { 'update Vtr and Utr using the vector of weighted residuals' .Call(merPredDupdateRes, ptr(), as.numeric(wtres)) }, updateXwts = function(wts) { 'update Ut and V from Zt and X using X weights' .Call(merPredDupdateXwts, ptr(), wts) } ) ) merPredD$lock("Lambdat", "LamtUt", "Lind", "RZX", "Ut", "Utr", "V", "VtV", "Vtr", "X", "Xwts", "Zt", "beta0", "delb", "delu", "theta", "u0") ## -> ../man/lmResp-class.Rd ## ~~~~~~~~~~~~~~~~~~~~~~ lmResp <- # base class for response modules setRefClass("lmResp", fields = list(Ptr = "externalptr", mu = "numeric", offset = "numeric", sqrtXwt = "numeric", sqrtrwt = "numeric", weights = "numeric", wtres = "numeric", y = "numeric"), methods = list( allInfo = function() { 'return all the information available on the object' data.frame(y=y, offset=offset, weights=weights, mu=mu, rwt=sqrtrwt, wres=wtres, Xwt=sqrtXwt) }, initialize = function(...) { if (!nargs()) return() ll <- list(...) if (is.null(ll$y)) stop("y must be specified") y <<- as.numeric(ll$y) n <- length(y) mu <<- if (!is.null(ll[["mu"]])) as.numeric(ll[["mu"]]) else numeric(n) offset <<- if (!is.null(ll$offset)) as.numeric(ll$offset) else numeric(n) weights <<- if (!is.null(ll$weights)) as.numeric(ll$weights) else rep.int(1,n) sqrtXwt <<- if (!is.null(ll$sqrtXwt)) as.numeric(ll$sqrtXwt) else sqrt(weights) sqrtrwt <<- if (!is.null(ll$sqrtrwt)) as.numeric(ll$sqrtrwt) else sqrt(weights) wtres <<- sqrtrwt * (y - mu) }, copy = function(shallow = FALSE) { def <- .refClassDef selfEnv <- as.environment(.self) vEnv <- new.env(parent=emptyenv()) for (field in setdiff(names(def@fieldClasses), "Ptr")) { if (shallow) assign(field, get(field, envir = selfEnv), envir = vEnv) else { current <- get(field, envir = selfEnv) if (is(current, "envRefClass")) current <- current$copy(FALSE) ## deep-copy hack +0 assign(field, forceCopy(current), envir = vEnv) } } do.call(new, c(as.list(vEnv), Class=def)) }, initializePtr = function() { Ptr <<- .Call(lm_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres) .Call(lm_updateMu, Ptr, mu) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) initializePtr() } Ptr }, setOffset = function(oo) { 'change the offset in the model (used in profiling)' .Call(lm_setOffset, ptr(), as.numeric(oo)) }, setResp = function(rr) { 'change the response in the model, usually after a deep copy' .Call(lm_setResp, ptr(), as.numeric(rr)) }, setWeights = function(ww) { 'change the prior weights in the model' .Call(lm_setWeights, ptr(), as.numeric(ww)) }, updateMu = function(gamma) { 'update mu, wtres and wrss from the linear predictor' .Call(lm_updateMu, ptr(), as.numeric(gamma)) }, wrss = function() { 'returns the weighted residual sum of squares' .Call(lm_wrss, ptr()) }) ) lmResp$lock("mu", "offset", "sqrtXwt", "sqrtrwt", "weights", "wtres")#, "y") lmerResp <- setRefClass("lmerResp", contains = "lmResp", fields = list(REML = "integer"), methods= list(initialize = function(...) { REML <<- as.integer(list(...)$REML) if (length(REML) != 1L) REML <<- 0L callSuper(...) }, initializePtr = function() { Ptr <<- .Call(lmer_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres) .Call(lm_updateMu, Ptr, mu - offset) .Call(lmer_setREML, Ptr, REML) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) if (.Call(isNullExtPtr, Ptr)) initializePtr() Ptr }, objective = function(ldL2, ldRX2, sqrL, sigma.sq = NULL) { 'returns the profiled deviance or REML criterion' .Call(lmer_Laplace, ptr(), ldL2, ldRX2, sqrL, sigma.sq) }) ) setOldClass("family") ##' @export glmResp <- setRefClass("glmResp", contains = "lmResp", fields = list(eta = "numeric", family = "family", n = "numeric"), methods= list(initialize = function(...) { callSuper(...) ll <- list(...) if (is.null(ll$family)) stop("family must be specified") family <<- ll$family n <<- if (!is.null(ll$n)) as.numeric(ll$n) else rep.int(1,length(y)) eta <<- if (!is.null(e <- ll[["etastart"]])) as.numeric(e) else numeric(length(y)) }, aic = function() { .Call(glm_aic, ptr()) }, allInfo = function() { 'return all the information available on the object' cbind(callSuper(), data.frame(eta=eta, muEta=muEta(), var=variance(), WrkWt=sqrtWrkWt(), wrkRes=wrkResids(), wrkResp=wrkResp(), devRes=devResid())) }, devResid = function() { 'returns the vector of deviance residuals' .Call(glm_devResid, ptr()) }, fam = function() { 'returns the name of the glm family' .Call(glm_family, ptr()) }, Laplace = function(ldL2, ldRX2, sqrL) { 'returns the Laplace approximation to the profiled deviance' .Call(glm_Laplace, ptr(), ldL2, ldRX2, sqrL) }, link = function() { 'returns the name of the glm link' .Call(glm_link, ptr()) }, muEta = function() { 'returns the diagonal of the Jacobian matrix, d mu/d eta' .Call(glm_muEta, ptr()) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) { Ptr <<- .Call(glm_Create, family, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, eta, n) .Call(glm_updateMu, Ptr, eta - offset) } } Ptr }, resDev = function() { 'returns the sum of the deviance residuals' .Call(glm_resDev, ptr()) }, setTheta = function(theta) { 'sets a new value of theta, for negative binomial distribution only' .Call(glm_setTheta, ptr(), as.numeric(theta)) }, sqrtWrkWt = function() { 'returns the square root of the working X weights' .Call(glm_sqrtWrkWt, ptr()) }, theta = function() { 'query the value of theta, for negative binomial distribution only' .Call(glm_theta, ptr()) }, updateMu = function(gamma) { 'update mu, residuals, weights, etc. from the linear predictor' .Call(glm_updateMu, ptr(), as.numeric(gamma)) }, updateWts = function() { 'update the residual and X weights from the current value of eta' .Call(glm_updateWts, ptr()) }, variance = function() { 'returns the vector of variances' .Call(glm_variance, ptr()) }, wtWrkResp = function() { 'returns the vector of weighted working responses' .Call(glm_wtWrkResp, ptr()) }, wrkResids = function() { 'returns the vector of working residuals' .Call(glm_wrkResids, ptr()) }, wrkResp = function() { 'returns the vector of working responses' .Call(glm_wrkResp, ptr()) } ) ) glmResp$lock("family", "n", "eta") ##' @export nlsResp <- setRefClass("nlsResp", contains = "lmResp", fields= list(gam = "numeric", nlmod = "formula", nlenv = "environment", pnames= "character"), methods= list(initialize = function(...) { callSuper(...) ll <- list(...) if (is.null(ll$nlmod)) stop("nlmod must be specified") nlmod <<- ll$nlmod if (is.null(ll$nlenv)) stop("nlenv must be specified") nlenv <<- ll$nlenv if (is.null(ll$pnames)) stop("pnames must be specified") pnames <<- ll$pnames if (is.null(ll$gam)) stop("gam must be specified") stopifnot(length(ll$gam) == length(offset)) gam <<- ll$gam }, Laplace =function(ldL2, ldRX2, sqrL) { 'returns the profiled deviance or REML criterion' .Call(nls_Laplace, ptr(), ldL2, ldRX2, sqrL) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) { Ptr <<- .Call(nls_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, gam, nlmod[[2]], nlenv, pnames) .Call(nls_updateMu, Ptr, gam) } } Ptr }, updateMu=function(gamma) { 'update mu, residuals, gradient, etc. given the linear predictor matrix' .Call(nls_updateMu, ptr(), as.numeric(gamma)) }) ) nlsResp$lock("nlmod", "nlenv", "pnames") ##' Generator object for the \code{\linkS4class{glmFamily}} class ##' ##' The generator object for the \code{\linkS4class{glmFamily}} reference class. ##' Such an object is primarily used through its \code{new} method. ##' ##' ##' @param ... Named argument (see Note below) ##' @note Arguments to the \code{new} method must be named arguments. ##' @section Methods: \describe{ ##' \item{\code{new(family=family)}}{Create a new ##' \code{\linkS4class{glmFamily}} object} ##' } ##' @seealso \code{\linkS4class{glmFamily}} ##' @keywords classes ##' @export glmFamily <- # used in tests of family definitions setRefClass("glmFamily", fields=list(Ptr="externalptr", family="family"), methods= list( aic = function(y, n, mu, wt, dev) { 'returns the value from the aic member function, which is actually the deviance' nn <- length(y <- as.numeric(y)) stopifnot(length(n <- as.numeric(n)) == nn, length(mu <- as.numeric(mu)) == nn, length(wt <- as.numeric(wt)) == nn, all(wt >= 0), length(dev <- as.numeric(dev)) == 1L) .Call(glmFamily_aic, ptr(), y, n, mu, wt, dev) }, devResid = function(y, mu, wt) { 'applies the devResid function to y, mu and wt' mu <- as.numeric(mu) wt <- as.numeric(wt) y <- as.numeric(y) stopifnot(length(mu) == length(wt), length(mu) == length(y), all(wt >= 0)) .Call(glmFamily_devResid, ptr(), y, mu, wt) }, link = function(mu) { 'applies the (forward) link function to mu' .Call(glmFamily_link, ptr(), as.numeric(mu)) }, linkInv = function(eta) { 'applies the inverse link function to eta' .Call(glmFamily_linkInv, ptr(), as.numeric(eta)) }, muEta = function(eta) { 'applies the muEta function to eta' .Call(glmFamily_muEta, ptr(), as.numeric(eta)) }, ptr = function() { if (length(family)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(glmFamily_Create, family) Ptr }, setTheta = function(theta) { 'sets a new value of theta, for negative binomial distribution only' .Call(glmFamily_setTheta, ptr(), as.numeric(theta)) }, theta = function() { 'query the value of theta, for negative binomial distribution only' .Call(glmFamily_theta, ptr()) }, variance = function(mu) { 'applies the variance function to mu' .Call(glmFamily_variance, ptr(), as.numeric(mu)) }) ) ##' Class \code{"glmFamily"} - a reference class for \code{\link{family}} ##' ##' This class is a wrapper class for \code{\link{family}} objects specifying a ##' distibution family and link function for a generalized linear model ##' (\code{\link{glm}}). The reference class contains an external pointer to a ##' C++ object representing the class. For common families and link functions ##' the functions in the family are implemented in compiled code so they can be ##' accessed from other compiled code and for a speed boost. ##' ##' ##' @name glmFamily-class ##' @docType class ##' @note Objects from this reference class correspond to objects in a C++ ##' class. Methods are invoked on the C++ class using the external pointer in ##' the \code{Ptr} field. When saving such an object the external pointer is ##' converted to a null pointer, which is why there is a redundant field ##' \code{ptr} that is an active-binding function returning the external ##' pointer. If the \code{Ptr} field is a null pointer, the external pointer is ##' regenerated for the stored \code{family} field. ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @seealso \code{\link{family}}, \code{\link{glmFamily}} ##' @keywords classes ##' @examples ##' ##' str(glmFamily$new(family=poisson())) NULL ##' Generator object for the golden search optimizer class. ##' ##' The generator objects for the \code{\linkS4class{golden}} class of a scalar ##' optimizer for a parameter within an interval. The optimizer uses reverse ##' communications. ##' ##' @param \dots additional, optional arguments. None are used at present. ##' @note Arguments to the \code{new} methods must be named arguments. ##' \code{lower} and \code{upper} are the bounds for the scalar parameter; they must be finite. ##' @section Methods: ##' \describe{ ##' \item{\code{new(lower=lower, upper=upper)}}{Create a new ##' \code{\linkS4class{golden}} object.} ##' } ##' @seealso \code{\linkS4class{golden}} ##' @keywords classes ##' @export golden <- setRefClass("golden", # Reverse communication implementation of Golden Search fields = list( Ptr = "externalptr", lowerbd = "numeric", upperbd = "numeric" ), methods = list( initialize = function(lower, upper, ...) { stopifnot(length(lower <- as.numeric(lower)) == 1L, length(upper <- as.numeric(upper)) == 1L, lower > -Inf, upper < Inf, lower < upper) lowerbd <<- lower upperbd <<- upper Ptr <<- .Call(golden_Create, lower, upper) }, ptr = function() { if (length(lowerbd)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(golden_Create, lowerbd, upperbd) Ptr }, newf = function(value) { stopifnot(length(value <- as.numeric(value)) == 1L) .Call(golden_newf, ptr(), value) }, value = function() .Call(golden_value, ptr()), xeval = function() .Call(golden_xeval, ptr()), xpos = function() .Call(golden_xpos, ptr()) ) ) ##' Class \code{"golden"} ##' ##' A reference class for a golden search scalar optimizer using reverse ##' communication. ##' ##' ##' @name golden-class ##' @docType class ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @keywords classes ##' @examples ##' ##' showClass("golden") ##' NULL ## Generator object for the Nelder-Mead optimizer class "NelderMead" ## ## A reference class for a Nelder-Mead simplex optimizer allowing box ## constraints on the parameters and using reverse communication. NelderMead <- setRefClass("NelderMead", # Reverse communication implementation of Nelder-Mead simplex optimizer fields = list( Ptr = "externalptr", lowerbd = "numeric", upperbd = "numeric", xstep = "numeric", xtol = "numeric" ), methods = list( initialize = function(lower, upper, xst, x0, xt, ...) { stopifnot((n <- length(lower <- as.numeric(lower))) > 0L, length(upper <- as.numeric(upper)) == n, all(lower < upper), length(xst <- as.numeric(xst)) == n, all(xst != 0), length(x0 <- as.numeric(x0)) == n, all(x0 >= lower), all(x0 <= upper), all(is.finite(x0)), length(xt <- as.numeric(xt)) == n, all(xt > 0)) lowerbd <<- lower upperbd <<- upper xstep <<- xst xtol <<- xt Ptr <<- .Call(NelderMead_Create, lowerbd, upperbd, xstep, x0, xtol) }, ptr = function() { if (length(lowerbd)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(NelderMead_Create, lowerbd, upperbd, xstep, x0, xtol) Ptr }, newf = function(value) { stopifnot(length(value <- as.numeric(value)) == 1L) .Call(NelderMead_newf, ptr(), value) }, setForceStop = function(stp=TRUE) .Call(NelderMead_setForce_stop, ptr(), stp), setFtolAbs = function(fta) .Call(NelderMead_setFtol_abs, ptr(), fta), setFtolRel = function(ftr) .Call(NelderMead_setFtol_rel, ptr(), ftr), setMaxeval = function(mxev) .Call(NelderMead_setMaxeval, ptr(), mxev), setMinfMax = function(minf) .Call(NelderMead_setMinf_max, ptr(), minf), setIprint = function(iprint) .Call(NelderMead_setIprint, ptr(), iprint), value = function() .Call(NelderMead_value, ptr()), xeval = function() .Call(NelderMead_xeval, ptr()), xpos = function() .Call(NelderMead_xpos, ptr()) ) ) ##' Class "merMod" of Fitted Mixed-Effect Models ##' ##' A mixed-effects model is represented as a \code{\linkS4class{merPredD}} object ##' and a response module of a class that inherits from class ##' \code{\linkS4class{lmResp}}. A model with a \code{\linkS4class{lmerResp}} ##' response has class \code{lmerMod}; a \code{\linkS4class{glmResp}} response ##' has class \code{glmerMod}; and a \code{\linkS4class{nlsResp}} response has ##' class \code{nlmerMod}. ##' ##' @name merMod-class ##' @aliases merMod-class lmerMod-class glmerMod-class nlmerMod-class merMod ##' show,merMod-method ##' anova.merMod coef.merMod deviance.merMod ##' fitted.merMod formula.merMod logLik.merMod ##' model.frame.merMod model.matrix.merMod print.merMod ##' show.merMod summary.merMod ##' terms.merMod update.merMod ##' vcov.merMod print.summary.merMod show.summary.merMod ##' summary.summary.merMod vcov.summary.merMod ##' @docType class ##' @section Objects from the Class: Objects are created by calls to ##' \code{\link{lmer}}, \code{\link{glmer}} or \code{\link{nlmer}}. ##' @seealso \code{\link{lmer}}, \code{\link{glmer}}, \code{\link{nlmer}}, ##' \code{\linkS4class{merPredD}}, \code{\linkS4class{lmerResp}}, ##' \code{\linkS4class{glmResp}}, \code{\linkS4class{nlsResp}} ##' @keywords classes ##' @examples ##' ##' showClass("merMod") ##' methods(class="merMod") ##' @export setClass("merMod", representation(Gp = "integer", call = "call", frame = "data.frame", # "model.frame" is not S4-ized yet flist = "list", cnms = "list", lower = "numeric", theta = "numeric", beta = "numeric", u = "numeric", devcomp = "list", pp = "merPredD", optinfo = "list")) ##' @export setClass("lmerMod", representation(resp="lmerResp"), contains="merMod") ##' @export setClass("glmerMod", representation(resp="glmResp"), contains="merMod") ##' @export setClass("nlmerMod", representation(resp="nlsResp"), contains="merMod") ##' Generator object for the rePos (random-effects positions) class ##' ##' The generator object for the \code{\linkS4class{rePos}} class used ##' to determine the positions and orders of random effects associated ##' with particular random-effects terms in the model. ##' @param \dots Argument list (see Note). ##' @note Arguments to the \code{new} methods must be named arguments. ##' \code{mer}, an object of class \code{"\linkS4class{merMod}"}, is ##' the only required/expected argument. ##' @section Methods: ##' \describe{ ##' \item{\code{new(mer=mer)}}{Create a new ##' \code{\linkS4class{rePos}} object.} ##' } ##' @seealso \code{\linkS4class{rePos}} ##' @keywords classes ##' @export rePos <- setRefClass("rePos", fields = list( cnms = "list", # component names (components are terms within a RE term) flist = "list", # list of grouping factors used in the random-effects terms ncols = "integer", # number of components for each RE term nctot = "integer", # total number of components per factor nlevs = "integer", # number of levels for each unique factor offsets = "integer", # points to where each term starts terms = "list" # list with one element per factor, indicating corresponding term ), methods = list( initialize = function(mer, ...) { ##' asgn indicates unique elements of flist ##' stopifnot((ntrms <- length(Cnms <- mer@cnms)) > 0L, (length(Flist <- mer@flist)) > 0L, length(asgn <- as.integer(attr(Flist, "assign"))) == ntrms) cnms <<- Cnms flist <<- Flist ncols <<- unname(lengths(cnms)) nctot <<- unname(as.vector(tapply(ncols, asgn, sum))) nlevs <<- unname(vapply(flist, function(el) length(levels(el)), 0L)) # why not replace the sapply with ncols*nlevs[asgn] ?? offsets <<- c(0L, cumsum(sapply(seq_along(asgn), function(i) ncols[i] * nlevs[asgn[i]]))) terms <<- lapply(seq_along(flist), function(i) which(asgn == i)) } ) ) ##' Class \code{"rePos"} ##' ##' A reference class for determining the positions in the random-effects vector ##' that correspond to particular random-effects terms in the model formula ##' ##' @name rePos-class ##' @docType class ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @keywords classes ##' @examples ##' ##' showClass("rePos") ##' rePos$lock("cnms", "flist", "ncols", "nctot", "nlevs", "terms") vcRep <- setRefClass("vcRep", fields = list( theta = "numeric", lower = "numeric", Lambdat = "dgCMatrix", Lind = "integer", Gp = "integer", flist = "list", cnms = "list", ncols = "integer", nctot = "integer", nlevs = "integer", offsets = "integer", terms = "list", sig = "numeric", nms = "character", covar = "list", useSc = "logical" ), methods = list( initialize = function(mer, ...) { stopifnot((ntrms <- length(Cnms <- mer@cnms)) > 0L, (length(Flist <- mer@flist)) > 0L, length(asgn <- as.integer(attr(Flist, "assign"))) == ntrms) lower <<- getME(mer, "lower") theta <<- getME(mer, "theta") Lambdat <<- getME(mer, "Lambdat") Lind <<- getME(mer, "Lind") Gp <<- getME(mer, "Gp") cnms <<- Cnms flist <<- Flist ncols <<- unname(lengths(cnms)) nctot <<- unname(as.vector(tapply(ncols, asgn, sum))) nlevs <<- unname(vapply(flist, function(el) length(levels(el)), 0L)) offsets <<- c(0L, cumsum(sapply(seq_along(asgn), function(i) ncols[i] * nlevs[asgn[i]]))) terms <<- lapply(seq_along(Flist), function(i) which(asgn == i)) sig <<- sigma(mer) nms <<- names(Flist)[asgn] covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) useSc <<- as.logical(getME(mer, "devcomp")$dims['useSc']) }, asCovar = function() { ans <- lapply(covar, function(x) { attr(x, "correlation") <- attr(x, "stddev") <- NULL x }) attr(ans, "residVar") <- attr(covar, "sc")^2 ans }, asCorr = function() { ans <- lapply(covar, function(x) list(correlation=attr(x, "correlation"), stddev=attr(x, "stddev"))) attr(ans, "residSD") <- attr(covar, "sc") ans }, setTheta = function(ntheta) { stopifnot(length(ntheta <- as.numeric(ntheta)) == length(lower), all(ntheta >= lower)) theta <<- ntheta covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) }, setSc = function(nSc) { stopifnot(useSc, length(nSc <- as.numeric(nSc)) == 1L) sig <<- nSc covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) }, setResidVar = function(nVar) setSc(sqrt(as.numeric(nVar))), setRECovar = function(CV) { if (is.matrix(CV) && length(covar) == 1L) { CV <- list(CV) names(CV) <- names(covar) } covsiz <- sapply(covar, ncol) stopifnot(is.list(CV), all(names(CV) == names(covar)), all(sapply(CV, isSymmetric)), all(sapply(CV, ncol) == covsiz)) if (!all(lengths(cnms) == covsiz)) error("setRECovar currently requires distinct grouping factors") theta <<- sapply(CV, function(mm) { ff <- t(chol(mm))/sig ff[upper.tri(ff, diag=TRUE)] }) }) ) lme4/R/simulate.formula.R0000644000176200001440000001317314630126752014741 0ustar liggesusers## NOTE: Unlike the rest of the package, the functions in this file ## are licensed under the MIT License to encourage incorporation. ## ## Copyright (c) 2020 Pavel N. Krivitsky and Benjamin Bolker ## ## Permission is hereby granted, free of charge, to any person obtaining a copy ## of this software and associated documentation files (the "Software"), to deal ## in the Software without restriction, including without limitation the rights ## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ## copies of the Software, and to permit persons to whom the Software is ## furnished to do so, subject to the following conditions: ## ## The above copyright notice and this permission notice shall be included in all ## copies or substantial portions of the Software. ## ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ## SOFTWARE. ## #' A `simulate` Method for `formula` objects that dispatches based on the Left-Hand Side #' #' This method evaluates the left-hand side (LHS) of the given formula and #' dispatches it to an appropriate method based on the result by #' setting an nonce class name on the formula. #' #' @param object a one- or two-sided [`formula`]. #' @param nsim,seed number of realisations to simulate and the random #' seed to use; see [simulate()]. #' @param ... additional arguments to methods. #' @param basis if given, overrides the LHS of the formula for the #' purposes of dispatching. #' @param newdata,data if passed, the `object`'s LHS is evaluated in #' this environment; at most one of the two may be passed. #' #' The dispatching works as follows: #' #' 1. If `basis` is not passed, and the formula has an LHS the #' expression on the LHS of the formula in the `object` is #' evaluated in the environment `newdata` or `data` (if given), in #' any case enclosed by the environment of `object`. Otherwise, #' `basis` is used. #' #' 1. The result is set as an attribute `".Basis"` on `object`. If #' there is no `basis` or LHS, it is not set. #' #' 1. The class vector of `object` has `c("formula_lhs_\var{CLASS}", #' "formula_lhs")` prepended to it, where \var{CLASS} is the class #' of the LHS value or `basis`. If LHS or `basis` has multiple #' classes, they are all prepended; if there is no LHS or `basis`, #' `c("formula_lhs_", "formula_lhs")` is. #' #' 1. [simulate()] generic is evaluated on the new `object`, with all #' arguments passed on, excluding `basis`; if `newdata` or `data` #' are missing, they too are not passed on. The evaluation takes #' place in the parent's environment. #' #' A "method" to receive a formula whose LHS evaluates to \var{CLASS} #' can therefore be implemented by a function #' `simulate.formula_lhs_\var{CLASS}()`. This function can expect a #' [`formula`] object, with additional attribute `.Basis` giving the #' evaluated LHS (so that it does not need to be evaluated again). #' #' @export ## See https://github.com/lme4/lme4/issues/566 for further discussion simulate.formula <- function(object, nsim=1, seed=NULL, ..., basis, newdata, data) { ## utility fun for generating new class cfun <- function(cc) { c(paste0("formula_lhs_", cc), "formula_lhs", class(object)) } ## grab the arguments and the call and replace the function to be called with stats::simulate cl <- match.call() cl[[1L]] <- quote(stats::simulate) if (length(object)==3 || !missing(basis)) { ## two-sided formula or basis given if (missing(basis)) { # If basis is not passed, evaluate LHS. if (!missing(data) && !missing(newdata)) stop("At most one of ", sQuote("data"), " or ", sQuote("newdata"), " can be specified.") evaldata <- if (!missing(data)) data else if(!missing(newdata)) newdata else environment(object) lhs <- object[[2L]] .Basis <- try(eval(lhs, envir=evaldata, enclos=environment(object)), silent=TRUE) if (inherits(.Basis,"try-error")) { ## can't evaluate LHS stop(simpleError(paste("Error evaluating the left-hand side of the formula:", .Basis))) } } else { # Otherwise, override LHS. .Basis <- basis } ## Set the basis object and class. attr(object,".Basis") <- .Basis class(object) <- cfun(class(.Basis)) } else { ## one-sided class(object) <- cfun("") } ## Replace the dispatched-on argument (object) with the updated formula. cl[["object"]] <- object ## If data argument was not actually passed, remove it from the call. if(missing(data)) cl <- cl[names(cl)!="data"] ## If newdata argument was not actually passed, remove it from the call. if(missing(newdata)) cl <- cl[names(cl)!="newdata"] ## Always remove basis from the call (since it's an attribute of object now). cl <- cl[names(cl)!="basis"] # Evaluate the modified call as if in the environment from which simulate.formula() was called. (A poor man's NextMethod().) eval(cl, parent.frame()) } #' @describeIn simulate.formula A function to catch the situation when there is no method implemented for the class to which the LHS evaluates. #' #' @export simulate.formula_lhs <- function(object, nsim=1, seed=NULL, ...){ stop("No applicable method for LHS of type ", paste0(sQuote(class(attr(object, ".Basis"))), collapse=", "), ".") } lme4/R/lmList.R0000644000176200001440000004332314630126752012716 0ustar liggesusers## List of linear models according to a grouping factor ## Extract the model formula modelFormula <- function(form) { if (!inherits(form, "formula") || length(form) != 3) stop("formula must be a two-sided formula object") rhs <- form[[3]] if (!inherits(rhs, "call") || rhs[[1]] != as.symbol('|')) stop("rhs of formula must be a conditioning expression") form[[3]] <- rhs[[2]] list(model = dropOffset(form), groups = rhs[[3]]) } dropOffset <- function(form) { ## atomic if (is.symbol(form) || is.numeric(form)) return(form) ## binary if (identical(form[[1]],quote(offset))) { NULL } else { ## unary operator if (length(form)==2) { form[[2]] <- dropOffset(form[[2]]) return(form) } nb2 <- dropOffset(form[[2]]) nb3 <- dropOffset(form[[3]]) if (is.null(nb2)) nb3 else if (is.null(nb3)) nb2 else { form[[2]] <- nb2 form[[3]] <- nb3 return(form) } } } ## dropOffset(y~x) ## dropOffset(y~x+offset(stuff)) ## dropOffset(y~-x+offset(stuff)) ## dropOffset(~-x+offset(stuff)) if(getRversion() < "3.5.0") { ##' Utility for lmList(), ...: Collect errors from a list \code{x}, ##' produce a "summary warning" and keep that message as "warningMsg" attribute warnErrList <- function(x, warn = TRUE) { errs <- vapply(x, inherits, NA, what = "error") if (any(errs)) { v.err <- x[errs] e.call <- paste(deparse(conditionCall(v.err[[1]])), collapse = "\n") tt <- table(vapply(v.err, conditionMessage, "")) msg <- if(length(tt) == 1) sprintf(ngettext(tt[[1]], "%d error caught in %s: %s", "%d times caught the same error in %s: %s"), tt[[1]], e.call, names(tt)[[1]]) else ## at least two different errors caught paste(gettextf( "%d errors caught in %s. The error messages and their frequencies are", sum(tt), e.call), paste(capture.output(sort(tt)), collapse="\n"), sep="\n") if(warn) warning(msg, call. = FALSE, domain = NA) x[errs] <- list(NULL) attr(x, "warningMsg") <- msg } x } }# R <= 3.4.x ##' @title List of lm Objects with a Common Model ##' @param formula a linear formula object of the form ##' \code{y ~ x1+...+xn | g}. In the formula object, \code{y} represents ##' the response, \code{x1,...,xn} the covariates, and \code{g} the ##' grouping factor specifying the partitioning of the data according to ##' which different \code{lm} fits should be performed. ##' @inheritParams lmer ##' @param family an optional family specification for a generalized ##' linear model. ##' @param pool logical scalar, should the variance estimate pool the ##' residual sums of squares ##' @param ... additional, optional arguments to be passed to the ##' model function or family evaluation. ##' @export lmList <- function(formula, data, family, subset, weights, na.action, offset, pool = !isGLM || .hasScale(family2char(family)), warn = TRUE, ...) { stopifnot(inherits(formula, "formula")) ## model.frame(groupedData) was problematic ... but not as we ## are currently using it. mCall <- mf <- match.call() ## MM: I had this (instead of below (inherited from nlme?)): ## if(!missing(subset)) ## data <- data[eval(asOneSidedFormula(mf[["subset"]])[[2]], data),, drop = FALSE] ## in contrast to the usual R model-fitting idiom, we do **not** ## want to evaluate the model frame here; it will mess up any derived ## variables we have when we go to fit the sub-models. We were previously ## using model.frame() on the entire data set, but that does not ## exclude unused columns ... and hence screws us up when there are ## NA values in unused columns. All we need the model frame for ## is evaluating the groups. ## keep weights and offsets in case we have NAs there?? m <- match(c("formula", "data", "subset", "na.action", "weights", "offset"), names(mf), 0) mf <- mf[c(1, m)] ## substitute `+' for `|' in the formula mf$formula <- subbars(formula) mf$drop.unused.levels <- TRUE ## pass NAs for now -- want *all* groups, weights, offsets recovered mf$na.action <- na.pass mf[[1L]] <- quote(stats::model.frame) frm <- eval.parent(mf) ## <- including "..." data[["(weights)"]] <- model.weights(frm) data[["(offset)"]] <- model.offset(frm) mform <- modelFormula(formula) isGLM <- !missing(family) ## TODO in future, consider isNLM / isNLS groups <- eval(mform$groups, frm) if (!is.factor(groups)) groups <- factor(groups) fit <- if (isGLM) glm else lm mf2 <- if (missing(family)) NULL else list(family=family) fitfun <- function(data, formula) { tryCatch({ do.call(fit, c(list(formula, data, ## don't use model.offset()/model.weights from stats() - warning with tibbles weights = data[["(weights)"]], offset = data[["(offset)"]], ...), mf2)) }, error = function(x) x) } ## split *original data*, not frm (derived model frame), on groups ## we have to do this because we need raw, not derived variables ## when evaluating linear regression. ## need to apply subset first ((or even much earlier ??)) ## (hope there aren't tricky interactions with NAs in subset ... ??) if (!missing(subset)) { data <- eval(substitute(data[subset,]), list2env(data)) } frm.split <- split(data, groups) ## NB: levels() is only OK if grouping variable is a factor nms <- names(frm.split) val <- ## mapply(fitfun, lapply(frm.split, fitfun, formula = as.formula(mform$model)) ## use warnErrList(), but expand msg for back compatibility and user-friendliness: val <- warnErrList(val, warn = FALSE) ## Contrary to nlme, we keep the erronous ones as well (with a warning): if(warn && length(wMsg <- attr(val,"warningMsg"))) { if(grepl("contrasts.* factors? .* 2 ", wMsg)){ # try to match translated msg, too warning("Fitting failed for ", sum(vapply(val, is.null, NA)), " group(s), probably because a factor only had one level", sub(".*:", ":\n ", wMsg), domain=NA) } else warning(wMsg, domain=NA) } new("lmList4", setNames(val, nms), call = mCall, pool = pool, groups = ordered(groups), origOrder = match(unique(as.character(groups)), nms) ) } ## (currently hidden) auxiliaries isGLMlist <- function(object, ...) { D <- getDataPart(object) length(D) >= 1 && inherits(D[[1]], "glm") } ## does a glm family have a "scale" [from stats:::logLik.glm() ] : .hasScale <- function(family) family %in% c("gaussian", "Gamma", "inverse.gaussian") family2char <- function(fam) { if(is.function(fam)) fam()$family else if(!is.character(fam)) fam$family else fam } ##' Does a lmList4 object have a "scale" / sigma / useScale ? hasScale <- function(object) !isGLMlist(object) || .hasScale(family(object[[1]])$family) ##' @importFrom stats coef ##' @S3method coef lmList4 ## Extract the coefficients and form a data.frame if possible ## FIXME: commented out nlme stuff (augFrame etc.). Restore, or delete for good ## FIXME: modified so that non-estimated values will be NA rather than set to ## coefs of first non-null estimate. Is that OK?? coef.lmList4 <- function(object, ## augFrame = FALSE, data = NULL, ##which = NULL, FUN = mean, omitGroupingFactor = TRUE, ...) { coefs <- lapply(object, coef) non.null <- !vapply(coefs, is.null, logical(1)) if (any(non.null)) { template <- coefs[non.null][[1]] ## different parameter sets may be estimated for different subsets of data ... allnames <- Reduce(union, lapply(coefs[non.null], names)) if (is.numeric(template)) { co <- matrix(NA, ncol = length(allnames), nrow = length(coefs), dimnames = list(names(object), allnames)) for (i in names(object)) { co[i,names(coefs[[i]])] <- coefs[[i]] } coefs <- as.data.frame(co) effectNames <- names(coefs) ## if(augFrame) { ## if (is.null(data)) { ## data <- getData(object) ## } ## data <- as.data.frame(data) ## if (is.null(which)) { ## which <- 1:ncol(data) ## } ## data <- data[, which, drop = FALSE] ## ## eliminating columns with same names as effects ## data <- data[, is.na(match(names(data), effectNames)), drop = FALSE] ## data <- gsummary(data, FUN = FUN, groups = getGroups(object)) ## if (omitGroupingFactor) { ## data <- data[, is.na(match(names(data), ## names(getGroupsFormula(object, ## asList = TRUE)))), ## drop = FALSE] ## } ## if (length(data) > 0) { ## coefs <- cbind(coefs, data[row.names(coefs),,drop = FALSE]) ## } ## } attr(coefs, "level") <- attr(object, "level") attr(coefs, "label") <- "Coefficients" attr(coefs, "effectNames") <- effectNames attr(coefs, "standardized") <- FALSE } ## is.numeric(template) } coefs } ### FIXME?: nlme *does* export this -- we export sigma() [instead ?] pooledSD <- function(x, allow.0.df = TRUE) { stopifnot(is(x, "lmList4")) if(!hasScale(x)) { if(allow.0.df) return(structure(1, df = NA)) ## scale := 1 if(!useScale) ## else stop("no scale, hence no pooled SD for this object") } sumsqr <- rowSums(sapply(x, function(el) { if (is.null(el)) { c(0,0) } else { res <- resid(el) c(sum(res^2), length(res) - length(coef(el))) } })) if (sumsqr[2] == 0) { ## FIXME? rather return NA with a warning ?? stop("No degrees of freedom for estimating std. dev.") } val <- sqrt(sumsqr[1]/sumsqr[2]) attr(val, "df") <- sumsqr[2] val } sigma.lmList4 <- function(object, ...) if(hasScale(object)) as.vector(pooledSD(object)) else 1 ## 1 for GLM <==> 1 when useScale is FALSE for [G]LMMs ##' @importFrom methods show ##' @exportMethod show setMethod("show", "lmList4", function(object) { mCall <- object@call cat("Call:", deparse(mCall), "\n") cat("Coefficients:\n") print(coef(object)) if (object@pool) { cat("\n") poolSD <- pooledSD(object) dfRes <- attr(poolSD, "df") RSE <- c(poolSD) cat("Degrees of freedom: ", length(unlist(lapply(object, fitted))), " total; ", dfRes, " residual\n", sep = "") cat("Residual standard error:", format(RSE)) cat("\n") } }) ##' @S3method confint lmList4 confint.lmList4 <- function(object, parm, level = 0.95, ...) { mCall <- match.call() if (length(object) < 1) return(new("lmList4.confint", array(numeric(0), c(0,0,0)))) mCall$object <- object[[1]] ## the old recursive strategy doesn't work with S3 objects -- ## calls "confint.lmList4" again instead of calling "confint" mCall[[1]] <- quote(confint) template <- eval(mCall) if(is.null(d <- dim(template))) ## MASS:::confint.profile.glm() uses drop(), giving vector d <- dim(template <- rbind("(Intercept)" = template)) template[] <- NA_real_ val <- array(template, c(d, length(object)), c(dimnames(template), list(names(object)))) pool <- list(...)$pool if (is.null(pool)) pool <- object$pool if (length(pool) > 0 && pool[1]) { ## do our own sd <- pooledSD(object) a <- (1 - level)/2 fac <- sd * qt(c(a, 1 - a), attr(sd, "df")) parm <- dimnames(template)[[1]] for (i in seq_along(object)) if(!is.null(ob.i <- object[[i]])) val[ , , i] <- coef(ob.i)[parm] + sqrt(diag(summary(object[[i]], corr = FALSE)$cov.unscaled )[parm]) %o% fac } else { ## build on confint() method for "glm" / "lm" : for (i in seq_along(object)) if(!is.null(mCall$object <- object[[i]])) { ci <- eval(mCall) if(is.null(dim(ci))) ## MASS:::confint.profile.glm() ... ci <- rbind("(Intercept)" = ci) if(identical(dim(ci), d)) val[ , , i] <- ci else ## some coefficients were not estimable val[rownames(ci), , i] <- ci } } new("lmList4.confint", aperm(val, 3:1)) } ##' @importFrom graphics plot ##' @importFrom lattice ....... ##' @S3method plot lmList4.confint plot.lmList4.confint <- function(x, y, order, ...) { ## stopifnot(require("lattice")) arr <- as(x, "array") dd <- dim(arr) dn <- dimnames(arr) levs <- dn[[1]] if (!missing(order) && (ord <- round(order[1])) %in% seq(dd[3])) levs <- levs[order(rowSums(arr[ , , ord]))] ll <- length(arr) df <- data.frame(group = ordered(rep(dn[[1]], dd[2] * dd[3]), levels = levs), intervals = as.vector(arr), what = gl(dd[3], dd[1] * dd[2], length = ll, labels = dn[[3]]), end = gl(dd[2], dd[1], length = ll)) panelfun <- function(x, y, pch = dot.symbol$pch, col = dot.symbol$col, cex = dot.symbol$cex, font = dot.symbol$font, ...) { x <- as.numeric(x) y <- as.numeric(y) ok <- !is.na(x) & !is.na(y) yy <- y[ok] xx <- x[ok] dot.symbol <- trellis.par.get("dot.symbol") dot.line <- trellis.par.get("dot.line") panel.abline(h = yy, lwd = dot.line$lwd, lty = dot.line$lty, col = dot.line$col) lpoints(xx, yy, pch = "|", col = col, cex = cex, font = font, ...) lower <- tapply(xx, yy, min) upper <- tapply(xx, yy, max) nams <- as.numeric(names(lower)) lsegments(lower, nams, upper, nams, col = col, lty = 1, lwd = if (dot.line$lwd) { dot.line$lwd } else { 2 }) } dotplot(group ~ intervals | what, data = df, scales = list(x="free"), panel=panelfun, ...) } ##' @importFrom stats update ##' @S3method update lmList4 update.lmList4 <- function(object, formula., ..., evaluate = TRUE) { call <- object@call if (is.null(call)) stop("need an object with call slot") extras <- match.call(expand.dots = FALSE)$... if (!missing(formula.)) call$formula <- update.formula(formula(object), formula.) if (length(extras) > 0) { existing <- !is.na(match(names(extras), names(call))) for (a in names(extras)[existing]) call[[a]] <- extras[[a]] if (any(!existing)) { call <- c(as.list(call), extras[!existing]) call <- as.call(call) } } if (evaluate) eval(call, parent.frame()) else call } ##' @importFrom stats formula ##' @S3method formula lmList4 ##' @return of class "formula" ==> as.formula() rather than just [["formula"]] formula.lmList4 <- function(x, ...) structure(x@call[["formula"]], class = "formula") ##' Get the grouping factor of an "lmList4" object ##' Important as auxiliary method for many of the nlme-imported methods: getGroups.lmList4 <- function(object, ...) object@groups ### All the other "lmList4" S3 methods are imported from nmle : ## .ns.nlme <- asNamespace("nlme") .ns.lme4 <- environment() ## == asNamespace("lme4") during build/load ## ## To do this, we need to make them use *our* namespace, e.g. to use our pooledSD() ## However, then we get from codetools : ## ## fitted.lmList4: no visible global function definition for 'getGroups' ## pairs.lmList4: no visible global function definition for 'gsummary' ## pairs.lmList4: no visible global function definition for 'getGroups' ## plot.lmList4: no visible global function definition for 'c_deparse' ## plot.lmList4: no visible global function definition for 'getGroups' ## predict.lmList4: no visible global function definition for 'getGroups' ## print.lmList4: no visible global function definition for 'c_deparse' ## qqnorm.lmList4: no visible global function definition for 'getGroups' ## qqnorm.lmList4: no visible global function definition for 'gsummary' ## residuals.lmList4: no visible global function definition for 'getGroups' ## ## which we avoid via for(fn in c("gsummary", "c_deparse")) { if (exists(fn, envir = .ns.nlme)) { assign(fn, get(fn, envir = .ns.nlme, inherits=FALSE)) } } for(fn in c("fitted", "fixef", "logLik", "pairs", "plot", "predict", ## "print", <- have our own show() "qqnorm", "ranef", "residuals", "summary")) { meth <- get(paste(fn, "lmList", sep="."), envir = .ns.nlme, inherits=FALSE) environment(meth) <- .ns.lme4 # e.g. in order to use *our* pooledSD() assign(paste(fn, "lmList4", sep="."), meth) } rm(fn) lme4/R/utilities.R0000644000176200001440000013147414663635630013500 0ustar liggesusers ## From Matrix package isDiagonal(.) : all0 <- function(x) !anyNA(x) && all(!x) .isDiagonal.sq.matrix <- function(M, n = dim(M)[1L]) all0(M[rep_len(c(FALSE, rep.int(TRUE,n)), n^2)]) ### Utilities for parsing and manipulating mixed-model formulas ## abbreviated parse for long strings: deparse1() pastes w/ collapse instead abbrDeparse <- function(x, width=60) { r <- deparse(x, width) if(length(r) > 1) paste(r[1], "...") else r } ##' @param bars result of findbars barnames <- function(bars) vapply(bars, function(x) deparse1(x[[3]]), "") makeFac <- function(x,char.only=FALSE) { if (!is.factor(x) && (!char.only || is.character(x))) factor(x) else x } factorize <- function(x,frloc,char.only=FALSE) { ## convert grouping variables to factors as necessary ## TODO: variables that are *not* in the data frame are ## not converted -- these could still break, e.g. if someone ## tries to use the : operator ## TODO: some sensible tests for drop.unused.levels ## (not actually used, but could come in handy) for (i in all.vars(RHSForm(x))) { if (!is.null(curf <- frloc[[i]])) frloc[[i]] <- makeFac(curf,char.only) } return(frloc) } colSort <- function(x) { termlev <- vapply(strsplit(x,":"),length,integer(1)) iterms <- split(x,termlev) iterms <- sapply(iterms,sort,simplify=FALSE) ## make sure intercept term is first ilab <- "(Intercept)" if (ilab %in% iterms[[1]]) { iterms[[1]] <- c(ilab,setdiff(iterms[[1]],ilab)) } unlist(iterms) } ## copied from glmmTMB, replace by upstream utility package? ## test formula: does it contain a particular element? ## inForm(z~.,quote(.)) ## inForm(z~y,quote(.)) ## inForm(z~a+b+c,quote(c)) ## inForm(z~a+b+(d+e),quote(c)) ## f <- ~ a + offset(x) ## f2 <- z ~ a ## inForm(f,quote(offset)) ## inForm(f2,quote(offset)) ## @export ## @keywords internal inForm <- function(form,value) { if (any(sapply(form,identical,value))) return(TRUE) if (all(sapply(form,length)==1)) return(FALSE) return(any(vapply(form,inForm,value,FUN.VALUE=logical(1)))) } ## was called "replaceForm" there but replaceTerm is better ## (decide on camelCase vs snake_case!) replaceTerm <- function(term,target,repl) { if (identical(term,target)) return(repl) if (!inForm(term,target)) return(term) if (length(term) == 2) { return(substitute(OP(x),list(OP=replaceTerm(term[[1]],target,repl), x=replaceTerm(term[[2]],target,repl)))) } return(substitute(OP(x,y),list(OP=replaceTerm(term[[1]],target,repl), x=replaceTerm(term[[2]],target,repl), y=replaceTerm(term[[3]],target,repl)))) } `%i%` <- function(f1, f2, fix.order = TRUE) { if (!is.factor(f1) || !is.factor(f2)) stop("both inputs must be factors") f12 <- paste(f1, f2, sep = ":") ## explicitly specifying levels is faster in any case ... u <- which(!duplicated(f12)) if (!fix.order) return(factor(f12, levels = f12[u])) ## deal with order of factor levels levs_rank <- length(levels(f2))*as.numeric(f1[u])+as.numeric(f2[u]) return(factor(f12, levels = (f12[u])[order(levs_rank)])) } ##' @param x a language object of the form effect | groupvar ##' @param frloc model frame ##' @param drop.unused.levels (logical) ##' @return list containing grouping factor, sparse model matrix, number of levels, names mkBlist <- function(x,frloc, drop.unused.levels=TRUE, reorder.vars=FALSE) { frloc <- factorize(x,frloc) ## try to evaluate grouping factor within model frame ... ff0 <- replaceTerm(x[[3]], quote(`:`), quote(`%i%`)) ff <- try(eval(substitute(makeFac(fac), list(fac = ff0)), frloc), silent = TRUE) if (inherits(ff, "try-error")) { stop("couldn't evaluate grouping factor ", deparse1(x[[3]])," within model frame:", "error =", c(ff), " Try adding grouping factor to data ", "frame explicitly if possible",call.=FALSE) } if (all(is.na(ff))) stop("Invalid grouping factor specification, ", deparse1(x[[3]]),call.=FALSE) ## NB: *also* silently drops levels - and mkReTrms() and hence ## predict.merMod() have relied on that property : if (drop.unused.levels) ff <- factor(ff, exclude=NA) nl <- length(levels(ff)) ## this section implements eq. 6 of the JSS lmer paper ## model matrix based on LHS of random effect term (X_i) ## x[[2]] is the LHS (terms) of the a|b formula has.sparse.contrasts <- function(x) { cc <- attr(x, "contrasts") !is.null(cc) && is(cc, "sparseMatrix") } any.sparse.contrasts <- any(vapply(frloc, has.sparse.contrasts, FUN.VALUE = TRUE)) mMatrix <- if (!any.sparse.contrasts) model.matrix else sparse.model.matrix mm <- mMatrix(eval(substitute( ~ foo, list(foo = x[[2]]))), frloc) if (reorder.vars) { mm <- mm[colSort(colnames(mm)),] } ## this is J^T (see p. 9 of JSS lmer paper) ## construct indicator matrix for groups by observations ## use fac2sparse() rather than as() to allow *not* dropping ## unused levels where desired sm <- fac2sparse(ff, to = "d", drop.unused.levels = drop.unused.levels) sm <- KhatriRao(sm, t(mm)) dimnames(sm) <- list( rep(levels(ff),each=ncol(mm)), rownames(mm)) list(ff = ff, sm = sm, nl = nl, cnms = colnames(mm)) } ##' From the result of \code{\link{findbars}} applied to a model formula and ##' and the evaluation frame, create the model matrix, etc. associated with ##' random-effects terms. See the description of the returned value for a ##' detailed list. ##' ##' @title Create Z, Lambda, Lind, etc. ##' @param bars a list of parsed random-effects terms ##' @param fr a model frame in which to evaluate these terms ##' @return a list with components ##' \item{Zt}{transpose of the sparse model matrix for the random effects} ##' \item{Lambdat}{transpose of the sparse relative covariance factor} ##' \item{Lind}{an integer vector of indices determining the mapping of the ##' elements of the \code{theta} to the \code{"x"} slot of \code{Lambdat}} ##' \item{theta}{initial values of the covariance parameters} ##' \item{lower}{lower bounds on the covariance parameters} ##' \item{flist}{list of grouping factors used in the random-effects terms} ##' \item{cnms}{a list of column names of the random effects according to ##' the grouping factors} ##' @importFrom Matrix sparseMatrix drop0 ##' @importMethodsFrom Matrix coerce rbind ##' @family utilities ##' @export mkReTrms <- function(bars, fr, drop.unused.levels=TRUE, reorder.terms=TRUE, reorder.vars=FALSE) { if (!length(bars)) stop("No random effects terms specified in formula",call.=FALSE) stopifnot(is.list(bars), vapply(bars, is.language, NA), inherits(fr, "data.frame")) names(bars) <- barnames(bars) term.names <- vapply(bars, deparse1, "") ## get component blocks blist <- lapply(bars, mkBlist, fr, drop.unused.levels, reorder.vars = reorder.vars) nl <- vapply(blist, `[[`, 0L, "nl") # no. of levels per term # (in lmer jss: \ell_i) ## order terms stably by decreasing number of levels in the factor if (reorder.terms) { if (any(diff(nl) > 0)) { ord <- rev(order(nl)) blist <- blist [ord] nl <- nl [ord] term.names <- term.names[ord] } } Ztlist <- lapply(blist, `[[`, "sm") Zt <- do.call(rbind, Ztlist) ## eq. 7, JSS lmer paper names(Ztlist) <- term.names q <- nrow(Zt) ## Create and install Lambdat, Lind, etc. This must be done after ## any potential reordering of the terms. cnms <- lapply(blist, `[[`, "cnms") # list of column names of the # model matrix per term nc <- lengths(cnms) # no. of columns per term # (in lmer jss: p_i) nth <- as.integer((nc * (nc+1))/2) # no. of parameters per term # (in lmer jss: ??) nb <- nc * nl # no. of random effects per term # (in lmer jss: q_i) ## eq. 5, JSS lmer paper if (sum(nb) != q) { stop(sprintf("total number of RE (%d) not equal to nrow(Zt) (%d)", sum(nb),q)) } boff <- cumsum(c(0L, nb)) # offsets into b thoff <- cumsum(c(0L, nth)) # offsets into theta ### FIXME: should this be done with cBind and avoid the transpose ### operator? In other words should Lambdat be generated directly ### instead of generating Lambda first then transposing? Lambdat <- t(do.call(sparseMatrix, do.call(rbind, lapply(seq_along(blist), function(i) { mm <- matrix(seq_len(nb[i]), ncol = nc[i], byrow = TRUE) dd <- diag(nc[i]) ltri <- lower.tri(dd, diag = TRUE) ii <- row(dd)[ltri] jj <- col(dd)[ltri] ## unused: dd[cbind(ii, jj)] <- seq_along(ii) data.frame(i = as.vector(mm[, ii]) + boff[i], j = as.vector(mm[, jj]) + boff[i], x = as.double(rep.int(seq_along(ii), rep.int(nl[i], length(ii))) + thoff[i])) })))) thet <- numeric(sum(nth)) ll <- list(Zt = drop0(Zt), theta = thet, Lind = as.integer(Lambdat@x), Gp = unname(c(0L, cumsum(nb)))) ## lower bounds on theta elements are 0 if on diagonal, else -Inf ll$lower <- -Inf * (thet + 1) ll$lower[unique(diag(Lambdat))] <- 0 ll$theta[] <- is.finite(ll$lower) # initial values of theta are 0 off-diagonal, 1 on Lambdat@x[] <- ll$theta[ll$Lind] # initialize elements of Lambdat ll$Lambdat <- Lambdat # massage the factor list fl <- lapply(blist, `[[`, "ff") # check for repeated factors fnms <- names(fl) if (length(fnms) > length(ufn <- unique(fnms))) { fl <- fl[match(ufn, fnms)] asgn <- match(fnms, ufn) } else asgn <- seq_along(fl) names(fl) <- ufn ## DON'T need fl to be a data.frame ... ## fl <- do.call(data.frame, c(fl, check.names = FALSE)) attr(fl, "assign") <- asgn ll$flist <- fl ll$cnms <- cnms ll$Ztlist <- Ztlist ll$nl <- nl ll } ## {mkReTrms} ##' Create an lmerResp, glmResp or nlsResp instance ##' ##' @title Create an lmerResp, glmResp or nlsResp instance ##' @param fr a model frame ##' @param REML logical scalar, value of REML for an lmerResp instance ##' @param family the optional glm family (glmResp only) ##' @param nlenv the nonlinear model evaluation environment (nlsResp only) ##' @param nlmod the nonlinear model function (nlsResp only) ##' @param ... where to look for response information if \code{fr} is missing. ##' Can contain a model response, \code{y}, offset, \code{offset}, and weights, ##' \code{weights}. ##' @return an lmerResp or glmResp or nlsResp instance ##' @family utilities ##' @export mkRespMod <- function(fr, REML=NULL, family = NULL, nlenv = NULL, nlmod = NULL, ...) { if(!missing(fr)) { y <- model.response(fr) offset <- model.offset(fr) weights <- model.weights(fr) N <- n <- nrow(fr) etastart_update <- model.extract(fr, "etastart") mustart_update <- model.extract(fr, "mustart") } else { fr <- list(...) y <- fr$y N <- n <- NROW(y) offset <- fr$offset weights <- fr$weights etastart_update <- fr$etastart mustart_update <- fr$mustart } if(length(dim(y)) == 1L) y <- drop(y) ## avoid problems with 1D arrays and keep names if(isGLMM <- !is.null(family)) stopifnot(inherits(family, "family")) ## FIXME: may need to add X, or pass it somehow, if we want to use glm.fit ## test for non-numeric response here to avoid later ## confusing error messages from deeper machinery if (!is.null(y)) { ## 'y' may be NULL if we're doing simulation if(!(is.numeric(y) || ((is.binom <- isGLMM && family$family == "binomial") && (is.factor(y) || is.logical(y))))) { if (is.binom) stop("response must be numeric or factor") else { if (is.logical(y)) y <- as.integer(y) else stop("response must be numeric") } } if(!all(is.finite(y))) stop("NA/NaN/Inf in 'y'") # same msg as from lm.fit() } rho <- new.env() rho$y <- if (is.null(y)) numeric(0) else y if (!is.null(REML)) rho$REML <- REML rho$etastart <- etastart_update rho$mustart <- mustart_update rho$start <- attr(fr,"start") if (!is.null(nlenv)) { stopifnot(is.language(nlmod), is.environment(nlenv), is.numeric(val <- eval(nlmod, nlenv)), length(val) == n, ## FIXME? Restriction, not present in ole' nlme(): is.matrix(gr <- attr(val, "gradient")), is.numeric(gr), nrow(gr) == n, !is.null(pnames <- colnames(gr))) N <- length(gr) rho$mu <- as.vector(val) rho$sqrtXwt <- as.vector(gr) rho$gam <- ## FIXME more efficient mget(pnames, envir=nlenv) unname(unlist(lapply(pnames, function(nm) get(nm, envir=nlenv)))) } rho$offset <- if (!is.null(offset)) { if (length(offset) == 1L) offset <- rep.int(offset, N) else stopifnot(length(offset) == N) unname(offset) } else rep.int(0, N) rho$weights <- if (!is.null(weights)) { stopifnot(length(weights) == n, all(weights >= 0)) unname(weights) } else rep.int(1, n) if(isGLMM) { ## need weights for initializing evaluation rho$nobs <- n ## allow trivial objects, e.g. for simulation if (length(y)>0) eval(family$initialize, rho) ## ugh. this *is* necessary; ## family$initialize *ignores* mustart in env, overwrites! ## see ll 180-182 of src/library/stats/R/glm.R ## https://github.com/wch/r-source/search?utf8=%E2%9C%93&q=mukeep if (!is.null(mustart_update)) rho$mustart <- mustart_update ## family$initialize <- NULL # remove clutter from str output ll <- as.list(rho) ans <- do.call(new, c(list(Class="glmResp", family=family), ll[setdiff(names(ll), c("m", "nobs", "mustart"))])) if (length(y)>0) ans$updateMu(if (!is.null(es <- etastart_update)) es else family$linkfun(rho$mustart)) ans } else if (is.null(nlenv)) ## lmer do.call(lmerResp$new, as.list(rho)) else ## nlmer do.call(nlsResp$new, c(list(nlenv=nlenv, nlmod=substitute(~foo, list(foo=nlmod)), pnames=pnames), as.list(rho))) } subnms <- function(form, nms) { ## Recursive function applied to individual terms sbnm <- function(term) { if (is.name(term)) { if (any(term == nms)) 0 else term } else switch(length(term), term, ## 1 { ## 2 term[[2]] <- sbnm(term[[2]]) term }, { ## 3 term[[2]] <- sbnm(term[[2]]) term[[3]] <- sbnm(term[[3]]) term }) } sbnm(form) } ##' Check for a constant term (a literal 1) in an expression ## ##' In the mixed-effects part of a nonlinear model formula, a constant ##' term is not meaningful because every term must be relative to a ##' nonlinear model parameter. This function recursively checks the ##' expressions in the formula for a a constant, calling stop() if ##' such a term is encountered. ##' @title Check for constant terms. ##' @param expr an expression ##' @return NULL. The function is executed for its side effect. chck1 <- function(expr) { if ((le <- length(expr)) == 1) { if (is.numeric(expr) && expr == 1) stop("1 is not meaningful in a nonlinear model formula") return() } else for (j in seq_len(le)[-1]) Recall(expr[[j]]) } ## ---> ../man/nlformula.Rd --- Manipulate a nonlinear model formula ##' @param mc matched call from the caller, with arguments 'formula','start',... ##' @return a list with components "respMod", "frame", "X", "reTrms" nlformula <- function(mc) { start <- eval(mc$start, parent.frame(2L)) if (is.numeric(start)) start <- list(nlpars = start) stopifnot(is.numeric(nlpars <- start$nlpars), lengths(nlpars) == 1L, length(pnames <- names(nlpars)) == length(nlpars), length(form <- as.formula(mc$formula)) == 3L, is(nlform <- eval(form[[2]]), "formula"), pnames %in% all.vars(nlmod <- as.call(nlform[[lnl <- length(nlform)]]))) ## MM{FIXME}: fortune(106) even twice in here! nlform[[lnl]] <- parse(text= paste(setdiff(all.vars(form), pnames), collapse=' + '))[[1]] nlform <- eval(nlform) environment(nlform) <- environment(form) m <- match(c("data", "subset", "weights", "na.action", "offset"), names(mc), 0) mc <- mc[c(1, m)] mc$drop.unused.levels <- TRUE mc[[1L]] <- quote(stats::model.frame) mc$formula <- nlform fr <- eval(mc, parent.frame(2L)) n <- nrow(fr) nlenv <- list2env(fr, parent=parent.frame(2L)) lapply(pnames, function(nm) nlenv[[nm]] <- rep.int(nlpars[[nm]], n)) respMod <- mkRespMod(fr, nlenv=nlenv, nlmod=nlmod) chck1(meform <- form[[3L]]) pnameexpr <- parse(text=paste(pnames, collapse='+'))[[1]] nb <- nobars_(meform) ## call ORIGINAL recursive form fe <- eval(substitute(~ 0 + nb + pnameexpr)) environment(fe) <- environment(form) frE <- do.call(rbind, lapply(seq_along(nlpars), function(i) fr)) # rbind s copies of the frame for (nm in pnames) # convert these variables in fr to indicators frE[[nm]] <- as.numeric(rep(nm == pnames, each = n)) X <- model.matrix(fe, frE) rownames(X) <- NULL reTrms <- mkReTrms(lapply(findbars(meform), function(expr) { expr[[2]] <- substitute(0+foo, list(foo=expr[[2]])) expr }), frE) list(respMod=respMod, frame=fr, X=X, reTrms=reTrms, pnames=pnames) } ## {nlformula} ################################################################################ ## Beginning to think about exposing tools to create devcomp lists. ## Could be useful when extending merMod objects. Commenting them out ## however, because R CMD check is complaining: ## https://github.com/lme4/lme4/commit/8d71e439758999ea8f90eb4752487e189407ef33#commitcomment-8773017 ################################################################################ ## ## .dims <- function(pp, resp, nAGQ, ## reTrms, n, p, rcl, ## compDev = NULL) { ## if(missing(rcl)) rcl <- class(resp) ## if(missing(n)) n <- nrow(pp$V) ## if(missing(p)) p <- ncol(pp$V) ## c(N=nrow(pp$X), n=n, p=p, nmp=n-p, ## nth=length(pp$theta), q=nrow(pp$Zt), ## nAGQ=rho$nAGQ, ## compDev=rho$compDev, ## ## 'use scale' in the sense of whether dispersion parameter should ## ## be reported/used (*not* whether theta should be scaled by sigma) ## useSc=(rcl != "glmResp" || ## !resp$family$family %in% c("poisson","binomial")), ## reTrms=length(reTrms$cnms), ## spFe=0L, ## REML=if (rcl=="lmerResp") resp$REML else 0L, ## GLMM=(rcl=="glmResp"), ## NLMM=(rcl=="nlsResp")) ## } ## ## .cmp <- function(pp, resp, dims, fval, ## wrss, sqrLenU, pwrss, ## sigmaML, rcl, fac, ## tolPwrss = NULL, ## trivial.y = FALSE) { ## if(missing(rcl)) rcl <- class(resp) ## if(missing(fac)) fac <- as.numeric(rcl != "nlsResp") ## if(missing(wrss)) wrss <- resp$wrss() ## if(missing(sqrLenU)) sqrLenU <- pp$sqrL(fac) ## if(missing(pwrss)) pwrss <- wrss + sqrLenU ## if(missing(sigmaML)) sigmaML <- pwrss/dims['n'] ## c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ## ussq=sqrLenU, pwrss=pwrss, ## drsum=if (rcl=="glmResp" && !trivial.y) resp$resDev() else NA, ## REML=if (rcl=="lmerResp" && resp$REML != 0L && !trivial.y) ## opt$fval else NA, ## ## FIXME: construct 'REML deviance' here? ## dev=if (rcl=="lmerResp" && resp$REML != 0L || trivial.y) NA else opt$fval, ## sigmaML=sqrt(unname(if (!dims["useSc"] || trivial.y) NA else sigmaML)), ## sigmaREML=sqrt(unname(if (rcl!="lmerResp" || trivial.y) NA else sigmaML*(dims['n']/dims['nmp']))), ## tolPwrss=rho$tolPwrss) ## } ################################################################################ .minimalOptinfo <- function() list(conv = list(opt = 0L, lme4 = list(messages = character(0)))) getConv <- function(x) { if (!is.null(x[["conv"]])) { x[["conv"]] } else x[["convergence"]] } getMsg <- function(x) { if (!is.null(x[["msg"]])) { x[["msg"]] } else if (!is.null(x[["message"]])) { x[["message"]] } else "" } .optinfo <- function(opt, lme4conv=NULL) list(optimizer = attr(opt, "optimizer"), control = attr(opt, "control"), derivs = attr(opt, "derivs"), conv = list(opt = getConv(opt), lme4 = lme4conv), feval = if (is.null(opt$feval)) NA else opt$feval, message = getMsg(opt), warnings = attr(opt, "warnings"), val = opt$par) ##' Potentially needed in more than one place, be sure to keep consistency! ##' hack (NB families have weird names) from @aosmith16; then corrected isNBfamily <- function(familyString) grepl("^Negative ?Binomial", familyString, ignore.case=TRUE) normalizeFamilyName <- function(family) { # such as object@resp$family if(isNBfamily(family$family)) family$family <- "negative.binomial" family } ##' Is it a family with no scale parameter hasNoScale <- function(family) any(substr(family$family, 1L, 12L) == c("poisson", "binomial", "negative.bin", "Negative Bin")) ##--> ../man/mkMerMod.Rd ---Create a merMod object ##' @param rho the environment of the objective function ##' @param opt the value returned by the optimizer ##' @param reTrms reTrms list from the calling function mkMerMod <- function(rho, opt, reTrms, fr, mc, lme4conv=NULL) { if(missing(mc)) mc <- match.call() stopifnot(is.environment(rho), is(pp <- rho$pp, "merPredD"), is(resp <- rho$resp, "lmResp"), is.list(opt), "par" %in% names(opt), c("conv", "fval") %in% substr(names(opt),1,4), ## "conv[ergence]", "fval[ues]" is.list(reTrms), c("flist", "cnms", "Gp", "lower") %in% names(reTrms), length(rcl <- class(resp)) == 1) n <- nrow(pp$V) p <- ncol(pp$V) isGLMM <- (rcl == "glmResp") dims <- c(N = nrow(pp$X), n=n, p=p, nmp = n-p, q = nrow(pp$Zt), nth = length(pp$theta), nAGQ= rho$nAGQ, compDev=rho$compDev, ## 'use scale' in the sense of whether dispersion parameter should ## be reported/used (*not* whether theta should be scaled by sigma) useSc = !(isGLMM && hasNoScale(resp$family)), reTrms=length(reTrms$cnms), spFe= 0L, REML = if (rcl=="lmerResp") resp$REML else 0L, GLMM= isGLMM, NLMM= (rcl=="nlsResp")) storage.mode(dims) <- "integer" fac <- as.numeric(rcl != "nlsResp") if (trivial.y <- (length(resp$y)==0)) { ## trivial model sqrLenU <- wrss <- pwrss <- NA } else { sqrLenU <- pp$sqrL(fac) wrss <- resp$wrss() pwrss <- wrss + sqrLenU } ## weights <- resp$weights beta <- pp$beta(fac) ## rescale if (!is.null(sc <- attr(pp$X, "scaled:scale"))) { warning("auto(un)scaling not yet finished/tested") ## FIXME: test/handle no-intercept models ## (only need to worry if we do centering as well as scaling) ## FIXME: adjust Hessian/vcov ## FIXME: where else will these changes propagate? ## profiling? beta2 <- beta beta2[names(sc)] <- sc*beta2[names(sc)] beta <- beta2 } if (!is.null(attr(pp$X, "scaled:center"))) { warning("auto(un)centering not yet implemented") } #sigmaML <- pwrss/sum(weights) sigmaML <- pwrss/n if (rcl != "lmerResp") { pars <- opt$par if (length(pars) > length(pp$theta)) beta <- pars[-(seq_along(pp$theta))] } cmp <- c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ussq=sqrLenU, pwrss=pwrss, drsum=if (rcl=="glmResp" && !trivial.y) resp$resDev() else NA, REML=if (rcl=="lmerResp" && resp$REML != 0L && !trivial.y) opt$fval else NA, ## FIXME: construct 'REML deviance' here? dev=if (rcl=="lmerResp" && resp$REML != 0L || trivial.y) NA else opt$fval, sigmaML=sqrt(unname(if (!dims["useSc"] || trivial.y) NA else sigmaML)), sigmaREML=sqrt(unname(if (rcl!="lmerResp" || trivial.y) NA else sigmaML*(dims['n']/dims['nmp']))), tolPwrss=rho$tolPwrss) ## TODO: improve this hack to get something in frame slot (maybe need weights, etc...) if(missing(fr)) fr <- data.frame(resp$y) new(switch(rcl, lmerResp = "lmerMod", glmResp = "glmerMod", nlsResp = "nlmerMod"), call=mc, frame=fr, flist=reTrms$flist, cnms=reTrms$cnms, Gp=reTrms$Gp, theta=pp$theta, beta=beta, u=if (trivial.y) rep(NA_real_,nrow(pp$Zt)) else pp$u(fac), lower=reTrms$lower, devcomp=list(cmp=cmp, dims=dims), pp=pp, resp=resp, optinfo = .optinfo(opt, lme4conv)) }## {mkMerMod} ## generic argument checking ## 'type': name of calling function ("glmer", "lmer", "nlmer") ## ## NB: called from lFormula() and glFormula() checkArgs <- function(type,...) { l... <- list(...) if (isTRUE(l...[["sparseX"]])) warning("sparseX = TRUE has no effect at present",call.=FALSE) ## '...' handling up front, safe-guarding against typos ("familiy") : if(length(l... <- list(...))) { if (!is.null(l...[["family"]])) { # call glmer if family specified ## we will only get here if 'family' is *not* in the arg list warning("calling lmer with family() is deprecated: please use glmer() instead",call.=FALSE) type <- "glmer" } ## Check for method argument which is no longer used ## (different meanings/hints depending on glmer vs lmer) if (!is.null(l...[["method"]])) { msg <- paste("Argument", sQuote("method"), "is deprecated.") if (type == "lmer") msg <- paste(msg, "Use the REML argument to specify ML or REML estimation.") else if (type == "glmer") msg <- paste(msg, "Use the nAGQ argument to specify Laplace (nAGQ=1) or adaptive", "Gauss-Hermite quadrature (nAGQ>1). PQL is no longer available.") warning(msg,call.=FALSE) l... <- l...[names(l...) != "method"] } if(length(l...)) { warning("extra argument(s) ", paste(sQuote(names(l...)), collapse=", "), " disregarded",call.=FALSE) } } } ## check formula and data: return an environment suitable for evaluating ## the formula. ## (1) if data is specified, return it ## (2) otherwise, if formula has an environment, use it ## (3) otherwise [e.g. if formula was passed as a string], try to use parent.frame(2) ## if #3 is true *and* the user is doing something tricky with nested functions, ## this may fail ... ## try to diagnose missing/bad data checkFormulaData <- function(formula, data, checkLHS=TRUE, checkData=TRUE, debug=FALSE) { wd <- tryCatch(force(data), error = identity) if (bad.data <- inherits(wd,"error")) { bad.data.msg <- wd$message } ## data not found (this *should* only happen with garbage input, ## OR when strings used as formulae -> drop1/update/etc.) ## if (bad.data || debug) { varex <- function(v, env) exists(v, envir=env, inherits=FALSE) allvars <- all.vars(as.formula(formula)) allvarex <- function(env, vvec=allvars) all(vapply(vvec, varex, NA, env)) } if (bad.data) { ## Choose helpful error message: if (allvarex(environment(formula))) { stop("bad 'data', but variables found in environment of formula: ", "try specifying 'formula' as a formula rather ", "than a string in the original model",call.=FALSE) } else { stop("bad 'data': ", bad.data.msg, call. = FALSE) } } else { denv <- ## The data as environment if (is.null(data)) { if (!is.null(ee <- environment(formula))) { ee ## use environment of formula } else { ## e.g. no environment, e.g. because formula is a character vector ## parent.frame(2L) works because [g]lFormula (our calling environment) ## has been called within [g]lmer with env=parent.frame(1L) ## If you call checkFormulaData in some other bizarre way such that ## parent.frame(2L) is *not* OK, you deserve what you get ## calling checkFormulaData directly from the global ## environment should be OK, since trying to go up beyond the global ## environment keeps bringing you back to the global environment ... parent.frame(2L) } } else ## data specified list2env(data) } ## ## FIXME: set enclosing environment of denv to environment(formula), or parent.frame(2L) ? if (debug) { cat("Debugging parent frames in checkFormulaData:\n") ## find global environment -- could do this with sys.nframe() ? glEnv <- 1L while (!identical(parent.frame(glEnv),.GlobalEnv)) { glEnv <- glEnv+1L } ## where are vars? for (i in 1:glEnv) { OK <- allvarex(parent.frame(i)) cat("vars exist in parent frame ", i) if (i == glEnv) cat(" (global)") cat(" ",OK, "\n") } cat("vars exist in env of formula ", allvarex(denv), "\n") } ## if (debug) stopifnot(!checkLHS || length(as.formula(formula,env=denv)) == 3) ## check for two-sided formula return(denv) } ## checkFormulaData <- function(formula,data) { ## ee <- environment(formula) ## if (is.null(ee)) { ## ee <- parent.frame(2) ## } ## if (missing(data)) data <- ee ## stopifnot(length(as.formula(formula,env=as.environment(data))) == 3) ## return(data) ## } ##' Not exported; for tests (and examples) that can be slow; ##' Use if(lme4:::testLevel() >= 1.) ..... see ../tests/README.md testLevel <- function() if(nzchar(s <- Sys.getenv("LME4_TEST_LEVEL")) && is.finite(s <- as.numeric(s))) s else 1 ##' General conditional variance-covariance matrix ##' ##' Experimental function for estimating the variance-covariance ##' matrix of the random effects, conditional on the observed data ##' and at the (RE)ML estimate of the fixed effects and covariance ##' parameters. Applicable for any Lambda matrix, but slower than ##' other block-by-block methods. ##' Not exported. ##' ##' TODO: ##' - Write up quick note on theory (e.g. Laplace approximation). ##' - Test. Speed? Correctness? ##' - Do we need to think carefully about the differences ##' between REML and ML, beyond just multiplying by a different ##' sigma^2 estimate? ##' - is it better to do this term-by-term as in C++ code? ##' ##' @param object \code{merMod} object ##' @return Sparse covariance matrix condVar <- function(object, scaled=TRUE) { Lamt <- getME(object, "Lambdat") L <- getME(object, "L") ## never do it this way! fortune("SOOOO") #V <- solve(L, system = "A") #V <- chol2inv(L) #s2*crossprod(Lamt, V) %*% Lamt LL <- solve(L, Lamt, system = "A") ## From ?Matrix::solve, The default, '"A"', is to solve Ax = b for x ## where 'A' is sparse, positive-definite matrix that was ## factored to produce 'a'. cc <- crossprod(Lamt, LL) if (scaled) cc <- sigma(object)^2*cc cc } mkMinimalData <- function(formula) { vars <- all.vars(formula) nVars <- length(vars) matr <- matrix(0, 2, nVars) data <- as.data.frame(matr) setNames(data, vars) } ##' Make template for mixed model parameters mkParsTemplate <- function(formula, data){ if(missing(data)) data <- mkMinimalData(formula) mfRanef <- model.frame( subbars(formula), data) mmFixef <- model.matrix(nobars(formula) , data) reTrms <- mkReTrms(findbars(formula), mfRanef) cnms <- reTrms$cnms thetaNamesList <- mapply(mkPfun(), names(cnms), cnms) thetaNames <- unlist(thetaNamesList) betaNames <- colnames(mmFixef) list(beta = setNames(numeric(length( betaNames)), betaNames), theta = setNames(reTrms$theta, thetaNames), sigma = 1) } ##' Make template for mixed model data ##' ##' Useful for simulating balanced designs and for ##' getting started on unbalanced simulations ##' ##' @param formula formula ##' @param data data -- not necessary ##' @param nGrps number of groups per grouping factor ##' @param rfunc function for generating covariate data ##' @param ... additional parameters for rfunc mkDataTemplate <- function(formula, data, nGrps = 2, nPerGrp = 1, rfunc = NULL, ...){ if(missing(data)) data <- mkMinimalData(formula) grpFacNames <- unique(barnames(findbars(formula))) varNames <- all.vars(formula) covariateNames <- setdiff(varNames, grpFacNames) nGrpFac <- length(grpFacNames) nCov <- length(covariateNames) grpFac <- gl(nGrps, nPerGrp) grpDat <- expand.grid(replicate(nGrpFac, grpFac, simplify = FALSE)) colnames(grpDat) <- grpFacNames nObs <- nrow(grpDat) if(is.null(rfunc)) rfunc <- function(n, ...) rep(0, n) params <- c(list(nObs), list(...)) covDat <- as.data.frame(replicate(nCov, do.call(rfunc, params), simplify = FALSE)) colnames(covDat) <- covariateNames cbind(grpDat, covDat) } ##' very flexible and convenient wrt formula, ##' very unflexible wrt everything else ##' ##' starting to get a little too sugary? quickSimulate <- function(formula, nGrps, nPerGrp, family = gaussian) { pr <- mkParsTemplate(formula) dt <- mkDataTemplate(formula, nGrps = nGrps, nPerGrp = nPerGrp, rfunc = rnorm) response <- deparse(formula[[2]]) dt[[response]] <- simulate(formula, newdata = dt, newparams = pr, family = family)[[1]] return(dt) } #---------------------------------------------------------------------- # formula parsing sugar #---------------------------------------------------------------------- ##' these functions pick up where findbars leaves off, in terms of sugar ##' @param REtrm an element of the result of findbars ##' @param REtrms the result of findbars ##' @return \code{reexpr} gives a one-sided formula with the linear ##' model formula for the raw model matrix. \code{grpfact} gives an ##' expression with the name of the grouping factor associated with ##' the raw model matrix. \code{termnms} gives a character vector with ##' the names of the random effects terms. reexpr <- function(REtrm) substitute( ~ foo, list(foo = REtrm[[2]])) grpfact <- function(REtrm) substitute(factor(fac), list(fac = REtrm[[3]])) termnms <- function(REtrms) vapply(REtrms, deparse1, "") ##' mmList(): list of model matrices ##' ------ called from getME() & model.matrix(*, "randomListRaw") mmList <- function(object, ...) UseMethod("mmList") mmList.merMod <- function(object, ...) mmList(formula(object), model.frame(object)) mmList.formula <- function(object, frame, ...) { bars <- findbars(object) mm <- setNames(lapply(bars, function(b) model.matrix(eval(reexpr(b), frame), frame)), termnms(bars)) grp <- lapply(lapply(bars, grpfact), eval, frame) nl <- vapply(grp, nlevels, 1L) if (any(diff(nl) > 0)) mm[order(nl, decreasing=TRUE)] else mm } ##' examples ---FIXME?--- put in tests // or export + 'real examples' if(FALSE) { library(lme4) m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) gm <- glmer(cbind(incidence, size-incidence) ~ period + (1|herd), cbpp, binomial) simForm <- y ~ x + z + (x | f) + (z | g) ## ::: triggers R CMD check NOTE ## simDat <- lme4:::quickSimulate(simForm, 10, 5) simDat <- simDat[simDat$f != "10", ] # unbalancedish design requiring # a flip in the order of terms sm <- lmer(simForm, simDat) ## ::: triggers R CMD check NOTE ## lme4:::mmList.merMod(m) ## lme4:::mmList.merMod(gm) ## smmm <- lme4:::mmList.merMod(sm) } nloptwrap <- local({ ## define default control values in environment of function ... defaultControl <- list(algorithm="NLOPT_LN_BOBYQA", xtol_abs=1e-8, ftol_abs=1e-8, maxeval=1e5) ## function(par, fn, lower, upper, control=list(),...) { for (n in names(defaultControl)) if (is.null(control[[n]])) control[[n]] <- defaultControl[[n]] res <- nloptr(x0=par, eval_f=fn, lb=lower, ub=upper, opts=control, ...) with(res, list(par = solution, fval = objective, feval = iterations, ## ?nloptr: "integer value with the status of the optimization (0 is success)" ## most status>0 are fine (e.g. 4 "stopped because xtol_rel was reached" ## but status 5 is "ran out of evaluations" conv = if (status<0 || status==5) status else 0, message = message)) } }) nlminbwrap <- function(par, fn, lower, upper, control=list(), ...) { if (!is.null(control$maxfun)) { control$eval.max <- control$maxfun control$maxfun <- NULL } res <- nlminb(start = par, fn, gradient = NULL, hessian = NULL, scale = 1, lower = lower, upper = upper, control = control, ...) list(par = res$par, fval = res$objective, conv = res$convergence, message = res$message) } glmerLaplaceHandle <- function(pp, resp, nAGQ, tol, maxit, verbose) { .Call(glmerLaplace, pp, resp, nAGQ, tol, as.integer(maxit), verbose) } isFlexLambda <- function() FALSE #' convert a list of matrices (n, pxp blocks) to a p x p x n array mlist_to_array <- function(m) { p <- nrow(m[[1]]) n <- length(m) array(unlist(lapply(m,as.matrix)),dim=c(p,p,n)) } #' @inheritParams bdiag_to_array bdiag_to_mlist <- function(m,n) { if (length(n)==1 && n1) parallel <- match.arg(parallel) do_parallel <- (parallel != "no" && ncpus > 1L) if (do_parallel) { if (parallel == "multicore") have_mc <- .Platform$OS.type != "windows" else if (parallel == "snow") have_snow <- TRUE if (!(have_mc || have_snow)) do_parallel <- FALSE # (only for "windows") } }) isSingular <- function(x, tol = 1e-4) { lwr <- getME(x, "lower") theta <- getME(x, "theta") any(theta[lwr==0] < tol) } lme4_testlevel <- function() if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 # stolen from car package # the following unexported function is useful for combining results of parallel computations combineLists <- function(..., fmatrix="list", flist="c", fvector="rbind", fdf="rbind", recurse=FALSE){ # combine lists of the same structure elementwise # ...: a list of lists, or several lists, each of the same structure # fmatrix: name of function to apply to matrix elements # flist: name of function to apply to list elements # fvector: name of function to apply to data frame elements # recurse: process list element recursively frecurse <- function(...){ combineLists(..., fmatrix=fmatrix, fvector=fvector, fdf=fdf, recurse=TRUE) } if (recurse) flist="frecurse" list.of.lists <- list(...) if (length(list.of.lists) == 1){ list.of.lists <- list.of.lists[[1]] list.of.lists[c("fmatrix", "flist", "fvector", "fdf")] <- c(fmatrix, flist, fvector, fdf) return(do.call("combineLists", list.of.lists)) } if (any(!sapply(list.of.lists, is.list))) stop("arguments are not all lists") len <- sapply(list.of.lists, length) if (any(len[1] != len)) stop("lists are not all of the same length") nms <- lapply(list.of.lists, names) if (any(unlist(lapply(nms, "!=", nms[[1]])))) stop("lists do not all have elements of the same names") nms <- nms[[1]] result <- vector(len[1], mode="list") names(result) <- nms for(element in nms){ element.list <- lapply(list.of.lists, "[[", element) # clss <- sapply(element.list, class) clss <- lapply(element.list, class) # if (any(clss[1] != clss)) stop("list elements named '", element, if (!all(vapply(clss, function(e) all(e == clss[[1L]]), NA))) stop("list elements named '", element, "' are not all of the same class") is.df <- is.data.frame(element.list[[1]]) fn <- if (is.matrix(element.list[[1]])) fmatrix else if (is.list(element.list[[1]]) && !is.df) flist else if (is.vector(element.list[[1]])) fvector else if (is.df) fdf else stop("list elements named '", element, "' are not matrices, lists, vectors, or data frames") result[[element]] <- do.call(fn, element.list) } result } ## re-export from reformulas expandDoubleVerts <- reformulas::expandDoubleVerts isNested <- reformulas::isNested ## copied from glmmTMB::check_dots checkDots <- function (..., .ignore = NULL, .action = "stop") { L <- list(...) if (length(.ignore) > 0) { L <- L[!names(L) %in% .ignore] } if (length(L) > 0) { FUN <- get(.action) FUN("unknown arguments: ", paste(names(L), collapse = ",")) } return(NULL) } ## quadratic form from emulator package: ## quad.tform == x %*% M %*% t(x) ## quad.tdiag == diag(quad.tform(M, x) ## rowSums(tcrossprod(Conj(x), M) * x) quad.tdiag <- function(M, x) { ## only real-valued, so drop Conj rowSums(tcrossprod(x, M) * x) } lme4/R/zzz.R0000644000176200001440000000733214630126752012307 0ustar liggesusers.onLoad <- function(libname, pkgname) { ## don't do this in production; also flags problems in downstream packages ## options(Matrix.warnDeprecatedCoerce = 3) options(lme4.summary.cor.max = 12) if((Rv <- getRversion()) < "4.1.0") { ## https://stackoverflow.com/questions/49056642/how-to-make-variable-available-to-namespace-at-loading-time/67664852#67664852 ## not quite equivalent; this *forces* ... entries whereas true ...length() doesn't assign('...names', envir = topenv(), function() eval(quote(names(list(...))), sys.frame(-1L))) if(Rv < "4.0.0") { ## NB: R >= 4.0.0's deparse1() is a generalization of our previous safeDeparse() assign('deparse1', envir = topenv(), function (expr, collapse = " ", width.cutoff = 500L, ...) paste(deparse(expr, width.cutoff, ...), collapse = collapse) ) ## not equivalent ... assign('...length', envir = topenv(), function() eval(quote(length(list(...))), sys.frame(-1L)) ) if (Rv < "3.6.0") { assign('reformulate', envir = topenv(), function(..., env = parent.env) { f <- stats::reformulate(...) environment(f) <- env return(f) }) if (Rv < "3.2.1") { assign('lengths', envir = topenv(), function (x, use.names = TRUE) vapply(x, length, 1L, USE.NAMES = use.names) ) if(Rv < "3.1.0") { assign('anyNA', envir = topenv(), function(x) any(is.na(x)) ) if(Rv < "3.0.0") { assign('rep_len', envir = topenv(), function(x, length.out) rep(x, length.out=length.out) ) if(Rv < "2.15") { assign('paste0', envir = topenv(), function(...) paste(..., sep = '') ) } ## R < 2.15 } ## R < 3.0.0 } ## R < 3.1.0 } ## R < 3.2.1 } ## R < 3.6.0 } ## R < 4.0.0 } ## R < 4.1.0 rm(Rv) ## check Matrix ABI version check_dep_version() } ## https://github.com/lme4/lme4/issues/768 ## https://github.com/kaskr/adcomp/issues/387 get_abi_version <- function() { if (utils::packageVersion("Matrix") < "1.6-2") return(numeric_version("0")) Matrix::Matrix.Version()[["abi"]] } .Matrix.abi.build.version <- get_abi_version() ## simplified version of glmmTMB package checking ##' @param this_pkg downstream package being tested ##' @param dep_pkg upstream package on which \code{this_pkg} depends ##' @param dep_type "ABI" or "package" ##' @param built_version a \code{numeric_version} object indicating what version of \code{dep_pkg} was used to build \code{this_pkg} ##' @param warn (logical) warn if condition not met? ##' @noRd check_dep_version <- function(this_pkg = "lme4", dep_pkg = "Matrix", dep_type = "ABI", built_version = .Matrix.abi.build.version, warn = TRUE) { cur_version <- get_abi_version() result_ok <- cur_version == built_version if (!result_ok) { warning( sprintf("%s version mismatch: \n", dep_type), sprintf("%s was built with %s %s version %s\n", this_pkg, dep_pkg, dep_type, built_version), sprintf("Current %s %s version is %s\n", dep_pkg, dep_type, cur_version), sprintf("Please re-install %s from source ", this_pkg), "or restore original ", sQuote(dep_pkg), " package" ) } return(result_ok) } .onUnload <- function(libpath) { gc() if (is.loaded("lmer_Deviance", PACKAGE="lme4")) { library.dynam.unload("lme4", libpath) } } lme4/R/bootMer.R0000644000176200001440000002037714630126752013065 0ustar liggesusers.simpleCap <- function(x) { paste0(toupper(substr(x, 1,1)), substr(x, 2, 1000000L), collapse=" ") } ### bootMer() --- <==> (TODO: semi-*)parametric bootstrap ### ------------------------------------------------------- ## Doc: show how this is equivalent - but faster than ## boot(*, R = nsim, sim = "parametric", ran.gen = simulate(.,1,.), mle = x) ## --> return a "boot" object -- so we could use boot.ci() etc ## TODO: also allow "semi-parametric" model-based bootstrap: ## resampling the (centered!) residuals (for use.u=TRUE) or for use.u=FALSE, ## *both* the centered u's + centered residuals ## instead of using rnorm() ## BUT see: ## @article{morris_blups_2002, ## title = {The {BLUPs} are not "best" when it comes to bootstrapping}, ## volume = {56}, ## issn = {0167-7152}, ## url = {https://www.sciencedirect.com/science/article/pii/S016771520200041X}, ## doi = {10.1016/S0167-7152(02)00041-X}, ## journal = {Statistics \& Probability Letters}, ## author = {Morris, Jeffrey S}, ## year = {2002}, ## } ## for an indication of why this is not necessarily a good idea! ##' Perform model-based (Semi-)parametric bootstrap for mixed models. ##' ##' The semi-parametric variant is not yet implemented, and we only ##' provide a method for \code{\link{lmer}} and \code{\link{glmer}} results. bootMer <- function(x, FUN, nsim = 1, seed = NULL, use.u = FALSE, re.form = NA, type = c("parametric","semiparametric"), verbose = FALSE, .progress = "none", PBargs=list(), parallel = c("no", "multicore", "snow"), ncpus = getOption("boot.ncpus", 1L), cl = NULL) { stopifnot((nsim <- as.integer(nsim[1])) > 0) if (.progress!="none") { ## progress bar pbfun <- get(paste0(.progress,"ProgressBar")) setpbfun <- get(paste0("set",.simpleCap(.progress),"ProgressBar")) pb <- do.call(pbfun,PBargs) } do_parallel <- have_mc <- have_snow <- NULL # '-Wall', set here: eval(initialize.parallel) if (do_parallel && .progress != "none") message("progress bar disabled for parallel operations") FUN <- match.fun(FUN) type <- match.arg(type) if(!is.null(seed)) set.seed(seed) else if(!exists(".Random.seed", envir = .GlobalEnv)) runif(1) # initialize the RNG if necessary mc <- match.call() t0 <- FUN(x) if (!is.numeric(t0)) stop("bootMer currently only handles functions that return numeric vectors") mle <- list(beta = getME(x,"beta"), theta = getME(x,"theta")) if (isLMM(x)) mle <- c(mle,list(sigma = sigma(x))) ## FIXME: what about GLMMs with scale parameters?? ## FIXME: remove prefix when incorporated in package if (type=="parametric") { argList <- list(x, nsim=nsim, na.action=na.exclude) if (!missing(re.form)) { argList <- c(argList,list(re.form=re.form)) } else { argList <- c(argList,list(use.u=use.u)) } ss <- do.call(simulate,argList) } else { if (!missing(re.form)) stop(paste(sQuote("re.form")), "cannot be used with semiparametric bootstrapping") if (use.u) { if (isGLMM(x)) warning("semiparametric bootstrapping is questionable for GLMMs") ss <- replicate(nsim,fitted(x)+sample(residuals(x,"response"), replace=TRUE), simplify=FALSE) } else { stop("semiparametric bootstrapping with use.u=FALSE not yet implemented") } } ## FIXME:: use getCall(x) ? check for existence of slot? ## is control used except for merMod? control <- if (!is(x, "merMod")) NULL else eval.parent(x@call$control) # define ffun as a closure containing the referenced variables # in its scope to avoid explicit clusterExport statement # in the PSOCKcluster case ffun <- local({ FUN refit x ss verbose do_parallel control length.t0 <- length(t0) f1 <- factory(function(i) FUN(refit(x, ss[[i]], control = control)), errval = rep(NA, length.t0)) function(i) { ret <- f1(i) if (verbose) { cat(sprintf("%5d :",i)); str(ret) } if (!do_parallel && .progress!="none") { setpbfun(pb,i/nsim) } ret }}) simvec <- seq_len(nsim) res <- if (do_parallel) { if (have_mc) { parallel::mclapply(simvec, ffun, mc.cores = ncpus) } else if (have_snow) { if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## explicit export of the lme4 namespace since most FUNs will probably ## use some of them parallel::clusterExport(cl, varlist=getNamespaceExports("lme4")) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) res <- parallel::parLapply(cl, simvec, ffun) parallel::stopCluster(cl) res } else parallel::parLapply(cl, simvec, ffun) } } else lapply(simvec, ffun) t.star <- do.call(cbind,res) rownames(t.star) <- names(t0) msgs <- list() for (mtype in paste0("factory-",c("message","warning","error"))) { msgs[[mtype]] <- trimws(unlist(lapply(res, attr, mtype))) msgs[[mtype]] <- table(msgs[[mtype]]) } if ((numFail <- sum(msgs[["factory-error"]])) > 0) { warning("some bootstrap runs failed (",numFail,"/",nsim,")") } fail.msgs <- if (numFail==0) NULL else msgs[["factory-error"]] ## mimic ending of boot() construction s <- structure(list(t0 = t0, t = t(t.star), R = nsim, data = model.frame(x), seed = .Random.seed, statistic = FUN, sim = "parametric", call = mc, ## these two are dummies ran.gen = "simulate(, 1, *)", mle = mle), class = c("bootMer", "boot")) ## leave these for back-compat attr(s,"bootFail") <- numFail attr(s,"boot.fail.msgs") <- fail.msgs attr(s,"boot.all.msgs") <- msgs ## store all messages (tabulated) attr(s,"boot_type") <- "boot" s } ## {bootMer} ##' @S3method as.data.frame boot as.data.frame.bootMer <- function(x,...) { as.data.frame(x$t) } ## FIXME: collapse convergence warnings (ignore numeric values ## when tabulating) ? print.bootWarnings <- function(x, verbose=FALSE, ...) { checkDots(..., .action = "warning") msgs <- attr(x, "boot.all.msgs") if (is.null(msgs) || all(lengths(msgs)==0)) { return(invisible(NULL)) } wstr <- "\n" for (i in c("message","warning","error")) { f <- paste0("factory-",i) m <- sort(msgs[[f]]) if (length(m)>0) { if (!verbose) { wstr <- c(wstr, paste0(sum(m)," ",i,"(s): ",names(m)[1])) if (length(m)>1) { wstr <- c(wstr," (and others)") } wstr <- c(wstr,"\n") } else { wstr <- paste0(i,"(s):\n") wstr <- c(wstr,capture.output(cat(cbind(" ",m,names(m)),sep="\n"))) wstr <- c(wstr,"\n") } } } message(wstr) return(invisible(NULL)) } print.bootMer <- function(x,...) { NextMethod(x,...) print.bootWarnings(x, verbose=FALSE) return(invisible(x)) } confint.bootMer <- function(object, parm=seq(length(object$t0)), level=0.95, type=c("perc","norm","basic"), ...) { type <- match.arg(type) bnms <- c(norm="normal",basic="basic",perc="percent") blens <- c(norm=3,basic=5,perc=5) bnm <- bnms[[type]] blen <- blens[[type]] btab0 <- t(vapply(parm, function(i) boot::boot.ci(object,index=i,conf=level, type=type)[[bnm]], FUN.VALUE=numeric(blen))) btab <- btab0[,(blen-1):blen,drop=FALSE] rownames(btab) <- names(object$t0) a <- (1 - level)/2 a <- c(a, 1 - a) ## replicate stats::format.perc pct <- paste(format(100 * a, trim = TRUE, scientific = FALSE, digits = 3), "%") colnames(btab) <- pct return(btab) } lme4/R/allFit.R0000644000176200001440000002741214630126752012666 0ustar liggesusersmeth.tab.0 <- cbind(optimizer= rep(c("bobyqa", "Nelder_Mead", "nlminbwrap", "nmkbw", "optimx", "nloptwrap" ), c(rep(1,5),2)), method= c(rep("",4), "L-BFGS-B", "NLOPT_LN_NELDERMEAD", "NLOPT_LN_BOBYQA")) ## ugh: hardcoded list (incomplete?) of allowable *control* options by optimizer ## could make more of an effort to match max-iterations/evals, ## (x|f)*(abs|rel) tolerance, ... opt.ctrls <- list(bobyqa=c("npt","rhobeg","rhoend","iprint","maxfun"), Nelder_Mead=c("iprint","maxfun","FtolAbs", "FtolRel","XtolRel","MinfMax", "xst","xt","verbose","warnOnly"), nlminbwrap=c("eval.max","iter.max","trace","abs.tol", "rel.tol","x.tol","xf.tol","step.min", "step.max","sing.tol","scale.init", "diff.g"), optimx=c("trace","fnscale","parscale","ndeps", "maxit","abstol","reltol","method"), nloptwrap=c("minf_max","ftol_rel","ftol_abs", "xtol_rel", "xtol_abs", "maxeval", "maxtime", "algorithm"), nmkbw=c("tol","maxfeval","regsimp","maximize", "restarts.max","trace","maxfun")) ## name of 'max function evaluations' for each optimizer maxfun_arg <- c(bobyqa = "maxfun", Nelder_Mead = "maxfun", nlminbwrap = "eval.max", optimx = "maxit", nloptwrap = "maxeval", nmkbw = "maxfeval") nmkbw <- function(fn, par, lower, upper, control) { if (length(par)==1) { res <- optim(fn=fn,par=par,lower=lower,upper=100*par, method="Brent") } else { res <- dfoptim::nmkb(fn=fn,par=par, lower=lower,upper=upper,control=control) } res$fval <- res$value res } ##' Attempt to re-fit a [g]lmer model with a range of optimizers. ##' The default is to use all known optimizers for R that satisfy the ##' requirements (do not require explicit gradients, allow ##' box constraints), in three categories; (i) built-in ##' (minqa::bobyqa, lme4::Nelder_Mead, nlminbwrap), (ii) wrapped via optimx ##' (most of optimx's optimizers that allow box constraints require ##' an explicit gradient function to be specified; the two provided ##' here are really base R functions that can be accessed via optimx, ##' (iii) wrapped via nloptr; (iv) ##' ##' @param object a fitted model ##' @param meth.tab a matrix (or data.frame) with columns ##' - method the name of a specific optimization method to pass to the optimizer ##' (leave blank for built-in optimizers) ##' - optimizer the \code{optimizer} function to use ##' @param verbose print progress messages? ##' @param catch.err catch errors? ##' @return a list of fitted \code{merMod} objects ##' @seealso slice, slice2D in the bbmle package ##' @examples ##' library(lme4) ##' gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ##' data = cbpp, family = binomial) ##' gm_all <- allFit(gm1, parallel=TRUE) ##' ss <- summary(gm_all) ##' ss$fixef ## extract fixed effects ##' ss$llik ## log-likelihoods ##' ss$sdcor ## SDs and correlations ##' ss$theta ## Cholesky factors ##' ss$which.OK ## which fits worked allFit <- function(object, meth.tab = NULL, data=NULL, verbose=TRUE, show.meth.tab = FALSE, maxfun = 1e5, parallel = c("no", "multicore", "snow"), ncpus = getOption("allFit.ncpus", 1L), cl = NULL, catch.errs = TRUE) { if (is.null(meth.tab)) { meth.tab <- meth.tab.0 } optvec <- meth.tab.0[,"optimizer"] if (!requireNamespace("dfoptim", quietly = TRUE)) { optvec <- setdiff(optvec, "nmkbw") meth.tab <- meth.tab[meth.tab[,"optimizer"] %in% optvec, ] } if (!requireNamespace("optimx", quietly = TRUE)) { optvec <- setdiff(optvec, "optimx") meth.tab <- meth.tab[meth.tab[,"optimizer"] %in% optvec,] } if (show.meth.tab) { return(meth.tab) } stopifnot(length(dm <- dim(meth.tab)) == 2, dm[1] >= 1, dm[2] >= 2, is.character(optimizer <- meth.tab[,"optimizer"]), is.character(method <- meth.tab[,"method"])) parallel <- match.arg(parallel) do_parallel <- have_mc <- have_snow <- NULL # "-Wall" eval(initialize.parallel) # (parallel, ncpus) --> ./utilities.R ## |--> (do_parallel, have_mc, have_snow) fit.names <- gsub("\\.$", "", paste(optimizer, method, sep=".")) ffun <- local({ ## required local vars object verbose fit.names optimizer method maxfun function(..i) { if (verbose) cat(fit.names[..i],": ") ctrl <- getCall(object)$control ## NB: 'ctrl' must become a correct *argument* list for g?lmerControl() if(is.null(ctrl)) { ctrl <- list(optimizer=optimizer[..i]) } else { if(is.call(ctrl)) # typically true ctrl <- lapply(as.list(ctrl)[-1], eval) ctrl$optimizer <- optimizer[..i] } ## add method/algorithm to optCtrl as necessary mkOptCtrl <- function(...) { x <- list(...) cc <- ctrl$optCtrl if (is.null(cc)) cc <- list() cc[[maxfun_arg[[optimizer[[..i]]]]]] <- maxfun for (n in names(x)) { ## replace existing values cc[[n]] <- x[[n]] } cc } sanitize <- function(x,okvals) { if (is.null(x)) return(NULL) if (is.null(okvals)) return(x) x <- x[intersect(names(x),okvals)] ## ?? having names(control) be character(0) ## screws up nmkbw ... ?? if (length(names(x))==0) names(x) <- NULL x } ctrl$optCtrl <- switch(optimizer[..i], optimx = mkOptCtrl(method = method[..i]), nloptwrap = mkOptCtrl(algorithm= method[..i]), mkOptCtrl()) ctrl$optCtrl <- sanitize(ctrl$optCtrl, opt.ctrls[[optimizer[..i]]]) ctrl <- do.call(if(isGLMM(object)) glmerControl else lmerControl, ctrl) ## need to stick ctrl in formula env so it can be found ... assign("ctrl", ctrl, environment(formula(object))) if (catch.errs) { tt <- system.time(rr <- tryCatch(update(object, control = ctrl), error = function(e) e)) } else { tt <- system.time(rr <- update(object, control = ctrl)) } attr(rr, "optCtrl") <- ctrl$optCtrl # contains crucial info here attr(rr, "time") <- tt # store timing info if (verbose) { if (inherits(rr,"error")) { cat("[failed]\n") } else { cat("[OK]\n") } } return(rr) } }) seq_fit <- seq_along(fit.names) res <- if (do_parallel) { if (have_mc) { parallel::mclapply(seq_fit, ffun, mc.cores = ncpus) } else if(have_snow) { if(is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## consider exporting data/package ? ## parallel::clusterEvalQ(cl,library("lme4")) ## try to get data and export it? ## parallel::clusterExport(cl,??) res <- parallel::parLapply(cl, seq_fit, ffun) parallel::stopCluster(cl) res } else parallel::parLapply(cl, seq_fit, ffun) } else { warning("'do_parallel' is true, but 'have_mc' and 'have_snow' are not. Should not happen!") ## or stop() or we could silently use lapply(..) setNames(as.list(fit.names), fit.names) } } else lapply(seq_fit, ffun) names(res) <- fit.names structure(res, class = "allFit", fit = object, sessionInfo = sessionInfo(), data = data # is dropped if NULL ) } print.allFit <- function(x, width=80, ...) { cat("original model:\n") f <- attr(x,"fit") ss <- function(x) { if (nchar(x)>width) { strwrap(paste0(substr(x,1,width-3),"...")) } else x } ff <- ss(deparse1(formula(f))) cat(ff,"\n") cat("data: ",deparse(getCall(f)$data),"\n") cat("optimizers (",length(x),"): ", ss(paste(names(x),collapse=", ")),"\n", sep="") which.bad <- vapply(x,FUN=is,"error",FUN.VALUE=logical(1)) if ((nbad <- sum(which.bad))>0) { cat(nbad,"optimizer(s) failed\n") } cat("differences in negative log-likelihoods:\n") nllvec <- -vapply(x[!which.bad],logLik,numeric(1)) cat("max=",signif(max(nllvec-min(nllvec)),3), "; std dev=",signif(sd(nllvec),3), "\n") ## FIXME: print magnitudes of parameter diffs ## cat("differences in parameters:\n") ## ss <- summary(x) ## allpars <- cbind(ss$fixef, ss$sdcor) ## par_max <- invisible(x) } summary.allFit <- function(object, ...) { afun <- function(x, FUN, ...) { f1 <- FUN(x[[1]], ...) nm <- names(f1) n <- length(f1) res <- vapply(x, FUN, numeric(n), ...) if (!is.null(dim(res))) { res <- t(res) } else { res <- as.matrix(res) colnames(res) <- nm } res } which.OK <- !vapply(object, is, "error", FUN.VALUE=logical(1)) objOK <- object[which.OK] msgs <- lapply(objOK, function(x) x@optinfo$conv$lme4$messages) fixef <- afun(objOK, fixef) llik <- vapply(objOK, logLik, numeric(1)) times <- afun(objOK, attr, "time") feval <- vapply(objOK, function(x) x@optinfo$feval, numeric(1)) vfun <- function(x) as.data.frame(VarCorr(x))[["sdcor"]] sdcor <- afun(objOK, vfun) theta <- afun(objOK, getME, name="theta") cnm <- tnames(objOK[[1]]) if (sigma(objOK[[1]])!=1) cnm <- c(cnm,"sigma") colnames(sdcor) <- unname(cnm) sdcor <- as.data.frame(sdcor) res <- namedList(which.OK, msgs, fixef, llik, sdcor, theta, times, feval) class(res) <- "summary.allFit" res } ## should add a print method for summary: ## * fixed effects, random effects: summary of differences? ## not yet ... plot.allFit <- function(x, abbr=16, ...) { values <- opt <- NULL ## R code check/non-standard evaluation if (! (requireNamespace("ggplot2"))) { stop("ggplot2 package must be installed to plot allFit objects") } aes <- NULL ## code check ss <- summary(x) ff <- stack(as.data.frame(ss$fixef)) ff$opt <- rep(rownames(ss$fixef),length.out=nrow(ff)) if (!is.null(abbr)) ff$opt <- abbreviate(ff$opt, minlength=abbr) (ggplot2::ggplot(ff, aes(values, opt, colour=opt)) + ggplot2::geom_point() + ggplot2::facet_wrap(~ind,scale="free") + ggplot2::theme(legend.position="none") ) } lme4/R/methods.R0000644000176200001440000002265014630126752013115 0ustar liggesusersinfluence.merMod <- function(model, groups, data, maxfun=1000, do.coef = TRUE, ncores=getOption("mc.cores",1), start=NULL, ...) { .groups <- NULL ## avoid false-positive code checks .vcov <- function(x) Matrix::as.matrix(vcov(x)) if (...length()>0) warning("disregarded additional arguments") if (!do.coef) { ## simple/quick/trivial results result <- list(hat=hatvalues(model)) class(result) <- "influence.merMod" return(result) } if (missing(data)) { data <- getCall(model)$data data <- if (!is.null(data)) eval(data, parent.frame()) else stop("model did not use the data argument") } data <- as.data.frame(data) ## prevent tibble trouble if (missing(groups)) { groups <- ".case" data$.case <- rownames(data) } else if (length(groups) > 1){ del.var <- paste0(groups, collapse=".") data[, del.var] <- apply(data, 1, paste0, collapse=".") groups <- del.var } unique.del <- unique(data[, groups]) data[[".groups"]] <- data[, groups] if (!is.null(start)) { par <- start } else { par <- list(theta=getME(model, "theta")) if (inherits(model, "glmerMod") && getME(model, "devcomp")$dims[["nAGQ"]]>0) { par$fixef <- fixef(model) } } fixed <- fixef(model) fixed.1 <- matrix(0, length(unique.del), length(fixed)) rownames(fixed.1) <- unique.del colnames(fixed.1) <- names(fixed) Vs <- VarCorr(model) nms <- names(Vs) sep <- ":" if (length(nms) == 1) { nms <- "" sep <- "" } vc <- getME(model, "sigma")^2 names(vc) <- "sigma^2" for (i in 1:length(Vs)){ V <- Vs[[i]] c.names <- colnames(V) e.names <- outer(c.names, c.names, function(a, b) paste0("C[", a, ",", b, "]")) diag(e.names) <- paste0("v[", c.names, "]") v <- V[lower.tri(V, diag=TRUE)] names(v) <- paste0(nms[i], sep, e.names[lower.tri(e.names, diag=TRUE)]) vc <- c(vc, v) } vc.1 <- matrix(0, length(unique.del), length(vc)) rownames(vc.1) <- unique.del colnames(vc.1) <- names(vc) feval <- numeric(length(unique.del)) converged <- logical(length(unique.del)) vcov.1 <- vector(length(unique.del), mode="list") names(vcov.1) <- names(feval) <- names(converged) <- unique.del # control <- if (one.step){ # if (inherits(model, "lmerMod")) lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B", maxit=1)) # else if (inherits(model, "glmerMod")) glmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B", maxit=1)) # } else { control <- if (inherits(model, "lmerMod")) lmerControl(optCtrl=list(maxfun=maxfun)) else if (inherits(model, "glmerMod")) glmerControl(optCtrl=list(maxfun=maxfun)) # } deleteGroup <- function(del) { data$del <- del mod.1 <- suppressWarnings(update(model, data=data, subset=(.groups != del), start=par, control=control)) opt <- mod.1@optinfo feval <- opt$feval converged <- opt$conv$opt == 0 && length(opt$warnings) == 0 fixed.1 <- fixef(mod.1) Vs.1 <- VarCorr(mod.1) vc.0 <- getME(mod.1, "sigma")^2 for (V in Vs.1){ vc.0 <- c(vc.0, V[lower.tri(V, diag=TRUE)]) } vc.1 <- vc.0 vcov.1 <<- .vcov(mod.1) namedList(fixed.1, vc.1, vcov.1, converged, feval) } result <- if(ncores >= 2) { message("Note: using a cluster of ", ncores, " cores") cl <- parallel::makeCluster(ncores) on.exit(parallel::stopCluster(cl)) parallel::clusterEvalQ(cl, require("lme4")) parallel::clusterApply(cl, unique.del, deleteGroup) } else { lapply(unique.del, deleteGroup) } result <- combineLists(result) fixed.1 <- result$fixed.1 rownames(fixed.1) <- unique.del colnames(fixed.1) <- names(fixed) vc.1 <- result$vc.1 rownames(vc.1) <- unique.del colnames(vc.1) <- names(vc) feval <- as.vector(result$feval) converged <- as.vector(result$converged) vcov.1 <- result$vcov.1 names(vcov.1) <- names(feval) <- names(converged) <- unique.del left <- "[-" right <- "]" if (groups == ".case") { groups <- "case" } nms <- c("fixed.effects", paste0("fixed.effects", left, groups, right), "var.cov.comps", paste0("var.cov.comps", left, groups, right), "vcov", paste0("vcov", left, groups, right), "groups", "deleted", "converged", "function.evals") result <- list(fixed, fixed.1, vc, vc.1, .vcov(model), vcov.1, groups, unique.del, converged, feval) names(result) <- nms class(result) <- "influence.merMod" result } ## lookup table for influence.merMod elements ipos <- c("fixed"=1, "fixed.sub"=2, "var.cov"=3, "var.cov.sub"=4, "vcov"=5, "vcov.sub"=6) dfbeta.influence.merMod <- function(model, which=c("fixed", "var.cov"), ...){ which <- match.arg(which) b <- model[[ipos[sprintf("%s.sub",which)]]] b0 <- model[[ipos[which]]] b - matrix(b0, nrow=nrow(b), ncol=ncol(b), byrow=TRUE) } dfbetas.influence.merMod <- function(model, ...){ vList <- model[[ipos["vcov.sub"]]] n <- nrow(vList[[1]]) vmat <- t(vapply(vList, function(x) sqrt(diag(x)), numeric(n))) dfbeta(model)/vmat } cooks.distance.merMod <- function(model, ...) { p <- Matrix::rankMatrix(getME(model,"X")) hat <- hatvalues(model) dispersion <- sigma(model)^2 res <- residuals(model,type="pearson") res <- (res/(1 - hat))^2 * hat/(dispersion * p) res[is.infinite(res)] <- NaN res } cooks.distance.influence.merMod <- function(model, ...) { db <- dfbeta(model) n <- nrow(db) p <- ncol(db) d <- numeric(n) names(d) <- names(model[["vcov[-case]"]]) vcov.inv <- (n - p)/(n*p)*solve(model$vcov) for (i in 1:n) { d[i] <- db[i, ] %*% vcov.inv %*% db[i, ] } d } ## from ?lm.influence: ## wt.res: a vector of _weighted_ (or for class 'glm' rather _deviance_) ## residuals. ## ## residuals.lm gives r*sqrt(object$weights) (if non-NULL weights) ## for type %in% c("deviance","pearson") ## ## residuals.glm gives (y - mu) * sqrt(wts)/sqrt(object$family$variance(mu)) ## rstudent.merMod <- function (model, ...) { r <- residuals(model, type="deviance") hat <- hatvalues(model) pr <- residuals(model, type="pearson") r <- sign(r) * sqrt(r^2 + (hat * pr^2)/(1 - hat)) r[is.infinite(r)] <- NaN r/sigma(model) } ##' @S3method sigma merMod sigma.merMod <- function(object, ...) { dc <- object@devcomp dd <- dc$dims if(dd[["useSc"]]) dc$cmp[[if(dd[["REML"]]) "sigmaREML" else "sigmaML"]] else 1. } ##' @importFrom stats terms ##' @S3method terms merMod terms.merMod <- function(x, fixed.only=TRUE, random.only=FALSE, ...) { if (missing(fixed.only) && random.only) fixed.only <- FALSE if (fixed.only && random.only) stop("can't specify 'only fixed' and 'only random' terms") tt <- attr(x@frame,"terms") if (fixed.only) { ## ... may contain 'data' (needed when formula contains .) tt <- terms.formula(formula(x,fixed.only=TRUE), ...) attr(tt,"predvars") <- attr(terms(x@frame),"predvars.fixed") } if (random.only) { tt <- terms.formula(subbars(formula(x,random.only=TRUE))) ## FIXME: predvars should be random-only attr(tt,"predvars") <- attr(terms(x@frame),"predvars.random") } tt } ##' @importFrom stats update ##' @S3method update merMod update.merMod <- function(object, formula., ..., evaluate = TRUE) { if (is.null(call <- getCall(object))) stop("object should contain a 'call' component") extras <- match.call(expand.dots = FALSE)$... if (!missing(formula.)) call$formula <- update.formula(formula(object), formula.) if (length(extras) > 0) { existing <- !is.na(match(names(extras), names(call))) for (a in names(extras)[existing]) call[[a]] <- extras[[a]] if (any(!existing)) { call <- c(as.list(call), extras[!existing]) call <- as.call(call) } } if (!evaluate) return(call) ## should be able to find model components somewhere in (1) formula env; (2) calling env; ## (3) parent frame [plus its parent frames] ## see discusion at https://stackoverflow.com/questions/64268994/evaluate-call-when-components-may-be-scattered-among-environments ## FIXME: suppressWarnings(update(model)) will give ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? ff <- environment(formula(object)) pf <- parent.frame() sf <- sys.frames()[[1]] tryCatch(eval(call, envir = ff), ## try formula environment error = function(e) { tryCatch(eval(call, envir = sf), ## try stack frame error = function(e) { eval(call, envir=pf) ## try parent frame }) }) ## ## combf <- tryCatch( ## do.call("c", lapply(list(ff, sf), as.list)), ## error=function(e) as.list(ff) ## ) ## eval(call,combf, enclos=pf) } lme4/R/lmerControl.R0000644000176200001440000002014414630126752013746 0ustar liggesusersnamedList <- function(...) { L <- list(...) snm <- sapply(substitute(list(...)), deparse)[-1] if (is.null(nm <- names(L))) nm <- snm if (any(nonames <- nm == "")) nm[nonames] <- snm[nonames] setNames(L,nm) } ##' By extracting "checking options" from \code{nms}, this function ##' implicitly defines what "checking options" are. ##' ##' @title Extract "checking options" or "checking arguments" (-> ../man/lmerControl.Rd) ##' those starting with "check." but *not* the "check.conv.." nor "check.rankX.." ones: ##' @param nms character vector ##' @return those elements of \code{nms} which are "checking options" ##' @author Martin Maechler .get.checkingOpts <- function(nms) nms[grepl("^check\\.(?!conv|rankX|scaleX)", nms, perl=TRUE)] ##' Check check.conv.*() options and produce good error message chk.convOpt <- function(opt) { cnm <- deparse(nm <- substitute(opt))[[1]] if(!is.list(opt)) stop("check.conv* option ", cnm, " must be a list") if(!is.character(opt$action)) stop("check.conv* option ", cnm, " has no 'action' string") if(!is.numeric(tol <- opt$tol)) stop("check.conv* option ", cnm, " must have a numeric 'tol' component") if(length(tol) != 1 || tol < 0) stop("check.conv* option ", cnm, "$tol must be number >= 0") if(!is.null(relTol <- opt$relTol)) stopifnot(is.numeric(relTol), length(relTol) == 1, relTol >= 0) invisible() } ##' Exported constructor for the user calling *lmerControl(): .makeCC <- function(action, tol, relTol, ...) { stopifnot(is.character(action), length(action) == 1) if(!is.numeric(tol)) stop("must have a numeric 'tol' component") if(length(tol) != 1 || tol < 0) stop("'tol' must be number >= 0") mis.rt <- missing(relTol) if(!mis.rt && !is.null(relTol)) stopifnot(is.numeric(relTol), length(relTol) == 1, relTol >= 0) ## and return the list, the "..." just being appended unchecked c(list(action = action, tol = tol), if(!mis.rt) list(relTol = relTol), list(...)) } ##' Internal utility : Allow check.conv.* to be a string chk.cconv <- function(copt, callingFn) { cnm <- deparse(substitute(copt)) if(is.character(copt)) { def <- eval(formals(callingFn)[[cnm]]) def$action <- copt assign(cnm, def, envir=sys.frame(sys.parent())) } else chk.convOpt(copt) } ## work around code check since we adjust formals() later check.response.not.const <- compDev <- nAGQ0initStep <- tolPwrss <- NULL merControl <- function(optimizer="nloptwrap", # originally Nelder_Mead, then bobyqa ... ## glmer: c("bobyqa","Nelder_Mead") restart_edge=TRUE, ## glmer: FALSE ## don't call any of these arguments "check.*" -- will fail ## automatic check-option-checking in ## inst/tests/test-lmer.R boundary.tol=1e-5, calc.derivs=TRUE, use.last.params=FALSE, sparseX=FALSE, standardize.X=FALSE, ## input checking options: check.nobs.vs.rankZ="ignore", ## "warningSmall", check.nobs.vs.nlev="stop", check.nlev.gtreq.5="ignore", check.nlev.gtr.1="stop", check.nobs.vs.nRE="stop", check.rankX = c("message+drop.cols", "silent.drop.cols", "warn+drop.cols", "stop.deficient", "ignore"), check.scaleX = c("warning","stop","silent.rescale", "message+rescale","warn+rescale","ignore"), check.formula.LHS = "stop", ## convergence options check.conv.grad = .makeCC("warning", tol = 2e-3, relTol = NULL), check.conv.singular = .makeCC(action = "message", tol = formals(isSingular)$tol), check.conv.hess = .makeCC(action = "warning", tol = 1e-6), optCtrl = list(), mod.type="lmer" ## glmer: "glmer" ## glmer: tolPwrss=1e-7 ## compDev = TRUE ## nAGQ0initStep = TRUE ## check.response.not.const="stop" ) { ## FIXME: is there a better idiom? match.call() ? ## fill in values from options, but **only if not specified explicitly in arguments** ## (ugh ... is there a better way to do this? mapply() is clunky: ## http://stackoverflow.com/questions/16276667/using-apply-with-assign-in-r stopifnot(is.list(optCtrl)) if (mod.type=="glmer" && length(optimizer)==1) { ## replicate() works whether 'optimizer' is a function or a string optimizer <- replicate(2,optimizer) } c.opts <- paste0(mod.type,"Control") merOpts <- getOption(c.opts) if (!is.null(merOpts)) { nn <- names(merOpts) nn.ok <- .get.checkingOpts(names(merOpts)) if (length(nn.ignored <- setdiff(nn,nn.ok))>0) { warning("some options in ",shQuote(sprintf("getOption('%s')",c.opts)), " ignored : ",paste(nn.ignored,collapse=", ")) } for (arg in nn.ok) { if (do.call(missing,list(arg))) ## only if missing from explicit arguments assign(arg,merOpts[[arg]]) } } check.rankX <- match.arg(check.rankX) check.scaleX <- match.arg(check.scaleX) ## compatibility and convenience, caller can specify action string only: me <- sys.function() chk.cconv(check.conv.grad, me) chk.cconv(check.conv.singular, me) chk.cconv(check.conv.hess , me) if (mod.type=="glmer" && use.last.params && calc.derivs) { warning("using ",shQuote("use.last.params"),"=TRUE and ", shQuote("calc.derivs"),"=TRUE with ",shQuote("glmer"), " will not give backward-compatible results") } ret <- namedList(optimizer, restart_edge, boundary.tol, calc.derivs, use.last.params, checkControl = namedList(check.nobs.vs.rankZ, check.nobs.vs.nlev, check.nlev.gtreq.5, check.nlev.gtr.1, check.nobs.vs.nRE, check.rankX, check.scaleX, check.formula.LHS), checkConv= namedList(check.conv.grad, check.conv.singular, check.conv.hess), optCtrl=optCtrl) if (mod.type=="glmer") { ret <- c(ret, namedList(tolPwrss, compDev, nAGQ0initStep)) ret$checkControl <- c(ret$checkControl, namedList(check.response.not.const)) } class(ret) <- c(c.opts, "merControl") ret } lmerControl <- merControl glmerControl <- merControl formals(glmerControl)[["optimizer"]] <- c("bobyqa","Nelder_Mead") formals(glmerControl)[["mod.type"]] <- "glmer" formals(glmerControl)[["restart_edge"]] <- FALSE formals(glmerControl) <- c(formals(glmerControl), list(tolPwrss=1e-7, compDev = TRUE, nAGQ0initStep = TRUE, check.response.not.const="stop") ) ##' @rdname lmerControl ##' @export nlmerControl <- function(optimizer="Nelder_Mead", tolPwrss = 1e-10, optCtrl = list()) { stopifnot(is.list(optCtrl)) if (length(optimizer)==1) { optimizer <- replicate(2,optimizer) } structure(namedList(optimizer, tolPwrss, optCtrl=optCtrl), class = c("nlmerControl", "merControl")) } lme4/R/deriv.R0000644000176200001440000000674314630126752012570 0ustar liggesusers ##' This function computes the 1st and 2nd derivative (gradient and ##' Hessian) of a function ##' with vector-valued input and scalar output using a central finite ##' difference method. ##' ##' The function has to return a single scalar numerical value and take ##' as argument a numeric vector of the same length as \code{x}. The function also ##' has to be evaluable in a neighborhood around \code{x}, i.e. at ##' \code{x - delta} and at \code{x + delta} for all elements in \code{x}. ##' ##' @title Compute 1st and 2nd derivative ##' @param fun function for which to compute the gradient. ##' @param x numeric vector of values at which to compute the ##' gradient. ##' @param delta the amount to subtract and add to \code{x} when computing the ##' central difference. ##' @param fx optional value of \code{fun(x, ...)}. ##' @param ... additional arguments to \code{fun}. ##' ##' @keywords utilities ##' @export ##' @family derivatives ##' ##' @return a list with components ##' \item{gradient}{the first derivative vector} ##' \item{Hessian}{the second derivative matrix} ##' @author Rune Haubo Bojesen Christensen ##' deriv12 <- function(fun, x, delta=1e-4, fx=NULL, lower=rep(NA,length(x)), upper=rep(NA,length(x)), ...) { ### Compute gradient and Hessian simultaneously (to save computing time) nx <- length(x) if(is.null(fx)) fx <- fun(x, ...) stopifnot(length(fx) == 1, nx >= 1) H <- array(NA_real_, dim=c(nx, nx)) g <- numeric(nx) xadd <- x + delta hasUB <- !missing(upper) && any(active <- !is.na(upper)) if(hasUB) { # only then may have non-NA if((hasUB <- any(active <- active & xadd > upper))) { udelta <- ifelse(active, upper-x, delta) xadd[active] <- upper[active] } } xsub <- x - delta hasLB <- !missing(lower) && any(active <- !is.na(lower)) if(hasLB) { # only then may have non-NA if((hasLB <- any(active <- active & xsub < lower))) { ldelta <- ifelse(active, x-lower, delta) xsub[active] <- lower[active] } } ## substitute elements of 'mod' vectors into position(s) 'pos' ## in base spos <- function(base,mod,pos) { if (is.list(mod)) { for (i in seq_along(mod)) { base <- spos(base,mod[[i]],pos[i]) } base } else { base[pos] <- mod[pos] base } } for(j in 1:nx) { ## Diagonal elements: fadd <- fun(spos(x,xadd,j), ...) fsub <- fun(spos(x,xsub,j), ...) udj <- if(hasUB) udelta[j] else delta ldj <- if(hasLB) ldelta[j] else delta H[j, j] <- fadd/udj^2 - 2 * fx/(udj*ldj) + fsub/ldj^2 g[j] <- (fadd - fsub) / (udj+ldj) # "total delta" (udelta+ldelta)[j] ## Off diagonal elements: for(i in seq_len(j - 1L)) { # 1 <= i < j ## Compute upper triangular elements (and mirror to lower tri.): ud.i <- if(hasUB) udelta[i] else delta ld.i <- if(hasLB) ldelta[i] else delta xaa <- spos(x,list(xadd,xadd),c(i,j)) xas <- spos(x,list(xadd,xsub),c(i,j)) xsa <- spos(x,list(xsub,xadd),c(i,j)) xss <- spos(x,list(xsub,xsub),c(i,j)) H[i, j] <- H[j, i] <- fun(xaa, ...)/(ud.i+udj)^2 - fun(xas, ...)/(ud.i+ldj)^2 - fun(xsa, ...)/(ld.i+udj)^2 + fun(xss, ...)/(ld.i+ldj)^2 } } list(gradient = g, Hessian = H) } lme4/R/rePCA.R0000644000176200001440000000167414630126752012407 0ustar liggesusers##' PCA of random-effects variance-covariance estimates ##' ##' Perform a Principal Components Analysis (PCA) of the random-effects ##' variance-covariance estimates from a fitted mixed-effects model ##' @title PCA of random-effects ##' @param x a merMod object ##' @return a \code{prcomplist} object ##' @author Douglas Bates ##' @export rePCA <- function(x) UseMethod('rePCA') #' @export rePCA.merMod <- function(x) { chfs <- getME(x,"Tlist") # list of lower Cholesky factors nms <- names(chfs) unms <- unique(nms) names(unms) <- unms svals <- function(m) { vv <- svd(m,nv=0L) names(vv) <- c("sdev","rotation") vv$center <- FALSE vv$scale <- FALSE class(vv) <- "prcomp" vv } structure(lapply(unms,function(m) svals(Matrix::bdiag(chfs[which(nms == m)]))), class="prcomplist") } #' @export summary.prcomplist <- function(object,...) { lapply(object,summary) } lme4/R/GHrule.R0000644000176200001440000000224014630126752012631 0ustar liggesusers##' Create a univariate Gauss-Hermite quadrature rule ##' ##' This version of Gauss-Hermite quadrature provides the node ##' positions and weights for a scalar integral of a function ##' multiplied by the standard normal density. GHrule <- function (ord, asMatrix=TRUE) { stopifnot(length(ord) == 1, (ord <- as.integer(ord)) >= 0L, ord < 101L) if (ord == 0L) { if (asMatrix) return(matrix(0, nrow=0L, ncol=3L)) stop ("combination of ord==0 and asMatrix==TRUE not implemented") } ## fgq_rules comes from sysdata.rda: ## result of ## library("fastGHQuad") ## rescale <- function(x, scale.weights=TRUE, scale.roots=TRUE) { ## within(x, { ## if (scale.weights) w <- w/sum(w) ## if (scale.roots) x <- x*sqrt(2) ## }) ## } ## fgqRules <- lapply(1:100, function(n) setNames(rescale(gaussHermiteData(n)), c("z", "w"))) ## ## However, this shows small differences !! ## all.equal(lme4:::fgq_rules, fgqRules, tol=0) fr <- as.data.frame(fgq_rules[[ord]]) rownames(fr) <- NULL fr$ldnorm <- dnorm(fr$z, log=TRUE) if (asMatrix) as.matrix(fr) else fr } lme4/R/sparsegrid.R0000644000176200001440000000263714630126752013620 0ustar liggesusers## Generate sparse multidimensional Gaussian quadrature grids ---> ../man/GQdk.Rd ## Unused currently; rather GHrule() --> ./GHrule.R GQdk <- function(d=1L, k=1L) { stopifnot(0L < (d <- as.integer(d)[1]), d <= 20L, 0L < (k <- as.integer(k)[1]), k <= length(GQNd <- GQN[[d]]))## -> GQN, stored in ./sysdata.rda tmat <- t(GQNd[[k]]) ##rperms<- combinat::permn(seq_len(d) + 1L, function(v) c(1L,v)) ## rperms <- lapply(.Call(allPerm_int, seq_len(d) + 1L), function(v) c(1L, v)) perms <- tryCatch ( .Call(allPerm_int, seq_len(d) + 1L, as.integer(factorial(d))), warning = function (w) w, error = function (e) e) if (methods::is(perms, "error") | methods::is(perms, "warning")) stop("Can not allocate a vector that large") rperms <- lapply(perms, function(v) c(1L, v)) dd <- unname(as.matrix(do.call(expand.grid, c(rep.int(list(c(-1,1)), d), KEEP.OUT.ATTRS=FALSE)))) #unname(unique(t(do.call(cbind, # lapply(as.data.frame(t(cbind(1, dd))), # "*", e2=do.call(cbind, lapply(rperms, function(ind) tmat[ind,]))))))) e2 <- do.call(cbind, lapply(rperms, function(ind) tmat[ind,])) ddf <- as.data.frame(t(cbind(1,dd))) res <- NULL for (i in 1:ncol(ddf)) res <- unique(rbind(res, t(ddf[, i] * e2))) return(res) } lme4/R/sysdata.rda0000644000176200001440000162111014630126752013464 0ustar liggesusersý7zXZi"Þ6!ÏXÌâlïþ])TW"änRÊŸ’Øâ •¡á°,¾ïÁÕæbo¿*˜m§à =îF῞ÞqÛ¡WJ/€«€mÿ[þ>]XIRHœm…#º´4‚Ce 3ö«ýцݺ#64K‹ŸA¡™¢ RtUÕƨ´%YT°½H¼¹4-çPìs‘_Ûˆ4?gÒÒ'×5µ`Æðw¼½¦ô¯Jk›8v«¹ÉÜp¹èÈäfôƒönÀbY€Ô–-!®,äðé!`Â=àåmØÄÊ·=$ûG‹(#:ʃpÏ?ø]üöXð5­3Ƭ1¯A¼µ4,Ÿ4C¦ÿÇ›ÜíÙ®”ž³AP‡Ýl+¹-¶®‘ûJ‘ã:Öæq«Ëk¸L)>âN t:PË‘àNZøñǵ>8øÄÇî´ò (éODþèßh=xNSqð†­k.RVÿ­qPg¼Àæru`h}ŸŠ¯`l¦g„*t/ð¨Ÿ6šÄ¹Ê&õàñJ^DT¿¹³D™ øê2a€Ÿ# í¥t†ð«èÇ4nìe'Nc[¾F† }¿ó5L"=Ã*˽ì¦ÛrÒcœ”ádîú@6C”‘>Fè‘ÙZFd]Næ:BÖ O©ÜU¥ü€Îl 9¼:™TòÞýr ¬ëµþv˜ªßM¼ÿh*T|w¼Áåƒ÷Ù»”Ê ) xÓ‘*IVB>RÞB×—š¿Á ÕçŸP™,Ë”±-¯ÃÝ+o=þr ·K)ÓŽ+û‡}f2Ø"iRYhy% æ(ÑRórÛü´Ð!õþ&N¡S¸ŠÇ„ën¯i´>öÓýC6 ¦¶u¸@m¿‰P¶o=ÔîÖÉM|•.ü‰S !àúDßó¬¢û§ánc=ÉIûº›cÁp8¬Ž"_¤8p’èמÂUäÐQÅ©fÒ·§rN“€gw´"vQzÙOÛÐe™+.³ûaì—˜ÂÚ­@©ñäŠß¥Å{´4ÇjÊ#·. £züŠ>•œÎÎŽÜÐÔ<®¯¬¢HÈå=h@ßwÏÚJK}›éE|§AËóMàTʯP(m;߉”õír3ˆŒ ?ðE%éT%]:'ê·¥¥GúPnD`ÄΉ3ÖímõÏ:Y›ïÅFUE¿\“Mihb‡ÐÛÕÒ£ÞÏöl‚iQtÐ@m“ %…ãáñläã<'CTæ‡Å˜&’¸J…Þ,¯Bú<óâ •©™V_%‰wãÁOº\cЀÐÃéLÕÛ@*FcøýD^pwH§½ú݆ø\¹ÌÆc¨¼(VzÍEÝZ+Ñu‘óÑ&¤zZE6y§vÛl<¾+ˆã›E³DNì;—¥ü"!ì~œ“>?yˆßs£öñx2eÑ$)¨ÄOrã¼ a•‹Hý¥ÏëšÁ´ÁŽ2³¬d®l£~(„Öb!­ÎcÝ଎'+WE°5£¡ä¸Y×Înn@DnÒ•h (Ò?ªâ¤“ŒðL k šRïÐÄÛùo2˜½³~n»P4"Ò–çž «6[L13&”^<³SÅîFktG´3Ý¡€®¬3 ×øÜ¢¼ ¿¢M=Ø‹úšƒ6qቦp޹_hæ:˜/CÂÎÙ©Ïp&À.¦‚Jès~£M”’\rÿÔ$ìè0˜õU™68‰9Ýnó DÉTÙ¾â® ξ£ Û ýÖrUPçÓŸ‘¤®]üôEJ©HÁЯTXƒ‘£å1ÕÚy@Sí +õ™¨©ëòvŸë=\ýäö`¬ÚÀt¥œl±ÖûϾ.D¯=DÏ´Âip¤¾=Žeo¼ö ¨í3CÍÀX~³L›F‰Hø.oÖO›—Œ„÷3Ñ‹f)ž– <¿ü¹5×rÀ5Q÷ ûzÑW‰ò(Õžâ¤=da•éiJ­˜É6°NÝÂAI¥®÷xúÓ(ŸZ)ìm²Š Ì­TÔÕôångÁfÃ%‰ˆN¢7}Ui|t/„ *‹ïØ,†ÐŸhwÎxÒ“ï'.ªœÀ¤ ‰–¾&dåû>žB$e¿€8)0T[7g~ÆùÏ]Y C„µ@¼ß´ ´ÖlDW³jÇY L!·KÒG3.6¿}4ø7•p`Í€nËË•.z=ÿd¥ëƒ D(@ ![õÚØ~ÌÔ¸bD¦¬×Ø44´f¿ŽáL…³Ûíø2Ÿ­Z›Æ)l+_‰~ƒ°–EÆËšbr‰ ÖÌ’ÚåÕÕ{$`'Õ¸ T§›•‘îýê4Ê)éRåúgÿ"Îä'ÍCïÏ h+Á¦·!‚Ú´…AbùÿÀnV"Øt¬5ÜT_>¤†ˆª,J2†<;K&(§3õÁMF$ØŸw›µp BÈã,èÐ:·tº!/íÞ;ù WrÏX˜°IΊB’ˆçïdg+z‚1=gÔ<Ìëd·@5ÛBZ¡8i;t5Ûö1AäîbÅï)8¹O&C‰À6–L¼Œ½T …äuh®#ø z¤ÉOsT5PãI9C«ÚÏÂ4´åJÔPÎÆ± wjNöÁU¾ÀIuùÌŸ¿ @Å~×äÕo¼ÍÝA÷{!Í5&ØÓËÆËý!âSp5oפ‚t»ÚÌ´µX)å$⺭Û)åÖÈîŸÛÚn§BÊôz¢YÌýI¢ÆÈÊ´vwöÂ0dñ8rÜb{¢Æ"sø™4OŠ>ö¼F‰HGæJYVñ‚C¢·ñ§loÙ×½²d­·ì8œûiÙN©W$àÈǧ`¿|ó’pRr£l0(7wDûkE$}×;2>0ÀÅ œ} úZ:Šùâ¹õÂÇT+ÑoŒ(P&«í¤é°µXn§ù™1‘ÚŠíÒ|8Ì'/p%e$¦®Æ'…q¿ Ú\©õf…ä‘b²|L$F^Þ'Iíïz6j²F愘èR>Ÿc!X]uŠcØ<Ùö-F;º'èáô€¬¢vw•$½—_ú"Èj!su>J50É©J„¹:u•ËÇd‰lÀhmo‹¸C`¹sm²*¾àHj©«ÉÁ?#ƒËRe=ð“Á+ßzø{?mÛ?¬ìŸ-ÀÎ9ƒ¬¾äµx…î‰êSɴ䯭tf‚’¤‹ÙÌâ6JÑ|¦${•SÞ¡þ˜f°ì"‘©n™?plYSfŒÚûgä¨1¼nHbæ?D£">ï#©¢ÀÜ­6]s§6òsò3Õ»æ©0¸‘Œü€<ÖJùT-ü—FS’y·ÁTT}©Ï†»’^ììš…ä¤Å•ÒL.È–Wû)8Cœ$—ƒÞw?V‚¡ë‚Ïi7ÍN$ ™pÄót^+<™›¬g ’—‹ixÚ¦¿{Mšg•.Ë*^„i% ~/w¡ãE&8ù•ÉÓ¥ëÄ-W‘Ì#áÇñ§^²8aÀ”u^>Ò…¥‘~¨ÉÓÔ֤ɼ§âsš 8o¹áY¥QmEOÅÄðå&þ.¿$^sôR]ÀwÉ‚‘1ôÆ;{Í$aäÛ0¡E©5„òFaF›FáAúSµaõW&æeÚ‚5…´Ñ¯MèñÐÝ w@0ÛÆÊ)½R/Ä¡¤Q;ßîð×g¶-kíñ;;?¨_fá_’T&0Œî$øÛØÕ`Ͻ 5þû·Zè _Ëú¶Æ(ÊãûgóD̃&_ü‡‰û9–€GÙFHu$Qd»’ãh‹¤¥wp$&9+´ÝáÙ¡¯@ì/O J^œŠO#k.#EõÁƒQJ:©ÊÈ£¦8©ˆº×D™£å>”}*eû…Ìé#DKÑÎ}Ü•‡Ú´óC4z0ýî,áþ(…•`Po£âõ µ£,rÐûL(¡|ͧ$$F#˜÷Ët¥—cD¯œúØYqж?Cn-c/$FÛÁw2Ü–]ÿ{« ÒY7†”R3Ì_†ðÜE°žÇÆ£üááÚøNLÃ*À¢„ûÈÖÆ°ÁmþüË&Sù­Gì-ïÏ×)b{¢D¶ë-EBZh©ªe&£µ¶iO€q…¼h…Xšb*]ž¤(m º"²Ì] uãŸ<¦U¬N@gÉ ÒØ„š0A„5¼9Þ®¨ÔTÑTŽá¦‡>ûZ‘SCú6êšÓå(ém¹:6 5¶"€°™ x”Hák/ÔÆ èZ”!Z’èCv•ý®>§Â2S¢OÊ<+²ÒOù¹wgöÝ’ö'n>ôÂÕ‚z*‹v16©\ìåló­ÈùDý@ ¼,R¹Ù–bçj±#¼lFh•TâávAÛN³Šf^ û<£…+²úè¿r˜”+·îL…œràÛ¼õŸ×õ#™Cxn##1Å?k8 úú„?¢HÌfúiÝ"0ÿ¹ÄJ5Pö’É¡f¾ùÅðŠò."uHVó_?@õ7¿c¤»nAä—ç/ÖTÚìp·Ù¹aWæ#Ài§W6 :žS¾ê)žYš-Õ8K$ÁÍÕQPÑ“dÁ¯Pkí.ÞR–nhÄšyûV£.R.)Ée#¨"4Ey²mª(Tj¼äúQ”B¨*£œ.=ø™?B°¤?Òö\t©']¦né[™.ËÆHò@+A5z”1 (Vðƒþ›Ó.*Ì.ªŽ”ÐbÔz•é"[7BšXŸÇ!¥Ï‹SÁuÑ>hýx´¾µo'¾x\çˆ9¹ÁðÞjt±âÍŠÒšq¬5шògŽ8Û¹{V~·’É“¸n¶¸ÞýÛfVÖ›×ËãÇ–â N1Eiý'‡C‚ã¿ó„LÍU ÏýµÅË2"Ò)öRF”Žð¦P— dý}ä*v(Ú3îäïýF1ÝÌ+5ÿ?$OÉÙ…¦ó—3Aç˜!(ÜìÿÀ3dßæÑî'î4¤º‡f‘ãËÍ@õ2wÈå)Um—HK³„{aŒ,³¢ù|u£j IøVD+MÁi(ö±jXkD×ôÁ›-MŽ8‹ gÎbÖš£ _ÌÕThæC 0…œ‡ÒX't®lÍ8ž­$Á(€CµmB?Ic×âƒþ¿ 0;óM@öz„YZgMÂLUvs˧œiõ)qU}b}» Îjæ!ýY#MÑîSuŒó`5óâÞf7ŽÂïVÀlÙ‘:3À„wŸni$•¬¾œcœ&í«J íYŒbµê¹ŠŠQÚÄH×îDñ E×"þSo#HîL„ßIn÷ D+ü"-˜Œ%§O…M¦ÿT欯2SwP‹×/3í¾–Ù,* ‡Êr„T+ûŠÎ$zŠTÃŽéWkMü$¤ª´²8¸yˆêG{KZþQIž0jOFÃÖ#^·ïÛ½ëú´Qü9L#w¨¬ÿ| Û‚vÓL"˜»9Ž\‘+L Ýÿ­K ã ç&·i=C¼ØDfëC½×|íj®"eö¼,ø 5=´—óõNkX‡féDTç°XýÕ†±DíÈXÍ™•®Qµ›Ç”ÁåtKp[Vzñ‰ýä¸ò8•=Q˜ÞéH ¯«º²ð9/\\–ÏJÒª;Ø›Çy3U– \âæühÛ Q¾&‹©’ZÝjœJàžl^¤>c³Ñ¶äÞˆ›Ó o‰âÐq³ðöp2>ÈÜ:XH»’WF9l°lWv†ÖazC‹XØ­Mí/ÊU8ióxZÁò–‘ø/è9+aßÝYÁ'Q°ïÀ Œ–Å)U¨ Ö0Xƒæº%4¥•ÎõûöªC§#‚~hˆ>z÷:¨µRòÄ šÃXö56ä¶*K[¡Ð¡8öÀ„¼NqáÐ:¸yÚÿ'#_zD-™V qÀXªH¾.›u¨ô˜5›²8’Ä]áøõ»dlg­ŒVVÎås $Ü…”õËÎïT-ãF´+ÚLçmü¦Ú|B€ŽØ°pÇ×f=$"_øÕ/Ñ' ïAÂiZ箈7‘æk’"î+v¼Æ^à_Ý£¦>sãjúÍQö®Ä{%èÕÚß®DmSàž¦Ô[ˆAþ ˆ%8}GÌÍ#®TèVÐã7÷“ŸÍ¨|Þ4ŠáNí3/ð§I½ ø ÒS@ qéµcŠÒbÒáôÀljRÒ¿Fá•sè›S Ð…¨é¿–Ì›­(I¾ûŒcz,ˆ©ƒÄ¹9&D™:fd”; =^ã‘<×ÚÈÀÄ¡¤øw…+FÑkèUážn\§eÍeÀ5½B¯â¥—ƒ'´ÌG¿Úu–»qꮆð© Ŧò eéúÀ½ %†+öعOä}lŒ2éØÎ7?§"]zwg´Mé}ÊL6W`´ovøiFñ'6Ë´…KDçv_òúMk£BšE\”Э‰jÓ†™ÝÛÇÆò•²oÀ#Xð(G¨1= [ ½¹ö];Ú#°L 7r7+vñ)œÛ¸ ƒpFŽßѸŠîŸ1QÊ"¡GÄiÙ]­<~ÀqD®¦;ùë˜e!¶Î3Òº« ñ‡èrdµiq(&e@´ä ÄÅŽ›éˆ”Kâ4Ò…¹/òX ›}]”CMŒÏË !XÄþP«$¾Ï€¼œn³¥õf¾†õÆ3ø§2>)ÿá• WƇm‚ .@ΈðŠpîðæÆ³Þ9§&\þ”^ S—è导Ęj{ߨ4ÚÂE„Ó¸_²D{=¶à[iˆª¼€G Ú¬N_`ìF¤²(ÕQ¥¡ÇFÛ(ÊËÙƒN+Ô2¦,Ø{ `mcùP_`iÛ!E½ Ä6êì^ò ŠÔŒ¾°ú'¿‰w$|a.Üëê½}3yÇy‹âUP˔Ͷ֖·Îý^þ+æýš¦Æ¿¯þ«ñ.™HêM-df€…Qq[Ý_ò¥×¥bKxÜJþ—ú ­ ‡f*‚¹†ƒš®^|hîÈ3ËÅ®¾˜A4Y‰j›ótØŸnÙ|ì®5Ãju˜ßÏ–28µ'¸‚唸x| pzŸ–ãeß:לŒŽ°%™,d׌EÐë Ùû)Ã÷ªÄ@/_û¥› [ËŽÛÒ½£CJ¤¯ ¹‚œ ¹”P½ŒŸ]ÄŠfûsv(~"tE 927aÉZ?õ'ððAmO’(ë¹€\¯$®,gÏ”xÈ(–H¶Up™=t¸ô„„‘˜ˆ Óúir7!un.}Œ ˜â-à!È~¬·ê5`?ƒÎýÖ‰(ƒí®c„MD±ÁȺ»Ð~T)qš¥cvü8EßD-¤&kYµ`˜ûR ]ÅÚÀmŠèKþ÷5ª¨$Z;Õ)³˜‡Úgþç}RWÔHAÈk÷]r—°L§¬{H~Ji¿¼ªjéîÝÉêŸÚî35ztÿTÕ•PnÔzJy_5º+ ê3àû-¶,z¤¯{§âê`Œº-_¬LLXËÇåÆK÷tÈ):oØh@ÖÐ'Kn1¾<$ÈR°›Â4¹T!t‰¾"¸õóÖOÔŒ ÌCÆ©Å9Ée¿[³¨*ºÜ‚XB¼x]¶tê]ª˜6£°w„u¤]1ãÝO}5£q*ÓXhZ#+k.=¤§ šÒßäÜ5Ôû#º Ô#ÜiT^^{–S§â­7»›á‡Ï|0}CGEÄÚ" µÇ=ÄZ…¾IjÀ›tõŽÍÀ›íÁ h‹ãtc¯Î¬‹hK*f½U8b³ÂYAdÃìÒ r¢àäèà¿kÓšR›¾iÃQŸHìÖz†n0ú¬Ž‘»ÁFTj¢ϺC® Oú+¨â3È‘Áþ2– ³Y_´|wg·ñ*†$î/œè<,´Ð›[}à‡qC‡::Îø¶Ôô²É¹d0~Œ–ÉÀû–£ièÍѶ¿/+8û¶¦Óï³F³P œÇÊùÇ ²GÌrmø6àWOù™½?š1ÏfýÅÏä ß]T·ˆW;F{X0›Aó„8\ötp—¡k7ÖÇ ‘ôf€g˹ $Xå-ŽV¹ ÒÐ…Çv‰Œrè¾UâÈCòsTZ¬LQ½ÇŠsZQ Wˆº_¶§¯ÔÕüž‡%ërýÑœ¾e®Y ÷[‘Lò’a2j ­ sT;±F±;þ¨× <.h£å^õÉŸ^&þ¤;M·wcGÞy&U£è#U˜§a/,ƒ4Ö¼åfë)„Š+•!øÿegQJùÀv6UFg»Z8†ù™‚,¤~¿ õ²À˜H=S¦ŽÉkÆß z…Ö„‘:QÏ&·ùòÖYðŸO3$ÞF‰a"¹z\w·õÆ4D§” K¿ÒRäGm ¡.$[n–N?Çö’EõES°x}¦çÉ TŠì.>,þ½owdºÇ&”GùX·ÙBzÈ=D!.õuo“ ²ù£µ óm1ËÃ’—¥îxù³mCQ6hE,½j œÌ­ŸË§ƒêÎP pB5áçrÈ@áHrÉQô’ý¶ÉÞ¦îËâ²%*”®ÖItCÒÛW3©®×É_óbcY”@0¬EƒÄÃnP,ê• õ9™Ã-Ù·D\ÖÊ::Æw¨ÜãäüÛ¤͓΃oWæûÂ( =í”–™¿p"Ù`‡~ ºÇ¹í»0ûÚ^\õ}b úó]oç|äUï$ÈÂÄÿKxiÔ€0çtϸ¾´ug®u÷a˜6Òc Ù#¿*[TnV‚P~Ϋew¬sÁ|pã|„75NÄ~áŠGZ’bbSÉ&ÍÖâhXªlD¼ÆçÙ6}¨q?ýp„Ç W©ªÿð½éšésÓ±{Ût ±ÊÓ³`‡Y"„z1Ï>· cSwrC%fX*ËÛ‰•sÜ‹jÌ “k%ä,c0×ÈN9¶šŽu8£Ø±[åb=ûSÍ[•!îÆî&£É1R¥¹ÑóPÝð>W´îv\ƒ¶d5åTš}$‡?)б-”gØêr"8Ô }ÄND®Îf\‚ÖéüÑÑhmÅ*üûšÊ¶ji2¬î1œó×™”7ê}ÀY ¬”ý‚TNtËcÌðåã\Ê.#B2D¶wâÛ6…ƒuÐÐ ÅV0-šôª{a±~ÐqÝjB*4$€ÅjÇ>†æ:†ëÑ ef•o%°—TÿE¸ƒ$=Ä=y³°è…Ag|mN7df–ÕJ óñ¬fÈ5w€Ñ4I@/¶*Ì‘G®ˆ~_Ⱦ. }XB9“ìà.uÆï Ö¥L ËÊŠ!p˜OÌIXrå¤üeæpSM¢“¸%ú¤&6~`ù÷ÖˆL½Àɨ»Å ¼lõ×Jâä²*O)Ëú¡O1`Àýo~¶RÔ7`à–íú’a¸Ìä•-¬C‡3Ýââa{4h)íãŒJïq¼ïñðR®–v;²gvYèm„ ¨ý³ÐSм|·ÛÃnùø*.$Ô qƒge𙷠ܘàsÀÔØ4; §ä"€Tº`ùUÿ1©q MÊÉå:*­ûç(97y?ûi!Tr?j5é?(Ê „À¯šñ}V`Ô-¦S+Óâ&‚k~XÙ'^D ™XðÒeÊsYú»zù :Ï˺6´5+<^9ÒìóA"ƒm(ß?먙Ï»‡,¨ØnÓìG!iÝ/ÎëXȩKsªû÷ÿ@;ß%è2'´:ÍÚØ;#]¶| ÓA‹Âk´õÍ ÄŸ]1ÆWáO„–Ñ©ÏëX®É­Aá—=ótÍtSTä0lªl|©X¦±·:# (L3üAa¡QĢ⇠ôElPýh–Êó˜,E´n‹úTJæÆE!ô¾Ý‡@i¦þ$œr¸­k88¾®5¾¬$Vóጃ~\2ôÓSÏ=ï¿ð‰ó']?(gkMå­°WÒÕü{’—ƒQ™iðÌŽ˜µ0Ì’5Ùh®?ò‚ÍùE†ºK)‹™€ZØ)PÍN)¦"Íè‚Ýö™8ÕLÀóÃÅ2¾Dÿß–oÖjN!1žN…XÐZêÉL$LöJ‘û¯Xë‘-é®Üq)iä€Hà?»ìÂff *xS¥jRq•–(AG¸4.õ¬7MôË“ñ F¡Œ÷—OýJ˜±Í3“©tMhêÖSt›àÈsYŸÁäK7k±<{æ Oƒ%¢»òO/˜QJ²1 rfà^2¯äž„ÐY¢§oÕØ¯ÇaVé¬ëa~½°›A¹&õeo¼¤ƒ 4ÂlöKã‹¢Í÷Cå¤?ò‘Ý̨9ªMÚ…›]×ÒôÔ§aÕ´áa8@€hÈÒÙ…¶ƒÓû[BØ=Ðð 3èyÑ-ñÄÓNïÝÕÿ”´C6š€NŒ×º²oÎëö‰áÄAVn“à è°)Ëëu,Պߪ”#]üHÈ™z>âc9›LãÀz¥Ÿ†hg)ÔóV¦·±v›ó år€Ë’š­W®-ŠU'£:x_þeË’ðÜÁ̤¸"U+Ä0hEý.@÷5Ÿ”ÿ@ßãÖ9ÞËŠ~RŒ*­È£P@˜°„`c6„¹ÞuŠõ ŸwØA"õ ß]á¢žŽ /âÖgffß;€ó1„Æ©úæuãy„VsÃèéÖ>ŒóZJƒ€ùµVËl°‹Q¶2› žaÄ£ŒE­î*«©3UØÏ}ž`JR‡ÈcºhSÖfƒj6,b{CéïíÑتŒŒ¦¦(u’àEvX)ÈÚüLJòkì‘ÑpZ—<½üš‡_ à"–MÙ·¨?ÆkèvàOTÎ… Á«0{̧}+î¡;Ž3׈QŒß¨§?mrü©GŸ6 ÒÝékUY‹ð[è.à‡œü$PíŸtAW?ù€A ^¸°Aw‰ná[5кš‚÷ŠÜs|9V«EöرL˜ÞŠ5³kÆ—ì¸Ï"o^lú³ð) ¹ú ƒî{‘ý|µýJäoÈÜÝw E9¤ü¶ÌÝbærK­$ÿ»õ7Ën„ó3ÈLkßvj’‚÷´Ò@¾‡~ Ó®K!zçáø$Ú*Ý2ŠîÚó§ÉdvpÌ‘I„ÞRŸ~#R®O†D&Ä=AxOFÝÜ@ÈBmàv8ä`Y ëM˜·²Fm/ç|0™wÔ/,ˆÐPd³z0oò~#“$ÁEÔÏ®/û™wÍ¥>—"þû+ ö(¹qwùþ2ïÆQÙ6 ]µ2¡–D]cäPÐÓ=DmƒÝzúÓܾd½Í—:ƒ€k½¾wG++BÕ-ozˆ¥Åö\zï ýŠ;ŸTˆÐñ(àBûXÎÝxt5‰ÁÌPY÷}%Rê9q«®¥¡Ý.xí±öâÁÆT­l+LõüñGû›Y&Ä`z2¨ˆò° ö¶vÄky¨²vvò+%ñN46z'žfKþ~«e¹y¡×Iñ€©€IÓ/=QàœxåˆÒ\iìׄZ¥—ç[ào£Ñ(CÍýÎl¼ àY£}¸Üµ_Fq±Âe‰ñ@{ÈSÏ'–Ö‚‚ cGw(na(»pÓdýšÿM-IŠÑyèÉ6 ÁW’dtøÍî³àvð*]Ç”)jLq¤¸Ç€6ÉÂÓ5¹«IG9>adcO»›VÉï&ˆÔB>Õäyóf,ä‚y(|Í ‡bæº%9K4Ü®¸«}ìJÒáОîÈ÷íjS%2å©Íu"©ÊÄYÍÌ»:ŸY’öÅ“ôì‡-(Þn÷¬ ކÚ÷ÑÀƒÀ,†McWI[x¨6J¦ó Ç“7«‰c«#Ö¼Ëô¯ y }9ÀpþC߬7u+Ü5€§ö…8~ªŠ>ùžîiU_v¡y+Ñâ"o3}ÿîã7ÐþïnæŽ*°„’gL–&èI%¸ÕþE‹jŽÇ8<‰ôO@daír…Jlýpb\‹d°Î×îh†&u ††N!÷%³.¹yc»7=1»ú^ãÿÉyx}H9?ë/ñVì¦Ç›Í [.&M H:½Hävÿâ8•>ÞyC^Á]dÛ½¸逅,…Þñƒíy°/°´ØiË2 aûà„N9 ½¥>2‘ÊN[©ßV¥FaY™ÅìÖ¡“]5'BÿÎÕÕ·–S»Z‹(ÜÈo^ž_±@t°)èŸËŒ+y_ÔI '«”)t ¥ ýŸÓ‰É¾1ìQÝÑaB0ýPf»vݳ[(ÀN+ü~ì­7¨×žH ‰óºg_7~t+$•ë&uÈUn{LO5û¨ÆI¸äVÙ]ëøžˆr³C˜XD´Ü׆­«VCÓ4œÛ>'¡¿Ð,¨Mg±žDª^Ž‘¡4ºçig‘’Ä‚æhÈ )ÂÛ?¯kÝ2˜¶•™ùV<5wïš­‡xßÕ áí}ØàùÙR?LiS·QÚ íã6†Ôñ°;üdÔƒù™FŸA Ðkë›íFܳàWÓeÊ#y®€ygµŠ\ø­AM&Ø ó%‰Æ)­gÉ!‹sÉž‰µ¿kt{çFËv„à¡·ÌíÅÒ¨! ÏÓÃË…2pœe1ò¸Íò“—íf7{$´Éd+û„w.m×SÍW'5÷;œ* cÓ쬮—RËÝ’9 ž¡‚W÷º ‹ùˆvÀÉ:áãMH„ãßÈ<Ëm-œˆ}Åj¯þ`-)%¢'qý\;ýŠcÁ«…ôW—TæK곂Õ)XèüQ†…)yÄ :°ºRHY¾z]×HŸè;­ÄËQн†o§k%˜¹)ö2M&¾fÂàNŸ†ÆFàQ‰V½dÅLk5=âv­wðÓrnü&Ã)Ô@í) "ãßÛõá)hŸël¯\²<«Îd— äS»oÅUÂa® +ùý²EMa%o†VGܲ;³áºAÛÅ’È„r7Î ïkpØGÓVóK‚à-ˈý1EÀÎ…cX%Ts¢îÄÿól·:qÀÏþ¤r|CËYüð 2@L<:¿àŠÞCìɑݘñ·DKLKª"<ñß‹—žVvÙMzÓ¾†Þ4§œŬ%ó>îSº›Ô·'­xï3üÆ¤ÓÆÖ‡.éÁéE® ÈÛ;ûQd­*™ìù{ï‘ö:x1>AÅ0VÌæw:¶8b—ðìÊØÕ¾×šìÔ·Æ3¥¸(ÖÚGÓÓdxC[»¤Ó ú²‰²õï¦ê€ÔØåÌaEO7Ø÷jÌ35(çòÄÄŸ÷½ÖÒB^Ç•oûFÖeF®#“´?;µÌG¨PõŠÉYE‹öòÏ,3ÊÞ&¾ÔGuVßÄ\ì·!ÀÊW] ZïIÌ.pZLqš/Ÿ‰sèôGpˆÙnÏ-»1`Ø4k™….ß.«×%eéÜlî,ŸBegã9ú,Cç­ Uz/Ó×<À¬´–À¼¶ÉyQ{æ¸7@*ŠçÀ“1môu¶H3'?¡;O+‹›ˆ:ͦû`÷ßÓ2{£ºR-¶=Ù¨Ýpj»Žé,ä;[úŠtØW¢ªá IûZ2ㆱ¥ïÕdi ¶6qݱ.ÃÎU´á›®äþ^ ê+†i<¸Äĺý|cÄÀý>â×¶$îÚ…T¹oy{£QYTÜô—/‘çßh¹MˆVx]2ôÖpk;øß™zÄ*ªFY¸šYvuÔ,p^»WÜ͘ òÃ<ÊÖªdW=39žh¬\<3ƒEFù›°Z“Ørã}·‰…ƒ'`wHJ@7ðIÖá œIë½n`·–«6,çÝ 'B¶§2þá̽Ðý’rµÕ¥j»><3ZÑ-`2Vï÷åb4Ù;V»ªØrûúüðXÙ›}“î*r8Ź×]TfY“g¿6¾øäG îæ•Ôái.Õã÷!ºÁfØœ§ À[ÕíàÐ ×)6éw’7Œ]Ç  jGº·Ýljå&9&©BG~iÑÒ6.ê©éFÈ]¯íg-9/Ù^ŠÁ€á7ôŒƒKüUÀy%Ôgm[8Ñ? ö14!JB¥bÇÆË‚A¹7b…ÀO aƒÞ¦èø*Š[^“¯.Æë­¬ó[v1Œw\ø{<çˆÿ{’ÊIù·®à#bSçÝb@3´ÈE1¡7Ý;nMÅItÆ(xiiªâчb’…îοpí˶‘6nA2”w ‘kjQÝ.-Ò-Áž­ùo›õƒZC@<«‘ƒò.Ï\ ©"5¸¡wlÅ©_–Írf²g„×ÌMéYSn&»Æ‡Nm>;JH3è-²(`@Š3>έ²HK^EüogPàÌVj‡s†!ó¡eîgDÉ*.¬‘wÜÈ¿u:£…(AÓ´Ö¥Å`´Ò—kÝŽ ÅÂQâA¿‚â’4±w®DPŽº¬Dž¸3¹®r“>%Soéns}ËEc´Dò(&~Æši+Üi ¦ûäyžîäû Œ9>!`‹hNçpM­Yû`ÓÀ^Qú¨¡¤‰–—€Wÿæí‘’õ¬VÃQ}½ï˜Þ†ŸîMN¡örœ6óØ”ßý cï½;È¢ßÄ„B%k~6{Èß³/œƒ®üž¤ºeëž‚ ê˜ ^B±Ž²1¦]N™lhñϵ,ž†Éœ+>¥%=L4ÇÎêω½w0=08÷Ð:3Ï3ï¶¶¬Û^¢ x¿‚9ý†KŠBsðG 4+×ÒP"rün@‚q9*fS ÂfË^ ÅgÇìÒUD«¦v¨©ÍJÉãqœü]“ª§U™uÙZ"†·b ÔWB£Ü¯šÛE󓣃E"µ7íg ì=S£ŽHY_ˆëòh¯Tð$‹LÔ^pvrS;‚{x~Há ?ÃË0ê<ùVU޽¬rÀ-1,fieêã†ϠJ~+åú•ä_bì‡ô¦ªÄ5¸VÅ@žU3F 7XÎÁ¬€Ì›®Ä`ú%fL›ùß±H'k4+LÔÑ"»ý)Ä:f Š½‰ï&¸xz¸Ó›Š×R½sV}qµÂ0Aó\Y+PCÞMÓ<ȇYqF3Є)zRQ³Á ’&ß#éóqŒâìÀv0!«X'Ò=Œ‹yCªÚy½@ö“Þ|¯u½FËg5v++Ht½Žc©lô ›=P>,Ópr‚Äí°adÉÂ'!V<ñNMŒl9AV¶ˆ/j'äc£eŠ1 „çCmá¼7ÌjY%îÌø×M8va?/ÿ›b1yëÍm°ËwCóÓâ€@|e¾hÇKÊELé6Ôÿ¶5ÜxÍ»)×Aö4öaí<xGÕÄ"ÔMHÈ{€Òê‘C*Öþ–&]˜ÿbë‘%4¦ƒAB’÷øåƒçª0úIÊEÏÓŸ60¡èؤbÄ9®¸.Ëx¤Bw€JæxÑ8²«<¸ò-Š&½¬œS9úY=¼À§éÁoÀ†nÈÑiiWUÿw XÒÁãÂDµ1 '_ Å)ÇW)iÚôŽï8aQ-aL¼çúÈ‹êõ¸_bFãÖ% tåÐ Ç:å`Ì‘M?òõÇ>áR€U…öºRÜ×[ƒ%J+„"Ûhä—œm°rw¼Sm iÌRô»­$øK/%QmúdÚ=,[ËÆÏCá'ØÈÖGÍã. ‡Ž#cÊÑáfwXÈš‰ÙÚÛ6[åùàÆLKŸBøKc×xê3Ëb‡£òG><ÜolP¬qK :É·þq˜¼îfm,Ï‚÷'ãC”uŽ´öB¾ý¶¹ª A´ªQ¾TìÊÃx¶cˆ5kðSr)ÇÞ¼ñÛÂkOŒ>±ÁSd±F¾mšÊ¿ŽÄ¹á %öZžð5È™É[†v¥-)miAÙïHó\},Ö⥎ÞsÍLÚZ* ÓÄÑ­CT›ìreE:À$l€0+„¨F*òŠõ¤¼òqü ô˜2ïsgwü£§€:Þx+¨,x5<=MG^â1Å;£”ó¹6ui8òxŒ=ß¾ þYC˜Ë×é€x¶œIÑX.Ä×8–e úüÁr’¬E2Šáñ#3k˜žïWŒO?gDÐÄÇMDI®¾nÓü(«l·%¤²Ùi#ll&ºïé=Ÿß¢jÅ¡Inç­qËVèÕo¢±*5Ý:÷hêkóEb ¢¤ SÑ T.ÛB­u\ „O CeD®1]ôñxw‚\*Ç`RÔgHêÚñoèëûãuqÀ¥r6'¾~lÁú˜”`î!•P“ð'½l #¥ûNWþäÉñ—å 5­¼À¦Ôl–ÿ¨£NHB‚vSë¸91ÉÓØÓ|ó½ j…sÀIUÞocc‘CÁ¯ÊxÏùR²GHfw¬Lp¨±ƒ4Ãø0? Ù^X\3@AÐ `5vªkWæ5x n€t¤ØÀ¯æiÐ>ć®3ù‡g%1aO,¬¨é/ ye¬ŠšÞ_rNr:iRóἩïd¦ú ÷Ï£DuaRNnÉÒVÕâ‚x°«J2*š³÷ñ eרҪsÄ ¡…ì òdÑ1%ñ É-µcÁT¶ŠfFMàZÜ e{ì‘ËÎ¥*:ö׿£„j6–?ê)ïà5uÏh¬¥2Aî |o<äªrÀ`!¬E™&?þiîâIÀ˜*`øî7ã`Ïoƒ@—fHAÓ(zþÓãÆ¬±]¨°p¢޵äM/@@8u&T…ôêKva¯…aãÀ&UĈLÇy%TÃCzÆW‹ ‚TVò`êÉqR[ù[pD·…·V@noØ™‡Ï]È%–ýÏzØ/[I·‹Ô¿¬‹-$!«xÎ’ 串þÏâ(. †ÕÏê˜É@øëKPÙpÜ,þ†¶{VA_ƒ‹P¡5¬­FÒ‹üge™ª®@¡§“$|¿Æ‹pƒÉO ³Mý9§7ˆxA7·=ÍÂu»¥¿iû§æx™¡'¬×.”¬ÞÏÀ&Ð~Â%z|Òka–‘â§·ŠœÙ–iˆÊå"¾Iï ×X~‡ÿtÌÃÌJ£º­‘…Sºa©!ª¿@¸1-V1Nš O¹±ÿ‚űPYk–âqîåšÿÃpԜԲ’ý¼+i¥-$_ÆÝ,”°zZᦰ½Á:JXñžô€Ë™p0¡Ú«ÅåRø¹•?Š 1äx/ì2ýNg2r_{q íÞÙË«N8nKcÏI…ƒNút§¼Œ1+Rà¾åÍ~M}ô ‡›J¾‹GÏéÐ`º­ØB  %©ÖAˆ“G MIíŸä•Vôð´VͰᥨÊÔ1᛽Ðɰqô£®†­Q­³Ñq¿âåqô6Ó°Bt0bY×+0ö=ßïWGÙp}@†•¡`(È<ÝVl)õ_²y-h΄‘DŸçú­ŒKÊLâ%½g‚ø×§ôö¥®½¬Ã'P€^é›v…˃¾®© ¾ÎWï²øÇ$µ¤Ì¯ƒYÝ.LVâa¡d9w´„ó#O§vD4G"ÿhÏN"C¸’û·ü`¤·øÉ!ƒh,8â@o;ò©ÍBh€vmù÷$]¤cPÌe­I]ìÐÙ¾Z)αA†ívLo÷j]ÊbùyÙ«ùT·eúFsÒ®‰ã¸ö.Uk‰[ÎÄÓ°^!H[ÙÛ¥Aa„á¬nˆ³çí !¥óDž"áËÔb"úoleœªu‚ t˜Ar¡ÁB°¢uÀ úŒí ²OK4‹•êy™â3iÅu®xô1«´IÒÍ9«Q3p$ó7%_*¤Ájï•íÊ  ¬—þ-6ùèxì÷ÕWgɺ"% r¡p+«†Œ¡kIÀþ™|`¼= €Vøø(4¸ c”ŒÇµìA9ƒ *Ü•ã´}J`‡b/®´oNRwA”ëú£!é£mÄü§|Р TGá(jTŸ³GZÎB\5+’ù•çÎTu?^-8¾Y uAüÉ ,øÔ¿ÕŸËö ᲃª×íµè8½W:ó\•“ò¬«ˆºC¨¦+ §(qJ› cŠ«ô'Ø­¬–8ºa¥ÞGÏRKb»=„Ò¸:õgþç ð©w§‡ y†Ô©ÀÃV}¨à‚ƒ5þˆßØ‘CNú$+Ä]âG"Î?^ô$ô±*Ëšv…)¯£ê¯òïÜ-¼v¤ µ{–††'þ©Q>õ-Â5Ž&µwß2@­ „Ù²±-?©n±ôø&*Ëâ²ÂD‡U•ÃPóû“m爰F(ÒÝÉÅŸÕ5RTa0œÔˆ77`ù|¨:¥ˆR§––öõ˜Å\ymëÈû˜týÔ˜¦v¨“­,¹•ë*!f&OÃPŒà-.ÅbÎþÝx'åáúŸÿå^ìÔkOó |ò~|WO¿Cà×D{ùŽÛUܰ{é3$âÂ5s:;2³P¡t”¾ï ­˜8E>éU‰½¹3j⌗ŒÓ ž"I:…'7˜¨¼>û[ YðùúIꪃQý™°®æ‘€¨yø,CŸH‡å°]„²aSÕ6]o1© “T€EÆh䕵 m´®q¬}»F\Ò'äG¹n;jÌš‘D;€tf«ÿÒª•S”Ϲü"ïà¾tÈe–Ìõƒ7Ž#XnC ]æ¶0×·*µÄ’ÜÖ\*Tqª!-£ÏÛó/"?þ†Öîq>B‚ƒ0÷ º£v#’Ùœf\{…:Ô‹¸Ñ.KMvÈH¿ýõŽ~ºLêR‚!JaÎo3Nª¬Pê×e€-=…dMßÁ-?ȉ[¨#»s€½Î'‹j¬Ž›Š ×6 {ÞÜ<ÐØûO]ê·á´U¸†Á­Ë£ˆ É,Î|ã›90t±ê^qä×éóek°ͳ8#È¹ÅÆ›½HÕ½ÞuèÌü&›ŸrõÅ=¿ë‘€ƒ¥[' ß8_åêG$¦sX‹Ó­¼PÒÌÁc"³§ïöµdq•UÇ ¿hþj¬q§}xr0óœvë¼‘ÑøSí1 gàS«¯°‰%øJ‡|Ë=§8÷m:¨YŽË ’Ôf¢Á<Ì ô4”, Ž:‰~Рœ"J‡P û^V‘Ä `¡”)‹¿ÙÄ?)ù˜Kï™;_/#‹2Žž¦ýš€=._„G_ÿžßúO,)rE#šO’È&Kqà¸Ü‡¼tÈ1ûó÷ïûÙöiΦʿÜÌ€ºÂ}ö9šó8.¥ƒä‘£m>º õªÁ‰+LJÐÊ·)sl¢ ’JÃôÂŶÝb Øî)1_ˆveiÒL€Žì¼ÂÞ;vëU»½@6ä‰È0…,¾I»£„Ø_’Œ§iǬR¿þ¼™p»RIÌtü0PÉ*ÇTØÞ¨JxkCXIá–º„–ûïqÌ”o®"ªuuõ>ã_´}n.ÖþãèdRÛ55üg¶MWç*ád>°o—‚ÇmPžµòVÿát«™ývËŽ)PÏÂ+eRðÛ#Gu–MÖ~\BQ£„vhOùF`ºéëàÙZìæ®8Ý_Öç¡shi‰:Ò½S_2\ºŸëìíó„s“§ÑsK¹:%8kîÒ¦b7™S¬­¹@8lè µÔ›Ìðá²Ò%§ÔÝxÉi8vWøô2€fø¾IyGÉÚ§,Æ« ´QÕ–º;(œ8ÉÃ9èZ¬Z…Ÿ`Ð>·~Äø ý~Xú#qû‚ Œù™4}~7z‹í5™:IÉelLúRnZ^6Ñ÷õ7ã)(ÀÈüvx qQ§$‡É |ÿË`‰¼÷gY'¤+«ìæeÜY‹1DoUש€MçExåKš*»Þd•ÛuL”Jöá:¸•6 Æþ¿' ¶ÖZlÒQÀgTnaáàÕŸu@C¨~ûª”úwHão¦ß !]òW'Pëuð.ìþ™B;Î÷¤GV÷F|Cꊒc¬¿ˆÇ !}’ o__s7Õ+OÕ [HÐþ«ß[Ú[k¶Ë œf€ÿ0•þS¦(AxÌ]sªFŽÏgG~ßuÎØ„.ÎFöm)鞆làH'“‘CЊ|‚ìŸS'™{@yÓµ‹©(Þ±•¼ýµÖ¡ì]”Y;ذ•«¬sËÇÈ_壸KÝ͉ZÖ½Õ«f·èÂ<‰×‹ÊA‡¢nS#”èa½>‹s—ʾ—§+¯³À•¬u€Äë<ð8Û£gg/’aþ[iìÝÙžkiþ4§ˆ?ÉÄHÏÞ Ÿmk–uÚ / ñëǦ«.Rkªè™Qp(r›Ç\‚j¯ø/ž“(f-ø/ؾ{Ç»wEdØDkýo p ¥f,P¢ß¬fJô1Ʃ݆û2¦ ,BOý5Êëjcºڼ¼„öHÁžªdVߘM3'x}M‚—]nxè„ñíc¤+4˜þ}Yø¹ˆ@»³@bñÎsš«€E¸ÓæM¼Á†¬Âþ#”~*íˆöDš8ÿ:ŽøBª‡ÐWµMò$fåícG¦þ»J#Ukï¥%~ÜåŸ<d–sþ#°¢·Ï3î¨Ýq)yäJZÒÕK’eü–ƒÏ¿Ù¼Nàõ]sÞÇz¯ÙD»Ž¬u? Iuþ:d7{[¦Û+íÒÖ¹+’Ò൧yÈjXμ4µŸ÷“ñ&þ9,ð¾[¨ ^ âwÂí¿jÀá³ÅOeÓ¼)q*D3 V¾žBZÐý=©ºG³T3(0†‡D[ õ!‹É§·Ó¥¿7QøPuÞPTÒÌëà€‰ .§Ü8¦ËN”6ïó4ûÖA–¬!|Ò3‰q›¹Ãz@eß:ÂK¨Jgeà<ާÞ…õÌê ½þÆIƒ@Á¤>T;‹w£·y7 x±´5:çÆZíñ­:䎣&°jMªW-£9(ÜJú/>ë¤xžÛ)ËÑ{¸ü‚[ƒ8„µ¬¾‹ß‘V3¤ìû§m“`ÇòŠ]2ùg²;Z:ǵ3u¯òï7\JÖÌ~`^jÈ8?•m[|Ó7\Ð5ewÌ—ÄHÛú˜¢ ›€^ªÕøcëõ|?…ïñXtRª®¿.˜{cŸ£¢®²,+Õ-J›©òç˜6:Wûwý ÿ#áZ±ÊeöOÀê@LÆ} Eq|`p =ªyggÒ)q’7ò6$ êL<¬‰J÷VÀƒÖþLfd»_IÑ9|YÉá˜1éÙÉvül Þ 2$sÅš$Ûÿh#¾íš…æ)>…1{ç,´ˆYO¥B[ðÒêf ±q†ØÛ±åW¹lòP[[Ær6ÌýSÝd©éâw·ùsN_ä{ÖØæ¶¢†™v^mƒyòÁQ« Y;‘kÎÞ‘ó§¦&ÆžyÖ=Ãb‰=¹c­!ª=”ìÉSì[ïÊV>Ô<@‰¬žeü[]ªí¥Ï"cæ@£ŠJÇÔ,Ó^Û©HÌe4uÙ" «¦õ–úßÐý™ìÎAc&èS‰“E=Ëë×oPjp-ê÷uœÖMÝð̪-½v“Æò$h # y"Õh•~WJGòôæ€ÖP'Çgd‹=÷˼°buÜJ{3r´.–‚ãÅ÷¶ Î_î°ÖG·Àmduû«ã×sh‡>.ÐjXÐ2 ¸ãú<^ùS ÎN+Œž–rõÖŒö*e%Ô-¾¯œÌ|øͽqr¹Qp¤3¥ÙþYÓã]¼Â„ ¤dˆ†xoÔjº|¡}§ZïÏNLøîÛbÖamb—¾´·äÈGS1A@»ßÍ £Ã½@…<1zcbdB!×+?ˆ*…b8b7DÑw]×ßp(T dâ ¹˜Ö1~K; [¸ŽP&ªô®œL×ì$é!ùãå’·§²H DÊÕ‚§é†ókœùYÐ’µ@›NÀ~ª]/Åh¥Û±·ÎÁ¸3ïØr"é9©þ² Ð$ ù±lÌ+)—¨doô»¨ˆ ^lѶJäµáý"-Lk«[î*åƒí±2æé³ñjˆpÚ&ãv?Om`ÀÚ,÷LÊÝ<…H稖~<.Î…÷:¢$Žƒë×ýg6~dùfÑÛA/ÔüÈÃõO6s ’ªy¼kÈqˆ3ÐÒþ)J¨ºši¿hÂVMaê² Ì9T9)w‚ ËnÂÅ×°æ~(/ò)€-½Œ·ó³ImVñRÎöÕõZ¿ÊS¤}:?>¿Þ Ñ×?/ÃI Î^à‘›ãÞ¯­°~¬>h/'F'i?GÚ°Ä ?=¨s°°ŽÀð ÀiŸ¸úã ›Ñè.Ûœ4´Ìöš#ssb“á„ygÞÇÆ®ßÅÊA [6õþJߺ¿F‹©OAC3É Œxzo Í!@‰[åþybæ'˺#õ{át4&‰¹%_gpƒÈ0“§€3›ºTÉĨ ±ô‹'XÝÐc'·1ï³Ü¹uM« “pÄ.¼|iXp&ÏqKž¤ºŸƒÿªD™Ñ‘†»ð’¡sÓ¹VgÙ9…[=Sr+î"QŽ‹ †¯EòõÖ«å÷ ¶”ùĵŒmmñÓŠJ`v‘px|a–ï-¼ìa Õ@µÀ-Iæhi¯$sŸ(7c‚”õëÛÛ(µÇø$˜yó(‚ódP~Õ¼§¢çùݪÍ44&-{å?CÈ>µ”â³È@Ùø°åTh–ú‰Á)guöŽ-Ý„Ëf¬`Žx˜³PsR¸CäUƒìŸÚ„×íášIÊ©üøý“ÂAåc#:ˆµ¼¬È:þ@Ñ€eÀ¯#§À¢ÌJB¿Š~'HyUÙí¿Î(CýÐ8ó(C„†<`Á,1tÔÈîƒK1ý›|w4kuf‰ÖLÔÿ5†äžteUÕ’¯Ó Ì·,ª‘<ï *·ÜmSVyò JŒîŸ0ëøºS¾K]U¸ìÊ,# ÛGßc¼û¯ûZ‘B^J¡ì’zC8ŸØŸØw­Bï¶Y“#I lP|[”®©XZà N°HMŸÚ]îd;Æ8Äs<¡·17bÌ­œÎEؑȤ¬“C»Vìç6ž”æ ‘rå «Ü5îC™ÊÂŽ/a¦‚Ò¾(éébç±;KT£¤á—¼'TôßQ¾…cD¸…ç?2uAÓü_ZpþÅ}a—%~X=ÿíÉÁ}ƒ3~à(;Ïm]ð1¤ô˵C Q¡‹/1 ¼jE38ʶÿ¹9Ûƒ]vzAX÷©›M\O>¹–g.ùÙk?kFë'Ù•®Ü¼ÝÊ!¤wìm^t)„![¢&ØáâúCެ” =ðõ*L¡Pš‡8) „ ”ÝQ*vHâ½²y‰½šè£äÒ1eý0.ž3Ö«„N,®ÂÄG,17úVCOCg†š¯—<(“­Ò^½I¼ž'‹ü–(×ì!ML²Â‚ @!åk?—Ä솔)¾ ¨·øg7IvÝùgáËP4ã[Y!2€þûÑ%œ–ºðÌ>ûºœ°A*~m_ &`gñx_,Õ=­FµŠ€u2ÄØBCœÞƒþå Þ.!0í¦Ó;6ˆÏÃmâËõv |??íÙrIhv¬£6ω9áÆ„®vt‰éž‰½|ö×"Ã}xq½+1ÛÌWÝŸ?®éRjß³Ð2”Ö‹î•6™þHéz¤dìªójmÂàd2Çö ³½®yŸlÚL2–6À5Œ“×›÷Ïdô¨ÞäH·­.Í UmÎ êAb×Ûó8Ñ-¼ú’ôÂ:–ûܽJ@\A©„LàÐWòK¯¦~Æxa9¶‡¤Åw{¶2þ„ê¶ãÓÒ Ÿ¬ÔÐ@¢hFd;>ãOµŒ/‘°T‚îÌÚפ!W#RXUZ^õA¹náZöwøO‹a /^æD‰©qœËnYjû·0}a#ºµ Wºpò^o¦G7"gYJ=ÚqT_Tö#‰=G0lSÖ€öúu·_ëB§¯ú¾ÂÛ0öêz¦Y4ù€Õ>Òó²’wN X$×륎5Ï·ÌŠÄ •åô: nœ|„k¸…ëJ¤ÙµD@›’oÍŒl¹ÒØv¼ë³ÁðëÖ¸$óðUÐH™ë¥¾«Ï®´ ÒÛ®jû1e.XN’öv 1Aô„Ëޤŋ¸o]:.½ÿjÝsÒHߌRÊìqªxÇæi˜¾ÂoC1»Üõ‹KR*…¿pY𙯑ۯq üwGù35õjˆN¿˜_Õ¡I;Ћ¸¼Ä:ê™’÷WL"徟üÖÓ”Qññ%²ký Å-!& Š•z@ÂqÄõ³Ó¡GJg?L¥FrPûÖCGãN•™ã¶S‰ñò=ËwHÜPŠü_YÑnÿÛ\žé_ÅGb¬™áƒb„/ŸÅP˜`ð£_Z#›Ø5¶Ó^¦NîG,˜!KVƒ5ªß/5”PGLˆ(d$iÑ[jú¬Nz†)¼æË"ÑKÖn´¸HZö¶è´Í¸[ã+ƒÇòÎL®ÚY_Pðt;Ø>—¢Çì¨ólÉ»ôµ£ÎÜF˜åä+ßG0«{–Sïæ¨tRE“¼0vÍL÷«S£áänMHzžã‡\ÉX¯WMõ{Ô.õ% _\|iVþþÑl š®[iÜ‘-¡«bƯ÷ 2v•µÓÙéÔ²óNûÿÉÚüóc*–nkZôµÖèÁðÒ<}³?‡Ûü´ö3LøF“ˆSíÏÁ­ÂÝÏBãB~GÖ Ec±gçÿ•†Í fAL‹­qŠ%+ãF×mŠ÷|îhGÏòöX-ÿ©Çñª‰Iö«8¸^’O’ÅŠ(úki^ÿ×OÛ^±vi·ß5<ì¤ìF"&(Ðxð!ô–õŒº¾PüÓ”—î€9EÒh5àÉÿ€iˆPjMшJôZæÜ|%x%Ïœdm]OMjT1éO­ÕÅ&†<uŽç ºá7]¢ÆxdD’ÉÊ{K³;q±m‘`ðEࡉVûøauîÍ2»…ö–4F"ì8«¯{ÓI$ýsX‰nö 0Þ4ü¤h¹*p©sÑ‘êeâÙÇdÜé)P˜¹Ý%îúéÕY×džò<KÜŠ£ œ£_`‘¯ðãËHœŒ¾a—Óö8ÿ/•cLܺ:HÆv5Æ·îHõ‹‚-à´Óì'³¡í„QРà Î ÕsÌ×{}«Ÿ€”´®“ôJ/é}Ùù”jαZ[Rìbuñd¦õ™ç­xôŒ™Þý ›RäœÚë·lÉj’ ÅQ¾ˆÁë4ö"ÑÒ²èhº­ö–ÌüÑ\‘##×u¼nŽÌðóæº´ó{P(Ú-ýmÌÇ9úÓN®zäÄ#®é¸™YÞ3à-o‡ !¦¨[bgòÙ²Õ–N(œO£a¬ò|¥y_Ö‹ã›f-|Ñ«ÒBÒOëuFª¿vÅqŠÙdBEšÖ&Ls?½Hê”Þìèå#9B°Êš?ÐAÈ$´î;?up¯øzjFÚ g²ŒhYõQK¼ÍAVÓÖèLÅ‹\Ò2áæjÐDœ¸Ë«Ëp´H9×öôžO2ÿ&Rùì<Ã×sÕnYÚß#ÑéÀ­r…Šü:\¼†ê䃱Îó…Ïþ©vzxR™½²žŠø&E‰¦ºgnVì&ÐîÚ´ý€¢ƒÆ±µtòNMwöð ojÇ%‰â|kî(àRF•­¸¾hûþ¼´02ôÆn,Þß„Ø-à輡\WúÖ]cÖqûÔ_™FПûçÀÃQÙ;Î#iìS&Á1YM_ÓOU„oT`¤ ±xrÀx×€aÖ¨îá>XPô³Ó•7lpc’V\+R³Häö•’å¹ýƒ“씟içårnÄaJ”c™ûŠœ%Èw·ó-·¿=µ}¸ûçÀ2÷PMò±B—óÀ‹tƒ¯åwAX¢³×E_- 7ÍÉ­Õ†KÐ;ù}í¡Œ$epêªÁx¾å†TeGk8ín§ÆH6ßüÿ~ÞÁ£¼5Ä¡Ï8?²ªòŠô¶ŽGóO® —¨‡=±IîFË>Ïš'#³b7é…‹hÐçõíúÁ"{tëV}¡E‡xdåX†•õz‹'ºo_m”„Zo€ ìɲ6|&hc}F܈¤{6,l‘òa_d0¬=bðXŽ—7.švž‘äI zÝAËÙ§:^°AÕ† Ãæ,OEû^ˆ®Øšh—!+P_+ŠHü÷°øÐù«:ȼ‘hAÑ\ÃG22Ñ$ì%¢ã­Ø]¡Z¼4žd,œ1Ê£„|-Š~cÉ7P¦Ù•Eà#ƒØ[È›WiÇi…¡xÐny˜°žºjË-S°ô­©8'5°Cñ1)㘠ý»trß–Šl†Ý¤šx( UÆ›OE~­<ƒÉß üÖé8¯´…ÐüÜêÿ`›WÛà ¼H¨V;úÁ[^§óTݶ4—½¬úÃ>ý"‘k',eÖÍ% ”Ú¹´†Jq=½ Ù¦ÎA烽Â;\suôdD HqÿjVÃH|ËÈÈDæð|í;5ÙGEMEdMÏ!Ѭ®ë¿ÑmùœláÄ~Rj„KÔdIïNÙxõCT]QÏ=©ëŠIVyK^-LŸ˜\!2-mùºÒ¤Nl|…¼*|oÜ †»?ä©bkä×N© ó×3Ÿ=9ºÕùÔ·DÄWPÁoÍ›y; Ôz-žÓûÖ ¾9&Ú¯ë"‘ÓRÏ/à–TžpþßJ4TÌà‘2Qžç¯mÊ úþªâ˜Ï<×xƒ4ƒ£ka¾CŽà౿^ד¢ÿFº!c3:ÒÛn'„ƒTZjÚ@Ùd¸¶#G½Ù*èRQn‡'S绎Êrp$Ñ=JÚ†XÜ·¡ /&®R›øŒVâD­|L`qACø €Ì§f±KñùHtœMöZÌïÓØ"Ž &»£‚ f¸Š³FÐ>‘,ÛkÕòPÂÑo€ls9/Aû #žQ*›M€§X ¢»ZÞç‘© 5­CÏéú„ƒÄ²Jƒ„„0Ò­ÎùñÃñz&ɹñXß“q;…ô±ŒŸº‚´Ýàñ•C¯jDnøœOL§¾CM°0@£¿¢$+_ì»F’5Ó…„}J\h˜J9r>H šu›ÉÖÐco¯Æúk|ð&ËÚ×f?,%ÿøÙøºÝ1©™r·ºZƒ¤í³„ºš‹%ÚNœ8Õ)½)“¬Ã­ÔÍ:pUØ@“jRó p§kjÝ:‘×,µ¿–§¿²ŸÏ ^°“¤Çó)IA>çUæ=¦ž–M×J”¯x)rîmõ™ƒr0nÑP’ñfç|'K-Aæi…ì4ê]¬ Í^éÎÆñK.Ï@‹ÓWqöéÞq~j)-À¨6zm–J‚ `T¼¿Ÿ¸±§‰·)nIù…SÄ ¯ñÊ1îKW”Ô5iÀýÜAëŠÈ1“OžÎµ½’{)M p«/¿¬~õ=V4ÀP·ƒØã”ô툶ã³m‰ýœ:0°Ï»Ãûéñpàà"`È ¼1m‰©ä©´#z¢>—Äëdé35ÈZXaÌežÉ‚šPK‰¼‚•GEtSŽ?6þ®á?ŒÏ³sP­¦ˆˆØ¼Ï‹9·†'/¤VÑ`X¢êÕfa“&ŠI¯#ʹÂL³)lƒü‘¶ªå"©ãÂè-½¯¾‡I]%Æ""Ê6ÕHŠ}X,SZ –Ee´Vˆò\½  \Ll*‚¾F(’½÷b4Z™"Q–Dm°t²i‰‘÷%riàÑ ¯ùªÄÅ«Z§·tC“CMÌhƒÔÅvGÀk¬+FÉW/®Z„nFæ÷;znyËŽ¬8ù'Óש«o3äMmEjÄr «F޵‚2Œº2Æ€q£N(  {‘>ƒ÷–iÄ ­‚"Ååüàwp ³°p$ú©»âƒ¤OД×Öô2$¾Aósˆ‹Ú®A’·ƒlœ%¢ñíóô§nß)B=û$ÆMòF8õamð&ë¾ï÷ʧcüÀa9`œ'߈<þ³öâUj’*ÙÉéÇË¡6ú¸y‘ÀËnÐLiPÑ´å9Ø^_J2m»©Øä˜o×SŸ¾ó’¥"HoŠsóR„û)AËMÊf²˜ßtnÆtÞk‡‘Ãa8mDâtÍ+ð8·ð²’3¡ó˜Ò3€þÒ¸W¸‚Yš‹\DÊð}Å‹jÊá Lx¾~h³1´®!¾}£Í*2MÁ}àU.UÌ‘þ: TÍÄê¤êësKïïf@NbWDÖÛ`Áú{ùIù!sÍ„\ ×|nˆ‡ØÙC«¯ÝùÅ4¸c§ê}‹7ñ<)ïG¹:§ ûMb(æóš£o»ÉÏ3Šô<ó﬎E}«°«‡‰|·M¢ºJgF2ÆrΊšD xäÅ0±oÔ—6擘t'Ÿ·FmSÕÇê=€bŒ‰lúÈ\ŽûƒoU6hŒH^ñ>jÃÎâME3GÊ=€ÀL#”bzgÅUË—ì]bL ¯òÍë[ëÝl•Vö3E¾§ä¬À,’¨…%}q¡:,¼Åfʹÿ![XüC Î&jaÕ<õf‡'p‡eÉxúÿHá•y¤Þ¢¸ñü@ã|&š"ÓÀ'0Våo|ô¤šðDÈ(øá4Më_|ÄïƒY(¦˜««ñÓ3f¨e6.¾™²söu–]ArÁß½Þ:tó.…pã+UBªÜÜo3“ym#·ºyÓv ;TàíßöWÉnø2Â@íZx…ôyTaMã¹o=éu*"w’w¿Ò8¾¾ysý–Ïp “Ý2h?æ/eQGn;i\‡ ŒŠ‚Ó+Ž&Oí Ëa#­X4Nu·MÜ<,u õ+É10nÀ¿xÐB†}žé-ÁV»3åt ³±ÊÊ/˨<=¤ÍÕ׿§ù¡ÖN$¦ìÎ66¡‹þ1²<Ð7ÿ؆‹ÜçC¼:8šßÀzåÖ¹ŒÇ›Òƒ2¡Á±ƒ?JoÉ éM³ÄuýêC'_E1¬ÒLL ¸)xýFüºfGntÑcj<À¢‘˜MÜü¹2#"K$;¦È9q¸C˜$⤪¹ áÑ¡ã¢èÍZ!nC©u'3–§ÆªÌ²çø\ߎ(ð’7FÌà¼øöL$ÎÖbj¢ >ež˜QxwºE DÕ¾?Ümˆ~³`¬”VÀ¶ó"ž‡Q걿vÂ4OE|ð2§*#êKdZKCú´öž¢ÀÂûNóÆ“GÏ?–ƒÉ¬/ =ûŸ \KçFF £´©¨i/|Êð<à1\Ê÷C«¿¹Jaà6jY5”ÉCX(ìëArÊëî·Vß 4ä‚â™eeubyÜ:Â\–òäx64'ƒ1otWúãCtEè¡Êžî¹@žsÆSüôÍËo"."§h ¬\}Í;"¦jüüxÑ-ØÚÏoš8<+%Rá*F@gˆZ%Ë?W­ºlù’éS U$V‘E9ÈZÏíˆEL(ñ×á „Qýdwª'< 9£­Rb‡rc¼ì Þe#–¢ÊVÛäAÑ/žÕ¹Üʘ`WÙ* ¦ºr"üã@­ —í/‚KsfWÚëNÿá‰)èRŒãȤÛ1É©€Zð\øÄøUw'÷óﺒ{Läç°â%_fPtƒø£êXî­8 7íˆ|ÐRì2òðòøtr2Iº{OΧ+àÖzØ'#wjÑ­‘´$õl!ÄB¶¹?ÞÏ…Vø³z"$HÃÛâhû™™Ë,˜:ÆyÓÇ%VËZVƒR j[Ô¨ÿºð’Œf…áò³mí(çˆ$Ã*h¦tÑ»S¹„²^ŠúyO¶} â‹ÇCÑ–ÛþFt èkœ´wC ù#<àÙJù.õçϨ §6YBÏRŒL~Ãü&޺ƒ.x÷w.ð»!‘wð-=ú%+@"0ç#Á˜ñ¡Å‚w"û«­G{Æïà·vÀ3ç´IÒþ»Äm¹ì=qð<C?ü¸w1¸ žäÎ Åi‡ ¦^‡âw´@v/VeµÙwÖ°ÞÊÛãÐT(—lëÒmN ¸Tˆ®1ÁÞÿúý'Òž´ób ¶Y‚öˆSy‚Wä*, £‘›Rsö|ËcWõdÜX—.Åá“ XêҦÅMéú¦mZ€;Řp±Gøë®Y1—ÆÔöL8~¦å’U)qZ3^ý ¶²E²†÷±®½X@Ig«äÝÖ¬ Â34 ½›ôè¢däïBÉ'mÍ^íOh¯‰s+¤æSØ>Ä|Ô‰äëQ›¼§–—Â_Jý»ÿD¸‘²JÏ?^·s¿¢ùöÌuÓß_¨ªøh€÷úØøÖ_F4qFJëèD€)0‹ ë¢ùpJÞ€ʯ€˜Wè9#ÎåxœéwÆ~”ºÔ¸:ƒ@îèï ¶ªK‘h(ìJ9ú(hê5À«ÛópõË2«†òÌP~V¡_yÆjÕ|8Å•:j¡Ó¬‰‰/J´7’ d‚²ÞÆ%•²4g’q54sàŠaªgL5«Í›U‘žæA|YQ´ +!`§ñ»ò°)0ÀüHà’¹äçd˜x°ï¨Ø½¨I$O@EÜfºûѣÅò¦73[;*ò%Yjpá, ¶:°äˆ°÷ÚNVÖÓÌTæAРÈ.î@fp€$!bPà1_yîB¾¬nÊ'( ¡ÉŽL àñÞÜæÖ&}ú.jÐ…5ðå³éÎ1(c­3€ˆÿ§¹GøÀ\"óK(Ÿ8mƒ ×îršêÇ{f'Ž7wzs¤Z¨ üp š¸rx´°þ/v;Z¯æÍºrˆ>‚¹†¦Ï74à—Æÿ-[Žs›eRŸ¼'ã9t;›Iù”Ò²@[¯ö›ãö#·²[ñ`«¹õr#7»¥V/Ç3 ádÍÌóº¡Ê‚Œ÷7ã—ûÏçkž÷ €Å5¹ÆNïš7+ºÊ4}I…'€­'‘£"kspzÍ#ü˜gWÖƒœº? ,¶†H|Ñ'^Ì}¸ë$LBb/)KË·é8³öθf£SŠ]wDíëÎ8=«)Ïx+åëïx"ž+ûZxm§(Ãp´—˜®Ò|Š»žï-f"¡o]¸†ÊñÝáÕÍQÖ¼§D˜Çì1oØx미ð)Üï©´í0<Î+é¾s+øuéÐoT=¥}L’{Ó•óè×éœðç`õ,b!AÛ¼W¾v#2¢"‡‡zÔRú³²:E‰%_}MÕõ%4ëÛõLÀxá•+¤QùÒºÚ~åÃjÒ§¶ÑïeÉmžî’îðP1Ÿasü»Ñ¬ö{VVsÅòòéìa'a3âZ‹³m üà'ršø$ìeåÐFP5þ¸©5¦ ‘o±~Xñ.Á‹´¹ð[ÄJ(–{w§@Ív÷p%êa¨©6ªa{ÒEWô„ùÚµ5ÿ{bùÀ»Ni„ ‹'1%©º[ œQý‰Øš‚UxC‡ÃpÆZ8BôL$Z—9 ÙO˜âÜ4=,ëFƒÂ¼–÷ËíËSK‘ì;¦\,gýÇ©›–Ò­Ó-”f{A#vTÆ7Ü ¹ö×±2:–Â([ƒ‹†E–¯š~Lhìžk¹í ”Fbí0T'À4¾8·Ï5_ hÛà_W–^Ì×Ê6L‚ÓâI™,Ýê nÛBÜÀñ­7ºaÕnZTÿ‰WÊA !~²:áçíF’mÑ}xrÙŠQÏ›Å~†Ê@“V’º亥‚zX]!kÀ)ÅÀ_y­±Ÿ¾GB´ÓI…Ä»‚ˆÑ¶±ã=§ÈÄÒ4”eÞ*Ò¾‡²Ë—Æfò1tàk›Õ¢Gyß–³Íbqf6Ç•“ ÓHÁ4|ÍOe3±ˆ«Ö;:ÒŸ‹"2t4°´;+%Vɽ:¼&{UJ@v¬PÆÊ_\Š€ù-Î@.ë6Æš3¡áîp$Ô„üF)é^Ãõ±È Ü !,ŒÏ3Âcº„Ž´_2®D°DµØ¼x©P\÷–´h4¤Âã1žŽ—¦Á„ìËÌJÃvTWÜFÝ¿“np%ýç•X=p=êÿæ?ˆ±Œ+)ùΫ]ª…£RòÁL= yÍð_T‘‹8G8WÆøªø~æL/i”š^J…zr²„éÑ¥ŒE³^©°é¨Q—Œ2Þ ¬¦–£W¬÷OÖgÜvçrØz«b6]þI}£·5¸ÙÇ?§;¶¯&‹ =Ü#ƒÍ:,òÙA&¥Šç †Ìø±¦—N§?/Uc×}Tö¡÷_”É] ¡§µ]qHÍ4‚'Lºò=ûK" Ø»=ÒÛf°Qb™Ë:ÇE ýÝ7·µG£ùÿ¸xøqbhdÁnÉxu+z‚ÓTŸ¶†z? ¨r­šÂ µ„ˆaêjý,Á@ÍïÉò3ÃôäçÖr S‡°n¹+ßoÇWXuû-ƒ#ˆaÒ•¸N8D̘>xé@¿j-Ê7ø”bÚkRÈàÉ­K0ÜUL=2=‘S?rCÁÇgû¿ÈÕË—ýí[Óš| ÂÖùrm@#r_òj¾°vœÁw{òÊõBM}ä.7k¨¹¯L¥þ%*{82dZ]ÝjTRi(6 ¢‰z˜úyû›ö¯Y@cÎ_g¤RW.ú/Ó§}ÛgU/ŒgnK…ÈU™Á“+0uêÈbi½,è¼WÓ4ÚÑ8_×®Ù–ð{L|øñßusæöÝúŸ†à¦ïcè!›ê±O1h0r²˜ëÕçNÆSœÆ#/®T zú{ÚÊm“7Õžá.}æ)3žÃŒ+Mö=˜"§¬a <õQ&8ò^Ônëywµ/ÚˆHÔÓ0æVÑ÷äuYZW‹:Ô•ý_Š5ׯ¨¤¼ c"1Ë [ÝÜím€Í®¤nÍm!uÂO8¬@ú”Q´á‰^Yélj²#qã{íÇ8ßßÈ¿²·ºŠ’ÿ®¥7“…Sáq‰Î_áwki¹7ÞòöOáE±ûÜXd}¦¶¬Ô,WÓÄK‰s€r¶r,È»<\OÕ§S¤ j%AÂÉ*T¦êáÖy˜¯âá~…wa=ïTÙFT¯ÖäÙ4‚–‡ºe–Š æøô¶Àxï%+Úß°.imÜßãWÅI4üçˆ!ŒHªS­ir”ÊOlt6-!pt]'OCÍÞ(Âd’T˜46­ue–ðUÛ7œLÞB7|f¸dp÷T®›0£Øú˜ÿÉ•hLåZït‰t…­ŸÔXûG™D·ä‡ÐñΉ²ñ{)>صà ÷ hÏrÛ¡ÁC‘ȰêFMÚ‘¦±­Jãý-å½]Ó$U¸aäá¹ÒºQÆÏó=Ó GäÈ~ñâRQ /è™Cx玓¨z5ŠõjÂë^“ƒ%E*õ–Æ¢šÉ“¾+ž“nQ°4Þ̱/²Y±Ý¾j0„» ¶eh .Ö0‘8«0®@ý^BgÜë™B„Ž}V·|â0œØ•Eøë@Ãz.ÌFçÃì¯Rw^ž¢MòVœå3·aRÐ@¡‡~¿úåM '•]‘}ƒ¿÷}%]@•,ÓÔ÷R)¢Fu@Ãâˆ}ÃJZösày€—õÈṙÒ-±5Td—Ÿ†ü@û¶÷í­20£J`ËT—_ã @ª a èò«ÚF[|aÏþa)á¾³ãß@ Y¿ñ®333@ÐÙ­î Ø®Ð`Þ±v€'Ïœ°êˆÛ$T:£Ú*8WÙFÎR´¡mЪѵ”;; ·/ „´é¨…”صÏT#. Àm± ^žŸh :¸ì)C’ŽŒÑë6G·º "C]h€þªŒÍE „qÌ uªæØçƒ$…B»‚/åïè~LŸÉ«‹†L¶ Y;;ý‚%–’–+ºº„Ÿ’Nâž°Be8)Žº*¥Yrƒ>ß1ÖÚC¯SKögߦØÒ½å7 ‹â›‚ê—¶¼æ²,Ì=õT‡€Y¾Ò$–?:”›ÀÕ—rÑ{=ýó˜¬F]0‹ P‘›Š®¤WUÌO®GœÍ€oZv[o¦ø·ˆó|¦9éªcŒ7Ÿ 8>ª$ Ébw톤 €{Üü¼šÏ„2yD@[{À6ƆG ¦ƒyªë6MR~Eݦ“8wÕZ“-ÌøÊy+u®ÆÈðV?LÞýÛ²JÞÌú¯Ò><óå,‘å@Îú¯á‡š¸<ª>|ÔòÔœ;žŒùN°‘S¡qTùÉÇEǽw‹ª}|ów+s•:y´ƒÙ„¦Ž"pרÐÈ¥·F/FâŒ:Ù/¬µ`À­úÎTŠ)΀¦[|¼õ¥äqpNˆfèéFs03¥j‘s5ÚŠ—B½®º©+—£Ÿ±ÒûBœÒØš Îr¥K²ù½ ƒOö—qâô?ŒËǫ™ @ŽŒD$“?kîDnڶܨS6 >ÊžÓwªÜWN£<Øq%÷Ìö¯4Àƒ/œž¬ª~(ëgÞV^sÞ@;øQ7œxf3yë4~©´3°ßᔕµ%JܦòycKR±÷/¨²"\mk‹­Ðô¤Î…£ÀhÁÉ“S©ÃP b°u”^ùq]¼±¢äŸçb$"ÊSÜÁö? è27§3øÿŸÃ¤†•ÇÓœ//L­„>¬÷òå‘“ÉU®°{À‹Zd¯ÔUNÝÙU *Æà^ŸýHCn,éÄ76%gOBþy¢ê}Tx ðéaÈ Ù|²Ý³¦ òL\•­²ÄT`ói_”¹Ôfà¨Ë2¡µ úÛ=¼ÿŲ6ðŠ@…#óÙ=)ueÁ2]•*ÖØNà w:~ Åõ b’|¼×¤éè lS=Ró:«ø:<û>Dð˜A‰Æç[')”F‹ÓÁ25œyDá‘`%7îC+쀉\Æóí:'ÖZVbo;ÆÆò^ÂlH1`Ò~tî|t^ŠqIñ8…•p É ¤gïQy9^¤a ½ìˆu£Á@#Œ%Éú4¨5oùÀ™ä¤ÄçV*UÛîªËd‘‘~Ù™>šŒAš1kTÀ–Qxâòd‡TòÈ­{…@þýB×ÇÅ€bÍÝ»dT‹…ê–‹ÿ͹Þi¬‚ºàÔaM Î2'ÍÁ µ¹w!ª¯çLŦ âôɾ=P”Še~Ö8Éù™3ܽ²‚ü__ç[_ë  c ðuÕþªŒf9‰PlП&à¾U>Û I îsôÕ"Á²¥Z%–ÙÛ4ûÆzp‹ƒtè÷àˆ,"ô ϲ¾Ç˜Lnô­:Ýhcí¹×ò;j4¬íÍÉÏpœÕZ(Ï!ûRP×iIϤqs¥/Ã:Å‘k"ÃêºWÇdJ²DÂÖ¿ $—ðw”È Bó˜ÍʆJ¡Ÿz¦Tÿ‚T´¸"]Ù`4‰YK0ˆÓ™5<ÎÒ´ÃHCo—a¢ ìatá´åð­2²[¹&w¬lçÔ ‡ðAG{ ^úÙÑÂMài$ÔM4kû¤UŒ‰?h‘j§ð2t<Ý ×ˆ ³5Ñ™&.-Ü$î½·Éö“ô“A·¤ó x…)náOxÿË?#‘ä™o9>î?‰Íël][n.5;…‹þ‰¦Y,ÞX®ML bJÞç6~†è2Îù+¢—ÕEýL4ˆþ Mc:öG÷<ÄM| azp÷ݬcH¶i;D¾‹Sd€ðäÀmyÑ׸ºM½¢U¹aC¼†ÎÈ#ÊÍŠ KŒ†q$Ê£ÖÀÍT6¶­è›‡æ†³cL# `|Ùב/TèLµÊ–KŠ·ÃÖú   @ÀBòo N‡í áÑéùdŠäJŸ…oöÙx‡±õ~3ÔMŒ£ÝLyàIµKœÛ¢b/ÖÆ®&^hÈ{12ñk-WÀ TòoV.h—–ÒKGòó‹ýS^§ú´ùó£ßŒé yG’+èßð9DÍíé5Ax1©êé1T°¤œ†åSñ4eË‹vOe‘Öªnï–i9å±=&#Q;nëÐ× x Nf9°_àŸ$÷쥙EÊ*:Ãè+¬ë¨6‚çÝÞÐ÷ì©ðSuµØòÑ£uÀŧna-ñqå˜,™ey5|n$Ào&Ü?d¿2X¸PÅê{ñæíïînÿ'$IÕ;ïÃ\q©šb­­Q½'M)~Ï1í´çlì'ÑË”†ßñ¬m˜ì;Œ›«õL/üDk*vu1‹/2ÝÅ¿d¶ùG¤X³AE¹g „ž;9=$žf 0 -5)ˆ¬(œƒAh…¿DžZ\¼Yîu*4FÏÑ€†™Åô3“ –DáE³ñ·è£T/lV.„Õ.J•èðÝ$}dÆí L4Ó)o Â,zb>WĘGâúv”"qª÷Š®xkd5ÈS»©<èbã¾H+€ÌÈùøleXLï üíûá‡ÀríŽÞ½üAªÛcañÑɶÀé§®}ýlwÝ¥³JŸÕôÔÀ@\•  èó®w¤¨ÃW Í©¡Æq´BÛU“~ÆìTpK¿ü³ùn¸î«à|£ ºGM:4l…êƒ:çÞ¨ÓÀiK¼õ %RX˜PtG77MWÀ‚Éw+Y§\ú˜8ÅàÌÂ069žÜï½êÕãKöÔbŒaÀÎ[°:ÆÏM¦ll²M-Xåí£€Agàf¨î©ý¨)bD+Dcô!Û¤3\‹mêBÖª%;N²LƧý ÏØ¿±/'ù¡hQÛi i¼ôúä±Ï¿xÆHÓoÞ¥Ç>v()||p~o|‡ý “s&³õQÌézïWø‡Ot½;ϣȯé"«çÕ¼ÚzézÇœõ­ )öµ`ÑJ™“•<ó¡ý …Œ&Оu)Ñ–œ¼åÄAW–qKRTëV.£lÙ.àA‰dTtÆ„ƒ›YH@ô?äšÍ{úŒBÊR¾4ñ£ŸP/."÷k eJô\ž£4`9b§ÔËŒW6L“¼Óy`ÀŸ‡” T;Æ÷þö¶}ÙýLe>Ò${€ã—3³» §Ÿ ¶‚â;ÏH+]K2Ü~Úœå%,g˜,…(”¢*i¨àNrö.¿¦e¼ÿÏÊA`î:mð4ü[g('ÍÕAÔßè4yŸ ô ´"y,PH rFýåÂ}A¨ŸlﱨIŸ¢8h€ªæÀãUœF—Q KñÆ 2Ζ¶|X­Tãµ{ Ÿm”JCaA ɼ12â¯ÖŸ¹IåŠZòü Âgl,½€×«ø_ [`ssfiú2V)Ñ8ªƒW¾»®ÐÍÚäS°kúŽŸ%ÖÁ“Èt°PÉsY³+[ovÙvø€ë½åÎÔìCГ¼ ÄLOD&i® ²sX.tퟻWÁz-Ìë#â:»×DßÂÁƬ-ÎçZOÐP~½ë³Y@; dÈÜmSÇIýÎö|V²Í/Aø·›'Ù­ÿcïÆ ¯Ðì&7ÄU4ÃGH^¬Gn‰ ÷lí)Žßéœ*q¡•ÙŽ]°F-þne ¨±“"—æõTCiŠƒVR¢ïKÊÏ·-­þ1x~Îéœ÷š÷¸& Ír“=LÙ³NƒšŠ_þ©F ;zN?|ñÛ‘ðyXk,ýœW¾@1¼ó#éìAŒP÷€»#Öµº"È&7ý¥,Nõ"æ@¬3Ȧâá¥ø¶}‹õšÖàMf~rcìE6S÷$™Ô$X¼Œ’¥cÙã¿æ j±dµ½sœE'Æ%åA óÖ/Ť ·é¬b–½K8¬Çæ½µyj Óqbý6òQûÞ†ˆœ éºÛ‚díì½ó©>hõÕîì Sل̱y ÉŒÜ,Ç7eB¸ æõ¿5m½™% E}$–ýÍ(ÎÍqy›N,‰ÛB%ÆÜÌ@¨_ªu’Þä”Ý4yòñ¥ÍHÑ;ïa…€obôUqI²»M׌€ÙGé@?sO2Ü:Ù|e"Ñ*Ç'„N¶r¡%ýŒ`f/$C¯€9Ñ,ö¾¸Å‚… ëPá€éEФÄå§±¤µ8i\vÇ7Á£JQxŽŸ¬ŽR¯Š)¾{Õcž(%>þøE)ófÐ…¯o½VðßK´.B LÚ|¦÷/ *ÕûMÁÅóz¥ÜãR,-r²¿nBŒû&þgeÛ­_4•ZG´ïõ¾‰Gý%ê0­õ¤ã"úBç"ŸÛ«ÿ áØÜo…²Vx¢ßÚw¡ÄÈõ°ñ$þ…3F<ˆeHâÌHš+ Û$}uÅnÓT_¤EëéÎë¥öÚÎgµWÞ|­Ê5;~€Ÿìͱ>†4ÔŽÒRk ºnöPKa ÝcÞ¦ F`éGQ]–´Kwkãêë.•»¢ÚõuØ4]8kÀẻo™e.‚ V[!éÀ·JœØd‹ßÖ#fé›Ë"]—Ä0 ŽžÇy~⃳ŽjX¼@;s$‚÷Á—÷~OÿÎL0NΟ)ÿͮق…±?»|ø™ô gÊÖÎ…o‰À3i7)Ô‘é¾<ƒ}¸+}TÞšÖ“æK”{ŠCë÷w²¶ÏÌôXß¾cÆ£1àöê¢>.$Ç…¤]PÕ6‚ùtŠÖÇ/îºcµ¹ {¬^?À ÿnVåŠINê HÁæ°l#°­‘q~½HDz-Ÿ ¬^QS™E ‘°`Õ¨æº=“Ý0F°ð©9èé!}|¿ivŸÒ[§¤$öùLõ2tÀ5T%†þ%ð¬…N×ÝùÌÿ´ü<—+‘½ÿ¹ƒó¬f2µ„‹Ž.D@µ‰zâ|ëãÓ.ÿ nô­'p1Á¼kËhľtÒ—k¯3-ües`.–rü‡_¼ÍЕ‚›ÙÉÇZ:/> “0œ¢­Ç¶!Â5H4 ’Ñg X #_+¸¬“ž>,q:H×߀Í4OûQ¸·Ïz˜²)n(;^ Wu%žx$ѶxðèPfÁzÁ¡ñ¶Þbƒ_?œAåóÊ¥åPC‚æf7azмÔÅ…€Á¥Ñ°fÖl88y¤™äm@²&L¥÷¸É–‹Ls­»ÈX3æu»]gùh&®þö”ÍÃCâ çÅ"$Ž/}„ 3—ì{ïœbPœSžàíES2èÕ¯¶Ð’ùO®A×Ãd:¯VÇ€Fñ)2 Ñöò†LÐCö<Ï›¶†œ¾—ynfE“¶å”ÉlÉ­¤m±S#e°¹JÛ ˜¿¬sLJùž³4­¸ h&ˆ¿*;>IÓ÷Ċ3S¯Œ›£]úÁ@ò«]¸AxÁ·mzv—3 òÚ4°~î¶òíì woŽ÷ Ý­8e`Ñ;úh á04´jFLßU[7IE\2(zbÓèh[ÂO4eç žAÓiG ûjTø S-Ã9÷UqjWC<à­~NÎçAˆ¹ú~4éŠñru;Æ£c=/1bÒð˜•Gͺ‰º_²ÆÊ ÈÏÀB"$YBæÙocŠ7wmçÜò¾JÜ ] tÉ·ŸÈGæ*:¶¢êïßüXÌëñõ Á£ÄZÒ0{whÉÀÙ<{“ô¯oŠF¢°m¢wª«ÄüW==ö÷ù3½4Tæß¼AêññåVLóäŠûÍ×øâ`( €ÛÕu½ #äÞêeCN14Qcç@½a+P1%ŒÉÏOºsÅVô·=Á!+¬$6uÀ‹ŠdÆþ$Ô—Èö÷Šm{„nV]8xŸ[)#½VXèêZáHD R´ÏHcq .ß‚üI/ˆ­¥ê’?ÝɲBgªS»>ÚB ¢õ|l»ô.ÿ€x Ÿƒ¨I=òuÊsQE‡B„4PŸè‘C¸²7f aX'Í•&åº*-~`<êãC~kéÓÞ šœâ®_9Ö¥Ÿi"'¯ï õPÉÆ‘ ©é öoð–Ö¿ñ^†:ÓkË[ûØÃÝ–M[ éd²VlûýV2gm’,媪Ž{ܨ¶–Ôå^ÂÐùúÖ–õÕ*Ö6ßÚ¼𦘘FÆRx±=¾âžaš:þ×\õŠl™>PCǵ!]Ó£3¶rŠu“=7p¾P:¹ž\?f8K±¥ÔLâïO¼~:U·}3 qÊ¡Ÿ¿À`$¨ü¶ Ò‰uñ$÷ë1ö⦘DuiÜ)ð•Ò4ñ&xÆÝ|2ßõ³à®þxä1ì¿·WÆÔ€Ççœ3iŽ÷\÷2~qÃ\|7tE›¹ê®ô™ƒ=G=·ôX&Sb€9%ÒIDƒŽ º?'{šG¸@„€Á‰]£ÏG£7[ #9딇 ËÕº9‰Ú+¨«ƒ’˜u“H耒½]2¨|°3u_.§èÀ›¢\+G¡P³™ýOEÊLëÝ!D%Û¹èÀ}¼njKâ§M7½÷sõWrQÖÅIz{#¨Ú†CÑÃV°CÕ—Ÿ9ê,†Arü4ÿ—.²&Ýlÿ8IJˆáNM~ÊOÙÜmï\¤Óæ÷±øœ¾z§%¿4Ð(fݺþF¥ ¡(®}«suµÉ¢c›LÒáâ¥%a*ÍU²‘2Z ýÍg!ÝBeª˜œmé]:VâêB¸…SâzæÄ;hÑ ¥ã’o8 ý!#(Çy)‘¾†î:D7Žßô^I¤z½yWVl5…òzôÊe°‚ÏÍùzè­69ÛrL~Bm–=±½£r®mŸå 0¤SfOŸð [šýŸìO&tWH‹*Â4L²]ìä3~¢Sù%\3àå¬ ëág©ïi]?à-8”.eùd¾õì.¨g"ɾÞÉ%•Ì_H“ ¼“(ɳëÙîk]Fß–T£´ÂRYðœÄO²…Åæ±sg!¹t8’§è³œ»Âüs—/Y>´h`6~h”vË Jºx?5ìæÄ0Y‚ i—½š@SOö'¤ù‘Ÿ–L;\÷†DÖî49¶h â"*5¦‚t7çЪü¹;¸1=:è(v·3›Âj¿3íÔ%Àf¢iL1T{ðÿ‘€† ¥‡™bI0ðÆè¼uÈðà˜· oïäÖb—¯ð§”P@l¢WQê;¯z,–*šÂ€üÀž£ÄhmÔü¹üð‚Ñ)—é¹|RZKÄ“]ó)6¿d.Œ)fôØ_^ÜúÃÅŽM!“¶Ò Ë«Äãc4½—¬H!ÓyÀ!µñ¼5746 ³ ûª>æ2‡QZ³ôÔÙ)0ÇЈ1d%Ô…fÅGöaS$î9¯Ï6I²NQûl' ¾!!6 çîïùz¸@ªg¿|¨¯nI‡æ;ÍšzbáÚ‚6¸üž¥DÛÍWqáxåàŽêsl*J–<`¹¥#DMÏ´ç#J¯Sßaµ29P^ uÃEßeE™–øëÔ‘âHxzËH øK%Kɺe¥Ë +Ç-:èÍõ-õ¦,_‚=·Yà6éqNöxø–Íj£Á.;ÁÈHàˆ»"éÞÀMÎ)ëJ÷ry™l.͈ öCÒ‘%1 1 }'“ì¡§€8œº_&¡èÏ>6/\‹D2åÿ©q‰:¶Aú^]Òç- 3Õ³8}Дe®` øÎ{eî>VE5üÿ%b¨é)'rGn$YyÛo2¢J–>3’rûûÂSÎ ^ ÛÆ]¤ƒ" ìãTØÝ{ÒC; ãÏÍ å‚vÂS…Þþb€Ôvš/zfPˬKL»Mì<9íÅöCߺsM”\65Âi &{“¢ÁòWÙ´¾¡3Ý¿ïN·6U†T‘o“bÿ°RAsV’˜æ¢ß’ >jüYÌY·G…AÒs¶Þ©}K Ðêßå~[=yŒ³Þ€àYÀ°‘[¯¢Õ´ëŠõ©ÃÅ‚ÃÉ_,*(A9ŸÛ¾›8 ‡ˆõ»Ówº&Úi÷}ݽu_ê¾ruýó¼¢Ýâ w*x+À“û&­c>ÒúE~+ã M­T‹Ë…äwQù×bîáW(«í:ú°v—Ò³¦áSŽ(L:\µÄž]=EÏ zs6úÀ½Î h'Z¯¬<+”ȬUZ‚ŒGHB‘¼-)Ò?è}ÕäÞ&íÄ‹°d'BG½ß|°”hX¶RÙÏ Ôìt€&«Æ"_5’ýªvt®ÛØGYªY\åjÒËæÊ¥©oz¸}ñg¢ìÅ ¢_iµP¿ëNG59éd³ß7óÚAŽÎ¼ ›Á]§Pæ"`FlFï™Cü6ÖiSñ5¤$uQvÁ‰‚`†ÈçÀÑnâôð` Â$ù›{&qf£oþU¨Vá~-lè-O-žÙýÙ~ÏOáŠûXùÄ'†%}¾ÍÀŠÜEIõ [@q˜Âbmãà³hö†»ã¤û N_†ÆŒÓÆ\ï%l¸¸R_e—Z±h…J ×§¬ž¨ñ ‹L‚)05FµâÆ+DA—ÍyE턇»Òªå;{‘CÄ©M 9`®£ÍÑ—kqu¸v–äLD‘§–øwEeR.3M?삊¿ð-ãAçp£ s¡gÊ*€ÅWÎ…§æoT’[füÀ4i6(PÉÂ#óD ixõšnW±þYtšÜ‰e :&Aöïìí dvÝþOjX(NcAÿŒ¨] J &v«™Ùyà´íJ.‘uØ ixs*hZ„R¥Ã´<Ç•“1ß§œN·Jäí <ÜÈs\KxO"Ä€ð³:ƒt𙊸©A«G‰vâplÏðéñB’O¬­÷b ù‚ë ‰ä•MËÄlàå8l´4X†0Еb<ºj˜?ŸÊ³1§$Ã_›-µ,H?åÃÄŽþäŽbáî%ÀäÒ<Û˜²ã Ù½¨›¼ ehÞ34>Ú¶î™éc 'ÁÜÈŸw‰Tå⥛‚æOÃÆe2óóùžìçŸoœ$ÄÊC0‚|!L ®Pôû‹Y%„3¬yU2ˆíñM\ ý]‹ LÖ ¬‰3Òàë™ò$mt×Þðy›Ñ…¾P¹*Á,³ 0†Ò;èI©¦>õúܬ…¤.ˆ ÒbcYÊq»M…BFBvtÄÆ ï…ºQË$>p¬ŽBÎh3åxÁõ.qNR¿‘wŸ¼#¢~í—ßǵ?y¸º\À¡ïŒ{¨¸œ%õÝ é|Al!'½Z%ßð’ëà´Žˆhcyû{¼eìN 5l×Onþâ/žKÕ:Õev—«ßƈlXð¸‹ÿ÷Œîà)A]ãFШ5T³Sq¹F P®Žæý èòÇîZèþî}z[ã¹[p½H5Ë{X°Äºˆ°±ƒJQÏvöy¡OôÔbh6v& ?À +o…ÒÌ7‘`¦·j*»7¼¦–êøõI¤²z­£¸‘þР˹$.ó%ˆ¡”<£>ªGQòï4˜æSEÊhÔ²?Ñf)Ûá¾:Mén×"¼&JK-¡çl{r Úý^Â%0 ç›û •c¬4ÚR)4v•$jÀ4’˺(ßû|O¡KEN¬­ï,¾ œ•¤'C|çŒ óY@‚Y–ø)jÅ…uáIþÝl‚Ùìž6xã"4^ªoúÞ5š¸¦:’ 39ðãoЫqÌlrRO5ö(Ê3ë*C²ÒÄòÜKÁVCW³,ù‹çõNÄI4Mcu+ã¨N’Š\EuÚ§Ì÷\gÑHQÉRºIˇêt¡ÅpBˆäÅëÅÓ.ÿpx7ŸÚHtnŸ¿¸p‰U8¿­Y°ôþ'ùq‰w•©b*'€óU:6äâÊl÷LØRhÈÂÃbÛ=8¡¿'Hí’–&F?ÜO×0_‡$F|G‘Šë\ô;.œ;'ºqAƒ–ˆÅÙU?;¢ÛU¢`\åõÕ1RÇî'qƒi ÃùuŽE x¶ó “H.ÿoÄçšSYKÂrá º”MÇ7h²!o{°•=ºáÖlmy˜HoÅ ¹Î…è¸gÖÿ7Y lêìÍñ‘ÔŒ´…³Âfƾp(¼yŽEoH·IÄŠAAÉ/Úå‹›nÞ"¦ª›†5o™ŒÇ½ ûÀ²Ã©#’ÿ ¬’øÄše»ccRö §/ªÚé^HA&dj )qRîTèÿHdŽyÚªÎC1ì2[U+\3ºá#wcOɉ>Ë48ö$æeV¸ô|ç®ÌÜ'6z2•Úî¢#ˆÅö°ö˜%µ‡’D\c*&«µ\±1`;i'ÙKnÍ¥·¼-aÿtã@QVÐ>ŒªÜ¨g1ê¼S'­ò÷Ò[©³1©X(`/Vºˆ#â|hH&ÌEèwmº_×¢ÝÀâ^ÖÓ±öVS{ ëìÂ6Îaÿf‚½R'&RmíÍŒpE|+èÖë* â}¯£³³LÇÇ%ÁIF¯ª¼âÜÊâŒ×© €à½uQ×þÁëˆæ\ÚÝ^)dM1ÖËãXfqz‡5•v÷A¤`–ÕˆÆôadbÔ:Œ;ü¹(cüLV'zÚµ¿w÷;”¿ªY9ÊJ=i%¿ïçÙDSI£á´´ãyÌIÙ¬M¿FQG"ÿqÃ`ù¦]·vGuÖT¸µ÷cäÁbÚ6f³à¶gGŠÔ/ RCŠÂ(JòEéÒ)÷êžÇ¥…„vJ]!ýüŒhê'‰ Óêbêþ½šcêgl‡]¥Õ¾ Kè:œ^gzf‡ƒämÚ4œžä²ÍS·ÝÁIx|}ùbSúcÑo¯äD´ïrò¡&±åE^$4ëΠ¯p)®.—=p²ºý‰ ?/ª—…\ô7£×iµêÜ#ås6ื3ÊéÍãN\‘`9ÞV Ù€&Çïx%”§»•OµYœ‰«*TÆB;Ÿ‹‘ý5?·¨á<—°ÝG¿)f²æþÊ"›ŽYÑáâ'ÙjÔŒü–NûUϸãÅ[ >@·y‹¯ƒÍ—Ý`ÇõÛ™sl:Iíµ+Œºd¢æÇFÝ f"…Ó`u tž%ø£гÝM"ðÐ~µ-&ãfý]N¢¦æ>ž{xŒÚÈßJÃ! §Ù‡æ«4Ñ4}ý¿iPX]¤÷\Ϲì`97e/ ßÐn÷0"»¼„=˜îµ\)D(’}[åÈxÕ†®)ñÉ#Ç蜔ì5ÆY) )ë6Së“ÆßÃÐö´`ú¿Tlœ.ò„£íPÍÍ‚GýÿKçk d`²áÕ+,ÄGõKC:k-àh5¨Í-Ç*oLÇÑHϳÔí°ò¾Áv±)ð—`¥°4ôïY¾ÿÆùË)®ƒÍ07íɶÐ`/ôf{°_K«lkCΫôä8‡HcØ^¿Tõã o OVö"b ‡ðØ@¿‘zé,hî^ßT³Ûƒ´&Z¾¬'øÕPßL.Ïl'fMo=óÁK9|Y„Þ0Øcõ$wÌ 1èîPÜ‹Ømž©Óö6ÞÙð<*g ΄Ûw……|J8 ~D¥¯v¯­°k[ð7"”Èý¹¾ï™1 ¤ñð⿃ QI3“6zá©›Qý й߫1Ú3 6OÖãÍèCüP±¬fèe³°oÙ mÐD>¼ß[x€.“f¼IuÉ0$êÆFüÄfY ›m!Uª•£”fªd§£8Ò¥müܨ”›LÖæ—­sÜ&>Çz¼ó8/37ó(:Ú4 ŒMÈ91‚ÄCšl‡Y“Kµþ„J0¯=©÷†^Íù¦5‚5Er™3Ð0ëLÚ æmó×ÑÁ¾æ…Ø?ë’ >ô,è€ëó¢ón°ù7mšb§K@ç]Ãm"̃6wÙ‹®Çvv1± ’(/……D7N†@czê6+¦ò1éB1¨,¦{L=Ÿd¶.äɃ°ª„sÖô>öÕ˜,?Pk0<~xçVÉxwÛ,è[ËÆ•év½èBAY`ŽŸ3¹/ÔìH‹.%è¶¥í}›òÁÔ’bŒ@±nb^ª°£CMNÖÌìsPñTÇ…#ÈpIü&¨s=í2·üˆÔ†Ôžzš³™Ç‚.úËÏãû×â‚»ÎÓh&«âVx ŽêÒ_u‡íN ìß¹<Ü(™ñH¹¶kÐ`q\‰ q»¥ <4¤,Ã}ŽÁbĵÊd?6æÜ9‚¶úí 5 ßYvsÏbïµ²—0å”Eòp x‹‘]»øÓçÔžÈ)gê÷kõèáöû=`ík _Iœè@6óm»Ǻà;ÏI§^—M€ì}›ÜIÉ„w†CÞ]äÚåK^[r 'º¯ÙÖç#¾Þ¹BQžt›VáuŠÔ¦Íå!ãõ©Å?Ù±‹ ¥fª`¿]À+«RWªðׇåXî4¾¼ÇÝ~èjƒ˜oÀZ„Ý>M<˜(-g®®žš@ÃŒáÎŽ7þ©áDjąЫQsÕ íü F’(²™¯²…>G<ï¢^3ã‘1úfŽ1.Ôîž¡´ã§a|ó+þ{¸\¢0XÖ Q鬢ÉšF§H_fïn4Ù5{Ffeô*PvÏÌ{àÓ£Éq0,Ûö'Sá=«˜–u(š\*ã-¤É8+°ît¶XB…?âàà 0ý8†æÃWœ– kqºýüeöµAª-Q$GªÏmeÆØY ‚îa×—}æ”Hƒ5 ”žkÜyKµM‹œá6£„qö<81€Å–ÀîùÔ·")LŒN(-„#zF×<'ìzù?YˆÀ:eptÖ™RvqsF*°Gˆ›È ;ò;Ì/âïÄÈÑßÁ™ÖMcSm”~H( ”äi5§ƒPDZy‰H­Èm&N½÷ıIö2Ä Î!ˆÿžâ$Ƨvà^§G¼K\µÒC±‰àë:{PHn« ´SFÑàçËŒ£!Óù ÚËüô‡Tˆ8öÑpÚdjÅydÎá¥][†$î±\ŒÒßPš)mV%™éaÁ7ã†lëåžq“µy'Œ{×>šªª"†ß ÐÃ{d‡¹‚+ñz.mVÐb&mZ´H5‹1É.ï¥ÐŒá ›Ã_â€&U_‰#cÙ_FÙ ´}‹˜&X|µAÃS¨ŸÈâz3?¯ƒÛc–´¨…š¯ìB‘} ÿzUOÕº`ÅŒ2!QHISEÅž³ýéöAÎ3ႍ䴜ª J²Á¨ƒëÄ>ú° qZÎÍÝôœtùÛˆ‚…X¾âÿ¬‡[KSZEC e5¤©ø1=ˆŸFä Åå úhs6ÄÖè“Mø:æq陽‚¶»:jtîFÐ>Ð=â®…Ø%®œój[üÌàfÁÉ:¡Yõuõ”°{ÃQ1‰À­/ùy›­OŒúÃï¸â”áµê&ÆW‹Ûà¹nDÇc@åø½ã:¡¦ž!—­šT8äB¤vŠa÷Ò"Ó˜´3­ØøJ”ªxbѵÉïXÑܞΙ|¥€<°$jôšÞü9²†Có†G‹îŸu¡Aµ¶‚~w<ÛBß° §ær—îáóßþïù3.~­óýcûÆÐ®Ó{2h,þîaÖ) íþNK·ôö§?|Ÿšl3Šb1Ü1ü¨)ÿ9h7ê5Á¢C‡°ž*!ççÞÛñЦb",Wnüc5/ÜRHM¯.vYà%ŒÃn— JJw]¾Z›^€š>ÿ‡²õ TÛö4F¸ÎfýîóæôžW%-›Ðó=} >Ótœ–æ Ñ¢ª*¤àbˆ•5Zz[kvçÑ‘›\¬wb9?ÈäQ¥¿2}û*6O|Ë¡çI¸â-÷_žð¹[ýlå·=fPE;VÊxކc=Z¶½HÂ;š¶º«žpßA•£hÅŠ‡…Y'À’Ϋ-¾F¡IS‰”¦5‹·Ã ‘ ˆn)G%àÃÆm}TGuÇÒ[Ó<¨U.¾–^0–‚„3‚‘]AǶÂÍZÌN¬½~Ø;,S‚ž]!¼!­¿š&b´ƒÓhýW‚ÓÝëÆr¿íŒ•€Eñ~Òdê ænrjJ;±`­mP…Šsf.j¬¢Nb³íîšÄ=Ž`yÀS€aØÐˆŸiö£f¤å,­%ü3rÏx£o Ö¯ÿR%!ÄÇD´dÔd’a£ðPs4ˆ}K”Ú$䓃ÜèêÛ0³Út‚åH]Â(0<Ù,iXve˜u@ 5ùsð(êI{©G5X­Ïg q=1É =p‰ˆb9ÏKHÑETõ‡R­&‹ß?ì8^ãù‰#,†E`è`žeðƵ(çaMh~ª_͹»A¸E%Y|ßw9? àñ;~k1F3xÌJ°$ŒÔ³„jšŽ%ç‰tÓC4)-¼ _µ 4:€¢eèfNÙ5WÕŸë8Á’kXéY ‡²¡î›¼°uˆ+ -—¦d¹1ñÉÜlwþ]°ê‰CpM:deæZ<©=ÙónÛcA  ‰ÕG!6©‡íÝŽ§«Œ†EFÈ#vrtˆ7·™øZ~.PÃÚÚ~‡Ð7š ²ù—sïFFVúÔ‚Ý•E´£ÁÖsà!GõßU¹ûHxªÑöóRßÚî\ïj ³dç'¹½•Y㯀ðÅðÖ¿j)xe•]c32j9s‚M•‰»¯¨\ÝC­æ+?ŒVCÑÂnjv5êÞz{B®[böXò)ÌŽ6ÐÍ‚gÂXÀúõÅjýÄ=¤êÁÎ\æÂx–ä:éöCX…öëžÙPLvXô‡âí¨å<¬%Ô–ä£îÞA“Åãlq0… ˆÓŸÝM{Ðþ÷C±Ý¾>RZB~Ÿ¼M‰ƒe-Ö%uYOÀ>úÈܓɫX å(’°h|[DAn4îU0_&W„Eh0én´k‰»ü/ýÌs‡ðµ¶ôp¯ú¸ KéL”‡ó–9GÏÿ^!êNž]‚ð{jNX@X$?BØSë0¯Í}eØ8%Þé6ü?•âæn>ä;ôn’±}60 Núþ¹H”² 4'e8–ú?i8Å'ÁÐv~EN¦^ÑÛÚ*UCç‘HQ@à ƒUä&óñ2º‚æÒ Æ$ŒÞ¾>j×@þ„Cîæz:º%>óor3ðÔäêÆk¦W&ÑŽº#xÍÔúŒJ‡Ñ€Ð0ÒJZð´²u)éŸSY‚{ªº$¬’$j¨2ïÂRòšL´?ÕxÞwÜ?¨À€Í¾,gw/u™”€Uäæw§Q˜‹Î:Dalh=²X²Œ°¨šk°±ŸÎø-V{à9—ìX\½É 6);ųɥw!+HK& ¼$‰&°Ðé›<^ÀP…©¾[f·’-¤£‰gÍëcå]_ùâÑ3l‡7\##4xúXs‚Œ´QÓÆŽþìöðyUƒ¼¾›£gNJ¹VÔN(ª¹õDʈìÿe¸^*gOÌé¦E1U\#>B¢Mèkm=ÖÕ¯ÒÏÐ¥Ý`}»lì¿x/–ªãŒæ_½hiô¡N‘çþ ãÛ5è?ÆÌð»*OóÝ!†˜ñßѲºæºf¬ßuö¸AôêC7eÝN!y˜Pñ©no™tôŒ\z«˜H©,2€_cÜMÕG(lÜñc±L6Ñì.PƒÈ:êOû(Î}…ïX`C.\,ÓðNiøúÙ21$ˆ;1Bl`FÒb'Ä…žö R­éÑõkäkÒFlJ’!ʽáíŽYB KðTú&{Õ}Ayô %c·`~ÑT÷&ž2mi´% ©ó…¬ßPëU‰óö¾­ŒõÝ•=N3èS¶”¸¢m‡éô9{¸‚ PN-âþT„ëA¸¦÷¾àM˜œA©©<7sGê—ƒ„WÅ?9pòG$zZ‰rÅy/#bFóÉ«…\ËEe~þØ•Ì^øÊ›'±½Æˆ…(KW6Z ÙyG_'wÒâý«f?!Ä„P±ü0cV“~b3²î(\9hÍiJ0o§Gáçh2[\Éd¥ùkr^a—óœÆä"çDÖó^¿kðYßVT–s9ß †TJç¶ù˜u´§A©YùèDÚÕ¸L©ÅOÁÿQ@*¹ˆ%4”ÕET‘ _¢4ió¡ÁæZµÁ~‚˂ڹÀ‡ Žn<טPÔ£"‹óLÚ8š3aýLþW*›~ã¹NMh¨œTá ðù[íP¥º8ã‹NĨZ?Þp’´óîØ´]1‰¼P%›ê·ÿºäêémÖým0'ô"ÿ¬í0bý I,E£î¡©€šr*€««‚øS€]º*ëèçk×·z+Az{;¤jðR€ho]‰[ çrgÎùŸzHo9®Ñî™ÏížX'¡ G¶)qÌv¬3üº£Ü}›z£•¨\”`y¦Òß”†ÁƒO°õíÿÅêYàï*ïy¨Â©$*ÊCáØŒbM·”¯C·²ÁÚÆ*ze‰Jˆ^ ÷F»‡nÏàM¶á˜2ûéçmŠ•é.W®d(úoÔ1Ý̛ޔ«y˜÷Ž³Ýˆ¤!j®óÑIôXxƒQ>'`—+êç?šç@ëþп,6D7žîEzSo(`íÜšrõ=Ì6™¦`š+VV"å Qä5ûsøâyÙj…~j¦SóubÚÓkñ€a… ³·ÖVøébö³ô1¡$‘Ó±(Î/~÷wšnþynÐgr3Q 7†ì‹ù]Ž[Ì×û‘ ü—N¾;ŸÃ‹ZD»e&"4š‘¸tB? åœY“¾".€#¬$ô-n°p¼8t,È(*óבˆÖ#cD­Ú‚õkQô¿Îòè:’ýŒö#SèYÖÏìç¡]%6 „Y{ö›Î²îïyž4qëGçbTS˜_ƪÑ`Ýá÷&ëø ¨JO–i?ãwÙ¢rlœý2Á H“”Jùid ‰„aL„3P3á—ö²û{ VšŒÞš …l0}9ŃLH¾÷nVéää_GÅêýÐ2ÂaS,í¿ÞIª ¹ùF˜–ØvÏ+}66D4€t£pAƒL=§“(ú1uJfFq™ª¥ê€5{ûž_4BÉÓBhA¹ttù"ÖzÖHå¬20éó¯ž/=Û†hኽ+Ù‹‰îñN-Nœ<@*:~‰¥©ÿˆ@l,öRôâß™ãH³Ÿ´ž6-6|:Ë…+ƒ;&ý “Sœeù²äwƒ¾ÕQ‡8"QûD?/b\$Á3CÚ´ÄLÛ‘–öº&Ûå@S/* ÇcâäÙÀÕí8÷¶ [Îþ€~îýFÀØÉ”NLŠŒ¯òhˆµ’ÑFÆã’089ÛV#oøí‚kâ%»sHsÇa²Ò@”ž«ÄÀ0¶íŸT&¾ô›ó?ÇK±æ“Ó£œÓ÷(¿BAxƒSS=sž³ÙÃå·¼a]HÃâ-‘‡Ýæcí§Æzòh1š6ýÑ2üQÿéåBEo©RWËüéÝ¥bý¸‡‹ÂÚQÇ‹AƒIЬ§’è§O0ßf•öËÑ,Ü¢6副1àùýbÿøútH1ɦRòâéAŽ‘lVß_äpjµ—B{¢Wãž:ž+ú­¢’ú6Ÿt)œa4’A[Ú¼§i‡…þóË6Mòø¶…ìŒXÙ/I#ó©üÍ'kÿèÑ ×•àË\& i8Ö1øžh4ϰ”wð<«2´ØmÐRIEàƒÏCòÛŽ3²KòHþŽh±&Æ%ò–ÚpµI'Ih@ÅE9Q eŘÂ!ƒ:î>zjÍ>Ý„JœÞ÷4z+¯xò;˜­&³ªè~D¢_Å<‹ÍR°³^þtÔ$fž§¨’æà´WâÔÏß/ŒÅQÚb_èJÙÆ/¬Ä r䤓LÊ UÐ •y~;Ø sU~r­»ŒNl½• c*wð„Çsð‘(ëŇ#ÊQ‚Wªh®«ãæ† ¦óõ*‚ŠOÞõQHmèBMåu‰s¢û0‚öuSâ;J~e8¹ô¨Å‡†Ò#D#bä¬0r#·RCw‡E™O¿”‰J—voÕR[ýªœ[Qóo8$©*(ay·!" Ú®D¤²…åíšJ}óÄοmEÂTŠDÀ‰Ohã~ªDTæ cQGb%#JzÐfÚ!ËzœÒ*ê•„ÑAjÐwCÃfO”üôzØH¶†WŒ7¡Ø˜U¦áì*×!4Á}ç4ÄEgR‘}DêCáçÁy¾rcFsüOà„Ì÷ðñŽ™Ã‘`HÐIz_.ð‰T¾²`,Pá˶U]>8ÚÇ‚oÙÈâ²9½„qŠ”† %YoÅWç/6o‰’X>©ÇpИû0Ç.ºÁáv~^ª¼þ»RN¨ÆÜCe¦<ã*µS¹©,Àtö¬ÇŠ™WŹ+ÂÚ«K4¶”­å?ß½ŸÀV‹‰±Ê‹E"ÂIÚ3áÄ%&iƒCwš>G͆hÕ-^¢œ”,:kƒyÎjiZH‰CMý.çP%"HBãŸiRHúmÂö{`Ÿ>sôvB·QraQpYè”FÌ#ŠÅ-nTUUŒÌô6,m>|a¥æç¿áq&No³µ;ùõFDq†‘O9™‡1Ÿ‹IïÒ»ÅÏ«EÆ;k{-Ñ†Ô íõ}}ºº¥¡ï™€§:¹/¯ZÀÁOoZ…îg¿Ï­'B„² |¢õ÷MŠ— JÖ´nj.¯¼Z~ìú›7›€Öá‘-›J+>RÝX\;Ø;:ž‚ûRƒYÒf’½¸ª²·ô;^ü—•fLˆ@â6Üo+óÊ’©gXŸ»ìƒØàÒ9¶ÙQFFTdw1ûMeþ´ÀlùÇÇðôࣛÒÜQ…žËˆƒ\t_ 3vž '¶©Eš[PÛ÷§~QáL¢y h^ž³^™ >‚xÊ aú°´2bq–Þ"§y˜mÿYR·Š©1Þ~YlAYè¦GS鿘ŒtÑjàf`ŸÊdReÀŒ&V•«9Ö¡3”8vîgcDú’Ù³ŒCëÙ‰v̬<¯Øm¬yƒUƵº ÿ¿‡f¢ªµª<×õøØüp€)‰®½9â+ùR0ox~°k¸”±\Ä´Ï@ÀKY€»*¢I•kß•Mœï¿P¿=©:Uô´ô¶_^~š7»š!üj8\\Dmj‚Åq9о¼Lù1, î`U»Ñçl˜P¢3T©ô½d~y–ñ˜ Ñëï?™î `Z¾Néáœð³¶Ao¬BNoyC i™-.Âòa±¡×ù6­Hh¥¿µØé'·|·Ð*ÜM—ßpº/~Bïß(a6î°U…¨9šó]j†ÞuÏâF'ñM`ï숑Òò`d¨F`oGQ~:já±#®³Êæ×:â-|™jñDj=5¬7œXE„ëþÚ&)T>#â¨J¹[æ±õ'˜—¯Sjô°Vj)³ ¡ª'¢”Ö§ý»uS[Ë_¾ÞNÄ.fë†þHÝBüÈ7é'&]¬rì£ä®ÿ/Iܼ! ÂôÓö˜ Ô à‹<ÌI¬Æ¼5`jƒ7ç¯zK‡´©Eœ&t±–ģĿ­¥¥z ô­kD”ˆå„ÈÆ&¦ƒÜ™RÑÀ:Ç?ù ­ ¬%R6‹·óüµ<3U¬gã&6»óR>‘_ €´Æ –=‹ø´w×ëm>Òb‹¯;ó™‹$«é_WêIKGܲ»´>'R Åœzæ·J_ef\8õÔZd+=‘†è³‡³¿Ž„øÃ,jw74ó‹€|ÕãuN°ÛKúŽT%VÒàaÚŠ›¦ ÜrרŷBëZͤ„,£<Ž×JDsÁ’ÓrK&í$'£t U{?kÐ g jñ9™y&JÆ;(Êxv¡|²`”·=°«ˆl4Q·ƒVÕ¨b& GVÆÆMÚ÷÷—4úèÆáäÇÍINIL÷á.©8ûkuÛªëûƒhF½òúôóÞi‹+Ôw"sßPŽlP!ŽDE‘·Ý¼8‹êLl¥ƒ”I_¸°Œ »•/0±Q1àÁ¨ðdª©ÂÁ^MÖmRœó¥_DxÆ_|œ÷mëÑ¢‹@ #,ü½µdñzŠw‹ ²Hà².BRäÐY8 ãñ"F†Èjm?9ÊŠÙ@_ð÷ÂïÙ!ÃwÅWI¿=àÚ»k0,yÿ5‘‰M3–À…”CÄtÑÃjèb„pPGcM?Þçø”M»¹`Ãî÷­³w†Û&ÇO”BùeyJú€™ç±,}p—PÙÓáîhæ½N#ž9 ÄIc{mfÇ|ÊTßÝ×y鯗£Jz+g¾ÐºŸ .;ÇÆEx) „ˆãqî)-S¿ìH{¶K‡m Ø€¹È9×DäÕÆ4¦”¨M¥ö[>ÞÝRVíô¾øwn9bL‚Š‘ìnUZSïÆ<~.ÔÁWÞ’Æ& £ˆÍ² rë-þõ¼1š³X†0ç>ø½÷,ýÍÙªèO ïEyõí—jü˜þ®—Q‘UÛêÿúH§.°ö)6¿U¬ üÝktœýÏ»&&©¼-;†ãlù-Ú| p¢;âà¼ÁcÂÅ7¤ürÁÇXIé½é;»2؃–—Âfu.Êk7FØš·ŒíZ…¿ÙNtvçùéhìøp1ù`Có$ÛI8—hEëŧ:ÚSŽ9zÚœ˜0gá•“qí¹ÔÁuÛ¤osR:Ö€c‡ÿÓÛèP;pCnÁ“ OW–-]ƒçœ~¿ÐTÁá{¨ýçò”¢Û®e½|~W°Ÿ,±_][zNß×4+;/8¡œÌüºVœgEÜu"Øå6•Ók_"¦nlY ²Wv¿ý˜ÊÑ„» ¨WJ9Ü>ÚyÕp„“Wò|èl*¶wôe°^±ÊÍÓãûw>‹ê5Èe›‰*“zØ'\AÈÖFñŽŠ Ÿj-­}úýœ¿¯:“D-+r{uŠl°;Ô³ÿèöi–Ía­D¶d Áas*ú ˜vtÝaï ðñóxvjöJ ^¿¨yé[ÜPY÷ÕÄ3‡ésÅ=Â3ÏîåpÍû‰ ÏÎ1‹0ÌHöÛq8G«6§nWš@Òñ4¿ïLp aUŽd—Üò(CÛÎæU]t((ó˶Q¤Aþòb$èY9Ò=G8›Ü^‡&ü~OT÷±“×gü¸gfÆ’ éêO¸Ô sc.‰ÜÂ'{7`åFt< âBlÿNòÀpÎj¼½ÂÞç]‡bȤrÓá3©Ÿjà* ½[—FÌLÒ†oX%ÆÞ‘³U7€g–©—.N¸Ç“gÊ”h‹ƒ}Úå\Ã5Iåa¶i<.„ÍÿýMàÕ¥®ÜaEÛ‡†wØÇÊá­ÖЕm2pß!:‹.èsÞ9Ë‘å©Øâ°Ül,\|)”êù Ëú:cà››úäÒ®EȰ7j¿9k[eû:1±žšõ#ÇŽÅê˜Gß¾0àSçPr$YlK·«!K°U«ÍwnæØºió[jÛ(woøúð ‚=æ<.A/ï´þM¹âá³X{¶¹ë«\y1ãõ·PÃD¦«ªêÄ4”*ýF-…4À9Õ½0ãE×ïQâêO̧ž¸%[ïqWžNSʪà¨HbÂøŸYjã½Þ>Zºb=¯ä–Ãéèg5{o[1f±Q0É> -º¶¾&å7<àD¨ð:F$“¡UÒ6©§°ýÂÜVΓ£ÚƒîS•3µÚCŒÄr(†Õí¾†$mÆ»+Àa(ù-ÞÔ­xá6oÞ5°çéëQ8oô°y:iCþZ›tOr{<ð\œÉ¼°ŸXV©Z’QåÒr¨w·D°¶Þc@TxF†p2;˜§ëdŒ ²âE‹Æ¦|ŸÑsKDÂÐ g†“šK*g¯ÀΪQDPõä[Ì~É 'x*ÀšJˆ0ì¡ 0!(‹äò“ ™b­þ¸æh^…®uøJKÄ{J*j3”žááHœÝÝ(ØÞ ð}Ä¡3­SÃŒe7œtLÏ 5‹®v6\ò «ß±o«JI¦ßz?!Ò3Õ"w7‰nW‚w'ÙX`“iÌpÚÄwî4r” z¯TÒ­XiHxuBaÎ'_ ã§¦œûwÙØ,E¯æÍQ×nîP'­&X‚°?a™üg©n¸ÝÆ7 €lGȹ*ã‚¶X<¹02Ø«¼å븶÷HA+w_ð9\”=OâMö‚= &ÁÃx3É´àEqÍìv—†ómÞ†2¨ÿ¯a‹ú€º)†àÌèsX0k’ø‡î½¬Ì §‰®¢MªÀǶgÊç½ÅEâ9ÍúMDwÑl¾O¸™’´Æ+Zv™¬–t\ #b<ÿŽ`½±ÖÌ÷[ +‚Ù¸"Ω¦9}–üi(”Ê7Ä—´ ÑÔ˜^ZÃ%3= k'ÙBü΋ñlwÿ{£îx‰c|”*ÈÝÕ û{‰jŒ ËOȘªî`逕=Ôö¥ÍºH¿½0*î¤,w›òùJ‰™‚Ô[DºÀÕ³ºm)ãgíÍÂæ›q´cn!cx‘B1Ã#ÂB]¨ˆÀ9žPºÛ„¬ÿ]ÏS²5űfçc0JwÁ§™^MkÚÖí¼²^‹ø“uAnÒy CÓsÌÚü¨¹ÁRr¹9bªLN©ø,:Ÿ„O£vcûÃíz$RéLø¢×2dC …º3`ë謣ç¶4ïVz¶ÌZ ÷¼7D  oÉ]E曊d¼Ó ëõÑaÏ{}ŽÃü§È~÷€qÓ[Ôzmjr8ðZa—¤¸e„h¨·/¶N|_­³ä1å"õifƒ—pæ)®e}ÒÿèÕTäà(c CLã(½¯îô@Jž%EÊ4ƒ‹]—FPçÌo§ø¼•6Ãøv :ϕ㠴Õ'kŠ+\ÖVûYú ­°„H«¿ÝWQ›èš9xǵ£ü^Q§‘§önq| t¶9Yæ@·Ó®Þ٣ ƒ98Ÿ³¹aÝë?S)C²Z`åÓ9j"9T›Âúë ³!´©V—7´‘•—GrèLpàM’•©BÃsÔrËù£S†”Úñbs ¯ƒB_ºÛ#u%Ó£²}NµW'g¥u숽D:JeiÀ‰“{þ¸8žçµeâËq1sˆ[›xBߌð í‘öeKoéäb×þŠí­+|7lü>Ò3uW¦Úƒ%ߨIQ«YÿLI›'»dþ¬ Š­a¥AçïÏŠ% xÓR…{]މ*…9k¿ômP%_[‘€!³¶‚o%ì‚z D)e~ã0ü(h!ô8ùAŸ%—‹Çj†0Š#ÅüñFþÕµDcª‘È™d‰ÃG³%ŠÅŽZ1|Ç[#ÒCÏTNhylȈÿk›ä¨çHßß)ú×àØÂT 4^µÑ_HOÂδé)sdJ‹­G±ضõÔySƒˆ¯ì'‚×S¯(+°½ï‹´.J‡$Òº­ «þ€f[ŸÚ¦Ñ†ŽQÉûª`—XÑËcŽ×:±Ã‹äSð8w;¼]i‰`§g¾ Ó‚:5I¼¿‡ÝæÁ©Ï÷®] :Ô»úámÍë|Íwˆßõ <Î5½e##˜ÀOb‚"V ºÇ´­–eÅìP¤f»a1¥£ÏØ*1쵕 Ÿu1ØÂ±Ãc­Úçÿ‘G#O‹¼ÌøÃð³b[ˆ ï«u.êéëÅ8á‚ÌÐI3€Ç#^ß!„¼ŽýÂð(>ÄZæPÞP Ó?ü8µ!Â:Õ4݇ãéù_Ò<ªOùÛÛmkgÜþà|"‚v(™8--~B…»¿é^ˆVí.‰xÈ®Àߌò19Q^ÜdÒ·>Â3²s+õø1L½A©$i¡}b‘€~=‘e›ËàyµýßMKüg1•JIðY s~Í¥a'?2ÏIÄx ß:Ç5Z¶Y/f¯Œ@Þ¿:3E$sÕ¸ ³¯ C ò$1'=9GWè@\7¶^‡Aº¸Ë2ëyƺ¢_"pý›sàîo«("rvM6&0<]\üïA˜û¹Q•è½AtPƨÆ=š±¥ŠŒF–û3QWŒ!pûí Å8˜h§R°”¼±rz1BiÉÑ”ÌÿêŒý#AÅãß®¸Ã¶ôjk‘:¨ê{4íT'kJ‰?X8Y¯³Ò{rPSj¨,±¿„4òƒfú aÙ»Q‚^_@¾o:)ifY{ÖÇà8üéýÜJ&2”yè¬cÈ7Éë2wÀ`bÎå­4¾véR™F­}Î1y¤VØÞP_4߯{Z‹TfŒ¾Nu~%H6ï·°1;UÈÖ¾ààjyÀÀµòù¦ü(-òë÷1Wò‚Æ òNì ?üÔ ô¨æ¡  ˆ.OÒ<ÞX^êËàRTh±ûïµ aPãÞÊŠˆ7‹[ñÇ/ö«½žªZR[ðÀªîµÔÖfFgÂà?·R¾Æ)Bzò€çöÒ…£(ðG„‰Û6täá¨ðš²¨!ý’•°Å2ò!FÑt5ïÄNN¶ŠdTÿ+Ýð¶.Ónà‹¨ô®ÐÌÉ.“”Ææìn™ÅéÂD}‚똔¼ÿjÌ×0cŽ™¦ß“b¦êÿ£Ú®‡hToMá:Ø’5réáöÔ5|íåÆÏ»Õµuc±©™ÃêÎE4ô ã±2þ¹d£–4eýÁLÖSny3¾°“½Ëª¢&÷üä{ˆæé†#ºÜó^w¦v²Ô܃ùä+§žÿ¾p&ùÇÔø§× Öpf`¢÷õì¢ùL˜ù—Kø'I»á›.Y³oñëú9%î® ù·<Ó}Š TãÛ®²Ë _–v-Uö¿ ÕberAßÑ膧¿¹¤cy ŽìH‘Õ›ËÊŽ·TÓÀ!9:gú¢Ïe¡¢öóÿã%„Z™:A’Æ!®â^„dÒ…?`᎔¹K=eЀÙeìÜ=\`¥qËÙ…„Ö ÔmñRÚÝJâ´@ñìwEþÑbLLéH@’s âIœj²UãtOw9ÆøŽ<»âÑì²F–Â-Ù¹ñ‘WJ‘E™Sâßšsù0ƒŽT}êSÀVÉwj®%Ô˜02²RÜ ° ³¨ÓŽæ !È;S§‚ZÒŠ€'ÀâI“5^oÚz—°rªÞœw[—ÊZéZ¢{ÆÐ¿ãÃÍøR Š òSÏЬ»…´ÏÅÔÆNCó³ÖZS"2SŸí}‰œºÑ³àÍ…³ž¢çSd{€^VŸÄ»S]À$þ™ðæü”ÑfÌ8.O-jd†Äg4e´’ép–œ"”.ÁbsdÃ[rª·v’&Œl‰I(ó<îúÂ75E Dè±´¢ÌuÉ9u%¿ïÇíQ  ¦^ü&;0åܬ¡zµz/J·ò¯ìX$w:;ipÔÊš¼àÛvŽ=6h¹Ñ(f %$T#÷BŠm²tNé°'‰hþÁK“¦¬DFМ'])<ð_ÝÒ4|tÒh†~0ý9ùÜ RAä=¶ˆ€¾¤¦™åu¥~½\È•ðƒŒ'R—ªP@J‚º…+9ˆH]CSÁzMŒºÁ_‹¾O\Íãu¡{éIúû=@†7°R1t\ÃÖaþõó.N«ÄjÁÏW<þF:Ì©áaãmÊ¢ŒÙ˜J„®…ÂÊ7ãÚ›Û°hJ¾Hó;*þ¡}m41CÓ}ý/¿ÂWŒO¦$jè®1:ñ@G.P?¯[j¬wWh®tÜ—.\¶u¬wàr®* |Ò-Ô^£@·#ØþçÐk¡ È|à¦q21¶ÀŸólž u£ŽêSÅñnðÔ»ó ~Ëos›ôp̃ç„üÈí¢¿¼âUR’áåF!1ú±€ã¼Wr%ù€Ršt,&³I‹Üwñ†ŠÀ({‚œ‹ngᓉC¶D…sºmâŒUWU4tœ:wq5‡¹î4Dì{((3L{’õ¸Õ;ÏÑ(±ËH 6sÍÝp;ô l ½¦+U4PÈÑý8ðƒÒ+f…Và”–UE(õ?O½[DÞ>a„ž¨WÌüÎ9(šè—EôrV“'¦l»4Ù¤jæ#CI¤Šèh¹°’Ê™ë-ß3(£¯D†Ÿ)ó5bl"¸¡ïmqZš}]œ¾ åÂÚ!¸jQ?¤¼žÓcµ¡h9¤bÇ+ÚYsGûIêgŒéýûwËZ¬Á Ø jÆ \N²b'yžvô2%‹ö ÀpŸ K¥ûÈ•E•žÂ¦l’1Ê0le-rtWš ¢?#½ŽßÆ•Ä<ظÜð,@ŽIb‰£©¶ðþÖoºÿÕæxÄÖ:þõÃܽx9`C„9#“brl€ü“E˘>ƒäXÎfâ(E¶B3uPwÖ¸àcã#¢ddCÁ]ÜÍu€nBT1×:¶žs“‡¼¸KÖ‚‹í…²5ï-AQºª$¸)BlI-|:oIÛ;29¯CòV˜äÅŒëoHá8nEù+¨ºíQ ý.¡N›0ÌÊ……"Í9JT%=æse‡ÉûF$å‘üŠ©.Ò.9¹ÖÖ7‡7¦žÝ²w7ëçõE×êJ5âHÑ…ˆ¹š¹¸Á£reôٶKÚ„76¹Nú¸3!ÌRyüQãòZâÃkóˆžÝ-©£¶b(%}ˆZ~q;™}\rõ!ceeÄøo¥fÛhëŽnìü;RTËÄÅ,T?®8øýÃè/ÿ´¯D&ìJKÂVoÄøM«ä¤Ò0g›0SÇ3wZ‚è‰à6ÃS2ÒtâBäàJæõ‚€*”}q:Vöÿ#6Y‡*ß{½·¢4¸Ìx×ÓÄ5×á÷‡·.(kbêféÈaŸ§ÿ‘îý3°Aö3ñÜ\ Dà+gÓã œûmü¹’oÆÔ`]ÍäT¸ ²¬Ÿ¢£3Á_ XÊpn?£”;³&ñù]7J£v"ì·„²àV&ÉZþºŒÀ‹:uÏóeï–¨2™ÜMÞÙõq¢DE;+öΆ=¢¼†ûgq³®õö5TŠ©Œ·š¾déÙ$5~»R[ Áf²2€yz…±ÍW†Œ{gÚÄ7Õxž“ŽÁ×ǹ"SubËÑ×¥ÛB´j#÷Q’ÁICD6¹:o±!bÑ'‘÷Jn 4Ã;h?²¾ÓyùrúíXwtaöïH ™t+ q•i÷E•|‡+©=cž’l:iŽÐëT6äÎÙHÆÝÍ›oZL™/:n¤dkB@áޱŽuÈ‹‡¼JË÷`¾íý5ºbîœõ[ûóf¢dNm"Ÿžò^GÀWÝÝ1À¾wÞn‹³Ú«ƒ.ª_æRüÛ…ÔÒƒ–¥í÷ !Îs°Å7ÕuPžB¹5 \°dg£ ‘àëׄάa·KY:F–l÷qÓ¬`á½î{ÇDYR·›âId%ñ;·¶@"Œ±`z©vÃjÛ ¬Ü‹$D­\qapKç´ç ;-c7ÚCq5û·¤³å0½ƒµ¢•NòÞìp©÷Ž~*eùÆK*YÀäG×n`åp]¨ð²(ò¡ðüÊ ÀšT€¼ÇúË FWˆèK%忹¿¹®­O&¦FtéÈ’ÕŠž²÷|[{Rû¤°1„ß#ÕvߣìcZÛ(Ž=ÎxRŽ)'~:J{9Ðÿ+‚ýU‚'RPÛ)T‚¶‘†ÐÁ…é@„‚YOVšuÛR¿ˆaÊÔ­#þxâºÙŒ*ЫX‹ŸPœvã*žâv0I ?,iMðm•ãógbî·i ¼gÏÉû¸-t=›Ó:´ŒZEÿ1%"×#†®±(_¢YÜåÙ÷±ëô|<™-)øh†sŽH˜³ï3³Ö‹@à 3¬®ëÓøž•‚qa.KµrèµTu!)!œ¿GmáKɃħ䑄ëüR·ÛãKTv; ±w2‹åyÿJ3ò× GäÏ\G–‰ï1iN0Â`]7usƒ¬/«¤ùK1‡±@“¾© =LCV+õÛiI€‘þB­n|ÿ™ïȪ)Ƙ|2²{Î\>,3¼Œwùýµ²86sQ%ú›Áð5™X·(näñ;[f¨:¨=ÀC’{ezíBFŽªW×W¥"Mj ~uW›©Òü¸¯áBÔ7#yµâîâó¢LÈ‘ ×:$iÈÐ+†ùÀ¥_rWZSL`ƒlÅ3pi Ý–œgGaÆœ0YPéóÂ&ׂr©fåojªˆGáPh£Õ¢K«ñâf-e@;Yj¤Oý͇%îãp4˜5ÁòŽyB6Aº¶›¥«€†³<#èždA#yyŒ3„²ä"¾+KÐù»Gcäóp±ÐÁmv’À..RrWÀÈ?(¡á^´nyŠ0ýªcÝÁeÎàÑYôlqró9%NZ…zVîñr£x× {Oek¿žå&èÅÞEvSþz>RþÕôyÀs8~)ìÃY^ˆv+‡H,¡-žfØaoa6<^]¦c9]2iϳé|rÎ×+Vç°Ø5ÉîØn­ ÓDGlä©< ¦» ­ƒy*þa¼~©JlÐAó/ܬÆ1äû¹î»BI_¥ÅQlj€mdææ¿A8ˆŒžLÈYõ¶¼y‡[`W`•C¡ïQÕå,Ú1ŸY`aDiÀ·GTxÈÌœ4¸ªÐSûW¤ §¢QÒÏŠÕ70„€ W—¦Ús@ Îã›8ª1(æƒáCëOúØ|_™M¹ Ct0x]±À’MÕ:×£okíº/Awg'q¯ÔóÉ£Œñè iøº$ iˆ|Ê]©dÌ)Y!·-âÈœ“¬ã Äî:ºEÔÒpµf*ía=ç µÚÂl:VúævµŒtýÞÑ.užðýΫ§)@LÓ}Öª.Á«L7õãòż¸–ê~Ïd‚oÌMdêEi¸+³ZP¸l™ù Þ¢¦²ïìø„aÜtn0˜àsÆŠWÁ¼øÜ•yoû«ÿÿcÁÀåYs×isÿââ1þ—1íØ£8= ¼ô ¨½ì¶›5«È—m ž`¯Éuç‹A“åEi©1â`qÉdaцöûO³Ãk€¼ ð.`é5eé&©ì+–v,JCàáE0SùäàÑ“O&«_ŠŸŠYà+¶`­&XÒ)Ñue{l¡»Ä÷´q|êîò û ”aTÅU<Ôœ%¹xЄ÷´¢€/ò-$ù»›5Æá2Tùƒ §Y.sô{B¼¥/–Dô׬·{É• { ƒ0èÎI¯)Àm»çÞØýTš)Ž•\Ub“ÛìÖ++±éuGd‡Ù€>¥°ï0® þŠ#¤×µ9à:ªý@Æ6Me øJ¥³™<ÕÒò°àj¸a·ï$vë.¡RökÍ d…® &¸ ;× @ü 0õ±PL<­® Lë_™aÇÔa¾a»~ÉK¸Ñ„GÔíä—¦è gJG¿I}ÑoX¤ÿGHí6•düÐ;tõ™0:-ˆÝæW:ŽŸŸ‚UåM“®H+éq©„«‰Z†’5öW»Ñ…ZI‘¼ìÙr[JÕÀŒÙˆZÌ×üŠ×¢§Î†Òõ »‰ZNù„Ý.Ój¨‚^·¯"‚x¹Ç·zÁ\««PÓX±Y~«ûò²i¤èjO—¥ýä— “ JmÉ%.CÊ¿4œÈ'æYfÀcn+WB|sîüýÅI¥÷]²ØÃ¼‚ú*¹OÍ)Ù!ûŒ6þ3Óiùù¦Cy¢J ‹“ep$Å9ºqªˆ¨~êDÆê°Íh»jüÆ2Ìš:ƒõÏÕ2S¨Gé2KN•V ¦Ñ¾ÕtÃêlç„0Ú°@ÍÙ +šf§­Á‚G‘‰Ö©ZrVÂ,f€{ù%íqÂX—{RÑß™ä˜<Ò ý”–wùZÇÌünô¾;²:ÙTî°¨·n%ߊê˜5Dnm 9¯ï9áf„ žÿ5 þa‘(†}æX º7¤4µõÐÚ¸oúqƒ1_ºq•íë¿tžã,N¶–ÔjLÚ$ð‚†4ß»O™™·ÄC !±ÇíÁ/ð[¼›á÷N’é™üüΤ áY¸AåÊ.:·2{©°ê›G¤uŠg8ÛOä‚õë»{$Ç–·±(ßBî<;tX-‘…ÕŒ’%媰KÉ2FÈø—e¾›9•w=¤"œí_7Yž< -Ý_´A¿2=³ÁÁjjt‡VÖñj&yDâmjÀ‰LcI*йJ©—Dê§¼õ¯÷.'ü C‰èÉF騇MŠxT(ê Áã+ œ µ­»T± þ‡‰õ7¾|jשÑV̯GÂûO ®­lŠß¾Ý7!H0ÛP³ý)¡P?²%NtÊ"òe°Cïóñ¡ Ýèð>ùñm ¬³1Õø´ü^ e# =û+gzGp%WRwÒ~O7Ô1U¶Ë¿yÛµº9­¦CÓ’ó©†= û¾«°FnOƒ/ʧ‘—MÑ[%gÞÀš×Ó .izæƒ{0¥iµÑÏíz r•‡÷º§]*: Ê ÚRõÖÓ-ƒÙ,KÚªÇÏ… …7gˆ[¹<­œ_3aÁíº“Zïãu-¤¸ê;E¤’hý/~=qî$Ï 2Ô»E ]ß<Ù[÷FÈP?zÝ~rýÊAÙ‘õÃV:Ê|x_„Éìþ„'ÑàoPauجbéjóg¤· ÿŽÇ•J‘VÑD0yÌÿc™_ê¯p3‘x­pM@—i(ò<0¸%§ƒ­O°Ž(2.)tǺ…öÀ±ÈCUÓ|½Ì¢Rlˆãb',ÌzAÂi•ÑôÖcøC'kÔ”Ͳ9)¯è¢éû=O{§ÇÙxblà¼O 15¬A9ýó ‰«*žõõ€Ù,òZbçahÎc†X¢è¶NñEX€/«RF°h1P„ú8ëWS©³´Ú‚=ÿfÿr]Q¶ÍÄ6]ÅU†Ø4á·K;hBxÏUÊ¿*m%°ÉÑFô½eúÓ)Niú²üá«Âó‡*\•™ö8oŠ<ÖñÕÜ<  ¡LÓ#§0v¢ñw­‡Í ‚WÚl‡¥8`EXI |E]QwTŸUg*¤Â<ƒzóG ø8WbÍ+u·ê*u`\RzH`'n}ê.ÆÐùïÐ}ÕK†~ ¾¿nW…eR¬R‰ŠË(Thÿ”"å×1G8©$™Âû?'ÕõNõöÂÛµFnkA0meEs—¾Ðœ|'°°òÔAt¼ÐŸû¦¦üÌ¿Ùçr)%ty|KŽðm_‚º®Ÿ¨N'Ä_|1‹o®eSTEFL”D$yzE=‡få¼@e [o½ÏBcãuX\FrÃ…ufXFC‰ôæ &±h•ãÔÙºE^mß »èÍçmK ~Ža«¨ÜL Ÿ›ëÛ”‹`ÊüHí&Žú–ëò÷iþd§oY¦¿©·á%à’¤øB}}DÆþxò¨vÎ’SzQSI÷–zb¥”]uHy³uy?Üyk`ä\æNeI:zë³ [â¨ì¿øR|ÍÕ†ÿ7׫-ÿ É=ð¥†ù»?­»¶Å¤ŠÈJÍÐ@vûI”X óå¶7ÒwX‚ÒÉ^N&üÞÇvZ ‰ 9—gÅË.àñ@`BвDº‘5¶ÏÚ+hÐˇ…XóìXgù€’<â! *rmõ¯³S°™= oN™¼‰vûxÈà¢Zo½õÀÂ]{¨$NçyJuø¶ç—ç'­o»õ|c4ˆBv Io!”æìŸeL¥IQWæ1?­m(¿ŸŠt·lEŠ*XmbûåpÂéë¯xçìf[Z[ìì žï¸=‚MÀ}¶/D_$Ø÷(濉ÛÚ.ÏIÃΑµ¦cxÃA>SX.ÍÈmÌ*3Ê{˜IÀ[”ÜE ì܈çl<¹|2þ'ØqZÞØ“¬Ä\IhÁ×2¡gýKFß±í^gdÕM¾óË´ÞQé#kÑ@HáiI›+nDNº²–š#ÄT„£Gp •×wã™DY­œµg*¢§Šͦ+l0œÝèg‹,ÇÍê¢Ò‹™U€ÔÑ”R-]5ä?~¤«3ÍåÖg>?ïÃb6øÒ1þçj£»²ÞϤõyQJš ªägè£êuž²œè„ÀZÙÆI§CbWâÀYež2Éu$¸ÉMFšŽx‘ô°PþÃ@Y0%@CZ6?ÀM(ƒ9gž»ZA!7šÏÔ:Ú%[Åä1EÃNžt2këa/>kE_Ð ZÃMýwøFS]Àî÷áT—Ø’xœ2—k§ Mm~È=õœyw:os”àß–X+%&ÞàÑrù|¹“‹½4fí'YýÔ u¯“q™'‘ÉLwµ„Û“‰ÊÕ6“_ðFò9Æé;´‚†¦‚ZÓ«€A—·0U]jæ4L+7êæ8¯È็j‰=°±K°=–hhÈkÛÀgNÆlk°7X/ËxKfcÖ›¢šÇR¡‘¹AV¶˜øÍbüBItùÆpyƾ¾tÍiÈï(/§ƒÓÊ%' Î <ÝÓôy—&M¶#:´×¸ ŒÙܪÄgümo©ßhá]a ¸cÀd‘@›æy¸T•`Ë6¼.±‚3FNk½ Å]²b\ͺ1¿Éùî/Š]†àn.Zäøì¸Äö0cÝc}EuƸ›i=¯×2X&CúßU·\0+Á¸äphÑ*½¬j•‰š?ˆw·HÑ Bmèø ¥ô%SŽÍÅ5>~¨;í~zÙMøH½#/Ó6èZº‡œÃÁñ¡ñ‘¯ »Ìp@-  ëodàºs)Hœ†·§® /‡èy£J¯•Ú÷o¿¾EŸüV_Í‘ÒÞHsh~fô5ç|Иý”“½Š_ÆËÃËFxجõ( ­K çKÕ*‡×N.ùÉà÷c¸ ± ”…}b)wß4|CGM8v5èƒ~Æ¡ÚkËq`–Òø2L}~_ÙR¬(Ûe’U蚣—Çžvðj– G†­33ƒÝ-g†ægËE2÷6‹¶ö œ{M¦â¶¦ü# Ñž’Ƶp÷Uv”ÏÐÖÖ?Ÿü¯ÔÀ&] ZSù‰Û2ß³®€‰rø%}ZÔ Ÿ‰-tšÍ¢8=Hý3L™æµœ¢©ÑáƒùÔ1‘ìàd8䓿*ÄS‹Yw²‰°ûªƒ”â—˜(U4ä}-ô2É^C²¦æ·š6†šø,Óå\Wt?Jeö² |@{øAÔçGHIƒ’è IÇí“!^ÖÅbúŽCñúJƽ°ÀÇJ5°ƒ•æg²a¼…í/µ_®þœÆŠJò<Æ\4û¾{_ljä}Ò,=75HötÝ!Ƀ¯.ùH²öðµüN]W.?å R°Ì¦à,i|›CëE‹véÛë¬æñœfü®#vSõÉ % 0ÝØŒ‹®¢wÓ°gÆPÑèû¶mo&Dt•Ëd)ħQÉIôj^ú8¸ÚNÈSaìdú ¡bÓ,¸rõß…Y¦±¿%~`å@yÈZŠÍ;?;“Ýò'ÓÅó}[´¶ËN)¤%¿q³¬*ÒÔ¶î÷­žZ°øöøìÓ<š~)fôZy`X¬f±ûÌN{kCÕ$oÿ˜T¨PÚ¤\?!½åUˆ¾[py£§·x[m´ï-b#´ØpTXÆxf[ªÁß9¹Ë‹ÙzÃún„ŸkïþùN?ë¢ÓTˆÃŠ2œ?÷ˆ/ÍQ4úýÌ2€:EŸ´åèF;§™î»ƒr=Ëån&!Îü¥|Ø{>8‰Ÿó¨=Ë·fëR袻Èåï¶³‚9P²ÞÖÅ ±ïA寭—mý^YP†§ k¤ñ'.BØ@Ÿ[#>yéèÑkä7£]îÖw¨p†O¦fÖ"}&b$N"tb†õ•±·×–Àÿá¦êMyÛ[’ªÆ6*fïQ9 ‘@t4ä[ÑŸàU2¼÷¾…±¥Áý Þ‹D9úCPr幸n];©Ç4P4üBYMèH³?¤u)JOlaÈšŒ©¢ jFE`ä#¿—æŠÁXʳ=àÙ¨q L† ”e-S(²ïnÝ*Ë&w--p~´ÂÍyŠú*ߣöúvä5 ¢së4Vkô½ýÝô§€eª~u80uO!³ú‰Î%Ê‘õÀË<¾cJ"~(‹> ×ÊÖ.'¬´uÌìˆ@±·82”w¤ZL! k&èOÅE©=Û +Â/¤Å*d'çèFï+¿?¨Òš|]µ¼A5}v¿÷;Mßâ©äSk1MŒ¢ ´xd§§&µr§K¦VÕtÞš5K7aá¾*öÜvŸOÓĶyŒM½®þ®ÉÞ“ÿ-_,_÷7 6N?:(¹A52^¬tÿc#߳Р˜^l}Ö%ôgûžDš¸Ûsä¼=%x`ÁDl–”Ë¡LÅ(þýΡP_”Z[ ý„ÕŸwâV2‡òRqo„˜ù©dǫռ²§%9Ë|¡¤ö¸Bzwm¶¢¢wõù ÖÆ™C–ÿíãú®WѤh ù“,"–Úv‚€Âsí}MÌ¢À)„ ¼u| n6–I‘°öü”˜‡Rõ¾˜HD2*eÆ•ä:ærU_7ïÈÒ”ˆÓ¬õçjk]|,§Í˜ÝGû:Ž>XM»»Gæ‚Qšêêe[³DÉkÕ;„ˆ¨ma™þÄWc?Â%P3ë E0«ý]@[ &~PÙ< a³;ls8ÒV›ÀÂî:ÞÈ@Æð¥³d‰µþ·Â«BJ¸æXí_²Ç(S%Í*9®qKÝëäd¸ ×—f¶lù^ÇÍ­ÃÛÃô:½"ìM¶‰]Ä;ÈrŒu?.;X5í$À‰ ”ñ¯Æ´TBe…aײã‰ä­ Ÿ†Û=»øøL‰rinnC@Áq^Ç€bž[KrØ…¸¶Kû->$ÌUúùÆ&Ù¼éyæGq{Xˆio‹)Íø­[õm*w”·ô8SŠþ|}7´V¾…(‰3n‚9±DÛê >¹Ešýÿ[„«qÿÅ:Nr9lKàÍ3òÀ¤t ñc82}Gôؤ¨ªÜpSˆ£”bS†ÇYšpö"Ä(©™xqˆzÃznšSLÇÀæ‚i× ïFÙtJ9ë°w2:–=¹é’RŠ6H ¦Ñ+æ…Q¤MMù;É‹¹I(ófp!P½× 5@á’Ø |¸B{1.‚pðpTø×È{„wA¥Mrµ‡V…h%ñÀ Êæ0uE­^y €¤¶ñvI¡GU‡=ƒû÷KÑjGâ˜oé4,»¤‘H*‰_nÕ™¶È‰6kA›s‹á¾m×Ig\"ø±!Ç)‰>fŽ]»Ç©/§9§‚Ø¡L <«$~»GŠzDû‹wíŠ €;ý¢ÏL(%Ïà¿MV±ù~éö­ù)uªpéILkbãã¡’ðnO"£zÑRɳºA9iÉU‡£pm¿fy‘×’Oß‹§éÎkÌcªEÙ_°@ÞaGÍpI3YU¬ù¥`{ 픘ýs©?…QƒN«^äÜÞ¿~„ý:²K£;Ù,J“—%Ø ÿÌת¸ýQäoô‡ñ¡àå >oô]á‰ÎÙCCƒ¨L㺼Œ®!\~¾ê .<È—OÊÊšË}ÜACºÞ4qJ’OàOdŸ½ŸÃÚ{1Ïè3m*š·ªÑÄÞšåd„—/´•*ë)FÊÍ_hÑZíì$š—ßG°ÆÙ{²é=fñ{ «Ž™GöP…ÛT`­Ž¶ý €½l—ƒ:Û©…õÃEŸw¯NÐ ¹CÇn¤¡êLªZªðy›ü[ô¨×šãÅx,oàXU7~šÃý–+E+ƒ K‰vW Gp û"äÒѻșó–±?"‹v÷ Ï>eÅK.O(~‹¡âU]Äùæ¶1ƒUåö•áí¬œË›Øó¶ú—ý5¨Íu‘YÜè×Â¥T³ʽÃr{Ró=d.1¬r=XÖÐ`*‰+å¼£QTûfWw‹÷ØkGwü¦]—¬¦¤í‹eÞ·{ù o…Xeĵ¡UÂEê,_Ÿ "(w{Ì‚)„W²&™±Ní€+û¸ I !;[x7¿ÌLç Ü¥í7øHp7Sÿ>h@R²©séC¦‡SÂqÖiÓ{½õâp¥g¡–o^"|@·÷\<Ï©ôîÀÀXŠnÔ#ãïrâ¦Þd´Ó•ô§Çg,o¸8ù„ž@†’jâ’EZ Ùã¾”v ÙWp,…޵î5ur¡j̉›áÅÑmíö"LÌõÖ"Bo;6½_vmºõÿóWmôJ¤qܹ;Òﱿ^ö„j–é‚……NQÐßðg^–6~ ø†>lióßcTV 37Âùã¬à¿R “øÉA–Fð¬9Ä©ƒœ=»´ì„²Â2íÔ H§¤"¶ùÿ„nŸûÊÈð%^—ÒìK|z7ê¼ýÁ.%KÌ[ÔÆÚmC„Sõ2?xÚJ˜ç;N#Ë^7šåÍü:«â¬)¾¥¡†”‚#¬§JŽžŸwö·—ªuœµ˜9.EúY¨‹úm¢Œ –”P¼Ï芙êÏfRŸ8;ÿS €Ké¹òd¼pqÆçÇN]‘ƒáàN…÷`Ž{Ÿé«¡D‹mz‚Éré[î8Ýå™m]“¿FH2·g(6†Y=íÈõ÷WÚаCxš Á«,>ü¯íh¡ë2ùùÑàb­³¾õ8Ýõ¼‹ Á(]á‹—-sê…¶µ±TbÙ˜*(PV¨ƒý#÷å<÷s,o2UŸ’=ƒfn»pÒ©6¤1€\Ë/Ëœ¼ÅÑ×7ûu', 3¶SódJI‘lŒ ª/½_ÙŸÔ¿E€MtâT~‚"- †6Â[ŸjJÊ€,ù‹¤Çrÿ<õ ×U,7‰9m¡=ž§ ÷º@n‡J¶>|*™_%•¿Í$.gNÉͯÓ~ïcÄiJÛYlq‹—˜å>^#»æSP LùÄêÑS§ï/ê­K¦ÿeê0!?(0ą́TU‘]ƶ¼– þ1ÚŠi§¤1ʨò{¯ð¤(š9òn^½÷€6Cà{—w A«»´$ÖUL<É=ÝÉO¤™©tþÇŒQ}p6>SLmâç pÁMuó´TǬ)»þ»ÆÀÌò`£FOj  Ĭ2 ^u,0u-¼Ov@ÚJ콎1D‡©N2©8}¯½åʇ§„œUÕØO(ÿZ•[Ÿ@8†|ªö•st¹ñ,Òpf$pT¸ƒá iEKÁ=a¿$W6'ã“q² žçÚÿ)]ˆ ƒ/×Ä¿—¡Ÿ~B[¹–oJD;{o¿L¹@@±Éè¡åÄ=›MIjp¼â™Á»3γ7™ß±«ÖR²½‚®ö"lôÁ9«óëÄEÀ‚l®oªv› &²^Í(Ö«Á£ù‡)’ÄìÖ?øßôzg(¹„ Ò/àSb?»ÿtàîmôª™ô†#¦þ¬Y}'ä:”P‘’U^WsÅ"ÆãüMJíœù¶²ºü®Vúæs΃rpS<Ÿ#Tú¡B’5Þ‡@ëfÛC°|¯×Y°I˜ç¤¹Q¨Gê6åb¯J+^ñ•†$çWfì¹S¨ÆŸ?Ùbš¾¡àþIÉ&»VïÄÁÐyƒÊ‚¥Ÿ…&Ƶvþ‘™Cä §¯{hGŸ;²Ö[êóŠàS u70Ã16šK§ˆ°ÌXN×Ã×ùK«*^°Á‹dbÜ^Il¦>HüM'ÆÖ߯C<Þþ,ùíÔÃîÍóÐ î’ûÆ}ç*¶9!J'N6J~uã³–vJƒ•m°ªyÂîP#© Bêm?ˆma©’Íû¾Mê]#WWÿPùz8¯¸‘ß1âŸ÷U’~µ‰g(38Õ˽ò°"ë^ BI³l%=3NŽûW³ Ž$4±p ×*»VæºêƒvjçOv^À‡´ïè h¨`úI¤CÑͱ~r~wKͶÍs{s™ßûÊk¡/6rb–™C ö’®_cNùÎõ4ÎÔ< YÜPѤ[Û?-bÁÔ™„¡ù§ìžlçÉgèÆ™Ç–pP*9êR‘ –ðMŸ±pÌuÃ/`Ý»Ÿá[ê3W*üñ™Q`ŒDÑ4õ¿°Ç&ì½þ^cP²°üèŠTäaèe䡺îK…ckøíö¸™ìû¾…Mÿ£FÿŠjöÈs¶5 y>@‚ ŠúeVŤ*yó¡AÙFÇ)ŒÆ=q-?\ÕE€ñy@Y]|\Ó½tO%¯“ÃLJîË0?·_Ôêhª($J.¸îŒ²¾é‘Cv Ú¾É|›‘Á—ÅÎÚí®„$Ô._ç>¥AIɱ­E$*vøyß–ŠñF¤ÿÖ¤« Õ&›1é\”§KÙaûÁVÅ‚ó'ŒÛß³ÌïÆ·º„@bÑ"6‘”–,ÿU^7[ã`mL­¥_ òoúE%~Ö_‰îU]&ª+­QîÔ®ß*IúÒ[?^Õ'«ôLC›1H€Çܵ±YÎkÝ@é뢴½%rMRTȨ–®+`ZÆâÑ èA`|SnW¯wþ›õÜÃÄ÷óƒLàZTg—ö(ÈŽØbhw26&4ט¼ü©7·™†)PU2D‹íMîéÔ¦Ýó¬Œi–úVŒfm§Ž¬èig¼BåJÅ]XÄþÙ9…tK™7K•å¼Iß‘iA¨í €›càZx¦KS5™­úÙó>0a:~ÁD£WŽLÔñ÷ÃOŽI¡ANÖNHG™ì¦Óg¨‹Ž½±n-( ï¹½Áp0ŠÌ¨ý]yá?ÓÙuzBb'€-5·t¤Àþ‹¶ «‘‰q .çQƒ 06óÌáP5.X™ÒˆÀ‰‡(‚6@<œ`¼‡Ž¢­:­ŸÏi²gÖÛ<÷S«Å"β¶nÑgþP³l@¸ º|½ô ¼¯`(‰$f ø¿{‚,D†`B…Ê _˜Àx°Óáq,Òi,næzœJ°“º„À‰S9]´â€JП(¢42Ô°¼9ÉfJc×µ~Ó^H€ÑCäÒè©©àBÔzüéCá-œ^]D–d(Âиc|xÙ×C#ݾZ#‡UHS=ÍÚÈEÜ\oŠC°9Fð¼Ì në9ÒöL…PÀß(Ê‚ð¯ÀV`Öba³ ”õ ŸÖk´ñ€çq¶¸òë6vïÙbYÒÕeçKÞà®4.NHSŒQk_6`ƒ0}È£WÈ?£ê8O_ÓPÇ_}ÈäþoÖÀ¸8FF’e={6)rÙ7ñU÷î/;XN*È÷q¨©*½6Õ…`}˜ëŸþ÷2Þ¶Û¦úú d~hÚ+â>l›Êû¯âÊ}†²34'\ŽÌætR®ã´Ö"ɯª†Dï=¶s x» ÑƜ뿯EêmhñöWÁŒCDˆ9Õ3ñL}þO³{gsh%éN_œ&†c£‡®7žJS9À¬ šõY\»úº”9,}‡Æ ¾E“…5Ç-o«œ®v}o§O…Ý×,ѬBP}ˆ/1G*?ÙÑ’¡Ca©C̸š$±_z¸VÐ0g‚j½LÕò1q ët?ºb@ó¬ö,(V}™Èº'T܆ôï ¿/ óPpYß\J `‰l½Âl'¦ÒõÀM–%=ï:nŽ¿WJlß`8¤‚¶ù—¾â‹P7KˆÙ^±OÀP°?cèZß xeWÝ…Ú?LM(.¥¥Jjåþ‡whÈŽ©î)Ý9ÞJŸÜ.–I".vg±%]må¼À{!ØèqêÛù]&DÐ"'Zöù`Þ…ëÄXí¿õmGLh„ˆ;ņøîoµµúœqÖQ¶˜ÌUxB°†Ê0¤NiBËmÆPóßNÔÀ7M_¢ñ÷úð'¡]7Îõ¹Ð¼nÝ\nîFFh*;ÂÞ«ý8s›°T(]q®8R MånüýYñ|êòB(èÉRªÛýÞ2ÈȬ¥Í«9x²šhZàK¢ÝĈ3¤†Šo±rfKÌÌ·Êá¹;RL…EØvO ä¹!b6â©¶à ìù[Žá|Ê骅u’>ñÇúMŒt„ÃL¸—-úCzí,þ­VŽ}éœ[mÑõ½Ç¤Ž,‘H÷oòû£á^üH¤­]Éîb‹wz‚âfi]*¢†òÖ _Ε…6êÓ‚iN]ªÉI1©åzBHéÞåpÉjÂoÀ;˜ }©¨3ùˆÜz©~ÐóÙzWp¹&¬iÀ'­pÅ™ggý_zÑÖw‡6…h TN×™ tÎ&Ôõñv°¾‰zä¯Ö×U v¢ƒÏþç~'³f¯È¦@qYÂÌ7’¦°œôsǧ[HÇgO¥Ò;žÑO²âGˆê. Bã–^lyjÿ%òO|ï£Ùä,*lê·KpŒð0x’ODBj‘Â9Û«Vîl²‹¦2éÀ?+â Æ=à˜2f7ûU¥;d²·öÞÚT0ÐoQŽEóP¨êKØ­Ù=M«I²Ò‡ºâ©œˆ’ÌîµÑÝ~éNÍ·ËjN*§›5Q(-Ù4î‡_îC_ßD™2û½‚P2Á)PiØnÌ[pÝÞÆ;*–öïàG_þ CfttÚ¦|Â3"×ÊG'ÁpÚ]óWæ[)1:óËž©dK¶!ç\ €‰'”6”1ÚO·Ûj´§ÿ9ÒŠ[wgÄ£Jì$ã× ¦_ŠŒ…°£={XFsü왼ԉ½ß‹ Í5ާ¾ÑqöKÅPsÚ2ò:GEa«ãóï RyQÂ.ðP¹2ütŒ%ìK0Gʤª6w ð#øõ—…ð€ŠeíQ¼/p©},õ1±Öºž¡)s 9Ü=j‰Þä=ps†ús¶x@pð2ÿ4ÝýÅÎnËè®nª¬)Èåèm}õ<¨¢Ìrט¦ncÛ½ù¬WpU–Ÿoüøcb;èJ #¡öA¾UäÃc(yËE1÷‰úŒo©°Àº€{ÆŠ¹c²oLQ’"ìþ¡ð°ÑøŽÝýMæ¿)†T:m\ÖúYK–r=5V-v³òÍÁ„©©{.â³ëçgJðUÆÿR]jCÌZóõAˆÆ”aZWe„«Ÿ@î#É•æUk1ü¯ßš©¾3ÂÍSd{2$B€±mÔó Ìæ§^Îk¿A˜€>’f¸ie$ÑVZ‡©Ýq¨“ô¹ì?¡M;!ªHmÃrÆøƒCxeÆ%Mo›)Œ1U,Œ»0±Ü)Ý‘—ªPbÚ#Ýò›þ½FJÊ켨 n…|PÐW›x†kiŸZR¼¼j.‰Šm0:ÿmR)à:$ Þõ²˜C_o^ÅŒŽÝàQF•¤ûé‰y¨Á-·–‡®™´Ã¹|"·l…ÓÎÒ‚UP_ ÿÆÝ˜ g’åi-‰¹2äw´¥tþk…ßFFoÒ®æÄááŸÞ™—]$ ¥t>Ï–¾O.…ZUÝßHÛo]Ù;8ZÑç›™¿@:>%õËXs@ê.˜oµY“ëd-xÑ4kÍLæÈ?òêã`#$»pÙ-P-`‚ŽŸ$E¦ÚÏ5Â9—Øsþ:•J‚H‹ÌžèêÀiDÚ¯ñF—úP„9àþ¯¢áõòª¢Dï¯KY×›}‰a‹fEm…ä†4:;þI.ù‹ÄPÈNák›SÀ$üu4¸g‚ÝŒÆæPÞb’æ µ­Þ”=åªÄ‡Û6äku#‹„MWñž½<÷hΦr²ŸùÜGÚí¶L¦hu$Å™&ÑÕG´Š£ˆA œ á¯4$¥f‹l3Àùe;!úaû.µ“\á"]+Ù³À: (suN¾Ù5‰–ÍEŽ—H‚u[òö èî~ßmO+L ½ðsèÄQ0|¿c<¤sðƬþëÒîúüRåÛíÖ?óÎWéÙU¶öÝ\îP “He†Þ8¿WˆÁõˆ’×ýrþºŒ_î ·&Òë««%,Ú&8Ó$¬Cžó³ò(CË:Ö1ª¤’ø°Ü´Àûº·„bRÂòØKÈœ,´VÒχ;<>åÔTš —È(Æ ·ÿdÕv`¶F¦¼ eÞWdµLíåE]sü6ZÄ £#5CÄ­-¨líÐ÷·œ<€¤QñusEeQÔ!L×€é9ÿ‹7™ÕoSÐËçBÙç_úGL^7Ó”.† <:Nî‚„½¾ÉG¡¼XT9“Ð݇ТIàº6ÕíUêv?áþëÌsuwlpPMà;›[Y€BÀ`^R‘­ñÆ Ë 懸QÍÎiþ”Ò…b­´bS’E‹H™¢Þï|iR=Ñ~âå7/W¦ :{Í£Á/õ¾’:· Ø=™m¹ªÃD-cnXÝ À¨ìx=ß|•zŇaàk>ØŠ8-§¨‘@ÚÔ0Ç&ײX»&ÆÞß»1—ˆ}›áeO*9ÇËkÞí…ì0ûн Ìó §ÌˆHz™=ù£ÏÐ'Jã~1©oâ«R·É24©_çx–)Pð}OÊÍCvQ ‘ï.Ó`û èm•‘„·ëäâo¦Ù”õÓ+RÍü¯ä+_PÛýqimzJ_üc ùrQÁ²E6ç´Ê¨ˆsÝdQH ×\*)CSÆû*Kñ+O#)2T©É³ñºß>Ÿ·RÒRDý¤„Ù—‰¹& 2j~€¡;öfîØLdÌÅe#!(‡W¬ñÅÖ¯h[tEbò—·L4j ±b?¨þ¨~Ö ÕÙ_,‡q8á!µùPÖwÑý,Èž/'yõ}?ØŸXÌÄÜHÚb#¶6ÊàÊá(ÆëÕŒ´BSµCÅçàü¨V ¸RÝ¥ÓQÐ`ò ÷‹=2®œ+™—ÐúÙ ¦:õØ\T>»µ2ïšz­1Ðûí¨#HUïýûòê¥SÛºUüÓ~³¨ ¬Ï*Vµ3/©Oú^•T±üB7Êø¿Ž«iúGL‘Sæ R]&G ö(ŽÀ8ËJ.ÇäU(Hé«É{Å HøáV‚Ô0*N¾^þÅŸøßpÒ ƒŸÓK“{qÍžca²ð”~8àøÚ¯•(*:п‡P à€Hû°ÏˆGO5N­ŽÓÞÌó&i.ä@~ … Ÿ¼¾£<·¥e¬*¨Ï(ø ­$Ñ´‰|Có&Êó9é„t.5£Ò©7€ò˜ÏßySËð%=Áž‚Ïq°€À‹¿Nªµ4éK˜÷‰£ØÎ>ÏS+MLHµÏ¯™Éß’vÑ{š6ùBfç!üë¥e@“¤òû3Á)¼áL+Ts¾Ðã›~ò}œl[ hç#ÑD¨0{ø¹Ë}Õ‘—G@†‚£)ìø‚3+b…Å6h&î=Þ(ïàgšÁž™p~wÞ.òµçM©»;Cm–­‘¯Ý)^÷<èoÛ.C$à(Êmúö Þ0þg]fwÐ訋Pƒáãàw—^h4H©Ew#Cyæ»5MÔ ÚüqÈAºÄÆ,¨µ§åÍž{Ž€Ù©rVsß]1 Û‹4†—;Š#‡§t¸FÏÜÙ”Sß Q«gÝî¨kø8<åD–3A5(žaH£D$›âÓŸyÕ+­ï;f}›ô(²Asi¹ÍöYŸs¶×Ñ‚uÅUV K4ÌÂôÃѰnN^\Kí‹Ê1=|'jVÂj@#ë·¶u½?©tNéå±™Õ)á²VP<ˆbÓG¥ktY¨0Ò“›L°ä‹ªóñï·»@ŽîDÆiŸ3òJw?ê‡Ðí³;C_“°Í4>éAû¹aºÈO¼…÷“Ø9&VÔu®Ö¦{ôÑí™ä{0Ðý¾=9Wu;Ücn§Õ‚¡Õ„_ia{<™U¹HªO‘þOQ EsÄ—cmP¸šT ìOÖ1Ÿn×ÃÙ<tIŠe¯ÓM¹ ¯ÅeWÊ’äèÒ&aª$}ÝÝ‹ÿZÏŒte'! £e0¯‚S&°ÕM1/:(³I ·µø[—)2_ ç\Sãr÷F©È{W©1ƒ–•áã';oj>Š˜×¾Cñ,x[Ã2½A ­}–…m¯LM̘݆*Õ]QÿO'úïÍ}ŽÉ1vÀׯàûŽ}À/ü °ÂáU­lWÃŽ(¦N}”W"~¬Â樅ý„z®/$TûÎÄΔ#¯DðD’C¼§à^r}Ž˜ÑËÛjw~X*߆Jößzr“FšQH3ÿ(Ùö%çö9¹m—oZ´>\°Xð*Ÿ1køz”m)ª•‹ÆÞ Æ8ÊÔÆ2Ÿ>ó%ÒV¨ŸX9š¬^v§ø1±ö0šDˆÊŒ—óÚ/¬ëX²ÒœÁ²ÝÃTcX‡!IËߎ¬µ´ SDyXKï§µx …mI_4µ9$ €¡“L,ªš± å7xs¿‡TN áÃ3HW2u³”;µ¢}Þ¡bFÙå}a smFZìPÝt§”¸#nu$ö@ƒ]œfÐŽ Øä…ÔDÖMä3 å»x¦ïât~[,¦ÜeLä-Ò½Œ=-?ÏôlÀôÂ~œðU¯–Þ x±ÚÚPèóAÔað×ðCé]‘çK8¿%~Q4ñzß5Ö{íçvn’)“OáE\ÕiaLS—7¢ˆÒAP3M üÃZgÞž´ÝAßôÎ:‹]¾):û¥äPI7¢{—šÆÑíC’™mPŠ$Ñí4’×ôŽmN@Q2NÊ'(òIËTi¯øÖ¾:ò…š½îm)CxµÁ÷#¬¬] ‹`±‚‰éßQᎎ«JÂ÷U¶ Qe¥Ç¸3}ñ—àªÓ¶î ùvÝù–÷ßÁp¥ÏqÃçbðj W—¤Ìõß=m_j©Áh˜Q±V†"Õ´Å>“˜A„×b©A9ÌÐLù Õ=!áÜ’K³¸ã">u‹¦ Úsìá÷! j·uÂþWÍ…˜4ôkrÆ {#v¬ø#·ƒÌ%ÌÔÜe.qùÍ €!Ç´‰r§¨äs£ío6A^ ¯O%9á*l!/ÅxAk¤ª4°ºäî°$$ÞIa‰Jn?³^TÌÆHûçÚ ^©Z!“Úý×î]%qæ¨k•ºCíŽÈ¯°u6î-²Ic3$^›w žð'Ïi*hݦø›- €ÀˆB™súâLÊÑFÙG¨0£Ãæ)àk6(ŽèSPìA dîç㘚Z? ¯_±r^6ókwc½מ–é¬êªNO|-/…µW74›Úƒ1x¨†ÉñT¢§¦l4UX‰í(K²|ÞyJÛj5ùî#&Ï­ÿïÊnwèb$ÐqÞøµ7ýׯ|Äcó*øPY”+Œ¬Ð¸9e62=|3ãYƬ÷D_UÃ’ÿr)Ä2®ÒñøDir¨êå†wä=‰¿ÃuÀ !éKFuM2—¿“‰ŽÒë —;„¾çþU…¾Æ·²EúS›ÇéKtm8]¡÷ïÛ³ú/rÕ42ª¿8°?$»§Áô¿Å¿´|UkªÇøHÖíŠ8þ³±3?ÃçnÉõL}3*«™íaªÄÂðÜö®µô-Ebðú1}J2©M®¤ c¶ÄâðŒn¿KOöíPþ³. ×( Q¹»iäd°%oóÔà#n…Ð-£¸ˆ‹²°Ç-#Ë]þüá¹j6##úeÍFy[Å?¯þyõdô^"…ÒïjÊNÕ¸uñœ ghR †óL£1T îØ¯Ð2]‚è Á³ÛÁI¯Þª°¼9ò˜$ã¬P_êÿ=¥€¿†n§D9Yjd%hº{Þx‚IþLñÅøbâ8j5`0CtæHŸH£ŒŽÖuö›§q„WÎGX Ïì(CªRŸ·•sê ÊX×ÜhÞþßoºªš]ÜX&~X‹!ýÓî¦êìîBY{Ʊ C}+€ƒEiÿ¿Ç ÿ0¾e$-â‘÷oªySª"À/F2xæ@˶VáöRÂ-wõF«}#¿]º¿€S4gÞª„è3n Ö›º9À ¯ XK±D6Í„±IO‡_9Ì®N]+%um¨Lû8-x6²÷ Ó߬jˆT–L¯ŒšâGéójÑ8/Æ5=çíõP ÅŠõxþ-—ëë;þŸwô*ßÁ³¢ s´éÐî$.8ûkÎÞ³hÃÝ=ïl#´I‘ÓŸ´>Þ¡­'fjX1šýêpÃ31`lÒ(SÎì=¿«XbúåÝKÞ|XõLƒ¾L)ò`YiüœõØ#W8¶è#jír9A¯~ø~h€Â¼´‹»”G•ŠŸYÍô ï~ûM—Öv߉GÔ£Iö¡˜ Çœ[Bdm TÓ\LØš*ž Ò&99uã jdC”¨ÜPsrâ݆ùò•‹e'GWÙí!xÛÁl³Ñ÷v̇ºPá~©ŽÅö",îȦ¯ì„™b-DkGˆÎíUÙ`üAó± ó]»Æåùo:d owÆ18 Wt@›¶ Ì¥ó‹åAêV‘¥gXÅ—;ÌA•“>å?T`L~ûv·èÂp+¿:n­‡b¼ QÌóÈ ­xžþ\[˜ÍŽ– T)¿«±ç±è‡Ÿh$nŠÌ‰L•$è¡g—'¸hsùñ>B¥>ë®\¯VAßßBŸ‹ˆ-ÍRèØe$W•<ÉnñzdJX]–'!Ø~P½Xý*f9dÛ%; $2KMt?ÌfÖØRŠxsÃ~gÄlL7µ·Ûã(?ÎdÇæ¬Œ-[íõ–¶ ç(:Ë´—9ô åñþD KvÃCßm—´}»ëÏžÑêÍ÷ïcv®RÑéù÷¼®¿Kv¦ŽmÀu[K¹ùr÷,‡¼wAžÒówV’ W—§ÿWÛò1)»E!}MiÉàiÂXŠú·Í²qøâåëÚ8Ÿ³KwÑÞÞAó4åPÀU)œ šæÐ {[›Ì}ǧ]žD3O(ÿh¥hOÍÓMªÐÔÌ<ÒH×@Þyq¬ †³ƒ­u@(;¯ºåŽTË¡ÝÖ£ƒ§º=Hh¬”ŒŒÄ׿³%çëf™€f¼±ñm¥Ý:‹$ñ95Ø€ëJD€Qb‘Fô ï–åçº> «òY‹ÿ! ©à¹‘Ó˜¼èÁ\³Yèµ šŠ\ê?µªèO×Rs^#GžŠÞßQ½û*ª4šLßÔ¯h£®T#¦ðßf_¦Ê°ŠmþPëú‚ Ù­=ƒ:µž >‘Þ",<šò1Ó>VÚ3mÆà Œ¨ÔÓzž$qþ§ –°z̦¡Àip@˜‹mëjG݉«W¼ ,àUg¶í)xøHVËÛÅÀZ×e^v‹(ŠîÊî…šû€ìz¡ì"†]=z©·{-Ã× ‰ ½âV¤ïŒ…ŸÙ^ž=ÄëÞ‹òXC 1Eú½¯ùÿk«wÙ¬#OÇ#a#æ>Ê/˜®Qòç¹×Ó0} QX¹´bŠÎØ„à1»1&oVë°D:+%E#su˜¹ l`e«¢ÂwÈX쾪žltlÞËÃÇİ-¸K†‰¸ñ9Ft’§ ‹îÏSgç5ÖêjÌÑ™˜}Š1lÝýïœÃ¼È”21fEúøzº€n¦j+ÿã’þ2¡Qk{­´‹I˜¦­Ì íÉ ¬#Ñn~æ˜àòµž<µ×µÂH8ºÒ´ÒlÁ–¸9™l5 òß/$c¸ÁsN¥ö×싈çO÷?ð–Ýœ(UfÂB*ÆWŠÒe}Ÿ›ýBr;Î5Qö=?Æt$yòûÉ`¼ÍY7 g)Õ˜%3yÌ" êÍp)&Ê®O¬«Y#³ b rÄðVÑÜ _ÅžYûBßl‹…®-—TÿÏÃù7z/'69š$»°qªR70Ï@Šã‹eõþ‡öïáÒÙ: l½MiÂ$ˆ=¤ž\¡Ù¸® ê™¶¡MPÔÍØõ½$ZÞÓ Ës«äã/·Õ–à÷pŠ«%aü0Õ’VdŒ‚Ê|Ò§Rx2FóÌ2˜¿Ê¤SÂÄ‹"ÜMÇ1Ž}§þï½e½É¯ª$‹\Á¶ ØÉ“ÿK •„ZŒ®nЦû¨þ4m[~P.²Ï«‹1j4µj¤Uä‹;ûð›Óq"§`YšgúFÏRötÔæYÒ‹TÕà?F‚¹º7D%DÿEך¨ê°( 0”H aÊÊܺê”FtL£F–U8³@¦JN>á4T-džB’•[:+´ƒ®L p¼¸±9nc[®‚ŒÃ·¿ó‰ö_M3˜Ê~JñË}fÃí#âPo«ßOë™ßèF>ïÅW•‰@úü«¾c±éØtïW¯¬74yÕ…ðo$cò2‰(q=XH÷@S£ ÉO¨ Y÷¶Ÿ]…ÛÝ~p{}éÖzRSéHü¾R ¶!çÖ[&+/JðíL`½»|nP¤U)h¦÷É i¼Œo6´lÁm»‹L€Ú8Ÿè ü,VJ¦FUjÖa¢Á°T<ö³ÛšÐ?.~¯§»ƒZx´šµ‰ÁH2yKžÄJF$ƒªÖ# $¢\_í+—He]³g!>‹öÔ00w–ˆê)üP[a02¼¼í¥I‡%<×ñ`%Æ‹þ{’½?ñÉŽ{¶¦¬™A+u}=Bä—/#rÛÅÖ]0wøjÚ•Bd“rŠºTù5Qà2 {C·Íàåešp›Y®Ä7¶”Œ¡õg•ߪI…ñÎiʸM'Êâ’Ýá®öûÆ©ÈUcáh‹¢†°ZfCÁÀ…w©ý #ÆYYG"UNŠÁgeÀín4¼Ê^ÓÐpI#GäY×B6o£êù$¿37æŸP>NsžD%{+þê[TÞ”Û>ŒX˜ôèHe°û¾¤†ëIrùÙL<-ò)Ÿ(¯±h3içK)(×ìÌ ñˆõYty环»’¥¾g‚úÚ¥j'YõRÛhŒ!M›)É­+ÍRÊ.‰V«æÞ­[Üq„{¹Ó…ê-¦*%" { ÑcÅë áyâk8zðF“måž{ô¸r^PŸ‰»÷Ø¿÷EËQK/Udm%G[]æA-ÖóI˜Åízòz¿ :=Õxœ BUpÁ{T|8HW¥«Ÿ“Þ–kÂÛ ûO\ä§”mÙF`±œ»âj;nx:Šò¿Ÿ ‚ÊãhíM½çqL²EzοÉ(„\ÆZ³Þó[$£ÎÍÖWuwÜö®7î5„qúîWw,³5‘ ÌzÍný? °²zÁc:Uµ7Dã¸YV”¶žÐáFc¨ÍM ‘E#K¬°Ñ Þú”·3ŽIw:«eýZ˜°Ø¦{XI¤»P©~X‹qTÑ„—ë˜*ü3©PÃ!É¢’ªÔæLy©Y ®æYP•EÚÊ˽rñáþ/Wå?u弿˜øh/6}‰ßø4åÛCí¹5’ã=íðÎL&.ß"óù¨rç–‚MØní=QÚÿþ›Ñæd¡€Î“ùމ®AhÇGC]–yvg3 {J°G)9ZEì~Šp—eUù)ÒiÄÕTÐî\bȉ½æ§»=0mŠ——ŸEA)öô27G|Þ›o;V¾U€„I¢°Élånä+’O+ [‹ UêvWm¾píònvZ(øµ¿P3Ë,žáeÌmñÂ\ýBž’œK•®¸PŸLØ ËN¥)è9!)lÜOWÄ)–MJ$dàËÃEØ%/’KFºñ YÁO³½Ö©.Ú-ɸç 'ˆÖ®‡¡ÿ9›1´*N é¶×Ýô|NÈUÀš“{èZŒ¿Å÷H˜:‡Š©­.LÓá…n*1ÆÔY•ö¼twª7Õ²2ø…ºF¦}Ò°däl:ØÐ¥q¹,Yúe~«ûÕŽ} gƒÐ sôr^š’ –W´“ @©s°æ~¥%‡jêö™'“È#6 g™±)ÚatÔK £‡Ø §“È£&Èw;Û§‚»|Þ ¶Ygmà[– EwÈùÓ[¯˜…Ÿ8jÓ#~åœø‚˼QyÂìÐ&'?ìõÖG9çnøXxFâ ê-äÏW±ëoð„<ˆê á"û >]%ʶ¥­§®-Œ¯£¸ðkiN(ARJþÝFIwA×/—Ý{ pÔEr¿X¯Ïp×xùzç”"œçi¸W)9û9/£Ý[tË÷ðð !ÒNOôäB×@–ò–Â˼ v:øä ^“^5–qöÉÿ ÌN6o’ÿQK<_ÀM<\£íh]:‰¤õ3¿kÇØ €PÉ=û¬±»Ú¼Å«õ4vN2Ñ×(€Gÿ5’MùÌ xN'Ñæ*±¹Š¯àYKewÞ­3cnÒªö=ߨd¤Ù=‚j€Æ.«ñûb/ö0ôŒ}ê (ÐfèM²…ÞÒØö‘éEa£Œb¢À‹Ø.þ¸¡ ³@\þ—»ÓŸM0SýU/ëÌDpe-ìÈVÿñ3Ñt-Öæ\'å»z\©µO\¹[ÀÙÉ\ ¼Î}©Ê‡î—ÿ³Ü¿±|ÚfnÛP±|#ðbK›ç`kS°çPéaný;¶¥ãcïÄåS¼&+TÚãæs1c<ÞÁ¦á¬ÀLéåÐ/A"xòxµÓ†”&ü5°% _{ýÁȃ’—¹²ÆÏÜÑfÂ¥¤Å6eOÁ°ÔR1FB· ÞHyçuý<á|;H…+˜èÄž›ßNÜb×F¨¢Þ[{½’Óxá¶ê“ÏñS¡bIóÛ?ðq#?î1­‚`™7©Óû‡˜0Q÷q`.©Ž!UOPDÙØ×`a€È(†»F(.+/Z‹+î‚7_!wœÚ<³¶ û¡X¨…ÁùÛÎ…Šä×Êç>ç´öXŸÜ~éÀSç±z.CÚ3N“AwÓ:Wñ’jĈ™ô86?ŒäS¾öóÞšfº‚ö7XÏÎÓÉô‘»ØíäŠúΑT}ÐÎC…¦¼m=çîéÍÏþðT^òxIwcZF#Ö?&JØ¿WAØm¥kà#ÅàÖž:o¬BŸ•˜ P>ŒŒñ§¡\°8o.@ƒï§$Ë!Ê d«‚ðl†"|\ß&°@–W!¥¼µ£ êì-âù® Z°´'Kç¹j¥Já7•Ñ7­™†CÙ‘NeOÔ’ gEsÆñEOÀ$ù'Êö½"“éÜXþ.I) Œ<ÆÒ»¹¿LõH5ࣷUwÐ[æ{•œï2b^Ò¨U¶x-ÍÅhq Kfr08=¼hçD¨%ÐÛm Å•€#q±F×eœï¶\­4ÊP„Êɘ&…lý‚éØgõŠm¯ÔâþZpìïÿ¦§Á±˜Â¶'™‡³Ã‰¹Qñ ön樜 {<XŠ0žÿž-˜ëºS0oºj79¢ðË«•ò·ÒQ2{€l¬Ý¡"öþߨ'Q3: ˜µ[y[ Òz$Wg•¢XIzt&³¸>þ/ý<}•[Ëž¡÷íŠÄÓD{jÒº¹‚¶ gÍ"à0º„>ˉll "Úì|\ÛÙM1Og°ÔlÄoÒCüp#*}ý¼ˆ·ôaÓƒ¥Rci1È®Þõ@Bá¦ÉÍbÎÕšŠ)K:Àa1j´‹MºEî@¤ŸVqbÕŒüY˜J¬ô³8zªéß$¸ù4eW2€ÚiOôA°÷qþç{0Çú|èõ7»KFnŠÛJ¢¬víIýÕÿ´m ÙáþÑfªiÛ¬cÀXý±ÃýuÔõÏUÛ¤}¯þV°Ê&3òE¤Fi XŒOÞ¦˜yÄ¿GÇ.9YäÒß’)S½?L®‘É‚>‡‘¼4ˆ÷ùAh—Z÷¤ĺEÃÐÊǯx-)F¥àëwNóÝöZ9  ssØGÛv0ª¤W‚„Y›ßœ=jìп^Ñò1•˜fºÀæ^5Â/žì»}^ž~{I)Ìî:ØM©\üÚ¤´qŠîuƒ°“úh:ÖˆKvÖUeN#Øì(Å8²þPí½¡d7ÿcû&îdi1Ë{kÐ(í:q-ÕßYÚ„~c¨°T]·u;Ì •*sZÆ‘66ó¶œ"ÔÍ”ÕeÉ`eô)ÆY²0Y…Tmú~'*¿ÃAû¯#´GU}—#Îþc3ʤQü¤¨úI¼ÀWDaN%f·Å¾¦XecW°ž?ÌZ‡Jމ˜Dѧ/UúHº1bZbs¦æzäƒï?{«ôά…J­î‡#|ó(`{P‹©€ñBªÂO”üBâä{ IÊßU‰Š|öyëkòÕ3h+ µ‹Y³QyóÄÝ‘¤J+OÞ …» tå×Cæ`ëE“_pö‡ Q^ù?DõNGظ eP-¤ËÛ´G ñÚÞ¹*½“Tb;ET˜‡vGPüº:·SðŠq´ åW zÆÔ©£…xv)çÚG÷}Á”ç"Ü%%­ˆ¢ŒÁïd"cÁîÖîÛBP7$t®ŽS«¡Z¼f@•êÅ“GEÃÏ G“ðLÊŸVýëÃÿ½[5%m…ÐÍhƒ% d(ÁÞ”Nä`)‹>”("Þ3¸èò V`ç0óo2GrõqîðŒ@Ó”²å$‘¤ŠR£7E6lnë|küJááÆ3Ýf?ùéø7„“Ãʲ¼Rn@|z·@„‘ 9‘úãoþßÛ{ÇüÌFBD·šm2f¯Ðç-ºÐêzþÀROšµ.rR¾­\L>Ÿ‚@ùÞ‰¾=é©/ÝMŽbP0LkpÉŠ1œ™îw#ínÐÙØŒB.×ø¨…¤<¾`Íeà­i¿ ¶ö¢ƒÿ·uÈYjÌ ;Ðt˜Ú1ð”qÍ€Áú€Ûoe•{oÿüº>ç-Ó<ê()43ɼåÕú½B¬èôùu±°Á£Ã÷\íO.þ$ÜrÁ*g•¯tº„œ¡bÚ)ÓÔby‘-äl5sÕŸãàJ“‡5´x{Íͺ‹½b¾¶Æ£–œƒÂê»×V–Žwq€]ÜÙÑ F«{Ÿ½é_'1÷¤§`ܺ…ꊙ2£AA5s/nù3õø1u<­¡•ïCLB¾@3‹¸LäosA›ÆA{S ÈáÄUOÖ R6ê¬s+¼×„Érî¸wšÌBRâ>ÕI axš ëôtŸ\,jž>d“Õßo öaÇZÊŸ$Oã‚¶žWæÆôÙ ×kCη%$Ûõvl†%ÖÓͿֿmè‡`:û8zèÇ3áÿ­9m`;ÏC üAùÂÕ€Þ‹îäϱ¹6¥Wwå+”ª/Õ—ú²êk»¯»a5:]ø¨Y&P7¦‘»Œ¤'bA¦È[žÙ&Ð*­øÑõxj#Î=Û©­–“klϖ̵íX ¼¤^<éÞÜDiÌܰÝ$¯\ß~_¾þ‹‘Y›ÏœÛGÎÑÕÌ’ö¿iù·×·~ü°j±81¦N¾É§Ç Ý£©ìؽ£…d¸ÁR<·…Ù¿ø¹³ø¨#õžû7;iŒÑfeŽ”©=ªÿ£,× ¦Ô-…tvÉò@8¡]ì"¸”D;²4ÚµuHÔž¶¢4±äó¡C_I_Ñó V<‘³8Bn:Ñ¿$¯MD³/À€¨i¿èïB{s¢ÄC)¬J'É{%°¤¿æo’8Ÿöol÷U¼#ˆf^éÄa¥ùJI«…Åã¹ ‡i%­]÷ 9@”Eà&¶ú`n ­ƒ×HÔhKaóT@ÓS 2K‡Z4µ²ÅëÖ,Z÷:•¡ã6Q¦ià€r¯Ë¼Âä.ƒ¸<˜{)ñr!1)±Û"¦YKP{œf[¡ôkP x±÷|c!n—  ŠqH ?v7£{z"ܼõÓI’äLFS€ô·ÞKõ*?ðûå_¶ŽÁtj•F}ÏrµÂ tBeue"  P1´žŠð»T¯)ó™ÑÇðü¶nä•ÐTŒš°%ª=Çäû«l}ðb­ïïPó¦¨ ‘"‚ D°€ô.¶av•¾Ÿª„»kðìµþf2èLêÝt¯sÏÓÚøk§ˆ9ÞQŒ÷¦ÏÜ>È{ Ìyi9k„5ÀD'i—ü¼®‚NÆc‚*–"ˆ"±èÝÎEtî°ì@WÎÝM ìïãÄdœ)7iŸzSŽ6Ü)6S:f£åk×õ_9£¦S,sá(þ”³>¤ú)u¨õè½Gˆõ,@6lu"0?|ÅòlYÆ«|T‹`;¯y§hþgÀ Õ0*Ÿ¢«÷²¾«NWôñµWš§Ô¤-’£{ßè²:q „·Û87Neg=LU™{þIçÿ¼ëH@Šœö j£Å¨öï ¥o™PHär`o Œ–M.Ðæ‘ÍAÅÇzkå”›øÌ#<,Àö ªWG;Îz!Ó3……•Ÿl¤ÁÕ³Ž[–ïØ %Z·V€az̃S¢°.Bg×n¾QïêšCsï>Ȩ5xÝ:‚_{è#<`G¥Š·œ ›ô¿›¹¥AØ.¹W9q×d]—žÇ‹«\œ”OþT°’È ñà_äZBîækÊ dòÙ!vx¤Ê9ñ7ŒÁë;îïC~|x·IÍù«Ô›ªÉxf"EÚ¦4%Ç©,Œ¼¼žð A·l *"|8~Ü6À÷Ζn;öåŽ*ÍUyà!ÎLƒ,ú ’5Yªø) >ÊäëçüÏX·“z²¨hçúQɤ‚ž[tI\ÖC©´Û<ñ>æøï’-pivDࡀ߿5{ÄZ…e‰›ö1ÞÐ)\ÕÖÞ’Ô›Däó¦‹Þç3÷ÇuÜ:žÈx4Ë‚Bt±™%jcˆSøÞ[Iøù îPà^V“a{êrh@ñKãOEQTãyÎôUqWV±È³½«¼âøØÄ÷&¸9a¦"’û¾Õ•f¼’0ë£HÖeð¿Ã½®òÄ:¹É\§ùÔÝÿýƒÅýºÛ\ç¾iO¿¯v&˜,ûÐÃkµÍÊCé~ÉOÔÎç:c]ÍUÀ1!ž6\ŒÊŒ½hj})Æ&"ÖX;´ûGvšê|>4rj9• hDÕ‰Xi?P$‹ü/@œ©ª]‰ðæ½3nþ9 |ØÝµäÐÆò?ˆy1º&I†Ðn%Cz²iR53èŽþûª›Zm“RðÅűq™ã𲺷n7 eªÖª4Iòg‚µú%5Xî¥ÿMŽ„tÞ€é@”¶y|ú*0ÁêÝOm=0.ŽâãY€3Ý+Å26/êtj} NôuǤîhÐä–îB‹`$ ƒÊ•’è…øØªëü&áì…É"W0=’ÊÈ#&­û¨sUóªÔ<,6ïHäñòWº=ö}ççK)+Â8¥Á_P!ÈjúLleÏÒVwÒŒ¼SÙˆÆváŒÝB>˜a|Èi?HÖ»˜‡ûM±8çV% ‹1•áøz,<©ü-`²õšîj¡Ä#Ó|<çXD3±&¸ °â?üæ–H®,¡Hø¹®„/«Bݧ #Þ¥îÕBâùñ\4²Á7å~Ü€·ºe>ŒÊ]/8Þ“oå2¡¾ëpÈëKÒ‰7uz®lñ αKÔ°ÈSíUáfx—‡>”z\¬µ\/Üý¯¡šƒuVêHÍ](àxX¨’³cŠsAÝÆ±ÇÅØïzzuäÚCExf0ÂÕêå¡&ÏÙNâûŒ@v®p4ÿR-BámŽí×Û´•ökŠÇž…°ûÖRÖ-1µÁ›ï‚ŠÜlµØE_Æ?$ ùMã«ë{æ*åêÞÞ¼uÐÏÇìhLºÄËOü»Ä]š(ædF‚Ÿ­vSÄW.Mi!ÛƒBñǸ}Zuà£giäéwàÅᩱ:75õâcYW@Mc#Õ&ŒnÀj€ps‰Â)u„l#Ì•ó©àˆ:?Y*鯔äAn@“ÿ{ Q43 W%Ûk$§/´±‹Ûi ÙOü«ÀpÊáŽ7ëÂ}ß8ÏÓ¬¨z7·Hüz57À²nzH+ ¸ „T›áеDÄ¿sÉk.Í€šj®ôQÉÿöQp­AKב›¶b·Ûªá±Ù}JI³³ŒjìØwÕãÊájL!OïõïÿÃæG0…zyDÑ3mÛðxšuËî»’•4ŒüîKQ ‰8ê“•þ•êq‚-Øî1 Þ§_tI¨-PF „™U\|*èÉ¥'·«kln~1………V|ZÁô[²•ýœlýiâ(P/°(Ì(ë”èÆ¨*ºN1+9=» 2¯¬…P¼|ƒu%.Xotõã (7\LŽâ¡¡mn†0ey@bĸ‡‘õ7 ;¥d‹j¢`‹!–¨çÇkniÛtƒx¹[ðW'0 Ü8H‡` ~»€ìÝ­õMFææ2QšÉT¦¿ ÇÙóÊ*¥Dk2®‡4®ZFß^QM)eJX×ÈPn›êIîN-7Œ*íìç:²«­ªAœMõ9õã¾Ïn&ˆ<ƒ:ˆÁ¤X‘ÓJ§ú© YBnnS+z:˜²iÿn-œTWri}@X9è,ÙOÁŸ(ªÛ£ ÷P:Á—Ð ™€|Fâˆâõ¨–E±sZ·ˆæ6¡äÙ]ê• ÙûŒzq±u-µ˜œû.Lm´ëÉoí~–õ¿ ®è˜Iûj¾>)›¥â‘üšKûž$•lN/b„z×X×Õ‚åDWï”k°…(+‚ƒü* ¥AÂØÔX¶Í¸Ö{¡¿`ª(\NÝ¥µÑíǶçƒÇ÷$*òå -—_âF>1ä–r`.÷–²©¾Ü° ­Aß; vÍ0¢B¤]•Ñ„ U&y(Øë©Y¦À¦aWMU?×/4É÷jDŸ”@¿Òé„+Ÿ©öi£O+AŠÌ7ãËÛ=\çF/@h£Ç5Óäj9Ö|3:@kî4i/¤›~I°£g_½—W·U<Ÿ¾xÆösOµgei͉À䣰?õ¿;N‡ß+9ŽÁè÷ë‘Q%=µÂycrJób-%!À.Órï·¢øQý“ tçâîïw.æÁ`é]ÙÆÒ4r“ãSsÀq07`·²Ó.’™˜ÇÂlx$í¨^+EÍÅ”P D†f¿è‡5Äiq1?Mx§¡ÚÖ½?' »cÅÏ?I(ÌHöu8ÀàÇ Þêÿèsgý‚¿”)îÍU ŽÏº·k«êíÃ2Ëi«­s'šAÏ_bêˆþ[\kõÅTÔ/Ôvü†/ø—nȾúüû)œt¾[èæy„P´=¥Û‰ÙtÜnº@…úæc÷íŸ4ˆ*j@¡jù’œŒFò“”ÞìÉ»Vnñ¶ …Î øužÞIKJ°6Ú‰<»¹aÔN¯èÏ2M–ª£± Ðþ†WgÑX·ö‹¿}¾:‡g` Ì\ålµŽÑrý¸ü‡£ÈXja`qÈoáí gšì<àB"÷‚Èà¬CÜî€ú—³?5Ì•–~˜åNU»‡Î)c䃰èéˆ-¦ÀˆÊÎæé7aI4t"„5–h !–å°,9¢Ò9¤—fÎLxMÄ8B°¦`¸š3ni¦÷¹˜¼Ü®ÎÛ׃.XQ­ZñEéëµbè&¹ùL†Ã9a§îÁeïkë~Çù¢  •! ïuÅ›SÏ‚)ZLJŽCô<4»J²S´[ ŠXï[&Ù’Ôç×[õ`RŽñÚ?‹ƒwcwAÔùöUzBÄ÷Så3ùT›0þmà­B\³í^}¼GÞÿj]-Ñ«\jÑÂóÍOWü²H}žCD«d•×ÒŽ*ûòW—óįL{0®³„{ɳɯê>Èö£É`=2£QfæÓà>2‚–þ[`8ˆ²‡HHÍ˰p%×îªÑw•Ž$Ýi‘:ÞF׳߮p¿ÖLE‡Ü Ê^­1§F®ãezGë*«¥è¤ê5>À"H}5œ¸k¿!Œ†ËÓš©»¹¨bÖÑòæ5Ñáó…ÑHP0ü†S:X·´Ðôn…;_(挱iáè`Œ6è9ç‘÷® r ÒÛ†ƒô?WøƒØ€o™°mqË> .x¤t åpjQoRÅÈX‰‹µ_Þvñ¸Hñü% ót\ ÓMÀ×–|W€¨BlPa°ª˜Ç3—dølp>3+½ƒž‚Ñs«fèí&Ãe ü6’zÔÀjŠë¥Q-y 6æŸ:ÝÇ’dôÅ£uÈ,Á<¦çÄ‘÷H9ÉáÊ,¸v?Qµf’jŸ1íe·N¢Wùû¨jÓvÔôOûÁÝý_˜ôèJ&¿HEó;–µ.ð©+o?²äÀmö}TS¸¥Ø¥8I3Ü÷ãðÎgÏæ«>˜¹+Ò¹$·€pkÜ¿‡ñOòµFnXå×¾/—7kHdOš‚ÌUÞOµ&wʸ€Ï{ ™'·ž•¬\i;1ÜG'å€Þ‚‘61N5vŒõá‹­S5ÿ-U,?KÏ>y ï±MÑqoòo(œ§çYb¯‘ƒûö«±=.B†ÿ™\¦|£·C¥…бg ÀgIº "1Œ †Å¤­g‡Ëd}¸m~Õ]ýß20•¾8Ó€€²ÆÃqs’d^%ççeŽÕÀôCOêˆ1#>Ûô©òœ;f{++±syVæ‹'¦¨ƒ›™¯ç‡tú[‚I˜Æ­Æ^x0˜,8ÙzÕ>JLÁüÙÅ´pZÂ_è/ÈÎUͳ½þ9q Óœ7É©}Ѹ?ùæDï¼ÑVoaž.<¤ºµéòB·Ë]Q¹H+ÌþÁæÓFñ4Õ±6Çyl>ذ Ÿv Åø…ÚG3ãSï—h5‹ ž…SCåLQ¼ê6H~S‚!ã%‚Ÿÿi$½r}E„Wõ WL ü0ªR­¼ Ú¯E”÷:‚ø™Ç‹V¸XñI/`Ä€ž“£ËÒzc½d¦Éeö_ô̼ëaºÆüËoñ øGS½ÜèµPÇ4ˆ•­~N!²Ì.*˜ßƶü"šc®¾óRwiÛÊ?M¥ŒQå>°*hŒmÆfŽô“ £GœÏ1û]t„ºn~N÷u™ñ'N» W©06—¢W ß6Œ4½4i}8’fF¨°¸)Ð?…šZB¶!Ò"ôU¨Ú [݃ tU5áÙÍö!„8• û·¬œØ¯½ëêH1gÀŽO”hÅOŽb³ÞlUúh;Üs-ÿÂoÙBg Ÿ™í5ÿ‰ øë¹›5Uò ¸¹áÓM¾ÊËÎ%‡ pvñÚKr¦Ò[ND6ÛYÔ}üƒ7-Û¿¨%>ÁÈ“RÙo…ûY¬\ÖÔÓjÇ(#m0:ÎsÖyèÓ!¬ç ¹§ªÖÈ$bæúaÖßX8LlcÔôCÖº;·ñŠÖûjù«NÄŒ¥:4if´âK<<„­Ä§YÂû“G£âÀæWºrJâ¨á\sb“ÜWILF]jût~ùß²„ï°lœj”£$v(=% ¢L^_³|£ÐËÞØ§k“´SJr zæ{š÷^oÍû`æp'¥œMÅnËàé¹YeÐîQŸ…hM&t¬Õ¥êñN~¸•òîZˆí Çž‰¤–ߦ¾ýÓHüN®,·‚îbšwxzŠ NÙ ÍâÉb¢Çk]_÷¼PèÄ6"kƒ‹‚rgQÏX:—¼ Xä¥ô Þ3W5d·?h;ÊÎtäÍ6a*‚iB Ôd9[ÝÞºîñ€ŒaMŽÑó v7i˜´÷èÈ–lSNðñ¹o8Ô×D¥T3!ÒË È䦽qŒ ™O@XàKatpܪ"(h©H°|jŒžþK?ždý–Òys™õú†}óæG´è׸y½j¤ã3ÀžªË™"£§Vµ½…ÚÕ‚Ê?6†§2É5ÕtM„ºUüÄðÛ“5JѧjýW´Ý.Šë‚Öö¥¼@«bã ¼´ ~PÊc`££¯«*¨u>@uࣦCò™ƒ8ù ±ÏCþ#KUyVb‰n¶<ÿŠ£“¹áU!3›*-aSéYà·?›u¯7æ7°H£ÝTÔ™Xñ)±Ö}ÖØãgÝ •‰cÍÞ§xÚŸ!>²]ÒÎdzü1Â8>“m4$|¬ªbãrô|oŸ€Ñ*­Xqó0c²ÿsìè0ŽÖE§·‡Y’éÐÛ6~q«[­%|D³¯å‚›DŒÿQÒU°¹VÌJ/0Èõ;G¯Ñ1=aÈØ·Tfõ]9ÿÐ×òv>6–M·ß{:¶ H‡CäÐ"}Tù,él©VÓü‹5r*"î]¶cG§HƒŒQA•’^¿v… ZŸé±õðãµ`Ô»uHòuJ©dþ´o×#§û^"“btÂo1[o“§ËF¤ -ÍòEþÕo×Ù¸÷dN§z±Š09†8¡¸ZFX^ó×h£ÌkÐ6w?DNQn6?Åâ_1\"ÉôÏè¤gûR„IP?|!Çù ‹žð·¥´zòÓt—ÅîôÁŸÔ-‰eýý $íƒÈ§Ô!g»»—ˆ5 m@bDAVþ9Ý|¶ý@µ0×A |13Û gÑËçoTµ¼pWl?¨D¥© á^v’]UñØ)fvwš, ôÏòî ;h~ n {¨¡tÔûÿ_ÀÃ~iÏyAk&$ŠS"­”æª Øu’²\¡(›¦ÇµéÀ’{ÿãáÈðÉÒ⌠&æÞFÏ_Š­¾`Ye® <¼%¨D EfÞO87˜¨º•·Û÷~¤ó;Øî¬‘ë}USù óX¡­Áqû«öDOêrªýÙÊp{ ’æY\< F˜`Ç™QiSJ¸«~d'ˆÐó“™R¤÷óOfÖ›SåxCA‡Éy¢¶¾OG®Ñàãøôr7Ò|‹+Žì°§Œ$¹U¥-)jXX¸Þ~óÆÁcßd·òÔ¬ Æ(MhÈáüN6-K0SAB³M¹Ÿ6EO®ûš PÏßÑ›‘øpç Š–‘3r1U³š¡C¸à¾¡1G¸öC»}ëð{ ¸=#‘Xá69Þ»'’J¶m¼ô2äJ¾ãÚ ¡¼eó<àôÕÝÞÖð¾]4D 9ýAô«ÒÿÀ…Ô%¤Î·6VZ{]Rž“$Š…m-.—ˆì¾{ >uèС%h¹¸ÉD(øé— S¤WµäÑ„4|Ôj’ÕKu¦s™3u™¾Ûu[¦Ì½°§*}IZf^’Ns¾UÈöÐkŒɬǟx”§+îIµ°I)Þe ¸Uû%2Xðý‰Æ0¥ ™}š¥òÖ­€«^¢ûI*AøIÉSB*bçRÑr`«7Þ¸³·ÜmQQ…µϬݬÓIµÌ"†‡"ㆎ—†”ÏiT<¨ÍøfNlÒEJrk ”âpþù/*Ò#Èð€ô^Ṹ£^(…?ˆƒœ±t¡úŽ›ËUYæ»pzöÿª{P0mÜ»ý‡ñ¾ˆëÍ Ü«<ÜF$Ü&€'¸hñ.¹)A¢Vœ¸WWVÀyº-³"è=hEÎ5 –öªnØF †Ó„ËåÂïÍ?>|Œ\~õòâ§¾·IK]ÐU €?ýÃ(CøFÒß‘$£¡_òžH(pYtéÂ3Çf§ƒÆŸ/o‰ ‹"ËoO?ÏÜSà(È#aßÁüwøó+ º4Ù÷Íráî—Ü^i²ª`ta³iÛ˜hö\×6Æ ¯Esà;wg¤Z^£çö—u*+þ_Ûʵ^Cõ„ÝgŠÝ„8 “Æ7ú(-±ílû5Ð u§ü ½;jîÎO … /Æ@[yn?mÞØËe–ì犓ŒºÇwßY.¥9«^#ŸÍv€ÑË9JâDò³þiÎÀOÌf;&Ih'ßbZ'–vF²Ž.áe¢º‰Áü>—ÝtLSÊ {R¤Œ1× ­‹mî‘\ƒŠ-›`.»„ÁëÞ ¸ø±ý^‡­ aò×þçاG™È>íŒÅ8–†2*Öm‘wX-@÷H Q(½¡¸¼ÝüøB&¢ŸYœCbrh¢Ã0>{Séjx`J _ƒ,«^87@O&ªÓ€+/æGÐàuÇÓ%ÓýÅîþÌ—bÐjˆÍÕmž*=£h¯²˜h¶rËšf¦cj­üëšùïCI\÷}8·kV“.mñ)>FGFòσç\êAбTýäJàFE’–/ÿA2üHÉCC[y) sÉ$Jb^´¾XRX®JšºZí3I%}׈}¨Õ2©y]!t"x²X„Ö: ëáŸHá ¼[DÃÒdB e@nôôÔAÈ•Úê-XšB‚NûæEE.ä€àË7Ñ„{œ ¿ñò7/¬6%>+駸C£: éÈ׿vD T®6+ìnÁN…/Jàâ}!rü÷|¦Í}õá» y2;}Ü÷N?p+E]±ÌÇ~a}È ¹Œ37ŸÓcÈøÚ¡=Þ<®0ÀJ\ë{}‚ùª«ÿpébBr,¼é¤®Ù#ÌB.}ïwy;VúBê˦¥;D/…ý7G€Ìôì‹_û¯gÊþÎ »·w8ù,Ä:¢#œX~ôFq–uM4jtV¢šeÞ£á½j„÷qìÅž˳<²ÕÆ¥ Ô'˜Ëç4@õ¸áR@¹=pŽœvÞ¼^}Š} (…¬‡ÜzÝ»<ƾ´|ëäý–cƒ, lÚ›"ÿ ”ÄŽ´W¶¢„·4ÀPEeã˜oÙ-§L–YÆ,èpn z¢3É5€ ù¡˜¥ˆ}ì»í³à{ÖŸçTt %mIløèDðÖ[Y“BIðñàu…òê9‡—À‚}}ô—ã}LðÚ[¨tQ,ÄËèÄÙË{p‰xoOœ$õÓÄy¥Ú€œê%°ÄÈz~¨Ìd9¬Y÷»‘²ð"=‹Š ¤B…¢ï Gœfa Ä—ä\)×ÞžšÀ; ‰uáŠ2ØöGô’X1ê§é©Ïœ4³U¸ÿX6*ð$G9¤a˜Šùóáœ` ѸfèªóÞ"½{êmpÀ†_Ç( gȨ³×<È‘‰¢àÏã: ³rÕL^L<'ÌÜô¹M«…©¯Ú¬”¨Ðâ#ò-}G÷ÛŒJ*º²ìF:eoüÉÎkþÝÿÞë~–Ò -c×Cmˆ( h¥X aÊÿñöQâ ð.ŸKÿã,qÜ2&…ôÇ3$뇙»ƒÏ l•0‘Ú\’L¾©¿sT>~!ƒ×Y—Nøba¡·-xÁÐH~€dT¦H\˜[  Ç² ¬vŠ­þy|2O R9y}Z¼½„¤Y߉)¸$ 8¦L4Ü9ü½Þ<5vQËÎ è‡jRƒtˆûanÍ úœŸæA‘©€W¿i¨ì>-~Ó/C»Hó¾Céq´*8Ã}6ûŸ¬À¯‚SVn$-úÁ˜ífŸø‚Õ®%TÌW¼®]¦2ÊéÔ,ã”/©¡TjN"¾kyS§uC hŒokZ‚ÉèÜ\µã-ÇëxnFàßC Lò‹ÌîO{&ØÛt_³ßjIPŸgsÏVwhÑCOÈ“ŒŽoŽ`ÖéÚéDÙƉïÆòÙó’¼xèú“ªc½àþ¶nÿÐ~Ò|‡tÔ £ªÎºÅ¬zº.uP ƒoöÂSjbù›¤uÌRÏ-±Ð 6Ô¢¶ø¶ñÆšt°¶b–ZÀ÷B”•bø.üà1jÎJ¬k\î#’çNO­SØ®°hË_˜"o½¹Õðèœ?pN±ß-„!ß°½ô…„6#¸Öâ"Ši1:×_ò±,òº¥ê½¿iÄÈÜ\î¯f˾Í-KÄ•Qe@Ÿž æÏÕK•ûE]vºùØÖ(™©r‰®y†òã\Hða£‚àlwœ5,Ã!ï_¹q7:/c\ޝà€Ê0mýiš{ºŸ}„¶.}«ýf_§b﮲TÅÌEJ Xž…'‚AÆï•k9o÷*Møœ»àˆÏFà©nO…˜3r ]8uDKcºÕŠIœ­‘G@MÊ…mœACv¸›B‘6½4ãOœ.¡4¶FǹBÿfÕݯÖÆØÌÇdÌO6R¢XôµÃË£AÌ+˜êìÄUªHÿÖêëî _ÞÊ\ v\.˜?ÖëdÊ·™àWkN¤3¸c‚Ž7"8« ŠèÜbž 8æâŠ9|òLBóïäˆr'о×uKõç1’üÌD$¶Qgï6 k³šâè{°˜ï;lËZ¥~ˆ‰opÎÿC59ŒŽî«áfg‘Òíž©Ë~™R¹>“ã(Þòh = ’ƒ<+b¼!E¬J Óг¤Ôµ˜ô¥ø1•",¤—º (òFà¤#1z'Ë©­ˆnæ_""ŸõSî®;ÆÈÕm¨4t ñßæy#aðàlLVƒXÈ‚­¯rF3%ØU(SúÛ›yäÚþÅZ³g<ôÕJ©ˆu¿wËHÌ÷gÎÜÎÓÞ¯`…i²Mf®òåK˜„t²nÙÃ*=OXÙ‹mžŒù"* k#p›«ò3hJ¢¦ Û2B.}túΨ@TΨ‹ùf¤òœ±RâÂÖò4ý(B#}h \ަ#Ü"¤ ¾Åmt=”Gÿ&×Ç­Ÿy3;~ùMƒë¦x»;Ì2rä8n$ÚNF&Ø”g!Zœ"“`û‡ ïxVF2‡S»¯´){aÆE…Dò‡Þy|ðˆq¨sȨhcßÔŒhþ{ñõR»±é¶‹qaE õ¿:³ ò]’ihO5r.®8k¾È‹’ñàéàÈâK2xI4œxE£ Ï©%‚ H¬½’IÓ$ˆjr—ˆWÁºC§Î‰0ÁÁÚ_7oÜrßwÖü¡y匉Úži¬y ¹éi¤6Lý$0ÐE P¯Î£ ñg§“™QÞMƒéhiS6ì”1ÔépWV¿³ TvÞHº)\ø¦ÃJè¹XAóÝÔú$d?‘q)ho÷ö ý+âR’8gª‰õ“So1Ê =¯Zÿ­7ÚŸÕÓVŽÏSßmu Ŧ|+ض¦G#”Še$µcOõ|oªÎÂ0ôú¨)cÀ]¥g"~¾óR¿Ô-NÐÖù ßà!™Nõ^ óVä̶ –ÃüìNâdr7BèOqý-ÝÜ uVdדß““'çJÖœ[/ ðTæYyž=hA…÷Å„—dzhƒÆ2¤XqœjkðÅ´‰ê»J¤}OÜÖ{«iF<عº®½YéÁ¬p2¸‡bü™nò³À,Çb À+‡ä™}ïÖ“‡ ŒÃ¿]ŽX·„pDH/è=ƒlÏzUž×ß;ÐáùÛÐKwL;ÏVãî+"6E“uÓvl?uvÌÌ‹†—vùãF—r\¬»´yláÑ/Qú¿ h‰à;x`cp«b—\–cN´]åˆìòî¬:¸}XºáW[´¼|Û'²ú€À~Gkp˜8ÂhàÇ,My3öy‰~~°Åü|è#%êaãuÜÔH÷C`¡Å/&Ð.˜–gëÆ*¼‡sG-„Ü\›!HT?FžõwÂjO̦gáB(”f¢xÕŽp'© ¯]5‡*² `qa-%Ñß“öx)ÓI\^8 ;וr®«ÂÉMÁ€<7Ü"vAŽ:þÞ~mï]Ï'Ï^)úG#èጲÊnð•+\Gî{J%« ȘPRuj™µôXÕÅòSÌÿÞ×5“‚08'Ký”0ʱƒÔ0ó=zÍA;Š“×ÝnyQó@“Ñ-ˆ$e¨Q)©<dz×Ëî9`q¢™²B‚~@rë†Ñà îÓ=È£±vbã (ųÒQ½hl*v÷1?Z?è¢÷¡ì3¡¯u·:[ØÀƒ8bF=ò˜¶î\§àÅqÌD~¼z“Õ©¯‰A$ᜲSÝf¼ü“ƒ:¬~ȧ7-T¹k7Ù9Ë£DôeËgv³Ëø0+95ꋸ–ÿ©VLEIÌþ5£€ÝÅ8Îá¼)À±ÚНN3¶ÄT¢4`ÂwòÜ™³ƒùœú[w i ¼ÃO­á5ùÖ7úrŒ7V¿éÐÍ~†Õý r}±á-ÅM‰Bp'·Zv’Qê¶WèóÕ‚®êŠWÉoOXÛC¶ ©%eõEY ÇPÜ’üK±`àî%>:Ðk„³âißMФ•ùEȤjÅéQS×€~÷t÷í‹rU(wFÅb¡÷L¿³ž5 ïeœ ¼ûTF©èÈŠÐz3A"2JénÒý ¡Mמ`¯™}ï£à÷dm僵(¿Á;Yÿ¹–ˆåÊ ±×ÜÑN®lé¶)¯×Þ‹€) ¢Oúµ0t–“{J AM ÚIC×Þ%>¶‹.)«¹Ãûäº/Æ ñÊøÃjpLë¬ÄXãù-îä:·Ð䓯ô$”‚+’‘}§}ÿœÒ´Þ^f,ErTÏ[X^&¥‹ìÓž>9 ÃRÞœ КÊGäMU‡{Å[™ÄÑz–±‰Ëû™l'd1ßÚ%â¶ÒKßq#f¸p׫ùAI\ ƒì"bm>'´ ×Bnã+B?d¯›•ÃÍ7ó¤G±:yüÎ%«Sÿð¡üd?uû—Eyu,Ęÿ““ÙUãÕïÛxR¿îûÉd¹j‰2FÐLn+áŽ#ÿ]ÏÔ!à¯wEýìÈÛ‹‘ÊXïØVïB7ø¬f¡ç^ë |EÑ9°–¿9µ\çvŸBðÙ:UÛç¾_rÌÀS=ÝPŒU/¿ñ?R†ñÔÛaää•õÆâä÷†?$Â"t›Ò«:ó‚%Î0,Œd.‹nn®O¿øÖN+«aú"p% h€¤ýo£ßÄ `Êö xFxN #8S‘]_’ ¢¿Êv¡™ú£ñC¸d—³\ºÐ*¤wjj7ë _Žêþ(é§o´(ý·-ZOšo‘/n <¶' Yd|ì1k\3VqÑâœÂzMžƒP”Þ½€<Æç(à«ëQt!§­xøÿÝty£jߛך‚‡ã‡Æ†IèYÖ5ÑQÙ||ð<Ø*›ŸUí[V¤*¹ÆäªùöJ¡_(‘ò†Â1÷ܤ¹æ¡LÁ ãѨ–¤¼Æ¸ŒÔÉ¢øaØÙy‡òxj¸ÿgö’—m¿±c›Þõ0…,IKu8²• †l»u‚šøï}©å¨B•뢫_pf}Ÿ›Vº²¢âi¾?Y FrSs§4ÙO.dÀO)MgéÙiN{³JÒ3ñÉÿÞjIºy¼Þð”6PõiýºÀµT¯7#´^bž‰”~× –lׂ CánsËž¼âBY‹ÍÃ;›M).qUŽˆÅkƒ_.úþöÇTÁÇ_~?g¿p^^ÏÈsLšÔ5´-Dè%Ži±9 ˜qtùNüÈí?F±€;Úþ»`Ôb_ý˜3 ™]à[phéÞ±>;ÅûéŽïÙRb4féOÀó¸7¤[¤M^wö÷xd—OŒUìW&fžÆEOfu’uNQ§j%˜²˜Xî>‡­A1¨‚úÕ—´ËÒŽ´•i€;ÙÛíŸ!k7‚Ÿx¹4$×¶ÎS°JÅU>DÖ»£(Še4–5X¢ê 5Yg<¡UÊÎi¾Vo9p=¿–D¡0sù}ÞÆù¬ÞhJÁ”õ`sdýZÔïÕp+#)>*þQ• ¿¨µƒA®ã\@›nl{{ïˆ/ÖGj™‘ÊG<àùbR)6d-Ú» ¯JZk÷j2™y!œ]ѶåA :Ö‹`”Ús0úÿÍ*¤ T_WÓBØ©¹wñEk'2Ë;މãŒßºdûØg‚ËÇ1â_üGœhÝgŠÿüºh¾4¤'5)‘µ«È!Ú…C Û`¦ÙExË7«áðH‡}_'øO5ç>c´’ä:郿ä鵯âË výQfÒÐÐ|<ÌQ__É^J×8ÿû†“oyÚ1ÚE u¥’{4ÖY I€W,67;v…ÓýÓ,[YsïP:[L–II6´ê‚L! b16ÉǵZO¢" §@õ‰#MU5’}UðaÏ´à2~Ò:}ø¬"Gý2I÷]êŽÖ7Ô¨…{EŒÀ’½Rw7 ¢8| p9L AwÓ\ÓuÑâtwEå´in›Áɇ ˜‘üÁúñ…ëSK—ÞŸù´‡ß6êØÃéä5ÝFç)‡» #á¹Íôç&ú(Ë÷Ë6’Ût¤êc7sš×Ëc+–ª„8À…Ñ@Sk¿&EƒÞ÷¼ûŠ¥gz<öO¦'¶ó/P^§ö5ùlÇäG¢økg´!ŒúpFƒ¤ ü¼<øKD*ö¥?—ͬ‹±Ø±›¹#Sõð ¨:ÍÙsF—~œ¦-wb9šDlõ22~Z8öÓjÛ”/c‰ò¬aCÖ`Îdr­ÝÂmv¿LñƒÏÆóãLvÑtt”P¼e÷«þÐO„äÜœhýÙì3Ê?ü6&ózØÒÞ@û%BcC¨ ¦„¡±•JSœŠtÛeKìÓ¸Ô U¿†Ð•°ÖÿT’­Ñ[’äm¿"í:•ºbp,Xßiˆ ή‚´ |’^eS³N?»÷nDø¥…=@Äâí7¢^*{W·Ÿàº{Žah†}¬ È X–˜F[Ÿ*ÓlWaJ|¾pZïr¸¼†{]S×¶âl ÑŒe£Ov៰f×G¼¡ýòýQ˜Blz”Éœ‰Ñ£îûÑA&çø~]þLµb?¾ÿ±uçX¨AßßäFÏ5ó7šáûŠQ>#›p\ˬ)Ù\Ÿz1À«¿ÇwÅà SÄÁƒª Ì+¾ з>91)Þ‘ Í–,%±%þÛ ›í¸dZÌ*¶º.¢Æˆyr÷Ú°ì.)Ç4þj·ÑýÚ¼¶d=tÂáô¼ú%g `ô‡®‡&ƒ³–PÃæy †ø+óMUÙâªÒ߾ëˆJúyä/ƃó,6ò¹ öò%®ö¤Ú´Åσ"Ê8¹'>ìÙ-NfA ÚÑ).ÙeÉh ›èëc<Ík`ž%eŽ\Y¸ßD‚W΄î.é>e×옴¯ïÉÆT M”T‡˜So°q¨U›²ôrajñµ¤¸_—²…ØhÌ7³ÆâÓ]C½\Öômï³qàîãå“ÓÁf÷¿i»“©õö”¬ù°ëWaŒðAf4fÐûî²ÁØÏíá|Vœ€Ñ¿î¬O­Äs[‰ØÁŸ K%Å Ù‘=¯”ÍÒ³ =ns²&€VÁÚ>ó¸f³çÔ:ŽÕ„|·fä*„⪇qµFzM[ ŒP{4˰mS膸낂ÜÑW̵¯5…J+7Ô#:³ï¿š‰û"@‚ª|å´õM@0þfìv,tó.ø)Ó~y‡×êà«,̧Á{®F£4'>iê!`å<(æÎ rYê¶4°ïÐ×hw§“í̧Í,ÛkY?•—œÑÇ9Ÿæ¨b‡Y'›«íg§-öYVþ ¦ú¸*—+[ýU²¹EŠê]ÿôRˆaõN½ìúyç+ø Á6}lÅÂqçeÒÛòŽÚ¤ÀÑÐpû3mzΟKdžÊSpÀY~pÕi†Q ënÀÌF` SÄubåcF÷btG2¸{¼&^Ȭ:g„¢P:c˨„e…z¦ >ÂÁÂrìj*ã%Ôa ”q"èËÙÙyUÙè'|*7¤LÓ¸E·ß³Ãä >ú»€|îË¡HhC|þpÐúÕík›‹0ãmåþòkgc „iÉT]øàþy}«¢ñ•4ÍvË%ÀI6Õñ’ZrtCLæ–fÿO“ÏcÎÉ W¯HŽR0âþ-_Iag¯nÔ\Ÿ,ÑÒó‡jÜ¥}ÔÃ-s§©hˆ©ÙÊùË5÷îs+hkŸN«&@ÁäË3³ø*•Ls¾`s*V5ç¡Í¯Þnè0tÚ¸Žh$1"äxö͵W×AÕëÐFnÍn¨Ðû*5?8ŸPw¹N ÕU•3ë—ÃÅá@ã5ÏouñA®)ÞyÏ7‹–&µ«²Ö„[«Æüëî{ofL«ß»#)øñV&`l,D³¯Rs?ì¹A ¼í9Bi|·pHûg§Ø=/©#œ[4ÈC ÷µøìƒg¢ŽRëäé3Ò‹ô9© 5ûtbÿJ‡´.p} Tl*'„®j:ŽúýËØãþØŽ{}æ=*É7?Û·05Ú°%GnË€'B©o¤#-ò°¤`¬0£mÆ?'èdn[²ÍWóSîÖcÆÑ×Ó1̆Òþ óD|Œ~´™c›íÝVœ“ªá‰ÓëÎ>³’íŸy¿hêe}µ¾B‹Od=Ò1®iZ ”ÙlÆÎE0±rÈm q¿!¸¯V¹ ¿ wd‚çw-w§€‰bØüVvø {öûi ±veT>BA~ççܦ„k;“aøç&9új¡ ñ–§Æ¢ÝÇrjµŸ›ÌgG&Õ¤'o- :. ×Xµr‰Xm¬€@{7¤%dd¥ER´š&̆zÚ Y>é®Âº’d5 €àïÄ5Oñ0:~f©ž– ¹ðH±ûï+ÊO½ÌaYï[*^Ö¤Z Iš7ç ;Y“B¸±»YGXt—ÞE>{Ö|–ǪWKšA±Wü-Eªmð”ê€{×6*Í9©×'}OØ{2bÊ‘¥ð÷½gò…ÜkZb{*š@7 ø•Ÿ`SÀ·>)o PˆÿaÄ—í6˜&!ü»•aXÜtP œ3õ£ÃŽX;Ãà ÆÙs ââÈ­¥nÀ"Ñ1§ÿ¾ƒ$Ð2+¢ÿái+°¨ÌR9Dõz¡¯Ú³—FÅ¢¶¡È–!Øù»K9â¾ŒÔ³Š°QÆi§™ï·•…9:X3ƒ}ÝÃó:yÔ»€¹Á‰Æ=©îæ‹5†,™ÏÓÐ:RN‘Æéå@Åÿf£ø§ê°ù‰ˆèÑç¥èÖWCpþzî)N7M%Ðjüú‹©*˜€Aä.È{5vrlŒ”$šsBe˜¼ôÊ:Í3‘sêžÊlŽ`68]C\©aAžâúæœÆŽ€¶æ1mŒ—<˜s1’ Îþ3Ék‰Zñ°Ðà͇ùðkEGˆ¯+Ƕ¥o\ÈeQ=wçMKèL‚Q‚ÚŽg¦p=a¬ƒx—]¹ó4šlQ(ÿ[‘>ÄÙ,Å+®Aäâ‘n|'òÝz«x.9²>)§ÇóµÊu%I`db{s¿¡SÈàâ=¢áâ8U·?“¬ãP‘¢´›2 ïœ:OuvÃÀZ«œf©ˆ¶ƒ£F¿ç ½¶LB1+‰Ð Ð)ØUÚ) Pã†Ï´$„ÁÁš˜*œ”.{ÿõÜTð/åU>{¼Å2’Ì¡cÌ[R™ž»l%“Dí)Oš– CºBîT"y€H·ÑKÑ›l!Ì(eØ€ÒwÉ>¡$G§áçá>}ç³ò½ùbq½@c¦ss=ò"ân·Å›Ý^d÷A…Ó©˜Xî¬XL[UP~ƒ1ÓÈ¥8îÿ2þj­‚\:Æ\¢µ%%4¨ÆMðÈ~ž•5<Ì€Ð4ƒWß!ÐÃéu ‰5e ‡®fî0 «öÌy »”©Kþ\‰vòÕB2+wUöC‚Ã_2—Ô*©l›:°®Q'hàØÓbPÙÑ‚¾IÕ;qüåªìYC†Çóá4×õôt!Ä?KNJm]#¨ðøýmo¯%mçV%Èñ§ì‡à˜ƒzRÚR¢@ëʇÀªrmb÷+&_Z¢°U6úì Â6ðZ½W²ÙèfVÔð{¸n²#—®¼ÆÒ—ôìþìÕD¼ÇOÚ”Y>õ«?HX¯±€¯’3gzÜñÿØ# ú¤ü'2X#öú¥ùhJªïì ǺÆ$·/ux9ƒÊ€È2ÏÑ›¿;¤+Ü6×íPñŽi+täZ‹Lœ»!ÉBݼªt%æé—MN¢eüLž¼7L…,Ôk.²i ÓîËI– Àvu&*~uÚ?¶\F‰yòŽå¨¦ìX ãM¬ L|+f¬­ bXä(p{ª\m› ®‘Ï i‹<ìuùúÞ:ëšla]Úø¯Ìû“œ™G´i[÷´4¿~p磗¡Äcæ 0Ñ´ø(ÂX)4HEâ{÷rrŸÉKv+ù¨ù}÷ó:,¹ÍuEïöAµ 3X—\=›:&_w¶•»Àí$iZo¨©„!æŒH<ì‹rÀPâß@"dOË%¡ÃU?Áẉ5‡aôrˆ&>‘ªÒB[<ýõ€š-Nøå˜ÞcCt”{i"2ú4)³ Z«\äFªß¸¢-!_³ð§ÝRw ¾Ñù‰XZ" ¼½@“ö pÿ,¡>Çæ.ÉSõ½ÕÒñúø5s_º-æé)Eª]+¤è³!©¢V3ÏâAfÔ23úD ÜÄB4ÚïòUÿ!ýh»5`ÙW°žJYzʃù¦~a vwÑ& ãÞf° Õx“O.¢†§ùµ®ËÈÝ‹ó\ý„jl˜Ò™²BÄKá)b‘‚æÔT§;®Ì‹Ðyæ9™À$~™ù)^Nêgƒ7Ÿ:„¥XR>>áÏä½^CØÒõ­ö ”T¹g Lñµ ܱíØíP£…Þ6&ÓІÒD à-¶øøÒÌU0:“{u¦±tsoœFvfSPn’·&CúBa¼ÌÊQiiâcü ÉåâàŠoA¾uœ~¸_Ï .u@H0ÆÅ§“h•Œ¡pÎõßuºAô¥y¢ðsÞ€À ¢#?âÀÛæ?ÎKn¤wÞN^ ¢°Lß=¡þçÞYÂ3„¤ {cSå5Ö½õf½WÍD¦´k,¬p“Ÿ !·L…ÈS BÿÐÆ6FË‹ š ÅZ\0s3£ubú…øEÝ•³žÏ ¿@y5}Jvo]n6Å*‰z×­‰‚E¢öß$^ixØvÅ]ÚLçê·Ç[ΖIb%1Ÿ­s+qtÍihâŠåòö8çÍ»ÉÿµPWøt ³oíEùœùÜ™O ìî&°4ìÌÍö³jOÀ¸¶Tucöé¢B¤:“$Jí§õìƒûZ.¼nÔòXÍk Am¯g†E;qô¼Eë—ù†#vxª¥É‘€æ×¤¿CçÈ<›íüð—™.­ö¼º<§|‡Ã:¦Š× ¥\˜/zûpÚðjZÁ×™ç:EåyZwbÓX¡­Pú¢òf6+¼4¥_ùuð#ЕëRËG »Xʰرk*Zc¿‘çæL ø!Íp‰ÛoÖxô_HiØ%)Kí¿ôÑÍñöý‰ùuR°Œøì‡!¬ÊÎfX(œ2Øïé¹cÊ„J"xÉ^j]Sàûõ±t”EŸ­Ù§§«›‡¼®L(†¡*‹@žNí ¶‡:_¬á2†½¡hW´úÂÎðÒš—&CšH”« f§”dœTbÆÝŒElJˆ5;\žr½¸’t7`î4ЧGê·±í`?Ûâfºvp¹ME‘£(,YpP}:§ŒÉÿ>™o GÜÊ÷øm8?ý°K<<)òP)¢hÀ³ýq‘ Èl¯? îëtžÞ)ìZô¼i‹{<–] Ù‰»a·N?AIMs•b¤ôŸ°“Š¢Á]E1d(*Ó`ön¡?gºe•$N^v”Ekû#¨ž¼ÙqzŽs€qèçKô‡××D¢ñÿÿcÏ_µb¸`µÉ9ë³DK°Éf^«Ãt2°â”QQçJðQˇlvßœ%©êGJsµøþËH/gÚül½I$xú²Äq6äèÿ„g§Z=ÅDtŽâws†êŒÊa°Ný¢™ñˆèØöÈîâUëo™ð9dO"šE ŠA Zv¶¾öG„Ÿ‚<´4Ü(÷°©éÄC~Ç&"iî/¢‰?´0Ĥõ®l`w‚c¯$Vt}n\Z ¼Ð5§Z¦ãŽ\gæe–¡í¤èœ®OHus×Ðï^¨‰à½~–ªXÉq²¥›Ò·É×h˲UB< ¢Ú‹îû¹yk4~…dO¥1%D+9ÞLèÂË.¿_}7N쉶°+x \ñ<ßf/Š‘XáwêB‰ Áí£Øb8m˜Pá»å$Šu\ÕŸÊ{Ä•§^úw€œ±9Þ2–ÄÒ¸ >2£×ÿ#3‘{ùê͆—ÎãeœYCjC.F©´æ¹+¶½÷xBÒGÃãöý¦¸KqÊéM“þúƒXÉ! ¡uDÌ‚K—boPÉX;ÊokZþÞ{ªúh…‚j›ŠŠN‰t®„) àû&ÝäŠó§“ȵQ"~ªi8z½‹6;?]_Õ„(¨Áä²ï͢£=/¥~« ;­{H5é‡9p"˜¤øWöõÀ½ºΕ3£ЀÕC±ä2%¸?u`9Ž2‰¹/%'±z&|´]8çXj«¢^µeõFIã ;³@¼X;wÉþ´Cò7«+¨ Ùn¾YÿR^‚±þâCxëpƒá¦Íâü“ý•œ¾BHê?ýgsœèÐ+ßP¸X+nÛòò†Þ„|ä‹èGÛéâ‡]I.&줴?¡,¿œÊ_˜zuÅF¡†z§cãvwLöû ó?mÇ^EØP8C~ãMÐgºÀ©ÎD‹è?=§gk#¬àP{…&ò>ù­ŸG/ĤŽX"¶ƒû"lÐÁ"ª»W.’ŒJ’z9Ž)¡kDŒÙ–“RÕXë£F¢*lìžÂ2†˜§µ?üˆœå4í½¦Ê|Гµ¸ïÉÿŸTž’"$áK”Ô>E äC[øb—Z‹hܵ¢dø¨ Ù6îI“'œ5´‘Á^î$ÅÔ×Ý aÀÄÛ$#ëœvÕNüÁoïGEfd`e/³ò¿EƒjsØØãXi÷{Â,ñ[Zj|?X’Ê(;ËÇÇœÃB»R3€Åq Õ-wã6}ÕKíßÝx¾ÑµÇTn8ën‚7VëæÊžqf®rÇÑÉ´Wü6’g¢¸:݉oWh²å㌰ˆÅl\øXœyòZúõzgÖØçë¾ôKÛ›Í:.‡ÎÛÆ’'ü±ËG>YTLBDZ޶U(†³Ã!à¢Ô¾$7”[$gÚ¯:e#¾'É{F£“˜Ð¥r*Úî=BÉp+Å›íÙ‡†¢:\WhãkJG§ÑAgMŽIÏ2§æ³Í-Ìï!Íàh&Úœ0T$¯×9âÜÞNjن÷W`þŠÏ6/ŽTœ9’–>qõ”¿³èm²G$âˆ_äÁ7¬ïè<7ï_ÔˆyešÆx&ã_™LšÐvóžøQ\Wk:·FŠŸÜîPùš¹uñùÛäol̈CQ˜ÖéyN"«–<ßKØ3Û’Dë‚ÃÚ#£Éµ8D `0Ò0R¯züEPå±xT:24ô–ù4ñhÉ]ŠliÏë.OV{’Nù ‰Ü´Ñ™ïíØ<Σ©í¯|"ÕÙJ’ç.U”åµ%øö¶LÈBED“h1ˆnIX>¶Æ]@͇9 ׋ÓߎF í–ßÅÉ8_Ü@/ôVDŒ%YÚ•‘$%o ÜùÖ,¡âì¤Íú2:‡u¦¾©‰æøµïe Y•ÙèPÇ“”{‘Í,ßr˜³Î\s¸¥ˆzÜ/"›vBÅY´ÌÞÀçs9ãC°ïBÌZç}¿Y~ðˆý,`\î2Õk¯,ÔÕ‚ñ‘6RPEÈ ìx«*Èçé¶Ö†È€ÑclÚèôS¦*AÈ­w~€6 `f]©rÜ”ƒd æ*ƒúËæ:Ÿ!ØåC¸á¼ùYü‡1\éh›Y"öÈ’.d=Žÿ3?°:¨àA ÷€ši.Ù4 Pœó¼uM«H 43Aÿ[ÑLÈhƒ ®^Õ-eý§¥MöGT™Ÿ°:{­6×,BtÊó´ i-K•{d œ0rsrú-$‡¤ˆ|<ÒDL'’xšï¼—éþ(uÕ)ã,>Ö‹öõì74éΜ€”)dÓÍ;¥n¤Ÿè”„WiVM,æ[…%h,Ýð¢H`ÇJ·ÃwûqÝsAD½¹J9Çÿ˜¾0…Hy”•®Pñmº²ä™*ÒØã«Å %å‹òVšè2$\¾¿0¢*t@¾ðR³YÏMºk%Ÿm9ïøs†•kç¶™b›·ÈçÍ ^G«ÚwO¥}Œ¥'ጅèe¬u´9•B"Ø-։ĦëúzÂ<¢$§£ ƒåé±n½´ùvŠÎF~íš½è*6&m¼Á#*Î_˜³½¶ñ”Ý‚“Í9¤c°½ÈN-ŠÀÍä:bûVƒÞâ³êÒ‡3Rsi‡`\’ç;”;—)Ío¤¨’å3Þ9ëàÞãE=4R߯aù^k<6V2éì¦$ß{!˜Øÿù3š¡Øò¯\ nb·£O€Çs‹:’%m²ÛÔ1Huï&v{>ã·˜<ǨËùÞ=®É½‰ŒÇ´@ ÷Mlü™D_ð,õõ—7âp´0õèeUÃöl’Cøäá,‡åZüÒM$&dXíuuRjá`ê±:1©1_2oq‹ÃŒÝdIÍþvÄ×Îñ¦àsÅbÐÆ°¼VbXÝ,rõ¹÷ã'ð-yA¶QWAé|‹y¤‡)òÖp*’¼ÑëíY{ó_ %\ãû‚+›ec©^Ò˜¨^w¯eF0P±G ºª¨ïà þÈF"Ý×Cêr¶ ¸3 œtu*­±L¤¨Ö Ì/@¡*ÝUÔöd¶ÙVttnÇh¯ëÄ)/~Úà¢1à&盇-!n=$°-›‘ŸH¾FÈgàœÿÔ™ähÀ™"´ì(¹[Þ‚$…óMµ¶CŠª}{sˆzo,·>:xI—á©t¼ø €s$ZJ:Kq@ioÃ)\èÕQÔsÌ´±®ØÇË-~ŽþšKÓܱ3ÐïäX•w`ñÆx%—Ã-•ä¹:ƒc¼.QÆmSÝ£âžnƒÄ]j¢çû¡Ä£ê­Y2 8ÊI滇ÄFk#ž&ÐܱЈ´ßjîŒ?y×(†ž¶'nÑÚ'è( ¨qö1ÌVs+³oóÓQ)W€ìlîþKŽ-ü„9áØÔ¹û,˜d„$’ÈKîõÓ¾*XBe£€Eu3k¥¨°éóݦ0öB(ø€A cÀÍŒ°ê ¥Ü¬ùãô„,Wôò“´Ùvâ­ò_ ·gšJìç1µ#yL‹¯õåf$YÇPäu„–Ú]©;›ýþ˜M2!£]Ÿ}Ù¸Y铿 zÕËÓÖ—‹»$ĜȀ}Ï/[U£5.…®39ª<˜'–ÓƒbÿRx±ËJsÌ"£ ^m6WÒ4HuÓE‰3£ìM(1?ú-ú”Üë¬æ· ôS—œ‡Ã¸•3¢Ÿ¿òƒ´ø~¤}}ûSsÍ'ZÄiq8ΉžÆŠUq²‰Tëñ=⸥ÌìwFcÌ‘ݵœò‹n¯c®ùS„ï®ýrÇŸ]OH •¡o˜§Af½~8Eù…‡¸i|FŸ¢Ò÷æçî÷Æÿ~¥\ñ%¡p…¬÷`¨w½óØÝ”9ŒH>\c—à3Ífö„èǨú w¢/¤Ûb-dp4&ð¤Êðy5ãpc•¾âoÓ³UlØ8çJGÀÃźâgF5rò,ÐM:: ¼ìÐw áwß–éyL„×S*æ,å¼·ž=k®Í¯ªÆ2£ !Ëâ„.×§;Ω¡®1Ú•@WÔDr‡m¹Sâ*ãÏvW‡W™™‚d$»òw F¥FÅÁx0Íc5v)ŽxÊIçʾE|R:Šÿ`t6Ó ýœƒIÌp%Ã2R—x™:ÆIÄÁtX%3ÍùðÄÍÍ#b… “Üñ… By ǨëÞà°º§7ZîÿÑ Û©'Qþ_d8>y- úþæœýÀ-Ô‚l„+˜›ˆUs’?E3ÍúPÆ J¢-šñßÂÕ«tA9äÁ·¦ù‹wÝÞp–DMø¥"ààkªNpãÏR6BÖ®?U:Úà­­`à¸6 «ÚG€GéÌUp]ǽ^ÿÇFBy…ƒÌ¸N¯¤s d=Sq˜ ìù,«,ÞBMZ`© Uh}x6æúHtò%Á¿á׃Çw6<ŸUZ…o®º›²¼'g„‘R`\Gr±žýJDŠÈRËêžÐá¡gʵÚ úzÒøŸ(ñ\(~7㑼e’Fí¡,·J^«Õ¦IIc‘¬uªã ™XÜc©°)^ðn«ãÏóCì×Õ 7ä¦üHyCÍÊ••¶^´ÎöÀ‚aÏ_‡èéý½º£©6¢¼2²¯“i±ÕgÐ'4ë]coñLƒ¸RD³êî8" ÈÏL/RöÃStSß!F ì2'Ô*a˜ï/(à¿ü',nJ)_„wàèl?¦ÎrfV`_˜7±(&cd|KSnÛNÙ¥;O®£Òúóœb$ìßåCû*žhÿv‚Ì©úÕ8A'¸W0Î2¤ëÊÅH5;JŸØõ¿;EÆìÄð‡»ú;x°""ø»ñJû•w¬ßÕ*08O¢ßÿ ÄÈ盯ã¡5ºØ‰§¼OkncÑ‚®¾e6½ÌþjÐ>„9⇰U’†ÑÇð]·!q º3²½åûžßsܰhÓ|ZÃîRîtЦAzkT„ô î ß~ñ¥Kô š„ê¢ïëíR×{;“ îůÇÊHò·`=Þ#³‡‡µ+V˜ÛLÀ÷"þ”1½xunÓ;@N«9¬Ãò̹3¸Ó×–¤šÚº½ %€÷÷hõF2×¶îQ¸‚g»ÞÆ©Dí·0îÜjfbIâ&sYœ,šd†è@Eaï½Ò‰[½½b~AÁƒB·0×$2˜e²­¦=ì 9Ý#5CLb7ðyµj”a ¿¢1l ‰Á¶àe 1ö­­­ôz9LøÑí’6ð ¬Yo#_›¾@ÝJ@ƒ}êo¤äY^)ɲØkÞ/Fñʦ¸×¥<†S}¤ ±ˆº¥Ÿ’?øZ´žÚ£Œä¿oWÖ†Cæ4Ä‚'S¬±þ?¦ÈÉ éŒ+2†!( bÀ¨C®›ª(2!Òøµ¬ §?¿á'EWãÃ"µ¬I.àŸø:BMgêl²2›BŽ5¤lR0Î=Íq«% šØãQ;ªÌ|ʇdz©³s‚Þ RØ6^ t’G䔋 žKóœÖ³w[J[k}W,¶ QsR9½K{wx™5ÝT/œRðèC•ÂJ!…[-÷"f¡Ä›ˆÆp˜ÿjÎÁDÅ&8â-¾-Í 3<_Jqdân´É—+@¹­e{ r?­ƒpÑ"5\«×„ÖäçUºû£<{ÁïXj»òãöÄ¿¢-œ&CEÿqé ÿUÓ‚·Gͱpk éŽô|1•»iû_YCtÐØÅ­ÿ;ÏEn¦È=Íað·Qfô2ËE”«%³lÆ3`÷¹Á8M4síÕº3xÔ’œo–Æ}Ø•,—¤:/˜ ‘ØdÈˬíñÕz‘%tëàÿ5Mê¼Àt5o+Á·1Ë›^¦0·p©ûR±õßš’G¾°Ó,¤@•Ötlhü{QDƒs ½±e.'+º¥˜Aj•F6HšŸ6|8Ï=Hã[ðøs¥„)+§dK&èºtsþ†‰ñ‡_—úP–ÑM‡¾§3š_MXÊÿŠÁ¤Š`âbþަ…D3äa>›rùP†eõ€ýÖb,èª`3Upqe`Vz×Åë‘_ਖ|B¹‹ÎP´ºUPÇ:«!@ÏÇ>³ÖD²žŽäL~3 ·“-ªJ}l…C¯ɽ;êÕQJ4‡Î|™êÝUð³žÎ?œ±KƒDÚ àaâ²ý½÷Vá³õÜÈÕ-$ÑOé7…–Ü»Iy ¶¿§Çø 墨l0Bôóe¿„ðK¾™m–Á'AüåjõŽoóáØ®%NþIàkÕ}°1tŠ9–ãüªíe­K¾³.ät£(â%â4R#¿Q•|$ˆ÷d6Òœ_„&O1KÏ5[?¦ ù¿‚Ý|&Åö†16œkªjÎ’üw¬©xÀˆÓi»)ѲªæÁнG±•æ>#ûÑ0á—zî'.‚¦ÎÄ›ëPÑи” ݘ°nIzÊkœàç(ƒêøžÍ¶„åH~zcCøîüãn¹z±Mû‡¬<lÃË“í®úø¥æä4ieGàÕ½Á—ŸO8:<ø“Áä4~õÕ¶ºõUÒù6Ãß@ú±Fá_r¼§¸W|FÍ{ÁZhü½Kî,0!¨ìnµ| þ'ÐxÅÎŽè3ßÁLö2%¸Íþ[bÜÔiDPj§Fâfr" o)ï`K„hâ`" 5Bç¢÷®7 åH¥TœûÌ1Êy8jo_™H¶âø‘–ÁYσ<4Åâë’è”ql•Ò6I5-ÿÊt&FGúd(†;Òî›ã×1ŸJf‰Ò°ù8ƒaVªJøÖª0A¤°]q™»9+Ði¶®¡«ÀZË…þŸíEJGš¼»ª [RG  ¢ëaAy½û÷ÌmzÔh2Özè’ÆÅÜ¡¡T[p‡xÓ¾ì!ˆÀšHH’D5b0}ËÓÀÁywÓ …¼ë±ÙùI¬îË ú¬kÚÅ@ÎVÌ#I›g3/óÛSaÌ–%ÜŽJ$)Õk$¬·Ý¿¹901~@$Wn{ÎȾ÷˜‘P=m+4wä $q +p¤NÂý‹(SZÂÌ4Îyn¥sÚjókv0³[’äëÎihkK°Ê \¦û°ÈÒjK㨾R8Úé”#éUZ—fFM“®])¶4õd÷c¾Æˆ‡¯š°É-33¨GËö$@Ä{¾p|ZXàyÿ5–@4áTSýŽ'{Z†"˜üoV¡±åüà àIüh—[`¦ó-² Ða–"ä±G6`ZoM¥äÆŠUÖaêK OnñæÒA"“ÂçF!¸€MoCþ3)¶CJëìB›ó–WC*BŒs;¼Á;ÌŸ7Îü©ÛåUÄ̽<µ³‰’M/b;Hƽó ‰‘‘ A'U©×*æÁyŽgk°"ÃVØ-Ý2çûVרB@ˆc“äóŠîT"©8»|¶€ÀÖ¹•^ÊpÇtx»=æ¥Õ“{Áh}%ÄK,_j.1„7_ù´[!îk´ º¢v«Aú3P´òém¦íô‰5µƒ¾9ÒuGëXÇò…ç¨V¡°± wä?]kº¤m,½{¹q«jŠùååë’sýo~T‡oóMÎ+h}°7¦fÀ`Cͪ¹سØxcçÌ¥µO>ÏÂ¥À•ÙØäOiã¨3ª¡2YÔSý›‹ÒË«ä-»-c{P$@5‡ñ¾%ƒÑY3ŽT>`9{(¥“(¢ãw \¾Éõ%NÛIìgúèиŒ_¾+.°u—¨ò<¶¢ÂÊím`JK‚[nÚy{n8r“–ôGû·vÖ5‰ð ‚tÈPp[… Åk~h¢6+#»“xA¤JAÊÖJx¹7Ôx{ÍKæYæ?¾y­•'é*ƒr äZœÉÔ|l›C›RA©ß{ç¾ V•Ýì1ðUVF’!Eöi·œ7àC/`³vÛÐ#9<^gÑñw7€Ym=H¨(V `õй—*?;ý#ýnŒÜ[«Ã|ù‡ÿÖå†ÿX©¸í(‰ºšB03„·,½%*‹(ÞÜvÌQȵj„ Íå‹ÁÚ}eàÁ2Þó‰þ…Îï¹r²¢2û¹< LLÒiÆé;¥iOÂsW­î>*F){P‰HEÆEû³'KÆúµ‡zo¼Öp 3ȱ¹T¿`×ÃÈPqÆ`~ˆ'xyb]“ÙÈôÎ#[ÊMbå}Šh·r»ê­ñôž¿ÁÖÐÒeuCî\áèRV*¤ŠÞåÚl¡«÷wç¶ük°s6Bœ¸gÊG?'÷ֲ‘ˆK‚„dQéãÇáR×@ÚǸ›­ŒÅ…Mçñ ©«z ?PcÇ™¢? ø586©> ‘ë¯þB0£K¤¾‹¯qñBÕ›Ò4æw,ìPø“]Ù‚sW¶Xò}·bøŒaʹ÷'ö¸†þA,e®#äM~÷Ujó |yçõ”Ÿ ¬ÖŸånDö7¥š÷²·Äœ_"Ažò6øF P]1âÔPNd„¿’@«Ï13½“K2;S ¥MIØû¿¥ªÈÂLS÷Ö&ïSgÖ~'Yn‚óKä×/=|æ½á œcåÛzÕQÕk =Οé˜ÜçöhmXRp΀@®Ïˆ\غÌÅnþzÓ§eò"¤Ze‰$¢¡cÐÛ‚gKZORh„.'Hãõû¡5µ”þÐu®òÝŸlÛÞÚÒ×ãV-4·v›Ä#èå”F¶W`y‘+7šîšF}ý9rC#ˬP»8öÉAÈHq³œrxö "+µ1O÷”(Ÿ9 Ï`U/;ûwx u˘â”]ãúbì›ÈÆóôù´+_*¶¬˜ ÒN Ë¥iƆë‚ñR‚5³‡‡·ãb“–þmÐ+æì{×ömB0¥)ÿ¡àí h/:’¿CÑÛ“)püŒ‘òñÊŒˆ^)bŽ™Œ ™çÀ†'º„—ÿûoÓù¬yœ8¾žÈÜSëéo*4…|¸ÚÕGH=XLVÞmðú‰†…&^å=(ù½rJ<Ø÷¯«ìn/NúÑE8ü³-_ÿÏUdЫÍY gÞ–iïîþ)¦wíãéÚJªK½\–E“ME ÚÆŽEvb骀C`¤TŬõ~MKÜᜱĴ-žÈsâá×ývÎ}Sjê¡gÿÐÍœP¤¥ŽíW¯áVÃùFbÃ?h·âtR~kT>n=6‰µFý¼Ü޲Vñ+ïhÌ7¹ŽO¾C󥤟i.p¯½¸öÓÅ @«ö›ç³¯ð´Œ|tÉš§Ñ¦¾\««Oa98ÃÉŠéc¦Mø•“™ 2IÐÇûÛêØ‹ ŒDYi$¼†€¥=[?cÎõuÙ:‘4 ÿ?–ßdÖÁ?Ï!.Í͈½[NNíÑËž³þ“¾pšO;/i“´i_AêÀ}‰¿ ®Þ¾Í¼WMÊ,‘ÒA'ߟí‰fihª™v¢]Å?Ñ °Ð›„tÆÏã)%ƒ×?Ù|Äbœö2…RÉÞÃi Óa„À &;;²±w<ýÕjl2Ô!ÛGHè$‰GÚùèÝ$‘$Jý%À\v©±h1?\'?eÄ2W:¹}lŒ„Ä}Ò+“î~œ ΣO°ØŸi0•Ç+? ‹ `çV:<²xüÑÄÈqgÞîm³ÄÎ0×÷]‡„ªîäe‰ÝÌy{ãüÆ+»™öb³} ‘-±™„g𠴧概ÆUíK=Sص¼$I}:§9°›tª£ÅcÚô,Ä*mpµêàB]ÔòV>œU›ÐwWæj˜Á,¦O¥’à™©æM›LO2² ™‡†ÊeÚ”] dW"‰ö½W´™ Øcš ™µvrý§ºŠa çújNºAßÁûF3Ç7›µ4C‡ÑT¦¤}{‡räm1䤵»0>‰^~zM|ßPµåï¢*ã5ã<Ègµqm!gO|Û€°È•ìj™ZÙ*·Ñ$K f›DÙê°çj‰·A¯0¡6pÁùqó¾µ{ âŽ:Ëázà-½=ÆÚ.ñûRO3éxôšŒ›è³Hàj„RQb|Ø{ÚÎy’;æ*•5.ÔÜБõCˆE‡ ‰ýsþ4[vxŸ«» üCìå“ùG’cµYj÷ø_njÐŽís9¡'†“[–1ŽÕPÓ““ R[ “ÛVó·LKK¤ÄtYžG|OÙoô‘TXò[¤ƒ?³x–2Á»ržˆíѶ4$Ê6øFërùýøÊ†ã²´ÂÚ®P¸ü–Øah9€Ø=íÁˆììïÿOOY ÛÖ2Ѿ^Z½ ÌbOP6`¶YËæq¸tºáÞÇЛ®®Züd.ÐëÄ+£H¨ÕµrT ý•€‹ÓÇMÉžõTGíé"DH¿,aT½?êœP×åÐdÃÉ<±ÞóOj,Câ÷Ö*ÔóÛŠ$ ™(Ä:·¼Íê¦o@ƒXÏ&{íå0øm¼šÅÎJe¡­NÆyñX˜Ü[%ÔÎ_€âØ`ßÕë•ù0O¥¨œ~lC"ÚÇoû,¨,+CºÿŠk'Ÿ¯1¦™ÍÿÈç­ýO™å×ož$Ü"©m ÙÚ†©{ÙÊhSж7X™¬Ž Ö!«™Ñ¡þÁ–H®E3X9AµËô¾º‚•VeLRT6œÑdb«þj èº'Ô‘¯â׈.?<.¸iúço|b;¿ÈµƒYf—윢; ¹4÷íî¡„˜%{þ6)z|ˆ…a YȈQ½Ïo8¹pãÚ²ßÖE²,é¥rÃ[¡]Ù¡–'“,ÄÔN×YôkÑ]$×c©oQò~#Ïî9„é|á±cís;ST_ÛxØ~†½fÈ{¦®¯W‚¬}û²Û#Ò†Y$šS­ÿ%²>4ÿd&OðGL¯ƒAsi¯™ƒ6&êM’†Û¶ê±jwì!¦ËJ\ŠÈPû{5uVÁø:ä@l¡ýX ÑLZŒ"t*¢ ÚT»•Õ錷@d^ÅR¿ƒX.ï°çy­¥ó„Ñþ³oaèß4Ò"³äŽë¾Ͼh9]!AD¦ ¢”Vr6Ö.ÒaðXO’qòÊ^âÛA€Qf'"èPOw…½ä³ , ¹öÆúÔ×ü €ãD£0’¥89 š¾Ñ7j&\—e|ÎLJ_Û¤^ËØg~/ms„Þâe ÞŽŸ3ý$Ö­Ë{bCR½_÷±áÙ Óf Ǥ.>¯§; RÔY:ÒvLów­‰}o+ÏÖe=±€Õá“Ó±WÌøàµþz¿½¼§­»Ü2MLLš@“a=¥ÿÓDR‚©Ähö¢o“xAÃ̳§`‚x4ÛÕ,·Ã¾)Öñ–™€Ñ£œ‰ÓfëLšâ&Xó€vÙo3ÐþÑÛFò2ca£ššg}=V‘²ÞãoŒé¥P¯·í W_ ˆ–ÀiSãP_4³®  9UôC‘MÐq‡¾Twºô5ß^•„WÖl‹%­)[ÇDé|úÜ­l†ª/;”UÛÂ5+:¾±F‹*Ð#Àl£ó3lªÂÄJŒ&v'ÂN,J¨|´=H\ÑNÎN )W1Q¯)=;'Þ–ù®°pakñÖ3 iìŒüÕ&ýQV·h’li¤‚¬×¿ ßòü˜Â'ÎünÍ^LUþ‡Ýv}þ8Ã$(†gI& Ô¼‰ÒÃÿ5uÙ?@•Ka—Iæ*£Ë ÑíæÈ“Å6€çSCPŒ=KöéÚc)Æ ø|±B¢›µÎ"‚oß@¬òã‹-½2-ƒÏaMF3‹D´ðk%ŽyŽKâw­©""í´/bö u‹ðxÁBª‘E»‚ÜJ|][~›Ä…M\Pž|evÊŽ× ¼ìõ,šTl Úv Q ZÑÅ‚±w@™GÏ)Õ›¿Aï·Œùj³!Ëæ€‰ô°Ö"ZxS4vêkab H3Îÿ|‘jz&fô±ô)e(W:ÞwL4{Xl2ñª=q±øq l£!ïs»Éw|p½†Z8ù(á`VëöÔHÐøs ±+Ç^£²ý\¸˜@@bš ZtFx]Pûתå{©)x`ºsr“GòÚû‹žÖ﬉IS墳¹Þµ«ØÝ¼GÎð ·gøÛ 7ó ²£3bßéz:S¯9l'aˆhÄiådãc4:bÍûX]°÷0àŒßË_@{u-Ö¬UÏÐNuI©)ÄrË—ªiöµÓ=@Bü &Bç‘áIñ()~–,¤Ft'Xnä+¸ª¤7;TÝ 2h_¸\ñ£ž#)ÎÈ%ÍŒbf4ìÿûú ·!kÁ=ëMC¨œ#£ÒBñ­S\Ç|àÆbK%Ÿ[n‡;‰–îX‘‚JFÃ1¨ï€þÕ2WDˆÍ»Úù^5tš¬|¶Í<Šì\ö(¦÷ù‚ŽçiOíuÒå>,ÏnSZ§¶VƒW„úÌÕÅÑ­îx7cL²ƒI‘~· ®ƒ¼Íî)Î=xGÄ-V8Å©ÊIÌÓ< òX/1A+!I\ÜòÒoMJ±sÊ÷ÅñzVhÛþ‘¹—þ»@¼"ÞTœlËC=ŒkŒ÷UÚ[›K@DVùkrXàòê.Ü䵑RRÈ7)Hx H…Be)'2ÊÕ”h߯¾vó£oúÕî…jWºŸÚãy1-–”ð*¨té(è~RÁZh€'5kAœh=ìW$9Ò›4á‡7[XÀÏß_Éz¶ûË:Þ!®}tÕ+FÉ^žgA$QéCF€Kg,Ë—ÜB@µ"1ö!5ÌœäÕt†s¥÷Ó~»¿#â”±ÜÍﹸ\˜¸ˆz~ ï&^à>ž˜(À×<0îjpûIШ @—ì’šªX ÙcX³èšrjôà D¸¡½aõ¤ ©Ý\Ù·5¯£“_ÔX6­¸¤"Ynf_úçqtî×Ê0RšI‹®¦;ÑN`¡õLñ%TI¢Me8'‰kˆN:$n_4ypÓz+uüÿÂnî°»y¯D¥0'¢h9ïeÈÍÂx–ykèÒàñÀ÷8+%J‹vçÊ䆢tàäv)üTÚ¯È÷á:3oS‡ Ê¢™礃ĭCôd=e~Qä [í£—J)©f5°¦M’¶Ó½(^´2Ùí˜Vܾ¬!¿$ÜtЧ«&ãÚÿl$rÞU%õô>f‚‚-×hN’Äs;Î^Ú~©žø÷ßê.ò}np1G÷דl>T‡0_Õx9’;ƒî2\¿€I\û" lzôì)’˜I §dGÃÇFEڪݞèÁ#¬¸ü9&gÄü“‰PSžQ¼Òab,·Z­.K´4¤Élª¼¯®x†`?ÉÏ"Oå?=]œ¿—Éù_!®Ñ}æ&£:v…Dç.DÐþt«!;*ôäF(ŒÅTU6 #Å·¸þÖWîùÄFé˜©Úæ'®{øøŸÛ„ú…Ì>LÈxßJ™ª¿ñ¥³~Z§ž¸ *k ¸‹e7o}¬$;ZSÑH0VÒ!&ù@µåˆ¤D@\Lí]Ö7Í8š÷óh-ÔÐΠè‘®þ„ÚÙø5æ @Œ“L Ú—:(“ó”Ø:“¦š°´­ áð·í+Ô…ãô d¾cЙ*bfÒ©ç&(ÁB=LØo²4 žx4Ûè­Íþ…[ ³´_>*4,IÛ`_”«5[¿Ô&ä84U¶nªµ€@ý ²½ ÜÑñj³¬çx’ß¾1*‡rÝÿªɽ*€ïÐRÏo÷ D‰Ø 2æuZ®DÈ™gæ—®|ëÂ)÷uuWŒ×3‡Éðý˜Ð‰xË)¦0øæÌø¶<ŽÓ3Ž/æò›˜•*·Î­ãðÖµ{ÅþEBxÇ«µfCÊ=õ®bJ~O,{5_œVf-w™)®²Š,—û:·ëŸè`#àL™•yWäØCºt)oxq±ûšÓS@ië°ÁCÂ6‘0¹“ôÛñ±˜ë­ªáçý‡!êÐs๜¡C šÿ§÷€Ó*½}ªæp8ÅÛCt·ZV¢±¬lBçyoÙàfÈÃH%• ²&Ò)ø:*ÔÕyÒ#pâ™Ù¸?8aÅG–,êì¨kGmÔ´«ØC×…{…4gJ…#È€i¢Ž¿.ôE [ýè´\&;néMRoÙã«pô6¢ú¤Œ¦òÓ¯\)ƒ²‡féŸÞ¸tC'ÆÛ–§Vâ3šŠÙÙÎ`u¯¯˜êeùt>`4Š8üÀ€PݵM.Y²…2‡|عP‹ñËhD@Ûj1‡AKŸãNêé~­$-¬=\èØSW•D#l4!(ÐÜ»6Y¼ øYPšúÔÒÉmÆ7Rá{•»>Gâ4e_ZøZW&ªžä/.r°9ö‹%‰gZ ybDFŸbQ¢ø…¶"j¢|·jbÁaÍ/XRŒ¼:~WÖH§å 2¢¾Eq$íÏ…­F¥•uŒX^³tÀ{—¼úpWÃñR˜ ܦçJ0ž'hë³úÂÛµžÂ¸špª¹…²ÕÄR3=ÝÒCƒ'¡ ¾*ŸUÙ\Å+ öÆ9LñÀ¬)TdÉáÎÞÔ ò Ž‚“1‡§é²úÉ̬u9RïéÍá<}’ÛªÖ5ü“D’ÑÆ¤f®×ŸJÂõÚkNõ¯^µ€ åè>į*ª§uTc‹c8ó•A&œÇÎ>Åsœ‹0U®”3Q¤0=Eàû¥Ü³Ì°†T¬DmÂÓ]q®+Û[¼DΰfXßIAGâ±$òèn£ì%jH BÇÙÇŒ³"N®Eø_¢üTþhy”h{›x±¨Ž eX`ÀRñ`:2逌¿#ªœÉäÈßWŸc;‹^“š¡ùK¢hcY=âÐXâ·[O¡éx*ëbiwΡ¬Ø%%„¿9“~$Ùœ®>{bŠ¢9qmù‚&HGégQŒÿé½»¨ô.=O´b rN…ÏÙ×0¯iªu¢_ÐDm‘™W‰¬•Š»(:<¹T6 +ÇF󿳿lÅ?)™u¸±œ‰t TVž™ô7ówê|÷µÅ7¨%ÀÁòQ iP÷x±$ µüû‹2ËÌd¼CX½b£:öŠ` -@½zÌ)_Ë8‰°¬qVnGÀí±pC¸!.þÜÒ)ªW™Z5Ì£N,…–æ‡>?0…³q܇[7¹8¸"ÝŽƘX¶N ˜’¡v²F¼m(rùlàƒ9úì+ðDŽ-#ÄNoÑŠ.£´ÆCgŠÃ滣*FNf%ÆÎCxÕ·a_J°9ó/qQ&SÖZ_|¦k•Þ1ލ²ò¬`VV¢´ºŸ}A†AÅ$cf‹ô»ë}·z<Ä'çb»ZÒÒmj8 {ÌVŸdØê&w=Fˆv‚‡Ø½þÓ{Ÿopš½“mäÞÊ‘†ñ‘à;ø+\®8q›Ã\µ¼ÇÆ:EÚF÷à³SC‹…šÁM§‚ïÜ+57€ål•f÷n—ÆT‚ì˜Ãa…ÀPKs缘¾y"ÚÓöù7=ÃW+(,õñÀ$ØØÀ·U0ØÉ½·òcx?ÏÍåvñÍ%I†ù¾Ž¶ªQŽº0÷’9ú&ƒ[ú½±ù*~-4<óÃĺú‘NuÜ€a2Drdº’Õóv)ˆÆ ¶Ffõ”f¬•+Š &‰f™}5'D¯†eû÷F¡‘küù1„ ªW6°H‹Ð‚«/kF¨Z‘UŠù™aFmrÎg'é+=òlÒ¯°™Aøè]^m‹[Cè’™ð'XPúïÌžpHãp3y±Ø%QV/½Çkh«4Ëe‹1M¨Á-Ƕ=#C[®&QôÓFâ‘·¾ÙÜ#Ã3M¬²ÃHeI¹odvЖt¾vÊš˜\Ä“~Û¥ÚV¬­Ê²íoÙA„aAPɼ2¨bqAÍ{ºAÍ௛ìØnŸÌ}¹G S0ÖÜI˜œœÁ·rÐ(3½‚ \6¾®rûá( $y"gz§Y.B!š%ª­–<‹B—U>0~æ±Âê±5$¾” À3ƒ!_ ƒ Ê'n00¯{ÁC*PUË˪{»Y¼¸¦5 .ÃÑýc•~ŸRØz¿Å¯}_o*5ßärËé™ìèQ HÁ¤T¸DèþÈÛ0¸–:æ÷ž9öapøã(~x™¨h»$=X·w¤ð©:Ö™½Ãn%cȇ¯€ylï¬$´ÏG€ Wæù‰‡@heªÀ,X†]£h‘i—AÂQ™ì‹¬¨âU5>T’Çõå%”9kLbO½Y› P¢ˆ4²ÈîŽm@‡†´ ûã6©]wøÖ}h˜9Æ“*ˆ¿»í*6ÿ1Ø”æ³fWc‡`iÙèðxèbp«à]èÑРԿ&¨£Æû´u°•vð!gyðNÚ§Ú^€pA„ &ÕûÅ5ô1V¯åitŽyº‚H'9ï툋b!*™;Jñã 2ü>úر Ð;g)ûLÃÕ´iAèkšÇrŒ=Œœ»9?­Nz t¬8úI:o-ä:YA£”¢}ñ—b{S xCW¼ÐœÆ} 2[”¤»G‘ËFr†ñþ"ýÈ`zýâã=ÔräåLa3%0ç™bœ’€£=KSõ÷Ûáñ£Ê€µ4“ìI¬i^!Ó0›çÆÒ2q‰W­GbŒÆkt•’?V±3:äx{ bÔ㥷 “^ZÐm€Â•[Žôzü-«O«¥ÃäØ5c• W c@‚ÂaBOCãS”În~u™Å kZiáœ÷$út:£&½z Þª;+ÿÈÀ T^üÍë™ß Üws¤Å[k½¸c_ªìx»w ¹•—£ûIçQe«Ì+xÏÈ–ºgê Á$Jh¬8×Xéñ³¯ûX¢Ð-"Î}¹ª5§~,«õ4Þ7ŠH"RõA»“wPÀˆÑÚ”Ë0-ˆuZ“öªãïa… ù¸úÙ´î×eÝ]Á(¸ð8{ã¥ú”bÊüИßÕÂK‡[ÅdjR­½¬~l?YÈÒ†gyœJU/õé]¸kº ó:ÍØ…ÍÑ VùÕ¼¢x‰·œÁ+Èü Rz'ÏjÍРfã…zÜ1›»ÖäøjE’W|V6u—!zÒï6FW è°bäÌšºò}··ÀSÿoõéBçÄ.…ñàol†qJ‡¾þ<‡âÄHúpÛ ]U‚‹pÖæ9¡LÓ•’CûðôJê<áZu·.wFqk¤”·hÊ'æ?&Çê˜ê%¿el¨Êd—i—?ÆÚ t¿.§žv¦ß`¶Z´’ãl©à0wwÛ÷5pÃÁ]6xÜg4pb>"¢½}ŠÑË2ׯJq6Ïî ßW,ŸË¾ ]!ùîd®5ü~'kwIº kñZ‘¥s§ÇsFÄNÀ¾ù‰À@Et3t Êž:×€úø-1Ä(Ÿ[YÒʹÏJò¡w’Db¸ê¨{²й¥ŒIJנ¡ª\N…G>üÌjW‘ÇÄ;KÁ¯È^zýáÖÍÁ\áó<œc °‘þ`ºÎ@ÍCn5ÜxP‹ãeœ)á5S@'ayYMÇL~Ùôá*ò_ÝèñËz1{c5{ÊgÊÄ/ËCµ_W{!ÛâD3Pö¥OÝTŠï‚Huµ|©ÔôGk—7„¹©!Å0ùLBv©Aá·…t'PŶu¡QÖ¡íVë¯ö@qôD*†ÿ h4Ë›S0lIU–zÁxÈ6_ÁW;6¢AÕ øx\9dÞTçÏ>þ¬/—™F2É_+“0¦g4­T˜ù¥/ÂЉBwvœ g}Ó ä.<Ý5@Â\gdbÿåÅ¡QMkÈ.M‡o”gEë²ÐÌ/§¶ó[­dýñsóB%ŠðU„ØÛ fY°NÎñ/q/F5'Œ†f¯ì„Jð¯i*ñšJeF‚dÕ×Í;Ú€-ã]á2Zá X6„‹ËϹ÷SµA-¸œº÷·ÜçãŸ5˜7Ú\BŹhLCîu6£~éËŽÀ­:8£–­Ø!¼¡Kq3ìÜ)_ö²·U8ªx:»`«;@ÎRb· Ót¤:·v%luú&”ëi#§²2Vv\*-²÷9ðÜúD82Çû¼E¢fo èÊ'%™ "]+3lŒs=)-òF®ìÞEN=}ÍðÞxŽ…ÔÌž»aª[Áå¡qÆ ^ÞÆ°h~Þx&ò²3éÖ÷h÷qMè¢Ð'‹öÍÓ?M Z½ ¹Yj«!ùßÞ z¸ ¬ “+”ÍXrRRªþÓ=ï º€‹†­•–«8`C×mÑKÈÏ{ÛEËrT5îÕléÃ’a¹ö‚½kŠíñ1¸‹±Ì¾´¹Šr¼:öìlvÙ3P^^vFL@=4•òõ…8MúPE™Eh^Âó üQ³`ûŒ×¯Ž„¦Íì6õP[~­~€|… Úæz•k­,‘ìxȆ+}é¢UÃâ}˜bz.˜íiÈD>Ž’\ê"-6ÉF€e¹˜Ê»Îê†fá o¯úµ=¾áKVMb.eÑ6özuŸè%‘7¸BÑÓ²•ÑÿXo\ÆímJÔ.ÇjË ƒ…ãÁÒ]ŠäÃüŠbÔ1@‰ä Ç< ‚û‹A‘}G^„j½RTÔè,õõè²÷¤w.þÖ”,Õ"žSê|Ñ)|9câ.õì;ÕNTo Mÿà¼]ÚÄ#Ðí¼1"ÂQåF!Y·&tÓÙÖ ·_ÄB«_¸Þ1׽˫OR;¦x‡{K–~ÅqnM-ð•îíçe·ÕIñGÚžT/!ß)Ùfo(Íœª„ã ÏÏäÎtZ'ŒfCl锼W $£S‰C²¿«€Ù€Ô ⬓4Û;:ìö¯pŽ ™ÀPíì¬RÛyÙ‹Ó„£M™m:Þ~ŒXãuÂÑäéÈÕñÜ«¦6Oî«6Õ;• 0*ÈÅÀš”èÀ3£W=½5'Ì5õ ÖÔñ÷xNî|? ôøuD^2‚:;Sa`qÁtÁ ¨÷XÎ ïÒÏÏÿÍøø—ÊŸ{Lò¬fÖÁ‚8sPiûÞ7¾8ÔeÜx„›‚À±çÉÒš™ÇBˆ˜m‡©SÎ2Ô&õ0LF½Û ¿œL ”Ç&ú\ ÀÊ„Ï;4óŽ•Ä]h›6á6(vZ7yéãuÌʰÈê.$DŽ͌×' –¶¬œkø’³ÛȲ¡‚u~¡ ˆõßÔL"rTýùÉwðÔ=¦öyùýú©J­ðÓÝë¢r%oïBÃã;F¢ŒÆ€ÆYÏŒ«&Yþ„-|ðx°Éh`JJZ³/0ÉR@aÖ>}¼FðâpÆøêª–Ærÿyi•VEˆ¯ü4W媥dîâ“ZS˜Î_ð¤ Ôá®lÄßÏ Vóqîð¢)E(Ò¾”BLõÚ¹ï¼á Î%Šð¡õnñ4ûI«“ ÇE£a «yò×ògÎ]f¢š ÒŒ%ö ~¨BpÒ‚ˆ‡ ‰çð¤µÂ²2/áb™™+8s‰ìžD¨ª¿„ntD‹!˜6‹¹ÁO…ßÎõX¼Û—jÎÁ ÞÄR¨(XѯÿG¾ùÙð¹p)÷ô%q&²3hæÄF×lõswÒ;y æ½?oÛ¡%}„Œèõ®.=ƒº4s@ ­ous„ÅSšG:™™Ï>÷ 6Ø¢:Ä„«§<ŽÓ¶´,œï–¼‚­ã«ÉºÏãà/6nJæ„ÈHq¥Òõ]…3¾Í1ÄÞ?í,sØ~„Ï7ýKìéÙŠ¯ÿóªE¶oJ¤‘æ’'÷Už·aE¿e‡àiöY0vŸrzÃ¥¬î¹³(Ç˜×øèMs9V5¦UÚðñ1ÿ‚\pÚ@²]ò_ˆÜ ²<ªÊ¹ko¢ãš>² ÿ Úñ$_n/·¿Ê!Gõí¾ðæq’ÒQ1ïJÏÜYb8'·†Þê?ND®z®,]ÊWŽbèºu½gäré‰<ÀÉQì=às2¾RòçÈðD-ŽrE2÷f¹<¾?ð£`Ù·ÙÔÀq©¾Šûq¤â´¡âO-l¿ç¤Dq~¶Âq Œºï6"æíjb¹Â~ËáÕÍÀyö±>¤Ê -BÑbW3R­®¢ÏU÷ TÂ%K‡Š8ň—æSÑ(]Ð6H Þ pKš÷^–SþÖÕ–)$ O†¨'‰ŠeÓøRž¯Š¼`·8ðûÛ1)wÀ´¿Ï‡àÒ°( Ðò&#bŒLÌè1®ÓÀ¶œ_ 48Øh³§ƒâUüÞä¥[E¡á ÔQÅ_ý¸)¶õ e²X_E‹Nì±ÂåÐlÍ“à/7ÕjÆOÀ1°ªÆŒt&Ÿ.]Rb ­MÐLúÙ'EÏH '`×mJn6Ç4¸hH×HáR ŸF!•*éŸÅK–iY&'Uë„F1šN¸"8b {áý Qñþt/†SÚû©ûªw’VÎÁŸÆò=Ü^ßBþèHtÁW½8—{l©lk›sè G¶? ƒ-÷<Ì3ø*#'~“\Ô½Œ+œªÂRgÅ×ÊÛ£ ³f׃dk,'u½þNï&±Óu“ð ¿å?;Éøl‘êæÀíOšší_E?“¯póâR˜@ ÑAô)µRiz×vQý‡©îëó uvšÀOR:ÞÊ{%œ¼ýM³ ˜?OÞQ€®±IËÎM/?bQ|öMÝñ­X¿ºW®)©ŽŸÕ¸oÆÂýµ!V®Äá'õ"v¡Úi9z ô(œ4þ:Rt‘ÿXI”´˜ì‚bþË ]òô†,¥ÉêÇæ/zÈ„?°ÝOMå=Lb\S slmÁ”ÅNF„¶yIM%ÒX>H@K¥ú»ÔÛº‚¾ÎÅso-¯ÛëÒ€i ë œ9ýt…R]Ø“gª*X2šs™¼[PÌH³/b5vPa×ôöïëÛg¸iÞ'’>§ö*íð ûMÑP:BIVNMÆþÈ4†’Ï>¨å‡‘¡Œ³\ÄˆŠ¬0óîZ©6Çž™‹úr÷Üã 8† ™²'ùÛ ô”qÉ·/)÷Ä%8=|a=Õ_RZúSµÝGç£5Í®U·i'.ÒÐMvá,mrº+] Ù…—‹MÈQL J¸c23©›vþ e&F1Æ¥|¤ÀW_¡KΡ Ö=ƒ6f)f÷4ßÔQ3šMè(ãk¯)IÜ6n5e |ý^4yT©µ™ù«…¤m{ßú-I*ËžÐv7 å!8éDƒüÊÅ#³¼SÝïÁ=5‚õç)¯ÞEílíÉz1¸ømÀ_:ësÕàN`îÕØë³9Å5 ù t¼÷¸%gjÛ:kû‘ϾQKôÜá+Heâ*žà¨Ëõ¾*Øù–úØT#ÿª~!@(Yš43%iÀP^– £ßLz ÈfÇ7ËýS5a¦*âÎ=s—\²JRÿï£]ëí :ŸK^ÉpÞ_‘GC¿ˆ•ÐþcYÊÚÊ:4Ih¤µÂd–…×DÝBêÙã·*Ʀšµï ¢Ê¤_¼_/ëgöÉ{ÄÙ„÷pظ´+JXºý”¢ˆ®Ny ªÎvÖ´É[@ò:¸_ýuQs.rc¸°.}&1”'‹¯ÃáÌ šÎŒW  ƆaœÅßï˜ög^¸æÀ5:Sþ½RXWõúŽš %ÓÕáû‚9¿±a‰Ã~z~‘a0ä„<7SX ÙÕÿ°Í Ãw"Ì|$™‘zddD­«ªlñCiMŒç,¶À=e}üž×À¶“dr¾uGpvëÒ:ylmƬÞûÆCZàî1%—f…+ƒ×!ž»óxGQ-Q³ö>Š|h 1±ЫyaTϸ?׆µ›³ÆYÉaÁؽ0Ï‚ÿØ¿z÷¡ÎÓçYÈ/r`SÖŒ½DE:Å£uý¶7CÛœÖx×¾I¡Xæ:5œ F 6vR¹Ô?}M©T»µ£>”êQ^ٚ˟ÿ]yÊY¨q±|Z ­ãH (V²üIu+[íʼ‹8º/5Åñ~xÇË`8éÃYÚ,Ûû!Ø›šëÅs”Rgþxþ™i|o@Qcâ%ÒŠ Dî[Wà¾?xЋæñ¡ÁÐ –†{V/Xâë‚4â/ds5‰tCWg Û”¦ÑOÂY>÷8ðô±¾gØ«Á©çÿ‡-gbIÇ;e¿ÐNžœ‚cSþJŠFÍÎA~ÚÉZm‹Ñã­ÎÁI@âÒø£Æ»­¤SºuâL}Ѱ0Þ„|.Ç€{dì#¥›Î['QzÄ tvÿ¸´Ž®Ë¸Ã*ô²3º“}…½xfÛõyH'1ãvµƒã[œ|…êUýh™€„q펣dúr•0†ÏÈxóMÁ)xíè†Íä øÕX‘\D ô/¢HrjðRæ?ˆƒ˜0ï.ð©Ô]ç7§ œþ[Ì{Yj‘¿F¦ÈCÝÔ¨@ñhͰ×Ã\Wšdâq2ºŠbcÕI¿j™ ÙÏtkÀSÉí²Íñç½ÃèªÆ7f°ÐQîÒ¨‘/!JFÊT˜WzU‚Ú ‚I‰OÚhÇ êïGˆbLª‹ô†< É¢™‘ñ ïuü°|uîª>d6kÚ" [®ïµ$. EPÛtãö—Mù=˺§6ÑCú@dklÝæ™Z$›9W°FIöÖúÂMª~³áÌÚô¼Ç8¶ sØÂ˥ŵvÅqË?«¯ÜQÍ»ouT³Í9g Ú*$•ÄF_¤îmQ|S­šAÑíØËdòåC™(ñ+$pQê+ù.“Áèü(ÿI%p‰ÂjM7 2¡m@?`Í]ÊË¥_ËfÎå• èz³˜et¼è§:-Û”÷Ë-ZIlT˜ËïƒqE:ε7¯ØÎà?ŸãZTuÀIa=Á2áßßÞÅ ïÃÞí¹¹<´Å“j÷)§2‘jšè ì ʤé ž4Qäm7;ÖJùF¾ÐúÝ ‘-erjþÂ'›]Õ›7ŒC8¥ Z^ªì2L³^*…C´ö¬A!XÕ&KSp°÷èw­¤~^î)#ÿ/ð@ñJ4XÕÛG’ÙºÏc!-€­³¦Ûøa—¶¬Ñzbâú½¬G⊷tÌ'‚àö‘šy¼»’]Qpߘ¯tòòóú?íä<(ˆ{•{ ÛÁ¿0ÂÜë&'„÷ؼ̵S 7.{¤Ià\E0ß4RÞ•”Lƒ‡¤\ºÉÉF¸Ö7uÁ…]yMú³;éLVœ–°Þ)¡Xž‹ï(ÉœYŽ£¥¦^Î(¿}TsåãâTù\jvcŒ…ú®cݸ´rß+Þ×bœþ¼RXÅøX„hoKߌ0š ²·*šèømò<’¦6©Ã¿f'ð ðbGYÖþ ÕAq¦SzÝh×¢ž£F²ï3¶¤.x¨×µX´›1Ûódèn…W:˜m.XQ"צ‘í^èï/í,9€|É­ÍyÌÓ«² ìe—ˆÿXØ–ÊüèÀ}¦³âæÐà/+|÷à ='U—ØÈ'(z®K ²„Ñ¥îŒë >þî&h¾0ûLbg9î7*êžÕ¡¸,*¼Ùò±½Óz\Ÿ<¢¼ 6*ç Weª‚Ù€¥•çßKáöXýµOÂJß—˜®¹…„ô*¿ÛÎÑihÔεà(†X§›.ÌÇÌ´&¢½¦ûú7O&kËãUšg+lŸ¸ý9”f •^MsØ÷ˆgȲmgõ£â ˆÊÞÿê8òæ]“Ÿ ÜPõ˜êØe鵌q-Aö¾Çg®Y;Õ òȅẋúÃcì½®ÿñJШúm…ÑËrxôÞ&¼ 5 Ö3a•Vt}"Í(8ò.¥“Yû¦þÛþ@ls†NÚ„!¾S»¼c¡'cK™£˜ YÀ¼‹@tâEûÞš…oÏ¿ 4UÈ!@1ëë–Jalá̤B‡á 9w ŽâA‘¹ ]Qà0í2ç{„òc7ë²ð5nr~ôïF˜#æ<*Nãw±ší#úL þUxþòû^fªRÔÎf6%Üw‹ïSÞ~¢ÔîwÙ’ë›v'‡_‹Á«%îN˜ˆ€†ÿtJytqøÓü%ä_êRŸ•5× Þ<|’†"މ«É4döv¬ôÔQ;…ùóo„ÆžO éè°œ'yVéÙø2•ë¹øõ â9 G@;ýÂ.Ceè5®$V†Çe~ølãZ±¸NˆÉ:M °‹YW‹½u v÷cU§Ö6,¿Ñ!P;îpYÝ.¡Hw×=«÷îIÏÝ¥ÏGãé‘EÀ·[ÖúÓw²£Ÿò‡)á Ñ å­fxÏZèd}~äi½B›Ç{Ù/8+ õ¯/•œ)†Î…Ì[w}xß~¤<‹æ1ÔB ˜pبֿ€Ï ŽM?UÖÑî_´*[º2»×Ï^yYLIž´š®Ãu"n&­‘ŸðBñ.Éͤ*ȬB—m8ÀéE¨]¢áÞhÎ- uå8elì%ùœŒš ”3™s"`B,êe9ü¼8þ[–> ÕûŠÿ³ÇV7ßÎò\Tç™\“ú¨°²Y^«£ÏÄ',¼‰¹)?î”[¢ `õ§3. Õn}4Yî÷.ˆ %¢¡º]ÎË`å Ä%Âõýo[ÜàÙ~!uò„C¼“¾LïŒËµð¦YÕEhoãôŠ’mSLFí|¢Wš>/׿Õ{„xÚKbGOò åáý/O9|ä{ù#Þÿ~ís¯CýÛõ2Xë™Ý6ØŒûQd¡â“¢²aƱ“í‘i…Žêg¶ÏBàè:ý<©Û$q?ÖcìðK›aa2vp½(n|rHCÔvH®-Ý|é mLTq „ ´-²°xcPÕF+sDÚAáé‚£XH³ƒDXYBî$ÿ˜¸\d1F_0:èNÇà™ã±PU©|p¼Ô~xÃKšbt @'­ŒÆåhÕNÛ#¯(‚+º”NX?€Dˆ°ì m£Ð¦‚ äøØ4Æe1qýÑEªírbSÅ'èðU~§­I `ìk¨Ña¿eKq³–åšR‘¦Ç¸ö±ÙÌ‚²XAÒ¬RyÑãQ%3¥ºA¸©5½s§Ãì¹~9[ÿ¿0ñ`ðøå< :Ö¦6`êûæýÍQI©™Z<žy R߀×$†E h©zI¹€á áóÎ?>ºe'®UîžM¾ËªV…n£Õ’$¥ô¿§T%¡çŽ =º%i9Ì?íWKz´Ê¦±Y¬™9Ãq<ðêVF¢Ü9¥àöÂ.½lG]{?®t KïÙ0o`úg%³ç²€Í2´ä¹qPgÊ€ ü Ó¢4=Ôµ×o,_µ]­múJüVEš-³nüš”˜à°Ru…• ÀYKŒdΑoú…óøLÃ߯ŒoÕÞä™L®JhN˜3ìâ¬I–)ä˜éÑ‘HK i[4äÂO‰ ‚ë OïËžØÕáÅ3òá¿—M öFçÿ£LÒE =s1#*ãXÆ£€¯²/_µbd5¤™¶ÑÀÀ[Í4Û½¾3ƒDg –3¬‚ÍÎé)£û3ê×eù7=PÉ ý—´øÇ°èR²oîF5Ò^ଡ̴©¹zÜ“µOæ‰ÄvÖø+¬plÃƼ½áÃÍŠóÉÈáç®mEYê8Wµû2|·ƹãÃ÷Æ¥9ôR¸·Ë¨xŒ\…¦‘Uï–^xž¼œâ7íj΄ÇWN3õ›ý®ÖLå'§ß$^x¹êàÜàÐ,b‹¶Óú9ºò7m åžëÙ„‘NE}* w6˜j•Úâ‰)»?í!^eîTðá>a±=Ã1yàÉl! Y 3»Óç¿4÷ÉÖà&gOë‚þ…7-ç?5çÛžî"™!gÅ8d-±#ƒi|²„!»2˜"¸šÛëË„„×ùO«²«Ü{~u<ÅøÖÐß´iáCa®êè5Íâw¾92eÆÉM ¼qa‹7¥Ç ˽9í´‚¸,é†ÇÍ„à}¼[4”å:þ‚œÎÎþwëIî©.¦»w)üª‚˜Ö‰±Ð¾Q§Úš8QAæj»gm¢¹i~°î¶°&2ë Ò¾­¡~¿7‚2v˜º ˆs•*[÷b¥âgMÌbÞ¹æ|GÚ¾Xm:Áþ øÛ^GP¸Ù ´-Óì¤ìnâ[«c¤„zz<ƒ2¢„j79d9É:À›.ú©¯7£û5O×ÃRÉxõÛË‘[PŽ‹á­rme€®V&ôyRIÑÕ¨õSܰ]Ž]ÂgÚ!Ägëk#Ny’ÿŽÜ¹²¶¿V1êeV'×À õ¢ëÓ±kp©õÞÿ¥Q}Æ tÊÄp¯þ» xÉeœ•Í”¶3Lû`¤Ÿµ_»ldÂÅCæÊpvª—ìÓ-,~J9_+ÈÞ ”Q¥ïºj.x»Xù8æã½¬mÑ&sŸ2üÕxÈîx‹]ƒó#Mlu¼àºÓ}$ ‰ËâËÆ¨æí¶ÏDµÊB…˜¤ï™£Awø2DþÊáM]à­ÓjÓ䦩T ƒ•¿wr¡û´26i=¯Ô{Äd©)ÃFÉÚœ”`ÒÊóRþä¹ú¥?†¯Ö·32®Lß}¯‹3ú`¦^3oöUYl<ü ­Ï ÒõåeÃ×zq‹TZUIƒä†ftVìoëþ}¤_Ba÷â ²Åâï'þ$Ë›C•aÏübfx"âÀÛÔŽ CÍ 'زغ¬xT°ÔfH‚N •RðÔŽÂ~cåéSõŠŠþ[AÕœ$¿¡é®v@ÕÇ¿¸uþ¡ªZ†0U¥ š¶45;çÿgÁ=KE°ªÌ²8mú<ÚÃ>W'wãx)ßóG„J[¯'5C`Uˆ3à,S|±í`¹ÈÞÝÝ;Ö™e»°üŸ"‚œ‡\mFv6Î^€>O²ós…uW'àZ‘Q€¥´z—¡sYGàt_MèÙ4yá™­Mf9Ì›BiÜÖ{àb.`©èUn[:‚ÆŒÖA‹‡´?Êá ˜—“²vLô@§Bã›ý=e;&cÛ9!»¯f™cy“ÏÃ`iÑ÷EÔ¦…„-=ïþP ìƒ{þí> ªT$‡® 8¼Ï†-X)¯ìb}Ýñ2ÔeŸâxÔ]æê~¾_•!™°é°]u/,¦_•ÞDÈJ ¢¹¹5D_ªËçnìúåvZÊ^×ksF^ºçðÆ~÷}‰o-Ø«_Ä£«•¦5Zäò ÛrÜôé ]ø¾‡‰˜6ÐH©IŸPpE˜Ü$|-° áZƒJœËõG‡ÊdÅ­¤½½ú÷…‚?Ý ä0Á`„†íLço!1ÞF‚Ó„{(rÀ5Ö°°/8%ÚØ¾¿×x›Å™-Ö±päg›×ù½RÕòÌìÿª0b^tþÖºvÄÊEÚÀN­a@†Üb™ß,É)WÚ*½9ca'+¨B]òÕ±óýÅð© ûÅòiõ{—WwùÅ3 Ùý(䤑|2ß]¸››\ºÑ1s6CCOƒlìLœ¥Q“—.¨A›(Ð^ Çr5ö;˜C`èujs’Úó_¶³ü 耓ÞDãÞèbÐ7UN¯ôÐűv<˱¦º*ÓŸÈÓ1A)«È|Zš_j÷ÆÎòÓ¹Ì*{n¬ŠbW?3 ÙƒGWä"¨þ ¨N±´ÄŠ.o¡ñÿzÖatÁÿ†¢µ)¹0…ÚÞ[]P#þžÅ§Ì[—GA{ûw¡¡ËN±™Ë­šÏ·Îľٞ‹ð”#kt©:4âqÆãvÅ XS´äŒ,ÓPA :°ÝAæÙ|þ<ß‘7õ lZÐtzˆãƃ-.Q‡×5fýAã…Þ‰wéÙ‰nCÒqQL|ËÚˆú6¼£‰ãÉÕ¯’ŸÐå¦ÎGÃ÷›ÞèÌ0½MðÇ”dCÖM]ý\ÃÐ÷ÔX«FÖBð±ÄjÉXׂP˦´,ñ$§©Åв ›Á.¾”Ç%ö”ôÔð5 9ù18÷–#£"ãÃc~­~ÉLÂÇ{E _r°çö¬—`Üíï⿲뵆k[©Îhž©¦Ý¨ŒèÍqÖâ%§Z“ãófLbIM–ÙžÃX¤“SuE•`å9Œ†VúÕ}ó !NPë4Ò‡¼&–#*Á4y»Ò¤ó¢2ÝUŽ>ª7iwৃ[¿•†˜yîpó£h.ùÝ™ŠÅ:–T Ók…xŠå‚þÉ\Ð ûR•Q‰Ç„Y°IMGÛ¡Ëìf³²~[$ئð4eðöÛÔSû²€ j•C7;ÓŽ|4ÅWаF哤r>'évI¶h"À‹¼ç•1»htÑa¬å­²3º­o{V^|>IõmµØQÓm¬rï³MÀkÛoL{Ô%™1à—•KõQ³-!.Ê€ÒÒñœ££³ÔAH£?­€¶Ðè&ävO®âOñ$k/mIÆo)è5 ÒwF±;ZÄGV?¬Ëùãº1Wv©%íùé—~[y-õöqK£Ö¤¯úÄG&Kl—Áň_½ û…~­Å÷½PQúmí·qäÀü³Â9·Q×ÔI ÅÝ |­[E¶}^>‡{OÑryÄÄ2ûcñ°ÔÄ´6ia‚‰Y)ÍG‹ÜÌoŸ!¥Ê\’U/^wñU yüpãǸ ÒzÛrÁšoL ×…Lx؆1!ìÂ)C…l¼ý¶€®¡f­s•P£Ôm.âTæëÃP‹}ò`u ·^tBG®mË#ÑçMµ?í¼.!17íqj Ë#õBEü‹ÌT©${ž1›Á àÄ pöÊ™½§‡1{xê?üi"„²SÀá=«U#¯¢:±€hp¾Û¬ТĠŽ¡Ž3-׃C‰!º¹¤[\¥»²Â¹ÑâÚ˜õÒ±ÊVv½Ë(Ú;D7’(wåö0UÀ¡ýGô5Ï·ýÈãP!¼õT °ÃO:]IZBÑ©î•þ*5ãXºÌ•%xÝ­øl­è*Ù$´høÏÐn­˜qÞÊ¢v(îìevú_ ãâè\·³çZÓ®Å^E:GL'BÅEñ“G-—Å'Ê>Â;aüP5Á·TìÝh<Œ'•N=µa'ŠƒÖ‰á™h`=bAYªLìjûŠ»‰lb€Âaü¢"¿¹)Ĭ %t?°I òšgŒŸ]Bð»Æ¿÷™xˆE;ɲ8›76/ÿ£Z^kÓ¢P[5šsä¨7d¤¥ïºEkû¼{ð;K,¿ˆÊ‰lÓ4=ä’D¶fltFV§ _¸d=näsÀ—BÂÌa-8g%Ô‚¿\ÛÇ»QÝ‚ê²0Çüßó@Ë5°Õõ÷x1äFõ¾]åáà‚É$XxKXßDöè„_ÃG'.g« öà„T%ì~NtÉ1·D!ZìKÂ>ÿ¢(eÝŠêœÓ0'<õŽ8é¶FÁT˜úÃÐyž óNH ¤´aXRX&¨•BâI¶ÄMàMQšÅ©à³Š€dœã&&`/F#x½šˆ¿"|îéEñäý%°ÙµÂj[ «Îrû€{½Ö¦¯u’gkKʶO Á7¾¬Hݵè³ÖA€ \¾!rê¨*’ôµÇ®º·„%±®}“¯å^Û~$QØ&3&$슇C•óä[ÑZùžVžˆy£è{¤  Â)µ™„SÃ]ËŠŠÕ¯Å3ʹÑŒ{jqzÔ{æ+øwQ‘˜ é2ý:? rÖµ,âÚµG(0©¢È©¡d76ØÇDÄâaŸ÷SÏt “y³;P Ýmën³ä ù£E|[7¢àqƒëqŽF±|i à=½û%¦šµáù\uADtœU´§›Oc?>º¢aCí2¹Ø×¥Zh•Ü$iw#7õÆJ…%ûG«+B¿‚pR”£3=u~¡Ž™„aà¥_ÍÙ|ÇÛç:ŒÕ!÷˜búB΃ÅÚÓå‹JSRóüÛ,Hs‚­ï©¨liß%ÌðfMuÆ?JÙ#=Êhêʆ!ãÏWèð ø‡/XÊ¢*0}ªÄº{ ûI…µS¬î>)IùÖ–œ1†s¦]X2æ© ‡÷ìá»ÓöS½(÷[¥W`™Òêªþc$4 ñU)Ô˜«xy3ÕâÓ¶JrÖÙ µÄ‚þ„AÔ‘ðhîá¯z…Üáºf²!áÍ G úî“­î›ôo·_£;R´UÙÂaól)lj¦ágßFj95"Äîå¡—Ç´”.ù:üúMõ0o[¾Þ#]™ßÆp̰pX¡¶"0*+3ü!qý^‹«6BFƒá€R5 4ß9,@„›âíùIIô ‰á›ä"‚Э•Aêè¾,_q'`Xÿ®] «š•G8ªE8O–v*7•RˆuWTÆž×/:ªReÐ;‘ÆBžÉYÙѳ!V6œAƒ„þghZ솬ùî$+J Cd²†ØÒ4u’î,$o£™¸}O«¢dYÜEò¦àeµ6o`ïÕÆvZ:œv+ááÞ6cQÓ«`à¾Ôÿ—£µ;+£p+ͳqc(?%+_ìŒfð‚`yå çfä0“£eƒwBÐÌ{øL+CNJ·`'ž–š6¡¸¦Z :aì(êv¢^£"›¯ y¡À¥IÇû€?su"ǭж¹uB;xîwšäUcæJ9ÏãÌÒ¥gàþkIÔçDû%µüÙúÄNáCÇSô5\Þ–’GÛçšÏrâó¤ÄØEêÑZ"! € +Ÿ»_»bò‡’ôæâ¨’ú[’åÙFIœÂ¬,;+‡0ÁfeN(ŒˆøÐXÜ#]zSmsÞwB¿i‡“߂րlðA0üîHwÑ9ï—¼\ÎG6Nû\!ú Ùuã -ub…ûx$PJ¼õòƒr"Ï»áÊÝPw%iþ^G­Or8g;yq"Ó` JÊc ¯ÁTK¦]×_"4ð<†8€‚p™)âIŸ?ðw óÉ’ÅñC4õ±ÝÀ•î“B¨kÅôÄ» GKèÒ \™p |]ö;µõ~Áñ¡ŸU‘ŽÖ68M[Á ÏÉÍ®/% _†w=ÎYbÍÞr®Éu=¬y:pᑢΦŽJ«’ù5á+VSð²šÊcˉHQ¯MMœkâR·B@låPâå¾R²Wå· /§IAE9 ”º‚ñ5æ]uãp¶ÓÛÃ(5#Víýµ·>9 ó¾£ZÉ6 ”:A%7¶"Ñ…m¶(¬|ÂSçv¶ÄºŸQ½ëËö\Ú„-çÇ,k5qqí”TÀ8,dΊHªÄ¾wO>TºR[TÐØÒ·ÔéA#y62`¼ˆv•B+ãÚúŽI×0ð!, ùñZgÌŽ4±'¸®ŒÎ´ ²ï„Q3;!µØÚÍøgU ]è­t¦œvåÇ> s{âÉ”óÀØPyY£°Ò‘ê$GœåQ.  3‰žqªÉÈjþ¨J€r#‘aÝWyZ¬—~£âs€ ”TæŠ-Y¡¥ |]å@TêÁÞWܦ¹æÄ¬gË Z²ÄN6BG* PU8—£žüÊn,ž—¥´°YÓÕÁ/ËxáT]çŸGiäú¨Ñ­R¶¨]Ðwäp¼’t ÒŒ¢<ž8ßàH‚¦‡v‡é ¢±)®Q «Ï)cLQ6 ðè¢røË/u$à |¦\mŒËŠ y3ª\¨$ï&%f­»32W)RºÂ¹å/×á…·ó6ŸâŠÇ\Iñd&_wÉ-éÛtü|nQ¨5–bx¥"³!|5^ÐÛ˜·.d.²ÂL×ßY 1}ÉÅ7/\iT Ò·«ôt5·f]‚§Óf NPÂÖÌ"’÷€ý“llú x³*UΓŒþ“{£oLuÆ¡›€+Ÿm>ú%YÔ>^|‡‹¶åÇU½fq#ˆrœZ"€÷ U%àAl%VÐ0ô£Xª++)=ÊÓ¼½‘SvÆâ.ŸzRØ2õTß§oªuû–_öN#}QÕ|¥™]ž$T?êœK\ñ™ž×¬W²9ôÕ«ÿ<คü,1§=æSM&¸tZýûø>}²Á8ßP¾r©¯x‰åÑñ1³·H ³Z‘XÛÓþïÅ£d4{ËÞ'³§ª>¤U: àEÓôâ䆿;Ue ¨(˜XÓ’ÔŸpx>ŒÌ÷‡@ˆìÔH‘c¢ª:g…-éqY‰àƒl®höúG8°è¤A£6ŸU mj“TæÆy~€¤Ú2°&EËI®ZËöÊ,Íxs¢l@ÙeÀ A*[Çaå{*À×€üf.s¥$ÙOäˆÏ„K!}êØÀŒZ#?¹O†L©°P|Z‚'ž9´yñ2 à„ꜟê)ä+ úìG:ž:ªô`Gâ9,óþ=`ÒQQ`Xü#gÛyëC+$3’?õì‘Ó25Ü|’y÷µ ·6ô!¶l¦j×N|Ï]FOÌY j럒˜ -fßy%š2íöoȲ4sÂÍÙxTŒªmû„£-£—nw Ù!÷Í]â‚+±èÛ-”¬ïõWDu>Ô˜`7DÔz¤ ’ðXáÆn×±_0äy>+§z‰cð€²Ït^w@zSËŽ•òëgu È&è¿Ïn0'³­œuQ¯bò¢ª(b6ãøæbzÄ¿SéKÉãÖ*Nœ˜»ïsq"ΛE©Ý.X~êÊS œ“1”ky]½ÙÇ k5@1”}m“•ßuøDëÍ^q¯´8.ËŒã}e«÷«”Ê\_7î»]^bîšÍØmåj(ã_‘Ã~P~Ú5R]IZPräXÇÓ%víg«+@ùðGwü ãÝ­+n^܆ÀÊãÚ­¸ÊSK°r›Ô Y øŠ÷ñGI¿ÐpÆvåXêÍËN2$ˆ²<ÿ#ÝÜbãcvcá´[î öŽÐ›š²íMûй¾ÎBÊé×H2Ü5BÊv?ƺ žîTÔÄ´ø;˜¤¤ø³søÆp[©ÝQ ôk§¡”e¬'<¸3Ñÿ6-”²êt Æä‰H]Ü1\!Ðv2Afºre¨;5”Ã]§›C ÛÝÞŧ­•gòl¹~±Ú¤é½'½ä¡‰Å„;ýá¡„9n¬üw,Ÿ^Ýý±1û.uƒþœ`]à¤_Šú8uœôäâÍsªÍŠ´òë\f¦ÈU1Ÿú™?’äÆx · mÖ¢¹3Èu4ƒÊóa_4 ùÁ:_G¾ÌqÅÉ“»³ ²ÄžFÙñ. p÷‹óä)G§®J ÷v“›üê éí¥`¡bdðœ4 ʪsY%:‚Ú Kæ{ È÷×:eAJMÄÊlao?ø€¶Rºç5R¿ƒaiQ$ ˸¡tÀæT¹žÎêZp.}ÿµÀ±dÌmR%ÔxSÎèn™ÇÑ~ì·Só• C’ÏG:žÇJq÷_Š\6Ýî4cjý@LlYcãÖDÀRô×âW‰‘Y[ò¨Œöæ‡ú÷î=}ÁNÕ!sŽc=ŒÒù/|:ÒRïýO¥êÃeU{4æÛ&ªÜ ±pó‡‘Ç„òG#T§ìµy¿{Z‘œÍ $.^"”¢åɘéÔŽÎeÿ´Ô¨Ñ뜸úX°Î.·gW81T ¢gK‡Dô¡ÿD ö9Ýæ|Ųµ¡+€X0éרÔ">¶×_ý=c½?xæÖ¥ ý¢£„*LÒ›÷0ž_Çßú>s GoÖïê¥ç Æ¶¯CVÜ·ã`vi÷ØЉH¥yØG£¬v Ö—>£eáî-[¨Øk:‚yо\ê›fÄÏÉüÉ⽎Brw „0 ÊüüS—PÈÖ5Žì·$(dîÄÜÝéŠâ¼ r43~0dž¡Ìß ›_*Ê 0ÊÁVÒä 8b­×±îÊt\p[Æ£ ¹7`,½ÊðÍY”út¤X“8ï>¸W¡PmT±Y#(ÿ_`ìâŸ÷®P \±84 }®ØÙ #•hl³ÿyî#ÚTšÓ¡}vNO3´26à’`£¸ÄoµÓ WÈZ“báqôÏéÞáÀ› re,‰ÎYQ×’™N1[zZx½ÝjAZº²ÎÔy8cyˆæ½÷tEí@ãL³°UõUXIßK´²âNåØixA¤A;à†·á›…fÏKt,ŽQü±°DƒƒŸîÊÑ™ºvà¸ÊăãýWl‡%i»"ŠIuLYþÓÔ£×úÇf-«GJoÙբà Vc&QF¼®Œ±§ÁÏ×yTØé(&;>Œ©æ¸•茓ð®ò¬£q±¹1ô¬X‰Çý³çŽø€í—¶ ~8ð‹{ßËõö/¨q³:ÂÁ?’kc‚>LÇ·»Ö1?¡÷#8:Åô®|?(gyÊ©b”Ø`S&aO°jˆxMŠÖ8¬-ZÿÞCƒ] AëN@œ¢!v0¿~IïhnE6ö4*б!-5Yâà´Š3û./œr‰y™ ìÇæ\m?ãÉ’‘V–`ï\œ‹=ÜÍ f'nUx4[µ‘L(Þ¦×&{Tã,ä_1 ³÷¯å–B÷ÿ+@ãúÐAúN?ã{nŒËÕ$;;žz©×Uõ@Ãd‰öGŸÍTwÀ'6'ÎÃ4yÕAݵ{«'Û¶÷^™%Åaùžu;ׂ©XÆadšP  Eu=ö°« ’ÉZš"‡™w¿×q»P§!l½ÑÊœþô9fé r "l>¡ãž²{r ÿBÛP—kÀ '?+yW[Û" †ŒÂK$þaö³½Æ-Ïxžæ° ›µä6¿.Ÿbô/¹Q9ú9¨ä´ éȲêòA禘!›qõÎTíƒI+zs†ql—¬P8Ç÷²ˆ–ßµz¦PóG¸Õžˆ“Ò g¹]ÓŠ_+ЮùŒæÏËÇ_<…·®ÀkÑs[ÚVÂé"ÀT(ŸÛÖô7}6ù¹h†î§Hå„:óÔG±}<¸•y‰kû Ÿò\Ûþ/xàjÿ?c×qw±ï®wó[u,CèfÒW﮽¹!Ù”·Peû¬ÌDü¬zc^õŠ]¸i8…útßµÖÍ Ig[}÷ñ« æÙŸ‰Z&ÿ[¡Û¢WtbµçÐ„âæ á—þ(ªåBS↠wñ2l‡0ü»q°_1¡@ ¤:»]ŒÍG]ëáq뾃cå¸veÄrqî¢5¶E¶‚S×H#jJgú‚}p);–k Å©ñ¤!{ð¯8X1üg`H ÈþM„âN[ß¾rL\âïÂÒYm^’sã}Õû[ýc#ÿáôquÍ Ê@f—™ô”ÂáãL§ÝÁpÿ䞣îÏ/];·÷ª¾¨ø–˜~xJFìFñO‘Q—6§=B¥!ÙR(EkŽÛÜ0ÑEZoŸ“›2Ru Ñöô âuúö»To®Z`6Y‘œŽQs¿¯é÷3Œ& ãÃÚL2{Ò^ÈzSGWžYT»º †þƒ:/Ù݇I ~?{­1ú¤-)‚Ã58ÿe¿!VnŠTæ-<¬uŸ¢›{îÿÅ3Úÿ¯ þš.:ëïg^ÚÖSÑä·•‡ÌCÉ™&8p5I+,•µ)å¾…}GÔišªZ/”Q¾€®±ÓÁZ£>ê{:_Gê𦱍;åÔÆ8áfã„ó-¾ô…\Åg)­XÔ¨i+Õ/ˆË/ÌwÎxþaù¼ÂȨ2Ejæª÷ǘv1I¿®:£?åî5ß!Ú%ÁÈĹCô2,rïüÏá|J— ¤e\æŒèÍŪ2š…G§îè>âTQºÊšg ¨q8éÎî8AêrUH°èÉ-ûSš¿¨ÿ?ÉvË©¾U»/„†£7 »Øcû ¤îE¸§.ŒëpÅËTÞO|£ŒÚ”E%“ÿÚÖwh.I ’Ïbêó.´l¡RJ_­ÙD—»GÞ×?˜QTÎטül/Œõ 'LÏ»þË›¨›†iiˆÈª(ë÷‡mr*ð™€ûÑ(ˆ.|Ž”õŒ÷’Ô­8ÙS¥—Iñ^XÂ\ñzì øÌ;Š‹Ã:ã<&K8»4zÓQ þ9*R#‘ª¦0Ë‹#418§¢Re–L¾'£¿4. } uÓkYL’šËhŽâ‘Ê"q{eŽ w1#© fËjÈ];âG(4…-²PœTȘ¡UŸ9:PX§€òýûž¿2‰Wïg”79MÔy:5ºŠêæ¼ròë•鉢T#û \gÕSŒzè7ò±i!üYò>ɾžè¦f}>¶Ün¡Woyù…ÂTö<1É}Ê‚p”˜ô è Õ]ŒV¤Ë~ÑžÀö)Ø%AÐ6“E[ÙÄ—LÇ#èL/‰©iÆ×^àz•/x^î¿J$8|Æs×õF›0}4ø½·>w$}Zbt“›ç«›VÚX­8]ôÞLtªm,ãNÒa÷O¿i,'îMÀ'û3ñ½é•‹AÅUßÁøLÅ›¨=1®l¼:^ý5T\ï&Ç(,×Û¸œ‰p½>Y*¥¹ìc4æ<¼0U_Ú nüG•GC‰UÖkOÒyâ6kåK¼õr->Kl»¶0u´U»ÜðœÈ@_.SŠ;ùć˜ÙOZþ õLÝï\ çí ™|O»8¥ÆDK½Û| †Íâ;Oo®måi4ÖV’Ud"Æ#eŸ'÷RÖòH~邇ۈA\¸ÌŽÍSÜMØ&&׉ÈøP÷E©|X„ë#Éž×2 ¨ò@öC™ãeõ&}Õe¦.ÞZÕ-Ž-9%Jâ·ìÐâÌͼ–²éŒCA<舅“ÐÏjm¾á;IÍÊíwt-…{‚Å],îr'0¬k™¤ûñ!°öºñÑ¢Âõ' áP´èp`É õ°·[е;ïn­¡YR||©Ρ†äN4¢þŒ'ÚìöéSÍËø‘­|„ûŒç×Ú?.K>B8SkÂ~7Ï E3~1<¨5Â,´ÔèrÊæbù‘ÚÅw7ŠiÞU“´nä\þûP³R׋O À€Ë^² æüÜèÛß, Âå®ÿÝ0^7Óù¤ èUrÚõñ­É­pÈËzè°·#yyø9#vè~JO²À_ñ0ë&T/§¿ð⼎k£)( €¤ÕŒ¨}¾ao€¾áßa(?Û?ºüÀå¸Ùp(,Ïgy¶®«ò¿¿c¢ùl<­ä©'û¿`lI.¹8NSÚè±xGˆN5#±ÜéÑ9¶qÚF5=´Æ`4d|=(€M¯°Óá?úšp¨äοÁX²&ZÓ°Þ›À×±:AìJ–¥ «Bž£dÏ:’ªyŽäG^OŸÐ{p§ßÖÞ%)h‘ù‘"O¨ëž‰lÜ7Ïf¼CÖ­êËÛª6=u¸–VšaL0ñ+м} v&dÀ mº Ý…ÈÝJù9{®+ž½;ÁPÎc¶ ˆÝú…ÿ+È'ëU:D7ZVF÷fýŽßá,ôIýRÆ3%†*Òœ×Tø¬ïÇŒ"»´AËmPtí’·–ébM»Z+œ™ôæ¨f‘‚Wºu]"zq÷T—íW :¾ÉŠñ]ŸR[¤¢…zÔÆ^ ¼Î{‚âÎ[Ûjî'¯˜´s8ªÒ¤ÊÞïü£[œ¹Í,†ôît…bè#ƌؑ0È]Ñj ¥EÑ+œw"^ÈWwwWQŸX´c ø³ï‚f…6OÞ™öT>¢åV®pÜ ë=šM<¹•â9ÂŽ:‹È yÆDçU©8>³™“@Þ|PÍ!\Ý”a9èIZ†gB \‰B :^t~ûnMßìðˆÎo«Ñì”ÉZ8Ì ‰Uấ*!#ŽÙAÈ$g‹‚0ßO¢YyI´9ºîFo¯ º!{ʸoMïàë°ù±óO¹4>R%1Õ HþÜ1åö³ëT,0e5q6ؾ¨±xáÚN³µV$1Q Ò˜57 Üùô!1ìÓ.â”6þkº80Š>üyÌÒõ=¢ðÏUÏÉ+ŽÒ¾¨ÖÿGKª~þÝ‚'IÉ)úÀ„•‚ö8üÔÛ‚JéǦqðÎg\A HÛdzÕŸ»¤|þ¸èÑë¹]¦ý»¬×Ü)¶QÑ™¦|TÀ À½A`ˆ ³?ä5}ü"óhäk¾ø•ë¬E3z­Ã`# ÑÎÞ±³Æz:|U4 ²ˆFLUW7³×¤òÊ<¢™]aG‡r CImk9R~LDšåSUúPq[QµpÖ3Ø©ª5ö¡fÉŠÖݒѸ@UàZ±=eÆfIR¥²Ù[M-“GU3Ùuöß3¤§hÉtºä=ÓÞp²”I~8¤UDˆ¤$’ ´1¦ö‰U%OÝ:üm”Â=ðÞ!MVì6†K¢Ë+„L÷‰Ì/ð ͬAÚIr´ ü•º1¹×ø¹dƒXٸ狚J–ƒ`¸¹j¡TmÈŒú@hŒ4¼b²eý’×…]å5À/U­y*³€,7·Ýw*jÌ·Gžb6¿Ò½Áw‚çÐØ3_'M±m@7ˆF¹ðM{^›Á_m ö1îÈ¡sµç£þí×ÁäS2µ¼*v¥mÒùò7Á†h‚.‘ºê÷' ´…X'[²I[ogÔZ„…9ÓV2|,ç)È:T $SgµJ)7˜ðuÚ²£RÿS]Ý–!£¨K^7&Òð`„žìO$.päZÑU°»Í“ås'•!Ƭ˜[0Gh¿!Ån”Ä¢!QdøÅñƒ[pŠëœ–Éœ§—ߨÖwPˆnmK<ÞZ.l M§®!Å*Júr÷ŨջÕhú><ð“L™Ô.µ eÆer”3' Eª¦˜NÍšli›ñ@k1NÈ/±µ²Mµß´{K4 ²ëo@è—Åß š÷÷³8½íëŽOeìv5Ôñx;ó©ÀÞãSZ¿ŠRR¶=Ð/Es%bÉ)Y¢ª­Y¶v†þ¤éY¥E#Y{3nͼaZ¢ˆ"‘µ-à0WbŽ›ÛêQœÒÇ1ÿ®ÒÉÇoíÑ@Á&“Ã#žk/Àg„>1óvŸuIûøCþ¨ºN ñ¬²Å¬€þXyØf«æ­)øñ„;ÉÓpM{çF†9i¯èx{ÆLÚìT)ØÆ¥ðFÏO Û—XÆ-§»¶ !!6—n•¥ ‹}Ôênd>„ý¤ò…ÞP4Ef,6|tB†ž6Œ_z 8¤oQ®]p.¨ ¥èj™p¿4#uˆˆœ'=-!wòI‚·ËlÆ`ý=gC[²E…nQ…â X ‹÷ ºS™§0Ú¡×·)”_—Í’aWêF¯ Ó¤m[é$ƒ ÿC8æ1Üî(>™ŸˆxáÈa0˜{pÚõE¸›ÁC‚÷Æô­ÀsÒËî[|eU¦,+š8.„ð(’È ¬î§~¶Œ9Ÿ¹^Bø”O¶¥¼‹ö eÈÇ*´[*„½±2hŸäXÆ×ey:p²I¦¥÷X¿|Þ —1 ‡ ÀU) ||šm®«½¾+™–­æ§LkÐÅÕ|G߉Þû—D±Ûgª¶ô¼Ï¡´ûø{€s©s_TuÑ¿í©·(n?Ý XÜf`Cl-îúˆµ-PXCsïÿ4 $7W³29);¾§SÅîñ­?±<¶K¤òiÄt±y¼>VlEÏ€Á3;+C§î›X f«Éžûð<Š©u®ïòjé&ÃæjqT,¡N‹¶¼º‹—VyeNÛ 'í}~ì pÇgÇŒÃóJbÐÊ'³õ½½B,RÑ¥16ä—Êþ¢ûpŸ’Éa8^h¿?›«|Y4Çþã`Ê?åï£Ë¥ügݳ†2ö‚ £Œæl W„“\Iœ šë~ ? äyŽàôTè[ÿ¿§ÖuùÞ½¾BÂÜUOw`°»Š<Ï))[ßXñìZNï~ÜT+y<ªí>+i[_lžæ›¶»ös9•q·¡yT° ¨4û%„ºz£gð]ö\uG œf! Ê{ª"ШC€ÁWT§Øq‹¥Lç†8OTW «èÂùí4pǨWœªæBÚ¿ÖÈCƒîÖQÏuI–oTL$êVI u4¹ Ñ£ÌÂÓоùûت‚¼Ã¬±ä¡‚ø‰äþ²”¦v¨gCXÚ% ò$ CD¡ì$ì‘ѤÇPŒfå…01‰5¶ èCÛ\“ã&ý 7Åß,£™ÕÀ‹Z)¢o9bþá{J¯5¡"”‚²¸E¹¾™vIŒÐ®¥OCÔ Ë2 Î)Jy/ì'ñAõµÁŸìÔ /·ò9£FêL«À©¦‘Ax•2|\olû¡æ¦xopY}ô*.I?Es¾ß7~ß5/ÇÕ»ÿá% þû_§ºSFвé w{âYÖ¿À;XXB& èC–ùL@µuŽ­$oŽÜšv GT[uìׯΓ+ó» Ç4,C7Ç mZÖ¶‚áX-[2³»z,À¿¼¥;56¸›’à.˜b÷UП¶a¿¦œÏÌÃí1WŠõ^ÃY4!}± ¾5/¦¿n]”¨V0Ü·g5§0cÁÕµ‡¨éŸäX™Ú(“°îÑ¥“D°ïö(S¢á¦z…‘÷Æ>ÐX%Ó¹‚Pc¿ðKüÕavÜùá6ïö#@H©Ñ=03N¨J[ _´ÄéRb,ÛÛØÆu4âWsÎë ÅB˜–\U [»:~Xòx†IÌ ÃúƒÕ ÿm”rc€°{¥‡^Q푃]Πr’¤ú±vvô~RT0K6Ô…zYÄBvd‚+eþæ˜Ûü¬ ø2ë®zΟ„õõ$¥@Z©Py4}Ùqöë1¨i š#&{(™—ÃÅ—« Ú8vhœ{ìpõüÒ‡†ø¶° ZæÓeÇ`þÖ 6o½”—´x¨î &<é9ŽÁ‹ý±'Kg€xо‚ùÃ>%1}„¥Ve|öYO –®†¦–QÏð^IëcÜt¼5l–œuà¾ÖÑß~§¦~‰ý³h¤ KÀʦ™Q9(mYm‡}‰%‰š¹@¦—¡víϨÜz£.ü#6~Ílôi È·µŸ:œwºBùÓ¾V­¦”à Ç»#‹¯÷êÐõyU²¯&G`寪2ÐLns&ýãåI¥‰úùÛ9û³p=I”~”!·%òËÇ!:µý\ˇ†ß¬j» Dx9*7uÜY¥›kKÑGQ‹Žz­êF¨†Ò)œDñ À'Ûöç{>•ÔøöÈù¬ä‰Í¢–æg÷U«ÅwEk.Ö‰áNtËŸ£å–yfÎï•Å@é  „èØ¥ªú&ÐÏM¸¨ÀjÆ£ Û>Õ~·,Gn³Ë’-ck§ƒuÝÊÕ΋€W&À¦!CÂó8ׂäd¤vD› /˜U¨k+ûb–ã‹ý·˜÷ ÐsªôJ"#ž¢cS?•¬ê ºV²„¶‡ó¡>v ^'Ié㾌³2°yŠä³iæ\]c”²è(-ìqíß">¬d~òXQó#ô6à+¸¸=Ä/{¯çov–JDλÛué@”²,Ûâ©.a˜TrÞßÑj,±–zì’¼ŽYó<(ç¢i¨ÀO»î®{‡{t$G¡ì²3 ²¾»¼Á8³õëÓ·`ÝÇ£|,NRûnµûÕ EÛ>SûÅò€È-@ÛûpÊ"RØ…©ªƒwH6ûÿx?ñÂ=°B¯Ô`ñž—‰ÝqW@úòÊžÊÂ3ÁîMµA­èFß[{Ül_@ïŸ>èw€É£˜ÇcGå8ÊŸtXÉRÿP»ž!EBKã%GPj‹Hi¼ì¯*J*:Çž¾6m‚lüe/ØðÇÞl¨a¬†´À7‰£ßñá$¤ry3/b²è<-µ—pÁì=ZÉDtøk«Eá©ÉÍÉî±ß|ӖˆfN¡h“t´U"˜6ˆ“(¯1hYIK(®FÔ’8¸ÐþÀgn€ªYÈ‚æëü€â€ Ù`RïNVè/!G¼r,ŽGû¿ø ÍbÃq3ëתþ»EÛõ×@ H­˨öŠ{äõ íB±ÑjÿMùž°ôx—íâ3çB†Ôæ5ìø'JïËð9œ¹b¡M«ÕÜ;ƒbH£u“Ùщc{`Û]öƒx›©5sÅ£–9~Ðã+ôÐ+XÿÕ¤Li“QÀìj“ñˆ„å!˜­æn•ÜÌ£ûîèYCGêõ ß×àŒF±$×ẊRŽA.zÛüܾƒ¬Â´ÒJùˆøpU3¤Îs†Ç»$lxvý—…o%=(ûoÜ^û® ‰Àñ}ô ý,†Å‡^ØT’ì÷̈“äXp"Ï<'PÃŒ[ŒgZcøó.=£ZY𵈤I{>Dš˜.5ûîEE9ã÷Aj‰À3}²ç@í­î- SUÊG6tº´ÍPË? »ön ëBÏ_Ã¥&¹«òP‹Ó$+ãiÔŸÁÚMw›»hŠÎÛ¤;œ—K÷™vctͶ÷ÛÐÇ¿µÀ†Ã¾ÂY b•bÙý!ÑO'•ôG£R(¹ÃR„|U¡N\#ŒÑL²+ƒ|é.`+›°¼‚·¸XMéÿ½j*ÀQ±Û\•Ø{]H²‚c"H3-Fçy¼_Çb#¬u+T†lï4zæBUqðäKGgÉ¿ñ®)tÃ{&ô¬`…Cp-ÊcÌã"<ô ÊÆ' /:‹?¦ú-„âáK­ëö±¶‡0#*ßT}ß" ½ÿ^úíVQÊ´¬§BÆ)Ú`çpç  ›1 QÚì[ª‰#„ óã°›6ôÍhbêMH³$·ÑëÅõêÐQhusß¼pÓ£Õëaæ,sŒuv¬1«jßAðý˜ý¼¨ztp­*°3  Ž3i‘Bâ¿“äp † arj¯f3«œ!|’D">jFy~·XÎå™ûÈ‘.‹ Š^Gzrw§³îMŽ)®;ŠA³5’§/l3u®›žªŠ²¡ËˆuýÃH{õ²Dë?@î¹[x`›t~Ɇ:¼tQäsµárÛ 2#–À½Ì Êæá¿¶ü„·»ò”/Až;žÈŸõ†";ïHb57 è·È‚CÛQ[S%%Ò ÙO(Ïè=Æz0cÑ«!´•ᇄ$ê8î:‘d§ø­éšò¹´St~f*wüqgέl•l­Å*Øeˆ“$«á”x…ÖûF›‡:Û+í».ˆFüÛÔö=JÁ¨BŸ0)'뽺¿¤úúC>ËL ÓŒ»,Ÿãðþ]HÖ÷„,}1”~,8*wf.Ÿ’oÝ1z÷%ç$¾(õoãØ‹Ú–‘B,(b>8LW:ó§Ií ·Ê‹—Rsñ $,a-ﯳ=ëP6’kB?yJ$]Ï5hØfµ¶Ÿî{ípy£%%·Q7£bä~ªGT¹"ÕC0)eÜàÿtjäI"èMXż†N÷+S>úB~lþH0F'JZÛÌB€3"˜l<^Mäè3¬GÕÛ|®Àf‡Ëç+¬@–%þn¾:6ÞÊ[;žü") šõicQ‘lË<ŸÔŸßõÙ×W÷â¤Ø)q€vç‘è‰ÊNîÅQŒ­jóý¯a®!Ž¥ÄC‡¶/Ò"¹Ú²¼udɹ¿uªuNTÁ`Öt|p§²Â%äéôaJÑ®$t¸xÎŒ–ãÈ„EàmÝ@/¯ËÔÓ¾ØÐ¥ÜÙàô)‹BJl‰])¬¬!¦„˜;.XaMÊѾ÷SË`“‹mçÍ^2‚T°èÄ ½d3$™¶yëÅ.?üÖ1£lÕm `6Â)­Q……i—b ¢?'r¨H-4¨Ûþï#Ê2`¯L+f0Ÿeñp¡«t×> ã/ˆ§ŒÑ ›«È$û°Gu~Pò9`/•lÑ(¶i3þ+¹¯ÃeAaEÓº,ÚF?U™É.+PX’óÆ–àÙÁ–M2(DI(¥ømH ¦›BÓŒ-?ïÄê;ßcœNôRæOîw!˜ÚF”«¿'ÊZø‡‰þ3¯°Ç‘ë`žaß 2 Œnhžûù¿ôðÕ½@ÃîÏùØï^Cjÿ”âåžϖyÒŸ¡ÒÇ^ÝVtêø,4/Ï‘¨°/=HùýQèY@Ø®<šðê]Så;å·/u-v º¨!;7U›9Õ-Ù²Üúev³7IÒpЉ‹í4#:5ö$®´$}ö†K>Ùì@MBÜZÇ@CX°¦Y‰HW˜@ÂT^â,añ‚´y’œí&ßzìÎüÍéŸéûþΖ†%BlÜóžáLZ6;¹ËÔëbd÷Ôaü±cÝÑ:7:؇Ɔľj%‹#”šºù¿Â—"³¹¹¼°]Gb>½aýF­çضŸiéÖ)º[©Ã“×i Ž«p¥ÑàÔ’†r‚×.DÅCNS·c:¸y»–)\ð_¨ì³ý­iOÛÔóßRëaßÒ…d_ûÇPìÀ˜²üÔAž×‡j;vëàBËÂ`kžû"ùÀ°·ÔŠIñ((·j9þ/Á ÌÉŠh“Ü'†™Æ*Î:Ã¥ îžDɶ*ј Å=ÐCbŒ†ø>`#‚%'FP§nEô_ux¥þp‘z 4ý¤ö•`ä÷dã-13† ‰Œ²qæö}!ÓÎ}¸7ô‘²b|CѬð" <}Ú—UXl¤£s”Ÿý>ãý6ç÷Š7W$/’ú± ™Ê1—iGÊëðñƒ@ZFW{‹¤«urÑZº¡tSml%9À­ìï?å˜×N‚`gÕ$¾ª×N‰óé#OËÒÆìÒ[鿢W¯s‹Ö°NꓞGV7€Üpo3ªvÝHçìW°[ëìÖL”À 2~®&ºŽ6B~|Œ[9Àw³@ë.ÝðÛ4 "ðR‡Š2ÂH°¼ª+L’c‚çÏßQkÚ­÷ùuV’ :ä -p¨É)WfÉF”,ÂâOÅÍßË7IÑ8£óˆ:Þ òQ´áÜÂìù,ÃïÕ_/:¯âc~rfoñQÇWWËœÏï2 £2‡3ª3FmZ…{GCWŸÓ<ï$ǧ\Ò^PcäÈ@vH°ˆØê~U‚dšÞó›ˆ-Jõ_áå(ðK\ ²'vPmD8аï)‹`xCTuuõ8¿‚¿mÜò¤Œä•£ 1]ÐÖ[º>j‡Ö–%$Bà„ Iˆº’ä4ᥒˆÎXÛ“ n[&¨/$PwèSÛ %cz°®8\ø ŒÒ:”j`>¼¸rõaì`'°„yUoÀ² ¾í[Ïà˜}Ý[ IJÌqˆnd·¨Ë‘œ/j /ôv(…T³u0´q|8`pƒ ìÕ†©@ONÓÍÞàe¢)‘ Õžƒ;¥ÉÀnx„DÄ jyHÖ~:qÓb{¬N%>q3ßœªÐ')6$¿²xiÙ†ÅàU¼öˆqWφ½ 5°è…iÔpæšÊís¦ èÚŸ ¦6qN  §tuZ²ñC`ÜAO0"ÿCkú&H‡·ûÎÌK"-Kð’J ä~LƒšæBWO’Üìn]ÖD éEöÈê¶G^¤ýg¿iú>s#ÈSrDªó:syÜßÖæ…Q }?ÁdÚÙŠÓaiª/@:0I‚§Ø‚®˜nQükw¨³å‘ãkîÁó·Î´Öb›-E¹­~<:AèÙ!¨³ãÚÆ©-5Á~m9úEyªÛñ)“–E²´ní>™ È"Ù´—#ŒÐtu5XG…Å»lGÚU:J²N‰§À%ž.†TB<¶ZÍD súÄKSˆOKê’7D»·öe~2ÿnB}Äì Ûa<{’Çê»k/„©˜ùñÈ~JQ_¡Æ£zÖpöŠ£zOÓ(ŒÙ*Ë90£‚Ö@ÜùtÜ•РooCË•—¢+è Ìí+•@Þ1¢¹üÎWüXî‡QÒìÏ†îæ¨âÞW‚g‘¡ÛLµcYsyÙý³2ÐãèT¹âVp/Ü…Œ“iÞ½;¨÷øÝ‹æ±1Uį/¾®ÏÓ˜e$ÉB§‹KU–¡@ƒ¤öõ—d@Ç&ž·[6J`ÓÃ]-ÊëÇz'êŒ}®.ùr#´À%š$sî3÷KHäæÌ½oq7£×o=î‹Y*¶EãýÖ0ƒ£Ä›VÇŽÊ£xæË^FˆâaÛV !öBXoLt¬c°….]…£rÌ|€÷Ó,à*Ûci/¦JL)!ÈyT¬h.Dð_¹pAg&Ò¡µ††=;¡Ëþþóœ2ÐFµ¬ÚF575tì6Ñù¤ óÜ –I–Im÷.£¥Xt«¨hm Wdô´¯~—á˼P™Œ>]2Ì,uò« Êó÷–HìüÓ½-p Økcj¤½]Ÿ¥˜ÈøùPXtN\_b tYãùóúŒæúÏoGq†hÛùg¯P£׿Pµ,{nÌÏiÌíø··U¿RF’ÓêcvãJFÐeN:e àVEô–Æ9/cC?C&«kÕY¸'ÿñ0{£Á¡™pø¤Žßú¥¾µ‘œ ÖŒÃR$e á+­ªåíì0]m(‘çú½2‘…±8ë|C¡Ðjf¢žq…Žz‰mýªçp ‹Êæ6ýŒS/h¬þ÷.DçiÉ5¬ÆoÙqêv…wß$Ö˜œý©7fÿ@ã~äÑË'¿ÈÅnÌ4¥ÓùkDíj Ãðª¤*‚>­%¿ÊEÞë*•’{ò릅¤©  ™Ã£‹Ôañj´º7PMÿ\¼PÏ+¥¼ ð6R#DjqZ©~;„~¾]Åúuoßû6Ù~]ûRѾ1*‹þ³Ê7åþâ >ˇý¨ÀžÃ§[QÔn¹Öd0>€û“ãñ¾x­Z˜™rb°Pi‘V)©K,«úÞ[_…›HTßZñ²'cw§¿„Y\eQ”w/Ãç¼»Œ´gJ°Å¬{® N`Ïè¦>ù)-<­gèˉI8ë-w™ÁCXý™~ƒr_&:CpBqǦD„ö?™“”o-Œ%35u>G_ºZ[cT¿¹äµzQXþqÒŸ¿ŒŒx×Aª¹7™=V'–UÚÆ¾‘Îýî}™\0j¤&AÐg«,/mTKj¢sÝûÂ]ÁôÓ’ùÇ!Ã{ •­S\±‰É'îKQ₆\0+üžebd jd>p2tëšæJ=‡#dÝf¯9º*·šE…m'¾˜TÜuòÊ´"<9~SpUêRn)Zb@S’d4ð ±› •M 2`+"­žxžµ1^Å¢µMa«,×ÄØš3¶CËĺ¸×î´·Lr‡ãYÙ$¹Šý6¢­Ñü‡¥!¼ƒŸ+m®'š2œGªÌ>߈Qœ¦jTäsÙ}%Kv·D© žÌóË‹¬îÅÀxDùÒ”= KA+S-?wÉþÐü uu̯BC _«xG;Á&"XíŒR:¶è ¦·Áæ8#-X„ëïýÑ/^u¦Yãã™LŠ2ÂBI`¹»Í™seô;í • üìõ}N+¢1¤@åÍ´áröQx‰nžTa¶û­u…oSNS¤ ´4Ë-2Šùà/@s@Ó‚³¾bõ,ÈU=ÊI{FZS’¼µŠcäæY)?A…ÕÛNú ÅL(F¯üÿÍõĤwiJZ)Š—^Ùÿ"_2èd!IY£Û'¿ ¾ËÖ-ÖÌ(ÂáÒ ‘]+Çn/üwWƒúù0>?¾‡ˆÇ âœÛµñLEÚ bª¬2•\ÛVx,åÀ‰á-%`zɲú óQ\|>‡Uh²XœQCñŒ¡~¬o‘ì<›ÉGC5j· N”XŽ·vÎE5cïR'ꟇÙ~qV·põ+^­Òo4Îx.Щ¬5Î2mvJªð>½}Ó¨Àû_Þ^éº (ühÖ¤¿f¿–yï¥eÜ{&¢El&z—Š_K= Hn¬¢‹©µ´¬ÿ['Õ ÎN™\AN¶¡ÇØÙ9¡¯@„ Ûâé—ƒÐÚɬAÉ]°oñK{j¶›àQ<±Ñîí€éØPè6-|ñt³‚î³ùm­(¤ÈOÆ"†¹ 7m÷¸Ž~zxÏïC¾ÅåïI²èÎþ q”É_þÍÎÚvRõMµÉÍ|¢•¢ðG=Ƹ}LLKG¨’6ÍVϬdˆm™¿Ý8š2°ÏUnØÞµíÔ(¿\†~GoXo…jj!\wˆÿl=és»t¿±ÿkº:VBœ™°£ÊÌmŒîÁ‘ù>޽u¶ía÷ŸeB ,0Á4RîU‰Å›Õ]ŸÿÁ¿>ÿˆ·=kyŽm±ý TÄo“'ŒpûÔ6\_²œ@Ù?a`>Êä4Òo|Ï%úhÉx‹^­¢È/2XS2¦$v©TÝû¸ë¶¾Á[½Ú¤“MA-±·wOM‹¦´’àë+ñäšß«Â¦ß‰ëM¯‚v%BIØ Ïd?ä«„G‘­Ó‹…›ý¯~¤2ƒçàä°‘{;ç%Ñcc/S™KH–‹úÕ ukÉ xí¨‰Ÿ>ì•kç©LU¹ÅÎ4kÆ×ê*»0CÅxÓ“/áꥴ̊Ú¿ j¡Â§ÿÆ‚{0°1þšƒ9C_/ ù~#⠱怱µ €#”dú„9áãâ®XÂT4°ð RŠÎ—ûшòPÖy‰bº­¬aœTL;@Àx úÀH_¨áªFWåj·srx+o©õÇàÜ—êô³h‰, ?Á¹üû=Ïrêø7ùˆ9e8;áµýxj“pšµ÷hæ´ê7P»ÚÛ¬Ÿ6ÚˆÐò(¿Œßd·ÌH“M#–€ÅˆèÙƒ¿t9.úòrð÷ÏòÅÂä¯X/5Ëxé7Ú«xÆûw¶ æ .-98½óöθüè7# ‚Ã-ØÊ–·1L_˹‘qBRŒüÅE ½ÿFŒ–Yõº4åUDrÇL]+%ÌÖ &&ã´ayæíUO4ìéžå¶à¯ÇåcsàT€-aÍv"D3avƒšò·%Y;ŠÒÃKd4ÑÖ¿¸jÂã÷¢7 „ ¸¨Éç¹´Éõßžåhå뢳rk[¤€–lë¾€Æ$ÙÞL|b“eNÑßoý;µ,€âÌ‚þ–QÛ¹Ä2×Ñņ„oï‡ØªªÒí€yÁÔ£^…(¸ô-ölG`²²M‡Róø:´Ñ] HÀ¾‚:ä¸8vúýhµDŸú:tóÕx°Ê’ˆÞ!•ñsxv^'OIrZ[MMaZ\`N<5 žÌáæ‘ˆw4YD˜l(ƒ”ÛHö÷Û"×ê âñuô—ŸÙ¼©o’ ‡¸`ŠôÀké²·ÒÈ.»Õ‘»0Ü®möV(Êê»3Í݆’Ç[ui*Àz{L"òú¬À%’ЗŠe5ƒy>ɶ|MÍQ(¶õIkQr ×#\P»à}ì*¹÷4ÊèHœGÞ“Vu—J#|ÒVÐ<Ô‚ÎÐvbs§iÓÀ’âä©^GŠ'Ù8̉»m!wu‚\X럙ˆÀ™uq¬§ˆ:Î þ³’gFšÿÞ¸*„È­ÊÃãÊeúâ¼òsR”s½ŒP¬æ2[v©|Ô¥nƒ/•æ|!}¦·w¡82bºp¹1NbÛAo(zFü#PÀuM4É 8,Êv- ÖN;1 âó[FI«|qztã ÑR‹>ë)Jì$ð ©ú%"ŠX(BPø.U{oCZ²¾~¶“Í‚H[Êq–ÀÔèT¤xÍÑ–?ƒ x,žµÕâü\aë q0¤]È™©"ñ™Á|ó¹Â\«Y¿6S£ÓjÓHN#fw̓8À²Jt¸Äñ}/eøÅælÕŠíÓO¨'ø2®&CD“1Ø¢™}¼ÖMŒˆóbkTG½ä"•¯Öe¾LFí‹9ã½ p—?f¼íÓèòÙ¡ Î@v ŠÈÅ¡úsϽÂíÜ¢;ñ2¶)ÜÉ Û/¶ 9霪SS‰% ²—Ä÷GcÖ–OW@ð˜6šF'(Ú•ê¦0øªÈ~o6ŸzöÖ Óµ(Ò$y2…‘CVBÀµûÐ-î À'³KVQ¤`©'G‡ £9ÚZ¥ÎF›W›VRÇÇÈ>˜vöãKÍMj–=êÝWñÇ-»¢è|ÏyÕ8·…û…åc2+“BbTºoOAù°Ty­ÖùÛÚRãÁŽ9–zŸ_aKNQKË´$§8aA#Uc;§€&¸ÝÚ(ŒT¨á)©'¸B_B×øÍMÞþÞ}iýY!j1ÂaE'QÅš0ÊÚîUâ °þr4Ä ”ì°)kç…áôT6±ÆQ)¿†˜›7Ó.%§1—çÅŽúì´M³ØM”Usø˜mÝÞ0n#où²ÉÀÑjTÉ€œð·D­[lÍB$<[>G‹FzDƒï|¢D3¨¨OeY2¼í‡Y5ÌbŒŠ‰EÆŸ1¶(?àL¤-&Z˜ÅQ 4·ŽÀ¶ «$mÙÝml‰‘ÛÅgõÃ[úÞãñc„¨\ìYÌh"©î› g(‚:…†©R–°´ä$ý?g 3Ýåy]!À‘&†½ÀuiZî§(?zŸOøÿ¬ñmì‹u<ÎónÝCŽI?<@»_4&þWÝßÊ";”å9…Ü\;ˆ}×;k§®LÀw¶› ÛíîyÄöB ýì%YÌ\Cþ¦Æ ÀŽ&Z|¢Cj(gEäñ¥ëþ¡)FŒŽµ>‰e;z¼”$k%€¸f–…Õþ‰aÞ%ö¯À‰U¡zšI Ê¬ÃL£éÄò¬.潊÷/&hj­¿ÖðÉ]П?r$P»]Û‡Ëiú|)8&CW¾;‚?®RŠeE½ï÷­žÛÌXWŒëd³ÓÖ³\+ùúª†öÛ 7Fñ¹s:È®[PDxžmð£Ý"Ä*%[ŽýF"š^7ævú¶ú9ô ƒ¡Òg|7ƒI§Ò‘µFÇ@Bþµ{H:†Ø'È¡²äAëÊl/f»vz÷á78#¤ƒÊ¦ó±ÐAZòù}ĶTŠwjâp—×A⺵7#(¾ÝVpS¨hç­L4*Z¸¯svm9÷Wèp øë©ß=ê· —ÃÓþ…DVQ8у@ùêyaæÍû·ŠJD ÀQïÅß44Ìw ^éKü/%µŠâl„”C± Ä…¢>‘‰… ~0BiŠ×°Ü]ÆJåÌ%×âŒQwšÝë´ŠaÂpñN"r9¯ãƒÞR pÙ­É·‹²ÿÐK›VXB…Õ8Ö¤!JlÕÑ— ·^÷ïh9 Ä\ý^æ¾öÈà§‹`œV<̉¤‹?vL.”Ûü*õÍÉsa“š {W´¶Rj²î¶u‚Ôn>¢cÉhÄŒ˜CFÚžÆGÛ›üŒz´ÛÀyW¸ƒ§%òÂ! “Ì%4rUC—¡6Æã¯PÝÉ (zrÍâ³’Êį¡‹Vwë"0¯ã·"Ÿ)q†™0<"4-á°¥${±îYŠPíÛòá©×†;QÙ U>5¦R ÌÅë#-œ´R:³»»…»Cƒÿ¦<¬â‘tò9Yþ åùÖš·µôL±Önùåa ±YÚåòfØCùUr'"Õƒ&Ïàën3W]‹é —•¾ÓÀ̵yA<¯9æAë¤!¼KÝÖ(´pþRŠzÎeŠQŸ-ˆ‚ |X;Es²@Gæ¹Z ѵ׭ä#blAh€‚ìϘ¨ÝS¢æ¶µ'Ú%0Oè÷ii×'Sô/‚‹ÏYJ—C¶?°;Ÿ"ÀFŽ Íä|Æo(ªÍN'Œgà*‘1q{¡Ñ©(E;ÿòø¼Ôí€ãl¯téÎá8$añ䯬óo¨P"Œ¤›-î‘ÎNÆVc²Q*yÒï¡´ gæiF–änïJCõ<çš°½îá3C\ þ­Œ½€û:1ß!R¹PI÷K‡èCŒ/ƒºÄÿËù× 8kes8œŸzbŽ/ˆõu^.ºF䊒†îÖdäÍ’™r9GDYï5aÿ刦ÍGK6ä¢xvš%ÍÉ}´çÙ&Ë;8jÇ7ɃBÓ9DNÔ$Ô?˜ºÑ¬À>W\µ1ôo¹øñ’Àù, ¤4ÁÒ,\jçKÎF¬ óNNúÜTú–æOX††­; R×Ëôã‰Þ”¹“³,Bf’Q_äØÇA®EK%Ú(5eØÙ‚ˆÒ 7Ý‹v±«éj¥Z”%"Þ}ååÎH‹úO1•Pi¥¥é•ä QøQY(ƒ½¢ø¯W€>GðýF¸JÝL€v»|)?[CnTþ&òµqD L`Ll;*ßRd¸@Ìò’†Ç$frAM¶'j1¯©¾´Gïä9xHƒ ,ÛðòäÓÄÚ#á‰+ת…ë©+~Å!’ÒMV Å ëà\{Ëð·¶ü6ŸŸ|>ø2Ú”H†Á=ò`¨ù’Ì¡ E?BÞr°£Ä£rmº0LÇï 8ü T° ”-¹iùtHY“1›%]DœÙœî ÏÎÓF‡Ú¸²½Å>HïçFlIÂ^uó9›ÊÃ6ü’‹Õ†ÓEG;6b‹á´+ô´|sD4€ùhþï(NãÕsfpÐZžø‡&¬«šKÉØ Y›»Ñx˸Åݧ½q„»m¨Jˆà¨SÄA¹$ ®i{é~‚Ϫ…[u —FÛg>Š'0B}ÒŠ¿°OQOPŒä=ÑŒ»¢ŽAG4ê\¡ˆ]ä¦F€àº‚hùÿx#Úø‘<Šb300{e?»f›ÎgèhKŠ"¾í’Ì-Q4ÛÌÖ× RÍÀyGl‚ÿ[¶Éð¬<4­žÝñHטX§Ÿ¾ˆ `î¨8¶»ÿ"Å‘µq©O¡À ÇL[•n†®Ÿª‹êy@áG5·í^ ÿ à¸(W× mu‹>lBÀ±¦ý ÷ŸÁÔêýl‹ßF !¢³µ;èa]ô!±rÀ–ð¥·$>™(ç[¹ÊùL¥Äv²Wúax9D7’ig„kˆ‘Ahø€ØÈÉ.t³â÷ >Ž ó”vÖ™ùÈmêJ­8®ôŒ~·ólµRÆ~ÒÔV%¡Üþ\Ç—<^àDQSí÷Bœz•-Ø°Š…¿zõ™i9L§ÇÄ4ÁU´©O´€'Eé“S­*@¦°žƒf ófTOôH™/¡_vÝ Ýï𙓢ÜÛ—½œ «AÊÐïh„Ó?\!J™/ê6—šéËŽ]½[KйšÑOÝÑÙx¯mô^:T5ÿç Ænäà_çÃ-M¦C´Š.ãUõgÚ<£Ï ièú„NÀÿn5¬‹=ÖKiÏM‚ëØÚRlFà©k&ƒg 7®\ŸMzÙÈ÷DGÖßé£äò¼Oëì÷r£¥zÒ&Y縢²|HÓÇÝ`åÐòW—×HëEkød|öâÓÞ9CÈgº•±N•úRæ8>{K,•â_üå’²'md†Œ‘øÖÔ |óäT"\ø\‘åRŸ›Ðò#%åV-ï” ‚tž° ‘æVÀ2Êç«9º˜1ùod8ÚòîéÞÎŒµt£ðGöÅ„ÝõãPg#·¦ÝШìú™ÏBý'çÏw} ® @Ww'œÛÙäÁÁ¤E±i¨ýÅÙp˼»–Ï ´`ùÓêrpÁ|ÁØZÚañwìLYQ ¾9@ !¶m¡vF[&:b‹T*:wuÒG«³ d݇£–(@úôº÷9Ù«f9GÛÄ{©å¸—sÀ(èÀ\ª×ô]é„Pë¤ðy“^`€~—ˆ8ÁdÉ"!kâ)%0‰í‹qz9«Òd–ˆçÊ™ë)±ÄGwà©¡KX%+<,d‡ü˧ÁJ–~Ëx-[„ˆ7ÍŒÞj80èaÑõe}"û~QhsøëýŸÇœÞ¦h yvoÀQNÖÁP¸¥\­ÓXN×éêS‚4> ô=R¯=ƒ»3ÔEÖ*døz`¸‰QßôíCEcXà&èÒÁyzzˆ½'­|ù•VÇß±ˆfA½ÝJw ‹ªùxT̬›îÝÍ%ðgË)ÅÙ_`[‘äd7q’ Ú?ü÷º[c´ì7áS[IOÞsܱƒ§"üU9°a¶x&Íä³ÌJÚeYØiË`È"Ÿå°O ùAP½‘­Å«‚\ÞÍ“rö›QN'c'ó¬?—® IįÁ@$Öj\í(ÉG.…£¡ÝŒ< üý0¬éA@´}|õVáÈ¿†™ð:ß—ô;sk½ãñeBȃ;‡™H5ƒ9cDæl~‡ÿ.ç%ã|Á¼¤àb¶tÐfZ gYÔžA]ÿYÞ:éu_×è+zAfI1¨–0eëòÛwÁ)˜y² œx¶¿[ÁуPmm sëÃvó±&ÚL™Î>¹¤•'‚‡óÅ~Öš±n„Ë(À”ís—šmöÆä‡;‰ÜbJâHyJ ªV…¹;WËQihM]Ñ”ç`£}%O\}Ûà½6¹Vs+ÞÒ{Ðò¥8Ž×š†,0¬ØåxÙ wZ§ŸÌUßÄí<§Ôkü+Mó d½·Ý\ ¥Þ­Þí¥Ó¬ªU³–Az’ú¡ö¡ðžYQ.ÐUƒ ‹Ñ§˜Þnežc6pó]}~Ê úX¾¸ ©TÀR¦ðŒæÅ7ˆ¸ÓÖö@Ì-ŸÄ¦«'ÆÕà ~Ü']ÌCÃKcJ)ÎxÑk%|í°0B~LTvÔ©÷_Ówå<ã¤Jaéù—¯às}¯GÎdù¶´ª Ï×Ë«}ÈVÈ׋9.^ ¡ÙXñ–Ö3@Ô'tÓR¼Tml¬ù ÙcôÀ#‰dðç=øS¥ xµüü+Zë”èp'çÛg^aJ1t‚™b¶šôª&i{„ˆ3©¬S´%•Œ‚I7D¤º™p§Çžû‚«G©é]L™Öí|›Š¹N }INNÛÆHÁMþTïwx܃’ ž‚‹xO¯ɦ ä[ƒ‘Xþ©!ß(ø¹ ÉÔOÈpY–ÅÂéÇ’¥¦ÍʱÓ(õþÓO±éÆ Oº£J¢©iÀ?…AzP€T“ZjP­u+V¶Ñ»ýÊÎÂ8O–_QÛVlÛ x¬ :kçþ»Aà«Ã|Fšms ]Ç×1‘.¼F´G†°—Ç”$¸„`?í´,ؽñvÔaºaÖîWó¹ù¹ê:ûã¾äÐ’ŒjIޏ¹E·ââ‡m è{½èÆ®X¾HÄÄxço ò}Qƒ"Ý¿à ÷<ɽ8û\÷Zãù´©¨‡L1ƒªÍ¤A`'8»ùc Ù埩e3Ж" ,öN±f§äíÙãM]›K§x¿ZÒÒ%Ÿ‘õT¦Hèo`[ر6 A eèx8ÿy…Ÿ¸VæŽ `«ó%‚Êr˜?IP÷°]üšZPû諒#bÉkKÚ šZ{×R)¾âOùŠÔ”ö'[ØÇ“ùcÏÃ{Ÿ¾…• ïE8õ’4–…7îTŽêÆ’vÿÒ²å΂֥ói;æ:*µ»Î#æbä½8ïk¹SoþŸ•Ø|Kk»q +•»Q ·xDoT4%´.È2ÂçãÉsé ¹Ã°_—)#‰l´T_Þ<Ùˆ‘t·˜î¡E» ûåÁ-‰"ç°ð&<•íÊ•=<ÊÒ¢©J*þ¦ Ü ]‰o®Å­O[»Õ5eÞñZ@ 3÷‚)ÙjÛ Êû»t’͈ŗÕot0QC¢‹äxµ‚œáŽ|Þ“%¤­#\òš 6ýÀk»«%9Sª!ºWHÛÔþ'Äçy~sÒÈ_\©‹×&hˆøošÑbg ô­¬[@ë€shK¼„s|ǽ„_dãÈí7±± m1Ë´F§hwÁ¢‹Î“ÃäéTÖüþSšäßú|äë ¦ñ2Ü<‡ÃœÔwi Í}2sí¶Òÿ%6ôôæo£G¶„×Y¨–Md¯RU eíí2ˆ3ÿ°idÅýþ”PfÕ}Å*?‘cMôµú5éZîÿ´4çêÆtŽ“÷‹Yed-a“IŠÒ*Øõ‡SVüN#ûšOxÚy» ìÿÊ™ŽUÊ cºñÞŒÏÕõZº¯Nôr- \Éí»Ü:áÃõ'ɼ—P±ø›ÓÏ"Kéñ¼¼H€•¾óz¸Ã¼ = ³75l69)c2oèÆ.F"³Õ`¼_£¼ÛÖv‚&ÅoÖcG‹xsp+u!êJ¾‰söh–Ÿóê® Ë{Ø U)Ï\ÀÅ‘cÚ‰ú˜eŠ>¬Ç¡­eI8©’§†Kþ‹‘*Åû¨~©ot"õ²¹ç~ÚyƬ ˆ·…óTGüê¡ûè§ÏÅgÚñ5ÍçW LW;Äz'·‡s½qÅ\óe&ªµ¼Ž¸*¿Ù'§ú¼4jhÀˆ—5Ñ®nÔUýT½¹ïyVd"e>6%ºñFZmk1Ø,eE,Œ¯þ\Yª±ÜÀ •µô¨iŽºÜ²×f-CÔJ|«à-~’1 à¬{¸¨—tm«Ÿ–ˆ‹§ÑžòIMù#tõÞ‡çîÈf‡â4‡aêO¾~Õ¦ÁÆÈ[¾W— _¢6¼¡½zy•â·þêÞ8TÛý¦¾šUìaþÅæ÷"©Ý)s2²”w!;øNÙ“ôˆË RHY?N^_“;lºýÔX—©§.4Ò VÍ72´¬›Ù‘*ï*ÂU³â¨ÑuÉŸÐ .]˼!3ÔÅ\ôÎmŒÐJ§¤éhŒzÏùÿ›–K AÇ[¦Ï]ú¢%??H@¼ ¬¢¤}ÜXÀi c­åD%Áz^ŒX÷·ªœ>D›1Äëæ€@"x‚¥*&þ‚%¸ í_2Ô´ªQ ÁÆ<†»yü€¸ªr•*½} ê”è.T0«m›DàÐâEq—X÷Akœ…D-žrçÓ4Üv,Œ2ô]Ò,>åÁ§#¤ºn-¦ÇçíÌZ5™9D7…µ<Š$qèš™óÏ2D¨XžmXÿŒv¼S÷(p“¢à¹íj¤GD¯êQ[†TÃËY²ù^F>¨À}}¾‹›Û†jsÒÝìÙÞ«F/Øò)µ„øB'±dr‹DÇuLt‘’7ÒÙð¥›Ç¾v…Î$Ç*t0-h(= RC ÆLß–-!–QîQŽà`šgÒ=„-s*ª2Õ×_á@/¬ •ƒ(xk¦dZJ÷n«rùÃnȨs¼I0ÛŒ¥@ì¾_`6êÁ†Ôk²”k÷IKáðÛ)À:áÅ-ÂÆ0=/v­iD3‰}¿k-j®O«¾äM\@²'žÌŽR²eW÷,2ñ€•W¤ÜÓ6‰³¦>¡õå®Â\R<Ã%"ºütöþš˜vè8{6mtG¤’Î+ôÍìHwoKu0×(;¤v¼•d¿ç“JÁþé0jvýÉDVWh»4d0cԇ׬òå6¤7éÙPÇN¥KWñÓCìK9eü!¨bɶ•=Ò¤ÝqäF—\‚йD{\Ô­;UE‚Š7QTÏt¡úŒç|E;©˜¡@ äqY‹‰ÚDlTÓÐÃÖ7\ïSô³_Dž8…Å¥´6U“ÍrOmð .ÜõúõA€½»`½E˜Ã`ûîX¶îÞ“¢4Pà¡X‚@›uwŸ”ýé]œî, 3{îÌJv~Ã:2 £½qO|;ÀØÛ õ!ÂÎ#ñ«DÍÇŸœ©âG€?gvKÆL ’·ýéWuj±ïñƒrÞ`[Ò>£ÿ>·ý`÷IéÀðËkÒÆV8¶§w÷9s“/4ް-꾦¥¶Æ ,¾id>¦ãYÜÝÌX;ïµUZ=ñ/ø{\_©{Åä+éR±ü¤VùYù 3Òo±^ÚIÞ fÓ–^>QM¦¹$P;×>ò=‘Sè}<5¡#Î5=…­XU! ˜ã1«ÖÀÄ–’ ú¸qHp…Ðo¬Ê#ƒj÷çýèÁpÂJA¹ˆC%ü …vߟ˜Ìû’pDØž¸†\4‹í¾+QeôKMð~¿ÎݠѬ՜4`?ÙZt>›@”Ö˜R0’?Ã=ý§yc Oùé¿ÞÎÑÁ1•ü¯L 's„»NÍøcêõK¿C2r3Gµq(ZGh8CR[¿óú1Y@fÆæ¤4p¦ßUYõLcÓZOãÿèÏ6œ¥£±O\M8/ •^³nn4²}úðŒ_Þ*ÀgÃo5€t›³1[×¥·†Ì:(Wn/}"Ê&LkM`§ú;±³YÔòñ[è³q¾Ùû¢þm÷ß 5ÓBܸlöK´L<P¡$í#¬³"{v@o|ŒxDn>fN›ç»ÿº‚ €ú.ÿ¡¾Öè¢ep4P Í­aºÞâ#¦årºûO Ù=q.OÈe§+¦sÁ¬ú­0ÔSœ7í·Üòl˜ö¾ßàdôºß (¶Ð ‚Æ”àö zG—iɹB{—9¾ªW\^Q»Bmv©çUO3SöÓ¡h²c‚¶áÒðÆÐ¶ÁêyINkÞª¯Úæ‰cwUv:w¼Å|ßy¦×…TfjÆ7ß+íþ‰{³„ýúS@±4<bÓïÃwº/º  ¬zïRŽ ÊG1[B’Æ(ä¬çë‰G2_C„ºB>¯;­¥Ÿ”%nb«sÑtû^(Â8,5¾~±Iºƒ!œòÇȉjö‰ÿ¯¥èœ<ÆÖ6ø“Ûz1–¨§—ebeà‹ëñþUöf½šDõ‡]»ÆTÁfÚϾ;úSEÿubZî·’9•¤HcÚ”‘ÊKÙˆ›©úà|¯wF¿‡è“õ²†å!$ÎÚ—…c1sÂyŽ#Uy…6Ã@…ÁÂW~Tfµ­$öºÞ&Xþ>=ÎŒµ;• ¢.ï§ÑUÈ,Þuä¨AL­ñ¦" KœÖLfûçÍ”G'_O#ï@Þó寤”+>ˆ‰#µK8L¦ÑðFæ†[µì†'¤µÈZ Ýúã–“Ú­Ÿô¤u…¸ÓÉ¢³H&—¤ (z¼Fwø&Â1  T“àË%³ÞÝÏYù©êxû™D `‡¢Ôšð–x®!Šçצâýäÿ4zø—ýñÇ&ù¨á¿SJ,¤Å“nj0ÍmRÔñ0ñq¿/ÉeÁ”Ø(‰Èå¼bTÐãöàmVÿV'~.'±¾Ò+´; ï9Y*«¬6ój,xMa>u.Œ°§b1©ä@ {VõÂÞ"DV6Åî³&º4n^Fø]zíFf 6~»afÅJÄDWŒ„h–˜¾-3”åèhÖ”Y¢Χ|"YIÁ6Ú.¼O·AqEh=wûÌþ(•^5®Ë9:†D?S¼dC¸N¶Õ·ó«ÐÍðxžê}!)oƒÀÒ V:4én² rbž+ßÙèM·.—ÆÐÉéP`—BZg»i‹a8©QõdêÞg#–Gª—Hîì鋚+ÿî½LŠñky»µ. Qgt©@Y½ùcøÊ„mòŽMûïFú‘L^ôágjœcß™ªpð"Cñ¥RÛóN…ƒ?ãgþÛP)‹JGáxÍß kýîÌG딘›žtÔ Óáb’qmÇÈR?ÿžUñm\qãì½}F57# ÿ’.;#ç÷Íh¯a°ïïï±ó ±¹,ù2aßÑŽ$! {ü;ü¤dÂCx=õ©|o¦¤ ·¾ø½ç¯j?Þ‡åõyÁ¡Õ”ñ¡=gBèÀS!z/¨àc-uq¥>4¦î’ñºßÄþ–Ñ<­€ÓIÿëD(Œlƒý»$[¯^Cí•°¬3ª§7Q’T}ÝíœÈöpöþñæìMéZö,} Úþ.{m—+|^(I~Í%É·Y&Bj‘Ôû‹Þ6—„óF˜=ngÇ~PN£¥Î™jr@/Š¢bM^M†¯/¢^-?ÕxSçþœ+îðü8™ øÖ2ϳþC„ƒ7½Š(‰ç»nÔ(5“O¾d;匫H§`=XÈöÁ,_kØ/èÀ(øX&¥æ‡…ÓpjûIðM" ˆŠqålpâ‰ö7о¼>GšJ-…ŒˆÑ#½qì};Åy†<]·³`dÔ­Íxl~©õ‘qX/ò©.…ÚÕá²øj¯6s´OÁ’‹ÂPì²ôþ¾Z‹³Tb5ÉbËÌæàÇÆr†¿ì1)<ճç.ò ý­/Šö‹³ÁÑ'ÙÓ&|BH)»þù+Ôî‘Ô<sͰßá Ò,cÄ:Ò?µ}›ä¬dõ繘¹úÈüé m×nQ¹¶t€}‰,èµúVÖÅvÇËðoÉfæï´†ÿû“iq (4*{ î~+¦J‘IvµÌýjbÇ P GªÕcI;o'΂ÿiÑÔÎ#”@–ž,¡Ô!¬Â5n­Ô`sǬê{ê¢E€É§÷GWN™ÏØ™2W<`GT¬ A¹ÃF™Cij͋dAª­½Ã²¢à£^?Ÿ!ƒÏLfLH¸8ûLÍê4×l…*Ìz†CÔÖši¬Ý¦´A”ö•F8²ÇøLÐ×[k=)ÇòÆ^‚v3s‰ÚOM£µw~o¹Ë˜½–§UA¶a’#ö ËÇóë4{°S¹Yª%œTln‚Úó­Ò˜)»Àß\6»=BU¸@ƒ„ñHTLÑ­ÿøW]r<,mS½1aÍbüì¤!Q‡wTg·ýSr€Ö¸Õ™—µœNhA6Vï²d;ËR­GªÞ:Ú„RÈ¡äKÝ®’‡û£vY]©0¥Ã[°'’HJ üšÚæ¿wç$í]–BAAn†G ô)}]ÚCkâEì º›ù ª¼sw¨a“ÏO“ó“Ê»‰Æ[Eœõ ’M’2~h§±ûÕïè(V޹A÷§äA3µæ³ìcÿyÍ/ToTžÛK¨‘bq*M¤ô„2ôÛvåßÿàyæaÏHÅä –G?¡ zHz,:¥,$0Ò‚}Eí¯"eKèÓÀ>ÖŠïò*$ÿ!îhë$©¢I‚D”,«õ!ɓަ’A8É£õÈ]©D€ŠÙCÚ»-sòU‘þ±ÚmÓéT03cŠÔž;ýìA@¿1›ßåà-¸ –„ßîZê²×ø N’4i¡Ü¢²ˆ#´ÀÉåêU¶bÕpŸ p?‘Úée ]où$­àçH#»@°Ïª›4©6Ì®nÁC©Õ. W‚Í÷ˆŽŽyæp£eiÂxùÙUŒßÌßS0\„â2ƒl ÚÞ¤ê§ßÅéNŒû”-üÛ±ñà#¥˜ý“²»üPï>­"b9ôNƸjO©]hI·yâ«²Æ ìªvd§ZÖgÙeS‰û¿Œ =“j|J4¶œ3g^'T)2X¦ç_§)³Z¥cÙÖ­3ËÍ4Š>~šª$…Çø¸0ù ù%må>5¢o0ãüˆAo«òss=ÈeÝQ[£W•Rã™XDidÌþ¿êC«½Ã-§3èãOµ§¿ûá0–•¿Ðœ—qño˜6›oÌ—Á nÝ fÒø}DO³TÉßjs` 2ÅÁ¦Ï"ñÉ}.KJÞr^ó=èüIÙ½4è è´„õžJufTñ‡j.¼ ˆÐá@óG¾XÈ*£ÕnL§_úå4Ý+ëV>ðhÞ?45Äs2bƒ è©* ˜£0²’ñ3+>ÂlŸf{í˜}X51µ™géBã‰|BÐåRHW!3ÜÞAP¨k€Ö'‰‚tä !õ?øh3ørÏ~çƒNAáμÿfhøŠ0L¨Œ7HºŸ“ œäpó!98¥A½G« ´HJO5ýë¢ uòS#cv”â—`.’ªµú¬b‡ùIJͱ‡#$ÎÙþ0ëì¬ò |mÆïÌ›ÙyÑ´‹ˆ….%›?ü±æ>ºæËÍç =>½ÛI=¹¢lÚ³¥ˆ‘YþRȇ ë·´Ê¼ê‡}ÏiÓÄ6¾³Áqå3ú¢Ã á §/ÅÐÁxÁËO¼ÍâÒͽF@B)©6D“ %KÉ’gIÑâ–¤yˆÈl8ÒTê‰ofý®ãZ¯¼[ŸÖâÉJ['¦’ÿÿ}¡©myì¥,óºé#5’]D’ì6ŠÕ¡2-ýnæ¯pÄo¦…«ÃŸÄ€HCŸŒ¬Û±'ÕÂT#JÝNNOË›—†F¿Æ¸•øCÑÓ,÷júy}¨>›{HuEˆ¸ëûs";A䦴߀ÞN–Äs¨ýˆrïÛšÎÕ±½á ÒêOB*Æ ô.î·zÔ¹é/§r']ŘßñAº¤ÙfF»¡+SmSœÙÊ #ôsêת0Œg˜6hr嬭*š`aõôŒ¦áß Ùc¶Ëæök,"øE!¼±`ØOÏ·à ;í‰ÿW:í)¨C¨Èƒy“ öéÓcI-n«úU7÷ZY×3gŒÇ<1'÷ŵ9V|ËŽk'ðQ31Ðæ TêìóÑQyR@š"Ü0ËájµŽvža÷ &¡Ú ¥ýŠej¯4­QõHf¹…ͤ&@ÉÀ1lc6-j­[ OEìÇ}§~“©‡Ì˜\C‹iiÌòjö~fŸ L#]ƒkœ™¢ã“­¾Ò2'nØ_õúî¸û /ª r*Z÷(dób<„3„'ŽÐ5ŒµŠîü±í%°õdæ"vÝÃ]ò‚›êS%ÿLN¦ßìfÅGÏG+ARóè="ö÷Æé¾Éâ̾Ù`4ÎM•ož51ÈBçW…ØÛ7Ä—›ê™Ñ•xÖ¢J}¤½<ÅÏwKª¤Ypå~úõÊÌ<Mf÷)J,*Õ:xåo›¦0ýzƒÞc¡‹ÍC¡!Δ` aÔÍÛÔ•Ë÷F¤ýÑ'vt§ – Õ&Fžôg{ùÝ8àÜ¡\Asp.TÏ<íSÁS·,™%A%æÄGÍoÕí„üNCr1qtOÈ(°Ÿ, ½Ð›Ð‡’² .puΤ‚qíðl*!Á Ÿÿ¥ðÕšrGOX¶ñz*“©|—=‡ó  VÜG“KÆ¥þÇ9ØñùES¹å`ÛDÝ æ/ù™™Â Qµ¼âyp†pŽ*m,麊J®tÈ œÓŠ¿ß£½ œµ¿¢'L]k?ÆÜ}a¢IŒM°®°e˜·2&dph”P ñP3—TTcjÎ2‡ãƒ®É.”vÎ? \Ší.åÍ3-ù´1My€`ùœ;È·÷¸·j‡©„öº–4î(ð¹ºó*wsÒC^U]½^D]²/'+êûFÎÞ’³Ýž’|Ù-¹MÃ:´IÊ*»Oç…Y?`=Iþߤee–0pO”41ъʆ“-Kª‰äp¡°6k/~û³Ï˜]ò™©=÷’£óE_;Áq¡68wT¡qÒçÙ´xaTF`‡'ß½z7)ñ< Db&’ *„ –×f›Y©¢l 6#2Ð>Ñí^­XRŠ5Ëæ™í·‡Í/ƒ\@ˆª.ãã…¯ à \8IKÐaí^hÔ¥%{á‰+²²cƒ@ζP£À:¼ˆ[1svßéY¥A±m×%X ü½óê~U<ÍñÙ˜’ •´LÄÛÇ¥¢Hø ÉëT¶J1}Ý™š…NßÅÁÍñ©Ð÷¡žµ6Úƒ[näꢢO „† Ñš²†ùÐkP}ˆÕJ0:˜¾‡pË)agÖ2·“çªS¶ßRâR\ gƒÏncjcàØ/Æ…¶um†)._8iÔf/]zT0ž¿Ùà[ *å¦ý•å`3K\ñ`,3‡—FàÕ,«“i4zš€ct©ùóê$ãÉWܯg¼AÞË:ž¬ Wå?´T÷÷½KDõ’+a…Êð=çr ƒð nïåòu ÷,\’Gç¦ÊHÒíR‹§O0—̬0™yã[À·! F' ™¬ReF£z^™*Ók¿â=ðtK¿*¦=nù[xü({àZ¨òoe‡ù…´tÇJùGšDÿšÏ/Þûd¬>’Žiw‡$Âb?ŶjVxižow…Æ)²¢±2S㡘S¿2'‘è~ø4wj̰ù¡Þ«*Õo’Sï›ó¾ªA+rjUövW:(o@UOѺ7›uîi®4~ÃC|J6øwøÅvu+‡\×HEQìür»…sñü㱨öMܺ, ëm.(àêE”`I.ÜX+R€|¡MÚHJ—2~\F ,¯u¹¼cïÀú¦_Eÿ|'~$ ˜.å|UmN»¤Ýœ.àé`çÜÕmd…yF‚ÅžÀ=ªÆh÷ŽlG$ÌÙOØðw¢P…-Gê‘Ù].•pâ%¡êcôÅÀuâ ûŸG§MO#0(K«a%ZmKà @m8‚EWù½ÿž>S_ÿá0o¾…ø{¬3ÄöÈ&42…ÑÎFî\i4€ÝÝ4I¯tv~uÜDz¢.îM'·â{cGªŒE?Ø û†Ë×3Š/Þ>ºJî€ÚÚ*gmRÌÌÕ¾,íw5ÆBÚƒ,IäÙ®”ó“Ì*½û³±Úlîki˜‚‡rR©ú#J‰®î¼A=)S²ª#Í›"Í' “7òb­æZÛ¹ ¿ÊuíÏj“ ·€²>(&`ÏÚágŠ…ˆŽŒ,€ e¹ršg¶1Ü>g.)áˆPJ\ÙÒ~Âùá‹®úÝf†AüÅpÀƒ*ÆÏ {ùø ʤ?vG;·ý2ôà"wûg¤ƒ: îäœWq-±/ÊûL 'JÛºâö’ˆÓÂûèèÜQ¬Bã?Ú'+;”á: ‘™AÒŒ&Q}AEk§Ä!Ù|xG[ê{øMžÿ~†W¸\Iks5áWyëäLÈ$©S Î:8ßú*ÉãrþU…&øDRµ‚Ü#¿g•ÅÎ3TVÐ|sKYj˜õZw‹ôÃU–Z˦.V?Ù´®· äî¾Ë’IµÈ*j]´ãäÎ!¶9ãè†ÚùmßÏ©p“zªa}( 9ZBC]ï7»@¡ÿ¸«öÏeÒ¾b-°8€KZÌ¿G©^x<@ºµŸ°g‡Pß&1±\ÃodJÎ]G ×P¶´Óuš7b¥i‰L°Vè \e\ߣÙíWìPÀœý5f4þc€£‚öd™Õ5z‡H1BÐAOb)ÕG`iÜ;ݘ‰Κ‚1ñr@ªàŽÿ‚f8 xJu+)Ö?Çw¦Ë'ŒémÉ”J›«ÐÝä)š: f …x\ßÛëæ‹Í…=$¡vÑŽÕÁÐ xˆkƒ™D5DbC¾‰}#wD9uÎù’Qx\ƒ7 ˜‡­g|¾“äÏZËQk ²“ONëWèc’ÙŽ]ÞK½Á=Ìo™À\Û “Ýëz?Èç{έc°"4¼¼†•¿+§6‚:¾‘êO¥¿ÉQBëE~Œ„xd|O0€këï×áæø¦I‘×SbxPo÷µhÃÞçF³·%9 ×H'ž%¹xÛ÷˜j¾:êªá 9¸ëq™¨<ïù±Í*¦´ >!— Í^÷½>Ãqš‘vÔ pOZêa‹:™íIoç)–{tQ N÷wÌ<àñ%/† ±:fëaJú¸„#7±šžxú{u›ŠQs¢ëOTíA F“Ày2tœ“uC߃۟9,Ç^]L}vpÑ<ìä g†–„Wy,OgÄ‚"f1=MÁÚçÕö߸/õxqf#’}o+;oaÜ×s©§9Ü ¯¿#FÙ"\ÑøI¤×Æ­ï°Iðk¤€€I¨˜GÌ~ÕŠÏ‹[$´'3±JeŸ½Á²vý.)f~û}™˜qó—/âMäd/ù'~eu!ß½x:ΈPÀú¥¼ŠuJ§ãÿOVzùÝ£¶´™=¿{±CÕ‡ì€#¨lÏGù^¡ÚŠ£õ(–ŽËÒÙÙ…YìÂuH¢ã!ãyFV Ž"éØÊùj‡ªKÔô²µñ4aǃ]³ùaÜ÷¦qªß¨ì(rc‚!PjÀXÙS²d5$J¤fCuL9p†ô"j'Üëi‘Ú–e+}UbòC¬|&ÈÅXå3¹à5ÿ=è“úÅW [x©‚çy·FðsC6Ój‚/欑óÕ=‡šô?0ÇÕ’·~És,ØŠv²6ÜÙ• (Ø–ò«O90'³Ô‘¡jm¤¦;gc‚&BÎÐ" ²÷æÄXdg?(q&â©A„°™KéH¸¢XW!—9;˜Ä‘Ø 9émÏ:48-Qh÷<•Õ™]O7 xî#ܰKÇ ùßøsVqc:×ÖE‚¡¬NN;ôœ"0hµ@~SznevJ ½.Õ”åéÐ?HVÏUù{r£nzTd¢„äÙæýËÓ®¬¢ ‰uMM‚ðºØÒMƒt¦ÔæIeyPsú¹€´m'Ù"ƒN1`ÁÚ¨¢-IÛ:óR3ÑXÃJ€éQårÌèPS má;³Ÿáo%ïz«PxCˆá:°#W7Ÿo˜j¹ÿO®«ET †Ïá{›®þ&Îúç_„¸œ«VƼ~vbKÅ;¢‡Ž¨âØ0˜øÀO~*“®öÅ­¢¾s€ùp„ aÁ·ÿ îLjÇd±Dü€ÿç¬kÛè·Æx÷ŽãâêfÏw{ãT™€\Ò¶iÜX$½÷¦öþË@öv)UâPMM'î”æï6ɉ—HÄ%“WÒ]šû&ÿ“‚dÄB›JWÉÄh$Bâ³,çÝ@7 ©82 õ3á÷ ϦkÉ4Or ågö6Þ–­Ù”(x~`û—,‘U\ûSü)W¢¥¬Ü ÿw¢–Éé÷ä:ïåÆñ+jÞDá_’bb9Ü3G’¯šFt.ƒJä\Ñ´ÿñ…¢!ýlÕîÏQ¿«ë÷f¼–kã™Û…¿4 žœLk5Ãñ¶Zk‘E3?·‚C ]»KB™<´AÛΣI°àâÔ Ú®öþìГ“¿ò¡…uöZ„ýõ— =ÉЮA+ù4†òiwî¤zÛŸ÷#1ÁÐÃÀmrÇåýð®ÉU,æx÷7°aÙ‡Ë# «oe­i·ªÖ¤Žwz`»yÿ<…õãØÄìkþ“ÁuÙbz÷,kÇ||÷Ö/ÐlÔÈ„*Ý/ýãõ¿©TPë¯D©NÕîšpEHl#K)ŽKB앦/j3±s(#¥Yš¾d_¼®#Yçå”AfbØ„2°}âéÉ4BHyL!O苜O€ü<`ÑâäØ XÐw¯0 fÙŽ1šöï¬!˜ ÷¶DBZ±¬aô€nzP hcæJ½§¨†çfY+ w"à Ýé´¶Þ†vŒH3ÇF=aLÀ~¸õŸ|7@ ãu‡q[½ÇMó ´VÍüëÎ[¼í÷âøÂ?Æ×˵…aÎW. j` ©ˆå^Û½q­§låS¦›œÔŒ<çàmŸStE{>­‹cŽßl/˼ˆg¥sE¿fڔ璜psšÿ+¢}/@PŠÿ4NìB!£pµI‹V€3Îäó¯›.Å]á)YÅÞÿ—™ˆí‘lÕ9k5š÷¼lÒ=TÔb1}1WšëÈ\)œðok»õ Ú>SÇbî0p2AºsÝ+íí`‹Ãñf ô³WRÕøûRÛé[HÉb,€Z ¸´K†Ü¥›íbÄí¥¥'ëCµ™ó#5)4{†Î€ÎyãQ› OŠŸ…¾vÒV¾¤Í¥± {r7ªñæ[œ’hûœMƒ§¬.TuÌm—EœÏ÷§9,{øXÎ>]—X=kQÕ¬¤;[Ť2¤7nÈEüYLý3YŠXTbX!Ø—=¦l{ìîà{¨_,„ñlÍ$KjLèš<Ú2l;‰ÊÇÙWËb&´“ 6ã%Œœ$ª„n +ÏÑ‘p¸åê<ÛŸ¢w03½@] ÖÔj©>O`™°Ú‘-·‰ûÑzP2çŸ-¾XÓ ú`?qjÞ–L‰%Ž çÁúžžƒ%+.R‡\ \OWwüºŒ{ ŒrñÏ­3,xX*Üö;¢# ¸Q# Ùë#Ü"ýµAÿv~ÎH·èOá¹Änè ”÷Ϙك"3#¨¯W7'hØä™=¢BºØÛKÀŠ2>ÿ­¿íô:í%z¿.Pã;JöDÄý¬ósÔ&,J¯qÕ ‘¦ŸË ¸u/ ©øÝ€à£ƒl½² lT‘âþVî9[.ÝqõÞ¦†÷ãHê*´h˜‘ϤÀ³ *Î{e­ÏȦ„vãy:øBû}<ñrÚ«¤ò(ö¹Úë¯_¢;;°•ªJænïlüÍ£xÄÌå lÙ œSZø‘3§,{<¨•X³ujì ‡±Aóæ£1sƒýKʨIàLª€¡Õ?cg,I2„´ôVõŵQÕC}òú¾Òz2€6ý¨Á^©¯†m†#mÔþ3‚íµÂÑÅïpATy½%ÿsŸQèú<;±õÙØ(Š!i“±£ºv2³_P‚ìòÒ2òéÇW¡ÛÍY;-’ƒÊU™ s@N–3¥œà’ýë9Ϧ/¥.—Е‚¸…¢ÑSÀv²ÍC®}lõ t쥖‘¿J1+ªÛÂÕk\ ¹_»U_ØR³g®eŠW¼èv>ßiϼ¾×ÚïJ0TÚ´€a¸˜M·‚©ÉêƒÔ`]HÏN´ œÃZûâ`ÉÙÛÔ%ÖÉqR%B)4ṇ!ú‚ê‹ô=€ FZ}i Õ7N×y†(«°Oÿ(&A›Ìn ÍüV’Þ`(S ¯1¬…kªT"øÓ2Š„îsµNµöø~48tŒ½Rm›ú˜Ãù‡[bë$¶„ð©2Zqï¦3DdZʼnüREÃð¬«îR£GÏø…þŸ›o» ¿Û»œ¤â Çk~ÌïOéT[; Èéy¶\þ‘OlºÙE7†]^#g°pÿ‹1EËá¶2\è5Ïm„c#wVØ›ó>•c¡„¡`ÿ\8 „ÓA64J ª+Vù†9}~§Mý“[ë~ˆ¤EW¯ý¡ëàöɼxŒ}§bÇ70ÞÕ?Ö§#cÙ}ñ´C&úf# H^ÑãþøA ¬)ˆ\²ã! ßÓùÏ‹ô]1; `{ óãÀò+ eÝã®XÏŽçšk¬F#^áCš‹°·I¢l8Cw53«Po¾téz†ÒÑ};÷;CKìŽÁ zµÇa瓟2ž[–åjÆoñšã]J±p6Ê…ƒˆÜî,>ƒ“ÊR¯ñÚY?®·œTõ^ùÝOH³ X€ÛUL kêÂ/1õ§8LP. –ίj¤ –÷2»˜PÄ8&›˜r;í§™:…ÅêùPÔËLE§owÔúžKYž\J´õÕow ½<ÁQêï_:×: Ê:–À3Xþ '1èÕIHSË„Ë.2÷ÒeÞ´'9³R_1·›ô`iºMèË’"UÈ'ác›ü¶ÄNö “Nª]ðûâï垬âQ.¹ ä!PõÁ­qîÉá}vÕEÞ„Ku@¹'y{I˜Jeƒ|>@ŽøF;“KÙúÕßQ´ä¶AôÚ^ôÇ••ÇRŠ(”_깄çËE]Ȭà,#¼ ò‘¥” X0AÇÝl(žŒqØ_‘:¼ÓE;ìcqRÇ4ÙHýuÊÁ”­–2jŠÍj·· se9Ãs]sVH°[ˆd°ƒSˆÎòÚ4ÒwàÞ:÷ŠFÃìPª¶«A™’È—õ•ô?cÿ0l¸× q&¥þÚâÅ%Ò«d^JÙ¸ *“ú•7x…uÖŸ-ÝkÕ~’2Ý•üA1èèæq l¢€ú0´ÈWçT¿=ÒpRšGâVN6,…§À >…AÎj“âd3`;‹k$Çe3‹@x)ñÖÕüéÍ?“=ia)‹åf%BbgQÅ$™÷yl4§§>hqMÝiåL>D6Oò¯x»ÅÉðLü™C¦)È¡`u^þ´[“à‡¡{@d=i´¯Âg9"ÜSœdV%)¦X!AÏHžNÀtj¬e<¾¡d«ÛêiCUÉ5‚Ò¹CâAÑIutÂÓJâQ©3Q=V+Œã¢‰AõÍ Ä™%„`µö1á‚$õÈceß¡]^Txn¿'çD¢ËÔl¤¸inе;µïå'‘ræ$6ˤî#…öüÊni»ØÊo­.Q 4“Ú-¼úÀ€»÷°àú|>Ƭí¸È»\©o´³i½nÄPöRR ¨-—Ж+Â8‡b ™£¢Ñ½Œû3b§Èˆ©ˆ#ñVç˺öù0:)^‚N¢»]Jˆ½×ﮂŒ;êÊÁj Ö+­¾°Ï0#µˆ„%µÅhåî4 ËËC§¥²&÷\­º*E¦CÆ{kÚÏâ —ìÕ\-K¼v¿‰&P™=¹Èf¢sŠõŒëÿ®–ðN«„i`Ùï÷Q ª&¢°mÕ'¾µÍ¹äøÝ’ZõB†®S[x©šÆO  V2™†‡¥Í0™¯ÙÜ•á=ƒ~ÂBêáÚ<:$­â•Ñö€ÿó·W]ÐkY¿ÐÀ§Du¾h¯v˜§Û`¼K06 .¼#Ïb—=÷m#ÙÓJåK ™»‚Iw‹âTo¿…gÚ„x²˜"SÙüøé+p$(^6üis÷Ò¸æßGF²ÎKœ± œÃjÛo$äUÂ\Gef»[ è-Á¹¡¸Þ…Ù3‹]í{®`YÑ{6ýü±»_o³Ê±9åÐ(–¹O–é ”{±òðâP ÐÒRd›rÌF~x °]jjÖôCö¡ﺷ¯àÈæCVk<àE=òHèÞ?V‡…´ÃïÃõÍpJ?àð.ŸºÁüMÊ¿½¿ìôt¹ç³|ÔЀWJNKˆ‘+mãå—ŸèëVžã¾ãºê.?­=æÇ£¸õôal*DвcEÊp/´ÐU™Ì‹r ÔW‡×ܬœ<Í¢aÌ~mÎÎÎ[a4ñ ÷Ö5‡I‡sÅIÊÈe Ÿûð(wu—H_ìŒDzö¥q¿soô¸qKGÒ¤´NaAÎÜ>NèÁü& H8w1‘‚ªêe¿Cg KÖ”F4FدÉB9¤¸­R©ÿù*”Oc^f&¹ª†@ýSbÝMŸe1é¦ÉÚsŸÖ < n¢žyÖ§Ù×Åo=ãîþZ/ë½û[Ø•ØÌY<(þ%xR7åþM“wÎhï6MçÖÂ2´U} âñ¥Ë?bvPò ýcYݽBß.,•Séún3£°hè$,Ié%Ïü=è+þeFTñŸT­…Zaϱês%ÜŽeª•%$åK)p³†€.%ÖWŽb,2úÔ¥R ”Ž/dz2'5èþ8eZÌAESM)"4Uçt$ò%€u¾ä³+Ø|¨6å"¤ÂsÏ˸m–»¶õ& UW(H/`&‘”KÙÖÒ•Á©jÿãÈêdöÃ^p~È òó :aí–`É¿ŸÂçÏQd?ù SæËE'n1ü(ë aÙ6H`áž´ÕF”¬K;¶}¹{F©A×Bõˆ¤Øî^¯û1•”“¾m»ᕆ‹¼Q=¤»ãq•,[=Míjµâû»ÑoûÇg 1t n.Šà/ÄÁ)çÄk̨>Ç^5— йõÑ÷¿Nn§ýÒ;/•nø]ûÂ%ŽŠóüŽ˜¶|¨æ(Ôǰ¼ÈS™´W£¬^IÝãí­B>>¦•øT©oe½í`ª½ìà6!)¶×Ó&&- §ïð^¢¶™;6ÎùoKüv,‰¶8‰¡,ÝM¾Âœ×KÚÜÜU1—ÚNɰ•ƒÅgPÊ+¤røì„l_jê&/e)IÊIp5:H‡±‰xµ^#T¾‡R´ôÝé»—b|’ÝïR¢Öî¾ÁØD9…dmrOµé‘´ED6ør:T[´ßÆ·ªÙ¿-ó[ýÝKÈoÛãõŽÌ»ê¡ñ µqæ5ªt0ðgÝfFÂà/”(9ßñOš_j¨ý3cx4V&ϪÙð•j€ßi»€óÒûžùÒ\Øm¯£MpãwwLEßRLXhÓdÔ 'ÕC¹¸89.‡©j…IöKº€-˜Õ®2Η¬Üñ5ò÷$ «ÞÔø|+|hôJ–’CAo,ÝŸâWµ ú6Ë–%`øÀO{w ÜB'fo—VíuÙ÷™Ó‚4_U!wS[ŸcåMA-Hbó/a©«[-†•£èí|áí7°~ˆ¸æ×ÂK:ÌÖšènx×`ï@‘Uöî‚È-Ö”eïëJÔƒ”Öôôá’áˆn*HZ'¢t‚$y)ÕrÒ#’ÿÕn_±ëìX]ÒY©–—*h k@p ?_©È…Fôk¸ÎMK ›cŸ ÔfÂwœž§¬­ y—[‚ȹÛè‹kM«Öà Ï—RüKYŽî}]Bíû˜€ÿù¢á—, “²( !· µJ¤—Ö†ý÷ˆøJU¿Ú«XŽºv[î“ G™:tQ.2a¡—0Kåaùâ ) VFÓ¹ÎnÉ"B9üVÖ(& 3µ6Ô…Íô3¹R$Ô5«úö©¨þäP[œ=¸rÞQyEþ PøŠý¼@åUyD¡w&fs‘°o¤$aîN€b¯#D‘ÒÅV·Y4{2œ€¶ûP!ªf-ëÖ¢”À—'1«â[XBVÕ² šƒÅpŒiDç~ xÝž¼à9³67•«£DUzþ`YjMÖ“&_¤;‘4 ñ†.œI5ïP–leÚâ+¯]Ì»ž@ƒÉt÷W!Ëø‚èà‰:áU¶Õ;³GÂ!Vsö}€O/qZ8˜51Ñù™‘k4"ò4ÝSÊš*ÐxŠ?ùßh|©çʬù/:ë74‹ÙþÔñr‰w{Jkî{ô”ñÿ´§3[§Ùdò¦Â÷dŠĮ̂…iÏî8gòåàŠŽ8€Û ŸÜ"™“Ǻ¡€*ó2Óþ_%j ×â§x‹ï^À³Qæ¥4q×>™måa ¤aZq>² ‡Á¿ÅÊVcë¥ZÌD¦qâŠIëë¡áL<'ù°Íc+ql½æeÃ^Cncëo`Ãhî¼:ÉW¿ðÅ”¿p©qsÑJ¦¡Ötñ5ÃÔ¦k5—!æ´‹%vN6Z‡¤ 1ºîv×ʃÿŒ'o–¡ÉwpTŒ .¼÷øBö9T‚#4f ŽSÙY³ôxj ¸V²í&Ù#„ʺ¾Oó:Ÿ’ŸZLäï•Y*5†¶4Ó¥;2Ø&©¡.ÿ ‘ÈЄÉlÖ šþ$‚Á³´´ÔÆ {ÛaŒÏpØoPÉuÿ· ³.ì¶%h—˜Ì]² Ò'B>*‚ME~Bó©ý3ææ 2æõ7ô¾P/ÎüÞ©¤vÆÜîΕ‡ïÙ”]Œ%PQC°ÈoüÁ釣Oz¦FY7Ô¾n Ö|5j(ˆ[À‰®-!NÖMËê&pEhP20bŒ§´´°|ƒ“Icoî«Âªg Žä¶”WõýÈ̆I§ÒnÞÍ<·’«íÕ¿ÕÁfçâ›'mqÊ•€Ç‚Ãõ`%–o è·µµ‘EÁV²ñÃNÞÜŽ#Ù»Eßò7ÑG?ê* g¤êÚ:¨›óÀMêŸHj¢ùÁ±j=©ªsSg±?„ÅhÎýh£E€ë¯üÑѦe½wë·]z-˘\øÕÒ£ÁÓõ÷?á`†nÞF'Ÿ™®G8 ¥‘§Nøô§ÛŠ5¬V%QŸÇû†w+X¾Ì{-7,Ë]l:Có¡}>2E ßìT„.& ê^®ØÉ¾(Ú)O¶Ç’:Âû$::ØÎžm{,?ïä…õ8%>•ÏæœoòAOÇØÉv¾•;Ç”f`ÌBqÖ®ÐAxqì`ƒ\ë=X-@à)ïbÉL|´Dø*- a¢PfÂüp_­÷3ϤÊëwÓh´Š®ÕØ}LÖ×tM®m‚(ôaŠ‚õVìÝ©¿Añ1®³­/~ÔW¹ƒFÄM;/|¸[ùùGeröØB“R^:@‚pn“þάáåAÁœ˜ij£Œw¢OBR»€I_/=Àtí6µ–lÛ1D[1‘ßTÈŽGÏ|^“wóZ0AFš‰2šÛ·²à”ð¹ÉJJ©ý´vø§P+Æ¥·Äpl]`£?aJ)EÏÍÓpÊõIchçÕLÃ’Þãßò¼îC\× 2ÍÙ}ÍÍV—ÛÁ…Ì®G}‰²@î©þñá¤'T˜¡é£æŸÝó˘L?~|Î/Ï=¿Sñ5•Eíçàû7‰È%íS)E„ÞãÕÝÀ>@äöcùO½P&’4|ñc–ñjpãåß-ɦÈñ‰aäüñˆY*µqHW¿5Z=Ï;û8’¤0îñ›á½V5„Ô»åW0´ÖÑÁ½ˆ´Åtõ£0 #bŠ@—tË; kÔvŽŽÖó2ÌqY52Ø!Â}$máÞÑ´{-DÐÂvjæò†›Ç~ÓÝ’\DñÚ”HçÝàìÝ“â)§Jú2¼sŪl‚´(é•3ãTÍOç}çØ¶¹¸œÿLº·†~Øþ”Ãq±‹eùëLY0]c?æéƒúWE×ÔÊi/]äØF†b§à‰vãM+¹X7˜Ï‚5¡È©£?°áî¼ðìZ¹Ù¥ÑÔ>¡T0¢6•¸˜´³·R¥À†ý'K»-u`C)ˆ4‹›­A39¶3F£õl…Ì]þÝ*ÿ'þÝ,j%Ë©’ƒ"` 6´¥²EÏ»E­®ÓÁVŒP¼û"ŸÝŠ«ön,YÃY¢Mà£úA'Ç„+pXçüm\ïæ[µï¨<4èÆÛ/âDñm– æŸKk6ëÿ$ù";óA¥'‚P¸üÈCð'ô(7¯&áfƒ«æÎl ¹ò#j(Èè eÅ¢ezqe“Æ1u÷ñ×2&¨Çº#WºŸ¶Øc°ÂóÜŠèFèþF{‘—‘÷!e¢»ƒµ%“€#êIqAK¥ï°ðbœÔ—e€ ŸzKt¿Õ4§û10‹¢ì_yØú6H•LºÉ¬µ*u¿ycb\%úúæ¾'À­}=ñIWưL¸ä—Ž|8âX‚¦h$ƒRBZz33ØžM'B‚ô=õ߯äÏ®š ~ÉY Ò Žö}m¤ì›ƒ:£º¬Ø·”A…úrØ+Šð*o¶ïàs¿å&º[ õÜæT£ ‘ÒêIø’»á DïЊúõä'­ÈãMIºs_ò¬m)iBáV¿ù Héâ3f6<Ÿôø»ð™]Šºè_µU‚„þ%u›Èâ‰Åó ƒúVHmð¤€=µ¿oQ ;à¿ð'/W™ýq{¹é¼K@ù¯BpŸ†á`æâ¿'_»pA£Âø;Rß›!PçÛµ®M¬Ò…t ”/t`¿&ÐcPïs$Ì"ŽAŸÌ3†ñ6sk-·­é^$ÖCIE†•‰ûßyTIwãå¤4%$ùLþ˜¨vCâRÖ¥¸ Wa$‚ø W´1쬸t(¥ 3ZÎ[òOžÏë¹uÚ¿Éb š?ti©fK]A0QmáðÞ÷qÕqD€ iŒó% xT@r[Gyò©‡âã3ýU!è@;7ý¿im·ˆ–«æ°å-©‘ß°Ñ÷¥ è½YEc £C;‚ô œFغù_ôŽnŸ-*ÌüÈ9qÛ„4CÝ\Š/N0¤z›6RØ}]æùPX☌õK€oî=CÎ>ô†êÓ. îµt¶ïr%OÅÊúmyë¸~Œ26ŸËó|å3×±±¾æ™¬aš$xSÄÑZÅÞø7Ûºg}¹Ô¾d=ü[9ɉ#G+>e}Í­‘ -PuºúÙÂlUwUåé }(L¸O(íŽEcl¸Ž²ÂŠ0$Õ1â{^1±áÿv«J=ûw-¨A³+3«Å£MÈ#Åèhm§Y3®Z½m3ÅaÇp¸¬çöQ\n.3h—mk%Ö'"¿íQ\h”¿BÕÔkü/ìéöÔ6EK£=¹WyäCzÆúFÌ]óï1ò!4å³µéÑhÜ”ð1˜¤ï{Íd²  Â^ÀòQg)Ö$¤¥¤âL…g„dhj„ØòÉ=û⧦îð¤gÌÂ8«—–œ>8N›¯V½¡„ß—.J¾•qç(ÇÒ¹?Ϧyy©0kÊÓÕ™³:•:¢ F·m;û™ZµÞÆè-F‘€7£Ìæ$)èYú×Ãù;¼Àˆ%1ð!î* Dd©G¬å¤åRÐå’g‚´•ŇøucÀ£ûˆ?Í×ýrbì{ÒLAžÝv4@IšM ç.lóc÷¥óÓÙؤ0Z—Õ!cRpŽ=ô¶=!ŒwŠÞÖºnþlUqá© ±§.´N?óõÔ zɼ“$¾vJ„{øʪý ³”}ÒÏîRœ¯Nšùç”ʶõËÍU—qG3'†ë|2ÙßK +tìš jÜü«ºzèæ'{' XáA#zËbYÁ…^ÖžÓa˜³³Œ´´qPÃï ÝÀ8ù7úþÂòþdìÎ,%R]lÕÜ&–’ÉnŽR•‰«›)jÓÛZõþîÙ¿§jd> l¾­>ZˆˆvVÈ.>¨jZFÑÜB-Ÿ¾¬†–‡E![̨çê!( Ôt6ªÌÞ<\¾OLï«=ŒdmÔ–[®!$oTÜcÍt ˆBØðdÈ}I›Ï:7¬=§.ü!]=,«%‹š ø÷fPž+Ç?‚„§§ê»ò/3 é²šÉpsh0MÊpŠkË“ˆ–Á«WwLqAsÜj<âjÝFi-…ÓË ý…eÕs ¯îèÝ}VúPRf¿—DhÍWh±=;_¤-|söÜRë b@€h€ˆÂ70ÜÓ„A2¾U(” £™ i+Ü­ýøO¡w&£5û‡²è¢üð`rͧ©W‡û pÛ˜£8‰+ºáUÇ Ë'Жx’ûit÷@ñW?>½Å©× @–òº/J.¯Î­ûÞûÓ¢äöhÔ´ò(·q‰B8ÿ#é⊳Á:÷ÕS \ ÚÁ-¹±Êm¼¸Ú—ƒ@Ú%tѼÛiá­À©\¢N`dt~j]#c›Ï3žÃ=¢» ôù4ÙômDϹ%ÿü:ýÊhúŠ£=Ù˜¹kÌá/#¯LÎÃûëØ‹é’"3ªzáªÙ^ÇO[qùó7ÄÓ¦]&ü0Ä¿^†ù‰øwÆ ;sŒpͺD$îæ¢A·Siã¶å³"k£Þ˜÷Sƒºð7 ‰åö¾mó•å¶ü†Hpÿã;ûái:ZÚŸwæmê+$ú;f Ïù•ˆ-G}à]Ÿ[NÁÛi(Á÷ª_ìo«o1§qÛ £üÞšá*Ø,F ¦IN©x…gá«WDX£ébe&ê5]Õa]û`ÊE® B”Wæü²2Éo]?±3U×Ü÷ÓŸïï[KÁ†#ÎÎ Õ:5Gp!]ÉC:—®ÏkTøÖ"ý{òC˜©À‚ùê¼bœ."È™ž9PHÃX-ÐþS=Q¤X4MñÑxÚ·KÝ଒_–žl·´Éôq2Ýsè;”~Hf=×,Š@-Wïóßvv°ÛW¬;ílˆhqâ ¬9õ‘‡E…Bãejø® Mæ€ÓXŒ9ÎàÃÕU= ‰m§%BÔ“þS|@º:íÉ­ÏMГ´O™C¸š’šÔÐs£ÅêAÜl¨ùKà {³[íkêãé1œvÄ!Qš.xÎÐ5ÍD!‘tnøÐ“bªjp´‰9Ó:çè8´eZ5¿k0ÑþÊŒF¨K #©æü»ª4SíÛî†Î(+1­!ÀøEæ¤Ð“$BKCþhî4ýègÎD M£è(]Ô®™\‹“PYòHoÑ•hËìuSµ#à«sä%bJ}Åi5+rc«•´ÌFŒìF˜óQP¼Áޱ.kÇKòˆŒÖš‰hWÖ¶è Åu:ëÀÿ6‚,ƒØ#‘¸©K·ŸÄ·…ļ|x),•mÛkW+)LLWâ©F˜ÒQgD|¬]"Ã4_BGï÷ú¹zVçMW³†!âîçX÷©‚è'œR·‚NdéBbŠðƒB„‹”òjŠ –o•žóBÓ uо‡lŒ ø¯ÍoX°~mlàa…ê¾P[+VS†ï¬ QëH½áS¿xñ0¤Y¤ý¥s‡œ‹œ‰š-£eöÚAUÆ@+³D±¾süo_þP~¤/Ü l8Í;fðÃUö#LåÙ®ì/oøDÅçè4Ýú¾ó„?®5–Á#(þòOVlz±£»^½Æ-¡cÎÖž—9mG-*…ÿˆ¦Gê’™,!.G¿!fÀ&à¢U@ÜA®HoUJ~\o……Ã㢖üÙðùš×ok-•ª$i£!ÁäkCwÊ/Ö €¾ó§ÍÛÅ!þ$¬¨zkVpôf_´‘[Š7ƒ 0•¾9ãÌãЈŽSùv윗ÞÚü¾ñ#Ú²)cgû¾‡7As±w˜üBÛy]é7`4À €åþ¤Y™ nSX[ØÇÕ­QN%íìDÎ×-WTï²E»ENx_!w¿aèPè÷ÄÎæ§Æ ÍÖéÙ/.n{‰tOôÿ ð›®@šYž #tqµ‡&%ç_šïõh„É­ +7›˜ÛÈÏ]—e(9{¶!’Ž'Ï!¯7U’vmN&ÂÚ Ò ¦ºó:¨ŽØ;9 Õ†«TsgËÍ¿íQ7‹xƒÕ“BÈCœgþk,ˆÜ¯¯üoè(ĨBÛ h€‰Š &Ätø1~@J-nÝ.àqb6·>V·až‡ªžàɦ^˜nEšQÈí=ª-'â ü²®¹ClVU»‘\|óÚžA:;Ð~^û·ã^Ûh²XùjŸ×pºsOÃkš~­›{-°½*/Ißj›×àKÏb„ù½_zË'7v¦‹XLCu;IU ›õgž\÷¥)ºŠ;ìÛðíËÒüñþ€¡9yƒ‚fæzØ¢Š‚6,_Ý+4‰p½| ߃¸¥ÿÂo KÙì&Ù”^V€•hðP`ßËaƒ‘§Ã8OÛí8€Þ™Uý&93äc?aœ`Ç :²^+èYؘW‡%œà³ 4BÌDKªöø]xð(nj_ý}§3¥ü¶|•æ7ù*û‘­©Ä^âËΧ|¨öìÌÀá&–ÇMQnØëä¢(P‡@aùkC ß:õ;môËrp(µbƒ¡·DÎë½í±9–]!š Y²%óû  é™Ú›%Në‡GÞø”è!!­-_7â÷ãŽÃ÷ƒœÂpH-‹]:4öìŽ'{¾ÂæÒ¿ H“ÚüöÈÚ&s£]d¥™H9ÍŸÌ.Š ¼ä6à× Ñ›­”â/:õy"` yàìæL^»Päýt8twJ#x§&I&‘åÕ=6_HÂT;¶®8–N6h¶+ÆּÇö«ÊöOS6Êâ± ¢ªÿíZÍõ$ÛÓP8)äO1ÿÇZÚ6×T0pÓE³Àóg<æAÆaŸI0 …ö”Ö¶h\ØÛn¯´Û Ë#φñꬌG2´«0j²¡¦›î¥¸,cn"Ñvm5ÒÔB°˜kÐ6RùèaÅKÒÂ|6ì8ï™ÉòýfÁlzn4yR¼ˆ©Ÿ¿ÍН‡ìض‘™ 5d±HûqÛÍ2›—¼M‘‡"(59MÓÿØün¹ÊShœAÛË@lâ»ýi#ûQ„"ÖHehÆ"…ÏjC‰¶OâpªÚŒ¯hK)³×j„Ôí£¹†™q2=¡ 6¥1¾üpS3e³Ý‡l³†-çy†ÊzŠöcˆ5GŸýKSu6…Åýö€¶ÿÜÃÈN£[æBg›& ¦Ö®oäWí÷Ƴ/[i1G¦èù/äΙøéößêÝ®“ë&¢Vù8ÍJ¼ËtüH¥OS6Œ%}¢€ ÕÎáÉÈØvÏ.'e3ÿ°dt÷ ˜cÒaaèÞIÐ&›`>-ðQð¬Bð5œ ¢’m©mESæD@ê4µ<ÆÞܱ—B òø $Û'Z/×5ÏÇ”Ù.£¶ ÖÂàY¶>QPϼšò50pç„z°1fi*ZiäЦ 6ô4n¤-õÓíê‡&>7ñ\< …Ç¢ç²k”}m5÷iäÁ±ïD~ Áö¿Õ–rOåÒóëÖýÕïÔ§Ô(φ8Ém›¢”V}n ¸%a‚éît«8Uï‹¥MÊŸôèWC)»ÉiWâL‡/bü>YÔ8k¯ëÎ@%5Ž3Ó2Ï(€•@´ž¡TmÝi¡Ä/ú@B¨—Î8Ó”0 ºèöp^ùbö¥' ÔÊÍ, •9u‘@9ÿ¿Gž±½ÁÕ#uì?ª,ËÁgzÂo–œ7 pe ãË&,÷žÝsAªv² !Ã!SbzΉr©ŠóëÅþÅ¢k«æ¾Ûï ç¤?ùÊõÁŠ´y󽿬”u¨<%kÅ< Õ±L9Í!"ìÇÅΪ¯!ÿSbÒÀçÿºfïËv©-7Ç(½²ÞËwÅd©ºS1bKŸëKÁV½Ù쉃w4sáG.Lÿ!A¿·e§˜ìôÿþ@gVRGÚïƒîHa9ÂjÇ8¾ûëQv ôÃi4q™Gq´¬ïTÅ«~aŬ¼Ž¢àFÔ,{0yåÊÞC»F&±´Ñø£¸vƒ‹·ûµTÙ7‡ë(7u>gÑJ>ôvécuhfÛ‘pàÛq·äqE‡Eý<» úØ`»Ñfø‹ß“š¡M¦%ј4Žƒ9í3‘‰Lô@%ri •)òÇ™š~ÅÔã<›ý¡˜P 6QÍç3Ùôu˜“ãg)Ða沯m#;Ù‰ü¥£oÙÚ5õ¢®é¿¶=ÒñëÐÍÈâZ³4¾vxÁ ìÅ'~¦w*[‚ˆüC˜Ð|ÙþbµkÕ¥Â0¾F®>Ÿôà` €ÝÄÔF^SÈ‚L課¯¢³‚š?~u”}¤ð‡öòœ-Hö7ƒÜ,>¼E|Yz!v ªIœÄ68ÃöSŠÜßÈA„·¡“DS4Ÿœ¬å^Û]æTY§v¬D¹ åÑiÐå²B†·³9gÑùrcp÷=ò"âZLjwëÄ0ý)—b£Xzý…võìö¦¦â‘L‹n#?“¸ƒ©¢kkY#yâö“ö…¢©‚ñVeáfI1ôCl×Ìž½ß¾OÔ$Nƒ_!ÖŽæ6v¬@¨W§œÿþ“ ô)õ\T?VK-ùiiÚoÛ\‚Ï6*’4'Ì)¾u’kïöçIšçëoZG¹£ê >¸n9QøîŒù‡“p—FdAFÕ %{g¿ø¿`a$@ìËä¼<æzèïªêŠý†2!×x¶È`ž†ºÚN'سŠO.ꔉ‡O”ƒtÇ[UÅŒhÔƒ­Ë²~ɹ„ò"ˆ§3vIÛé¶E‹k›Ã¦5+Výx£À¤ K…ÝÑ¥ð †ouHÙÊsƒrF7²OmªJ‡Ï ünÓÜ+9÷sÒ+…—ÀSèœÉ[><Ì£ßF"bœE±&ûà¾ö!q’7²6$ÝâéÙ™cÄkçƒÄ" l4™ÍebyíýБf!zÜTuYFÈ7a‹ˆïïIÎÚé G :àYKçJÖøÿ³Ì¿P…ÆÙšýÁÖ1ûË^°ßÛ ÇòªAJ¦Ò1;`Î_ž+âÇàMô±%’ÖŠ®Pýµx‡çtH„üÄšc ‡±É@ñæ¡‹Íí®°Ø6é,Ë{ˆç”ûì_åævÆè ù<è 6á£ô½(tW ‰¿ÍICâkœòé~jzÖ‚õì§à4(æË†œ2$Ò§ž“oÁ±á.³fÇÓˆ¤'Zò ¥e¡êmo[J¥Þ!ÇÚÎnTd{0À7€U•ïFÜšèø4vý¤N;â ãÏÇB—¨d àÌòƽýÕN„ƒˆÚÒ\λŦÊoü„Ò ¯HDÙÜ—Ó´Ž%®@d¬^'hµÙ°ºÍ¥£ßJv„§ ݧ•Þ)t*ÿx¬7û‰×f’ ?Ìà%tc£C§!Ë—|Z³&*Ý|­.•Æ3,ñI’1õÂ6Áo<-¹<ð‰º.î`8oùþ‘[ï3m|Rgäɖ_!¤sÄzÉжÔ^#8ƒk÷7çE+#[4£ÒªøODæ¾·f°×UJKú‚s©ê¦"cBß)dæÞ/;[º¡w¾î…nŽ=ؾŹ }øÒ§.:%ñ ú¶(ü„©0®‚s¦k¨É[Ø¥ëgoféˆö( ?äqïx`yö!¼¸ˆ†9h¾wx÷™Ï-Ú ;M>9ô(e$ »¢ØÎïfã·EHQÓ…ó#¡."³Qr$XiÊ€:'ZŠÂ'ši”éý1°Èm“©gøåWt_\ ócÀgÒ+ßM I2Ë#ŠHÓpq«#¦ÖÜvgkzܧ~<µˆ mÒ€9´¸ú[ÄW6‡Pu•G5Ê”ÌDðk-c˜ò ·6}Íöp; úÄwÂ]û¤ö‘µÓrÊE7qTÌ!:<é GP-ÿ©Ïk †­ß]’/ËùPE øáí‹úèk•qE¼ÖËnQÊ,ë>!gmùö“AË&$b—n*> ¢m…úá RŠk&…ñŵ`›Àn¼Ôu·ÓNi†¢nת<Ö-ˆ;ÚõÆ–Wä>0ر¶œ€Äa_±Å,gð½;‚*À±Ó+~Fœ[’],3èd ´žŸÊ¶þλ\i¸¥*ù…cƒ,ïò™ösèBk$5ÓúÒÛ)+d¶ÉJåB_ùÍ"/d<\¨Í#ÆJó æ†×"5¨˜Q³àÝ™qâ§û1áÓ]ãrmEÃQ¶ÈfP-מ&cÈÈÁߨ…]© ƒåª².À5`](à΋“4\Ûß·ÏÈÚÁakgÂmEÆ¡ðò³ŒŽ—‚•"Œ´~Ÿ ­cB†Î×KcåV?ħ¶¯E jjön"5Ýñ"™+?å,üXû%;þd‹Ó(㓽M$Uƒz%aôîµò îÃm}U²f¤;Kc[?æpD+NïI}õ§,I™Wù/’åAWwßÄJðOµ6”o Õ©x’-¼×Á²hЪx‡"› ƒCï Ï²BŒ'|å#,ÓûE%˜%,Ö¿ð^Ú¨ }ÍšZU§µ˜—ô!X$Dè—¾=V'‹cƒ´ÿÔ?é(o|<º¬òÀÑ÷ÿ»–DË…Çc0¯“âNž¦âE¡HÜÌñ «rIW§ ˆÅ­6El<ç%¶kE¼MI1ªÒÍ•‰]3áiÿ iÍÑ øqпIJۡò)Ô.vþ´Ø‰·b4ºÈ9ôqUð¬ñP£z·È‘L)BôDŸ +óÓ8}n}±DÕ¬jˆ™åÀ:mO…¬Ÿ±,Œ¥IbfµG_VÆï“é/‹·°ÖGÌE4¦ €ÊÏmRHˆ†]&~‹ÀKZöiq~€úƒ¯øù7°—,YÕ>øe”ÚBJê „q" ÖRV.&i™¡´®4ÍFÄ4Be]Òs´‡VYä w ºeµ´T²Þ¥~ˆ{¥¢,kôìªÓýÌŽ X8[ŠuumQ,*:/… Ý0eÛÛ¢éã8"rç¸`KÀelÎÅg±wÔM ÄŸY*UPº÷L:¤á¥<ëŽk÷ ¶aLâ_Ÿo¨„ü;î´ý"|åhа Œ”1¨›rYë?÷L †L‚:kÂ@á)äÏdM·ÝöpàÄ ˆJ’;‘ßKFƒ½i2OdæÔwxà<±&„A' l£ô ¡˜ä½ß'~ „wÿä’ÿü†6!ÅH 9ÔFS¸î–~¤¹2UÙÉ“ ЦIfrÎd%üþdCR“â_´bKTLø -ºl^ü6„¨m"@tabëNæyÓŒÈfSR弦.Kòl0´›ãº‡'’á#U°ØÙXS줸( îJl†[…oÛ"†#b{±öFª¯ÇŒ7ý±9¯o‰  Ô‹9]ü˜@ ,M”¿Û|q°^£ð(s˜÷—ª{ö— I VÓR1ƒX0*.€ÑÜPcÆÿž­ºH¸7‰Å÷ßÄ6srv|ãïŒûØ¢ÝÞB•õž¦Çf"K/:´UÒFé€~1á0+‘¡×=²Ó-\cpZì^è­KŠÂWÎí¤f¥ƒA ýä`»OGbô)9ºÉpêPþnmìÐ4 ÏvÝNPrß A$v#h™b­ðædzhÑÊw}p{ß·fpW3GœÉlb|`«=ìô{Ș›=§¶\ áÐá@s”Ùʬ-„‹þäj±-¡{ÊÝ9ÓÀ˜žUé'Sþëÿuéïé¿Âƒ”!Ñt+-˜ŠÞ^è±Ë%Ûæ©ÚdÞôe#Úp¢ñ×Ã+:G ò|õ¨ ùõÑOÿX "ýa³éîšqülYÿ¯j¤·ßêmKrÞrý¼àÙ%…ƒ,c‘Ïi¼¨ª-œÛ´È×%Ãj°šD3hðw‘çJöâ=}Šk­øSLÁªn,f5¸8°N“ÓÜ+\x……-î4Ð/~¤d씯¶2õÄ1\,»Åék§)ë6ÕµIkšµùÊ ”ÝYH¤øþHšTZòˆ9ŒMp2ôçUìrS4L–8¢)l`-ñ1ê˜]6YŸì¹“˜°=Rûã}„蟋֚©IOÔ1Ø¢îÏ¥ê":Y6'¾ñB}i!·:˜ñ©ºb™EîyÐÐÚ:<8ªF ¿€”&¬jõ¥¼O”/?qìÌ®ßÏ$ÇV¥&²G”Óõ¯ú¢Bä 7p…¬ê_èU0HލÊ(²Åé½Ádïœ wW¥UJñ©,Nx#îÝ—­2(ÒæV†ú­Ócwf‰×ähâåe I£xªH”™‰¤Þ¡•µ˜óLLhOí†á<±Ý °Ú>ÃfpZÄ‚!ìâ’™¨ÙÙ5ꢢ:A^1^Öž‚’¶Bw\qß/íèË¥?­'@zÝaH;ЬËÒ²pϻ'áU—Š–=ú°%•YS‡ÚtϹéLEûèÙêû Àã¸ìø!«àc:ø³»ó|„Y[]»â°¤rf«°*#ó-DÊ[&ýk0äý8¦ÙFJ(W‹êý–ıþKIa2”¹Ç5ÅZ”îôC€LøÆt>²-V`­¡cå$A’û9jºŠÓ-íu܇â7‘>0m tÃÒ«H ÅXQ¡ƒªÐ¡1–ªÍûù"ÉÑânÏQ#1J™gßép^kY ™ì^4@–¶‹Ÿºž~‚§ úF‰ÇÓ•7ú°3ý¢(´WÍê–‡ˆL…àÙ=oZ µ\HŸè¢붆œ§>Hƒ7(í%îéœ8ã%«´.®C}î›ótH6äzlÅ:K þ3ÌØ:çéHøåH_)ëqÀÞçõ‡±Fu(¶‰95A7%Õ¹G`àý;ýèc47IµŽ× Ð;rhD E‹\bEhϨ˜‚£ŸIoã¬Â‚}>}öY䱈Ÿg!+#œ|öoÏWb'y>C"†š.ÅÌx¡£ÁêÎü¡*R¹áø¦p¼h˜ûË’Øúòöä%ñOLúY‚Ãø¸!Šf<*}x‘M €…ªÉˆdêªÌ[‹p?}cU¤z¥£z‚Í!ùSå6º–É}øçE^c ;A(æ•a’P€Ÿ Zˆ~ãÕÿndQñ\¡ÇS™ …ýÙ®’¥”Lšr© óu«€0Wu~`™¬jLZÂØ2ª}U£Fpžÿú„'è ßïïÚ3@ã] ¨BAúŠz33FlféO`ð32Tt¯î“­ñ¶_‚«VO¶Ñ—õ¹‚ö€‹X‰¸æý†ùŠ<2ǻ׋ðy¸ßC™·0bp]XNLv­[¶G_ÃÍÔ  ´÷¿ÅG¿“އÌð“O|F³Q0袇žjÜVa—zÌ)ÂÏBⵓ‚à SÍðiìD‡€Ñ@‘rëqbù L£Ãߨë“Npµ£Êe=žó ë‘Þ¨è®R2\圤/dºï¸§±ôÄ[q×­B§ê›6¨†®oaËJÌþƒq¼^ Uß{dwÚŒü¬¡­›‹qG‰ÂóÑ9ŸòŒ\7)GîŒ'óêµLBß%êÜðp/±áуçx¡„éòæ!,ø=Q¼•äâ‹ã,¯ìƒƒÕ€gbÑÞ™Î¿Ž—l¯­{Iœ+~ p„ï´rm”É}h¡CÌw­­‘ylרžN@UâǹV€Ò©Ä št²YÂ9† ¶†¨ìkª{ñ†}Z/¬d©Ž?1óï,æô¥ÜÒ.  ˜Û Õ/,‹ÎU¿0Ö…ºc~lœ‰G‹gœZܱï>cÒmüd«ÃF‹«·z÷TÄ…}~Iȹòª;ˆí3ÌY…¬/Ö<§YjÓú|wö&°–!=m9î;¯NÎliL_ã¡6¯’³à·ì¦1R:NÀW£Üö8 OÀˆ |ÛÑÿáÜa4¹æ ¯Ð_Ù+w厺‡q™õÈ®MPD0*h2F„¸Ì¤1g$=e™… Smš (Õ<ýÜf¿›op»P-—èö[®êæ}‰¼“å£ ®0mÓéµÎœµ»våPßõÑ`ÁËs¡'õxß1.ô¼¶¬n䏨Û8œ¶&Võ"ÒB+h$ÌŽ ¶°±Zˆô²Z˜¥ìãcôûiM.ÄU½&Øzñ ôòsºòІ¤=}9§AuFÙE—ö¼чºcueQGHð|ëxºÐ'Ý`˜ rI} ¨Lkj¶óAÚë¤/ÃÿB¸‹¼±èí¦h±ÑWú/2ñԗÙÙß5]sú0ôÇ­uf»M%Ò½!K$t ½K!îx3Aۨ׋yùóQE¨Šï¬­~Wm®àU_ñôß’ÖÊqvCq+ /*ñ`ʈbN³ß]ãÛ1;JEef¯ûŽÕ.„Ÿ¯®á‚nSUW¶cC­!]°ñ"Òz~€œµWµÒ1<([h¿Ó€øá¤cpë*â `âÒKB¼YÄzXqܲ۸–ÈrFÐÛ©#ѹ{øañ³ÔP}_rá®–ŽŽÜÖ¾ÏRQ“;PÉpér¥ÍÜA·}Du6^'nÂlÍÓÇã?î-Ñ”™ìG¡“z°ƒ ` `‚ªj ø(—©L'¦…$Ï#ù11òâ ¨Çÿö4.^3óUˆµà{ûFh÷¼‹Ìz Ûœ7ÏV9€¹Çün;vþ¼ÂºsƒŸÁå¦sä@D6Ž5ÎÙ½•om`õU.ÀæÀYIêšdïl9•2Ò.€„»BË  "üŽlßeEÛ‰§bË8ÔÑë¬Ô-j´ŸßTu™ƒ 7)ÔšoIU˜ÍÙÐ æðJA"}y–£q븱!JÎ"püÎ04Qÿ߬o\"y¶šcùSj“ øî …&/WiÀ ¨¾+/;F }ÚÀÉiêݸmÒŽî8ÓM é#ЊµÉé#^ 5á°DºÒrÊýü°k‡9™ ³^ØîúàÂø3~ƒ8’ÏLñ~ÌéÛ¥KM1™7$Øs lûC] 0Æîµª-•´)Gè¡yÝ(nÍa졾õÝ"Öî‘롪2æÌ"hÜ™[/àõý«× Ìf¦Ñ ê!Ïõ†Ñ0B±°_BÔIÓÔ£¢iðŽñõ™ãf„<,Ð<'©å}b ±vøg:fœÚûÚ¿o§'¸JëeõuÊ€€¹U¹7j8áf#õ‘“hå¡;cùGIût}kÚÝP¶i®ÁHju;*oµÄ1ngÆ ÀZ­µoÎúÞ"Ó_ävMܶK3>0Õ,Ñ•t¡“OÃh'P<á¶RE“ ñä2BÅíx úX¶`°°)2ÙšùwÒ:P\¦€5õ¤‹Ù²´ÚÒ·_y=î…4Y´?¡‡õ“hR®\˜!Tׯ¦ƒÉf2 ¸«Ù~Žüȳªc¨ü¾»âД­¿WrCpž=¾»À*ÀFŠ–èS¼Ïê8C"D§eßyá‹-H½i¶îèÑ|æšØtBˆÒ–ðDio¨û‰qÕæeÖ°÷ä3Iä¤Dá^ûA}²î€í¨à@1›r¾Çº¤iqwÉÜnÐðuÊ~À7“·úŠT úŒ«úÖÓKÄ•»xêàsßÁÈwƬyD²dR• êôÀb–ÍÐxÁËÑŒ—Ñ“o©™k*TG?(™í”BgSÈœœ^¬@E{ »äg„ B Ÿ´äŦ8 su¢H{†Aã#æ?¨²_€¤„8Õü¦'9X ‚Ïm<"xÀäN=Ñ`šõ‚¡,¢@s/`ôö¯ DÆûÏ•Þs+]lYY}ýPS’ÍåOSÒì6àhl9ƒßÛÑÜ^¢ý{‡b”±T~9R²ŽH¼?jæé-MP$’]ïQìIÿj×»¬¡ˆ³b¼ÐÝvïüú¶z›fHSS±rtÐ6—vÆ ñýF~íM[LL!þ0oÄ…?x^ŽÃ…«Žº2tDþ`›+Œ¨?¦Ž±ì}6Ζ‡v—4V`O,~x-I!åQCɲwËLH‹Kºÿ˜KÈ?f±¨9„$‘|TÇ—å!íižÎ¹Å¥_du/£ŠD2¯ÝDó)¨ËSçäyãȾR«I¤¥|¹¦Ûû—½¨¶Gµ/}Ñ·ëF"brE¦"—¾-…¢§ §Ü¨ZÏH(e‹’Цù¹$NZÚxë’ï)]/wüÔ\î~¸Clj‡^…냑sºlöX'nvJJ\xÿú|o=눺FJ0Îý¹>BÎ @7:fº|¬0¸o³ç'jI?mJ*ø@å üÅ,ûpg ^Vq2²ÅF@…Ÿ~bŠ…é8âÆ‹åT§x«™ 3y69½M"õÎo¡Y»çž±ð&‹í[ªªæ c‡ôû:É^@ëÀ¶A¬²TÑ™œå%gll¹ î1´¡óã0 L3è©5‚C øÝfØujªDAÝcóœÍ]æa¼£ “õdÝÛ^ž/2bBÓcT¢=.CD &¯FÁ±X0}ò‡eQÏ4Cá@ƒoØôZøð9r&˜—¼»ñú.{‹¬zZ„w)IÊ´Ï×€>·—'š+µÂyXáf 0Ó+¨AÒ&0·ŠÕº¦ê %ñ®49ÿ¥u¨èGÖJÂ‡Ž‘&'$¶+¼‡ÒŠ=Ve"|ÖßáÚÛžfýë#TÄkÎÞE¥òÁÞÓß¹£áUOfKeÿ9ÚјOÃÒ­è˜üÍëªùðÏ5ðßóŽV‹ZԇꒃõTª$Ñç […ñ` Ý…Õ”ÿ!ÓW ÔKLÙ›ÕÒ½¤kÌ| úoZ…6œ £À¨"®©—zTnb‘㥪…Å¥ÃÜPþ˜Ýßñc±÷u 6zÑæòœ¹É/\YH]œiÚYï ÃøƒbÃqî4Õ©*ýuÕÁßÞÎ"¾Þ™= îð7¼×N©&|ËÖ™9é îîmŠ>£´âÇ(!$Y9Y•¬Ö>P¬…{þæþŠPÂÃæ-W“Ài3AM)wêXL÷Ä rú¬Tøa„ê 0Â<«¨F®Y”D+BÅON7á£Ìrs>O0¨šÖÒ‚³è„o¢Ý)ÔŽ\)*F™j+Fâ¹™à`Ú.rR3±-‚rÀë­süÉfðn>©äWÆÖ;Ñ•zfC=PkÀÙ ý}Dý&BOÐø°•ƒÖÎDÑÚý—4ÿ_hÑíTAלWÚŸX~žÁ¸ ±rÓTÜ ¡~l‚«V‘jH™œQ³£¬öÎ1»' ±aT.½9ç$ðƒÑmH­—íí¶Ý Ÿ%]I¬lE•Wpõ°·ìû¤µæmSµüüºB(ÃRÝ.ffµ/kB¤Í11…1 @+pV"âsÖ_(|C®-Xù¢žI)a†¬F´ä2\ê‡Éï…÷'æ–ì**7‰@0 ]‘Ñâ¾SÊÂ¥~Š “¿š'´Ç×Z"WÆÇ "á\ü0–’ 6@d =ª/S©e®<ˆx~'€` Þi5Žñp7|‰8#Â4¡Pñˆ¢SIÿíÁl,)?Û³P“¸~ô4EßZãµ.ÇÙó`{øQ‹ê˜jõN:Ö j~jÅÏ~¼¨›,\OôE7[tEÐŽO¤³P ¢‡ê$ Â%õi3ÜÕHaóÌè*NN—óO4ûŽ›HdvLM÷£Œš©¶©µ“@¦5í˜S#Ь€9Ü5®¡d£Xb b¾ð¶Æhõ'\ÆÙ¬*0~|v™‰ ÊX˜µ *y f3r™ß¤‰Ñ™ô„ð&íP€±ÙS~ɤؘjg܆‰è*4³ Še–LáúbB9S Ø›ðÑL6,5©ÄZ¶JB¶Ñ®~ÌZïå–C< øƒûàñcéMxÔ÷7L½{l`"$ pŽƒzpЭ_GKjÈ%¹ƒüëÁš.`ET"nüQÖBÚG(éךžN>¯[ÀÊwÂ+ÕÈD·(M[Äe×,´‡¯… ÐòE%‘]ò©`)‡žÓ¿ÒŸÞÒ-``kTÆŸN ´NáÚä8º‡7ו—P))¸©6[~%³´yilë÷ðûS#Š4È{óílgÎlÊ»£•—8GÎä„…îïþ‡Œü?'˜{ßóDQ¦¾à¹ƒRÔ)é0“¡tâ«k`tU¶šõÅ®æ¶-üÑU%Á¾•I}0ÿ±q ÏC,5Œéx–¡B٭ꯩË[ë¤o„í?‘+s%åf)¨yÛ ¦ôÁ÷gÜ M4äÕzľ>çö›…- Âr‘ R$í]+ ²½ b=ôÑ'lÙ¿ÅúúÉ•+:%>—q6Cå5ßQ}=?ɱ»9¼¬•¯úB,±)xŸe«°ê¿¥ù¨ª ¢NP?ìåܶîiü8©ÇÌ-$f5w%PRÀϱÀ‘K³+lˆ8ÛÍky‚ÚëG²"·2²¤3y"åÝ=²”µÎq2‰ƒÆœ?†û‹JáeÈR$—&i ®ìUõ»‰™?ßL2*vZS²5„h^(ípó)•b«Àe}1 2@Ò[—ç,SdhrHCÛè@¡¾»ÈØY@…4¼¸>¦MF·WÙ‘‡Gy†U/Án;‰<{Û_k &¦mõ.FY ³N ­çKþ …_NA=¤¿Cý8z§ôÇõº  0!º|ìÄ@Ô£éûCxvŽC¾ $}Òa~:üÔÉQ»~\îÒ†ŸvñÒ3Š_—¶×çð¢õjšt‡¡WGXG•ø•Uuü°ÞÕgÔÎ.^–G_VAw[àH^*«iVÌÖŒ ´mñsüÒWèØPBû$¢ncïUïj#bÆvô±Äo$&5uûzL]êÑÊð*Ó•¥ôB>²íŠÏ´µ ª ‰’U‹LÌÏÿ/¨^ÿ”kVRÏÚÀ¡K_ÍUº7|#ÿWž39²ù-TçáyÖö»žSB ‘T«˜qíªô‘ ‚ÉŒAI„²9‹„xœŽA‚4Ù/éõþ!é@P5€þ}õ"m¦7¤ÀIDÚ¥eT?rh–è9‹Ê»Æ‘üø¤J†\3cf\Õ·¹È~`– Xì5ü¾5L ¾­ié‚3$”4„‘¨L}ûèSX‚ ùÂûEôÖ#\ Ò¢TzC>´•}(¥-*TpÆ'\Äp2 @\ˆŠKÝtt°=B„Š{òQkM äh]ºŸ Ý‰`âdšßá~Ôwm’Æmí™\ÓÈ“µBÙ¤2æ^G=RÐËU½`à=iÛ cDˆ< ½Ë?úoââßå¦,…›qÞÃB6äqn,ù¿§7y1.¸—4æ§)\ﵡm×tƒ¥V½'ã)±¦) mA×údÔqx÷¶¨ø‡±5ü~aL^ÊÌ9cÐ#[+’SÒ’JKîiéù/ÇPÒÖ™·/κYõ®c  =úùX’q.¡úW5EÑÑê¸, pAͲn+,þÐUÜH¿Ð$n½—p±'øÄ$p.ZÆÅ£âÕPÿ^©Œêþ&¼ ÞW¶Ef…â¢CAç«:oQ6véµ»^¥¯Ãà~!Ü—±(:¬ür÷Y&DD-%|·³!°ÿGX㫪ŸùÚN!‹ ýE?‡w1èÿº 0>Â…wç©ÚWe޵p*ê¡>š‡6Ìs&¸Ž QÛC­TïCNÌi$ô½?ç$îÐ"©ž!£ÀáËmÏia—û=~Ϻžº( öÒq˜'uT³Ðˆš|å$·©z-Ü{¨1ï…•ï_=Áv”AÃ¥É]¯4Øf%ûYé·næÖ€¸/Ã%y¡Ã;I¤êŠ¢}5f¢N6~Á´,ÏõÂà%†¡e@ƒŸD¤$ûÎÖy¡øÅ/ÃêýM3ÈÀym{ê"¤ò†¿K¦Oè Œ-w¶¾¨{¾šËF~äðEEn¦Ãue×»E—”1Õ´òVþU´ý:¸ö֧¨eU(S$Q†2ªYÖi†Œ$†kãdêQ°SÖ7s¤m„ Ãà)5¡QÄ"¢å’¦g šè× ÿÑ«ÖaU“Ñô½á š:Ä<«ó æ½ë ÞE¢Då$î#7Ó@újtÒ—³ÇkJlñ­Ýò\áó±É~|î^»7>.§ò_F4ÇÊKüE>ŠéHñ¿bùP"ŠýIŸ#$¨œ0¾–®‡Àlª¤/õ›|s7HžÓÅóãEÆ!cµ×Çט-[¥¢0¾àäŽÝµ-ØŒ; `TzQ.4ÀHÓS;‰Ÿµßn§D„à2÷š§V®ï¬¸ªÑ7o±…Ó|¹û!ý™ïqè5* n6ï+5w`ŠJèŒáÞAÚX¤€£z÷Q„ o"5sóÚœ ¶„›‘žúêϨ.ÅhZ…ðnmkùbÜe"TŠæçÔ}ìÝÊiÈGù¢¸§_7¼÷´Œ‰›E-[`;ˤ‚$©Ë»9wÙ_ÓV¡¬­á#T]°Ù_‹žÿÏKó6Ùøò¿ƒ>ûÒùͱNF!"Ý/­à>r!pÌŠƒq•X§äûU|ÞG@peDÀÄÒÜU[^Á!M‡\‡Œo×]çüOC_2Òzñ¥×E×b¤h6RC¤1×5Aý~Á$‰ñ'ôû]àKrÕ½U‚±®b²?3ºƒÝÕbûc؃"‰ü»ÐgJ¥Ïb žäeéÃu‡|4ê– ÉTR4}a1¸.àý6ò"ØÑƒ”aëï^˜/·5:aKc’zé£Ì©6t·®ÇY{)”ýœ¾„€ݧz8\­Ÿ]‹ÅHŒ»ú¾:„Ÿ™EWTÓÒœ|1¾¢ÿäbOäZIHo‚fYŸ‘&•oV‹æŒ™Þ¡*$UXé0xl\õÑ—P>UŠ•IXÏ*_Šö6ËÛÖNÃ'fƒ¯ÍÊrÇឫ۷rÎN.ùãõ-<ù¦_׈iìIxKƒjïdt¬XŽƒLÔv?þ‰”‡ð\÷§—aÒ|&vlp"AÍæO/€JU‚Ó³ –nƒ{ÝãžW5^ÒW$¹~ô@T5TYŽêla@Ä—m;¯ª'‰Rª°ÅyÙá¾w\ò“.¼Å½Šh'Ì\Pº^íµ\è=äýüUˆìBÖ×n{kcÛ=›ŽÃ5 Â`±Vê,ç¶3­()ºê¬/h`‚k,àXŠå¹k#}{w”Zæå¾]GþØez†)DšâïÒÙhÈtkÕØ+³L¥ ›§ç æwHüÆ3k|µÕÝØ®ˆiz`²àB%Lü¶ ôÌÀ¨ïžÄã<äÍ/s†ëÂ6à3}h‘Í#?¯½Éó«#'E÷óéî+ÆQZWZS–+üòÔâ™nŽ×¶Ò¦!D>›7ÞÜw›=UºìPñØòê¬á’ÇÊ·Êk{!ˆ‚¬†2ævù/60è»^¸º´övÌÁw]Õ.ú nw÷?£1‘eCà™Ô~^4Êî$1|×ÃúgÀ~åS/IJ+Lì9…ϳ€qUCð`Z:³5™˜b#ÜÈkß© ^™J7⟓þHš]ñ$ð1uÃÙä"9fú¥^'Ÿ×§SåG/8ŒÀ¶Mû²{å˜DUDqå |Ä™òmj…Mšu¢Êvg—ú“ñO˜Aydñ_ü]¯ƒT3XM+‹ÂÍÔOx“Ч4Ø6•@ë”nSNsnDüOPb‹†RŠsi¶Ö"¯VJõ ¯Ô}J®ÍÆ=Â%¤xªÊ¾¨góêÜ·, Nk°R„À-Ó)†ó:/\$EÅúigÊ Á é#Ì#2½sà «\âÐg÷v¶µ»ü9Î.u1$qoØHzJhc h¶“Í)&h†žÎ 9²7™ïü|Õ8ÕC”›´ 3+ô²F<¢ÿ|R÷:ƒ(ôn˜ø”g¿¿U]ûIE›(ìãÌPcξGhyßoaÅqø[ W^W0åy˼×/9´èªIÍ@©8R×›nf¯L0˜ ü”[/zÒªpÏ:pV¦jºv7 ¥\÷†©×ÂòðWS/K¼9ðmò¡›ÕJjáZôkHß)Ü«X¨} rp<—“SîQáÖÁœÃ¥ð5On‡? ‹ñ€"ƒ t83·×m¬j“V]aµª­lÞŠ(ÅUJgjíËQÖ‰¯ªÖ"µWÄ•¶Hï'”0(hÃ(ÀGçË–2½q^#§OQÁ¾ ¦ð_%l‹=6š²J®Å&Áép\“²< UÌ—&Rb·½ å4­°Ž õ ¨#£ò€ÌfCp´‚Š ‹Ìxrx3µH¸V¬  Ty™?†åÉ«Éç•e쌿ÊU:6X/8EÄ2è䋤¥QÆ^ÝïZžFÃ!:tKúÞíG½KÔ#`‹1ȤO…Aò#²Ôv±LÏRÒ ˜ÏãàÅn3Ç‚e=ÄqÿÝ ±¯ßg ¡4H­oî8—¡Çw‰ÓOÚ,M Ui’ø¾IõÿÉÃ9uïm5àéo…*|3‡cSfÁhpÀÀ-z"§ °ð5À) Eˆº0Èz›ñÎ"Õõ¨s€PØT'í!È;F•ö"SäX Ø6äó0„¬žý-úXC]®'×F óìè­6¬ÐÝ_@oTd¸.ýÓ¶ñmo§ÈW– Ùa^ë7B”Þå¥úÉ…F˜öô_òÅ¡5ðWuúÏp°¹'ä€J=¼C¿Ÿ ƒr86=.¢)úBþѥŕ‘z¾À\ËùÎtŠ|-@ •x;ß6{–áÒ‚²Mœ¬c ~¶wyïÖ¿§ô€þº ûèˆõr!†bœofÎIkÒ—6 Ä Y¶o³S²€æ…Ârˆ£Éï¨ µ4 RA^ê·ÍÒAÐëG!Ç ñÁÝ<·°S¾ÿý~lŒWC è*$þ½ ›¹Æþz1=ƒí.‘ %[_ðEš!ÄG4õUy’ÎYâÿµR¸âÎw‚P—ž¸]–æq}X{.8Fç–yÚͰ6Çd€µs+\š¨vB=ך晨yí¸øË %ÁƒÊƒØ^#Q1†½Ö^¶ô4áae¤”b·Šo…UŸ•S»q„ "g)†ŠŽ"Ѹtš  $àpdÈ÷ZQÕìÎ6W|ø½q´E·W$m`(BEÀMð¡øhç¼Í[BÛçÛ¶²Zn™\Éa‰È̹ÂõÝJ¡þDÈ›¸­¿#¡šÌ {Ôœ6ßT/É.,v›§TApŒQN7º¿=a¼ÕXxÓÐ,\H˽̫?çŷʾÓw tvúß…Äï2¥¯êE\Yc÷3…EOÅÓù»°“æÕ’ÔˆnŽ{ÜŸù”È ‡Jé™Yñ]õ“WÍ\€ÃŽÓº$dæe^TáŽQ•ˆLÆ Ùr'+¢ƒ¾8Ø<¥*¥Š:1æÁÙé ƒhpòiyùäö#zã^f¦Êc™lwXGóaABmaÎ,†L4]oãjG+ÿbxÞ§c˜‚œ».T~ä&xÛr™Á*Êý¬úpa'×óg·q¿ Nh^¹LL—#µËê‘„xª²3s12‰ñéÆtLÖ ŽŒCÌ7ï4(j{q¦ÕX‚ÇwïØ>®,Í•>©%d3{˜0Z”'ê×þV,ÑH×<ˆg™dø²£å¬xä øqBÆžGáÍ‹wó°·â’%µï±Øê-ÊNtæ™§ }瀬a[ñ)ï‹ï‚‹H®^}°"ršSqó4iÐmµCõ7KnUÙ^ëÍÛTŒ¤¾¢Áú%™†Vd¡ID¸ïàÍDI¢eÎÕ‰‘;ð•ë7àó,£¹¨ÐF€ó ÀMf_Éí6#.eɃƒp²= Â[åšè¸ðùüÎà¼P)È®òÃÀd™'ð¡¸;ÉnݤBµw/W™^!U9÷Í º­pj‹é Õ~¸b°©2«mþ4Ö‚ÅbtQ ¾^<_&ꦣÖÜ­.)ëÀÕ-éb0“˜À?iä[˜ýZ"&¹Dô³ûx¿ÜË¢+rÆÙ”Ò~ÙQ ž&[ª‚ÛÕ¼&^æ ²\¶Ñc¦ĈûÒuPWU}®„!ÔåIz¶ˆxQ©|âImËH s&!X)­úµ:™4'+Ù¬±™š]Ÿ—Œ7¿ôŸ’ƒãÕ0úƪvHi› ÄÉy‹¼Þá%³ª™f4m$¤­)Ù=‡P|”½áADœ[ªÓHº” šD¡hk&TB‘ã6],E©d`J.õë­l ¼€¼Úÿ5N½4¶j‘xLGÏGÊ¥ÎO•x¹ö ôÒÇ•Q;3d¤A—~¥®ÓŒ±y §}¥Á¡¼ò?Cáêœ!lAf"ÄÂg¯!ƒ`ôu§~Á÷7 …à}ªcÍ‚àè¢ -´i¡-ªÁx÷ulJ „F"”e67"Gö8zÈžé ýùš/Ö ;L( t²ÝÈ(ç ˆKîã§+ñH>#û¸î\ó×ÓL=èé^k»¬v/äÅÀ¶äd÷‡åNpo<å+£rM[„ xß…ªºœ…Tùµµñ©ÿ…Uœ«þ¢ …Q}•mhäÚÞUýG’ìžqq`ò>¸iÚV‹9¡Õ4бo›|l ® Z”g‰a`c#΋ï¦öÄBðêñ#‚ClâlÚ¯ñÒ3Q2«Ú+Aï­ áòËjJÏRc!h˜´sïd{§Ä¡B5ä–.¼¤5‘@÷ŒPtÐIzƒf™${¥1`Ù^¢Áå–ÑÎE/tþQ(¾‰.ñ~ÉŽ÷dœaû¿b&ÐÂ7‹Öù–=Ó]ת[¡}Ìz½ÀÀF2àîóö¸AÈ É¾‰Sß–¸=Õ§ékþÚøeÁYpcäGÓ~³]6¯+ªÞ„#np§èÉKü‚°`+[ÊFUý }Æñ|¢žO—í}"äô:ÇV«º1g.öUo#vª¨£t«•ß¾“(³Zq’hµ,}èeRT S×åJ¯°¹Iöf³ŒsþÄi ße€‘øXXª]ÁÈÅ­­6Ñc9¤¦š¤ TSë^ºUÔœˆ9Î8F¦!>{K*à©k¢]’ amnWOlÁL}«7?djˆäµfß Ê¦ÐCŠ2¾I]:Ü®#û¶[û— ûb&å…ÃþÞg HáÉ5V ÐPÇöÚà“á}*V*òÓ±¹•ß+HžÝÛú£[À‘.ìV˜^`)Ø[©h¿Ò¦´Y§Ž·{ŒJ\õxÎô–•tQžý3r®ÞG°Œåî Gñvi΂ãټȸ—Z½sl—W¶ÆµojÙŸYÀئZ¡bÔã@=jÞŒkiuHAü½7ã8ðãj•¤»L]AÙ{6¡] (WKŽ–P½ù¼ëà´,ã~¡ç3QjÁX.0Böå­¯O-˜eVi²Þ¼~†²E)ý<µÁP¾Trµ¶™¤l:Ѥ9 5BÑ“K»7—¥)9—Ý£X¥õá]åµAÁd,ä­ É<’/3WDÿ*‹ %ít QD©[)[bugãAÃ&µIH Åîíz°¶ŸiF˜ç wã„Ö‹k¯’›Ï(#Í]€æÂù‹;R­–?W;Îÿ~aJåõe°«ì€S‹>2DS˜•¤)Gfïpe19Ÿ€»‡5"Îâ T½é«h&Žº¨+2ÊùI/[¶< ĺìWÔߎÿÃoZéþÖ7dÙTöļ4­®K,J3Ör ¦ÜZ‹?"V ¸(þ6ÃU’%öÅy3Ñ ´+Äù°Rí•ëJ"|Dz «Gˆc ãHbˆÝqóÆxÑš{>œ9°jÐ(‡ÉŸØûG¯.uF‰z…¨PÏÙ,‰ª@Œû;…w£‡rýÞªFÊ›:¬ßúPÕÕËÇ‚«=®!ã7ã”ìzQ`m­H†<À0òÖfW¶—¯‘œÔEñ¹eW¶+ùjyýÛô»Q­ïbm]ávã8ÎÑÙJ‹:­ÆÇvBæ!r˜H”%š9u¾zþ‡JŒ^®fû,þvêŸÜeþ‰¤"Û°nY¶Dݯ?íÅÎz;˜‹Þ‘»ö KH39—£³¸‰¢,¨|ñ?îšœ§&[×Çò`þ :ùĔžTÚüŠtmø@â(¢´[dfÛ1= \Ÿ"&K‹Æ/¬kf)ÝßX«ó¥ŒBN×i™koa½{4Yæd¶£âaØ:++ÖZ®Ìü7xÁÑ*Hõýš±SE•'¬Žáš¹é ñ€Ð|QéÏD.²¿f ”½NP¼_‹ 0ÈgqFSàS³5+Wôfï‡|ÀʯÆá•6Roö…÷}x8¤=í×Ð@ƒ„Áq¯{ÂVM@߇á$W4-SÌ¡Wÿ"¦Vâ¶©…㥅õÊóÍL’¿äÜÏát&¾Cñ\üELô½´¶Õ$øÃU3@ýyÉ0¶•Ë·¯-i,‘npW’T:N/&kA.Õs@xÐf!X’0«ö0…Ml§C´¦uœ+²Àµ7½#É䮄”úöbª¹“ç2=5õ1¶‘]w¨(WxûõŽÕ…ƒçe ¹þë¿WXÔüQD)ˆ™_ ¼@z®G ÚŸðu+å阧ov,öQ!¸Ó>R$«è¢ÏÉ‚ýzê£ÔèÀ(áà$®K¶)±ÿ=4höUî@à1òOÝèÄôá»)Þ#tRØl*ùû­jÎ.µ ²eçg‘I umD…R;¦ùÛxÙ4]ý=!Z‹‹cÜ÷+Øâ Á!ì2)í¯(Øüîü®„—-åƒÑ¤ªâÁÚØÂvÆ”µd˳9Ô—C[þs…g‘÷,¡ y„\'”·K¤§Ûu¹r¡óü‹87ÐQ#5ÄÝ!ôåYd”μÿ¥ý5„äè]ÿ}|Sµ‡s…S&§»šônKëžÃçÞ1…27zâôûº ¨w½? ÃáêÃM¼ÿ¥­ÏŒ æè«-ÿ\Ø»XªX«wÄÕëÁ¥ì=¿l‰´ÚŠÒ€ý‰Ûn ô9ûdG–Ô´…ÏõŸ°×1Y÷H\Ä ¡G)ôm»à71jÜŒ¦•ÄEJ\–H+G¡çÿ‹ Â&äH#‘g 7å|žD M<$òæªÖ™bÙBÕo×Ò5x³œºnÚ¸UGl/JÜÃÌ—Õ7‘ã…W8êCj“&;ÝૌÎÀ$ÿ»YT÷†÷˜sÚã_OÃÛIŒ™¿„t/|€¦(`¸PôIú€^ $Þ÷”8ù¹Œ#ÏÕk9NgInŠ¢ò-œ-.Òg›K5÷¶¹sKlû@Ö§ú’î.÷’´¼]üÞ!ÌÜg­Pœ_♋Ür0:qšêS;@ÿæ×¨îpŽÚr³•?VË\ÏÀc_ck]pö<Ê-ƒ1Ay]ú,È*‹fôWä–=,ÁÿAŠ] ›Ã&º;01¾Î´Ý£Q9 ^.NÇ*7Å3ÕÓ· Ù€ûùÈçÈòWqHR£B°prýOy2®- wd.?¹T(£¢`’¿'Ô¢’&q­æç­2nË ”ÃJÖ‹ùûåpÆØvÌ1XiḬà¡üEDSLbÎ:òÁI "¬)Ä,«•k¿7óYi®¶ÑW›Õ*.ïH&R.à¬ÀÊ«ƒùÄ®2V¦üN$$¸a>.e÷f†ÿvþTûѦÄkŒŸJ gßdp êW·˜É¡ï_á±­é#›xL8,Ç œçüöæÇYŸø=_⽈m|(óÁ;gÖa Ï`°GìQSþjµÊÏ€)mèÇgP *û>+•å9¼ ësP»ó«.ã1íÍ®~Ï„´þ¡dß©X‰ƒÐ+Ð& ^Î0)²ùZÊ$bMz ÒÛ¶îìðèó3Óiú¾:‘JO—Yo¯ðì$u­*u*4bqâö0Tïy„>Ë…¼Ùœ>:Ù qú³á%ñ²eèÔ¤Ìlâ[°ìH‹,ÂMä¬hü!xÝLPt)•‚y]~ñ àϱ9¡¿‘€{†J°=@Ê©![±N ˜¡±xÆ_}&FÊã¸ÿÂZ¼PòEí¸¼ê Èƒü|K¶Ï,›†vPUõ&ÆWFì3ëwâU@“@jሂ±lË“Ô"Á`â̵CpŠ‚>b=±U—4¯¾QƒòëJºéS]ˆ­R"™]†ÞoôX„ö–U+õuÏ›…%É… i{žÎX[¨IœÌTEtŸF¥ãËžy\yVI=d—O‡‚®6òM•ô˜àõKã²ðÙ“UˆñÆx}MóˆÇ@£Úœ²ÿù;÷ój5‹˜€s[¼îŽº³/6ÛÂoKaå_á½#iW=}x¨?1=qEï§–‚ ·™îè@×7vÌÔТ@ï¼H†=2Š6M‡âƒÒ§onRjôƒI…xOàÆ8yP;»ë\ÕU‘³ !3«Ž¤ýÆ„îÈÍíZH0 a¾æ>MjRW‡ðE¨ÅMRžVöiÉ/ïq—”ð’öÜʹž’Ng´?nÚ~`´ÇݽuaýÎ_™“£‚wò‹¡ªf?Er·2{†¾ðÄék5FÌ!¹FZò+Œc¸PN Q&Ó;‰‹šuÿõΠ­/V"Ëõ#N’ñD:!MÙ€ÑÝPfkö»Š7ë<¤½1Pü'לÖ<·‘ÚpÔ> ÏœsíA<’×§Z,°3/ƒ0J`3ë‘sú j¾T(Ó,bþf´÷y3#˜Ó!6kµæ8±g\×ÅX³¾ÃN°Àyšum–ú¿¤ö¸Ov‹(¼>ªÅÕ *ÕCµ Œ¥Ú–éc~ôÐÖ½œ×îÕ–‡ð0öÈUï²<²›ûD–˜–3ÑqÖ"H´ù賂°j¢1ItûL»¦2GäºãÄ÷è´” íìvo©X= ¯æv‡ }¢ù\ÌHöo8éò¹ÄUÚF†÷#}ñ™û¸œìÆërUƒUÖ ò\ÌŒ#}{Ň¾{s£šöåÃ2–éŽû\~«ëHê?ÌÉKTé7q›Çl÷¹K¨zål{’NSÄ@RmçôÕ§æZ¬Òe¼/×[lY mKœæÿ/zßÈ×qÞŸrh›Tqäæ@9%^(/"{]¢L.ükF·âÕO8Û±-6ŸŽÂNÜoæ ð9[ždÖìo05¸³Ç•BßÞ [. €0¿äù®@1Ö!Ùü°‡›ÂeüÆÈŸžä±a½¼ xq ásÑõbQG( Þ~‘Ú@"þÉ^§Õ™ò£’ãØlË¥Hø7~ì÷î=ö¼ô˜(ÒlBÈô›SﮂœïÍŒ›1’òuÜ1\ï†(¯rЇ³N¹-÷ÿ n„ÑgýþG©ž`ºì𝑠ö®gæ¨=9]0ß°9ÄæÐàØŠXbäD°As€æ4©ƒè¿M â|B²'¡qÞ¨1ñû‰uˆQ•S8"”¼%=(²¬E«ö#³Ñºq‚ôÇò*_ú@}¯("FŽfòÖ6«ê² Óõ*Ö”È"Ä¢ÕogîØë6†™AT‰)71˜0ÿžæB|°iL,Láz/…FšyÅŠH¼¨µŽÈÈhoU ;Ž• c ‚Ù‘½ø‡a4-Ëk%V¨€• [¾M’«Ÿ*°¤°òü(”C¥™ã”88"œÄgÙÕ\‚<¯Û#_*dB7òC/µ[ùÊëð@ýüà?iVa¯Wò‰™çð’JT&|±®gyÌ(ý{ªðñ¼ß‚º¡¿pߪ·Â'¢™¡nßW%Ä\¿Ê§½t*NÿWE Ð½Õõýõzy š³Ñš><üŽ'Ñïhͼ ¶õ#Í_9Jp¼Î½½ˆë#.÷ôè<üͪD”Dj¯z£$–9¬žšÁë‡N» Ó^ÑJ¤àùɤOÕ^Š‚©âßX¥é‚ìȺ]Õnµ'¿1–±Yž~cú·ßÇFsÔŽàÈå7Áõ>³œÆp.#ä#ñ¼]íÔ- ÆazQEœŸà^•«@{†1˜X ¨Ùl ÕFxKMì/go­§Pƒ¦9Ò¶5C|af*èõp|Éôk$ܬ¨,-ÕRño‡‰¡ŽV±;O!®’E* Ÿx$ë¨v°ÒÖU&°3¸oîz î-z¯?øÔVƒVA-Ñ€ð¾tuô]xÙYL½;ñÙôîýÅaÔæŽ2%•–¡1+w™Ð¥zFÁΫª # êIZ^¡‰âxÏm6 ùéìòšPñ¨-o°AlÖm‚Ex»dǿ电ìyML»qiŠÛᬋé¤JßÉoMŽç‚ˆý»8¨Ñ#„Ü 2ˆìöªœ-÷` G¬ê\ò¦£S&?æ—~²ð¡É•fþoÐC\ÝžôŒ'<m P+t ØÐ½¬&0½YJ¿Ì@¥JHµ J›Ð)ú…¹C €Û|;¬*jî¬+Œ“аV3j ‘ÞÉ›``”»í¨æ1b"Õæta| ˆ(ØW)ñI„Šb.Õ{² 6 .Àê(œqñ‘çë½ÕcØ”“ö7r¯øMi**F놙º‡ÜVo‘)ðOªß’×ËïÐzô¿ºò&Ø3 k"OøªÁ¢7jµZ™¯²!ÑáÕÄK›3ÍïŽ txïþÛMëðz„„ VÑl`ºV÷á †ÂŸ7µüù(ìL²iýlߩ׭/,‰}&d:²n“*êIÕŸwyz_îeùº÷ãËþ„R ³–t«­f³{Vïª.ô#ˆÈÍɄ٩4¥ÂTÜi¦nSûußúiZmRc|¢qŒà2ñ‚¼\G~‰WÉ:÷z«èiPMšâCX •¢L¬è¹å"ó¬nï½e½E<98í`$¶ƒ,Û%Wuè”ç ¬sW;¾=§<›wy¥mt[ѸF·+Eu ½R@_¡×ð#2ŸÒj+ç`RHDøyåPüÒâŸÉ4*túd;Yå/ëäX¤ÝµÎVA(œŽcÓö6þ"‘'´}òoáŒjGzU ¦ñ‘6gT™¯§AÍ„,«I¸6¯ö»rèž@‹z²¸X]ŸÅ]ƘÆAÎ.éòï`óo2P>bcûdü`îÞ km.={r¯ÌM((ƒY ›1v)Q gE%Q¿PVÞӘᷛ~ I$s¡†ŒÇˆ2cîGö§Œ•Þ|w(ä?„BprsºÝéÔ³dĵ°ÁÝúÚBv=¦ðÜDt΋ßÓuÛœŽ ÁçHŒ1˜ž/5dÜÀzŒÑíT•ŸžÚ*ùa|§>¨ÔÌ=ÝEk- ×?æ±~ÊÚ´#i‰K4kû¶EgâBK_ÇŒ ¦ñ:´µêg-újöÄPk2f\P ƒ’étpÝð4Tv }Hõìw&Z*×bÇÔ_˜®þWùLǬÎbÃ4© ݉j€8êþò©‘~¯8¡ük .ù¡I!Ë|ôBe©8ïÓz¦ÚЉÛ'x Çÿd²–Àɤ{¡’dö…_ ´7`vm]{ÜAÆš0ó­šj\WëÅŒiYg]*µ†?ŸFæQ§´™Mv(ˆÎ€Ù &öØÉ”¹Rb§4r½2”FZ éYS˜«ÛR¢7ï ($UàVj§Ý åŽVÞ{MÇDò#G #ZdÏÎ ^‰LDIqý uP’ÿ4GÉt–ÍU¿ƒàMO±ÙßsªOfe`Ʋü{?ÝŠû/÷ǽñ «wóŒ^5a£@ô—m–($ œHyD ל§ô!ä0ƒ¢íëwÍ:= ³ûЮ`{Þé$É6.£">OÖ³iÂùU½¬ñ9†ÎÌ®8¬ý ÂE’fáHéÄŸ¼Ò 󲋨ɮ f/$L  ¢yÀì>pöWêå%j©ŠùΟ€Ç‚hVQoã•_~ˆÜ$Å®w•rQ”Ç”ÿ ·Ø°P•I;î7!þè ‰v \(޳Oqÿ½R£šØEá9²ñ'¿A 1*—€ éŠìe·áEÇæj.ãõ~IæñÔqåŸ;…1bK»ö¹Õ^ŽAnžÂÍ „ÚÏÀõ›ä÷Á¦_.‰.ètüZ±Ìe/"ƒ P$ƾ•e“£õæ½ ‘oÁãRöþQÆäÉFÈñAçše$2Gd±Œ·‚N{¢s¤Ô¿ü“óþå\Â7Ò¶»çfŠè\’ó,cꥣa_BS•~닚pÜéÇ<ˆI‘~™§Q*_aŒk”! €er@+Y£î=BÖók &»j«ÁúWÕýwÙÌÐí J#snBvI›ˆA¾Ñû óJ=Èúz²…‘GˆŽ7_à ©¸VnZî—âÑ5 õ#R ¦C„rÒ8%S•(ÈÛDÜNgLùµ3L†ëʤS&p_šžTJèv銴§gµƒóâkCLe4èã2!›Ž•goYàJ!'í~lÄ-ó°uì{s Eecé2rb¶Ÿ7çSÖëÈuBéwtž¨}Á ôж¡Š7•t HÆ6;NÔɤ6­'¤;!!ßV1³¥ÑóOdä—ó"Zî(ÝÀÉòÌåˆ#›íÕÐýt'P=]© "xŽZÇ~FG™pÛÁÔY‰+[›Â» j|4ÒB© ø!¤ w9osTÊê^ÉÍe'Æ#íAàÓ4$u˼É5–OqÿϱyèYE›a§DÚF[K­ZVêX®lJÜÑX–+põ"Óa·e2G$'|>²¡-M¿À;¾uè³°|wÕåQ!xÑŒ+“KJ"²ðx/^®Êw ™˜ëä!ì„S^w`ÌG½¾ªô™M®’¥9o±Î³ŸˆGåMÚž»¥ïx’“ÞfùM— ™‹xM.?Rȹeó¨ð¶€w Ô­ÓkyÊ¢ó¸´ÌœJz›á[ˆm÷´5JƘ ¢F}DH«XZÃrq”îMð1!¹na1Ìhµûí6sIœ•„ º |vVä5!út¹ðsgà]P„6»šùÓYm·®Ó —)âR¸‹å”Åü¬$Z5£´Â®É…ù3‚¯¹e­QKG8| ›k"1@GEó–%×@ :ãh«gd8?±Ôèl‰‹ä;,§`oç}YvåtwŸ…ÞrXö8ÞÛ^¬Éxÿ=÷Û*à´ÝïØ#XÕƒcá²ÜîâB œ¿5âÍõiFlœUlÝsýÜøIé_¸:ÝÈF¡™,Gð”8/nÍ¢í(°-7´·ŽÙ.«Iv˜ãâèfo!]×eeÉÞÅ‹Ï,79«$ñ „Îîƒô áö?L$X@²ñØuZ¸š¤üéO"e1~µ²Àî A wq ÇŽBu_hÒîº,d¡rÿÐJFÖ¢z4Ô;Ã*èÕ·ëºÑ±´wiÓÏXU¶£Žû™i¹J˜§›5v©Éú’a§^¼F<\ýp9ý7¿Œ,ƒæ9Í"ʲf#»$ê¡ÜDŸÞlLOµ¢Fâ¦U§šl¿ý,^E L?:ÜRSﶆ].ši¿áæ‹Rj\Z+j¸\WG³O»4ôÓ;›ë!°£1qEîÓq!îÞeס<äØõ«ƒÉ|BÈlndú¹r.Ù(Jç³.ΰ'ú7ÒúO.¬Fèê]yùŒœö{Áô7iÀf¶qd‡½6IažF&1£ä!ðL‹èøãT_˜XÚ~{´É ìQØxÚØô1°\uIè7ÃÀwæ””ɕݰ‘Béÿ}jŽÁ¹I¨A¼À¡ëZû»EñÏcVÿ§~ÐWÝ,—(^±·"Š×}çÙÚÅMy;lôÖé¼u/ïáeeiÌD´ì'¾å òÕ`xÝòæ*ð…E1ë4àŸ$¿"HP~È™‚—|Ùm;©¨wÍf¤älêrF5ÆõoË¸ÇØÒݯ`ØV”bÁDò9jžÀÞ¶øê®Š0^£àÌÕÞÉ)óØ#ïà×÷_$q«Ê²•¥¡ãèqhKBÎùf`Ø’’œ i¾€¹ÑÈ»°4ðOÀߣSÝ%0Á8ÚÔ‘ïäYÛuëû­®éœC¯«y#¸,úä½%O¿BÛ/Ó¢ÛÊr­ú¦xä¸ûµsù Þ5xfîtàÇ!3ííTU›ò©œy#$zYŸ¨Ä;+U{#,mÉ®ißGÁ#ühê÷âYœ’ caØÚ·n)Ÿã÷¯ròöÜA†P8Öl8ÖúBèÞÐÑÕ¬]Îl]LœB À ‚Ë̱QÝñÏŽB‰E!šPlã^Nq1²û¬H´rÂò²”¯L8hÃÆb3{æUØ š˜Æ&ޱû'R”Ag¬`™ÒÇóò·‹I[ù±8âNø£Áf°FŸåšÂ¡ÃúÚ\¨R“g'¥ïyy:µI8ý¶¬Ë/ üê+Ô)­k€¼ð.@I–¬w+*5Áü‡}±ä¢.Î b:: äHz¦o¦¶«ëQ#Á‹\¤v¡9°K¡VÄÆ§8‚$¾×ˆn¤°%¤^À¿H?ô¼%( Êtóå׿¿+!§{°“ÉJÁ²l.ñÀŒÉce±JE(QdøÒ‚A«¶TmkV»*9EUÈqRäzÀ›a}½QÑË$ O0©óòŸZ1W !—ï°ƒRä‘ŧ”¦õ·NÕqûMø‚§ oM¸ -ØþÕˆ$lkFÔᯕHXå)‰ÙŠm «b‡ƒá{ZߥZ1¶Qûº[Û?ÙH_ý …Ä>Ô¾/Ç@õC!PxáxØê!¨ï<Ò²ákÏ-­c„<>+Ÿ ¿ñá´½›<¦—àÅGÿÛ‘XrcVð‰±g´ŸDªX¨s]€Aíëztî¿ZFΪk‡©çaé&éz>gáûB¢j ^_±YbŸ]ˆ+¡¡ápxgÀom¼óãÈs éÖ_༻ÈíWÿ¥ÿN\¤ù7õoVýTǬ°e†‰Ïš®ð‡"¨£Xd5qèŸkX*t ªìß&ã•[&W¡]qœ8 †r/L1÷«²äÖ¼U×uȳœïÍC;¨}r’%f·ªˆÏü»î™Ç¤åÎøqžxåТ6zâÇ| i¼[ã‹ÃÏÞc'ôH“Þ;°V.PÌš–‘ÏÏ6\L÷/+J¼fYç|é e7\ÖÕÎÙò·iÞ 4Èg¸q™ù«Í)ìܦû>—eYY¨;ò^A«‹æßRU”Kxk—%L@È,¥ßnd !nB©Ruýìl^Ù|´Ó_'¦œÄ‚cóFyPû–M. ±Ð?Ê+ŠÍ*V¿¿çuøò±½NëËŽ³¸â“ÙhK Cƒ¡ÙîØB6nÚSݬ½â‹eì·+1]e].ù¾y®,WÞ„–Ñ‚ÿ!Õh°Rz>"œû ðýº_2ùó5]—ùy¦E4Sƒ˜Ä+YDxaÔÌ6µ?çñ0Œ½Äx(ºeEú#“LÔT¤Ôé6;%}̪À¢É¿ ~ 4‘mŽÐ%ð ëÑEX³fšî‹ÿfñ`Or—m×ê–'«ç£zœv~~ÀñN? õ¹õrÖÏc×zžS½z'CýB° *¯+Á^윩X½B½1õ0øçíL™3R7vÞ<–‡‘óóurCÿi¬‰(ìXÐ0N§òˆÜ¹ßÙÝÌLR³ÛŒ.ñ’$*ÆÔ¤¶|ôÆì3_ìtµn¢º0ÑÏr"êSýî«ÖéÒ<ârKçRor#9§xÓÓÅêkÒ9Ü*¨yÕW 7jü†NjXn}/sƒ±ë¡5ú±S øÝ÷ KØr™]tN%NðõÌÑ#€Ë·êêõo”§Aš¼w¢&:OÛŽGEß:B5ŠÚ 2 Eôm?õ[„·lf ¯°®š^Ù«"òöÂé‹bá¿åªvïtFu*YëüÉ9ߊ-«Ü å=Sïp³^µÍÐdk÷éf‘\Ú“rzý0ÅO¨‚ïçSþ«½ÄZûІ‡)Ìã´!éõÃM×ïP@Ÿs.cÁqãgVr|f ­3:‚ïî‘Ðzo}"`¨ÏÕ|^Wt£+iæ–‚ªPýÿgL[!¢Oè&ùˆ¯¯:q2á×îÏs}f¸¼É“&Uƒm%aSP)ò·Í÷NBg¯Å_Üg¹¨ÓßÎûémÄÕž'Â7Iœ$š×ª ‘JÊÕmûõ¶9'‡¶î‰„Ä!-m—ÈbÏ\ë¼ÇqpJ¦h!ƒ¨Oïß#W\¸› -M½íº„©ç ºv@\h –Î 8í<šÌì ßräXr‡b*Õf0`÷È^‰—Ô-aîO9KŠ:·6lD˜ Oj(¶³vª†|~¼¥é©`ÝË)MJÅ®> Øvìâ#²¸Ù7q~ K£„Òª"°ñÕüªüÌ¢ÕR2év1JþŒãËú—ôP0€IŽ u›Pv‹…¼×äçßõ‹xy{£÷ܾÑåLZ›g„ÀÂgaf^JåI1zÕ‹æ>„k æ Ñ„œBÒì`$7=üÛE9,ܰñ•Ë–©/i²'ß‚,À•Aò¿8‘²Iæð*wO(>ˆ¸däüéÙµÔøsg™×¾Å} Bà I œ¬?¿m>L•§8÷c!8¨ôPV˜_LÍÐŽ tú.Å’Þr²գÒ/†êJÓo0“T^KòàDyž —Øô¯›§éd‰ 3Qß ¢&XxéálÍÉLX¹uè‹vçÕi…FaYŽEÔX6ÑK‚ kÏ‘‡ým!§jÑFûEï  —î°YÄÞ9v²üžpÆÆœ/˜ÑSŽ¥×”ìóœV6ÔpÏÌ?D—WÎxé³îà^é ˜áxã^Ùž:tή.·^ÙQ&¢©ãV£/‚oÖMˆbÈëH©‡qϪIK|o¯Eg XÐׯÛòBš©Ô­J÷ïï_ˆ6#!t˜†ZMPãsŽ®#Ì‹ì}‚„»°käÜ)e¢±W;o„D˜l ff¹3µ©b nq-£'ˆçßÿel`bloÉ©EÁUTkùc>Œ”Eu&*0Ÿc÷¤x÷ÁDà« ïÝ\$ ‹å¼Zç@•¢ÒƦü³o7cdTqtز”±ÎŽ(ÛóŠh‹*¼NÊÀ|ÒÙ¸Î/‡Ð¼âH騗áã ¬€{¼0§Ðwn—Þ`X|Õ¼|þ?7féÝ2î§Û,Fd¯Fñ,ÉŸPíEƒŸéo½¨i1J``ÇÍ % D¡81‡Öäìa¹D¿:ݦ:ÿS—p%mϽ Âmgû|õ‚©Ç)½Ï«ì†wŸóX£z.PУç¿G‰Ú°¿ìwÓÜ¢„ÔõMûTÂeGŠÉ>怚D†ü&‡è÷«ìþ\Î¥9‘‹*´1*kÃ!шÅ@Ý+ísåä ðF]¼iÂ?Ãyõ‰É#Œ«ÇÇý´šAˆÎ¥‰û»Z3ä:Á_zNBË;]œ?³aÖÖÛêÆJ°lO&áúŽ»Ÿ5ˆ ѵñAn3»l~)4¿LŒî¾âü[eLr+í¡Ó(!¼QŠçQQ€R’寀mﻦ¨;¾ôµ É—&[†òìÁ¼z!åUêˆ(LhÕ¯0¢ÐöT‘í·¯—ÿHS u!<&ø–!7ÃÞï'Xúw]vŽ’/° „çsd`9Ãzû[Ã×Ķ8«ËÅ鋦ùé¬v4¹qFº3fQJ€ëî\ópïxé•FÏ@p DòëkÔ<^ax¹nííhþþaÖ\ô—í¿OÆ`gè_W;'øÍx9Áˆ]Ýùà  ƒ…ûzýV,cº÷/†VIƒ$ù×~ŽÓi nþضYo[NVtE*àþ?ÛUp{ñ. \ßuè…‡ôlìÀ8/ ¯$ŽL©* íïÛÞzÃ6÷ì³jQÍ2È”¸V‡º!ú™¦g9轄øKê#bޱ&áZ¼$$ßToöå·Lé€Ó!i{–­Âåñ4i°V+‰Íàšžt…¾K?fó<*Õà8 ÁHÊÉ\mÙ[2®¶xuß}6§í XòöÇ‘r||Â/€qO»à8cjVQ>´x1C<èÚvÄõ1¿ˆÞËÞ k]¢'½‹~B¯I+ÒªÞ}ɽ» ìséókwûÊ™IHífý3Á·ŠéÎP«¿H·7C$³±œîê]ä¢ã JGÕÄ>:]Ö}/õÊø×4¾¨^“sßå)Sìú›ÆèÝ1h›1ÑB Û‰÷óçæ}Ç1äk)'o¥a&%LßFÙu×ëjáJß×Áãñú¡øíË,—¿WÕûJÎ_.z(`ÍØ 8—åð’­oôœŽä·åÅÍ~PŸ8ì_š¥¼:é1a¡Sì~ÀÙþÄ$Tëwb±@â5ùkà¦Ô ØŞ펋`Ê›cmƒòÀ.„‡iMT›š _m AûqºM7&¹³ö¬ÍpF¬ihy]?†5- vªnW‹]U uÊáÜ‚ÈÃaÙ F[ébïü3“Ç•ˆÈ­_ Ù¡ P‘Ó¦Äy tTm ×âE½ÙA³ýÑ1¯#6¦é'Ý…³:’Î/æ¼Ú],å•¥RZ\B–¬Ÿj4êXi®#ÒË_¾û`øÐHŸîèòLÀj½äJ¼¥&ò[sþC8ÃÜ6‰,bWüMÞõž¾ÏH©”GU9›0·´-bnŽ¿ÑGF<g:m(^Ñi¨ËNG ¨³pñnv!𢹒֨l_å>¥”+Ý݉\|6«—‰Õ‰rð¹LA.¸Ulïg.;ü35¸ "”.êõ0ÀÔ)«²Êt8%#0ð°KF/mˆ_Zœ-*ÝNçýMÍÍö\€dèÖôú£ŽMÆÄŽe¾e¨qØÌk%•ƒ,Àûºus˜©C¶X‘Qê3—~\aHÓé¦Tƒ2ÕkP`qIê Þ¡§=ö4¬úROô06Ý%°(Ÿºql˜É¥sAÐuU*¡R•ÁÞ§ïêT$pvþø‰êá+ Q°Y‰NOç÷óµîþCûë‚›°öïï‹=–SÓäÇTº“7«¥"§·ÆZêg]𛋩éç)]Mø0 лݯWth~5´jb@R´§H¡óåi ²h©þ™ŽYé›Ý &¤Vu[倾<-ÃyŦ@ËÜÏÉÌ(ÔÍ2YãÒü¾7/î…¡¬‘•öÞ\%A7æAã }þ޵"G ’AxZ[“ÑÂ]|˜qWÝ-½¤%½t·'²OXL&ˆE·¨⢯ÑEš`ÍZ>Õ$J¿ÛWø.ÆIÏSí •zdúÔr »À0na&X¨3Noã÷.Mô”´° ÊÀ@oÇ×ÓauÒXѵˆpG4{Ä2U€ÏèyÀÊÖKO_?Ýx†ÇméåÁZfIRçœ2ºÈÔx¶žÒ¨¿!e³þàÕ'ËZ:ØjÀáÔ=-¾fPs m„Y&L¥æw+ lÌx¸NQ —ÞÐpëÏ7¥‡â-CÄW[z\ç 4‹N_4ï%Iß²pˆB 'Š]¡ öÕút(œøX^‚;~P¾û¦+u~,ÉDå®×uïúšs¶õÉuá=çÝG?•lŽi7òVK8Ù«*‹bLÅgk±ÑYû?&ATô0°Ä)_7öló­C%Í+H"~"=§1HxL ‘¸ê†HêÜçÚά×àGô°F ïòa6<Ü×BçCb_îÉÅ~šk6Á?T¤”Aå7¤ ƒi»ñv¶9 ¿Ò…÷ø*pV7*b{* Ï5Z‘õ2*÷«¹PI€dR䕎Iûœ¿§Æú®à÷_A¿Éè6ü»u¹NÏ1UÏÂÄ 4°8ÙX‘^ïìRˆ1“¡ßÊq£½°BõÄ”¦bd0ƒ3ÿç!Žïäƒo |8–æÞñ<:ùî9²ÌüŠî¯•a‡Cª•±?µ_Ï šûä¢×áÑ''—¸ýft£þõôÏuG±Ž0º…œ”BN+ ˆÏI .Íúرˆ éX†þ|±ƒÔ::–{d-_4ý¿V4GD5"è/nàôzï‡ÚL²hШ?âŒñ3.ïÃN®ƒóÔJ¬¿wP|ä&ca÷1'þ·`ùãb¿¾þ,ä¢e ×B˜é3¦NÊÇ4äðˆC`\Ñ®1@,y%gâܦ Í„mÊjžÎÏ¢õï¢|t蹂†DW8ר¾PîéR˜¢6Z£Ïy+Uò²¹]­ :L^#‡ wج.˜“^p$|–“jŒ8­¼òm£<è8ç‘Î;}pz£­•þ¬ûNs'üÁÆb;܇7ÌÂm@Ž>yômIŠÙl§½Œë¡Á¤Ù{@íY<[¤Ì&óý€H ĆÙ};"g 1ÙïiN6nH'¨¿äoVr` ®JÚÐÚúœUK¿µg3) °S®ˆÝ…|pñœ´Ég™€]ZýSkZ‘G S`(ƈø3ƒŽ2ñÁ…dõõ`G̲ÓÑP×›ë™ê#DœbÝcÉЋ˜ %§N‚1Ò›XzÕ,Ü~míÈh¯áAý— -’aëE`ÒÉñý sfÅ'Rœõžj„VRŒÖ7`3_§ ³´ªùa½Å\M„¾pÇšFÅì¼øææ¶83˜÷ÈX¿–ŠÊ›#éîÑ2* Ú&Ô×å¹Ó…'…¯dÔ7°½M‰U ’· p·%¸íÀYßAåèÒ€ÀfÉür¨Ð)ÝŬØÒyÇd,iúnœ] o~ÝÑs8¢!Àxë‹•[±pšŸ´#£Å[_Àc54ðC_½¹EXoª#KxÎqS˜¤¤,úh£Þ/âª2N¸žYf‡ŸjÕçB˜i´Ë½ø™ ±ç•W¤BQ|h÷±Ä" TaK ã¡·Áó™„S)€<@\ªdÐè/‹áT–é¿9Jäû( ìb$¢mÆÕØ+RØæÞ¬4Ÿ6Tp¤Å®rÒ2Ô‹üI}Uãáï¸ÔÿÊPbƒã 2¥·Ùº¡ÖT²kd‰— D)È^Ã/4Á¿öNÕIðipIqˆÿMîÉšåàX´í¥H:¶$,!gù¼XfùJ’¸ v¡Ä„2âó_QÙ-$†¸ž/V5ݨ=}ºyÙÜábùÞ§xƒè—1…¦Ä‡-²µp…“Äè§¹'©ÿИ¯Jn·§‡:"°!(uû¯Ð¹ftìVç•àcáLP'*Í›pÉØsd †›Ûˆƒ—²òè„+¢Xv#ßÛ<·v=¸ÂW4î¤ø'‹ƒúóŸëªÛø—ì9Ê;‹åx(Ñ”þ5'[_¸V,¦8nÆÂÌýNõMS‡TóÍ ÞFjØCÄ¿T]’Šv ÊàÅÐ’’B³cë ÊQêê>Ê_éžPë`Y¨'šT:S ¸SIÎàE¸éÈ#êÔñÙ^iÕZCëQÙç°VKŽý%ó¤ªUî|Rº¿ÛÇ€’Òr´ìŽø[V,žG«4í9Wv¦¶\þ q”’j\ñèß%ö±µä$Å %kYÆiifAÀuÐŒXŒ®äåV]b0fôÉ™ÆAYÖ h¤3†£«ô[﵉ÊDŠ¡÷ÔÌðq§`1Ÿdk*¡ß«ÞÜ­Sëi1½ZQå™ N#`2ûµXŽW‘Ö {ìaÝtµp/VZB(kÙ:sn…NQ÷vQý¡û‡>«¨YÚù.ü$Ë;ÌaíÊ vV¬‘ÛpOÛ]>)IµÎ—Ò…+ø¨‹{n¡0GGTÇíŽÈä±É\C}#›”iU•²žPiø&áK!äÇß šRÌtI»ÿÚÊ,ÞC]€‹áÅq˜‹bfH,¬ú\M%[+¬lwpà­C¯1!È©"ÍÜÔÓQñMç¥þàÍt˜&ºËª&‘aE#p€Žue„—jÏo@Cl‚y-§ÀS>ÚÚÂ| |tþ9ñµXƒ¶©“b%iô9ŽþüÄ‚¶™¶«ŒеÀ 讘©‚]¤©º"»?©bEŸÏžGz’¨áÍ´éÒîôûfX֤РêOC>ÑŒzkßÝw{§;{¼õ£JÖšÿù3’Ó«ŽŠR9w=v¿5u"œk rÇ@U¯AŒ /uظ€¹›¢¤$ɰKg|­vÌè8XË:ŠDÓËGqh¶î òÿoòxX2‰4‹íˆú ®è¨q¿§ž½ˆzF G¬2 ߈L0/*ƹë¯{àµ3˜¾„FÆ<üt}\‹>4¦È°9¯°„ad='P¶ž9…•¼¿Íò=Œ)ä'·zz×$¼c”Ì&‹,ãáz D³Õs«˜¼“ÝeÏ‹ß|t‚mE,á”-Äû|Ñ‰å §()“Í¢³ ºà‚jÝÑN:I'Á- Ezðô ffn & í\È?-6~7Ç&Ø?»‘P¿3z 8ê̿î7ÛN‹¡#+„Zy©ì‰ zÛ(rs™?¢ÝÆï¬‹]˜ÿ¥¡i˜¨ü`W?תÝí`´C~â^­0b…¡N(Pòh&;£Þ`P Ö¶¯##Ý( K±› ä4àCDìêÈ)TNHhzˆ@÷ËcQó¢žëO¬û>ô­i„×À¶ ˵-ìÃEæÁ2Õ“^AÂ[B”pSäBÝé‘ν6lŠQìæ£tð;óoÈô­…µ7@ººØ/÷)6üÓG¦Òtø•EÃŠí´øl$6rÏÍB` Îg¸uñ,šµgtx¸Ö-SnPOoÏ[ÔB0ÿIÙN œÚü,(2mÀuA£¥ä‡/«â*P«B·G/ »2+¸ÚòòØðnL2pœŽfýÛ<kØyžÞSU7úù‚£é”ˆ2®4½©’j×ñæàFT¯9{¨ñZÔÿ/¡¿[]ørÕ i¶ÿ…ï]¯'31Õ^OôEa‘Ot£šopÙßF(è+’7Û+µÛôuƒÅýWÓK€2ë¬ú+óS‹½=Fñškt”\.ökcƒ°ù#ö Œ&D£/Qô}Ëç·¹m."qjf²¶»ÊVÞdì<#’ÁuFmuôµ,/·ò7ÿ¬¾â´Ygä[š/ÙÛYíUõîôb·3`†XèE"¸_ƒöõThh˜†Waž†ï=ê + >äø¦2à,â5$.ù¸«*÷йø¾‚H,g­…BMyð*fEá 3òÍÕ_ж¸Ãõ &Ï +Š.oOÍ;{dzÓËmÁ¤SÅd«ïRL”ÒVГðLÏLŸÆF3vtâ¡ÎNës ègq¨!¬zNËÀ n‹å¡XUg•KMßO©Ìê4Ñ· Ûd8q:šT ²lk§GÊØtxPw>?5ÉØ? ¶( †þ…6o°ñšÇÃ(`>´ofo”{Ëù÷26?]åhŸéH¾ÆJ‚ïÁDahcéýùqŒ^4 Xƒ=c²ªº€õܵÍù eÆã@ãÿ¡vÅW誃ñ€£J)îž r³læA6†š E‚ÑqA¬Ú²¿'¢jŒCtSØöéX0êÚ³GеNÎÀ™qŸVîxäæÜÍV ¶óì0B»éïþ=?Žä Ĭ¬Öõ˜çM÷Dïx³ÜÒ‰h›º6ãÅ…5óÒ¼]6îÿ ož ¥É. ÕU´ßéÜXgÀõ´µÙ@¬NÒfbxêqIü«¡ãå[ „]¤@Y­r£ª‹€—23xà-¡!w¼¥ƒ1ª—ýú‚\\GH €Û¡K²,wbi=¬§ª-ghF=¶eÊ„òU´E–QœÔ­³(LƒIZMrù{UÂ#ʾ5Å ÆC|SÞ§\Kb-®nsjÈ’‰£R&Ä8žÈ4 k›_†£œjoA SEÇ<¹!N÷jóýȇ©)qFÊ%‘-.‹}x ´\[ÃÏÔWÝPZêý$`P€-±¾!‰¦ìÊ&…³!~²o ‹oÀ¾4a',r­k¤t›|o/ò|Xy,ì&^ªŒ>óEë&. â‹L‡ó²¾üŒy=æh•¬é6ï%&‚•5±v(êS%cչо†TDï>Ø1¤«–6zù-iÍÞÛïäç–¿æ²À!ÈÞ~°U„osf*J`˜ëú¿ÚDYDoÆÏ˜ª.Ð,…dg6èç$G) {òMº טbYlö4íR“*…‚^ÓÇh0€é¡ƒ@IÕÐ/qtBÄ“I.¹ö Û\º.ŽÜáîg×›ˆ0Ô0Óå$¶ø'A~ϸÎêÚ6ƒ7t.oáŠö»¦c˜®uªv·ŠIòº%ñ'®ÞÃd-&O”Y÷è‡7Ê6•µê1h7ö‚Æ04{ø&U![m€ggO°A•ì‚ÒãEj5Vü® Àâ`üµæzÇÖ|ùeºù¥ó\ǘyŽw™!·º°ösg:¥·ÞÒANþU Ã=´Ì[Ó¬¬áAI²&Eÿ_y§>p o ¾øŽí`xt¾®hçH·:6œCmŠ²Ú  MØùËã.›:l·5 [°¬¶'6‡ «ÎBÎ8åÚ=¹yÝ)Ÿ;ñ$‰tÙ¼¶bl“'gXªEráÌ G‚Tíéúg<«¼°g§10Ý÷Ô<7!ZT§©–4øVŽ„‹¯=#óÍÁæäj‘Ë®rô]­#2C>nŸ@›Xm‚Ñ„ÉÌwH‹Ê̪¸½vëµBûc?çú¶L«Ä7N"šX&ŠC]ì9©/o§‡Þ‹³~ñ'EÌ}†ö1*ï#ÛÖЏG· |ƒ‹¯‚ýœ,¦ýI6ï'â`*G’ ÙFe¤*…ÊM­V’ÂXÿ„(¡ ¯†¤]Çn¿îÅ%ĤÎS8Cís]6 º×Þ'æstPâkCYŠiá§HYQŸŽ œ–oû( ÒzöP"¸×—#¶ZÏγÿd>†b¢ŒR"¹£¤CÄ1œ,Ÿö…ài‘Z C BÙ.ßæÍüĪ‘Ò{œ×[ÈV²Œ•£ã¡Îxœ:½_"eh¦¼Õncð“a%W`§üD9_Q"=[Z£…ÔX „„¬¹¹íÔű®¥1vtЋªš¸´€Àj›×ÍJ½ô‹û& g×:#Ër3»Ç#7ƒÍ(„¥]œä ÐhvxD‘Žº¥¾p6lKèÒFëçúájaë)Ÿ ¡G<Ì Ýq=>Nå•’É[Kôëãi¨I“~`ò¦æNFíþÀÙ:¬wËWþøöê†.I2[b³Ák7eù+|kÍXïXNõÎüa :2J™ãúH‚,1{¹®ê;œnj‰ûÒjÄ­*ý¿ÉDãßœè·Ùƒdï„§¦ªu1ÛzûÃ(›ôî¾­´/&ì6IòØ3¾ˆü3>ØV%UàÄø±:ËÔ~ï+ÝwG °ÚÒ3ÙÌ;Õ!.L,©ðXtf®¦°¸YmÖ¦ßaP!D/ºGŠmjL8Š»YÀÁË1ó­Ñ0 è aª ¡å‚BꙦ$ºÁÇ ‚J*Òþ“æñè Ó$ØU_·ò’`ÖoáѼw¯ÇÔ™Gô„/r›‰ [WÑPä‚àxûž#›…¼Ý]æÑJòN.@ñ òÍ·å±Â³h®ð]´r›%ñ_\œGÆw.SIe÷…XÓ0nîÙ©m Ë'+y¾hhŒ{'aW½qœ Jœ³„“o, hß7öÒ]K/¥Jz i\İ‹í?…‡m¿©Pö‰/—‡àpJ¤àa’ˆ¦ìaåwÌ]ßÅ-ØHIÑHV[\y~5cáÆCK½2Ýp¡¾.Y„~’ò.w®ëóô šFfÙ¢hH”<$z àö»£yÚÄgAÅKŠñ«|Ú6ÒÝjœ; ~<´XÓ͉×bR<‡é7‡LÓ[˜ä“Õ±e…^+-ü`£Óþº¹fþ²Kÿ2u#s :&°Ny£p -daÙªe«å‘”U¢Rl(*É6Qs Õo‚jö1æ!V qe4W¦åõ˜¬oe8å »Ã±ë5¹‘Ð}n,Xï]k•±Nh ’Ï mã#ªºÆÒC,lKò½Æ¥á‘ÆÈ¡Ì,*Ô2¥s\üõ|r;nÜϘlUBZ…5ûÏúDm¿c†´¬ØhÙ‰èÆD€~â jH§Cþ×¹ lÿ@»U%ç’˜³¢Tl˜YÞ¬Bjaõ¯¹“uôs˜Þ׋¤àxbç¬ ßæÏâP£D~õ—ůPÕqùµ¼xPÐö¨†¹‹&tè]ò«Øñž÷xñæÏ'RÛòüÄIñ^38à+÷ÕÍ0SÏÕÀXS+‹ó4èý<É 1úÉ:>7Mª’¸ô ëd|0šéA©sª«ï=fA^æO³µGAy\˹}ªª+?û¶ŽÆG“Ψó6ãç£ÞTzð¦‡1[¢¹˜5 Tï¿êIúœeeʘ·“J¼Ñ“øÂ–¾b“PþcÂEÊr·-2ØÂ@®ÞAÂÍb8µOtý^HŸò\¶vöDбÓÔGDš!ÓJäé'ƒqèâx ‹¨ [w*³ieÀ\ï 9§QYЃ¾Sq…àÌp‚˜g`:ÝKñŸ…ÒQA*¯±¡ü‰pûàÔª®C¥C3{ ð"ØŒ6oÛ?¬_WÂì¦6/¯ôÄyÕ¿‘ý®Â)ùDf]÷ {$KWé½ò#~GåÏü ÁdÜPî äÔŠbÃ_ôZ]®pþ5:jáO9®ËÌâЛjþ껣öGÃcjPf#›ôภŽÂš|šLÖ†¹zÈÁ6̉p[²ÿÆÜNbšé•WÙL _ªÉ»¬ô)=øÒ„âAÏ–-Q«1d„è‹S~ð+¡’ÆÐêEkØã×+_œVÈLNŠj¡U™N‡VÀ3$¡ kœ9ÿcon:T—XúJîAÍ@lþ ´¸Ú¢‡uÿKÁ0M â(Èh›Û9Û‹ʽQèÀß²°ì:—ýù{ɳŠpú ¤^ñ²Ö¹ìÜ’nÔÓ^ZY þ­0Uë“«ã¦ðpë!ëß=«p?îèCŽ&P‹,ˆ{¡D¶ÚÐÕ¾¨ýä¤ôV V×¢>{_ÄOˆX#H ýqA²8Þx 8£ŸÊûáÒ ýwÉUÈq ìiöé }Oty¯ƒI² S CV<Ùja¥Rª7ÐTÛ/~ŽeóQ Óö´ÊRcãßy1. é4Šóƒ°ùP”Ýá,Š,Àƒ3&n~ÓÛ1uË/5¿ââÁKÁ'*ó*^ÀÅÚÂÞ I<Œ€NÔúÆË?LOæÄ” ̇>·EÀ Û>®å$nÇ —¸·’åêxÞBŒÂqý¡àôL!…<…O×_úFíºj‚€år…o ¸yêúŒÿêR ô·¢úeëPáŽÉ:fe0(‹˜À|¨4'¼ú?â“ ÓO[>žoÙÐßÌÃg•¯ Ì3´‘àVp~£Sûí>Ê8égÉ™9âPJàa]TP†g¥_6Ús›¥ã ¯‡ÛFZø¨]¨(*5®_“µ|ƒsIõÇT74ÍIà¯Dß~è<‰Þ? ¶ª½›-¢€)Œẋ_©+¸½9¥©žmQ½ÚáY/ŠA±"K“;fÄ¡4Ïfíï±V-øÉ3ŠZÍ) ÁÁëH^Kufío‡‡>èø‹˜7Öe•øºäiOðŽÊ"F$"G¯›LΡº¨{Ï÷ÖÀыؘ{€ÉNµSÿ`¾(Üz2®¸ª“„é|اóý8”mÝÚ&&ãNfYoƒâ¬\&Â(b PÈTÏSºh{®W!€nî»3ä¡]¼S¿s¢tzRkö ”ªí/8ÏS2œóPMo}…jÙþ;ÙW8[AaûY‘îžhËmQŸ¾!ýX'†qꛪô#Å5¾ì/tè2/ ²Òs}–E!ß l=st•Y$Ÿ›¬ËÍ=„“§s,´ªÜ3}Qö ¼C…o~Ia„MtVo¹\ëƒïqwûºLä"LÉîwM –Üîù|ò!*·s_ñˆº¦µgx¨‡¤Z[q©„7ħØH´*Üx¥TïÀ­„½eK•Ç|,xbýtk3Èæˆ"ï4\4L7ØrŽn#Ö¶‚fl#瑹R1zþv¤“Hƒ`Zf]ÎN&Ê'ÆÊQð fÚ§ce>®ü =Žð¼—Ä W«©-vÆð¬90'²£g ¬b¦Qû‰P-üÄš·*•! ^¯XŠÊ ®Æ(mÆÙ_ °Å&û—ð:óYr3SòSÙ²•O„7ÁÃQ6)åšk‘ôsx“Žp«Gç]5/¬cBÜV’OÞ‹»PÇÚUuû¢7¸ØV d"3¨+0)É^I’Äéœx«{üN|7ƒm=imZ®»éÕNZR$“ø‹°1=_ºaV¿1‘…t`Ôh~?V†œa€ÈÃ…¤"M¤$0™ÝGŒ:Yy–Ê**¼š…ÜcDà³¥7ÍÞ&”9!¼}™G–œ¾ýU´*zrˆë¼ûzª1©—uù¦‘JÀ}ïÅÇ~%Èñ&¦µÆ;ÑÚTRù¥Å1f“àÊÔ+jØYëQ™|Þß|¬wS=IFƒr}n!™ùS%‘?YVªLOÌž÷èÝ 0›¡öÔtíÆ/ø%-ÂÎ!+ ÆÅŠÜh*¬ÉÅ–8¸sܤK È{kÃD;*IhΖqHzü…éGÔ<ã“>ê^’wAná\j )”æ(†•Rº¹Á¦›d­ðãl¨ÖlÕQGò¸a•„ek6Ø¡Y@ZtÍ ^æ=±"Àý,ôP $t ÕfiS‡¯>ôÅêØ€IŠh¬—óŠZF¸fß?ÊÍqL•¿{šÍ§gkL@9&sú#w×äÉõ¡ü,;^ñ§ Q šjRõñÏŸàp›Ï͵Ëì•þ ͰY™{‹WÏ—KÑ|ýŽþ J×dy¬±A^sØÞzŽø:þ[ÑYõæ¿ÆÏ‰u†y7Js‹lSˆ03>#M“.•\m:´†ü»ç÷‚Mþµe2jÖ]ZŠ —¢#”*ÔNœÔ~ufëÓ™-ƒÄã¹µy?4œèµaõDçÙ²ê³xÊ7f¦Üi©‡x‹ºÓ>Õ’õf;„j'¯Ákþ(<^*ws“G{ p|“—+ðæu‹e‡Zó¢H‘Ù}ô¯Àc! û ³žëôçjh«C1uw|WIyý{Nt®(_-uÚ¢œ€—dâm Ö‘˜…üßÎ;X6¥¹ªOâdŠ@ÀÝ¿o¼NžÁæ3üqZ ø½…Hrè‹â‡;ü£|Ê|kÞÚ€]®ÎþSgt!Ò´‚½@¼!ðX°e–®bDÍÄŸp“ŸðÄ—‘¸·ü:KjîiMÆ÷H÷sh£ÝË;9øÂÍζ™ ¬=Öjãm§@f\ÝâF+Ù*bkÁ §˜DþSúÛ×Q›ýººà»½ Û¤ P’ ³~<ÂdüvJ–-î Ùñó9ûF˜,c¹8C–±ZÄꛕï²eÏ&/eÐ|dçj­p( âI]2ªj¯ßóXqÕ¸ÿüŽýË/˜ˆ E Þá_ƒŒÿÀUìòhæ©#‡ qy.½Èn4r#8ðTc:$•^Vâ\úâ1%æH91>¤™«½S QÇíb‚–dÙ_ ?HvÄUÿ&ÒÉK¿ÖSþÈE¨ÓMúæ@IlžGðÿ3<^`þ•òÜîÿˆ°–eþ¦®™{XûÝrqT‘$:JÜktáýÚ¦âáFMžœZ,Q:¯Ô¯Ã>×^7 Æß«³çƒ&ɰ5õ18)êÿ†ÅÛ'éP'}J«ìâ>‹SÔ¹ÉSþ%¿a%Ö¢á+Ž¿ÈMãlަ+›ÇÀôŸòVy` »áÙÜ©—š4ö—ç°ëÃKV£°•Ö|L±lS% ÐK´*w`#ݨ·/ã>êSšÁÂÚ(»Ü%&ÈæŒ±À2œOmçßøW b㫃*£°ñ]z¬÷zJʃÒɇ¼á –¨£¨ùÿi¼¦?¦äŒµŸBw›è0ÙY3{Æ0¼¸â—¦xÓy‚‰¾ƒÈz¨¨²{¼&0è»ÚTyv_¾\úq°óŸ4´_]Êuª¢F¢»M ߪڪØô“¹Ç AµÐú»(—¼ê^ÆFŸ)NW7ðà +“¨aò ˆª:ÖöEiÎOÀÉ×i¡Ê×2ÑË(Ômbžn¯ñ-XN1G9?AÊù¶êd’°Ê@PZIÏÆ½Ú”%õ»Û``oo]¬?ü†BVÓ×× Þ…"Ê7® ) ½)ØÆ õAN¬¨yßMf/Áîriª½Îîɼ÷› KœÂ³^cDZ×¶÷ßêf'a|”DFw|ܘËA‹Uî»ꈦ]ä»Ë&õŒ1¦S«aîbZ‡HMô›2Ìð¤=Ô¡Sä&"–¼;7öí÷…J7—+ÞMMÔÀ÷¡¦ñ|È YL‚cZŠc¯#›l G¡×À‘ñÍqë‹“mÁ])•dš‘Ô½ø iwËL”:n,EiIcL/EÀÒiF–À\½*k?€chX6rß ÁC å–3HÌ¡÷e jŽ: Б†“–’Ï´Ó£+”»ÄfiËÞ&ýµ°`2FÈ=u“\•BéÔÚ›‘XçZA¼gÃ!›þCä†õÎàšý,¸ílÑ|€æub6Ÿ‡~¶ó°|0UÇ—[B¦+Tˆ“$,6ÙpÓ+]Ñì7ˆÇ”Þ¹5Q<­¥k³‘r6Á·ËwÃ0±ÞÛC_1¿xîzeÚcRN[gúµIiB,š+‚(ÿÿ׈…|¥½œ#uÝ!f˜ŸÙŠLÜØÜž°n?3 ìwᆴ y‰\o¿uÔqTj‚©*è’Ä*=¡è়¢?MV+›)„uiq—F‰ ÈÒk§þÂÀ˜öæëÉ ô­xEÕBÐ,Ö+¼ÕÓcÉ ÏãØ¬c&& EM=âD—2Ѿ…{¿&[ÞEçÚú®ëJáÇÁ?ÆA²]¾ÀLŠÑŸ¥ƒíN˜„$Ž–rµ·».òJ«¡øD'ÆÿsJµžKlCœÕþ ÛPm÷ê½ò¯öºžêuù0mY_6xØ¿5úÞfüùªó~1z­vn†„‚|Ní4‚í·&Ûi¶¼ù<ïÒÛ_UƒÚoEŸPŽHbcÔBIî؃K’ÆjŠ- Ãcàó`È­ï#KÁU¬ÓQuüÆ \“^5GAÃG¹}˜Üz¶œýqÑ‹idWð©Þtüðä/¥x&ÐüQMÄXÏÑfxŒm¤§^ëˆX‡˜}qìÜư Z±(ŽÔoÿÄ.Ý-“‚ÿÔ߯·J^å7|QŒõó¨ âº%ƒnxͶù¨@RDô¹’ı‚µigKº ò%pÄg ®ü—¡áã«©Ô%~é•.Z”òÏ8Ò¸ªÞïy LHµðÁj©ï‰åÛšiB ý® °n vnгcnº ê«Kœ…ž£_R]-uÓ½0a‘ãn¢6íIó‡d$uë+JA8p!,ª½ÔÍim·ÁèÝðê'XÛ#Ó°Õjj‡salb‹î×úC_9±½gù?eR¬Œ²tC(ÆïR˜7¥öÝ<0VVb¼,z@upl*1¥E´ÓnDâs1>T¤Œa'†GÉÉöÇ`š3dMÑïq k;Îj¸øÞŠáLœ–c}×}ÿ[åVÄäøŒ9 g“ۃ拷eE= SìùTÞã0]l]Ü÷?ŒææjkÓD"+ ÷•Ï2l‘¢YÛì V´ìùx¨£ÀXvÒè*|19}ËQò3I'Ðwá|e—L5+PG9?Ÿ&ÁïœØxDœ6w#¤_B¹í5:ëü¯Ü”¡»tçi=–ô£æ£´®YP”>•Wê(Aõ”Ñh¾AzºñZ-ê:m˜ÚH­6ÎɘÜbB-×g¦¾Ij ­ K•ÖÙ©°„¤¹áœû˜G Kân'=Çm1§>¬`ÀßH<Šd³6mdÓc ëïúJ T%Ò%~Uk®Ý]ÑøfðèžE¤Êl3f0AäØj$ncæ4b BtfÓ éV`âx«À Η¤tËÙ}÷“jté¨ìúVf_èMWÃûò`ÛÈF ­>”Ž T¯'·„<Ý1vI%”øÝaÈdÑ ± y‡WÓïôD{*©ŸS»3Ù¥ŒÆ¯}N%V#lì;\N¦žï¥·Sij÷çoû„Ü…åÇÚÅ{×Uþd‘ziÖKÎÌ¤Ú ›È„SM˜B¨Ðâ œŽò½bñvzbþPV«ÚñeóY:Á`^d‰Ž´ùLF¯'\Bfe—µý‹ Æœ%¸{¡ðuÙh,F`ʪ”\Á»`„ëá[SÚx£ÃÛ” .ÃôlQ,‡VÿŸ„$¸Ôè¢Y̵٘­1Ñéë–‘8ôn*ÿ-e©ìX×üL>`{=ü>%ÐF®±‹bUc8 øv,ž;Íó=íÌ?ø‘œíYö0G¾2`ÉÐE­“œ„58mž[ùª~>M_8| ë5žP;Žƹƒ®õÅ{"“.Ý|ÞV&‡mNËëØKDi/÷8³õTæe“½S·‚ñÅþ/]I:SlÄRšQ¬Ë,É_‡wâáa=ÝþjÞìu¸2γ†`û ×"³ìlÙHy F< hq°ÎO·í*s× Ñ:EÑb írB=œÖê¨]0SZg9»:Ñ <®¸&ijN–D[cÕ¦4/[KcìA†çbÉeõÌîôÀ^„|ÝëA/Œ´îÌã®1 H0OŒm¶ððì=ÉÊ$Øí¾¬H2¿túC_Њyð¼ aQ`K†÷è¡êd_ÏÏj$f¹3>¬Ï_fk~[pÏ‘ÃÃÖÞo-`:ci\•àÑÃ^Æ®¹”聾ëÁ¤Õ7Öf Å>>I¼õèp©h4Hö~¥ba¶Ôðæ¡]ÿàW®£cbû\3ǾT ª?vN:g'HŒ¸~1Ë·­©!ƒíÔøµ~¬žgeÐÓåM¿0ˆ „Ä w®¿©@òc´Ÿ››E4tìxwxyX«h5Uµå ƒ(º˜\bmFgi•y‹¿ÍgÒÍa•lEQæK$ë˜}46mö"œGì\ÂM'#„¡.·­5&>ßÄyœŸ(Xº¥Dò¥'Í£2MoÊâT"R”ü–t 7Ç%²3É=~:<ù8Û¾ÔÒÒÌxló`ÆâæK[fn_)Æ\䤂©Äé8,êŒ.é; 1ÖËI M¥‚8X.·å”ë©U½‰_G–£²SqåѾ)98^c™Ü„™|åš!R…ó9uÕþ [!1%öÕAÖ)ÝD²W&*(yKÓ0s$å6æëù™DQñ»{´X‹%ýmùËÚ˜þÄäÎݤ›¥÷+vªa»Ì;æÎTï?U–àc`™<êY“C°þüúÿx¥‰…ÁÒ­Ës¸ËPà)ˆÜHx&§bÿj®ë/?izZÌGœOýíLÄ9ÑÅ×û F@ë g"µÜ«f·r"^²¢Ò6bVùCÑÉ uxá†Zžû4¹ÛÌøŸ–z†uþ#*ùÄѯHt´ìŸïzg‰Η.ŠiE½«>Æ!ÚÆ>´8È'÷÷I'TÙ{$ç[¶Gy‘ ùɯ˜FÍ’tLÑþza†ú>nZæÜ…§m…m¦9ZV¸ Ø¿µÃö€sw>p3Ä«9S0 Í +âÈ=ųýM¦Õ ÕÞÁÿ­âò—¶>&›ÅJûL 3-¸ÝÒù¥97°Nr±Ö*ÅÆm÷ù~o©C™½˜<¢#âzòz+X€´ (6-à›Ú”¸HýoŒ~àû¾"_¨äê2ö.‰ÛŒkWÖúüA*!”‰ËOBT¼Q £ôÿ:ʹݶöƒöUÙñgý‰,+œ¼u×r>W|­¾¨~›+FŠM›8Ëk*P¢o(‰A º]ð–FF-×Ú%Àñ§µ×ĵýÅ÷ÙCN'yI/Û·Vr¡¡·$ Ëìð!¯Öc$À^ÏÇÍnYbê³.”))`¼L(U&Šacªgá­{hMô+è^ØÉ´·•9aéÞ+‹î̃ÝXj|ï¿qT—†/"mVÀ4øÕ#Rã…ÛCbœù<ñ`õ? \ i½˜ rŒ©Žm—%Ç©‡Ò˜û )ñœTÁMÍ´vx2Ø­t»þ­Ë °m2?x~Àd«ìþ÷öÇ-3!êdÀè,ãC¸S5eת™XËnØ7|÷èŸgb•Kßî¥%¿+Nx¸gÏ »Ýò 5’KÕÔE)Å+}˜ðÒçÃ}¶kQ5ɺ¬¦ ž¯Þ쇣êf¢ªHÁ0ü^—)ŒMÅŒ˜µù–8AÕÓÜ5³<߃O Úšå5‘=v«´á ñ­t)4·Oê$sвäE`¤¿ÓHgòÜP8íö , Êßö²VððÉÂ%„-³Äòuæá÷—G®t$Ò„’8ÂxO¦áÀ9î"Œ%Ø‹œB§…¢±A›ßa|8®{×zt¥ØÇÏDãm™£ô׺„^¡ÿ R0øizl çéþÀêÈžÎÖ̇îKîXîEv‹£cµ>œ,b‹ íîÐ0Ï\2 h7^ä\$ 1ÇT~—_£~†öÁ™ú•qzÀEè˜5ä8ôMø#•NÈ &áhpÝ6AlÏ«˜ð º'K¬M(fyÕ ¬A˜±é…ÍTCë¬åÕ‚ðž\·U3b¡=~Ñé0ç? µS”?Ä[„£•Ôè™WÎOÍ6oŒéx¦`³Õ»/Ÿ§ð5*Ïvó)äsn¬êLÝBÞõví}œ›¼Ôqr{#h¸úošÚÐ!ªDtïm%ò)óˆ; r•ñÀ±,üFÛTEÚfQie<††‚ËéÉ^AÁC¢Ý1E5K ÁkØu*d€P\>‚Dt,Â+–Ük¸Öpƒ‹$F-e½á!²IÙ—Imi[ äQ’¶ãЫ›,BrˆwòꧤÚT18c Ÿ*AÉ/6¡Îqþ¿5¡ ª„JR`’/7ã–‰Ÿ…p±G‘w¢Šö³w”8ñ½ø‡nžŠ@,…íûJgd` ‚TÜÞöÌt køÞVvsð¹í0# WÙ=+”h.Ò¬QIŸ«Ù÷XìTê•Fúì¢#ÞZ‰gÃX§‰Y'‚dø¯¾Ò@²©äË®Q‰Z8iÜ#ø‘Óô=%õì&v|fËÇÌÐë®g­½yî鎈Ce{_i²]ÉÜâmÌ%Ð0·…øŠÕ¹”‘q4r|-9íÍ,ñëdíq­×òHóv÷Z)ÅõÕ-vFîììhæï×\áŠÕÁwV:íÌü+ ÕQžÜä„óúK®wÇx£JKèÏeâÚÒ-ʨ¼†›Å‰”ÏPúTÝåDZh:·°KCÛÏô*¥ºrÎH<ÉçA΋ÌU\s6¡Á6ɉ´¤(T‚k“E$HH—óu¼aŸÅÁ€=æ”/üë¸Õ4@²ìIX¢¨Éhƒ×;S#6õ©ÕröðXNi³]fŒÅ“/}ÊÔÁ6 [”ôëÏ×¹´FS÷cXEáP´wž*œ;Œnqj˜wµ±‹»<õëN؂҃ “]‰š0>3ù5mÙRÛÛ^èc¶dcÔZïŒm´ªUá]Pºé½E²ÚÓ zù¾ Ëtò¢0cR‹Ç2SÈl©<Æ-/ñ$Ýߨ^ÙÁk¹º ¯q8÷?Ið‡µ-P—Í8¨²kí#ÍR¬#-:§07ÿbŒSÝ©áæn«}›åÚÈÛ"¹•ŠºX“è7)ÏĽÿÎ ©î‡öÌÅè"§'½ `ÁGÅI9ðr[¬-\š>ì¯E¯$‹2š—è­àí“Æ•Î=±‚ÉçVH\ª¯±ÞFM™‡àˆKNÜ!@G ØMPšGZ—Ñ'€Bëþ§à?”oùvï“£èR+5½¯Ñ×!øõ~c¿Ÿš<aÃÿJoÌ9„ 6gùí‰ryÖ`ÑÊÕÀÓ Sý¥Æì½oŠ[šøF7M„Ôéîo§ŽN3æ¢ÜìÁü«/3¦u¡†¶pô$Öx@ÎVdŸtSŒ¨yÛyË‹XÉ£,WJ+˜¡ëÍ'¹yÕâìд<ÉML‡ø*³§o.Ü‘!ßKÔt©3 näDh­?Ä)&Ó°ø±8áE/rô»îQœ~ÀÈ›(¶ÃôvMñÜŒ dNnèï8²ÆF…a?•@,¿ƒ%öGüÿ7W¹ÂEÀõn‘…>SÿÉ;¿¦Èç”´ëmL(x"ijäEÝÛK¼|cE冉·y÷¬á(LF_Ã»Š 'P¸ÿ«ºÿùc“ ÉÒt  НTòÍPåÖ²ùI !ŸÄތšNGRíLˆÿ‹|ë=m"–T(˜m~ U,<¿iŽÂ-¦'Ì—s¶^· ÉZn¹7ÌZqDT¡ì£oiF®mXáNòŒ¦âžª’L¿d c,@ Ç^]oÎ5#Á5Áï ôõU$Üí]Ëf XZ=ìÅg#©‚Ì:ð^SýYþ@ ¦“tÄhœiYOWYæD]§!J­G€ "çµ=õýß|¬Ð×çËëxw„먢Ò#ÈÝëA:U«‰í>ë°Ð*º?Wþ¼+(aÞyü¥º´*|.úɈ íÌ'ÁÑJ7ï"… b‘ž¢3S_;#DZOë=þ‡sEn‰ªX @Á6ç:Iâ†ÙÁgÀÖý#ýøÇø'×l3èùù¨›ÂÜö–ÏøŠš“ëaBDg d¾½uïïÞ#ÈTpi(•~ì홂sÕ¿á×\W·ÂÛ§*x¡j²ê‘” Vx=ž&Ü£m›Ö®LF¤w6†:‹k—\^eéVZ8ûW’y)]ÄÅ¢¿(àÒ)ݲöXxÍÁ±Š(l?¨ —å´8Ÿ€«ã^«#®m:Ýú…¤y ¶8¯ü$ÉÈ:ß/|E¼æ%|ß¾¯V5ã)k:Ûu¼xh£&ëÀj@Øþ7Š~1[8¦öƒÓýÈ&æP°Â=T¡T¥ø3©B/²µ€™2w‹c¦º¾A[м; ­ŒH€}+øf.cæ?3ÞYSµí×y¬¹õbU‘êrb\•ò¤ÌísÖT¥¸­ÿM²q“-Ç[Â¥å¦[µ4¤<Å·F„G)a½óš®\OyèPŸ|'_Њ ÌN] Þ2&Q®T¼óî·`Oé23é@èMN•*Àiî;Ã\ù™¹H#øóGº+/O$ˆ›«€ü«Z¸ÁFéEïíæ„6Ð)[âi;•• ùÃ#޶²ËÝA¯”ysà'oVõ‡NÌcuåôÒ)¦9KSXÙÓM;¨F ƒÞÖO–’×_Кžß¥ Ñ]˜qhɸÛ_‘¸‰º\¥ì0 ÔGˆÜÂQsà1ÇBezÕ ¸f›Ô‚tpß 9èæ"-"ó+è_0­ép›X0p61óàu³ §t^œÞp›eÛÐ/XÐáåq±­+­99®Ì=.w`ýáœXÙ.Ê¡?0$úM Ëoöñôòð6âl| ,MU\Jr@zRß»ÖÇ—ûT§Ü‰VŽªC™'æD’V1ÔW—׎€i:eYЂRY&êàØAfŽû!ìû*Kˆà-+™g•©Ú¹«ƒ(zÁHi¢2†ÕèÙß×@ÖAØ~¼ØÚS»RjÛ*óqå ЈÑâÅö&©MM"4ó$£4 fõ£Ü7òÇK9ÉÏ¢ç@(,Øf.ã1ú®r7›Iž 9à¬Êa8ôößÞ(´ hý·@jô=cL?ÚÓÉBú÷N21ްŒOïi1î^%²è£Mq‰ ™ƒÍ34#w1Ðu—·Ÿa£? ï r:߇/Mé²´NúH!ªmï’¿²Ã+ƒíJÏ ù0Ýê é¸þpÐßBQƒUvsˆV\S1ÉÊ'(ÐÐ !Ù‚M¶¤œ>îák4!61× _ŸŠš$JcO—R†5ž¤Û}XAøH£n(,zºÐd`rãnÝL5CR’4M¶;·îšõJ¬†ŒþN8]û¿‘Oò¤d¥–¾É¹+ÃJ E±å°+*:OCàÔl°$Œ¼æ†ù…ë½làYá¤ÜÍï)ø™cÚK© 4(ݽ”2³ëö.A϶ŸÃý) '”ýùeäÉ0SkÃkv„§Ü”Nªr‘G¥÷Õ[,JDZ‹ù²YõOdÕø ÍwŸ}65”„±Od9›aˆÃ3æ'Dtž‹™ÎÇ?"/9¨þFtÓÅU¬Á6å›ÄT{V,ý¼˜A æÉ‚†çÓwE@ªÑ³Èr¹;Üâ MÌpž|ø¼hô–@W爵Û-Õ2ÌŒ3¦ ¡ëåÿÂýÕDÉ(>i #ñaGŒUÛýˆ«s§æ{=:vœvÚ­Rzj²M÷ÿYŸ´FÝS±'Þ™.Y¹Ú]bhþŠlßñƒøè¨ëî¶@ Í&ÿLuª«SfûQ+”†µ‡pš~¶ü÷<º€{˜¾Ôkdz¿çDð7)T4·~Ï,^?[À'γ±þ(Ã{H3í¿ðR…ÿå`ìë©Zr— 3¼D\»Q+ORhV™ ò»Ÿz¤ cŠB[°Ñ䆳‚-†(¬qGÚ‚uѰbü—ßЇÍ4àeíáV*¿Ycu`Âw†/Œ£êdºA"|›Ÿ”|ˆØ +ôA· "¼^z¹·éË„{—Pû‡ý2]4y:ßïî ÖZŠ“+aï\ÄqèRx2dÿžzi…ybh²´B…Ç‚[JS…Ä»ZsšÌ¿q²ëÜǵ“ r#’¶`¬ŽŸB@zVž÷Ý4 ‹õ솶±„Þ¨ËMÈ…üí7›zRàB !¤¾™õéþ3³Å¦î?È&Á`ÎéXs€Ïã§ÈˆVqÇ š±«d/1dæhÿ:°¯«´¸¤/LËÑ|âB?Býìb}§†ÉA¯˜9Äž‹ô¿Šƒðc]ï\MÄŒfNÙ1>öøPr¼*«¨Ç„A‰If †34uãunb›¬ A”ìE8òà0¢²/£¿B -Ûc¥I•ÍjŠC]¥òåt £„üã·©7Z,èmT~Iúê刣{ž©—YŸ$3lîTï¥?DpñHbEéã[+åO8Ó€§Î„5ƒ)? 'XÞùU)X7úp]ìJ,Å®kÀV­ IHŸ™.iL–‚>Ê…­§“THIÛ¹ ZÐûDî ÷I—û§zÁsƒš¡í¾(Ö û[Ë.¤Î?àµfÁŒÊ;DžÍ±<‘kƒ‘XxK@•Û]ƒ%:<’h‘i³Ö(d‡LÞº§¼˜ÏÑqá<¤¾š®¦îpGOÌ §ñá›H£©$\ÚN¹DëÈÁÁLN_· ¶ÀzôÌ}Kåm1ogWÉôƒ¹þ ^Ønãì›=nàÅÌZ¿$ºz´ƒEþCRTùñX×í˜åp±oH PòüˆAŠ˜õ®-ø¯Â ~W®›§ šc’¶m&ýsMéÈJUÐàäe0"©t£o” Ðãè±£ÏmÔØ§þ‰YKy…K0.‘#ÐöEª…ÂÏ/<ìå^h¥ø™tÞ™ „gè‹™c÷‰‡Ä³ð6xµ«Ëæn³ŽrØI˜x(Í9¡M"U0RýŸ\\ÁŠ‚;içÁb#Ó¼ºí: \žaÀª¹Ø{ÊÿvizŠ!'¾ç\MóTQnQxOà'HŠë‚8mçïÛû€Xú¼„EQÐS°yyCxøvƒ%­žž k¾­=$úuÌTNè³ôlú–ýœÐs]EŸè^MEyÈU¦*@ë=•)€v žy}ÜO™TkúnJç+Ñ^Cݤ (ûDŠ—0çÉ˨}%DìL©þI¿êë¡…d(A ý‰ Á8Ø 5"öç±F£0p¸ ÞË­¾™¼³ÚsýN¦X «âzÕªÙmÒÅ=<ÕÄjø +žáèjëÁëGzj Ž®¦Ÿ&*«(fïaà%nƒ9ÌGuj‘®öwƒ³°pC›_^dvì\Œ×Mèg1rûÿ½þ ‹Â2'l}{xH_˜@¼.»cú©•;Ùe ¾á죚‡Lr\D€˜ÁM×VÒ}Ým¨ˆ®²BÓH+͉®œV—øç·úUY·¼Ùà—FÏQyj‰´1IóÆlvâ#câi*Mî¨7øW®Z©•pX“±‡$É»c|ûSø–óÑ9Øp ÜH1à—³XRCX¦¤Ìk€¯œó›üŒÑ} Ù°óÆÛLh…îÇG'£øÁœìKnÊ(Íh–C`·a{· ¡±S«%€½é¶­÷Î㵬f!Ïz2ð"†ëq<µ÷, –ɵöÂHšêsqȸ;b)Ç4+ÅÑþymLPªƒ“oH oEyzy2º-¥o§mÆbõwˆÂð+#~ÆÖ%^,¿¿ñjš@”û|Ø&Õ§ö¦›âÜ÷ ¾;[gÛ ®9©ªêöC3 ~8Àm^FWÍÅ|ìxôýû”½)ùïÌ.ët®E˜Z¨y‚–¨ ÛC¡#ýHKeto¯øxȯm»J§’¾ÅR.ñªIÓmi˜ä.ÙgIó´Kep•'ªÙ+ȧ¤Í½|!°u¾œ¿uƒÆ+—xÐyW0Âë5 lx»ò;qç^)•é•XìJ43” 2GiòrLÝ¥©u †Ç 5VRk3#T%>Õ¶:uBÉÉé¿Ü¨™6v=¡òõeÇ·þ«…Ö¶;î„¿?ã ¸]ù&‹•í]ïͽŒ1©°q¤ºSêÞN{:ýhî§* ª¿ûRYò¿ç1}XÔn$Pò·”ŒØO¾%1‹ÐŸ‘þªü”Lp2vèªI=nKOšâ)IǤ”Ö¹ N™´0ªÎfv\oT0§À²˜XG̹~Fó4÷[©Gê¸7~¬žý„È´`ÖáÔ¦ê¼ÀXŸ!uÐQ燳qàœÖÖ¼k¶†Ži+qÊWo†Hî¿QO¬ T3º«š¿9U¿åj.i"cªQÕB‘à9G’ÆæÃH£Fmô·.× óÁª_cRj4Þ߉cõè“We½T½åñ͉´È-¡â ÐSG TïÈó¡@¡., µ_³b¬ºÍó«M[Ú1P«×䦅ÚòПV«ÖO~×¹/½”ÀÖC´±’šE9d|ª=“ÒG:óð3¶ñD&£ÄSp8‡ Ï=¬a߀'›«žHÅØ½žXfcÔ­üò`¢Ñû‡¤Í«êæì†[Ê…3ÒËUäÅý-™GC²,*h CJ/0yLJS¤á´Q¾±›}‹Áw¾u.¿ÈÝ£RÚ‡y&ØH)À‰".áJêñú­Á4µ5‡ Q.l©­ ¾ìÈGކ¤Ç2RÍ¥øJ‡y½øZ÷Y½±þÃþk-BÒåaÙœ á}*¦ã)@ X×ùUÀXAŸY¥X•Ï^q>@N ­”IôpÖwõ^p| #v™ÜÞ×äìœ<ÖÆÌ8 0È”sÁ{¦,1`5½ãa@].âú¨H|,ã²/—ÛoE@[³Û`w“Çx•Ì"lþÛDÃkK|¼ü„^z©ýp] Aì›|à-›«Ü5}‚¥5¹÷êf¢u€g5°/¹¯]øÂQ³×f;O"Eè çT j)Þ8ãÁ1<ŒˆP1Â4@U©È±Ñz¸ñKŸâYðc¾º<k-V¬˜Qá·óaTÐTš$+Jo+¢o“ mßx½öà,ûðØzÈ—]5¯±Yù­Ôo/‹)™WÌ×i+CrL}(œO +`E¹ `ýíÎá—yrë¬Y%ï"©‹ÀŽh›ï¤`×Q…Af_Ö~r醦Ƌ—¿!Mƒ$dzX²ùÿï<`§ÿ{­œt-顨"ˆñ·<€©2>khcé¿Âoó«R¶ ñ²ö%¤s”ÛòÚ)É\¯ ‘EQëp¡T†YÅ€X8ÊÖ4œ:[4bâ:Tqtí[T2¨àENÜss§kä.TJëJwîb<žs%<À”±P½w!Bú+[ç;sá—jäˆöR·I ŒÁõ>×3àÂ{ZƺÇïFе‘êI¼icÃDM³|š÷"ö…ç½LàTP¿ÊL4ëísAíÁöݬãû›Íù|`È[KKÇ@$Ä|­AIöHMŠHª.¯ëŸ;f†(L&‹–œ0 „6Ô }»«›8Ê ¿ûw÷à+#(T”zQ¼sÂðx?¡_^;hŠc>££€`w÷cN—ÊD¸pœ%«i™Ä–ݦ®” ѦÌé*ªãËŠ’pGjtš ºSfÓŠZÞÑ¥ß8]Ï5ôIÎ×ÔïДžÎK|D)rl³°Ç§e¨©‰È¡/xЛ`äŽèÌàÓ\ûÊöˆ˜Ù5er ’`ˆF…yÅ+ŽƒÓ´*‘zØ¥nþ3Mú\ï%p”ת5·Á3u©*+H{6¼€Î…VWU¶[H$’“LÁú§­ËSöçõtÔI¸_ÂÑ+…$õùéÏ#¨F´žùÙTWØ’†¬‘Õû+ìh¨4ÏŽæ‚jkôU';›« ­2nÈMÙ´ÀóÜâÌ›3p#Þă,=.‹Óô¡EŽ‚pWÛ ßüë@BN*“Îé8çâÓûÛþ+ÂA¨âÌn_6=.©øÖÔiÜ)kó®“’O÷R€Ì ALH¬]©ER&SâÙûûHHŸŠ€H9=…êz9“ü³×Ö †È½l&I€@/† ©` ¡óšÏ%P`–¨÷û©ÀeÁ’NGܵÀíÞ_çyc¨Ä/4˜³÷âudUk­rÿS/è×s†Ôõá÷|ÃMY‘®‹†‡n&T´ÜœîÒyz¿£úb#޾zAx mAqiûÇH:`PÝÃ$4Ζ9µ©¡ÐŒñ%‹VÉà½Ãå6 Ö݉x·åñž€~­Ù,<çP»1ê›/m÷Yåøüê”8âLëí¢ý‰˜•.ejoÝäÿ J8ï¶ Fµèºb/Žá3©ä¦Õ«“šø”xaìT$ k§Þm°¥Ńt§Œ…‡¢Oiw—øÖGÞË‚Ãý·ÿ… Û}†ÃœîæéyêЙ£_´s ‚¦m,á`í’Ü8Ix.¼ŽþøDÑù_òý€ß÷ ÖÌæVh åX½ÎÂúç•ôŠ5F”°^“^>UöÛÊ=–Ê;ÆC\=A×ñª®iÁ׿›N8‚Ôüõ¤.›á G1¸V5/NõRû#ñ‚ }D4ÿ2 êr~&¤¼]0÷\?=3*óÚè믓u˜c±êVl¿­µ"…ybñKXã±û@óùËW¢£¬ÆRÐ`¾³“P÷ÎÞ¦5’O8¾ôF°£Øx_ß [ϲ)n?å Õâ:z-®¾ÀYF-³@Ÿíçs/õ¡ÍØÀ¨*/–‘¶å×ÔˆÓSÖTÆþèÀ‘¤@†Ä=— oO“úr>Zdtˆ2Z¯+‚TFÚ´´’®£üñ“±b^;t#mº„RØaÆ(ù‡¥¹êŸñÆ:Ó©Y=Ò|§ó/Ü‹§÷Ü)Ò‚=‹« \*B•Y–v/•ÉdÐç颰$gLùsV™ÊÈßZ.RÕrñ\)¸÷‡U_ÓZ~XX.ómÿîÔéXKàp&YBÖïr8çpìQÌÉ6´a‘H¦&V9ÂÔƒ ÀçøÐ»/:çä+Z-Èõ‡Gùïå™óÛ›lY@þôð3*ªK–袟15Š+sü±Œð.+‹j\_o9ðŠñÛE©qmù¹âúŠWR¨D©øÄ©(²›rŠ)aíøZ./*/ÚJëå–ƒy#®µÊ ¢d8X4äÛÇø 1é`‰íÊÌ—R Ûj§Í– -~cò¨L;ñÑ’`ȲlÈÙL'·uãÀ& É)»õÕðŽ¿z:Fm…œ…Cé~,xþ‹›ÍŽËè·°»Ò²Åô97”ˆÆPK`ÔG‹=8?øE¯WЋ„òûW[Ç‹/ ¶©a(á³´àžàìÙ"ïãò>3 ÚVcôµ=j1R2³¯;F”"ÀrŸ|Yå·³žUÝ-![å=Sêyxòº Ÿ¾>Ûa×uê_Éó;%˜ÈtjéjçÏN+1Ì~h-Pe:aÌ]œ+ø™HÜ|j¯€]›]H8$¥PQ=-Dì¤ÓÉ€¯”๥ݭٺ¦ c¡”hß¿/¾QF,¼ÞÒÔ'9“«–ØÄmu‡#hoºNŽ·T¬“Ø‘V%Çìä™{Üd1©á‡¡DªhìI¿ûVT|ÿB·GôÒ™xz㊠ŒB:5_Þ¤U÷aIèæ‹TX»˜¸§[$9¹¢Ø£eÀ±Éhv @÷>Pa=½\™_i´,)R‹z·EY´ n_÷¾ Ï_gN6;jM€)Ÿ/[†ø•‡%+søÅž„¹3d÷—)lí©ÖÙ^qömËèäz`x¥*SâÖÞçgÍ W±X1œ$‚ÍxЕ¤¹‚‰˜øP?bÿ~6SàÎKŽ®§/ €i¾¹(Þ„†=KÓaó„Øžõ³=é%CÈ ›w‡Ät¯ç=/ëH}¥&õ耖÷*ESÂVV¬ýÊñGqÁ—æ7"¦‰åÿÇõ­·ˆøâ&M¢“:¶ïÔd¹"Ô©8M1oß2£lëBÑÝrdžL+±¾!îõc¬pýØxŒgñù!L`PÖÚUê¹Ù b»Ž‡™tØÓ¨Èå…>vÎg”éæÙ¨Bâ_ɬùúº&7'©Ö•'O–Ê5ÿü}C#àÀîÙ—(¢4¡Í—ú¿±„ ©6Æ"®ô²­HÅ~Ò톳Å!Žî—Ó_^âT¡xçs‰j;§Aãö#¿ˆgŠÌ$Îì¹È¹‚šÞ2£ %ûSòº³Ò„ÔûoM·8¯[,{'¢Æw|X3|hA=¬Ë`ò>yÑiD}ùA™ÔÆ•Ö÷ˆY]¬“S3»é¼ ¶ ñ”üâ;ŸøèÈS! }€`ü¡Pè.é §l¸©“§Qš¿[wŠt°5—j±Ù"7†@ùL ÂïfOt€»[1[‚‡BUGÅÙzÀN)ã7(u Õ<ËÅe"ÄPѲÛÒ‘ÝÌ{ÁúMêâŠÔú;ìèhdz?TD¿Ÿ™/ßMÅ^V†CÐâ°ªVèx¤!cP·<ËÍ#‰l£2¾;zuª ÿ^ÁíEqžcVµŸýØÄ-¯L4ó¿mƒwo^Ǔĉ7îØ–gHr¾¸vÁKr½ÐÆðà/ŒÒf Ó`i8zrÀÁ¾*¤l–Li®ñÀPœ×u(åÐm ¤—’÷+dá "Ç9f°F m,)ׄž¹å¬èU yêÐn‚þšœÙlÔ6g'þéô¹ìÕA)mŒP§ç…ïüY`_5„ ¿B½ùùé_ݶO¯ Âܸz&«ÑJÅÈ0Ö½]$?ßíy¦3®K@Ã>ÿy¿÷| ˆx=Þ{qªÅ£/Pºç¨Èf¿œi uÅû›¶J7Sµp…}&Éy]BÚ*¼Ÿ0ßú‰¸Ìÿó«ˆu€ S|bp$—?)V¯¶Óä0JTÒ<'5&¾$ T¨¹UÉ¿» Ö@bÒ­/·NƒŠ¿<æƒP½ªµS|*ô¥«wyµkÆoÿ‡âÞB²+ñQJ lq*D 2:Ãõ„©ÙQw‡Wþ~íÔ˜I@¯(©ÏD /3Öäš0&êq´û>½%ˆ=Ê·3 ‚”tž Ù&ÊGÜ1ßcMŸmø½bH -Ý\¸k߀4Ñ~p1h;`¯âÃŽ—‰5AW´;Ľ:g¢8—l™÷|·gŽè¢Ó,¬päOyWh ý9}ÛԲߴ_õ.š.†MNÕ£”âF'ħ‡WDÄúëgKLlëHû!–¦&Xð«uÑ ¤czT WÖ:^^§eÁÿÎÎI@ ñL ,¹úb—#2ÉïÄY¯úíÓèƒ=n¾ÒtkÙNƒ+>“†Òú¸€¸3MŒ´Ý}Š„lâžÁøÔHšw<òSw©·ïP$ÑFP+±|oHFèá³ ÓH«‘‚ð@í7ˆ[—E4Ü|õ‚ÉÑñ=öS$x'öUi§â° ·°¦’”‘£’ ^ÓÙël³_Ó8 õ}C¦ÓÌGÑOW‡Uí²3jJxÑéé¢âL‡Ë£ã$§Œ“9W:^D. _1J CÌ,:sd‹*hfâÃ\ ‡äv¢ÌȈ¢TþtÚ(è o+¢F[èŸrù¸`&LdWXºêÆrGLPê@ò÷/“5%aâì«18U£œ|p¼•Å£ÅBn·>Ž~ô–éâ/‹¦Ãô»of§csšÏÑrxÞör·nydŒ¨NfçH°¨ø{‹Úo)íý\ß–ß¾ý0–Vút˜ìTDô–¼cÐÊyÇa—šiÄÐßÑbÚWÃ]C²”eøÝ´òß&“æò Òr¯`îÐþýˆ¾µ9Ù‘I Ám¦0 ì^sq òÆmGV‹òx¦Ù-×ÙU5 ŠæÁ@“®´.Ežû1@&µý2²Så\3Öád ixêQjÞ{ðQÔ›õÓò3Ëo|F ²¯ZGÌŠ¶öãÊýÜ„ëËŠ ó†–ߤu´ß•n;ôä3 ÕˆÇ(ÑN®³®ÂmbÃk1¤ê3›É¬ùþU}MF”7ÓŠs­°ÝžNíÕ')Š?Ça:1{²ý¥î¡Û”‘tN£9¦Vظ"QK>*«íë)3à$¾աõŒ¸à}0¯ŽJ!×¶WÔOÕ×NÑ­×î¼ûÑË Ù|o šößzÒycJúܱŠÄÌì¥`˜)¾8—ƧòñPfàåÌ»a»îŸf8“òóKãCˆ€ëø’û8µ\¯±YY úçËS·ÝþÏŸ!)w-Ò÷+ǃ@îÖ~vÁÐáA?öf²º!%ý3ÐÑÊFDDãîŸ`”`¼ØW‰”ÉÆYÇ×'El@T> Ðùó-)µd£8ÅÏ¡fîÈ"ì¢S5X…¼@Nåa¦V#qßsz·Úm:UI{9‰ºKØgWÏjŽYB‰%BlV±!댺ðvVAYë.InD&Ô¯Ÿ¡¨ål5¸¨ñ--é{ ”_¶«ÏŸÆh W˜Ÿå#¦Êø‡±)J²¥db.Î9Ê N×#š(^q…ö(Öáß2´ “‘ï‰Wš´™Žó1?øþ>ë©n•iÍ@Z;’tÉÖh‰$ÁXì™êó„xa;ãìHÑ7“$Ñ`Õb]#¹óËŒ#á9í¢žswäý¡l?œ0ˆŒ3J1u|*_Þ>SEöŒ>¥@=6PTˆ e a¢„™³½ƒôéXI›POٚͳb¤KUçì.Áo“ãŒ,XÁX‡6èˆYÌMmÄ&ÉèÐa`H$@ø(qqì; °1=Ý1ízà]}îè ë§÷itÞ^ý[¶¤û æ-ÝMþ1 9 ‡`„Ôézå¼¶Ûˆn£þW›6 \¼«ÕÊÚ;Eሡù–“§_#Ù½òÀcî}yk«í¨w˜BÈÎçZ`Hy(Zï ÿ˜æÓÝüÔƒDýÓ1üª¾F'fˆÿî4¼‰N$ª,õ‚`‚M‡Á5ïî2ýÄÈlŽ€Žíûô–I³¶•{ËH#Þ3†Ï±E¹K|\È©x'\cÚ Ž4²½g>5iÇØ8à„Ç{ó˜Nœï A”ÙcÑÈ<Â%Œ]‹üi†¶ü#ËAžûp†$±[¬ñ0uŠÈ”½ý?rPwì$Hæ,j|E„@¼Ïù>ߢ\[îÝI?lS @′Ì”ÑКtŒ¥ ÕÖˆ\ÇÈXó¥#lNÓ†¿2õ¿)ÚžSðúéú2ˬã­{Q—Ä9¡€6+4Å‹Ìg\iÉö¦í:2ãÒ…MF*#킵Ћpnœ.?Lˆ“<]g?R›WB¿¬Ã-hàPÓ•³nHœaúxJ¹Y]qr¿RšJ¢æ¨6-ûdsåL’–`šJ {µ!ßdp(u«,á¦SÕH҈ɑ˜æÑÞÛâ³ÍE+¤¹ß`ŠJ¥Â7¡}$èû®ÒoJ|dz’±áA¢tèßbóv–2û[3Nc|?]ãvofþ®³¡äª7Ö1å ÖGîBÿ¶gÞ–as ·ÌP-ÏAWUDsštež`}ðBkó“ ¨‹z­I¾×ËŒÄÌ ƒß·I #ýÈzq³:¥ùŒlón¨`âg« LëO@µrḲŸGsb¦d s,:†.þe¡ú;äoñÕêoäz†+Oo7ÉBЇº€õ¶ùF žaµ×ëÂíûI7 iñØU¹7ÓXŸtËí~ßQ¢¬jó«MxQý’À´»EŽÄ'i> Z¥­çׯ»×èu‚b_ÐíŲŠ„¹î}‡wr*˵<+p† .‡Am3ÈÞcý‰x°«.dÕ÷’kºx¼.Rëå{fˆ^v¸ƒ•ü=rÔƒIs¿E"­ Éâ¼´9•éaä­£ÖáYyv_ÉP/N}°gÅÒ¸=Ÿåætk}€äÒÒ ÁÁóÍßÒßœJÙ¤æPËdÇ)Ð=¢]ÖªÈx觉šü¶ø?AØm!wG¼Ÿ |ÞkãPìð‹«@øÈ€úÈÙ¿ê–ñr¬Sq3æ‚ZËgZ~‰ñŸj€í¦âP I{Á½Iü `Bgâ»;#w¹[§ øF@ŒS /¥¾;U 'ÕµCH½þýAõˆk¸ø˜õ„ 6MůjOF¨ƒ»ãõž^íðªòèŽIÓ@j{9%Ï"ÖIȲÐ-A<ñ«D>¢šæë {t%Y¢=Bá«ã°e+>vHâba:hþcëv]¦ÑÆéf—úÿ¶J?:ЦåÜñls`3˜å£ªÚQ:(-‡ž—eº9|Öó>„†3(µ[–` ì%(ú ™Zwà²2͈%XšþÓ"6¿¹¹7Y ƒ­*UvÖÞæ´½ Ì¢AÙçš"þp7qo<šå9£Ô?óþOJ‚ê¶|ÕUõF)cµêº8_…r_ÍÇGžÜ\±:¦s…7í8ìUÐ.éÀºƒÉ-»ò}¼„ôžïn;ºé‚f'Dõ  ég.Šj;$PƒWo÷e6£‘¦ë ¥…_C^öðåÿȦ-½Î p~ñTK‚ÒIŸ4¾Pû~r `ø4G6¸ôÊåýùF™bØ„Â) X«_¿¶ƒvD¬†5 i#šíæ˜[ŸrºÎVÞuc˜…„´ËtÁ‚Ÿ—ÝTªjáb0¦Ñ"ùÛ‘v@D4/U”N+ÿo4õ€ù„§_ok š#K‚å[mÖç.~mŸ¸œÛ¦© Ú6ÝÚ ˆ ÑÔá<Št.›Ø 1Š—8°ç˜_ÉL재qrÉý!fÅl-¹¥!½ü¼ OKFÌí¼Ãôõ‡íç[´ûuJ1\ëþ¥Ñ»²b"(>Ûˆ©ÛÑžÓ¿fùÏÕ‡òŠ ÔÚÂñ`%4Ö£àzåwþCvj߾Έ;[w~å9ž3í¯"¨Ñú0â.c1Þ ÛjíS}(‚{0ã J™4Ør¢Uï¹xXàïÊ–¬è™='f©‡ Ŧn{N&¾Ÿ[Ô¸R# œ!‹4¹ûaYÁÁEc; £‰ÓÝ?|­U°Ì¤0ä ºÍª'SDéN¶Â8±òœ3è½:æáÏ;}åüÏÒÈ]ß<šnñ؉*óƒîûÛgù.ïE¼b]v;ö•ÈN +¼ÿ ,IÔË3üþØå :SP²ãAÔlMGøå¯HMÂxœÍÄ øþ|Õ'ê!ñzê^=Í¿F=Ø!¥ñhÒ B ſy$¾sj„eNE0áw…O{ZòKÿ«³ :D¡Y§§#Ý3»RÃ&[Um6©,\O¤‡“@¿Þ¼Ù¾áÜÑu7A 4­Ðbyµ¹¦x{xÊÝñÁëú[cÐýOîÅÞ±íH«þ.KÕ¯[|¯æQ™3HðÉ$¹vB9­NðuÌ,3›dTÁ’©í %Ê2y ŠóAªe²NÒ~†ÉyPƒýÈ=›'ie AV`=¬¬Å3Íy ¹ÛéçÚVF˜/‡bTæõpëTüÞ§MéYúR!¤Ýéšcq¼UYtÆ:½i0ÜrÖW¹›†Î‚µ\DWn÷ÙÙˆLZë±nÖ}jázîb†pDÀ u·{}Æðîâš"^›eàºI!ÛîIžâ1ü%~!ñä U ·•P¹wQÌÍ;ß«½ÒT;Íîz#÷DaÖM]E*`78fàC6QÛ3¥áSUIÈöX²a‹9†TˆÉpù½ È jÁµHÑ/¼f[܉ ÓÀ¥;Â<•¤ ¤Ô` .LìiFÉú–iL\$é£uS÷/t–ÿESÉÒ ]-§ô°Ñ£p‹çoiDþÿ¡ls÷ 38QkM¢0œ¦\ô¹âõúòÙ¿«ïOÅs—MÑ’îòZGF´tC&œ•Êj'%³"lJ¸S%öjˆ f:²‰3ʨß™=BóS¿Axç{°Pˆ(yí>©ø£°¢Q¹ª-¤—“ÓûìÒâ)ˆò€Aç­4Èõ_”Ÿ&Ðo¥±®å9Ž¿vÓì¶¡9Üäê$ÈkÂ5Ô‚¸m mÐ ö§·¸Ub+Œ2`­íCµ$®¤?Æc È>Ò%ódÑ[Ãõù™R¹ ãg —¸ó²¿.ùÊqô—Î2Þ÷€þécet¥BϾÑ."ªÙ»¸èîÑö¿%Œ5Sµ÷Ñ¢yMÄWêò”oa_;•4ôÒé"5c Ý÷(C˜Y µÝ±!A\ÏuHl$öW‹ÛË5hÆÙBŒm‡o~Ñ‹„'†&ªhÛëû ñ‡¤>ikÃŽ@„ÂÏ$²u¬U: PÌÍ<ù9–È)xLö_a ´!Hbùâ®s­öDç6T ¬ä7v}>"„à“h¾’oi鉎ˆŸ÷—¥ä*`Ÿ†&p.è¦.Œ’¶¢ôìµ{ánüø5%g—#µëÂ…ИÔÎ-ÂR‹á¾¼@¯ŒÊyÿ“îæ8¿wWs¹ƒLzÜR/ƒT¤ÄŒ=·ŒÉ̦iÄÍæ+1¬á¬À–;sFŽ ‰Á)íåœ/ú='¸Ö˜üši¶*>츪àj¥}J2…T:w#½o¦æØÂFÅË¥°”!•–ø\dk¥™ÙYÒ¬ó>¸Ï*ª‚Ý/ý“à6³Ìjn!Õ»¯T½ýÏüˆ‚Pô/nÒˆ¤ýŒ8KøÞ`Óž~ohù4YH'4Ú×>î¡÷=ÐØ1ÌÀÃŒžjv›+(ÌL®ô˜i:‡õÓÞ$Þ˜z²íúŒRV]•¹ÃÃÏQ5V* Ìží­À¾O÷Š*Ñ»ûL~œñµw©¤NÞævXBœ&Å…Á˜"Ëü4¾J½]æâ×Þa1‚£Ó–­fT´N¾FçµD±‚]Ë‹hÒ?Èj3^R¢ ±Z@ái}¨Ø4ø!ºú‰©¼g›¸hîåÀ´Êvïç]ĹʢgY¾K—€Î¹ŒMp}¸£ 5lº¾$ÿ¡S|ã"¯7V"ÛÅÀÏZ êªB«]wÿn:ÊDzâu/DJDyìr;½Ç]_MñZºW{Wy£&Ÿ p±£™úkpWÍÃÁýË]3qª¹ÖC…çªðlÝ]Ÿ5µ¶úÌ’VUÅ1Ô²Sé h~³™GIðª8³ÿbÇï(â'½n¦ñã®Ñž»hƒôW8Êb"†‘ ö×€$÷mÎë9Ypfñ=¶éáEʱ#÷š9D’Uã6ŽmŽÊæÛ"ôùÒ±œ¾¦ÿ=õ9½§ ŠzJR{¨„{G:ÙÁžüŽ»Zx:ÕÕ¶M­ÚCp¨/ŽÅ<žt…"'Ùp :½É(}ÇIyâ²o?ŽejbX(Ñ%ÁïAS—GÿM6qXY¡jÞ´?×q§±sBج09‹@ð~kÅÙÑ]oÁ-}“¶hÜ¢ì²p¶Ñ|õX‚éäj~ÔªÕÆqÅarÔÇñªŽYgä_/ë_âšK¸qÓíšÈâOØ Ã†#LU•°û»,‡ÂçôGʈû9i\¾x,pß3¬ìx9‡.h³9ùHÌó#Èd· dâïéY] À€€Ø[Ó€ºuQÁGü,ª”¹ºól³Õ5ý-ß)½êÜ 4¹Â=ÛT¬Ðæ+¾E¢¿C_Æ·¿ävÚ4/bB@ÏÒS‡þ¨œ4P›…MÉ+±ÆKˆmŽyÕš ^¸áæÎë„Ò JÙ¦`iPN]±Dþ×ËŽßÙ¦fIzUñæË̈è9O{ "MÑ#v¼b:ŸÖ…TresÇ\Èüâk:õŸCü!iªÊôðrqËŸ|Ei’GE’<*=[ÅŠD›cì“^ÉžÊíóΚ“‚0u‹ë%rÍÅ;Sž,|]袈…˜ást°XÐx š$«;âA¤“æ#ÁÌJýèjj:?(ÿú˜"‡³ Ç“0æ-]2ÿ Zd߸ C»)«¼‡¥ñiÃZàÛ¨ˆÐºãñ+ÁÐøêP­Ag}šj1àWR¸‡ñß+°ºi[H;úÍåõ*ì‡IL.Ä:Ôë Ò>¶ÌÏÓN#ȾÜ2lÎ<ˆ¢~E÷Jõ9 \ Oût˜óú[wçF§j#k´¸Ñ»~ ñö·Ž» €6ûá€%[uZ{˜2 KM¬Ò¦RA-wÒ-¬Æ%F–­WûÔÏ| ^ç.»ó)a­×'&Ú*µÝ¹.ÜgS"Õ Ÿ°cï|B[_ eþRÔÙ˜ºnb¦Ýt˜«ýɉ~|.uú ,Ý`­Þâ¨ÂÑŒ@w)›œ9°ÈüžÊŸX‰»øX˜žùfïèÒ¦áå{ÂgÓ-•Ý@³—íùŸüÔý5?Oggw–a~HÞÜ~ÃæÜéÏA$—SFþG†½åMcƃ%‚þY"—u ²EÞxJ®H¾ˆ IÔág”¦™#­ÁÒžþkòÇw¦ªœIö-í„b&Öî—)²ÅÛö>úê¸<Ý‘ÈÌd?«@>¾ÿ9CrÐI_¼XŸÍ*À_ƒÕ§ãŽÃl„L.*Ëì_» JBœ{›-¢ÊºªÓ$[*ÝpIsÊeÔ‘"罸hW–ÓLJ5’˜7É-êhëôR8EÒ^LJ¸\TÖØ qºhünÜêmä’aí…9Š®PÛpèÀìe+ßÛ?½¶¸é9Hä³u@aKXÛ-¢/ ÑÖЇàÝLkõŽ¡â+éýú` cÏ®7Û¬c¹ÒÄ‘>©]× |k6NOnU]q5Ù+¦ ^äQ ½©ùÇ]ì§„»1—ï£z£” û]{Òæ­‚Ÿ†¯´+çæDd~ù¶!RGÞøçõ_|“¦ZÐŒ|ÝÖ#stzĬ¹#Uè럄 h.û±ôBŸ,Þ̆2åþð m·¸$ü§Ü" S?j*80Ê€Û±Ãk­UúG&0¬¥ “ÜÞüV#ëLÄxî ‡­‹ˆûÒ©œîÆV}hcjßtÒ³﵄ ¸¢™›>rL-u«³´jj`q±8‚!à}&w.úA¹mÆ[e˜ˆóí»+Ðë±9—ÆÂ‹ @¨)yˆàج'ÂÖƒ>—L Ukl™é¤’¾)Žª²sß_“¡éAø»£ïwŒÒ¨yš7Ï yfa§×ô%%Ÿ‹:,€«=Ù=‡†\„MÊ=ößk¦§žX ¬´†wªß¡q¨ÎÝJlOm˜n¡ÊhIºHú³98·%<ßßV`·ëÃàêÓ†ààcúQÔïûÈê‚ Ë«J5F™“FØYjíÊ ù†é¥ú[¶Ë“¿ Ì‹üÆÏ׿$6“uDä÷Ç>ŒFO«¤¼m–}þªˆ=çžN ìó®bÞÄÞGj…UÕfªEÁKÍEádQ¹f bG¸3S€¶@¤OS¼'ÊÙ;£Iæu5ÄÃ@Ðæíµu^ýæþò•Ïj ZnÃç>KCNNV¶ÍUO$Âõ9¼‘¤ƒìÍ»OÄ:µéK#–¿?XH3,±v·ÆEQvÿ¬œI͆ð½óý_ËÖþ/"nØXÑÞLÊ‹L@‚d5£KP1¡´m—JYΨßc”ïÒ³¸»­§+Ù­CîÃäµu³“]IVn81*B©(,ÂÒ™Úcø´I£ÙÄ®ãV¥’ å%wæ ?7^€Äz+š`Ùêçdp­ªJ s"û‹#xÃÙ¹Öžïm±kUÏÅÁÀ³È>8fe·Ÿ}þz&¹úñæï¯D‚`x|©µ*ˆBÃ÷tÚûØ~2¡Õaô"…·-Í›5N"ž9‰–Vðo=ž#¦Vïþ4%!d÷oºÔšª¥§¯ºÂvÒþµ~Úta' o?„Šçôê˜}{ ]±ôØ’²Oý8š»Ssˆ¾Ïúæ¨ÐׂrÝßE4-!Á±…ó~ô?ÅvÎáÓÒ&zmG¥1ád3õV;+9Sk»4&tâžIM]Pè$Åb,)‰×›º;þlãpš¨¥9ÖÑdóí˜:“‘c‘|¡ÚLªò–îÝÄ•pËoîHë$œŽ žcf\ÖùÉ¥–¦M{ö9¤“sZ’ÆœðsºCPÇRκ!ê§Ú…Dþa<,0ÐpYjÁ|E ôßáÜ¢uøÓ]FÅ¿¤¥\;ƒ®× ö¹gxs‚³~ô´Ñ›óD³qDõ¢ÃH,0! `­PÏñ‘î¯ei8†R‰¨NŽ“ˆËŠdî{Úýc½àì½ê@äQ}(o„³ßIÀc¥J‹^«È,R°{2ÎCø&ùü}­©­F“tçK…nË;Dò’Äw˜C®åªòy3íÖS²&«ÓêÄÄ_Ø©°ÈHü·Â Œ°Ê„ºþC¢3õô štéÕ—á[÷¥JÛd-¨’Q®L앃Åbâ%½á¼¶Ð¥XÆ /ÁÒßÅÏiAÔ·¦§ $mS^+=k~ÍÃKöhð×N7â*èI^Ø|ZAgE¾x1$”2–ð}ÁT;G"zi ª„Þq—ÝdSùÖ"™.!¶[¼í·»Ï ÷¡Æ(#‰¨¿ /=R¸r˜Û´˜z1°p©kê.Dc±u3è÷Ã3ð²“f·žï3sÀ›UñÿvšPÿ2|É„TÏá—`@@OÑAåRN±}ñfk}Ö¹8 ÷ÖØð[›úÕo$ö|õÓ×ïÅs;8Õ tzv<¬Q幺ĪáÉy@„Úvã[anºP«”SÈ y MHÆÑˆ9|%¤²5+)ÔOùÝ¥ÔŒ¿óEÓ&ƒ­çû$ èÛÿÒîKT^ù®ÕŒÄߥڽVpÛ¯Yý¹ƒÕÂóÈ€åpƒ0ÓÚrÂÓYµÕÉ›@:ú28ÆU³ ~Q­c5Aù™ ÚJèÁxN¨þ²_ìYù޵‡@T ¾¹|mžÅck=zì‰ë“Ô Jd¨È{pR®väíŽHÜýÕð /`ÃÉ%iÇMŒ>…xe…î1uæïìþp-Äe·<øSqÍòïDF=!ÕøhQ &ž Þ&)ŸñHí’וËS& ¬Xõ{¯šXÞ²äa`²1QõµoÝ¿Î\æ§>Zi#DŒÃñJ!“(X­¥ì”þ"?ä‚<â¬9Ö{WZ Ë]¿6q ƒ!ƒšaUå„û);CoùÛ„œr3ôX9 Åv>.Èþ)9‚øk º`ÆpE.ÆÎ Všô­2y°Tq&H‰ãíÇDzµº|[Ñþ%Ë)‚ø¥b…_ͼìQA“­è— Ya\ÿ殤$”·Àæ/QQr˜TŽÏÉ:™Í åÛv—MþÂQžï‰:XL8NvÖ®BnÚVfb*²Ê¬]¼aMk"p_rèYrŒ¾ú˜ÁyæÚÈ${%¦vpüýØñøD%‘™ß§¿¿Ó$ŸêN´¦ÆÙëN ™þ”`‡üIÃÄÍ[±pKÌôayu>º—#׆ÕL>WýýŒ’;ìAN[C9¢–8Ÿºž ªßõ¡Oµ6ËÐ#6¸D&`¹ÿb1Fjì†qL‹ÉVÿ*íªÂçàÏT7ï‡-‚/Òe#Ø2”TV™ L!ò­A.Š˜Ù ÃŠ㮪ä.Vç1Sl·~‚GýnˆÌ[hY: m Ôø7Ö(‹çSæ-q:_!¹A=S(aA‘÷4ÄP¨¶3õÉ Çµšh ¹Î´W1‹ ˜×Qà(»þJÝëEUÂ^îœq.:ú†»ké&fŠØ µo´(é†ÍFe­ÖЪµC(./|œ‡„b+5+°ŠŒþ®!CÍl|ÖÊv1È@¤eD{ĺ-Ó0‘U='±WzXÑwüÕé¬uwèÆ8=Nò—ÈÂi0ëv²Û[9d°=ˆ²Î N¥áÐlÙM+-ˆÎéðÜ*#xLeÇ7Xȉ]†ˆ)ä&>ø÷´êåšô†Õ 61ðl…·*#âÈ´@ÿ) õ¦›gÆ_U}d\Õ ìWqá ¼Ës}ü6Ê률b0pµŸ*„½5˜Vf´­;)øT¡æ©mÈq¶*»nòP0J>Á0y{˜±„²¥•ö~µ#ãí9ý€šzá‹‹ø…ƽqxWKoóíµTpÁ¡!A¸w¤¶²¸Ö^{j°¥c3ìÁ׈”dë>;A_°«ÑÞ Æ‘º{(êô*Ic¬ˆ‰¥ª0Da–W#v±èc  œˆÎ‡¸N-^ ³“1çŠ_)ã–º±ôÓ™*£¬à¯Ã°ëÍcôœgüøî2›‰üçR'VÊâdK7å£8‚` èßlIo”Ý:xö½ˆ 5*‰÷ÎB¯c%µ*u¸Ü# ˆðsˆv³.¥=;…Øðx³°æZwéÕ¹\³¾ˆWúÏ ÑÕq6h}šBFŽm@h'G0>¦GqÓÏÕ>%_¶Q_a.2ì_¼~sñ=²©l>´Ç+÷>ˆÚKjæ­Å³Å(<§Õs["ú‡Åš¼õ¸AÇɦ’ˆÑ„‚ü¼ÜJ,…_;µ¡qÚ3æ3¹Ãª‹¶~ÖkÐ/óJÕ{zê4hNRñÏY¾4¦•1N¡ù[ÏÐLc@WþšRvP+³=]ç[àóU°x‚žÛ‹P‰ðzmÿ -Ë«{.{—1©su SV+i„70|¬Î®îò»°_>÷\„We¬¦¸ §›Š,©0übP9·UŠbcÆRx[ˆ“ªNt;ƒJtpn`׬a`ø=»X:Å(2HdŒM1qQäôË*¡¼£èvÕ_g*Χ·è2•ô5ÇŒ¦o7FͶQæÜuu~O‚/Gë>-êÉñçËHµ §â¸lï·iñ\öWÔœ5Üoó™Kv 5áÈMÛOÔw\‘Åp±ýƒí-Ž{la”R‚½AÞ™×U4Œ¨ ŽP/'PEê†>”`H<ˆúáOªã{PUåå„KøY–ðõyýjÈM*c$ÚYò³¤MÆÇ½ K8¯½Í/Jù× pIcDxÐ_?þq’¶&µDa{²¸…?Báz<+&è5ÉŽrË“‰»‚¥"°dvææok /„@þ*ßE"Ï%3IâŒ" ÞmÏÉK,@ ª^2¤û¹›IŸ#Ò>×fúÅ»Ápµ{Æð¸°ÐŸ°îÇ–3’¡i;‚2£3…b£—Mé'ÝBÁ`ySjEb{Bå1¼b}Ƥb$FªÌç0¿Ãxú|ÊÙ/³ºG¬.R€aî¯ÿ‡+¿,ñ6µP½ŸŒtùŠ.8òlÈ'” zÛò.ÇDî2Gû¿©àE:&˜¨ªñRDYÛòO‹DX±2ã¬(ÀÊ…âR/•òÑ^©l®6„5sáPnÄEè1 LqCÍÈþ£ o·2€ÀM6:Öª_ÏF3µG³˜Y'NqIÍÛÄñ˜=çÁV5Š5eͰñkÃhº‚«ÞíDÇ]µÂ´MòÚ?˹V®K4´1¥.÷¹C©¯‚œ²%3õŠ”mÊF!øµ¸ñ¸öäN7’«Ì ßx5?Í9w¸æoý’žÁ]w!B¶ú¯iYí`]ßJ‰—Œ¯QÄaöÙkvL ¢ZI*fW€û¯û!åní‘CBr­¦ØÁ°2 ùŠ|z¬Äˆs¡ä°”g+¶?¾u8&¨wÄÎn¾1äÓ¬ËáÊ›BK} ¥MS‹ä«Àª3þV£?t·49%àÈþØ|Æ„l¸b,oÆÑTnh™\ì'¸“&­žǪ6BcH}Ú#Ÿ9ä61 b॓ÐðC-èÌ ßºÆÛ&QdE€$˜yÖê4öü;63M*ÀØ4Py¼ àmtx¤ž¶UÿL(ýUp²^í_$" Ë&±ü L"(Ö‡þQhÕ8ôÄn›F ² ºÎi†ÎÛj÷/«5í*›ÔhUýÝЯÑí[H©!¼­Y3ÎAø-ߎ1Uå‚otôǶ·¼+Ò74Ų˜Ò‹êòT`yßžqÑÈNNծӱ˂^ò÷7M¹ N‹åƒ3T37?À›« Çê9©xj9Úºg‚¡rÉ áõ—ö™Ms'œ>ñòL }®ÇÅ„ÂÇ÷iï¦2×íž›¡¤×±YÕ( ë9Iv2ÙâàתSdŸuÖÈrP„Ï!Ròp¡Ã…“L”is°LYo¨²¾lÉÊÐf¬’ѶÉPÃ4Ç«Žnó¬f‹Ö²úÂú½ræ t ‚P¸büL%Bs( ïô†•¾¥£>–ãÒq_°Ê…튻Htv[„Q¤?­•š‰oŸ]ÉÄ»+ âK?½ƒmfìbÖAÚiJóÞ•Ý™V\yŒ.’›|JÒßÂi]hðA«œŸ"‚¬“ÌZeM.Jœ°§ÅæBéáäˆ<^ýeVÍKRÉ‹á8N@]u[nùÆí_…Ù öeh5̆ÌÄOÌ+Ãâi|dv@Qü¯GÁf̼È1Z÷¹»U „WV´;&Ö/ ÿÕfFÝ?ÕÉ ±:5 äÉ¿"1{쩲ì—ET ÕŒð˜öcöOĽ¢wp¿¤ù2ÌWp*€õÔó=5kþ¾¦¿Î}.•µœÍšh|²¤ Â¼jó“ݱã7ú#Qû‰£K­O}ˆT$ r>Ð:z‚”ÇÓe;`m å±©³®7–Y,¯Eà²òŒtY%רÙѧêµòü8”ˆÖ;ê-, JÙổ-D… ·yýjfËšYlîw9ë¸C{ ±Èçk¹çëÌd Ü©CÕÝVR+Òpˆ¤âï?ùÕ³Ä' W„S8§=câê̪‡v»Y(çŒQg“fÛl N§»‹ðgÂò/^¿–ÿhe¤çÓ·hø1×›É''¹õSP§þ÷Ñ× °ÒO‰[çU‰ÖUôã¯MN'Ž…< ‰h•ËgÕv·ZpoaO<jÓÁ™iÓÏãÌM(çP°·‰”kë-Oæb¹p­ HÙÓ˜¢RíÈKÕî¼ýÌ«ë+ÓgèiŸ˜ÊœÆdò=ô2Älˆkar$Yo\`§¦F?ˆeMñÍ*Ñ¿V;$2·nÍü‹%#cL/üzEÂdÖøU·Q€šVöúU"}"7Ex–78ÛÆÆãðU¡Ïi=+D¿¿±í¿ØÓNÄ#K•cA?ì«Ëøi:ªn9¨]ìß •åâí|gö†„>u®^¤ ÇŠä° á€Wü8{ñg‚¢Þ«ÊÒgd’àb7ö6b¿A÷&Š(¿£Fú[+Aåì}R¾ ¿KmKvÅ´¢Ô¸§ˆ+„ÉŽ÷#§ *Þ9e/†O_m¤s 5¿‰V@çlÇ&4*Ý(ÁY(Æ>¿'kÂ…Þá ÂPæÚ·>С֭¤Ïmª<…óƒ¥qm,Z v¯ý´‚ýûFu›u^¶"oNhÄà4–d£ÐçÉÇuÁ°œ!¬9Î`·“4Š,·ÉBbYC)ZLç›8Á.ߙƄ‚ÄÛÖU¦ô[>›tJ§aÞª÷̤bf•—uªòÔïÓR ­¤°N0æÁé/–S»}è|ÖÅþ7ýÅvì¹G¤|ÑI:GŸÃË•ÕÐß_âtú%³Ü€äȱá´±h—Q¬.sï=HL=Ñ‚¥Gã‰Ë’˹ÊEÞ9ù‡„œ±\£Ìí>_Mщ. Vú"ÊÂöõ …x+®§1ÿ$û~‘ð  «ÿßçßu( Žñ‘=:QÆÝzDJF|;{×Í®›4w°6­V Ek¢‹~:ðO1`î©ø¬|,Bg% œEd‡~C­7^a|T 0©Ü¿X<ŒOm B€+‰ÇPƒ¸Å²0ÂÈ+í€Ôð2¿÷ÿ! ®3XÃ]˜GèØ¶Š¯Õ3Ö?ù,B °x½Ë&ÙPÈdSn}óÏ¿ëOF²æf ¦wo7õCó¾£m7Œ‰ ®+Â9®k)hêé˹> xæSQ’¡é4Ⱦä¯ï%Cìî_û}¢qGœÏ¦¨’¾|(¤,"ec£Ý°Í0i6`½ÿ6tÈž\îØJ1Ë#ñ³Ô’0guéÊeU ¤|};Ô,YEc|uOº’rœ©tŒNú70ýÉ&|ªÛ³öЄ†é“p ;®«†[ç|®¤.èðI‚JÅ.úÑPf·»ízîrY„‡™—§ul|'±Šõ;ÌâaËä5¡ë²©à½*u%ŒŸñj-†î#«d×Éqí…ØÏVVÙÍÿúñQi- 6J‰5üb6ßà°& iu3[¾•Û+¸ >cÃË<Ø¥0¹.'ÊZq{xûÃ2¡ÚBìmþ‡wàüNI¥o0‡³)7W„B”vs7á»Åu¨€Ü¢]ÌPÔxVدa’‹ö› ýÝœÉ+ˆÿ(-a½h¾MQe‰Æ\Sp~šªAêðêuØO;ú²;%‹¥b#Y ]´à¶Š#߮ѱœG‚lä0“ÞüÌE ò /ä\j¾e¬Õµ€7о¹ÊédŽ £¼Ön},ù²õƽKS›¯°^¿Â KRMvØ3>ÁŠ[,šÒ6äÊ5’ÀpûxÓË–ĘeW‘F&Þ“eâÀiÍy›æ—9 4Þ‡EIü"?¸M*ÊúEÉ ô |äy| ¶V̺™=0¢¼vD˜X÷ˆÜ «:¡¨2ª¬ptïZ$ P«ÖŒ…lðVÎD0²7·Ÿ97]5Ñ`m"â¥ÓáÃ5˜'ód¨·Mxy4YuuçÇÚ%c çé/*NP’£“cŽ…ÿ€B„€%GG&𫵃ñ§Ù»GOÔT§ìÑ'*°[uT™/œë£÷DðO¨^ ´¦G«±F4œá#¬šØ §VŸ¦Âru^åZMšÐïÊ‘¤”³¬‡>­1 u¥u\m$¨JwØG÷„ÈD [õí#š9úoÂh&KVR×[TŠÌДCq»\í J *%¦$1FO b«TËÛè’¬gÌ–þº4Ýû^‰Ûy°€†RP¨¸Êa€<–ržÝõÝL )?† 6(ÇÄ÷ˆV9ÃÂ69ñ_›Ke`?,WYäq;kŽÊþ•DÜÞ›ªÊ Ÿ¥Øé˜ù¢Z§FÚìîzÇfWÚ—íºÕ—°ŠÆdeèÚ<é€'­„¼£s¦2^Ì5H9„@eÚïQ9ó“v¦ÈN¾ˆŽÔÿÁßiSˆB>wwÛã§§ÛjJÑ)\ÒAï…OȆÌWç“–¢¬|\’ŸÂ¯*-y¥¥ÏFÅt ‘²Õ©?1tìę¾ˆú·]BUaýßì’ ]ÅÃßý3S9øèsœ§b@™¬¡fzØ×ýâ~ÔöÁ† #§dÆ ÚŒÅ# 3þV96VÐd /Â^[\ƒ«m`˜vQ|yaw8Ä[Õ!Ýêë¢o'ÙTGô&Y í‚¢1æ´5»y¶Í[žéÇ:ØèɬÏ4Ši-¢0ý’|hŽ’ }¬Ø¾xǦ Í®û+®6FŒ™d;]g}1š˜{ëKD—0Øäã–|…l¯MâÖJkDSðVµÊJ*7YšGuL˜BZ$¦Û°o–ªÏ¸é€âÆ ]‡µO{R°Åac7c– ³ß~ÂJ[¥ºíI‰-.}2û4,M“ˆfÌWrýÉÝquÖ†>½ê½zb[¯ÅÕ˵ “»XßG«û§E¤k#c èû‡òÜZ†Ž #/=ú¨—„ú /¦@ ÊAr;Â%Rìi¼k >0C»:rLã fjßr €­Q[µáïÌV¶åüNÖZHHR:…»qÕµg[ŠGáÙÑpœ…¤–}惒’…§7ºûÀÿ¦Ñ.2˯nÞ¯LS»`WŒÎÒ©×Yb(bÉxýðzÙÍ[+šÖ¯(þΖ $k Ôz½ ©dߣŸ´Ô¿DÕŒäù‘ÓBè6t¾¤×Ö±ZéšgµC¾]Ž›v ÇK'Z\Ò@m´ã)T†ÔÁõþ™wêcÔ8mæ¢Iå 8SñÀÊŸö¾°-946’7bE$5-8ñœ¹1ú•€Dsù´üUaúõ}%ÂŽ•%–t±»&€L0 $³|õ@^R [p«SÈlp·± õ äŸð3ÍVÌî}ê•ÅÁ‹þï¢ØÉHÅo¨àô‰°Ä*þ|3UZBÑ-ëz(Å67·¸ùtÊÆìçöµ“À'ƒj ¾oþ`<Ú¤T)›ªÓ3·Ýü g”Tž'7Þ W±'”JÝ ÊŽgŽ—\Xìb±Y¢TIò9‹]œsw‰ˆ÷2N¤Û¢N¦:•ý™Oò¡A †‘j3~D¨0¤ÄÃ’*¤?`kKi¦ØÚo…óT=š¢búpQßꊕ\1¡@ V;Ò;þ… Ñr Å?/’(ƒS#ƒ½Ÿ¬¥á„8î>É÷²Îóÿÿ üRbA?ð‡Ô²DþÏGJe(oõÓòØÝ…S+}éЙ^™‡ÊÃì1øñ4S7˃^NJyk`þžÌß` :Æ™·ËdûC²ð´š y”.öÖÏÝýÇ%q»ïÞ¢¶Ð¢P2túš<Ýð>>Q,A2!pà'Ÿ¡Íû^«ôXÔÉD@:Ö|ò‡IµQÊuNÝOJÏÐîîÁ0¬*©0ÒA‘ôtU(snÁ™HÜtæ¨EÌÜì¥8¤OIi‰câ{NÒ±ËËúÅ6õz*ä6­'¹ŽÊ~Š@RϲuL•höV4{-ûý0«ËrúŽø¡’QFXžgP[Ubý×Ô«êvýŸ–¿o,M™^Ò»ñ¿nð› ó]ûÊ£'.% ®lª–£“o o”ê(È1´[möpÁ†È:ñß ðQ[1¿böWœˆTo¿Æ†ßW;‘WÜÞQ‘WÒ=ë•­zª–`ë3+a7Ø£Lõ_!-qeÛý\U lz.ÌÐzJÊù„¾C…Ùym†gn¿@ÍÊÆ4¾Œ-2;áT]‘È¥et×ÚÈ:'÷S7ÈÈsFäê/Ø8ý7êAçåŽCð%í:ˆ’‰d[èeàûÛý¥rôÁŬ6ˆ»}‚DKK øC§—Ò¦Ÿ»D]Œ¯û2I[|ÿeÖi«JôÄåúm°4MѪüðå\¼¹,ðaºT4ÏgÝ;íº¦7Ù‡"B›SñÌ Å罈qŒÚ0Z wòˆìŽð'ü{ð2êÉcVˆiE½cßcý #¹«¦éŽÕbˆ•ù~®äJÿ¾ÈŸÈÆ%]76ãG†NÕ®µu-®!Íœa ´Òâ@=—ÖéZõÍíõ+tÃÿõq&³˜|ÅU÷¯ßÌÃøG\ûë¦D1h0aÁ<½…yFöOš¯Z0zÝ-L»(¢1Aš¢­ðÌ-Ä5Y¶ÿ¶8oÞ;ò´y¢lNà K.ŠËS kªäÉêIC:o–ýšÍ‘úÝmšCèߺ.A½¾=@ÊÓöýeŽÎÃ䑊ºßÔ øLÛsSš{öT_UýŠ8ˆ3òš@ìµÞüƒU¥ÊM‰#–ÙË" ªŠzî6dîLÅÖc°n’·a†&ú®š! ,»æìZæ/{cÃëß¾­5‰®ă÷NÑãÅ!Òg¨¿–Ó§t‡nŠo3g³”ÉD *Qä|NK•Å!™) ÁÐ?ÄÐ"ýÿÀè1•N_úŸVP(í–Eâ9–$ éü< L¬NRˆñxvÓùJ›H§4×iÚ¸&k%;Ð׫‹×5æÌ.çS™wÊëžb¹,O'„¡9Ø&—¾˜³¼ß=îcRªÛ©`”߉/ËTËaqAÍ{¹¡(±kÞ¿^5ër@Ðä°½Yoøœ7 ÓH64¶“&h5(^,5†FêÿF_7-änÜ[Ax_à#;Á6&ˆœ+y¨Hnk—z>DTȉ×Jÿ.]UV¡/>©ämΉùü™Ê ÞϸG_X)èöôp³2}$•q4îègXp>]ÏÑr¨„8r*R›©¨Dît“¯ƒb¨”Ê)ÖH­„Æ×$ï~˜û3}%R¦¼fØrÖ{¸Š2”¦ØÚ̃™­6,µìiê/¯k3‘àíÚ¶©„óW– ìÞž3]˜ÙðeCR™“r[åù8l˜4_«tkTèž]¦nðXÖuˆ>\ª¸éº£êPNëiÀ€¢ª—–Þ—ž9àwTô—Ãp,K€L„V…Û1Ý’• H¿‰]îY+}t‡àÀ*@ÿº=¢ÐoRÅÃàƒÝ’šù¡Â‘²FÐk¨­kP]ËÎaW.iFEWº²§0Ïåè;üQ‚³1?¯¥MG^2ÏÄJ zŸQwfÒè÷ט³ôËÃ_¥ê•Jx2ÈUPíÞ˜!Ç1~sñŽ>Cï: ðhð-Ê*©ùç8sÊ~8èõܼ‰€÷ï/H:^ Çþäq­ð!n c´ØN<á®»ëÃÃz9([a»èï%ŸXRöSþ8…Ék‡&d(>çÄ…áƒÕ ’Ã3c'†]‡¹å´°Á>0÷ýÔP'ʘzšS^Þ«…b§*Ø-Ï&ÑåÛ”¼Ô°[—“©Gš§se^6ª«ºØ$–ÍÂU¨˜†‹,ërxoÖ(‘.¢ý'áÀµÓÎËlÈ^µùíybsÑÀ-S·‹Ÿ-Ϊ1 "õÄsÜ>z¶ ¥ÐŸz:?6-™¶í±€ƒÄ±2Câ€e$»’Ò>vòpA„\qÛ&4³ô¢ræÃöGsØ$P…TY üâo÷Ã~!+*ppññÏftÏWî~_ÁùšáÐNW€”ÖYmðy©½_êöŸ+©°w6«ºí‰ÈB±Ø›Ëý¢LªoQ+›J ZÎh‰ÆV|¿OòœÔìoòOGÃj_«Þ[ìoUŠÑMŠ#ǹHÑ\…)±Ÿ£»î…e™[ô7K³ÍÎÛ›¸gî£Ï´º?/„VÞwTÑw¿£_ôsà2`o¾WÙo/¿$TÔ'P·¸zp}Ro_.ãz+‰AÖøý‚À,|<—è®cEW2Sè¿)Ógå k´©¸ÇÉÕj”‘½þË`VÏfsïR‡‘ù.},±ÜbKæ=6Éf“1–N "ÿ ¡_¯êwQ¥™¡\¬N¯úò,Ò6åZ·ÎË옶UNéyôÙ©‰Æ[ý>*hž¡$ºb"J¨äl;üH}†3ÿº|KEéáÝ/1]ï_1—ªÔT{ˆïƒ–{»0HwV¹'¾˜Ic>Á scÁ)I#ôÍOðºì ’Ç "Ê Š`ê“·/JV[¾È5YYè`§è ¯FŽ(/î®I‚¬|Í.Ù#ÿ—äxç ÑWÌrà)¹˜ó?Ø;  /ˆ5â_IŽ-¶uô ™þéßx—ü-‹ù×ÏvXÚ½š5:T;¹ÁàkwK*Åû†¦"Ò¤€ á_|"–$o-Ô™&Zjÿ‘l2®jJ楛7Ášœð4ÌúJ˜ä?'Üæ¾SœíW?ßÙ›¥P¢ã€ts2äÓÜ Ó*#îh‰´R4³Lå?­È® Ÿ kK|Ê.+¨pR6Wø^Ø…áü1MnÛIÅó¯Ü[xT Sïe•š=Fe&rœµðQ}EÙ ‹…-Úä¹óË.Uë7æ~´Œ@s<øq};ÑNn k|DJo´àˆ„ˆ•Ø—]®%`s-J`œ¢ü\,°ŽçÕÅì»]'vèŽmäd;éÀ÷b­·ÔÒÓûŸ‡àpV”ÇÑY;·¥dz&l9>¯qœö‡ÂðÖá(;_OœEWèB–£¼¨å{Ó<ïÐݾ”vÑãÿª4.óé9‚çÀ'‰LÎY€0*ûh6ªÓ|®âÑ‚ºRЏÄÜv‘ãW¸î? ¾"œÁÛ’VË®ôU×\õ#Xjjsƒ™Ò52DÛï1€8H—†Ädö®n4…õCUpaZµ3uørtCÔê×DJ¡¶–¼“Óƒè.À‰hFžcYÊ!M¼ˆo­Ð¬›Y}öÇwO«Í{5ô¥¸¬=8·©ÔÌ}²´5:î.Ÿ-A«Ù@‰Ö|áܹ¸ɆùyEŒÓuëYÃnbQø’Ú®†Àï…/ÊeœvB/nŒøAO9·Üz.¬'vCŸ©þrCØ$ªÇÑáÄW›ÝÝšêÛšÜÒß)Ùxs I°õk¿.Š©@|Æ_lúÓç_  ê'¿áTþ*ÕMeÏ<y'WÆqRG„sTZ©óꨴÕžªc¾üãÉI©ÆÄDÙl;Þ‡2ùˆrv›ëý¥ú Vý”²ÐÒ!c¦Q “ºþ ›_—})Y¦z±ïG„ÍxBÉ´–šPRÀ‡>2xäoø½Ôµ7CÅw¹œ"@äEvXjìýnuùË`¹=ÊFSZ’LJ#µÀÍŬ³7†O–µ~°_“}öª§@d9m’ª½BþM$ªÆÑÝÌ.€”ö©S&ÜÜ<^\ïìœÒ+¶ñ~aÕ¿Š¹Ü%“„Ⱦ šÁÿÇ62q+Îh¯Ù4Y´k%–gsp@Ñ•ÀñyØ|¦mfC>5IÅ‚ÊOÿãõ6ËÇ}¯º¾Šík¡.¨¥é¦nmbìÈ?å'œž´ÓëÌò9?뢹Ó‡ö©²´Ô}ÍÇMRs7®uËW¾5R§'ÞÆDoŸ~KãChe1m°¯¦N¹üA?‹ìRœ®r÷S¡JÀ¤`°³V X䬕2_7d$½ôT Í@ìå¢hîBþÄZÖ.»Àš ª#‰ýÃæT·Þfy—êýß AŽ)ßéãúB‡²)çy+üÔ>®‰z)c€•áþÝÂuÙ·¥!ªh¸O™Y‡€}0 ɇÑùE›öùô¼É»ÕÕÛ$@™W9›Y‰pïz®¸;³c®= b­71‰ºÐèl%ù—Ö -õÃOB2‡ÏÝò*õBj0*%ÑËt0P×¹+ðDIvš¦þ©Ìж†Zrn-ø”f°ü¼ýz\ª’_ô×7poLôÛ^YÝ=44C  öá ¯§sÏdú«"qr.{ó+ ÙxKN‹,v¨:ZceÃ-·iÐ×Й¼fï' Ñ ë™o­Ž¡¢¨p‹=_z"¡É:sÝX2°ùOõAHJ¦\¶iØÅ´©¢yÏôÈÊ)'ÝYüîª)‘ òyì™U«¼¸ùweu~'Ðq ZuÓ228²º“šÖ¾~\R×n©)ºm ¹­ÇÐSÔ0æò2 ¤"ö ¡½óãfüñ^Ð{àWöiÇ…þ§Ûý¢Ùv ¹ÕºTý‡[J¾|œFB î¯" müLÕö&EŸãÉ{GÄ-vTž÷ËZL©’5«lîÝÆaD[?èΖç³Î·€ÃMÁÈܹÞy)©¼6¬Ç)Ñ€ó´õÛ·½vƒŸöU¬Èq8èǬº¨i5³––ýN/ÉÊU1òØ0]F“JGÃ[ÔOh+ð˜,H¸Ó nqØ!ºy\åñ›Ž¿å®6/2§Ì?Y» RÊǼÿ• [ïý²W‚è ifh£ÂÈCrªî½é\òuO8·å[M%;ç˽òüZ}seƒãI{LÉÖîÍ.P3À©´¦FËk¥8 Ï˜ìb=@‘©q ¸WÞ×ÏQmînÀk÷eó/¾Ïš9’Ô¥vy-TRG©Í åܯ›—¼õŸÄuçh] ÖÏ܆Y-¼l;v€uý4=Z¹Œª;¶â‰­ò¦š«6cû;ãþnÑ×|\Sœ±Ip½d¦í/»)±¦õ¡ðFfbzBiÞ€ˆ¼r[¼ù¨ l»)[Ÿ”š÷ö°-æÙ¼¹6âú±C`P”K§õî|£©pG^ºIòµºEßDúö6p¶‹ˆ e¿Õ§-kÄrá.OyüP À¢‘¼áWg|Ü4ÃM‡.øË”ÖšØ(vÕúBmXðœ]’ÊÞpªpÏNðw§kêsz\ ‹œõ\zœ>íŽxÊj ºsð5C\‰„5ÛF ëöø¬Ïø›…ß DC”ø[ÝüÛP@vr /õ)•XíaBæ= Xufp6ÍÇa+5—i¯þ¢Yz-œ,ä¯:r8¨é°|£ ve'×öjÁ}ËÄa%6FQ4×~„u1íÖpùW1 à€ÅâºíµÁ5ÎL–•$wÁÓ!Ñðàö¸ºeYë×&b·mT}<ŸÞ€Ö ,g '÷`ÀÆïMô@»<’¢@á±9ÆFaý88”) zn6ÞB„Üö0ÄåÏ*g¡ÁTˆ.ô[mõ´C¡³!;toFx-Co¨X—>~ûÞå÷ÿ#™H@ˆ4ª­4/Sò6Ñ¿M³‘ß«6O³¯ÓÆ?“?ø¿þƒ²nU·6Äs/Rø’FÌRÞ‡n=Ý+3©IÓi¸žœlÓãµdìþ\s¸Ðeùl¡\)‹0­˜oéîKýü{'#×$,M¡ ,²KËðoFSÒdŸ¨:¨†áÙk«×r}ÐZ3^>iÁÀÍé ìó|J‚àBSiHæD´[¼ïwá/D ©ÈPljù•ÆÀP}tg'Hy™¾9ã´"Þ÷"IµµVÜj¹Ð#>$e ½¬t»>4‘¾ßT®å™\¢šRÓRD'âþ02jmxW¢'N!¬LèÅ~A5æá¶ç#÷*½{ã\OAâ‚7—åÍ©¼ úçµì!°)¡BèŽê£þDËÍ&§’5Ι~¬¹¥x§ø‰yt­Ð/\cÊÆ[4H\†Ù€ ÷áJ>9ØÍ Ö›Åó5PpâABŽï¢u^âҾijSqOШ€HÆr gcBêÙD ÂÆ¸ÐOÓUÌÐßÄ¢¹#\ô<`Ä!{J¥ÈD‹±r–òñ˜vNÀ vç)éï´7ñÆÓ‡þ˜XH¾?aSo„ò)ÜKhkm÷Ì+Ê+¹€mzj, µ%+Çfáû ÏI û+ ƒ¶Ñ;ß™ëÇ’R~Í·(¸’ÁÀ†ð(è½Æ‘̱d½fMõÜf¡]Ã>_àýb°•›s†k§›Q†¯ê[ˆÚ‹õíd¤¸Ó34}tŽh,´À[Óƒ ,&.¦¨ÌÁqKZW+[ µ›×Z>PGU/Y”ûïS •zEt̼ûÏÝ’¶.îwKŒuëÝI”a3¤~z䤣H‚˜³cépù^ËÇû‰fQ$lÌŠFý²ÇQžavÙÌÏ¿ gG¤-"ἪqLÏ~-î–ÅógÎÓ»ÓR:²hb¨F€ÓŸò(mL.\zj!m`îÂö¦^Ùsóªˆ RæyTWE˜´.ä@#pI ¤ÄE¿+tá·íµ°°.ÀT£„ˆyb °úèôd/Uöý nF–™qÂá=‡í;]s¨*îÆ|%Avœm6‚îŽÊªDQRSò½\y()$xë£>4‹8zhÓ,—šßiG ª‚ïÌ_>å ±JNêÈŸbËHåÿˆé`W¬˜ŸŽ³-é¼Ì ߟ4ÃíÂ""I½¹&!‡ýp6Ľ§ÝÙ(r¬?tcÂÇâo5ž@tJ¸F§€žï71ÊSÝN~øºüÅËF‘š‚"©Úk|Gñ(ªdÉÖžÉd{¡iÌøƒcÙ î ³Z‹–±ãŸ\% èÝhºŒ…ÂÒ-t@©c^ô4®B-@ëæ¿e6­“ÅËÌVÜ¢Îgꆊ•ß‘%U¦›¥€Ú„9“$¥·í&ä£[6 yÇÀ¦Ðƒ3¼ÊS¶8ü¾uÍcýí„n庇.Z²¬îdf ›=^€{pŸH:¤ˆ’·øÃ…¤gˆãü¾q¬>Åû2ãbG ‡46*ÐÙÖ>ùìÜÐÖ¥ŽY{h¿Ÿ«y{ƒ²¬4Ÿ9é[°“tärÔ¦=%M”‡ þÞn´©æV]¦FΛY„vFíÂa…ð–SÍéùÄkÓUT=U÷]4ý1×Êûï4/Éÿö‚š ¯EŠ»Üäiþò7Žƒ`ÝŒ}³n²«E½HgÚ;Æ—(èÊRºj^TFwñÇìFÇôÅÁ’ñ^"ÉŽª&Ùe¾È–Àš2;‹ ²ÒŸÒl!¸bWšã&d±2Öùñ«{ˆÌ%~ñ 5ènâ ‚9KQj³ÆI³}œãc#`KN$.ŽeÐÖØûA7~}ªw±×­"š–‰Î £ÒDA=vÿ¶ãà»ÌÈP±†? E˜d”bmT±²Lñ½É(¹níÍ!÷g”›ZO5¤2l5t™H!ÞãÛ±O~=UÉåg-ü0 ½|žÙð ^RÊéìA\—Œ¢Öð¾úÂÌKƒ6G÷-ömcã˰Rv3؈Ë<Ì7¢˜Ø¡ ä×dk 2…C²ŒØ-¾ã9ó…¬å­†•ô¶9ýU4Á@¨Ò|²ˆW 3¢-@O„î,¯ža£73›ëÿéE/FÒió/ÀI0‚îÙ….©BÖ°ùõ·ø –õq˜[$Ä@¹Å¶óJ õÞjyL.·Ö|þ ÑùçhŽL¡ÝÎ)qɈÇ[$ wQ=Ôž®KDã4…™¸Ð"}&Ÿ´¬g$H÷ÈfÜ·¹0ÕÙ{‡(©ÕU»ã$ìVÓ9,ç~œÖÊéÎ寙Þ|çÐÇ úúƒT«žûØ•>é‘Î?%wU"D6´«·à¤™æú.§˜Q[«’?e 9Da¡0š†cb£ï²âa ^/œSßÅAG´\v|2[//ýãKŸ—>~†í’ºzUÏ8å¿ ™Û@ìô;Hhž‹\ÅdVÂR¤´ÙüuLy9_Åç|‚cuæ¾NŒà\‡|F@Oû–5º^ ®cz’qFqµŽÓcéìêÇ ÷5ÎÂbt^ËDP@o’ÿi|iQ_Çú®ý‰ªPÕÍk,~¶:ÕÛ,ŸÒp¦˜ FŠÅÇ`Ûº:W¿†×’é H×íÓgý¼ñβ7ÞÀ:ÕþJò•°Wð¸3ŒYªL-̳€Cþ(¼çU&jĸGIcxÎ9LØÀ‹Å(Ê5(’0È(3B`…ÈÂ/Õ>RŽ™–FÆ2‘oƒž¾þÃòšFÙœ¤À¨Ú¯|ž‡œ"¹‘ ÖÙ3ŒÂI«Ù±‘¿먒¼ŒRÙ&Wûëí ¤U^„Ï£ùTÊïÁ¨Ó\Ô¬-õn §¿ÚØ¥­®L8¶ç[?Kq:qðÙðM³^»ªw «fŽZðºñ¬Õľ~´€Xy[»¡Ô8â±?7ª*| ç½ Ìç~Ç’mÙá6X…ú;Ñ6E¦²ñ- .ECO•î€É±U¶Ÿr݃"¤Ë¯’µL>n ]ä‡Ò–sí´•š~­væ2Ï-퇮Œ*Ä^ÍT^¯™¢~3ºNÇ90fÀ noÖJ§2ŸißXSç1ëâzoECäz`^®â&u=½CÍrkûã¬Þ¤‰¯â<_¢56½ FigeYD,Wõæj¢-ùs^£qi§AEF fö{€vš´ñó8Éú9—Ïm Cá¥Y©Æÿ»¨ø4fÔeÜ R£PÎg0˜‚æT#q…ï ®›…t…ôD pa.2—Åæö ýÔ&ÞÒâcÞžŠà¼QT²ÛpÎâãÛ¨,Ë+:} ;^‹’'(œgo‘‘¾ëþ“ú–ÖÙ«G(Ú«*FJ³ÆÛä†rJú@[ƺ o€ã€ƒSKÊÒœ0òf’Èÿ;g_‹§Ý“¥Iy¹ÎÍ8u5 2KDüæÈT W^UÊlø $;_Lh ¢7꾦Ùâm#Ö¾]=u*KƒN¤¤"s’¶†+¤OOÿ&/bjÈÇq¬Õ†ï+3 a¥„mïFq A2½[¬šz›á™äÞilO¢û–šâ•“ƒ?ù¨_׸0ß1Õ)KrÒþÂÐáá60/”Óåнú±È¥…$jZåªËd»©YΔ4ªÇ9\¹(oØ» 8¦Ä›ÓùÿÙ±²çm‹º&…Rì¯`£¯½­éÑ·\ðê…4jáéÚã]zt¤Ø¦«rÇ@>9`¦x¢7Jqï77@7Ýïa÷­€ç´ª*ͤ]۠Ū‰½aS î­Ñ„yf¥¢‡Æ«ÝqLÒ×w,p‘ø2öq™ÉE€ÒHØ–ÝÂ÷‡Jg$'‚Vò!4ñ¼B˜µ ¤ð-Ð!٤ߕð\#Š2˜ ÷¦(Y¿1½Þj£õ…àgpb²þ}?+¹S'rªOÃ[%‰é—Ý7€­´^°¤É:ö&HÊÓ^H¶ `8nHÓH¡Ì6C1KÄ»…/¦sÏ–K[z)!ð$HC²·{˜LÉ{wŒH€3ˆ90õÿ©£Ù4äjÈ"1Ap@î3ñŸ4Pç"yAu¡Î(,í#ðÝ®÷”Æúе¨øx®°0¹+ûÁyª¼U×û~ av |OUÇ>ÑnHŒ @Õ±-µ;ÛgdGòˆ*B¡±K!Û³_ÝŸ`Z™×>ƒÕRÑW·ìÇiLÖç˜cGáéK#8Ìõ1hÍäLÐScFQøù&dÝùÄ-Œ>R¶¼ÄÛ`Lo‘ùåuiju$EÅG‚C÷¬oàÕ!w•ÙJÖ‹*€¿ËzhËt Ç'œâ3ŸŽAìÙ©ÀHc@_›ÅƒØ±á¯ØΘUêô`ú0úu¢¾åQÔSàðv'”l¼ïôœèò)D¥$u¯Fàj$À—dšÀÿ]Æ7K^¢ÖÜß8¡Fß/. eÑŸÖˆÞõÆ ø±%Ët3uÍiÄú}qÓ— /Y‚å<÷çz;ËÔ_)ÒðmÀèc<9¹ÒŽfo¨Š¢é8* | ›]€¶©°:Óèd¢–Æ@ÚÐHÍWVŸ©Â鬢£Ö‡-uHc,ƒ5¬GVÊÜôƒøïNÿ5êyÀ›X•[@ÂÒz<òùº<%ÈÇK“ƒ›©ý}jèæp+s€ÌtÁ u¸!y+‡…)°§×7 ¤ÞOD ¶^5B.`È·Á!$è½¼‚æ;yà{¤yÜ•+ò¡j¹Õ ¤2‚Ù‰e ‰¨ Æ€4Ö²G¦_aì§szÍ4eÛif5]FÚù»·âHò潚>=mæ/dÀßeHÿHþäçx? ˜2þ€®+mŽMõçbÁ±XÑM¦¬Ô׉ûºQõJç½&Ø"á ö,ÜÚ©ÖC$Ãæ#0éÀát£°ÒäñW‹ß\Îó…_½[±°2*þÆé¥ãMÁ=1úØ)¦ï-ÄQ3wLØ mõÿÕâÁ ~½JMVUJKûÂ^á ÉŒýlïÎ/çÈöKzH=–ÄÎ{±› ¾Q¢ž-•å’­¸PYGÛÍ^»C"zø‡käÞ†¦¶¦ÿpë"ZP¥È´úùÞEŸ dh>Á¾ µC_©#8™@Ìã0¥9y5hmº.²cÁ2eÞÈ iVK/á·÷¶ú¦ó•Û“µ£ª4ûV"¨²|4 1§ÚiO(Ò×Ow³¦ÅSšë†]°ê¢½ê“â!ª á0Ð 3,Ïl§pBÚ™7¯­ì•w(DAÃí $—hØä4ÑÔºµ’«vO¹zð2­Æ6:hF[ºDÈ:-,‚cˆ“v"ûš1/²ŒƒPrMµqÒO©&¶<1Gš¥?ƒDtI÷ƒv?Ýõlnår1¦ý¼)+·~‡V/:Ýðo鬥 âD 43tŠNÙi‰tY®2шðûÊó܉¢_¢–ŸDi U[ᓄж€¯¹±4ß•©Ò` H@€kÛ€5c }ÆŽNí;(Fw3}§'R]ñ°öåö‰¥R"} ¤)‘yzüÕ˜+NʰiåýQ€$¡+ÉÏ¥ü%t2^Þ¢\:ºˆKàs[ÃΑÒe]ëÂe>°ÀÂÍ<”-u'èûôÌC£±C]zn6›?e–Þéôêw?z×øiìÎhâb32}+%‘1Îq&Z¦Z!8µˆ"€>|6ý/å†[Ök5L4‘wo´Š3„ÌÑCHƒ.ñOåH†§:â_Õ ’ný>1ƒ"ÄøfsðV›Éõ[æÑ Š!5E r3ŠXùæÑötþ\P&v*ºTׇÌqýr}*2}Œàdh€JlÖôó´Q>_Õžû½òqw·»X xÍ¥ü¤Scà[ ‹¸®jq·ŠRî¸ßm$³þ²˜'k­ºt‘¶Åüó…¾{àŠÆ.üŠ’s¨Öù¥¼P¿O6Ž1xÔXá\LTzÉÍò¯¿Ë=9âÕ‚íèà¡uâ?• iƒ,,ñ³‡í­§žÅ…á”uÿ„ô£©×ä{Ècg;$Ýc‰Ï52ƒ>Þ ^#ôF—¤ ù”Ú`ø)!eÛ­#µfS” kë„ÒZÚ9¾û°¬‰¸‹ÌCž^(ÑÖïÓt]ÖÂ&bO:^¥$ùƒx̃© dÚôkrÕ…Wb+g?ŽßvÞ*´Ü—"›•i†0+2úûÉ-_ýîö z\µvï‚ç`1hÂà|-DHv”IEôZ î WÍ3枆Ś`p)M´N ݯ¡ºòÁëgQöôlY¿JU~ô"AéR™±ìnàá<Ä?ç©|c­)+—^·2‹jƒ¦K£™(%ЉB/:¯_è•~Ù`tIä0|k|+œøÛ{õÍ@">î{l½9˜åÑž¯é…BnjýAÀ™ ' î%0ß쥂Ab‘úõëå„«ÏÿÛüÜ­ˆËXóçÍ >ÒÊ¡›Ýmx¶ï¾‡wdV#¬!¤}à']r07ó4Ï>]dJÛ™’}ÔÍM0ßE »"1Z³Œ$ò¤œé-þÑsYb‘DÐ×Ã]8–§®¡W`1Çöõw–WÉ´ 3ìð¶²eÎGÛªe8]hñ7ݲ:"¯ÌQ‹²·ºðÇQ4’ð*b,ëv0ÅëØA7Kæ‡_½#ÆÀhª°FÛaÀCÂlïž Yj?ÌhO÷Ì‹ ÕÌ‘^•y~œkH¾Ó7§—¸‚ªJ-¶çj¿K]ïb£—âP2öëVá›ûz‚%B‚¸GÓ—Ø¡äÔ¹…¿t’hÙùˆ8Y¾Ïºû×p1×íEH_+}ˆ5[–ºŸe\Gý•ªŒ4MeÛfñ 9:GzúYñ)Ä>¸Zã”T+ÿPyõ˜enËÔ+І¼ ^zh&ÉÆØì;õq»'[†Þ‚G¹M郞1-ɾoÍ&Cï~3ÀРµÿƒò xL]ì© ¹ú©Ï0!N©”ªI©3†ž•À!”RÆW™ÜÀþ.e]„ÝÓ‹^ úè0óÌ#fµsQê÷§ $hÓvhTŸ:µ+òàñΚ°·Å¦t§ª¿+rpPùÉÎH¯›Ü\.áÔvâ¿!Ý 5 HeÆi ƒ®îvþ1k)[¯…hÛ~ âZÝr€1áÄÀ»ƒ u8›› ‡ƒïΨ%xÇãþ¦ öø¹~XHÁ øQ}juáO½ @Ã.¢à`P긅‚:c†;^P‹ådnbÖÉÞ£s¼1+ ÀÉ‚Ly5p³af¢›xXcl½dKT½ëjHUJÅ¥º¿wØ ùØø›Ò:³*Š× ëÇÞã…~2‘xO–à.åå{)~·rSûNñ,,nGDëÙÓI<ÒÐ7FDÃ\AÄmù©½\&ôòÜ4›©« ò”ӼΠ/ܾ Èð™Ú3Anžß ,jHªB ¡ !¦¹›`I*Ž;tÍB 1 Ý¿-Nþ@´Ã³aæy¡ìÉ™µGi¦¯ƒÿ…¥Ýûd{Ðø£ŽÓ×9*8€€ó0¥/K›K;DfºF«sôã–K©?(ko^Ï «•0Ëõ¯K™k7ÿ”TìæãÇáXŒ³o„m¸ƒãTïZe«³ ù̇ï:‡¹ñ˜Š ¶°` àQß*‰¢·Þ¦þ4™Ðy­'E ×ô¦lšM¨îƒÝeYS©˜pùÉœ‹q‡/“ÓäæÏ©§’Ô&¿Ø"Χ®îªìˆ¥ÃeMûÚi*Âp¸H׫:&ÓŽ"õ—Ra1™ìô-žêðIÑôE+§ƒ}ñð/ᾚÔ8`S½¢õúÚA~YÁ~,SHJ‚PD ­6/Øóh´àwnN¬ƒ¾Ê9=(.mé™ùDµŒ,­òO¦n[Ê€x'CM™èÙ«õð)?UçøQ®˜Œõš¥íÀÊè’fÏ?ad`câçº<ˆä-Žd¡l½¯O&¿4 f¨øiµÒÍ ¿¬oèFtoMmzVÙ…wHãJ¡¥N$+óDI„U3À#]yêÐ>Bä9¬AÓj*D+c}&¤ Z¿¹‰c’k)¹[¨&kö‚´n$ñÔ¾vŒÔ-%Ž_epg—­†ýFfêº36ª0õU³ns”ÙwïG¸7€é â^Üyžhýkª€=½&Ê9)3lc2‰bvF”>ZÿCµZô!w_Ïki« ÂŒs!Œ{kKj—·ƒæzÇÇDZ)¶A[ ßDÈv”­Oƒ u¢„T§ˆ=á‚™:÷+µYì’7*9.,*Y¸;¨ä{¯A.ŠŒaBoÙUdPLMp‰JHüŸsçëz±•GßÃhÏé)ÂÌѸ±J wCÕa¬ô÷ îÑûÍFpÔ$©ö_sÆÊÚqht&ögèø½ý3Hþù['zß‘’Ù…³3wƒLÊþYÍÞèÝ*M· æJo±(qôV—â8~¿DäÌ5 HfþP‚W««" €E¿Oÿyg‚ ® @©Qžs4TÃla;§]ùÞ¨ØÝã矀ßãvÑôY¤‡PðE+ó÷a«û‚ QOúÀØ‘}j:µ OEB„^5{D:!Ç-ÒÜ ž0μ¬sˆøh(üÍ:™Á’_ÕKÂÔãÐ$Ù—óÚôó[='$- ÙAø1ƒ#H|™„f£Ô×÷wÎ0Ê•§þ_ukfã…vëôçw É/×û©™¦ò>a»é§|áâ«È¾K0§)0Gù§Mk3åT±ý"æã€îñX/ã ÕŽ²HÜ5$*AÀ® ^á&öwbLÄÐNI4ÕO´’¶g¶äâ’’½µbš‘ÈÄþ›Gš‡ðC¦ï¿™¨T |±³xd²ûÑÅóž#òšTŽs­½ÎLd"1×,š*™ƒMSpÔE‹Év†« ¼¼ð‚ ­m軫ó?1Ù7£ýÁôg)£^:1"¦³Öï‹UñVzY ™³»óÃÕ„ôÌ+3Žö‹ñl·]ÌŒjJجན]0[;Çc{ "硦®½'½–{‘[=•n‰-îÓûÁgo=ÚÍTBFMÕù4Ô^|Õ€,ù+$Ÿöðr†ròB–ı(fÇpâù¸ön¤=–‡L.Y¼ªŸcõt[ûwš‹Ù‰” ªvò/‘<™‡¯«‹øÁú"ß|Œ[¸´K—2A„`ê¡RÓËÀºÛÁˆôgAžydÄÛèkâD;’¤à‘c'OëY›CÑ®hÈ/¯rcÏV~Í\˜ðPãlCt§Å…+O_AIp@¡n]³ô瘑ÎGÍžŠ=˜|ãö€p«Ä­7JTv<Ä(†¨TfýܘÞO¸£fõ®^8ñâµòÛ± _ã†_‚R}úRj39( 0ÍØŽ„–Z?ÂAò]Hó—ï«`þ&€?Gʰ¸UáÐø{0ojä‚#Ù8íÊ9:Ô1œî'=;÷î㸺¼Ï?מNåRáuy ÞœéÒƯ®PoÐp‹Å,7>Ö_¸ɲ oõ2¬©,,c DÝá@òO°§.ׯ“¬)¡[‡kÿÜ’Z4nL Ð9ê^¢OÇGåà æPM¹liˆZà–g.wu…±ÙÑÑiÿøßM¯ô«2µ :‹YšÄÙöý;³ÂzËÓOµÁ"–²ÎÓÓ·ÿ’:׃ L‚'K=Q/ÜY\ öF™}o­î*÷7^û*6µãØö…uS‹WØ](X½ûæw§ŒÃFNî«’ÿ},@¯jBH¬¢+ Ô¬=+¢iÎ{ø ÃËKúÏ1ļìT< oxЦœÿžLѺb{Õ¿$ŒÏËbH-m¾èªÉ<”!gpBÜð¹)P—ø^m¨ç(©ð±öË=ù’ª¼³‚Œp­1M1P.W™ŠÀ¸]Ê#ñ¤M$§šÎÝž6ï]øbJè$E"A”¸(Ä0:Â4Öåâþc1 CÇ^Ctnü @ ´^ðšü¶ø!½sÃU"8Z r(ï =Äjbî”)%ûcÝáöøâ¢Ž‰}Y»6çy8 ëQ$w,’¾”¯E0–½_µÕ*Õy.Œ§ÛýÓ§Xˆ]÷ºì(÷U gCç «ÂòV.O¿@j~/ãn‘°:z•<øðrÿYâÑû#ûD…Ê›¢ùg$óš%åÔΣSr™{dtvž|ØpKdÒF+bºÝH“§«)Þr7¿þ2Ë$8SÊ¥b‹ªË6Þq¸«yµ<¿œøÚð:’± ú¶pUÞGégÍyàKËi^5–LÁ Ô·IÁ¬¦d\|øž@ÍnÕ9èTán¯Ý°'@Ï@ T? ~'¾4\¢2Ù&£9P3ôÞs#¾¥Ä„q{BbÔz€•¦²f„Ûsð–$X¯–_uzÍÊ\.`» Æ«§p(ðxjP¡o«Ý³Wð²ÓÙÂiWŠO·À åàøõ³0¤”ËUÕp€@àݪÍÊн2ekCÆ÷9Ç ç¦B"!7<þ@M#3øh¯í[ábÑk³ ¯Æú±½¸qÒ·šî¢\¶®ü`—)nºó!Š’œþÀ¼¯º»¸( })†`0óÞ„÷ìc÷“åTÒ>ÆO;TJ^,…y¼bÔ`.¥©C÷ÄÉpà˜hÄV㇌À[îbâ5î—U'ã MTáXèsê>bBÀ?É? ëKÙ˜Ûþøs ¡u)|±ü0ï 2ä£>Z‘ú]Ù(!¨rvÕÊîœoUe¦]„µÌ-ɳ$ºÂDDÐÕ¬ZÏ×K‡IˆfXèº ›𵇭˜åß×oŸ½¯“­†X’²ÅœoF·Ëpîôh¦ÂÊÏ,B8|úfKi«É¹ŸÖP€,ÏÓÛG"wg÷ô³û·.S<]òáüÃÝ´<MÌc þúöÑ(sQ•­I4²Ü Yõ0¤Ü xäºÐ.dyYk7Y7=¬úð ‹I.–ÈkCX†‡O°{Uˆ™/ÿuPÿ²ÎŽ$›…9AÝ™·ívuh~„¶NÀÁ7^„ D¿•M* Œãk•;»´²F ¥ {ÿp‚¸qw4,W}4¶:ñ;"ì"O^1ËjÔ•ïóa€¸i–›ëÜ̼#kýËÉD“„Vº«  yMÌÀ÷® ç«Óƒ7èk©à =Žgãé.ïQ `gJP{=r´¥®Jžm¥ÿÓþš]_ |®‰Ùúè0»»¬V±C/ÖÆ aŸŸcŸSEàÌxÒõ1¸ˆ?ùp{ä˜mÝ!Ú ·ÙRØ{ÖÇÕaoSuÝIn$¾Íw_¦¯æc»Ã[h¦ì²VP BÃ×¾âŠG4ÜC«Kj`3²Î—ÊÊL òúÙo82n¸÷„ÎH¸/®+ô¡Ä}~gln¼Ñ=NûËMk,̨´|½LèTõTgS½$ÀK1Û}³¢àà@$Ê:-¨€™×L£„k×Shãé|šÉ ÙºÁž¦(é¢ÍZå_>tPJNäv¡¥ô´[+A– P!”ɨó‡/k’&­K Ï«DàT)5D%«‚’ªÅK²‘kt=E ¿8©ˆOúš”Îñ ÇæôÇòVå'!FgT¢™V8JLó±+yï7¯Ò³IÒæ9òüï9cÄXíròö¼¬Bã|O¨jöóï}ùã9dH *†oƒêo+ÉÌ~ÓÜaY¥(ª ÈJx úöÿyѹ†Ôi„´·OsÏ1„-šÞzû~èbÞAäÑ׋Jtà±· ¬Š77›’5/£¹Œn€UVNS¶‡D'ïØ% s̯·Ã“ŸÇ€€%<.¶›Áo[þŠ„ŸàÕ8ö"†ù°§)݆¯¢h+j{Äg¥ÞÂÑ#%˜2Ô÷Nê9€CâC¢Òõ&Ï„/I¬eäéó 2Ð"–!C‡k¶ÌˬZ²d•87¨ýïl2ÉÛjŠ-û'dè¼yœ¦ŽóßèuPw6à ×{=Ô)îÔìžËÎÀ®y‹Îò.À8|¿·0·ŒÌþ7“¦L`Ò²¤QÊ0©0äÍöïRbG‡ÌÜJÑ…Ëx²þM™“'&>–~«Êu)ΘÚJ'oC:¿®”gòùNʳV4„ÿâBø­•ãß÷á5I‰'Þe–D7\íDuƒØf…1Ü‘1Ÿ{IS%€uº|g‹0C¹ÀGL:¤.R@™Hõž÷WÚ(Áªõ€.ÍêŒÞç{Pß¡æx0ÍTb›ð¬¦-†“¿ˆ…²éìNîÔs°+;•èÈL49ݸ¹‹!%žpZãî£ó/b‹ÀÈ¡id>}/޼º\Èé +ÞSÂ3ÕÃC†£_«ß¬^Bë:÷’nf® ä…æX#7Ó!U!u~®$ÒKkm]Oçy}) yaÔþ­Ï,íä)¹;Ž×d±kq®N–ÒÅØÚâni˜>Œê¢Àqzf£èÙ‹˜‚IÍ#O«>å5Îo†‡cc;ƒ(ÏÍœšŽïï\ˆ­\üõšg”/4ÔkDl^_iÒµDŒQÃ_o2µBôtÈ·| ¡.ô¨Qì’ó²{÷ý“7%‘¡z f YK<>éÅ‘ŒÎE5 AaM»oþwãg†ª¯lõ´^Ââ”ÛEBÍ»Ùýáåx¸âª7Ÿõ"Hßæ[áàÕHä´…Û{?©RÃŒÛ½Š¼ @õçï’+tžaë6숌u1Mäµ7á’9xñ+xv.Õ*î¤4 ¶Ì*̆–xAMjP©Šðj±?€Dƒì-#zyï–-uüQ½Œ Œ j@ÃÔ /m _exlQÁIl¨Ð#XNV¢&ŠÄ¯8þ?têºlüÂ=jS^&YÀ_hðçØ´¬Bjjx‡yºÅˆ@YŠ©|ƃÑÕXV4#s˜Š ¡x0×nu¡Ê<1h…Wß pœ}®’¸¢ìó†2Z Õ¿+•#ÝOQ8!¢ƒ–f;L+6”àÝ7æë [@ÐTeì;~4à$Qøo€‚r5}ŽE¤¢ø­X~µ&¯ï™ÆõL;¤qƒ’BWpuÇvù ƨ)np—ãœ)`ÔOÓ# ’Ô Ç3닸Ã!@ÐÕ6¼``æ‡{]8! 0ë©*Ë©g .ðÒs)?¨ÚÔ½IçˆL”c_Ñé‰R¿$}m߯R‚29z•Fxçβ»ÄRÎçü±šúˆGV£ì·éN=¶:ºyä%¥ ±_’Bܸ‰Û?â {?N½îq¥tFB™Õw›Y/æZ;oÈ¢N(ËXäÔ(zùýªÓ¢–ÙZXˆ‡M1ô˜^œ³ôk¨VÏ+|“C¿ž0y¢ SyƒÕ0 yçð* ÎEÍ|lÜiõ<=Ú¬Ìüvî ¶eÐT9h+Áª“H9ªÇÔÃÑxè,­†:´ÐH9ù¦Jñ–8'öIå£0­j·€nL°ŠÐ<4UÁ5— ÚDÍiP÷Ä|ø‰‹îhF/UxRž9ç§Kó¨q‚;_-±«ø¤†K{áøÇÆ~¥Ž£^Nt¿fâ—%Þ ÓÇ=ÝÛüxJ)J51%€¨â¾›Y6RYî4"¸¤ªóѧ¨¼XªGåók,l§½='W¿2±ÕM1Ù†]Œ }°•òeŸÏG%Ï+™¹ÛÑWºU¤‡^ÑDTô%ñ¶è׈›-Ýü|yßþªx4éûïŠzGŠ÷À)œ‚÷²Ås«UÕ%Û£HTSDÐÆç¹ÜîµnÈ9F‘p= n§}gÑ3MõfqØd–ìÃÚ̘¸2a°S&ïÉhõç¡vjÓ~f5ÿ­`Ìš¨_8ÆK÷CwŒG—.ò8—­ñk¾›p¹µÂõæU)VöÑ]0>õ0>Æ+ûÎwòuƒæ2©“éUµÄ®qêïg$dŸ½’‡Œv&zÃbà„¬ÇvŸw!¢Rþ=Íyô“4P1zT\Rç'*mýXRzâ¹zƒ=@iphVˆ_ÍñF'Îô͎ѺkXŠKâŠÃn´-5’®RÅUÅkyÑÙ:°[ÅæžÌcÅ»‡-«L†à¡{þ°µaäjPlv°|ôqQ4#“§Cú·Þ?f\Î| (Ob­3v$Ç>Cep©¥·v ¼H•¶bjì6‰îÃ(»bÎã:÷Kq{çåÈ­9€À£±<±J!q¯÷œZ¡Ó)ç$Eö¬Ô•œB&@þGà¼8fˆ R†ᥘz¯@ž¶ÈÆLðš~žÜ@è¦â×}õyûþþ0K?¥|ç†ìÓâD¦mWŠ`–,Æògðÿ 5[Âdž&†¨ó« ôfðnc};q3´(A¯É}ØÑ£„ßÓ'ÄÁqò™ujtí§l õp 뺲PÍà¿ÕÂ:Äæ§ßw€5AW‚YÍž¸ $PBÅûÙø]¼Ãp=÷J1J4Õ£¶'ì¬í¬Ú~ó÷Œo³Y›ÀÉs=¸Ûe•QC$ü¨ÕO ƘŸöñö{‡;¹ôÎ!TgŸr‡7¹¯í«@Í 8]_ì£vûq]~sËìQÃ0ÆŽ~“ý ÉàŽ«Ìñ¬&%Ô`Ng†¯ k™®hгYbÿ²ÿ^<™ÐÌvWÕꀫP^ã &ÎIƒ¬§lКǽ†òíw¿™Ûÿ©×¯¢±Å.fƒÃ(èô©8ë~‰E!Šmƒ|a @ËXaL±Üxb”|È!lu+¸i#Ð; "M.˜G+Ö°äO§ï5ð}«ui©c-øÈt¬ë,•§É.åGUê›c{,¹2âFCöI–d…˜FƒÝIT0L.§·+IFÒJ"Z˵ÃxË…#”c ¥hôé¸CȺò=ؤìÕj¡Û*•È›wÔÚ$‹s_GÓJàr)M†& /Æ=uÅ{paùþ̧ü¼ê—F]èjÖôÊÁtSCR­ƒ<Šmúá[Fë¤|иöð´†k¥ž[ß*‹«§”­•­·ÕÒmc¯ÃïKÂÍqÙ)í¡ˆüÎ6ÐÑéÒEK8ØÒÙzIù˜ÇX"é ×úDŸ4©ôJ%(BÞ½¹â„Ñ幃æè³žÆ†LçO!Ö"rûu€øHÐo^/3Êëa•vh!•§­¸[E“‡š#"k7é&Ê«Sk»/ôâX¼IÛ×Fðh`ë’€¹Lë¬2]|VÑë=5?Pö@¶—§Ù1uá‰2gf4¯ÿ„¾ˆj|ÖiÔ3"b ¸”VIYcZæþt $B HÀx^e~ šîÑ¢é“lÏBÊFËúkncÃÅ ãQqk­à Ÿ±°nwŸÈžyýÓ÷±KÎß ùVüØå[Ö!€3ÞÇØ…Å´­à¤-èò¤£‰º}èIAéÛݧ>gÎüõÏÂ1ŒZz•îe™O]1Eˆõ±»fƒô–wÐ"PX¯žbVMX*gÌS4lº¡êE{AæšùÊn¾µC\”g€-ž ‘N ÓÍ¢cS{+ÇŒ£" NèðÑ*_îˆ8ö̘Œ8ˆã…J§ƒøù+–áÒš4cÄw߯Çk6¶Ä¯'½V¹}\1Bبà T.w`”Q)õ„TûOŒ$~ÊE¨ÕQØtó³"¶ŽG¤‰×;‰òž,ȼaµ¼Øaì)’žÓß¶b£t\JBð1k¯ <®‘nm@ÔgØ«€5ôˆÿq™é¾›£·@MBg¢- ²¤ËîÚsG¡$ç7uì!Öçéžùo„oŒ8ÌÐ0I 3r'ÏT}tz®3úî^eІΉ\|i‚õ£ê‹ÿÕ÷RYUÎ4ΙM,” gZ':´ÎFõB¢6ì¬Ü·?§eår- ¿BçQ).Th!®Þ¼œ 1˜ç÷DµEhŒÁ ³e—¡". º×«AòUq< ÒÍPˆhžp«ýL„ÀØà[XÇ¢F)Þ^ ­Ytë;,/k/‰©á”ÝsºQ ¢Æ¶EX¦U¾t%^lîñw"¥faû»÷ÿ y>U3ñ Ÿ ÝÌè̶0Ò öê2c;¦½y«„˜¢0J"+•Ö=Ùè}\Ö Ê:]äŽ[“Ϊ-Eóõs:%5¢™ç­#íµ³¸>"Cùª¿×}hÍëÎpL¤ £¯T؇h=2Ù÷w”E'¼Äûî Ú=(†ú²›¸o}‚’Ê–uˆ°!¬tß‚0÷lé>³:•gûä-Q6þ{.heQgä+ø¾¯Ö½rZIïÙÁBT½T¢Zn&¦[EÏNiÍbñlä×½î½Z…ž¨tצ[‡ÉŸ,y^2õh¸Õ~|¬Ò6Æ®-ˆZ˜ÈùQÍð~é±ëbû»†pJ™ÔŒøc¹ d!Ÿ™z}ñêý‚ŽhÉqX¬ÒÉÄ"çß|$`.³_>r`EQ}¾R¦v%‚k­‚õ8œ+ @{Ä£†À»{taÀcPÔæÛ<»Fxˆ*+IJ?ÿd –ëß6Õë…}«@5›-¢)Cò~4›\Á%ÆÞ·å¶m=µ§Ö>¤þVҖα•}/Ïxî­£ˆ)J^sCIk¥Èty7 ÂòIki­Y9À9›€?Ný rÒD"f*>#3x£ÕH|¢ Ÿéœ¦ŸLÄÀ`M<‹Á¶ðîm´;­EU(WwË"iå ÉñÃ{uçöÆ€ Ìù§¡3Ñ9Öž¢ªÿ•º@6rl6hIÑ1—¨^:kLËo¯äEì·L¹èÝ‘Ïå¦xI:4 -d/ÐÛz‘wF®&³aËó]d Å]M¶mnÃHð2›ú`/…¥`Ýz~‰Nd ø€¥ð¯U›?8‚.2IìÝCe€,ø ©hëåg¡Dì3‹äð¬I×Zöpˆ LQ£¢ÜÂfÐäß÷.=^d?Íꈞ-²lüSWPŹw n¶ß<•,žsò, úå_a¤¦ú“Í4®…˦£‚¹ÑÇbUùôô&ŽØõOh\C±B±à—•u"kîÃjwXêÆ´ŸÌ×Ӥ̠Êâ{þžø-¯™[€´j/C}Ä®Ôck{Šƒ8„c@×y/n龓[Û“x,Óˆ‡‚ÐWá¼¾’‡|HÄ„v·QÞ¿CËYµñÿK|çª%x×gƒBˆx¬X'¶dï[¾íßh6p”Ö¸Á©Ì`àätDà[‡Û~½îóÎ10‡ñü’4/ÊÁçÔ䛬Šmä]Œ“ÜóÊì³Îû"[:N P Ôˆ›îî›Ç?ªceJŽÅ8’æÕ¼Ù_«¬õz·ä„ù4?žHzê™°/«ºñ{Ë )dÏÔðѸ¡™Cv@+.6çxçÿDÅ"ÆÊDc)ÁkG{G½ ;JµøC‡ p5Ä\Éú5”Á¡*ìXŒÎÿïqS˜l]<Æç™Pê>Ñ¡¼þ˜âÓ OçÂlOR×wïju]r‚V©6¹osL’"O±/´/Ï¡x†ýW ­ð©sXØ<3…þÅ’V7µ€î3èÊdñ_jŽrÝpG›Îý"ñÜÑi9¤KCà ª _cõš j¨½Ãñ9Z?Ýgò‡ç¦ãŒ7F[UJÑ•ê^š‘:7þfl™#ä˜tÕ€(ôÄãœà;Qåg‚Sa h€kò…-ŠÖdÄbaSdë7~!hLö-ÀtDúTI 0õÃ(MÁÞß=ÒJn¼Ä?dÓnQ¼‹A² a|oò½nËìF¸Ô7ަ½Lyû¬*Cªñ· ”TeüŒ8Så ‘ejdT°2 ‘ÏF±¡¬0ÑPkÿ#ñ8{Þn?“¨(ºT_ˆNÿôøí7±}"s¤« ˜v”ûD»KVÎýuו€d¶ÒÛ‘‹õ‰}zÊn?½P3aÉÿÿl'¢­ÈøÝê\ûð%j˜F®M^ü¤=¡|D£kÉwà%6{Ý.íè‡Ñ9ò5Ï)ÑK*>)[Áæ6Éq äÛHeɘ™—‹èSÄ»[ĸØZ“¯Ô:¯PŠù@ðCSøÆhh¡àÖåD«Z™IϾ¹Ìò-pœë Ù¢>Xè/à)ö ¨è8Ч䍛€Ñ¸_¨a†Àžp“ñËí2ðNĶgw·!–tc2±‚{&ÞoBÔ‚2–ý'ÈÌJK6g=–Ÿ¤Ä « F¯§ávcáúIS$©7'~ÈmSjÌ7ÌTd%ù£ùÍÈ7l<Ïf;‚†&xÛSóú$Þ:ƒÎ¦—«Ô7>4PšÝG‚Q>µfñ˜úzÔ¡ÍZ ny¯Ïl ýí,c%vNÊb3{$>Ÿâ’îþ¤aH¦òc½Wœî—I¤ ²»˜³ëJN,ñê¶uS¥,.tþºTæ§²¸È³À®5\Ú®»º6ke®.˜<> ˜™W‡Òå)ó>$ý}çs;)q-*zSèõ—4Œ ©ÞÌ‚$ fÄ_(Êt?”Ô‰4¨KR‹üØ—m·­€ã7M¦œ7§$8¼àŒû8÷T*ÖOâÜ‚Z»×Aó€Ìà$T¯£È­51ÃÀˆ‹1 &¯çõ¼Aˆ¶ˆKÖ ô ™2å"–âáÏإػ|Ž~!xdZa†ô’þ$µ™*ªºN²òLbå@Æ;0Ä5Ê?¼-.•æQ‰×:$u©]Øü¨¢Tãí0r=8:@ˆIC—ˆºZ^¡Š©q§9Qojç¼ÛïÈY˜zŽz¹Ž¬^€3R÷ñý÷cOæð\BÀõîº Eþtt—LÜMåòß‹øÓô[é¸í&È£úX( 3SLÃqö'‰hO²µLÑ~·h«Ê¬®Pê’ QãÈj{Aƒ¨yøuzƒ'VÙÿ$RôÜ Ðcÿ¸â˜ÆGË’ŠeŸêð¢èœü~ÁEm%®áug;K{uóøuÑYÐLŽÒÏׄƌ—m4q%“Ü:$Ìïï8Â_)áÏíÄGw°ØÉ…rÓ']4—È 0ž$jeÔ uœ&{ADäË«z×0@£¯â 8ãr½ßÛ®¶×.U[)Ç»a¯wS|m@üƼ.cÜ@»¸±&Âv!zT`0jù×3ä¿ÄàXp´x܇IC j«:Ô¥aÝy4‘åÛÏé”…°Â—à¯Y‹ ~S–il„n¶÷ƒáÒk±¢€ çx/÷£M'ãg k ¤‰£üÀo=f©-îº|M\rå~ÿ­ÄèmäªÕ0âWæê{âÃ’ÝP#ŒReVÓ㡇I’%ªŒÝH ÅÒ[²×Ͷ´ ,„3v@­ýïY­–\†S£-¸†,ý:ó‹/‘½[ ¼oò±žnÂú=ÞëgXmg©û ³uGñ²ÐîˆÁþ(c¥<wW$õ‡ÜAȆ>žãøÛÿ˜Óò³Ëª£æå’Ù³3ÌΈ¢_Ð|Kvô^„†Êjûí+úÝ%GõúÁÌ‘÷¹É\ýr–Dö‰í„äBÏÀµ5,…3}‚Eæ=pÌÏ MÁ¦ä®öq_‹¬V 3²×åSàþ};M Ÿ.F%>óBG«Â fpDú!i«Ë2çõÝpþ¢ÜÕ%žZ{–]zsñoßÁ£c3Rô•âŸmôèþeæ#Ä&$åƒ,vÃ3¹}-»Âs‘$ òicp–b÷÷HÅ=ðà©ÂȺRóƒ?ûq öSSø†©cÍC6ؾßîד'$*Äz©b¾µSÑ88€ˆ|¶ŠžSq6Nª§w àK±Á”CÉOÜ¥ÀS’þ»hÄ´%aÿp`“׈™Ív†ª½ú0œ"B@“ CË-^™bg;ñ%†°yȤ­Îý ‚hûþ¼¶X?š¸hÙ<©?±é{ cKU˜ˆ‹'h&G`¯H¤þ÷»ÃÛ`?B½^!"Es:-ãE²Ì^³ÛzRѧ(»o_Ri‡tñúŠÎ¨ø!ÅÇ‹ÏÞÆ¥\"nù#Õ× Ný ;PŸœmÇú×âÖLN=ßõkŸ²móP pP»·–î{˜âùõ¡m\úîô€º°ˆ*jLƒéX'=´¤ñ#¾nhGûV²sì2jÄçÂcxP¥+"f5ù”&OØ@î¡R3Ž)¤¦2|V8ÄsU_¸½ñ¸ÁÈ´óéxµPGŽócB掉Ä3˜“†Me Ê¡¬“„Wžcÿÿ¶î g¶l—´Û›¤È½ï*¬¼öˆÛ!D€ þw\ÆÊ«NÜå±ínf¿s9#ÉQlèˆì8#´ü=‚|Ž‚åÅiÏDeµ‹ûÌ\\fšÀ\Ã9.‘ú޾ÅTl½öŒ¹¤@·ñ5D®f ÄúìGüNÛkÝÙ‡ùø(ÞˆÂ.Má‚-´WýÏÇÞ|‚Ï)nï§ÝÒð™Qý‘Í=ä¶:b ›º7÷Ù\ì“ú¤FC¬aŸÚIœ3,wÍ÷2Z±¬ߊ#Lý±Ò¾ê°ÂB¾ôG â yÑð>Oúh:ŒÍklwb÷[ñôDrº èºŽf¹³¸Ž*Sl!)/GO1 •i&k…~5MÞs'v{˜iÑ áwžÚ%«YNH•ŠUÏ>O†ÿåèK´ód¥~z_aNO€o›‘ Kã>°%rt³÷a(™ÊÕ¨F}{ ðÈ­pX’ü׬V™¹@`ûM_ÙJ•9gUïk@ù TD^v†ú¦íeH®´i™bâTuÓ) #Nª¶'ÿøŒ ¨c¢Þº—Ç33Ž0ð‹ªU¯ÏåI:‘ë;ㆶ’ÉÆA õ(*»Wÿ!χ3ÆÓ[¬p²6„ m›ð;Ępb»Èèd$£xv3uŽ•um1ñ½®ô$ÂTG¸Ý“§½œoo™>˜Ô±tšŠ~h©Í;‹± ,Å—Øj…‹+gD+ÈCò˜ðw! C\“ˆ|߯£(ÖøÏÿÝKX]{#Àì‹ô²*U– {A(J,ÅWäV\X‰2®@ÖÓ¢,Ñ+ïUŽe×ÂúÍȧaÕïÈ!r:ÄÜZÁº¾ôŠ¢_}Fí³¨¥˜{L”ãqf›¾¥‡uŠ’$Í]ùX|?×£/~ýQ˜D#WxùB±U6êÉ/% G Ñ•&Ä•Å9×g&åYÓ»œÆÓn[|¦\ß8%!Ë¡R½Ãeke4AŠ|æGty‡pN‚î½—™ZùÃ#5C¿€KóݲÈtyèô£äˆéA ]qŽ·óD×¢¿p''ç›ÉVç W‘W‹Ýã°OÏÁ2¹(HW’B8¦¢Êà{l8ÚªS•m4yýrKCZRŠH#2K(ÈÔ\Ë«i¹‡‘°IDеüº‚ƒRêÜ®ª¹T–7¿ ¬z`sCKÂÔ-ùÙWj˜bÕKÒ–xM‹‚˜µÈ#î îö¼Gž_þá_àÝ3EX°znœø€vºÐs«¡=ln_Y³.{‡äÀ[óå“OóäÖŒYÂvaÅþ|Ö4è&e¸Gž âR‘š@ÀSfÏ!3¡.M ði˜ÐtÐ ¦D“DGÙãÿŒ  ¸­½ÅʳÐè/¿77η%_%ù¦Ú®¬Yƒ6)¬’Ôr_Þ‡…´R“þ"Ž»ûäd£>C‘‰cçî?G½h ×°Æ‚mb¿€t>Ã5[Ùvh32{'PìQ˜R óá°éZw€ggX@¼nT•E›Ž>:_x˜ãžž¨ÎªÏÁ1ø0úÌ)šú`¾)*ÓÚ3ô£JŸ¶‘kŒÌñ+²Ñ¡»²éíu¸a»GDà€ Ë»÷n– èÄ„¢m‰wÎÝÔÞሬ5MØô]}G#W˜J+£uà~$Thî %)jF‰o²xû_@•þ [bôˆ:HƒŸQ× ÆÁÞ*kIz&| E6f$°<wº(å ©¶ æÇ«¡m™pµÕjrfßeyÙ y&Ňå .Þè*Žª-ù×èßGn@Àºbõ\Ãó'™c—aWþxñó¶¿ Eå¤Dðf6}-ƒÅžW/Û+ÿŸ I½r2k Mm=9u¤è>Þ(ðT­¸Õ8VI*¾Ÿ4ïÍsºª*céžV’žXÚVö¶Àmû_ú)h¬Ñ5g‹G7ì¹ý÷z‘Õê©JÛØ1a’1dù—{VæA:éèÞ85ƒ„‡a`hÙqÉ@qZž÷rÒªÉ{©ƒæ€(¿·Ç .ßds#è¨>š '‡ïZ¨¬A¦ÔLhýåyØ0^A2¿‰M ÿ[®N'¶&?Ù p€K.04#H@B˜yóô¿Ë䨚Ü4ß·.Ÿ=`L­tr«_ª4ɘÍN Hi ´õ´ÐM¸{#GšÆ5Æçúüð1¸$Ÿnè`dÝÇÈ ?òw°Í›½X^Lƒ\Šó6>~â±FM~ÆZ§ókYâe˳ç÷6ù}pÞm¼ž ÇßIJ´òìwp…cìã(–9Råóy˜áÕ ®´ºá >ôÀRãM§Ë&ÌÍ$ ´Ö;g7åJù›×$U½ûO¢ÐtܙܼQ)›¦¹-ƒ:F³I\n¯‡è¥E K_¹È>‡æÓ,2ˆë„/øjâSø+†þê©>Bûj Ê%ÿÇ—wœ3Ü·2 àƒ«‰2ÊtÌâA«Bêz®zÎ N˜7‰î˜Þšé3<5+YÍcÅ^r*oæS0H{jJä7AÂÖbÙ¿Lü:$\J•Zà)‡Ëº·%Ê~SPôŸ[è#§8+Û‹ßÈ{§—XÂC{»²m“fÔw¢Ù~¯±+K¸h;ÆÍ²:ð”QIZ]ièø /$´*¢Ûp¦-‘0·?œ!(·jE´o –í>‰ÙÝÿ œ"z+»Ë‘  lçzW›:Ÿ‚sŽ¥A¬ÔƒoÙmÿ½}ÑÅ}›;EDzšK Þs>é.6L(î'ktôŠËx ’mN?rÒ˰õ Í—pV48?Ó†ùU_¼éí=ÿYý1¾³Ì •ß ¸·+ç1ïð>±dMZ_ÐJ'ò2uO·QSnw±“‚wHåÙ·*ºVÏQê¸]4]ËÔà]àPOR”uãûßÂL†Í« :`˜_3Ä«&nÛ fnPÍ™œ~CžÇ`M¿×¬£rlöú_aPÌA¨ÊåwÜæÃ&¸%×ã£Ï7WŠ­Ö½ÎXFÇíN.|Øì@Æß|}tØf>ëÛ¿É{.ͪÜkÀ)~ð žò´^§ˆúÙŽwª«9a.i@ÙËh…Ûã:YÂÙø=Da~ÆDÔ^ †„I6Ô„W®×ÌŠyÿK)e_ä¡™–O2!·³íóƒ¯iÖË‹!R‡©×µ ŒÅ #2qžä4úÄXamÌžapIŠðbÏ¡c*§ öÂh ®üÅ´îJœ–ÿ˜è“ëVD€|µ”Í$Lm]vJi.ž0ÝU>oòøuŽ›u[dn"Uè9%ú zTŸ[4¸Q§îú­àØŠ€L§O£ÐeéÉyýr’Ô‘ÀºV)FFÈm 5;ÕQŽSlL¦yj»¤µ´š—å×V¿Ä®ðN›8z2‹@‡.èƒH¦{í:íÿ›LjÀc;ö#r’;\/ #rÎXläÜ-ÜÝ+[FK‚i#âAû³Õ•^aAgòæÖîaõç0Ç‘‹ÎbT­%LŸ V€‚Žëí_Åëð˜ip“ãk¢÷XƒÊŒ·È>¥ >šxŒ3á9Úš§R´~šóýuá»GÖÕ.Wó'§ê›eÒjœV‹·»‡½Ì"üÅ=Ñã:8Ë ”Ÿ>§±qàWvq*z <þÍ^‘«÷T‰LÈ'÷Þêõü9à†nˆA¦Dnù‹ô&Ò|J‚2úy&SÔ‘øÑÌtÔpî8å³IJmBÑ”=Xig>­Ä¯Éú¨EVÍnšº³Å{éŽÒddݘ¨,nzsÀ®¤€?i¥,[hU Øà@ñd_Ú^ÇçžÄŽ*^îÞe‡­úºôhçÉÇRÀY”ã3{ë’`á”NêoZ %À\—â /vL´WÂëÑ€õEMëz%IôÎýƺ´÷œÍ ˆMUxWCiË àb¥µ$û/ ×9„}­XõÌ`:*}ÙïÏ/Ôúã¾_/u]Ó=kÚpá>ka õ Š<’,ž+~~p2?ăuÐI_ž£—øó(5%óX\èZV{9–(!ïyG’ëÔøzÕ·¹j`\X3ë[$[жíöBÆÒëQïB^?Äk! 2åˆøLæÇwΑwL€]XYÄûôõãØØ l09¦G¬Ôˆ>EøÓ´á²«ëþBO#xµŠ­QÅSUSYÞTf”¬QÂ_ìöOe‡ÚòX¬•øŠ ­SLÒ8ˆz—Ë”°,²z[ZÖh<2CÍÔ|±"˜î™/«$‡;¿F•a]H û“p'°±•xoo…wã;PíA5bŽÔŠÉkÉnÆÑhD3!ÔÅ`K¦jå4ªA¿fNZŠý" œaF宑Í.T‡" gV¸#$%b¹¶­S0Ê<ÅQf¢"þM%òº Ò°_öopßíÖRØÅÎ:­ýîœ6¹0‘ë{.T#xNŸzÛ¨:uWcþ'¼»JMPäpSÐ pâWÕC†9ìVx´‘+H=¯ 0רþºªFˆ¯~\È.¼;åùÞ#$[H­u^@b£ÚbuL»Ú2‹`@j±£Èœ!œÔáVTbÛ°kÀ­±  ‹äH°Áâ>#›÷ÇOfƒûæ:ÔOHÞ¡µ½öÑeN¯„Q²ÑM¼±¾ãßÊÈØÏ?€>:Ë|et' 1‰ïP]ÄøæÑ?u‘É$¾Ãç^É«5ݸêõº­$„3ûUú)pJXtpÒE+ì!¿‰;ÌEÂùñ;Eú€£› H€1ù1y§{Î> Û>úÅ}´!:¡ÍjÁFó¼«+ó‡›￵/Gã:ÜPÉC\·Ö"Ä:tLRs‹n²"B2ìaì‚4Ð'Tž ¬´Ck(7*TÓÒ ‰ÒM ðÆè¹Lp¡Wß,¯=¡k†×_ìC ïyNßšŽçl&9@Ñ¡™ø1Ðê˜!¢-úøHWí,Çu xDQŸu$Û‡"õ¬üØDüÑ{Q1œÕãü4"õAÔ^§‰æåÒå/’Æ)Œ*ñº'ýÞ.5…ãP¥Ñ*¥&°.ž¼›ü ­l|߈Pè¯{cÝÃT(Þîš ‘ÁsҖȦކ¿!ÁK¸Ö£˜ñ¨ÂLVeâ­ÞÞÔ¦4UÜWú9ðÉGsÍ™ð7¼‡ ¡S³ƒbÖê´áCåÁRûÿqýÄŠAØ"GòQÁ.ï7¹zr‰>¡^rˆáAœ©›‹¿’% ¯ÖÜÿRz ÇÄ£*–VñVzÜ´k±:%¾qXù-Ô¨e§(¶˜x1#1Úúä™ ×ÑžõF™–~áêÝߘ¿©B¦GZ ÿ#þÞc‚ý¼»ôE÷–;8ìVY—Ðó¯Ø^.Ìm[sö Ê'Í&Àjàm¥aÜžÈ$ƒ¥pÕ0õõ–©š“V‘c)„‚Œ†Vr_"£ø2þÈŸ]‡`ˆ¹t:ÜÂeʰAG½®y)Mø9àšÖšX Ä `´dˆõKÊÓH‹«—PtóÆ<ý\!0* JΔ.;AÖ…© ¥I ƒE=/ÌLÿF‚Gœ®„d ¹³PŠkle¤©~iªâMðá âÛ9š‰Î/šÕ# -ȦAµìôï*ˆé>)|0Ö«ÜëóÞÁJŸÑ€ÙYë\¾ƒëžSöøÔD˵YÀ`?Y|;׸ìY·Ü\hµC74¹iº¦®5{aâA0ƒ¼¬eDÑnÀ9©>•Ôá·b 4—]Á¿W˜Ø©ðLÈö„(¶v=%y1þù½áC R,Ü€°iúžæO÷GQÔƒslîñ\Õ>¿,È_È[N³@V–z¨¿æ32Õ,ÉL &®€†™ù6³¸¢ç÷7äÓ!Ûð†œ»°¯ê„Ѥ5lÕÏž·ôöêéëŸ0<Ä‹ â’ÄòÇÚCß]Ãb x"5u,ìD6Ê@´ $Ly‹ìÐ4S6A0슭ê絇‰p?$,|LX7|4¼;±'îp1¯K'ùZgôו´è¡ Ö'²Ê°>Ÿ¿èVGáL½ŠoéFN þ-mn°©”Ï à†ÈMhäesÂ4Ÿ)ªëœã©7ÖSºa† ÿ£_ ,“Èï^Ô+žND,ðríð=V²Ñ§N+Úd¾8¶û˜i¡dÞ-3[#Ì ýƺYu`àËH$˜p¼(ržÿ0@0UݶTË>e"_¶¸î±Jñû uEqÕðÔLÇI…K^ê›zT€æ“ìq /4ì4ˆöþÁKì — N SÀØ(k_B4|<¾)FÏëbmö`;ï΃Ïû?[Õ»üS.bñq|H¬5ßw }“zÉŸÑpóuPÏÕ˜µh@ ;w†à“$àÑY ûËÛÌïvšŒ„`ªH¨ÎØÙc™8ꥫ2`úD~ê¸w‚Ó3ºîoôÐäšnkNïJJÒIiãÛlãËYj1@KÖÉ\ƇðHè@Ãòø“vX_SŸñ:[þ)C9Êq}é_ßËãßì$L¶BgÒ>MѬˆ'HKOÔ£¡jКòdýü™†Ž}·¸í¬xmˆ.fý“ßš±Ôt´¥_Ô~åcåfGÙ•Fùï·±Øþ!¸­¤Îú®ÁUø³pø$.öp¶|ë˜Âéh¢·[aÒ æ0ÏЋ¿ïh¶q)Šƒ–ùð·½í_¥Ã'ãK¾³PON^ŒÄ©Ž¾Ýßlü3!Ûï‡f¸m Ë{©õ.'b‰…+I9½ ᾕ)èÐŒw¥%©9ƒSVOž9‰å\¨Ìgez{v]Êgˆ§Øóí¥ ôäHIqb‰ž0RÊÍÊñáø8¾§‹âžq­4Í¢FwhCbÂúÀÑ+åZq³9ëBüMåà ¨/w·Œý9CN»-Ý.6gÞîM¬Xÿv,£ÞC<ŽßÑÞ”Ïõè¢æÝõ]¶õàÌw¹·ôý(ÍÐFUá²â’ÄJ¯3]YeÅqf¶jîy©åÖc ƒV³U>«ë†çª“ ·E ²ƒ½|ãæŒ™Ö7L¢%ľNó“Õ|3üÙœŽL£BQ@Õå°áÔ[‚%̶:/F'gk ÿ‡ØéÔiÅf ýtɱzçÃK 5h|VóäÃÕ™é[8.`—e{ œÉ…Š7Juú²¯Á´®XÊBz›²¬N«ÊÝ!L£F«\4 N¼+vM.±Rn=úZ®”tyDIÿË~¨,äCM•oRœJ4ÿ´—Ø—E!àw~ ÷?Lj5ßfcM‹¤žê/\ä@9UÆsDUÄ4u/õäàdZ „|yˆ.!)3aäÒ6whËÝJtQƒ~h½.eG²¶Mt þ$F©_ùéÔe‚™d^y5©¦! i£ ˆî¶fâÝ >463˜˜Œ%ä>JËëîžmnÈä•Íòôïü›-OZ‰å?+ bA²F6­Nµ¿ªGd ®ÍÔh'o'®Äǘd&{Û¥¾/ S7¯ÏR‚@ÈÄNRûê —Lji]ÙHú^Ò—ÄøÀœí]oÃUU«âx5Å:WÇ·ƒôÅ&¸”-Ÿ‰#–:NÿÜÂ.ôàÙš×NòùõP"9—Š­—bòQ,Î;àÎ **>§¾ý»¨†©úc:ËŸ ´Ö'{¾n¿LËÆ!8)§4Ìý[æ¨gÿsŠ•è¾éhbjB8]”d† °r/ Î¤Ž‰"îÇUKŠ æèaÆ­=§Å¾dßßçí|w.½V!´í+H¿ª°›SÚÏH6§ÌÄ`ÿ‰7áñJ3”odh®K1'z¥6:è ¼ÛŠ?Xåòvb,ßvr‰Œ8Ìtõ›Ð?*ÄT¹¤­yÑå:hçM­íûo°ÇO7áN+Í×cÿØëÞH2ÿsf‡ÔŸDÐE;B±áv^C]qŒ¿#¹ÌQοa.ÃaU׉p1 üZçuqrÉÐ~_å†1HÕϰ‡§-!/wœoL!èîh ÝÒ‹8‰kÐMÜ~Û¶0ÖðRk¼XÕ­,‡:Åž¦«ð7 Sÿ+\ûNwRg=à–vTõþ97¦¢{õgÙôs9ʦÿ%÷%§ÿ÷„û&ô-úW„¹T+³’{È 2HÁ³€¯b+Gèfñ"š­ðÁYžN)õ(¾~P`„5Œ–/-ÿ(âҺí…ã¡A*ò}Lû~;¯È¨çÞËèpS‘#cÜ-¯œŽÞþìö’eœR›KA-ãŸà1­13eòÀê±Yö¸S¶Êœ)ÆÙE¨VÆP)Ó1‡¹’mæg'Ò`¸‰]T!þ„M–Š6U­¶q]ãÆJ¿Ð´'Fåó…ÆYûâz FÍ#tC¥½"–!¢_ºa£·_¤úÑßs#°ñ¡.±an`ü²ÙÚɘ9­dd-ÛðYÇ)ùC,Špì¤|½.S4 ÊΙé !jÕê‘r¯ï9BKÕ-Ú=ìZèy$˜Úqî‡ö/Ç¡NÚK{ØÙõß6‚ÀÏn(lÅਃ¼n*Q9¯Î KSŸÓ!±°Î:ëiÖ4ùÐ2TÁLÓó!ls—‰iÜTÂDDîÿe³ÒfAMV,YŸù2æÇÙìX–7^(³¶çµ‡ÌµØÃ™OîÏîª;™ÊÂ}Ž$óe=M]­\€ÇÑÑå $®>Sޤ×eš|®Q£dîzwKÁ„¦€—F•}ó•Ìé«È&ë@ì×»Õûü÷ˆ?+ò´oÅ›‡¡†·•‹¢|:kÒ©ž ‚G̓é%qœN,xŦ­k6mƒ«y@åÖ:ì=01JÃÄ+vápL¥°yÝDÙ{xLô«^˜©LhÖÍ»WÃ{hÂÌB“W)vŒ¨ÔÀN“‚®ÞéIP²úïé;A¨ð–ZiÓ¢ Ç*cLMíÙ–Ž}ø¤U›zjßW"ãŽù1kó¾ðìDUA‰à÷mz#Ì÷QÇ_ýÔ^uáþØØ¿$vwéb¼ôà¡qƒˆJ;Ä—›3š†Ð ö«Ÿty-¦œè”3‹6‘«ç‰Šº% d{À(œ_©|=ìÙ!é\À‘»>§<Å zk%ªÍZøIKÔ†¸£ˆ‡˜ ÊÀ?i 7é)ò®ÕCÆî§¨L:+©tê±D‘³_°6L"‘àhUÂ\Þ7o˜2òUÂGMܼλ®*{MÐÚ3ƒx[N-~‡*Bm]8«’4›:A³U¨¿2ÍDËþFáEÊRHþàm6;#aªÈÇ(‰eÐâž´ õeý'vFNØ$iÐVØ[ƒ-¸—Frt}Éj³{Ó^z\@¼/“¬ˆot86qJœÖt½ÛÈ—ÒlÈíÝ•¸p¦OH#KŒPóœL8¿c°{¸0À{³µAÁÊùtòM.–iÈ}iɼRü§³–2v ¯„›éØL=ùÍÝnZªÝ–,ùPKFéC+Aˆ(,•ìþ5€­‡lñ7?+‹¬ãîNÊœ€Žêb¸M?ïÅÊ…^†kWü%e@4B3ÕÇZè¹NÈ9û¿D1kìa>­.;n¢Â¡DÄ‹¢lý{I~u;m”³T ëé (,aZ0YƒQµ‚Å%gJ °c\Ôºþ¿3?ÊüÂëy'wû*™ãx´®éÜ­ásÕpýºTv® þ~™YxñhñÖ Oà ªƒ†ÏñÓŸ+ÖŒš³Âô«†Õ×·Ö¡R§©v`|Τ¶Ž¥¥Ê¸Œ°·]öH¸d'¨ílpj$"gêpb;:‰ÿñ ?Ù2¶¯QÚ Æ—)²a¦E9åÉù²a©ÇRaù ‡ymøÐ‹ZïöÜ™æmö;gY ;ó µ°Tž/®ÎEmßð Ø:¹öT! 8¢Š²>ůpê`#„šòw™&Ãq´?_0 öæ¿'ŸWy]XÚý¡BßQ}8ÔÌfŠÛMêèhTWíäªÒ!ßÜ4¡Œ4*£Ñ¸>,SËHo·Ìu_ôÑ)H™q¾ZÊô?ÚªÕñ5Œ5ß›²j_•“¬"Ÿíõ£øS.P!犸†4Œ¬ýI‘U"$‹š%HÈ McgÍr«_WdÒfcÂFF?@Âx!ú: ÚÈÈàþ Ú6w&×zr3|»õ»¤/²7WŽ'ÁzQx<äqnq1âàÈ%˱@ü®„N”üþ-ª[$VŸâÚÒTAöv'BˆÈ­®ÌDøhb V -¯­dHOIÅ ”ªYèú'íóÍý2Ü7S¼pzºÏFØiÌ.ŒÓRpªö4¿CâÓJ~· Þ£³ÔÚ'UÉ|èî:È~ÆR±lÉ¥#]]¯$™£Dè˜dD*4$Ãuqã ø¶rŽ ² ú€µ+Ø›uØ6 ùrBÀ4h' Ö¢¦9y^‚ÍIóª´"WX#øzøGWEè£Ö€®|·ÔbÇ‚sd>ÏÌŠ*z¨‡Í—ÉnTÇVø)bj^{ÔvÔýðÀDŒ˜o,/SëÕ„ˆ_ZЧëÍ­{ÐæN!bÙÑõŽXý*HQ‚ °^¶I !¶"ÌfÛúÈïDÂ~²qhÊ4FÜH DüEìj:r.¬ÁÂÆâøy]núÿOl²Ø,U H’Îà #a:»-Ô¸Ž°^g ½J—Öª'Âu '˜ö|Žw­³tÑõüb(öŠ‚ f¹¨÷C`ÒºFHN²na-Ô4É5ÆeÓ\—%awqÉsÕ˜Km?RÙ&ˆœ~(ªÏt¸ŒWÆEN†Æì‹…×)èoAl”í6©Jìyèc›]»S}VMf'ûÒÀ³pf]qÓhY纭 <íb}™o°'¨òÛá»'?¿Ä>wÖ6Epˆw­ÿá 9Óul¥+x¾`V}½þ2ÒߨÁacÜE³Q-%?îãiÕ°V¥M¸‘üÙÀ)bz0—ç#ÝÉå…ˆÊUýìÏ‘Ïü@å5€tÂ}ÆCöÎÙW1wo€^íaãšµ´LîF|ësµšrRUàšþJë±<Éç`ÔŽx“ètÎj½6’,Æîª[&¹u EÈ€LMhÈÖW—¶ ±ÈT 6 7Âz­½ùÄ. ÕaxïÉ(hšïëú ó§K‰¯ó¦J(+9¬è9¦ˆågï!ŸÞšÃîB!7D‹ÈŠçë¼*føÄ@ñ*Xög¸Hf©[Ÿ.Ò{¸óú#j’/ é3øäQkx!HMRaÈâöžzõ ~)¶QOo:ž»-Uã-"ήÆWèÒ½b¢È\JX§Kq4hÓ?/·4ÙpÕì<<'6OÒ›€POlƒ…N) øÕÙêJvæÒO‹Bd jòïDj;m@›hkUcu­Ê9ƒH†¤v¤t¶ž¶sîGJ=˜/«x žm$2YÐW÷:´ˆ™d€zrC“òo%¦«l Ï ó¡Âz±c¶£!g4\Ô >‘뻂Ð^¤ÎÙÌ ¦B¸¿‡±ã‘j8Ä«^ÁÔ¬0Ãã¿gÏue1Û'ž«Í}Dà°1¨¦šÃÅ!ÝÍf…`ºs4Ü65]ûW;2‡j¿ÍÎ é¶W21Ì[1?Ož9¦pk!Êîí&È"MRÛUxùz7i\6ýŒFn:qܲo7QsºjVñÛqd\t&‚–U±&j~jj,YüÛ7K§ÑiIÎkç/p`jé6ˆßƒ+äT9ë{` }µ±¾›„È›¶k¦ˆoÒîh’ÇN×½d¤"‚½yU§PúÇ Õ?‰³%‹§¶%OÁPuÀaçKԢίÿª[¬2ý¦†"ïh7&¬ÂìÎ0$Ķ~¼Üq¡úUÞ¨Q¨ô½æ îž9hGÔ¨8`£¶–[5ˆ*cGnÐõâ…2Žª9ÉByùÄ€,—ê|¯I3ûªÇ>TІPöu2 žbÚkŸÞ÷™Yè]B;_z‘©¶cެ~3e«Ž‚áÔÛnë’Þ;ñMHʱT/AåªÐ.O÷,¿Êº5|Qdcˆ¬+!37ø2 ×ܺ ;Ù¤û$dð*w¬éc´ëîLzøNPÐ>ŒÏÇ ó#9nàÍ@¨fÛá°W1³ë¾ñ6ñIí3àöÖ«Æ‘Hr}TXÊj,Ô>ÞQ€šÃúû-\cŸSd8›·Ý*ÌÀ!´­Ï1E±ªœ^„yÇ5û„ÙY=ºñ³Ìäuüí¾g€œr)3;뾸 íRu…ØÅÿO°Ü}¹^ u•/ZˆìH;#äùñ4ß+ÊüÀwy}!Y:Û‹¾¦R^x¥Èöi&28æ–ôN­1ŒØ—‹éˆO,m¦kß ý‰ç™ÃpÓW%…ÊÈUnJЇb1DIªé ÷ßåû‹!2ekÄøj¿9\ KÙþî=ÄÔ‘n#6\WˆñUñcý‰_%»ç*yO¯ÒBaüùä5Ódt0ctŠd€g|àXmÖg4-¤—Œ4xcéY…kÖ<±lÌ’z¡ø(3 µ`4Ÿ•‡ö ðò·ÇƒÉ¿„Z9«óÌq©†ÜÈ÷ÁÁ¯£Í)×NÙÍ>ìÍ€´qfu;ý°“ÇÍaŸËõ¬Wh>ô¼UÛ˜5&/8_¡”©Ð^Ê”™ŽÂE› ¬V³Åœ1RBNÿ˜„ †º™È°ÎÇ0r¾S1*[ÁQÈk´y´(~‡/Ï}èÙ•'ŽSå Fš Ñ&–Ý*ÂùzáÜH1 žÉ'(žXÆnßG×`5{íüùaœ³¬#ÆÙöiq;[êö!‹"žNèEkEK÷VhÆÛþ»äë#Z¦ÛHÕiøü™öÖ[áù¨1Za´AV¼ªá̧æ" Ùo:£¦F:ññ/Ñì?ªOÇxYuÝ-‡S¿þð#á*H?¶ºÛ±ü¢³g¦/΀n˜ÝÇøï:¼ª†ž¡–]HïeÒ)å¯3ч+ÌB¸?Mœ*FÝ„`ä­(ý¬š±ÒHÃGQŸ…K–©öB —‘b'¦·¼d¯£ÀǺݥÎ"“N‚YâÞŽ(ÄEèoÎÛ–\¬¾îpÑj“ì‘;| zâo‰ñÅÄ'‘Ä: S¯8öàjÿ~XY®ŸØï66D9¬@y.Ë€ö³Œ/ÉÓ”ë}Š0Ðì´÷Fyf ásOT½qÊÐûb2°ŸÌ_û#¾ÓBlXlõð£÷Ú˜5T‹……'€÷ƒŠt¢Pïn§%îÏnF.&I$ßH$þ¸öº˜œO¶N3|âW¢A½öX ˜ŒÂ äƒ …qƒ§'£”9½º‰³zHÎ8æœqÓPí6~i¦+ã¡øŠ"làa_Í!‰½4¾º8˜Ãƒm\:Òx“”áçc0žÕÙ¿®èò“´é©qÙò ¬/ª{v7êFÕð~ˆõÓŸ÷oôÅâ¦\ñaŠ -<^¦Vy™bÿ·Ãá-I°ÂÅú»'lýÈò<½RòZ…›u7z²ÛàÛhdÆáH4ýŒAmvê dUùaòEJ‰ñÇYdh;ûåcîˆÀ>¬e2¡, ©ÀG·O¸¾X&¢v¹=Û†Ä Ê)[|‰œÞnÂ}âLD#mÓÅðÈfüD~gØDý@~‡úõø…'® ;š·«"Iª ŠÁßZ²³Þr9QP’ï¹ ;æýr/îg0žh¹—M0€M 2"ЍÚ2Ý®4§‹«ƒ¹êln|ŽÓâ~ï> 9D•@TAˆû“8õì\øe/H¶â”jŠ1Ø9÷ÓÓV‰Éy“a1Á©Ò ÙE¸b Ýª‰ºÑë†ÀïÌ=ln5ÃáÇF¿pƒD2ð7d¡·ï‹«Žò ~­KÊíÝøNv¥ b§&M²!ŽOˆª÷±ø¬ŸâØêDÿóã5Oq6¾—9Óö Ÿ›¬U0 RóY÷/”|Ø¢j"OPn)y2 æBD®:yf ›|Þ ÄBÍ ˆ°4øüêÙuIZé‰A½ÍîŸ;t-Ÿ:üŽÐ¸¯¬‹øÊa=–­Ô²¨ÕŒ4‡v|ßÂyDš—¶³æÝØÁ(OgÔpF©Àk‰4=EtGl/ »w |“aeò‡ïî®t!êS7¿ gp¿Å«›Ó3ÓPi,E Ñ·zB$8шm~•ì†Ó$y87ÍsÕ_ü ±îáޫ㊽ ÷7e7óÑé¶n@n¾¶À©'‰‡Õ]—ÝÃ2i\\‡ÛpN4M™ÝÙýŒ2ª^?!8aU*p¬ñõ¿¾0Äž^)8yÑ}E°Š>èX1u‰WT…ÚÆ¸ð{Ày»&ŸÀï‰S•^"“prœv˜ù;µ“ž™Ù2”[¸¥~ÒO«’ ucÖ+­ qèÓ!²AƤŒß“E³<'®Míæ °—ûc‚µð,¬õµf¸ÙÌ–Öa(?sˆ¿¼üù=‘%ê÷9¹¦ß{øøïûdÍlŽÎ2nà|`›ã\‡Il²=¢ÔþêäÁc6Ö$±G¶i ÎE4Ÿ3~<Šoà[XGZ—y'q¯š‡ ë&zÄžChè j®dÌU–ɺ†ŒWBµ„|¢l ;]›k8—+¿†–ÐÔ"0ª+m]Wø‹ T :®ÃÆÑíP´AôLºÏ•Ë?š§8Ù 'S "ŸD?Þàú¦z(ÝMÝÁÿõYT¡û¹¡/ަ´UÂ~Ú@>h@ŸÂ–†ÕzÊT&버{>Î0®Ÿ5}-<5×@O±h9êtk‘ÄCß¶6ÌÂé!ô¤ëƒOXµª c5*à““á·ƒS®À·”¤»Y…ßçbÖ3D*ÝüìC¥ïྐྵ/(—’üSj6×t6›Ñ]`J“7ÇEæŒïµ2TŽ TrJeŽTmÅÌ÷²–6JþuåôL³ÔaºÎÉÁtï#kÏ»;ô‰“ÄWçXÎà[‚^•¸{on;åÏ_á'¹Õ[r•Ÿ8ãˆWÁ¿Ò$ÇI}åZ8ߨÎÉ-[åÅ«Mš+vÀrÇ@ ;8Ö”¬Å=«úá4 ÖRD wF"G®[?™ëdv8dMZ½ÓBA‘žNïýzÆžàüc®˜”ß`Ô|ÖŸ¨l[6åܱõXÓ}Ѓ* Eƒßê u³cš„}U]󙟫{›“˜ô. ?Æ9»:·Àì(äA³6& @›s*_eÞдj#&[ÏóÁ+1–a9;EúYŸiae5¯¤BãÞoð5Ë×ñQ-UÕóévj﬷/EŸÜ1ÏÍ^ÑizZ¶¢K³ÊÁû?êKø ÷Ä팺 HþmeÀ$¥W€tÞ1¬ùhÑdžû¡ú›ÄÎ7|88“/'S·)R1ç¥"læœ?A™JÓŠL£ráyGî`B^¨,ãûw)< e=oz °;Ö;ú+\O¥° R™¬ã¿¦öÚöÊEWÙ]12ä"ç'GÎZ Im©¬¦Ü&j‰à ³hYOý´Jå´M}³Y{ž¤OTÚàNœ]ïÍ[ÿ¹^}ÃðFVdó:û´›ñ n‰á¬RVžÉ³k’…ÒÕ‰~´yZä<Õ'ö~Ùz)p„f<CÐ2wtáZÀyP,õs¸X{ßÊÚ?ÅúŠ”Í4-MÃD\#ïXյѪ›ŒyGâÍ#|Ù}Ë•ÏD2Å_%0~ß05Öõ>–¹»%û5Ýü"BR}ø¶?‡ b×Ç`îN2|ç '¿AÆ<…^.ó!}wd$ê—’åò•¢¾»ß‚Ö=xgG)m­hÞë á—¶úÕ@1ïÒ“žfz¯uG×-í¦ÒK ŒP4ØûXË¥o‹hF¬C’ßòΫT ¨êcZyÛIÇe™7-ÿPkDí‹NK¸ROsgyôDž»¯ÝÎÎdZ€—/Tl½ñn¨"¥1zWë[Á-zn ]mGŒ¹¼°ntN"RXÄ#U˃d<§'B)TæÖ2™Tûò§ÕOŸƒé* û±hÕĦ¹ëñ›á‹d0I̯½ŽåËsRvïks4qj©úßXžrØÜ5¼fÆ5Ö¤M›&«ª¹ë0+ÇÃø¨zÇ|äâÙ”.˜ aKºÖ¬¶ãØüwËp,ƒRz…®Ag{¹§"·¸³kÉt ä‡w5V´7?·!.2þGû2°¼ý]±Òú¬xâ ൹èÒñ)­Ÿ%0iªæó>­ú9Œ&Í×J—Â"E»[ÅÉPZ°UD…±À+ã3†‰BàåA/›·•ÕÏåP ºäLìÓÀE®4Ÿˆ05~0bH·”sÕ&`bÇ ×io^/®÷Ðè}hgp ÃÉ•40/íÿ&¦@ båMšß$Aô'“rûí» ÙŒ÷´ØkOäêÇÏž`qC-e°k^Öæßý\ÈKdÛVàB»Ÿ±gN"ScsNü@îç;K-:Þ >C§‘Úí¬*‹ô|DXRÌHøu[VaØ L%AÊ­º^‡WëC]Õ,ÚÄGd«µU™¯Ê½—Eñ’¸¬0¬@~.—òs1oZû]¢ÝQ«BXApã_$î´ÙcÚsA6²°‹÷0mïsø)±Æy%”=ÎY"`‚‰Ÿ2p‰œ÷ë×^ÑæãnH|‚`N\õâNT&‚;(‡óZžNæ„òx„Ì~-ÀåL©ãºDø7‹´ß ïóaØTŠ­À6d)Ç©¦c £+jÕÌ0Ég,³ ÷þ ìx4¥°QÍßP¿¿þsvŠÝz_~TÈ|Òu€£4ÌOH‹>P»½ÒS?Ñâgè-£Þ7ƒßâ݈½ –Ö€¶rÖ`³ëøÍ}¼K{x \¸…PÍy"i…l#qg$æï0yŸ›ŸË2˜O8D°Ìy»ô±Š8fw>ÇÊáÏ•ë”Ô&þÚX–‘Ö}¾zk­F†‰@€©,˜‰,×/ÀkÌd4&¬ T žÎKBe;õ™ÖÓp¢wt+ôäˆy©çìê•*ÎÄívÞ}^Ã=Η”iwa¥­ÅÁ§þ1µRiM< †ŠÔd¢ö”ªø` ~yŒsO/Ù(ìx8f}ýojb„„²èMcŒ6!"Q_c.¶-"³}×úRÄ"Õ“WÅéÅ|µZò»ikn¤ =Õ ÎÎTh•ƒ]«R· –é•ÉÔj[¼D!²èÌæKÁó×­Ÿ§Áxíær3T¹Ž¥}ò·K„ _êñEäVÙàùùƒk'èØ.$nåj»ššBö›ß'…~eØdRžÊ)/nR½QQUtº‹-’¸òn²šžùômÌÒfJe™öaµ¦AžzÚ/šÊ³­lèañÊÁæØ Ï+¥sø‹mÑhÝi-ˆ.Q8˜Ö±^-vÕ/C”¶øiø¼ìß< Ñ'ŒÅ0‡q¥ýSž½ý”ú…Œt?žWKo o=šA茻¨â2Nµ%å?tΫf†À¶þ*´ ærÆE?rÝ?qáæX³2º7Ž»ždb‰õ¶v? þ}DEâñ2JŒ—I̦òÎV)“ßÄ꽜íu5®ßš;bé…‡Ÿ ˜\»Z+´<¸Öz2q›]eVö‰CÍÕ`—FÙýGÜ™=Ñ'ä8vŽVÎäBÈÓ̳?G+ˆaãºÊ3òÞ›¦GaóÏ‚ d="ifNÇh1xÈ6}5^ôàMU0ݾRˆâÿ6^ðn(¥nÁ4j¬ûrж%C(S§lÎ6ç[*}ª`@[Y_T%2 Í…3Ã7­Æ[¸úÓ²êUhëK«ì5œ‚ÙpgŸ¢|j6ü ™²:åù6Ñöú«‰¦£0„– ²„ñ ç8œª²Ô)\<=hšTPZ€.Ê›w„!+ÁÁ‡öçµÇíBä¦*[EC ¸$,Jˆ,4[ŸZ$jP V-érÄÌ…ßj@pX¨}åíêÇð0þjI–`]SšQÖÁwT»¡BÙ¸„aû"rfuúÎ …ÚCõøòÛTäpSþ*¤¦Šù6÷w"ô¸Ósñ§·Õ€$™£°¼Æ(xy%;B³v¥;ȳ±íêƒ ÿ¬Õ‡˜ç‹>‰êqå‘ÎÕoê’$ râǰDg,‚‡ë3FÁ¯U’VÈöÿš0Ï7-õº‚—5zïžY¿6Õ®wA§šb Äù/ÏèˆÎÈ!Úòûæš‹Hv=õÃ:yØsT€åÓVÌ¡õHvG)"eŒ0È-:Ú„Ys[Û aËšLÅ :elÆ$›@g,‡âßÃjÖƒqò»Ç*y2Êœù ü†È7â1¶¦dlålF@5Ík3Ìÿ:vö¿Yˆû ŸS¬¸‡,%ó¿#ð¤I ÀïzÏ×öAáX¼V÷¶LªPŽ‹Ñ  Œý6eçëÄÊê‰îs™=á,>ïilñÎVàFOqh\™Â©41õ¼‚Ùi°^tfû–?ñë‡ãÒ“#–ÑXN?ui¾~ÆQ¬™í{Mö Ú:ƒÂLbßçîÅ8L6,HüªKŸ‹yÂþj nqÆ‘O%¥²#2u…Ä?žô¤At(\{­ÐœÜÎýªYàºÔ}*bæ§–FaDÑÚZÑÁF9Üö½MQŠþÊ…B­øqj+JŠNä'~rV“™)}Iì\·C!nœéðøAPŒ¤vÓ«›Ì¶ö0Ê¥mÜLÝû>Ú«@Þe· &ç\Yèšüu\–#ËÌ_cðz®—J¨(vIª63‰D€ÞSÁÅ çÃÚ´ÉU¤Pžçå¡äÏMÑ$nJÖ?¦Äxœ×¨ê¬6I‹ëÊwWˆKÉEŒŸ(Ö´ññŽÒ£¢…%©¿í³.ap…+DÍa¥ç.rϨúÙ©ŸÕd=ÓƒVÇ¢dî9z/ê™WÁê `óñð7Æ—yW à,SÃh Îbº…[ ÌT„;‹iî*E8Ö>Fg3]Ä1Ó›|n–ã›Óx²Ë†uìF2W'¸ŽPç²gˆUØjDÁϽÚC¢t‘\¶úÑyƒ€“Ã5¶HÈò G•¢Ëä¥Xþ uCŸ%£XË/8Õå·Ø•ÞY?÷(|Êí\}Sê¨þÈN·ñ&½n®d®ñ¤]žêìh‚áçœËݨÆ5øD ‰ŒK?XfŸþ¶Ï‘nQTS¹¦²ü<ŽÒÉÎC£wP‰K ÒV¥Óì³û¶ñ¸Ø÷^ßE‘{38ñé2’M fjýº &‹”ê=’-¾zÊ»ƒôno‚`¥ƒØXŸ=èÌ`§û²è/EñymÐUg|âS IüRŒŠY!=ÉU@ø~ØëýRT3zé¼n­Ô³jÿyJªš/NU* ,4ÉÈÏ«í•Ky ÚÑ7Õ{yýú»Þ3ÈÈ])EíyÖædÂBù̃åÑ0@É墬 Y±FFI?ÝΗv^ø*`ìùD¥E¸¶×õO[Ž694ÞHß4ÕQZúE­{¡ˆv´"5'r®•G¹ƒ™\r‰Àkw5>”˜]7S<o°ŽA0&5ý íۧM•MjËx‹!p\é<© ù«Vç;ƒˆ~:,}œöâ€ðM¼¯tJ—,×Þü!Q’';¸Ì ghçá8·ñ€e¢ø°Âç D#Hxýºh­ôÙ]ú• 8éÌ>J”@b ¯a’Ê !o¹gÞ×vñ¸Ì’ggŠýP U\ªL”Û+ÁÔ‚Ù—M’÷æt…±g3e•ÀÓn-À\0~à¡§»ü°±éà‘ôØ|Òžëb¼ürcQŒ *íkè}Vf÷7}œ«<ïSàùÚ¶ízfÄìOÜÓW6ÑšÙÉ™a>ÚŒ+ä‰ãøóK‹þÚ|9ƒûeÅ{h`™÷¨&Ò¾{ÒÒ»6C퀰âb¤ÄK´eÆm`¥·}ð÷ØÏ¢DK,U•GŒ‰8xø»RÉDd„;k‡>¡s£U;t¢éxÿ¡¿KÝ„œÄ7TeösWˆäK5yñjÆ)}*ø< ªÓ‘ˆ¬×ˆØÀ¨“è]Ú¶U¨O…t¤®fw’¢ÏÚŠ“i˜ ŽÇdf\Á“ØEäÅ&¼ã6Žû‹-uHbxM•oÂ`É=UÄyÎ4I¿„7‹Z¢,r„ÂØÖûû+ù»3a7Ùæ…Ü ŽE&‚¯Åú¥&X&ÍÅ,¦ï-Y¹ŒÜ…’»ø‰°BJs/lÝ»•[¥*îø]†Q…*¼h‡kñHMBmçþÔÐÙKô ¸×¾°)ŒçñªŸé˜TŠj3R͸Ÿ»ö¶i!ú‘vgM+uŸ›nwÕ©Ô…¸”ýçŽãÏv’<ä*´°ë ¨ä¾¬ë+›‘}’íl/p†ð2Øà 6 ¨ÿ ‡3©8y8UŸ+¨@›'TŽ !¾| pâ”m¥$Ë gæÒÖ ÿ0úxפ'ŠÎŒ]š›á<Ç~ær»x¹7Aô§ É‹€Tì@€OË|û+k—yßMm}œržµP)Í¡—u ¢ön‘º ²um5ô!1±‡!c Ò®-mÝ@›d •϶Ù@<}è©ýM~îÉÊ@3]™ÒåîûÜíÅîð0Ëî×eZʱIe¦ýlÈ[¬¶·-ŒÁ;%‡Ã‚ŒÐÝ„o$l>¨¨Ð©+µ¨™æ-ÉÑØ2Å ’Úo¸+1;Ýž†Ó½R?LZ4ÏD¬Ï¯•(•³c·êëö¦Öä<(`@WPÖÞw[_#ÎÑÏÊO5”=«ýyŠÎ¡©˜EòCˆÁ±#‚þ²§O ‚*†>Óqeêy*<ÕcWÒþGSa’&5â±Y@© Ø=•+ ô£[t%¤pß4y úºÂœÌ‰âc+9Yo_8—$­vÐü¼Ôe7;·ª NЋ”él%°œ«± µÚKøÈ¿ÿÓ¼D¾n¿HØ^ƒåÛ×eùdY•‹ö}ékqÓœ;Hù÷=)¼‚Ò@ô‰ ލ†X{¢i',²ÖŠ\ø™}hŽsØG“@!Ã4ÌF¹jÉ"ž†!zrgVá=)j²¬mÅ0l°0j¦˜åEN|Ó…àšæ¤ Mš‚ÜoyÍÖôxYïrWCîqš],jì»ìÑ5‘žíÕø»:–/’BM(}6q …²&š.¢™L/£CfÚ‹jF*™§æŸò=Ñ;ýlúU¯”ü7XÊŠ“îQ hzRü’HN”Nt²|]ú«²ÞÍ}¬ÃàM?Í?Ô Ú¥C‘ xÌûd-æóž™ÓÄFm4ãôcÚ6í‹áÛ íIÃì%ýùQÜ‚Ù-ËDlùkßÞœáÙÓî0N¹ ~b4¡ñ̾!‘†‡D‚‡v°ÍhŸÏ^‡8b2¸8=NXá1G³¾È[¬!—ÿQ¸Mºò7Nî¾J‰/vÕâhmNüb†Ê?W¾RYÈ«à%)f4p„ÓèJó=HÞïÀk .võ¦ÙzÿÅpWí;×bê,M_õɽ¥ŸÕõøþ‰fX!ÐR¼ß‚à‡O~vÞ öbY“ºL…­¦uPXÈÿëXºJM|ŸÁ¹@„ KXÃ{eÛP 9Ö’]1ˆX™·åÀ;¹ƒûžac@âͤ­!¯´w猟BþÉ02lêSì’ÕèSV¹]À-NÜæÐ\^fÂÕàDš’UµJ>¥o :8(‘'²ÊŒ³Ñ¸/¼2áßzäK²»à9Â#®7¯Q­ßtî{†(Ú.üˆõ]b|ˆ_çíM,íF±d‘ùq-±I{µy)LV‡† ÁÃàöÆó.…ÑÞx±içÐ ½BÞ´Ðþ%¶:ó‘Nó¼6šebiÀtƒ¹fÆlöm›áH,¤MK-¬¤¹Û M•éR¹të`D ‡¸—f? ÏsP3ç4 ÿEoC¸T½Q¼uBKø¼|›;; bÕ>W³[Я]¡£á{ßYÍýf4Žš/EíñmÅÅÙl¡Ý8ü?azè›=â“S,~Õú‚üDð…4?ç4²-MpèÞ¬èq’¢%¥Þ!JNSêhͬb¹t­dÑ:Ó–!ˆY«yÕÜÖq_æ“°u¾ô±Ší Z$ÒÆÏ±1€‹%Ëvûà9BÁp&çp‚½_0à 3º)OñÙèÐî"xJ`Ó6Ƹ¨d(j¨šã{îÕeÕòh-¾A8Wè!Zù!8G¯¬˜'e”KÂÒe˜>ôÖ(õð<Ù·à.mi#± YKu7.]X ¶?/™@ñ#MIqÏ-àž(Âo ƒÌk$ý8Vm»6vsîØw©7Ȇk'Ò)¢ùŒ iŠ*žcL )ç³¢•%äÇ/ß ÆÍDKJíÃBq¬Òs^§rú›Á?‹œ³‘˜§â‡Bšѹô)%¬Cv¥Q”†šózÞ`ýk ,ˆÌï· †ÕÁŸ>/:ª§þú¹7ZKl™Õ1fU`Ý–ñYÄu†;aÜæ×œ"|õ&3:{!÷ø »ñ)‰~DAVnÀ^2d,£B̺4xÜÁ`ÞÂèDü83l¿þ'ËКÖhäÔ9c‘]NúIû¶®“b&ùÝþ«:ñ5ewý—Øocº”}'M×Á_Ng<ñn@›fyrn[À[Úû³pâq£óÑY«!ÙÞ*èšãÀ¸ ãàX­ß\)hÓcÄÞÓH.{TÁvØžè]–•û`HÇUÔUó~2UÜ$”Ôü‹öBw²ueQGŠHT!UR |/!ÑíbǨ´âާ]’žAüI®>ãRXø§³@V\¶àºwc÷WÖ›]Wܦ•ȯÍq>§øùˆg,hwõi˜e]¯gÖ×¢¼ßηYAþ¨0àà»:̪˜sÓCäȆ5L^d—8´#«åŒÚâ¡Ã ÷'Ÿ™T­!l÷`·©§Ð”[ Tö®rM|6yc9o‹C'X©–¦XU²nÊs+pœ$eæ¿kyv¹¯Âë”_En |›Çå‹ñ+¸7/¦û$Ø œ¤‚ãP0Á‡gú,œýr7R>fŠzìºRÿ„Ãév£liP_cß{œi75Ž%nœ§ö”!êÙÐöB`t¹y½Î®k¸0EI`toC€ÉS¦‚àûòÃ’šæÎã\„|²°´cîrØf|û[¦”Lè ê4ƒÍ“ŸLàŸç­ñ8fdZÆì0ø 2¶\P•5…«5´WŽ…GÀÆièvšâ¨òožrîüu”¤ï$?“ò5”HróxŽŠ•"‡g°Á‚³ß[Í ” —‹”8Q^‡kœ¤²翎óÒ§HP“ýÀ›Ñ;Ö~]à‰?NW˜öÃX">땤º+ )DÍ÷`êË`.Ouâ uˆÙo$Gû9³ uG8õÍ0—ÏFØÄ®+ˇw;]Ön¤"Æÿ' ®ë8‰E4åšµâpœ‹g„s±„zè•S$¨å é´>Åͱ Ù'ôt“teK&5ºíYCÞ+H·Œ…Y/>’Êã·ÌçdÚÆOàV=í CÕZŽø(1Sbvì—J°åÄ Í͉$¬“`Ä y¨½Q Fpì ¼o­,ftÉ5Â’ÙKÅ$ó‡0Èz"ŠÚŠ—yË•¼æ­löNSGhC'=3(;6Ëä7ÝœlÀÔ˧ £M}¼M¹oE´>”…_Ëgâ¢ÐE(·ÓÎo*êß‹àçvf0€œt·ÿ\dˆW yJøÀÆÓr¾º¾î+¨ “ÅÜìÀG·-ÀËšyË%å¹ã™Rð`üLبíù5kØ7€|ð€VS>â/Ñ*O!MÉ0Z<âEœU£éÖ.–Ì»‡³î‚c4E ¼‰·§C•á¸Ã!ð’ÎÖ´R¹;5¯-l™Eú¹Zá° œ p.ë#!~å…’Ô¬Ê+[Äj ÍlüI î¹êY€%€DJ0â|º‚o‡¦\Ýš˜(ŸòY‘ÞùSÿyd©§¸ 8KFZåÞè¢íÆb_cüÿ¿ë6·³_Ôÿ§p´yDcJŒK2Kò]¤’Gf=(J v×äôeT,‘)'(‹êÁY\Ýñ°ÆÌ¯\;j³Ù )_˜-¤—ì?3Ì‹C™`¡ˆw.tfÃB¤ »’ßÑaˆ: 8¨*³)hý°«þú™¢1Ò¢g6Y}À¶UšžOÜÏ¢Ö?­¡*TG4î½Õ§qPbN¼ÆâgÂ2o‘…µG—5Ùû·c3H‹qܯëê}ä!ª3ü{h–®ªZ¤ðø$QÆ_ÀEÕ+äH&¸é·ùÈ2eSìi2kEñL{1þJ) ÍØƒÓfØe<ÑÎæ—‚pk7ìŒ$¶­êe€^Êd¤‰Šr¨7a¨¼»?¼ýVºÀÅò¦+â^Pp϶,¦€ˆ©vÅ‘ñ¼ñÁ~¨½®·ËNóF<øk»ÏÙÌ(b âvÄÞ2*õûÐöq®©w^kÒšMèŠ9¸qq$’&ëÞµò†ÇÎîÀ²Éý[î×_P&-"ù5ð…Í/Àõà|ì‘6ª3çUèeâæâŠ/^ù†N°âWèlB÷ƒÂ =åÒü (´yܾ€ò&FÉÜŽLÒþc·ÍïXtAûc×QË€çØmöU‰Ž„ÏQ©Ê ]÷V]9î0ÑdtC…¢….ÿL ´%{Q½€Ú¥qëö=uKYæYû¾²rÕ€´I/5ð㼘ˆEÎç "¶5×#žÜ9Rnɯ€¨ë­O±ˆ¹ôÁ°NhÊžÚû¨ÀbéßTóÃüÞË„‚IøÌP–Ù³ Bã|ƒŽg¦øè·<Úðƒ ç'di|S6´D{O‡¶7%j·Ö®`(~tö?Gß_|ªÎÁ¤ŸŠÀk¢ôÞ Ÿ”0sDVÍÔ«F‘·A³o™Ùƺ¥TÒÆ wög"jWع\¦µžnŠfý+ôÝ6˜.ú½$o÷üØÊ8BÔª4sEŠ8»ûD½$³Ê|ÌsYÍ´ê @œsw¿åQS è’º—EdU·þìL“˜^Æ0ÑP¾/œõÎ&u¯Ø¢ÀhŠ= Ì f‚íákª@ÕS$Vˆ|òªŸ˜Â”sTÀáÁÉc9FÕ«ä÷e$à5½â`‰4C}Ó.‚z$þÅiJÒÅ›—KõQü¢§r\¬ =Yll[˜ëÓÆ=BFt½º;î ЪÁ/Œ´€nÛI•ôGÚ¤óvQ~rY&’´t˜ÞE'|=‰Snމ+ùœë«ö£–¡ÈyøšíÕ*ªÐ‡C²Wu=~ØQ w¼äjï¡ìnÔU8ÿ?WC±/AÈý§Ý¯&ÂÿÀ/D¨OÏ]|S~ ˆR}ßm9ºRÀW9£ìç$¦f¯®Üœ+"¶~’r¹Vþtîyµ×–Æ®³b‚²¨€q=¤døOúMÎíÌn<Ê¡¹yƒ|µ½èÀºMÒ|µÓ£YsC 4ÚšºâuUÍ{7ýò ïºIàlP{b ÙëGry/EÖˆ¥¸Àø‡ÿó= ;"K9~=…-”¬Ý½ oa–§û¸‹ ~€X`c¨$X- "UìKÌB¨5P4ÒÊ ú á36—ªxÁ1®h×ÔùÙÐÖ†#“Ê7ÒOïŸ0·²D3‡‘:Ñ_ÙÓÉl9;÷q ˆÙïÐÛf¦Ó^öbk{÷Æþž pÑš‹U¸Cß÷FáOÌ×f+vZ¼©HvLž÷—y? :Í\ïóv^'ÇbÁtô>¾ûõAÓñîIë!†]üìökBÁ{ ¿Ã6Ëç²² Îò9ÝŸgG ñ‘ÆîsDû¸¦l§XìnÞæ`T)`›LBRabÒý¶×ã€JÎåÕßÛŠ-}œRšüù— MåæçiŽÇ† "š–jeN í3^Óc_›Ã»eÔ5Þn— e äýˆŽR3Œ$»q²Y¹4»àŽfg¨÷›¼fñdœŸôxÞslÈõÊ1ò wsªmrÈ@°+Ó5sMUÑ´U´¥êø1Ô-OíÂØÅN¢€øë¨“ªÝÞ<ê¹–¾f– JðÍ{0ŽÌéw-’ûŒÑ/¦ª0z‡Ù/¬¤ó§ûuÎà ‘úH>ÈŠ±mïBYDnäÆ#ø¸ÅG³åL4õk¸®-=¶½û‹ ÍÎw‹Ü3>sÞŒl#תªE¬ÅqÞµâ•Ø®F _kÚâT­âr¿ŒÅ ¥-9…‚)/—xè+ &~ ¿T±«A^öXxWH{Ë–wÃ=f¨à,|/’°Új¯²u\Ñ–ižH>@ «5r˜ƒZ¥°òùGƒ±xB2ÑÝ©ÌWYAD €7ÎëzÀ-©Æv9ÔPÊT&s‹_³ÜÅ4²#à+`¸tиèã4< SsÅß:÷VÑÁíªÏ¬ä†w²lÒl³ÂI_ˆ°› Ý A’—Ù'Ýe[,ÙK/QøÚ€B¢ê¯`Ÿ@›§kÃŒ±\£l³ÞJ]|‚~ë\byt°œÎÈÖLÓåæ>º¹¯42–yŸ I$•q͸ýx„èÍÉFèŸvJ`æPW†Œ±Y²×SYzÎ4 ®ð˜l2 AY¾½ty9D]Í–‰ÜOï@ø`µž„ã_^(’òÉÜײ7ü»ŒžÂ19ü#ÓnÊW‡:ÍÆ].IŒ.éajŸÄ欙&™K&Œu§é—«†‘OÈ·gÔƒ³©_0!WªÖ D÷ ÐÞ6~ ‹ò É%œ½Fì¶qA?$ÞÓ¬ÊEJuö`IâÏ–´pjÊï£BíØþxKoûsT(Ñ󮟂ý¢ê~ó c1™Ša‚ ÆŠ™•@ÌCºŠ 'ÍÂ:wý· ì^õKôÏ{á¿hw›ÁôóoλÙR­)…l B$íø’&#êþ'ˆ£yij͡ÛS®³ r€j†»è_‚$Šu0´Ð-µƒ2 ðǬ¸f™l÷ÿ>ï¢uíÞúTÚGð9§åôa™ãµ¤øDRÔëÍ[ŸZà8ƒ:y^T÷8ó¸*½’ãö'"ª±Ëû™¥é­›x,ýðêeE9˜XèÁáסVÕkÚ˲å0š9-u7†"Ø.‘,'Ÿäaª 6"§ÓËþÍÈE4¦9“¦ $ö”ûm;wAMšQã%`ÙQ1†XtÔb­åp…ý>›DM 8PGÃö§Ã™Óò¥öþ˜MçDﺺTy¤ì9>øÏ¯¦‹XHuÎ×£±§[. SƒmÑ1µ$t2÷³º@½…¢S 7|wŽ ÜÊSQD4“{£õJçw†T³ñMÃL7û͹Jg°8òØ2f{Ðu zËÞ––8¬¬ùùÓ°F°¸¼êbˆ*ÕbcCFTžm1YÉV»`òTRâ°*3>¸LÞú¾¥Cxú Wõv^”3™ ‰£¯ba­YS ø#Yò£‚ð_ ’R‡÷m¡Áø$üY¨n¹Ÿí¥è¡¥q¼Þ=´C3vW³ý¸&)­µM’¤T$Ž·65/a"îh–®;‚0‡º5|KQ­¬xTÄÂÒX6µ¬dÝŠ"l[°ù3´…ƒp0ú]£ä Ÿ^2ùDèÎ2‚<.«n«”}gµ¨ý ßRÿʰÿ8ªçÑŽEµŸ˜Èm{¸ÐÕ/˜¿‹óîiü£òŽ…r{™z!ëbXŠ¥0mGçè²'·^Û\ ÷¡0þDÞS)åŠPÆ“žìý®ƒÍ‹Ù¹Óœ¡d1®µ5$lâ þÞ\@Î'îr!PxæºTÂ\)}xÏ ÈãТëͨœÙwiõPEîˆááÊÕÕä !éUÄÑÛ²–ïI¾sÕIÉãQ„&€b+{ëŒ0]· "`˜‘j¾?æ¦FË+¿jsU.Ò á r@"8ÂÀæÚ,J_ÃK18³Â´ü磿xá‹'þõ†‘7Ñí4 Y”tا݂6m_C;ÂíˆXopõe¡7‚ÓTRÆY¥ÜmE©m˜*#å !M…ž˜ÌïäãwJëŸë üŒ3=éB¼n:#{ÚCF " ì33ФŸ ž “u~lß™{_ÀàÁù1L‡}A¿sMúöE0…Rp:ž×±ø<Éæ^Ññ Û ®!±yì#$p™€®ÕÄ[œ¢œÌ©iÂFÁ÷g\æ >ŠËrù'}¬Q¤ŠOÑÔ_MQ³÷x÷ãâ°-¹<’®Õ7š5Oo믚Yný̯-rs™}9’Ýÿ‰6yEÁ Ù,)û¬?±¥8- ¦ì}®%©8ü¶á¬à”ßà–u#cÑjJ)èuò= ¿ <,ºüVzä« üx˜=âÞeЂ@§^µn‹lx¤\ÕïR`Á[R| MÒ|-Ä#üêÈ\ wß@z 1Yw€È)¶ЉÄúÉáÝ9ÈrçÄ–6ñâ°ÙÊ'm˜¼÷…¨f‚zá·Žš}<Ö«à”sš Õ¨"#­³8Lx¾p}¡h"CxDø~mx﨩ˤ²_Á‚Îå*vöG’Œé™c¬¤†>á­óoK°¡›>˜ž{n‡r³·º¹»›Í+ %kŽ* Ù½‹Tâ “?V¸¯w¸“.ÆE{>Ñ Û°&|°6„5Þþ|q¬&à&òè72"õ6”U‹JN;qÚ³÷±‘Á˜!Ö¯M÷Q]pñ‰‚³•t.œµwö~çQĺyÃ]ªú[úØñ=„9bz¥•[ÑÜBDCñ#ìØ±uªõûßrA¦?):ŸëºË¢E#‡ÜÓ©YŠR˜m½¥ˆAü›¾„ŸI~J)¾Xzÿ¢„¹UKˆ…Œ—ôèOIöê‘êvîì ­Ö• õêMÒm9@fpÅÕJøq'¤Ç¿½müTÕßëáWîÜŠ§ûÅžwsè›è•LËÖÖÍñfšIy&×ÀîúÙ<½¾ßø²÷Tðûù™“œ±Ðt¸îîMÝZ³h£Ä–®ffÐ B©®¾1$:SQ!N^Ë·cŽ…UàÊc., Oé*l3Ñ~x¿ïíñÖþ8Ìî|)›tPbÎKíX#€¯ãaTuFâ~x@Mnîr ™‹åL©{ÁS^wÐ@†g˘e£Ck E-X瞃ȶ|Ljïuë9ýçc{6Éìß[Ÿ’Q¬Xzní3÷çnZÖ¼»ÑRƒ¹ £?ÄìÐdÉŒ¥Ëf îØðff¡ã¹vRòêìhP!Ô*ñŸI£ÃÓb wVñ>à4M4WÑ4‚gåoß—L*çÉz8¿#uš›L £àÚ3M©4‘Ø·ï!©º²MÜ©OCNÎúG›ëÙÿkX åcNöì£òcüµá7žÚØhëÙ烚¢Ž}„€Š>ã>í s±Êɵ’ðø sue!IT6[h['þ 8Gš>L_¤„±®!DZ4pSÉ—søñ©ŸËþÙ褡ÛÞØócye'¸Û/Îë›ï(1ãQNõ5z‘åž—b¤ W ØokÅ×¥Ì(;hÕwÊùR̈ Áªí8æ›ê„ˆÜ%ù§!g²bUëÒ÷ `7¥ÄÓÃ&è‚s7ñ£û‡ÉßÃv(Ä΢Ê%È/è\lð”ç=œpÓóvT–×þé‚É`úþ¾²3+á¼TVþ­öä ˆåR~:meÍNÎt 2Êû,Þ‰Ó•oÂý!×hÆâuËÏÕè…vÁ"‰²¾rÀßC<¤Àv³x6Û9Sø óá oÓR%ðûôpP¯™R Î_˜3ˆV‰¿™gÙ»n½õ˜á„âîÊÁ í(êÅ_æX$!†J,°ŸŠ“†/z!#ôÛwÁMoÍÛJo³n‰ÖºŽúM4‡i¥À$^ôª½µ ¡SÔŠIŠ6ÕJ_cRn(Þ6^¨… rFʉh]dûÜ&%Î;íãÞ/ý~Àvœ«-¥Ô š.Y±—Ü5_g§_g‚d\ˆÚñÊžb¦jœût û‘da-V~¡Üq4âû,:sdrA€~wÿ pœD%R®|ì¤+-øËëH­;€“û¦Ï€Ç[…R„Ì>™êò³nJeŒ>Ôé©F;ƺS?Îg×}s|”4+¿-ûʸå¿ÈÿÛ ¿PUú+8ƒJäNÀ.á‚XQè®ô¯Fü€ù0‰€ûQÔN}3ß?w![‰yÑ‹íXª%QCÝ´ÛvNyØWT›¢8q:îsÎó'“°ì\_¡üò8„:(vQˆÂN¼³J¾á]ÚÝ™6öÿåJ”%Z Íy‰H7ÝãOÍ·HÜoÙÐÞ‡³ã#/"Õ :oU׺5ÍÆÅ¸-“ÊÌ]x)¹!»´Õñ¹?3 µ®ˆá¿¤òw¡,$YË+Ó_´¿Kï—ëé “»œé¬XDA@C×5”}Y0z¥7ÙÎnŒáûèÙ,ôŠ`…î¹ÁZ=™Ñ`ŒÊqrÖ½÷3ë•&5¶æË„ì`YD°l<Áƒ”†}ºj«e,Lþž¨÷½Aå̾:CÌ©înx± w›ÀŒFÑêü’`Ýô2îB_ÉþH$çzúmÚ—(ç:ÎCôô½‡Q ÝKÉøíþÃV•m•çŸËNx¸c ñ5bÖj8ƒç°pçïí^^{oã±’ûú8aTñU|‚¿í‚ýMÁµ¾÷N|–ºo"?È ª}.{îRÉR=ü—AÅ¡>|dóÌn—›AqÁüœëfˆYã‹Z›Äz »Û»ïø.ÃAŒ[Ñ ¨žmƒõàvýž-qú™çÎõ´EmÛ‰îvÅ~_ æZ1F˜ "+¦Œg{MÎ Û”|Èë*63x` ÇÁëVv>¹Õå&[©=z¨º.ã>¶RÊ¿7NíÙÏíØY3(YÕM CJ[r.k„—En©)ÿ*£Ö‹’™°(.iä& 9[àôQŸB½êÜŃ|9ÑiJ ­íÊ|`9)¾2Ãñ¼ö||Ý6=õž²¾W•‰¼Ù‚u€]'Š%  5k‘"ÒD¿Õℨ¢ñü7n%wýd`úÕ-ÃÁGïY¬Ííþ«*»+›|ósµvÄÕðª>JÔ' [”ä˜ðá¨ÛfùÈ"JL.M·eßV$¼DÎë;5;zÐôn»÷ùµ* ”ð€v©áéÖ寗µÀ3¶?^×Þ¾þ X„»rŽXc¦µ¤û¸“ ”¼[å¼W¥L\':tA¥!$-ìêò4°nØxñj^”.er!ûôÀ-B ×»Ï=;÷$#nµVi>Æ“ÃVFvkÖï|+ŸS×6ïá`ÄZ[±S«*tU§~¡(`2sW‡µv’·ž³êX±Y­Ókz.™DPó–<|²VÈwu·•Å"Ð}C»jŒô[‹sÛº½@É•QkXÃPˆÉÛƒ{RX”×$qظ7»y6ØýD‰Œ&%ÅVÜfœ_•hCøC'²Çžõçä}ÖèÔ±Á¤Tô–¶²Æ³lþ„Ð^ŒÁyó2>`&Äÿ5Å Dà7ÓfÝ·U%ï‘g¤"Åo#=·b”Ç>ÖÏ‘8ÊYƒ ŒØù=öÀÎJ2ðF3fRsxßLgj¦_ŬQî Ÿz‹û´·šÇFSs¯Æ¡…®DzVP?VÊoá)"›qê§o;ù±´å®¶·_ë–@w çÔ¯ <®Â(“eÖ1Ê› báß|å; J3c³bÖ䨼 ©qx+â€/ú{ªõÜ.Ó÷¥¨ÊÎC!>7;Ýo^zô^9¸W¸B„0JõrÁ—iÜåj®«@ðóGAl¯u‰¼Š —ß—2̤ܰιB 5‘ŒÙ‹LÖ]РRÂùñ”Ή;\ìu¦1çâÄ©Ç@B¥÷vH`áœöëåz"·ÿEöÚuþFšnP˜ƒ]²N Ëã9÷åŸõà#8$—±q{y“ø‡Döâ|úê…’Ö‘Ê!pÒ `sULt'*Nß{‡oøôÒã[O6úçõ•Plåèw/ Í®åèw’µ“.ë/„؉`øŽaK7œRƒ}ö½ƒªÛ^³%lûêOþèðW÷¥$jÿ7¶Šë»MS+d“E;ƾ–™ÓË–§%»ÄîŸáÇZ×Ó>l¶fÂ)jFT€œÄ„Cy‡¨=5Ûµ¬|#lïÊ¢è%)¥ÉšBÙc§/i×®M A•l¤šÔø®ýcÁƇ?eðˆÖI>•îtÿOÜYý\ø„8ç›ÎlÎZhmÞ®`|€——ZKÑ•`€U7Ì[ç¹&ŠO ¸À¦#|ƒÎIé«Î>{†‚L¸œ ¨Þ ¶øH ÄL†¤È±RÂÉ2¢©ÕÑVÉøçiY†¿t.ÆàUþÕ`5’ƒ?¾<犰O£NB"),ÑØÉþ9GxýÚ†›¸J3©l¹G>NûáJÄMÈ–nêqÅ[ úÁòäÏDwœÂ†5Ëç.bMµð9rîlŒ"ŽžûÅþ¶-…w´5@à{~âýTõO"ysÃUÐ?6qÚÑj¨Ö¤–Y­â0mšwÂaA¼Hó4û#ÑÜí†×!ïŠdÈò Ó-Q=ø­»ç/Kà\¼R…›hkçž:€$9Ù fsôu‡X[ë¢ÿt\àM¬W× ¢”YHÇÀLK%•Yt+‚]7¡ZEfl$.ã±%v¾]íäÞº‹Ì÷ô$ ãO_•33æÀg¸®tËEŽö3Kžg]N!aØîj_[eP‚rÔÊ݃Êwš‘,»\y3~_1‚¾#£i~‹-X†¾¯ékï¢ ¢ºïˆú-·€–ˆ)YÊ@qX¤®®‚¤‰š›ì„"çy·5®¿,~_´âÐ _jL#ªb{CòÂ40Î"‘“†hªý‚ aŒYƒEŠ—:ºóéLœ!éIä¦8Wª¥…&P­Ç£€šÙ½ªÊª$(sOÒ<”‡t³ŸU @ëv”–QB>[¶wÎB•©ëü.°>j¸ü%‰¼É–ƒ·cq¡ÂMLÕwfÑÕùº\âj±RŽ× "ÿ¥>ŠõsP€µ—úšÛ¤tNìI )w úÆüEE6 ôk¶v%Fg@¹a…2Úÿ¤ÂƒsƒxǾgåw³â2h¬Wëõ“c˜÷8Lw=01,0&†Ä®:‘á¿î+#.\Cêò®y> oIx’`~Žì»] arµôz‰ß®3ˆWÿë„]ÑîžJZÒcµ-|ïšž’»åáëçñßÞ\)‰˜»Bc2¡·eúˆ‘ZÏljø#õ°¥òÔ¥ùBEI¨ýwS8‡ˆÕUâ½õîÝá|at~øûܳZw&‘Ggg(_p$”§×ÛbÆ(ÓWË`®u6¼&€G“>•A"ö²‰e1B5•13·>+Ÿuü“0™Óvëúëuíå59Ñ‹ E„ûy‡ãŒãlõÄ„SÀ „VWÿCo™‰½. ×ñØý¼.òv? úe)>~þîŸÎ±-;o™0c¢ekå4HÄʼnâ7K ZÑ<œdÃ|  RM p*X¶ÛßôKžHl(›'3D.ߺ§v$4·Y³F­s|JÉm (#è¹ýƒöñtÈFUÜ-ÀƒßcÙÆ¥¥…ùÉÙHí~àñÄÏ‚TTKc¦ëw ì½6Óçv ¡¢•^A‹™µS2usS-‹bËQCÂHîð®K– /éBn§zV/C§• к±°…Ç'áßç¢Æûî{AßÛ8“‘ 4 `ØÕ¥äª.¤Z~!ÚD2ìÝø0<^,fòw:p18ië>N­çcl~^±8¤ ^EíB¡ÎéqŒ™Õ8Ó2åþ]ý4"0Y¦k˜A~<—gUÖÔ„ÃjñðŒ$5ȯg>)°: PZ ° äv@èîŽ$§Ëõƒüê{]"IÞMÁ¸aqÓÞéP_ër¸Ã€,ÈIC…2Z_éåf¢ÙŸè«Å}ž¾;*Õ:®ñ/<é2'rÑ`÷ŽNOÌËtûå(ùËÄõˆO^öãÂyEôIžCìM¿*P#q/¢møelFgõœ¼ãn8–I±¼ÏQw2¡ÅùÊ{¸¡Ø¼ìE¢âÊɳž÷0WÒ¼à’pûî8à.þ¯‚Äé70Åå0ü‚[êæ²ÇšAp™‚Y¹EÖÙïH04Îhq mÞËC(¨Êv_'}YW~e÷“ðÉŠ‡e‹_ê†À"ˆ&4¿Þ©T ûr¬‚z‹90ýcew­´GlÖ}gsÛ[H¶üሱ5%KKþyPk‘Éý(ÀŽâav 5õ°,iW±+öf÷^#ÂÿùVz«ÈÓÒÀ>*Í>°j sFMÖ«&ôlX«I;òCÖž‚wuùxW÷ ^ÊQ§üJÜsý‘nR7»Þ% {~îîƒ5-Nu¡ÕìH,?;_Nä!؉nøKiÅZºá‘¬÷™D{ØhúýùÆþf¾uìe×~6°•3CþW:ÏÉ×E”„û4{ì³)ˆ~¸¾#´rvt~: RqëfìíW†C³óEÿ9ÉH-Ôz¬j§_é<ÒÊÛmŒçŒ.gjج$è |–¬ë°´¥j«-cßà¶•è_—’u 3¥zä¾|zDÖüíI¤ºƒ'F)lßÀILߺ²ùW:^²X–Óä1ćî/ëtŸVƒ´dWþ©ÝÁ ÷žG¨b¥}…_ÿíÉ+)RySiɘH"DÍâLæÆ’ÌZðߪ7R-·€Y<Ú§yl[F£ÚZË0§SøÄŒ0ý@ ¹ruZ˺WÞŽß4¡Jœ®%R$Xk0ôÓÍû°–`‰Ã"ÈÙ'¢½Eä%XÙ¨½fHYžÅR (ÿ§ó[Yv> ¹ »!èVžg)9n¡“a™–’³`²N2>c¼}yšÔÝ@™"×V,pgዾÑàvâ4Ø×0 1Ž>áršüVø‹ÑŽ— ¸ÚSd M K¾†û!‹ÞfY°ÃhôèSlÑõÅ}üæ+«û[äÃH(·«ú™†7 %v¥Íþi‚tžJÊ…#§6¤4±Ã•õcÆ4·x#ÕÒ‹G•U%ò 8ðл+Ã<ßJ‰:»Lw Ñù1c2Ñz/‡ÌƒâÕ[¾`ÏZC%ÐEBÞ;˜m"29û“+nGE¿Vžÿ‚êq©®oô$5M6—dðšJñ2ÎOtq[o!Û#³ºýècåíuõ-5‘fXÓà/r¦ªt‚0´»±S§°Ü±å$ïÀ8Ú¤ÀùŽÓº÷¬ä™@œzÅ87‘¬ÜQàìöüê¾ÓøÆ/*)¿ã®áÐYlæ¯qšû²J,”7m6—Leϯ·Žf²hÿDü@n.§Z›U²…Šö.‹ñOy/•È›îáíN‘9©ÚZ¶!ÈaÝÿ_­=¾†¾ …=ÿÕj$ªËÀïAWÆv@_&<{,©‰´g0N%ѹ‚±žyRè•Ôð'ñoY”–·6ÝUÊeûxar$;·|,"‹Æ=¢.û™• ÌB¢<«EÀQÎ/U\rl­ô³W|Nc«¤ QxB½Y “ Ñ¯Ñª£â‚“úÁÔŽ§iÍ+M§—"R%éý h kê¦Mðè—šhÃÚ¾õ OÔϱš¥¼oõ—Øîû;UŠi‡¹@–L}Œ`œæ+»®C‘8þ„o^j&–å jh3lóøì–÷¿ÇY݃¾¥³v1:kHTâ™?$@~lËVãzÌxªRÿS$Pi‰ïת(Â÷Ø£1cgÑ ×µˆáÜÔÄÈÅclÒApvßïRÞ×Û0ލ9€}–Ë@¤CÙ£™PÆCcÈë`’X¥ûˆØYÒÏçeD™˜#\öÊ@§§þåfy'†nõ7(<16\ñDô p«oiuHË­­ eZ…D±@Ü‹˜àfKgnb7ØŒgé¦û{Ž_ÁÃ̈%üuN-2ç PöÔ2F8(v<#‚€ azÐ,O¡>#Q9Yb%:ö9Ó8 °d½.ܺ€£ï>‚²uÖWÁ™‡˜m¯2îV[Â>æF>äll¾sä×™ W} m÷zÆ×ÏlÃ}™]sZ lD~޽À¾Ü£ô,+6ö1º†K|bãˆDÓ¹|¢ˆ[öÀÛH(!úgç {ŸûÇåÈÖ ù §ôªyA¶ÌÐ׿|éÿ²OOÔh]³Xªß»ïϸNÈðÐ8Ëe+¼¼g¦ –fîëè|1,çáz#®^Éþ¤(‚Mg¦’cÏ£Ó×Å.5«¹¥ ð2! Ïùø÷^ZãŒÏC?4˜XXP†T_ïþ5÷tËOšÎ%¢²²d9Im>•<éSºCYGµ²RßDc_ÃßÂüQ€ß#¾ÒˆH…ÊpUXwT½ Å]—гûè €#|Hqstµ}áoÐÜ€-âöºúÀÀém4Ç¿ÓMÓ¼nëoö¾{iªi†Ö´‡Ù!Ò©Höv‰nTÖÌÅܪ «9jPÎÍù~oå‘‘ä]@ˆ¦Û´IÖ0©b)¬€€Œ®¹5?¨Ó |ÌQÞÎ5¥"¬"Tø>e” A+«ˆïú Ò`Obu ÌTñž†Å¢)>:†´Øm¯¿^%ãœ,¾†š¼zb¸ëyFÈÆŠZœC —‡š°]vBxÉ-’k"{30ŒG1½úÍûjªÞ;Gi"§EoË#D­MÒÚÍ•d*6j€ÝÏuEÝ<]XF¥LÖ"jwÙ žÃ=—bê0«)‘/Q ¡€Xða–ŽPÁŸxlBëŒÜq퓃ÜO‹Ç»bj>ªU©m » ¼dmIášç0‡›9ÇìÝñ!û‚ç ˆIÁk& ²Û&æç‡=T)O ¶à6àGìGOM§‹žÁÐã~Î=µÇÐ&ð’9M9WAR˜ÞæÉSVu4‚ãbˆ(“o„ÑùrÄYô"`¯|vŸ¿¦X¶‡Ë"èÛûDº||…LM3²rŠ®˜þbV;=J ?õèIk{ýµ@‰At!”÷eü¼K†…uJ5¡â–ŠæI;”;‹jÒ ¹xSÓ–@ѼƷ¬zèâWY*T O$΢o¿±‹ÀlsÛKä‚ÃÍJ†T»³£kD‘"ÂÞÍ þ9ùò4ŽÍme5$°™>7¬àœÎy¬¿ÿã0) [PûÃ6†Å¿Ø@}×e<²î’éálµD EªáÊûI®Cº8ÏàÆÀru¨Ù0S~Ôê‚áÚ¿@VEQ§ƒ¶é¥èmB†³Â¾”{–b&¼IÚâ„ñf혂‹ãÅðÆd,»8jÌ÷¼ˆÓ¯;©¹ûñn‡ÓïØu„ÇïöÛ'dŠŠÌÜl±ëYŽQÌâØzÞÛ¤~sn…¿YîÛÝžÈ ÞˆQ§x Q§€e)ó;nè˜#ô—/Yt^™]0tAA°fñ»…Êæ ÁI–D×'ŒídðèPÉ@ÙNFÀðC ÁÌÔbH­sÌþÕBly-q_êó:ª7ºXè©ãùäâëXŸVÅýa~‚õ«§z"1æÓm[ε?˜€ÖQÔ ÐijÆ%ÚÛ׈oŽ€aj é?Îê_œ­É©¬¦òZ,Lv{•ˆA Ó·9s‰ú߈ÀüË%Âù.ŽÓu×;œÇCÅw”—ò—ñoucЦ2üdÛôgNÚÊ“•ájŠ™úéñ?8Ckšé„lñE#Û`àE‚ÚÆM[;¶ íFå‚·D­N¡êxžG±7î Ö•`n‰€»?­ÓnRËç]oäÔâz:€¨e¨$jVdaøèññÏ$—ż´ÿÂÈv|û¸%`0rrìòpy$Ü&oGìz¬wÌ»Q¸S¾š¾£ê8‹A0&ÜІh°±(öCkµWë‡ˆŠ¤åÕzǰ—)çI,Gó™B&8v¤N%iE"5ˆ@œ1…=Ì ŽÖÜÀˆ´‡³PÔ ÂÌþ¬#QQ¯šoå€o?QVÈì jï äõ}Lh££›RÚ WÙlµ’§ù!Êšœfg=Ìot´¦LHXSö77ÿøë8ÂŽä¼™p7|èÜj§€ÝüJØ:ÿD‡û¶"Ée´ a#‹†¥÷‡Óçj{›lµ^ãcáÝÉþ]8y%çòa¡ðù+~m5Ü ™4r×OüÝ´Õ‡ œ%ø¹càhÌ7Kd±DÚ%–¼ïòµä¬Ü×/g °·øÌNÐßGD•w7ªRH»(Ü•˜0ùÍ_jÒ…½^Bä7×Ï+ôReD°ì´ =$[i‹ç’@»œìË–“:‰Ú)[UÃÖ83W¨šÚš¾¹=ó À¢U™ÅÆa\<•ó±cóLÁú³,¬»÷šyë+_VštÊÈ’ xF/P¥\Z§© NUø¨™ªwº½(O¦8‡[ãyb»:˜{DKº$PôêÔª‡xBBa9RHû0âÆ÷‚3e–.Øqf½V/ùD·á]Œ½ï#>œN° õ ){’½| fO"‹(«-;`‰8aH¨M[|{Trê/Ò ÛÑqÉ'½ï'ÈI–¹æ™´qÆiÁÆá;kÿ²ÖwœQ 1òÒ°7ü+ºŸq¶ ‰$ÎL_E­¬ÿiɘvêÄaz2¦÷æ7Ïû6$ ôα€?›ò_ýz06Z<¹åõ€/^Úsx{ѬÆ26¶îǙµ‹dyÌ«­yb¹Q».®âøªÊU£HM߯,‰[‰_ïkñÅþ|Tíu í·cêöºp´,P³Ì2tµ±¸§e­ãd¦Å¡mÒƒœÔß³ú'I3Â&ªËga4µò·I3‹¡$}šuÅ'tÏÚm†¤zo²8ÛyfW¾9øH¯¦ÉuqIzÇß­[ üšŠŽà¾b¾Pߥº•Ÿ %öåF\Ù¨sGzoé×aZüìÍ‘ü¾š_|£ò2?ãúhz{yñ„×ôI°‚ú½ øËÅõ e+öz(Å`Þ#dÁÝÏû^Ü+¯«ö7"Æq \ÃàNk·ŒÉÐÿä?¶ÔAõæa&,Ï/2°‘½¤¼œÛÇR°_4´~í7² ?‰ÓjŒzE_Œ=~ƒy_˜ØhÙƒ!’í,_¡_P3ˆ*ÜY3õ­Âô¾R}Ù¢Uu»*?‡Có?åGÖ8¨Åýò3âx¾ ÀÙ%ų¡íÍf¨¬¹–ˆê´ÿÜ\^ÝAÛÔ‘ÒÉ[ ?}ÊOK£õ^ÑÊZsGçë "Ãm£³Qì'¸ GÄ?¡Yz]ä|õô~b)¿ ¹9‘©–’GɆTš%§%ƒeí=ˆ5 Mb4_Lìs§lL¤VÖQTª IÙšæ÷0¨Rˆ¡9¡t«ñGm ÜYá A¾qt&¿íp{ñkrµ†rôh¹ž‰´·÷6Ø®„`DðÛ…žÁ7Íb¸ŽNœjîXÓC£b·Èhõ3>Ë9Aƒ.è/QÅaNS5G™`ë´cxVuÆŠÞÓ¯í몮¤="?ÃìCÂ0à ã—bà ßc|­81µzÙŠ:¿¨}·î4ÚI 5~»É¦: ²éT<4Ý‘ˆ…S0¶m;½vî¦mYÕù[ÄìI©¯W#8Iè#¡«âØwÜÇXÔy üzwV:Žv|oq±?ù×´ú[&Û“áqûž¯é¥^&ʯú„•ùˆÏ|Ó-¿â%\QtôRzÞ›4Pb#8€RIŠÄùš£hé¦îg›£=X;VO?<ƒ\iœb7Õ_ô’¬^Ò?å+&_”ÛÇy¹IœÞ°dÎ06,÷a%ž8ª^U=ˆàÑGÐNc[Ÿ½ij¬¬¬~¨®}DCqõytÉÆ’ݤ‰[|pEY“ŽMÿØ‚ùן‹&÷{Á"¸Þ¯Ñ„6±ï=ÞnØËǧgØH†WŽMùpº¥ÝŽ7´ôC/PB ÇCitäDêÐù_3i˾ÿ©—²ˆió0g…€( ¶§Œþ­ ‚€ í§U­‰-°•'uòÒNdÀñbËœm›±t{û]òµH‹ö/”:G!úÃ7å~|s4s³[âÅO¯9¬0¯â~Ëo4þ ÿM°õ4rÃþù½Kï E)~øÒ©O¤hk|>'û –Þ@¦Uh Ìu§+¥†‡gò<¼½‹©–±#³mwÖôIo¡NG!ì—¬2i¯R£ `Bþxz+i„Ç}³žœiUm#ActÂf¥bàDY'fÔô~rp"Š8÷!åÚ ºq%h±„d”ó‡@ÓÄ|¼÷ˆ”ÑÞºÈѦ'I2Ó¨„]§˜Ú>9•”R$ Tÿþy|?¨-œ×‚¡îŠKÞÍúãáù·7æ¸#þY]Z )™V½ xvD[_¬¬ÏË!Ÿ›+˜ìê M̧C4=Š?èÙ^³j½â[?’Ò¢1C¬lXÞMù€Ô~â,ÛÒ`Nx|ùqSŠš4{5Ùí4qŒ}ÓÇâ¾X Fö/>aºw7€""QÉïÞþƒ¬+¸Š¶»Ð3¥³0t) …~Z¤—ôoðùoRŠ–ê­cEíÞIÂ<èUÄ]Œ½q—r~±Kp»ýQI„àj·ER¦75O¡RmNm/™ÈíÒûYã½ÛÓFZ§š‹FçrnE´`9k¨Áš„Æfÿk*«13ré2”á±Ê´ª•[dWâ™*üPÈpÜEˆ>j¬Æ7{é«#¼ø‚4T2ÔýP±§–&ú¤+©þ«š[(ŽÀܾ,™û¼ ïþîÉ;þbt ¶Îui¼û ûRD"¤mB_µNû¡˜dõ½¥ôxj6ú{~xH<Ϙîû>B ±¾ WÚØâ˜>—~çÀw\že$‹ôtlת̴B“[â2¸Ò)Ÿ*5sjøÆÉl‹ëô•:ø¼MJ²s¢¥ÆTœ¿¯¡‘ötbEÛ݈$õ^X!Mëž){Èîxƈ…Õ If¡ÕI9ikß»oáÔz’µ[ÕÓ¹ê9l®È%0¥H½â ¥E؆N³Æ‰GrT.PÍþN¦3ùµašK O@8Y7òˆ›ì¶ÔÙNwY2éh²%§Ï8½¯PýÄÉ«z²Q`ºü1ê#U­|€[Àï³Ûª ‹!Ìáé¨(©ðÑU©ñªá©}dð•÷&Êù©w˜˜gnhç\jI¦’@ÿ0=?Œ!ë-t¢™ÉyÒõG9Îç?hÚ_Yn!T¬-r–þAâ‰Ýètc’äÆÚ¦õ$,Uú×ÅÛ`Áç?üøs ‘h'ô#s—d6Uäë/¡ù­Ï—£^#À¬Î¥Bøh»ùîT¯éç`i†ÝcˆA‡Iá;L¦hZ*ÖÛŸ”?)ñx7 Xè­ËsùÂö»ÞÚ¥«›;¨oBI-š’©ÕÉrI^Qò°€§é„ôÛS^·¾´þ.‚Á‘€z×uôŽOÈ~ >Æ¢Vô)t”šçöµDÅU•|§*öA–yéêTÔÌÌÖœ–°ìõrE㞟2M6]T»;Ì6äÙ@~m_D‘&¸¶â§A# 0v[‰ë˜@Ð5 ²’ïÅ»GÙ‚ X/ãê'üYã•—(RÁÒÌHs1æú(zNïí°ÚäA"¸vÁ£…ËŠæ ¬'/›˜¬„wbKÍúºÅørꇘ øíuµ>² ¤þÂS°»•»¹kqZ_žM‚_wøˆ4ž_þ‚  –è‚"­÷°mB_z¹t}.ÿžˆPíBzÇWû“ÍÞ•é[ç~¯‘Ð"Áå«-ñˆrá˜Ç<ŸÀ`ÛŒ¿ôxWÄO ô¨,eÝæW¯Á„ôü‹U{ópm„ÞÏ5;¿Ã€‚ZO5cýæñ¡áJ ¥2ïÄô^º} µnrU ªrÕWÎÈãÍ8àér8®´ˆ(íÊ„w)9 oêùð' ©\ÅÊÛ7©H»—“^=L QROàÅÏí2J[õž[Õü¹Ìgy0øÙŸNz_û)¦0Õ 1šHécüë<öH19UÚšNÞ¬¥@ ‚¡üæ^nÖiÓ¹QT?ŒÂ »CšÇrzLŸ¼z/©Rºo¢_‰€Ñý :R_Ðx‡˜wÉ»^wô°nÃî!<‘6èè¯dOx|øÌöylÜ•_\°ì6´®x§çŠGªµ¯ÒK„= F?Ôƒ¯Öcv²WbÏ9nBõö».oXFè}ô.øj-ª /> gÆõŠ,7:Ú0S©uòL‘8ž»&4)§‚?Þ?eÁÎ-!æÊ;Žöœj^&ák;FødÙºx7uM ¸ -}ÕÓñÉ{pM æ(NqBMÌ•Œ)l[”íBÅ{Þ÷ ‰­ñ¥«NP×ñXj»5ùFK÷Óëíid¦M>„©Î£1‚dÜm%XØBÃ…ì‘ôÂ3´LÅÅý27Ø[ïêIt•»štã=\æÅóêèG+¸9^ËÀ䉈-˜#Ê)¹,Ëîç÷6mþ™]º—¾· «§ nŠô!ËuOƒ_þÓ[}!¨{q¢Ëœ@•Ôåq˜­`‚íšLx"Í;µ÷n+ ÒmÅ’=¸’ë#LÈ’€|l¯ÐÓX!¦(4ÿÁq´\(Nxù›ußmá*v ðêØ†c¨4§ÈðöÿR4ž™2˜MÍQ.·ÌaÓÇ’®Å)º8·êDÈcedãf2>é!lþ×ǽúšuBi8„¥Ð …9У9H÷û Ûm;H O2ÓéñÍJûq5ÓZ:_˜ûÞqÏ·Y»ÐœªÅ€}®i9òÁªeï®|3ÿÆz[–x ‘&_ q ýK—ñrî§í"÷Œ-lá0kÒ–  ´]Ê%A­,jÉfä3†E!¯d^ÏG„‘Àл¾m¾žf0I´ð•[)—ÕnG¢äèWWö-1S–}áç\—¶?-ÕŒjç*ö„ÀҸçÿÜuuó‹)°5¤¶cb)u¥ÇÍq˜Í0Öy Bê<γÇÀvÞ[7s²LSÄ”Á£¡š´Hä ì!¨H¸m¡q×ëôuo2cpëôô ÞKñšXJu)7OV ¼!“+ôQÙ¶«®õTÏ䎈\A×¾m ˜}‚Ùè8ˆ)¦›‰@2R ùè,æðZÂK¿¤§Ì9xá7f÷FL—´Sˆ*.ø;²=t'‹3ã¡„by} zÒîþk[vH&]¿‰NiŒ8DvYà?ªC7 ·Ò@ËÅ/Ÿ“îaÿ¡ê4 +OZÿ­€X/Dõ¶@F¨¼¤Nr¦<.B ÎPW~y– Î*Ž£¨Æ\q¸úDC?lŸîÈ v¥C=Y‚¦˜9ÍgmÉEŸß€jÒNPJ[º•È¡[añ#¾è‘…fZwé šM·Ð"‰_Oý枤A‹ å ü“÷äŽ"YªEº}w¬ÍÅĉòeƒÛÛ3Ep/eÎâªb,Dˆá+µ' 0TÀ¨c9ý=öØ =Å4†°î² $ ¿îÉZÊôd±|ê2Cɰ{Pª-õ¯è]ÄðÀúgÊeŠ€¶¸ö­2º ëØs_°7Áñ`$ëÑ圿T¯K¿´ÉϪ©ûu>N¯ #Zy)>‚ –êí±­ÒùÉù‘;'Ëœˆ€2}i CÎö«µI†3uÝc®xgƒ¾s÷®4t«Ä˜b‚¹‘y iÑ#+Ø.áb3¡ÆÂdŸ¢>ã£,0‚5†YIж ?d2æ/Û<Èh ö¿ ;ê0ÎŽúqÃð[°cFµMØïb€Ò<%´OŽåº¿„I&¸8»­E±ŸëÌ3 V]«ã\¿e˜¹5»‘®j'ëÊ´äØ°Îòãߓ疣’¹î–µÛåØš.%vºbóÊe¹€í+'_~ŽçE•똜?K‘>ò(“<Ê/œ!ýߟ41“Ë4÷2dÝ/PPÌÿ ò0¥![Q°¹o ž…WºÂÉ9D«²•O4Æþafƒ¬6y0 µëͲ¼¿np÷ÑážZØæê.ªiœ0qE¸€xBH]>”>cÃZjãeÍ›:}Ñ; ø™ðÍ •¦Wê`*±i“ù-­Pì$8i“^žAZß~Ípç>ÞEfæ‹ÝŸ‹r{ïûŸNÂØõ}¡ŒÃ›>P>¹~$ íñz™^ÉR"þtÚys……ötÜ("Úì˪5’€8ªiWýø{ˆ‚Æ`£)ÿ#ï1÷?Üÿ½€0Ó:÷ăÏÅJÚ¿Éóm.¬$O”°*Ä€Ô–B^¨Œ¤ÚŸ—0îë@üÖ sò#6Ÿ_óP%:êD›…åÂE‰Å—¤²TܽøgÅY:kYPþûèÔ3áoÞãÓ¢÷Ü£yIœMi•p€ü¼f–V•Ö5zãÅ,¾M¢DpHµÙcFøÄåŽK‘ì¶P|I¬Ö©®À2Ne9´h%–è Æûf>Å*lSXêtäG‹P¨Iëv9Ê£,}JC޹ù4%û :3|u„ËÄ:“Ìçi×¢L‹—Öéý(¡SØô—ÜVŽ Ò‡¬w¸/ìAôÀ4ÑêMkÁá!jÖ SʇҹïXEÄA½Å¬*…[ïFâD60úK q­\a|«çSUŠ_]5ŸÚSÕ„_C³[ êÎׂ¡?µLôhÂ8òI’ÿq²%¼»?ZíÿúE­±a‚pKÄœúva”‰¨zÒÔ®>Ž.øïç†_=m|qHþËèmB47òú Ü.ˆâœ2 Ù,¼%tx¯¼fõƒÜåîÞRÚ ýñs'Gc»ôV¢âŸ¹{@ȸ”ºAÙ0Í!)~¯­ŽzŠõô—œg+½4p ™26ñÍöF0Wñ‹;Êßóv÷é6º1Lâ`§cùob'd§g(t‹y$N„Á`ë,J)ygJÉxLLÝ V7í žâz1[T‰xú¬„Ær Ì› YcÓèk÷7`ÏsZ6.MŽÓ/¾œÖu8Ø(Õ¸é~ËfžB‰‘–WÁ ,Cÿ6Ù²Lìn²yû×ÞH›¿æÜg× H¦Bå?wdz·þÇ;j$Õ›)Ê`;êÓYs#º†ÏóÃåþ™Þ\j-Õö±Õ{÷¸Ö¸ç?[T†ÀMJÛÈ4ÕRÉvñåLGJGQ†GäbÛÛd »Ó7_° 1•]ëŠ-:·_BÀàˆ:wæ´ Ô\uW!¬FàËuëçèžï®n,ytßYãЊÃÖÀ”ÛÈm8CÔy4Gs½vÉtÓ~‘wæÃqüx€^.¢ À[ž^äÁV•qañͽÚmœº2Ôµ°èhÜ­XW:àIf}KD ýˆÇN‹zdœªÛ!ãï´áØŸý–höíKÔŽ'&ã PäýrQWðl‹-Óm$nÂàúÏOªTNqåR£hœa³DØå•ñNbÔ3£†ùSTöÕjÓ¤°K8}uEÔòA(ì1@r˜=‚­*„àØñ@VâhÛpð[‰9Ü_€`á^þÀýwÎ÷‚öÓI9qGÌÇ6ÐÌQ I­Élš"?‘“´ãa@Ë„XAƒÐd0ÖTÛç¡O0YïɺÓ6ÛÈNÊ[X7û_Ö{dé\.ó_Њ¹¶l‚w·}ÑRY@ÞP”߸j=7«+]c‰U[-ÖS´ ã9#F¬LïZñø… í3šp'è7zŠÒŽ[a–ÈÌ“asKê㉊ÿåÅ›çÓg ’ AZй^Ÿ†å |ºænÓÆÔ' ò@«šo >©Móéa©ZÞð*küýt¥.2 ÐÞÛÆJk‰^>û;oüîkÑ`®}ÄL‘…ôvzX¶^ uK±¶ß?P³~Úh•%ðW̃E9ÔÏ,Ü4QfΧéîÚœ¸jå èõïäfçtxs4´71ú+2! NM~Z=¶F–èæ4NlŽ{è)©Fa=ê'üå­'Ô>ÄU]õã¨ÈVwZI‘^6{É&s½g”™–â’ø©5?–®l» dP#=Ì/Õ¹iª˜‰©–åÚ½v(Ûò‚ßy¬ˆaeDÖyÛúïÐèÿÌ'.ÁiØb÷Ž‘ƒ– ò˜ãžñla´ã²ú–Ñ{–¿Â±†AÝå¸7—l5#zºùÉLÅ0GlÓÚQ/>I ¨ö¶ª óûî°ô‘”êSerŠÐf»ÓÑ·ZÕC]õ­Ø ¸ºƒo†w)G"ÎÃZ¡¿J~sÌ¡Fµé\ê&ø¹ˆâtìÊÈ®»G·ö2Õ€Ç,$Øb>/í8ƾ~±èÊVÃÿ.ØÒÑ)]n\–Ö •8\”éÅ© ¿¨›o5»òFÌrÛ¶=¯ñ)Ì\jjÁ%KÆ QL{°ûQØ?:×B/ B2‡»ã“¼¯2²>Ws!ÌÜb”eóˆ\hp»U±p Õ@lwîDÙN:Õ,¨õ\àáñMÔG‹w1®}ð®åCžˆ¬³_h¸¼–×sIm /ùÚ¸Y$‘)4M§3{»RùgìW¯ÖßÔ~ˆUî¤%Ÿ¶)ïD-kyÌ pcÚ~ŒÒºÙ¨ ¯m6Ȧ)GJ„  öuZ©(¿ÐëܧÕp ½Û¡Fù¥ã[¶j¹£.13ÈR-’ ›…PÃ&T²1øÕ¿J‘õ;†zÞq’ì£ÁÈá¸Øbha0ýƒ‘è¼(ˈÈ_ €JE„mž¯zº1µ ýã)¢G ²ÓÕp(ߨ:!€•ö}¢–)ú²Iš&vEAe¾²Õ,B2R•'RØãG`"¿Õ6œM+ŒV/ÉQ‘ Ÿ¶‰ú¢Z±ûýhગs9{¬ét8¦_ƶÈ&| F-Ž,â×`¨á¥ù=KK”@/KüAã#ÒY•p@ÆÆèÑ^(ñà··ÞV½þœ¶4Æéyí€H„~ƒÂÉ7™–^vn‡ Ãº G±*Ãìö½Æ{ªµ7žµE§ÜåŽÐ×ô· HóWt¨]Šqöf®Ì¶EÚ¼0ç>x„*ÿv?SN¡Ô³rD®…¨©qóôD(t‘MYþ®í@‘Ñ3nbÆãÅ,¿ŒšÛœŸ.g¿ý7Â6i ¾) |Éz6ªjdü^¹OÄíDpŽò“u¹3ì.Myiá£ÀçiPi¶Aâ–0†45ž¼ £‰ÎO\Ëâüé¸ÞiÑæñ7t}U¿¿qIä~FÕ¿sH8„8燉³ ¥Šeºeî³€ûþ$áÿU0N…ºAœ”Y£ÕèÎÑåj© kâ‘m<Ù¬\û”c·Ç ¶9ºµ-eŒ’œ¯ ,ÒYû &"Ó-¶Z,Q_ÚۗŃ| PH4 šøæò‹ fÒÃD5,[‡|®„×0S¼”¯t´Emw…Z¨©Üuçš•ůFàxß”ÀH^s„©ð8s^æû21PK4AA®båZo€‡|¤€ÔŸ‰Ñt§E8 ÕcC‚Þ¼Ágȱø©nZÛë+„7:-ÔKp¤h€¯Òrθþ¹K©UŽP˜ž|b1¯aMdtŽ.Û“sÊÞ!>mLe|‡hRû’ï3ó#²ï”テrÑ?ˆ”($ãLu+X•ãjô]“J«˜ÈÛúÍëQTXËíÓˆ®½FcBaèá=~ß~Ž0Z×®˜k=n*ÖÇÄøÿ!ó䕲ì=Û2.ÐÅ}¯Ýe•I‘¬µ¬ˆ*7'ì7Ð@fí<ô­Lµà¿žDðw´vèS3ÙCñË}ÉŸù&ÊŽD¶UÑ4ƒcª°ey§ûý=óÏÊÁ“Øü>™˜ðÒOÒ¦ÙXßžx…3aaõqÏqŠ¢$1ÝATCÛÑŠ?—®Ï åÅૉsí–ä´c××4Ì…ˆ;¸!vq›úšžš %-WëÛÇ‹\(.4ÇÆªbš=ȼFH /J d„2êæÝ„⣿ÑGÿš†\Šy…ˆ…ˆè5qyJH)¡~ò^ùC#Ñ4ÌŽóňº€Õ`²¬–ô@Ù^®KŠ–âõEc$±Þa¥îȺg'ÊíÑvM·†þ¿›0ûOÒÖ`{R©Šs ꎭ QNÁÙ›\ Î'þ8-éux™ŽŒ‘‘”ÉGiḠ֢\ÀÈ»‹f)éÖÒ*V}ëx~4áK-\èV!ñ9„Úz£0axç6Éb‘§ ,(ôäpi —‹¯ B¶’_êÐ#h"Ÿ$ÑÂÞ ±³Íª$1 ½º œ¢6ÆGFD[PÏ«EúqGÿ:zb»&½¥¼p¸ùC9Æ_ñª¬tÏAJ<ÙFUʨ+z¿Ç2gƒÁbÝdEÌ r7–Ê|¨ ?{ðÀ—øè-«w£‰Í‹l>óJbôkÚüý¬OCA› ØT'T…÷1.§¢ýš'œ%AÀ•‚Ó-"IŽ ÍÞ‘Á—…†iÙŒ À(]Éîi9à9–DÏb¬ó»ÕY>`o̹ú%6< ³6ô;̇7c­»àgqŒH7ö¥5Œs!ð§T·&h )6ö°Þ¨;rBêtð4çMÅ©ØÏéì¾¢Š+a\F®2mr¡E¢ÆÎÍ^íƒ䆜h»Æ;:¤ägˆkƒ.nÃ2¯JW½nRÇŽ/7ÿ_Ê‹ôv´×ÚŠî—Px]ºéËaÃË à`` ¸ŽŒB'…ÝG•9T-¯ÿ>\­›ÓjÏJ±'Ù䦼4Ó»üp% ùÒ3=œÔ¶C]¾ë îõÂŒn €j¦ÿÀÌÛ»ˆLFl{o½±%yÇq¯¤WH¼áý*_꺘/^ZQäð)ëËí1 mþK&@ó ¶å›óDçSù UaêÁ}¯²ÁÔ.Ҍ۾¡è€-Ҟ±8‹RÔp¶zãä«Fª‘rø¸D¬ ãÏ;:¤UzWÓ¨Z9øÿ—„góƒûϾh¤•VÍjn¿ãHU‡#^-6‡D*—7 6µ¤…‰ÍV½È„&yÒön3f-‹¸ûuIÈ$KƒAF˜_)ê?æ XÂþÐ ·¸Q/¨0cÔE~Ì?dLm1º|ÂúG'’ŽG^N\I wYå€éÄUŒ™[)•Aàw×søL &õ¦ƒWÌNÏô f‘Ý w­RŠÒJr]I½l·€ßÀú"gÆ<¿'Xc tŠXø’ühENI b†‰ÜÞ¯:5ÜÞÆEÔY,ÈE(ÄÒ½”~¹pè[þDÝÚ|éÖ€û³£f–?RºÒOi¸Õ™A²®;ý+b2¾—?;˜¿z-‰L ƒâ¦BèþEÝ“ÝßP@#ü<\BjQ÷ᢲu‰™]û0šÕ4#¢·IQãWª^e»mÉRÅß]NP‘É1’;¸»Q®ÿòkGyòûrÊÜ­À?3òrý;V¡Ü6WÊ$7_©4‘ · Å®œµW1Gfj¤Ë r,ÅÊI0ðkæ ¤qò„¦Råwæί§ ³Ék™‡Âë:‚¢„L¢ô(Åýo›=¥€J‡ °›ÊgP¥$}1ù[ªuôˆ¬*VÂÚÇ|!Á…œË¡'ý?Í[2Ûk[ÓýÈ)BeQ•ýÐ+BÆœ£|ÓÉüqĉ«›Ï*uŠ»zSJ¾†*‡™×U¦¼Ú¶°ºð(‰ôâíQ]Í¥.e «Þà7ÂûÆ|Ügü{훥ӕQÆùíCA×ëfíϲžKdÝ0-&=Ý&ttè7ÉàÓ:TŒ`j{žÇ¶[ÕÀ{+›X?ùwÍ$Q’©¥(ù†yÒÄ‘f֦Ϫ^T½bAï?  MùQ-1üžîn«þç<½õ ks¼Ù}2ŸG ËaF¢Š¥®D ¥P4\× Þy$5ø·_aÑq7ÑSÐhˆj[øS@µû^c“Ôf–½Yø~:¹¥gÁdQ}A*™ô˜ú!òiÆ¥Ój}ÅP'Q§n-‹)©|Ÿ2Çﳌ–‹¸*H¯È8/ ³¿5»é@ ÍXuºñTòÍöhð·éÄe¯H&1Nm³»þGíט!£‡"/¾ Æí+‹¹àÝþq€<¹ã¡xÎIYz$xV¬} õÚ$•,±z¿»kØq0~&5œåøÀXŸâwâôó'iŒ»¹Ñ½îÑϨZt:ΡºaÌ8 ßGJeé+ů›´ËØû Ö‡›»¦€Yƒ¬ä%2óæøÏBÖD‰v<¤³"£ 56÷MÕ3KùL“®¯m‹RÇœF?bnlº‰s·D]ðÿ!¼•íÛ³$J·œr=^i%¥Úë0•Ä™ƒ<ÐçÉ`%·»õñ³ÙçnÁSñLZ˜ŸÀo‘¬”ŽyïxÞ>“g°8A$—ÒÈ…‹¨Å}³=ÐyiÈ\b£æi]ÅwPjKôüÚ ÿ.‘‹zeÃçc^—~‚¯¯FX ‘;0â+G/7ÝY®¡‘äß'/­Þi@›¦‚:”`žµ±¤Õ€Ç4¸kzÔ «èéÊKJz%¼â•ßfx…¨:b[xÇ&éw+"ËãgÈðú@þ åîÁV6²"ê,oé¬váÍ/[ùrçoߪ#}0£&Ÿ³-­ Š öÞæÐ-É¡–+P„ˆQÆÌÅ&aJcßæí®Œå><öóÁ»íNmòÍü*2BRwJÙÉáí$qpG‘RWåÒQGk9øÅ¸@i·oöªaew§*i¡„ÝTÖßR`@ã› ÚKãÓíkÕ·5„*d>a9ß–í§â¡i]9zï«’–´dKâí[‡LæÈÉ!0ag H Qq*°ï³42RZÐñŒá¨Ät†°ø•²¼kØ%Ò¥q5ÿ=“}¹</- $’%üRzNõß“çC}¼YÿQº>5²`,¶'—˜â_Rz)\¦Gˆ[y¤ÆŒÍ|”Tè§œ ²ê82´òàó3Jé¦Ú]Çô­iãµ%3lKo¬ÚëIZOÏ5¯%Þ/(¿ÉaÚ÷Ñ»%÷=-DÓ´TM¦ÀåE2k${°;LÃr ?‚jA>wy9°s~èufpwU+\i ‘«üMTÜï/&Ù:àËZXH›uí ØSò%MP`íƒ*àÿèA5¶X´Xž(ÿô\à”fì#zA¾’ªàNž[õPÐŽcãdz÷hŽšŸĺH?E»=cŠEAÉg‚‘G-·cj~g8¡­y¯ru90ŽB:S”ŒÁú4î'•\EL$וë/Ù¯K­;jFUcc·Önj#,Ê‹Å5UŠþŽ mÝ@-©#b»|Èî÷KßeÈ´J-F®¢Šðð+zqÍ }iÉq禣ð¦”%–/jš¤ç 0 àÛó´ùÌØ}ŽoI¦Ê ‹hÁK­Ìò<4¬GâÎÒÒa!¿Ò} 4 óÒ Êè”aÔD¬%*ñO¿‰ÚÓSÄÀ—Æð2RzS,Ý•M ªG§×lÀZ¨E?Ái– ­2+…ú,*tË»i‡ oíFsðr«û“²Íéîl£ëoÇ‘F1Là©®?ªÑºý-¤ åf-Jì ‹7DãÜ¢d×Èrã·-.$åKº–6|>d-ÈC–„i;èmSŸkãªèͽœTq§5"ÖB4ÄF;q=„Ó€ËÝA&1’%& ŒNg"¯ÂspvA¾R:ÆW[vìÚE› HgŠñ‹R’œ_)3¥ó*¦rgE#V§1 ¯qÎ!(° €€k“Ä?•Y¶Å“)vè<9èüý×ð@¤<`Õ¾måÎÈö1ÆÎAü†G>xƒjY ´* Üúçê?-ÂÅÆ¶åã®s+hNýâ2Õ ©A´–„«–“‰åûi ½/>P‚„Go*LꑘßÐ3¡Š9â÷ûì3倇¶5Q£ŽÁA!wóL>ÃÏ€< ô»™ðS!œ5èÎ5‹ßú>˜ ÎYÃZÝ4b†kOŠ”7ý4ö†Ç“ITÙOUè ²m™îj·?d]wvé ;S­„õÝ›ÄÆzö¼˜ ê!ß~á´¢^ãYÆe€½¯Ô¾ÓÆ&µŸ~˜µeÒ4†^Ë ûålå$ËHC6ü+sxä.ûõ}œ?ÎK HÛø¡3ãÝØ:é?.¹a€4b*8ÝWÖ<‚#0Ǭ0vÑËò„Øýꘄ×nŠç ‘¬ëœ. qšAô£8¸øÉ"·¿‘3ÄŠ*ÐÜÙn÷yDNw¤ÝâEòj¥D(qö]è»V LÎTOV*à¨Âf±Á8•(š1 ì:Ø­“9¬™­bÅéö>óúá/]%ŸR°#G<Ðk³wRðþ)´Ó­`€L~šÔÊX3ó­ËÎÌ=¯ÜνÐâÊ£]üÿ% r}Ìχ=Õ¯¢—o¬õwÕræþ`ÃycÈ–>o+3–:ßL¦@ r/ ¢JHc±4±¾4ù” ïK7wŽí'›Ú© j Hô¥‚‡Pâ£Íl2 <æß<Æ—Jß;OY*ƒsdà÷Þ–8ñr:l½Êê½ZÈg·‰b¡(郧¢W=Ò 1„Þ‹øåío[V"ér3 È?¡4iœH¾P­±j-?FÀá9øÃSßå!ºHæþðM½ÎQGˆª BØ87³ ¼Õ‰Ó<@9JÂÆÓÔ5î#ãD*ÏÜâ[¨.]‹4yûÑÈ[ß%·=LŒµR¿qÒ+Е‡úv]“–ªåÝ.ŸÀq×cÎеó sGD;€®½øçž_E$&Õü¢ŽÖ’އ ´R³ŠpTPktî¨2‘Þ"2>ÖòÇ–j¤RÌ¥ê ñ CM75êİÃóRåFñ·CM|·+Bƒ[¯µŽ˜×r(W ;9¯VGPè«&Éø·†Tfg5þÛž™Æ}¨8†~¼£aêTø‰½’Hkðñ²þý"•È1ÊTÑßÖÞp˜ËïÓ H›… ﳓAÆ ¼žZòañݬÍŸœøz€@”nº:•úËS?·×c9ú Q(kWn½*Üy£DG_kšHÇi¤©ÑÆ^]"¯ýɈÕj¯Rà¾×4Û—ïÌ3~Ï›>—yG"ÂM°¯úèÜ.ª‰õë)Ê1e ]@¼üØíO‘¼9yenñܧýHêöšü¯BÄ!Yž€›‡®bFJÄ46Ý…ªƒ22J\°\oúßáÈãk‘´ Ûµ?ì§*WSrxKŽÄ»%è…Ñx½¬0¤A½„\•J–&ÇpR‹¥Ûãï#[‚²„!õå_`»&zŽÔÐdEÙ3ô¯°"6j‡U¹‡—G ìžÂ)7sÄâì(HÛå÷¹N‘§IP§|k ¥a ~oºbt·v·ëÍ7ñ¿Þ¯æYZÚ`¿‘XÝî‡üÑuÚ€S×ôÑá鈣÷&Ÿò«ÛLúûN‘2å MEW‡© U¸Ðª©4Û¬! ÄBŠ…¿R;µÃ¼§4ÅŠ4â(ÈÎ-ÜŠ `ãkÇÕ‰QàVʾKµ`0ÌP&”kC­°°®ƒœÚ÷©©2²qÞ]% g[ÝQ¹èºÇìŸ}z|$8én÷›âÌnpq°¨ëêÇ¡LEkác›eŸ$;>Ð$1ø¨w‡úOU²Œ VÜyØPþá÷ ÅßÙ]‡¼,ÍæÉ®lm× Ú³€(1U‡±v„8Tºí&Iç­ S¤ÄïÒŠ-â_Zk‡+@’lBu(B;/Áa¤Ð’©ñ˜Ï â§W'F²7nn‘©ô¸$NE Dº]È;¿¦E£ˆž*È%TpÄQ›u£hÂЗëûC JËó¶;´Nv(&ÞÇã=²àƒ…Ñ7¸høWHcƒ‰-¬çk† h¡«ºfVdn³`2zÑžáäÍ|û”a‡=$Sç¤ãv<ãîÓäOít$û½ê"´*¨ƒ2Ęuœ)Åzìò±4™¡ð¹º«’¢¹=‘öˆ 0ΰñ³9>¯[<à­G¨TN¬\6BG©E[o`SÚ®ô_æ²ãnõ$AÎÆgBfÝ'R…k±Ð.e" I£xâ¶BPKk*\÷õ‹D€‡ Ý)Öx¸Ù$‘Q»ºK9%6Á¯†'ª ‹+ezö]øï÷0Ì[º¥¾l‘_„ 7æ©ZÌ#aý›‘šs¯½jˆöh9®ûã”Ná 6ãëny۳䞲“Ösò)¨‡Èý>]†4‹Ã^\îkî9bçô¹·êšqƒ-Âkõ¶5Ä³Ö üîÞJíúFa´„ë!È`MÔ×,å})uÒ#=ÅÁêÌWÍx~·6· è·ê.'Áo×yº©«Aì€Z¤ª­JÔuUAñA¥Ï÷§ë ÊùŸ¸pW'›—Ö:è< }0ßjˆ\ëyÀ»[NZÊÞ‘~J€j–ÞÆø£æ„âZðWOHxzâEíE,™pâzîd›w±—·Y‡cm´î¤Ìå:õkŒ³;p‘{ë–ŽpâAÞâ9„+ˆö‡ <€ùºóÓ1 Ó%A=Ÿïct‡„QvàñlsÁrtXxÇ'!—³]öŠÈû56X:I^Š4xÊnõßË!Â6ßÇJ6k<¹‰ªv„.&­+Ó>Î 7N=Å.|gYÀ@©›üƒRør '6é¿Ô¾q9q…˜þØ9Éý±z—«©#@Êd@(ÚQ‚˜g£ÝìŽÁõÉIF»8ÈãMÔ£È ü4·Z¡©µ„iBYüL~) ¨Ë}GPÝ~°Km¨8FA{±F9 ùð6 ·õÔ ðFº®¬ä31,.EcÆuÝÇrÅ=Øa,¨JæKÃÈ©OØ‘â2çXú«‚>ûª‚l3ÿêužƒÒ:1ŸýªB8±™¦)HºjƒOxòΨ¼Öpm¬*Qüiýý=f²"±xW×»C( Þ i.lØ—/¢ ¾u@Èm`î sùzƒ©gc#(›RÐ\u<Ìd¿Q'9Ǿ“ˆ†RFª”W­‹8(ö{óÓ#ÿ(\g‘̯ö"ø«‡ûØc]!ò’[ÛwºÉ0eêjF/¶1i¿ßšEƒJ³(l2Kˆò5aa•OËÞi­'è|cX¯ #$Y=[Â* 8¾¥€;ÐoÃV*ï¾IØ78ˆóYi`i ²Ut¥²ÍJ?ë×B=Nɉe;ñ@.Aÿa" rÝ´ — ¹ïå6‰¯«ÌFnŠ%Yæ¿ßðT¥ùY)üëÌ÷lyŒF¬­’â>'(룙jâ áÚ…hÏák˜ €<,„žM±B C±®ßµKkˆ)¥lø§È¥ŒÔ6E¯ zþªªÏ¶9˜`•¨ú=sµþ±D ïŽAg‡Ð>N ÖwÚµO9Zùîè[½i«]þ7´'Ä-Ã$ðúë©9Th5IRˆ~!Zð£ŽÇáÅåc#Ch «2š¯üÍN79çøM„YÍ_N—ÇÎRÓá~¨$.k…Ì|êÔ˹Ѩ|žé!®B)Œ##»‘+UêÙ5ÉÉ]·ÎÞLº]foÔ—®÷"!ß'5l(È8çW=V éí1—µÃWa}ÛOש= šD(8r¶Ÿ%}H—©†Ÿ"ãnªïrÓ=sRxöœ<÷µ—ðÀ‘¨´øâ²´,S“ÓƒÁlЉ]xðØ~Ae”ÇMqnI(&wý%t€¹¸“Õ^>ΌԊ¹í:ˆðÂá] vü›¤ºEÓ…2Ùú†L¤yhq•T{WµQ1ÒrS;±Q¨ñ%µâ+ömÙ¥¨åˆä´YBs7 --õ¯ÆÕ}‹u…¢¶§ÏË w¨÷¥:½ÑéøIC»}Ôe÷•‰ˆ‚nw¾Šv@ ‘éb¿y—ðˆX 7àÿ¹>Óõ«|rw=0³|˜‚ÒÚ‡4È?3^VE­÷,æê‡])ÅÔu—˜N2î´ýЋ¥êø£¾Âc·eúòñE t£2ü´à K ÌåY&dº)ÏI@¾@«áO/e;Âú´ (Í)‚_}ö³–Üû þìÅñ+fÆ[l *È8‡‹M“´»¶ƒ‚FÌÈ*c3J~lÞŠ“ίªÜ¢{J(X½a;âÄþt)eÐZ,hiM7…ð‘ˆkd\ÈâàtÙu¸$aM‹O> v‰lÃð€8ó`çŒoÁd'$'á9¯°þŽÀ^r„ Ÿ  ¥Š˜Py] CƒH;1Цî÷ú‘Z’Ç3Áλ…_ù¬Ù½«µÙÑûqøìU!g±…„€*ÛDmM^`YÆrZ`LËüFs’¸£3QŽy:+·b¤½ûzâ ü#ИÒyõŒxQ“¿U'ʤömÎOPúZa"ðº©ðÛ¬Ah?Eµø×Ñé*×8L´rÔòYÆÆ¤ËO¤HœS•å7Ø‹ Ç’µúutSÇ€Æ÷c7†u¤c Þ¯!•1âæË|ÐŽ´@­9Ox …J È÷u ÓÏ¡ƒ4ùwÍU}ÿI (ÑýÉ_åVÇj n-†Úd¤¢ñ‘nÞ^Ic|§¬TiªDPâì!M$ð[ŸvvŽ Ú/CKµçßµr\#iÊÝp¸îF ¼væçî[H•àẛ¾ÝƒÍtbþÿ_#j‡Õ[uH9#´¡lœÉB”–èš,¹t©LÛVÁ”²“üï?Š»`Ù`¢¶³GpD ¤…ÿü1Ù‹†qߟp@¼yÈ|ãÇ&WZ‘4’wCIÒ8«ÊóìèeU§ú”,^}h‡2ë#£E'¬Þ¬NÎ3×sÏeøj[áïZ7íô ¬RD~œ¤1ýX‡¸=žÆé„×dŸÙì‡Í©ž£zT&/þ‚àÿ‰æã­òv%Ѿ|:pY´mëß„y† ¾œgtƒ£Å&·^³ wåÔ¬C 5Àµnò,­=ˆÃcÊþÍçÁøzˆ¤„=XEØm+¾«9’; qt¨ëäøUÃXü­!8†<È|ѪŠºwËCvãêÀ¬ªåF·ƒ¼ FíêÇèïΚ2Qªúž°ÖRUbrÒ½…ºjŒç®v‚íãwRXûõ4ºhÔ팈‚‡â ÕÕŸ‡~WÕG”“¼d}T}èj³DžHPYéÏQ[g4¤ù¸À8]Ó§PÂVåv&Ž7eO§Q%0PGÇ%³ܧ–î…¥Njky‡sì û‚&ýîy~S@ã´‡»¥¿˜ºòçŠüŽrXÎß/>ŠŠTcŽ&„ `ýñÐ˼™V“ÒG±óR3ƒd°FF£ ¨RßÅö³?¢ÊäˆU§{Š”ç{ bâXÒC*<‘š^ó†ø=i¾,W¬åHå“uæƒÇ‹>0÷iB\.áIšÈ„èþ²dýá{¸ícn“î p ¦·ØÁV4t~´±–jÏöŠ.{3°80þ¾ÊlYîûÇ"w½3ñèÑdíð ÿülý‘¾‹Åy±· ä ~ 玦酹ˆéÁ÷q˜åu ½”tgš¶Ük¬_¢QÜÌÛË÷H¨¥­°‘xÿ‚Y|µ›_YDÂñ¶°g-ëËR¿ƒ‚j„æÌ„¸QÎ~ŸÆl™`áîå“Õ΄ûÄýì¹ÁV—t9àºÅ‚®öÂä˜;@eŽ'u¡DEN,Vh¹¼c ¹‚Äü×½‚²uIÔj ÿ«ötçÑÃoÉŒ‹ô}ÊÒgùgJÑÒ¡uÿ,Ú>˜ó.g`¤bn5IúkÃ?Ô@[Ô{Ñk= égËíxÛÐãn²#FÆé#z½Ä%ËÉ¿Ä8ÓùÒ¨JOkbàc•~ÉŸ²ÚAþè^ò7"M·Ÿ¨U†VúX>(YhØèí™ßû­3zïm-¹¦ê‚~Øæ¹­Nzà6$A j^ˆl É¹ dÿ9~ÂÞY¨[¡Ö•à>șڨ«Ñ¨&#¢¶µ œ†™ª;Uî —Ã>ü=ÏÐü{_O&:Šx³ôjS071ÃÅ×s(áܳÀ„ñ2Ü<…ŠŸ©V\o—VžÇï*Œ³ƒÚÎÞêvcø‹cÍ=dF…$êµU÷³8kü…†Ü‡µñ¥a|¥K7äßÖÉSÐzàåi}«ÌÛi-„qê¥o¬ø!ÃÑ?té Švÿ„gbôŽHƒÖÊcÃE5%[!Yüa&º€ËjÆbX˜íIÙeF=ïkõS Jo›Ì9®¶§sÿT@ŠÉ7¼Ð(„|€êý&@âÚ¬'ë„TË^Þ6o`ðG&þ‰Œ‡„„ñè@'J/Ë™±iÔ®%Eƒ0»sWœyÇ /]ÞäÒwFêi§nâÍDî½÷Û‘¹…q8qÀ\®ú‘cE”Vp#˜k58Ê×!Ε\."¢HS-Îó™+ˆ<ýAŸ£ÔHí öÔ¿vΕÂì3dÒúëò™ÿ<~Í)Ð9Þ¨…ë€pvY+ëMK¹Íƒ\rL̤¶©¹p޽;c—<Й5·Jé§DÁ5U{Á‘tb6Þd0݆îJµU(>Ïœúnj?î`EøcfôeûÝÓ[õ†IÔ3)„P/ÔÁu¨åmj–™¹1?$ϪåíØ x6ù<µÏ¬k Z-ô+îp V‚=Ò¨ú ²¤KƒÒª3dðýI9Þ•²ÂBØÐnqÞp«¢hÐÌJÐL–À~}—El¬«‹ð8 :Õ‚·ªïÈø7õ?ß锽H¤ÍÚºB¥ÍÏìá¤6¸ –O<<ªP^”ï”Í?Ô14är­¯œ–î¯xp-"çÑB8úf PÐ >éˆÍ1-ƒ*´ã{Ôôpc@Ú¨è®@,š7¯i¶‘—=Ußÿæ2B¡ÝïÆ5¨²_žLT‰,kÁ™ÌúºõW™m}¿£JÖBˆ}/ZßûÐûÇç ãÒŒqÓæ–£´PÍçµಛÇVaP3X•çƒÀm­÷'¥BHI”ËOH`4Mè#âÌUšñnÊc3Ÿs±ÔµùvÔœ¼y)¬:z’M¡û0™öJm%n7q~zvêýãj?ƒýMHKê§èxÇN¬ ÝyêuÄAº ‰%_¾˜îv¦¢ŠòºÉÒÝ·Rp„ûËܤ}ûí¦³–³–Pù§Ñ@B#“ëøÚŒûîëî* `*À™ÅÀÌEZ¯ƒ§‘ÇŠP^~Ìä‡fËC,©âüŽ/´Á-ž·|SÓ8ö}2©ªuŽqÝJv“óú^ îüÀ¶qXQ„Lš‡4"³oµ¯D)­ïñiÈû¼f¶ûTÔ½%°ÉÄ•±šÇÑ,¡øg#e…æ.-¡·Í}6'õ=¾n$ܧ€V©kÀ±c?× ,ì^£ò§ WÏæ²IÞ {)M7ˆ‚ßѨ Ñ/ÚêŸø¥¬Òs|´`8ÝgêE¸ϲëÞ2’ÐùÀÌ ´@wãPõÁÑmS] Æ Èr ‚Æõ2„'~^ôý賘¾˜«ÔñⶺÿhÒ_Μ*eŒ/Áƒ†ÃS»tx0´ùñè)÷!O[ƒnb<ÂiÐ0<Ã^t 5·‹“FÛ|’:eUµ0 MœOÑn€UAnU¾3#ω«a}‚´Å™ ž¤‰^UÕ¿fÂËÈ Jó1Ù4è(e¹ª0í±ü?r™ý’u*¸ø<‰ô@Á‰§ꢠ!8v®Êm#ÞTƒ¿cySñÄ[K8ÉP«HÚ44¯Œ3°Í·%ó@<ÍìjccZ],Áê+Â_LEªd”lb«Ùø+ÓÊá³ø[öÆ@¶îœ^0a_©øˆö¦ñk3)Šç§(NŒ%¯jó·÷°˜B"ªžv¹‚KuNÙRµöG4¯Ó#‹Z2£ÁŒ~|àz¤B#i*Å?R0gŒ'A¾¡{™ÔýèõöÈf³£õíð'îè¸Ò!—jIbÙäCé[?°ê©öÓ„ÔD—vjPXC¤Ðô ”w«•µq]|Ñ^×&M¥\ï3eX œmÈKêȰwÛÍï´zKM›óRš§*;^-‡Z 9Ãþ£ô=—X§Á$DzΩßÅ*Öò%¹˜Ù*ßix*ÝÇä¤ýᆎù«"å™Lñ—¹{K‘)Jm"àˆ=) ÃKþ©ïŽœÔwáÔ‰sjÇñMƒ.ÄáÚ²wñý`ó8™u+k£d²½ÏYN~hÆ5.hÔâ€ÚjŠ®“;Vɶà²Ì´X—t€¨¨±#œ±W‰Œ ùñ¥q+JÖ\C:är°íh>—äqÑ idiéŸGš“D¦È9+iðæL]@lÈ÷rÊ›°<ïa(ÙAð#nÙ9¸ý¾¥_/oÙźµÅŽJœS_,ÁUƘ$ËÑí£Y®š× mD,:Úƒ*Þ#ÍoiMˆ¾.KøUÏ™O”0Ê`F« í YÄ á±ªsÒ9]ñ‚E"¶ÊÏrʹô5ïY¶êS¸ ÄÑG¾’É`A±‡¨Ì’å#Õ˜ÂçÌ?P`‘©²o1nÙ€ÞßÍ£}!¾(ï¸r·Š QmqvŒv)~uMÔ›íKìNæH8¤ 42o9| ×øu‘RMÉ•¥YÔÈ/f‡`ƒV¡‰ iõÑfWÃFJ¯ãØ-VlçôûÖ¶«* M½suß #Ò·Ì¿™?E¾º!Ý«Åßp/Gc%;æ:Å¡ÓñO1¦.ÒO…gŽƒõ ¿U*ÌñêºÖÊY»\v˜j‘<‚pªü Á]]ó¡{=nÒ…Ø~?ûq|ê²@Z¡wº’˜èìäulû}–ýïü™]¨ßª]|<H_7…/5©ÅpôD"{.¦Üè*àëœê ‰/*sõ½.€cN¤ÿÅAèÃâÌ… • D_²¤Ê@Fñ͵Uô¶Œ/åö0ì^¤‚à]j Ù±”ßΧéÍûÕo1Š<ý™P»n¬ â«EHƒtâ0ß9ìÛ}­5_IË Š^G‚!w¯žau¥¿;ÏN‰’v'* ã(æÚp÷g°™' %¦&¾4ó8ñgkE½Ô_(žFÜÐLN2…ßЭJ*Bgp´bˆßQ%é´ŠjÚW;á×3ýÈØðP7ÚþÞŠ}•7Ꜳ½•Ÿ qñ¶ W}_› 'n‚wŽ[Jfÿ¦%У“(®o59™=ñY ðq„as;cBÚûÿ{Rß…°ŽîxíÄ1‹’‰®(1ªíDUÌו ö…d?ÒzÏá=äÕ:Ø1†O¥ýÄ),‚Ò·Êŵ²JÞê’m7CR9<¡DÚ ÚTœNÌÀ˯.C׬´?®¿„o ˆøû9³5fúÞ÷¡-Úím¤f úËÊB¾Ü¹æÖ¸þ QÁ¦žšÖ๙¹Ápø?ÒšîðõÏŸ½^>íæn¢ç<\ ÖÄo˜ôc:eG@;wªf}§IôOVZêY'ò$}º`@jˆ³G3=‹‹n¦•ð­ö÷ÓÄÎþEެì#îŠÇ4–šT°P·ÉQÔ¡µ»dV¹¿½Og-nVßœú…óµ¤X¸œÆw¯0â ¨?Óí©…£³«ÍÕˆ<ÿˆ8HÓÁ’)/­‡h«ïÈ™ÏV~>»#°#:pK摉eó“¯ôÕ­{Z«z)"ÜU“…ç ËŠÎXU®}fÒ©ß3Ѝš²,{ûdZ‘~}#§6/¿Kt¼°Û¸jEf7/NrÂfþܬtX„“þ^(N» KdÓˆg¹£Íc¼jD—…¸%[àî0¾½ï?{)„µí˜ag©cR¦ßh}áw8®w£š‘/JÀ]1u  6 ½†lÐk4¦ Ð^¹c»DaºNÖIΜg“k¦\`Üš@ƯpqN æß¼êTÕg½ÍmØ…æËÕli,LTçõꤿ‚Ò[2ÊGŒ‹èw²ßk5ퟒy%™Ê廢 wÔÑ®»¦µÌ‡.—_žà,ä)°Y=Õ×Ü8‘¼ºÇ€f½CC¾6ï ¦³ïƾÅù×bÍ4lý¯nMêÿ"k´«±ƒ‡ëüUuI‘jm¾.±+³û‘Ò0ä](ÀMÐEnº×µ%2j÷æ‹|{HýhK=ÃÍc‰É£pÁEJl´åö¦‚ñØuŒÏeÚš5±È­{ÍØ¸rÒ ç¦ò%C}Ú=5µ›¢¯¢…«êtZZ2̈&n+·Â½Â·±oËP=ÆRªV^ÜŒ]<¶v°ðOõKA¯ó"Û@1c0pÇ ’ F.MS„ŒÍ'µÇì˰iÊ.–žh3/›¡Ê ¹+á€yUÂô'ì1d²œ7A¨òV˜Õžá¿KÂõÐX^Q³5F ,Ñ*jV€uíR«û›i uåóJ46¸ Ý3—²Oã(DT¶bɾõù»´Æ)}§µÝ2Ø0’žL…u<ô‡Y”ôlpOe X“{òBøe…¤{=F5›Õí½æ„]InŸ1ÐV‡#…ësF3‰è†8€]é:ùoñf…ö`Æ“C]PՎنܩTÿø~­‚ m’Œü("6›*e2Þ>þä‡ßÊÞ׸$•¦¹„éBœä¿ Kè!Œ ¤^¥„zð ðÝqtï‘æ¡d´¥á§È!<À†^Ǭ·×HyLÛÿ£yZåÞG„wrù_¦ŠyŽ­#{ÞLÿ‡—¨‘¢ûÁöI¬ò}(÷\ø0ì‡5% ÞP4 XãÕÙ nÒ‹z?ÌïÓƒxbZm÷[¬‘ÔøÐ€pnâ”Ûªž^H&”ÁÚn…º³ï£VqŽ§à¸•ÒÂì]÷;¾—ZAúÎ׌ê&€v»í‡`Ú-1XOkÙjì¿ò䣦èGU4¿â†0öÄ&ò€ âl<–Çë¤?ãÃ8§L¼8Ê3-sø‚¬^8Þhz±•_zOÌåõ ´Za?ÛÔÚ áBq”­ƒhõb@ãÕadﵨðhé¨Kævج™†Å.2Q,•ÍÇòJÏŒ4[×ó¸èü Ü2x~9¥ÿ»Ñ $mþHZˆfÝ…ní³–úˆ^y1 \Ñ&?*MklJ•+­ š Ðði‰®2 r"®åSô]ÆÂÎ3hRrV9ÐÊ”דîb€¾gRÝU‰£ò€î¬Q¥ |Úví(«°,ÄVHíå!Ý÷7äOöçÙîÒ…ñ÷œ¸G3ãfêE"VN ðâÆ8 X²ÀC¢ö\k…ÎyÀAHÒÁsˆ!À z´Ê§ðw}AWÒîL¥4‘›ÒBRP˜°AÌDƒxçqH¤‰rˉvåµ+Ò£ÛŸÂMÑûfæÕê“\Ѹçî•ÑÀèdb'W½5Àæyâ|= •Y„ 5«•@_¢ã¬ÎruB  û—Š ¨k¾Ž£Fí-waXw¹4v] I¡<<ê'0fF£Sµà0d ÐÚÇ{§"áþ‚÷µîf€ü¸… C_Ó±‰KŽ ›3Îoî™"‰òC¤=9©)P<—„N{pU@–Øž££ ؃Epì%ŒØ íjº7FêÝ|vgm…OnYZ¯™í"ª ¡¥ôûwßÖÁ-©¡ê…¹UЂÈ]’¢è#Gë‹Wl×5ëq¾É-t™Ln6 ;¶æˆ^¡ë_¼¢»Eø(ùvhÖëЂ—¤s• Eѽ{þk/Êr»Ë#¢ßW?ÍfÆ9Tó¼®}?:G/œˆ±?$.Š”àHuŒ˜{øÉ3yê?K°[)œõ˜ÝŠŒ¹ÛÈjAOa(šQÿRšœÛ×T$<ÀðCï6k²&ÇœÿÏÍ·Ôëó©q1ß’:GÓ'Ôì’X¯u¸2‡ÉÄ?Â%­`Ýùá¬/Ò[‚ç²ÏØ™ÖÍNãàk W¾®º£ºÌð¯¼Võ–=ô¤-Ç£qÌ‚;SÚ”J„S£Èï·]_*Ö8!‡[Xséœõ:]ü[ÈeUL¤Rc#Ò¥¥Âaèö,Œýö6'úÆï¦ùwëpÈ=hðr¢û³ˆ®içã’û!#—ÖÏÌA[#ì*AT;ö-„²r•ÞR•mœ ­ºã )3€3ŒH»üÄTi¶(þ5ÖV×X÷Gë![‘™½ìÁæ,{³‰“òfΞ¸KlŒo»Í8ö„KÍÊǤWBº—€ôXïņƒŸtòÜL£¯IŽW Ž^“ùÛeÊc ¼Dì¬U«¸Orúìé%X"Ȭç¯ç-?˜Õy]8ºà—, NB ¹(!±â§Ä¤žr.o%¤yr‰¾®Å…<ß4ûHÇ'ŠU"|ß”",+UÙ®Íܨ—ÓC)›µ^‘Ÿ9ö›¬kkÀÄàМĘ…[jdâ`=øFãÿÄÍÐÊvƒ= ¸Q‰ä…7¿xS…§“gW sï󨚲ÎÃÑÞvëIhtÎ5Ñ—­VI«Ïì+žùM.&˜kô"ë×#YgÈu«sH¥–[j†ô/Â’±ßwËmº:ïÖå¨ë«ßà7šó^½÷ýO‘!­,iÔƒ…ˆö>™4Ž('ÆØÂ½>ŸÔ¦êA]ûµ¶mšr'Çl=ýN÷S’”ä<»T~˜³žÍ"ìÙ8åœnm2þÐ#àšFý†à‡4¤ÃPú¨.Ï#¨œšòd OŽÖ—×ÜV%[möÛž—±L»ðVº}`šÀÇVÃóûFimE½s¥;½s…BŸ ן…‡_-º$5TÔ6E¶ûµ4®D$Ô/4EÖ=þ’­‡ cÖ ³ÕCH•·\:#È|PgÅ…OâÃ:5îr]^ÎOÁeºnGOÄ»o˜®J—Á0qƒùjzVüTç >é'iÏp qþ#@¡-!Ê8ãOŸ²ŠåµEË(ß=í¥î̓CfIŒk^¼É¾”r7²½É,ÐãU¤L¶"Xï¼ðkt*œ‘Aqõqæç½U¯_yˆ|ðA ÃÌ‘¾Í«foFI|‡x³”_¾ fIûöÍý4óùÉYÊ¿oÜÿ罩ÿ.ìIß §™h*³o´Ó¦æAÇÈÏïŒWÊ£‰¤#&ŸômsVQ–¹ÁN?ËK±ç\ßvf!Q‰'î|Kdã“dZeŒkßgPÿÛâþ°©˜¸þEÇ.{äzâòcïüGNOQ9o}­zc; 6«•®+7ð£©ðpqV1¢„Û ÐóÃñjî¹ZÇuæ”0Ež|S[‰~â‚~ö+›a¿nBßRsØO0qU›0K×Ag\âËD9À•½ÌbÌ@ïÅSØ<[ †mÓ&¤äjN“ñ.IörDq¤!’Ætî¶;¬Þ„þ“û9XÆ!ô ·]ßJµ…/÷ dä§0ñ0iÑbPÇY½­åcY®Ú‘wa&9Rm‡¾íwj¼×‡c[ÉÌIåF#?íÒCP] âŠù¬ˆ+î ìyéÖU¬ðâžrÐìSTµ™Î8¼`)Š]‚ ï .3Uƒó»êÞï˜:ãü?œÚÛŒ³Ð&4Ÿ¥F†_Ej8 ”Ñ´B9®„j5ìû|«ûÕ]/gMŽ ‰…­·føDVÇßÑ0@½ãqu¹bð }UgS°-Ø@eG…ղǺd r7–P._^~"fëWÙû—«,Ì80׎6d½Y¤¶TÑ/Ór_"Yö_¢¾}B„/a~جѤV¹Ú´ßI¡±î †Æç¯;oÏs ídsÚ[iÌßbÒÅûŸ¢?ÆÂ€vBo_¸¾l‹ò§êm|D_$þ9<Õ‚hêÛ†î3O$ãpLé5œÖ­)ûµd ÑÙAŽñªây‹PÏyˆä^±ÊÐRYèelE•;‹‰‘Ñjšä¶f)+Pð!puƒºŽÝê{&§}˜fÄš|Œ•ÝÁaÒ„I‡ÎåØçX²”Q>£Çòøj”‰1ü]þ»Œ¬Ê¹d42VYzï•”âÜ}—ÏšŒsdý+ ý·@¼JréõEØ}YåzïߢPè–‚»“b`¹ !z Þ¾H1[ëÍÊ åÊDA÷òþÚÏìVF”öÒõ#FÓœˆŠÖkØÉ讇–à̰' _wY#ÈÛ,]ž×UÚÛxQ£šã3­þ!hêÀUÓƒM7ö”n–¬äH̱O|‰'’7w@[b¨³ummž]Òvû8…=˜•v‘a+ÐÆÎ 5€¯ëïsÇ÷äôªˆâݬ¤X˜…¸¾Ö©«;xPIš*½âÒ_%Pñ)š°‰Û%Äü>”kYþŸÑtj!D” ä ³Ýî Ü`WÔ\e†¾%)¨Æ…¸¼uàÙ²ß(•»ŠûÍ€ñËO…Æ ë{}[[Ÿô«“c½¾+*“b75 èux¹ZP™îÝÍžÌûgýüÇÚX˜Ã‹×|¶péžâÝRj‹B+£)¶~ ЭrPí˜VeÃbª–¦DÞh¦/Mrǫ歧^Ü»/Z³ Ÿ§òX/#M°—ëÊLJ‡ì«UÇ…Þ¤`î^Ѽä¬0 t}q‹UM{¤H“É<'gãþ×Ó¤î੼¦bs.ÇÅÑgxvzËÚA„¯]!IéÛ+‹q55’ +‡¡|ç²Ï*¯@ÀeH|/ãéB&fã›P$Ðßú‚¥¯B÷(1•§ý?î©c…{ÍÞ† Â<2l/¼}š[Xš"رv0Ó+—ã ™ ¢9ÖrEù¯ý‹ ){ß ñeDKDí=7Ž ðä_~Ô£ònè¤ƨRÎ9ñYÎõG~ôš“®[Ä/‚4ˆ·»Bñ@k3Uóƒ¹Ðôáz =bBÑФ¾…̲ž¡máJXÙÇ |ç…™±«.Ê.úÔÉîɤn¸|Î*žioN¨½ë\8Q®+¼ÔäCý†’ÝèÀÖoŽ$šßkbr\NNû"-Œ¢JÅú>âGZ%h+Æ0™–ØížÏm·>ÿ@¸=@1âµ ¯‘»ß:ÄÓ|lH­¾uY ¢é`£ý„Å¿¨Á|.§K:/Œ.T“¢Mÿô®ñ7…ÞjH2Š· £,düSež2†ìX£7-~JqF5Æ—V¿ôÜPÂDb`ªXÃ}w8äš0oǤVC½ˆ<ù+RÕ˲RÚóÁ;t«µ~®‘À}³¢§Ê;óqyÉâé{bšàß2åÔPJK„Œ‘âJ\EªÆâ/R(¦²1™ò7Š»áÍq¿sÐëæÏŸ{Ÿ\ú%ËyÛk4/íøFDíãì™Æƒ™Y9PN º"³á¿ ÒZ'òýðOCæû¹JVĽ1Wæ•Ë}Ðã"6µÒ(6뵜—Loo ›MLf¢ÃYn•„`ökõ 0ômmr„8æõ‹:®JÕqÃ+XI:®n›ÑyãE(—ÇL£ÚÓñô…!büÑüîûÏA Z‡Ë–S¶7Í‘³Þa+·¬íV€K¨5}ká[Û¶ú° œù) Š6D üÔR§>n, x bŒF‡Í-t7ÎI}ÔÃÅ÷¤ÍõCŒôØ®ØÚY„и!ƒ·wô“!Ƚ§uÑ{³¹Rv<£ ÃUe:®úF;ç¤ýÎ\ö ùëñ}­kVj¨ˆwüú@ ;À/Ó„ûŽÒÁúÑR­À"dSM¢¸„í rBY¾Á05#3‘. X¢„SaRüeúgQfËÂ%dÎÇ|*óIhóg¢9Uf2^¾rÛ—7 æZ“~Ç¡Éü#n¼<©s¤–9uÇöÝDÃ$Å<¦F1u´êç´DG2nïûý™œè÷Oòâ4Ç?cŽ2:]Ô¥[è˜ý9ÐËFKæËnÆ¨Ã­Š„ˆ4 6‡/Ò̺29Y‹µ$U³„W=DL×Å *«¯ õ!¾iËm;ÚéU£øÜ?FÂ?>T{±—ó‚½.uËÒ@ê€âB3=6é†i)ºS–$µ «bjðÎåžHôÖ…b"TeæíIM XLc^x°©|ˆ„™:Þ.@æT2ö$¯–*q\„Î |ƒæî{…ÝM~ÈÙ‡F¾MDO˜hbpu›@Û8¹@6‘HŽE£ ¤¥~Î-­NU?‡tµ#Ès¬±%„KS0. ü#©` ,Gƒˆû¦{Ì4åd†sd[¶1)›ªSV(5bÓh0‡®I9­4ÀŒ:Oc!Øòß2_ ®ópž b¶‹ƒÍCwÞ夵 &¡™–ÖÒ˜W@­@”.86%­xC¶fÿ>wéÍÒˆ³Î×ÎîìÑøŽ0Š_Ñå}m_§¤)ÊOÔ±{$x4íû\篬uPþ|GŽÁÌPô?˜f÷–eð-ñ²; ‚~¤…jmÖ? 142ʫĮ»¬9¨@ëmËÊ(Dý{8hˆ„!ìýQÔ©Ð àD­†Pbßoœ¼Š~í¾/¢±b ™@Ǧ‰U {õû…)Pw]µi`°\e½äw[+¼N»9ÐïZ¨øµ‡ðÓ“{Ò¥kþÔ3˜ŽP2ÉtíxâoEh, £w ÄE‹@va"ZÅXËž­B³Içá´Ð!¯ñN·2ÛÙ&´;ÊÉÙƒ¨ =ÔÅ5µ÷Ã)ÝŒ,ÙÚýâ—ªò³È{m2pa\tœjæB(\\žFÝ¥çî²)@eØZÉÊe㸫96¾ÃR¸Ÿý^'¼]±Z²…”}«¨ô˸H‡XË"CkYü›èí¸bnú Å$ÜO¦úvèìš «f‡Ðì,5€ú‘Ÿp´‘™Óúñ8›×gM£íÝò$ŸŸÄUI~%ÐDð»À÷¥²%ž€*Z~x3'Ÿ¾ýÈÅ— Y®=Áã¢(î@M„•ÿª]ú³ô-cðv¿¦Ñ†B‘þ2”ÒÏ].`:7QǪ"s~äINìþ÷‹f¬…wqÈçHšo¦‘?/hG’Ë<±¼GRî¬ÒD\ãï²¼BEKÇrX­ r^G†Œ]Û¸aÆ’{ñ¡ÖúÌ7ßø9²ô⦵ÿD£#Oì¼Û½Y¼WjDx&UuØß”{ÝK(+S/deò˜AÅMR¹¨Š-"áO5œZ¢xœã?ý^Þ!“ 1B¦H¦–eÀ³­âT4Pùæö+QoÐȇàBŒ¿ž ÿ›zhþlÆYŒ÷ÁH(„+•ë˜ÆÊéC‰Ái]Çèd»}k8’™;:'Â-?.Ì{bÙHWß)ÑÆ‚¨ ëÙiû¡A¼ö»'2ùª$ˆ¹—žnv!}¤2›\C1þL‡­Îä$y2éx§ÅzQoy¯–ã‰Ù#S¼K<×ÑÑß—Qøñ‹8åÇG áÏú eÙŸf&tòñ „Å‘Æ÷ZÐ;\àÌ}.Å`çÑ ÂÂèôgųDÒŽÞ3Ó€ò`Ézrè=@7€ TŒ‚’+¥”ߎ¤!NM™•jýÏÑ8Íɱ ÕÖǯО¤¨¦¾BúÎáÏå?sè¶I£¿™þ¶,ØNí\L Iw¤&VÛ‡“1úäG*ú{_¾ÌH+ŽI¸ÐÉG>²Ð·@IÙåói·›¹hžåk„ŠÚR¦VŒfMœ¿€XÎq¼æ(Ë7‚%S ¯k ÄÔ?$°ì„ÌÁ·iüáhOÕ7Š'¬hEKâ îá‹à‡ïc/©MÛ¬Ÿ²åfVó—  <¼ÆD&c²2u*£4Å*7á¸8tÊœ¤\~™†^%󨘼b¤/‰céº~ ç>Ú+ùuPÅ( ØB'¿J@ãì¥N=*"pëbý”«4(ìË„§)…ÖrGÔPGŒ×—[À4³$Säzù¬J}S/ä‘A/AâK¼¢Y;ëÕ9ùlú&É~oèµ?sC_7;Î[bˆpäM¦â@R£j5š¦ SÚî ]÷¡NÁÁa|Âp¸ˆeú›%háˆXÑ•›(ר·„»8µÎÎþ%Ó¿²_$ʤw2– †m_sÛ‡ÅOï30¼f‹€ºÕ5 ê@tÒüg|‘ø¸;œ—XxŽýRÕ1å©>±áËU¾„ÜvaJÛ ÝiÕDZ.@ƒÔb¼™D ȶ¦zŽ(;d™*¯Çðì?å@¦ÙóE¦½Ã½%1ŠÅÎtjÞž4/’{Tù;¡:³Å[Z û0µ643Bκn’L¬àx[¾(«nO#ýÔ%‚˜ƒ}ØXôålÖ^û⟅Ðx!ùU¾Ö‰R÷"ºm¶ð"Ù°ÿåÞkj=ÍYÛ Åž±Y#qž\k)èœÇA…Ç­,ÖäfOS_ÇÿµÇÄjõ`t‰“óªŽ@C9A€ÈÿÊ&W Dûù32N6N¹À£×ÚÇϵØ5Qϩدlò@¥‚Oeã«í¸G]<ò¨Ý¢K aBBK÷ýnÀQXã³Þ’hhˆ@9"gÐ+'µ{·h:ÊØ/>M+\øÀ'ñ¬O£–¤—õ"S‹2%P2ÄCaÀ© MgÏŒ¦ØÑ¸ðîÐ^Ž‹ÊqþI¶ôu!;ðß‹¤Hɶ­ü<\ëtQI•›:‹öó51ŽBó7µi‘Ö„?w@ Ý™¡Ú/`AñÅÕ}lé´Í<óì=%™e·UF­hµïM&+ä z™Z`dµkv¢¬•óKƒÖšlF9 D^y&¸Æã:ÏmDáWfQïM’)而á>Ï÷ýjF#ã÷ÿ2Öà¥(!¿ I'~³t}b¦ß &ê!…ÌcÜ Ü5©ìªÄÉK½b¤"øè@ï(VµÇG6dÂeƒÊ§ËþŠ ;›‡ýàÂ14fâµ¢ @ö«µ^e¢ QØ:[}>ÁÜ:@ÙrÅ‚$¸wÙÄgLYÜŠ´?ÃëdÃDb_HyѧêhÄ,$ÈE‚Hp!—i¬>ò¦Mý¨s•R§«FL×`Ét|51ž®ßãfÔÈâ>=câÛ\;Ã¥z­ŸÂÀ“–´ÆÍ—È~Ù<8¥¬l Þ Ä¤·– }?ZÂc©Û¥o’'ù[Ëm¸4¶x`Çõ±¬‘ï0%t¾øz ¾˜‰@gÐãQ íIC¯ÍååG -Óƒ[…Яf8ü.&Ì®ˆzOsq!Glàuap„µi:: T#­të6J ÆXí”š!ë°fn€zRVßÎLµ j½ì—±Ñ»ðØ<÷¡&gÍ0˜”¢§òЇ Ÿ q¡ÄN@²Ïª£`¾o‹uãs Ÿ2Íuûè·ää¿ L5¥«ôÜ$v›€gôGns‚ÐËþ»D- ç#ÙŒ…ÓSÊÝõÆ,x@?vVWÑ`¢'5^NýMõæCM­\»ií8šµqBï_ Ë|ߊADÉ;_ý¥¨L†:é'3¥JKºdÆC NJœ/ªÿÛ¹TXùz û ™´âŽÁÒ¶[]ûºˆ¬ýî¶ÛéiÀÑ,Ò¿:ƒøôöƒüQ=cãœRȉ›ïp?ȵ}¼7r³"#˜ÏîŸÌg1EÀr’ç¬Z²Û¹´‰8ãòC=°’û†Âáël\"åAðé+¬ŸÙ†³©62¡—Äý ­¦B}–8Þ¤,éß9ŪEE £ÿ¹–}qŸP›ðÕZyá‘Qí“~äÐÆ> ÷—˜rkLV! ÀYŠýcçÓ£”q£[èõZROé'¢yÓ…¯>ʹâñ¼¸*rm¼Ç¾W ã#ÎÏ]¶´yŠz9Ô=rD!ÓÊÙé¿YzϵÊcˆOÁ²Ê_œêYéwÔË€pÁØü$e9}©n¡Î*F° ËŽÊ:5{FÜêD‘ØÓ°Z¶€jŽV–§Í̦;ᤋH gö#ÓÕ' ß&Y³Íjãõ.«Öèó£^ªæÄVÁáY~4ÈÏ0¾(>8›OFô:/NƒŒD9ˆà± !ËxÛ‚ù«/¢ø”ÉD.T+3*éìT«T~‡žÍç­~yšªƒQj§PÉÙB3Ò›q›ˆ§Ó4Tj"!bO›v^{îXèË,#ST ëM”4¶“Ù€Õsa ³ïdÍN‘Š^Ÿ­u0`%`€ýq¤ët3Ïr½¡ —Hlh·G›TŽ °Ü²ÜhÖît¸Ä4Qç벓ËÇð—×»·¸buÏüŸUhP’Ÿyö?o–§’^Øæ‘½ç„u‘Sþø=¿D?Ž‚Šk)I˜×¦9ûwÈ>÷¼`NA)^9âúZ•¯³8jE}lOè/fhœ‹‡ I‘ º¡è˜þ»”Jk¬PÃÄ2kÄPÌ9íRÃL«Ì vòt7’dFº:Y[þ½0q88Á]2“Ì]Ñyû±%àÙµ§h`\½Úè‘ñâã$8ÿSðèv–ƒžéz®^ãuxÈùíw9á¤j¤F>Y GŒk>Æ[äSp˜Y¾UJe…8EÇ¿T"{†hv1³^v›ÜÕÕl¦µ~7ͬw™#¢v¸dRN˜—‘Ÿ…N;¹>µ¹3/ì`Ö¦m3b9QM@ùZ^Αª†À%Ü,ô#†›ÆiÁÒ!ÿ‘ðŒuw)ËÀ‹À  å6Ït æ äÄw8‡ëT0“;.£ -Wtži¢¯3âVñtŠ*^˜)&yI&ÜøúHpLsH­ììÒ•q—¨ZƒÁ¾´Ò´{Ò¬Á×yE*¯òm+]ë¸$w‚*ÿÇþª?ü˜Gw@Å÷‹ù§/]àZ ]Îá®êU 8©ªR»ÆôŽÜý¼ëšÖûƒ¨ÞÿÚ€ØÒ D×аîlE¥?=,\AZÙ±mrAÛU^ÜO0íl5ÒxBŠó²Šé2V)3ã¹£$M¬ ®=\U5édê@ë0øà)P£ +µFéÏÕ× «òèUp(]ùMíúYoœ± .æÏE~ « -FÕÓ7÷NSÙ$¦IF£¹Òt0L7À €þøeŒú¥ø"•ÌS,j‚­'Æ«üB•zd769P@ùþ.…­‘åþÆÙǰ1RÚíØBû|EåvåÜd÷éPh39J˜d´³4ê¡kÈÔ™~‚nAò\í/>áàáÏÕ4; Ý'ªŠCÙpt2÷~$ ³(üƒ€¦åÎÜ”Z®†TÊ»µX¬Q^h?ZÛÚ½’Û W[—B|ãERö…êR\fqäë~ôôØ®øh.%ÍQOEpvÌ5@ß©%PO^I1E5<úÀÕÈÉ®ÅB~Œ$N]&ˆ§ñÀX†ê‡>†—ä`y©´p(œ¿X-Þ¶3Y…MB#è+D6jÑ29Üד‰±­TÛ@å$;ëõÅ©íœ'>\ËA/)*XÌäè´H©- ]³– r{äBé„ÔÂ!ÜþOÈ5i=^ã­<÷‰‘OÊ‹! Œ.?øJîqs™Ö¨Æ×ŽœgD CØ9~MA‹E”e½úÖ·¡îoG´½®ÿä ÃÞ®NÇjló‚ã­¹síò…ñ8E}6Te郚2-£ÈsŒ±ýG[ï'A¬SΖ‡ª‡¸$.î»?ÀÒø?XöM²W$ýð;|­ Ví¤õ´)À’¦ã—º ¿W®  /à­J‹Åà¹Põ'nãÏÖtã9{ìò{‘Vm]¶nx3ÄK©<J8ùBY..±ùÎý¢AØlN©…£7ØËùºOÁÞc±_Q¨tâÇa9i}:Ÿ B¡·¸µf æ¥j*&ü´˜Âvšvbmœ$hàS™——ßK‹Òªˆ]ަœÓÊ=¬,öDžÎ¡¯±Ø6©fÏë_GW xå(°†tŸb nvÕ@?Þ-!‰Ð£µoøný¨ŠÔO¼þ挦AÃå3ûôhôŠAiÚ$í[i¾YP¤_)ó3cöAÖ§;û':î:w1§û”Ý“B¥Ü—øý7¹R$»þº>@m™Gþ6ª¬3[É1„¡èÆXœU¤†OʉrYøýv9PgòíŠ":¦ôþu’Ü“àÞ60¤ºØï9 ߥ…®Ë‹¹Pªýõ[kÂkèd[rž!¢‡™…÷‹eÞ©:ºÍ$Aß®ïxl˜¸2ÊeŽ F0N9^0ö“Iµö ‚]8ˆÇ2"‰i–'éÁ^"ËXï—P%Ÿß)„Ûê¿ æjo Å­4©±yø¹5§äð €jœêz¬Ø{?…½B£0{ùÏ2uæ§jg…iXížs"ßéËR HQÛ59Vv‹ÙPØ ±Û]ÓÃÎóó÷ Ô%ü<²Â ]6£g-µ3 ©KÚôwÉí êLúó¾€µÊqÑ(½(ÔÍ P\Ú„J«a!Ãó8)[q¢9¶fD+QÈüt‚ŽÀ¬:›µEÝÇ“(ù™*ÑAò,À©Ë´ÆSµì@Ú¼ÖSô‹ÍF{†³Õ$‰`€=f’Š#³1ìŽ^VC0^%¹'ãK8zÎûd_CŠì«æØ4›)åÆ5Ü«áIWŸ,÷C'C™é7µegYÐ\U.*Ú _ò1‘W@¶ÚùÖ[ãR_|4ž.Ø·èãA0…’[¶r¼;¦ÃEØÎú#Œ$¢‡ðÈU !:_—ì¥ÓÊ øˆüIß…èÅû)ytøðdóy,”Ÿ2Ýf¶k9+Ío|RÆvˆ:\R§ך,êÖ§ˆd¢NÛEšÁçîåƒ ÇTîùAFW”q‡¯Ó,üÒ1U@±F‰UÀ„j‹‰´t&$wÈâG"+L€z`w‰,ÉUÚt¸Ý! @ ~ÔYø\Œ¬e_ Þe×OËÚÞI÷cà©R÷Úøbgå÷´Þúr†RS¥ÛÍ5#ŽÈþ¤›9uŽØ!ˆ#lD©I¦ûÓ¨Ò‹' î²¶±½3V€¨ô7r軥i©TÅš®¿8Øêõ*ph„ê¦C±œàÿÚ ø `®b…kn©0¨T® øö±-î÷rïå¶#ŒKq[“ï®Êcð¨9i½ÚChS,îãQ©]kå&%X)7+;»µ&]4únó=QÀ“£—CaOTûß¾{Úçí'—['ΣvD¶'1¾'ybx„¾Šœ±[·2¡)¥n*‘+™©Ò· ñŸBªÃë+„5ü™ÿ~Ä(úãuŸgœ_³¹PLõ{i(]¾€:;µ¦ÓíñûЏ=nò <„ÜÓ1*ú2±ÿ[1R,!I,V÷…Þ«xÇG—>ýdq bFë0Sç¼?¦@äA¤¿L8oÝ_`‰îQ]•&27ä Nj<Ë…“Íü…õŸ,HÓÙþÔùŒ†WΕ\æqŸˆY¾[!á?èiCäÜñ&Ä’™5ï@:¿8¨¦Ù¿çd¡Šàt­í-„ï(yk‹Q¸ðBtæ4¯ zá4h•ÚýVJ_¦†Sn %Ü,»yà0Qö2Z°v[UçÏÆHzæ 1ûÆE6˜Íÿàø s‚Ðþ«#ð([„¹¾ ö\x$®½ËIªí™è/R³-UÞžLE=…ç#@ ëg!·ƒ±žÜ¶sÿe$1’•=—±qP¬:0 …ѾÕó«ù&ò(¢w‡Ït­ø_4>wd<%–ŒcÐöiãj¾DÉšrU{}]É6¤i-EôoQŽFm»ô´[­œÃAÿâZŠMÜ2[BÁ+”ÐN7êhŠþ"aE쑯aŠ½á ¸•¨´ìtA4ø?"à|™­ÞõóX4be&ž_ÌÿNkЉ—1Á p-Ÿd0Åú —¤Xɨ½" )sšTyV{ˆÙ©é[Ê– ï Ã4ÐöÁã£2<\òݱ‹xÚJg[¯Ï*/ƒ>Ájön]責èƒ$ zòßÝD9\ûŽ¿AòìB9M-&^Åøw.Tn·_mžzL¼›.C×7 êTŠ£ÒžÖÄ•×ÁgÃì{¨êÈ59 Áåy-³#î€K¦ë`¨¶ƒHᬕc ›¾j,ukPÄÖ=Z»ÃàLý2b&Å©§à'—<ässËú¯Æou?ÌØÝ½mÇ%Œîú†í „’úò€ÙƒUÞ–JëNü– YÛ’æu[™$Y/|CqN*ÉqFò)¾™=-3V!ñl>A"Í.¢(çÏF^6ÌCŒlŸÕ u¸†È—“¹åÀ‰µR"E3dè]¥ì2¥ccmÃ,áI90}Îç\9‘XÓéÁ¢„§æÆ ̵×qÅzNŠ—cA‹Hoª£”K¯>Wf+wJ˜ŠâíkróS‡z~ôß,›ùZ¶ÙÇkhƒ4+9󈙙å;ŽÚ“b[À(•Ýlƒ0ä ‘//º‰b7šëR2x6¤›Ò VÏÝ Uhõj©>‘t ⯄¨qÀ‡ì«€‹OQ’ê–LWÜe€‚ßÚÄœ-$@¯”Zª¡ô}ù7b¹Ô†™8¨çúêc ¹ªâúÒݺòÌÐl;Ýøª^3K]Éþ2¬‰5ºuÓéVƒ²ßqyK–wY-OsräB›frÌ{wsÿM"WvÓ£Ïz«÷ÓèϾ%º¢3£\Èn“̬à¬.mðnÄàÚ‹²ßÎS$,{L˜të7ÎKMFÝß•¾Ð—éi ÿÇ™GÝ_0Å:²j2ÆAíHÌöJ .#êPôD#Y`DƒtåÕÎ<ŽþX’½»_å϶›D†üj— (TÁŽÅÍ+¯1)FìÚгL%T:Áy·±^öž¨¬2,Ì6O£\»þϽґ±×u%ƒâHj³11¿ ¤ô6W¹®˜__Z‘‘(1f–^øÓù »Í úÂý¡¤_ÝØ­9~[7öž‰c {jðŒ •ÎÒVãMŠŽðª3à>Þ/V>8e‰¸¶6¸tcËd¡uµÒþáЀŒ{¢±¾áMáØhNÞŠ F¹ K…ü[“ª.gmÆéC~˜æ˜ï¿‚ô.¡î[ÅsÃ3l‘£Áçú•—¹jÉqØÆ½v}V0OBÀ jIÐŒá7)Ç DÀQV <î¹÷ ØFŇF0Äuä$ Ü¬ß.X/êiÌ@}$‚ÂÊáU9ñÍ=W îËžŠLtÂyæ‰RU›Á':Á—ƒÞ0’w Ínc²Ä¨? å[÷ÝÒÁìŒÜç³¥;Äc¤ò¬®·ÜÂÅ5Ãu"¿I‰=”ÔŠ2WÝÙ#L…Ö?^è;@"TøJBäu—ýÙ4­)µy'šBHñzµÑ%‡vWÐV–9vfЕ^zn2ºoß?æN_¬²"@Ç®†7í²™z ;•¸{W„ý;ÂFKgÉ+cøÄ¼ G/aºÖ<—‹4‹ÝAI^vÍé™^kp4¯~PxU¼Ü)èYVzŽõ†èxßz-w§ÝfÍž•’ò£w"£¤m±.Ç·Sªm“Pf…l‹’UU*1åph[”Ó­ÚV+Ñ#B"‚íï›ù=Nà­‘óÆÏØ OÙ '˪ŠÁw $| #«Ô² ]'ØYxJL^Ç\¼[´²Z:†óòÚr±5òóZÖ[ããßÒàÌñÝ·Áýðޏ*~"7[ É Fò{f+d$èÌAD“ –x2ÃÆ@*W;\t ‹Q2æœÖöjÈüÙ…/à3­•9ÿ¼±Ø¦âÿÈ¥u¤ÚWŽp©]ßÌO4nÚ§´€è³ L´hVmé·©#´ÇêvaMõ¨Ýn¢¥t?»¾ž½ÁUFþ>=:ûÓ—¡Ž6Ÿñ¾áÂÜ-º°dvœªà¡½ðç`¿Z›Ó4hoµŠKZ÷šœåõ¬ÞAÍ–þ3Y`R¼âÇZ¨ õÁ1›æª"­s¤˜„)k.Æ«Îg„oyìK:Lɧ4Õ>a¬+(Ž‚†ì¢ÊÜ S…CÿzÄÆgDÀoX+H)VYÇ‹û#ü¯¢Çhî¡7Å ÝÜ?ÌR²"£-³*íxÎf'^$°¬Ç=,rÅ.f4ˆª´ˆ¿õÅAJI‘†gNˆÚ‹e5Š™ŸŠuá‚*S‰Êô–XŠ’&Ô5R~¨|^N‘K!fçxKW‡<WbrµI%:¯Lõbe@f—¼3Ñ*÷–G¬VÞ•ó`à¸ÅðR’XY3ÌRá!í¼{;Š£Ì_¬¯UB1ö±Û9oŠ3k{‚aæëü.vëq¢hÎV{ߟ$¨±šó3Î÷P§ÜehUؤn+YEQ&îdÏvZ™V$@±-Ò't§'‹-ŸÑ‘½c®ØyÛžG~ž7¾ÎTÏ«ûïcýi,ëêíWŠyøL4é8ILÔ¥z! &°‹ùíö–¬©p_Gw|ŒnI±háÔâC<¯vãmc°§ØX»‰˜hñšïµaqò…p¨B0"|™À.ƒ×Âßùm%¯"·š¼-@·)3WW Åó¥ûW|²œ¡QMë fÒã¥Üj8¾‘YÓÆÿ »(WWÈ ¦©»õò¦¯˜Z¥ôçÃÎÓTÎùN9%1Mî,÷™ŠåJÅv¸QsÍ,\¤Ü×ñg"Í‚ƒ¼äMբўÆüpå¹²cú‚ÒÏTÎ@w—¿¤üUBF»ÑI@`W$ú «f@þËÔø[Š^w ‹84ƒÆÈêà+ÿðܓǟAÇ:4ñ ös4‰ÂCµ sÚx\Œ,â¦b³-—. ÅLÂý© !¼]ÐÓÀD|krº4áùÜã×ÝóÂQÜä$ŸñàØòBxÔ-…¿ÿc¶ NžÆÕ_«Òš7T] ÞZ–¿SÄ „Åñ× Q—]ÌÜ6 #¡Dããá¨i?à÷ ¾¦‰ZÚ*Îjˆñc¹wº÷SJÐ$ü¼Šr<œ¾N=jàÓNÎúÆ”-H>SÎ&êJÉ©ƒ Uø`{[à\óCe"2à›ƒª/¿ejS!̈ùERÏcdØF¶d›ÙÒñ¥{ÐôäȰü½V—¿Úœ5ÌSž¯ŒP´lÏÒú-òæŽ7¯+ÓõÃ'&ÚÕˆÛÐÓ]>HJéd>D­u"’kPüVÏa“³õú˜Sè£~yóÆcê¿©cÑ8®FhÈÇ© µ¶')¤*GÛKá®ÈÃéhÞzûÓÐUQ×+(áÊN2P·8©¿!õü¥þs»Ðyf PYÝB‘ñriû~±wY>Šw¡”¯)ÁÄGžßÒ¼\ÿ«"Ó¢s›¸$1ÕUxècW~µØy¼4UÜÁuÃñ \ét)_VXv^ßU×k^È6N=-ñ9 ¿gÙ¼Úsù÷eŽ”ªGIŸÙzOî…¿t_&f(†òÃåxû‹ ô6oʯ§†O¡œ¤–Á}i™H¤c0 ¹½¬’ÎEHðK¯«‘_!°GŽô“Hq•Ý—Š&þñ 'ðô6£Í&ù̆ÛK^ƒí¯¶‡Ú@—΢ÿžUϺLýEù“Âì({k¿‡<Ye5Øsð9qç}Ìo„‹ŽÕéo,Q“-7|¬³ôþúäGËŽ[ŸOHd ²ÐŽÄø‡pqy”§Û>ÖËõñžÀ:ë¦5¥e ¶Ýó:t«î(Ú®©„žŠÕødÿœn!:™FðfÛÛê„ôXqïÍCäïê¨Û³¼f_`òÈ^¸yO­¾ÏÚ«Ðs³¢ˆýò‘sU¾„Ŷc.xP’¹c2{,%-¶yÝ7Yðoþàç¼ý½ÇöY#f,F¾jo˸é/-Ö rš¡$î²°jtÅÝNŽì0¡Æ[þ§–ü¶yš5ƒäþ‚ù ‰ÿGÕѨMë*·ÑZÅBü‹á†•ôý·¹br(Ix+£É¡â< !"¼¥´¡Ó›Á,(Ð"urÈX†d%B!G/ö~Ć4êc–$¹50ÿž%£·xÇÉ/¬[Õ5¼xUCEÉŽþA—NÕ`TB0h?F$Ûùç˜Ý`xÆ2ãƒvÇ®-ÞÊdV„å>]K!ÌAµ öJ°Á‰ ¹k"Å»ÚÐ_yª+=‚‰œ3êqœD]ÕÁEÀâÁ&Á±›z=Ž‘ÏR¿é¢Ññ)²È ¨\Ý«ûòE@…ì‹qlô”º†9éõ|çtíÏ­¤ÅKý|ÄJʯLŒýL )ô®Îͪ°Ý˜™áüÅb VÊ)Oô\÷è<ó‹iËX}sÑÞPOt—¨ƒÏ~–µûs®eX‘ª ëSɸl¾ÿNÙßLJðLòˆãvßF]_5²p‘ âÓQv:Ö-q¼a'ùA`,[àn«·úp†åmâ©XŒ¼4_ ñ\á!ÄÂ2ðõLQèrÀ(›àä®F󻡠üa[AoÅÃ{ƒ.¬0`e—·ù(oû;¶}ÊgÏðò¥‚Í3QG×ÍAÃeŠ Œi>Óõ´i3tj>Ⱦþ®r¤¯xå¢Ö [Ë •ÐZøœ½’¸æÒhƆÀž+wyÃ)JW úŽ ûß’˜,öÒðT&§_±ôt°¦éD¢ÀQa9ÞXd šÞW†r¹š— ν[†Óª& ®à|vV¶ #¬ó>º8’,fÊÅÑ^(HuÀîKs§•Ø·š Éx-þ o>ÆhnËÁ7ëbÛÒÏ–6÷#Ù¡,PDÍf~å;×âLWã•%ˆW‚½=ggˆ#c©¥º[í×Ç“óܬ „eU«6šœä1ãGÁO$4h‡œGüi°Qì¯é£R¦6êÊz3ûø:‘‰%%„Kíú5h¦Ÿ)²Ù«ç¼ì#q2s,5º÷®wÏüüÜt»‹l»8£ á¢%ñŸ1nëÿ¸oÕ|~ÍOØìüŽŧsb=»ý–—`Ýy¦|N wÌfµ‡)‹ £§'ouý?Vm(ÈÑ£]KDX?Öb(ÿ¯®µÉå+Ý?Œ#Æ}¸7倨Wà÷Þ%¤æZbŠ—b 5½ªšÔDx ŽÑ9ö§Áƹè½izש #€þ%\÷ßu–}œùòËø ÷á×f¥7íæ& ¤çEŒˆ8Ÿ¿îe SÍÆZöwmȾh—QSM“ÁٌΠބ¸²&î¾Îa“K‚5¶jb¶€ó m{øi×D£ˆW„[$ÐâR =9%ÿ“ˆH)TTÃêug+óè¦WEÃ~S«Ì´Œž®‡w‘[äµñæ Ò~†²˜J%l¢« ’Kõ¹ÎËQ¡ ªXa©ƒ~¸o}®­µþO– ”mçA«¾÷ò’'©‡?É×óbíÖWGš–N“áíí„jŸ‡$ëlWãd܇£àÙ=½Þx³8xÕ;{€8nô^=5Œ?‚y¥  :õ :1ç¡Ó­kî<Òé]7„ê§Vn„Ì 9e+ä'¿ü_ÌZÝõ˜ËÜŒ\ÕæÇ­lbxÎÖñå(ácö#2s´Lk×Ó^ù­ÝlÎiaÂ3Š–t¾˜Žé éWâÇA›v÷¤âÉ»?Õ;-ílįPÇêò§ñhsçþ²[w¼y‡>%áqÑ_ᨩù_"ëh“(mL N©Yú+‡¢5Eë§&Ztuöçdô›¨(tÆxf"CMÉ舣ï¦<.:—“„Õ8!“$q´Þ6@„¿Ñïòè®û•¦7Ôù¾ÁèfŠÁµÆU=¥n«ßo%XÉͰ49-õsÔµ'K¢N¥cÐN&‘h~¤g—F“HhŸ¾h›ÉW4NŽNAñàÙW¼‹»ñä 1 Ù"ˆJÍ=å&2Ñæå¡ÒÑ'z­m‡—ÊJ´‡ÈôøN @á/ì8·¬èvgt½¬«H,"ÉÞ-'NÅœ„^¥H¥ßÒo¢ä)H[åvÖí—½3ÁŠd^máDù˜$ÜbN–ÖÖ…B¸lßC{?ÞPy£Eenìå˜âu Zç´|3®ÞÞ0ÑS‚}â,ýOWçUzh­ˆ9Øc_‹ó<ÚBžSxl/­aý­˜ü5š`XÃ-:5q @]>8íÒÃZ5úvÏ^OJbµÎ¨þvyc½t0•ÉÎQK0²’òIrj?K¯1ÛK­3Úõ³>±6ï INüÈOCô‘þ¶gW÷ö!•V(ɧA5’ƒ0¾|6ÀÓCïqË6¢ŒÐ”ÈAþ&b˜ŠOgjвí?Å£#KæÛèÓ! MX õÜZxµÈME¨0GmPXœ¶íÙïâò“S^‡ ½µ/¾"ðþhø5b&G1cLµrÒŽ…¶†KœØWÍ)·ØKÖ‰k“•7 ¶ìv¶KñKøTÝw^}uSáÝÖa†Pé­aï4Ûeý]—~zçÙì ˜A'ccâ*«C›¦_Î÷ÁOX2/ãhCn¬=æïûe‚ªÝ¯º¼ L=è%èÓŒJš¾+ñ!IŽ9¬ÛÑžÿŠ­;VìÈë­v—Z@X3Ü׎û IM” Ã!A°³Â/õ´dÇ%²z-”–î¾ßX€iC™¥‰ ¿d1zûÃ!ÑloË|’· õWÇX²b±¿š¬O¡Œ}ïÁÒz]‹rf‚ÚêBF¼±00¸Ö´ÞÚÃÕÀiÙux\keÏP^ý`ò–ÿëÂGDG\£î¾ß{„¹¯8¶ì— ¥#:CaYž 1›: Z2‰r Ë>'{·Ñ„$Ow¡ƒ¸GtÞƒU×þ“JÔ•I!ôÞ ½Jéš¶µt†Ã™ãšiä!Ÿ\}/]O=¨–ÍÎ.\°’Fö?Ò³"¦èú¬â¬~8ˆ…zðĺ¡Q¤Ÿ ä—qÞL¶o+'FT¬6:wUПûªè(õÇ[£ïdµ u>„EGÐ%ûmny—ݲªLý^â”OCÓqÍ~ ,‚1È—´¤<œÇ4ˆ”lýÑ´ Í¥ˆàÃÅ®ù½}Š‹àÌgZ™S1[±¦üJþoá±ÑVi‰6ûÓHòDø>u¡7jÑ^5\º9 3)£3ñ{ÏÖ'³—]ñe†:+¹öz–˜iNóY¹ÍÅŸ¨Åf’"mõÞ[ÂÞø Á?lE_‚>’ÂǦŽrnöbë&µß°Ÿ6¿ý<0ö6µcg—³7ÀsyÉû<€&l5ˆüQb Ì©3.š…Ómý¹³ucÿQy ËZäŽD½‡ÛJÔt¾~op-ÞÌñ“\’ ­jÛ2ªê¥6ýÖ.‡iû%°íT©¶ÜÜ4¹¹®×æVùy¤˜£ÖÈð~)q¨4‰0âè9qàK@Ÿ%­ IoÆ›0è²£^ev_¸{-+ªNò¸O¬"?Ђ¶C?5¥ã\èK6sxH"=ÄEþŒd¦ãk,¦\‹éÑc¼ÂC&ò *qU ”3EK'è&*m ÑÜцærÌ6m·ú{­õ>Ǹ€¶ªRÿé5qÊ:ìe€Õ¿Í[]ÇqÔ[XD ¨ÁwÕÃÁì*tiùì’™ »¦/WئB )M¾ïQ ´ä1-ê­ÉT[ý² V®×·e £–U@’>rñøt¼l«Z¾â,¾Ñغ'@óšQ\@Q‚Þ)ÁÖN:7:£ï8L˜Iì8Á=ézóyÀ û$Z“šØjË¿ç©Rš;añÕN,{É‘9p‰øí 3=ó˜öÞ%³bÙ]Ëœœj)îãk\-žªñÎ¥Õ Uß;ÍU¦]bõ4éM‘¬5hWKÿ8 Â·q'Í÷KMþn©°U,£ñº³4·ÛàîSÜáÜ ñí °dCe"f“«a ´j;D9la ‰düa“«ñoú”ýݧ÷¸òûìKüRfÈ Òî*ò 4¯óFQŠ<æ9¹Àß1ºï*Õ ûŒ+KÖèO/R÷™#IX¼*n¸¬˜Hmz›_­H®kÆ÷ß;†ónÝ”é’SØï‚Qh{þ£­–ö’^éö1Z!’ó%4ñíZv— «Þ8F²ª¼§FexDûEg_ÞD5¥ÉØëœvqi"~çl­{e’R ý-%37Òù¥ó‘xÃh 7Ùýî"ÊdfŠ%.Áåe¡?ën…PV¿ßëi»œ‰)rQã@4ñ}üw¤Éÿ ê6·-ÐÄ"ö"~:ùéúS«tÉ1ÂoÒöa¶¶`ή~âÂŽ6áö¹æs|ð€¥MïÀœüD¿j§‰t ÇôX—×uó{y¥¬ „>¬Í® ŒSh_`QÊþð»qÃñ\½¦‹=¸$ÀéwçÜåj±EÞì®rQÅ´g¹ó[Ìgý “"ÃE:] ð¶¯Ãp^à0à-Md(` Ú8‚oÄ\åj)Dɱ3õÊÇÕÝè¨Qˆ’Bîf綦²5ÝÍ—Êf3yx~|–ŸW#B!Iyùš £ËhLB^N¦ËÂäàÒ\ï£fgóƒ>ßÌÉ•0÷x‚õcX[ÁyÇÎXÍäp—6ãpõ2pu?‰ÅQu´fÔËò«‚['-\'Íxå•ÈÐÄüM €_¨ÕŸë 5ð´…$K¶ž\‚/ô/'Ëv9éžå6EãY¾BÈ@pÖ°«1–ütK˜&`â$Èð6¨‰J¨Ädòøv¹ØŸÇ/×YSªà^eŽƒewxÛ*ûIÄ?'Ö_ŸèöñlE¼! ¨ò.T~ç?E§(eÎ$3…KÉPå÷6ßÂ>º3Ê!omÕ§ä;ˆ@ý\½%Ù‘£T‘ó_ÃÖb@k£KPõa¬º¹yu^’’·R_díIyò–@\†Šw¦/1Y¸¶z‹ X‹Ì@gsï¶SíèªTk?é¹—{ªì›@ó^™FoRg\DÓVâK‘ˆKi-ÖžE޾¬ß¹ŸÝ+kÁå|†r´W(¬Ù4tãO²,×!EøslˆÌ@qÌ%¯Äµ0=› ²ËÊkpút˜„˜à:P¤4ú£°"8htg!‰%¦L4ÕefºÑ`ê)5˜†¾”ç§w­wgQÓ¨o;ê+Osÿ2¦äÉÅÍ´YgɤM«ßs#µü„65Ϭð3þÒB| gœ? 멸³ÄöjŽþuúX æ3œP¶•Gý!Oÿò¹o=m|fƒÌôzî¡»–hðèØûˆ ¸iØ4¦ã¸„¿KÛ¡ÞÍü{ù¹õìçtˆ¦a§±} ómƒ,B§_ÅÿŸCßJç•ÍŸB°|õ¥ú¿4ê ábä¶OÑ"׆ ])jïáð-õx´Dˆ*&è]©çÌÞ%)‡égEröhƒsn§ã(yF›ùtÙÇÍ<&¤vFŸÑ£KÕ-]X+«àŸG•Œ‰°Ó6Ïä,,ùÁ£gïò”hXÆÄ…ˆ93B7ôo þ¤8K.!&´¶ˆì¤0±"‹¥Öx{¶K³b!MYÅ7ìüᚆb"˱í_X®¦†oßÀ€Þ¸:¨í Dí ÛMh,èk‚ËhíJðÈkÊ¿aH£ÁïWæQ—ý¶”º§ù5ÍÐ{üˆ iÕE‡rz ûKÇ/VÑâ ?j‰&–ë]edj"Þèõ£õgù ÐSÙMd«Ðs¾Uÿ𤔋«zsÑ㈅b8BN6ÅÂÿt4úŸò¾Î(÷Ä…WL}ØÂ¥[Ö¡ûw{ÁüeV°WfÚH‡ØÙíã^w± Z]û ˃„bߢòÓê¸k»ëÕµ!”¾wIzXÌ sÙWª‰yµ]zç—÷\%³Ââ}ç7¯'ˆþ¨`2ÅRœõ„>®?P(^©ŽÊ'ÂvÁ~ÿ¢I© ®£•ý¨/ ¥mî{¯+ˆ– ?¼*JOT†ž­ŽTg²R!þ»r«RØ„P°DXØ_žåÞ,À¸È¸qöØÝEÌ%DI¥?`ôºf>-JòÁ¦R'eO©U¿›M ý> ‹ªcÊJ¬˜LÄB² ~«ÝxŽœ¬ÐðRˆ`ƒ[y¬r§õ¡Ðb¬‹•®’åqLmNÖæc 'ÇþJAåX„÷"âØí»0äËÚþh¨?}}lÌávã4h„¶¸•|·É‚ÿç(Ò³áú5~ý¼]¥ã5ï*êP8'DBj]z ¨W¡‚¢T.÷¨<ß4ûŽé·Ý›€þ~Aû¹6ÜÞ!g-ßÄÌÖîåd®'ÁPâñ†ë–¾ùxIÑ$kVJºã²æ:kÑoJàãDª1¸â7¡°È¢ã —ã]ñ——ï;?w1ôÃã$=ïã`ï¢7{¬r1Ñ[i‚1>ÄÔA÷R»fF%Ju *75€£ž½’Ú¡ÜýÐ|Y.RéÌtWqOíø8ù7I\dº‰^M™ËiË%þ›§•¼€·ßà¬ag) 1þj™Dâ­ùsÌu½¤ÕÙ(œBØŽ†C ÇÆwtpEÓ2(—Þ¤a>®—4öB˜¡¢†áÁËçÀDµ#Èäà•Õºê ”7X€YJx÷FYÈ£Ä7clÀ{êd@Éa)â{טÐ0\£=_O‚¼b•F¯sõŒ„iªg´rú»³É9þOµÇ®}Ö €]xSÜcO$³t¦Y‘ !,ç¿¶L@óUWtâ´BG‡©Steý¾Y%AgëÜ¿™X%ò“áÊgº»ùõ/ÿ­ÿ»ÑF†’ƒ9b®¶â÷Ǘíÿi‡`õkkC8ÆÕMg/_dóñâî1ú͘³K[µýà%¾¡f¶alTÏùˆåÞ,ŒݱoBC!ë¤nOˆx§ ¿œÕ==–µH'œnòêÏ^ÏõE OoÄ-‡ŸkO; Q""rOÓ…À.á9 g|æ’¨ãRó,¡˜ˆim:³ýwuu Ý!³‰EãyŒ¨sRÓÝðSJ©îóbg3QØë­n—#¦Ðã“ýÊ/±i´é—­r3zS@I˜+²Ä§Lªg¦üF¸Ý÷Y½ç¡oÛï]‘)™úêN.-ÂQw{ BÝ;ê¨J‰vôJ2r¦·à#Bž$£®æ˜ŒCS%‘Ì\Y/[Éçî2ͪ^@ïÈRo²òv¼×äÛ·ö34oÛêÿQâzvä¸Ûxrü¬{´Å„• œ¡œ¾È`áçîø>ÇÁ‹êíÂdOÍ\‚ @“MÐ+– Q?u¬ÙWÈÙº÷DÞ37 á$ÇNº,ü뮡 O.7M,-ËÀÙüc â‘xäõCmB§¹S÷¬fþÅ[ÔsжÿW¿`#_6®¬^¦mý~¬£GiØÍ‡|yg¤n/MÚÝOüL~rÅ¢L~ñ° 2¥¬Á3^®.J«áÙˆ á]«ÃÇþE²ú;ÛdÚ®ïo XwF;Œ[ä‹È>8¦ÏESÙ÷P¼•lnÊ@=X±ÀÁcÍ”ÅÙtù`)ÐÉò¹;©ÔÁªLlš0™WOQÅ›„íz R1®§â/sPϧ£¦²ÄÈ@D™!-ùÕ´ZJòö¸Óñ&*½Â« 3íã#š e4—Yt$³›.9¶€â[ø¥Þ9W-‘ p° _vñË4ï¯4,1cï;Ùm²5[f¶Çh.›ØiWðI1õûí‹Þ|Ì9I}f.\™tò_„îŽÂ³…B6‚4ãíëqFÈþi0¼(K9®UýF³…J6éÔ­_“jüÚ°Xœ§œ:«¥&zñõöý7î‹Bžÿ<ïu½Œ‰Œ:Ÿ5‰Iäµ@}§÷ŽˆqeœÁýTCߢ£|­È.-×:ú iÈò³šAàdÜ¿|ȉ ‹Òecjà‚gÝÛg×%È¡ë&µ·É½Øîæ' ùÜÞ ¡D©àËϦ¯zoÙñ‰lÁn¸ÃvÈ9ôˆŸÑ£ö%»ígw .Nj©Ý§èY˜²ç LÃË5Ps‰ÇÓÃB2èœ\$+¿ÿ Ž ù5Ÿ©ð4Ъ±0|†‡_ÝÓ߇}±\m8C®+‡oöÕYM]À,Ä8‡Ø‰œyE½‰é{{U.E[v[mÕ[‡º±Äñ{G›»tP.o°B6[Á°¾Fñ¬·r±R°Þ†Jy˜õý”^äò·ðŽ>TaûƒèGÉëInÆys¼zFt¯Á«Ø§÷ Ïë5g²c1Œ¿£¸8ZñØæ.Ãu[™ Y ¢OÛ–ˆI´â?°8xKÃp/Åç€1WêÌ•ï¥3µòdâ\_Ô¬VÞ˜~Q¼i—Z]®?„ŠfF±£wË{_íë›åyhKš‹JȤtÆK¬'‡òTZ®žÇuª:P'pÑrÒZ–ìn¾õÔ& €6 due®‰Ÿ[úÙ®Ë]Û¤ÇñG… ˆäŽŒôb>ꦞE}ôŸómÔ_“s¾ç°F¬í©Ç–âðÒU$©Ã}»fµô*»PÛ\u¢SHÂ)J@3æqú­ââÀ€Øñ¹zt— lýjYªýî¤yöÍ'ܘk2vÒ`èÿ_‹Îd.9ùÖŒ~×a1”?¦%ÃÐr×4»x¤mU _kÇ\nh] ™vÌ„€Ë>º¸EòŠ„4óÉT1ÙJ½ …øÔòh¬úb ÅÃëîz‹j±­Ô æÑª8Ën/Á+(P®b¨lØ)'ö~k­ïÂeµEs¼c3˜‡+¢¿®ÉalwW ÔjX&Îz4rì!âà…Ý»¬ô–ñXRÌÉϘð{-­z!''\ŽôÌŸôÅ©‰6•t ïÓ §]â/¼2×,ÜU®ª¶Îƒ;+˜+<ÛÞhŒ{h£ü¤0¬s‘PðÃmgþe9¼Ó=¿ ¦TLy¿æ%ô˜šg¯Ì²É?1gÜØ$È-ÍPPuñÇ0à;d‘{k@„KG¨ŽÖŠnnÈ ³¼7 JaÖÿ¿8èI”?3`Uhƒaš~{ÊksQ®:í|M¢ä¢ŸÇýÚ‹êÞ Ezº°²nï­ê*dbQ¬RÛ=¸˜ÉíjOšÝjŽÖ¸ÔJkí9ÐFúBa{'MT¾ªO¨˜&@™À¨GÖ äK|¥'LRߢwèf“ÌAŠhvæ £¶+@Ôn&`õÝM­ ÏºäëZó_Jéf4®v³{T6ñ1¿¾véƒÒ#Lª¢íOÊkSŠoŒì«Ï8Æ‚¹¢³ U… ¤ð”Á'ª‰Pr‹ÚK‚éîÚcZ¾ÊÐI+ʼ¢™OÈÀ³ ã=ÇHíKRíØküìÁ™Ç*5®¬éݨ¼ç%wÀªì&eÚzSè|Pc$<5¢n‹Íå;©ÉÚÉœ®Ïóí?TD±ˆs¡ÐŠ]•,äLû+ýíÂt‡+Ü7ÚÑ¡9 ¸l‡ €øïT+1œeí§¼ÇO³z¿VÚr{6a»“÷†ÌòØyÉ,xÛv0ÂYòÔe™`‡ ý£‹&¥$0Âç@r½ÝŒÒˆ"£)±¿S1¯øü ;íuæûËßòî¼o‰6Ÿè&úôÓ_P[&^È=C3Þ‰ˆI j}C›T¸ø 9•‰ ⪶MÌJ]ÈíÚÏ(u¨µàúþâ5]Àr<úÏÖ“õÐEÑ ùT¶ç!‘p7x'k"?¶¼ ¢WKä}þîfߪêxéo®4'l’B¥ó!AM‡/žÏÿž õ¹ÙÙ&Ççl£—ö‚­*}MYîòË„ª¼’…ÆŸ·#ü§øib*Ÿ÷‡¤%aÙÝÞ¬€J?ë%o»ë2á¤{µ‘…-toLòÛa‰òE"„q'¨`cÜò {€«‚¢JsÇ5ñÚ‘À±£,/t#[¥6fupdq·Ú¹Ä~OèI‚·ÐtFÍSqÝGAã‘xË&í]å[è‚ÖÖ2—Ž…"Çõ³¿Ì|QœÆJÈÝîõ1{%ºõé̈%Ì W"ÏŽâ2X^O¤¬K²e¥hå,9ÙL‹H‡M™¯Î¤e*7Pe-0õéŸ<ÉDÀÌ¥ÞHãQ(Þq2MË3C–pH¶åï¬óCÍy!ÐPPoy0?“ŒêÛŒã5BÀÂܯ+„5›(½<'¹‘Âôɶë ÚM.ù L6éâV$ô7‚Ñ\eÐÓémÛý"sÿá ÈJΠ{{óÞ–b¯aZÛwß‹ˆ —BÒé óÔó7(ÌLÅí)ÔŒ"lg1†¨‡¨=Ktšòîmë:`®´áVÙâw%;:å2Eì¶cÎJu ÇÈóY0 &D&·¹Ïf´SIg&'xaëÝ\²±ÓÕœoV’ƒ5*sPL+Ýšð5{ÚÑÌÜ'ò72–s˜›=§£G1)R¿!w=ÿXRx ieâss&×{ƒ+ÈTDûä‚îB½{Mqx–Hupè¯qv±[i‚›S­iÚ=ü¤VˆØÐyµNTï£5Ú_F´É;´¶Å¹ií±±ûóTª²¤’ë@Ÿ‚AP6†÷¹C›„ÜÂÿúòKð`cò—0©jt ­o´H„< xÝšº'†òÅÆ €¥Å¥k1Ô_2ŒŽïWÞÛIêÌâ~žÌ‰ípË¡Š/t"¡ ÚUp™GŽíûB^6ù×Å RB‚ ƺ¢ÔÝE«X=¦ÎÕC–›™ÝFûò7Xr£5p¡" w¯¢öþü1¹øÓÚ3ßø µ]Š+åü­D­öÔ¦‹þf†§v$hx6µŠ ºE³#®¿Ç_©y¶±˜Ý·ÍNдö ÄÌ*ï¹Ñ’¦Õãý½uåÉZ‚x÷Bë„Ü{~úLdZÆx6€BgæJÍëìp·66’°®†Z¢ÛY2±àZþÒYLûì ¤6âË Ä\±;|Y5fº!æ½ààöìÂuw«Ñ•ëÌ53‚í)~šüÒÆ(æÉ=¶wXá8m½?{gDý5ÂH5®7cº¥›*Õœñ­dÖ5 Á=3ߢ¬'­ÉFGí“"UTRÓ{L-ÃäEAþ³ t„G ö73ر¾“@÷+˜rÔf·ìïãd¤µÈmr.¯Ë./öÑ‘¦ï."©Bðhø“r²äŠJ®{lb9#c×3Êc²qˉ”ÀŠGÜìÉ—ôq¿Ö$ü<]â˜å–4GÒX0W1ƒðsú, ŸU ÿ[[r,7¬ŠæQÕ¦QÑÞ#{ý ¦AÖ:¨àÌ…{Pjå"2;Qã£ÔÚ8?ŒÔ‚Ýy”_[– ûI -í0Ýh€v =H+æ(j6ŠMþöét²§ÌÓÅžpK®]þ!KÜÁË ‹zè”Jb€#ªY%/«ŠîªPð€ö{¨¬G¯–ÇÔOâ¸Ã_^/¹Øy¥7…„’Ô*u°–¢úD]G”¡‡Æ>Žž¡AŸôتmká¿û°ú«‹š5â¾mj_ˆRDV—C.bŒ4W²L žÜ!¨ E¬tâpãßïã°ô¬yA<ƵwÊÈì½ç%1ƒÁóži’ñ1U÷mZ|&õ¼î½ƒÛs†J]SH‡Ïä¦ðÐÔM\‚ïG]Á´®+¯qDd_EðÎüü¡FŒ{Šêš,žBñ2 1ERÂÅ7²‘mÏ–«¾m£è:Õê IÈßÃ[n©¹°%EÇôñg}šÄã÷¶ÉȽ3HuåB—ÆïCFAúO=!d\½h‹“§žc>µžIÛ²{b£öÎW¢,o×Ñ'Òˆ$xÖ>^ å$C,§¤Uq$ÖæQÊI78À7=߈Êxªä¢c}Ž’L4UàÛ7%—j5¶·)ÓŽÒdC‹nT|Íd¸r¡Á7.ÑæaxOb7±sê…Î`­þÐKŽÊE’´à/j2#ãuUX] µS 6Š÷øµI*ðÎ Âüfuáo>P˜E0<äÇŒ>ÓÔõb‡Ò´þkP1+§ZADI•ë’iç 7Fe¦ü\bmÒ ÔÒW¿÷Õ²¨"CzP…ª<|Ø-.ÁD«©WC0TaÔŸü6ð¥.µiÐ,žÊg x7&C`¹öª†B>g1J³Ûýç)¨P/ØDÅI¿i/¿]Ì«9Œ=„ý†í‰\cß%ކ_«÷÷ÕÒâjÁ[‹a(»ýxEõ}u4­}”¿hQ¡ä¢ï¸R¦x›TÌPâ>Ïž`ØqËÎ0\»ÃÂëüÏ£¹~D…`{gtŒëH_3cŸa,…Iì¾?‚QÉÓÄifF|ËɺÙGÂ9Låу„uQx*ÆÂ §E“UŠ ¿€>)&áãËO8CíXþâEÌ7¼È 03c6¿2?¸J1x³[‘|•ßàéˆï™¤dOPh2h^°­mvø¹L,-ò‰@Ï»‚%mÿôŨ¢¨°4u{î<Á0jî°À®%G¹×z hmËÒ$qZE_TÜØŽ÷uÎÆ»§:†Xý»‘ÛVƒÝí+Ã9™ÀÚZÝ.ZËu6ù¿Ð%Ðlìýå6wõ‰+ˆ[˵é)¨ñ¿–cnB‚XÇî& ÖÅŸûhý€®\ù î*8ö0CºŒT;ëj4|([À샭¢QËx¸¶øÁõ$Y"IAmŽi'–Þó¹Í ÷IAVâúT‹2%€¨*&-29W“½1ûê1Býì-ÍûÆ’ÕUú®y¦ðJ—±»ò&̺iŠ@—X[Òü)¤ m]H9hë›J îV 3Vÿ¸ª¸Å`6Á o¹m\*Ì`êZ%Ïò0ßxi—4Èiö޹Ëg"„ä¹¼=I) £‡€É‚qF¢DnVa–‰-ë…ÿßÐʬÀ,†¶Xh3 gé>0º»Q °SŸMéÍ¿²sÂ.-¥/ZoHÎp;Guòº÷7Î,0…^–ÑÌ 0Û±‡$Wa-$Úšˆåü†üj]Ô®;¯T°bÔ–^°…¶{=ªm^¶½.3 JÃ×h£¬,oh³å:²»4¤’@9ÒÃ1¤ˆ¥dþ¡¼ÇIoÉ •”Ý0‹(Z k>âZºáŽÃòÒØÇ ð»;ÜÁ𚨬ÏÍ—nvê­ºÓózøŒñ–üØèyÕkù¦s ÏÛ^SiïU³NEd´ U*X¯2äJÙT´A#{ç”pÔ2Ž]Eâ™âËGgdq ª&¸y„Sµ[¯ˆ9 ìd.N.+õe£Ž?þ«”ïÄØÎ~#dk(¼Éݲº9°X{Ì•i¨ êq•E/ÇÌUÝ=•tDM.c dW¿˜|,ì³ñ8”¾ˆüÉò1’:seò†øwÙâ,)¨‘»†@Q…Ùî|+yTú´%f„Xáá#ÂxÛ6¢9À÷¬jh8G*íÛ“¯Ûì‰/…Ž?×RÿßtÀ9…3ÆÝeÄ–‰ªóy´èÕ6¥Þ§óÓ¦‡+a#RÚm¢ðÇgÐn üöÄPF…Y[¶×ÅÙ¨´›ÀÇA f˨:³p´@EýÕ,];ûQý˜H¨dH'p>Ð2mèd–EEûšïšáB.ŒºÙjclµ÷Ú©¿óîKƒ!ÿ¼:(烷&ÕzÍ}5²Õ¯k0¯Ÿ$rí(páÃÈåÿ»¸?2¹lœÞžÏ-3oá÷â,d’œTªŠGÅ—Íç—MÕ‡©¯aa ºÁ°ƒüjˆüµ:v®âìŒì½2äÇpË{rðùpÞ`w%ce¨½igñ'ƒ~þ¸Šª(…°½º °¼•@V›x=Òå„…Ëèb4’wÏ 4±Ò†º_ìFê%÷‹X£Ë'9 ö9:ïðñ£ÍÏO÷ܺ’iá/Ñ+‘D{4‡fn}K¡ø _ÞØQ:9O¤þG®hÀúÉŒ ™1$Ýïýíª cŠ#à˜ë§d KHÑÕ/µ½ÛŠÃ‘½q/Ö;ÖÈX€£ª ;î ,ÄíE$iÝ€>$‡›§Sg,z'¤~{Mð­Vñ«ÎÇÝ ØÖ{·_Úù·µž8 š<<ÏõI%çG[LªQZn9†d¿e· %…ùC eu&ÚõÛe‰F•βÊ0eÕŵSpƱÖèB) I諸7ú¼„W:±Ž,`ý"«Õß§PÜrâ…ì›¶'Ûôj,|+C¯Š;¹îd¬BSÔvøhÔ`güÇFÈ4ùò-Õ%aCrbf¥·¢ã¡óýÇ’ë°¬=KîYMuôoɦܗx¤3£Îsý¦¯·óná³õÐéÀæ¾' 5l¾J#'Z¤ á2É*ïÅCê€TyÀ”õ¢Õ‰lF:Ü‘1D)…7£$G©Z}Uש<¹é.ydh<¾%'åñ8ò%øK¨¬®÷m/#í5|:ÛÕç['·ÛÞ|æÂöv´™WP»*Êú4õÙd >aÞ}Ë_ÜEü›g”Î8 |PÝ8Á‰ÏQ…O¯K}Ü£t>‡ˆ+”¯I¯ò»þìêYðË|ÿ4® ‡˜èÐÌú™·XN äãŸ]ëÊYQP0?¶³QoÆ,0‘k$R||'Ì¿•6É]”B:ÎØxFé±ü‘XÕ- ™oê[†;¥aÅùtEfs¨¥šüìlA2?Ìøm%¼‹r\÷ír0igä1Õû9x=¬<ú²EÝŒ'<ªåN c‘ÕØ‚¾‚YoÈh(É×ÃàÔ^UÈÆa†Kåׄ·]ÈŠÐ[g¡™¨gø.¡2”UMŸÍ(bE ÕhÙ¦¸‹UŒG¡‹bœr²ìèöŒµ 2ÍûƒÔñ¤xÑÑC8*A YÕP œf[ê¢Î™2¨cmD)ìÇLÖ‘ØbÞøÿÈD÷1ÿÛÄzíc®¡äîkQ$§j`‚Œ ý}—JA£v0¶9»MÂùÈ_³\˜^Ý#$”Aí‰æVÜw: ´Ø£P½†+o’Ö'+TF‚¶]ÒP¤dϬX™¦RôXb!iy¨&FoÙHuŒ3® ,ìX¦°¼í‘t'}®üÔÒÈ×Çæõº1‹U¹">¤lþ°^÷ûÀÿûw¾Ž<çI• ª}AMoê:–{ùÇÛTÈ‚hÛªåÎâ[Úó‚ ¿R<ò잦"ýíkíî¶zz¾#5SÞ¥YÌÚzyĦ*°‘¨QiZÁÐTŒ~ûª½ÿBð&=Eôû¤ 8ý¯Ïå'2áQ½ÚF´£[nlº+dþ©µ:Qû[BFÑSŽ8>Ö¡ Ù7WÓ¾ü®q•žFÞ†çŸêfÒ„鄆÷ 3ž¤‘©aåŠü£š“x9spg¼'ƒÔ×}&öåHiê_ ÿJT}6ôˆ­ÜÄ=OÛû„œ6Ó ëW±\–}Á Ä‹‘Ã…h)²K5ò>i+ã1m1; ]ØÐ±‡~jƒ£ç n1‚ÕVd›Á¢0û®3'Ûû…¼PÕ¥Îðs« ÉuIHž’°L‰âS~¶qEíX_M‚ˆÆö~.o¢ ½G"‰ÿƒ!êßI–|¥ˆþ´«éÃ[%2µâ½¨ÐáX"+KáéuÆ%fºx6ŸX%pWJÀ ATÆj?#]Æú2¶lZôþ¬òâ?&”oÁµutL Í ¼»ê´¯kÇ;uKCC¦¶½våê\5®Rç¶GÆduC„`œ=²û¥ bzÜä˜dÏ6týêõqlï B¬\z™ÛŽÄ•€Ü=ø½l—3>®àô¢ÃÂÝ ‡Å*ë£79 úÒ%ηņÛÜ0nF [ÿ¯5àëÛ\= ¤ÌŽrûeŠìT3â+¦ur¦j·ü„ŠÈ:|O.)Ü:R›rÉ­Åav«L{k²g²²Y“nyWËö Ï• ÌG›}ê¶Gmô>Žb óò£^‰û‡?’¶rÛ­¡ äm~ú¥u9'ÍAzÑB%ÍÇp(Y•¥åD²%²Ûï‰Úw ð¦Ta,ðˆz ä8¹ripíW_ùyÕ öþM¢4(1>f­þîí0ÌlÁM®šï1U ‚q³~“¥Ã1È –)äS™ãª[Œ¯ue>™K¼_¹Ô©0Ç´ÑDô ºŠ£H¡|@ÖUHí• ÇùË VÉûž½i|7“Ýd3çêÇÌ]¼9˜~U¤´ônß<UÙ?d¥† ³´B¸áˆÿýy60d .þܯߢ¨YË6çê<4ÔË}%í §«í,*'ZðÛ½G€XÕ!­ªr”ûí¬]ÀÆð•;aà²KJ†e/lW•V¢æ³Œp~ù£ÝìÓ^Ÿà­Û»…]ü(>3Sa»+У’Ò¦IZ2Ƕ ¥Áó}/êBå°È¬:SâìZ²†ƒ'‡6¯š ǰǟë14Q©åÀãÆ¼S®"oô¢_Ùè¡_s_I=‡§Ë†£¹‚¸žã{FÐbÂKÓGd›š²ŠBìù·½ÖW£1$bËD®RZµë€«%”¼ãEVX\ÈÕ&w" iÿ柄k ´àULÉ2œ‘¬îy/¾4˜N”¯ÅÍÆ ¸¬Lî¹½D’bgá¥ig P¬Ä9Ü–dzd°ñ†ì°ÕZ6èJ.ŽAÎ9ŽÕÔƬ#ÑŒ“}Êk“ëýøì€ÎÃ>l nûâXpÙÃÉ…THAA˜³;L‘\•ƒkÃÑ•ÜÒ79Ä‹¿ñ °™ÙÇ,ºF_–1£îNʶú¨û ÿ§*9pé­\|ß4À ìM¥Röоe=MäÏ–Z„· Ãð:¼Ã `…žªdvÊ„™ä·%ÖlŠÒôÈszöàšÃµ¬XŠ £¸ÇÉ€Ký” 2U²% <į塇,"Êý²ÀÂmˆ0pl4@`B ¦Ç»lÏùsjNŠMãeU9xpÂÂå\<Ð"þåv£ó ð94µñ´j&ñYJï("ˆ¿ºbÆxÑ‹Y>#0e±™÷êtÔúãÎõ·@£fÅ®+þeÔeE'32 é»&k™oh2¶}©Úq™hhëЕ,#]I달àÔ’ ôßëâ6Ä:-ù§£)!V­ÍW$»ãè[qx Ì$/5JMÑK.86›´Æ©¹l™éŒ„¶bEh’䛩º 5´Æ;;Vá •MFH¡Xo$Ì8ó6µDg’»Ô–Ën¾õeÔ)34¾³‡æ©ä ú(·a›sBÛ' R†öõ#¢Ç˜º¥AV‰÷æÁ×(ªW—4;–9ib<DtÜå„Iêíy/'Å–6¯X–¨èsÏ|˜Ÿ¡qè'ò5ŠqSÅ<®“oþ@U¶<,Њ±×‚ÙÿruZufBÀÌÐçѦ¾Ø~ø q°l.Göˆ:âc^n—û€> <£¯8©í 5rî4 Ç·bëy=]ÁlÏéš!&˜ŽÔä–pÇ»uð,®ã.í"‡xWÕ«FG—.‚ËÕùéKzî½(+™}óò¾9yS–³¼VÀâ‘qœÅCa+­ <GÊn›¿ot†Ï™³_ ½FxÀÒ¹¨•‘Î~äüÈOú Ÿ 9áC`™®a­(Qdž•mY²æZ8_Q¡DH¼l+à2¯ÏÙ+uÇÉ`—Jð*!žnÂ6õcÅäH ¡%ZÆDõÈ{² Ú< o´ãµs‹©¦ùÍůà0ÑIä¡mTôBxÍÉ  ¯6Bã.¯Ö£&Vöàahœ–±ï[·Š¶°å¨ßc¢wyÚ”EnµÍ²¯2‘ œ¬!í©ï|k ú|á\ßÏTAR¨ÊG¹'PŸFöÞw¹ŒoóÞ‡dN’yË mP& õóßIe÷ ØÌHÄl¿R=.EˆHc8ÅZ©CEŽYU¹3 s€’5a}ÂLa±F¬màÊö£Ò¡pº*)Í]¬<8€AçñS¶ýgÜ{–3‹xÙ\ÿÝ`;Sa/’t´·‰Ç–ãpd¯˜‰È­#‰à®Ò§ÅJ.꣩!“`Ó’¾{ùEQä·¢µä#—zm*¥{Ã' ú¨˜s«gÓ}r8| >”ÿH¥­óÞØ¼¬.}š=yë@¼¦ßÈýMõn¥v&”tçäcÐvd¨ úuÚÕ[~ÊùU8 1Ù8*”³èM70ë;×£TãÁ°p/2n¬¤ ­ôîxÓ àÔh)>çv_mû`‚µæ²»ˆnBNxœ×¦04¡þ^Ž' Ýèç×ãÜãSáÍÁ‹QX=x åö%ø˜Î»²Ë\Ì34%‚öþ~jCOB2¹­æ(U!ÏÙj£aÐaš#çú ¦WiRq‡ v/hW¦ŽšQx¥ø·ÿiÅKâÿ2`êûMoBf‰Ýzuhêøàü^.ÓÐwçÐúéQx¼uÜ [+$J=ë¹›Œ×öþ$åÁI|Ï}³ãKÀÇxòºê-dqÓâÃåìÜ}.@FSî§Ï‰j3‰²~´53žxÛ¼ݧ¨I»Ô§L¾0”q;i9’Êœ’#POëD#ø¦ç´ý^F³S" |qßÌ-ÑÌXùù¸c¬Õ©õ™;FGÿzpºØ5=p™®äÊã.ÔP.1ÿ ÈC ùH2ü3I'à ŠóøP†>~x" ’~:9yU/1Ì+n3­î íqäöèÒj"ÉÀY–›ñÝ ’p^Ã4Vþç(È×Ym!Y)o«ôßÝIÄa ç'—”À—_0¨’ÓÒ©)ÒZ@53q6JÒ´æÓI¾œ:›Æ¿÷ ‹>W_‰®då E.í%x`¤ìU?ßÃ3áŠ!.»XÑ´Ó¹¼e©Z § 9ï—‘ "…TR€fÞeÅjEº—üPràó÷$Th/ƒ›‰#Ì/„n]cNk4‡ P‰Jb~íÞ $íØ†³Tƒ!¿OXúuvõ%!ûŽRŒÄü³K”¼TŒ“N‹*aË ¸.1ëSfɈùÕçæÀ¼Uì_¯ó$ÙŒo±p?Î ¡(oÔå렅 íh¢oz¢Ó!ýj±"1yvIFeN†=¥Gƒò-øÎ}<NŽÑ‰µ![äp¢Ü‡z½VûÄ´å¬Ät÷¿KÝ'zÕ–€–öŽJ]ETÆÀ«á|À)2VHhj]²ÊHtùî &· rH€AõîûRdÌ´ë¶1aãþÚ<öÒ Cf¬ÈÚ)s”í„AL.1“LrvØ™%›sõ5HdÍ<S‰áBûë°R …r%˜ª£ N|NuµÚг4©›¯`ZÁ3Á²’]·?cæZòäWÍPk“)Áá£à>ƒ6œ©Ì´ßS§€CO“ž¿"Å~ÕKq†UßÝü”ÃDˆhuù³•ôÅ=ù¼úËÇÊlG(`"ÿ‡ß…9PÝòÌT-oÒ *:áßLçãþMP7ñDi Sˆ9$=~¸‡’*锫jU-`SûPbÔ<ÔÍ“p×6ÊvˆöšÈú¥÷0pçSêWÕ¯¹¿wx£×Áˆ&ˆúÑ ×+•ö)æ5ú¦C7˜fû©®z/,÷²÷úù½“Êl›%UÖ½~Eež¶O°üÆ^º¯{˜ñË•[t\Âþi´Uê ¬—‹oiM.SÀ¾,ç²äÀ®•ý[R”‘ñÓèâG†$R©è&F¨TX¦L-ÐækG±¹bÁ-ÄBrKõé B¨ä—8(7§~…K4[?¬¡S欷;§ÃŸÆöE¥ÿ2ãĵªñ[¡ô’µ¯ v;Ðãr7œWâß•§{_iÇÜ9Í­%îâc_vàuwÒ-ÌðMp§‰»9e\]ØeülFK¸èÙŸròË¿Ü×û‚YËwÉAt‡mƒ“éÈÙb;à Z/Y£tÿ! ¡˜gæ‹FÙ¨T§’•’ÿoJx4ÖöÒÌ™À¸´V5ü³Ö•d8ᬛÞÊ`#{"o WŪUË×gP{Š«>|0¦û?A5¸ZSÕS%GCs²æ×lyWüz[¨Ž™ëˆñßúІ†{¡`es¾ ¨;¤nñlöã¿Ò˜åw Þ;ŠL=› ±ŽÕ”kRŒßz<”\þøÌr³wù 6®È+¨õ•¸‹gÕi¢»èç{±Ù÷tA¾ZÀã»å¿VÛ·»Y0'}úOž}ýPÖ!” ÷»þ<$RxîÜc¾3g¸à*‹ñhÁÙ^áX¦ëÃcOŒ/oë$?¹)UVÏíc²A§xÈÏRof0ŽôNò8Ÿ úú]¼îš(›â7ÀòŠàA0‘­ÛwîMü9äÚ¾¹­}ÿŸï¹Ã_z)RvØfrFÓËCà}]ë|!ã†çyü¸³ ðô_,°mâZ@;JZ~ 9V3_¼˜CIõ;Ê„ú l™£kY€6œ6&ŒqP†·Ð®™ŸìňHàŒ"¸8ƒ+ˆ,¥ÚÀuEò.‡Ø(W¬oЙy®¨wüø¿ƒ‰!d’6l%þˆ.ÿgÞ:TL"rqX©è¬+‘Æléºÿ¶œÛΙ¡Ë°õ^Œ¯ŠëwjôUà“}ZÆe£‚ëÈ—Ÿ%àÕ²ü[ßåï†Ý¡¡¶ Ûx«ÖŒo}|¥ðÔüÀÒ‰Ñü©¢ªµLßQRdqšu­tðP¶Ô,Ñs§ŸøfÔãc•œ®—€nØE1\c ÙŸF]Š|"ZЪk­Õ Û‚è•%b)c Øä±¾š‡Ò çã«MÂÌíbQ‘º¯À‰èïJ)A¯RvB)•m]˜G`jEïY¤½*6®®Šé|w®QäÕ´?.G½Z`vðL…D/Cž¡¤iº0l”º4ªî `ÚÅdd°ß«èÐHÏ4{ “‰þ…ËyüA…Ý”q6¶¼ ›)Ý©})%mU öŠ¹ÞÆâñ϶fQ§d=~û ñϪéUY1øA0/K£ÃéKÖ–ùŠª‰µùñéœÞÃà2wߑ͡çt›»>–ƒíœmm$rLÔÙ:Ê*½øX6›ê3°V”ö«¡eÊTj^ßjuUÚ¥<V¾Çá¼»Ñ̼àÎ^mçw·»g™î‰ESJõÇH›¤ÆXÔlÝ?®æk>¹ï£[\á÷ím¤.@õ#D2I71›<![™•JÐB{:•¾h½Éi·jòM䆓kñoà@n_•1Dý0®KhÝÐ8ÚØ ä©[ý#ÁL7Ä|_4Üi­üÙ ‚/Ì’k~y&Pûú¤“Ö¼ ‹ù†g ²“AR ‚#Â÷SæfÍÝf0ô|.°tZo›NÔ!Žz%ªÅÝêŸIw»­[phU÷ÏJÊXYô¨¤ˆº¡PoD 0s,0͹Û9¥0j‹%f_œy+¤}Æü/e=GÉlõ¦¶t?À™Z6"Û”žNæÝƒV\e=K¾‹ƒY²‹Xnš×½h\â«®Øâ:K8¶MžûcÇ༧éë„;š"”:÷Ö¸À¦Óc_mMq‰VÎÏɤv›7¥ša²¶±vâf)Æ›o5Ρ z!,¾± l«(Ý?´°ã,“qðÔë<É1Ÿ™¯D(¦ù«“âµÙƒ³u;G|<?V÷eGs†q­. .gÜ„…Âq’ߔٗHC-ënZmÓ½ßÃ%‰ –œÝT†\)¬›ÛÆÐ{c¸”ÃÜW×YfÌ'Üæ‡­qµOÀBÄ@Þ+rõà ¦˜gï1ÓXJm9Äê7Äx&ë¶P1Ñ“ãêøG?ù´À^ô¨÷BónäÀlS[`¾½±f‰úg"ƒ×;Uâ»c‰²‚2iU,ÕÊT޹À”Ò˜xóØûµ†£ÃW£)ôW¥¼ [¢‹‹*ðF5 ïT/Mˆ¨™#õeTé×Ì#–lÚ÷«Úqg³úǡꃔ½"œ¶;ÑíRà]$x˜üK-ªÐUO‰o—©<ìáÖýþŸ$ždÅr\m÷tö•›N°%z³›ú -2ÕÖÝNÓÑL×,Tãeb5öXÊÝG'gDDXËÔ<Ç9cüζ¹X:æâ2­ª‹¹6Þ«á—+ˆq[¦VÀšÌ†G1ÙOÔ^‚ UfTŸ>¹süÌN’â7O›°àíauˆ éÒ÷蘟é/íN‰\®*™¬*© ÔOtes¨ *z‚½U1›É ­Ød0-²Ú~ ÂrüPf,“âŒî©ª±I¨¼ÐÙZêt­=ã ßcíLDˆ‹Ð”-<þúþ¼ÛBO‡=¦CÐ@”áéÀc¾{Öv’êYrG"ñ_5úË øŠŽ·1ô8zÖ±eFë “¢%'…—gN•Ч³lˆY`”É$…™¼çañIžRw©Ä n ]ÊÔ”” Íí®ct t[ÏÐÍ3‘FSÈèq.ä3p‹“R¸H˜ÄÐè :¡q É©«ãQ9ã°p~é½2«›âžá{ x½i$šqs¨£F—^iXtèR1å×Ô b¨Tý ÅXä‚ì´ó­’µ)¡Ñܦ4$sõ©ÿºÆmò_J1”BT8†3; Çñb% V~×1¦Å³ô1F_ʃïÍÑ}E»9Â;#¦õ*ˆ”î%?‹±Û…ùä´y™KCÿÖwV6x:-Õ¼%±,ï@íTOr36Л;®LžÄ«´µ'KËÚvöÒA…ôTZÐÞI±lFÈÃÕÍQ²m¾aL³À¤ ömk‹ÞË’7» FC‰R Q1Jm±µw— 2ôœ—±aâ_J¿Q5ö¢âïgnÃCQOÀaÒ*„ðïB˜”)ÏЭuiÿÖ¶¥Ç@Zg êæ«qöaÎFH  À®ðúà÷²V,ê“j[¥ü—³ÆÀËLó7Æ®‘G£ógè×ñ´ RnÊéÑ0Ûô^è£.(Í|4çÐÖãã 䣼”ùIÔÕv”ã3‹æãÈhq׈936¹ sa\¼Rc›á|˜zˆ'¹Õ~F?|‘”çz å þ†Ñ] !4xXÿÍ•QŽ{—Ýk^'¥§ú9€Ö/_“D1ŒÕ] ™GK$Iíx¨úÈßSbxe-F4ûígXå‹>Êd°B¬Kv*f«À]ÅŲ^žÐÑ0šEqSN$Ô Í:9û¿ w»ÔvvP þTNƆAx÷ùBXÿßV|Md“pÄ'YtT9ÙÇ|¯nè¥ÐqB'Ñ‚=ñ¤6}äÅ"Q|²^É÷-Óö¾H¨kvûžRï-R;ç"¹—LÝ.Œ1æó ú&µ|ÖÓKž ¶ – þbi›„Ob`¬…·§GPÁ/,\«8Íõº©c9Æ6e“18£Ñ!ÑU®õ}v)T–z2Ó;pq© *ª$6#åøhÙ×iâñÈÉþ!ÿïÜxÊ{Ò _©xŽü›ñÎÅZuöïÑVÊü Ñf˜P¿hIÉSiM”êéoW=èÌ壶ÉnaKIº2žAËŽs-¢ýUr3•ñm1|‡Á«uó>iŸŒ+ Ç¢W‰ŽSÌ^õó «ñ½í8õ'Y´ËP“… š[¦›­Ÿë(I%YИÇüRË —î¦)¶ðfÃׇ³•«?Ó±Ndç#¹HQâ\g§[K„Çÿ×ysšÜ¬¿£Õ“H‚ÐBMêX>Ëi/i(RöšZ{Oã„ *é€/·‰R£r‹{t63ÕÐMÖÂJÊCÏÆÐ$¬i)^½^œ`ˆ¨QFä|zs’ÐàÜ!Ïí ¿³&ðçNç§žqU¬?õ¬Ó¡DXŠqTbIè/ßo¶DÒ¶ôvd£dpXèí½q~œŠ\ÎÞt*’\ þJÚªwÖ^¸DEL4 Ñø³c,¡0sò\Ü-¾6% ß·:VkÚeð°Ìü]êI l5œ{T瀆ÐüÕˆ©¸Êº¬@4ת0[XUNr#þ‰4iµ2€íYº·Â™äjœ°·J…P¬¡ÄÝíEw®¾µÄϰԖŸ†"æÿùM£t¦£]øÒ† ‡$K(Q›¬h} ¿¾‹Q%t¡ÎÉœ ͤ¢Â¤ÊDóÆ‹”`ãêÅj‚>Š6j©ÓÛfXÏFVlçYÙÖiA×;­,|uEbó¦Hž«K$o@9ŽõšÉ73îh™Ë×-ÜXòÍ­íçÝé ¤ ­  @Â,9¾Aúú èÆ”KÌíQì4J8"²o¸Ï•¸2mV(#ߪ9jv ÝÍs†"‡ëº ƒj’'Cz#·”Ã<ò纰y·Ù3ö_¿Yr£)zF:É~¸ÌÐøò¿õ”ãÓ!Æ«ÖIaô]çG¦ÒÎ/”b2å3ãÁœë1«0*¹ójÀ$Bƒ‹õ#Ý;÷ Tѽ1eWY÷P¨“#¸Ó&®Ï§Àã8¾ÊÉ.hC>þB‰ª2â׌à9—l+F=ëÔšÇ?Î:™ÀÌ {ñƒíjBFÆH Ûœ——R"ņܨZF?–áì¡\_>¢¨¤ðN%ôòýŒÐ¡4‚î{!ý[”cŠl¼øŸHF4DËq'k¡•º!­o4ˆJ¾¡\aµïé¬ö‹f³qµum’t ^­è"«,0!y †iNûŽ ÚïšjOGÂB9)†§¸µeØiy¯ÍÇŸ ü± ø„7Jвý¡Ìø+jøÿ«íx4k™ºVß'z[[v¹ýè|ÇÛc‘%;„hM÷Qƒ¯-ïþSA26`v*j ÛqÜáÌ i§¼­2Ç ðªÅ€•ÒU}ŸH©Ü*@)ˆ,‚+(œ ³á±Ô?pÃ|F\¯ ‚K™Îk) {V£Ågu_ÞwpØ‚Ôj Œ6ÆFr4=b íP;AõP7ƒHÐW:ëÿx"`-\~¸å¤Aè4½éŠK•qyUïѬr,¬Oj“ÃËG!“kë¶Ë¥Ó>ï’ÝUÆXzÓ–D¦ãˆBÉ7îÈ‹”$y½ô){.ï²:ž?§o~Pn` sÉÿYµýûQ=CDX¶7¨G'FÁÚ_{f½'ðνò¯pwTlÈÉ 63ì¹@-yÞÒa¤„YRüç@y›Ž4ñ¥Mx) Úk»?-Š)¥ÏfÉòÕ¼›,þ0k•–´ùÎÐ?Up´•Ätž‡Éý½ån‹£Þñˆ¿\å4¯•ìŸõ9cóÿÚgÍ<ö ½nÕ´KÀ&+µ)Âa±q>ùR:æZö_±ÀvÏ× :žâ›Úï":pÅ]Ø ,4‰Ãi½ ðezüþß‚±Š± [ cü56|¾[˜ðþû4òHüö×çÀ#•"\ý}݃å“Ü_äúõýQ":‹æm|kåÈU¿)“,å,©al:†µ$¾`=T6ñHÌßÔù¡}eÞUµ3Р îA-|^Ç8åt¸¡°ÎS±)q:`"1Ò¾WŸ?«•a*‚ñ̓)Ú|\ÆmVfÒ ÓŒÖF3a®áßùåú^Û7s„âhõ|4V8“¾øNlEªª5!h‘I% }7ò8:?Aã¿î%—aÍî‘kH’zÒ M¶î’úz&ç—÷CSTývqðÓ£ç{Ø<¸d¡,zá©•6KÚ“Ê\ÐNÿuÔz à’qóѼ~f—³«^ZK­eãêÛë¿zÉ™¦Âvg‚´VT_o2Ù¼¡„‰©ôCu†¢kfP¼×²˜\?oìé r¬%ñÆTò< ~¢~·íª2§“í^äA¿a=Gcé‰~’kŒ/’÷±Ê£¡’hUjúô6ωÓ.YÔha@5º–1 ]È1—V5'ñdJ5ÝÙå˜/gìª9ÿŠÿùØ;Ä¢EsJ§,¸¦¯"€Ú~à˜—?°ˆàý!~ÂWI÷ÇŒ:ž{A»ˆyr7W_È;<4µD§øvèt@D„¡y¨¹ò„`«¥¸JKõSô.åz¥â­S„Ú9¸tËV즗ÅÃçߺºo^  º¸i@ ÄKz9½lÛžûŒöµ¶‘Q«8éhŸâ¸M iLlÅÇ•Sº°??¥íÈ C<À…@¿u¡éî—Òœô§3NzQ;¬u7UY>ð¹›H×ÕÒâ~eqÈTL$J‰•%ŠçqzÓ¿‘óâêJo-[ áϹºyÊÕy¬TqÌj[ÈYa5p„ß0A  ÔÔN.ê…æ J£M5ŸúX—æ_JÈ5 C4†IòKq®Çâà ÓOJ€G\˜HÙ¿y’©H [„÷gתšÃ/‡™1œ¢aË܆G¹ðó&š6|Aê©5å¯Muø4h•Ý™KHÍU5Ÿ½‡|Ûß_DM«ãÑwm®&ÅX€®ùfóë\ HÊ»÷@‘Ó³nÂ]M¨»VËqã’þÁÖ7«Šüúö½­÷׸ç²`.@â•V)Ü_”ÆWx¦ÜÈ0(ñ‚+&öOwsƒLaãȦòàætªB9È÷K$úÝ+,%w|¢,@fuŠ#ÓÞDzÏúQ??Ne×¥Ð'+еìDnT‚{¢4““B<¢UED}fx#ÌœEcZ©·$è­Àz V) K÷8øógO9v@ñAc ËL×·5LLæø®ä>úvîŸÍ샳XVÜo©¸¬fy–)J,óÑõè÷è~ä ó—[ý­‘z5D®ýÕ»µßÔe+¯ôžÙÚGA‰UàW¬=ùPñÔrÈfŽ­;BˆéøIA‹`hUkØ2›Ç¶3¯ß’Z NÆ úfYa¹)®ÔùÇ…P”^kÄŒB¸oæ/çs‡Ÿ¡GRê¦` Ì‚´,ˆ.B*"qZÞÊÜm/X©Æº‚/L˜VËÓ¥Ì]ˆ£³«zœ÷‡F¼£ÆÐNw;Û.~Ì’]”¶UQ¯Š¿õþW É•xüîR9"úè¢ä?åa“07‘ÛäÝÐi°&™Å12¨ÕjÌ ÿ¡…T@µ¯Ç…cøê‰ei{¢)üø¤dëmANË:D¨Ê³éÒÀ£ÈàƒÁ5§Êf@:›w‡º^{—Ê“§× Z¢Ûlñ:ç“õìZå¡g?ÈEûFÞtßVFòÜ;üß§G´PÊ{cͤ•Á=!΋ýû„ÔâäÁ4ò¨™G/^jkWÛŸV>"ý§­/= ùæÂã©,V®)Yl„¸ÍÑ•)î¨ÛÌ’.bh¹@E;è~t CgN?Q6Ñš¬ŒtV2·ëj³xë‚À¢ß.äÊÇ:ËérGÐU‹Ýˆ˜Q1¤w«À¾{ E‘z¦ØžCÊj<ú°Ä 1›^nBµMéײÏïÒîW[Ÿ-–¡§)^«“ùµ;8m¤§hÓªY.ô–ùФáê?oJJ`z€m„Š1\h´=œh¨ßº7¼¦Š¸±¿ö Qè¹Ã=ï»M' Þ“».^9Ç/Ô;ò^àù•¿!6âÎÂsV=ƒ¥:j/îx¦Ú]±í¹Ê HÍ5.0;ôLæYôy*™·y<­µ‰{r Wµƒ¡m˲¾y‹ ˜Üˆª.ªòðGæ!‚ê!$¯aR!;ÄÍé( ͽòskZÛjÎiåJ;vþ²‡X µjùvéðó‘¹Iqº ÀIU-**uK¤çž®0F‰ãØRwô²î~Hßyú†‹¦w], I&Ö{—rŒ:…!G„ê¥0S±ûfOëNÛ’ˆû ÑØåf®JžGÇþrKÍÅMÈ/¿ .eöÜ “Š„Rß³e‰JB—OuK†É¼P¯óAÛEàU››Ã5¡õO!Ù„94ÚASÈmÅ•Ì%¡g$c×ì#¹àÙGÖ½ñÝ£Bª8ƒC{Ïå(Ld”§]μÐ&z¦óP{ÃêÔítÕÚ¨ÓŒdÃ/ øë/®Q®8s*‹Î‚œNJ5Rn/†‹y¨ëŒ¾yõË_Õï3%âÞqç§]yBÊâhr cÏ‘eu™Ó;¢pÅr{”,Ù¨Œ¿ë$£mðäñÝ<®ðJÀY¸‰QÛ†šÇ Ñ‹Aý4˜[¡ ȳA6;Õ“cl¦„KÚ•ª$ÞH ^ë<Md®áyv‰/l„Ö•|‘°µ*ó«Å"ùí;ƌ̵ÛÚ嘎ëPïk<;—ú+é†ìÿáCR ãK½ûù§í¤n¨#<<µºöÛ„8§³ÈdÐцGƒ~¹cØ)\¬(ÔpBÅÙïÌi¶…9éPL¥¹}°¡@% mlþh™ë»2ïlÿ8ŽÀHµ¹&€ÏÝöÐ Î=½L¦Âhô^D,S¶0h0ðtì „nǵR£Róœ7Èò½ ÅkÅ¡úïRã+·|Q·ÇX¶¢=æ·Súñ5œ‡ÎbsC¾|’«ýzÖ-ïÚžôÎ3|Tm•ÁؼxA$`//N—ck&ÓZAÊ4„FÈùu&ëÏ )æVk>{çº7ˆ#Œ±fîŠÐ¿ÄÏô{³÷fŽœkPý¬í„xz±cvöTžÀp*uú ë%‹€;µ!PºâÆ}( ó±¹·{ÛVÀ¿±Ô.ñž~r½?ÒOp°ø݈ĩƒÔ` OÚŽ„¥…´háº0HëÿåŒaõ„ œa_Ÿú™+opégæ,“+ÍÃÛˆpO÷ì•ðKBš2²m€—ÆÐü–`ˆZ²TÎ7Ñco¸Ñ˜ˆý¿4Ï$Å"ÖƒÏy²¤iÔAs\¬Âè‰6±¹h.3KÅ®1háQ¡È¯¹b[À›ÏCŠê“S™Z=q´âƒÛÑ­ËdFe*-ýŒ|ÒØÛËÛK§åH«tõÒºc³Ræ2s ¥õ?žµ=ÖµÅMôÓDŒ@©éRžËÒÜíeyN¤[Që(Œ¼ßÛo’«!ö(51[“Aäj›_œ] `^j_ýî<`Ëùî¥d(¢-¯N¼+‰+#èçîåP%Þõsºåf;®ËD‘6G×9y¤f²ªÃ#±†IÁ ØnkB¢öº¥‹ãвüæ.±Ú­áük1¿Õš”áF£FWKT‹k>ôA)ë+k6¼6Ç[Q0¾‰¾HÌwÞÙÌã)FÒ/øÎTÅŠ…,¸s(!ÑQ vq°Ê)Ýñú>]l€s¥ êZ­œ…¶´ÌB]|§ßý,'úK^ll°kû Wc–9¨­¿‰ñîñL6Ò‚6õÿ„ê2Xs4E)mYðîäÅÆfxe,j^Œšæ{ê‚§›ª€jaŒülVÆ;hýÐk[4¸9s4Š ¾§HÁ==A$RKm’IÄÀÕÄݵîàn‡ 7ÝAg!ŠìÞ÷-áºL%Ê2‰®ÖBBWú›ž­æÃžÖÈÑb¼|…íoxq•É`ørŒ%´Ç§Ë<4ÄA¼+ذ?B01btî6¥^zœd©¨Ë¥¨¬>¶¨ŠÓîÈO1¥ kÍ+ój=ÆÂ@ƒ8ER³{yÈLZ÷+:b>$8å¦ï^è¹vÀ¯ÔŸ ­ÔÁð:,ºX¸–xUȉA¥r]ÿ¸MáHγ6N:(—飻÷:Ot–:iP_"¤ù¯ˆÊ~ïqG„J:Üõ~ý´ø GBÏî^öÜí¢ÑñQ{7xmöiÛ5ˆ ïqâ 䜱\1£ –_KOˆ®3°íÈó¦ÔÙ-G]†Rþ¦0r¹…•!}P?°4¸‚%CÊ’t‘Åmp‘PëvšÁm•°S;¨‚3°[åc§öŠ| ô¬lN±œ-n2°Sꮨ?ÓZRέZ{†“]¯š¥z+0@vW‰W¤OŒ_Gš·Â¦uNwAŠØº,þ9ÁÜtyjJ–’ÂhÚ×n<¡ÍG·V?ಓëä”r;{t™éSà»ôp²„æøÅm¨ÿÉŸ%쮀Òf'(²©ß¶ýËÆÖ}.¨ ”ÉÑù»¨ºùÒrt:Ô$cÂH´q5ËT— -½DK^»”c?º.;¹Ûí’­û›w ‰æ~ü—í"ã] sryÓ´UF@c–žG€¡ÍµŽ#cÝ–£Û#"Æžý¡øéËþ®ôi$_ H‚í}§gtûQ¹³bóÅDŠ»›ëò©¦!vÂw‹‡Dµ5àûD³ï@P+Z7§QT8ÅÆ¢ñe˜1¸H>Û:Y2k„×’ÔÆÈOâîmàºsõ·làÃÄñÌê?8ե뛪PNáM-D}Gíl|Žs1ÌXétücMùüRBvW1ÂA~tId "û@,¿’³üSQØB²Á1h˜?%.gÚ™¿˜Åzö0ô”ÙÔ­™·6yk7¦BK(q•XÒËÁØâ¨S‘¨·©Ûbèº™ÅØŸòölæÑ ^| ¥Á_ígË·ù\`=žê:."YÌ…–ð[6qv„.ÿå ŽÆšÉAð¯/ÿ”‡Å®’fV þW†7•ÎÀF¢\&¸7kYYcc¥VÞ©nG6²ÈÍÓ™€Ͻ7‹2K^Þ$çÙlã‚¶5ÄFv_ •ªW6Î…]°Íz¥X¿“çœÿ âü¸H)Ù‡°‚Æ0³˜öýOé§$$ü¬Áž2ê8Ì+ÎE)·—VìÎ1$yê'árâ›J©‰ÖE¶*&ÄöŒ'<øE2“ "?Óv“/]×ÍGª™?ÜSرÙYþÊ 6,ì¥Iñ~gä\Š_9:ÎëBZcZöŒ¯¿Q¿À<½¤¨íGθÇþÔÕÞN‰†*&®¥aB•UXNH›Â€©7y¶¶JKlâ%ôŠh8µ—E±)Ñ">|NæGïâY¡7#Á¡àõÆ‘ ~9S ¡¯pH ÖüKH&AêËJìBC‘UÑ@B‰áÊÚádCSÄvöðd†Í‘u ÃïÀfœÓÖ£k«±ƒKò¥èãÞ ‹ N .ôßxí ¶ˆ ìÆâÜe°€ŒéAFwxèÏ)Î9r™9I8§ÿ€é|oÚ—Sñy³1Áø¥ïÈ;¨«× 3¾ÔƒZ lÞ´ z´¤¹\g)£L~&ßðË0z‡¡˜ uØCãMAE `Iezêç¼Ï$ö½ zÌðÓñÑ„1ìnRˆ(Ù“÷²Ô ƒ}3ÛZþU¬h÷F<"Vbü™– Çm¿³ÕX˜BF‹ZÎIâe…Aætù\£,80kJñܤ¬9õh (%lõ,ëªkx9‹wL¾ìÿ°7ÿ³–š,ì«8¬nJ²‹ó ®#ËÚ%¹³ ¯}”i˜ç¯Äª’¼ß|µ\ž¹jäEXnÊí?Öç¿×1zu´gŽ»’qG4±¢À–f‡ÙG*cíYsYóªÜ4L‡Z0¤wÐáºÒG÷KÕ\Ù?MN[5מ‰©p?U¿Ï”ºJ”²-85CÈê ßlaÐb°÷¼ô;Ÿ¯ô]‹|˜ìýTÑYK¥¤P†cÓÙNÃ#Eû”&OAŽW‘Mõ­·}«íIyC¤Tò }άz”@• ^¸†íöx°Ô7r”숦¢¸Ï^x ÆŒ4LJ&Â1 ‹¢@û“œÅ¼L›ÎëÐ(0N2´v0âÎ3©2­Èˆyš­þ­6YE¥}ö›–]t':!N‡ÞØ¢:jÑÊ)Õ¿Š9~Ù^ …Ï(ŠL)v'Ì^é)Úê°MÊpÃİ #:vP–Â+ûµ—Ä-¾ ¶'mè•›¸,1cøuCùJ,×49'"HéˆBÖîíî|¯<ÙgU¨ôDòÌi¹ÉOû¬CP7ˆäbý#Z^Æ'Î'èÜáÖîú†]žƒGTÀ˿ړNs†×Dµ_jc&ì̪MbèœPa}n®öWˆ_ë2„y¡]×£I_‚}mO ’¶t¤ú¾ÆV TÛïc ¢®>¢¥’¶[Ü[ïj.:DE"é›LjϲoŒ¨OÜ`®e‚·šèmáWÞ„ˆñëN;bo±o¼ED^+”S\RÊ.õ‚.*Óµ]—ŠöRr!aݺÕ2ÉfÛ”ëT{£Úû}ƒ³'¿×‰w2N—.º9¬VTð2y|®ˆá8YœX FDïý¨ª!'ÿk¾‘i¦È’àR•HÞ`] ŸÎBœ•pḫ7 ½¢Ñ#QÐXÒBž«0‚4Æè ¨X$;pñA€|"Š´žŠï"˜t9NuЙÀRt4BýÕ’2†_ €G®§èQ›Þ…‡£wIn[‡Lþ^/Ë"=ÐÖhÀÂï 9´¥«Ûˆ7&êCá›™‡ùoœ¯ÅBQÉñ¡«œ^OY©ýÑ-¹HcÅZÃ%.ŇŽá颫à«CZÜÛ‡V;NhŽya6”Iã$7S(â94\2RÆÄ>¡Q óÌÔô Òô¯'[v[;ªÍDÇÓyÔvlè²´éçYG(½³tˆ”µŸ¨]Bàô’3œ¸±&) ŒB®¿I\15^\å ¾þ®³Ðq¼‰w¯’@/­L DWT7÷|RnüËÊwKRlÞ»´Lºú†‘M•×ü^«©®MÍ–Õ¸[y .U/Ó·À'åÛµ½L-· ”kð+Å“Ñg@*K°M÷ýxFª¼H{C¥D2[cª2ZÂ`S9@„È•wY¹i ñ—®æCnI:=›Ì¨X¬ûó—T")£ÀœÊƒ ª˜Zcðo5@”Ödˆ¦T¾CÈ!öøT}[0ÂkBäÏûËÎoG-tÄ«Šs3DàŒ¬þÊH«t¶IþF"Ü`£*ވʙ­§•¥¬à&‹½Å%ƒˆºr;ÁÜNK*TþªïoI6¤ÂßœHÂ0X6Ê}Žwía”Ý)‰{D‹·ý«°¬Oø{´¨usÑàÊ[£•Å7<æDMù+3­QéÀQ‹ ¿O_ü®[àuA;ƒ¤”‰ÄE½àwŸ÷,Aõ¶mû-,¥žHbª aA1ãlô?JgÄf;aí ­€g#¼ÛN[š6¼¬rFÇwÍO4Á)Ŭ©ùHC™öæ±ZÝ`Sš;­¨[é'3Ëš" nf›]§I²Wóët„ÎUÐy‡Ö7*ÛÝ`öK`%.©6\¦åZk›R;];uƒ¦û£ØÊ´»Fg…Ô<ÖƒŸÄWƒ§H·f™•!” 2ùž¼›e²Ho å"¢qÀêÔSâKŠGàëY¶3Ù1p¬¡10MK$ÁV‚•}ÿ¼ Lß[E¢HÚˆŒÒX ÆãÏÈŽ}êWÂ…]uŽÃrî˜^ÙD/õ^3\ù°bØŸ êè¼ ¦˜qE÷)»¦‰Î•yŠ÷¬ÂlhGé<çèdtÁùmQ˜ ƒsŽƒ`&öÕþ?\dgÁŸ`5éNêÖ@ƒíÕ°\ TŠbFcíŽ5öÙÛ†°?§?wJžhƒq<†ÈGG†“E„Ìu™«ñoµZm5Ó ºµfº\Þ´íE–p¶ f2Æ&‹õGîf¸ \­áÅ–ÔNhÓ6;±‹ -ñLôË‹áD¨rP¾ó>?”ÊÄEÛ)ˆu‰–bO–ɳc§Í}]çp°s¶œ­-Úh…{Püÿª1“ÄPþÉì}(Ã6~&é ºœLå¹î002ºk™â˜\ ~0QÓÙ¸áâ*psiׇ•®VSdWœ,›Ê· *A&9ԥ›=AñäÈ&¯­öÛ5Õ"ƒ`@9èñæDÙv“O•û^¥ƒuƒôrþ$ÆÞý.†I<’ãòWÏ”þžîØÎQ å ^=²“²wt‰Ô¢òÜB.÷Y”t Më=Û/òñ=q³Ë$£+)¯<ÿÚœ­‰~yÿ—€$júÅŒ[9Ôi¶v”““³ÃUÙkþø7ư7Q\”s Q¢à²“Óº½)š—å®íÇNÆÙ‘ myB®H·PóMèï{D7X…§X…J\¤ ‚!ÓÇÇÐ6¸$³ÿœÂÝ1 ³Èj(÷ÖhóH⥘Ÿ¬_Ã¥ [BÎyá?a-Ž€äB—Xl^¾)`nOu à¬û.-kGøÓv8gÁb7õÞ£ìά3ë~Q¹-<ï’áÿêÞI’'ˆï2rß@0sc½ éf-K,9pî®ÿÄ?"µ=âIÓÖu5Ù /õû£ºÆÑü(sT¢x©m™°FJ&i܃»§µç/ž÷䯔ll†(íÍ&@SŒÉËSB46Pø‚ŠBŒ`çÅÓbk“¬ {pV1'èuÃ2³KŒëêÈžnz^€êDkÞ.¸sÌj»¤ão«ºvwñÐ+QÁ‹â]WÎãs ‰"¼xqD·EÊóöx,9,H k«–öñíó΄Ì,µE¿}÷ iä/¡c-Mõ3¿ŠÇŠî-¼–¼žÞtË ¤O±ˆRo”Êœé—ä5¶›è4Å_ð7^‡‰þïÔ½ë/l!-CY®ÛHšd©‡LÌ[õÿ¼ÚHa£…ƒÙÎH UõÎÕI‘Ë¢ÔÍcÚñ†C{AéS ºû^ΆȂ4fgòØƒÚ ˆ˜PÌ`†ÎÜß›rÎ&,åeF1 Œ-Ëž Šp:oÏÓ¡¬¸ÕRy Xö1…¹Ní¶VmëÝEš <„WM„œPÈ5^Í‚ª_@RM[bT©+ÖTâ¡òèÌ…âG†r&tC8,w³¡%錰,¢L¯Ý¾n®ÊoÐÈ=…š$¡Ö7]ãÂijÔèÇíØ æžW˜mKc? P·PNŸ¼Ë«tjB¾·suÿç)1Dyr iÜ23š ì»qÙ Ô<ŽÛ‹x‚ƒm= È™”QL”Ö?óŒÓ1âù,†)¨¶! 9ÌÅ?ÊZø¢XC'PL¬ŒÏ0ÉqQÀ6è“V¼ÌåœÔ"ÏÞÈn‘„q Ar+hкZ§ngo¤¯øØa¾Þ«MiJóªØ8uC=KòsgEF[&ÿÞt*§wÁmRol±%d¨H~É7}Hñð"-zUMµsÎNuq¥€7ŠùÍ!dŽ:7åÉ´õΑGO3?i‰5e$ıkêÐ1<Û ,ª>˧÷ƒá—y S›÷UAÊû^L>í,9–Z6Ðm”Íèö‘øy±#,•°h¥ß}bå”ԭE_‚’ÀÑOÓ©}ŪU2çÛd5?:p<›ËSÿ,²ÉáÙœml×Ç}S¥Å±6T©ôÅÝ«ªŒB44äà†Æ¦'bôõƘ݅qætÕ%6B¶]Šª2i;A<Ò’ºà A`þëm€qϵ¼¦ù0†–àÞÝ“äª ÷™#ÄóÖ ©ìdOœ[–Oœ3}NUÇ‘…b×m¨ŽóLÛ£‚µ¥¥I‚™–·Û)å+y¡Q¾àq3—ç{a–â,_F Õb Nˆ·štàÌ Q®&[! ÌÛŸç;rS¡¸byÒÔÈÛ¶'Vù¤‚ë¬nu`¯²÷NüMû~µÔzêZƒÛ¯œ8&b-ô*¨*ýƒE?™•>­•”Ûµ zé™jMŒ¯²‹,÷݃[¯~ø¦÷§TQ<^o2j¦SZo² ôŽ)U«¯”sœÖeý²ë$&}gb’ÔùÂ¥3‡é|_§j ¥çD¬G¤±X5Ç ^tôà;yO`õ-!˜cho8^L[þçl¥ž”—1ÐTZìèžý“]¦Ô[Â߬»‚¬×>LH¢ÒnÍlüJa,Ud™g´Ás Ç…¹TY#/´Ík<º;ãm;RËë_|ü°^ßaâP©ªyýò\ì 3¯ì„^¡:amÊd&¯eo\%¢=cý“=Lõ}5 „ ‹‘jwuLP˜6»(˜œÅütYCôÁeĈ. ‘BÎ\D"‚³+¥#sÆg•>îüjÚièqìeµéKY˜å7èm]ô  Úûg'Ü1Ôf„¹²ëcã\`ù(Íoþá[&EyÛØÓ:½ §z›ö«¬"Ä¿SDòŽ · NÐ+½ÞÓŽíQ$‰è¯rÌ/ÕÜtdÉdˆôÁùÒAEÆ9ò•Ø â‡ÓJ®ov>¨‰>_ƒÀ’OˆÚìÃz¢)XɵÅÌû*œ’Ì÷<­ÓHEð#ç,Çe²ò'1ÄŸbtpñÜPO€ë¯¨zÔ,àq³§+pí[HžÝ×Ä´Uùlz\°;­fùµÈjCïO‰¤QµÊ‘ᶉ¾SÆ(ÿÎôN&´Lüˆû}û´Ú¼æv’3ÜÓõª ÓȽ¨*ö`÷™Föq??pp}ý*IˆJ#ŠNײ…“ò¹»Y¥ÝÌéDPA—+ü· >€ù5?õí—;ýqœ‹S`RFþG¾Ýšß:½od$È[Ò§ÑèùÊ•ØÎØÎ)4 ÛéCÔÓÐXC$*öFŽ4ð.Ó­ŒºÜ[Û(]þ{é§MÑgzc(±½)·¯q†k·a3ÞŠ|­”Á¸Þ_å㽟S…47>i¡•fê¤hO(äk]´[\µÍÛ-@Kà ðÄ6h—³¾h«ìöQÚxƒÔZÄÀåư¥³¦ÙÍ¥bf˜P!Ëû#®Ý#¹îâ©a2*ÂKS/Ÿ9:ÜîDe·ˆñ ?%<{ý"³Å«@­jQÃ7ÙT†âi?úSK×(ºmUe†Ö˜u¡õ¥ÒÓ•¶Tç©—\† rêž‘Çmìh ©¯)·g«GYµD?d`Îë“vAñî‘vÌS›êkå¢%X‘ ±óòLÎï<:û¨zþ‘OT”ýÃ۵ȋ\_K¬WJ­ÄÙÁˆ^ÏxЯ¡ž¥:è?`m»ô¼Iþ"j6‚as¢×Ç×YEè“ùÜízÔ$ã M™í× Óp‡×„=¬†Ó:MXpÒà%L`ülêC±mÐvW®·ãóÒ#žLë»ÛN=Ê{Ã")¨ßž˜q¢!1yíÜ ",OxFR<.g57Š —mïVÒ)ÞUèÍS‰kttÜšä›QZ6•^ÐQðÏI+Ö{2·üÇl°Q/ŽSÙPîÅuj± Ô]Äš·ðJ1zЮí_újlÍ4} ¶|Äâï*ý²ä}8Áy +J³zÔ•£Û[W%nÕôœY(d0èL,…§¥m£l÷*Ûߢþ»’¼Ø¡Ó âáÝ€zOúfVILG€f4ö "LÈcŒ. y˜pÕZyB‹J‡¹;ßä&ýxH9©™<£«+é’OIw㆜ĪÉ¥ÃÛ©Kw.íBµDˀ˷<½“ŽKFS ù¦E€ÑœÿYÙ}£½ìM–Z7 Üô 9VÌåÁïbO±ÀåéȽµS°‰à]VÖ’‹lªÄdkÖ $Ú®ÚÜmœ¹@^!EC,ù’Èot¤g¦Þ!9fÄ(º'µï{Pðï9¯¹ÉÿÐLä p¡+ óX5wIÛ=ªŒÈ{bÖÔcþRØûçØÑ,iõ:Á¡ÎÅóF:óã#$ä•u¿I3™LCë—Òõ(%%›ï>ÈS›¿ÙÆihdvö§7Öêq¿m³“n£þ¹I{ûoV'uìßí‚ý¼­›ÜŒ}EMÊ_7†,u:|kÿ¼o*LòË‘Avì‡Þ•¿+ÑÀ[ê”ñàÀ<®ëÉW@tÝ+®À-¢äØôà¾n† 3z·U ÖKƒ)´W–mSÃ/(äÁÊJW¹… …¦ N¤”r™g^ƒ9òSÑ ¢GíCÆ#‚  ™`DúìŠäcôì?I}Ö«®V)ÆÌ'ßHÔ<˜ÒjCšÿ‘àyudªÆeƒªñ{·í(Gw=#(FÛÉÙ>q7saÀjß¡¨ŒÝ~å¢Cc~¬kû·@sµ4U|r_Ó‡1Ô¶•v…=¡´uç¹Ð9z¶Ñ¦a¸'’0ž6ê×~+yÑ÷þžˆjW«ë–Ü÷ô Ó •ï‘_™z&!‚Û‰©&Òºæù6Ç|æ_/©Ò“j¨óý£‡2«:úÇ7¦Á˜@´îëN–Xd§§ty®GŒ'¢Ut†™©pŒx•wkA"öW@„þPÓ—†´Ð:&ê+íîšµ#m/Ö„…¹ÃíÅûùz@ãw‚™ˆUÞ á“añV{Êïn†?ç÷‘Ÿ~UPÓû…(â\Ê æÇ.u=§BD¨ÏËK |¸ÿ{¸Ñ~^Q½ÏØs'¡¥"-†óCå/Ô…+øpÉÛŒ§•}*çQç$ ¨‘\ÿiâfy)+®ïÚ,°^úŽÃÏHÓmÑzÁ猀¼ÿiÍ—®0à†Ëµ7CÛvCàñ5§öÏmLˆ| ”ñÿ)²#ÍIõÀ±žÏKu‚t;jk ÂÕbj‡=‡Èw`¤»BÖLè’Žq°„<”Ï…j=(ʰ镢ÕÏãhH5g ù!¦x"¿K‘Õæ–¿ât*¾ó@­5‹Ëëèa_G´Š“j®*–ÇÞVæG“̯kÓ k3ç|›Ä+BØÄs†•óQ‹Á!Kà‡wnŠCÁN‡ ½üSÎcGEdœü oç1Vþ²æS“.¼k‚Oü\Æî Q]éìôõ¥m+PÙAolÝÙ!ÝSYN©z~–ý!z€$ˆ °7ÃVwó·Ð?ª ²µnü7¦í¡]5ä¦Á|X·ï&+h7lÎÿ5á†\à³ê!;_ ÿÔ 3©‡h[Š¿ra‚ŒN©w'º‡ÌϦâ1¬Ðc þO×êJJ,ÕaÕ*¥ô°ɇÄq¾­V”=¹^‚hãwâ…A"¼DÈaue5Õ>}yƒ ‹«qÛˆ&7e†-˳ 0GLÁŠÃÄTÎrÅÕåà«l3ÜñÅÐn’6ÿ°qU¶AhŸTzÑ7 ؃ºÆÌ”Îe˜…E²…GÔü.3~w5E`)ˆ¨ Hщᱯ Uç–‹’V*y*”‚¦É!}>UéŠÐxÀT‚° 6ýŒï u}Ïႎ;Î<ŽŠx"Fá1s­@@³l9J@l¦IÁ·¨ž=/»ûˆI–{ïáØL}¹^+$±I—Yæo+§üöâYN32ìY ÞQ—âÄË2õ×/GÇòÔßíÇõv‘¿ÏßzÆð-\Tx‚°"~:{9߯åýݱûLŸByêš©xl²¦q=•¸ÿ+->=GƒŠøüÇGɦY”þÀPÔѼáê”›°Á]39újúEÐæŽ¤¹¼É/sÅ$Eøtæ ŽN—¼5ªu; µ-ãñƒTö޲öõÂ…¥ÊY‡ÐÃü•ÃW)&˜º<†ã‹ñŽ·ŽòæPç‹áð¢˜qÉàNˆáÓ¢ãöp |~¶…2<<ô¸ dÜ­Z‹Õ8’Æ N¹²ân UozJ¥µ¢CU+Û÷ç¦ý½T04ÛN Îü¹ïdàüŒ\êIϵ&û¨Ƈ^Õ}¿ÍþL¤¡!]œZ¸`ÏP¸³ÿ.çbŸñ©èF—JK…(7EºC$–‚AD¡[CúðéRKø½bÊÙ'•£­çY0sEGȰG«U•:°©æm“6ñEE‰*}«l,wÅÔ—†@ŽŒSξ܇xèAª[JË“Ú×2)ž¿i10›³dð=¤73êÇ—´Õ°Nó»|5|Ëæ¹NH%zTï ;ÿ,E›¶Á™ ï‰âM3§´Ò1î3-‚ø˜4æuĆM:Ç0HÃ$ÿšÕ, 1dg˜©ú>̬“²˜ÃÄx¨Àa:#°FÎVï;v- DØàýÊ´‘­j6ª6Á[(›atzÝÝææá…t€“B ÙøG¹1U:¹Ù‰³ÿ^ÆjEâ uE«mK‘¬=XqgÔŒ1—éÑRIÛ¢Æâ©ãÒ!i#l£ÅS·å!Rä¥~Š¥ÈyqäêhTÁŠìù®]ö=”ë¥)%/QÀÙl\P&G ç—ŪÝçˆãèºÃ/q²h(ù Ç`ÞB›w{‰­¹N`í:¢vÞnN Þp|un©U Ì•‹X 1vˆvÒVlôQ+Ê'UzÀpçh(ïˆÁøÎiž×–üÓNv«;@´-&ÕÜ5í rú¡#MÉæ‡Ö*3›«/“j”ˆ×þ^ØÌxŠÊ;iª› €¼%üÄL{UÛŒçí”ß0÷ÓK-·"Iüõ‹g22\&`i°a.ÓEuâ&]¬ ›ÿõ…«w<¤ÀXV#?OÛBg Gf÷•nö¥ò©Lã¢cµ)²¦<˜U ½c«ˆŸÏ_Ÿ ÚFsF¯V*ƒ'4âüÈ¡5)Ë'šÓ42]“ûsl&ÞŽñã Ð@¹nd濆"p ®¶‘¡îF“®lðG â5¬7«é/ü²NÚ‘Nû¸îrêz_<®'Ûñq̵ó§2c>ït‚¤!ôï“ÉÄŽ%×÷ÝølõøF[Pÿ øé&²S…›W>^Cñù=­Ž*©?ý°>ÝÜ‹ZûÒ;R™67"Ý–IÁ¨á+«ë†0G x`{ÛÞsE^"d·=ºs.òRÆJY0ml—w5¥W¢RÏœî—@Át®&<’8-dY¸¿ï}ä (ÉtÐÅ´N¡=9Ö«üÞ‘mÿºïq=ÑŽbÙoÆb¶d ¸*F¢º¹sݪÐС( ù(±ÙS_‰’ž…`W"MüÝ:hÞµiëßoŽ¿è QafOЧ2zDß¶Y§•UýiKµ ÖÇÄãéjöѨÉg‘ÅUˆêbaäõ-d*–;]ÁŸT,yTs(‡r'Ÿ៊? ©aÍ”¹³/H´Zhдà¯_Ôýgù[Ø%{B®E ßߤ/žýMBédz›nçóbyIXbÄÏHšûtWPâ©á÷Sj“ÆÉï›*WÞ-¡‘ÿ x;uKÜxoîþÁÖÏa†ã^nHziÆž¸ÒßX™£§?oà›Ñ2 yôÜÐ U „?æÛ&Áµ¾îØªÛÆ—Å­NyÖÙ@·tØçè}Ã-†Û&4Žž¾È6Ÿðs®¾(È»&a lt V¥`ê5½>f»Û@9ÉŽWГP3N䵃;^¿–lô¥©üsKv_·¯þ R-×G‡úG’(1Â*:2‰«SÀ’*  ¼`9àõÝ•¡õ÷íkµER¯¤±qÈ= ®°êtTëˆb#vÃæª±''.BíE+„£ÞåÝèD¶RÇñaépÙqŠAÏÍpì]F®’xZHÀ&Ì5ø™5yE—×8êÅ:7.½qä5íBÓäˆT!΂têlb”Þ.ë äUÕHàpqôc¿³ÑP¡ØGùótp´F^öO†ën[\Ùëdlºlrì˜Íò½ºQç—_µÝ;âkƒì)Œù'Zõ®‰1ƃr–›üº¹“ù ÇÝÏÊxô«ž‘A$-#䂾-é $ñ7øôû¯âk€NàÕ!Q(NÍ)¥•®5?WO¿À 8²L)ŽõjTÏàŽ(è”ZÓˆ^¨Ó(>ëp‡³‰ ·b¥_e?ÎþNâ¤Y0ØXˆÖÍ…Ï%nêœ7eü¥¢ùŸ˜Yeïl]¤4U¼ˆ—Ú¥¥8ß;"†#ĺGⲜ…XÚƒ8Œ¿'½ô¬ßè*‹èNK.ïØïkèàBÏÖ|%ø…wãAO™Áa9ÕÏö=«°ºF)1¢_ö8±e¨“«pR-J½û€)@XvÊÆýô>Ÿ‘ :¹^jáY3#¬m¶áZÒ°Àô¹¼)â~šÁ(†[Ùâ U£ÙÌ(Ä›Xwà ¨(t»<0}ez]¡Šrúõ¿ˆ‚s4ÉV€oœÿT§8G‡@%lÕÄéÄ–s§M ŽEo€'Ï×*<„ÒkËÃh…-›*H*@Ögr˜uF³ž¡¦%¯1nC:­þšHËH‘qÃ|¥8oŒFà äü}ÐðۨĦ6ùrÿ-Ñ~tƒš`„] HyQoÛ”b ¸#›¹Cw^·ñŠI]˜žPŽƒà1ú‚Žï>ê`â …<Ëà* Ûß×/*bÔ${펾Át˾†ù §’¶£Š {0ºû! (™Œ&Eµ_1}îÚܳT’HaWÖðך…Ruµ"jí0tÿþÇ„v)$h 7µŒÄOBælJ;f8ªoŽÌ©pØiÊ$y;¡»¼ GÉ«ÚYT‚Mt®8¼ËÜö»Ž0G̘”1š>lÝ,·™äRi9ÕLÌ&|NáéëREÁU,À‘1ãX²ê™è³…¥Ûü„z qfü¢Jdd˜Šé¤ÜPÔÁbvïE)±_®W®3¾ ,¢è pZ¶LtòèÊcÇ-èèÂøJþ×Ý=$!TH],Wãƒr±Ûz¯é;Á™¨6òâþ.Z?üû¦l~¡ðs°×ãã3¢®æºèbKÕº€0´EøùµT}-×Ì ›dóíûÂXHg ¶Ym‰·²®h"þ.‡~0\\)ÃÉÊ3ªSžµ~C¸Î#¥Ö'bÙøÿ9lD˼‚xÝ’Áù©½f! \ø­yžB@uSkII·ÂÍaï¯+±H'±(ÕU°\*,UtÜ9<ùŒcò•œƒCîrh(žÑmy„´A‹­ÞS‘;±ÐZG€K—‰ É̺ì~še8Ù>œ¡axÔ šnXRˆÿ™?&‰AB?w† 3î¼û YžUNM*4]þ”ră.*~wMÐ&ç *·8 zãÉv]å=Ç—%î …1±rJ‰ÛNTu˜ØZ[P…6ºÎ|¼ò21haä.Á®öš|í?…l"'&߃ÊQ'»#‰ª£*'Pw/Ù…Ž/VWP‚BÇ'Ò»o‰w²—s‘;&ÖÕ$ë¯] ‘×õ}Ó¶Ô§¦Ø%©k÷ŠK¾åçFÏð±JÂújEmî¥sš-¹cPB­ÜAÓn1Яì4Õ›¸1mZ.ÜL?íàg^ñÑÄgÚß—sÆÑ;as´~tn¾ßF %¸¥Ýž.U•p9ê²F/ÕwVt Æ×nÒ‡yÂÕþü5ƒŽÝήƒˆáRœYœ:¼Ÿ_ÍohéŸ#ß‘ä°Qb¨Òc4õ©šÉ^Ÿl"` £!õœ¨³ë̼„}òì;GÇŠ§ Àwæ){*Ò“á·Î„.ЩHÏOG˜s\»µ}“¦ïlÊø­ŒãMs“6Hq)å¯äv4`ÎWwõŸæñ‚^,ɳò—9ÿ‡a"dÒ¶ê˜ÖÍWÓì®þ}Wh áõ9‘ùÆZ~gZ2Ç{ ‘RÓZÓÜ=ÓÜ›=§w#š©–Ï ÎYjó=TöŒêkçÝ.-ÿ‹ö3GªY žIyôOkþX|ò$’{°w9ôŠuúLê”Ø@püà]“+'•šØ_Ì•¥ýÙ¢#ÛÀæ©dîo‘·ÿ<]‰n«Øƒ¼"ܸ!¾#§/ Ê"C!ñžê̈Ípee¯÷ƒÅ]¨É˜sOszµ£ÂÝSOƒb‰2üÒ0NxO9(»lyvþ¿Èxšû(–Ÿ[ÀØOT#ƒÿ1…J¨ú×Ç> ¢ª(ÄO®þ#thVuõ27¦]‘ä±5üfCO¢µ˜F€Á‹ÑgÚ³À½kBø˜Oºë(T낚'> æ œ”À1Ò„\ú¡/  ßJS¤Àû2Ÿá&&4ÇÞ=ÜvÌâ?`At³¿\9Ýn~C50–d£³ï ³hcÅp ¦1ΙØ&¯Lð‰Äb+ÞƒCdƒ# m1›TËÉìgÈq-w/ ÏÑ·Ò²I«è& #ˆ»‰Má¸w3ÕÂhE!êS°sÏR\QÜ ŠR[60Ô¢IÞmç5ŠÒ~žC"¿» _þëo92ÜÐ>o cx–© WžÛ›Õ jÞÃ~kw$èU–êɧ˜ë ¹ƒt]ÝæF%F'ñ±´çuyÖÄWw©5f_ËkÓ%FžÔ«“@û•Õ2øy;¹“zûqõKòª„Öúe¸K4F:Ö UÆJª¯B 8,G¯4.3m6ܰùÜ©ýDË9¡Èâ‹‹ÏPiÈÃÝPS ˆ¸ŽãZˆð´S&ÍœfÊKi§¢]çÝ?[Þ{ÉSú¨¬Ä 5öêB;Û2S½—íåÞ.ÙuF s^âÓQÁ?ˆ&YV:U¹t¨Óö*þÜ󼆹뎓ò Ìy¿É©¶d¹ß üW0N¯3M\¢þÍ–K™î³°­¨O®•þ¼ûº¨qÚ´ãQ¨Bjô'ç—ô„û?õŽÝ3&p¦Ï•XrìÆTõvUSGê­ÙùèÉú ‘ë.7~g+YyZúg¶êq¨cDVàæÇ‚ì)j‚GêwÁjUØ»VäòÍæ©o%?Ývó÷ŒÊ¯ë=’Ì8ž±|+ÆE&1%Eêñï8ó¥$…5bvîõp[΀I¡çÚcÍøbÅ‘…Gài.|Ò”•hÂ5 YÛ8ÌTô–n™?)J(ªrôÃQÏØÐìW(&ùͧÑaf“î—Ç.7û¾öY=Ζ8êRñ3ŸË¶Ú7Xªd‰§JhtŒx¼–¤mÒV·f¶¥ém6œ[²»’ÑçÜÔ"e[¢pAÈLù¸þÅû ²°/º>K§ž;tŸ%=‚}g˾ÔòC$ÚJSm˜ŒÅ+¯œÿpŠÕƒIW**”BÀ—Švµ˜o<+DüÀDÏO™e¼œ˒Оã©É󕆷î HÕɃ¿À¢Ã©bEZ×=[Ø;Ü0ÑY«R°êa»-ñ’ƒòÎLWׯöáu‘I 9<¸³ë0&÷ëÅ1[B8n™ Ÿgõ|zB— UÀµ”˜Æ5$‘ý2_Ö|ÐgÏžhu±£ßoEu ÆöÀà¬qù3Ø×-çû¨$ Ã2äZü6nRßíº¤°áwº:Ūä$5´ü¥`ÞtåëšjÀ˜ÓÛ-¿•qÑFÆÍÁõS½=ø¬û–.Uè~[mR°´9¼(dn$m (àQ9³ßëìm1Ä(*4lJÈwlÃÎ5ÿâƒï€¾3F——3,szMjWù¨§±cnÑbêR.k–‹ä*—A'Yî#%qê*ôÈ·ñMTiGp4iË{óƒ¤ðÀ– q‰ûy’‚@Ër+yø"ÒºQ×ýïÜæ&& –2“ ÝXà txJ-Ž|I{á<Ù€0dÊnçq6uóû›YÀ=,tðï^ÇÕ*ñ5ñcÑ­ô]-'c˜öWt=Y³ùC+ÑrX¹wpIAH$݉oÌt¹»ÛÕŠÇNˆAiäH7#-î@ò†¼kŸxSxJiØ©÷«B£þ5QËÝÂ̲F\Ûç5»ÈÖÌé)ñŸóä‘›yþ}—àòXŠ#˲(oÅÔãZ™ÀÔ64#ah7k2=ª¹!Ü«îeùO™yÇLði³Ýĸ„îeµ. ­¹¿† Öh1o¼`Ákß Qÿ\¼ÙÇiÞ ?ÚU-­X—‹ê<ëáÆ5Éñ~pt“²møªþXªpF©~qtÖÈæ`6uW™€Ð¬«•ñªzà÷9ðâl£g)<«s8ܹ1¬j‡)ú jÜagû²³›¬ ‹qêG48Ô‹ø–3FÄOÉãÐQñÇÕc¤¦«à´BþŒÙ1ÌéÇ=÷ ¹€ÏÌT|¢‡bv qûµÔõW7iäT£FË‹UN~”ÞЧW·ÙܰDX´”MÞ÷kè“Á¯ Ë6(­ä²ýÅ5 aÎX/€zê[ìTCÐ4ø”^ Cd›§qÀ„™Æh«¢GX˜á˜)‰ìH¸bnñ!JwŸ¢O·ë•ãÙíðÕ;ÕÞS\RãdqÈ¢hpVx²-ß\«ßYoæMñ˜D yÊ}L"Ƚ¿ŠÒ‰{:âA>Îñ†*ž":¡ެóØD ¶7_êä”pÏ!'0µŠåÝE(¾çT’‰f?Á‡4%ZmìB…ø¯ZpÄQ*°'4[5÷ëÃô]©ä1[Þ–åÁÖªýçJu"3];7çínÜvÍ*ÙNX\æ¥Øö^Ia‰Iv݃Þ3ƒLWÏs;‹äÇw€m‚yqL¿ÄE x§ ”–H¼Vðž+9¾tT6’dzy9²œýÂÊγø%ã‚éjK@­©X½yQ" ?skkÔÊÅ´%¶Ë++™ÑçB1–…‹xN ‰ ¢å…f¹]NõÔò4ÙðÓý˜cÍòG0dRÆU sõ<•ÖãÿKíLa™Î§éd²c´&V(+¯i »Ät¯X›© s„™–Eø6ó|AÛ ê9Œó<$dóÈ/"ï¯]ÎÓ(£Õ•æÊ ‹ìÏâ· ¤½Í˜¬¨2?óÁRoiã+Ò±ˆ_ºYúÛ“?“X`$lêêk‰©h;Ÿ37 ¢.*žˆ’IÎÇ~s zu+Jи¦-¬–0±2˜Y°f²ùïL Fmµ® °fîŠÍ­F§XʯDïVx—qØ„.M€ârJÊfhÆ#dp¶üxun’EŒ¦±~—»ñNÊØ?p?S¤Õø\. ´Oáë‚Cbµû{[ÙFÝ Ø¢m†ýÞÓØ6Q¢´Ö»¨KÅ}Çjz?3cZ‡°ë«W¬>òl~ösÐö!Aµ.0|:P?&[øN/Þ.)×­³¾8Z§¶ã)³š¬þs>,‹±Ö@dÛ%ošˆ`Ù’dàåõîÇU6v ¶ïvDòZ_Ë"%ªVèo¢"Kb¤ŠÈŠa´58Üó†@ö“ÎO øå“)ù!ñÏj ucé[ÚêˆÀ9Š£»Õ цáyCS›±ÚG ç¡“ wa95Ed£&ÁJ›‘º2ôVáøk“£–ý_°Ñîóoúl'Ë.'¨E #Z\(zMËÀ¤J«B½f;K’€ÿš^žÓ_Q8ù£ó±˜lîçn=ަ%YªÉ”ë#­ÿglkÂß÷-ÅõÃ(’÷û)5|÷”õt{s{‡Ï‘Æl÷C½¬Ç°†EÈä¬þĽ\L X¨µŽ¥ GñˆwæÃñyCü.Óâ¯òP +òEÍ?é7Ê¢¬/cãE¬&_–eD2ø‘™TÍk­óã{áÆ¦Þ¥%®”cìªKÀè¶«“ã„°ƒ¾ Á¸Á4ÐRk,­C`AÉVÀ !º_S†Né¬üâQ(e1DÖ»¥ÆZ½aài µÚI3Ρ¯f=‰÷…\×qPäë-é§Éj}š{œ‹·O‰ðèã³lF]Õ¾­ Q1Íw ~òÔ{¢Ù%âÖ43³ä%½\„gÁ§‹¯²Ìgdë@z„˜NRpQkÃo¨Ÿ%³of{G91™îó?r)8ºÇxâ“Ô(i;ÎÿucîÒdz©¤üú¡Võc\I÷MþE±x„ÎÛa†Â;ºçPÿ 4,ߪ‡­,AÝ"^O•íÀɆ×=\€üóŽÅŒ¦EŽTî0òÉ1¦  €Õ¹)HU?ÿX¿Õ*ø)bÈ)ÅÀ Ÿzg,îG 먠FbêKŠl¶Èܪòƒ‡š’Ëš²˜}…O7˜ “ƒfçÐu¡qÄ,;_1Q‹– ‚¡=-B3HßrÃe>k^èôŠL÷ãàûa´àJöÈÉúLɸ*QŒÒrô€Ò—lj“p©Ù³+B;=#•®þ!÷Jó Åí c¢äMæ¢,Õ‡,*\jA`Æ.ÛC}ʘ‡YAI™,ŒÑ¦`PÏ2þzŸe3|ÿ‰ƒ»³£eèÔî(É:{ï7é ìiäp¢3‹ñUù*ê±StŒ˜ë;ò=ãh2“…Móh!Á—üp½6Ÿ-g\qŒB:e(öÕ0µ¯C‹£“¦ Þ÷JÊ9"¤j&k΃‘œ‰E|Øÿ“<[‡î‰+Úi±T^£aÎ#“¢º ”bOÁ¥×¡j]½#ð][Ó3 TÚÒ5¯}»kïè=”H5ÌÜ„ £xD±¹óú7¡¿Ø7-݆•ãä„Ä Œƒ°6„Þq Öy¬ÓT±Á¹•rY“tæÏ…ÑÖQ$Û×e£Ëå<Âê/øÂÙ Ùvý-ݲ†G4–^É"–FÞ^ Œ{¼% -˜Ð,ÔX%Üù4À|ˆ i6BÞ !M>¢4ðê–‚k}›pÅý¿ÛoÎþÃWdIŽšTHé'xóR«B ÉgxxGB—ÿÙê­mËo“ 'ù«Aë1µ 4a;’ãJ:—_J% 2x;(ËUH`¾Ï¸„Ðwç¼ÍŸ’B¸ÆÈÔ£ 3Éì"òÖVÙtM¤K0A~òäî³14mȇÌpÅzlߦ'dL/ùßHÜš@k7P©z±eàôZÞû_µQ‘ ÄÓpøÆùNPÈyÃ뉡NÙz?¥Ut=¯³Ájëkh?Aû|ûW!#¤©ÝžÛ5Є»·˜Â\Nd©iT_s: 5çJËõ+yH ±š8NWt™.²q¤vevlW§¥ÉCÛšñâœM^DEÌÊMB£.$tÙP.6é-eqþ‚^ç¯ ôˤÿr[ä@ žÀ%;…ö0÷C-LV\ñ©#Á8.Tuï€:#ð‚¿Dúúî’ÚþÛC%×Ç…÷åšdºÿĆǻѳK#ÄKãO d.‹ï*Ú\ïvVé¥gZ¸¦Ñ >Tz¥T)~Ém†d``‹Û¡Ö”Ëhé¨ÛÀæ3E+„o5œÙØìeköòÝ™:°£1‰ 15<Ž@•Ñ J¦Pï)öËgÀLñE5+Y2£¤6"¹iØ‘ß '’C!J•Z¸ž©@&KÁÑ¢bÇõ‡ cLŸ î¬4—ƒþrHü^×@¥>ö?k: ¼©}Óc8hº—- Á¦ Y,V~HœäbÈã•C¬gE6ù‰Èmf‚ciq§Ç/ŸÒ0žÏÅ+«TGºÓÚF,µj7¥¡P»Ö#âJ>LíØ,“e= ®΂¼„Š;%ÝxDBx!]ø÷8¯Î†’Ç•þxlCñK±GäoQ»h)RKç»Ù‡Ê¶ ‘)Él0¬ç<&zÒRÕÏ ˆZ– e“ãJóÂG½E¦QÆCi!V Ô>&Ó<±(0ønMô HíØ”,ûÓ¨s?A϶ÞQ ¿ö¿Ä½]k a¿•¥¢Òž¡Ž¿f(Œ8³àG¬éúòÑo ȃIeŠ©Vý×NzÂ1o‡þH@;Öz¸Nè!.ޤìPáŠs7k:Iž²Ù Ô¾'Yÿ–/QSUަ1Œ)OÍQsµMDë}Èvºþ+‚«‚ ŸÀþbVE]-Ø_®…¨ã濤Cš†J¶ ’lhn•Jƒž¾ä|‘ô|Þd,}ª³4&ÞEÀÜÙhóÃx9Žè øyqiŸ”0_ßÉ9Ö˜<ºDÁüÂX-¯Z´ò|gÎ%rÐçœ~‡€VD2ÃeÈ£K–SB° M¨?¿5ÞÜzrND¬«C£xŠÿ3Á2$?y@út%3°áNT?ÛµøÄ9úpd’Â÷¹ç±€*ì‚Fk!dÆ1z-ù–‹S•ŒÂftÛCŠ„HÉáÂ=ƒzÞWƒ¥ikÒ®Ç b8ã€êŒ×÷F¶YŽhÈ¢ˆ>0ã\äÒ˜ræ³nÎbza–Ò?ÁHbÔ€ݼ–f݇­Àk¬l"¦ÐN‰sÎaKûšÞ"DJcƒ»Ük;ÚT¬O¥5GéFW¢Žµ`ØQç¾â ²Â¬>õІ›bÖ*ŒÉ¬ƒ0´ u¯S—#»×˜ðð5d>ÏöÉ÷f`7ý)'€09!ƃŸÝlÞü¡§Áˆ½ šOqµÚæE€¥‚å!x¼TÒŒ}ˆŒ•µneé©á^ÁÀe«K:$:™ )—¸d+3fÝÇ)£¬œr¨âå±e#%‡BS` ¸­aül“$©ü$7þFNN€ð ÷ÒIPé H›UýËÆ(JâPZ‚ Žž¡zXì…wS©Ó0ç`S4±e%^t$¯‡üö¨n´Ä'áÙ^Bb&êÃ9r°ò­}ŽkÏß®¥zD“²«ûõžÿOôxls0ñ£Æë¤ÛïþCôQŠ/ì{î¯Ø8´:yò,,åF_‹j´&ø70"¾ä¾H´nüRX\'8FP¥À3ݾŒçæÂ ß»•;žKëUÏÑmÕkUxGµ*êÐ|´ý V~ÐsQû¾õs¹Sà,Ze)‹ð«×)Nx6¸æÚé’¶såGuî0‰qàªsÛÙ8~îHÃ<Ûùþч2P6·á Sô}°Þ dþŸ¶ˆÃ+¾h›Á \üº÷HœiN“%cU–j<ºV!oܼ}æLßï„Ø›òÕçÌû;|W 0"±$ÜãIh×ÈÈwO\—á„¥b\“v{>õÏ[0UGƺîgB¹ ßÜÿƸ2ŠTwmÊ}Üx÷]NÒŒb±òôõ(ÐûôdFP£9  ³Š`PgåIîâ,UÞ¯N}‰À–ôar¤m‡øÔèAYí6ñký¾eD}ˆÁ]Í|éU%¥ƒA€¬ªÊ8Θ·«aß&MÆò%`ûn“k‚¤Ö y=BØ<}]OÅTrÒŸ´[˜ýàžñ˜ØªâÕ?„b£à€¯ô‰)vnoZ7¾E'ãÑR0b\C•.g:Ïm^\Û¯L>œ#µ–_ÓØÅ3ËE²›PO“ôc€Y®J¿A6ÆÇ„ÇxJíânDÑQo€_a¯S½*!*5Tƒ'0AÑN>,Z€ø ¤š-=ðC D³ÒœÐúàþàïÃ$ì] ×Ñ*WÚ¬b ºFÐtV‘èb¨–(øŸ]¦“ˆññ©p¤~šf—²dÎ߃ñ¹:©dj…¹F#xÏ1WÊÇD‰¸ñ”ÐâǨI²Á:oWŸƒÍCS­±ææ:â1‘"R^„04TÓb„Ü VÌ*3jü‘˜b›ØÚe‚¸2kÔ#2ìBØÕ?y#)çàºÅÕ÷ݶÞ%íÑÉ9áäW°ýG\¸Š[ï±M¤(*!Ÿ¦ÑU´û߀BÜ­f´*+;dYæÊ|3ƒçd€ˆyƒ(³ünß¶íÀºÉLêïA6‹—œ‡Ù¤]¿|¿ï*žJ$RHÜs Öc½V²ÍðÀÃx£“ï­5³5ÎéPb³žš¡´]ÇÙϻݴ‘ïÑß—t™¯6“ª>Ý1D*ùâý„å$’Úþ´Ä\f9‰õI ƒˆ‘æZûM¶IÁa=Ûó™­ µ\NŠBÎ*zr[¶Çò?–Úä£4 ¦š_™'~  ø 8à—Þ¤Ç!³Tél0œ5§ó?c5'n‡Ù ÛúE\é|¡òRV[‹^÷üó™M§Q[×Ñ:vµx.ù[ÉÐMKåêèF·Ž(Ú\汕½·-<¦-P¸(efä·Lïc°5¯YÅ=>€¾”zz#f9ºg”Þº* ·tEpI[Nù`LúÎÃ㔵g9¬Nˆ»:K̶ÊZ³ƒV£Æ¨]¨Økc®IK\«­'¸xS¹JòRŠÓþì²9^¨trüéc‚Ño´^ôõXyÚ*uuʩۺf¯£Ë>F‚Àº™@’Ñ+ZM)Ú™5ß3G¾ ˜G–ª.p´å>¢²âí¦E¤‰…¡¬,ë¨f}ÌÓ]ˆ°Š6ÜæŸupä¢Ð Q<S× .ȼóy0¿°ñŸA,/‘LÂS™73µ¹PA¤gÅD‚'‚ «Œ9„^ñ >‘\ë¦ ¡Œ05“½¯¦4RwA—§®’¢9¸“Ðí¬ñžH¶Z]#›6…ÜÚAL‰Þ}ÑØ7šÍbmÆ”á9wÖ#Ë”%^ŸÇ°Àh)Qr¸É¹x„óEUEZ”GǾO‡Û ß+ærþE„r²DãƒÂl£uÎ!ËïÎ×»4ÀoL¶ADòEÈ?1;\¸€ús Ì Ôk‰ÓûªDOÍ ‡;†OôèU¸ÙfÞùTct:zŒàîï/M”…•¦ˆ[¤ÃÙ4e´©(G.Uª)EtØmÒ¨V$ÎýEzËëYÙÓ’NÜ£Oj›º6Âõ„—q®IÚÈ)$ŸBEÑEŒ·ÿU͛ʀT‹a[ç¬Dƒ†ôFœÛVú°y•õWCáˤg³xp9X¡¬(¨µLz{òòù Òä²9ʺ´eé|’‰~5=zŽÞ`… ª{é ?ã›—­«:€°õŸ¯½ƒë¹(°–¨fU>rã=÷žIÄ®)# C~B”­d |a{K®`í”»'ÝzÆó‡YžI£:Û*仮͹®±ÜPA¤¯‚å À»à«ðŠÅG¨ÍÊK“»ªÞ8Hä ó¿0pÑ/ÈÁPª£χ"$ •r ~¡„$(Ö¿ÖÖ‡@¸îÐ’î_ ¸¼öš".}ÿØÌÙ£Fkð•„Ìôñ&ƒê‰¯Cy¿RY¨¸mRèc©œçkÕöS­±ÅÃf^|Þ^ØÙ8lPëÑGªÄ±8TŒÊç>m!”awC÷`˜ß=‰p¢PÔ›¯kR¥j‘5x;ص>é§p3ý=µ?G£ãq}µÀ¾òïäsð¸¡E"é†+Z­IV¯×¬f‹Ïºp°W÷QÎ,VTHpƃü-ƒLhcé„¶^h®æVj˜Ã‰'É&uc_u±ÇN¤-CÿS³ÌÄ:iðcƒh¬Ê„¾?yLG‰Ü#uˆÂŽQø2]¶‰Ÿ¥VÂ&¬AC.g:ûûY¶Ó94‚”LœÒZô»0óú<Œ2 û PÚ¶Ñ%pð_ˆ\¨°çL†¬YK)*´Í‹nw-9&fþfTɗÚB¦ÉË*f–@’œÛ[Yð”õ0ÒÛÑí+ôƶ~œûhC·•ÝU…ë‰ç¸ÿ-0XË ¶Ômå îꛨ0TœLÖ†2,3ò4W´ýÌ>fsñÖáÆ{ílÒ}kÊk[¤VÿQ>‘LäZ6%–~Œ¢_\pmѽpQÅgçˆÛ>bŸÆ8Â<X‹ú8®ìí a¶Õ¾.Ôôɰ/ ïøJ"±ß1Nûûqy çl÷ócŸ.Òv—D’6?–Á¦!G¶!ö)™aêodx·@H U;/dK1Ž8[•Çì¯'̦pÔRèîøTì´ð‚53û„÷%­Ö›èåu®'W[ p„ ½«°|x-CEÞÔÈÌg™P ýš^yÜmWÒ¤çvä„].ƒ»ƒÄAEÛGr5'D|–Ý¢ƒ|EÑšX6ÀØÓë”Õq”óœÖYŠ¿Bq…4Þ ïM^ò°Hm–üúQvÝÌ(³/Íä,‡j,9/» B±«0,{× de)Š‘‡?®Tz¯D8Àž-T`Ì쉭$»ä9|ûîO.ƒ@Xx¿þhÎzy'´ž“_µÔ/T.…Y»þrnzœt¿ £ú§»l{¯”b÷îù~L15\)EÙ}®o•ø]U`Öšû3KßŽŠŸ[µøúp@S׋ª‰D¨êr>§“ صáÏÿ}噫Æ1EÇ A/lYRY~ÍŠ-u iF‚7!`aø‘"IØÏ! œ–ˆ8£ÝÑe¼Ÿ‹õ=4N¾ä6‡È•õ*‹ó9€©(éaŽÀׯ+C§Ü†ì-TŽ­[CˆEOJ!¿BBžò•€ <¨+™ÿ³&…ü98E ƒR÷|8¸Õ[1ºsmÊÕº¬ÉÄŽ]Xˆ§ò˜+•„òTÄCÕ(9§+”ÂlÝ£˜_ÃGfÁ:}ÿÉŽŸŽ&ûÞ«Y´_»ã3dqF󶨬stŒ‰Øs9„3œ} <ç*r°·Ú–ýki×ÎØB[í‘§8 îÇW¼)-†•éFZIu OöôÑñ`=Bnþ‚ã,.ž0ŽX”’ð/Sâûà+~­•n±tW•AêA‹Êí6RÊe«ÛQ8^Ï^O#TÁ‡4\¯ÂéÛ7³§ h¯®(çú¸5ûÚ. ­´¬Ï¼,ûÂÉhq®²ý0‰tüå¥KG«±2&Ü®õ"y2Â}lìì[ZwÈGûE çn×€lW&†õ_|ägõÄᱞ¤Ã?¼«1 ¾åM/1›øQ…ò©evôûÀ[¡ì;M/ѱ \­’Ñ’ÝJj0Es©\—+WºM:‘-™ÝQkæ×ÇT.ÂîC€ø @söUÈ˨WRÛôùZëLí,2+Õ/ü¦Ý.ežÓ©ÁáÞ}uFê9Š_kÒ ˆ4¨µ nûXŽ"ˆyø/jn5‚Zm‰–­ *å¥]ùútŠòÐ4¶[¼9úwî0bèò„3íZ†”^U׸ïšÓ3ÇEB”[ßvÊ:‚Uψä׃Û­ø{$Ý‹Çï´‹?ÜuòÁìÉMØ}4Ç%-†Â÷‰*ˆÎ­òVEqÿÇÿ&õGW±ãÒ‚] n«œú/?üá¹Fh ¨˜åbFZ£˜(ä %ïÜ.™·"HLT¶:” VŽ+AGÝÉ0úVþ}ìB4ôSò%d.UNP£ò÷Ì3±C™›•'*nÌå^úØôú”z“ÊcÜm‚èø.Å¡1*Ô¦õÿÔªx»Bš’×d"/9£ÿÛç´bE‹¯ók¨³!+—Tâ[ ɘê„ âNèé»9ü0f%‡FW©<`éÜ„X‡ú¤és%’,:𹂠þ…½hlÓÌÁÆÅ2ªl™-ؽÁž (­,ÄŽÍw¿t`µ(äÈÞ¨ñäø†VV'Üéfþb3ïÑ{”`®t—·$V}ÇÚ΄ çíwy- r„ÉŸcÒ§ @¾¸ÚµÚšÓdCJe¢ÜEI÷O<·‘Û£®c”¦+.ß‹ªkO̱.¬V²þ7\²=«øÀÊסÙÁæöbÎÜ7§’ŸOeÄM~ š(ãËBÈÖèS=@Ðߊ«YÉpº’ é%–€ù  É 7 DIùEï¹áV˜…öJÀgâEwßvIðý®Ú:–[Eè3»éÑ<Å @αG¼·–ÚèÚÍBm²–foýGù+Šý rã]í)É_W÷Ä‘0Îåa¸§X;1QÁûû¸Â¼”œfO: R'AâÜÍDy*?ݾêöÚ䛯–È*oM ÞùVh¦ “6gô8‰~‡{œ2|^?í¾"A okWýirO©“¥,z© E[]å˜ít² ¨þÎüˆ¥C ºÝ¹q:K6Dàa îW7SÈwÚǤðæ±ˆíDäJ¸z¡#n"Ò>sf pÜJ’Äe=°LmBdÈ€•¸å/*.¸o²ç¬Á%5ŽâyàµZbss™Å».v®ü´N )!³Ø¬#„:O“åçt&HF²OÁZ¥|o_¬SE­«pÝȵ®¬e1ooÉ R+`‡íxC¯Õ<¿ât?ùÀÄñañoу%À/¢‘®òaiìõmq¯ªœ7sžÜqFÃoRï}À2>Ë®^òy„LrF¾R6;‘¦â·¾} ˆÔtùt 9¬¿Ë›j€@VrÖ¨GÕ¿wÐO}óêÐN剭G‘nI˜ÌÚÕe32jQv÷RÓâ¹õ»šÓSj€ãЕvlêümit<™9‚µ Ä&î¼R1Ó©¸V…ÄÂ6Û‹†þ0uª‚5a0ÉX+µ˜…ýöFB×’¤UB¤ÇAÜBU˜›Á^ÜâÁ¶ø>…êßÙ¯Ú*}džÉ¼s †С¼cd€P*#!-æ ɣў¢.•—¥˜ÑYX^ }oáÀ«XNzøkç2«£:·-¤WB"ÇcÓBgÊ›J“$ÃÙª±îD\ñÓuâµ|sv&7À}Dº­š @K/)R÷ÅwjáñQ§<ÍNÎNd¡gÓd€5îH¬~ÃaIÙ«º¥“ ºÄF¢»a’ÚU«¥'b¯‹à\/*¤Ä;?¯´ãÿ‰Ö/³óI&sés–¨÷.âjIN#MÓŠštŠÜðÛè·ËEÓ ¯…ȇ~S {—ÜF¹ÚÆqX •á¹è¿M5X#ÀÓZ¬)àõÐm×Gú3¦LÙ ¦—OñÀ‡)9<ÌQ^‘ÎE‰Gï.¡JšóŠXsðgy+š²Vºu0 ·¨Iɦ-YŸìóp­8;°ñ’á2‘Éý*~Œÿ•>ldïà¬3±GÚ&™I÷ÿ¹.Ê€xPß~@\´w©ª š°Œø&Ã\\€ö­Ø—CÜÞÞnøuG{§H·Ü`DNØ‚·È€hbÔ'Xßϼ 8±£ÚãrdBz!Õy/ŸÓ'ö,ãÔ•^¹ä‚%M=Š˜…À¤&ús1º`RA@Žü›Ëo|]Qh$X¯ùºgqVð9‹Ç\\é4 ÊH üL@iýŸ‰R¾J&07©_Ÿÿ€)äßW8'ÎMíw‚$*ºÊU7úïι}ïéóbH¹¿7¤šø^F¨n…hKöÀÀöß›”AÌ6PSï¯ULËÈÛ[òµö×ÀÉQ ´x†ñ•å½éþé IËa Éš+‚0ѵáK) jRœÔWo-LÜ(oãY/nãË`N¯_ kÞø#‰Uü\Eñ,úÓ²xÞŽiR»}öaújV;íÜéÂ=Ï¡t¨¾‡î;k4ù }M¡LpÑ&2‚7¶Ë-ž¥Rî‚tŒã,D#Þ3 w€@…í[îÑOJ—­«`ã& xÙiµEãž:gV’ uö!ÝŸÜ¢QgˆiØSûvÑôÿ]!Ï*ó«CøÍZnMƒ 42´+PÁþ<£.¾Õ”=Ê<彩$@=çÁ*Ì÷aÑý½¹@ Ã,,Ì’î«Å©+!Q‚7Bĺsj޹Ô\ŠÌÖ0?ˆ±LÁtב¨I!+òV¯ð‹â,™S3½Ð½ž©yØÒ³@^‚÷ؼ͉7dVx&?BñÚö5^5ê’ã|šä®”Õ”n:WŸn<ºu œexh®·¹)«°;/Ú÷vÔ · ZªñкÆ|÷²èwmAö”½¶è]“F£•‡0çCè•pfÛ²àlsAÝí°÷(ïAöÂÛÞ³>ö¥wFOdøªv~“vZ+# ÊX9ÿŸãØÊ¡ßQ»zþîPÆnÒ Y 9˜‹fLYÝGzdBÀÝWS«ÖÕšî¤'Šxa¤%ghî¡G“:iÄÆ[=o‚Ÿ2Û·ÃͯÿL\¤\ºé×ÿôBÉRØÄqî÷•NŒ>À'œ®Ó¬jAy Óš@-£ÙŽrʺÊQ$Ŭw…ÒÙµ‹¿úØ3´ŒÑÌyÃã'H_=g¿^Dêû™°hOÄ·J†QæÚ„ïà&Ð|yAœ×r$·úĵÜ(˜XBhHvõÚüü x0A«•§¨qA]Ú£¼9#2Ľ_ #qxZI* ¼Øœ$Û¶¬|Ì·[Rßt'¢×–ÕýWækìÓ ‰‹³I¡I† m!› Õ2ff"²ÔQxCS´‘[Në¶­ƒ{¬¨çÒyêúqOGRÎPh¢îŽzo7-¡°®‚ä­…<çNsL(hƤYTñ×9s+NŦ[°½Š$ w e‰ ³É:´/‹,žúA縄þ~^o¦-hÿ¿Ù¸2hYª´cQ½Ñ4µ%Ù½%WJ³UÅ0‹ÇÃïf ݉¿iQ‘½s©Éu'ƒkÏÑñÝp!CŸ¬¬_NÅX‚Xœëª >´Ö¹êúši b~úúI#qÕ,p¦|591ÜGʦ$ÿ{ÞµÑcýr Ó’Pþ/Qî[+X7Üo0ûZ/`õú‡-Ùµ=%×ÉÑ´¶˜,fË™¯Næ p«q€´}gšÅ οB8/Ö48sÙXÙÜŠÄú ù²(G©¡>átp§‡Ea¯Z’EªüLº‹:¶!=%½óBP3Y`ñ3 àÿ  @ÇÖ €±Œ¾·¦ÉÒSà¢Ñ‚’Ì…urÕ¦i5Ðe˜í›^½þõ¸°oÓ©7'â¦YXDÐxvlSgöZéý Ã8°EDå¯-wÌÒ/5Ëå±­Ø Q†MvŒjläÆÊÏ@[…3§A¡]Ý¡¹dÐÖÉ1ûOê8“ΓÂÉ}œiML Åè‰yU{6D¹úòÐØg ާ!…OL ß3±6ó3qOÊóú<¯•ZÆ*_QŃ Å@hU£­Pœ,l /`¹ÎàÌ^¥Àæ ½™Ë{,¯¹ê:1*«€ŽtNŸÚÕ¿åý|IŸMø /gë#´4ôÕwþ¦"dÖ‚÷]ÚîÛ:l× W–dسI¿úbq–EN2¨lrê%O½+ÙkTk_Sjç¸ßåwËP³:dã‰ØVøÁÆ7Ÿ^©–I„<ý\† Û²3ïüÿ¿¯"vgŸ…ñ©·W¹ˆUåo—²+œ0²IQe\Q•ÖÂbrÀÆÑÀYíÐà˜Aøqsc‚çù@;=IncßôAŠAÁbv óü‰0°¡‚$Q"ú‰Dü‡U0ûrj(T„iÀ=’ßZ= &ÃIò·¡ºƒ¤³˜5}$³7‘”Ô[2ƒãíEÃÐâê¿©ŽÈ Ⱦ ¯Óÿ)°.¹pêŠ!ôïp¼þfù*¯©³ùÀ#^_.“B²€¡,Eª ðª˜úõÙ×ËQ7?F¯ïÜÞLép“Ì{fÕµwv‚àGºÍê˜ûÑiô ‹Õàg©ê0-¢°Šô .'g™*y<£\hk6:dS Èp"lô ¨¡”Ê|¼Cî~¹F ôª¹¸·EQvÈ@z«âMh¶þ–b²¶MÉKvgš¹Oöe\!︆ݪ&à˜†‚ykf7~Á¤h_i9ã™bÂíÍPp?,½ëAB–O•—GÚŽ´Sp»ÉÊ”×w¤ÃàúÊ ,vå2 }$}#¦È›ðÿ‚lZ={¬³xE¥µßËŽÅR9>'¸ê#q*ßÃÖËÞÜþÉ¿‰ÈfiÏkEL ˜¢œXÎ%®§mµ}ƒoæ€Q=–èLœ¤ca½ÎÇì×¶Ö{škMnÖâ2Ù,ÿ ±G!÷ ¤%j…–9¯pÊ\›õ0÷ 6f6½O€š¾’“e `j+™Û3¶çî¢ì–JídȨ›sÝc6ƒÝãØø(É·) Ï4H‘ÿÏhÓÕ@®¸•G™qYP¯˜´ýkÛq-ØÞ )eÉÎÀqWwÉë@®’+;ö±s' ©}·H¯NßãÌô¦èë¾Ëùúë²vzÀ!DyÂwªR¼2^CÓ#iŠÂf“W°¼\6ùºÏ£ÞY s9¡ É ¨A;NãDJØ{Ø¥Rçé)ZýºÁ&Õîn7¶„z‰´µØ/®Ò:[ñ§ºí‡¬SÊO<ã`åÖT}…j¶¦þ‚–ú…2ÉᲕ+ë‹@Ì—kQª‘e3Pn*®@éO7!v¶i KÔ>' X–™YÓ÷FËà(4®¤:ÀÉœ­2zck#æ>ÿñv§²µ÷»Ðì“Æã`¹bo.ÊÃ?Þo7 s#¸ü´_âãÿÏr‹3òæÞŒÔȪásE-Π#|·^ÌÿN°ÑÎÐþ<ï¦"œnÀîÒ’±aÐ]Þ“›>•<´ (G·Þ*0L…èÇô7ß1qR‰û}¨f#úÚÛ>æbç ц¸Œ(ºÑTLU¶£‡Ö—‘{cÍ'üÖF_,Cí\éèJÈݓՓ·Í¸¹S£cSËÄP†+yáŒ,ù¡à ÷<Ð1v/© ñkêÈ[zVêߘèÇ¿“îøü᜙Á Vï»Õå*ÞZgGô†8I Gõjcp)¥©Xy^[ O€EÞ!Å·ZlRsP¯ã;&ÄõÃ{_ÒKÃ_ʆŸù/¢¢ÇPüÁBÞ­ ÍâoV>Ôó1;$dæó©*–s§‰ØÒæeî“¡ŽVU§ïEx3}ïâ þµ–ƒÂûD«WÐWRÄ´š„ùGÕÁÏå]îV…I@—ÉÒ85ðÜ¥É|ŒuipÐ>Ëm˜TbLG7 õÇ'§Ò å-/!ÀCÊ„b¿8ë…Éo¬´we%žvTÜ9Hƒ®y³°©(ÉJ œýæÀ§Âhaž·Xþ ™ÃD’“ádQgƒz•Ü‹wyaj}çþprã $ó™/#˜Æ)Â&r˜OäÇš/]åèàõ†ÃI2’¼¤¿xÙÔã9ší#™_ÏÔ|"œ–BÍüì**³\‰£•SS? 3ñ ÀʘüF 1ÇãSn±7UWGÍ:œ¶äa³ÂCr";p)|¯ëèÎÚ¼W)Ÿ³…&Ü@¢îÇ+dp´x5 Ì·»Öð¯Þÿýá›.`þ@«§¢•óHü]†Y>έk(¦PAé{”H’ !…U`!¨ö; ƒÏÞRƒ¢ G ‹Í–í5I™Ûb‘¿¸ÌšìáÞ;KCàDLŒü7\f ûjJÀ¯ûs"a¿où36`Oµ¢Ì`Ø:À |샄¾1L$|-RÖ/3õÃ4 $؉}phaî´u Í9m>ntƒ®× ëÜoNŒE>ÛXŠbKâä‰5.Ê—ŠÄIPÜ—GíödŽXró4uèí¢üuÉË ³›4š˦ñ˜v§Mü*•LrDGñ%Ò–ëiNÁÍLzî—sMÓdž6OžªÖM¼{‡…¢,r4‰ªPÍ›Qö±4C{ŠdC®î "VÑ÷â±ÔbØz±x÷7ˆÈ㥱ëóÊMPÅ¥”†fûï¿-i¶+™Še AÞSô"';#&Få»›;`OS²/“–¬H1k+œ_ÒãÏ›*„ߺfŠ3¯œç{¼#¨•Û] R¯OÙêx¼ šÍÕIëåô¡™”Öoq!Vî03›µRQ1pà€ûjJʵPHœCåÿº@MÖ¹?Oú!¡ŸTmj馶'ècü±ëñë'Èk ¥¿—¥¸Ùňûã¹®àyå¦Nl?#ºßTª8¬½¸iìòqM–´1ö{|f{?Ù¹€¨æv ™‡bН‚¬gÑ‚Q35i§Õ”ªAkøI‚[$˜C™ ²aÛ>̇ÁêS¸eÕ4Wmq;n¬Á @ø[ÜPiÈ-*T$š¦Ü•SŠIjá{!ìÜ­#šü†15ÊaŸ?CIIf@± µÁ@qŸEš“õ› !|T½ÆþUl4­t„~Xü³‚²ræüuî ¶¶¹‚D[Òá ܰâš×ì~ÀNT~(7ÝYºäXi$ßãŽ®Ôæ‰r˜M¨‰"¦ ZG/«9fþ±ƒ§®XšÕ ;)*d¿êSTú³34]Ä‘žµ‚v~P¾¡rz'Ì ø¬ ŽhõÜwÅtà!S‘ýf-äµp¸pHNªChéï™ß Êð»•y~£¯Abõѹsãë³à))W‹Û<¡àµ(l¬ $Ä¡ö¹ÐwW]H!m+Jÿ°(ÒÅ$±‡¾DðÝ›ê©0;Olåf´ÚxÂÈ#noW>ê~¹PF0;`ôP€ø³î=ì h1I†#p$'Ù/g¸Û;ÐF¯ ¤›/6 £Äñô‘2´qØ·t »é‡5¼¢§výi=5®)¸’¨4êš”|±Ö#ø Á6IzÖØƒ!·ÃM$¦ŠéÍi²åÇN!MË¿=Ûk%²ÕëñliÏ\˜‹ÜÙUÅV{¯¦ÍMh_6ÕÚ–Pý: Ëžëøx^s»¦Û+Oš½Fúô.eE†?(R“¼ÎË,Úm;žØ¬\x$ƒ®\vúZÈêÍùþ &ÈòÙþïxïUzxð_±Ã&^Tÿ/àkÓØÂñä<,ôÉX;Š?…v%8B=ej,)‚)ÚÉL䱿  $ù6Ë¡ï2È»“ î ÈÍvG¿zniX N|BÛ¢‹÷ “÷B÷6á"EÄG‡ggáv)ø„}Ýyø _´q®‰ºûÂÿÝöˆUqCЗK‘Õ™ÑÿÇÚ_ðx6P@oôß~¢ªº€xÁœý÷š%ÀˆoíÈõq›µFÏt‘8•Á¦æ×VGøAù7ã3„þ9.u—…¥3&>¢io¾$u7þÀ7"×݉+¬À Ðã2DLìúIÍ$ààSÑñNgY·UN)ãܯê#ÜRÞ3R~vCKš@£ˆJkF샑$¡¼ˆ ¼x•#P .Š(ûrîÇ)ÔÕJ=ÌÑöN ]ª¤¨óܪŠt+B³¤›8 »sÏ•‘ÁEYuQrd¹¹ÊPçfjVOª4Ò2:qa,Ò.‰s"¶t|?°åãÖ%à†©Ø8»Qšð糿RÉ«ü¡º2iÄ8¸ØRw¢ây܇¸è§Ço3_ÜX]™À»ùÊñÄ”p!GF׈¶”¥æÚˆ½W‹1^@ë}»§-å“Ieý†þliÔy÷:™‚\<…g€}d†Q Hí^=¤"ÍÝä‹—kŽ­†£1ú®.Ü·CO©Òªm†iÐȧÅzÃBðE’Bñ(R†Z=h:Q 7ù|"< {9©œ¹æó\•àm+îC¤ é‡!¯DOø@Y 7ÔÀÒ·4ØçAèPmCš Rµµ’!ç«Æ]saÆÃ(h šm+ìiâ·LÊÎÇó°Þß8ÞÞÄrsóñ¶©õ5<-6@"¯ÖCЮ’iØçù6™zhG׌ýÝ[ÿ@uÐÓ,?¢€jœŠ)<ÖóŽV±Ôñ¦Ä–·2%:U dÖ–æÛû~t#‹Iƒ%J¢°®u ÃAû6_I 52Ôáâ|õÆryÓè°¦¨Î>’Êû‰vý<~ˆ År]Þå t‚#„b(8ѤLÛMèlFØs²'ˆãc7|}éC0ÞÑýåß~2´ù±kÆíKuW¯2W„™¢È-N—­áÇ=ÚÓÚÅé­Cï9ßG8µÑÕÎLFc$'OQ´õ>‚Cž2ÔÑwé¶*-Ö¦ì§N›ŒÐ½á"ô=v3²Ïy–˜AãAa¡Jã!½þ{ø–<óYòf‹´\KÚß÷'·{$ã¸}gÁ \˜P#¶ù)gº®P46„˜öÄêÇËåzÀ˜'¬ÄW1ãVÅ<ÿÒÔ/%Xæ Õ“còKŒ´ ãÈvÇŸè´z_‹`.ø.ýõ#z*á\ùF7yí˜>s{Q²‹Hò‡VÁœË{Ì;#ç<7»„ŠÞnb³Ñ"¤ê\ê.ÃA¼gv‚ˆà†‡õÎ4Ί]˜|–λ3Ôe²hy´)Da„Nà¯Þ5ä<…TÓDÁ¤³óçjÀƒšÈ¶lÓ;Aö£¸—DÑeÿŽÕ‚—I™©©ªþzè—õ2>|롃¬.ž“³<…)HStQzE4£«ÿNÑ„œ„Óß?²PRí ]ûã"ø´…«¯Qˆâ×h¼ªLâ“­„~ö[iqQmgÖXkôÚ¨RÙ ës)ŽÌDSðÒŸÈKéñãk–ø†lš1n5~€B8µ%ÝÊžG:Þ±µ8ôê‘ù_¬Äu6ÑкìhC°NN³÷åx½ H’JÅËÑr@½T›CñÓ¸Uò‰•ÎY®êì,ºÜß—¥iEƒmž¹û±Uºf,]ˆ™Ã\Ýõxç&äž|ƒqàhÿtü0 b0÷Qß7BÝówé¼Fg‚€µ ý'ì<) Ó¶vhIXdkÈøÂÆùÞcIëŒT¢Ûý€ü$JÏÍ7.}ôë‚guÙòí¥c‚€t¥P<Õ9 ´}sÓW& D]“&«ЬÀNlI’®Ú’¢â £É¶–šúîìÃçÖsÞ3g­ÅÈA®²05 ã1ˆ¿’ À9Û†é(jÚ"è3Šj]oÏ)fDÉ'{x‡/dÓÉ_%FþšÎ Z[î<Œî¦%JŠÔ5e>׿QUóå;邪2jÖª—üoæoå'Ñíˆz©“>A:ÌÎù¶¦[sÚ=œöö<Îçòé´Ûƒ8§Q+t<ºz¥mûìœþÍ*Å·iŠTWCŘ@%¹¾wé!}Ò¶  `¨¨œ±=^=6˜ýKZýXÝ8Ž²Ï†A=JѾÿ”m“Þ,x&j†¾ÿÆõÐ'Ã);VMMÛ}‘8@Ž9ØTRáå¹bp³tpy‘Ž÷¸kêq¶<[MM³~\R–,bHfà§Rô^¨»0´õ'GÐËÞœ\¥‰E â£p€¤P¼®­2p»jåünGެa>ûIükmçÎUžŒô;,û¼u”Ïþ¸ß6÷•¿ô˜ˆñ÷ùFê¢D„fR?åë<ì éøñ«—ÑÎêh÷£W}o_õd(zÞ9ILè°á[©XgÖZýáÛ$lÄùH»HÖ¥øM°x{S=#tÍÓÿ‘N`™§¿fù¯È!ñá¦ÌíÖdç—`¸éqm÷¾çÆJu«2¸nTBô>ÜKB'æxÿDy)W1–È+UßçµÄ¹—´ïÿ½š²iCî”G4RU9Í’„+0XÌj~qÅ#,FÝñíkéc7{GvHþÛvôm_‰:ªé p%à⢚—À~Jq—V>yëƒZäPÊoº fá1quÅ3Äáç´c!Uè3¤/YyB)“!Q0ã\¯ð@·Ažb—‘Þ—Ò[¤³±-Èi·§—y.w,G.¯xöÐâˆàyî˜i³ý ÁÌ7¢äÃá?s¶¬çîk{¼&¢bù Þ Ã?c?ôyTèC²ø·{>,0¿©Ç|äQ„m¯4ÿŒ<ón3U‘ã,Ò72Æ/ÈBžçEâh°¹îÛoQ./çY©´â x“€¿J)Õù½Úýéì´ßbtŠí >Ìð Öµ§¥¼—!˜¥(#î°¢ÓÒÓö«—ßÀ§3BA8”J½Î[h7”Kõš—WDýüÆŽy©™ÂîÃÔR*×UÀ»AÓÛž{ð“f­¶g¿uð–6ª{OhM^Ãûµæ?ÒϨJœnébK=>|þƒúÅ»8y|ª2>´a«ÔŽL†d±f"HÆ¥¿‡(x_ÑÎÙJ¯øëÅ£éÈ;æBŒ:Ô/ãýú‰Ü¡Û#VÖO|ë¸Y˜„‹ô $hÊKÙÈLÜ:Øø‰Ë¦á:öKOƒLᙜã„ÐÔuGLojJzoÈ䡱çZ4Aà8÷HZuˆh!ô2^ð˺¤ ¿ 74åþ‰³+ÖÓ ¢§rÌ…3ømñô ÌWó}H4*$5ë°5Ø ñÏê'˜¶eSÄ:ÌÛ³ÊxJQ®0÷%~†æˆ àŇdw X§jוB„ŠÄ¸ÖL»ë=;õx›h ¿=ý²öÙ’ÀFvfÖ<MuÎ^3—¾u‰Í™æOÃêÇ ¶ß"¶µùͽ=ÄÎ9V8C$qªøådÍXx€:S'F¯ô*ê­•ºù-§p¡R´ÁpÕKW­I(¥]§'F xÿ•ø¢´À2w¿ý(šÎùx''ù逯h¼ã/ÖֈξÈ!å D;1¤'ÐQ—öw¹y®â)xþôæE´ƒü`šºªMNÈ ñ>1áq$zÙuÓixë# /Hâ=€· žm¨Hö!+¥jƒhŽT¬>ŽäaIØ(‚Þ¡¶ÂpŒmðž?a9Q‘P…õXØÉ BéNж½õôý†ÏîÍ@¹p› “_¦»±eš%”ËÀ`7 ÙÒxÊ´½“VÂ1ÿhÆrÉpX%y÷óðRjë(Ú¿á\vÿ¹‹; Çq˜»Ðfƒ,‚~o_|MÓÃÑý„ò$r•¡p©@ñ9Ï…jeÚÐM×}ƒ 卯Œ“6ΈtH)7fƆ˜~¿ýw¢ÿOUQÞ¿ùè²ï”%–nX”ÀÆëh4넲.Æ*[³yvߺãØÛâOæl!W =¿ÄtÐ,+rê‘´®ØÚ “å×r59k³{¡gðZF²FC(+Ég2Å©_±Ãã,À0±áÌm¹Y‹*ËEGhÞîBGZ¯ÐúèS͉Ʈ®ÔÜù«e¹ Çœ¡E<’¥f 7—º®²%íÐЊr3%(I¶dé¾*BÊ#Û\í è}âÇåÛÑ{î òvô ïDIeY„–OØ^çæãåø¤@Gǹø1ÓFÒ’VSû©†"7X…A3¡XÚD^ñ\hæeg0iìÁé¬åd·ñ;âUºD\Õ©¡(ióá›úÔÚ(ùÈ|æ×F°Q|ÌÚbª'æv· †³%ȇH TîEF}Â.©º öcÌ—~»×©÷”±z¾h³€ó-ケ)8`w óû-Š˜ÁŒ{jE"`D_ËYTuaI>C¦8™+ÝEžÂ«õ¼ävŒ>4Ú ‹ë~¢Y÷àÂG¡¼ituÂ0h¹,µŸT\Æ3¹‹OÀ "Ô¿Fµ?®& ¾½>ݹ…ïÓ_œ°ŽŠ ¥P˔ڋ° )qëð=‰ÿ•-J©!‰‚zufª+DØ9aêwf…Ä,”W3‘ý+„ÀI2¤KPtâ°Ì-Gû“ôð¸CýÉ&ó +K£sKmf6ÜÇÏ„pBÎ32ð„Þ«nÃO.=þý<4š„ØÈùúÅŸ ¬‹…ó×ùhõÙOºkÔ+¿²u®¡<Ì–ïØ}Ý @ÿ{«ºÒîúŽ)òÈ\Ã…9¾/§ÜŠ/l”Ïé=£á6äïþ–“˜’M³Ti•$ñ0’6eG-az†"‚s(Ù{ŸØ÷R³Ó²é r5º+þ2ÇÐ-?£Q»½:ÈD—¤Ô} @âa§sW½`ÐcFûB†ËëØBÒ‡J.]7=—@p:gÛj'À,Ÿè‹R’‘B|ô(%ý½gÿË+oûb€®™7W‚dV¥¦‘¯>Ü5­ ¬ßM$E û½êd&ür2Ÿ"IH¾PƒÇzö;¶ÎÒŒ…­c¹éènõï ƒ•õîo]B{Ì¨ÕøöÐzåé½ß¿\J³“ÈÛ÷Èv^¨KPÔ6~…ŒcöøÃu£¶Å€ÚPIÓª¢•«û¥{ú¼Ú·®’aÎ|Zæþ®úFÚ?4m+@Y½hŒ3¬úª0çmœ‰élhrŒ»·çoÐó þ‘=¬¹%:¼ heþÞ¡iJ(*BZœâ3¿ÖÅ®Y­5m; d¢,*À«îÍËÈÕ„~.³2^Xbãy”~§)0ýá÷£#pJ +Yþ¿Ç§Úpëô,W)ˆá•ˆª²øzûNf±¼Øû7À{»Á(yY škMÝ)Ó%Þë4kŽs §ë‘êâž ŸKØô$Ã"n­²Qr¢dÏ>²½ÔD †"¾Dø 7µÍãÍøî¤Ä$½ /Xø® ;:y^´7‚"%íŽú3 ‡5=?²[”F¸ãFëÓ¶0Q&zý#ZßyeIÊ_Ûtóy “ÀGŸµÔÔÉ–üH¥5$dÍ«¡^¬™j:‹N[3“Þ‰çÜZÇ%„.£ì ´¿²ibvS97qAPUhrÆ}µ ‡JY–Æ?- Oç´ã—fz’,ĸÀA3V»z6¯³ ÃŽÆäš‰·×vsòfðY{TLec%Öú—Ñ ŬÞäÕøø·y3£«vÂûáB)úÛÏF=óžÃ› …?Û¥¨ou®Šûj6ójÓÌtlÒ%Ÿpr®ŽkÒ\ P=Ë<@¾áλ#O †R0Vû&‘¥I”öôÖ¤ÆëãÝîÚ«2¥v]Ã[sR"w‹ÌÀ9$=írÙ†¬Ò]ª þ„tg'—ºüñõXOrµ3B½8Œ=ùŸ´m€²¶ ó¦ P—µB ûæU°~Gáý§“²Fη€å<Ý’M¤Cò „|0·…eÒLX©ýúƵtv!þ.¬òx»ïêA†-ÜØ&ÀV÷`sf@ì¨ñMÍ!F'I–zGíàñ'Ýíjôù-Þ¯HÚ*un­9¸‹ô#å"Ñ2ÒÊK‡>‹ªYvCsh_m$¬ž‘×"úPÛ³ÁHnÙÈ{ÇD—^ý_$‡Áû©ù\‰·©ŠŒ¬Ï’û*Ë$Æ¥±ž™cC؈Æÿý‹OŠêþ´ouæ†òn¢"ŒiÛiІ¨u¼× BϺU™¬/Œ N\Í:n°Þ@ `¹4h+ݤWåž Wõ•Ф¶&=n¬ ÅLHh¢™‰˜¼|?aŠG–ôüÐD![œU_\Ø!ÞôžtÝ<¼âM ]ɫҪ4+·ÅFÐåµFÜàöÓë‚D+Wßã.“kœ¥bRÏjžXXLjkå œHmk á´ö-^³©Íñ¶Q¬Ö³5”46äQ¸TñžmÛs1¯")I½"³S`΂ŒmI?à´ó v¼äî…˜]ýB)(‚,!Þ®7£n)r`Áàà/ ŸÕØ#xõ±r§>ÒÃ_°(È›„K:ÏýŠ«ÐÉjμxA‡<åÞC/(ôGú7¼{à \!Õ·§‡¬AµÌ½Wíkøz9ùUècÏóè²ï…¾…䎥š†m*o±¬B¨ÑŒNcG£'ý %¹¿ñ„Gôž ¨WëÑL»úÛäw|à†HQN7àlXXi—û-øz’Íp•Yzv0ù£.u­¬®ßVDsÏ7ž_n?ed–xilã¤T\0ˆ¨Š_ʼKާSvµ?JŽÿ OGŠé‚¯ÿ¸¾ÍÔëËóþU¢)çrj®~Šˆyý‹“ò¾€öJçÛ‰_ÌP`ûS<_¢L˲œJN.c™ïZѱ·××>Gœ¬ú¾{S< 0ržn# ³_^õÇ_txXÖ¶6-µ7Ûž×Ö蹞[]áŒl‚q ¹šË$öí¾Ï´µm`L a ³ QÂè‘gö7y–=¨…õC † ›POh¸¡ígϲ`ÐIP/³Ýí{F…5׉‹âFplÀ±¬›`žh¦Åê¦_äô2÷ãnAï4äzæ|<–¨;NmçOq B«–`:æDZþ-ËOq IÍ#§Ó›ößúq›Íx ï„Â,Š')à «9Syá ü› ~Šì7ó¢@ðá^©žU[̨÷z›ôÀ)ewzf"À“í†&ù÷¶ñøFù¯·¯ä%hÓwÍj¨\gƒ9`ÖŠšž‹ÛõãÔ–!CQg÷H>ÅîÚ?Xí Z±ûÑÍ“‚‹˜x9é/LDì·Ã×E>™§<Ž&I c¼…rªÊùûì5“ËØ ÷ŠýŸD—í]éÇ…²I€éWäp€Y â½Èý¬+óƒ¤Ê›.Þw’Oš=³›x§á¡ù×6 ¾{Õm‰qëœøðµjÛy€º¿kÀ_sé¹ù³8Æx %þÎÝ:r^ì1&MœÂØÿüv’úQÞu5Âq÷%aË·;áPÊ€AœÏ˾ß²ê€ö70F”Ë$goo€˜ìukEBÀ,اq•_ç„~åb®7Zåch3yµ:·s«§â O)Lc¤¸Ndªf'#$U$K¡l™ÔŸIènÓÊÔ§‚ }sC³áOæ~õ±u¶l:‚EÃ8èH¤¦§™ƒ¡–yâ ¥ä¿RX\š0ZħF_Ð%Œz$ñZá°xÑ‚õeлÎH_±Ål뀕•ÝÔgÊ&¹d½Â†ß¼ÛsD"YÉ´ô_6kà?ÀW%á_ԙȣ%¦(U`ŠÜ@÷±Ñõ;¿ ˆîß ðdºª#¾ÒO/¹8ëÙ¶‡²uB^"³q ³×=s×jÌ>T«  ÿ¸ûÜ÷Ky^èön0fyné½^• <0ätšày. %–‘(&«*€À¢·åÕÅC‚%{ÖÿL(hòOXÊ0( H)è Z,áEzã sb2Kí”5ïÐa¨“kµ 2ßÊTU—âE4b3Ë@)æTÿ;a®Sí™W¢ HO`#ʲ®Äo ÐR÷|ïÇõxß_-u¬ æ½ûSK-jò¦V+z.Nº¨µã·=>ñìsG”æéÅÇaßO=°ÔWåÕ½Õ?˜à¥@â­i£x}$½w\ßUzÆŸÔœuoeð·C;&;·õäËAB]èÀÊõ­ïÜE­ñ­}?¤{žˆÂ(Ào †ì¡šë†¹r@³ÈÛãÔ£,¿Œ§ý÷0>\ÙHÔKñšÈ.SÎ)¡èRKŒ³K3IaÌ@Œs/wB0b½å Á‘¾q „e@X­UHaýIC´¼¥.͇6ƒ§ò~JÛW)¥ÖW%!Mxýv¸¥ ¬0–Æü‘xÙI÷ÐcC¼m¦Úö´NÉŸ­~^L¹ÙD`Rb¬ä¢’B›~i¤üˆáU½^7DåéÛ¦öå—Ð’2(N(DUÁO` ©+dgšTTOWJÖ1äC­Ïƒ^E©éÐ(©;Ñû%›@ý“Ùít¿Ü­FM%RùóçîEtü¢Ìç×é ä˜EK¼h7 d«¯ÏY-;øcyvZyêEu¿j¯!1Sí#s#è¸%*d`)£QôóV‘}©k‘YÓ_Lòö[(³žÚ®î»)r¬'ÿtrœMX¤ÌÕvW•´/ ã2Í­h+÷gçÒØ³Æ÷¥…éè©>ýy´m/Þ¼I>ìÁ´ßõ£gS‡ö<þqf¬“ò2$ÁÑ„è^‘ù§WòSñË¡àãÇ™ ézãc°u*âÉN,ZÜý¥÷#ÆÐ•[¹&ù˃¼+Oøò¬)cîw0{R_ªÃ¾®>cÛY=Õ½ßxß< DF×"³)fZ•Î27ó­_¿º;iFLå¦'Ÿê‚µ·ÓÛHƒ=OþcEÄs(5%S) ÄûóÑÈ3„ò™HrðPò5 m3Hæ\¹¶!W‘{ÍHG/²ÒÎ,ôÌYT–EAP¨J ڽߵ`$¸¬c õQÁi½äAë‚ô:P/ £]a~Fð¾gü÷~uu÷jRTŽ›ž~€{ ¡l?tP(¹jß:”q• —Ôùçi=[P¨ Û'gà‡‘¥}çAÁ‚"Ѱ¶¸Ø[9H휗+Í&gµªŒ$Â8U8L20¥Ù«$x5£w±À6|Nªþž*D$m£Š*áà  À>–ó^f—Z#³Àž—K‚év!ÙÛêۻ׆÷ßg°"k·ÈÅ¥`|LÆ #MA³2CuT¤õ¦‘TÅAÃv¾#x±Ã`H—A[ÿ^î͉a"CJüžFà"x}q5‘9jwtàœ×¹› ¦!NÆÌõ·‰(¶Ù|ú]Yþ=6®qwk•mÅ ¼œËÈ -Aê7Ý©ý¥tŽC#[ Œô+¨ôk°JËï_i•^}!@‹ðí.s[°·ëÕÑŸ-) C6D¡DêrúÞ#…ÆÝŠ¥>þ(é‡Gl¨O”ñ÷–Øe€l.d#wIÖ©$Ìi|ëÜH1/Í%Ä›ÑYý‘„E­FýŒõ¿”Xå5zæÀõß‘¹Ý[‚èc˜-á‘_iÅa6È ä0þV™1™çþîÏáo½ä> žS´À”}ÃÁ|‡7|W†Ö›%?1_Z›•×'5°ï!ç|0o… QSªóO¯§¨Mµh}MÒÙ¨!‚ÅÝ4ê÷»»ØÓJYЯ÷Sã(HüTŒèœ:å²Þ·¹âQTçŸ("º4ÏJ'5eŸ j«’¯¤ ¸° YÓ°Ùönÿ§›6žuDp9f‡îE¢rôܸ×Í%OöHÝ.aÚˆ ‰ØÉš„'ü(Ò8|™L¸þiæó¢GÜÔ«u~=2û»äG‚\GVÔæ Á‚7اŒ ”·ªfŠ+Åã¾· ºä[5ÎŒï©ÂÑÎMÀ¾i¡Ï!Á„Èdc–ÐÅQýÊiç€wo·×>ÒNã·¯]£Áê®bF‹ýÄì{ÿ!¸+õ‰`ò·0Xc‡ÕT‘›\÷Ñ­h°nr~U›Ó ’N½èÎâUõMY5°kyš¨©zUÒAäð¢†àøOoÑR¶~ŽU=νx°è—2±€k<1kÅŸ'X…•'E31þÀì W[x|@0ÁJL‘j7£«H€ñJ^º‘¬¿uŸ†›ž„k0ò»Êï©eÜIÎAáE¬ iˆ·ü©+Þ~¥c¥ß‡hd¯îBÕc©-~J虎 „[G“jÇElR ð‚*“§£2°Š¥õÊŸþ#ñ£4Vws½ˆÅîn¨! '1‹,× ¶§ä¦=UQ%)Pª¥ý¥yDân•eôr7}3 ½XŸìýnã}íÛÐþúÅÒ™^§à”¬D (íÃ4±ñ²bà ¸.¿>SqN(bP}Ïø]¢)Ñ#ŠL¾îÉ`b0ÀÙW~<—ê¨ñ‰w`IÁ1úóhr‹Ìáýyo¦t•xþ3¨u}Ö{¹ -MñrÅÊÞµÀX\1uÊa´BE2>Z`¬}x°pä¥Ô¢(îx†p®~€ðá—ýÙ×Õý3 jÏ~¿Åo¶µI¸ÚJ‰Gíô*jWŒßÇ–f¯09ž-Wê&Ô¬´SÄJMÕ@ dæOƒèœ ÙDi€Ž!;@ZYŠC‰Ò›3 àLSbkò^ÙâUv‚, ˜`wjïTqqFU^×f†½žÁœä)!þ»1ïÇŸ Ì-©Ž±ôÀ²:™9{ÂÑè¥^áÃõœ.Ê´43uúíC-͵HÇ’üÒÐy–Æ«ÈMJ ÇêåâDo²‡ xî]¥>õª!e0½ìêÔY/5-õҔפáÑ@7Õ_|†ÉÎyŒìÉçùca¶OBe¼\Õ„Í6-‡Fët–O¸Ó§fµ‰ÊÃ=é~%¢Ò}vb€>jZÓ ”©ÙÔž£*±kšû¯~(¢‚„à ÜÏSûáhÜ7¯.NÓD 4Ó˜4ï²ruW'CÕ§±U:Ú‡¬¦:‹ØùðZð oq»S¢¶rí-íFó|[Ó“Z>D¨}1)–yªÁâ¦aP›Ô:=› ý©Ö<|Dè¡Gˆe%>W£ >2F¼Ç<$ØE"õ­3Wð=ËæPqÒýVkµF+Ô";3$'¯Bö²ÓØ·9 m©ºõ–¥ ÊU£¾°$bFãî[ɼðžVŸ#N1õSÂòó!1øo÷ü‚táÖO´y“ÖH€µ\Ï@Â-ð€ êC!àþÂÛ¶…[ûÓ³ƒî׈+éî‘L}™:©æ̧½*“‡òÑ“ßßTž©þµóèþ8¥s†IJBÀeGÇrzVÆ… ¹Öv+~÷bꢄ®k†S!x.3Cµî30+öµZS©Ü·}¢Rcé}é—`×ÊŒGùO‚Ö]ÂÖØÐèh!Vpªý¡™}¶K]Càb ç5ª«ÐÕ7-£=Z´gCÈQ¶¥W6euè°å•oÚÛy§<gS\ݤõgæ9§ Op4y¯h’À€ØÜ<:¯s%b¶îÖ{bUµë”kÎS‚! yÝÓ½Éý©p„ÏéÆYš…ñ`M¥i¼j „©a•[c 3SËkSÍ_:—7¶¹øÈ>È´²ux÷hžz~ý$¡\«Óa/³1,PwR¬Èê¹3„–¦…Fõ®ž ©‹£Ìb˜sæ×Iuðyñ‡é¢¤,~–|ÚlÄ¡ª ±œøÃ¨Hï˜Ã&a)K$QÒÔÂÅQÿ ®Xÿ9`ëìý<䧆ŒN÷šªGÃTu‘ÓIÔ4š42-µÿTUÁW"§âTÊÖÂëÒT¢ïkKfÉr›I˜ˆšÃy€áü¥ˆy»cœ)9– bÍ .ãeZ¦3C\ðÈÅ  0\ä¤:$óÕуàáYÜ•[»|G;véz¢ä#¯wc³ün ©2¦jÐ(Ù+ÝdTÙüŠq¦ž78h%ÿo¢—)Ÿµ¥×²›®«SÂr0š…1•ëB•eé—ª˜×ª¢MϪw˜ŸÔT;â-º‰½½§.î•íl¨ý#ÿïaÂá©–~§”Ýåvàè7âÙ&½üÎõTeW=tMqj ˆWóBÔ'’&ÙÛhþRK]³"¯ªæ8žÎèAåköÁmßù²Ò ¶º]Š®‰Z_[ŠäŸ!‡šI7Á4myˆD ×nÌDžª¾Qv^qª€©{Lý”7p–2.C%º&ý rṳ̈™gL›läd;KÎùpkx«%ñpî­s³E#kªY¶ï+RO1Z¯l8Řüf©—hTå™~ää…p—ãße°·Ý"XRIþ øÎh2Ë#¼cx‡A9bñ†–pà=åç*]Ña6R‚¬‰^ ,Uz Ö7ŸßpSøp¿w3ô÷,[Þ»q>”Î$ ­CµnMCVÒíuâ ÌK¾­²jB£°Äè” @u39úÐñí‹dUJfy±ˆµ°@Ï Ò±^¹˜ž沈ÚÎyØÐÄÂÞêùó8elhª¨Õz°¢+ƒù–ÑÛù£…u2+§áFp§Ï/ ̨-õ1‚ì¥Çƒ©Í`¤)ÀðeÀïÉxV»dæ]ë9P’¿˜k~+ ê1š”ÓL­v;_ÃøƒÿÝxÓÕüb¾M={X¸à3ü˜†Ì楫‰×>Ö¯BÊôÖüÏXŵ´°™ü€‹?²&0–E¶®†M4rSdc@þa¶Þ„v‘k@ðµ>©¢õ /.Se½ç°ÚónzÝbõðüGY–5¯Ä "Ø;˜x˜Ž”²¿äÀn‡Ü¬;½”‰·Þƒ‰Ûš°ÅšVZëȱ ›ž1€ß%D ø0¶yù[ïŽì½KM[±–ì5c5)‘öø3+6ÑÕá+z ŽüÅåëv¥]åjæì;#qvŠ6d¨<¢¼õ¥nqß³(fzCÊSBeÛp‹ü㽉{µYRÔ\­yªš¬»^Ä¥,4M=ªMn:H|mîm0É´GÃÅLñÅø‡­a†@ä»ÿœ‰¾‚ÉsÂS,ºbð¥%RF¢7I¬~•Àö2Aâ’ð?ùÓYKͰ“Ô;颸!æ¤Ï¹òFåFÿX;‰?=küa𛥦‰\ÙüåQ¬O]²±òüP¥Ÿ©€ÀÇ<ÚÂ> Š«h¹¶ƒ.‡DƒegÛÞGëÎJFl)¿òEdÖ ±Ž+‚¿7– ]Þßï]î[y/íR ŠA?"X½u5¾_UÒEXãŒ&¸ˆ… ëïn `Ã{ÀÈßÔû鄤{› Æ~c®”e“¶;ÈŒ(†Í6棩.&*ÛÒŒsãUƤhoɰzÇu©Ùg;Ôªt.¬¼Ö‡.wÆþ¬ H˜™Ý"nDIb®`1ÿÀæökq´bàûkº@{¨Mü¢EÍa^ '›²ØóÕ ¸JИ^/‘…«,XצÙx¶Üv³Ò4] þ!Öxz&çà÷$üQ;'x÷})j·dÖ>9Nâcb5ôuꛂ°V*b€ý\ï(ìcûÂâÍ„A@R{¦:‹{ó•Ô¦jh%¦§õæKHõPs´¨ñ»¥v¢ùUc5µ‰~‘˜XÒ`ÛË,ìÄKµÛŽ\DÆþ8²6t+*®­ãŠgÙ_õD5¥=†-(¦¹ j;±¼ññ.šz±º÷í6×R¨´C)WHñÀç¥qÛ<×GârloxlQˆ1QíèYB\—Z`ÜŒ°_̃¥pnäæðŸÐ`}މœëq°×Î8å ðù˜=Ï °½Õưà¬ÓäHA%„g`}šxÉ‚B4püt)~#Æï¦¯Ä®€"6@j¤ÀŠÑ:nª}Îã0­’§¶°Ž_•h¡ ôQbu|) Üì„\[aPJ¿à"[Ó+ây„¥H ËÄý« ËÛY ë‹ë#I&bÕåÞ¢ÙIÉÕFHVî;÷Ó–Qy˜‚7ùGÿ)>DqOwïR3ýÔañ›¡XîŠjÁöT)”È«3Ó©órÊÚ óë0@—8x …3¼¨]`—×a6æ|B)vhlv«.Á‰>"¼P÷Ÿ–|^¯°ÇI©æG¤ëšÙ1+‹|ðM– qô¹øÔ&`‰žkC€’f`OÒã:‘Z9~ñ¨—:/_°é–q‚\‹A‹úDŸt ³Òo †€5™Å%-#jhÓ}eñ ig¡%¦a£Ö¶Šs³Õnâ=²Ø½ `»F\9=ƒh»‰eà€”†ÉFÉœ’·ö(Ü­)6Ÿ§ËŸøo9Eój#FºP ÀìÁH¶'þ“ÔšÌ2š¨36Èï;Í'ãß{àußé )Æk<2Æ_ƒ•‡u>ÅÕX|w›yfF^]nÕsÌ„ÞHeï|öK$Ò­·éŽœ"ê¡.Ÿ°DÅFCôV%n+wFꦕ¢{ùË- z…b&(—orïB ¥,ŽF©Û+£ãxÿ¹ùp«W7Æü²ñN¼•„^†›ºI'ñ€¥P ÍŸ;ci(,8ŒsŠæEkÞÛGEÀ¯Cè¥^xc‹—h•HØ8ö+eØ‘<±º±b}h‰les6 sî@›èïbÏs|l‘J;"ŒmWLµwC`aVÃÖaj©eíˆRó)ÏßyâWCuqÙ&É¡fcrÜŸÄùÛÉ%DŸX±] Oé4óªÌ!CµÚIðÑÊkñÿYã*µã2ÁpE%"ßð Í’W¿ãùmÁ‡6Æ„²JÒ+SƒêU¢0=–5éh;ÿHS-䪅+È;¼ EÉs'ì7¤ÅÒïTµÎóÁéð#88ß5o¾¬`‘ü`W|"ø…¦Âd{UM¨,!0uiø¡¾²Ø%6YQØþõúŠÄö€$g}¢Ü‘ñö9_×»`ûÆ`H!Û+KrR{)üÙÉŠ^=CžcgÙ}wüh"oN”KÈ÷äÎrDbÈC FšàÛŠØÏ]21HfìGO_Î{ 6Y“»kú”4_D¸?kaHûvÓ ¦òðÂÄÊ…žÖ¦žc\Ý._,Ë…Ýv®$£²C£Ý¸m.ã¾ë+}¦ !ÙèZû“/’oõÐÂ7UX¿½½©Bqˆ‘¡uq97]5X™]sNÕÂÓP+§Å †d4©ÅºL£®N©rF’èWú‹¸6¥p"âÖ5qÄ?7aª¼\™üb³ÛäLHºS5(Vv«• ¾ý.»uµ”µcÆ øè8ˆ“O/'1Ô³¤‘€;‹ŽðÉw¬=éºqA¢Ë§–¦úŒ3*3ê™cÆ Gãï¡)]ˆª'ofž˜m'гº¿ŽM¬‰MŽSKa@™ÇþœÊä«*iÊèáïÛÇÍ¢XÙ«^ÿ=kRMpòƃýH$Åx8qA¥¸ëcªÅùò%bÔ~$,»‰3ïÐiF•'?ü ù—P¨›Ç‡Kˆ”C;&0%ÊxȧÛÄó”ƒÓyÈÿÐDIömGÔžl€—|<ØT\ð¢uˆݽÒlöIh(í¾u ç|Á;Éj¸ð 3´ÌæB<\ΙßhCüédüñØ@ edM±…šÂkÛgO]öY¨ žlÀ9¹­ßÃSšVÚ¼+ƒy«ûuãŠa΋\WžÐ{±e¬¼ÿau[¬‚u#]ø<”òµYÅI­)ªÃræ´ë7 Žbº­cV²UUúXVläU¡3k%ñ©âǑ˅6kjsA§´î&ïDó.nU7aÞúÁW }7­Íæé¢Y<­úVTÁþ)Åæ@hÇ5Z21§”´âÜÁòbðEz_ën~Ö8T0¡óèñõ>Ic àÈýö /—åxÕxv–ñ™Ù€ç#žËÛ%lq6ðS³öÖÛÙSÎä&¤ÚÈØ´÷^K¡âê(™O­‰êÖä4a¶ÿÝ37¶ÐÝEÿÈCÁiþ Y4ã9ðä1Îýv¹àz9fŒÐo|ù%ªv u¹ô"ñy%ÇÜ"?&Q¤£ÁehK@°F:«XveÿÐôú^ýÿüNŽ‘Ûˆ âùçWD°ºœqºr´oƒÝçzÉíÄìò}5}C ÛºzSÍJ.izÂÿ¨_ÈHÎÕR·ƒñ¿*N7ìŠÇ3C¯¢ ´ê»ÝµûÕ^‘D»…q¿E¯ÐtwÎz$U›ÉÛŠV:hì Šç\ýÒ»YÆåJ=qè¥}b¿v“5¡„—*æÓ"«Rƒ`ÿ­š'Ýæ¦"âílé9ÓI{¯—x#þA¦öÕ¦ú†YR,žpûÀQ…$}2AÇ‚^òV"»{ƒ­%I-Ó èS )M©©È"YîТí¥Uú‚þâÀ‘M™‰¾:åøÕú¨ ŠÉÂM¶Þ>©1òÒ Ûn¼6÷­žÇßÄX}¿#­bÍ“õðç_ÅeY>…pNdi+3 0¬™}¾]%Ì2»…°('žAw E'ƶÀD^.þ›„¬~ð¤Õo‹—%7HfI´ðüºé{Á½4ë“û‘…/A°`’h±dÊt½ ‹½qvàEðz˜ám ufaJôY¦R^LÚ2ž…Þ±³g¸[ïT®=Ô¾c7•)O_’ H»tÛ]ÔšHññµ´ ¨[î7„'öÉCru”ã 0…¿b徎A÷ˆ™¢¯éÎãêBÐah¾¥;W¥l7wµ¨ T4ÎîRÌ©ž`¬= šñEòhG"Zû»Ô-ïWiìïFQ ªAsñSV¦ÞžPRÝ÷C¥ÞDöÊè@šÑ“½ì¸|´¢vô”¿X§¤hJ¶z±)cpˆnÏ‹{gT8D}áHR ?ØdGA“™"%mkÀ~ºáÝÐKÔ·œqDÃl’Úi'ÔªÃ!Ñ51ýK5ãöFŠ«Kt7Fíp_Õ/“Éfî“Æ-¬‡=` 9Ø[h…©þÓ¶œ¬î¾êT>÷‘OVc§DŠUpsÓÁ È)èâzÍÅäFW…k ÊQ®± ç´ÕJêŶ÷ƒz¶5E7h¾Zp ã‚„ÚZ`¦y¨þɸ.—v¾œú\kÄHüxv³XòÚ×¾›ƒRK ëÕŒêK¬»ÃÕ=’ ­W‡©þcŽåè·=³ƒ¼‹ù»²joÔ®"ãpqm'ÜõzÁòý7€­X w+# ”Íbñêìè¾2´ h~›ÄhtWà[£ OšÀ¦,àŽ/êå²ðhwÏÒV$øæ]îJI ðB1Ä 0qý…ø¶Ñ”ê®Õ…ì¿ËV?ò…ö}ϿŒ龿 øí€ÌÉèû¯›½¦¼~Í9©¼œ» ½yAf )î󥿱•7²¶ 0$”æ=zp8‡ŒÊòug/²•¸ S­YW4š<ŒŒÐÂîããä²ÁŸEº`¯´¾š=cº™[üÐ…À ¥¾s¯šD6°Ð ³–Xl X{ðLWÂÅU%Gp¼lÌ;‚ˆO\ŠÐ%Šöu¼ýà®É6„öb"R?q»è¤ úÿDezVòœ η«§±æ6»KEbsxw’»ÐF¶ðqŶœZö‚•£˜ÜS¬;Ƚ†.<·ÿƒ=•:'¨£Ãl¾È›ô[µ§;z¶p:üdÈÞôdÓòñÞ¾I#Y>ÿs¯(ÐêÅ›WÐ1•½“±7Çä+¤@Ë=¸ „ö{=}°–U—¯} {ôh}˜:{´åÅæçSÄç\Xé(Ï[G3 ÒlâÔ£D޽ƒkäûé›»þŒ1ΕfIZå¹7‡/©t]ù—¤4&àEV¥ uº®4ò«.ûÌÔk—a vE›ˆ*‡BßÞ) E7YK£¨éâ 5½I¶Eƒœììo)•@FÓj:ïè–þ¿ó,P¡H¦Ï¼Sò¥>øEèWc ³¥LóÙ“ÊšŒ£à‘g— À;^\TQû’(…Éœ£Ûdú¼3†.:›ªka‚ÂNz=X8©n`&‘) LO;ŽhzÕrá” WE;„<âšuÀ>“¯Žbæþ7 ±Jw°å¦×=2%wí|Y°rÒ@5f ™êD;sÚ ‘³EˆAÿtúdè»dÚ2ÂÁŸR€è¹ÍÔý~™ýˆzuIî®Ñ9x Øöz <ýOQÜWÍ :®‘5ëïÈߥyiº³jWÐêÀÞù5·Iø8ÀQÝ}¾ °<ëÆcÇâwKÃÊÏ£‹äu÷„6–n6¬æÓŠÀ;m‡f GˆÜM/%ã,œÓåaÓ9*h–pæ1‹Ÿg”‡/0´ºÈIÈÀjà†„}?£ ‚ÆÕ ©òrË›yÚpî$\J¦úËÒy)ê±jÓYáSjþÉámýý¿¤§zcKIq|,‹aL‡ÿ[zhÒ„*ŠéT<7ªÿ“N0 ±JÖ°Ñæ+€—É»æiÝðFlí;|n)ä¶ðFû)€ƒòš¬êsG=ðkÁ]ŸNÄ)´À,øf1vì‘SÕøæo*h¤¢üÏ'¦®>~W´ŠðR”qƒ´¼†§úSÅZd¸<ÙgRŸLU©ƒ žšgÈüwï‹+hÖþ T,fb‹ÝIØé¥'Ð_4^Õ¤“mènÜWpÍÐG1’­`Îȧ'ß9€¤°¹[Ȟʜê½s!¦ªá–róû¬$.”ê˜Zz‚þál__sÕ™_Ùþÿ¥ïŸPPÛÃÙ¾ŽÛ½wã÷1æ3…{ðžÅЄF“su\ñÅ¿ÏÊ4–ö,ìŽ}ŒÐ §Ž¼Ã&…ØZÀÚ)ù(>’,¾´}š9Ñ.îî‘¥}½¥t#¢÷]Žª-ÌwÁNµm¥ïâ~—i¥-dV3Ô{÷\& ;Ç‚/±{ÝJû÷NÊӢϑ úÍ/ÇÂù&p¿PåÔg!fœz‹t׿Þnº€ˆ€l$è Ä+¼ÒÐ6éÀJ¾c´‹Ë¤ #0²˜ý7ÑÃR°BN~ð·ÿ_X:˜ E|ÄÀîÓ£¬“âÖîàÜ¢“oOoüÂuåX¥þ>â3qûzCߪ»å$‘ÐŽžÇ‰('_¡©ÉZdaùC,y’Ÿç;‰ýŽ’Îí#ã¼tŽ_ˆTø9:0% @rÝÀ€c]çqŠ”Síp¬ÏØ%ÎdË,tF¯:œ¿ëD²Q7¯t\Б”¿SŒVµn@Ôæ¶¼Ò«K¬F+ÂXjݸ£Ž^AÚ[³nƒQd g­ïƒ…çÝâ·Ù§\ñFµÏJ§>x`™I±G2uߨ˜ÊS7J¡-ß_é´ÈʽË+¬N´VxMQ³upÅËA>ºn[œ}íQdŒâRûÏ´P€‘ÆÏÒÉ ÒQ¶ÚOA+²!O¹ÀçnÐ1¦.xø¸b­ë˜¡“ïr9£0÷7 ~V9HS„þRø)yãEæ„$læ£i˜%v/"ÜõXãzUÊåí:JpÅ8Žý?lVoá¨â£Ïè­oPSc‹%‰šÅ‡pc]%ªU_É$…ådqÝí‡ëåš«Z¬):–ÒÊÔjœïc°ãB¶®ZÆSU­[™°²týH|˜W¶5(õ+EPbÐ!NééN;ðYòˆÔÄ0%'V@/7O#jçŠÆ¶ =@Í;ò„KÉu¿«P2èN­ÕêDÆÅ ÷Ù”„´G¨GhS«éíßЬã/“Ý—@û¢„}•ËÄz¾S/ Š–ò#AŽâñó"ÒÝFæ°±.êïÓsKØãEСO¨HùÕ¾X9û/nÜ"ƯëÿQ‚mxñ›ä@ ‘^fÔÁ´ä :fõÝ=ˆìQãùÙxyE<ïy˜IÅNË»ž¯Ôãrÿå}ò±©gR†b’lzk+Þ¿±Á Lü‚8õh‚uØ„"1u\oSöã[nU¸ 8&.†â~÷Bp¦¹m„*©>œÃÚF¢‰Â«ØãV_” @åâºVN¦† fãÒèP³X²Õ«»ƒ2 霪{Ks°!èàçÏdÙ—¶p0œW Ì»¾Ã}rÙ‡<§6XýŠ06†3G+zä:è©:Õ’h)ÜPd4†€Z°û(7pÊí“ÆÑ¬ÜTާpÓ¸â%mÙý‘ÁòwÞ›á×äz° R„‰¹ž4T~“ö¿•_ShKÂåä6µ­ó7K%DwxâÓgµ2¥OM ÿ³~éÏ‚Ò[á &¸Ùº“á~ê­Gšk¯°hˆ“KW¢EoN‡kô–öB”ýtBVZ­6 B§µé¿R—­è¯©R»í€¼¼²W/÷¢G’,ã¢V(åwñh‡¿L½_môÝúÆ(QÈà]L¿T¡ÂͬÛçðZE¥9]þþ(?¡ƹ¯ºêõ{§Õ4;T2øñ¶;¿©_•½x²— Ì ÌcÎï%èe·hWtD“§ Nlpé€:Ÿ%wZ_p!ó hÕÙœ;Õ§°Ç·Òú[È´òmxˆBÀ Q¸«ù;¯1<˜ é»mÂÁ.8M:stÿ`DäÐF·QßDxòbåED35Âÿ[Qøq£nÈFŸ¥¡‹F°Wð‹Buöè£Àa¶#’Âi2ç€Ìxûì°¶¹™Køt«ñ+ô¦óüãäâk=8ì¼t!¹CÖ,Ÿ~($£ýàT»j[†6käÅÞñ}Äó´XTôéÇ«ÁS·E:ê—E%lÌoø€i!#˜2©?ùÄ\̵ø‹Vùläjñ_cÚhiÌåé;lP(¡‹GÂ&7 °ýý·•2¿Úü.¥s'SœÜÑ϶ãúõ«©ˆ9žíPÍG1´æ[ Œ¯Ëë- @.ͤ^רÃÂ(íq/H±JTÛ"Æÿ7q‹cÍÖÖDp…Eº^ꃂò4üaÉШlÁ%çøÏ9iÉVT'y¢×XæÁ«;×ówñK 1I+È\zt‘Ø{¾ä›"[xþb«A¨_…úÈÜ0bŠwjé"Æo«S½,=dM±Ò!=ÇávGÜ&BŒDEò¤ LôæiïÆ7][ü'0gàeõæv|òp(Ÿ"ø€FÀs¦¯Õ¨ɦv£çÒŒ&Ðæ°Â¨d‡‹Èçõ¿ª¹‹åÒ5eƒH¯£lq86È9½`PéMűDjÃ=‹ôÄz @^×1öÑÆ(Ï–èb£¸ñ‡™ ¤ýd°dçMRâêM<‚‘ºU(k’:Ð_ NW¥Û¢'½Cò{÷WÉu¯)N1ÜÀñ}å®;Ž¥°óæã€{\fÊÓ_Ô™²¬+õÀª×µÅZÆä~PJ} &ùbZÐXž.Gü`’Îò“!›ªŠß×l/ÊVúiT/’ñ=µfæñ 7‹¯‰È,Êéô"¾%Ë^°2$_QS¹ªúé¨6‡bWÑÏó\®¿\L‰7Õ—'³÷P—Zenª®áqXòHæÐâ{uºNß»]¯ÜêD´4ð ¯ï±ëø57¡Ô5S˜\ÔÀH30ÒÉXMÈ[ÌU ^vá¸Jõ¢E1+œÄxöwéab‡GÃcÝeBÕ ïx¡öciŠÍ,åäj愘»À }_·s³ž@°w! ‰Ôy³È-ôì'ÚéØ9<$F›ÕD-ÓÍ|F$:BH9UZiÊ›ÙF½ÚÑ4ß152FŒ_Ĭ]`:•~§wþÖeþ a Ï[eÄó ¶Ænöè"ŒjÒ2…ðfúæ¸ùòPƒÝR®Þß1á-—ÿhÈWÚ«œ º²ò÷:¾•BEšòd+[Ûa×Ksn®¤V`7ÕäVúªØrü‘Qò§}J…F­DÆ3‡÷Ö)Hg0Úå ½¹KËÄ R¿:•Ô‚ãh¨¢ÃÆç>X Ÿ™oBš&@yk‡ˆUå{“>¨†m^X’áŒZ<ÏÞáÆTßpanÛGEàHôõN+yô͆ˮëOÙ¾)þ±õ&xbê®.'ÍzD\WlN íï ôÚi2–úvAl ¯Ÿ%©ÕëE“œÎSY°Ì[ªç·–Fž-ëE‹ìlÝøJ¤ÿ»´¸§©ƒ–á)³6‘z§[e·2çNÔJuÀ™(úÔ(sò¼×/ãQЍ½SÚ/??P#ßë‚Îu¤˜8ÇkãKXG¹Å4d[rÉ=¡¯LÓ3ªlq7¢«òS×À‘¨Z –Ù¹ãm³‰¼Ý¾&Ÿç¨.¡È,·‘QUïÌø9Eq’ðXŠQg+•u=9a7Õê´¦ÕiU±çs½_Þ$tZ>ír·ïÂÃÓwôSì–óÍ&ÐôKähŸKô\õ€v>ëÁÖjÈÝ}úë÷\’ÉïmÁâ²aÌÅò#NbÎïÓùB«³Ríº^‚F_Å4æÍ‘ŸP*¼¥OxÉEª'+zÚ$/ÐÔtQX± ¨¡zOX3„,jåøÛü$)Á*fwÆŽÐW7Ži™í—?Ͼ¥›Õ‘ƒT«¤²#²µœ”~â,’ ¡·P1°AÞò_/^bžÎ¾UÅåÐ×YÀTÖà¶(¶ƒ.´ËŒm éœjù,Véšßçü{=Pr—|ÅÜX¼(õ¾Ewjà·±²ýÌiÉ÷ìÖjϯ•f*Éï‚Ǥ%³Žøýû}õÖÐ{pÍ.#wðhk¼ùŒÈ³·‡>ÈJ|.ŒåÅ+gæçaª,ŠÈ&oí¡/± n«@Ý×Ufø„î(×l(µE6¥~Y¢)«Þq¨ |; ªå —üKŸB}‘å_ÿíKnËíYBGƒmØÔ ,«•#¶QÇï¤VI ™@C·xn’ÂWºuÖ¡kÇ@N[Ê'µƒ39µlrÓCå9•¯‹1ý°ƒiëpîE÷2è´ùÁ’Òâd#¾„ÅsVp#nžÕv¶_ª7œ¶Ú ¿Ò’5Û‰]`TAµm‰³!Êx!ìâíABEeÖWuéHmÂPt4âËÑÉÕê&¢_ ‡£/%ò„€_˜Nó!çÐH0G‹Œíÿ³eL¥ôbpü½ÚcqØËŽ‹¤(óÇ_¶¦°AÆõÐþ ìnÿiÙ+å{éòÄSfDîiq5MÄ ?ñh[%h*M^áã@Ý´Í~C“,á ù¥‡í1O—õá;Ø¢©6ìåÂ3m3©([<ÉH ›:Wi§Äì«–êvQúÒ¤a‡‰À²I"bõx'A€Ÿ^}=I}¤»F‚]WðyÌ)ÕÐÅCÇÎS°ßâ©·SËÑÚe%I´/Ò OÈôvJs1•`Ú惼îUžŸ¥FŠª[‡¦ó!@wâ‰yI¨…-fìs³ÜUâQ+qD´†w8NÛ0´áošÿh5›`1ýåþ›g yñhk âMLéÉJaéZ[Б~Vv“5’ÚfïÙ¶ÿ¡ ¾cà–7ÈÉÉz ¡„[›Ï˜ Ó–«S0kòßd)¬º‘6„¥´zPE#gèŸ5g:ù uÅg§“¯„RÐ2r“IbðÇFJRX,nBa»|jW‰×™¹¿©;¥9^ÅŠ^Ùp_üª„6Õù1>òªoGÂ
Ôù®Ê®ì‚È|Ä+‡Ó:ô/wMŒ$ìš%ÿL$vÈçÀ™Üñ†~ïZ…ûˆS´n¤ú[¿\g£·Ø+_n©–>xI-„\Lç¨wŒVÒJ¡ Ó™ÈÂçÙO],ràK,È¿-zqÈ¢²ÆzX3ʬ&-4ªk 9Óef©^©^ï Â8MºvÙ`,Ñ·ï˜,Žm¼¡ Ç_ܪaåpðT‰O‡©ä—y9t}‰þŒFÖŸµCO¾Gÿ@„}Q¼=ÿ"¼AÑ'çà¹øµÙò?6mÑ$h[CR´ £íëÃ@r›¢BRY£… sw˜–ž"¼LY0ZÊ©9Š÷êb”*à{(npæ‘Ñ5‡¸yQ\ÓæÔ¯Í;S«´Â/ñQrÇnüvÀç¼§”Å®×â@g&©é!“šUu1>‡úvÈücNa~ôÖ¼ñûGÆÓ²²ÖÕÍáªïÆ·“:Úæ\½_8e<|%:÷KŒ¥Øp› †ß䕺1Z¿ˆÀ¥Œô…†…À1ÅÚpá“hYt8u€Ï_Ó‚3 È<9šóC ï¹îTÌ$vÆÔ$V7U£…rWÿfÒdüdoÖ‡,1ÕÛF‘¯òrkPtƒBƒÌŸk(ÿÜlûxõ>6 I`Ywƒw޽y0CÀÕÞ& 3tç9>…Î×É꯮’©a5ˆF)%# 5l«¬pRcÉ“¡,|lÕ[îÊÄxúlóøzâ)fÛ¶ß~Ü‘¾Öd¦‚rwå4ëÑùJæ`K‰ÿ LXOÀJ€·:›ŸZ/”ˆ®ÀޱÉ)7¦²3Ô`UÉÔA§ ¡¡ª(ì® †(˜wŠf[{üJ­[“‡:¤9ÓëÌyµ¸W˜ó›äQéÔ(ÎGÖ¿ ¯¦³¾°·<à ’”ØÆ¿ ¸d‘×/Ê{U¡ÿa¥Í)O2„Œ@ñB*z‡ÆžU˾ jÝ/̴Θ(=Oq]‰6™Ý¸”þ¶b jaçLh£Å&˜±F–±!Š'Žœð\œï>vt8úò’Eñ)0®æ|šÁøv¡5$½Xßêsòs<Ø‚ùê@?UÕ§ˆÒú³°$Rq¬¸ 4 Ï‹`Ž=øy²èÙÂÕ¥Cýn@¹·Fº{Sd*Ÿ¬5=! ‡·µ’)9¶¤÷¥ÇjIÑKuáÏ(±BÿŽV€’RRŸõ<^¯£a @E+„ÃéØXT·ˆ·‰1^~06ð[ü J` ¤àgŠ '"Åó›Í´VÉÍ+ G…s6‘¼}P+ð‹æËS÷®Kk¦Ú‘ ÷ôkÅPóþ•R<äÔ#󓪨ãùþZ‹ÛÞéýt/r À}eä ¹™ ü¬Ê¥-Åb8àÑÃËÃ8Ë”~nabÇ#91^A·2Õ¤M€µn2Þƒ£+<Áo™ó*Yç¼Q™­$wõú7Îu>vjëq)2ùP§d6Ïz®vhM:¬jÞµ»©Ò£ÊòøŒñ†5Ú/‹ Ñ7È?.RXNÜë—Ö¸;Ÿ`½Ë|`ÚÔ)¹bï늴 øŒÉ)¥­ðë4pHgk‰=l·»yhwOšb „þjð=&–…çÁ¤ äêG$ôöƒ¬ýñZèòjo‘·T4QqY49i×¹é&ŸEnLÞÓ©Y!7Õ$Ø-Êvüà•Yåý%„ãæö'lÁßsò::…)*®Ê‚Ê`à~?—†º&pl´^¨RCÐÛ¨üR]´¦´`û‘+ÿj 2&c ªÀÐQæÜv”:¶îµ¥Á"Q]€Úc«yÚhV’ ¯pîàÔðÆlŸ?¼J n­=K¦%gu x%ºQ5Ψ¿bÒ‹šºM Ìj®„ú( ZxÝexေM€¬Âí¨5¥õT!õ Ç{’4•ìPÍ=D(Zî•¡»mí|U] v:GUìTÕ'‚•a>/§ì,:£=ÅÇsú}Ý¡†çÔ üNÀFÖ@7#ÇùøÚ»d}ʰö „JŒîn=Ì~HÄ ÀyÝò=ÇŠ'œ*ˆiÙÈöé‰Ïa¡Wã¸,z½85èÏø›EóIq4›zõ!]Ä\SEcA]h:lm*+)tˆm^3ƒÂ1,ªóÎð´ˆ>k5S“A[Þ Á¯åÔ¨n¿Í˜ýtƒÔ¯³Ÿšm”3Û<…‘¬ÉŒj:©çŠ„ PžÏ!ŸÌlž~ 8 ·¥¦ÅLTH‰«¸}°<(AßÈÕªü‚hÅgå¦úgOYÜè:}ÐÉš]Ïj¤«ï:‚”t¬Ü‹}ön¶5—Þ1Û“ c؉Y„ÊxµwñfP`<Š _{"Ýœ¢ç @!¼\H¡n…JŸ´qê|EñB]JC”^ØšX×c„³ÆíÞμ £2ÝøR·’ç5„¼â¥É¿›ÊÂ}«6Šöuˆã=|±^b‹˜ûúPÿ‹™þo´œÿx0Ù\PUá2&„:)˜g×µÝhHÊæeRŽ¥-ûö4ì!ü@Àž°n±Äq¾MIf{ÁWšX)ÓϪEµéÌ¡Á¯áÅ"÷€w·frµRdãõ€49$ÀMÊ¡FÊ]W®‡9J•¯4e}ÙÏSáKþ΄lTùÄg&if¥Johö£n)§lí›Ù×jœ[‡àA\õ8סÉí ëG¦¼& ºá–R²×¥!ÈŠx˜dºÛû†˜? ;»K5u~ßa®;¢ü•Ã%j†£ŒåÙÓ„D úŠ'3ÉÝkÎNYs3êŒÇ´6¢LY¯BŠ\A–!!„%ÑÈ „ɉ)/àe‘žF; )Þ%Sðô^MTÓC\Ä©¾ÏQ»b?èþì™IλOÊüâc›ÔÒ%‹Û‰ž~¿ûb:iÏ'òp†°HÎæÙ6×eá!±nërq‘,Ø® Ôiá|'(â}~ érýrÜÍÞþky½e1~8;ÁôÕ5¹É¬‚7ù¸I§ÊÎ-ßX“ˆ KI£ôkK$ï+Àˆ©#Ÿ@+•íjGÏÞ‰ø(ÙÁÏ[iQL‘1'uã{m‚Ѝ?²ye“±l®Taåvç6ŒC$æœF:;U‘)SÉ{Òó¥g;þ|Š·xüÔ×ÊÊUUŸÒaCz^áîI;·M‹¸º˜ˆ+yÛêP .»_y³¨v†¨;¥Êo§™êŒc/ypx ‰K˜"?Û,tœd.DTéGÿ e¯Á†lÿxºßþòåä× _pDJlш"–U™îÅ¿y* ÇÍ÷KjQ Ŧ íÂßDHë[h3j{ÈNæáÙ°ì:ëÅ¤Ô‡ò6\°Û…!xV ßû^JÌ>ÚËö„SxôA Ù³Î^+²yk˜ë*RÀSº2†ž–"jA83®®‡ƒ¼‹«FÞxiÎÅ?•§ãï™+‚ :ìQダ½`ÙÛ<ô¥v³>+{Ús£°Zãqø:¼×œ}Èzh2yö"ÖÖGvíÓ9Á¾Q» Cõë–|yï 8‹6%È~ùBŒ™Úd°€Ð.ØNÖnÙ[æcãðÉ„‹(áBXgÞŠŽôJ£pÙ˜ôÚÏkׂ•sRŒ¿0iÞ}oí2t²5¡B?=ÉF#œ®žûWÕgþ ÅkçÖ¡Ö|nxŒdºŽmbŒÞ¿Vr7mb•¤HyL6ÒÕVª©–ªFÑŠŽ2~Ï`åþÑ8ý¡ˆHüXú1P«ºì<šÛˆ«³öKi¿ÉýƒºC¶ßf稳NóŒl‘ñng`¾ àß{NFŠSeq6V5ñÍÛ0LÉ ÆåUá±TÁë :ÑrŒ›ÇéM­ûf0p÷a®ê>ˆÑÓ]Ç«‚Y£Ñ«¬çzɱ!Ûo^èv´±ãÉ|ÃlS ´"Ÿ£|ÊðÑN¦ù?É—+.•ŸßÝZ7»™};4!ZXxth[•*¡ug°)R„m€iééµ]ã+*@ª9pÝ•ÐYDÀBÇ¥i‡†ý÷`5uã¥X´ô6F‘²5 Á«bŒ$Œj¶“+t>£†±¤è<ÙžrFÜ>—Ý:¡{£¬¦eös›ü×5&i¶4 z{”ÝP'~lÉŒÁgoS¿õº¥™b¤.ºVð­„njFœÿ}™s)`\Y_w¥õR_µU70Û索 -Z„Ýn_w„K4õ‹n-û{ǽ®äÐcœIÏ /&SþÊ{a¿BÚÊ`~ò¢”½ñö‘}ïm´ÛÒx0d·ï•8Õ9å"†šÓÀ †‚ľGé–Æ½‘$T@ñ7á;ŸEEB§ Ôøj· {óÝV¼geýsg'[Ã\ŸÒÜH¨ÈÃëZ ãň#×Yª×‚luúÜ"t[Á}œµW@… Z:.w¯ÕÑ‚ÀH¿7κÇ×ÁF£ùرnÄc¶á’Žç1ö}úCmƒ®_¤Í§6‚ûÉz©‚æD’ g£þ0GÄ Øš²W5áT€Žÿ·²†1ša‘SùR“¹B¯º¥Ÿm˜×CE&í‹÷¹Ÿ+Áª[3=ã®Ñ©7¸8°U ì/LåQ=w´‰Š°ÏÚN>E‹º8ˆvþ>¤yoˆ>}Rt}52_º˜*Vîº\DùhG;°Æ„Q‡:ÐÚI$¥r¥\ÄÖØ:†5©ÔQ€cü/âúWÑD †ý¦bÄS;.Ÿu»›™ã.»j(©†2&8ÒúGÂÐ!Ôó=‡ÚÈ)W¯_¡°Ì"ºr9 3wš^;Ø‚-@Óm)d7&]‰Ž®Òƒb¦m§F y­ÍÃb¹Î!2ø2š€,1Úi¡X]5®Õ æ~›Ÿ¤Ì;*Yã+|”m.§ÒTˆ\Ö BË™äµËqF¢{y£x®"¾Ð*z¼ éÑ»V6Èc Ú5Hü´¡¼r;8SÁDè¾g««‡`.´D¼Ô5,œpÎæ]ag&¥í¸¸å„fÌÕÜ6„n6& åVˆD«LýÅüÕ©‘oVšû¬\—ñîéDèÉ[÷û:HÄ eM}]”›„ªM}L:×äã™àAÍUz6jHI¤ûÝÆr§OWiwâØ˜të†ÈLq`]ÁöýNÝE¥pX­§™°]È”îrQ53 •N¬W=óvÈz¸ZЂ¨DRJà;퇚½`•¢ƒÁ„š¥Ô 2J_ã]&ÊŽãAM$•î,Þ]Ö¯7è ›–G Vœ¤Í‹ÀPŒ4x‚äò Å¿/#EsˆÕKå°qDõsh63 d"¢^Ð/‡ÌÁ k? Šp´n­S3;üì%éª0ÑÓ}S£U[D¼ÚLJ_Ë»eN½÷œ‘Ò1±±˜RƒÜJo2ýÏÚ–°ª‘¦G׬ԡqÖP(ÕYÜMî´fb´ ù´Ãõ;^ë@ÒLä4ìV [mÇ›]1Æ#ìðÇUŒÁ殆ÆmÓÒE@s>,™¯ˆè.Bæ"cóÃÔ¡ ³¯H4Ò>/ËZ-kõ>„EIÚ ±$?”´Ô?èÞ‘oнr ¶þè»R©s|ç÷´Œ¶É©ƒÍ¦~«ÞµZÆÆ9Âøðå[º|º+ÉÇ~ë“â©o+1< ¦5ôÿ_Í=rñ ÀPú(”Uz)Ìõ²EÎÙp-s—›”†$u;d±…êƒ<ª+¸óÜ€óΤ´EÛ{9 P Ä»QµŽ>w¾§/='_)¡Ñ50ý`iú_öýj¶8‘Œ}:`ËÛïODÅ·ˆ}¹úÙ$mKÂÑÖ­¼’¤©î¤ü‹Êç/ùÐÄéзj¦Øº€Ü(О‰Õ†ØÃwnŸÂ•< ÝÿE.Œ#K¼0*© >@ë´"­S»…v-ŠâÝ(渠Ü$z”Mß´età„ET‚ià ÿÃ!1!€¼'\mÍž‰ƒ ,w@º³<ᛌîÿ‰Á’LýØL|”€gfU¦`‰ºr¼ó—áÜ«rÝÏmàmÁêKa¸ '¤¥Vª¿÷=4zÀA²I…þVLÈ^«/Öh6÷'›z'zy¶R弇Šs>Ny”‰›ÖI´õ'ÈŠï>‘X=2]¸j\ÁßP·q$ƒ.iÖÖö‹i!ÇÖrMY0þ 3õ @¾+fü¦ž1–¸>R¼ÿ<–£Ú#³¾ül¾é#1ÏÁ7-•¡§³à:Ê=},Km†üŸÿ!ÜÐjs‹Ðí~ˆC–5ÉJÆä:ÊtðÏœqÍ_g@28Â:Q{ëÙJpªêw'2»"„[)D±|ßÁï& kí9üCב‡„lµånZ¯Ï3mEyÅÆµØôaÇ·zò7üu/") 0ïì8wƒF5W܆’Ó°Ub÷†fçÙÍ KIܨ ^—Öl ÛÓ7þ¨—Ö‡‚ýèXq‘1½¼P²,¿.e'½uOE_ažY®ÌGJÏÀv‚e1¢Ðø9„HMòòñ"-çaÁÙM¯TªwëÌJ¾#I ôü½QÑ€;; ZAˆ=|ýÒÜáQÁ‰æ¾ª¸‘T3 ŸJÌF6 VYUñ¥35¡qñµÙo!— ×¾kîÖà=³j4± ¯da„Œ²ÔçÝOt~^2VÉI"+"³(æÁƒ—CXϺß<}ëš}UsøBùPÚŸ+'£Âû¨±ÿ¢ß³'Ö‘eI‡hüikýÔÔÞ‡gC‹•’Go…sð}÷tµ‰19>7Ûûtn¯|˜¢OxËl±ã¾¤yr{¾Ù¸¦CÏ2tÖtåÎÇ4PÔ30Ä 8wnŸ×b³¹cî‹z°m„q ýÛZTuJŽ”|‘pŽb›mZÍ8÷v£jìÌÍ–h9¸Åðg'êöœŽÄò©Ïix*ž¸Ž’€þ¥E‚í¾è,öÛ¤iæc‡…ÆŠï_•¯;'GKi …ø¹`Fn;¥fòúËøe¢éœi ÎéÀ%˜eÁò>­g¯f;@kT·¬x™cß,ñQ¯§ß:+oAòqTÞšù¼ØÙ#j%ÑúÞ7ïùqH[gh[K,bÒ~åµøWb§lg7ßÅÍ4+¶îôfzš|ÜìÔkâÐ3‚4û¥®Æ&] •3‹×îl—TíBmt€å”m)©^K|^5ΰ¬Åƒ‘–&…a:=ªúÇóžkÖ÷sÝ!6/¼a§d9æUÖ´(Û±µÁ•ô]›šÿ —[©CªØ}h)Æ*?ð>¡(Úh+1fì`¦᳨"F0?¿ôo”ŒoÚ˜(vÿ¤ˆ)£/Ï® ÉÙNa‰tv!˜¾Ûjj9š}kì.Tt#`pŽŒ¼ãÎ⌓}O|2,ÁàÀŰ©ÁÜZWì•É¡”y‰”\æÑÅ‚»Þܵ…Ô50C5› ¯TZNŠÕzÛ]‰H‚]yšÂA4ˆËkÄDKPFúBàò]XvÇ"wR–Ìn-Œ„¢œÖnÖ‡ À©…Ãa”´¼9Õ…ÃXóp—åTޤi =ÀÕªò ö`a/ËÈ¥*¿žÏvVµhÝ@ÿ&ã)B/#¹~qk•…œjÇ ukÏa«Æ©XÐHÛæ@dÒ¨Œbš«Pv„.oÄÇ Ç`§jb xÎîLùko'X ¦È6sŠ £ÿ‚¿®]ÿÉÃ6TøŠ} +0EÛ¢þÀGòC^qN„w¸ÞmÈšÆV¦Þ]~ÖTÄ~bñÕda|¼\ËÄòì;¬”‹V|CW•ÈVŸÆƒ'gRÍ! E𬻕¾‹ËÔè«à–£~Ôð/žŒ@Ê×´GEbkZ¥ÎÙu‰z_‡·ITdÇlRôj;Ѩ­íxÒ__/>¤°Áå}š'´‹Œ1ýtÔÖÝ7"ŠªÀƒá]ÂØ% ÉmiôS؆`Û!ŸÖƺH µ"ÌwFïjš<ïwžË—Ù•ØÑý—8KM¨ÀË%m#Bq›1²óq§+' ‰•®³¦`P:’&J‰ãÁ,].ž»Føw µ€ÂÎ]©™sö&-‡`½£Êˆ0¿‡SØÈ¸h ÜZÅ‚ñJPÔišl­<¿ã§F.‘èòý¬by_¡¯N ¼0z`¥^ò+I3 =ri A´Ê‹Š’¬ø¶ø&³EÇà?pñGzñlE{Ò¢V¿l¹o¶/±fÝ‹¼{ðæ£èˆÎß¼*Qÿ¢XYÒôõ³î•Cdm|=ìl3²œür˾,v,n]Ý.2ÔJyVþZN} Û›J³þã]±ÁêY<%Û°?áÆõºaÕC¼p4L›… æ›M¡k+þ:0¦úðYªÈ;«š$¸wÛø¢„ÐÎO ä¿âÏ8fœ—ÔIˆ £–þ¤Ñ°Ê›1VÁÕÉö»&ÕUFºÅ0ÄøHDtX W?”ÔKEcÌBòÇ*t!><" ¹o8Á>òlÃÛ¤XD¬T›ÁÃ+{±GÓ߀8UQ4ß’D¾Hø;G2V! šáãí59aúJi‡Dßh¥'ñ‘Ùµj¸ýÅ øåïÇWôîŸ&™—MQí›GZ>D-þ «.ù²Ük°¹“…YEm¼¦x&ðt±­ˆâ/|0ÈuhŒ/°"Æ<~zþ–…<:4tÙá¼&{™ nÊBŒjCõ|áH£¿+×åÎ/JÂæea6ÂvûúŽhATùË%S°0>^©<¿à‡2”áú`vã°‰,}´2X…ûæ¤÷ØßÇ>9µßãáqbÞ¯¦qëÕ¼wìNÊä.Ï]¨‡¡fȦˆ³å\jÜ ¯7J•Õr"|=DaãºëÍYŠuÀ¤f¾bNæòѺŽÊn¼ð/¼AàŽ ò*¶HæH¤'J" ‰ï·ï\´–f0ø±/B™{\/gJsÞU± ªZä_llŽàÔÚþÚ1Š]”hc-uvùù7D,Ü´h'á\’#MO‹/‚æ»Ë% ÷Ç‹e£‚ßø‡•OòKŸÞ}ÂmvkWzj¢Ý© ©…© û†^ƒÍ•<'xÙGÈG\p:çÒ{Ç¢ðCÂa·|§ök°;Þ„¿UxéºE”|,’9*R{ö/ë¬\ÇŠa ¨·— õ3J4xk éFõtT­ ÜÉâ^‘AùfÅx˜¾c2ú´ßvšô ”@,W°æ‡– ;nv|FцçUÔϬLRUž…T»=ê~ô³ù¶æ†iCl‰Ì”"¡åZb°×ýµ»ðüDùÿ-¼´†ª™nô't&GOö)M½fŸðÑžz~£ô¸îyçÜGñÍ=^¬û¤WØ"+^<¯r¼B :ÂsõzG¥:?µ³Á&cmªµÄ `z›3pÓùm,džI ž}—ψíù¤Å cæ„uÅt5ç¡âiÂü» OÈnË^ŸvW;¤büš¯ùLQtÖ•¸ê')Ä…F„…ÔQÿð< ø´£É3úSw+ezÈTòê·?k÷¤/ëí¢¿>È”šÂGhh |¶£#U‹©¨_X½N/¾ u¥J]×%÷Üžq³lU$YÈ(‡õ»‹tæuãò¤Uç<ëÒUlCÁ¥[M]t]+uÿ¥$#l4…ìÊÕñ2i›“ 5/U+‚nyÑ££K5§߇Ŵ4jÿÂÇp‰öÀB9#¶È*õâƒØØNo¦@`?Ó«G4@Ùvïå›í®Ëï:ûÔTc"§«ºçÁØ»bÆQÓvƒãåðØ üÑ1Æz¸ÔéúI\Nþ»TIÀáÞ¨å¯ ­>_Z–_˜5yÝJ"ä¨YÚñ±ÙTñÇ’þp¼Sk=dQù·DÛ3$ƒ,&}_‘Áñ‰Î\òÒ)þšÛ¦žÏ~k!6~ß=´G=vBƼ÷ËÚ³[ÆÀ‰o­êù %­(9KKÏâ"I¼ÔfÙì%˜oÂŽÑiÏõBUìÍ´Çß y²êÌ⡲çR˜Kkm)SéaTMø“ÞŸWU•D¾UrÚ¨ Z#`£|n™) ¥~ ôí[ ÑR§ñ·{Ï€ùéaÅç ˜^/U1¡Ðŧj ›¸“ƒ¿:wAÃPij¬özl°eñÏ/“…~§@…¤èJZ"˜!¡^zêr¹å >kÕDÏÀÜCFϺ÷f—¿©¶c‚\¼€¿ó±6 f/>¿æØpƒ&Ð ØBt‹^&¾Ü î³HC‰©„ßÓôЦê­mðÇ&ͱ¶Ä8ñÇø©ç§‹É+“GKÿÚXÊJty½×L"óã$NŠBÂ{œá()sÀjÀ1Ö´¡Gº{”Ä žEbœÛ"aHóêÕI7Š&‘ ¢£åÇH^÷óž0S(VA[¢g<ß6Yß®©ìñ 5<ò°"JcW±p½›Q¼ˆFÇ—KO t´v_³ŠÃuóá é²ÅU üÐ"þ@éºë„…ç4u þ„#Ø© ѽ¿üµb6Æ‹ë`G.ŠzãùV U7¡÷ j>áW»ûŒ€ VJ–òyN‹_†HSÅZóáèÏ5Ê.¾$vù4Ù Äqä’ÎP lWñ¸ÊD†ú¯ŠÁÍàs-ž³SH…JhŸdGŽÄ^Z)Æá[èroó(`UT{œŸL,K\µyãlÑò^‰7a¾°ÌÐ6ät ¾ÇîËÁ‚'šíf©NË®§ZøÊGYv§àé1®°âW©Žgn$ ¦)AæÀŽ%g?Œˆí~0Û6nÎ(mĽ-±=Û^yÖ2ð.3„Å,ûÕ.sš|ÈÃÓ=(([«O]ƒet¡“¬¯¯üÆÍÙ'´ÒÏþPë¦7ððÉBx°µ¼þÔR¯T§9÷f·8ÃiŽËØrD‡Sg% ´"­U k´wÁ¾Œã?70B½ÈMÉ©Ð}¡ ?H²pô»½µ¯†‡ÅêøèÇ;˨âÅÚ¢Jð,!§pÛÙ±qàx»*¾VÖ$RNnr§×ÊU&ÊWÒ®²Hʦz,¯>:")Þ"ßíHôÉ îçUÀÞRô]Tpç–Ejr6ÖPÅt,¦0÷ÐT¦ÖBgØr³/‚Á3[Äycm6ÑÌ2º±z´ŸE†š^äŠJ‰Ñ[^¦øðíÓ¯P=ü—ÀA&R’ÉûöT!Wf×–ºWí³ª–³Js¬ª`—Ñú÷jø“ôµ°½½IDhÔ˜gë êqË?‡ãÅ- —lâ%ÍÏÁKÅ‘Óh“ZöØ&Ö®ý‹˜;”âµbù™A}…Ð=J‚þZÉÅ i\©ì†Õ@ìjòA÷ÀÒc—Ó^³5ëë'Zs÷°Ð÷þ"£Zï©ÃguïIY9kÉÚÛcØŸC]¸7>.£âüÈ£’ ÙU€Tª¬X.&BŒÒ³ãõÕ+ÿ¢õh*J£\”D:™!?Ï5ŠørßYvpš/ïž$Îá§'þ(f“z7xN!È5tt£ò ú 1È«a§ÓT)ç,6°‹sY%^±°)ÆèSñÖñdD9˜ik†#fÃvÏøe™˜Ùq‘·þà‡¡¾*¶Ù±—ºXƒõ!蜜¢Ž{ýÛÿÔlØ<…˜WµhùÞ2¡B¦<þuJå嫌ÐÍgùUž<ÓÓ5x†ÂਇM¥{É®æÒ„¼Ú™ѬΠ3¨+ø‰èùùª[ CVâ‘ÄÒ¼Æ3Œ³æë:sŠî9².{–Á/&üã €Gò}¡9ßSmÆìi‘AŽ˜jµ&ä-áñÖo2]\ O•[Róâ£Ïn09/çS„ ƒýÞ¬æ˜W[g2VmÏJæ"¯þU¨{¿Ùª¤Ö fÙ†_ã³.Öºil¤¾h©§º>#Γ$ªØÏ"Z¾ªb¢(ʜך¿,ºõý—šœÔûL½"0ì…"Dß2㔲[¼ Ö >ß…&¥ TáÈv߈XƒF©Jß:}BÆg':‹ ïÐBÆQsžx^Àù5¹oTnVÁ³W¼^e¸z9 /Üî¿å»s O"o½È8ì¤-—5®]€/_wz0â~Ó$ÝOà4¿Ù{’cÕ ¤aÞÎ<]UèwÑÚsFëÖC  ~ãoT'Ô›ËõŒJJ¥º¬gKØy ñ…¯ê‘·0>KFÆñÿ(#ìtÐu 1MO8jÛ ’ÓA$­ò”]ðUdP‚ÖT€/Ulm‰›×T̂ԛ¬+ÁOÚžò¼<”s;•ð:Z† §…îŠÂ#3Ã/*$÷fºÑÀ\²Ôz¢®&ÃÃE²h±c!L“SS ¶ïU™ðIrðš£z´JèÛ«³['¥Pì?[Î1Z F Y"ë7nPnpK$Ôb†y ö’!I{Öðx˜9%ēƒì_~LeiY§šþh™ülƒöî—€½a’»°‡¾‚Öh>ÝÌDmsÙ®ÝÓëˆòðÃ`Tâ‘óU|æøÚ=®Q>Ay&Ñ^kž®ª³0±!›ùÔ§µXÄ!æ‚"8[›*‚i™˜;8\Ї¦XÇ¿¥°ŸÉQšv€ƒÆ/7Ä{öÄW`°ž C÷tôP‚¨ŒIê.ȈHFÍTôV.ê.È]ªi9²Å"~ÎçžhÀæ<á3p1  ì/Q #Òó®[°ôùñʺJ²¾a¨` —ˆt3q r™7îÍ_ÎÌ”êâWÄ*ÐG\ž›nßèjYîD¹r°+pçÓö~TÕOÓÄ (®-3fW=6z,*¸ ·0í‰óâZÜψ.–Ã÷‰52s¯ôa¹¹Wœ°8Àû—#k-$/.ÇòJƒ‹µ'¦Æ’±Íóf¥Š¼X |àeiöíàza§–KhâûY‚5çÂÙHcÞŠ§ƒC}anwµ;W`"ÞÕ1#ù÷ãê8ŸAúØ‘«Ç½÷:IÝ9(àªnøÛ¹Š]²éüH¸€oŠžÏ?¶¥ZëÂïŽX2Ö¥Á ?ž$™‡ëäþrD‹•óŠÇ»ÞmB…Lç²Ä&~‘P‡Vq¥à]¡2žl­ê|Ô•!Ûûªx;?É2ë‰nÍË}ÎcTG*V&ÆÎeú(­_§³ TÞÍà¨/•¹µT2éQY:_Vàê΃qOOï³5ü…?\>'÷—ˆ|yd€að°Ð¥ÍÈ#«èìïܤéºçŸuýWeÙwEŸ•Ö›‘±ýSêïñ‡Ã”Iït¶Ó÷‹Û»€aÁU¢Ô§!¼¾¯g„…ÎUvWÚÏê¹V7Âòc(*´Rèz}Æœ N˜T‘»À¢Wv¹+/û”’@×f¨…/ É7ІbÖ!ï®·wîd¹ô/½°%[‘7€ä’(}ò÷/,¬Zv0Ø:Ý@qF_}+$3EFßa¤Jê4«ÀX-ЄXp˜Yjà‘Õô}NÙ½éë´›C|rd,ÞÇšÊ(âJìîO¼ïÂÀCäè½üúœG¶¹Þ^ª-ÔíG¦·q!ƒ,F½*ÈwˆSÞ¹à]Ÿ8Pº"Ì$ç°ÖŽåC×P‹ë2¤{cÛÛ”]ú ZßY«š`Mw½œF‹Îlmzé%®±3¦7šµÎww?sÈéD>íÙÆš1Z ¾ D €n.ü÷”ñÄûBÒÓ%¢ëîñ4% iFFG–WpÑþxN~ˆdeqoi¶ÉN©>ä “µ¦ˆ)é+V•ÔO²c«Èv]æ­Pf´YœrMZïÖ&ÈÊŽv¤2äÈ®#Ýxzlm\úl…›õD]å\[tƒ Þâ÷€ë¶©'‚zÇ™§HÓ„!{e¶;ï§Õù_?µ.ñùín{?û!~ßø²3­]¼NBÃPÅÉßÚÒi^ž©™Â;À;©p¤\·; 6Þ®½r: ƒ]×§ɱÏÁm pDò"€!ÂDnÀƒ)Uuê!^òˆBÁ¡ÓÈî´9 <£Ïïm=÷å"†çØ+x±¢ ÂÃŽ:‰Õì".åOSÙ¢Š´Ò­Çÿì,Š*Uõûv ÜX¥A8Uæî3¦eM¦ŽK÷ ÿDßQíÈÇ”i½¾êNWu¿ Ó!M—Ox¶@Äí?Cˈ!ˆ§íuié?€œÕCñ›ß·P‘ˆ+ª0RhG5ä¿jãþÑÙ=§>Åf ¡Úp>“Ã’—â7ø¹ä÷'9ÉìxþqîOÀ¬‚·Ô=q®@ê­wãÔ®õrÀ ƒÚö¿¤×i€Ë€Ì4|ú:{Ñ…KqT/7áq“ ‹`›•ö{©ꧺ™ 4PaQo '¼HBqòLùͤ,WnÊ`¡Mm¯ñD¶ÕÉz–W-½céIÑ“ÔAÖ ;E1Í)—q–n¿ ö.ÉÀ¢³t0—F6äÕNõ¢éLÑöˆ øç¶U_ ïOí@µnסӻç¬,ú»1‰€PØ@zš0òõ«MàtG{p·\y!œ{¾ô‹¹!êo‰VÂ*.¯žÛÇÿ‚ää3õ1Â?rÉKJÖà…VÕd‘Qí…þf‹ŽÐ Áv€TÛ]ìc­V;´ë®æ ª]¨Ô”-áZ}„‹•ŒÖ<üðeë;¨ˆcbR;aU¨»-ãɈ°/ùk6õ±VåÌ:É–â+”(%rÉEÙ~é8º³o–5òÜâ¦ÚøŠ Gzk—7®fÔ‚Òq›šd:æ´Vv9• @Q:ÈTU~ ›ð¢¸Æ×òéwÐVÆpÂZópÛFØÉk[ϵþô–ê¢IÿùïëžU<‹ÖFïùdþ¥·U[ËÐÕðí¦°Õx/ba0,ïQ¬»§äâÓg;M+Ç[ÝVoR0Y©Æ/™„éz Êò‚ºÿ•ÏçB…® %.d?ê2kÿO 1T›4rÄ 3ÃcìÀÒI‡”•Eë¯å„~w ž/ 3’æc=#‹üVÒyõRŸG•ѫԻá¤*ã.½†Æ}ô˜ÝF 0ÔVíF¡Î_å4tìvK‡Gã!õm©[¸ù—3@o)¢rëG±€Ðk¾ê¼"aÝÖ ãæšó]¿]Ôá³¼‰Ü¥ ß…ë.ØK ÷òØäQ`t6^ý2?®Êf Ï¢'æ(en”æ8WŒýöÛ*”‘‘€í£¯C“iUžƒJt’`\»¦!€Âš¼¯É%©Ì­‹ #µZüK¯ô\|6­Q³ 7»®»¥‚í=2?ÄŠ÷Žª õh˜ÙtÃÃgË œ±Ø·?ªÁ¾K;&1Ó(Ž÷‡œ÷a—>çåäq ‚*¬mƒF¾~r+ ÌÊ­ÎçX^=‹ƒ»Î¼ë£À¿íËý|“qøÒÉ@` „ŸžnZuˆ[¸‚Xì &—gæ¡î¾! á¶-Ÿ: vy?v™ë(ÑmS{î‹~]«"oßeÛ©yîö'kH§ò¸`S¤…ôìÅ×ÞFci,dÜd@ºœ7ånÀå;ÐP‹#v‡>#l´]îìáÔm`U(ÐKxå–„žÕ-n=Їì'¥J¥Cã æéïØpõhAZÀ˜OÆæã•ËúädizžR˲•‰îF@W®’E Ê™$§w Fyԓʦ8öU²Ä'ŸÔp0LÃVÌ™‹TðËC\*c( Õu°¡Ôëš†Š‹¼Ùì¶5Œyí4÷Ë6#ì(2é¥Ð’;íÜVY†(É©ÚÕE[ZTÎåÈŽI«T•)îN¢¹Špˆ!dK$‡þéc+™V ̃j{ç·˜ušA!гQÉù¡·ú˜o™Tud ¶ÂuuYýFP€z­g’2ºð7û…ÿû¤ØeæÀbÍGÚˆŸæßLo=ê|èð²Ö": !kôÄ y-Ä>ØÐOª…ÅÑñžÍØïkG =$*L>öYGÞ›îùerw—–$[“½ykþ®7ÑÒ |5öÊùÊÌ{¤T ¤CîRœ×²­¥54yj¿ô‚Q“í¢éò‰–õP‡ÿ›£´÷äŸ&µ‚ ÞŸ½ø®xgjª%©¤ÖL¤s9Aß ú#å÷vöðžsr9‚QÇSÍÚh^"ÿe.Èj\(´²ÐÆ¢®Ý–R㬾»þ&˜Ø—¾°À/O¬M¾þâõ…ƒEm°ãœåƒ ÏO áT² Ç0pC(›Bœfá Ò‰ùÐMv;xl½ ±7¾$)½ÕpgæS…™.5e‘÷¤ÞWt˜ÜY ÆÛ[DÞu‹†Á@ÁqykÛž£Âæ­½ l5oàÁí­‰O*ʪy¬"R‹¸ÿçéQýë¼wýž‘lž=àA.¥Ô½“ц1Þ3 ®~Üãèpdt=5f?ó;a­±½ó 4‰Öðù#» ;2„6ˆ ó›7|¶WÓÞðÀ½ry¥åÚöQõ5D <Ÿ0§WÆ^¥Ñ ÐȤ¨¿4=zR¸ò’Ödr>ÓøO™ËÌTvŸ: ~¸º»‚²\[ÒØ—.—nH•ÌãRW˜¯nNào‘K¾€û$¹j˜Wy@LY&¾ q÷&eÀ;:ÙÏè}{>nò©³X*~ž—\7–½Bµ¨­Ü¼j÷ò(¯Hu;b#ñ ððCÿJXïW¿Ìîê’ ¬ß œ§‚‹?±<}¢ysSî*I§Èãæ£ÇÚeØùïŠÅÿÅ~n¢Tó.^µ™ù§&fº‚ò ¹@h™Ê/út°fö'fû…G®FRÆŠüÿ}¾±ƒÉÂ4¨#SÞ ùÊM\æá/ hœ¦ÜÐ'M´1RŒ$þÐ’ëLÉu=‹;ô‰ø¶]y·¿ƒ©õJwÚb@aÖ?á’, óZp=‘s…Qó¼ƒ:ORì‡Rm00¯‡”}»IkL{ÕF¦9 Æ6»£¾T^GE0é§ÛÉM#TÅÔ˜³ýU‰[û®^Øø„ú¬"ÿËß}žfw4UÛ ã €˜â’æO‰§,—åÅ‘àg­r^:@]\ ¬ ùfàü"ú¥‰‰x(½eh¨€Ã…·$ eñmµšXÉf0}ôø¼_¥ZšûR)–îW5ò¸^ÊÅîiT¢HÕé®^qÝÑh: õ?õûý \Ÿ®1òÅÝ_Ö˜U—÷wî˜Î¬‰{L#bj®Fj–eU*Nóð®ørîÓ¾•ô•&5Ú"§Ú…6ÕóTØ¥oÖç#ÃASÍ,+N¾1-"4´|¤YÉâF L‰¢Ÿ—w¶ìG-³\sm§ÛžXÙ­@—<²KôðÖáxµ‹œèÇ[Y@È<äÇ–x:“CUÃÑ^lí#o¬JÛ7…HsÉ2ž½ã1™/|®±Š¤Î†ÒÕ¤Ž(z¼¤KkxZE“ê/Ê:×X ½pAuUÅ" ¸È -ŸÕ›¥·ï*ä’#¨KTøÚœâæ_ÿn¯e=ST‘Œ7XÕ=qbƧ¹ ØèXÚPÕ´èbõ¾=ÿ‡=¼T\nB±ªoO­.–ïUûñðg†cÅô‹Ao8ÃkH)µ"ËÎÚÌäy‚½„kEueÐÑ­‹À›;=–ìï^{;D§{^Û(°{ m÷]7h¨º?™®ÀˆCó@Õ@üg¥ð€†ý2ûüKÎu§ú1Š-Ø?•I¯iõÚ•{Tµ2ö–Á¼&Ÿa;;E»ÕXa± |{]å}OËÌ¢› ¬jpe5 ‹]dÇ’ò•6BmTØ»o}ƒj£P y9a¨ÄÞB‡ÅE¸#cPî¥b¦¨´ÃH½Õ¨ý7Á£R6y7÷Ôã÷vƒ}ú²[VŒ’>jëÈ{hmXùCNòK«Z%%}8!_†Yö_c·?…jê;·Ñ§w¨ŠùÜŸ²ZÅ5–\^ÑaßÞÁé#ÑZ°O;ÊqÖ'V˜«Å;ÛZ¿.nˆéTô:Á!ÆÐânj‡ Õt¶wÉ4;Ð:¶¸Znו™U ¡´ûÏò¦3¸õ¼”0¾w‘Ë2ýÇ4º‡U°‡rU¬%YG(f0€>¨Ù·Ä2»).Ú@ MÑÊåb*8´•Hã ½i ›Â¶ÖÍ¡^Ûd|)<­1Pv¯Ôk¶c©9u:-™¢¹Ø2Bj‹3qÔØ>‚ƒ™ÃZ‰Ï’©Ô»wÁ7h%Ê’~~Z’êïØJ{…èí•äõr ·°ô àbwLh`ŽÃ²Px<\¸òd/9ð\€Ò}Ì Z•³pª2§ƒÃN‚r3 ‘—ÅäÚHGÛ×ÍÐÆN&(Ç‹fXý[»tÊ ¾Ü0`Zúc$õ’1”K{øql©Ur õç|°WÒƒ wú>—Žq0*a¡’˜UZœÕ¢5Rñ§%)ÓB?]ò'~éiüR$¬h;ËDÑ'{@ˇû(ÁÜ-“i+ä œî¯ëÒ¾ Ö{íÑDpmûïoº\6Ê‘a<òÞ=h­N<² œÕó¡ÎJL~÷×|Í“Ð~\ ƒ…îîÂN5„~ˆŽîù’ïTùž÷îŽF]c‹\¢ÂÕtÿÚe’ÛœÚ*È€VwB ^¹â+ ù ªŸˆ@Ÿ¾\ôo.Î|€VVŽD#¤væf4ñø›ˆ‡3øÓ8ô,½ÔÐÇð”Ñ…»"n%f©@v$[¾¨À±U®•H‹÷ù2ûv5Â]r;²µ¨ :ì+ ½÷ÊítäÚ{rµ V‘ÿeôÃÔŽŠ- NȃU@T1–$JúoÈ’ ›­‰A`ë/ÕÛ¸È~«Ï•¢ã´Z…L4 ¶M~±ò&†³„½Üp—Þ¥PXöX%®€ÃÝÉV-hÈÍ’w̘ž–¶ÀÙÚùÉGWD A(‡,Ší#^–-úQãB}‰:A™wt¬R¶ÏFïaÉ™é5°×iTí³ng¦¾<ûrñÊX鳎â Gâøà%9P¬ö­œÍ´J°ù5ŽIÉ6LƒÎ~ëÆWf;É»+üPžºwUèÅ-ÌT®AW½ŒK¸q»m§šÙžaÐÜ¥«A2n/¦B·àDGÎÀ(‚ à[{‡ÒÛM5è&`«%TG«8žÿöž©ªÄdÞÔ²sg/Sy€qßæ]RH¼oWe¹”ÕGÖ TJÅš±/\Ú-u¤]iû%3wWº“x¨šš›2‹ÌûC”!Ì’»DÕûiønÅ °SÎ Ù„Uÿ%ä9–°~÷Õb©208°l»Q„ÙÑš´žVÄNg'šð~çØ÷ýYŸGG•z‰>7 ]Fc± 9qÒ¶ÕMïi à±póž_&Ö!=ƒ|‘"î¹ÖàiúÈ~9åxýÎ+ý|Y+È&íwŸ¸“û”ìwn+1 å^¦Â‡ËKíÒN€ýÒ©D~•Kò^W6‡ÔY|Ùõûâô½‡êŸ%FŒPŒ§;”<ŽÀ%hƒM˓׽›$²""ºUæ´Ó*È^(AÓ‰ülôU’mk)IQDuæEä1+¹*¶DIëýÁ žßheœƒÌ·aüïži\, B_CIN¿v-)ù ž·x#ÒÂåú„G¬b$Õˆé¦(Á>Á‘j5_:®É€K$ÉÁóáM=€®³N‡OFšAY­¸Ö]Õ7a@W/Yj)߸ÑL°imiйɓ‚7¿0rC£N4‰™<;£ÀÉ#8*je‘öXÎc®õœPˆ)ls  ëñÜjάâ_•Í„¹´ÆAËB’s+´›HjÞA‚勈¤ „êÑfÀ<.[ÅYšȨ̈÷7Tp£´Gf&Ï>ßÉ äñXëkMœ(ÜD†òù•°Sûuã(ÈëpyñÐöÎAC>vÙØ.¬«b¬Öú/쯌 ƒÏw,×Ű1^½Ž¿õ“šîÿ(®"þ b IÐ2KßóvÇÖ+ÁµÄºaü«Ê¢DÕçj–IJ…à ‘}âb€»Î賉>ñO€j<àJ+½,æ»·sCÿÀ©ì•Gr'2׸ Q_œ.Ãze*:dÕüÉÈ{g™XûÃóÙ0"WçÄm¿o8³Èi4áÕ5i—9)kI¿ÑùðÞ¢ Cà<¤¡eïÞÛtýÞ}kmÑÔ'§û(íS•y¤ðÎB*ø‹º·°Ïtsïšr¤5UÚQØ”ÚÛ´%‘ÂN¸V¤c¯…&dØ]†©ó”)œ:¹“û´VÔ1súèÎQŽ! ¸Ø·-¬Ÿå…cÚ(Èò{‹(ïäû}‚ÓÀ5 f%0ÅÛî|Id/ßžµB:Λ!j#¼ÅD¢*ôôB)ãPM.ã¤鯄ú‘QÁ}e’¼éÞï~†ßD'O ©!KPCš/t#*¨°µ¶šÁjÁO¤ÁSOô‚¤pವ„"ƒr\¾± äY)¦wá ϳW•¦zŸ!ùèÆÍ  ‡MP!Ó ß`"ƒPb/¯æf.ÿÚ>ú*Çk%϶Wãå ±§Î>œ ~ø£tzh<,DYU5+ oé@`ÉÛÈóÐî3^¸€BÍ2)> À‹é4jì- opwX¿ª½ðå‡ìÆßa’î$\{Cá-:”CCRys§Q@Áü s#âbÛ¶ÜO°¯Èô°l¥Øhx«,U”_)…`¶F¾ës"»ch:dà’âR²ÙÛ}þ{1Ay2Iq‘)&ßo¼  Õá!ëö9šc;Û ä«Ç/©›Ál1výõº…p9<€r|d¡·Û’ÊÅË#Qúå`UââÏ+Õ1ïUâ02cV1-ÜM’|† 1ø=rÐÜU‰l£no¹¡6Ú~lžØóÁ‚Ïù:"&™ pô°©—R•wøØÈ­h2äŠðDiÔÃú¸è6l*Ô´µ9J}i”Lƒ¸¹i‰ø†¶¤ËÎãIý1¢×hcF…Å$ÍÚ¦Ùe-îLrÂYÒ{|"¢v>·³¾fÞŽS8¨–µŽç:Ÿg¨’‚YnÀ)Éât¨ ËÖ³Qc@¢P^ŸÑª`½@ìtùýÚ\c ²za˜"ü^¾R®ß=1$'e  ¿[yl9ÃëC²šIÔõÝFEÛ««rùK·cåZ`6sÿbçmËÊ ÄwT‘v1ưá.sø ú ‰Wtl&º,$urS5´ß‰[Ü”=É®kbÁ=•Ô)/Uµ9HÚ¼‹0e𩳣¤†Ëp-G‡îu–ôìÖÙâ2œ†ù¡…ç5ìXþâ£xÝ£S„©n é¿å˜\QfÑv”EIެÁÌ’’G«s }C‹ýê}zû©uß8#ÓM†Zûþ€Y(>y¥t¥!_-TSI»Û‚U ?¥ç6šËt•û/¸k¸8QÍ'ÁÏmÉ J~UÜU}¢³„C2´g&9ðºçï1‘²¿?ÐÛÕ‘SÅë4PKõéˆFMéþL嫯Ònz¥‡Ÿ-ž¥¡Ñ6°)¥lš@\wȃ,W}5Æm¾½‹‡`Üp‘$5Œ[XŽßèq¿s8iáXÆs¹i ê‡+˜¹õíRFžÝu×MÛÚ,GaDâÂÑÔ Žñ¢tËÄù}•B®3â×{öW´¦ƒž‡Àüªî.F‡˜­1¼Q 9Ÿœï˼ñ‰sîçŽhP$®'’S’Sh%em3jíhùá‚Þ;z'™Ìh(¥uˆO@>Ö~ÉŒ‹‰I_Πq6nÖywqç?ØõŸi3 ¹éC„Q‰’VlN¸—¨)BŸ õU­¢.¶Ý2#' Є zÝQ§yÔŒ;Ç2-oA P1W4Àµ—…cÔ™s]­Fe‰<\r²bèTô;9^›é1%$ÿNµlyYËS8¿©¤œSÕ¯@ 8TV½y87 Êþüã!$ö¢\(Ç’C°yŒ¯?ž“ °´/’M!MÅH·A—ÚÞqÝ’”󗣯d´Ë“š 3‚ ƒ‚ÁÕ¾ŒJ}Ã×É0¤•{pÌ|'OÚ] é`Ëcò'v¹Ãì>´‚ÄÒ3ÕdGqFV+8œ™ª0‚E6BÞâú./áÄÍ2æ³§u~ 2öAo¨‹5•„t½9µ€ïŽ«b~Œb“kê“yü Ô‹h1C­wE™”òˆ¾új3>C}è‘÷§=~0ÒþÛaU«÷Z˜P=ëŽò¤)—QŽÀ@ùPàQè}~*Ý.'xHÃcÊ+2ÿ“ _l7Õ$ÇQl-­U]¨G;°ÊNtÁ-Y—à8á³Ë‹žñ›j?Û üŽÁedìl?p‡NúÙÚǨ |Q½bÄ¡ãѾ—iÙ·÷t¡c«äóÌ'Èo¨Æ$j2Q—™˜,§°ÛCßæ—¹ªp2HoðàõÖÁ=_Ÿ! €ÀxŒœQ1AG󿪑$ú_ƒÝåb™\+ù jèó™=¼Äöµò$Hp(:£7mP_xX`•ÀÉ–ICl§·[ó¼‘Cp‡C~qcóŒRƒo“PeXÖßqns4«ÝzpÔ 8 ¢‚Ü…CœÕ«$‘±Æ3¦sÇSõ¯£ÐŠôå06QYß‹³ÐlŒé^ ܾÀî…PNàÊ™¬ûZà¢x!,ÊVµ¡k³QÖ •~MwLy²—Š›ùѼO’Õ/b Ñûé²2'öÑf®PXG?!ùe7Ý/÷ʘ˜F¨#áí@+ô{×Âã3ý#“»ÆYD©„rH,î{5]§8Ä õx˜ÕH•?ÕàƒIû‘ÿ®)_ÍIxstñJÓÎ0­ÐLcY+s:¨”KðœøiãÿÍëÂ3_IC 7¬&ä!d ¸ #¦õ~G„w5çFY~ ²K´&j„«Kß•ãMÙ¨gÅ[ýä—óæöÞ¦¿Æ´ÀÔlýà `ã<›Á^±3á¿&*´ìàð–Ïbà è¡údºRÙÕjèÙ7¡$p¥Ç8‰aGy/b¾ q ç†-5ˆeǨ—Uÿ³´»P<ìxøÁ[¿Ö1ô»{”a ”~.߉&hlŠÕ­ÑQ4>†€ Õ—¾à¿¡b‚óÏŒQ 7¾|ÙÑ%x:§vf5ò³Mº!ä/Ï¢\‘ù‚=vê¿c*;DYžŒBä"éÌEWI} Á"ZÛƒþÆ+·Òƒ\6”º].pL-R7>nÆZä—z¯ü”eµ’KM„àqí¾ —â§„>ÝÝVaã…Ïrmà™n„Þ² Ç–}˜ü˜ Ö]ßõS†ÕfùS*VõŒƒ*ZÀ[í‹—2%8Í4›þþE`¥+%&Ó-q¶¼Ëy–ø ·3€aßœV³˜9ª¿žÝÄgÞ³¸­PôtÝßÉ·GkŠì§×ðeg¯ìÐk2|k -q€fƒ¥dìm~qA|QõZ¡(“ÿ €j!f?ù§Õc‹ïX›¯Dªræ%Ò?ª ©@ z]g=Ó…ÅéDøL d3œƒ”ÁçËQoL!X)M`0ú=êoäKi?iǪåZŽ7zÓÚkåû† TDV9ì7zù¿h=;=¢ £tÛº½Ô\Õýlš´”ÈY¤o¨Ûξ T|o‚ç2ñ<âø]¢’ùœýŸ ma«ú^ý3J×ÜØ"Cftz¿ôÞÚ®²e•í pÃí·ÝÒ”ØãѺ=º$q˜ç'+çbH2’Šh`–”îWŽï£áø´þs'(±F`BÜȵ0” +£C–eúB¹@‡5Ó|³^eéà'âÉÊEŒÎÍFsLkÛfÀoŸŸŒ&%®K8QÐÏcìMÒróoÊ óô!&ÉÔ6L†¯£ W-X1HÀ‰Aÿ è!0:zÿÃ×BòbÂ`‚š;€{¿+‰WRâ4`Ò›ñh`Ó_¶‡„eA€1Á§Ÿ6OÉþ²m¼6Û¨Q^#tИäsߥ$­ÚÒBäëÈ6óM"¤zUÑŒ£YQ¿8 g”W#¡“ƒÁk š Ø!æXör{˜¸³\9dí»"ê­-½KÉú ™$ÉÖy#e€@qsåü Ë´Á)lK«ëè*6” "àR²XIÝn¿Ü N/ÒúV ròú51ÂtpJÊa¤–Þ+ŠÓÀý¤³¥Ð7_# j‘ЄÉ覛~Ý/¾äh®^y¡¯ú!µBðQ·þ˜á3¥ÙÖc ÜFµ­ þìc—-ªSZì8iˆâÈ~–,u2<ýwñéŸ{”¯uDHsý©&3üéƒG£¸0Õ}Žå"–n&u+¢*•»Ü;FÙ³ç"‘CÓ¼å%ïÈx¢ë`iJ‰À¹L×cHKµ~7Èv'iÒ*@ñ*%€øwq)T¸¯‹T‘õ´/’Zöû¶P¢ª’+†ã;{ÃÞ°Tö*¤œGÃQ¿­DÖ‹y©ÛAЈ¦Ðóóylý³B1Ü=øüÎb®4[‘Ú†S° @k•ÆŒIl݈ñåÖâ“‚†#Kô,%UùRÛÈï ³ ƒÈtQž¨¸LÕã8îp¥iK[»QYÓ PM''S¿ºŽ:ög€'rºù³uÊ SÏÛ‰š* ; ™FÍZ¶ÿº¢Ü=Ï~ºÔŠœˆ´BÜ$_×HBÄÈtxñù …¨2s3d§NÖkñj}j:1dDÌ_dÆÿ' sõ»å¸^„*»5㟱`G'·yA0OÁÇ,O“ÁEü,Hr{_¤9dDË–i‰ïÓ!Mr¾‡ ¡e*ï#gFëZ_g±Lh•§¿f÷ÏD›aûÿNµO„¾¡{\UY_ÓÂð}Þù'þœ¼V)ø+±l2ïÆ8ÖÚ ó€ÿ¿2+”yêÇe`Š©µHìo¼ódã·÷;¬ÏŠà855¯Ê}µ]g´›‡‚ºä³i³^MÏ’ã®CdàW ²qœ­¬`µÏî# ÌÓ9’õk:Jÿõ²ÿrŸØ;ÄA0J»š/!À¤Éc‚øÀHIòˆ¡™ò ¦U˜–g>“ñé<÷ÁA }UY¥Amr¼jW*ÞJ}c¿‘æ·fŸxzT é VÍÞó¯Áà¶v=6%Òü·†klÃûN-ûi·૽ҞÎ<¥œw¸~£ZëŒÐ¿ñðûgtƒPœ¨¦+ëA÷:A‹÷¥÷žßÛ‹/²úŸc¡î.þ–füÈú’—ä>À Ö’=vŽÿRNígã_/1ŸÃ",rîm‘c¬4&³; Ý¡´ögâ•1ªÉíB[Œ€Å¤CˆÝ*!õÖ< ì e‹R‚¼Ïêjå&@Pû¿€ýÏaóN²¼DŽtí•EÓÚ*‘çKº8íš¿k?Y~*LB)Yë#-ž¶F!r^®ÄuµÅÁC¨Ñ™žèH(q‰ólå YèÅi#aÓÚ™¦HpMº=P¾à¹iÙ hÑÚwÎl{Ò§HðMn8=BµŸ½!6O%jÿ§ÎSÐy¤ÿ¦QL,,NÆÖ!·ãÈú ý@öíÑðIJ¸dxE=Kå$ß<Þlnw5ãe9~R€*·Ç ahfÅ”#Ó[ÍŸÄ‘tšÒJÉ@×é¡‘ë°{ÀžßÀóúî6pvá…Dqé½ÒaY{bgE‘î??lñc´PHÓáSn^Ã9O‘k#áZƯ³¤¡Ämó"“Ê}ܱ %í‰?ÈF9Ú/ŒÄ–£Ž¡d°CžRÊM!GÒY^½Ëžª>BŒo‡'+Ce§UZ. ÏØO#1yšßRïD_°/ô’®v bÙÙÀ€¥F>tZ¨œî–YU@‹ÚDkoœ’6ŸŽr”ÞaÙÕÎæø¦‚½º»ù ø«ŠC!/<ÚÞ£¬¯âä থæZ›÷(¥T]žñÿÙ§qB6tîÂⅹǖ—º%W§{’Œ¤£îTsïdaA ¿^\îiœ[­080úb#Ôá.!‰uëZ«˜€ ÔþóETJ¿R¡2ªÉÍ9A®0:5ÌÅýYz›#Ï6ék*ª4^–ŠÂ¯Íïæ%x#ˆÝq—y ØfùQ¸Ó’ž`ã Ì„C_ê_±c¼Ì>ÁƤÕòOóhò a5ÙÈàëÎýøGãj0Ê®vä³ßihâ¿^]m æeªÔkAýyy²ÁgÜηº¦žÙ€íä(ÕëÈ?L••Œ$p.’©ãèÆÇ±Ã¦3Ô#ï¤s‰­Q¦J¨*yÂ.øBRm©­ìy&¤.‚Vƒ¹NæGMÒ(e×¶: GJY‡ôqžùAf*#ˆ5`l.°-Òð{Ãk(Úš›²vÜ0n¡›‹ ¿ÐÜgËqb!Æ ®˜OÜ$Vü­|ᆵö²Ÿ÷Þ!UPìøÀ²B•ž»Ïi;,¡$q³ÌíßÎîÏp VôË{´³æ×`¯h.e°¯4ÅlL"ù Ü@£¶ŽÈ,ÁßPòŒ\¾qìñóþauù<0H”Õ¸‡‹¡LTý[Ô .ãxOÆ§ÓØêGøú¦V æ‚ð¯çZlË·3Hû˜8´’À«Kmæ?ÎnGUâä²Ôûx§Ÿ_ yß@­îXÊÝÏ›‡WAËŠðÓ_4‚m¤&Zò.a0Ia—Mþz\ÃNé·ú|ݾ„Ç„ƒìºì³‘bVúÆË½Î¢#4= ÎêЛ‘]mp@í9­=0eÊÖÀ€Âé© ío°Í`oEÜšj¶m¶šn‰¾rÄ èê»s@X¦ ÛA]ŠóÉÐåìœ3‡ðTŒ¸mv‡ÔáUÛßÏÞêã¶rÕ‰žK4‡'̇±–—/­vma°4‹!I^g0ŽHÞcyìí¡T“÷5eŠw¡IÊîƒóô*Ò {ÎZÒ—úк«%íóὄ®u®(¯>jhqk¤Ð/€_1%G«gñ‹°†=|ÛKÕ“!npF¬­í0y”—Ñbà´ožìø5LEü짯QöÒ:„å¹…œ4%ÈÚ*åíæ2dExDë^AÜ´™;êÂLóRP \*4 >$W‘ã¡¶ñ‘Š¢§ˆÔjðwktæB~’ÃóûD8¢C·%Ÿ¼usÔ÷—éæér±º j N…=‚0GÕ÷)°r8hø¥§sÌ’J•DÓ €àïQ\!¹…(öž$Eß ¤ “&çå 9×`Z¯ìʨ—1ò½ÝV1¤•LCÁ0ý¡¤.±b±oaP²£íÙ4+Ò°Ù ¸w„Sõ‘4 Œô®ìn$ž•[;Ì¡ $D™vÛX”3lØG?‹Â¥^Û[ÐsëûÇÉ£ûLÞ% OpºÎ™ý·cãÒ#Ñ;_BRnrë¸ÔYñq|¡s»ë˜H6úV«`+Ûj÷f)¯A¯1çÜהּF¹Ô‰>É¢©‚ëáë^•ø«Nœ©ý…%t›ÐZp¼boà$ôªOŸÃÃXhh)ÿ^Œ°\lÊ`` JŒ“•ý%k¤´åM¦¨i@+¹ZýüAL‚§6£Ù†‡®& ih ÇàÊ]KÀwÍbsÆC1ÔD_âÇN 3 ÍïîéÑâ^Ó-é&pùÜdx¹úiÂ?h›’ïÛÆ’ÚÀ °•ºôdxźäv¶üõ±”x°ÇÈÂØ~þRkJv±Æ@dPÂÞé™`^÷ ר~Úzq™k‹憨^ýŽ»ªìñ'ÙÈ(_00¡×Œÿ€L&ìGûsÐ>,À3-vá瘹„¯¶ÈY6Ýk¥L¢A}ÍT¦uÅëšôÆÎ_KÎYäL‘c SLOƒ}‘YO0Ö³xÌôŽ_Ìò½µªn„=És¿j)\Ѿ|ª2}‡V­;*lZ ÚwMŸ³å%SÌ.˜ŠFSž…2X˜‘Ë "ˆ@H•X]¾íUOÍsà^¬kY‘ßÒ„Qó eÚõ,6*Äã21£|--&dW¤î ¨ªÒÚ"•¸ªÚĈaí‚·Z—˜µAâ¿[å÷UhC¾+ÓÑ?În>ÆgsòŽHøI<²) Œ6íkNwù6~Å+öb a *­EüîTÖ¥-4b6’.h¥§y¬øVzG©Î]Hüw€W-ä]ŽC´ÙšOFÏ7†Ê¬å¤¿ëp'à“,$îÔð¿fJ5™Ä_Z….=¹]*;SÛqšîÓh !t`ª`Pï\îÆÐÆîÈ·7™Ë…ýýÅÄxv4-Í# T$»·•q@¦U¡Ç}¦µÜWöùCbþ9Và¿ÕAHÊŠâhÛŸ>VaÅaqÐvb/»9å-+†Â³…³"=i•#¹¶+*^"I;kÎÆòÏ#”È—l‚oiÓe‹“òš-¼.\ƒ–hI˜ÞYš¸ Äæ¡ýþÅFcŽüOšmçú `¿9Ä¥Ù |𲟂…âx몀9Ôr܇-Dš…$šK³Žß™=kXQ—Ó_«aªæë—ÛÒ”›ì`JR_:öíôØÅ;¥ÆCñÚ£ìÈPNßÎÿøW¶µÂ3§1<Â~LD BRôlò»š¨ÍV’µqF~ÇCïé!à,~DÈ¥â°ô;/¸IQÑ÷é†!Ñ2eA_ý9Ns‡¾XLL|îÁkZjÄûÕfÒ@7ûžú`§…É(&Ø|Ú’e¬¥ðáí ñÕÒMùâøκ J¦|ÙÍKW—9“ èËKž0ù–æê0Ù~«Qk¼’% Ì$}$xƒ5G TÕhg=)DúHkš¥¿EŽìÃ}?¬'(}Ȉ™Å¥Ç7q>Ál"—‹db=x¢¿©Óš`I“Ùî·g>žë(WtF*Ôcð(ÞIì0ý!‹@’T[Žt¼lŒ‰¦‡pQ2àÝdÉ×sj>Ñ݆T7$=›ÌÅzTjŠ~=ŽÌ;_‚®8’í ±Ÿë ?nÜÁÆ †=¢|‘ŽôÌ瞬:b¨á_–*Zè‹oƒn/0öаâ+°‘á\ûøn'ã¯Ì£gWî›ú zpWÛ¼7ð¦žàc#ÁÄ TÿþˆQ–ñaøö[ Jo¨>zŽæj0Úú¬—6U ‹•øºN¢øÈÚ.+#¾jSíäàUÕ’š~L6ußeÕ°ÆFrñÑêëêÖq!;–Á³$#Þcµ]¥ÈÃÊ·®ÎÄíÚ›­Â¼¤¹òí-ò¸Ý/‡· R'•èV`,šþÈ݃Ý7•oõ#êÅ_¨‡;«7-qAߎGi¤°ÑeK¾(z‡/µA¹\*Ä`r¼‰>„à G^óöÉ›˜QHŸ±r–’áv0ôki™šI|W婎ßsãæ9Œ½£á/ˆâÞ§Ó|È‚NŒ;3ÅK:A¦ˆŒO½ÔÊŒ³„Èpœ;|SY·‰enß¶z1oû™P¢æ¬š )â<ÆéRÁìxì@a‘øÑ”¬ qá0kÄpJ“zj"ãàF²B²QÇËõ.(Ʊ›u’’¤2–¸w/O‹m†Omý€À%—1 ƒÕIDAÙÀs%t‚|â FÕô×{U¶$ Gx†Þñß,ëÕ‹AI‘åj©Qòý´†Ép™œg)Û/ z‚ÊðÐ Úq‡°HÜ_.êz±€ßCrùAº[Ù8¨'­ ̜ƷrwtFj(©ûd¸ËŽW\Ü;ƒÅ¢«O ÄmÆÇK;UÀ3z­k¤TS¡I àÙ?Ì™'ÙÅ9˜‹ï7F@AùúÏ^¤:×[óNžìiœÂ}8õÜd¨yÔ>Häbˆy>zMo*D¿7N`vèÄ/qDwÃÐñãe3Ø+0äî¤GÒT·Ì& ÝK´.ñýø”C–¤¬ß´#vÚšIÆÑNdV»{ ˜ÚÛáD0Ó Ý«Vk´°˜_>%]×å–žðÄ^qÏvIC“3h¯‘w%Tè÷sé!žŽÐòy ‚ïm;šzÇ´ÍàÕ)‡D’3™yB˜€Î|?öбîv™i†ÊJ~vfš{•à ½Bœ¤}It¤çh¨~i¬œÏÖ <Ce†$E@ÅÐ8F˜*T^;‚ÝØY¾ :\_g°˜éX¯• ]®"c±I^ô0( ˆ`AÝ@ZýøÍñ¿×'^.\-SãŽÏŠ™ÖêE‡f·/?Ž×{y8môÙ¬ÀeÔå9¯·È·ö¦øü¾bô‰¼yüCÈ€Uvkà"–?Å‹1vt¶N«lveÓãÒ½wí“¢÷'‘ú“웊Otl"…ì+úýÆ Qò@P£ÎI›…L³Õ%7è¦\ à].(߈¤ZhÂbfe|à ¿ÎÒ˜,Z´ÖH ‰(ÚAƒÐoÙÀx[p¯´›úågæÆlŸ?+G^}çÉF¡`ò½÷ìÕNjú×GíQé>|Ž ¹ûæd³Ð;þd£¡LìÏ=ãzg¹¯T¹çy†æÅ\뜌Ÿ6í’ü7R¨A ú¸=f–Çut_AçfÿaÎ(rƒ ÝXfx]õ‰]¨fø.«S› žº¾ìÙ`ؤøåÇ‹—g©t€¿ït8žO—•³Zboé*Ú}^¼ð€À¢û^ØaÚÅfûÝ×3éîZt{%Ù[ö,#XP—+³N/IÃàSæ=&õÁ]sš,ÛÍ“v]“ÿñ„ºœÎ-Dœi‹šÙËÚ-H6Fúˆr;2dsݺPZ2oxW)SÆâh‚Cqa~^åêCí… z³yÕD?rr}a½`´jª :ï&Ì>îp§Â®Î¦FñŠ"F>Õw£¨BÈR¤­m4 ½µ‰±5.²FÛr -ÃÓp ‘•„VÄKH";”roq@D¦HuwKQÊ.ýeÈy’x øÐeœ >F³\ô/ Ä÷“ýë«1íËêÔˆ°°ÿmÇÖ]Èü,Kà–5;ºø–#ô6’2ðÿœ;ŽÈw-¸å[”O1Á4±Z~IW*KEf ^Ïά¹ÒÎJ³·ábÑêñ ¾{[áIr—𠃌aÈâïuÊÆÈ-;ÛÅF`è>ý¿&²û<ñ¨æÒ“ncŸA±Ð¡íU÷¦RÚ^`RAÃý}S—ò;‘àD€-(Q«]ÎZ” %É}¡ê™EðË=02ú­Áܤ¼¯ÊSÖÈv„Ä×c/Ûeq»ð?6EZjæFa: Ä0E‘VÇn-ILïa±á„«oëmÿ„ 'E‘¢Þ} YSáŠ\ùÙ "á&è·þĽoTæ!¡‹ ¹HŒçaÀB ‡q™‰Ê('ã‘Ð|QkãKÆú†/Ãåð…q·z,–αó íybh ñOAæXÎO8±ŸÅ‘·ü»K6©óoržBÑ­ÐâFkG4ŠzµÌjêÑ—…jTá…h ¬™úEÎô‰ú°ÆržR±ïÐ'1n_Ÿ Ëk¶¿ EZ«=ñ@cüŽ+â|Í <Ù•Æ}ž„ú ÆÄ 8ç|ìâAXèÒ‰XVÒcì>Qùå'›Ô€Št‹[👆±~Ô1g(׿að¿æ%Ó)QÈÒÜ›Ìn¬h*à”xÀ)îŒO}* }¡C>uJWØ¯Ì <ü_voniwTBÌP ¦æºV¼A7^g.`g)œ²¨2ÔÞ²RÁ»P(Û_/¦Y¢“¢V±è`¯õšfâÊýdo£O”ŸØS&N@OÒ°ãõí{¦…ס Ajxç^"Ì¥â·ãO7óðŸ÷¤ïúÒ0µ÷õ¡)“ô7ˆ_áA n ô¯èçØ.¡ —a‰†pê…ôQs¹/óa(Ú̬©4óU㪺¥ñ»@ŒÌhWßø%|ÞÄQs† Îø(6RŸÔË0)ºkõÁˆdççèS*¡ºî”¥rK€#˜óN“¸ P$_jµ¿ä×H¦L÷9€Üu±›˜N8¡r+°›¦ÿ"?ë0v 4eäʸCƒÜpU6C¤—'å±´o«jV‡›´è€ÇÒVY# ˆ[í-¿i³_ÕvbûÝ!`ôi¾’5üå2ØFðA««{vò‚×[]g–˜­è³tm¨3§‡ó‘‘úç]±q#ùŸ`d{ó×ú‚Øçùµ¯pÆO‰!läPzO˜Ã."…L©$4ôàBÍ;K¥²Œ1£@&ï6qh'³oqc¹» S:àVΞ©±Ù5ðU®]‘÷,ýÙ¯&f!öŠ×ë]ŽÎi/ù¶±TvšsL8¢\Pø’MYòÔ¨<^¿J+'úW‹£fºÊð+CR9ÕS@ÜU¬)Þ-éA‘ ŽKfG?SE*N.$¸8Á~¡Ø{ÐãsmܰøÅqÇONÉ#çXüß‘°ÏÙn±£4âJ´ßf— À) J«r‡ª#»‰‡rYó#Åv­?ž   ”•v–1ÑO2ULu­ÏÜŠ¬ž`yóC7ûyãÖZ”-àÙnc ‰4Åý"•¦5âÓzm1–©dk³zSê‹æÜ4“»´lâÆ[_–bF-œ÷¼à³]Èk Ÿ]ªLX¥À{pŒß}ã§!`Xßoj¿Ì©ˆ+ƒ¬{-†åt–Ý›þ£ÇÐ#—Y%|‚Zý§œOE"â}Ü •&fýÎ4 M&Þ¡©°< qÙsû½€Í5XgÞ•#N9¯Ø¨aclZ À„S›¨lôeÚSJ–Nšÿ§ù^-ìãmŠnáÚ¨]nùæäž¼«5Ì¥J2Ú§ý/?¿Î±‹±:I›Pb&;ø±Hµîù”õU²¨âA×f&mÞ_‹YS²êÄ„¯ýÞl«äôövm¹âÒ´]¸÷bdœøà0×61¤ëÌE­P†è÷3–µj pŸRâ@×j» _0ÛT³îpÚÈŸPd^ÈïJÜ?÷@ñPæÍé*šÿMuH5¾¬tìaÀnÓnk žÛEeçØòBªÏèRE¯¨%ï[ôR”aZ`.eÎs5×`$0žìaŠ€Z»<ƒ|Q©3÷fE¢ÖŒ›ƒ5ë3‹ýn¶¼A`®•%0¿šÊ€ôþ«oŸvÉ@I2À;Ë–«dõäüÜ"ý)ìtVe9ñT0ßÚ*°#'„"vnwàw’N’ýÖauDj=zÝ­ø–ßBþ´Î2hcV‚‰¨ Ó´ÀDÛ•ˆÊ!æ@‚’,T:î$õW¬jB*ä,\NÑLœ¨­y\wò·¶„rì÷×n?¡kiÖë°ÃÜ,ÅÆ•çØWÃ+ú²”+ûNR¨^04Ç V›c‹¯»îÇ)6{Ÿtž=5Âï,-GðÆwTï" ò ]‡F{£Ïu}2`ÌU+$œ@nþOWÜŸ œÌ€´dØšƒ+¨ýy0ÐD΀·„pس®1ÄwÁžÂáÀâ<ØÙbC,²-þ:šSÅ_¼ºP•r‹®ªåä}P èÖ\н¶ŠÇßQÜg.GˆÓŽP5¸º¬±mȺ½ðî½ö{BD’ôÑî„aWöÖ ~¯ù?‹ÛH]_ÀžÆµ@5 < ˆ_YÕ$Ù~yá{{é\éŸ+ uq­:û`!èí×zEøŠ% aHbf~n€¹œp•Ñ„<½/L=ý?ªx»;6ÚZ„ºü±Þ`¼Sò^ÖQ’Ezv²ßÇ·tVK;Âç÷ª ¿LŒeýAXËš±NwÓ¸û_mâæÊ5ŸÀEôžM¶.m–Ù²ƒÍßù5 ²üȯÊ`áh=$à‰uÈâ\÷MH…’´_yß΀™¾=#d(|röú˜räjÌÉYR¥0¿RJýÉö$5c1Láðë9ðV+Z!ƒßq-CUϨ¥£š62Êð«a”/Ì’™ ¤d´±Q~ ‘—[e5 d¶ó ,àôÌc ]c²G—Ìžê—ôR÷«&ziX,p’¯aó5Px‚X_B‚ÆôfË{å`Ôsj‰ ßdCGÆTó”å|GÈYˆÐ•Õvi:Ù4Y-øR>2\¡¤6RX¥ ÐlÒîŸÊi—W£–M$v×Nð~¤^²û!ʺÜeëçÓ·[>[„ïIîK(Õñ럽ã3Âlß·å+t¬ë¾X=>tµœ?|`©±k[= ¼/Æíå0]¶õÑ]’eµ‘ÕÕ½uî¿ØÒCŸ‡•ÄܨU° €´j¹Ýôïˆl×1}ç!¶´ï|ð8 1[†ê²‡ÿBq¿ |J+Tغ…¹##³ZÀŠdÈ‹¼e0¹°KMìQ­çhÊ_ŠÄÖq÷[உ QAú®rúí¿¿Ð’aتòã’ÜüÐ!,ÇžÄ糨ñÓEø/g£©Ö¸óãÆu`i}u‘Ô›á;‹Þ+n,ýßÍò«Ÿá þ.N0ÛÇ0Ñ4êJâÉq9'€êŸŠ ˆq“]7-(—Wó†íVnƒE>~Ø.¿Œ‡GDŠvhD%ͤA±äöc§&bÙ6í¼Ø3 8g"`yÌfDï[Û tÈ5¼fJ+FÑx ØôNrlÒàTŠìî,e…EEÚô´m€à^*bŠ&µñ½»’ó4p§’Í}»"EZr¡5_•Á\LD?³ñÿì/Cš1gøÐfï"PlæjÓ”?hûVH,VÈ»8$£‰Š1— c<è§øŽ«ÂËÝ‹qÿ`A“_m±w‘ò]_GSK+‰™ùg4_öiç õ8V0ÀÑÏ·É””ãj‡s„œsóa\'x¬Z¦TX…lQ– Ð6pxT±ÈËáÖ¹©ß¿;N,ª"÷h¬,?÷µáK™Í=Ǧġtšø„Ÿ÷í ôÎòX:1 ‹èNKúw²a[76€ÞIg=×@eœDÖDܨ¬¡ü&TãŒ-ÿ®,Ó²ûÐs×cFœ þp-x³™¦ŸugBHìdAÂwxÕ%ÛúH’{ pÓÂÅ{Sƒž¸6‡>Ì´M¢à"Ô ª.UT¡†ÿÃUBa7ÀÚs°–eQ°Bh'h :ë97éû•]çíÙ ïê¨0˜;êÒŠYn¥/îÐ2MàÕCG0‘¦ÄiΖK¤±‰„«C¨ñéY‘+f –ÁvÂ@OÀCv–]HÁÇŠ‚×4ùÿeþ+3?D³X»ShÁ<÷2öYm/U8jÑâÈïýöŸ¥6…°™•ýϯ ÎŚͧ箶×>ÝOµmÇ^¾ iý˰M-ÞJÔ‚±ü¬g ¼`ëecâ ¿e]àèèå˜ ÈORÆg69„ä©Ù—Õf–Á£pÄYñÙ¥³¿C€1øÌñÜ5|$ç&®Ve˜‘s ¡ö†a=:aRM8ú ®½£Ûé†ä°ÿ)käF`S¼”{Ìaü}u\Ä51j¨éHe»&j”Ë¡cIgÞÈüË!_§'Ó÷­¢¯4BRÖŒH¿ôwà_,™‹@`œbß’^ê"6ß<Ô Ó~øúpÁ?>þˆ™.µèT"r0Ý}D{Ì2Ùó„líòº,{"Ýôýv#X3%uâ û¿,©åaóýÈ÷èç{?„UîoAƧ¶€¡DúP€œ¢OËvžÃÓ€xÎfâ)À9ì6 –#Üñ_\~Ã6Š#SêäÑ#254ßùã± ø‰Ôùe(¹¬ ñzô"\Ὺ6¾:èªÉ´<â³ô»“?Q)ú"È$†¨]ZOrDØÓ`ܯejxÈ¥Xæ¶h u£p‰Œ`BˆÁ¶#üGZ* !hê8ó IÌ·ˆ°Ðµ/ËÛÏK×ïd-¾ \OT-I‚5® Zh¢ž¡Z-ÿú\j¿N=ÞÂ7M&‚ÓT¯2mxŸi÷ZÕÜÐn$N{F£íƒ H#½'í¶™b$“—ë@cô»Ÿ¼”gZÄ3ç­U‰”õ¿µH¯¬ø¯ò “ð¹Ýµ÷~2mÝ×¶Ý"ƒ<;·Ð½k"Yà&Z𳎳‘La<8¸Ï¾Ù||áì-k¤ÿ‡´Âqö¾O‰Á)‡Ú fB gÎAl#8Øy7}z¼1deèOŠMsjlš9Ñ^où^®«»ú±0zÚW©V³ó«nYSÒà±FxÀþ%&ç{Ì€2 “ ªÃ@m¦ã1>Wù° és€j ¹!Ýɶٺö—ê#T°ªå‹‚ëÞ „ŸsyÒõ9!wM$™ÇÍ‹T,÷LA°­Ô+ч2ÎMª?Z"+cƒâ =ÎmÒV×|“h¶@x0SÅ s@jNÖMã}»´ ?èçÂý€äôÊÂ|¶>lè_©§8¢÷‘›Ú›ê=äÅ" ‘(¸£JêÊK½î  ¯K˜õ”.õÎÇÞ<ß·´ Q¼LU ÿúIFd*®äbÔç›]Ä:ÐÍë:Uª¾_HåÀBkÏKO#kT¶¹t*¨ÇïMóëT9×'ñ‘Ç Öf¶Ž4òJG§=úl¹„ò2Xïþmc’.œ±4ùù8å-Ö†Oó{XçæR£{+0ÊrÚ¡çþ§ÕZj˜=a–I-‘ò6ZqTŽGƒW–’z]îš!»c •ðþ‹ù'k)”G (eL v¡žøu@¶]™nÏ&Twû‚Úår{¦½ËPêç;çŸ6ú5k+ÄãÒžµW[ˆ­`» ¸= ©…Bãl½B(GFß”p.ã,è°SgR§@r´líç>[;nœ¶w¥›Rððõ–ïtÈ3öÔD}ÊÙ/#RN6‚ B¢4a¦Õ°Öý›ûDdå<Ûr_†ÊžU‘ÞÕcÜP;BCÓ X#RÖEo‡cKؾ’½è »8§@¥ûA=§Ç Ëýl•[ñüúÒ½ö×ý–y.êîž0gÖbÍ8Çÿ‚Ž+â_x#½iýÍEn[F`H÷§øa”6­6 š4aH/ùþ”LK*Ÿ“ƒÝôå‰ëºÉ¥¼ÔÃ4.O½ .™„8è¦&?çl*ÿÞ¼•føg²¶ª{õ–‚ê:Ú¢ý§`ÿË{ò™þä£98ÙЊ±IÆhŒÒ¦lg“WçgÓ8h(ÓßjpXο,@•RÚT"Šš\¦f%#`HCñ2ÌŸqrö_ƒ±s0i&,ál3–SûrE6†Û—‰²ãV‚@!„åÙ3k-jˆ™mfæ'½~ƒ~‡nà% 3[»6­m.ßJœ;þ«…•d}®£mW™Ò³Í´ªihþÕeHgÅê\ü{Vgç“ùÎ_Ý•ÀØH æL‹“\ Î9jáàŽÏ®òbk¯Æ¥Èy&˜gýª¡˜‡‰P|ëñcÌÿñòè§ÉŸ÷»d™ÎƒðL`+ß\íñ`¤|ÓŸ’?\Ÿ%ŒP¸&Ý:J ÷n9ûéM;*y‘1c¬±ÖÇál~9.Zx/§d”qp;ÞóûÀ©ÍÞPã•ô_Ç‘ñÓÙÅÔD²ÂÉ{6E1vte'áΤú iÅ›¨ õáÁsc¯÷ÃnpO­"O޾±Mý¬eK–‘–.:}QËøçò½ ÛÁ$µ6rÅD—ÕÉ“ø?wöL/šd¡‡“s®Ïõá6|á7R¼}*yn'{¬‘{íƒO‘H¬®BÐÜóÒ+éNX6BæØÏýJŽ]Å1'Žñ0ÕT4¢©Ìœäëžâ¼8Mû Šˆ†x g®¾æ<5zà°¸@<•)Þ1ñýë©°ükukзì yæ°i@ìnÂq"¦2Å`«â !}i³×«qZ4]¦ÍÝ­—AE_Š#ôm‡LL¶`…¾Y†@9ï+´3䳎o´lh[%»‚® ü°.hõ ‡fR;à2B(æch;Në^ᦪ~pHó3Ø$Ym-%õÍPSáþ7ÄuQ÷3Áø»bNlZuxøº)÷ ‰±SÛ—ýä‹Im¡ÕI<®“)f;ÕÒm%Àß§þd,p•ʺt†£yÜ~tôWô•òj½mS¸O—ÂààPÎôúJöX^;ødtùë|%l<‹í™œz*‡ôr{Û&€7B†ó”JÔ1™” 8Øêhød+ÅrÓTÛËà„°ÐnbûP„P ­£öD’‰(ÇDööÁK¸'ÔÝÎR‡ê÷Ö§ûg‹ÏŸ !h)/'âÈŠ‰QâÆD9.ÃB?2Ä>ù&KΚ›`8Ú€è˜ uÇ}À‡®úö޹ +Ñr}wØÌßjûŸzÉë¸Ø„Nkz‘ÖôÕz¯MKr DÓk½ ·«üMáÎö[qÇì½fémp^|o€c©pîÚ¼æ³xNdá-jˆÍš_ñ\"ÔšŒÈóêæSE½®È8ø »ŒWQ¼ägkÍü}õV8«5,,/*WGqùKÇ7*œz¨]ì’ps¹¸ŽÑ¦]|ƒóŠ t.ª%ü3‚YVy¯!IdÒ!¾¨ç " À.«+&Gæà§z×ém'É´( D¼Û衹TÎì}„RÅwª…Ü’”zA,‰_ѳé|M¥_ãx¨—·¸Å¬çJY•h ±o˜ó(dÁtÀ*sù<£“eu3ç:…E^<ì"ü¤ëŸ$ÔãE¦Ö²ô~¤D˜­óÇ[mâ/ê.èÁÂ{=ËÖ\ îxˆL~xq™ñ»íœ(øüäg¡¾ÂUïçÚ¾gJ84ûôùQB§÷3€øi@°Rø4Gá ¥+CŠla©X7“gÔ+A´L™(/‘ ­_ƒ¡Æß{rû°ª{º~ˆe1³É)HÏÜEЊæ-zÌî_zÃöÛaú7a:¿“5·pí¬ûÍËÿs´yÏœ?³×ƒÝã}7ÐÓ›}$»ˆwLµïð'§R¥_ç/W5'Lå nýýß/¡¦ï°^È>Gˆh'¡ð C_‘ ©— 䬑)LOMQïÁE}ΘXS'ƒFJíú‰bÊ;CJæóš½q_ ß„éÃú¶g¬I.ç,Þ ÿ£Ö®r°1Áºm°I¥\¡º— Ö·jô³€°ô`™”Êú£<37°·ÓB‚/ _Ú£S¶Z^ºPÁ‡²ìq®š9º!#TØiÄÆÇÔìmÓ©k•>°Ö–wÜ5èœÑ&@Ô†ë¶ä°‰_ÑhÁguŸÉ±H>PÝñ˜6òxC¼’Ñø='q­sÉB!5ÔÉ% ùˆ‚ˆ¹aDÚnmò‹*14Øó,äh—ÓÝp-¬]ª¤&QN^ƒ„·÷óžEâWìt¼!îMò¬¯¨TÀáÀì-¥b€ Õ!¤˜z§pÏÙK·µÙF¶æ![~ݶ¶ÊX„D›Aµ/nßÜOÎ#YXšJÖlx‹ A1c£Î> RpP  ê¡Ëà…`.þ ³4AÕœzÃ[4ºkUóÂF\Hzá!‚»¦[ß­ÔK˜$x3É*R÷/b¹ÍýÖ5æ@ù%”ì® j‘Y‘Xì)¾‚(ù×ÂóÀQÞ«hÇÞf7¡w¡_—Ž}N.­ŠŒ¹8¯[9êýRL§s-`‡-?SQÏÔk_V-»- î:Dq{~¶=Ø —7lÍ|ªúnº$S•Û8X´Ø*¦kp5 Ü1Ô$þTgû±™ Gxr¤3ER…æÏöü)·;îãKÒÂ|’#¹»h4šV7=žô§23äÀHm-uꢨUÿñ¤ÒÇD‡Ÿ|YÊ*wAÜœ­uÁ!Ç|6b¸P\aý´’K_ÃzÜ5tjJAw÷@vø{«ço¶”õÜþa^·íˆVU¸Œò•ŒC¹ùgÜÀ™Þd¥eðXÜâzEaƒ0?î¦÷ðŽÿÎÛÍ-±rlZ^ßó,ý0ŒH nÿäx¸…~~Óz}íøF… ¸lÀþöuÛ<Ùn á… ‡EÀ×G”­ì‹µæ…¯9÷OÍŽ4ª1è!¤ã,yÎy!ÊßçVù‘;¨@HÜAvr4LÑò&€(:ý‚aL©½ݰSþçHäm|·:€âŠß¤ØA‡3’ÌJ–æ•…47@| ÐÒ?¶?#$"¥Òééâ¦Ä&Èá¤ËJ¯hg˜»¯÷õnä<>½ôH,¯mX¸•º%%ü9„qTûªÍÚÿ}hÆ9Îí‰m;Ñ1¡œÀðŤº%=Êÿ:^¼doÃ=ҾƄÏm!¨M·«ä"öv4,¼'\ùd…ãV6Û§VYê±¢v: rk¼7œplÚhé­O}5íT¬Ùü¦öÞ±sa'²AÎ|"5>!qÙä/K#D9…§=Xw{xìT¹ç—‹=<ËB>=9¸ÏéÿU="zcÀɞV2ö&ëñðÄäÞì øDÿêšQÒœ&PüãABÓÃhaV8Å¢=§©Ä‡[¤ÃåÎÕŒ82±çÜS6­ÒÆ¢yžÏOèP—f÷ÈØ=ÿ_ê¸Ç¦[.{lú8Í¿b®åO7.A¢>ÎS4Ѧž4=²Þn*QJæSyJayžáÓUÄ…Y8-ÜÌ<Ç¢ã–ÚLë±%µØ(‹ÑòÝ@w,?;/Êkª'‰lvxÁ··xÛÏÌ,¡ÿbÞG/“ÌK«qDQÐ6 _]Ûm®Ó ¸ü>–pÆ—[Ç0å‚9ð” /'Ká|=Ç_å/øH ¨Œ{ž._ ÛcpmhÄaéÒ¦p°ß& |LeK:§yÁ{%ã&…‹fNk}0`(}vê¬1¦)`]¿c•lp+sçÒä‡^¿G›e4Ö™sÖN¨ä”AI'õ'›Îò°Sz*÷DtCH,KÈÀ†Õí 9, :Õ`–îèX–¡W£‚n ÏFä-Wš õæfPüü¯/¦eá<6ŸrV¦zñKïåí÷d©ä2 =ÇTOÒòwcz}0žc¥7õþ‚u¶ø¿âÖ(?5+X½’(7bbÔNY0òØÕüøp¨¿ùWGXÃ}›À§br!¯5ÔòmdœŽ+q®ŒO¾Ï*¦e§~ñLúí5>ëH7ìÆÅÕ²_×=B嫾6_ëxáw­œ6<÷>‡Áx—kâvÿªóE« ­llÖHâ^ÁorFŒ3fäP²ã1öBÈÔ\ë¹J€ßBÓ TÓµ}öL³ð[úûί)”Ñû=Bð¸a}o&Ôó*äPÁQx«¤üÓú+*S •“È :›¢9ତbö‹ë@V¦| ¹#¹ò扅EM×ÉÝMüË>Pq¸fî7ðÙO(|–¼„º‡ýÒ}ë'Z8(ºyÖXBa`ìSP^êç~åòrªhK/Ú`P/¹¡ƒ`å¼m&áK='ðˆ§ç(^M*wç|b–!®áx 3eäsŒš}Ó4ÁôÆ‚mÖ?…k¢Ò·ÇP쯈uC=ÄâWƒ´ÅŒ?¥ e@¥mÔâÆÆ°ÖÇÇ1‚Ù…Mó.âÄÚ™Y¶tÒÊç$ñ,s¡3‚ŽV]+£I0¾SÖ·ÆŒ%KÔXÓ ãYŒF±»}¸„õZ.±²|åöTYÉ^â”V›: +•4Õû™))솞æZ5—ðá ¥Xƒ··5ßž¢×æÞÅÜ"´Z^ˆ/(!Œ(¢LÈ´ö™x‘¾¢Æòr£_„vX¨B&)( \–Âìž8Î[ÖðƒAñòzìs¯V£K?,šõÈÆóËO¬^ì 4J’GuçМ«E»÷¯é­õ %œî|ØsúÉFá÷æþÖÍŽ’‘‹%YólȈÈ0E‰© ˆ2q”¤) Òãq1Í97ìrý-“äЭ$¡âÀ¦ß¾KŠhŠØ$ÄÙ–¯íü:È$†Õc¯箩Ñq•qÓ‘wS° 2Y‰íckï!·½üŽ  £Õ“ÿzn º¿ ®Á…S»5¼,[ÕÓ×ÒÛµìea‡ýà‹Â³÷ÕÇè¸^ÏãæõbÓ0A‹Qe8ˆW°Ñ1Bê¾l(ÊùéuKù»‰cDøNBŠö&+Øk¤h,Ä.ÀÞ aÙbuï뇣p( à“󄢄˜6¶W{‰ë~Ô7ñX³û†­S£ÚuN±Ú½ìQ3$ØG$º·3¢%TIëH›θqµÁq"°õ¿”äCÜ S~·v)µ¯P½—wu­¤×¹§HBâ¨zâÔ¸m»°¿ò DæœÃ±]q}M/bg ^¥7ã´¥L42( ZŽÆÒ f[›ÔgE*’ôþ®šn÷üçâZË {½]/u¢+-v³³ª/‡ßYµôÊPþzxÕ|U ?ý`> 뼌‹ËD§ç¾LM"©¹¨dÇË^ñ 0”o­×ãÊ#E&ž oyGý27 ³gîU«>ùà<È›òç€\±°¬ #é— Ä÷…¥á“ã2›ãQ@YZlme4/R/lmer.R0000644000176200001440000033417114770325770012423 0ustar liggesusers## NB: doc in ../man/*.Rd ***not*** auto generated ## FIXME: need to document S3 methods better (can we pull from r-forge version?) ##' Fit a linear mixed model (LMM) lmer <- function(formula, data=NULL, REML = TRUE, control = lmerControl(), start = NULL , verbose = 0L , subset, weights, na.action, offset , contrasts = NULL , devFunOnly=FALSE ) ## , ...) { mc <- mcout <- match.call() missCtrl <- missing(control) ## see functions in modular.R for the body .. if (!missCtrl && !inherits(control, "lmerControl")) { if(!is.list(control)) stop("'control' is not a list; use lmerControl()") ## back-compatibility kluge warning("passing control as list is deprecated: please use lmerControl() instead", immediate.=TRUE) control <- do.call(lmerControl, control) } ## if (!is.null(list(...)[["family"]])) { ## warning("calling lmer with 'family' is deprecated; please use glmer() instead") ## mc[[1]] <- quote(lme4::glmer) ## if(missCtrl) mc$control <- glmerControl() ## return(eval(mc, parent.frame(1L))) ## } mc$control <- control ## update for back-compatibility kluge ## https://github.com/lme4/lme4/issues/50 ## parse data and formula mc[[1]] <- quote(lme4::lFormula) lmod <- eval(mc, parent.frame(1L)) mcout$formula <- lmod$formula lmod$formula <- NULL if (is.matrix(y <- model.response(lmod$fr)) && ncol(y) > 1) { stop("can't handle matrix-valued responses: consider using refit()") } ## create deviance function for covariance parameters (theta) devfun <- do.call(mkLmerDevfun, c(lmod, list(start=start, verbose=verbose, control=control))) if (devFunOnly) return(devfun) ## optimize deviance function over covariance parameters if (identical(control$optimizer,"none")) stop("deprecated use of optimizer=='none'; use NULL instead") opt <- if (length(control$optimizer)==0) { s <- getStart(start, environment(devfun)$pp) list(par=s,fval=devfun(s), conv=1000,message="no optimization") } else { optimizeLmer(devfun, optimizer = control$optimizer, restart_edge = control$restart_edge, boundary.tol = control$boundary.tol, control = control$optCtrl, verbose=verbose, start=start, calc.derivs=control$calc.derivs, use.last.params=control$use.last.params) } cc <- checkConv(attr(opt,"derivs"), opt$par, ctrl = control$checkConv, lbound = environment(devfun)$lower) mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr, mc = mcout, lme4conv=cc) ## prepare output }## { lmer } ##' Fit a generalized linear mixed model (GLMM) glmer <- function(formula, data=NULL , family = gaussian , control = glmerControl() , start = NULL , verbose = 0L , nAGQ = 1L , subset, weights, na.action, offset, contrasts = NULL , mustart, etastart , devFunOnly = FALSE) { if (!inherits(control, "glmerControl")) { if(!is.list(control)) stop("'control' is not a list; use glmerControl()") ## back-compatibility kluge if (class(control)[1]=="lmerControl") { warning("please use glmerControl() instead of lmerControl()", immediate.=TRUE) control <- ## unpack sub-lists c(control[!names(control) %in% c("checkConv","checkControl")], control$checkControl,control$checkConv) control["restart_edge"] <- NULL ## not implemented for glmer } else { msg <- "Use control=glmerControl(..) instead of passing a list" if(length(cl <- class(control))) { msg <- paste(msg, "of class", dQuote(cl[1])) } warning(msg, immediate.=TRUE) } control <- do.call(glmerControl, control) } mc <- mcout <- match.call() ## family-checking code duplicated here and in glFormula (for now) since ## we really need to redirect at this point; eventually deprecate formally ## and clean up if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame(2)) if( is.function(family)) family <- family() if (isTRUE(all.equal(family, gaussian()))) { ## redirect to lmer (with warning) warning("calling glmer() with family=gaussian (identity link) as a shortcut to lmer() is deprecated;", " please call lmer() directly") mc[[1]] <- quote(lme4::lmer) mc["family"] <- NULL # to avoid an infinite loop return(eval(mc, parent.frame())) } ## see https://github.com/lme4/lme4/issues/50 ## parse the formula and data mc[[1]] <- quote(lme4::glFormula) glmod <- eval(mc, parent.frame(1L)) mcout$formula <- glmod$formula glmod$formula <- NULL if (is.matrix(y <- model.response(glmod$fr)) && ((family$family != "binomial" && ncol(y) > 1) || (ncol(y) >2))) { stop("can't handle matrix-valued responses: consider using refit()") } ## create deviance function for covariance parameters (theta) nAGQinit <- if(control$nAGQ0initStep) 0L else 1L devfun <- do.call(mkGlmerDevfun, c(glmod, list(verbose = verbose, control = control, nAGQ = nAGQinit))) if (nAGQ==0 && devFunOnly) return(devfun) ## optimize deviance function over covariance parameters ## FIXME: perhaps should be in glFormula instead?? if (is.list(start)) { start.bad <- setdiff(names(start),c("theta","fixef")) if (length(start.bad)>0) { stop(sprintf("bad name(s) for start vector (%s); should be %s and/or %s", paste(start.bad,collapse=", "), shQuote("theta"), shQuote("fixef")),call.=FALSE) } if (!is.null(start$fixef) && nAGQ==0) stop("should not specify both start$fixef and nAGQ==0") } ## FIX ME: allow calc.derivs, use.last.params etc. if nAGQ=0 if(control$nAGQ0initStep) { opt <- optimizeGlmer(devfun, optimizer = control$optimizer[[1]], ## DON'T try fancy edge tricks unless nAGQ=0 explicitly set restart_edge=if (nAGQ==0) control$restart_edge else FALSE, boundary.tol=if (nAGQ==0) control$boundary.tol else 0, control = control$optCtrl, start=start, nAGQ = 0, verbose=verbose, calc.derivs=FALSE) } if(nAGQ > 0L) { ## update deviance function to include fixed effects as inputs devfun <- updateGlmerDevfun(devfun, glmod$reTrms, nAGQ = nAGQ) if (control$nAGQ0initStep) { start <- updateStart(start,theta=opt$par) } ## if nAGQ0 was skipped ## we don't actually need to do anything here, it seems -- ## getStart gets called again in optimizeGlmer if (devFunOnly) return(devfun) ## reoptimize deviance function over covariance parameters and fixed effects opt <- optimizeGlmer(devfun, optimizer = control$optimizer[[2]], restart_edge=control$restart_edge, boundary.tol=control$boundary.tol, control = control$optCtrl, start=start, nAGQ=nAGQ, verbose = verbose, stage=2, calc.derivs=control$calc.derivs, use.last.params=control$use.last.params) } cc <- if (!control$calc.derivs) NULL else { if (verbose > 10) cat("checking convergence\n") checkConv(attr(opt,"derivs"),opt$par, ctrl = control$checkConv, lbound=environment(devfun)$lower) } ## prepare output mkMerMod(environment(devfun), opt, glmod$reTrms, fr = glmod$fr, mc = mcout, lme4conv=cc) }## {glmer} ##' Fit a nonlinear mixed-effects model nlmer <- function(formula, data=NULL, control = nlmerControl(), start = NULL, verbose = 0L, nAGQ = 1L, subset, weights, na.action, offset, contrasts = NULL, devFunOnly = FALSE) { vals <- nlformula(mc <- match.call()) p <- ncol(X <- vals$X) if ((rankX <- rankMatrix(X)) < p) stop(gettextf("rank of X = %d < ncol(X) = %d", rankX, p)) rho <- list2env(list(verbose=verbose, tolPwrss=0.001, # this is reset to the tolPwrss argument's value later resp=vals$resp, lower=vals$reTrms$lower), parent=parent.frame()) rho$pp <- do.call(merPredD$new, c(vals$reTrms[c("Zt","theta","Lambdat","Lind")], list(X=X, n=length(vals$respMod$mu), Xwts=vals$respMod$sqrtXwt, beta0=qr.coef(qr(X), unlist(lapply(vals$pnames, get, envir = rho$resp$nlenv)))))) rho$u0 <- rho$pp$u0 rho$beta0 <- rho$pp$beta0 ## deviance as a function of theta only : devfun <- mkdevfun(rho, 0L, verbose=verbose, control=control) if (devFunOnly && !nAGQ) return(devfun) devfun(rho$pp$theta) # initial coarse evaluation to get u0 and beta0 rho$u0 <- rho$pp$u0 rho$beta0 <- rho$pp$beta0 rho$tolPwrss <- control$tolPwrss # Reset control parameter (the initial optimization is coarse) ## set lower and upper bounds: if user-specified, select ## only the ones corresponding to random effects if (!is.null(lwr <- control$optCtrl$lower)) { rho$lower <- lwr[seq_along(rho$lower)] control$optCtrl$lower <- NULL } upper <- rep(Inf, length(rho$lower)) if (!is.null(upr <- control$optCtrl$upper)) { upper <- upr[seq_along(rho$lower)] control$optCtrl$upper <- NULL } opt <- optwrap(control$optimizer[[1]], devfun, rho$pp$theta, lower=rho$lower, upper=upper, control=control$optCtrl, adj=FALSE) rho$control <- attr(opt,"control") if (nAGQ > 0L) { ## set lower/upper to values already harvested from control$optCtrl$upper rho$lower <- if(!is.null(lwr)) lwr else c(rho$lower, rep.int(-Inf, length(rho$beta0))) upper <- if(!is.null(upr)) upr else c( upper, rep.int( Inf, length(rho$beta0))) rho$u0 <- rho$pp$u0 rho$dpars <- seq_along(rho$pp$theta) ## fixed-effect parameters rho$beta0 <- pmin(upper[-rho$dpars], pmax(rho$pp$beta0,rho$lower[-rho$dpars])) if (nAGQ > 1L) { if (length(vals$reTrms$flist) != 1L || length(vals$reTrms$cnms[[1]]) != 1L) stop("nAGQ > 1 is only available for models with a single, scalar random-effects term") rho$fac <- vals$reTrms$flist[[1]] } devfun <- mkdevfun(rho, nAGQ, verbose=verbose, control=control) if (devFunOnly) return(devfun) opt <- optwrap(control$optimizer[[2]], devfun, par = c(rho$pp$theta, rho$beta0), lower = rho$lower, upper = upper, control = control$optCtrl, adj = TRUE, verbose=verbose) } mkMerMod(environment(devfun), opt, vals$reTrms, fr = vals$frame, mc = mc) }## {nlmer} ## R 3.1.0 devel [2013-08-05]: This does not help yet if(getRversion() >= "3.1.0") utils::suppressForeignCheck("nlmerAGQ") if(getRversion() < "3.1.0") dontCheck <- identity ## *not* exported (had help page till early 2018) ## -> issue #92: -> also look at devfun2() in ./profile.R (which returns class!) ##' Create a deviance evaluation function from a predictor and a response module ##' @param rho an `environment` already containing `verbose` and tolPwrss ##' @param nAGQ for glmer/nlmer: #{AGQ steps}; 0 <==> Laplace ##' @param maxit maximal number of PIRLS iterations ##' @param verbose integer specifying if outputs should be produced ##' @param control a list as from lmerControl() etc mkdevfun <- function(rho, nAGQ=1L, maxit = if(extends(rho.cld, "nlsResp")) 300L else 100L, verbose=0, control=list()) { ## FIXME: should nAGQ be automatically embedded in rho? stopifnot(is.environment(rho), ## class definition, compute and save : extends(rho.cld <- getClass(class(rho$resp)), "lmResp")) ## silence R CMD check warnings *locally* in this function ## (clearly preferred to using globalVariables() !] fac <- pp <- resp <- lp0 <- compDev <- dpars <- baseOffset <- tolPwrss <- pwrssUpdate <- ## <-- even though it's a function below GQmat <- nlmerAGQ <- NULL ## The deviance function (to be returned, with 'rho' as its environment): ff <- if (extends(rho.cld, "lmerResp")) { rho$lmer_Deviance <- lmer_Deviance function(theta) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), as.double(theta)) } else if (extends(rho.cld, "glmResp")) { ## control values will override rho values *if present* if (!is.null(tp <- control$tolPwrss)) rho$tolPwrss <- tp if (!is.null(cd <- control$ compDev)) rho$compDev <- cd if (nAGQ == 0L) function(theta) { resp$updateMu(lp0) pp$setTheta(theta) p <- pwrssUpdate(pp, resp, tol=tolPwrss, GQmat=GHrule(0L), compDev=compDev, maxit=maxit, verbose=verbose) resp$updateWts() p } else ## nAGQ > 0 function(pars) { ## pp$setDelu(rep(0, length(pp$delu))) resp$setOffset(baseOffset) resp$updateMu(lp0) pp$setTheta(as.double(pars[dpars])) # theta is first part of pars spars <- as.numeric(pars[-dpars]) offset <- if (length(spars)==0) baseOffset else baseOffset + pp$X %*% spars resp$setOffset(offset) p <- pwrssUpdate(pp, resp, tol=tolPwrss, GQmat=GQmat, compDev=compDev, grpFac=fac, maxit=maxit, verbose=verbose) resp$updateWts() p } } else if (extends(rho.cld, "nlsResp")) { if (nAGQ <= 1L) { rho$nlmerLaplace <- nlmerLaplace rho$tolPwrss <- control$tolPwrss rho$maxit <- maxit switch(nAGQ + 1L, function(theta) .Call(nlmerLaplace, pp$ptr(), resp$ptr(), as.double(theta), as.double(u0), beta0, verbose, FALSE, tolPwrss, maxit), function(pars) .Call(nlmerLaplace, pp$ptr(), resp$ptr(), pars[dpars], u0, pars[-dpars], verbose, TRUE, tolPwrss, maxit)) } else { stop("nAGQ > 1 not yet implemented for nlmer models") rho$nlmerAGQ <- nlmerAGQ rho$GQmat <- GHrule(nAGQ) ## function(pars) { ## .Call(nlmerAGQ, ## <- dontCheck(nlmerAGQ) should work according to docs but does not ## pp$ptr(), resp$ptr(), fac, GQmat, pars[dpars], ## u0, pars[-dpars], tolPwrss) ##} } } else stop("code not yet written") environment(ff) <- rho ff } ## Determine a step factor that will reduce the pwrss ## ## The penalized, weighted residual sum of squares (pwrss) is the sum ## of the weighted residual sum of squares from the resp module and ## the squared length of u from the predictor module. The predictor module ## contains a base value and an increment for the coefficients. ## @title Determine a step factor ## @param pp predictor module ## @param resp response module ## @param verbose logical value determining verbose output ## @return NULL if successful ## @note Typically all this is done in the C++ code. ## The R code is for debugging and comparisons of ## results. ## stepFac <- function(pp, resp, verbose, maxSteps = 10) { ## stopifnot(is.numeric(maxSteps), maxSteps >= 2) ## pwrss0 <- resp$wrss() + pp$sqrL(0) ## for (fac in 2^(-(0:maxSteps))) { ## wrss <- resp$updateMu(pp$linPred(fac)) ## pwrss1 <- wrss + pp$sqrL(fac) ## if (verbose > 3L) ## cat(sprintf("pwrss0=%10g, diff=%10g, fac=%6.4f\n", ## pwrss0, pwrss0 - pwrss1, fac)) ## if (pwrss1 <= pwrss0) { ## pp$installPars(fac) ## return(NULL) ## } ## } ## stop("step factor reduced below ",signif(2^(-maxSteps),2)," without reducing pwrss") ## } RglmerWrkIter <- function(pp, resp, uOnly=FALSE) { pp$updateXwts(resp$sqrtWrkWt()) pp$updateDecomp() pp$updateRes(resp$wtWrkResp()) if (uOnly) pp$solveU() else pp$solve() resp$updateMu(pp$linPred(1)) # full increment resp$resDev() + pp$sqrL(1) } ##' @param pp pred module ##' @param resp resp module ##' @param tol numeric tolerance ##' @param GQmat matrix of Gauss-Hermite quad info ##' @param compDev compute in C++ (as opposed to doing as much as possible in R) ##' @param grpFac grouping factor (normally found in environment ..) ##' @param verbose verbosity, of course glmerPwrssUpdate <- function(pp, resp, tol, GQmat, compDev=TRUE, grpFac=NULL, maxit = 70L, verbose=0) { nAGQ <- nrow(GQmat) if (compDev) { if (nAGQ < 2L) return(.Call(glmerLaplace, pp$ptr(), resp$ptr(), nAGQ, tol, as.integer(maxit), verbose)) return(.Call(glmerAGQ, pp$ptr(), resp$ptr(), tol, as.integer(maxit), GQmat, grpFac, verbose)) } ### does this show anywhere ??? [i.e. is it ever used in our checks/examples/scripts/vignettes ? ### message("glmerPwrssUpdate(*, compDev=FALSE) --> using more R, no direct .Call() to C.") # [DBG] only oldpdev <- .Machine$double.xmax uOnly <- nAGQ == 0L i <- 0 repeat { ## oldu <- pp$delu ## olddelb <- pp$delb pdev <- RglmerWrkIter(pp, resp, uOnly=uOnly) if (verbose > 2) cat(i,": ",pdev,"\n",sep="") ## check convergence first so small increases don't trigger errors if (is.na(pdev)) stop("encountered NA in PWRSS update") if (abs((oldpdev - pdev) / pdev) < tol) break ## if (pdev > oldpdev) { ## ## try step-halving ## ## browser() ## k <- 0 ## while (k < 10 && pdev > oldpdev) { ## pp$setDelu((oldu + pp$delu)/2.) ## if (!uOnly) pp$setDelb((olddelb + pp$delb)/2.) ## pdev <- RglmerWrkIter(pp, resp, uOnly=uOnly) ## k <- k+1 ## } ## } if (pdev > oldpdev) stop("PIRLS update failed") oldpdev <- pdev i <- i+1 } resp$Laplace(pp$ldL2(), 0., pp$sqrL(1)) ## FIXME: should 0. be pp$ldRX2 ? } ## create a deviance evaluation function that uses the sigma parameters ## df2 <- function(dd) { ## stopifnot(is.function(dd), ## length(formals(dd)) == 1L, ## is((rem <- (rho <- environment(dd))$rem), "Rcpp_reModule"), ## is((fem <- rho$fem), "Rcpp_deFeMod"), ## is((resp <- rho$resp), "Rcpp_lmerResp"), ## all((lower <- rem$lower) == 0)) ## Lind <- rem$Lind ## n <- length(resp$y) ## function(pars) { ## sigma <- pars[1] ## sigsq <- sigma * sigma ## sigmas <- pars[-1] ## theta <- sigmas/sigma ## rem$theta <- theta ## resp$updateMu(numeric(n)) ## solveBetaU(rem, fem, resp$sqrtXwt, resp$wtres) ## resp$updateMu(rem$linPred1(1) + fem$linPred1(1)) ## n * log(2*pi*sigsq) + (resp$wrss + rem$sqrLenU)/sigsq + rem$ldL2 ## } ## } ## bootMer() ---> now in ./bootMer.R ## Methods for the merMod class ## Anova for merMod objects ## ## @title anova() for merMod objects ## @param a merMod object ## @param ... further such objects ## @param refit should objects be refitted with ML (if applicable) ## @return an "anova" data frame; the traditional (S3) result of anova() anovaLmer <- function(object, ..., refit = TRUE, model.names=NULL) { mCall <- match.call(expand.dots = TRUE) dots <- list(...) .sapply <- function(L, FUN, ...) unlist(lapply(L, FUN, ...)) modp <- (as.logical(vapply(dots, is, NA, "merMod")) | as.logical(vapply(dots, is, NA, "lm"))) if (any(modp)) { ## multiple models - form table ## opts <- dots[!modp] mods <- c(list(object), dots[modp]) nobs.vec <- vapply(mods, nobs, 1L) if (var(nobs.vec) > 0) stop("models were not all fitted to the same size of dataset") ## model names if (is.null(mNms <- model.names)) mNms <- vapply(as.list(mCall)[c(FALSE, TRUE, modp)], deparse1, "") ## HACK to try to identify model names in situations such as ## 'do.call(anova,list(model1,model2))' where the model names ## are lost in the call stack ... this doesn't quite work but might ## be useful for future attempts? ## maxdepth <- -2 ## depth <- -1 ## while (depth >= maxdepth & ## all(grepl("S4 object of class structure",mNms))) { ## xCall <- match.call(call=sys.call(depth)) ## mNms <- .sapply(as.list(xCall)[c(FALSE, TRUE, modp)], deparse) ## depth <- depth-1 ## } ## if (depth < maxdepth) { if (any(substr(mNms, 1,4) == "new(") || any(duplicated(mNms)) || ## <- only if S4 objects are *not* properly deparsed max(nchar(mNms)) > 200) { warning("failed to find model names, assigning generic names") mNms <- paste0("MODEL",seq_along(mNms)) } if (length(mNms) != length(mods)) stop("model names vector and model list have different lengths") names(mods) <- sub("@env$", '', mNms) # <- hack models.reml <- vapply(mods, function(x) is(x,"merMod") && isREML(x), NA) models.GHQ <- vapply(mods, function(x) is(x,"glmerMod") && getME(x,"devcomp")$dims["nAGQ"]>1 , NA) if (any(models.GHQ) && any(vapply(mods, function(x) is(x,"glm"), NA))) stop("GLMMs with nAGQ>1 have log-likelihoods incommensurate with glm() objects") if (refit) { ## message only if at least one models is REML: if (any(models.reml)) message("refitting model(s) with ML (instead of REML)") mods[models.reml] <- lapply(mods[models.reml], refitML) } else { ## check that models are consistent (all REML or all ML) if(any(models.reml) && any(!models.reml)) warning("some models fit with REML = TRUE, some not") } ## devs <- sapply(mods, deviance) llks <- lapply(mods, logLik) ## Order models by increasing degrees of freedom: ii <- order(npar <- vapply(llks, attr, FUN.VALUE=numeric(1), "df")) mods <- mods[ii] llks <- llks[ii] npar <- npar [ii] calls <- lapply(mods, getCall) data <- lapply(calls, `[[`, "data") if(!all(vapply(data, identical, NA, data[[1]]))) stop("all models must be fit to the same data object") header <- paste("Data:", abbrDeparse(data[[1]])) subset <- lapply(calls, `[[`, "subset") if(!all(vapply(subset, identical, NA, subset[[1]]))) stop("all models must use the same subset") if (!is.null(subset[[1]])) header <- c(header, paste("Subset:", abbrDeparse(subset[[1]]))) llk <- unlist(llks) chisq <- 2 * pmax(0, c(NA, diff(llk))) dfChisq <- c(NA, diff(npar)) val <- data.frame(npar = npar, ## afraid to swap in vapply here; wondering ## why .sapply was needed in the first place ... AIC = .sapply(llks, AIC), # FIXME? vapply() BIC = .sapply(llks, BIC), # " " logLik = llk, "-2*log(L)" = -2*llk, Chisq = chisq, Df = dfChisq, "Pr(>Chisq)" = ifelse(dfChisq==0,NA,pchisq(chisq, dfChisq, lower.tail = FALSE)), row.names = names(mods), check.names = FALSE) class(val) <- c("anova", class(val)) forms <- lapply(lapply(calls, `[[`, "formula"), deparse1) structure(val, heading = c(header, "Models:", paste(rep.int(names(mods), lengths(forms)), unlist(forms), sep = ": "))) } else { ## ------ single model --------------------- if (length(dots)>0) { warnmsg <- "additional arguments ignored" nd <- names(dots) nd <- nd[nzchar(nd)] if (length(nd)>0) { warnmsg <- paste0(warnmsg,": ", paste(sQuote(nd),collapse=", ")) } warning(warnmsg) } dc <- getME(object, "devcomp") X <- getME(object, "X") stopifnot(length(asgn <- attr(X, "assign")) == dc$dims[["p"]]) ss <- as.vector(object@pp$RX() %*% object@beta)^2 names(ss) <- colnames(X) terms <- terms(object) nmeffects <- attr(terms, "term.labels")[unique(asgn)] if ("(Intercept)" %in% names(ss)) nmeffects <- c("(Intercept)", nmeffects) ss <- unlist(lapply(split(ss, asgn), sum)) stopifnot(length(ss) == length(nmeffects)) df <- lengths(split(asgn, asgn)) ## dfr <- unlist(lapply(split(dfr, asgn), function(x) x[1])) ms <- ss/df f <- ms/(sigma(object)^2) ## No longer provide p-values, but still the F statistic (may not be F distributed): ## ## P <- pf(f, df, dfr, lower.tail = FALSE) ## table <- data.frame(df, ss, ms, dfr, f, P) table <- data.frame(df, ss, ms, f) dimnames(table) <- list(nmeffects, ## c("npar", "Sum Sq", "Mean Sq", "Denom", "F value", "Pr(>F)")) c("npar", "Sum Sq", "Mean Sq", "F value")) if ("(Intercept)" %in% nmeffects) table <- table[-match("(Intercept)", nmeffects), ] structure(table, heading = "Analysis of Variance Table", class = c("anova", "data.frame")) } }## {anovaLmer} ##' @importFrom stats anova ##' @S3method anova merMod anova.merMod <- anovaLmer ##' @S3method as.function merMod as.function.merMod <- function(x, ...) { rho <- list2env(list(resp = x@resp$copy(), pp = x@pp$copy(), beta0 = x@beta, u0 = x@u), parent=as.environment("package:lme4")) ## FIXME: extract verbose [, maxit] and control mkdevfun(rho, getME(x, "devcomp")$dims[["nAGQ"]], ...) } ## coef() method for all kinds of "mer", "*merMod", ... objects ## ------ should work with fixef() + ranef() alone coefMer <- function(object, ...) { if(...length()) warning('arguments named ', paste(sQuote(...names()), collapse = ", "), ' ignored') fef <- data.frame(rbind(fixef(object)), check.names = FALSE) ref <- ranef(object, condVar = FALSE) ## check for variables in RE but missing from FE, fill in zeros in FE accordingly refnames <- unlist(lapply(ref,colnames)) nmiss <- length(missnames <- setdiff(refnames,names(fef))) if (nmiss > 0) { fillvars <- setNames(data.frame(rbind(rep(0,nmiss))),missnames) fef <- cbind(fillvars,fef) } val <- lapply(ref, function(x) fef[rep.int(1L, nrow(x)),,drop = FALSE]) for (i in seq_along(val)) { refi <- ref[[i]] row.names(val[[i]]) <- row.names(refi) nmsi <- colnames(refi) if (!all(nmsi %in% names(fef))) stop("unable to align random and fixed effects") for (nm in nmsi) val[[i]][[nm]] <- val[[i]][[nm]] + refi[,nm] } class(val) <- "coef.mer" val } ## {coefMer} ##' @importFrom stats coef ##' @S3method coef merMod coef.merMod <- coefMer ## FIXME: should these values (i.e. ML criterion for REML models ## and vice versa) be computed and stored in the object in the first place? ##' @importFrom stats deviance ##' @S3method deviance merMod deviance.merMod <- function(object, REML = NULL, ...) { ## type = c("conditional", "unconditional", "penalized"), ## relative = TRUE, ...) { if (isGLMM(object)) { return(sum(residuals(object,type="deviance")^2)) ## ------------------------------------------------------------ ## proposed change to deviance function for GLMMs ## ------------------------------------------------------------ ## @param type Type of deviance (can be unconditional, ## penalized, conditional) ## @param relative Should deviance be shifted relative to a ## saturated model? (only available with type == penalized or ## conditional) ## ------------------------------------------------------------ ## ans <- switch(type[1], ## unconditional = { ## if (relative) { ## stop("unconditional and relative deviance is undefined") ## } ## c(-2 * logLik(object)) ## }, ## penalized = { ## sqrL <- object@pp$sqrL(1) ## if (relative) { ## object@resp$resDev() + sqrL ## } else { ## useSc <- unname(getME(gm1, "devcomp")$dims["useSc"]) ## qLog2Pi <- unname(getME(object, "q")) * log(2 * pi) ## object@resp$aic() - (2 * useSc) + sqrL + qLog2Pi ## } ## }, ## conditional = { ## if (relative) { ## object@resp$resDev() ## } else { ## useSc <- unname(getME(gm1, "devcomp")$dims["useSc"]) ## object@resp$aic() - (2 * useSc) ## } ## }) ## return(ans) } if (isREML(object) && is.null(REML)) { warning("deviance() is deprecated for REML fits; use REMLcrit for the REML criterion or deviance(.,REML=FALSE) for deviance calculated at the REML fit") return(devCrit(object, REML=TRUE)) } devCrit(object, REML=FALSE) } REMLcrit <- function(object) { devCrit(object, REML=TRUE) } ## original deviance.merMod -- now wrapped by REMLcrit ## REML=NULL: ## if REML fit return REML criterion ## if ML fit, return deviance ## REML=TRUE: ## if not LMM, stop. ## if ML fit, compute and return REML criterion ## if REML fit, return REML criterion ## REML=FALSE: ## if ML fit, return deviance ## if REML fit, compute and return deviance devCrit <- function(object, REML = NULL) { ## cf. (1) lmerResp::Laplace in respModule.cpp ## (2) section 5.6 of lMMwR, listing lines 34-42 if (isTRUE(REML) && !isLMM(object)) stop("can't compute REML deviance for a non-LMM") cmp <- object@devcomp$cmp if (is.null(REML) || is.na(REML[1])) REML <- isREML(object) if (REML) { if (isREML(object)) { cmp[["REML"]] } else { ## adjust ML results to REML lnum <- log(2*pi*cmp[["pwrss"]]) n <- object@devcomp$dims[["n"]] nmp <- n - length(object@beta) ldW <- sum(log(weights(object, method = "prior"))) - ldW + cmp[["ldL2"]] + cmp[["ldRX2"]] + nmp*(1 + lnum - log(nmp)) } } else { if (!isREML(object)) { cmp[["dev"]] } else { ## adjust REML results to ML n <- object@devcomp$dims[["n"]] lnum <- log(2*pi*cmp[["pwrss"]]) ldW <- sum(log(weights(object, method = "prior"))) - ldW + cmp[["ldL2"]] + n*(1 + lnum - log(n)) } } } ## copied from stats:::safe_pchisq safe_pchisq <- function (q, df, ...) { df[df <= 0] <- NA pchisq(q = q, df = df, ...) } ##' @importFrom stats drop1 ##' @S3method drop1 merMod drop1.merMod <- function(object, scope, scale = 0, test = c("none", "Chisq", "user"), k = 2, trace = FALSE, sumFun=NULL, ...) { evalhack <- "formulaenv" test <- match.arg(test) if ((test=="user" && is.null(sumFun)) || ((test!="user" && !is.null(sumFun)))) stop(sQuote("sumFun"),' must be specified if (and only if) test=="user"') tl <- attr(terms(object), "term.labels") if(missing(scope)) scope <- drop.scope(object) else { if(!is.character(scope)) { scope <- attr(terms(getFixedFormula(update.formula(object, scope))), "term.labels") } if(!all(match(scope, tl, 0L) > 0L)) stop("scope is not a subset of term labels") } ns <- length(scope) if (is.null(sumFun)) { sumFun <- function(x,scale,k,...) setNames(extractAIC(x,scale,k,...),c("df","AIC")) } ss <- sumFun(object, scale=scale, k=k, ...) ans <- matrix(nrow = ns + 1L, ncol = length(ss), dimnames = list(c("", scope), names(ss))) ans[1, ] <- ss n0 <- nobs(object, use.fallback = TRUE) env <- environment(formula(object)) # perhaps here is where trouble begins?? for(i in seq_along(scope)) { ## was seq(ns), failed on empty scope tt <- scope[i] if(trace > 1) { cat("trying -", tt, "\n", sep='') flush.console() } ## FIXME: make this more robust, somehow? ## three choices explored so far: ## (1) evaluate nfit in parent frame: tests in inst/tests/test-formulaEval.R ## will fail on lapply(m_data_List,drop1) ## (formula environment contains r,x,y,z but not d) ## (2) evaluate nfit in frame of formula: tests will fail when data specified and formula is character ## (3) update with data=NULL: fails when ... ## if (evalhack %in% c("parent","formulaenv")) { nfit <- update(object, as.formula(paste("~ . -", tt)), evaluate = FALSE) ## nfit <- eval(nfit, envir = env) # was eval.parent(nfit) if (evalhack=="parent") { nfit <- eval.parent(nfit) } else if (evalhack=="formulaenv") { nfit <- eval(nfit,envir=env) } } else { nfit <- update(object, as.formula(paste("~ . -", tt)),data=NULL, evaluate = FALSE) nfit <- eval(nfit,envir=env) } if (test=="user") { ans[i+1, ] <- sumFun(object, nfit, scale=scale, k=k, ...) } else { ans[i+1, ] <- sumFun(nfit, scale, k = k, ...) } nnew <- nobs(nfit, use.fallback = TRUE) if(all(is.finite(c(n0, nnew))) && nnew != n0) stop("number of rows in use has changed: remove missing values?") } if (test=="user") { aod <- as.data.frame(ans) } else { dfs <- ans[1L, 1L] - ans[, 1L] dfs[1L] <- NA aod <- data.frame(npar = dfs, AIC = ans[,2]) if(test == "Chisq") { ## reconstruct deviance from AIC (ugh) dev <- ans[, 2L] - k*ans[, 1L] dev <- dev - dev[1L] ; dev[1L] <- NA nas <- !is.na(dev) P <- dev P[nas] <- safe_pchisq(dev[nas], dfs[nas], lower.tail = FALSE) aod[, c("LRT", "Pr(Chi)")] <- list(dev, P) } else if (test == "F") { ## FIXME: allow this if denominator df are specified externally? stop("F test STUB -- unfinished maybe forever") dev <- ans[, 2L] - k*ans[, 1L] dev <- dev - dev[1L] ; dev[1L] <- NA nas <- !is.na(dev) P <- dev P[nas] <- safe_pchisq(dev[nas], dfs[nas], lower.tail = FALSE) aod[, c("LRT", "Pr(F)")] <- list(dev, P) } } head <- c("Single term deletions", "\nModel:", deparse(formula(object)), if(scale > 0) paste("\nscale: ", format(scale), "\n")) if (!is.null(method <- attr(ss,"method"))) { head <- c(head,"Method: ",method,"\n") } structure(aod, heading = head, class = c("anova", "data.frame")) } ##' @importFrom stats extractAIC ##' @S3method extractAIC merMod extractAIC.merMod <- function(fit, scale = 0, k = 2, ...) { L <- logLik(refitML(fit)) edf <- attr(L,"df") c(edf,-2*L + k*edf) } ##' @importFrom stats family ##' @S3method family merMod family.merMod <- function(object, ...) family(object@resp, ...) ##' @S3method family glmResp family.glmResp <- function(object, ...) { # regenerate initialize # expression if necessary ## FIXME: may fail with user-specified/custom family? ## should be obsolete if(is.null(object$family$initialize)) return(do.call(object$family$family, list(link=object$family$link))) object$family } ##' @S3method family lmResp family.lmResp <- function(object, ...) gaussian() ##' @S3method family nlsResp family.nlsResp <- function(object, ...) gaussian() ##' @importFrom stats fitted ##' @S3method fitted merMod fitted.merMod <- function(object, ...) { xx <- object@resp$mu if (length(xx)==0) { ## handle 'fake' objects created by simulate() xx <- rep(NA,nrow(model.frame(object))) } if (is.null(nm <- rownames(model.frame(object)))) nm <- seq_along(xx) names(xx) <- nm if (!is.null(fit.na.action <- attr(model.frame(object),"na.action"))) napredict(fit.na.action, xx) else xx } ##' Extract the fixed-effects estimates ##' ##' Extract the estimates of the fixed-effects parameters from a fitted model. ##' @name fixef ##' @title Extract fixed-effects estimates ##' @aliases fixef fixed.effects fixef.merMod ##' @docType methods ##' @param object any fitted model object from which fixed effects estimates can ##' be extracted. ##' @param \dots optional additional arguments. Currently none are used in any ##' methods. ##' @return a named, numeric vector of fixed-effects estimates. ##' @keywords models ##' @examples ##' fixef(lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) ##' @importFrom nlme fixef ##' @export fixef ##' @method fixef merMod ##' @export fixef.merMod <- function(object, add.dropped=FALSE, ...) { X <- getME(object,"X") ff <- structure(object@beta, names = dimnames(X)[[2]]) if (add.dropped) { if (!is.null(dd <- attr(X,"col.dropped"))) { ## restore positions dropped for rank deficiency vv <- numeric(length(ff)+length(dd)) all.pos <- seq_along(vv) kept.pos <- all.pos[-dd] vv[kept.pos] <- ff names(vv)[kept.pos] <- names(ff) vv[dd] <- NA names(vv)[dd] <- names(dd) ff <- vv } } return(ff) } getFixedFormula <- function(form) { RHSForm(form) <- nobars(RHSForm(form)) form } ##' @importFrom stats formula ##' @S3method formula merMod formula.merMod <- function(x, fixed.only=FALSE, random.only=FALSE, ...) { if (missing(fixed.only) && random.only) fixed.only <- FALSE if (fixed.only && random.only) stop("can't specify 'only fixed' and 'only random' terms") if (is.null(form <- attr(x@frame,"formula"))) { if (!grepl("lmer$",deparse(getCall(x)[[1]]))) stop("can't find formula stored in model frame or call") form <- as.formula(formula(getCall(x),...)) } if (fixed.only) { form <- getFixedFormula(form) } if (random.only) { ## from predict.R form <- reOnly(form,response=TRUE) } form } ##' @S3method isREML merMod isREML.merMod <- function(x, ...) as.logical(x@devcomp$dims[["REML"]]) ##' @S3method isGLMM merMod isGLMM.merMod <- function(x,...) { as.logical(x@devcomp$dims[["GLMM"]]) ## or: is(x@resp,"glmResp") } ##' @S3method isNLMM merMod isNLMM.merMod <- function(x,...) { as.logical(x@devcomp$dims[["NLMM"]]) ## or: is(x@resp,"nlsResp") } ##' @S3method isLMM merMod isLMM.merMod <- function(x,...) { !isGLMM(x) && !isNLMM(x) ## or: is(x@resp,"lmerResp") ? } npar.merMod <- function(object) { n <- length(object@beta) + length(object@theta) + object@devcomp[["dims"]][["useSc"]] ## FIXME: this is a bit of a hack: a user *might* have specified ## negative binomial family with a known theta, in which case we ## shouldn't count it as extra. Either glmer.nb needs to set a ## flag somewhere, or we need class 'nbglmerMod' to extend 'glmerMod' ... ## We do *not* want to use the 'useSc' slot (as above), because ## although theta is in some sense a scale parameter, it's not ## one in the formal sense (and isn't stored in the 'sigma' slot) if (grepl("Negative Binomial",family(object)$family)) { n <- n+1 } return(n) ## TODO: how do we feel about counting the scale parameter ??? } ##' @importFrom stats logLik ##' @S3method logLik merMod logLik.merMod <- function(object, REML = NULL, ...) { if (is.null(REML) || is.na(REML[1])) REML <- isREML(object) val <- -devCrit(object, REML = REML)/2 ## dc <- object@devcomp nobs <- nobs.merMod(object) structure(val, nobs = nobs, nall = nobs, df = npar.merMod(object), ## length(object@beta) + length(object@theta) + dc$dims[["useSc"]], class = "logLik") } ##' @importFrom stats df.residual ##' @S3method df.residual merMod ## TODO: not clear whether the residual df should be based ## on p=length(beta) or p=length(c(theta,beta)) ... but ## this is just to allow things like aods3::gof to work ... ## df.residual.merMod <- function(object, ...) { nobs(object)-npar.merMod(object) } ##' @importFrom stats logLik ##' @S3method model.frame merMod model.frame.merMod <- function(formula, fixed.only=FALSE, ...) { fr <- formula@frame if (fixed.only) { vars <- attr(terms(fr),"varnames.fixed") if (is.null(vars)) { ## back-compatibility: saved objects pre 1.1-15 ff <- formula(formula,fixed.only=TRUE) ## thanks to Thomas Leeper and Roman Lustrik, Stack Overflow ## https://stackoverflow.com/questions/18017765/extract-variables-in-formula-from-a-data-frame vars <- rownames(attr(terms.formula(ff), "factors")) } vars <- gsub("`","",vars) ## weirdness in deparsing variable names with spaces fr <- fr[vars] } fr } ##' @importFrom stats model.matrix ##' @S3method model.matrix merMod model.matrix.merMod <- function(object, type = c("fixed", "random", "randomListRaw"), ...) { switch(type[1], "fixed" = object@pp$X, "random" = getME(object, "Z"), "randomListRaw" = mmList(object)) } ##' Dummy variables (experimental) ##' ##' Largely a wrapper for \code{model.matrix} that ##' accepts a factor, \code{f}, and returns a dummy ##' matrix with \code{nlevels(f)-1} columns. dummy <- function(f, levelsToKeep){ f <- as.factor(f) if (all(is.na(f))) return(rep(NA_real_, length(f))) mm <- model.matrix(~ 0 + f) colnames(mm) <- levels(f) # sort out levels to keep missingLevels <- missing(levelsToKeep) if(missingLevels) levelsToKeep <- levels(f)[-1] if(!any(levels(f) %in% levelsToKeep)) stop("at least some of the levels in f ", "must also be present in levelsToKeep") if(!all(levelsToKeep %in% levels(f))) stop("all of the levelsToKeep must be levels of f") mm <- mm[, levelsToKeep, drop=FALSE] ## # communicate that some usages are unlikely ## # to help with readibility, which is the ## # whole purpose of dummy() ## if((!missingLevels)&&(ncol(mm) > 1)) ## message("note from dummy: explicitly specifying more than one ", ## "level to keep may do little to improve readibility") return(mm) } ##' @importFrom stats nobs ##' @S3method nobs merMod nobs.merMod <- function(object, ...) nrow(object@frame) ## used in summary.merMod(): ngrps <- function(object, ...) UseMethod("ngrps") ngrps.default <- function(object, ...) stop("Cannot extract the number of groups from this object") ngrps.merMod <- function(object, ...) vapply(object@flist, nlevels, 1) ngrps.factor <- function(object, ...) nlevels(object) ##' @importFrom nlme ranef ##' @export ranef NULL ##' Extract the modes of the random effects ##' ##' A generic function to extract the conditional modes of the random effects ##' from a fitted model object. For linear mixed models the conditional modes ##' of the random effects are also the conditional means. ##' ##' If grouping factor i has k levels and j random effects per level the ith ##' component of the list returned by \code{ranef} is a data frame with k rows ##' and j columns. If \code{condVar} is \code{TRUE} the \code{"postVar"} ##' attribute is an array of dimension j by j by k. The kth face of this array ##' is a positive definite symmetric j by j matrix. If there is only one ##' grouping factor in the model the variance-covariance matrix for the entire ##' random effects vector, conditional on the estimates of the model parameters ##' and on the data will be block diagonal and this j by j matrix is the kth ##' diagonal block. With multiple grouping factors the faces of the ##' \code{"postVar"} attributes are still the diagonal blocks of this ##' conditional variance-covariance matrix but the matrix itself is no longer ##' block diagonal. ##' @name ranef ##' @aliases ranef ranef.merMod ##' @param object an object of a class of fitted models with random effects, ##' typically an \code{"\linkS4class{merMod}"} object. ##' @param condVar an optional logical argument indicating if the conditional ##' variance-covariance matrices of the random effects should be added as an attribute. ##' @param postVar a (deprecated) synonym for \code{condVar} ##' @param drop an optional logical argument indicating components of the return ##' value that would be data frames with a single column, usually a column ##' called \sQuote{\code{(Intercept)}}, should be returned as named vectors. ##' @param whichel an optional character vector of names of grouping factors for ##' which the random effects should be returned. Defaults to all the grouping ##' factors. ##' @param \dots some methods for this generic function require additional ##' arguments. ##' @return A list of data frames, one for each grouping factor for the random ##' effects. The number of rows in the data frame is the number of levels of ##' the grouping factor. The number of columns is the dimension of the random ##' effect associated with each level of the factor. ##' ##' If \code{condVar} is \code{TRUE} each of the data frames has an attribute ##' called \code{"postVar"} which is a three-dimensional array with symmetric ##' faces. ##' ##' When \code{drop} is \code{TRUE} any components that would be data frames of ##' a single column are converted to named numeric vectors. ##' @note To produce a \dQuote{caterpillar plot} of the random effects apply ##' \code{\link[lattice:xyplot]{dotplot}} to the result of a call to ##' \code{ranef} with \code{condVar = TRUE}. ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ##' fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy) ##' fm3 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) ##' ranef(fm1) ##' str(rr1 <- ranef(fm1, condVar = TRUE)) ##' dotplot(rr1) ## default ##' ## specify free scales in order to make Day effects more visible ##' dotplot(rr1,scales = list(x = list(relation = 'free')))[["Subject"]] ##' str(ranef(fm2, condVar = TRUE)) ##' op <- options(digits = 4) ##' ranef(fm3, drop = TRUE) ##' options(op) ##' @keywords models methods ##' @method ranef merMod ##' @export ranef.merMod <- function(object, condVar = TRUE, drop = FALSE, whichel = names(ans), postVar = FALSE, ...) { if (length(L <- list(...))>0) { warning(paste("additional arguments to ranef.merMod ignored:", paste(names(L),collapse=", "))) } if (!missing(postVar) && missing(condVar)) { warning(sQuote("postVar")," is deprecated: please use ", sQuote("condVar")," instead") condVar <- postVar } ans <- object@pp$b(1) ## not always == c(matrix(unlist(getME(object,"b")))) if (!is.null(fl <- object@flist)) { ## evaluate the list of matrices levs <- lapply(fl, levels) asgn <- attr(fl, "assign") cnms <- object@cnms nc <- lengths(cnms) ## number of terms ## nb <- nc * lengths(levs)[asgn] ## number of cond modes per term nb <- diff(object@Gp) ## differencing group index is more robust nbseq <- rep.int(seq_along(nb), nb) ml <- split(ans, nbseq) for (i in seq_along(ml)) ml[[i]] <- matrix(ml[[i]], ncol = nc[i], byrow = TRUE, dimnames = list(NULL, cnms[[i]])) ## create a list of data frames corresponding to factors ans <- lapply(seq_along(fl), function(i) { m <- ml[asgn == i] b2 <- vapply(m,nrow,numeric(1)) ub2 <- unique(b2) if (length(ub2)>1) stop("differing numbers of b per group") ## if number of sets of modes != number of levels (e.g. Gaussian process/phyloglmm), ## generate numeric sequence for names rnms <- if (ub2==length(levs[[i]])) levs[[i]] else seq(ub2) data.frame(do.call(cbind, m), row.names = rnms, check.names = FALSE) }) names(ans) <- names(fl) # process whichel stopifnot(is(whichel, "character")) whchL <- names(ans) %in% whichel ans <- ans[whchL] if (condVar) { sigsqr <- sigma(object)^2 rp <- rePos$new(object) if(any(lengths(rp$terms) > 1L)) { ## use R machinery here ... vv <- arrange.condVar(object,condVar(object, scaled=TRUE)) } else { vv <- .Call(merPredDcondVar, object@pp$ptr(), as.environment(rp)) vv <- lapply(vv, "*", sigsqr) } for (i in names(ans)) { attr(ans[[i]], "postVar") <- vv[[i]] } } if (drop) ans <- lapply(ans, function(el) { if (ncol(el) > 1) return(el) pv <- drop(attr(el, "postVar")) el <- drop(as.matrix(el)) if (!is.null(pv)) attr(el, "postVar") <- pv el }) class(ans) <- "ranef.mer" } ans }## ranef.merMod print.ranef.mer <- function(x, ...) { print(unclass(x), ...) if(any(has.pv <- vapply(x, function(el) !is.null(attr(el, "postVar")), NA))) cat('with conditional variances for', paste(dQuote(names(x)[has.pv]), sep=", "), "\n") invisible(x) } ## try to redo refit by calling modular structure ... refit2.merMod <- function(object, newresp=NULL) { ## the idea is to steal as much structure as we can from the ## previous fit, including ## * starting parameter values ## * random-effects structure ## * fixed-effects structure ## * model frame ## and jump into the modular structure at an appropriate place; ## essentially, this should merge with a smart-as-possible ## version of 'update' ... } ## FIXME DRY: much of copy'n'paste from lmer() etc .. ==> become more modular (?) refit.merMod <- function(object, newresp = NULL, newweights = NULL, ## formula=NULL, weights=NULL, rename.response = FALSE, maxit = 100L, ...) { l... <- list(...) ctrl.arg <- NULL if("control" %in% names(l...)) ctrl.arg <- l...$control if(!all(names(l...) %in% c("control", "verbose"))) { warning("additional arguments to refit.merMod ignored") } ## TODO: not clear whether we should reset the names ## to the new response variable. Maybe not. ## retrieve name before it gets mangled by operations on newresp newrespSub <- substitute(newresp) ## for backward compatibility/functioning of refit(fit,simulate(fit)) if (is.list(newresp)) { if (length(newresp)==1) { na.action <- attr(newresp,"na.action") newresp <- newresp[[1]] attr(newresp,"na.action") <- na.action } else { stop("refit not implemented for 'newresp' lists of length > 1: ", "consider ", sQuote("lapply(object,refit)")) } } ## oldresp <- object@resp$y # need to set this before deep copy, ## # otherwise it gets reset with the call ## # to setResp below ## somewhat repeated from profile.merMod, but sufficiently ## different that refactoring is slightly non-trivial ## "three minutes' thought would suffice ..." control <- if (!is.null(ctrl.arg)) { if (length(ctrl.arg$optCtrl) == 0) { ## use object's version: obj.control <- object@optinfo$control ignore.pars <- c("xst", "xt") if (any(ign <- names(obj.control) %in% ignore.pars)) obj.control <- obj.control[!ign] ctrl.arg$optCtrl <- obj.control } ctrl.arg } else if (isGLMM(object)) glmerControl() else lmerControl() if (object@optinfo$optimizer == "optimx") { control$optCtrl <- object@optinfo$control } ## we need this stuff defined before we call .glmerLaplace below ... pp <- object@pp$copy() dc <- object@devcomp nAGQ <- dc$dims["nAGQ"] # possibly NA nth <- dc$dims[["nth"]] verbose <- l...$verbose; if (is.null(verbose)) verbose <- 0L if (!is.null(newresp)) { ## update call and model frame with new response rcol <- attr(attr(model.frame(object), "terms"), "response") if (rename.response) { attr(object@frame,"formula")[[2]] <- object@call$formula[[2]] <- newrespSub names(object@frame)[rcol] <- deparse(newrespSub) } if (!is.null(na.act <- attr(object@frame,"na.action")) && is.null(attr(newresp,"na.action"))) { ## will only get here if na.action is 'na.omit' or 'na.exclude' ## *and* newresp does not have an 'na.action' attribute ## indicating that NAs have already been filtered newresp <- if (is.matrix(newresp)) newresp[-na.act, ] else newresp[-na.act] } object@frame[[rcol]] <- newresp } if (!is.null(newweights)) { ## DRY ... if (!is.null(na.act <- attr(object@frame,"na.action")) && is.null(attr(newweights, "na.action"))) { newweights <- newweights[-na.act] } object@frame[["(weights)"]] <- newweights oc <- attr(attr(object@frame, "terms"), "dataClasses") attr(attr(object@frame, "terms"), "dataClasses") <- c(oc, `(weights)` = "numeric") object@call$weights <- substitute(newweights) ## try to make sure new weights are findable later assign(deparse(substitute(newweights)), newweights, environment(formula(object))) } rr <- if(isLMM(object)) mkRespMod(model.frame(object), REML = object@resp$REML) else if(isGLMM(object)) { mkRespMod(model.frame(object), family = family(object)) } else stop("refit.merMod not working for nonlinear mixed models.\n", "try update.merMod instead.") if(!is.null(newresp)) { if(family(object)$family == "binomial") { ## re-do conversion of two-column matrix and factor ## responses to proportion/weights format if (is.matrix(newresp) && ncol(newresp) == 2) { ntot <- rowSums(newresp) ## FIXME: test what happens for (0,0) rows newresp <- newresp[,1]/ntot rr$setWeights(ntot) } if (is.factor(newresp)) { ## FIXME: would be better to do this consistently with ## whatever machinery is used in glm/glm.fit/glmer ?? newresp <- as.numeric(newresp)-1 } } ## if (isGLMM(object) && rr$family$family=="binomial") { ## } stopifnot(length(newresp <- as.numeric(as.vector(newresp))) == length(rr$y)) } if (isGLMM(object)) { GQmat <- GHrule(nAGQ) if (nAGQ <= 1) { glmerPwrssUpdate(pp,rr, control$tolPwrss, GQmat, maxit=maxit) } else { glmerPwrssUpdate(pp,rr, control$tolPwrss, GQmat, maxit=maxit, grpFac = object@flist[[1]]) } } devlist <- if (isGLMM(object)) { baseOffset <- forceCopy(object@resp$offset) list(tolPwrss= dc$cmp [["tolPwrss"]], compDev = dc$dims[["compDev"]], nAGQ = unname(nAGQ), lp0 = pp$linPred(1), ## object@resp$eta - baseOffset, baseOffset = baseOffset, pwrssUpdate = glmerPwrssUpdate, ## save GQmat in the object and use that instead of nAGQ GQmat = GHrule(nAGQ), fac = object@flist[[1]], pp=pp, resp=rr, u0=pp$u0, verbose=verbose, dpars=seq_len(nth)) } else list(pp=pp, resp=rr, u0=pp$u0, verbose=verbose, dpars=seq_len(nth)) ff <- mkdevfun(list2env(devlist), nAGQ=nAGQ, maxit=maxit, verbose=verbose) ## rho <- environment(ff) == list2env(devlist) xst <- rep.int(0.1, nth) x0 <- pp$theta lower <- object@lower if (!is.na(nAGQ) && nAGQ > 0L) { xst <- c(xst, sqrt(diag(pp$unsc()))) x0 <- c(x0, unname(fixef(object))) lower <- c(lower, rep(-Inf,length(x0)-length(lower))) } ## control <- c(control,list(xst=0.2*xst, xt=xst*0.0001)) ## FIX ME: allow use.last.params to be passed through calc.derivs <- !is.null(object@optinfo$derivs) ## if(isGLMM(object)) { ## rho$resp$updateWts() ## rho$pp$updateDecomp() ## rho$lp0 <- rho$pp$linPred(1) ## } optimizer <- object@optinfo$optimizer if (!is.null(newopt <- ctrl.arg$optimizer)) { ## we might end up with a length-2 optimizer vector ... ## use the *last* element optimizer <- newopt[length(newopt)] } opt <- optwrap(optimizer, ff, x0, lower=lower, control=control$optCtrl, calc.derivs=calc.derivs) cc <- checkConv(attr(opt,"derivs"),opt$par, ## FIXME: was there a reason that ctrl was passed ## via the call slot? it was causing problems ## when optTheta called refit (github issue #173) # ctrl = eval(object@call$control)$checkConv, ctrl = control$checkConv, lbound=lower) if (isGLMM(object)) rr$setOffset(baseOffset) mkMerMod(environment(ff), opt, list(flist=object@flist, cnms=object@cnms, Gp=object@Gp, lower=object@lower), object@frame, getCall(object), cc) } refitML.merMod <- function (x, optimizer="bobyqa", ...) { ## FIXME: optimizer is set to 'bobyqa' for back-compatibility, but that's not ## consistent with lmer (default NM). Should be based on internally stored 'optimizer' value if (!isREML(x)) return(x) stopifnot(is(rr <- x@resp, "lmerResp")) rho <- new.env(parent=parent.env(environment())) rho$resp <- new(class(rr), y=rr$y, offset=rr$offset, weights=rr$weights, REML=0L) xpp <- x@pp$copy() rho$pp <- new(class(xpp), X=xpp$X, Zt=xpp$Zt, Lambdat=xpp$Lambdat, Lind=xpp$Lind, theta=xpp$theta, n=nrow(xpp$X)) devfun <- mkdevfun(rho, 0L) # FIXME? also pass {verbose, maxit, control} opt <- ## "smart" calc.derivs rules if(optimizer == "bobyqa" && !any("calc.derivs" == ...names())) optwrap(optimizer, devfun, x@theta, lower=x@lower, calc.derivs=TRUE, ...) else optwrap(optimizer, devfun, x@theta, lower=x@lower, ...) ## FIXME: Should be able to call mkMerMod() here, and be done n <- length(rr$y) pp <- rho$pp p <- ncol(pp$X) dims <- c(N=n, n=n, p=p, nmp=n-p, q=nrow(pp$Zt), nth=length(pp$theta), useSc=1L, reTrms=length(x@cnms), spFe=0L, REML=0L, GLMM=0L, NLMM=0L)#, nAGQ=NA_integer_) wrss <- rho$resp$wrss() ussq <- pp$sqrL(1) pwrss <- wrss + ussq cmp <- c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ussq=ussq, pwrss=pwrss, drsum=NA, dev=opt$fval, REML=NA, sigmaML=sqrt(pwrss/n), sigmaREML=sqrt(pwrss/(n-p))) ## modify the call to have REML=FALSE. (without evaluating the call!) cl <- x@call cl[["REML"]] <- FALSE new("lmerMod", call = cl, frame=x@frame, flist=x@flist, cnms=x@cnms, theta=pp$theta, beta=pp$delb, u=pp$delu, optinfo = .optinfo(opt), lower=x@lower, devcomp=list(cmp=cmp, dims=dims), pp=pp, resp=rho$resp, Gp=x@Gp) } ##' residuals of merMod objects --> ../man/residuals.merMod.Rd ##' @param object a fitted [g]lmer (\code{merMod}) object ##' @param type type of residuals ##' @param scaled scale residuals by residual standard deviation (=scale parameter)? ##' @param \dots additional arguments (ignored: for method compatibility) residuals.merMod <- function(object, type = if(isGLMM(object)) "deviance" else "response", scaled = FALSE, ...) { r <- residuals(object@resp, type,...) fr <- model.frame(object) if (is.null(nm <- rownames(fr))) nm <- seq_along(r) names(r) <- nm if (scaled) r <- r/sigma(object) if (!is.null(na.action <- attr(fr, "na.action"))) naresid(na.action, r) else r } ##' @rdname residuals.merMod ##' @S3method residuals lmResp ##' @method residuals lmResp residuals.lmResp <- function(object, type = c("working", "response", "deviance", "pearson", "partial"), ...) { y <- object$y r <- object$wtres mu <- object$mu switch(match.arg(type), working =, response = y-mu, deviance =, pearson = r, partial = stop(gettextf("partial residuals are not implemented yet"), call. = FALSE) ) } ##' @rdname residuals.merMod ##' @S3method residuals glmResp ##' @method residuals glmResp residuals.glmResp <- function(object, type = c("deviance", "pearson", "working", "response", "partial"), ...) { type <- match.arg(type) y <- object$y mu <- object$mu switch(type, deviance = { ## protect against slightly negative resids ## (GH 812) d.res <- sqrt(pmax(0,object$devResid())) ifelse(y > mu, d.res, -d.res) }, pearson = object$wtres, working = object$wrkResids(), response = y - mu, partial = stop(gettextf("partial residuals are not implemented yet"), call. = FALSE) ) } hatvalues.merMod <- function(model, fullHatMatrix = FALSE, ...) { if(isGLMM(model)) warning("the hat matrix may not make sense for GLMMs") ## FIXME: add restriction for NLMMs? ## prior weights, W ^ {1/2} : sqrtW <- Diagonal(x = sqrt(weights(model, type = "prior"))) vList <- getME(model, c("L", "Lambdat", "Zt", "RX", "X", "RZX")) ## CL:= right factor of the random-effects component of the hat matrix (64) CL <- with(vList, solve(L, solve(L, Lambdat %*% Zt %*% sqrtW, system = "P"), system = "L")) ## restore dimnames (needed since Matrix 1.5.2) dimnames(CL) <- dimnames(vList$Zt) ## CR:= right factor of the fixed-effects component of the hat matrix (65) ## {MM (FIXME Matrix): t(.) %*% here faster than crossprod()} CR <- with(vList, solve(t(RX), ## colScale(t(X), sqrtW) - crossprod(RZX, CL) t(X) %*% sqrtW - crossprod(RZX, CL)) ) res <- if(fullHatMatrix) { ## H = (C_L^T C_L + C_R^T C_R) (63) crossprod(CL) + crossprod(CR) } else { ## diagonal of the hat matrix, diag(H) : colSums(CR^2) + colSums(CL^2) } napredict(attr(model.frame(model),"na.action"), res) } ###----- Printing etc ---------------------------- ## lme4.0, for GLMM had ## 'Generalized linear mixed model fit by the Laplace approximation' ## 'Generalized linear mixed model fit by the adaptive Gaussian Hermite approximation' ## so did *not* mention "maximum likelihood" at all in the GLMM case methTitle <- function(dims) { # dims == object@devcomp$dims GLMM <- dims[["GLMM"]] kind <- switch(1L + GLMM * 2L + dims[["NLMM"]], "Linear", "Nonlinear", "Generalized linear", "Generalized nonlinear") paste(kind, "mixed model fit by", if(dims[["REML"]]) "REML" else paste("maximum likelihood", if(GLMM) { ## TODO? Use shorter wording here, for (new) 'long = FALSE' argument if((nAGQ <- dims[["nAGQ"]]) == 1) "(Laplace Approximation)" else sprintf("(Adaptive Gauss-Hermite Quadrature, nAGQ = %d)", nAGQ) })) } cat.f <- function(...) cat(..., fill = TRUE) famlink <- function(object, resp = object@resp) { if(is(resp, "glmResp")) resp$family[c("family", "link")] else list(family = NULL, link = NULL) } ##' @title print method title ##' @param mtit the result of methTitle(obj) ##' @param class typically class(obj) .prt.methTit <- function(mtit, class) { if(nchar(mtit) + 5 + nchar(class) > (w <- getOption("width"))) { ## wrap around mtit <- strwrap(mtit, width = w - 2, exdent = 2) cat(mtit, " [",class,"]", sep = "", fill = TRUE) } else ## previous: simple one-liner cat(sprintf("%s ['%s']\n", mtit, class)) } .prt.family <- function(famL) { if (!is.null(f <- famL$family)) { cat.f(" Family:", f, if(!is.null(ll <- famL$link)) paste(" (", ll, ")")) } } .prt.resids <- function(resids, digits, title = "Scaled residuals:", ...) { cat(title,"\n") ## FIXME: need testing code rq <- setNames(zapsmall(quantile(resids, na.rm=TRUE), digits + 1L), c("Min", "1Q", "Median", "3Q", "Max")) print(rq, digits = digits, ...) cat("\n") } .prt.call <- function(call, long = TRUE) { if (!is.null(cc <- call$formula)) cat.f("Formula:", deparse(cc)) if (!is.null(cc <- call$data)) cat.f(" Data:", deparse(cc)) if (!is.null(cc <- call$weights)) cat.f("Weights:", deparse(cc)) if (!is.null(cc <- call$offset)) cat.f(" Offset:", deparse(cc)) if (long && length(cc <- call$control) && !identical((dc <- deparse(cc)), "lmerControl()")) ## && !identical(eval(cc), lmerControl())) cat.f("Control:", dc) if (!is.null(cc <- call$subset)) cat.f(" Subset:", deparse(cc)) } ##' @title Extract Log Likelihood, AIC, and related statics from a Fitted LMM ##' @param object a LMM model fit ##' @param devianceFUN the function to be used for computing the deviance; should not be changed for \pkg{lme4} created objects. ##' @param chkREML optional logical indicating \code{object} maybe a REML fit. ##' @param devcomp ##' @return a list with components \item{logLik} and \code{AICtab} where the first is \code{\link{logLik(object)}} and \code{AICtab} is a "table" of AIC, BIC, logLik, deviance, df.residual() values. llikAIC <- function(object, devianceFUN = devCrit, chkREML = TRUE, devcomp = object@devcomp) { llik <- logLik(object) # returns NA for a REML fit - maybe change? AICstats <- { if(chkREML && devcomp$dims[["REML"]]) devcomp$cmp["REML"] # *no* likelihood stats here else { c(AIC = AIC(llik), BIC = BIC(llik), logLik = c(llik), `-2*log(L)` = devianceFUN(object), df.resid = df.residual(object)) } } list(logLik = llik, AICtab = AICstats) } .prt.aictab <- function(aictab, digits = 1) { t.4 <- round(aictab, digits) if (length(aictab) == 1 && names(aictab) == "REML") cat.f("REML criterion at convergence:", t.4) else { ## slight hack to get residual df formatted as an integer t.4F <- format(t.4) t.4F["df.resid"] <- format(t.4["df.resid"]) print(t.4F, quote = FALSE) } } .prt.VC <- function(varcor, digits, comp = "Std.Dev.", corr = any(comp == "Std.Dev."), formatter = format, ...) { # '...' *only* passed to print() cat("Random effects:\n") fVC <- formatVC(varcor, digits=digits, formatter=formatter, comp=comp, corr=corr) print(fVC, quote = FALSE, digits = digits, ...) } .prt.grps <- function(ngrps, nobs) { cat(sprintf("Number of obs: %d, groups: ", nobs), paste(paste(names(ngrps), ngrps, sep = ", "), collapse = "; "), fill = TRUE) } ## FIXME: print header ("Warnings:\n") ? ## change position in output? comes at the very end, could get lost ... .prt.warn <- function(optinfo, summary=FALSE, ...) { if(length(optinfo) == 0) return() # currently, e.g., from refitML() ## check all warning slots: print numbers of warnings (if any) cc <- optinfo$conv$opt msgs <- unlist(optinfo$conv$lme4$messages) ## can't put nmsgs/nwarnings compactly into || expression ## because of short-circuiting nmsgs <- length(msgs) warnings <- optinfo$warnings nwarnings <- length(warnings) if (cc > 0 || nmsgs > 0 || nwarnings > 0) { m <- if (cc==0) { "(OK)" } else if (!is.null(optinfo$message)) { sprintf("(%s)",optinfo$message) } else "" convmsg <- sprintf("optimizer (%s) convergence code: %d %s", optinfo$optimizer, cc, m) if (summary) { cat(convmsg,sprintf("; %d optimizer warnings; %d lme4 warnings", nwarnings,nmsgs),"\n") } else { cat(convmsg, msgs, unlist(warnings), sep="\n") cat("\n") } } } ## options(lme4.summary.cor.max = 20) --> ./hooks.R ## ~~~~~~~~ ## was .summary.cor.max <- 20 a lme4-namespace hidden global variable ## This is modeled a bit after print.summary.lm : ## Prints *both* 'mer' and 'merenv' - as it uses summary(x) mainly ##' @S3method print summary.merMod print.summary.merMod <- function(x, digits = max(3, getOption("digits") - 3), correlation = NULL, symbolic.cor = FALSE, signif.stars = getOption("show.signif.stars"), ranef.comp = c("Variance", "Std.Dev."), ranef.corr = any(ranef.comp == "Std.Dev."), show.resids = TRUE, ...) { .prt.methTit(x$methTitle, x$objClass) .prt.family(x) .prt.call(x$call); cat("\n") .prt.aictab(x$AICtab); cat("\n") if (show.resids) ## need residuals.merMod() rather than residuals(): ## summary.merMod has no residuals method .prt.resids(x$residuals, digits = digits) .prt.VC(x$varcor, digits = digits, useScale = x$useScale, comp = ranef.comp, corr = ranef.corr, ...) .prt.grps(x$ngrps, nobs = x$devcomp$dims[["n"]]) p <- nrow(x$coefficients) if (p > 0) { cat("\nFixed effects:\n") printCoefmat(x$coefficients, # too radical: zap.ind = 3, #, tst.ind = 4 digits = digits, signif.stars = signif.stars) ## do not show correlation when summary(*, correlation=FALSE) was used: hasCor <- !is.null(VC <- x$vcov) && !is.null(VC@factors$correlation) ## FIXME: don't understand the logic here. We can easily ## defend against the problem of missing pre-computed correlation ## function by reconstituting it if necessary ## (e.g. if using merDeriv::vcov.lmerMod), as in commented code below. ## However, we currently have a test (using fit_agridat_archbold, ## see test-methods.R) that fails if we 'fix' this problem ... ## ## if (hasCor && is.null(VC@factors$correlation)) { ## ## defend against merDeriv definition of vcov.lmerMod; reconstruct ## cc <- cov2cor(VC) ## dimnames(cc) <- dimnames(VC) ## Matrix 1.5.2 bug ## VC@factors <- c(VC@factors, list(correlation = cc)) ## } if(is.null(correlation)) { # default cor.max <- getOption("lme4.summary.cor.max") correlation <- hasCor && (isTRUE(x$corrSet) || p <= cor.max) if(!correlation && p > cor.max && is.na(x$corrSet)) { nam <- deparse(substitute(x)) if(length(nam) > 1 || nchar(nam) >= 32) nam <- "...." message(sprintf(paste( "\nCorrelation matrix not shown by default, as p = %d > %d.", "Use print(%s, correlation=TRUE) or", " vcov(%s) if you need it\n", sep = "\n"), p, cor.max, nam, nam)) } } else if(!is.logical(correlation)) stop("'correlation' must be NULL or logical") if(correlation) { if(is.null(VC)) VC <- vcov(x, correlation = TRUE) corF <- VC@factors$correlation if (is.null(corF)) { # can this still happen? message("\nCorrelation of fixed effects could have been required in summary()") corF <- cov2cor(VC) } p <- ncol(corF) if (p > 1) { rn <- rownames(x$coefficients) rns <- abbreviate(rn, minlength = 11) cat("\nCorrelation of Fixed Effects:\n") if (is.logical(symbolic.cor) && symbolic.cor) { corf <- as(corF, "matrix") dimnames(corf) <- list(rns, abbreviate(rn, minlength = 1, strict = TRUE)) print(symnum(corf)) } else { corf <- matrix(format(round(corF@x, 3), nsmall = 3), ncol = p, dimnames = list(rns, abbreviate(rn, minlength = 6))) corf[!lower.tri(corf)] <- "" print(corf[-1, -p, drop = FALSE], quote = FALSE) } ## !symbolic.cor } ## if (p > 1) } ## if (correlation) } ## if (p>0) if(length(x$fitMsgs) && any(nchar(x$fitMsgs) > 0)) { cat("fit warnings:\n"); writeLines(x$fitMsgs) } .prt.warn(x$optinfo,summary=FALSE) invisible(x) }## print.summary.merMod ##' @S3method print merMod print.merMod <- function(x, digits = max(3, getOption("digits") - 3), correlation = NULL, symbolic.cor = FALSE, signif.stars = getOption("show.signif.stars"), ranef.comp = "Std.Dev.", ranef.corr = any(ranef.comp == "Std.Dev."), ...) { dims <- x@devcomp$dims .prt.methTit(methTitle(dims), class(x)) .prt.family(famlink(x, resp = x@resp)) .prt.call(x@call, long = FALSE) ## useScale <- as.logical(dims[["useSc"]]) llAIC <- llikAIC(x) .prt.aictab(llAIC$AICtab, 4) varcor <- VarCorr(x) .prt.VC(varcor, digits = digits, comp = ranef.comp, corr = ranef.corr, ...) ngrps <- vapply(x@flist, nlevels, 0L) .prt.grps(ngrps, nobs = dims[["n"]]) if(length(cf <- fixef(x)) > 0) { cat("Fixed Effects:\n") print.default(format(cf, digits = digits), print.gap = 2L, quote = FALSE, ...) } else cat("No fixed effect coefficients\n") fitMsgs <- .merMod.msgs(x) if(any(nchar(fitMsgs) > 0)) { cat("fit warnings:\n"); writeLines(fitMsgs) } .prt.warn(x@optinfo,summary=TRUE) invisible(x) } ##' @exportMethod show setMethod("show", "merMod", function(object) print.merMod(object)) ##' Return the deviance component list devcomp <- function(x) { .Deprecated("getME(., \"devcomp\")") stopifnot(is(x, "merMod")) x@devcomp } ##' @exportMethod getL setMethod("getL", "merMod", function(x) { .Deprecated("getME(., \"L\")") getME(x, "L") }) ##' used by tnames mkPfun <- function(diag.only = FALSE, old = TRUE, prefix = NULL){ local({ function(g,e) { mm <- outer(e,e,paste,sep = ".") if(old) { diag(mm) <- e } else { mm[] <- paste(mm,g,sep = "|") if (!is.null(prefix)) mm[] <- paste(prefix[2],mm,sep = "_") diag(mm) <- paste(e,g,sep = "|") if (!is.null(prefix)) diag(mm) <- paste(prefix[1],diag(mm),sep = "_") } mm <- if (diag.only) diag(mm) else mm[lower.tri(mm,diag = TRUE)] if(old) paste(g,mm,sep = ".") else mm } }) } ##' Construct names of individual theta/sd:cor components ##' ##' @param object a fitted model ##' @param diag.only include only diagonal elements? ##' @param old (logical) give backward-compatible results? ##' @param prefix a character vector with two elements giving the prefix ##' for diagonal (e.g. "sd") and off-diagonal (e.g. "cor") elements tnames <- function(object, diag.only = FALSE, old = TRUE, prefix = NULL) { pfun <- mkPfun(diag.only=diag.only, old=old, prefix=prefix) c(unlist(mapply(pfun, names(object@cnms), object@cnms))) } ## -> ../man/getME.Rd getME <- function(object, name, ...) UseMethod("getME") ##' Extract or Get Generalized Components from a Fitted Mixed Effects Model getME.merMod <- function(object, name = c("X", "Z","Zt", "Ztlist", "mmList", "y", "mu", "u", "b", "Gp", "Tp", "L", "Lambda", "Lambdat", "Lind", "Tlist", "A", "RX", "RZX", "sigma", "flist", "fixef", "beta", "theta", "ST", "REML", "is_REML", "n_rtrms", "n_rfacs", "N", "n", "p", "q", "p_i", "l_i", "q_i", "k", "m_i", "m", "cnms", "devcomp", "offset", "lower", "devfun", "glmer.nb.theta" ), ...) { if(missing(name)) stop("'name' must not be missing") ## Deal with multiple names -- "FIXME" is inefficiently redoing things if (length(name <- as.character(name)) > 1) { names(name) <- name return(lapply(name, getME, object = object)) } if(name == "ALL") ## recursively get all provided components return(sapply(eval(formals()$name), getME.merMod, object=object, simplify=FALSE)) stopifnot(is(object,"merMod")) name <- match.arg(name) rsp <- object@resp PR <- object@pp dc <- object@devcomp th <- object@theta cnms <- object@cnms dims <- dc $ dims Tpfun <- function(cnms) { ltsize <- function(n) n*(n+1)/2 # lower triangle size cLen <- cumsum(ltsize(lengths(cnms))) setNames(c(0, cLen), c("beg__", names(cnms))) ## such that diff( Tp ) is well-named } ## mmList. <- mmList(object) if(any(name == c("p_i", "q_i", "m_i"))) p_i <- vapply(mmList(object), ncol, 1L) if(any(name == c("l_i", "q_i"))) l_i <- vapply(object@flist, nlevels, 1L) switch(name, "X" = PR$X, ## ok ? - check -- use model.matrix() method instead? "Z" = t(PR$Zt), "Zt" = PR$Zt, "Ztlist" = { getInds <- function(i) { n <- diff(object@Gp)[i] ## number of elements in this block nt <- length(cnms[[i]]) ## number of REs inds <- lapply(seq(nt), seq, to = n, by = nt) ## pull out individual RE indices inds <- lapply(inds,function(x) x + object@Gp[i]) ## add group offset } inds <- do.call(c,lapply(seq_along(cnms),getInds)) setNames(lapply(inds,function(i) PR$Zt[i,]), tnames(object,diag.only = TRUE)) }, "mmList" = mmList.merMod(object), "y" = rsp$y, "mu" = rsp$mu, "u" = object@u, "b" = crossprod(PR$Lambdat, object@u), # == Lambda %*% u "L" = PR$ L(), "Lambda" = t(PR$ Lambdat), "Lambdat" = PR$ Lambdat, "A" = PR$Lambdat %*% PR$Zt, "Lind" = PR$ Lind, "RX" = structure(PR$RX(), dimnames = list(colnames(PR$X), colnames(PR$X))), ## maybe add names elsewhere? "RZX" = structure(PR$RZX, dimnames = list(NULL, colnames(PR$X))), ## maybe add names elsewhere? "sigma" = sigma(object), "Gp" = object@Gp, "Tp" = Tpfun(cnms), # "term-wise theta pointer" "flist" = object@flist, "fixef" = fixef(object), "beta" = object@beta, "theta" = setNames(th, tnames(object)), "ST" = setNames(vec2STlist(object@theta, n = lengths(cnms)), names(cnms)), "Tlist" = { nc <- lengths(cnms) # number of columns per term nt <- length(nc) # number of random-effects terms ans <- vector("list",nt) names(ans) <- names(nc) pos <- 0L for (i in 1:nt) { # will need modification for more general Lambda nci <- nc[i] tt <- matrix(0., nci, nci) inds <- lower.tri(tt, diag=TRUE) nthi <- sum(inds) tt[inds] <- th[pos + seq_len(nthi)] pos <- pos + nthi ans[[i]] <- tt } ans }, "REML" = dims[["REML"]], "is_REML" = isREML(object), ## number of random-effects terms "n_rtrms" = length(cnms), ## number of random-effects grouping factors "n_rfacs" = length(object@flist), "N" = dims[["N"]], "n" = dims[["n"]], "p" = dims[["p"]], "q" = dims[["q"]], "p_i" = p_i, "l_i" = l_i, "q_i" = p_i * l_i, "k" = length(cnms), "m_i" = choose(p_i + 1, 2), "m" = dims[["nth"]], "cnms" = cnms, "devcomp" = dc, "offset" = rsp$offset, "lower" = setNames(object@lower, tnames(object)), "devfun" = { verbose <- getCall(object)$verbose; if (is.null(verbose)) verbose <- 0L if (isGLMM(object)) { reTrms <- getME(object,c("Zt","theta","Lambdat","Lind","flist","cnms")) d1 <- mkGlmerDevfun(object@frame, getME(object,"X"), reTrms=reTrms, family(object), verbose=verbose) nAGQ <- object@devcomp$dims[["nAGQ"]] updateGlmerDevfun(d1, reTrms, nAGQ=nAGQ) } else { ## copied from refit ... DRY ... devlist <- list(pp=PR, resp=rsp, u0=PR$u0, dpars=seq_along(PR$theta), verbose=verbose) mkdevfun(rho=list2env(devlist), ## FIXME: fragile ... // also pass 'maxit' ? verbose=verbose, control=object@optinfo$control) } }, ## FIXME: current version gives lower bounds for theta parameters only: ## -- these must be extended for [GN]LMMs -- give extended value including -Inf values for beta values? "glmer.nb.theta" = if(isGLMM(object) && isNBfamily(rsp$family$family)) getNBdisp(object) else NA, "..foo.." = # placeholder! stop(gettextf("'%s' is not implemented yet", sprintf("getME(*, \"%s\")", name))), ## otherwise stop(sprintf("Mixed-Effects extraction of '%s' is not available for class \"%s\"", name, class(object)))) }## {getME} ##' @importMethodsFrom Matrix t %*% crossprod diag tcrossprod ##' @importClassesFrom Matrix dgCMatrix dpoMatrix corMatrix NULL ## Extract the conditional variance-covariance matrix of the fixed-effects ## parameters vcov.merMod <- function(object, correlation = TRUE, sigm = sigma(object), use.hessian = NULL, full = FALSE, ...) { ## FIXME: warn/message if GLMM (RX-computation is approximate), ## if other vars are specified? if (full) return(vcov_full(object, sigm)) hess.avail <- ## (1) numerical Hessian computed? (!is.null(h <- object@optinfo$derivs$Hessian) && ## (2) does Hessian include fixed-effect parameters? nrow(h) > (ntheta <- length(getME(object,"theta")))) if (is.null(use.hessian)) use.hessian <- hess.avail if (use.hessian && !hess.avail) stop(shQuote("use.hessian"), "=TRUE specified, ", "but Hessian is unavailable") calc.vcov.hess <- function(h) { ## invert 2*Hessian, catching errors and forcing symmetric result ## ~= forceSymmetric(solve(h/2)[i,i]) : solve(h/2) = 2*solve(h) h <- tryCatch(solve(h), error=function(e) matrix(NA,nrow=nrow(h),ncol=ncol(h))) i <- -seq_len(ntheta) ## drop var-cov parameters h <- h[i,i] forceSymmetric(h + t(h)) } ## alternately: calculate var-cov from implicit (RX) information ## provided by fit (always the case for lmerMods) V <- sigm^2 * object@pp$unsc() if (hess.avail) { V.hess <- calc.vcov.hess(h) bad.V.hess <- any(is.na(V.hess)) if (!bad.V.hess) { ## another 'bad var-cov' check: positive definite? e.hess <- eigen(V.hess,symmetric = TRUE,only.values = TRUE)$values if (min(e.hess) <= 0) bad.V.hess <- TRUE } } if (!use.hessian && hess.avail) { ## if hessian is available, go ahead and check ## for similarity with the RX-based estimate var.hess.tol <- 1e-4 # FIXME: should var.hess.tol be user controlled? if (!bad.V.hess && any(abs(V-V.hess) > var.hess.tol * V.hess)) warning("variance-covariance matrix computed ", "from finite-difference Hessian\nand ", "from RX differ by >",var.hess.tol,": ", "consider ",shQuote("use.hessian=TRUE")) } if (use.hessian) { if (!bad.V.hess) { V <- V.hess } else { warning("variance-covariance matrix computed ", "from finite-difference Hessian is\n", "not positive definite or contains NA values: falling back to ", "var-cov estimated from RX") } } ## FIXME: try to catch non-PD matrices rr <- tryCatch(as(V, "dpoMatrix"), error = function(e)e) if (inherits(rr, "error")) { warning(gettextf("Computed variance-covariance matrix problem: %s;\nreturning NA matrix", rr$message), domain = NA) rr <- matrix(NA,nrow(V),ncol(V)) } nmsX <- colnames(object@pp$X) dimnames(rr) <- list(nmsX,nmsX) if(correlation) rr@factors$correlation <- if(!is.na(sigm)) as(rr, "corMatrix") else rr # (is NA anyway) rr } vcov_full <- function(object, s = sigma(object)) { L <- getME(object, "L") RX <- getME(object, "RX") RZX <- getME(object, "RZX") Lambdat <- getME(object, "Lambdat") RXtinv <- solve(t(RX)) LinvLambdat <- solve(L, Lambdat, system = "L") Minv <- s * rbind( cbind(LinvLambdat, Matrix(0, nrow = nrow(L), ncol = ncol(RX))), cbind(-RXtinv %*% t(RZX) %*% LinvLambdat, RXtinv) ) Cmat <- crossprod(Minv) ## do we have machinery elsewhere for this (names for b-vector) ? ## should this be extracted into a utility f'n (e.g. for getME(., "b") ? fix_nms <- colnames(object@pp$X) rr <- ranef(object, condVar = FALSE) gnms <- function(x) c(outer(colnames(x), rownames(x), function(x,y) paste(y, x, sep = "."))) rnms <- lapply(rr, gnms) re_nms <- unlist(Map(function(n, r) paste(n, r, sep = "."), names(rr), rnms)) all_nms <- unname(c(re_nms, fix_nms)) dimnames(Cmat) <- list(all_nms, all_nms) return(Cmat) } ##' @importFrom stats vcov ##' @S3method vcov summary.merMod vcov.summary.merMod <- function(object, ...) { if(is.null(object$vcov)) stop("logic error in summary of merMod object") object$vcov } ##' Make variance and correlation matrices from \code{theta} ##' ##' @param sc scale factor (residual standard deviation) ##' @param cnms component names ##' @param nc numeric vector: number of terms in each RE component ##' @param theta theta vector (lower-triangle of Cholesky factors) ##' @param nms component names (FIXME: nms/cnms redundant: nms=names(cnms)?) ##' @seealso \code{\link{VarCorr}} ##' @return A matrix ##' @export mkVarCorr <- function(sc, cnms, nc, theta, nms) { ncseq <- seq_along(nc) thl <- split(theta, rep.int(ncseq, (nc * (nc + 1))/2)) if(!all(nms == names(cnms))) ## the above FIXME warning("nms != names(cnms) -- whereas lme4-authors thought they were --\n", "Please report!", immediate. = TRUE) ans <- lapply(ncseq, function(i) { ## Li := \Lambda_i, the i-th block diagonal of \Lambda(\theta) Li <- diag(nrow = nc[i]) Li[lower.tri(Li, diag = TRUE)] <- thl[[i]] rownames(Li) <- cnms[[i]] ## val := \Sigma_i = \sigma^2 \Lambda_i \Lambda_i', the val <- tcrossprod(sc * Li) # variance-covariance stddev <- sqrt(diag(val)) corr <- t(val / stddev)/stddev diag(corr) <- 1 structure(val, stddev = stddev, correlation = corr) }) if(is.character(nms)) { ## FIXME: do we want this? Maybe not. ## Potential problem: the names of the elements of the VarCorr() list ## are not necessarily unique (e.g. fm2 from example("lmer") has *two* ## Subject terms, so the names are "Subject", "Subject". The print method ## for VarCorrs handles this just fine, but it's a little awkward if we ## want to dig out elements of the VarCorr list ... ??? if (anyDuplicated(nms)) nms <- make.names(nms, unique = TRUE) names(ans) <- nms } structure(ans, sc = sc) } ##' Extract variance and correlation components ##' VarCorr.merMod <- function(x, sigma = 1, ...) { ## TODO: now that we have '...', add type=c("varcov","sdcorr","logs" ? if (is.null(cnms <- x@cnms)) stop("VarCorr methods require reTrms, not just reModule") if(missing(sigma)) sigma <- sigma(x) nc <- lengths(cnms) # no. of columns per term structure(mkVarCorr(sigma, cnms = cnms, nc = nc, theta = x@theta, nms = { fl <- x@flist; names(fl)[attr(fl, "assign")]}), useSc = as.logical(x@devcomp$dims[["useSc"]]), class = "VarCorr.merMod") } if(FALSE)## *NOWHERE* used _FIXME_ ?? ## Compute standard errors of fixed effects from an merMod object ## ## @title Standard errors of fixed effects ## @param object "merMod" object, ## @param ... additional, optional arguments. None are used at present. ## @return numeric vector of length length(fixef(.)) unscaledVar <- function(object, ...) { stopifnot(is(object, "merMod")) sigma(object) * diag(object@pp$unsc()) } ##' @S3method print VarCorr.merMod print.VarCorr.merMod <- function(x, digits = max(3, getOption("digits") - 2), comp = "Std.Dev.", corr = any(comp == "Std.Dev."), formatter = format, ...) { print(formatVC(x, digits=digits, comp=comp, corr=corr, formatter=formatter), quote = FALSE, ...) invisible(x) } ##' "format()" the 'VarCorr' matrix of the random effects -- for ##' print()ing and show()ing ##' ##' @title Format the 'VarCorr' Matrix of Random Effects ##' @param varc a \code{\link{VarCorr}} (-like) matrix with attributes. ##' @param digits the number of significant digits. ##' @param comp character vector of length one or two indicating which ##' columns out of "Variance" and "Std.Dev." should be shown in the ##' formatted output. ##' @param formatter the \code{\link{function}} to be used for ##' formatting the standard deviations and or variances (but ##' \emph{not} the correlations which (currently) are always formatted ##' as "0.nnn" ##' @param ... optional arguments for \code{formatter(*)} in addition ##' to the first (numeric vector) and \code{digits}. ##' @return a character matrix of formatted VarCorr entries from \code{varc}. formatVC <- function(varcor, digits = max(3, getOption("digits") - 2), comp = "Std.Dev.", corr = any(comp == "Std.Dev."), formatter = format, useScale = attr(varcor, "useSc"), ...) { c.nms <- c("Groups", "Name", "Variance", "Std.Dev.") avail.c <- c.nms[-(1:2)] if(anyNA(mcc <- pmatch(comp, avail.c))) stop("Illegal 'comp': ", comp[is.na(mcc)]) nc <- length(colnms <- c(c.nms[1:2], (use.c <- avail.c[mcc]))) if(length(use.c) == 0) stop("Must show variances and/or standard deviations") reStdDev <- c(lapply(varcor, attr, "stddev"), if(useScale) list(Residual = unname(attr(varcor, "sc")))) reLens <- lengths(reStdDev) nr <- sum(reLens) reMat <- array('', c(nr, nc), list(rep.int('', nr), colnms)) reMat[1+cumsum(reLens)-reLens, "Groups"] <- names(reLens) reMat[,"Name"] <- c(unlist(lapply(varcor, colnames)), if(useScale) "") if(any("Variance" == use.c)) reMat[,"Variance"] <- formatter(unlist(reStdDev)^2, digits = digits, ...) if(any("Std.Dev." == use.c)) reMat[,"Std.Dev."] <- formatter(unlist(reStdDev), digits = digits, ...) if (any(reLens > 1L)) { ## append lower triangular matrix of correlations / covariances maxlen <- max(reLens) Lcomat <- if(corr) lapply(varcor, attr, "correlation") else # just the matrix, i.e. {dim,dimnames} lapply(varcor, identity) ## function(v) `attributes<-`(v, attributes(v)[c("dim","dimnames")]) co <- # corr or cov do.call(rbind, lapply(Lcomat, function(x) { x <- as.matrix(x) dig <- max(2, digits - 2) # use 'digits' ! ## not using formatter() for correlations cc <- format(round(x, dig), nsmall = dig) cc[!lower.tri(cc)] <- "" nr <- nrow(cc) if (nr >= maxlen) return(cc) cbind(cc, matrix("", nr, maxlen-nr)) }))[, -maxlen, drop = FALSE] if (nrow(co) < nrow(reMat)) co <- rbind(co, matrix("", nrow(reMat) - nrow(co), ncol(co))) colnames(co) <- c(if(corr) "Corr" else "Cov", rep.int("", max(0L, ncol(co)-1L))) cbind(reMat, co, deparse.level=0L) } else reMat } ##' @S3method summary merMod summary.merMod <- function(object, correlation = (p <= getOption("lme4.summary.cor.max")), use.hessian = NULL, ...) { if (...length() > 0) { ## FIXME: need testing code warning("additional arguments ignored") } ## se.calc: hess.avail <- (!is.null(h <- object@optinfo$derivs$Hessian) && nrow(h) > length(getME(object,"theta"))) if (is.null(use.hessian)) use.hessian <- hess.avail if (use.hessian && !hess.avail) stop("'use.hessian=TRUE' specified, but Hessian is unavailable") resp <- object@resp devC <- object@devcomp dd <- devC$dims ## cmp <- devC$cmp useSc <- as.logical(dd[["useSc"]]) sig <- sigma(object) ## REML <- isREML(object) famL <- famlink(resp = resp) p <- length(coefs <- fixef(object)) ## protect against merDeriv's vcov.glmerMod(), which only ## handles binomial and Poisson values if (is(object, "glmerMod") && !family(object)$family %in% c("binomial", "poisson")) { vcov <- vcov.merMod } vc <- vcov(object, use.hessian = use.hessian) stdError <- sqrt(diag(vc)) coefs <- cbind("Estimate" = coefs, "Std. Error" = stdError) if (p > 0) { coefs <- cbind(coefs, (cf3 <- coefs[,1]/coefs[,2]), deparse.level = 0) colnames(coefs)[3] <- paste(if(useSc) "t" else "z", "value") if (isGLMM(object)) # FIXME: if "t" above, cannot have "z" here coefs <- cbind(coefs, "Pr(>|z|)" = 2*pnorm(abs(cf3), lower.tail = FALSE)) } llAIC <- llikAIC(object) ## FIXME: You can't count on object@re@flist, ## nor compute VarCorr() unless is(re, "reTrms"): varcor <- VarCorr(object) # use S3 class for now structure(list(methTitle = methTitle(dd), objClass = class(object), devcomp = devC, isLmer = is(resp, "lmerResp"), useScale = useSc, logLik = llAIC[["logLik"]], family = famL$family, link = famL$link, ngrps = ngrps(object), coefficients = coefs, sigma = sig, ## explicitly call method to avoid getting m ## essed up by merDeriv's vcov method ## (which doesn't assign a VC attribute) vcov = vcov.merMod(object, correlation = correlation, sigm = sig), varcor = varcor, # and use formatVC(.) for printing. AICtab = llAIC[["AICtab"]], call = object@call, residuals = residuals(object,"pearson",scaled = TRUE), fitMsgs = .merMod.msgs(object), optinfo = object@optinfo, ## put corrSet **last** so we don't mess up people relying on numeric indexing ## of elements (!!) corrSet = if(!missing(correlation)) correlation else NA # TRUE/FALSE (when set) / NA ), class = "summary.merMod") } ## TODO: refactor? Why the hell do we need a summary method for summary.merMod? ##' @S3method summary summary.merMod summary.summary.merMod <- function(object, varcov = TRUE, ...) { if(varcov && is.null(object$vcov)) object$vcov <- vcov.merMod(object, correlation = TRUE, sigm = object$sigma) object } ##' @importFrom stats weights ##' @S3method weights merMod weights.merMod <- function(object, type = c("prior","working"), ...) { type <- match.arg(type) isPrior <- type == "prior" if(!isGLMM(object) && !isPrior) stop("working weights only available for GLMMs") res <- if(isPrior) object@resp$weights else object@pp$Xwts^2 ## the working weights available through pp$Xwts should be ## equivalent to: ## object@resp$weights*(object@resp$muEta()^2)/object@resp$variance() ## however, the unit tests in tests/glmmWeights.R suggest that this ## equivalence is approximate. this may be fine, however, if the ## discrepancy is due to another instance of the general problem of ## reference class fields not being updated at the optimum, then this ## could cause real problems. see for example: ## https://github.com/lme4/lme4/issues/166 ## FIXME: what to do about missing values (see stats:::weights.glm)? ## FIXME: add unit tests return(res) } ## utility function: x is a ranef.mer object, nx is the name of an element asDf0 <- function(x,nx,id=FALSE) { xt <- x[[nx]] ss <- stack(xt) ss$ind <- factor(as.character(ss$ind), levels = colnames(xt)) ss$.nn <- rep.int(reorder(factor(rownames(xt)), xt[[1]], FUN = mean,sort = sort), ncol(xt)) ## allow 'postVar' *or* 'condVar' names pv <- attr(xt,"postVar") if (is.null(pv)) { pv <- attr(xt,"condVar") } if (!is.null(pv)) { tmpfun <- function(pvi) { unlist(lapply(1:nrow(pvi), function(i) sqrt(pvi[i, i, ]))) } if (!is.list(pv)) { ss$se <- tmpfun(pv) } else { ## rely on ordering when unpacking! ss$se <- unlist(lapply(pv,tmpfun)) } } if (id) ss$id <- nx return(ss) } ## convert ranef object to a long-format data frame, e.g. suitable ## for ggplot2 (or homemade lattice plots) ## FIXME: have some gymnastics to do if terms, levels are different ## for different grouping variables - want to maintain ordering ## but still allow rbind()ing as.data.frame.ranef.mer <- function(x, ...) { xL <- lapply(names(x), asDf0, x=x, id=TRUE) ## combine xD <- do.call(rbind,xL) ## rename ... oldnames <- c("values", "ind", ".nn", "se", "id") newnames <- c("condval","term","grp", "condsd","grpvar") names(xD) <- newnames[match(names(xD),oldnames)] ## reorder ... neworder <- c("grpvar","term","grp","condval") if ("condsd" %in% names(xD)) neworder <- c(neworder,"condsd") xD[neworder] } dim.merMod <- function(x) { getME(x, c("n", "p", "q", "p_i", "l_i", "q_i", "k", "m_i", "m")) } ## Internal utility, only used in optwrap() : ##' @title Get the optimizer function and check it minimally ##' @param optimizer character string ( = function name) *or* function getOptfun <- function(optimizer) { if (((is.character(optimizer) && optimizer == "optimx") || deparse(substitute(optimizer)) == "optimx")) { if (!requireNamespace("optimx")) { stop(shQuote("optimx")," package must be installed order to ", "use ",shQuote('optimizer="optimx"')) } optfun <- optimx::optimx } else if (is.character(optimizer)) { optfun <- tryCatch(get(optimizer), error = function(e) NULL) } else optfun <- optimizer if (is.null(optfun)) stop("couldn't find optimizer function ",optimizer) if (!is.function(optfun)) stop("non-function specified as optimizer") needArgs <- c("fn","par","lower","control") if (anyNA(match(needArgs, names(formals(optfun))))) stop("optimizer function must use (at least) formal parameters ", paste(sQuote(needArgs), collapse = ", ")) optfun } optwrap <- function(optimizer, fn, par, lower = -Inf, upper = Inf, control = list(), adj = FALSE, calc.derivs = TRUE, use.last.params = FALSE, verbose = 0L) { ## control must be specified if adj==TRUE; ## otherwise this is a fairly simple wrapper optfun <- getOptfun(optimizer) optName <- if(is.character(optimizer)) optimizer else ## "good try": deparse(substitute(optimizer))[[1L]] lower <- rep_len(lower, length(par)) upper <- rep_len(upper, length(par)) if (adj) ## control parameter tweaks: only for second round in nlmer, glmer switch(optName, "bobyqa" = { if(!is.numeric(control$rhobeg)) control$rhobeg <- 0.0002 if(!is.numeric(control$rhoend)) control$rhoend <- 2e-7 }, "Nelder_Mead" = { if (is.null(control$xst)) { thetaStep <- 0.1 nTheta <- length(environment(fn)$pp$theta) betaSD <- sqrt(diag(environment(fn)$pp$unsc())) control$xst <- 0.2* c(rep.int(thetaStep, nTheta), pmin(betaSD, 10)) } if (is.null(control$xt)) control$xt <- control$xst*5e-4 }) switch(optName, "bobyqa" = { if(all(par == 0)) par[] <- 0.001 ## minor kludge if(!is.numeric(control$iprint)) control$iprint <- min(verbose, 3L) }, "Nelder_Mead" = control$verbose <- verbose, "nloptwrap" = control$print_level <- min(as.numeric(verbose),3L), ## otherwise: if(verbose) warning(gettextf( "'verbose' not yet passed to optimizer '%s'; consider fixing optwrap()", optName), domain = NA) ) arglist <- list(fn = fn, par = par, lower = lower, upper = upper, control = control) ## optimx: must pass method in control (?) because 'method' was previously ## used in lme4 to specify REML vs ML if (optName == "optimx") { if (is.null(method <- control$method)) stop("must specify 'method' explicitly for optimx") arglist$control$method <- NULL arglist <- c(arglist, list(method = method)) } ## FIXME: test! effects of multiple warnings?? ## may not need to catch warnings after all?? curWarnings <- list() opt <- withCallingHandlers(do.call(optfun, arglist), warning = function(w) { curWarnings <<- append(curWarnings,list(w$message)) }) ## cat("***",unlist(tail(curWarnings,1))) ## FIXME: set code to warn on convergence !=0 ## post-fit tweaking if (optName == "bobyqa") { opt$convergence <- opt$ierr } else if (optName == "Nelder_Mead") { ## fix-up: Nelder_Mead treats running out of iterations as "convergence" (!?) if (opt$NM.result==4) opt$convergence <- 4 } else if (optName == "optimx") { opt <- list(par = coef(opt)[1,], fvalues = opt$value[1], method = method, conv = opt$convcode[1], feval = opt$fevals + opt$gevals, message = attr(opt,"details")[,"message"][[1]]) } if ((optconv <- getConv(opt)) != 0) { wmsg <- paste("convergence code",optconv,"from",optName) if (!is.null(getMsg(opt))) wmsg <- paste0(wmsg,": ",getMsg(opt)) warning(wmsg) curWarnings <<- append(curWarnings,list(wmsg)) } ## pp_before <- environment(fn)$pp ## save(pp_before,file="pp_before.RData") if (calc.derivs) { if (use.last.params) { ## +0 tricks R into doing a deep copy ... ## otherwise element of ref class changes! ## FIXME:: clunky!! orig_pars <- opt$par orig_theta <- environment(fn)$pp$theta+0 orig_pars[seq_along(orig_theta)] <- orig_theta } if (verbose > 10) cat("computing derivatives\n") derivs <- deriv12(fn, opt$par, fx = opt$value) if (use.last.params) { ## run one more evaluation of the function at the optimized ## value, to reset the internal/environment variables in devfun ... fn(orig_pars) } } else derivs <- NULL if (!use.last.params) { ## run one more evaluation of the function at the optimized ## value, to reset the internal/environment variables in devfun ... fn(opt$par) } structure(opt, ## store all auxiliary information optimizer = optimizer, control = control, warnings = curWarnings, derivs = derivs) } as.data.frame.VarCorr.merMod <- function(x,row.names = NULL, optional = FALSE, order = c("cov.last", "lower.tri"), ...) { order <- match.arg(order) tmpf <- function(v,grp) { vcov <- c(diag(v), v[lt.v <- lower.tri(v, diag = FALSE)]) sdcor <- c(attr(v,"stddev"), attr(v,"correlation")[lt.v]) nm <- rownames(v) n <- nrow(v) dd <- data.frame(grp = grp, var1 = nm[c(seq(n), col(v)[lt.v])], var2 = c(rep(NA,n), nm[row(v)[lt.v]]), vcov, sdcor, stringsAsFactors = FALSE) if (order=="lower.tri") { ## reorder *back* to lower.tri order m <- matrix(NA,n,n) diag(m) <- seq(n) m[lower.tri(m)] <- (n+1):(n*(n+1)/2) dd <- dd[m[lower.tri(m, diag=TRUE)],] } dd } r <- do.call(rbind, c(mapply(tmpf, x,names(x), SIMPLIFY = FALSE), deparse.level = 0)) if (attr(x,"useSc")) { ss <- attr(x,"sc") r <- rbind(r,data.frame(grp = "Residual",var1 = NA,var2 = NA, vcov = ss^2, sdcor = ss), deparse.level = 0) } rownames(r) <- NULL r } lme4/R/modular.R0000644000176200001440000010763414630126752013123 0ustar liggesusers#### --> ../man/modular.Rd #### ================== ### Small utilities to be used in lFormula() and glFormula() doCheck <- function(x) { is.character(x) && !any(x == "ignore") } RHSForm <- function(form,as.form=FALSE) { rhsf <- form[[length(form)]] if (as.form) reformulate(deparse(rhsf)) else rhsf } `RHSForm<-` <- function(formula,value) { formula[[length(formula)]] <- value formula } ##' Original formula, minus response ( = '~ ') : noLHSform <- function(formula) { if (length(formula)==2) formula else formula[-2] } ##' @param cstr name of control being set ##' @param val value of control being set checkCtrlLevels <- function(cstr, val, smallOK=FALSE) { bvals <- c("message","warning","stop","ignore") if (smallOK) bvals <- outer(bvals, c("","Small"), paste0) if (!is.null(val) && !val %in% bvals) stop("invalid control level ",sQuote(val)," in ",cstr,": valid options are {", paste(sapply(bvals,sQuote),collapse=","),"}") invisible(NULL) } ## general identifiability checker, used both in checkZdim and checkZrank wmsg <- function(n, cmp.val, allow.n, msg1="", msg2="", msg3="") { if (allow.n) { ## allow n == cmp.val unident <- n < cmp.val cmp <- "<" rstr <- "" } else { unident <- n <= cmp.val cmp <- "<=" rstr <- " and the residual variance (or scale parameter)" } ## %s without spaces intentional (don't want an extra space if the ## message component is empty) wstr <- sprintf("%s (=%d) %s %s (=%d)%s; the random-effects parameters%s are probably unidentifiable", msg1, n, cmp,msg2, cmp.val,msg3, rstr) list(unident=unident, wstr=wstr) } ##' For each r.e. term, test if Z has more columns than rows to detect ##' unidentifiability: ##' @title ##' @param Ztlist list of Zt matrices - one for each r.e. term ##' @param n no. observations ##' @param ctrl ##' @param allow.n allow as many random-effects as there are observations ##' for each term? ##' @return possibly empty character string with warning messages checkZdims <- function(Ztlist, n, ctrl, allow.n=FALSE) { stopifnot(is.list(Ztlist), is.numeric(n)) cstr <- "check.nobs.vs.nRE" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) term.names <- names(Ztlist) rows <- vapply(Ztlist, nrow, 1L) cols <- vapply(Ztlist, ncol, 1L) stopifnot(all(cols == n)) if (doCheck(cc)) { unique(unlist(lapply(seq_along(Ztlist), function(i) { ww <- wmsg(cols[i], rows[i], allow.n, "number of observations", "number of random effects", sprintf(" for term (%s)", term.names[i])) if(ww$unident) { switch(cc, "warning" = warning(ww$wstr, call.=FALSE), "stop" = stop (ww$wstr, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) ww$wstr } else character() }))) ## -> possibly empty vector of error messages } else character() } ##' @importFrom Matrix rankMatrix checkZrank <- function(Zt, n, ctrl, nonSmall = 1e6, allow.n=FALSE) { stopifnot(is.list(ctrl), is.numeric(n), is.numeric(nonSmall)) cstr <- "check.nobs.vs.rankZ" if (doCheck(cc <- ctrl[[cstr]])) { ## not NULL or "ignore" checkCtrlLevels(cstr, cc, smallOK=TRUE) d <- dim(Zt) doTr <- d[1L] < d[2L] # Zt is "wide" => qr needs transpose(Zt) if(!(grepl("Small",cc) && prod(d) > nonSmall)) { rankZ <- rankMatrix(if(doTr) t(Zt) else Zt, method="qr") ww <- wmsg(n, rankZ, allow.n, "number of observations", "rank(Z)") if(is.na(rankZ)) { cc <- "stop" ww <- list(unident = TRUE, wstr = sub("^.*;", "rank(Z) is NA: invalid random effect factors?", ww$wstr)) } if (ww$unident) { switch(cc, "warningSmall" =, "warning" = warning(ww$wstr,call.=FALSE), "stopSmall" =, "stop" = stop(ww$wstr,call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) ww$wstr } else character() } else character() } else character() } ## check scale of non-dummy columns of X, both ## against each other and against 1 (implicit scale of theta parameters)? ## (shouldn't matter for lmer models?) ## TODO: check for badly centred models? ## TODO: check scale of Z columns? ## What should the rules be? try to find problematic columns ## and rescale them? scale+center? Just scale or scale+center ## all numeric columns? ## checkScaleX <- function(X, kind="warning", tol=1e3) { ## cstr <- "check.scaleX" kinds <- eval(formals(lmerControl)[["check.scaleX"]]) if (!kind %in% kinds) stop(gettextf("unknown check-scale option: %s",kind)) if (is.null(kind) || kind == "ignore") return(X) ## else : cont.cols <- apply(X,2,function(z) !all(z %in% c(0,1))) col.sd <- apply(X[,cont.cols, drop=FALSE], 2L, sd) sdcomp <- outer(col.sd,col.sd,"/") logcomp <- abs(log(sdcomp[lower.tri(sdcomp)])) logsd <- abs(log(col.sd)) if (any(c(logcomp,logsd) > log(tol))) { wmsg <- "Some predictor variables are on very different scales:" if (kind %in% c("warning","stop")) { wmsg <- paste(wmsg, "consider rescaling") switch(kind, "warning" = warning(wmsg, call.=FALSE), "stop" = stop(wmsg, call.=FALSE)) } else { wmsg <- paste(wmsg, "auto-rescaled (results NOT adjusted)") ## mimic scale() because we don't want to make a copy in ## order to retrieve the center/scale X[,cont.cols] <- sweep(X[,cont.cols,drop=FALSE],2,col.sd,"/") attr(X,"scaled:scale") <- setNames(col.sd,colnames(X)[cont.cols]) if (kind == "warn+rescale") warning(wmsg, call.=FALSE) } } else wmsg <- character() structure(X, msgScaleX = wmsg) } ##' @title Check that grouping factors have at least 2 and 1 sampled level" switch(cc, "warning" = warning(wstr,call.=FALSE), "stop" = stop(wstr,call.=FALSE), ## FIXME: should never get here since we have checkCtrLevels test above? stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else wstr <- character() ## Part 2 ---------------- cstr <- "check.nobs.vs.nlev" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && any(if(allow.n) nlevelVec > n else nlevelVec >= n)) { ## figure out which factors are the problem? w <- if (allow.n) which(nlevelVec>n) else which(nlevelVec>=n) bad_facs <- names(nlevelVec)[w] wst2 <- gettextf( "number of levels of each grouping factor must be %s number of observations", if(allow.n) "<=" else "<") wst2 <- paste0(wst2," (problems: ",paste(bad_facs,collapse=", "),")") switch(cc, "warning" = warning(wst2, call.=FALSE), "stop" = stop(wst2, call.=FALSE) ## shouldn't reach here ) } else wst2 <- character() ## Part 3 ---------------- cstr <- "check.nlev.gtreq.5" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && any(nlevelVec < 5)) { wst3 <- "grouping factors with < 5 sampled levels may give unreliable estimates" switch(cc, "warning" = warning(wst3, call.=FALSE), "stop" = stop (wst3, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else wst3 <- character() ## return: c(wstr, wst2, wst3) ## possibly == character(0) } ##' Coefficients (columns) are dropped from a design matrix to ##' ensure that it has full rank. ##' ##' Redundant columns of the design matrix are identified with the ##' LINPACK implementation of the \code{\link{qr}} decomposition and ##' removed. The returned design matrix will have \code{qr(X)$rank} ##' columns. ##' ##' (Note: I have lifted this function from the ordinal (soon Rufus) ##' package and modified it slightly./rhbc) ##' ##' @title Ensure full rank design matrix ##' @param X a design matrix, e.g., the result of ##' \code{\link{model.matrix}} possibly of less than full column rank, ##' i.e., with redundant parameters. ##' @param silent should a message not be issued if X is column rank ##' deficient? ##' @return The design matrix \code{X} without redundant columns. ##' @seealso \code{\link{qr}} and \code{\link{lm}} ##' @importFrom Matrix rankMatrix ##' @author Rune Haubo Bojesen Christensen (drop.coef()); Martin Maechler chkRank.drop.cols <- function(X, kind, tol = 1e-7, method = "qr") { ## Test and match arguments: stopifnot(is.matrix(X)) # i.e., *not* sparse kinds <- eval(formals(lmerControl)[["check.rankX"]]) if (!kind %in% kinds) stop(gettextf("undefined option for 'kind': %s", kind)) ## c("message+drop.cols", "ignore", ## "silent.drop.cols", "warn+drop.cols", "stop.deficient"), if(kind == "ignore") return(X) ## else : p <- ncol(X) if (kind == "stop.deficient") { if ((rX <- rankMatrix(X, tol=tol, method=method)) < p) stop(gettextf(sub("\n +", "\n", "the fixed-effects model matrix is column rank deficient (rank(X) = %d < %d = p); the fixed effects will be jointly unidentifiable"), rX, p), call. = FALSE) } else { ## kind is one of "message+drop.cols", "silent.drop.cols", "warn+drop.cols" ## --> consider to drop extraneous columns: "drop.cols": ## Perform the qr-decomposition of X using LINPACK method, ## as we need the "good" pivots (and the same as lm()): ## this rankMatrix(X, method="qrLINPACK"): FIXME? rankMatrix(X, method= "qr.R") qr.X <- qr(X, tol = tol, LAPACK = FALSE) rnkX <- qr.X$rank if (rnkX == p) return(X) ## return X if X has full column rank ## else: ## message about no. dropped columns: msg <- sprintf(ngettext(p - rnkX, "fixed-effect model matrix is rank deficient so dropping %d column / coefficient", "fixed-effect model matrix is rank deficient so dropping %d columns / coefficients"), p - rnkX) if (kind != "silent.drop.cols") (if(kind == "warn+drop.cols") warning else message)(msg, domain = NA) ## Save properties of X contr <- attr(X, "contrasts") asgn <- attr(X, "assign") ## Return the columns correponding to the first qr.x$rank pivot ## elements of X: keep <- qr.X$pivot[seq_len(rnkX)] dropped.names <- colnames(X[,-keep,drop=FALSE]) X <- X[, keep, drop = FALSE] if (rankMatrix(X, tol=tol, method=method) < ncol(X)) stop(gettextf("Dropping columns failed to produce full column rank design matrix"), call. = FALSE) ## Re-assign relevant attributes: if(!is.null(contr)) attr(X, "contrasts") <- contr if(!is.null(asgn)) attr(X, "assign") <- asgn[keep] attr(X, "msgRankdrop") <- msg attr(X, "col.dropped") <- setNames(qr.X$pivot[(rnkX+1L):p], dropped.names) } X } # check that response is not constant checkResponse <- function(y, ctrl) { stopifnot(is.list(ctrl)) cstr <- "check.response.not.const" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && length(unique(y)) < 2L) { wstr <- "Response is constant" switch(cc, "warning" = warning(wstr, call.=FALSE), "stop" = stop(wstr, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else character() } ##' Extract all warning msgs from a merMod object .merMod.msgs <- function(x) { ## currently only those found with 'X' : aX <- attributes(x@pp$X) wmsgs <- grep("^msg", names(aX)) if(any(has.msg <- nchar(Xwmsgs <- unlist(aX[wmsgs])) > 0)) Xwmsgs[has.msg] else character() } ## NA predict and restore rownames of original data if necessary ## napredictx <- function(x,...) { ## res <- napredict(x) ## } ##' @rdname modular ##' @param control a list giving (for \code{[g]lFormula}) all options (see \code{\link{lmerControl}} for running the model; ##' (for \code{mkLmerDevfun,mkGlmerDevfun}) options for inner optimization step; ##' (for \code{optimizeLmer} and \code{optimize[Glmer}) control parameters for nonlinear optimizer (typically inherited from the \dots argument to \code{lmerControl}) ##' @return \bold{lFormula, glFormula}: A list containing components, ##' \item{fr}{model frame} ##' \item{X}{fixed-effect design matrix} ##' \item{reTrms}{list containing information on random effects structure: result of \code{\link{mkReTrms}}} ##' \item{REML}{(lFormula only): logical flag: use restricted maximum likelihood? (Copy of argument.)} ##' @export lFormula <- function(formula, data=NULL, REML = TRUE, subset, weights, na.action, offset, contrasts = NULL, control=lmerControl(), ...) { control <- control$checkControl ## this is all we really need mf <- mc <- match.call() dontChk <- c("start", "verbose", "devFunOnly") dots <- list(...) do.call(checkArgs, c(list("lmer"), dots[!names(dots) %in% dontChk])) if (!is.null(dots[["family"]])) { ## lmer(...,family=...); warning issued within checkArgs mc[[1]] <- quote(lme4::glFormula) if (missing(control)) mc[["control"]] <- glmerControl() return(eval(mc, parent.frame())) } cstr <- "check.formula.LHS" checkCtrlLevels(cstr,control[[cstr]]) denv <- checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == "stop") #mc$formula <- formula <- as.formula(formula,env=denv) ## substitute evaluated call formula <- as.formula(formula, env=denv) ## as.formula ONLY sets environment if not already explicitly set. ## ?? environment(formula) <- denv # get rid of || terms so update() works as expected RHSForm(formula) <- expandDoubleVerts(RHSForm(formula)) mc$formula <- formula ## (DRY! copied from glFormula) m <- match(c("data", "subset", "weights", "na.action", "offset"), names(mf), 0L) mf <- mf[c(1L, m)] mf$drop.unused.levels <- TRUE mf[[1L]] <- quote(stats::model.frame) fr.form <- subbars(formula) # substitute "|" by "+" environment(fr.form) <- environment(formula) ## model.frame.default looks for these objects in the environment ## of the *formula* (see 'extras', which is anything passed in '...'), ## so they have to be put there: for (i in c("weights", "offset")) { if (!eval(bquote(missing(x=.(i))))) assign(i,get(i,parent.frame()),environment(fr.form)) } mf$formula <- fr.form fr <- eval(mf, parent.frame()) if (nrow(fr) == 0L) stop("0 (non-NA) cases") ## convert character vectors to factor (defensive) fr <- factorize(fr.form, fr, char.only=TRUE) ## store full, original formula & offset attr(fr,"formula") <- formula attr(fr,"offset") <- mf$offset n <- nrow(fr) ## random effects and terms modules reTrms <- mkReTrms(findbars(RHSForm(formula)), fr) wmsgNlev <- checkNlevels(reTrms$flist, n=n, control) wmsgZdims <- checkZdims(reTrms$Ztlist, n=n, control, allow.n=FALSE) if (anyNA(reTrms$Zt)) { stop("NA in Z (random-effects model matrix): ", "please use ", shQuote("na.action='na.omit'"), " or ", shQuote("na.action='na.exclude'")) } wmsgZrank <- checkZrank(reTrms$Zt, n=n, control, nonSmall = 1e6) ## fixed-effects model matrix X - remove random effect parts from formula: fixedform <- formula RHSForm(fixedform) <- nobars(RHSForm(fixedform)) mf$formula <- fixedform ## re-evaluate model frame to extract predvars component fixedfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.fixed") <- attr(attr(fixedfr,"terms"), "predvars") ## so we don't have to fart around retrieving which vars we need ## in model.frame(.,fixed.only=TRUE) attr(attr(fr,"terms"), "varnames.fixed") <- names(fixedfr) ## ran-effects model frame (for predvars) ## important to COPY formula (and its environment)? ranform <- formula RHSForm(ranform) <- subbars(RHSForm(reOnly(formula))) mf$formula <- ranform ranfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.random") <- attr(terms(ranfr), "predvars") ## FIXME: shouldn't we have this already in the full-frame predvars? X <- model.matrix(fixedform, fr, contrasts)#, sparse = FALSE, row.names = FALSE) ## sparseX not yet ## backward compatibility (keep no longer than ~2015): if(is.null(rankX.chk <- control[["check.rankX"]])) rankX.chk <- eval(formals(lmerControl)[["check.rankX"]])[[1]] X <- chkRank.drop.cols(X, kind=rankX.chk, tol = 1e-7) if(is.null(scaleX.chk <- control[["check.scaleX"]])) scaleX.chk <- eval(formals(lmerControl)[["check.scaleX"]])[[1]] X <- checkScaleX(X, kind=scaleX.chk) list(fr = fr, X = X, reTrms = reTrms, REML = REML, formula = formula, wmsgs = c(Nlev = wmsgNlev, Zdims = wmsgZdims, Zrank = wmsgZrank)) } ## utility f'n for checking starting values getStart <- function(start, pred, returnVal = c("theta","all")) { returnVal <- match.arg(returnVal) doFixef <- returnVal == "all" ## default values theta <- pred$theta fixef <- pred$delb if (is.numeric(start)) { theta <- start } else if (is.list(start)) { if (!all(vapply(start, is.numeric, NA))) stop("all elements of start must be numeric") if (length((badComp <- setdiff(names(start), c("theta","fixef")))) > 0) stop("incorrect components in start list: ", badComp) if (!is.null(start$theta)) theta <- start$theta if (doFixef) { noBeta <- is.null(start$beta) if(!is.null(sFE <- start$fixef) || !noBeta) { fixef <- if(!is.null(sFE)) { if(!noBeta) message("Starting values for fixed effects coefficients", "specified through both 'fixef' and 'beta',", "only 'fixef' used") ## FIXME? accumulating heuristic evidence for drop1()-like case if((p <- length(fixef)) < length(sFE) && p == ncol(pred$X) && is.character(ns <- names(sFE)) && all((cnX <- dimnames(pred$X)[[2L]]) %in% ns)) ## take "matching" fixef[] only sFE[cnX] else sFE } else if(!noBeta) start$beta } if (length(fixef)!=length(pred$delb)) stop("incorrect number of fixef components (!=",length(pred$delb),")") } } else if (!is.null(start)) stop("'start' must be NULL, a numeric vector or named list of such vectors") if (!is.null(start) && length(theta) != length(pred$theta)) stop("incorrect number of theta components (!=",length(pred$theta),")") if(doFixef) c(theta, fixef) else theta } ## update start ## should refactor this to ## turn numeric start into start=list(theta=start) immediately ?? updateStart <- function(start, theta) { if (is.numeric(start)) { theta } else { if (!is.null(start$theta)) start$theta <- theta start } } ##' @rdname modular ##' @param fr A model frame containing the variables needed to create an ##' \code{\link{lmerResp}} or \code{\link{glmResp}} instance ##' @param X fixed-effects design matrix ##' @param reTrms information on random effects structure (see \code{\link{mkReTrms}}) ##' @param REML (logical) fit restricted maximum likelihood model? ##' @param start starting values ##' @param verbose print output? ##' @return \bold{mkLmerDevfun, mkGlmerDevfun}: A function to calculate deviance ##' (or restricted deviance) as a function of the theta (random-effect) parameters ##' (for GlmerDevfun, of beta (fixed-effect) parameters as well). These deviance ##' functions have an environment containing objects required for their evaluation. ##' CAUTION: The output object of \code{mk(Gl|L)merDevfun} is an \code{\link{environment}} ##' containing reference class objects (see \code{\link{ReferenceClasses}}, \code{\link{merPredD-class}}, ##' \code{\link{lmResp-class}}), which behave in ways that may surprise many users. For example, if the ##' output of \code{mk(Gl|L)merDevfun} is naively copied, then modifications to the original will ##' also appear in the copy (and vice versa). To avoid this behavior one must make a deep copy ##' (see \code{\link{ReferenceClasses}} for details). ##' \cr ##' \cr ##' @export mkLmerDevfun <- function(fr, X, reTrms, REML = TRUE, start = NULL, verbose = 0, control = lmerControl(), ...) { ## FIXME: make sure verbose gets handled properly #if (missing(fr)) { ## reconstitute frame #} ## pull necessary arguments for making the model frame out of ... p <- ncol(X) # maybe also do rank check on X here?? rho <- new.env(parent=parent.env(environment())) rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) REMLpass <- if(REML) p else 0L rho$resp <- if(missing(fr)) mkRespMod( REML = REMLpass, ...) else mkRespMod(fr, REML = REMLpass) ## FIXME / note: REML does double duty as rank of X and a flag for using ## REML maybe this should be mentioned in the help file for ## mkRespMod?? currently that help file says REML is logical. a ## consequence of this double duty is that it is impossible to fit ## a model with no fixed effects using REML (MM: ==> FIXME) ## devfun <- mkdevfun(rho, 0L, verbose=verbose, control=control) ## prevent R CMD check false pos. warnings (in this function only): pp <- resp <- NULL rho$lmer_Deviance <- lmer_Deviance devfun <- function(theta) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), as.double(theta)) environment(devfun) <- rho # if all random effects are of the form 1|f and starting values not # otherwise provided (and response variable is present, i.e. not doing # a simulation) then compute starting values if (is.null(start) && all(reTrms$cnms == "(Intercept)") && length(reTrms$flist) == length(reTrms$lower) && !is.null(y <- model.response(fr))) { v <- sapply(reTrms$flist, function(f) var(ave(y, f))) v.e <- var(y) - sum(v) if (!is.na(v.e) && v.e > 0) { v.rel <- v / v.e if (all(v.rel >= reTrms$lower^2)) rho$pp$setTheta(sqrt(v.rel)) } } ## theta <- getStart(start, rho$pp) ## ^^^^^ unused / obfuscation? should the above be rho$pp$setTheta(.) ? ## MM: commenting it did not break any of our checks if (length(rho$resp$y) > 0) ## only if non-trivial y devfun(rho$pp$theta) # one evaluation to ensure all values are set rho$lower <- reTrms$lower # to be more consistent with mkGlmerDevfun devfun # this should pass the rho environment implicitly } ##' @param devfun a deviance function, as generated by \code{\link{mkLmerDevfun}} ##' @return \bold{optimizeLmer}: Results of an optimization. optimizeLmer <- function(devfun, optimizer= formals(lmerControl)$optimizer, restart_edge= formals(lmerControl)$restart_edge, boundary.tol = formals(lmerControl)$boundary.tol, start = NULL, verbose = 0L, control = list(), ...) { verbose <- as.integer(verbose) rho <- environment(devfun) opt <- optwrap(optimizer, devfun, getStart(start, rho$pp), lower=rho$lower, control=control, adj=FALSE, verbose=verbose, ...) if (restart_edge) { ## FIXME: should we be looking at rho$pp$theta or opt$par ## at this point??? in koller example (for getData(13)) we have ## rho$pp$theta=0, opt$par=0.08 if (length(bvals <- which(rho$pp$theta==rho$lower)) > 0) { ## *don't* use numDeriv -- cruder but fewer dependencies, no worries ## about keeping to the interior of the allowed space theta0 <- new("numeric",rho$pp$theta) ## 'deep' copy: d0 <- devfun(theta0) btol <- 1e-5 ## FIXME: make user-settable? bgrad <- sapply(bvals, function(i) { bndval <- rho$lower[i] theta <- theta0 theta[i] <- bndval+btol (devfun(theta)-d0)/btol }) ## what do I need to do to reset rho$pp$theta to original value??? devfun(theta0) ## reset rho$pp$theta after tests ## FIXME: allow user to specify ALWAYS restart if on boundary? if (any(is.na(bgrad))) { warning("some gradient components are NA near boundaries, skipping boundary check") return(opt) } else { if (any(bgrad < 0)) { if (verbose) message("some theta parameters on the boundary, restarting") opt <- optwrap(optimizer, devfun, opt$par, lower=rho$lower, control=control, adj=FALSE, verbose=verbose, ...) } } ## bgrad not NA } } ## if restart.edge if (boundary.tol > 0) check.boundary(rho, opt, devfun, boundary.tol) else opt } ## TODO: remove any arguments that aren't actually used by glFormula (same for lFormula) ## TODO(?): lFormula() and glFormula() are very similar: merge or use common baseFun() ##' @rdname modular ##' @inheritParams glmer ##' @export glFormula <- function(formula, data=NULL, family = gaussian, subset, weights, na.action, offset, contrasts = NULL, start, mustart, etastart, control = glmerControl(), ...) { ## FIXME: does start= do anything? test & fix control <- control$checkControl ## this is all we really need mf <- mc <- match.call() ## extract family, call lmer for gaussian if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame(2)) if( is.function(family)) family <- family() if (isTRUE(all.equal(family, gaussian()))) { mc[[1]] <- quote(lme4::lFormula) mc["family"] <- NULL # to avoid an infinite loop return(eval(mc, parent.frame())) } if (family$family %in% c("quasibinomial", "quasipoisson", "quasi")) stop('"quasi" families cannot be used in glmer') dontChk <- c("verbose", "devFunOnly", "optimizer", "nAGQ") dots <- list(...) do.call(checkArgs, c(list("glmer"), dots[!names(dots) %in% dontChk])) cstr <- "check.formula.LHS" checkCtrlLevels(cstr, control[[cstr]]) denv <- checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == "stop") mc$formula <- formula <- as.formula(formula, env = denv) ## substitute evaluated version ## DRY ... m <- match(c("data", "subset", "weights", "na.action", "offset", "mustart", "etastart"), names(mf), 0L) mf <- mf[c(1L, m)] mf$drop.unused.levels <- TRUE mf[[1L]] <- quote(stats::model.frame) fr.form <- subbars(formula) # substitute "|" by "+" environment(fr.form) <- environment(formula) ## model.frame.default looks for these objects in the environment ## of the *formula* (see 'extras', which is anything passed in '...'), ## so they have to be put there: for (i in c("weights", "offset")) { if (!eval(bquote(missing(x=.(i))))) assign(i, get(i, parent.frame()), environment(fr.form)) } mf$formula <- fr.form fr <- eval(mf, parent.frame()) ## convert character vectors to factor (defensive) fr <- factorize(fr.form, fr, char.only = TRUE) ## store full, original formula & offset attr(fr,"formula") <- formula attr(fr,"offset") <- mf$offset ## attach starting coefficients to model frame so we can ## pass them through to mkRespMod -> family()$initialize ... if (!missing(start) && is.list(start)) { attr(fr,"start") <- start$fixef } n <- nrow(fr) ## random effects and terms modules reTrms <- mkReTrms(findbars(RHSForm(formula)), fr) ## TODO: allow.n = !useSc {see FIXME below} wmsgNlev <- checkNlevels(reTrms$ flist, n = n, control, allow.n = TRUE) wmsgZdims <- checkZdims(reTrms$Ztlist, n = n, control, allow.n = TRUE) wmsgZrank <- checkZrank(reTrms$ Zt, n = n, control, nonSmall = 1e6, allow.n = TRUE) ## FIXME: adjust test for families with estimated scale parameter: ## useSc is not defined yet/not defined properly? ## if (useSc && maxlevels == n) ## stop("number of levels of each grouping factor must be", ## "greater than number of obs") ## fixed-effects model matrix X - remove random effect parts from formula: fixedform <- formula RHSForm(fixedform) <- nobars(RHSForm(fixedform)) mf$formula <- fixedform ## re-evaluate model frame to extract predvars component fixedfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"),"predvars.fixed") <- attr(attr(fixedfr,"terms"),"predvars") ## ran-effects model frame (for predvars) ## important to COPY formula (and its environment)? ranform <- formula RHSForm(ranform) <- subbars(RHSForm(reOnly(formula))) mf$formula <- ranform ranfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.random") <- attr(terms(ranfr), "predvars") X <- model.matrix(fixedform, fr, contrasts)#, sparse = FALSE, row.names = FALSE) ## sparseX not yet ## backward compatibility (keep no longer than ~2015): if(is.null(rankX.chk <- control[["check.rankX"]])) rankX.chk <- eval(formals(lmerControl)[["check.rankX"]])[[1]] X <- chkRank.drop.cols(X, kind=rankX.chk, tol = 1e-7) if(is.null(scaleX.chk <- control[["check.scaleX"]])) scaleX.chk <- eval(formals(lmerControl)[["check.scaleX"]])[[1]] X <- checkScaleX(X, kind=scaleX.chk) list(fr = fr, X = X, reTrms = reTrms, family = family, formula = formula, wmsgs = c(Nlev = wmsgNlev, Zdims = wmsgZdims, Zrank = wmsgZrank)) } ##' @rdname modular ##' @export mkGlmerDevfun <- function(fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit = 100L, control = glmerControl(), ...) { stopifnot(length(nAGQ <- as.integer(nAGQ)) == 1L, 0L <= nAGQ, nAGQ <= 25L) verbose <- as.integer(verbose) maxit <- as.integer(maxit) rho <- list2env(list(verbose=verbose, maxit=maxit, tolPwrss= control$tolPwrss, compDev = control$compDev), parent = parent.frame()) rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) rho$resp <- if (missing(fr)) mkRespMod(family=family, ...) else mkRespMod(fr, family=family) nAGQinit <- if(control$nAGQ0initStep) 0L else 1L ## allow trivial y if (length(y <- rho$resp$y) > 0) { checkResponse(y, control$checkControl) rho$verbose <- as.integer(verbose) ## initialize (from mustart) .Call(glmerLaplace, rho$pp$ptr(), rho$resp$ptr(), nAGQinit, control$tolPwrss, maxit, verbose) rho$lp0 <- rho$pp$linPred(1) # each pwrss opt begins at this eta rho$pwrssUpdate <- glmerPwrssUpdate } rho$lower <- reTrms$lower # not needed in rho? mkdevfun(rho, nAGQinit, maxit=maxit, verbose=verbose, control=control) ## this should pass the rho environment implicitly } ##' @rdname modular ##' @param nAGQ number of Gauss-Hermite quadrature points ##' @param stage optimization stage (1: nAGQ=0, optimize over theta only; 2: nAGQ possibly >0, optimize over theta and beta) ##' @export optimizeGlmer <- function(devfun, optimizer = if(stage == 1) "bobyqa" else "Nelder_Mead", restart_edge=FALSE, boundary.tol = formals(glmerControl)$boundary.tol, verbose = 0L, control = list(), nAGQ = 1L, stage = 1, start = NULL, ...) { ## FIXME: do we need nAGQ here?? or can we clean up? verbose <- as.integer(verbose) rho <- environment(devfun) if (stage == 1) { start <- getStart(start, rho$pp, "theta") adj <- FALSE } else { ## stage == 2 start <- getStart(start, rho$pp, "all") adj <- TRUE } opt <- optwrap(optimizer, devfun, start, rho$lower, control=control, adj=adj, verbose=verbose, ...) if (stage == 1) { rho$control <- attr(opt,"control") rho$nAGQ <- nAGQ } else { ## stage == 2 rho$resp$setOffset(rho$baseOffset) } if (restart_edge) ## FIXME: implement this ... stop("restart_edge not implemented for optimizeGlmer yet") if (boundary.tol > 0) { opt <- check.boundary(rho, opt, devfun, boundary.tol) if(stage != 1) rho$resp$setOffset(rho$baseOffset) } opt } check.boundary <- function(rho,opt,devfun,boundary.tol) { bdiff <- rho$pp$theta - rho$lower[seq_along(rho$pp$theta)] if (any(edgevals <- 0 < bdiff & bdiff < boundary.tol)) { ## try sucessive "close-to-edge parameters" to see ## if we can improve by setting them equal to the boundary pp <- opt$par for (i in which(edgevals)) { tmppar <- pp tmppar[i] <- rho$lower[i] if (devfun(tmppar) < opt$fval) pp[i] <- tmppar[i] } opt$par <- pp opt$fval <- devfun(opt$par) ## re-run to reset (whether successful or not) ## FIXME: derivatives, Hessian etc. (and any other ## opt messages) *not* recomputed } return(opt) } ## only do this function if nAGQ > 0L ##' @rdname modular ##' @export updateGlmerDevfun <- function(devfun, reTrms, nAGQ = 1L){ if (nAGQ > 1L) { if (length(reTrms$flist) != 1L || length(reTrms$cnms[[1]]) != 1L) stop("nAGQ > 1 is only available for models with a single, scalar random-effects term") } rho <- environment(devfun) rho$nAGQ <- nAGQ rho$lower <- c(rho$lower, rep.int(-Inf, length(rho$pp$beta0))) rho$lp0 <- rho$pp$linPred(1) rho$dpars <- seq_along(rho$pp$theta) rho$baseOffset <- forceCopy(rho$resp$offset) # forcing a copy (!) rho$GQmat <- GHrule(nAGQ) rho$fac <- reTrms$flist[[1]] mkdevfun(rho, nAGQ) # does this attach rho to devfun?? } lme4/R/vcconv.R0000644000176200001440000001716114630126752012751 0ustar liggesusers## These files are not currently exported; we are still trying to figure ## out the most appropriate user interface/naming convention/etc ## These functions will become more important, and need to be ## modified/augmented, if we start allowing for varying V-C structures ## (e.g. diagonal matrices, compound symmetry ...) ## In principle we might want to extract or input information: ## 1. as variance-covariance matrices ## 2. as Cholesky factors ## 3. as 'sdcorr' matrices (std dev on diagonal, correlations off diagonal) ## and we might want the structure to be: ## 1. a concatenated vector representing the lower triangles ## (with an attribute carrying the information about group sizes) ## 2. a list of lower-triangle vectors ## 3. a list of matrices ## 4. a block-diagonal matrix ## If we are trying to convert to and from theta vectors, we also ## have to consider whether we are returning scaled Cholesky factors/ ## var-cov matrices or unscaled ones. For the code below I have ## chosen to allow the residual variance etc. to be appended as ## the last element of a variance-covariance vector. (This last ## part is a little less generic than the rest of it.) ##' List of matrices to concatenated vector ##' ##' Convert list of matrices to concatenated vector of lower triangles ##' with an attribute that gives the dimension of each matrix in the ##' original list. This attribute may be used to reconstruct the ##' matrices. ##' ##' @param L list of symmetric, upper-triangular, or lower-triangular ##' square matrices ##' @return A concatenation of the elements in one triangle of each ##' matrix. An attribute \code{"clen"} gives the dimension of each ##' matrix. mlist2vec <- function(L) { if(is.atomic(L)) L <- list(L) n <- vapply(L, nrow, 1L) ## allow for EITHER upper- or lower-triangular input; ## in either case, read off in "lower-triangular" order ## (column-wise) ff <- function(x) { if (all(na.omit(x[iu <- upper.tri(x)] == 0))) t(x[!iu]) else t(x)[!iu] } structure(unlist(lapply(L,ff)), clen = n) } ## Compute dimensions of a square matrix from the size ## of the lower triangle (length as a vector) get_clen <- function(v,n=NULL) { if (is.null(n)) { if (is.null(n <- attr(v,"clen"))) { ## single component n <- (sqrt(8*length(v)+1)-1)/2 } } n } ##' Concatenated vector to list of matrices ##' ##' Convert concatenated vector to list of matrices (lower triangle or ##' symmetric). These matrices could represent Cholesky factors, ##' covariance matrices, or correlation matrices (with standard ##' deviations on the diagonal). ##' ##' @param v concatenated vector ##' @param n FIXME: this has something to do with the dimension of ##' associated matrices. ##' @param symm Return symmetric matrix if \code{TRUE} or ##' lower-triangular if \code{FALSE} ##' @return List of matrices vec2mlist <- function(v,n=NULL,symm=TRUE) { n <- get_clen(v,n) s <- split(v,rep.int(seq_along(n),n*(n+1)/2)) m <- mapply(function(x,n0) { m0 <- diag(nrow=n0) m0[lower.tri(m0,diag=TRUE)] <- x if (symm) m0[upper.tri(m0)] <- t(m0)[upper.tri(m0)] m0 },s,n,SIMPLIFY=FALSE) m } ## Convert concatenated vector to list of ST matrices vec2STlist <- function(v, n = NULL){ ch <- vec2mlist(v, n, FALSE) # cholesky sdiag <- function(x) { ## 'safe' diag() if (length(x)==1) matrix(x,1,1) else diag(x) } lapply(ch, function(L) { ST <- L%*%sdiag(1/sdiag(L)) diag(ST) <- diag(L) ST }) } ##' Standard deviation-correlation matrix to covariance matrix ##' ##' convert 'sdcor' format -- diagonal = std dev, off-diag=cor to and ##' from variance-covariance matrix ##' ##' @param m Standard deviation-correlation matrix ##' @return Covariance matrix sdcor2cov <- function(m) { sd <- diag(m) diag(m) <- 1 m * outer(sd,sd) } ##' Covariance matrix to standard deviation-correlation matrix ##' ##' convert cov to sdcor ##' ##' @param V Covariance matrix ##' @return Standard deviation-correlation matrix cov2sdcor <- function(V) { ## "own version" of cov2cor(): 1. no warning for NA; 2. diagonal = sd(.) p <- (d <- dim(V))[1L] if (!is.numeric(V) || length(d) != 2L || p != d[2L]) stop("'V' is not a square numeric matrix") sd <- sqrt(diag(V)) Is <- 1/sd r <- V r[] <- Is * V * rep(Is, each = p) diag(r) <- sd if (any(is.na(r))) { warning("NA values in sdcor matrix converted to 0") r[is.na(r)] <- 0 } r } ## dmult <- function(m,s) { ## diag(m) <- diag(m)*s ## m ## } ## attempt to compute Cholesky, allow for positive semi-definite cases ## (hackish) safe_chol <- function(m) { if (any(is.na(m)) || all(m==0)) return(m) if (nrow(m)==1) return(sqrt(m)) if (.isDiagonal.sq.matrix(m)) return(diag(sqrt(diag(m)))) ## attempt regular Chol. decomp if (!is.null(cc <- tryCatch(chol(m), error=function(e) NULL))) return(cc) ## ... pivot if necessary ... cc <- suppressWarnings(chol(m,pivot=TRUE)) oo <- order(attr(cc,"pivot")) cc[,oo] ## FIXME: pivot is here to deal with semidefinite cases, ## but results might be returned in a strange format: TEST } ##' Variance-covariance to relative covariance factor ##' ##' from var-cov to scaled Cholesky: ##' ##' @param v Vector of elements from the lower triangle of a ##' variance-covariance matrix. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a relative ##' covariance factor. Vv_to_Cv <- function(v,n=NULL,s=1) { if (!missing(s)) { v <- v[-length(v)] } r <- mlist2vec(lapply(vec2mlist(v,n,symm=TRUE), function(m) t(safe_chol(m/s^2)))) attr(r,"clen") <- get_clen(v,n) r } ##' Standard-deviation-correlation to relative covariance factor ##' ##' from sd-cor to scaled Cholesky ##' ##' @param v Vector of elements from the lower triangle of a ##' standard-deviation-correlation matrix. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a relative ##' covariance factor. Sv_to_Cv <- function(v,n=NULL,s=1) { if (!missing(s)) { v <- v[-length(v)] } r <- mlist2vec(lapply(vec2mlist(v,n,symm=TRUE), function(m) t(safe_chol(sdcor2cov(m)/s^2)))) attr(r,"clen") <- get_clen(v,n) r } ##' Relative covariance factor to variance-covariance ##' ##' from unscaled Cholesky vector to (possibly scaled) ##' variance-covariance vector ##' ##' @param v Vector of elements from the lower triangle of a ##' relative covariance factor. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a ##' variance-covariance matrix. Cv_to_Vv <- function(v,n=NULL,s=1) { r <- mlist2vec(lapply(vec2mlist(v,n,symm=FALSE), function(m) tcrossprod(m)*s^2)) if (!missing(s)) r <- c(r,s^2) attr(r,"clen") <- get_clen(v,n) r } ##' Relative covariance factor to standard-deviation-correlation ##' ##' from unscaled Chol to sd-cor vector ##' ##' @param v Vector of elements from the lower triangle of a ##' relative covariance factor. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a ##' standard-deviation-correlation matrix. Cv_to_Sv <- function(v,n=NULL,s=1) { r <- mlist2vec(lapply(vec2mlist(v,n,symm=FALSE), function(m) cov2sdcor(tcrossprod(m)*s^2))) if (!missing(s)) r <- c(r,s) attr(r,"clen") <- get_clen(v,n) r } ## tests --> ../inst/tests/test-utils.R lme4/R/AllGeneric.R0000644000176200001440000000412114630126752013450 0ustar liggesusers## utilities, these *exported*: ##' @export getL setGeneric("getL", function(x) standardGeneric("getL")) fixed.effects <- function(object, ...) { ## fixed.effects was an alternative name for fixef .Deprecated("fixef") mCall = match.call() mCall[[1]] = as.name("fixef") eval(mCall, parent.frame()) } random.effects <- function(object, ...) { ## random.effects was an alternative name for ranef .Deprecated("ranef") mCall = match.call() mCall[[1]] = as.name("ranef") eval(mCall, parent.frame()) } ## Create a Markov chain Monte Carlo sample from the posterior ## distribution of the parameters ## ## ## @title Create an MCMC sample ## @param object a fitted model object ## @param n number of samples to generate. Defaults to 1; for real use values of 200-1000 are more typical ## @param verbose should verbose output be given? ## @param ... additional, optional arguments (not used) ## @return a Markov chain Monte Carlo sample as a matrix mcmcsamp <- function(object, n = 1L, verbose = FALSE, ...) UseMethod("mcmcsamp") if(getRversion() < "3.3") { sigma <- function(object, ...) UseMethod("sigma") } isREML <- function(x, ...) UseMethod("isREML") isLMM <- function(x, ...) UseMethod("isLMM") isGLMM <- function(x, ...) UseMethod("isGLMM") isNLMM <- function(x, ...) UseMethod("isNLMM") ##' Refit a model using the maximum likelihood criterion ##' ##' This function is primarily used to get a maximum likelihood fit of ##' a linear mixed-effects model for an \code{\link{anova}} comparison. ##' ##' @title Refit a model by maximum likelihood criterion ##' @param x a fitted model, usually of class \code{"\linkS4class{lmerMod}"}, ##' to be refit according to the maximum likelihood criterion ##' @param ... optional additional parameters. None are used at present. ##' @return an object like \code{x} but fit by maximum likelihood ##' @export refitML <- function(x, ...) UseMethod("refitML") refit <- function(object, newresp, ...) UseMethod("refit") if (FALSE) { setGeneric("HPDinterval", function(object, prob = 0.95, ...) standardGeneric("HPDinterval")) } lme4/R/predict.R0000644000176200001440000012323614761420570013106 0ustar liggesusers##' test for no-random-effect specification: TRUE if NA or ~0, other ##' possibilities are NULL or a non-trivial formula isRE <- function(re.form) { isForm <- inherits(re.form, "formula") (is.null(re.form) || isForm || !is.na(re.form)) && (!isForm || length(re.form) != 2L || !identical(re.form[[2L]], 0)) } if(FALSE) { isRE(NA) ## FALSE isRE(~0) ## " isRE(~y+x) ## TRUE isRE(NULL) ## " isRE(~0+x) ## " } ##' Random Effects formula only reOnly <- function(f, response=FALSE) { reformulate(paste0("(", vapply(findbars(f), deparse1, ""), ")"), response = if(response && length(f)==3L) f[[2]], env = environment(f)) } ## '...' may contain fixed.only=TRUE, random.only=TRUE, .. get.orig.levs <- function(object, FUN=levels, newdata=NULL, sparse = FALSE, ...) { Terms <- terms(object, data = newdata, ...) mf <- model.frame(object, ...) isFac <- vapply(mf, is.factor, FUN.VALUE=TRUE) ## ignore response variable isFac[attr(Terms,"response")] <- FALSE mf <- mf[isFac] hasSparse <- any(grepl("sparse", names(formals(FUN)))) # check if FUN has sparse argument orig_levs <- if (any(isFac) && hasSparse) lapply(mf, FUN, sparse = sparse) else if(any(isFac) && !hasSparse) lapply(mf, FUN) # else NULL ## if necessary (allow.new.levels ...) add in new levels if (!is.null(newdata)) { for (n in names(mf)) { orig_levs[[n]] <- c(orig_levs[[n]], setdiff(unique(as.character(newdata[[n]])),orig_levs[[n]])) } } ## more clues about factor-ness of terms if(!is.null(orig_levs)) attr(orig_levs,"isFac") <- isFac orig_levs } ##' Force new parameters into a merMod object ##' (should this be an S3 method?): params(object) <- newvalue ##' @param object ##' @param params a list of the form specified by \code{start} in ##' \code{\link{lmer}} or \code{\link{glmer}} (i.e. a list containing ##' theta and/or beta; maybe eventually further parameters ... ##' What updating do we have to do in order to make the resulting object ##' consistent/safe? ##' TODO: What kind of checking of input do we have to do? (Abstract from ##' lmer/glmer code ...) ##' TODO: make sure this gets updated when the parameter structure changes ##' from (theta, beta) to alpha=(theta, beta, phi) ##' @param inplace logical specifying if object should be modified in place; not yet ##' @param subset logical; needs to be true, if only parts of params are to be reset ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ##' fm1M <- setParams(fm1,list(theta=rep(1,3))) ##' getME(fm1M,"theta") ##' getME(fm1,"theta") ## check that original didn't get messed up ##' ## check that @resp and @pp are the only reference class slots ... ##' sapply(slotNames(fm1),function(x) class(slot(fm1,x))) setParams <- function(object, params, inplace=FALSE, subset=FALSE) { pNames <- c("beta","theta") if (object@devcomp$dims["useSc"]) pNames <- c(pNames, "sigma") if (!is.list(params) || length(setdiff(names(params),pNames)) > 0) stop("params should be specifed as a list with elements from ", "{",paste(shQuote(pNames),collapse=", "),"}") if (!subset && length(setdiff(pNames,names(params))) > 0) { warning("some parameters not specified in setParams()") } nbeta <- length(object@pp$beta(1)) ntheta <- length(object@pp$theta) if (!is.null(beta <- params$beta) && length(beta)!=nbeta) stop("length mismatch in beta (",length(beta), "!=",nbeta,")") if (!is.null(theta <- params$theta) && length(theta)!=ntheta) stop("length mismatch in theta (",length(theta), "!=",ntheta,")") matchNames <- function(x,tn,vecname="theta") { if (!is.null(pn <- names(x))) { if (!setequal(pn,tn)) { ## pn.not.tn <- setdiff(pn,tn) ## tn.not.pn <- setdiff(tn,pn) ## TO DO: more detail? stop("mismatch between ",shQuote(vecname)," parameter vector names and internal names (", paste(tn,collapse=","),")") } x <- x[tn] ## reorder } ## no longer issue warning if unnamed ... return(x) } theta <- matchNames(theta,tnames(object),"theta") beta <- matchNames(beta,colnames(getME(object,"X")),"beta") sigma <- params$sigma if(inplace) { stop("modification in place (copy=FALSE) not yet implemented") } else { ## copy : newObj <- object ## make a copy of the reference class slots to ## decouple them from the original object newObj@pp <- newObj@pp$copy() newObj@resp <- newObj@resp$copy() if (!is.null(beta)) { newObj@pp$setBeta0(beta) newObj@beta <- beta } if (!is.null(theta)) { ## where does theta live and how do I set it? ## (1) in .@theta ## (2) in .@pp$theta newObj@theta <- theta newObj@pp$setTheta(theta) } if (!is.null(sigma)) { snm <- if (object@devcomp$dims[["REML"]]) "sigmaREML" else "sigmaML" newObj@devcomp[["cmp"]][snm] <- sigma } return(newObj) } } ##' Make new random effect terms from specified object and new data, ##' possibly omitting some random effect terms ##' @param object fitted model object ##' @param newdata (optional) data frame containing new data ##' @param re.form formula specifying random effect terms to include (NULL=all, ~0) ##' @param na.action ##' ##' @note Hidden; _only_ used (twice) in this file mkNewReTrms <- function(object, newdata, re.form=NULL, na.action=na.pass, allow.new.levels=FALSE, sparse = max(lengths(orig.random.levs)) > 100) { ## construct (fixed) model frame in order to find out whether there are ## missing data/what to do about them ## need rfd to inherit appropriate na.action; need grouping ## variables as well as any covariates that are included ## in RE terms ## FIXME: mfnew is new data frame, rfd is processed new data ## why do we need both/what is each doing/how do they differ? ## rfd is *only* used in mkReTrms ## mfnew is *only* used for its na.action attribute (!) [fixed only] ## using model.frame would mess up matrix-valued predictors (GH #201) fixed.na.action <- NULL if (is.null(newdata)) { rfd <- mfnew <- model.frame(object) fixed.na.action <- attr(mfnew,"na.action") } else { if (!identical(na.action,na.pass)) { ## only need to re-evaluate for NAs if na.action != na.pass mfnew <- model.frame(delete.response(terms(object, fixed.only=TRUE)), newdata, na.action=na.action) fixed.na.action <- attr(mfnew,"na.action") } ## make sure we pass na.action with new data ## it would be nice to do something more principled like ## rfd <- model.frame(~.,newdata,na.action=na.action) ## but this adds complexities (stored terms, formula, etc.) ## that mess things up later on ... ## rfd <- na.action(get_all_vars(delete.response(terms(object,fixed.only=FALSE)), newdata)) newdata.NA <- newdata if (!is.null(fixed.na.action)) { newdata.NA <- newdata.NA[-fixed.na.action,] } tt <- delete.response(terms(object,random.only=TRUE)) orig.random.levs <- get.orig.levs(object, random.only=TRUE, newdata=newdata.NA) orig.random.cntr <- get.orig.levs(object, random.only=TRUE, FUN=contrasts, sparse=sparse) ## need to let NAs in RE components go through -- they're handled downstream if (inherits(re.form,"formula")) { ## We use the RE terms *from the original model fit* to construct ## the model frame. This is good for preserving predvars information, ## getting interactions constructed correctly, etc etc etc, ## but can fail if a partial RE specification is used and some of the variables ## in the original RE form are missing from 'newdata' ... ## Fill them in as necessary. Filling in NA is OK - these vars won't actually ## be used later ... pv <- attr(tt,"predvars") for (i in 2:(length(pv))) { missvars <- setdiff(all.vars(pv[[i]]), all.vars(re.form)) for (mv in missvars) { newdata.NA[[mv]] <- NA } } } ## see comments about why suppressWarnings() is needed below ... rfd <- suppressWarnings( model.frame(tt, newdata.NA, na.action=na.pass, xlev=orig.random.levs)) ## restore contrasts (why???) ## find *factor* variables involved in terms (left-hand side of RE formula): reset their contrasts ## only interested in components in re.form, not al REs ff <- re.form ## was: formula(object,random.only=TRUE) termvars <- unique(unlist(lapply(findbars(ff), function(x) all.vars(x[[2]])))) for (fn in Reduce(intersect, list( names(orig.random.cntr), termvars, names(rfd)))) { ## a non-factor grouping variable *may* sneak in here via simulate(...) if (!is.factor(rfd[[fn]])) rfd[[fn]] <- factor(rfd[[fn]]) contrasts(rfd[[fn]]) <- orig.random.cntr[[fn]] } if (!is.null(fixed.na.action)) attr(rfd,"na.action") <- fixed.na.action ## ## ## need terms to preserve info about spline/orthog polynomial bases ## attr(rfd,"terms") <- terms(object) ## ## ... but variables list messes things up; can we fix it? ## vlist <- lapply(all.vars(terms(object)), as.name) ## attr(attr(rfd,"terms"),"variables") <- as.call(c(quote(list), vlist)) ## ## take out variables that appear *only* in fixed effects ## all.v <- all.vars(delete.response(terms(object,fixed.only=FALSE))) ## ran.v <- vapply(findbars(formula(object)),all.vars,"") ## fix.v <- all.vars(delete.response(terms(object,fixed.only=TRUE))) ## rfd <- model.frame(delete.response(terms(object,fixed.only=FALSE)), ## newdata,na.action=na.action) } if (inherits(re.form, "formula")) { ## DROP values with NAs in fixed effects if (length(fixed.na.action) > 0) { newdata <- newdata[-fixed.na.action,] } ## note: mkReTrms automatically *drops* unused levels ReTrms <- mkReTrms(findbars(re.form[[2]]), rfd) ## update Lambdat (ugh, better way to do this?) ReTrms <- within(ReTrms,Lambdat@x <- unname(getME(object,"theta")[Lind])) if (!allow.new.levels && any(vapply(ReTrms$flist, anyNA, NA))) stop("NAs are not allowed in prediction data", " for grouping variables unless allow.new.levels is TRUE") ns.re <- names(re <- ranef(object, condVar = FALSE)) nRnms <- names(Rcnms <- ReTrms$cnms) if (!all(nRnms %in% ns.re)) stop("grouping factors specified in re.form that were not present in original model") new_levels <- lapply(ReTrms$flist, function(x) levels(factor(x))) ## fill in/delete levels as appropriate re_x <- Map(function(r,n) levelfun(r,n, allow.new.levels=allow.new.levels), re[names(new_levels)], new_levels) ## pick out random effects values that correspond to ## random effects incorporated in re.form ... ## NB: Need integer indexing, as nRnms can be duplicated: (age|Subj) + (sex|Subj) : hacked_names <- FALSE get_re <- function(rname, cnms) { nms <- names(re[[rname]]) if (identical(cnms,"(Intercept)") && length(nms)==1 && grepl("^s(.*)$",nms)) { ## HACK to allow gamm4 prediction hacked_names <<- TRUE cnms <- nms } miss_names <- setdiff(cnms, nms) if (length(miss_names)>0) { stop("random effects specified in re.form that were not present in original model ", paste(miss_names, collapse=", ")) } t(re_x[[rname]][,cnms]) ## transpose to make sure unlisting works } re_new <- unlist(Map(get_re, nRnms, Rcnms)) ## only issue warning once per prediction ... if (hacked_names) warning("modified RE names for gamm4 prediction") } Zt <- ReTrms$Zt attr(Zt, "na.action") <- attr(re_new, "na.action") <- fixed.na.action list(Zt=Zt, b=re_new, Lambdat = ReTrms$Lambdat) } ##' @param x a random effect (i.e., data frame with rows equal to levels, columns equal to terms ##' @param n vector of new levels levelfun <- function(x, nl.n, allow.new.levels=FALSE) { ## 1. find and deal with new levels new.levels <- setdiff(nl.n, rownames(x)) if (length(new.levels)>0) { if (!allow.new.levels) { max.err.len <- 60 err.str <- paste(new.levels, collapse = ", ") if (nchar(err.str) > max.err.len) { err.str <- substr(err.str, 1, max.err.len) err.str <- gsub(",[^,]*$", ", ...", err.str) } stop("new levels detected in newdata: ", err.str) } ## create an all-zero data frame corresponding to the new set of levels ... nl.n.comb <- union(nl.n, rownames(x)) newx <- as.data.frame(matrix(0, nrow=length(nl.n.comb), ncol=ncol(x), dimnames=list(nl.n.comb, names(x)))) ## then paste in the matching RE values from the original fit/set of levels newx[rownames(x),] <- x x <- newx } ## 2. find and deal with missing old levels ## ... these should have been dropped when making the Z matrices ## etc. in mkReTrms, so we'd better drop them here to match ... if (!all(r.inn <- rownames(x) %in% nl.n)) { x <- x[r.inn,,drop=FALSE] } return(x) } ##' ##' \code{\link{predict}} method for \code{\linkS4class{merMod}} objects ##' ##' @title Predictions from a model at new data values ##' @param object a fitted model object ##' @param newdata data frame for which to evaluate predictions ##' @param newparams new parameters to use in evaluating predictions ##' @param re.form formula for random effects to condition on. If \code{NULL}, ##' include all random effects; if \code{NA} or \code{~0}, ##' include no random effects ##' @param terms a \code{\link{terms}} object - not used at present ##' @param type character string - either \code{"link"}, the default, ##' or \code{"response"} indicating the type of prediction object returned ##' @param allow.new.levels (logical) if FALSE (default), then any new levels ##' (or NA values) detected in \code{newdata} will trigger an error; if TRUE, then ##' the prediction will use the unconditional (population-level) ##' values for data with previously unobserved levels (or \code{NA}s) ##' @param na.action function determining what should be done with missing values for fixed effects in \code{newdata}. The default is to predict \code{NA}: see \code{\link{na.pass}}. ##' @param se.fit A logical value indicating whether the standard errors should be included or not. Default is FALSE. ##' @param ... optional additional parameters. None are used at present. ##' @return a numeric vector of predicted values, unless \code{se.fit=TRUE} (in which case a list with elements \code{fit} (predicted values) and \code{se.fit} is returned) ##' @note There is no option for computing standard errors of predictions because it is difficult to define an efficient method that incorporates uncertainty in the variance parameters; we recommend \code{\link{bootMer}} for this task. ##' @examples ##' (gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 |herd), cbpp, binomial)) ##' str(p0 <- predict(gm1)) # fitted values ##' str(p1 <- predict(gm1,re.form=NA)) # fitted values, unconditional (level-0) ##' newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) ##' str(p2 <- predict(gm1,newdata)) # new data, all RE ##' str(p3 <- predict(gm1,newdata,re.form=NA)) # new data, level-0 ##' str(p4 <- predict(gm1,newdata,re.form=~(1|herd))) # explicitly specify RE ##' @method predict merMod ##' @export predict.merMod <- function(object, newdata=NULL, newparams=NULL, re.form=NULL, random.only=FALSE, terms=NULL, type=c("link","response"), allow.new.levels=FALSE, na.action=na.pass, se.fit = FALSE, ...) { ## FIXME: appropriate names for result vector? ## FIXME: make sure behaviour is entirely well-defined for NA in grouping factors ## Dealing with NAs: ## we might need to distinguish among ## (i) NAs in original data and in new data ## (ii) na.action possibilities (exclude, fail, omit, pass) ## (iii) na.action setting in original fit and in predict() ## (iii) NAs in (fixed effect) predictors vs RE grouping variables ## (iv) setting of allow.new.level ## NAs in original data (in the fixed or random effects) ## may lead to a model frame within the ## fitted object that is missing rows; if na.exclude was used, ## these will need to be reconstituted in the prediction. ## ## For the most part, 'na.action's used at the predict stage ## (i.e. for newdata) will work on NAs *in the fixed effects* ## without further intervention; 'na.pass' will automatically ## produce NA values in the output, so 'na.exclude' is not really ## necessary (but might get specified anyway) ## ## In the random effects, NAs in newdata will give a population-level ## prediction if allow.new.levels is TRUE; if it's FALSE they give ## an error (although it could be argued that in that case they ## should follow 'na.action' instead ...) if (any(names(list(...)) %in% c("ReForm", "REForm", "REform"))) { stop("synonyms 'ReForm', 'REForm', 'REform' are deprecated: please use 're.form' instead") } if (...length() > 0) warning("unused arguments ignored") type <- match.arg(type) if (!is.null(terms)) stop("terms functionality for predict not yet implemented") if (!is.null(newparams)) object <- setParams(object,newparams) if (is.null(newdata) && is.null(re.form) && is.null(newparams) && !random.only) { ## raw predict() call, just return fitted values ## (inverse-link if appropriate) if (isLMM(object) || isNLMM(object)) { ## make sure we do *NOT* have NAs in fitted object pred <- na.omit(fitted(object)) } else { ## inverse-link pred <- switch(type,response=object@resp$mu, ## == fitted(object), link=object@resp$eta) if (is.null(nm <- rownames(model.frame(object)))) nm <- seq_along(pred) names(pred) <- nm } fit.na.action <- NULL ## flow jumps to end for na.predict } else { ## newdata and/or re.form and/or newparams and/or random.only specified fit.na.action <- attr(object@frame,"na.action") ## original NA action nobs <- if (is.null(newdata)) nrow(object@frame) else nrow(newdata) pred <- rep(0,nobs) if (!random.only) { X <- getME(object, "X") X.col.dropped <- attr(X, "col.dropped") ## modified from predict.glm ... if (is.null(newdata)) { ## Use original model 'X' matrix and offset ## orig. offset: will be zero if there are no matches ... offset <- model.offset(model.frame(object)) if (is.null(offset)) offset <- 0 } else { ## new data specified ## evaluate new fixed effect RHS <- formula(substitute(~R, list(R=RHSForm(formula(object,fixed.only=TRUE))))) ## https://github.com/lme4/lme4/issues/414 ## contrasts are not relevant in random effects; ## model.frame.default warns about dropping contrasts ## if (1) xlev is specified and (2) any factors in ## original data frame had contrasts set ## alternative solution: drop contrasts manually ## (could assign to a new variable newdata2 for safety, ## but I don't think newdata ## is used downstream in this function?) ## isFacND <- which(vapply(newdata, is.factor, FUN.VALUE = TRUE)) ## for (j in isFacND) { ## attr(newdata[[j]], "contrasts") <- NULL ## } orig.fixed.levs <- get.orig.levs(object, fixed.only=TRUE, newdata = newdata) mfnew <- suppressWarnings( model.frame(delete.response(terms(object, fixed.only=TRUE, data = newdata)), newdata, na.action = na.action, xlev = orig.fixed.levs)) X <- model.matrix(RHS, data=mfnew, contrasts.arg=attr(X,"contrasts")) ## hack to remove unused interaction levels? ## X <- X[,colnames(X0)] offset <- 0 # rep(0, nrow(X)) tt <- terms(object, data = newdata) if (!is.null(off.num <- attr(tt, "offset"))) { for (i in off.num) offset <- offset + eval(attr(tt,"variables")[[i + 1]], newdata) } ## FIXME?: simplify(no need for 'mfnew'): can this be different from 'na.action'? fit.na.action <- attr(mfnew,"na.action") ## only need to drop if new data specified ... if(is.numeric(X.col.dropped) && length(X.col.dropped) > 0) X <- X[, -X.col.dropped, drop=FALSE] } pred <- drop(X %*% fixef(object)) ## FIXME:: need to unname() ? ## FIXME: is this redundant?? ## if (!is.null(frOffset <- attr(object@frame,"offset"))) ## offset <- offset + eval(frOffset, newdata) pred <- pred+offset } ## end !(random.only) if (isRE(re.form)) { if (is.null(re.form)) re.form <- reOnly(formula(object)) # RE formula only rfd <- if (is.null(newdata)) { ## try to retrieve original data ... fall back to model frame if necessary ## FIXME: this doesn't solve the problem if columns of model frame and data ## diverge (e.g. transformed objects [log(x)], offsets [offset(x)] ... will ## fail farther along tryCatch(getData(object), error = function(e) object@frame) } else newdata newRE <- mkNewReTrms(object, rfd, re.form, na.action=na.action, allow.new.levels=allow.new.levels) REvals <- base::drop(as(newRE$b %*% newRE$Zt, "matrix")) ## only needed if called as simulation? NAs sometimes excluded within mkNewReTrms ... if (length(pred) != length(REvals)) { if (!class(fit.na.action) %in% c("omit", "exclude") && length(fit.na.action)>0) { stop("fixed/RE pred length mismatch") } REvals <- REvals[-fit.na.action] } pred <- pred + REvals if (random.only) { fit.na.action <- attr(newRE$Zt,"na.action") } } if (isGLMM(object) && type=="response") { pred <- object@resp$family$linkinv(pred) } } ## newdata/newparams/re.form ## fill in NAs as appropriate: ## if NAs were detected in original model fit, OR in updated model frame construction ## but DON'T double-NA if raw prediction in the first place if (is.null(newdata)) { fit.na.action <- attr(model.frame(object),"na.action") if (!missing(na.action)) { ## hack to override action where explicitly specified if (!is.null(fit.na.action)) class(fit.na.action) <- class(attr(na.action(NA),"na.action")) } } pred <- napredict(fit.na.action, pred) if (!se.fit) return(pred) if (!isLMM(object)) warning("se.fit computation uses an approximation to estimate the sampling distribution of the parameters") Cmat <- vcov_full(object) n_u <- length(getME(object, "u")) n_beta <- length(getME(object, "beta")) ## FIXME: these need to be fixed (????) if(is.null(newdata)) { X <- getME(object, "X") if(is.null(re.form)) { Z <- getME(object, "Z") } else { if(isRE(re.form)) { ## FIXME: newRE is not computed here Z <- t(newRE$Zt) } else { Z <- Matrix(0, nrow = nrow(X), ncol = n_u) } } } else { if(isRE(re.form)) { Z <- t(newRE$Zt) } else { ## this is inefficient and we could just calculate ## X %*% Cmat[X part only] t(X) instead Z <- Matrix(0, nrow = nrow(X), ncol = n_u) } } if(random.only) X <- Matrix(0, nrow = nrow(Z), ncol = n_beta) ZX <- cbind(Z, X) list(fit = pred, se.fit = sqrt(quad.tdiag(Cmat, ZX)) ) } # end {predict.merMod} ## all possible LHS evaluated values ... simulate.formula_lhs_matrix <- simulate.formula_lhs_numeric <- simulate.formula_lhs_integer <- simulate.formula_lhs_factor <- simulate.formula_lhs_logical <- simulate.formula_lhs_ <- function(object, nsim = 1, seed = NULL, newdata, ...) { ## N.B. *must* name all arguments so that 'object' is missing in .simulateFun() .simulateFun(formula=object, nsim=nsim, seed=seed, newdata=newdata, ...) } simulate.merMod <- function(object, nsim = 1, seed = NULL, use.u = FALSE, re.form=NA, newdata=NULL, newparams=NULL, family=NULL, cluster.rand=rnorm, allow.new.levels=FALSE, na.action=na.pass, ...) { ## FIXME: is there a reason this can't be a copy of .simulateFun ... ? mc <- match.call() mc[[1]] <- quote(lme4::.simulateFun) eval(mc, parent.frame(1L)) } .simulateFun <- function(object, nsim = 1, seed = NULL, use.u = FALSE, re.form=NA, newdata=NULL, newparams=NULL, formula=NULL,family=NULL, cluster.rand=rnorm, weights=NULL, offset=NULL, allow.new.levels=FALSE, na.action=na.pass, cond.sim=TRUE, ...) { if (...length() > 0) warning("unused arguments ignored") if (missing(object) && (is.null(formula) || is.null(newdata) || is.null(newparams))) { stop("if ",sQuote("object")," is missing, must specify all of ", sQuote("formula"),", ",sQuote("newdata"),", and ", sQuote("newparams")) } nullWts <- FALSE if (is.null(weights)) { if (is.null(newdata)) { weights <- weights(object) } else { nullWts <- TRUE # this flags that 'weights' wasn't supplied by the user weights <- rep(1,nrow(newdata)) } } if (missing(object)) { ## construct fake-fitted object from data, params ## copied from glm(): DRY; this all stems from the ## original sin of handling family=gaussian as a special ## case if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame()) if (is.function(family)) family <- family() if (is.null(family) || (family$family=="gaussian" && family$link=="identity")) { lmod <- lFormula(formula,newdata, weights=weights, offset=offset, control=lmerControl(check.formula.LHS="ignore")) devfun <- do.call(mkLmerDevfun, lmod) object <- mkMerMod(environment(devfun), ## (real parameters will be filled in later) opt = list(par=NA,fval=NA,conv=NA), lmod$reTrms, fr = lmod$fr) } else { glmod <- glFormula(formula,newdata,family=family, weights=weights, offset=offset, control=glmerControl(check.formula.LHS="ignore")) devfun <- do.call(mkGlmerDevfun, glmod) object <- mkMerMod(environment(devfun), ## (real parameters will be filled in later) opt = list(par=NA,fval=NA,conv=NA), glmod$reTrms, fr = glmod$fr) } ## would like to do this: ## so predict() -> fitted() -> set default names will work ## instead we have a special case in fitted() ## object@resp$mu <- rep(NA_real_,nrow(model.frame(object))) } stopifnot((nsim <- as.integer(nsim[1])) > 0, is(object, "merMod")) if (!is.null(newparams)) { object <- setParams(object,newparams) } if (!missing(use.u)) { if (!missing(re.form)) { stop("should specify only one of ",sQuote("use.u"), " and ",sQuote("re.form")) } re.form <- if (use.u) NULL else ~0 } if (is.null(re.form)) { # formula w/o response re.form <- reOnly(formula(object)) } if(!is.null(seed)) set.seed(seed) if(!exists(".Random.seed", envir = .GlobalEnv)) runif(1) # initialize the RNG if necessary RNGstate <- .Random.seed sigma <- sigma(object) ## OBSOLETE: no longer use X? ## n <- nrow(X <- getME(object, "X")) ## link <- if (isGLMM(object)) "response" ## predictions, conditioned as specified, on link scale ## previously: do **NOT** use na.action as specified here (inherit ## from object instead, for consistency) ## now: use na.omit, because we have to match up ## with whatever is done in mkNewReTrms etapred <- predict(object, newdata=newdata, re.form=re.form, type="link", na.action=na.omit, allow.new.levels=allow.new.levels) n <- length(etapred) ## now add random components: ## only the ones we did *not* condition on ## compre.form <- noLHSform(formula(object)) ## construct RE formula ONLY: leave out fixed terms, ## which might have loose terms like offsets in them ... ##' combine unary or binary operator + arguments (sugar for 'substitute') makeOp <- function(x,y,op=NULL) { if (is.null(op)) { ## unary substitute(OP(X),list(X=x,OP=y)) } else substitute(OP(X,Y), list(X=x,OP=op,Y=y)) } compReForm <- reOnly(formula(object)) if (isRE(re.form)) { rr <- reOnly(re.form)[[2]] ## expand RE and strip ~ ftemplate <- substitute(.~.-XX, list(XX=rr)) compReForm <- update.formula(compReForm,ftemplate)[-2] ## update, then delete LHS } ## (1) random effect(s) sim.reff <- if (!is.null(findbars(compReForm))) { newRE <- mkNewReTrms(object, newdata, compReForm, na.action=na.action, allow.new.levels=allow.new.levels) ## this *can* justifiably happen, if we are using mkNewReTrms ## in the context of predicting/simulating with a non-trivial ## re.form ... ## paranoia ... ## stopifnot(!is.null(newdata) || ## isTRUE(all.equal(newRE$Lambdat,getME(object,"Lambdat")))) U <- t(newRE$Lambdat %*% newRE$Zt) # == Z Lambda u <- cluster.rand(ncol(U)*nsim) ## UNSCALED random-effects contribution: as(U %*% matrix(u, ncol = nsim), "matrix") } else 0 val <- if (isLMM(object)) { ## result will be matrix n x nsim : etapred + sigma * (sim.reff + ## residual contribution: if (cond.sim) # always rnorm regardless of cluster.rand matrix(rnorm(n * nsim), ncol = nsim) else 0) } else if (isGLMM(object)) { ## GLMM ## n.b. DON'T scale random-effects (???) etasim <- etapred+sim.reff family <- normalizeFamilyName(object@resp$family) musim <- family$linkinv(etasim) #-> family$family == "negative.binomial" if(NB) ## ntot <- length(musim) ## FIXME: or could be dims["n"]? ## if (family$family=="binomial" && is.matrix(r <- model.response(object@frame))) { # unless the user passed in new weights, take them from the response matrix # e.g. cbind(incidence, size-incidence) ~ ... if(nullWts) weights <- rowSums(r) } if (is.null(sfun <- simfunList[[family$family]])) { ## family$simulate just won't work ... ## sim funs must be hard-coded, see below stop("simulation not implemented for family ", sQuote(family$family)) } ## don't rely on automatic recycling if (cond.sim) { val <- sfun(object, nsim=1, ftd = rep_len(musim, n*nsim), wts = weights) } else { val <- rep_len(musim, n*nsim) } ## split results into nsims: need special case for binomial matrix/factor responses if (family$family=="binomial" && is.matrix(r <- model.response(object@frame))) { lapply(split(val[[1]], gl(nsim, n, 2 * nsim * n)), matrix, ncol = 2, dimnames = list(NULL, colnames(r))) } else if (family$family=="binomial" && is.factor(val[[1]])) { split(val[[1]], gl(nsim,n)) } else split(val, gl(nsim,n)) } else stop("simulate method for NLMMs not yet implemented") ## from src/library/stats/R/lm.R if(!is.list(val)) { dim(val) <- c(n, nsim) val <- as.data.frame(val) } else class(val) <- "data.frame" names(val) <- paste("sim", seq_len(nsim), sep="_") ## have not yet filled in NAs, so need to use names of fitted ## object NOT including values with NAs f <- fitted(object) nm <- names(f)[!is.na(f)] ## unnamed input, *or* simulation from new data ... if (length(nm) == 0) { nm <- as.character(seq(n)) } else if (!is.null(newdata)) { nm <- rownames(newdata) } row.names(val) <- nm fit.na.action <- attr(model.frame(object), "na.action") if (!missing(na.action) && !is.null(fit.na.action)) { ## retrieve name of na.action type ("omit", "exclude", "pass") class.na.action <- class(attr(na.action(NA), "na.action")) if (!identical(class.na.action, class(fit.na.action))) { ## hack to override action where explicitly specified class(fit.na.action) <- class.na.action } } nafun <- function(x) { x[] <- apply(x, 2L, napredict, omit = fit.na.action); x } val <- if (is.matrix(val[[1]])) { ## have to handle binomial response matrices differently -- ## fill in NAs as appropriate in *both* columns structure(lapply(val, nafun), ## have to put this back into a (weird) data frame again, ## carefully (should do the napredict stuff ## earlier, so we don't have to redo this transformation!) class = "data.frame") } else { as.data.frame(lapply(val, napredict, omit=fit.na.action)) } ## reconstruct names: first get rid of NAs, then refill them ## as appropriate based on fit.na.action (which may be different ## from the original model's na.action spec) nm2 <- if (is.null(newdata)) names(napredict(na.omit(f), omit=fit.na.action)) else rownames(napredict(newdata, omit=fit.na.action)) if (length(nm2) > 0) row.names(val) <- nm2 structure(val, ## as.data.frame(lapply(...)) blows away na.action attribute, ## so we have to re-assign here na.action = fit.na.action, seed = RNGstate) }## .simulateFun() ######################## ## modified from stats/family.R ## TODO: the $simulate methods included with R families by default ## are not sufficiently flexible to be re-used by lme4. ## these are modified by: ## (1) adding a 'ftd' argument for the fitted values ## that defaults to fitted(object), to allow more flexibility ## e.g. in conditioning on or marginalizing over random effects ## (fitted(object) can be produced from predict.merMod() with ## alternative parameters rather than being extracted directly ## from the fitted objects -- this allows simulation with new ## parameters or new predictor variables ## (2) modifying wts from object$prior.weights to weights(object) ## (3) adding wts as an argument ## ## these can be incorporated by overwriting the simulate() ## components, or calling them ## gaussian_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { if (any(wts != 1)) warning("ignoring prior weights") rnorm(nsim*length(ftd), ftd, sd=sigma(object)) } binomial_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { n <- length(ftd) ntot <- n*nsim if (any(wts %% 1 != 0)) stop("cannot simulate from non-integer prior.weights") ## Try to figure out if the original data were ## proportions, a factor or a two-column matrix if (!is.null(m <- model.frame(object))) { y <- model.response(m) if(is.factor(y)) { ## ignore weights yy <- factor(levels(y)[1 + rbinom(ntot, size = 1, prob = ftd)], levels = levels(y)) split(yy, rep(seq_len(nsim), each = n)) } else if(is.matrix(y) && ncol(y) == 2) { yy <- vector("list", nsim) for (i in seq_len(nsim)) { Y <- rbinom(n, size = wts, prob = ftd) YY <- cbind(Y, wts - Y) colnames(YY) <- colnames(y) yy[[i]] <- YY } yy } else rbinom(ntot, size = wts, prob = ftd)/wts } else rbinom(ntot, size = wts, prob = ftd)/wts } poisson_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { ## A Poisson GLM has dispersion fixed at 1, so prior weights ## do not have a simple unambiguous interpretation: ## they might be frequency weights or indicate averages. wts <- weights(object) if (any(wts != 1)) warning("ignoring prior weights") rpois(nsim*length(ftd), ftd) } ##' FIXME: need a gamma.shape.merMod method in order for this to work. ##' (see initial shot at gamma.shape.merMod below) Gamma_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { if (any(wts != 1)) message("using weights to scale shape parameter") ## used to use gamma.shape(), but sigma() is more general ## (wouldn't work *outside* of the merMod context though) shape <- 1/sigma(object)^2*wts rgamma(nsim*length(ftd), shape = shape, rate = shape/ftd) } gamma.shape.merMod <- function(object, ...) { if(family(object)$family != "Gamma") stop("Can not fit gamma shape parameter because Gamma family not used") y <- getME(object, "y") mu <- getME(object, "mu") w <- weights(object) # Sec 8.3.2 (MN) L <- w*(log(y/mu)-((y-mu)/mu)) dev <- -2*sum(L) # Eqs. between 8.2 & 8.3 (MN) Dbar <- dev/length(y) structure(list(alpha = (6+2*Dbar)/(Dbar*(6+Dbar)), SE = NA), # FIXME: obtain standard error class = "gamma.shape") } inverse.gaussian_simfun <- function(object, nsim, ftd=fitted(object), wts = weights(object)) { if (any(wts != 1)) message("using weights as inverse variances") if (!requireNamespace("statmod")) { stop("The ",sQuote("statmod")," package must be installed ", " in order to simulate inverse-Gaussian distributions") } statmod::rinvgauss(nsim * length(ftd), mean = ftd, shape= wts/sigma(object)) } ## in the original MASS version, .Theta is assigned into the environment ## (triggers a NOTE in R CMD check) ## modified from @aosmith16 GH contribution negative.binomial_simfun <- function (object, nsim, ftd = fitted(object), wts=weights(object)) { if (any(wts != 1)) warning("ignoring prior weights") theta <- getNBdisp(object) rnbinom(nsim * length(ftd), mu = ftd, size = theta) } simfunList <- list(gaussian = gaussian_simfun, binomial = binomial_simfun, poisson = poisson_simfun, Gamma = Gamma_simfun, negative.binomial = negative.binomial_simfun, inverse.gaussian = inverse.gaussian_simfun) lme4/R/error_factory.R0000644000176200001440000000615314630126752014332 0ustar liggesusers#' Catch errors and warnings and store them for subsequent evaluation #' #' Factory modified from a version written by Martin Morgan on Stack Overflow (see below). #' Factory generates a function which is appropriately wrapped by error handlers. #' If there are no errors and no warnings, the result is provided. #' If there are warnings but no errors, the result is provided with a warn attribute set. #' If there are errors, the result retutrns is a list with the elements of warn and err. #' This is a nice way to recover from a problems that may have occurred during loop evaluation or during cluster usage. #' Check the references for additional related functions. #' I have not included the other factory functions included in the original Stack Overflow answer because they did not play well with the return item as an S4 object. #' @export #' @param fun The function to be turned into a factory #' @param debug print debugging statements? #' @param errval the value to be returned from the function if an error is thrown #' @param types which types to catch? #' @return The result of the function given to turn into a factory. If this function was in error "An error as occurred" as a character element. factory-error and factory-warning attributes may also be set as appropriate. #' @references #' \url{http://stackoverflow.com/questions/4948361/how-do-i-save-warnings-and-errors-as-output-from-a-function} #' @author Martin Morgan; Modified by Russell S. Pierce and Ben Bolker #' @examples #' f.log <- factory(log) #' f.log("a") #' f.log.NA <- factory(log,errval=NA) #' f.log.NA("a") #' f.as.numeric <- factory(as.numeric) #' f.as.numeric(c("a","b",1)) factory <- function (fun, debug=FALSE, errval="An error occurred in the factory function", types=c("message","warning","error")) { function(...) { errorOccurred <- FALSE warn <- err <- msg <- NULL res <- withCallingHandlers(tryCatch(fun(...), error = function(e) { if (debug) cat("error: ",conditionMessage(e),"\n") err <<- conditionMessage(e) errorOccurred <<- TRUE NULL }), warning = function(w) { if (!"warning" %in% types) { warning(conditionMessage(w)) } else { warn <<- append(warn, conditionMessage(w)) invokeRestart("muffleWarning") } }, message = function(m) { if (debug) cat("message: ",conditionMessage(m),"\n") if (!"message" %in% types) { message(conditionMessage(m)) } else { msg <<- append(msg, conditionMessage(m)) invokeRestart("muffleMessage") } }) if (errorOccurred) { if (!"error" %in% types) stop(err) res <- errval } setattr <- function(x, attrib, value) { attr(x,attrib) <- value x } attr_fun <- function(x,str,msg) { setattr(x,paste0("factory-",str), if(is.character(msg)) msg else NULL) } res <- attr_fun(res, "message", msg) res <- attr_fun(res, "warning", warn) res <- attr_fun(res, "error", err) return(res) } } lme4/R/plots.R0000644000176200001440000001110214630126752012601 0ustar liggesusers### Plots for the ranef.mer class ---------------------------------------- ##' @importFrom lattice dotplot ##' @S3method dotplot ranef.mer dotplot.ranef.mer <- function(x, data, main = TRUE, transf=I, level = 0.95, ...) { rng <- qnorm((1+level)/2) prepanel.ci <- function(x, y, se, subscripts, ...) { if (is.null(se)) return(list()) x <- as.numeric(x) hw <- rng * as.numeric(se[subscripts]) list(xlim = range(transf(x - hw), transf(x + hw), finite = TRUE)) } panel.ci <- function(x, y, se, subscripts, pch = 16, horizontal = TRUE, col = dot.symbol$col, lty.h = dot.line$lty, lty.v = dot.line$lty, lwd.h = dot.line$lwd, lwd.v = dot.line$lwd, col.line.h = dot.line$col, col.line.v = dot.line$col, levels.fos = unique(y), groups = NULL, ...) { x <- as.numeric(x) y <- as.numeric(y) dot.line <- trellis.par.get("dot.line") dot.symbol <- trellis.par.get("dot.symbol") sup.symbol <- trellis.par.get("superpose.symbol") panel.abline(h = levels.fos, col = col.line.h, lty = lty.h, lwd = lwd.h) panel.abline(v = 0, col = col.line.v, lty = lty.v, lwd = lwd.v) if (!is.null(se)) { se <- as.numeric(se[subscripts]) panel.segments( transf(x - rng * se), y, transf(x + rng * se), y, col = 'black') } panel.xyplot(transf(x), y, pch = pch, col = col, ...) } f <- function(nx, ...) { ss <- asDf0(x,nx) mtit <- if(main) nx dotplot(.nn ~ values | ind, ss, se = ss$se, prepanel = prepanel.ci, panel = panel.ci, xlab = NULL, main = mtit, ...) } setNames(lapply(names(x), f, ...), names(x)) } ##' @importFrom graphics plot ##' @S3method plot ranef.mer plot.ranef.mer <- function(x, y, ...) { lapply(x, function(x) { cn <- lapply(colnames(x), as.name) switch(min(ncol(x), 3), qqmath(eval(substitute(~ x, list(x = cn[[1]]))), x, ...), xyplot(eval(substitute(y ~ x, list(y = cn[[1]], x = cn[[2]]))), x, ...), splom(~ x, ...)) }) } ##' @importFrom lattice qqmath ##' @S3method qqmath ranef.mer qqmath.ranef.mer <- function(x, data, main = TRUE, level = 0.95, ...) { rng <- qnorm((1+level)/2) prepanel.ci <- function(x, y, se, subscripts, ...) { x <- as.numeric(x) se <- as.numeric(se[subscripts]) hw <- rng * se list(xlim = range(x - hw, x + hw, finite = TRUE)) } panel.ci <- function(x, y, se, subscripts, pch = 16, ...) { panel.grid(h = -1,v = -1) panel.abline(v = 0) x <- as.numeric(x) y <- as.numeric(y) se <- as.numeric(se[subscripts]) panel.segments(x - rng * se, y, x + rng * se, y, col = 'black') panel.xyplot(x, y, pch = pch, ...) } f <- function(nx) { xt <- x[[nx]] mtit <- if(main) nx # else NULL if (!is.null(pv <- attr(xt, "postVar"))) { d <- dim(pv) se <- vapply(seq_len(d[1]), function(i) sqrt(pv[i, i, ]), numeric(d[3])) nr <- nrow(xt) nc <- ncol(xt) ord <- unlist(lapply(xt, order)) + rep((0:(nc - 1)) * nr, each = nr) rr <- 1:nr ind <- gl(nc, nr, labels = names(xt)) xyplot(rep(qnorm((rr - 0.5)/nr), nc) ~ unlist(xt)[ord] | ind[ord], se = se[ord], prepanel = prepanel.ci, panel = panel.ci, scales = list(x = list(relation = "free")), ylab = "Standard normal quantiles", xlab = NULL, main = mtit, ...) } else { qqmath(~values|ind, data = stack(xt), scales = list(y = list(relation = "free")), xlab = "Standard normal quantiles", ylab = NULL, main = mtit, ...) } } sapply(names(x), f, simplify = FALSE) } ##' @importFrom graphics plot ##' @S3method plot coef.mer plot.coef.mer <- function(x, y, ...) { ## remove non-varying columns from frames reduced <- lapply(x, function(el) el[, !vapply(el, function(cc) all(cc == cc[1L]), NA)]) plot.ranef.mer(reduced, ...) } ##' @importFrom lattice dotplot ##' @S3method dotplot coef.mer dotplot.coef.mer <- function(x, data, ...) { mc <- match.call() mc[[1]] <- as.name("dotplot.ranef.mer") eval(mc) } lme4/R/checkConv.R0000644000176200001440000001730714630126752013360 0ustar liggesusers### Adapted from Rune Haubo's ordinal code ### extended convergence checking ### http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions ##' @param derivs typically the "derivs" attribute of optimizeLmer(); with ##' "gradients" and possibly "Hessian" component ##' @param coefs estimated function value ##' @param ctrl list of lists, each with \code{action} character strings specifying ##' what should happen when a check triggers, and \code{tol} numerical tolerances, ##' as is the result of \code{\link{lmerControl}()$checkConv}. ##' @param lbound vector of lower bounds \emph{for random-effects parameters only} ##' (length is taken to determine number of RE parameters) ##' @param debug useful if some checks are on "ignore", but would "trigger" checkConv <- function(derivs, coefs, ctrl, lbound, debug = FALSE) { res <- list() ntheta <- length(lbound) ## check singularity first, and unconditionally ## (ignore "ignore") ccl <- ctrl[[cstr <- "check.conv.singular"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) ## similar logic to isSingular, but we don't have the fitted object to test bcoefs <- seq(ntheta)[lbound==0] is.singular <- any(coefs[bcoefs] < ccl$tol) if (doCheck(cc)) { ## singular fit ## are there other circumstances where we can get a singular fit? if (is.singular) { wstr <- "boundary (singular) fit: see help('isSingular')" res$messages <- c(res$messages,wstr) switch(cc, "message" = message(wstr), "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } ## DON'T check remaining gradient issues if (is.singular) return(res) if (is.null(derivs)) return(NULL) ## bail out if (anyNA(derivs$gradient)) return(list(code = -5L, messages = gettextf("Gradient contains NAs"))) ## gradients: ## check absolute gradient (default) ccl <- ctrl[[cstr <- "check.conv.grad"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) wstr <- NULL if (doCheck(cc)) { scgrad <- tryCatch(with(derivs,solve(chol(Hessian),gradient)), error=function(e)e) if (inherits(scgrad, "error") || ## some BLAS versions return NA rather than throwing an error? ## GH #677 any(is.na(scgrad))) { wstr <- "unable to evaluate scaled gradient" res$code <- -1L } else { ## find parallel *minimum* of scaled and absolute gradient ## the logic here is that we can sometimes get large ## *scaled* gradients even when the *absolute* gradient ## is small because the curvature is very flat as well ... mingrad <- pmin(abs(scgrad),abs(derivs$gradient)) maxmingrad <- max(mingrad) if (maxmingrad > ccl$tol) { w <- which.max(maxmingrad) res$code <- -1L wstr <- gettextf("Model failed to converge with max|grad| = %g (tol = %g, component %d)", maxmingrad, ccl$tol,w) } } if (!is.null(wstr)) { res$messages <- wstr switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } ## note: kktc package uses gmax > kkttol * (1 + abs(fval)) ## where kkttol defaults to 1e-3 and fval is the objective f'n value ## check relative gradient (only if enabled) if (!is.null(ccl$relTol) && (max.rel.grad <- max(abs(derivs$gradient/coefs))) > ccl$relTol) { res$code <- -2L wstr <- gettextf("Model failed to converge with max|relative grad| = %g (tol = %g)", max.rel.grad, ccl$relTol) res$messages <- wstr switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } ccl <- ctrl[[cstr <- "check.conv.hess"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) if (doCheck(cc)) { if (length(coefs) > ntheta) { ## GLMM, check for issues with beta parameters H.beta <- derivs$Hessian[-seq(ntheta),-seq(ntheta)] resHess <- checkHess(H.beta, ccl$tol, "fixed-effect") if (any(resHess$code!=0)) { res$code <- resHess$code res$messages <- c(res$messages,resHess$messages) wstr <- paste(resHess$messages,collapse=";") switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } resHess <- checkHess(derivs$Hessian, ccl$tol) if (any(resHess$code != 0)) { res$code <- resHess$code res$messages <- c(res$messages,resHess$messages) wstr <- paste(resHess$messages,collapse=";") switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } if (debug && length(res$messages) > 0) { print(res$messages) } res } checkHess <- function(H, tol, hesstype="") { ## FIXME: not sure why we decided to save messages as a list ## rather than as a character vector?? res <- list(code=numeric(0),messages=list()) evd <- tryCatch(eigen(H, symmetric=TRUE, only.values=TRUE)$values, error=function(e)e) if (inherits(evd,"error")) { res$code <- -6L res$messages <- gettextf("Problem with Hessian check (infinite or missing values?)") } else { negative <- sum(evd < -tol) if(negative) { res$code <- -3L res$messages <- gettextf(paste("Model failed to converge:", "degenerate",hesstype,"Hessian with %d negative eigenvalues"), negative) } else { zero <- sum(abs(evd) < tol) if(zero || inherits(tryCatch(chol(H), error=function(e)e), "error")) { res$code <- -4L res$messages <- paste(hesstype,"Hessian is numerically singular: parameters are not uniquely determined") } else { res$cond.H <- max(evd) / min(evd) if(max(evd) * tol > 1) { res$code <- c(res$code, 2L) res$messages <- c(res$messages, paste("Model is nearly unidentifiable: ", "very large eigenvalue", "\n - Rescale variables?", sep="")) } if ((min(evd) / max(evd)) < tol) { res$code <- c(res$code, 3L) ## consider skipping warning message if we've ## already hit the previous flag? if(!5L %in% res$code) { res$messages <- c(res$messages, paste("Model is nearly unidentifiable: ", "large eigenvalue ratio", "\n - Rescale variables?", sep="")) } } } } } if (length(res$code)==0) res$code <- 0 res } lme4/LICENSE.note0000644000176200001440000000022614630126752013072 0ustar liggesusersThis package is licensed under GPL (>=2), except for the code in R/simulate.formula.R, which is licensed under the MIT license (details in that file).lme4/vignettes/0000755000176200001440000000000014770373206013134 5ustar liggesuserslme4/vignettes/lmer.bib0000644000176200001440000004257114630126752014557 0ustar liggesusers%% This BibTeX bibliography file was created using BibDesk. %% http://bibdesk.sourceforge.net/ %% Created for Steven Walker at 2014-02-14 16:07:20 -0500 %% Saved with string encoding Unicode (UTF-8) @InCollection{Chambers:1993, author = {John M. Chambers}, title = {Linear Models}, booktitle = {Statistical Models in \proglang{S}}, publisher = {Chapman \& Hall}, year = 1993, editor = {John M. Chambers and Trevor J. Hastie}, chapter = 4, pages = {95--144}, } @book{Rauden:Bryk:2002, Author = {Stephen W. Raudenbush and Anthony S. Bryk}, Edition = {2nd}, Isbn = {0-7619-1904-X}, Publisher = {Sage}, Title = {Hierarchical Linear Models: Applications and Data Analysis Methods}, Year = 2002 } @book{MLwiNUser:2000, Address = {London}, Author = {J. Rasbash and W. Browne and H. Goldstein and M. Yang and I. Plewis}, Publisher = {Multilevel Models Project, Institute of Education, University of London}, Title = {A User's Guide to \pkg{MLwiN}}, Year = 2000} @Book{davis06:csparse_book, address = {Philadelphia, PA}, author = {Tim Davis}, publisher = {SIAM}, title = {Direct Methods for Sparse Linear Systems}, year = 2006, doi = {10.1137/1.9780898718881}, } @Article{laird_ware_1982, author = {Nan M. Laird and James H. Ware}, journal = {Biometrics}, pages = {963--974}, title = {Random-Effects Models for Longitudinal Data}, volume = 38, number = 4, year = 1982, doi = {10.2307/2529876}, } @Book{bateswatts88:_nonlin, address = {Hoboken, NJ}, author = {Douglas M. Bates and Donald G. Watts}, publisher = {John Wiley \& Sons}, title = {Nonlinear Regression Analysis and Its Applications}, year = 1988, doi = {10.1002/9780470316757}, } @book{R:Pinheiro+Bates:2000, Author = {Jose C. Pinheiro and Douglas M. Bates}, Title = {Mixed-Effects Models in \proglang{S} and \proglang{S-PLUS}}, Year = 2000, Orderinfo = {springer.txt}, ISBN = {0-387-98957-0}, Publisher = {Springer-Verlag}, Abstract = {A comprehensive guide to the use of the `nlme' package for linear and nonlinear mixed-effects models.}, } @article{bates04:_linear, Author = {Douglas M. Bates and Saikat DebRoy}, Journal = {Journal of Multivariate Analysis}, doi = {10.1016/j.jmva.2004.04.013}, Number = 1, Pages = {1--17}, Title = {Linear Mixed Models and Penalized Least Squares}, Volume = 91, Year = 2004} @article{gelman2005analysis, title = {Analysis of Variance --- Why it is More Important than Ever}, author = {Gelman, Andrew}, journal = {The Annals of Statistics}, volume = 33, number = 1, pages = {1--53}, year = 2005, doi = {10.1214/009053604000001048}, publisher = {Institute of Mathematical Statistics} } @ARTICLE{1977EfronAndMorris, author = {{Efron}, B. and {Morris}, C.}, title = "{Stein's Paradox in Statistics}", journal = {Scientific American}, year = 1977, month = may, volume = 236, pages = {119-127}, doi = {10.1038/scientificamerican0577-119}, adsurl = {http://adsabs.harvard.edu/abs/1977SciAm.236e.119E}, adsnote = {Provided by the SAO/NASA Astrophysics Data System} } @article{henderson_1982, author = {Charles R. {Henderson Jr.}}, Title = {Analysis of Covariance in the Mixed Model: Higher-Level, Nonhomogeneous, and Random Regressions}, Journal = {Biometrics}, Year = 1982, Volume = 38, Number = 3, Pages = {623--640}, Language = {English}, Publisher = {International Biometric Society}, Url = {http://www.jstor.org/stable/2530044}, } @article{golub_pereyra_1973, Author = {Golub, G. H. and Pereyra, V.}, Title = {The Differentiation of Pseudo-Inverses and Nonlinear Least Squares Problems Whose Variables Separate}, Year = 1973, Journal = {SIAM Journal on Numerical Analysis}, Volume = 10, Number = 2, Pages = {413--432}, doi = {10.1137/0710036}, } @article{sleepstudy, Author = {Gregory Belenky and Nancy J. Wesensten and David R. Thorne and Maria L. Thomas and Helen C. Sing and Daniel P. Redmond and Michael B. Russo and Thomas J. Balkin}, Date-Modified = {2014-02-14 21:07:17 +0000}, Journal = {Journal of Sleep Research}, Pages = {1--12}, Title = {Patterns of Performance Degradation and Restoration During Sleep Restriction and Subsequent Recovery: A Sleep Dose-Response Study}, Volume = 12, Year = 2003, doi = {10.1046/j.1365-2869.2003.00337.x}, } @article{Chen:2008:ACS:1391989.1391995, author = {Chen, Yanqing and Davis, Timothy A. and Hager, William W. and Rajamanickam, Sivasankaran}, title = {Algorithm 887: CHOLMOD, Supernodal Sparse Cholesky Factorization and Update/Downdate}, journal = {ACM Trans. Math. Softw.}, year = 2008, volume = 35, number = 3, month = oct, issn = {0098-3500}, pages = {22:1--22:14}, articleno = 22, doi = {10.1145/1391989.1391995}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Cholesky factorization, linear equations, sparse matrices}, } @article{kenward_small_1997, author = {M. G Kenward and J. H Roger}, title = {Small Sample Inference for Fixed Effects from Restricted Maximum Likelihood}, year = {1997}, journal = {Biometrics}, volume = {53}, number = {3}, pages = {983--997}, abstract = {Restricted maximum likelihood {(REML)} is now well established as a method for estimating the parameters of the general Gaussian linear model with a structured covariance matrix, in particular for mixed linear models. Conventionally, estimates of precision and inference for fixed effects are based on their asymptotic distribution, which is known to be inadequate for some small-sample problems. In this paper, we present a scaled Wald statistic, together with an F approximation to its sampling distribution, that is shown to perform well in a range of small sample settings. The statistic uses an adjusted estimator of the covariance matrix that has reduced small sample bias. This approach has the advantage that it reproduces both the statistics and F distributions in those settings where the latter is exact, namely for Hotelling T\${\textasciicircum}2\$ type statistics and for analysis of variance F-ratios. The performance of the modified statistics is assessed through simulation studies of four different {REML} analyses and the methods are illustrated using three examples.}, doi = {10.2307/2533558}, } @Article{Satterthwaite_1946, author = {F. E. Satterthwaite}, title = {An Approximate Distribution of Estimates of Variance Components}, journal = {Biometrics Bulletin}, year = 1946, volume = 2, number = 6, pages = {110-114}, doi = {10.2307/3002019}, } @Manual{gamm4, title = {\pkg{gamm4}: Generalized Additive Mixed Models Using \pkg{mgcv} and \pkg{lme4}}, author = {Simon Wood and Fabian Scheipl}, year = 2014, note = {\proglang{R} package version 0.2-3}, url = {http://CRAN.R-project.org/package=gamm4}, } @Manual{blme, title = {\pkg{blme}: {Bayesian} Linear Mixed-Effects Models}, author = {Vincent Dorie}, year = 2015, note = {R package version 1.0-4}, url = {http://CRAN.R-project.org/package=blme}, } @Article{blme2, title = {A Nondegenerate Penalized Likelihood Estimator for Variance Parameters in Multilevel Models}, author = {Yeojin Chung and Sophia Rabe-Hesketh and Vincent Dorie and Andrew Gelman and Jingchen Liu}, year = 2013, journal = {Psychometrika}, volume = 78, number = 4, pages = {685--709}, } @article{doran2007estimating, author={Doran, Harold and Bates, Douglas and Bliese, Paul and Dowling, Maritza}, title={Estimating the Multilevel {Rasch} Model: With the \pkg{lme4} Package}, year=2007, journal={Journal of Statistical Software}, volume=20, number=2, pages={1--18}, doi = {10.18637/jss.v020.i02}, publisher={American Statistical Association}, } @TechReport{Powell_bobyqa, author = {M. J. D. Powell}, title = {The {BOBYQA} Algorithm for Bound Constrained Optimization without Derivatives}, institution = {Centre for Mathematical Sciences, University of Cambridge}, year = {2009}, number = {DAMTP 2009/NA06}, address = {Cambridge, England}, url = {http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf} } @article{pinheiro_unconstrained_1996, title = {Unconstrained Parametrizations for Variance-Covariance Matrices}, volume = {6}, doi = {10.1007/BF00140873}, abstract = {The estimation of variance-covariance matrices through optimization of an objective function, such as a log-likelihood function, is usually a difficult numerical problem. Since the estimates should be positive semi-definite matrices, we must use constrained optimization, or employ a parametrization that enforces this condition. We describe here five different parametrizations for variance-covariance matrices that ensure positive definiteness, thus leaving the estimation problem unconstrained. We compare the parametrizations based on their computational efficiency and statistical interpretability. The results described here are particularly useful in maximum likelihood and restricted maximum likelihood estimation in linear and non-linear mixed-effects models, but are also applicable to other areas of statistics.}, number = {3}, urldate = {2010-01-05}, journal = {Statistics and Computing}, author = {Pinheiro, José C. and Bates, Douglas M.}, year = {1996}, pages = {289--296} } @article{bolker_strategies_2013, title = {Strategies for Fitting Nonlinear Ecological Models in \proglang{R}, \pkg{AD Model Builder}, and \proglang{BUGS}}, volume = 4, doi = {10.1111/2041-210X.12044}, number = 6, urldate = {2013-06-11}, journal = {Methods in Ecology and Evolution}, author = {Bolker, Benjamin M. and Gardner, Beth and Maunder, Mark and Berg, Casper W. and Brooks, Mollie and Comita, Liza and Crone, Elizabeth and Cubaynes, Sarah and Davies, Trevor and de Valpine, Perry and Ford, Jessica and Gimenez, Olivier and Kéry, Marc and Kim, Eun Jung and Lennert-Cody, Cleridy and Magnusson, Arni and Martell, Steve and Nash, John and Nielsen, Anders and Regetz, Jim and Skaug, Hans and Zipkin, Elise}, editor = {Ramula, Satu}, month = jun, year = 2013, pages = {501--512}, pdf={bbpapers/bolker_strategies_2013.pdf} } @Article{Klein_nelder_2013, author = {Kyle Klein and Julian Neira}, title = {{Nelder-Mead} Simplex Optimization Routine for Large-Scale Problems: A Distributed Memory Implementation}, journal = {Computational Economics}, year = 2013, doi = {10.1007/s10614-013-9377-8} } @Misc{merBoot, author = {José A. Sánchez-Espigares and Jordi Ocaña}, title = {An \proglang{R} Implementation of Bootstrap Procedures for Mixed Models}, howpublished = {Conference presentation, useR!}, month = {July}, year = {2009}, note = {accessed 25 May 2014}, url = {http://www.r-project.org/conferences/useR-2009/slides/SanchezEspigares+Ocana.pdf} } @book{gelman_data_2006, address = {Cambridge, England}, title = {Data Analysis Using Regression and {Multilevel/Hierarchical} Models}, url = {http://www.stat.columbia.edu/~gelman/arm/}, publisher = {Cambridge University Press}, author = {Gelman, Andrew and Hill, Jennifer}, year = {2006}, keywords = {uploaded} } @article{khatri1968solutions, title={Solutions to Some Functional Equations and their Applications to Characterization of Probability Distributions}, author={Khatri, CG and Rao, C Radhakrishna}, journal={Sankhy{\=a}: The Indian Journal of Statistics A}, pages={167--180}, volume = 30, number = 2, year = 1968, } @incollection{zhang2006schur, year={2005}, booktitle={The Schur Complement and its Applications}, volume={4}, series={Numerical Methods and Algorithms}, editor={Zhang, Fuzhen}, title={Basic Properties of the Schur Complement}, doi = {10.1007/0-387-24273-2_2}, publisher={Springer-Verlag}, author={Horn, RogerA. and Zhang, Fuzhen}, pages={17--46} } @book{gelman2013bayesian, title={Bayesian Data Analysis}, author={Gelman, Andrew and Carlin, John B and Stern, Hal S and Dunson, David B and Vehtari, Aki and Rubin, Donald B}, year={2013}, publisher={CRC press} } @Manual{Matrix_pkg, title = {\pkg{Matrix}: Sparse and Dense Matrix Classes and Methods}, author = {Douglas Bates and Martin Maechler}, year = 2015, note = {\proglang{R} package version 1.2-2}, url = {http://CRAN.R-project.org/package=Matrix}, } @Manual{minqa_pkg, title = {\pkg{minqa}: Derivative-Free Optimization Algorithms by Quadratic Approximation}, author = {Douglas Bates and Katharine M. Mullen and John C. Nash and Ravi Varadhan}, year = {2014}, note = {\proglang{R} package version 1.2.4}, url = {http://CRAN.R-project.org/package=minqa}, } @Article{optimx_pkg, author = {John C. Nash and Ravi Varadhan}, title = {Unifying Optimization Algorithms to Aid Software System Users: \pkg{optimx} for \proglang{R}}, journal = {Journal of Statistical Software}, year = 2011, volume = 43, number = 9, pages = {1--14}, doi = {10.18637/jss.v043.i09}, url = {http://www.jstatsoft.org/v43/i09/}, } @Misc{NLopt, author = {Steven G. Johnson}, title = {The \pkg{NLopt} Nonlinear-Optimization Package}, year = {2014}, url = {http://ab-initio.mit.edu/nlopt} } @Manual{nlme_pkg, title = {\pkg{nlme}: Linear and Nonlinear Mixed Effects Models}, author = {Jose Pinheiro and Douglas Bates and Saikat DebRoy and Deepayan Sarkar and {\proglang{R} Core Team}}, year = 2014, note = {\proglang{R} package version 3.1-117}, url = {http://CRAN.R-project.org/package=nlme}, } @Article{HLMdiag_pkg, title = {\pkg{HLMdiag}: A Suite of Diagnostics for Hierarchical Linear Models in \proglang{R}}, author = {Adam Loy and Heike Hofmann}, journal = {Journal of Statistical Software}, year = 2014, volume = 56, number = 5, pages = {1--28}, doi = {10.18637/jss.v056.i05}, url = {http://www.jstatsoft.org/v56/i05/}, } @Article{influenceME_pkg, title = {\proglang{Influence.ME}: Tools for Detecting Influential Data in Mixed Effects Models}, author = {Rense Nieuwenhuis and Manfred {Te Grotenhuis} and Ben Pelzer}, year = 2012, journal = {R Journal}, volume = 4, number = 2, pages = {38-47}, } @Manual{boot_pkg, author = {Angelo Canty and Brian Ripley}, year = 2015, title = { \pkg{boot}: Bootstrap \proglang{R} (\proglang{S-PLUS}) Functions}, note = {\proglang{R} package version 1.3-17}, url = {http://CRAN.R-project.org/package=boot} } @Book{DavisonHinkley1997, author = {A. C. Davison and D. V. Hinkley}, title = {Bootstrap Methods and Their Applications}, year = 1997, publisher = {Cambridge University Press}, ISBN = {0-521-57391-2}, address = {Cambridge, England} } @article{vaida2005conditional, title={Conditional Akaike Information for Mixed-Effects Models}, author={Vaida, Florin and Blanchard, Suzette}, journal={Biometrika}, volume={92}, number={2}, pages={351--370}, year={2005}, doi = {10.1093/biomet/92.2.351}, publisher={Biometrika Trust} } @book{cook1982residuals, title={Residuals and Influence in Regression}, author={Cook, R Dennis and Weisberg, Sanford}, year={1982}, publisher={New York: Chapman and Hall} } @comment -------- Software manuals, mostly R and R packages --------- @Manual{lme4, title = {\pkg{lme4}: Linear Mixed-Effects Models Using \pkg{Eigen} and \proglang{S}4}, author = {Douglas Bates and Martin Maechler and Ben Bolker and Steven Walker}, year = 2014, note = {\proglang{R} package version 1.1-7}, url = {http://CRAN.R-project.org/package=lme4}, } @Manual{R, title = {\proglang{R}: A Language and Environment for Statistical Computing}, author = {{\proglang{R} Core Team}}, organization = {\proglang{R} Foundation for Statistical Computing}, address = {Vienna, Austria}, year = 2015, url = {http://www.R-project.org/}, } @Unpublished{Julia, title = {\proglang{Julia}: A Fast Dynamic Language for Technical Computing}, author = {Jeff Bezanson and Stefan Karpinski and Viral B. Shah and Alan Edelman}, year = 2012, url = {http://arxiv.org/abs/1209.5145}, note = {{arXiv}:1209.5145 [cs.PL]}, } @Manual{MixedModels, title = {\pkg{MixedModels}: A \proglang{Julia} Package for Fitting (Statistical) Mixed-Effects Models}, author = {Douglas Bates}, year = 2015, note = {\proglang{Julia} package version 0.3-22}, url = {https://github.com/dmbates/MixedModels.jl}, } @Manual{lme4pureR, title = {\pkg{lme4pureR}: \pkg{lme4} in Pure \proglang{R}}, author = {Douglas Bates and Steven Walker}, year = 2013, note = {\proglang{R} package version 0.1-0}, url = {https://github.com/lme4/lme4pureR}, } @Manual{Eigen, title = {\pkg{Eigen}3}, author = {G Guennebaud and B Jacob and {and others}}, year = 2015, url = {http://eigen.tuxfamily.org/}, } @Manual{SuiteSparse, title = {\pkg{SuiteSparse}: A Suite of Sparse Matrix Software}, author = {Timothy A. Davis and others}, year = 2015, note = {Version 4.4-5}, url = {http://www.suitesparse.com/}, } @Book{lattice, title = {\pkg{lattice}: Multivariate Data Visualization with \proglang{R}}, author = {Deepayan Sarkar}, publisher = {Springer-Verlag}, address = {New York}, year = 2008, url = {http://lmdvr.R-Forge.R-project.org}, } lme4/vignettes/lme4.bib0000644000176200001440000000611614630126752014454 0ustar liggesusers@Book{bateswatts88:_nonlin, author = {Douglas M. Bates and Donald G. Watts}, title = {Nonlinear Regression Analysis and Its Applications}, publisher = {Wiley}, year = 1988} @Article{Davis:1996, author = {Tim Davis}, title = {An approximate minimal degree ordering algorithm}, journal = {SIAM J. Matrix Analysis and Applications}, year = 1996, volume = 17, number = 4, pages = {886-905} } @Misc{CSparse, author = {Tim Davis}, title = {{CSparse}: a concise sparse matrix package}, howpublished = {http://www.cise.ufl.edu/research/sparse/CSparse}, year = 2005 } @misc{Cholmod, author = {Tim Davis}, title = {{CHOLMOD}: sparse supernodal {Cholesky} factorization and update/downdate}, howpublished = {http://www.cise.ufl.edu/research/sparse/cholmod}, year = 2005 } @Book{mccullagh89:_gener_linear_model, author = {Peter McCullagh and John Nelder}, title = {Generalized Linear Models}, publisher = {Chapman and Hall}, year = 1989, edition = {2nd}} @Article{mccullough99:_asses_reliab_of_statis_softw, author = {B. D. McCullough}, title = {Assessing the reliability of statistical software: Part II}, journal = {The American Statistician}, year = 1999, volume = 53, number = 2, month = {May}} @Book{davis06:csparse_book, author = {Timothy A. Davis }, title = {Direct Methods for Sparse Linear Systems}, publisher = {SIAM}, year = 2006, series = {Fundamentals of Algorithms} } @Book{pinh:bate:2000, author = {Jos\'{e} C. Pinheiro and Douglas M. Bates}, title = {Mixed-Effects Models in {S} and {S-PLUS}}, year = 2000, pages = {528}, ISBN = {0-387-98957-9}, publisher = {Springer} } @Article{bate:debr:2004, author = {Douglas M. Bates and Saikat DebRoy}, title = {Linear Mixed Models and Penalized Least Squares}, journal = {J. of Multivariate Analysis}, year = 2004, note = {to appear} } @Book{mccullagh:nelder:1989, author = {P. McCullagh and J.A. Nelder}, title = {Generalized Linear Models}, publisher = {Chapman \& Hall}, year = 1989 } @TechReport{Davis:2004, author = {Timothy A. Davis}, title = {Algorithm 8xx: {A} concise sparse {C}holesky factorization package}, institution = {Department of Computer and Information Science and Engineering, University of Florida}, year = 2004 } @Article{tier:kada:1986, journal = JASA, volume = "81", number = "393", pages = "82--86", author = "Luke Tierney and Joseph B. Kadane", title = "Accurate approximations for posterior moments and densities", year = "1986", } @Book{Sing:Will:2003, author = {Judith D. Singer and John B. Willett}, title = {Applied Longitudinal Data Analysis}, publisher = {Oxford University Press}, year = 2003, ISBN = {0-19-515296-4} } @BOOK{R:Chambers+Hastie:1992, author = {John M. Chambers and Trevor J. Hastie}, title = {Statistical Models in {S}}, publisher = {Chapman \& Hall}, year = 1992, address = {London} } lme4/vignettes/lmerperf.Rmd0000644000176200001440000001321514630126752015413 0ustar liggesusers--- title: "lme4 performance tips" --- ```{r opts, echo = FALSE, message = FALSE} library("knitr") knitr::opts_chunk$set( ) (load(system.file("testdata", "lmerperf.rda", package="lme4")))# 'ss' 'fitlist' ``` ```{r loadpkg,message=FALSE} library("lme4") ``` ## overview In general `lme4`'s algorithms scale reasonably well with the number of observations and the number of random effect levels. The biggest bottleneck is in the number of *top-level parameters*, i.e. covariance parameters for `lmer` fits or `glmer` fits with `nAGQ`=0 [`length(getME(model, "theta"))`], covariance and fixed-effect parameters for `glmer` fits with `nAGQ`>0. `lme4` does a derivative-free (by default) nonlinear optimization step over the top-level parameters. For this reason, "maximal" models involving interactions of factors with several levels each (e.g. `(stimulus*primer | subject)`) will be slow (as well as hard to estimate): if the two factors have `f1` and `f2` levels respectively, then the corresponding `lmer` fit will need to estimate `(f1*f2)*(f1*f2+1)/2` top-level parameters. `lme4` automatically constructs the random effects model matrix ($Z$) as a sparse matrix. At present it does *not* allow an option for a sparse fixed-effects model matrix ($X$), which is useful if the fixed-effect model includes factors with many levels. Treating such factors as random effects instead, and using the modular framework (`?modular`) to fix the variance of this random effect at a large value, will allow it to be modeled using a sparse matrix. (The estimates will converge to the fixed-effect case in the limit as the variance goes to infinity.) ## setting `calc.derivs = FALSE` After finding the best-fit model parameters (in most cases using *derivative-free* algorithms such as Powell's BOBYQA or Nelder-Mead, `[g]lmer` does a series of finite-difference calculations to estimate the gradient and Hessian at the MLE. These are used to try to establish whether the model has converged reliably, and (for `glmer`) to estimate the standard deviations of the fixed effect parameters (a less accurate approximation is used if the Hessian estimate is not available. As currently implemented, this computation takes `2*n^2 - n + 1` additional evaluations of the deviance, where `n` is the total number of top-level parameters. Using `control = [g]lmerControl(calc.derivs = FALSE)` to turn off this calculation can speed up the fit, e.g. ```{r noderivs, eval = FALSE} m0 <- lmer(y ~ service * dept + (1|s) + (1|d), InstEval, control = lmerControl(calc.derivs = FALSE)) ``` ```{r calcs, echo = FALSE} ## based on loaded lmerperf file t1 <- fitlist$basic$times[["elapsed"]] t2 <- fitlist$noderivs$times[["elapsed"]] pct <- round(100*(t1-t2)/t1) e1 <- fitlist$basic$optinfo$feval ``` Benchmark results for this run with and without derivatives show an approximately `r pct`% speedup (from `r round(t1)` to `r round(t2)` seconds on a Linux machine with AMD Ryzen 9 2.2 GHz processors). This is a case with only 2 top-level parameters, but the fit took only `r e1` deviance function evaluations (see `m0@optinfo$feval`) to converge, so the effect of the additional 7 ($n^2 -n +1$) function evaluations is noticeable. ## choice of optimizer ```{r glmeropt, echo=FALSE} gg <- glmerControl()$optimizer ``` `lmer` uses the "`r lmerControl()$optimizer`" optimizer by default; `glmer` uses a combination of `r gg[1]` (`nAGQ=0` stage) and `r gg[2]`. These are reasonably good choices, although switching `glmer` fits to `nloptwrap` for both stages may be worth a try. `allFits()` gives an easy way to check the timings of a large range of optimizers: ```{r times, as.is=TRUE, echo=FALSE} tt <- sort(ss$times[,"elapsed"]) tt2 <- data.frame(optimizer = names(tt), elapsed = tt) rownames(tt2) <- NULL knitr::kable(tt2) ``` As expected, bobyqa - both the implementation in the `minqa` package [`[g]lmerControl(optimizer="bobyqa")`] and the one in `nloptwrap` [`optimizer="nloptwrap"` or `optimizer="nloptwrap", optCtrl = list(algorithm = "NLOPT_LN_BOBYQA"`] - are fastest. ## changing optimizer tolerances Occasionally, the default optimizer stopping tolerances are unnecessarily strict. These tolerances are specific to each optimizer, and can be set via the `optCtrl` argument in `[g]lmerControl`. To see the defaults for `nloptwrap`: ```{r default} environment(nloptwrap)$defaultControl ``` ```{r calcs2, echo = FALSE} ## based on loaded lmerperf file t1 <- fitlist$basic$times[["elapsed"]] t2 <- fitlist$noderivs$times[["elapsed"]] t3 <- fitlist$nlopt_sloppy$times[["elapsed"]] pct <- round(100*(t1-t2)/t1) e1 <- fitlist$basic$optinfo$feval ``` In the particular case of the `InstEval` example, this doesn't help much - loosening the tolerances to `ftol_abs=1e-4`, `xtol_abs=1e-4` only saves 2 functional evaluations and a few seconds, while loosening the tolerances still further gives convergence warnings. ## parallelization/BLAS There are not many options for parallelizing `lme4`. Optimized BLAS does not seem to help much. ## other packages - `glmmTMB` may be faster than `lme4` for GLMMs with large numbers of top-level parameters, especially for negative binomial models (i.e. compared to `glmer.nb`) - the `MixedModels.jl` package in Julia may be *much* faster for some problems. You do need to install Julia. - see [this short tutorial](https://github.com/ginettelafit/MixedModelswithRandJulia) or [this example](https://github.com/RePsychLing/MixedModels-lme4-bridge/blob/master/using_jellyme4.ipynb) (Jupyter notebook) - the [JellyMe4](https://github.com/palday/JellyMe4.jl) and [jglmm](https://github.com/mikabr/jglmm) packages provide R interfaces lme4/vignettes/PLSvGLS.Rnw0000644000176200001440000004356214630126752015025 0ustar liggesusers\documentclass[12pt]{article} \usepackage{Sweave,amsmath,amsfonts,bm} \usepackage[authoryear,round]{natbib} \bibliographystyle{plainnat} \DeclareMathOperator \tr {tr} \DefineVerbatimEnvironment{Sinput}{Verbatim} {formatcom={\vspace{-1ex}},fontshape=sl, fontfamily=courier,fontseries=b, fontsize=\footnotesize} \DefineVerbatimEnvironment{Soutput}{Verbatim} {formatcom={\vspace{-1ex}},fontfamily=courier,fontseries=b,% fontsize=\footnotesize} %%\VignetteIndexEntry{PLS vs GLS for LMMs} %%\VignetteDepends{lme4} \title{Penalized least squares versus generalized least squares representations of linear mixed models} \author{Douglas Bates\\Department of Statistics\\% University of Wisconsin -- Madison} \begin{document} \SweaveOpts{engine=R,eps=FALSE,pdf=TRUE,strip.white=true,keep.source=TRUE} \SweaveOpts{include=FALSE} \setkeys{Gin}{width=\textwidth} \newcommand{\code}[1]{\texttt{\small{#1}}} \newcommand{\package}[1]{\textsf{\small{#1}}} \newcommand{\trans}{\ensuremath{^\prime}} <>= options(width=65,digits=5) #library(lme4) @ \maketitle \begin{abstract} The methods in the \code{lme4} package for \code{R} for fitting linear mixed models are based on sparse matrix methods, especially the Cholesky decomposition of sparse positive-semidefinite matrices, in a penalized least squares representation of the conditional model for the response given the random effects. The representation is similar to that in Henderson's mixed-model equations. An alternative representation of the calculations is as a generalized least squares problem. We describe the two representations, show the equivalence of the two representations and explain why we feel that the penalized least squares approach is more versatile and more computationally efficient. \end{abstract} \section{Definition of the model} \label{sec:Definition} We consider linear mixed models in which the random effects are represented by a $q$-dimensional random vector, $\bm{\mathcal{B}}$, and the response is represented by an $n$-dimensional random vector, $\bm{\mathcal{Y}}$. We observe a value, $\bm y$, of the response. The random effects are unobserved. For our purposes, we will assume a ``spherical'' multivariate normal conditional distribution of $\bm{\mathcal{Y}}$, given $\bm{\mathcal{B}}$. That is, we assume the variance-covariance matrix of $\bm{\mathcal{Y}}|\bm{\mathcal{B}}$ is simply $\sigma^2\bm I_n$, where $\bm I_n$ denotes the identity matrix of order $n$. (The term ``spherical'' refers to the fact that contours of the conditional density are concentric spheres.) The conditional mean, $\mathrm{E}[\bm{\mathcal{Y}}|\bm{\mathcal{B}}=\bm b]$, is a linear function of $\bm b$ and the $p$-dimensional fixed-effects parameter, $\bm\beta$, \begin{equation} \label{eq:condmean} \mathrm{E}[\bm{\mathcal{Y}}|\bm{\mathcal{B}}=\bm b]= \bm X\bm\beta+\bm Z\bm b , \end{equation} where $\bm X$ and $\bm Z$ are known model matrices of sizes $n\times p$ and $n\times q$, respectively. Thus \begin{equation} \label{eq:yconditional} \bm{\mathcal{Y}}|\bm{\mathcal{B}}\sim \mathcal{N}\left(\bm X\bm\beta+\bm Z\bm b,\sigma^2\bm I_n\right) . \end{equation} The marginal distribution of the random effects \begin{equation} \label{eq:remargin} \bm{\mathcal{B}}\sim\mathcal{N}\left(\bm 0,\sigma^2\bm\Sigma(\bm\theta)\right) \end{equation} is also multivariate normal, with mean $\bm 0$ and variance-covariance matrix $\sigma^2\bm\Sigma(\bm\theta)$. The scalar, $\sigma^2$, in (\ref{eq:remargin}) is the same as the $\sigma^2$ in (\ref{eq:yconditional}). As described in the next section, the relative variance-covariance matrix, $\bm\Sigma(\bm\theta)$, is a $q\times q$ positive semidefinite matrix depending on a parameter vector, $\bm\theta$. Typically the dimension of $\bm\theta$ is much, much smaller than $q$. \subsection{Variance-covariance of the random effects} \label{sec:revarcov} The relative variance-covariance matrix, $\bm\Sigma(\bm\theta)$, must be symmetric and positive semidefinite (i.e. $\bm x\trans\bm\Sigma\bm x\ge0,\forall\bm x\in\mathbb{R}^q$). Because the estimate of a variance component can be zero, it is important to allow for a semidefinite $\bm\Sigma$. We do not assume that $\bm\Sigma$ is positive definite (i.e. $\bm x\trans\bm\Sigma\bm x>0,\forall\bm x\in\mathbb{R}^q, \bm x\ne\bm 0$) and, hence, we cannot assume that $\bm\Sigma^{-1}$ exists. A positive semidefinite matrix such as $\bm\Sigma$ has a Cholesky decomposition of the so-called ``LDL$\trans$'' form. We use a slight modification of this form, \begin{equation} \label{eq:TSdef} \bm\Sigma(\bm\theta)=\bm T(\bm\theta)\bm S(\bm\theta)\bm S(\bm\theta)\bm T(\bm\theta)\trans , \end{equation} where $\bm T(\bm\theta)$ is a unit lower-triangular $q\times q$ matrix and $\bm S(\bm\theta)$ is a diagonal $q\times q$ matrix with nonnegative diagonal elements that act as scale factors. (They are the relative standard deviations of certain linear combinations of the random effects.) Thus, $\bm T$ is a triangular matrix and $\bm S$ is a scale matrix. Both $\bm T$ and $\bm S$ are highly patterned. \subsection{Orthogonal random effects} \label{sec:orthogonal} Let us define a $q$-dimensional random vector, $\bm{\mathcal{U}}$, of orthogonal random effects with marginal distribution \begin{equation} \label{eq:Udist} \bm{\mathcal{U}}\sim\mathcal{N}\left(\bm 0,\sigma^2\bm I_q\right) \end{equation} and, for a given value of $\bm\theta$, express $\bm{\mathcal{B}}$ as a linear transformation of $\bm{\mathcal{U}}$, \begin{equation} \label{eq:UtoB} \bm{\mathcal{B}}=\bm T(\bm\theta)\bm S(\bm\theta)\bm{\mathcal{U}} . \end{equation} Note that the transformation (\ref{eq:UtoB}) gives the desired distribution of $\bm{\mathcal{B}}$ in that $\mathrm{E}[\bm{\mathcal{B}}]=\bm T\bm S\mathrm{E}[\bm{\mathcal{U}}]=\bm 0$ and \begin{displaymath} \mathrm{Var}(\bm{\mathcal{B}})=\mathrm{E}[\bm{\mathcal{B}}\bm{\mathcal{B}}\trans] =\bm T\bm S\mathrm{E}[\bm{\mathcal{U}}\bm{\mathcal{U}}\trans]\bm S\bm T\trans=\sigma^2\bm T\bm S\bm S\bm T\trans=\bm\Sigma . \end{displaymath} The conditional distribution, $\bm{\mathcal{Y}}|\bm{\mathcal{U}}$, can be derived from $\bm{\mathcal{Y}}|\bm{\mathcal{B}}$ as \begin{equation} \label{eq:YgivenU} \bm{\mathcal{Y}}|\bm{\mathcal{U}}\sim\mathcal{N}\left(\bm X\bm\beta+\bm Z\bm T\bm S\bm u, \sigma^2\bm I\right) \end{equation} We will write the transpose of $\bm Z\bm T\bm S$ as $\bm A$. Because the matrices $\bm T$ and $\bm S$ depend on the parameter $\bm\theta$, $\bm A$ is also a function of $\bm\theta$, \begin{equation} \label{eq:Adef} \bm A\trans(\bm\theta)=\bm Z\bm T(\bm\theta)\bm S(\bm\theta) . \end{equation} In applications, the matrix $\bm Z$ is derived from indicator columns of the levels of one or more factors in the data and is a \emph{sparse} matrix, in the sense that most of its elements are zero. The matrix $\bm A$ is also sparse. In fact, the structure of $\bm T$ and $\bm S$ are such that pattern of nonzeros in $\bm A$ is that same as that in $\bm Z\trans$. \subsection{Sparse matrix methods} \label{sec:sparseMatrix} The reason for defining $\bm A$ as the transpose of a model matrix is because $\bm A$ is stored and manipulated as a sparse matrix. In the compressed column-oriented storage form that we use for sparse matrices, there are advantages to storing $\bm A$ as a matrix of $n$ columns and $q$ rows. In particular, the CHOLMOD sparse matrix library allows us to evaluate the sparse Cholesky factor, $\bm L(\bm\theta)$, a sparse lower triangular matrix that satisfies \begin{equation} \label{eq:SparseChol} \bm L(\bm\theta)\bm L(\bm\theta)\trans= \bm P\left(\bm A(\bm\theta)\bm A(\bm\theta)\trans+\bm I_q\right)\bm P\trans , \end{equation} directly from $\bm A(\bm\theta)$. In (\ref{eq:SparseChol}) the $q\times q$ matrix $\bm P$ is a ``fill-reducing'' permutation matrix determined from the pattern of nonzeros in $\bm Z$. $\bm P$ does not affect the statistical theory (if $\bm{\mathcal{U}}\sim\mathcal{N}(\bm 0,\sigma^2\bm I)$ then $\bm P\trans\bm{\mathcal{U}}$ also has a $\mathcal{N}(\bm 0,\sigma^2\bm I)$ distribution because $\bm P\bm P\trans=\bm P\trans\bm P=\bm I$) but, because it affects the number of nonzeros in $\bm L$, it can have a tremendous impact on the amount storage required for $\bm L$ and the time required to evaluate $\bm L$ from $\bm A$. Indeed, it is precisely because $\bm L(\bm\theta)$ can be evaluated quickly, even for complex models applied the large data sets, that the \code{lmer} function is effective in fitting such models. \section{The penalized least squares approach to linear mixed models} \label{sec:Penalized} Given a value of $\bm\theta$ we form $\bm A(\bm\theta)$ from which we evaluate $\bm L(\bm\theta)$. We can then solve for the $q\times p$ matrix, $\bm R_{\bm{ZX}}$, in the system of equations \begin{equation} \label{eq:RZX} \bm L(\theta)\bm R_{\bm{ZX}}=\bm P\bm A(\bm\theta)\bm X \end{equation} and for the $p\times p$ upper triangular matrix, $\bm R_{\bm X}$, satisfying \begin{equation} \label{eq:RX} \bm R_{\bm X}\trans\bm R_{\bm X}= \bm X\trans\bm X-\bm R_{\bm{ZX}}\trans\bm R_{\bm{ZX}} \end{equation} The conditional mode, $\tilde{\bm u}(\bm\theta)$, of the orthogonal random effects and the conditional mle, $\widehat{\bm\beta}(\bm\theta)$, of the fixed-effects parameters can be determined simultaneously as the solutions to a penalized least squares problem, \begin{equation} \label{eq:PLS} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \widehat{\bm\beta}(\bm\theta) \end{bmatrix}= \arg\min_{\bm u,\bm\beta}\left\| \begin{bmatrix}\bm y\\\bm 0\end{bmatrix} - \begin{bmatrix} \bm A\trans\bm P\trans & \bm X\\ \bm I_q & \bm 0 \end{bmatrix} \begin{bmatrix}\bm u\\\bm\beta\end{bmatrix} , \right\|^2 \end{equation} for which the solution satisfies \begin{equation} \label{eq:PLSsol} \begin{bmatrix} \bm P\left(\bm A\bm A\trans+\bm I\right)\bm P\trans & \bm P\bm A\bm X\\ \bm X\trans\bm A\trans\bm P\trans & \bm X\trans\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \widehat{\bm\beta}(\bm\theta) \end{bmatrix}= \begin{bmatrix}\bm P\bm A\bm y\\\bm X\trans\bm y\end{bmatrix} . \end{equation} The Cholesky factor of the system matrix for the PLS problem can be expressed using $\bm L$, $\bm R_{\bm Z\bm X}$ and $\bm R_{\bm X}$, because \begin{equation} \label{eq:PLSChol} \begin{bmatrix} \bm P\left(\bm A\bm A\trans+\bm I\right)\bm P\trans & \bm P\bm A\bm X\\ \bm X\trans\bm A\trans\bm P\trans & \bm X\trans\bm X \end{bmatrix} = \begin{bmatrix} \bm L & \bm 0\\ \bm R_{\bm Z\bm X}\trans & \bm R_{\bm X}\trans \end{bmatrix} \begin{bmatrix} \bm L\trans & \bm R_{\bm Z\bm X}\\ \bm 0 & \bm R_{\bm X} \end{bmatrix} . \end{equation} In the \code{lme4} package the \code{"mer"} class is the representation of a mixed-effects model. Several slots in this class are matrices corresponding directly to the matrices in the preceding equations. The \code{A} slot contains the sparse matrix $\bm A(\bm\theta)$ and the \code{L} slot contains the sparse Cholesky factor, $\bm L(\bm\theta)$. The \code{RZX} and \code{RX} slots contain $\bm R_{\bm Z\bm X}(\bm\theta)$ and $\bm R_{\bm X}(\bm\theta)$, respectively, stored as dense matrices. It is not necessary to solve for $\tilde{\bm u}(\bm\theta)$ and $\widehat{\bm\beta}(\bm\theta)$ to evaluate the \emph{profiled} log-likelihood, which is the log-likelihood evaluated $\bm\theta$ and the conditional estimates of the other parameters, $\widehat{\bm\beta}(\bm\theta)$ and $\widehat{\sigma^2}(\bm\theta)$. All that is needed for evaluation of the profiled log-likelihood is the (penalized) residual sum of squares, $r^2$, from the penalized least squares problem (\ref{eq:PLS}) and the determinant $|\bm A\bm A\trans+\bm I|=|\bm L|^2$. Because $\bm L$ is triangular, its determinant is easily evaluated as the product of its diagonal elements. Furthermore, $|\bm L|^2 > 0$ because it is equal to $|\bm A\bm A\trans + \bm I|$, which is the determinant of a positive definite matrix. Thus $\log(|\bm L|^2)$ is both well-defined and easily calculated from $\bm L$. The profiled deviance (negative twice the profiled log-likelihood), as a function of $\bm\theta$ only ($\bm\beta$ and $\sigma^2$ at their conditional estimates), is \begin{equation} \label{eq:profiledDev} d(\bm\theta|\bm y)=\log(|\bm L|^2)+n\left(1+\log(r^2)+\frac{2\pi}{n}\right) \end{equation} The maximum likelihood estimates, $\widehat{\bm\theta}$, satisfy \begin{equation} \label{eq:thetamle} \widehat{\bm\theta}=\arg\min_{\bm\theta}d(\bm\theta|\bm y) \end{equation} Once the value of $\widehat{\bm\theta}$ has been determined, the mle of $\bm\beta$ is evaluated from (\ref{eq:PLSsol}) and the mle of $\sigma^2$ as $\widehat{\sigma^2}(\bm\theta)=r^2/n$. Note that nothing has been said about the form of the sparse model matrix, $\bm Z$, other than the fact that it is sparse. In contrast to other methods for linear mixed models, these results apply to models where $\bm Z$ is derived from crossed or partially crossed grouping factors, in addition to models with multiple, nested grouping factors. The system (\ref{eq:PLSsol}) is similar to Henderson's ``mixed-model equations'' (reference?). One important difference between (\ref{eq:PLSsol}) and Henderson's formulation is that Henderson represented his system of equations in terms of $\bm\Sigma^{-1}$ and, in important practical examples, $\bm\Sigma^{-1}$ does not exist at the parameter estimates. Also, Henderson assumed that equations like (\ref{eq:PLSsol}) would need to be solved explicitly and, as we have seen, only the decomposition of the system matrix is needed for evaluation of the profiled log-likelihood. The same is true of the profiled the logarithm of the REML criterion, which we define later. \section{The generalized least squares approach to linear mixed models} \label{sec:GLS} Another common approach to linear mixed models is to derive the marginal variance-covariance matrix of $\bm{\mathcal{Y}}$ as a function of $\bm\theta$ and use that to determine the conditional estimates, $\widehat{\bm\beta}(\bm\theta)$, as the solution of a generalized least squares (GLS) problem. In the notation of \S\ref{sec:Definition} the marginal mean of $\bm{\mathcal{Y}}$ is $\mathrm{E}[\bm{\mathcal{Y}}]=\bm X\bm\beta$ and the marginal variance-covariance matrix is \begin{equation} \label{eq:marginalvarcovY} \mathrm{Var}(\bm{\mathcal{Y}})=\sigma^2\left(\bm I_n+\bm Z\bm T\bm S\bm S\bm T\trans\bm Z\trans\right)=\sigma^2\left(\bm I_n+\bm A\trans\bm A\right) =\sigma^2\bm V(\bm\theta) , \end{equation} where $\bm V(\bm\theta)=\bm I_n+\bm A\trans\bm A$. The conditional estimates of $\bm\beta$ are often written as \begin{equation} \label{eq:condbeta} \widehat{\bm\beta}(\bm\theta)=\left(\bm X\trans\bm V^{-1}\bm X\right)^{-1}\bm X\trans\bm V^{-1}\bm y \end{equation} but, of course, this formula is not suitable for computation. The matrix $\bm V(\bm\theta)$ is a symmetric $n\times n$ positive definite matrix and hence has a Cholesky factor. However, this factor is $n\times n$, not $q\times q$, and $n$ is always larger than $q$ --- sometimes orders of magnitude larger. Blithely writing a formula in terms of $\bm V^{-1}$ when $\bm V$ is $n\times n$, and $n$ can be in the millions does not a computational formula make. \subsection{Relating the GLS approach to the Cholesky factor} \label{sec:GLStoL} We can use the fact that \begin{equation} \label{eq:Vinv} \bm V^{-1}(\bm\theta)=\left(\bm I_n+\bm A\trans\bm A\right)^{-1}= \bm I_n-\bm A\trans\left(\bm I_q+\bm A\bm A\trans\right)^{-1}\bm A \end{equation} to relate the GLS problem to the PLS problem. One way to establish (\ref{eq:Vinv}) is simply to show that the product \begin{multline*} (\bm I+\bm A\trans\bm A)\left(\bm I-\bm A\trans\left(\bm I+\bm A\bm A\trans\right)^{-1}\bm A\right)\\ \begin{aligned} =&\bm I+\bm A\trans\bm A-\bm A\trans\left(\bm I+\bm A\bm A\trans\right) \left(\bm I+\bm A\bm A\trans\right)^{-1}\bm A\\ =&\bm I+\bm A\trans\bm A-\bm A\trans\bm A\\ =&\bm I . \end{aligned} \end{multline*} Incorporating the permutation matrix $\bm P$ we have \begin{equation} \label{eq:PLA} \begin{aligned} \bm V^{-1}(\bm\theta)=&\bm I_n-\bm A\trans\bm P\trans\bm P\left(\bm I_q+\bm A\bm A\trans\right)^{-1}\bm P\trans\bm P\bm A\\ =&\bm I_n-\bm A\trans\bm P\trans(\bm L\bm L\trans)^{-1}\bm P\bm A\\ =&\bm I_n-\left(\bm L^{-1}\bm P\bm A\right)\trans\bm L^{-1}\bm P\bm A . \end{aligned} \end{equation} Even in this form we would not want to routinely evaluate $\bm V^{-1}$. However, (\ref{eq:PLA}) does allow us to simplify many common expressions. For example, the variance-covariance of the estimator $\widehat{\bm \beta}$, conditional on $\bm\theta$ and $\sigma$, can be expressed as \begin{equation} \label{eq:varcovbeta} \begin{aligned} \sigma^2\left(\bm X\trans\bm V^{-1}(\bm\theta)\bm X\right)^{-1} =&\sigma^2\left(\bm X\trans\bm X-\left(\bm L^{-1}\bm P\bm A\bm X\right)\trans\left(\bm L^{-1}\bm P\bm A\bm X\right)\right)^{-1}\\ =&\sigma^2\left(\bm X\trans\bm X-\bm R_{\bm Z\bm X}\trans\bm R_{\bm Z\bm X}\right)^{-1}\\ =&\sigma^2\left(\bm R_{\bm X}\trans\bm R_{\bm X}\right)^{-1} . \end{aligned} \end{equation} \section{Trace of the ``hat'' matrix} \label{sec:hatTrace} Another calculation that is of interest to some is the the trace of the ``hat'' matrix, which can be written as \begin{multline} \label{eq:hatTrace} \tr\left(\begin{bmatrix}\bm A\trans&\bm X\end{bmatrix} \left(\begin{bmatrix}\bm A\trans&\bm X\\\bm I&\bm0\end{bmatrix}\trans \begin{bmatrix}\bm A\trans&\bm X\\\bm I&\bm0\end{bmatrix}\right)^{-1} \begin{bmatrix}\bm A\\\bm X\trans\end{bmatrix}\right)\\ = \tr\left(\begin{bmatrix}\bm A\trans&\bm X\end{bmatrix} \left(\begin{bmatrix}\bm L&\bm0\\ \bm R_{\bm{ZX}}\trans&\bm R_{\bm X}\trans\end{bmatrix} \begin{bmatrix}\bm L\trans&\bm R_{\bm{ZX}}\\ \bm0&\bm R_{\bm X}\end{bmatrix}\right)^{-1} \begin{bmatrix}\bm A\\\bm X\trans\end{bmatrix}\right) \end{multline} \end{document} lme4/vignettes/lmer.Rnw0000644000176200001440000041427414634571002014570 0ustar liggesusers%\VignetteEngine{knitr::knitr} %\VignetteDepends{ggplot2} %\VignetteDepends{gamm4} %\VignetteIndexEntry{Fitting Linear Mixed-Effects Models using lme4} \documentclass[nojss]{jss} \usepackage[T1]{fontenc}% for correct hyphenation and T1 encoding \usepackage[utf8]{inputenc}% \usepackage{lmodern}% latin modern font \usepackage[american]{babel} %% for texi2dvi ~ bug \usepackage{bm,amsmath,thumbpdf,amsfonts}%,minted} \usepackage{blkarray} \usepackage{array} %% huxtable-ish stuff %% \usepackage{adjustbox} %% \usepackage{threeparttable} %% \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} \newcommand{\matindex}[1]{\mbox{\scriptsize#1}}% Matrix index \newcommand{\github}{Github} \DeclareMathOperator{\tr}{tr} \DeclareMathOperator{\VEC}{vec} \newcommand{\bmb}[1]{{\color{red} \emph{#1}}} \newcommand{\scw}[1]{{\color{blue} \emph{#1}}} \newcommand{\dmb}[1]{{\color{magenta} \emph{#1}}} \shortcites{bolker_strategies_2013,sleepstudy,gelman2013bayesian} \author{Douglas Bates\\University of Wisconsin-Madison\And Martin M\"achler\\ETH Zurich\And Benjamin M. Bolker\\McMaster University\And Steven C. Walker\\McMaster University } \Plainauthor{Douglas Bates, Martin M\"achler, Ben Bolker, Steve Walker} \title{Fitting Linear Mixed-Effects Models Using \pkg{lme4}} \Plaintitle{Fitting Linear Mixed-Effects Models using lme4} \Shorttitle{Linear Mixed Models with lme4} \Abstract{% Maximum likelihood or restricted maximum likelihood (REML) estimates of the parameters in linear mixed-effects models can be determined using the \code{lmer} function in the \pkg{lme4} package for \proglang{R}. As for most model-fitting functions in \proglang{R}, the model is described in an \code{lmer} call by a formula, in this case including both fixed- and random-effects terms. The formula and data together determine a numerical representation of the model from which the profiled deviance or the profiled REML criterion can be evaluated as a function of some of the model parameters. The appropriate criterion is optimized, using one of the constrained optimization functions in \proglang{R}, to provide the parameter estimates. We describe the structure of the model, the steps in evaluating the profiled deviance or REML criterion, and the structure of classes or types that represents such a model. Sufficient detail is included to allow specialization of these structures by users who wish to write functions to fit specialized linear mixed models, such as models incorporating pedigrees or smoothing splines, that are not easily expressible in the formula language used by \code{lmer}.} \Keywords{% sparse matrix methods, linear mixed models, penalized least squares, Cholesky decomposition} \Address{ Douglas Bates\\ Department of Statistics, University of Wisconsin\\ 1300 University Ave.\\ Madison, WI 53706, U.S.A.\\ E-mail: \email{bates@stat.wisc.edu}\\ \par\bigskip Martin M\"achler\\ Seminar f\"ur Statistik, HG G~16\\ ETH Zurich\\ 8092 Zurich, Switzerland\\ E-mail: \email{maechler@stat.math.ethz.ch}\\ % URL: \url{http://stat.ethz.ch/people/maechler}\\ \par\bigskip Benjamin M. Bolker\\ Departments of Mathematics \& Statistics and Biology \\ McMaster University \\ 1280 Main Street W \\ Hamilton, ON L8S 4K1, Canada \\ E-mail: \email{bolker@mcmaster.ca}\\ \par\bigskip Steven C. Walker\\ Department of Mathematics \& Statistics \\ McMaster University \\ 1280 Main Street W \\ Hamilton, ON L8S 4K1, Canada \\ E-mail: \email{scwalker@math.mcmaster.ca } } \newcommand{\thetavec}{{\bm\theta}} \newcommand{\betavec}{{\bm\beta}} \newcommand{\Var}{\operatorname{Var}} \newcommand{\abs}{\operatorname{abs}} \newcommand{\bLt}{\ensuremath{\bm\Lambda_{\bm\theta}}} \newcommand{\mc}[1]{\ensuremath{\mathcal{#1}}} \newcommand{\trans}{\ensuremath{^\top}} % JSS wants \top \newcommand{\yobs}{\ensuremath{\bm y_{\mathrm{obs}}}} \newcommand*{\eq}[1]{eqn.~\ref{#1}}% or just {(\ref{#1})} <>= options(width=70, show.signif.stars=FALSE, str=strOptions(strict.width="cut"), ## prefer empty continuation for reader's cut'n'paste: continue = " ", #JSS: prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) library("knitr") library("lme4") library("ggplot2")# Keeping default theme, nicer "on line": #JSS theme_set(theme_bw()) library("grid") zmargin <- theme(panel.spacing=unit(0,"lines")) library("lattice") library("minqa") opts_chunk$set(engine='R',dev='pdf', fig.width=9, fig.height=5.5, prompt=TRUE, cache=TRUE, tidy=FALSE, comment=NA, error = FALSE) knitr::render_sweave() @ \setkeys{Gin}{width=\textwidth} \setkeys{Gin}{height=3.5in} \begin{document} A version of this manuscript has been published online in the \emph{Journal of Statistical Software}, on Oct.\ 2015, with DOI \linebreak[3] \texttt{10.18637/jss.v067.i01}, see \url{https://www.jstatsoft.org/article/view/v067i01/}. \section{Introduction} \label{sec:intro} The \pkg{lme4} package \citep{lme4} for \proglang{R} \citep{R} provides functions to fit and analyze linear mixed models, generalized linear mixed models and nonlinear mixed models. In each of these names, the term ``mixed'' or, more fully, ``mixed effects'', denotes a model that incorporates both fixed- and random-effects terms in a linear predictor expression from which the conditional mean of the response can be evaluated. In this paper we describe the formulation and representation of linear mixed models. The techniques used for generalized linear and nonlinear mixed models will be described separately, in a future paper. At present, the main alternative to \pkg{lme4} for mixed modeling in \proglang{R} is the \pkg{nlme} package \citep{nlme_pkg}. The main features distinguishing \pkg{lme4} from \pkg{nlme} are (1) more efficient linear algebra tools, giving improved performance on large problems; (2) simpler syntax and more efficient implementation for fitting models with crossed random effects; (3) the implementation of profile likelihood confidence intervals on random-effects parameters; and (4) the ability to fit generalized linear mixed models (although in this paper we restrict ourselves to linear mixed models). The main advantage of \pkg{nlme} relative to \pkg{lme4} is a user interface for fitting models with structure in the residuals (various forms of heteroscedasticity and autocorrelation) and in the random-effects covariance matrices (e.g., compound symmetric models). With some extra effort, the computational machinery of \pkg{lme4} can be used to fit structured models that the basic \code{lmer} function cannot handle (see Appendix~\ref{sec:modularExamples}). The development of general software for fitting mixed models remains an active area of research with many open problems. Consequently, the \pkg{lme4} package has evolved since it was first released, and continues to improve as we learn more about mixed models. However, we recognize the need to maintain stability and backward compatibility of \pkg{lme4} so that it continues to be broadly useful. In order to maintain stability while continuing to advance mixed-model computation, we have developed several additional frameworks that draw on the basic ideas of \pkg{lme4} but modify its structure or implementation in various ways. These descendants include the \mbox{\pkg{MixedModels}} package \citep{MixedModels} in \proglang{Julia} \citep{Julia}, the \pkg{lme4pureR} package \citep{lme4pureR} in \proglang{R}, and the \pkg{flexLambda} development branch of \pkg{lme4}. The current article is largely restricted to describing the current stable version of the \pkg{lme4} package (1.1-7), with Appendix~\ref{sec:modularExamples} describing hooks into the computational machinery that are designed for extension development. The \pkg{gamm4} \citep{gamm4} and \pkg{blme} \citep{blme, blme2} packages currently make use of these hooks. Another goal of this article is to contrast the approach used by \pkg{lme4} with previous formulations of mixed models. The expressions for the profiled log-likelihood and profiled REML (restricted maximum likelihood) criteria derived in Section~\ref{sec:profdev} are similar to those presented in \citet{bates04:_linear} and, indeed, are closely related to ``Henderson's mixed-model equations''~\citep{henderson_1982}. Nonetheless there are subtle but important changes in the formulation of the model and in the structure of the resulting penalized least squares (PLS) problem to be solved (Section~\ref{sec:PLSpureR}). We derive the current version of the PLS problem (Section~\ref{sec:plsMath}) and contrast this result with earlier formulations (Section~\ref{sec:previous_lmm_form}). This article is organized into four main sections (Sections~\ref{sec:lFormula}, \ref{sec:mkLmerDevfun}, \ref{sec:optimizeLmer}, and \ref{sec:mkMerMod}), each of which corresponds to one of the four largely separate modules that comprise \pkg{lme4}. Before describing the details of each module, we describe the general form of the linear mixed model underlying \pkg{lme4} (Section~\ref{sec:LMMs}); introduce the \code{sleepstudy} data that will be used as an example throughout (Section~\ref{sec:sleepstudy}); and broadly outline \pkg{lme4}'s modular structure (Section~\ref{sec:modular}). \subsection{Linear mixed models} \label{sec:LMMs} Just as a linear model is described by the distribution of a vector-valued random response variable, $\mc{Y}$, whose observed value is $\yobs$, a linear mixed model is described by the distribution of two vector-valued random variables: $\mc{Y}$, the response, and $\mc{B}$, the vector of random effects. In a linear model the distribution of $\mc Y$ is multivariate normal,%\begin{linenomath} \begin{equation} \label{eq:linearmodel} \mc Y\sim\mc{N}(\bm X\bm\beta+\bm o,\sigma^2\bm W^{-1}), \end{equation} where $n$ is the dimension of the response vector, $\bm W$ is a diagonal matrix of known prior weights, $\bm\beta$ is a $p$-dimensional coefficient vector, $\bm X$ is an $n\times p$ model matrix, and $\bm o$ is a vector of known prior offset terms. The parameters of the model are the coefficients $\bm\beta$ and the scale parameter $\sigma$. In a linear mixed model it is the \emph{conditional} distribution of $\mc Y$ given $\mc B=\bm b$ that has such a form, \begin{equation} \label{eq:LMMcondY} ( \mc Y|\mc B=\bm b)\sim\mc{N}(\bm X\bm\beta+\bm Z\bm b+\bm o,\sigma^2\bm W^{-1}), % | <- for ESS \end{equation} where $\bm Z$ is the $n\times q$ model matrix for the $q$-dimensional vector-valued random-effects variable, $\mc B$, whose value we are fixing at $\bm b$. The unconditional distribution of $\mc B$ is also multivariate normal with mean zero and a parameterized $q\times q$ variance-covariance matrix, $\bm\Sigma$, \begin{equation} \label{eq:LMMuncondB} \mc B\sim\mc N(\bm0,\bm\Sigma) . \end{equation} As a variance-covariance matrix, $\bm\Sigma$ must be positive semidefinite. It is convenient to express the model in terms of a \emph{relative covariance factor}, $\bLt$, which is a $q\times q$ matrix, depending on the \emph{variance-component parameter}, $\bm\theta$, and generating the symmetric $q\times q$ variance-covariance matrix, $\bm\Sigma$, according to%\begin{linenomath} \begin{equation} \label{eq:relcovfac} \bm\Sigma_{\bm\theta}=\sigma^2\bLt\bLt\trans , \end{equation}%\end{linenomath} where $\sigma$ is the same scale factor as in the conditional distribution (\ref{eq:LMMcondY}). Although Equations~\ref{eq:LMMcondY}, \ref{eq:LMMuncondB}, and \ref{eq:relcovfac} fully describe the class of linear mixed models that \pkg{lme4} can fit, this terse description hides many important details. Before moving on to these details, we make a few observations: \begin{itemize} \item This formulation of linear mixed models allows for a relatively compact expression for the profiled log-likelihood of $\bm\theta$ (Section~\ref{sec:profdev}, Equation~\ref{eq:profiledDeviance}). \item The matrices associated with random effects, $\bm Z$ and $\bLt$, typically have a sparse structure with a sparsity pattern that encodes various model assumptions. Sections~\ref{sec:LMMmatrix} and \ref{sec:CSCmats} provide details on these structures, and how to represent them efficiently. \item The interface provided by \pkg{lme4}'s \code{lmer} function is slightly less general than the model described by Equations~\ref{eq:LMMcondY}, \ref{eq:LMMuncondB}, and \ref{eq:relcovfac}. To take advantage of the entire range of possibilities, one may use the modular functions (Sections~\ref{sec:modular} and Appendix~\ref{sec:modularExamples}) or explore the experimental \pkg{flexLambda} branch of \pkg{lme4} on \github. \end{itemize} \subsection{Example} \label{sec:sleepstudy} Throughout our discussion of \pkg{lme4}, we will work with a data set on the average reaction time per day for subjects in a sleep deprivation study \citep{sleepstudy}. On day 0 the subjects had their normal amount of sleep. Starting that night they were restricted to 3 hours of sleep per night. The response variable, \code{Reaction}, represents average reaction times in milliseconds (ms) on a series of tests given each \code{Day} to each \code{Subject} (Figure~\ref{fig:sleepPlot}), % <>= str(sleepstudy) @ <>= ## BMB: seemed more pleasing to arrange by increasing slope rather than ## intercept ... xyplot(Reaction ~ Days | Subject, sleepstudy, aspect = "xy", layout = c(9, 2), type = c("g", "p", "r"), index.cond = function(x, y) coef(lm(y ~ x))[2], xlab = "Days of sleep deprivation", ylab = "Average reaction time (ms)", as.table = TRUE) @ % | Each subject's reaction time increases approximately linearly with the number of sleep-deprived days. However, subjects also appear to vary in the slopes and intercepts of these relationships, which suggests a model with random slopes and intercepts. As we shall see, such a model may be fitted by minimizing the REML criterion (Equation~\ref{eq:REMLdeviance}) using <>= fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) @ % | The estimates of the standard deviations of the random effects for the intercept and the slope are \Sexpr{round(sqrt(VarCorr(fm1)$Subject[1,1]), 2)} ms % $ and \Sexpr{round(sqrt(VarCorr(fm1)$Subject[2,2]), 2)} ms/day. % $ The fixed-effects coefficients, $\betavec$, are \Sexpr{round(fixef(fm1)[1], 1)} ms and \Sexpr{round(fixef(fm1)[2], 2)} ms/day for the intercept and slope. In this model, one interpretation of these fixed effects is that they are the estimated population mean values of the random intercept and slope (Section~\ref{sec:intuitiveFormulas}). We have chosen the \code{sleepstudy} example because it is a relatively small and simple example to illustrate the theory and practice underlying \code{lmer}. However, \code{lmer} is capable of fitting more complex mixed models to larger data sets. For example, we direct the interested reader to \code{RShowDoc("lmerperf", package = "lme4")} for examples that more thoroughly exercise the performance capabilities of \code{lmer}. \subsection{High-level modular structure} \label{sec:modular} The \code{lmer} function is composed of four largely independent modules. In the first module, a mixed-model formula is parsed and converted into the inputs required to specify a linear mixed model (Section~\ref{sec:lFormula}). The second module uses these inputs to construct an \proglang{R} function which takes the covariance parameters, $\bm\theta$, as arguments and returns negative twice the log profiled likelihood or the REML criterion (Section~\ref{sec:mkLmerDevfun}). The third module optimizes this objective function to produce maximum likelihood (ML) or REML estimates of $\bm\theta$ (Section~\ref{sec:optimizeLmer}). Finally, the fourth module provides utilities for interpreting the optimized model (Section~\ref{sec:mkMerMod}). \begin{table}[tb] \centering \begin{tabular}{lllp{2.1in}} \hline Module & & \proglang{R} function & Description \\ \hline Formula module & (Section~\ref{sec:lFormula}) & \code{lFormula} & Accepts a mixed-model formula, data, and other user inputs, and returns a list of objects required to fit a linear mixed model. \\ Objective function module & (Section~\ref{sec:mkLmerDevfun}) & \code{mkLmerDevfun} & Accepts the results of \code{lFormula} and returns a function to calculate the deviance (or restricted deviance) as a function of the covariance parameters, $\bm\theta$.\\ Optimization module & (Section~\ref{sec:optimizeLmer}) & \code{optimizeLmer} & Accepts a deviance function returned by \code{mkLmerDevfun} and returns the results of the optimization of that deviance function. \\ Output module & (Section~\ref{sec:mkMerMod}) & \code{mkMerMod} & Accepts an optimized deviance function and packages the results into a useful object. \\ \hline \end{tabular} \caption{The high-level modular structure of \code{lmer}.} \label{tab:modular} \end{table} To illustrate this modularity, we recreate the \code{fm1} object by a series of four modular steps; the formula module, <>= parsedFormula <- lFormula(formula = Reaction ~ Days + (Days | Subject), data = sleepstudy) @ the objective function module, <>= devianceFunction <- do.call(mkLmerDevfun, parsedFormula) @ the optimization module, <>= optimizerOutput <- optimizeLmer(devianceFunction) @ and the output module, <>= mkMerMod( rho = environment(devianceFunction), opt = optimizerOutput, reTrms = parsedFormula$reTrms, fr = parsedFormula$fr) @ % | \section{Formula module} \label{sec:lFormula} \subsection{Mixed-model formulas} \label{sec:formulas} Like most model-fitting functions in \proglang{R}, \code{lmer} takes as its first two arguments a \emph{formula} specifying the model and the \emph{data} with which to evaluate the formula. This second argument, \code{data}, is optional but recommended and is usually the name of an \proglang{R} data frame. In the \proglang{R} \code{lm} function for fitting linear models, formulas take the form \verb+resp ~ expr+, where \code{resp} determines the response variable and \code{expr} is an expression that specifies the columns of the model matrix. Formulas for the \code{lmer} function contain special random-effects terms, <>= resp ~ FEexpr + (REexpr1 | factor1) + (REexpr2 | factor2) + ... @ where \code{FEexpr} is an expression determining the columns of the fixed-effects model matrix, $\bm X$, and the random-effects terms, \code{(REexpr1 | factor1)} and \code{(REexpr2 | factor2)}, determine both the random-effects model matrix, $\bm Z$ (Section~\ref{sec:mkZ}), and the structure of the relative covariance factor, $\bLt$ (Section~\ref{sec:mkLambdat}). In principle, a mixed-model formula may contain arbitrarily many random-effects terms, but in practice the number of such terms is typically low. \subsection{Understanding mixed-model formulas} \label{sec:intuitiveFormulas} Before describing the details of how \pkg{lme4} parses mixed-model formulas (Section~\ref{sec:LMMmatrix}), we provide an informal explanation and then some examples. Our discussion assumes familiarity with the standard \proglang{R} modeling paradigm \citep{Chambers:1993}. Each random-effects term is of the form \code{(expr | factor)}. The expression \code{expr} is evaluated as a linear model formula, producing a model matrix following the same rules used in standard \proglang{R} modeling functions (e.g., \code{lm} or \code{glm}). The expression \code{factor} is evaluated as an \proglang{R} factor. One way to think about the vertical bar operator is as a special kind of interaction between the model matrix and the grouping factor. This interaction ensures that the columns of the model matrix have different effects for each level of the grouping factor. What makes this a special kind of interaction is that these effects are modeled as unobserved random variables, rather than unknown fixed parameters. Much has been written about important practical and philosophical differences between these two types of interactions \citep[e.g., ][]{henderson_1982,gelman2005analysis}. For example, the random-effects implementation of such interactions can be used to obtain shrinkage estimates of regression coefficients \citep[e.g., ][]{1977EfronAndMorris}, or account for lack of independence in the residuals due to block structure or repeated measurements \citep[e.g., ][]{laird_ware_1982}. Table~\ref{tab:formulas} provides several examples of the right-hand-sides of mixed-model formulas. The first example, \code{(1 | g)}, % | is the simplest possible mixed-model formula, where each level of the grouping factor, \code{g}, has its own random intercept. The mean and standard deviation of these intercepts are parameters to be estimated. Our description of this model incorporates any nonzero mean of the random effects as fixed-effects parameters. If one wishes to specify that a random intercept has \emph{a priori} known means, one may use the \code{offset} function as in the second model in Table~\ref{tab:formulas}. This model contains no fixed effects, or more accurately the fixed-effects model matrix, $\bm X$, has zero columns and $\bm\beta$ has length zero. \begin{table}[tb] \centering \begin{tabular}{llP{1.5in}} %% see new column type for ragged right \hline Formula & Alternative & Meaning \\ \hline%------------------------------------------------ \code{(1 | g)} & \code{1 + (1 | g)} & Random intercept with fixed mean. \\ \code{0 + offset(o) + (1 | g)} & \code{-1 + offset(o) + (1 | g)} & Random intercept with \emph{a priori} means. \\ \code{(1 | g1/g2)} & \code{(1 | g1)+(1 | g1:g2)} % | & Intercept varying among \code{g1} and \code{g2} within \code{g1}. \\ \code{(1 | g1) + (1 | g2)} & \code{1 + (1 | g1) + (1 | g2)}. & Intercept varying among \code{g1} and \code{g2}. \\ \code{x + (x | g)} & \code{1 + x + (1 + x | g)} & Correlated random intercept and slope. \\ \code{x + (x || g)} & \code{1 + x + (1 | g) + (0 + x | g)} & Uncorrelated random intercept and slope. \\ \hline \end{tabular} \caption{Examples of the right-hand-sides of mixed-effects model formulas. The names of grouping factors are denoted \code{g}, \code{g1}, and \code{g2}, and covariates and \emph{a priori} known offsets as \code{x} and \code{o}.} \label{tab:formulas} \end{table} We may also construct models with multiple grouping factors. For example, if the observations are grouped by \code{g2}, which is nested within \code{g1}, then the third formula in Table \ref{tab:formulas} can be used to model variation in the intercept. A common objective in mixed modeling is to account for such nested (or hierarchical) structure. However, one of the most useful aspects of \pkg{lme4} is that it can be used to fit random effects associated with non-nested grouping factors. For example, suppose the data are grouped by fully crossing two factors, \code{g1} and \code{g2}, then the fourth formula in Table \ref{tab:formulas} may be used. Such models are common in item response theory, where \code{subject} and \code{item} factors are fully crossed \citep{doran2007estimating}. In addition to varying intercepts, we may also have varying slopes (e.g., the \code{sleepstudy} data, Section~\ref{sec:sleepstudy}). The fifth example in Table~\ref{tab:formulas} gives a model where both the intercept and slope vary among the levels of the grouping factor. \subsubsection{Specifying uncorrelated random effects} \label{sec:uncor} By default, \pkg{lme4} assumes that all coefficients associated with the same random-effects term are correlated. To specify an uncorrelated slope and intercept (for example), one may either use double-bar notation, \code{(x || g)}, or equivalently use multiple random-effects terms, \code{x + (1 | g) + (0 + x | g)}, as in the final example of Table~\ref{tab:formulas}. For example, if one examined the results of model \code{fm1} of the \code{sleepstudy} data (Section~\ref{sec:sleepstudy}) using \code{summary(fm1)}, one would see that the estimated correlation between the slope for \code{Days} and the intercept is fairly low (\Sexpr{round(attr(VarCorr(fm1)$Subject, "correlation")[2],3)}) % $ (See Section~\ref{sec:summary} below for more on how to extract the random-effects covariance matrix.) We may use double-bar notation to fit a model that excludes a correlation parameter: <>= fm2 <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy) @ Although mixed models where the random slopes and intercepts are assumed independent are commonly used to reduce the complexity of random-slopes models, they do have one subtle drawback. Models in which the slopes and intercepts are allowed to have a nonzero correlation (e.g., \code{fm1}) are invariant to additive shifts of the continuous predictor (\code{Days} in this case). This invariance breaks down when the correlation is constrained to zero; any shift in the predictor will necessarily lead to a change in the estimated correlation, and in the likelihood and predictions of the model. For example, we can eliminate the correlation in \code{fm1} simply by adding an amount equal to the ratio of the estimated among-subject standard deviations multiplied by the estimated correlation (i.e., $\sigma_{\text{\small slope}}/\sigma_{\text{\small intercept}} \cdot \rho_{\text{\small slope:intercept}}$) to the \code{Days} variable. The use of models such as \code{fm2} should ideally be restricted to cases where the predictor is measured on a ratio scale (i.e., the zero point on the scale is meaningful, not just a location defined by convenience or convention), as is the case here. %% <>= %% sleepstudyShift <- within(sleepstudy, { %% Days <- Days + (24.74*0.07)/5.92 }) %% lmer(Reaction ~ Days + (Days | Subject), sleepstudyShift) %% @ \subsection{Algebraic and computational account of mixed-model formulas} \label{sec:LMMmatrix} The fixed-effects terms of a mixed-model formula are parsed to produce the fixed-effects model matrix, $\bm X$, in the same way that the \proglang{R} \code{lm} function generates model matrices. However, a mixed-model formula incorporates $k\ge1$ random-effects terms of the form \code{(r | f)} as well. % | These $k$ terms are used to produce the random-effects model matrix, $\bm Z$ (Equation~\ref{eq:LMMcondY}; Section~\ref{sec:mkZ}), and the structure of the relative covariance factor, $\bLt$ (Equation~\ref{eq:relcovfac}; Section~\ref{sec:mkLambdat}), which are matrices that typically have a sparse structure. We now describe how one might construct these matrices from the random-effects terms, considering first a single term, \code{(r | f)}, % | and then generalizing to multiple terms. Tables~\ref{tab:dim} and \ref{tab:algebraic} summarize the matrices and vectors that determine the structure of $\bm Z$ and $\bLt$. \begin{table}[tb] \centering \begin{tabular}{lll} \hline Symbol & Size \\ \hline $n$ & Length of the response vector, $\mc{Y}$ \\ $p$ & Number of columns of fixed-effects model matrix, $\bm X$ \\ $q = \sum_i^k q_i$ & Number of columns of random-effects model matrix, $\bm Z$ \\ $p_i$ & Number of columns of the raw model matrix, $\bm X_i$ \\ $\ell_i$ & Number of levels of the grouping factor indices, $\bm i_i$ \\ $q_i = p_i\ell_i$ & Number of columns of the term-wise model matrix, $\bm Z_i$ \\ $k$ & Number of random-effects terms \\ $m_i = \binom{p_i+1}{2}$ & Number of covariance parameters for term $i$ \\ $m = \sum_i^k m_i$ & Total number of covariance parameters \\ \hline \end{tabular} \caption{Dimensions of linear mixed models. The subscript $i = 1, \dots, k$ denotes a specific random-effects term.} \label{tab:dim} \end{table} \begin{table}[tb] \centering \begin{tabular}{lll} \hline Symbol & Size & Description \\ \hline $\bm X_i$ & $n\times p_i$ & Raw random-effects model matrix \\ $\bm J_i$ & $n\times \ell_i$ & Indicator matrix of grouping factor indices\\ $\bm X_{ij}$ & $p_i\times 1$ & Column vector containing $j$th row of $\bm X_i$ \\ $\bm J_{ij}$ & $\ell_i\times 1$ & Column vector containing $j$th row of $\bm J_i$ \\ $\bm i_i$ & $n$ & Vector of grouping factor indices \\ $\bm Z_i$ & $n\times q_i$ & Term-wise random-effects model matrix \\ $\bm\theta$ & $m$ & Covariance parameters \\ $\bm T_i$ & $p_i\times p_i$ & Lower triangular template matrix \\ $\bm\Lambda_i$ & $q_i\times q_i$ & Term-wise relative covariance factor \\ \hline \end{tabular} \caption{Symbols used to describe the structure of the random-effects model matrix and the relative covariance factor. The subscript $i = 1, \dots, k$ denotes a specific random-effects term.} \label{tab:algebraic} \end{table} The expression, \code{r}, is a linear model formula that evaluates to an \proglang{R} model matrix, $\bm X_i$, of size $n\times p_i$, called the \emph{raw random-effects model matrix} for term $i$. A term is said to be a \emph{scalar} random-effects term when $p_i=1$, otherwise it is \emph{vector-valued}. For a \emph{simple, scalar} random-effects term of the form \code{(1 | f)}, $\bm X_i$ is the % | $n\times 1$ matrix of ones, which implies a random intercept model. The expression \code{f} evaluates to an \proglang{R} factor, called the \emph{grouping factor}, for the term. For the $i$th term, we represent this factor mathematically with a vector $\bm i_i$ of \emph{factor indices}, which is an $n$-vector of values from $1,\dots,\ell_i$.\footnote{In practice, fixed-effects model matrices and random-effects terms are evaluated with respect to a \emph{model frame}, ensuring that any expressions for grouping factors have been coerced to factors and any unused levels of these factors have been dropped. That is, $\ell_i$, the number of levels in the grouping factor for the $i$th random-effects term, is well-defined.} Let $\bm J_i$ be the $n\times \ell_i$ matrix of indicator columns for $\bm i_i$. Using the \pkg{Matrix} package \citep{Matrix_pkg} in \proglang{R}, we may construct the transpose of $\bm J_i$ from a factor vector, \code{f}, by coercing \code{f} to a `\code{sparseMatrix}' object. For example, <>= set.seed(2) @ <>= (f <- gl(3, 2)) (Ji <- t(as(f, Class = "sparseMatrix"))) @ When $k>1$ we order the random-effects terms so that $\ell_1\ge\ell_2\ge\dots\ge\ell_k$; in general, this ordering reduces ``fill-in'' (i.e., the proportion of elements that are zero in the lower triangle of $\bLt\trans\bm Z\trans\bm W\bm Z\bLt+\bm I$ but not in the lower triangle of its left Cholesky factor, $\bm L_{\bm\theta}$, described below in Equation~\ref{eq:blockCholeskyDecomp}). This reduction in fill-in provides more efficient matrix operations within the penalized least squares algorithm (Section~\ref{sec:plsMath}). \subsubsection{Constructing the random-effects model matrix} \label{sec:mkZ} The $i$th random-effects term contributes $q_i=\ell_ip_i$ columns to the model matrix $\bm Z$. We group these columns into a matrix, $\bm Z_i$, which we refer to as the \emph{term-wise model matrix} for the $i$th term. Thus $q$, the number of columns in $\bm Z$ and the dimension of the random variable, $\mc{B}$, is \begin{equation} \label{eq:qcalc} q=\sum_{i=1}^k q_i = \sum_{i=1}^k \ell_i\,p_i . \end{equation} Creating the matrix $\bm Z_i$ from $\bm X_i$ and $\bm J_i$ is a straightforward concept that is, nonetheless, somewhat awkward to describe. Consider $\bm Z_i$ as being further decomposed into $\ell_i$ blocks of $p_i$ columns. The rows in the first block are the rows of $\bm X_i$ multiplied by the 0/1 values in the first column of $\bm J_i$ and similarly for the subsequent blocks. With these definitions we may define the term-wise random-effects model matrix, $\bm Z_i$, for the $i$th term as a transposed Khatri-Rao product, \begin{equation} \label{eq:Zi} \bm Z_i = (\bm J_i\trans * \bm X_i\trans)\trans = \begin{bmatrix} \bm J_{i1}\trans \otimes \bm X_{i1}\trans \\ \bm J_{i2}\trans \otimes \bm X_{i2}\trans \\ \vdots \\ \bm J_{in}\trans \otimes \bm X_{in}\trans \\ \end{bmatrix}, \end{equation} where $*$ and $\otimes$ are the Khatri-Rao\footnote{Note that the original definition of the Khatri-Rao product is more general than the definition used in the \pkg{Matrix} package, which is the definition we use here.} \citep{khatri1968solutions} and Kronecker products, and $\bm J_{ij}\trans$ and $\bm X_{ij}\trans$ are row vectors of the $j$th rows of $\bm J_i$ and $\bm X_i$. These rows correspond to the $j$th sample in the response vector, $\mc Y$, and thus $j$ runs from $1, \dots, n$. The \pkg{Matrix} package for \proglang{R} contains a \code{KhatriRao} function, which can be used to form $\bm Z_i$. For example, if we begin with a raw model matrix, <>= (Xi <- cbind(1, rep.int(c(-1, 1), 3L))) @ then the term-wise random-effects model matrix is, <>= (Zi <- t(KhatriRao(t(Ji), t(Xi)))) @ <>= ## alternative formulation of Zi (eq:Zi) rbind( Ji[1,] %x% Xi[1,], Ji[2,] %x% Xi[2,], Ji[3,] %x% Xi[3,], Ji[4,] %x% Xi[4,], Ji[5,] %x% Xi[5,], Ji[6,] %x% Xi[6,]) @ In particular, for a simple, scalar term, $\bm Z_i$ is exactly $\bm J_i$, the matrix of indicator columns. For other scalar terms, $\bm Z_i$ is formed by element-wise multiplication of the single column of $\bm X_i$ by each of the columns of $\bm J_i$. Because each $\bm Z_i$ is generated from indicator columns, its cross-product, $\bm Z_i\trans\bm Z_i$ is block-diagonal consisting of $\ell_i$ diagonal blocks each of size $p_i$.\footnote{To see this, note that by the properties of Kronecker products we may write the cross-product matrix $Z_i\trans Z_i$ as $\sum_{j=1}^n \bm J_{ij} \bm J_{ij}\trans \otimes \bm X_{ij} \bm X_{ij}\trans$. Because $\bm J_{ij}$ is a unit vector along a coordinate axis, the cross-product $\bm J_{ij} \bm J_{ij}\trans$ is a $p_i\times p_i$ matrix of all zeros except for a single $1$ along the diagonal. Therefore, the cross-products, $\bm X_{ij} \bm X_{ij}\trans$, will be added to one of the $\ell_i$ blocks of size $p_i\times p_i$ along the diagonal of $Z_i\trans Z_i$.} Note that this means that when $k=1$ (i.e., there is only one random-effects term, and $\bm Z_i = \bm Z$), $\bm Z\trans\bm Z$ will be block diagonal. These block-diagonal properties allow for more efficient sparse matrix computations (Section~\ref{sec:CSCmats}). The full random-effects model matrix, $\bm Z$, is constructed from $k\ge 1$ blocks, \begin{equation} \label{eq:Z} \bm Z = \begin{bmatrix} \bm Z_1 & \bm Z_2 & \hdots & \bm Z_k \\ \end{bmatrix}. \end{equation} By transposing Equation~\ref{eq:Z} and substituting in Equation~\ref{eq:Zi}, we may represent the structure of the transposed random-effects model matrix as follows, \begin{equation} \label{eq:Zt} \bm Z\trans = \begin{blockarray}{ccccc} \text{sample 1} & \text{sample 2} & \hdots & \text{sample } n & \\ \begin{block}{[cccc]c} \bm J_{11} \otimes \bm X_{11} & \bm J_{12} \otimes \bm X_{12} & \hdots & \bm J_{1n} \otimes \bm X_{1n} & \text{term 1} \\ \bm J_{21} \otimes \bm X_{21} & \bm J_{22} \otimes \bm X_{22} & \hdots & \bm J_{2n} \otimes \bm X_{2n} & \text{term 2} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \end{block} \end{blockarray}. \end{equation} Note that the proportion of elements of $Z\trans$ that are structural zeros is \begin{equation} \label{eq:ZtSparsity} \frac{\sum_{i=1}^k p_i(\ell_i - 1)}{\sum_{i=1}^k p_i} \qquad . \end{equation} Therefore, the sparsity of $\bm Z\trans$ increases with the number of grouping factor levels. As the number of levels is often large in practice, it is essential for speed and efficiency to take account of this sparsity, for example by using sparse matrix methods, when fitting mixed models (Section~\ref{sec:CSCmats}). \subsubsection{Constructing the relative covariance factor} \label{sec:mkLambdat} The $q\times q$ covariance factor, $\bLt$, is a block diagonal matrix whose $i$th diagonal block, $\bm\Lambda_i$, is of size $q_i,i=1,\dots,k$. We refer to $\bm\Lambda_i$ as the \emph{term-wise relative covariance factor}. Furthermore, $\bm\Lambda_i$ is a homogeneous block diagonal matrix with each of the $\ell_i$ lower-triangular blocks on the diagonal being a copy of a $p_i\times p_i$ lower-triangular \emph{template matrix}, $\bm T_i$. The covariance parameter vector, $\bm\theta$, of length $m_i =\binom{p_i+1}{2}$, consists of the elements in the lower triangle of $\bm T_i,i=1,\dots,k$. To provide a unique representation we require that the diagonal elements of the $\bm T_i,i=1,\dots,k$ be non-negative. The template, $\bm T_i$, can be constructed from the number $p_i$ alone. In \proglang{R} code we denote $p_i$ as \code{nc}. For example, if we set \code{nc <- 3}\Sexpr{nc <- 3}, we could create the template for term $i$ as, <>= nc <- 3 @ %% sequence() is equivalent to unlist(lapply(nvec, seq_len)) %% and (?sequence) ``mainly exists in reverence to the very early history of R'' %% scw: i like sequence, and in fact i never understood why that %% statement is there in the help file. <