Amelia/0000755000176200001440000000000014713260072011444 5ustar liggesusersAmelia/tests/0000755000176200001440000000000014522321570012605 5ustar liggesusersAmelia/tests/bounds.R0000644000176200001440000000062314335240021014214 0ustar liggesuserslibrary(Amelia) data(freetrade) bds <- matrix(c(3, 30, 32), nrow = 1, ncol = 3) set.seed(12345) a.out.bds <- amelia(freetrade, ts = "year", cs = "country", bounds = bds, max.resample = 10, p2s = 0) out <- range(a.out.bds$imputations$imp1[is.na(freetrade[,3]),3]) if (out[1] < 30) { stop("lower bounds not working") } if (out[2] > 32) { stop("upper bounds not working") } Amelia/tests/overimp.R0000644000176200001440000000035614335240021014406 0ustar liggesuserslibrary(Amelia) data(africa) af2 <- na.omit(africa) oi <- matrix(c(1:10,rep(4, 10)), nrow = 10) a.out <- amelia(af2, cs = 2, overimp = oi) if (a.out$imputations[[1]][1,4] == a.out$imputations[[2]][1,4]) { stop("overimp is broken") } Amelia/tests/moPrep-test.R0000644000176200001440000000026514335240021015143 0ustar liggesuserslibrary(Amelia) x <- rnorm(100) s <- x + rnorm(100, 0, 0.1) vv <- rep(0.1^2/var(s), 100) df <- data.frame(x, s) mop <- moPrep(df,s ~ s,error.proportion = vv) a.out <- amelia(mop) Amelia/.Rinstignore0000644000176200001440000000002614335240021013736 0ustar liggesusersMakefile doc/.*[.]png$Amelia/MD50000644000176200001440000001316214713260072011757 0ustar liggesusers4f7d78599b0387c1ef076cd120323546 *DESCRIPTION e57d22d34f32a55b109ad971cde0e566 *NAMESPACE de0c286af910e1c1051b337523357bdf *NEWS f5e54746b65a49c7b3508dec6037025e *R/amcheck.r e509d901e7a72fc25027e8d53e310263 *R/amelia-package.R 6486808378b5f911555421259520f678 *R/ameliagui.r 6b5c4d33ef7340d85b9ccacc2db0bbae *R/combine.R 5ada186c4ff00ea658b6f1699a4bc97e *R/diag.r e730fc24fb7cb65a8428585111ba705b *R/emb.r aaa91207b7b35b6282675101f29fbb57 *R/missmap.R c1d9c2c6c97c836eb5e6ace99c467be2 *R/mo.R 93bc0d9c8a961979d55be6194c36312f *R/plot.amelia.R beb2344cfe1a0ab123193a00823d5103 *R/prep.r d5f644e2e2728a64f5e217a2d69ac318 *R/print.amelia.R 8423cb6dc20ca96865f07657b71b8506 *R/summary.amelia.R 2a6695603158a74c81e846709b30d12e *R/summary.mi.R 94ca6c1cc5486ad9e2a1f5e9da042229 *R/transform.amelia.R 40724c6f4b3cfd836f81c3002fb15810 *R/with.R 97778e99fe976fae0a884424586b7c54 *R/write.amelia.R d48d95b9df424494d5a007c7b2db0c95 *R/zzz.R 4606c8182d8212c717a4509be73e4898 *README.md b52aabe9a2757fc86742763db9dafc9b *build/partial.rdb a6b9db9d30c8e4e81ab733e78fd96452 *build/vignette.rds 86a9ede313e30b97b574185b484ffeea *data/africa.RData 05fc570eaae49e085a4f7e47edd69528 *data/freetrade.RData 17c3311711286117566d87d9babd4984 *inst/CITATION 34c3b909fad852edcfc786db278fbfb6 *inst/doc/ameliaview.R eb6e3522db295745308d91497b419279 *inst/doc/ameliaview.Rmd 05728ffecf5a36a274a9c3a9116b080e *inst/doc/ameliaview.html c72c5427e945afd47259dd12b037d5c4 *inst/doc/diagnostics.R 048cf04b72ce93ec709b1accb3b33063 *inst/doc/diagnostics.Rmd 5625bdf41dd0d06cc5443ae54d7b0d8d *inst/doc/diagnostics.html e4f6ec85f55c9cbc51e27b4a765d8e68 *inst/doc/intro-mi.R d5d0e50380f32fa2120dab848311aa7a *inst/doc/intro-mi.Rmd 68930bde8707e71d17adffc69eb6ed48 *inst/doc/intro-mi.html ade4e767074c762f07bee63b747da311 *inst/doc/using-amelia.R d68b3f597be3f5eed8ded99a264142d4 *inst/doc/using-amelia.Rmd 5189f6e7573feb43795e3194e76c37fa *inst/doc/using-amelia.html 04f6681a198ff53c82fd817af394eeda *inst/gui/action_go.gif 77065468f34e1ca5cc157a1b2981c717 *inst/gui/action_save.gif ed7fc633e7eee3181358f1952e6431d2 *inst/gui/action_stop.gif d385c634a375c5f8c298cd9574814274 *inst/gui/amelia.ico 53276025c89eb6d7dff9625c46d196b4 *inst/gui/arrow_down.gif f816544708aa47cc40a5f91c2dac6b76 *inst/gui/arrow_left.gif 639e1bd5c6199c1bb2717584c02b23ef *inst/gui/arrow_up.gif fddd644d7e138851617e74129a81f0ba *inst/gui/flag_red.gif 907670afe1f918ca79a8db365b318078 *inst/gui/gallery19.gif 470d00d4916dcbe93dab7535c8e8d142 *inst/gui/gallery19.jpg 2af148c94b46dccc06e9712854cbcd45 *inst/gui/histogram.gif 757fe8b8a3f26f8f41d071177e9d7ddd *inst/gui/icon_accept.gif f71383c993e0db3d6346d357132b4d1c *inst/gui/icon_clock.gif ac1cd0acbd38d8c313a30377b20739f2 *inst/gui/icon_user.gif 04ff1a5f927b484b66490a86727f18f2 *inst/gui/icon_world.gif 842455e3c2d9400175989bd758f7dec6 *inst/gui/page-R.gif 6db924002cba272c16a9471f79481e35 *inst/gui/page.gif a27c9dcaf1017d207f14665d4471a963 *inst/gui/page_dta.gif 4398dfe1046619f9d19475a2c38c69a6 *inst/gui/page_edit.gif a5c4257dd8d5e6de887bc4eab2448c9b *inst/gui/page_sas.gif 634f55072485ebdb671435811c2fed68 *inst/gui/page_spss.gif edc79234c547cf5bf3b55693053108e2 *inst/gui/page_text.gif 112732b1f75170ce72cf5dfd162481c8 *inst/gui/page_up.gif 9b97c9abda11ed64b980f4991685b1ff *inst/gui/table.gif 21f7d8554e24a693e7ba050c731a145f *inst/test/transform.R 988f65f8ee2b31c5a00999ecf1d04f23 *man/Amelia-package.Rd 37d30ad4633f2bd750f9681666083607 *man/AmeliaView.Rd 5c636f4f8b4e41f10666cf4b5b0e25f8 *man/africa.Rd c647c93f1bdcf3f967c50066497b1bf4 *man/amelia.Rd 517f1a046fb8381e5ab0a09efa077b16 *man/ameliabind.Rd 2daa2439c070d3ad834b4b1ec0603910 *man/combine.output.Rd f630487089b23c2089ba3193ab0adccb *man/compare.density.Rd 926d5d0d856e86712af0cdf7c2c41e41 *man/disperse.Rd 91ba5fa3642915466ca440d03511e61d *man/freetrade.Rd 618a748006de2e6f7837e423257d4c6a *man/mi.combine.Rd eab7586a6c1ca1ffa2267f3c5c87d083 *man/mi.meld.Rd e24b9595aa9f18328559c9c5dae26e1c *man/missmap.Rd fc309e2c554ffc33d52340551af6241a *man/moPrep.Rd 1363d91f1ac070f3b464ba12bf3a3ae8 *man/overimpute.Rd 087120fe131debe34f7700f8cfe3aef1 *man/plot.amelia.Rd b3f7b3973c452751be2c80cdb8c39166 *man/summary.amelia.Rd 1344a355ebfbd5c2ec8fdfb47fd34b47 *man/summary.mi.Rd 2b927957d4fd099aa81c128bea9ede23 *man/transform.amelia.Rd d4f279647a692fbd491049bc91b37965 *man/tscsPlot.Rd 9eb89292cfc154b5d478070c92d89943 *man/with.amelia.Rd c897858da94ee677bec630f0a3b2860d *man/write.amelia.Rd bcc42aaeb0a69ec1b279b42021751d66 *src/Makevars 0ddd28eb5b06d3d3c650d26e07b49a77 *src/Makevars.win 90e42272c14f24c47ccdae51eb889c89 *src/em.cpp c182effc109e2371c85015878e59f43f *src/em.h f42ee4edaf7a27d96aeb454f0887c8d2 *src/init.c 49a08d3c220b13d6bb55139d0615d080 *tests/bounds.R 5dfe660e79eb80bf7df9025a1809c7f9 *tests/moPrep-test.R d9aa3f50a48e1f323bcc88ffaad521ad *tests/overimp.R a16cb353877c2cf9c65b1b7019186716 *vignettes/amelia.bib eb6e3522db295745308d91497b419279 *vignettes/ameliaview.Rmd 6a015f587490c597c73e60a6abc58893 *vignettes/assets/context-menu.png a0893936798fff3451ac84696449742b *vignettes/assets/diag.png 03b5316759c7db0f6f2fbd8bb05cab33 *vignettes/assets/distpri.png 4a083b51939f02226d5b2d759bb17f1e *vignettes/assets/import.png c434b1666c1626126595266901cec454 *vignettes/assets/main.png 611b6871ea799cbe5896c533854c83e6 *vignettes/assets/numopts.png 98ba2f512146d27e3a5222d7ace6bf2c *vignettes/assets/options.png c4a528350c2ac0070dd137cef96a6bc1 *vignettes/assets/output-log.png 2da68f633c3407c925324b7a31286f28 *vignettes/assets/rangepri.png 5752c8903e98aba503265a10e089701c *vignettes/assets/splash.png 048cf04b72ce93ec709b1accb3b33063 *vignettes/diagnostics.Rmd d5d0e50380f32fa2120dab848311aa7a *vignettes/intro-mi.Rmd d68b3f597be3f5eed8ded99a264142d4 *vignettes/using-amelia.Rmd Amelia/R/0000755000176200001440000000000014522322367011651 5ustar liggesusersAmelia/R/transform.amelia.R0000644000176200001440000000347414335240021015232 0ustar liggesusers #' Transform imputed datasets from Amelia objects #' #' Updates the imputed datasets from an \code{amelia} output #' with the specified transformations. #' #' @param _data an object of class "amelia"; typically output from the #' function \code{amelia}. #' @param ... further arguments of the form \code{tag = value}. #' #' @details #' The \code{\dots} arugments to \code{transform.amelia} are #' expressions of the form \code{tag = value}, where \code{tag} is the #' variable that is being updated or created and \code{value} is an #' expression that is a function of the variables in the imputed #' datasets. For instance, if you wanted to create an interaction of two #' imputed variables, you could have one argument be \code{intervar = #' var1 * var2}. This would either update the current variable #' \code{intervar} in the imputed data or append a new variable called #' \code{intervar} to the imputed datasets. #' #' @return #' An object of class \code{amelia} with its \code{imputations} and #' \code{missMatrix} values updated according to the transformations. In #' addition, each of the calls to \code{transform.amelia} are stored in #' #' @seealso \code{\link{transform}} transform.amelia <- function(`_data`, ...) { tcall <- match.call(expand.dots = TRUE) if (is.null(`_data`$transform.calls)) { `_data`$transform.calls <- list(tcall) } else { `_data`$transform.calls <- c(`_data`$transform.calls, tcall) } tcall[[1]] <- as.name("transform") names(tcall)[2] <- "" m <- length(`_data`$imputation) orig.data <- remove.imputations(`_data`) tcall[[2]] <- orig.data new.miss.matrix <- as.matrix(is.na(eval.parent(tcall))) for (i in 1:m) { tcall[[2]] <- `_data`$imputations[[i]] `_data`$imputations[[i]] <- eval.parent(tcall) } `_data`$missMatrix <- new.miss.matrix return(`_data`) } Amelia/R/prep.r0000644000176200001440000007146414605545131013014 0ustar liggesusers## ## prep.r ## ## Various routines for transforming the original data to the imputation model, ## and reverting back to the format of the original data ## 28/04/06 mb functions extracted from emb.r to prep.r ## 29/04/06 jh revised unsubset for memory issues ## 04/05/06 mb moved parameter vs. observation check to the end of prep. ## 18/05/06 mb 'ords' unsubset fixed to have range of original values ## 15/06/06 jh revised "generatepriors" ## 26/06/06 mb fixed archive to work with session loading. ## 27/06/06 mb amelia.prep accepts, checks, and processes 'arglist' ## 27/07/06 mb amsubset changes from dataframe to matrix after subsetting to ## avoid eating it on strings. ## 02/08/06 mb frame.to.matrix now converts chars to either factors (cs,noms) ## or junk (idvars). added to subset/unsubset (ignore last update). ## 02/08/06 mb fixed bug where polytime=0 would make for odd behaviour/crashing ## 11/09/06 mb fixed bug in unsubset: 'index' too long to subset w/o 'which' ## 18/10/06 mb incorporated confidence levels into generating priors ## 20/10/06 mb new format for priors ## 13/12/06 mb indiv. obs priors get priority in generatepriors ## 28/03/07 jh added empri to prepped$archv, modified construction of timevars ## 10/05/07 mb logs now adds 1 instead of "epsilon" to avoid strange imputations. ## fixed blanks problems when no priors specified. ## 11/05/07 mb added "combine.output" to combine multiple amelia outputs ## 15/08/07 jh modified construction of timevars ## 14/09/07 mb added 'bounds' support ## 22/07/08 mb - good coding update: T->TRUE/F->FALSE ## 27/03/10 jh added spline basis functions, changed "polynomials" matrix to instance of "timebasis" nametonumber <- function(x, ts, cs, idvars, noms, ords, logs, sqrts, lgstc, lags, leads) { listconvert <- function(opt) { junk.seq <- 1:ncol(x) junk.names <- dimnames(x)[[2]] for (i in 1:length(opt)) { mat <- opt[i] == junk.names if (sum(mat) == 0) return(NA) opt[i] <- junk.seq[mat] } return(as.numeric(opt)) } code<-0 mess<-paste("One of the variable names in the options list does not match a variable name in the data.") if (inherits(ts, "character")) ts <- listconvert(ts) if (inherits(cs, "character")) cs <- listconvert(cs) if (inherits(idvars, "character")) idvars <- listconvert(idvars) if (inherits(noms, "character")) noms <- listconvert(noms) if (inherits(ords, "character")) ords <- listconvert(ords) if (inherits(logs, "character")) logs <- listconvert(logs) if (inherits(sqrts, "character")) sqrts <- listconvert(sqrts) if (inherits(lgstc, "character")) lgstc <- listconvert(lgstc) if (inherits(lags, "character")) lags <- listconvert(lags) if (inherits(leads, "character")) leads <- listconvert(leads) output <- list(code = code, ts = ts, cs = cs, idvars = idvars, noms = noms, ords = ords, logs = logs, sqrts = sqrts, lgstc = lgstc, lags = lags, leads = leads, mess = mess) if (any(is.na(output))) output$code <- 1 return(output) } ## convert.priors - convert 4/5-column priors to matrix of priors ## priors: 4/5 column priors matrix ## nrow: rows of the data matrix ## ncol: cols of the data matrix ## ## output: a list of either 2 (in the 4 col case) or 3 (in the 5 col ## case) of prior matrices. #convert.priors <- fucntion(priors, nrow, ncol) { # if (!is.matrix(priors)) # stop("argument 'priors' is not a matrix") # if (ncol(priors) != 4 || ncol(priors) != 5) # stop("priors matrix has the wrong number of columns") # if (ncol(priors) == 4) { # #generate output priors matrix, the size of the data # out.means <- matrix(NA, nrow = nrow, ncol = ncol) # out.sds <- matrix(NA, nrow = nrow, ncol = ncol) # # fill in the the matrices # for (i in 1:nrow(priors)) { # out.means[priors[i,1], priors[i,2]] <- priors[i,3] # out.sds[priors[i,1], priors[i,2]] <- priors[i,4] # } # return(list(means = out.means, sds = out.sds)) # } # if (ncol(priors) == 5) { # out.mins <- matrix(NA, nrow = nrow, ncol = ncol) # out.maxs <- matrix(NA, nrow = nrow, ncol = ncol) # out.conf <- matrix(NA, nrow = nrow, ncol = ncol) # for (i in 1:nrow(priors)) { # out.mins[priors[i,1], priors[i,2]] <- priors[i,3] # out.maxs[priors[i,1], priors[i,2]] <- priors[i,4] # out.conf[priors[i,1], priors[i,2]] <- priors[i,5] # } # return(list(mins = out.mins, maxs = out.maxs, conf = out.conf)) # } #} ## amtransform - Transform variables to assume normality ## x: data matrix ## logs: variable list of log-linear transformations ## sqrts: variable list of square root transformations ## lgstc: variable list of logistic transformations ## xmin: vector of column minimums amtransform<-function(x,logs,sqrts,lgstc) { logs<-unique(logs) sqrts<-unique(sqrts) lgstc<-unique(lgstc) xmin<-c() if (!is.null(logs)) { for (i in 1:length(logs)) { j<-logs[i] xmin<-c(xmin,min(c(0,min(x[,j],na.rm=TRUE)))) #we need mins to avoid creating NAs x[,j]<-log(x[,j]-xmin[i]+1) #by taking a log of a negative number } } if (!is.null(sqrts)) for (i in sqrts) x[,i]<-sqrt(x[,i]) if (!is.null(lgstc)) for (i in lgstc) x[,i]<-log(x[,i]/(1-x[,i])) return(list(x=x,xmin=xmin)) } ## untransform - Convert imputed variables to original scale ## x.imp: imputed data matrix ## logs: variable list of log-linear transformations ## xmins: vector of column minimums ## sqrts: variable list of square root transformations ## lgstc: variable list of logistic transformations untransform<-function(x.imp,logs,xmin,sqrts,lgstc) { logs<-unique(logs) sqrts<-unique(sqrts) lgstc<-unique(lgstc) if (!is.null(logs)) { for (i in 1:length(logs)) { j<-logs[[i]] x.imp[,j]<-exp(x.imp[,j])+xmin[[i]] } } if (!is.null(sqrts)) for (i in sqrts) x.imp[,i]<-(x.imp[,i])^2 if (!is.null(lgstc)) for (i in lgstc) x.imp[,i]<-exp(x.imp[,i])/(1 + exp(x.imp[,i])) return(x.imp) } frame.to.matrix<-function(x,idvars) { char.vars<-which(sapply(x,class)=="character") if (length(char.vars) > 0) for (i in char.vars) if (is.na(match(i,idvars))) x[,i]<-as.factor(x[,i]) #changes cs/noms char. vars to factors else x[,i]<-1 #junks id char vars. return(data.matrix(x)) #return it as matrix } ## Remove rows and columns from dataset that do not belong amsubset<-function(x,idvars,p2s,ts,cs,priors=NULL, polytime=NULL,splinetime=NULL,intercs=FALSE,lags=NULL, leads=NULL,noms=NULL,bounds=NULL, overimp = NULL) { lags <- unique(lags) leads <- unique(leads) noms <- unique(noms) idvars <- unique(idvars) index <- c(1:ncol(x)) theta.names <- colnames(x) if (!is.null(idvars)) { index <- index[-idvars] theta.names <- theta.names[-idvars] } if (is.data.frame(x)) x <- frame.to.matrix(x,idvars) overvalues <- NULL ## Set overimp cells to missing if (!is.null(overimp)) { whole.vars <- overimp[overimp[,1] == 0, 2] whole.vars <- as.matrix(expand.grid(1:nrow(x), whole.vars)) overimp <- overimp[overimp[,1] != 0,] overimp <- rbind(overimp, whole.vars) if (!is.matrix(overimp)) overimp <- t(as.matrix(overimp)) overvalues <- x[overimp] is.na(x) <- overimp } AMmiss <- is.na(x) if (!is.null(lags)) { if (!identical(cs,NULL)) { tsarg<-list(x[,cs],x[,ts]) } else { tsarg<-list(x[,ts]) } tssort<-do.call("order",tsarg) x.sort<-x[tssort,] for (i in lags) { lagged<-c(NA,x.sort[1:(nrow(x)-1),i]) if (!identical(cs,NULL)) { for (i in 2:nrow(x.sort)) if (x.sort[i,cs]!=x.sort[i-1,cs]) is.na(lagged)<-i } x.sort<-cbind(x.sort,lagged) x<-cbind(x,1) index<-c(index,-.5) #-.5=lags theta.names <- c(theta.names, paste("lag",colnames(x)[i],sep=".")) } x[tssort,]<-x.sort } if (!is.null(leads)){ if (!identical(cs,NULL)) { tsarg<-list(x[,cs],x[,ts]) } else { tsarg<-list(x[,ts]) } tssort<-do.call("order",tsarg) x.sort<-x[tssort,] for (i in leads) { led<-x.sort[2:nrow(x),i] led<-c(led,NA) if (!identical(cs,NULL)) { for (i in 1:(nrow(x.sort)-1)) if (x.sort[i,cs]!=x.sort[i+1,cs]) is.na(led)<-i } x.sort<-cbind(x.sort,led) x<-cbind(x,1) index<-c(index,.5) #.5=leads theta.names <- c(theta.names, paste("lead",colnames(x)[i],sep=".")) } x[tssort,]<-x.sort } #puts timeseries and crosssection into the id variable to avoid singularity if (!is.null(ts)) { theta.names <- theta.names[index != ts] index<-index[index!=ts] idvars<-c(idvars,ts) } if (!is.null(cs)) { theta.names <- theta.names[index != cs] index<-index[index!=cs] idvars<-c(idvars,cs) } #nominals if (!is.null(noms)) { for (i in noms) { values<-unique(na.omit(x[,i])) newx<-matrix(0,nrow=nrow(x),ncol=length(values)-1) theta.names <- theta.names[index != i] index<-index[index!=i] for (j in 2:length(values)) { newx[,j-1]<-ifelse(x[,i] == values[j],1,0) index<-c(index,-i) theta.names <- c(theta.names, paste("noms",colnames(x)[i],j,sep=".")) } x<-cbind(x,newx) idvars<-c(idvars,i) } } ## REVISION TODAY BEGINS HERE #basis functions for time if (!identical(polytime,NULL) | !identical(splinetime,NULL) ){ if (!identical(splinetime,NULL)){ time<-x[,ts] knot<-rep(0,5) if(splinetime>3){ knot[1:(splinetime-1)]<-seq(from=min(time),to=max(time),length=(splinetime-1)) # The end points of this sequence are not being used } timebasis<-cbind(1,time,time^2,time^3,pmax(time-knot[2],0)^3,pmax(time-knot[3],0)^3,pmax(time-knot[4],0)^3) timebasis<-timebasis[,1:(splinetime+1),drop=FALSE] } if (!identical(polytime,NULL)){ time<-x[,ts] timebasis<-cbind(1,time,time^2,time^3) timebasis<-timebasis[,1:(polytime+1) ,drop=FALSE] } cstypes<-unique(x[,cs]) timevars<-matrix(0,nrow(x),1) if (intercs){ for (i in cstypes){ dummy<-as.numeric(x[,cs]==i) timevars<-cbind(timevars,dummy*timebasis) } timevars<-timevars[,c(-1,-2), drop = FALSE] } else { timevars<-cbind(timevars,timebasis) timevars<-timevars[,-c(1,2), drop = FALSE] # first column is a holding variable, second is to have fixed effects identified } ## ENDS TODAY x<-cbind(x,timevars) if (ncol(timevars)) { for (i in 1:ncol(as.matrix(timevars))) { index<-c(index,0) #0 - timevars theta.names <- c(theta.names, paste("time",i,sep=".")) } } } else { if (intercs) { cstypes <- unique(x[,cs]) timevars <- matrix(0, nrow(x), 1) for (i in cstypes) { dummy <- as.numeric(x[,cs] == i) timevars <- cbind(timevars, dummy) } timevars <- timevars[,-c(1,2)] x<-cbind(x,timevars) if (ncol(timevars)) { for (i in 1:ncol(as.matrix(timevars))) { index<-c(index,0) #0 - timevars theta.names <- c(theta.names, paste("time",i,sep=".")) } } } } if (!identical(idvars,NULL)) x<-x[,-idvars, drop = FALSE] if (p2s == 2) { cat("Variables used: ", theta.names,"\n") } AMr1 <- is.na(x) blanks <- which(rowSums(AMr1)==ncol(x)) if (length(blanks)) { x <- x[-blanks, ] if (!is.null(priors)) { priors <- priors[!(priors[,1] %in% blanks),] if (length(blanks) == 1) { row.adjust <- 1 * (priors[, 1, drop = FALSE] > blanks) } else { row.adjust <- colSums(sapply(priors[, 1, drop = FALSE],">",blanks)) } priors[,1] <- priors[,1,drop=FALSE] - row.adjust } if (p2s) cat("Warning: There are observations in the data that are completely missing.","\n", " These observations will remain unimputed in the final datasets.","\n") } else { blanks<-NULL } priors[,2] <- match(priors[,2], index) bounds[,1] <- match(bounds[,1], index) if (is.null(dim(x))) { x <- matrix(x, ncol = 1) } return(list(x=x,index=index,idvars=idvars,blanks=blanks,priors=priors,bounds=bounds,theta.names=theta.names,missMatrix=AMmiss,overvalues=overvalues)) } ## Replace rows and columns removed in "amsubset" ## Create integer values for nominals and ordinals ## ## x.orig: the original data-matrix. transformed, but not subsetted, ## scaled or centered, thus all variables are as they are in the ## user-submitted data. ## x.imp: the imputed data. has been unscaled, uncentered, but its ## it still has excess variables (polynomials of time, nominal ## categories, etc) and ordinal variables still have non-integer ## values. ## index: denotes what each column of x.imp is. ## a positive integer (i): ith column of x.orig. ## 0: basis function (polynomial/spline) of time ## .5: leads ## -.5: lags ## a negative integer (-i): a dummy used for the nominal var in ## the ith column of x.orig unsubset <- function(x.orig, x.imp, blanks, idvars, ts, cs, polytime, splinetime, intercs, noms, index, ords) { ## create if (is.data.frame(x.orig)) { oldidvars <- idvars[-match(c(cs, noms), idvars)] x.orig <- frame.to.matrix(x.orig, oldidvars) } AMr1.orig <- is.na(x.orig) ## since we're going to use the blanks in noms/ords ## we need these changed here. if (identical(blanks, NULL)) {blanks <- -(1:nrow(x.orig))} if (identical(idvars, NULL)) {idvars <- -(1:ncol(x.orig))} ## noms are idvars, so we'll fill them in manually ## (mb 2 Apr 09 -- fixed handling of "blanks") if (!is.null(noms)) { for (i in noms) { y <- runif(nrow(x.imp)) dums <- x.imp[, which(index == -i)] p <- dums * (dums > 0) * (dums < 1) + ((dums - 1) >= 0) psub <- rowSums(as.matrix(p)) psub <- (psub <= 1) + (psub) * (psub > 1) p <- p / psub pzero <- 1 - rowSums(as.matrix(p)) p <- cbind(pzero, p) pk <- ncol(p) utri.mat <- matrix(0, nrow = pk, ncol = pk) utri.mat <- utri.mat + upper.tri(utri.mat, diag = TRUE) cump <- p %*% utri.mat cump.shift <- cbind(matrix(0, nrow(cump), 1), cump[, 1:(ncol(cump) - 1)]) yy <- (y < cump) * (y > cump.shift) renom <- (yy %*% unique(na.omit(x.orig[, i]))) x.orig[-blanks, i] <- renom } } ## here we force the ords into integer values ## (mb 2 Apr 09 -- fixed handling of "blanks") if (!is.null(ords)) { ords <- unique(ords) # find where the ordinals are in the impords <- match(ords,index) x <- x.imp[, impords] * AMr1.orig[-blanks, ords] ############ revision ##################### minmaxords <- matrix(0, length(ords), 2) for(jj in 1:length(ords)) { tempords <- x.orig[AMr1.orig[, ords[jj]] == 0 , ords[jj]] minmaxords[jj,1] <- min(tempords) minmaxords[jj,2] <- max(tempords) } minord <- minmaxords[,1] maxord <- minmaxords[,2] ############ replaces ##################### # minord <- apply(ifelse(AMr1.orig[,ords]==1,NA,x.orig[,ords]),2,min,na.rm=T) # maxord <- apply(ifelse(AMr1.orig[,ords]==1,NA,x.orig[,ords]),2,max,na.rm=T) ordrange <- maxord - minord p <- t((t(x) - minord) / ordrange) * AMr1.orig[-blanks, ords] p <- p * (p > 0) * (p < 1) + ((p - 1) >= 0) newimp <- matrix(0, nrow(x.imp), length(ords)) for (k in 1:length(ords)) { reordnl <- rbinom(nrow(x.imp), ordrange[k], p[, k]) newimp[, k] <- reordnl + minord[k] * AMr1.orig[-blanks, ords[k]] } ############# revision ############################# ## replace the imputations with the ordinal values for(jj in 1:length(ords)){ x.imp[, impords[jj]] <- round(x.imp[, impords[jj]]) x.imp[AMr1.orig[-blanks, ords[jj]] == 1, impords[jj]] <- newimp[AMr1.orig[-blanks, ords[jj]] == 1, jj] } # MAYBE CAN REMOVE LOOP ############# replaces ############################# # x.orig[,ords] <- ifelse(AMr1.orig[,ords]==1,0,x.orig[,ords]) + newimp } ## now we'll fill the imputations back into the original. if (!identical(c(blanks, idvars), c(NULL, NULL))) { x.orig[-blanks, -idvars] <- x.imp[, 1:ncol(x.orig[, -idvars, drop = FALSE])] } else { x.orig <- x.imp[, 1:ncol(x.orig)] } return(x.orig) } ## Rescale Dataset scalecenter<-function(x,priors=NULL,bounds=NULL){ AMn<-nrow(x) ones<-matrix(1,AMn,1) meanx<-colMeans(x,na.rm=TRUE) stdvx<-apply(x,2,sd,na.rm=TRUE) no.obs <- colSums(!is.na(x)) == 0 if (!is.null(priors)) { meanx[no.obs] <- 0#unlist(tapply(priors[,3],priors[,2],mean))[order(unique(priors[,2]))] stdvx[no.obs] <- 1#unlist(tapply(priors[,3],priors[,2],sd))[order(unique(priors[,2]))] } x.ztrans<-(x-(ones %*% meanx))/(ones %*% stdvx) if (!is.null(priors)){ priors[,3]<-(priors[,3]-meanx[priors[,2]])/stdvx[priors[,2]] priors[,4]<- (priors[,4]/stdvx[priors[,2]])^2 #change to variances. } if (!is.null(bounds)) { bounds[,2] <- (bounds[,2]-meanx[bounds[,1]])/stdvx[bounds[,1]] bounds[,3] <- (bounds[,3]-meanx[bounds[,1]])/stdvx[bounds[,1]] } return(list(x=x.ztrans,mu=meanx,sd=stdvx,priors=priors,bounds=bounds)) } unscale<-function(x,mu,sd){ AMn<-nrow(x) ones<-matrix(1,AMn,1) x.unscale<-(x * (ones %*% sd)) + (ones %*% mu) return(x.unscale) } ## Stack dataset and return vectors for sorting ## NOTE: THIS ORDERS TIES IN A SLIGHTLY DIFFERENT WAY THAN "stack.g" IN GAUSS AMELIA amstack<-function(x,colorder=TRUE,priors=NULL,bounds=NULL){ AMp<-ncol(x) AMr1<-is.na(x) if (colorder){ #Rearrange Columns p.order <- order(colSums(AMr1)) AMr1<-AMr1[,p.order, drop = FALSE] } else { p.order<-1:ncol(x) } n.order <- do.call("order", as.data.frame(AMr1[,AMp:1])) #Rearrange Rows AMr1<- AMr1[n.order,, drop = FALSE] # p.order has already been rearranged x<- x[n.order,p.order, drop = FALSE] # rearrange rows and columns of dataset if (!identical(priors,NULL)){ priors[,1]<-match(priors[,1],n.order) priors[,2]<-match(priors[,2],p.order) } if (!identical(bounds,NULL)) bounds[,1]<-match(bounds[,1],p.order) return(list(x=x,n.order=n.order,p.order=p.order,priors=priors,bounds=bounds)) } ## Rearrange dataset to original ordering of rows and columns amunstack<-function(x,n.order,p.order){ x.unstacked<-matrix(0,nrow=nrow(x),ncol=ncol(x)) x.unstacked[n.order,p.order]<-x return(x.unstacked) } # This function is in miserable shape. Need to clean up how lack of priors are dealt with. generatepriors<-function(AMr1,empri=NULL,priors=NULL){ if (!identical(priors,NULL)) { if (ncol(priors) == 5){ new.priors<-matrix(NA, nrow = nrow(priors), ncol = 4) new.priors[,1:2]<-priors[,1:2] new.priors[,3]<-priors[,3] + ((priors[,4] - priors[,3])/2) new.priors[,4]<-(priors[,4]-priors[,3])/(2*qnorm(1-(1-priors[,5])/2)) #NOTE: FIX THIS: Currently ignores CONF- ASSUMES CI95 } else { new.priors <-priors } zeros <- which(new.priors[,1]==0) if (length(zeros) > 0) { varPriors <- new.priors[zeros,2] missCells <- which(AMr1[,varPriors,drop=FALSE], arr.ind=TRUE) addedPriors <- matrix(NA, nrow=nrow(missCells), ncol=4) addedPriors[,1] <- missCells[,1] addedPriors[,2] <- varPriors[missCells[,2]] addedPriors[,-c(1,2)] <- new.priors[zeros[missCells[,2]],-c(1,2)] new.priors <- new.priors[-zeros,,drop=FALSE] # find any matches in the rows/cols and remove from addedPriors # since we've removed other dups, addedPriors will have the only # dups new.priors <- rbind(new.priors,addedPriors) new.priors <- new.priors[!duplicated(new.priors[,1:2]),] } return(new.priors) } } #' Combine Multiple Amelia Output Lists #' #' This function combines output lists from multiple runs of #' Amelia, where each run used the same arguments. The result is one #' list, formatted as if Amelia had been run once. #' #' @param ... a list of Amelia output lists from runs of Amelia with the #' same arguments except the number of imputations. #' #' @details This function is useful for combining the output from Amelia #' runs that occurred at different times or in different sessions of #' R. It assumes that the arguments given to the runs of Amelia are the #' same except for \code{m}, the number of imputations, and it uses the #' arguments from the first output list as the arguments for the combined #' output list. #' #' #' @keywords utilities combine.output <- function(...) { cl <- match.call() cool <- unlist(lapply(cl, function(x) is.null(eval(x,parent.frame())$amelia.args))) if (max(cool[-1])==1) stop("One of the arguments is not an Amelia output list.") # we need the total number of imputations, so we'll # grab it from each argument (each ameliaoutput) # NOTE: the 'lapply' subset will be NULL for things in the call # that aren't amelia.output. 'unlist' then ignores those NULLs. ms <- unlist(lapply(cl,function(x) eval(x, parent.frame())$amelia.args$m)) m <- sum(ms) new.out <- vector("list", 2*m+1) names(new.out)[[2*m+1]] <- "amelia.args" new.out[[2*m+1]] <- eval(cl[[2]])$amelia.args new.out$amelia.args$m <- m count <- 1 for (i in 1:length(ms)) { for (j in 1:ms[i]) { new.out[[count]] <- eval(cl[[1+i]])[[j]] new.out[[m+count]] <- eval(cl[[1+i]])[[ms[i]+j]] new.out$amelia.args[[count+19]] <- eval(cl[[1+i]])$amelia.args[[j+19]] names(new.out)[count] <- paste("m", count, sep="") names(new.out)[m+count] <- paste("theta", count, sep="") names(new.out$amelia.args)[count+19] <- paste("iter.hist", count, sep="") count <- count + 1 } } return(new.out) } amelia_prep <- function(x,m=5,p2s=1,frontend=FALSE,idvars=NULL,logs=NULL, ts=NULL,cs=NULL,empri=NULL, tolerance=0.0001,polytime=NULL,splinetime=NULL,startvals=0,lags=NULL, leads=NULL,intercs=FALSE,sqrts=NULL, lgstc=NULL,noms=NULL,incheck=TRUE,ords=NULL,collect=FALSE, arglist=NULL, priors=NULL,var=NULL,autopri=0.05,bounds=NULL, max.resample=NULL, overimp = NULL, emburn=NULL, boot.type=NULL) { code <- 1 ## If there is an ameliaArgs passed, then we should use ## those. if (!identical(arglist,NULL)) { if (!("ameliaArgs" %in% class(arglist))) { error.code <- 46 error.mess <- paste("The argument list you provided is invalid.") return(list(code=error.code, message=error.mess)) } idvars <- arglist$idvars empri <- arglist$empri ts <- arglist$ts cs <- arglist$cs tolerance <- arglist$tolerance polytime <- arglist$polytime splinetime<- arglist$splinetime lags <- arglist$lags leads <- arglist$leads logs <- arglist$logs sqrts <- arglist$sqrts lgstc <- arglist$lgstc intercs <- arglist$intercs noms <- arglist$noms startvals <- arglist$startvals ords <- arglist$ords priors <- arglist$priors autopri <- arglist$autopri empri <- arglist$empri #change 1 bounds <- arglist$bounds overimp <- arglist$overimp emburn <- arglist$emburn boot.type <- arglist$boot.type max.resample <- arglist$max.resample } # If data frame is a tibble, code will break because of assumptions about # [, i, drop = TRUE]. Rather than change existing code, convert # `x` to a data.frame if (is.data.frame(x)) x <- as.data.frame(x) numopts<-nametonumber(x=x,ts=ts,cs=cs,idvars=idvars,noms=noms,ords=ords, logs=logs,sqrts=sqrts,lgstc=lgstc,lags=lags,leads=leads) if (numopts$code == 1) { return(list(code=44,message=numopts$mess)) } if (incheck) { checklist<-amcheck(x = x, m = m, idvars = numopts$idvars, priors = priors, empri = empri, ts = numopts$ts, cs = numopts$cs, tolerance = tolerance, polytime = polytime, splinetime = splinetime, lags = numopts$lags, leads = numopts$leads, logs = numopts$logs, sqrts = numopts$sqrts, lgstc =numopts$lgstc, p2s = p2s, frontend = frontend, intercs = intercs, noms = numopts$noms, startvals = startvals, ords = numopts$ords, collect = collect, bounds=bounds, max.resample=max.resample, overimp = overimp, emburn=emburn, boot.type=boot.type) #check.call <- match.call() #check.call[[1]] <- as.name("amcheck") #checklist <- eval(check.call, parent.frame()) if (!is.null(checklist$code)) { return(list(code=checklist$code,message=checklist$mess)) } m <- checklist$m priors <- checklist$priors } priors <- generatepriors(AMr1 = is.na(x),empri = empri, priors = priors) archv <- match.call(expand.dots=TRUE) archv[[1]] <- NULL archv <- list(idvars=numopts$idvars, logs=numopts$logs, ts=numopts$ts, cs=numopts$cs, empri=empri, tolerance=tolerance, polytime=polytime, splinetime=splinetime, lags=numopts$lags, leads=numopts$leads, intercs=intercs, sqrts=numopts$sqrts, lgstc=numopts$lgstc, noms=numopts$noms, ords=numopts$ords, priors=priors, autopri=autopri, bounds=bounds, max.resample=max.resample, startvals=startvals, overimp = overimp, emburn=emburn, boot.type=boot.type) #change 2 if (p2s==2) { cat("beginning prep functions\n") flush.console() } d.trans<-amtransform(x,logs=numopts$logs,sqrts=numopts$sqrts,lgstc=numopts$lgstc) d.subset<-amsubset(d.trans$x,idvars=numopts$idvars,p2s=p2s,ts=numopts$ts,cs=numopts$cs,polytime=polytime,splinetime=splinetime,intercs=intercs,noms=numopts$noms,priors=priors,bounds=bounds, lags=numopts$lags, leads=numopts$leads, overimp=overimp) d.scaled<-scalecenter(d.subset$x,priors=d.subset$priors,bounds=d.subset$bounds) d.stacked<-amstack(d.scaled$x,colorder=TRUE,priors=d.scaled$priors,bounds=d.scaled$bounds) if (incheck) { realAMp <- ncol(d.stacked$x) realAMn <- nrow(d.stacked$x) #Error code: 34-35 #Too few observations to estimate parameters if (!identical(empri,NULL)) { if (realAMp*2 > realAMn+empri) { error.code<-34 error.mess<-paste("The number of observations in too low to estimate the number of \n", "parameters. You can either remove some variables, reduce \n", "the order of the time polynomial, or increase the empirical prior.") return(list(code=error.code,message=error.mess)) } if (realAMp*4 > realAMn +empri) { warning("You have a small number of observations, relative to the number, of variables in the imputation model. Consider removing some variables, or reducing the order of time polynomials to reduce the number of parameters.") } } else { if (realAMp*2 > realAMn) { error.code<-34 error.mess<-paste("The number of observations is too low to estimate the number of \n", "parameters. You can either remove some variables, reduce \n", "the order of the time polynomial, or increase the empirical prior.") return(list(code=error.code,message=error.mess)) } if (realAMp*4 > realAMn) { warning("You have a small number of observations, relative to the number, of variables in the imputation model. Consider removing some variables, or reducing the order of time polynomials to reduce the number of parameters.") } } } return(list( x = d.stacked$x, code = code, priors = d.stacked$priors, n.order = d.stacked$n.order, p.order = d.stacked$p.order, scaled.mu = d.scaled$mu, scaled.sd = d.scaled$sd, trans.x = d.trans$x, blanks = d.subset$blanks, idvars = d.subset$idvars, ts = numopts$ts, cs = numopts$cs, noms = numopts$noms, index = d.subset$index, ords = numopts$ords, m = m, logs = numopts$logs, archv = archv, xmin = d.trans$xmin, sqrts = numopts$sqrts, lgstc = numopts$lgstc, # outname = outname, subset.index = d.subset$index, autopri = autopri, bounds = d.stacked$bounds, theta.names = d.subset$theta.names, missMatrix = d.subset$missMatrix, overvalues = d.subset$overvalues, empri = empri, #change 3a tolerance = tolerance)) #change 3b } Amelia/R/plot.amelia.R0000644000176200001440000000677614335240021014205 0ustar liggesusers #' Summary plots for Amelia objects #' #' Plots diagnostic plots for the output from the #' \code{amelia} function. #' #' @param x an object of class "amelia"; typically output from the #' function \code{amelia}. #' @param which.vars a vector indicating the variables to plot. The #' default is to plot all of the numeric variables that were actually #' imputed. #' @param compare plot the density comparisons for each variable (True or False) #' @param overimpute plot the overimputation for each variable (True or False) #' @param ask prompt user before changing pages of a plot (True or False) #' @param ... further graphical arguments. #' plot.amelia <- function(x, which.vars, compare = TRUE, overimpute = FALSE, ask = TRUE, ...) { imputedVars <- colSums(x$missMatrix) > 0 ## if it's a matrix, it's already numeric if (is.data.frame(x$imputations[[1]])) { numericVars <- sapply(x$imputations[[1]],"is.numeric") } else { numericVars <- rep(TRUE, length(imputedVars)) } ## Choose the correct variables to plot. Only numerics. ## And, if they didn't pick, only show the imputed variables. if (missing(which.vars)) { which.vars <- which(imputedVars & numericVars) } else { ## trim user-choosen variables that are not numeric which.vars <- which.vars[numericVars[which.vars]] } mfrow <- set.mfrow(nvars = length(which.vars), overimpute) on.exit(par(NULL)) layout <- par(mfrow = mfrow) for (i in seq(along=which.vars)) { if (compare) compare.density(output=x, var=which.vars[i], legend=FALSE,...) if (overimpute) overimpute(output=x, var=which.vars[i]) if (i==1) devAskNewPage(ask) } devAskNewPage(ask=FALSE) invisible() } ## ## set.mfrow() - gets the proper number of frames for plotting the ## output of the "amelia" class. ## ## INPUTS: nvars - number of variables being plotted ## overimpute - are we plotting overimputes? ## ## OUTPUT: mfrow - vector of length 2 with the (rows,cols) of the ## plotting window ## ## NOTICE: idea taken from the "coda" package ## ## set.mfrow <- function(nvars = 1, overimpute = FALSE) { if (overimpute) { ## If we are overimputing as well, we need ## two plots per variable mfrow <- switch(min(nvars, 13), c(2,1), ## 2 plot : 1x2 c(2,2), ## 4 plots: 2x2 c(3,2), ## 6 plots: 3x2 c(4,2), ## 8 plots: 4x2 c(3,2), ## 10 plots: 3x2 c(3,2), ## 12 plots: 3x2 c(4,2), ## 14 plots: 4x2 c(4,2), ## 16 plots: 4x2 c(4,2), ## 18 plots: 4x2 c(3,2), ## 20 plots: 3x2 c(3,2), ## 22 plots: 3x2 c(3,2), ## 24 plots: 3x2 c(4,2)) ## 26 plots: 4x2 } else { mfrow <- switch(min(nvars, 13), c(1,1), ## 1 plot : 1x1 c(2,1), ## 2 plots: 2x1 c(2,2), ## 3 plots: 2x2 c(2,2), ## 4 plots: 2x2 c(3,2), ## 5 plots: 3x2 c(3,2), ## 6 plots: 3x2 c(3,3), ## 7 plots: 3x3 c(3,3), ## 8 plots: 3x3 c(3,3), ## 9 plots: 3x3 c(3,2), ## 10 plots: 3x2 c(3,2), ## 11 plots: 3x2 c(3,2), ## 12 plots: 3x2 c(3,3)) ## 13 plots: 3x3 } return(mfrow) } Amelia/R/amelia-package.R0000644000176200001440000000004214605523321014604 0ustar liggesusers#' @keywords internal "_PACKAGE" Amelia/R/ameliagui.r0000644000176200001440000040526014712711140013770 0ustar liggesusersmain.close<-function() { qvalue<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="Are you sure you want to exit Amelia?", icon="question", type="okcancel", default="cancel") if (tcltk::tclvalue(qvalue)=="ok") { tcltk::tkdestroy(getAmelia("gui")) } } setWorkingDir <- function() { newwd <- tcltk::tkchooseDirectory(parent = getAmelia("gui"), initialdir = getwd(), title = "Set output directory...", mustexist = TRUE) if (tcltk::tclvalue(newwd) != "") setwd(tcltk::tclvalue(newwd)) return(NULL) } loadStata <- function() { filetype <- c("{{Stata files} {.dta}} {{All files} *}") putAmelia("am.filename", tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes=filetype))) if (getAmelia("am.filename") == "") return(NULL) if (!is.null(getAmelia("amelia.data"))) { sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } putAmelia("amelia.data",try(read.dta(getAmelia("am.filename"),convert.factors=FALSE))) putAmelia("am.filetype", "Stata") if (inherits(getAmelia("amelia.data"), "try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Failure in loading the data. Try again.",icon="error",type="ok") putAmelia("amelia.data",NULL) return(NULL) } activateGUI() } loadSPSS <- function() { filetype <- c("{{SPSS} {.sav}} {{All files} *}") putAmelia("am.filename", tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes=filetype))) if (getAmelia("am.filename") == "") return(NULL) if (!is.null(getAmelia("amelia.data"))) { sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } putAmelia("amelia.data",try(read.spss(getAmelia("am.filename"),use.value.labels=FALSE,to.data.frame=TRUE))) putAmelia("am.filetype", "SPSS") if (inherits(getAmelia("amelia.data"), "try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Failure in loading the data. Try again.",icon="error",type="ok") putAmelia("amelia.data",NULL) return(NULL) } activateGUI() } loadSAS <- function() { filetype <- c("{{SAS Transport} {.xpt}} {{All files} *}") putAmelia("am.filename", tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes=filetype))) if (getAmelia("am.filename") == "") return(NULL) if (!is.null(getAmelia("amelia.data"))) { sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } putAmelia("amelia.data",try(read.xport(getAmelia("am.filename")))) putAmelia("am.filetype", "SAS") if (inherits(getAmelia("amelia.data"), "try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Failure in loading the data. Try again.",icon="error",type="ok") putAmelia("amelia.data",NULL) return(NULL) } activateGUI() } loadTAB <- function() { filetype <- c("{{Tab-delimited files} {.txt .tab .dat}} {{All files} *}") putAmelia("am.filename", tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes=filetype))) if (getAmelia("am.filename") == "") return(NULL) if (!is.null(getAmelia("amelia.data"))) { sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } putAmelia("amelia.data",try(read.table(getAmelia("am.filename"),header=TRUE))) putAmelia("am.filetype", "TAB") if (inherits(getAmelia("amelia.data"), "try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Failure in loading the data. Try again.",icon="error",type="ok") putAmelia("amelia.data",NULL) return(NULL) } activateGUI() } loadCSV <- function() { filetype <- c("{{Comma-delimited files} {.csv}} {{All files} *} ") putAmelia("am.filename", tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes=filetype))) if (getAmelia("am.filename") == "") return(NULL) if (!is.null(getAmelia("amelia.data"))) { sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } putAmelia("amelia.data",try(read.csv(getAmelia("am.filename"),header=TRUE))) putAmelia("am.filetype", "CSV") if (inherits(getAmelia("amelia.data"), "try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Failure in loading the data. Try again.",icon="error",type="ok") putAmelia("amelia.data",NULL) return(NULL) } activateGUI() } loadRData <- function() { onOK <- function() { putAmelia("amelia.data", eval(as.name(tcltk::tclvalue(tcltk::tkget(objectChooser))))) tcltk::tkdestroy(chooseObjectWindow) tcltk::tkfocus(getAmelia("gui")) tcltk::tkgrab.release(chooseObjectWindow) activateGUI() return() } onCancel <- function() { rm(list=getAmelia("amelia.data")) tcltk::tkdestroy(chooseObjectWindow) tcltk::tkfocus(getAmelia("gui")) tcltk::tkgrab.release(chooseObjectWindow) return() } filetype <- c("{{R Data files} {.RData .Rdata .Rda .rda}} {{All files} *} ") putAmelia("am.filename", tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes=filetype))) if (getAmelia("am.filename") == "") return(NULL) if (!is.null(getAmelia("amelia.data"))) { sure <- tcltk::tkmessageBox(parent = getAmelia("gui"), message = "If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?", icon = "question", type = "yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } putAmelia("amelia.data",try(load(getAmelia("am.filename")))) putAmelia("am.filetype", "RData") if (inherits(getAmelia("amelia.data"), "try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Failure in loading the data. Try again.",icon="error",type="ok") putAmelia("amelia.data",NULL) return(NULL) } if (length(getAmelia("amelia.data")) == 1) { putAmelia("amelia.data", eval(as.name(getAmelia("amelia.data")))) } else { datasets <- sapply(getAmelia("amelia.data"), function(x) is.data.frame(eval(as.name(x)))) datasets <- getAmelia("amelia.data")[datasets] chooseObjectWindow <- tcltk::tktoplevel(parent=getAmelia("gui")) tcltk::tkwm.title(chooseObjectWindow, "Find Data Set") chooseFrame <- tcltk::ttkframe(chooseObjectWindow) objectChooser <- tcltk::ttkcombobox(chooseFrame, width = 20) tcltk::tkconfigure(objectChooser, values = datasets) tcltk::tkset(objectChooser, datasets[1]) objectOK <- tcltk::ttkbutton(chooseFrame, text = "OK", width = 10, command = onOK) objectCancel <- tcltk::ttkbutton(chooseFrame, text = "Cancel", width = 10, command = onCancel) tcltk::tkgrid(tcltk::ttklabel(chooseFrame, text = "Please select your dataset from the following objects:"), row = 0, column = 0, columnspan = 2, padx = 10, pady = 10) tcltk::tkgrid(objectChooser, row = 1, column = 0, columnspan = 2, padx = 10, pady = 10) tcltk::tkgrid(objectOK, row = 2, column = 0, padx = 10, pady = 10) tcltk::tkgrid(objectCancel, row = 2, column = 1, padx = 10, pady = 10) tcltk::tkgrid(chooseFrame, padx = 10, pady = 10) tcltk::tkgrab(chooseObjectWindow) tcltk::tkfocus(chooseObjectWindow) tcltk::tkwm.protocol(chooseObjectWindow, "WM_DELETE_WINDOW", onCancel) centerModalDialog(chooseObjectWindow, resize=FALSE) } return() } loadDemo <- function(name) { if (!is.null(getAmelia("amelia.data"))) { sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you load another dataset, your current settings will be erased. Are you sure you want to load the new data?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) } data(list=name, package="Amelia", envir = ameliaEnv) putAmelia("amelia.data", eval(as.name(name))) putAmelia("am.filetype", "demo") putAmelia("am.filename", name) activateGUI() } drawMissMap <- function() { dev.new() missmap(getAmelia("amelia.data"), csvar = getAmelia("csvar"), tsvar = getAmelia("tsvar")) } activateGUI <- function(session = FALSE) { temp.list <- strsplit(getAmelia("am.filename"),"/")[[1]] if (getAmelia("am.filetype") != "demo") { temp.list <- strsplit(getAmelia("am.filename"),"/")[[1]] putAmelia("am.directory", paste(temp.list[-length(temp.list)],"",sep="/",collapse="")) setwd(getAmelia("am.directory")) } else { putAmelia("am.directory", getwd()) } filename <- temp.list[length(temp.list)] dotList <- strsplit(filename, "\\.")[[1]] if (length(dotList) > 1) dotList <- dotList[-length(dotList)] filestub <- paste(paste(dotList, collapse = "."), "-imp", sep="") putAmelia("varnames" , names(getAmelia("amelia.data"))) tcltk::tkgrid.remove(getAmelia("error.label")) tcltk::tkgrid.remove(getAmelia("allgood.label")) tcltk::tkgrid(getAmelia("noimps.label"), row = 2, column = 7, sticky ="e", padx = 10) ## Get rid of welcome frame if (as.logical(tcltk::tkwinfo("ismapped", getAmelia("gui.welcome")))) { tcltk::tkgrid.remove(getAmelia("gui.welcome")) tcltk::tkgrid(getAmelia("gui.skel"), row = 0, column = 0, sticky ="news") tcltk::tkgrid(getAmelia("statusbar"), sticky = "sew") } ## initialize values ## turn on various forms and buttons tcltk::tkconfigure(getAmelia("output.run"), state = "normal") #tcltk::tkconfigure(getAmelia("output.entry"), textvariable=getAmelia("outname")) #tcltk::tkconfigure(getAmelia("output.num"), textvariable=getAmelia("outnum")) tcltk::tkentryconfigure(getAmelia("main.menu.file"),"Edit Data...", state="normal") tcltk::tkentryconfigure(getAmelia("main.menu.options"),"Draw Missingness Map", state="normal") tcltk::tkentryconfigure(getAmelia("main.menu.file"),"Save Session...", state = "normal") tcltk::tkentryconfigure(getAmelia("main.menu.options"),"Output File Type...", state = "normal") tcltk::tkentryconfigure(getAmelia("main.menu.options"),"Output File Options...", state = "normal") tcltk::tkconfigure(getAmelia("missmapButton"), state = "normal") tcltk::tkconfigure(getAmelia("editDataButton"), state = "normal") tcltk::tkconfigure(getAmelia("plotHistButton"), state = "normal") tcltk::tkconfigure(getAmelia("showLogButton"), state = "disabled") fillMainTree() ## Mark factors as ID by default. classes <- sapply(getAmelia("amelia.data"), class) factorVars <- which(classes == "factor" | classes == "character") if (!session) { opt.holder <- vector("numeric",ncol(getAmelia("amelia.data"))) names(opt.holder) <- getAmelia("varnames") putAmelia("noms", opt.holder) putAmelia("ords", opt.holder) putAmelia("logs", opt.holder) putAmelia("sqrt", opt.holder) putAmelia("lgstc", opt.holder) putAmelia("idvar", opt.holder) putAmelia("lags", opt.holder) putAmelia("leads", opt.holder) boundsholder <- matrix(NA, nrow = ncol(getAmelia("amelia.data")), ncol = 3) boundsholder[,1] <- 1:ncol(getAmelia("amelia.data")) rownames(boundsholder) <- getAmelia("varnames") putAmelia("num.poly",tcltk::tclVar("0")) putAmelia("intercs",tcltk::tclVar("0")) putAmelia("priorsmat", NULL) putAmelia("boundsmat", boundsholder) putAmelia("max.resample", tcltk::tclVar("1000")) putAmelia("outname", tcltk::tclVar(filestub)) putAmelia("outnum", tcltk::tclVar("5")) putAmelia("empri", tcltk::tclVar("0")) putAmelia("tsvar", NULL) putAmelia("csvar", NULL) id.holder <- opt.holder id.holder[factorVars] <- 1 putAmelia("idvar", id.holder) for (i in factorVars) { tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "ID") } } else { for (i in factorVars) { if (all(getAmelia("idvar")[i]==0, getAmelia("csvar")!=getAmelia("varnames")[i],getAmelia("noms")[i]==0)) { tcltk::tcl(getAmelia("main.tree"), "item", getAmelia("varnames")[i], image = getAmelia("redFlagIcon")) } } } tcltk::tkentryconfigure(getAmelia("main.menu.options"), "Add Observations Priors...", state="normal") tcltk::tkentryconfigure(getAmelia("main.menu.options"), "Numerical Options", state="normal") ## add the filename and rows/cols to statusbar tcltk::tkconfigure(getAmelia("statusbar.lab1b"), text = getAmelia("am.filename"), foreground = "blue") tcltk::tkconfigure(getAmelia("statusbar.n"), text = paste(nrow(getAmelia("amelia.data"))), foreground = "blue") tcltk::tkconfigure(getAmelia("statusbar.k"), text = paste(ncol(getAmelia("amelia.data"))), foreground = "blue") } save.session <- function() { if (is.null(getAmelia("amelia.data"))) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="You must load a dataset before you can save a session.", icon="error", type="ok") return(NULL) } file.select <- tcltk::tclvalue(tcltk::tkgetSaveFile(parent=getAmelia("gui"), filetypes="{{RData files} {.RData}} {{All files} *}")) putAmelia("session.flag", TRUE) sessionList <- c("am.directory","amelia.data", "am.filename", "am.filetype", "boundsmat", "csvar", "idvar", "lags", "leads", "lgstc", "logs", "noms", "num.poly", "ords", "outname.value", "outnum.value", "output.log", "outtype.value", "priorsmat", "runState", "seed.value", "session.flag", "splinestime.value", "sqrt", "tol.value", "tsvar", "empri.value", "intercs.value", "max.resample.value", "ameliaObject") putAmelia("empri.value", tcltk::tclvalue(getAmelia("empri"))) putAmelia("intercs.value", tcltk::tclvalue(getAmelia("intercs"))) putAmelia("max.resample.value", tcltk::tclvalue(getAmelia("max.resample"))) putAmelia("outname.value", tcltk::tclvalue(getAmelia("outname"))) putAmelia("outnum.value", tcltk::tclvalue(getAmelia("outnum"))) putAmelia("outtype.value", tcltk::tclvalue(getAmelia("outtype"))) putAmelia("seed.value", tcltk::tclvalue(getAmelia("seed"))) putAmelia("tol.value", tcltk::tclvalue(getAmelia("tol"))) putAmelia("splinestime.value", tcltk::tclvalue(getAmelia("splinestime"))) save(list = sessionList, envir=ameliaEnv, file = file.select) return(NULL) } load.session <- function() { ## diaglog to get RData file file.select <- tcltk::tclvalue(tcltk::tkgetOpenFile(parent=getAmelia("gui"), filetypes= "{{RData files} {.RData}} {{All files} *}")) if (nchar(file.select) <= 0) return(NULL) ## try loading the RData file and stop if it doesn't work tryloadsess <- try(load(file=file.select, envir=ameliaEnv), silent=TRUE) if (inherits(tryloadsess,"try-error")) { tcltk::tkmessageBox(parent=getAmelia("gui"),message="Error loading session. This is not a valid session file.",icon="error",type="ok") return(NULL) } ## make sure that the RData file loaded the right list if (!("session.flag" %in% ls(ameliaEnv)) | !getAmelia("session.flag")) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Not an Amelia session file. Try again.",icon="error",type="ok") return(NULL) } activateGUI(session = TRUE) nn <- ncol(getAmelia("amelia.data")) if (!is.null(getAmelia("tsvar"))) { tcltk::tcl(getAmelia("main.tree"), "item", getAmelia("tsvar"), image = getAmelia("clockIcon")) tcltk::tkentryconfigure(getAmelia("main.menu.options"),0, state="normal") for (i in 1:nn) { if (getAmelia("lags")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "lag", "X") if (getAmelia("leads")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "lead", "X") } } if (!is.null(getAmelia("csvar"))) { tcltk::tcl(getAmelia("main.tree"), "item", getAmelia("csvar"), image = getAmelia("userIcon")) tcltk::tkentryconfigure(getAmelia("main.menu.options"), 1, state="normal") tcltk::tkentryconfigure(getAmelia("main.menu.options"), 1, variable = getAmelia("intercs")) } for (i in 1:nn) { if (getAmelia("idvar")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "ID") if (getAmelia("ords")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "Ordinal") if (getAmelia("noms")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "Nominal") if (getAmelia("logs")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "Log") if (getAmelia("sqrt")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "Square Root") if (getAmelia("lgstc")[i] == 1) tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "transform", "Logistic") } for (i in 1:nn) { bdMin <- getAmelia("boundsmat")[i,2] bdMax <- getAmelia("boundsmat")[i,3] if (!is.na(bdMin)) { treeBounds <- paste("[",bdMin,", ", bdMax,"]", sep = "") } else { treeBounds <- "" } tcltk::tkset(getAmelia("main.tree"), getAmelia("varnames")[i], "bounds", treeBounds) } tcltk::tcl("set", getAmelia("seed"), getAmelia("seed.value")) tcltk::tcl("set", getAmelia("tol"), getAmelia("tol.value")) tcltk::tcl("set", getAmelia("empri"), getAmelia("empri.value")) tcltk::tcl("set", getAmelia("outname"), getAmelia("outname.value")) tcltk::tcl("set", getAmelia("outnum"), getAmelia("outnum.value")) tcltk::tcl("set", getAmelia("outtype"), getAmelia("outtype.value")) tcltk::tcl("set", getAmelia("intercs"), getAmelia("intercs.value")) tcltk::tcl("set", getAmelia("splinestime"), getAmelia("splinestime.value")) tcltk::tcl("set", getAmelia("max.resample"), getAmelia("max.resample.value")) tcltk::tkgrid.remove(getAmelia("noimps.label")) tcltk::tkgrid.remove(getAmelia("error.label")) tcltk::tkgrid.remove(getAmelia("allgood.label")) tcltk::tkgrid(getAmelia(paste(getAmelia("runState"),"label", sep = ".")), row = 2, column = 7, sticky ="e", padx = 10) if (getAmelia("runState") != "noimps") { tcltk::tkentryconfigure(getAmelia("main.menu.output"), "Output Log", state="normal") tcltk::tkconfigure(getAmelia("showLogButton"), state = "normal") } if (getAmelia("runState") == "allgood") { tcltk::tkentryconfigure(getAmelia("main.menu.output"), 0, state = "normal") tcltk::tkentryconfigure(getAmelia("main.menu.output"), 2, state = "normal") resave <- tcltk::tkmessageBox(parent = getAmelia("gui"), message = "Re-save imputed data sets to the working directory?", icon = "question", default = "yes", type = "yesno") if (tcltk::tclvalue(resave) == "yes") { amelia_save(getAmelia("ameliaObject"), tcltk::tclvalue(getAmelia("outname")), as.numeric(tcltk::tclvalue(getAmelia("outnum")))) } } return(NULL) } run.amelia <- function() { save.type <- as.numeric(tcltk::tclvalue(getAmelia("outtype"))) if (file.access(getwd(), mode = 2) == -1 & !(save.type %in% c(0,6))) { tcltk::tkmessageBox(parent = getAmelia("gui"), message = "The current working directory is not writable. Please select a different working directory or chose to not save the imputed data sets.", type ="ok") return(NULL) } ## Let's not allow people to overwrite their data. temp.list <- strsplit(getAmelia("am.filename"),"/")[[1]] filename <- temp.list[length(temp.list)] outfiles <- paste(tcltk::tclvalue(getAmelia("outname")), 1:as.numeric(tcltk::tclvalue(getAmelia("outnum"))), sep ="") save.type <- as.numeric(tcltk::tclvalue(getAmelia("outtype"))) exten <- switch(save.type, "csv","txt","dta","dta","RData") outfiles <- paste(outfiles, exten, sep = ".") outfiles <- paste(paste(temp.list[-length(temp.list)], collapse = "/"), outfiles, sep = "/") if (getAmelia("am.filename") %in% outfiles) { tcltk::tkmessageBox(parent = getAmelia("gui"), message = "Current settings would overwrite the original data. Please change the output file name.", icon = "error", type ="ok") return(NULL) } ts <- getAmelia("tsvar") cs <- getAmelia("csvar") nn <- ncol(getAmelia("amelia.data")) am.intercs <- as.logical(as.numeric(tcltk::tclvalue(getAmelia("intercs")))) sptime <- as.numeric(tcltk::tclvalue(getAmelia("splinestime"))) if (sptime == 0) if (am.intercs == FALSE) sptime <- NULL if (is.null(ts)) sptime <- NULL if (is.null(cs)) am.intercs <- FALSE id <- getAmelia("varnames")[getAmelia("idvar")==1] ord <- getAmelia("varnames")[getAmelia("ords")==1] nom <- getAmelia("varnames")[getAmelia("noms")==1] logs <- getAmelia("varnames")[getAmelia("logs")==1] sqrts <- getAmelia("varnames")[getAmelia("sqrt")==1] lgstc <- getAmelia("varnames")[getAmelia("lgstc")==1] amlags<- getAmelia("varnames")[getAmelia("lags")==1] amfut <- getAmelia("varnames")[getAmelia("leads")==1] if (length(id) == 0) id <- NULL if (length(ord) == 0) ord <- NULL if (length(nom) == 0) nom <- NULL if (length(logs) == 0) logs <- NULL if (length(sqrts)== 0) sqrts<- NULL if (length(lgstc)== 0) lgstc<- NULL if (length(amlags)==0) amlags <- NULL if (length(amfut)== 0) amfut<- NULL pmat <- getAmelia("priorsmat") colnames(pmat) <- NULL rownames(pmat) <- NULL bdmat <- getAmelia("boundsmat") colnames(bdmat) <- NULL rownames(bdmat) <- NULL bdmat <- bdmat[!is.na(bdmat[,2]) & !is.na(bdmat[,3]),,drop=FALSE] if (nrow(bdmat) == 0) bdmat <- NULL tol <- as.numeric(tcltk::tclvalue(getAmelia("tol"))) max.re <- as.numeric(tcltk::tclvalue(getAmelia("max.resample"))) num.imp <- as.numeric(tcltk::tclvalue(getAmelia("outnum"))) emp <- as.numeric(tcltk::tclvalue(getAmelia("empri"))) if (!is.na(as.numeric(tcltk::tclvalue(getAmelia("seed"))))) set.seed(as.numeric(tcltk::tclvalue(getAmelia("seed")))) tcltk::tkgrid.remove(getAmelia("noimps.label")) tcltk::tkgrid.remove(getAmelia("error.label")) tcltk::tkgrid.remove(getAmelia("allgood.label")) tcltk::tkgrid(getAmelia("runAmeliaProgress"), row = 2, column = 7, sticky ="e", padx = 10) amcall <- substitute(amelia(x = getAmelia("amelia.data"), m = num.imp, idvars = id, ts = ts, cs= cs, priors = pmat, lags = amlags, empri = emp, intercs = am.intercs, leads = amfut, splinetime = sptime, logs = logs, sqrts = sqrts, lgstc = lgstc, ords = ord, noms = nom, bounds = bdmat, max.resample = max.re, tolerance= tol)) putAmelia("output.log", c(getAmelia("output.log"), sub(" ","\n ",deparse(amcall, control=NULL, width.cutoff=60)),"\n\n")) putAmelia("wdForLastImputation", getwd()) ## run amelia! or at least try, and put the output in a list ## the name of the list will be the output name set by user output.connection <- textConnection(".Output", open="w", local = TRUE) sink(output.connection, type="output") putAmelia("ameliaObject", try(amelia.default(x = getAmelia("amelia.data"), m = as.numeric(tcltk::tclvalue(getAmelia("outnum"))), p2s = 1, idvars = id, ts = ts, cs = cs, priors = pmat, lags = amlags, empri = as.numeric(tcltk::tclvalue(getAmelia("empri"))), intercs = am.intercs, leads = amfut, splinetime = sptime, frontend = TRUE, logs = logs, sqrts = sqrts, lgstc = lgstc, ords = ord, noms = nom, bounds = bdmat, max.resample = as.numeric(tcltk::tclvalue(getAmelia("max.resample"))), tolerance= as.numeric(tcltk::tclvalue(getAmelia("tol")))), silent=TRUE)) sink(type = "output") putAmelia("output.log", c(getAmelia("output.log"), paste(textConnectionValue(output.connection), "\n"))) tcltk::tkgrid.remove(getAmelia("runAmeliaProgress")) tcltk::tkconfigure(getAmelia("runAmeliaProgress"), value = 0) ## check for errors in the process. if (inherits(getAmelia("ameliaObject"),"try-error")) { putAmelia("output.log", c(getAmelia("output.log"),"\nThere was an unexpected error in the execution of Amelia. \nDouble check all inputs for errors and take note of the error message:\n\n")) putAmelia("output.log", c(getAmelia("output.log"),paste(getAmelia("ameliaObject")))) #tcltk::tkconfigure(getAmelia("pass.fail.label"), foreground = "red") #tmp <- getAmelia("pass.fail") #tcltk::tclvalue(tmp) <- "Error! See log." show.output.log() tcltk::tkentryconfigure(getAmelia("main.menu.output"), 1, state = "normal") tcltk::tkconfigure(getAmelia("showLogButton"), state = "normal") tcltk::tkgrid(getAmelia("error.label"), row = 2, column = 7, sticky ="e", padx = 10) putAmelia("runState", "error") return(NULL) } if (all(getAmelia("ameliaObject")$code!=c(1,2))) { putAmelia("output.log", c(getAmelia("output.log"),"\n")) putAmelia("output.log", c(getAmelia("output.log"),paste("Amelia Error Code:", getAmelia("ameliaObject")[[1]],"\n", getAmelia("ameliaObject")[[2]]))) #tcltk::tkconfigure(getAmelia("pass.fail.label"), foreground = "red") #tmp <- getAmelia("pass.fail") #tcltk::tclvalue(tmp) <- "Error! See log." show.output.log() tcltk::tkentryconfigure(getAmelia("main.menu.output"), 1, state = "normal") tcltk::tkconfigure(getAmelia("showLogButton"), state = "normal") tcltk::tkgrid(getAmelia("error.label"), row = 2, column = 7, sticky ="e", padx = 10) putAmelia("runState", "error") } else { putAmelia("output.log", c(getAmelia("output.log"),"Amelia has run successfully.\n")) tcltk::tkentryconfigure(getAmelia("main.menu.output"), 0, state = "normal") tcltk::tkentryconfigure(getAmelia("main.menu.output"), 1, state = "normal") tcltk::tkentryconfigure(getAmelia("main.menu.output"), 2, state = "normal") tcltk::tkconfigure(getAmelia("showLogButton"), state = "normal") amelia_save(getAmelia("ameliaObject"), tcltk::tclvalue(getAmelia("outname")), as.numeric(tcltk::tclvalue(getAmelia("outnum")))) tcltk::tkgrid(getAmelia("allgood.label"), row = 2, column = 7, sticky ="e", padx = 10) putAmelia("runState", "allgood") } } amelia_save <- function(out,outname,m) { save.type <- as.numeric(tcltk::tclvalue(getAmelia("outtype"))) if (save.type == 1) { write.amelia(out, file.stem = outname, format = "csv", row.names = FALSE) } if (save.type == 2) { write.amelia(out, file.stem = outname, extension = "txt", format = "table", row.names = FALSE) } if (save.type == 3) { write.amelia(out, file.stem = outname, format = "dta", version = 6) } if (save.type == 4) { write.amelia(out, file.stem = outname, format = "dta", version = 7) } if (save.type == 5) { write.amelia(out, file.stem = outname, format = "dta", version = 8) } if (save.type == 6) { write.amelia(out, file.stem = outname, format = "dta", version = 10) } if (save.type == 7) { write.amelia(out, file.stem = outname, format = "dta", separate = FALSE, version = 10) } if (save.type == 8) { save(list = "ameliaObject", envir = ameliaEnv, file = paste(outname, ".RData", sep = "")) } } set.out<-function(...) { putAmelia("output.select",as.numeric(tcltk::tkget(getAmelia("output.drop.box")))) } setTS <- function() { tsvartemp <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"selection")), " ")[[1]] if (length(tsvartemp) > 1) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Only one variable can be set as the times-series variable.",icon="error",type="ok") return(NULL) } if (!is.null(getAmelia("csvar"))) { if (getAmelia("csvar") == tsvartemp) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="A variable cannot be both the time-series and cross-section index.",icon="error",type="ok") return(NULL) } } if (!(sapply(getAmelia("amelia.data"), class)[tsvartemp] %in% c("numeric","integer"))) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="The time-series index must be numeric.",icon="error",type="ok") return(NULL) } children <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"children","")), " ")[[1]] for(i in setdiff(children, getAmelia("csvar"))) tcltk::tcl(getAmelia("main.tree"), "item", i , image="") tcltk::tcl(getAmelia("main.tree"), "item", tsvartemp, image = getAmelia("clockIcon")) putAmelia("tsvar", tsvartemp) tcltk::tkentryconfigure(getAmelia("main.menu.options"),0, state="normal") dropTrans() } unsetTS <- function() { tsvartemp <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"selection")), " ")[[1]] sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you unset the time-series variable, you will lose any time-series settings such as lags, leads, or polynomials of time. Unset the time-series variable?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) tcltk::tcl(getAmelia("main.tree"), "item", tsvartemp, image = "") putAmelia("tsvar", NULL) tcltk::tkentryconfigure(getAmelia("main.menu.options"),0, state="disabled") putAmelia("lags",vector("numeric",ncol(getAmelia("amelia.data")))) putAmelia("leads",vector("numeric",ncol(getAmelia("amelia.data")))) children <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"children","")), " ")[[1]] for(i in children) { tcltk::tkset(getAmelia("main.tree"), i, "lag", "") tcltk::tkset(getAmelia("main.tree"), i, "lead", "") } } unsetCS <- function() { csvartemp <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"selection")), " ")[[1]] sure<-tcltk::tkmessageBox(parent=getAmelia("gui"), message="If you unset the cross-section variable, you will lose any cross-section settings. Unset the cross-section variable?",icon="question",type="yesno") if (tcltk::tclvalue(sure) == "no") return(NULL) tcltk::tcl(getAmelia("main.tree"), "item", csvartemp, image = "") putAmelia("csvar", NULL) tcltk::tkentryconfigure(getAmelia("main.menu.options"),0, state="normal") if (is.factor(getAmelia("amelia.data")[,csvartemp]) | is.character(getAmelia("amelia.data")[,csvartemp])) { tcltk::tcl(getAmelia("main.tree"), "item", csvartemp, image = getAmelia("redFlagIcon")) } } setCS <- function() { csvartemp <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"selection")), " ")[[1]] if (length(csvartemp) > 1) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="Only one variable can be set as the cross-section variable.",icon="error",type="ok") return(NULL) } if (!is.null(getAmelia("tsvar"))) { if (getAmelia("tsvar") == csvartemp) { tcltk::tkmessageBox(parent=getAmelia("gui"), message="A variable cannot be both the time-series and cross-section index.",icon="error",type="ok") return(NULL) } } if (!is.null(getAmelia("csvar"))) { if (is.factor(getAmelia("amelia.data")[,getAmelia("csvar")]) | is.character(getAmelia("amelia.data")[,getAmelia("csvar")])) { tcltk::tcl(getAmelia("main.tree"), "item", getAmelia("csvar"), image = getAmelia("redFlagIcon")) } else { tcltk::tcl(getAmelia("main.tree"), "item", getAmelia("csvar"), image = "") } } dropTrans() tcltk::tcl(getAmelia("main.tree"), "item", csvartemp, image = getAmelia("userIcon")) putAmelia("csvar", csvartemp) tcltk::tkentryconfigure(getAmelia("main.menu.options"),1,state="normal") tcltk::tkentryconfigure(getAmelia("main.menu.options"), 1, variable = getAmelia("intercs")) } fillMainTree <- function() { children <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"children","")), " ")[[1]] tcltk::tkdelete(getAmelia("main.tree"), children) for (i in names(getAmelia("amelia.data"))) { if (is.factor(getAmelia("amelia.data")[,i]) | is.character(getAmelia("amelia.data")[,i])) { vals <- c("","","","","(factor)","...","...","...") vals <- c(vals,paste(sum(is.na(getAmelia("amelia.data")[,i])), nrow(getAmelia("amelia.data")), sep="/")) } else { vals <- c(min(getAmelia("amelia.data")[,i],na.rm=T), max(getAmelia("amelia.data")[,i],na.rm=T), mean(getAmelia("amelia.data")[,i],na.rm=T), sd(getAmelia("amelia.data")[,i],na.rm=T)) vals <- signif(vals, digits = 4) vals <- c("","","","", vals, paste(sum(is.na(getAmelia("amelia.data")[,i])), nrow(getAmelia("amelia.data")), sep="/")) } tcltk::tkinsert(getAmelia("main.tree"),"","end", id = i,tag="normal",text = i, values = vals) } bandTree() return() } #' Interactive GUI for Amelia #' #' Brings up the AmeliaView graphical interface, which allows users to load datasets, #' manage options and run Amelia from a traditional windowed environment. #' #' @details #' Requires the tcltk package. #' AmeliaView<-function() { ##Preamble requireNamespace("tcltk") || stop("The package 'tcltk' is required") if (.Platform$OS.type != "windows") { tcltk::tcl("ttk::style", "theme", "use", "clam") tcltk::tkfont.configure("TkHeadingFont", weight="normal") tcltk::tkfont.configure("TkCaptionFont", weight="normal") } ## If the current working directory is not writable, move to a ## sensible default locations: the HOME dir if (file.access(getwd(), mode = 2) == -1) { if (file.access(Sys.getenv("HOME"), mode = 0) == 0 & file.access(Sys.getenv("HOME"), mode = 2) == 0) { setwd(Sys.getenv("HOME")) } } tcltk::tclServiceMode(on=FALSE) putAmelia("outname", tcltk::tclVar("outdata")) putAmelia("outnum", tcltk::tclVar("5")) putAmelia("empri", tcltk::tclVar("0")) putAmelia("tol", tcltk::tclVar("0.0001")) putAmelia("amelia.data",NULL) putAmelia("am.filename",NULL) putAmelia("varnames", NULL) putAmelia("tsvar", NULL) putAmelia("csvar", NULL) putAmelia("varmin", NULL) putAmelia("varmax", NULL) putAmelia("runState", "noimps") putAmelia("session.flag", FALSE) putAmelia("intercs",tcltk::tclVar("0")) putAmelia("splinestime",tcltk::tclVar("0")) putAmelia("outtype", tcltk::tclVar("1")) putAmelia("max.resample", tcltk::tclVar("1000")) putAmelia("inname", tcltk::tclVar("")) putAmelia("seed", tcltk::tclVar("")) putAmelia("output.log", NULL) putAmelia("boundMin", tcltk::tclVar("")) putAmelia("boundMax", tcltk::tclVar("")) putAmelia("wdForLastImputation", getwd()) output.types <- c("(no save)", "CSV", "Tab Delimited", "Stata 6", "Stata 7", "Stata 8/9", "Stata 10+", "Stata 10+ (stacked)", "RData") ampath <- find.package(package = "Amelia")[1] ameliaFile <- file.path(ampath, "gui/gallery19.gif") goFile <- file.path(ampath, "gui/action_go.gif") tableFile <- file.path(ampath, "gui/table.gif") rFile <- file.path(ampath, "gui/page-R.gif") dtaFile <- file.path(ampath, "gui/page_dta.gif") spssFile <- file.path(ampath, "gui/page_spss.gif") clockFile <- file.path(ampath, "gui/icon_clock.gif") userFile <- file.path(ampath, "gui/icon_user.gif") upFile <- file.path(ampath, "gui/arrow_up.gif") downFile <- file.path(ampath, "gui/arrow_down.gif") worldFile <- file.path(ampath, "gui/icon_world.gif") pageTextFile <- file.path(ampath, "gui/page_text.gif") pageEditFile <- file.path(ampath, "gui/page_edit.gif") histFile <- file.path(ampath, "gui/histogram.gif") saveFile <- file.path(ampath, "gui/action_save.gif") pageUpFile <- file.path(ampath, "gui/page_up.gif") redStopFile <- file.path(ampath, "gui/action_stop.gif") redFlagFile <- file.path(ampath, "gui/flag_red.gif") greenCheckFile <- file.path(ampath, "gui/icon_accept.gif") putAmelia("ameliaPic", tcltk::tkimage.create("photo", file=ameliaFile)) putAmelia("action.go.icon", tcltk::tkimage.create("photo", file = goFile)) putAmelia("tablePic", tcltk::tkimage.create("photo", file = tableFile)) putAmelia("rPic", tcltk::tkimage.create("photo", file = rFile)) putAmelia("dtaPic", tcltk::tkimage.create("photo", file = dtaFile)) putAmelia("spssPic", tcltk::tkimage.create("photo", file = spssFile)) putAmelia("clockIcon", tcltk::tkimage.create("photo", file = clockFile)) putAmelia("userIcon", tcltk::tkimage.create("photo", file = userFile)) putAmelia("worldIcon", tcltk::tkimage.create("photo", file = worldFile)) putAmelia("upArrowIcon", tcltk::tkimage.create("photo", file = upFile)) putAmelia("downArrowIcon", tcltk::tkimage.create("photo", file = downFile)) putAmelia("histIcon", tcltk::tkimage.create("photo", file = histFile)) putAmelia("saveIcon", tcltk::tkimage.create("photo", file = saveFile)) putAmelia("pageUpIcon", tcltk::tkimage.create("photo", file = pageUpFile)) putAmelia("redFlagIcon", tcltk::tkimage.create("photo", file = redFlagFile)) putAmelia("redStopIcon", tcltk::tkimage.create("photo", file = redStopFile)) putAmelia("greenCheckIcon", tcltk::tkimage.create("photo", file = greenCheckFile)) putAmelia("pageTextIcon", tcltk::tkimage.create("photo", file = pageTextFile)) putAmelia("pageEditIcon", tcltk::tkimage.create("photo", file = pageEditFile)) putAmelia("gui", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("gui"), "AmeliaView") tcltk::tkwm.protocol(getAmelia("gui"),"WM_DELETE_WINDOW", function() main.close()) tcltk::tkwm.geometry(getAmelia("gui"), "800x500") ##Menu putAmelia("main.menu", tcltk::tkmenu(getAmelia("gui"))) putAmelia("main.menu.file", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.demo", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.import", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.options", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.splines", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.output", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.help", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.variables", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0, postcommand = variableOptionsPost)) putAmelia("main.menu.trans", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) putAmelia("main.menu.outfile", tcltk::tkmenu(getAmelia("main.menu"), tearoff=0)) tcltk::tkadd(getAmelia("main.menu.file"),"command",label="Load R Data File...",command=function()loadRData(), underline = 5) tcltk::tkadd(getAmelia("main.menu.import"),"command",label="Import comma-separated value data...", command=loadCSV, underline = 7) tcltk::tkadd(getAmelia("main.menu.import"),"command",label="Import tab-delimited data...", command=loadTAB, underline = 7) tcltk::tkadd(getAmelia("main.menu.import"),"command",label="Import Stata dta file...", command=loadStata, underline = 13) tcltk::tkadd(getAmelia("main.menu.import"),"command",label="Import SPSS data...", command=loadSPSS, underline = 7) tcltk::tkadd(getAmelia("main.menu.import"),"command",label="Import SAS Transport data...", command=loadSAS, underline = 8) tcltk::tkadd(getAmelia("main.menu.file"),"cascade",menu=getAmelia("main.menu.import"),label="Import Data", underline = 0) tcltk::tkadd(getAmelia("main.menu.demo"),"command",label="africa", command=function() loadDemo(name="africa"), underline = 0) tcltk::tkadd(getAmelia("main.menu.demo"),"command",label="freetrade", command=function() loadDemo(name="freetrade"), underline = 0) tcltk::tkadd(getAmelia("main.menu.file"),"cascade",menu=getAmelia("main.menu.demo"),label="Load Package Data", underline = 5) tcltk::tkadd(getAmelia("main.menu.file"),"command",command = setWorkingDir,label="Set Working Directory...", underline = 4) tcltk::tkadd(getAmelia("main.menu.file"),"command",label="Edit Data...", command=function(){putAmelia("amelia.data", edit(getAmelia("amelia.data")));updateTreeStats()},state="disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.file"),"separator") tcltk::tkadd(getAmelia("main.menu.file"),"command",label="Load Session...",command=function()load.session(), underline = 0) tcltk::tkadd(getAmelia("main.menu.file"),"command",label="Save Session...",command=function()save.session(), state="disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.file"),"separator") tcltk::tkadd(getAmelia("main.menu.file"),"command",label="Quit Amelia",command=function()main.close(), underline = 0) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Set as Time-Series Variable", command = setTS, state = "disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Set as Cross-Section Variable", command = setCS, state = "disabled", underline = 7) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Unset as Time-Series Variable", command = unsetTS, state = "disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Unset as Cross-Section Variable", command = unsetCS, state = "disabled", underline = 23) tcltk::tkadd(getAmelia("main.menu.variables"),"separator") tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Add Lag", command = function() addLag(), state = "disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Add Lead", command = function() addLead(), state = "disabled", underline = 4) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Remove Lag", command = function() dropLag(), state = "disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Remove Lead", command = function() dropLead(), state = "disabled", underline = 1) tcltk::tkadd(getAmelia("main.menu.variables"),"separator") tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Plot Histogram(s) of Selected", command = plotHist, state = "disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.trans"), "command", label = "Log", command = function(x) setTrans("logs"), underline = 0) tcltk::tkadd(getAmelia("main.menu.trans"), "command", label = "Square Root", command = function(x) setTrans("sqrt"), underline = 0) tcltk::tkadd(getAmelia("main.menu.trans"), "command", label = "Logistic", command = function(x) setTrans("lgstc"), underline = 1) tcltk::tkadd(getAmelia("main.menu.trans"), "command", label = "Nominal", command = function(x) setTrans("noms"), underline = 0) tcltk::tkadd(getAmelia("main.menu.trans"), "command", label = "Ordinal", command = function(x) setTrans("ords"), underline = 0) tcltk::tkadd(getAmelia("main.menu.trans"), "command", label = "ID Variable", command = function(x) setTrans("idvar"), underline = 0) tcltk::tkadd(getAmelia("main.menu.variables"), "cascade", label = "Add Transformation...", menu = getAmelia("main.menu.trans"), state = "disabled", underline = 4) tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Remove Transformations", command = dropTrans, state = "disabled", underline = 2) tcltk::tkadd(getAmelia("main.menu.variables"),"separator") tcltk::tkadd(getAmelia("main.menu.variables"), "command", label = "Add or Edit Bounds", command = addBounds, state = "disabled", underline = 12) for (i in 0:10) tcltk::tkadd(getAmelia("main.menu.splines"), "radiobutton", variable = getAmelia("splinestime"), label = paste(i,"knots"), value = i, underline = 0) tcltk::tkadd(getAmelia("main.menu.options"), "cascade", label = "Splines of Time with...", menu = getAmelia("main.menu.splines"), state="disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.options"), "checkbutton", label = "Interact Spline With Cross-Section?", variable = getAmelia("intercs"), onvalue=1,offvalue=0, state="disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.options"),"separator") tcltk::tkadd(getAmelia("main.menu.options"),"command", label = "Add Observations Priors...", command = gui.pri.setup, state="disabled", underline = 17) tcltk::tkadd(getAmelia("main.menu.options"), "separator") tcltk::tkadd(getAmelia("main.menu.options"), "command", label = "Numerical Options", command = buildNumericalOptions, state = "disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.options"), "command", label = "Draw Missingness Map", command = drawMissMap, state="disabled", underline = 5) tcltk::tkadd(getAmelia("main.menu.options"), "command", label = "Output File Options...", command = buildOutputOptions, state = "disabled", underline = 0) for (i in 1:length(output.types)) { tcltk::tkadd(getAmelia("main.menu.outfile"), "radiobutton", variable = getAmelia("outtype"), label = output.types[i], value = i-1) } tcltk::tkadd(getAmelia("main.menu.options"), "cascade", label = "Output File Type...", menu = getAmelia("main.menu.outfile"), state = "disabled", underline = 7) tcltk::tkadd(getAmelia("main.menu.output"),"command", label = "Imputation Diagnostics...", command = gui.diag.setup, state="disabled", underline = 11) tcltk::tkadd(getAmelia("main.menu.output"),"command", label = "Output Log", command = show.output.log, state="disabled", underline = 0) tcltk::tkadd(getAmelia("main.menu.output"),"command", label = "Open Folder Containing Imputated Data", command = showImputedFiles, state="disabled", underline = 12) tcltk::tkadd(getAmelia("main.menu.help"),"command",label="Amelia Website",command= function()browseURL("http://gking.harvard.edu/amelia/"), underline = 7) tcltk::tkadd(getAmelia("main.menu.help"),"command",label="Documentation",command= function() browseURL("http://gking.harvard.edu/amelia/docs/"), underline = 0) tcltk::tkadd(getAmelia("main.menu.help"),"command",label="About...",command= function()buildAboutDialog(), underline = 0) tcltk::tkadd(getAmelia("main.menu"),"cascade",label="File", menu = getAmelia("main.menu.file"), underline = 0) tcltk::tkadd(getAmelia("main.menu"),"cascade",label="Variables", menu = getAmelia("main.menu.variables"), underline = 0) tcltk::tkadd(getAmelia("main.menu"),"cascade",label="Options", menu = getAmelia("main.menu.options"), underline = 0) tcltk::tkadd(getAmelia("main.menu"),"cascade",label="Output", menu = getAmelia("main.menu.output"), underline = 1) tcltk::tkadd(getAmelia("main.menu"),"cascade",label="Help", menu = getAmelia("main.menu.help"), underline = 0) tcltk::tkconfigure(getAmelia("gui"), menu = getAmelia("main.menu")) ## Welcome Screen putAmelia("gui.welcome", tcltk::ttkframe(getAmelia("gui"))) ameliaPicLabel <- tcltk::ttklabel(getAmelia("gui.welcome"), relief = "groove", image = getAmelia("ameliaPic")) loadRButton <- tcltk::ttkbutton(getAmelia("gui.welcome"), text = "Load R Data", image = getAmelia("rPic"), compound = "top", command = loadRData) loadCSVButton <- tcltk::ttkbutton(getAmelia("gui.welcome"), text = "Import CSV", image = getAmelia("tablePic"), compound = "top", command = loadCSV) loadStataButton <- tcltk::ttkbutton(getAmelia("gui.welcome"), text = "Import STATA", image = getAmelia("dtaPic"), compound = "top", command = loadStata) loadSPSSButton <- tcltk::ttkbutton(getAmelia("gui.welcome"), text = "Import SPSS", image = getAmelia("spssPic"), compound = "top", command = loadSPSS) loadDemoButton <- tcltk::ttkbutton(getAmelia("gui.welcome"), text = "Load Demo", image = getAmelia("tablePic"), compound = "top", command = function () loadDemo(name = "africa")) tcltk::tkgrid(ameliaPicLabel, row = 0, column = 0, columnspan = 6, padx = 10, pady = 10) tcltk::tkgrid(tcltk::ttklabel(getAmelia("gui.welcome"), text=paste("Welcome to AmeliaView ",packageDescription("Amelia", fields="Version"), "!", sep="")), row = 1, column = 0, columnspan = 6, padx = 10, pady = 10) tcltk::tkgrid(tcltk::ttklabel(getAmelia("gui.welcome"), text="Please load a dataset:"), row = 2, column = 0, columnspan = 6, padx = 10, pady = 10) tcltk::tkgrid(loadRButton, row = 3, column = 0, padx = 10, pady = 10) tcltk::tkgrid(loadCSVButton, row = 3, column = 1, padx = 10, pady = 10) tcltk::tkgrid(loadStataButton, row = 3, column = 2, padx = 10, pady = 10) tcltk::tkgrid(loadSPSSButton, row = 3, column = 3, padx = 10, pady = 10) tcltk::tkgrid(loadDemoButton, row = 3, column = 4, padx = 10, pady = 10) tcltk::tkgrid(getAmelia("gui.welcome"), row = 0, column = 0) ##Frame putAmelia("gui.skel", tcltk::ttkpanedwindow(getAmelia("gui"), orient = "vertical")) ############### ### Toolbar ### ############### toolbar <- tcltk::ttkframe(getAmelia("gui.skel")) putAmelia("loadSessionButton", tcltk::ttkbutton(toolbar, text = "Load Session", command = load.session, image = getAmelia("pageUpIcon"), compound = "top", style="Toolbutton")) putAmelia("saveSessionButton", tcltk::ttkbutton(toolbar, text = "Save Session", command = save.session, image = getAmelia("saveIcon"), compound = "top", style="Toolbutton")) putAmelia("plotHistButton", tcltk::ttkbutton(toolbar, text = "Plot Histogram", state = "disabled", command = plotHist, image = getAmelia("histIcon"), compound = "top", style="Toolbutton")) putAmelia("editDataButton", tcltk::ttkbutton(toolbar, text = "Edit Data", state = "disabled", command = function(){putAmelia("amelia.data", edit(getAmelia("amelia.data")));updateTreeStats()}, image = getAmelia("pageEditIcon"), compound = "top", style="Toolbutton")) putAmelia("missmapButton", tcltk::ttkbutton(toolbar, text = "Missingness Map", state = "disabled", command = drawMissMap, image = getAmelia("worldIcon"), compound = "top", style="Toolbutton")) putAmelia("output.run", tcltk::ttkbutton(toolbar,text="Impute!", state = "disabled", command = run.amelia, image = getAmelia("action.go.icon"), compound = "top", style="Toolbutton")) putAmelia("showLogButton", tcltk::ttkbutton(toolbar, text = "Output Log", state = "disabled", command = show.output.log, image = getAmelia("pageTextIcon"), compound = "top", style="Toolbutton")) tcltk::tkgrid(getAmelia("loadSessionButton"), row =0, column = 0, sticky = "ew") tcltk::tkgrid(getAmelia("saveSessionButton"), row =0, column = 1, sticky = "ew") tcltk::tkgrid(tcltk::ttkseparator(toolbar, orient = "vertical"), row = 0, column = 2, padx=5, pady=5, sticky="ns") tcltk::tkgrid(getAmelia("plotHistButton"), row = 0, column = 3, sticky = "ew") tcltk::tkgrid(getAmelia("editDataButton"), row = 0, column = 4, sticky = "ew") tcltk::tkgrid(getAmelia("missmapButton"), row = 0, column = 5, sticky="ew") tcltk::tkgrid(tcltk::ttkseparator(toolbar, orient = "vertical"), row = 0, column = 6, padx=5, pady=5, sticky="ns") tcltk::tkgrid(getAmelia("output.run"), row = 0 , column = 7, sticky = "ew") tcltk::tkgrid(getAmelia("showLogButton"), row = 0, column = 8, sticky = "ew") ########################## ### Variable Dashboard ### ########################## dashboard <- tcltk::ttkframe(getAmelia("gui.skel")) yscr <- tcltk::ttkscrollbar(dashboard, orient = "vertical", command=function(...)tcltk::tkyview(getAmelia("main.tree"),...)) xscr <- tcltk::ttkscrollbar(dashboard, orient = "horizontal", command=function(...)tcltk::tkxview(getAmelia("main.tree"),...)) sorts <- rep(FALSE, times = 10) names(sorts) <- c("#0","transform","lag", "lead","bounds", "min", "max", "mean", "sd", "miss") putAmelia("sortDirs", sorts) putAmelia("main.tree", tcltk::ttktreeview(dashboard, columns = "transform lag lead bounds min max mean sd miss", yscrollcommand=function(...)tcltk::tkset(yscr,...), xscrollcommand=function(...)tcltk::tkset(xscr,...), selectmode = "extended")) #putAmelia("sum.right.click",tcltk::tkmenu(getAmelia("main.tree"), tearoff = FALSE) ) #tcltk::tkadd(getAmelia("sum.right.click"), "command", label = "Plot Histogram of Selected", command = function() sum.plot()) #tcltk::tkbind(getAmelia("main.tree"), "", RightClick) #putAmelia("sum.right.dis",tcltk::tkmenu(getAmelia("main.tree"), tearoff = FALSE) ) #tcltk::tkadd(getAmelia("sum.right.dis"), "command", label = "Plot Histogram of Selected", state = "disabled") tcltk::tcl(getAmelia("main.tree"), "column", "#0", width = 70, minwidth = 80) tcltk::tcl(getAmelia("main.tree"), "column", 0, width = 78, minwidth = 78, anchor = "center") tcltk::tcl(getAmelia("main.tree"), "column", 1, width = 20, minwidth = 20, anchor = "center") tcltk::tcl(getAmelia("main.tree"), "column", 2, width = 20, minwidth = 20, anchor = "center") tcltk::tcl(getAmelia("main.tree"), "column", 3, width = 50, minwidth = 50, anchor = "e") tcltk::tcl(getAmelia("main.tree"), "column", 4, width = 50, minwidth = 50, anchor = "e") tcltk::tcl(getAmelia("main.tree"), "column", 5, width = 50, minwidth = 50, anchor = "e") tcltk::tcl(getAmelia("main.tree"), "column", 6, width = 50, minwidth = 50, anchor = "e") tcltk::tcl(getAmelia("main.tree"), "column", 7, width = 50, minwidth = 50, anchor = "e") tcltk::tcl(getAmelia("main.tree"), "column", 8, width = 50, minwidth = 50, anchor = "e") tcltk::tcl(getAmelia("main.tree"), "heading", "#0", text = "Variable", command = function() sortTreeBy("#0")) tcltk::tcl(getAmelia("main.tree"), "heading", 0, text = "Transformation", command = function() sortTreeBy("transform")) tcltk::tcl(getAmelia("main.tree"), "heading", 1, text = "Lag", command = function() sortTreeBy("lag")) tcltk::tcl(getAmelia("main.tree"), "heading", 2, text = "Lead", command = function() sortTreeBy("lead")) tcltk::tcl(getAmelia("main.tree"), "heading", 3, text = "Bounds", command = function() sortTreeBy("lower")) tcltk::tcl(getAmelia("main.tree"), "heading", 4, text = "Min", command = function() sortTreeBy("min")) tcltk::tcl(getAmelia("main.tree"), "heading", 5, text = "Max", command = function() sortTreeBy("max")) tcltk::tcl(getAmelia("main.tree"), "heading", 6, text = "Mean", command = function() sortTreeBy("mean")) tcltk::tcl(getAmelia("main.tree"), "heading", 7, text = "SD", command = function() sortTreeBy("sd")) tcltk::tcl(getAmelia("main.tree"), "heading", 8, text = "Missing", command = function() sortTreeBy("miss")) tcltk::tkbind(getAmelia("main.tree"), "", mainTreeRightClick) ## Windows 7 doesn't handle treeview selection correctly selectbg <- tcltk::tcl("ttk::style","configure",".","-selectbackground") selectfg <- tcltk::tcl("ttk::style","configure",".","-selectforeground") tcltk::tktag.configure(getAmelia("main.tree"),"normal", background="white") tcltk::tktag.configure(getAmelia("main.tree"),"selected", background=selectbg, foreground=selectfg) tcltk::tkbind(getAmelia("main.tree"),"<>",function() refreshSelection(getAmelia("main.tree"))) putAmelia("legendFrame", tcltk::ttkframe(dashboard)) tcltk::tkgrid(tcltk::ttklabel(getAmelia("legendFrame"), text="= Time-Series Variable", image = getAmelia("clockIcon"), compound = "left"), row = 0, column = 0, sticky="w", padx = 5) tcltk::tkgrid(tcltk::ttklabel(getAmelia("legendFrame"), text="= Cross-Section Variable", image = getAmelia("userIcon"), compound = "left"), row = 0, column = 1, sticky="w", padx = 5) tcltk::tkgrid(tcltk::ttklabel(getAmelia("legendFrame"), text="= Unhandled Factor Variable", image = getAmelia("redFlagIcon"), compound = "left"), row = 0, column = 2, sticky="w", padx = 5) tcltk::tkgrid(getAmelia("main.tree"), row=0,column=0, sticky="news") tcltk::tkgrid(yscr, row = 0, column = 1, sticky = "ns") tcltk::tkgrid(xscr, row = 1, column = 0, sticky = "ew") tcltk::tkgrid(getAmelia("legendFrame"), row = 2, column = 0, sticky = "ew") tcltk::tkgrid.rowconfigure(dashboard, 0, weight = 1) tcltk::tkgrid.columnconfigure(dashboard, 0, weight = 1) ##Output Frame ##output options, run button, diag ##output options ##grid the whole thing tcltk::tkadd(getAmelia("gui.skel"), toolbar) tcltk::tkadd(getAmelia("gui.skel"), dashboard) tcltk::tkgrid(toolbar, row = 0, column = 1, padx = 2, pady=2, sticky = "ew") tcltk::tkgrid(dashboard,row = 1, column = 1, sticky = "news", padx = 10, pady = 5) tcltk::tkgrid.rowconfigure(getAmelia("gui.skel"), 1, weight = 1) tcltk::tkgrid.columnconfigure(getAmelia("gui.skel"), 1, weight = 1) #tcltk::tkgrid(gui.skel,sticky="news") tcltk::tkgrid.rowconfigure(getAmelia("gui"), 0, weight = 1) tcltk::tkgrid.columnconfigure(getAmelia("gui"), 0, weight = 1) ##statusbar at the bottom. putAmelia("statusbar", tcltk::ttkframe(getAmelia("gui"), relief = "groove", borderwidth = 3)) statusbar.lab1a <- tcltk::ttklabel(getAmelia("statusbar"), text = "Data Loaded:", anchor = "w", padding = c(2,0)) putAmelia("statusbar.lab1b", tcltk::ttklabel(getAmelia("statusbar"), text = "Unspecified", relief = "sunken", anchor = "w", foreground = "red",padding = c(2,0), width = 35)) statusbar.nlab <- tcltk::ttklabel(getAmelia("statusbar"), text = "Obs:", anchor="e", padding = c(2,0)) putAmelia("statusbar.n", tcltk::ttklabel(getAmelia("statusbar"), text = "----", relief = "sunken", anchor = "w", foreground = "red",padding = c(2,0,0,0), width = 6)) statusbar.klab <- tcltk::ttklabel(getAmelia("statusbar"), text = "Vars:", anchor="e", padding = c(2,0)) putAmelia("statusbar.k", tcltk::ttklabel(getAmelia("statusbar"), text = "----", relief = "sunken", anchor = "w", foreground = "red", padding = c(2,0,0,0), width = 6)) putAmelia("runAmeliaProgress", tcltk::ttkprogressbar(getAmelia("statusbar"), value = 0, length = 200, mode = "determinate")) putAmelia("error.label", tcltk::ttkbutton(getAmelia("statusbar"), text = "Error! See Output Log.", image = getAmelia("redStopIcon"), compound = "left", style = "Toolbutton", command = show.output.log)) putAmelia("allgood.label", tcltk::ttkbutton(getAmelia("statusbar"), text = "Successful Imputation.", image = getAmelia("greenCheckIcon"), compound = "left", style = "Toolbutton", command = showImputedFiles)) putAmelia("noimps.label", tcltk::ttklabel(getAmelia("statusbar"), text = "No imputations run.", justify = "right")) tcltk::tkgrid(statusbar.lab1a,row = 2, column = 1, sticky="w") tcltk::tkgrid(getAmelia("statusbar.lab1b"),row = 2, column = 2, sticky="w") tcltk::tkgrid(statusbar.nlab,row = 2, column = 3, sticky="w") tcltk::tkgrid(getAmelia("statusbar.n"),row = 2, column = 4, sticky="w") tcltk::tkgrid(statusbar.klab,row = 2, column = 5, sticky="w") tcltk::tkgrid(getAmelia("statusbar.k"), row = 2, column = 6, sticky = "w") tcltk::tkgrid(getAmelia("noimps.label"), row = 2, column = 7, sticky ="e", padx = 10) tcltk::tkgrid.rowconfigure(getAmelia("statusbar"), 2, weight = 1) #tcltk::tkgrid(statusbar, sticky = "sew") bindTooltip(widget = "output.run", tip = "Run Amelia on your input dataset with the current settings.") # bindTooltip(widget = "output.diag", tip = "Post-imputation checks for problems in the imputation.") bindTooltip(widget = "runAmeliaProgress", tip = "Amelia is currently running and this shows its progress. On large datasets, Amelia may take quite some time.") # bindTooltip(widget = "output.drop.label", tip = "Set the file format for saving the imputed datasets, if you want to save them.") # bindTooltip(widget = "output.drop.box", tip = "Set the file format for saving the imputed datasets, if you want to save them.") bindTooltip(widget = "showLogButton", tip = "Show the output log for the Amelia run. From here, you can save the output. Look here if something went wrong.") bindTooltip(widget = "missmapButton", tip = "Show a map of the missingnes in the data.") bindTooltip(widget = "editDataButton", tip = "Edit individual cells of the data set.") bindTooltip(widget = "plotHistButton", tip = "Plot histogram(s) of the selected variable(s).") bindTooltip(widget = "loadSessionButton", tip = "Load a previously saved Amelia session. This will remove any current settings.") bindTooltip(widget = "saveSessionButton", tip = "Save the current Amelia session. This will save the data, settings, and any imputed data in the Amelia session.") bindTooltip(widget = "legendFrame", tip = "A legend for the icons used in the variable dashboard.") bindTooltip(widget = "noimps.label", tip = "No imputations have been run yet. To run Amelia, hit the 'Impute!' button in the toolbar.") bindTooltip(widget = "allgood.label", tip = "Amelia has run successfully! You can now run imputation diagnostics from the 'Output' menu above. If you chose to save the imputations to file, they should be saved in the working directory. Click here to open the containing folder..") bindTooltip(widget = "error.label", tip = "There was an error the last time you ran Amelia. Click here to open the output log to identify the problem and to see how to fix it.") ## these commands force R to wait for tcltk if (.Platform$OS.type == "windows") tcltk::tkwm.iconbitmap(getAmelia("gui"),file.path(find.package(package = "Amelia")[1], "gui/amelia.ico")) tcltk::tkraise(getAmelia("gui")) tcltk::tkwm.deiconify(getAmelia("gui")) tcltk::tkfocus(getAmelia("gui")) tcltk::tclServiceMode(on = TRUE) tcltk::tkwait.window(getAmelia("gui")) } buildNumericalOptions <- function() { onCancel <- function(){ tcltk::tcl("set", getAmelia("seed"), getAmelia("temp.seed")) tcltk::tcl("set", getAmelia("tol"), getAmelia("temp.tol")) tcltk::tkwm.withdraw(getAmelia("numericalWindow")) tcltk::tkgrab.release(getAmelia("numericalWindow")) tcltk::tkfocus(getAmelia("gui")) } putAmelia("temp.seed", tcltk::tclvalue(getAmelia("seed"))) putAmelia("temp.tol", tcltk::tclvalue(getAmelia("tol"))) if (exists("numericalWindow", envir = ameliaEnv)) { tcltk::tkwm.deiconify(getAmelia("numericalWindow")) tcltk::tkraise(getAmelia("numericalWindow")) return() } putAmelia("numericalWindow", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("numericalWindow"), "Numerical Options") numericalBox <- tcltk::ttkframe(getAmelia("numericalWindow")) putAmelia("output.seedlab", tcltk::ttklabel(numericalBox, text="Seed:")) putAmelia("output.seed", tcltk::ttkentry(numericalBox, width="7", textvariable=getAmelia("seed"))) putAmelia("output.tollab", tcltk::ttklabel(numericalBox, text="Tolerance:")) putAmelia("output.tol", tcltk::ttkentry(numericalBox, width="7", textvariable=getAmelia("tol"))) putAmelia("empri.ent", tcltk::ttkentry(numericalBox, width=7,textvariable = getAmelia("empri"))) putAmelia("empri.label", tcltk::ttklabel(numericalBox,text="Ridge prior:")) putAmelia("maxre.ent", tcltk::ttkentry(numericalBox, width=7,textvariable = getAmelia("max.resample"))) putAmelia("maxre.label", tcltk::ttklabel(numericalBox,text="Maximum Resample for Bounds:")) buttonBox <- tcltk::ttkframe(numericalBox) okButton <- tcltk::ttkbutton(buttonBox, text = "OK", width = 10, command = function() {tcltk::tkwm.withdraw(getAmelia("numericalWindow"));tcltk::tkgrab.release(getAmelia("numericalWindow"));tcltk::tkfocus(getAmelia("gui"))}) cancelButton <- tcltk::ttkbutton(buttonBox, width = 10, text = "Cancel", command = onCancel) tcltk::tkgrid(getAmelia("output.seedlab"), row = 1, column = 1, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("output.seed"), row = 1, column = 2, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("output.tollab"), row = 2, column = 1, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("output.tol"), row = 2, column = 2, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("empri.label"), row = 3, column = 1, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("empri.ent"), row = 3, column = 2, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("maxre.label"), row = 4, column = 1, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("maxre.ent"), row = 4, column = 2, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(okButton, row = 0, column = 0, padx = 10, pady = 10) tcltk::tkgrid(cancelButton, row = 0, column = 1, padx = 10, pady = 10) tcltk::tkgrid(buttonBox, row = 5, column = 1, sticky = "e", columnspan = 2) tcltk::tkgrid(numericalBox, sticky = "news") tcltk::tkwm.protocol(getAmelia("numericalWindow"), "WM_DELETE_WINDOW", onCancel) centerModalDialog(getAmelia("numericalWindow"), resize=FALSE) bindTooltip(widget = "empri.ent", "Ridge prior that shrinks the covariances, which stabilizes estimation. Five percent of the number of observations is a useful default.") bindTooltip(widget = "empri.label", "Ridge prior that shrinks the covariances, which stabilizes estimation. Five percent of the number of observations is a useful default.") bindTooltip(widget = "output.seed", tip = "Set seed for random number generator. Useful if you need to replicate the exact same imputations.") bindTooltip(widget = "output.seedlab", tip = "Set seed for random number generator. Useful if you need to replicate the exact same imputations.") bindTooltip(widget = "output.tol", tip = "Set the tolerance for the Amelia run. This is the value used to determine when Amelia has converged. Higher values mean Amelia will coverge more quickly, but this may lead to a poor approximation of the parameters.") bindTooltip(widget = "output.tollab", tip = "Set the tolerance for the Amelia run. This is the value used to determine when Amelia has converged. Higher values mean Amelia will coverge more quickly, but this may lead to a poor approximation of the parameters.") bindTooltip(widget = "maxre.ent", tip = "Amelia fits bounds by rejecting any draws that do not fall within the bounds. This value sets the number of times Amelia should attempt to resample to fit the bounds before setting the imputation to the bound.") bindTooltip(widget = "maxre.label", tip = "Amelia fits bounds by rejecting any draws that do not fall within the bounds. This value sets the number of times Amelia should attempt to resample to fit the bounds before setting the imputation to the bound.") } buildOutputOptions <- function() { onCancel <- function(){ tcltk::tcl("set", getAmelia("outname"), getAmelia("temp.name")) tcltk::tcl("set", getAmelia("outnum"), getAmelia("temp.num")) tcltk::tkwm.withdraw(getAmelia("outputWindow")) tcltk::tkgrab.release(getAmelia("outputWindow")) tcltk::tkfocus(getAmelia("gui")) } putAmelia("temp.name", tcltk::tclvalue(getAmelia("outname"))) putAmelia("temp.num", tcltk::tclvalue(getAmelia("outnum"))) if (exists("outputWindow", envir = ameliaEnv)) { tcltk::tkwm.deiconify(getAmelia("outputWindow")) tcltk::tkraise(getAmelia("outputWindow")) return() } putAmelia("outputWindow", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("outputWindow"), "Output Options") outputBox <- tcltk::ttkframe(getAmelia("outputWindow")) putAmelia("output.label", tcltk::ttklabel(outputBox, text="Name the Imputed Dataset:")) putAmelia("output.entry", tcltk::ttkentry(outputBox, width="15", textvariable = getAmelia("outname"))) putAmelia("output.numlab", tcltk::ttklabel(outputBox, text = "Number of Imputed Datasets:")) putAmelia("output.num", tcltk::ttkentry(outputBox, width = "7", textvariable = getAmelia("outnum"))) buttonBox <- tcltk::ttkframe(outputBox) okButton <- tcltk::ttkbutton(buttonBox, text = "OK", width = 10, command = function() {tcltk::tkwm.withdraw(getAmelia("outputWindow"));tcltk::tkgrab.release(getAmelia("outputWindow"));tcltk::tkfocus(getAmelia("gui"))}) cancelButton <- tcltk::ttkbutton(buttonBox, width = 10, text = "Cancel", command = onCancel) tcltk::tkgrid(getAmelia("output.label"), row = 1, column = 1, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("output.entry"), row = 1, column = 2, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("output.numlab"), row = 2, column = 1, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("output.num"), row = 2, column = 2, sticky = "w", padx = 10, pady = 10) tcltk::tkgrid(okButton, row = 0, column = 0, padx = 10, pady = 10) tcltk::tkgrid(cancelButton, row = 0, column = 1, padx = 10, pady = 10) tcltk::tkgrid(buttonBox, row = 3, column = 1, sticky = "e", columnspan = 2) tcltk::tkgrid(outputBox, sticky = "news") tcltk::tkwm.protocol(getAmelia("outputWindow"), "WM_DELETE_WINDOW", onCancel) centerModalDialog(getAmelia("outputWindow"), resize=FALSE) bindTooltip(widget = "output.entry", tip = "The prefix for the saved imputed datasets. For most saving options they will be in the following format: \n\nmyprefix1.out\nmyprefix2.out\n...\n\nAnd so on, where \"out\" is the file extension.") bindTooltip(widget = "output.label", tip = "The prefix for the saved imputed datasets. For most saving options they will be in the following format: \n\nmyprefix1.out\nmyprefix2.out\n...\n\nAnd so on, where \"out\" is the file extension.") bindTooltip(widget = "output.num", tip = "Set the number of imputed datasets.\n\nIn many cases, around 5 is sufficient, but if the fraction of missingness is high, you may need more. Use the Summarize Data and Missingness Map above to get a sense for the amount of missingness in your data.") bindTooltip(widget = "output.numlab", tip = "Set the number of imputed datasets.\n\nIn many cases, around 5 is sufficient, but if the fraction of missingness is high, you may need more. Use the Summarize Data and Missingness Map above to get a sense for the amount of missingness in your data.") } buildAboutDialog <- function() { if (exists("aboutWindow", envir = ameliaEnv)) { tcltk::tkwm.deiconify(getAmelia("aboutWindow")) tcltk::tkraise(getAmelia("aboutWindow")) return() } putAmelia("aboutWindow", tcltk::tktoplevel(parent=getAmelia("gui"))) tcltk::tkwm.title(getAmelia("aboutWindow"), "About AmeliaView") aboutBox <- tcltk::ttkframe(getAmelia("aboutWindow"), height = 150, width = 200) #ameliaPic <- tcltk::tkimage.create("photo",file=ameliaFile) picLabel <- tcltk::ttklabel(aboutBox, image=getAmelia("ameliaPic"), relief="groove", borderwidth=2) tcltk::tkgrid(tcltk::ttkframe(aboutBox,width=100), row=0,column=1) tcltk::tkgrid(tcltk::ttkframe(aboutBox,height=150,width=0), row=0,column=0,rowspan=3) tcltk::tkgrid(picLabel, row = 1, column=1, pady = 20, padx = 20) tcltk::tkgrid(tcltk::ttklabel(aboutBox, text=paste("AmeliaView",packageDescription("Amelia", fields="Version")), justify="center"), row = 2, column = 1) tcltk::tkgrid(tcltk::ttklabel(aboutBox, text="James Honaker, Gary King, Matthew Blackwell", justify="center"), row = 3, column = 1, padx=20) tcltk::tkgrid(tcltk::ttklabel(aboutBox, text="\uA9 2006-2010", justify="center"), row = 4, column = 1, padx=20) buttonBox <- tcltk::ttkframe(aboutBox) closeButton <- tcltk::ttkbutton(buttonBox, text = "Close", command = function() {tcltk::tkwm.withdraw(getAmelia("aboutWindow"));tcltk::tkgrab.release(getAmelia("aboutWindow"));tcltk::tkfocus(getAmelia("gui"))}, width = 10) websiteButton <- tcltk::ttkbutton(buttonBox, text = "Website", command = function() browseURL("http://gking.harvard.edu/amelia/")) tcltk::tkgrid(websiteButton, row=0, column = 0, sticky="w", padx=10, pady=10) tcltk::tkgrid(closeButton, row=0, column = 0, sticky="e", padx=10, pady=10) tcltk::tkgrid.columnconfigure(buttonBox, 0, weight=1) tcltk::tkgrid(buttonBox, row=5, column = 1, sticky="ew") tcltk::tkgrid(aboutBox, sticky = "nsew") tcltk::tkwm.protocol(getAmelia("aboutWindow"), "WM_DELETE_WINDOW", function() {tcltk::tkwm.withdraw(getAmelia("aboutWindow"));tcltk::tkgrab.release(getAmelia("aboutWindow"));tcltk::tkfocus(getAmelia("gui"))}) centerModalDialog(getAmelia("aboutWindow"), resize=FALSE) } gui.pri.setup <- function() { cancelPriors <- function() { putAmelia("priorsmat", getAmelia("temp.priorsmat")) } onOK <- function() { nm <- c("dist","range")[getAmeliaInd("addpri.note")+1] varBox <- paste("add",nm,"var",sep=".") caseBox <- paste("add",nm,"case",sep=".") caseSelection <- as.numeric(tcltk::tcl(getAmelia(caseBox),"current")) varSelection <- as.numeric(tcltk::tcl(getAmelia(varBox),"current")) + 1 thiscase <- tcltk::tclvalue(tcltk::tkget(getAmelia(caseBox))) thisvar <- tcltk::tclvalue(tcltk::tkget(getAmelia(varBox))) if (caseSelection==0) { rowSelection <- 0 colSelection <- which(anyMissing)[varSelection] } else { rowSelection <- missingCases[caseSelection] colSelection <- which(is.na(getAmelia("amelia.data")[rowSelection,]))[varSelection] } # fork for range vs. dist if (nm == "range") { if (tcltk::tclvalue(getAmelia("priorMin"))=="") { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Please enter a minimum value.", type="ok",icon="error") return() } if (tcltk::tclvalue(getAmelia("priorMax"))=="") { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Please enter a maximum value.", type="ok",icon="error") return() } if (tcltk::tclvalue(getAmelia("priorConf"))=="") { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Please enter a confidence value.", type="ok",icon="error") return() } if (isTRUE(as.numeric(tcltk::tclvalue(getAmelia("priorConf"))) <= 0 | as.numeric(tcltk::tclvalue(getAmelia("priorConf"))) >= 1)) { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Confidence levels must be between 0 and 1.", type="ok",icon="error") return() } prMax <- as.numeric(tcltk::tclvalue(getAmelia("priorMax"))) prMin <- as.numeric(tcltk::tclvalue(getAmelia("priorMin"))) prCon <- as.numeric(tcltk::tclvalue(getAmelia("priorConf"))) if (prMax <= prMin) { tcltk::tkmessageBox(title="Error", message="The max is less than the min.", type="ok",icon="error") return() } prMean<- prMin + ((prMax-prMin)/2) prSD <-(prMax-prMin)/(2*qnorm(1-(1-prCon)/2)) #if dist prior } else { if (tcltk::tclvalue(getAmelia("priorMean"))=="") { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Please enter a mean value.", type="ok",icon="error") return() } if (tcltk::tclvalue(getAmelia("priorSD"))=="") { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Please enter a standard deviation.", type="ok",icon="error") return() } if (isTRUE(as.numeric(tcltk::tclvalue(getAmelia("priorSD"))) == 0)) { tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Error", message="Standard deviations must be greater than 0.", type="ok",icon="error") return() } prMean <- as.numeric(tcltk::tclvalue(getAmelia("priorMean"))) prSD <- as.numeric(tcltk::tclvalue(getAmelia("priorSD"))) } newPrior <- c(rowSelection, colSelection,prMean,prSD) if (!is.null(getAmelia("priorsmat"))) { matchPrior <- apply(getAmelia("priorsmat"), 1, function(x) all(x[1]==rowSelection, x[2]==colSelection)) } else { matchPrior <- FALSE } if (any(matchPrior)) { mess <- "There is a prior associate with this case. Overwrite?" over <- tcltk::tkmessageBox(parent=getAmelia("priorsWindow"), title="Overwrite Prior",message=mess, icon="question",type="yesno",default="no") if (tcltk::tclvalue(over)=="no") { return() } else { putAmelia("priorsmat",getAmelia("priorsmat")[-which(matchPrior),]) tcltk::tkdelete(getAmelia("priors.tree"), paste(rowSelection,colSelection,sep="-")) } } putAmelia("priorsmat",rbind(getAmelia("priorsmat"),newPrior)) ## need to change the treeview #updateTree() tcltk::tkinsert(getAmelia("priors.tree"),"","end", id = paste(rowSelection,colSelection,sep="-"), values = c(thisvar,prMean,prSD), text = thiscase,tag="normal") resetEntries() return() } validateNumeric <- function(x) { if (isTRUE(grep("(^-?[0-9]*\\.?[0-9]*$)",x)==1)) return(tcltk::tclVar("TRUE")) else return(tcltk::tclVar("FALSE")) } validateSD <- function(x) { if (isTRUE(grep("^[0-9]*\\.?[0-9]*$",x)==1)) return(tcltk::tclVar("TRUE")) else return(tcltk::tclVar("FALSE")) } validateConf <- function(x) { if (isTRUE(grep("^0*\\.[0-9]*$",x)==1)) return(tcltk::tclVar("TRUE")) else return(tcltk::tclVar("FALSE")) } setMissingVars <- function() { currentSelection <- as.numeric(tcltk::tcl(getAmelia("add.dist.case"), "current")) currentCase <- missingCases[currentSelection] if (currentSelection==0) missVars <- anyMissing else missVars <- is.na(getAmelia("amelia.data")[currentCase,]) missVarNames <- colnames(getAmelia("amelia.data"))[missVars] tcltk::tkconfigure(getAmelia("add.dist.var"),values = missVarNames) tcltk::tcl(getAmelia("add.dist.var"), "current", 0) } setMissingRangeVars <- function() { currentSelection <- as.numeric(tcltk::tcl(getAmelia("add.range.case"), "current")) currentCase <- missingCases[currentSelection] if (currentSelection==0) missVars <- anyMissing else missVars <- is.na(getAmelia("amelia.data")[currentCase,]) missVarNames <- colnames(getAmelia("amelia.data"))[missVars] tcltk::tkconfigure(getAmelia("add.range.var"),values = missVarNames) tcltk::tcl(getAmelia("add.range.var"), "current", 0) } resetEntries <- function() { tcltk::tcl("set", getAmelia("priorMin"),"") tcltk::tcl("set", getAmelia("priorMax"),"") tcltk::tcl("set", getAmelia("priorMean"),"") tcltk::tcl("set", getAmelia("priorSD"),"") tcltk::tcl("set", getAmelia("priorConf"),"") return() } updateTree <- function() { allrows <- paste(tcltk::tcl(getAmelia("priors.tree"),"children","")) tcltk::tkdelete(getAmelia("priors.tree"), allrows) if (is.null(getAmelia("priorsmat"))) { return() } varnames <- names(getAmelia("amelia.data")) cases <- paste(rownames(getAmelia("amelia.data")), ") ", getAmelia("amelia.data")[,getAmelia("csvar")]," ", getAmelia("amelia.data")[,getAmelia("tsvar")], sep="") cases <- c("(whole variable)", cases) for (i in 1:nrow(getAmelia("priorsmat"))) { thiscase <- cases[getAmelia("priorsmat")[i,1]+1] thisvar <- varnames[getAmelia("priorsmat")[i,2]] tcltk::tkinsert(getAmelia("priors.tree"),"","end", id = paste(getAmelia("priorsmat")[i,1],getAmelia("priorsmat")[i,2],sep="-"), values = c(thisvar,getAmelia("priorsmat")[i,c(3,4)]), text = thiscase,tag="normal") } return() } dropPriors <- function() { sel.pri <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("priors.tree"), "selection")), " ")[[1]] pri.mat.rows <- c() for (i in 1:length(sel.pri)) { pri.mat.rows <- c(pri.mat.rows, tcltk::tclvalue(tcltk::tkindex(getAmelia("priors.tree"),sel.pri[i]))) } pri.mat.rows <- as.numeric(pri.mat.rows) + 1 putAmelia("priorsmat", getAmelia("priorsmat")[-pri.mat.rows,, drop = FALSE]) tcltk::tkdelete(getAmelia("priors.tree"),paste(tcltk::tcl(getAmelia("priors.tree"), "selection"))) if (nrow(getAmelia("priorsmat")) == 0) putAmelia("priorsmat", NULL) return(NULL) } RightClick <- function(x, y) { # x and y are the mouse coordinates rootx <- as.integer(tcltk::tkwinfo("rootx", getAmelia("priors.tree"))) # tcltk::tkwinfo() return several infos rooty <- as.integer(tcltk::tkwinfo("rooty", getAmelia("priors.tree"))) xTxt <- as.integer(x) + rootx yTxt <- as.integer(y) + rooty # Create a Tcl command in a character string and run it tcltk::.Tcl(paste("tk_popup", tcltk::.Tcl.args(getAmelia("pri.right.click"), xTxt, yTxt))) } putAmelia("temp.priorsmat", getAmelia("priorsmat")) if (exists("priorsWindow", envir=ameliaEnv)) { updateTree() resetEntries() tcltk::tkwm.deiconify(getAmelia("priorsWindow")) tcltk::tkraise(getAmelia("priorsWindow")) tcltk::tkgrab(getAmelia("priorsWindow")) return() } putAmelia("priorsWindow", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("priorsWindow"),"Observational Priors") priorsBox <- tcltk::ttkframe(getAmelia("priorsWindow")) prior.frame <- tcltk::ttkpanedwindow(priorsBox, orient = "horizontal") prior.disp <- tcltk::ttklabelframe(prior.frame, text = "Observational priors ", height = 200, width = 200) prior.add <- tcltk::ttklabelframe(prior.frame, text = "Add priors", height = 200, width = 200) putAmelia("prior.add.but", tcltk::ttkbutton(prior.add, text = "Add", command = function() onOK())) yscr <- tcltk::ttkscrollbar(prior.disp, orient = "vertical", command=function(...)tcltk::tkyview(getAmelia("priors.tree"),...)) xscr <- tcltk::ttkscrollbar(prior.disp, orient = "horizontal", command=function(...)tcltk::tkxview(getAmelia("priors.tree"),...)) putAmelia("priors.tree", tcltk::ttktreeview(prior.disp, columns = "Variable Mean SD", yscrollcommand=function(...)tcltk::tkset(yscr,...), xscrollcommand=function(...)tcltk::tkset(xscr,...))) putAmelia("pri.right.click",tcltk::tkmenu(getAmelia("priors.tree"), tearoff = FALSE) ) tcltk::tkadd(getAmelia("pri.right.click"), "command", label = "Remove selected priors", command = function() dropPriors()) tcltk::tkbind(getAmelia("priors.tree"), "", RightClick) tcltk::tcl(getAmelia("priors.tree"), "column", "#0", width = 120) tcltk::tcl(getAmelia("priors.tree"), "column", 0, width = 80, anchor = "center") tcltk::tcl(getAmelia("priors.tree"), "column", 1, width = 40, anchor = "center") tcltk::tcl(getAmelia("priors.tree"), "column", 2, width = 40, anchor = "center") tcltk::tcl(getAmelia("priors.tree"), "heading", "#0", text = "Case") tcltk::tcl(getAmelia("priors.tree"), "heading", 0, text = "Variable") tcltk::tcl(getAmelia("priors.tree"), "heading", 1, text = "Mean") tcltk::tcl(getAmelia("priors.tree"), "heading", 2, text = "SD") ## Windows 7 doesn't handle treeview selection correctly if (.Platform$OS.type == "windows") { tcltk::tktag.configure(getAmelia("priors.tree"),"normal", background="white") tcltk::tktag.configure(getAmelia("priors.tree"),"selected", background="SystemHighlight") tcltk::tkbind(getAmelia("priors.tree"),"<>",function() refreshSelection(getAmelia("priors.tree"))) } putAmelia("addpri.note", tcltk::ttknotebook(prior.add)) add.dist.frame <- tcltk::ttkframe(getAmelia("addpri.note")) add.range.frame <- tcltk::ttkframe(getAmelia("addpri.note")) missingCases <- which(!complete.cases(getAmelia("amelia.data"))) anyMissing <- apply(getAmelia("amelia.data"), 2, function(x) any(is.na(x))) cases1 <- paste(rownames(getAmelia("amelia.data"))[missingCases], ") ", getAmelia("amelia.data")[missingCases, getAmelia("csvar")]," ", getAmelia("amelia.data")[missingCases, getAmelia("tsvar")], sep="") cases <- c("(whole variable)",cases1) if (!is.null(getAmelia("priorsmat"))) updateTree() vars <- getAmelia("varnames")[anyMissing] ## Distribution prior note putAmelia("add.dist.case",tcltk::ttkcombobox(add.dist.frame, values=cases, state="readonly", width=15)) putAmelia("add.dist.var",tcltk::ttkcombobox(add.dist.frame, values=vars, state="readonly", width=15)) tcltk::tkbind(getAmelia("add.dist.case"), "<>", function(...) setMissingVars()) tcltk::tkgrid(tcltk::ttklabel(add.dist.frame, text="Case:"), column=1, row=1, sticky = "e") tcltk::tkgrid(tcltk::ttklabel(add.dist.frame, text="Variable:"), column=1, row=2, sticky = "e") tcltk::tcl(getAmelia("add.dist.case"), "current", 0) tcltk::tcl(getAmelia("add.dist.var"), "current", 0) tcltk::tkconfigure(getAmelia("add.dist.var"), postcommand=function(...) setMissingVars()) tcltk::tkgrid(getAmelia("add.dist.case"), column=2, row=1, pady=3) tcltk::tkgrid(getAmelia("add.dist.var"), column=2, row=2, pady=3) putAmelia("priorMean", tcltk::tclVar()) putAmelia("priorSD", tcltk::tclVar()) tcltk::tkgrid(tcltk::ttkframe(add.dist.frame, width = 150, height = 0), column = 1, row = 0) putAmelia("meanBox", tcltk::ttkentry(add.dist.frame, textvar=getAmelia("priorMean"), validate="key", validatecommand = function(P) validateNumeric(P))) putAmelia("sdBox", tcltk::ttkentry(add.dist.frame, textvar=getAmelia("priorSD"), validate="key", validatecommand = function(P) validateSD(P))) tcltk::tkgrid(tcltk::ttklabel(add.dist.frame, text="Mean:"), column=1, row=3, sticky = "e") tcltk::tkgrid(tcltk::ttklabel(add.dist.frame, text="Standard Deviation:"), column=1, row=4, sticky = "e") tcltk::tkgrid(getAmelia("meanBox"), column=2, row=3, pady=5, padx=5) tcltk::tkgrid(getAmelia("sdBox"), column=2, row=4, pady=5, padx=5) ## Range prior note putAmelia("add.range.case",tcltk::ttkcombobox(add.range.frame, values=cases, state="readonly", width=15)) putAmelia("add.range.var",tcltk::ttkcombobox(add.range.frame, values=vars, state="readonly", width=15)) tcltk::tkbind(getAmelia("add.range.case"), "<>", function(...) setMissingRangeVars()) tcltk::tkgrid(tcltk::ttklabel(add.range.frame, text="Case:"), column=1, row=1, sticky = "e") tcltk::tkgrid(tcltk::ttklabel(add.range.frame, text="Variable:"), column=1, row=2, sticky = "e") tcltk::tcl(getAmelia("add.range.case"), "current", 0) tcltk::tcl(getAmelia("add.range.var"), "current", 0) tcltk::tkconfigure(getAmelia("add.range.var"), postcommand=function(...) setMissingRangeVars()) tcltk::tkgrid(getAmelia("add.range.case"), column=2, row=1, pady=3) tcltk::tkgrid(getAmelia("add.range.var"), column=2, row=2, pady=3) tcltk::tkgrid(tcltk::ttkframe(add.range.frame, width = 150, height = 0), column = 1, row = 0) putAmelia("priorMax", tcltk::tclVar()) putAmelia("priorMin", tcltk::tclVar()) putAmelia("priorConf", tcltk::tclVar()) putAmelia("minBox", tcltk::ttkentry(add.range.frame, textvar=getAmelia("priorMin"), validate="key", validatecommand = function(P) validateNumeric(P))) putAmelia("maxBox", tcltk::ttkentry(add.range.frame, textvar=getAmelia("priorMax"), validate="key", validatecommand = function(P) validateNumeric(P))) putAmelia("confBox", tcltk::ttkentry(add.range.frame, textvar=getAmelia("priorConf"), validate="key", validatecommand = function(P) validateNumeric(P))) tcltk::tkgrid(tcltk::ttklabel(add.range.frame, text="Minimum:"), column=1, row=3, sticky = "e") tcltk::tkgrid(tcltk::ttklabel(add.range.frame, text="Maximum:"), column=1, row=4, sticky = "e") tcltk::tkgrid(tcltk::ttklabel(add.range.frame, text="Confidence:"), column=1, row=5, sticky = "e") #tcltk::tkgrid(tkframe(add.range.frame, width = 20, height = 0), column = 1, row = 6) tcltk::tkgrid(getAmelia("minBox"), column=2, row=3, pady=5, padx=5) tcltk::tkgrid(getAmelia("maxBox"), column=2, row=4, pady=5, padx=5) tcltk::tkgrid(getAmelia("confBox"), column=2, row=5, pady=5, padx=5) tcltk::tkadd(getAmelia("addpri.note"), add.dist.frame, text = "Add Distribution Prior") tcltk::tkadd(getAmelia("addpri.note"), add.range.frame, text = "Add Range Prior") tcltk::tkgrid(getAmelia("addpri.note"), row = 1, sticky = "nsew") tcltk::tkgrid(getAmelia("prior.add.but"), sticky = "se", padx = 10, pady = 10) but.frame <- tcltk::ttkframe(priorsBox) putAmelia("pri.ok", tcltk::ttkbutton(but.frame, text = "OK", command = function(){tcltk::tkwm.withdraw(getAmelia("priorsWindow"));tcltk::tkgrab.release(getAmelia("priorsWindow"));tcltk::tkfocus(getAmelia("gui"))}, width = 10)) putAmelia("pri.can", tcltk::ttkbutton(but.frame, text = "Cancel", width = 10, command = function() {cancelPriors();tcltk::tkwm.withdraw(getAmelia("priorsWindow"));tcltk::tkgrab.release(getAmelia("priorsWindow"));tcltk::tkfocus(getAmelia("gui"))})) tcltk::tkgrid(getAmelia("priors.tree"), row = 1, column = 1, sticky = "nsew") tcltk::tkgrid(yscr, row = 1, column = 2, sticky = "nsew") tcltk::tkgrid(xscr, row = 2, column = 1, sticky = "nsew") tcltk::tkgrid.rowconfigure(prior.disp, 1, weight = 1) tcltk::tkgrid.columnconfigure(prior.disp, 1, weight = 1) tcltk::tkadd(prior.frame, prior.add) tcltk::tkadd(prior.frame, prior.disp) tcltk::tkgrid(prior.frame, row = 1, column = 0, columnspan = 2, padx = 10, pady = 10, sticky = "news") tcltk::tkgrid(getAmelia("pri.ok"), row = 0, column = 1, sticky = "ne", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("pri.can"), row = 0, column = 2, sticky = "ne", padx = 10, pady = 10) tcltk::tkgrid(but.frame, row = 2, column = 1, sticky = "ne") tcltk::tkgrid.rowconfigure(priorsBox, 1, weight = 1) tcltk::tkgrid.columnconfigure(priorsBox, 0, weight = 1) tcltk::tkgrid.columnconfigure(priorsBox, 1, weight = 1) tcltk::tkgrid(priorsBox, row = 0, column = 0, sticky = "news") tcltk::tkgrid.rowconfigure(getAmelia("priorsWindow"), 0, weight = 1) tcltk::tkgrid.columnconfigure(getAmelia("priorsWindow"), 0, weight = 1) tcltk::tkwm.protocol(getAmelia("priorsWindow"), "WM_DELETE_WINDOW", function() {tcltk::tkwm.withdraw(getAmelia("priorsWindow"));tcltk::tkgrab.release(getAmelia("priorsWindow"));tcltk::tkfocus(getAmelia("gui"))}) centerModalDialog(getAmelia("priorsWindow"), resize = TRUE) bindTooltip(widget = "priors.tree", "Currently set observation-level priors for the data. You can remove these using the right-click menu.") bindTooltip(widget = "pri.ok", tip = "Save changes and close window.") bindTooltip(widget = "pri.can", tip = "Cancel any changes and close window.") bindTooltip(widget = "prior.add.but", tip = "Add the above prior for the selected observation and variable to the list of priors for this data set.") bindTooltip(widget = "meanBox", tip = "The mean of a normal prior distribution on the value of the selected missing cell.") bindTooltip(widget = "sdBox", tip = "The standard deviation of a normal prior distribution on the value of the selected missing cell.") bindTooltip(widget = "add.dist.case", tip = "Select the case name or row number of the case for the cell-level prior.") bindTooltip(widget = "add.dist.var", tip = "Select the variable name for the cell-level prior.") bindTooltip(widget = "confBox", tip = "A confidence level between 0 and 1 for the confidence bound on the distribution of the selected missing cell. These confidence bounds are converted into a normal distribution prior on the value.") bindTooltip(widget = "minBox", tip = "A lower confidence bound on the distribution of the selected missing cell. These confidence bounds are converted into a normal distribution prior on the value.") bindTooltip(widget = "maxBox", tip = "An upper confidence bound on the distribution of the selected missing cell. These confidence bounds are converted into a normal distribution prior on the value.") bindTooltip(widget = "add.range.case", tip = "Select the case name or row number of the case for the cell-level prior.") bindTooltip(widget = "add.range.var", tip = "Select the variable name for the cell-level prior.") } gui.diag.setup <- function() { if (exists("diagWindow", envir = ameliaEnv)) { tcltk::tkwm.deiconify(getAmelia("diagWindow")) tcltk::tkraise(getAmelia("diagWindow")) tcltk::tkfocus(getAmelia("diagWindow")) return() } putAmelia("diagWindow", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("diagWindow"), "Diagnostics") diagBox <- tcltk::ttkframe(getAmelia("diagWindow")) gui.top<-tcltk::ttkpanedwindow(diagBox, orient = "vertical") var.diags <- tcltk::ttklabelframe(gui.top, text = "Individual Variable Plots", width = 100, height = 100) tscs.diags <- tcltk::ttklabelframe(gui.top, text = "Time-Series Cross-Sectional Plots", width = 100, height = 100) disp.diags <- tcltk::ttklabelframe(gui.top, text = "Overdispersion Plots", width = 100, height = 100) tcltk::tcl("set","indvar","") ## get variable names that are actually numeric variables <- getAmelia("varnames") variables <- variables[sapply(getAmelia("amelia.data"), is.numeric)] putAmelia("var.diags.combo", tcltk::ttkcombobox(var.diags,textvariable="indvar", values = variables, state = "readonly")) indvar.lab <- tcltk::ttklabel(var.diags, text = "Variable:") var.button.frame <- tcltk::ttkframe(var.diags) putAmelia("diag.but.compare",tcltk::ttkbutton(var.button.frame, text="Compare", command = function() compare.density(getAmelia("ameliaObject"), var=tcltk::tclvalue("indvar"),frontend=TRUE))) putAmelia("diag.overimp",tcltk::ttkbutton(var.button.frame,text="Overimpute",state="normal", command = function() overimpute(getAmelia("ameliaObject"), var=tcltk::tclvalue("indvar"),frontend=TRUE))) tcltk::tcl(getAmelia("var.diags.combo"), "current", 0) tcltk::tkgrid(indvar.lab, row = 0, column = 0, padx = 5) tcltk::tkgrid(getAmelia("var.diags.combo"), row = 0, column = 1, padx = 10, pady = 10) tcltk::tkgrid(getAmelia("diag.but.compare"), row = 0, column = 0, padx = 10, pady = 10) tcltk::tkgrid(getAmelia("diag.overimp"), row = 0, column = 1, padx = 10, pady = 10) tcltk::tkgrid(var.button.frame, row =0, column = 2) tcltk::tkgrid(tcltk::ttkframe(var.diags, width = 50, height = 0), row = 1) ## tscs plots csvar <- getAmelia("ameliaObject")$arguments$cs tsvar <- getAmelia("ameliaObject")$arguments$ts ## can't do tscsplots for the ts or cs variable tscsvariables <- variables[variables != getAmelia("varnames")[csvar] & variables != getAmelia("varnames")[tsvar]] if (is.null(tsvar) | is.null(csvar)) { st <- "disabled" but.st <- st } else { st <- "readonly" but.st <- "normal" } if (!is.null(csvar)) { cases <- unique(getAmelia("amelia.data")[,csvar]) if (is.factor(getAmelia("amelia.data")[,csvar])) { cases <- levels(getAmelia("amelia.data")[,csvar])[cases] } } else { cases <- 1:nrow(getAmelia("amelia.data")) } tcltk::tcl("set", "casename","") tcltk::tcl("set", "tscsvarname", "") putAmelia("tscs.case.combo", tcltk::ttkcombobox(tscs.diags,textvariable="casename", values = cases, state = st)) putAmelia("tscs.var.combo", tcltk::ttkcombobox(tscs.diags,textvariable="tscsvarname", values = tscsvariables, state = st)) putAmelia("tscs.plot.but", tcltk::ttkbutton(tscs.diags, text = "TSCS Plot", state = but.st, command = function() tscsPlot(getAmelia("ameliaObject"), cs = tcltk::tclvalue("casename"), var = tcltk::tclvalue("tscsvarname"), frontend = TRUE))) if (st == "readonly") { tcltk::tcl(getAmelia("tscs.case.combo"), "current", 0) tcltk::tcl(getAmelia("tscs.var.combo"), "current", 0) } tcltk::tkgrid(tcltk::ttklabel(tscs.diags, text = "Case:"), row = 0, column = 0, sticky = "e", padx = 5) tcltk::tkgrid(getAmelia("tscs.case.combo"), row = 0, column = 1, padx = 10, pady = 10) tcltk::tkgrid(tcltk::ttklabel(tscs.diags, text = "Variable:"), row = 1, column = 0, sticky = "e", padx = 5) tcltk::tkgrid(getAmelia("tscs.var.combo"), row = 1, column = 1, padx = 10, pady = 10) tcltk::tkgrid(getAmelia("tscs.plot.but"), row = 1, column = 2, padx = 10, pady = 10, sticky = "se") tcltk::tkgrid(tcltk::ttkframe(tscs.diags, width = 50, height = 0), row = 2) dimvalue<-tcltk::tclVar("1") putAmelia("onedim", tcltk::ttkradiobutton(disp.diags, variable=dimvalue, value="1")) putAmelia("twodims", tcltk::ttkradiobutton(disp.diags, variable=dimvalue, value="2")) disp.imps.tcl<-tcltk::tclVar("5") putAmelia("disp.imps", tcltk::ttkentry(disp.diags,width="5",textvariable=disp.imps.tcl)) putAmelia("disp.but", tcltk::ttkbutton(disp.diags,text="Overdisperse",state="normal", command = function() disperse(m=as.numeric(tcltk::tclvalue(disp.imps.tcl)), dims=as.numeric(tcltk::tclvalue(dimvalue)),frontend=TRUE,output=getAmelia("ameliaObject")))) tcltk::tkgrid(tcltk::ttklabel(disp.diags,text="Number of dispersions:"),row=2,column=1, sticky="e") tcltk::tkgrid(tcltk::ttkframe(disp.diags, width = 50, height = 0), row = 5) tcltk::tkgrid(getAmelia("disp.imps"),column=2,row=2,sticky="nw", padx = 10, pady = 10) tcltk::tkgrid(tcltk::ttklabel(disp.diags,text="One Dimension:"),row=3,column=1, sticky = "e") tcltk::tkgrid(tcltk::ttklabel(disp.diags,text="Two Dimensions:"),row=4,column=1, sticky = "e") tcltk::tkgrid(getAmelia("onedim"),row=3,column=2,padx=10,pady=5) tcltk::tkgrid(getAmelia("twodims"),row=4,column=2,padx=10) tcltk::tkgrid(getAmelia("disp.but"),row=4,column=3,padx=15, pady=10,sticky="news") tcltk::tkadd(gui.top, var.diags) tcltk::tkadd(gui.top, tscs.diags) tcltk::tkadd(gui.top, disp.diags) tcltk::tkgrid(gui.top, row = 0, padx = 20, pady = 20) tcltk::tkgrid(diagBox, sticky = "news", row = 0, column = 0) tcltk::tkgrid.rowconfigure(getAmelia("diagWindow"), 0, weight = 1) tcltk::tkgrid.columnconfigure(getAmelia("diagWindow"), 0, weight = 1) tcltk::tkwm.protocol(getAmelia("diagWindow"), "WM_DELETE_WINDOW", function() {tcltk::tkwm.withdraw(getAmelia("diagWindow"));tcltk::tkgrab.release(getAmelia("diagWindow"));tcltk::tkfocus(getAmelia("gui"))}) centerModalDialog(getAmelia("diagWindow"), resize = FALSE) bindTooltip(widget = "var.diags.combo", tip = "Variable for either the density comparison plot or the overimputation plot.") bindTooltip(widget = "tscs.var.combo", tip = "Variable to use for the time-series cross-sectional plot.") bindTooltip(widget = "tscs.case.combo", tip = "Case to use for the time-series cross-sectional plot.") bindTooltip(widget = "diag.but.compare", tip = "Compare densities of the imputed values vs. observed values.") bindTooltip(widget = "diag.overimp", tip = "Overimpute and graph confidence intervals. ") bindTooltip(widget = "disp.but", tip = "Plot the convergence of the EM algorithm from overdispersed starting values.") bindTooltip(widget = "tscs.plot.but", tip = "Plot a time-series within one cross-section with imputation distributions in red.") bindTooltip(widget = "disp.imps", tip = "Number of different overdispersed starting values to use.") bindTooltip(widget = "onedim", tip = "Number of dimensions to visualize convergence.") bindTooltip(widget = "twodims", tip = "Number of dimensions to visualize convergence.") } ## the following functions have been imported from Rcmdr putAmelia <- function(x, value) { assign(x, value, envir = ameliaEnv) } getAmelia <- function(x, mode="any") get(x, envir = ameliaEnv, mode = mode, inherits = FALSE) getAmeliaInd <- function(x) { as.numeric(tcltk::tkindex(getAmelia(x), "current")) } ameliaTclSet <- function(name, value){ name <- ls(unclass(getAmelia(name))$env) tcltk::tcl("set", name, value) } save.log <- function() { file.select <- tcltk::tclvalue(tcltk::tkgetSaveFile(parent=getAmelia("gui"), filetypes="{{Text files} {*.txt}} {{All files} *}")) cat(getAmelia("output.log"), file = file.select) } show.output.log <- function() { RightClick <- function(x, y) { # x and y are the mouse coordinates rootx <- as.integer(tcltk::tkwinfo("rootx", getAmelia("log.viewer"))) # tcltk::tkwinfo() return several infos rooty <- as.integer(tcltk::tkwinfo("rooty", getAmelia("log.viewer"))) xTxt <- as.integer(x) + rootx yTxt <- as.integer(y) + rooty # Create a Tcl command in a character string and run it tcltk::.Tcl(paste("tk_popup", tcltk::.Tcl.args(getAmelia("log.right.click"), xTxt, yTxt))) } if (exists("log.top", envir = ameliaEnv)) { tcltk::tkconfigure(getAmelia("log.viewer"), state = "normal") tcltk::tkdelete(getAmelia("log.viewer"), "0.0", "end") tcltk::tkinsert(getAmelia("log.viewer"), "end", paste(getAmelia("output.log"), collapse = "")) tcltk::tkconfigure(getAmelia("log.viewer"), state = "disabled") tcltk::tkwm.deiconify(getAmelia("log.top")) tcltk::tkraise(getAmelia("log.top")) tcltk::tkfocus(getAmelia("log.top")) return() } putAmelia("log.top", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("log.top"), "Output Log") scr <- tcltk::ttkscrollbar(getAmelia("log.top"), command=function(...)tcltk::tkyview(getAmelia("log.viewer"),...)) putAmelia("log.viewer", tcltk::tktext(getAmelia("log.top"), width = 80, height = 25, yscrollcommand=function(...)tcltk::tkset(scr,...))) tcltk::tkinsert(getAmelia("log.viewer"), "end", paste(getAmelia("output.log"), collapse = "")) tcltk::tkconfigure(getAmelia("log.viewer"), state = "disabled") main.menu <- tcltk::tkmenu(getAmelia("log.top")) main.menu.file <- tcltk::tkmenu(main.menu, tearoff=0) tcltk::tkadd(main.menu.file,"command",label="Save log file",command=function() save.log()) tcltk::tkadd(main.menu.file,"command",label="Close",command=function(){tcltk::tkwm.withdraw(getAmelia("log.top"));tcltk::tkgrab.release(getAmelia("log.top"));tcltk::tkfocus(getAmelia("gui"))}) tcltk::tkadd(main.menu,"cascade",label="File",menu=main.menu.file) tcltk::tkconfigure(getAmelia("log.top"),menu=main.menu) putAmelia("log.right.click",tcltk::tkmenu(getAmelia("log.viewer"), tearoff = FALSE) ) tcltk::tkadd(getAmelia("log.right.click"), "command", label = "Copy ", command = function() tcltk::tkevent.generate(getAmelia("log.viewer"),"<>")) tcltk::tkbind(getAmelia("log.viewer"), "", RightClick) #tcltk::tkgrid(main.menu, row = 0, sticky = "ew") tcltk::tkgrid(getAmelia("log.viewer"), row = 0, column = 0, sticky = "news") tcltk::tkgrid(scr, row =0, column = 1, sticky = "ns") #tcltk::tkgrid.columnconfigure(log.top, 1, weight = 1) tcltk::tkgrid.columnconfigure(getAmelia("log.top"), 0, weight = 1) tcltk::tkgrid.rowconfigure(getAmelia("log.top"), 0, weight = 1) tcltk::tkwm.protocol(getAmelia("log.top"), "WM_DELETE_WINDOW", function() {tcltk::tkwm.withdraw(getAmelia("log.top"));tcltk::tkgrab.release(getAmelia("log.top"));tcltk::tkfocus(getAmelia("gui"))}) centerModalDialog(getAmelia("log.top"), resize=TRUE) } after <- function(ms, func) { tcltk::.Tcl(paste("after", ms, tcltk::.Tcl.callback(func))) } cancel.after <- function(id) { invisible(tcltk::.Tcl(paste("after","cancel", id))) } bindTooltip <- function(widget, tip) { after.name <- paste(widget, "after", sep = ".") tip.name <- paste(widget, "tip", sep = ".") # tcltk::tkbind(getAmelia(widget), "", showTooltip(widget, tip)) tcltk::tkbind(getAmelia(widget), "", function() putAmelia(after.name, after(400, showTooltip(widget, tip)))) tcltk::tkbind(getAmelia(widget), "", function() {killTooltip(widget) cancel.after(getAmelia(after.name))}) tcltk::tkbind(getAmelia(widget), "", function() cancel.after(getAmelia(after.name))) tcltk::tkbind(getAmelia(widget), "", function() cancel.after(getAmelia(after.name))) } showTooltip <- function(widget, text) { function() { if (getAmelia(widget)$ID != tcltk::tclvalue(tcltk::tkwinfo("containing", tcltk::tkwinfo("pointerx","."), tcltk::tkwinfo("pointery",".")))) { return() } tip.name <- paste(widget, "tip", sep = ".") tiplabel.name <- paste(widget, "tiplabel",sep=".") if (exists(tip.name, envir = ameliaEnv)) { if (as.logical(tcltk::tkwinfo("exists",getAmelia(tip.name)))) { if (as.logical(tcltk::tkwinfo("ismapped",getAmelia(tip.name)))) { return() } } } scrh <- tcltk::tclvalue(tcltk::tkwinfo("screenheight", getAmelia(widget))) scrw <- tcltk::tclvalue(tcltk::tkwinfo("screenwidth", getAmelia(widget))) tcltk::tclServiceMode(on=FALSE) if (!exists(tip.name, envir = ameliaEnv)) { if (.Platform$OS.type == "windows") { borderColor <- "SystemWindowFrame" bgColor <- "SystemWindow" fgColor <- "SystemWindowText" } else { borderColor <- "black" bgColor <- "lightyellow" fgColor <- "black" } putAmelia(tip.name, tcltk::tktoplevel(getAmelia(widget), bd = 1, bg = borderColor, relief = "raised")) tcltk::tkwm.geometry(getAmelia(tip.name), paste("+",scrh,"+",scrw,sep="")) tcltk::tcl("wm","overrideredirect", getAmelia(tip.name), 1) putAmelia(tiplabel.name, tcltk::ttklabel(getAmelia(tip.name), background = bgColor, foreground = fgColor, text = text, justify = "left", wraplength=300)) tcltk::tkpack(getAmelia(tiplabel.name)) tcltk::tkbind(getAmelia(tip.name), "", function() tcltk::tkwm.withdraw(getAmelia(tip.name))) tcltk::tkbind(getAmelia(tip.name), "", function() tcltk::tkwm.withdraw(getAmelia(tip.name))) tcltk::tkbind(getAmelia(tip.name), "", function() tcltk::tkwm.withdraw(getAmelia(tip.name))) } width <- as.numeric(tcltk::tclvalue(tcltk::tkwinfo("reqwidth", getAmelia(tiplabel.name)))) height <- as.numeric(tcltk::tclvalue(tcltk::tkwinfo("reqheight",getAmelia(tiplabel.name)))) posX <- as.numeric(tcltk::tclvalue(tcltk::tkwinfo("pointerx","."))) posY <- as.numeric(tcltk::tclvalue(tcltk::tkwinfo("pointery","."))) + 25 screen <- as.numeric(tcltk::tclvalue(tcltk::tkwinfo("screenwidth","."))) # a.) Ad-hockery: Set positionX so the entire tooltip widget will be displayed. if ((posX + width) > screen) { posX <- posX - ((posX + width) - screen) - 3 } tcltk::tclServiceMode(on = TRUE) tcltk::tkwm.geometry(getAmelia(tip.name), paste("+",posX,"+",posY,sep = "")) tcltk::tkwm.deiconify(getAmelia(tip.name)) tcltk::tkraise(getAmelia(tip.name)) } } killTooltip <- function(widget) { tip.name <- paste(widget,"tip", sep = ".") if (exists(tip.name, envir = ameliaEnv)) { tcltk::tkwm.withdraw(getAmelia(tip.name)) } } refreshSelection <- function(tree) { all <- strsplit(tcltk::tclvalue(tcltk::tcl(tree,"children","")), " ")[[1]] sel <- strsplit(tcltk::tclvalue(tcltk::tcl(tree, "selection")), " ")[[1]] bandTree() for (i in sel) { tcltk::tcl(tree, "item", i, tags = "selected") } return(NULL) } variableOptionStatus <- function(sel) { states <- rep("normal", 15) classes <- sapply(getAmelia("amelia.data"), class)[sel] if (length(sel) ==0) { states <- rep("disabled", 15) return(states) } if (length(sel) > 1) states[c(1:4,15)] <- "disabled" if (!is.null(getAmelia("tsvar"))) if (getAmelia("tsvar") %in% sel) states[c(1:2,5:9,12:13,15)] <- "disabled" else states[3] <- "disabled" if (!is.null(getAmelia("csvar"))) if (getAmelia("csvar") %in% sel) states[c(1:2,5:9,12:13,15)] <- "disabled" else states[4] <- "disabled" if (is.null(getAmelia("tsvar"))) states[c(3,6:9)] <- "disabled" if (is.null(getAmelia("csvar"))) states[4] <- "disabled" if ("factor" %in% classes | "character" %in% classes) states[c(11,15)] <- "disabled" if (is.null(getAmelia("amelia.data"))) states <- rep("disabled", 15) return(states) } variableOptionsPost <- function() { sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] states <- variableOptionStatus(sel) for (i in 0:14) { if (tcltk::tclvalue(tcltk::tktype(getAmelia("main.menu.variables"), i)) != "separator") tcltk::tkentryconfigure(getAmelia("main.menu.variables"),i, state = states[i+1]) } return(NULL) } mainTreeRightClick <- function(x, y) { # x and y are the mouse coordinates rootx <- as.integer(tcltk::tkwinfo("rootx", getAmelia("main.tree"))) # tcltk::tkwinfo() return several infos rooty <- as.integer(tcltk::tkwinfo("rooty", getAmelia("main.tree"))) xTxt <- as.integer(x) + rootx yTxt <- as.integer(y) + rooty # Create a Tcl command in a character string and run it sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] states <- variableOptionStatus(sel) main.tree.right.click <- tcltk::tkmenu(getAmelia("main.tree"), tearoff = FALSE) main.tree.trans <- tcltk::tkmenu(getAmelia("main.tree"), tearoff = FALSE) tcltk::tkadd(main.tree.right.click, "command", label = "Set as Time-Series Variable", command = setTS, state = states[1]) tcltk::tkadd(main.tree.right.click, "command", label = "Set as Cross-Section Variable", command = setCS, state = states[2]) tcltk::tkadd(main.tree.right.click, "command", label = "Unset as Time-Series Variable", command = unsetTS, state = states[3]) tcltk::tkadd(main.tree.right.click, "command", label = "Unset as Cross-Section Variable", command = unsetCS, state = states[4]) tcltk::tkadd(main.tree.right.click,"separator") tcltk::tkadd(main.tree.right.click, "command", label = "Add Lag", command = function() addLag(), state = states[6]) tcltk::tkadd(main.tree.right.click, "command", label = "Add Lead", command = function() addLead(), state = states[7]) tcltk::tkadd(main.tree.right.click, "command", label = "Remove Lag", command = function() dropLag(), state = states[8]) tcltk::tkadd(main.tree.right.click, "command", label = "Remove Lead", command = function() dropLead(), state = states[9]) tcltk::tkadd(main.tree.right.click,"separator") tcltk::tkadd(main.tree.right.click, "command", label = "Plot Histogram(s) of Selected", command = plotHist, state = states[10]) if (.Platform$OS.type == "windows") { tcltk::tkadd(main.tree.trans, "command", label = "Log", command = function(x) setTrans("logs")) tcltk::tkadd(main.tree.trans, "command", label = "Square Root", command = function(x) setTrans("sqrt")) tcltk::tkadd(main.tree.trans, "command", label = "Logistic", command = function(x) setTrans("lgstc")) tcltk::tkadd(main.tree.trans, "command", label = "Nominal", command = function(x) setTrans("noms")) tcltk::tkadd(main.tree.trans, "command", label = "Ordinal", command = function(x) setTrans("ords")) tcltk::tkadd(main.tree.trans, "command", label = "ID Variable", command = function(x) setTrans("idvar")) tcltk::tkadd(main.tree.right.click, "cascade", label = "Add Transformation...", menu = main.tree.trans, state = states[12]) } else { tcltk::tkadd(main.tree.right.click, "command", label = "Mark as Log", command = function(x) setTrans("logs"), state = states[12]) tcltk::tkadd(main.tree.right.click, "command", label = "Mark as Square Root", command = function(x) setTrans("sqrt"), state = states[12]) tcltk::tkadd(main.tree.right.click, "command", label = "Mark as Logistic", command = function(x) setTrans("lgstc"), state = states[12]) tcltk::tkadd(main.tree.right.click, "command", label = "Mark as Nominal", command = function(x) setTrans("noms"), state = states[12]) tcltk::tkadd(main.tree.right.click, "command", label = "Mark as Ordinal", command = function(x) setTrans("ords"), state = states[12]) tcltk::tkadd(main.tree.right.click, "command", label = "Mark as ID Variable", command = function(x) setTrans("idvar"), state = states[12]) } tcltk::tkadd(main.tree.right.click, "command", label = "Remove Transformations", command = dropTrans, state = states[13]) tcltk::tkadd(main.tree.right.click,"separator") tcltk::tkadd(main.tree.right.click, "command", label = "Add or Edit Bounds", command = addBounds, state = states[15]) tcltk::tkpopup(main.tree.right.click, xTxt, yTxt) } addLag <- function() { sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] tmp <- getAmelia("lags") tmp[sel] <- 1 putAmelia("lags", tmp) for (i in sel) tcltk::tkset(getAmelia("main.tree"), i, "lag", "X") return() } addLead <- function() { sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] tmp <- getAmelia("leads") tmp[sel] <- 1 putAmelia("leads", tmp) for (i in sel) tcltk::tkset(getAmelia("main.tree"), i, "lead", "X") return() } dropLag <- function() { sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] tmp <- getAmelia("lags") tmp[sel] <- 0 putAmelia("lags", tmp) for (i in sel) tcltk::tkset(getAmelia("main.tree"), i, "lag", "") return() } dropLead <- function() { sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] tmp <- getAmelia("leads") tmp[sel] <- 0 putAmelia("leads", tmp) for (i in sel) tcltk::tkset(getAmelia("main.tree"), i, "lead", "") return() } setTrans <- function(trans) { all.trans <- c(logs = "Log",sqrt = "Square Root", lgstc = "Logistic", noms = "Nominal", ords = "Ordinal", idvar = "ID") sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] tmp <- getAmelia(trans) tmp[sel] <- 1 putAmelia(trans, tmp) for (j in sel) { tcltk::tkset(getAmelia("main.tree"), j,"transform", all.trans[trans]) tcltk::tcl(getAmelia("main.tree"), "item", j, image = "") } return() } dropTrans <- function() { all.trans <- c("logs","sqrt","lgstc","noms","ords","idvar") sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] for (j in sel) tcltk::tkset(getAmelia("main.tree"), j,"transform", "") if (is.factor(getAmelia("amelia.data")[,j]) | is.character(getAmelia("amelia.data")[,j])) { tcltk::tcl(getAmelia("main.tree"), "item", j, image = getAmelia("redFlagIcon")) } for (i in all.trans) { tmp <- getAmelia(i) tmp[sel] <- 0 putAmelia(i, tmp) } } addBounds <- function() { onOK <- function(sel) { bdMax <- as.numeric(tcltk::tclvalue(getAmelia("boundMax"))) bdMin <- as.numeric(tcltk::tclvalue(getAmelia("boundMin"))) if (is.na(bdMax) & !is.na(bdMin)) { tcltk::tkmessageBox(parent=getAmelia("addBoundsWindow"), title="Error", message="Please enter a minimum and a maximum value or neither to clear the bounds.", type="ok",icon="error") return() } if (!is.na(bdMax) & is.na(bdMin)) { tcltk::tkmessageBox(parent=getAmelia("addBoundsWindow"), title="Error", message="Please enter a minimum and a maximum value or neither to clear the bounds.", type="ok",icon="error") return() } if (!is.na(bdMax) & !is.na(bdMin)) { if (bdMax <= bdMin) { tcltk::tkmessageBox(parent=getAmelia("addBoundsWindow"), title="Error", message="The maximum is less than the minimum.", type="ok",icon="error") return() } } tmpbmat <- getAmelia("boundsmat") tmpbmat[sel,2:3] <- c(bdMin, bdMax) putAmelia("boundsmat", tmpbmat) if (!is.na(bdMin)) { treeBounds <- paste("[",bdMin,", ", bdMax,"]", sep = "") } else { treeBounds <- "" } tcltk::tkset(getAmelia("main.tree"), sel, "bounds", treeBounds) tcltk::tkwm.withdraw(getAmelia("addBoundsWindow")) tcltk::tkgrab.release(getAmelia("addBoundsWindow")) tcltk::tkfocus(getAmelia("gui")) return() } validateNumeric <- function(x) { if (isTRUE(grep("(^-?[0-9]*\\.?[0-9]*$)",x)==1)) return(tcltk::tclVar("TRUE")) else return(tcltk::tclVar("FALSE")) } sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] if (sum(is.na(getAmelia("amelia.data")[,sel])) == 0) { tcltk::tkmessageBox(parent = getAmelia("gui"), message = "No missing data on the selected variable.", type = "ok") return() } currMin <- getAmelia("boundsmat")[sel,2] currMax <- getAmelia("boundsmat")[sel,3] putAmelia("boundMin", tcltk::tclVar(ifelse(is.na(currMin), "", currMin))) putAmelia("boundMax", tcltk::tclVar(ifelse(is.na(currMax), "", currMax))) if (exists("addBoundsWindow", envir = ameliaEnv)) { tcltk::tkconfigure(getAmelia("maxBox"), textvar = getAmelia("boundMax")) tcltk::tkconfigure(getAmelia("minBox"), textvar = getAmelia("boundMin")) tcltk::tkconfigure(getAmelia("bd.ok"), command = function() onOK(sel)) tcltk::tkwm.deiconify(getAmelia("addBoundsWindow")) tcltk::tkraise(getAmelia("addBoundsWindow")) return() } putAmelia("addBoundsWindow", tcltk::tktoplevel()) tcltk::tkwm.title(getAmelia("addBoundsWindow"), "Add or Edit Bounds") bounds.add <- tcltk::ttkframe(getAmelia("addBoundsWindow")) putAmelia("minBox", tcltk::ttkentry(bounds.add, textvar=getAmelia("boundMin"), validate="key", validatecommand = function(P) validateNumeric(P))) putAmelia("maxBox", tcltk::ttkentry(bounds.add, textvar=getAmelia("boundMax"), validate="key", validatecommand = function(P) validateNumeric(P))) tcltk::tkgrid(tcltk::ttklabel(bounds.add, text="Minimum:"), column=1, row=2, sticky = "e", padx = 10, pady = 10) tcltk::tkgrid(tcltk::ttklabel(bounds.add, text="Maximum:"), column=1, row=3, sticky = "e", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("minBox"), column=2, row=2, pady=5, padx=5) tcltk::tkgrid(getAmelia("maxBox"), column=2, row=3, pady=5, padx=5) but.frame <- tcltk::ttkframe(bounds.add) putAmelia("bd.ok", tcltk::ttkbutton(but.frame, text = "OK", command = function() onOK(sel))) putAmelia("bd.can", tcltk::ttkbutton(but.frame, text = "Cancel", width = 10, command = function() {tcltk::tkwm.withdraw(getAmelia("addBoundsWindow"));tcltk::tkgrab.release(getAmelia("addBoundsWindow"));tcltk::tkfocus(getAmelia("gui"))})) tcltk::tkgrid(getAmelia("bd.ok"), row = 0, column = 1, sticky = "ne", padx = 10, pady = 10) tcltk::tkgrid(getAmelia("bd.can"), row = 0, column = 2, sticky = "ne", padx = 10, pady = 10) tcltk::tkgrid(but.frame, row = 4, column = 1, columnspan = 2, sticky = "ne") tcltk::tkgrid(bounds.add, sticky = "news") tcltk::tkwm.protocol(getAmelia("addBoundsWindow"), "WM_DELETE_WINDOW", function() {tcltk::tkwm.withdraw(getAmelia("addBoundsWindow"));tcltk::tkgrab.release(getAmelia("addBoundsWindow"));tcltk::tkfocus(getAmelia("gui"))}) centerModalDialog(getAmelia("addBoundsWindow"), resize=FALSE) } plotHist <- function() { sel <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "selection")), " ")[[1]] if (length(sel)==0) { tcltk::tkmessageBox(parent = getAmelia("gui"), type = "ok", message = "No variable selected.") return(NULL) } sel <- sel[which(sapply(getAmelia("amelia.data")[sel], is.numeric))] if (length(sel)==0) { tcltk::tkmessageBox(parent = getAmelia("gui"), type = "ok", message = "Cannot plot non-numeric variables.") return(NULL) } dev.new() mfrow <- set.mfrow(nvars = length(sel)) on.exit(par(NULL)) layout <- par(mfrow = mfrow) j <- 0 for (i in sel) { j <- j + 1 if (j > 9) { j <- 1 dev.new() layout <- par(mfrow = mfrow) } hist(getAmelia("amelia.data")[,i], main = paste("Histogram of",i), ylab = "Frequnecy", xlab ="", col="grey", border = "white") } invisible() } sortTreeBy <- function(col) { coldata <- c() children <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "children","")), " ")[[1]] if (col == "#0") { coldata <- children } else { for (i in children) { coldata <- c(coldata, tcltk::tclvalue(tcltk::tkset(getAmelia("main.tree"), i, col))) } } dirs <- getAmelia("sortDirs") sortDir <- dirs[col] if (col %in% c("mean", "sd", "min", "max")) { coldata[coldata == "..."] <- "-Inf" coldata[coldata == "(factor)"] <- "-Inf" sortOrder <- order(as.numeric(coldata), decreasing = sortDir) } else if (col == "miss") { coldata <- matrix(unlist(strsplit(coldata,"/")), nrow=2)[1,] sortOrder <- order(as.numeric(coldata), decreasing = sortDir) } else { sortOrder <- order(coldata, decreasing = sortDir) } sorted <- children[sortOrder] for (i in 1:length(children)) { tcltk::tkmove(getAmelia("main.tree"), sorted[i],"", i-1) } drawArrow(col, sortDir) refreshSelection(getAmelia("main.tree")) dirs[col] <- !sortDir putAmelia("sortDirs", dirs) } drawArrow <- function(col, down) { treecols <- names(getAmelia("sortDirs")) for (i in treecols) { tcltk::tcl(getAmelia("main.tree"), "heading", i, image = "") } if (down) { tcltk::tcl(getAmelia("main.tree"), "heading", col, image = getAmelia("upArrowIcon")) } else { tcltk::tcl(getAmelia("main.tree"), "heading", col, image = getAmelia("downArrowIcon")) } return(NULL) } bandTree <- function() { children <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"), "children","")), " ")[[1]] j <- 0 tcltk::tktag.configure(getAmelia("main.tree"),"white", background="white") tcltk::tktag.configure(getAmelia("main.tree"),"gray", background="gray92") for (i in children) { j <- j+1 if ((j %% 2) == 0) { tcltk::tcl(getAmelia("main.tree"), "item", i, tag = "white") } else { tcltk::tcl(getAmelia("main.tree"), "item", i, tag = "gray") } } } updateTreeStats <- function(){ children <- strsplit(tcltk::tclvalue(tcltk::tcl(getAmelia("main.tree"),"children","")), " ")[[1]] for (i in names(getAmelia("amelia.data"))) { if (is.factor(getAmelia("amelia.data")[,i]) | is.character(getAmelia("amelia.data")[,i])) { vals <- c("(factor)","...","...","...") vals <- c(vals,paste(sum(is.na(getAmelia("amelia.data")[,i])), nrow(getAmelia("amelia.data")), sep="/")) } else { vals <- c(min(getAmelia("amelia.data")[,i],na.rm=T), max(getAmelia("amelia.data")[,i],na.rm=T), mean(getAmelia("amelia.data")[,i],na.rm=T), sd(getAmelia("amelia.data")[,i],na.rm=T)) vals <- signif(vals, digits = 4) vals <- c(vals, paste(sum(is.na(getAmelia("amelia.data")[,i])), nrow(getAmelia("amelia.data")), sep="/")) } tcltk::tkset(getAmelia("main.tree"), i, "min", vals[1]) tcltk::tkset(getAmelia("main.tree"), i, "max", vals[2]) tcltk::tkset(getAmelia("main.tree"), i, "mean", vals[3]) tcltk::tkset(getAmelia("main.tree"), i, "sd", vals[4]) tcltk::tkset(getAmelia("main.tree"), i, "miss", vals[5]) } } centerModalDialog <- function(window, resize=TRUE) { xpos <- as.numeric(tcltk::tkwinfo("rootx",getAmelia("gui"))) ypos <- as.numeric(tcltk::tkwinfo("rootx",getAmelia("gui"))) rwidth <- as.numeric(tcltk::tkwinfo("width",getAmelia("gui"))) rheight <- as.numeric(tcltk::tkwinfo("height", getAmelia("gui"))) width <- as.numeric(tcltk::tkwinfo("reqwidth",window)) height <- as.numeric(tcltk::tkwinfo("reqheight",window)) newxpos <- xpos + .5*rwidth - .5*width newypos <- ypos + .5*rheight - .5*height if (.Platform$OS.type == "windows") tcltk::tkwm.geometry(window, paste("+",round(newxpos),"+",round(newypos),sep="")) tcltk::tkfocus(window) tcltk::tkgrab.set(window) if (!resize) { tcltk::tkwm.resizable(window, 0,0) } tcltk::tkwm.transient(window, getAmelia("gui")) tcltk::tcl("update","idletasks") } showImputedFiles <- function() { if (Sys.info()['sysname'] %in% c("Windows", "Darwin")) system(paste("open", shQuote(getAmelia("wdForLastImputation")))) else system(paste("xdg-open", shQuote(getAmelia("wdForLastImputation")))) return(NULL) } ## Here is (finally) a decent solution to the tcl/tk issues with ## global variables. Here we create new environment, whose parent is ## the Amelia namespace. We then make sure that all of the GUI ## functions use that as their enclosure. This means that any of these ## functions can use values in the ameliaEnv. This eliminates the need ## for any "getAmelia" calls, but we still have to be careful since ## assigning values in these functions is local and doesn't ## automatically add the value to ameliaEnv. So, for assigning, ## 'putAmelia' probably still makes sense. We could use ## assign("foo", "bar", envir = parent.frame()) ## but putAmelia is probably more clear. getAmelia() is probably still ## a little more safe to use because it will throw an error if ## something is missing, whereas relying on lexical scoping will try ## to use something with the same name in the search path. ameliaEnv <- new.env() environment(main.close) <- ameliaEnv environment(setWorkingDir) <- ameliaEnv environment(loadStata) <- ameliaEnv environment(loadSPSS) <- ameliaEnv environment(loadSAS) <- ameliaEnv environment(loadTAB) <- ameliaEnv environment(loadCSV) <- ameliaEnv environment(loadRData) <- ameliaEnv environment(loadDemo) <- ameliaEnv environment(drawMissMap) <- ameliaEnv environment(activateGUI) <- ameliaEnv environment(save.session) <- ameliaEnv environment(load.session) <- ameliaEnv environment(run.amelia) <- ameliaEnv environment(amelia_save) <- ameliaEnv environment(set.out) <- ameliaEnv environment(setTS) <- ameliaEnv environment(unsetTS) <- ameliaEnv environment(setCS) <- ameliaEnv environment(unsetCS) <- ameliaEnv environment(fillMainTree) <- ameliaEnv environment(AmeliaView) <- ameliaEnv environment(buildNumericalOptions) <- ameliaEnv environment(buildOutputOptions) <- ameliaEnv environment(buildAboutDialog) <- ameliaEnv environment(gui.pri.setup) <- ameliaEnv environment(gui.diag.setup) <- ameliaEnv environment(save.log) <- ameliaEnv environment(show.output.log) <- ameliaEnv environment(bindTooltip) <- ameliaEnv environment(showTooltip) <- ameliaEnv environment(killTooltip) <- ameliaEnv environment(refreshSelection) <- ameliaEnv environment(variableOptionStatus) <- ameliaEnv environment(variableOptionsPost) <- ameliaEnv environment(mainTreeRightClick) <- ameliaEnv environment(addLag) <- ameliaEnv environment(addLead) <- ameliaEnv environment(dropLag) <- ameliaEnv environment(dropLead) <- ameliaEnv environment(setTrans) <- ameliaEnv environment(dropTrans) <- ameliaEnv environment(addBounds) <- ameliaEnv environment(plotHist) <- ameliaEnv environment(sortTreeBy) <- ameliaEnv environment(drawArrow) <- ameliaEnv environment(bandTree) <- ameliaEnv environment(updateTreeStats) <- ameliaEnv environment(centerModalDialog) <- ameliaEnv environment(showImputedFiles) <- ameliaEnv Amelia/R/summary.mi.R0000644000176200001440000000077514713157474014115 0ustar liggesusers#' Summary of an mi object #' #' Returns summary information about the list of multiply imputed data #' sets #' #' @param object an object of class \code{mi}. Typically, an output #' from the function \code{amelia}. #' @param ... further arguments. #' #' @seealso \code{\link{amelia}} summary.mi <- function(object, ...) { m <- length(object) nv <- length(object[[1]]) nr <- nrow(object[[1]]) cat("[", m, "imputations,", nv, "variables,", nr, "rows]\n\n") summary(do.call(rbind, object)) } Amelia/R/zzz.R0000644000176200001440000000121214335240021012611 0ustar liggesusers.onAttach <- function(...) { mylib <- dirname(system.file(package = "Amelia")) ver <- packageVersion("Amelia") builddate <- packageDescription("Amelia")$Date curryear <- format(Sys.time(), "%Y") mess <- c("## ", "## Amelia II: Multiple Imputation", paste("## (Version ",ver,", built: ", builddate,")", sep=""), paste("## Copyright (C) 2005-",curryear, " James Honaker, Gary King and Matthew Blackwell",sep=""), paste("## Refer to http://gking.harvard.edu/amelia/", "for more information"), "## ") mess <- paste(mess, collapse = "\n") packageStartupMessage(mess) } Amelia/R/summary.amelia.R0000644000176200001440000000303714335240021014707 0ustar liggesusers #' Summary of an Amelia object #' #' Returns summary information from the Amelia run along with #' missingles information. #' #' @param object an object of class \code{amelia}. Typically, an output #' from the function \code{amelia}. #' @param ... further arguments. #' #' @seealso \code{\link{amelia}}, \code{\link{plot.amelia}} summary.amelia <- function(object, ...) { percent.missing <- colMeans(object$missMatrix) n.patterns <- nrow(unique(object$missMatrix)) rows.imputed <- nrow(na.omit(object$imputations[[1]])) rows.lwd <- sum(rowSums(object$missMatrix)==0) print.amelia(object) cat("Rows after Listwise Deletion: ",rows.lwd,"\n") cat("Rows after Imputation: ", rows.imputed,"\n") cat("Patterns of missingness in the data: ", n.patterns, "\n\n") cat("Fraction Missing for original variables: \n") cat("-----------------------------------------\n\n") tb <- data.frame(cbind(percent.missing)) rownames(tb) <- colnames(object$missMatrix) colnames(tb) <- "Fraction Missing" print(tb) cat("\n") if (!is.null(object$transform.calls)) { cat("Post-imputation transformed variables: \n") cat("-----------------------------------------\n\n") tnames <- unlist(lapply(object$transform.calls, function(x) names(x)[-c(1,2)])) texprs <- unlist(lapply(object$transform.calls, function(x) as.character(x[-c(1,2)]))) tb2 <- data.frame(cbind(texprs)) rownames(tb2) <- paste(tnames, "=") colnames(tb2) <- "Transformations" print(tb2) } } Amelia/R/print.amelia.R0000644000176200001440000000124114335240021014341 0ustar liggesusers## ## print.amelia() - print method for the "amelia" class ## ## INPUT: object - an object of class "amelia" which is output ## from the amelia() function ## ## OUTPUT: Prints some information about the imputations. ## ## mb 02/02/09 ## print.amelia <- function(x, ...) { m <- length(x$imputations) cat(paste("\nAmelia output with ",m," imputed datasets.\n", sep="")) cat(paste("Return code: ", x$code,"\n"), sep="") cat(paste("Message: ", x$message, "\n"), sep="") cat("\nChain Lengths:\n") cat("--------------\n") for (i in 1:m) { cat(paste("Imputation ",i,": ", nrow(x$iterHist[[i]]),"\n", sep="")) } cat("\n") invisible(x) } Amelia/R/mo.R0000644000176200001440000001602514335240021012377 0ustar liggesusers#' Prepare Multiple Overimputation Settings #' #' A function to generate priors for multiple overimputation of #' a variable measured with error. #' #' @param x either a matrix, data.frame, or a object of class "molist" #' from a previous \code{moPrep} call. The first two derive the priors #' from the data given, and the third will derive the priors from the #' first \code{moPrep} call and add them to the already defined #' priors. #' @param formula a formula describing the nature of the measurement #' error for the variable. See "Details." #' @param subset an optional vector specifying a subset of observations #' which possess measurement error. #' @param error.proportion an optional vector specifying the fraction of #' the observed variance that is due to measurement error. #' @param gold.standard a logical value indicating if values with no #' measurement error should be used to estimate the measurement error #' variance. #' @param error.sd an optional vector specifying the standard error of #' the measurement error. #' #' @return An instance of the S3 class "molist" with the following #' objects: #' \itemize{ #' \item priors a four-column matrix of the multiple overimputation priors #' associated with the data. Each row of the matrix is #' \code{c(row,column, prior.mean, prior.sd)} #' \item overimp a two-column matrix of cells to be overimputed. Each #' row of the matrix is of the form \code{c(row, column)}, which #' indicate the row and column of the cell to be overimputed. #' \item data the object name of the matrix or data.frame to which #' priors refer. #' } #' #' Note that \code{priors} and \code{overimp} might contain results from #' multiple calls to \code{moPrep}, not just the most recent. #' #' @details #' This function generates priors for multiple overimputation of data #' measured with error. With the \code{formula} arugment, you can specify #' which variable has the error, what the mean of the latent data is, and #' if there are any other proxy measures of the mismeasured variable. The #' general syntax for the formula is: \code{errvar ~ mean | proxy}, #' where \code{errvar} is the mismeasured variable, \code{mean} is a #' formula for the mean of the latent variable (usually just #' \code{errvar} itself), and \code{proxy} is a another mismeasurement of #' the same latent variable. The proxies are used to estimate the #' variance of the measurement error. #' #' \code{subset} and \code{gold.standard} refer to the the rows of the #' data which are and are not measured with error. Gold-standard rows are #' used to estimate the variance of the #' measurement. error. \code{error.proportion} is used to estimate the #' variance of the measurement error by estimating the variance of the #' mismeasurement and taking the proportion assumed to be due to #' error. \code{error.sd} sets the standard error of the measurement #' error directly. #' #'@seealso #' \code{\link{amelia}} #' #' @examples #' data(africa) #' m.out <- moPrep(africa, trade ~ trade, error.proportion = 0.1) #' a.out <- amelia(m.out, ts = "year", cs = "country") #' plot(a.out) #' m.out <- moPrep(africa, trade ~ trade, error.sd = 1) #' a.out <- amelia(m.out, ts = "year", cs = "country") #' moPrep <- function(x, formula, subset, error.proportion, gold.standard = !missing(subset), error.sd) { UseMethod("moPrep",x) } #' @describeIn moPrep Alter existing moPrep output moPrep.molist <- function(x, formula, subset, error.proportion, gold.standard = FALSE, error.sd) { m <- match.call() m$x <- x$data m[[1]] <- as.name("moPrep") res <- eval(m, sys.frame(sys.parent())) x$priors <- rbind(x$priors, res$priors) x$overimp <- rbind(x$overimp, res$overimp) return(x) } #' @describeIn moPrep Default call to moPrep moPrep.default <- function(x, formula, subset, error.proportion, gold.standard=!missing(subset), error.sd) { if (!missing(error.proportion) && !(length(error.proportion) %in% c(1,nrow(x)))) { stop("The error.proportion arugment must be of length 1 or the number of rows of the data.") } if (!missing(error.sd) && !(length(error.sd) %in% c(1,nrow(x)))) { stop("The error.sd arugment must be of length 1 or the number of rows of the data.") } if (!missing(error.proportion) & !missing(error.sd)) { stop("error.proportion and error.sd cannot be set at the same time.") } ## parse the formula target.name <- formula[[2]] pars <- formula[[3]] vnames <- all.vars(formula, unique = FALSE) if ("|" %in% all.names(formula)) { proxyname <- vnames[length(vnames)] meanpos <- length(vnames)-1 } else { meanpos <- length(vnames) } if (!exists("proxyname") && missing(error.proportion) && !gold.standard && missing(error.sd)) { stop("Need to specify a proxy, an error proportion, an error variance, or gold-standard data.") } proxysplit <- strsplit(deparse(formula), "\\|")[[1]] form <- formula(paste(proxysplit, collapse = "+")) m <- match.call() m[[1]] <- as.name("model.frame") m$formula <- form m$error.proportion <- NULL m$error.sd <- NULL m$gold.standard <- NULL m$data <- m$x m$x <- NULL mf <- eval(m, sys.frame(sys.parent())) if (nrow(mf) == 0L) stop("0 cases to overimpute, check subset argument") if (!missing(error.proportion)) { if (length(error.proportion) == nrow(x)) { if (!missing(subset)) { error.proportion <- error.proportion[eval(substitute(subset,x))] } gs <- mf[error.proportion == 0, , drop = FALSE] mf <- mf[error.proportion != 0, , drop = FALSE] } } else if (!missing(error.sd)) { if (length(error.sd) == nrow(x)) { if (!missing(subset)) { error.sd <- error.sd[eval(substitute(subset,x))] } gs <- mf[error.sd == 0, , drop = FALSE] mf <- mf[error.sd != 0, , drop = FALSE] } } else { gs <- mf[0,] } if (ncol(mf) < meanpos) meanpos <- ncol(mf) prior.mean <- mf[,meanpos] var.mm <- var(mf[,1], na.rm=TRUE) if (!missing(error.proportion)) { prior.var <- var.mm*error.proportion } if (!missing(error.sd)) { prior.var <- error.sd^2 } if (exists("proxyname")) { prior.var <- var.mm - cov(mf[,1],mf[,proxyname], use="complete.obs") } if (gold.standard && !is.null(m$subset)) { m$subset <- NULL mf.full <- eval(m, sys.frame(sys.parent())) gs2 <- mf.full[which(!(rownames(mf.full) %in% rownames(mf))), , drop = FALSE] gs <- rbind(gs, gs2) var.gs <- var(gs[,1],na.rm=TRUE) prior.var <- var.mm - var.gs } col <- match(names(mf)[1], names(x)) rows <- as.integer(rownames(mf)) out <- list() out$priors <- cbind(rows,col,prior.mean, prior.var) out$overimp <- cbind(rows, col) if (sum(out$priors[,4] <= 0) > 0) { out$priors <- out$priors[out$priors[,4] > 0,] warning("Some observations estimated with negative measurement error variance. Set to gold standard.") } out$priors[,4] <- sqrt(out$priors[,4]) out$data <- substitute(x) class(out) <- c("molist","list") return(out) } Amelia/R/write.amelia.R0000644000176200001440000001023514713157336014362 0ustar liggesusers#' Write Amelia imputations to file #' #' Writes the imptuted datasets to file from a run of \code{amelia} #' #' @param obj an object of class "amelia"; typically output from the #' function \code{amelia} #' @param separate logical variable. If \code{TRUE} (default), the #' imputed datasets will be written to separate files, whose names come #' from the \code{file.stem} and \code{extension} arguments. If \code{FALSE}, #' the imputations are stacked and written as a single file. #' @param file.stem the leading part of the filename to save to #' output The imputation number and \code{extension} will be added to #' complete the filename. This can include a directory path. #' @param extension the extension of the filename. This is simply what #' follows \code{file.stem} and the imputation number. #' @param format one of the following output formats: \code{csv}, #' \code{dta} or \code{table}. See details. #' @param impvar the name of imputation number variable written to the #' stacked dataset when \code{separate} is \code{FALSE}. #' @param orig.data logical variable indicating whether the original, #' unimputed dataset should be included in the stacked dataset when #' \code{separate} is \code{FALSE}. #' @param \dots further arguments for the \code{write} functions. #' #' @details #' \code{write.amelia} writes the imputed datasets to a file or a set of files #' using one of the following functions: \code{write.csv}, #' \code{write.dta}, or \code{write.table}. You can pass arguments to #' these functions from \code{write.amelia}. #' #' When \code{separate} is \code{TRUE}, each imputed dataset is written #' to its own file. If you were to set \code{file.stem} to #' \code{"outdata"} and the \code{extension} to \code{".csv"} , then the #' resulting filename of the written files will be #' \preformatted{ #' outdata1.csv #' outdata2.csv #' outdata3.csv #' ... #' } #' and so on. #' #' When \code{separate} is \code{FALSE}, the function adds a variable #' called \code{impvar} to each dataset which indicates the imputed #' dataset to which the row belongs. Then, each of the datasets are #' stacked together to create one dataset. If \code{orig.data} is \code{TRUE}, #' then the original, unimputed dataset is included at the top of the #' stack, with its imputation number set to 0. #' #' @seealso \code{\link{write.csv}}, \code{\link{write.table}}, \code{\link[foreign]{write.dta}} write.amelia <- function(obj, separate = TRUE, file.stem, extension = NULL, format = "csv", impvar = "imp", orig.data = TRUE, ...) { if(!(format %in% c("csv","table","dta"))) { stop("The writing format is not supported") } ## smart defaults for the extensions if (missing(extension)) { if (format == "dta") extension <- ".dta" if (format == "csv") extension <- ".csv" } m <- length(obj$imputations) Call <- match.call(expand.dots = TRUE) Call[[1]] <- as.name(paste("write",format, sep=".")) ## these arugments should not be passed to write.format Call$obj <- NULL Call$file.stem <- NULL Call$extension <- NULL Call$format <- NULL Call$separate <- NULL Call$orig.data <- NULL Call$impvar <- NULL if (separate) { for (i in 1:m) { if (format == "dta") Call$dataframe <- obj$imputations[[i]] else Call$x <- obj$imputations[[i]] Call$file <- paste(file.stem, i, extension,sep="") eval.parent(Call) } } else { if (orig.data) { odata <- obj$imputations[[1]] is.na(odata) <- obj$missMatrix odata[, impvar] <- 0 } obj$imputations[[1]][, impvar] <- 1 if (orig.data) { obj$imputations[[1]] <- rbind(odata, obj$imputations[[1]]) } if (format == "dta") { Call$dataframe <- obj$imputations[[1]] } else { Call$x <- obj$imputations[[1]] } for (i in 2:m) { obj$imputations[[i]][, impvar] <- i if (format == "dta") { Call$dataframe <- rbind(Call$dataframe, obj$imputations[[i]]) } else { Call$x <- rbind(Call$x, obj$imputations[[i]]) } } Call$file <- paste(file.stem, extension, sep = "") eval.parent(Call) } invisible() } Amelia/R/emb.r0000644000176200001440000012001414611770403012572 0ustar liggesusers## Code for bootstrapped Amelia ported to R ## 17/09/05 jh - Added "subset" routine for idvars and completely missing observations ## 22/09/05 jh - Changed stack function to optionally fix column positions, changed bootx to reject some bootstraps, changed emarch to work when no data missing ## 23/09/05 mb - Added "amcheck" function to change data and check for errors, "impdata" now in format given to amelia. ## 24/09/05 jh - Modified "amcheck," added polynomials of time, added ability to impute "logicals" from data frames ## 25/09/05 jh - Finalized plumbing for observational priors ## 26/09/05 mb - Added "frontend" argument and screen box to amelia and emarch functions ## 27/09/05 jh - Added observational and empirical priors ## 28/09/05 mb - Fixed "frontend" to update the GUI after each print. ## 30/09/05 mb - "amcheck" expanded, priors passed as individual matrices ## 07/10/05 mb - Added passing of lags and multiple levels of polynomials; expanded "amcheck" to cover these ## 08/10/05 jh - Enabled variable degree of polynomials of time, enabled interaction with cross-section ## 14/10/05 mb - Put "amcheck" into its own file ## 21/10/05 mb - Changed "stack" to "amstack" (and "unstack"); added log transformations in "amtransform"; adding "archive" option that saves a list of the settings ## 21/10/05 mb - Added a soft-crash that will print and output the error number and message. ## 24/10/05 mb - Added "sqrt" option for square root transformations, "lgstc" for logistic transformations ## 27/10/05 mb - Enabled lags and leads ## 9//11/05 mb - Enabled nominals; added "incheck" to allow skipping amcheck; moved dataframe->matrix conversion to framemat function. ## 15/12/05 mb - new (fixed) impute function; ## 21/02/06 mb - added positive definite check to "startvals", now defaults to identity if not pd. ## 22/02/06 mb - penrose inverse function added in sweep; soft-crashes on a non invertible covariance matrix at the end of EM ## 23/02/06 mb - empri increases if EM hits a non-monotonic section; added 'startvals' option; added iteration history to archive; ## 21/03/06 mb - added "ords" option and added ordinal support in "unsubset"; fixed a bug in nominals that wouldn't fill in imputations; ## 22/03/06 mb - character/factors can be specified and returned correctly as ordinals; ## 08/04/06 jh - revised functions to handle large datasets, merged with parallel emb.r version ## 10/04/06 mb - added "nametonumber" function that converts column names to numbers in all of the list options ## 28/04/06 mb - extracted transformation functions to prep.r ## 29/04/06 jh - changed screen output for "p2s", ivector and icap in "indxs", revised "diff" convergence monitor to upper triangular ## 01/05/06 mb - removed "rbind" calls in emfred, impute. ## 01/06/06 mb - added "allthetas" option to emarch for overdispersion diagnostic ## 15/06/06 jh - merged with priors version changing all EM and impute procs, modified how lists are generated in indxs("icap") and amelia("impdata"). ## 27/06/06 mb - added arglist argument to load in output from amelia or the gui. ## 13/07/06 mb - moved gc() calls out of emfred into emarch ## 02/08/06 mb - removed data.matrix() call when calling unsubset (moved to prep), fixed impfill for char. ## 29/08/06 jh - changed tolerance defaults ## 20/09/06 mb - new option (temp?) keep.data that will trash datasets from memory ## 01/10/06 mb - added additional info to p2s=2. ## 27/11/06 mb - new priors format ## 15/01/07 jh/mb - final version changes, degrees of freedom messages,autoprior option, modified comments, rearranged core arguments ## 10/05/07 mb - changed 'impute' to 'amelia.impute' ## 04/07/07 jh - added "emburn" option to modify convergence criteria ## 04/06/08 mb - changed the writing to GUI ('if (frontend)' calls) to remove globals ## 17/07/08 mb - fixed frontend error bug (dumping output to screen ## 22/07/08 mb - good coding update: T->TRUE/F->FALSE ## 27/03/10 jh - small changes to arguments of functions to deal with "splinetime" option in same fashion as "polytime" ## Draw from a multivariate normal distribution ## n: number of draws ## mu: vector of means ## vcv: variance-covariance matrix rmvnorm <- function(n,mu,vcv){ return(matrix(rnorm(n*length(mu)),n,length(mu)) %*% (chol(vcv)) + (matrix(1,n,1) %*% mu ) ) } ## Returns the data matrix without the rows with missing values ## (Same return as na.omit, without any attributes) ## x: data matrix ## can't send it a vector right now packr<-function(x) { r<-is.na(x) sumr<-rowSums(r) x2<-x[sumr==0, , drop=FALSE] return(x2) } ## Create dataset bootstrapped from original dataset ## Rejects Bootstraps where an entire variable becomes missing ## x: data (matrix) ## priors: matrix of priors about means for observations bootx<-function(x,priors=NULL, boot.type="np"){ flag <- TRUE AMn <- nrow(x) if (!is.null(boot.type)) { if (boot.type == "none") { return(list(x=x,priors=priors)) } } while (flag){ order<-trunc(runif(nrow(x), min=1, max=nrow(x)+1)) xboot<-x[order,] if (!identical(priors,NULL)){ sigPriors <- matrix(NA,nrow(x),ncol(x)) muPriors <- matrix(NA,nrow(x),ncol(x)) muPriors[priors[,1:2]] <- priors[,3] sigPriors[priors[,1:2]] <- priors[,4] muPriors <- muPriors[order,] sigPriors <- sigPriors[order,] prior.ind <- which(!is.na(muPriors), arr.ind = TRUE) priors <- cbind(prior.ind, muPriors[prior.ind], sigPriors[prior.ind]) # priors[,1]<-match(priors[,1],order) #priors <- priors[!is.na(priors[,1]),,drop=FALSE] } flag<-any(colSums(is.na(xboot))==AMn & !((1:ncol(xboot)) %in% priors[,2])) } return(list(x=xboot,priors=priors)) } ## Put imputations into the original data format ## Converts integer values back to factors or characters impfill <- function(x.orig, x.imp, noms, ords, priors, overimp) { if (!is.null(priors)) { is.na(x.orig)[priors[,c(1,2)]] <- TRUE } if (!is.null(overimp)) { is.na(x.orig)[overimp] <- TRUE } AMr1.orig <- is.na(x.orig) orig.fact <- sapply(x.orig, is.factor) orig.char <- sapply(x.orig, is.character) x.imp <- as.data.frame(x.imp[, 1:ncol(x.orig)]) for (i in 1:ncol(x.orig)) { if (is.logical(x.orig[[i]]) & sum(!is.na(x.orig[[i]])) > 0) { x.imp[,i] <- as.logical(x.imp[,i]>0.5) } ## imputations will be numeric and tibbles if (is.integer(x.orig[[i]]) & sum(is.na(x.orig[[i]])) > 0) { x.orig[, i] <- as.numeric(x.orig[[i]]) } } possibleFactors <- unique(c(noms, ords)) if (!is.null(possibleFactors)) { if (ncol(x.orig) > length(possibleFactors)) { num.cells <- which(is.na(x.orig) & !(col(x.orig) %in% possibleFactors), arr.ind = TRUE) for (j in seq_len(nrow(num.cells))) { j_row <- num.cells[j, 1] j_col <- num.cells[j, 2] x.orig[j_row, j_col] <- x.imp[j_row, j_col] } } for (i in possibleFactors) { if (orig.fact[i]) x.orig[is.na(x.orig[, i]), i] <- levels(x.orig[[i]])[x.imp[is.na(x.orig[[i]]), i]] else if (orig.char[i]) x.orig[, i] <- levels(factor(x.orig[[i]]))[x.imp[, i]] else x.orig[is.na(x.orig[[i]]), i] <- x.imp[is.na(x.orig[[i]]), i] } } else { x.orig[AMr1.orig] <- x.imp[AMr1.orig] } new.char <- sapply(x.orig, is.character) char.match <- orig.char != new.char if (sum(char.match) != 0) for (i in seq_along(char.match)) if (char.match[i]) x.orig[, i] <- as.numeric(x.orig[[i]]) return(x.orig) } ## Create Starting Values for EM Chain startval<-function(x,startvals=0,priors=NULL){ AMp<-ncol(x) if (!is.null(priors)) { ## fill in prior means x[(priors[,2]-1)*nrow(x)+priors[,1]] <- priors[,3] } if (ncol(as.matrix(startvals)) == AMp+1 && nrow(as.matrix(startvals)) == AMp+1) #checks for correct size of start value matrix if (startvals[1,1]==-1) #checks for the -1 necessary for sweep return(startvals) thetast<-matrix(0,nrow=AMp+1,ncol=AMp+1) # Create matrix of zeros thetast[row(thetast)==col(thetast)] <- 1 # Create Identity matrix thetast[1,1]<-(-1) if (startvals==0){ # Defaults to Identity if too few rows fully observed cmpr<-packr(x) if (nrow(cmpr)>AMp){ means<-colMeans(cmpr) if (all(eigen(cov(cmpr))$values > 10*.Machine$double.eps)) { #Checks for positive definiteness (positive eigenvalues) thetast[2:(AMp+1),2:(AMp+1)]<-cov(cmpr) #.Machine$double.eps instead of 0 to account for rounding. thetast[2:(AMp+1),1]<-means thetast[1,2:(AMp+1)]<-means } } } return(thetast) } ## Create certain indicies. Only needs to be called once, not every pattern. ## o,m,icap come from omiindxs ## ivector is i from indexm indxs<-function(x){ AMn<-nrow(x) AMr1<-is.na(x) # True if missing. AMr2<-unique(AMr1) o<- !AMr2 # (or o<-AMr2==1) Maybe == is not robust to small fluctuations m<- AMr2 # so put in check procedure (m<-) ## The following can be replaced by fortran .dll, although this has only moderate time savings ## ivector<-1 for(i in 2:AMn){ ischange<- !identical(AMr1[i,],AMr1[i-1,]) if(ischange){ ivector<-c(ivector,i) } } ivector<-c(ivector,AMn+1) ##################################################### ## ivector<-.Fortran("indxs",1*AMr1,as.integer(AMn),as.integer(ncol(x)),as.integer(nrow(AMr2)+1),ivector=integer(nrow(AMr2)+1))$ivector icap<-vector(mode="list",nrow(AMr2)) # This is a useful index, although no longer currently used for (i in 2:length(ivector)){ icap[[i]]<-seq(ivector[i-1],ivector[i]-1) } return(list(AMr1=AMr1,AMr2=AMr2,o=o,m=m,icap=icap,ivector=ivector)) } ## EM chain architecture calls emarch<-function(x,p2s=TRUE,thetaold=NULL,startvals=0,tolerance=0.0001,priors=NULL,empri=NULL,frontend=FALSE,collect=FALSE,allthetas=FALSE,autopri=0.05,emburn=c(0,0)){ if (p2s == 2) { cat("setting up EM chain indicies\n") flush.console() } iter.hist<-matrix(0,nrow=1,ncol=3) if (sum(complete.cases(x)) < nrow(x)){ # Check for fully observed data if (identical(thetaold,NULL)) thetaold<-startval(x,startvals=startvals,priors=priors) indx<-indxs(x) # This needs x.NA if (!identical(priors,NULL)){ priors[,4]<-1/priors[,4] # change sd to 1/var priors[,3]<-priors[,3]*priors[,4] # get the precision-weighted # mus priors <- priors[order(priors[,1],priors[,2]),,drop = FALSE] } x[is.na(x)]<-0 # Change x.NA to x.0s AM1stln<-sum(indx$m[1,])==0 & nrow(indx$m) > 1 count<-0 diff<- 1+tolerance AMr1 <- 1 * indx$AMr1 oo <- 1 * indx$o mm <- 1 * indx$m if (is.null(empri)) { empri <- 0 } theta <- .Call("emcore", x, AMr1, oo, mm, indx$ivector, thetaold, tolerance, emburn, p2s, empri,autopri, allthetas, priors, PACKAGE="Amelia") } else { if (p2s) cat("\n","No missing data in bootstrapped sample: EM chain unnecessary") pp1<-ncol(x)+1 # p (the number of variables) plus one means<-colMeans(x) thetanew<-matrix(0,pp1,pp1) thetanew[1,1]<-(-1) thetanew[2:pp1,1]<-means thetanew[1,2:pp1]<-means thetanew[2:pp1,2:pp1]<-cov(x) # Need to consider Priors in these cases, iter.hist<-NA # Although not # currently necessary. return(list(thetanew=thetanew,iter.hist=iter.hist)) } return(list(thetanew=theta$theta,iter.hist=theta$iter.hist)) } ## Draw imputations for missing values from a given theta matrix amelia_impute<-function(x,thetareal,priors=NULL,bounds=NULL,max.resample=NULL){ indx<-indxs(x) # This needs x.NA if (!identical(priors,NULL)){ priors[,4]<-1/priors[,4] priors[,3]<-priors[,3]*priors[,4] priors <- priors[order(priors[,1],priors[,2]),,drop = FALSE] } x[is.na(x)]<-0 # Change x.NA to x.0s AM1stln<-sum(indx$m[1,])==0 & nrow(indx$m) > 1 # Create sundry simple indicators i<-indx$ivector iii<-indx$icap AMp<-ncol(x) AMn<-nrow(x) AMr1 <- 1 * indx$AMr1 oo <- 1 * indx$o mm <- 1 * indx$m if (is.null(bounds)) max.resample <- NULL imp <- .Call("ameliaImpute", x, AMr1, oo, mm, indx$ivector, thetareal, priors, bounds, max.resample, PACKAGE="Amelia") return(imp) } #' Combine multiple runs of Amelia #' #' Combines multiple runs of \code{amelia} with the same #' arguments and data into one \code{amelia} object. #' #' @param ... one or more objects of class \code{amelia} with the same #' arguments and created from the same data. #' #' @details \code{ameliabind} will combine multiple runs of \code{amelia} into one #' object so that you can utilize diagnostics and modelling on all the #' imputations together. This function is useful for combining multiple #' runs of \code{amelia} run on parallel machines. #' #' Note that \code{ameliabind} only checks that they arguments and the #' missingness matrix are identical. Thus, it could be fooled by two #' datasets that are identical up to a transformation of one variable. #' #' @return An object of class \code{amelia}. #' #' @seealso \code{\link{amelia}} #' #' @examples #' data(africa) #' a1.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") #' a2.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") #' all.out <- ameliabind(a1.out, a2.out) #' summary(all.out) #' plot(all.out) #' ameliabind <- function(...) { args <- list(...) if (any(!sapply(args, is, "amelia"))) stop("All arguments must be amelia output.") if (length(args) > 1) { ## test that data is the same. we'll just compare the missMatrices. ## this will allow datasets with the same size and missingness ## matrix to be combined unintentionally, but this seems unlikely. datacheck <- lapply(args, function(x) isTRUE(identical(x$missMatrix,args[[1]]$missMatrix))) if (any(!unlist(datacheck))) stop("Non-compatible datasets.") ## test that all the arguments are the same check <- lapply(args, function(x) isTRUE(identical(x$arguments, args[[1]]$arguments))) if (any(!unlist(check))) stop("Non-compatible amelia arguments") check <- lapply(args, function(x) isTRUE(identical(x$transform.calls, args[[1]]$transform.calls))) if (any(!unlist(check))) stop("Non-compatible transformations on imputed datasets") imps <- unlist(lapply(args, function(x) return(x$m))) newm <- sum(imps) impindex <- c(0,cumsum(imps)) k <- nrow(args[[1]]$mu) out <- list(imputations = list(), m = integer(0), missMatrix = matrix(NA,0,0), overvalues = args[[1]]$overvalues, theta = array(NA, dim = c(k+1,k+1,newm) ), mu = matrix(NA, nrow = k, ncol = newm), covMatrices = array(NA, dim = c(k,k,newm)), code = integer(0), message = character(0), iterHist = list(), arguments = list(), orig.vars = args[[1]]$orig.vars) out$m <- newm out$missMatrix <- args[[1]]$missMatrix out$arguments <- args[[1]]$arguments out$transform.calls <- args[[1]]$transform.calls out$transform.vars <- args[[1]]$transform.vars ## since code==1 is good and code==2 means we have an NA, ## then our new output should inherit a 2 if there are any out$code <- max(unlist(lapply(args,function(x) return(x$code)))) if (out$code > 2) stop("Amelia output contains error.") if (out$code==2) out$message <- "One or more of the imputations resulted in a covariance matrix that was not invertible." else out$message <- "Normal EM convergence" for (i in 1:length(args)) { currimps <- (impindex[i]+1):impindex[i+1] out$mu[,currimps] <- args[[i]]$mu out$theta[,,currimps] <- args[[i]]$theta out$covMatrices[,,currimps] <- args[[i]]$covMatrices out$imputations <- c(out$imputations, args[[i]]$imputations) out$iterHist <- c(out$iterHist, args[[i]]$iterHist) } names(out$imputations) <- paste("imp",1:length(out$imputations),sep="") #or: names(out$imputations) <- paste("imp",1:impindex[i+1],sep="") class(out) <- "amelia" class(out$imputations) <- c("mi","list") } else { out <- args[[1]] if (out$code > 2) stop("Amelia output contains error.") } return(out) } getOriginalData <- function(obj) { data <- obj$imputations[[1]] is.na(data) <- obj$missMatrix data <- data[, obj$orig.vars] oi <- obj$arguments$overimp if (!is.null(oi)) { for (i in 1:nrow(oi)) { data[oi[i,1], oi[i,2]] <- obj$overvalues[i] } } return(data) } remove.imputations <- function(obj) { data <- obj$imputations[[1]] is.na(data) <- obj$missMatrix oi <- obj$arguments$overimp if (!is.null(oi)) { for (i in 1:nrow(oi)) { data[oi[i,1], oi[i,2]] <- obj$overvalues[i] } } return(data) } ## amelia - multiple imputation. core function ## #' AMELIA: Multiple Imputation of Incomplete Multivariate Data #' #' Runs the bootstrap EM algorithm on incomplete data and creates #' imputed datasets. #' #' @author James Honaker #' @author Gary King #' @author Matt Blackwell #' #' #' @param x either a matrix, data.frame, a object of class #' "amelia", or an object of class "molist". The first two will call the #' default S3 method. The third a convenient way to perform more imputations #' with the same parameters. The fourth will impute based on the settings from #' \code{moPrep} and any additional arguments. #' @param m the number of imputed datasets to create. #' @param p2s an integer value taking either 0 for no screen output, #' 1 for normal screen printing of iteration numbers, and 2 for detailed #' screen output. See "Details" for specifics on output when p2s=2. #' @param frontend a logical value used internally for the GUI. #' @param idvars a vector of column numbers or column names that indicates #' identification variables. These will be dropped from the analysis but #' copied into the imputed datasets. #' @param ts column number or variable name indicating the variable identifying time #' in time series data. #' @param cs column number or variable name indicating the cross section variable. #' @param polytime integer between 0 and 3 indicating what #' power of polynomial should be included in the imputation model #' to account for the effects of time. A setting of 0 would #' indicate constant levels, 1 would indicate linear time #' effects, 2 would indicate squared effects, and 3 would #' indicate cubic time effects. #' @param splinetime interger value of 0 or greater to control cubic #' smoothing splines of time. Values between 0 and 3 create a simple #' polynomial of time (identical to the polytime argument). Values \code{k} greater #' than 3 create a spline with an additional \code{k-3} #' knotpoints. #' @param intercs a logical variable indicating if the #' time effects of \code{polytime} should vary across the #' cross-section. #' @param lags a vector of numbers or names indicating columns in the data #' that should have their lags included in the imputation model. #' @param leads a vector of numbers or names indicating columns in the data #' that should have their leads (future values) included in the imputation #' model. #' @param startvals starting values, 0 for the parameter matrix from #' listwise deletion, 1 for an identity matrix. #' @param tolerance the convergence threshold for the EM algorithm. #' @param logs a vector of column numbers or column names that refer #' to variables that require log-linear transformation. #' @param sqrts a vector of numbers or names indicating columns in the data #' that should be transformed by a sqaure root function. Data in this #' column cannot be less than zero. #' @param lgstc a vector of numbers or names indicating columns in the data #' that should be transformed by a logistic function for proportional data. #' Data in this column must be between 0 and 1. #' @param noms a vector of numbers or names indicating columns in the data #' that are nominal variables. #' @param ords a vector of numbers or names indicating columns in the #' data that should be treated as ordinal variables. #' @param incheck a logical indicating whether or not the inputs to the #' function should be checked before running \code{amelia}. This should #' only be set to \code{FALSE} if you are extremely confident that your #' settings are non-problematic and you are trying to save computational #' time. #' @param collect a logical value indicating whether or #' not the garbage collection frequency should be increased during the #' imputation model. Only set this to \code{TRUE} if you are experiencing memory #' issues as it can significantly slow down the imputation #' process #' @param arglist an object of class "ameliaArgs" from a previous run of #' Amelia. Including this object will use the arguments from that run. #' @param empri number indicating level of the empirical (or ridge) prior. #' This prior shrinks the covariances of the data, but keeps the means #' and variances the same for problems of high missingness, small N's or #' large correlations among the variables. Should be kept small, #' perhaps 0.5 to 1 percent of the rows of the data; a #' reasonable upper bound is around 10 percent of the rows of the #' data. #' @param priors a four or five column matrix containing the priors for #' either individual missing observations or variable-wide missing #' values. See "Details" for more information. #' @param autopri allows the EM chain to increase the empirical prior if #' the path strays into an nonpositive definite covariance matrix, up #' to a maximum empirical prior of the value of this argument times #' \code{n}, the number of observations. Must be between 0 and 1, and at #' zero this turns off this feature. #' @param emburn a numeric vector of length 2, where \code{emburn[1]} is #' a the minimum EM chain length and \code{emburn[2]} is the #' maximum EM chain length. These are ignored if they are less than 1. #' @param bounds a three column matrix to hold logical bounds on the #' imputations. Each row of the matrix should be of the form #' \code{c(column.number, lower.bound,upper.bound)} See Details below. #' @param max.resample an integer that specifies how many times Amelia #' should redraw the imputed values when trying to meet the logical #' constraints of \code{bounds}. After this value, imputed values are #' set to the bounds. #' @param overimp a two-column matrix describing which cells are to be #' overimputed. Each row of the matrix should be a \code{c(row,column)} pair. #' Each of these cells will be treated as missing and #' replaced with draws from the imputation model. #' @param boot.type choice of bootstrap, currently restricted to either #' \code{"ordinary"} for the usual non-parametric bootstrap and #' \code{"none"} for no bootstrap. #' @param parallel the type of parallel operation to be used (if any). If #' missing, the default is taken from the option #' \code{"amelia.parallel"} (and if that is not set, \code{"no"}). #' @param ncpus integer: the number of processes to be used in parallel #' operation: typically one would choose the number of available CPUs. #' @param cl an optional \pkg{parallel} or \pkg{snow} cluster for use if #' \code{parallel = "snow"}. If not supplied, a cluster on the local #' machine is created for the duration of the \code{amelia} call. #' @param ... further arguments to be passed. #' #' @details #' Multiple imputation is a method for analyzing incomplete #' multivariate data. This function will take an incomplete dataset in #' either data frame or matrix form and return \code{m} imputed datatsets #' with no missing values. The algorithm first creates a bootstrapped #' version of the original data, estimates the sufficient statistics #' (with priors if specified) by EM on this bootstrapped sample, and #' then imputes the missing values of the original data using the #' estimated sufficient statistics. It repeats this process \code{m} #' times to produce the \code{m} complete datasets where the #' observed values are the same and the unobserved values are drawn #' from their posterior distributions. #' #' The function will start a "fresh" run of the algorithm if \code{x} is #' either a incomplete matrix or data.frame. In this method, all of the #' options will be user-defined or set to their default. If \code{x} #' is the output of a previous Amelia run (that is, an object of #' class "amelia"), then Amelia will run with the options used in #' that previous run. This is a convenient way to run more #' imputations of the same model. #' #' You can provide Amelia with informational priors about the missing #' observations in your data. To specify priors, pass a four or five #' column matrix to the \code{priors} argument with each row specifying a #' different priors as such: #' #' \code{ one.prior <- c(row, column, mean,standard deviation)} #' #' or, #' #' \code{ one.prior <- c(row, column, minimum, maximum, confidence)}. #' #' So, in the first and second column of the priors matrix should be the #' row and column number of the prior being set. In the other columns #' should either be the mean and standard deviation of the prior, or a #' minimum, maximum and confidence level for the prior. You must specify #' your priors all as distributions or all as confidence ranges. Note #' that ranges are converted to distributions, so setting a confidence of #' 1 will generate an error. #' #' Setting a priors for the missing values of an entire variable is done #' in the same manner as above, but inputing a \code{0} for the row #' instead of the row number. If priors are set for both the entire #' variable and an individual observation, the individual prior takes #' precedence. #' #' In addition to priors, Amelia allows for logical bounds on #' variables. The \code{bounds} argument should be a matrix with 3 #' columns, with each row referring to a logical bound on a variable. The #' first column should be the column number of the variable to be #' bounded, the second column should be the lower bounds for that #' variable, and the third column should be the upper bound for that #' variable. As Amelia enacts these bounds by resampling, particularly #' poor bounds will end up resampling forever. Amelia will stop #' resampling after \code{max.resample} attempts and simply set the #' imputation to the relevant bound. #' #' If each imputation is taking a long time to converge, you can increase #' the empirical prior, \code{empri}. This value has the effect of smoothing #' out the likelihood surface so that the EM algorithm can more easily find #' the maximum. It should be kept as low as possible and only used if needed. #' #' Amelia assumes the data is distributed multivariate normal. There are a #' number of variables that can break this assumption. Usually, though, a #' transformation can make any variable roughly continuous and unbounded. #' We have included a number of commonly needed transformations for data. #' Note that the data will not be transformed in the output datasets and the #' transformation is simply useful for climbing the likelihood. #' #' Amelia can run its imputations in parallel using the methods of the #' \pkg{parallel} package. The \code{parallel} argument names the #' parallel backend that Amelia should use. Users on Windows systems must #' use the \code{"snow"} option and users on Unix-like systems should use #' \code{"multicore"}. The \code{multicore} backend sets itself up #' automatically, but the \code{snow} backend requires more setup. You #' can pass a predefined cluster from the #' \code{parallel::makePSOCKcluster} function to the \code{cl} #' argument. Without this cluster, Amelia will attempt to create a #' reasonable default cluster and stop it once computation is #' complete. When using the parallel backend, users can set the number of #' CPUs to use with the \code{ncpus} argument. The defaults for these two #' arguments can be set with the options \code{"amelia.parallel"} and #' \code{"amelia.ncpus"}. #' #' Please refer to the Amelia manual for more information on the function #' or the options. #' #' @return An instance of S3 class "amelia" with the following objects: #' \item{imputations}{a list of length \code{m} with an imputed dataset in #' each entry. The class (matrix or data.frame) of these entries will #' match \code{x}.} #' \item{m}{an integer indicating the number of imputations run.} #' \item{missMatrix}{a matrix identical in size to the original dataset #' with 1 indicating a missing observation and a 0 indicating an observed #' observation.} #' \item{theta}{An array with dimensions \eqn{(p+1)} by \eqn{(p+1)} by \eqn{m} (where #' \eqn{p} is the number of variables in the imputations model) holding #' the converged parameters for each of the \code{m} EM chains.} #' \item{mu}{A \eqn{p} by \eqn{m} matrix of of the posterior modes for the #' complete-data means in each of the EM chains.} #' \item{covMatrices}{An array with dimensions \eqn{(p)} by \eqn{(p)} by #' \eqn{m} where the first two dimensions hold the posterior modes of the #' covariance matrix of the complete data for each of the EM chains.} #' \item{code}{a integer indicating the exit code of the Amelia run.} #' \item{message}{an exit message for the Amelia run} #' \item{iterHist}{a list of iteration histories for each EM chain. See #' documentation for details.} #' \item{arguments}{a instance of the class "ameliaArgs" which holds the #' arguments used in the Amelia run.} #' \item{overvalues}{a vector of values removed for overimputation. Used to #' reformulate the original data from the imputations. } #' #' Note that the \code{theta}, \code{mu} and \code{covMatrcies} objects #' refers to the data as seen by the EM algorithm and is thusly centered, #' scaled, stacked, tranformed and rearranged. See the manual for details #' and how to access this information. #' #' @references #' Honaker, J., King, G., Blackwell, M. (2011). #' Amelia II: A Program for Missing Data. #' \emph{Journal of Statistical Software}, \bold{45(7)}, 1--47. #' \doi{10.18637/jss.v045.i07} #' #' @seealso For imputation diagnostics, \code{\link{missmap}}, #' \code{\link{compare.density}}, #' \code{\link{overimpute}} and \code{\link{disperse}}. For time series #' plots, \code{\link{tscsPlot}}. Also: \code{\link{plot.amelia}}, #' \code{\link{write.amelia}}, and \code{\link{ameliabind}} #' #' @examples #' data(africa) #' a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") #' summary(a.out) #' plot(a.out) #' #' @keywords models amelia <- function(x, ...) { UseMethod("amelia", x) } #' @describeIn amelia Run additional imputations for Amelia output amelia.amelia <- function(x, m = 5, p2s = 1, frontend = FALSE, ...) { ## The original data is the imputed data with the ## imputations marked to NA. These two lines do that data <- x$imputations[[1]] ## Only the variables in the missMatrix should be passed. This is ## because the others are data <- getOriginalData(x) out <- amelia.default(x = data, m = m, arglist=x$arguments, p2s=p2s, frontend = frontend, incheck=FALSE) num.tcalls <- length(x$transform.calls) if (num.tcalls > 0) { for (i in 1:num.tcalls) { tcall <- x$transform.calls[[i]] tcall[[2]] <- as.name("out") out <- eval(tcall) } out$transform.calls <- x$transform.calls } ret <- ameliabind(x, out) return(ret) } #' @describeIn amelia Perform multiple overimputation from moPrep amelia.molist <- function(x, ...) { m <- match.call(expand.dots=TRUE) m$x <- x$data m$priors <- x$priors m$overimp <- x$overimp m[[1]] <- quote(Amelia::amelia.default) ret <- eval(m, parent.frame()) return(ret) } #' @describeIn amelia Run core Amelia algorithm amelia.default <- function(x, m = 5, p2s = 1, frontend = FALSE, idvars = NULL, ts = NULL, cs = NULL, polytime = NULL, splinetime = NULL, intercs = FALSE, lags = NULL, leads = NULL, startvals = 0, tolerance = 0.0001, logs = NULL, sqrts = NULL, lgstc = NULL, noms = NULL, ords = NULL, incheck = TRUE, collect = FALSE, arglist = NULL, empri = NULL, priors = NULL, autopri = 0.05, emburn = c(0,0), bounds = NULL, max.resample = 100, overimp = NULL, boot.type = "ordinary", parallel = c("no", "multicore", "snow"), ncpus = getOption("amelia.ncpus", 1L), cl = NULL, ...) { ## parellel infrastructure modeled off of 'boot' package if (missing(parallel)) parallel <- getOption("amelia.parallel", "no") parallel <- match.arg(parallel) have_mc <- have_snow <- FALSE if (parallel != "no" && ncpus > 1L) { if (parallel == "multicore") have_mc <- .Platform$OS.type != "windows" else if (parallel == "snow") have_snow <- TRUE if (!have_mc && !have_snow) ncpus <- 1L if (p2s == 2) { cat("\nUsing '", parallel, "' parallel backend with", ncpus, "cores.") } } if (p2s == 2) { cat("\namelia starting\n") flush.console() } am.call <- match.call(expand.dots = TRUE) archv <- am.call prepped<-amelia_prep(x = x, m = m, idvars = idvars, empri = empri, ts = ts, cs = cs, tolerance = tolerance, polytime = polytime, splinetime = splinetime, lags = lags, leads = leads, logs = logs, sqrts = sqrts, lgstc = lgstc, p2s = p2s, frontend = frontend, intercs = intercs, noms = noms, startvals = startvals, ords = ords, incheck = incheck, collect = collect, arglist = arglist, priors = priors, autopri = autopri, bounds = bounds, max.resample = max.resample, overimp = overimp, emburn = emburn, boot.type = boot.type) if (prepped$code != 1) { cat("Amelia Error Code: ", prepped$code, "\n", prepped$message, "\n") return(invisible(list(code = prepped$code, message = prepped$message))) } do.amelia <- function(X, ...) { if (p2s == 2) { cat("running bootstrap\n") } k <- ncol(prepped$x) if (!is.null(colnames(x))) { ovars <- colnames(x) } else { ovars <- 1:k } code <- 1 impdata <- list(imputations = list(), m = 1, missMatrix = prepped$missMatrix, overvalues = prepped$overvalues, theta = array(NA, dim = c(k+1,k+1,1) ), mu = matrix(NA, nrow = k, ncol = 1), covMatrices = array(NA, dim = c(k,k,1)), code = integer(0), message = character(0), iterHist = list(), arguments = list(), orig.vars = ovars) class(impdata) <- "amelia" class(impdata$imputations) <- c("mi","list") x.boot<-bootx(prepped$x,prepped$priors, boot.type) # Don't reorder columns thetanew will not align with d.stacked$x x.stacked<-amstack(x.boot$x,colorder=FALSE,x.boot$priors) if (p2s) cat("-- Imputation", X, "--\n") thetanew <- emarch(x.stacked$x, p2s = p2s, thetaold = NULL, tolerance = tolerance, startvals = startvals, priors = x.stacked$priors, empri = empri, frontend = frontend, collect = collect, autopri = prepped$autopri, emburn = emburn) ##thetanew <- .Call("emarch", PACKAGE = "Amelia") ## update the amelia ouptut impdata$iterHist[[1]] <- thetanew$iter.hist impdata$theta[,,1] <- thetanew$thetanew impdata$mu[,1] <- thetanew$thetanew[-1,1] impdata$covMatrices[,,1] <- thetanew$thetanew[-1,-1] dimnames(impdata$covMatrices)[[1]] <- prepped$theta.names dimnames(impdata$covMatrices)[[2]] <- prepped$theta.names dimnames(impdata$mu)[[1]] <- prepped$theta.names evs <- eigen(thetanew$thetanew[-1, -1, drop = FALSE], only.values=TRUE, symmetric=TRUE) if (any(evs$values < .Machine$double.eps)) { impdata$imputations[[1]] <- NA impdata$code <- 2 impdata$arguments <- prepped$archv class(impdata$arguments) <- c("ameliaArgs", "list") cat("\n\nThe resulting variance matrix was not invertible.", " Please check your data for highly collinear variables.\n\n") return(impdata) } ximp <- amelia_impute(prepped$x, thetanew$thetanew, priors = prepped$priors, bounds = prepped$bounds, max.resample) ximp <- amunstack(ximp, n.order = prepped$n.order, p.order = prepped$p.order) ximp <- unscale(ximp, mu = prepped$scaled.mu, sd = prepped$scaled.sd) ximp <- unsubset(x.orig = prepped$trans.x, x.imp = ximp, blanks = prepped$blanks, idvars = prepped$idvars, ts = prepped$ts, cs = prepped$cs, polytime = polytime, splinetime = splinetime, intercs = intercs, noms = prepped$noms, index = prepped$index, ords = prepped$ords) ximp <- untransform(ximp, logs = prepped$logs, xmin = prepped$xmin, sqrts = prepped$sqrts, lgstc = prepped$lgstc) if (p2s==2) { cat("\n saving and cleaning\n") } ## here we deal with the imputed matrix. ## first, we put the data into the output list and name it impdata$imputations[[1]] <- impfill(x.orig = x, x.imp = ximp, noms = prepped$noms, ords = prepped$ords, priors = priors, overimp = overimp) if (p2s) cat("\n") if (frontend) { requireNamespace("tcltk") tcltk::tcl(getAmelia("runAmeliaProgress"), "step",(100/m -1)) } impdata$code <- code impdata$arguments <- prepped$archv names(impdata$imputations) <- paste("imp", X, sep = "") class(impdata$arguments) <- c("ameliaArgs", "list") return(impdata) } ## parallel infrastructure from the 'boot' package impdata <- if (ncpus > 1L && (have_mc || have_snow)) { if (have_mc) { parallel::mclapply(seq_len(m), do.amelia, mc.cores = ncpus) } else if (have_snow) { list(...) # evaluate any promises if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) res <- parallel::parLapply(cl, seq_len(m), do.amelia) parallel::stopCluster(cl) res } else parallel::parLapply(cl, seq_len(m), do.amelia) } } else lapply(seq_len(m), do.amelia) if (all(sapply(impdata, is, class="amelia"))) { if (!all(sapply(impdata, function(x) is.na(x$imputations)))) { impdata <- do.call(ameliabind, impdata) if (impdata$code == 2) { impdata$message <- paste("One or more of the imputations resulted in a", "covariance matrix that was not invertible.") } else { impdata$message <- paste("Normal EM convergence.") } } else { impdata <- do.call(ameliabind, impdata) impdata$code <- 2 impdata$message <- paste("All of the imputations resulted in a covariance", "matrix that is not invertible.") } } return(impdata) } Amelia/R/amcheck.r0000644000176200001440000011465014335240021013422 0ustar liggesusers## amcheck.r ## Function for checking for errors in coding ## of the data or input vectors ## ## 21/10/05 - now converts variables names to column numbers, stops if variable doesn't exist; returns codes and messages, doesn't stop execution ## 04/05/06 mb - moved parameter vs. obs check to prep, checks outname ## 10/07/06 mb - fixed handling of variance checks with no fully observed rows. ## 17/07/06 mb - stops if variable only has one observed value. ## 02/08/06 mb - fixed handling of character variables. ## 25/09/06 mb - fixed handling of errors in output writing. ## 13/12/06 mb - removed dropping of extra priors, added new priors ## 15/12/06 mb - fixed problem of nrow(priors)==5 ## 22/07/08 mb - good coding update: T->TRUE/F->FALSE ## 27/03/10 jh - added checks for splinetime amcheck <- function(x,m=5,p2s=1,frontend=FALSE,idvars=NULL,logs=NULL, ts=NULL,cs=NULL,means=NULL,sds=NULL, mins=NULL,maxs=NULL,conf=NULL,empri=NULL, tolerance=0.0001,polytime=NULL,splinetime=NULL,startvals=0,lags=NULL, leads=NULL,intercs=FALSE,archive=TRUE,sqrts=NULL, lgstc=NULL,noms=NULL,incheck=TRUE,ords=NULL,collect=FALSE, arglist=NULL, priors=NULL,bounds=NULL, max.resample=1000, overimp = NULL, emburn=NULL, boot.type=NULL) { #Checks for errors in list variables listcheck<-function(vars,optname) { if (identical(vars,NULL)) return(0) if (mode(vars) == "character") { if (any(is.na(match(vars,colnames(x))))) { mess<-paste("The following variables are refered to in the", optname,"argument, but don't are not columns in the data:", vars[is.na(match(vars,colnames(x)))]) return(list(1,mess)) } return(0) } if (any(vars>AMp,vars<0,vars%%1!=0)) { mess<-paste(optname," is out of the range of \n", "possible column numbers or is not an integer.") return(list(2,mess)) } return(0) } #Checks for errors in logical variables logiccheck<-function(opt,optname) { if (!identical(opt,NULL)) { if (length(opt) > 1) { mess<-paste("The",optname,"setting is longer than one logical.") return(list(1,mess)) } if (mode(opt) != "logical") { mess<-paste("The",optname,"setting is not a logical (TRUE/FALSE) value.") return(list(2,mess)) } } else { mess<-paste("The",optname,"setting cannot be NULL. Please change to TRUE/FALSE.") return(list(3,mess)) } return(0) } #Checks for errors in priors variables priorcheck<-function(opt,optname) { if (!identical(opt,NULL)) { if (!is.matrix(opt)) { mess<-paste("The", optname,"matrix is not a matrix.\n") return(list(1,mess)) } if (is.character(opt)) { mess<-paste("The", optname,"matrix is a character matrix.\n", "Please change it to a numeric matrix.") return(list(2,mess)) } if (any(dim(opt)!=dim(x))) { mess<-paste("The", optname,"matrices must have the same dimensions\n", "as the data.") return(list(3,mess)) } } return(0) } error.code <- 1 #Error Code: 3 #Arguments point to variables that do not exist. if (inherits(try(get("x"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the data argument doesn't exist."))) if (inherits(try(get("m"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'm' argument doesn't exist."))) if (inherits(try(get("idvars"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'idvars' argument doesn't exist."))) if (inherits(try(get("means"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'means' argument doesn't exist."))) if (inherits(try(get("sds"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'sds' argument doesn't exist."))) if (inherits(try(get("mins"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'mins' argument doesn't exist."))) if (inherits(try(get("maxs"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'maxs' argument doesn't exist."))) if (inherits(try(get("conf"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'conf' argument doesn't exist."))) if (inherits(try(get("empri"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'empri' argument doesn't exist."))) if (inherits(try(get("ts"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'ts' argument doesn't exist."))) if (inherits(try(get("cs"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'cs' argument doesn't exist."))) if (inherits(try(get("tolerance"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'tolerance' argument doesn't exist."))) if (inherits(try(get("polytime"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'polytime' argument doesn't exist."))) if (inherits(try(get("splinetime"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'splinetime' argument doesn't exist."))) if (inherits(try(get("lags"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'lags' argument doesn't exist."))) if (inherits(try(get("leads"),silent=TRUE),"try-error") ) return(list(code=3,mess=paste("The setting for the 'leads' argument doesn't exist."))) if (inherits(try(get("logs"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'logs' argument doesn't exist."))) if (inherits(try(get("sqrts"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'sqrts' argument doesn't exist."))) if (inherits(try(get("lgstc"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'lgstc' argument doesn't exist."))) if (inherits(try(get("p2s"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'p2s' argument doesn't exist."))) if (inherits(try(get("frontend"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'frontend' argument doesn't exist."))) if (inherits(try(get("intercs"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'intercs' argument doesn't exist."))) if (inherits(try(get("noms"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'noms' argument doesn't exist."))) if (inherits(try(get("startvals"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'startvals' argument doesn't exist."))) if (inherits(try(get("ords"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'ords' argument doesn't exist."))) if (inherits(try(get("collect"),silent=TRUE),"try-error")) return(list(code=3,mess=paste("The setting for the 'collect' argument doesn't exist."))) AMn<-nrow(x) AMp<-ncol(x) subbedout<-c(idvars,cs,ts) if (is.null(idvars)) idcheck <- c(1:AMp) else idcheck <- -idvars ## Error Code: 4 ## Completely missing columns if (any(colSums(!is.na(x[,idcheck])) <= 1)) { all.miss <- colnames(x[,idcheck])[colSums(!is.na(x[,idcheck])) <= 1] if (is.null(all.miss)) { all.miss <- which(colSums(!is.na(x[,idcheck])) <= 1) } all.miss <- paste(all.miss, collapse = ", ") error.code<-4 error.mess<-paste("The data has a column that is completely missing or only has one,observation. Remove these columns:", all.miss) return(list(code=error.code,mess=error.mess)) } #Error codes: 5-6 #Errors in one of the list variables idout<-listcheck(idvars,"One of the 'idvars'") if (!identical(idout,0)) return(list(code=(idout[[1]]+4),mess=idout[[2]])) lagout<-listcheck(lags,"One of the 'lags'") if (!identical(lagout,0)) return(list(code=(lagout[[1]]+4),mess=lagout[[2]])) leadout<-listcheck(leads,"One of the 'leads'") if (!identical(leadout,0)) return(list(code=(leadout[[1]]+4),mess=leadout[[2]])) logout<-listcheck(logs,"One of the 'logs'") if (!identical(logout,0)) return(list(code=(logout[[1]]+4),mess=logout[[2]])) sqout<-listcheck(sqrts,"One of the 'sqrts'") if (!identical(sqout,0)) return(list(code=(sqout[[1]]+4),mess=sqout[[2]])) lgout<-listcheck(lgstc,"One of the 'lgstc'") if (!identical(lgout,0)) return(list(code=(lgout[[1]]+4),mess=lgout[[2]])) tsout<-listcheck(ts,"The 'ts' variable") if (!identical(tsout,0)) return(list(code=(tsout[[1]]+4),mess=tsout[[2]])) csout<-listcheck(cs,"The 'cs' variable") if (!identical(csout,0)) return(list(code=(csout[[1]]+4),mess=csout[[2]])) nomout<-listcheck(noms,"One of the 'noms'") if (!identical(nomout,0)) return(list(code=(nomout[[1]]+4),mess=nomout[[2]])) ordout<-listcheck(ords,"One of the 'ords'") if (!identical(ordout,0)) # THIS FORMERLY READ "NOMOUT" return(list(code=(ordout[[1]]+4),mess=ordout[[2]])) # priors errors if (!identical(priors,NULL)) { # Error code: 7 # priors isn't a matrix if (!is.matrix(priors)) { error.code <- 7 error.mess <- "The priors argument is not a matrix." return(list(code=error.code, mess=error.mess)) } # Error code: 8 # priors is not numeric if (!is.numeric(priors)) { error.code <- 7 error.mess <- paste("The priors matrix is non-numeric. It should\n", "only have numeric values.") return(list(code=error.code, mess=error.mess)) } # Error code: 47 # priors matrix has the wrong dimensions if (ncol(priors) != 4 & ncol(priors) != 5) { error.code <- 47 error.mess <- paste("The priors matrix has the wrong numberof columns.\n", "It should have either 4 or 5 columns.",) return(list(code=error.code, mess=error.mess)) } if (nrow(priors) > nrow(x)*ncol(x)) { error.code <- 47 error.mess <- "There are more priors than there are observations." return(list(code=error.code, mess=error.mess)) } # Error code: 48 # NAs in priors matrix if (any(is.na(priors))) { error.code <- 48 error.mess <- "There are missing values in the priors matrix." return(list(code=error.code, mess=error.mess)) } # Error code: 49 # multiple priors set if (any(duplicated(priors[,1:2]))) { error.code <- 49 error.mess <- "Multiple priors set on one observation or variable." return(list(code=error.code,mess=error.mess)) } prior.cols <- priors[,2] %in% c(1:ncol(x)) prior.rows <- priors[,1] %in% c(0:nrow(x)) ## Error code: 9 ## priors set for cells that aren't in the data if (sum(c(!prior.cols,!prior.rows)) != 0) { error.code <- 9 error.mess <- "There are priors set on cells that don't exist." return(list(code=error.code,mess=error.mess)) } ## Error code: 59 ## no priors on nominal variables if (any(priors[,2] %in% noms)) { error.code <- 59 error.mess <- "Cannot set priors on nominal variables. " return(list(code = error.code, mess = error.mess)) } ## Error code: 60 ## no priors on nominal variables if (any(priors[,2] %in% idvars)) { error.code <- 60 error.mess <- "Cannot set priors on ID variables. " return(list(code = error.code, mess = error.mess)) } ## Error code: 12 ## confidences have to be in 0-1 if (ncol(priors) == 5) { if (any(priors[,5] <= 0) || any(priors[,5] >= 1)) { error.code<-12 error.mess<-paste("The priors confidences matrix has values that are less \n", "than or equal to 0 or greater than or equal to 1.") return(list(code=error.code,mess=error.mess)) } } } #Error code: 10 #Square roots with negative values if (!is.null(sqrts)) { if (sum(colSums(x[,sqrts, drop = FALSE] < 0, na.rm = T))) { neg.vals <- colnames(x[,sqrts, drop = FALSE])[colSums(x[,sqrts, drop = FALSE] < 0, na.rm = T) > 1] if (is.null(neg.vals)) neg.vals <- sqrts[colSums(x[,sqrts, drop = FALSE] < 0, na.rm = T) > 1] neg.vals <- paste(neg.vals, collapse = ", ") error.code<-10 error.mess<-paste("The square root transformation cannot be used on variables with negative values. See column(s):", neg.vals) return(list(code=error.code,mess=error.mess)) } } #warning message #logs with negative values if (!is.null(logs)) { triggered<-FALSE for(localindex in 1:length(logs)){ if(!triggered){ if (any(na.omit(x[,logs[localindex]]) < 0)) { warning(paste("The log transformation is being used on \n", "variables with negative values. The values \n", "will be shifted up by 1 plus the minimum value \n", "of that variable.")) triggered<-TRUE } } } } #Error code: 11 #0-1 Bounds on logistic transformations if (!identical(lgstc,NULL)) { lgstc.check <- colSums(x[,lgstc,drop=FALSE] <= 0 | x[,lgstc,drop=FALSE] >= 1, na.rm = TRUE) if (sum(lgstc.check)) { neg.vals <- colnames(x[,lgstc,drop=FALSE])[lgstc.check > 0] if (is.null(neg.vals)) neg.vals <- lgstc[lgstc.check > 0] neg.vals <- paste(neg.vals, collapse = ", ") error.code<-11 error.mess<-paste("The logistic transformation can only be used on values between 0 and 1. See column(s):", neg.vals) return(list(code=error.code,mess=error.mess)) } } #Error code: 12 #Confidence Intervals for priors bounded to 0-1 # if (!identical(conf,NULL)) { # if (any(conf <= 0,conf>=1,na.rm=T)) { # error.code<-12 # error.mess<-paste("The priors confidences matrix has values that are less \n", # "than or equal to 0 or greater than or equal to 1.") # return(list(code=error.code,mess=error.mess)) # } # } #Error code: 13 #Can't set all variables to 'idvar' if (!identical(idvars,NULL)) { if ((AMp-1) <= length(idvars)) { error.code<-13 error.mess<-paste("You cannot set all variables (or all but one) as ID variables.") return(list(code=error.code,mess=error.mess)) } } ## Error code: 14 ## ts canonot equal cs if (!identical(ts,NULL) && !identical(cs,NULL)) { if (ts==cs) { error.code<-14 error.mess<-paste("Time series and cross-sectional variables cannot be the same.") return(list(code=error.code,mess=error.mess)) } } #Error code: 15 #TS is more than one integer if (!identical(ts,NULL)) { if (length(ts) > 1) { error.code<-15 error.mess<-paste("The time series variable option is longer than one integer.") return(list(code=error.code,mess=error.mess)) } } #Error code: 16 #CS is more than one integer if (!identical(cs,NULL)) { if (length(cs) > 1) { error.code<-16 error.mess<-paste("The cross section variable option is longer than one integer.") return(list(code=error.code,mess=error.mess)) } } ## if (!identical(casepri,NULL)) { ## #Error code: 17 ## #Case prior must be in a matrix ## if (!is.matrix(casepri)) { ## error.code<-17 ## error.mess<-paste("The case priors should be in a martix form.") ## return(list(code=error.code,mess=error.mess)) ## } ## #Error code: 18 ## #CS must be specified with case priors ## if (identical(cs,NULL)) { ## error.code<-18 ## error.mess<-paste("The cross-sectional variable must be set in order to use case priors.") ## return(list(code=error.code,mess=error.mess)) ## } ## #Error code: 19 ## #Case priors have the wrong dimensions ## if (sum(dim(casepri) == c(length(unique(data[,cs])),length(unique(data[,cs])))) != 2) { ## error.code<-19 ## error.mess<-paste("The case priors have the wrong dimensions. It should \n", ## "have rows and columns equal to the number of cases.") ## return(list(code=error.code,mess=error.mess)) ## } ## #Error code: 20 ## #Case prior values are out of bounds ## if (all(casepri != 0,casepri!=1,casepri!=2,casepri!=3)) { ## error.code<-20 ## error.mess<-paste("The case priors can only have values 0, 1, 2, or 3.") ## return(list(code=error.code,mess=error.mess)) ## } ## } #check polynomials if (!identical(polytime,NULL)) { #Error code: 21 #Polynomials of time are longer than one integer if (length(polytime) > 1) { error.code<-21 error.mess<-paste("The polynomials of time setting is greater than one integer.") return(list(code=error.code,mess=error.mess)) } if (!is.numeric(polytime)) { error.code<-22 error.mess<-paste("The setting for polytime is not a number.") return(list(code=error.code,mess=error.mess)) } if ((polytime %% 1) != 0) { error.code<-23 error.mess<-paste("The number of polynomial terms to include for time (polytime) must be an integer.") return(list(code=error.code,mess=error.mess)) } if (any(polytime > 3,polytime < 0)) { error.code<-24 error.mess<-paste("The number of polynomial terms to include must be between 1 and 3.") return(list(code=error.code,mess=error.mess)) } if (identical(ts,NULL)) { error.code<-25 error.mess<-paste("You have set polynomials of time without setting the time series variable.") return(list(code=error.code,mess=error.mess)) } if (all(!intercs,identical(polytime,0))) { warning(paste("You've set the polynomials of time to zero with no interaction with \n", "the cross-sectional variable. This has no effect on the imputation.")) } } if (!identical(splinetime,NULL)) { #Error code: 54 #Spline of time are longer than one integer if (length(polytime) > 1) { error.code<-54 error.mess<-paste("The spline of time setting is greater than one integer.") return(list(code=error.code,mess=error.mess)) } if (!is.numeric(splinetime)) { error.code<-55 error.mess<-paste("The setting for splinetime is not a number.") return(list(code=error.code,mess=error.mess)) } if ((splinetime %% 1) != 0) { error.code<-56 error.mess<-paste("The number of spline degrees of freedom to include for time (splinetime) must be an integer.") return(list(code=error.code,mess=error.mess)) } if (any(splinetime > 6,splinetime < 0)) { error.code<-57 error.mess<-paste("The number of spline degrees of freedom to include must be between 0 and 6.") return(list(code=error.code,mess=error.mess)) } if (identical(ts,NULL)) { error.code<-58 error.mess<-paste("You have set splines of time without setting the time series variable.") return(list(code=error.code,mess=error.mess)) } if (all(!intercs,identical(polytime,0))) { warning(paste("You've set the spline of time to zero with no interaction with \n", "the cross-sectional variable. This has no effect on the imputation.")) } } #checks for intercs if (identical(intercs,TRUE)) { if (identical(cs,NULL)) { error.code<-27 error.mess<-paste("You have indicated an interaction with the cross section \n", "without setting the cross section variable.") return(list(code=error.code,mess=error.mess)) } if (length(unique(x[,cs])) > (1/3)*(AMn)) { error.code<-28 error.mess<-paste("There are too many cross-sections in the data to use an \n", "interaction between polynomial of time and the cross-section.") return(list(code=error.code,mess=error.mess)) } if (sum(is.na(x[,cs])) > 0) { error.code <- 60 error.mess <- paste("There are missing values in the 'cs' variable.") return(list(code=error.code,mess=error.mess)) } } #Error codes: 29-31 #logical variable errors interout<-logiccheck(intercs,"cross section interaction") if (!identical(interout,0)) return(list(code=(28+interout[[1]]),mess=interout[[2]])) #p2sout<-logiccheck(p2s,"print to screen") #if (!identical(p2sout,0)) # return(list(code=(p2sout[[1]]+28),mess=p2sout[[2]])) frout<-logiccheck(frontend,"frontend") if (!identical(frout,0)) return(list(code=(frout[[1]]+28),mess=frout[[2]])) collout<-logiccheck(collect,"archive") if (!identical(collout,0)) return(list(code=(collout[[1]]+28),mess=collout[[2]])) #Error code: 32 #Transformations must be mutually exclusive if (length(unique(c(logs,sqrts,lgstc,noms,ords,idvars))) != length(c(logs,sqrts,lgstc,noms,ords,idvars))) { error.code<-32 error.mess<-paste("Transfomations must be mutually exclusive, so one \n", "variable can only be assigned one transformation. You have the \n", "same variable designated for two transformations.") return(list(code=error.code,mess=error.mess)) } #Error code: 33 #ts/cs variables can't be transformed if (any(unique(c(logs,sqrts,lgstc,noms,ords,idvars)) == ts,unique(c(logs,sqrts,lgstc,noms,ords,idvars)) == cs)) { error.code<-33 error.mess<-paste("The time series and cross sectional variables cannot be transformed.") return(list(code=error.code,mess=error.mess)) } #Error code: 35 #tolerance must be greater than zero if (tolerance <= 0) { error.code<-35 error.mess<-paste("The tolerance option must be greater than zero.") return(list(code=error.code,mess=error.mess)) } #check nominals if (!identical(noms,NULL)) { for (i in noms) { #Error code: 36 #too many levels on noms if (length(unique(na.omit(x[,i]))) > (1/3)*(AMn)) { bad.var <- colnames(x)[i] if (is.null(bad.var)) bad.var <- i error.code<-36 error.mess<-paste("The number of categories in the nominal variable \'",bad.var,"\' is greater than one-third of the observations.", sep = "") return(list(code=error.code,mess=error.mess)) } if (length(unique(na.omit(x[,i]))) > 10) warning("\n\nThe number of categories in one of the variables marked nominal has greater than 10 categories. Check nominal specification.\n\n") if (all(i==cs,intercs==TRUE)) { noms<-noms[noms!=i] warning("The cross sectional variable was set as a nominal variable. Its nominal status has been dropped.") } } } if (is.null(c(noms,ords,idvars,cs))) fact <- c(1:AMp) else fact <- -c(noms,ords,idvars,cs) if (is.null(c(cs,idvars))) idcheck <- c(1:AMp) else idcheck <- -c(cs,idvars) ##Error code: 37 ##factors out of the noms,ids,ords,cs if (is.data.frame(x)) { if (length(x[,fact])) { if (sum(sapply(x[,fact],is.factor))) { bad.var <- colnames(x[,fact])[sapply(x[,fact],is.factor)] if (is.null(bad.var)) bad.var <- setdiff(which(sapply(x,is.factor)), -fact) bad.var <- paste(bad.var, collapse = ", ") error.code<-37 error.mess<-paste("The following variable(s) are 'factors': ", bad.var, "You may have wanted to set this as a ID variable to remove it", "from the imputation model or as an ordinal or nominal", "variable to be imputed. Please set it as either and", "try again.", sep = "\n") return(list(code=error.code,mess=error.mess)) } if (sum(sapply(x[,fact],is.ordered))) { bad.var <- colnames(x[,fact])[sapply(x[,fact],is.ordered)] if (is.null(bad.var)) bad.var <- setdiff(which(sapply(x,is.ordered)), -fact) bad.var <- paste(bad.var, collapse = ", ") error.code<-37 error.mess<-paste("The following variable(s) are 'factors': ", bad.var, "You may have wanted to set this as a ID variable to remove it", "from the imputation model or as an ordinal or nominal", "variable to be imputed. Please set it as either and", "try again.", sep = "\n") return(list(code=error.code,mess=error.mess)) } if (sum(sapply(x[,fact],is.character))) { bad.var <- colnames(x[,fact])[sapply(x[,fact],is.character)] if (is.null(bad.var)) bad.var <- setdiff(which(sapply(x,is.character)), -fact) bad.var <- paste(bad.var, collapse = ", ") error.code<-38 error.mess<-paste("The following variable(s) are characters: ", paste("\t",bad.var), "You may have wanted to set this as a ID variable to remove it", "from the imputation model or as an ordinal or nominal", "variable to be imputed. Please set it as either and", "try again.", sep = "\n") return(list(code=error.code,mess=error.mess)) } } } else { if (!is.numeric(x)) { error.code <- 38 error.mess <- paste("The \'x\' matrix is not numeric.") return(list(code=error.code,mess=error.mess)) } } #Error code: 39 #No missing observation if (!any(is.na(x[,idcheck,drop=FALSE])) & is.null(overimp)) { error.code<-39 error.mess<-paste("Your data has no missing values. Make sure the code for \n", "missing data is set to the code for R, which is NA.") return(list(code=error.code,mess=error.mess)) } #Error code: 40 #lags require ts if (!is.null(lags)) { if (is.null(ts)) { error.code<-40 error.mess<-paste("You need to specify the time variable in order to create lags.") return(list(code=error.code,mess=error.mess)) } } #Error code: 41 #leads require ts if (!is.null(leads)) { if (is.null(ts)) { error.code<-41 error.mess<-paste("You need to specify the time variable in order to create leads.") return(list(code=error.code,mess=error.mess)) } } #Error code: 42 #Only 1 column of data if (AMp==1) { error.code<-42 error.mess<-paste("There is only 1 column of data. Cannot impute.") return(list(code=error.code,mess=error.mess)) } ## catch problems when the only other variable is an unused ## cross-section. if (!isTRUE(intercs) & ncol(x[,idcheck, drop = FALSE]) == 1) { error.code<-42 error.mess<-paste("There is only 1 column of data. Cannot impute.") return(list(code=error.code,mess=error.mess)) } ts.nulls <- is.null(polytime) & is.null(splinetime) ts.zeros <- (polytime == 0) & (splinetime == 0) if (!isTRUE(polytime > 0) & !isTRUE(splinetime > 0)) { if (!isTRUE(intercs) & !is.null(ts)) { if (ncol(x[,-c(ts,cs,idvars), drop = FALSE]) == 1) { error.code<-61 error.mess<-paste("There is only 1 column of data after removing the ts, cs and idvars. Cannot impute without adding polytime.") return(list(code=error.code,mess=error.mess)) } } } #Error code: 43 #Variable that doesn't vary ## note that this will allow the rare case that a user only has ## variation in a variable when all of the other variables are missing ## in addition to having no variation in the listwise deleted ## dataset. Our starting value function should be robust to this. num.nonmissing <- function(obj) length(unique(na.omit(obj))) if (is.data.frame(x)) { non.vary <- sapply(x[,idcheck, drop = FALSE], num.nonmissing) } else { non.vary <- apply(x[,idcheck, drop = FALSE], 2, num.nonmissing) } if (sum(non.vary == 1)) { non.names <- colnames(x[,idcheck])[non.vary == 1] if (is.null(non.names)) { hold <- rep(-1, ncol(x)) hold[-idcheck] <- non.vary non.names <- which(hold == 0) } non.names <- paste(non.names, collapse = ", ") error.code<-43 error.mess<-paste("You have a variable in your dataset that does not vary. Please remove this variable. Variables that do not vary: ", non.names) return(list(code=error.code,mess=error.mess)) } ## } else { ## if (nrow(na.omit(x)) > 1) { ## if (any(diag(var(x[,idcheck],na.rm=TRUE))==0)) { ## error.code<-43 ## error.mess<-paste("You have a variable in your dataset that does not vary. Please remove this variable.") ## return(list(code=error.code,mess=error.mess)) ## } ## } else { ## for (i in 1:ncol(x[,idcheck])) { ## if (var(x[,i],na.rm=TRUE) == 0) { ## error.code<-43 ## error.mess<-paste("You have a variable in your dataset that does not vary. Please remove this variable.") ## return(list(code=error.code,mess=error.mess)) ## } ## } ## } ## } #checks for ordinals if (!is.null(ords)) { for (i in ords) { #Error code: 44 # Ordinal variable with non-integers (factors work by design, and they're # harder to check if (!is.factor(x[,i])) { if (any(unique(na.omit(x[,i])) %% 1 != 0 )) { non.ints <- colnames(x)[i] if (is.null(non.ints)) non.ints <- i error.code<-44 error.mess<-paste("You have designated the variable \'",non.ints, "\' as ordinal when it has non-integer values.", sep = "") return(list(code=error.code,mess=error.mess)) } } } } ## #checks for outname ## if (write.out==TRUE) { ## if (!is.character(outname)) { ## outname<-"outdata" ## warning("The output filename (outname) was not a character. It has been set it ## its default 'outdata' in the working directory.") ## } ## #Error code: 45 ## #output file errors ## outtest<-try(write.csv("test",file=paste(outname,"1.csv",sep="")),silent=TRUE) ## if (inherits(outtest,"try-error")) { ## error.code<-45 ## error.mess<-paste("R cannot write to the outname you have specified. Please ## check","that the directory exists and that you have permission to write.",sep="\n") ## return(list(code=error.code,mess=error.mess)) ## } ## tmpdir<- strsplit(paste(outname,"1.csv",sep=""),.Platform$file.sep) ## am.dir <- tmpdir[[1]][1] ## if (length(tmpdir[[1]]) > 1) ## for (i in 2:(length(tmpdir[[1]]))) ## am.dir <- file.path(am.dir, tmpdir[[1]][i]) ## file.remove(am.dir) ## } # if (xor(!identical(means,NULL),!identical(sds,NULL))) { # means<-NULL # sds<-NULL # warning("Both the means and the SDs have to be set in order to use observational priors. The priors have been removed from the analysis.") # } # if (sum(!identical(mins,NULL),!identical(maxs,NULL),!identical(conf,NULL)) != 3 && # sum(!identical(mins,NULL),!identical(maxs,NULL),!identical(conf,NULL)) != 0) { # mins<-NULL # maxs<-NULL # conf<-NULL # warning("Not all of the range parameters were set for the observational priors. They have been removed.") # } #checks of m if (!is.numeric(m)) { m<-5 warning("The number of imputations ('m') was a non-numeric. The value was changed to the default.") } if ((m %% 1) != 0) { m<-5 warning("The number of imputation ('m') was not an integer. The value was changed to the default (5).") } if (m<=0) { m<-5 warning("The number of imputations ('m') must be greater than 0. The value was changed to the default (5).") } # checks for bounds if (!is.null(bounds)) { b.size <- is.matrix(bounds) && ncol(bounds)==3 && nrow(bounds) > 0 b.cols <- sum(bounds[,1] %in% c(1:AMp)) == nrow(bounds) maxint <- max.resample > 0 && (max.resample %% 1)==0 # Error 50: # wrong sized bounds matrix if (!b.size) { error.code<-50 error.mess<-paste("The bounds argument is a three-column matrix.") return(list(code=error.code,mess=error.mess)) } # Error 51: # nonexistant columns in bounds. if (!b.cols) { error.code<-51 error.mess<-paste("One of the bounds is on a non-existant column.") return(list(code=error.code,mess=error.mess)) } # Error 52: # max.resample needs to be positive integer. if (!maxint) { error.code<-52 error.mess<-paste("The max.resample argument needs to be a positive integer.") return(list(code=error.code,mess=error.mess)) } } if (!is.null(overimp)) { o.num <- is.numeric(overimp) o.size <- (is.matrix(overimp) & ncol(overimp) == 2) | length(overimp) == 2 o.cols <- all(unique(overimp[,2]) %in% 1:ncol(x)) o.rows <- all(unique(overimp[,1]) %in% 1:nrow(x)) ## Error 53: ## overimp not numeric if (!o.num | !o.size) { error.code <- 53 error.mess <- "The overimp matrix needs to be a two-column numeric matrix." return(list(code=error.code,mess=error.mess)) } ## Error 54: ## overimp out of range if (!o.rows | !o.cols) { error.code <- 54 error.mess <- "A row/column pair in overimp is outside the range of the data." return(list(code=error.code,mess=error.mess)) } } if (is.data.frame(x)) { is.posix <- function(x) inherits(x, c("POSIXt", "POSIXct", "POSIXlt")) posix.check <- sapply(x, is.posix) if (any(is.na(x[, posix.check]))) { stop("NA in POSIXt variable: remove or convert to numeric") } } if (!is.null(emburn)) { if (length(emburn) != 2) { stop("emburn must be length 2") } } if (!is.null(boot.type)) { if (!(boot.type %in% c("ordinary", "none"))) { stop("boot.type must be either 'ordinary' or 'none'") } } if (is.data.frame(x)) { if (sum(sapply(x, length) == 0)) { bad.var <- colnames(x)[sapply(x,length) == 0] if (is.null(bad.var)) bad.var <- which(sapply(x,length) == 0) bad.var <- paste(bad.var, collapse = ", ") error.code <- 53 error.mess<-paste("The variable(s)",bad.var,"have length 0 in the data frame. Try removing these variables or reimporting the data.") return(list(code=error.code,mess=error.mess)) } } if (nrow(na.omit(x[,idcheck,drop=FALSE])) > ncol(x[,idcheck,drop=FALSE])) { if (is.data.frame(x)) { lmcheck <- lm(I(rnorm(AMn))~ ., data = x[,idcheck, drop = FALSE]) } else { lmcheck <- lm(I(rnorm(AMn))~ ., data = as.data.frame(x[,idcheck, drop = FALSE])) } if (any(is.na(coef(lmcheck)))) { bad.var <- names(coef(lmcheck))[which(is.na(coef(lmcheck)))] if (length(bad.var) == 1) { warning(paste("The variable", bad.var, "is perfectly collinear with another variable in the data.\n")) } else { bad.var <- paste(bad.var, collapse = ", ") warning(paste("The variables (or variable with levels)", bad.var, "are perfectly collinear with another variable in the data.\n")) } } } return(list(m=m,priors=priors)) } Amelia/R/combine.R0000644000176200001440000000655014335240021013402 0ustar liggesusersest.matrix <- function(x, name) { vals <- lapply(x, function(z) z[[name]]) out <- do.call(cbind, vals) out } ##' Combine results from statistical models run on multiply imputed ##' data sets using the so-called Rubin rules. ##' ##' @title Combine results from analyses on imputed data sets ##' @param x List of output from statistical models estimated on ##' different imputed data sets, as outputted by \code{with(a.out, ##' expr)} where \code{a.out} is the output of a call to \code{amelia}. ##' @param conf.int Logical indicating if confidence intervals should ##' be computed for each quantity of interest (default is \code{FALSE}). ##' @param conf.level The confidence level to use for the confidence ##' interval if \code{conf.level = TRUE}. Defaults to 0.95, which ##' corresponds to a 95 percent confidence interval. ##' @return Returns a \code{tibble} that contains: ##' \describe{ ##' \item{term}{Name of the coefficient or parameter.} ##' \item{estimate}{Estimate of the parameter, averagine across imputations.} ##' \item{std.error}{Standard error of the estimate, accounting for ##' imputation uncertainty.} ##' \item{statistic}{Value of the t-statistic for the estimated ##' parameter.} ##' \item{p.value}{p-value associated with the test of a null ##' hypothesis that the true coefficient is zero. Uses the ##' t-distribution with an imputation-adjusted degrees of freedom.} ##' \item{df}{Imputation-adjusted degrees of freedom for each ##' parameter.} ##' \item{r}{Relative increase in variance due to nonresponse.} ##' \item{miss.info}{Estimated fraction of missing information.} ##' \item{conf.low}{Lower bound of the estimated confidence interval. ##' Only present if \code{conf.int = TRUE}.} ##' \item{conf.high}{Upper bound of the estimated confidence interval. ##' Only present if \code{conf.int = TRUE}.} ##' } ##' @author Matt Blackwell ##' ##' @examples ##' data(africa) ##' a.out <- amelia(x = africa, cs = "country", ts = "year", logs = ##' "gdp_pc") ##' ##' imp.mods <- with(a.out, lm(gdp_pc ~ infl + trade)) ##' ##' mi.combine(imp.mods, conf.int = TRUE) ##' ##' @export mi.combine <- function(x, conf.int = FALSE, conf.level = 0.95) { if (requireNamespace("broom", quietly = TRUE)) { tidiers <- grep("^tidy\\.", ls(getNamespace("broom")), value = TRUE) tidiers <- gsub("tidy\\.", "", tidiers) } else { rlang::abort("{broom} package required for mi.combine") } if (!(class(x[[1L]]) %in% tidiers)) { rlang::abort("analysis model does not have tidy() method.") } mi_tidy <- lapply(x, function(x) broom::tidy(x)) m <- length(mi_tidy) out <- mi_tidy[[1L]] ests <- est.matrix(mi_tidy, "estimate") ses <- est.matrix(mi_tidy, "std.error") wi.var <- rowMeans(ses ^ 2) out$estimate <- rowMeans(ests) diffs <- sweep(ests, 1, rowMeans(ests)) bw.var <- rowSums(diffs ^ 2) / (m - 1) out$std.error <- sqrt(wi.var + bw.var * (1 + 1 / m)) r <- ((1 + 1 / m) * bw.var) / wi.var df <- (m - 1) * (1 + 1 / r) ^ 2 miss.info <- (r + 2 / (df + 3)) / (r + 1) out$statistic <- out$estimate / out$std.error out$p.value <- 2 * stats::pt(out$statistic, df = df, lower.tail = FALSE) out$df <- df out$r <- r out$miss.info <- miss.info if (conf.int) { t.c <- stats::qt(1 - (1 - conf.level) / 2, df = df, lower.tail = FALSE) out$conf.low <- out$estimate - t.c * out$std.error out$conf.high <- out$estimate + t.c * out$std.error } out } Amelia/R/with.R0000644000176200001440000000212514335240021012733 0ustar liggesusers##' Evaluate an R expression in the environments constructed from the ##' imputed data sets of a call to \code{amelia} function. ##' ##' ##' @title Execute commands within each imputed data set ##' @param data imputation output from the \code{amelia} funtion. ##' @param expr expression to evaluate in each imputed data set in ##' \code{data}. ##' @param ... arguments to be passed to (future) methods. ##' @return a list the same length as \code{data$imputations} that ##' contains the output of the expression as evaluated in each imputed ##' data set of \code{data}. ##' @author Matt Blackwell ##' ##' @examples ##' data(africa) ##' a.out <- amelia(x = africa, cs = "country", ts = "year", logs = ##' "gdp_pc") ##' ##' imp.mods <- with(a.out, lm(gdp_pc ~ infl + trade)) ##' ##' mi.combine(imp.mods, conf.int = TRUE) ##' ##' @export with.amelia <- function(data, expr, ...) { expr <- rlang::enquo(expr) out <- vector("list", length(data$imputations)) for (j in seq_along(data$imputations)) { out[[j]] <- rlang::eval_tidy(expr, data$imputations[[j]]) } class(out) <- "amest" out } Amelia/R/missmap.R0000644000176200001440000001745614335240021013446 0ustar liggesusers #' Missingness Map #' #' Plots a missingness map showing where missingness occurs in #' the dataset passed to \code{amelia}. #' #' @param obj an object of class "amelia"; typically output from the #' function \code{amelia}, a matrix or a dataframe. #' @param vars a vector of column numbers or column names of the data #' to include in the plot. The default is to plot all variables. #' @param legend should a legend be drawn? (True or False) #' @param col a vector of length two where the first element specifies #' the color for missing cells and the second element specifies #" the color for observed cells. #' @param main main title of the plot. Defaults to "Missingness Map". #' @param y.cex expansion for the variables names on the x-axis. #' @param x.cex expansion for the unit names on the y-axis. #' @param y.labels a vector of row labels to print on the y-axis #' @param y.at a vector of the same length as \code{y.labels} with row #' nmumbers associated with the labels. #' @param csvar column number or name of the variable corresponding to #' the unit indicator. Only used when the \code{obj} is not of class #' \code{amelia}. #' @param tsvar column number or name of the variable corresponding to #' the time indicator. Only used when the \code{obj} is not of class #' \code{amelia}. #' @param rank.order a logical value. If \code{TRUE}, the default, then #' the order of the variables along the the x-axis is sorted by the #' percent missing (from highest to lowest). If \code{FALSE}, it is #' simply the order of the variables in the data. #' @param margins a vector of length two that specifies the bottom and #' left margins of the plot. Useful for when variable names or #' row names are long. #' @param gap.xaxis value to pass to the \code{gap.axis} argument of #' the \code{axis} function that plots the x-axis. See #' \code{\link{axis}} for more details. Ignored on R versions less #' than 4.0.0. #' @param x.las value of the \code{las} argument to pass to the #' \code{\link{axis}} function creating the x-axis. #' @param ... further graphical arguments. #' #' @details \code{missmap} draws a map of the missingness in a dataset using the #' \code{image} function. The columns are reordered to put the most #' missing variable farthest to the left. The rows are reordered to a #' unit-period order if the \code{ts} and \code{cs} arguments were passed #' to \code{amelia}. If not, the rows are not reordered. #' #' The \code{y.labels} and \code{y.at} commands can be used to associate #' labels with rows in the data to identify them in the plot. The y-axis #' is internally inverted so that the first row of the data is associated #' with the top-most row of the missingness map. The values of #' \code{y.at} should refer to the rows of the data, not to any point on #' the plotting region. #' #' @seealso \code{\link{compare.density}}, \code{\link{overimpute}}, #' \code{\link{tscsPlot}}, \code{\link{image}}, \code{\link{heatmap}} missmap <- function(obj, vars, legend = TRUE, col, main, y.cex = 0.8, x.cex = 0.8, y.labels, y.at, csvar = NULL, tsvar = NULL, rank.order = TRUE, margins = c(5, 5), gap.xaxis = 1, x.las = 2, ...) { if (inherits(obj, "amelia")) { vnames <- colnames(obj$imputations[[1]]) n <- nrow(obj$missMatrix) p <- ncol(obj$missMatrix) percent.missing <- colMeans(obj$missMatrix) pmiss.all <- mean(obj$missMatrix) r1 <- obj$missMatrix } else { vnames <- colnames(obj) n <- nrow(obj) p <- ncol(obj) percent.missing <- colMeans(is.na(obj)) pmiss.all <- mean(is.na(obj)) r1 <- 1 * is.na(obj) } if (missing(col)) col <- c("#eff3ff", "#2171b5") if (!missing(vars)) { if (is.character(vars)) { vars <- match(vars, vnames) if (any(is.na(vars))) { stop("vars not found in the data") } } if (any(!(vars %in% 1:p))) { stop("vars outside range of the data") } p <- length(vars) r1 <- r1[, vars] percent.missing <- percent.missing[vars] pmiss.all <- mean(r1) } if (!missing(y.labels) && (missing(y.at) && (length(y.labels) != n))) { stop("y.at must accompany y.labels if there is less than onefor each row") } if (is.null(csvar)) csvar <- obj$arguments$cs if (is.null(tsvar)) tsvar <- obj$arguments$ts if (missing(y.labels)) { if (!is.null(csvar)) { if (inherits(obj, "amelia")) { cs <- obj$imputations[[1]][, csvar] } else { cs <- obj[, csvar] } y.labels <- cs if (is.factor(y.labels)) y.labels <- levels(y.labels)[unclass(y.labels)] cs.names <- y.labels if (!is.numeric(cs)) cs <- as.numeric(as.factor(cs)) if (!is.null(tsvar)) { if (inherits(obj, "amelia")) { ts <- as.numeric(obj$imputations[[1]][, tsvar]) } else { ts <- as.numeric(obj[, tsvar]) } unit.period <- order(cs, ts) } else { unit.period <- 1:n } y.labels <- y.labels[unit.period] r1 <- r1[unit.period, ] brks <- c(TRUE,rep(FALSE, times = (n-1))) for (i in 2:n) { brks[i] <- (cs[unit.period][i] != cs[unit.period][i - 1]) } y.at <- which(brks) y.labels <- y.labels[brks] } else { y.labels <- row.names(obj$imputations[[1]]) y.at <- seq(1, n, by = 15) y.labels <- y.labels[y.at] } } else { if (missing(y.at)) y.at <- n:1 } missrank <- rev(order(percent.missing)) if (rank.order) { chess <- t(!r1[n:1, missrank]) vnames <- vnames[missrank] } else { chess <- t(!r1[n:1, ]) } y.at <- (n:1)[y.at] if (missing(main)) main <- "Missingness Map" par(mar = c(margins, 2, 1) + 0.1) ## here we fork for data/tscs type plots. users cant set this yet. type <- "data" if (legend) { graphics::layout(matrix(c(1, 2), nrow = 1), widths = c(0.75, 0.25)) par(mar = c(margins, 2, 0) + 0.1, mgp = c(3, 0.25, 0)) } if (type == "data") { col.fix <- col if (sum(!chess) == 0) { col.fix <- col[2] } image(x = 1:(p), y = 1:n, z = chess, axes = FALSE, col = col.fix, xlab = "", ylab = "", main = main) if (getRversion() >= "4.0.0") { axis(1, lwd = 0, labels = vnames, las = x.las, at = 1:p, cex.axis = x.cex, gap.axis = gap.xaxis) } else { axis(1, lwd = 0, labels = vnames, las = x.las, at = 1:p, cex.axis = x.cex) } axis(2, lwd = 0, labels = y.labels, las = 1, at = y.at, cex.axis = y.cex) if (legend) { pm.lab <- paste("Missing (", round(100 * pmiss.all), "%)", sep = "") po.lab <- paste("Observed (", 100 - round(100 * pmiss.all), "%)", sep = "") par(mar = c(0, 0, 0, 0.3)) plot(0, 0, type = "n", axes = FALSE, ann = FALSE) legend("left", col = col, bty = "n", xjust = 0, border = "grey", legend = c(pm.lab, po.lab), fill = col, horiz = FALSE) } } else { tscsdata <- data.frame(cs.names, ts, rowMeans(r1)) tscsdata <- reshape(tscsdata, idvar = "cs.names", timevar = "ts", direction = "wide") rownames(tscsdata) <- tscsdata[, 1] colnames(tscsdata) <- unique(ts) tscsdata <- as.matrix(tscsdata[, -1]) cols <- rev(heat.colors(5)) image(z = t(tscsdata), axes = FALSE, col = cols, main = main, ylab = "", xlab = "") at.seq <- seq(from = 0, to = 1, length = ncol(tscsdata)) axis(1, labels = unique(ts), at = at.seq, tck = 0, lwd = 0, las = 2) axis(2, labels = rownames(tscsdata), at = at.seq, tck = 0, lwd = 0, las = 1, cex.axis = .8) if (legend) { leg.names <- c("0-0.2", "0.2-0.4", "0.4-0.6", "0.6-0.8", "0.8-1") legend(x = 0.95, y = 1.01, col = cols, bty = "n", xjust = 1, legend = leg.names, fill = cols, horiz = TRUE) } } invisible(NULL) } Amelia/R/diag.r0000644000176200001440000012512114605545154012745 0ustar liggesusers## diag.r ## amelia diagnostic functins ## ## 05/05/06 mb - added amelia.arg compatibility ## 07/05/06 jh - compare: changed how variable names are found, changed titles/labels, set x-axis values in matplot, colours for no imputations ## overimpute: added new m-name in output, ## 09/05/06 mb - overimpute: added frontend check for overimpute. ## 15/05/06 jh - overimpute: stacking of original data, and various graphics adjustments ## 01/06/06 mb - added "gethull" and "disperse" for overdispersion diagnostic ## 19/07/06 mb - moved handling of arglists to prep. ## 01/12/06 mb - can't compare non-numerics, only use the relevant columns when ## building compare ## 13/12/06 mb - changed for new priors. ## 26/03/07 jh - overimpute: excluded polynomials of time from missingness count, reordered ploting of ci's (smallest last), allow variable name as var argument ## 28/03/07 jh - disperse: changed tolerance and empri handling. ## 03/04/07 jh - disperse: changed 1d plot settings, number of colors, minor edits to "patt" construction. ## 10/04/07 jh - created sigalert function to view disperse principal components. ## 22/07/08 mb - good coding update: T->TRUE/F->FALSE ## 10/02/09 mb - compare: added lwd, col, main, lab, etc for user ## control, added scale so that users can control scaling, ## uses amelia class ## overimpute: uses amelia class, added lwd, col, main, lab, etc for user ## disperse: now uses amelia class ## 02/21/12 jh - added mi.meld to combine multiply imputed quantities of interest and se's. ## 10/30/12 jh - tscsPlot: expanded to allow to cycle through sets of cross sectional units efficiently. #' Compare observed versus imputed densities #' #' Plots smoothed density plots of observed and imputed values from output #' from the \code{amelia} function. #' #' @param output output from the function \code{amelia}. #' @param var column number or variable name of the variable to plot. #' @param col a vector of length 2 containing the color to plot the (1) #' imputed density and (2) the observed density. #' @param scaled a logical indicating if the two densities should be #' scaled to reflect the difference in number of units in each. #' @param lwd the line width of the density plots. #' @param main main title of the plot. The default is to title the plot #' using the variable name. #' @param xlab the label for the x-axis. The default is the name of the #' variable. #' @param ylab the label for the y-axis. The default is "Relative Density." #' @param legend a logical value indicating if a legend should be #' plotted. #' @param frontend a logical value used internally for the Amelia GUI. #' @param ... further graphical parameters for the plot. #' #' @details This function first plots a density plot of the observed units for the #' variable \code{var} in \code{col[2]}. The the function plots a density plot of the mean #' or modal imputations for the missing units in \code{col[1]}. If a #' variable is marked "ordinal" or "nominal" with the \code{ords} or #' \code{noms} options in \code{amelia}, then the modal imputation will #' be used. If \code{legend} is \code{TRUE}, then a legend is plotted as well. #' #' @references #' Abayomi, K. and Gelman, A. and Levy, M. 2005 "Diagnostics for #' Multivariate Imputations," \emph{Applied Statistics}. 57,3: 273--291. #' #' @examples #' data(africa) #' #' @seealso For more information on how densities are computed, #' \code{\link{density}}; Other imputation diagnostics are #' \code{\link{overimpute}}, \code{\link{disperse}}, and #' \code{\link{tscsPlot}}. #' compare.density <- function(output, var, col = c("indianred", "dodgerblue"), scaled = FALSE, lwd = 1, main, xlab, ylab, legend = TRUE, frontend = FALSE, ...) { if (!("amelia" %in% class(output))) stop("The 'output' is not Amelia output.") ##data <- getOriginalData(output) data <- remove.imputations(output) ## Checks on if the variable makes sense to plot. if (inherits(var, "character")) if (!(var %in% names(data))) stop("The variable name (var) doesn't correspond to a column in the data.") else var <- match(var, names(data)) if (any(var > ncol(data), var < 0, (var %% 1) != 0)) stop("The 'var' option points to a non-existant column.") if (var %in% output$arguments$idvar) stop("the variable selected was marked as an idvar") ## We need to clean the data to make sure that ## we're not going to run into NAs mcount <- sum(!is.na(output$imputations)) imputed <- (1:output$m)[!is.na(output$imputations)] ## create an empty vector to sum across varimp <- matrix(NA, nrow(data), mcount) for (i in 1:mcount) { if (is.data.frame(data)) { varimp[,i] <- output$imputations[[imputed[i]]][[var]] } else { varimp[,i] <- output$imputations[[imputed[i]]][,var] } } if (var %in% c(output$arguments$noms, output$arguments$ords)) { leg.text <- "Modal Imputations" varimp <- apply(varimp, 1, function(x) as.numeric(names(which.max(table(x))))) } else { leg.text <- "Mean Imputations" varimp <- rowMeans(varimp) } if (frontend) { dev.new() } if (is.data.frame(data)) { vars <- data[[var]] } else { vars <- data[,var] } if (scaled) ratio <- sum(is.na(vars))/sum(!is.na(vars)) else ratio <- 1 varnames <- dimnames(data)[[2]] # This will work for both data.frames AND matricies. vname <- varnames[var] # This will work for both data.frames AND matricies. if (sum(is.na(vars)) > 1) { oiDetect <- (sum(output$missMatrix[,var]) + sum(!is.na(vars))) > length(vars) if (missing(main)) { if (oiDetect) { main <- paste("Observed and Overimputed values of", vname) } else { main <- paste("Observed and Imputed values of", vname) } } if (missing(xlab)) { xlab <- paste(vname," -- Fraction Missing:", round(mean(is.na(vars)), digits = 3)) } if (missing(ylab)) { ylab <- "Relative Density" } xmiss <- density(varimp[output$missMatrix[, var]], na.rm = TRUE) xobs <- density(vars[!is.na(vars)], na.rm = TRUE) compplot <- matplot(x = cbind(xmiss$x, xobs$x), y = cbind(ratio * xmiss$y, xobs$y), xlab = xlab, ylab = ylab, type = "l", lwd = lwd, lty = 1, main = main, col = col, ...) if (legend) { legend("topright", legend = c(leg.text, "Observed Values"), col = col, lty = c(1,1), bg = 'gray90', lwd = lwd) } } else { if (missing(main)) { main <- paste("Observed values of",vname) } if (missing(xlab)) { xlab <- vname } if (missing(ylab)) { ylab <- "Relative Density" } compplot <- plot(density(varimp, na.rm = TRUE), col = col[2], main = main,...) if (sum(is.na(vars)) == 1) { abline(v = varimp[output$missMatrix[, var]], col = col[1]) } if (legend) { legend("topright", legend = c("Mean Imputations","Observed Values"), col = col, lty = c(1,1), bg = 'gray90') } } invisible() } #' Overimputation diagnostic plot #' #' Treats each observed value as missing and imputes from the imputation #' model from \code{amelia} output. #' #' @param output output from the function \code{amelia}. #' @param var column number or variable name of the variable to #' overimpute. #' @param draws the number of draws per imputed dataset to generate #' overimputations. Total number of simulations will \code{m * #' draws} where \code{m} is the number of imputations. #' @param subset an optional vector specifying a subset of observations #' to be used in the overimputation. #' @param legend a logical value indicating if a legend should be #' plotted. #' @param xlab the label for the x-axis. The default is "Observed Values." #' @param ylab the label for the y-axis. The default is "Imputed Values." #' @param main main title of the plot. The default is to smartly title the plot #' using the variable name. #' @param frontend a logical value used internally for the Amelia GUI. #' @param ... further graphical parameters for the plot. #' #' @details #' This function temporarily treats each observed value in #' \code{var} as missing and imputes that value based on the imputation #' model of \code{output}. The dots are the mean imputation and the #' vertical lines are the 90\% percent confidence intervals for #' imputations of each observed value. The diagonal line is the \eqn{y=x} #' line. If all of the imputations were perfect, then our points would #' all fall on the line. A good imputation model would have about 90\% of #' the confidence intervals containing the truth; that is, about 90\% of #' the vertical lines should cross the diagonal. #' #' The color of the vertical lines displays the fraction of missing #' observations in the pattern of missingness for that #' observation. The legend codes this information. Obviously, the #' imputations will be much tighter if there are more observed covariates #' to use to impute that observation. #' #' The \code{subset} argument evaluates in the environment of the #' data. That is, it can but is not required to refer to variables in the #' data frame as if it were attached. #' #' @return A list that contains (1) the row in the original data #' (\code{row}), (2) the observed value of that observation #' (\code{orig}), (2) the mean of the overimputations #' (\code{mean.overimputed}), (3) the lower bound of the 95\% #' confidence interval of the overimputations #' (\code{lower.overimputed}), (4) the upper bound of the 95\% #' confidence interval of the overimputations #' (\code{upper.overimputed}), (5) the fraction of the variables #' that were missing for that observation in the original data #' (\code{prcntmiss}), and (6) a matrix of the raw overimputations, #' with observations in rows and the different draws in columns (\code{overimps}). #' #' @seealso Other imputation diagnostics are #' \code{\link{compare.density}}, \code{\link{disperse}}, and #' \code{\link{tscsPlot}}. overimpute <- function(output, var, draws = 20, subset, legend = TRUE, xlab, ylab, main, frontend = FALSE, ...) { if (!("amelia" %in% class(output))) stop("The 'output' is not Amelia output.") data <- getOriginalData(output) ## via the subset.data.frame function if (missing(subset)) { r <- TRUE } else { e <- substitute(subset) r <- eval(e, data, parent.frame()) if (!is.logical(r)) { stop("'subset' must evaluate to logical") } r <- r & !is.na(r) if (sum(r) == 0) { stop("no observations in the subset") } } data <- data[r,] origAMr1 <- is.na(data) ## Allow character names as arguments for "var" with data.frames if(is.character(var)){ if(!is.data.frame(data)){ stop("var must be identified by column number as dataset is not a data frame.") } else { nomnames <- colnames(output$imputations[[1]])[output$arguments$noms] if (var %in% nomnames) { stop("Cannot overimpute variables set to be nominal") } varpos <- match(var, colnames(data)) if(is.na(varpos)){ stop("The name provided for var argument does not exist in the dataset provided.") } else { var <- varpos } } } ## The argument list for an amelia output is now ## at "output$arguments" prepped <- amelia_prep(x = data, arglist = output$arguments, incheck = FALSE) stacked.var <- match(var, prepped$subset.index[prepped$p.order]) subset.var <- match(var, prepped$subset.index) if (!is.null(prepped$blanks)) fully.missing <- origAMr1[-prepped$blanks, var][prepped$n.order] else fully.missing <- origAMr1[, var][prepped$n.order] if (is.na(stacked.var)) { if (frontend) tcltk::tkmessageBox(message="The variable you selected doesn't exist in the Amelia output becuase it wasn't imputed.",icon="error",type="ok") stop("var doesn't exist in the amelia output. It either didn't get imputed or is out of the range of columns.") } means <- c() lowers <- c() uppers <- c() pcnts <- c() color <- c() AMr1 <- is.na(prepped$x) ## if (sum(!AMr1[,stacked.var]) == 0){ ## if (frontend) { ## tkmessageBox(parent = getAmelia("gui"), ## message="The variable needs to have at least one fully observed cell.",icon="error",type="ok") ## } ## stop("function needs at least one fully observed cell in 'var'.") ## } AMr1[,stacked.var] <- TRUE AMp <- ncol(prepped$x) imphold <- matrix(NA, nrow = nrow(prepped$x), ncol = output$m * draws) for (i in 1:nrow(prepped$x)) { if (fully.missing[i]) { next() } x <- prepped$x[i,,drop=FALSE] x[1, stacked.var] <- NA o <- !is.na(x) miss <- !o x[is.na(x)] <- 0 oo <- 1 * o mm <- 1 * miss #o<-!AMr1[i,] #o[stacked.var]<-FALSE pcntmiss <- (sum(miss))/(length(miss)-sum(prepped$index==0)) # Does not include time polynomials (index==0) in the denominator ## These are always fully observed by construction, but auxiliary. ## Leaves constructed lags and ## leads, and nominal variables ## in count, however. conf <- c() for (k in 1:output$m) { ## The theta matrix is now stored in an array with ## dimensions c(vars+1,vars+1,m), so this grabs ## the kth theta matrix. thetareal <- output$theta[,,k] xx <- matrix(x, draws, AMp, byrow = TRUE) rr <- matrix(AMr1[i,], draws, AMp, byrow = TRUE) xc <- .Call("ameliaImpute", xx, rr, oo, mm, c(1, nrow(xx) + 1), thetareal, NULL, NULL, NULL, PACKAGE = "Amelia") conf <- c(conf, xc[, stacked.var]) } scaled.conf <- (conf * prepped$scaled.sd[subset.var]) + prepped$scaled.mu[subset.var] varlog <- match(var, prepped$logs) if (!is.na(varlog)) { scaled.conf <- untransform(as.matrix(scaled.conf), logs = 1, xmin = prepped$xmin[varlog], sqrts = NULL, lgstc = NULL) } if (!is.na(match(var,prepped$sqrts))) { scaled.conf <- untransform(as.matrix(scaled.conf), logs = NULL, xmin = NULL, sqrts = 1, lgstc = NULL) } if (!is.na(match(var,prepped$lgstc))) { scaled.conf <- untransform(as.matrix(scaled.conf), logs = NULL, xmin = NULL, sqrts = NULL, lgstc = 1) } ##colors are based on rainbow roygbiv l->r is higher missingness \ blue <- rgb(0,0,1, alpha = 0.75) green <- rgb(0,.75,0, alpha = 0.75) orange <- rgb(1, 0.65,0, alpha = 0.75) tomato <- rgb(1, 0.39, 0.28, alpha = 0.75) red <- rgb(0.75, 0, 0, alpha = 0.75) spectrum <- c(blue, green, orange, tomato, red) if (pcntmiss < .20) color <- c(color, spectrum[1]) else if (pcntmiss >= .20 && pcntmiss < .40) color <- c(color, spectrum[2]) else if (pcntmiss >= .40 && pcntmiss < .60) color <- c(color, spectrum[3]) else if (pcntmiss >= .60 && pcntmiss < .80) color <- c(color, spectrum[4]) else if (pcntmiss >= .80) color <- c(color, spectrum[5]) imphold[i,] <- scaled.conf means <- c(means, mean(scaled.conf)) lowers <- c(lowers, sort(scaled.conf)[round(output$m * draws * 0.05)]) uppers <- c(uppers, sort(scaled.conf)[round(output$m * draws * 0.95)]) pcnts <- c(pcnts, pcntmiss) } #AMr1<-is.na(prepped$x[,stacked.var]) #partial.n.order<-prepped$n.order[!origAMr1] if (is.data.frame(data)) { xplot <- data[[var]] } else { xplot <- data[,var] } if (is.null(prepped$blanks)) { xplot <- xplot[prepped$n.order][!fully.missing] } else { xplot <- xplot[-prepped$blanks][prepped$n.order][!fully.missing] } addedroom <- (max(uppers) - min(lowers)) * 0.1 if (!hasArg(log)) { this.ylim <- range(c(lowers - addedroom, uppers)) legpos <- "bottomright" } else { this.ylim <- range(c(lowers[lowers > 0], uppers + addedroom)) legpos <- "topright" } if (missing(xlab)) { xlab <- "Observed Values" } if (missing(ylab)) { ylab <- "Imputed Values" } if (missing(main)) { main <- paste("Observed versus Imputed Values of",colnames(data)[var]) } if (frontend) { dev.new() } ci.order <- order(uppers - lowers, decreasing = TRUE) # Allows smallest CI's to be printed last, and thus not buried in the plot. overplot <- plot(xplot[ci.order], means[ci.order], xlab = xlab, ylab = ylab, ylim = this.ylim, type = 'p', main = main, col = color[ci.order], pch = 19,...) segments(xplot[ci.order], lowers[ci.order], xplot[ci.order], uppers[ci.order], col = color[ci.order]) if (legend) { legend(legpos, legend = c(" 0-.2",".2-.4",".4-.6",".6-.8",".8-1"), col = spectrum, lty = c(1,1), horiz = TRUE, bty = "n") } abline(0,1) out <- list(row = prepped$n.order[!fully.missing], orig = xplot, mean.overimputed = means, lower.overimputed = lowers, upper.overimputed = uppers, prcntmiss = pcnts, overimps = imphold[!is.na(imphold[,1]),]) invisible(out) } gethull <- function(st,tol,rots) { stvec <- st for (i in 1:length(st)) { addedvec <- rep(0,length(st)) addedvec[i] <- tol * 100 newvec <- cbind(st + addedvec, st - addedvec) stvec <- cbind(stvec, newvec) } reduced.hull <- t(rots) %*% stvec return(reduced.hull) } #' Overdispersed starting values diagnostic for multiple imputation #' #' A visual diagnostic of EM convergence from multiple overdispersed #' starting values for an output from \code{amelia}. #' #' @param output output from the function \code{amelia}. #' @param m the number of EM chains to run from overdispersed starting values. #' @param dims the number of principle components of the parameters to #' display and assess convergence on (up to 2). #' @param p2s an integer that controls printing to screen. 0 (default) #' indicates no printing, 1 indicates normal screen output and 2 #' indicates diagnostic output. #' @param frontend a logical value used internally for the Amelia GUI. #' @param xlim limits of the plot in the horizontal dimension. #' @param ylim limits of the plot in vertical dimension. #' @param ... further graphical parameters for the plot. #' #' @details This function tracks the convergence of \code{m} EM chains which start #' from various overdispersed starting values. This plot should give some #' indication of the sensitivity of the EM algorithm to the choice of #' starting values in the imputation model in \code{output}. If all of #' the lines converge to the same point, then we can be confident that #' starting values are not affecting the EM algorithm. #' #' As the parameter space of the imputation model is of a #' high-dimension, this plot tracks how the first (and second if #' \code{dims} is 2) principle component(s) change over the iterations of #' the EM algorithm. Thus, the plot is a lower dimensional summary of the #' convergence and is subject to all the drawbacks inherent in said #' summaries. #' #' For \code{dims==1}, the function plots a horizontal line at the #' position where the first EM chain converges. Thus, we are checking #' that the other chains converge close to that horizontal line. For #' \code{dims==2}, the function draws a convex hull around the point of #' convergence for the first EM chain. The hull is scaled to be within #' the tolerance of the EM algorithm. Thus, we should check that the #' other chains end up in this hull. #' #' @seealso Other imputation diagnostics are #' \code{\link{compare.density}}, \code{\link{disperse}}, and #' \code{\link{tscsPlot}} disperse <- function(output, m = 5, dims = 1, p2s = 0, frontend = FALSE, ..., xlim = NULL, ylim = NULL) { if (!("amelia" %in% class(output))) stop("The 'output' is not Amelia output.") ## The original data is the imputed data with the ## imputations marked to NA. These two lines do that data <- getOriginalData(output) if (frontend) { requireNamespace("tcltk") putAmelia("output.log", c(getAmelia("output.log"), "==== Overdispersion Output ====\n")) } # prep the data and arguments prepped<-amelia_prep(x=data, arglist=output$arguments) if (p2s) cat("-- Imputation", "1", "--") if (frontend) { putAmelia("output.log", c(getAmelia("output.log"), paste("-- Imputation","1","--\n"))) } flush.console() # run EM, but return it with the theta at each iteration thetanew <- emarch(prepped$x, p2s = p2s, thetaold = NULL, tolerance = prepped$tolerance, startvals = 0, priors = prepped$priors, empri = prepped$empri, frontend = frontend, allthetas = TRUE, collect = FALSE) #change 4 # thetanew is a matrix whose columns are vectorized upper triangles of theta # matrices for each iteration. thus, there are k(k+1)/2 rows. impdata <- thetanew$thetanew # we'll put the theta of the last iteration into a new starting theta startsmat <- matrix(0, ncol(prepped$x) + 1, ncol(prepped$x) + 1) startsmat[upper.tri(startsmat, TRUE)] <- c(-1, impdata[, ncol(impdata)]) startsmat <- t(startsmat) startsmat[upper.tri(startsmat, TRUE)] <- c(-1, impdata[, ncol(impdata)]) iters <- nrow(thetanew$iter.hist) + 1 for (i in 2:m) { if (p2s) cat("-- Imputation", i, "--\n") if (frontend) { putAmelia("output.log", c(getAmelia("output.log"), paste("-- Imputation",i,"--\n"))) } # get a noisy sample of data from the that starting value (which is the # Amelia answer) and use that to estimate a new starting theta (mus/vcov) newstarts <- rmvnorm(round(2.5 * ncol(prepped$x)), startsmat[1,2:ncol(startsmat)], startsmat[2:nrow(startsmat),2:nrow(startsmat)]) startcov <- var(newstarts) startmus <- colMeans(newstarts) newstartsmat <- matrix(-1, ncol(prepped$x) + 1, ncol(prepped$x) + 1) newstartsmat[2:nrow(startsmat),2:nrow(startsmat)] <- startcov newstartsmat[1,2:nrow(startsmat)] <- startmus newstartsmat[2:nrow(startsmat),1] <- startmus # grab the iteration history of the thetas thetanew <- emarch(prepped$x, p2s = p2s, thetaold = newstartsmat, tolerance = prepped$tolerance, startvals = 0, priors = prepped$priors, empri = prepped$empri, frontend = frontend, allthetas = TRUE, collect = FALSE) # change 5 impdata <- cbind(impdata, thetanew$thetanew) iters <- c(iters, nrow(thetanew$iter.hist) + 1) } if (dims == 1) comps <- c(1) else comps <- c(1,2) # reduce the dimenionality from k(k+1)/2 to 1 or 2 via principle components rotations <- prcomp(t(impdata))$rotation[, comps] reduced.imps <- t(rotations) %*% impdata cols <- rainbow(m) # plot the imputations if (frontend) { dev.new() } if (dims == 1) { addedroom <- (max(reduced.imps) - min(reduced.imps)) * 0.1 x <- seq(iters[1]) if (is.null(xlim)) xlim <- c(0, max(iters)) if (is.null(ylim)) ylim <- range(c(reduced.imps - addedroom, reduced.imps)) y <- reduced.imps[1, 1:iters[1]] patt <- seq(1, length(x) - 1) plot(x, y, col = 1, main = "Overdispersed Start Values", xlab = "Number of Iterations", ylab = "Largest Principle Component", xlim = xlim, ylim = ylim, type = "n") segments(x[patt], y[patt], x[patt + 1], y[patt + 1], col = cols[1]) for (i in 2:length(iters)) { x <- seq(iters[i]) y <- reduced.imps[1, (sum(iters[1:(i-1)])+1):(sum(iters[1:i]))] patt <- seq(1, length(x)-1) segments(x[patt], y[patt], x[patt+1], y[patt+1], col=cols[i]) #points(x,y,col=i) } abline(h = reduced.imps[iters[1]], lwd = 2) legend("bottomright", legend = c("Convergence of original starting values"), lwd = 2, bty = "n") } else { xrange <- c((min(reduced.imps[1,])), (max(reduced.imps[1,]))) yrange <- c((min(reduced.imps[2,])), (max(reduced.imps[2,]))) if (is.null(xlim)) xlim <- xrange if (is.null(ylim)) ylim <- yrange plot(reduced.imps[1,1:iters[1]], reduced.imps[2,1:iters[1]], type = "n", main = "Overdispersed Starting Values", xlab = "First Principle Component", ylab = "Second Principle Component", col=cols[1], xlim = xlim, ylim = ylim) for (i in 2:length(iters)) { x <- reduced.imps[1, (sum(iters[1:(i-1)])+1):(sum(iters[1:i]))] y <- reduced.imps[2, (sum(iters[1:(i-1)])+1):(sum(iters[1:i]))] patt <- c() xdiffs <- diff(x) ydiffs <- diff(y) veclength <- sqrt(xdiffs^2+ydiffs^2) for (j in 1:length(xdiffs)) if (veclength[j] > xinch(1/500)) patt <- c(patt,j) if (!is.null(patt)) arrows(x[patt], y[patt], x[patt + 1], y[patt + 1], length = .1, col = cols[i]) patt <- seq(1, length(x) - 1) segments(x[patt], y[patt], x[patt+1], y[patt+1], col = cols[i]) } x <- reduced.imps[1,1:iters[1]] y <- reduced.imps[2,1:iters[1]] xdiffs <- diff(x) ydiffs <- diff(y) veclength <- sqrt(xdiffs^2+ydiffs^2) inchlength <- sqrt(sum(xyinch(1/500)^2)) patt <- c() for (j in 1:length(xdiffs)) if (veclength[j] > inchlength) patt <- c(patt,j) #if (!is.null(patt)) # arrows(x[patt],y[patt],x[patt+1],y[patt+1],length=.15,col=1,lwd=5) patt <- seq(1, length(x) -1) segments(x[patt], y[patt], x[patt + 1], y[patt + 1], col = cols[1], lwd = 1) dists <- gethull(st = impdata[ ,iters[1]], tol = prepped$tolerance, rots = rotations) convexhull <- chull(t(dists)) convexhull <- c(convexhull, convexhull[1]) lines(t(dists)[convexhull,], col = "orange", pch = 19, lwd = 2) abline(h = 0, lty = 2) abline(v = 0, lty = 2) } #if (frontend) # tkdestroy(getAmelia("tcl.window")) out <- list(impdat = impdata, p.order = prepped$p.order, index = prepped$index, iters = iters, rotations = rotations, dims = dims) invisible(out) } sigalert <- function(data, disperse.list, output, notorious = 5){ k <- length(disperse.list$p.order) + 1 # Construct Variable Names for all variables constructed in Imputation Model. # This uses the "index" which details all the variables included in the imputation model. # The index is in the unstacked variable order. # Possibly, if this is useful elsewhere, this might be moved to "prep.r". varnm <- NULL lag.count <- 0 lead.count <- 0 poly.count <- 0 unknown.count <- 0 for (i in 1:(k-1)) { if (identical(disperse.list$index[i], -0.5)) { lag.count <- lag.count + 1 varnm <- c(varnm, paste("lag", lag.count)) } else if (identical(disperse.list$index[i], 0.5)) { lead.count <- lead.count + 1 varnm <- c(varnm, paste("lead", lead.count)) } else if (identical(disperse.list$index[i],0)) { poly.count <- poly.count + 1 varnm <- c(varnm, paste("polytime", poly.count)) } else if(disperse.list$index[i] >= 1) { varnm <- c(varnm, names(data[disperse.list$index[i]])) # Check what this does with matricies? } else { unknown.count <- unknown.count + 1 varnm <- c(varnm, paste("unknown", unknown.count)) } } # WARNING: Currently assumes rotations is a vector. If dim=2, rotations is a matrix. # if(!identical(disperse.list$dims,1)){ # disperse.list$rotations<-disperse.list$rotations[1,] # } # This is a flag vector that identifies the largest values in the first principal component. largest.rotations <- disperse.list$rotations * 0 largest.rotations[order(abs(disperse.list$rotations),decreasing = TRUE)[1:notorious]] <- 1 # This is a matrix of the size of theta, which has a 1 in the positions of the largest # contributions to the first principal component. # (largest corresponding elements of disperse.list$rotations) map <- matrix(0, k, k) map[upper.tri(map, TRUE)] <- c(0, largest.rotations) map <- t(map) map[upper.tri(map, TRUE)] <- c(0, largest.rotations) map[c(1, disperse.list$p.order + 1), c(1, disperse.list$p.order + 1)] <- map # Rearrange to unstacked variable positions print(abs(map)) gtz<-function(a) return(sum(a) > 0) row.keep <- apply(map, 1, gtz) col.keep <- apply(map, 2, gtz) # This is the submatrix of rotations, reshaped as a theta matrix, with the largest elements. prcomp.matrix <- matrix(0,k,k) prcomp.matrix[upper.tri(prcomp.matrix, TRUE)] <- c(0, disperse.list$rotations) prcomp.matrix <- t(prcomp.matrix) prcomp.matrix[upper.tri(prcomp.matrix, TRUE)] <- c(0, disperse.list$rotations) prcomp.matrix[c(1,disperse.list$p.order+1),c(1,disperse.list$p.order+1)] <- prcomp.matrix # Rearrange to unstacked variable positions # This is the submatrix that we want to represent portal <- prcomp.matrix[row.keep,col.keep] portalsize <- ncol(portal) portal.row.names <- varnm[row.keep] # In symmetric matricies, these are the same. portal.col.names <- varnm[col.keep] # In symmetric matricies, these are the same. # This is a matrix that gives the relative rank of every element. col.map <- matrix(0, portalsize, portalsize) col.portal <- rank(abs(portal[upper.tri(portal, TRUE)])) col.map[upper.tri(col.map, TRUE)] <- col.portal col.map <- t(col.map) col.map[upper.tri(col.map, TRUE)] <- col.portal # This creates a continuous color palette of the correct size. n.unique <- sum(upper.tri(matrix(1, portalsize, portalsize), TRUE)) Lab.palette <- colorRampPalette(c("white", "yellow", "red"), space = "Lab") my.palette <- Lab.palette(n.unique) # Plot the submatrix to be represented. plot.new() plot.window(xlim = c(-2, portalsize + 1), ylim = c(1, portalsize + 3)) for(i in 1:portalsize){ text(x = 1, y = portalsize - i + 1 + 0.5, pos = 2, labels = portal.row.names[i]) # Row variable names for(j in 1:portalsize){ rect(xleft = j, ybottom = portalsize - i + 1, xright = j + 1, ytop = portalsize - i + 2, density = NULL, angle = 45, col = my.palette[col.map[i, j]], border = NULL, lty = par("lty"), lwd = par("lwd")) text(x = j + 0.5, y = portalsize - i + 1 + 0.5, labels = as.character(round(portal[i,j]*100)/100) ) # SHOULD FIND BETTER SIG FIGS HACK } } for(j in 1:portalsize){ text(x = j + 0.6, y = portalsize + 1.1, pos = 2, labels = portal.col.names[j], srt = 270) # Column variable names. } return(NULL) } #' Plot observed and imputed time-series for a single cross-section #' #' Plots a time series for a given variable in a given cross-section and #' provides confidence intervals for the imputed values. #' #' @param output output from the function \code{amelia}. #' @param var the column number or variable name of the variable to plot. #' @param cs the name (or level) of the cross-sectional unit to plot. #' Maybe a vector of names which will panel a window of plots #' @param draws the number of imputations on which to base the confidence #' intervals. #' @param conf the confidence level of the confidence intervals to plot #' for the imputated values. #' @param misscol the color of the imputed values and their confidence #' intervals. #' @param obscol the color of the points for observed units. #' @param xlab x axis label #' @param ylab y axis label #' @param main overall plot title #' @param pch point shapes for the plot. #' @param ylim y limits (y1, y2) of the plot. #' @param xlim x limits (x1, x2) of the plot. #' @param frontend a logical value for use with the \code{AmeliaView} GUI. #' @param plotall a logical value that provides a shortcut for ploting all unique values of the level. #' A shortcut for the \code{cs} argument, a TRUE value overwrites any #' \code{cs} argument. #' @param nr the number of rows of plots to use when ploting multiple cross-sectional #' units. The default value will try to minimize this value to create a roughly #' square representation, up to a value of four. If all plots do not fit on the #' window, a new window will be started. #' @param nc the number of columns of plots to use. See \code{nr} #' @param pdfstub a stub string used to write pdf copies of each window created by the #' plot. The default is not to write pdf output, but any string value will turn #' on pdf output to the local working directory. If the stub is \code{mystub}, #' then plots will be saved as \code{mystub1.pdf}, \code{mystub2.pdf}, etc. #' @param ... further graphical parameters for the plot. #' #' @details #' The \code{cs} argument should be a value from the variable set to the #' \code{cs} argument in the \code{amelia} function for this output. This #' function will not work if the \code{ts} and \code{cs} arguments were #' not set in the \code{amelia} function. If an observation has been #' overimputed, \code{tscsPlot} will plot both an observed and an imputed #' value. tscsPlot <- function(output, var, cs, draws = 100, conf = .90, misscol = "red", obscol = "black", xlab, ylab, main, pch, ylim, xlim, frontend = FALSE, plotall=FALSE, nr, nc, pdfstub, ...) { if (missing(var)) stop("I don't know which variable (var) to plot") if (missing(cs) && !plotall) stop("case name (cs) is not specified") if (is.null(output$arguments$ts) || is.null(output$arguments$cs)) stop("both 'ts' and 'cs' need to be set in the amelia output") if (!("amelia" %in% class(output))) stop("the 'output' is not Amelia output") data <- getOriginalData(output) # Allow character names as arguments for "var" with data.frames if (is.character(var)) { if (!is.data.frame(data)) { stop("'var' must be identified by column number as dataset is not a data frame") } else { varpos <- match(var, colnames(data)) if (is.na(varpos)) { stop("the name provided for 'var' argument does not exist in the dataset provided") } else { var <- varpos } } } csvarname <- output$arguments$cs tsvarname <- output$arguments$ts if (is.data.frame(data)) { csvar <- data[[csvarname]] tsvar <- data[[tsvarname]] } else { csvar <- data[,output$arguments$cs] tsvar <- data[,output$arguments$ts] } if (is.factor(csvar)) { units <- levels(csvar) } else { units <- unique(csvar) } if (plotall) { cs <- units } else { if (!(all(cs %in% units))) stop("some cross-section unit requested for the plot is not in the data") } # Picks a number of rows and columns if not user defined. Maxs out at 4-by-4, unless user defined if (missing(nr)) { nr <- min(4, ceiling(sqrt(length(cs)))) } if (missing(nc)) { nc <- min(4, ceiling(length(cs)/nr)) } if (length(cs)>1) { oldmfcol <- par()$mfcol par(mfcol = c(nr, nc)) } prepped <- amelia_prep(x = data, arglist = output$arguments) if (!is.null(prepped$blanks)) { data <- data[-prepped$blanks,] unit.rows <- which(csvar %in% cs) miss <- output$missMatrix[-prepped$blanks,][unit.rows, var] == 1 } else { unit.rows <- which(csvar %in% cs) miss <- output$missMatrix[unit.rows, var] == 1 } time <- tsvar[unit.rows] # These are the time values for rows appearing in some future plot imps.cs <- csvar[unit.rows] # These are the cs units for rows appearing in some future plot cross.sec <- prepped$x[!is.na(match(prepped$n.order, unit.rows)),] stacked.var <- match(var, prepped$subset.index[prepped$p.order]) subset.var <- match(var, prepped$subset.index) imps <- array(NA, dim = c(nrow(cross.sec), draws)) drawsperimp <- draws/output$m if (sum(miss) > 0) { for (i in 1:draws) { currtheta <- output$theta[,,ceiling(i/drawsperimp)] imps[,i] <- amelia_impute(x = cross.sec, thetareal = currtheta, bounds = prepped$bounds, priors = prepped$priors, max.resample = output$arguments$max.resample)[,stacked.var] } imps <- imps*prepped$scaled.sd[subset.var] + prepped$scaled.mu[subset.var] if (var %in% output$arguments$logs) { imps <- exp(imps) + prepped$xmin[which(var == output$arguments$logs)] } if (var %in% output$arguments$sqrt) { imps <- imps^2 } if (var %in% output$arguments$lgstc) { imps <- exp(imps)/(1 + exp(imps)) } outoforder <- match(prepped$n.order, unit.rows)[!is.na(match(prepped$n.order, unit.rows))] imps <- imps[order(outoforder),] } if (missing(pch)) pch <- 19 if (missing(xlab)) xlab <- "time" if (missing(ylab)) ylab <- names(data)[var] if (frontend) { dev.new() } if (!missing(main)) { main <- rep(main, length.out = length(cs)) } count <- 0 for(i in 1:length(cs)){ current.rows <- which(csvar == cs[i]) current.time <- tsvar[current.rows] flag <- imps.cs == cs[i] current.miss <- miss[flag] if (sum(current.miss) > 0) { current.imps <- imps[flag,] current.means <- rowMeans(current.imps) current.uppers <- apply(current.imps, 1, quantile, probs = (conf + (1 - conf)/2)) # THIS IS LIKELY SLOW current.lowers <- apply(current.imps, 1, quantile, probs = (1-conf)/2) # THIS IS LIKELY SLOW } else { current.means <- data[[var]][current.rows] current.uppers <- current.lowers <- current.means } cols <- ifelse(current.miss, misscol, obscol) current.main <- ifelse(missing(main), as.character(cs[i]), main[i]) # Allow title to be rolling if not defined if (missing(xlim)) { # Allow axes to vary by unit, if not defined current.xlim <- range(current.time) } else { current.xlim <- xlim } if (missing(ylim)) { current.ylim <- range(current.uppers,current.lowers,current.means) } else { current.ylim <- ylim } plot(x = current.time, y = current.means, col = cols, pch = pch, ylim = current.ylim, xlim = current.xlim, ylab = ylab, xlab = xlab, main = current.main, ...) segments(x0 = current.time, x1 = current.time, y0 = current.lowers, y1 = current.uppers, col = cols, ...) oiDetect <- (sum(output$missMatrix[current.rows,var]) + sum(!is.na(data[current.rows, var]))) > length(current.rows) if (oiDetect) { points(x = current.time, y = data[current.rows, var], pch = pch, col = obscol) } # print page if window full if ((!missing(pdfstub)) & (i %% (nr*nc) ==0)) { count <- count + 1 dev.copy2pdf(file = paste(pdfstub, count, ".pdf", sep="")) } } if (!missing(pdfstub)) { if ((i %% (nr*nc)) != 0) { # print last page if not complete count <- count + 1 dev.copy2pdf(file = paste(pdfstub, count, ".pdf", sep="")) } par(mfcol = oldmfcol) # return to previous windowing } # although always now fills by col even if previously by row invisible(imps) } #' Combine Multiple Results From Multiply Imputed Datasets #' #' Combine sets of estimates (and their standard errors) generated from #' different multiply imputed datasets into one set of results. #' #' @param q A matrix or data frame of (k) quantities of interest (eg. #' coefficients, parameters, means) from (m) multiply imputed datasets. #' Default is to assume the matrix is m-by-k (see \code{byrow}), thus each #' row represents a set of results from one dataset, and each column #' represents the different values of a particular quantity of interest #' across the imputed datasets. #' @param se A matrix or data frame of standard errors that correspond to each of the #' elements of the quantities of interest in \code{q}. Should be the same #' dimensions as \code{q}. #' @param byrow logical. If \code{TRUE}, \code{q} and \code{se} are treated as #' though each row represents the set of results from one dataset #' (thus m-by-k). If \code{FALSE}, each column represents results from one #' dataset (thus k-by-m). #' #' @details Uses Rubin's rules for combining a set of results from multiply imputed #' datasets to reflect the average result, with standard errors that both average #' uncertainty across models and account for disagreement in the estimated values #' across the models. #' #' @return #' \item{q.mi}{Average value of each quantity of interest across the m models} #' \item{se.mi}{Standard errors of each quantity of interest} #' #' @references #' Rubin, D. (1987). \emph{Multiple Imputation for Nonresponse in Surveys}. #' New York: Wiley. #' #' Honaker, J., King, G., Honaker, J. Joseph, A. Scheve K. (2001). Analyzing #' Incomplete Political Science Data: An Alternative Algorithm for Multiple #' Imputation \emph{American Political Science Review}, \bold{95(1)}, 49--69. (p53) #' mi.meld<-function(q, se, byrow = TRUE) { if (!byrow) { q <- t(q) se <- t(se) } if (is.data.frame(q)) { q <- as.matrix(q) } if (is.data.frame(se)) { se <- as.matrix(se) } am.m <- nrow(q) ones <- matrix(1, nrow = 1, ncol = am.m) imp.q <- (ones %*% q)/am.m # Slightly faster than "apply(b,2,mean)" ave.se2 <- (ones %*% (se^2))/am.m # Similarly, faster than "apply(se^2,2,mean)" diff <- q - matrix(1, nrow = am.m, ncol = 1) %*% imp.q sq2 <- (ones %*% (diff^2))/(am.m - 1) imp.se <- sqrt(ave.se2 + sq2 * (1 + 1/am.m)) return(list(q.mi = imp.q, se.mi = imp.se)) } Amelia/NEWS0000644000176200001440000001367414335240021012146 0ustar liggesusers// // Amelia II - User visible changes // // // == 1.7.6 (24 Nov 2019) == * Added "x.las" and "gap.xaxis" arguments to missmap() to allow for more control over the axis. * Added xlim/ylim arguments to disperse() * Moved documentation to roxygen * Fixed bug in compare.density() when only 1 missing value. * Minor bug fixes == 1.7.5 (07 May 2018) == * Fixed bug with factor names under perfect collinearity * Added "draws" argument to overimp to control number of overimputation draws * Fix issue with tibbles and tscsPlot() * Fix issues with missmap() * Fixed issue with iterHist indicators being reversed == 1.7.4 (21 Nov 2015) == * Fixed issue with log axes in overimpute * Allow for vector in 'main' argument in tscsPlot() * Moved a collinearity check from error to warning. * Handle subsets better in moPrep() * tscsPlot() won't throw an error when cs is unspecified and plotall=TRUE * Fixed other small bugs and issues == 1.7.3 (14 Nov 2014) == * Fixed bug with overimp not being respected * Added an argument boot.type='none' to amelia() to allow it to run on the original, non-bootstrapped data * Fixed bug in plot.amelia() with matrix inputs * Fixed bug with lower bounds not being respected * Made compatible with most recent versions of Rcpp and RcppArmadillo == 1.7.2 (08 Jun 2013) == * Bug fixes to priors (especially important for multiple overimputation). * Fixed issue with names of imputations for integration with Zelig. == 1.7.1 (24 Mar 2013) == * Speed improvement (thanks to Paul Johnson). * Amelia now requires R>=2.13.5 * missmap() now displays correctly when data is completely observed. * An error is now called when users try to use overimpute() on a variable marked as nominal. * Fixed a bug when all imputations resulted in uninvertible covariance matrices. * Fixed a bug where incorrectly setting the emburn argument could cause a segfault. * Various package cleanups for CRAN compatibility. == 1.7 (10 Feb 2013) == * Ported core EM algorithm to C++. Speed should increase. * Plots in AmeliaView should now use Quartz on Mac OS X instead of X11. * Amelia now requires R >=2.14.0. * Amelia now can run its imputations in parallel using infrastructure from R's parallel package. Note that R < 2.15.3 will crash if parallel is used while tcltk is loaded (or has been loaded and then unloaded). This will be fixed in R 2.15.3 (the patched version of 2.15.2) and we will require R>=2.15.3 when that version is released. * Fixed bug with priors not working correctly. * Fixed bug with character variables set to nominal. == 1.6 (22 Feb 2012) == * Added a transform function to create transformed variables in the imputed datasets. * Added a mi.meld() function that can combine quantities of interest using the Rubin rules. * Added a subset arugment to overimpute. * write.amelia() can now create a stacked/long imputed datatset (also updated to AmeliaView) * Fixed a bug in moPrep (Thanks to Jeff Arnold for the patch) * missmap() has an arugment to not re-order the variables. == 1.5-4 == * Fixed a bug with error messages. == 1.5-3 == * Fixed a bug with completely missing rows in the tscsPlot(). == 1.5-2 (26 Apr 2011) == * Fixed a bug in the handling of priors. == 1.5-1 (23 Nov 2010) == * Fixed a bug in the new GUI where it didn't respect the "intercs" option. == 1.5-0 (23 Nov 2010) == * Major changes to the AmeliaView GUI. == 1.2-18 (4 Nov 2010) == * Fixed a bug when all variables are set to nominal or ordinal. == 1.2-17 (10 May 2010) == * Fixed a bug with the 'ask' argument when using "plot" on an 'amelia' object. == 1.2-16 (20 Mar 2010) == * Fixed a bug when priors specified. * When priors are used, Amelia now tries to use starting values with the prior-filled data. == 1.2-15 (20 Feb 2010) == * Fixed a bug when only 1 variable is not an ID variable or a nominal/ordinal variable. * Fixed a bug with the naming of columns in the imputation process. == 1.2-14 (16 Nov 2009) == * Fixed a bug that "ords" variables would return multiple copies of the same level. == 1.2-13 (09 Aug 2009) == * Fixed a small bug in the error checking routines that handled nominal variables. == 1.2-12 (11 Jul 2009) == * Fixed a bug in AmeliaView that caused it to crash. == 1.2-11 (10 Jul 2009) == * Minor bugfixes in removing test code from AmeliaView() and handling of the priors. == 1.2-10 (07 Jul 2009) == * Fixed a bug in the error checking routine that occurred when users put all of their variables into one of (idvars, noms, ords, ts, cs). == 1.2-9 (02 Jul 2009) == * Fixed typos in the manual with regard to ridge priors and clarified the advice about them. === 1.2-8 (01 Jul 2009) == * Major update to the Amelia manual (now compiled as a vignette using Sweave). * Changed a typo that stated values were the "percent missing" when they should have been "fraction missing." This is fixed. === 1.2-7 (29 Jul 2009) == * In the amelia output, mu and covMatrices now have relevant dimension names to be able to tell which column which. * Fixed a bug in the handling of priors that may have affected answers, but not significantly. * The missmap() function can now accept any matrix or data.frame, not just Amelia output. This allows for drawing a missingness map before running amelia(). == 1.2-0 (09 Apr 2009) == * Amelia output is now an instance of the S3 class 'amelia'. * Imputations are now stored in a list of length 'm' (the number of imputations) in output$imputations, which is of the class 'mi', making it simple to pass to Zelig. * Amelia output contains a matrix of means (one column for each imputation) and an array of covariance matrices. These are the posterior modes found by the EM algorithm in each imputation. Amelia/vignettes/0000755000176200001440000000000014713163340013454 5ustar liggesusersAmelia/vignettes/assets/0000755000176200001440000000000014522322330014750 5ustar liggesusersAmelia/vignettes/assets/splash.png0000644000176200001440000052403014335240021016752 0ustar liggesusers‰PNG  IHDR.,c Í‚ pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFCIDATxÚìytTU¶ÆuÇÔ½5fž!‰L¢€ * ‚ yJÓ-*22¬~¶b·‚­ òhìÚ¾…ˆ¯eaW,ÅàqD¡È2’êÀ¥yq8t\v/‚¬òWR鯤]z'"t/ ˜fš]#µ];jjkUåùEÔÖ—ðßÏ-`ÝÚOX0÷ƒ~ëÎPvúû¾ÚHƒQGbTg}ÉCßë‡P~æ8ÇówÑØØ„$‰”ç³ðÕ9ôêÝUpЧ[K1’êÀm÷àÐud݃&;Ñí{öå2w**çµ·çѱ]/Ê«v›JRl ‡Â0 J«*¹©Ï­t¹²_ïÙL^A‘^“á¿ÎW{²òãEÓÄÆ%suçîØÕhRÒxó­È;þ,óçFÐwn§g ~¶~,kõìA”u\ÞXœ\.'Ñ®x‚ªHéɆþº?EEu\ÃU`«bℱì߀¤öñŒ¾ëIN–`ÙÒ7ùݤ‡q×P½º€«»    Üœ8~â ù…¥È²ÎÞÜý<={;·ɆuÙ¬ü0øøñ‹,‹”•V´šOrÚÂa %ÂEd¤—9y’×þö˜2†Ùó¦ÑPw§=’©Óî'9ÙÁG˳ùÕÑ,}k9«>X˰ÛauÖËxí:Ç1$sÖ주²žÜ=™úäXî5•m; ‰Šô’œà ó××±-g=¥û Ìžsjâc<ÈrX5)I)ßIÖe§˜’ò£hv ¯3ŠÈ˜$ŸIPùðÏÓåŠ~¼òú\2ßÁK ^díÚ] ØÛ†ÞÂý¿} ‡œÂ°QÝ \Ó£;Û·ïåßßËØ‘“ézUQQ*>væsÛàk8Q|Œ¤äD&Œœ{ÇÜÏäÉwóÒÜåø„°R ô­"Ù 4ÅI“߯½£FààTQ>%¥¥t¼êz(âWCÇѵ[{nrýúßÁSÓ^bŪe<ÿÚC>TÅʶ0{Æ«|òéVV.ÿœªªìö(úÝ|'‘‘ɤ·wñYÖ¹‰ŽI`Ó¦ÜÿŸÃ)/«Á×ì…³k¥àŸk‘–~-‹^yž=¹{ilªfö3O±léJ¶l;BJªÊÑÃU$§x}ßæÌX…O1¨ ¨&//x%K?CU¶®?Èà¡7²eÝòK˜ÐÃïÇ0L\vZ Ã䑇‡Ð禛=êÉ–~Î’¡6'–¥UU­ª˜Ö?‰)„ÈݽnWõÁéÈÊþÞ=®£_ÿ!=R„¦ÛñÕš˜‚Yú›^”™ìÚ½·fRÞ<ýI åÍ—?AÒÀoŠÜ;fKÞÎnqø{®cÕÊœpBT0?ƒÜÄÆ-Û|&¿ýýHĈ‘“¬Pføý$Ʀ¢é:¦agàÍ£p9Ø™ó奅lÞð`%j†ßu3ýÏ^Nçc&;v®åƛ‰àÜç¦ÏÎÝë4°;Û·¬dÅß³ƒ jFO¸›÷Þ[Û!žÛ¿{ànÞ}ç)^\4…´4¯¼üWëY@„"99Éf"P¥ &n”pö‰×•@uu¥5•üíµ9,xå D›Q9xt=· ½…ò3>&=4ƒó¦WŸ[ÉÝ÷O2ÚÝHM¥ASS’Äï÷ѧwWêjD&LÂÛK>F *Œ7€Û_E™òŠžýˤV'¦ÕãôÄãôÄ£EÄ¡+nl’Ž$)H’‚ÝnǨ٤¡¡ò²SìܱEQñ! "_dmBÄÇžÏ ÂÒ7ß`É’4}%LMc_¨ ç«UìÛ»ƒG”©·S|ê‡öï%2&•¢âBSÚár9-Åœ¤T/õõ5TT6¶ìŽÊN”Q_SÁÜçß!;{=³ž[n„*èø‚`6QïW g˜xßTnîߢ̧éyÍ :v?kÓÔpùrOï¼÷'b=F=oíÍû+V#„|8ݰø%–bÄ ÂC“Ƨ1p`_jêü<4i<²,Òä/ãÑ)),(dÛÖ È²Hmm9Æ¡K×ddEæèþÓ|øÙ2“Yñþ2¶æ|ÈK¯¾@¯>é¨bsæ<Îk çp,o}ûwbô=SéÑ+—.sòD§‹+xýõ79þÍA*«‹X¹|5¾ú‹Sð³ø•%ÔÖVQXx‚aÃz0êžÁ<°‰Ó§ ˆnÏ‘ƒ»èѽŠhòÔŒ'(9õ5ÇŽãÔé<&ÿq:wÜ6†“Å'¹ã®téÒ—ž]ÐóÚ!äì8Dj»tÆŒ˸Ñã˜ôà4Ö¯ÿ‚ÕŸ®† ƒ-9›IjÏâ·’œêaëæ, êC\Bª•Çtï–ÎÓÇ!ˆvÜn7ªªÞþj»#’½»÷ÒûúÞ¡9BÔTÔã7lôîÙA¬cÛ– dt¹6ü¥ ›¨‘Ú3 D8e*++‰vÇá3läåídçÎ]dfFÄ;2ŽO?[Iök˜úø,>ùx¹{¶²ì­—÷vyÜÄÿ #å ¼®®é~#ÇŽ”`—DG¶GSýôêy%vIÇétâÒ:Ð>£33®¤ºá 9;s¹ºG7d"ŠáߑڂŽs;>§Lmm-±ÞN–ÀoVR^^ÇÝwÞGŒ7žHo*¡PÅE'™2ùO$'D1aÜX*+|–böìû;§KOŸÒ‰¸˜t"##[Úê+*™»àÏüñ±Y:²›ž]û#Š"'ËNÐ.¥+Š ¨è$Š"Cmƒ‰Ó餩±[ȇÏçÃëõ`š&õõ ”W—!‡¨««'1¾†a ŠáõµµÈv†º ¢\±ÈöøË[1‚â%:. 1䤡ÆÏ™²bÖf}Š]Ò),ÿ†q÷ŽÃ­EÒ³kìv;ï¢K§ÞÔ×”³mG6^¯‡„„x›p»Ý˜¦‰¬(„l*º+¿)¨¡ëíÓˆô¤’œØ‰@HF–ej›ª(*- 1PGÉÉã¨‚Ææÿ°c¡*ÆBÝ.[¸Ä‰™âÉüé¶YSÎU6_gYÄü¼˜_µ†LÈÂÓüJÞB<ÍD,Ì OæØø6‹nY”Ønnó‘á²±æ•üä¿ï§©ÍÇ”Cë¶änŽ=ÿ(‹ï]Çß.À²yßqNúª0?Ÿ¥K®Ol—ïèGù+?ÞÁ÷ƒe‰íÅ·ÞÃâ×þ„僢¦Ø´s\f &‘úQý €íÌáâ>VŽœË¥Õr1Ul'‡­†ûgAÞ5.n~ëMVŽ\ÝS+ÏPæ½`<Öfü¾ÉèÿAQSlêÅl‰$ÒîšÂw8ŸÀÔ7 ¦3É'ÁbAÓ˜d“$X$Ñ4&éŒ-Šd>ÇL6)’`“´Æ¨¦1I'UzŒIFª_^^W]uÕ€Ž1Ru³Ÿô¬K0'NÌ&#Ã…Ûã`dö`4«Ajª›!ž¡ˆj*éDƒdEÁéJGTì(Š‚ªªƒATÁšàÊD£Ñ”§—ä× •ë+È/ …ˆF£B¿ßßS6ðKûV7'ÕÏ{N&’badö`\;élª›Ã]OG—í jX$«l#¦œ¦ú©º5øé5$lˆÈJüBÄ^|¢’@^õRý Ã@Ñu¡‚!`•㈒Î@[rÜ™ ôˆZÂXu ›ÍŠCÕp¦Âf³¢ËvDÙ†fsáp8ÑúÁßzñŠ’|zƽµÕ/ξ”+,Á™ñYᨂ@0êGUTÓEŽ_ݪ²h¯‹SѬñÕbEA¬D£QbA>Í*Súü â˘e±X,Y}Ë¢Ñh<ŠD‘X¤g-fºMcÜ®þü1EQzèK¶8!Vc{Ë•~D¿¾}&ª_,KüÁèLå½ßÑh< 5Áf·ÛŠÓ­cSXín4›§Ó§Æ š¦a €(þ f±wlémü¾D¿Þý’$ÒÝ@×5"£_x—("ö4E45ÈžAD»#»Ãƒ¤Ú±:RQt+šªõD‰ŽÒ3NH–0Q‹ŠÅbA•¢h‚•ªÆR¥ç$Ì8ôÙ'±Ý‘.&ŽŸG,I!õJ’H8“† •˜ !H c<»Œàrª¸¬v7Nn«UU¦èJîÖ»šy§ïš¦c‘l”ÕV3꜉?QΩÖ$IaúEó¸hÚj*ê™=;‡’ÒÝȲÜÏ”^£úvsŠ¢œ¦úý7f˜ÇƒÛ9,“5¢lÃ¥ áhíaD‚FüŠ?yò$§Zkt(-û”ÚºÃØt‘ö–2î¾ëgdgåŸfM¡¥µ–ËLâ¶%w²ì—Ëxî¥(/ÙFcsÿ¥3$IìGõ"11bve'.9T«Ž¢9Qô4MãHÍARlƒ±ªiÄ䑈ÓiÐÝÀÀ‡(ŠCAˆvÓ^£rï½+¨¯kbó»ù¤9Ó "ÝÝÝD"玞Fë‰d‡‚÷7³è¦Ÿõ‹˜Úê2ü&¼#sQ’ ÁLŠˆQM´Æ¡qÎ4ìj Š"³µàMn[z-ï¼ÿíí|­²Aðwûzee M•¸ìV?ú0Ã2²8vì8¯¾ò8±@„@ @ÐßNΨ JMeüc8Z½7=Ñp»önâG·ÜBš;‡ÓkF €ÕîF·ºqºÒQc,¢Né‘2Fy3yø@#…[7ãIÉÀå†bq93‘,aj+‹‘eYÌȬTšN50x‹Šºý,_qýúY|‘ •´wvr²¥†©/E•S).Þ‡¬ûXµ| U¥'ñûº‰ $Ð%¦1€ÓêFÑœhŠ›ÃÃ%p¡g6¹†S¸m=N™ÇΕdeº¸êº9È‚Ž"Ë”——ð«»^`ÏÁ±êéD-AÛhiiå¾÷ÑX_Êko<Éúõ¸ôÒdðb„ý :èbÃw²ï@]Ÿ~#¹æoxWæt¥“žîaíóP\¶MIçpÉf¦MŸŽwäxÖ¿ñ %k¸á¦ÅŒÈÃÚ§ÿÀÛ¶ )ŠÜÜñL˜t>ÓrgR^±§;ƒ7ßy–q§³îÙ-ܴ脨•¿XGí±Rêös¢¡+æOà–›çaµéȲ˜ úYmº1ŠžB$&rϲGˆYTdYd˜¹Üµ|!{Š T6å¯ÁV¸zÁ‰D þóΛ¹ð‚‹9zô(¯¿–ÇèsÏcöì!H¢ÁÁ}»°ê™(¢ÁŒY^œ.üWWþð*Ëë9¸¿ŠW_. ¬´˜¼W¶atvî¹Î=•û÷óÉîbÔ(ø¢!²†¤`w9 ÖIuM« cÇüŒ“ÍΟb±h,^üS–¯xpØHpË^~ñå}³§6 þN~`O1‡Köðó_,fÊä¡<²ú6î¹gÓ/šEfæ0.»b¯ÿá÷t´xsÃ{d Éæý‚lzcÃGdÿî»|²»˜Y*¢CÇ&(#ÁîeÝ„Ãí]ÝU Èx<Ö<ý;Žiåže¿é‡W”eÑŒ€P°-ñ òùu¿eáµÿ†aL™<_†¦ëŒÈ9Ÿ–S­Xu ºM¦ª²æF?[ ^âÉ'ž¦¾®ƒÅŸsÉì‰hš‹¶ïÂe…i3.à­?íLœkõÃ+Yö«ûû_–Eì’B(ÖÍæ÷Ö“—÷*³f^3à3àÆD¨ª‚Š,Ëq2E[‘˜Ì ÍÍÍäoy—ÿÑOヴ¢pnÎHʪª¹dV&EEüó‚yøý-”ùœß¶„ ¶°oW3ážzâ>Þ{/Ÿ¿î¨ è‹¢‘MMåÅ..˜0Ÿã'ÊH³Ç“HC‘b™>s4Y#r˜0a<“'Oä³"¿9Æ8\ƒ±:Ò±«.tÝJjZ*’¤`‘lX$Ñh”ªºr\)!v~\ÄÊ{Wö¼?‰2vì–ÞqƒìÙø½é<øëÅ„c]ñÌ^² ø|>~0uõõõø"ÇX¾êzš•ÒÖÖÁíKÉïÖmáÝMï°wï3é«^2¬ß×͵ /ß±uÔ¡ëž4V{6nÝȦMoáë8Iw°€U+žãÏŸäUEÎ=–—^|ï¨ <úäíœ<^FÓ‰¢´³íƒ´¶ú¸ùÆÒÑÑAîø™„¨¨9Bnî8vº §}“'O4éíç³2í\16BÐ ?ÿüYI±¦Òvªºš8Á¼Ë߈U×ñûj)/-&êbþü¼š÷á°Áý…4¯ ²¼É¢±yÛ‹ìÙŸh ³àŠkŸû=š›CÔ+eêÔ\,á6>þËNÚ[b!ÆŽCGW£™`Œ=o4iinÊ*Ë)¯ÛËÿq=ÛwìÆ×i¡ p#EE{¹îúÅ9\Èîý»xbío>ÂKW¤„–C­<óÄ3´ùì9ªêÊž>ˆcM>lN ŠE£¥ã$“&ÍeÏÞXýÐjºCàwRrø iƒœ¤¸Ã£>*Ë÷1ã’™<ûä³\vÙÍfÄ”—άKÆ0î´!8ÙTV"Í=‚ÆöVº(Ú· @qñç IÏäÔ©ÖÄ$3'˜y ÀM7]ÈÓkŸ§»CCTã/­<®A">4›MÓ8ÕÐF  ##¦¦fJŽìcôù¹t·¶“âÉF"8B†„®Ä0 ƒ!‹Ä'ñµ··£9dŒ (‚ަiÔ7Öp¼®Šqc¼Db¯ä½ˆª…I÷\4àweÞ•Ýö“ÅHèlûËffÏù—ød A§¶¶”êê46·sù¼khim%--0¦ÿ`.aCŒÓ÷d‰¦¦fdYFÑSˆ 2†FƒˆŠNkk[|2GÀ öXÍMULºp6BHÀm÷‘;dƒÖ†Z®»q1¢(²}Û³+Ó5G*j¹òêEˆ¢ÈgE{ã3+Õ8ÏòŠËnAÑRÈÊC‡¿5Àºƒ'ÔÁ`§+]×e¿ÏG8Â@%dH(š§{v»óFcÚÔË!¿Ýî ´&@8Æ‘’AëÉ´œ:bve¦’8Á4•ä ¦©³Ð˜; è¡ò}=&ßÚ*˜»¶ê+!@¦1ß‚ŸÌyü´I¸îÿø{çÜ;»¹! §PË}h(H«¥*RŸ¶¶õÀ¢?`•V[µÕ–Z¥´ÞUk½•SΑ$9ȵ¹7»;³³ûûc²K‚öøµ¥™Ïë5„™ùÎó™ý~æyžïñ<¶ÊÊÊøûÅÍÖ›°`áë|Érssqî5—‘Ìž:Ûˆß/¯*µÞŽ…-y‡k¯›sÌó• mäex{þœÚÕØ€D"E[â_[œÙ7?̵¯¿oÀí4ã -è"Ë‚pÚ‡c=¹~4)±· ˜Ê’*øVåÝÜyÛæÞ}¾ûVòÜ7\Bÿ“†ñ£;iýšþß!Ë• ­Œéc6ùù÷ý†Knü fûvu`Ë![ò|ùïð›°™Cù·xhÄeL>Øâñxüâë­[°ðuL²Ärœf(¨Àœþ°`ÈÜ·÷ƒ£.ø´ëïG+FàÜc^ðâ¬4æ¼~x ýxeÿÑëŽ,“x. þTw=5L~šó_Xý‡@Á?$ážÜ³ùEÕÇÖ/iá_‚/‡5Œ ð»ÿ•AÓÏþ±úµ|ø˰`áëÂèf’Ù¬DË,Ÿ0‰ÄD¢5~iÁÂq‘àˆ YŒ±`á¸HpDEË$³`áxHpD3i¼ ŽG$U€˜õV,X8Ôî„‘-ÂX°p|“¬;aD¡÷ú0ÇŸ@jº‡H$ˆª*¤¥ú‘>¯ÛÓåÄí’QEQQQì^œžT¢‘œn?v—[DÇåvƒ`Àår‚è葘¾§Cyt$r±+´S!™=AˆÅbÉüT‰cp8§z÷ëe¼F×u à j‹ iš™‡7bîÛbáäýnX_ñoÙþïD‚#@E}ô^º†<5݃ªØHMO%¤©Øâ:é™N¢E–“=Z’ê&ÅáÃåvcw¦ *n<2vl¢—C`gÉ&†ƒ¤z‘e©Ç—Û0 3‘³l:Õf” :;Í•{ª¢5¢8eeûö kddçáöBKCãž;çsáŒiŒ›0Žp°™áCÇrõµß¥¡¡‘ªÊ>[½Á¬3ÞAsk%O<ù(“&žF$aÌØ 4ÌvÃN9 IH9®–1ºü–„ù%Ùtv—n¦ªª‡Ëǘ±cxû•½vàrÓ lV$?ìö.g½kŒÅëÏ ÅáCTL²(ŽeøÉf¸‘%ï?KVj**vpíu7 u—ãDÚCì;TB]] >WÍõûhll¤oŸ><ù»×hlê@´éôÍV1 ƒxØÔ:`€ÆCelZ÷«×¬¥¶¦êªv-íf÷²ÞÓTKŒ+Y„éåðú3pÊÓAÁárawùÌF"›šÁét°ê“åÌœ9€ýwqÆÔ ±;²xúÙw°Å¶QW7ÂÈ‘£ÑuœÜ4´äá´§ž–FsG-ÚÄ®¢ ȈèªËaæ¥sØ´þ.¹x6?¼iÃN=S"-ÕOiyk?{—óιˆ¿¾úW_}#FœI0ØA¤³…’ªml\{8yq]m¯›Ìt÷.àWßBñº9X^Ĩ“xîÏ¿ä´ü±Ì¾ú¢ƒÖöš!¢ëbLÁŽšöxç,¦awɇˆ² ¯×C8¡¾¾ž²²rÆŽCþð‘¬úè}.ùö÷QcSEþö>6mÜÁž~ [,LÅÁu<¾ðþüÜ»œ{ádÞ~g5^·—¼Ü> Ú‡¢[ùƨaŒ?‚œÙlÝTÊC½„ˆÎs/ýŠÅÛ;nFOäg>Ê£>‚Ë›Nš7ƒ-EŸ¶šê§¡¡baBz;••Õ<ýäó¤göeÇŽbªÀ´§3êf†Ïª:ié*.§é¨çä ¤­¥‘`{€öÎ(ÁHû ®¹övœ.ùƒ²kÏáH§ í"wue{Ý^Ú:Úxæ©Å½Þ‡éõ„©®ÙÖsj‹àÄî‘ñ{Ì÷q÷=?eĈSHI±ãtË(rœªªjÎ>w6Fª«‹Ø]¾ =¢êP¡N' ÷4¯¼ü Ï?÷,UÕ%Ürë4:ø|ãn–¾¿]ÓøÝoïæŠ9? ØÔÂÆm+XýñG|²f~Ÿ“é3NçÒ™³™zîù|ïê˹áú›Q¤TÂñ:®¼ì*vl/'Ú ¾lÈÎÌfø°øÒݸÝ~äu fŒeààLdEæ”S†SßTK4áâW‘êïÇ»K_CuµòÒ orÆé—ðÐý¿'ÒåÍz>¢B„Î`Y“äÉËÉãç?ÿ¹E˜ÞN˜òʵ:ØÀÈÓÆ!ÆÍÁHI’ECÐÉH€®¸ìðÉÆ¥|ÿšY·¶ˆÔT?Á°)ã[ÓÇ’š™ÂŒé³™_8Y—_Ä»o-gýgŸ“‘ÇÔ³'séeWpÓn¦£µ‘’½Åüá‰GQœ"ÙY™lÙ´“ºúÕ´áOK%®#55‡ô,ma*+;y÷½7zö— 2˜–¦:Ú:4T‡—wÞü˜²½|ÒI|¼z“&œJUU ‚-ÈÔs¦h8ÄГñEI)k×AT×hí0˜úÍá„#çŒÆãÎâûŸ¦-ÔrÔ;JhKÃX> N±#G ¦±.@vßÄmˆ ¢ňëÜwï˜ÿÓ'‰vB†/‹_<<ŸW^_HÁ…ãY÷é&¦MûÏ=¿5+–®ã‡·ÌfÀ€>L:ýTžù)‚aX¾b#¥eYùÉGØÔtʂݩí„^{Œ;þ÷\v9j MfÎ9oO=ñg$4bªH߬†Kmm-©©ƒyà—/P¼£ŒSGÄž’}œÞúæ ¤¬ìj 6o-aËŽ÷3j‘pCOĶ-{ùä³\uÕˆkœ|ò©äådÎ÷æ²yk ºnpõœ+xþÅ?åÏÙ`ù0½Xà ™½B;‹ŠÉÎòñÀ?cÎusxpÁ½ÜtóM;š)Þ±Ÿž_BC]gÒî—›E ±Ž´ô,ìsçÒz2óò¨­¯á©§îàÕWÞç¤!ÃxþO¯ “lˆ‰§i3Æ2vbµ5T ²|ÅFÆŽ>Më‹Tîºë‡Øâ2/¿ô&««8gêùì-ÝÏöâ®ùÞ¥<÷Â_êÍ2 YÙ°~)ç!M#©%þñœùƒ1“‡ñ‡ß/bkÑË$ëí„Ñ"-Äb1¶lßÄ„±“‘TO󪪱I."‘Á¶F Ãà`uùÆÒÔÔİüq¨1ˆfcKóy¨m0M›IN¥¦ºšH$F(ÔÎÀC)ÞQ† <úØ\"¡6\®—W¥þP3Ÿ¬ÙNÁôsyù•eIùÏýñ9Ë$ëõ*Vt`W Æžˆ¤zzLšL .8ºæ[¹\.DQÀáƒÛåA0dë&'_šc5…÷ÞÄ ã¸ê²ë¸ùŽrÏ]…² Y–â¢U”ØÀï{›ªª:Ê#hD£\wÃ…Œù Ê÷6óÄïogÞí×sË­?fÈ€¡„uˆ`ÛŽµ¬Yµ+¯œCYY9wÌû)Ÿ~¶Š´ô¾¤¤J,_úyä7í¬!¬5“Õ–€‚ 6¯QcüøáÌ_p;»v–0tÀ@Švï`ñ3˸`úÖoø€… oæ7Þeôè±–=f™dàKõ}í²ÝM•îÇ´PË–/aü¸©xÝ ©©~~øãk u¶rÊˆÓøŸko&7'eÚb!âQ…ÝËù¢¼˜šý•D˜uÙmôÉ@¨£‰…?Äž/¶3fÌi¤§¹AÒØç¦ïC3$Ñ€4 ]ÓÐŒf¼.™÷–ý…믹 IéŒ@õ¡/ØU´…¹·ÜÂŽµ¨]£(¸½k>ý€?z‡õ6¡…;8ÿ‚i|°ü#Êö|Á˜1ùÆØSÐÂíäæLµ4Loÿb9‚°ÿ¿9e"¡6ª«ë9T׈¬(äÈöâ’äu‚jÐÑÚH$*?,ŸP¤¯»/óî˜ÇîÝ»éß¿?Kß[Å­sÐÒÒŠnCQdb¶ªàÂçJ¥†Jî½ûE~|ýCt´·c‹GHÏêÇÁ}{P…@óþø§ß"Qb1‰'žž‹Ë‘Áe—ÌíZFQbÄ ööv>]½Á¦¡"O,z˜ß<úkÖ|¼†ïÌºŽÆºƒìÙ»“aCFPSYŽj·³¿¦ˆÒ=ÅL™t.ßúÖ46¾Üܲ2Rˆ¡°cûf*ÊK9¿àZ[, Óëç’IhHhŒŸt*&Yî¾k.s®¾„’]%Ìúî·ÑuƒH»Á®=¥¨18û¬ñ¬Y÷6•·Q×PŽ$‰M´·Ö³ï@1ìçÒK§qýu—0üä̾b&•û×q¨a;K6ñâËOc h¨&*˜>Hsk¹éYlܼޥK_eÞ?f_ͪ«k¸õ–{™_o¾a¦øxláíL™<€m Ûik®ç¬³Îdða,]ú1%¥ üaÑã¸ì0åôQ”íÝΡšb‚áöÜE0äŒ)“Ió;©9T˙߼-$!«nn¼¾é3ùÎw/'¯ÿ ‹-–IYiƒÑ“NeýÆbfLŸL ÐN¸³“5û¹hÆt®8¯½ö>‹Ÿy?>ûwÞó3ò‡ Å­zY¾â-îºóNÞ|ëMD›N0ØÉ•s¾ƒÃîâ`U;y}2¸kþ\¶lÞJCc€»çßKue9e»·R]¡ðž_±»t3¡`3n|©~údú†bé ×#I^Jîº÷FÆOÅÿÞòk®»aƒ†ä¢ª*¾¿†‚ig2fÄ™ø2<”—W0r䩸¼é6­ÿ„ñ£'ÑÑѨÆii«"Åw埳iãçlذŽÓ¿M{g }²ýŒ}qQ§hûœžTun«—¬·&ËçKö<ýtþõ<úëg¹ìòsxååÕ\9û,f^tŸ­]Ïô1dð ê#xý™dxSØUZŒÃíGÓtÜn—ÃKq““™Gs³i¿¸Ýn¢¶^9‹p\'i§±½‚ŠÒmšš7ö<>þüâÙä=…Baªê ( soº–×^‹êýµä Ȧ¶¶]²bÅ2Fž6 —ËIñöR.œ1“Ææ N§“ììl‚Á FÔ ³#€aTW×––†Ë›F}U)¹¹¹T6ÔFØ'‡`0Hkg±ˆÖP “'œÃ{ŠÙV´Ž¥K?dâÄÉäåœn¦·fÕê?àóû°Ë©¸].dEÙFˆúCÉÌÊÄëñòéÚuôËËeØÉè© ð«_=Ìüù?%—iiiÅív‘–C4¥SoGUUÒÒÒ¸\.ô°B]c¹}‡6#bvçnݵ†áCÎÉÀ.¹ˆÅb47·––ŠÃaщ¦iØWÊ ü~´´U±ì\üíYˆ1…ææü~Á`—ËŒ¦( F\&.t$ƒXì*ÚBß¼Ad¥˜«9«ë+ ›É~6‡êöÒ¬…ˆÎþª ¶|^ʈC1ò$®úîmüõí—¸tæUÜuσaz;aF–ÅYgŸÎˆ“1rÄrû &Hq¦bSb¨‚³ÇêÃĸÅË/ýž'†Gþ%§Ÿ5# z;á` v—§ìÁåMÇÐ:‡ÃæzIÂét i:±X MÓ0 ‡ÃA ­UQ±K.A n3ã$b–隆¬(Äô ‚ pèP-ii©‚@gggr•g{ØÔlÑh¿;H¬“˜¤©©™œ~ƒinn6×ê`GQtC$iLëS¥ÚÚÛPU•””vmAV#”•V/Yowâž{~!¡ÎíííôíÓ‡ŠÊrå ¦µ³‰¢µŸsÁÔ7×’—Mc³Ù[Úª¸`ꥤ§¹yõW3v"^m8U?mAÑ.¢‡ÛÐb!¢¶( ’ê!Ò°Å£Db1¿7P(L†/›X,FGG~¿/ˆBÅÃÑ\»Ý$RVV&‚ ЉøbæOér¹‡ÍIn­ud§åœœ4¨F\&ÕçAÌ®ñ ÖF]]ɃÔ.MTÜì+¯ «O6ª¢ÒTWNLÔÑ#*Ði9ý½]ÃmQqÖDCq9™ùwÏcô¸3¸ì’éhx\Ùaðz½è†ˆ-¡®¡ÜüòëQsýŒâСZ¼^/9}ò©i¨D•bÜ¿àvžüíËtê*Q­ǃMtPY³‡AFlkÄëõ`‡ƒü隆³Ë¼Jh¢Äòi0£Ì€¹î>¡yô®cf˜¤¢(‰hɉ¤I ‰ŠH„PÈÔzÝc- ‚€nˆf\25Ž4p8ì4·hi¯fë†Ë$ëõsÉ,XøceR²`áo€E ,Âü{°b® À7w‹*V°¨À×½¬˜ +æ2×W@Á¢ ó+ b‹XT¾‚E,ª ±b®¯ )³bQsWеoÖWØaE{ª°~Ëé·`Áòa,X°L2 ,ÂX°`ÆÂÿ|¾.§¿b>ŸÏÜïrðçUt/_@E·c>_ÁòLçÿH9s(gÁrú-X°œ~ ,“Ì‚…ÿRœp³•¿NöூÝnOæi9åwDZRé9Îä¬åQ¾¥aþI0 ã˜Û®V7[.VU;[. þ]òÆ͵"aÁÃÕ·>üO—o‡­ŸÕ:¹æ8u$¶c! óšW·VQúiŸÕ:A²ÿÓåÝ÷t<ù–†ù'!óÜo}œ¶ê/¶Ô3ù•'+§{.ʯ+ÿæž@kk¤­þÞÌþÇ-û÷ȸü¶ß¡·ÖÓZ€”¯¨ãï­§lwlZOkýcÌ«9Ä'¾ú÷žþSqÂõ’Õ××ÿSädffžÐòÿ[žãXòÿÓpÂö’išÆâ2 M[‰V¶˜üY‹»öÍ­0…ù³’û𦡕-¦0V²Ç“¯i+“r óg1kq+“òVvmÚÊÂäýÌZ\F~~~²Î¯’ŸØ óó™•_HáJ­[ÚÊÅ,ž•¸.M£p¥ù|‰z¿ªžÂüY,.Ó’[²î®÷Ñó=­ìñ,šVö5ŸC;|ïe‹)ÌÏ'ÿÈ÷ßíw)ÌŸÕãYO4œpæþûïÿ‡eȲLaaá +ÿëÈ{ðÁ“0NDùÿ©Æ¸´`á¿Ù$³`áß ‹0,X„±`Á"Œ a,X°cÁ‚E ,ü{g_Eu÷ÿ÷ýnÉÍ !ì‹ì«, ˆ‚kEkÝ´Ö¥¨¸¢öAQ«Ö¶¶ö)-mÝPlë†âFU•U–@Ø !! $!ÛÍ]gîÌýý1É…( ¶õyê/óy½æ•ÌÌ™ïÌœ{>ó]Î÷œãJ&“I§*886öÔÖ뮿,ÞìŃ€$K’S œY¯wråi}øë²NÍ8øÞ 0'í˜ç^x~Þ{û}\Ra¶— 寿ŸE2 ®ÖãIÿÿqþ¤V²´®#rÉ)=q=ÜZ𡾼öy)PÎ웗ѵä}øÕëTì/‡ÿ™Ì£Ÿ=Ç3§þÙÀ«Ÿ-…ÕÏðÌ=;©`ëÞNÅù?åÑ{&9¿¤ƒïfªY‚ `Vk™¹>ÀŒÙÀÇ£ ¸€»>-ãï/ϥꙧZz mŽHjë`·×T|¨«]àaXt–Ì7¬`ѳSøã˜ÅpÏ%tÊïX*—!àbÞê T`VõÍq®;Vpò¥Ý8ùçtð¿‡êº&ÞúÓoøùÃw°þ€MQ†cTµ–9|ÞÞOwÛAáÊ5Ÿã"ÉÏ~ŠË¯šÀîJH‚:òJ›ï­¯v|ßkôî|l3ìOÏüœu*] Žz¾j%ÿ3ýZž}îÇ”±Zíc“åÃâZ‡,œˆƒßöÏØ^§688 YàÓí ‡ÉRQÝ| œqì«ÊÿE½ŽZfA9\]ôÍ7¾ª÷¼¼û7ßúwÝýÏâ¡Ýçø7¼—ÇAN†»½f±CÈ òb9LgÝÜþªž?岋æÁ†»8{ùÓL/Êçñâo!þæ#ýén_WþÂTŠ®ûèk7váâoU"¥eðÈ$ûzŠnæÁîöœ¿ÿõ ǽ°ï ´- $àâÈx*‚‹U’Èì~6=‡¯eúÂ&ç×wð­ ®ö>KŸ,ÏÿÚÍ_Ø×uûß}á &óxåRç—wð­‘î—Y·¯ù0YN.rÆè;pp,¬)×\N=8pðpµšõ88¶.‡-œW\.‡+|3Y\‡£b88›,[8øf²¸ÕâÀÁ Ep9f˜'l†‰[8øFˆ‚Ë!‹Y8pÈâÀÁÿY$‡,|#$G³8pð-4‹;vàà›!.:´¶hÑ"¦OŸî´„DsssÇ%‹ $WOwéV”EZV&bÒ #àAV42r³\ªª’““ª€êðû}(ª¯jO¿ÈÌC’%FI–@Ððˆ2Š¢ Ê^dYBT|¶*Åv%ñëS犒ˆ™0[‡IËh­_6!õײ,,ËJýÿÕsílíÖéy‰@»k Ã@E"F ¦ibšfª,€ËŠ¥ž9?op‡m'.— iom¸C“%-+¿[Âçó¢*2^ŒêóàÖÙGnn:’[Å£ (ŠŒ¢ú‘7ºa¤ˆ‚ ‘æ±'+T MSíF¦øÚ‘DUÕö`ˆˆ¢˜jð†a É–e¡i±X I’¾F„#µ]+Цi¥þ¶k½"EI’°, Y–1 ìÇtÌ„IÂL¤ž×†Šiš^«î­ Óág·‰¢âOó!).TM%;ˇ,Ëø¼r«6Qm²àF‘edÕ‡W”‘’*²(#ÊÞT€¤ áe¢€ª¨9õEdÚiŽ62µíkšÖ®Ñ›¨íÖŽh×&€xøoêØûªÇ4Ûk¥D"†ˆ"*@4¥ñf±=ÔÒ½|>U‘±\šæGpȲŒiF‘Ü>4Eõ 'AÑÒPIõÐxR2MAÑ$D"A"‘@܇¯KŠÄ­ˆÃ‡,6²²2Iš1’’ˆÇãFÕ”Vñz=xÝ"~UCR|¨ªŠ({d ]Pñ´š\¢(Ú$E݈¢HRA•Q,A¾FQÐM D‘£ÌäÔÞÏq»SÚàH3©Mè~;¤4¡›¤©#Ê*®dü°¹'›¨ 5åK9déàðh —= TÒŠãIKGU@r«È¢ .R›ƒÞJ”„‘ Í#£È2&6QÚü“¶î‘ý`&G›i3§ŽÔÇÒߦñ͹?vTh÷¿a­&ˆ©6ÑÚ fÂñY² W[hÐ@‘}ø¼^@Gt(йu&h/î0ŇGváóz1Qe UUI ¶o¡**ŠàN‘£mkkÈ&j«™cW¿¢ˆ_1“NG:÷_%ÊWÉs¬rmD‘C×ÛEÖDÁÑ&Y¾ú¥uø}>ZB!TÍ…ÇíFEE×u¼i9‡µ(#%](Š’"J›3ßFMò¶Ó$fRÆ4AVܘ¦‰xbÙÀ¿I£|5d|4"OΑ¤ùªfk;'Z ¦ Ö.ªC–Ž]I[ü~ŸMKÃ%ÅRN¸)¨ªß.«ú@•[ ‘´T9Çóµ)IÄTc<IŽÖ˜EQ¤ua\ŽÕvd£w¹\$“ÉveÛd|ÓõGúAÆWä ‚–ÒJrGËtx²X‚¨x¼ à ݯ’lõ+EÁ-y1‘QåöU¥y©P±$Jˆ–ò5ÓëHóêȰò±L¢6¯‘·á«ç¿ºÿM2\ö˜òÃæ¡i"+J›}Ø®ÓÓC–ÃA¡ÖnF @(ÖLffŠ"#£¶FÀd<²EKCE4MEÅTÄ‘>ŠKò |EƒÏìúªvù¶G“L& µ´àñzë µÝ«íþm¦Ø‘Ïuw:+VnÆïÖÉÈò1fÌ8~xᕈŠ^=†H˜'hÓ0¦iâ²¢© ƒ6ÒDE¶lÍëÀYÈk+tG³¤r1#Qb† Ÿ×þ`(² EQÐ4•DRƯª¨‚‡¤K%)ˆl.ùœn=û1lØ lM¹—[³’£¡;·Ê4‰[¤¤LvzÁh#cOC$aâä ddd°u×fôL8á•Es)Ù¼…ô@6Ý z¢›"¨"Eyéœûƒ0zô þûŸ 7á²l)ÞÃÐ!®:÷‡Ô¬¤¼|Ý{öaÏîÕ6iŠúb"“$’$~-ú&Où`É„XB”H$Š$§9fXG†‰Ú>J«¯Ñ–vŸ––f§Þ+>EAFkM_}e_’ž™G®¿+.MúÚÚíË$"QDËO8FÓ4ÒüiÄõ8ÙYÙÄõ8fÂD’$~õÔÃL:oZÁÐüí6m*¦°°€4¯ÌÃÿœ~2‹Ò½›Ù½{7²èã¹?¿BRN¢‡jøl凔î+ ¥¥…^ýGPZ# 3pÐįiš6¿­÷¿ÍtL$e$—Acs5ûJwÐØØDß“SXXH,ä8ø­Di3¿Ú£(vî—¶C¾fR&ͧ zÒéÝ­?ÿå½íŸ$‰íúYÜnÍvÆ5 Ó¥Ç%UQI˜ö’W_ù;–KA0e4Ñë>ÂïͧWQòrzPu°gþüBܤkáΙt§ŽK²5ËSвé}Ò(¦N¹„Œô.ȪêÊ2B¡0Ûw®çÓ‹k’ É8MÁJ6–¬gÇöÏÙX²Å‚aCÆ3åôixD™/>ÿÂqð;zhr«Õ¡÷Š2IU"àö¶Ð…†™”‘…¤” ¨ —gŸÿ ãÇeõê?fbÊÜik”m©ï²¤ãU"ºN\ãñx0&q=NKK yyyÜzÛÍdgxA0L‘îº0ñÔÞ Ø—pT'4‰ P}°Šh¨Ñ'NÝÏe¸°!TUÅ%ºvÍ¡kAJv­dûÎõŒ1¤ q¨¦EQH˰ƒ Mû©;XÁ¡æZºwBVn‡‚¥´bKW,¦d[1kVmbûö‚ÍÕ”WÔ;déРøÐ[G!xd?b[ç¢èF%\¢Û¥H1i0óÞ›sòiì)]ǰQ)Þ²’ž½N&âJÆQ=$IÂ+©b‚PÈ"®ÇqY1L4t]O…¡÷•î`Ô¨±¬Z¹‚±ã& ¶ ‰â)n¿í>6¬Ú@~NI‰Ñ¥[>»vi÷¡zVíCõ¤S“K}#q•“‡¡¦©Å寕cÿÎJ ŠzðwAQ2éÛ¯®ÑÑxKW¼ÂâwQ^±Ÿõk‹I4Õ·†±ÑqàÅÖ­ãéÝ­cVÚL15éJ¥Ü‹ÄE‘pÜ ¾¾ŸÞü§OÂŽí»˜~ýOilÚæÖÕ7ÒÒT @F¦MkKƒÙp?±æÒÒ;Ê›‹73lÔ$†ŒŽ®ëˆ¢HVv6û*KÙ\låÏ/>Î)§L¢¶¶–î= …Â$b "„ƒ‡(Ýþ%‚jGá6o)EV–/ÿ”ÓN¹ †,šƒAN0’d,A,™ ªr‹W²ê‹lÛº—Ý»j©®iÆ0ÌÖPucÊHw†~9d±ùŒËEÒ¥´›¾È#Ê(ªjw>* ŠÊ8P¾~ý²øÝõ|ø^1^â¡¢t ‡ªàKËÆ¯¥Ók&HGŒ@<ØŒ"f™™Éþ*ð¨ÁÆÚÔýôïG^z€@¦ÂС£xøá‡È—Maa¾\Eßc©««ãôÓOãPmœºº:šC:^I¥î`ûʾä@í^™yè-{IªõµM,[ú17ßXAL?D ­€`´‘ªï³¯t'Ñø!>]¶‘5Ÿï ´ü BkÚŒˆ(Xq@8LÑR¦8d±‘t)¶&hHªQ’H*2ªª` !TO!¢¥ÈyçÝ¿³qýn>\²†%Ÿì@ó¦ãõé Ð?“ܼt;-%-›¼B¥»J°ôFJË÷‹Åغu3sóÛvoAÔÀçÍàùÿH~NîýÙ,zä縈±aÓ§œ=u"‹—¼ÏϽÝ”‰SZ½‡m[?£t÷v‚-! c3 Òhhh¤Ÿa¼õΘ‘(¢Ë+Æ®«˜ûû§(ÝsˆÎúp¨±‘}åíH6LA‡£˜\öqÎ|ÙØ¥hivê½$á×­Ñ,»—¾¨s7{¼Šj ™ôí=œ??÷<3f\Ã{ï¬ç­…KˆÄaðÀݤù}ˆR’‘£2xxòrºñæ¢Õdegáöp{-ª+už~ò=LQÂï÷£ë:;K+é×}4_v1·ÝþS²3¼T×è$QFG°>ÌÆ›©©Ün4P²s ÙW^Jß~ÃPÅ[·—QSS…D'`!] »c¢ Ge4ÅENnwZýª*ÛY7 ³9¦©*;ƒ¿:†(Š¬Ûø>‘P#¯þím–­XE~n>^Ÿ—¢n'±¿n7…Ýr:l0·Þò ~ÿ绩Ú_f›gš‹¦pç{ÙY Û·ï#Ž"Ë"cOAUU%j¥êÄ0Ìv$‘…H8ê¥Ã×@+QDQä½÷³fݧv„©¡†ÅïÀ›o½EKø wÝ~#³fÝO}C#y9…˜ÈtÎËà‘ndËžƒx=¹ÌýýsÜzÏu¬übëַУW.i,^‰a üNÚÁ‡=‹+éãg÷<ɲeKùå~Ë‹/¼Jv®Ê{‹Þ¥¥î¾çf,³†`8ì¬\"ñ:V~¾„%­eÝú*ô;‰­;vrö”<êjËдN”î®æ•5+¸ÿ[µ4`ÄP…U«? gמ¼·x “'B§üî¿ÿ×L<íR6oÙH’8÷Ý÷#|’B}S ¢¥ŸÛ9¥Q ÃdÕ~Û\õ:YÇž,Š;=•Ò"‰¢" &±ˆÄsx•³&]ÂyçÞÂ-·~|õí,ùG K—®ÂREn¿óf"á:î¿&wÜô4ï¼µ E5¸vúî»ï*JË6sóÍ?acÉz®»ö§¼±ðmš‚h dçt¢¡.Æï~ÿsúôÀu×ÝOFŽÎ¡šJd-pI^W»v®aÆ­×3aÒ0Þ|«„ªýa½±Žó/9½eÕ„¢‡¨<bÛ¶½ˆ–̶ͻ?v zØä¹gß§[×Q”îiäѧflÓKPMÖVÍ 3 ·¢ux²tø¬ãÎ]d²²²ÈïÒ-•ÿ¥ªv]46WÒ½pª_Dvéì«ØˆG+ä`mEݺ£Zȇ»ï¾ƒ¹sÿHï^ÝùíSOQPTH$èbæÝ³è߯3üüYdYd`¿n<·ày<ª‹×ßx‰.]²Y¸ðĤLñæý:Ô@aA ºúùxéþþÊ/¸éúŸ1õ¬I<ýû?°cÇë(ݳƒÌì|>ûl%5uÍlÝd_›I·æ¥¹¹„ÞÄÄÓÇãKÓˆÅâI™eK7òÄ“òЃ÷“““Áæ’jn¿ý"^xn Mõá¯E¾Žtìëj:nþÚ Ý!Ë´ †ãófÐØ¢ã²|hJÝ”Ð4CuuuëŽÇëÆÐu"¡}Ä¢2Å[—°råfß5Ñï&Ž2tp½û `ôè¾Ô7ì§OŸ^|öÙJ‚Í& ßü‚HKïÿã]$)Asó!²rÓxó×8õÔq<ùÄŸÉÌ, úÀ.-‡ìŒ 6¬ÚB\°Ç½Ä¢Q1Í999deûˆ´„3~Ë–®dòä‘|°d#7\ÿ#þºà ^_øszúú&OO$EpXI™†Úf’(äå¸yîÅOŽZ7m}+G’§©¡©C“¥Ã›a ‡\47%1"‡gŒt+I,#Dz¦Äiúã2£Ü~ÛO(Ý_Ê‹þÄ3ÏÌg[Éî›3ƒì Õ‚M›ËYôö‡„Bû‘e™·.¤®&ÁÂ7¿àý÷_AOÆèÙ£/W^};7N€=·Ö‰ûïû;w7˜d¤÷Ä•ÔÙ°jKªï#"I"}úô¤®>„nŠTT†èÝo••UL¿îR4O®í+ œ÷*‹?XÈeW\C2éá¤Á½‰†,y%õ5ͤûU<>ƒsÏÌK[žª‡éW_Ž,‹íHâô¯8fX;Í’Õ)OM£S§|V¯þœåËWQ^¶‡¦æz›9ÿÜ)Lžr Œ/Ïí;÷±c÷>Ì8 ހ⭻h Ú2_Z𥻋ÉÌÊ#Ô¢pï¬_¶‹.Yq  /¿öÛ¶³~ã¶”)5yòH>zïKâÜu×4žýó{I{jÕýúRV¶ÁT°D“œÄª5[¾f2†É¸1=©ªl¤º¦™Ç»®]3(Ùº;v±hÑ&„¸Ù®32?'@$Áh{íáñº1[ì°qMSÇÖ,>t|êø3Sk <ûì üxú¥Da$Y"‰bè:·ßú 5¡TãT»AnÞ²œ¬LÎ?ïæ¿ø.ª3n~’ó/D/K—|Af–HC}ëÄuqÑþZ·~½£ñC”WîäÀþ(¿·Õï&SÓy÷íxò©{yÿí%,]ú%.âœrêQ}`VmADIiÃ0Q-;ló«_?Ŧ]D·î¸çÞß~ÍIJZg˜TÓ€œÎÙìØV–"ˆ¡ë†‰¡ëüíçéÛ£» ëè`Äb±Á`Gæü’a£Îgêä«’~¶oÛÏ“ÇÚu+ û¹ãž+)èêKi‰„a7Ò¿¿ð.îáÕ×þ¾‚'~ñW9l ½ûе A5SóKè¸ÕlV^ÉÆâZâƒhÌv°5MçþY·QV®óâóŽ„cPQÙÀÇï/#;KeÚ´ÓÉÈ ÕTºû®ë1z< õ&ûÊ´#‰,‹6AZͬ‘ǰ¥xBÜ&[$eû¶Ïx÷ÏòÐì¹âÊ1ö Ç ëèfØÓ¦‚l’ˆ&ñxÜvîÕ ¹H$eDÑž›KS’ÔÖÖáÏ´§{ýÑóå†mqÑïæWOÎáÎ[f±¿¡” c&ln -=“Òòƒ ì×’û°â"›Šßâ±Ç~NA·B~ýë×øÃÜ'¹ó–YÜ7g/þ‚¬¬Lê+èÒ¥áÃG2bäpΞz“£Y:21ˆ(Š $pIj»%TÉ"ž°É“žÞ~vË0|È(b‘&̤ .•3N;“²ò-”–ïB´dZ"&²$!==ÑePXÔ‹=eû8ç¼±Œ9ù4&N8‡P4†hÉD" òóEnºiº)rç]3øíïþŠâÒ¤+ôê2ˆ)ã.#–4ðJ*Ë–®"n`Û¦/¨ 6SQ±‰%–0 __ û'öj‹ˆ ö›.þáõ\vù­È²È·_A·YTÖÖ’•å§¾±‚XTàg³FmM_®[Õ¡Éâ8ø€?ÇŸ“ÚÜnšæÆíöØkÞ»ÓÐ47’¤àvÛÛ¶{fÝè–i Õ§–òîÜ¥3W]s%¿xâw̼õ|>?Õ…ÇëEí 1‚5Ô×UÑ«{7ò;û(Ý»“P(Œ"š z˜÷ç…¬Z³Ž Gðû¹÷Òw@žyæ>ÊÊK0\fëôD"q‰8º)¢hiø²3éÙ'µk¿Dˆ›l/Þ–2¹Þùð¯ª™Š€‰–ÂÝw=ˆ,‹¼÷öŸQÝ ¼JÏî݈DƒÜwÿϘ~ÍÕ,˜ÿ:“&Oq¢a8øZXµm;ÒdiktmÎ1Àïþç/¬øôc:çr¨©Y4i dö#3yçýEœL]m›Vïdÿ¾Fæ¿ô±è~{N2T=­++›D"Q|>²˜ÁÊ_ÒÈIüöO3IOW¹vúYŒ;•Q#ºðË_Íàw¿»•Åü‘/W/¡¹nNäâi×2uÊE”ï«çG]ÁŒ›æ «pÝO®ãå/±võ:‡,9”v›)è©ÐjQA&†a2öä)’´Ùý¢¥j¶Ç€„B-4ª& Rº«„Á'M%\g2hÈ8òsdxí¥ötÝ@$ŽaHªÌÌ ¶—ìåÅgÑÐÒ@0ØBõþ½”íÙNMM //XÌÜß?ËÔs&R¶w7ššÅk Ÿ¦tÏ„D’X4JKS-–Æ báF<ªÎ•ÓĦ-Û¸ü²3õÌ+¹ïgk1˜;÷ïL;ûJ®½â.Ik7¬ )XÅÆâ/p‰¦œy2çOǨ1Cøð“ôêÝ‹µ_|ÌÝwßΤYÚú¾Ú_áÕ`Ðà~­‘®Mx5[³\yùüêÉùá%gð÷WçÑ¥S†‘ ??·7ƒÅ‹ßAµìÐîÈÑ£¸ñæ«< ˆfërtI3ŠbA,cР¡˜ÈÈšNYÅnÒ2òìÁ^h~™ k· ¸Òðù 8iÀŠ×•³aó‡ì,ßÄÎ]ëi ×#Ë•••Äã°ní*dYäƒóà_ψÁ£hn‰ƒ” #?—`´‘A{ѽG_$O/¾¸€¨u5QΚ|%ýûŽÀŠ»ˆG-’.•»Ê9iÀO–ïà«©¹„E¿È¹gŸÃ¢·?D7E–-] Ø=ïáVÇøÝw—òúk ©««ã7Oßß¡P=JMœ}þ%çpà W"&cüú—sز}‰FnVHKKÃÐ5"û£Äuøô³P™>ú˜¸®³sç.êîgÃÁr2ýÙtî\DÒŒ±mëv‚‘&Üj6s¸Ë¯¹œ!ƒ/&ÖÒDvV6 ‡ªÉÏÏãÔ “xçÕõ¼ùÆ>ú`9çO;Î$^{m'A4£w¯^TU•ñчï3ù´±ˆ.Iµ?#Ä;‹ßaÓ†Í<úäü ‘ áhÇK®ytíW€ËŒ²yÓºuïÄÈáC‰E.þÑ9˜‚Î{ïÎgÒéˆE9X[Š ûX¿i;iY^<iyxý] yýÅ\8íJæýåi íé•ö—7áÓx}>‚‘Fªj+©>Xæõ[ ‡xþ™¹,XðwÝþUUej’ýe%¤ye’®×\w †fô˜~46äÔÓ¢)H„ÙS½í[V‘æ•Ùµ}3999œsñh½½œXÐdñû+Xøæ"N9m}ú¦¨¨+ëÖoàä‘#¹ñ¿ncð‘C:òsSKf¼þÚÛTT”# «V~Æ„ 8š¥£W@\€5‡¸áú«xæÙ—ñ¸]ì-;@açΘ‚Îõ?™FQ7›6-£¡¡Š‡¾—`ØÀ¬/ç®;æð÷ÞâŒ3Nçý÷3iÒDzõìÁªÏ_cñ‡o1õìðé²Õ\ÃhöìYÇ#ÿ7—_q-9yòrÒilŒ0ëGHÓÜpLš2‰©g^ƶ-ÉÏíÉ´ íPíúMÛ:t·ÞrñXo.šO×®}9©ÏDzè>&M>ƒMë·qùÕ7²rÍ'äåödÀàáüî7™èºNa—þoYI¸%Œh)jLЫgÖ|¹œ ¦ŠÔP\¼=VOAÁŠºe2pPOzðW<üàLÂÑ}úævx²tøNɺº½<õëÿ¡±¦ Kñ§Á£?ÎOgÌâ­7ç¢ë ôìÝÎ9]ùbõ6†ŽŠ*x¨«ßGS¸ž¬´\LA''G")£ Qn¼i?¼ä>Ÿ— ëVóñ'+Ñã!4gRJG³ˆr) ºá‘ý$â!5'2üdkˇBäæåbèÕ0zÌh5°pÑÛÄcq®¼ôÇTÕÕ’×)Ÿœ@>–eM„e™´´4‚Á •••ôè6˜`K5FÔ"77‡êÊ2|>?{p¿xò!yä)™ó(‡škðkTUEU;OMöi©§)\$JìÞ»‰Ã&k1‡ÃäææÐØØ„adee‹ÅÐ4Í^¬ÕŠ`&LÉD×u4o¡PˆL¯|ò:Æœ‹×ŸÅÁƒ%hé~S¦¬²”K.¼”g_˜Kñúm¬^½‰³Ï™ÆÌ;èðfX‡wð—~²„Q£ÇЯGjš?ö ̘æIGó¤SQYM÷^ýžÛUð’ß©ñØkoÞ‰ªý•9þ–ª*»CREÁeù·¸P…=zPWQE~W7º['m¢° €[n¿…é×^ž™óàÃøý~TÁ&JLw!ˆ.D½€œ€ÝŸ3zÈé›Zp»Ý´ÄšˆFcx<,ËâÀƒHnÐ-;õFT”3°ÿPL#Œa¨$,™aCÆáR2QD“[6àóûÐ{ VÜÅŸþôÒÝFŸ<žÞ}òéÕ£/S§öíðšE¼úæ{æ:Þôœ;vìà…ž¡gÏ®xÒÒ5bá˜EFN6ŠêÁ%*tÊí†,ªxýé„Âq$IÂçuáv+Ö®û$Ìì\âáii~ Ã@·¢(’FÒ¥"«ôXÛòÝöøMÓðºýd¦g¥2žU·t™H$ì)fË4qk‘H¯×‹ª*x<tÝ@QlÓO½ÄÂqôdËeR¹¿¯×ƒ¢((b’KNi¢D" x4"nŸšŸ¦úƒäf¢ëM‰$™¾lr:uÇëÎèÐdéð~Sc5uŒ;e,……ìß[žZÒºª¢”eKÞfûÎ/iiª¥¹¹™æŽSS[K^n:ýÅëÎEUU† GVFWd44M#m"m$®ÇQUA‰…ÙWUJSضÿ÷•—ãv»Q…ææf8ˆ( ÄãqLÓl·ÄvÛ‚KöbI¦i‹ÅEûg´Ë hšFKK >ŸAƙӅ@Z™ìó¥ˆÚi ¶ñáp˜–X$D"‘™ÙvSRЈE÷ÓÐ\‰*YÞ sÖgÉÈ¡°¨ L>c$DD ²ó ¸ð‡— ëº½v‹˜KR±¯f¦+ÎС#é^4 5?¢›¢ÜBLTôh3¸¬Ý‹b¢â2‚èºN"B ðxÜt+*Â4öÚ–n7v˜¹mÄf,EVLÓÄ2M \ÈŠD$®ãñxD{±!£uõ2‘8^¯—<:#˜v¶³•pÑnÆï÷ƒ$!I{ËÊÈÎ Ø ÁºçÅÕ8H^§|\±™Då$»v­±ëÊßË!KGFn €êºJòr2HDëÈÉ/dáÂW4h8ëvoã”ñ?@™ªßC·¢¢Tư+iGÐ-õ ¬¯Æï÷SSSƒß溺|+Ýò;¡›ÍMõxÝ"iyh~#b¡ëÑh”P(DFF•˜îBsÛ£5-ËJi“6hn·m:y<)‚©uìu죨ªíä»Ý¦i¡(Ší‰n,#LvV>͇¯uVÖ ¿­©fŒ3J"aç¹É>¢¢¡(ît'tÜ‘CÇ|›Ð±“HéÀÁ Â!‹Y8pÈâÀC²tPÌÛûí¯ Ì\rô{çÿ+÷ ¦KœÁ!Ë*–´6Ö%°dfêèÌ@€©©¦Îcê¼½íšð¼½0sÉáFÞôtÏÃ×/™ÉÌÀT¦ÎÛ =zµ'`^‡Ï-™ÉÞySÛ=ɵÎáå?©{èõ?` ‹ç·~á<½á .ÜðOüéf.<³{öÚÇî`ÛÅnîKf;›€)ç”syzÃ…¬ÝYjeª}ÍÔ€MŒ¶sóz>͇g~ìåþáf¦2ŸµÎòo†Ó)éÀÁ Àé”tàÀ1Ã8pÈâÀC²8pàŇ,þmXÂÞyS™˜zÜ2'rì° §WÞ!Ëÿ§~ÿIÀáNÈ@k¯ûÔ@ •Ú250“%3v™#ÒXÚ®™:u^»ýcÉqðÝÂé”tàààtJ:pà˜a8dqàÀ!‹Y8pÈâÀC–ÿX躎 ÿòöØc}¯å·mº~ôµé{ì±ïµ|‡,ÿdddL&º}\ÞB‹!ÒbˆÜðà Ç,—L&1 ã[ËO&“ÔDj¢á„øÈO&“èI‰CdÞýËfd}V{Ã0Ž{]‹!¦îó]È?Ñz:–üÿT|ïæ:¶¬£Ïæ~¨¾™;Ÿ{€g¿3þ·ÊH÷¦0ïÃ]Ü69÷ß.`wH#OÒ£“‚e…þíõPqO$iŽ%™¯ÿGÖ“C–Édò˜?Ҟ퇧Rij‰àý'–H8žü#QÕ •ûgä÷ùÑid¬ùÐP_ÿòþ™Æ<²¯ŸEk›hÑ_¢õt<ùY¾CÍ`4×Ò\[Ιg½ÃŠ^ù·Ë¿õgO¬ÞC¸©ëÜ?~'šeÆØì:pS- -ë;©§«~ò8Á‡gnªåûãd=9dù‘H$ƒG=wãÔþ0µjÿXåþYùßvþw*àñ[Ï;á{x½Þcž;î{œà=þiù'XOÇ“ïå߀¶U°ùã=œhØ¿ä³,Dz,.íÓ˲èÓ§VÙ|f÷¹Ô^åªu³÷ËX>»–µœ>³—Ûe¿Á†¶,‹ùe¶|»üòÃ÷Xn1{ö¥)9Gnó/íCŸÙË¿Qþì>—2ù|Êæ_úµ÷˜Ýç°ìKç—¥žÅ²Ê¸ôÒùGÜëRÊ,ë}жgo“}éü²v÷³Ÿwyê>ö½,f·–ù&ùmåûôéÓZÏVêùÛêß*›ÏrëÈú<\ÆñY¾c²$& ×¼–%”,žÅì3çu†2»uµ*‹$³ûÉëCg1kï8JfÓg¥V´:¶ü¦ JJZM§ÏR÷ØÍnÎ\¼€YÓm“êáÏì)ñ®>µ‚+”pE«©u\2’Ä,¸‚¥WÀÞ JJH$–Q²xŸó!3”D"Á‚+º¤ž¥ßeK)yybJö) °ô²~Œÿ»à¸òMópý |fíµå&‰Tý¾l׿¿©sÀÿ£G¤{KÑî=ËA¿ É÷^ßȼ¿?À9ç_PøûÞ&àpYˆv‡öÐ@U¶?Î Kn½Õ~üKv½¶õ™³ùåƒÏÑúÌÙ¨ç=LJžÍU‹wûý÷S9çüÛì-~YQxø(ûùsLcÞâçøùU3›—¸æ½l÷÷›h­ú«>|˜i³ŽeUÓ0N©H@ðÿ’$±mgË€Ç^òæýýsþUœðÕ«öØVUºÂ}l«kðܨ"“ïÿèöÂÿ¿½ûF¶Õ ·\YЀMÏ>a ¶r\M–sοŠßÞ}cáøWGV±iÞJôë]¾»Ž8²ÙlöÅ-{=áÓÚeb¼¸¢Y|àKàå<Ë)_9÷ m;ºÒËö¶Ï¾,m~»ûN:œ»®8æ3nm›.?~äm¾÷êû{ŠËkµ‹wW ÿ2”¼Y•çØI¥âªà³Ù0xs]×@qéOW8Ùï¿7¨,=€¶e¿æA®eÛŒc¸«ëí}:ØÛ?psÌoâTþà Ú~3gלZz / Øßÿòù÷Dýñ\2,¾öñnäk;ÂÜ0jOíøñ^_óI¤ø° bp07 x/N&MñÝÒþÇxC|êÁ—Žäp|²¸h"þ 7¾áòá  šz¯ãã`{Ãï?ñ€Ï¿€G ©ðèY>nç nüíIHÌ@Sóûk`ôÐ)\0Ý~ì‚ñó™pÌ2¶7|‡w?ÞcW0zT¿4D8ò“Ž;ÿ;Œê`{CX0`¿ï^¼œ 7-ä‚Üþ·ÝÇf䎙Ñ”‰ŸóxpÇ1>î¸ø n¼ê$N(o'Ž rÁcö5ÙÛk¶ßqüÇ¿Ì`{Ã[Ü8ôØÝÞ‹ÓsïÑÀcÁ—,l%æÈf³Ù7ÖîJM«)óŠ«$‚ÏD‘WaéΞ·\ŠÜ¢!Ÿ@ >#™Ú¡€å‡õ0@ |&ú‡]lqÉý#´E Ÿ[\ö´\„é"‚/j¹8vqQ@ðEÅe7ËEr8r.1a¹àó!ín¹H¹ÿMqm@ð¹Åe/–‹@ ÿZËEâ"‚/(.Ònâ" qÁDâ"‚/]\!.@ ø‚({Z.â¢à‹Z.ì&.²°\@ðÅEvàÀA–lN\D*²@ ¾¨¸´Ä!R‘@ð¯aTd¡-û'óçÏçÎ_þœD2ËéBõ¸³&ñD—.‘L¥<¨¯×“»1‘]:~Ÿd2…Û%!eì¥.¥ö"sÁ@§î ó½–—ú0Œ]ë¯F<¥´8H*+a$£H~'e~{òÉ$TY 8u´šS"›J¡ëza"Òtj]D%/¦aàñØ"¦è^È$qz8R&jNL¼†i‚äD–e$UAt]'U÷ Y–ÑuÝgÚ"e¤Pd¥ n·̲7¡±, MµÇ-!!KýA§ ’$ ˜„ûOì’$ár9±¬ étº ý@’¤ÂR±–•ÙCò¢Ù_h>Mdòcé¿}þ¸š¦öcY2nÐ-¬´UÓ´µë\t]'•JÆv7BUM"Ëòç.Øÿè¯% @SwB\•ý§[Áí¶'N]³o;¼^‰d”ÊAƒH¦c )/µ­§„¦–DÅéôô¸IgûðxÜd1 øvY^¯='.~ ÓDSU2h¨º†¢i…cã ¢ZöS•U4—-4–â-Lø2N·{€•¢( YIFîg•蚎œÍM€¹†y22>§k—µ"iÈI•ÁîwýŠ¢&äüsý'ûL&ƒÓé,¼^–%2™]Ba¡cª¦a¦e€C&wª¨ºV0d™‚Ý ƒ$ÃÞ¤C’þþ$t9U«üøL3½WëDz,[l-л,4·Ë¾æ)þaè/ÀöõÔ±,Ë~´O·ÿÿÒJuQÄåØ¿)/䄞ó·$E—ð¹üdöÌ\äÓ Âàö¸±¬Eþ —-¿ŽiÉxúMüþ€ +ž@sú VJ^T9áP4d)X&È «dY&™LâñxÈOSªª•œd¬¢å,’¸e¢kú®ÉTrš{«ý\oy!Ðuýc]KyÑè/.{¸È”_™¬CYòv ˆ¤ê¹I×½ÚïN¿ÿߟf1í áÝÍÕ·ëîœpåÄ 7¾¬e‘ɽÖ!ƒ¦˜…óÎ_7YÊ +FAdtM·]9K0m¥÷p;îÁþŽ—ýœL&…ËéÅ‘»Å×uMÕp:í ;°-‹@ (çšR1ûµÏøí×yÜî‚ÛKSU4E¿‡¬CÓsg{íXЬy ­a ©È­0Yʲ\8^ÞB‘¥0ee+ç>Ò³nä¬<`¢í/yWU«#CÈd2Hª3纓T-÷·\¸ûRåOž(%Y »‹ÄÞ®¿ìn1}Z\åãD/¿¯Ý×ß5×âÏ_çü8LpØB³kŸ¶å§*¦iÚ¯7sÛ«-]Ó ®4@ˆ‹€Òâ`~D÷ºé‹D Ââv»Pe{R2MÓŽQä&0Å¥S^VБРé>ÛÅæt’A-øäãóî/ÉI:¶­—,ÈŠÙ!#kòAaY–Ñ\E†Q˜ “WÚþ_ÖäµBl±Ô .!UU°¬ º®\DÖ>ZûjaäûizY–÷:æþq”½ÅT>-Ʋ¯ãÚ]l¤~ç•égy8öû•] ¨\rƒÛíÆJ[…÷&oÝ„¸öc‚å%tw÷L¦ÐT Éa¢ë:n—ŒÛí˹D4ÀÀ4MŠ…î ›Ú¨Í‹®ëX䲺rwÑŠª ä¬-ëÎÿ­ªÊ®;iÍ;`Œš¦2µäL.-eX$»»«ò©…>À%„ Ö>ŠÇîîžOš´?ÏD¿»5²{ÖØÞöÝßõÕß"ù´}œÈiš¶Çy摱¬=2Îòc4±‰Áº»{(.'»\c±Xœd2Bqq¦³-Aå$ã½ø|^ ðcý2ÀR©n¯má¸eCÑm‹'e$gÁBÊge%'2»|ûVÚ*LZ*vбi™… {&“!ëÐqÈä»ÜUvp\þ VǾX)Ÿ&&û"6'û²­eYŸhÙì« à}ˆ‘|RJ â"د®£dAÉYÕ%¡©*ª¦b& bš&^J:›$ÔÙŠÇãÆ0L´\€¬ƒœ«wÉ»ÂU!›ÕPÃ0ðú¼XI@²ÝY‡FVÒP&È.ÒÙBP¨%ÉY*ù;ç¼ð ¨+éWÃbRÎ…öI"‘¿[ÿ´‰úÓêJ>«åòI–„Ãá ޽tÎÈ¿.^Ùìg+#ØÛùæã4ù”äþ×̲@–Ì=âA*ÎBüª¿8í5©@ ÄE°ÿáv»ˆÇíTt_'Ú“‡f L0쀷Çã.Ô:¶Àì&,yW˜šÕQ5xÚ$`%‹Ñu=7Á÷ËôÊe}õwíîë?1Ú1“1’þ1“üD·»Û§¿XíëdÜRÿ"ì.t»OÄŸf]í>†Ï;¦Ýc/»÷qõ/òÛ„FU BÓ_¬B\û1ÑdºKÇãqcæ€À­ªªw˜·H/¸½t]GÓT4݇G÷ˆ¡(ªR– n·Z–|:qþý«æóÁ`MrAf—dök³@.Q IÖòÿO¼÷–A¶· óã\Sý'oE‘I§÷~WþIÏ}V×Ûîd³ÙÂ8òÇI&íÂÅÏ;‘;Ž=¬žÝ·pírWûãâ/™L¦`ÁȲŒÙ?P ÄE°c»Àì”c[TlW€?è*X+¾\‘¤#­àó;QrÂâöæ²Î$'ªlJz<ž\€^.Ë€ÉÌRqúÔ=Ü_, õ‹eo}Ö;ùOšØ÷E<”ÝÛŸGpö&ZÝÝݹëïC’$TUÍŪv‰š²AõüëGÁµ¶7÷_^,d$,k—[LQ”B1f‘É'Uì-¹B ÄE°ŸQQQN$ÒîÔr®)]ƒt6‰Çcçu]Çë+FÍ‚™QðøÝäïqÝ‹aš¸Ý.Ü9aq:m!q:õBñ£¢(»\cý²¿E!CfÀe+‡ëŤÿt&“AÆÀ¬äÚÃ…Ó{Ó4‘$ ·îÀB%áõz°Œ²æÁaÚb’U³…‰¸¿ÈìÍZI§­ÂÿŠ"#çê†d,ÔÂ>“™º®‘N[…}æã,‡£ =¡6[Dœ~$I¢¸¸xëh÷ÿóÇÞaÙÝŠÙýZpÝõ˸Sd[tLÃÔB œaÏþY¦•Ë“?ݽ%IŽLM¶û¢å{ŒI’„†Š)ìu•L&QUG&AggŒ[n»HÒPßHSc³;˜£>’sÎ>¿RŸ°wŸØó¿¦…,&Š"ÆhmÚi‹½Äbqû¼LðӹWdâØ°r_ÁH_Ÿm™øíŽAÿ ‚ÀíM<ÒikŸÄäã,«³¨v·`öÖȲ¦*g íd„È„¸vY.ee… ~:›D÷Ñr‚ÈvlÅér¡f²drÂ’¯gÑTÇœÕÑ´]•ýYɉGVIËRAtMG“\HìMÓvMhªg€¨ìîòú¸¸‰äPÈäb3+Ëå$•2ˆ˜QTUE×5R){R7 ƒ"¯Æ¼ç^䢋¿QØÏÈaè­¯ç£uùhõ"–.}Ÿ»~u?é½t÷ê?áZ–…[w°ú£eT )AUm!4´ŒX,Fyq6n¦ºº MÓ¨oê°z&zÙ¸yC«ÆãòÓ×ÓAQQŽLMÓˆ&¨ªJ2šD×õ= L•ÏYWòq¢Òßzù$¡Ø£Ý 2YIÉYw{d „¸öcŠ=)8ÝEK%?ñ“›´?NXÝ‹…b{M$'f®M¾GÞÕ¥X×u0edIàŸÏwþ8÷×ljÉîÙïÖ‚ªª¤Óö„ßÒ×Îü'Ÿçw÷>€Ë夤$ˆÓ¥ñÎÂ…Ä’°ê£wùëR^^F,gÆÌøô«W°eK7K—<Åw¾se%^Ú;zH&“TUÙadL4ÅA{{;áp¡ž6;ìdTUÆ4­¿¥TîÚúešššñ»‚TTT i-44m¢¤¤„žžZ}⟶«.>ÿk 5ÅëùÌ1•ƒÚ[aiÿÄ @ˆ‹À·D±;XÈþRû'å&}MUñø|¤R©œ˜ØùÝA䜵‘Íä³ÁÒØM$eI¶;«’*¡94]˜†,gq*~:û¤"­´t6áÔìõB\ž ±XÌîK–ëý•ÿ¿vZÆ¡áv»Qqât:)--%«¤ùñõ?GŒ»ï~U•Ñd‹ ›íIßãH+}Ì ÔŒ™HQQ%%%,^ú ;·rß½1rè8&8”;n¿‘òò2æ>ð~ô£ïÓÒ¦´¨‚3N?…kvàö¸Ð3@ʲ{@ç~O›6•D<Á”©SøË#ÑÝÓHF óÍo}›†ÚÖlØJ¤†D*ÞÃi§Íáû?øM4wv‰DðøK)//CñÛ7YµŸ¨~ö¬¬þµ»³Gšs&èŸ($j\r1/k·mB\û£¸h*¦%£én|º“d2‰æ´Ó‹ k±hI# Ž] y©Ù]ˆÇã¶'Ùe[*¹–÷…Ê{‡Ž[u7“ÈZ–¾D;u;6£ª*~¯]¬i˜&N bÑ(cÇ€œÑðøK°,‹TÊ NÛ=Æœ»Ò¡ãñ8ŽL’¬$“ÁIJTÚÛÛ‘e™Ë¿þM™$W~ýÚœ0Å “¢Ó©óÐC0xˆŠ!Sùæ×®á¥_â•×_dÖÌ),\°‰¦ÆMX’ÁÖÕÛ?n:½ñnîûÝã\}õ7X³j-ß¼ê:2)I— '…é4£ÛÖÊ„)£˜7ÿ)L+Ì·ßÄÝ÷~9£ÒÞÑË‹/¾CwÈ¢È+sÃõW0|d)Éd’ö¶&žxâ7Dc&›7oãÎÛïÂ4[Ù´¥MÓ(«¬¦´È¶zòñ ‚dÕ}›þqš}IŸ–Ií“X¨Y °oFœ¢ÎE8²ÙlvÁºÎœÏfÓÄUÙO˜?>²´ÞžœN2ìÙó ú¥³«ŽÅãõV‚t:í0y—Y>̾»Ös´Ù¤nÇæÂDé÷ÆéPp8•Â$gY¦iât: )²ý›,š†#›"•Ê­š¨Ø­ßuÉ](æ“$‰h4J*ÿXWNþŽÛ­;ض£‰cŽ8žÞx7}½}x\;vÔ"Ë2EE~6oÞÊòå+¸åç·°³µ™W_zööV­ü€×,åàéÃyåwxêñ¿2ç¤ãñ¹üI6n\Ë’%«Øº­ƒ¯œ}(Ë—­!Ô%–„'âÊ«¾É”©“(-ñR¿s+­í45m¡¬$×9Úé#™L2¨²’š “13*™”£ ¼>ŸÁeÕX¨Ÿ)À¿7QÉ׽䯹L Y¶3™$–•ÞÍŠQÈ*iB¡mÄb1ŒÜ¢o7tŠ•(÷C–Õb=Á.ÌŒ¦M(*0° ’·œË“œXä:ç,r®°| <_§bÙdëæ-T „[õôe ‡æÜÃ]“ïZœN[…´Ý~ªG:g¹d2ÒYEM¶ ‚“ÊÄ÷\‘²_Kø”‘*4Ã$-3¤jÍ›X³ñ#FV"Ò ‡Îèa5ttÕ2tÔ`ªªÎ`ÉòEpÀdÞyç ÞZø-­ml\»•ñ$êã´3Nå‡ßÿ.ÏÎ{‹›þç‡üúÎ?±|Õ‡¼üÒ«Ô×5ðäSó9ö¸hii "X¾kRÏù"‡V+IKg#RÖ`Íúõ$( F ভµ‘;ë;n"mõÄzT ‰µáV½ø½ƒñ•~¡Ï‚ªÚB/Ë2ŽŒ…e¥‰Æ[èèè ½­d"‰Óå$XÄívãóùðx<GOÅår¬Ýž_,a¹ËEX.õpûŠ1s«'öO3G:z®í½]rãt:qäâ4’,“±,œZ¯KaÕºøƒå 4ËJ3íÀ©LžZÃøšœ|úL?—˹›KÆàþÉííµÜJ*Å{ãÝqÉWþÇñœ`Ùîµ¼•¥¤3h~/￳€¯œ}&ÿxn>“'O"•–ºg àö”s×Ò²ìjüp¸‡D,L]ÃÖ®ßÀæ kéì좡¹žë¾w¯°\„å"ØïÉî5¤‘[Ï^Ñp;ÝRv@|%_éñ¸ ®0EVÐ$»Â>›–|-„L””CæÕW^`ÔØ¡tTÕPT\Áæíͼýö?ì ,PÆK^Äãñ0ñ€éÈŽ"ÜNTèGèWÝ?œ1£˜ýÜgùei+MʰƒÌn—›”‘ÂírÓêBQR©5‹SÍróM7Q]]ÍAMÏYOUUF™@{{¥ ¬dœaCF2÷ÁÇ9ù䓸ëW7ñ×'Ÿbãš”xGí²¼|2ÙtŒÆÆF4M£®¹–Ã=#ÑG{{ûÀ»»\q¥é°'ì¶P3ñxŸÏG*“”„¬zø†0sÖYdnRFˆ7¾N{g3³?šH,LoÊÁ ª€“ ‡Ãt„[ñù|……Ø Ã nFH§Ó¸Ý»úÄy½^&Ž=Yó`ši²éÑTÉX˜-uË u4³}{-õµ-lܰ‰”aÐÔÔNʈ’6]¤MÉÒ苉†•‚~^q öoú[,Šî¥Ø«Úíñe'Y‡†š[†XÓ4¬¬Z¨¸OgÁ“u ËŠÝ ;¾¢jZ¡H1'G¬X¶Ã0ø`ñ{<±óiüN7¯¿ñï/y·¯˜e.fñâ¥\ÿ£Ÿˆvë뢫·9c÷1s:…xŒªª¸Šòõu 8u>¯·Û…§h0E"Šü>’É©´„[VñÊ(ö•¢ù½ø]4Ù¢iÔÖîÄ’RȲl׿H&‘¾nb©^ú¢QâIÑXŒ’âb"±Ó§G}cÁbH+Ó§ÏâøãŽç¸ãŽæ‡ßÿ.íµôööñÝïý˜'ž|E÷âöðøK¸ÿOà÷¨L5›ËÎÿßùñŒªÅ¿¾•ꪑüî¾?ðáÒ$ró±áÈàH÷ÐÒ¶ÚÚ„Ã;5¦†ùÏ?ÀˆcFRTVغs •å#I§¢4ÅÚñy*(«¨â;ßýf*B<“Ä0MÚb­4wuRU2’ŠŠr–¯~“æÖmt·w±iC#·nä‹.âµ×ßäÃÖÓ²7z$‰dŒÖv[83©~ Ș¦Áùä[ä÷ë>,«žBÌ$ã°­YQP±ÌdAWeTEµã5™ªÓ`ýÚuvØÉ…@¶Ç`å’ÍL›p4¯¼3Ùáçå×_'sëM72¾f·Ýþf6AqØ ÜÓ¶MŒUE}sÆ ÇåSñy½”——Q\dPe%qÝK_< @°¨ŠÕŒ?§S'–j¤·/’»Ñ6 %{í{ïÞÍ í,Yº†¹÷?DEÙ(2¦F*ÕV8ïëü}ôq.¹äB>hÛ¶og欓\\J"&q×]¿a„ñ|ýë—G\$ ±dÕk„B!N9õR$GšüðÇT:€Tçœs<餇S«7>MéA –pïïþÀÌ™‡ÒÞÞΗ^c W Àq'ÏÛï½O{{~øQ˜0žlVç¢K. +éÛ.7åeƒikï à­dâ„C9ý¤¯ó÷g~Ãâ%/¬(ÃcvÓÜœ¶ª>ô µë—’•bŒ3ŠÒòátu´°lÅ{ ®Ö¹ìò+ùÞ¢/jä\^‰Âû¬ªvÜDÕ4â1öhe³;j¿®¢{{^ ©Èû1óçÏgò¤@!¦’w™f¯×Ã¥—\‚Û­2dè:»l÷Ikc+K↟ÿœíÛ61åài¼öÂ+Üsß2}LÁ¼gŸæïÏ>JVI3eÂT<ûÛ \zÙ5¸ËÄÌÆhh­cùÒ¨¯k`Þ¼ç¹îºùÆ7¯GJY WÎ駟’ň™´·µJC2aOˆE>ÃG fذ¡¦Á¤Iâñ¸yÿÝ·™:}"E>Åå>Î>û'¸/šl±fãj6mY‰×çÅí 2mòdþpÿŸ8ö˜£H0~| +V¬BÓTŽ>ê6lÜÌ?ÿù<'z&5£&°výF•T2fÒ$–-}K2p)^Ý‹SÍ’J¥ˆÅâX’A[ã à ³sg+/½ð*[·tªâKJ+p`b¦ 5˜x"ĸqØ÷*Ž<öPFŽ P=¬¯¯§ËN¤3*>Ÿ…ï¼IIEåe¥}¥„#]˜±ªÇ…ÓåbËúM¼¿hÇu"7ÞôGTUΉI‚¡UKèÛñš®pñXb¯¢bšn}ìþ¯é/H~à/"y?¤*²—ý\\¦8d ¥"ˤ³ján¼È«±ví:êë·³~ÃG|´j-ápŒ®Põ )Ö­~™ãN8…Í›×îê¦zØ(ëw‹ÅHebÄ’Y† ŠSö‰§)rÛÝ“}*=¡VÖ¬xå-gܘj’¦U)çªo\ÇGÈ/­@qÛ–—ý¹|ôɇxäá‡hï¬güøáTVŽÄ0Lz{:™>q4+ÖÔòÞû+èní¡;–àècfS=¼·K&‹ó³ŸýŒÃ;‘Mk·‹ÅèIƹêçpÌчSZ>˜çž}€t&B*ÙG͘)4ãxð~n¿ý^œû[?j%¥%Œ7—·GÖ‹Kñá/q³uÓZÚ:jù˃2¦f4‰Xš…o-£­¡›4i³ãæÌbûÖâ„;CÔLI*e°s{“mUº]ì¬ïfÁKK¨ZÌé§Í&#Å™uð´Âû•oÕóÆ[/qðÁÆP$?ãÆOfÆô£¨Û±™??ü&ŽA$j¯*‰Fihh¢«#Í/­Àíq% ­kR¹À½ß -¥0n²O²Tòóèà qâ"Äe—ƒf(Ô<ô_‚X‘ÌDÇc/è•_LJ6)r‹Å8÷ÜóYôöbþôèï‰Çã\÷};¥ø+gÌ`Ò”±˜fŒµœuÚy$ 5b2Cr…‰¤LÊX±üV¯]BGW=C‡VAÆÃ5—ßÉs¯þSN¹€Ù³jXóÑf.»â2>X´ˆX2ÂÖmÌžUCI±—’²RF®bê´©,ûp1ƒU°páûx܃é숲nÝr6¯ß„a4Ô70tØPb±8ƒ«Frà´ \üÕ³yõµg;vo¿¹ˆêê2V’âR»a亵«8ûœSД?øÞ ÄuÌÑÔŒKÍ„8ÿ’ (rñz½¼ÿþ êêÖ±ð½·yå¥5öõÍ@°"À7¯þ:wÜy/ÿûËk赡)îøÕ#tP9gýþòÐ|ýÊ«¨«íä/ø;]Æ­ÃUW_DCÝvâñ8n·›êŸ].† Íý÷ßÏ)§œFww;ñXœú†zÃ&}â¼^/Á@€¾D˜%¾‰•êf˶FÞY¸”ÆæœwÞEÌýÝcX†‹¾˜…‚Q—sƒíÎîb#,!.B\„¸pØácÑ4­°È–eY…"D9«jÖi—¬üâY¶¥cC†ŽBJY¤ÑP0Èèö$4©f8?ûŸŸóòK/ó£ŸþˆaUå\~ù¥Œ9’ §0lØP6mÚ À AÅüáþû‰ÇMB¡nÆŒÏm¿¼ƒŸüà*ÎþÊEtÐtd‡I,åì³¾Š§H'àrØá³9xÆl–-[ΟšÇ‡@cS3ÝL;xJÁú¸í·R¨à¯O?Ã’%‹?n4‹–,£¦f"‘H ŸOgÎIGÒÔØÄC~‚É“¦3lX%>ô<%N†ó1uÚA$#Gæµ—òÖÛkˆ%í.Ëwßs#GŸpnÕK[[;6-ç¾ßÞËE_ý*ÕÕU„»ÛX¾|•}-3*CªG°zõ»Ìœ5›Ö–'|:çŸ{9E>¡öi´BýŒîR²*N·ÂÔÇ#cR»³…æ–:?t6ZÎMÕP_ËÈ¡#qy‚<ÿüKÔm 3íÉ<ð‡ßQRZÊÈ¡“9ìØH$,_¹sÎ>€Å‹—ÓÐ-X2ûÂÞDGÕ4þøû¹B\„¸qÙŸÅåW}}ÀcÍ­[I&’h¹ú•`Õò%L?’?<ø'^{é}üyø/¡fâ˜<“eKV³rõ&êv´ÐÙcàÖá°Ã k#Ü/\‡ÆÆ>Bá0ª*sÎÙG0qâxÖ¬­ã…g^¡¤ÂÅòµ«‘3š½PX¥›ÃfŠÇëaÐàJ&NϧŸJ<ÒMO2Îsóžá¹g3mÚX¼^)Ãdá»ë™sܼüêBN=y6¡P„–®cÌØ*"á(‘H†%3¸¢ˆëo¸ŽeË–³uË6Jн457pÀ“‰Çz())&•J±dÑ:JJ*p¹\¬^»–îÅØ1å dZz¼AÛí6\çá'æO¿˜W^z‹XÒv‹õ%zöùóÔ_h„å"ÄEˆË~..‡y@Ábqë"‘’Aè’›¬C/ôpº\»: [vsÈ—_}‘sÏûZarɯ—r×=·qöÙgb¡jnÅÌô²qËJ6lØÄºu1S*šæáõKT~+LŸ]Cqq1 ß^Bi¹Î…Æûï½Ã7/½ˆÊ!c©kÜIJ¥›yò‘·HI»Ž;flë֯旿¸“;î¼—¥Ëß&Š2cæ)È ¿GÆÈ&péðçG¤··‹wß{úú&šv(™¬8yøÑéY «*&¬$n£´ÌC&­±zÝ{í–ù1{K‚¤Í>z£]í ¸Ý.,tbÑ:~sÏ]wü‰|çÚkÑÜ%(»§XZrP3f<Ÿßx`7àÌÊ.\š“¾hƒ*J™r@5šSgíúz.ºàLFŒÎMÿs UUU”{)/+¢­«•òòRBí½dQñú|d­$ÃG ³5L,§¡©™ñãÆàv»˜6ó Þyç}âQxvÞ[¸=®B|åÞßþ’o_{½mÁf>yNØ[겈¹qⲟ‹Ë1ÇNÊu¶Û¸„Ã=TT”“ÉdP\\Š—D"A:&#ÛíT’‰$F²—öö|è÷|ã—ÓØØLO(Êa³Áãñ°­n ±XŒÕ«–ÓÔÔL{g/Íuíx¼âñÇ Ï>ûW&MEYéP¾µŒ®®n²¹…ļŠÅôè3wÒ×ÝhO¡(Å%A|>£GLæ+g]F¨=QpÅ©ý::çÝ:ù‰QÒm+ h¼ôꛜzÒq„Ú\ôõ#9r,-mDâiº:û¨oî°­¸¦X)øÆU—rßïÇ4­‚µ•’ ¸D&ÒGA3º}eo½ù:‡z%~¬¸\>TÍG<eìØ‘€A¨»æÆry¸=.ün»ÝŠiÚÅŽÅ%A’ñA?>x7‡z:±N Å 5ã«)))¦½ÍîYvØá³iko§¼2H2чÏë¥füX6oÚÊÔ 3ùîwî)Ô"íM(úg„¥"ÖÇ Hž½‰Ï_}Pˆ‹!.û³¸\ÿÓË1-{r®TÆÆ-øüpþù'ÐÕÙJ(fÃúZÎ>çÔ¶ƒUPU]Å{ï¾MGGGu Ž¬Ê† Ûyñ…7‰†r¼ÏŽ”ý¸œf2“¿þí4Ùž¸¦L­`êS>|·Üö{R;¸ öÁþù.bF .§DÚÐùÅ­w3ûÐãøç?^!n·+–ûOv–d gìØEÿ UÁàŸ¯þ–µ›Ö苲båFœzÛ›p¹ü¬Y¿€Ë/=?Î}¬°dñq§ÍQGÎúM‹ñz²Äãé‚pnßÞ†‘»–•åƒ õt¡:ìsÈqbÍ8¤H$’ì¨o+ÖÇMÞy1Ë‹@Xºn€5úq""éG:‹·ÞY\x¬$èâž{DÌEˆ‹—ýZ\N9Õ‘¬•@Ó4¼õGs¤]•ŸQéjo"‰ð§¿ü‰MÖ2rÄ`ž=ƒ!UCðº»s±ädHy5ñT–¯]r 6o)#?1åk*LÃ.à+òÚõNW¾h_x&/¼<ŸX§ «gÀ[$“´oëu¯N"ᬯœÌ£½È1GÍ ··•ÉLdë–m¸\~š;iníQ{‘omÒ’~ù¥ÇÙ¹c *Ë—¯BʨèîRÞ|s!í­!"ü%Ål]½½0!0¥—vÔî ½Î=çd6oÛʺ5ÛQUŸ¦LËø‰°dñ‡lØÔÄàŠ"ZÚ{Ñd‹sÏ?Ò2EE~–}ð/¾²âSߣ¼¸Ü~—Ýùù—þNù a”øË¸ìŠËxì‘Ç –O‘êÞ»»¯ú‹„¤Û…“çž}&=ñt?ÒŠ °ú~yûϹåæÛˆ%íý_|ÑÉ\wÝwíxQ*…ÏçCÓ4š›[X·¶Mˆ‹!.û³¸œzÊ1€½Î‰Ó§²rÅJ¦L´ë(Ün†µgY–‘$;_UVÄúº‡Ã´µ÷2 **+P…t:ߣlj§²†É¦õ›xðY±jc! ïVÊOüyñ™sâ „ººxûe…É.Pâ!™3¤ºœáà u3rÔXB]vlßNK{/£†U’H&ð—ÓÒÐL(œ(L¨ §žs(ß¼úRn½éלù•“¨¯maÞ?žãœ¯œÍ‡.§³Ó($)äÇvýÍ?äž»ì¸È·¯½¿ßÇ/nü#]Æïõ‚üª¦áÒœ$Œ$ñX‚’ ‹)S&“LöQ\\ÌÖmÛ))®`Õë Ù`Ÿ„žÅ ±$Ì9n /¼ò&fÜâ®{îâ¶_ܳG%}ÿ.ŸÖÎe÷ê{·Ç…I x/F Ó8óÌsˆÆ >ZýcÇMàƒ%KI$L\.·³˜Õëvâ5¢ˆRˆ‹XÏEP _Â)çVt‘L¦vÝñö[&8¿d¾æÅLéøÃðFEe—ËI*eÅ0Óö²¸•ƒÜöâc²Åà²*Ž=þRF ]Ó‘ÇC2bòõ+¿Î›//Dz£/<óŠÇPe’‰0–ç_pçžûŽ>æ<ê·tÑe6míÂa%¨®ÂAÓ†uÓÒÞKOO/ñ…ÔZÝ^…Ýð#ž~üÏ8ÝYþú䓜~Ú9ô´ÁâE›ùh]cá¼wï \wÍí(nxÿÝWˆ%aúÕttvò÷gž!£Ë<ó÷û¨¬BkÓN¦Nœ†¢{1 ƒçž›Ï½wÿžÎƒ÷¯,'êhó¡ë_!rÈÌé477ÑÚÞUHŒˆ%!•³¾»§VVÈÊZåeÇŽM,Zü/¿¼û~÷ ¦iìs°|v]F—9ý´YœsÞilß¶¡en:ú8°cl;ëؼe Í-]ÄãöÌqÞ'3÷þg¨®²Ûíkê²`ÿAX.Â-f[ §S§«+„ßïG–%,ô‚¨ä-•½Y1ùµî™²¬‰D Â…ìÊ­Çn/ò¥izaa*)›¢©©‰Þ¾>jÆÅ²,,kW:VQQ‰DœÍ[¶2ÿùç¸í÷póM×rïoæR(¥½a×â[ùâ¿þGF—Ù¸z #jÆÒî »§7ò ¥ÅÃp¹ÜÄSöu±, —‰t´p^±XŒ­›Ö²yÓZ–.[C$ÒÍUW} UU9ìÐChlíÆ©•’NEðø²¼ñæó¬\±Š¹÷?Sˆ{˜¦ÅîÿߺúZЇSOžÍK¯,ÙÃzéŸ5—œ#;€÷­Å4-yø÷ÜqÇ/8ýôS8ø É¸ýo–ùó^¥nG3_1Cª†³eÓ:š˜}ÄAqÄa$“IV-]AWwŒúú;l6 ¼Î÷¾÷k!.B\„¸ìÏâR=<ØéÅñXœŽŽÎœ›#F$£+×°²³Ó~<ï!O“È5¬ª®fÛ–:ºÃ!z{ºH§­BùãºçîþøìY5üünaæA³‘$ Iõ ªvÿ±Áƒ“15ÚÃ(“¢¢".¿âlnûå=Œ6ŽhÂÞo$Áívö«É¶[ÎBÇéP0Ó!Vmx‡­Û×tÓØÐ„ÛéÇå÷¢d`Ų-\õ­ïsд#@vï²¼§šå±'æòüKÏPYQN<ž`ë–L™2‰˜HIq1 ¶K­jè(œ2›á#Ʋ¬]msrâkYVaͼØöw=Ö×7¢¸ìçzzzVUΊUïÑÒÒÊo~û$›7îä„ãg²à¥%¤ÑxèÑ{8ä°YÔŒ=˜›oº–#†sù?*¸wØU 9nôHªªQ=¬˜¡ÕTö2cælZÛ:xò‰¿±}K}ázŽ;š•+?äÖÛoæ‰'ŸfØÐjÞzã-JÊ|Ð}ôèºÎ† )+=TˆË~.."沟3ç¨ó¾Ðö,]Çe—\ȳÏÍ'KäDCFUmÑØ½ïÔ®L% ¿W#N°iý*ªª‹Åñ]¼8ÿEN?õ,z{»ðûí•%‘㔕dË‘æ»?ú.O<òGοàbyäqîúÕýx]‚ÐØG‘I!I13Em]-%%Ũµ.•F—\D¢14§Dww˜@©—£=†´i ‹™‘NƒÓ¡Ð‰rÞ9—qáù_ç¾ßßÁÎúTU æÕWÞcáÂw8+ˆÇ{äÈq²RŒå+pägP=d<½Q£`!j²},t +?^Ë‚xJQ‘ŽŒÁØqÃ))örÈ´9¼óÞvTEÁ°ÂhðÌð°zýJ¾vù¥¸]eÄbq¢Ñ(i’èºN:fè „{zhìh'ífXU9áž–-_wÄX6n]Ïׯ¼ €¶ÖFtW¿ÏKå J4ÕnûȬƒÙ¸a £FTŠ/—Áþ̾´öÈØY&Œ=’!U¥4¶´P·³²²]$ÙØÜˆªÊÜõ«›øñõ·QtÑ—»cTQJCÓ®à{kÓN2²IgOe%vçá¤á ºº ˈâ+r‘4gxgñBN;éJ;Npè,šÚ3f439‚áC'2vL9k׬䤎£±±‰ŒiÒÔFUULÓ$ bä>êÑX 7h»þ"ݤ2 úÚ ^yéeîûÍimmÚ6¬—Ë]Æ{œPZì%•‰ %èííepY5Û·¶±­n ?ùÁU46ïàÛ×~—iÓ¦rß½÷’\×ÇGEIi ·½Ç¦-+9ôã¨29­áÈ$I$úrI iúúúìøS&ŽeDQtÆŽv4Å¢§«‘ŒÃJnO`¦%¾õsÿô:¿û½½D@>];–°Ðõ)2 v´÷0xÐ "úbÉL”¾pNŸJ‰§„h4J2™bëÎÍ´·Ö3xÐ Rz–ÆÎvÚšq¹ÝøN<ºŸŽP¯×Ëa³O¡¤b$­M;ého"P\¢*\zÙåÄâq–.é_®ýI\a¹(Ø?’n1¸º‚@‰§ð¼ß(d_é=fK?\ÆØQcpë¶%KÙµ$™”Ìí¿ø_ÆŽÀ ŠR¤”E¨«cŽšÁÅžI6#žìà­7Ÿ¥©© Í.¨Ô²ÔíØL<GVd²V‚M›6óàïÿTˆÑ|øábÞxý)z{»(/öpд ´·†HÇá²+ÎgçÎDãmHÙY‡ŽCË ª F:ŒSÍ,©Ä£û±RÝèD£a–-ÛÄÐaCqªvì\Ë~r-õmkéÛ¯;`ÊdЇo¸‰öÎô$xæ¹?ðæÛóÈa~üýkyþ¹—7|¯¿ö&áP ²E0i&Éd’§ûo¼6Ÿ?ν“ /8ŽîŽ5<òįinÝBW{#F²€T*…–»I¨¦Ø]©ÕÄñÓÑ.ÒhÜýëûé‹tsÓMWpÜ15Œ§òíoK2ZUθ1B&âHÓn§/ÒÇ„1“)ñ—c$zÙ²y×­â¹>ÌsóÿJy‰çþñwî¿ÿO´´¶RâH™ŠüÜwï½ *«â¾?þž7_{…­›Öñ—GÿÈ}¿ú†i²fÍZZZYµüC^zéyÚZÅK ,—ýþM¥”E[G ¦iqùå_añ‡K©ÛÙÊAÓ&ðÁÒuœ{αÌþ¾qåù<õÄ<Õ 3uò>Z·±àò:üˆÙÔ7wðÁÒ•”ƒ…ý_zÙyzÄ1lÞ¼…AC+hjØÁÍ7ÞÊÃþƒÑÊš;:ii馢¢œº›)*® jEsê¹-zã23fŒ§$è¡¶.ÂsÏ=KKëV¾wÝÜñ«Gè쌀äDq¤yé­¿!còλ¹ûÞ¹¼ðÜSL13¡»¯ ˆDc$SYê룸tXøþ«ôôuñÆ«ï²xñrâ±4 ,ýp3gÍàØ£äáGäæ›Äú-k7n,.ÅC(#njÔ×7à–pö9'ÒÐÐĺõ‹l¡­™ÀêÕëèê 1sÖl–®x‡¢¢"ú=,_þ³f„¢yéíí£¨ÈOKGëšÐt™DuõñN?6Ѿ$ëÖmãÎ;Ÿ$“’ ”x¸âkWò ¯pùe§qúéGòÊkÿ`ÍÆ3t(>Êòe¯#KÝT–WÞÙF È×_Êèê))-E•U®ºò{´÷tÛ¯3vFưcyè/“L&ùŸŸþœ®Þº:»xåùWp»ÝŒ>÷).Rñ>&Ož@c}w5 ,—ýÞ+rË-·ÜRÛ±+úVÅUÙOؼy3/ÍŸ_øÿú›È¢ER=8ȵ߹–>÷‰¤„Ssê³qãN®¾êRž›÷2ÑîñD·ËâÉgïÇ£g)Ê˼ôö5ÓÞÚ‚×0žo|ëR®ûþ·8ôÐÙ¸Ü><îRŠýE8]zúº˜=k6½±Ÿ‹P(ÄÈÑcÙ±m+£G £¯'„ÏçcÄÈaÜsÏÿ²ôƒwøÂñ½=;øçsó8å´3øá÷~Ì!‡Í梋ÎCQÆŒÉÊKùè£ ®¬`æ\vÉ7ñøŠ©oÜÄ¢÷—ðøc#֛⩧â¥ç3ýàsD*ò~ˆ¨sÄå‰'î#—ؼv#:}‰jFaG}'?“µk×òÓ~Bw¨3eÎ ó­kÎçÌ3OgÒøQœ|Ú‰\ÃOyâɧùá¿KG{'^Ÿ—æ¦f>ø`7üøzš»:!“¤K–.å‰ÇŸbÐA¶SÉÐÓÓK,câÓ‰ôt ( ›¶o$Hâ/ "Y*ÕÕUÔ7v0rH²âÑn:Ú;pz‚$caLÙAeÉ`‚~ë6¯¡µ9ÄÁ‚Ïçãï Ý%1{öLÖ­ÛHiY)ñH7>Ÿ 62th5¥CX²è:;Z( ”q܉'ÓÖÐÌ¢÷ÞfÑ’e¢ˆRˆ‹p‹íïn±yó^fû†Íø‹U¦<Š9'ÌeWœ‹Ë!cY?ç0n¼ñ÷t‡7ràô©”—;?a$ÿüçÓ¬úh1¿¾ën^zñyN9éXüIιà<ª‹CGpÆ™ç!©Eô"ŠüÈ'ûüøKìÚ‘#Ƃ좸¸Y–ihl$›ÍÒÚÒɰ£°2üî2º{z¨ª®Æï÷ãp8‡Ã¸ÔnW;ê¶³cë\N]óQ\RŽC’ÐTé´‰Ë妱±3Ã̘f–††:²ÈX ‹d"ÁŸzÖqôG‘62d,#§½£•@ ˆT*…Ó©CFBu*¶¥ ëø|>:Zš0ÓYN:ù4Ú[;:|,ÆŽ¥È_Æð¡£7q^OtÊʇqèasظ~+‡}N?„ʲÄcifÌ8”â¢ÛZê‹ÍÌ>âh~qó/ JpinŠ¥K†S^RA ´„H¬ ÃJÑÒÞÌèacQU'ެ‹ëHeHôÑѶ[Á Šbw ¨( ÒÞÖƒ¦:hikf섉ÄS1ÚÛëS§N¦±¾ ;vÔ²zõ*&LšÂìCNÀï¯ÀaeøãÜ{˜9s¦ÙGi¹‡ñã'vD9ò˜YXF±p‹ ·˜°\ögËeåòyœwÎÙ¼³d 3¦NÅå 6ìvëÎ8„ÚíµôE /z‡‰“&pÔQöšë¯½ñ ëFRVQE0¸Åb¬]»žªª!X–ÅÛo¿Ž×ãáÂK®¢¹a;¦™æ¼sOgåªõtµ† 'b…ªzY–)**Â4MTœH’D*gõŠ9ä™lݹ™¶Æf<ž íBêM2jä`P3¸U/þ`éD–ŒlÒn'i:( EUJ‹½´4Õ’0#hš†ß$‹óÂËç¤3N!ÈRZQMww7º®Çq»Ý$#&>Ÿ¯Ð3ßíY×54MDzÒX–E"‘DQ$I"N£¸ìoXÝŽÍ„ú:øàÝÅrØjFOÕ"‰5d4MÅ¡eÐu½:ÝØØD¨³‹±5cq«>TÕn…“Ϊ…V9±D;V¶®¶8ƒ*ñ¹š›[hhØÎ3¦ÓÓ¥ººŠ ÞdäÈ‘x†aðÊkÿ ¡¾‘ïÿð6Œ>;µ¸#ÜJ_O'qËn×ã–U*ÊË™÷ü·O¥£³“ÁeC™÷ü³Ìž=“P(Ìøš±ìlìà™'ÿÎôƒÇ2bÄpbQ'—õr®ùîeŒq´!.B\ögqI$¶³cçVŒT”òò2=ìvî¬ãý÷—0räXN;õ|2pw˜`qx4F 8h÷ܲÈš×®0ìjót:$I$ÒÑÂ¸Š“P¨›Pï>XüW_ýSæÍ{…wß}™d¬—üøF9@iI š¦Ñ !Ë2©T G&‰ÏçCÖ¼ÈT®²ÞˆÆÐ= Á`Àž„…¬CÏ}¨S„£]”••ÙâÒÁãñàr¹0Œ±Xœ@™¾¾>"ݶK¸¨¨ˆŒlÒÛÛK$b[7õ;ë9xÚ,»×Y®i§¤zìår•ò¦aàt¹Hæz­I²\èfŽlª`éºF*eÎ-EOÈ[nùÇ=7†Icó&†  @*-È>Ÿd2IW(DŬ´EJ]󺮓ˆvÓÙÓNY ‚-[6bÑhŒáÕå„B!b±8•ƒ‡†XóÑ æÏ‘s/8eK—PZ쥴ô(!.B\„¸ìÏâ²yëKLœ8ž 61bhÓg €·¨œ€ÇnÆè÷ûðÊ wä‘î¸m­${!-ãv»éíµ3Éò.œÖêbøQv|D÷&zKÅ0LPm×’Œ\°&dÙ^°LÓTfL›…ee¨3©0Çb±‚k®((t0.d•嬘¼¸ôN“¥Âß.—-‚ËÊàr9m ÇLXÞÀ0Ìš:šÃ‰[ͬ,ðE5™H’Ϊx\åvo°ª¡ ©‹œµÏIv{pxSÅ>&•J‘Ì-íñxp(v6\>Þ•ÝÒ¢ŠBzsc};N§“xí†eL»aÀuŸaŸý¯en-¼Ñó]æ.˜Ëw{îÝëvsçÌáº9s™;纂°~:Çs¼ø¨þCE”@ ø—пˆRX.@ ø—#ÄE B\@ ÄE B\@ â"!.@ â"üG3°˜1_¹>'È=B  pÝ –@ `HÖÎ%ô+ÈÌí'÷x¾ˆr×¶ö>çÌ; Z¾ÿóÐoûÜ8òÏ_öa< Ïö¹R â"|IÏ5#w w¬¢§ç^Xp«zz˜ñè]ÀHzzzظ½–ë¦Ý@OOÏÕíùÇ7ž{ÝnÛ.`³=ü‰öÓµþÏÜþÑÝž¿·çYîXÕ³ã9žË™AϽ¢î^ðߨÐÁ¿Q¡/‚/!.@ â"!.@ â"ÁG—àËãÑG¥®®î?b,º®sà 7ˆñÿ1|øp.¿üòÏ´ÍwÜA*•ãÿ?¿`ß©È_"‡x<þ3ž›o¾™[n¹EŒÿ?·ÛM,Ûç×ßrË-Üzë­büÿGã|:"ùßH6›ýÌ?¯n ±±ÏÇÆ>«»½,ëôâP]8T×çÚ_þçß5þl6‹JJö³²]!%ûIÉ~î}³Ë¯ûõÅøó?~¿÷Âï÷sÅ8ÿ‹óyukÏ ÁìX×Éên/kÖõ~áÏÔþøy·ØŒ°X–õ™·«kê ²tsﻀs®ü/lspt•ë?~üiGYøXÌH“Œö|î}þ;ÇßuÕr:ÆOÇ´À°²¤ü%$N¼ø ïûóLpŸ÷˜uM,ÚЇiif‰ñÂ6¾Ðgêß9þ/ãó$FˆË½À|VºÛº0-¸èªocXY"$ÒtÅAÖÌþÇÀã”yðí­Ä xmešž”B@‡XOÇ¿õKý¯8VÇøéÄŒ,) þòV±Ÿ_ø29}Þcæ?Sʺès.™å¥·3üoýLý·žB\þ#H§Óôöö~æí®š3¨ƒ|øËeÿêíúï¿=Ø^Κ ìö1S¸jÆŸŸÿÎñN£—qò®÷ ωúâçáv»?×x>…ÏÔ†Ò.hØ´ºZÿ+Æÿe|ž>ÏøB\þcÈd2bübüâ|þ?}?èÉ.˲°¬…ŸÚGΣÖø¾ôÿû‹Žÿ_ñØÛçÿ³üwš—ÿú;µL&K6›±ÿ®{Œw3öß7½›!óîMÔÔÔðX]† /|ŒL&C¶°]îïºÇx`ãÍËd¸yãk¿^UULccãÄ9}YãÿO½þa¹àÿØr1@ üËâ"!.@ â"!.@ q@ q@ˆ‹@ „¸@ˆ‹@ B\@ ÄE B\@ â"‚ Øë¸äYZoˆ«"‚ÏGVX.@ ø’øìýw¼½ÿ?§o=½¤œä¤“„ÐKè½÷¢tЍHG (ˆŠŠREPŠ$t„Ò{9%§÷¶}fvf~Ìîž=''4¹ŸûûÞÌëñØÇÙ¶³g߯y½«à8o¾ùæÙÇwÜóÞåðàÁƒ_–eQ}üiáæ·Ä„æææû¬éùwYׇøë‘çqÕ{;¯{á}ïóÌ`Í}S˜óÃï?̓»Àþ’ÛI¢„ ;mÿûŸÝÎ?ÿñÇ!Ëοè:¾}ëC– ‚€$JX†N:‘ÄÉã±W|€‡òS®ýÅ=4?ú B×X†ÎpIX Š’Àð€p§K.Îíƒ _ïõ{rÍ­'Ó) ˆÒû¼þÉ\xä:_< œâ®×î.[' à®×.°î7Srë|}Ç•ˆ’À/Å¿åÞÏßîoŸC–tÎÞÃ{xïñÿÕ8_ò!J‚àîcècPοèº|:òwv:™Lb%“˜)÷ñ‡„iš\õ³;1M“?Üø#¬T’tæ}3™ÄN§wú< ÛY¹dq{†X„;]’¾î²£Ë©ãªùÞ/ñüEÄñWòü’I,hžÏóç/bA³ÄÒ ~À½¿^̱€$Šˆ‚ÄÜ#.‚—ÿÁë­§Þzmb3—_|4’¸Q¸íüÁíö¨«gݯ²¬®‘œüç+½[<üŸAwß5õC–]}ê¾;­÷È+«†¼J•9å²}GËNë·¶¶îô|øzYåÒ½q- ŸÏÑŽ@Ÿo ííí¹uûj·²}c Nf;‡ñІ´çä¡ÊÅY!ærçC‹s»K0/·îG7qý…÷"WÖ_Ž,=(‰È’8äo5ðËeüñåßç–Ÿóø4^zþ^AD®ºŠï8ž—–5;o×öÏ3y€¸~ò÷y€8]ò2ÜaÖÔRîZ,r×ÔE÷}÷¹È¥O6 Yøã·nr÷ó·rËÜmßÉlûO7e×wŸ |B³(ré.Ž7ë¶w>õ˜¢("6½É•ó3Ï'žÈ¢Å"wM-Ýi¿ÙcÞ5µÔÝæÜfÝöââX"ŠÿÅñNÈ;÷ÁãÍ:ÿψMÎw¤u>í!ðËcJ™5µ”YSÏßéÚ°Ó1>{ŸÞÃ{xïñß?>U¹Hyu/óØZÿ&·! ‰‚(°=‘Dg¯øtÒÄ+þÌïý‰«Žº©áaW_Ë”}Ýýœxô$$±A¸xòõ<[ÿ]Q@`E÷ýdǛċØZßÿ)>ÇÞ¸ëH á Ž=êZÞa¿ƒû¿ I¸îB÷½Ÿ~ãX¤j†­÷÷%—ÙÞu“DŸþæ:¤ê:êÞË{oÈ:ŸvE~ú^?_¯x‹'†^›Û~¶ó1¤‰Þ”þ—Ýb¢("IRž)#÷:û\%ž[<ƒ)‹à⩹÷ØOÙýT^¿ü›\Ñøm˜tW/₹órûÉþ=yîãìqŽÀ-¿ý°ÇÄ".x"Š$½µÓñxú,àò!ç9Òq.~—)ã‚'¢Ü= Þ²_¸çÈ0W4¾8dÿ·,ÞB!QóÿäýiÕQÜÓü¿ì~“ÇvÇåþ¿~ ŸÈxìâÁƒ¾bvñÜb Q0 ù dÛ%«¢BDÁÄ_"  HVî8ªª‚ ¡8 ú 0L“P0€a(ZEUü¤Í4²"»µ²,£:Bn_ª¢`¡¢(rî’$‘vdYÞésJ’„eYH’”{®©º¡#IÒ.¯,¹ûJ[idI&m¥Ñ4 +m!9*Š¢`Û6¢è¦Êdÿæ/³mÛ¶sç–N§‘e™t:(йõv…ì¾lÛÎ#ÿ#­Ÿÿ¾išC®eYX–5dÝNì´]×sç™ý®ò¿SÁNašéÜ÷Ý÷ÌGz?®Ý]¹ ¦Šy,³;Ã|Ž™#–ÊQ•Äb1tÃħB"£´¢Ì5\VQ ‡B€kìÁš ¦ ©Ä’`âhªª¸Ä’‡üײBÖ2ËÅ5¼¦kÈ4UÑçþÓê&¨êbq¦kØ$IÉœG&ùÐT´•B6Ù¿YÙ$YÊýÍßGþ~†Ë®–e –dò‰e8y '–‘ö9œHóI%ÙóT2×x8éfI'K¨i+eYȲœ[žN§wú.Ý}ʹýŒtí=ìžÚE6Òvæ©—‹¼»¢ ´„°?k¤LB¡"B¡¶­áâ Ó à …‚TVVÐß?@e…ëZ ‡Bhá©„ë Ñ2Ä2ø?çª$îîWÓ4òï Ó$ðg,³ Å2QTÕ?hԲĒ5j²,“2äa†M’$÷i+g,º®çÔ‡ä¨CþõG2Œ–i¡J*–i¡‰DQ$-¦G4úYƒ>œ4MÅ̧,Ë;‰(Š(ŠŒeÙ#ª‘Hg8†« ¬âø,¥ ‰,ÁÈhVÙåOvÃÉ)û}f™‡Ýƒ|rsO2G6cBªwuv3(A?’c’H˜TTa¦aPRVBÒˆ!Û’_£ &ïwICQHÄTƒiÆd‹´ZÆÀèºN(Ä0 T-ìÇÓ–Q2¶[ÑBHJ€‚`€xH1רdˆÅï… ª¢ ù‰$¦'‘ŠPZ1ÆuƒY©œZ1 UUQðù|¤L OÉ €bƒnÈZˆ˜‰b9(’0Ôõ’q‹©#( I ¹«Îº¾dIFr\c‰™1ŽHHv&Ö"ì ™(CUA–,²¯óï³Ä0\­¨ª:Ä`»®$÷=Ã’1- Eõc–“O h~÷<ó>_¾š•+¸žO,Ã×ËO.°,UU\RËÆ;Ôÿ÷žì±³ŠF’Dl{ð¼É,êCT”a¨’ŠËî¨,É.iËRÎÍÈnÈ‘g$ƒ+ú€TNänGô!Ë2š# ª†®çî¬a0{+kè>-¸>ägv wq _'»ž#ú°Û±Q‡(ãsÚØÿæN??l'XhXX9EcŽ(cç­ç²læT›Ïç¸išHÊ ‹l8‰gãX#©Ÿ†Ï§åÁ4ÍL«I4s³Ãrµ,VŽXT_ANq†A \’Ùg†p[uë[Š Cpƒ–­ä ¬¢ÈCê&Ñ—KHË¢kÐ$)à‡´„ädÜ_ˆ % Y–s¯³5%Y2I§ÓrÛ²pÈ’ƒ1,+˜È# iˆëÉÚɸgSóÏiøzÙuF ò”`ðidóYõ2ù$”#1 Ó’@2»÷ûΈ(Šƒ*¹XL6[7ôR¾=xäâa7E0\B,%L6L#ã2+lUAQ4UÍ‘Œä‡ßïÇ´Œl# yJ%›¬ ~ÈË£™W»"Ëòã%É8ƒq•‘Òm‡M¾k˜kî‹ÄE¤](‰ü¸ÎH™YŸ'î³+|yìj›áõ.ÃÕFVy™yE’Š,#8Ö¢Ë}^Ñu—å×iªæªGÙ è{ðÈe·‡c¥‚ÁiR)‚p˜@À-¦4lPTÓ4sH^0ÀУnàž$R^"@~ K–T4UEOg2¬2î-ÉV‘Ti§B¼,8âಬ"Êfƒa5î#rqH0{ø{CÒ«>¡|†Ûix‘âHd0Òyæ“ÀHþÿ-†ÇІ“Œ=‚êéœrÛˆ !+må‚ý¹xðÈÅÁLIzXƒÇÖsï+Š’y€OÓrªGGÕÂøüþœjQUMÓ”@ÎlkªŠnèiqhEÁ°¤ŒÛmXõ¼äÏKÀŸWÛ"KH¶š3z#ìäN¬‘2.;3·Ì4 Uý\ñƒáï'“/cì‡/—$ ÇùŸ+jÎ'¯lëFPl¢$a§õHQ’$,¬ÁZ˜a{Ãd5„a¹ ~€€¤`ˆVæß, )¹Þ`b^ &§@$.Øœ çËp㹫ö+®ù¬{è]‘ÇÿT!`¾qÎï6ü½]!Ÿˆ¾Š,­ÏRkà åSUçóà‘‹‡áPÖˆÆb¹Ì,UQH¥"hjY.C,뼊Åâ„B®rI™*F¦Ò!˜ç)’eÙUº9˜EfšHJ,Md+¿ч”!´á.6öÅbÛ6Ž å‰(©˜–…(©X™e¹¼€¯ˆ,>+òyºï ‚ |áí¿èùìêøŸF2ÃÉðóŒ¢w <$I‰$†iQJ¦•‹n$’IÒ"H‚«h²m^|>_®u~¾‹ÉU-ŽëæÒ3Û( ˆ>|Â!ÕìÙ$YH$CÒY|#ÞùïÊÐeUý.£Ï2Ê_U0ýËѧÌçQÿ“l5ç¢Ì-óT‹O¹xÈý8î@4LÇ àVVV`š&¶-# &Á°J*1k™mõÕSøD¿’!fˆŠ£¹4Z¦ß˜•IwÍ+Š”sHð>¿~6xŸ_»2be}^ÍF>¡dƒôÃïÀGJþ²é¿_‰¢˜›=—]®À¾hàÿÓÒµGŠ3 ö ™guù.Ò#ôs<åâÁ#Oµ$’¹ç¦ãºÂ ÓD1MLä°¨E´c qa唋ß_v•K6CLVdd5º™‹Ùä-E‘qÈÆYä!Æ,?Æ’u…åÞËkSŸméXC+Û³éü¡`à æq‘å+Av2æÂœ¶÷YnªO#–‘HEøÓþ>-†’ÍlËBqHYþ¹{Uú#Ʋ¬!£=ì¾ðú»9lÑ­G 9—X<žÈA)]'•Q*YÅ’u‰…5v¦p6†‚èCq47Þ¡¸î2UðçY,ÿ§º¨²éÆÙž`–£à–£`Z)Cp'QJ~·†ås(™]µƒÙÕhâüGV ‚0$ aÈšüßu5þ,’p'w E‘1M“T*õ_ZŽt̬â©_Ù®b^;«JÞ<žrñà"›~\TTH ÏЈ‚IÚ±rAüÁx‹šiù2X‘Ÿ2 ?²,ç~YΠ;,k˜³Å‘Y7X~Ÿ°áu,¢(æ¦w£}RùÂwZŸœOÿ/¤Ø:Žƒ¢È¤Ón·åh$â~?ªºAȲô…Î1ë®Fò_ç·ÏÉWùÁýá ž[̃G.r¤ HIJD’iR) ƒ‰³ª%[³¤’mò™¼tÚú\*é³Ö~]ÝI–HþÜô$,GAׇþg·zðÜbv#„Ã%(ŠBoo…p;û4 Uݬ0uЇøQeH¬% ºªEqƒøÙ¹,ŽèÃùT—’S6„T,ËþÔ`ýHAeÁN"I2iG‘XòïÐÝ;n“P(Œn'2ÓÁ\%æ`ñéµ,ùwÿŠäƒt3Þé=UUÑíQFVÒŽŠƒ…‚O0ã:Š¦ä¶ …‚ôõö¡¨*åÝý C‰$›-–Ýæ‹&|V\fh¼eçú˲òš[j™¢ÛlÓQX«+ß•óü‹ÿä‰ÇÿÊG÷ßÅ 7ÞÀ7®þ&eeeH™‰™#Å6ò¤ÀNF¾µ©Žx<Á@¢EÓ±Rƒª)3}ê,ŠJGnŸ¶¬Û/\P€âÈ#î7?¸ŸUK_ÖíöecA;ÅÑsíh¼X‹\< *¿EQðeÜ_YbqUMh°823i2e „T—D$%€•íž, -¤tDAIA7Æ’©eÉK†$²ÝÝ[·Ý¾" ½sþ´ÉùÄb 8CÛ§ä×…äÕˆ³ô“•œ{ÞŒ*/âÕ…Køå÷£‹°Ï>{pÆióy̯)¤sƺ§³˲èè@UUB¡ º©c‰~ÙMf(--E ˆ¬Ýò‘ž8{Í:ˆÒŠ*ŠKŠqRiH;Ø ºÊEF× lÛÆï÷¨žþ'ðiAþüù7i==DyŽ4_ÇÃî OÃîîn±LÑdJ×sÄ¢HŠ”gZ Ÿß³d›Zjš†ašnú±š!!Ñ—S-Y#“%ÝpÝ'ùÄ’O–e#*Á]Þ!ïúNZÆ4—Xrî6·D–%|ŠçÈOãíèèàÌ3NEQ$Ú»úQ‰ñU®r«®*á¼ó¯¥«¿]7vR-–eašéÜkM¶imªcGã‚E> JƒÌœ9“ŠŠ ªªªðI üE„BATU%XPJ@ QZPÁܹû2vüT)Íö-°EÙç ød ÁÆ’’É’$á÷ûrÇüoˆe¤ØL6%9?Xÿi*DÌs—ÉZA`ZŽ ¹ñ¼@¿O¹ìöˆÆb(Š;ÆXök(’…a ÎkÉÖ³¸“&UÔŒKLÖB9¢É"›&©!4'/Æ‘Q-ªèÏÕDäßáº)Çþaî:+CÊ.ï¬AÀÉELòî¬Í4ªd!ab–• e‚nLã°Ã&3ØsF3fLâ°Ãçó‹{….BCs/…!‰Sg±jõ&Å%ÅȲ„®;eHm­ÛD8fTé(®ÿöõ<ýÌK¨’E<Š"±çô=xô©‡‘T…1ã&‘Šš˜¦É„‰3…‚t´6ÐÓÙÌØ £hjÙL:ƈ[•ŽÆ,¦8×rÇø–5| Ùðïe§ÂW¯pÒƒG.FR.±Ôe£Gç*óóøàÆZ°œÛ+#eŒ¾œW»’͡¦jn¿0SVù>4#i¸±Ê®÷E;jšŠ‘@õxüÉGY¸ð5>^¶’±c«ø}øü* ͽlÙö œs§Ÿq+V¬âW¿¾I rÉ9W Z*±H’¢¢œª(--¡¼¼2„PWWϤIS8ñ¤ãy÷½åy×Á%Ó´h¨©gß9GðØ£±÷^û2~Ü8JKKI&Ô7l@“mB/¿úOš›š1u˜¹çÞœ9s’THÿÓ~?­få³UzDãÁ#¤Eð C]a¸q•°æC–ƒ9W˜…‚H¸.4ÉqkcD%U,Ùj6…9ëÂQ,L,49ÃeXr^`XÏÜ˸C‰-¬tz'U" 28ƒ…|zz¨g7™Lòxéå§™:m2Ï]± ›;2JÈ=^wg«WmBO‹œpbŠx¤MÓøûórÑÅW£„ý\ÿÝ«¸í®Û(UHssÛj71¦j,cÆŒaÇŽŒ?Šâò1yî8—P&UWS×Ð@_2‰fCwW{ΜI2cé²·Xºô}6lZG_g7‰”N<9€à(|÷{7²Ïìýhmªe̸ÉÈ™¤‚¯Â%öEñEôùݧ½¸‹\¢ªÌÿ›O*:F×Á§ú½—G.vw¨ª’‹­d x6¾2è `˜n“Ky„ŽÙ;Ö´“×åØÉ,5GDÆ ÜûÂi"Í[7éë ™JÑé&•J±ßÞûSX\d«¨Å}‰X®S’$l3žkE I™n¿²H$Šª*D"Qfí½³gÏbÍê£Ù´©ž®®f:::Ù´i3ÕÕãyøÑéBì3§€X¢ÒQEÄâ½®ÂÑ-âQ›îžK—¼ÇŽ ”WT1}ê,fN™½S6ŒfƒMbk£+ËødÖo\FCc·Þö]fî9ƒ{ë®ýš–IsV’|ð¤R:O>õ{b±8?»ã^Š‹üÈøèèm%šêgbÕlAC¾ó©éÕ»pWæ¾kòF.Hî:bÚAC(ªF*•ð~TÞ\Ûéd}óÆ{Y» yì©ïOZnЬíÊY åTC–`Áý[XT¢€äÞAûƒÅn…»¦ádj]˜’ÛüRq€â#e›H´´m¥³³‹ŠŠr$ÁJ–­ò·…Y{ìEBwrî³t:M*•Bò¹™³“*ɲ`âˆ>DKÉÿÓ‚N"‘@ÏLδ,+OŠÇ㘦I0d¯½fóüó ?aŠbúžy÷­…\páwXüþÛ”—–°ß~ûrÈ¡{ó¯_¥¨`\n,€%9b°5×5ö‡ßÿ’+¯¹‚Gÿúsâ±8‘hŒþ"‰ÇŸx…›¾|ï¯o@–,z{úˆt“H$‘DUã'qôǸª- -PÈ”)SÒò™û!;ÊçR3Ãëc†“KnPXF¹|É䯯8ƒT«* ²ßÏÀÀ€÷#ÛðqƒAVÿ<íó”Ëî_ „$V"‰’Q,†a`˜&¡L/«ṵ̈´™Æ/;¨~5W8™ÀÍÕ³d”Œ•qã$Ì>ÕaûŽí$cTOÚƒVˆmÛƒ’É”—IØX(hškÔT) h¹ pD I”0 ƒ’’RÉL…bZÊ©.Ó”H  ¸M¶I$¹ÚQ£*éííò,>úh§vŒÛPÓ”ðûý„ Ê™»ïLL½‰»þKöÙ{}ÑdYâïϾÈ%œŸ‘ü.©LžZAýŽ.¸à<žxê0-ZÚ¶ÐßÓÆCÜC4cóÖÕ„BA|þfΜAuÕš]utÃà/ÜJu8 Œ§fûfÆŒªdÝÆMtÌœŒ( ¨d²¥vÛ¤LÚwII …’É8‚ù¥\fŸ§wÚH$#¦lYÈs‡á¤P}Ñ>ÊýÕÞËs‹yØa%’„}.IDiEÈ‘JV±d‰%ëSw™…”ËsD_.3,ÛáØ¶m²ªØ§:´t6‘ŒõQ1z<þb ƒeî9ÈНSË›fhšXd (Á1Ð2d’$a&lÒvY’s +L.ð£Û º’Uu3œô´ˆ/Xä®S\A{{;cÇOÅ¢£§•C;„ö–z›8òÈÃéhæÙgÿÅï¾ÁÀÀ¯¼üEEüõÑG8÷¼+hiê䥗žeã†U,Xð,G{4¯½úo>ZúŸ,_A]]ýýsÜüýï¯aš¯ôÁe_;›sÏ?ŸßGyA!)+Amýz%HWOŒÆMèºÎކõÀzæp0¡Â "=””ÓÛ uuuLš4‰Â@ )S@Q@0²¢f¤*þáÕùùŦ0RË}·`§ÀÒó¼aîuN¦c´´·éë$£ª*>Ÿò \ô¡û ø¹ù1Y…¥‰£innfGíVnøÁ÷Y°p‘H”@¸„i3ö¢?Ò̇ÎeîÞ{×A·,Yþ!—\p I§¬8ÌŽÚ-””aÜè X€“—‘ñeâ2Yb‘eAPH[¶i¢J.Ñ$Ó1ÚóÈ$O ª Å•L›1™`0ˆÏçó~T_˜9sdTÅB¡àþ73„Kôé‰ÓÝÓC"5€ª¸½á¡ ²ª2nT5š¦¡i*¢ÊdðÅèè Òß?@OW7'p¾÷ÛòÈÅÃn +™I=&§X,ÁAµÍ­i H Hn6—4Œ8$IBrÔ\f˜å¸ý§°,|ªƒ%š…UÆ®BRƒœtÒ)|óº+‰Ç-~ò£ËøýCOa¡Ð×Û—kwîLd%g€Eɫױ-ËÍL°Òé4‰„EZÈ´—äœû+‘t³Å‰„;S&›‰÷ôa‰yäA´·î ¬¤d‹‚ BWG3þ`1……´wÖrÝw®à’K¾Îü£¢§ÛsÒ)'qÙå_ã”SN"ïãŽÛ~K<iTd FW–¹Eœ"\òµ P„ ‚)ä\XYµ&IÁ`âàÓÜzžòŠƩ?aöì™lß^Ç´)s Eˆ~sæcY–#2PK>ŸFQY þ˜Ÿââ"‚ÁÀPeb¥‰Åâô5×3量n+Ÿ¬\ƶM[I¤t8i«G.¹xØ­áóùH¥R¨¾AwJ¶ëmÀÀ°Su‡ejWEF–eÑU-’¸s¿)UJ#a²`ÁKÌ›;›d:F‰ßχï.a\u {î9…ÓÏ8›D/ªàCñH˜ØNG0wJ·ÍwiY–†¢’™+b! ƒ½°$ÅeÝ`ÙDƒD"A83xK×u"Ñ@€ŽæfN9ùD>\ò%%ÅlÙ²1ã&⤓˜†Aq©ÆÀ@„‚âJV._Ê/~þ mI&N¨ ¥©“çž_ÈKÿyÃ%çL—ƒçþõ(G}šÛÙ/¡ú (©œvú…Ø– ˆšG0s Ͱ“ª Š…åN~!K1±j2£FU2ÐÛA*•â¯þžë®¾ÁvÝjÁ‚Rºû¢Œ]AOg3Å•9U(Ë–G:º\•‘Š÷Ó餴 ‚â²Ñ”0Á‚²Ìwg¡V©`%ГÄ}4mm&Ò×ÁÇ+V‰öÐÚØÌæ­-$â" 5õ®P iÞ˃G.»;\b)Ø©ž%( vÅq…å(9b‘$É0)IH²„ˆˆq±åO4D(.ô³}ÇV :;In-Èé§O¤›ùGÎòOV0n\•kœUöcZ©‡be{¹ÆˆY{ƒ¥»¤â+øÇ?ŸfÚôi9÷]{{;&LॿÌÅ—^Â9gOf¶²,á฀ξ6z:[5Û0Í4ÑNšðù|W úŠÃAz{{)Ù÷@ '¹µ<‰‚r•˜aàˆ¥$SýÌØc*’4XÑ/˜¶ebÉFr€îþNz»[©¯ßÊöÚ-Ô×ï ‘H‹¤ÐSK?þU “LFIèdú¨ *2„’F²Ìƒ\< ªj®žåÓ )A|y=Å‚’‚ªiHö`pÜÁeH×’]åÇ?¾‰ßþî—œzꑸÿAÜ|Û½œvʱ¼¿èCªÇEÒœwî)ÔÖÖ1¶r6­_Êíw^AsC S¦”ÐÕ׎Ïç¶{±|…¹Ì4Ã4qT$“h²®¾vlA%£©ZfàYš@À=.±º‰¢ªŽŽA¤Ï-âèuû‹)ŠB0 O`¥ºIË"Û7o P rýw¿EB·yëÍ…ì9c:ÅÄb1Âá0­]Í<ùÔ£ì9ù`b=}ì9§šÛîü?»ý&~ýÛß³­Ö%–êªrâ)xìÑ8óô³qD?RÚu:ŽC<Ò‘ «¯X ÐßëþS^…ˆA,  àfÑuµ7qð¼ýHÆ(ô‡ð©R¶nF Ä…Iv#)Aú#q’é;j·` :]¤R)êjë©ÙÖH{[;-m=t´õ0³r# €Üø€áÏ=xðÈÅÃgBR7WÐÓ8jp'Å’?L–Ýy*ùp G”rYF9õ0~üxú£%%żñúlÞ´UðS¿­€¹OçíEË8fþ¤Ì^"ÍøƒE(ªJÊh¦´ [JÓÙÒIEEŠ"S’IYNè>9H4EEüþáÒz =F#¦©ƒ‰DDˆ'ã.qj qÓDB¥¤¤¿Æ’D& ¡`1<ø~zóï8ñØYì9c:ÉX/E¡2TE!˜RWWÏÝ¿¾|×ÿ;˜)8ù¤³™:ñPÂp÷]·£©!Q7ƒÊ°d4MÅI¥‰§uГ4¶ÕÓP·•ñU¦I¯›ÅUTR‰aš¤õÁ`€¾þº:)ôñÂKÿáëW|3‘ §?Š‘îE×uT!…·»óŽÆtô¶¢¾®žÙ³¦ÒÖÝBOO×n§¥±íÛÚhko'¡» VÔ¢8è'OÞxÀˆî®l³Î!ÿ'¶çóà‘‹‡‘þ´²å ÉôbXõ}¶ßÑ,ËBÕÜñȪäǶ,B~‰š†:ÚÚ¹ñ†³iã&|è—uÔ‘´t6qÕÕßâºo_¹9¶5‰¶“HT‘ŠÌØuÛ˜2i,áPÐU ’Ÿ¾b**Êñù4!F2®`(ÁÜ(劒Ñ(ŠŒê/Ä4 êêêèêï@Ñ ÂD#½$IÑÀL:ÄãqBÁ ‰¨¢…_65¢¾¶ŽPP¡©!ΑóÏfÁ«O²uã;èvœŽ;‹?üáÏL˜ì#,(¥LP9úø*.Û´šo|ý‡|çÆkÙºù½÷8ÏüýßTUUñØrÕ× ˆ ºn ‹&ñdí-;hl¬AÓL›·°qãZ4-ÄA‡ŽiÄÙ´éC¤€ŸÊò tuï`TÙXMá¾û~Ë·®ùq)N° Hc['‘d?vÿ*…®¾vº»·±øý×8øÀ£xùß xý ýæìÏO>Ek[EU™6i"²’=‚iبDâ #Ïçò‰pwÞu>ÅÁÐuš[ÌyýõßeÍêu,]²ˆµk¶°uÛ5lܸ¿þå_Œ­šÄ•W}×.¦BZÒs]aýñÁ ±ü“•˜†I4ÖÂâ÷ßã€÷#í¤?¾ŠOV~@À'²®«›#Ž˜ÀäI“éKƉõõ‹ÅeÕð¢* ôtµˆ§yãÍwø4^{c5[ÛhmK3¹z]=½l««'Oæ¦gJx£‰=|µ½Kà!)̪ÕW#‘l5»$I”0šp{ƒ©nE~*¥*ö“LǸìÒËyù_ ‘l7{(·Ðl¸ãö»ðÝZŠ›o»‰Õ«–qÃõß –60tÎÞ(Û·ì`ÛæêzøûÓ/±~SË—¯dãÆÍlß^KmÍf±>zš‰'šè謥»g-mÛHXm´wÖÐi&ëÅ4ÜXÅØ‰Õ”Vº­VšÛbŒªœÎÃ>CØWMqå$úûûyýõ7™2e‘H”â@-k¹øüK(«Ç<Âߟý't2•••n+˜”ަižþÇãì¨m`ï9“ùûÓÏóê‚רsæ>üña% Ìt3ÞAˆÒÖ°‰º†´6nÁÔclß¾EQX¼x)' ã'Œ£¼´„•o ¾¶›ÕËW³yó6 E¼öŸÜø£ïÓÛ^‹#™8šÂ@_§Û.ÓN¦¯·)àÇç ³ví%Åm=Lª®&™Jâˆ~•!ñ•¬òðˆ‡¯ Þ°°Ý………,ûè¹!ËT_AN¡(ŠŒ¤ºý£41঴f²À4MCEEÆMž~òüàºjkÇs8÷ýú~Š‹‹Üö"a…9œo^{5×\}# Ý ¯ª¤§»ŸßOiY¿&2eÚdz»{‘d‡âÒ ¥¥%L™4–1ÆQ1ªb"›7­Ç4Mzº{(-s+Õý"D l!†#h¼õÚûÜy×ÃŒ==šD û‘0Y»~)ñxœéÓ÷à¨#çóü’ì ´Ì­ÿÙRWËì½f3{ædš›šxä¯qćሾ\{˜Ââ ÑÇÉ'œ€_YøÖ{ ›Ã¥D",#Æ@¢Ž¶z#ÝÔnßLI©3êhofÓf7.ÓÓÓÇ%—œGÃŽlGAUƒ,Zô.³öœNÕøIüá¡GøË_Goáp˜âŠ tw¶0¦¼ -TIAPaóÖ•˜V?õm¼þê"[8ç싸÷ž?ºýË7cþg‚ôYÂ2RioXØnoX˜‡á¶vq›4šfzH_’$,,Ñ o ªª*ÒI·¾%štuuñ£þp3•ôx?ºbÆÐ¼·hÉT’ѾQîMZ执ŸçŸÏü•ŸÝ{=÷ýòÏ´u$éhì`ÆÞ3hlÝêþ­ bìhÆV•±}kö‚ØM}C#£G£¶n«¾2€ŸÎ®VöÚk_Ò¦›f¦â Äüá·O£È¥¦€¬Ùtwmá“U‹©ž8ÑÁ"¦î1‹5«>&íHŒ=š`0HMM ‹ß{€?ZÅ÷®ÿ!Ïþëyêêw°rÅJ´êñŒ5ŠHÜ °¹ë®[9òÈ#ˆÅzQU•‘p¯uw4óæ{o±eËv’É%•¹ëU³­‰CžG"‘$®G¨ž4†¦.fí9}æÎ#OÓß›&ëÃÝ™7‰X/ª¢3u¬h/Û·Ô£i&‘x ŸÏÇI§ŸÄšÕ+xñ¥'ùÉÍWq×]¡¨CI%_½dašVÎ]–ý; '¨üm|g5‚ÝB<>¢2|~?Ä“}}ílß¾¿_a¯Y³Ñ “1cÇsì Çñ»`î>3hïÀV•Ë.ýžKZV++¯dÍÆÕTU堮ओNáïO>ÉãOþ«®þ&†a°~ýfÏžE[g7ýô6‚Á ³öšË’–а£žãŽ9šªq…„  ¡¡ÊòIDâ&>Ms+ÿƒ k6®ÂÔÝŽÉ=½½¼ºpÖÔ2Пd f1gv˜¦ænRÉ$?¹ãÛÜsïÃ\ûÍãÙÑPKII%þ"š: ø4ºººi¬ïrÝÖóö£¶q-ã³Ó=ý~ à¨X¦«£K0hîh¤´´ÉV0í$>ÍÇŒY3Øgÿ}YýÉ*ªªJØk¯*>Xü1Š"ÑÔÒDO7Ó&MÌý;ºNϧ¸ÎE¢ T@$Á4-L3™sµíJ yØýàÅ\vc²jõ¹øŠkL\—˜¦iüæ7OvøéíígîÜ9¬\¹†?ýñl©­ågwÞÁ¹çœIYeûÎ9”D"Á×/>—i{Låþû›# L‰Ê1Õ8©4‚O&–è`ÝŠ÷ih\ãÞ § þôÄs\zɵüâÞ_[Äz’{ÊÁ”•—R]]Íc>NqQˆãO8–³&óüsÿBOÚ•²aý&|šÆøñU˜TWcæ¬9œsîwxì±û„>7°oÉyè ¼ðïw9þèù„ÃaÒ²H_wW_y%%%ÅlÚ²™¢Âb'…ßWÈ–uíØš„¨[ÈXüáë´vÔP\THqa•;âYÓÐd›®ŽfZêèïëdóæõ¬\¹™æÆ6ê LÓbÎì™ôôFiïl妟\ÏŸÿ|?×|ãBÜ_*Ee464¹] ìsçÎãÚË~Ai¥Ÿ[îü¾€…a¨ªJwW+£Ë'R\YÎæMë‡C˜–„êtõÄXôîB®ùÆwèìk'O$У ùÛÓì5ûp^úÏ{ˆº…­I(ªJ"žd|U%Ý}‘\&ÙpwÙp’U1†D"F$É­ú‰G^Ìe7Ãð˜‹G.»;¹lXˆOr•E¶Z_RCƒýÄ’lÞ¼ŽššZ6lZǺÕë™4y*/¿² U²xñ¹ßSרÎ%—^N´¿ (@sC†i’4£WRP&ì+b fPà/&ð#j°üÃ7¨ß¶K `¦¢L7ƒ‡þë7¬dÞ¼Cy{ÁRñ$rÆŽ« à÷S_×Ì™gK<ÑE(¨0iò,"ú)-Çk ^aÅ'Ûˆ&I'`Æœjæì3ƒ‚71²­½ƒ|ïÇ´wö3ÿ°£Q•ßÿù!BaŸÏǦMutw%inÚN2Õí(œuæ4Öoç¨cOàwüC˜GaX`ò”é¤ ØîáøµrR©Ñx;¢æpÓ×SV>šò²R¶ljæÕ…Ks…†¢fñà·sã ·qîù'PP RXäŽkޤH$’~ÆMšÀ¿ú=I®üÖùÈr”ñã*¨¬(˹5S¦ÀØñ¬\± p;W­ÇÑGœLÚ‘YðêKÄãͨ#aÅH$“¤b>ö*éÄàÿC¨´˜XOºè‡_“LGÉ$Ó>çÓ²qÇrYÎ/ý W]v5¦abˆà¤£¬Xù1i3 úxýµ÷P™€?Œ$ø±Ìûì;…Õk×ðÄÏððᾦ‘®ÞöÙgo$MEÑü` ˆªŒ™Ô9ûüsyúñ§ødù:6m¬C7TÇ øí=<øÀÝ8¤).ª vèìjEEJË‹©«i@Rƒüñ¡ïOã+¨"ö“ÔV.ß@aQÛ²† øû“O3iÚTZ››,-Ûš™?ÿ,GeÖž3ñ©A^{ý-a‘PØÏÊåë„9äÐýhljÃN»ŠÕH¦°5)OI6£ÇŒFtCGO¹Ìð8L¾»Ln¾éf/æ²›axÌÅ#—Ýœ\:{Û‘6i[ÈM{w’£ãøñ«Ž%6EÒ8Dã)$‚Ø–ÂoøOýõy~óàïxèóÀoÇ­·þ‘e}ÀYçœÃØêJ–~ô>S¦M ‘ˆÓÚÕLaØO°°QÖ˜3c.s÷?ˆµkWciBE>V¯ù˜P ”ó/¾„ë¾}#£Æ™6m'œx ï,z› ßG}}+šO"‰ÅR´·´qÄQG!Á Ì„ ¬Z³„Óμ€ö–nºé‡<ý¯¿óÞ{K8ïÌsˆÇbŒ3†Þ>.¸è"¶mßÈÞ{ÍD’|,_¶šÊÊ1BšñÕX³f-ýÑ(£GG’üœrÊ©²ðÕ¬]¿òâ2&Ošˆ$[˜F’Å‹?äÿDX½tqÓA³aæÞ“©®.G”c˜fНí¶oÛÁÛo-ãìsOfÓ¦Mlܸ…k®¹ŽGþü ‘nWµ}î)ȪÂ@o?í­íË88X¶McS¡Pi=ÅÀ@œ¥K?fɇk¨¬Íäq‘ Š9ü°Cèëï'à/¤·+Λo}À!¬_SO è'iŠHVÃÉô?,"ÑÉT Isþ,F ô§-=ex}\¼"ÊÝÙII’дÁ ‚²$#É‚”@·9%ƒ)QVX‰…†ŒJ"c?R‹“Ž<ƒÅ®C³¡µ-Í ?x€ßÿæ ª«fóŸç_fõªOì(›·­býÆe$c½tttÒ yö¯ÑPßM}m„-ëÚéîm§ºÚM×ýpÉ{TWfêÔ* K"‘êåŠËOáüóÎcåÒ-<óØë¼¶p)¿º÷7ÔÖÖ ™0¾’|ïJËà©'Ç Ç@Pƒ¹ûΤtÌ(Ҳȷ®¿ SçPZZIiñhjkëˆ ˆ&ýýÝÌØc õ Œ;…‚@Ç!ËW¼OmÝV>äh–¼·÷Þû[2 ,[ö!0ƒ8„dÄ­óÑl·ÕM"ÕKY‰F{G'~¿öŽN¦îQÊ˯ýŸ™·_ÙľsâŠË@_M-(ÑÚÒȶ­Û1m‘X*J À¶etCå/ü›ÞÞ>t|¾0š¯€Ù³¦sÝ·nãΟßK}³ë¢,,©D øÅ=ÒM1{Ö\"6q09ƒDZú/½ôp;¢œäÈ£Sdóæul¯ÝBgG'•L\Å¢E‹ikw»OŸ>‹í›·QZéÇï/£¢|Á`)?¿óâIƒTÄ5ܣƗ s=É!GL_o 3ö˜Â_þð*gžwZ(àöbÃmÐY]5‘›6óúÂ%–Ä¿½‡“Ž=š³Î9ŸMkk9ö”ƒñü,y)Ñ$÷Ý ‹/¡³³Ÿw­ÎÅç)²ôWT¿ê£»»×‹¹ìfðú†Ëú­oÑÞÔEEEÓ÷œCgG'’,!ÙjŽH4MŲl$IÄM|>ï¼õ'Ÿì’E ÓQ·¤Tâ¿€ê)Ulݰ™½ö9„=§í…¤9ýÔãYðÚ"w™,ºs÷ÇÑG‰Ï§±µf «Wn£~G/¾ô gñ=ùËÏ(­( yG;ó8”¯=•âØ“æãói<òÈ£œyúÅÜpã Üÿëû‰»3ÅxçÝ—˜8i"ÝÍŒ?Ž>ZÌöÚ-Ts;ÿëÙg‘}Åh‚„ ùXµj %%UlÚ¸‰¢¢BJŠ‹‰§¢”•ú(*+fÙGˆFà/ÜJ4åÙ§PWÛN4ÚOmý:D%ÈÀÀFr€¤ÞÅ¢wÞb¿ýçR_¿ƒ†5ŒUI \Â’%Ë…Š©¨¬àµWÞaùòÍìµ÷lÖ­]Ï´©“ñ|ôñzA?ãF&•꧸x 5õLßk&+V­áøc`|õ8j¶o¡¤(€îXŒª¬ ½£“’P˜+7’J¨khà°Cæ" ðÎ{K8øÀÉèºÁèÑãxëÕ¥qÜÞ¤í('žp:wßõ;bV.ùàó´ƒ)õØ«Ð÷ÈÅ‹¹ìÆðù|ì1yžxêß<ñèÔ×má˜ãŽÇJ¹~˲rä’¶elGıÓÈ¢Ûä2m¥ùóŸwI¥ ª«JèéÕ)/ÕPU8ô c݃9GŸp$S&U°`á"d´`z:EwOœe¯'ظi%§z~¸ŠH W]q–“bÝšõ,ýè}&OžŒiY$õwß}+ó9ˆ+¿þ LÃâÍ·—€ ±}Ë:üí}L¬žLqÐÏ?žý!•ªê Î=çæí?‰T*Åòåqü)Ç1vôxV|²žÖ¶vd1ĺ[˜6}S¦M žè£ \HwO”€¯ŒÚÍŽCW{E…%Ìš5·ß[¢Âúµ+9é”S i…(r@ ÀU—}Ÿ/£§'Ê…ç]Ê„ 3Pü©”É^ú7ëVoC”$öÙw&o¾½‚Y3&“L¦èloáìsNgÓ†u´uö1~âXêjèO¤$Ç?EèéîÁ0,š[(*)BEŠ ýHŠ€ž2ˆDº3ºœd2ÎG¯'èƒ)SÆcÛÉdœâ’Ö¬ÙÌ×.½‰§ñô3 P‰´“Ft$á³Õ‹m;¹ÂÊ,n½å6/æ²›axÌÅS.»¹réXŸ{½}{£ÆL  †I§Óø|>P,0%LKÊ5¶4 ƒ@0ÈÖÍk9ìÐCp$?ö®þÜìSO>À‘G¢Ž!etÓÓ×HsýF6nÜDGç÷Ý÷¯œz™0mm-½(>ƒÚ“¦æ.Ö¬k 胛~zû¸7Í,Y²Œ`0À¼ýçRV9–+¾~óçϧ»+« —¢(FÒ­·xþŲhÑû|¼ì]ººú¸æš¯±ÿ~û²àµQµ›7o@Ääß¾Šçþù&ÖnòDR‰4t8== ,zw)ZP¢zÌŠKKÙ²q=ý HÄ“†$R·îÅçLáM]Ä£‚Ûí áoþ…[n¼‹ÒJ?¡¢0©d¿_á‚ /æÙgž¦nG„ÓN=€>XEW¿‘«;9õ¤ýH$-ÞY´š þýŸ§¹è¼‹9ðƒ‰ÇúhiëÁ¯‰Ì˜>- ¼¬”ž·Ø´²²‚D<Á‹WPTXŠ¢ªtðaüç¥W¨¨(¢¤(€/XÈ˯¾ÅŸ~„‹.¾zз‹Ö/0tvËHÊFQ$O¹xÊÅ#—Ý\Z;·æf°wtt2aòtܹ-‚ä4ªê¶‰±,TÉý»àµW¸ìkW`dˆ'[qÔ‘óxîù'ÜJ] ·¯‘Ö®fjk6³eó6vÔ¶ÐÝ«“Œ›lZ[K è'·1ðHvøøE¼ü¯…<ðð-üýé?1{¯}8óäÓQC2O>ñ8ŽSÄ3½Ž­ ÀÎîZLÓdÂø=¹ø¢“¸íλ¹úòËøhùô¨…–HÄ“œ{ÎÑ\ýwxý³fÕRªª÷@tTšxuáR C'î@"ÕÍ1ÇÌçÿsˆ;/kdµ°„"$t8î˜Ãyñ…éë룸¸˜G»Ÿ’’Þ_ü1¯¾²€Òb7ÛÊKB„Bªä·>ÎôÒ¢0=ýQJ‹ÂD£ýÜðëxùå·\Ò|áÎ?ï|,K¤´´„¢âŠhã+$£&Í-TWOÆ0 ŠÂ>|!‡ÎÎ EÄã â “ Õ£¨3ŠªqU¼¿h‹ÞYNCsoî»úàÜóÎæég^ÂÖ?Ý›±+·™Wçâ‘‹G.»9¹45º "UU¥¯¯Ÿ‚÷îZ +³Ùd®›ÃpܠƢ·_ .¹èÛÄSn¥¸²ˆ•ë–í拉³‰ÞtÝ`ÓÆÍ¬\½†Ñ¥e44µH˜hªJYÅž{þÅ­€ÏðM®Å–š~ý««0))E}} ¼Â¼yñ£ÜÌŒ)Gææº}°yûF¶ow{”M¨šÌQGAkǶ.¡…%ÊŠ hlî ´ØO$f°lÉ Üó‹_ó‹Kú@–% ‹Ê;¶ €d"I}ýVŽ;áHÞ}g)±žd.q![Õn!M†®~ƒ€‹Þ[Ì>sæ`{í= …޶:”…)* RR&‘H²qs3_tãÇOãß/ÿ‡ÖÆÀ‡";D:‚•$ž‚SN:˜ûîÿ¯¼òo~zóï8ãô#‰§º)/+£ºj"Ë–}B,¦³tÙ¦MñSZ^ÄþûíCGG ûí7—^ú7ç_øu&M˜ÍÃ|‚7ß^¼“BÉv¦ž:u&kÖoúL•²+xäâ‘‹×[lw‡l 1~¿Û¶±%—@üªJ"ÅÌŒK'…nèôu· Ù²m+/¾ügú{â0fôhkסøaëÆO¨­­§»'ƺÕëE =.ÒÜÜÁ1ÇÌgéÒ©SʹçíŒ&PU¬h’Ú†v.ûÚÙ„CAz»]WÏ·¿ýmŠŠ+xã­·‡|Œx ÆÛs§Wà/"®'HÄ“4Æ“¬Z±„<ówî»ÿa–²‚‚B‰[oý:½ÝQ:»hnê$– •LÑÚØÌÞs&ÐÓ—DÊ'0¦²þþ,Ý"¦'‰h™ +GåÌ3NeåÊ5<öø_ÙºÝ÷¼Ç”I$SñÌ5v•acK3¦iñø¯äö;ª¼3 í]ý(ŠÄžÓgæzªýâ÷0n¼›ž-ê[¶70alu­¼÷î‡3sÏì³ÏLbÉDÁdܸ±TT”³bÅrn»ãçÜyÛÏY¹ô~lT-l]BB Ú:º‰[¶~.bñÆ{Ø¥iñ.Áî%K^!TX†– öÛ,±±†ö¶v>^¾€h´—õÔ7¶R]UJoßÑxšò2‘3Ï<æí‡åD©©ï&eÀÒ÷?¤¡¡‰´-½ÔÕöPTTÈ–ÍMüê¾_òË_üŒÒÒÑX”þî6Žž¿‹?\‡"訠ÃãO¾Àø…Õë>&V™1k›7¬gâÄ©üò—sÈQóø`ÉÊÜg~.Ù*ñø`E‘Øßùݺ ÍŸæÀýg³­¶™Í[×ô•ÐÓÛžLMOÁ™gÆ·ý6“eašpÒi xõ¥%l©iaTQ˜¾Ž~,=I«aPV9žÍVñä?þAmM Ý=}Äzú°5‰x‚>0,·5Êøª|+VmBÔ­Üpµ‘Œx~/2Qw óÊoÏ~ð=þô§GxøaX.!œ{ÎI\wÝeô÷w2jÜXº»{xøÑÚØÏšu h6C¹å# Iº¤öλ/qÖig3³†0büÅ ö˜2‰­5u9r:ùÄù¼ú껞[l7w‹yä²›“‹nuÓÓÓCii)­­­hšFii)¯½úoî¸í6~õ«»1œcª&òÒóÿâÐÃv‡_uu3¾zýrþW2nüd6­­Í1÷Î8‘3B¥ÅÅ9c+Ë£FU“LÅ ød¦L«f|õ¸!Aó@ÐO¨¤ŒÞž&ÆVù¹úšK˜|wI.fôiçl‰FîšüöỘ1c:Ÿ|²‚;oÿcÆWÑÙÚ–#ƒ|’ÿzWyQ³† ø:þØrÉù䲫Öûªä.¿ö[×rõå_@O¥˜½Ï‘¹ìæäâ¹Åvs¤2‰ž4AÕ©èºNOOó9‘3N»˜%ËÞG5b\qñ•ˆ’M¸ ÌÞ{Ϧ¨À‡ˆÉ~s÷a{}+Ë×®åµW_çÆßÑ$RØíÇÊè5ÕOO_ŸÛŽ=ž¤0u LŸ9 h±Ha?dž;’Ÿî>ƒûî{„Ã?šIg“HDd¦í1žžÆŽÊÚµë‰ÄvîÚ;ÜH‡JýlÞ¼•Ò²Ñ4íèÃ(£Ì_ˆ,„ùxÙÇ4¨3šÎ¾Ž!Fø€g!,ï§»3FaØÏÁóNà†~Fokœ÷š5†ƒ8€uëÖQ[Sƒ®ÛôôG™\=Š›~zºGp|à±Ïün,Ñ ØïGôùùÖ·¯ãþ_ßÏÕW]ÎKÿy‹î{ˆÒ²Û·5ïôMÓB¦¶>Tå¿gš_¿ôB^}õuzúúxuáRA?``ë¦i ( ?—¡(®kî¿€=§O" b˜á°€?`ýšZï‡åÁS.»»réíï!RRä'’ìG×uw6‰@ER¦@8F•,TÉ¢£·•¿ø/¢‰~ƫ§–0qâDB¡ ¡P€×_“ ^cù2×¥”Ÿê P’H§-ÉÏä)c©ÛZC<åà‹J5ü¾ Mmm(‚ßFÕ4zº;H'`߃æ’Lv8L>5W£Ò×¥¸xíí­DzÎU6¼Úüß/þ…Ž®zÞyûM–¼·‰ “«ÙQÛ@k—;Ãd¿}çÐÒÒLcsGî½ ¤RZ —~ýbjk:X»j›ÖÖ*-æÀç°a½ŸêîîÅç/&i¤0 ƒÒ¢0ª–æäÓŽ¤»«@°ˆžÎä…°+h6d÷˜7o·üìfO;„±ã'¨(²ªE²ÕœrÌ~î‘êV{ô!.¿â;;m?ÜÕôÁI§ÍEÏ´iSiïi¥©®d"A{G?/½ø<›¶v¡Je;êSžrñÜb¹ìÎäÒ×ÛB2™$ 7"èºN¿QQ ·R?Û)ȵäì$Šš¢­½ƒÞÞ>ZZ{=vtnŒ¦iî(`]GO‹ôõöñÚ‚7xìÑljČ\!Ùº•}fOæ Cåé§þN*b¡‹\eï'Tê§jl!ÁP0—Î\³umí=D£ýL›:™´(ÐÚØBOßP‚5‹eK^àÝ÷Þç­7ß倃æðÎ[2zÌ(¢‘m]qjkZrĤÙîL˜±c'±zÅ2Ê+ ùÉ-×sýwB,⪪ìÆ‚P=}}Œ*/Êe{í·ïLb©$Õc+˜>cÞxûê¶ÖN¸1]!f‡nYÑ$º—}ýTfΜÁ7ÜNÍ–zö>`ÿ!q¦|RÉî3ÿù®Žt×r©äYÌØÛ êŸuöA”WÐØÐȺ ë9ø ƒÙ¼¹ŽíÛØ{Îd¶lß*†sdžy©È¹xä²›“Ë@©T UUI¦c$ ŠCeÈrÆcš)¤ÌŠiš¹bJæ_Ʋ҈J(óÜ"# ®«Í¶mt]§¾q;•£GQ^^N<§´´”¿ýåQ®ÿþO]ß™Š˜ý[ZæøNà‰§žAQ$¾÷Ýkزy-o¼õ1‡2—¦ÖVz»z(/-¡ žK"˜5}[ëZÝŽ¿þ"ôx?Õ{Tpÿ·ñÛûÞ{̤rL)¥%ãøí¡jìJËÊxé?oäjX²Ó'O8éÂá^{í&OšÌ¡‡ÌĉմµµÓÝåÙ=O4â*‰¬‘Î~)ìß)›*û^~Ì%Ÿ À-Îüᮣ²²‚ƒ=I“&ÐÓÞϤI“ø`ÉG\zñy44÷~!rÉÆ`ܦ¤ƒjfÁ‚g¹èü‹9éäÙ2m<[¶làœ³OçÅ—Þ¤iGŽÀï÷SS³‰»~v?øá‰F  ¤ÒÓçª>EU)-*£±±Ñ#\Ù„ à…çžá”“ÎÑü¹ªû¬ëiâ¤q¤ ›[I%“Ȳ” M—}aÁã˜f;?¹éVö™½‰D‚î^ºÚvTM£­£U²À·ßÂõ×ÞÍ…—ÍãO¾àV®Ÿ*Ñh/¯/\Âi§Ïç¦Ûo¢­¹Ã4™;{?n¸ñ&.¾äë<ñÄ¿XøêÂ!‰ÙŒ­l#—QåEvÄÁ¼ôŸ7rï4ˆ M¯Î¢¿ñöBØ6ß»þñ?ù§ª•])˜I 8ÿü³9âèƒøÏ‹/0}Æ46n\Ç‘‡L*•â_Ïý‡m5;FÑÕÕÇ!‡ìO<ÚËŠO¶åÚád÷pø!òö;zä²›“‹ÐßÍa¡î0(ÉVIEM|> Û¶Á²PUuˆ[,v[¿dI&- (‚‚`'qÒ:ª$ã¤OÚ¤’IÉišøåÅ¥ˆÔÔÔPà/Æ/[Ì?âbÝtww³tÙì¨ßÁßùµ ínÕ>pôü#ùÍ}¿Ê¸p’€Šµ°D‹h´ŸmÛtNÍdoõôÅ2®š¸è‚3¸òª+ élZ½«®¼Œ-ëð ijÚN_G?ºHÎMôÊ+ èèmC@õ„Ñœ}Ö!xà<ë·ÓÛ㨣öãô3Î",•°©g+š&pë­7³rå2¦NÌYçÎ÷¾!¡À(>Zú>íý<öèã´u$AwIE³Ýu}ý¼ü¯…§h}´„—þó"?ùÑOðûèv)ÓaźœqòI¤u;603xú™—0ÍÏG,S§Uñýï]ø %tu4c¦¢44nfü¸ ^[°€‰“¦²u{‡Ì?„ñÆ1¡z2MM-¦ÉGD"¥Ó×§¾±•ñc«èíí!–L2®ºÄûayð”Ën¯\¢ýÉB¡ ‰D’t:M0È6däñpä/·mÁN"I2–•&‹ã÷û0,wY¶€ê/ÀH‰Dimk£¬´”qãÆ‹E1Ítnߪª‰D©©ßÂi§ŸJ4÷Ü}3{äoÔokq;+Çûs*'›V›U;7ýäzî¼ý.z’„ü ÞxŒmµë˜µç nùɽŒ;…žÞ2Hñàïžä/~€“O<“;j·pËOobî¼ÙL™:™ßüúü¾BÊÊGóá;«9í¼“«®¸¿ÏÇÆÍ[˜äá,zo1¦ä¸OÅ0 Ñuš¶Â민͎,ýð6¯Ý4D¡eñ§Çâ‹®"íÁ}8é²_àƒ%o°|錭ƒ“–ذa<ð /ýç-Î=ïŠÓ³¯:`.·Üv#G{4í5´µµ£ˆ&í-Ø¢AggÇO¡ 8ŠåŸ¬`ÒøQ|çû72u‰qäQ„‚î½è¢E 9ìÈyÄ RQ]7Ð ƒ®®nžùû»ôx+=åâÁ»ÃÈÄUDQÌÅZ²Ä’%ŽáD2ü5€#úqD DZ$ ‰$"–åîÓ4 ,RȲŒaÉø|>¦N™L__??ù(çŸ{¢Â4]clY®_kÊÄé<õäÓ<ü‡ßñ9C= âýsò|f̜ε߸ŸÏ‡ßïÇrŠKŠÑuƒ˜Ïçc áö9«(/#1wÎ\^[¸Y“xååg)-uï¸/ºà¢Ñ(~1ÄÁûJIY ²lhãØcO$˜¹çd**Šxñ™…œrÎ! [L™2…ÖŽ>4¹„ÓN>€HÌDu:{‰ôwQ_WÏGË?à yG2oÞÌœ9ƒþþ~Þ|ómþÃc¤nvØ9gKG»Ûö¥¤HÆR½ý«W-çŸÏþ‹²²1,]VKaHâþÿÌúõwêNMKÎâ£WròÉdÜ{'ðïÞâ̳OâW_Šâ%¤ 8ŠD´—Q£C´t5sôqG³tñ ~ÿàãì½×tLº{ûp„V™ÎÎzzúðû}ì»ïþqäÑ$S¶÷£òà‘‹2­ôÓnv˜5²aÈJ–H²Ëò•mÛHi 8`J~ò£(>¿ßÍ4EÁDE¡|TçŸ{‰DGp!JªêÆqJKK9úØ£éêlæÑGfÆZžû×£œ|⩲HB†ä$|’«ž$ÉÉ(Š’#¬ŠŠr6lÜ̳fÐÙ5@OoK—Õr÷¥2¶j+¶ á¹“7ixúÙ—¸ögSTâù^ÄÒ¡·{oöž;‡…ï½DSÃ&î¸ý.xƒƒ=в¢Šœ‚+© ¢ë:“ƹ•Æa)¾öõ먫«£¡n+-ý€††VN;}>‡>Ÿ+®¾–Úm(a´ðhºú;ˆ%:H½¼òÊËl«IRß°Ívc2©TŠÆ†9w׎ú6ì¼Q*ùE”–hOÁ’6Ðáñ'^á•—ßæ¨£ç“Lô3w¿}9üèƒ(.*bë–Mì7wO|BÚ;:ØQßmë|ãº+Ñ4 ŸÏÇÒ÷?dóÖô¤ÍCü‘ÑcÆy?*ž[lww‹Å¢ƒ…‚Ù,°¬b±, UÕ° !«wÇqY–01 Gtƒ²¼s%¸DF…  Yf¡ ˜Žâ‹ÅQ¥4©”ž#«„î iš›ÉëÅbGíüI~óàï1–h"Ù )CÌðʸá$I°Üû'ŸÏǦ-ËÙ¾å}âz„Í6#I~JKŠyúéç8íÔsèééåúÞByéD|‚‚)ÚX–EaHåO¾—šºõÄã fî¹+W®áO¿¸÷ /9Šòò1ÜvËÝÄuðË!’(Žˆª(CHÛQEt]Dz,|¢‚)؆T ÃÀ2bÔÔÔ(Ô( ”,(¥»·…¯¿@$åæŸ> À¤êjj¶5#jF2ÂåW|ÇŸ|gŸyˆ .üÎNµ=ù…“¢fqÓO®§»»›?ÿá™Ü:Ù„…µk>梋O§¶n5Ûš°18äÃX»r Ógî…Î’%PWÛÆx5Ó÷ÜÓ0ظa†a2ÐßŃ,ðÜb»¹[Ì#—Ýœ\Þ}ÿ?¤’n8OÐÙÙE"'š™ßÝÝM"#žp3‚’‰~‰4ɤû:à/ §ÇíüÛÞÞJ2%¡³SûÚX2»< ¤Ak[;—^ôužxì KÎÕŽ”•„ÐÓ"Š#ÓÓßByy9÷ÝÿK¢ÑVî¼ãAb¦aàóûñû}¹÷@.Î#Ú~,V~ü[ˆ¦hll¦££‹ÉÕSH‹ÐÕÖÇóϽΎº^z’H’„¢(H’„`§H¦c\{õ×Pý"åe¥¬Zµ€}ö™Í¼ýçÒÓë‰ÆcqöšuGy6¢­‘rÒ9—cV9eGŒDè±Xœmµ›¨= MÕhmkcîÞ{ðÊÂç¸óÖ_ÑÑ‘â†~—»ösR·7Y<ÝÂûíGcK3Ë—}ÀŒ™‡¹ÇÌ$d]dÙkžU1¢æ~G_xãÇ*ôQ=®‚ÉS§óyæïÿB5 Â!z{ûØgîŽ<òp>þd)½½ý$#Q>^±–Û︞Ò×­¨ª*gœþc\vsrñÜb»9Ž>êŒ/çJ¡çÔð”Ùáïg_‚náá˜ÊBZ;X¿j©TŠú [¶ncúÓ@UQ…o}ç:þøðÌ™=“cŽs[«ƒAÂaT]=; ‘XÌBQ”<_^I’I§-$I%™J!«!|¢À¨Q“ÇO¦¦n¡Bi“«˜?>ÉdŸÏŸsÿIi‡”#)qóí÷pÓÝjv¿ßÇäI˜:m&=½½H˜8ršp‘ÈÒe¯Ó?áÔÏ©0W4HxƒuB–ee U]¢ …`úÔYôź‘d ˈQÛT‹¢ª¤t3-ðÓ[~î´&a™šãþ¢É¢«¿ƒŽÝ‡å+V‹€mIˆºly2ÁMþðÝ%‚!Î:û|>Zú>Ÿ¬ØÀ{‹—ÓÞÑI"ÕÇœ}àC sïÝ¿ä´3Žã£%" ò“Ÿü„Å‹?¤ºz{í=—W_ùë×o⦟Þäý°×_[HmM ó˜ÅôéÓA¶(-ͨâ$­„柋è+#•Jå“{ÑŸS39>4ãôõõ1p•ÐÔIU¼ðÂ?qƒnøñ. _Ä™g (<þÄ+¤Œ..½èë¼³è ž{ñI^{å?¬Zµ‚ï|û¡bHK¬Û°‘®În>üðZš;‰Å“Äz’È·csaÀ¢;#4*+`TÅ(úÝ},þp)cÇW ë:Ño¼þW_} <òzzz‰Ç£ƒaÎ:ç4^xþy®¸êJ–,ù˜gŸþÀS.žrñ°;#¿àn¤ÞS# ƒÊߦ§¯'žz†Òâb"±È.{e *™ÁmË‹K¸ù¦[ÐÓbæX “&Mb劕Lœ6['ãæÒ0SÞZ²ˆ÷ß^ƒ¿{’ïï"N?ûRî»ÿ1ùó“ô÷G°PH&SC\O–•F’4,K'àó¡úet=º»^4£´¢#asìq'!¦qÆ––.YÌË/¿ÀÏî¾ôKÞ_ÅQÇƙ瞉,Y|¼|=¯¾üÇ{<ÑDñh}ŒŸâ£µ‹™»Ïá@EQ°m +£X°ÌœÒÊ’Œ(Šâ +(ŠB$nâó…ijªC»éÕ•£K™wÀtæu,Ñh/’“bá« ÙXóô)n¹í~–´˜ .ú7ýø A#ía¤JÊ*á‚ó.ÃJašTO›‚Ha¡Ð××eĨki¦©¡†gŸ{…Ã?” .ü…!‰ÊQ*íS§¿ËÌ='qÐ!—Q³½†9ûÎáOü#´?þõoÜÿÀýÞ˃G.øT¥1œLvED=}}tÀ\ÖnØ´SŶi¶uÏßî·å:ˆJˆh'ÝT« ³£Uô زq «Woá™ü•7ß^Ë>³'c;2š#ôAaQª¿€d2I*™$ æ:*»n' I‚D*²B,ÇŒ'éÅ3ª’@ÀO{b€êñã0 ¨–íª##ôóÊÞà¿|DB&–Lóî»+¸üÊ ÄæÎÝŸ)“'²lÙRBá© íeÕŠ…t¶5qú ㈀ª(ôIŠKЉÅ⹘Ë@?%E~zz°%·ÍΘ1cÐ4ºÛ9àÀy,yw9ݽ=Lž2ƒŸ,cÎ>3hhlbíú¥t¶ô²hÑG\sµÅ¬ÙGÒ¼£¤ÞMËŽvFMO#å•ãHÅÒ”¨mØÎêå‹;n Ý¡4¦7nb™qæÎ™ß'¢j?v)#Ê~ûíãvpžxü1|*,[¶”ÒÒ_»ô Ó¤¯·“…¯¾ÌQ‡_áý vsˆÞ%ؽ!Ùê§>²A_pç«*/BQ$&LMi±?G{L™ÄG¯$OrÐswsÉ“o»õ†œ²ˆÇ㘦IAAYt©ªŠH™ß¾î;¼ùöZJ‹ýlÛ^ËÒ%‹ÑY–˜:e ¦i±tÉbÁ f*‚eY†k ±’ÄôŸ`0@QI%E%•TV”Ź嶇ø÷‹o˜‚MT!ØIúúúH§ÓÜû‹Ÿð ĺ±Œ‘H”¦¦&zðÊK«ùÃïGiiˆ Î=‰²R•ŽŽ")MÓˆô6ñÊkÏ!‘Üg ÐÙÙ…mÆ‘00’Žë2TM¶i¨ÛJsÃv!Æ‘‡Ï£··ƒ4*Í;œ¶–Ö®ÝÊ Ï½Å5W_ÏÖmtuGiiêtë•“¾¾~Þzëm¦L™B0¤´h<Ë>^KOw7«×¯¤±±†`I-Mu,[ò«7¬Ä¢„KÈ~°ƒ¾þfª'”P\èº×­YÉš5ë™Ô±ÔÔÔròÉDZeó¶œú:þ„™]m}è ‰’’b ½•–¾A `bÉ®cZL‚Á ~¿?÷¹ëšj2Äh0yò$Ê*ǡ몪ÒÖÞ€%lX¿¿ÏÇ#z5ëx÷½å\tþÅœuât´ô"Ë2’’Ä öÛo.u­Í´ôt1èeò¤1ˆ£GbŸysQEåxà¡”1 “¬ÒÚÑÏ„É{P\TÅÖm Â%–ÊŒ½dŸý¤zÒœ{Ñ”–”ðµË.Ã0MÊ+«8ãÌsÙkï¹ÞǃG.»;,ÑøÔÇp¢Q%‹çž_È 7Þ@Ø_˜ë„›ˆ'1M‹T²{î¾E‘hëè¦0$1sÏ™œpÒaTW• J/¾ò ¿¾ÿN,#†ª*¹F–ªª!Ë2±X,×¶ú̉¬^ùI®Ópg{=_z‡~›7¬æâKÏá¤SŽFQ$þõϧhél¢²²EQ(..¦¬Ì%8ÛtS”GËU~B…›6nf¿}g ¨®*g ÑËÝ÷ÜL$Ù¬…I¦ÜÏö­o^Cé¨"LRDSýD’ý„ Ê8þäsY¸ðu;Àn¸™îŽþòÈ£E¬\¾å+Wc¢ÓiåÛ×_C´§%KßÅâåWÿM÷@ªªæú¶iªFoo‰D‚®®.|jˆX<ΨŠQh¶;§£»…õ›ÞæwÝÀÙgÂ@ÌM;•”!I"mýD¢T_!@€æ†šÜ5­ªªr¯eK/£ÆNdìø)ü±xÈÙ|°t%…%•ø¤ Å¡Ræìy ó8ý÷=œ±ã&ÑÓÞÏÍ?º™µŸ¬"•Ò™wÞu§KiÙÙ{ͤ«}€p Œ¦ø°¿ê h~Àáá?ýŽ÷Þy“†m¤Ó)R¦C"žt]hŽ„-Â;ï~@AHå€ý÷§¦¾™Ö¶.fï¹K?^ÅÛï. ¬¼Õo³nÝröÙûPtÝu ²N_oEe¥$¢I¢ý]<ô»¿`¤À‘Eâ÷\yåED#Q,Ëà¶ý†ÚúzJ }lÞ¶žu«?¢¬¢„®¶v,G$iÆÐ* -ÛÑ£),GAQ¡³»†x2N,ÚKgg’É“§2kútÌtšóÎ9?¶ooä²Ë/b ÚÊï¿ÆèQab}IúzÑã=Ì›w&N¢®f3þí)æÌ™ËQÇÁæMëùxé*¢17βiÛZÆ–éëjbú´½ð+*vZ'K2~TÑþ~P4BA…á'Ž£nGo½µ”žÕ±… ¸¬„ºíÍÔlßʤ‰e(²ÅÜýæ2aÒ8îÿÕÏ8é´£‰t·Ç™9má@!IËañ»¯¢…4úÛèïkaÉ’w8ãô39ìÐ}xmÁ=xñÅEa.ùúL\ÍšuóÁ‹x÷½·¹ìò‹¸è‚ïpàþ{±eëf|>ï¼ý&奅œsÎŒUÆ„êýÐuÝû‘íFh°rÙbزG.»;¹üâŽ;1—Xt"ñŽÆN&±ÌÇžp$m]M\sÕ•Ȭ]ó1í]4·ôrè!")½8‚…èH²ƒiZ¤-‡úš6ԀŒ©Sزy-ãÇ—sùUWQ=fo¼öo|•©Óg#Ú6EÅe¬X¾ŠÊÊBzzz$…æ¶f°SÈšŸÉÓ&ãÓ,n¿ýâ‘öÛÿ@jëj0l‹/¾”7Þx‡óÎ?“¶ÎRtö¶ÐÞU‡‘ijj¦yG UUc%•öŽf'a˜ˆŽŸåËÖQPXÊïϲåÑÐÐÂý¿ýÛ¶m§·¯Ÿ`a€€OeÓæ•ü䦛ˆõP9v4µÛê „B„ ŠX´øöŸ;ÃÐI¦S}m­-¼÷þ"JKÊ8óìó‘Ö†&Þ]ô/_Í1ÇϘñUh•DÚ&‹`Û6ݱN:I2™B–%lSgÍÚeÉÛ660j| Çw<7þàglX_‡(I””T²icßýÞ5ø|2 ÍLßs­m8–¢BGg3ØIúúûÑD‰7^_Ä”3¨,©àÿÇÞÇÉQøÿt×Õ÷1=÷‘I&™d’›Äpˆ€&„K…,‚Š®«ÆUÌþ~ºŠ,DÔ€»ÑˆGÀu×€² ŠW@”@ $arO2É$sÏôô]U]U¿?j¦syqó¼_¯yMÏtWõSÝÕõíçyªžg``¦Ñ,¼öƒ´ïßôS(š|îŸÿ…qÍ£ hAâåQ†’C,þÜ7˜:£†ñÍ™:i µ Õœþ{8cÊTLÇÅ´¾a²."\NçpùÆí·#;îß±²8;‡ß¯rÆô‰ÄaÖ­C‡Öm/3cÆ4w¬/oÞ=ÄÊlÛÞF$¤P´Ô€BÈ/¡Ê,tË«I¦{©«¯ä–[BÐï º{Û1Í!2)Y P4 „CAõô ©yÝ$ yðbó­eßfÍ“/‘Éô1~ÂhBÁþÈ ôtdåʧÉåzðz4Þsá{q,¿zäAÆ6bû^ꛈ'*Èê),'O!›#éÅv d’:Ci‡_<ô4KïX—þu1 ¯ý_ø×eŒon¢«³—gÿøyd%¿^¹ŠË.½®CÛ2Ÿb³jÕjfÏœNÇÁnö·ï%‹2óÌ™<øà9÷¼¹øýÐÐTG,ãÉ'W±iã&ªª\{ÍU´LK0bíšµXfD,€^4éèÅcgɤ9ÔuÇ2ÈçóôtQ×P⓸êê+yõÕ´ïê`pÐ`Ò¤‰Œ×Ì‹/mÆC†ÚÚzêê*ˆ'ÊÐsyR™ ñò Áx›·l$è +«æœsÎ%(Lj†Ë™Ð<™ŠòZ:z“Ä¢QÂ0ù¬ŽW ’dh°ÙD/d©®±¯­Mó3cÆ4 fSÏ20˜&(§³«—––Y"\Nóp}.§¹‘+¶¥°Ÿ¹s§3ëÌYôæÙ°±•²r÷‚Äùï;éSfñÌÓd{ë~^ݺ›"*ë×m!—ͳió*b*±œuÖ V<ð´ {™î…iÓ[¸ëîe\yÅ<Ê ÆŒ›ÈìÙg±sçnêITÇ”—'…‚„BA"A…½{ÛÙ½w/Kïü&rò:¼öZ+÷?x?7/¹•þg ÿ÷ Ÿ@7 ö´wqï~Èõ×ý#ŸùôbÒ)‡±£Ï ™Lbµµ5Íb©&›·èìDÏ»9'¶P7ªŽ{~ð]®[x3fNbÃÆV†úÓlyu7Š"Ѷg'••1žîfÌœF{û~fϞ‚KÏÇ«9üaÝZ\ô>^ye3{Û÷ãuÒd }Ì™=“KœGmc%ƒ©ƒdõz.ÅøIc0=:mvñïþîEî/ª®¬$•$‹ôWÒÖvˆPÄGû¾ÝìÞ±ƒ–©“ðj¯¼Úʃ?ù)ªd±{ç¢Q‰êJ¦Í˜Ãe—^A1ûwî¡yôG¸CåÈjÃ4q4…žÁNúº;P™ŽC;Ùüêt]GÓ4ÆGe"ĺuë3f4ºþzVüøWËbD#a^|ùvìåòË/åÚ…‹ÄKárº™q|ÓR ö÷3}j#³g.öò†Mê8ˆßçgêô9”Ç#ÈÈÜøÑ|é Ÿå†~Šª(‰J?/®_Cy\å'ÜÍg¹CÏ74Ô3˜v‡¾—e‰ŠêQ´L˜ÉêU³~ÝZ”€DFOñðÏ~‰®ë ÒÒ2ždªE*òÐ/V°kç ìØ½h4ÂËë×ñ+æ —±sÛ*b*¿~ôIúú÷18˜d``€‰“§ É6Á`l6K.=€ª(ôuöÐ8zøÃ³4oäP÷ w~m)_ÿÚ¿qãG¯'›ïã§,£³» ÏŸÃÝwÝAÑ4Y³f->5Ì+¯laÒ”™TÕ4²½u;ýýƒè†ÁÁŽƒT7LàÃ7|–÷_ú!²i•åìkßC¦0D!7„ª…)¤M®¸ò 4mbû²ÙcÆŒæüóÏ#“ÍrÇ7¿Uz^zy#“§ÅÇn\DEy‚—]Èý{صýeLÓ"ô0”±¸ä²KØðòKDqÊËÔÔT“OdSªRFMã$ü¡8¦aòìókðjÕFQu^|ñ ¼rŽX™ÄÊ•+Èe©® áShãÙç×°{Ï^¼“qãšøÆ×îáš… øÃšÇY·~ gLžX*ï¤ âƒ%ˆ‹(Ow¡„ŸLžm{™vÆ$6mÙC˸:^ÙÜÎYïš‚*YÄ¢Ar…!¦NJ__ãÆ5Òß×Í%—]Âu ¯Fú©««cëöÍôõvòå/ÿöìÙKëk¯rÞyçrÇ¿‹¶¶6ïétšB¡@$äò˯âá‡$ ÒÓÙÎæÍ[Yñãû¸úêŒÕ@2™dîÜÙx,÷êñ^{-ÿpý5L˜0žõ/¾D0à×+ákw|»ïº“ïýp]<—9sÎb(U`ÃúuÔ5Œá‚ çãÕUÅ ‘mÏ¡( »ZwðùÏ/fbó ±2S}¬üÕ/˜|Æt.xÏ{èíßGGG‘p„I“ÆÐÐPOyUƒT¹£GUÓÑÝŽÊæW70oþåLÕ‰:êk'pö¹p÷wîdtãX,¯ÉØúz~ä *ÊÇqhßk<òÛûÙ½kÑh„‰“ZXzÇ7ØÑÚ†n˜<ñ»ULŸ5‰`¨ŒúŠJº»{¸å+ÿÆ£þ–›7ÇÙ¹sU ˜y›DuŒ_ÚBu¢–žž^’r†hÀ “#ê줹y,í{wrƸ24¿L:ÃêÕ¿gLÓ"±r:»ºxiý |ÿ{+¸ùÖ/²îkùÈ7ÒÞ¾‡h,Êã¿{EQØðòj i“GZÉŒYçð¹Ï~†Û¿~Ÿø` ¢ærºëÌó¹/.ÂcåÙ°ñErgx´¡¾¡-(±}÷Aš››Éçó¬yæ>xÍehA‰¶=[رgëÖ®Â)fùÊÍ_ Ÿâ·¿ù5ï}ß|n½u .½’BÚdRËt]GUUú†ºéèè`ûöÄ˪XrÛ—Ùµoçœ3“×Z_¥¬,ÎkÛÚe™^x‰gÖ¬¥«§Çcrå—qÓç>K4åÜ ÞÍž¶=lym=ß\¶”Q£êùþ~ȼ‹.fÚ´)ä 6[¶mæÌ3g±më+õ {vmg ¯‹¡”{AãYgŸGMM ŠfLý8>»øfÎ}×y\{Õ‡¹è}W z|Äãq"Ñc›'ã•ÑÛÛKPPÂØ¶Me¼†æ±ÓùÀÂá•¡i¶dbK&{ö´qÍÕ×2jTšZxqÃN>ñ±EÜvÛ-Ü÷_÷pï–sñ¥qæ¬<ûÌZÞÉû9ÔÙÍöí{Èå-zzz9眙ìoßÀÿ¸‘ .Cr4ú:©®M<œ “Íf©®ŠÐØ4²Xª¦ÑÙÙÉ¡žüú‘ŸÐ~h/²ßm/ê*ª¦±c÷~þó‡?$£z|ÜzóÝ-‰|ôF~ôÀ¸à‚óxê™Ç úÍ"Á`UUihÇþð§<ú¿/¡xýh>Ù³êÄKú§3ŸÏÇËVóÂóëéÌašõµ•¤ ä€ÞCû˜2e2_|ÿâwŒ=Š»r晓ùçÏÿO¯þ-w}{)Ù\ŽÇ{œÙ3Îfîœs9ÿ¼÷qFË\ÖoÚ‚‘Oq¨3I<DÖ$ìÛ…ì…pÈÇ¿|þ&–|u \ð>~ó«•h¡–iãñx(+¯¤²¢ Ûë! jÌœ>»¿³œL&ϧÒ×—dÃK/ò¡]‰ßbþaUvïÚO4RÁ”igsí?ÜÀõ Òºm;©H*5HMm ‡:èíëçòË®aô˜±è…"7ob̨Q¨JˆÁt‘€Cò4?¶aR4l¯Û¼–N§ÉäÓÅ3/ ¢Ê>,Šlܰ/¯m}•²°Âÿ>±’º†*2Ùx$þß·¿Ï{ß÷^Ö½¸†õ/ý‘ -“=f4¯½¶ÿÇ‘™ºú1¬þÝÓìmogÍ3k8gî\âÕ d yÊQd5Œ¡;„"qlÓah(…#ÑsITUEóÇP<>‚Á ¹Ì(©l' FOW'«ž|‚ ß3ŸÆÑMèfžÇŸø%gž9ÛöÐßÏP¾›äP›6l ª¾Š®ƒ‡Ð­"Éô Šß‡B ?Dcc ^ÛæŒ™³éïî%+#™ê ÙŸeþü+ âÔÔÖsÏ=÷pÇ7¿Ê®]mH²Š/"ˆ1ÐÓK&«Ó2q";wmáwO<ÊÀ@/ãÆãºk¯EV=X¦Iç¡ý|îs·ˆp9ÍÃE ¹‹F£46VÓ½¿[“¨­Šâó;ÔÖTÓ8f‡îgúô©Ì=g?øîùÀ>ÈM‹ïdãúßðýûîF/¤©oÃcý/ßøú×3v<«WÿžŠŠ Ì¿„í­Û‰WŽAö˜¤²&AY¥¡¾žm»_£P(0vlÏ=·é³¦ÐÝÙE $‹a䇨®C!mâóù$/ƒƒIâñ–eS(î4Ëó¤“6a-XšARÓ4z’3Óìß¿ =ç6…õ `š&ñX='Ne۶ͺÁó®SÂï÷ ×ëè¹$¶m—F-Þ»U5Õt´ï桇ÿ“P(ÎüyWÐL&“å½ï›O4¥P(p㇗ˆ!÷O3ǹ/j.§yÍeéÒ;HëüªÃì³ÇóùÅŸfã¦õèÅECç`ç>Ö¯_Ïô“øö]ÿÍ’%‹Àk³á¥ç™>m µuõ ô“Jg©¬ª¡²º1uô d;n<ù¡™¬Cy¼‚¢Y@ øèé:D"Q†iËT×VˆÅbC!z»{d¯¬‘ÏçÑdCCCì;¸—X"BWo'©ìcÇÒÝÝCWÿ!ré~~ù‹‡™>uެ€•C‘ Ë‡H¦ÉëY¼^)<€×ëåܹç±è3Ÿ¢¦®‚q-ñû"ØE÷ÀÜ×ׇ¡ç…ÜÚN à'à ùˆ—ÅQ¯¬2±yÓ§ÏeÒ¤‰ÔTÕ‘ËçQ½^ºõ ÇQƒaÒ™<élšº.¸`™¡~>ú'­Á§E8Ð~É“§H‘H”‘N§ÙÛ¶›ÑcÆaë$B:™Á§ø‘½ á@”ÔP'ºg``€ˆ?F±Xdï¾.*+â$etõ¢hD #Oÿï{÷Ðu MÓH§ÓHY÷KVUU†¡ãói†;ʰiš„Ãa¼^/õõAþ¸·s¦N&›Í2”1ˆ'ªÉd²Äª*A–(Sd²Y›œ,Ó}°ŸòD‚/}ù+lyu7ç¼ûRC)"ñ*B¡™L–:ƒŒÕÀÐÐÑ@Y©Ö”Κ §ÈøÂ ‰H%€;ÀfoOŽ] \æ§kÿAÊk«e™T*…¤Q|^¦´LãPï~ž{úY>¿øÿªÑ¾s7†S(íC©4†aððC±àâK8£åL~öУÜtÓ?£J6šÏÇ þ0kŸ}…ý{;Ù¾m'••ôôô²`Á<ñÁD³ØéÞ,vï½·âزõE®¼ä Š¢ª¤{˜2íLV=ý{¢ÑrwØöxDm}݃ìÙÕË™gÎ “ÉÉdééé¡®®–Žý{(//§¢ªžœîpÏ]ߢ¶&A}C3§Ì"Q^ŽŽ;,ý´´L ›u˜ ªŠÅ"û;÷¢É6áp˜‡z–)“ñÝïD}}}œ{îÙ$!l[AòDA±°Œ =IÊ£UHJHÈ=CÍm:ë!©$“É ùàç¯àê+?D$^EOOõõõtuuQVVF!_€¢„ªªÈòáïa€Ã0‡ÝÌ—î+‹x½^ŠH$B6ÕGº¤³³‹ç~¿Ž¸öãø|> Å,}ý}T•Õ2˜é#—Ö=88HwW7šªRUSMØÃëõbš&ª/‚W’ȦúÀ›!Nãx}DÂr™~ |1ƒ­{ˆÅ¢$ ~÷»U\xáùlß¾ƒ©S§ðü O±iã«Ì»`c›¦¹¯u0Àk;¶IõQ^WC&“!¤hôõõ1꣺²‰Ë.¹–ñÍcùéÏ~„ä1ioßÏeW|Š€9®¼â|~óðÓ„~~ó¿?ãì³®Íb§y³˜¨¹œæ¼žAl§ÈuºžTï þPUUñcÔ××ÓÙ“¤¹y’¢¶*†alZÿ2Õ••x| 3§µÐÛu€úÆriƒÛ·0nl’ÇdÎÜ9t´àÀEáßnþšÇÏ¥«g*ûwîÆ–Šd²&gLBWW€€F’¼ ÅÒÇCCC,¼î¥¾‡ÔP Ÿßm2óÈq É‘x=—$gØd2YšGÇ1,‰¾¾nR©5UQðÇÉdÜÙ-3KCC=‘xÿúþ•¥ÿ¾”l6Ky´Š¡!|a…BÞ­5d³YÂáp©?ƶm,4dMž3&‡$©ìÚ·ƒ¦¦&zº{ú½lÙò+þóÇÜu×wTw9Ÿ¤<*aYÕ‰:lÛÆ¶íRIËÄw†JS¢P(Çe˧˜# ÛK„À”@¶ :~9„å±G+Içt¦Î˜M$^Ec‰ObàC×_Ëö$Šænefñù|xµñ†aƨ©®æ×¿ý9£ë›¨k¨¤®¡ŠÍ[_dúô)ì=°‡+¯8ŸÇû4+µbxoÒøõ£Oò?>ÀÙg]!>\§9Ñçróù| gè=€ã€#+xw°-‹u/®gTãÊ«ê É*]ýI ù –Y@Ó4üÁ;wn#Ó7eëÖÍŒkž™t&ÏÁƒÝT&¨UCgG¿þÍoùŸŸ=À»æ¼‹3gMgtÓ(·éIÏñüÖ2jt!_¯×K6›EUU,ÃFBF•44ÅO>«#{|j€l:Or …„L,%-P4 8N†pÈGr0‡O“Ê Ðqh?ÑP˜d¦Þ^&kaã+ ÔW碋¯Böxñ)~¼^/ªªâ•ÁÈ»Í`º®‡1M“¢£bÛ<^/¦aêE–e …ElËF’%ж‡1 üÃõÇ)jä üZ|>䃃øT?Åb‘HÄ]·_  Hé¡,½}} X(^ ]×±Š:éB’‚‘#Ÿ2)‹%èì¤P( ›îàŸ¡HŒŠ²z²é<~-HY(@!›CR‚x±‰Ä£x…`¨‚úʱäL‹Þ®àäp(ðÌ3O¡tòÙ£›Fú‘˜3ûL.¹b»vngê”Éä >tí5´îÚÄùçÏ QaçŽ=ìÚÝÊí·ß$FE> ‰±Å„£<úë•üøŸ±qãzzº;0=:U••ìéàŒ–&ª««Üñ¹L“X,ʨQ L9ã â‰júûxþ…W°†Ç'›6ëÝŒml¦º¼ŽgÌbÆ´s FÊyáÅW©¬Åìáæ³÷¾o>cÇ6¡iðØcÓÚº——^Iu¢Y–ÉçóX–åöÅÜ~¯×K6o‰WQ,QU…H"HÓøQH>H¥ÒtÚŠ;ÑÖóϯ#Q£7ÙEEEšª’ÉdعsWiÞúææqŒ?¯×ýŒ4o¥R©ÒbŠ¢”æµ·m›@Àmž@Mò˜D"‚Á Á`€ºÊâá ÉV)˜ú»Ü3Î4o]׉ÇcG½@]wç˜ñûý …R2ú–Ç@ xÑT÷Ô¸H$L*•â?нÈÓ‡¢D!m7uÑí†iÅÜ/@,# „J †iRÈ …8ÔÙÉw¿{Õ5£hnn¢±qƒ}¼ôÂfb‘z Ý ±ª†sÞõnú‹|vÑÿEÖB|ø†ëضm;»vµñžóÞEy\å—¿|X|°Ñçr:‹F£ÜôÙËiž4?>÷W_ý ÓÄ4M<^GeÒ¤i¦»ƒÄ†ç|Å¢îD_þ(ñ;äÈDWªª’/fPÓ4I$´nÞ‰WÊ¡ù 6¼ô»w 2ç]çò⺧¸ï‡?¢½£—ÜÎàà &…ÒÉÅbÙc%P½n"¯»C8™,^ÕÁVl•`0@Áðô{éììÂVƒóš¦¢ëFéÀn&YÃ=-9ÕŸ# àóùÊ  ë:†aËd©ª©&(C–åR°–ìN6¦ª˜ÆáÉÔFþV†'ä², ]`ppD"m»df2"‘©Tоþ~êëêJá–ËåwÎ÷ö‘/¦)ê™ÒŒ˜Ž×-À*€$¹Mf†aŒj¤Ò)ÒÉ ’$aÛ^e¹q¿ı<¨ª[ðxLÓ$Ÿ5HgS„ÃaêÜpóªX–UšÅÑAÆ>8Û–…¢ª¥¹mY¥û¬bœ"¿ßG±XÄ4Mº{zðûýhš†¢(ø|>’É$Ñh¯×K.çžþœJ¥©®­Ä§¹}3Š/â–CQ‘<Š‹Cò|ª„,Ëô÷õP]•ÀAÆ,šX–…×ëuk„™@UUñù4p,<’Š&ÉHšû]ב$‰|6¦ø„88”'Ê‘%CÏa¡P]UnèÔ7ŽÃˆ1mÚt|¡ áp„H´œ3g¾W4‹æÍb¢Cÿ4·ä«‹Ýoµ˜œ5÷ü?Õ5 hÞ ÝÝÝX–E$ 7\c( Dµ((~Ÿß½ˆÑë%NZ©TšŠŠr,Û൛‡ø žzú9Ö=¿–|ðŠkضwëÖ­E×*ªÜ #3™,mû¶¨¬£ª¬ËÂþV/¡ãqt@&ºµ&ÅB7 `ƒ$¹ÏlÞÆËHm<ªºe˲Èfs¥šÖÈ©¾ùBžâðé×TUUáSÝæ$Iò’ÍæŠªº5³áš‹5*#µ–‘ÿy†ÙÈãÊ |>_©&cÛ6Š¢ ënM-ašE·¶bJHjÕQÐ4­´žœ™F’$4YÃp dóY‚Þ ííûéïJÒÐàž§ª*@Y’Á”ÕÒóêº[FE–ñzâ¡rr¹’WB’$Œ A_O/µõQ¼ŽAzÈ={0¯,mj°¹hS¡×fÏš}6²,AÔ\N÷šK6×NEE9E²CììÁ²½”—׳}ûN3ý´nÙŒmY”•WâU<äô,¶ÇBÖÜš‰W¯ ѲŽÇB‘4‰8º®#«^B~‰þÁ4Æ4S´ !ؽsÿõãÿbÒÓùæ·óñO~‚H @( gàí{Ûˆ—•c,‚Á ¡p ¯ãüŠÅ"…B¡tïîëBUT7üB1 †Ÿßã¸Wºc›x<,ËÆqÂáÑh„AÂáððõ>$J$¥"Q…בP¹ô \’$4Çqðx<Ã}?j© PUUÇ=¨{¼^Ì¢ƒ"{ðz=¥Pi²Ò4MÓx<LÓ$ ã8Åbq¸V£Q4lÂÁ(éd†¢câñzH¥R¤RiB~/¦^dçöÝÈšD]euuµHjÍ ˆ )~LÝ"—‚Ų,lÛà ÇmÎiš+ÝA)=2¦Ayy9ŽmP(èÄbQl$TE%—Ï‹)XÈè&‘P Kò¡•åõ¢æ"j.ÂéÌFAÏ¥ðËAµõTucP}Qfœ9—ÔÐjkkl#?„ãõQYY‰mfùãÚ§™2å   X¿nCC)¦Î˜MUUX–i!ငašHô÷âÁdóæÍüò¡Ÿñ•Û¾î~ËVBH²D.Ÿ+]¼P=>rºC _À,ØG5S†Aº$Ž z)xÍeY¥~I’±¼&xÁH®qÔÔT»áƒ{ýJ$ƲlŠÅ"¶m—j8ÅbÑ=xø±Öú¦i–j-’$•îST¬|)LŽ<ˆ»ac»Ó"çó¥ñËEÆëõ¢(2¦é†×H((ø°,·–•H”¡Á*cüÄ©”'ܾ/ÝЉøÝS°ŒÇÑ ‡¯Á)1 £T[9îÈmI ]­Â4ÍR?ÔÀÀ ²BS5r¹²G!›ì! `¡É€ª(pD-K8}‰p9Íé¹þ€ŸlºŸ}»0nâLº“ƒ”7ÅloÝKYU~9äöd z»öóÒK/sá…ç³gO›{=ˆ§Ž'ÕŸÅëƒARýY"± }Ýn󙪑Ou’Ë ?n4sgŸEyyÙQñ㥦ªx(Á˜ú±d2 ¦‡H8‚ä¨H¾á¸×p'ŒðX ÏwF1‰ªDénf±ˆ"Yt%»H§Ó”'ÊIåSTê°,›žž^ ä±±aø oõúêì¤i̘áÚ„ŒuÄ}Šª2džÎHsÚHèŒ\|yìóhš†¦©˜¦[‹P¹Ôãð‹Ãã«Id³Y Ã,uüûe·–‚l¡( ÕíS<‡?Ú^¯·Pªª¢ª*™Â¹|ŽŽîürUUP[2ÑmÍ.ƒE:g‹„ Ç*ÑuŸßG  “I‚¦)$1ó`£º5Ìá!s.Âé.ºŽ®ët €u죶~4~µŠÖí;™2e&åU ´µµQ[ÝŒ?ÓO.—£eòtTUeìØ&r¹¯¾²w½û,ê&6`¡σ¢Ïð*A,}€ì`ÙÔ š¦+«âª|€ŠšÑÄ£õøµ^Ë=¸iš†aø±Pñk„ngõÈ·o£hQ´ŠØf–@¨ L‰ªª(^%X –\.‡ì-‚D×uŠz†\ÆCQ×Ñí^;4|Àu;ý3™,²,ãU‚8–AÑ)DˆF£ô÷÷l¥ÒÙV#ab^I:*JaƒF!ø,2ӲT Ç+cXî‰^Ƀ$iHè¥éÃQ”z7°l÷¬:¿ßmÛõ"xmt]' u6ÛHóa6›Åòè†îž¦yÇîiÒv­¨¹5@ÒÌì ¡P² wÚdËÈì&—3 cXF†m;Hö0~Âd$t]V1YØi¯¬j UuŒ5‰I-³¨¬ª'LÐÙ“dôØ tu'ñù|”'ÊyfíÓ¥@ª­©ÁB¥««›þþ&N;ƒŸþ÷Oèíí ` Ÿê*ÉX‚—ÓG7‰ʨ­¨§8Ü,“ÌgI$Ê(Q‡õx’m[Ö1¶©–û¾ÿ-Þ5ó,ÖýáI|ŠÃšµOàÕÆÔåÕÍ;0†œ–eaR¥^SÓlTd5Dye£ÆN¡±i’rCE2H÷’3ÓXE‹B6É`_'C¹ŒášÁH°Y^M¶éîm£¯ç t”†e1MÛÌ–š$IÂŒS¨eêôÙø‚1b‘zŠÎðEЦTj¦2Í"–eãSRíBñEÔZé‚Ê‘mrø’{öØp (#!i>GÖr,ËÂ;|Z³tLíDz,,4üG…™eY¥0‘3H0ÄëõºW¦K*–•G7ôÒõ&ÙT˲ˆÇcäó…Ò[G* ¥ÓŒ •‘ÚÀÈÁ¾ômM’JŽ\É_–H¸ëÊç;]ùØÚË‘hŽ<öئ­Rmɶ‘eE‘K î@”n?Vªm1H#;rah(*mÇȺ%É‹eÙîo4°òضͨš¶dºÍ—¶M$Çpòغ‡xy ’¢8Ž×'>X‚¸BÿtFÅ‹ œ0â ýÓ‹Y~AN8Ñç"‚ ˆpAD¸‚ "\AA„‹ ‚ ÂEAá"‚ "\A.‚ ‚AAá"‚ ˆp€Õ‹c#·XÞæÞŠ-^}ÔcÇæ¿Íeù›Íò6˜LÙŽ\GlñêãîÿKbÇ>võâÒk²8¶Xì,‚Aø[Í»éNÚ€¶åËXyÏj ;ošwBžë¯…Ô² ™?r4ÿ­J®:n{V‡Ï/îžwÜýÉǽ8—ŠDá"oHÓ"îY ÷¬¼Š/² Vßâ¦ÃApø`ßvÄíÕ,^ ´-gy,ŽÅhƒÒl‹±ØâÃ5¡Õ‹ÿDȸ;ªVѶœ{5qÕÊO—ó·¬óÈÀZ›M‹X¶¼Õ‹¯a^éþ#–^vþüc·ï¯˜3Aì+‚Ax=Z—-‡/.bÞMW±|Y«û?&¹5ƒEMÃÿ'ùbéön.çÓŽ=shndÎp  Úv3® ˜w÷ñÏ7\GøâëÃÌ›™‹qóúõÃ5ױζå¬&¸媕ŸfYëGÜÄrónbyÛjî]u/«‡íoq÷ªEbGD¸ÂëqïU+¹i8,nžôE7T6N ‹îiZÄc±˜[“hZIJXŒXl>wÏûó5¢e#véë‰-^]Z÷î›’‡çÎ$“I’É$×Óçó—Öéþÿ"®‰ÅØ1üç¢{¯âª{ý™åšX9sM4±læJF¢eùü+XOlþòášN±Ø5Ü<Ó­A‰>ád&f¢AÞ´cg¢5Aá-'ÂEAá"‚ ˆpAD¸‚ ‚AA„‹ ‚ ÂEAD¸‚ "\A.‚ ‚ ÂEAá"‚ ˆpA.Âß—‘ÏwòæÖóÖ<îørü­ë3Û "\á-vãú•‡ÿh[N,c5°zñáI¼–Ï?|{~,64cÎðôÅGiÇc«Ý¸tG-;iýÍÇÅÑ‘÷,Ïjh[¾ìOßÌÿþbyDÍEø; ¦9AÞ41ͱ ‚p‰pAD¸‚ "\A.‚ ‚ ÂEAá"‚ ˆpA.‚ ‚AA„‹ ‚ ˆpAÞ²x Nœ;ï¼]×OвŒ=šo¼Q”ÿ$¡i7ß|óëZfÅŠìÛ·O”ÿ*¿ðúˆQ‘O¥K—²téR …ÂIQžB¡€ªª¢ü' ŸÏÇ-·ÜÂ-·Üò7/c>ŸO”ÿ*¿ð—;*²¨¹œ ¦i’ÏçOšòÄãq²Ù¬(ÿI"ŸÏcšæë~ r¹œ(ÿ;T~áõ}.'¡Žœƒ‰‚‰B¦(“)ÊÜ»þÔù ¬Þ;DÎ’é)HGýì;ØwJ½OïÏ”^ÿ#ß‹O.Y!ö)±? "\Þ9Žã¼¡Ÿ†h€])_é§uÐÇ¢s"|lñ¼áu¾åøíÆýDƒA¢Á †Ôoô¹º¨.+{K×ùv–ÄÀ`Š3["¥¿³†½½ªŒâÃ~Û÷'ÇqÞô>õäÖ,¦†á¼é}êí*ÿ‰ØŸÑ,vZ2Ì"¦úÔ?—‚ŰÀÈ åÏf³ åßµŠVñ”zºúèzÿõtžw1ºsoùVÑ<%÷©º{–bZpÉÌ(J{Û)³Oý½ìO¢æ"¼ãMª"cچ唂%_ô`ú)Ñ,VÊm°YþäÎáoüE~þ¼ÌÒ«pÌÜI_þ#mÿúØxÛ÷1,ÀßÜý }ÆÛºoÕ>µkÑW¸ôŒ ?)CpÛ«ä+N}êdÙŸ.§|¸üÓW–`õÏ$1rC˜†NyýøS"\žúßßa¤ú(Qþó¾3ÀÚU??¥ÂåGßûÞqïÃ÷úÞÞíx+÷©]ÿòßX|ÊíS'Ãþ$ˆp9i¤R©7´ÜŸ»ì-_g0|ÛÊ¿èòiÀ´S¶ü#>5"ÌŸxBÖý†j„ÅâIµO½]å?û“pâ‰>AAÔ\N%§ú™,¢üb›Dù.'¡SýB-Q~±M¢üÂ%šÅNð·4Û¶¹uüÂÒí¿þ³†{¹½æVÖwÿÆßºæ/,{ôϽNämÃñ?Ç.¿püx÷öÞØ{W¸Û·wöš[/³æ­(ÿŸM^ÿûa³p¼[¾kþÄví]Á­ þùeÞzÔßoäÀ|¢·id{Æ/<æ}9òö›.ÿ[ð™ø“ûÿëûD¸ü}i€–––¬uÿlii¡eøëZZ¸î}r±Æãþs_ÙùÉ£Ö±¤å“ÜqQËqë}ë¬åµnùÛ¸Ž–÷¹–´\7\ööÒvy_KK ±épyÚ`ÑöíÃöhÍòÚÝÛç}Ü}mÖ.áöóÞº’”qÉZ÷µqËzx{ŽoÖ²dÉu´ñšŒç!>ò'ÊöÀ—Ÿàöo^LûŸ~ã¹ø›·óÄ—8%¶iá¦'Ž~_޼}R|&ïÿîþ¶äÏîŸÇ®_áòwSsqޏ}ÝE»immå§Z{zh9ö¾û¹³µ•ohÄqF¾]98ŽÍuŸth°þŸ»ÞG­cIë}Üü»Ö£×û&¾¥Uó÷¹GÝ@kë}¬9ïAZ[ïãþ}î}¶¶òéÝaﻟO·¶ÒÚÚÊmϺ÷µ¶¶r-3h]r®»>ÇÁ9ê[ä¹óQþ“èËÇë¿ý?ø===¢üïPù…¿ìØf1.‚ Â[.¢ÏEAxˉpAD¸‚ "\A.‚ ‚ ÂEAá"‚ ˆpA.‚ ‚AA„‹ ‚ ˆpAD¸‚ "\AA„‹ ‚ ÂEAá"‚ "\A.‚ ‚AA„‹ ‚ ˆpAD¸‚ "\AA„‹ ‚ ÂEAá"‚ "\A.‚ ‚AAá"‚ ¼dÀqÿx±Ý¯ˆ ‚ð†8ÃYÒíI‰š‹ ‚ðÖá"‚ ¼åþ?{ç/GYïÿ÷ôÝ™ÝÓ[’“„TJ(齨 ¢Á‚"öö³]õz•k+.W¹*Wñ*ˆ Š(( ½+$$„$¤çœ“œ^·NÛùý1;svÏÙ“"ˆ\ó¼_/8»³SžyfvóýÌ·IAð½ï}ïÕ]tÑxzhp˜˜@ @ðæÄ“Þµawÿ®žþ²¤;ï¼óS;¼Ž¯‹i@ /EZY„T(‚_Ü¿Ĕ@ @ xIb¹5‘H È’˜ @ @ð’$_@‘1@ ‚’±Ña6¯–ñÑÑí˜õ,9äP›_2cwqÏ5W±{ó/Úf/?”³Þÿ¤Ö9{\/ë—…‹$íŸÇeÛÃËøüçá‹_„/þ½_xòFq÷ @ þϰêÑGøÂ¿¿Ÿž¡Ü‹vÌ΋/|ýÎzÕ/™1üï‡ßí÷ÜH~ãÚm æ²¼ö¬7ò¶ïØãzny\”}«\ùæÓ—†/Î ÿ|¡â¿Ï—Å ,à†û7íÓ>×|{)ßäZ®ÿø©/ð4<Èÿœñ}æüâW¼‚Ÿñ…·ÜÁñ¿ø¯˜3ó8~;ÿn¾ðúù“ Ÿø,—<|׿qû^·@ üßD–$‚JQ× Ùáû:†Gî¹›§}d¯û_yâIœtÖ9û5ßqðm»zÅÈÇQÚï6öòç-ñÇg/nã‚e³f\>ãñËÇÛ=’÷÷#Tlã}‹¨ö®D¯ùbø>.“"çWnÝã>û}·.¸—«ø_üÍB¾T)ž72²¬ Ìy_~à{\ûè7–[ßüž¹ø+ Àý\ûï2ÿþÀ(œ±×í@ ÿ7‘d94¢yñò¾KHH²Ûáû:†§}„_Ýðƒ½îÿ oþÇŸuîž…Kù¸•ZÀ·m¼|ž +HAÅPr]núå5ñv¿éýÜôËkxOÅû’ëâòÑfvºDžoY$íMLæ¸ìƒÇåóŸ½*_(ÿ €/|±úóCÏÞÃ~{~Ê÷ï{úïtðN|ß¿ò§“náüÎP4üèä·s÷aŸãêÿ~;†‹>ñK–~ø~®¸x><þ.ú|æá¯r÷󣓯fÎåmÿ —w½—+.–‘¢‹¡LY'¦bù¼wð¡_ÈÕ·t³òâù¬þæ;‘®ÜÎJeÊz3oÞ¹èÁs¹ùßN—]÷œù®¸x>}7]ÈÕ„¯@ /1á"I ŽL°i[ß×ÛüôìxvÍ^÷wСG°äÈãö¸Ž)w Ux;öu ÃÃÃ|àCŸåœKÞ/¿ûúñƒ«¿¿ß´m×~`hý¶ßü³=n·¨ü߯} k’søÁÕ_æW™¡¡!>ð¡ÏrDaïÎï„aX¿jÏç²à ¡`ٛɕ‚}.‘Gå‹eqT¨˜ÏW¬ š=ï÷>þû_bð¡“¿4¹ø—ÓùØ×8 ‰•¼ãsïdŽœôrÎe'/@‰ß_Mßn…t±ŒãæË('}¯Ÿ° Y–QiòõîŸðé‹7sÑc_ãh2÷p dE9oú.'¿ç_ùãA¯â‘íŸçß.ï“Êíg:ÞûxÇÏþ•?î–èùÙR>òã÷ñÔ{~Èš“—pó}¯æ#?Z€( @ðR. ˪ºgkmdzkøÆWÿm¯ûûÔg¾ÉòcNÜã:²,!IT—p™¦îÝbÌd2ÓÆröWÿ-þ Øë¾dY®€¤( M3lúN•[Y%5ó¯þo.çSŸù&ßøê¿ÅcúÔg¾ÉÑÁ0'–÷<÷ʾ —ý ;ê•=|ñ‹Uá`S‰¼2·ý¥‡ þØÉïfØïª¯_F×Çæwo<¨jyïð¾o>Èïþ]AdE!<‡=¼ï|7ß¼åZ>uÂ|¾íèu?Ÿ²ÊõÏá”ÿÈWN¸¿„—sãý.â‚/¼šO]ø{N¹åwtÆó·/Ç;£¼íÕœ\Þ¶ó KkìK @ðRB–dÉ$ {\où1Çó©Ï|s¯û[~Ìñ{ÝW"™D–&ô¢1Ô¿€c¨ßëUcÐëê1ÛgAUÈZä|i¹ˆÇq\ÒæßZl~óå/óDÁ˜Nf ÓR™(ê)>Þ¾è‘B ¤ ‚?<Õ+îX@ ÁÉí·ÜÌG?ô¶ä_´c.h3ùÞÕ?áü /zÉŒá{¯8™ëu5ÞAY[U’£œïR5A€$AP)LbQR½a˜ÕR)BÚN;—KÞð!>ú§‡÷8ÖŸ©P¸Ü±ºOܱ@ ‚’‘¡!V=þÅbñE;f"‘àèãO ©¥å%3†ÝkVñ‡¯}ìÈð‹6†TS3¯úô˜}ÄÑ{\ïûJY¸Ü¹f@ܱ@ à%É•ArÏ (Ï9¼UÌ’@ @ xQ¸û™ÚÉünTy&<¿„çb@ ÁßUÙs›= ß°_Ì¢@ @ ø»"éÊß.\\¯D¾èÍðé]|ªí,~âÞ½€ç±ÎßÈ=bÎ_Í®+';‚Þû ‹;_™ãg½ÚÓ9üÏoOçý¦õ|!>æV~|Þ ~ÁZn{ï¢çq./^ç÷÷ÞÏ?ø»#@ðD‘Ÿ‡Ç¥Pô·g’5Øø26£ã•ËÿÌ—|‹…¾“·ÎŸ²ÎÎÿæ-g†§x×lþ.§ü­gvÌùÔ7WòÑÛFøüiÀã­ÎM¬;&<ÖCŸmâý7–×}ãM¬ûòÙñØx#Ü|ã!\³ù|îÇ:Ó6åsxæ*Î?.û‘—?Å/.[0}jžßv~~ñJ¾±:ÜíE×–Çû·°ó¿yË›|®Ù|§Í{'¯ÿåS.~'ÿy¼u~yþ¯}w¾«r¼[ùâ’‹¹à8‹/¼ñ&Ö}™Šk5uü•c-ïóòCøÆa'ÕÉ9ø_4æø~û$ÛΞáü¦ÍÅ‚)÷éÞösößxB3}Gö復\çÏ{8@ ‚Ôç#\$YÚCËr7y%ì:_{yÅëžkxs…Q ?ãýŸ{®8ço<µE\ö¯ñæÿ]g¾œû°Oûªx,§Ÿ{Üx]øæÆ+¹þ½çréüp<‹Þ{¾ p7÷UœÃž¶‘}€_nû]ÞÀ—ã‹§ïÃù½g w­†£>»ŠÞ¾ðyÊÐðxŠ"£L¹²$Aåœ×ï—¶ÝŒ´ð[,ºï..žõø7ñmc±˜|èò¾$WœçÙW±áWwóù…ïçú³ïâRîúÇœ_|ßEïÏùüövíöºŸ¿•}øŽÌø½¨ñ=ªyâGN Á?Òó.²$íÁe#…Ýäe‰jmS¹¼âõü%,øÜj~õŽ…/ÌÙ-øß|Õ9œ³ðÓõ¹ÕüjAy¬÷}„¥ÿu0wïgþÎð†Ó~;}<ò”±>°§mþŸîÛÎÛß±vþ€k~yüš„¾œß¹üjGhlîüÉ9ü?üÛÏÁøÕO?ÂÒ…åÚWq*¡qþÙƒ^Ϧøü÷q¼SÏþ–òiîyà*N?ƒýØî/òù-fÉÑaË epßíÜ\>ãõi.ög?ÏG¸ìå;2ã}s÷”ïÑLç!@ðÏ,íY¸HAw­­]vìØƒê›pÄ,þŸân.Ÿûu?to?HÌÅ?Ç\ˆk*àŸŸ†:¿î¯ùÙWýÄ^BÅ$ Y–Å,þŸBBBF’eÄ¥ûg™ qM@ –Ûóñ¸øƒ]b@ Á‹‚Ò:¯æò½z\N>.&B øg.R¬`ª9.Ál4¿×. I’‰$¾,‘H&°ó˜É$ŠR¢.ÂvlÛ ¹¹)܇ãNéñþMÓÄ|lÛF \ôD ]Óq\UöI¥,ä’†i&Éç hI9ÞÖ²LŸ ¾®Ž„a-Ž£J Ô¤ACã¸ñ6º®•ÿNŽAÃÇVRÑ4mr]MC×u²¹)ËÀqt]G5Rxv–@ÒÑôÊó çÀs½ðÇSS''SN ª*žç¡ª*z á:áüDûˆÆ¥WŒÃ'\¦UìKQ”pÿªJÑ­þqVUµê½¢(ø¾7ÚÀ÷ýª÷Ñkß÷«¶úùþ¢*“cò|¯j¹¢*ض]µž¢VŒ±7º6¥RiÚ¸dYF–åªe¥R©æëÊõ£y‰Ççyø¾¦i¨ªŠS¾F•ûžzœ©T+Z7Zý­ÜG岩Ë÷v¬ZÇ­u®•ëTÎßÔ뽯\^ O²ãýìiÝèÚ†ïÛó¼øûÍñTt]G•\ŠE;^G×u4-¼UUŶíx ®ëñôê]â‡[ 8Є 5„‹@ 80I&’5—'’ Zš›Èç UŸMd²Ô¥ShºŽ¡kØŽ‹¦ëhH¸ä‹¡A“/Ú4·µH‹6%¿@{kSl¼kº†ë¸hIË21M×#õu-¸nŽ„aàÉ0ë1ò4±Ri …¿x¡%îY¦YÓˆŠD‹j¤€ì¤HI5âTŒC×´X°D¢ÅÐu|t<' ¥"ž—@óð]ôTjšˆŠŽOµQ^)Z"Ã/xîžËÔו#£³–á #EÝ«y>"fêòJÁà{>Š¢O)Ñû½‰‰ÊeÑü”J¥ªÿ*ç- ѵ„C-qTkhY´Ÿ}={;‡}I3}^‹Zs9UL»SïÅ=­cF,T¦n«Oì•â¤r_Ñý_ù=ð}ŸbÑ&‘0ž—¨ÿ|¨ÈÊLá’LP(c“L&ðd‰T"‰$¹±h1Í$¶Ã0tR©®ã0‘ÉR—NQ*Ù˜ ƒ =aà]Zš1R&J&fRÆ0š°,3>~.—DzL4]£XÌ i)+# #|Ü¢&Sx€"E–¼mÛèº6]”‹Ž=‘ŽŸæG†“ãºèš]L ÕHÅ^uŠ˜P5µÚÓ"'ð =+R`Ä^×w¦yX"Á2“æº^ü”Ù ´ØØÞˆ¡‡ç[éé¨ÜVUÔXLDëLó|xSDÐ øïRRPP ­J<Ø]åi©åUÙ›a?ÕãQ)L"<Ï‹?Ÿ*dö&¦ Æ©BÁó¼ý,µÆ»¿Tpªü|êø+ÅÖÔû©ò^SUÔÉeÑýS)|ó…|”@‡³k=©Ÿ‰Êð¤J£Ù÷}TUv‘q­iZ•á]ËОêI©e€ïMäìËò™^+І.Qò‹475b;n¦&`öœùd24¹„È4×¥cÏ @SSÅÂDÕSÒH$‹Òé&£¨.ÕÇ |’uõ±PH§S±a”Íæ*ÄŠ;™Ïb¤Ñ‚PD$ Jè]×u«rZTÍ¢†‹ ÓLVyQ"‘ ùšj„âÄ@!<‘`Òu?Ъò MC) ›0wC­ò¨D†\P‘C Î(P*~UQC¡AÅÓqwJ˜ І_Ɇ†Ý•u£!—=]n…0Ñä½Å•k­7“§$Ê1™*Z* ë诪ªÓ„ÈTÃ?Úgdìû~ ¹,K¾LŠÈhY4+Ñ¿oþãWV•ÃÂ9®¥ê*„Õ^"˜ü)ëG#’5¹âýÌ–ûž>²«ÄO4O•0š¿Zâ&ºÿ*Cç*…Fµ·¯üeÕüX ÛŽ]u¯Î”WSëuå1ö$n*÷+,jkUä¸2-åÄz€d2I¡PÀ4U ]ŠÀl6G*eáË.¥’ ŒgG°›’a kz•h©O@‰ ,ZtMCÓ5dÙ#Ÿ/`šI XXx –Pè±@‰E®ÕN¾%\¥rØ—®iqò} U‡§Xjù} $ÛC5T´À˜ ò§?ÖÕÊ”by<š¦¡'U¹Š¢L …Ñ45(åÝ{ ‡c´ PfQ¥ê ·(ÁÌy-3„3“{{2¿¯¡LûûùTïD¥á\kÛJÑ2yn%%0þ s°¯ÆnåüDBG®ðü½™É«¶·ÏBd +ÓsKö%l-ú+•¿;_¨™Ýß±7¥¬¤tEG1|oºèPuZXâT/àTa²'ñ²w¯@ 8ÂE 8€1ôðq†í8”|©ü~²šVº.ÅøØ0z $…†M:•. lf„ºô,êÓFœÌ…e隆i™±÷Ã÷=Zš›HÖ¥ð vY´±,³ f“/–ªr`t#|HN†} …X´è‰ºÉãU$—Ð):`¡ðÐK•‚BCÕäüÊ|ŽÊ bѾбH©elU ˆJ¯J 'ªRE,EÛ£q •©_ì%ÙƒQ^+¡<ÇÔ$ò=…5íMhì-|ˆöH~AÙ .“â)s aå:YQBZQ`¦'ö/¡ûõdOÇÜ—ñø ”{¥Öç€>APáM™¢Ï#£ÊöïHô–J%”’ŽO¡¶a1%JQ«EÎLBF „p3b¥C£ÝÉaèar½S´«Öéœ{; èÔ¥CÑ•0N$f‘LÈd²Ù²¨I¡éa®Š¦iäóù²^ÀL&IÖ…áVQK½Õ§¹¥iÚø´²åç $å0.# Ók$ÁG¡i‘§EÓõÐãS¶¹#Á¢í!Q8,@|ÌZFdtÜJo“h±W¥–`Ñ+<,N¹Ôk¥wešÁWª _Þ3“ø˜)1{o¯÷‡ýõ¸LËSÙKˆÑÔÏ´)©¦®?Sùß¿‡°˜z¼ç³ÿ™*¿íËüW Õ½ ³hÒ ëåâªêÆ×k¦*j¾ï£—ÏLÇö‹â¾RY v)ÿ‚\#@ „‹@ 8@pÐF"…[Ìâ‰Å‹ejXVÝR)Øà¸Î4C=™ck˜fè!ˆJ764àº9 2‘§EMX–‰eš8v¦lÈgª’ìCk'4ŒÂÄúêÒªQÕHU%Ù›Z8†È£–C¶ÜRä„û²]œè5 ”ʧ¾•¡`µì½@+ç½LVXò}› Ê·™4Ü}Už4P½)%KÊ^Ø©”ZÉÚ†¡ãû¥8$+3žçáyÉdÇW«ŒÇJ1áV––jÎûgtN:Sr f*<“[™Ç´7!åïÁ;³75“°˜züZ×èù¤}”ûrÎ3 ÂIVµ˜ñËÅ"dUAÁÁõÉ-//Ì(¢gÊo‰——«”) 3öÂT^›Èó¸·P9@ „‹@ 8ÀH•=(N1ìÁ¢Éš©aY&#Ù ºmã¸NU.K”«”&½3®ãâj“y)†®ãº¹iÆ]$Z"±µK¥†ÉöZÍÏu]›EÆã/‹¥HÄD¢*½a¿H€chè€.•Ÿ3½2ÒT¡RI 'ð‚pÿSË{ž 9¨îqWör§ ”ZO·÷Ú5“÷¤VŽH˜ÌŽÅñÕX¬Ô28å½yPþ&ƒ|_Ù[9è2|m_ç÷ï±ÿj_Ó‹Ôöèįâ{U«·‹ë8”Ê×83’’Œõf”35WjêyÅãC!U¿«,×]•Ó…JFM-=á•B¸<_$ŸÏcš&–©AY(ØÏÄð†aHU^–¨úX¥H rSÉò2Ûq%ª*|UŠ–J‚dTå±h¥=×>­,SljC×±½É$pUUIi“‰øŽã€¡…^¥ú‰ÿžÄJU¥$ݘ1Ä©2Ìó½ÐP ¢Æ˜Ê^ üZá÷µÏI­õ*KïNV¢Ú³Àø{?ñÞßýïÍ32ÓúSû–ü-ýaj÷ù/ø{ ¡™ÌTQè:δ°ÉÒ~x:fjðYëúø¾ò¤p¯Ì{©%P Èß+ªð¼!\‚žJ‘ÏçQ’uétX׫ì©ì`-K.šbT‰×qã¼–(DLÓ4dÉ%].!\´í8¯@Sü²`™<~±Pˆû°”¨Ñı†`Ñ«JOé@NdWE–©‚É/iÓB”*›áM}RÈ PÔ*qeŠ¢`èÆ´{¨N²ß“½?†îÔÒÀÕ†ê O¼÷K1õiû‹‘ð| ûCÌTñìïííù{ÍËdt½êZÿ-B²²ÁçL¢eâu¢D@ „‹@ ˆ™=¯“¡áaòùmÍŒŒŒU}‰–¨‰d­îÕ•Éøš¦Q,N`èL-–e¢)>ŽSDOZaNHyi#1MTD•Æ L¶¯ªú5Å»¡‡ÅG;v{N­¢«=T4¬,'í;~m/ËÔþŠžªiøO0‘`© «,?\˸ŒrR¦†ˆí©óù¤8+_)öÝÔQN{ß*²,#IÒ^…áÞŽñ|ÅÓÔrÇS¯i­b•¹03%ïÏä‘ò§Ü™µ„I­e"TL á"bÑ”«„qŰbÑÆLÊÄ k–I£¦€¦iºŽ¡×Å‚%axAƒáÁÞ¸ôq("\t#LÄ/‹e«%‹Û¶ãuÍœ–ÃRåa‘øLæ³èŠV%Rª (H$ÔšÆ\œÄh ¨5=S{­T^Q’eƒÇÊóQNÌToj²}­'û‘±õ1y±©%pöuÝ„`™É¸¯4º÷5ôk©*zð7x#^Œùy!¼j• EŸ×½U!Z*ÃÄ„çE á"£©©!/±A#¹´·ÖíÓ>LÓ ‹¡cÛÙªÏ<T)"¹X–IssSìõH¥¬ ‹%YÕ‹%6ázFE#Ëø˜Š%pT£Ê+¡Õ¥¯â*då c‘‡¥VK¥`‰ª©ª_S¤D‰ÅS *¥¤SQ8 ×uãýVVõ‚0ï&Œªj]•ý5dEÁ¡{»¬è{-ûêõB‹—º×e&ñ7uZï_(yX€ØóRaê}²¿!‚ѹ¼ç$r[.`‰„Q%ZŠE›bѦäbÑ•:†°rX$L3l.éº.F…àˆò\Ò©aB¾aÈØ¶ã8¡§¥F1Çu«šIêzØùÞG«2ÝUM¥"šQ°LZŽ |eω÷ûj”×ò´L5€÷¥"˜ì£á;%-êô^«¢ì½”òó5Âg{Z÷ùëoa¦ñíË~%IzÁŽ_ X9¦¿÷üü­bb_ÅËž¼YS+í×ñE¸˜@ ÂE LÅÎæimmŽÅK*Îa1hlnƱ³qˆ”óYÊ ùUûqlÇÁÐ'«Še‹ãU¡a†aà”· {ž”ƒ+ª”%ÕI/ŒaøLï“á¹h*Z`Ð`¥+äð .=ì8HuÉr¹<º®£i*®ëM3Ì¢±yåR¯^YHÔ2÷+»}Ç"£° ´Z9A{'SÅFéoð˜Ô3%åïÐú{ˆ»êÖ¾Œ%òŒÌ$2*?ߟ󋶫¼fA¼(ç´§ë;µØL‚¤VÑ©$Ï8WS=]²,#“¨Ce>L¥(¯)Âeñ{-„ph¢ªbQ^Kl„È.ÃÃ}±Ç¥M …ËøØxœ˜`è„9-eÃdr¹ü^ ùb¡—B®4Ó*‡É ´²«b¬ sZ*÷u¥¤S,ÚX–‰ëz±hQAY ¨z’¢ëUõ_©e¬Í”Çà»þŒUÂöd”GÇôý™{¨TŠ™Jƒ®²ÇL-A²'£óïi×ZþR®¼õ|ÄǾ²§õÿÞ¢¥Öyìïõ¨U.òö• PÊ…;jí¦û zïºî>yj@ „‹@ 8©,ÑkÓL"©“#“ÍÆ&ò´TV EKØlÒu]¤rwlË2«<.“¢Z%’I”Ru~‹a(š9-DL 4E‹]"A¹ë½®ë8ŽCɖЦäÊ”$Ó4§û3yD*KUØŠ;ÙÙ^–eJJiÆüˆ™ Ū2Æ({{[>Õ˜ÛSIÛ¿§˜˜É¸ß›Ge…À %¬¦Ð{Ûþ…g¥`ù{ŸÿÔãîï=ÝÃû:¶¿ûß“ç/:^ä½™ÚÈV á"PJ²K¶è‚ Ù¢ôQ9âÊ~/µ §ªËTÁí§–Pðó”„Våm©™×i‡Mó¢mµz¹ëzhšŠ¢›û,jzXÊ!aÑ *«~íÉ€Û›á¼?žçÓ$rª'è…/•aH‘a.IÒ‹j˜ÿ=„ÑóÝ>‚iûøGÍIeq€}3yï¢{Îuœ=zZ¢Òäû+pâÒËSX !\Ä.n`S’«Ã5¢þ)†aN¥ªrZ4='²ì¡(Érb>¸n˜Œ¯& É­êÁí³ÒÓ¢é8ɺú8I·R°Tî?QÃÉD"ZîHÿ ©ªd|Ïõ@öÐËÍ$‹$ ª“ÕkU ó­Ê`ª4| Ù„T½¢‚‘ªLët¿§<Y–aƒêÿ²Hy¡*}y@ùÚB¡ˆ¦i$“‰²€÷Ÿ äû¸å{OSUdEAÓuÉd9ÇIÙ£gêÅð>M-÷<Ó}^ùY­ž/ eïO÷´TŠ’ZËò~B¸‚rÒ©Iá%áGaa®ãÒÖÖZn,éÍåðý²”$J‘hm +™X´LÍaI§'÷ï8–^n&™¨«ò´T†ˆUŠ–„Õ€çdA™\îû~˜ÏRaðG¹,ñ¶6­Z˜¢(¨Aõø¦5¬!ZfªV*•ð§õWÙ1²·ÏÿU¹j%Øïí©|e>Ëß娽xmþÑâ(™LP(ÉLLÏçËÂ?,‘J§§ÍKe™çù{=¿Êk5Ó<íkÞËToH-ÏK\pÂ/Õ8E‘«>ÛSnL-þ*Ô !\Á󠾡ž‘‘~|_Á4ULS+‹™É$ãCñºf2 „á[EÛÆ ŠX–‰iDŽÛ¶I§SèºN®à£aÈ•J2ì^_n4 “^˜¢ é:~¹¥ª©¨zØXR J„ë%‰iF¿¦©±‡eÒHš^­+Ìa™Ò‘Û­×)QÝ8/ u™j\ùèûäiÙ×>+S…’T +½E[û5ºÊík=Á.•J$“ lÛ‰Ÿò;…q%,!m{rUžOôZUlÛÁ0t¼œƒ¦O >×±Q-½Ê ž*pö$d¦ãÑ>þ–³Êuƒ¢‡¬T‡^•|G*Uu®¯š¦bÛN•Anú´±EÇQpq‡ñüHXÁ.Q‡¢(˜–E*®:÷©•H´T^Ÿ™Å n·¯ÂN’¤š"UQ”ªq×>S nT YV&½ëø*(R˜T+?òÈDö&j.à XœÀ4“(J²l`*FT‹+òÌm;LHN’ç¯èº7— -!Ë, &E @Ê ›L† –ˆÊ01ÉvA×ÑtRy<‘]’&· d=nSe<6Äk•6f²BÚÔ*`QX‹¢L–.®4ÒþVsrO ðSEËÞ¶ÛÛþÂ9ÖÉfs¤Ráœg³9’úäÏ~v|ÓLb&Žã J@ÉÅw@•À)t‹’ï"+%ßEµt …" 6²–Ú«P™I°D†µ„ã Ê7˾í “÷šã„Â#PøTÁF" ä¸8^¸¯d2äVŒ5PQ”PTD†ûTOˆïûd&&&ï]ÇJ¶£¤”*ÑVK°Ø¶SURyo!b/5*=DSÍþ$Ë×jªº§ÌH¸±"„p1‘w%,f2ô´T–6⦒jÒ@MX–I1?ŽmÛ“‰÷údu0û³øå1•‚¤²ì±8Pö¦DžSKOîKžô²Dá`¬×0Œ§7’œ*Z”’>-Ö¾R4TO¡ÑZn”W®&+þß¶·Y–Q°¡ŠRòVk_:NÙxß“hp]TÊÂu½ÐpÆF×ÓñçÍ &ãv'_Äq6m|€ysbša„„µ3¤id ²…bÙ‹#×&û]I¬|›E‚BÕfž_§0Žïûäry2Å1lÛF*q]¯JÌF"Z×5Òé4õõõÔ›M±@м3n>‡¯Råe‰B¿*éÓuu¨ª2EôLŠ­Z‚¬VO©bìï]ÀàùФZÞÆ½…ŒUÝŽƒ\Ñ0µR¼’¦ø~©f‚þLâF á"PZš›Ê‚@+ºnü·2ÿÅ(W ËåòX–Ià1 #~’#… -û³PöäT šª Šd|USANL±Òqò}(XÂϵR(tl)˜&ª’ð£Ü™’¥é¦ ŠÊДR©„¬…ç§){nî8U´ìë“âØÃ2E°”ÊóHPšq¬QxO­^!š¦ây>žç‘L&0RiÆÇÇy÷{ßÅ­¿»×õ™ßÙDSc#Û¶ï`<ë—·Sp]£ª ÿäÇ9íŒSXyÌJ’j ÛvâÆ„S dUUöÙHö<$ÐWòâýضƒëºäóy/O±Xd>’ÐTÓ²0 É•(ù.¾íãÙ~UÈ\-APé}©ô®<Ÿp¸ZÄ<_/Ïþôªô¦VæM†&ö(T„ÇE á"* ÛIÁ–rÕHEÛ&[§¹u¹\П†:Ç)–…ˆ6†T6´£Þ,Z\êØŠ Ë©‚EÑÂ&“ª¦–+•ŠL–>N$jw¶ÄN-!QyXkAªªN3œâM©zª¼?ž–}­˜$Ë2²TC°ÄÂK+WEa;†¡à\’ɾ“Ã+iÓDDX¦7,Z ªJ^uý/‹£»ûÇéëÀL'1ÊÓ‘·Co™ã+tumbÓ†$¾›ãÔ3Î¥”·I¦š&ó`Ê%£ž%ûú¤?Ê¥Q …Bv„žžÝágI˜7k¯„?î`bbš“M Z€*¥inÖ(mübP *##£ÌÛI__?Š¢ ë: õLÆÈçóŒå†Ë cg}ZÚæH&©¯¯+& =Z€/IP>§€ ^ǶmRšE“¢GÓâù¨ÌùG•†Þ‘‰ß™r°^ïGiÊwÉG§\”,þlr@aO¤ø»"Ê! !\A%ã¸É°Äqsë,¿ˆ™ ü"NÙ®¨j$©k±h©,EW ñË¢%zB®UÆÊ‰ø¶'£ª¡hÑu]Ó5³jlœÀR´½Š˜,w\)F*²™¼.®¯ T%«ïíXµö³7ªŒCÉØ£áõ ‰¼&z$’É .Š®ãò¸®OÑ‘p=×q0MM×Éçó\õ½¯ñµ¯]ñq|]ñI×)ø6äíЫbX /^L1ŸgÝÆ`„^—ùíõüö–;¸íw02ìóÓŸ\Í.z#ž7™È^)V¦æˆT.¼C•Éînq‚¾]ü,ªªÒÜÑDkCݽ;èÚ¹“ÇyœgŸ}–¡¡^ZZ›9ô£8hÁAœóŠs r¹ýýý¤õfº Û“il™η_Îe¢ž¶zúúzÒé4Šn1:2ÊèÐnzrydlš±, G‹A”ŠE×A×t|4_¥äûÈŠÂøø‰D¢Êó‰…Ê*wÿ ì§e_¾£S—ÕúÎío.@ ÂE ü“(‡R©Éð¯è$ÌP\Œb˜r\Òxj˜Žã8¸¾‚^c¿º¦Õ s˲P5Ïõâð°Ê-Ÿò+åDkMS ¢u‚ÚQœÇèñ²Ê*]SKeÂ}x¼p{MßsU°©¼÷¥`­2ÃûC6›‹{…øNß÷Boããã±ôý‰dŠÆ²¸‰ÄèÈ(·ÝúG^{Á˹ëOwòñO~”öö6¶oßÈsžáÁW³xÉ\fÏjçOw¯&]/?ç8î¼û ÆÆÆQ5ì`3äG?¼Ž—¿â_ÐÔ †v¡¢£§¬0'¦bUiÀdz\Å+^¹‰!ŠÅ"CãýtvvÒ¬7ðÛ_ßÊw®ºŠgÖlÁJ„÷ëÎd¸þ>ö• …ÖÄW¾~ OYH__†nàÂÎõЦ 'êâ\•¨:Øhÿ¶°Â*#)YU¥k×F¶lÝFIrHè)š(º¹\Žº†6ê\Ds[ç´0ÉÊóýgm¾Y«¯Ëž˜*:ö¥gѾTæB¸‚˜b~<üAX–‰¦ø8‰jã¾ÒÓ¾×Ñ%ƒD2{Z*©l@Y«±d¥h‰DŽ„žŸÉ¼EQ@)—8öBƒI7 ÛÆ(çDÕ”ÒÔäg56¸¦Šß/Å98µl£Êªd•û¨,­ëºî=-3]Só ¢ÊZU"Oòp]—TʶœÂ8ɤÉàØÜû·ßþ[Ž=ödþûÇ?æ™5[¦moZÉÐóbÀxÖçégÖÓÔ¬pÚ§pæ©çpïƒwóæ7½‹£Ž<­ªR×x~\…µëÖóîw¾‡›¶aX Ø™1víêÁ³3Ìj›K]jº®3ž¡§gÎîI[cÙsĉñŽ“ch¼Ÿ|>ïû¼ð®ýÉùþý€áÑB,V"ñZK´Dç}fË`ê:«ŸÙÊùç¿‘æÆ$ÿû‹ŸrêI§£4($“f|NƒÛìïf÷`Ùñ!º»{H› 44§βuû&6­ ˜¦‰e™4·Î¦¥u+=‘Ž^I2ÕD¡ÇwrqÎU-±²/}ZþYÌþˆ‘}õ T~÷*û+ !\ÁŠ‘EJ »°‹’‰n@.ŸÇõÁ2'ö¢ja‰D¢l°M汤ÓéX¬øh˜)3îÙâÔèÑ¢ë:N9Á^—’$Êž¹ÒàQ’±ã©a×q?ÐГ ü²áï㣨 ¾ì à”“ê}Jn¹ïJ !+eOQd) r• *É6¾ï_Ä ÂzgÙQ|[—lü"Œr¨eå©rÙ wk ;Çq0Ô¶'c¨%=…i„¢ÇödLÓÄ͸AŸ®(ºUþqV0ÔŽ“CÑ<ŠÅ"7ýüg4w4ÉŒðÑ}¦Ê¸ïhm@ÆfpÌ!Ÿ sTN>û îúóƒŒ ûtíè†SáÌSÏÁ.…M7o\ǽ÷ß Àᇯä y466°â¨ƒ¹å¶ë9õ”“úzúY2-]ÈŠ#—Q*óo|‹ƒÍåáGcÑ¢…Ìêhgxd”uk·ÅFS)‹ºtŠª`È&¼ö|ÖmÜl‡ã7/¾0J€í£Jüy©üÚuN=éx¾÷L+‰ ä3Ž<âþó¿þ“SN:B!OR—xnÛz6lØ8ôõö±}ûN¶nÛÆ–M[±Rù¼G®è—«ÛÁÐÈ0šâÓ9g.çŸ,Gý2ÚÚÚhnn 4¶lÙ‚‘H`‹4·´P×ÐJ*•ÆG›&V4%AU~«¨çúÅMÐÌT‚:bo Fk±?áb{ «Љ?LÐõ(|,¬¸'B¸0Åü8Z:‡ƒéFX*7—Ïc™& å§Õ #A±X EDIÃW „Ve¤Çb¨ÂÓ7šœR9,JÀ÷ ¥l;)úô¦‘^ Å?R{2‚YGFÍ´8§AÕÃwR`£ ë Pð²¡Ø ```”þñ1 Ùr¹<¹l˜¨®%`Vk')Ë ÏCNP__‡iš8YŒD‚è!°®ëq3½HÄI¥"†·a„Í9‹¹1йÉü‡L&S5wJɨ@QYßYóZÙ¶mK–,¦¡¡ž;î¸ۻЕ°©_$^úÇÐ*Ê [ ¸ý÷QŸR¨Ké xÏ{?Êöí;8îøc9ãÔ³X¶ì`–-;¸|̰\µ]ʳkë&ò™ O¯z‚¶Yóùý­¿ç-¯:;6mcÛθ®ÏÇþuŒdª‰ÆÆF}ô1ÞzéGijôY´poyëÛ¸à_.ÆM<Ïãu¯½ˆ'W= CÁ–C¡UWÖ*DJ%š®ãÛêRa½-ÃÙ§ÏÊcŽæ_?úqêëëÙ=ØÍêuO2>ÒϬym´·7ñػٶu;†f±aýv÷öS°Kì Ûw £+¡ØP X¶ä fÍî@Õ%völggÏvÞyéÛq‹>:>> Òé4ÃCCtô“JY4¦Z°,‹d2 „ÂÓñ ±gNS4ÉQL¼¨ÿèWT}û[B#q1­ñä^Ö¯ýA­}L>$)8‘×E„‹ !\‚ž¨\pÔ§D'ô¨hUù$%tRu©IÃVÓj E =,ª¡Õ,š„¥‚¦Ø!º®W'3G^–²w$®TçÍD9&RTv¹üT¶¬‹ÈÛ é$²Åb‘í=ÝLŒÄ°Š¹Q\EBUU4Ã!)ù²Žë8ضΞmÌiëdöÜ…¤R)  nëŒÇàKžïÅçÍi,¾ü0±9AÂRQ%7d’ ØÓÒv*{X–ɶmÛhoo'ŸN31:ÀÞp ¯{ÝEèåäûh^ ‘ÐdÍ¢äæ(ºu–FÂj¤®®ŽááaƆ{I×·ÑÖÞF±X$™4ÙXîßÒÞÞÆèè(7?Ksk i±±1úGzñžZÅe—¾§,4”t2>ñÉ÷sìÑ'ðçûîä¤SNâïxÙ xË[߯©gœƒ¦iüçUWñ/~ÓJR²J(øîdŹH¼Ä$Œ o ™¶ ‡t6‘Hê<üðwìáds£<ñäïY³æ2ÃáýìºôöréÛßÁg¿œ[nú8k×®EBǵ ´wÌÆ“%Vfð²Žàˆ#p*>[·ngd¸Ÿ¡Á~LËä׿½L6K:•â„“Nå°ƒ'›wQ4 Ùwð쀾ü8nI%•²èhžCss3ŠVÉbÏËÞ‚Ió÷/ðüJ#ïx™i½©-QäÉM’…§E á"ʆ’’@7Ì8Á^ ÂÊ`Z9 ¬DeS¿r¿ŒŠj`•Í$mÛ&p‚ªÞ “‰~õgasI%îÓ2YÎWÅ‹¼0Š‚¡ÓrX*óMJ¥Rlü›Z8îbÉEQ¬¤ÌÐØƒýÝLLL ë:–eaY&ŠžŠ«NUÃw²U%œ½@#™JS—jÆJN–s-m4M­j W*•âr½²,ãº.¾ìƒJ9¶mß'@!™ Fe®Dä-Ò´°úÕøø8-õíäóaXWcË,&ryêÒõ8Å07I*ñ„þ¤Ê^# ÈdŠŒŒŒRêhçw¿¹•mÛ¶sî¹g³q=<òÈc,_~0…¼îõ¯E/W8;ïå¯&›Í08ÖÏÓOÿ¶¶6êëëøþ5W²}û®þþ5d&Ì:…w¾ýÝ<»~=‡r$×ÿï <µº+·Ýq+s:ç066ÎQG,´H9„MGÅ¡³³‰¡¡p¬¹bØ?Æ4 8áÇÕ„\ÑçÌ3_Æ—¾òŽyÙ±¸Å ž|ò)¾ô•ÿ@×5r¹1|¿€™LR*‡e™f’;ÿ'JʼùKƒuϬ!WpX·qºâ“ªƒŽiZšÓÌšÕN.›£±¡Æ“–Öæøš46¶pëo~Écírþ¹ça–Ã'ýºFRªŽ®øxvÀÎîõô$SM†V.T¡K E­û>Õá…‘h‘‚ÚË÷—¿wÁ€™<)µ„ŠìÕK›2¦Pbzï"шR á"ÂP°€8_¥X,R,ÑuqŽF•Ш òóÊ2Çñçš./«¼7©r¶_ES=-^0)X`JÇ{µ:AW–eŠ®D´‹ñBÓ4Iê}Ã] â;Ù²ñÙˆU×L:Ñ€ªªaçn]¯ª@¦ªjÜØÑ³'¦•c•µ²,ãy²¦‚¢„‰ýåud@5Â'ÉR© R©„ï†ÉT MAÓ4\ŠPá¡QJz|<ß÷‘e™æææòµ ç;ïdÈò„ŠHCQÊ ÌQA]#ŸÏW”¡†¡Ñ§žqgž£Æó;oÞ\TU%›Í188ˆ!›ÌšÕÇÎú¼æu1§£‰„¡³³«›KçrêY'0¸{„¹sç²`é\¶lÙB]³Åöí9rÅ|þë×`¦,†Ÿ`v{=;{F°ÌP €ƒ8œ÷ª³¸õw÷£ið£~Ë.yÏíÜÎÞóAž~æ)~þ¿×sÞÙgcKkWÿ…«¿÷U2†‡GÈå]†‡Ù¼y}½û²%yô º{ú{ï~„žîÑX…×# ­sÝpÙí·¯§gç/Å9rèòp® ³ç‹EF†GIEÛæÌÓOæñ¿<ÅŽî ˜é&2™L_À4“¤êZÈærŒôÓÐÔ^åa©-QHT é±P©úqÑT(Co aŽ‚7š¬-‘aÕµ•©Od§”7ÎÛ¦iâ:R`“6u ÞƒÃã8…qÒ¦B.Ÿx×5¶ajiÍ¢Þ sy¤ÄôŸ@ÏóÑ4MkÂó|$5lü(WtB—$©ÊãSiÔEï}HJä¡E)°ñ<ß6F1s±XÁ™2–Iï,Ë( H'ÒqQ‚P¼PaDN†ÖEÿÍTÅÉvl=…çûXuÍd2ê;ë‘ xnÛzrÃôöö±bÅaô÷÷Óß?Û%IgþìäÝ,›¶¬fnGºýV~qãºh ƒ™qt]§Þlâ¡Ççãû$kÖ<É7ßLKs xï»Y»v-Ç»’Ÿßp#<ü¯~Ýkxÿ?ÌÍ¿þué›6oág7\Çöí;X·n5ëžYO_ïžçÇ^šcW.áÓŸ¹œuëžåª«þ]ñ™=¯“Í›G±ðþ¾Ÿ×¼æB/YN}}}\²94²ÝÉ~CŠ-ä&†ÈårìêÞÆs›·°îÙ§Æ._3ÝDsSº¦1<2¬Žv÷ì`çöÍÌé\@ѲinnBV!7áâHÃ$Õï㙌J>ŸgãðsaŽLc#³[çN^OžÎõ¬Z6­¢WöUŠî᩽W"OŒ*¹èɲG¶dÇ¢¤X(âÇÉfs8ŽC.—#—Ë—[4L«³\nZ×uæÍmC×uºw¬?Ø.à@Æ4“¸%·£cceA¡ÑÐÔ^³ËLÔ8ÓD‹œÀŸ’àR&5CÃqJ5Ýý@Ã0&÷e:¾ì200ÀøHØDÐq0ÓMa¨Sùév '* >·ê‰w­æ‰µPÊBÆóüذ‹M,´ÊØûTQU•R©4­F$|"CºX Ýždǽj"Ñáû>fÒÄó½iýe ݈…¥ïùñ:Q®ç{¨A”ßäb%Â>, ÿùÝoñýï_Å¿øyŽ?åD2™ ¹\ždª‘TÓ466à˺£“w³lëîæÈcgîܹxv–þ‘ÝlÙÚCK[+N“C¾çç7üŒááaîúãÝœûÊsxÿ?̬ö¹´47“-jL²ò˜•üâÆ_‘H$ÈM ñð#qûíä©¿>ÎÃmÂu}šš.yë[øÀ‡ÞÇâÅ‹ÉM Q—Nñî÷|€ûîy„'{£Ž<’Ÿãµ¯}=ݽ½¼÷ídᢃqM6¨L9ñ5 %ê…HN]m¤¤JÌ[´‚¥ËçÌ3Ïe°¿‡¡þþ0”¡·oU³EsãËn\”B×ûwñØ#²ìÐ#¨khErd]›’-ÑHXe­c¶E±h3Ø×Í`_7³ç.¤µ¡C-Åß“™îÁC´D÷eUá øÙø›¬ëjìõ}›|¾€]ÊÓßßã¸xŽƒí8øn.þ}‰Â6u]ÇL71K =Q¥=ÃÐËÅ4 P=ñC-„px”dù©iÙ˜¨ŽëNöW™š›‰žTcõJÙƒ¢–=(Z9K~ªªÙ£¥R(j•·¥VÇûh]×q°’2¾ï388H6›#™jDÕu¬:C6qó%0£q”°KY Ùd<ëÄ%7k í½DìT£q¦êLQNOÉúHFÜ?Æõ<4UN¥§Ä“ÂeÞ”EQb‹¢(˜I3ž3Û¶Éò5hªŠZ%j Ç+ È ®ëò/ÿòZvîØÂ’%‡ :f}=É”G>ŸÇÉ—@ ¯ƒS„‰‚‹*ÉÔ›qÈ¡ïûtuuÓÒœ¦kû&N<áRF†}¬\÷¿?avë\’/K!k–j૾ëSoš yž~z Þwßþö71ôK–,áåçGÒl`ós;øñµ¿àׄ¥¡£Þ/²í£¤“œsΫÈÆ•ÉÚçµ3g~;²æ€¤¨AÑCV´š×ZÑ-´²˜V\‚› ‹˜õ,_ÑÉ1'œ…g"3Á`_ù|ž‹æuÐÖ‘b o†a°xñ"ò™‘øá€ÙœÂR¥»o'^¡ÈØÄ-­-˜fUO¡õ©Œcš&³[ç’-øaáíóOut–J¥X—|)°)).===È6£u'=WùB(rfÍ™…®k¤Rªªbjé°Q©™DQÔ¸g,ËåbÑqÃ{½P(àya¸X$â.à@Å/ •µ@BS«ü)Ë"›Ë¡kZViû€_Ñ›%n&H€ë8 ë(š…¢é3†,EáPQÞ….'ãÐ(ÇWТ&’9‘'Ãuœ°Yf1‹®éô÷öÑÐÔˆV‚¦úF´DžçÑÐÜÁæë¸úûWñè#÷óôÚq"øµ?ù1¯ÿ—7à—E[PôðUiÏÞ–ò#{­*¤'‚8,ƒá“êrØ‹âÅaà+ñyDç8)ì´ÉÞ5®ï/Zð+òlÇÆ/øñ|FÍ7ã& ª{hl'\V*Ø456’ÍpdÏóá{ß»Š[~s+kÖ¬åU¯:B6ƒ‘¬ÇRÂôéÑá^\Fú¶b¥R$ÌzêëÃùèíbt¼‡¿üå¯üö¶¸òŠoÑÕÕþô%ZÛ:xû;.eÞüƒÈçó´·µÐÒÚÊë^ÿZvumaå³dáæÍ›Kw÷6îøÃŸøÃ«©O)'|d@)'øJ9VÓÉ_ã†)â¿á_Гõø@4;*!©Á ö(ÔΙ«éÉz\[cj"è:NöU ëÀ¨ø )‘lÊaaº®St&+GFLTA,¬öi‰s2=NJ/•Jhêdâz©2I¾¼¾®x8Å,õuõ¬zæI\'KBk ±±E·ÐK>õõͬ~ú¯œpôIüûþ?ùyƆ{éêêfýú ¬^÷$GvLhÌ©a³È¨ëÔÄé™–Å55ÎKˆÎ%zíøjùµDÉ÷§U`SðýR•¨3|›|*…‰á0ˆÄ ‡…ÅbÐ0ðË%™‡†‡âõu]§1•bdt-e‚ëP,Ú44ÔÓÛ×O±˜áÜsÏ&Ÿ=7Ï­_KWWÇŸt-Í-Ù°ô°ã8XéPPöõÑÒœ¢³³“‘Ì'ž|ÅÜG}$=ò$¯û—÷„"¥†Â‚hX‰0I¾>¥ðì³ë¹ç®»XýÌV?b1§œx>r?Ïn詚'[†æF‹–æ°,õŠW.ãâ‹_ÏqǞȼËÊ×A¡¼æ5Vû%ßEMÌüOŸçùH¥BùÜܰ©©¬à|||Òå^G†l‚L\í­Þl¢þà&×e,;ÄðÀ. ^M7Q g×­çþ™Ý1—eËW`Yª‘ Cô%ìûc455âyªªÒÕ=@C“K]ºŽb¦?¬”W×B"‘ÀñmO™Q`’Ön(‹l£|­ ^'zH ÙÆó£a2¼=©ltÌ”ER­'mÕÓÑf’H$âïetOW6N·&“I …Žìâ.ÅÜ(ÙlÛ¶q]ßÍ‘Ëf)‹ŒL 188ÈPÿ8ÃÃ# Ž32<®î&ÆGª¿sRA@ „‹@p 5–DINëÏRtÂÜ·b©:”E‹¦i8åraQ.KDT&Y«=«KÈ J… Q‚Ú&«Œû(q| [ زy=###Ìjo`|Ä¡$Òß?@Û¬ylÝö)IÔ)är9^õŠSxà¡Í¼ç]ð¶ËÞIKs CýÝ8eC´µµÇq¨««CòTJ’$Ia7tÉÝc¿ÊêMñX˕ˠœ# T$åû…8ßŃ*Ã0þ¡®30ÂE='•áu‘'&8‘ÇÅ0 LÓŒC~<Ïc4Ÿ%a˜†Ä5?¹öö6ÞúÖKøùϯçÜsÏŽ½7¦i²bÅaÌšÕA¥a;6Å¢M[{ý‹6V]3uEÎ’²4šÒm¤ ¬Y»Žÿºæ§ŒŒ{L:çÏç[ýÏ>»žk¾ š¦·áêo]ƒ‡Ž‚ÎúÕ]lZ½%ù²Lxî¹Í´··ÍfH¥Ò ÆÕ×.~ãE\vé…üûü;£°mç&N<éÔ ñ놞 ‚84°lO»ž¾ï38Ö‡mÛ†A:Ž?Ëçóaèa‰¸,r( r4Ô%hHµ€¡á;YêÍ~L3Éý÷>Èîø ™ügžy*™\ÛÕ)Ù¹\ކ†ZÚ;1˪¡Iš¬ì§úd |É!WP¨K6 Ëu¸®ßW¥R üPH¼®ëbÛ6ŽãÄ×2B*Éåò( hL5£·Ö“J¥Huø±×IÓ´ª*{Qõ/·8ãäÈO„ txx8n8ÛÕÓC_oÃÃ#8ŽCWw#ƒ½ ŒR(I&˜¦I>ïbÛƒƒ£x¶O דp‹AYjA.—GETB¸<%tôÄô2Ǖ՗4]GS¦x¢¦’LæsDIøú”ªV•ÕØ"Z²ÇJ&HFÕ±ãñ)=…îdQ‚"‹-äÖõkؼcÜ÷ +9š9mlß²ãŽ[Á÷®ù.ÿÜ×hë°8÷•gsäÑ+8çÌsîeÉ’¹ô÷îbÍÚuÌjoÃwæÅ¡VIÕ"JF©Œ³¯PQߊhìQÎKäq‘$)ô(yHeŒ*¡+>Ä÷=ÇÖ¯"Ê-°K68Õ¹/aNÀ¤7'òÂÄ‚ˆj ˜*‘egA³°,‹öö6nþÕ/Y¾|çž{v¼Žištw÷000À¼yóÐuE7ãrÏŠ†©FŠt:M:¦| r.©TŠÅKá÷¿»…\.Ç¡+VòèCòÕ/_Áû.ûPÞ¥•ól¯bU˜òÐQm[†w¾ýmX–IwwwÜG3\ŠhŠÆ½ÞM!?Æeo¿”ŽŽ†ûÆ8õ¤ÓÉfsq“\qÿF"¦¬6 |G*Qr³Ø¶ƒ]ÊÇ"|ld] PT\Qϲ,Â2c.¹BxÉ'ŒÉR±’õØ…qêšÚÅÔÒœ÷š×rÔÑGÐÖÖZî'nIÃÕ]däàdéíÙN"‘ ¾¾Ž:KÇÑtÕ'›Í‚ï‘Ï20†žuÎ_<íû¤FÅuWP¨£.¥£©j\þ;º?*=®•‚ß|üÀeb4‡ïd)).FGG™$›É2>>ÎÄD†ÌD†®î&2lÛf׎~FÇÂ2ä†Ù€R È=r9‡‰ìDüö3…)G/#E á"f&*‘—Ä0Œi¡Pz 4EÃ-)$ËÆŽªëå§Á•¥ŽuMÃ)k•°¬°J '˜Ìg± ¼Aä)ô¸¹$P%ZÉ$Žã`Û6iS¦{dr6LdætÎæäNå¯û)6¬£¥u÷ßû0¯9ÿÞóž÷³jÍÃ硸ž†ØLLÐRî±…ºU6ÆÊ=fÔ8´-z‚‰ ¤&"+Š ¸ŒŽŽ¢iuuuñ5±KùØCâ8W@QrLαJÅPJ:v)“ó))I-…D¿º¥N6âK6~ìRÓÒàî»î`Þ¼Å|ø£cÖ¬Ž8T `ëÖmlܰ–… ŠÇ„3W… §mLÓÄÉæI¥R´×7Édðm ì§¾¾Ž‡~”ó_u(¯½àå$L“’¡pÂÑG²iÓ¶Édz|ìÜ©:…|ì£¼é —ðø_áˆG³ìà¥8A17&–e±cÇŽ87ª{çÖ®]Ëž‘\6¬[E2–´ö¼°FWeNˆ”Pãêb%ß%çÙ¸ŽC!7ÆDa4LÀŸ˜ ­­•q'‹„Ž®;H¥R)`ÇÖ“"HÒiLZ46i蚎ã:ärY´”‰eÀÓO¯¡¥¥…ÓN;…åçŒDÍNí’¢êÔ%'ÿIÎfshšÍØØx¼,oôîêgÑ’Eq¯t:Vç’Âï¥ã‡¡˜ I…YÉwq¤Éª`ºâ‘Lš YÇ%ç„b¢add”LqŒ|¾ÀP¶m3XîÇ“Ëç)äI= Yáu E€ŠãؤRMŒölcÅŠÃQp¸õ¶ßJYäó=t9‡²‚ßþæ.¿ü3ÌŸ?—'Ÿ~ŠÎÎÙ47‡}89ìJ~î¿Á¡!^ñÊ×qØÁ‡ãyn&40U9Aà»aÃH i IOáÛÙ8<&mEW®˜gD"ŠÂr^@Ø·RÁ Š(Ž'<;Ž[QyI¦Tj SÃó<<;½%ÅÅT4 „!} °‚ä†q(¸Y\rÃLh’:ÈšIÉÍãVS/?çlJ’Žhxž‡iš”ÜÅ¢M]JçŒÓO%—ËÓÕµ…††6–/_FWW7@ùu£Ô5¶á”=;QhÕàà I^ñŠsùíoZ¸ðüËPMmèé T,rô +yrÕÓèŠON†½÷R.½ôBÆÇ8唕¤R)¶ï\VC“ae®î–-;˜ßþúV>ÿ¹Oó¡ý+o{ûÛøøÇ>Aggg¶§Ttm¯ åó‹“!H%/‡“e÷`?…ì  ]gbl0~­àPY ÎwÃ>$EÆ»À²,êêÒaþ‡:ù|ž¡¡!Rf½cH¤©O¦È+EêR“•»J¥%Å+ýÙ¶öK±C!ßRßDK};m³æª?)‚bøP ²Y$X¤ €ä)xY\×el¤]Cƒä³£ŒôÓ×ÛGw÷.2Ù,Ùlxå åÊ^N¹ù£Fhóy†G³är&ƒÃ㸎ƒëÖú¾û‘C0¼5úOúrí0¥¤ïóº@@p€`Ttm<-q¾¦¡• Õj¨)Xb£"(‹E©Êe©0–¢Åν|ÜÊ b•„ øé4¶mWTyšüÉ T?—cÇÖvìÚÆØØª{Ùl=‘b €… ch¸ÈŽ­›±)äuÖ>½¥K$Ré4ÿýƒk³Î:×ÿË«±ÒÍlÞñóç, çE6,ž*Çç¥*jè)2dR©0ü-0‘ážÐJqgu·rÆ©ˆ„Ñ ›©T ]×uÑõ0wH–eÇ%™L†û,âP/]×ñ$·ÜQ\‡8)zÊ=\îËc&$ \Çat¸‹P³^çÙµÛØº©‹3Î<—ú¦vÍÃCCäK>…ì(u)Ñ|Žù³Ð5ßýþvÚÚZÙµk7<ðP9ôÉ ›~&ã9˜ÓÚÆŽ]ÛdÅŠÃøî5_âcïÿ%Ca ;?=ñõ)Ï CÇ’f‰ßÜz+_vVC‚?ýé.òù<Ç÷2 ›|.n¤X4)† » |òS_¢¹1É—¾ðeL3‰ã+¨RhÜGIùñýê‡ ø¹b. Çssd³YÆs#8¹QJ’M ó³´¶Ï¡àfpƒ”® …Ü(Žà¹Y&󼊹°_Iô=*¹óøãí·qÅ—¾…ã8Ô'S(²‚¢È¸R) 5ôKxžæ7•,=‰®k(õ*~EƆÅ# ˆD©èR <|'‹[ ='×fbtÇqî%_,H¶íT…w ‡FFÆbt4œ‡BÁ%[(ur‡|E”aèE)?ϨøÚF!@M!³?ÂCˆ@ „‹@ Ø«x©-ª¦¢•¤XHT –ʰ0ËŸN3>|Ÿ \"Ù¤½ŽC–åXiÞMÓ0 B!ÏèhXih¼ŸÑ‘Q&ÆÂnîiK£®1ÉÄè º0<<ÊÈðý»†Ù¸¾‡]Ý8¾‚ý\?¥b‘|®@O÷“¼ìeË9óœ“HÏnz–ŽŽ6Ú[04ÖO.›ÅG „Õ8WÇ$ÛÆq]ì}&ŒÄd—/;±øp]ò )òù<†a`èFìy* a ë‰d‚|!e™LÆðò¡÷evkg,šò™\wòi=À¼ÎNÆGúqÝ"…\õø žÏ–5ëXzð¡uøÑLdÝ0<©Í--Èù,šìá'Èû.ÒÏŽ­9÷ܳùÎ >óïŸaÜ ö¿òÙËyå«_É“O<ÂáG/§¹¹‰zÓâþûdhw?---´µµrÐAóyì±'øüç>ËÂEK-pÂq+yè‘ë˜5«#¼´ÅbM“cÑÚv¹ßHaœL&ƒçdã{8P\ÉÅsrŒr¸v6ãà¹x6)Ëbb´M×)æÆP5•|¾0Í$Z`Äߣùóæ±nÃVv÷öÓqÐ<&FûÉ»N6‡ž²”<Š†ê–Ž.Y“Â\N¢ëÃÃÆÇÇq)’Ïç1 ‰|q€ÁÁ!œ²Pill P\úz»êï!Yz»&2Y2C#Ld&2»»zgx$ËÈP(ªÇÆs ™*q1âÐ4×õ1jxL*=#¥Ší•)áœû#Djy[„˜B¸ͬz_o–ÊÉõAÔ,Ñ:>3”b-oåI†‹ •Rœ¢{,Š®„a(UIï©Tšñü«×mÃq\.\@[k3¨>º®3§s iƒ±ÜNÀÜùiÌÔ(ûäg¸îÇ?¥wwÃÃN?ã nÿã}Ld'8tÙÁ<»ñ9š[Zâ¹ ;غ­›ÎÎ&Úçt°sû0ííÃ,]&>kš†ëºX¦6åÔ4¬&4MCÕ-4]'eYäŠaˆMTB `V*ìqá£ÇÞ¨TÊ"™j²ž¸ayh?Ðp=×qÏØŒglš’$U ]Ï¢aòû®n0MÆó#äry|7‹¢†Æ ùеÓÕ³1 A+;]ö`²ÁâƒCWõ0S)òÙz}C˜.ƒe™Ì™3ÇqXõÄ“|ð—“™€×ÿË©\ü† ±KîúóŸøþÆ-äóy>sù—èÔu¼ºæÉ¼Ï!¥7b5jHFEN8ùxùËÃ\÷?ÿË5ß¿†ÿøä—øÊ—¯à˜cWðîÄ;èM òÙÿø7¾þ­/sãM7rƧ0k^+7ýêzz{ûØÞµ›µëv£i sÛÏЩtâ86²6™t^t]TÂ0¬Bn„Ñì¶mÇ…& c¬~ðÐHeþAóHY°yóV Cç„“NetlœÆ†z\'ÇÐX7…B á÷ÇÐu&Fq…4²™ä¹M;Y²ì0ŠÅ"W_õ]Ž;þD$Û Åh.‡Ù¨6Ž[bl|€b~<.,)I:šgÓÜÒ‚k™ŒfÇØÂD~”­[602<Ê¡‡.§·¯ÞÞQvwõµm^~îÉ´¶w²£«Ÿ@Ã.ÉŒÛlß±››wÒµu;ª¦cYu8¶ÍðX¦æw·d+U¤d‡íšÂÁ™&4ž¯Àðå~Ÿ@@ðÏôCP6¨ã²ÆS*…EÉæˆ‘À(Iz• Q¦4SŒBÆ*K+ª‚FE/ÅETÉEWt]Áql4SaËÎçÈd2ÜzËmü×¾w_”$~&l4h%¼†«¾÷Ö>ó,Rà²ä ¹\qÅ׸÷ÞûùäÇ?GKKç¿ò ~èAž~f=ÃCý8¾BÞv˜ÕÞB!§Ñ¿k9ÐH$‹¬_¿†ú$­Í¡°+††^¢©WÍ166ùˆ9j4¨év ŠE;Ì (—¿*8¡‘W’tT¯D¾h£”²øÅ0DLÓ4R©šâ“Дt Çqñ<Á±0çb``¬=¥"ÙL9áÙÍ‘², Ès•ÆFÇp‡¾Ñ°†HdÐØÙ=@]]š#=ŠÃV¬ ó3\‰þþ~ ÙQ$`ûEÖ¬ZÍÃ÷¬fîÜûÙ´éY¶mæ§?ºŽÇÿ²ŠDÂà¼WžË¡Ë—Ñ×?ƉÇÇ3k7rþ«_ÍåŸþÚgÏgtdM7Àu‘e×uQ°ÉåÃù|§0Îðø#ýƒŒM ”Š,_ö}è ·¯‘áQþøÇÛyík_ÇÀÀ ]b°Ù‰!Æ yZšR :Zòìšµ ÐÒ^GIªg,g0¯³ÖÖV|äQþt÷jV¯¹š––v÷öÆ÷Œe… à ©7à”óÊ’V#i3®…‰þ£C½ôö  K¥÷Ùn¶n}ŽSN=Í6142JW×Nþô‡Çè˜UÇìY<üØ&Òu`çÊÕÃ’IêZH&, e­ézEhátѲ?Bã…F@0RÁÝk«ºê†OZá¸ù¢â‡@ðÏÈ­·ÞÊÛÞö6î}ð'±`™*R`2tLѬ*!ý-I“ž˜È»RY‚Wöµi‰÷•¸ ôÊxžvä&Ùžzò)>ñ‘³ióV¼°2mEe¢òþ ?6ÀêR:õìêÙÆ[Þúfþãs_ddØ›Ú ¾ì`ZIæÍj¢©%¡K(j€n´·†]á‡z)¡ašIæÍëDÓ4|¿€™L’N¥H—Kîj‰4V¹·‡™nŠÇªK ôD]•ÈK¦ãù‹ŒØŽÖz†ÎðÈ(»ºcA¢ÉÓûÆLdû㈣ýƒdò¹lÛvhjnddx”Çÿ+-­³øð>Ä¡Gž„ä©x¶LI•Püq†ÆûÉd2 ÒÖÖŠaÜøË_ðãkÿ‡ï}ïÛ¼êü øõo¯çÁæ’KÞ@"aðè£OÐÞ2‡•ÇO '˜;w.ëׯçÏwÞÎé§ŸÆM7ýš§þú8W~ç»Ì™3›l9é;j>jšf,X‡H$ víÚÍÿû#;–a÷`‹^m­õvØ!¼ë]ïåÞ{îäÃù$+Ž8óÎ{%¯|ùù4×wĹEº¦‘ól<;C>Ÿ'©‡¹CýaóJßÍ1‘edd”B~,¾FëžÝÀàà­­-ôôìb``ˆÓO;©ü]ù-K—.&ŸCÁŽÙJ‡GH™l–|q‚¶öVÒéÙ1›9ó–!:o¹ô“\ñ•sé¥oaxx×õPTJ…&õ°‹N*e¡”ô¸xÅc߉n8d'†Ø54Äpÿ O=µ€W¼ò<ÚZfó‹Ÿÿ/ÝÝýôt¢ªJ\ Q>ÏÝ»v‘Íð\7˜.Z*óR^ªÉñ×ýä:Þö¶·1>>.~Ä‚bžØé„²dŠ6¹ÂK‹@p cjéiLeydEO¡”=,SEIXæ¸ÚÀÑH ÉBE®-X¢ÿŠ®„\ þ"ÑÒ××ǵ?ü W~;lL(ÛÓK¼{Û=ükµ×ñÀ½rÑ…oÀ÷}šššÂ/Ëâç7üŒ'ÿòW>ò¡÷ÒÜÜÄw®ü2wþén~ý›cƒ,©C¡X`ÇÖêꛘÝ9‡±¡ ì\¦œ$ߊëäØ5Ÿ‹_ÿ¶øþhnnæ—¿¸‘;îø#?þɹõ–_ñ“ëþ—ï\ù ¾úÕ/sÅ_£¡¡!Éûx†T²‘‡Ym Lä4Mã¶Ûoç¶ßÞÌåÿñm|ð²ðŠóúiljçôÓOã?ü)+^FÁ)WÄ+‡Àç†èÚ5„Œ®iØ¥<#c6£ý¡Q.Ù ôÆ*™Ð˜éÇÐAQ|6=·žlÎeWÏn.¹ä"¶nÛÁèȯ}íë°í°W)ÐxvÃv¶nÛÁÈÈh|½—-[“O¬à´ÓÏà Î…|í«WÐÔèÓÖÖÀ_W=çÒX–‰­¥±,]Ó.‡(ZXÙM) ±ÕëžÂ¬ÓñlÅL†=nu$Ì4NÞæ®ý!MM-\ú–w²uÛ.núÕ͘‰zÖmܦëÔ™…ÂŽªJjޝ5ü©] ì¥çñ¨Lü6B¸8UÍ˯ý@£Äd~G””5´,3"z˜TîùaI/2i ¹…ÍÍÍ‹Er¹õõõȲL¡P ®.,—PÍT(}zzzx÷ÛßÓ«Öc”À³Jå<Ë2±scá— ¹"Èš‚+°lé’ÉýØg8áø“™=k²¯’T êÍF …< -ä‘'VñÔ_áÇ?þoÆs#üøG¡€¹íw÷1¶î죣m6ÍM2#£»éí üö$ù¼G×®ÚÄðÆæ&’ɤ@¥¥µ™]Ý] ÷£$ êÒiZšS˜¦IÔϳ¾¥‘‚—÷¡¹©‰¾þþ¸¹e_è!عc ‡²‚Þ-hnjÂq]²¹ªfa:¹ì( ³b~Œº†6Ɔ2lß2ÈÑGˇ?òa ÙŒÅJÉÕ±‹yŒt»4ÆÆO‡Æ2­sÙµk7+VÎèèç{>—½ëí\ù½«£[ÉèØº¦a%-HÂPf‚ã9†+¾ö ~~ÃÏxß»ßAKK ;·obÆÜpýÏYyÔ©<ôø,\¸˜ukŸ¡¥­µ.–Àñ]œÌ~ ÑÖÖŠïdyã/fÞ¼¹|ýkWÒËNÞþöwsÚi§à8K–,Áq]Zèïïú€°'¤€SÌÍ» ÑÛ?ÀDv˜;¶à:.™l¹!¢aÐÚÚ‚ß÷:ã ‡^º³Ï9—­Ûv°iÓV^ÿú×Ðڔ•;èêê¦0‘eÙò¥´µµR×ÐB±hÓÓµ-l0iÕÓÙ¹€æÆy\ù«øãÝëøê£¹­ÏÎ’Éå¨K§pÛq(¸ìrGûÂXŽ–†vr¹‰DX2{xb€áÑnššQ0(x9:Ûç¡:+Ѧ±9,ûý½ÿüɄŧ?ýQ¶oßÉ7¯ü9³Û“hŒöM©þ ÓJÆ&1Q"~$fZ6õõžGå:‘™ºÝLË+Ç&B¸‚*¢ª^&8û¾¦iqRy$XTU-7 L†^¤Ž®§¦W«ðIh¾¬¡&%r¹,ha×s ¥\µŽmÛ¶qô‘§…Õ‹Œê'¬‹—vÒÝÛ`%_áÄãâœs_ÉOr%Éeõ3»Xº¤-LdêÏæH$RÌn5æ EËøú׿I6›åŽ?݆«ùø'ÞE*ÝÄåÿñm¼¼OÊÒÉç twc&²dñb/ž$¹  ¡‘»}Ó.L+Iÿ®äD‚–æF6o꣩¹‘ É$LŒŒ0

æ«ÌYb"3JB ر£Ÿuë·1¿so¾äR^²2+ž&!%ÀL«€ƒ.OðûÛ~çv,XpŽ+±{w/g´6±vÝãü¿½ïüçؼ}-…l/®´NÖs°,“®]ÜyÏ}\}õw8ó¬3¸í÷· ë:¿¿õ÷¼ïƒáÈ#à‘‡á/¿°ltÂÙgÉÍ7ß‚… D×5LÓ¤Á0R˜å~Bã㸮Ç1Ǭäú® …•¢ÄÕä¢Âƒ£}$ô€lqŒb1\–Ëåe||œ]=»Y·~CÙ£1DW×N_q4‹.äá‡`hèaæÌ>Û ‹C<·i#gœq–ibçò¸…‡ºŒþ¾†|ššikIãÔÔ×ëÈjÝÈÛYfÏoC)Í¡¥m¦QÇM7ßÂm¿œcWÎaÙ¡‹ÈgFpŠ4¶·b%꫺· ஡…¡±~êÛ£»þü{æÎiÅwó”*< ÍMM46…‚yt¤þ¾ŽYyùB›où)vÑæË_~-M\þ¹¯Åß™HDD" ÒÓZ—ªCS\O¢à§}ŠÈç 5ÇLbdê²}&{+«,„p(•#Š~)a?–bÑ® K§ÓŒŒŒòÛßÞÄÝwýÛvhl s;òù<¶P—Ã^&2YfÏjGOŒ °üÐvØ¡455ÒÔÔDss3_ùÚçX´à ;ôeüúæßpø‹yfÍ Û§d(¨¶CÉPxnË6æÏ3øâ¯ #iš´´ÌæÈ#Wpøá‡ñóŸßÀSO®ªfMAÑ#m¤ Ûó0 R¡ÄH&Cnl€ºT3þÈûÎrë-7rÉ›ÏáCVð½+¯&_nMß×·“¾¾XIå‡-ãÈ£ŽAÂeÙÈ(ðçÛïC5! ìêÅHŠ9ÆÇ†H&ÓŒöQ2[vIK#™L†U©ÊmÛ^z(óæÏcý³øó}3ç¹uÔû²Ãyèþ{Ð’2O?½–Yí4µ·ÐÓ½¾¾R‰z–/?¾çs$SMd³™rÞH(VÆG{Ùµ£‹ž®­ŒL •dyóçrÔ‘G²~ýz.|ýe<òÈmåÒÃ1oþ"æ·Ïbt(I-MlÞÜÏü™k|ÛvLpò KùðG?Æm¿ÿ-íX–EÁ•/[ISº•«¿{5_øü—8õ¤“ø×O~€‹/|#¯9ïµÜvÇ­t´Õ366Š8± Îd2±'Ä){!r¹u!úãýÜsßêXLt´6°`á"zzÈç³X–NSc3I3kdx4¾ó¶Såi‰òÊö$,j ™ºT§8mû©á`‘W(©'âõ@$ç  QrþªÕwÆË"¢iÓŸgD Õ™L†›nº…»ïú#s: 5 Å¢ã:Ô¥Ó´¶43oþ\]q4«žx’ßþæZùò_eáܹ¤¬F.¿ü3Ü}÷,]¾”7¼á_8äð£yü¡'±¬&N;ó4d_£«w;ííí477së-7rýÏÆyç¿‚SO;‹ææf,Ë¢¿¿Ÿöövúûûñ‹.züù~ ³ÃБ\©<¾É0©ÝƒÝô÷÷cgûÙ°išì±³{„!Ñ>k.·ÿîÏlܼ“N<˲xøá¿ò×§6#Û>ª --MÌž3€µkžáŒ3OdÙòƒY½êi’É$k×®¥·¿À¡Ë;9ûœóX½êqÖ=»šE ÑÜÔH[9ÙÎÜìêÞоb‰¾Þ0ì©¥m6#Ã#”ü"ó,Æ25šZÒÌî˜ËðH7®›#Jqð¡ÇpÖI ©Í¨‰€ñükŸ|€¡ñ¤Àat,ôÚèšF¾XÂ4ê8ïü Èår\yå5<úÈ}üè'?¥¥Ñbxx˜bѦ±esg5±³«Ïó!‘H0<Ÿgb"CK£…]ÊñôÓÏ0:ÒǬŽ ^.sÆ¥¯€ž]ì~ò)¶ï []ñQU…ñ¬ÏÜ9s1“CãLd'âÐÈy³šxÇ»/aõª¿òècræYÇqÈòƒ™Èd1tÛq'“Íb áuknjd"“¥§{;‡¾ˆ„YZjâË_ø6ã™--M¼û=o¤©Egd¸à ]ÍÍM±huº‘&m$Põ äŠã ²áÙµÌ[°˜ñ¡Qê[±L-¥,,†Ë#ƇFQ“m­-äòù04³P`w×.\×塇£P(qÎYç³jÕzþpÇ£˜V2öžL-uÔ7§I%’Œ çâëXK\ÔZ6SCÂfò®Lݧ¦ë$õßþöwEr¾@p°§ä|!\‚X¸<¾êÖ¸¹"@É–bñ•1†É¾,†aÄG•\}ô1º»·±mÇæ¸ê@_ÿ}»»é˜=]Óñœ€ý×OðÉO|œ¿>µƒÿèÌ=¨‘ñ±qæÏYÈwþ–¦Þõ®÷2<2Ê÷ÿ™gŸ]Oº.Mf"Ãèpó,añâEÌë /F¡m–ebÏmêâÈ£¤1ÕL2æxÄâ »æè ôîdÇÖìèAÆ¡86„lՓЊ®„ªYŒ gùÚ×¾GW–w~ðm¼ìe‡ó³ŸþϬـë+'¹QM˜Û9‡¦–4K—JKk–e‘ËåxÝë.à¼W\ˆçù–¯9‰3Ï<µkWѵ³‡Á¡ ż— nijdþü¹lxn ƒcŠã$õñy ö“jHc&“œ}ÎyåªbEZšÓh8NŽú´AѶIfªŽYóxõyñ›ßÜÌûÿß'¹ÿÎ?³xñbr¹½½½4·´Ð7´‹ßÝúk}ôa{t#¿éTŽ;þ$þúè_xè‘G9|ÅÑŒ NéøeQ(inndùÁG¡ë:?ÿù/ÙñÜ(éF8þ¤¹ïÞG¹è ¯æ¸—A&?FÊRÉgǘ;o!+Ž\É–­Û©kh%eÔ‡aˆz ß÷1µ4¨>ùBßÉ2Qò,}è>žxüÒ©½}ýäóæÍ_H!ç148Ác­&;ä†Õ@}SºJ¸Ìn¯ç¢7¼¡¡®¿á.¼àe´¶6£›á}m–«pºNP¾ž]ól\¾8\'ICKš—×ýÏ/ùÓàø ²íó¦·¿šysÛ ¤V½™1ädüݨ$U×—®ve‰ºtŠå‡LWWm¸¾‚Hh‰4Ž+±`ÁAÌ_x0»víâŠ/~€•+—sÔ±G“Á.”–i2RÎËêdh(C*Qdžç¶ðأѥP¼D…/Ôr¾‹-W ŒÈÃÕác%[A6¦‹”}ñÆT ”½y]*×UÅ!\„p`á²~ÃýÓ>‹…‰ªâžçU•:® 3 £j[ßÉ’Éd'—˱{w/ù|ž\n” ,2r¹<¹\˲¸øâ ùíonÆH,^¼ˆÅ °ì\{í9òˆ´·µÑÓÓîÆÇÇØM6—‹‹zèrryúúz CgVç,ËbNÛ\=En¬X.ÛlÄbK·r¹ƒ}Ýô÷îdëŽuä²9æÍ›‹Uo0P.Ÿ›NÔ38’eÑÜŬٸ‘ßþæ¶míå ßÀ/¯» €£;šÇ/%C‰½2ކ†}åëWð/¯|#'Ÿusçu’Ɍл»›†–FÒ©4‡ºˆùÍÃu]vïê%›Ë‘ÉŒ048L)PI¥, —‘±<;wv‘+b{ÐV ™-»°ªZs{’Y-åëþ ’Ë{ßó!Vy—½ã}¼êÕðÁ 7›G×´°”°¡16ÜKÉͳc÷v<;ËèØÅb‘6áú2yl uéTè0tÀ%\¤@£P(ÒPßÌÊ—NC}hœO ±|ùá¼õ’rç]÷ðÎw^F}]’7¼éâðó±AZÛfsØ¡‹©klÅ,7ãlHÏÁvl¼躆㸨IؾeFJ¥±±‘›y=¿¿íw457ÑÚ6Ï èÝÝÇÐp†á¡ Y§f§÷CŽXÄ›ßr ×^{5=Ý£8¾Â¬ö$Ç–¥12ØK×®,Yºˆ#V{\æÎÃDfÒ`¦¡¥™‘¡ ×ýô7xùP¼zy8ù¬£X¶l2’ZÂq]:çÌÆ0t&2YêÓé”…i&I$BOK6V:Í qÿý÷rúi'•ÃDz±0WJE;àìWœÏ‚ÎEq)él6K!;ÊSO¯¡èd(ùòÙ1<”²¸è$›Ë“2ë)•T-Z@6ç±úÉgyô‘5ôuLû ˆîåˆêä~…¤–×Õ†CeH×Ô>1K¾ÊÁ‹²mçÎX@ýø‡ÿ#„‹@ „‹.Á*\ž}îq¤RqZ§{Ïój “Ja`È&^IE ìêϵÐH±,‹ÁÁAZ[[Ë¢%,?¾æÇ|åËWpʩǑÏ{‹lÚ°‘ûÌ¿ñÆ7¿¯õKÜóç»(Úy–,^À 'ÇÂE ˜={¹\Ž­›7H‡†]×¶Ô×Õ1>1] ›gžpÒ©,Zp8fº‰ÆÆF4MCöÃR¹¾çãù MLFìëfwo/c»‘qÈÇÙ°þ9ÚÚ[ãyhL5’¤­y>¯yÅ»8òˆ%¬Ú¸Eó;8üÈ#hmMóç?ßÇÎçPMøø'?N{{ÿúOÑ1¯‰¡¡TU¡¾!ÉŠ+H§ vîÜJKS#Çžp,s;Òݳææ‹/GÕT ]g``A&&2ØÅ"ããrƒãlyn½}Ãd2cáuËC¢NáÝï}—½óR/^÷W¹äÒw — ›Í’J¥Èf³è†ÁìY³¸ÿ‘{¹ì²·Òؘ¤«'ÃIÇ/äUçŸËö®~šš;¸þg¿ft,Kgg'MMMHÑÓyÇÅuR) —ÙóÚxÙËV2<4L ¤ÍÞtñÛ©¯«gwo/7Üô®¿þ§˜É:N<ùx¶nßAG{çžý êšI'X´h!#ã¡×ĶmêÒuÔÕ×QÌ’Ífñ$‡ìø7þò×\ó_7ÅžŽR¹ CôZW|ÒéÞó¾w"I6W~ó¿8âÈy|âSàw¿»Û{Ím¤R)Ž?þX’–Êèà0ù1dÉ#ŸË³«·—E‹¦£eͬZµžU]Íp¡ÊÀ_~ä|–/_X.¾­­Í †!]™Â8)KcéÁ‡PŸžüN™©š›šxä‘Çyê©¿pé[ÞÀàðã±shp$þÁq.¾ð üÉ $Ñu&+WúËQÌó×ÕOðÄc÷ÑÒVÇÜy¤ÒMìîdÍÚuÜw×S”T…“Ž_È©§NÊjçÚkÆÚu»1 }‰rNZQq¬dT‡tE}^|Ù©Êy©,ûâI™‰hýºT-ÍaÉé¡áQ*&á"„‹@p  —H°T ß÷ñiš¤ê[éïëã—½…{î£J:‰Ÿ)ÄFÒ1GÉšuëãX|+z2"£çà%œyÎIœxÂQèšÆºg7ÐÓ½sÎ;‡£VO_o7ýhF˜ˆSßÔNCC–žFUU’©&,U‹ ¿Æ†V¯{Š;ÿôòÅ ‚ÀFÓ´8IûÙg×röYçÒ×›åÿ ¿ºù:æÍšÏÊÎæ’7ŸÇÐà0¸ãQ¬DXªù·¿ù7Üð+nþõ=´ÔÃGÅQG‰,yÜ}÷lzn êi}s{’å‡-cllˆLfˆeK—²dùA,Z´€Y†A.3L±Xd×Ðuf½½£Ø…ƒƒX¦É¡‡É™gžÎ¢… Ø´y ͳ⼔P ¸464ฺ¦³qKo~ãÅlÝÙÇ©'¯àÿ}èýŒMìæÁûÿ ¶Dš9sæóóŸ]$%Xºd»{û1 Ó41Vº‰G{”†ºF/]DïînæuÎáÐ#eë–žYû,ïz×Û8ùÄØÝ³m]a.Ï·ÿ‰|!¼–…ÂçœûJ^sá+±,‹D"ïÄD†ï|ã;Üü«p<ޝ`ðÚןNoÏܵ¦ê¾ŒËÒ%‹˜3·;ï~‚cWD¡!ÀáÕ¯¹€º´Î­·þ#a0þ"Ž:úXêRÍú0×þøGôöñªW_Æ¿¼š… ’Ëå8xñ<žxr-mmm|à}ïcýsƒ,<¨ŽÃ?§h#áÒÚÚ«.xããE¾~ÅwÙ¾ij9…bÎÜ6’†ÌèX–dRã°Ãav{#^ù7º¥¹™t]Øfxh˜­ÛvpÜñ'qÆÙ/§··=øË_Cã4iš¬[·€¡¡!V?õWÆ&F°ÉaÙâ94671:\¯¥m§ú –,9„5kÖòÃk~Àšu}Ô§<ÏÇËOÞ›±À—Ž\1ŸÎÎ9lÚ¼€¥KS(add˜æf“#^o“N¥h¨ŸÍïÝ;8ë•'ÓÔÔ€ešäòy†{âû¯¥uj%tºvv±fíFºz²hšÂ¢ùœyÎÙ\xÑëèlkÇ•Ãû»1iñ¶w]ÆÍ¿¾MSxí§SÈèíífÖ¬¹ 6oÞL>“åMo~í³æá8·ß~'7tÇ×#W ¿—SK*¿PÔJÖ¯ì+å:NÜHSÓÓ|ùË_ÂE ÂEà@.ýÏà8¡'¤¡¡l6K 'PÃ0ÈçóñëÐ’Pb#Ër,N"¢P³X€”K‡F^sU©zzÕÓœþã°€†f‹ã?’bÁ᱿®ªŠ‘?ty'ý؇H$ .\Èòå˸òÊï’²šøÄÇ?…]ÊS²açÎn>øÿÞÇC<ÇÆG§ò}.ŒèáŒS—sÊ©'‘®K“²¬0Ïd"ÃΞí¬]ý ²lÉÚlÚ<Àí·ßÈ[/½„ãO8Œ¯ó[üú†›øÒW®¥kç“Ìêh§{çVr¹š®ÑÕ3ȹ/¿„|ÿKÒilÝ´•Ÿ]w-÷Ýû(gžy óæÏà°Ã¡¯Œy=ÛvL`ð‘}” âíïøP<õ©òüðÆ‹_Ïk_û.\@cc#¹\®œ¨­­­Øùи›ÈLP—«FíìâÑGŸ`õª¿býƒãôí÷Éå2¼ôPN=ýÉ%3‘alh˜;ûxðÁÕÌêè`Ñ’¥á?*ÞGf4 ñµ7š›M¦BSS#¦™Ä´8ìÜù§?²jÍf®½ö[ä²£|ûÊ«1“u45uÒÒ2‹ßþæVTMg"ë +>Ÿÿâ¿qñ%¯£¹®þþ~ôD=¶cc¨%Ö¬š ëžæØc£§gWhä[£ccŒ õÑÞÖÂÎî]´67¡%Ò<õÔ_Èç=Ò©TÜ„²¹¹ƒ¶ö6R–ÊÆ ›ÏØœ÷òóiljçÖ[ïbõªU<öÄ3ñœÏêè ™LÐß·›ÝƒŒe!ö?éè˜ÍöíÏ¡j:† ã™K–RQÒ¿ÊÜy ³ê¯«im¯gÞ¼°È„í¸¤ëR4¤èV«\ `phÓL’ϨK&ÉäÃÎMÏmfÍÓ[É'ÅÄìÖ$ç¾ò<ÎÕùœqÚÙœ}ö+xú™õhšÂ±+—ÐÜ”"•sSÆØ°n#ã™IÞñɆbÏ4ùýïî¦Ppc‘45Dì…/{]O×ùÁÕ×á"á"„‹@p  —ËÞy6KŒã8q#¿Ö¶úûÇx×»ÞNSë\×Å÷|ðt]GUÕ8,,z Ër9äLÆÇ¿'X‡–Çä“Ú‰Ñ~ºº8÷åNkjaXØÂƒ³qývÔÌOú#}ôn¸þzr¹ _üÊçùÏ«®â[ßúŽ=ú2™ ÍÍÍ yÇ¥¾¾žl6Ãÿð|÷Êo±{°@}j²˜a5`çÂþ*•O{M,줱Ád×îœpò‰¬\y$šœ¤¯ŒåËæóŸûÿ~ùGâòÏ\ÃìY*?¿îxâɧ¸ïÁ{Ùºy=¯~õëÈåówì‰aN€’ÄLš±—ªÎÒøïÿþ/®¼ò»¡&ôF†ýxõ -456³aÍzÛøìç?Í+Î=… R(äÁ/’L&Ù±cž*31:@"a0{v3…lž¡ì;·obû¶í¬^õWY~0¶ C¢©= 1*æ<¶mÛÍèà0 ³ž\>Ïî]½ô÷õc¥(ä\†G³ôwõS2Â'ýM-鸼o>^àdS´mR©³fÍåÉ¿®gx,lÖéº>GÖÁk^÷rætÎàñGW³sûN~lš®3wÖ,šš)æÇøÌg/çÈ•GÒÚÚŠW(•J 0ž!WèçÙµ«ø¯«~À²¥KËÂÀä‚×_@SS#óæuÒÕÕÃØH?mím ôËç±LÇuéëí£`œE –²}ûN~uÓMìîõhjôé€ö6˜Õ1ŸbÞ#™ ó¿úûvSWßÄìÎ9 6mÚBÁ™lÊxðâ…¬8r7o¢këvòv˜£aY:™á‰x½Ts’ÿÏÞ‡·qŸÙè‡Ì w€El"EITï²e˽׸;N³Ó§lv³Ù$Nïñ¦ÇN±S'qMÖ‰mÅ]²duÉ’(‰Å&v À 03àþ1$D9N6Ùß}î×8Ïã‡"Ì fð{¾ï{Îil¬fþ‚¶òýžL$ñœH¢D|ºãª úÊz—dr’`Тäè>ÞÍÑ##øý>v¹|ŽÉÉ)¦²ímõ¤§’Ä'M­IM5ÌkW¶yVU ¯ÇM^µ²ï5óþrÚàƒw¾ ›Ã\ŒXºx’ÍÍÇ?öiTµHZQÑ5¢:k¤ôÿKæÙ$ÏFeT¬‚ *Ä¥B\*¨àML\¾ý=³ƒ!I6› »ÝŽš+2<4L0TËÕ×ÞX.´…¢Tî°T ޲ ¿(èXK§Ç3NH–i²™PKÃ0pH¦p~b"ÁD"Á‡?ü1vîÞÓå`ÅÒÅä”Gw¡ë¡€£ìu֙파ösÕUס(S¼ó=ïdþÜ…¸µXDE]¦P( “G@#–G×u&¢ÃtuàØ±.½vŒ½ûObQÓ,`gVÎ].‰‰T#“Ãî¸þ†ëˆ%{xá¹#H‚A}c5μˆÝ;·òéÏþ;ßüÆ×JñË_ßË’öVNŽös¬ó8ÏþõXºdïºãòyUÓ°IR9Ù`hh˜H$L8Æé (9ã“üàû÷Ò}b ¼šþoû_ûú÷°Y‹e7)µ¨ÐÙÙÉ@_ï}ÿ‡¸þêóy×>ÀSÿóGŽ;‚ÓéÀRUà“Ÿú,ÿá÷èšNû¢Øívî»ï>ÎØ°’›o¹•ª¢ÈÞ}Gxñ¹mìÞu„©¬I |NƒŒyÈ´,0ÇÊq¹ú{Ξ)V¹pÛlا;Ù|]ÎÑ;0^¯Ï&‰Á@ûüzêæ4rá…×òóûäD_YØís üþá_²~Ã9¸m^ª¬. …†a R/o•;n~«I<~¼éL†¾¾qÚ—×rö9ç™cù,ãc㌌ž$ŸøMÝÓÉ“¦+Û•WKcc²,— N ‘?þñQ’©¿íØEü¡9õT=øNz{†é>1P¾fKÛç20z’dÂàŽwÝH<ždËæÍÜ|ËP¥‘ˆáöx+“¿D"ŠÝf£mÁ<ü;c‰ EB‘:dYadø$rV¦Êb£¡ÁÌš_„"^UÓkxî…ÝèºAØ?ÿõlß¾“Ÿþø×Ø\&™ž!¯·'þÿf“˜ q© ‚ q©— *x—Þ¾H’„¢(X­V$I*ƃƒCx½"‘º®#b/8e¹j±X §². Ã(ϨÏ΄™AÇ¡ýôö+Bý£ÂhÙŠ6Üv Õ|õ«_$‰ ëzyt%›ÍbX4rÙSJ’ôä™L†îîc€Do_?]ÇN"ÃÃQ¢ƒÙò¶g“˜™{]ŠœÃê4;?íó›É)9Nt÷°bÅZ†‡†xmçaŠ6Ï|êÝ”ªtt]& °dÉbøšª‰ MM¦+X*1†Õå€bžX4Îð`/CC#ŒGGêHżvð SéwÞùöí=Ê}»P Ξ*žf:23ݘ™B{nK+—/Äåô—‹òëoÙÀ¹žA2a¶%l6©¼ßºÚ2Ù,‹-dÉ’Å8œJj]½CÜÿC;8ðwEÏÿù‰ñí{¾Ã#ûX¼x1/½ðv‡@0ÀâÅ‹±Yœ¼¼õn¾ùÆÓVÄV¾ ‡ØÐP™¹ìÓMOnyÛ­ÜqÇ»éÇi·Ó×’¬,£æUFÇ  q¢»‡|Na,š+¿ÿ߃Ï,Nåryêèîé!››  qÖYg0O°ùåþ&Üðõ˜MZB~~Ÿi•=3æäuKäs9>ñÉOðÙÏ|Ã(``#ŸË! ‚˜ãwýšÃÓ=ÝÇÙwà™´9úärH§w™ÇfpÄÌêiišCë¼ä”MÍ8Nþò—g8Ñ+Ê™B]”$ÂS+4›ÄÌ襂!³Î8ƒp$dÞsá0ïxÇÛH¤cÜóÕÿfû«¦šœ7‰øš•‹¼<…Z2" °hÑRTYa``ˆLVcd,At,Ë!Q×fÙò•´ÍkDÕe†‡û±Ùl¤’1â,X°˜H$Œ×ãfÏÞ×èèèàšk®§º¦šìTžººZ›Ú8x`[·n§ëÄq2rLúï§ÙßþÎÛ8ÿ‚³Ø´é¯üøÞŸðøåîOßÍTöâ!¥òφ´¼žUˆKTˆK…¸TPAeâ24jηŒ‚éV’§GQ 3˜. ž*ê§ù¢h®b絪Sdeº8ËtQ¢—_73âd·ÛÉçMUüÉÞãÜÿórÝu× Ë2ýþq:N^UTqÙáÌ «¸óCeÕªvS_SU Isàðkäóyœv ‰d’d"E ‘©©4½ý'ɤÒ…*jëj «9x`_YÛqÕU—±k×^âñ1Î<{=g€cÇèê,Ά×í%‘Jæz¦Z`ÁüjÞù®k)è“xÜn^g€Ïá ”JŽ9Îh<÷†ÄåõÿžýûìbÒZ´•sh\.'¹Bæ´çÌt¯Šù<Õõuäó“äµ$·Üx5«ÏXËý{h_´€d"ÅðÈ(nwYQˆ§HN˜ÄUÕJ(J9o ) ™ÜÆtÞèܹV­YI8\ÇCýšhìÔ±Îdz‰ˆËë×/BÕd䬯ä¤F<•;-¼Ð!Ù)N>EΕ»o5M5\pÁ…|áówÓÚÚÊ'?õŸ|ç»?-ïs&üТÌ]ÐZ>wÁP¦¯ÛD*…ªL25™£¥e!wþÝó ”Ïgk³9z646V­fÁ?;{há¹¼üòs$&²œwñ .8÷B"‘z¶lÞÉcÜT~_3„tÉ"ÓY,™L”GÌTÙÀæX¸ š³ÎZOÀïÇf“pÍ"È]×q8ý¼²å%ª,6V¬XF© °é™gyö…æçuZ£3sM^O*_‹Í8í½ëºAmÄÏx|òoÈÆÿ‹@†¬:]ŽòyùG¸ÿ7•ŽKTˆK…¸TPÁ›–¸|û{¦¾Äãôãp:±Û=Øl6DQbË–Wp¹\e¢a³Ûˆ%ÆÐ•@È,ž EÚšj’ÉI†NRS_˼–¹Ä'Ä'&ˆ„ÃÄ'&ÊûÕ•ú¦úÓ,^ãñ±d”æææµ¶L™L;õ -Œ$Ø¿g]ÝCd³*'{д9Ba7UHLL$ËÇ3ú‹Lf»ÃÁ‡?rÇŽãñ'6ÑÔ0CŽÜL¦S´ÎmÅåLš…zýŒ˜YÉ‘L&éê ÕÞPÔoQ jšÜœqæ¬X¾Éa!rcw‹LÄFH&S45ÏÃJ¤¦Ÿþô猜Œ²xÉ"2•§7íø›"ùHÌ?»*=»ãòúu†p5/pðƒ~ƒÎ£‡ð¸]ÄI²²ÙëííGÎЇÝM"™%ž<¥R±èDÙ<ášk/ÆétòÈcO”ÑfwPfFíš‚,_ÞÊÂÅ­´ÍŸÇÈðI†‡ú™Ì)䊜èî%—ÓÉærdÒ§¿§Ù 0»élšºš0·Üz=ú‰ ó5ãtò2jZÓTC(à& ÑØ8'NðÚÎýåQ½™‘¦³;]3ç|澘ÙöŠ¥µüû'þEQø·I0p{Á&¹OÅ;çì5\qÅå46E¨BÇé÷¢çÓ¨ªF*9Žœ5I{0  ¢é:/¾´ƒù­ ±Ùm=ÚÃË/mfp8[>_³ïÙ3–Ù„G n÷íüæ·¡È9¼?²¬œÖ•y£óò¿aæsôƒïƒh4Æ7¿õƒrfÓëMlÅ q© ‚ q©— *xS—Þ¾ òyY–$7’$ât:éíîeÏîW9÷ü‹IOÆøÝïäÕW·S[]ËÆsÎbéÒÅøC& ˜)$Òé ™é ÀàÐ0>Þ¾“TW‡ …jè-Ûç:êjkðù#lß¾Žý}#.XB(RÇà@”ÞžÆMRát908Õe˜Ëå¤`1Û³³_Î=ûLì‰W·m- àx>²r›ÔDBA¡ UU:+W­À9펥(ÊiEùlýË f +Ÿ[`õêlÄç>û)ì`Þ¼Vžzê>ü¡ÿ,íeÒýúNÏÜ–:ÎÞ° §ÓI×ñèè(“»Ù‘ÿ q˜y¿O|?AO=ý?|þî/ò䟟û›}¾Ñ¾ÿÑßÞ¨Sc+šã|3Ÿv¯i[nuÂÍ·ÜÈUW_ÅYë×ðûyìO/UˆKTˆK…¸TPÁ›•¸DÇûËZ Y–ñù|Øl¦ ØÄdŒÃ‡Y¹z%.—‹ôTÁ*0'F­*±ýÕí\~ÙH‚A[[-5µ5d³Y.¾øêêjùþ÷¿‹ªùÕƒ?Á&IÄbñ²“$ŠXE+sêjÇçõ 9üèJ‘—^z™Ÿÿòå‘­v¼e¦rº8$;.—Äàp´LxfÆsfŠÄñµÓå@¬Òðû}ØVœÉd»ÃIÿÉÄi#c3Çât9°ØíÓäË¢dÉiyüNˆOjx¼pÉ%X³f%§Ÿ/}ùkè†é2eÚߦq»Ý,_±šA:ÌD2A(TÀèàp¹}=‘ù{Âå¿W¬ZÑÊïÿû?ý ëÏlgËK›( :¡pÉèS›$™.T½ý¤3|î ™L†Ã‡»Ëça†ø…Bu,lkâåW`dr§]¯K ¹­…`ÈÍî]{ÊN`ºn \tÁe$cl}µƒ`À ¶º–¦¦BÓnY'ºº±IÍ-mLÄìÝ·»Ý4tX¿~#.—“ƒ:Pr9lV¨©C CÃýDBAê«)y/YDÿP/Ñ‘$†a!¯è?1ò7öÌÿ*fŸo‹Í(Sår™²pýŽwÝÈM7_C6›áW¿üÏ¿x—V¬œÇ‚…f@åà@”ýûöÿ]±ûß#S¢(¼!¡ýW0sÜ3÷4œךM@f–D˜f»êŠ xþÅ­§Ý¯¯~ùýì+¸ø’ËX·n-ÓœªJ>¯"‚iQ-Ë455²kg_…¸TPA…¸TˆK¼Y‰‹’N£èÓzEÁç±!I¦8?•MpüØqÖ¬]@<ÇçóásÑ4Y6-”C¡š¦a'£Ã}ïëÅ‚Ææ—ŸçÅŸGÉ¥¹æÚ·PW`ns3-óÌÐ@½(¢ë:¿™'1£‘) ÔÖ· Ë2ý½}tŸèå•-[èê:AWO'ªlœ¶ÿFEÝë‹*§ËQîÆÌm©#“Ê¢ªÈçRØ\«–/' ’L$ÙµórÇis÷‚ÇQÖ`¨pHvrZ¾L” jš|ÑÜ*Ÿê¬]kvG‡˜[ï'—Ï–Çæ†OŽ“H¦Ê¹‰D†‰T KQ"——™H¥Ëù&¯w}z}±ûF…®­·Ýq#o{û ŒŒuã´[bÛ–=ìÞwˆlÜ^˜×ÚŽÃá –Ìp¼³§ êjk±;|³íãýcm f§aN•ùm-¬\½Ü<÷v/ÇŽ÷óü³[Êú¶V¦¦’è·ËÁœúzB!ápÍsëp¹œtv+w¦£#È9 ‡ÃSµÊ£a`Ž6Y­fçkÍúeå±´x|UU‰Æ§èé#:– Ÿ>5ÎõÅìq80¯óšµkøÐ]wâpX˜˜eÙê,hig`8Æ·¿ù#yðaTËßò^‡à4­ÒëÉêÿæÐõ¿e¬¼ÞÈa†À‡¡]=}oøº™ÏÏl3ˆ™í¼~ŸM 5åEƒ·µsÏÛÈÊ•+¨¯Ÿƒ`¯2ó£ŠU¤§ÛG’(!Ë2£ccLNšìîî¡§·¦ÆZ[7VˆKTˆK…¸TPÁ›•¸L$ÌQœ’‘3sZD‡ÃŽaÑ‘e™ƒ¯dAûœN'«‹ÅB±X, ù-¢«œÏ2ÛYœvhš±Av8œeb’J¥‘J¦ˆG‡Èç3ä…¬,ãv¹kp»=H’ˆËå2M»Ý†?T‡Ëåšé«u™lV&¯›_`‰ø»wíåÕmÛØ¿o?ŠÊß~³Qñ£ªÈiù².âõ˜)2ëj´µ5Ó¾h'Ù²ys¹èô¹¬¢—ð´>gl$i»é~¯[båÊv¡8MN’‹*‹9u5”!•Ì «9D›U-¢T¡:œŽªrz{ ¤ãÐáòþgŠÊׯÀψ¬ƒƒ—_ÞÌ‘Ãðû¼<öèÃ<ý×—˜SWÍŠ•«‘ææf^xþ¯ìØÕKSƒ›y­¼öÚ‰ò¶|þ0¥’Dbr¢,N/ïgú¼Õ6ÑÕ^_ôTßΆ³ÎàŒõké©fð¿áe˜Ì&¶³­ÿícïBQ>ýéOÒX;—œVÂ0 >õ™OñË?X¾§þ^NÊÿÖ úWÄñÿ¨S·lE>øK~qÿ¯øÉOü›ÎâL'Íår–Ç3/¿êl^|fóiVÞ³-¡W,YÀºõk‰T‡ijläÉ'Ÿ¢¾a.ƒä¦GDmvóóªæKe¢Ðy´ó´,£Ù÷T(+¨ B\*Ä¥‚ ÞÔÄ%@’$ …BÙÌn·ƒh”‰Ë¢%‹ð:‹fÁ-I‡MS1°½qa%¼&Ã0Ê3+ôü†E7÷9 UÓn9“Éàt:¦Iަi§Y ªTl6[™ÌÁjî;NÛÊ:I¥R;rŒÝ»÷r¬ó8É䇃ݻö”·%çùËã7¬ÙÝŒMoKk# ,%Ríg``€gþº¹¬o˜½ÛßyK—ÎçK_ü V«ÀÚuËËÄÅét q8ä”#1t9G.ŸCWsÈ9³(u9$D›ƒ` @ dÚù¦‰räL±ëuø©«¢ätF‡¢e]˯~ý=Âsj(¨Yþð‡ÇÐrE®»îRé8#Ã'Š¡åŠ‚Õ<óÌ“LÄT–¯XÀÈHŒÁáhyäl¦`- ^²¨‹/¹€¯¤»»%“%X]Ãf)ë¢>÷ט˜:UðÚ\n‡£,ÌŸ]ÀÏjϾn«Ds[ `æÉÌvúrÚL{ãÙ]ÚÚfúÞÐéìõþì"ÿÇší¾5Ao¹æ>x×ûùŸ'aͺ³X³v š¦á¶y+†QàÑÇaïÞ}üþ¡ß•»O3äóõ®Z ü¿ºz͘¼þzÎŒÎ×ìσÕiêŒ/4䆇Nré³hq;ñ ^Û½‰¤ÌÀÀ rV&§ ‡‚,X°„ƒ÷‘L&(¨S™¡°›`0ÄÐP¬l?^Wþ›ÎâŒMó *9.TP!.âRAâP&’$a±•Ð4Ç™?>^§I\ŠÅ"V«I1 Ͱ¾!a™ù9\9ƒò3C\òù<‚ `µZ©ªª:ÜÌÓ ÑÑuEQÊ+ð¢ÕJÉÈ•¹X,¢iv»IÉçUFãCå}Ûl6"‘HYÓ£iº® …H$<ÿ×xè·±mûþr¡<ÛÍj¦ˆžýo¯Û[îÖÌ_N»µœÒTßÀ>ø^nºõíÜvóMìÚy ¬Û™½B?S¨Í©ñá°;ÈåsLL$ñyÄ'µÓŠi—Âá Á@€±ñ‰É ¢$áuÚÐ Uèù²¬`±H‚Á‡>ünÞ÷žÛèF†Æ™R–. ¹ñÆ›hm™K¸Þì¢y%{ùšÅ&bppˆ|ç^V­=“ÞîôŸ)Ñ3bîÙT3Däõ®jo€9;\ôõ„e6™y£NHSC Ë–™ïoçž­eÓ—Ý$ÀM fa>A‹/2É–+ˆÓåbnK3­Í ho_È”’dÏέ|ë›?äå-{NÛ†Óå([pÿ=âòÿÒm™±sÎN…±åKçð¹Ïž£G§²œJUY’‰Ís›8ÙCVÖYµr9GŽãDW'YYgtx‚DBÁi7Ç sùW]s ìãºëodåÊüüç¿âx÷Õº{zÊce3nöû³ã³îŒ%¼ó]ﯗ *¨— q© ‚7+q™HÄ£\ô[,–Ó’Ñ3™ ÕÕ³H2Šeò!Ú½e2ñ÷ š¦•IÈL°ål3óX©T*“š™×Z­…‚qZ‡#wÚ¨šQ2_oA@Q,%µL^²YÉ%œ)Ë2™Œ9šR[[‹PQUó½»\.$I"‘HOð…/}Žî®“twwþ¨x¶ØëWïƒ!k¯¾’»îº“Ç{‚Í/¿ÈþCå¢úõ6Å3$hF'ã´›„Ðá°…ÈårŒŽŒà°;Pò4U%1™9í8f 0µ+–¶ño~žñX]æé§þÀ]‰ÏçcÇ+¯2‘”‰Å&ÙújÕ4+˜]ÌÎ^…†>ò¡w³rY´å‹?äØÁÜ¡ËéƒLÄFI&SŒÇÆÉ+¦˜ãK¹âªkƒ¦u<²,S]mvx²é æÔÕ1:6Æc>Œ,+4Ìmd^Ë^|i3ßþÖ×±ÛíDjêé8´Ÿ={÷ÉjÄbqEáàC:xü´ëôF£3˜} fœÁf“šÙ¶Ê¯ïÌÌØA#!b£cLe .<=Ï9‡eË– ±Iª¦14ÐÃðP;ölgÿžC$Sæõ¹é†s¹ìòKðùœ{î9HH’Äøø8Ÿø·ÿ♿nþÿÚçýŒiÐÎYgo`^k=­-s‘Õ4“)s|´¶¦†D2ÉË/½€ÓeŽz ó»Áf¯¢&¡„ˆªfé8læÅä4dÌÔ§,_yfy_]Ç; …Š’(‘KgرýN›l.‡Ý"¡ ŸË•ÇÄ\v˜?1ÉT‚©É >÷ùω´VˆK¼É‰‹µrz*¨àMÁE‹Å‚Õj=mÌKEdYÁn·#–iRaÁ0 ÃxÑ08Õi±ÛíeB2»Û2û'@UUUù÷b±ˆaTóTŽéúÒ0 äõâôß‹Øí6äÜô¶ ƒ¢a`³Ù¦É0 ¬V+èŠUà°šÖÍŸ›€;„¦é$ÆL¥Ó8ì¼^Oy?3‰äþúÁé÷l-w¦€²Á¾×ÑÛ{Œ-›w°{çVzÆÑuU6øý6ñø£O¡_ÿÚ'°Ùþ¡ƒÇ)(§:$³€V!«¦È&N'@.;؇G±YA´™¤ ­¨XTyú¹’`ð‰O~‚;?ôTWG( lÖ"ñÉqvïÝL*9NZ™$ qþ9gOfùâç~À9gŸE0àĉÎݸ»Ýϫ۶"• @ â—çPTSñðÃQ]]M:%›•ù̓¿àsŸý"Ͻ°›ÁÁ,jo¡[(rιg3§1ÂÈð(;·ïfý™gó¥/dJ('̯\ÞÌg?÷Enz˵&yQ§…B,[úuó:¹ï<ξ=;ÙºÝÌ»éíëâ[ßú’`pßÏ¾ÄÆ³6 YÌûT’$ìvét†Aã1¥@4ãÕmÛˆ 3äÑŠvy9͵NU5°ò·#S«W¯ä/O™A’éÉuuµ&Ë% I(`¢S@ϧ9÷ì5ŒÄ‡Y±f1ú{5š[’Ífq»Ý|çß¡±±¿ß®›º²õÎ%®}Còñ¿i_f?gF÷4§ÆÇ^ÀyçŸßo›„µâóy±Ú &àw“NŸD·T¡Rø|>GŽÓÐØÊµ×^‡¦itw÷Òß3ÌÂ¥‹¨Ï¡.ìeRNòì³›X¾ì šç6‘Édèíí'ŸÏpÓMW3™šäàÁ}øÖ¯¦¿¯›¥‹ ë: ldý†• Œ2¯u.yµD<6J4žÆn·±óÕ¨Z§+ËÅ—‡Ãáàk_ý:?üÑ/+ß×Tð&G¥ãRAoBœÖq™^Y®*©å10EÉ¡ªj¹(Ëiš–¿7öÏà^3»ãr¯J¥ªªž–Ñ"J¯ÓL“«™ãœ!W³ÇÑf×u-7…ÛíB¬LLL™«Í5ÕÕÓݱ<¾–×Nÿ’% -7…Ãa/Ÿ ‡Ã‰¦iíìäPÇk|ñ Ÿaùòåüî‘G‰Ç㜱~ï¹ã<þ裌F§Ê3ü3…ñLJ¼j•ËN­6ÏhfL–-[Ì¢Åí|ðݦ¥ÝthËfeEA´Zq9,Xlp´c?Gv‘S&1ª4\N'ÕÕžßô GŽ'¯³©É,v‡“ƆzN›1LLL0:2Èó/âÂó×óç'ÿ‚Ûí)»Ëå Y¤"8üÃoøÆ×?ϵ×]ƒÃ!0<ÔÏâÅËØ³÷5è$Ï‘I'gž}§ƒ'ÿ¼‹j”Ǿ¬N¸ãÝ7ðž;ßK]ÀÔñlÛ¾ƒ"W]u%Ñh”@ €$IŒŒŒH$§¯ ºŒ¦éÈÙ$©tÜ$6v»ÆÆzÂ5Øí6)èwœº7¦I˦gþL.Ÿ'¯ee"‘ ûx¯êF ·/"ÉòÍo}‹s/¸”|>Ï÷¾ý¾òÕïþÓåï=^ñ›$»˜ÁíppË­73¯µž†Ö¹;r5ë7‰˜ÝTÑ¢SSSK__/™t’XÔühºÎœ†¹²3¹KNt]gÇÞÄbqοðbb±8š¦ñë_<Ä‘ÎëÖÌ¥©¡šË®¾ UUééî%7;˜ñTŒukW1ícù²U,œ?ýÓÔdÚ {<R“æùœšœ¢¯ï­­ èè8@GGŸùÔÏ+— *x Òq© ‚ Þ˜@§ÆŠt ¡tªp³ZË?gÁëaÿzÆŒ3Ù?"=RéÔã`5 (Šˆ³×)‚à@à”I€1MtþžœÚj=ý/v{ E=‹¦©x½³Øçàáý¬[}&V«‹èÂîÊ&»EDÑò¸Ý.%‡ÇãÁ0 är ‚`ÅawP]á+_ýO<þ' -Ëö­/óÖ[ÞÁÏ¬9 c­Ò¸ý·qË[ß¹gŸÛíAÓ4ÒY ׋Õ*ËåËL Ã\ÑGp’L$ÈfeDQDÍàÐr—H$Ì•u²jÌŒ˜X,Nuu„³ýzN Òyô fá84<ÂÖW;¸öš3±I"M nþºé94M%›3p»]hšŠ€H•ÍKN“¹ýmw0gN?üÑ×Y½záHâÓÞ¾¡$Œ47PU¥2¥¹u]²ž§ÿü ¹\‡ÃÁyçŸA^Íðäqþ…çrîY—ÒÐØJ^Š.ÂÁ¹äóyòŠAÐß„ÇUG¡8}ZÌs"ØÍî‹€†,ËH’„(ŠÄãqvíÝÇÖ­¯ÒÓ}œ“¦%²?h%ð ¹èÂ#uœ±~-µuM¸\.zzz9rä(;¶ïâ‹_ú,×]u'OžÄívcˆ’„Ç)ÎM …Jy¶î|‰¡¾rŠÂ‹/mfß¾}LÄTl.C5Í$6o=ÀȈIÂ|Î`™¹ìpÆ™ëÙ½kO¹S4£m)ª Úþ6Oe¶Uqbò”¥r&ã‡?ú-­s½„BA¾üùûÊcYÁipáEÐÜÜÌÊ•Ëñûý?ÖA!W"\Ó€$ŠŒÆ‡‘l%n¼ùÆÇ†èï?Ƀ¿yª’H{û‚ÁI‚¡ ÁH˜MOocÏžW‘§T–­XÄ-·ÞHV–Ig’46ÖÓÙy˜‘1sdóûC*•#ŸWI¦<^¸öêK8ÿüËÙ»g-Í‹Y´pUå »‚ *¨— *x3ã´±0IÔSE²$žFXÌç §‘–×ëVþò2Óýx£c)”N¨*À°V! ˆ§ŽGò¥àü»DÅf³ÖÉ)̯4³}ÕÀ‚Ëô¡$Úú³,¦¶ÇÈ1ÃÑ$Á‚Ž©˜Ì(x<~ÒÙ¢$ásKär Þ“uµëxù…8gž¹¯ÇÍ‘#G‰Ç‡=‰ÏœÅþrL©9Ôœ†aL!,‚•|>ʈ@±X,uš<ѵÁPÃ0°ÙNuÇgˆ‹ªª¤ÓiTUC²{Ig² ‘Kg)–D$ÉEÛ‚&œv ñø‡Žgt¬@ë\/_|K–®äË_þßúÖ½FÑîÕh˜Ú&K^§hµ‘ÓT6žq.â'D~óÛûij4µ+Éd”¡ÑnJVU™Àét°pñBNöð‡ß½Âàp†k¯ºŽË¯8›­ŠÉô»wmçswŽ»¿Pâò /è²£+‚`Áëõ”ɲÛíBÎqŠv¤7¸íŽbyì°±©‘æ¹k¹äÒÛLRàraµ ˜Nu’$•3„4M%=GEšë[ÙxÆ9|ç›ßàðáÃx<$›l6‹ÇêÄç ÷ÒX$›ãÙç7•;=ô{zûÉ+r Š; µ6@ld ÓôÀíva³˜Ý:EQE9oàtZ¹ùÖkøÍƒOýÍû+ªB™¼”?C³ÜÆŠª€€@Q›G(,<øûÇYµt k7¬ãð¡žib™t§3ÈŸþü,_þÊ}€9¨*iêëB,^²ˆe+Rñ1aôä‡;‡X¹ÊÌyÊçÒ,XT¢ä8ÑuˆH¤ŽåK—áöxÿãhljÁíðáv„Y¼d%þ›õë×–‡††É¤3LN$ضå%Žuusèà š!ðóû7V¾´+¨ B\*¨ ‚7+ìNS3a³8§Ç®¬¨U§Hƒ[i6ÁÐLMŒ‘ÁZTÌ¿ §Ædf ÀÙÅ aN'.UV8µr¹‚`A’lFEÉa³Ifn˜¢{%›"—Ï‘e*9  i¨šF>7¤)ŸšïÉfeó1E¡º:B6+ãv»0 ™ÁÁ!²Y£¼Â=át¹¹ë£w7]Ž6žy†Q@¬$¦GX<'J&ƒhµb³ÙÈe“8v¬6ª\Ä‚¿·ªbŽ³Î¼„[o¸í{÷ð—¿NU 0Yµv@€üà»8\V¥ŠsÎ=—˦é?~„m¿x•ù æqñ%—âp8˜H$xô‰‡èï9ÁØØ$uu~~vß÷xå¥çY²t1—]x9 ·;ˆ’)Ót³Sˆ™u3›ø¾¾8sþÌ®UÁì²MŸRZÎ@ P~N djLì.?†Q$e$#\A¥„¡gœ>l6 9=Áää$>·ÄÉ‘!âñ8‡-[¶Qß0ŸC‘ó«–Í# ±ß~úÒÓÄB¢8}.Õ¢ÂÐØƒÝÓù4MÍ|øÃw2Oðô¦í4ròHgwbùÔ¹8sýň¢À¥Ÿ‹P”8x¸³ìž7;cF ´üï|×í\páy9ÒÉ~œááQrJŽÆú6ŽŒ`N] Ù¬Lm@0 ¡QäDW'á`€;n;_úêç¹ýŽ;X»v¿üåo99p5Wä/ϼ€M²ðÎÛßN_ß .¼ð<–.žG&“A’ÑÓÓKK[W^óçÏ#§T¾³+¨ B\*¨ ‚7/q‘"å"çõÅÐ?ƒ×Ľ‘ì?»ÍF|ü9Ö×;n͌Ƽ>3亷\ÆW¾þ¼>/ üü§?'9‘äòK¯4Ÿc=•-3óï ÏÁԔƞ×v1xrˆyóÑÜ<ª’Š®ëØ="=ÃøƒöìßÏž[9眳Y¸ OÝýeÖ¬]ƒÏé!7]‘‰¢IÝn—(9Ýi:ÓOÓìA ”,"š¦#‰"V«•©tœlz‚P×,f•‚ÓÏçCÓtÜÓVµ™l–èÄ(.·‹PM„ª¢Žš×˜œ4 ÄÒk±Yœd `-Á™P6cZ1ذˆ„bŽö%+ùÏO}‘ßüò&'éꤶ&Ëé$©£½})ži#„L:ƒÓ!Ð8'Ìš•‹˜S_‡h) WAuu„L:A.ŸåüŒ¼Zb~Û –.[EKCn‡›BI,wÔf:…‹å´qÄ™ó4óœ¿nT0°aÌúß¡9nh¾®P( HnÂÕ%œ'ª¦"INì;GvÑÝÝÃ…žÅ¢3Ð×ÅÂ… èê:Á®í¯QUr¢.»Á‘ã'©«‰¢¨¦¶…S8pÊŽ<™L¢¦‰Á¹çnD–>öo¦££ƒÁáì&ÕÏ6˜!1UC@:-<²¨‚€@mu áp-/>³™PÈÁW¾ú%Þ~ëMä 2½½} õ!ÚAU5†{Ù¹}+‰dŠÉÉ)ÚÛ—²nýÔ|ž©©4ÕC#¤¦ÆIM1§±™ÞîN/]E&•¦«÷Ÿü¯Oòíÿþ6yjï|Çmäók©*Iø|^¦¦Òä…ѱqÆÆS,Z¼ŒñèklÞ²H$Ìú3Ï6¯ƒš­— *¨ B\*¨àÍŒÙ3óåÇþ…-ÿ<ü³.H³ÉÈÿFvþb%O­h;=¦Þérð‘»îâ…çŸgçîÃ̉8øì¿Ä»o)ÒŸŠâr¹øè¿”|>ϳÏn¢nN-«W¬3õ-’€1]$ær G:IN$ÉåRìÞµ•htŸÏFOO/{öì`çŽÝtu§E`Ààž{¾A8<C—yà§÷ÒÔÔÈåW]‡Ïæ`JM.Ëðz^Û·‹†¹µ¸œN†‡û9~¼›dr‚øD‘… ªioŸÏï#1‘@U5t]&11fžceŠbI$©CÎÅØ½ç9úŽ2¿u9Mu-XÄRÉ‚V*¡Ïr»3 cº#õ·ùB³ÍÞð®6 ¬F6Û´ÎKÈä&USIgÒ,_¾ŒåË—‘HÇØüÊV¦¦ÌѼÍ[¶1<”BΧ°Á `'Ïà°y%\Nʺtƒ`8ˆÏ$NœRIäí·]Çú3VÏg˜?¿‘çŸëÂn7¸øÂvÞñÎw‘Î&HONÐÝ;Œµ}ý£ôö ‘˜ÈRP¦Éjš\á”;Ú bCC<òàÃm‘P/|þKüÇ]ŸBµ@ث׭`N}‰ø’ÝÆª•+h_¸šœ¢H$ym÷~ln'ñ1F†GÎÐÔ`’Ñk¯¹’ú†÷óÃïÞdž³Ï`jrŠ•KV TC†£?ÚÁk#ËTÍ$˜Ö¯æàý¨ù<+W¯$‘xIùÓÑÐÐÂD"Ákoª|iWPÁ›W± *xbÆU¬J¨ú§ˆÅß{löˆÊ¿ŠÙ©ã³ÉÊŒë¿BPþ7Ì&H3Û½ù¦+Y¿n-ï¾ã}ìÞ·ƒ‹/¸ I25*3ù/²,3'f÷¡ƒÈÙ,kÖ®Aª²›—$dYÆëõ`wèäÕSŽg…‚Ù™èbl0NÕtþ…¦¦±:, ÷dÃYça_üÂWxzÓîx×ü÷÷þ›ˆ¿–l6cß³\ÜN#+ÓÝ€r‘Ží”ƒ*¯ÚK<ÖGcs5±ñÉ$9ìv;5.çp:Dcæ÷½`ÎMɲ‚µÊΡŽ¼ÿ}ÿÁ%]‡’)`·;Ñ5A° TÌѬ’ÅQÃîçÞÿ·¾õœuö¹äryT'jQá‘ß?È÷ÿˆùíó¹üòKè‹Ì(Š‚]4g³Ù,ƒ#}8Ý.<‚ `³ÙL]T1ÇŽ;qùÚû›6=ÇÑ#'Q¦Ió’ö…$Sƒ\xÑFNtuRS_˲EË‘$‰Ÿÿâ—|ç;?妷\Ëhr‚-í´µÕ24ç3Ÿú^v1ËÛ—ó‹_ÜÏ÷¿ÿ]Î>gá°‡êÈšš)Né©©)4M#‰PÐe\îÑQSøöÑÔÜD*™"“É0‹Æ™ˆÇqº\D£1N'éí>A<‘¤ kåQÑvz~Ñâ…:»L7V,Y@sK3oyËÕ8ívúúOÒß?@¸ÆÇE—^Á@_ÃÃ#;Ö…ËéD•âñ}v5µUB‡ÝÅ7ÝÄŸx‚k®} Ç¡P¸öš+©*έ¸ŠUPÁ›W± *¨àÿ„7"ÿ,¡øßR½ ýo‰(žßþÎÛxùåWILNœ–Üþ÷ÒÌÿÞ¿ßè˜]v¸ãÝïâÊË®!—Sð¸Ãä4(VU¡ff‹<)£è ýêsêêPr Û·m§¹¥™ùsÛI¥RØ]¡„Q%©©kÖ¬&—SDWyš®c $Éìh`dqH6$I¢#‘ä7¿} 9«qÖÙç"Š"¥’•©¬ †ÎµW¿•ÛßvÛ÷îá[ßøÝÝǸæ-—pþygs͵oAÓ4òy•þþ“tï!4]цF'hœ¦º:‚µ±øB•ŽË!p¨kÂñ}‚µœ±úLZš—’£„¥ !‰"2%‹‹ÅB¡PÀjµ¢ªjy¤¬X,–ΜgQËdL´Z)r8vìv;‹.'WÈFq:Øl6¼>/à% ªõóÇÞ>FF‡§ ÌL‡ÓAv4GcS ]¼Žƒ;¸öúKÉçU/k£®!@W_'ccã|æî»…‚¼õ¶[xßû>Äž=|ôãw#gt®¿î=¼ãí!•šd÷ÞtßÇà`Š£G‘Édø·|ˆ\>Ïc>Ìܶ¬\±œ@¨M6$SçvÓÖÖ†è€t&‹$Iffî S©q$»-ŸFŸ‰’ˆË+‘H¦Ì{AÓH&S¸Ý.TUeddYNá´ÛqØí¸Bì>þ·ÇÍ¡ýÛØ¶m;v줭m>W]u)?øÞý44Õñ³_|û~ôæÔ7£(9FF¸èâó°I0:2ÀW\ÅÈP? õs+_ÊTð&G…¸TPAÿg¼žœ¼ž<̧ËAÕtæŠÝa&ŽS(Óbû™×ÖFüÔÖÎáñ?=Yíjj¨a"•F×soHLþž>æõ¢å™íoÞü2íí Ëæ§ +Åb‘*¡¸HE'°Z­ä´$6›EKa¬D£¦xß0RH‚‡‘¡Q2™ ©dŠŸýä6=½ «UàÒË/ÌëÚ?÷þø{<óÌÿàr¹é†[‰Eãåý/i_Èæ­»xñ™Í<öèŸØµç5‚Á ¢(–mœfDæ&¹Êf3Ó¿«h†­”/Þ…)"aA+¿_E9epPS&› `è¯oæí·½¢Z…a5(•t%ƒÝáÀ(q:È鉲–DÓT$I¢·÷UFŽC‘NÅ(Mw™TUÅétðI$ –.ZÉSyøä8üä»|ç;?aÉÒV.¿âJÂ!7Íëi[Çx4†®éhºN&›EÓuü~3jF)ƒÓnÁ"L¤yöÅqæ5anËUÑâb"'ì bb‰(áHE–% 5_ P( IE]FÕÁ(‰¤'cØívæÌ™C"‘`JIbN‡“††Ò©h¹##Ij1Ç@_”ym TGn¡³³—§7í@@âµû©m rÝ[n£µuW]}ÙLšCG{Í26r‚K¯¸„ /`Þü%tÜK±(²ù•],l[ljS v»\.O©ÊƵW_Ïàš•d2>üÿÁŽœN é: î^‰ZU"t3›D“óØì¦ûÚP,ÊÉÞc¤’Q‚Á m‹ÒÚØÈðÀq^ݱ“ñè$·Ýv Vk”B¡€,+$ FGhY0ê›]»ö0 ¶®–ñ±qÆ£1æÍkaùŠ5äe…àtæM}C ïx×|.¼ð<2ó¾}ÿÞÁ¾}{ìåºë®GU5šç6ÑÐPÏððn—‹`È|ýŒëXTP!.TPÁ›ÿ/£^3dàï“ÕÕ„9ãÌ5ìèÀî°“N$™œœ"‘Ê‘Ï £§ˆÃÌ6““]³‘r N“§Ë¯/hmáàáNÓUJϽaž…ù»vÚ1½ÿ}ï೟ùsæÌfœÏ  –G„ÌÕ÷"vÉ‚ÍfCËM•Ÿ‹Å ‡+@8èF-* t“J¦Ø²åî»÷A¢ƒQŠ6ÓÎV‘s45Ô4‰NÿqNtuòÙ/|™øä8ßøÖ=ˆ¢ÀÒö¹9>ýž-08åþô;îx÷‡©*æHgTr¹Ò6-ÀŸšÂb±”óv0t4´’f>ÇYÙYs{Üeâ“™>Š’# ÒÑÙ%‘ºÚF¶lÞÍ¿À[®x;sç™VÐB»z>M.—#=Þ©éx½žrÀ§¢(h†ÀÐp?š¦QS`jjŠ‚š!­fVÈåsø¼^âcIÆã|ð½ãCw}”Ÿþä^~|ïÏXºlÎ\Çúuk$‰Ôä$Û¶íàpÇüjë‰DÂr%lN€ª§•“CÇèêa^c -Khih£¶ÚÏx,IØÄ7P_2rT•f衦r%3  x<;ñxÉ%`Ól(9Š9F‡FI¥R躎gù22ùIF{‘ÄkV/aÿkGì›=uîÞ½‡Ý÷ L}GÿÀì‘ÈOás LeM²`¨–Léab"ÝcZ>‘IL¦¨ -K.›âøÉ>jjjxCˆ¥<®éB¿³³“T2…M’° -kŽ’Í ²xÅBkkÉeRæ8ÙÆ³6àr¹ˆÆÆ©©®FÎLðû‘?µDËÌH¡ÌüùóP5eË3•Î`“$-^ÆØx ]ÓeM×q:Ì©«etlEÉQ]Ó€?¨£k½ÝǸýö;¦]ÄÌk-‰"Y¥€$ŠhšÆ¢Eíô÷Ÿ¤¥e.ý•ïì *¨— *¨àM‹ÕÿËÏÙ„c6tÝ`p8J°ë$Ý'†3âæ[oEQüõƒ¬]½˜®žN2i“pøÜVQ"ŸË.ÎXÃ=ÿ}÷|ëë<ó×͈¢ÀÁøì8êÍîÝ!ñáÜEKË\¸ÿvî>\ކ˷¿û|ï‡ßáÅçžáÀ!ho_€cZ žËçP·Û…Ãa'ŸË• r›Í†Ûí.w+f \MÓ• Žõt’±õ•WIL˜¤Å¢ˆ6W·m¥®¶–¢MÀp³xñbvïÞÎ܆½}ýÄFÇX¼0µ×_Á†xœÛw 9ÐÑAÿIÆGú©««%`·ÛH¥&ÉçóØívt]7ÍìvŽéÕhÑ@—õrÇÅíra(*…lÍy­„V¶V†LV¦&<‡¼Zbr*Ç+Ûº‰øT×5c±XeŠyÃÜWmm-}'Yµr¥yï ’ÍÊXD;7^3wúnò¹G»:øÉ϶ñÁ»ÞOu}¨|̇·Ûq7iõh†©Éyû­ïá#ÿ ½'ŽòoßÃo| U+2¿­…… sÞ¹—óîw~€‰©GtÒÑq€D"…Ãa§6\GK[R¨ ÑiÁëHËã è$b#¸¼aV¯<§|Í £€4:55Åxb„††Œ’Ž&§…¢Æ'£Äbq$ID’$”L’¼$ hll0u5šFÈ墾iñ±É$›7¿ÌÉ“qZÔ38–D×4&&’ÈrН~åslúëóØl6òr#G:yàF×rÎPç¡^ V«R• ]) Ün7sëƒhš†=ROm} é©4}C=Øl6lÖ"š†ÍZ$p™]‹ƒ‚Q0u9Ófd\F,ذ{Mº'žxYVøÙÏîãž{¾Ã™g®Ç¬ ™LMçÞhk5SÔa’©d”€/ºÕíd³YÜn7ÇŽÇåt19!SÈ•X³l-cãã´¶µ²vÍ*>ÊÀPŒ¶¶V6œu£cãø¼Æ€l&K׉ZZZè:q»¸°ò…]AâRA¼y¿4¬Ó«ÂQÀ¢š¿mVÕ|ÜZ4µ½?²¬”»4³»5V4Ôézo&¢$S n¾éJb‡õp¼³¯ÛK8¤¿oˆdâé™Êˆ¢E—ËIÁ¢rèH'×\uSYƒ«¯< €®žAºO #'Å)@`AÃ{ø††GÐ ‹.X…Ãá ££ƒWwº†hb”l6Clâ$—]zVh†€’8=gF ,6 E]žÉ25#’Ýaj 4­Doo…\ž§žz†]Ûw ¦€¹€9–WÁÞjåÜËùÔ§ÿ“T2ʪ•+صk—^~‡â[_ºïÔ¹tpæ†Uœ}ö*:ŽìÄå9‹­9 Ÿ×)jU„ü°CN›ÂpPU0ÝÐM#39‰],aýXD'E5…¢ƒÕºšE/æ§IK±*C•ÅŽ®«ÈJ]7¸î¦[ЈOÃI¢H}M ©œÌ“|Ðhi5ɇM¬Ãfsa³I¥&™Ê¸ìðá|˜e+W044L4eNMMÓŠE£¹¹ =«HÉÔ†æHÇ)Ue™ˆ s÷§ÿ—ËÅh|ˆçž}E™äÙgžb"™" °tù*nºáíø}^’é :ãðáƒ(²‚Ã%‰Ì¡®¶†`(K ¨rïÝw32å#¹ ·Ëž=;™ÛÖÂú5g"Ù½LLd)*§F©$‡—Ë…¦i¸m>‚-f·J–\‚HÁjA’¬e"455ERË2¿©‰þžcD"~6žu!='!:’D• \.¹B†{¾þ}ŽtvÐÔXM]] Y¥@íœ ÿöo7âóyééígdp»=Èæ—Íû©µm—H4šÂæ:ÙÍàà vPSSÍ 7\G]u€TF#àt#º¸­§¢’§ot,>;ƒƒƒh…*R©†–¥µq>·“ÔD’@ÀE±(’Í$q{‚¬X¾‚;ÞýŸˆ¢À3Oÿ–¦¦FFFúÑT ·ÛÅ÷ÿ”––fvïÙÇG?|'éÉ8>ò{êêjY²¨®î£Ô7Ô3|rœ¿>óÇOœ Žpý 7’ÕUªCæ¹=zôýý'‰Åâ|ÿ{ß¡­m¾¹ ›â¦›nFɦ¨‰ø˜š¬|gWPA¥n© ‚ Þ´(ÚÌn‡­øŸcU5TY;í c6Q9ûÂõ¤ æ44ÑÛ}‚ã=#ˆ6w¿çfjjªyòÏÏ! ËW¬dßkI¤Ìq˜nz Çc÷®=æèf·F@(gOXlÊôè×Ó›v˜ÄBE%íæ l2•`l<Áx|Qð˜‹Ç|úîÏQSWKuM5CÑ(ɉ(ó·rô‰},]ÞÊÏ~ú{ÎXw™ü$¡ š‰ê‚…}{öÒqhgœ±žH$<=—?…à  ‹åq¹œ´µ´ð•¯|Éÿ˜âàÁ.öîÙƒ¬ä↮çÎÝξ}ûin¨æ¹žcÜtãu ô‡Ùôô&Ó ¨m 299Å’¥ó9ôÚZZZعã~ü“í\|ù•ÔÔÔf,c8Ö€®ë8]œn«oÈL^OeMQûŒ ß@"ä÷3•›D˧Éf“Ø,Ü~`c|<†ª $“fU¨(Iú‡{ H’D àx_/>÷ŒY¼»œlÙ²•;vóŸŸþ¨iTI"WȰjÙ<îel|œ±gÇ•oÜóm::ã÷ûɲ477Ç)È9šæ™* c±Iæ·µ™]@(Ù˜SÛHmÝ:ºk›„õÈ1öìÚΦMO31§}ÁV¬YÉ­·ÝŽ(IÄ£Ãô÷p¨ãÃÃ[ÌmWÁDLåOÿó_ºû³\vÉçË÷°ÓÄ@Â(Æô‡ ˜‡¢…½]xíBá°IRTÙЩÒód‹6²Y»Ý†ßï§Ÿ¢®ÐÐPÏøØ á‘H€ÄÄV“ŠcQ ¬i'›ÂíðÑyt/ɉ$.w€îîc„BAl’Dm]õ syî…ÝèºÁÅ—ž‡ÅVbó+Oóoÿ2/|äCïæŠ·\…TªBÉ$ê#?Kn&Š"‹µ“šJ1:Ô‡·}!Ý õ±nÍj4MãW?ÿ –*k¯¹’'ÿòkÖ¬dÅêõŒ õóÈ£¿`ÅÊ&}ø{ØÅCǰ»üxC j–ød”;?ð^þøäŸ9cýZ‡‡ÑT›Þv cÃý”l"k×®âðáNæÖòáß…ÕæfÇÖÍlÛò2‘H„¤Ï‹7ààÎ%›DQrüèÞûXÔ¾€Á¡aB¡ ƒƒfÇÖ*Z+Ä¥‚ *¨— *x3âž2ˆµ¨Æimfº6Àáà GËzŒ9 M<ÿâVtÝÀ’ŒŒž$‘Š’ÍåX¹¼™ÿþö7xuÛf~øƒïã´¢ ìܽ€Úˆ»ÓÉ£ûüa7‹Åù¸]¦Û™ªilyùEzûN266ˆÍ桽}>×ßp# §ÝçÕ={Ù¸~áš4]Ãéâr¹ .o˜ØØ½#¬XnóÌõ.§,+„N ÃË@ÿ‰òö-ZHUI£§§—Ö¶j:ŽŒâ L)?øÉ=üþw¿æ†›n糟ú/QÓxB‘Q´ 8ì&a±ÙŽë¢u®— gÁõ×_F^NÑÖ6`À`ÅòH’dþW„­ÛwPWSm’«Rž5ËÖ2¥$=ŽÏ"«D9Ù[b,#™L20cùòå|þ³_Åív“H$øügÍϹ$I|æs_å®~»Ýüf˜qœSU‡T…Ýng`p_§'Èõ×ßL¡P ‰p²¯‹Éñv—ŸB¡ÀáÃÝìÙ³ñhŒW¶˜Ÿ}U6ØpV;GqçÞK4CÉ&±MmŸ×S&-“ ¯3€ÃÀív14ë\WPAoNTr\*¨àMˆ™k• ë,ñðLñ/J Z[8kã:œN'¯íßÏÁÃû¹è‚ËH&Ì`ÀÆÆV^~ùU¢ƒQ­XÌü…sÙôô&–¯XFCc5»wíÆîp²`~#CQîÅér`+šy¢½ŠlÂ, kšj¨¯o ¿¯—Tt€@Ÿnz ë×/cË–W8ÜqãdžÊÝ™÷¿ïtëaëö]e2ó“…[o½Y–)”DÔ¬A¸ºžpÐÍh|ˆ?ÿé1!‰œ2ɽ?ü?ñ$Þ@ º®3'ÒH.§JMÅØ¹ëUV¬\Æ¢öR©SSi"‘0ƒC1^x~¢µÈºµ«™SWÇOø-þúÑrêùTÖ`ͪF®¿þ¢cƒøÃ!/YDu]#5˧>ù)º»&Y°°¿/Ä«;OÐ27ÄYÎappˆ_Þÿ¾ýƒ{é:ÞÁM7]E瑃\wËõ¬Z¹’htœƒóñ}šçž{H­9Æ“™ŒX¤»ë’(Ò\ßB,£o`ÁšÃ.–O%™‹Q,‰H’ ]…£ÇøãŸ¶³fU#>ö(½Ý|髟gÁÂÅäó*››D|‚®îA¢c òi“Ü.i_Hww'rBù\Ž›o¹‘æ¹uœè:Ê»—½ŠÁÁaDÉ´*njj Êñz¼åÔøîÓFÚëõRP³(Š‚Õí` ¿—ÓÉe—^ ÀŸžü ƒÃ]Xªtìvv‡M)’WKdeeZ.§Èx¤Æ‡ÛîÃãvQ]ÛˆÍf#Ÿbxh˜†Æìv;–’ĺ5« „ƒüùÏOPWSÍœº:B¡`&ÜGc1Òé4sêêÐtÝ”Ë2Š¡Ó}üš¦Ñy´ƒ*‹ñhŒù- 9x°Ir±mënòió¸fÒîç4Ö zp8L¤¢ŒšæÁ€ù¼+®¸œ/}ý‹ÔG‰ãsº§¨V!ŠVdY!/§%‰æ¦&Žõep`ˆË.¼œ±T‚€Ã…Ýn'ŸÏ#Ë2£ccBuDü5HÑX —Ýl¡J¢Xvý²Ùí¤I±Y‹èzY–±K08cÁ‚ùøCu¦1$aZ>MMu5Ù‚Æþ=;xâñǸæÚ·Ngð8ýƒ¦®ì¯Ï>Ïßÿ3;IÏ éï=AçÑC8Ý~N?U% »Ýñc]üúW¿á+_¹¯’ãRAoü£— q© ‚71q±WþÁŸÑ¦Ì†ß?ô»ií‰9Rö“…={öòø£O n«„;F×Ìb'“™DÎêeóÈåò8vŽ?‰E5m‘Óò©bÒ°h¬XZË·¿û]\.¢(ò÷ßÅÁŽn¾é"óXÿ¼…óΙÏ{?p÷þà'ÈYK.»‚¿üålN/n»ƒ†Æj®ºê žyæ¯|ó›_-8‰v/±‘W»Ã$ä Y6¿øg^;°—‹/¿’ææ&ì9̲eKq¸ƒ„}5Ft:COÿq<ÌÛßõ6F{èïÀår2o^+’$Ñß{œÁ¡až|ò)ÆÇÆ9÷ü‹øñïãêë®ásŸû ïzç[Y³j9…éÓ<8ÐǾ½,YÚJ.—ãª+®'Î0·e>›7¿ÂÈð{÷w—»_E›ÀC¿ýçŸÙl–@ À'>ñŒñÌ3O308ÄáÃGçÒK/6íkµ }]ˆ’ÄœHJ&ÉpJ6“% àr9Ù±c7±hŒ÷Ýy©TŠãGá´yYܾT*EuM5#ý$“)ê«hkkÃ":Ëz¨Ñ¡>~üÀÏXº¤M›žáö;îà…ç¶røp7ÙÉ íK–ÑØ8?<òºnjƒ<?‰É ’``s |ú¿>Áºuk9~¬‡Ó @¨¶š€×†7PƒßÄî  ë:©T §Ó‰µJçøñ.ü~?Ò´‘ÀT2J*•¢dÉË“455às†HfKˆE Í Õìßÿ%#Çú3×M&8ÑSÎdÉe“tw÷Rñ¡ª*cãã=<Èmoá§ÓÉÈPét»ÏƒË^ÅT:C,gëÖWyéù—‡#:8X^xXº8Ľ?ù.¡PY–õ“Îd‹%òz_ýòwèЦ ¤£B\*¨ B\*Ä¥‚ ÞìÄ¥h3‹ˆÙÅò’ö…8œòÊ$6nä…—^¢ª¤12#v³|ùrÂá:8F>˜©É jêBDÇe‡¤å+– †I&Óìܽÿ4ñþ¢•Íüé‰Ù»ÿ5^Ýú2C8N&’)^ÙÖM0`ðÇÿyˆÇy˜uë×ð—¿l"©ã¥ç_âý¸“RÉ´ˆ½ïÞŸpË­7ó¾Þ…Óá$¢qî|"þZ†††Påþê^·ÄÄ”YÄÙÅŸÿÜgÙ¿÷ýøŸB®H(RÏË›wò›Ÿ?Æ‚Eó¸äÒ+X±ª€©©4ªªÅYÆ:ššصk/™L†††z/[ͱŽ#üîws²3Ï\Ç­7ß@ï`sæÔ1™I&“´/ZΜêF‚šƇŽ31iŽèuu@ÍÉfuÎ>{££c<÷ì3$I6œu²lPS¡ÿä\ps›…‚¨ªŠ×evANœ8JÓ¼²Y34²©a.«Xλ‘DM×Ë®^9=C2™brÚ°!2Ç<ï‰D’Ô䋬Æ!zÈéœ6 Ù4éTUÓ(è…²±M’رc7Ç:;¸ù¦ëŸ¡6\OëÜ%ȹ"rz‚­¯î`ñ²6ššH$Rôöã‡?ü1Ë—/çÊ«®ad0F(ä‚ /ellœl.ÆÐ@½½ýÔÕÖ„‘…“=#,Y² šÇyŠ'þ´€ŸßÿË q© ‚ q©— *x³—«¯¾ç_ÜŠE5xëí·•WC]£¶¶™††:’‰qî-çL€9R¶dQƒ#ÃdÒ 7ßr#CC}är9êZÙ³k»ƒ~ücô÷ŸDQ’üüOÐ27ÄûÞwÛ^y™|äNFcÃØív¶n}•÷¾÷]>ljWìßCuu„ùóç!Iþ€Ÿï|çG|êw“׫ʅðÜyíE·ÛÃèè(¡Z?‰D‚L&SNLŸˆÅ™ÓPÍfãhÇ~ü~?µµ5^;¼=Ûw±bÅZ6l8“ÁÁAt½€¦ix½"‘©Tм^Å@ÿv‡úº ó”Á¾1v;Õ5Õ¤R“<ÔÁDrMÓñx=,ZÜÎÏ~òë¹ô²+xá…—Y±bßûö˜Hi¼ïÝo#Rædÿ4z‡†8ÿ¼s¨*©,Y²˜“?v‚†¦V^Ùò2j®È¢…m,^º’ÚºZêë[˜7¯•ød”h4J^žd2¥¾±]“éï?IrbÛÅèx”m¯¾†‰E ÛxëÛßÇšõgc+U¡99‰,+d´<Ö*BÁt\+”DÂ×ôµ'RÛ„®ë¨ªŠÍfCUUÜn7ù\¯ÏKz*ÍàÀ-óZq¹\¦moA@×uìv;‚ àõzÈfeÓÂY4PS÷âsKÈ9S0ïõyÑ4|.Sòàt:ÌŽXBÓ5\^‰¡^^Ù±…‰ØUèÔÔ5¢ë:.§“ß>ôj®ÈûÞÿa®»ñ­ØJUìØû*_ü§Y¹z9ñ‰kÖ¬¤¡¡žX,ÎÎ{8t`?wÞõ!:Œ¥$ñô3ÏP*ŠÌkmÄ"ØyÿÞCÀç «÷ç_trr›»†ÆH ÙéÀL_ÈEQWp¸‹"É©N§“h4J8àÂår•ï«êêjVº^0­¯§MŽ;Nz2†ËåB–eª«« U×S[[Kj,J&“!£©&{Nåd:ìeÙ²¥†¡Ë蚆.Tás‹$)dY¦.Ò@m¤Arãu‹LLFyõÕ-l~å%Î?ß´ŒqîÆ³øôÝws¼{„óÎ_Ãê•Ë™;·]×in™¢äh›×@Oo?ÏnúЬpáùihncû«; WÏá¼ó6¢¤u|jÜn7ããQ²Ê8ý}'xùåWÌ›×Â3Ï<ÏÈð(wÞõ!Þɤ™1óÊæ—¸üÊVˆK¼É‰‹ð¥/}éK}QåoþÐà*g¯‚ þÿÇgåÊ•Üõ¡÷rÕÕ—qé•óÓŸýšb±ÄªeóPÄd—Sâ`Ç1Ö¬Y‰ ©LQ±¨/]U:uµA¬]³Œm[·qìÄ(Š:Ø Ø‰&Ù¿{ÑØ(çž·ž—^ÞÓ¡£¨SœÞZ6oy–“=D‚.²ò$Ь°zõj¼6¾P æ57ÓÉÅoà#w}”K.¹–cÇ{yê©ðí¸n|¾ ‡Y±l#ããtwÂép@É@ÎʆÛ)!Š"AÓ î¼óüÿƒÅív#OʨªŠÇ$“ÍŽR_[‹ßÄj‘ˆ«ñzBHö’ä'=™%௜H‚ Vü?>O€¬’Æb± IGŽañ’Åd³Y¢Ñ(¯‡RÁ ùôù|X­Vr¹<Åb«ÕJUÑ‚CrâóøqØýè”(‹ÅF´I6’©qÉ1^xé6ýõI uŠ*$ãøƒ5Ìm™OOïöbÿ.6n|>/…B¿ß¦i(ŠÂÜy‹H'Ì ‡Ãa¾&—C+å¤7þ^îëëc":LV‰"gS„‚AÎé×*9†zRSÛÀ9.A”DüÁÚr÷$o(ÔW7ò§?=‰Ãàú·ÜˆÃá 55Š¢ JN§±d¡h­"ŸËa—J€Ì©(9ŠÅ"ˆ}}ý¸Ý.¼/‚U “É09i®”»Ý.Â6¤&’t÷ô°bÕzDÑýsXݤr2¨:G»:p¹Lq9҆¸ðüóD‘žþ~ª«MW¶ï}ïÛLM&øä§ÿ«hep`ŸÏËd*F}C ±èp¹»•˜îxœVÜÞ0±ñ!üÁ<6§éS>5}ÈÙº®ãpúÍñÁ‚€’Ï£©?ÿù$IFÇb$Sæ"jeT¬‚ *— q© ‚71qñû¬,^²§ÃÎÁC8n²É 9‡àq ks[ê¸ä¢³yð×råÕ‘Sr<÷Ân$Á@3|Nƒœ ßùîçX¿n-/oy…¦ÆFþúìóüæÁgqÙáò+Ïæ?þã“|ë_cåš%¬Z½‚‡ÿð{ÚÛpÙåW²sûVöì}öö¬?óì²HZÓuŽu§¿ÿ$W^u9º¦ÑÔÔÀŽ»Y²t1ó[WL¦¨­­AÉ$‹MRSSªªœ8ÑMsëBjüA ÁÂèØ†–¥±±“½Çikk£P²ÒÝ;L`Zs‘J¦¨©5Á½/JÎì ¨ªJ6+ãq ‚™1ãóyq¸ƒ„B!ÒéSÂpI’ð9ƒåsH$P´ v‡½œh …H$Ø,f±ª•29ðù|8¬.Óy­dA°äK§Òî%¡€ Ã0PU UUQ‹ ¹l’ñxéT¼lcëp:È)9ó=¤'ЋVæ7/À¬!RÛˆ¦iê<@vj‚9-,]¸Ar#EòZ•é&˜#c%‹ƒ|>o(CAUµ2a(ÍÑ®™÷éòÛ‘e™T*e&¶†9æó‘NEyð·÷35çªkÞÂc¿Œµë70¯m­­-ôõõ3§±•“½]tvvrþùç ˆG‡yéå-\táùŒÇbhªFCcë´¹ƒ›ÍÆHlˆt:ÃÁ}»xeó«x^^Ù²ŸÇŸx€X4Îy€+.½–Úº&|~ŸiÁ;8L,§¾iž©[™œ$ä­Æn·átš9Þ€yoìݽŸÏKÇ¡}ƒæÎ[„$‰ÔÔÔ”I.@*•Â릻»—+ȼ󨩩AE’ñd-S~Í`o?Ë–­¦P(066΃þŠË/¿Š`0ˆ(ŠTWGe¥lË\_Ó„Jk•N<:LÀï/»†åñE­Š²vE,Ù¨®k2¯…½ŠìTŒÃ‡;qÚ¼´Ík-oCÓͱ.§Í‚Ãíäxo/cÃýøü>æÔÕ288LØ_C]m-c©¥‚L>¯räH'š¦±páV¹|%Ÿ§­¥M×3Ÿ`ë+/³jõ:"‘HÙpÁãõxˆ„Cø|^"Õ|>ù|ž£G:YºøÊ q© ‚ q©— *x³—×Û!»C©>·@¡`°begm<€Îã]DÂaªJ"j^e``§Sä®~€Ûw±déb¾ùµ{øò×¾Èʕ˸íÖ·Õâ´Û¸í]·±rå2víÚËDl„ÎÎÃ8]N>õ©Ïsï½ß¡¥e>ÉDŠo¾…ã‡IMÌ,_±€|^¥µq>éL]Ó%³ .VI¸¬n·MU‘l6$Qdll ›ÝŽÛíÆår"tF{ÍUáéTôU+—34–dtx„í ÉçòL$&‡Â  ÐÔÜ ÀáŽÃ,Z²·ÛÍÔÔ‚ `³Ù±#IRYG˜®Jv;ˆùŒŽ®ëhšŽ$‰Øív?Š’Ãb±àr¹˜˜Š"Š"²,O ¿©dAÓuôªS ¡º¦aL% f{r¸—šÚ¬U:Ý}ÔÕV!“É + ¢(¢ë:‰‰ Mó8cõ™h†…}ðƒ´/Ç•×\ÇO|/œ{!×\s=µõ-  ȲlŽÆY,‹ETU¥P´ât:q9,e2¢i:‚`!—Ë“H$q¹œ Žô¦ø½®¾¿ßož7QähÇ~îÿÉ÷Y}ƾüùûøñO¿Á…^Êøx§'HÏ$®.—I”ˆF£H6.—­ ¦¦¦Èd2H’„¦™÷°$Iå(Šìݽ—Í/?Çãÿ|^åž{¾Ía!ŸÏsÁÅ—M_¯ ñxœyóZÙ½m'N¿—ÖÆyȲ‚×ëÁjµ–5<’$OPeuàñx³ )ªUär9òù¯²`Á|D»—LËåÄ0Ф•J6A49F"6ÂÔ”I &Yzú£k:‹ÚW³ñ¬ f—hšf ÚiÅ¿P4¿÷ë§Síó“ìÍðé´i{øñzM«aEÉMœ†QD,‚@:)owfJ-*  UŸ}ûöT×5sòäIœ'Oˆ\.ÕjE­F‘D"ÁÉá^l’„Óm„Ca>³³“H$p¸ƒ8EO¹ëÐ0·–ááaÂ’$ÑÛÛG(,“Qyá…9v¬‹•+—³lÙÒÓÎG6+O““š¦144Lccw³‹æp8( èºN:Á锯ÕÌx]^Nqr¤±á>¦¦&°9,T×5bä™v\ó!Byd°··êêyŽã“Ñ2áñ¹E¦²:óç.à™§Ÿ$‘H²débV,]ŠÝngl|œ€ßO¶ !ZtdYfl<ÆÈð 篢®®Ã0HÄFhkk+çÓH’„VeŽÿ)Ù$½@ÿI4McÉÒÅØ$ YV#Ÿ ¯·‹Ã¸îºë™7SSiüÞ0Ë–­64‚šåh÷žyêÏtw¤}ñ2–,YÎØX ÐXºd†EÇë1­•EáøácØÂÅlä}ïÿ ¯îØÉƳ6”ÝŒæÔøyá…—™šœ¢¾> @•Åμ¦6òzUytª©©Ã0e…ÎÎc¬[·†|^%N˜éÙSSiA  ÐÛÛǾ};‰DêY½l uuu$S)䂆ÓVE}}=Ñh”h4FMM5C1Zël6°‰ˆ¢ÈË/lâ¬280`ü;kÖ®AÓ´Óº4R•©Éçó­ÜÅìÅå2‹«'Ž2>6Noÿ n{çí´6šáÑò(“ÃdÏέ¸\.z{ŽQ[WKmc=]GŽÏañ²UåQ¯™1"D"ä0 Ü '‚¢–ÊE±Ëå$W¦ f©­­!“Éàªðk$ Y–Ù·ï5šêš‘\ßþÖ—™ÛÖÂ[n¼Y–©¯n4÷—+–]Á¼>/²,— Wmmmyü«yNKùžRUÍÔú¤3†(Š8öòï€Ã(âp8Ð4Ã(–;:3ãfV«uzUßì\8,‹9Š&èx½Þr¢¡™Ù6{ìÂjµ"I÷ß÷+Þyû{™Û0»ÝŽÍfCÑ2L$&Ê/Ÿ3Huu„tn²<Ææt:1 £€U°¢ä”²&G’D”¬Œªi‚Â!óJ¦áA±XœÕyÒ(U™ÛsŠör·LNOÊNPP³ä Ù2IŒOdðù¼„Cîò¹œù ŒŒŒPÛ!022R&‰µÍ¸Ý.6»#­­æu( äó*µµ5$ “Àæ&Y±l ûöà…^æ¶›ÞʪµH'²Ù,%ÉŠÓá„bŽdÒìå彃=ø|^|Á¦’Q“€MëˆÜ¢‘>þüçgh›×Âú5g®n »»›ÎΓ¼ðüóä…ý $¯CË¢ë¢c¼ºs>ü#Ã9 X`s ¬X²UÓØ»ÿ$ëÖÌedt˜p¨šo~ë[x\"]'” q© ‚ q©— *x³—¯ã‚¡s››I$“æXQVfùʵPpØíåUc³€3SÏEID%á ¹¬B¡d%™LÑØØÀøøxÙÒÕjµ ¹ÉeŽõ÷ât:9ÙÛÅÐÐ0çl8I’ÊÝ”øø¾` uµ5$’)ŠºÂØø8LN¥ñû¼„Ãaêjkèééa,£©±@Àoj1¦SÄûúúX»v n·›®¿›äâÁ‡"” 6IIåd,%9­åUöX,†Õjæµ£,¦ÖuAp¹œèzÁ\a'Q0P5µ\øjy³¨:~ü€¿,8·ÚÜøý~b±8¡P°Ü¨ºHgÌ\ƒé•~Ýì€Íþ©ì„.(XËs àGÎÍkcäÊv*5‰–3aF»£kf¶G àHW;·ïⲋ.`ËΧ™šœâöwÝI À@bû¶í¬\½²,E]™Wgì°EãSH’X&v3£S.—‹|Þì–ØlRùqMÓ)‹¸\. £P¶;% }º› JÖ*ÝìR¥M’*:-eS‚ýˆ],‘ÉO266nÛ·¢æU®¿áf"µMæóu¡Lxf®o&ivÏ|>ñøÄ4IŸî©*ˆBQ°˜Ç3“"?ózÇS¾Ö’ÅQ&i’$Q,)‹”ªl§½/½P TP@4Ÿ[Ôe²Ù,y½ŠÚP}YãdKȲŒ¢(äó*î¥eÁ<¾jb±8@—7D$bv$'''è뢥ŴÃO2Ø‚¶…Kñ¹ÍóµoÏv^ݹÖy-Ìkj£º®‰¦º4]C+˜×E²H¢Ä`lœt*†cúýš…ÓŒ)ôŒL  RÛH||ˆßÿV®ZËù/`מþóãÿI&e¾vÑÊf¾ÿƒo# ár»ÝNSÇÓÓÏ“O>ÅÃnÆ6}KÙ½×ßx%—_~)ù¼Ê–Í;yê©Mdæ}½æ¬v¾ôåÏ3:¢WˆKTˆK…¸TPÁ›•¸l~õ>cQòù<Š’£º¶ÀOV)ðûJ¶rÑ69›¥ Éˆ¢H}c+NiÅ»|ù2 µª~g2Sf¡¡Ë¸].B¡`v,á ÃC¤R©ò¶Ç¢1s6 MÕÊd%à÷£éǺN ©u5Õåì »ÝF>¯"Ц›Es¤j``~ì£üû¿‚ym‹p¹\ÔÔT—EßV«§­ª<~f³Ù˜H)$âìÞµ—ššj6œ¹Ñ´š øËBx€R• C—˺UU‹ÅtL³X,åÿÁR¡RUB¡ÀèØ>¯—ãÝGQd…óιŸÏ‡,ËXDŠ¢ kU%•BÕÿ‡½;’«<ì¼ÿ­º·níÕÕÝên-Ý’µ°Æf›Ø‘ÐØql2/ã×F±_fN|%p&e^<ï’ŒpBÆ`ìx!ûdñ‚ìË836žŒA# m€¤Þ»k½[ÍOÝÛÕ­–À6hý}ÎiDWߺuë¹U·ž_=[;á1==ÍøDÞòBòùÙ|7§E³é22yÇqxéЋ”2Y.ºè"|êì?pgŸý)¼áÂxŒÈ?>ö#Üæ wŒááa6üê;ñ[)²vÇŸüK¹æª71Y3ã+ð,,+‰çùT*¦êf•öžb£££q8‹Æó ô“JÙqy¹ Zµá¨ÅÊ„+3vDZ|êõÉd’ÝûÊèðˆY7gpI&£IÆG^¦§ÇÌuðà!z,¦ ŸÑÑQ‚ö¨9§Ÿ£ 0·Õ¼iFŽ“Ët1ÐßGÔòÓh4âm£–”¨5%MÆ­I“Ífã൙°æb™ü»ã˜qYÀ¬1S05mZÇÇÇã­µeì< ¿J6iáz^<¾+ŸÏá¹^6&kc|ÿûߥáNsÉåWà´tu÷³ <Àd5iΉãzUêÕq˜V|6ÉḚ̏jå þ÷ÿy‚#/qé%“Íw³lÙÓ•QžþÉ“¤s%Ö®¼€G¾óß9tð×^ýfF&299ÅÒeCüÒ%kyùè8?øÁXз€®l™/=üw pÍu—ÎtC›lòò‘ {ìG|í¯ÿ–á —åË.¸ä"ÞùößRp9ǃ‹­â9w=ûÌ-\Èî]ÏÆ·ES¿¾°÷ç-^N­Ƴí߀?ó$ý ³hA‰çw僚×t%s}‹R>C¥Rá…C)÷t3|t˜E‹R6ê²…é\aƒË†â¿³…n.¸ø—8xðAÐÕU¢ÙlRî]„B¥RáŠË¯›5X»Xî'—NÄ•´½{_àûþ.»üRzËeþ×àÆMï¡^¯óß¾ú.¾ø"žzê'¬Y³šîînªÕ*ŸýìçX±b9ïüäm׿ƒfX£2^Ƕm*•ª˜î™«hÊñI¶Ë«æNcáÄ]Çq˜®z¸•)œBž\.‡ã˜1Fß÷qÃ:ål+ÉU×\eZR®Û$ŸÏSwM‹@½2Fh¥°h1<1ÎáÑ—¨Oy,\B3¨± ÛK¥9…zôõh´¯wÁv:@"l0|ä÷þñfëïþ®¾˜jµÆùË–Q©!ßóÎ[ºÖL$X\uõõ´ü£££q×-ß7a0ŸÏ™±-½ùö³He“äœ\<¾¥Z5eOI&“¸A ¯³Òﺦ†ÔÍš:¾OÆÉÅÐÎ&X³f5¬Y=ëµ PÎ÷$]úÖ^LµZÅk:,^¸ŠB!Oe¼N)[f||´døV»ìÍsHe“8 3F&—3* øU( AP*•âÀV¯×ãåºõF'—ĶmBofÖ·èu…•fX£9nÖI§ÓäRE¬¤žÅØô0ÿôôôõ’+äYл€R¶<‹R¶Û“a3ùñ<ÓjeÙnÓk}Z¬Tžj}š ê‘qR$½<7þµi@ën +t¯±°o)“õ ‰V;iÂÏèè(½ÝyZVŠá#/²{÷ò…3³ÛôÔ½=,èl«©W]óËl¼þWi5‘s˜‚‹È9¬RõùÒWþž\ÖTä¯oŒåË—‘Jú¼4|È|ƒ=~ˆ‹/]Áóû¼å-×2::΢Áå„M–/_ÎÔô”©¼t•Ȧéêꢿ¿ß¬vžËÅ]m^zɬ^,ñ[)V®1cSªÕ*ÃcÓqW˜jµJ©Û„O›nO.@º™©iÍùR/ùR/ †èïïçÈð^r]/ìÿ £/å³üA2v'åðãÿoþîk_ä-ë7òíÿ)~󦛱[i\×e||œd2iÌŒÒ k¤4 ð-üöxÕÑö·ñæ›ðÀ5ßÊÛ–Eªgf€öð¨ÓP«Œ›1]]4›MJÅ"u׌±Â4ÝÝ šM70•èzeÒt»ræY:¸6n¹p‡Z­Ž× h%ó¤Y¾t¥R‘ÆÑa&kÓ{†øô݃S2ßð»Í&Élštr€b¾›Z­ÆÑGã±<Žmƒ•frr’ÐòÈårLWÍ,ýý}=:L¡'kH¥RøI?žu̲,Â0$›Í6!ÅžénýA;ÌX¤ÒY`š†› ã˜Š¿_o‘NÏnõwŽ“%À!oùBЬ€|>O!™L† ©T*žåËóÅÚµkX¹rAkÒŒi¯åRÌã®vi'ÕrâV›h_{žßC_ÿ ‹Æ=`ƒ6izi'ÍDµf&…ÈåHåRxžï;šñÌM€WŸLðs}H'sØÙ>ð-ŠæíD2‘fdÒ„è)çqJ¹|7ÏïÙC£Ñ$“Éóæ7¿¡¡AjµSSÓ,ìë£Ôxþà~Ç¡»ÐË’%ËM°Ã§Éвu¦r‘.З.pù¥W“Ïç°4ß|äo%_^‚ëaõªó)•3<óô.>÷Зøîwvñ¦7¯á÷ÿý'yóÕqàൌ}™~¾÷èwùå_úWºh‹(¸ˆÈ¹jÿÞ—ØýÜ~¦§G¸üÒKyâñ§xùå V¬\D6›ä–[nåsŸû+Òé4ÿø?çà¡—¸hÝŸ®ËW¦Y¾|½½=ø­cãìa?™l†îžn޼|˜¦ë2°p€R±„ëƒßJQìêDzMÅÜ›öhL{A@:#Ý•# Cüºùf8Øqå5êvdgfêÙöç|>O¥RetÔTÄ\×ßbttœG¾õu8Ä¿û7ýlÜønSvüÜòþ·²{÷ž{nŸÿÂW¨T*LLbqß•J…LÆTzý„ )Mw¦«QTÉM„ °,¶OžtÆ<¯) =²]åfý’rÙTŠi’Ëe©Õê4jƒËÚ­fI‡v%¹»›L¦½þÉ”/‰ärYÒi'Ùl†B¡H³éÒßßÏî7q“owíjL{øuH:¦»“ã8Ôëõv9zØYâÁë‹-2á«^£PÈ›ñN)®ìG]¤lj»í *3!’í–°]–ÑÔΤ‹Qb •0-Gv#Mv°Là ƒ€¦oþ= ‚0îžgYÉvKY%n%‰¶È¥Šô–-ŠÅb<µï›ð•ÍfLxtÝx…ö|>Ow·iÅ9rô(ÙL–å+–³dQ¶m3==çù¤R6  VKR«Õâ®m^Ý,ʵê€é.¹lù²8$5Ý&é0Œ[<íØ6¸IÇ!—s¨5›Ôj&D[–Åøøx¼}.—3:¤ÂФL&Ó&´gÊ' Ã8Gï­ô÷± ¿\6¯;”J¥°œN¶ Û²ñF^"k(uç)çMÊéª)×½ (—ËÔj5üVŠzÅŒÃq‡b±ÈæÍÂõ-¦¦§˜œœä k.¢o`ÁÅ«yǯÝDuk•£Gá»òùoyËu<óÌ?qÁk9ÜË$" ."rŽú§çžäŠ7]ÂÚµ«)‹\xð ôôvóÌ3O12<ÊèÈ(›~ó¬”éRÊ™V„¾AÓ½§]ùL„ ô÷±tÙ2š®ï‘Ëåèï^D½^7™«0]Ÿ0•Çl.þ&<šr¶ÙlÆã%2™L<~"ªð5 Üa/ž&¸ÒœŒЧ µZƒäó9~ô£ÿÅG>üoy~÷núûùã?ù÷tu•xæé]LL°þºkY¶öB®ÿµA:  ÆânöìyЉÉ‹–,j‡ƒ\<Æ'm‡ñ·ÏÓ 3ÃR¡@—ÝMèU™¨ŒÑJffºYf”R©‰c¥qƒ&žçÓhW*Át-³¬¤™9¬ÝMªR©Ä³g™™¢L7§\z¦KV@@šV"AÝMMåÛuÝYƒâƒ ˆ§Òõ< Eü·R©ØžåËŒ½‰¦|̘š±qº{º±ÊV<?ª4S°âýDÝ¢ñͦ™2;Ónê¨5§!¥l7¡å‘÷ZLLLP¯ŒÑjf’Ïe²f&SØõ¤YC(Z”3™ÊÏ:§¶mÏ EfÖ gQ˜ŒflëwåÄ“ØVËJ² 9OW==fÖþÁ ±,‡tÚ”….àºcT'6ÉzHfÌë«^ÃNx@‚ p²],2eÕôÁoµ°-â°WÎäȦŠ,(2:2ÂÄdƒTª@²•cq_?]¹žGª•fÙ’ÕìÝçë¢-¢à""çªÿ÷£2Óó¶+j}Yr¹K—/"—Ë19ZetlŒBÞTXH§X6°ˆ££Ó<÷ìOX°Øt×*fÊTÇßЦœ™©]ãÅíVÊ"—ÈÅ Ž6ƒl«Õ½½=fPtÂÅj94Cóuôºi1HÇ03-kÁTÄý€\:H12>íÃÅ—]E¢•gí—2|ä+—.d÷Á¤3åD–?û,;v~ëÞºoþÃßrÿgþ’ ú¸á7þ%CC+X²Øt?K;iüÀÇu]„Çxe”Ã/¾HíN;ø¾)ƒhý“LÆ#í”ÀplS®õz#nˆÊ#nY–ùÆ»=Ð{lz˜ ˜ª™Ú¥b‰\®‘ ð¢oË­v ˆ'OH¶ƒ@sVÅ? Øl6Ãx{Á¿TÊnw‹ gµ*Õ*UºK} ,áЋ/òò‘ƒ,[¾ŒUç­!üøøƒ 0a ÓM+¤)Ç™5?ª8{Ì„'ÏuÉd³q@é 9‘Î {q@K&“¤RíÙÖ¬$¾Oû±ÍZ3QeÝd|œ3¯)§ý“ŽCJÔŠ”NÏ„˜Z­Nñ@|€Áeñ¾)šnkí‰ßÌ`ûÀL¯Üt›ñ¾Ç|ÏÇŒ"dè09jZ?†'Çq‡|¡›žþ%ôä $S9ü–M_÷BþóA•©©i3 Ûòèí-³¤ÈTÈ\—dʉk¬Õkq”¨rUêÍqäÈ‘vE6GÃ!_ì¥RÆi9”ºS 8Ä’¥çÇÓà¦m³8]4Mn´ê|>Ÿgbb‚dË%)PlWˆêÓfõõ–åRžÌàÖ^瑯þ år?ç¯ZÉ%—\ÄÝý)Ö®]M¶ÐC£ÑÄn9ø•xÓ}'êÂdº©uõ Ä3‹™ÀÐ^Á=ëcµ¿u7ÁÀ¬õ­5…—ÎoÀ=Ï£æMÇ•j?ð©TªíŠ_Ô2á•%—ŸY;¤3hxef!ó‰ïcY™L&®ŒwV\;×VóMx´M>ŸgÑ¢…ñ¶+–/gi{MšèyÙ¶?×uãçhÛ6Ùl7°gŸeY³ºnE¢ÐýüeÛ!ˆYç à4M™DÏßóãîjõº Q×µ™cHšÊyGàñ<Ö¬cétšdÒ„œÎ u§‹ìG3‘OR£Fcڋ׋iúÍŽ© ]j•*LK–eY¤(Ð= évË¡”í"NÓÕnÝlx œL‰VÇ }Š'~íD}Ì{ûœDåÖùÜ:Ë?“1_4$“v¼m&“‰[¯²ÙL<õw†¤’¬dI‹¾²Yɲ!MšÀµÌ ‚íÇ™šš¦Ô%í¤ÉÚ…¸k§ëºñd>MêµÊ¬óS +üÎ xÑíétš0 iøU‰™Vµf4Òq q]/^ø3FGÇH83ç#Ìu„žL<æªV¯1::†ëš/J¥¢iUôLkS&;ÓÔ÷}ìè}‘ð˜ò«ÔýöQ!ø$R6VŽLNP(䱬,AÒÕÅZD\DÎeI<^>øFƒ%Ñ@á*4êužyf7}½= -K㤲ԽiRä)&MÆ_ÜËÔD•þþ~÷ ²dÉb&¦›ŒfÁÀ …+ßp!SSS¦ª Y<´¼= ¿7®à­]»†üëá¶ÌÀôýû099Å?ø~&kUÖox…BZ³E:¦¯¼ññqr¹,•J•ŒS¢™jR«MbÛ6Íf“V2A"l˜il«ãÔ¼i3~&Sd ØC±§§g€b©—U+×Ïwc……ܶeã>¥|¿Þ"´Ì·êÑ:0Iš4…|×7ƒª#Ť“ ljÚ¬ qÜõ&á„`%-¦êfà{Ú™©à[¶E1Y&— Èf³q…9`f›hQÈcA‚©úGŽ¡V©â¤Z,\hº±Ù Ÿ™bŠ|>» atâ0¹L‹-¢T2ëz½w- Z)RN– p!1–ê•1ê:]¥]]]O­Vç·’©cºŸu†‹Î±h0ÿÜíæ², 7˜ù‹óc\Ö6­D/ˆ‚R6~<Ï f…§VÒÆjW¬“©hÖ3—”•5±€9¶öcZ¶fνïûñx¬ÎAð4ÀÜö´Ï&°X¶…:qðñ“¦‹UØLàzÑì`Éö§t†$¬,¹ö¢–`&»ˆ&r8æ½ÝîJ̪ôGá¹s\Q.—#EÇIÅãwÂ0;˜5)E“Z^‚ Àjb±ˆe-×£‰º¶j5Òv·òDûix ü¦YïiY±ÀKÃxit;eÓU*â…)p=üf 7Õš5㛈(¸ˆÈ9èð‘ ú–ã{>ŠY%|blšL&Ã\B¥Z5Œs%3³P¶S Õjâ8^òF,Ë¢§§Ç|KëMP\Z¦T*rôè0‡öfñ¢E&P¸fv¤0]óÉårŒgøðAV®\ÁØØ8™|ŠC{÷±pÑB ùn¦§]–- Ú„LÞL‘[©L“Lå©ÖÝø›i,ú ü€ÉɃX–Oà™Õ¾ýf’æ[çîrÙŒ3è á¹B7vº@o©Ÿ|©—–›„”E)Wį›îs]kšn“ e*§n£=`?™#“É̪ '“ɸ[QÔú`Ûv{]‘ö~êµé1ìDì¿ejVËÁN›.[écª¥¡W¥ø$[a\ùlYV¼úz±X$Ù2S:ïÙ³—R©D&“&ÁÌäÉÀ<·fX£Ô›£»{MÜÅ*zñØ$ …5»µ$º=“¡X,š©Ûc^lÛŽ»žuôJ‹CE\¡Ÿ'´DÿŸê8ŽÎ wçLd­TsCÏÜà­¹“t×ÜÁÿÓ6wþ~ÜÓŽñCÑx3Û[®=CϬnzÑäa"cq÷·èõâÑ€vJ4†%ŸÏc%<­0Xoþõfu©³m›TÊ´~5›ÍY!:혠Üt›fV<ÀÉ´Ç‘‰ÏO¥9iƯØ!N.M@G YüvÜÑIªÕÓU´ã° ¿t:¿gªS£$ y*Œ3>>NÊ)Pî1ï»  G+¦«éØäQ†"•ô™*- uc¬5±èÑÅZD\DÎu§€_o±xÑ `º‰­[§â»n…\µF>Ÿ£éºLeÊ·p2Uòù<½½=¸õI^xÁtãè7• ÇáÅ—_æÀƒ,?-ùb‹oû›<ñøc\pÁ:Î_µŽR~.!Óìß¿›EKû9xx?é£Yn¼éföìÙK¹kˆOÿ§ÛY¿ámŒ&Ò B’IŸD+dtt’®®.òY³RøýûIàR.wQ÷[¸‰¾&m‡ø^Ž–ÛbÁ@]¥" ;OÞ)Æ!|׌#‰*‰ù|ŽÚxfhÖÌÈårLOO›¦Ím)ÓBa¥ò„ ˶I¦²©æ¬.^ÝxÜú$‡G_ÂoV’ýŒ&›ï¦¯{!©T ;]Ë"p]3½½¢|”¢ÊqÔÍ/L¤¡eZVŠÇÌd•7ÓÒ:ŽC_÷" …|Ç*ð6Aà“l˜JjØ®!›Ù¶Ú,íÄcF,\3°ÝJÏ ™¼‡`Å-–cÅá­³õ¡³ ’sMG(ˆE2™Äó¼Y¡&oó´àx¾ÏF·rµIʶç<ÜìPÒ) Ng¾ÖÏuÁIcÑ$ e5çýH CÓ╽S’ì*Á1ãx’É$ifºeùŽ9÷ñ*Ç<¢>WA+…ø8‡Ûi4$1ãQœ”cZ_<‹´~``Óm‚ éö:Q+ËDÍLeœö“¤ÓJø~ÂÌÊVìêÇÉ6É›f†³¬9æZ­Fuj4—–J5I¥l-ZˆÕž¸#Z@ÆJÓÓÓÍÊ•+˜¨Žñâ‹/R«Œãz ÆÆÆéHQq\œDVlQp9—-ìï7ðó¦âo¥ò¸ž‡W©R÷kØ)›jÕü›É—)¤Òdrfð°Y±Æààú{‹ì?p€?¾ç?sݯ¼•·ÿÚ»X±b9ÿÿ§ÿ#qÿ_³x‘Í%®aÅÊüä's饿ÌÐР©e“üàÑÿÉÕWÿsJÝ@1¿ˆ§žú ½½½XV’Dk˜|>O2ž5Ë¥Z­’ÉdâõK‚,]¶,o…]9SIÊdÒtwxžßÚÒär¹xÑ@€ö$`xAƒ‰jƒš7ë¹Ø é‰ F“jµJ#¨bÛ6-¿‹\_ÂÌå…8¶MxLƒmºuŒ¶,‹Ð«rxô%¼ð<ýðWøÍM7²réùX)·Ù$­gÒQAƒ€©êt;P¤ãͪeY6IË" lJ…$n+…e[³ZMÒf€ I­V¿õðG­QËAT¹ŽÆztŠ*ᦒ<{åøÎÀ:u–¹ã1:ïßùqøhKg™Û -Æ-ô8ß6ÇOµÖ„³iuNÍÜy_˲fZdÚ]øÌ¿õYÕþ憶¨î˜×!êå8N<}ö¬€Ó¨Ò–e¾ èø{ôZ‰fC3ç3Ch‡@vÖ<Ç–±Íø¶]³ÏW†XIÈ9æ¸^‚lÑÆ*y³Ïk;sE³òEë6ͤ* R0ݘ+‹×LC2‰•(Ñ[òâÖ«þEfV²R¶L+™´–‹È¹.ÑjµZ;ž†Äì?´Zpå2G%$rúÚ×¾¦B‘3Î{ßû^&''U"g±îwM,™“M>ågÔâ"r.z×»Þ¥B‘3ŽB‹È¹-©"QpQpQpQpQpQp‘ÓÞŽ-”·ì˜ù}ïv6”Ëlؾ·ã¦ ³~Ÿg'l)oà„›œÜ'õ‹ÏÞílذ…-^çô3ÛÜóìØRfÎM¯‘½lßP¦¼eË ŽñDÛì`Ky ;ô®QpyÍ­ÿÛvÝÝ®€îeûm_å†ÇfÝÖ{ÛÐÜ»uß¼bV°)—Ë”[ImWnÛÛÅ•ìY÷í¬|·+ó;fþ¾e‡ LѶ³‚Ó a[Ê›x€ÇØzyy¦ÒÜÇžçØoû*7Üw÷Üw_½m;{y=ŽóسcËÌñÅǽþclÛµiæxwlasÏúyBÐ<7;ä̳ý¬‚XÁæG&˜¸çí'xÁ¼šmDDDÁEDä5·‚Í_ÇÖ{wÀŽ{Ùºîãl^±žmÛÅÝÛ÷²wûÝìÚö1ÖGÝË·òX|ߨ47ìÝΆò½œÿÈæçžõÑ}Ÿãã3·¿ý戕›ydb‚‰‰‡aÓ¾uý#ímfÝÖÛL…ûa=÷L<Ìû¸‚mO0qÏúW÷Øñá߯Wo¸Í+€›¹ï†¯rùÜ _“ãœ'C¾ý}3¿<…Él¾o»îÞÎ^ö²ýî]lûØúù|ÞÇ[ÿ±è¾°cËݬ~8 cí€6ß¾~n+Yý¾Õ¬Ô›JDDÁEDäuÑþV¿¼i¦R¼bóÇY·õr.ïlmYq>ë€+¶=€‰{æT|W\Ï W<ÀÝsû­8Ÿu<À?t´¾ÜýÀûxûÏZo~5Ç0ï}^ÅcïØÂå_½û¢ç ¬Ø|ßì×ë8wl¡|÷jŸ˜`âñm\1k_íU¾|&T½ÚÇkß÷¶ ¸{õ}l^o~¿w˽Çß×üø*º¸íṞcÞQ""?“D«Õjíxj³ÿÐjÁ•Ë•ˆˆˆˆˆœ?ÜïšX2'›|ÊϨÅEDDDDDN ."""""¢à""""""¢à"""""" ."""""" ."""""" ."""""¢à""""""¢à"""""" ."""""" ."""""" ."""""¢à""""""¢à""""""¢à""rzÙÁ–r™rü³í{;ÿÖùûÉ:ž×ò1_ËýŠòi»‚mO011ÁÄÄÇyîrUÎO¯p£À$"¢à"""³ìÝ~7\qׯx…ÊóŽ-l8¦&ݱ͎-”·ìø9ö1wû2ñnöngüøÎýξÏÞíwóÀÏ ^í¾^m°xÊgÇʶ£#"¢à""rÎZ±ù&ÙÌ1¹eïnv±Žó£?¬¿‡G6¯h‡‰-˜*øJV_1ó÷‰{Ö³wûÊQåÿxû8nŠÚÍ.ÞÇÛ×ÇÇÇß÷Ïíáø»w7»®ØÆÇÖGwù8ï›?¡Íÿ¹¼}½šûŸh»_¤|Öß3ÿ9%šÍ<òøjîî³e¬¸ž®x€Må2å ÷ò\´ýŽ-”Ëe.ßúDáãxûxչݛàžõÿqWlæ‘?Çåíûlؾû8û>Îýç>þñöuÜû¯çíï{Œ­—¿–å3gŸjq9å­V«µã©aHÌþC«W.sTB"""""rRüp¿kbÉœlò)?£9ý)¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆÈYÎVÈ™fû}÷‘Ëf¹é¦›X°` ¤ÃÈÈ_þò—©Õël¾í6•¿Ê_tŽTþrRË_DÁE¤Ã‘Çùô§?M­V£V«©@:är9>ò‘ðÛ¿ýÛ*•¿è©üUþ'½üE\DæhµZ´Z­“öx‡j-ž©’ C®ÇTµÀØø”ù÷ðȬíï=לҲ9ÛÊàhÃâÇ/Å¿T˜¬W©×›T«æw²ÀÁö3´|¿ÿþ·ªüÏñ÷ĹrŽÎ”sr6–ÿ™r}:Yå/¢à"r /¾ÏæÊÁÔ²Çü­éÏÇåÛÿqŠûóxü¾Àgîz¯Êÿ5òã—Ǹöü!~ë/áèdûªóm™à¿ýÁ‡ùèŸ9k?¤Oõózµï‰ëÎKòÿ}{ôœxOœês“àSw³ð³Bj|€ ùgCIBÛæðÿšâýrN\§Nfùëú$¢à"rÚ|(Ÿ¦¸jÚ½îùO2ëïüèGñÂß?”dÍ`™_Yò¾¿:zV(ìç6>R%XZãú –²réÒnûøs‡hºîÔˆ‚ËëøžX|ñ jæ8þÙP’/ñß½¼°Å7žX3Xæ××Xü˳ü=qªÏQtzñ¢~ã›)<ù#ëß9+HúApÎ\§NæóÒõIDÁEä´uµ€™o“?øÑš ZØâþ?ýSÞóáà3BõÊ„ î54Y¯b%RÔû€W ª®ù·¡sðº¿'Îû½ynWV~õ| €¿ý'€__k³wÓÿ_ùs½'NÒ9YówšR(âæ»ðÚyòïbºŽ¹®®Sº>‰(¸ˆœ4­V‹0 O^…àð®çÓô­ø6/láðWŸù3~óƒ¿Åt»2à0]÷pk“'õ;Ëæl+€‘‘1‚–G.sÞ+n[ŸÚ,>%çàl-ÿùÞ£SuüÍCüø¯¾Ã/½óJ¼°E øêÿ™& Z¼é¶w&“,ø/xiìžSöž8WÎQtÚ·åN–<ø§¤ÆG9ï/îæ©·g>r׿i€ô„é>öÙǽSv:ËÿL¹>¬òQp9 .¾Q÷—èÿÝ Å;Þÿ[4ø»Ïþ®}ÏGhº.žÛTW±×P4¨u²þÊËO%–áþY}N—çõÝOš.a?õñø›§=šÀ#÷þu?À¿p§Ïú÷ÄérŽ&Ö^Fö²7S~ê1^~˯ã-†ßp]—¼‰ž§Ä ×þ:u?qÖ_§NæóÒõIDÁEä´ùPÚÿÜŽ½”+—ôãz>—üþ&ïÅÛ\»õ½øá4¥\šž?ÀðȘ‚Ëkèà û9zø0zË2ªMÓ÷%f¾­ô?þÿOÝ0ÄK/¾|VŸƒSý¼¢÷įž¿„Ñ©zÜ…²ó=à‡­sæ=qªÏQtN.ýð»‹Ez \ÙWeèßÜ`n+Y²(ËM«Ý³þœœÌç¥ë“ˆ‚‹ÈiãOï=4«fº'úÃÜ/×’Ðr}Î[¶˜ï=ò%Ükyn¿ÅœƒÚt|áê¼€¥­Ž_\ŸÅ}%ƒ“ðžÑ{ât;'ÃónÏâsnUçD×'‘“Á÷}¦¦¦TóÈçó*•¿è©üUþ§¬üE\Dæ8ùªüEå/:G*99’*Qpy´Z­ŽŸÜ¾êFØ×šsûkñs¼}ïäöU«XÕñsûÎãÝöv7>°ïu8ÎÖIèyìcïãÛÏñÆØ÷:=¿_ü§ã8çëÎÛ;ÎÓíìlµØyû<çkçí¬º}çiPþg@™§LW­:ögn9ï¼}Õ1åü‹Ü÷Ô½GÎÌótìµkÎupÞûœàöS~:=>'^Ïëÿéô!òzPW19cCËìnæÿ[aÈkß;àxûËøÝo}‘µ à{ܹæ&ˆ?ÞvÀþÏqÓö°ùÙOríq÷{ܹf;+Ùß+—ÍÉ/€!ný⟳{ÍvVþÑ­ …!'¿£Æ‰Êl?Ÿ{÷õìÙü,Ÿüâ³Ü:ë…„ß»“5ÛWò­gŸeYÇí|àwù³ëïç»·Fçê{ÜùAøóg¯ž·+ÊÉ-ÿÓ¼ÌW¦Ÿ|–g?9ÿ}£2Ýÿ¹wóg+¿Å·ønz`ˆ/¶7¸ú¸ï©{œ™ç)<Ñ5nÿqîsÜ}רÓásâÕ^ÿ_ß²9S©ÅEÎXavü˜…ïZ­pÎí;¹cÍîØÙþ}߃¼{Í»ypß|ÛE·Ï¾Ï¾·óåy÷Ý¢Åü‡ë×°fÍÖÜÑâÎ]_à–¡ð•mèZ6^öe¾½óDÇq¼ç4w»Ù?§¦üç{®¦×¼ûAö…!áÎ;X³f ï~pŸÙvç¬Ys;Ãy¶užNtÍßâ}ž¨Ìö}—o°•÷_ÎìWßÉ®/\ËwßmÎgüxC·°mëOÙÞ~Œw|ˆÖgîäêpþýœüò?ËüxeúJïÛ}ò;ßØÈ¶[†ºe¿ñ;ó¼ÖþûžúkÔ™ržfßg߃Ûùòe¹vè÷yÅs~*¯Q§êsâD×ÿ9×òw´ÏÙÏþyåã5îG\DNköñ<7òÖkÚ¿/½•Ûn|‚=ûqóº»x€e¬¼¬ã>—må×Dw¹û—±õ›»Øµkß\y7?tàU×N¾ùDû¸ŽwÇÜçUnwZ¹Œ­Ûne)À5oåF.cãuKÍŸ®y+7ò<û̳íÒëØxYtžNpÛ÷‹÷y"K¯c#Ûø¯žp#ný‚9ŸØw3ëîz´ýÛØøÍ­<ôèCÜ÷üÌkCeþjÌ_¦Ç÷(wmÜÆOlcãºu¬[·‘mO<Á¶Ñkÿõº¯ÎÓ+§¥·~]_hÇ ïó³žó³ýsâD×ÿ}<Ï*΋ õš»øÂ­K¶×È+¾DÎê*&g¤ùºŠµx‚m×±­}Ë¥Ÿø:Ÿ¿õfúúCܲn6·ò‰¯?ÍKCB®aÃ¥Ûøðº¯À¥›ØD‹aH¸ôfúÐ'¹pݺö~>Á*Zío«˜ó˜3·ÞüŸzèÖ½çz¾þùÎ÷¹Çv)ŸøúçyèiLŠÁãGx¿²éÃlÞ¸Žm›¶óôÇÛîØ²9ùåp€‡nù0_ø¹æóçÍ*Ÿ¹å5ûwóÿ»ÿò=¬{øI6mš;¯ 9Á9 çîóØ2›1ÈÍ= ä=ëþ#O¿PÚçëQ>yáfŽnß´§ï¼ªý<¹ùS¸åmßàú¯žÁtõ9¹åº—ù‰Êt¾ãƒG?ùa~ú‰¯óô­Kçäö[xÛ;;öÿóß÷ä¿GÎÔóôè1eüÊ÷Ùù çüÔv;5Ÿ'ºþÏ}ì¨Ìxõ¯‘¥'zœšk”Èë%ÑjµZ;ž†ÄÜ6\¹ÌQ Éiç®»îâÿðÙ»w¯ c+V¬àöÛoç®»î:ƒÊÿûüÁÅΊ¿ÿ·,UùŸœò?{Êüì~œ}çé̼Féõ/r²üp¿kbÉœlò)?£93iv”—Í™WþWñû?¾ hq¦ŸÖ3§üÏž2?»ß#gßy:3¯Qzý‹œ\䌳páBî¿ÿ~6mÚDWW— ¤Ãää$÷ß? .Tù«üEçHå¯ò?éå/òzRW19-œ¨«˜f‘Óž‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆˆ‚‹ˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆˆ(¸ˆˆˆˆˆÈ™ËhÅÿ™í‡û]•ˆˆˆˆˆœ4óe“#‰)µ¸ˆˆˆˆˆÈéOÁEDDDDDN{öÚ'_T)ˆˆˆˆˆÈiíÿiÏzpÐiIEND®B`‚Amelia/vignettes/assets/context-menu.png0000644000176200001440000007576014335240021020121 0ustar liggesusers‰PNG  IHDRš“élsj pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFqIDATxÚìXMhG}ãŸÚ˜ØúˆÞ…B i½"4Mð¡Á¤ÉI' Ó´GÔ¤‚‚Ò Zìl‚Ã"ŸL)-ANi1HînDÉ)àõ‡Bh6ä"°gimDµ=¬$ËB‘%km­I šÕ »ïûÞ›o–I)áUô8?>ŸÏ»ä66 ÎàGàÝÒÔÊ…þÄüÆ=wßw¡ÿXÕ3W€“õÆ%0'­Ý=¯y8rÿ>÷ ¹®ê›Ûê™Ùùd£IQÿXÇÉ•ÒZ(¼(W)¥”Ò.㇙ítÕpýéOcŒ™ t>­ÁÛ>¯ ÀÜ$><ì1+©àÒBíŠìYËÅ÷øf€u÷îR¶m«o«JYF.¡H™R†â\²j:—PŠ"e. EÊÔ¶Ù2,Ëj^¥š+ï­Z"W£Öàl>_ͬ1b±Xeü Þ‚{y7|®A?W©¹X,Ÿ?Ô÷æôÌU¼~äzôl¡Pt¦6‹è;äûzúó<žžøâºeuÛøïØÀão¿[:÷ÞÔf±½šÛ"—‰D¾ÿ3™üpê x€ü³ûƒ§ÓŸMÇãqó±;ÝcÁ©‘ßûúgVüG~˼}óÊ[…¬'wc7ïÆãçïoŒøy&Õ?3Ü® üþôèµÒ#·Ìàì0²@°ƒ‚h5r WO™ššœ«úÇ‚¾tœljn»•d"",`,pãaÍRU×P;ÌÜcÂY4 `Ì?–4k—`âÎ-çÚK¹v©D $¤>€é­|Ðhk‡`ŒÙvšE`'O5Ó2‘Ü3rµ°mÛìd³<¤”€„öã Ѹg&a ²&Æ\{´·‚hªæö}ãÑ9SãÂ(ž!J&Ò̲–˜Žùš “ÓÙ˜´6 ‡OÏŽë*æ&p)…¹ÉúÇÛñËdUQ>µ¹w\‹GíùÜÔ0<Õ ržNkk‚¨û· .ˆ‚4š AÜprgìøHÓf@AtÆçq"âšFD‚¸;>WÝÏUð¢¤4€*u)åê忤” dÛ™´ "µa/Ó¬Ïù|¾¥¥%W8…B•æEq’ëDQp®êún"ç"šOB'ÁI†c%ôâÍ÷UäêY 'Q}[WòžŽ\I­ëëëŠE{¯ù-//;Ç”Æߊ\±XûõOuÂÿÿÿÔšAhÛVÇÿJ²Ž±>†ÍJ SÇJYéJ ë!Ç"AëÃÂ÷’;5†6Uç‘5+:‰èè°›lƧհõ°à‘œ€D;”µl˜¦Ý0ƒDç»F‡Ð8$^vx²,ÙJ$9ví½Û“ï}þÞ÷½÷}ßï1=‹ÑYô2@7é9lÝ>îPßNõßùu\>¶ßtýì¡íª•†×¾4#4·í¦tÞßÏnoï¸;üÊÀfeˈѦ^åï¼°~iãbg½Im§n xøóõ•x€CÑëåûfïsÈå{—¯½wuhx‚aÀòr”éònþ?@ùO#½tÒZÛG¿ÛºW2cccíZlqqqn+âC²?.íùs&cÉnHiˆq´vôUHWx@ ¢¢'¬WHWxh*8Þ©ÒÊn2 “Ü»üH—‰qF/¡+ô‹U,š‰ðœÄò½›¥R‰vŠÅ¢¥×XHØZ'„\\ÐÆú×q7üÁl^‰qDTg§ø¿‡…ãy¥öOŒ¶×ìnv¦¥ÏŸ¹ÿᣥ(ç ²†*½=|âô‡„ñÅ÷`lÉî›\t©è(š¹·$Iuê]X0/Í(,HmóÍ@ `ö£Ìhz÷ÓÈ@A’îeY’$Y–«¼6з1}C:<Á“S8ŠÂ‰°üë7’pEþ~îÛO¾üüÚTœ2`ójöqÒš‘ãh2yRü1½û€a˜KK»ésÈdÚ|jD"‘V<àþä$&'K¥’“+úpûƽY–ç% 8ý&ž|ÿÙÊ*ÎÊòŠ$]¿uó»é9öÓ/. mü²qäìë·þúóÈÈÇ7¯M_®©Í»Øbx0øî£"ÓÔr¹\{u …ZñÍÛÅ"z¦±¾¬òàÍûZ¶ScM&»ûPÐÙF,NСõ¼ÏÜȾã+ˆƒÁóÍ R…–¢¼[ "­|w3è²oÚ­Òxýᤳ5axFÑuQÅÝ0™Íë3wÔÙ)>ÆuÞ˜hÖ’µTÀq1z©'xèºã 'ü‰Õú¾›NçðÎU§rR#8Iu8õSÔÌç!df˜Oßyö iëQ*÷j[½‹¹½K¦Öj¾ªiaòiu+TE"¤“€Ó \hý<Û§²×ÞøÌcóM·›Û×ÇðÙz-3}se—©<>ðÎf³ããã²3S,À],ïžYî:kïKöŽx€A@´Tn«4#×R‚@DJ´ Æí†³‰¨Ö'¬ySCˆÐ‹ ªêÄÄD7Ï3 µéš¶´Tó TËçMªQ¢SôvJFÑxB·•-|Æœùgÿ’‹oF"‘\.·¹¹Ù–í³Pl"\Žç@£Rú¾Ñ½G¡®ÍŠõz=†sTv÷<@KQ3Ý+Ÿ`»&Kè±}ŠYÝÑ™/îŽd^¼˜P.—«Õj6› ‡/tT J¥¢(î…ÈÁÁÁçψ±, àñêÓNkë­¡·½ {¼úô?ÿÿì]_huÿ\lš6TîÖ_!°Õ';Ä™:dËI欴nnàÝ<[s¸ùPÆž:ÙCÉhÅq‹VñÁRØha »£âÀ*۴ ­ñF^|°TIv1‰¿Krùk’ݵÙv_îáîw¿ûÝåË÷÷ûþù}¾ßP­œôݲÔVbåšÔ˜õ˜H*åǘÛH*‰äòå¢Ü3I%‘œ%—3•ú'’JêßtáñEeˆr»©c‹jËÐL¾çlþ(tX &’ yé–Éd4ƒÏ&’ÊŒÚm6ß^ÜGqS'È7»ÝÁ*㨿ÂM˜9N-*š·Ï&ªü.íQ˜¡”E}ÕÞnUÝ6ÁíöŽx<¹1}óˆÉYyœïïè͵¿þpõ¾gNÉtû¯Ë+¯œüäãär¿Ãȧ÷o:¦có© k¦6ÐGÖ~¸äÿó·Ÿ\¹=÷0ÂGy8Š¢¸06eͤ†ìµé*§ºqt/¼:mr¬ïøâ îÏÕâ—¾`"}©!hR“\«†0ê€j/×T’xxÇÉYIVfi\…‘H\©´Í[ÿ8ßú§þ”E]´A‘ Ž¢<”g"¢j€ºp‡*ËPžÈÚhvº·B.¬·‰q6r†úàò…²Â¥Ïçó…ÌE­ˆkº¡$$A¹Ú¿ ú¼ +\¸ìóëô‹¼„í€?'?¬ _ƇN¿(ȸzCýNerap r„ßy•HÃ0ëÓÇØÁ¥þ€¿sd ÇúÆkÃÖÖÖE1Ðò(ó¨æŽC«·Î‡ÀÝ»´?¼^ñy}Aºkƒ¾¾¾úk4#keH‹ƒÙìAg¼v»‘1—›e¹ãþÊðíÁÃYkdE|á讎MG‡¿H`³àûx×ËϦ¶X¬™‡wèèJlÛÛÀ:ÀtÑô—Ãüø\à£}«ßØ_?‹Å–§Ïõ ŽÞz`}ãy[:ù`ê¬ðËK½oÞ½gËbÇ}òlÚºu«Ú †•ŽLœãü»±ûÝñ¯W‘{GùÀ|V£C[Úòèïïß`êsæCÙl6;Ÿ'•½|p´,«.k°\Zùiõf5WDÛ>}î3XlÚ»ç®DË‘³6 ªœÚxm ‡à¬^/«ÖÝš¦Õ-2«ÝšŠÛizŸ©xŒ¦éXà ¤ÎuE"kk~Ÿ°öKÈ‚ð6×§ÚWêåê×`Ê’ j¿T®µ&„ËÐÒ¯m-þ}:’fÒI²0öéÆ×E¢"–.\ÉK3ÈÊe*DÀsyšÃŒaÉ‚’³ÐH°„åVjm‚4“Îëô‹ù”¾ñuQl0•ïIöCËemû‚èwÉÈ$»CŠäîÖ¥CŸX„©î놖kO“÷.ñj!ƒ‚yÔ¤'Ûöq­G,5}5nÌHQËÄÏ+­©299™ä mŒ²,’šk.ÎlõyíëFeuRÒù™“Ú'æ¯O“°>±$|öë4“þÌ­µÉÔIR?´+ Mo©þ_deétúQ–& ¹ã¥mO_ßf9Ø”eY–ƒ]ÝOo‘eùÐßd9Ø•¾ª1“®9xȲåeK°{‹ y›åàùC+»ƒ²ö’å  ùeËyÚ¹^’,ØÕýô– ,+”ÔFý7þÌ™ú‘å«J)èYPO–eY^eY©o>H_¹¹Ë×wøåsÆ9VÈ]2UEÐg0Ê¥rBŽÕRebbâÑGM?1iù¹Î|ÈyéG?öÓvø5 –­M.ýd•X,–tc²/"yHl•—NfÛa¾Ú¤•ò2kÒ½WÌ?zŸ þã÷÷>2Í\©ìÆ­{¿ôø÷W×<«^Ä`›òÆ€,­ÜùìãØc5wGÿ `°ÍÔÛŸ{Ïn·£,£Åñ©¿&ðÕ­ê;Ç¡ÔS0d&7eCf¿-?ósö6Ͳ§žÿÕéû»l>Tólnf63Íd©âÿx²çŠMüüSë¹j`Sý~ï¹õ¼?Ûq=¦yP~.+‰o˜ ãϬÕK=/S’—ÕÀ#ÔdÀ5£.‹ûiÞÅ[õx«ÞÀ*Û(kÜ‹ÆfëB%‘ÏE TÖ/#dz°~º8ÕÜ÷n­|dm!»ôPÆT§Íø§ðË"=]UI¾9öIå—•4žy¢²ª lžMõ(ôõa s¿Q¾s€pÓ ê§G}t8p¸Y6Hë/Ðö>–Uþ”ÐÑð2fóqïïhÆ’fæXÍZ«Ò޲âÕez7±ùeÖ¿ßZÍ3ƒ«f¶Lë"X1{{?€zŠ×+iÒÒAöp¹ÒÌfsÒÖ'ÜB8 OEBHGÜ‘oåëÙ͹û\ÊuMµñ·‹M¨ÅÅ€(BDQô±¤½Æ>—(úyœËéYB¢Bw¸3Å"LNN¢L^þOËnÀ‹¢·cD ŽtP\jâM®¶}ÔÅ%T¸Úv' ŠbêÔøE^­®êˆ¢×9"Šœ€k´Ã'€–l£w-˜úwÿ$Á-ËÞÐ{ìDs³À „`¦ŒK©£¬xäÔ©S»víš¿Q¶Ý_š Æ~û¦× –2š²p||¨Ÿ•Õh~ω™Ûx<Œ¥¿žé¿’í„ÒùU ûVý?œí?•—­,/OÿÍöU>i)?36µ}Í?­Ö'¤ðôpÈÌ~Å*IÒTÀþe¿Çs6noÝ·}âEã÷œ¸³³©m[Etê#ËÍkSO4FBÒo.Lu5n€9x²åäã¨0[mÓa”M ÌÐRíÞ$)///ÄFþÕô·‡¯6üð[ÿ‘¬--'¯?2oHá顼¢´¥å¤®mÅTlÀgWŽѾ³«åÉÛÿþ4:Öµœüû‘Ã-VKáé–×/1à•¶–R¿þWú{˜ý7 ¦”ý#xU­ºý€ÁþÓÉ»  °¦škf6'í õŸ,²,·VQö¿C–å^ùý~`ùpªÌïéI¼–œ»ÒÕ4|³4õÞÿð'Vý•Ò”´YZSf+@?ëé²EÌþUàl&Lo²„=ÏÛoü8®ú?üúóßµ„ì[‹!RVjŠÅbÑχ"k¶ÒåòèÑ£§®‡=ÏcøöKG÷–š€ÿaÍV¿§`\GÞ/½ƒð§§á¯b*zîuÏT\ý“;ߦ·ÏûÏHe{…xñ÷4;Põ¯é 3ÙÊÌÓ%ff”H“S6K €ŽZˬæ’I’`*µY1Ž˜Ëm!I²Ù¬€Y’$Àl³"j¶†$‰†óMMJ–r›$…Ó0•"±•Y§KLJÿRØf³N#jBI(Q±ˆÊf=.Qý|Ï¡¾³ÍnöîÌ|KL E€¸/£ò}p(¤6‰H!ˆHIki) @Ò/,=±)^À%(+dõÀ Poî9à½ýøÎþÝTœéW›ššæ2ݬ¬ÇŒn?…{¸b7þä‹ý,ûOkòÏž¢P5Ìkfþùϵ0¼ ÀúÔâO9ø¬°ç@8>5À‘’˜ë`ñOÌdöÁ0ð½wï Ê]w0 À»ê¯3›Ðå@¡QɔͰäÚ’…L±ú§\™£DïÒ,¿ì¿d¾mÿv»ýá %jÙ?—ú?6¬±6»VerBöùÚö‹„piÑŽ}/I]¦Œµ¶ÁñáÙ{nÚí›ÆÇÿ`ßôÚøx–´åZäu’ú_Š,;ûoî¬êÇ;Ãõß`ÿ¡²¹ÒýDñ BGXŽëXBÿÁÇ4–Zué¨ÿãA,®ñ8åüÍ Ãäæ5u^P5š‹­i±Æ/òpp,§?ÜE€§—Ž.ãªï ™aš½7z¯ÑPÍÈç á_Y{LÕúTœ/@Õ¿ŠÛ^em{è^Zì¿UVXE«â”ßOwˆ‹p Íÿ9f‰ùTõ·¬!‹OmB…ÓêOÐz˜è±ÜGYLjHX!¨kB]FG]ÄíáxïÈî‹×ÆèH<]Kuès‘ÅÙ\c˜ŒÓrC È È– É åtجfÔÖÆêHa}áÒ²“¥³b ôë ÊáH{-!ÄU•U’XùŠ×èȘ; à@ÐX&¿7‰¦ÐPv!]A&¦œ¤öô3M)ˆ¢è§𙦋ޑŽÝ#[ö¬FGÞô „ðgPjB1í;ËŸ®%(MQûQÞ$£¥¿¿¿±±1Ë3w)PØã%XÌd2fbªáÂs©ïR„RÝ–òÙ©J\râ›)×_^ùl‰1}eÓe§þç^_Ì(¶-¦¹)ø¸1÷¨‹ìÝãÇúÎBô:iû‚QÙ¢Vdµí£¸Vã§è8Fƒ½@˜USþ#Ù¬L"± ŸaÕ/„"¢·O5+©E¿f·È?d©.ytñÖdY_" •Z=¥(œÌ±öÈò"É CðÁáÖk§A2ÒLvjW†¸£Š#„èö|¨›ÍvëÖ­ .ÝÆÛ™:dœ}x³ÎE¼ ³® £„jjŸ§síÚµ…8”.õ“y¬Ó+:¡úpÆŸÅcÉ(Zñ Hò;2 Ën_Ù}úŸŸu(Âòbÿî@@ƒO¡N§Ûe†.3 [h*K7p\zúÊ¥—€ØÒ"zÕ  ^oOgsØ ,+õ¯íÕ×@@Ô®;uï³mË)WÖR 9sf±§CÊoùÚþþþ‰‰ ‹Å‡ŒV­F£+V¬`2•ý Ë©©¦3æ0bP¸µÚè cå‡AWèyí¤žNc ]L¬;NBÛ?vow½ã$î¤ïg˜›Ýåí÷ûö»Oßý¾÷¾ï=Z™b*¸Ìhºè PLºœ E™(ÒÂgŸ}¦:“&EÓÔë&$WJ‹ÏåÕ£‡õצSÖcü®U”YÉÐSk+kM·‹²»eµ'Ýdɘp¸ÒÏuܲûVRB¥³p$jåߊÖÛ¥û‚'_´ µ–‡#ÑpäTóåè&›-‰þ9FUšM¶Òpd˜{¾%|¹¥ùrt£*Yøäf‹½Ü¹3:‰õŒF = ¡´IJ<»fé˵Oèí»´»ù-MΪ|gÎÔÒ1¥°´>³‚£?»¨<¾Ú¸H…Œ" 9³˜ xïÆoØõú{t)&E ÿw°fW€Ÿ¾²*Ý{³å}¢˜æræÿõ­×.(Ïücï‰Ï«¯=±ÿ/V¾ !-Ѷ~PÛ£‰T­­,æ)Kôu†ZËB­Tìf¤0á~ïðG¾»þõ¸aËBïü4óþC­¡â„¯TÎ((²¥,í¤ÃB‘ë³±²(îßbüRPL0ŸYÂ|¬¾¯ºÑîǶùh¿‘a ÏmöÃôd†öÛ/Ls9k¿oð§í7€N`Œô¨ã`íÚµThÒEww÷ôÿnN=HšY|H KùDŽ’R=V=‘#ZGIY1ão'¯ èÍ÷O߉ÜÊãùìâ.°[ûl6•àÊN/ ãù€³JÓü:™†6QöjAѲ,Dzt‰ÀR/Ë.BdY&„“åU±v¼ZL=ÐÅÄr{±‚´¸Áå•åűÆ=ptzÆ+³‚´óŠKöÊ:W\$v‹&X^ygÃK‚ç x`nJï÷.д<̲ÊDñÓm>Ó °Yˆ¿Hž>. ë´0'\„¸»¦Á¥Í(K{ºÜcÏy%N %j0hjG— —zà¨&„\¸òPûOƒØ<ç*Άêå8Œ[$BˆzV³øq5Äþ$û9ÈÀ~ÖÓªÜ^ªí)¾TUÛ¯øzjm•¾3­¡ÊÁ‡Ë|Ê?´†*·CDêŸÈ{øðaº>Ël}öÀ°,û…<™Ð2NGRì«€JŸ`{1 ôkŽžîï§ö^ŠÌ¿›•VüDÙ2µs\ŠZq‚Õ½$¨ tÁr`5GPJz+KxU!Ðõƒ±`Î\,̤½Ÿ)æ³O?ý4·xtz€u5@\ ⡊qw5 È'\$[°®+$aQ¨^f´j|%²¼SS[û«Lê,3^?½/]ƒ±Ž[·n]¿~=æëúÌÊ~ÚláôéÓt}–ÙúltttÅŠsçήßMu³¿´£U wèݱÐ|‘‚"‹z€³¥¸Ö ¼åÐk\¤ ÈÆ|V^ë´x1[ž‹ÌàçØgML6&j!üþB³ìVo¸Ö÷[G!¼ê˜gåqÒågºÍgã¦?¿ÇC@ð\dYéýïž‹,+u ó»w5Ö?ýañ·¿`¸í†Þ¿»mMà÷>¦Ò46&½éeïùÑ÷÷ÔÙ}@ûݾä?©í Ý)t`¸±®là_ýÒ{w·mð“úN&þŸÿh;óûQ`áòš[ßR–¼\³%ÆÀïô^¶/ùÕU~ÖÖòDÝ U*ß”Šà“¾cMÝJ#_Áܹs,X/ö³,ìs¬µ•ù”þ̺§vÚŒõ€ü²Ó¦?k‡TÇROkeF^1ÕÝŠ¥B3NËl4ØŽ"9+Þ^ ôÔV­*ÖŒ±¦É¬ØWGê«D¿â££L‘á*´Ò§Ä;œ•Y-1ëÁ¾>?Ïóú:xõ ƒçyÞïçµSA?Ÿ@ ƒ?æ(Ô‚ž÷ãZÏóþ €kꙀŸçgÅÖø<Ï¡Syžçý|GŒ>Ö,ßÑwM½©ï_ðþ«…¯õôû;‚ö]3˜ôó~¬Ý<™cêkZë9çÀ£g½]êyü7ÉŽŽŽÜ÷؆Æåïž‹ÌY¾µñëý‚£0X°úï›,ùJdðÿöÉÊWëG~ñ¹Nƒ¡alýk¹Œu_C_€mï÷‘Ýü«¯ñ~Ç«îÆÆFáˆÛDà‹õ£¸v ßñÅŸ¿ýjcã0Ðw M=úþ³ùõ¿Ûg¿übËVGÏUÇ<À¶wOã‘ÝìOÖÝÅòºÆWxþµ×öþáÝ#¯´µªo¶?÷ÔWÖ¼ò(Þ•çÎÑ™þ÷o÷4¶ì>æxúëˆÀßöv¬‹ñ0Óü½>)s£õd¬ÌÀŽ…U€ö«_42’¯jGoÙŽ…4qÐÌõoÒù,‡õ Š»ÕrÏ@‘ù嘂ù, ËBÒö²„°‚ H€$BôƒúÈBH@‘grj-Ór™|Fj Sâ ì„¤ˆ\E §ç,Kq±_>ˆ8Wƒ,Ë]IäîÁ&y IÆ$ È = ]ÿfO­íáD³­ULªS`IÃøe™™v¯mæÄ¡PãPrž€ìE®ÊYîù€p¢i½¨Ç ë;ôõƒ±0!A~!¿üïÛžR°¬ { ‘! Í8Bt¥’'¬¦6ˆ‚4&%Eî뛽> ’¯JòUZ €~݈‘#€pVœe¦ËM^B5¯¿†Rc^ „°‚¤Ç”ë‘âI”9 dÉ`ÉïIýëÔ bR#(ò_È=€j+2^æ.™F¢?ý“‘#(IpƒX5­'ª‹}ãWÒ2p"8¢d"NT] !Dw0̬üy$gq•L…{ZCF4€:¥’ŒÇ 5A@–eY–½Œj¡0~uªó2ðÊ^€qšˆõFTȲ,Ë8=NR¨˜~ßsRÎÔ=ÙÚÎlEQÌWôh5t ó¯žÍõˆ (Ežê ÐÔTS gÙÓî~!5áít¡6Óå $¡ÙãÔ²”ÅiIz€$°’ÀqBC¢éÀ¼ãˆbòpëîÐxôÌ0âÑ)(ÒÇì\`bÞ¼yôMXÇÍ›7©œÍ”£ ßM *g™À°k$•¤J_hž¸›8ÖÜ–˜B{59)5Ûcß’%&©œe1ǑɄ1Ô×& ¬N£Ú8DŽ˜ÝšÚŽHÂ’~júwª®)µf•Ù ’Èãu’`XXÌý"ÉÈb\gjט¶v ‘#‹¼ò„ŽMI`m«wüÆqj×ÈC= ü)×7K¼alþ;:Ù·J×—¿qïǪ÷¹›ˆ“T%×T¨îîî^x꓎óçÏ 奜msóñàø_†móù¸¸%®L¶~¼ŸÁjàâ\d`Û2­Øã6·v‹zzþøã‘‘‘<”³Eø`ÝðQ/TaZ¥x"Õ¾‡·á{øÝW`i'¶ÍG»ßû%^îÄácZSKa5`i'¬ëʱ´}ˆµ ÓëþYy\³ûcR8Iµá—vjì¥ 5"ÐÍ™ãøg®pÖgy u}–>$B\@lªX5• Êì|; ëp&L(SŒü°ÓjÅÎïΡ‚µ²B9’¾Y‹Í[ëåÞ§f¨óWÎ5~˜bÍ9B$­!áÔ8uH‚ i¥091.0ñʲìo'gŒ£­N§[ü9÷ ð¨×YÂ"+H€HX"Ç ’Ú›©€ZL]g#¹Ù©S€Î›´WÔxðøð}óPoz(v:ËYÓ€,{ æúå %ÏÝ„¸Nxœ½‹'zs±ó” ©®y _Ý;ÐD©¨®ph:質ºÂ fUH2ZXUs!Ue°1V³S£Ü»ˆÏ4¸áN'?xÂ(™†Z|ã¡LOš‡z]=MŒ¥P;-Õ(2ün²Y§¤rF1Ž Ì!å.I0/üÍ<3]Îâ—ŸÆÖ®ñÿ"¹øÌê€Æ[6ÒÕäó üNO'¨ñ3^Ù|¯†ïD9½_@aaaaa!£ ‘§±®Ô~FAåŒ"#èA{Ë"DZ¢iß¶2(œj5ÔË®Mªo€ÊÙ4DÀÄÕª •ÑÜ?F„I¼Ip>`itæœßœùúœ9g~çw sv±@`ó ¦3Æ|!|ÀæÏ³ñ|–h[à\¾|9l&f^š—hù,¸~3ÁÝá§Ë¼Dˇ=Ÿ1Ø8 ¨Ñ ÖðÜê/*VCQàc§þøTþƒDõd`0Ä\lè%ÄÑ~è®:î|&­® &nϬƒÁ`°vFkU¬WÃ8àÚµÑk£¾hÎô ÿ2¼ã'»J}-áo¢¾úC+¼Ã#þo£P†GÔ×¼ ’«Ã1¦{ÇÜ•¾®e¸;ó¼VÿÛ¿|eÄ;m¯µœûÖ®ìKˆÕ¼Ð«Žû2'­® Ƴ'`Õ½W‡»w¥ß7<ÜUÑ\EÚu©Š¢Lª™ðöL”èø×úSŠ¢(‡ŸS¿îL¿_Q:74»¥³Ù­ëlv+ Þr+ʆôûuÉ” “âóFþÁof§–•j@ÆÎNåµS”ŒºÔ;_SwS³[Ù™~½¢(;Ó¯w+JFúõŠ¢d¤ÿPo›f¹šrCh¶1šž[F°ˆèòѪñ5½‘;_SÜÍÿc>Š‚·2Ò¯ðê†VÈýckOµö!Xî¸YF§™øûÍì]/´kþQ1p®Ùܾ¶–d«¿nÌØ ,¬Í¶®}[=ÞUŽïÊž®Û­%ÙzžùÑ·Püà™sjùVf†ÑŸèÜÙ¿)²ŸøÐ `­fÕãX àqœÒç ÑxòïÞÖg«yZ=ô¯ýŸã2Ï]‘ ?4òÜÙ#{WMìÕµvèêÈ™ ÆÐ ¢]fÐÚâçε¬Ûul‚Ç’øžÏ”èámy…S…+Ù’aüPüÂeëÚç374@Qdf?|rX=ÞõÁí™ÆÌ¯E] Æýo(+¢™Fàï vÈ0ff¬kæíf„ü æP¼w•QoêaXŸmÔæ½™aÜØìÖê¡ëÉU÷Q_&ö®2ffƃFr»¾‘aÜØ|6z{ôVá_‡õÒ|øŽ€aÁË Z{ì‡ßØóöƒüÄ Úä„ÏŸ¥gdz½ ämò§?ý馛nJØaT¬æ-ÞØrùø®™»ÌÙ¯®ŒtãµÑÑI53Æ/HI¬9íÿLÂΟÅdÞŸ»vFL?]—9Õ¥D£™ë"ÉŒél¶ÍK^)Ñi&¼ß\´hQ¢ÝÈDvŸ.ó-Ÿi'¼=cîhŒ™ Îy—ßyÙñV}Œ(™|½S„iâKþî£_¸éÆ[]M ¿dõȈq¼EKv÷ºï®µ<áHñ)«DÆô÷›ßݾ_ÙÆ{ÿúýAÅóÅ…m®`®îPÝ…js)€Ò6u¥|W›Œj³™U4ÓY<üé*î)®à½ú™zä r[iÃ& `%€£V®Ô\ ¨ûF°Šf:‹ÿüoKͼ¢<²³æô±:¿ø8ëÑ{ÎT8úÎ ³Ùl®îz¨à§æÒçX3âìßóíMëVèê>µ¯þUÿQ¹M欫QÆtéŒÁ˜¥ç3#&Âç5n¾ùfV)ŒDiÏžyüîg¿›UcuöÌãwßn¾évóMÿþ<«AF<ýf4ܲdÙ‡>¯ØÛW‰î’Ý9¬æY{6o¢@Ù™®Ÿj‹üî(Vƒ@‘¡(°ð«³Ñí?h0h‹ð:‹Ýêš¼N+‹ Ét6†mÿãß–l{蟺ú§.iÙÎ÷ýa÷~ñf¥úá*›sPÒVÔè~:ï,» Lgá(PN¾w‚ß¶•ß¶uUÎWO¹ÿ ïQ¶¨kP{Îæ †3{ DXn0X‡fP",6`Oõ/ïaè ž8.eÿý§>\¦~þ‡ïÿ÷}¯Ä]|QQcOÛæ‡éŒÁ˜«qƒ1Õy5'JÝö^´cCëÝljÆø:›E/Gë7càP%œ¨D.p¢¬^SÔÙ³•n=/¾‚ÓÀ‹¯à*«WÆ4¶gOÜè—]Dñ1ñ?ŸiåÖƒÓPüÆÙ=ˆƒæ‘íó\gLJ¼x 'Êñb×T‹ß²e M<:{y¾·g¯JPW4«ßÀ߀æ/üÛ˜SÔ›³H†ÏŸI3-K5.F’ì‚›ÎæföUHy»“RK É °®5;\Ô5é)„ ‚RGÈQYa³EZÂÅ‹²ËÆA`™èðé’([lÓ·ìÊÙ7²–ߟº$ HN˜Ý‘£Ç3yRŸöVwÿ"`qPêÜW›+aöQAœÍ6Þ)5M°9„r8hÔ§L+»ïºÌóÞÛoW›ðÎëyÙºŠ !ª¼Ô¶$,@xHBÄsÂáEH/Êil>Ç1ž’Úê’H¼(«_µÄj •Öº~p:ô¥h§0½2À^—,‚ý éÑ™ÕPýÞ±ÃQJ‰ õ#€KßýÈ¢ä‡,ò:%„P×jƒesY1Ëf·Œ±ùØ\´ÊÍCvçpP»Â²bÿ¯Zbê°¨rÀÙZEI¬²è ÐÂPŠr@YaoXVLgS g÷îœéÜAC×&BuX\}¹„"H›+zý­ W\NÈi’_Ó»9º'8-­ã$„äŸÞÎVOˆ&¦°Äê3œ&ýŽòNo€Ž²ÂvÂ7iO~§÷ÐqÊ]@Äìf5ö(ÊvCQò”µ³¤myc#v÷//jSžjt—ô//jSz ÖN¥­ÄÚ‰¶’IŸÏ<`ÄÎ /¼Àóüí·ßžš$hq´g÷åÛî{î3[J€œÝýcüûÏæ=ín,šTdŒ…C<ï CåQ9xÚ`(Å}ŠÒ£-cÚRù¦ÁÚ©´õ¬Ì1%iA¼{Ú”»s€6Eàn<ÛÆ¼þSè7UIM:&`k˜33Þœ1x"%ý”Ÿì¢ÎzD[†,J㦗&Ÿð ÌÞM6” f5é%Ìó~óâÅ‹³Y|ZZÚ¤iòÐ8l@I~“:ÛÑÛ.HÔaQ'PᤎlBò+œÔadq:ˆæl€$õ›®zBzJ©È“š^PÚL€Ë©e‹Í¦j´”:Ô”@;`£NQ¶Ø ’üš 'uX$QS=ÎÚ`6›Í¥ ›tŒhæ5¢apЯ§£ƒƒc2ÓО5 òàtá´«Jº§ ä§]¥¥{°ÅUÄS»Ýn·;Çü'ëÏŒõ‡INqKŸÒÍÿölöÅÆŒøpýâ,àÊør|î{ûwŽø"ÿº²¼¶¶|à­á‚{Ó¯`Ý®h„ùdSÃ"Ï1 #ú!¸yݺñNyý¿°n«ó%l?€¡‰Nñ_0ÉÍgÍòþ±úŸ9íöï=Ó°wïKµz?HOÅóUû¿ß´¯ÞõÉR¤¤/6x<Ò2MÎê[½YMVŠÓþÜ÷öoÜûœçÇ¥Ÿ?󇢚¯öüfÅÖ{›Ô|l÷d©ÂÉ>¿j|iŸÃV»^mÞBÊŽE‹Ýpà 7ß|3{0m,Yªö>–.° Þ¡ÕøÄxGù]žÛs·¤Oò5 ßðeÚOôzo¹ZšˆÙ–~ÿ+·åÞµæëžÛr?÷djù Åh2™Ò€{mµë’I/|-;«·gf¦ÞuçRg€–¸öá;«ªªÔÖ˼nÛñ3=|~JЀh§´ØÀR\g–-É[úifôY±ç³‰éœ±e~ÖíÚ¶wŸÝþ2îòŽö;¼úé7¾™µ«jiUUUÕóo¯ZýùÞ_ €9ï¥'«?ö)ZšhJÑòoÄãñx1`·Û›ÎoLYº¡³ªªªªÊ34:6±}ß^`u–Q­Fó{/œü+ïPÐßXv²jÿ¨‡öî³_xàuF€“8oe@MfüæÿÀ`wñ›F®x<é÷ø0àt¶ -v»ÝnÐÝ¢~Ð¥`^òŸÿõ™'ý¯?¥SKé´¿ôz“8â¾¢à0ÐÝíT3€•ëv&Îíþ·^ûÎ} #>ÍHàüëÁ³teÍç~3ׄMÄ45x¾º1-ïŽ[K«ËW¢Åþ:€—~i\eßÛ¶2øÞéäqã†UjšÀ¥k¹|åÁ}+ÿÝØÔÄy<¿Ïúä[Õçàd–gé­O6Õ^ñ_.Þ½~qVËþ‹ jßû7»ñŽG¯¿çµëÞ~g8óžô!Àüé‘ãݾó%«‡V®Z“'ßÎ ?~æáÿ½·Ùßn 3o)~ãõ¢ëýÕ©©FøµºíŽ÷~ûÍ¿öÂ~üÖUøFÀëõ@ÀHà×ïêì^uG*,Yâ/k|‘%#1ûm—šKÆë1öÜ(Û3c–)=—=ÒŒ)Þ_š1Å›¾Øx=ž¡,“)ðx<&“Iø5f™ÒáÒÒ¨ù¨)/{<馬!ϤM‹Ó‡/{FR3M™iCO¦)$}¦É”¦N&§M‹Óáò ÁdÊôy¼i¦L yÓŒCž+Y&S*F=ž+™¦¬¡Àß@‰YW è2Ww©ËÍŸPÚ&›ý¿t™KÛÐU]Ú&«‰«Ù6OïÜîà³X ਕ8³Ù<8øó§[¬àºú:®Ô-³Úf:‹—ÒÇÞ5Ww=8úÎ ³ÙŒÇ~ŽŸ><eíííì6DOEEÅ‚Ìõ¼ca<Ÿ1LgŒ$y>Kðõ ¶>€Á˜FE½[À´DzçyA¼G¤.l_Æ<ÓYÎîYô“•ËZ;DE-¾?O/F»£Ÿ'„E¦¿¤Ô™ÁÚ @õ›Õ¯0X;Ñií 4`Enõשï+‹;lZË:ð;àŸˆ‘ÅVJ]¶qÄÞ^?IF‚ëLi+Ñü°ƒkÇž”l9ãÆ)¬г;GÿëTÈï(ÀÙZ y½5P# r9Md±>AÏÙ<ƒÁ€Ê£J¤_〺Ô=à8‡ ¥. `qö‡ ì:hqp€KK]–ñ»<÷L}ý& Ean܉1¯!’¸¢ '>I·~sâ¸Ä-²†[ ¡_çõx“Á˜J{–ðë[0CHÑkž–Mä&—κªÍ¥m³Z»>·g2YP:«~d`ð¨õèL 3p[m\YÇ!ðï " ‘§Ç´=ε–o¼”Œ„ï7«Í¥èªV[7 «MºªghG!¿&ŸšÞ^ è/¬ƒº{´ì®²€³í#ÊÀçÚÎåã¥d$ÇóÙ¦†Ò6¹aÅ;þ[»©a†vè¯ë£”RJËɵç´ÿý&gË}¿Y“O!Á=εËǤdÌýx3&ú¿÷XÖ³ù`pp°Ál~ƒƒG«³ÙüØÏ§! ´Ë?Óê°mÞ5tzÌ¢}u>Ð1I£3uµ¦ú×z4|#¶£cVç5fs ÀX°:c0&ê7Ùú€¤€­˜~ÔÙB„©gÂHbMË €É)Ì´m¦%Q !²È“ÀÖÁª·¶È9˜8I !§0ý±ö,ˆ,:]¶ ųm”:»ÔMʵËm.§õ¹Ü8»kû—]À ¨3µõ²ŠÐi {Ó  V°íNk`kéÛ;€³!üŠëv.·ÔóÂf—m¼ÄÚþåApÆÌ³?­ÕPÔ¦ô¨ÝEõ+zP8rv[gÎîîFwÎîœ(¶J™óqOW:ÜÎÿýPÚŽ®ò¯Cé´.ÞÜR¢û-g÷Óên¡[ $&"O!{æ£W÷|hÏ¢§ÓjXÞ¦ä°y ÖžÍè>¯%m #©Æ› ¦³™F Z$ƒ©dÂO1cÞ·g…”R”30Í,½„ué|²%‹^”! RÀŸ›'¼ê±- $Ì;¬Ý ¬6DYï ÎXðí/ÊAŸl ®ÕËæ²b–Íný¨°§¢/Êõ¹}úÄzú‘Àeãx"ÙÐû‚3Ø8 ;dÍ'{ ®¾\Bˆ»Š(ëÈwÙ8„'î%„𢬦$‚TVØNø&A_pÆŒ1ƒógÑÀæÏâcþ¿`0˜ÎLgŒÌusnÁ,?Î’ñ¡ö:Vk Öo2˜Î ¦3ÓYl¨þ¢Œ båiÞá!OÛÞš—HX ¿`Bd-!R$“¢`þÇLš÷›§óùhog³qÓp e‘§‹úÙâ ‘<“¤º>ªEês)¥&©dï7Û Ë´æ ªkF½„BH{à^†ÊB$¨íœz:!< i1"Õp|a> M5yú&­¢ýÈPW±ú’t¬?$CãQOH À¤ÑY`· kƘ6RZ¡¥wX‚oÇe÷f ÀÙNŸ ñÎ(+æ‚áøÆø€DÈg"8J)$ÍD-7ôïØ]«;¾Pb&ß8@çša©É'ã>ZTøÓø}7x‡eŒw†Žo Uuýº|Ð^±yŒá‘ÔaÑüAÔ<ôÏvÄï<¢·‡,œ€ Ô_ƒð¢Ö@N<PÑ$X4qn[Òùk0¿ dâðáÃ[¶lId ÇÓÏÜ¿wÚô2{¿-OÙóƒ\¾|Ùëõ*ŠÂtƘAÞxãóçÏ'«Î•㉃_ŸÕm«?®ÿ<ÏÆ¸÷쳕syí'b.}.§‚Ýn÷ŸÿüçdÕÙÿë†M€ƒõ~¨‡ "ËâD%¾mñ§T¿ª)OTâÙlÜ*ðgõl6 ½KwälgktYåæ#;…ëÌ.+æÆÔR°ªƒžî‘ýÔçé8`ÊqöB‰ä®­¹hлzO–CÐ}<¢KwH¶³ÒqBòOïÑ;…;œy}åC/·ËU ®†u.í}¼Ÿ±éâœoŸ :“ÅVWÖ±Ðïa¡.Ü¿@¥&_õÄ &"èÛî¡ y7Ý.‚EGðItl.]¸É¬3!¿&ŸšÞ^I¿‡a˜3B÷ ­=›8œ]!¥ÔÍ“Ðt-bÀí"X´Å!‹ü,;û$;I ³~µó£´\‚QòÂ"Ôã^Q“1œÞï —‚VªÏ!èÝ ïpµ¢%!¿¦w³…‰'˜¿F2¿†DP‡eÒiXžð.êŠ8ÖqD: Ì_cQ ¯;®xÅ4oÇ›ŒØÈ¶5]´ 4Wòpg÷NóDñ3Çï'ïŠÄÄÆA[é\nv¨+y« œT–Í ¶xuUpp˨Ï\´j†ì™cmß¾ÀÕ«WßÿýO>ù$bH#†Æ—_~uZ®Ê½ãX¶?þw]µ`’rYa;áQ×ꘇãŸÏ7<<|íÚ5¦¤‰éèèHð8È Ç%%%%33“ÉhÃÆ ¦3ÓƒÁt¶ !„ ò$ìø„NM3¥›élÞ!‹Nê`sõ©¾'„ªß¶¦'ð„ÕՊ̨¿6ÓÙÂRÇØxÛ”Ò¼šþ/íõLgŒálåD |í%ú¸ñ¶%¡Ò™7*!æiQòâ‹/&é<-kÏl¼É`:c0˜ÎLgŒ™Dä áEu]ª¶Q[;vª,tAkp¶vzWª2Í7l.g]«M]Çå*>¦ÊÊRU'€äuv¼·™Îæ5\ñUhœ­^”%¡Ü¢k·qÄõA¸Q³CÔí…0^Ìr¦3†ù˜¶þ¯¬cG}ž@6€àBW}ôñV¸bÿ"Öñc–3±ç³òš¢º.U„Më&m­ee­6øý³›Âš=-÷é&ž|ï:qÌòX`ï’‰ä}î·]{ ‘Ý΄åk··ÐÕõ†üñ…›ÍKRRR&ÒÙöGË †°ãŠ¢üêW¿ºté’ú“¢(cÓ0‹ÒSIÖu7ý·´0…÷›^¯7¼g5ø|¾E‹ù|>uåÓÙœpèÐ/ÜÂÏ>ûlãÆM+V¬ë7Ãu6::ªjËçóýìg?S×WªÂºþz£×ëõù|ì~Ï9Ÿ~úéo{êêÕáD3,##ýŽ;V-[¶l’~SÅçóÕÕÕ­_¿>¬ë¼víÓY"pà 7&à²jƒÁ`4GGGÃt2îúÍÛn»mñâÅú#CCC—.Q¯—­æeLÄÐÐðäóú~óƒ>¸óÎ;µÆldä/çÏŽ}€c0&oçÆÓÙØñæ¥Kž?þƒ…À`ÄNx¿yÝu‘{REQNžüÍ©>`UƈƒÿÏÞù‡EUíûÿ3üHEÑD*³rø£*šzÃÂì$&ÖSß›è1p®ã)9ʽG ¯„h ðízïñV” %gOz.žD¢†Žãév¿¦l˜fß?öÞ3{ÏÞó †a>¯ÇÇgÏÚk¯Ÿ{¿ù¬½×ú,Ñ îN€ â7ð3:‚ (g‚ „gŽåªê¢­ùØL.èììtøj‚oëay‚ºšh!‚ƒMp»ƒáÔzXž ®&ÊÞpØzX”³~Ó+Êmpò«É-*Óy=áó‚5äŠØ€~.p@µ^ÿÊ3ðbxšÂžsVº²E¾¿G|Ùþ“³ÞÞ¾³Å—ÿž—´¦¯?jé1[z޾”Þw´ì KÙrd½ˆfý'=fKù“õ¢…ë×/‰^:bþd½há›m‚Ñzû€´´íyT$‰D–^°þbé1[z˜S"ÑKG|[³¥¯ÏÚcþÅ›&ḇŽÂ-ðféK"NÕ.¼ÉÔgýÑOÖ‹Ò«ªÒ™³öÊŠèæ7ãQ:Îú£–oJrw(•þyœí'Ý Î2â•vP[Oð~°—íÑÒ=öû²7ŠÁ¿Í\ì‚@ >h'…l;æ7Ë7»ì¸6‡c'½)Pö 韇Èé?÷rF>&fã;o~S\®#uûŠÏïÞœF…JŸZOgù‡7öéH’$I ã7fê~KJ’$S Áhd̦“ÝfS·yë…ÄbI’Ô•?>Cñ9}Á;+66ø¶&`µZ½k"püi«£pÕž|ËÔm6uIܲnŸŽ$uõ JÚLÝæ}Ò´}ÝGÖÁ‚ÝçÍ'7ƺòÇg\ØÚm6u›MÝæ§ŽÞak N3Òmu„|ú±ú'?ã$îX{ú¦ýiÜVÎȱ´ƒÝzüFÓ•?þòÿw›MÝæ“cIœÞtˆ"t› ¼`ýiÁBÆ<´ÀVgÇ¿JàÞªç†ô×Cä„ AŸClªZùѬ1‰‡Wþa#A’$Iÿ—ˆ]µšznýæ:Svî̱p´Ï×ëH’$uûvýá7OIYñ‰¸D€»¿¹mê¹mê¹½/ÍÇr&«ÕÛG†Ý¤¬Ÿ¶±IkêÑn$tûRžØ§ãÄ!âá£ÇIᦠ=8ö´ ^e4x­'T`".ñó-{SE+~×›ØãòðŠÁ¿Í|Q0ïÛÇY!]w\ìC >ÿ–úÛsüè»®û_ÇÒ‘SÜ,r*WU¿ªØˆ Ï1zÔÿ¸zí±‰±õ.ïbö·[oï—goŽ»Ë‡Õt¿':KŸWÆ+6E`´Þå·Ÿ˜õju¼îp×~‰7©ZoŽ»ËWÕôHÎÐý”ó‹¤ÕjÅ& ¤Ö›¶áD×Û/o’´Þ!w—«é~°ù̯%øà!ø¸·Î&OžŒÍ„ Hàƒ«1Ö™¯ø@ù ¬Zóº-ä£ÛàYùÇØ ‚‡uöò™¾Ÿ¾•fæÍIY·x×[¢ãGÇ-ŽõØœ”Uº/ÿëõ‚娂ºœ} |f՚ׯüý˸9Ï,¼ {ßûüëóß<ñ胖1 $/wܺ™š2sõSs@_™¥Ð2kQé•z:˜‚>©UDñÒŠô(ÖÕ‚ œùÝ?ÌÔÁæµ ¨ƒÿóü—2jNþ=õ™ßýØíÈ­ž£$I«(~¶>—ÐW¦Ïß~ŽŽp:™šþ"PZIoÓ7Ö ¥©Ø«‚r6l+ùt×[îšxï“OJ~솻!õ™ßí=zåÍã»HíÇoDNœ¬=uþÃOš™+RKÏN/MW(ÒK§ïÏ%€ˆM˜·ó¬¢4´Š¨Òég ÃÙó°OæÉÖ¿0ðl^/Xžš2sÒ”‡ÿçF'Þmé¾ÚSç·•|ê_«ˆªOGC A/ðÓ—M›`ýŽ~G@Yd 8Ÿ¨å¼g ¥ö‚ 'gæ"·Þ‹Ý‚ È`ÈÙ¤I“°™ |pU‚ 8ØôžÝëæ,Y˜zýÒߨŸß~|åÝ/° 29Û½nÎCQw=¸8óÁÅ™tÐ{ÿ¶{ÝœÁW´†\ÑÎÄKù±ØÝ‚ƒM_°pNòã¿­l:I¯Ðl:ùñ‚µ¿_8'Y(®®l½™½ÿŒ=À¶# {#ÛqC®hQYY.sQ™ !×¶yGn!7w‘H´h{sÿmü„ HËÙêßÿ׵Ż¥y“·/j^Ô“·Ÿþ7íµÅ»}v'OÊJ¦7ÒÞ)+—èÊŵmgüU®¨s·ÇVF%I’$Y?S¾¦L·¬’¬Ï…ÊKTZ‰$ÙØØXéTJ ¹h½!6=Ô²¬ËÏë¾—®^©a…?œrõLË×ÒÕ+ú§œoÿRE‡Æf¬^(ßYV°Ì&/±Óg‚¼®¡rÙ2]ÙΪœí•—¸ðLÛ%€X€†º*¥×åZVyéâ¢E¹up>ñ@#j‚;îWmÍ`Y¿?´zÅS‡>¨}þÙÌóºï©ÀŸ6.Lšõ¯/oYŸ_ýú¿~×òÑÔ¿!WT·Âf·!‚ræ¿~åÝîNS×-£µ¯¯§ëgóíN»Qæote‹âäg*q‰ 8ØìGw¯ ˜ŠÇæ7’ùØÿ2¢äln¶‚ A® @å Ad¤ÉÙžxy¢×—ì‰8FqÆ  Ø“<¶ Ö\¹X.צÀ˜«¡#Àxl¼VOäÀ•`Ú*x RáðDøû¯ìÇ+Ïa!2tÖÙo«à4Àhñú”ñëÓì&Û•/`n|Ê»då9Î1‚ ÈPZgb 9 ^¨‚ö‰pxÕÐWþåQV¬X7âêêêö™×`;·œýÖ6Õã2̽ ·`eï,ëX0A$`¬3ÙôõtŠBÃD!a¢PˆDØ&(g”t]:6ö®ð ÷…>åÌ¿rÖœ3l+à€Ò«¤IíF¥ô*Õe™L¤‘‹Kâ[Ô²íPå“Dú]…¡‘‹eP9ð~ùª)­}|ĦXÝ}÷õ$$Üyß}wŽK††¢ùœFë ˆØD¨.QéFô*©˜B®\œU M…Ib±\ãðüÙcñ.óà‘–ªô̆¾T®±§BvŸ°û*йÈåR¦FLÚŽÑœä$É+nË¢C4ò,¨¡´Œ×¹ð¢Àe:+{5ÙíyCú «ÕJ¹íÇå,`‘(FµŒ !¹†2v ›è³ÕYrPk²!¹¸Åè`H2²™X%*=€þxmÏ{Ë%F¦6ÆÈ’OSF£±&±pƒJÏ/†÷´»­­ ñyjNÑRvVBVQÜV¢Òƒ^UÒVœ'nÁ\œDcªl,hO∖“Â#(g~ƒïâ:Hœ^kTôF¤e&C›NDl"дх2Qc#£ÑØRœÌ<òj£Q-#ô*©€Å1 û‘[‚ºpý®‚“”…«@È*2k“ÄIµ™ôxß6@Síq=%^%ÕÙ—¥BF~ðwÖ+Ú™X¿úÃtù»ƒ1ÊáäÔSm{”PÛÛâÒéI9JåyyÛvÆÏ¢639pç!þ£®®îÖ­[S§NMHH˜:uêØ±cCñåYPZgqù”÷ÿímq¹ ºÿg»ùÏÏG×þ‚€œù𘎲ÈvVå¬XF¹ÿ¯ªcvi¢ݰ¬òRâÎE¹¹‹v&@-CÄÿÌ;[¸:#€rk³¼˜;œÀeNè˜ÛgŠêV(f‚ Ý`s Pm.ºX€Û” 2dr¶¬’ø‹®ØüF’$ø…™ð´(ŸcŸ^!öå‡OßUD¯’ö·d¬™lÌo·Ep•czΑ3Øüᇰ™Ü?ˆ%ñ-F#á>R¿'¬3ÓöÕFÙWÄeÕY¿ (É+.I*×ȘٵYPct7ÁbÙ ·oßîììüé§Ÿ"""º»»ñËæÈl6¥Qv\Ê6iXV€Fî=ÀÄwf’èׂmæ©£5eω³¸@(A×&Gqm€±*ð CÙ~¶%E±M³å¬N™Ue‡²°Cš¨IÄBEö¶ƒ”³=-5O'Ë5 ×µAb,Ak„S“L¯’ÒtL|2#(J 5¤ä<ëDZ&– Qrf ×µ3›”d7µ_æ%è,}Ï+¢?^Û”]àÖÈ, @2­Ê’ŒlhÓ L³Ý Ò°V ð›ˆ]e-IåEM×%Ò2“m°σBPÎFäh“†^ÇMÈÔ-ñ%bök(IF6oÍ&‘–™\%‹¥åí¬”’ ›¸ÓÜ©Êû«3‰“©T—gTJx :MßãŠ2µ1ãç›`Õ„ ãÉ_…ŠÌÚ,ûª&¾N8Z{¹”]'Å ¨eHÿq¿*@¶þ…e¡UD•Nÿé#Ïm?0oçÙú\Ê”¨LŸ¿ò˜ýâû†ÒTç1cÇŽáªÄoÔÕÕ}ÿý÷S¦L‰‹‹›2eJDD¾; NëlZn½Á`0ç+´”–]ThÒë£Z'1AIÎÎÑPK…+K¾˜ž @Ä&ÀÁzJ­l‚1A<Ã?«æ=-!ˆÜz’Zj00o1l‚1Aj°‰ ür–Zjðð¾ç1 5EoýµgܨÁŸýHmÿ©§á‘‘‘ßÕ©ÎöDRŒ!£ÆEö»H, §öÕ\ˆŒŒŒì9{ö»ˆp÷w™—Y_¨):ü»5k.FDºÍÇi.‚Ý1À>B‚s°9iÒ$l¦ÈœvòÒè'Z ziÞ¦”(éýå'nÌ~~GV‚CÀÌóE‡Z ¼èÄÃÏïX•ÀNëP+8»,Ë,¦Ž0YÀj…¾žÎ.³•)IÞ¦”¨ 5EÚÉÏÏúúЉ³Ÿß±ä& S< @Ôäh8ñÙ_®ÍXi=þ&‹À%jŠ´0Z[£Ÿß1óü6*k~4'9%,Yz²ü?.–®~Àd¹Psþ¹t˜:,¼Î… nœØûαkìj²ÚE}}ÊØ±cÇ?a„»îº ý œ!CtÇüõåËL¦Öš¢š³ó·,îlûúÜ›®=*æ>KÐzèã9{w¿ðÞ+Úû¶½º$‚R"æŸ9Z[ZOþõ©yKºNqÒñ¤$ã)cDtÇ´_oÛ+íìúÛEoë·mÛ+íì2ïa¯Cy–þï®75¬§=!kÇ€ðÛUîú4úŸw¬œÀ«Âó"Ñ}Oýníÿëì2sžÊú‡c¥¼”T!*eõÒ·jN7Ç6ko¤eÏS‡…ß KH—P4€è´Â½)]æo>*ªýnïsÓ˜¬nò Ëiwål„‘0sö¡CïHܸ àB͡և_\m5wPgûzz,@Z!$$:eÓŽø¡QU¶V±xr4@èòWóæ£"u™/Ûy'ïÝZ¾F¬kØ[~ÞÚ0Ù!Ñ&‹çîë1Q,i…>‹ÅÊ*¯<@lÚñ«$§NMJI‰²šÇ‰ÑpÞp;ò‘{œTÁ–2Lvš²@¢RVÏxk×+ÇîIÛòÊÝ=¦.¡`êÂÉ¥M0Úõ/¿ººäѱVÃ)íW§e‡†š— µ,xm‡Áw®í¹Êö_;×5nüèPZ.èA„GDŽê£0Ç¡¶7AS‡É½” §¢0ç9é÷Y,ÒgJÇñš-köO¡"9óÊÃK™y•e;ëx x”²%ÜUBFn±W×ÂuŽeåäy}}:×lüò"”rV&-*+³oeb¼ÈÒµEe ¶pOõÏ2 ‰=tû«¹«ƒÆþ'Þb²ÿ`Ž-&&óܰ.¥Âè(œçЉÔe2u9I‡;köO¡"9óÊÃK™wÖñÏRv]«¹‹S^ ç"Ídêâæäy}”3›Ú¬$I’dcþtW» 8Àßs@T2½‘Þs=;"ÊÙ`;}æyI%b;«\ì*ÀÙ›Ž¿ç@Æê…U;ƒ`ë:A?| °o ›±z¡¼mz,70¿‘´¿ÜU`™ó³Ü«AëlG›ô»-Qœ}«Ìá…ÃÄ×΃õ†Sû‹h©,j˜ j.ô³€ý,™cû^¨q_WÙ öW t"pÖ™çwß&ïÎ9ô¤'æµ´ÃOoŸÖ“üygÞèDùÍ¥»×n+_fûF2jT¨ÙìÃwܶiÌ—YÏÒgU-ŠžhÒ–,Õ–ÿå»eÏ>`²PmDX\¾Äw“` ¤‘€”3Ü+``ý¡Ö9ëv?;côÅCyïÀºÝ+§ý탢ó³v¯OÍ °˜>?°U;9_‘3:´õÀ®ëK󿇆BH„Ž9š;i <"2"¼õ@^ý=¯æÍÿþ7&¢¡íkÑ“k燚;:ìWZÍfë…š¢C†å[·<ÞúnÞ{Öv¯?:ô†z×ë-(d^«á$xîÅWBéÓŠ’µ#Áø×]Šú«ÔäZ*}‡ŠtŸØ_þõ,*ˆJ„]µsï(4÷m{uIĹÿÜv #j:›®D¥<»ô­š“[þiô‡l«xM4®•[å†{™?Ühp½þ½‰y)SL§K^oùÕ– "ÙèP¯qýþ»€{û`s$0ir4Û<ºyCîNrXLÄφ\ïˆ5#kdzßÒîÊËË{çóÓÕ›7àžû©ç}öš­Ò)ÐG¯ObM0œÚ_TÓj±Dßs/@Ø(ÇtìPgÁŸÔ­‚å¼ûWG÷õtu辿Ìjîèè=Éì«WoEFÌæ&8—~ȨqôPjª˜øQÙŽ;v,1¼]T÷]„‘W‘®ö¯o<’ñëû­]¶)}¬ª1aoÞ¼Á/L¸PÓ…°­Õ3¾x÷äÅÆ“7$Ò¤ž‹@…°ªÜÁháMáhék—Nî3w&£¯þãÇñö¢7ùŽwüˆlŽ¢R6­þï·7¿r ¢—*J×=`1uRÚjŠþH/)œõȸqðø¦¼Óoçå½Kýüެ„™³ÿãÐë›ëÙk6£gÝ}âÐVÅ¡èÙ³EäTtLÌ (*eã0jË‹ê¯]ž¼<é}¡Üòæý÷ÛyŠw©Óù»×ÄXÌŸÛ×:ÎzdܸóÕ›~ÅMßÜÕaæžt™_ؽvvˆe¯"‹7íøöc:ªf 3gbªÆ¤4Y¨0´ùêo•·ÎݶuŠ¥³Ë*ÔD‚LŽvíO%¯|q•®Í¯X ‹Çé ¼ãôÏà;×vVU:ýìÐ8Ò@çÚˆ?AçÚÃ`°©UD¥WꙃJETTTT¤UD=wÎmŸ¥ÐRŠtêè+Ó©¨´çm‡ßZETz¥–Shí§©ÌXù"‚r6HJ ƒÁð~ÂöM•úÔRÃû/¼g ÔÞ'0}c½ÁPšÊÚààs -è5GÎQQmqm ¼Ï¥k$õ¬”±gdÄ¨ïΈØàlæ”ZoÈ¥Œ´M°¿>ûACþîl(±½;‹ŒŒÄ[<:::ß\ël(î6A‚œw† Ȉ±Îp¯ñ¸WZg‚ (gþE#‹åç'¥*½Û@Áh‚Œ9cûwJô*iI|KK| ª‚ W9sðåß ´]€m†\ê—Æüý¶b1ÛP›Y!#YEfíFÐìæš^UR .=4þ(©d§ £5‡ ~’3ݱÏÀBå%G_þ.¶ Ȩ$I’$ëgÊ×”éte‹âägèsUé¹ ®®ªQfRaSSa’X,SGr èumÉÅyBVM ŸP k«Ö®˜øä~¥€ (g¾!6¿‘$ócue‹8cB§ÛðS˜>hA¤78ñüZ?‰YV[q‹‘EKq[–\„L]О$‹Åb©Š©»` ZÅ”ÝE¤e&Wg‰Åbiy»§) ÈH$öÙ¤ì¯!ð»íë}6‡DIÅYmÅ-j÷rÀƒûl6C¸*€=†Ì©Ç]åú…DéòÏ‚ œùÜ„ AÿÊî€ ¾÷ Tp-‚ (gˆz•T*—KÍóÛª\W€ œ Zã{˜‹Ù†ÚÌ ¥’=‹èy®Ž3*] %=sƒ^B¥‘‹¹Þ§‰ (gÞkÙs>gÛ ½R¯¯Lg œÍ§¿ãæì[g‹€ÀÙ €Y@È*2k“lsö7@…Ñh4Õ²X»îð]kYRaý£:K®IF6P¢Ò{Ÿ&‚ œy}7–›l"·þ}xŽ(­‚ÚÈI`s€Êôùšôz–Ò[ç„ݧ‘'Ñb@È*¨Y´@Ä&6–;¬g t›l›¦«”€F..‰o1-ÅÉýKA†#C5Q#µô¬.=]Q^_J€àæÛëµ¥©©úÊÒƒ/*J©àsG4úÜ\‚8¤H”F Gdj#sÂh’ó@§i Ì-³E±_ï:MA9ó™–*pLäÖ×;D3ð.4Ø#ÛOÎ{ZBðÁÁ&‚ ZgC3JµÛz‚ ÞÈî€ ¾÷ ÀÁfàcŸ&vá^ÛO%Á9´Ê2 lS)j AF®œŠ¿ÿÀø\”ƒÒH¹cJ¹T¥§8»læ´ÝW6kï½J*f.bì=柲W†úæFPÎ| U¶c¾ó€K6÷ÿžlP` H[gö­Oôº6HŒ¥fÑI”ŒƒÅäbjº­$#’3Ó Ûtzê’ì fNYAvSûe‰’J“ÚZE)q–²Ð77‚r6¸n —ßd[@ÈÔ°A,Ué ™º%¾Ä«7jœK¤º<£’ŠÌÚ¤¤öZ¹Ü¤Œ¾¹‘Š&jÄ%.<Óv  ¡® @ v×”@5 zqŒ>”—óí‹gžI/iȯ\Fo  ”fäLå·ÏËçÍÐgE“ Oêç…:û/QÍ"¼ôÀ¨¤†YÉÅ-è™A9óŒØüF’>\VI’Žçb+I›‘¶Œ9æÅf…Äf¬^(o›Ž«­,ÃFl›C2Fµ½K ÅV)‚ŒpëÌdžn/€ È0°ÎAPÎÎD°!]€¾¹”3ć$ÇÇPŽN±5r±T¥¡åûy»~Ø/¡®±OãH Ïݶ+Ð77‚r†x^%Í‚jz˜Sl€™šY u„ŠHËLfK2¿#â£+‘azÔX1‚z›¶’”Ÿ$µ*¶,vzAƒ ® Æ ±²k|¢e”Q¦öîÄÈÔ/‡‰'Þ¾}»¹¹¹¹¹ÛÇÖ¬Yƒr†pF§2l†!êùöïÊ™{R?ˆÄF@|ÎË£° p°‰ /^Œˆˆ¸óÎ;ÇŒ&‰\DÆ/›¾d¹š¿šÚ“/Ot¸\Í9œ‡çù¨p1МÍY?Ø­0 ÕtÓœ3Ø9ŒÜ)¾§OŸþꫯ®_¿ÞÓÓC’$Zg~"~¬3 ‡çÁÊsýLäS |ÊÈÜ•`ß-ŸoO*ði‚|]¦ | VV¸Þ§mn>>¦³³S,[,’$ÝÊZg>3IŠ„ÂsÐ~þü Ý6Ù“{bh±{ \º ¾™f³ìöä0Va 4çÀrêÀ¥H€mI±³Øc³ãbX¢-qMNg9–齯¬l°/¬³êURñÈ3èPÎ|d›¬‚û'Às 9ÖL€5«`9L„‚ÊËíçà4#|ðçËv] $àÊOö³¾€Ëp`ÚD€Ë0Wñó Ù&(,å}à$•Ú-x÷ L›ÀÍ‚JP íL‚t¸-q'eàK¼³ŒKüÌ­ò¯i¦×µ3™d7µ_ÐëÚ’‹ó$LØÈ{ q°é–KàÁ/aî9ÎÀóøT+[èaÈÿ| úÁôœ[ðçŸàµxí'8 pÅY´hN¥O^vLaåGp8^£”å#øí-”áäxm¬¹s5ýÉÈ6Vå…– >M…IâBH.nQËdê•T,΢ŒJdê¹X,€äââÄ‘÷$⪀€5ÁáåQC¶ìD#gµ·ùê o×Q u† Éҥ‚ƒÍaŒöÙldŒ l¿‚ŸA9CA9v°&m ¹ŒÊòø,ÁA­:¶v‰G>Çí®‚>E9’ãcìw!Û•³[§Õ|'ÔìÙ‰‡mÏn,7®´UrG÷ÙŽ.ªYް\x³³p_Mn\`³'¹,íp¼£\úwð™Îjcû¦ü·Ýž6žÀ]-àÀ}îãQÎð¯hÔP_Çy…vá´ZÀ 5!S×@£†%ñ-”ãWgþ¦ãÆ•vš’[aÞ´Ûk¾ onnªéX'®Ægä²´ÃòÆò9î±[pÁ§;Ë“{Éñ®ràîC÷ñ(góWT¦6f£þ*ºð íò0Ï µDÙ_"•Ë¥Ç2¨[ª)³ 5O\i{ëÂÛÛQˆGeð8#¥&/3„|Ž ¸‰Onj§fMkŽU{ÒÚžÜKŽwµwº8vŠ02HÔÕÕùå£k:4÷v-Zg‚ p-‚;¥Q‚­€Ö‚ h /ª««±ŸC9·@PÎüJvv66âsê|¶hs/ûõ*iRm¦ëk=‰ƒr† ÈãtcB–D—Í ñÝ‚#ž;×f–häÎ'ès–›ïÜ=”3 Búá\[¢¤V¸Zͤ?^Û”]´cN”3 š “Äö•ª„LÝ_ÂèòŒJ !S´'ÑqtBöœ8©° h”ddóÖTÒ ‚u,Ê™ÿ`ª¤R¹Üé2Añ:àúZþYwà®v÷ݘ]e ‰Òh‡~cOP«bíìˆí…ÕÉ™i¤–ì4è¥Lt€RbÃÍ+èÀ¢œùNÌ6ÔfV(•™µXϯÝí\òÎ:ñWáNRS¦Å—Û›l‹íœ¹²pôÖ èßB°ÃÝéEêß0\õ„ræG1£>UdÖ&ÙÞÇòݸö…à¡¿ gZæ4e<ÄÄ'S\¸²ÄÑ¿…`­‡½Ó ålx ‘'ÑbF *ŠÛ²äv{ ì ÁöòbÎ \§ Þ¤#P!o žcØ;½@ô¨±odð—GáÜ€èQA†ý/–J9_jüü%8>é œ!HpYas¢ÈÅÙwWþÍÝ|ÌáùãPÎ$h(êØrŽÄ¸ønãÒ¿9‡9Î<°<#zÍæš5kØ?;;;¯]»véÒ¥k׮ݾ}Ûjµâóƒ „‰'Фō¤âÂ&H.ê»Má1R"¡¿Û(}1²,‰o1 ½JšTD >¢?8`±Xº»»þùg“ÉÔÛÛK’$>È@hnnÆOÁÛOèQƒÕaaãÇ7n –!>‘3ll‘¥*ÙþG$èÀO‚ œ!‚ œ!â5öÉ`žLief–yí1ˆ à»3 |l³Ë”öq{'Ëù‡‹ãl´Îdx¨ÙñZ ÝÌ2"•–™L¹ ÐÈ9sýmεm>Ø ˜Ó,×ÜÃÀ(C9CàHËÚI‰]àìÞéh?nœk0§%ÙЦӳ}vÆÄ'};á`A‚@Ïdj#häb1mre×ÕF¡XrjsÏäââD…2¹0K\ ÉÙÙñAÞL¸*A ô@5@ÐA‚ #”3APÎAPÎAPÎdÂuËvËŸ=ÆõÀ=0o²>ßå A$Jc ½g˜=,Ï¢‘gA µn€ç,›½s«]ž„}j_¶íšê¯w@8áF9C &9>†ý“U·•¨ô W•´ÙV:ËæïÜ*ìS›vÒm,hO∖^%M*lb.È AC9Cà&µðö:§6®³¶~eœe[Š“]§'­©ö¸ž/Ç]_‰ØD ·‚6ÆvÐ8A œF;@p-‚ #7k6_Ù¼Ál6{ž\oooX®EÄ7ôööZ,–_~ùÅl6‡…… hë“ü‘34õÀ>I’Ÿ}öYJJŠX,Æ D}}}}}}½½½”®¹Þ.Òœ=ZPάV«Õj áËÙÏ?ÿ,O I«ÕjEECF,/κºº®_¿~ùòå7n˜L&ÜÈÕÆwÇw„„„Pš3 Á&*Ñ’’’3f¤§§óåŒ5«¥·ÏÚׇ}† Œ52aÂÄøøðûï ··ÿÒ»',,|̘1ãljB,–^×Dï䬷··¬¬,,,læÌ™÷Þ{¯‹˜&Swww÷/¿Xz{{±K˜Í[ÃÂÂÇÇQ‹ÇDÐÓcîé1»}Ù圅……mÞ¼ÙjµjµÚ1cƸ6â~ùÅb6ÿb±X°Kñ‡)çíÔû2‰DB½;sÍÒÛÛÕu»»»‡$q°‰ HÈ™3Á uöÅT$Mš4éúµkwÜ1zôèQ(g‚ø‡ÿ E‚?,ÊIEND®B`‚Amelia/vignettes/assets/distpri.png0000644000176200001440000010133414335240021017134 0ustar liggesusers‰PNG  IHDR}lÎ?ø pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFxIDATxÚì›_h[UÇ?'Ml…¤úÒ>Zc…bÑŠ%ˆ¬ÈØË|hEû`Ù²eyä¥Ò!Ї«ÐLF Sè­ëЇ®Ø8”•J E-«J%«[EfR·ŒUÖ69>Üä6iš6mš.÷ çÞsÏ9÷žßýžóûsnN„”@¢c߈Çã9úCgã€0Ô•òÀ«ÿ̸ž55©®®®êì?ÝYÇ ÓP ¤”RQ©(Š”RÊQE‘ÊoËRQÙRó]ÎEyHÉ”’¯+¤È.碚w.ª²*Šì;·(ånFYêÞRÊöí|Lf¨pðÓ/  ·«³è|qp¨¬&Ü{çߥªªŠD"Axy=ÓZ,–ŒÆÂ=‰ žÈù0a g¼Úµ¢(y "„È«Ýv™¶lù÷·Ç»ä–Ó”Az/ð¸:1™L$ æþÞØÝîÕa:yÑh”puumD£QÚêÚèG‰FG‰FÕóùº:úÃѼ_`í¿‡;§…oBðu®úméÁ@gD+B„´ ±­Íï¬-|ŒhuqF´jåœ>¹•ŒFãV håï…kkkËF–¾.á>ÝÉØøït²ð¯º)"ï[q¿”ÿ*qîœzNÐôDÀk·°”3;>#QÕÛk˭޻ݟý°yw¬ª6ŠK Óêäa¶ÙÂçZ ¯øh†ïÇà“{0瀗Cù=ßkƒI· (å®mö²y“9É+ SÊTfß*\'Í<¬êù”N%‹®¿•šy{÷q"X>ß=LFCii‹År ” »]SÁÉd™]¸³êsa2yt {NÏ®š€>N{{ÇáØ9¡ÊP]]­•NíNøuþæ¡ôßüâóF677ž)g„—õªúJD'°Là÷ûµü~¶ÔU ±XLKýÇ­Äbce騨ØÐÚ·ºÓÚeµ¯˜@º¡¡AË÷ܸŸU___¯åƒÁ .—‹ž÷éÉh¥n#Kwºº.Ð AýÃˆŽƒáÿÿìœ[hÓPÆ¿´iE›Mœº'­Œ1D…‰JŠЕР/^^dºnEÄ Ÿ|òQ”ùpˆÎ'µ*²âêƒx‰(^眳*s“ZJEÙæÖ®Ç‡4išf1Ë:›ºóAh›’ÃGÎåÿÏùf``€TUUQ' E(ÌBæRWE] êw]5ØysçY† ­Ù؇]|§6¹•@ßàÚËhïÞŠÆ @û¦}h|Ä ÜÇÓî­¸×êÎЛÿ¿Ö½ºgã µŸÅ“Uûñf4 æÎ³!úꔜÖìžSƒ ¶ù`î¾üNÖWÛ©;´'b¡‘Èt%M¤˜=øqÝ `üà\œÙ‚ÅH­ óÓÂ`¥µ9‘›Q¸ö.DËþ8кm•?ÁcΔtîò™A»u3\¯ÌHÜõê;Y·ÌnJRs01ŒWͳÀQÿ!X­Öœ&Œ{¯c[ëñø34l'iû |? !ÄêwBI$ºd2)1½ZÇÛOƒ“òºð´M™ñõÀCéÌ«;!äC›Gý>RM!$“X,&ÕoËóŸÄÂZ²\ÆãÇ"sá“x 97!ç+”¬E4Ø,јÑhÑ`s†Ô”Al+kÆø¸þÈg2úéFn“G]ª‘…Y‹4FF“H!­(“D¥ÿ$˜Ã·sHÍ‘ÑÛ9u›Í–;™~Ô'+—XM×9;ô|BMU…iê466†÷ï?Âí®–š0kggn Þ~MÿÀ#’šÊNZNkê¡,C|ýçZqr¼G鹑iÊ!ŸÔ ÌËÌÀpKþ9w†ÔpÎ+ÎI*vOáz(K(Ì“wEZ×Ð2oÒxøÝ×_déü Ó6áºå•¦©Óððp^¶°VfFM(­)',CšBÙ¦)üߤY¡œ©úë}Õdù1lP„ÉÌpfu~^Å2ý&†)©)oz>âvÙ¦©Ýü„rZ¤¦ÏP·1­”¾+ ²!;p Ÿ]eôç*)½¼¥5ÍjàtbçþÏßLµ¬M³,ÄE8Žƒ—ÀËy)©dDÒŽE®‚4ßEe¥³Ä—ægú ä8N¶'Vâþ-—»?L„\ÚªI$4½|?øˆ`ªh×~»V€`ÖõRB•†rC9Ú‹ÑA„H ¤šO³jã:‘þ‡-Éß½R’“šP[[ èíí•ÎÉ—ÛRRš3•­“‹­Ž+ M¤‹b`)ëàƒ¥I 4 »Ý†ar˜9Ó˜H$étqÞ—$S)Øm,X–U}gS2O`±HÍôDõõ«Í3ˆLEβ,rµ¶~MQë2ÙC:‘¦‘5†r¥ %‘YSs }}§¥ßªe;¾ èÀƒêlV)kÚ”~¡õ·øZ£ë-»'b™=O ž$†‘²,!”Ö4ª(3Ž?ÿÿìoleÇ¿ÏQÈXê¬BÔ&ÕIo ‘ø‚QI¦¡MˆY‚†?‰‹qÉ”c,f ¢/0Ä thg SLĽðŒD†/jÖ¡2ƒJ1«Û@Ànº-£v¾xîiïÚ»ÛÚµkŸOr¹ësÏ=w}úíóüžçžç÷ááa9py”çgÞ±­] ‹Ãá@icYó<Ðüå·¿óÜá̉·¾dºj05KBº«ü1%Ó:ØZºÐq~ˆ qÝñ㋎¿ ؾýIØ¿?>ÄÁížÃEvv|8²îU ¢Ïž<¨Æç8²åkì:ÿ•òh©ñªùtù‚£/p2–½}§ö¿‹ÍûÞÁí{Ö]t0õ•I™ºìè I<Ç8óÎÁé’D+„ÏXçÌ'=ƒ1Ü“gèÉòœJö58Ås.-4ŸŒ¬ÍØ´MMÖÖëÅ—sâFb*›“»i–mF¥ãúè¤rDóÉmàÿ‰GuÏQïÅñ''êœKžÝ7ÓÐø·²H’„*ŸÒIJ*®leb;|>‘—•){Q§íR;½¶]‚(V™rra”©;1S[Xý¹ãuÓ×ßo«lþM9>:BPG*㟧z£ŽTÂ×{¿4N£®#†ðêtƒ¦GÓ"$ý³ÖuÄàëÁWI4á3Á4GdY–¸ò7ž¶/Êâ¿Ú¡PÈTü5kÖàÒ¥K3Æs:¦^s©‚_nã¶H:SããÏðfãD£1HÒm»¾AÍË ŸL¡÷°oj1­‚'yKÈõ°îòòrSU_¶ç·ÿ40Ч4÷fyô€µ”«M‡ééiÄbÿa|<ÕìašºD}^Ðß?ŒÏ\ìoMÛºüE¤®9ž9J·õþ$pö pvRâ`€îÛNÞ£Êym¿&Ò`›ÚN!„ rÅC¦¾†Hˆb~$Â\Z“#ÒW//è9¶H<‹@@D¦GK$±ˆ¼Ú2GÀнØw0 Ó‘eYlzAý»"{m×f§äS»žJW+°ðúèd^Í Í·FÈî7^Ãää®]ûç{~ÔTÁ×þÐ0¢´‚[ K€‡ÆpÙ1æjD‚MŸÊ)¥„w_màÀ6tw7ÎêþÌ·Zr eôþŒ™ü¯ÅKò óÏÉ4g¡-’yZûÑYñàö'ª`§ÚÙQP·w-¹¡ä".œÃ¹¬Ù„fìbµø˜ÍüøÝÝhœÃ³ªÅ7á1 ù¯«˜Ý“2Í Ðÿ×dNØYïÜ~ÅkEzªðØÒz²HÛ™)@\"DâÂjþ>þ¾ür¸•\r”ŸUÑ\^ŒHUO0dk¶×³0§cþô%ÒØ¡õÖ«C3R…ræ7$:zxdYnú)#Wo,(7^ ¼™VÓdóÄ÷¥úµ5ÑÚÚ¤‰—+ñq ¼ôujö0æwÃØ+~à<‘Ë·4¼úåÌé{jnæ© h³Ùâ6\ÂÙg0î>Ù(ÛOí=å$»žöýÑd³ÁcóÀÖ44ГSÄ% ¦ÅÉŽÜpÖ»“Âôí½Ä±[ù<Æ.@nrpTÁ ‡ ÃɈ 8×åp ½{vñLȦ³±žr!ñíÀ«`£x½^‚0çÍjµrµÌW Xh$;èglÝú^h®Ed¨XÔÞg.”Ýnçjáœz“ÑÛ`XÆâé§‘É霜" ×ëÍH:\€æ‰F£X²Ä‚•+˱jÕŠ”….ЦääBH\t‚ oœM†††4¾u … ËrŠÏB„M«®®Ö|ßÚš—4¢KWúqf«Õ¯ž- Âá06l¨*ª<ˆÅ¢ñ^‚žž¸\.D£Qc¥¤,Ërð²õZ ·c=ØB:<¯Ìçü<Ã{wKÒ—€êˆã™Ê1ÌÉ)Ü,@›t.øš›Q¿sgJx[[fîÈÈJJJ¸ ½U„?Ù´;#º°|70òÁÆ´ñnݼ™6¼¾¾^“v"==º$îa±Xx X ÜÔÐæcaåÜj„÷êÇÓoéÆ4×$ÒÓc5íy‡Ãa¬ÌádÖ æNNùÿÿìl“uÇ_O×:ºt…c!„ôüôÎÁH§8ƒòk0Ð5¹hN"Þ/¹ˆ€â-ÛîvFP0ÜD¸…îÌpôá'lSqH\©À~¶å¹?žöi»µ]÷£íØ>¯¤éÓçùþh¿Ïûù~¿ŸOŸçûQüžlYÂIH*£gçPJÿyT„'¤£É(ö‡2ñC2<ùÀD Ï*ôš‡Íi®9 ˆÓªÂÐISÙåÎò‹Ïìù¶¨Ã,˜5žíêX7ë%^=ð'` g-eñx°¸Ž…³^böÃß°üùœ _ß»–²ø½:Ê;ž÷ü…³–òâÃ0íù:ÊfÍ÷3õÄ=ÝWŒåóƒÙ,Ÿ.'m àin¢õ¢ µ\ Éz®l#*`jnÂd®‰/ÝdÒ3=2}  ÅNÖ¿aÓ'€‘Šþ£—ÿ¦âàk|t^.x‘×–ÀÄ]5Ìü@‹%\qðŒ?M9ó–ËÒLüz4P(8ø>:KXº{°°óÜw¤›~.gm€à>uŠÿ}vTh}`‡>Eåjfé&hÖîî/ΉÁ!ô)C¾ØÃ´)"ûêØ)Z‘§‰oï‘ ">!5G`CR ÉâÐi-X¡üË!¤ ŸÐ?Å—[¡…—„Ž—è瑱4\ÒÛ©g´ ºvëô÷F  Þ3sOðûé LêÃÉ„}A#yÛofÏçà¸ Ì P÷NðXë%¸þtpí—â˜{¯‘•[M8·ß@}ŬÜjâÑ7ndÕ(M¨ŒÊÔÅš·ýf}mÿâøæœÖž¡éÛoîPçµÅ‰ïÎuzAq¹ ª!Gh\ÛèWhÆ îé.6%칎â40Buuèt; ` üíJ*—Y»–VØz³xKbÊb{fÑcúmþŸsVÀ¨  vP_*×°»|ùrÂÊŽö€soX÷û¤·Ñ¥K—ÈÌÌLzyÝ©÷ìÙ³1+(b=|ˆvˆ«}®=>7aÛ=‰|ÝŸÏ—°W /V;ˆN¶2_éòÓahF:MÿÝÀ°7N¡ªãº1}P#Ö{ÒÞÊÉ_¥CY+Úá:˜K&ÀêqkPÕ¹ ›÷MÍ›#—§ÂÞñk NehÆÖO'¤¬Îõ¾pV«0lèý45ï ›ÏuéãS”ý_7ª-í¾0k7•=z´[éß]<•ìò#ÌŒ#mvvvŸZ»ooÁ¾fyÒÛ¨±±‘›nº)éåÅ›nhF:eee<ùä"\®‹|¶™ÖéaÖnÆui# »©\³¸»Y»ÏÔïWò×wyè±yúçŒ!ÉÿO|Ô­#ût¥¬xË‹7] wôz½455ãóú"»i†ko¹¯êo[xpÚȤÕëb4Êc="Í \›â¸³4qeÿgEïò[‹Š¨.,Ô-HµÄîËT¬asàèT†X¬6ò,`¡²ã¬:B[﾿’OµZWÚžÖ–fP0ô'ñ"WšÍf {•¶mÎ-î”öÙ»´÷‰w7†ï ˆç!ÿv$1öÅZO‡¶OC,¼¥a€÷ ȯ ÷ÔiÊŽž…Ú“Üf=µq~Ú"ЬÖp¯CwFµ$Ä­›žÊ¼ßõ|óÍfÜ_þ™/ýk„œ¨­ÇívGßb3| ìõ ÔÁÄ^q7°»TÛ&Üù°ÿcMœw~ÜG–l”|%z¢¦êj›î=°ÙÂ=–ÂjJ #œZK!6Àf‰çtÛÀb£°ºwÎïB ½îA»Ÿ±‰/°0MÀéàôÇ`u;Wuv«‚‚ ðVW^ÇçñÞÚ.X!ù¯Õ9ŸulMœE.Š’cp EZ"Aä+ùú_VµEÖ.ÒZÉWòõbý]¯‘Òsƒ©6áµ ÆkQ{—.·ó³ÑÃû…«%6ÇXQ ”ذÜ6E3,,…ä+VŽ1ÅoQÖ}~hUò¨(½—“ǬVWw¿ÚÚ"Šo‡òêù[ü,ȳPT …–®mٞΠûÓ²þÅõ°jØÍ¹8ÜNýsÜm˜¿÷“ßæN±•DÞ¯ ¯Z·4;§é½78‚bMœÁ¡( †ú ©_mÝnÎ%·¸>Äáò¹æ\ýx$k7üNm°PÙ§Â ñ6REý…¦Ô>@¤ ¬î†GçŽó mp7“w8µÏfsļóV|J‘5±âè©«EˆÓâMeåN·&0‡Ó©ï[åt„¥YeÍa[‰ÚaP°ÉÙñ%žÌ®“€ÍynWž/^Ry¿¡ô¶Òó "¾¾Ån¶Sœ›ë·pí~+·*ê]-‚ˆ¯Ïp¸¬r:*Ün‡~g‹Û½CÎ’Ìù’…¶pĸm·sŽœ)_ê‘I¿ »‚ âdØMâ瓞/H•]ð§#ÅõáŸíæ€+ųȎù_ãô9‚¶hv³³Ù޽*|ŸÝlf‹ÛíÖ›íUú¶ÝœÛAxUPe?Ÿˆ/2v󺈷C=Í ¶Ì×z·À>ÇŽ§yÚŸÇl6㘣½»ãqÌÀ­U/ÞaïçäÉY’9_dg°c„ôÿ{è-Rw°ç }ׇÃé æ 9&~>_¿@&ý2ì ‚ˆOñ ‚ˆOñ ‚ˆOñ ‚ˆOè?Dt2§2ü•0ÈÅw-Å?K ›¤dØD|‚ÐWÃº }s}%"b¥ô|Çõ•ùl¥[{63'jZAz¾n㎲Ä@ÝËÃq»+8½åmÊ^]È6îàå(éû2Ö™0HÄ­×Úÿ‡IÜ÷J p+¿óÕ±­tWWœ”^NÄ×w´µµEÜÏÚ#ú±- Ò¬==½ âë6}æTèÓ¦McÛ{[õÏ÷ßo|âRÃèÑ£™4i}auŸ0|>ªªFuw‰“YHÜœÎhäðá䥥IÏ'$—´´4f̘!Ãn"XüÄ£œ9s&¬qwíÚ5¨‚ǨªÊÔ©S3fLØïÎÌÌÄçó nk7‘\ýõúÜ&î~Ñ¢§ðz½ƒªþòöfV¯YƒÏçÃd2a4»žˆ¯Ø·o³gÏ ±ÑESSó m ¯×«_ˆ"¾$À÷ß7àõ ¢žO 70º3å0F2åfÉØŒÊÀùK­Ž Ï;èÚã±ñ"¶E¤)JLñ]¹rEo\!> ]såÊ•NûÄÏ'¤ Ÿ âD|‚4ÄÕ2€(//gõêÕ=Îÿã?2dȸ­Õîðú† ¬Z¹RÄ7P)((ˆhUÆK4áE³V»ÃçÏ˰;QU¯×õ5Çü›Ozc¦‰F¬<‘^ë‘aw€ãõzq¹\ÑÓFËO.b$aĈ÷G/÷4ën{€9'ßç¾Ó彘–ŸˆYˆo€qõêUÚÛÛ£çØ: I¢½Ü[Xwì@"ÚoyÚÛyüº¬GÄ7€(++cÙ²e=Îk¥ÿÞ> 3räÈNûçÑ ªªÂ=Ù×ÉÙ’¡Óí(ŠB ñ )èªÁ®P’…ªÂÿÙ;ÿè(«3n2ÁÀ2BºJéV$‰z(ÇsPXifk¡K²;ÈÝ.8jž˜!Pœq=Ð¥­]ÄãjWf nœè Ú¢lÖ ٳ¢Û‰­ ¸(%“€•hQ3;‚6$3ÉÝ?ÞwfÞÉLÈ&™çsÎ{æ¾?î}Ÿû¾w¾ïóÞ{ß{•Öšê=ï´âô ‚lÚþÐ5Jk­Ÿzùˆ\ A2ç•ãÚiFU³­—ïÊAÒ…)'~KÑ7fõ;^Ýë‡ùðÊ¿MÙöiÌlg“““²cÙ¼v%Öw%~ü~#¯Þsê{üäøéⓚ¿…sê@²øê¥ñä¼RÊÔ¤„—¯ÝÎs­”R#£€9×^Eäߢ(³®xê÷ÜTýð*|€SOùH|É«`ε³Øw.Uã>Žšâ—““Ú×à—Á“äXÖ—9¦ÑõØ{Åæ  ÈÇqà;ä,_G¶ÍFNøº{›ƒ'áÔS,^ú¯¼ÜÆžSó¹é«¯p˜ù¼áz —ÿ{,vL®ã…`uKïasðÿÛ4fý wÏ©ùÜtêßý,«ž?I–Ŷ,Þbù¼î ž$‡WRâô˜OqoÝß±¹T•„tå£wÞä½Ý;âšZ±í7ÿÍ ßV­­àý÷ßçi÷÷™{®9F¤Ö|íŸ:Éùzêû“˜Fi­õK‡>++BZsÝé:>zõå~Çû«oý=o]V”²íc'â·ïíÓreAȼjœñÚkÅYº9 ‚0±ö%=×!=œAÈPDüAñ뵕ÍݶyJ­u‡­T5Ÿ?’R©k, c/m¦dw¬‡ò40úWÖ¤ìŠøõFóò×M¥jÃi³%e»Yp<¡i÷™”ÂdßpšÏPÕœ<~†åø®ûì•­rw2‰æ34Í™D¤f*ûoÁ(ÄhŠ ÍÁp·‡lÉîX·òbÄK XüØó–µÒp/p)»/~'NL}êÇt â¡Ë°W¶â]?{i3+Ëö‡›YÍØ”8+ÿºû]g©˜ ©cåèÃÍØïjMÝ÷?á”B)Œ}³ÌÓm>˜©_bºéùyÚðÎ1ÊÂu¥ÍÌX™)RÍÔÞ-Fy{ãýh¢¼DÖåeqTmhƾÁ ›¾³ˆQÏem%Q †½´¦u·[ÊîÈ¢«^õ†ÒZëÚw?Œ‘zjí8qâyGÙ„¾Š_|~kX[üzÒ«ø j›c¹Æ£*þ)ˆ5<ôïÿ1"ív•ÝšÖö=ZµýÐ1åèìÙ³L˜0!cìŠünzÐǪÛþ™qãÆ¥tÑ‹OMiÝÖ£·g Û¬ÑZ=°úŽÛFœÍãÆãóÏeªÑtB§ùÿk°í®üÆb1rºŒOЫøYæïÍ26@?æôBøBàpøÌUJ)\Ê€C)>¾ÄDØçP‰uŸC™ñ”iT—ËAÀÜïR3­%¾P¥ÊH9gˆ_Rë²²,ÂÑ'õtìÁ]ÁàM¸à*ô µ¦Úº™{5OSÓCÌG7&ÿ”î ¦Á[„_ïÅÛ`lŸ±>ˆ3qDA­Áó0PÈÑ °pRNÚïL¤;s¯F7x¢¥µf¦gE7 ü:Øí1ÂÓ+°ÛíØí%ÐTEIUSB ív;vOm.界Ð#ù©{*w%Å €KáÊ7S3.†ë&“ ,î•Yó­&Í‚v(™'Í/¯ ¡W[ú‚κb§?ô9ÕÔ¡Ì®VÕåIª¦Žà]ïç-o9J)S0Ô/T¨ÂÜEæ]©œÔ*ÔÂêDþ’]žBF~‹¬ë ñ*B4Pç)Äq|=~'ÔÔÅ¥6„§¨Þ=ÐÌã)TÝl(½©`ÿƹ kJq¦„F¼»[ƒöK.¬Z§´ÖúÝ?ƒ|i“ÏÛ.âkïº%†Ž¶×^ÿ“;Øp÷Žžü [ko&}á! œMúø²ý’^<Žý_ÖT¬éµµwŠýã¿Ö¢Ì:¿lñú†‹ëýšCçÙ¿b„öüxýÄÿ1c’ )¤7V­3ÄOºº Ž+ÇŽZz8„Ïxåó•ú «)ß«¹e·µÁ#Ù¨ás(ÜA}ç1S €R ñ6hÜÖ°Å–àEö\‡±Áƒ€ µ°zd7x¨äH}îê" œ><Í‘£ÇGeÞìö‰Ì¹þÚ!Kߥf/8×Õø€Óhðð'êŒêpÀÔNü…†@-TøµN¤Ã"è.ÀhPpšu€ÉÆŸc¡yN…[UûWt±eXHµÏ°#_!A÷U2<´ß´Í?$68Žß‚Þ ŒÏA Lü Ühí¶k™Ôº¸ø‰ö ãÇ_Êâï,µùJ¯Ö¯ŸF)…·A›ß‡B'FƒGòï^„ß —¢Ð¯Æ ŠÐÚËl)ð7”ž[ù^|ŽB<”ã}Úi ž¢¨vø(¯3<<­5„ŒÆ•ÝT[†£ÁíPªò"#FƒGðÙPZ£PuEhmt)¢È‹ ³æs(ñ3›‚d_¹ ÆúŸK~ãüv;þ*´ü©×Üô6â€5-wJÚ¦Ä)ö#¬ß½&¬+0DÉ]˜y»~Œ}Åzm+ÿî.÷r¨±j]À©p+§Â™5ôöþÈTÕVqgÄ MUÔU%%¦¨‘ø-±{€&s›AU‰=ED/‡r!'uÔ™‘’ºba„aÕ:[æ^†éTW˜Á Šâý†Wgxs†WWaz…ÓÓë«ØIl«è£×˜ú 4½ò ÞåÉòTOS´Œÿ(Œ`lr †±¹6N}µù›p‰x‚‚ˆŸÐ99YäÈe„´@z¥ ‚ žŸ0ødê@°¡“òåKÇIÄó)xì%––ÝZc ADü2 ªh<µÅÆDìMUæˆ.vÀ2ºK—n1‚ Èkïˆ%Þ‰y:à-&ѽ%©H‰uEj·AÄóL>j‘¡ÀA<¿ ä[fÎ"‚x~‚ âùeß|‡H$ó<¿¯Ï¸Š¯L¹L € â—©,øö732ß¡“ÊÍäµ÷‹°—$gGóô¹_Ýw/±¦•›#¸ôéÆ""~CDd¿9;še4ëPRqáò˜3§Yµ¨§ãJJ¾xªIëPTMU%4U¥ž#9ÄUªÆãÕzìH??A¹(­µ®}÷c´Ffodäó6™½M<:{[|Êͱ\©ójFóVç­ÊŸ+7_HkDü†˜ÌãNÆöÒéç'‚ˆŸ ‚ˆŸ ‚ˆŸ ‚ˆŸ ‚ˆŸ ‚ˆŸ ‚ˆŸ ‚ˆŸÁ¸Ên•Ï#?A?A„‹„|Û;©züqV­\I^^^ZØóØc±bÅ ¹1‚ˆŸ0´œþóŸÉÍÍå³Ï>K {Ö¬YÃçŸ.7F×^aè‰Åbý^Žo-æøÖâ.Û÷±õxrýN{q¿ÓÕZË Äó†‡p8Üϯñ7Ák9^[À{W¬à >£õÓ0ÅÅOóüó+h#Öï´Ç“)+?a˜hooïgŒ¹Ô××'ãSÚÛig.˧´³üçËiooçGõ?ïwÚrC?aè¹üò˱Ûíi3\þO<ÁªU«äÆCJ,ÖA4%ë ½½öö6::;Dü2‰Õ«WÐÑÑ‘öˆð CÍ¢E‹èèˆ1fLcÆä0mÚ×PæäsfÏês:Òà!‚¼ö ‚ Œ:::xæ™g˜4iùùù̘1ƒ¬¬¾ûs"~‚ Œ<¯ÍfC)EYYYÊöøë¯ˆŸölzÐ'Aè7mmm½î?~¼ˆŸÞT”ÝÚãvëÓ»¦¦†Ûoÿn¢ó´Öº_Ow!½‰ß׎Ž[++©X³¦[YPJ‘Mvv6­­­Œ3fp¼G¹üÂÅÂZ?ÓÑÑÁ¶mÛXµjÙÙÙ)…¿½½h4*l‹Åz,;wîdÙ²eØlƒ/U"~BZ`³Ùzí&óÑGŸpöìY¹H£˜Þ:Ó/]ºtH„OÄO¸è‚gÅêñÅ™;w.»jž“‹•Ü0wnJ™°†³²²½ºCi­uí»›ïßpÃcä.‚0êøý{íÄõss,W:9 ‚™ˆø ‚ â'‚ â'‚ â'‚ â'Â00~üx²²².êrß}÷Z›¥ŸŸ ¤)ôeËäÉ“hiiþ‹ÇO,`õ•'˜ü/´<²à¢Ûüø?LæÞƒp¨¥…+û}†x~n«ˆŸ ¤)±XŒH$Ò¯8K–l§±±oñdVîúOî=™e4þxv¿Ól›—,Ùή],ˆD0Ž<Àö÷æúv>÷76’Ÿ¿‘ÆÆ;X²v­¼"±å‰0oçÎDŒlˆø Bš¢µî·ç÷ì³·’ŸŸÀ±cLjF_ãž—F¹fù3{î»ÕægŸ½•Åùù^>vŒW—_Ã,åžt2‹h4ÊRŽ~…ÂM׿ÉÈÇo¾Ï&àØ±ùtD£ ƧÞò…‡ ¤)ÙÙÙ455]T¶mÛÖ¯z¿t¶¹ë"~‚ dòy› ÒÕE„ Åݵº†‚ £‘¸ÖVgÄó!3ùöÎ?¾©*Ïûï›–e@‚âÏŠ`›_¬¯qd…U"Š@ƒ™phqt}À 1a\œAá}`‡AüшXðNYWTdHëf:<°Ã¬È2І ¼¨£.ÐV¶4É}þ¸7ÉM›BÓ6mÚ|߯×}åþ:ç|Ϲ'Ÿû=÷žs®¢ª*¥¥¥ßÙl¶R‚ ôf|ßœ X.»$]9~üøÑ÷þëä5R$‚ ¤׳ ¬Û¾O•¢!•HO3É£>ARLøL"|‚ ¤œðÉÇžAHrÞ^ð¿xí­âv…½÷'…ܵößš5uÓZz|÷NµýÚG‡ÂûCë‚ ]ÅéS'ùîó?kÃÐT½˜Ð7 ¹oÚº¾Wÿ9}ê$Íu.=Í”3¡7vúÂëiÀÝ,¼±Ó‡ñìŸN(àõñ.°`_ëcý„æîÜØ¡ ¶/Ž?à­¾{fdýÆ?ÀÌ\!uFz†úˆâÎØü¦‡™³áõ¢)£4! ©"Ð\çÒMi±›ºÍ÷oüä0wÏfã'Ú\`T—°ä“M˜€i/ÄöjMg5Á|Äò|˜5~"“WæÁa%̺{9K>9Ìžñù|L^½‰o†Y…%,ÉZÎÊ­ðæ'ÿʇìåÃçþÀä­kyð“M,ŸMðæ'‡ùíø|>`/¹|ÄòüáÌŸ ÿø¯¼¹”4…PÞ”4…«f-`{µBõÝù|ÀH&s¨•øF2ûú×Ù°_Û'BrÒT_^W€go»–™³¼þ_`æ,ÏÜ~-þúú° ¨¨±õ,¦Ç÷VùÒ€ŸXGðVù‘ðoh¿£‚É”¦o§aRÒP€_—á/«Föåÿf¤óÌ—ÆÖå¬\ýä›Ë߯c}œ´ò<ÖxàÊ]‡aë¿óþ—“Èc4Ž_L³u-i_n ¿ü7ž]Z^6—Ác½‹´Yokvl]KÚ/bRÒмYîÎf÷°¹|`sùJ-LÌøVò„õu6—‘š%IŒoÛæH›6äÎ ü{¾úê+Ã9o¡¢¢(JÔ˜Ü_zZëoußÝu,<‹éO¬#Âû>—¹y [v­ä¥›oç¡]Çx‰½¤§™Ø¼õ^Æ<>—UÃáoa8°J÷ÒÖIO3±`s./Íÿ€‡~;‰é%¹lÙü$¿Ç„‚Bzšþ;<›=21fØ+Übý»ŒÇv?Añ®cÝ<ƒô4¦4éišð=°ù?º:T<ŽoÕ®cüíÍ\9ë©]‚¤d\z9* ŠÞ~}¾ájV<µˆEÿ¼€O-b鯞gQÆq-€jëÖÐ\ç”­{ªcv`þјL~¿§ZJ[„nÇmÏêû'ÆJ¾Å¿û§÷“hÏdŠýŒï½?)³‚ ºô2®™ñOí »m?ÍuNñþå+²&BJ!#7AH=á3nÈ78Aè­'[wO„”C„O>A>A>A„>óšúf{ê)6 ôp|}þª¿:_ÌÕ˜ ªcÖ§g]“º+“ª-_³wØ·K9ó" 3åÅUS»1“Ú™Ø NuR¬ºxvv]“º›šÂ7ÿÓ ²¦_¢ßõêqíª-ßêwKíVXu­¦ °| ÔcÛâWÊÐùQÇöœ’+“b¼Ã ðúŒZkb‰ûÛ°wiaèb¶çT‹úR¶¦º¯-v]3¯©‡=§(k¥Õ"u·÷’Þ–“^¯«ûŠÝG¾Ã\ðAáóé<2&ƒ¬1A5¡Uà9Í’ÉfŒðk{L:ÐÀ2X<Þp,óbª¶|Í ™—ó»Éƒå*õù’Ì!ß‹´kÎ0jÄU±£¸HÁ#+A¦ŸC{ vaæ‚jjŸ„%32/êÃõŶÅÃ.'¯ú[Ê2/bäˆ64«k+ïÊ€LðUÃêE§(ÝxQÌ¿H{ënјèÿŽÐ5ÔÕÕu\øªkÎDm—­9EíÆÌp“—Ì‹]PÍØ{1cL¥ù~ÌÕÌiµ¹ š9‹3ègƒ¥Ï§c.¨fåó™ä…Ží9Åè÷³icÛ2!$?£F\u-›o>~¾§Õ¯z½ý5æOüÔn ˀ̋X]PM>P»ñâˆp~ú5…OgÈ/¨fΈt ƒ%‹ª)ÔÏ‹Y× ^¦ù1X鼸…íí­»mý KuÍ™¨›l,”ÒϾ OR06Ƶ¶Dr!\_S´ñr¹")ÌàÁƒ£D ùv²"u·÷ßnõtºà#kRq„žŠÔÝ^„GSÀ³þµ”./ÇÜ{¥Ò$€ŠK¤„¸xlÑ|jjjèß¿¿¦e†Ïã*ŠBccc›âIo«Ã÷Ø£¥dA?ýìK=Vø“]°—ýÒ)ÿd¡Í|÷Ýwåð‘òAñ Q8ï¾gsñºWå ½ UíèœÉŠÁãÓ×eæD¸ ‰ ––vaÙ3øx¦Xnàñ¹qX­Ívzqû Í,ÅÚbÝ¡ÄNÅxnkñµýXëçûÜV|í(Ü`0ØãAÃmUP¥]×½»°†*·×Ñêÿ¯yýþÅûÿˆõŸlöŠ˜ÿÑàu ( ^=-EQ"ùn£øõ¯Ík¯½À¶bRM •8”Ï={#ž áÊdU¬îŠðEQZ‰Ì£Vâð†.’EQpx½¬ãS‡‡bEQ‘‹X‰+"žVÊT\9Jäëi:¼úEw;bÚ`q.å=-Ò±êŠ_Q- 8`³9Y[oœCl†í†ãúú';Ñaâ[´x*×Ú¨Œ#\OÀïÐÐØ”°å™[£¾áW'0¶,@°Íù ºVÑÐØÄÜ©ÁØç {ǰfñ£¶ý4ë˜}ná–gÿªmo}¢âïx~•ÿ3’ú†sÜ¡§UßpŽó¶òîyâ¬o8U^}õU&L˜À÷¿ÿ}öíÛ×&/´˜ÝÛ‹ÇãÛX°,Nr^ð¹Ù ª”;s5™}þ¦á¨œÐ]ë=ÆUâ±Û™Ç8T]WuOää'ªªê‚fÐíUFÒ°æ@UU¦oÑs1̓ªnºë¹re N ÑéøÜ,UÕ¨t¢l@ë„ZW·;WýŠ·ç»µí}n†Jêêê° ŠÍýß4ž®ÓÏ?£­ŸiⲺ:Þ]8”¡C‡RWWÇ¡6†ŠÍ½ÏÖ{_$Þwë¢ã¹ä§óùý¾PØ…,j ‡Žwaé4«êwñD-oñLŒý^ÖøT2x£¶Õ÷J¨-ñä÷·«÷kë[Ö†÷-èªêåŽ5¾ˆÍFûù>UåŽþ·5 £êaâ´•_þu”~åu¨Ä.«] ¼¨ï?ÄŽ6æ÷ìÇv2ú÷ §¥ª*j–­ï·nc0}CŸ3gãÇç?ø7Þxc›žð…“¯Ëçu°AW¢ýSÁ’Ëj/øÜÚG}¯ÿÔÀº˜îsNXx°8)wZÎëÞn|Ï>7Óí0jܧ­Æ{½¾wźy­ÆUT©¶4ÍŽ\¶x §ÓÚs„ªW徫¬²o#0óÑ Q T½ÂªŠ Þ¸o8Á°×¥ ˜ù@«ÆOšÀ+U‚¨TTT³üÑagN\ÀŽgùÄl²³K¹ïêPاÂé>TQAEE9ÖS<¾Dsÿµ=1c ÝyϾx'2úÁáJr³)kjK<-ªì‡_áÅkX48¼†Rປõ<Ù³cæn&¸ëæ]á㸀În—}¶ðâŽ5üöã…ÚcY5³ëéEw”Qq¸­ùÍæl}#~?²ëðvþqJâžµ+zËNQÍã3Çlv!ír–«€,Îrœð„Ô^-7xhåú¯µ Pî´Ží”;-`qb§Š×® ¨=*ÍrÕÓâ˜n´a½e:;átŒ¶Ÿñåm· vßoX¶3Hî_þ…`0È›@pØpÖï òEÉZTÃs65äõƒ“(ù"HîÚlîxUþz×uk8žÇwäàÁ§"a aËv ~Q¤[ƒQÏ#{È[£„zY >j`bF?dôçªÜuózÜñ,¨ª&z<€šõ0¿ÑÏI¤-j\ùÍâíé›ÉÒ½ éý8¨×ãÐ~ùу¿lÿðóëÑ ÞÛ>m3 ~óW²BÛÆ²:]mÉïÃzû2bKºI‘~|"±MÇcÜpÀ™|öY€”j¤ª©ÔUHMòüv¶}ŸßP\S§NEUUšü~¾ûö4çšš8}ú4Ò2£H¦‹ì]˜÷Ëþ˜ÐøW=³6!é$ˈ“ÖZ ¡‡Ú)"{Ißζ/ù4ÁUüþþ&?gëëi¨oàìÙzú÷ï{Á¦nDøÚ¨|©:½ŽŒÓMéi&Ò3ú¥ˆÃ§&w~;Û¾ä7#óÊ=¿6j]º"M]¡»„/=] Aˆ‹¶NBpÁ¦®It¯Ë8p*È-×é•y{m÷q~8r\d!i1‰Ç×=ÜrínZ×3mÿÏyÝoƒ¢XµîL^îN‹6¼«\ï«ä¶*¸(B-5ë‹·/º[S›ð¹qãŒ.l^e*E•*N‹a½Ò2uó¶«xì‰)«b¥\-GQ*U•ý×ÒÙ ùÜ(9.W„ºÈz¹³ƒö+| ‰±ù<ŸÉ¤ßÏOHj¼ÂÚkŸÞ]ž»:¼î,ßNцNžêÊâlU,Cö8”-¨ªÊ+në TUeãl7Ø=Úù©Ž™à8Ï8Ùr]x‹*U,áßİ]UÃBg\ïóP»@ôB_d1ôf TãÒ?¿U\Ö‰ñ^ õÏ:Œ¼8Ú›ZhøÜÃsú¾·Ç´/™…ù‘8~˜§§“½n´%ÙQ¶L}À>o ¡Pô;¼ðâ0Œ, ³*VÍSsxÁëÐËëc·Ý>mØS$Æz„Qã47~Ÿâ,߀¢(,-wî‰5b¨ýwܾH>=yÀynöP™×;H¹êÁç¶¶¸†‰òøÂ#7Äã‹mô!Št‘(̃2—³Ù¬ ¡-²n3›1›]P梪 ñ>7fÏ„ç²áPèK„_h?wLjּ̇»öè8/"Ï…Ö/Ö~¨‹›±9ºfSd}âµÚï`[•vþì¶¥½¨kn˜^X7•u|ÚÆYGÆé¾Ä~ðU°Ø®MP°_÷Ó–ÎÓ†@-¶ƒ}:>دñ*wZP=ö¨¼Y‘áaÑ„Fce5ªªRaµm x'‰S´ ãºå1ý1×;¦©K©è‚és¢<>“¢Z„ÖÉ›6G½*xg7ÔÖÖBU1»(¼"²Ú×Mëà‹Ñ†º0}Üì¼cC"^â+ë´p!‘ºi¼=S[2O´æ^cˆŸo6x•£apÛ¤VliƾY]Ó/ÍŽªªÌcN‹EŸÇàÝBèñ™Û:×lw O%Ç0{Pyå(E¡bqK»CLJW½È¤`Ü:k¤Yí¶*Ú¬BVwxZ¥rÕƒGãÀÒòð”XÓc ƒŒ‡éó´Ù‹šÛЕ„ò²X-ZïàƒC­¼­ñ?{m—ðE´.]ô.6¥›ÀUEyZSwÉê‘Ôî]I1PZ[KU±¬ÂÅŒ]¹—ÒÂ,Íãkƒø}¤{w³‡ÀšÐÎÝãð¸kæõÝ´ &föøè0LÔEëˆ~NÈ;¼i3,Œ•è)](ÇÀ}‹c­ÙÒñë*Bã¨i+[¦£Ú#ž—öÔÉÙêùàDUaA×m8扄qZ€pÜÍÓÒÂy BŽÃ¦Ý²ïÑǾbˆ¯Ùøö–ãÓ;c~哯GÜeK Z§ì;ZNùšÁ-Օ޼gðàÁç}«»ðbXs*9m¿Ð[Ýóug }T»ùX]Aˆ—ÆÆF~€¦¦&Nžª‰¹‘™ye«cuÕEõã3º|2Åzw’¬¢'½SÔX]“HWñ§/jøÏyC¤ ¡PL   ¢’nBÑF—pF]lêµcžeÔ†ôŸ>M‚þ2W!¾b¡ËÑ?Nヨn4Ñ3x‡úÙûáÅŸN(Jím­µÅºÑ–îÆªÛd,›DÙ¥½u‡¿q£XÝ`×} *ú›ÒYèX+‡{øk³ñnÇKôÈpwT†¿á7áQ!^¦«*ªº·ÏǨJµRûÀ–Ñ–® FnxŠVî=xä†Që¤;K²çÏû¨­íMÝ¿•ËUW^ž(wOÿY×î¡Âªàº~;Ú—´‘!™så(á.EÁ£ªúxÖ¥XÝ9”;+µ1»•°{ÂÂÒò“9¬pû°çnáF­PP>‡ªFÛbïò’ÖÆÈÑò¦Ù¾4á©nY7»G­¡ªžðÈ µƒ£RB#7*å /Ëèi©DºŒÉÇ÷Ú¼ùŽü-¡ñL³ƒ%‡ _¨™Ö¬mÞo­¨R ÿ!›Ò(˜fß{äZì`ñ€Ï×âdTÌA´Qg£˜nñ‚]EŇÛWe‹ÝÒuelU”«‹õ­î¹Q4.1#7Þ낲4j]»¾«+]‹f+(Êl}ä†áS¡†‘!TÕƒbuÇ¥aq²"ôhÇ2©ŠÂˆ|F…h£7¬ïMÃŽ]“ƒÓb´¥krŸ #7<ª6™ =wä†QëßWg´ÉñQÚ¿©Åɽ±s™ËL^Q-fWµ¡A¹lf¥µ¥ÆPWåQ¨Íp™mE¿0ì´š©Ò²bêÒÚo¹3éËÔwäo\:dÀyóˆÌŠÃÛþçyB£#˜O4ô‰4uÏùCS9§N–¼GVRäQƦ¢4½ÎFógqâ9ûQUÅÚág(½=¡­D´LÇOÖsü”¶¤ Y…¬.®¢Ì•O^”G.}Ö—Ù>Z_2¿ªŠ)®ŠC™«Í³³4Ç¡O¤uËð¶qö‘îGz= £Ö¥ì¸ïÌgõ•z³Ö„æf9©ª˜2`¤¾kåË…5…C‡CÇ}X²€¼¢¸fg 5k½~°^0ÍÒ£ÊÏøáiAèi¤¬ð¾<ƒ/j"8¶³í…žáòÍf雇^°a6ÏÓGV!«ÍúÜ|möøì¸rb=X¡ËZ,¥Ÿ}£†Þ󎽦åw)ev–Σ7ÏHÒ]/7„Ô¢#/7v=îÓ"S‚rȇM»ãßÔöÚ¼™ö— ,ˆð -Ô¯7¿•7¼BÏAšº‚ ˆð ‚ ˆð ‚ ô2ä_ùö»s »úÒ”Ë÷7'ëè'5KOH%.»Dúè "|‚ "|ÉK6›qr³aBADøz)3^^LUŒÜ»IÛYUŒÙl¦ m.?³a³ÙŒ­¸ªÝ³³‚ —ä±ÚVL™ktxÒQÛè%ä»ÊÈ›6 ì ÖÖÖ2jÉüøggA„/™(]|ˆÕ#÷†·GéW[”‡yõHj÷®ŒÑJOz Òé ™·W˜dQš¥m×ֆϨ-Õ¦²*Ô6ÂSЋÇ'âñ ‚ ˆð ©Á7'ë¤iê¦* ê5ùfª £6ñøADøADøADøA‰<†N _þíkþû@EÊåÛl̘¿ÿ¾TA„/8p3ïúaJæ=ßf ÒÔAá;ÓÈŒÙìŠ+ŒËl»Àe†)¥Êô4ÌçRUÜê4T¶ ¦'‚_[)s±·¶–ÚÚ¢fbÕ¹¬Ü[Kmm-¶ó lVaxF–æ[ªÇA„¯ãä±ÃfÆUÖšWW†ÙUe.ÊÐ&(‰qž­¸ (ÃUUÅ«c&7clID`Ë\Ú‚6Ï^s/Ñ(¡4\eÏ0d‹Ùì’ÙYA„/> KkyÄg‹jr–#ÇêÞÚ#y7 _«M 5'Æy3¦dA•Gò «pqÌ´ÞÙ=ª|X²4Ñ%¯[qUÔ4TšW˜£)ìcZžæ: 0V·å€ÌÇ'"|qµu1›ÍŒ>´ÈcÉh3dM!ßlæPŒ³KŠ<«‹u^V!£Íflž¨pKF›1›m”ÖAV!« Ïüf¼3šRCwÆØ̶˜6g·æqêqkálåµl²‹Ç'=¥ô³oTmcì5}[œP]s†momÁ1÷^)­8IÕÏKBtw–Áƒ·ºO⡱±‘@ €ß ©©‰“§jh¨oàìÙzú÷ïKfæ•üÏ™&2‡|¯EØÝGÏÒ:éÎ"BÊ!˜HFÿtŽS›’yÔO‘ ˆð¥"}ú˜è#Å I‡4uAáAáAáAáAáAáAáAáAáAáAáAáAáAáAáA„O!hó Ìžõ¯Ii íâ±G’BzžðÉÖ„ŽPWW'_U¤©+‚ Â'‚ Â'‚ Â'‚ Â'‚Ð^äƒâ=œ 6°`Á‚¤°åĉü®¤„ÂùóåÂ"|BâX°`gÏžM [ À×_}%EዪªƒA)AˆyÆ× „/Ľìpš[ìsšó Û;Xë‹?^AáºLüâ]žÉÙÍŇ£÷7+¼‚ M]!áøý~êêêâ t´„U?ÃÇùùÔýtK³³Yqø0ÿF€_Õ½ËÒxðÈÓ4Þ1†x£>¡Kˆ·‰¹lârÞd9ÃÞø@€Y¨ªªøÙøñ\=þ!‚GHëU¦®”ÍÜ`0×Rñø<ÈÁƒ™»l'¯úÈÍÍ 8ì>òrs™UR…g¼ò’EOè2áóûýq…yõžÌp˜ýËÆágû÷/ 7÷ïßjHgÔ‚ Â'tðÉÛTAáK)Ö¯_Ïܹs“–ºº:®¸â ¹(BÂoöMMM45ù9×ØÈ¹¦s4ù›èO_¾TáþûïOoàÀÌ—ájB‚Ù¶m'Ol±ß<ØLfæ•"|‚ ô>n¿ývú÷(áýŠ¢ÐØØØ¦8ä­® )‡Ÿ )‡4uAè‘4ïÆÕ·oÛ_nˆÇ'Bå7Þ`Ïž=âñ ‚лQEQèÓ§wß}7}úôá¡÷Ò·o_L&­±Ú¯_¿(Aá¡W’žž¹xÄN„OH –ÿÆ-… ÄÅc‹æÓÐÐÐqñ”¢º‹Ù÷Ì8ï][UUþøÇ?RSS>GUÕvßå…ä#4yí!C¸õÖ[/Ølmhh¸ðÛÛ3M"|Bò2`À€˜ûC•> 2}út‚Á ¡ÉEøzŸð…¦Vóû›ZŒÄ0™L¤§§c2™âž‰H„OH:B¨E! òꫯ2{ö쨊 ª45ùe®¿^L0¨AÒÒÒ¢®ýsÏ=‡Ëå דÎD„OH‚ŠdåÊ•L˜0!¦Gà÷‹ðõö럖ÖRÜÎ;ÇÖ­[ùñÜéâ'Â'$ÇgРA-öŸ={–ššZššdFÔÞ,|ýúõå²Ë†Fí8p ×_}BÒá’¢É{Ï=÷ðùçŸÇüS444ÒÔÔ$Õ‹…/==­Åþë®»Ž¬¬¬¨&°ŸÐëÄï†nˆáñÕSSSCP>]ÙkQƒ*ýZìŸA>A>A>A>A>A>A>A>A„D!“BRüòËÜ?gC‡í6Ö®]5#vo²Y„O’¯¿úŠpöìÙn³aÁ‚-ÆX÷›Eø!IéîéöÕvÌØSl–g|‚¤ø—NÌf3yk}œæ<kóÌqÇÕá»p¼>Ìf3æ¼µíÊ_(?µY<>AHRâž*~®>ˉÏBÕË”©óQÃÅwâðžh—u®ÍUüüƒ,Nœ8ÑnRmg8>Aè!ÔÕÕÅàèï™3fuuÀ%ãx÷Ý:`Ï_y˜ñÆEëß=n·ÍFû ,ÍÎgÅád/…Ó?`ç„ÉÏfΦÆã›È/9ÊHçM£­6KSWzKS÷êÛð|¬¯W}Ȥñ‚ÜÈSêã|ÜŽfe§Ûl´/ Põ dݨ¨<ñ³ñÆO¢ª*À¶½³Âç$‡@ À÷]MµSlá„$% ƹ ã©à2rssYöÅ}ܪ¿hÞúÁe¹|g|í}¹q^û†•››KÃncnn.>=œJ7äõƒ“´|ì òúŽl-̲L£­6+¥Ÿ}£¢Çcì5}¥¶ Bðä“O2wîÜnµaĈøýþ^cóî£çi<ã„$nêv'í}«Ûlá„$äŠ+®à’K.aðàÁÝfÃúõë¹ÿþû{¥ÍÒÔ!%06uåå† )‡Ÿ "|‚ "|‚ "|‚ =›t´‘¿Àÿ;zNJD„Þ‹*Ÿ ÒÔAH þ?{÷ßt}ïüõMZh¹HZV/ìè…ºŽß⥑Â.ÀlqC„9ÖRôЩàÆÔ"EOj±=NЧ+^À •æ(ÞŠCŽpô¸ 6-¢\D¤¤zMòýýñý&ùæÚ´¤¥I_Ï=¾Ã|¯Ÿ¼¿í·¯|¾I> 7Ü ^°`AjVVÖóoþï÷׳$DDDDáaê´Ô¦/NžNX~Û¤Až={į,W³*DDDDa*¡µµUü¯wM¬Q˜ú¯cµJ`5ˆˆˆˆÂT‹Mþ6fµJÍj]ñÌ ¼m(ÁÉ/þÙgÇõ£㎼|qñ~×»`•CŸ °§ˆˆˆèR<ÿ@v¼ý2ZÖgÇrÝ¿`ÎwcÑË»ý®×)Ú{úÔ]{Á¯§ër¿îýÒc}å<û‡ÿæx˜²Üˆµw%ÈÞÇ_¦oFüý 3ãûÑ=± kïÙɽÒ._Ïù}üeú¼ãx< }¿WÛGDDDþX;:`mowiï[“¿,oçáSøoÓwŽÅ3’¯Ä/®»Æç|_Dùxd¹k7oïþí½z¯óçßš„¿½WµüßÊu½ïùª–ߎ÷Öãå÷W– üaº óÞ[…¨Tj¨/ë7j½‹goÝŒø¿nGf<€1÷aÝ{÷õÒ±|=g*LÄ"{ð.ž½õnT;+ôjûˆˆˆÈoèko‡¥¥¢#è € :SšØ:;•/Ûeÿ*•/£xlëì„¥µÅ¾™=3 @”BŸ0»ÊrÎ÷ôª^ùð¨G€»kÚX—ewM‹W><Š»¦…Z­r<öpü]|„?`ÅT•ë>¯½SǯÃ'Çõ“UpÛ߆žù ®>¾«ï~S_~³?Ь÷µØ^p›K8+ŸVŠø—_ÅìÑþñ(V‹Âì£(Ÿö{à]f'ÿpÝöÐÆ±8pËQäL†}© T*¨ÕîËÞEù´ß›äí•m”—¾U:Ö?EÖ¿~ø8& ÐcÙ¹Îÿ¶r3þ{üOQz­ j¼ëúüºÙ>_u!""¢îû¾öSݾÍï:IòT8ççø4:[J×aKé:|ÿý÷X¶â1ü¿Öø]Ë1à,P{ÐÿñÆÎ—CWYî¢M <ô¹›;Eº ûúGÇ V<¶Aû>½î;áLnÅß?þ-–NQÌÿf/>úü×ÈJWA ®Ç}ø-âÕò6?ùŽŸTA¾¯¥§þ6ËõŸ@ûÔ1,ý¾Æu¸)A’é°!¾‚€ë1mÚX)H¥oÀæãó°æ•D<€ñjâ{(JWß<‡G²ëõQ&"c~"*Ôj¨ALñøäWøööHø-²çü ŸTA ·ÿžÛåãÞ -JñíIÔôXÊDïœÿ«×ñÚ¯”Ëϯ›íSÖÅ£¦SøËKDDÔ‚ZÁšXK¥>»}ª8Fâ‰Ç ðkÍÍÍøý£ñÄãxâñÀï݈‰âYLµéòxd¹nßÞµûùM£oì?îÒS÷ÆþãŽås§$x,WfÜ_<{øè÷øÅ”sïÔÇÆýöGjN¼4ó^ÿı|ùHÛéìÛ-À”t5Ôø6¾ú,~?%ëÉôì|XÚJí¼e:úW%¸yÉ4,O~;N’ƒhnþÉ¿cý”¿?Y€;ŒQ«¡VÍÀ”¹‹ñïÙ xÎ}£Ýy=–¼zËG;Ûï<®r;_Çòl«²žó»:N7Ú給DDDÔƒ®!W]çùìa°ß¤¼´JÁnŠnGÁÚñÚºuØß:رUäa24î7w¥ì(8ŽH–kµ‚(Šâ›ŸœâY""""ºú™ÓðâßJñÝûÕ€(ç2Ñ%®Éïï“¡(BQêÎuCé]|Êè(¹òV-Ì_Ý[úmÛÖÁäž>¿œ™ˆˆˆè’Ü]\ŠÜ¼µ¸Ðx¶ÏŽ9ìå}¸»¸´Ë,×f¤ž¾=Ÿ~Ç3EDDD¦6‰Ñþ¿œù¦„A¬QˆØ¬ÃëüN byˆˆˆˆÂCC1ôC1ôQX†¾ç¡-h„®à4 'ü­Ø ]¶¯uü-#"ºD¡q¹ÆX`(8íK?»õe;xÝ%bèë %­˜› }~4^/9÷@˜}šìÐîèô ‹¾–¹_”(×u½HëJOC“Ý£ûL±Mö èÀÇvÒÅßs=" 'ÎC[ l¯¼ yñö™ÈÛxæî;ëzNz»Öø¸F¸\caô¸¾œ†¶Àíšr šé:i,uîSSÚ*oÛˆ XðÈJå¼À¯k†ŽeÎö{;Va×]¢Ôë幋^çÇÇ EÃŽ³x}êHTÇÀxfêiL,„yE´ôË_V¥¬ÒVùZäz]Òe7ÂX‹ ´B·=7^D‰“£äëÞça˜wô•±@öy¤þ‡= ¶º†×.®k¸1æ9öãž…áFi?ÇŠVàþqÝ ä\ ¤kZŸ†¾ç."퇣|¯p ÷EãàFçáçŒDQÁiù≴¯ñô+ ¿hØqŠ ÞÏ2¼~À‚¼øéBñA4V­èªš‘HC3v2n„ÿíⶆ§±#Q=g("‰ú‘#F ö«“^/”]^«b€êUÐd7b{e¬H¤0Vûë«ä­þ®5Þ®‘HÐâþâ5úÿè„¶ »ÌÞ+½Ð=ÐÍö¬ŒGâ‰óЮlíºݹ®¹]«»}¬ËrÝè•?ˆD¡vMë.AE±ú³3^: ›ýBÚÔÔtËÒ Ë«^"â²?^«Â ¯»Dý-ôù†íqk”<ö®—…"ëLDDDró#6©/úÊhži""^w‰˜ú|†¾ ){öE<´ŒÅ`6>¹¹K°2ž6TేóYˆ0ÕÜÜŒádzaZ¿P8¿ÍÍÍÐo~+—âÌ™3ˆˆˆÀ Aƒ R¹~iŠ E‚ xÌmmmAm—|{×3мÁKÝ0lØ0¡<©/cÈ&""ŸÅÿ{„>¾©.UKK ‹Ð† Â"uAù,œë ç÷²·Qð~WeÏ|îSo©Ê äVuµr…t”˜º³¬ ¹rw¨}JW®d*AºÏ}Àe{íëé>ƒR]·øÙwm³Ù8õÁÄ?fD } }áú¬V+:;;±iÓ&tvvÂjµ/óùÈu}úL%éXŸV‡º´õ®,h¦B_'B¥©fö.¤ ¹¨€ä|Ôˆ5ÈOîIÐ dû@C™âAÙ§¿¬AmŠçäc[­ViO¾šü=^—9§=È×d`³©;Ëö _£F1åï±vqœÞœÜÛãëùXa5mF†¿å]LücF®/ܸ¼†6• ¤Š¥ úïIU®GgEU®[íƒö½»}Y?© ééþ:^z¿=>¿¦g&pù}q¯­ü\.áûk£Õj…ÅbÁO<çž{ãÆÃÞ½{Q]]´ðç7ôõIê3•`Qe6¶å'#9²+yØ^_SÉz”#e]Hžì©åØá~R½üûê5s†S÷Š}Ð-*©Ë^À@‰]Ÿ§ç>?€U¹”?¸>K¾åS³1;¹«çÓõ±» éî=R&ÃLlJÙý)›0Ó`òÓ{%½{T´vg™7býþ38sæ Μyâü™0˜.Wœ{{‘|´'!»ÏìFNBÏŽEÁc±XÑÖÞšSíS˜’ò9 Ú:Pr»bþ˜eÈ•ï\¢èõ_òwy/°iŠsþ’7ûsÜ!øv†j]Ú;aµÚÐÖÞÜó{»ÅŸÍrÖëßa–õ Gí½×úïX"LÅ’%SåšJ7ÕúÛÆ+Dt*ÎÇ”'¿p]ÖÑ»çÌý¤6Ìýχñ)Êc~MSÖ!åŸoà·´Ñ_½6=ù;Ç2çsÒù“ˆ¡²ï×ñûâVÛö(i«u=ç=¨aW pß}÷aÖ¬Y˜>}:f̘¼ œ\'÷ôyþ/è¯^RtØ·O‡A€ ¤@·ot)rp1}‰Ï§ê±*ÓÞ µ9ŽäâgY—As*÷å`N¦ÛüÌ2ˆe™0•¤Cü½Z›ŠìÙɾ{Ô¶å#Ù.÷¡¶îRBñ—øж&çcMŽrŸS¡·!srð9¾ìâÕTr~ ĹþžOÇö]‰ÙlvNŸê±ôU-ŠæÇ"v~´¯.…þSûòX‡;¥ÇŸêŸÀó° µ¹«eÊé:pknŠC\\âV\ÀcuÅüX÷õvbEœV>¶´ï¸;¥e;W .nvzm“q.Ûiíß¹Zý§^Úãlç§ú'ðü-&Ç:÷íÜÆ³Möãš?ÕCë¶ÌýX‹…i-X½ò«ñPäîŸËµ?[â|²y¥&¢i7^ý0¹¸-­í(ÕŠMOcúÂ?+?‹9Ë«Bº.6›-Èç7 ËŸÝ„= “hBiÑçØ¸òNÿµEˆ‘ºò]´´n†V~È6bÒýx§µ-­íxø‹4,K±LìÝsÖeý BïDéç×aÃmOÃ$ŠØ³< _<ü.–'ÖF¿Ï}æf´´¶£¥u'Òþí>ç² œß;QÚÚŽw–'Ií‹äY[Lj˜ŒÔ¤ž×еZˆˆDDD 22Òñ¯}R«ÕAÈ|ÞsúÏ)¸=ã³ð¹¾Î£0uúÏ1+·JºÕ¸¦V„ÒK¾t½ ék™‡}Ð¥(Þφ|ÔˆeÈôÖU/HÑía'sräíìÒ­-N—•‚Ú5"Êäý”íïlGîeÚô}Œä|ÔÔ¥a½âýx_®²ï³—áØÎ[{±fF!*ÄŒ”¤¤Ì@á¡C(œ±{­VXpd£øÍ4iýÑ ó0€ØÕ2—ÉðèžÃ8|ø0ö$nFöÖiYÃVd§ÈDzŽAâûöò6¿™&­7ívÌÇ44Ð&ŒCÂhùØÓÖ⥅£½´ÇÙÎÑ _Âá—b´â¸™·Œö\·¡G0·ËǵŽ^ˆ¼ù‡`jð¶oïöÂ=¢Ð }‰÷ãí"æDÆý{óM¥øóâže²á:|ÖÒ†‹ÿ· “íÏ7ñ~¼ÝÒ†·—'ÂTz+n/5ALLA€Éÿ‰‹-mÒTzgè†>°ÙÄàŸßÄûQ>ïü$: ¯Íû‹pD?µÝÎýnó¼¶Ûä8Ÿþò[üLë¶}/ž3ÿõS¶á~¼ýðøIô`lHý§ô"6ö¤^Á:¿{Jñg{ˆLÌļÉ@í—&/Çz ÷G§á°=Èö´†—‘¯\'ˆ¢(¾÷ÅY Ú;m݆mã“[ø=}ÐÆ'·àg³¦>X›†g’Þ‹ ¯uYçë`fýRÔ®½ø`-Òr+y)Eo!é­±ðZø_æðÖ¦=ã2ÿë`æ[3ñÖ‹·â½3QtÀ„ld£IE/báµîÛ¸=öwܯ_À‚™E8d?|v™ô<ü´Ç÷2·Ç.ûž€G|­'KHHÀŸ üÊ?†m݆üþ¡åèìdÏi¸‰<'NžÂÕW_Åó†õ …ókoã¶_ Ê÷ôÅÅÅu{¶Á‘*ùl$…¾÷½„¾6†>êFèËÔÞ6ÏçÃ?ý –™ ðæó÷àÚ~Ö¶ÄÄDl~fC_B_ÁƒË ÂPtÔ`?q’¡/Lë ç×ÞÆçÿú* V.Å›o¾‰É“'#66Ö±Žý®M[[l6@¥og°Z­èèè€ÙÜ„úú:Ü|óÍ= }Q^BßÚÉ_Î,üI§KÌš_nSV’zÞ¬Vô·gÅÛ»Á­%?†ç¢ãëx~ï~¡p~ím´;sæ bbbm¶*>œØÔÔ ‹Å«Í «ÅŠ‹--hokLjÃñíéo{Ü_¹N}Á{²MMMü­`ØëÔ·ášõöÔ“! êM,\ãù ïú…âù•BŸè|V« «‹}²B´¹}X«Ç¡¾CŸŠ}D4À¤¥¥±DÔk^}ÃxÙŽ­òú0õQxyûóSxýÐ û–=Ï¡$áê˜;!wŒ¿†Å "ê!_¹.è·w‰úƒ¨¡¼pÿu¸¡(ûD@îõ"ÿ탯/»ô÷¾øñqþ]Jèó‘ëT ‰(\ä^/òß>ø—ìL(ÉMWŒjcBIº!7×Ëè<&”¤{Ø­¾®«GµñQ‹ª\çÈ?¦’téÒˆGÊù¨ÊuÌ7™\6h”¢ÞŒš»Œäñ8T~ü݆:ëj~lkð•ë¤Ð§òœˆük€A«oVk@Cnnð?9ò”¤ºÏËžJ’VýiðÚ¾wõT°ÂùÉ{¬Èþ'ãò<e;ìm³?å2_ó½Ö….1Ôc\ÙŒwÌKF~±lŽ—õ“‘¿-•ö!» %¹ŽïïrQ‡×ëØ+– ¡"°}:•Ú\öåxªrCly$_µ¨ÂŽò¬‘OÎß=t(®2çä`Ÿ®U¨Bî¬r䬑FJNvŽdúòs g2/Ë9¯B®0 åpýâ}ïuj•››.×Ô^;û>€òYÒKJ܇ڇÊ1Ëë8¼¾æ÷Ƕ†xèó‘ëä9‰È_ØÓ‘W­Ь:‰ý´Å?Í^‹n(—§íÀ¨WÌ+pðSoy]¹Ô¥uJ·7ôõûuë÷½„ÑwÏgì]RÀ[‘}Ežÿ 0ý)Üù¬ ]Bà[l+ë^øHžlTbW pf—ÉŸìÛñ:yürS ÒÛäOüÕäs n)µX£-`ηÞ#_ûLÑaŸòcn•<´%0UaÉÛ¨=™se–¯ði&Ê”£åî0i)&”¬/GÎî2d"e»sP>˳g&yÜx |Çeê±ÉD™¸9˜ }Q.Š¿:¤­ªè2Z”ë>jòóÝ'‡Î¯Ar>j?okP›"‡)_óûc[À¯\'ßÞõœˆ¼g¾=xEx  ž-#t- Œ:htFßË!­£54Hë±çðö±ž=[?UöÒåHáíÁràMe¨ë\ÏÝ¢»€ÜFϰ÷”¢Ç±ÀkŠžµ§r\{]z “¼÷.>å¥7Ï—£ç€ûntîïcc¤PŠ;äçyðœîüÕ¥¯/Dá!ù55èößgÓ.T"³{úw=yÆï“zŤœ·åÊe(ÇŽ*g\_îeò1o7CŸdB-Ò0;ѹNuHëÓÞzg˜Û6  Q D¥Š€uô ´±ëým{(‘‚ÒZ{XŒ~à9û±çŽ·ÇHÿíÒyÝwíšW/Å»€çä}=øsT>œ¾ðN½¢PtW¼í¿.½ÅþÝSö¡‡ÂW&ÊÄÌæ™P²¨ÙÛjìwîÛº/Ù©b>¼.“‚º½Oï­5rØul—\Ç.’óQãlHµP†gùŽ}ûj¿rwŠãö‡óé«]Õ<3À…ÈoA™±óûc[C7ôñÓ»œÔ‡¼j³î4àcûìIE8X‡ÄÄ;1wÒ#ÈÒT“c1ä÷‰uÐdUÈ+/Æì ÈCõA´ ²ìûY¼æÙ» )N•ö„?X.÷èÅ([£4oQŒs½µÊž¾$à–£Àƒþv\ÜP/Ý&ý °`;0ï©wo­">è-D5z®‹£RÏáÞsÀÚ`í9éîQ·M•í¾å.`Ñ9騹9Rï|}˜'w÷¼évœ÷ß–Ûä£.}#‹(N Ë@DAÕÅ—33õQw³_ªÍy>C¡Ç’D=Ìf}€ûÉzOŸK/˜Ÿy€âÖÂ÷ûô,w}ü¦Qa««í|­ë«]]-ÐÇqýµ©«cQèñ•ëTöDè>…‹²O„nýû³ n0v»þ/õ¾r Š¢øÅ‰ |s¶7% hç'Î]DÚGaã“[8.(õ ß]°¢þ"늒†WSw/Ø»½[ûÕIÄÇ õy­Z·¡=œÏbQ¯Y·¡+—bëÖ­¸÷Þ{!Š"¬V¬V«cì]sS,αw;::ÐÞÞŽ#†cßG"ë®,ÄÅÅù¼¦y³ÿXÆŒŒö˜Ÿ÷È÷ôQxºr˜WcˆˆhàébDiâí]"¢K`*QŒÄ¡˜ísôˆÀGäp™¢ožLÐFÏðU—ðÁ9ºúàˆ}K™ë”_ÙâürfP)&""êæí”JdëÇK#3(þ`û="€9vIá)¥ÌíKz»iÃ9ê|Œ®ÑW£gø®Kø>ŽÈÑÕ#rôRýUÒAst{×ñDáá|sG•#G°!仳M8ßÜ‚¸˜!¡û$f—AÌ/ƒ½§,®#W$èv ª,S ~ɳ‘EØeÊ÷þÅÎãÒ0u_¥ërÅH™Š§X„IìËï6ãõ= ŽpW\±³Ýcb2ÒL*:³ÍúŒ ÷ôy1`ßdÝ¿ÂÃQߊ` b9Ïmf†æ g0¬v¬½Y™Öýmcv šÕf/Û»¯ç­-A‘‰2Qññ±Ì28º|dßm=—Çþ–õìé#"""bè# ]ßmbxΈˆHÆÛ»–®.}ÇdSCD(Ѓˆ¨cOC1ôQHà{ú(d ©TcÕ‘‰ptø5 -NÅAýle „NÙëgÔyE—uÜz:h4:íÿ­5€ˆDDD }ÔÇ2ô‘Z¬…Áh€v)ðLu•+4˜P‹4$':6@u^¢íaIH¤ÜhŠÈןŨ…©AÚÖì¾"""b裾ˆ¼êg€â#Xå-%æ¡ú`*Š5hì“Î$Þ‰¹“*¥Ñ@£}G9{úˆˆˆ‚Ž_ÙB~d@oÎp ~zßËóPmÎóØK^µy]î[ñ8Q—EDDDtÉØÓGDDD4°§BVtTŽgf!Ͱ(ˆˆ¡šÈH"Y†F` ˆˆzˆ·w‰ˆˆˆúˆˆˆˆˆ¡ˆˆˆˆúˆˆˆˆ¨à9(doîÀàèA¸räcøîlÎ7· .f‹ADÔì飯ÀÇsMDD }DDDDÄЧÐ`€V£ƒQñØ`#t- A6ûôµ÷ùFèìcàöšÞ¨1ôõ†Äd¤¡Åöä’˜‡¼ #tš,Tàc<2ÑœŒ: 4yr„)9øtŽeZe j0@ë˜orL~ö§Ói¡±‡Q?ûð-zóAÕfÁ±kÅ~¤}7À ÕÀ%uÐh hp tžmõV#·èr<åqüÔÌq|"""bè ª èÍfTç%:BŠÎ˜½y;cŠšaÖgHkÎ^ìܬ¢Øµ‡ëN=Ìf3ÌæíH{d©´¬ÁíRà³f³ÕyÉ®Gö³¿Ôªa6ë‘ÑÅ>º6 ©Ir[&>‚D–®yÕÛ,{O§ºâT¬ÎC¢{•<Úê½F.aw⬒Ûm6›1{—[ÀôV³ =Ì^ŽODDD }—Æhp†­Ä;1wPkòÒÏdÔASœŠƒf3Ì‹0)}'&#íãGð´ÑžƒŠQÑÝýùÛ‡ÿ'f"ެªF^¢¼“Š:B˜Ô2 ?˜Šb­:í.Ìö¸zúÜQ]Š^ÆâŠÅ˜ÑU³ÙÓGDDl‚(Š¢ñ³3CZŠ"pS €vrâÜE¤ýp6>¹¹K°ªÔ'Î7w`Ìè8b1}uÊëW¶”=û" Zæx\ûÕIÄÇ õy­Z·¡=œÏ‚Q¯Y·¡+—bëÖ­¸÷Þ{!Š"¬V¬V+l6¬VÌMM°tZ`±X`±XÑÑÑöövŒ1û>úYwe!..Îç5Í›ýÇ:¤Hç–ë -Qìé#"""ú(¤}w¶‰Eà¹&"¢pD YW —Þ~ÐÔÄ00 ŽGã "ºìé#"""bè#""""†>""""bè#""""†>""""bè#""""†>""""bè#""""†>""""†>""""bè#""""†>""""bè#""""†>""""bè#""""†>""""bè#""" "‚½Ã#F°ªDDDDýLP{ú ZÆŠQŸãµ‡ˆ¨kAíékjjbE‰è²âÝ""ïøž>""""†>""""bè#""""†>""""ê"X¢Ë«¢¢§NB{{;‹¡0xð`\sÍ5X¼x1‹ADÄÐGÚ ±jÕ*h4´µµ± QQQ0›Í(,,ÄêÕ«Y""†>¢ÐÕÙÙ‰˜˜´´´°nZ[[ƒÎÎNƒˆˆ¡(<Øl6ˆˆz?ÈAt™‰¢›ÍÖ7Sýhµ:è´Zl©÷·n5t1¾Öñ·,¸“(Šü!"bè# }úL0äíÀ/þ¼ ›þü ìÈ3À¤\n2`æÈ‘9r$fê ­,ëʼnˆˆ‚‡·w‰.3‹Å³ÙÜëÇ9V±¯j‹Qk†óQ¤ÍÆM+®Fݺ[cÈ^×Õ!ð[cAk³æOý,ëåf:”? DDAž>¢ËLEX­ÖÞö®ÁŒÝ™Ø°p´cÞè…ðè‘%X³× ëèŒ;TˆÿÜ+-kغ/­],ë剷w‰ˆ‚‡=}Dý@¯ßÊœöGÔN`³Áy¤1¸çÅZ6ØlÓðÇZûcîyµ÷ €e¢‰ÆÆFŒ5 ß|ó ¢0fÌ466"22’Å ¢°x«ü¶Q´Áæò8+l¢ 6±÷n¡0ô]F«W¯Æ–-[pîÜ9~ ±—@ÃÑ8ˆ(¤ÅÄÄàܹs>|¸üV‚ @¥RaР¨Õ*  ÑfƒÍ&…‹/B3BÃÐGn–-[Æ"…©ôôt¨ÕjX,¨T*¨ÕjDz‘#c!ŠRT?úQjЇçä§w‰ˆˆˆ†>""""†>"""" |OQ±X,())AGG@¥RaÈ!ˆ‹‹ÃÈ‘#1}út 4ˆ¡ˆˆˆ(”EDD@§ÓAEüýïǨQ£‹±cÇz|Ѓ¡ˆˆˆ(Ä‚žJ¥‚J%½«Îþïœ9s`³Ù<ž Ÿèeè#"""êç"##AÏ}¾·¯léµðÉSADDDÔ‹a+ÂwÜê«ÀÇÐGDRÁÊ¥hooïñö‹ÅïEœˆ¨`åR´µµaøðá=_=ØèàU‹ˆœ³gÏ^ò«mQñî»ïâÖ[o…F£(Š,,Qˆ;wî>øàÜvÛm^—{»NØß«§V«¡V«[ZZzíS¸ }DDŠŠŠò{1·€®|ãµ·Ðwþüyh41ÒÀé6ƒQˆ²ÙDX,V 2õ&fΜé3ô¹_ìºPNýC‘[Ø+..ÆücÌš5Ëgès†?:-VجVy0u" ¹ß}Q„ÕjEd„: ëĦM›põÕWãž{îJ¥ ™·{0ôÁù…©?~""_Ȭ\¹6› o¿ý6¢££þcÑÑщöötvv²D!Èj³Áj±`ð È€ÖOHH@RRRSSÙÓGDŠìïÑÉÈÈp¼g§+ .\¸ˆÖÖ6ˆ"oï…"›Mº½;dht@׉_þò—.ïé ™·<ÕD4Ã?öOáù#~ðƒàÛS§0hP¢¢3ô…¸ ÍðCy8´@¯¡ò!DQŸÜÚ)ŠÀM ÝŸ6lŽ|sñ1CùCD—Õ‰s‘:æ*\¸pÁçµ*nh$ ED½.ïóówMófÿ±)Ò¹åºBKTpzú.\¸€ø˜¡1bÏ0]þWë>.޼VQ8]Óº+¨·w›ššxfˆ¨ß㵊ˆ"K@DDDÄÐGDDDD }DDDDÄÐGDDDD }DDDDÄÐGDDDD }DDDDÄÐGDDDD }DDDDIK@DD¸ŠŠ œ:u íííòù<×\s /^Ì:‡XúˆˆˆTXXˆU«VA£Ñ ­­m@Ö ** f³………X½z5ëBufè#"" Pgg'bbbÐÒÒ2`kÐÚÚŠ˜˜tvv²Î!Vg†>""¢n²Ùl,ërøA""¢nE6›­÷§jbb´ØRoŸW-Úh·ÔË«¡S,¯Ö)—õî$Šbÿ¯sýhcb «v·¥ÚÖ7çÏíüô‡:3ôuS¯“3ç‹xùÌnä$Øç' g÷~übG &l6"ñ­•9Ó€n:ƒÝ9 }hú}M̼á:s›nWÌOÈAŽüظr$FŽ”§•Fy#VŽœ ƒa¥cÙLƒI±o 3Û­4*Žgß×È•0ÚçÇÚêÌÛ»DDDÝ`±X`6›{÷ Í­° Ìf¸©­ Ðl†Ù|° õê1˜pàU¼ñé|,Nè› :´×Ùgýœ®¿ånàù—¥Ï?ý½×cq‚\ÓÉ¡®î1ïá±”¥ÐO®ÄbT {F=–×աα3ÌŸV {F!9æ=»WÜ‚ºuöÕlFOŸF°ëÌž>""¢nEV«µw§Ñ ñR¹ˆ%)k°×1/Ö¤ÌÀîÌ X8Ú «Õ&õ$Yˆ—¿„[ÞÉFJöV4ôvÛ¬Ö>»½{éõKÁš½Šù [±u¯Ö½k²9{Æá=bѪ¨©c_ŠÇ£oAæ„—±ykƒÛ±0À„G÷àðáÃÒ´vš—}]þ: ¢(ŠÆÏ΂{±›ñ·›ˆˆH¶víZâØ±cº X½z5Ö®]Ë:÷³:ï?Ö!E:·\Wh‰âí]""¢îE‹eÀ×€u½:3ô(225j¾ùæ›Yƒ1cÆ ±±‘‘‘¬sˆÕ™·w‰ˆˆºaË–-8wî\¯~9q¾111X¶lëÜëìïö.CQ˜ðúøé]"""¢€¡ˆˆˆˆ¡ˆˆˆˆúˆˆˆˆ($D€èø?Wûu°BDDDD!Ä[®;-œgOÑ@ÀÐGDDD4DüèO° DDDDaîÿü ˜ç¨›b#IEND®B`‚Amelia/vignettes/assets/import.png0000644000176200001440000005356014335240021016777 0ustar liggesusers‰PNG  IHDR£õP=k pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFL›IDATxÚÔVMHTQ=÷9£còf.Hä"Fr*\.L "¯n2ªE‹ÒÜ]Ú´qC1¶¹ÙÊeM$ÒÑ<\Hd`¤Ùâ‘ ûARŸ<ËlñfžOgFFs˜×]}ï»ï~œ{Îù>.x1/¯¬ÔÕø*”Ÿoªðtlî[¬ãY?4L´ ¾ûíÐÀ©ŽîÇí/qµípÑð‘W“ß]ÍŸ¢(žÙ|¦qüƒ X]cï=”è o™ÿ£þÕú^û•œ€Î©÷__‹Œ ª3ó¦óLo°ùÆíäàúN«¸|e&rßÊ\ ªa4ôÍ샾¯§OV»·E…dßr3æ”Z®¦¹Éî-=Ð dýM_U¯i9‰ åë™Éááa%À‡ó¢FhÉçºÉçßõfݺ×wûlÈ›ëà‰ÁãÙqê?n¾©Ü3ÿ#—V 'n,S<%ʶìPÚñÑüjqÊR–‚SÆ„´!SVaBrJ% ‰”a²Å¶µ’É$y?kÔVº´9LÓTÊ<[üÇÒ­ Á¨`Ô¾×$(¥Nþ˜2ÍŸ}J f1G)ÀÓGœuvš/Ÿ¿˜UIwòGQ<%ý«ñŒ+jùøÏkŽ Ö§4OÎìµþ;A⟂.Ïk?×7?2ðÙ2 Æ´ÝÔr¶Ž]„rÍRy[cí‚nÖ—²oúrʤ`Œ¦–5Ÿí^‚§‡‘f%9¥»ÿ7ç7¥Ô0ŒÝVi¼3­”VŸïPx ¾=€à«:VâóðýìXRÈÐt=>‰°™VçZC=!Ó»Q#ž«Äh'üþ‚Iüïþ#„ø ÐÕó9S_‰éz5&8½¡GÄ{f)½°³/—––‰„{õ]^^VUµ°ü-,,ì¹D8öz½…ÅWWWg›½)ÚÀkÇ€"hKß@ `ã+:&çú ÿÿä™MhÔ@Ç_wEl¼Œ!,¨%½­d]V¡–ÂN^ö àm]-9”„âÇÁ“·Òe…ÂlOzÔÃb 5Þ D¤àe ‹HÀ‚!Môýrc’ýhŠC.&™Þ›÷fÞ/3Iæk‰†k²¶Er/¬î­]_¨V/æž||WÝ|xíêíCsk’±Ú±T*uê׋g_ož…sçç^ß–êæà8I¾êf˜ÎuqiC¿€Ç³¡Ÿ=™> —³†iýØZ Ó"ËEô$Q0LË0- µ¢TÛ•Ä"‹~§$ Rm×0­š;ò'؆i“˹啦©ªZ.—§y`~¡µ~ÆÑàý÷ íîÒó¹âJ÷sÈgJDŽ; ¢ÀÓf3@Ù]yÿ/Ñúê÷oÎ$¢©ªÚo¹ú Ôç½›yX;ö])c^yËÂnaË©‡—Ã+¢c‚»¸F˜÷’äâå~Ë9`‹Óùê¥AA¥(ÂÔˆ>PãÔ3$CøA. •Žåº¾¸?¹ ¢±5ֽǗçde`—Ç;…##(Ä›;_‘Ç(nØ$~Oã`:ží‡1uCÓ¨¾pS §~*q×LjÄ92µ€ˆÕ(£Aã¹°‘Q‡ §Ýü>ªå‡ÒØŽR-2TU툋GÇZ­Öæç+§ñÐX:žÍ\˜:A˜Þ‚O ­A1R´N±¬hŒòR€GÞ®L¬Àý$\©TþG(ÖãVŠ145EŒiv]Ù¿²P`NÓu}âÍÕ¡iŠ#‡o¹v»mÛv¼çóù¼(Š—Éd|Ы3 Û¿÷’°æÿÿì[Oh\Eÿ½e­¥dÓ 9]Ù z’bZ°v-ÂŽHÒÃ;DYˆ ©{‘©C¤Ð-”æPÓÓˆ j.=´¡µÜA[©¥aÑBíË”´MiÉ®H6mRãafg_—ìfßn^²Å÷Þο÷½ßÌ|ßïûÆúòÊo¤1ÔmÛºÀ­k]GÀ±cØyÀpyoíp·üx~>‚½ÇŰÎߘUO_ÙàÂÔl Ç?€K_˜››«¨ûzb"PÐÚº ÿýW[$·÷åþÃfÞ}á*~ÌâµáHD ¯éØ|þô RQÈÄé™ÝöÐh:¸v >«ôt_Ç0N ¦SQ3NæOÏ ÿæô*-1: Å]àE™øHfºluìŠwÝCßgSQ‘‰¿}ÝÓÙÒÝ“9'úR¼¢®­-€«ÖYaYXYÁ«{v­Vûxf099ÙÓÓã_0ÒG*dYÕê(a‚•K÷4Õ.@rN)—ÚË7„I$Éâââªå7nÿðÈ73Û=öË|ä±åʽ6¯Ó¸µ¼­ïü£¯¿W/põ÷—ÿm†`oF|Ípõu­…CV ç~j'p¶gJ%.zq*©Û4 Õz1B¹à’S”Eë0BUÅi¹„ P.Mã—%™Ð (—„@€0AQR®)2 VÎÖU ªjÕ¾?V,­ŸnÏ–jàîä>ùâÙÃ#tMŠ Ü‹ÅðóáÐïPÀwï¨=.Y³×ûç±»pÑë¥gÉMt€KÅù¤ÄÞÞÞЖç¬jï ¸v¢qîÎåÊÁtB61mÜ'” f2¾½‰"ì]ÃRF¨ Š˜udþ‹r’&ëR!Buj©EgÒ§ !€d¥œOk8ª ½½ÝúãÏîÜ_hå+­yVضZ~R%±Irêʶ%LHN•ÕÂ%(%&,µí¢#ŒPÓ‘‘rQ÷>ep§W¢Ný}*ô¡’…õš úr‚úiÔuFB“…⢕ýõþÊ ÜyÅ]"‘­‰÷×6û‘R-­Ê¥ž‰ ”Wl‘ðË^vUÜ)´ç7›o_÷C|}q§cnƘqZ(x³ïZçsvvv†{_×ìΜ6ÇÒ1Òa»Ï¡”ÁÁƒà|d(Í3BÇòƒißM;—ðæ·ô#|>˜Ž%Ë[M’2Ž=¹|6a§c¢ÎëšÖ¬áûÇ1–OJŽX—Û5![J.ö;çÑDžÉ³xVŒìÍ?gÕ<ü»Ðâ#UËña¤”}£SÕJþ¹ö·K6”ðÕ’jYi ÜÙ¶íßE ÍÁ] µ%Ü “ðõÕ&àN¨Ëþ¢ì«Êi¸ Ê¥ò^åÿw-±ß% ÿ.Æmî*¼‹@š?+.;§ö²¬}Ö¡SŽ*qÅUânii)ÐHýòÿÿì]lWÿœ}vFÚâ—‘¡!]ã¡tV…PÖz°LšHåKC[µ›â®"›–Ñi­)BÃè$fDPë [BRY[£v­ú+wkÖ…m XQ©í­"¥}QAÅIóÇóÙçØNìÔŽ/ô¾òñ»ï½»||ïûý¾wßÏ÷ /SfèE­& sÅΚÆî©¡û_ný“‰Hcö•ó1›¹?t!`÷ŸÛûbN‚¢>•ñ§oã™Mè ÚlÙ©ÅÞ½Xá<ßÿý¬Ê_ÖùøwŸ>üžÍ†ÎÖÇšW¬ûÞ/ðÆ ½\þ–Þ¦Ï>ïÓLú,;ƒ—‹4ô˜µX,«W4>Ñ5=qªë‰®ŽŽÏ™Í„¯w³ÿÛ{ܸ†_õ6žõÿö A®^O§ÅݽCùû> ÀºÆ¶“Wv6¶õ^ÌïQ_Ç@Ó/,+LýUŒP–t:vã溺‹¤îm”WFmþRÀµ±$€®Ð»ÑÝ\;¹Ç¹© «®%q\&ñ~ßï“O¾û}¾q—WŽÆ¯_;‰Ë±=mÇš€íÇ“Îexr)p¾ˆ&°ÇÙ Œ\ª5ƒ Îjæ’Ä[w7ÖGãGpþôÍeûßÃÇ 5ŸµX,uvÛγ£uvÑ áÜú¥uv›U€Ý&ÚmbØ£Úm¢kÓ Ü.gƒÝ&ºÚ¾e0ÐÖ`…7m¢]û„_íÉ(´wX Ķ4l¹O´ÛÄ"š®]gÚ»F,p7¿<hk°Š¢k×ë5 ܱ+7ì¶×–U×8ìºNjû~÷¿½ó«?óð4PüxÿW¿¾Ë4j3ùYƒ—í5ôTñTíy’ÑÑÑ‹]¡Öü¤må=í®%³«…ÔÊ“‘‘‘‚í¯_ù÷ãgëŽ8&,u¥÷–ê¢cKÖì<øÌÎ}åÞɧß{q²¾¬çnÆ/!ËRöDBîÍQu Å¿‰þù/_nÁ]o>—LN–~Ö‡?xÇÍCÖ_üÀ÷ö¯r¯øÃÏÊFw¬TØÞûÃ?¸§$^H•’£Ž?¾aÆüöç¾qé7oØø¹£TËâp8¼Ïî^³í;?ÿæçO„RÖ\™ºðiÚ8úB©u„Á?^mù¨¸úpmÞT,P~EzÌZ˜27]˜µïYô8Ѽ @–•²O£¡ô܉oºÈa«”.Å-iRœ¡§ðæ,¿DKWçÊ™Ò@<=_ÍðZ¨J©D¡é~¨Dˆœ€,¨4“ðÎs¤¹ùæ<ª>ClPt[\‡GÏx¬VþÞÐ.‹ «;ú'®,› v+‹ó] 3†áÁf*ÀcA`Œñ…1ny¹²7à.ž1F[ü@a *u‡z›·+Æ‚, ¨Œ]aÀ§0ÕŒ0 Ù=ˆ -þÖW©;Ô;½J—ÞÞ½uéúò»Ú»ªs*âßD«E0¦Í6,pY_Q‹W,6&¹û:ñÖØ2H”r²þ ™ wY…–òUÂÏΖÀƒ\"üɃJµ²ò7/I“ô-Cšš B¥P)%D"’–L”íÉ¿-]mš)O+jä¨Ì=QBB¹=T»ÂAʰF LÀ7íÅš|J†… €H2‘NÃÝÝÀ±®3,'šÒ:T%Ò©¹Y€Â£°àE!T} Û”4BÍqvZh¯V›•äV\P•Jr‰"­O$^é!û‹4ù¤¿ÞÀ‘\«OrÊç’êý–©©ÔÔÔT%¶KѦ+(FŽOœ8¹aãÆJä¹W8ƒÇÆ““ã¶a2¥ _Ql¼Lû{†uöy (²•Ä¡£Ðª®˜ÃÊ_g¯B_!K¹¾Âä¥P¸ÓbŠP•ÏÀ$B5ÿ;”…¾Âß|_aFôÑ£Gׯ_/YA«ýýåû ã—,YÒØØX˜·=obÎóD4Þÿ âÐ w4ðü- c„t‡Y€G–¤vEÙ&'´X”J¡Ð0caB¼7|J˜/‹h܇SüãVˆP!o¥a#Æ(E×ÜÕ˜,‘vEˆ¢#‰óUu~¢OaX$@[üQ/mÞ®ðZBL[‚DX„±[¯ËSÔWäÛi9_œÂ¬¡¯(ÇS{ª;4ø:ʬó­l^€'˜Óû–fxÛº¨Â8ó Oµ×o¼†•ýˆQ>ù¥C‹/,/aý€ÃÞpOícqчª·=Bm禔=Ÿ%|äRD’µx „PBˆ,¾ U!ËôöÄ®°½“86PÚò–˜r Râ¢ûÑHÀ¬»æÎì³þ°›×PxÁbgÚ;;»¹PC¹qãFõ¶"ªÁs§[^W³5­üP¦Jnz©¶ê¯evJ˜ç„z ZYc_¨šIT ò@Åê½-¡;Wû…¯_/DìL_1gYöñx|ñâÅó §z›¯Í‡ŸµÙlË—/7ëAU.¾‹õmZ[¡/†VA°Uhmí‹õµšig³a·õ´Xq:`(•οí=²é’ Ü,±±ë!œêÈ6t ¥˜¨qɉQÌ:deÉÿØ»þØ&®;þyþA¨ ÉŒíu„:PV4U›'e”ÁZ|4¡DUJY‡æý`Uƒ[Q4¹ËJY ufR¹¶Õ##ø¤Ò€ÆÇ`%0hDÍVU@J8—¤Œr)ÒÆûãÏwvHlc'~¬{wÏïÝ}ïsï¾ßï}ïûÈîCïq)pŒõpg·Ù¸8Æžv¦ÌÏg.²ÑM°ïX—Gö²-—ô³O”oÞŒW€è¦8óœÐ+ôê-;µ%Ð(¹÷,¬ î À=ì°Œ³Ñí6óIenç…B¡°dÆé¦‚f\Ñ·–»€iXÎØV~O‚þ‰j×ÞxùŠù&èø/» ²¨M*@”“Û•\Çð›Ø2Ë…/)ì£dŠÄl)A›ýDŽwÍæ?1Xf±¢Ö©æ:PH"ËKŽl¬?$ýÁFÙÔ~R1èv9õÁÇþwû³o•MÊì!û꼸»°²ã˜g9ŸS<ªÛBnݺµjÕ*mŠ”ûÁåÜý`/üå\L´ã*6G®±|ùr«…¤>à¥õ– µd®wk5u=é¾ÕöTÞ”dɤH8÷{iâ¦í#ww‰¤„\¨ÿ9…Åf!¶ôŸ³,A®SK‚¤º2¸<VY1dÍÐɲöÄw ’®ÒÊ#uï&¡˜"2J»9¼I! #š{Âæ^‰g+2{”(zIƇ©²`ž6%^Lè4ñÆäü•›"×og×]¬*i]f*Hjȃ¼G*z}þ$èÏ“bÊ”)‚ ”””Ør4“VfâžœKQ¯ç„ɤàó·qŒ?¸38éΠ…BHê&ÕÕJ©Ì™4mE‘H‚ R‘ù$YQ ‹¢ k* Õu}ŠPRA’̶XŠéXM1Ö#Xè€(Ǻ6÷"°YÌ–&­éU²D)U$-Í$›GÚèÈeiÌ©ËN„UãÙ(™¿×T4ÊS¤Âp{e&¨¸†ÅÛønhÈ¢\ýT¹úiŠ›VEÑéUUÕ—±pÖQ4…üê2JºVç\­`îú«tÎ6>†æy×ò¼ Ú„Ö-¾«^5ÔôÇz„$8UUõ»´®z …TA¥r¿#®˜gÚ+÷¨j°}iHUƒ’ 3¤ªðþ޼öɱ3Š Dîy’@ýjÐV!‹aU­ìH(jävzUU Ãíu¹QaœÎDEþ„䤈hTã ½w@4Šñ‹@Q(un-½êýA(šTÃ57“‚#Ù¤¸qãÆüùó§Nšßf;²¨}³ÉŒòÁ¤àHFiiéŒ3Š‹‹-iÞå&…„¹Ùœ¢)¯O(”ÒŒÑLZ1™LéÔÔ2}Å ºütíæ™¤~^æÒl‹Çl˜=ãi¯ç=nT8 SA‚, ’Y”‘RE‹é—EìÞc†E\pýL&a®õ`Ëè+ŒŒ¦ïÔµŽ™Ðn‡¤øƒnJ©['¢»SS^Ϫ²ŸãÑ.€Nð5yàZV³Ôײn@…“ÒyÁà:WK©³ÕãPa…ìíDà &‡'äDêŒÝ~NC/ñï$Rá ÞŽ^œpÖÃÈÈ“‚£PLŠ¡¡¡Å‹ótOc‡âââéÓ§—””ði=F÷•dXŸE ([!qcÖ”ÝD]%ÿƒP8íR¿®iµ;<.@pzíKý¡eãÆa©cŽS—Yt»±‚(Â’(•Ýô|ÑíRp“Ê’âbÞZJéHN`E’àɵ_7wCà˜»î₸ºbÉTî£eˆ¹´/S ‹ÚmÇ =Íó¢·#SQfîˆüÇx¸‹'6ç®IÑI)­ð…Ca¥Ôf^§»¢‚yÎù|±´²·8(û]®V'õjÐM) ª*µ4àVÕeüñvdßzèVpÐ)øÕzIqu9ÇbPÙ¿ÿ+oöX*%VnËç“¿ô…_õëdî@Z[[OM)~l‰ur gFnU:BB¸„B,Vb±riä£%Ël(iTý+ÉMÀÁ‘9íBªŠÔ…øÇë,¨S1|¶nò¾M׃"uw@’# €Þ…ú†ëvFÞ"G;Žì;P@¡¿Ûíæ$gÚñkÀÁ²…1ÚY”Êý‡"H%¾¬1½4±¦É?âûœ–¬.}«5ÝpŒÃ;»«6Ìæ"åȶ%kÄ‚;¬% н³;¶q-YàðZ’XìÞy˜ ›ã^£]ê8yr€÷ñ5Ìfc\Õ†ÙX ¨zÝ4m+VqasÜK·ÓQPºÇãÿì]tÕ½ÿÜ; I ®@ÅóÚ*ÙlHLµµkÜGáUÜ 4õ”ô=¾FñaÖ'0VóÞ‰U)V¾h\ÐÇüTžÒ¨ð,²#¢¼ÚHÓ§¯‡žÔ0ùQ )¹_1óþ˜ÝÙÙÍ&ÙÝd7r?gì¹?f¾ûÉýñÏ|/Y½éa”ްD„H1ç$*t©åœH5ç„_T Õc«ÖÏÝz]þòå°lÖmoúuëëï[ž]Ì¿Ö €,c¼ñAè,Õ¿ðøæ;ÿó·ýT÷ÂÌ›î|?,§>xýþkÿ÷)ç•÷· s  T"ÖÇ$ܯƒ„`?»µzó¢‡JŽH„Jlýxí‚™Î#oß´`¦“J„~±vÁLç§!•>Øúù´Öižúž…T"OÒÍãVÎ?&Ö{+âsÞ2¤^¯¼/[“|Æ2ØÏ~4û™¾{éÒ'·¿ùï”^²ð͎ƃ׽yóöƃҮù¿P]³ÃH”R"]uí-xç¿¶–nxèá¿Òƒ·ß:[¢Û)‘¾93_oÿô6}¤ï§h,Y½Püõ¢ù\†m>·|y¨‡3–,ÇÆ9Á³V) ª3€…í·gHk©D3$jý{)ðäGŸXõÎsæ‘ë§n|ó׿ÍøÎ‹§]²ñ£Ï°œ]_êƒOɽ×ßÏ$±vMó¹w>>dO·4~Ûìç–/‡«ä0ÀÐsnÓ +¤ÖW"|Â)æœx!jΙÿ]Ť͛7¯{mÝ€&Ožütm­0œÀ`9w®»GoßÿÏåw X@’¤{/ùA;Arî\Ïĉ“'}ëÛª¯*Ü\qßV<]õâ*Þ8ðãùß  ”þí‹#_ê¶Žü´n力\¼{®.¬ný¹5¸gQð=þÊI³j:Þø×èò¢ßï÷ž‹ç¿TôèÿmªÈ<^è§Î¸aÝKØMÙnV Î}uªûì×ôô9 @7~¸ã£7 ìÓçvœë–N‡¿ˆxæì×§¬d÷ƒOuÜ\»|þ×Ë>;–ïÂ…?Ç©ŽÎ@ê4¬RgN~:Þ/Ú—Ÿ¨ùÓg5Ø_·¡³âÇ6Ö¼ºÿúÛ. «?fô_gt’ö}ʺ—°›²Ý¬@$ BȘ1c²²³³²³3ðÇk¦å?³;û™i·degfd™_²ÿõ­/Ì „€ÚðÄC{(¥äEŸ™|$o¥Ûn{e?¥ÛÖ0m[w€||ÒÛòæPJ‚Ùèm¯ì¿üám´/ð/¼ŽRJiÎÜí;è#yí5˜Õ>’7‘n»üámtÇ};)§Î9Á‹ ÔyùÍ«éÕëô>äÉë'^ž7ñò¼›í7E{Uar0 bô£p5ÿ±½jF`à FO¦£çÅ[.13B$úäܱúµuwÎ"Òº”8]D¢dîl‡D ¡äÖÜ{%ê$”¸s(™ëúØ<þ¾'QòÆŽÖÇåÂÜ í†>9s^ÞA$J¤MžY‘5ë)—(¹{ÁÇ%Ü%K³Jö ñÔI$ü—‰’jï–ræèû£œŠúyà}ÞÚÎ[Ûì7e–²ª’¨ø„>Ôš¥effŽÉÊ“•%Ú¾dJc²^ÝZàþaŽ»z瘬,J)!D CÞÖÛ78$Irüä_r˜N I¥’ùoÉUõù7>K©D€ü¦/=noØqY~Ëð½üÜ.EGÞcôÞü¶lÿ=×Iöæ<>“ÙëÙï=no4ö:[û½üF«Nýy9?ÇõØì(§¢Âl4â¦`¯JÀÒôÉWO¿}ûŽ‚Ë¾?à`|®ûÜÿºwÅs/§~ðÀwf=~0ÙsÿËûäÛ§¤[UçゲeË;…sîä‰ãóJç‹'ù‰Ãï'¿‘9 iXÕy…@?÷×?nµ&˜7ožàÁ0ôsÂô©ãœxG åþ9ŒnÞµµµ?~Ü0 Á†T­1`à˜ÔÖv¼ cõ@y÷y`%ÝÕ-þbZkŒ•à-Õ*¼©Ù‡s×®]Ó§O;vlìáè¶~âÌ™³_ž<}´£«ëoGËê[¯òk;xûþÎ;ÙÉó#Þß­o­¹uänüøñ4iÝœ›sŽ2Ùžô7iáí]¬º…sÎáHÝ&Ø'NœèîŸû§)_Þ›óÖ—m96mWæ ŸL¼aÿ_ö&ãÚöýO`ß½ÂQpëêÅ Š0mvjlråú)ÝÙ‡É7NMyðó$Œ­‰ ®š¢ºÜBÎŒªÎÔ‡ò43Æ"{)Gq£*Þƒ¾U¹Ì€ëš½rk‹ì4AwwÏýWãþ«1ýÜïþí£â8ûeG2:tì$€³=¸ôB²£½{ÅsϸæîÜà'å>üÕg7®§wÜúØ•ë§ 1çH”ÓÛJ<€ÃÛº×ÜË0Àw5€òð~NŽØØPo*ñ„Š˜ˆHú9[[Nàñ¥ç$’ `Õ£~¶û÷§»qò,NŸàÉh¨“?Ûƒ¼‰Â)KîJÁÝMyðó×Óû6M3“O]§y?åÃ[Ãc²ÏƒRw=“WðW¶ZBX¨C…nëöTx=))ofŠf%£#гíQ1ü[t~m„”6¯?ýP×Yœýª+ ñ#yÉ?´/¸hëeÉ]g¾Æ¡¿•ì»cW\ã¹ò7æ÷—ÖýjÈë'ÛþtÀÝC蟳“§}´ÿU«VÍš5+///öpʧz2ï¾ïq+™Wôm|õ†ç‡üÚžXÿáôk=¯<ýgÑœE×_ÿí,;鎆wlYßúšÖT]ý³IUÿݱïÑK†p AÞûÓQŸ)çF6nÜ(ÜàònÍ€ÍA0{ý( éº8K`x@©ØüP %8qâĹsç à„@D HvîÜyôèQ“sql³xBœãW0í¢Ð¿"’)Àî¸[Œw<ükꨞv¥ï%•7› »)%ÑÍ)ÛÛÛ¿üòKÃ0â~Q»o/Bm.v/ÂÛWÀâÜào9»¡6j=ؽ¿¸1¬ì/× 6?õò_ìö„’éJ;(L–S40ÆdU4USks]eŒ)MQdÆÊª\Öš]œ²å1 êªlïU3X0« UlI*3ƘboZS˜U cJ0©Õ£™)šÙ¨¼Bë’̺™¬ZÅm¬ÒT¡‚€Ù®¬¶Ùš Ô^<&ôôôæs Œ­?_ÌFÑìû! EkP›‹·oDѼç€ö? h Ö¾Ù‹ìØ¤ºÀ@‘J¦Ek)åçe2ç¼°ªr½œsEƒìj圗42ùKüœ7T·ð௵’sîó„åA®—ó†¦b?ç fçY3€úë‡ßÐ Î9tµ<å 6í))`V¹/˜ô”ÃÍ}ÙU LÑä »»Ê2ÐZü^{q;¬‚æ_Tç~¯@Dý}i 1ø­Ö®Ë&ཽظ#§¿>òÙcØíB‘‹É4$\olhÒ¡«%¢@M}yï<¥îzóK?yz bJ çn/çÜø9×U§»ºÅ¤ŽÕ4«Éç-ÕVшd!À9ç>OaslÏ$}-ùŠÜèˆÌŸÛºÐíÀá\©AWkz×o%-/}ìc.ùð/Ç´îzgÞ¼y‰ùJOÀ³ÇF¢¯dm¢þ¹aÜó=¶›¦ï½¨¨(Cì')bd ~œ‘ØÉ ÃØÓŒÔN.Œsö~nÛÍ]£‡87ŠgÐÕÕ•!¶ûH1(%$æ­pvxZ‹…1ÆXùcwœjŒÅíêñV¥ÊŒÉC£ëkY~\SuÈÑrÊ}® ûT¿¦/ç’öìËÍ9ouɃ¬Å”pÊL*³ÆE;¯¿¡ºÎçºr’ ´W@üÜŸÀ'| Éîçÿð‹6êÝ¥¶›×m²aÝr¶›Eƒ®Ê–›'B`lùº"Œ˜›*ŒéA²š˜¬š·¯È€&÷É“+Ízxwe³X˜þÞ4“UhŠ¬ê¦±mwje6VcÿQìÉ´íÿâ[-ÂÄ¢Mî÷BW5 ß èM•ÁE׆РŸ¶SmK}æ\<>a]5u§Q½>æJSf €®Æ'îMx—‡SâÚtÓ­j±ûûZQjá¾Ì‘ €a†aºIb#ÃY£êpx”J+6)võž@/miЀ•U…Á< Añ´i>¦h»ª„ɻíéã-Št+²gäÚVÓá­È–öz•˜6Ý”jz=bîèÚî <ÊY…•Õ—±p63ö`f„pÎ0 †aÐ³ÝÆÙîž×k~¯CfÌ’JûlRloe!´•^‡§FÕ÷T/®Vrnª¨pî «¹*€bŸ©ÏO‡ôbæ/ñ{,q¶®:ýœsh:²¿¥½Z{% M÷q]U´1w4mwHå¬ÝÈfæN}¤ut†ÙÏÚõjÅ×’¯È5Ž$û?cѦ«:à(Þ|†ÐŸ”Ü&š9b´ ?¸ÄL9†AüŸp¸eóðR™â羡 5ø<gKªOX 7V©u³fÍž:ujư_Š*³ªf4 Ug¬‚'?4§@èâûâð7¿‘5üœóúùÐM¾)!œèäÁ¸qã&L˜pÑE‰X%©†àœ@Zs.B)EHmJÒ屎Šm®™¸«OSÌwñí2}t­±^>¶íïMb?ì7Šf:Öøè#ƒÑ¦³š|ó]üL_SZ8çÜúC=£sU®@¤KO1ÄGAHL›ÎýÅö' õîRx|M2S4„¾ë‡ÍC9,úû4ïçz©¢£¸,Ž>¢˜6ÝÁ9·˜Åý^s‘¾¤M¶A˜H}hô÷ç_?×KmdÇ}xÒqÎçצ›Ó8æžÖc®ÖJÛ L¤Þ—þ~„=rèq<‡°FŠóC›m:„`؆gŸ}væÌ™yyyqø„…ù¬ÎLhÓS7¶ $Œ±cÇ^xá…“&MœH5ÂÆÖñãÇ ‹¤”s]]]Â"ñ.úÊoª³T ^dY)­óyaª? ¬=s£^s¯³b>708m:½´Î·¡B ?Ù„-ö¹™4Û _7¯Át;‡ËñY P:L¢Y˜sÁ¹aÆ ´éÐÕ ¯u¥ì£-u}á¡ÐyaUô&wu‹éãós^Ùêê%Ç禜ÝüHF˜sÁ¹´@\Út׆Ro¢E Ö#E’îðú½YÕæ@CÑDÿÁÌI s>äˆK›>ðä#4{ÐVVßxÈ2“ýÃ:ÏYÚô4œ–Å‹P¼’$5`ª*ú­„‚|”"±±uà˜‡–ªÂŠa˜ç†Gö³êQBªôÇ0hÓ}çÑŸhBýœÞVâñÞV ²Kñó%ˆó0 ªp‡b:cœs]•W:ýõÀ¦Ú8/Qû!^èBöÅqr®ÊŪÎy cepsîWÝõLFuÏG˜‚ cõæcÇ%mŒ1”7 ¾ (‡¦¸ªš8ˆõgÖ£„Ï–Z]²W&uÚdMæ æ?I3³iÖØ8‚? Ä)û"eBF¯®ÄBaùªo~çûc&\"8—Ü媔™9þb)ë¡+ÍÌ3á’¬Éù„J‚Iä!!¡„J‚sé¼nœ8?9%æatXáþÇ9[ÌCs Uf )zx ¾z"¸Çwp_ùJ½ôòyüJ§@¢ck0桉ú¯¿A”š|Gx >K=amîÜW>¤’è­mH/p^#žu«¦Âã-u¶¯`2à©‘•J¿ÐÜÕ-Ö†Iª¯£xO“^hª€ø¸®Ê¯ßꅄ+ôäª%o£½”8„íøå Ë((€$–­©q¤IÌÃa„¥wéĺU@pN@@pN`¤¯!êëëGÕÍ———  3çÄo ÆVÁ9Á9‘=Ÿ8yòdgggGG‡ð §c?ǘ ðh?aïèêª"ðÊîè .0Îéj÷ðú[¬Áƒï…kö¨jÅ_]©X¡=tU¶øªœ4UGZ…ÒAó9O(j°¡´¯Ë¤`®—ó†¦b`çÌ Ò$T2Bi$«ò­¸ôsÞ2¦ ¸Ñe¾»Q·Õ”:¯@õž²Þ' ι=²sûF œw¸kóÑt%š¢ybÙ¬r¤ÀŠ­,Öi;¶žW„¹ó9Á9tEÀ'lMæÚÚÚvíÚµ¹é½Ó®%&7n\ff&!D°!¥œ³0yòäéÓ§ÿE?\ZZ:JL™™yñÅ_pÁ‚vÃùqãÆ;vÒ·.*((%& A6 çLëSJ…ã@ Ý×w‘šÉåÜ Bf¬X±¢ h[˜¶¬Ø²Â6HÙ“m„»¶ƒ $̹¶k cçÒ©fü†aŽç-5 #Ä­`r©1 cõ\ap„9çœZ³m+pù.ÀÀoÛжbÞÜÀPk%oš¾FØZ`cëÜÕsá,¹iª« €aìpS‰Î¥sÕáÉ¥; akèëÖØWBò€E†à’@ª8ç4¢ÐmîRg?I~9×ÑÑ!¬# ü?{çÞD•÷ñß̤-´âõÝ´BÓ–.ÝuW+t½T,¾!,¸úRt-Ä}€ˆv}‹(Å«Ôe¨)èºåYA º­bÅ&ÜZ‹Þ²…6åRp-ÓRè5ÍûÇ\2ÉL.m“4ü>Ï<}¦sΜۜù圙ßù±¡âlAdþëJ’èЄ ˆÜ-E¢O‚ ò·t蹄 ˆÜ-O?YÛç¿\¾V¬€€f_=åߨv‚ ˆÍ{Ox {ä®qÎxœ¥s,wFز¤¿ùë¸Õðöægî@ñüýî7Tïn»6<úɤw·Ý§’È¥lŒµ`æöÿ#/üásÍæÙžâ#‰–nëþÉ€ïMâÀu‡gÛéÓx_ÿ¼ö'xö xí%Þ õ™}oÿî Õ–Òi^ Ö¹’©xÿÊ›Øø»&°û‚ œ¥+ý¼Q2`æä$·û—§àWS¥NoúÇó+aañ¼ëátÅ‚%°ìƒìØ·qÊ<ë¯_\_<ïú/–êŸ}oÜ¢}«f/–Ʂ¥Ÿ¿|3ìÛ8e½jëÙ _,}þÌüU³¹#‚ ÎòGþ³}ÆzX³jÖ˜£«“¾¼³1w’0T”æ ô´¥¾ ¾Xú|IܳfÕ¬1| Ø!D–((JÚËdÅ ç ŽŸ±.ç‚ 8«'uúÞâÙ/X8å%öÀìçfAÀ-¿ø„Š˜œ¥… S’(výΓœ:¿œ8†¤`ò+¯L€S0 ¾ vçü;ù³Nêf€:ñFH’¢@5çoSr—ì;ý`ãòEùÌ>¾8ÍoZ²ó<Ñ´iÜâ·|•»á›)©¥{X¼1 _Í ˆ|-‡w¯7OkZ±"A8QåY¾–|TÕôà΄E§×¼’sæéÏ?œ=–?òýÖ¬>ðáÿRI1¶Qj?áÉÕ¼ýÜmcV2§éþ)8…£¹ãÆ+oÛ7þ! ‘M!ùÁ‚ž›±ãŽ>L` ¯—4ï~°àçf¬ŸòÁ‡ $$Œs=A9Î^wTŸÇV@Dæc:=‡‰€Ù+NÛ‘»¥sóÖÜx 6 ‚ r³tnÿ÷Ø{wìøøÓŸüúÆGŽâ¾W'¼‘TV:+Qt¶d¾î/Çæüµzå$×”»ºì[:¥K1áOÏ­¾ÅøQóòßìú±®íÇ&t^lÏ^mØ ³·ûËT€]+R‹`6”nM7ŸÌÞ“Z¤ÞUùØq´îN°··6{âÒ¯nzþ«ws’؃—:/¶œ.~têÒ¯æšOþíhüç¬[^=  »yùïün¼ÓÅα›O~rt^l€„™ï}Õ>ë‰u·U>6f׊Ô"õÛºÊ?òehX‘:«&ÆÌÞ~ì/°‚+¿ <|v­H-R?ŸþêªMà¬BÐÊɃÉtWžmª¨œ.Iâbz9kªß…\ñ÷+Åí’*‚xl¹ýOÌwè’$HB°„‡#ÌNSÉÖÌÀ{ϼ¼ŸI‘$E’APéaKÎYSXÿæ†sÔ©ÍoÏŸ¯eŽß¥ÍaÓÛúÚæ&v¥DÊ|ëqÛÚ»˜Už£‘ÉO½g£Ûè§l·¼ôw"©¦ qf`“áÅÝT“Årn~¡æ¸~éÒs!ÅA€[¥’`J%.ƒö%[é,ÈÌßKYëZžOÙèã6ú¸Öìí,íÔµÇmôq[é¸U†ÍMdË)ˆFRRåôÔ˜Ïê[ÙHÉ#â+åŒ,Y*Üpó¸¹[:’ ¥ ¢¢ÜF‘@P …ÔnG’ ð›?¨þöLõ·gª ¦ò‘)’ H‚ €Ù‘Þ’žZ=½,Kñéô ó’Š$¨ýÆñ¯§YOµœØ_x3É$Âí8÷¥£U}º·‘" ê¬Ùü^ŽöAü¤Ôq7¿xôÄ©–§ZNj©¤§¶jÙöDrS‰ö‘’Fo…•yÛ? Wm<ÈÙU (¿·2nå)Ù½Ÿð#f0Ê™’šQe;Å4xÅvévWÄ÷Yþoâ³<^)AdɿŠ7ݬò›…–îÖ±£æþÏ£ssžü…ꆑ#•7vuwÀòeϬ}ýˆ,[ŸO|%å³ÝóÆbE°y‘ð{NGÄÕW_s¥ý I‘$§â2®¾úšHúfAI2¨qxVD6Í‹„ªÇ¸éìÎÀ‡|]s¤µ•H#G*oʘ8éö;±¹ K÷ýÑOzè!l—ˆ¢¼¼/:"opô ˆüQW½:°="•¶¶6…BAQEQAøüŽ‚ 1KhꀃŽ=Z¥RÅÇÇÇÄÄ ¥Cpöê'V£Rk¶<Á«Q©4Z=Æ·•¢ð>ÏK´€T0\hllüþûï[[[{zzŽ üâí=Óv¡SÑMÆ\èTHní½Q§Ïÿ<ïé¢!ÔnŸŸ¦›Ú ­'ª“ˆá·¶ž(f»/oóÎÓ±´Fß—·YNVã¦mcoÚ6vì²3c— ó¢–——5 H~ z¶6³VÉ› «Qtˆ‹¦5×ûH03-Ùc˜ÆD×Öê™T]s±•ú¨ÊÏ`3•(CŸlŸ³^¾ÏOz{{ƒdàx:;»”é¯/ ;ÕÇo'[œÛ—?¿öúë‡Ø¬¿«÷WªQg.k £èèãÍÑÇ›£‰èá3óK>;• ·öõ·JgO€äaàˆáí=ÃÎWÏ=ô‘~Ó­™×ÝšyÝ{_^9Ó»ÿ¦mcÃ~LG€s ¶™Ë¨Ë£Y²+X« ÉÎa#”™m6³vÓ4MÓCŠ·ÔôPj1¨ý³…®¹hLtidÖдI#Q†>×+¿Š;_?Tm]Ði½Üá°;¿:býtÇ›+—½U¸lŸuG§Úº=`·÷­Jµ´µ3;]½ÐÕ ©WÿûrñÆÆÆ­ž:̸h¾<.ߨeg¶Íøñt[ýù+'ß9ñæ3Oeüã—®{¹¤nËkw›ÃÜØ‘!3t NI‡’ +kŠJr²5V£²(­†¦éšÂL>ZUþ:+Ëcj ]ámþh5*3êò,µT.n½„úU/ÆjÒ4͘N~Ü'Þ‰\.üÔbwtófîdõfÿdõ‘Ã{v´uÚ èh£‡P¥.Ò—3—zaßNý¢qÎáß?ÍÛ¸#gz:ípîç+—éŸåqÖ$?óñ$ë×/ðG¾<Ýxö§¶ð/9±û» ü?=½ô§‹@ÊËËÏŸ?¯R©ÒÒÒT*Ull,Eþ“/o>ðôœ{]Œš9žÔ ãûÀœú‰'~°ùõ¡Òt¯l;\˜{ßÿkùÕÏóáBÙž¯º’r{«šz½½]ºíŽ©ª¶¡U)/³×fîøôܶ/O7€µ²°«õüõ±¤ü:µò†ðìÛsçÎmii!vX:;ZºH1m؈Œáo麙DvW@Hø!WxrœºwÛ(l2¹²0Û‰,è"Š ˆÌ¨¯¯1b„Ýngܧ‚õîu¡ªs¡Zi¡­áš\¨æ¶Ýé×»:7¨É;ýmxo…ý{Å$'ÿÁäСCß}÷Ý?üÐÝÝÍY:Ìi})Ø´ê‚iÔŽ–8¾é}˜°&l„‡à_¹0½§ËÏØÍÞ© –ÒÈ,,öéÕ(“ûgHÙ¯ˆ.[[[GG³à‡·tÎEAg1ƒ»dÁP+ª93äŒ0þÅ 5¹°†Yáz°#µfØ{îIóœÞ¬túòã<çŠ=ÁQ›Y+ˆj´òDçA¯w†3ª0wÉtü-’t_÷ªÕèÑe©¢ÖlóPkq|É*Kf*…Ñ“ÿ© „î…õ¾ÔRÒ”ÍQ¢Ù¥\_½¸P›?’$€ß‚;¸k€{¸ý¤Ñ®šaïEHŠ cö4°ëFHâ¾=Ëžî£áîxØÓÀÚJƪ6^”ˆæ-tˆÃ oC7¸Ódç@¦.K ì~m½Í5‚:K—YU×`«¯…œl ;@ÌË©ªc/.wº´¡«,«ÊÉŽ#=§ão‘$#ØÌZöFNN“ô)טh“†™Ã­L1ÒSÔl·~G\kÉd¹Ü½g*ÎÂV_›Y¸HÃU]Tš´"­Ùf3k‹ÒjL?*å3Ga8kåïcî´tAZ÷ºPw̽×ßçtI·°ó¬¤XÒÐ ¿sOÜ’¾‚%"·§æÎ„jûñ¹3Ù³<¼>æ hA.Të!I|ºT¨lÌ\ŸÓéK *¿¿Íuë˜{uy´I 6XjÒŠØ%ÃÚúEÌÚ<—;5;ǹ<Ù9i¦³+„+•}§Ó¿Ùy–.³D¯T*µëê<d3ò«€±³.Åp–YTk¯ÉJ„ Aœ…Ú`É«Ëð¼N\m(Ö•ep«…¼ç®1•¦ç3i+œ­-U)6Hœµò‹CC´ ˆ8|¢™ÿ§µ½‡÷ˆ— ÿ`ÈÏ;mM.4¾ë›q"Æl ¹?³æÎ2ÀGzJ¥ÒíMÓá=©@­‘>!\ósôèÑ'Ÿ|²­­MAáù\_‡K6âÕ‘=€VxÛµ`Õ8 O_WÚýûlùþèa ÁôéÓ[ZZ(ŠR º,‚ 0¦CC‡ ˆÜ!I‚à·€¦tuu ÿ¤ —ÇKšs0Ìë²`æìzùò) @‘‚$ ïÿ¹ý®ºU÷ÅÒ…ÀsØI@ÕÕÕ†¼œª²J›‡D±ì{wkyñß7¯/Þ´Î\BÔ6]âƒÏþÜŽšÃ®#P“,½¡Êˡ¨ç0‚øÓ½›››ÇŸ˜˜GQThŸÓ óÆ=쯙CDA(©îœ6,´›!(àjdP-æ‰K‡vAyÑÓcïî¶wvõttvSŠnŠê æsº~yø¸êº¾-i zNÃõSŒ=UCäá~›ƒ§®tç±¾¿¦dŠÄHÁáçÌ€àpB±/2¯½½½±—è šE…µE¼ÇnêÊÖñnµ¬î__Q,ô@Þú9=,Y•¬”`ÿÓ”Í 0Hêê]+xò¶~žk5êk khÚbP´³!At8€ß‰ÆÄX7ßw2Í.·O^:ãLd]W¦[d0äA‘Ù`]—ŸÎÍú)Éí”7u“±hk»ïÙÌZCu–.“q“”Æ×ÑûØÏW]¼©c‡!TW—èZý0R’ ½h…0e?z>À1ûýç°Ž¼p©‹Ù~ºÔ„ß|š¦éEõZ¥ÑêM¦$†uVsäÔšEº²ufç€Î/I òÓK¥“œ ´SDÛ«>µûŒ­²¬JìàÊKc‹Å¯ERà.©ùª‹X;| •ºº¸kä\Õ½}vƒ~+ƒûÝó‘ÀZºÞ^G¯£—lëèa¶K=Az”º¦IÈ4Kig+­/Ó-âïÈçt~JigêŠ-´)ÙçMЫ>µ`ý™Ö ‹?;Iñk7)pbÙÒuaJçTÇ#ß÷ARWw-úÝÞC½wÿÎõÙÁÜ{~D/`á ÎáàFu„åÛ¡0¸k$|.DöÚ&«Q©¯- /O~fd@‹„k$üéxCMßqvïóßÿ'A•0.--!!!66–¢(EXqÐû–Æ~½[m°XdÐýÂÚsšÌˆŽRDG+†‹>,:vxLØY:AÓÞÞ~åÊ•ÖÖÖ–––îînŠ¢HlAdZ:AÐÒõŸøI Gùòˆg0ÔÕ…Ž’6³ÙÅ·Qà–'Ž&qb_+…Ý -?HhF{P£– |åË‘ª«³úì:µÁàúžÃ©¹/ŽæõD4GK83çQQÚ]*Ú3á(_ް„B]é-´Å flwŠXs_MòDo»Zº¾ã[6Ý稡ßòåè¨H]Ýjf/œ:K—ɯÀkî‹¢IŸè¹sb7“áå9Œ„ôFäݽϞ=«R©RSSU*ã9Œï^‘?è9Œ„TWGÐÒ!‚ޏ¸¸#FÄÇÇ_uÕUÌ·Á¦$â!<ÂÇÞÈ•5‡!º†ƒèÑ@FA¢– °}ûöå5‘Š*6ž6‚¤¢ÄWUÈPž«F WÄ]Ÿ ˆMF ‚Äu¯DEE‘1#¢•ÿsmj”REFÇ$…Í‚ e‚R¤‚ )p…?A$E(bÈè8jØ2:-"·Q6‚ héAÐÒy!àŸN`‚Î%‡‚DA{NÇ»„O‚jÖÝAÓo2Ü*·+XÀ`5º À$Ev–Йð¡-á®T Z:QN ±Ð‚ÆÄ¨‰1Êb& £úž¢fCE޹n Š"» KHèL0ÖÍ£¶„»R‚ 8{õ5ÛäT]Yµ×d]f¾^Y™99i¬)Öi32ÒKi“š5e5f­R©w9ÑS‚÷ÈÙ¼Àl¶ÆEoÖåC¢.¹dÖ°™{ž3Ëju„$KnƒÄD?!.(t2AäEPÖHˆå%oÅ5âIílÇt>@»† HXþt‚ ¥C‘ñìuÔ¨QØ:²§¥¥‰hK‡÷‚ 8{EAK‡ ‚–A$dY‰S°®!³Ðë›Y›Q¦óµöÀjTê¡´oî”H£(­Æb¿rŒ._¾|éÒ¥‹/ÆÆÆ¶··£ç0‚c:?±™µJ#˜ø¯ÒY²*½}E]m°°Ÿóøå]fy,³T6tæˆ Zº~ºÊ2`×Ës–%K—YRá&Xâÿ§ÅmæeºbƒZm(Ö•-œ®j‘°I8ÅH<‹£H䡟7G™³û™ Y:u–ò×Y]m_•ëJû>M93ò«ªò3”J¥’Ù㇇™…Å50$™º,5€@ŒÄ‡8Šsôé"²‚ ˆœ¸÷þàÍ^Õ m^%X©­Ì²°Ø4¦ÒtÆh)¢5Ù9Uù.BKV£¾¶°Fø…öšÂZ½? rjƒ¥&­HéU«X¥Ë,Ñ+•Jíº:ì"GB¤eÂãã½2”——Ÿ={V¥R¥¦¦ªTªØØX|#ÈlúŠZ&‚ÈÛ†û'.ûýé‘3êùŸ\¸pá‚Br.ƒÍƒ ˆœp·tné:::š››Ï;×ÜÜÜÙÙYQ¹7ëÞ;°ÕäGrrr||üÈ‘# AØ ˆÌ-ÑÑÑ×\sM||¼Ýnw8u¶ó3fÌÀV“A( …BAQAhìȲt$I’$Åü3läÈ‘Øj‚ -ÂðÄÎùÄäµõxi‘³¥Cò–nç|‚˜¿ ~íd‚¾ ®Ü(ˆÉ†×¯ì>Г •ˆ‡ rKWâØí¦¼i)‹—åz9p»iÓâHÉžuû¡Ú“ni‰Bë+¶Ê]¶8¯+‚ ƒjéR\V›JAL^{ÂÛA¨-šLA¤Ö.sl˜nOñÜCStnzÞAþ0ošçP·„AËÒ m’ðiý EÄÙ+‚ HÈùÿ4{ÖÒóP¡IEND®B`‚Amelia/vignettes/assets/numopts.png0000644000176200001440000003265114335240021017170 0ustar liggesusers‰PNG  IHDR ë뽘‹ pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF*ÔIDATxÚì—½KÃ@‡Ÿ””b‰pƒN¦‚ŠA‡‚PÐàÖÅIpîœ;: ²+8¹Ô¥…….R7W)1]D¡ÕbKÏÁ~Pû¡ ýò[Ž»÷wäî}^.Š”@2G•^ÞP‰¢p• äÊ»¬ Þº~"u¸N®ÌPÏwíÎõï#û¨íÀQ|‹›â%¡¥0Z8@â 2§qQLÑecs‡‹ˆD@ çIDÉ]Oy¾+ Ѷ(RJY­V™·,ˆ:¥BP©T¦ö¡÷/"újßz»=BüŒ†5óŒøŒ,>¬ÓÖ°Ú˜-`Ma`XÎä¡Lf)¥c$•˜««7X-p, ÃÂnÁ:iV³‹ÐYëõ&ŸM¥o}9¤Ì¶4Á`€ «WX-°MLaôÀj £óDhÇL»ûlS­ÞÜÂ5]ŒíÌ`ý+#~‹Ÿ¬š¦Œ×jµ±½žJÓh4zæ+'·¼žïuo§ªC½}™hy=ÄuGÿTéº>¶×‡õ·¾ÿÿìX¿KÄ0þ å¨6@ýGqì`&W]:þ.®"ØÛ¤¸:‰pH¶sñÁ±ÞÒâ–â`¯Ë94éµXËÝQ{'äÁƒüøÂ É—G¾gDQ4)åR^L?üÂñ–ªüf}`À€ÝóF‚ºÃéÃ+àê`¦Õéà~0‚z\™â¿Fï€s2í¯›¸vðˆÈÆà.Vx~°™· !ÄD“³:‹2û²m»r<ŽãòIPB@ý°ý'ª9±âÄü›™˜JåcèË$CSºI){ÕÖÄÔÄœ‹˜JØø”HÄÙÄe¸ós\fcÍhï:TÙ@s&b²3"•8ûQbb2‹B¦sÃr‘ŸJ50PêWÔS{R¹÷–G̺“hí:ê„ÖÿLÛ–eÕºßíæØ j±I’,¶ !Dî{&„¸+}pžc=Ï+àDÁ³5J¡ÏÍ ^rxó†¬Ë+±iš‚s.qEÌv¾ÆqýŸÈíÿÿì›?HQÇ?’i¹s  ¡²–:¶Qâÿ€­–BÉ0.%›Mˆ«XJ8È’J‹DÔ¡K‡„B[º9µÐ WnQ›.fÊ¡.—x&‘h0&æýàŽÇ{w?Žï>ï÷~÷½¾b±øïcö€^°ÔËé†cÏ?|â–ÓéDí¯Ö¼žúï³½÷È’ð¿c0µÃä=€,|OXü…ñj••Y/`ÞòÝY À1pƒ„?€ÁS;6?Ïv[Ñ@[ƒñæáJûÑÆö_ŒV³~·YÁú¼Ü3cUŸ¯Û¿>ç#¸iþäêóeÈå.&a-•J6ß–¿9ß™e‚^ÀXo]`¤|>m§½u8-ÝÇ ‡Ã5ýÉd’P(ti¿…BÁ¦ —«É)ûÿÿìohgÇ?¹kÁ«i§ %Òé&V6ÆŠÍ0C6 Cã¿&C kÝ:V,(lÊÐA2d¶©Xº"s”¾8JÄõź6§BJas´´Á‚(†ÐìÅåÒK›KúǤYòü฻<Ï=Oî›{~Ï÷yòü¾gq:òèèè3KïÈŸÉJ¸ÓÛºyxÿ¯¬i/6í¤¥û–þP8y¼ÕÀµP˜ã­v®…´s›þÏXâp2¼|ëÎ…Òçz{«~ãšÿ‚°õƒuãÓ<¹¯Åã64íføñ¬²$ñãØ‡ è È’ĉ÷ßB–np@Ýõ.v§“C‡m쎶ÓÌùùê°€ã [¯!OýÀàØ_¡íu¨ãlo$à°3I3á¶é>³=Ecê÷ߘø^;©}€?‚Ú_¦ G>D~é= €›°J0;t…SÞ&¾ó<àäù­›œ÷Ám¼Í^­ o÷!·ñÂˬ’„¼­#-· ï!Ä©¡süÌIZÒe|ÎOã_ ŒªšÍÔìØ$aFû¬fÇÎtš,IX†ïü[>#p´Ç±Ù¬i7×Òqýfi,è*ŸŒ‹±‰¨­çؤ˜f¶úx9“;KžŒlSwþh…6“ƒÞ…( Õ“Zˆ^‘`¨ô «ÜhV€ý(î>úÜJå NÊ­k]­ÏŸŒ—Ÿ]Ët„èZ †` Ë´éÙ9ª¬âÉ`Kí¦ÜÍD‰ô¨Ú±¾öSõ()º¾°w) ¨ž»ÅŒ‚JùÖ~æõžæ/¸çÖnRW¨tß»ˆ?ªŸGµýÅ;%ø{ âû2 Ài/:Î *¨` ‚g0‚®ÎÔÑ_–WQ6ñêÞWDך­kÍ"u¤f²ÑÿE â{>>#ê¿„Gqe†ZEÇ´j ¹ªG)›ÙsÑLÊ™þ=ýhEù2HeF.'Á3 † ãèZ³<™¯Ô(„#‰ SO_dAÐ3â{s‰¸ç²›‰ËåÇûh0­¬¢O /fŸi%|ýæ¢þ´ÖžË5(³d­ t^ËÎbSŒ×¨ÄŸNæSxiÀ{ú¾ÈŸžM—-NÀðs¨ÒJ/rzzv®¼èJ&„«¬¢k2ľŒÎÎÎŒW̬ÔÌ€ÖT.¡g[”f’L&I$¦Û~宄9ó˜Y®k²m‹ë)z3I$Äb1ótžñt.FŽ,±§F3/w’ûê…hIŶ>#g=c~~žx½’ʧ7òdÕo<_Ie ÀÁ–µTU9á¤nŠÂ[ÞwË(ÈãƒNÙ¹xjëZ»ž@¾Î '¨ à)#µ5èÉ[X×àþàí °®àyÊ<ˆ‘:Š¡±ÃÔQ†‡‡ B=u=—®§Ž’¹<è–¡X–e;ÿû¬ûU|¶ü5Þ9wDº‡1xñ¯ Ü<™BÉõv¯¡ `Ù;]„å\ÍYZBœ}Ôöj¢X–eÿ馼M¡pV"º1d÷M@^ÁÌÆ¯g}?ŒÞM!CÉ,¯_h¿ŒõÝß{(Ñüœe£Í÷Dsñ£-F-`ÄCîH@Q\äAf%ÂJDùœá,˜ð½»Ì¥6k‰`ÌpæÍ«`ÞŒÓ1Q>ACÁ&†(Ÿ2]hQÊ¢)–ΩDÙÔÏPwÞS¥÷^ïnVîۻ夆ç`LÇ ¨}MEUUÔ¨–ßõ­ÙÇÅÇü6÷¨Zl=Us÷ ÷¢ŸØ{íÔuîrw¬ï³¿ Þþ|oÉx穉o‡˧ %E×d=Æg´Q>g<\ŃêÑ ÈtU;† ‚!ˆ`S‹(Ÿ2]H¡¡BŸŒ“²|q±šú¤»YAQ6Ͱ¡$’ !'QÍöÆy§ªÊ ‹ç ¤¨ªb¸B¥Ùþ/kë î-Hóµy®ÐÏ3§,,ëõûòÕ9%‚Ñ5`bÆÚPCŽÓÑ6a•ͬ –Œ ª*‘\Z_£ŠNxJh¢QUiH¦X³ºÖM‰ t¡ª*kŠÓ/í\iVPš¯ÐY755ŠI\tŒ¢k²xð -Ÿ2]D0 AC˜jDùœÃ³’ÑÇšK!ÅG¼û ¸¡åÖiÄ Û²©E3¹á±VjîϪÕÈŸôãšÏÇËcã¬u jöšÒ(`ØGÏkÞúÇ©O‹ä),Ën‹›?·þ4ªÙףѻ6Õmè®qõ¦E«o<š_Ãꔩ† Úž7ú¥?gõô†¥âS¢c´Ñ¦E ÅaKÎ0¾Ô…9ÐEܨ¥aû§DÃàµY¦LÂ!LÓ¤aûf Èeо'O!‘3}€]˜f ¨Å4M. žúK—Õ7´s ËsØ”·,û¹"4‘ÚRK´q»]vØše力Ž"jJì4’¦[3$œL«c˜fÒþ\™vZ¾í“§è¾~†º÷ÒYW*>ùZÊÔò©7Ú\A£4¥,ŸbÆ Q>™•"‚† ‚!ˆ`øaáÂ…TTTLëg÷îÝeÕæ²ø_ÉÈÈÙlÖ÷}55ö¡-™Lø–ëؼd˜šm:™OVM{›¼ZÃγp.“a‰ïœç™XûÊB0îÞ½‹iš¾î ‡èº}rS¬­†HòKv.¯a®£°Üwyÿw›ÃáɤÎ:ÓÄÎy‚ĵ• µÙ«ëƒ»Ðõ·' Yì¦G†wÁÊUÜùÛd¢Q‚aY–wÁ }‚S:&›ýžÇÓd³Yê×"}øÍimsoïÞ¹O§9¹¾žè`ÇÇÍŒðÙl–Òd³O°tO=Á=ösk ²H§_æßl– t¤@™˜Ä+++1ŒéÝtÐÓÓãKϘÉm“¸0&bÄŽ!øT>Ÿ½x]Þ‚PÄìLéÇ¿3£Òãl´êÙõ–‹µiSIúc©¨‘j°FT rº½„´ç¡UãUzq±á=µsþÂÆ ¥à®WÔÜA ½k'—eÔêi¹t Æèìô™]8Ýõù$“}yßwÞyfçËû¾3ûÌó2Š¢Àív?–ð~Αe‰‹ãnôw™ikkû´ö³o~N_ áçÊÝ惺ÿ(ôUÄÃÿw‡7æ…µïê½ûñdôx¼øÓ$ ãX†¾ÍâðÆ<)ßÖ¾Ù…yXõáitú€aq#Ô©Eö[·ŠG¾DöŽ4–w<8džõÚßç¬Àú†ãáÁí*Ôc ¼¼¸kÛ«4û>l½Ôä¶9+°-\{bi®ðø±6ƒ 5×ïâœ÷>æOù!èéÌW'êûø‡¸# >†q,§¿ÐjVPºÇ/´‚3Ýߦ`û‡±£<,÷ï“ÖaQ÷Ñ¶ë ­8¦Ù¶5½;.”˜êHÏBî…j¼sá$užvvBaWÜ÷ä N ¼¶ â÷›ñäQ'L À±:}Ëq,8ŽÅÉoÀŸ^‘ní–çß;+,¨¿«¦9î"êï²úçÁt+þ˱X©µ±2½8P犚Þúׯô¼úBk—c\4´­æ]ÂV==sÚQpÜE¬,¬w·ÊT÷`z8î"^aõ²ƒF;®w;ŸXÛàZu¾8¡mÕU°6×bç’ÅhooG{{;v.Y ksm Î‰J|q¢JÇâ[Ÿ†[ž–„S—nayZ–§%Ž› vg’–fÀ²¬þÉ`:^æX˜Žc!àKpwn"!‘7ë]pƒ´´$½þ¥«ÙzÛÅioƒã,Z;ŒžŸÆìˆäj68ŽÁº­ëÁ%ÎÃ;º pwn"u .q½Vf°cÖ»¸r9>¸ÛˆãǶÑh“Œì=eèèè@GG²÷”¡iLr—zctatÊ]†?þ¼ÓmXšš€ÓmZyæ6d¦f¢C¿JÀ¡¥«ûëùz¹é3ñ78™š€5‡Ár8–ËqØÝ¸™©‰Èp¶aö`YƒÜmÔ÷ +PÓØ ·.òSM¨ilCóÒ&,Û}¦cMGMc Þ7ÚѸ…Î&ü¡‘ÃCIüø‰†áÁðoãð»Í»‘ú‚:÷h|‡Ôø‘ˆq¸ZGÀ0ÚÀ±ùæÌ?ïDáíê?pú«¹X<‰æ]q.HÞÂ_ª²PŒSE»øªXŒ…þÜß¾Žúñ—¸‘`j›ïÒsŒâÎçÍ8VôFXû®,ý3^úI ʹ‘`ê?»G LüIyÆAj"ýLBx"ÒÏîDÈçHA HD¿ àlΕ¦C’ÇYûGSmxiâxF42îìAkÛ{ó. %Ä@Î1´—=ß¡!‡i‘"¦ç|iò ¿ÃIDa!¹3ºÇÊt‰]Òjy¥ÖÃÐêDÏÅíªŸ’wxpM[øÊ]`1§gìu…#»´FÑs ‡WrÚánNVÎsxÌ颖@4\ê1bæìç÷ú-r5jÔ Þ®þ`t|·üL‘¥ÛU"Œ»bèi»?xw…üÈï‘0¢•ïÇ æ aL¸w%Ý• ƒ a$ ‚„A0A "zòá<~Úó¹ý!ÔhÔcDƒ% JˆÁF('_rþ}vxËf˜ü:=ɯ3åwO{Áä燽œwŸz ãºææ<Œk¢û½»º­wnXãÜ¿ö¹ýYïüù Ô¡~æí÷¥«ƒ³h!¦l*F™7Tz ”}KžÁP"ºP$I$I½°ZžqusÓšè•¥ê§a½sß I’à´BÊ[€,‡’»€®~ÔÞ®Z¦ VûO_däÍØÕl~ÅÀã@³$aF&–ΨÔÓSH’Éi§£Šœêçþ¼bu(ó.„£´Þ²lš*Ý¿c’Ïg„C>ŸD”%Äpÿ›¡Y–Œž|F8qÀÁZ³.ÔSOê1A H ƒ a$ ‚„A0ˆ¨‡ž|F8– €%¢gŽáÎæwÅs‰Æ²ð}>òíëÿ6†A]äL>g¨ÞYY`)@ÁÅjtKnºÖ} lÖ+P%L~¤ã2xž‡SrðÀ%Âð8<€è´²@`Xhå¼àÒ{‡)˜¬ÇÔùËÈͯ;×>ÍLÃÕÈê1Ãb ø*z±ÑX ŠÔ2C`X?»* KZZÕötD¯ê;j)0•‘cpw¦ÎTqÓ"ë9F6è]M_-Háy.õåc`X?-{ð| œö.Z PÊóàyÁTF=Fw6}R†aP¥ì{fÇg`ƒ‡Õ) íK´ØÜäyd¨œä9†Ý)…*!QD)ô€+¡°DP(,Q0A H ƒ a$ ‚„AD ôä3¡°DP(,=s /€=à݉Wu„ÇÏ@·$ßáùŽûŠ®0í uì¾Q6‹A>£xí9è«9Hì ö-)€K(UÝùðêxõoÁ¥ûqºß_Q”˜³9&æ²,÷};» <ÏÃ^î…,ËØÄÛ!Ë2Êí|ŸÛ G½·ëU}[íåaŸÿ|µ9&zŒ¾_o*ý=@¬€GÙ@«kòëÚúÐk³ˆ7ÏYÐÞÞv¤„¹_L £Ïþ ·Î çg9xðÀØ™¨©yà öLlEI¾ñññk³Ñ>ÅÖ,”´ÂZ ´Î?‡ó¿(ÁÍ,+rª[ åÕȪ¼…dÈ=£7›ŸÏ¡$áuìkÐÒâG˜7[†¯a»² atÛn³Ñ>Y†,Bƒ,ÃòšYVðöºÙgσ(Êø[ó ½Þu¼Y–qlu|PúesLÃçóõq›„í¾-°ÙlØrc5Ò´‰ /m;|[l¸ÑÇöÂ|öhߤJØl6ØVTÂ7éuäÚlðjû)þãú|8z}žzç}8zÖªî³å|¯ÇèÍæ¨÷ß¶mrss‡Ô†É“'ãéÓ§1có€EŽ„¡$ÚnW#Ýæ¨Æ„ 0vìØA}ÿ¢78€µkׯ”Í1ùÂÑ?è…#"¶ïJA HDÄÁ¼ú¯6…¾¢+ÿgïüƒ¢8Ó<þí‚lt3”¥FE1ã U\R{¢áLÈ.‘Q–»VDô¼D®b${:Ô-kñ¢Yb‘‹£·:ÆŠŠ©ìi"kvÍ”Ùĸ)b–üX—æü‰¿Vm%†¾?¦»§g˜†‘q¾ŸªVúí÷}Þ·Ÿ¦¿ý¼=/ÏS§N;qâDËÅ‹/üþë¿= Šn!„(<ùT²í¯MWþù•Œ´8áüùó;ªþ|s€‡èBˆ?ôS&":!!!/ê/·è B”}Kÿ¯ü,O>19d}ýâ+lzs+~²q‡ZÖâ”\­Æ>Ó¥ÁÂg’ýûõ§õ>ëû*'„Çw7®cÚÔÇÐüç?AP¾Uó†I €²ŒBÿ‘$_ßž*@‚ä²# € ¹m n»Ó¦þën\÷ІómòZŒ(çk‹ùFõçÝŸÙ»ŠC†Q-WêîþÌîçåÇa¼“± çÿ®ã^´cñ?x–ýõÈI—¯›q/Á‚å§ñ¢zì,ª^yÇþ鬙›Øw»dÐãl» gk‹zC+÷º–eëPùþÛêþÜÜ<ûÈp|ò×»”[f¦¸ÅÁÈÙvÞÚpÇ)L¢‹<¶>w­DÿàóFòùFõ¸²¯ÔUŽuÝ\ãxbU#ÒŽñÚÞsåB”]Ôal˘‡—•6Ú}ùç;ñZ† 2ŒØvBÀÕ½ó°@ÞwÛ »ì®· c¾ÕØÛöÖ<¹Ì»¿s8ðS£joÛ Wù·o¹Ë¼uØÇ¸Ï~— XñùdWÊ' {˧xâ³b¿çâûalËx Ÿ ï.Túò£Çy¹Ç¨Öۻʇ?|Ÿ·ÈÚ ³£í--®­µNùÿöÖtÈÿÿ÷ôG°©øç˜›[€öövìzïWXüúìzïWhooÇÜÜl*þ9Þ|ú8[[ÐÑânÛÞÚ¢ÚïhiA§¼X;Ž;’ï~säŒGÄð|ú²çÓ'x(w}7:tB¦,?ƒ)Ç^ÅÜòLT.w—Gé´?{¶Q ¿<ò€Cx;=_¿¿•¹÷†é{‘íX9ÿuœVûÞ…²r“ÚW½¨\îjó¥b¿i;VæÚ1÷ÈTz|ÊÓÿ ìû_y"¹ >‹ìï±*ê,@€.ÊËQ.Uöy.ÀWë&àš3Xrd„ôÿAÂû{‘࣠ãüFä9eûÕº xGwÓd›ée¨Ì-óòÇg8vH^v¥óù˜Ž`þV÷ Îý¾ÒY(Ómh $ÜŒ Ä<ŒË—/û´s³±ö¿4Ü3ež£Y>þØ®F§<%‰Žê~=ÆsÓÆãwÇΩkÉŸ›6ÞCH~wìž—ëø º(¢£¤¿ß&nÇòôըǼ¥CtÔDŒ¬ç›tˆNðÅ`ƒ ójnö&"Šþˆu¹4c8ÔM›xê±_ ²r ×¶ùbfWL‚õØ9Œ¾°Ëç~$·÷î_&q1Ö­_Ùé+ñ_ÇÊ*÷»yÚ"œ-ú#Ö%êä~kqôØ9<—;¸°•û"÷U¢{<¯_àDÍxü Ðn1ÖsýáÊ¥÷çÀ‚õ^~!‘BtÜ7b$Y&í»™õ­ X»¦s|ÿý÷(ym=¦F7ãËŽaX»¦k×J^[¢!Ýï/Ô©ˆû%FtœëoWµÚp§$I’>ú²Éï@ÿåñ±øèÄE^±{§Øô¸ã>܇Ÿ$ФwlÈúGì¬X‡«‡ösOnÁùôL,Ê[ŽeUŸ«Gß‹æ t:Á¯‰ýjâzÐ{xA::•ô’a#FâT“ˆ¿Ÿóo!ëóë“ 6b¤‡6´vÊƯ¯ðªBºÅ"ü@‰0ø¸#„tO{§&'ÓBüqülœÿ\• BƒBÁ „ÜG¢éBúÎíæ6ÄÆ=€‘Ã#+ÌÕë·p»ùFÄö *Œ0 ’H‹`ÆLÁ „„@0V˜ôfØ4ûVÛ½’ f½ V/!G0 F¤ åÊm(Da¦VLô®ïŽõ•žÊMVM›z“ÔB"]0 ‹(¢ºÐ Þðf›|ó§®@Z¯9f[÷åK€-¢QQ]hÔtaX]¯!.6«{Ú`˜‰9i@Ý!G@ZY-DYDKf÷å5+°Ñ¦å¨`„AHX"H’$U{KBH¸Ý܆q #"rìö3—zý±êñ³mø¥s?%!„„ä!p-‚,cæJOB‚à‡Ã\Sù[·"K4b£ð*OF„ !„‚A¡`B(„ !„‚A! BƒràJOB‚ éÒ\lºQŒ¬•žzýC;fÆŒEÁ $T ÏLŠÈ±ÛÏ\┄ÒôY0lf%Õžçfê1'sv’ŠÒ‚A(@U@u-PUAHÇ{F¦EΚ%îAÒPV«¤ØcB=2XÅ" u%$I‚Ô‚µ]DÃ_@Ëe²f#?R"Œž£9Ç' çüôUxE6³¡¸ÚûŽV´m\õôJG6³&¹°V“/~úd:@ ¨;šÙYò®qÅIœ¶÷¦N å8%é‡uÈC¶’EÜPˆâ¼Ô7úª—£A [4JæÌ4hG‚‰HNÓICÙR¹£Ìlä¡vÇA|X“‡bïˆÇ_ŸL8L‚" )OjnfûiœÄ£˜dìM@Ëš` Q]›Œrõ݆ ö¥",™=ÕÓD õfbNZrôzèMQßÛ1ˆÙد±m¶uÓ'# F,;²X$¿oXì”Þ†+8¨BŽ vu-WÞkü[qæ$Bú„"ð``B‚€I€ !Ä\¸EHÄ ‰Æ…«bDŽ]?tƒP£CLÄŽ^¸§$„ !„‚A¡`B(„ !„‚A! Bƒb¸Ò“ ¸Ý܆ظ0røC5î«×oávó^ÿñ# Bî‘&ÁŒ™‚A …`tMuçN@;Bö é ªºüLÁðGZ2&ú‡&5«¸W^ cV¿í|‹‘ÜMkÃáqÌl6ÉmmÝØÖäõnÇL\¤WT¡Ü XŠ]9¶ŒËJ¿umH3zGŽ`8¬0å{|åÄtXaZl•¬âÆÞK]µ 9f?ñËÄBTË6ŠëS¡­–¼´¢hA¦÷˜RëQ,*™ÏEdï×ûnÇ\Ÿ„ÜcÁPógú˜jŒH©Y6å^-GEoH+«Uoj±KRP¨Á‡ª”Wh’û¯)¨À~MVs¿ía^‘…b `.W¦$k±5¿ËŒë,Ã+§§úä÷Šº}RŽäÚjðëPÈý€9=C«°š4Ù» BÈàŽ0‰Àc0,ÜR" ®ô$$~8Ìõ ½uëVD;6¯ò¸p‹BÁ „P0! BƒBÁ „P0!„‚A¡`BBWzM—®àbÓˆbd­ôÔëÂØ1£0fô( !¡bèÐxÌxfRDŽÝ~æ§$„þ#ÈœžzèýdÁrXMÐ÷%w§Ã SØäü”ÏÑg*¿p¢yRmf×9•è~û' óÃV@Ò½RóÙ±!]€ „Tõ¹<¢Ò‡rMM÷/cj} òúbÒPˆj1œ⤡¬VIå·È Œm0çÔ¹Î+èôƒÑ?A5ùð‹$Ô•H$ RC Ö ¨ ¸|@†+÷¥GM‡¦òdÔZ²{ñT°Á¬&èU’üz×<å§¢*P™Ê½Ÿ6}µãM V¤ÊOP3`QŬkÖt“Õá²Õíc6˜óÓÔõ‰ùW/"kè5Fÿ64þÑïG¶‡º³ÙõRúðÙWJG_~‹ôŠ ¨;šÙYò®qÅIœ¶Z>@2-µH.—³w/¶x?µV˜Ô‹>ÉijKXö9ú`¿L[i(Û"ÛËÌFÒ0g¦l=3y¨ƒ½W¿}µã~‚Ö&k¢)‡uHÑ :Õ… ÓÑ’)OÉä_n¿çè¸4u 31'­õÞS:?ãêvhG49M …(ÎÓÚÖŒ©Ûc)ì&åœ{²ÙõZšÙÕ;êÒÊ 2»£X_~‹ÎIHyRsÃÛOã$Å$c åH0 «·åõ(öu 31'­9z=ô¦¨wý–ÂjÒÃd_ Q±Ôn òi ËžM4°ÿž;ËPX-Xâ§¡ÕµÉ(×ÎáÍ65JH]Q(7ŒÏóïõMr©¨/Ñ%/²¿qõ4 ôhc‚}©Û=FK€-r»nmöñZ Q]\T__YáËï!0”÷?ÆV…9I€¾v±ìÈN`‘üNb°SzY—‡LÑIï˜ð8ìlI€¹#bÈ„Edzdr¡`qC¢q᪑c×BÁ $”ÄÄè±£nÁ•ž„ !„‚A¡`B(„ !„‚A! Bƒb¸Ò3L¨¨¨À¥K—p÷îÝAyþ±±±=z4òòòèç0ö3# (--Eqq1ôz=Z[[¥† QQZZŠ•+WÒÏaêg FÐÞÞŽøøxܹsgÐú ¥¥ñññhoo§ŸÃØÏŒ0¢³³“N ŸÃ¾ô $IBgggÿoÕfÄÇ›°¹Q)kÄfS£)OÌG¾¼o+ŽáÃå­È&×±¡hø,X­Eê±YV»Æ¶ÖYîvE6MŠ­áE°uj®óþø™S’0¡££¢(öo'Í-è@¾ExöÔŒ–Ž Y„(~‡6t åáq˜|â7Ø÷M.òCãƒ|0¼ýì×n¦LŸ¼»Ûµóî:X^œ‚¼DÙ§ÓV¡¡a€ÃX•´–i ˜7£¯44 Aµ"Bü¦óf”â+µì]Ìÿéhx.[Í"úzÁø™FMIœNgÿn /`×V ‹“JpH-?„’¤ø8ë ¼à„ÓÙéz‚{»NíÂôOç!iÞ8ú{lNgȦ$Áû/ %‡4åŽØqÈ ç¡$m2àà©S8uðUL 95>Umiö¦#kònlÚáðê+“L~õ N:åÚV?åÃVhýÌ$ÀaÀêÕ«QZZгgÏj?$&&båÊ•X½z5ýf~fà0Œ0:::½èçðö3# ˆ‰‰Á70fÌœ?~Pú`ܸq¸qãbbbèç0ö3§$aÂæÍ›qóæÍ~]¸î¢—_~™~C?+S !¤×‚ÁOI!½†‚A¡`B(„ûˆú±êñ³mô!Ä/W„Ûøÿfu »x¶ÜIEND®B`‚Amelia/vignettes/assets/main.png0000644000176200001440000016177614335240021016422 0ustar liggesusers‰PNG  IHDR.,c Í‚ pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFÙ)IDATxÚì]]LWþ.®R@ËDœcTkÖÛcÊZ£©aÒ®O¦]kšT^È*M­76¡Q’b#&P36-+¦‰bR$6­Ò̺ņ–Zú—.µ[–bcLDíàÊï²Ü>Ìî°³ÿÕu™¥÷K&ìÎ=sνç›sÏ=3p!SJ}`Ð¥”žuö3Oè ÈÏËÅ®JpáÚ:n=»Kp´[ùÜ|¾ -‡¶áµ-‡ÑÒý>óØ#€ç ´Ñ`‹q »ÿ.V_=BûÕA4l-Fï†]JÄ´÷ÝfÞ{‚X»üé„íEƒ×5ß¿Í}F!Æ7ægÞÓzþ”•©ìö14ÛÔJ€æWT\<…šâ}¨<„šâzµm^ÔïÎH¨Ý©Þ‰šâz”tI¨X¥œ©)PÛµͨRÏ1$Hþ###Ì:ÂwCSȉÕ04žcŸ]Kª ñ²5ŸH)ž4àãˉW׆doéIë ÷H[ã¶}í¹£çºô-±‰ùô ÃcbRþE+á¾Òž’± Ý¿âzûW evlX…gŸßžTWmÿ^¬>|3%»%%Ëã¶=]¸ëL;tGL!l*Ó#~º5;bÒ'ÀáU6NPñdµ×„µÙ¢ÏEÁiK¹_­ÁÙôÊpèL?Z|¤¯ârÁE '8 KUº»Sû[Àh9:çýøã.eS™ñ—L”:&„ÂÂBæ•áóù°dÉ’´é“e„@®!G›c&&ýšƒT¶¡ÁíG%1¡Áíj••&LL¶¡¡Œ(߉ •—ü „`b² •—â\ë>q® e„¨v56ˆ eDÑOA%1©mÀŒF¶Á­\O‚òñ~Bð[B¿Ú§ðs£cãQ}Oä#¥½MõIÙýyðûý±sÌâŒÞu/æãÍαÇÖ“÷T.Æ'&3Ú÷{÷¨(múä²<‚üü<ôMi‰ 1Æy,Z” ·ûŒÆµèWùþù¤`ì¼<ϣɛ݃¶»t <Ï£ÉlN(Óä=Ê™Íàyæ¥Ï—Í«Áî· ØØš@°ÀpÝ’XnÿR@ºÜHfx)°@Å«ÀÆÓ©éëÜí‹1Û[¢_”°O³;:Ý8a†Ý»}šˆaSYvVþ€™çÕ$˜¿+lAæ&oJéS«û —=öÿÿVþó¡àôˆ7X;¨è V÷¡ñ)×ö‡µƒz<ž¤ÉÖJ;¬ÁTíI,çSZ0±äŸ…É?‡¹hŽ ß0Rb£S0b1 ŒF #†ÃÀˆa`Ä0b1ŒF #†ÃÀˆaÄ0¤33k1z„$Íî/ÊÞù룣£€ééé迆Á`Àôt€y*# 0 0 ˜™™Ñ´hˆY¸p!àæÍ¿™Ï2€©©)ëÔ äâCAï97íp‡º>Uk‚NP.BàH²§C¹(Ç5|å˜[ßmMÚÁ¾p±°xtoì܇¤ì8jãˆrì}ŸmQŽè[Ýs‰@ |U–÷Ü[êg9l`ÇÁf9 Žã°>8ÈrQ†CàG‚*›Äg);ª2^Ǭ¾ÊEN8N‘ó:Ô¦‡ð¨úýmY î0ëÕÔ l'Ø`s†ÙK [o`›•êjò/,,D*äTWWg¬sQ}Še¿®®î?Ëd¥”ÀñGfsIØíu؇SJ?DugÆp×ù°¾:¢ü08wçåciíXèf ߣÙá…¦Êl(`M•”bþpBàê!ɇg;‹;û$T­qÂÆÕc]Ÿ„ªP¾#8-·C–Å9‰•˜T"ÆçËÜ¿2[±bETŸbÙÜb7™l˜Ê¥”J¿ ³‰]gøÿÿìoleÇ¿O×–ˆNO²Nã@¤m2¢È†¢Wã" NQIˆ˜¸u,‘¬f!1¨ƒ ò6;ÑÌÊ %ÑFEù·–@ ƒŒ(csüÝ^”e)º±å|qÚ»µ×n–îºý¾o–çîéÓëï{w¿»çn¿»rå ?sæLŠ„Î|1 Þ‚DõÓÛ”€qú=Ó ذaÐôÇ¿€·ž³X‰¿†í‹(RãU‹w7V½»Jn_  Ÿ»_}Z‹÷?Ù„Px Û›PPQƒžoëP¾q;œ»ý`{Oöò¾»§À¾}XS±RnwöÞPPþ:{o`Ñày¹]þÞ‡(ÿ¡¬åtˆ/²sAIAõü8Š,‰éP;Ç—.ø°Ý8 +6½ìxÃêŸw¡vÎq=PgmÁ  >L¿ñdÿ–Ó!þ™ÙfŠ„ŽÔzi†83ÎhjëMúáŸN^Kôóz½qû7µõ¢rÃwšcî<Õƒ§zÒößñ=7~H|åR¿·MŸG  ñœ±Í*Ä­a“æ‡g=2æ‚y)Ù?¢îãrÍ>ΑùhÚš|^+U¢ß“sm(x"?áúù žÕ¥1ÆÀŸéãçÓ6¨×ëÅòåËé|ô?ÔÖ3 ƒ1G}Äø‘•$ I/Jò›œ ‰èqû7¦ÆPqqâö^;¢{cŒ9 ³Qý¬¬ÖT>d&7Ñ“Ådò…ÝJ4ö好OœnŽçOìÎá–f‰-IöˆŽ§ÍFXÛÅëücÝcêIà ÆiF€‘Œ¼º”ˆ„7Öå“MƒƒƒˆD"‚Ùl¨~RŽIDëcŒ¡¨.¨IÈcŒ‰¤=&÷Šê‚(g ‘³õØZW¡ ᕳb™OMÈ“è}±Ë£T½_9[Ÿ„Øúiú$ò_Q]P±|xxDA”¶Qú šc)·)–6¸GokS ÕD?)Ç0_{ˆ_ø¨9#D?5 Ï/f“D„¼t“óR‘ÉdÄ;ÃiK‹6˜{ßtܼ%<õ5 ÀÈÈÌf3N\ŠCµÊ&N¹¹¹¸tù*äî—‰ûîr^^Þ\ö”pÙœÆÊx™W–Ojœ‚n,íª|¥ ,5ÍÊ|©PÿÔýãÞýÓ£Ï#Æ{”H ;ŽüÇ‹nèªíÄt©¡« Õv;º€5¹£óPÜSÙ×gF_:WÛ•Œ"š&UÛír\éT–íÉ?šðS&8©³ ºÓŠ8¦ä?’¿¤J¶þENÔâ†.ìÀjØ«“Çä@%Ã+~ÜÉ_>bèßü&v®,áÓ××GšÀSYJ—Ëšl®éP!s1pA‹E¦ðI‰?~òÛÄŒ?‰ÇÒüR½˜ äŸ­É_Mô[;ØÖŸý?úÕ`¯Æ“êz'°ÀÆ Úý ùi ì/ ÉÉ~…3€øIñ];x{™Fò%ú5;2"ùeLÇVk$ÿƒe1É¿8XFËàÉ,µä/%$‹HôËÖ‰HHãö—z’ßù…€HÉ?Ë’?|í¡I õ3Ê=ŒG vòÅpòÅ(Nˆõ‰%îw" Ô§S†ûD"¾ã| ^øÚC|Â;ÿŬÇxíÎz»óßsísš ÐÛ¥TàÝO™Ð€@&‰OJ襚™?@ÉÊ&ÿÉ€ñMFÞ•I|pj&ëTpÀpîç;ÝÅѸuºïNò—ÕÕØ«i·ÎpòO^“L™Q±R2†DÆ1$2†Œ!‘1$2†Œ!‘1d ‰Œ!‘1d ‰Œ!cHdÌ”ÐCùydŒµyóf2Fª­­U´åþúûûÁƒÉdÂíÛŠT”“c+.ÿ*Œ1„ƒ'<ƒ!‡¢–Ùls丫%ÃC$ôNìù«Öý@€®Åä¤úbñ¤¦!y>x•_ü&·Õc©Û€PxÔWe nÖªQߘ³»#¯•Åý>õÊc¥8¶®¯Ê.\<…Ùö(ïW¸@¿‰ª×ñ¥²jìñ‡«QHUÜZ&î‰æ¸üð»88Äe¾*«°Þj—‹r®èÿßI¦Öpr—Ã1ª¿`Š_lû“Ž­7É/ü‘ô#ÅÛþ©(“T¿ñÐú¼^/Z[[ËÖ¯_Ÿ•Oecª|»àâ¶Àö‰4×urn7n¸Ã·àâ@áß×Qe5¸;/¤7:8à›0^¶FMPç—p—Dó…Ú, &ר t,i²~\+¾G¡HÅuq`—î’h®rq+F“gõz*Ë$Õo<´>¯×‹¥K—&í— §2Ör:DÕ°u¨ÿÿÿì{lÕ‡¿ñzg›°ÄA.¡‘Ö)ˆ”¶H…ÊB\aJHK¡ZñÊ6¸®&5-M!Š,E„b°»rH*‚À€äM<lÑå%D”Äž BÍÖÄnÀaÛÛ?fvvÆÞµ÷a'9Ÿ´Þñ{ÏÜ93gïüæÞ™«ìÝ»7Û~PïÇ/½ø<7ßrSÖõ{ãÿ㬊S&]_óY7 jÖ•Ô_%É õææ§cé‹å9Ù4ÚÁÒØß]:Û1ø××áç]¿¯—ñâ'pÕÞ5ܵz7új¨¼î9gÝ]·_ÃÂEçrÇ]äh _;~){ãÖ¬ÜVZ§ü=ëäš_ÿëüLXðÎ§Š³¾oëó<ø•5‡òúÆÕôß×ÉT+dlA(ävÌ™«ÿåñà¦…Ðøí¥¬Û³uBWíïK&6ŒÀ³–xüç§sÓÓýÎÿ“å-¶Üø<©ý„BØ74êmaÎ>=p7ß hEYøÓ‚˹÷“—åH G…û‡Ò-Œœ:gä(nþr ¸íE:‹¶!¹¢Ø8%`À˜Š§ßÛÏ®C§°úÑŸá+›]ÔÆw ‰±>7¯¾ÊüÙfÔÎVÏ·úƒ¼v ÈG æ yïà\n3ʸí÷‹vøÇc=lþøži=ˆ›ÿ{›ößFcß/ò.ûNÿ\^;0‡WöÏ‘hÈ%`ì©*K|9ŒÃìj78köaÖÞð »wî.²yå‰×÷q÷ÿb÷{oLëŽu=·óObñ)ôÇÔûY4÷+¸$ÁŽ·‹Ÿ ä[%?âÞÍ+§u_ix‰ÇÿÐà ëÞλìóœü‚KΖhÈ_‰õQ’ÉdòÕÝŸóÊ™;èRf Ž5ï:š¾$óû¼—dšªcèÖKÌ(Ö R3j¥D»áäOÇôÚŠšV~MÕ]f4ǪnXeÓe ï6]¤&€÷æuO o¤¿íºjZ]µÆhûÆ»©²îíhªž.gF‰jé¼QӲ/¶ÿtUCW'î³ÉšÖ¶5­õ™I×]W5¢Zf¿§Ø² ˆ÷°em [ֶЇž¸€µ°emKºP¼ÇI,ü>¿O±Z˜wÿ=HÕiâAÈFŸ=ÏL)À¬Ò`L¼"Y°bÄÿ¸€9Qf[Ìk_¾îüÂÌöY"‘àðáÃŒŒŒà÷ûvž¸ô»ÆWâÕ0C‡Y~#PΗí·R³|+¶wPG õKîd'·²b{+uUùW¶µ–VAÛì”+ µÜ·‡ú%ÏxµÌP·“·>pµ³mÀÙþ¡/†ð—•;eê—òðP7ôYõ}Œ‹ùr¨ÛYïÍ¿ ¸‚š–>ºÎÞHÍò,nïæÜªìöSÛØ ,nïæ*-Õ=›®çøm:¿`³ü$G&õϳ±>V\YE]•ÛG…ùÚ±E õKvñðPköë÷RGFF'¤×.å1Þà.fç_uüäœ΃L>óÐÙBë}wÂ#_±»ž¤;³Ï¶Aç  ý„úÀëxÛéõ{lã¸ãè¾à÷û3Ü%³‡c&“ɤ±=Žû¡˜}ûöÉO¡pÒQUUE"1Ìgÿ9Àçý©ªZè´0o~4 ™Ÿ¹œ?þ„´§6ý”ºõ=l{j-ÖÈÄ 3ІâMM˜ma~C -0Ì‘Pþ¶ÚÂD:¬A¸] \¿k=ñŽH53i3CÎuë)X¤gº‰0^¼ç'ÐaQȤ׽_]mT\ÿaî¢ßlƒPdJÑŸËë…òý‚p²‹þŒ-̼yóij ÉßÞ¼{ÒK²©ÈYôG”jb…‰áù‘™3ÞfbôB,2m&sy°0ã­‰ˆU®ZQhîMߨh.ðDI•³njÄh®VP”HÁõÑ/3Mô ÇPÐÛ=úáŠ0oýò<âMu´™!îií"ÞTƒéêI7Û„"Ymyzñ]bx¼©D¿»N¬o™Ð£Ÿ—=[Ä?o¢ÆúµFö¦¼‘pDÿÄ»d‚pò‰þŒSó”\’ 'ÿüÕ4öô?{-l\ çõ®§37®„eµ°Lü}ì8 ê¯-¼øÆ•ÓkûÙX5=çŲډõ|{eñõË´\Ð%™´0‚´0yˆþ­+Dô„ÛÒÃçC‘º(bÜEWÔX=ç©áó)^ ]@MWáë)¨§?usÁsƒ"ÏáýãGdÞ/=ý‚0­¢_zú…“Š£ÖÓ_­(@ŒêêfÏ~EQœ4áX“îUŸò=¦©Ç; Ý{ÞÜÛk¥Çò­™w_"J5ÍÕ ±ˆRpO¿éé„"™æáý4Åeâ¥wM^¦éÉ«ÓÃÝ]â½`]„ìuªò{îÀ3jaÜ}ëq†ÜZ™\E¿ ïý‚pˆþ” «nîu–E±Ÿ'—§÷½Ø·v¾ÃûS7oGH*ªÝ¢_‰Ä\uëÍKX§ê”²—²9~YD¿ ÌpÑ_"n„Ü‘€ A€ A€ A$`AF$`AF$`AF A€ A€„™D2™dltŒ±äXÆõ¥â"ApÌ••󩬜Ïðð°´0‚0é%WI cccY§+ÌØÂìß¿ßS`llLžóN(<ˆÏçsÎó@ à šd2é<Ï?eÀ”——3::Ji©µ:‘fÏS¼,œ0”——qÆóQ…‘‘§e™ŠŒãóùðù|Îÿ³g— -/ '$eee9Ë”& rÍÒ xcëV‚EUUOž¨ é¶ÇC·—Ó©ºª¢«Q×z0tÕ±‘Ϋ¡jQ;ÍðäOñÇ ’øtg:ÁU/M‹º¶©¢©ªn8ÙU»>š½a]լᭋµÒœ}÷φǎçGçöÛñÝx#«´ó¬z©ªSǨiï§n`¸<åN#‹}]Uí:D5uÜV¢ë-LNÆ÷’ ‚àe«bÛÛÛÅ+‚…o~/ìmaj—T088ˆªª äaÊj'¤®Y³† —7CíÐ å¸`0èñSÔ„U^J5aÍ÷ƒlxwÈœ@‹št.zj7MX×ÞÞÎòåËíËÈ ƒm:tÈóæyU7ØDÆã2šªÑ9Ð)’¥…ɪaÒZÅD×´tšié G3D{- ¡VšKsè×– «sÀœ…ªûQÕ †DWçÕ‚¶ sB|ðPÊ7ºKµ•XÁòX²–³Ñ¹*µ›lZšÍpžDÕfåU§ ¿­ÅŒÞï+¯–1½¦ªªu tUÓ1t•ŶÞr M»>†Œº£ùNF äiaAÈrõ~ø?ÿÿì}xսǿg“HHÁ Êz{•B²¨ØV¥Ê[lµ¤Yaõ"èÅÚG/ ØF´.îå¶p„*nÑ%¨•Z_Ú¦WÞL\ÔG ‚*V <&ˆ a“MæÜ?æegö-û–’ßçyöÙÙ™9g~ç7ç»3çüæœa“&MJw:nr A„¦¦á[°M¥G8¹‚ :'9%™ž»$ˆÅâ‹â?ü‹Q€7ö'ÏW ?0^rÛ«ü3–ý÷oðõÙæàis| ÞØð;p(OMrø–ßýþ]²XR¤+˃w [.ïøÌ(üíÓj±4o†þsð| ê¾®ÖOŠ^ÁK?{ïâþúÁ{À'/᥅ÇQ‡Cx`*p`ûÔM ï¢3It9`!· ˆDyŸ¢ËO,}Ь¿tîûÞ/ñÖëE¨Iz .ã@Ê$$÷KIlÛ_þÌPi‡åÀÖÉ)˜6w¶¾œ‹Ç— D€ÚûÐ/åKÀàø¤ýüît†aØ‚}÷« Œ[L'è>N7º[6®ÃÊå ÏH"HJ2à|³õò>¾íÒïôþRåÔþÁÀ±ry>~ýÈ€ýOèwÛÃ’.vâzü0ëFŒ{[ð< !"­0X„W––6ŽÁC€¦Öøc˜?x›÷}…sç/vIÁª?ݯ/Äwƒyé/IxsM>¨ã¶gßò&¸¿û#¦–ÌJXÝ'/á¼Gúx›;¢JÛæmÇùVŽ&GSC-)!±0 ÙÀ€H\=ö_Û1*}ÚÚ›ã>pZjœªÿußœ`Jh¡~in\ó{´w¸Ä.˜ýæ¼ÞK˜ysššâ³ihÒq ²_­ü*aåÜžW‰Ûg„ØÁqðõê¨Ò~Ópcÿe:Ú½xöôRBÀÞÿü,om©7¬‡¢À‚¸|ü£¾õ‡DçWƒN+6yVGüg˜ŒAž12ñOR¡·-ˆý±Î@¢÷AE ‚Ø!Øl1—D9^(߇¶-’m€*õwUÀ{I‘Þ†’B]Y\8Ìf_ÅÎ-€ËaV«vJ_ÅñU.wyž<•ª .‡þDšäü¥/³šÞ,HÓò8\Wveß`ÂV¦kªíTí“ˤäï eJØ€cËéå8Ìf¸ îM0ëÊ¢LäÒæPf9 ‡&'¶ûün"m€F”,-BÉÒ"Ý–¢¥%¨*YŠFQIVYóÿ®ÙKm–.ÄU7†~ÃÄ·YªÜØé^h‚,'Îr°ƒ.7?{¡ÄBa8y.ÜmAºÛ0C2‰… :%ÙÀìeéêWæùOhM{ŠÏš››‘šš Æcàœë¯,Ýg‰ôíKùørùÌëõlˆ³@{{<­Þ ŸµØœ`ŒÁÓºÛZw`ÛO«äužcë°-DzO«—<­ºßsØD9//ØœX›?žV¯ªn)_/›‹ ò:¼/c kyU{”má>нí»ö˜W=®²ï„üuæ¯|c˜Ã&b›¨+“§µ s¶îÎïŠÖÛ¡Ë/R‡ÊKòE<ÛCç×Ñ!†Ü6‡ÍÅÚ ýüÙyõ™_%Õ£ö æ³µÇvÀÓZ%Ÿ?É×úzü<^ò´Êõ¿=¨˜ 0ø¿ê˜sQƒ~σæ fiñ@9rEŽiŸ¯Å†jNyÝü›ìÈ ‘^E´·wè~sp)¯ÝyÿÊ*𻋰¡ZÄ‘5ã±æ¨£·z°[ÑÜRg‹Í-ˆò¾kŽzÀEQZ'r4·l y\壨+¥ ½Eˆbš[Šäò–a“XÒiþ¢’îèZŒÿ1^WË$Ó„ÏW/Œßÿ<žÉÁ5ùEêãPyI¾0aþ}¡ †ÛÖ·áñ÷öøù)²óêã|ÜQäŲN÷ æ3.šñ‹õ\>’¯¬¯©'ÁÏc{»ô„drr2Rä¹ô´0ÆÀÊ4pÎ}#%Sû§Áëmï²ËÝ·ß~‹k¯½ö²_vHÃ…‹=ç¥K))É ó{"}Ü?µŸú¯ÛÓˆÍg'1pÀÿâÂÅ¢Ÿ%'1 4ÍÍ-8}ú 22†ªÛ+ëÚÅR__O7°DŸ$##—.yP_¢ØÌÌa:±L¡Ýuב×"X»%Ò¿«Ý‹Áƒ£æ³·Èk=Š]€¥Ø%=Iæ´Ãh·Çœ›ÝhÓn„ÑR );ßr´(v¸Š-ª}®bK\¥-¶[â²ÉUlÑîàòù)JŸE,–‹žÇ¤ h:× ¯qÂb4ÂhwÂh4Ân´PýíVä§Í–ŒC…Kzª²1?¾s3%VbŒF£º ŠãNÜ'Ûç„É«k¾=.›^XÌ|-–bŸ}–šùQù, Í¬>Ùù{´$›ð±s;þçù°;üª²Dï!---l›%b±D_K@ðàÁä5¢OÒÒÒ’˜6ËšÇ~І/>Ž`Ï2òz‘]«Ÿ{ kÈ/‘PS˜ f-PfµÊUÕê[Nd?ó©÷qÂù&üj¥ïä1+ʬ …5þ'­ @¬Ù…t–È’žÂèR45…:o+""ñçy0oÓJd¼xšTO,T—cjà‡zêxúâ×ð“ŸÞXþÀhòþeº²|ôÑSäˆ.¼ ‹ªÍŠ-«f’7/3$”ËK€XΞ=K^!ú$iii‰i³øcwJ¢çOŠ-¾)*|ïèp¹\0íjÚo°ZewÃhŒ¾ŒNhŸHè†>5Ro7Z02™I´'à´K•<Þ¾µÔ7ÿ‘ñŽ“I?Í}ûKå?ÕØþY¥_¹r¬hlÌWË)9jª8Ñ=|‚è ·aáørAÄØÀ§>ÑWIX_wo˲ɳ=ìÂ$*&Yfe`±•Ë Á˜÷EÍ`üsÐUµ«"øréÕEŸÑôxKO€1†ÌBu‚ò›²°ø[ ŸçÒ˜“ÇDÁÂ)r])‹K&SfÇñ'-ÛÕ-üW™2 x UV¢w܆uiŸ„BôÙ>Eð‰¾J—Eð‰îBk/½¸BZÖŽqW¢ìEÜýǯ-Åp†É#|~Z›ÇÚ‡Ê/|1%ÛŠíu9Ú2†Ï>þ1øÑ%]Å€É »ÑËÌÈɧ7ÞtÅò‹‹¬&iÙjrj¶åpÊÛrÔý‚»â'¶aÉhlô7å±”üÆÒËÙd´ãö×–à¾ýÑØá X–béÁ…œ“߻тüF;ìÆ|Œ¼ý¬¥QÙ%mÕÊ"”Z¿K±K]V®, V,ª”j1ÑënÃÞÀ'¡ÔÀ0ùmŠà}“}tAŸ¸ü¬›'}?yoÝÛó¢ÏçɾåQ·Ÿæ.G‹šn¸Æ¦á1t8ðé<à^¸&viË£µ/š2F'–k|'êÞÜÀõD÷¢TôOå yÿ&½x"aC‰ô}o.`½Ø—)å§,ÇÂmšW:ïù;°n8ðv¬uä$pÛ&`'€uÿ®w4(åyûvŸ}o_£·µ3ø9Mè_íéMTY‰Þw–ð> … >€Ý÷SŸè«$8‚O€_^BF´ö¸Æ»»àåwÅ8[½<_±IÉ;V«”৆e}»Ñ¢±«[Æà;U“íF‹:ƒ> Es•ѵhÇÆ;qVÎÏQýîï=&@?K½ü¤FÔù˜LAóŽm ¾//%ößXj­|²]4Ÿ qFc𠢋ø4Ÿè«tÉ|¢g’¨ñîP˜Íâ°Cۮǟ—Yc*KMM ³JC“5ãû£EÉ§ÛÆàëÇÝ—!›±„ž ">|ãÝãç©xÌi}ãÚËPX“åL eÉÊÊ’ìÉ‚n|´(ù\Ö1øÑ›nèO]ÑÀ§1øD_…Æà÷b´³Þ+Äþb¿hyŒ3ֳɅègÓWŸR#ïñØd7Zº}À »¥F£Q}B1„è~”Yïã¿È»ÛÀ§>ÑW¡~/C73}™Ùšˆv,³è×fÍÛñŽžÂy:ï2+²å7.dGñæ­MÊ“e~˱û-ö>Ê4ðw7p·ÛÍÝn7Kun¯æœTs¢›˜‡‰|&rÎ9ǼRÎUÿ—òy¥œ—F•[)×¦ÐæÍ9çÀ¼¸lXPÍ ª9ŸWZ­Ë7›í·‰ÕjþÚeÎ9onnægÏ~Ëþ'ÿì³Ãª&Ün7/?ÒÀÁ/ƒôJ‚¸Òoú<‚OB!úÔf! AX‚ÄB$‚ ±‰…  AX‚ÄB$‚ ±‰… H,AX‚ÄB$‚ ±‰… H,AX‚ÄB$‚ ±‰… H,Ab!‚ÄB$‚ ±‰… H,Ab! A ¢(BÅ Û’É=!qþüy¤¦¦"3s(càœÓ•… è6Œ â$??ëׯ§Û0‚Grr2.\ˆŽŽŽ ·a$‚éß¿? ))Imì‡ËéÓ§ÁSsÎqõÕW“'‰^טÆ’““‘––†öööðWÿ©©©`Œaûöí˜:u*8çhmm ÙFW"çHMM<÷ÜsX¼xqd·i¡6dee©ËgÎ|¯×K^&z¢SæP@fffämÿƒÔAvÓM7©—©¶¶6pNW¢wÀ4õü¡‡Ò5;¢K°„Çg‡‰^ ç¼Óö ÐIœ¥ªò54Ô¼t› €Ë2­ \°U¨ËfÁ,/Iëlêï@ö®š½«fÝæ0 p…;h… 1:Õ!g¬Øæq mmèïrá‹Çf€îW¨rÚ³.e¿Hü«ÝDŒbñ4ÅøÜ'Ñ2ô~LŸ|³z¢”ú=cSl‚A ¶€“`Ì0«++€ ›Oܹ*`ŒÖ&”Eꤎt9®:\'LÅ®¼r7L~âБû[äj„¥«Ä.‡\[ør R#î@ZvíDÛŠ8zá›0Š?*5Ç“ÖÙ›uÇ×ÿö€M`ÖÙ›ÝDŒbùêÿÂáFŽãï¬Æ–݇n·¹þ{ŽÅlŒÅlÖ1ú Qph:*ŸTj)„›ÕJS~÷;R%2ï0VW¡„1‹ ?˜S° /|žŽ3w¬Q×ií2 ¾+‹’_ VH›0FÝ–W^[…r…Ë…0f‹\žcš«  L¿Û¤³wtIyÈúŽé÷£ãÕWñ^S½ÎFÕJšÜ{Ôãi×”ÌÆlM´¿Ýn·*rApÏìJZé‡ÊUcµ›è¤­S~¤sŒvyƒ BPY×FφD¤¨½a[·n%oDfÍš Ñ'–iÓ¦%ô‹-ꕎ[½zuBÊýâ‹/¢©©)!yuf‘à+‹Òc"34Q}ÏJ»<`½Ãä™÷Y½z5s?¸Ë[Ã` À}ñŠsœ p»KäVÞI…@®‚w‰Èm‰Y˜‚0nw * 9R0¤Î íy1 f”9wDt´Y¡ø÷ó&L¢voj“h…bÀìÐ.6!›qåõû›ÍߊË!õ¦i»¨s½¼ÀX¼Ü9Ún^Áì‹_Í`R±K±}þ±›Ñržf‡ ê9ª€Ômï{ Þ…nv¸àpõí!ðÓ×í¸hŒ éb¬„Ùá’KÛ7ÏÔYm÷f`žé(8äEåñ$¶¹B¤  Ä‹Ù¶ŒI¿¢œV^ž§ïæÞ<ï¼ipÉÊrHáùuóúwénF Üü6Š«¯ru׿µzc¦ßmB #r!ØvážÙ•¾®è ]èJÓï6a‘®+¿¢Ï‰¥ËºŽ/\¸Ð+6pàÀ„”{È!¶Y"Í«3›ˆøHOOGÅQM?===á諎MÔ¾}Õ‡=¶¯Œœ,?ÒHÞ ˆ0ü?{çßTyïñÏé/­B&S_NK™ƒë~\Æ{õÒ5Ø¸íª£ƒ×œüÐÙØ)‘±×Ø-г“»a±Ù…Û¥ws¨»» Šà4™ÍÂÆÝê.…9ç€* q85@ -¤I“œûÇ9IÎÉ6I“4-Ÿ÷ë•×99ç9Ïó}¾Ïožœçû<¼yó®Z¸êÉw© B!ÙàS7UAEQ|êÕƒÔ!„ì ó D^&K:fài]5E!9âŽWñ½U÷fôìãŸÂÍ5ó1u¢Ÿœ^™öó‡»Ýø``v<¸ÿýBkF2Üý•ܵù™xãRVZªºøöïªðÈ#Òùâ/À À£×ÞêR…}äÁF|þ{M¨½"öÀ~ü–ø°{›?Ý |ãFV6BÈùC 0ˆ£ž³?[VZŠªª+ââø§Ú¸ð¿ïR¿/¬ªªÄ©·?Bÿ©“èÝ÷@±"ëÊWáùmV,Xh€ÈyËü™iè?u2ÎŽ”@i©z"rذ(yôQéú ¯EÃþý¹»ðxÛüý¹»PúÕ°ê#æ¸í‹X°ðû’`?GqI žºUº¿@w5€Yx¾cþÍønÂËh°&xnÛÃøû•÷âõÿ{ ³>_×ÿö Ü~%+$!d|PTT„îwÞW]{õV<¿Íªº¶`¡ó¿nŒ{¶´´'zΠû自{Ó*ñ­o7E¾?ùD#ºªË¤â©еýYÉ`@²@Ä‚…F<ùDc$ýú^G×ó’VS¬ kGQÅ_í?a†¿tCtˆñ«ýÇY!$¼òÂvÜþ•º=[5õ"¸>HßU0üœ¥öŸ°aÙ¼4Ÿ–†.«¾+í¿7.¿~ãC–.!„¬QV…©¾n µB!$½1Œüæ¯'ÔÆEɉžÅ·vLràƒÎ¡ ¡{Îâu£Ö!„ä‹ /(‰¹(9uZ¹˜?z}òÕð¾ëƒAœ:ý2ž}·÷¼ó-àÖ'“&ö¹GzPky ¸fáPS·Ͼ[ƒ#ó.Áº#=¨D0’æºiz¬;²?ЂOÏ¢!>=`È4ÃÜ]׊CGzý$ܳý9̬sáï‘yz¬;Ò.§ÿ2Öý®ë®i•ïI²Íœö-úYæé=ûn îùD8¿Rzë¦]‚{ô`Í4=þûÈê„a†Â‡ÿ‹1`6Ö¨ÊÂo¿+¦(ÓàRb„ÜS³íWœq)S½ñ/AãÿöaéÕà@qI Š  ¬´¯Î+Çz®cÿ1d‚ÛkØRÓ‡²R`ËåhÂ24>Y‹"ÌAYi8¾c¨ºê³Xt½tmÑŒ˜9¯®cËÑ›ÞÓËP5íüìXn*ÝËQu•´€ëX‡*Þ=wïÃ̇‹Erü®ûÊ1sä4e9pe%ÿazÀúyåX÷24k1?’ÞÜ6í,zZÒI¢0®õÉW¦,¸Ž9WUǔŗå2R§A!¹¦¸X½H¥ Š¢¨\'éSÚ‹¨%B!iQqQ ö¾Ó›|äR1ÉO-BIÚv”Ò[~@åC!„¤…òµ‹d\ä/Ù°-¿=Ö©—\ù~Î/â3S<õÚ)g—ŒZ¦y/Dù„\XœõÏÿézÏô£ûw;ÐöØ}#ŽçÎYß”0¬Ï_÷_£Ç€³g¢×_\4€Ò/ïzô p¤WÚÈľûøOp¥~Ðþïøé†U£^¹?·íjüeiÞꛌ…/| o,<šó4Ó-ûÅí·àÖ>@(„Á`üAüú?ÿŒ=?<39ÏKqìÜD¹]J×ÞpŸ@ç+[a]·„=#¹qQœIÖF\ù³ÀÛGþøéóó±ï£{ðË—nÃwÛæã›ºÑݧÏWÛÁ³xú'ðÌŽãÃ=èïëAÿGG º°~ .Vδl„öxàFÀç ŒŠ<»x"ü!À»µ›öûðË5`Á§Êp¶÷ä¨ëêíÀ$<ñ/­X°­{Þ_…Ù—ëð¹mW\™zƒðúqÎïÇ÷>¹ ý^œðâܹýKºü‚RôxEôxEœñIŸË/»gŽf¯H²4r"Ÿ’Ø¡ÌH9õÁ œó‹¸Ë`Ç•‡0{A Þü0Ï™~\:qô2}¼8ÑÓ ÿà |þAœ:Óþ?Îööê§?ôÀñë_¡{ÿÞȵZqóúo¥Â¨È´éñG<Œ‹Ný»+ë¥_Žº®¾ð1¼T÷4º½×¢ã‰WÐ|Ï5ø¯…“ ®Lß­g>ç…?À7;kpÎ'•P0·ÿKûÊà }²-+„²#ãŸ(ÎEQwè$DƒPÖ÷n=_ÈÕßb„eOÈXáÏÇ£ÿ¨HË¿ÈÖfº!„’!EŠ‘K‘tAˆó®“FŸF´´º£ß4 4Óð¹[UÏ¥–” Ž4Ë©LI0i4Ðh4r|ŽaãUêܤÑgU–tä59‚Y§š Ss@£HÈݪG«Ð'«w9Ò…)F~MZõ>i%‚F£;k2&©·]Û±víZlÚãÉJ:Û×nbIF`\„芊 )5@}lçLÀݺA~ý`éö–h‡ê0IŸpw*•U â—;‡)±©Y!b [8N“#ÚIë½QNeJÊôööbÍ­Itkp:#ö…,ÑNØ1T&G´Ã Ç©‘ãTæ;\N}+à0I÷†ÉÇí5Ñ8·¨t¢îx׿ދÞÞ^´ê5qé)ó•ì‡Êú5‘| a5`¦üb¸r‘~(„ëŸ>F¦áËYQF“\&úV,3ö²îÒ2n•XŠ9¨L¢w“lxÔuÀ!çA¯Ò™¾Õ ̹6> ÏxfÔá±ÇÃC·Û»¢ÆA:vA²9]X»iàÙƒ=ždašµ€Mr¸í]€gÏ&dÉŽ‘ñh\d[RT$—â"Å ‹ÔÑé[Ýhy}=4 î|½=ò« s¤.~KàNÕ/Ò5À–Wjðâ, 4u["£l©S"ÔñKjn‡ËÈÐÍŠœ·ê5Ðè_ô¶LƒÆä@K ÐòúÐh4è|ûH^dŽÞö†$ñÖ`Í,Mœ1êííUurQÙÂákp¨NͬÑP ´l_ FyæÎù•1å¬ÿIPs»to˜|lhuÇÅ ·/íTuÎkfi ÑèÑÐÞW/$9Õ2$¢¥Æ Ge*Œ4•K8²¥8” þ©ï¥RÎPÓÒ‹V½ í‘rR˽tæ‹ÐÌZƒ†”uc :áNª÷9˜¥Ñ`æöhИ^QéXU‡;ߎOB{ ´òÈe{—u3€º¯]†µ²Qfà7?–Î?sÙ_±öÇ¿Á-Úäa$>ŒŒ„êV|k׮ŧW<`ÞüåZlçك’¤„mIq‘ ½Ðßï> 8Õïç }B!Ñ­ðH(€’"Z!„2"”¶¤DÊP)„BF†Ò–HÆ¥xè‘KEEŘÎp__ÊËËÇU!æ:Oc=þñuFåKgeeeèééÁĉ’ç»rAàóùPVÿ ¥¸X€"DÙ¸ãûo1q®È™ë<õøY u–EmIS‘3A0Úvcêqâ›×Èå…Bi¤™*vÈÙË‘å-7yJ%þtäNv8ùcó¡Œåc¤zH·Lu:"m!+õ7]å[®LË%*ƒBŽÊ)sɸ,°ËÇh}¶Gú¶±^§RÑY €ÕjE{{;‡vµ›Š\$¨=+c áð§ý9·â táÀ ¼~yA³¹ð¼„ ýÑã®û!6ô#€¼~ìú†ïÀ ü>?æ†CûÆK™Éáò~8ͨ\Ée+rØAT]å‡÷`3vÉñÜ·Ëû„¹Òy’c4^)oÑxïWä;F?#Ê“Z¿sç6«äI_ga¹¥¼‡©Såí`3ĆMSþØ|„ðæ0ºŽ)'9Ÿ„à=ØŒ¹Ot¥”^0ʸ¾{qGÛo1wn3v}C@‹wü¾Äò墧+—²^xwÝûve&W&: „zŸTOîÛU{årJXŸF »Ìu&®lÀ­~ÌnRÔçjüèÍï(ÞÔu6DRÔëh¿$éHÕ6"í15ýó¨úÿ’’Fèõz”–½µmØ– òÚb]Çûïô&œŠ|Á¤ 18ÀXåäÉ“˜5á³;élê’Òî]ý}gÆtG\~Ñ$ø}Þqe\r§±¦r=¡Î¨³|é,:°Œ` À bHLù…N<\¶µ|Áž·ìy ÛZ¾B!çY7.Áž·ð`Ó\6ýf|ä»ÚOÍÇŸœ|õK7pÃì”Âi VÀm…V«…€Ó¬…V«˜µhµf–Ç8auKG©IHmC«5Ã,·ƒh˜übÖä£Ô­mÒóÑ×™ú<|?_z3hµÐÊú‚,‡SN?‘ž´á0/å'ÝVCÂúdÖrZϲ¾©ý¿?þmÜv[ nøòc]6×Ο ï›ðܯöš¯±ÂlØÍ³V GZbUÛÕÏ^D2éñ4³ÿ!çÕ¨`5܈fÛV`k3š¯ù$œªGY²fO37výë^Øl• Ï£®3ÜKçZ³5Ÿl†Ñ˜íÙ<8ÍZ¸lÖÐ챡ïÀ£¿ˆžº\9/Ù›¤ã3‹Íhv[Qi´Å…q[ xÐcË©‚(Š¢ã¯R‰"Înns"¤‘ "F%lÕµÚ‡àÉq¦!„dNyy9‚Á  qòT¼8w΋‰ËpÅO8[¬ó]z/ô§L™’¶p»ÿx4QLÅN–!„0>ŸoÄq”äJ¸ÎŸ~t¿·<'ñ§þÄÒ"„óˆœÌûÃæ|äáóËÅÒïÄ:ê¹ ‚´tŠË=W,­`qIËC‚Å£ìµ Øa4ê ÓÉã.».–!)H\r="h‚ D– ±è¤ëÊû:ŹTÿ€ËÂ:NÒ"¼äQøè²„—Q/Ç]Éž“%e²n\¾úèÿÀ1u9ö]v/6¬ÀûÏâ‘Eî[tÓ!Š"¬µ€qº ¢(â€Á`:u°ïŒ„E×™–À*ÚÐÒ-Í­ž¹º"t:#,Ó­¨b]"L¤îÚèEÜÔÖÀ…ç¾Ú-µƒHݶã:›±»öHý·hÇýX8(e²úÚi£©³Õ-Ò±­¾pYPµ²#þ§E‡ÕbGNåHé…~&Kî×4lÂÏIœþð8Þú}[V…¶èài+iY!$ëø|¾¿ÐÏÙl1B!c“lÌ㔄B²N–‹Z­Z³3¡Ç½Yk€Y+] !Ñö£ö”}%±ÞÞRV_ËaïvuºNX­æH_ï1ŸÜV¸‡(/ƒÁšð<Û2hµZ)}§N8#«¡Œ–‡~–K5c6<ÍÕXÔÕÏÞ¦8ûfÏV4íõDŽ„¹ó4¸`¬, £‹Òë[yžWº\ Œq5àÙºNHó[ïƒ;oef*¨Ld”f¸ØlFõy.¨4Âãñ ñ!+Ì‹žA5ªÑµÈ ŒG}B!c“‚öÐ'„26Ɇ‡>_èBÉ:Y7.FAìYÄ{KÎDvÙ[Ù"{ç‚ÎÂÒ D aTl/[(é½E—_Ùt‘>Â.;šº`´«Wöú›ü9wÆ¥'¯:"Éä‚=ìÐi7Â{¤¿Ë§¾Æ‡>ð:D0m@"¯c‰ZÔã&ˆÖ•°N·À¨ÓAìXÉÞ„vÔÛ¬°ÆµÑÇ*Z^e ?ª–yêèX)w„µ¨…´Ú‡µ¶¦ v¸,MXYtˆ"lõ¯åmÉezFAT­„(Š0-±¨Bm¸#7´¡µòj$yÔ×xòÐ7 :XSÚAX1Ç™$„’:ÙðÐOé…þ‰'Rêž]i„×À“VxB!¹¦¼¼|Äqð…>!„¬“uãbÖ`Ðja½À Zµ§¾ò!㇨ã£Õ`Nâý»Ç»Vw*çé¶Á¡ö»—ãSxt'ó¾Oå<;zrBr&wÃìTŸ§§§ÌuÆ`°ª½Ýá†SŽOZiD ³3ß:K¿Vlj‡>ìƒÍã7pbÆV<{›ä £¼GÈøÄhk&D57;á¶6ÃX™Êyzé+÷nWžŠUÝɼïS9ÏŽžªQ Àj¸ÍÕêóôô”¹ÎTô Ý•‘ï ‹÷Áãñà™EæQÓY*¨ÒOúf­ÍI„ê!„ ú)—êmÔ6!„œ't,ñqÉ}B!…GöË¥Àþz`c½ôuG=°c6°üRéZø{˜ØkËë¤ç ¯lTÔï/"Ú6Âõ?ÌŽúüµ…1é쨋^ÛX¯–Oy=ß,¿T:*û˜å³ÕzÚ8JýÇŽºhÿ.ÓýõÀÆiÑ0ûkòW–áãµ³ãõ«'åõ‚5.7´ÿ,?êÖ(îßÕàÕR^û—£Ò󄜼,WµEë¸mÜÕ¬{¸6ŸM“Ò»k;`ý³téŸßQ˧¼>Zü¯Xõ¼dœ—h€œÒùµ³k¾û…ÎpJê¿–T»ß‘ûÂjEXMîÅQ•Ï¥ÀÛûâÃäCOYç²¼Xr °®-Úp”–rUÛð×!„ŒÙxçÂý\!„¨ÈÆl1¾Ð'„’ur⡯Þ×Ú ­V ­Ù){¸š#°NHžÃápV§tÝm5¨¼ú ËÄ{g'óB—îJÕê½áó-«tëÝ/ïc¯ò`ÏÚð¦ðPêI-·´"H>ûŒïö8ݨïÇæ!We§LkyèËÔ4ÃãÙ «»‹1žfé­–ÇÓ óðx<¨`´y°·IžÎpÏV8jlò³ì˜ÈØGí-íûžØ ] WY5n¨÷†ÏJ¯mÉáYíÝ@ÚÇ^åÁžGº\ªŽPÒ“Zn›Çƒ­‹÷a4º³Ö§›ÈŠª<äQ_ãÉCŸBÈØ&ï\RZrÊ”)Ô6!„œ'ø|¾ÇÁú„B²NÖ‹E'@Döe–÷”–ök¶Ãb1Ê÷£÷ìˆ GÈùŽzoøB#×í4¿:¨.”{×[tÆH8A0Âî_ò\.‚Ñ£ “ú1ÅÞÔ:°a‡]u=×rb.‹.NjÝæ¦Žeݸ¬ìÑÝrS4ÓME?ÉÛ­E,®è½ÚDá9¯Qï ¾±ºE:¶Õ7&ìü”{ׯì°F:Éz›ÖîØóT.*ãwà0î¨MêÇ FÕ^öFCjQ‹cþ”xà0ಠjeü6ò.‹«s¼½|J/ô+*2_Ù¢`z °ÉF„BHaãóùòóB${Ü߽˃»¥Hp‚eF!Oyyùˆãà }B!Y'ËÆEòÆ7XÝ0k QÏ^y QÉ{Vòú•Σ^øù9BÎ'b½ª µc¢Ò =¿¨½¶É+ëhê)|ßj0çxUøÂ$[½ *«3§Žá‘|;Íp‰ðbãÄC_òÆ·É.©F›ƒÎêfT 4í…ÇÓ À‰[=ðìm’½÷Áæñ›ÙÛóåî ¼ÐG›°f­!FÖÑדÒÛÜhkαêT†,võ‚=ÅyëçÊÈ,zÕ¨F×"3=ô¥¥&lì`!¤7úO‹,MB)è¡O!¤ ɺqQ{Öº"ÞªFA @'{CI¶ÆÈ¹Îb)HOdB²Û&¸,pAím®Ÿ#B!ù‡Æ…BHR‚Á vìØÃ‡# ¦üÿ#„Ç\€¢¢"£®®.íçS2.©ü¿F!d|000…B ï—••eǸœ={   ¤$ú¨(Š˜0a"‚ÁDQdÉBH ‰…B»ñHŸîÏ‹ŠŠ"ŸlÖßb@›7oÆÍ7ߌ믿>Î>}@€¥H!g\B(-+Á”É“U×7n܈[o½×_=&L˜µôQEÇ_=ò¸ññÃðKœ¡F.gÏyñÞ±ãÅK‘B p䢹äb\qùLJ¹d:Hè|×iŒ\͈M|â„2LŸ~ KB ˜TúóTÞ© GJÆ%YB¿ØðeÀ×W¿ÄKë·æŒOî¦2!㚌ÞÜüb×ÑÕù lÚƒ›ö ¢¢]Ϥü¼I£ÏX`¾ud9v·ÂpÈÇTp Õ=2ù_Zÿ5ÀÒïl‚ïï‡R~®U¯q!§¢³tó¤×˜äçL–»Z§©pÁ{¡Å÷ßâe˰½î 0Ý~]Zå—(Ÿéæ] Ÿ\~e|©ÄJ˜ÑÐ7!y7. –üŸ¯YŽ“^`ͺÇñˆÇÿ‚;oûlš1I>ÜTLjPÓÛÞ u˜&G¤Á ÷¬»USøBe\z=ôzj"Ö/‡G«^Ù@ÝÑx’È—ˆû[lpÍÞ€ÏÞ‰}ĉÍ+Ð~4³aÃyw˜4qyÔh4)éLŸ £ŠÕŸÉ_>ÐÞ»­ŽV¬èm‰ÑU¸“ŽJý&2˜ú4:KŸÝ†)S00u*®¼½}ˆþTþž9;„™q2&Ê{¼$0Ò*}cÄ•ºH”ou™ªe }2Rz¡Ÿˆu¦ù¨¾EúÕèÜsëZ^¥6‡`éwák ïŒ|ÿö²exó·?£bF@ƒ~†Ôy¶wQ„ÊúB!$™qáÚb„B²Nœq©¨¨ V!„¤E¬ís#—5kÖ°Çp…+„2φL;wî̪L}}}¬,d|\ÔDg¬ÄÏ2Im*æðdIsQJ±§.Õ¸ÈȈŸµ”îôØRUx‡©"áõtÈdŠo²úÓª¯ãœ”eÍ9Ðêh…{˜ö’¹ü#ŸžMHšÆ%†DÓsNÙo¼“FÖn,ñÆKŸ†/K¸a+t¢Æ­W$O-U¬£ãž†ß É.î¤Ó¨‡24®§GœòðS|c¦²I0w*šÖ€J…žb§¢G Bì4kõtÉÀ'žŠhs*SÓÕú:}­ó‡¸ÙbúÏhqúôé‚xÍš5X¿~=KnŒPQQ1âú”í2φL;wîÄwÜ‘5™úúúP^^ž³r0iôhémg…$9mëŽ7=ɧ"ºq!„2FŒKû›j†BHÖ Ÿ !„¬óÿì}|Õ½ÿ?³±^V`«íµj–$Š·½ ¨loQc‚Y´âë-¢RÖT Û®ñ 7©RRÐÆØ,ãRÛ Wo­XŠXIÜúð+´€rû€A`]DQ‘åayÊÓ&™ß3»;³;»Ùlö‰ðy¿^ûÚÙ™3s¾ó=gÎ眙óDQDss³X\Ìm„B§§§—Nÿ®áSWc—pàÀý¯ýíÈ%t !„d°ô¹Ÿ„Õÿ`Ð{B!IÃ0i rô:>v!„’<Ú{Däè(.„B’H[¯€ Є’A.Ö‰‚|S¿÷۳׃ƒçàÏ-›°øÇ÷%”÷²§~oMÇWöýS¯þ÷~ï¿å/ÿ‡Ïs¿­Zçï‘£×k\î¾v,–,‘–}xáÍݬ„’òóLøØ{:¡ý¼»>‡ßß•Ðþà÷wA¯×áª+.Ç©ï§ð‚ôb½ ´ È?䯫®ø&6úÔ:rºÈÑëô™•NË<&ÿ~T›ßv«~úž]Öˆ¹«^Šë$ž½æÌ}+2í]O¾ß>4 {2ßzÈÍšF9«ô&¸Ÿ^§‡ û×/}¿ûß§UëîüÞ1¿j‰j ÐëôèéêDw[;D…~üë}倆G£ìñe€¿v@PhMOW'Âu¤­ÐéôÂ? ,‘ÄE|4´Cxº×—7b^Õ Ò Ðé߯ëÛ×à®kòphý¸ëš<)ÝAiÝ?ô@JwPÀ?žÊ ¦¹ç£û¡Ó xB÷«àvå~¿Ú.¨ÖkÙÌ?üðs¦~b‚^€ HÇPB‚rç÷~¨”ÕG¤côvwÃßÞŽžövø;¤ÏªŠ‡á÷û1wéøý~¬ªx=íè–·ûÛÛÑÛÝq>m½¢öÈ%À£²°K$‘ Oû×Â_য]Šò'ÞÄËÿ¥ƒî’ûñòf^;p-^¾óM¼v@-¥KËkÞA½N Ç¤iß6þ/^ÿL›ª~‚ÏupïÝ…ÐëÞ„NÐã'w†öëÙ‡ü¿?⯞ýÐá5ÌpÞÏ®!dÐpøØq¸÷}¡Z÷ƒ›&F¤ûå«;T¿ÏÓ_¹ìýèÓˆôŸ}öYÄrxºÀÈåðûÇþÆ—ƒòQÀ±a_ÅÁƒƒi}¸{ßÿ¢¼D— 9úoŒQ\zœg.K–¨G,⣒Àl¸A‘ö/‹`»k9rÜ¿ï^äè×@§×!G¯S}_ à‰¿~ xzc}pýíÏ`ÃËáUèsñ\,¸êløëÇ"÷ûüw· u°ùêP‡›õü‡!dð0dèP ÿÒyªu|ðADºð4C†E޾:€áç‘þôéÓ¨^ò£à2€ˆt:€½9çǹ£/‚ ˆÁç)·/z§OŸÆ†¥?Å̪ŸàöeOàÈò‡¤rò³˜œs‡#\GÚºaãöO5_¢ÜñÚ¿G.K–g|Ê@!) ï¢/Á}ðTÂû½öûu˜qÛ¬„òì;ñ‹-8ôö¦~ïÿåiӱ㩪uÏŸ{>rt:í¿"_qÓgxmG`™…O!©âàçŸcì×.î÷~Ÿ~r:ý¿`øðó0öâÄÂw¿9ü<èt>øÌ‡oÝòŸýÞÿo;÷B÷µŽtôBÓÿäô/„B’F0œoèBI.þ^ G¹âúËGCä8†BH?qí<\îÃÄÅßÝ‹./½D!d@¨ÅÅß‹¶öîàïŠÑÃñ?®¨þ'Pùüñð#Xí)Ƽ8§À¹ñ™ñÇÆoÌ®¯Là©ÇjÌW¯bôu¨9ü'ùWs¿òSñÆ|\Túk\QýOÉ-4òO˜xò0JDúFí;BÉqikïÆácíÁߘŒ{_—~Üù{§O´ãð±øÞ]ù$ßù–”öàÑ½í‘ .¸·B}¼ô(lèìW~!öaÉ©ìÜ[ì8öþC­øŸý×ãû—FæŸñæSâH£ôG¤oÔ¾#„Ì¡zš/t:]ð#`;&äÂOßÑá§ù7@§“¶KË:|í~UúðÏãU­Òq~U\'íë’÷uá…Oé¥eÛq@§Ã÷£ä7á'®˜yêt:è>iÆý×Ê˹%xó~š?*â¸<š?J:¾lÛ„Ÿ¸ {ÇŽÍ:Ýò»Aa{(¿ w:¡ûÄ)ç«•&ÖGÀׄüQ˜g„o "¾É?üð3ðOÌ‘‹ zÅ{/¦`÷¾fÀO @¯ èìÅ7 × xñ¾Ø÷“rïsbÍ[Ï`îueÐïoÀ;—–!o¢tœ’Bôº!èÜ=Ɔ÷-„  ` ruJ&n’Ÿ cs ؽÏ#ãð›·üôû7¡èº2¼¡qÜÐñç@¯ðû¤m‹­EÐ_*`ÿ~»—'˜Ÿ||…ßô:‹Ÿú!ô—zàyK±M•&–G,~ˇ{.€¬Ù¯öÍO–Fæ¡ÏeŠ’áÛb:z½^Ñ”!ø;°¬Óé±îqÈË5w¯‡{yQŒÃçãõ{À}ÏLüàJ'M 'ð=cÒs{»€Ê_¬€`l®¥kNB¯o‰È/Ü à^•ZùþL·y¹¿Aéš“¨6.Õqeלû>^¯:~å;¡<¶Í=?¡ü®]ó äåPŠ)Ðëoæçùe1ƾ° îOšiNÆÈ'à·Ð²Ò7¥r©ò „ lúû¡àŸ'_6ÇOúå‰.¾ø:,;é‡ÝÍøÍGŸ÷²3=BQ³çH[pyYÏ0µ¸\™kÀñSÝô!„~ñ÷”J\T·ÅÐÛ†Ãé$B!ƒs¿BI:9}@!$ (õ$TB!IV—œdûÍO¡³³ 'Nwàè±8zPšÌlñ]ßÎØù~Ü~6·î;v?:8¸ÿ¬^šœÉ#FŒÀñãÇ‘JzÇñ/¼Ám‹ïþNZýxàðÑ>=zÇ|'á;$MðÖ»¼^s÷Y{=õ·ìg7O .ûÛ{à?Ù®“½ØX¶4$ý¶Ø·/ ÷‰a€¶.ø7à]Ï1X[çc÷dä$=ÞƒøÚW¿)_“~Ÿî.»xúϧd÷¿ã¾}Ù(üg£äÏÓ' ÎûÀð—:é—Žø0Òð5Œ4H¿/½@À;ûºñÖ»ž¬ðÕ·~wÞ½g †àR»U_’•eúʬ¿áû¾OÚý~tõøñ½‹+Ù‘Á4pNú)„­NœaC¤— Ÿ}y:ÞÞ9Ý"&\b€ÿø¡ŒðçÞãh뎷KŸîÀ}hëÈþy¸º»{ñÐdà¡ÉÀTÿ«xø;"ø&ÐuâpÚmùô¨ƒ»«7$,Žú_â/«˜¾úûœ]ø¬m/nÿ÷Ýý3|ëw—ee™éüþž<œ÷¿èêñ£«»Ç»Ž°e"ƒD^yä"kJ2ø<ûòtÀè‹õ%(,lDGÛ‰Œî±c'0ÌЃæ:ÐÖÑ߉Sèì ¼,úå¬.*½0ðtµÔ³½bÚèê:NùÒïGßItõù£BÂb[hÍ ?]Vù1&O¹ÀUÁuO^Û½†ÞÀÏ&lÀÂwo`›D‡´ª‘Käpf tˆCð½ïJ3)>6âd—€® Š ´µuàÄ©ShkïDg—þÎS8zâTÖV¨ž1á·µU8ÞtµO»-¾CÇ?JÀW÷Ý…/¿>¶…VtöŸ*ÞÌ͆˿ƒ¢o- þþõ ÿÕåzº«ðÃmEèðwáHçl™È B'’ÚÉR—îtt‹XXún›òœì’ìïÌÜ-¨ƒÀ‰S§pª­'O·Áßy ';¿8zFR`Ô`ÿ¶Wá—§tóÞg½˜U? îŸào[ZàïÑÝÝ•qýíÎ`f†á‚û°}ÛX~óhÌ]ñ¬,ÏQç\ˆ®în,|÷t÷ô «»çåü [#2(F.-IúýC‡ŽbÊE#Ñé—n´]ìÇùçE7s÷”îÿc¯ürrôøâð±3JX<ˆ§k£§GŠÚÝÓó†Ãwžu¤ßnš§ÇÄåÿ%ÙÒÝàv~qß¾Ôq_]ÿå<ôfà®ÉÃq×äì| ?®ô+èéèEoOèfôŸ1ï=¿—­9³ÅE¹üæû‡Å@Ÿø¯9ôN‚¤ê¯È„eOÈ™ÀÖý]’£ƒà±Î¡ÒÈ…ïQB(ÊùÄr P\!„ å³û@i!„’ q é‰.ú+”-hèÇ‹×6C±bW ZâØ¯X¹_œ  ¶þí”b›¢d*ÛZé£(éC>—–“gKì5Dؤe‡MN[ÜØú6U>üäiˆZïRã‹l¡Zái(FC&h(6ÀPÜ4£ÕÛªª*TUU%)Ÿ]xÛË’ @\Z’ü¿"0ÔŒ…ÏçCQi›}Íý‰>|¾ºì±)ËwøàóUDm°úœp[l)É^_;Â;SàóùÐ<}SDãŸSBÂÔbÃ0•¡Ì”úrQ25Á剻Ç'å˜eÍë°ü™²„„$^q{»¾ K—.ÅÒ¥KQ_µ.bûºªú>OB⹄´D'ŸXÞÖ‚°^¥tzŸÏ)Rûš§{¿F¦¸Áê!¶ØÂ!õñÇÔÕaS±ŠÎ¦t ù˜-6CèUä“R›úÀÓPƒé¦X¾ ±h¢A=ÌŠ87­^±ÂÖ@¯Û¦1ò° ðÈ£¾Xç!åoS³¦o±0MÇk-±Çè fÅî‰ÒyÔŒU¥U.[ ÐbC ”墵-v9»°9X&;êfDõ]"#'m¿·H£š`ÝÒÙªëðcÿ×—/¿ðŠ‘‡z²®ª ^õUõQÓhbÖíà}o{¥cH#%Љ}[, %: ÝÓÅÒ3Ф^åîbƒ-XÝ[§,—{ªÖ>Ÿ[ Z!õ›ËLðÕIYQ< Å!;>0E>fk”^¡ ÝÒ-”c§H¢SÜàAÍØ€Ç<“´.]6ÅÂTÖ ¢W{äàó­S ªÊ6­²Ç+ælVÕaíg.Óæ/ >s™¿t€qxcEªÖíLø·/Pµn—<â¨Â¡Â¥1Ó¶UUÆipUU¡ªª³Æó %ñÙ9F.Â6÷±àk£ùϱDɆéZlŒ©óÁtúßPÜ_sYJŽm3£.Æóžþ—} !„d6ý B!$#•¸ð¶!„dˆ‹ò¶˜.vâ Ï¡ê‘rzœœAŸµ>[ú¸÷þçm>|8tº@„޼ס··Ws_¥žH¡]Z!„ p䜶RT<Ðç³B ŠìeÑgôY¢(Ÿ²Ä9q%!¼è }v6ú¬§§O>ù$zzzâÅÄ•©˜rÐd .Z›âÞ ÅTVVÁœשóŒë–ÚsK윒m÷ÀÏQ>·MiòÃ@.z«`Vä×!-õ7óvõßgM0›Íªk)Uõu ˜©s4…ê³5 e¼>ËtêééÁO<‚‚477÷)0ê)÷-XXˆŽNÿ?×Ù0w£Çu~¼2WR´ŽN?æ S!?À\a*::ý’ÚÍ}Ýð·>L×~\-„$dGOO/º»{b¤é†¿Ë¯²+ÒVW×îBGç.‚€¹_Åj@Z'Û;w£¯bîÜ©x¥óU<¹QZÿ~íÔà±BÇ}«±ÂÜWƒ>¸Zˆ–çÀÎIí_)Ÿ«kŸÂ“­‰ù,P&þ๿ҩ.ßÀzUÚ~Ùv­;q­â¸_Kç }‡ûìjyÙßåÇ“W+lëóÓ•X}—}óÏ|©ž>yõRÜ1ª}ɯÇýµ+T/ž¼ZòpõS ž{}Ö[~ù^éô££sòßß(—³v}JÔwñYà3«ÑÑé‡õºPÝwt´Êup Ÿ®שP½Þ¼.¤öäU\…?=8×~cÚÚ;qÓÆ¡EcôŠƒçñ ox mí¯`¥[éiÿ¶úéÁs|¤½SuÞÁ<zNJÿºWà—íøÓƒy‰û ¡åk¿aÌ|°Iå³kï—ìW¦ˆý☯KÇ óudÙÊI}ž¿ÿ+${âÈ«··7Áú.Ù°rç×áEìzä-õù÷Q¦I­ÇqÚ¨¾Ù‰s‡ EÛ›ó:~b>›ŽÇ¯YMŽÇƒ¦Øõ)Qß Ègòge{'D÷ŠP{$ŠE`ìq@ÇÛg1êT°^Û%…7¬ ¶;}]m…½^œœäää`È!Ðëõñ\B:#$Y\D¬¾õe¬¿õWEÃÿ:NÿóI PèïM?Ä?Ú:p¤MëÝÝ+qS±¼Ý”«~þ>N·u$vQ Ò£§ mØÕVÓ|¸4ẕîàúñ²è=þ«ûÇÒþŽ~Ü|lÜ$ªÏ[‘f ç¤ò¯)¿Ø$½ryÌýc_iÓx§Û:pzåtÕ¹ÿëCE¿NØþðó¾Õ¾ÎÃn⦚þTž§«­î•Óâ¼èo0uäòsÏÁÊ`9"Ò¾”Ôã~Ú¥ºî^ÇÚ^Á¦„Êþî#‹ë‘]x|ìûŠòÕ®O‰ún > |êÝ"DS Z÷„®ùùç†QL±ÏbÕ©`½Žh—®›>®ÇŸ ì‘~PK„Ö'ƒrõÕ/EÞO[Ñð~¼ÐzÆ>8vÎPôôöÂïï4|NÖ£yÌ|gÈgÙ\&GŽÁ¨Q£Xé³Aç³ëΛ?®ïÓgËjV&ôžËÖý]øÚ¨se‡Dä8ÒT«¯ÊÓ%¶ƒDò}çô!ÎÿÒåîÃÉSbÌW›Rí³l-“l®+ô}–O_7ÿµ Xª-î<·nÝ ‹Å´µ­­½½=hooÇ{kÂÂBÍýmÈrâÉ(ÚÛ˜gD#ŒÐ=ÎA#, ŸS.ŽŸ8Õg™¦ÚgÙ\&½½½Yi}FŸ%ÊoœÂR¦èÃgàõz!Š"üþntwwãèÑcèêêÂÑ£Çpð‹ƒqå—¸ød?9[8ÐvŠN ÏÎzŸ„Yú×]7ººüýmÅ%._þò—Y!„ÄŽ. „rFˆËïênCϱÐsìü®î6z™B(.£çؘ4ív<¾ì!\˜ÿmLšv;~Vq#=MˆŒÓb„Ý(ýÇe7Œ§jY™&}x`´ÛáôH¿,N{mmÚì*5ƒb,µq«0.²ì¸w¡0å¹Pý`!LÖP'a½Q£>¹P]ŸÚz–TqqÚ\~éùeX÷§p¤]YA^„ €½¶&ÛkC äJQð`c ÌS»µF£Àd8k×¢…X[jÏË Qk4ÂhoAAn´åÌûL¹œ~-¶ÂëõbÏ•–à¨õµþ““çK§ÙeGm¡ÖêRXM©Í:©âòß5Ĩ‘_Å‘v ð¶Åxò‰epý~\oï 9ÜbGA½0åarõVx½^ÀeÇV¯7ÕƒÌb²ÂëÝŠWn®Ç©·•5×A£×‹ê]•°š¢/gÚgÊå«å>êìôŠóÚÉ7pÁé1©|¢å§Ôëq!*W¹àqÖÂj,Ú·¼JwU§Ü¡ùï‡ÄÀúS.‰|CEÃs(›{wÜüYŸó{wãã/NbÄvøÛ?ÇU7>®PL# k½lT!$µÃxPˆþöž}FÃ9øþ÷¿®.?üþn>|8yò$Þoý;îþ^¤&lÝßœ´ògÝq¾¡ßßÑ ,¾é ÀK¯¾Üæ´z/oyBHF1¦ æž“ª+E%@fRBÉJq=z4=E!$nø†>!„ÌŒ\úËÏ¯¥Xß}¢™^&„Ž\Î×£pÕ½KpÕ½Kðóû& øxVÁÌ’"gnܬ‚0€ºí†ÃMW’þ!X›àv„ê•Ãl†Ã,DÔ5ÁìÐ\ŸÕârí€mú=¦Nš¢Úæ0 Áˆff!´8Aé» ‡UÞÖ„ÕØÁÚ«`† ˜am 9‡lÄqÏKÈCV0;Üh²†ê:à† °6…ê6Üy4Áj5£ yxéÖqÒšPWQ‚¼òÊ`Ǥµr3Ê7‹‘éÖ”k¬Ïbq¹cÉoQ¼ðìq­…A<Ï¿ýsUo®`³Íí@¥- *f8!Šp¸K0S!:K¢¸°X4aïærÖ%’•´n™@ª»›ËóP2sž$:nÀ,Ô@E8KBuÛœß Q1sƒ$@ã+6£Àx‰Î$Ð+ä¦3lµåy©Í:éâ2kæ(¾ãV´\´--À–ÿÄ×ÿCº°7Õ9Í+À†&Ipf–ã§n¬Ž#çÞñ°š«‘ǪC²”ñSwªoAT‡¸·Nê€M¬åäš_½zžjýK¸#«zÅ·âîBݲSÚ”]·ÑÓí³ØjšàvT£<0o˜©™Ê²³.åg×úUÄ?BX÷÷“€îOpℯÿf ÚNÁþ/'·25AS‘ É Ü¸óÊØrÃáÎKy“ Úa Ü(éw\ú¸#;ßПõÍóñ݇ ïþÏÐvüv½ãLöU A¸Gº=FH¶2`a Ø(&“Õ'%EÞøóûRyÕRX!$ˉK\>LOB‰¾¡O!„âB!䬗*ä§v£QõM \>ö`¼õTÆ6ŒöP¨\e\öðíéò+Ì&ÉLgè·fLûTÚ$ýYÉh´k–—Ó°[½œ ,ÆP€4‹ÓV—,šö-Δֳ¤Š‹ÝXŠÊ+²Ã0Ú]\°Û-pÁ§Ç…µ,N§üíaƒBHàú)ÝŒ¿‘ùð&xk-ÁNc(.{dŒö´H{ U6É>»òT^i„]nµÃcÚ§”B+`òäÍò²šä 7l95¬…Q‰í•«`/]¬K{ìö¹P]oMi=Kª¸Ôz_DõV…±k¥xÒ6Ê 1“ÑhµÊß&¶(„È쪮§¢I]Œøó^¯µF˜öéPÑØhºÝ¸*/ØÈ+—“M£× ¯×§ÇƒÙ/Ö¢öÅÙ’¿\vÔjÙ]šò0Õºy[½Þ¬‰NH¶ãqZP/_홽¦ÙEWÄeWÇhO'¹wJ,°ÌÞ¨Ü>;Ô§|sº”¹š!Û¥ÇF‹^¹eW.§ÎœR™öÉÎ*XµëRé®ê”»'®7ôËæÞÍ«ŸBÎ(\ð$ê¸áÙ’ò†>ÿ-F!ƒ’BdòÁÅ…BHÒ‰ë ýÑ£GÓS„B8r!„Bq!„BqIe œ&Æ'$ÖÕb•þv“¡¼Í7Ü3Òu ;Üš¬hÒðM V| TtS:¡‘ŸYP¾óâ†Y\fv¸&kZ|î/‡Ù ‡Yˆ¢&˜šë³T\šàhr„b…«â‚KX3¬‚¶|³¨- Ö¢dæ<4¡ ó*³-”w*ËóW¾5ijÉËóäG¾ü{ƒ­³6ÔØ¤uóVKïmX!­×ÈüVCk‡¹äµ[l5°ZV§%¾J¸¿Z+7£|³QŽukÊ5ÖgóÈ%¿¢(ÂÚ„ˆ¸àœb#êöŠ(ß܈&Öêñ YL³ @¬pT¯F J°ÚbÍ6ÙCµ @°¾†ñùéËU¨)¶νãåìTu¢<©íiÍOS˜cü6‹"D±·Xã Ž`æ5:álœ—¶‘UÐ_MV͈½MVKÊÑ%]\^zÍ ¸˜Y=.¸ª¢š­¿¦œ­ !ÁÆÉ‰Ö-Òï©YjcÝN[Ú¢d fD¹…´ f¹Qß‹—îXƒŠ:y¼0¯24v˜zGZý!åºÕßdµ`Fž2Šè^¹ã=>íþ2o˜©=âÚY—z;âyC¿ê‘xÿ&8Ü%ýªtMV%N‘­ !„$•&¸u¼ôqÇ™ÿ†¾Ã,`O……B’OIF7ä$ûdú3jIåÃ$B!Y..‡¦§!„Ä _¢$„Bq!„Bq!dЇÜi·ÀéQ¯W.kÅ¢µÜ_,NK¤ Ïk½1Ì÷rºz«Æúl¹äJq¬í.Àråx½^XÛœ£˜ù(̨…¨5a´·  W¹,mÝU]/5èÁ˜ë™÷Síֹў¬ZN7÷Êxô¨WUQ-¼Þ­gVûå²C+º²Ë^šò0ÕI—WZ<€Ç K!0k¥Ê#÷F”Ûœ£˜Æ>Ó<(‡/_;Û×riôzQ½«V“zÙã´ ^Ñ¢H1× Q¹Ê³Ö~/'ÉO&+¼Þ­xåæzÕrý4Ÿ…Ǹ—|cRœ£tÞp­‚¥03>‹·s¡ÌËÒ¨}Ë«tWuʯ…¸ÞÐ/›{wü·Å<…Qk!„$[àI Ôqó/œùoèBIÝ(&“}y]²O&úÈ„£B9[ˆë ýÖ¦§!ä,àæì¹B!B!gª¸<5Ž&Þ-Œ ý^/_ë'c'cF7fÀ¦#Œ‘ò~·H²)Ü>åút±`V¨¹±H¶{–ä'¥?ƒëÓi›ÂgëçE–m1é)ÓðòY0Kí?¥Ÿ´Ög­¸¬Ÿ'UÄ#¥‚Waø‚1êßZëÞ<5†œ\Ñ¢¾è?’—½ؽ°*êþcó"ÎTÛ´ò(€cRìÄ5ïI6-©¶O¹>]¬\Zþ£Gj¤ßÙ Å”ëÞ<Æö†œ=(/î[Wk Ò:åmŠï¤ùšxwVh$sÏ$éZ^yTmŸr}&ȕەüiŸl«¼î1C„e–zôwcÐ,û c¤¶-ÀÞ4Ø£,ŸõQ^ÿH‡ŸâzCÿ•‘åýÁÜx4r¸`dd…ÔZG!dàŒEä(´/n>êHÊú9É>™À=FÕí0B!igwóNº¸Ä­ G-„2øˆK\^¿õ0=E!g Ï&ç8|‰’BHÒ¡¸B9ÅÅ•±hw„dá1ͣƉ÷HŠÑh<ÎŒ\7F‹3¸lqzàqZà ®c>MÈyPûIi·Ç‰t¾?©>Â7.{„ÿ’F{XTQE^N‹EÓV£Å©¹>KÅE»Ñ£Ñ‹Ó»±•WJq§ív‹\9rÅðÀh4Âî’ö±ÈË})LäÌ'2¦y´8ñ&“üRÂl ìW¾‚Ê+i©+ÅU,Û­&˜¬õX%Ûàqï’C‡b̧‹PÞPù)ÜîR£1mm†vüyµo쥻‚1U”ç\LðÖZ¢úk½QÃVÉgÚçå#¯×‹q•óQë}Õ[¥(x°…'¶Ë…O &Wo ÆxnôzRKp_B#}Ɖ_Û¼† ji”ªÂúÖ0Ú[P+7ayãà‚2Æ|ú|È[ËOA»MVx½^ì¹Ò’±² ÷Í®êúØçj¹ì¨-쫬Ï0q‰qÖ˜\½^¯0YÑh5É£B#ê˜æv£%jœø “ `™-uÁ*·ÏN›¥¡¸êÒƒF¯Õ»*UP®¢q*Jsð¿\@} grA˜Ý²/'ßœrÝe øÆã´ >¬ÏM³¿,–>Ê:uÄõ†~ÙÜ»ÙFBÈ… žB7<ûBRÞÐç¿Å!dŽš3YžâB!$éÄõ†þèÑ£é)B!¹B¡¸B¡¸¤Š&8Ü,BÜ3@°6e›e¬Ö”_§‚µ)èp˜XsÀ9PzÅa5ÃᚬÒ_•³#ýåÒdE³ °Ù­X/ˆ´5or¾’ïÌjÿ|lvh®ÏRqqCX›4Ø,0;p¸¥u‚ HŽ–· ‚U‘n[BÔØ¤ïy««³Ì²<ˆÎ™)ïdÖU” ¯¼2(bå›EU ‹ ÈÛÜ(pJӔ̜‡&4a^eyÚËŽg'JЄ;ê&@ÿ[ž <òl±ÕÀjY¼tuöìD‰¼ÜZ¹9Â@êÖ”k¬ÏVqq¿†©u{á, Ê<Öˆ"6—“ˆ¢ˆ ¶{·[«5ÓBˆ¶¾•CE´æ›á0ßlDÕ«Q‚¬¶XÓoRÁi¤0à QÜ‹ÀÀF¨)@ܘ×脳qšÒmO“5Ô«6IüRˆ.Ù…¾¹”qÕµì·5“~ tj«ë­<È«M­¯’_;š½¶VݼcÖ¯…Qn¬Ãmµ—îJQ|µ¶W®‚½tm0¯=öFU™*}¹>KÅ¥Öû"ª·zƒ'ŒR;¶6Za¹R*•R» –+÷ÀëõÂÒ( J®ûš£r6c\•ÙøÈqâ3N˜š¶fÈOxðNË|fª« Ǭoôzáõ†FJ[wU×§e¤7ûÅZÔ¾8[êÈ»ì¨ÕpJÀg©$¥Ï\j·Àni„ À8^¯ÞÚBŒÃZiûZ)>ø+-Àã„¥ 9K…Åâ„Wn´âÄgœÉĉWÚš ~ ă·6¦^ˆ”'Y;ÛôG€\EÃ]dRÛêqZPoM‡ï“‘ê¥Q{äðY*‰ë ý²¹w§ÐœžBXMl`!$™m«'PÇ Ï¾”7ôùo1B”"“}v]68€£B\Äõ†þèÑ£é)B!gÒÈ…BÅ…BÉqiJyÌmB²•ðxðh’b¼ ‚U^±œ ñà•vGÄ€WÄhO»ÏiÌÀíPµ-«9ém–ŸBö¹!X­Á<ÍAû¢­O}s˜Íp˜…ˆ k‚Ù¡¹>KÅ% "Ò·Ã,ãIc¯#´ì––›Ë©:AB2Kdƒ:¼(Š_-Àa¾'ãÑn7‹"D±2bôm}œg‰ÖêÿÎqÉGë^M‚U me&ÈBt–`›¬ë„ F4âÁ7Y‘ïTw¨VO½Cµœ-ñà%»µcÀçgÐgð3çI޲m™‡òÍ›Óä'µ}Z ÷Œ~¬O¥ïÌfj¦ ø/•Äõ†~Õ#å)7Ä,X±Yt²-"„ä [àN ÔñÒǃã ýÀs™J !„$u“—ÁÜ3..å›Eˆ¢˜ñ{¥„B‘¸B¡¸B!B!B!B!„âB!„âB!„âB!„P\!„P\!„P\!„P\!„Š !„Š !„Š !„Bq!„Bq!„Bq!„B(.„B(.„B(.„BÅ…BÅ…BÅ…B¡¸B¡¸B¡¸B¡¸B!B!B!B!„âB!„âB!„âB!„P\!„P\!„P\!„Š !„Š !„Š !„Bq!„Bq!„Bq!„B(.„B(.„B(.„B(.„BÅ…BÅ…BÅ…B¡¸B¡¸B¡¸B!B!B!B!„âB!„âB!„âB!„P\!„P\!„P\!„P\!„Š !„Š !„Š !„Bq!„Bq!„’ň¢ˆÞÞ^ˆb/z{{ÑÛÛƒ^±7îýsèBB!J.¸àôöö¡ÓépÎ9C1dˆçž; Ÿf ¸Bé?f³ÝÝÝÐëõÐë£qA\rÉŲðĆ·Å!„$Š !„Š !„ì‡Ï\!„hÒÝÝššèt:\z饸ýöÛqÎ9çP\!„ `ô‘“ƒŠŠ ¼÷Þ{˜4i† ‘ !„ÄÑétÐét:t(®¸âŠ °þ5Fq!„Òoôz}pyèСq‹ Å…BHÌ‘Ë@šÿ~H„,HS.‘`ذa1ÐÝÝœj!„ :::ú½ÏÖý] n~Ö=¬ï‘Ë‘#GBJeXôæ›oâæ›o†(Š,BÉR6n܈k®¹&¢M×ét2d† ‚ŽŽ :tÀyõ).Ê‘‹ Á×þ•C¦'N@Eôôô°ô!$ éêêÆ‡n7n¸á†àºÀ€@¯×C§Óõû¹Ê€ÄEIoo/žxâ TTTDÜów÷ Ûïg BHâïîÖlÓŸþyÌž={ÀÏX$.¿øÅ/0aÂÍm'ŽG[[;KB²Î®.Íõ#GŽÄŽ;på•WfN\~ô£¡¥¥%ÊËŽŽN– !„d!]QÄe̘17n\Òóë—¸èt:in;uê4ÚÚÚX‚„’…øýÝšmú¸qãTï´¤M\ÂïÃi1zôhèt: vKB²aÃÎÁe¹¹šÏVAHêÃü¸ÄÅÇCúiÓ¦±ä!$˹䒋ãjÓÓ".Éø¿3!„³‹ý÷ìùšïâùšïÒ‹qâüÑupþè::‚Bq‰&*‡Üo`Ò´Û1iÚí8ä~#®ýZl Ò§¸ÁƒbCq¿ó–ö·ioô4 Á{ÿâ@‚–øaSÙÙÒgš‡}m%¾n…¯GõS`<Ò97$\È1}ÖOÿÊ1xl›ö¿#ËVí7[?Ë>ç·¿Åy>Îýäèÿ°ú?¬ÇÛËfŵo(/­²ëoyJé£Û¯<^K°¾„Lø›ŒˆKñ- ‘?é6\U´ç}å:xÜ‹kSTçƒÏ·ËwøÐ\fB³¯¹¿Wvø|ðùê´·›ÊPfêã‹VH[´v)žc$@î܆«î]‚¼Gð•/_·°ØZLðù|ð5—%Ú2Åö™²!ŠóÜ‹.G‹¼ßº:íö»lû@Ÿ¯oßg™¿ I»¸<_ó]9úàŸ;ßÇÿ¾ü ®øîR\š—Ö“2ôÙk“zS-R¯¼Å&*ZlhQô´Š•W^Q6 uÞ䋲Å EN§îU7x"zzÏ,o•ÖÕEØ¡<†úÂßOXïPÓ¾ìÜ(‰Úœ‡ëñô¾«5zžþòlÂÂ"uC°ÑÖiÏQk4Õg Ûþ3(zÃ-Òñår pMƒ-¶Y(в¯MÃW‹h)í郃în Ö„zž† £tðe{ òˆÎ²Ky~aç"¥“|îi¨‰†–hÛEÕe*ùBÛ÷Ê2µ)ëA&üMHºÅÅýi'Ž=„#íÀWÇ|û7âÀ)Q£'%õØb÷ÚäÞÝ3e@Ñ Ü2ÝÍ€Û´b¼tœ°®tY³ ÝÅ€Ç<“Ôxö•Qîë«+R]ܦ²gÐÐÒ 5Úž´;Ç(6ØŒ‘M À-S¶iæÑÍéÐrÑÜü¨ 7?ê¬{fá?î\Ò·¿LÓ±"¬‘¼eº ð¸1£HjtvˆÐ9ÕÁÓPѰjú̳ QloÅ@Åé|—/, –KÐŽ?<€šÖåš¾R6öJÿ.¦ 0MÇîÛÕe“'Ð1z4:.¾XúäæjŽ:>Tvðùó“mœƒVUýs{´ÏeZ ‹SY…âü”þÔØ®¹(}¡åû°2Uù1þ&$ÝâòXÝ&øÛ?‡ë÷Ëpà”ˆ9?ÿ †¼®·w&Õ°æc¥^¨ª¥”îaOÜ]!õ梌Œ”ûJÛç([ üaÖ`’ïYvkäË”ç`(^üm0°»Âׇ}Ñ™÷5ßq+®ºá:üòñ§püÐÇqìeBݘ†Èg.Ás/F]BçØbÃÄEÛ¤Fª/Ÿ™ÊðZÐEX4Ñqnî…Ñ;eÏÜ‚[ž)Óô•R•þݽ¢ÃÄPã Ãéùå/1déRÕ'^ÊšŸ‘|øPÔGÚèçR†‰ŠÜå`ÐÞÍZ¾+ÓLû›Òg<—¨á ßÄ­×\oïÄcu›èÍ(Ü÷ä«(½ýæÐ­’y?Ä{ÍõtÌy{Ù,L[¼ŽŽ $ ç’°¸B!ÑÄEG—BI6B!B!Ùjn± 6Ð#„BúÍWþÝ]\`æÌ™ô!„¸Ñ˜äœi'°uëV–äÂâÅ‹qþùçgU™'Ã&X´hQR}õôÓOãøñã¬4dÐs¦¼|ùr–ÚÂÉ“'³®Ì“eë"!±‰ù@ߦ˜Á8~ú7Ël|³ËFb0Œ€').’Ð,Ç$ZlªúÔß™z †/Éû€Á0"ø;ðÝs ¡cÇ9ÓBäA†ëOCñ Óî6[ÄÜdÄ9£u¿HÅ1 ÅEb |>š§oBKÜ¢†`ùŽã0Å‘ŽG¶à uQëS<Ì‘¿ë|ÇáóÇ”åmªõý%žÙ†û>ˆ?x)í®8ߎ´$ÝwSPÜWÈ…„góŽ† E3„Š‹¢âNÇk-qTFŠ«œéU™6Ð{N¹¿Æì²±ã˜ Aqƒ.$"-ÃÖÃÓ„ñK†Èùœ£XU:’LmQÌð¬OŠÙ¦3õÆ»¦e8ž)ë˜MqÌ6¬œq:v?E/O<Ù«šà3Y47ç©®¡XוΘÑÙPÜ ˜q¹8jQ+vQ¬Y²ÃG|á³4ۢͬM(.†aFQøl¬+\äºÐ~ê™^•i[§,õ:cÌ.ÛW“[¦÷¼›z9"Ý9Š™iur>’=ªæ6X$j%8ó\ŸT³M+ftŽ'vm–ÉèT÷5Û°rÆéØùõH¢¨I§xÀ y]…rLæhÍü¬œ!Yã˜rFe%±fÉŸu<|6çZ3k“³Z\¶Á`0 e(‚z6Ös¶Á`kÑœ¡5Ã"l¦WeÚæŠÝ¡JcvÙ¸z±¦NÔÈ÷áUËðcÑÄŠt~Ì2Œg¦íÄDÈàH¥yGtß6„µ"5ê‚:HÏ\l–G ÁÙ¦3:k•yCñ<= ÅçСU¾%¦^ßúšmX9ã´Gãò1†cÑÄð x`D\3/'JY³Oé÷1ƒ²Ê’ëÖWB`VfåŒÊñÏ’9븄:X£#2XQM\ùَƬ~ÏeÆ |ç âäÉ“Iù+r2Ë<6Ò_‘“ùo±#F¤ð¯È-hðñù IiÛü•·¨&®<ãþŠœÌ¿’–y¢,^¼8©v1"…ÖRXHú9£Ä…£–³l-ódŒ~”ðJ2ØPÝ+ºÜHBé7Íÿðªo‹‰ †6B!‰ ÊZò…p‚SîBI>B!Içÿ³wïñMÕ÷ÿÀ_§…rQ¾­Žª›l@h‹2¶)R˨›—ÚjƒTŠýê÷Û¢sl5É+G•uk¡®†ù—é2'î;S¡«·Y\Aq¶ÒÆ L·i¸ÁÒK’óû㜓œ¤9ÉI¯Iúzúˆ4'眜ó>ŸÏç|Þçs’Ó§O¿øÎ;ï¬-((øÖ_þqŒ!""""¢¨0óªÉhþ×gX|Í•açÎû?v]”`CCDDDDDÑ&uú¤SÂÙ³gÅg_·1DDDDD•ιl"†9‰ £ADDDDDQ©Í#iebB"£ADDDDC’óäq´6}€S'OØ{&ŸwÒ§|)ç}%j¶At|Šúš*ü«ùƒÛ†¯]úMä,*zqÈùθåÄE"q±¿u yxôQ`%¤‡òÜpÕ‡,ýDDDD3öínÀʇá“c_Ø{Ž{V>^ƒœ›fGÍ6l¹ovÔoEÛ‡ûlF_òmÌÉ)DñVkÈùºDeÄ%Qß7WÞqM†ôGŽôÏJÕã9y.üþõ]ë|¿"Oâí̾䫚Ó5ß_~?=ùH›;‚[Å>|m„7üGW”¿ñ¨ô\J\|Iζ7? ¹ÎÏþX€_E~ŒGÿdÀÏÕIC¯ H€€„„D$^|7V½qwȹ§Ý±;îø-Ì+Çe€×ñÌC xèk‘ˆkÃ.ODDDD±IHH:ѸÏ}{ @HHðöÃõnû»°í÷¿»þÛï¸3ròB'.òûªswG\mm½ÉŠ¢jÀÓÕxþ5Þåæý÷"<ÿ‡,P=÷tuÁu¶MY ¢ªŸ.@”öWN’Âå#¾Ï¸èqyäiTE±R~( ¬|Ôÿõo^b½ŸlÄS¯Ý„¥OOÄEø%f.|¯d¿€Y㤤aÃUw¡nêϰþé»pÑßFÁÿ€Œû^Çêyã¿?Œ‚¿õ.ÇëØpÕz\¼U^öïã§GMX=/‚r0æñRMÿÆÝXzßmXÿÂ?qżñxïÉBøÅa\‘0ß8÷û†oæaûƒ×HÓ6®û%VÏÿ<ÖCú›ˆˆˆˆ¢,q8N|ûBÎ×úF|üÁûa×7á›ßAúeY!çpÕh‡Þm€ãÇî]º¹w.ðN¯{n~½~•÷y‹ýÓˆ¶Ž5½ÃÛ7‡\n’üX=çxÔÅøõúUøõúU8vìî]ºß9û)~Ôv84í ½/o—–pùÈ—Q⢌¨<*''¢*‹yD5’Є^ïkxºðçh°ôªŸû&þãÞ^ƒi à Üý³ââDÙ7 -wÕD$zŸ¯Çþ•€D|Œ£¸YãÙãñlø$$$ 1Qðýý¯ßbù¼V¼½Ó`À׿% HL.þï_᪠vÂMh8üî[.¯êåµÞo!îÞüjÿ%à“Í(ùÍB¼»À‚÷¯JÇö×nFɆ‰àW Ecâ$$6,toíãÞÇ=v}?yøI\:}fÈyT‰‹4mø°ð=ÆÓ§O@·m¹þ±½¯»®„„¿m!1#RÎ×XB;ÙŠ}ÂWðÄcây{~òð“xâ±½Ûô“‡ŸÄ4ñ8fz¡cŸ¨/q‰èV±Ëó?Á£Žó»,2*óç=Ÿ`ví8¼¤±Þ}ÏÇÑûßÂK…ü¦ÿ{ël,|òM¼ôP" ‰‰ö!Äóq?“/<ƒŸ|w<Ê•Ýò»€u¨çÏÅ÷¾õ(Ê¿û{à[wâ_÷®wf¯¼?¹íÿð½^Â8oüô¼ßµò²ëq•¼ì¸•AÖEDDDDÑ$AHÀÈQ£’’r¾K§ÏÀO~2ìú.>#ìºFŽ…Áw›–² É}¸ Éa·a¤ß6@Ò%cô…_ünYSnò’nøþåHà,¼Û‘5ªŽíÀŸV­BãÙ¾Äiô¹}Î0Þ(&å?‚÷ýôä#g=€ Š¢ø—wÿÍKDDDDCÒË/lGéÒ»qøó¶{ωŒFåúßbÖmQ³ •7^…ç¶­ÇçoîD9·ýRùó.rR#Š@T'&Þ¤ÄAéS-êôGrÁÕy¸óö¥(}å­ÛºqĹRâb}ï?,±DDDD4$8v ûþþ6ÚÛÛì=Gމi3¾‹óÇŽšmø×ûûð—5+qæÄñÛ†sÏÿ nZ¾_ûδó=•('.;ßÿœ%–ˆˆˆˆˆ¢Ò/ÄQ¡€2÷[©Œ ˆºÁ?Ìߥ|²—Û—[d‰ˆˆˆˆ¨_ K ý6!·[DG§›Q$""""¢~%$%öý…ïA_ýñ9Ø™ÿ%žÈéË7 µý¸¡öû¿›°Òûžá7ÆoãÿfïÇŸM“z±/Q"*ö¯¿×3Èu‡ˆˆˆ( %&ôbÄål» 'Ouh¥5è€gOwàä)õô¿âÑôµ0üu'þw|À ëMâ"$!~ÅRþ5ùDéWçƒOWýýI îPuŠÍXô³›Ð¼:·‡»6 ó¹w˜-øôºðú¯›±¼¢Ê»-×äͶn’žlýž3å¡h¼´=“L»ÐüÔá5Õ>„Z&aÒ½øƒý^Àß~š‚Ÿÿ͉G¯Ñ± lØõpùŠ}øý]†^¦¡Òû%&& 1àX$ Žyíý¹};ÃZLzmŠÆKûï¿ý-¸×îô&“ûi ~ž ÚÏë«ÐüÃ*uxİÏ]¿ EØ58ûç-wÊó<íý wì®§§tÔÍz¤Ý6rDDD„Þ$. ‚bÈF~M>A€n£ž®ú{|:2àgïaÛ݆¾Ù»‰÷âÉ›r‘kXŽËö¶M”·õµdTOFÝǧ0þȯqûÕ/vßž„€m}#Ô2{ðÊk‡q×ÝàȯQó‡ùX¼F@"ôì_¶},u6ü6ÂÒóýŸx/¶m,A†¡Ï|\…ïCꜯ˜0-Þý×¹½û?>XŽú7ªp͵ˆ`¹{xÿÒ>ml Hœൗñ<€Ÿj_­XD²žÞ$.aêˆf¹© ¨GZûADDD„Љ‹ Š¢¸kð¯Ëœ çŒbL©ÃO¿þ8ÒþV»&0ñ S"""Š)ÿ•„½Ÿ úÚcî‘an$$$0Š1E€€ à¡‹—Xð˜Ñè¹õfÄÅí8ÊÑ€HLýFÐéaG\fNOcôˆˆˆˆˆh@4Ñþ˜ oÎz†ãÈ¿ŽG]ÌûË[GœøäŒTw;„~u½½qÙs¨=2÷Ô%áÆeϱ±pÙ¶ ¸lÛL(;Š eñù…)ý]ï‹v]ß¾U‰ääd¸F¶k>’““ñæ/!¯üò˜®wð¥{¸ß¿.!)èô¡|Î$¢Ø#ß*Ö=­£dÈ¥££©ÿ5 Îú¦ox>ð?sv¾}‘€»gŽÂ½Ù Q¼øçøí¯– ¹ƒÙÙÞ‰³.Ž:‡aÌàœ$ßk_ÊŸs:ðñg˜uÉ…ø ÅŽ‰ã¾†áçžÏZÐËò™2*ÿpŒìöZ—Ûÿ¹Ë#"󢋆LlÎtzðÍ‹“ñöQ¯ŒÊ¦EÀmæ”,ùÆåÝ…ªêßàí ÷¢`×g,Tr²òþüft‰'ñNñnü«­æQþ°· ÙWìŶã·Ì`éM^®_ˆ_þ_¸<ˆ¢—Gª í.Ü7ÜÜnùÚR|ñϳ1]ïàhÛH\:¦ Ïÿí0îºf~÷šw]3Îû|̨áðtvá7-‚§³„ˆ¢Š ú·Ä%šoûâËv¿çÏüñ|çûàòk¤“øÎ"¼÷úg˜{Ó+8Õ!âæ!üEh'¿ø§;†ÁÑæÆë‡¶6)vmígár¹ÑÙåBgW–mmEWÇ;éD×™¬½,Ÿ¢Ûÿ÷ëë^ù?´¾Ó(uЧgá»×ÝŒ.·T¡Ünωͩ3gu%,¿rö\bba’M(;Š+?Ç‘3€p¯|R‡º¬¤œw7N_8›9ð‹kkpÙ¶ L^tè:ë–/&¸½ ËÃÛíÿ7iqy¤‚ênÝzzüDí R.éß_[[°ðúq,D¥™Kð{Å4?œ-NœüBê|wŠøöE_°m’—cŸŸÚ?Ç£?Üx먧Ú\hoûbh&.J¬‚$,ÐÙÕ…ŽÎ.tuœÁé'>GÇU_q;·Ø`x·¤€÷ïKfÞŒ³r‡¡ýŒsh”GçioÒ’þÖ$àk7ÞŽ·oß­†7ai<êB§˜€O·áKçq*YþIøÓ¿3Ìð›¾÷Èaé¯0Fz}ù/iÈùlWÜ¢no8´­³..·4íxÇgð¸c÷CžŸ9ާ™°(†'§NŸíÂ9‰,#Dey‹ÆôèO\þs í]nðÿ?"Ú]Ò åý7?÷ÎóÖQ7Nw tººÐ9D;㟉“g»°@G§ô¯’´œiïÄ™v ÙXõ•SŸù~¼50i L^ÎûÎÍp¹]èl;5$bãüü$`ìðÓøÚa¾vE^}e&.ð ôB7aÐåáru™Ø„òqù7pÙ¶ ðç¹ÿ‡ÓŸnó&*u;× ó‹‡ÿ;÷¬;†Ë?f%Ô¡ý¸Ôþuº»¼£+ì3Âåñ ½KJj:]î¸Úç¶N}ó¹]]"Š¥Ä%ª3#‡K­ª’´ääXý^—’ɘQIèê8;$²xÌGÛ·Ñv¶Ã;º¢$+¤QHI œ8ufÈÆª/]tÞhÜk. 9Oë;À;¸§ª ]C*>ö3çÂ>â9´]ˆ7zàøÄƒì®Ãìv¿ù~øø½C.6ZþqûǸlÛÀ/®­\7r,€±XþÒ1,é>.ÿ¥SÇé.lùëÓ¸#» §:ýGõŽwø>WuΰÿÂûûÞé}ýò„Óïù„ŒKœÁøŒÉ¾Äù¤Çœw>€/1zd v²QLd.šΦïC¾çá§½w’FZ”ÛÁ”¥^é8ŽK/›1dsí¦*_¬äϯthÄêsÇq\2„cÕW K+‘ô_c¥qL*Ÿòí`Ê‚Ò!ÿþÕ7 ©˜,xçž!Μðu•ÛÁc3eÚŸðÍéÙ,PªäÅÏÒ?ÿÉ„%Ro-‚íÜP)¿¶S–/ÔyÕOcÛƒÆÄ€E»¶Êɰ¥k'cß®E0híkÜÄ©'äEJ RR^Æ,ç.,2èÝÞ\T:·c>®Äš}N8»íh¤å?0nAÖ*v:êÂäûvÁé¬D®V}RLZ„]rüQ‡7ìê»ã¡«Îö4¶Wbò$­º|!ã §nµò…ºÒi8´,HÒ<Æ:êK¨:¡'–ZËõU}Ž0úÊËMCé@öFRÞ#ÚF­:¬ž„Éó'cR¿ïì¥(Xu¾ qý}«°ªàRßKc¯Æ’U«°jÕ*ä|¾¡s‘ë —´¬û9òû¬Zµ SÊÉ‹ã Ton—§/¹úö¾ˆ¨g#.¹Io =²ðr¯ƒ³vÓ|ÌÊ•G ÖNÆ>§Î}kp¥z™=˱Î{!k-6½°Vã;ùnÀ-WM6»üž¾“²Ó)Ÿ\ ÒÉi×"ì5yÒ•µ`Óôn¯. jl»VL¼ˆR”潌Y»Áàݾ û/qê¹Cátz;ô•˾.ná¶Eo]@ˆú4"ÙΈ®œ«:Êz÷¯/â`X„]ËaZJ ÖNÞ‡9VOêKIJ/ës$±ï=xq§= Ú„Ð:‚oã$L¾r}¤ìçËÚÇA³þ‡6ÂGz6#õj,¹øýŠíðåÍØ¾b|ëvyf,.¸ð3|~Lyù ö‡\ég8Ðäð&õû¿©—öd=á¶ý\ˆý8ØŒîï•z.üì¯x½Yy©¾wïEDC7qÑÈMQÅ=6g·œm]üpü=ïèŒFBF<æQ£¥)k1y_ˆÑªA¯÷½ÛÆèÖŒí+êqÁ}ê[Ï¢€wt¦—²v‘NG:‘2zx·éžN”¾U,!A¢è0gΜ!œ´ØQ“7 ˽÷ ÌÇv&-<æ¬÷3x£zþú™òüÛ¸ƒI õ€Vn"ˆ¢(¾{¸û ãøéNޏÑ€i<Ò‰¯Œéžƒ˜ òˆ Æ…ˆˆˆˆˆ¢€Vn"'.Ì\ˆˆˆˆˆ(A;qaÞBDDDDDÑ@àˆ E»~qYW³‰&""""ŠCÞ¿‡Æ CRR¾öKˆ¢! ©‚  ½½IIú¿ô«ßG\V1cÆ0ï—¸Þ ÆO‚òbà#âŒLÎÊäaX‚߬=ˆÇ×Û Š"v.þÄO!¯Û¼µX<òûXoSþNµò2þ¯i-#BÄÛXöÃu°‰"DÛ:\ë÷šÆ2¯Ü«zŸþ€ÇãîÝ1@°8$iìG÷¸ŽZ\ëÝ÷Q#ïÅNåoeºæ{IË/~E~îã`Ç, £®‘Ç+÷b”úuõ{‡<¦¡÷%Ô¶ÝÏA=Ná²?¶õßǨ e¾Ÿ·á¶S«Î„Ú—Çðÿ0õ¤Û¾½eßL¨‘I5òϸùìëXlÐS–ÔÇAg} ­º mK/Êúäû_ÇCÍSüã¸æ¨¾Y£ýí}=Ù˜éŽW¨:v/vzÿØõ¨LéoŸ²Ü jÝTyO¡íµ|X¯‘Ú@oLƒµû†|Ü:ãüùqж·Î=(SÁÚë mxOÏ ½;׋™–aÆaþüù˜={6¾÷½ïaúôé¸ì²Ë0uêT\~ùå>|xÏG\4r“ĨIK~‹[_¸Õ;×ãñ~ûoðeõ×ZŒ]€t\2C½Ô ÜšäRh˜ež|f©t5a’·Îø;> ¶û¨M˜Š eÕ7<…Wæ’«÷àöϱ*^ábtÿò¾ßŒ»q-Iqh«¾U_Ñ£F`ÉÎ oñQ+šp~ ¿IKñÐÕ1¨§1³â´ŽÙP}í\×r?¾lkGiËÕ}ízid;nbIŒ"lŸ£Ü ZÝT?^ÁUŒ¾Õ¼_®¿!HÛx5ªÅ%¨o«Fî`no¿œzÐNk¯Ãö—zxn諘 ­ÜDEQ|»õ¤†à‹³.d×w_ÚºšMxð{ÑÕå ¼Q#Gà“Oÿ…‹.ºÇ€ÇISÝ}£qëÁ'ñþ«K`‚åŒõ„1cÌ3ÆŒ1‹÷˜õö\,f[~ÿ¼!8€#GŽàøñãAFg‚ÿeJJ ÒÒÒ0nÜ8ÝŸwi<Ò‰1£†uËM:3Lúpþ™³®^8"¿{ðÈ÷"òð8…p}Õ—øB¹ 3$Ëë cƘ1fŒcß1ëý¹>HÌdï¼óŠ‹‹¥WDn·ÑÑ#âÌ™/áv»áöxàv¹q¶ý,¾øâ4R’ÿ oþíuÌ-ˆèƒç&râÒGÅ•gЪ"ü> GK\†%&`ب<ʃR²DŒ»ø«ǀljÛÏz˜1fŒcFŒYŸÅ,šôYâât:y€‰ˆˆˆˆ(º—²­ò6¿ç·—¾À£HDDDDçbâw\¶UÞ÷Éqòȸâê¹~“GÞÀÉ#otKhˆˆˆüÔ›‘šj„Åî7æÔT¤¦¦¼¦5]k=ŒYbɘiL·ÃbT¦›Qo1²[`ôîw*RØuÇS#fõfßúRSaŽ› é( õf¤*;2^Zq‹zõ‰Ë¶ÊÛwË}8üñ{H¿â6ÌÈ]ê}œóÕë~Åm°Ûþ+®žËä…ˆˆ´åQ„ÀΤF‡‡‡-YFXìvXŒÈh”§7ÎÆKKT«nëaÌ,öH§3fÚ±±ÃbÌB‹Y)¨ˆÇäEتì»Õü«{ëÍ0Ú2Tñ Qžr*äi8[Âxˆ™Ž²`·Àh5ÂQ‘£QþrPá‹[‹€Ìòj˜ ±ÙžEuâ²­ò6Ì-^ã'þ…¹K½Óü×}w~ÿÇ—ð¾CÄô¬Â©Ÿc|Z:æÝ<=x  Þ¬dàõ0d›Æn­¨z)[5‰ËkDDCÅDddnA…Ò¶×[±{ÑrØ“µX"_ÌjY«cŘÉ1‹t:c¦›ÃhÙ[£Ü…! —¢¶xê‚L°:*Àn1I¨7#Õj„Õ”¦#–J'_®³f B^l WêaÎj¹BçžÖ›QØ\ŽjSì¶fQýÛ§€S'>?+MÿÚ¤o"ë†h?ògËñÉ]gÿäªGmF-Q%¨Èh„5€Ý†f\ £Á7Ÿ4ÝcV ÌŽ ä`"22Õ+ËÄì\ž¶ˆˆâ¨÷“Õ“·O”LÁ˜£ºª ¥Cd„­Ú “1 3rr"™Î˜iÇf"l™Rç4ǤÏoÑ1™QTVáÛ_¥C^¸À¤n‘'eF«F,ã,]|ÎhŒõ:;šeA¶êLÐêa.lFycEL_„‰êÄå§kÿ‚ÕËnBÎÕSñ÷ºõ8úÙiL¾a9 pñrËqhç\~édé¼qÏÿß; ³9YØ G…Á—é7J÷W*3m…£"³3ËP˜ºÈ,B€ žÙ‰ˆbœt»EÙ^¥”вÌr4ZÓðTj!”~Qfy#¬©Û“Óhó;Gmu Â µžx‰4fõ0G4å,Tlr¬ÕÒèÁ^™åhtTÄQ ˆSf9VyÿêaN•:ã*¦™ Z1 X'аÕaƒiô7XY°[– ÅlE…!\ù3Á;,ÆB4—7êœ?z ¢(ŠuûÝ~R¬ñIºV²®fÝsg¿nèêe7áýÿƒL×ûçoô&9Áë‡Æ%@5‡ù‰ˆˆˆˆ"RóÌsxðþ…ظq#ŠŠŠ‚þ¥óÔ©n?@ÙÑÑää1Øýö[(˜[€¤$}yEã‘N)- ÈMV»FÆÎ×!k%&3n —¬š`µ²ÐŲ†€ˆˆˆˆˆ¢]Ÿ¸Œ;–Ñ$""""¢èN\Ê“w_á÷üÁ߾ˣHDDDDçbæV±'ï¾ïý¾—¤~ÅïñçŸäuKfˆˆ(~Ùª²!˜j¥'µ&‚!» ¶܆Z“€ì*õw‹‡ªlAjçjƒ7Hmb6|ÍS-L‚²¼òP½Þm~&.}â«\„‰ß» :ŽcÆ]bÆ]zÿþêEÁÖÂCžˆ(V“–bl†hÉ—Ú]ãAT¶ŠJ6€ív¾EDCÆZ_gˆ¨_’–t4•‰Ebë”&/¶*dï˜#·‰òç`k‹(//а.fVnF‰Ò`v›Ÿ‰KŸØLüó:̰Ú;mþƒÕh©ß‚_þnÈ,µûU1)ûôžolUÈöž¼OdêçrÖê—Õjd¿ò¼Þ÷VgîÖñ|GDY¢±¶t*ÊJÒtÍëk»µÎˆðܰŽü9X°aØ”QÿhEÓî˜#ç$HËÀTD‹ºšÞ„2%i Û,š`ܹAÕ¦õ»tL™©êgÚZpS‘‘HdÊ1¥Õ}ÝIy„zsOF§™¸è&Bì÷LMû:òæÝê}̸ñ:LMû:~óø/qÐöOœúü¨ÿÂi%hç`‡ê¾>S­<½u ÊU÷úµ,åD"ëT”¦Ë¯™vèÜÒ|ÌY°[ZNc(%­¤eMéHo*CC O~DD‘ÉDzʃ(×9I›…y37À(²×¢)ܹ °ÝynÖØ æ€× 4:IAïdàmÕŒc¦_J6År›T l¥DÅVUŒ¦²ß-_Þϱr»æýìŸ UÙFTß"rþè%ˆ¢(ÖíwtûuJQ²Æëû…Ëu5›°â¡’~ÛÈÛV< Ûƒ;n¿%èëËÜ‹®®³8²ïÑm[²‹Í ±í nSšô¦2ß=݃Ñ]2 0Â:¨Û@D4V=^…ï_ˆ7¢¨¨¢(ÂíöÀívÃãñÀíöÀyê\].¸\.¸\ntvv¢££ÉÉc°ûí·P0·IIúòŠÆ#RZ›¬vŒ¯C~aÕÿ„|½ ñw1’8— ¡€ˆ¨wMiƒ<?xò-â oÑP“ÀQ´ë³—cÇŽ1šDDDDDÔ/8âBDDDDDL\…Ýcª»ü¼ÞŒÔÔT¤-°{NDDC\=Ì©©Ò¹ÁûPGüf5k¿6dÂ,vXŒJį̀;=žbá+7æúËŠzy¥_b·À¨.‹q×_Q—‰Hc¦µlˆuÆLß5Ø1W·M!Ú$e‡»Å/LÛcíY”'.õ0÷$˜¬+Ly…Í(otÀa5ÁÐí9Q*8äÇÖ" ³¼Z>ÎjDÑW` ì°³Ðb–cؘŠT3ê5§ÇS,*¼åÆáØ ªö/LY©7§Âh[ì[Þ¯_R„­A§ÇLVuÌT}½°õKkÙëŒÇÜ‹±Jý™—–$±v ŒV#9ñ Ó¶ÅX{Ã#.ê¤FÊ&¾ô±g Q½…Íå¨6ñÒ–~‡Ñ²·Æ¥o™†KÑ ›]kz<í»êJ¿¨pT Gg?ƺ%Àao¹óŽHL°Êë±[Œñ9Rå]!°ÕŠÈ«›Ö²½Yç`ærÁ޹&k5°D._Y-0û%±õ0gµÀ\¡¯ÄÅCÛ[‰‹Ý£·òNDF¦úÅLÌÎåI†ˆˆz•µH£òÕ‘ÌDddª» ͸i­éñ´ïª+ýˆøÂéì\åJùb”gvOê &3Šâ.Ù“;çæÃ0YÐÛï·loÖ]9ŒrÌëaN} iÞ‘¤Å°•ò¥ŒÆèO”ã¡m‹òÄ%Æ¢½(ËJ•îÝ3äbv榦"ÕøZx¦ "¢¾ëJÁb,Ds·[Ä”Q|åÊz!¶@>7 ¹ÏJjÅ àÊð ÚQÍéñåa…Ña…ɪ¬(å)UlR—Õêe•Ï:ذØc£:b–U¶ØR¨úLŠž˜…^¶ûô-GÞcžƒŠÆ TxËWZÌRY°[–xÿ]7µÚ¶ØlÏQźýŽn¿N)Š@Öx}¿p¹®fÝs'ÏyDDDDDq¤æ™çðàý ±qãFAE¸Ý¸Ýnx<¸Ý8O‚«Ë—Ë—ËÎÎNttt 9y v¿ý æ )I_^Ñx¤SJKr“Õ®‘ü:d"""""Š~L\ˆˆˆˆˆ(ê ë«;–Ñ$""""¢~Á"""""bâ28ja²Qe`«B¶ò7Q¯Ï/A€Às c°¡*[Ù?¦ÚHb ^Ö*d ¾u ÙUˆ«°éÙ¿póÔšb¯åLGùª5AP^— ñé6?—Á•V‚±%i QĈrLi!Š"ÄÖyx¾8Î:”ý’´ìÀQŽ™X†¦ôx;§¡¤AÙ?+` Ü?­ØP•ަ2¥3ÕçîxéRVeC0µ¢¤A ÒЊA:¦Ì”(ýš©ÈH ì¿—aTóÅ[ ѱ¾yja2n6!FlÀn”¦g£Êßu3xùRF™¤äNWûe<èëS3qé?Mk³å{ò¤!UK¾œ‰·NA¹ê~½–eb˜Ä#sìFiºàiI+i@YS:Ò›Ê| QsˆÅï¼“Ž¦²À«ëÔ=ÙóÝ[Ÿýò,ïUô8éR¢*[@zén¹3­þ‚rLJV F ŠÍ¢ùŸi²[°LŒ§rjÿ”˜iÍ£¾íÉŠ˜‰ÊVyz\ÖMíòe«*ØG%fJB§þ\4ZsP}‹XÈù£— Š¢X·ßÑí×)Eȯï.×ÕlЇJú©Á+Ç”Ö~,|¶*d›9ÜODDDDägÕãUxðþ…ظq#ŠŠŠ Š"ÜnÜn7<Ünœ§NÁÕå‚Ëå‚ËåFgg':::œ<»ß~ s ”¤/¯h<Ò)¥%¹Éj×Ⱦû—þ‘‹ØÏ×eÒJÐÐÀBIDDDDÍø;.DDDDDõúlÄ娱cŒ&õ ޏ"""]êÍHM5Âb×ùšÖüA§Ûa1¦"55©©fÔ÷ùô~ Ì©Ê{ª÷+Øtõ´€×ìÕÓØ$6ƒ³HËS$1Ž×˜©ß3fåM5ËM¸º9DÊÙ€ýª7#U9`!Ëv²ªž0q!""ÒcD‘ÆIÙhËèþšÖüݦÛa1f¡Åì€Ãဣ1©fÔ÷ÙôþNZ¬0:ä÷t˜Ñ’e„Å®5=Þil-2Ë«a2(ë+ÂVåu« †~Í`Ä,ÒòiŒã5f˜¬Ê¾n ÕÙÀr£]7ëÍ©0Ú{Ë`Ü—³~OZÂì—Ý£ÕGEŽF¹Ó&hÕ&.½¸Ê¤dëv ŒW•ü¯\q ºÅŒz3R­FXM½ùÂúÃhÙ[cŽÒ?KÃ¥h†ÍÞWÓû3‘‘¹Ê ¬ÞŠ-Ø‹–ÃZÓýcWØ\Žj¥‡b0Áê¨@»Å(_½íïØ FÌ"-O‘Æ8Þcf‡ÅXlµJÛ åF+–õ°nÉpØï¡XÎúL¸ýª‡9«f%iÑQþýÚ„#.™(¯–³{C.fgÊ ³Ý†f¨¦ æ"u£­±ÅJÖsá`K!RS ±{Q–Õ“‹P‘‘©:ÙÛmhÆ¥H3ôÕôþŒtܪt4&f E0æhMWÇ®Ùw \«ÉŒ"4ÃfïïØ FÌ"-O‘Æ8~cf·‘j> “Õ`}a_¹ ]7gç*Wÿ£â’ƒ GÎ.GDDDDDшß*FDDDDDQ¯ÏF\nüÓØ>Ý0Ë»LWˆQû/Q¼›EÛõ#.J’-ÿÑÀO;óËÀá?ëOðÀ€IÀ;9Àæ`ç† ¯ýrð}ùå Ëœüi.ð åùIàÎíÀ¡8ÓÒ ø<éï7ë>ê>}åà/?­ù‡R™Ó,[òüêòdRÍ‹På1N-g¡êZ˜RO (¯ñŸ õgðŽ˜^¾]ëVžBµ‘L\ˆˆˆÐGÀ›9Á;—:xþËW7¨ž/Õ8™Ç]ç[#Në·ëÕñ8 ˜¸˜®t.Ø\§?­ùÿ2„ÊÜÒéÂê'ää»¶é¹ÀÝN`úÿùP=¿Iž'ž/Ê+gë5êÚM1ÃGrS­ç¦b¿œ--SÎþ¤$-å/dyÒj#£TÔß*öËÀ/'IOÎÞY,=?økßXî`2|ZY:ç[Zü)“ç}"¢¸"_¼u¯ÿäÃ'»3}ó|ÀÄó–=Ü*w”sÒMC dK ÔK‰ç¯~ä‹ÇÇ&ž¯?­ù‡’õÛ¥îÀ;sßÊ#×M (—åi°2X¾whÄI]δêZ¨˜--cœ+uÖã!9W~9ømþ¶/ÖËSt¸œL8 ,—Ø¡½À›—ëxM¶¹^R<¼vR>¹bt>מ'5.DD?~)_]|gôï÷çø£ÿU_œŽBÕaB9ïL0À«'€¿hÄoâ´àó©2'FMWu°—ÖK¿¦”±€ÍÓüËÓ/å[xÅy|‚•3ͺ"f#7ñðñ­ú¦”£ÃÔŸ ÅCyŠîÄåpë>ßÉåè{R¦ö5%K½xGÎÌÕ÷:f­ùnÝ Í»¾×ð.OúDD±@}_ø÷çÅò½ðêÛ&Ôçõ}àGß“Îó!Ç·NœîÜûJ­8婦+çÚ7ë¶ËW¶Ïófü4æReîÒêþÄ'lPÅÝ?4á=y¾!ROÕåìð4º¦3õz€ø¹s½Fý™œ)ÝBöÀ‰ðåïFy 5´DQëö;ºý:¥(YãõýÂ庚Mxéü’>ݰ`_;|S®4Ä¥'¨z3íH3r~2 ³OTáÁûbãÆ(**‚(Šp»=p»ÝðxûŒË+·ã‘%""""Š#5ÏD϶$ðpQ´‹îÄÅn1Õ‹ÛGDDš1,ÆT¤¦¦"5ÕŒú óÔܪ̣n·5–­7ËÓ¤‡Y½RõkF âç ŽQ°X…‰¥VÌìÕ댫˜…)+!ç ïx™7&!úPAc"fzŽC,ÆDoùR^è¶Ž0õ:Üq`⃠V‡&ƒžÆv‚®{ûˆˆ¨ÿ’–,´˜p8p4f ¢[òRsªF‡<ÃŒ–,#,öËæTÈó:àpl ¥éõæTm‹}¯YMˆŸS@*¼ûìÀÖ" ³¼:à§Kí˜Iа5.cn¿CÍ.Þq3È1¢(ìL13=Ç!cn¿ì­F8*r4Ö¦œé:L\"¸ú£$$rÆè—Q†¾²fô¥“þ‰M½YzM¡^IR®nÈ™®w]~ï;H É£eoŒò9†4\ŠfØüÚå‰ÈÈÜ‚ o;nÅìEËáP˪FbÌ@…£9¨‡uK&€Ã:ÎC1®ÞŒÂærTw»2§K­˜A¾È'ým·ã0fûÉ<ñŽû˜é.Ýʨžão嫿¬˜+rzY¯™¸ô“L”/Vg”''ÿygçÊÆnC3.EšÁ—½ZM)‹­È‘+„zø-åÕòÕ#ŠÔë û¾DD4p&"#SÕ&¶÷R&«Cj÷`b2QcN¨e¥eð»H5;W9-Fyf<žêa.lö¡'–¡cæë‹šãð~¿CÏ*Þñ³Hs˜À‹™žãOåË‹±z´Ð匉ˀʱh/ʲRƒŒ ÈY{c*Ô÷÷™ë½£)Ye{¨®ºQ Ô«%rÛ¾¨ö^‘TFÅýïñ6ÖåÊWrµ–Uî%©©VV˜ 9¨p¨æO]TÇÛíÂvXŒ…hz‹X¨XjÅ,`ºÑ†Åqu‹µÖ~«cjž`ñ*1+ÄÈ}7ïgx4bæ1ó‹q,ÇD{¿ì–%h1[ƒÄ X\CÅ,ØüÑ«Ï~ÇeÑ=wòüIDDDDGjžy.j~Ç…_‡LDDDDDQ‰ E½a}µ¢±cÇ2šDDDDDÔ/8âBDDDDDL\úœ­ ÙB6ªlñfµ0 Ø{Q œ„P•-@‚ µ ˆÎÓ© BÌŸOuû`ûj«B¶ ,+@È®‚-ä2µ0yçå¸éˆY­ÉA€©Vã5oÌÔëTÏ/1‹ >êy”B–¥ ñ‰±º{‰KZ Ä”¤ñ<@DDÝ KGS™Q!¶NA9“}òç`ÁP9öšûºVQ^¾¡iªNgvËÕ26Te—cJ«ò^óð|q@¢O1Ë·H¯‹"DÑ ¥yjM²[–ù^óÆ, % êù³Qe‹—˜+OÁãã—ï˜Ñ’¯Qþòañ./º˜Y¹Ù׎±º݉‹:ƒ„:sT2C)‹Tf±Ue«²F9ÃôË@•ƒ0’RkBv•-Èúʱ§""´¢i÷Ì‘ûHËÀTD GåyìÃI+AƒhA¾·¯"÷GjMvÌACI†zf”4lŠå«ãéM(S':q3ÕŠ °ˆä£;6ÌФ§^ÎXP’/1ÓJã£ê§7¡Ì’¯»_mJ:šÊbñùHb¦Ä9)ÔN½F[FõÆRÒ’…³¼¨–¼„,CEت¼f5Á ×0±ŒÙrd‡ÅXŒF%†³ñÒ%S%xV#9ë› e—‰Kß%2JV¨Î.Ô›ÕY·&i”€¹[&¯Ì'g£J6Ï‘"¢!Ì‹±ØìB™êj¯¨pT gÈÇJookk‹š}í“ÄEùPN°@x<x<<÷Üs¸óÎ;5¿ÏY ŽÇ#Âív{—#""""¢ð<n‰ R?\ëÛ½A€ËåBUUî»ï¾nÉJ´Ö“'žx\p¦L™¢;kt»ÝÞä…ˆˆˆˆˆô÷¿†ëëâwvvbÛ¶m8çœspóÍ7÷ËFÆDâ¢?~<.ºè"Ý÷ŵµµáË/ÛÐÙÙ‰®.K ‘ÎÄÅåêÂ9眣kþsÏ=“&MÂØ±ccbÿú-qQ†œî¸ãx<|ðÁºÞÙÙ…öötuu±éN\\9r¤®ù/¹äLŸ>Ýû£‘Ñþ9ò~qQ˜ï|ç;ºæok;‹Ï>ûž ß’@DDDDDDé#¢(b̘ð#.Æ Ãõ×_S»Ø'‰K_Ü 'Š"f̘ýûÿƒ°ðõ€aÒ$d͘ñ(ŠúÃùÑ8úÒ'‰‹ØG##'NÄĉqÝu×±Ä `?=ؼIIIQ³/ <œDDDDDíüûΞ]ûÀÜâÕ~Óÿ¸ù§€ÿYögêËý×áš™9øOë?¼Ó>t‡éW¯28Ôï_ü„öxNáÔÒÄ/¾ÚÚ¤G{;|úwïü5»š4"""lÄåÙµ?@ûçwË}¸â깸0ý*<þØqaúU¸0ý*¤}ëû¸âê¹hÞ³+Koèãw¯CiJjì]{ òRJQ§z^S7ÀÛPWŠ”Òº€I)(íóíã‹¿åþëpIêW0áª[0ã®G½KR¿Ëý×õÓ1ˆç@ç>+gý|œ†HYŒÈχp¨8z°ÛcÇ€'€öv « %㦡ðš©1<±÷Yï¾öwLÔëïÉ{i-ÓWÛÝGëbm-QÜ&.Ï®ýæ¯ÆáßCú·aFîRÀ¯6þ~€ë¾;§ºFaFîRœ:ñ9r®žŠ[nüN?oU“iÔ M‘;¢öš<¤ÈÏóÔg»o¾u‡1! S° k•e ‹°(7Ô:¤í(-Í“§œ„‚.cGM^Šw;»$sïÚ¦ßôºR`;*s}'VeYßI7ôv_Fö‘oó´Îžzã×3¯¸×>`ÁžW_ðNÛóê ˜q×£˜yÅ•}Ÿ0L;„eN§7žþÇ90Žû®>^ÁŽc˜cÛãrlÝu(M)À&ìÁòiÊq UþÔÛ#ÏWS¼¾ ±²(üótîß/®¸\Ò£½]zQþŠ÷§?è+á‘F¼BÍõÙÕë²…Mü»Å_ïòš9„V¹ÐSî×u¿:=DÛZ"¢¸M\lŸvxÿ¾ÿ®Þ¿Ÿö1”üh¶¿ú1rn{ÇÏr4&-Â.§Nçv  ;oاü|Êò…ÒÉÄ^ƒ¼i˱ǻÐ&HYND.*NìZdð¿2¯µÙäûvÁé¬Dn·Nr°÷݉÷W®Ùg`ZêÅbÑÓkд¶vØQ³¶ kîóÍ”;k¾oÖMký®ÔÝŽ0ËøbèIJCÓºw¶Ãì{oü¨ÒŠ_õ$òî{)â—h©ß‚–ú-H¿ÄìGêñï«žÄ Öx±òÆQ•è8åǬ—•2ä8ÖåÌ^ƒ¼”uHÛåÛŽÊÜ\T:·c>®Äš}N8 R¨mWÜPÙ½¾ ŲètBüôS)Yio——®.oÒ¢v¦}€d7Ô1Rµê×BÆ8Øúì5È[<-Ç~×¢´‰¿FùÔ³|A·Yo¹×QÖƒ—Ç¡ÓÖÅuâ²²r'ìÇøÊù_Ã7æâøYàøY 綇ñ«?Æ/žx ŸœQÿÂcH>ÿÔ¿q/¾ò¾Ž+H:®F÷5C¦À×™t:å“Áwñž€êj|'à ¸åJ Éf×^G/Þw×"ì5yÁ¯¼áé[^Ä´”ixñ–§±Èà»"˜²v2ö9pî[]ã!—ÙƒwÚ½Çií¦ù˜•«s?ú i)˜sÚþ‰¼y·¢î¢¥~ï\=»÷@Þ¼[‘uÓ2W€Ã”/Ã"ìÚè½ULy¹Ýcì8†˜Ö«rf¸·\©¡Ñ]î5¶=¢úÿe±íÃáøÅ/ðéž=hª¯—o¾‰†]»¼WO}~Eµu¹˜5–/¬Ýžlš¿ÌãžèÉq1¤aÊžåXç¼X‹Mµi:—t›õ–ûÞ”õ!P¾‰ˆ“ Š¢X·ß|U³(YãûöëÏV–Þ€œ«§bìÅßÁÑÏN{§'?‹®³ÿÔ¿q++wòÈPDî©|óæÜŒßo{wÜ~ Úþé}í‹/œ˜9í[øÙÒc^I 6­þö¿öÿ44‹ò.Eá5Sñ»úx¦þC„ˆˆHÖx¤SJKr“Õ®‘›¸¨~†Es„…(Bÿ»úœ=݆3'œð¸Ýh?ó:¾<Æ¿¬ep(j¿UŒˆˆ(Ê""""""½‰ €’ˆˆˆˆˆ¢"""""bâBDDDDDÔ[ÃB½¸cÇ3JDDDDDÔo6oÞ,玞%.ŠS§N1š=°cǨzû õ<âÄXQo cúWcc#Ö¬YÃ@õ±Ó§O³žÇXœ+""ê ~Æ…ˆˆˆˆˆâ9q©CiJjìêç)H)­‹p¹ž¼W_ÈíŽÒ”d„ QDë;·âÒWë!Šu¥Hñ«£vÔä¥ Ï;¡¿Ú”Ôä%#¥ttè:U7)y#`×;Å( 1ª+MéÃö©ç±²×œ‹”ÒáÝþŽâ‡Ò”<äåƯ?Ï]}Œ…}!"&.ºå¢Ò¹kš ¼ w]i RRäGiÜð`ö`ù4_’Ó}¾Øk—â[^½¸æzUËäÕØB¬¯uá–©+EJ^ ·åÃQš2›l*HF^M‚7a(-=))£¥÷²@^J2RR’}Ó‚NWÖ—ˆåÓ’å{÷õÕ•*Ë$ûŸüUë“¶A_óÛ¢X`¯A^°Ý¹ ‹ ÊDíÚ‡[^\èßñúH]¯í~IŽ_›¢»ž{°h×)8+»B· Xót ºæï'¹÷ùµ×¨+E¶£27Tû)u^KKóäö±?b5ë–ku`þ¦1Ña¾åi'f½¬.KúÏWÁùï:ßr¥u€½&Ï»ŽnÉx]°2ìBcjìzÏÉÁæ X§æ¾ÉóÕ”Ùæ å'H,|åMk?½1qÑt%&O’Ï‹³æû&oZ‹{.*Û1WbÍ>'œò²û|tP¦Â2§Nù1ëe_ãt½öä-ž–çßµ(-`}˱Ƿ ¤³„ö2¹•pîZCØíB¥³ óáÆš}§°k‘ÇûÊäûÎÀélC®}ò¦T½ÿp”—‰nÓá·>õÉß»>¹³Tåäo!ïÏ)8þÛ­m ŠG“a—\¯—š&µöxqpåš}p:RG^w=¯®t4šÖ´©’ªÁbÀ¢§× im ì°£fmÖÜ—ëkÚB´Ë“ïÛ§³¹ý«X”[éÄ®´uÝ/Â…9_é+§Û‚<ì¼a—¼Ží˜²< V¦C^pÔsN>_DûvCe÷mV~‚ð–7= Øû—àW‰¦áÐ2ù*g])RÖNÆ>§Î}kp¥öY\ß|AÏ»i˜‚Mx¹Î×x®Ý4³rC¬×†){–c]²ÈZlò[Ÿ¯u:å:Ô2º¯.êÙüþ§á”“ ge—öô°‡d4RÖº±Ïy Î}íªx0eÏHÕþŒPÅ ‡ïE- ‹°k;P 1•Û§oyZ•0ìÁ‹;íÝÛƒÔñÛµÈ{MžtÕ¶ê¹½æ\4µãiõÅ‚AŽÕÓ·¼ˆi±ÑÛ.÷K¬ºpß`ùºá¾öi~G$ze/pÞgC^JAÀùEã|Õg4Ê4&aò•{pè#åø¾ìÛ®¾8'÷tß‚•ŸÐœþýèÖ?ámnDñ@EQ¬ÛïÿDø÷{V~5d/ìØ±ƒß*FÔONŸ>qãÆEÅ×!Gû7eECœ«þV‡Ò”µ˜¼oWl%yDDªsDqq1víwHiI@n²Ú5’ß*FDDDDDÑ#.ý(99™A êgƒÝ>ÅJ=†vœ±"""-zF\ÂþåæÍ›I"""""T‚(Šâ®ýF‚ˆˆˆˆˆ¢R‰§“Ÿq!""""¢èÇÄ…ˆˆˆˆˆ¢Þ°Kÿñ)£@DDDDDQíÿ·Ê¤l ŨäIEND®B`‚Amelia/vignettes/assets/diag.png0000644000176200001440000006335414335240021016373 0ustar liggesusers‰PNG  IHDRÍ€¸„ 9 pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF\IDATxÚì˜OHqÇ?SR‹µ8"ÂH Þ:uVÒ !ýaŠHÖ›ím(ó¶0ÝŠ( “ñ.á¥?‡ 1ì‘—NAØ„éÐ,Kº*ºévwÝYÝÕtý³³¿Ëï÷~¿·»ó÷Þï÷}OŠÅbB¡Ð>–ÅÅE¤t:F’xû ƒýjÃC½ézìeYkš0yýí7m Çi¿û„ªÌÆ­¦³¼ù<gx;QÍå1˜øAÛ5Kœãð×pþQÙÿ4Ìì\€ñä(€ëÑééiü.û¨©\ †íÕ55îs×3¶V9ê7©Ú ¡ëzÑýúúz:::6m¿&PY3Iö´ä¬˜ÀŠ^SSSp™tÑuh4ZÔ6 2??Ÿµ?z;ÊS³/Ô Èí’xÜ{Ð ü‚ö“+z ðì_©Ž“÷äÛ‹ÃHõÐBVmL@yõYİÁè¶QÔI45ŽöÅÕ°gUÛC*\2‘BQmäÞ” "tw›0”úÝ}ZŠa!k¦gëÙhîøI’üGêËÕ£U{ýÅa´Ý5?|,É·\¼àÞ·ýýÜïê*jÛ××G8.-PEÖxŸì)X½\¿ºh-YŽÆ‡d2I¶W1ôšŸC@3‘HdU5²e ^kU/­%+Çq–gÕÐØ Ž4NÁjD0#Aê+¨ÙjCSm äî·ÍÒ›BËV#)OËÓwÌH„®ßÃV$Ÿ'ïd$ý‡G­,Ðd…L=cjr±0QdÍeÆ—º°†êÞ*Ž~•ú;|U xø>‹“OÀz]ÁÓ%*ŸPVxùW ͵m$z½Þ0êÏíëv’õ£qê—1°í{ôœŸ‘øóÙúµª·ÄÖ‚mßá·“§½sèÅ ð”ñštnBU¢ éZWÖ~Ï4¡'¾ý1pRhÓ‡Ñ âµMœx©áÓÛü þõþ¾ƒ#Ó‡¡` Çà %q3¯½óÔV¾ àzééXˆ×üÍBIüƒ-ü<ÁˆC%(Ÿ6µ…ÖPZC Õ8åîö*hë^Ài&Ààà`Ù´±±±Qqú»Šrñ2¸“>g“[ùqˆŒm‹›abáÖQcr]]«~¸R(¶:•Jñ"GmuX%*§žIA„… ‚‚!»NÊ%C 5,U·¥œÓ:šššJò†¸`„*P +ïfJ»·EÚáù`e£­ÜË2êÂ-À¦·ÃZdãZj·ÜŸE; c6Ì0dñ””ê ©zÂÓñЃ‚Ó Îññqôöö–M{jj ÝÝÝnX KQ ,Ež”rå5ˆóÎG’‹¦õ³J4¡åŒï„R[N|8Slò²é5a¡5HcI[; %€À! ±nxatæ§§ù¶N1çaac˜£†à:¡ˆPÙ5ÔW‹_L~ò7ÒéÿI­1ùȰPq(èÀ¢ôäñ“˜ˆ‘ô’ãS1‡þåàì™SE}8µ:+¹xʵ'|ß J±NÕ"C]>åv¼÷“^– H%†ˆ¡ù‰8%‰‰¶¼æûzºRÝ  ÷Ubæ3R‘Љ«««8:ö/’ÿyGÇ%=´Æ„"šriÊ%CuÍRb–ØÁvè÷íñ†¥"“É ¾¾ó÷ïïêsf³Y0ÆÍfËO+Ù‚mÖ²;!\ÍÐŽ‘4n>MJŒð”8;1fG,·3ÂzV•1f‹iÅâÒÖ×ßâø±Ý™¡TU5êá³~¨ª ¿ßáe^o¬ªPç.c.w?¿]]†ÿò EŠ$C ÄPÂAáÿÿìalçÇ.1$Ì a ÆÙ¢aS¶+ìCVm”Øk•i뺑UdSÙ—f$=V5š*¤ªÒ¤lû@<ÑÉk7UmQÓ*”¤- åVQ‰ND B“Ò*@Òï ÙŽ÷ᜳä‡ÄÉÅ~~Òü>w¯íûûîÞ÷yßç}\Éd )§bySUW_áúkß¿EÈe€û×8Öú´­ýÉc½”¬.]žÝÛè<5ľÝÛè<5Dãîm¼yjˆaxÔ+'s©yµõiŽy€–÷ÏS·u“ÙEùúƒ$JWázçã‘$˜«WOð÷G8> üî«px„úªx廿Bgü¨…çÛ¾ÏCÿz>cÅêÿÕrÖóÄ_ßc­b}vu5M{•sûöXöÛ/¾GÉJ·€wϤS[®^{²ŠÞ3£¼7 {›ÿAo°‘´OùòS~®_ƒ½?­¢7ØÈ€ÛÍ‹¿?Eïowóãï˜Y#{ÏŒÊÙÏë·€óŸ{x½­ ª¾Í÷ÖÜ\Œ¹Ý¸Ž\•gæ2àÊùÞ~®ÅÖþ›“ÿ,Ž -Ò×DLAÄDLAÄ,N1£Y¯fŒíÌ@¢ çXoÔL1/ñŸófÆ”ÞõX'¹5Ÿ Q´¶ÛŸñ˜©<&„éªÜ@³Œ'b„ð²·!ŒÑµaŠÌ8ϳoÀhnöCŽ÷Cpgú3S±M×1]?Órœ5‡b§<3¥$ˆ˜ÂÒ4€Š…öövÆÆÆæ]Ýdè|׿h '­Íwñ³«|iýê©'`–Ä:¹’š~³(õ/xHKÍPŸK(‰ÇãÖV·nñ /e•åºÍXÿ‰Vâñ s¬óDNõÏILs™E3¼ > 3®Ä´)Ûãû.ši­Ì_iߢŠ5Û•‰D¬­éÂ"ëèŽD8Ðɰu›»päœYVQQ‘uìLõ×ý|ŒHd‘H7ꎤŽí6_WÔYÛ‘s™ï{›È¹#Öûäô]ó}›íkrñØËIÇÞf¯\¹’Ãѧ™—«©¬¬œ¶<·úMŽý~ù•Ùë·Ó'¯  ë7¿p„3±iÓ&._¾<Ë^»€±<ÖoÒ°æÓVx€q‹ï4ð®_# É$A¹r›œ,f(œZAºÿ–•VQY)ÍisAá(:QßBÏÚ‡Ô1‘TY­?mŸH÷˜¶EQG£V™Öp@OO¸. 1 z>^¸W¦RŠÀ´qózÖŠsë“ÚsæìYnܸ1gb±‡X,6ÍÖÇÏ[öVзYÃx‡“Í[@×Ðôô¬Ã0`ËV4¥PJ¡”–²é k(M·ì@iºå-²s lÜ\…Çãáõ7ÞÈù3Æãqüþ —.]Âè9HÏÁ ‚ç £Ãèá|ðl%a¬¨À_áOÛ{b†µÅ33ä òÁN2¸WYƒÐÊòäìb?»ØÏ Ý;”Y䯇×öhç''ioõsqÔ$Q&¾j/n÷J~ÑØ˜ógK&“tv6âóùˆÕ¾@í Ÿòþ#>b±±X-Ï&eœ$>Ÿqâk¯t¦í‰q>ŒÅÌc—àÊ”í“X±bÅ‚¹ÿª««Å´”$‰¼‰ ]AÄ,FlÃàíÂÆ„¥Ç®=#kÈmV1S1‹Žÿ³wþÁQ”gÿÄHRï‚ã‰ÐKZhÆÎØLeбZéÜüÑ câE†Ž·é X¨ӴЙ\Šé! ¬a4±Ò‰w;NU¤H2†Áb¡£A)bǼ_bgýʤò>\ùÌÛñwœ»i ÿ»=T^ŒÑwâµ÷ºu˜wÑâÿf[€gîxkÞ{.%;´åŽ2,|oY"+8óÕWÐtÿQ ØÝ}‹þø‡(›¿]‰{Šôø&nÒãÁþP_Xnnt—Øœ“Ñ´ï(˜1ÙjÓ¾£¡Ô‘™“ƒÜ\Àrs÷`÷±;±·|jöU`÷±)Ø»ö%ÔlZ€3æbѾ%Ø}ìNÜ3éŸv5hÿÓd”ø?:¢‘FüYËãµ?™r5 ‚H#‚>ê#ˆ´…ÄI$N‚ HœAâ$"MÅÙ—ŸGøcå~#ŠŸPî‡ÐÜk¤¹–‡ÀµÉð…òÀß Vî‡X~Ü(G_KüFÐ8žÎÑËÑ#ÿ±r¿IPÜpÒyò FÛ¢ë–ìGäþèûÁËé7êr-÷ShI"ýÄy!×N¥Ñ‚âý(^fÁF„CgÚ×Y ,—!Ý2zì±ê”F Wá³ÿhãyÊŽR;&&æª}¬ÜeIÐ&£½Ñ‚é{xÜÖ©s'²‹Î¯ÂÓhv†ã»êuÛbö"vKX°ÅË,PjÇ@Bæ#Ê’<Ø×YÐþ0M2@$N¢®Ñ&MÓ´žžžAN8 "yqV?¿ò wN‚ÈÒwN‚ Hœ1ÌÈè6ΨÀ„ñcé, ‘±ÕÕÕ¨®®ÆéÓ§Ó¢í§OŸFnnî í3½ýY+Næ¥ ñõ×é3Á¢ÙlN¨=™Þþ!}¬u øüëàòóm ¢(@‚—DfD}™Á˜¸Ÿ§Ãçc & ~RþºÒ»yKº”šL0™*&“ ¦Š-¨¨(EKŠËd2E-É ªjìÒY÷€ï³f³ªªÂa ˜Íp¸U˜ÍfõPU7êÝõ†Ûmo6; vòtw¼:Uš¦%Ý~Áì0¶ëõ¯[u;Ði´ßUuÃáàVݨïܾ8Ì‚±vD‡p™É·ÈîœvÆ6 ‰hW,bà\†©K=°AB€²Ž(íz°…Vx…Gc´ó|bÉŠ¤8öj(-­@ùÖà@ à< ÍQ´Tà°¦á1S)ðÂÓ(^¶³³Pœ©¸@ì—cïǃ×^ ¯× ÝLžë&/¶OÞ†¦@g b»×‹UÓx½^¬šö÷ÛñúÇ·Àë^‰¦@Oü{%¼n ¶Û{½+ñä´i¼Ì@qjE~~~Òíß¾é šÜŽ÷ñºí9¼úèd“°¿ú,n4A]é†÷ÑÉÞÇ ó¶ãæÀûøXܾÜð£6lƒ ¯wn8z;Qe’nÿyx3¹ŸsìØ±üιUƒ£ˆQ“yç\½z5,X¢š?À+_܆GnL¾«Õ UUmŸÚö_ú¾\¨ý‰ösÒ ÕÕÕW$2OÜÿ&LÀâÅ‹³²ý$N‚HSh„Ad ‰s꤉tÄ"IÕOBâìëë£#LI’¨~è±– ²á±6>ý1~—ƒCîåÏþÞKxËî…ØÆ7]mÉ!”ËÍéôܱáÛ¾æãð§¼äê ²•„!D:ŒüçI,?gc\þ<Ø-ýQë¦*?Zà§ã0}ŒVäAi¡ê<µ«:PÇ]0¯§ÑV• O#߶ߢ·a"„ržÆq6øa›;B[><÷å@(÷óüþ^°ªSØÕh§qàïÅg(€PYW?O¸µy,°ü‡a=¯S¯›Ï”¥± *ïŠ*?V Ê}?N‘å?¼·8»H´§ƒºRâ2A])AïœA8 bBÎÖYH"ß ºs $L‚Äy)ø\“7sÂÙ>0ÆÀ7“s¶ZPZ×els§êÔu¦Ò°UEعÂT “ÉʧÛò´°ƒvf gkb¸ŠÓjGYhø\†Cöô†õ¬P]>ÃÙÚ–hù-Øë(2fD8ŸSõ]‡œÐ;¡ëXÓ4Ü$>f¤r6´oÝô\Æœ@MÓ¢"{Èxgk‚Þ93…Dû93ú¡Áþ¨ 7H˜ôXK‰“ HœA8 ‚ qD’ÑÿÖRWJ|·vÍš5iÓöüü|š'UwNR€$Æ7ð¹ ›èˆLˆø$Ť§î*­ãƒZ*`*­ ¯‰(‚Á`ÌRPP`,áÏKBéüóÏ7ÄI bI(߆Π‚Á–Ðzp˹sç脤Jœ±ˆ Î⓸p­Eq„Ø !B¤º`—/áá{Æè=èCöBCúŠ¾Ï¿»ë´½cm\êÐ=EQb–îîn<„twwCQü¾xèÅg tâ bFww7ºÿö`tZ(ï·¡|¿{ EéÃé^OŽÏG€·AQšá<¨Ä­7‘ÙÞIœÁj÷@`œ6@+‹éþøãiÓv«ÕгgÏfåy¡p ‘%⤮‚ÈÖwN‚ ††„ú9-æïÐ\ª‘$‰¾æ uAÐc-A8èá0zÜ“Arùâ‚èñJøšb”YùÎ D÷-öôbÒ}ÍüB·ÞŽW¢ ÀÙ8Âò^xÖD'v ÀÊý1RTˆm9èX›ˆ¶mªŠˆ‰²dÜ€8-‘-ãŸEý‡$NŒ½lÍ]LW‘r¹#Íú9㉊ ²ƒ ïç$aDŠÞ9 ‚ qÄ0#‡AfŠAþ4Ÿ-Ý9S„ ÙÀ·ëíÈ=xcðÅ++޳ø ¹”¼qÕUÇ}7ÉaœÄy¥©Yj‹›¾­;s3‡w\>@Cý¬‘ŽÜ!QK" ço£,DØÕ´+°Hk gñÈ &¸ áE:‰ëù ÛPÞu1Q2ÚkØJ".ªã"÷wüW]¹$Î+SñÀçZÏ·wsgn]¼í€ínîÔm»]> Ú‘Û†¦VÖ ÚùÛÙ^Ææ´{bëÜ5Œ1Ìü²¡ Œ‰€ùÅM`%+`·tŸc¯®š¥¶p{Ø^ˆºR>ãÁaíºr‡äÏIïœÄebXÅJN¤". “k ‚ q‰“ 'AÃKœ’ÆXT_ç…‹²’Ü s©ùòÍ7ß`k+FŒ'N ùÍ7éj&qf >|6'ELjRx`ïcŒ¬ 3=Êž{xÆøw £ÊÓó‹"0DÛ&2˜hôèÑxªn*»Nඦ“ø*x¶nÛFW4‰3ðÚa Ý9EÉšž˜ ¬Àic .Ÿnω7ð!Þ@^.ž!†Ž2VÒ»1¶‰ðúoàÝÁì/º°·Ì‚O„GæÍ£+:‹ Aq™ I¥ ‚k ‚ q‰“ ˆt¾eëÖ­¨¬¬L›öœP‹æPš,7£ö€ ù@-È2d¹ý=2*¯±A–e¨µ¡²9ü¹ÖvMüü¶¶k*ºeY×, BÈ`:::ðáþý˜8afÍš…‘#GÍ»ONŽ9’òrŸ½é¬:ôJRy·lÙ‚Õ«WgÔù¢™†ÅÅÅ(.ú¸.›7oÆÂ… S^îK§ö$•¯§§×]wÝ9éÎIWæÎIýœ‘¦8 "ÄI´‘<‰ê‡îœAµA8 ‚ÄIÄP‘û~KG‚ Òˆã¦oñöÎ>:ªúÌãŸÉ Äpa(P& 0¸lÛ=â” «Õ@º-±,=¬ØE┓³•. gã)••´k"ÅÊ*¶.Ò lišÌî¢õ­+¥È0BËPÀˆwBLŽ;³Ü;¯™@&™H&y>çÜsß~Ͻ¿ûòçwïßó˜‚Á µµµ^»Ý~£œA¸¶xÎÄ„f“éôéÓ§÷ýá#‹œAèÜ4}¦ŸVÿ1(§BRÇïžXÍ™÷ÿ”´Ýè¿ù[îXý¦gkŽˆ0!…ÌÕBËÑÃIÛ ºéËì:«§fÌ8` î²¶+¸cÿqÜeeÇþãáeÿy—•ÿ&.uSvÿXÊîšOÙþ_¤æˆ|Ïó[d–4¬…4F»¤¢}ú©>c‚°ì×ï°ñ«3kw‰]˜™‘þ~¿xíDLÁÿ0ž_¼v‚èLaçk»À·?d,⯽”‚Cy•jßÌómæÈuÒ]˜Ÿ~ÊåÖšÀiV½è¢ø›Žð¸­µtÝb2ìBzÌÊÌÔ?i¾ôÆaÞ?ãF^zヘe!L@ff|ánÞù}ï|ï,yãe¶ÎøKÞXÆÖßßÉ×þü Þ™þ2¾ndÉ0oÆjv½agëïïdIÞsìã!¶ïx•]+ï20ed™ù*ûNß ëndÎæôfÁ†PAHëßリçc–= ÓÁ3@ñ7<üÑ[ÔW½SæÆù™dNÎfˆ¢ÛƲûíSÜÛXv¿}*N˜&]˜ÙÏ´Âos™g¶shÌ·ó%™gN2·0ƒÏ.çÝ¿d`â233°sœÌ3V¦fÉ?sæmøåª¯pßmcùåÛÛÉÈÈ 3ÓDFFoYÀ׌zEÊœ’+.¤¦ÌL*Ãb–ý$ó&ž|b%ßY¶–'ŸXÉ÷Woà»ÚÑvv!=Æ4eC„–½rà4EÓòxåÀé(a¾Ã}·eñ˧ùÇ ¨2ÇÚX7m,3¿t ™cfé´Œ¼Ò—êŒø;uCnÖ…¹ïÐ_ås‰ ¤­|æ %m7x˜™%;_Ñ…ùÛ?œa B/#Ëd21mì9‚ÐK8pê’tÿ„ÞˆSD˜‚ ˆ0A„)‚SD˜‚ ˆ0A„)‚S¦ ô;a:‹Ïui]„V\¾N®¯»Ùv]gk»ýŽêZ®¬lê NW«§ ô:ÙŠkÏ”bãÎõ5E¦iÅåk IYٽ؇}Ïåa„RìCÙØ»›‚\};u¨(÷F_x?Îâs(ÅÛŸ‰®á}+ÅÚÉ¢“Qû4ŽÃYÎâ ¬*õmáe‚Гd%kàûø“ö †¡ÎÕ½ÊîJP«,QÞ) Ê/@U‡6äòtq+øšØ\e!ÿJžèõ&X–SÕú]M¸¸Œ£l·æÀë{µjX¬G ÙÎE­ÊˆÉ×ÄAãG#‚.¸]U–ðr{ij•÷F¶ªaLò倯‰© FRQÐÁy„H6gfRÂ2dHÜ’æve&Ÿ¼ä²¨0–U<•…se+rŒZfót,÷5AA“Ƶè6u8Teá‘ÍÎÍÓ[y3@Ù•…úÔ ¸â ÅÙï®kÃA s rÙgì{ê‚‘ÔÎÍŠ9 jÕÈØã0Zþz¶e¡³›K­ì{Ú¨+É}…ä´ã÷û;]ÞTóÞù`gûc&»qA’׎ôÇ„¾ûòG¦ ˆ0Aa ‚ ¦ &KNAÿfûöíœïqÍÂl6(5Ïb–ÙÌ,—‡@ €ÙlÆ\ê&pSZ: w À,³³¹4¥7v  ×o燿Ñëû›¸<£®̳\áú»zšÍ¥”šguòXܸ<Æq{ÜöiðÀ²½\¢††µ\¢­“ÇÒLëEÕßÂÜLÃÚ[b¶ÙÕú÷0asÑnvmÖ½bù$ÔCë6y©*SÙÝ5^ðº˜c é{S×Ò,) [&SR¸Ž À4¸e6¦u“ 6Tô›æhwl5Mk7¼¸5ÈcûõéçökXÙ‰¦ilÚ9M Ô´vã ïFÊ쌚£G¹"åòÆróêŽ=špŸš¦u½þy Y<ñ14M㱉÷°0O£¬&ŸÇŠÝäiVàèÑ£-›AÐ4ÍwâX´1x¼Ú~·±N·ÞfWëßaK(]ûcF.)©†-³åy1D2×(;;›S§N¥d¿e“¿EYýuk[·n¥¬¬ìšÔ?ÇÒQý“í™æoe=˜L ¾)jì†ÇlkkKÍÛQR·­kQÿk},Ѥ¹0'ˆ(ãHö.\HYlÍ»Ïuk[cÆŒ!;;;)›TÖ¿»ÇÒ•ú÷9aæÞ0@œ$``’Wô…^àüùó½¢îÙÙÙIÿk&Ýëßçž1!˜?‚Ða ‚S¦ ôaÖŸ<#gLº@²ÚIêåºeèõ Ò$‚j’þŽ)ŸKAž1A„)‚S„žfçRº'Ænduvu#C³=*“u—ð5ᾪ}×R½GŸI'/\#©ßXÎâsØtèJ±ûž¶°€âÓ«‡’Ã: §VwÓ>u{Ä6.Õº¯‰G«,ú´%hŹñî°~§»V†¦¤j·dS¾§Í°­gÈ.’êÝOTøøT÷Ñ)è!éä…ÎЭT說®5R½‡S¾äDÒ«ûšPJ/²«ÊBE•|M8ÏäR_~€yDTêöèÔ쾬pªõŽ˜tßHl¾&¨²`œuPRO?ªÝ^ìã 9¨Uè«Ï×>uCL='l° ó“|9$JOÁ°˜T÷ޏô$|æ3NõÞÙZŦWW«tïäòÃ2ˆúº6&‚p¾ÞÔ¡m$ÕzXr™Wì ‹KvØf_ØF71§ —Š* Þ=çÈŸ;2bò´uMPKѸø}µQ¾§ ÛÜö§(axƒSÐK:ù~¤z„4¦tû„¾ÿòG¦ ˆ0Aa ‚S¦ WE2J÷1’ ø,ˆÇ>F˜%„S„4¦×΃ér§~ó…FBÚÊêø5ÕáܘW¢ÄT(wÐÿ„iŸrŒ #¦#.ë´Ë™îZFiø"[X1;’9:‘ØL&¦’j]°•%q˜«1•TÇd¡NR‘QZ¦lLÖéÝÑ“Õv9£4l ÁSNù~ÅÌÑ[×éã9[ö¨…• n™Ý. u:ÐÝŒÒB?fí.bš²ÑY§kU¯ËÞ­ŒÒ•`ÂŽ¿‚šªKh™ÞÁêÇê'êÞ'M³P‹(û}"£´‹tÍë}H·/A¦¬ÐÛ8ÿ‘x˾€d”îcÈ¿~Äc ‚ ¦ "LAD˜‚ ÂA„)"LAD˜‚ ÂáZ‘¶à:ó×sü©þ¸\Á8e·|¹ÓåŸþy–.]Ú+êÞØØÈsÛ·ãxäfºV|ðà¡ÜßWE‰ Hæ?ÄK—.¥¥¥¥WÔ{РAœ;{V.`: SH Á`@ '¢/=cºJ¤ åLiË®Øã­pE…(p¶[Ÿ: Ø?&“ OÔXˆ¦¦i1CÍ =“¢(Ø6yÐjV ( 5ÆúM6}GÓÚ­Ó´ÃÖ†¦i¬0ƄӶ|=nCl»B·â¨Uk{ô®åîÍà›@5 A&„ÇB"qFwÿ¸‘ÆÆ¬;ØHuÉ8Ì?šHcc#wƒ¸f™)©n¤±±‘qÁ`̺ýºƒ46þ ®A‚ ¶_jžÕnYhR Lò”»¼¸ó°ÅyD§ý.Ú#†¦W=â¯+Ês^ÔíL:æO,zÈÊ#b\MÙÝ(ymmmøýþÃ'|Ú¬OŸØ9áÇã÷ûù¥¶6¦\ôºh»Ã•˜nös ¿/Ëöúñ®¤òph™?á ¤B˜@ÑîG(¯_o4[ÀxcÍÔH!¯ 70ÉX´~³ògrìDh½‡ ù€­"é(y‘fk 0ј›Þ¯¼]ô¸+$nV „§ó8~ü8ãWïgvðqå"ë¢íòî$OÓDóz¹ûv -o!ǽÆ2iÊö¬0›‹(ÚìÐE:u;Šýéžu&ó…cÆì±§í(Ê”p¼Yò”Ï4Éz̹KÞÂTRMñô­˜ ËûmS´»/ Ac¼ÖjÅjµrôñ,|ñ(óùâÖÅÛ…^*Æ,d“ÕŠÕ:ŸÇg¸{þ»X×¾špŸ‚Ñ’(y}d®QVV'Ožì5uß¶meee}îš$%O>—È‹iBöBÒV˜9×eqú¼*W07 ìü‹ mÛ¶±xñâ^ãéG%0›²‚З›²ò'vAè…ˆ0A„)‚SD˜‚ ¤Š¤>—hš†ïãOä¬ B’ <¸ç„ÙÜÜŒeèõr–!I𛛥)+òŒ)‚SD˜@)ö¡û’´jÅå{ñ¹.ï·³¶N£~._d¿‚Ч…éZéC­² VY°_HÚ¾¶jd—÷ÝyÛ,Ô* ÇJÏ]ñGBúŒ0wsCxºh\+ÔéâtoôEnøº @+ö=m@+Î:ðîi2¼Ù¹°MÈ»yÃÞ0}LÙsáíákÂåÓíu/ÞþGbû¸œ˜ý´óºuänz I}.ñ}ü “ÇŽˆ«‹ôdŽ‚aº€ÆŒÄæka‚%,ÀVŠ ²À×Âò‚ò r!ä¥ †áÝsާ-#,ò¢qmà»ÜÞÞ]ð]fNA˱ºÈá,âr»º«rVêÑEúèím‘Qõxîž!rg)¥þ䙤>5&%ÌÉãFÇt]ql°„Ÿ/Õ*‹.Ö·ÎáØ`r)/ö1P«†é–\¦û˜ºàŠ ržjÊŽ6vUÁ>ã™uÑ£°ÐÞ>®,–Ð>²P«Fâìl3ø©,”b럲`V•úp<šÞ¶tmRM¼v®F¯êé,>GE7ž;¡·’Öý1E”‚‚—?‚ ˆ0A„)‚S¦ ôn$àsŠìÙÉfšD˜ÂUHUölùã„4eAè‹Â å×Ô§;›u:6[u§q;Q쮄۲w#ãµ=ÅÙ² <˜’[„y ™Š½XzèG`^=j­#áºîdÄN}6í%ƒ’[„y©­Ð>ëtTÆj/è95Eq±ÙªCžÖîòÆx`pãt—Õ:v×UñÖngŒ'÷†½aT&lÜØ]Þ¸²övûrF×7ª¬Ò‰¡7ƒ[ðTR-÷­óÚbƒG”=j>°ÈÈ\½ˆz 6[u=“u;ò‰ÍpíaŽ ÈwD²ZG­[nƒ|Ç£QÕ¨Àë²ë3ö[4õ`l&l hf~\ÙDûŠªoTÙŽ:[uí¡I(Š‚V‰A8ƒµ=’Õ:jÝEÁîòÄ<ƒNYuP˜á¥=ªÆfÂî ì÷UöêÓƒÉdÂTxœÒ–íóH¾dŸG;)v¼2©Êž-ŸK®’†¯‡ù¬E)ôOäi@ª²g'“iZa W!;;ƒl9 ý iÊ ‚S¦ ˆ0Aa ‚S¦ ˆ0Aa ‚  ¡Ä÷¹"îØò ûm&Awí°gï^>üðC2228pð ---r7‹0Ó —]AUUTUÅnt¨¾ëE•ÏwàÈïFºkGýûï3{ö½|õ»?䞿ǟNžçGŽÈÝ,ÂL/v³><]4u»înp;qé žPùŽ£&ÄF1ˆÞn¤¨;&zA(úALÙ$¨ÔÕÕñ“Ÿ¿Œã?~HSÑR6lyÛn½UîffzQĪˆH.Ò=ârØæàñÆG:ˆµQ^'AÔ„¸(ÑÛU+l1Íçzôm=ºè`û²Œ``6›¹ûÖ›ù·ïü+9ÙÂÀÁ ~ø¡ÜÍ"ÌôÂQ«†ŸkÕŠvëE:X5E:¨||3µ¼ƒçW}Ù¢vûñ,WÛ—MÂcΞ5‹ÌÀ%~÷Ìjžò G~ýS~÷úër7÷!$‚Aš¢i5µµœ={–[§McòäÉrRz1ÉF0þ˜iJff&÷Ξ-'B𲂠ˆ0A„)‚S¦ ˆ0Aa ‚S¦ ôWäŸ?ÂqmÞÌC‹1|øð^S§M›6ñàƒŠ0…þ˹³g4hP¯êˆ½téRš››E˜Bÿ&ôªúƒAyÆLWBݼ:NDïȬ(J¸Ã´Ýè@ÝUºk%>ËÐ"š¦éCÍ EÁ¶ÉYÖ‰a…bCólb“GKÊ®£A„™Æ¨ªÊ"¦¢ªjVzùÚ™5¸ÚnæÂ¬í¡\š¡Ð"þk#ï{N‘=ðú -  OPü1TÛ~‹;4–wb‚ãJ(—„͆þ@ÿx+ëvêÌ !æ#Žü™ìs‡BޏõNÌn§îI„#qF‡1ö{§›p@®ŽÊ&Z¤îÝÃŒnÆ2b“'MèÑÐ"~¿ÿá_±¨À¯O›§³w¯ŸáËöâ÷ûY¶×ϲávü~?öÊÃ,>\_nŒ††ß¿—Êÿ/Ãí•øWRy8±}tÙÊÃ~ü{—á÷ûikkaö lËqyÝl®ÝŒÛëb³#¿]˜¼5̱Ef×ov€mE3ó;GjÄV×e' ÁëÑ·•ïàØ :,›lh˨Œ0AQ†0`@v†Ñ4 -ï¶ì7š“ÞÿáîÛ5Üù?Áûìý<~»ÆQ&¢i;æàf4MãèÍkÐ4ùÑ´ Mãøã·3~üx4-Èš'¢åÝÁqobûpY¯—±yÚí£išx̾C>»§”“O>åSv“OGa>¢( .Ø®ÖLMŽ$䧬:v8ôˆ –M6´Hs“ʧ—.ñIK ÙÙÙ=Z$ŒáñÀZ¬V+k?XÈŒ@€1 ÿ›ÇA àÅšñX­V¬k_ Û¼èð`µZÃóÁ@À˜ŸO À³m>V«Çg$¶—³MV+V«UßN?hÎJh‘4å³ -RVVÆâÅ‹{`˯óó?ßÎÂ/$o9nܸ´kÎJh‘~ÂgZ¤gšÓY`ÑèʦûƒÇa WdÔ¨Q˜Íf† Òkê´mÛ6zè!iÊJSV>Û¦¬ü‰]z!"LAa ‚ ¦ ©"©Ï%š¦áûø9k‚$ƒî9a677cz½œeAH’d;vKSVäS¦ ˆ0Aa ‚S¦ ˆ0Aa ‚pU²@ï˜)BïáÿÙ»ÿ¨¨®C_àßQP!Q?”è€Ð¡—ÛÞû4bRÑ$7qŽ1¼×J ·­ ÷5 NúÔá5Øe1«äVJÒë Õ!ÖFÒÕj‚¹Óu¦mÒ•e_”Ö4¹¹S ã“ †¨xøH`fÎûãœùÁ0ƒƒ2üÐïg­ãbν÷ÙgäË>óckdY†ÉdšQTTÔó»¿]šÁ.!""ò[±2oïøJñ?d¼¬ùàƒä£ÿu…½BDD4áöEˆIKKÃôÿæ÷ßÑäôò¦Ãw+¾´dÜêüóÿ{»ŸÙ‹/ïÜï[×ï–•×MfΈvÀ7îÍ [دÿx6äþ¡Ö]ÞÎ˸sÙÑó_…F£® ˜™A ÑÞÙ4ê?²¬þ<„2d¥YhdY¹w.ûg<ÕyyH>~0 ¾Ù`ú´éCŠ|èž,ßÏ/¼f÷dùÖ{÷}á5;¦‡<Ý?aß=»¡ýu#Öj½¿?üÏ_ààãwO²KÜV""š ÜŸÁýi¿/Ô¼yhóq^zñYßãKÊpßç’ñ‡÷.[oZ“ëX„¦šÂîÏœ}n54§MšÅ¯ŸCñªEh|ýÜ÷Öz×y×{¯Z„‡îÉBãëçBž¬€fºJÝ÷àÑ×ÿˆ4ýøEË9|çÎ×ðóU»¡}áЫ]„š—Õ¿ü ¼Xqò³³O<ô#¼ {ÓX¸óˆzŒzü¦<¿ó {Óñ£¢ŒaÇÀêÚsøÎp¯îÅóïx×ÿ¨ø6þßÈÂ/¿ü ¼X!m~Ì9|çÎPëø'"K— ƒýjhj† }?ÿô®Ïawżú~þêg8ø«Ÿ088ˆýæÿÁ¿,LÀ3wîOû•‘¨fÈ U)OVê ÎÇ>z¤ ÿy¢mÈÈñkù™CÖ}-?sH ïï7 Ó4Ó1Ý—ÀÓ1 K‘¾p:¦Oºýö»¿¼|@ÙíåÝ8öûP€çP¹]ƒ'Ú0ð*žÝé=F=>¿/•Ô(ÛòDZüß(Ç=tE'Úà½þæS™Ø7­ ei¯áw€œÍBu±°'öC“¿ i/þiJ=¾¶µ?‡Ê;<ц—OïÃåјºd{ ïÿî%e„ _vúcSVÒîÊL-{>úè£å\9wöÿn ûC×{Ï7`6Þ…3fizÔ‘fÌô‘?«ù•;âðïû¾2ú+w.¦‡ßx_S÷ šL›> 1Ó• ÚsçÃÀŽ÷ñXFÐöS[±®!æ7ÞÇüŸÃ÷ü­²>m2Þy¿=õûpáÅŸÁ ¾=}b¦—ð8m2ðïh9õä} À‡Ïᥗ¿’LC ÁSo(óš_x±&ìÀS%#•µ+¿øïxé¥ È+ÉôŸ^F¨r2ù '"C1qñˆ›› YJMàk‘ªŸ¦aû“åxÀ'Ÿ|‚m?Üe1=ø‹k6¶?YŽíO–¶ýpÊg9ý¯gúnËúǯ1qñÎÇ> ‘eYþí_ÚÃ6ôåiñÛçä꽎-…v<Ôò–ò¹DDtC«[» Ï7<…ÿt<Ê5ùCsÞÝkðpé÷±ùèë¾­¿Š›­¾¦9M¶ˆ#mŸßôÿ[>~þ¶÷ñ7Qõ×§±ŒÏ%"¢Þì¹óp¦]Âÿ(üæ¸Õù·wZ1{î¼!ùø©Giû[¯ ÑLšxïH“ß?KDD4’AOÀtðwdðkg‰ˆˆB9y~n™SœEŒ¡IDDÄÐ$""bh14‰ˆˆšDDD M"""†&14‰ˆˆšDDD7bhº`Þâ„Pì„°¥ŽQÛcqÌNÎnˆÞŸÃqŸ€²®Ièã­»œ›]CW¶tBØÕyÑ‘œÛˆíí¹õÃX¬^“b'„!Ç^o?14¯C O'¡1¨Ù<ºk-F;–ÆT´×¹ÏÓu6p ÖÀ@ªmŒÛs‹Âu©Ù¡…Ô¨…Ô8gËG” W"bhŽu”㉵tB(îTCGÙflQ69š»Ñê—tÐHκË{Là/òË1"íÔ}µêhÓº«¨H‚~ÄQÚæ¡FZ¿ [ëÔÑzØÑiÐ1-ÃGÂAÍÝhÈŒÃmèkåíÃGÄ£]Mr1Ñ,Üyåäf.¹­««ø(ç«êH,/¥è†Ý è1[ælÔç)›tëæ ô@÷ðó’pÚÙ±9õ¸ŒÚôTXò‚aYÃN¤b¹ IÐ#9™W?D·.…[.ìCÓ³Q¿1’²bP˜3ÊúFëÚxföàl;mÐy#Z_ ë›aíO…´.T_ †8Täùÿ@¨XÕƒ#ÁuªõHy€£¹K¸PZ¡ÅþÕ ü_GDQckk‡6ñ–©šÞÀìêê ±Õó–Ne”W×5OÇŽ8j³uB(V†2Ë¿>¹#U–¦'AÚ3ʲâ`ªè‡PîÄVX‡Rßqñ(Ìì@Q±ÈTÖçDе†ÍqËûQ¸#Õ úZʺÊ1gÓáueäXZ¡…)/Äyïè†XìD‘wݪ$H£¹]¶,å–®I«ôaÁªN•;±uU¤;û!Ôöûú· ažDDc#7sATƒS#˲lyûâ˜Ï§9rh½„„„¨„æÉóø±{?rBDD)†&C“ˆˆˆ¡IDDÄÐ$""bh14‰ˆˆn1ì‚ñ×~¡ÎöH?ÃJW' Ð.HÅ‚ù©c^¶¹¾ñqq())AJJ ;;À¥K—ðâ‹/¢¯¿† ¢RûbûŸ¡9EÜzk"Vߛ͎ ˆÙÛ.D¥ÜŽ>Â3Ï<ƒ¾¾>ôõõ±£ÄÇÇã»ßý.üñ¨ÕÁþŸØþghѨɲ ÇÃŽÓ7ìÿ»ÿGkB_Ó´ˆfGðJFkä…8Ìæ'å´ÂvŸ‘¶Ý¿˜Ün÷(;v낺èwÃ>ê2&ÿ2^¡²þã›ýý+Ðï¶Ý¹ÙwC/è±ÛÎþŸR#Mý¦Ô.Ý «Á¤N›e…±8$é#/Dg€E2ð7ѸüEï@ýÚåx÷{—ðG/¡lh!Ù•cÐÿþ>¾té§«ëqò»øÞ¥ÿÀêë­0³ G/•1>¹ô{üß”Ÿ"ûÔQlÐMík5±ïžÕP_cC­:̳‹€C¦óNŽ­0 #Ôp#Åàõ§°uƒY™w2ìè4è«Q©Çj„ ªÇ޵£eД x¨òð(Ê4ù¨³û÷Ë÷=ðí°ÏQ”i4!ö¡ÉN£Ñ [Æ“ËåBWWWdËÛ¿ÅoÜO 4/Ü>‡±1%{÷¯ƒ˜"¢îmÿ¶±owu¡ëðF¤¤¤@¬{[Ù÷ðF¤¤lÄá®û)'¸¾¡åûʲM)ß¿-²Åårÿ‡ëãä¸é/qø°ÚWû¶ÞèíópçëíÕµþŸZ¡ @g¨GaÓ˜­fÔÚj°IxÛÕ¨ND½9ËZŽÂ5º0·jÃSSoP¦èÒ­AáòS8{.øx;lÈE–·h½ ƒЛ Y ˆÊHkŸEkîvä×Ùa¯ËÇöÜV<»€ý]¼ƒ/ ;˿߉ÍY€½ùš2(1»¹+ [â‚,¦ÐexG?§ˆo™¥Ý…µòðì«a¶;8ƒÜ·Ê»ÿzvü¿;­öíª'aÕý >ç€ã¹ñ3O®霃úÆ-áývÝ×eH™¡êØáµáH3tlÂP_ˆ¦¢&Ö“n —7 H ˆ;q6¢¢F>æìNQ}}`)ÎVH0éCÜê=ƒÚ€×£5º#MY›O`›m1Û¶)Á¨¬Ä‰Ö\l”² P¼b/Ðh É¯…™sÞ"ûz=O„K:Ö<ƒ'ÓP’lïRÒ€÷<xÒ×ãàñEØíÛVÇÿ>ƒ'Wz|ov‘Êé1Ø÷•¨åèa7¨å¤ß…µK^Ä#ÙÙÈ.Ù{Ð1¾ò†µ%ÙO¼6ŠsõŒë†õ±ç »³³ñÄ{ëqðÌ“X©î—¾þ'XûŠz»×§_õœ¯Ö××}]<+ñäÞlTë½õZŽ[‰ûJÞT¶=ñZÄ×f2¾¦Éù4'@wÏÒÓæúWØëÿ0ðü‰Íà8‘B±·]ÀÜÄø1/·ªª Û·oG[[Û$;ã×ñäž…î•_aý‰kEff&¶mÛ†ªªª¨”?yûr\—kéÿhϧɜLY›qâ»&n„;ùn…­À¶·Vpc"›6žïžÆ÷ºðݳˆ›ƒ?–Ø1áÖYQ)÷¶Ûnþ}ûPTT„„„vt€®®.ìÛ··Ýv[Ôê`ÿOlÿ_ Þž%"¢F´oÏò Û‰ˆˆ"ÄÐ$""bh14‰ˆˆšDDD“YÔ>r¢M¼n·Î+Ÿ°—‰ˆh\Üzë­cþÎÙq Mèííj㉈ˆ‚s'šx{–ˆˆˆ¡IDDÄÐ$""º¹BÓºË ¡xø"6»g7Äâ˜QnDKg@Ýê<œÓ6º`ÞÐ[º£6 YTúb\ú(X?Œ!Ëî‡qÈs*pŸpÇEf¾°]¿Q i£÷Y7rv¤Â õnKãœè‡Ä¡œnÔ^ÛäÒÚ±h£ æ-8[¤…éi- u1®·/†VÀµÔŽÃu ó´®ñ=ŸÔ òüåyMôH3òQ„:rð޾Ô‘Øì !yGFA#‰–Nÿ~Áò’ =ãêÏØf4â+Ci‡¿¼à6†8¦¥®þFb}hÂllÊ©‚ë hkàH.T]W«ÿšûB‡íÛ®cȶ{¯±·­C®i$£ËðÍÝhÈŒÃmè¾ Ý\[?Gš×Ã;ÓI(£›ý$5›ç(£ ¼8”b9yjÓóâPŠnØ€ƒ°!ZXòF.× ŽðÍÞ˜é«áʃ¼]æ wL¤<¥ì¥\(­ÐÂØm< Ñ-s†®j£¯Nç lˆCEž´[±ªGÚÕàV×Uê¿Ö¾pv£©-Oâé3RÛµê5þj\ˆkÚ ±Ü…ŠÆ$苜ÌÑ=uëR!­»–öýQÔûWs'¢É(3œŒKhNÈÔ`Ú9°ìè†XìD‘wݪ$HãÂŒ‚:Ñ0l¿¸0e\C½wöC¨õŽPâP:¨”QNNyWgÎÆé§ç ¿U:¬žÔìФUGCÁu…ZvD8š¾˜K£2Ró®W9«:QTîÄÖà>©í#^Óxfv ¨Ø dÆ¡@NTž+í :בSÞMN¹™ ¢œœO“ˆˆnœO“ˆˆh’`h14‰ˆˆšDDD M"""†&Ñ †]0þÚ/tÀÙÞIâÇqèê!Ú©X0?•AÄмùÜzk"Vߛ͎ ˆÙÛ.°ˆ&Þž%""ºùBÓ³(@ÔE4ÿôZ×êh4º”áhÈ¡Fò5ù¨³ÀQ”ù~¾îÊǰ,"¢Û p{Ö³¸g+$˜,ÒÄM¯u=¹=­²Œ¬‘öËÚŒòf>c‰ˆ8Ò¼žÌ<Ž&Ô`“>’­0 "ÌV#£5üv(ûˆf‡²o´F®kŸ…|¢Gò•‘fÙÑÀ ù¾!àhG„û+ei¼…- 1¢µ£.?°~ŽFÇ‹ÿ.ƒ!"†ftèÖ [±Ó.TÍ£:7ã"ä,W×ëMLz8Ì"A€Ñ Àa‡ ¹ÈÒù÷±tʾÃuNÐ<â0›OÈeïæûà +P\y1ö:äûÂp1rWn\SÅZ5¨×áQ¼ƒw}!øg4>ü0Œ_xÏ®¤,K²¬\ûàŸ‰ˆ¡Ô„Á"Á´È Qñš¦n —7 H ˆ;qþQ¤ Xºõ€Rèè °œÎAm`9FktGšÞQ º,¶mƒìK®‘üÆÅþãòëì@VŠWìÅ 4ùµ°E܆(~þäg£._M~ì×\]OxÑ䯩Á&@wÏÒÓæ²#(ò›m071žAtœŒˆˆh’à—L€¸Y1øðc‰AnÅN bhÞœbc§!–Ý@£ÂwÔM¼=KDDÄÐ$""bh14‰ˆˆšDDD M"""†&14‰ˆˆšDDDQÅo"ºÉ544àÂ… øì³ÏØfΜ‰ùó磴´”A ͉ÔÝ3€™q30/9AWõñå.t÷ôEe–“êêjTTT@|úé§ìì³fÍ‚$I¨®®Fee%;„š‰I£y®t÷ôE¥ìÁÁA$&&¢¯¯¤¿¿‰‰‰dgC“ˆü<;(ûF «‚Ñ´J@Ъ±¨FA„Ù1Úmãá(Ê4ù¨³_o” ÷˜(ç¿ÏʯšíÈm=ÍYêÚu{÷*önG]ÅZß¶ÜŠŸUB´9\›³‡•I“w”ç ÏàuãÅårA’¤QÑ‹¸Ðß#ÁØíx¢µ ½eBñêjäìkÅ2ûáÂz% ¡ksÜÝÁõµ`Ûs± ðöµÀÝ Imy«Å«Ïá»­­8 ù§'æbco+~Ôº‹wcÑïQšˆÏ÷–[ná“”&ÑHtÔ6a©°M…õþ€³!Ôæà´$A:]ƒå‘”5â1§ÐtÜá ÇÚ†R¡. ¹–ל†$IÊbÒGq¤jðYÍö\´Ê2äVVð9zÓ„§w™ˆºÝn÷(:º X÷ê~ìw¨?§Ý…µK€³Üiëqp¯ŒG/ƶWöwìÇþWG8nX}KðƒãgpæÌœ9S…•¡Ú’–l¼ë«þ:v¿P‚{W†is oÏÒ°»C²,Ë–·/⎌cZ°óÊ'ÈÍ\€®®.ör§ÍeGPÄìm¢ò‘“ªª*TWWãüùóìä222PYY‰ªª*vÆ‘[[;´‰c{—àäùüØ=‹ïž%â(W†ËåbG„é¢@ Í òñå.~V“"~®DKll,:;;±`Á|ðÁììéééèììDll,;ƒšiÎlåV8o]S$fÆ *·f ²²{öìÁ•+Wø!þP$&&òÛ€ˆ¡ID~=ö;(Bœå„ˆˆˆ¡IDDÄÐ$""bhÝ”¡™“ž [[;{˜ˆˆÆ­­9é©Q+?jïžííí…6ñ$$ð³ˆDD4~z{{§^hzñ³ˆDDt£àkšDDD M"""†&ÑMš-Š;`vzW¸`Þâ„Ø­úaRß`è99š; léVçþŒô|oÄ~!"º‘BÓÙ ±8Ô˜ ƒÖ»2†§SQøçË0;•5¶…¬7œÝ‹ŠŠ;a øåoÜÕá_°ŸØ<&(”ºu?¥Nu{Kàñ®¡í¿jý#”ë UNàùªû5wú¶EòÇ„nÝ”¶õã¸3LŸ‡jO'àÂÖr'„]ýaúƒˆˆ¢þîYç•OB®×FÐ4ÃÓI0wÂÚ˜=úa<ƒÓOÏÎÙ ±¼§°hW?¤Ê£œ¯¦*?;»!ÖõZè¼At ?D#ûÐÔ,ÿz*,낺dÁX笻œ0¶haZyýµáÊõ†X¹ ZèÕUÖ]N¡…)O]‘—i7Ü.ÜøG†„¾µÜ‰­€8jLõ•Q]I@q7rv¨e;»‡õG¸ëHD4™ŒõäÓãšÎ+Ÿ 7sAøKE'„âNjLR‘+£Û×SaÑ*`Ú1qK'Ž(x:I ?m,r`X¢6¹mØÙ2¦<ÀÑÜ5ÃzÙŒŽæl@2,ë”0jjqÁ Qðõ8Tl€HëWn@ûЃ#-€>AuŒî2Öì¦×XWÈvßÂÿD4é%$$ÀÖÖµðÔȲ,[Þ¾ˆ;2fD%4§îç4ûa }ÑMš'ÏàÇîY|÷,Q¤8 uXq05ƱˆˆÈ‡#M"""†&C“ˆˆˆ¡IDDÄÐ$""ºðݳDc¤»g3ãf`^òÄN¼þñå.t÷ôanbVæ9ÿ¾C¶9üëÁ¨NO¦”o4ŠëæoHZaŠÐ ¡(Ì99Û`s®˜ÅPe=ßÑŸÃå:F:¯€ýÌÆý¢\«‚hÆØü=°h4ÐhòQgçÿ"†æMNo’`ÉÚ !²áÙP‹ °H$éP$âø $õqîÖ CGq¾}%Tœ]ªürw˜!.Ý0=YŠÚ‘³ÉI2 "Ìa†¸ô,*Ô²$I ~£U“t¥XŽšÓ,ÝðÀÜÔ«ÇX Y¡ÏÉqM§€å5§!ILú1:‡‘Êñ¼öYcÞ¿¡ÊÕ› Y Ð]ï“#k3NÈ2dY†,oƒm1ƒ“ˆ¡IÊ/ÙMvˆêHMMä,?…³ç¼ƒ#ÛF뚎;|áPÛPŠ=]ráÿ…/I¤aiD—…\4àˆÃË»Úq§¶b§Õ{XmèóÑ)Áh1èà0‹#ºë<‡°å^ïy…(wLGšŠ£e`ïŠbdñ¿ ÑTÇ©Á(ʬ0 µÈ9mAwcŸiwÏÒÓæNжØÛ.ð#'tSâÔ`DDD“¿Ü€¢L“¤¿iÎöãË]“âË ˆˆ¡I4©Í™­¼Ä1Ñ/IÌŒoÍE oÏ14‰ˆˆšDDD M"""†&C“ˆˆˆ¡IDDD M"""†&QTñˆÆ™ÛíÆÙwßE[[.^¼˜;w.233‘“éÓ§³“ˆ8Ò¤¨³! ™üZ™d9ôDÙ×TAˆÉµ…k›Oô& ˦æfØl6ädç å¶…èÕÌF¯f6æ-XˆœœØl6457Ãív³Ãˆš53Ä"à8—Ëi6y'µVCÏl„ „ @u˜!ªëÁˆ«G¡&é4jlEê„Ï¡ªþlõ—i´³8ŠºGj¯òPö°PRfà¤Ô#”…ù4½Ž;†U+W¢oPƒ;J6ãï=Üûзðá?çᡚ±¤Ð€qñXµr%Ž;Æç4C“&…5&uÒçCÈݪªÃ qéVœòíÔ€¢ˆGË‘³(̦EÊDÏ’t(q|eôu‡lïq4òO`=lîj‡âÒ³¨ðNn-I(8œaÊÕ› Y ˆÆÔŸ—._Ƽyópòí3è½ò1êÎÿúò;h²¹1°ú1 ôváôßßCrr2.wvòyJ4 ñ5Í…ÎË!#ÁˆC’ z߈ª¶šÓ°\-tYÈ€šÓ°D<[´R>I0]OÊ„­Û:òùJ5El@=,†à2·âˆÕ½^ ÑÚ†RT˜®vJFµ98…àÌ[¶ oœ<‰Ç¾YˆÔälÿyû{ ‘!~6LÕßÇê·ã“'±ìöÛùœ&š„4²,Ë–·/⎌cZ°óÊ'ÈÍ\0áÓ$M&}}}8n±@«Õâs™™˜?>à£>‚ã½÷àt:±FÏ©½ˆ®EBBlmíÐ&Þ2¦åžJKKÙ M"º™UWW£¢¢‚ àÓO?e‡„0kÖ,H’„êêjTVV²CšDt³Dbb"úúúØaô÷÷#11ƒƒƒì †&†ÛíÆÙwßE[[.^¼˜;w.233‘“éÓ§OÉóòx<¼¸tÃã¦,+Œ‚¨Lœ<.å[aOLM¡Â²©¹6› 9Ù9ÈÔe#ëó_DÖç¿]Vrrr`³ÙÐÔÜ ·Û=¥ÎM–ex<ÿb1"1QÄžsÞuç°GL„¸çÜÐýÆl±À8¤¾É·È²Ìÿ MšT1jàÏ´ Ðs˜!z7:Ì‚ºD–ƒz˜¤Ó¨±©û–¯þlõ—k´*“C{ëÓ}HýFuªiµ ³1Ä1˜Åàö†8¿ç4Êr­F¢Ñø[䨱cXµr%¦ÅÆá-[+bgÌÂüÛnCæÂt¤$'¡½½‰IIXµr%Ž;6%Gš»÷—Èxáâ+x4Ãxô•“øJ³f»æû“Qn k9’ï7Ãî=>9ÉÉÉHN.‡ÕãÇcEyòý(/¿ß¿.`¿ûÍ­Ènÿ¾f»RW²ºŸR§ºÝx¼}hû¯Z¨rÃëá(œ¡I“‘~S lµÊ/|«±9‡ Ñ´Á 0ohBá&½.KÏ¢B’ ©KÁ‘Hƒ–#gQ˜M‹ °H$éP$âø‹ZÇ!änÝ œÃ qéVœòÔ€¢ÀÊטBsM§€å5§!ILú z#9§HËÕ› Y ÐEáú\º|óæÍC__槦`nÒhS“° 5)IÒ´ó1sæL$''ãrgç”zî¹\._ßK=ýpa½×CYzÐïr¡¿' %öaà¡8,I¤ÃØøT:~ Io™ Þ± -¾’‰‡6†$õb.¤ëZ[ŸÀío™ nèGMk+Z[[q ä6 À…þÉ·oé­—ñŸ-À’ÊߣµµOܰ=¥ÔãËÞ¹K"®?D¹aUÎß;w*14i²ÐP_Ø„ ¢ˆÚœzôÊãÆh*¬‡A@—…\4àˆÕ8µ ¥(ÐGr»v)ÎVX”r®¹YÈ…?¨$I‚dÒ_õ¼,’‹A‡Y:jÅuœS¨r£8ÒÌ[¶ oœ<‰%ÿôèëí†F#cæÌ™ˆ…F£Ë5ˆÔyóÐò—¿`Ùí·O¹Û³n·[YÒÖãà^,Þ†W½ëܯbÛâÕxeíO°>Í ·{%ªŽë°»x¶[qïÁõHs»áNË@6€%?8Ž3gÎ(KÕJ¸Ýu$é­#ÙoVãç¯*ûwãßö€}ÓÖãà™38¸> ŽýÅ(ÞïP·¿‰WþèPÊrìÇîJpïÊÑԢܰÇ*ÇðöìA#˲lyû"îȘ1¦;¯|‚ÜÌèêêb/©úúúpÜbV«Åç231þ|ÀG}Ç{ïÁétb(">>~ÊœSUUª««qþüù)Òâ×Q•[EÇ~õ ǯ֌Œ TVV¢ªªŠÿ¢(!!¶¶vhoÓrOžÀݳøîY¢ñÂuë|½·ìRRR’’äåMÉó’ey Ý~tÃn— ãÙdŽ4o M"º.±±±èììÄ‚ ðÁL •o~ €ãõ&åôôttvv"66–O†&ÝÌ*++±gÏ\¹r…Þá‹ÄÄD~C“ˆxì±ÇØ tSà»g‰ˆˆšDDD M"""†&ÑMš9é©°µµ³‡‰ˆhÜØÚÚ‘“žµò£öîÙÞÞ^hoABB¯"›ÞÞÞ©š^ü=""ºQð5M"""†&C“ˆˆˆ¡IDDÄÐ$""bh14‰ˆˆˆ¡IDDÄÐ$""Š*ÍçßüPf7]Ýÿi–‰g}Ž“IEND®B`‚Amelia/vignettes/assets/rangepri.png0000644000176200001440000010167614335240021017276 0ustar liggesusers‰PNG  IHDR}lÎ?ø pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFxéIDATxÚì›_h[UÇ?'mÖJ{Õ—öÑ >( ¶X‚È ”½ZÑ>X¶ÌÛ=HòRèƒBX… ªÐ F Sì­kZЇ®¸8•H "§RéæÖ"ó¦ 7ŒUÖ69>$¹mš¦Þ$­MÈý¹ùÝsN’ßýÞß¿ss"€cRÊu,ŒD"RʉðoEÂP¬Ž¾WŸajþ6×&¸24ÂÕùaá.Mræ‹÷¸öÝ2W.Nruþ6ð-üy—ËŸÏrf(Tdµ/N1{÷oN>ý$ÑúR8ûã}Ë”Là•G¿g/Ôµ¦ŒÇã;Eàû{Ø,J„”Rêº.u]—RJÒu©ÿ²"u]—á”<à^’GŒNýºp/¥d÷RJW]—çß^’º~?«/óÞÃÔíëŘ<0~ôYAóUO¿©yÇ'ÊÊàÞ|‹šš’É$Ñ•ì(¥,úƒEAu¹FÞE}盽iMMMyF–§iý„:‡ v|]B¨H`äB€³ž~êêêH&“ü°º™5Mc0¤¡i!CŽŽv2ÕÐ4 -4Èà„´ô¹¦¥ÇReL0ºÿ“¼B°þÏ£½Û­¯Bðe¾ñ]íáX'§EB„t±kί¬ßúÑáá´è0ú9ur[ìvûv h埅ÊF—ó\B=ÕÏôÌýoösë¯öÃüÂüî‡i÷ÞyÇËàu‚*\y­<°œro¯3¿{ï÷þÜH§wÏ¡Z»í`Ë·âƧ(Ù7zÒÂ9žôÜ€Æô+œC4ö˜ú|¯æT±ïÅ{ìKPXˆÉC^†ÀµÀëúõ\KzùˆÇ/gA_â~Ç½è«æ“JwP–K×´îåÂÅ´|¸\† Î¥û\BÍχ¹ôQ®¼™=L>H¨¥è „¸øwŽÚªp™VL‘ß=#Ã3I$]bìÏk½éc~vâ5_ñÇÚzé.<ÖÐÀq`l—§6_I)©¤µù¡fájxHqh[ÂTù%ÄÀ0füζ¬(îôyõ  LŽ³Ç·e]ïª*÷-Ñ-”d>Ea‚vôœ¬kÅ@“hgw+F ôY1°€úo˳b …ÿ½ô…3«+–°”³,ÐZÆY1Ð"Ð"Ð ü~?‰D"«]ZÎ>¯¯¯·bà~X[[3ä{Ÿ¾ÁÃ×&Y{|{ÜápT eÿ³f©åÐAbäB€§š£õÙVÚÚÚˆ®lV2úzûŒ V)‡›ÍV9.œI,333ôööMœ)=jkkþŠqáÌ>’ïéÅç±ÛílmmU^)gDW¬ªÖJÄ"°Là÷û ¹-uUC`,3Úè …Xl:«o'677y'uǼéœùUSH·´´òðÍ9ãÍÍ͆ ñx< ß|ÀpÖ¬×ìGuV.1 Û!õ‡ Åá_ÿÿìœqhUÇ?×\2ææ’1¬ÚT#˨Y*tT¡lÈ*ac°9‘m0íJè ÈÐÆp þ!B‡ŽÀÊÔ RÝTÄÒfƒÍY¨Šàæèº²e]+ÙX”´«Íîü#ÉåšÞÒì’˜Kû¾p„\ïŽoÞï½÷{ï>'ŽŽªÕÕÕ SŠô¢ôYß *¬0§»µ䇖/K¬2$iÍý;y9xŠC›¼°†/Á×çOÐ9°…– sÓNZΟâÎòÛÀNô&éÍůú‹'q·¼ÅxçGüòÌ..M+H?ü>.Z`ŽÒÓšËj8n_‰Ô{á–ú¼Ç!Ü1¡má ‘‰ä+m"ít:‘^$zÒ L[Žß.XŠ¥õÄü4N™Ôþ}øÛk·¯!°ë|”Žª¿ ² ¿;®ûüÃ1ÔÞÚ"ßWr$î»xK­2ÿ.­96㛯¬ó:¶{°ÙlsBX:ýçmuãv ZÓ쿘ÍÀÚ§ªŒç` GQûÛèš RýªMÚÃգﳮ½ßh®§ù211¢(ØívÍ@Y®Hs‘HHl5žkìžSÑ^Ï ûÞãݼ»û^ÃÛÛÍ^9sUŠ’œ'%ÎÔwo²bû bSw³WríV´\f? SÓ³ÄQ2ê¥êÀÛHo|ÏþO?à㩳Éó½óî!ežfðÏCwÔ Ù,×9;NGÆ©©®´Ì=ÍÌÌpåÊ5¼^OzvÈE5!_ÔK–eíh³7Îùnt„dyäXâSwY¸ŽF{[ÖºT8C,?a½´ ÎìH|YŸþéÌŽœ/‘ eÙ °®L6*…pe«Cåœ_¾ùúøÊ{– áû "¥P,›²M²tkÓaÙ´&qÍÄØª£6”(—ÔìYðº†!|ý¶ù÷Ž…ƒ)23M,5e<¦ß*I!5õ¡× ¤Þ‘Íìá—(—Ôl6Õm䵤¿ÖŸzR«F,õù3o ÷¹e>óÐ’§rÅNy}.\ŒþϬ¾üõ&¯×;ËÂ@ós˜P@G&…6¹†¤RÎÚÚAG”tØ-Xø¾òôÃec X\Œ}àÕ‘¿,õhoQZ`°)€ËåÂÕB ,É>°` ªK6•½˜èÅ(,Z`Ó¸GV—êeÙ¸d€kÂÿ³RÀJ6é÷^…Ò“š>Ÿ€¡¡!íœþq[a`†2͉F£ecV×]ÚDº$–³v¿º[£4…&äp8$i3gy'''P”Òì—ÌÆã8ì‰u£=›²i¥"5•{ uuÏZgy¹W§‘«uÏ•ô^î·c(&Ò"ŠT®”IdÖÔbxø=í{ee¥aÙ®°.~òìc³AYË.éZ å×ú=ײÛÂK§沈a¦¬¬ª‚Ö4«ˆô/ÿÿÿì_hSWÇ?'‹®JÌîP¶ꜵ2ñe/ÖLè†)È(¸â˜Œ ÝŒµ ‹a© u©[3†ÙÌùàƒ:˜vM» 6ÅŠøPÛÍÑ®Ú?Î?·Õ:[j²Ù»‡{o’›ÞhÒZÓ4ç —{sι瞜ûÍïüÉ9ߟèëëÓB—îÈÚxâP^Y‚³¨¨ˆ¹úËͯ¿ À±Ÿþ”µ#1)¬¹ù h úªYBh~¡ €¿F5½ vÍÀés½:W¾»¾?~€M›^¢ðø›4ð7]^ã"Pò3‡W¾C›yõ»ýTð ‡×ÿÀösßEŸ®Bn—Ÿqè 5"Иÿá!Ní«cݞܿ ×v}1õåM—ìhjSeIý^Æ÷?ì(­ÿøn¤JªDiìóhÇ!ªD)þއåÑHÕé(í÷©¥F~z^BØ—µêtG©°„? &焦iÚ¯—o³¢ÐúÿIOOOV~9+V¬È xíÎ (²/b×Õøâk>ر•H$Šªnþ‘ÍoÅ5–Ú®?`Ïè,½ že£–°hÑ¢¬<]‚L´é›È}·ïò´Óš‡YÎy®¹’m)066F4ú/÷î ‹39çÝEý´@w0v©Ô†u ©î`êÑeKeLlÆ]ÙÔQg ÓMñ2áÆ]ÙBe‹aò—ÕPÙuÀ²:Xf4Ý-Ée!BðÜüÌHë!<™ŸM—Á Otï éq¦“x3}ˆÐe K…@W܉¼)Oò(É‘ñ¥õ,ó;d “sBÓ4­£ïEúu=éýs‰–Ù´€S”Ëwì;`çûï222JÿßœkýÍÒ÷ÿã fÀÏr:€Ü"àtÞýò Ö~¥³éÈ}<N°‘3J"&Z@Sƒ(ÑB¥û|á{´„XWJ2/§É9§>"YyQåÁnšJ>oC¼ .N; §œ]K¶€áá,g©Ñ<Ê„ð‰ä3ɘÉËßqæ ;&QÖDòM„x&ÒÒ¯+™XIMÎ9ºod…€MÕÅàm0ôBÃP\Sì‰iˆvQjí{ÂBx|ø„‡å@C§FCçôÜJ¶„Æk587-V¤&n04ªÍ°b/C öiè“UÀªÄP#N¾à\AÎ-‰þýö¥‹ŸÍʳïÏ)¯\@æ_„`wXË ÖÆÂEAQj•r=.LÕ‘-òIÌ èÅ x‹½0䵄Ûîõ÷VË·$ (§_ÙüJf×?}×Õë9%á%û€6¨UÊ-g³Oh †šBʵJ9Jyò`wZ =%¤L CM–³Ù'/x½Fœ‘V¾I@ÙŒC6¿’€²(û€„¹ÔÊ8ÇæúE⻃(ŠÕyF¹¢¤ü+NBZÀôa.20Îñ> 5ÍÐuÞ¯)inðÖàÝŒ×çIä3ug›oؽk»¬„©$`:þ‘ówåj‡ìf {÷îÅápLúp¹\’-r<1$ ô›Ø°á[Þ¨ßB×(Y [²«°°P²Epb¶ ?rd=0 óÍt©óÈDµRBÐÒ?HfŽH$ÂìÙN–,YÄÒ¥‹Ç9ºÈ (‘!b¤K%õ" 8IôööZ´uzzzhkkCÓ4[Í™sXEE…åûnÙ\i!õ“| p¹\±æÙétÒÞÞÎêÕeyUÑh$6KÐÚÚŠÇã!‰¤g%5MÓ—T} ÄeÇ$RÁt¤#ë*ó:8ßåãÿ ì-`bB‰ô+U"sH_?Y…ìÎÀ>éd௯§zÛ¶qáG¥¦¦fÂù PPP 8Ó‘Ê‹ð—k°-44³`' |ºÆ6ÝÍ7lë««-yÇóK…f þ §Ó)-`>àF ­;ÒnÄ-§}wêt©GºQË=ñüRa9`/**Jo,!1Õ0GÁr"‘Uüÿÿì}pTÕ‡Ÿ›ìHqg£ƒ¢PRCP`˜i§ ®hKH˜”Ö*TÁ¡ÊGH@³3ŽNe*t¦ã1±Ø4ÄÎÀ8'XLÙÈ”ÀŽF,J„°$³Ä4Ÿû‘Û?îîÝÝdw³6»!yŸ™;»{ι÷ìžûÛsÎûÞ{Ï«x=Ù²„“P&Ì[®ìxïsž FƒØBÒÄçɰlîžU¸jî7_¡£á„?’/N« éSf°¿%Ã+>£¿çÛ{ä,F`ÉœIì=r–sžcë‘?‡Y:g%+¦Ã/ÊϲtÎsÌ»ÿ+V?½K@ñK‡aÿJV¼y–]¿™Ä[GþÊÒ9+yö~˜ùôY*ç<äýf0þ‘}z¹Ï¸e²z–œ´á‚«£®+T`üj-$ëÅÊm¨€±££q¬&¾4£Qßé׳&ZŒà4àÅWRÀø!` úíßÄÇQ}ìÞ½›Šžå…ÇáŽý Üó¶K¸úØyo™],\ýV~käW …¢cçÝ •»‹lª.~MšñGrÖ† -gÎðߎ€ ]sÐ|üCPTzL¤Mž¬Y»ÿøä¢B\õÉfNŸ2ﳓgèúÉM|O\ñ É18|o$ µ(ŽŸÓ‚ÊU!iˆø„¡)¾¼j-¼¼/t¼D?õc ©Uo§Ñ9âÚ­Ïå _@½ÇæÉG@ÞÑë™؃ɈuI3 öÞÌ¡ô§`^Ò„zpÚ°o4ßZ/þµýk¿”?ÓÄü» ¬ÝmĶ÷ìÕß²v·‘E¯Ü@áxM¨Œ7éb]°÷f=ÀXy|uQkÏÀr¥{oîUçµÅ—__ìó8‚b;qYU ŽÀ¸¶áÿ¡£GtO×t¥}Оë(oBè0#PWÇÏ9Qƒï²Gô žð±¼[ºÍ›¶ŸÎwV‡=Þ‹OæÐùÅ6œÝþ¼Àcõ®÷ÅYÐÙåÒ“oóxüKhX­ÖÐnM|JH…Ozð}vヌ s·²•É;ð¸\¸\\®C¸\–ín`sÃ\.—‡>EÝZÁéF—…†Í\®C4Ü@*“·>…ËåònÚ>æn¥aånûín½þºâlÔŠ|² š\¡Ö‘¯ÿó|êêŠ9Étý_Y¡ªä{÷óï›?hâSU5ú-k=é£ÓPÕF˜é£ÓøÓ¿䨩31§§'túikÛžzšVÏãÓÞf]–ŠªÎ'}áëa‡ªr0k=¨*é£Óz«o½ÏU…ôÑ÷¥E瞢((œjV;ž k·­­ »Ýžð!韵^s>ŸµûjùN¬ëW'¼š››¹ñÆ~¼hË¥N£²²’eË–ãp\á› MÜc™d펾.C¨a×ãñ™™™ðF-X•9ä×K®xýoüò…~ÛT⯉¿u\\WÊŠöxÑ–óBn·›öö ²·E5úVֈ׫‰bŸ«üþýxâQÛŸ/f‘ÙlìXkµ÷æ¼òåy7ØÀÔ©&k l™ª¸¶0UQ†Œ-ÞíŠ2Õ{°Åqs‹ °ðÖ쨒Åëªt]z]Ke K¯š§¹=4FùË(³XzYüÑS§Vx÷ë_ZùÃE|™Í`/çÓ– ‹/ía×"QL‹Ñ3[>c±IaêöV=sÓ"òÏ?š½ÏûA~ªM,6ÍcÊó§4éæTEåO‹ÕW¡Vœ&Í:÷Yí¾3—]ì}©Óó‚Nmv±nÁ÷ºó!»˜âºº^lDW×Õ »ÃŸOhYÞ϶Bí]‹­°ï nÕÄ’°©ŠªM¡ó}B úˆV¸ªUnâN†åÚ48L×_'Q„†ƒÁ‘"Ç๎”Ýàh,³ôSÖBR #‘.— ºÁÃDq µ¥¤(®Eí %WKdN²f‡6¹Ë¾}ºfXdS X8ÉtêÔ 46[Ÿú,Íêwsú¤…⺺ثm,£lÅ^ØU0‹ž% ²)k„âìš~ç}¦(`JËú—Û¡0K‹ë[ÚbÓ?GÝæ¾ùûù=j€pò+B§ë«Ó-;eb!²ó)®øÝ6‰¸,©( )öËÉ_mÝjÎ#O] |Dž9OÏåjñ O7dSWá„xÉÂ~¹=¹i³Ã°h~–Wh€;™¶O *­ùüú²pÍQÊ,ƒ+ŽºZ„(-ÞdVnóF-/µù£—ÚJƒÊ†ñóåW¨½…|9›">qµQÒ‚ô|Q’ÌG¥·•žOñ Œr{-`Gó¬Ôb6›±šó(¯-Ç^žPRË‹tW‹ â‹‘\µÔÒ²O{3©ƒóm”Ûƒóô|Aæ|WKaê—-´E"J[rCŠT¡-WΔˆ/ùȤ_†]Añ 2ì& ñóIÏWï`D|ƒF­ÕLž××b5çQK-ÓÐn›Ê+·ëO°A-ÔZ¡Ö*~>_|È-mÁf+Äw+U®×¥òÇ¿²h~ö€Û¨rh› s¾ø’¥ßJUÚb Êé}•øùD|C™ô˰+">A†Ý„!~>éùb&Ï»K0~ÇŠU|}"¾Áâé–È*¤°Ö Ðç÷Ó\,µZšÙ&Ȱ{伿æ§Úl¹@!¥åmÞ۬­R%HÏ'#ÇàIÿ0_"ÂP BHñÅ3>Ùp¤éJ»4‚ÌùŸ Œƒ#æWJ|þ_===¢éùbÃë­ïfz¢Æû^{}”¶¬ =_ÌDrRŸÝ4–––jÎí|Ê­KÙÃÙ¦|̼yóhnvÐÞÞ1bÛÂívëD_ð à›ošp{FPϧ±L9 ¡Ìc¹Y22ã3~À¥Ö®>yc3oqíñÀ¤É!Û"Ô%¢øÚÚÚôÆ¢¡Ð?mmm}ÒÄÏ'$ Ÿ âD|‚0ÄÕ2ŒØµkëÖ­ðþß}÷£FŠÚZ…—^~™ÂµkE|Õ¢¢¢Ve´„^8k5¾½tI†Ýጪª¸Ýî°[®ùI¶ŸvG,ŽHû„Úz×#Ãî0Çívãp8ÂçÓMç÷"ᦛn ™þ¸çØxû3äž~‹{Ïí‚Ìt~OÄzD|ÃŒžžœNgØü7NnœD(–ðǽ…'ßðÂyËÃàtòð-ô[ˆoQYYɪU«¼¤À®öY˜qãÆõISlŸ_VUîʼNΞŽŸs¢(bpIDÄ'$ ƒªú»BAHª ÿgïü££*Ï<þy“ ‡·‚U‹­HPŽgaa¥™­LÒ °Ge%Àq-Ѓ bF=ÐV¨ë‚Z[÷”Á3&º‚¶(‚U¬•ARVt;± ®"²dˆX‰4³#¨Ì$ïþqïÌÜ™ü0!¿†Ìó9gÎÜ_ï;Ï{ï;ßûÜû<÷½jÚ´icçܱîm [v‰ ™ÀÚM¿ÌWZkýøËïÊÞ!s.9®mÞjvd‹Ó'Bzsñû¤à;ã;]®úõý||Ù?&-û,jÅÙää$­˜;%€-{‚ñù-{‚ñï8^ÿ’{)õÿö,üûMGñ×}’Q]iâ«gUÇcSJY´gkÒô¼e›xúáÒk¡0éêË ¿ñG´eÝ+õÃr|?¹‹²îàØã^âOò*˜tõxvžIÖ¸O"–øåä$çü6p€Ûü\çhR·]õã,î 8€\œ{f‘3o9Ù99Pñ'øë£¹/pŽ=ÎMsÖðl`#/›ÊŒK^a?SyÃõ8®Šr“s40g±:^á¥cS©žs÷îgÿ/F3þlj²/›ÊŒcwqÓO±ð™£dÙlËbó¦ä±*p”^I*Ój}<Ϊê븯T•„tåÄÛáƒí›cšZ±ñ÷ÿÅ|ïf.+ãÃ?ä‰ò1ùLkŒH­ùÖÍä|;ù¿ýiT£´ÖúÅ7?’=+BZ3áx5'^}¹Óå¾þ½ï³ï‚¤e¿4Ô¿o—=+BÆàQƒÍË^û(Î’æ,BÄžKz¦I2œAÈPDüAñë UëëZ,s—ÚïžÆW×~Å¥r¯Q°±7„QZGñöh+ý©kt®¯Ißñk‹º“ä.…oåq«“š=e“ÕqÜ{¡vûɤÎd¬< u'ñÕ%¶kÛ>u±þ´L¢î$µ“Î'¼u»nÀìD© ÍÞP‹“lñöh‹þb–KXlÛvûZi¨¸ôÝŒ¿áÇ'Ÿõöf PöË 1֟ƳbFi ĦëX ¤2 ¾yãöS”‚ä1ŒqðÁ:ŒÛO'¯ûïPR§ú¾ÙÞÓâ}0£†1ÆòüÜ{x&™}aBicW\h‰TU€gÙßÞø0ï/áå9f_œ¾•u+MšñݨMŒZïk ˆQŒÒ:ÝÒné»ç©zÕJk­«Þù0G:h-Ú;|øðvGÙ„ŽŠ_ìý:öiAènñkM¯bƒ¨Ühžªb‚诨´â±Í·#WÞ¹ôœ¶?OZù6ñ³Ÿ”gL_:uêC‡Íûz¢½kð²ð_ÿ…Áƒ'¥èÅ^Mi_Öª·g›vØ ¢Û—¿;Êóå—™óâÙGýœF…nCkQöõV{£Ñ(9)ã´)~¶÷÷f™  #ïôÕZ‰DˆD".gýÿFâó‘H„åà mó~ÛúØ´ŸáËýIeZnÛV}_×Þöà ×w¸L*^§‚^bC;8•Âéõâ A/J)\Êß>6­œÞøŽW.?àÇëu%DJY§R(åjQùíÇårâÇŸü»~lëÎÎ4Dzðó‹~éáßèøçËÓ Ûöà¯x¡!™†­ïŽ|^ä?&æ©‚.Ú÷"‹%êP‹nMª¿ËíýÝ­¼ÛŠíßQ·¶Y¦©©¹…è½ð ¼õÖ[8p ÕÿlKñKh]@–Rz£yì½$û×±yój®y¡ˆP(DQÑ:B¡ D í_ÇþPˆPèsë%öé ¬zç„BÛY·?DÑÈ‘)ëÍå±ïÌßÛ¾ld›ë–,"´ÛCæo-Ûn- %¾MÛö2räHÛ\Ú¢®¢‘ËZù”Ö~3È+ç%§üŒÛ¡ys$W¾­5•­ì·ÅÕ[Áï¢Fk *ï5Ψ@ëxƒ©eýà©A늖·t€±+”Ä„Ñ*{`º«ÅºsÅê¹OJýÁ‡xYkÖO¹­5Áõײl§fêÀ¥=l‡ùijŠvlÛ1?âð”k™:å0Å:f_õAͲ¦íË^Û¢=æ'ȲM¢½gkß·ïaý”k™:å!¾ÜðÏh¼¯Ú´«#í-~˜1Ö1°/o¯O¤J”Ãáàúë¯gâĉŒ7®CÞŸRŠ,«"¥µÖ¯½Wož…#Íí<G͘˔—v¾Ú+÷ü¼N…»vhÝí•N÷üR¿Ý²Û—/ΘþT__ψ#2ƾî®oÐÀó¸ÿÁõ”:Ù·o_«—³'Ndüøñm<æ˜÷ï>3Àz¶·^_&;z‹ò€¦§nû§Ëq[yçÒ–é-˜/šËš››Óº½Ým_w×§­ì›o¾É-·ÜBcc„H$ʧŸÖsæL§Nâõ?½Îøñmxj×:k`ƒ¯?×¢›3R˜ÎõŸt8ní ð°¡™“î’îmínûÒ±½v­sdw@ü„®sòT#ß¼ä9Qœ-~Þü Êó@)'Zð»%±¨b¥ò©Ñš¼ÖNÊ¿oÚœÊI µr6{\JQIZ’¦c—c=ù zñRNy uïXôêƒæw û¯%œJQ ÔhÍ|Ût^íWùn(ðôˆÍ©Øµ.+¶@°%ņaNÔúºµÞY»5W±˜5lXbÅîY¬±¾S¹J ë@Ík̺[e7ꪫâë‡ÍÚÍîYÃØmM³æ*v§Ø–Vø]PrC|6v§°¤BãŠGÆóXLyøÍ¨ºß…S˜€x@Éå·D#˜XgF×­ºße~,Æ¥hœ¸=AxjÐ;ÆáòÃØ‚D)O°xGWoÚ•dƒ§7y—›Ë¦@Êãß=A@kj<Ô¤Lw‰¼róÄP}°Wº‘]ë²Y ‡ˆ_2µ>V„Ãæô˜2 ÃÀ0Š¡ÖG±¯6.†a`¸«:\õs×zzwÏ|>!X×=ÇÝÀ°ÂçmBÖŠ ­¹ ¥³v'D1öý‡ÇQ)…Š‹æuè÷æ%êx¾Â÷ yx÷nFýÝufçN±í«èH†@·Q’ˆ~{ŠJªã)D•‹"TI5AÀ³¢Jnàp*v,F)e f ¦+TþVÊó ,1=”°5_¡¦WÆÛ—H ší-°ÏOǯRCµ;çáT”ÀÖê˜ÔqW•Û»ÚxÜùª… ¥3òzñaþvþÖRJ’¦»†×ifšÔ´’ÝÐصNi­õ;5!ø8Ü ·õòeï¬aÃxîäÉ~}Ù[ñØfVÞ¹”ƒG?jíͤ'<„®³ö/çµðx÷àÿ°´li›ÑÞ‹óX^¯¬{~ÙâõõýEøNÔÆy9žBzc×:Sü”ˆ_o0lè€~ëA÷†ð™—|ó¦þôJïÐܰÝðH5¼NEy@Ÿåï˜Áð£Ôt<5šò<û´Í–@{®½ðÀïBM¯<·*1’A‡S]„®óÑÇÇy÷àá~Ù6ÃΤ¿¿ºÇêw)§•åï‚’@%%@‰ð¨ˆß3ªÆå‡Š€Æ n”P‘o ÄÁ|E…ÖqtzƒÊó0 %Ö=ÀD0Åëœný¦¢\›·ö/ÏK±¥WH¶Ï´5No>òË!hùŒŸÙä%råRžˆÑ%6‘4÷kìR8`ûSÅ÷¹åmÄ<{]ÉOÛ”'D5©L^¯Ðbî5n]ž)Jåy€Õ¶³Écì(ö}Ó]íïɧ›ZîuYÇB§9ʬ¡·w…oÃWåã¶°j}T¾âbKÔˆn ÖZfâ+6’Dôlq*´òÍì#·œ(¹W,œcص.ƒãsc(+*³&Ë(Šv™^éÍ™^]™å–,¯¯lW8¾¬¬ƒ^cò%\ÀòJ*gð”3wÒY=MI÷ñé¡=$9¡4ÐÁ±á~Û¾¡ç‰'(ˆø ­““EŽìAH ä¥å‚ ˆç't?}^cóǘyÅPé‚x~}GÅÅÅñ9·a$EnAñë·ÜøÈ.Š‹}T¹ <ám–¶LkimYòºö·A.{Ó+eeW`¦¶$¥­ØÒZZ]–²ÎÓÞ6‚ ˆç'˜¼þþÿÉNñü2±çgeäXˆìÄóAÏ/óØû—· ‡3ÏóûöØËùÆÅJDü2•ÂißÍÈv~,_ËÞ¾ÄmÇ_6D•;ž²"‚ˆ_¿gWøª|ÔyÌICX™oe‹ ¥äù ‚\öö âyyÖðU±yûVaë•Éó?¡{èÏCXµ‡1d |AÄ/“ÉÜ1îdl?!½‘¸t>—ò9§? QTôÏ<3Ÿ¢®{ð`ÉïDü„^¢±±±“%&sàÀDyàâÆF™Ì¼‹™÷ëy466ò³¿îtÝÍÍÍr@?¡ç¹è¢‹0 ƒáÃÓcô˜G}”… Êz”h´‰H$B4ÚDcc 457‰øeK–, ©©)-ìázš™3gÒÔeÀ€ Èaôèo¡”9rø¤‰ã;\<AË^A„s…¦¦&ž|òIÎ?ÿ|rss;v,YY÷çDüA8÷¼6‡¥‹-JZ»üñÒžµxe'¦¡¡¡ÍuC† ñÒ›²E7·ºÜ~öÞºu+·Üòƒxò´ÖºSgw!½‰צ¦(Ö¯§léÒ}A)Evv6ÙÙÙœ>}št÷(»_è+ì÷gšššØ¸q# .$;;;©ó766‰Dd‡õc¢Ñh«}bË–-Ì;‡£û¥JÄOH G›i2'N|Ê©S§d'õcÚJ¦Ÿ3gNŸˆŸÐç‚gÇîñŘ-;+¸fòä¤>aŸÎÊÊêöÛJk­«Þùĺþ†k. GA„~ÇŸ?h$¦Ÿ÷EJ’³ ™‰ˆŸ "~‚ "~‚ "~‚ "~‚ ôC† !++«O?÷ÜsO¿µYòü!Minn>«'[FŒ@}}=ðy¿%—½Ïˆ;ŽPÿ«Â>·ù‘Áª½ðf}=—uúbí麭"~‚¦D£QÂáp§ÊÌž½‰#GŽà)Á‚mÿɪ‰#˜{äGîžØéúºÛæÙ³7±mÛæ„Ø[îaÓSNËåÞ#GÈÍ]Í‘#·2{l[pi|ý‚÷WÔBΜ ÓÍñ„4EkÝiÏï©§n&77€C‡‰¼Æ]/"‰på¼'9ôôúÔæ§žº™›rsÙ¼|è¯Î»’û™Ã]8if<‘H„9"ùùk¯$w­ÙŽßOËe-pèÐTš"ºãQoyÂCÒ”ììljkkûÔ†7vê¾_:Ûœú„‡ˆŸ <Þ&‚€¤º‚¡8b—»v×P¡?Óºãê¤x~‚ d&ÿÏÞÙ‡GUÝûþ³'á%”—Æ×ˆÐ$„—úXáÏ3Ïì·µöZkÖ|÷oí½~¿­hšFiiéç6›í6iAº3®oO{R¯½:^9~üøñwþ~:IšD„X`ø¸ÔKÊ+ïîÓ¤)Aˆ%âã,r«O„>‹Ÿ 1'|ò²gA¢œ-¹ÿ‹×ß*jUÚŸþ$‡¬5j2Ô ¶ø~:aXÀúë6·û–A:ŠsgNóÝÓÝÐ4ð=˜0Vñ™oú²±Õø:wæ4Mu.>ÎòDoîv™ËqÀýãSys· ÿ£ŸÍ»7âÌM%s‹uã³™»{c›*غ<þ‚³ên2“—G}’ ÷mäzé3‚Ð-ðÔÕ6*·ó›7sßL;€¹\0y¤.„>Ušê\¼%.ôP·éöåþô6~¤Ç£ª„ÅmÂL]ûïVé:ûÔøTxìžž3Ó'0)ÿ(*aæýO³ø££ìMŸÁûÀ¤üM<|;ÌÌ)aqòÓ¬Ú>úOvñ»~ÿ&m_ÃÃmbiz À†Žò‡ô¼Ïg¤=öOÏÌÌôø·ÿdÃ"Pâ|uSânœ™Ë»U U÷Ïà}†1‰ÃÍä7ŒÙ·¼Áúýú6A¢“úÚZsYž¿ëûÜ7ÓÎÿû%î›iç¹»¿OCm­i*Zh= iñ½U~Œ8à'Ö!¼U~Ìüöm×sT°XâŒõ8,J ðÛòc|þÌâ¾Yư¼¿0\OZŸ`Uþÿ!Ø\¾…bëÄ•g°ºøçܰç(lÿ/Þûf"ŒÆþ«‰o_CÜ7ë™Q~ŒQ@ñ½.›ËQlÍ"næ½Û×÷«X”8tkÖÂúûSXσl.ŸH1°¹|•ž&d~«xÒú›ËIÏ„(Ƶcsã˜ÖgÎõýNœ8áwÌ[hh(Šà“dñÅÇ5ÿTwÛž¯Í(¦?±1·0x.ÿqûb¶îYÅË·ßÍ#{¾æe>#>ÎÂæí?eÌsyf0üjÃ1Ïé^Þþñqr7§ñòü÷yä™V’ÆÖÍ¿áÏXPPˆ3¾§°÷ c½ÊÖŸ±Çß§OR´çk nŸN|œKœ…ø8]ø~¾ùk~t“¯y®œß3{¾æŸ¦sÃÌ·¥w B”’pÍuh((Æøõ…º›X¹|! ¹€•˲ä©X˜p\O ùƺÕ4Õ9eûÞª˜4&‰?ï­’Ö¡Ó)ÌL'ÿ¡ a¦Ò…oÑ? ÏùQ Åg±„¾Ç÷Îß¾‘(‚ Dý®¹–›§ÿÏ֥ݱŸ¦:§8??!.k‚ Äâ¹!Bì ŸÿмƒC„e1÷Aˆ9DøAáAáAáAˆQáSW×6ÙRK‘Ÿ£‡#ûäå3¨:p¼ ¨ÙU¨ÙU!ûS›³¯Ißá IåÖ“|6èlÛΜԟyÅ‘`Pôx5“¨Ù˜„-ûL;åjˆg{÷5é»±)|ó?N yÚÕÆU¯Ç^¨ÜzÖ¸Zê—Â’€+h•€-û$P‹mkƒÙ)}ÇìÛ{F~™ãmú™ËӇ裉ŅgMëªq„aˆÙÞ3Aý¥luU3V[辦®®…½g(kfÔ"}·ûß’ƒ `.»Ý'øôØw¨Ùß ä¼ÏccHÓªàÀ½Ïiršd`ú½c‰ê8@‹Òýö%]EåÖ“¼˜tœ4@~¥nÀcß4ð{£ÅêóŒrc£ØQô×EðX9Àª¼þÔÀá½P³ 5»Ššú‘š”IWµf±mm€AבQu–²¤þ ¢ MúÚª¬HWä/p‘ …RúoÍ cC¸¬µ$“+áÈ>IÁÆëä‰a  M×£é»ÝGø>õsY‹§^²&GèªHßíF(a uc™âu¯wù:Øçþ4jËöbQ‰t2!,_8Ÿêêjz÷î­k™ßëqEáâÅ‹-Ê'^‰!»‘ñH—.ÿ³Ï¿Õå[úë<ù' -æ»ï¾k/ƒxÂëæÌ›%­/B§ im™¬øY|ƲÖ!'Ah?<qqqW–=?ÏÊ l¯×SŸ¦X­v ]ÛìŠÕoÍé·ßXvÚq¶é§ÕóqZqI?›B«‚¢(]ªí¬¾Nä´‡>ÀUF?lv¥É;*òoœvEÁiœKQ”Æz·Ððòx<üö·¿åõ×_7°¥XEWBEi™ºz<ßÇ¢Ö^K,>·ÛÛí¦pþžzæ^öë¶ÄDl…ÿÍÅsnÜû ILL¤y¼où©£°`››‰6Üî}$&&²`Û6þÄ^lcA¢ÄÄÆþó\üBÏËíö¥Ñ¿$ÞÏ’±‰¸ÝÛ(Ü×xÎÛÜú¶Âf:ýsž‹çÜ\ýÀ|þ¼ÏÝä[Ÿ™jíwr²^Ó(ÏK ¾zOT sÚ<Ýq5^½nqÌJkê`нQúCe+y©¾´Åæy—hš¦á;ÜÜ×îÙí©Ï[<b»“Õ.„\gÀºöÞ#-K8õýCþ~}yës[nï»Ð4'÷¬v5–Ù¿ü|‚KÓ¸§÷]MÒhFš0ˇƯŽÔÓ¯ŽFè¶ò•+!׉öÞ#ìla}/|˜IBïžæ¹4MCKÎdû{Í—Ñë 4FæÌ™Czz:·Ýv£FjÑ>ßÇ¢„aòù,¡™Ïà¹ižøOå«ÿ¼^/üî úÒ.MË`Ö c}Ð,Þ˜5ˆ™%_šû›~¿ûá—x¿,aâ^RF}¯fä­y½¤±¯×Ëš 3ƒöùÊðÄÎC:´<ø<ƒS¶Ûkž‡&å6½Ü7õ"•âL(ö]Õ´r “âLHÍ+7­2È4–õo­<RóÈK…b­ð}i§f“–Ú˜o#™~y†NKj™~ûºÐcºˆZY¹Ô1!¡}záÒ4²n_GŸ{žMÓEŸ£%?ÊïŒc"Y-¬ú&³eÚf’ +hZB/éÉ<ôoÿúôIèÅ¡_×™ûw}1œ> ½è“û^ØåÓW“áwIö­û·ÕeÊÕ’ú>jäs~õd`}zñ’ö(—-g۟隟ÝNi>qþáÁó™}îÅë^gê½wÇ”Åðƒü ÎâBQ†óÚ}˜úìó/GÍæP.k/ÕS_ß})¡w/<ž¨­o{—/õ=}ú4×_w ;vìàôéÓ¦çCUUÆÏÿ;_Òeíß4–%Þ† î“¡%¤Æî4!-–¦HiQ^ßö._û××—×”)SÐ4ú†¾;{ŽKõõœ;wŽ+i™¿H¶ÈsÃçµñ^Ù_cêyë­·vù:DƒÇMs0¾›Ú1"{Q]ßö._$êÛ8×hhðÐPßÀ…ÚZêjë¸p¡–Þ½{^q¨Û(|-4ø¢Ùç3RtõBÑþ›ÅÇYˆOè#ŸÝõmïòE ¾ I7„œ_ÛRüµ.^Q¡S„/^bdáÑÒ WêZD÷:îGk€k¯îžy]ÇþÉ5ûÈ,D-þZgñŸÛ"D–î*z…é6åltôws*´*(ÖÂfR·Ò+„{XPyp¢(Šqœß²á–ewF®M¬F|nysÏ3<Škaàr›Ëßq.…óø,†û†X~BTã´3Ï·œ9ÍÜ\ž–o.ç•¿KÁúvue̽ …¯$ß•±>LA†¾œ“eUUu!´5.ÛTUu@™ƒÊ–d¼l ýú&òþô,sW‡Ø²L1ERÌEA±BĬM.Z+PF¬`ňÀ‹Ù–³Ó Þ84€é¼Í²†³‚ ÿå–&ekYê˜ ¦^™Â+|ÜÂáê8ÖØ® eêAövÚ’yP°(2§Qá‚ý†‹Wy^*Zqf“ vÝÃÉ+׌³Îîä£iV+¾9ší%Ne×)ÿ‹yì¹Ü6M]BEŒu,>‹¢àûÍ“1uŽ.z•ðö§PSS•E| @ dÜR£o„ÂÙ³ºÈLâ}sûAMƒ]YŒ0,>M;Ø|&‡žÓ¿s¢iËM‹°–íà2–= ‹[(Kñàû>±ìGÖs‡XÆ2=5"¨lÍá?7«cæ¥e¢ióG^ª E™‚c¨q_ȹ•Lóß³ ƒ,•¡~‘sÊŒDQ*—Û·O±;ö1×d{Åšp?ñ>F±ša•ʵbŠ<,)7CbMk£+á´y£ØAeèH|uY¤•,·ñÆ¡q¯°¢ÙÛ í+|Z§üý˜ÛìCÔàÎPU}žom½y|eP¡uçQ³ŠÈ!'*‹l$ç,ÂV”BiN²nñ]Aü +F°kÙA&ú†·ý³L¡ÉÚ[&î¢$½=ƒÚYF(ý9¨ý’¬]ËØ23ýt¥?gÍí+ÈÚµŒƒ“úóÀðïXvPC韅ö6d±EOg …jg3ûÎ3‰ƒšFeg—P¶°ºðežêúÞ-ÛÔe­]†/vg@@¡{sñâE< êëë9}¦:`sRÒ Íº¬«ñ{?Ǿ¯…ïæ"|‘$øÏ¾‹¬]MaêÊt–ð "|-¾¯Ýóøü‡¸Z¾cé¢']­³(ð}„Èòíi·4‚ tŠ,ÅñÝ{WŒ½ˆÓ+¾ëûÿ6‡xmQoña Œ‡¹ áEˆ„Çð‚ðy'ø¦š¾ Æ7ÏÎ^øçñe©?­µ-û—¥³é0Ï _»wiÏ ÿwnÈf¡ `­XdÎð×£ñ¾‹“@Ï ³ƒÛ´þI¯éâdš¦¡iK(t¹yDC;’«IY:‚hðÜpڽݻ°ç†¿ÖÅ‹Þu{ÿ¶ššî9ÔýÁÈ4n¼áºH™{ÆW>ÎÌb*¬ Ž[ÞE+ÆôÜðÉœc¨bÎ-´+ Åš†U±R®-ÁZ8”ò¼#º2É;b‡ÌbSX‚Ãöee¡‹Ì´­ ˜‘+”ç¡ieéø‰4N ]™ª×M/û’ˆŸuë+ãÈ,Ö½54­ØôÜhkÔpŸçÆ‘¼òˆ·e`X*Ñ£cÒ„ôn[7×±F4ÿì©™:” —î)‘g k›N|-8¢™Ȧ^ÙSSÁõi©™Z ®Bœ©yŒ 鑊îu6’i©NÈÔÐpQè:P–ÌÔŽkc«b§\[d¬uŽçFÁ¸Èxn¼Ómé¯ua½WW:‡L˜­ (³ Ï ¿×múynøÐ´bkah/Ô!˜~½ºóSPyÂ+td¨+‚Ÿ ‚Ÿ B7CîñEò/k™rÛõ1WïO¾¬fäUrMÄâbˆ;¾?PAáAáë@ª- ¨€ê|@¾nËáÑŠlùÌ1PÄbCUUlzˆs›MUq”´ï²Ç´2:‹ "|¡à³aT‡ÇØ«©©aäâùÛJkj`†-ä¾f 7:‹ "|%9‡ÑªJ31G[@ŠŠªìæ‹Oº %‚Äêt‰E¢³mE¢³‚ ÈPWˆ>ù²ZAˆjÄs#‚X¿Ÿ0¼‹ÄkC‹OA„OA„OA„O!’ÈÃòÍ?Oòß*b®Þª:€1ÿr«tA„/éÛw ÷eý˜¬{,>Íd¨+‚ Â×9”¡:Ê̵Ê"ÿUM¨,j~Ÿ "|]‰9ä›Ë£lþÀär$¼Š ˆðu†=VŠ£L·è>+˜` ê±õ8T‡ßºJ%zœ=Õoße‘è,‚ ÂUâ—oÃ63^žMu)l6ø=–d`c ‹ñ@ˆC#ñøA„/šÈ)]Ë¢Òs}úØTÛ‹@%6×c<æ²]ÁZË`ñhÕ!ñø¡; ñø"ÈÙï.1è¦kb²îOˆO¡•Èæ’Ð;žãßÖÄdÝûõR¤"|±HzH3BÔ!C]ADøADøADøAº6òp#‚Äê<¾oO»é%=K‹Oˆ%®½Z&' "|‚ "|¥²_¾¢²Ëê0¢«R&qùA„¯ka}˜‚ }9'CBUU 1,£¨Èa„“*£°UâPmzZUÅVä2TUUʇjCUUl†"ÙT3$•MU%,• ˆðEŸÖÔÔ0õú›\@MÍ&Š*3˜ÃXJ}ÑG+‹X[SCiNª‘n13 󱦦†‘‹çCe©¥5ÔÔÔ@eŸP"a©A„¯ó(ÝDÀPw$%ä—̹|ÂäT^,ƒÊ"=bóHCìj|æ£yÜdò}cáäTÆ®úLA±ø¡Ë a©"ˆ„¥Ò‘°TB{!a©Ad¨+D ßž–wê Ñ̯ ýûõŒÉk‹×† Ÿ ‚Ÿ Bê¯{]ZKhÿâi¡ë ŸLeÚ‚Ûí–é+‚ uADøADøADøADøAZ‹Ì±ïâ¬_¿žÜÜܨ(Ë©S§øcI 9óçË#ˆð ‘#77— .DEYúôéÃÉ'äGDø„È¢i^¯WBÂ@îñuáóx¡c„Ož¦ ‚_L±nÝ:æÎeq»Ý\ýõò£¿Ø×××S_ßÀ¥‹¹T‰ú†zzÓS„/Vx衇¢ÆâëÛ·/óÅ]Mˆ0;vìàô™ÓAÛÕ*II7ˆð ‚Ðý¸ûî»éÝ»7Š¢˜ÛEáâÅ‹-ÊCžê ‚sˆð ‚sÈPW„.IÓi\={¶üá†X|‚ tYÞ|óMöîÝ+Ÿ ÝEQP…=zpÿý÷УG>Aº/={öÄbÑ«½zõ D>Aº%ñññ¦È…#v"|BTðôï ¥„°x|á|êêêÚ.žÒ”Bg1ûÁé—½jkšÆ_ÿúWª««Íc4MkõU^ˆ>|ÁkÈwÞyÅak]]Ý•ŸÞž¯á¢—>}ú„Üîëô^¯—iÓ¦áõzñwáë~Âç ­ÖÐPä‰`±XˆÇb±„‰H„Oˆ:|7¨EÁëõòÚk¯1{ö쀎ïõjÔ×7H¬¿nŒ×«^âââ~ûßÿþ÷8³Ÿ´'"|Bt|/«V­büøñ!-‚†¾îþûÇŋۥK—ؾ};?þñÛ]üDø„¨`ðàÁôë×/hû… ¨®®¡¾^"¢vgáëÕ«'×^›°½oß¾ÜrË-9§ŸCÞ|/¾ø"䟢®î"õõõÒPÝXøâãã‚¶>œäää€!°ŸÐíÄï‡?üa‹¯–êêj¼òêÊn‹æÕHHè´}Ò¤I;§ŸÐiÄÇ_¾ûišÆ¾}gKPè^$§¤0xðÍ!ŸØû\Ô:Tø’~ªêóòËm¢oß¾ë‡ãgÎ]1ݰQÿʰQÿ* ´—Î$ ü^ûX|-ÉH.ǹsç‚Ö¥_ …„¥A„OA„OA„OA„OA„OA„OA„OA„OA„O!RHAˆBŠÖ®å¡9sHLLì´2¬Y³& "vw*³Ÿ D!'Oœ OŸ>\¸p¡ÓÊ››äcÝ]Ê,Â'QJg‡Û×Z±«”Yîñ B”âñxÂÿìÌCUU2Ö¸ðx<ä©x<Öd¨açÕá»r¾.TUEÍXÓªúùêÓÖ2‹Å'QJøÂSÉ¿kÏsêÔóP¹–2m>p´è^ìÎS­²ö-s%ÿþ~2§NjµE©µ2Ÿ tÜnwx ¾ú3sÆÌÁí®Ƕmn`//Üp”•áæEóï=nu™ýËçÇ’”¬<šKÊ8:é}v_ɱ)ÌÙtÔoÿ&f”|Å0<—=GKË,C]Aè.CÝ›î¢øCc¹rÓ=xÅrí >lŰ²ÝËì_>Oå«|èñ­“{|‚ÅCÝΤµOu»B™Eø! ¹þúë¹úê«0`@§•aݺu<ôÐCݲÌ2Ô!&ðêÊà Ab>ADøADøADøAº6ñèž¿Àÿýê’´ˆ ÝM,>Ad¨+‚üöî?¾©úÞøë$-´üLa ¥°ŽÒ‚Töýæ(þ¤‰¾w6ªc-±áj;DD*H»{SÄö:w™®L*‰ ƒ y ¯»¬:™ü2Jh¡?“œï'?N~œ4mÓI_Ï=Ž#çÇ眼Osúê'Éù·ÝvÛMK–,i]¼xñá÷ÿç_i, Qt˜5{ª/\ºuÅÝÓ¯ ¿°ÝĪE©Q·M€ÐÔÔ$þ÷GVƒˆˆˆ(J þöxÄÄÅÅA­X """¢(ÕèpÞY­R³DDDD] ^>ƒÆR\¨þ[ísÌä[1'/¨Ġë]·;CŸ °§ˆˆˆ¨+Þx<{¾…ÆSí±}ºåÿ`ÁœðÈ[ûƒ®×&ºzúÔíß½àG÷LlwßúÜo}ùú~uÏV$þ÷o17±Ñó;°î¡ý˜Ñ-Ç¥ôœÿ€_ݳ¿w?žŠ‡•öß­ÇGDDDÁØ[[aoiñžéê[sÞ,oï©‹øÐò•{qFÊ×ñý[nVœ¯Dtî/”,×hïàÛ»¿ýøLÀù÷ß5¿ýø ÔÎË× ÜòYT®¸ç|o}ü¢,°lÇÚ{,Xôñ|T R©¡îÕ;j}„WïÚŠÄßìBf"€qâ…í¦})=g*LÃ#®cÀGxõ®`r?–éÖã#""¢ ¡¯¥¶ÆFˆî '‚èIiàhkT¼ito—õ`*Þ4"GöØÑÖ[S£k3Wf @€(…>gÀl/Ëy>ÓBªúÝÿîà~8{¼×²ÎßýñïøáìñP«UîÇ~Î}„?a-VÎRy·ù9˜5åüåø‹øÎ œÀŽwà¶W~‚›Î½ŽÕ¼Yo½ùçžÁâ?è°«ðn¯pV>{ ßzóÇøó3Xý\eý峂³„¢¬$àÏÞÛ~ºy<ŽßùwäÌ€B[*• jµï²P>û'@‰s{ù1:—™¿÷º´¯??ƒÅOÏüñELE¨ûrñžÿÏŠ­øpÊÿÖo¨ ÆGÞϯƒÇ§T"""ê¸U}†¿ïÚt ΩhÁ÷ðY|"¶myÛ¶¼€ýë_X¾òYüߦóøYãYà Pu"øþÆß/†ö²Ü ‡zèóµp¦ô6ìî?…ZöØ]ml;if wá½O~Še3eó¿<„?ü§« †ßÁ£kŠDµs›o­Ç¹ *¨Ó7átàâoa…á/ÐýÇY,ûþ[p{’3H¦o¦tø¾ƒÙ³ÇKA*}¶ž[„5¿KÆãøw¼ü16¦«€/_ÃÓY5Xü§˜†dŒû–¨TP« r1Ùã _àp/€¤Ÿ"kÁz|rAu’óøº×¹ßû Ãüó‚ j„º/y¢÷ÌO|p7ÞyP¾Löü:x|òºøÕt&_¼DDD!¨Õ¨¡°Tê³;ª…ÂH¼ôb!~ ¡¡?f3^z±/½Xøù3›1M¼‚YŽËíî/”,×á·w]¾wûXÀ»ÇÎyõÔ½{ìœ{ù™I~Ëå÷û¯žþôs|æN÷Üû ç°ù˜ë‘€óo.¢Ýq/_1Òvz×vK03] 5~†Ío¿ŠŸÏLÂw2ý5ö>%µ£R{Þ2û`)îX:+R~½OMpQ-îøÖóØ0ó7À·–à>ãÔj¨U˜¹0Ïg%á5ßöÆúîó;Xúö9¬ë9~Ï~åÛ)íËÿXåµðŸßÞ~:p|kJDDD1`Øp }3<äs…=Àõ&mì8 I vp{| ¿Ö‚w^xÇšº·Š4ƒÇÀ÷Í]); îý…’嚀 Š¢øþ_.ò,uaîlìüí|õ :s™èלŸïsBQ„ ¢<Ô¹÷†Ò§øäÑQòõ»tXrÿJè?øcÐc{}à©§OÅ›3uÉÅ[›·×ë®ôØ>‡¼uoi7Ë5;©§ïÀg_ñLE©1>øÍ™oOÀ*Eˆcg[Îos*–‡ˆˆˆ(ú1ô1ôC1ôCEeè;_]aô…—`<lÅ&è³”Ö ¶Œˆ¨‹Ž×Aãu±ÁXxº=¶>v êÉãàu—ˆ¡¯Cl0–6aaþòã±»´µ¾0ë<4Yç¡ÛÓæ•–ù^”ŽË×õ¾Hë·\‚&«fß ˜¬}MÖyèCa;éâï¿E…óõл*F#/Ñ53y›GcáÑ+Þ¡çB kÂ5ÂëS³ßõåt…>×”ãuÐJ×IóO›š-MÎmë°6<½J>/ôëšqO{™çøí+„0Èë.QDˆ ëõòê€ó£vÏìž5¦D†Wf]´-±°®Œ—^ü¥À+‰Hv½èÓä¹0(- dÌ0˜*†¹/^úã‰0|WZ4iÑhXWJmì“_äWÙPP‘­ì¢§G€íÎ×£ø `úFô &ès&¢Þ‘˜0¸óתŽì(еfL#vû\#¤kL>‘¥Å[šœ×"ïë’>«æŠТ ú]18±y’$ψ;¯{‡ëa\4†Š@V=&ý§+ 6y‡×v®køîX¸ö{ÆïJíhýö/ À}ãºʹ$êO×´ }ç¯Þ@Ú7Ç(¯p¼ÓŽÆãÄfÏî’ŒÄÆÂK΋C,Ò¾¨ÃËLJÁð] vO=¶Ø‰A–ù±a÷qòc¤ Åáx¬l¯š±HCö´ßEðí=¶Ú=—° #aZ0˜?‘D}ÈðáÃQõÅ…€Êv¯U €© š¬:ìªá $R«úÑhç­Á®5®±H¿ÐâûÇk< ÿÙ]aö˜¿y„ô‡îñ:hvÅàDE"’Ï×C·ª©ý"täºæs­îð¾zåºÓ-¿‰"íšÖQ‚(Т靗. u6×…ôÚµk½X–&è½þê%"^ ûâµ*šðºKÔ×BŸÒ0l/ÚãœcïX(²ÎDDDDGP˜ƒ¨I}ñ0TÄóLñºKÄÔ§úˆ:¨ìÕ(|b9 Ñ‹6ÿbr—.a!:áeãv<ûT> ¥0tèP"Jë ç·¡¡†­¯¡pÕ2\¾|1110`T*‚Q!‚ß|AÐÜÜÖãr¾½ë Å.tõ•½ºOèsùÊ!"""êa‚ì¿~¡¯»ÞÞmlld剈¨G‰"?•Íõ‹„óÛëÇ(~WåÊ|¾S8ž°Ãáà¥S(*s¹•í­…\!¥–Ž,«D®³ëÛ5µ»›nå{Q(Ú;²L„ˆïbñ˸|Yšög|€¹#WÁìpÀ‘”ƒý—÷#'IiŸf¬9F‹Âr¯íƒ_°ÉgíSG'ß<Ó·)<§.Ö#YØ‘Ÿ‚”üȪxÄïÅäz-YJ7 ¡,óuúTgÏZ.P0HÉ_È>/âÊ\î¿ï~Óe.Ÿ‹Aen»!ÖRºå³²0?ÅÓ¶gÿcr_W¼z}·£p³Ùìhni‹Ì©ê?03õ$ ›[Qz¯lþ¸åÈu>Þ»TÖû¼ô=ç:Õ(™é™¿ô]Y{îžêŸao¤Ö¥¥ v»Í-­á=¿÷êQü×yžz½û3̳¿ë®}àZ¿‡¥Â,,]:ËYSéqIU°ml°CD›ì|ÌüEµ÷²Öî=gÁë'ÃÂÿz ÿ›*ßg5Jf¾€Ô¿½‹Ÿ†pŒÁêUò‹Ÿ¹—yž{˜Îï¸dLF9Ö»Úu¿^|jÛ’Òæ*ïsÞ‰¶§°°>ú(æÍ›‡{î¹á»À)ä:gOŸÿÿº~AµÁjµz¦Ï Xö¶ï÷o„îíe0|æZ¾+GÂʽÒãÏ /á ØÐÔÐÞ2ùt­¾óGÌ€nêس×ÕŽNÚçÞ•µro;ÛKûÕ>“=vno½ŽVÇše|æ|n:÷2ùz¶ó݇|;Ïóôos”ç˜÷®Ä¨Q+±×¼Ÿ^ÂSu˜1¢½çÓþ¾=ÛISпTSõ8zTTA€ ¤Bô(ô©Î€eù'gPéêøZƒwZ ²,HÏšWo¢×_r©H›å³«ñÌÈÁI|n á˜0]2³ GÚé¦KÉ?ñH>RdûÍš`Ëç8‰,Èôô®É9Šªšv¶£ðô8ÿÔÉÙ ¸\÷oK=OöW/b‹E„hÙ·ÿ Ì(®BcS ¶èDˆ–—qÏ­OàÏî•_Å‚•]‡Ãæó;+^-Áß6¾ ‹hÁ–'±yÕ}Ák-Š!bÒªÐØ´:çãP¶'<†ß7µ ±©OU§aŲeb÷ž³vë¢x¶œ¼›î~QÄi¨~ê#¬Híƒ>÷¹[ÑØÔ‚Æ¦½H{òQϲ°œßû°¥©¿_1A:¾¸þµuO€ˆ˜4¡ó5T¢V«ƒ˜˜ÄÆÆºÿß5©Õê0d¾À¹N }‚ÿÞ·waMF>ý´©©HMÍ@ѧŸ¢(c Ùí°×ÖâôÔgð“ÙÒúcÎÃýÄö–yMÎù¼Úßcÿ§÷ãÞÙ>Ëg¯Ã©u³QûzRSS±æP í1™wŽ Ð¾´ì™Mc¬ÝûØ;‘9õSXj•Ú‘o§°¬¶§á:V;ìcFÞýò6§â™ŸÌ––;÷ã4jkƒ×`ìÃoâÔ›Îc ö|BØ·g»àoïVæÎÃICß‹ Æpór+¥·7×T9¡€ôÒϽßúTZÖNÈÚG ¤—Â’2Y³Ê1O ¤£*´‚SM6È?³®÷tüÚNÇç"Ê2Èzè=ÀÈ }Éáà ââ±²ù–-øåâå´éüµ±7þ·3\Ï7ù1llÆÁɰl¹ ÷n±@LNE€›ÿ†ÍÒ´å¾È }àpˆá?¿É¡|Ñïð­ø4¼³èWRÀƒÔZôý9“=ºÍŸñÎ~‹û|núÕOño:Ÿí»ñœ¯ŸüÃÁ§ªñ­øØ4éoÒ¡cgê®ó{` ~é ‘É™X4¨úÜ`_à±ø4œrÙÎÖ°)å:AEñãê+~´´9:= [Ù«;ñX^6Ξ= 8¼. ¯Lø;þ†×vÿøõÌ=³ Uëî¯CZn`êÓO#uã˜ðÁN<ü _ævëÒrQá~<O{­sëÒ^‘¶;ëiÈBYÕ:Üá<ÎÜ Ye¨ZÏúßðÙþÒ¿‘TT|*µRV…uw¸v%k?+ Y5îv‚îã¿Æ’¹ñ©ßñr,¾54?„6BÞ·ä½ý‡¢ö>}•¹æ4 Æ«·®ïá}ú e¶6•âçO¬@[›‹2qàü…‹¸é¦Ñ<¿QX¿H8¿®cܱówa¹OߨQ£:< ÛÀX•ßüçšH¡ïB_sCߊe ¶¶–¯ (Ui:Ì›33ôEtè+ü÷å Q(>n οÀÐ¥õ‹„óë:Æ7~ó6 W-Ãûï¿3f`Ĉîu\o777ÃáDÑá~‡´µµVë5œ9Sƒ;S¡/.@è[Û<ÀysfAû“v<Q_亭EÙy…t^y~£³~‘p~]Çèrùòe$$$¸Ù.ûèµk °Ùl°;ì°Ûì¸Ñ؈–æ >ÿ¼ôÏNƒR®s†¾ð<ѲWw"wéä.]»ÝŽñãÇó¥r—Žw÷ìRoöòɯ=íy®=ÃoFG3žßè®_$ž_)ôyîal·;`³Û`³¹&;D‡Ï—µ:ú úTÀ‰¨IKKcˆ¨Û¼ý®¹×ö­ ú0õQt¹pñÎ_¸«•½‘‘D£ŽÄ1£1ææÑ,Q')庰¾½KÔW ’€Œ{'²ÈòÅEˆ¨+¡O!ש@%~u*¶¢47]6ºŠ¥é„ÜÜÃhYPšîa·zn¸®NÕF¡•¹žh,¥éÒ}7}æ£2×=ßbñÚX6ÂNoGÍ}Fèñ{)?þ>Cµ7¿/kPÊuRèSùODÁÕ¨“ó«3¢ïÞ ç  óÜ\yòziîúɆ-:¨¼ÙúÉž2 “±>`Ó‹0L©™õ˜ìþwWu±­õ“!øm¿“ÝÏG¾Li~àºQ{¡¦ËÖ`Š{^ òˆËX?ù;²PñˆdÚ ¥¹îóá5DŸsÞ€75—-üBEhmz•3´yµåx*sƒÝÈ\©•ØSžƒ5ÎÑnRòwÀ=Š+Ì98ª/F%*‘;¯9k¤ûg¦¤xî¢iùü$³½s_óJä óPîÒùœ×AªUnnº³¦®Ú¹ÚÊç H/-õyi_ZpÞ ß/+Íï‹Çá¡O!×9Gäü&¢`aOoNFžI6œ)É}ö˜çàz×7¢žž“‚ÍÚjõß~ B 4³~2„’ÉøÐ}—õj¬ Øô;¨ëñΜ>ö”×>ˆ[üBä›xÐý|žDuÆ0,:x‹†•`ò‡ÎùfàÃ…‹p0HÝ(Xà{ØQÖ±ð‘2Y¨À¾P~áÌ/sžý˜¢wŽim)Eú#Àç¹=’?Ñ;¸¥Val´€{|z”ÚLÕã¨ücn%`Ù‡Š£À,ç¨;FÉ\ <±|Cˆ¿H3Q&&w€YHKµ tC9rö—!™(ÛŸƒòyþ=3)§å{z©Ç&eâ~丆†t%XÒ Ž@å?'ÞmÉÏ÷yAÃ1¦äãˆûçm ªRaJi~_<Ö( ”ëœoïúOD3ßìÆF<® ee3ôŒµÌzhôfååÖÑk¥u»¥çð  {x^ÒÖ>ˆ[N½éß‹·¶bý læÛË%õŠyz;Ú#'_ßÙÃæéz У(õ¶îeëȾÓ1yè)”¸V^ÿ&N¡ÕGæàúÝÀBç…!£OÖ¿ƒ9íÕ-Ì¢è‚ü#GÐáßÏ–}¨@:=ÌrÊDL9*õŠI9oÊåËPŽ=•ž¸¡\6Þs°6á w¢è 3Î_’GòS`)M÷ïªÌ…°! 5¢±Æ€Yú\ÃI=*²v ?¥UGe뤦)·9+ ©}åG¡+uˆ"•¹óP>Ëÿg[i~_<ÖˆíéSÈuÎ[¶0åQˆ’ïÃBLÃËæ<¿Z#tÓN£Àj€0iºs¾Ö«¨5ê0íéO½Ë à ª†ùÉžuLZÖ kÜ[4 ÕOB¬ïȽ¤ž.×öÂä'!VÀPd¬˜Ó‘cXF5ž«±é˜<´D¶p(þr­'€>W‚ÿ9H©«.\ˆ†Äç!® ¥­Ðž‹”'c(€×zzßq¼aX´[ x«›2×½§\CE¯L”‰™!̳ ô‘ dí8`È?ùú¾Ûú.eÙéÄ|\&+t¸ÍÀíŽ8î{»”2¸›HÉÇÏ„P yx‘ïn[éøåÍÉöÛÎw¦RÚ«yfˆ5ŠWA™±óûâ±Fnè œëœo(@êCžÉ Ã#tšŸéK¾ §oÇbÝË8 O/žF£Á´§?ùZÉy0˜„by;zs˜{ú¤ž²ŒÝ À©çü?Ÿ¶þMœºåÁoÝÊ?ç&HÁ§zmûkÀî ÏvÃæ¬@ÆÐSxN { Õ!ûPd쮇X.}¶nØ"l·-×çðžÃ)×± [„ƒ>ÏgØÖ¨«±kQýád”¸—e úÉz¼3§º…)üQ'{‰ˆ‚PÊuìé£Nf¿<˜¬yŠ¡ÐoI²V«!Äv´aìéóéá’ǺÉžÃó an-ªÅPæË+m…cµ-ïç0'h¯›òóU:6és‰¡·CDD}›Jà}úˆ¼#Wµˆµ,E™v†acê£èƒs_YYˆ¤Ç"uAà\'²§¢Sl¬ ±,C¤þÊuå*|Diâ9ˆˆºÀR*‰C6[qôˆÐGäð™¢gžLØFÏPªKôàˆí½8"GÏ’ç:ù-[<7g†•l""¢þÒN­@–aŠ42ƒì¶òè!ŒÈ±O O©e>7émg¤ ϨP]£§FÏP®Kô>ŽÈÑÞk@Â9zŠ©þ*é_œ¹Nz{×ý¢èPßЊñðõ‘ÃYŒòÕ•k¨ohĨ„A‘û$æ—AÌ/ƒ«§,Þ#W¤Lœè÷ ²,S ~)ó‘…G°Ï’øÖ-Ó0ëh…÷rÙH™²'ßWZÁˆeP]cIJLiÔˆrç­œË7 ´ 3„ÛÇd¢¬æs¤ æ@Ž×è”#g¿tL™ûs ÌËÅqAHu‰\Òh6 ­Æsû`µuŸTbRùýÚŒì×€ü~…ΰÛÛÏ-¥S¸BŸàN^xŸ>ŠZ |PëwÅÛ³1ß71&§ Àô'`u†C«Aæž¾ú퇬ûVøcØ#"êY1,AÌ}&Xó|fj °j=ÁÐä^A ƒUžÖd“ƒmcõ š&k€í}× t,a‘‰2Qöõ±Ì2¸z}eßg=¯ÇÁ–õ}ìé#"""bè#Š\_]¹Æ"ðœ‘ßÞ¥¨4l¨tÉk×""ÉÀDöhDD}{úˆˆˆˆúˆˆˆˆˆ¡ˆˆˆˆ"?ÓGëàÉ‹Øýéyœý'?·×$Ý4 §&bΔ›Y ""†>êOâkðëÇna!ú‘Ÿœcˆˆ:‰oï1ôQßg†^£Æo`[I­QF'‰[k„Îõï`B]ˆˆˆú¨'MG6Š¡óMif=¦NC¶ëqrLV“g¼]%¡®GDDD }Ô³&=nBÁéipwøÕ¡+ž„†ùò½»ϧ‡Ð¬‡F£‡Yi=µîõ4ž€©¸]Ú1ë=ëCyÓN`R±F³ºeÀ+¦<﬛ŽkÏG6ª`©UXïg[ÚùÈÆt,¼/9„í:ÙŽÖk»ÇNDDD }ýV2òL¯Å§QÐ+¡I î4<=MF~_çšaOQØñ–-O ƒUëü Ë•þÝÙõ<Ö`µÊöo@ÇÛI6Àku{úˆˆˆˆúöôQÄJ5|^ÇBô#Ó±DD }Ôß|}ˆ_Â:…‚oï1ôC1ôQßÀ/rPĪohÅÀøøúÈá,F?ðÕ•k¨ohĨ~ƒ—ˆ¨3ØÓG皈ˆúˆˆˆˆˆ¡/˜¡×è Óé`¬ ´L&Ð2"""b裈³ð•œž¦‡Ù=§F]1&Ø…ly Ôk Ñ8'½Ù¹ž:W*4ë¡ÑQë “Òlç¿ÍFèœÛêÍ@­Qçn˽½×v¾;ÐŽû8ˆˆˆˆ¡d´0œ˜„bgP2ë§át yÉ>kÍ—EÀíÅ0Ö&#Ïd…)åe)„Á«)Év1!&«Vë.`±î3Áê|œöô²Ð{CiGä8ˆˆˆˆ¡¯_K΃©à4¦i4(žt­Ïr³šâI8aµÂzb#¦{@¿ØeÝ,–÷vÆLšþ NŸq5½Û;Ó {úˆˆˆÂŽ·l‰hZ¬²t§5Àj5^žl€{Õä<˜¬y~ëhÝ+ÈÛõÙGÐÇRÏ¡÷ñ ãíÈ•ˆˆˆÂ‚=}DDDD }D}ÛWW®±<×DD¾½KkØÐ€k×úƒ1àhDD]Àž>""""†>""""bè#""""†>""""êøEŠX.^Âù —`µò‹ýF3‰cFcÌÍ£Y ""†>êO† I@ƽYˆ~ÄòÅEˆ¨“øö.Cõµ0ê4ÐhœS8Ʀ5ë=mÕ¡Óè` بzÅeDDD øönD„½i8]`…ÁdE^ØÚ5C¿¸ OX‘—,ÍñŒÇKDDDц=}}>óÀnlÄãÚ áM£ÞìZ_Þc'-Ó¸šõÐhô0+¶ã½k³Zc1¶\OjSg¬mg_R/¥Î¯«P¡-³><=™DDDÄÐ1’ïÃB<—ÍJ¡Ð‚*dc¾+&ç¡ ûœ>ãZa:6º£v>²QK{iªÖ‚ªéž ™œW€l¯ý¥!ÅÙ;­&WW¡Ò¾j`÷'Ù(p¯×N[Z¬¦<$óì1ôõ£Ô‡<“† Fè4>Ó—œÓ‰I(v/ÓÁò¸mWv™SÁiLs¶©3Z¼—yíOÖ»¬=ë|ì“m£7i‹=}DDDaÇÏôELöËSþÌâ2- V­Âã`Ë õ¶Y žÇyyíî/h{ÐÂ`µÂÒ±kaÕò”…{úˆˆˆˆúöôQÄŠ‹Á¹¯¬,D?¢Ç"1ôQ«B,ËÐÏ,Q'ñí]"""¢~ ì=}ÇgU‰ˆˆˆú˜°öô>±œ%¢ÇkQûÂÚÓwíÚ5V”ˆzßm " ŒŸé#"""bè#""""†>""""bè#"""¢¾7g&êeÛ·oÇÅ‹ÑÒÒÂbÈ 87ß|3²³³Y ""†>¢ÈVTT„‚‚h4477³ 2qqq°Z­(**ÂêÕ«Y""†>¢ÈÕÖÖ†„„466²>ššš€¶¶6ƒˆˆ¡(:8ˆˆº¿ÈAÔËDQ„Ãáè™éÌ6ètzèu:l;l]ô Jë[ÞIEþ€1ôEž }óöàû¿,AÉ/¿=yFXäË-FÌ9#GŽÄ\c D¢=„eÝ8Qøðí]¢^f³Ù`µZ»}?g·/ÃÛºbTŒ°ÂŠû±Q—…ÛWÞ„šîÎnGVP\Sƒ$ÀÇxv M VX? ²¬›{ðàÁü!" öôõ2Qa·Û»w:´û3±éá±îycÞ„gN/ÅšCvØÇ&aâ§Eø¯CÒ²Ú×·â-¢½eÝ<ñí]"¢ðaOQÐíoeÎ~U³8ðìiÚYÀ‡c6ž«rý÷ÐNT=„–ñÜ1ôQHDQ„Ífc!jCDD }D/66uuu3f ¾üòKDfܸq¨««Cll,‹ADQñG¬ün ¢è€Ãë qv8Db÷½…ÂÐGÔ‹V¯^mÛ¶áêÕ«¼ q€@œÀÑ8ˆ(¢%$$àêÕ«:t¨ó£<"A€J¥Â€1P«U00¢Ã‡C …7nÜ€f¸†¡(Ú,_¾œE "ŠRéééP«Õ°ÙlP©TP«Õîe#GŽ€(J!PNLž<)ìÃsòÛ»DDDDýCCE~¦ˆˆˆ¨‡Øl6”––¢µµ R©0hÐ Œ5 #GŽÄ=÷܃0ôE²˜˜èõzˆ¢ˆ÷Þ{cÆŒÁˆ#0~üx¿/z0ôEXÐS©TP©¤OÕ¹þÁ‚p8~aO¿oô2ôõq±±±î ç;?Ð-[º-|òTucØŠQŽ[=øúˆ¨_*\µ ---ÞÞf³½ˆ®Z†ææf :´Ó㫇û ¼jQ¿såÊ•.ÿµ-Š">úè#Üu×]Ðh4E‘…%ŠpW¯^ÅáÇq÷Ýw\è:áú¬žZ­†Z­v?nllì¶oá2ô…(...èÅÜ5ºüƒ×B_}}=4šiàt‡ƒÁ(B9"l6; Œ3 æÎ«ú|¯®/]ȧ¾Š¡ˆÈ'ìãÖ[ożyóCŸ'ü9Ðf³Ãa·;S'¢ˆ{í‹"ìv;bcÔ!]'JJJpÓM7ᡇ‚J¥Š˜{0ôÁsÃÔ˜˜L™2cÆŒ i»ÆÆ&455¡µµ­ÓŸÛ!¢Þÿƒ¯ÍfàAq!­¯R©0bÄœ8q*• S§Nísoå2ô)] cb°jÕ*8çìšȱ³­R¤óÉuE¶¸ðôô]¿~‰ ƒ1|øpža"êý¿Ö.޼VQ4]Ó:*¬oï^»vg†ˆú<^«ˆ¨?R±DDDD }DDDDÄÐGDDDD }DDDDÄÐGDDDD }DDDDÄÐGDDDD }DDDDÄÐGDDDԟİDDD¡Û¾};.^¼ˆ–––~ùüˆ›o¾ÙÙÙ¬s„Õ™¡ˆˆ(DEEE(((€F£Asss¿¬A\\¬V+ŠŠŠ°zõjÖ9‚êÌÐGDD¢¶¶6$$$ ±±±ßÖ ©© hkkc#¬Î }DDDäp8XÖ9âð‹DDD Š"G÷O&=tØvÆ5ï ¶é ÛvÆùؽl¹I/_Ö½“(Š}¿Îg¶A—½É{Þ6“£gΟÏùé ufè#""ê n #æÞ/â­Ëû‘“䚟„œýÇðý=y0Zp8DˆÄVaä\#¾Yrûs’z$Ðôù:[Œ˜{Ûis§N’¦u³´ÕûuDQͽ ¾ÅnOÀW7‘ÓºuëPTT„³gÏöë:$%%aõêÕX·nëÜÇê|ìl«é|r]‘-Žoïu„(аÙlý¾¬säÕ™¡ˆˆ(D±±±¨««Ã˜1cðå—_öËŒ7uuuˆe#¬Î|{—ˆˆ¨¶mÛ†«W¯vë͉ûzðMHHÀòåËYç>Xç`oï2ôE‰`¡ßÞ%"""êúˆˆˆˆúˆˆˆˆˆ¡ˆˆˆˆ"B ˆîÿx;v¶•""""Š rÝ%¡ž=}DDDDýCQ?3ùγ DDDDQîÿ·ý6›@ú‰IEND®B`‚Amelia/vignettes/assets/options.png0000644000176200001440000006153214335240021017156 0ustar liggesusers‰PNG  IHDR|-óP|Y pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFX…IDATxÚÔWAkAþÒ4µ=åö„Xˆ¥Š’KO"; ÄS/B„B%ÐÒE¨ ÐSÅ BÙª°´`ñ H)hÕJ† =‹¡j¡.Á‹H6é&jÛ56I7%»1ÛÆwXæÍÎ,ß¾÷}ï͸ß|F3™k#›{öôq0صëEðH×jM¦·ÛÚ½¯Ú}÷&f.úñiæfïóëoŸ$ÓÛ/þc§¨£þËc `Ô/Ž%®öùf“ŽDH×õ¦JY‹ÙáÕV(j-·!ö³}›Ý8^Xmu$P˵bÇfý^oÖXpë}ê÷ÿ!eŠZÌ[9w±ò¤ÄË®Z‘^UáÀ¹Dæ„À™¢“DTž/%bªÂÀ¡*M¡¦(Œ…B!“É”bÏ‘(…Q$:W•å1YZù´×뵋&›Íº6·r?r[Ö÷‘Å,·ê–;Ægú¯mÞ;[mÉÒGàè Êo76Ò®ì×ï¿åëø›Ú–ÉdZÜ»»R©”+™Lz<'ØÏç {CØÆ€ c€j¨š‘¤¨;êm M©ˆ!Ä4]„*T¦¨X»ÃÎ!~s#²¸H,НÅCïÀ¥ñЃµx€¬ìÑi쩬gr}y¸sO@v”Åh}²§sx¹Љ©B¬¯ˆKeSÉ!YŸÄ" UA b=ø§g½ÿJj“‰¶!$ñb' t|wâ21P¡úþ¦†íDݲÍÏÏßÍ…[Vv¦z‰ ù0qxõŠˆ!‚|õaãŒ$#ÆSj/]@«Ù_¦i¸2 'Ët}€Ä¨.°ØpZ5M°xþK£YÑnO“MÓŠr»ÝŽ*ÄúUvÐÖ*‚ß5Wãj ɺ. ëQÃݵKW¡Pp-Ù‡Ãá"©nå†-qÈ¢Ufkšæ8‡dѳ'µª4©mõcAšOöN“ZUXàÌ‘H@V+µsf\ô"À_Ñì_¥&"ƒÚDÆåŸ/]ò%¾Ï¤6õùÒ@4Æ“LWa+5€ÕÕU»[º»»ÿÿÿÌZKhÔ@þ§lµÊ–öæÅ²ÈÚˆb-J‘"¥sðT/–‚ø*ö ÎUñ¤àŠ‹°ô¬¥ZQP”ž,‰RU”]7NöáÝeÚO¯\Éô›¸Ù,Óõ`÷Ž=.ó”¿ö>·R…JŠÄq’uà¶c(Ž\„*qŒg9ã,ç"Þ:2ÈL1!ØÜ{Y‘bâk9ñs›ö Å¢(677{$|?°Š}mI<„œ' 'Á©³Ò¥Î‡7¡LÖ(ª^Ñeœ• íæ½š¶ŠR>Þ@GÇU]TT]QõÕµuv£¨úÀ¸n>µ~håçïúðΪ/Púí»––"é½mµµzi/¤©²ë«U®)šZ$µ£©®÷b*VÒ(&¶Ÿ3G(ȘT=æÿ„Õ©©)æáÞÌ0 Ù²xÀ9èåT<“YNuÄ3ñŒls6'+cÓÓÓ† K~Í] Ãp%©nÂæææÚÚÚ<ó›öaxÕg'ño.(z²S)ØñfkŒ¢uo„bB)a‡‹äųÇI€1-‘ô­Û:t·úDýÒö±ÞÞ^¯½ºŸÔçɨ`ɨ¶=»hV@AËR–ßL`[ƒ}P—é8Òÿ †Ñ>ˆ¹A…^œ4²ÙlG31—È€0$ô$ݰ¸ÅÅÅ”꩹3¹ ¼”tÚå_4ž !'ó1Š @:)§(NìËð±`Lä|žÔØØèK(>6¶û:7œ±ˆ@q"™ju&ÎJ¢ØW‹E ')W†òýY¿Ql2$–|¦åÛžo‚áæ%Bòðÿ$Rûœ¢8ñ Zy9év/öõƒÝà÷_¡†b;ü–,­”`ÌblåGƒ…âoù%‹ÎÌÌxý3F4ý ÿÿì\_h[UÿuV6:‡TðAMÓÕuŠ£t}°ŠÅ‘[d"IQFipÐö"-ÄIçƒÛÐUÒ–qëô¡b‘Ñ‚B)9wŠÿúÒÕ¼8+ÚähúÐî´Ñµsñá$77Mc’›{³ÞÑßS’{î½Ü“ï|ç÷}ßï»·n%°‹\QÃB쀟/ÿä9pÀÄË>œ8ÖÑò`Ë9Ìžjmiª}ìÕ÷¯|ðôì|ìíÓ'ßûèqæçm„Kï~ŠÃ;Æ'ö:Ø~tàÓož ˜»Ó©ûž»ú³lgÇi-óbssÓ&•Xž8Û¿#­Ž˜JHZ*«§iÊ:]DÇfü½$’mc±Xö€ßoVù¾¾qö·žB®¦§óu¼ôÕçÿé~ëÏãGº8Ûvôœ´i„B¡7Ô=ÿÃûuóÉqhû¯`*S%‘Ó3XMNãaYÖšy1évúæÁm %AÐQ¸šÙBøÉ“cüGôÀ$­¯SF=C!ÒæühîçÔ ,*S·…Hõjˆ»´aÅ·Ì 5QzeY.`¶«««¥¯¬"øÎ°: _öÛ‘¹µãC÷Ü{_™V–`îÙSCü § VªDdÊ ¨ÜB¢«2L…m «½S¥)ÕRerõéŠ8aüùWѹò’cŽà™èPK—‚ÙÄl.;­ˆ__°¹±î”=+c6ì¯Ú¿¾¾¿ª5:Ô÷ü¯ÿò€“NPé¼Ñ“ß]y׿ͳ.<@´¯jPœûJíÖ+++"6‹ÇãN™¥¥¥†††2Ü(‘HT ¯œÍ>UM•½ž¼º•AèÈR»…f“AÇÚÚšícQÆz ÁíŽBT·AOw W4Y¿´Ö+ïX˜«`šŒ³Z†¢¹–Œ¢AeY\VSR™5¤(™¤I Îæ» ‘! ‘˜8T¤×VÌCQ̈!õ¹g&yh×vò±AQøÔËæÆðÇ ¦^õ:ЫŽÊiÂB&yЫ)$°08*bEC¿îddï[@óœÿµÉ ×Z/m®oÒ¹‰v¡ò£ðغôÜèP)Šî««[ÛÍæ»ñÙ5ŒL@_5F2>ìNv&éÈc!æ»Ñt}{MœÊ Ô‰oÁ·/®¹\®œŒ¦ É©0²’!|¶Nc,×=ä…Øa*õý‹Ö?¦§§s^‰ãøm_Z{M´ò™Ô‰Ð2]w¬®®îììÜÉ~Gÿó JÕäÂaªž‚L-K6}¹¼üìÆF%ƒOš†[¦²lå-ž;ºÝª”28Ï0ñ¹Då\!R‚…5·ìÉÃIºeím±a`ÌÇ#ƒJãTÞ”fMMËå²±aÅr˜+?›ÛÑÿ~¬ýõî=p8Q¶û‘”xÙ­^Ù™Ðà?fH'0Eê R*ûKÁòòò†C½²^‚i'¤·¨Râx¯,Òá„'_K!qN%•a q®„ü”ðÊN·PÎÈi­=…Py˼´‹và Š M´nX¼bq'xe/€Â…wÅreÇïè6áÎàÊàM5Ði ñ¡™sª—SUÆd2W!>Ãë64°¨Ò8Œ´gËv¹r~®ì¤Ù)?þcïzcÛ8ËøÏ©ã&ͪ¼*•ÖI¥”K²NÑø€é,¤|Bí½¡t‰Z3i µÇ% W¤2y›h†Uêœdä’Q…ŒEšh¤vÐemünƒ!*¤`ù"Ñ:GÖ2`ª@׸‰»nîñá½;Ûµ/vÇñy~>8±}¹øßû<Ïû<¿ç÷8* µ²´SCä®+ß¼u@6qB¶lr:[[Û>YÚyÿƒ%ɺ­¾½ÏŒEž~×±÷[ºáV‹Ìwìm¹yç§—?ódøÁßh;1yõEà-·}Í‹G®>=Úù¥Ïrìò_ŸÝÏOý£¶Î\ðpÛ‰'ßzqfÿ¶É«ÿ³™v\õ›lvÕOŒÔÁõÀyã‡?~ô€G®E\ˆüù€…÷\Î]ü೿p þ  ¿| `ÖñüðBë`«Ðyå'©S×Ááªß°+ C¯¼‡³ 7ígw8š{yÙD¨¼ÍáÙ¢iZSÓ}Ù¯Û¦]¨vTU-[Ívb³Ä­[·Ê YhG‘óîz%=;Éòî¡Køq'''­Œw?s­èÓ677Üp;uk¡ÁOÝR11(&–¡8O–åÌXŠ,³ 6ˆRiÇJ5×î¾+vrÒø"/ÄÿÔæû"÷²0[f¿Âª*+ª÷æ…ÒtÀ(zˆiz.  ¾±*1£OÉH¬XYžÌöëõdª)J;EF¶Kâ¬Wz9Y¦Ô¼F5ì7y Í&,.}TÄÒV%K¿xÞØEÑ›gÄ"S–²ôéàýü_ÿàg0{Á¨,K„RY¡„ €D$™RDbe×½_ŽNóE(± +ŒHŒ" €žàÄñî‰ gÞ/³|ýÙ‘_>å;ðò{£è›éä\7L‘O `.8ö TVFÑÇY0ùíI½sŽžô ¢Å‘ˆwGÛ§BF¯$"…ÔÍbå‘‘ŸÏ—Éb¢2¤æë¼ÏÉY–¾PrâRè&ÛšNA-€”`eÿkÉеc#DnY3CòÄ®ˆ]>îï/ÏÞÑêêʈ84MË™ë7æ¸pt²¾,)‘GCw)+Cd<>>>00°ÞÜóùãw`–{Yš5S€»LfØ|*+†ïe”Hœ`/s~ Kkí°>‡ƒãõ³^ï(ô¦ð]`Ñ‘vØrâó¿zm|VÉuÆ^þùñãßùî}[ºþfµ¢¿À%Ì\è?tf_\N¼›~¼«Þy磳ÏóÒ<ú1üžèo¹„™ èüYn»³®é’’Mœ€À•˜6w¨axùö–Ɔ¥å_ƒv ¿®áÐß¶4næÝŠÆ·Ü¨a¦¥ó𦴠Jp&“IytíîÝd2Š/ɾøR2™\Œ/%y_ã¾ý¡8B@2™Öç¨93žÒ·Hbßn$“¼FÌ­Æ—vìXÙV–³Tž¸üt!åÐŽ½°_MMMÛ·oßx«Ì™1 Î0º àcJ•Ò%è6P.æþý¢/Uæ ™ä™8E)•$n’Ec×%ÌÅ”hÐc,C6ŠóÚ}FÓß ©!8 &y&Nu²JSMlp°£CWLlP߬8”g¾J)A‚®röèßEmìJW±)A‚®‚ö+ct«lÕ«»rââçpÔàxg ˜„ïk¿G¬äô1Ùˆ²±ÖZ¢ TU5Ì1ã^Ã1£át’E …ý¡ipZ"Ù)&<÷€Tµ%Ê€¹ßw 4Õ àιc˜$1ð´O…ùzêK<ˆ /Ç)Øb“ñÕ?e /ŒiÅ‘ÒW±˜ÄÎ{žWôN±\tw?JÔÕ7¨+p ƒ)é¤OlÛ`}Ñ|st‹[ÎOïx3Ò‹H¯•ÝÙ–ãâO÷¦†ÃbÄÅé^<*bµ/ZN†ýé%|ήMˆ^˜'„ ¯˜ ¿öïéŒhS†¬ÕݶûrPd¬ßÊ¢T‡ý%?{µ§§+£›V+ß›æËº²VVÍâÏ)«|äÈ‘#À™3gâñxeÛåo–;ƒav>vwwÛ®‰s^*€ ÈZKUŒÇã\-©•U¶âtÉE ø)•Ãᕪ?`@ìŽL'KÍkƒJ·Ïú„ËýbM;Xeå•sl BŽÂÃAƒÜTOxÉQxöDÃçÝdPÕ)B¼j4È¿·HäÖ­[¹ZªáÞQ£A`!Ó™×6.…GrÄU–[ìÔS\¶b?c/ôô<_³;Vòùj°Ê¹9š˜TªD›XB²I ƒ˜ÈÆ=F’›Æž±–¼¶+ÛûÞ ÌÜ„ßJ‡Ï{K…îÔ¹¹mzﬓœ;'wu}»f•-ƒåj°Ê&*™IÒ’Ye[ÇÊbÊyÑ`4lV(…µµ US¬,PÕ°_Ȉƒ×„‡üÏ›µ]h-ƒQœìøJ5hÇ,×pËœ6Ç¡+Ȩ:(ÈÓ´êXÙÞ\•¦DJ‡ìüK5ä•kVyCäsUb•uäKõËI„ʲ¤ÇÒL 3>†¼õ\b0°± +r»ç•@ræð÷=ÑP*ì étñ ´øgZüP ªªD(¼´À”ÊU K”†2‡ ˜±r-sšcX {õDOÿxÍî ÷8ŽnþÓfLž‹‹‹×¯__ïÿÒÜܼsçNûi§Ìòö®?8ŠêŽ˜‚@àŠcgì…Ÿ©C‘­á×nÀ8£\©2Õ3“° Ã0:Ö9)6.’º$8!ØêB´Z`·hÁF,âUgZ,pY@¦´¢M‚„ÜåGÿx·{{—K¸»Ü].á}&“¹Ý}ïÝ»}ß}ûù~ß÷}¿–ß}ÅîC,¢sãf`·öÚâgæÎ›¯ùáî»Ç/}(ÝâŠ!ךZƒ‹—NöøÛ/ßœðü.>ýö¬˜hxá‡?Ýôù[6ýüs›fÿhqàøhñnëÎU߯ÿI%ÞYÈz»áÎEÛ®„É¥à2òîóüªï³aMŠè4]÷탽mƒ>c©út°·Íºðð2ïò¢}—æ/mu,Þ¶ÁÛî_¶¡6ïÄø§çÛꀒe>ÝOO~¸°ê‰‰,‹Ï×anü‰Ç;ÞT}M×'ðù¦ë_¿È=9Qyý"çEGÓuß³Vþ9Uþpùñ ®Kaûm\ò¢£é_¯L_Pà ÕÕzÃ÷‹;¦46À |a©—¸îS'¦MŸÑ¥Ìû¿»¸ðç£k×ëó>»yÝŽŠêËo¿è…Kñ AǦz?ÿå”qðñGÇÿõH\Ú5Ь)ZÏîï@ÃVÄbs3DföJ,Ž9rùòåî¢eßV¢£è{‚I‘ Û? H*hTsZ€'„Pis žP§5Å(æoJE E¢‘sýž’ª¤Gí ãK—yÆQ÷7ht¦Aü B}}}SSS„¦ÅûöÝÓ6ìò—Çlï´~Ùq,Ž}«­­½e™'åœê«E•_;~ûUá¯/=µåüŠÙ«§ÅOtì°ÒÐL=¹šÛ²_Ӵ̲5€§[ÓDÀªiÚi_Ú2]šæv*àìÈ–»[âÎphšëH®¬i.I…U¦iþ„sœ¨ñkB’¿úض¸{èd =ÈMÔ/,‰'„ï]¼.E0¸‹™ëðÝ¿_ôL~JDÅTXé¿A%$ºN?-ëªÔ]ˆ¡çŠ^Ã’¢‰ä]Î]Áïì"è#§H*M•ahJ5Ô§6î>W€BT$&"(PÅàÂ’J)Ž @à=“^ᡚÈešÚ,[#Ñ*t˜UX5MÓd‡Þ…Æ•T=Þ:ØÎlØ]¢éWwÛ: zŽ'žðæNŠn§ûV!¼ê2l¦F ‰‰ÕEÎCJ úÓ2èŒ>D6ëØÊÖH4”§®,‹ÜÁ,Bl5òs­ô¹G6kfY÷DC8H–ÞXv!™® G"g .Ï£BtçBNžñÒ(ñð%²ƒeòž±žêoÓ¹ËA«€ÕaU%cÖÉϵÜi!YV ÆF'‰àiO);‰š÷Ó¯ÓmÑí$„ä»es'Y g¯Âù]†âi%š’[ wÒ¯²©Rp]ý1†¤‚ÂÙs'PW#šLO¾éÛ_ hÇDP¦Ú§2“`ŠÑdUR¬Ž^o´ ¯¾D8¸QÅîe&Á”Aä¦[õ%ÂI!*÷w&: ±Òdv bÃRŽAÑ!’/Wó›Ò$?Vã¡*Ipܲ¢@H àtkþ’‘ÕJ† 6räÈÑ£G'-´zÐÜÜœ––õ¬Ãó’&fPú-(P¥í†îZc.£iš¦Ñ%‹²5Rz¢Ì+‚ÉxXIèA+Ž@œ­iZÙÉßZ—ZÆW0Ä tInÐÍVý‹Ðž'ËÀš{„¸Yƒ|¢ËN±ëÅdÙAU9‡¬°g$Ye&õ8X™çD‰'œ¨™´ú[iźšm@“º6Z‹ž¤ yòW¸ÚÚÚ[½mô¯´Ì5þGòIÉöö޶¶ö¼Ùú§•+ýmZV®zé´/âŠA7ZZo¶ú,7Zü¾É‰Ëµv;£²j÷âE‹§L:xðà¢;r*ZŽU,ZôÚKrF1É©h9VtGNEKYEý’¢ŒÃõK¬ÜùþÅ´|}EÎË“Uä†oèw†´wt¶µµGÖÃõK°2ç–½ÿÁäŠú%ÿ¾7è{‹2"jåêÕ†ôô±–æë7èñ÷¿ÅD'îvU.Z´xÊ”) â:w ÚÖÞî —„0qhhh;vìé…”R´ £££££Ãb±$¤}tÒ¯H梿hˆ·µ… pâÐÞæóyoz[[4ëôÉð¥îmm‰ÚK0HKŠ\/ OKM(B°ë`°–®2!L Ž®£y×7nÜCæÆ%Q+çÎÎPOkuP/A¨&l^ú¦zr&`Z‘Ô5„CåDºà-(æEõ¨´t†^cL¥~±åï_ÿaúº£˜2 ÀtÓ¥^ˆQ“©9GteKît;?×Úeé;[¯g¬HJ¸qÅaUBˆ XE¦Eõ¨µt†^@7îg›§âü'›xÈóÌoáíO¼nº@ ”i×´© ½ÇÎ;çÏŸ¹ƒi?B?Ë—Úï0bĈ1cÆ$3ÇkÒ5M¦K‘‘ …ç VDDu{ï/w{³c‹Å≸ʼAeZƒ½sžÞp¦þiª¤ÒèkºÓ€ü]2ÏKŠ@DÍÝù-%ýån7:·¶8$žëœ€æ†GŽC;<­>xvìð`µÅ ní9sÞæ@àªx$#Ž]K ¿\’Q]]Íóü´iÓRí…5o‡§ní¹ž¥k'y,–É…sçVÖÕ­¶Xª€ÎÎN‹ÅÒÙÙ9Ïbùs;;ëV[æUvÖáÐj,­LmÑ@HYщMž©g§ ›Æš¡—(?×1ì®ä%ÝNYš¬ú©ƒ*)aèsÌÚOi{¬Cã úBÐTÃ~d„æîÕ³`²&›ÇX”®—ÂTÀwoУe¨³˜Ñ8-ßu·GŸÇ*x(­ÂÌ£Xa¤Lî²oÈre§þº5×1P¸­ùñd¦QmìHYÜ»ªzT&?ì®i–Aý똅G?€ât<µ VTáLw¢³hßhöÀõ‘<‡ý µµµ!ù߇/³½{Ùˆ3ô„ŠϘ1cøðá1qt§é8UhÓ(Ï€S6”â@!Ì€fÖ–z8u÷T?]“s*Æ)ñþXOtÇ®Ÿö)‚ˆ|¾—Ñ#¢Áœ9ö¶¶¶XiòUüJ—‰Wqþ<”Vaï~XŽ™ûñ0Â\ Oã—afÞíÊÑ®¡Ü†™.x´JÏèúPS‚!µ!œ¿o1³ †¥#:äŠæ8T§m~ÕÁ!kng6Á­iÙ5Û²Æó‚‰Ö@ä«$c|M1 ö’ë§cçÕø<ÁtÊ QZ…~‡Éuìv{ccã¨Q£ü\'¤ÄÑå½Íÿ—ÖØˆ£Ëé'ýC?»Ñë¸\® šl¤âËËËóù|𛛝\¹B?3$*!YÈvj²ƒØ]öNÔºÅ6%ÐÜÜÜÐÐàõzÃÏ:ÒÒÒÒÒÒØ¨öõõA4šè74ݯ*©V‡qÆ™3ëEŽyI]&KµTûQ{Uu~¬4™!&Pù5¢’2"DAÎ=â)ÑRðWTWgí¹`za±qíKXšæ0‹=éHÉÎlýŸj2ï³Y‡!âYgc÷b¾É}‹ÐU¿•;z("š^v=¯î…½—Á´´´±cÇÊ9›uRD„brß6BÆPˆš[R u™ rOL>µ0EŒ£¹Ùf³m¦a™QçrY[[Û|Ìù=ñäcÝ™ºCñGsÍöböÂbˆ®-A{‡Öd†äó•­aÈr9^Rå¾ÞÞbMf³Nß­€*é>¸ª¤öP¡aðûÖG»  à‚™&{Î∷¿¶¶¶ãó=–â=ë‹TlÖaˆxÖyù?9Œ&3Ä€êêA4™Y“û'óR†ì°Ò¨átiv—½Æf>4\/ ‹°Ä YL~w™59u$ÇŸHÕŸÁTw$ 9ÔI3_Ò×[‹l¶Jó!³&'Òšµ÷Ö3krŠÁN}ų5M¦ÛõEÔ |&Ëð”H‰XAÌšœBpº5Mä/' !’j9šÖù=yö“tç=ìsÑdfMN¤5Ù¾çsuOq³&3Dcnó¾¤ÉFìÕ`~Ü]0«pÕ•ä…Ù¬®ŽtÁ¬É)ž²&*áDž—d9°3B ¼¨­—TÎa ¢Ì¼ ²•ü?˜EN‚î Ü.j²îæÌ‹î|åSP=)ˆZž ®g"bMf&Á„ ß™uÍ®G®cw66žd  Aˆlr7‘.³gÏ?~¼¹¹9U;øMiéÖååßÅÇ¿W»u+€9«6žØ½÷½,¤*b@Ô¡k}—.'—ßû¤|úÃŒ\º|ÀìŠ=ÝIÞaÙmæ®Ýfãl§åàá´ƒÞV=Ëáí&þÂ*÷&Çqú޽­{–·}±‰»ëÙc_s¼|{ã޽­š½™=€³Ûµ, œÍnãÀÙí6ÜÓjsÞy‡Ý®Ørÿ£úøßDXUäÕ½Ín³ÛõƒZý$ñŸ= ÎnçÌ®ž^Åžï$Âf·qÚ‡ã™aÏÌÌÈä7UÝQ›™™áºcõ#|† ]™™žWþ13ÓnÏÈÐþ.þðŸŸx÷//;333233ÌnõÏ-—ñ’ÝÆ=Å~ónYa‡ÝÆíì6Îfãì6îµßžµ_…5ª"~l–ƒ[Sç.Ÿª8ÀÚ•ÝÆ>“øáÔ ºŒ|ëæ5ßß6o !®§o»ÿ‡úM¢$984HXq+??çøæÒ¤¼ IìŠ!æ„e3D‚‹çØì6›=TBÈá…c"Ë–eK@ØÈq6[’d“IìŠ!æn{½Ó¥Ô}ØÞ¨I¥Ô•Þ#ÓmÂRˆ¤Xu Ú-dU ÈRY…,°»ín4ñ¯BÙÂ?4y @ˆdÒêª j¥Re5ÕÁ2›U¿ZPgyðÄü+Áì‡2¢Þb#†¨þ+B†­I‰$Úh-ƒ„ ÈS”hHŒ6’%ícB=Ä}UhØ(ÅJ:–Œ’q¡®ÒÇŸÑc7 xE(‚®çÊÐÒQ~­è¥•>@]£¾¸'(“|€RtCõåñ€CgNŽÊ:Evñ@ËN¹®2„AñÚ%€Ô„ôÖRÕ¥p¸UYP·#X]ÀSJ‰¤˜¿"°UßÀ‹=g,ƒ¬¡“¢ãÄÏΙ ÕPÅDÐÛŒ¥ÌQ­O©¤±Z5¿«Ù˜uõ ~L˜ÚG‘Ùú"IDˆ³¦P{ýBW×1ÊÇ^ëxÐa”bÓÛ•o%¾’"vðÒ Z±ÖÌ\öTèÙ)R9¬ /ºˆEùŋΖÕ¨1_rKŸAt©¥K5©ÍWI¡H…5šš©ÔÊœ!Ôí0E„aëãBF+ßÊÐ2j{Q]W SoSa‘DGSæ„\ ‡K©P»!Ž ¥ÐdýDѤö+RJ­÷U×4B¹¹¹Ns©êpWÁ;–tX{–I’¥E à”ÈuÞ9ËKÒg檲À‹^mN,¨©°Fwë)$nJ hX¡þÊZ®õм~÷ÎH‚¯Ò+ž‘UGM…L!CÔ®ÒbËÅ”ëâ2ÅÑjAÎõ·+¼èˆè ’– P8L$˜V"Áðç=DSÅ'Lì}fŠˆ©‡,š4Oæ;œtQ2ã:iÄu¦2BØ{Þéü¢§/éÌø_Ë0µ"AF: ™°vÊí¨R,e·#éhó¾yêì{YY³fÞO ÄMŽs¡£HÄᦑ ©€"§§¨®Ë+òã6EâR !N#YüW¥n‡5gÎA’¡1}}}Sµ}KxÂråw¥"Q%¸)¥ÞâöñÙ$Œ¥²B]¥´Ú‘÷:³˜žÂ`Þ ’Ž*7Š|IK ¥´Gc2 TÙЂ©íºŽ’/> @Sn[u×!švMOdèMBòùDRYýXå*æMUy¤«¤ëÙ®&=HG*¬)$¤¦£Cº‹ê )U_¥¼X­7â‹w*: mp@Sn—t×!šö®|—* nG@ån!ŠH*k£¼èå¡7ˆxU˜¶|JpÐ%?žö;|Iæ:å–o縕ðíˆç+¢’NÿÀö‰§uw]¥”Rê”ouþºªýÈ‘áAö¤“>aÙ32×®];wîdÉu>øàƒE‹¥òGeÏÊΰò¦9O"4«É&«¥|ÆðÿßD:Ls>)÷y2ŸnêIÇoü¦ söñÇÃìA'7Ü‘=ë†ØKÝ MŸú›DdEÉ¡Ö »-#;+ÃÜždff²'t\½zõòåË32%3º`H é˜þ‰E~ŒâRní„X¯BDéeòz@NÎzÀ¡œœœÝªõÀ¬?×)„ÄcÜÅt) D“ì á‘ ®?eøâë€'rÚz{{O}nýîõÛ{{{½y·Y5¡ Ëëͳ:Š›î⪡vWtÔPô -’é+^Rä sGO@…ÎÜzç^{q¼¼mWNNÎmåÉZë8P>³h¾ßœÆKŠu†cúr‡kÈM_q­MwôøTè IAy[/€;ñõ'ržïííõ­_Ÿ´e²è¥pÔ"ˆ8C¹ÂÖ.¦/·©!·v¨­u4÷GÓ}¢*t†D°{}Î^ÏY¿û‰œœœœœ¶ÞíÛÿpkNNΩ'ÚÌ*k{®··7ÎÍy)LšÒq渣·¶¶ŽŽŽ®Zµjæ»ðÅFªÔ3?Œ“ë0\×ÈX¼x±vÄX“¹sç.Z´hò<"×a˜é¤cÄ #q66%@d²$ªw‚+?ˆƒåÜÊq¶?XÎ%ë¸i—)Å.(㎞B €,¸Jõ­SšFÕ»ÞàÛ±Ò¿{]ùú“þ£[Ãk˹•á…ëvû¹òƒA¤|/òsµ=—ÛŒb–qÜ]ù*ÐSÐ$¤mT½ë .iyOÙáÃŽ•\0qVr+ƒ+wø”íi "Ýëþb‰šûgâʧ]uˆ–qˆ ±Êñô4G¼èùp–PÐQ3ý•Y’")ìZou+¿+d<±Ó.1˜XÉ•Ëì«ÌZ~e~Pö€‡7äE˜òõ9O&5ª^*‘ŸóqOXy[–s+wûîXÉI(sÿb÷Ö¼ƒ·¾¬Íÿ`+·mþêSÜ2É}Ú¿5ïàߺ­yàÊú-œ&½b ¦ ª€¼­G¹òƒ~ÿQ[úõÎ:¬3ÿi5ë¶æá`9çßíOw®3c¶\‡Éu¦+öèG‡¾ÊîFòñÝ×ñìÿÁ>#3%ÎubX‚ŽE¿V·Øꜙ™NoÒ‰m m§ckq2¢Ù›23Ó´Bg:˰eaàtB¤b j˜ϘèQ˜Âª4ÔjLE 2Q5ìD™™iZaů|žJo7aS—z: L1GAMT¹šÒ@®hÃŽÖ0™åᔥË+š·à‹ÛSE;õõõ¯=ùâøIç¡Cú{¿úܲ 42?€·D­ Ňx÷?#ßîNœ=«s…xã Î+ö`…¢Oj[¦Ýì–ÝÈ/ê:çó(€*ë^ô†­i2ëîÊ—„¼Åâj{qªD_UUUå/>b- 2õšàæ¼¾ U{’3Ðûø¢“ˆ©F™i›sUVù I=eA½)Ò 755ýuïÞg:;ív{¹Nš`‹8tlZø‰JËSF7×qÊAÝ“I:Éb9 i÷td93õõõÂ]ˆJ:LÁ?¤£…jïëë;|ø°Ï监ñZS†7Î|Ò¹xñ¢õ|hh覛n"„°„#)€æ<ÔE)¯HÄéi¦Ô%«^‘‡"™fLi‚?þøÒ¥K/^ŒºLÎÈȸñÆ—,YžkÒA±ZªÈ½TÔª\ùZ•«f'D·ä„%5oÚOXúf=±$ƒ ñMxa êDã˜z‹5Âj¬ë€fwºý„ÚÚÚçŽYf)ašóÔ!Ä8Î4¨Õvê”R")¼Ø(+reú Í·mÛæ¹ËF:©'šp£JÑK5¥• H„B¨Ûð-Ζô´Žä¡Æš°R ¯AOnˆÏ¶nC*‚H:ü–!‰˜yi~!ûŽY½l™¹ÃbC¼kO—0Òa'é0Œ¸É IDœÁŠÂ<×B¼Ï´S…H ·ÅØjk“àÔ6gΜ ,^¼˜­uÒnª{¸ž‘Ã䇎ºn'tóSɤ9@‘™¢Ê‚´U"ΚBbm,"È>6aÍhx\+lL(‚*w¡!:sEJ›Û‹½Z¨WnÚ\×EU¹‘R¯˜7ñÑUUU-äEF:iEꢴÐÒ®lLêžj/ø¼¢º®x3¼˜ù¼ TÙ5ñ1nª¯?ÍÀ”!õki„¦¦¦ªªcÃÃûØZ‡!a8qšqÆuƳo;yR¸í6ÆuC}}ýÍl‡ÅÀ6çÓ~c¥ùÿÆ9_qd˜ŸL„Ú&3$ñhÎM£Ò™rxp4E"tª“„Û&3®3eÐŒJCQpð ýô€§Z¸V6a10JµHV7ýSu!>ê©Emmí]b3#´€iTª…h-)òa'Œ˜¯æ)7m$„ q*­·mÛvDvZK˜•à”­u¦jkÿå/{ØZ‡!aT.WÙ„Å0žµ¾$` ñ®uV}ší°Øæ|ZCËÝ$+¡I-¢å¸H;i2³Mž Ä£9/€p‹… Ã#)Íp:= ´ÙtJæJ]£æ¢®*àSïXÌl“ÓnJ¡Ê’â(Eu;ŒH¥!§áHN‘T™B'!éĉ‘ΔAV¾¸Û§S‡©4⩳»x‘Ò®fJÝ)g;UUUG‚K˜©×”MXÓ MMM{«Žu2S†q`Y°)#†xqËØ„Å&¬„Ál“Æ f›œFÐŒ.$€B‚rÒL0Ò™BQJá`¤ñ‚ìYMëÑ3ÛäIA|ö:F8\]ÀWRäÜÐÍ“«-ü)‰©œÇ f›œv\G°ð––ŽR¨²äE!§lÂb0ш ¨)$„^ê_ì$¤5…Är:Ũ­­uý!¨„˜Ná„5ÐÐÐp¼öø‹)#F:qräÈ‘e,‚)C¢Ø¶m›ë.‘MXŒëŒ‡ë@ìÒ8#òâ(î1"žÀÀå)5 .AÊo2³×I®3¥P$â+a$!ä{m'Ÿ˜½ƒY ¾J:f³úúúמ|‘qÆu!D>yr³dHõõõç ŠÖÎÂL æÏŸ ¯¯ïðáÃ>Ÿott4=ÇyxgU+¬¯¼»¹jç’¥çZÏÀƒKÑzOÖ×wï¬Ò_<\õ£Ö¯¾ÐcÍFÍ&¬IÄÐÐÐûï¿åÊ•p“333o¼ñƹsçšÔÃHgá70~ g€q†‰âÿÙ;÷ð&Êt¿“–¶Áp9—N[C+î£QsxÄ ˆ3ºr¨KPוÆ[Kk¬k]ž]/HÝXtÓâ­UôˆqiäX. x) bí©Áb% *nÈm\„ÒK’óÇÌ$“ÌL’–$MÚ÷÷ôé7ß=3ï¼ßÌû¾±õóq‰©*.ω£¦Óë–á°uë–ÎGM¨îN˜0áfêæ¹sçá/‡ É*tþu¦[šúhŲüüü‹.šÀ½MRRRÚ¾úªý›öÿ4¯ÁA’ryu¶³WšzôÇŸ®»næE²FŽpb÷ºòw¸ÃË—o{åw—DÔÈ‘7î]°²¿yûäóí®J¥ºî†‰MM»d»ígÇÒ‹o•;¼zå¾÷—ä$Æl;*Æ=›×üA)"%’S’ÌBçø©NijW·»Û­êêQ ëIÒ¾³ÝO{O{ÓÞ§ù„êï¹êPÉÞ§þ]¾æ&óô¿My÷m}Àņ÷à\Ot´³®n·l·àð‹®f<±ÿ `˜ù]Íœqß”\s½‚|z2ï9rǶ»~Õ§>ô¯T×9pŸùWçñS!R"9… IŒJ‚€´´´ôŒ ÿß±Ý1Ì¥äR¿Þ¸§%#=㓵Ó57”¾u,##ýØ[Nÿ]ñŒôŒa© JMç2²–OüdítÍÚ®B_ÎOÖN×ÜðÜ'éé-OÞ0ýÉVî€K‘û#…~«Tª#±êÞY¢”ì¹sµõ6©TªOåÍyó—ê;&ÿ,ì|*oì´ÛjP©TGjïâ3„-9Ÿýõæ±Óò|·ÙøzD­4-¿ëõïDMÈö A’•Ô!£Kx½àõ^á5sÖ, fnø‡¡r†oÑ´sÇ—wÜ7ÃCx½Úe+ “½ÈšEýúÉÃßyˆ,/€—ðz/Çß3.àŠdîûí“ñ9µËßHx=0ƒ*†ußï¹vÆ3Í3à‡7‹o5·¿pØß¨Ð=ÙndÏ™ Úךxj¦OEÛ¾­ÕðÀMD „ŠHQøƒu¯y [=g®öñCß)ÙaKõAG#@÷øGŽ¿~äüs¶™P)G„˨l"n²¼ pHÔ–´Wø¼D’vyå3lº«‡ 6lXZZzºvéâ·;`×£W\É{R,¬íxƒßúvX ¨¾ß ×½ÓÂ¥ÿåz(œ½èî¥ó³×,ÚðÅÃR@•’–žvÉ’7¶½´øÊ쇮®ØÖñ—Køâ)iéié¢ãæG¯(ãúýì›ÒÓ„NôöôðBG®Ûwý4|Xž›ý÷ÿíõ§mßs‡sž©ß’;S½ î¼ûv•*%%e}§þÞ™êUwnrU¥ÌK´æÍf®à3³")ù> )_\’2e©­éo‹²Õ÷sÉBgTª””Ù^!H²BþáiêÃKï.1”þÛ¤KFRGPÉOhVç8ûø‚£?ôôöÀŸÿô‡ç_x-/zÏz6ïÜ=%¡~£Äì‚ôWè|×qVšºÓ¹uÏžnýí¿š’“PÝeOÜø_õW\yÍlj.þx’”BG<Ãn·ã¼ IÁ‚ p’ŽTü-‘$ŸŽI :^!’š‚$.—+33säÈ‘©©©âÐÈPÕtœÜŽ–BLgÅL´•`¬´$„tô;#jÁß;ÚÊļòõ “€D¾ïéž={öíÛwôèÑ®®.Œïc·Û£å,¹ØqcÐßï]wÇ{×-Ü0}á†éó­çµ›_jl%ŽYÓʲ‘:‘FkŒaoômU­¬QÔʲ_G©˜vC<Ì v‘`¹#"\Ì/¿ürá…öööÆ"ZÚ§@KÉžaÄhøúôØÂ'¾V_~÷};¸'±ãÆ÷ô_¬=|ôz<^¯·×ãîq{Ü^Ûãv{Ñ·€’*5ÿ€þK@; /}nr£Þ[ûuì*G‹dAâ AÐ ý©%ºbäjc¬¾õÀX­Î˜õDl1ÄXi‘Ù³`›#ÛV¸v+-þ´jý%Ò)ŠêŒ9­>ƒ'´ÂŠB'.FhN“š¶ZM~WpšÔú:}0æìmÔb£@Údâo:9o qImdnÔ™¹Ëš4)¡'N¾¨äŠü2Ðaë¤o•ŒuICq«­ ²šEueA…‘j–ëç!…Î0VZÛ^Áо÷‹†à›Q—DÂ# —JVš"Ù!f[$:d:#7“”‘›}[UÍù}ÈÜ}à¨ãþé÷¿òm$âu`EœÈä5øÉŸŽ1J×}ŒG&ZX–eY[Aå+CYX›tU­,k¡€±ÒÚÊf>_^褦ÜÁÝtT‘A8i¼´ªsœk¡k  Ë:Œd°ÊÃY,²íÚP–¿¥Nòò ¢ ²Ú)^1Vsoãè뤟|g„V"ƒŸA0q5ªMNf{C3×k¡¤ÿ ÉI‡álËvFv&¹K±±ˆŠíÄú¥½/Ý;%\6Òè`ÜVCgs庶½À§ÖI£ÃfðÙ ÆiA~yå4©éø-ÈÜào –eƒù.¶µŠ÷3# ‹uÂó95ÈÂbÏÈ·¹a;ÃÝ$æº@«Âóé$U^Õ¦Wëy!C+ *µZ^Íé÷úÐË+2·ê‡~8¤ÑÁ²#ɯìäþõ@:EÒaF8Û²Q"G£òž7_>Ëi:;–'¹tçÙs;$]ën¼©_w*àñxc$rÀ×ÉÇ\><ýYÍWëhñè¤AÇÑëJà0‰_ÎtýïÚ6âò IŠåÕ?þ”••¥™ªÉÊÊÊÌL>;Œô´vüßÅOèééÄ¿TÐ0SC¨6èeŽ$ b?d/pkH^=}ˆ¬0ÄÃLõx<‘üº’ —²Çëñx<¯Çã!"ÙÞIy=×ë qŠWoÃLýáÈwxí"IÊÏì©áéGI€gøðáÉèÌ!×Pø±|ÃL½è¢‹ðÚE’” .¸à /3fÌøñ㣮‰5èeŽ  APèô §)È2,ñûäÈq 2`jç¿|ùòñój…+|§ðS;;ò¥G2¥FÓ)®a‹CìÁÎAÂFãb¿iåÝIJåò…qÁåÈ.Ý=~ç2@e[Ž[=O”²sËë‹——‘@–½°V¼¸fÏ[üÙŠwÂÎå·s礥nyEYXGnu¤÷–°·7èéí…ŽHv—qÈØ{@ºz?pd©ß9‚$³WzéêñãÇ?~¹àšK³™ÚÕ¯/~{õl˜½úíů߾|g½ӡ,l¹‹Vëë„;X£kn?Äéu‘ÊßÐÎâ¾l’½·#ñï«#»bÏßïATû9vìÓ•V¼÷/”‘‡¿ùL8•}é5}©‰8vìXPRcc#ºAHƒ¸zÂa·Û92iÒ¤¼¼¼(îð‰Äüz… H\Ám…#\â{‰’Ð7nÎ’¤Œ1bäÈ‘£G;vl’îË+A$:~ã˜[›hÕ,ùÏXi¾÷søm_ APèôÿnGáv:švp:˜éÀïâÚöwLl›"Ìã) 5‰"®ç…Hí[ˈ>¬ïS,z3 B'š‘íCßá…Å:Ά%ÀÝ@ôÌl}#bšæmXdY4å~Ã.‡YÓj)R¬Í— ÷ÄÆÐbãåà#‘ê¡”Ó¿÷meµù@ºê›TˆÈENÉ;‹êÎ…­eļõëçñ·>·GAˆåëù¾4.ÿSžÁÒWbk1£¬lA”m…܇ë½S¢(UTe+ î~87Cf¶74ûŒåtÅ…¤p7s·[ކ³Û£Ê«ÚÌVÆi2kj5Å ÕNÿîYÁp{ÇXVz Ô8äs°Šó809%ÿ)eå>ãå6À¸Ú„4ÒXa rI¾E‡‘ìK»!"®Üt…Å>K ÃÁ¶=Ó.Í€¹µÞ-¥p­å —»õç.(峬_ù¼‹“)æKwó±þjçúó{kç‚ëùym+„H€ ì~IUP±Ûë­ ¹E‹àF©£*¨©Äñí$G[Áè“…ź:½Z­¦«Û}kžšâ­YSc$4ÖhÌZ‘Ã/jÀÜ^¡´HršÔjµ¶²ÀPDIþ »øªh×*m:”³UcV‹|®úÜ®Â@dæ ½šsÜÒ¶W !y×îÿÆ%·rZYpÐëõ´\Ë¥ä-º–?rä^: ÖÛ·òúÐÊõ¥ æJ•ªÆw`Q‘‚d!¤ÁYëëëÙ"Y­V‡ÎÀ²lÔušÔú¶ªÄ°IFóh»Ý~òäÉÉ“'çççOž<?™Gô²¥êc¾² ÓLòÆB¦„…² D«Š}AÝé¹ïÞ=ðÍ ‚ q%õêõÁI¥ã´ ÉÁšO ­2öCÚP¥ÏÐd%A“ЉGPÙR!ªŠ¬ ]Š É't W*4 Bh$¥ú(›”B†bèR K´èA#JxH-¬)…‡Æ$ÇòJ.h@„ЈKE.傟F6ݺ꬙ õ;Al>¶ÎWGpÅRè„ I¸Ri„Ð~9UìžrðÓ]©žÁå’pü†‚)ŸÃº“ý)K\UløPz"&¬ Úæ% v»}EãÉ´1“3.ÎO3Y•6‚P¡q`<Ð\oN;m~5gM)~——AâcY0r ’LR&(eeÑ€3--8?ñãK¨ÿèt …„Ãõœ¾°l}IèÒ +tÖî ‚Ü2 é }:³7^ˆ“ˆ$h¶:8Hm) Nª¯ÇiA¤Ÿ¼5ó›ÌÌÌQ£F ><55• ˆ¸/¯r e6øýçpëgqùšR¸Dí‚M áÃwaÝÉð/º~CÁÙ)ñì9ÒR RÛ4 ‘ þÑÔÔ4qâļ¼¼‰'Ž1"ÞBç!=d·Š. 1°©^]ï+KŠÐâ O¥êoø:~ßÉ÷°ýA¢"wb(z+½jXË€Ýó”…¥œ&µ©hð™f>}Z­V÷ôôpQ¾¤bi§3fÔŠãÚ„OÁM9üýì3[”5a\S*Ø;ŽMB†°¥Ä”,„–Rh)…59òùý)9°)ìÆ¨9ÐBùU!_¡:IµÈ@èÕ•¼–&R­ŒŒbðY™ ¹Â¡$ -PEÁk°ñyí´ßoP2,‹¥Ð9 ”务ÑðAÄá5y{Ç“ðá)ÈÝçöëß…«×ÃÕëaÙ!y™8à0§ÅŠ`õtîdaÓ5 ¹îaýuw²¯Õ"rp?\¼?+s’Æ C`LØ à³2!w¹è³ ðš’ h;x9jWíЗý^i±]^­³ä€ï]uÓNÿgÙNhY%pš„ü†'BÉaÞ˜:û*hÉæ r7y$¥"—‰·¾ ›Já îߊ·¯Rð&ä”vRZ­o™&=@d%N¬7åUæ%V† ·ÕJ«ÕzN$µ®Ã8g;!øla±®R¯®Á¼/i¬)¦µÚ_2 BƒµPàl¬3YÝÏ—ùôã7ëOÞö»—Èe®t`?™÷û¶”~‹ÚE<6͆JCL$ÖD×V~À_$ëÁ6ø^èð1d‡í{æ¡_Vüüò¹²‰k‘¼¬¿’"†ÏÉ“p«-:DÒè`®õD €.ž·aþä~,¯vÞö3^šH"=Eq©J:N ‚ 1:ÇJ** Ø^òܹs'Ožìèè8uêTWW—ì‡w‰*F×MΜ9súôéS§NeffvvvöçNZZÚøñãGív»Qâ HSSSŸò«ÕjÅ ‹+­­,ð½Ée¬ÖCFcŽèÝ2—&u£ß~ÏðÕåUÐãE¥R 6 ' IdÄ"&ÌŽŒBPG¿ô Fr  Òl-§Œ¤R^eÖšœ¬…pšô`ÃQÐXq Á$w8€‹ÙÇ ( Ë:Œ$´ÚäÒXSÕf¶2ÀXÍm¼ !Ž£ÎU×›?E¡ƒ r|R&¼¸áÃÑŠœ«Õ à´òž da±Ž³Mæìü´ñj‘0L n™¿¹îµoû»¼Bä=ë4^^~±ÄAî—W‚$Þòê¿7Ï7Ü=5Aâ´¼z|W^j:‚àò A¡Gê¸qãp!…?4…€®J6rh蘢Õ(ÔXXimCq$AJ™ˆsFÚÛø1bĈ‘#GŽ=zìØ±#ä¼ÌQÓA†·«³o3h–íïêß ÖQ¸»=itDØ”?ç ÜÜ…‚HUß}ÞÌm7/´4XLë¸à£r‘IƒkvšÔjéa`¼TisÒšý«¹…‚$Ò¨£œ.Ù’…źÀ ¥ÁÅ·74Šú™T¨™*2€®¸ÅK•oBR3ãjB­’Æ CbLä:da±®N¯V«éêvQr{5­V«ÕjÙ(ƒÍ•ZÎï‚¶‚ÑÁ'ŽVÙç‘a:ÏÈëT‘¡¹R«V›œ25“FGE»–ï+A&ò¥eËôú¾WÌ@ ã8’,øé" ®tòñwô[®úüãG.ÇɂĞÏkWÙ®˜S¨°²D‹dA¢Ì•e¶ýùŠ1’QÓA$® ÐA$®ÈÄHFA# KJ…5>ŽÀØ·?fă°1’QÓA†dnÔ™­|Œ.#Å94_¦y{=ßïÐgE‚IÛP\UÀ}D79q–qy… ~‚Â’RŸK„…ÎF£ÎleBŸ ¬¸ó°hÕ˜Qî ÐA¿R"–4h-Ųlk•Ni¥%s–*24WVs> Õ•œuòä“a2ÇŽËI Ñ80Á±Ûíƒæ?·Ërë¤ÌÌÌdÚËAdäé§Ÿž4)õ‹5×ÿi,³v..¯‰û¶UïŸOß(5A¢Íå%»våMR8‰š‚ q…2$Q0¶‰J|¨ gYay…1’‘¡(qÌšV–%ƒ“ÎÇ"Ù¿}ŸÓ¤6k†îv #Aä䃣p;VÏ ŸXá¬Ó¤o« 9Œ•FSA:ÈP‡4:X–eË]’xêòqK#;+'r:âÿ"8~Š£‚Jã–†>+H²"‡4:,CÊ>ùÇ-+¦=¹Ké,†+E’ Wšø`¸RApy… Èà_^ýݦ/3bŒdAâÃÅóVîÏÏGMA\^!ÈÀ°?¯ÜN¾NS(žA¸¿x<ÁÉÈG§É N¢,l«†Öšœ¬…âã•l¬øÿ´êJƒµPg)œNŒ‘Œ Ê0VZ6E÷^õ?z)‚Ë+ €4:Ø¢F™µ’Ó¤Ö¶W8Œd¿£—"Š`¸R$iÀp¥‰Ýn?räȤ“;îY{ákŒe®\¸RÔt‰2Gü'Ì¿áF\^!&\< 67}ŒBAø1mʯΠE2‚ Ñæò’]·bŒdñ#µîëG¼.I"c¥#2 l:£{¡ÐA(A¬#²ø]ºªV–eY–µ~È7cŒddhÒ\©UW ^ ÑgZÌXimCq@hdÿYÆj®¨ Va¸PÊN“Z_Ç(‹ê“iÝ`cY‡DÒ×éª|Õp‡¢zD›&ÚUî0Š ˆtPN“ZßæËÙXÄõQtØO0F2‚„Ö5xÃÀ/‘\m lCN+ Íí‡Ä (W›®ªœN†®ŸËG$»¥ûZoÕ˜åô}*2€®¸ ¨‡qµAA.')‹ Ñ”/§…ë c¥ÍšÖXûr ÐAÀ%R«Æ,l#ã*|æ“FGE»–ßbÆ•Öj`Iß¼GzÙ;¡ÐƒL°ÂŽ-®I0\i a¬ô¨9o‘Ç+=¾E¿åêÏ?®¼\ny…ŸÌ Gtj:¶¬Ú¡·ZH\^!ò!¿ìñ›mÆ'•~¨é É„ÝnÇIH&N¾~Q:‰ïtd¥³³óĉ?üðÉ'Î;‡Wr‚0|øð±cÇfee3&##C¥R¡ÐA Çív÷ôô¸Ýn¼Œ‚ RSSSSSSRR‚ …‚ Éÿ°™(ýq0IEND®B`‚Amelia/vignettes/assets/output-log.png0000644000176200001440000007676314335240021017616 0ustar liggesusers‰PNG  IHDRº}ý pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFsIDATxÚìØO+DQÇñß¹s£±™ÀBãHRš²ò°³0ÃÒBÊRö¶lLIþ+%IÉÂFÉÌRD3ÉÔ0㱘²S³˜ñý®îâvn}z:çt™I’‰|äBI¶¸w…Ÿ,”¤¦h£mZ;ÈH’¶ï¤ôò¾V'¥ÁĈ†W2Jµ©WíJ¬ÃöMgkjNMèn~VÉénîÉ™™mÞ×´À‰¤¿­«tñõœ™Rri£ üR|GÇCG—y…’tÿPTúZÊôôi&·‹L=O93³B¡€„‡Ž¯ßª‹ÅШcù|^AÈ9)€Ã_s×Z÷ØNÍïV*Êf¯®ºÃWßžžžuss«×h 쳆0øûÀ®{`¯?ÇìÛÿø' #Ü"¼–{,ìý. ÀÀL 0 0 0À0ÀÀLL 0 0À0À0ÀÀL 0 0üÛw°ò Ü[ÀS=ŠDÅã­ûª\.3Á>33•J%IÒ'ÿÿì]=ha~îz5èPü(BqÓ©æ ºd¸É©ÅQ,âÐÁÕÍÕ!7:H» rØ©öG¡MEJï -­ &ÚÐfpùâ5×ëýç®Öú<Hîîý¾äýžï¹ç¾#ïI›››[ù|~iIÒTå;‹ÒeåÂùV¾6ž/Ÿcñá¼úôÀýΑ?Þƒ˜1Ü©NCÀ‹Ù^ß»/·Ç!}øº‰¹ï_ǃ©mfÑΊ×ð9wJ¿¢àîðÅÐàÑÅ_Ì` .ùÔï¬v |Ä,Še–ÒÓ\¸v Šc>RÃz @¥ÚN˜¥‚ˆCQ(”|ã %3R»†ãø§†H vS%³óroú®~Û¢ ^¯‹f³)*Õ†ÀÌJ3VpÇ'g#á¾^Úõû]FÂäîî•¦YŠ}¢êÖ±íε`¯ýA°cu Xs„Zºzä8Í'&JwZHÿ^5¨5Ç~UÕ#õ300€-(²Ì­î¤Ê<›ö¨Ã!IYe¶‹ è×Èp†ˆååobnuGÈç”à%7{‚X§[]Ø£nŽOû2ܯ­5ÍR!vŒ³pÙƒ‘q™g&‚ËXZßËL3“°6m§¥ÉQa3wi}OȹÌ-G`®sDý*IGeæ¡‹qbâô§Å½å‰À¼å0ëû©:ã„X“¥s fŸáb®Yßr­ÙÕT!D¨ö2À5¢º*!ì1InŠör#5NlÔ:îî6k6¤Jµ!Š·®ð’*%´ÛmXV ?q•w#²“{’Éukk9ÈŸ†œ1™\†'çtŸx¢´7Ì`Yø›O;¡æ1’A?uÕ{M’bh¯³ŸòD÷³{»ãýa¿ÿ˜ÆÓçÒçRs‰T}.‘¡Ï%ès©¹ô¹§Èç–'ºýúÅÒçÒçÔ\ú\ú\ú\ú\j.“Ëõ\ú\ú\‚š{ª}®Ÿ)øÜÉyþ³•>—šKŸ{z|®ßz.}.}.AÍ=£>—ÈÐçô¹Ô\ú\®çÒçÒçRs‰ž“ëåa£þ×—I®—‡µýn$á–¸hî›\õÏCRÆzÕ‡q¶kéê9NÔ-H’ä;t =â¬'Z­††òt YaaaÉÍ}}}üÿÿì±oÔVÇ¿ïìk(à ¤qJ Y2µ]º°uC "Uê€ú´HÊ„² uF °PÄ`¤Ò­™:€JÒÐ丄kÊpò%Ufpœ»sl|ǹóñùHIî¬;Ûïå÷¾þú÷žß3‹‹‹Uçñ«£T ä »\.™õçºøù§’¤›¿>¥f g|±ü›Œ¤À™à·ñtñÛ«úú¶çkKÒ‡#H’îÎüãñùãÛ¯ÿtëÖ‚N?©±1éB98Ä‚ôûϺ~ùO}3sG÷–¤ å‡ÒÒߺþÕšÖ9ý2s‡ÿtͳûw%I×Öý`ûñÊe­þôäùaÄ«ñ<Ï›~T£Æ ¶!xqlÄ’$Ýx.]:!]ÿRßÏÞ§† ï¨4^·+ï™Ã#Ô ä‚¿VMå5’N;H­@_²¼¼¬b±(cŒÿ³êo/HcÎdÛ,ÃA¿ÍŽþ›9¿o§Û޵`×Ûßëòx;wØá÷Î'LìS6¡ãuJø|Âû˜ØÍtõòçŸtš;-_qç±ÛóÛ 677µ±±±7Æß6<|ò¯>;{„&ýéq+•J%¹nC/^TõŸ=ÚT^Ûê]GPTcvB-½“?é4?תpSsÙ)Ú^$H:N”âÇ•7Í•ÀI©´á+jkyÒŒ«/•JZ[[Wµº"Ïód[ÙVÁWÞ™ÙW:?^¢‰C_Òh4´¶¶®J¥ª7o^kýàXSy“VGê¶ï›m)P’ÇuÂç¹KÏÚ§±‡Ý”¿U!}:^¯9`tÀÞRÞ'‹u;D‡\(ïÐá›Ê;”‘òf©i¼ìngj.;ÅnÍ<ìå }âqCå gë7äÁ;¾§|¾hÈ.h(PÞg+ }òå=4zº©¼ó/ÝT;wB­=ÜSç;l©Ì~ô~0¿âjþ¥ë+ïƒÇ5ñÔ%äEyk…QÉ0Òr Á ƒ¼QùÑÖ»T'Æ'æ=YYR€ç|ž(:Ê ÐS\×U½îj©R‘mYÛÊkS5ÐïÔëu‹EŸ>%cŒj ÿK"x! ˲¬vk؆éG5jrÇ[ÿÿìmˆuÇ¿ÿ¹Ý.{À$‚H.‹;í]/²yÄ QÑ %|ÜDg„¡/B¡ˆD§„8SBÌB_Y芘r"èiäÞéáãØ=™vû`þ{±;û0;³·;;»7³÷ý¼™ÛÿíüŸæ{{ßÿoó!¥É© a!nŽLˆ­±AŠ–„ŽH4B»KB)Ü–Ü‹¯¿„]‡/pVÈ´ñònìúöSH XË1‰üχž]œn4ÿ‰»§Q˺ڱ§ëºÖb}ÿGË»ÞǼ‚á¾Æ¢ÎyŽ`ÇOÀî5°ëºÚ±¾˻ڱ»ˆWxbrtÀ'GÿÂÏ?nÁõï7fd@´-£×Hk4š;áíמürb­¾Ú¤ÑcæÇû° œ‚øf;n¾øÚÚÞÀÞÏà7Q¼°iD½'†9ûÄ3×~?‰ ŸoÄ{+?|<ë ÖWWdD¼ïÔªg[¾…OýZö=o.|ûNÝà U³m廨¶ýK×ߟh]î3&£ $|‹3ë‡EOq6Hày$ªà蟣yáßøÀ!K8;$°<3gVñ'n&,¦hÁŽ«À*|Ìû€3E…¢ˆb»àéÇ8+$ðÌ~2Š“W&òŸ¸sžxÀY!ÁGftÈ|31{ölN Éd“““¹´ÆT*@ð^©ÐŒš:UíÝ6B3€¸^”›é2ý®µþ¸^[ûS©©@\Ïaø§JÇíËüWO:. ˆ¬r5¡"®«¹{»4ÕùXï€X_w¦¬Ìü©ªž¹¯ÍVŸ¡ ¬ž/ªo¯£RJOý²÷¦Å/–”ç^gë/;žrtô–”Õ¾õ‡hïGvrÊ6¡í·Dt±ZÕ—í·5n]Í_¯’þM1?¯€½#œ1¥6wvVô>tn–~Pi{¾pisñÑëù¦Ævc==±àŒ/‘Hȱ±19>>.ÇÇÇ¥išòÐÙ;R>wG¦ÿ“Xú2ož$Áô¸>Äää$’É"‘œ3¥Q~ÅïXOoU7ï8MíÚCk¬'-\»Äu†&2v£"ÿïdàï‘1\½z  Å èz¥È[V࡬÷«Yc×UÀÐrGljP5Wo¥«Îû?¨NƻޱÈk»íYC;¹ùÊÝÆëªÛ½[ѽfs™Ïƒây·¯*¾¾¶µKþ² »/VàÿkGQpìüˆgÛJ<—Í[ŒwôÅËOÑŽçñN—ç®±‰DBNLÜ•.Æåñã'¥išòØù)Ž_•w'Ðã’ÀzÜd2…[·MŒŽŒ¡½}†Æ#PZ”zú£‚- ö|3Üóu¾«¡Eþ ×÷+ŒWúî- ÍÕëYžÍ-®;UÜ·VÏkyëzy^«>UÕÝ;õŠH¸âô• y{"\«×M½bÚáåúUÔGU‡è­[;u™ƒ Æ5ÝVáÆ¿­ç†ïÊëc z\k&­·Çm”ç Ž—®¶ÊÂ[á]+8Z¹¬14Qz¬Ôã*> ×ÍÓùí%íñÙzyiË+yÖ:zH·¸v½Æ§:ä"8…¾íq\{ŽˆýoªëÝÑ;©*_¶+AQpéæ=ßâ¸~å$LKü±ÙÚiP»ð;Žnë§S÷ÒÍ{RÄoÝ—C·ïÓã’ÐxÜ»‡rÙ¼莻?D%ï‰TÍàžA\6ïû÷8)»xJ¾óÎz#{œµROT’Ï[…'"͇88hJ)~«°ø#©ŸU8}«™àGÑÎ(øäIBáBáBá ×· €ÊÙ'õ®ý»é’{•œö@éwðù ÀgŸx¦ê8î´çÁ’…oq\Š–pqF…K(\B(\B \·øª¡ h{wåö…rÀ1O¶Êý£tUs¬ßÚ“Ê¡CEå%÷8ÙÊíu[¯íã-,/<§h Ó‚ñæÊ=î—E¦àà éí;ÎûRvºîWs¸c£³ªÚc=RÆz*>#Öo_©}¼ÄûLMÙ<ù¸¤)iþ|\ÂÅ!.!.!.¡p«Ç-.Lˆ¯Âõ;·»O¢™fÄ#ÌÇ%†ù¸„— — —P¸„„I¸ÌÇ­o>®Û\Yåöñö³ÑÏä 4ÌÇm†ñ2—@Á|\ÂÅ!.!.¡p ¡pK)ÿ%Ä7áÖ#·£w-¯ñóqI a>.¡Ç%„Â%„Â%.!a.óq¹?n(`>.÷Çe>.!>Ã|\ÂÅ!.!.¡p ¡pqŒóâ§pýÎÇ%¤˜K óq =.!.!.¡p “p™¬ýq‰ ÌÇ Çx™Ë|\"˜K¸8#„Â%„Â%.!®Üo€4B¸¾çãvô`"9ñóqI a>.¡Ç%„Â%„Â%.!a.óq¹?n(`>.÷Çe>.!>Ã|\ÂÅ!.!.¡p ƒp MõsŒë™óT!2uÒèO\mé—V®[¾-€LnmO Ý}ùº²ç9åã ÍÈý¾¨CË•[ï·^ÛßOf6Šã U‡èåU!9BÇ¥h‰'« Ç«¯€û\‘i^œ ¬ž/òžÖÅS:z]C+.wxÖƒåYŸQPn÷´Eý°Î+8¿Ü³%t•Ïœ Ç †&°÷‰¾n^äfô¸‘fpwŸ5Û¤Ói¤’I¤¤seN :-- ÚÚæ¢­m.R©TéâŒPF *;wîD:¦pI˜¬B V­Z…ÖÖVz\‰DIYÄÚ˜æààÎ ÿÿÿìÝQŒ\UÇñßÙ-KE  D›Ø&„ðÂ>܉)ÔÓ’‚ Åsƒ¦ÕDyĘ@ `ÂL 1»1%&¨@ˆ•[¬Ö±j);C*¤ZØvw»¥¥»t»Ç‡;3{ï™;sçîÎîÎL¿Ÿ„lgæÌsï™ý³ùÏþÇlܸqÍÖï>~œKKëFoŒµÖ>¹ó ®,ƒŒ$e¹ãùû¿ª_=÷³=÷Ë_ü¦îzâ—AwÕÐPäÎ{n['IzfO¥~û™=•úϺWT醇´iÍÛúá³Ò¶|2rœŸßv·¾±ç7-'ó'•þ»A›Ö°ÐºÃÙ‰q>ð)ÔÜ~ÛÎ7õì¯G´ekPC]ûwþó7ÉH’‘dƒçºñ5#ICCÑÓžÛ÷IÒPèö=ÙµrÇþà=¼/#éSÊî¹KC_ú¶^<~»î¸ázñøí¨ŽÉޥܾçu𑵺å§bÇ4˜ÉhhHÒñ'uð†{u‹¤‘¿Jï<õ¤¹·~,X.G~ûtHDÔûdµekNÿäAIÒ–­9Ý÷þ?uäÙÈ#…¶q㫱ÖÚÿß’Nø‰[¿ ûü®#Çúþ­èÑð.°, ›>£Ç¾¾1峂?u¿÷ÔËÚVÚÛtÿðÚ{\YXI˜/2ÿìÍ×pU CŒ‘v> ºa§&ÃUè»tí5wJ’ÞýÛ£Õ·TþôF=vêe®$´á#—gÿÒ ›˜š Ýúpþþ­Õù·g4£‹š˜ú½ž~ûsúʱïH·=ÎU€&œ­#‚îªÈ'm=øç÷õµµ’ô’3 ÈhÕÐ&íÜøQýXRåŸrU ‰ÁÁhc­µáï®ßøñ+¸JÐ!W]‘Ñ«ÇN7ÿK÷×]ÎU€6ÍÌÌhrrRÃÃÃÁ_²¡t‚1F3ÓgÓ µ1¡z^@‡„ÓºRPÆIõ–‚í÷ ÙàÞ¬1R)§’¤\I*dƒíLÂÛ¸[ŸDn;ǫީÒü`*Õ×Y€È<?¿’óœ’BÛ .õù©T=¿Ü2^ßy9“­þ4MÇ—Z¬ÃüCÇl‡{~©U 2ÆÈ˜\Чd›žÃv<1×£ö×J®4?¾”[Øû³”ËFöxß«uþb¸{c¥Ý+«sî oãû5y†÷gÂõ‹{ÿô«ÙÙYŒŒh×®]‘ÎÏ&g­µv÷á“v÷á“vç¡1k­µå¼g%Yß÷¬ŸÏ[IÖ}ëå˶ú«à›È¶h­õ«ÿnv;r¼¢­«ý[’õ‹ÁO/_¶©•ƒ9zžW¿+üúó·ýúØ|9:Ï¥<¿Æé.ýõõCçn‹~0Þ÷­¼|ìøúõiq>až—Ü–¼–kãž_Z’¬B¯Ùôõb®{þµsŒ]¢ó¾°Öæ=E®ÏBæîåËÖýØóQèõj¿áÛIçë®ßbç«èÛbÃëÅ¿ÿÜë?_Ïö‹ééi{âÄ ;99i'''íéÓ§ëÿMMMÙ±±±zŒÝ}ø¤5ÖZûòAáîìEÛwû£ÀŠætgftxÌDsºÆTèÔ€´®¼òJÍÍÍéÂ…YMLœÖ̇3:sæ} _¶J×_m¤Vw ºÒ Y¹ ×rO•BV…JçsRîñë¹§j®ÊÍñU Y•r‘œ•“óJ›Ã*dMð¼J¡þ:ÑœXt.îü{1Ù*'íæè»ý|ÜgcŽ>Ýú.äüj¹ï…\ÿ¤÷{Üg áùwþ÷78~6´áÏ`âÖÇ#S}¼RÈFþÚ\.ssVsssš½8« ^³²Õê„3ÿŸ¬µvï‘q»÷Èx=§»:™CK:~-ÏèÞÎççóŽnŽ9<ŸØœ•“óJ“ÃÊ{^äxîñr”Îü{-™˜“vrô½“S•-Æä°S¯ïBßß¡|šëŸô~oõÃRüþÖžŸ/Û˜Ï`¼†õ™Ÿ×°žÅeÈ!OOOÛsçÎÙ©©3öÔ©qûï£{èпì+¯°²cccõ»÷ÈxÓÝtR’tvz–œ.¤Ìé^¼xQ³³uáÂOLjúü´>øà¼†‡WiÍšëTžÌDsºƒ†+K$cjw¬tàæ,[×6«»ìÖœŸ;¿¸_«:\7çÖNrø±vꀻ9çëæ°{-ç·þá÷o\Ž·“u·Ë±^Hºõ8k­µMكǦV,§ëÇæ`ZäüœºËnÏù¹ók•ã+¦Ê¹ÅÔ!»Ï/'×w{ηY¾Wr¾ ó«ßü3u°îv9rÚ—²vrºµ{ðØTÓ=üÎIÒ‰Ó3ät Ã9ÝwÏ_æätÉéÀ’¥ŒŒ¬l5§kŒM7åt“sv¥HÎ*Z'Øm9¯¤ºÚ^ÌQGsÌÑóssÈÝ_gk‚ñÕ{Ú:î^[¿†^nï„6z¡„ß¿îg çŸØk¤õg‹ý ÂýÝsëš“nw$èSý>D5§{ôÄY{ôÄÙîÉé¶‘³S“:®Ìy%ÔÕöZŽº!Ç>¿Ø:Õn?/Rç™ºŽ»—Ö/f}ÜÏLâ>C÷òhU§[Œù}Mê5’ôÇb?ƒ(úMæ©kNºí-*§[‹±GOœ rºo½wN’ôÖ{Ó€çtÏÌ­Žæt?œ¥ç,•pŒ¤ãçu|âüŠNª”MÊñD{!DsHn®±CgsFIÇssFõï쇚ͦéW  »?_³ÆZk_:ì‘f­V,½M_ÖŽM«×o¯ÎÉ*gŒF«ãŠÖjS(È­Õ ¡Ç­µª²Z¿}¿|ß“îܧÑÍF~Ñjt³‘—/kß¶uõç×R„·)u¼5Ú<ªTÇ3ÆH~QvdSäµçg³íÛ·w+Ðé…×N¨¾SD×]¸‚î— –Aº@Ðtà º­û·F¿[í~—]rúÁºßWë~±qß•w÷|jPʱúz3è–rFë·ïjO+í¯ÞÿP¡¢ÑÍF’§ÍÆÈ¬ß®M’ÖÝq·Œ1*U}ó¹ÍÆÈT7r¬}Hƽy³Woê~®ÿl‚’2“kû\³ÆÈ¤ìiÛö|T æÓîõqê“Ö§­=žÜõLZߘÇ[®¯3>q}cz'·¼žáã§]_`%Ykí®×Çì®×Çšî‘·ÇP+ž”rϲbd¨4û¥Ùw*Íñý”{®•ó^š]›Òí¡U߃«¸à= ZOZ_÷ñ¤õm<^ëõ{ýVëÛô|S¬/Ð)íì‘¶ëÐX=ÎR§ ‹@.ôEN@Ђ.€  }t{®Ÿ®ÒÕ@×Ý^ë§|ñÁhtÿvÞ–uº°Ôé@¿§] èAÐeA—~º‰è§Û|üŠ÷Ó og}cηíù¤]_\Zè§K?Ý~ï§7ÞWºã·ZߦçÛîú‚~º€öP§ }‘Ót€  è@ßÝ^ë§›£Ž@¯Ý^ë§+•4ÊÚXÔéÀ"P§ ýž^t€  ]@—]úé&¢Ÿnóñ+ÞOèôÓ¥Ÿn¿÷Óè§ }‚:]苜.€  ]Aú&èöR?ÝÔu¾ÐMA·×úé®Û¶O¥œÑþÑͼ,+êt`¨Ó€~O/º@Ђ. Ë‚.ýtÑO·ùøï§ßÎúÆœ/uÝèúéÒO·ßûéÆ÷•îøéÖôÓ¥Ÿ., êt /rº‚.t]è› ÛKýtS×í@7Ý^ë§«uÛ‚ŸÞM¼,+êt`¨Ó€~O/º@Ђ. Ë‚.ýtÑO·ùøï§ t úéÒO·ßûéôÓ€>A.ôEN@Ђ.€  ]tK¹lPëY­ótûÕJ Ú8*è—ëöÏë‡Û´·mõ±Úñ¤ >3[¨(WRl]j)gêÏ+T’ûéºý{ ÙlÜÂçS;^¶zŸ;Þ=~ã|²‰ç àW§+Ézù²µE¿V„©‹ôÃušÕÇlÑ·^¾l%ÙrÞ³’¬ï{Ö/FÇ›ÕÐÖ¯/_®ÕƒúÍënkušÎü$Y¿:˜:Úð||·î´z<ÏóbÇÇ_qu£¡óõ›œ;êtù?´‰:]赜®äRkß­oÜó¬1géæ/#·cr¼îØB%œ{Žws§qÂ9Y7‡›´gZ\n6ü|7g›”Ãmv¼ðü³¡>q{Ƶ¾žMö–л9Ý|ÙÉu†r¶­r¢q·Ýo\~6œ#uÇç=µìUÐ,'›ÏÏÏÙÍÁ†5ßy~«œm\×=^óÛñóMºžµ~ Eç3Èé9ÝPN7Ã%€ÅÙ±c‡Æ'Æî¿úª«µfÍu‘ûº°H6lÐðð°$E¾s`ŒÑÌÌ A–ÂììläöªU«ÆP2‹ì\b444T¿/üoþÒ€Z½zu=­É´«)¨Z¨ÙõúI® tZ5Î’^€eôöî>¸‘ó¾ø÷Ÿt™Ž3®'‰mű#’ÒôÄyqGÆÆsnªº\Ú^&‘¢ŒÃAÆ/À¤™–ø£öĶìI,ÉŽæüv¦'tÒ’ã8uÏJ{µ# G) ´<ÎѦD²òW©ö¬»ãñÎGê^øöô}Áî³ ì>$¼ïg†C‚ûì³Ï>ðÃÞÞ?ٸ̕œ"¢öÛÚÚB2™333oè»pá O}ïÊ»9-DD{J>2ùgïå6$9DD{ë§~å^ô% \"¢¸¹%Ñ—HðÿÒˆˆ:áÆ¶@_BÎQoyù9¤Þ÷KÚûÍ~ë»øÑ;Í÷»m‰¾d2x¥û¡_ÿg¾Ç_ùæ÷Ýß;?Ý îûÕwcmáL#¿KXÛ <9_öéì÷‹øú5|}}èK6¹¥ûÕ™ºûsÀCèÇWgê¾ÿqûÝ<ˆÿ>s•?ìGúD]éáïQ¹pé·µ:›?ûÀƒøèÌI®2u­õÛØ¼qÒWßöáQÀØ} ð§Ÿœÿ¯&„'o­ß†_ol}‰døíõ÷'Ÿ=‡‡Þ/N>{ÎúÅ…I|òÙ¯!àèø7Q¾ pá¡ð±g¿†/½ÿsxÀÑgÿåç_ÁÔÇÁÿxö¾ôþ°6çœq6Ž{a¿óÐ#¸ÿø9|ì>à3ï¿øOŸÁûR¿ÌÛøD ¢ÎØÞÜÄÆÍ›¢qa{âãŸ@îóá£ü 6660ñ©Oã7Þù&ï….¶77qôƶ ¿Òý«ê+Hø-ãø«ê+îwç÷V„H$’öã$"  ™°¾ç«ÿ ?wþ_"™ø;$Þþ‰SÏOÜwÿáùàïžC_2§!ð‡ÉÉú’ Ì>ÿü{ã›xŸña\mã]g†_æó€ˆ:ä—/ÎâÒߟÖÞï§üÌýLÊ÷»¿¸ûŸ /‘¿§ûÔ™WÛT Ǫ3¹»tà—ñ¿bø=üõ¦¸Qç¼ôê5¼ç7O{¿ï-Ôx‹?^ÝÚD廯±Ð QÅaþEQ§ll+Ÿqÿ»ßì+hNDD»ó· ËîÏ[R º›ÛXߨæ,íÐÝØÆ›O³üø›ãË~õч?†¿^þ#Lüß"÷ œ8"¢]Ý77±|õ¦ûøÞ‹…ÚßX~ç),_}¯_¿‰å«œ8"¢]]+µ«ñkßÁðÀ?Ń~øÈñÇç>ŽD"Ï ||nš|_ùýwr‰ˆšÚjt¤'oWà_àû/O> dB@$jx’ ¯~˜÷ˆˆv|¥›H$L&=AîcççD"‰¯ýÃ?Gÿ; øÐÿDý ÿš³HD“8=ÉM{ï;Þˆ¯npVˆˆÚäì•îϟߺK¹ÒUîéQ{ù‚.¶oà‡9)DD º§NB6›å¬Åtþüy>|ØŸùeöd؃>Öì""Ú[Âw¥Ë¨KDÔ±¨Û¶ÿ53̺Þ•|ÇÎ×4”cÕMTòFÇÎϨ䑯tp~Cä 3Þü¨ÇVÆ_ÉwöÚØÍÄÅ8ÿ=¿=¿†}|g)ñ¨ÏEÝçfÔúi· Ï׽쯛mmmá‹_ü"¶¶¶š¶I;{_FÎÜä+V€ÊW!ò¨›†ïI#Z<‰½AÂןósÆ»(†{œ½˜ìq:ÇŒŸ™]Bºô°€÷úü†‘†p,ݹùõ®¦Õ´‚‰XíƒÛÕñ§KeÄ~9?m! óôhÌOðümÂ>ÁÀ|TòÖÜÛoœnûí§JhÃ{¦ö¹ït¼êz»¯+;¸«ÏϨùSû;È÷ñÇÇàà ¦§§}×c‡Â}’žUž ¥4€Ü1wûh¿õ“¬ŽÆ¹ä ô žŸ«åaˆ‚u]uÓÚ¯4öø ³"ã¾èöúüJ² ô"ÝÁùml>e÷—F*Nû°ñùÆoõµT‹¿DþóÓW•RJœÚI œ?0…,PÉC–ÒMçCVGtÉ:¾³ »pô)£åsÄz*-Çž¯]ŽW]ïêàqÀ`µòüŒž¿àóçàúÄ'>L&ƒûï¿?äþ‚cŸyñ²|æÅËòé/ËÉÉI)¥”$’d È•%Y+¦d®,e1»MNJY¶nöØßŸ£˜²~®íß—s¾í:RöñRÅšÛ·÷øNße·mÊ?Î=<¿0{?¿åƹ»Û!söö@{Ïü4;ŸZÑ÷°œƒ´§>|m”óÓåÌGœã5ŸŸÆùK)%<ñŸoc§‰óxC—å\cìH¿sæÞù <Ž<ßfë·³ñ6Îæëþü Î_Øœ´<ŸóÃþP^¹rE^½zÕýºvíš¼víš¼~ýº<=I:qöÈÜu)žyñ²ûiçÏ<ÕÑ”1³´á"¦!P˜d—U`o×ùuÃ0Qõ\…"ª,uîø>Þ¾Ï÷>Ÿ¯“þÔ®××A[¿¨”±o½|Ë­ióÈÆ!ˆ¿]hÝþãSÌÓ%"jsÐíKZ?·~(ü?Òˆˆ(žoûÛ¸ûî»qèÐ!¼á oÀææ6nß^ǵk?ÆÓO?­ÞÑEŸüX4"¢¹|ù2¤”ØØØÄææ&VV®b}}++WñÚÅ×Ðß@ˆFö‚€•¬{ÊÜ´;/P7²×ó÷:¯hOÞq7Ï~rR·öëùÞnîñë¦ûÝ»&êú¨)rÎc£ƒyÙRJloockk›››X_ßðÝOÀ›2&¬âåbï/8©[B¡“¨KÍ Œêßy²º¿ùÖ¡I§ódÑÍKtgWûWǘŸÏ+Uó<Õ¼ën?_ÞjH^²îúê*NYÿ©¹ðhüùñ/êùÈWÆßî×/0aݵÓ@}yõaë{rB7År¶0¡üg﾿1zbl"!„ýµ?*v¾$ e@»ó •þë¦Ûyødèþ¹rôÿ¬úò8}yŒúy‰ÅšµßTq!´Ÿ&ãïݼR%Ï3wÝíçÌ«Vó’µÖwÜœéáÁíßúùž7Þû_¿@Îw•¨æÕ«ë3Zµò¸óö›GªX‹™ãÞɠ뉱ÏþŸ+Òùròt;ÍÉûkG^dœþS{œrsI¡æ ûò Ãó½yŒºy‰¹\Ê“g¬öÌ;M5ÙÞy¥ÑyÆjÞ5º÷|RÅð¼ï6ÖÇíH=ß;\œ<]'Æ™».Å÷^ù±›Ïò½™ÿÅ<ÝüóQ#ð æåîå|õÂîä|*yÌDo<˜÷ÛZœ<ÝŸyã!ÀèŠèÆÛ ½Gç yór÷r¾zawr>éRï<pÛ{{¡/Á”1"¢=º8Û'œ"¢½ä³‰BX5÷‘N^æAÍcíJ§âúíO<ˆ xùŠ?S)éõ¸-WºhÄØ„öGItÑ]ÝãäéþÂO|ôGÛö=]Ñ]÷t{-—õ ½ y><_¾ÖÛ;Ÿ¾{ºÏ¨d¾.ÑÞnŒí[ßܶ)9/DD{ gÄù+7q~ÅúÚ/qòn.®M§æF¶ÉÌ›ô”Jžÿê :H¼1¶+ÿ-*Ï1·§ä ªy‡j^©š×Ûî<À¨þÔ<@‘¯ t´±=]*³þ)ÑÕ}A72O2×>rÏê\„†Ôßõ×Ï%":`A×­'›¯À(XŸÌ0‘q¯V—ŽB ‹)ÀBƪwkÕ·Uêé*õpƒÛ•úºJýÝ`ýÜãÝá'EíT_;:ñ}„rIú¾…|®}UýÈåt Òó1Dzåöt`»¯¿trÔé§=^"¢^¿½àÕ ŸkODt`‚.1è1è1èƒ.ƒ.1è1è1èƒ.ÑtuëÏZm+-K3úú· Ïè#oÆ/VcĈ­nÐÙ£â;ïxó  mó£®Ó¾Yÿöë«nZßfã‰;þ¨õ ŒGs}‰º>èêÖŸuJ-ÆÝMV!„p÷‹´JG54‘ñT)‹–]FFÄ}H[‘:öøsöxtËúÎŽÇZŸâ”UñgáQ3Vû¨õU·G­o ÿˆõUÛG­o`¼šëKtàn/ÔMf]'¢X•Ãò1K-j¿ H«èΩ˜ýÏ. YEz²Fìc˜Ù¥Øm‡jÖxâ^˪Ds©¡Xí—jöÃàúu™éùKrúëkrrR†`}¥Š2R­è¶Ï•e,9»½2U¬Åj[Léö_Ö¿”R¯­}¾esm5~u}¢ÎWmµ¾¾í1ÖWí/§9þ¨õÕ=_¢½466&×ÖÖäÊÊUyñâe¹¸ø’>Ž‘‘¬¯o`ccËËWpëÖm¬®®bqiýÆvŒ}ló.f/õü=]""bÐ%"bÐ%"bÐ%""]""]""bÐ%"bÐ%"bÐ%""]""ÝætjáªL#¿«í;küz¿DDÝ{¥[7‘¯BäQ7­ÒˆBXAÓ°¿;Á®Y vba« ,ªÝ(–í¯Iÿºõ~‰ˆºúöB) wÌ}\¬•SÅ…{WpVç¢ÙS<¼<|+—"vÑ­KDÔEAWÙ€õ1*ëãh&2îÕêÒqBd1XÈa`¶0}žÊÿi¬í²½Ò8žÈý£0„€§ŽUQ7íý*y·5HfQ¼½@D×׎N¬ºÒÎe®ô}2 ³þ6Uo{H— e)¼¿Àöt`»¯¿trÔé'䊷Òi@Dtn/xVe0ˆ1èƒ.ƒ.1è1èƒ.ƒ.ƒ.1è1èÑnƒ®ÈW´êåêÖ«uJ2ê#ošñÇ£YÙ¦nÐÙ£â;ïxó  mó£®Ó¾Yÿöë«nZßfã‰;þ¨õ Œ'b"ÕöQë«¶Zß°ùÔY_bÐ š…guëÕÊê „î~q‚V鍯€&2ž*eѲKÃȸïië•{ü9{<ºõ|g Çc­OqÊ*è³ð¨«}ÔúªÛ£Ö7ÐÄúªí£Ö70ÞˆõUÛG­¯Ú>j}Õö;]_bÐÝ1ýzµVå°¼ïêUûM@ZEwNÅìvaÈ*Ò“5bÃÌ.Ån;T³Æ÷ÊXV­ šK Åj¿T³×·û×—î0Óó—äô Ö×ää¤ ÀúJe¤ZÑmŸ+ËXrv{dªX‹Õ¶˜Òí¿¬5~)¥^[û|ËçÚjüêúD¯Ú>j}}Ûc¬¯Ú_NsüQë»ÛóZß°ñ´Zßfç[–t'“kkkre媼xñ²\\|Iž93/gfž“'ž8!O{b쑹ëRLÏ_’°j…ãÕ¹2²Ù,߉ˆˆbÇÈÈÖ×7°±±‰åå+¸uë6VWW±¸4~ã;Æ>¶y³ˆˆzþž.1è1è1èƒ.ƒ.1è1è1èƒ.ƒns»©¨dù]m×µ“ú½DDÝy¥[7‘¯BäQ7­ÒyBXAÓ°¿;Å›=§.j«"ÐÁ¢Ú`ê¯Iÿºõ{‰ˆºúöB) wÌ}\¬•SÅ…{WpVçÔS\º<|+—"vÒ«ïJDÔUAWÙ€õ±%ëãJ&2îÕêÒqBd1XÈa`¶0}žÊÿi¬í²½Ò8žÈý£0„€§ŽUQ7íý*y·UÞn_²‹ƒuJ_;:±ê8;—¹Ò÷}È(ÌúÛT½í ]‚”¥ðþÛÓí¾þÒUÈQ§Ÿð+Þ’”(qí‰è Ü^ð­Ê`%"bÐ%""]""]""bÐ%"bÐ%""]""]""]""bÐ%"bÐ%"¢Ý]‘¯hÕžµÚVZ–fôõ¿ƒú¶y3~…0#î@luÓ€ÎßyÇ›Om›u}œöÍú´X_u{Ôú6OÜñG­o`<šëKÔõAW–ÒZ:¥ãî¦[ßVä+(ÕÐDÆS¥,Zvi!÷= mEêØãÏÙãÑœVÌŽÇZŸâ”UñgáQ3Vû¨õU·G­o ÿˆõUÛG­o`¼šëKtàn/ÔMf]'¢èÕ·Õ~VÑS1ûŸ]²ŠôdØÇ0³K±ÛÕ¬ñĽ2–v Ê\j(Vû¥šýÃ𠸾D]fzþ’œ~Áúšœœ”aX_©¢ŒT+ºíseKÎn¯€Lk±ÚSºý—µÆ/¥ÔkkŸoYã\[_]Ÿ¨óUÛG­¯o{ŒõUûËiŽ?j}uÏ—h/ɵµ5¹²rU^¼xY..¾$Ïœ™—33ÏÉOœ§=1öÈÜu)¦ç/IXµÂñê\Ùl–ïDDD1cddëëØØØÄòòܺu«««X\šG¿ñ„cÛ¼‹Ù DD=O—ˆˆt‰ˆt‰ˆt‰ˆˆA—ˆˆA—ˆˆt‰ˆt‰ˆt‰ˆˆA—ˆˆA·9Z¸*ÓÈïjûNèÔã%"êÞ+ݺ‰|"ºi•F š†ýÝ©9Ý,P;uQ[Õ¦ÕnËv×¢h¶V=^"¢n¾½PJÈsk%ÀTq!ÆÞœÕ¹hö/ŸäÊ¥–»èÖk%"ꪠ+„ÀlaÀú•‚õq4÷jué¸!²˜,d„00[Œ> Oåÿ4 Öö‰ŒÙ^iOäþQB@SǪ¨›ö~•¼Ûè˜ »º%BD´}íèĪ+í\æJß÷!C 0ëoSõ¶€t R–Âû lO¶ûúKW!G~JñÆLDÔË·¼F«’Žˆ¨SA—ˆˆt‰ˆt‰ˆt‰ˆˆA—ˆˆA—ˆˆt‰ˆt‰ˆt‰ˆˆA—ˆèN º"_Ñ*cµ­´,Íèëß.ɨs z¸FÜØê¦=*¾óŽ7ŸÚ6?êú8í›õh±¾êö¨õm6ž¸ãZßÀx"&Rmµ¾j{Ýõ%ÚuÐÕ-…è”ZŒ»›¬Báî'hiÕÃÈxª”EË. ##â¾ÆÒÖ+9öøsöxt+LÎŽÇZŸâ”UñgáQ3Vû¨õU·G­o ÿˆõUÛG­o`¼ë«¶Z_µ½îúuüöBÝ4`Öu"ŠU9,oÄ»zÕ~VÑS1ûŸ]²ŠôdØÇ0³K±ÛÕ¬ñĽr’U+ˆæRC±Ú/Õì†Áõíüúµ4=IN¿`}MNNÊ0¬¯TQFªÝö¹²Œ%g·×@¦ŠµXm‹)ÝþËZã—R굵Ϸ¬q®­Æ¯®OÔùªí£Ö×·=Æúªýå4ǵ¾»=ߨõ ÎúÒellL®­­É••«òâÅËrqñ%yæÌ¼œ™yNžxâ„<퉱Gæ®K1=IªŽWçÊÈf³|'""Ši||###X_ßÀÆÆ&–—¯àÖ­ÛX]]ÅâÒ<ú ìûØæ]Ì^ "êù{ºDDÄ KDÄ KDÄ KDD ºDD ºDDÄ KDÄ KDÄ KDD ºDD ºÍí¦Ö¨iäwµ]{¬šõu‰ˆº÷J·n"_„È£nZ¥ó„°‚¦awb^³@í„ÄV±1XT»Q,Û=^³7ÍúºDD]}{¡”;æ>.ÖJ€©âBŒ½+8«sÑì).]> È•K-wÑ­¿JDÔUAWÙ€õ1'ëãh&2îÕêÒqBd1XÈa`¶0}ž+Ï4 Öö‰ŒÙ^iOäþQB@SǪ¨›ö~•¼Ûðv…Õ¾d'"ꔾvtbÕ}v.s¥ïû!P˜õ·©zÛ@º)Káý¶§Û}ý¥«£N?áW¼£U †[":0·Ô¢DD ºDDÄ KDÄ KDD ºDD ºDDÄ KDÄ KDÄ KDD ºDD ºDD´Û +ò­z¹VÛ â–­uJ2ê#oƯ¦[?·nZe+¾óŽ7ŸÚ6?êú8í›õh±¾êö¨õm6ž¸ãZßÀxX™ZЕ¥´V§N©Å¸»Éê „î~q‚V鍯€4ëçf—†‘qßÒV¤Ž=þœ=ÍiÅláx¬õ)NYå|5cµZ_u{ÔúúX_µ}ÔúÆËúÈt§ß^¨›̺ND±*‡åcÖ·Õ~ЬŸ;»0déɱaf—b·ªYã‰{e,픹ÔP¬öK5û‡áAp}‰ºÌôü%9ý‚õ599)ð¾RE©VtÛçÊ2–œÝ^™*Öbµ-¦tû/k_J©×Ö>߲ƹ¶¿º>Qç«¶Z_ßöë«ö—ÓÔúêž/Ñ^“kkkre媼xñ²\\|Iž93/gfž“'ž8!O{b쑹ëRLÏ_’°j…ãÕ¹2²Ù,߉ˆˆbÇÈÈÖ×7°±±‰åå+¸uë6VWW±¸4~ã;Æ>¶y³ˆˆzþž.1è1è1èƒ.ƒ.1è1è1èƒ.Ñt #oo_Õ¦Vµœm†auÓ­7댃ˆè@ݧJ¾Z²NPtŠQ£’·~®äº‰|"ºi•BtêšÆ­-=[€0LTí†òØ)Tò6iïe!ŒÐñ ‘÷sg»½Ÿsn¡ç㌻nºû©íÕþÕñú'"Šº½pô)»–¬§8wyø¤»]VGt €]Ì:wÌÞRÁÙºÞ RÅš[3€ÕoI6i]që­JY _®\òí1…,PÉÛûUàÔÒöÓ=ŸºiOÿ¨{<µ½¿e®SÏÕ;>§?YÎùj¬ÂSüÕÙßO9PÖéÏ©çêmÖ¿:ÿΜåXx”ˆõtYO7Œifa}zQ ¬§Û£UÉ€KD½§KDD ºDD0èÖMTò†VGq?Ù6LþNûì캩=Ÿ»™_"êò kf—.=ì57Nª7HDåíNdüù¶jû@ž°*,ÏÖ»Ÿ’WÛl¬Nÿý•<ܨ¼\µ¿¨ñ«Ç‹MþñÑÁº…Ù ‘qƒ‹š‡«—‡·›+W[¶wòp[ñæ û/µÜ·uÿÁ<ܨ¼\µ¿8ã×Q<¬–ø &ê5jž®›'ëͯUòp›å¹†?VóvÃót½y¯j{§¿rh–\³<Û”;f„äíz©ý§”ã7ËÃm–—«ö×챓;œj™×žçìÏûe0ótiÏ;éimDûO7O·SÖ{l‰zƒ.Ñ.mnnacc››[X_¿õõÛØÚÞbÐ%"j·÷¼ç=øÊ_þEè¶ÁAl3èµÏ=÷܃ÁÁA$d0çÿ]‰¾õò-_{þEQ1èuo/µÁÖÖ–/³(‘Høn90èµÙ—¿üe¼éMo½÷Þ‹¡¡¡Ð6¼½@D´KBôõõ!›Íâ­o}+†††L&CÛòJ—ˆh—’É$„H$¸ï¾û|Á˜A—ˆ¨ÍÔ{·aÁ64è²î‘¾›7oÆnÛ'«†€é.söˆˆ´Šlá$5\×ùiDDÄ KDÔAÿŸ½ûr,½ë;ÿyªzÆÍ,C;&‹ídÖ ªØ"à=‰uÍññB~¨;—Ùé‚à¤Ê ±nXPåÆY¶â\3{ìætcŒ£>,5½»v',Lé®iˆÒW} ØÍtŠJ"`÷yî#}tKõ•yë[ßúŽ÷¼ç=~îܹÿök¿ÿ4#€#+ùö¿¦?üê_¼yá-ý±±ÖêbþÆs’N148^÷Öo׉;wîØ^%€£êNM:qòäIMOFÇÆËµFÝ…é©iF»bo}E¿ù O_ýÃ?Ø·}¾þ-]ßû£™×½aàý^¬6‚î  d@/ÿ÷§µþ›ŸÒËtcßöùÀ›ÿ†æ¿÷‡´ô©üÀûݵÍ+ºÓÃ?£ûÃïœzŸÿ¹í®û‡ÖåóÿZïùWŸnýsæýWô¡‡:$S÷Ûú¿Þùq½áÿý´þÁ8‘z©îì¨Z.Gؼ†Ú(jûŸþè¦~£ôTkó÷%¾Eïzó·öýy?¶±¿QòëËÕ]~táÓ¿õ'=þƒïøv}ú·þDÓÿß·wË_’ÿþÿE_Yü}ê·mÿø+éƒï,é~kUß9°'ëÞñq½áßÿ¥Æ ¡ƒÚ1š’ÑÔÔ´¦ù[=€ÞA·\Våå—e[áÖHƶ“©‘jwïJ’.ÿÒ'Z[øG?ªË¿ô ¥Cÿ®Ý½«Ê+/7ÖÌÉ’ŒŒl=è6Bõ°üÚþŒîIî?^ýÓ®ÐúðÛßÙöðÛߤÿxõOõðÛߤéé©Ö¿»<ù¸®éƒú±äT´Í¿ú½JÎ}X_øÝGõÝçq]|ûÇô†Oý²Î¾±JÛÿž’‘d¦¦TÿvãÇuñíÿTWæ>¨ý»ªÿñÉ5ý?ôkJ~ê—uö»i'¬ß¶ú¾ô3ªôߑԵ¯ö¶¯]þ_õcÿVzokßÇËÓ[OèOÿÃ¥÷ùöÆí‘ùï×ßðýüÇ>¬Ÿÿ؇õôÓOëû±­¿ùÊWô¾—¿$=#m}qðþÞôƒõ`6,¿¾T³£ÝNï~[ý#¿ríKšý»~›mölû¡ïÕÛÍ;ô™ßùý‹·…~þåÏéÚæëœ3¥iÕ¿>¾4Ãÿîµí»õÏ>ø#zÃt£ýïøi=ùÕ)M?´›vÂúlûòŸéÏÕ죤‡~D ó?­ßùꔦ§þLþÿF?ÞØö†ôãú{ÿöc}Ú8úÌô´^õê×ôÙZ¿6[˜z¾h^«<úúaI/¼ð‚>ð“ÕGý }äÑŸ$}à'?ª¿eŸQ²vkèþFɯ»þèBÓ÷ÿíúåÉ_ýü“‘+²¿úù'[Ûßý¶‡º¶‡sý»~áIéÚô®·}²õÓ¿Ÿ}Rý|ó_ß§÷g¯è] é%éÝïÑß—45=­é©ïÓÛÞý^ýÔÂCúÅwÿ?úOÿjZFÒW~éô¿ò…V[ïÛnÛyg¨Ó2ú‚~±ù8Ioþ—Wõ‘zŸ>úË¿ ¼í!­J’¾[ÿü—ŸÔûß(IïÓGäzW#ô¿ù_~HµöÅBÇÏýßtJüåoUûƒ¹Í€+5?€pßK'¥WêaV’þö7”õ©¬ÿïÃÖç_yUëQ÷=ðzà8¡Î.Ôó²iío”üúJM2ÖZûk_¸yćø?ëãoÍê¯üʯêûÿÊáéÕ}½>Tú)]üÅ÷é[Yà˜Éþƒ·ë“Ÿþ˜žúí_—l#‹ÚHDm|^·‚­•1’ ÙVˆ>°þ©Üp\®û–wü=½çLËÿÿÕ}[{Õ7Öƒnþúט)ìÊWŸø¢~íÿü^üú3û¶Ïo|Íkõÿ÷éõóo ¼ßǧA÷³O<ÅLàØøû ƒ¿0âï~Çë%ZWþkï?^»Û,/ÖO¥ZS¥jA:'¦»ïÀ [­Z•wªŒ"sÿôÞƒîÝJM/ß©ôÙúëúÀ·|D‰Ïÿ¦Þ÷&q`÷¦§Æ¸¢ûÊŠž½]îƒUVU¯¼PÖ³·Ã?ÿ ýÔÌ}Ûo|Vÿ䡎û|éßéßOê÷%IKúDñgõ=ÌöàÄ8A×L™ß:Ñøæ°éÎoý ÿ<ôÿO~B?Ü ¹’tI?úÁ¨?|äï2KØ53NÐ2fÀ%a##ijÊt|ëWøç¡ÿhF³’ôÁëúô?û6fc™2ƒƒ®±ÖÚ_¿Ñ»,Ãÿü?ÒsÏï0Š8t^ýM÷ëwÿìvÏmVOùè‚1šššbpè3ÆG®ýÎ F‡ÖôëþêÞ‚îSOn2zˆÝÒÒ’Êå²nݺ¥'Nèþûïïú$1FÖÚ®+·ÆctçÎ]¿©½Ýf'€£æ„$õút_ü €£ ß'u§Z[;oû¬ä9­ËÐŽWê{?ß¼}Tžã(†fŽ_ncl12ŽwüæÏwëûwýV_œ}œàý>þ‘æ{ó<àÀÉ“³ŸýÙÿ'09á5f\ùæQΟ˜ÿƒ|vs£ë.¼ãµ¶7ïÓ¹½uîö›»aÛïA>Ðç×#ß?Œ¥Z­ªR©¨Z­Oº=²ìÔ®O¤Îóæ¼ã4”+¿ußÐBç AÇ“p"ÈZ«b690Hœ¹¸Ëþõ IF[+2‰î¾¹~¸­ÑÂp䉳ã6úb ‡QGžçöç^ã×õ":IRJ¹ÆØ¦óVveëxÍŸ$ÍœVRRz>¥Ä윤¤Î&Žåù;†Ì¯çô ŠÑñmÞÇ4æcÔ¹wüS9«|:©]qýúZ,f•LfeƒLk{¶hdµšWº±]©œ¬mß§kî†mýMRõw€ã;t}·úß~½lí³ÙÇ!ÏŸcŸÞp¤î£>ªŸû¹ŸÓ'?ùIݽ{wxàíd­µWnÜêº}ö‰§ìc=f[ŠY›¬¢¡uKçCÛ’ÙúÿçÓV Ål²~Ÿ­ßÒ6o£ŠÙ¤Mf‹¶Ÿ¾Ûõ¯ë~Ýû¶‘´ºÐ³Oêy|x,‘ý6ǯ×qŽ8~ÙdŸãꘗú?áü ããpþö™Û®6;Ï©ÚxþŒÓ¿È>öö¸‘×O¯ù›ôúa½Åw¨=ΟQæßæm:t¾f“Ïq£Ìo¯ýDÚ¼6&9þùtãxšÇÝqü­íáþv<çvßÇîjû¸®¿ß]÷?|®Œòü9öù‡£ìÎ;öË_þ²½yó¦}æ™gì³Ï>koݺeögÖ>öØcö3ŸùŒ½råŠ}üñÇíÕ«Wíç>÷9{ëÖ-{ûömûüóÏÛ§žzÊ~ö‰§ì•OueÙw|ñy;ÚGJžœ%)h^­(f•ÜMšNd´’–’ÙbèŠGŒïŒwӿĬæú½ëÙÒŠµ²vE[3£¿Ûm^Íëu 2‰‘ÆgA—#W7.ö0~›Ú.…ß!7ßñúrWOËæR‘« §WGüܘ¿ØÚ?ÔÇï·¯ZF®8ÍknùBägþ…evÝ~ŸógÜñ õ«Ôé™á¿~ÜOc¯ßƧðóEi{sÿŽoØü·~«3¯uÇ“ç8Ò¥Žßh9¿ž³ªÓÅÐØå¥3#gãùÍA0+w&zü3§¥å ~hÉ­êâÜìÐ+¡ƒ¡kûØóÛïùûï™ §m§þgû|»íaÏŸ±=¿Œþñ~'NœÐ{ßû^½ë]ïÒ÷|Ï÷è­o}«¾ó;¿Ssssú®ïú.Ýwß}=>º`zfYc­µ¿¹ùt÷%ãšÕÍëùãYuÁweÖç#Áï°)yŽ–t)Ö'"æ;mFëóVý¦ÍsŒ./í9Üï^ÇüÖŸ›#!—ùÁâ*/6=Õýf¾ûªzÐýÏ=‚nå8]› {¢GÐý黯jÔÑ5 4öß×¾ö5}éK_Ò3Ï<Óµ­_Ð}õ«_­D"¡7¾ñ”eut©¤ €ý÷{¿÷{­OXkU­ÖT³5ÙšÕ‹/¾¤jµªj­¦j¥ªWî¼¢çŸA¯>õMúíÿò¸Î=|Ný³l£¼˜1Ý72÷zÀ#rüûS'wÿé¨×)µÎ1ósoב=Èõ™— ýÁÔq|~Ú‘Òná[½éà:õ#®ŸÈ>\Wn£¾åáŽalk­jµš*•zY±ÊÝŠvvîêåW^ÑK/½¬_xQ/¼ð¢^~éU÷ ë—e º=^0š'Qç—Ú:†{éh±5û×|ní÷ÂéºnïÅ:BÈuG©Ã8Á:‰õ¾µk÷ª¡<¬ŽãÐ:§Æ”öòü;òuJ5¼Îñð:ÆCê\3?㦼ÞuVG¨“¼_ëw’Ïï¾ëhãl¨:Âùm91†ÝAÇÇóû°:¹£<¿æ×ßL`•M¦•o<‡´*HäRX§~ÄõSò]^U¥Èå” 2­ç®ö>ëÖÚúÚÅ.‚®ü‹Ñ:âÊu<¥r¡Ò'AF™ ü¥¾¶Âõj sZÙÏ-‘Q`±žÊÉÚhßö¿äÉq}e‚hi¹õ'’æB ¿pÚ|:ŠÙ¤4Ÿ‹”·Ym.æFßšOÍû„ÿº>´Ûl—»i,øÖãç4Û¬H3;W_ØÍ1xüã©?‰´5:>èìF»|ÐÀþ RCÆ”öüü“¤³¹ú ðqüÆ­Æ©Öð.Ï´_ÈKžg[¹ð¹¡M%³á¿àf~Æ ¹åÀTX®¡DFA1«¤ê㟗άÏ7ÖÚ¦Öý}X¿es{_Þèýü>hþFyþ? ¯¿Ãß©hfk¥õú´²5£Ý¼OId‚H5ˆ’çÜ3ßlkÐí“eWt»ßéÜ[RšŸ[îxwW¿‚Óbt× î—eµÖ^ýã¯w=àår•òb8wÆ{­Ã8NÄ®"ú8tSLê\®ù¹Ö/u`q\Ïr¹¬µµ5-..¶þ­Z­ªV«©Z­é¹Û·U¹[©n·RÕÎÎŽÊå²NzP…kWuîásº~SzàUÓ]m¯¼|_=è¶»ƒî‹wº8üA÷OvÝŸ|é¾Aåŀï_–­]r.ŽjÐí“e§$iʘ®Û½fël6J’¿ª¤çèóÐu(bLêð2?÷J^æ88}³¬µÖþîŸ<ÛuûìOÙÇ{ÌÞkŠÙ¤Mf‹½6Ødýëâê·d6º=Ÿno“ºÛèx|:Ÿ·éŽ6²ÉpûI›ìÜÇ€>‡÷=°}äÓI›Í¦­ÒùvCûϧ“6ÚTwÿ»ïcwµ}\ýƯþóÆñµÆ¦w_úÍxŒ;·7·¥ÓáöÓ6?êùÓ¹­uŽŒ°ÿæc“I›nî·u.†ú0ìüåüïù¡óü뜛oÌOô\ ·ÅúŸÌúïµ=oÌGä9¢>^íñlÌáë“ùöîÎ;öŸø„}饗ì‹/¾hoß~Þ~ýëÏÚ§Ÿ~ÆþÅ_ܲ¼]²ðdŸxbÓ~á OØk×~×>þøU{ýúöã?ÿqûÔSOÙÏ>ñTÏ,ûŽ/>o)/6Ú圡uÖáô]9gÛ勬Unf[›Wy©Ã9ÞUò~ã7JÍaƪC9ìü¡qßýPgt¤ó—ók¼ç‡Au’©Ã{ ë¿>þ^d~rZ×ÅæfhÔ:ßý×'ó¼~Y¶ñÑ…î¢ab`Àau8Sóš[¾ý˜ ÑàANUp”ñ;¨:›£×™¯ñøûçüÚëø¬“LÞƒ]ÿ=Æß_·N8ó'ê¸âÀõ˲ÆZkŸøÒó]ø‹ÛeÊ‹a_M² urA^æ'üFÄu¶[Å÷q¼ÖŽ–¸Ê‹ýåS¯êj;óuCÕ™À*3±¶˜óK‡%Ö$28#r~RÊ)ý˜®/Ü›úeÙ’îÉ* 8úeY®èàH£ŽîǹNæ0ÔaìêóœyÏÌO½ŽÏÓëõG>÷<t ½þ`pÜí‡ÁÀ:ºø•ºnÔÑíª"¸÷:˜#Öa̧£uN³ÉÑêR‡qxÓu2©s<Ñù©Îp¿ùµN0ó3æÚIÚl>¼º÷Õo}µæ7}kŽÝ^êL³þb[|£­ŸAuàCs“·ï;zwûüÛ«Î÷Àùï×ÿŽ?Ž:ë]§<<½Óun³6 ãn?,ut{eÙVÝfº!òVf¼:˜Cë0úrO©\¨´LQ&Øç*Gµã°:¦R'“:Ç5Rá~ó§ê3?1(hK™ÐÕ™²¾ZóÛʵ×ÚHóÏú›äâmý ªßxý²Å¬6Ï™3›ÊëçȨ¯OŸGªó=dþûõ„ã»Îúa©S¾[›Û“Ý~ WtÛY6\^¬ý…2š Ý}²ˆ§f¿:Œ)ÍÏ-wüÊ¡þë»QÚ=_‡qXÓa¨s<Ùù™ôü1?±ÌO¤ÎtÉÓÒr£Îôˆó³¹zãrfujY»þ†ÕoþÚzfK+ÖÊÚmÍôúyã#'» x#Ôù8ÿ#ô×ç¿vQgý0Õ)ï·ÄÎ/hk£Y_s+™Ø¶OôüÜ£úG+¦êÿ'ÓȲÆZkK_{©ëÿí©—©£;äIŠ:˜ñ¢#óæÌïþ-uÖòüŒ«Žî·}Ë]mÿó›5ª.ìý"u0ãFFæÌ˜ßý[^ÍÃù9°êpÜœ$kMý²ì”$Ýza'r{ú…Fl—îå:¼qV0Î9êÿùÆTtn/yGô¯é8þúeÙ)Izñ•Š^¼Ó¾½p§r¯¥T9‘‚Ýõ[gÖñœþE½›9.³3p¡©Ùv´àxhEÅÃa°y×u67Ž'Ï ‰Ò¿‘dÇm7¡µ³,ÑnÆoxˆv´q6ô×­ç·åtL°ï9ÞŒr½þj7‘QpI„]¡~Y–Ïè6CÌ :·#Ôi¤‡ÔÙXgPXçphÊauz{À¡ýk–µ1»û†¡P@ß5:s±>®ffY…‹gºCz"£-Ëåk‹8ºÑäÓ»Îí¸u>Ǭ³7~À!uz{À¡ýK…¾Ì£wÿ‡Ö ¿ (f•Lç{ôÝ×V!©Ó3¬Žc­µWnÜRçwDX+êèá˜ë­Ï‡¿ÑŒ#®:ºFêʲTNÖ«..•³"ãptðÑt‚.@кA]€  t‚.pŒ‚®ïÓqsýc7à¾käx¥ãƒÚ?À=tS9+k­ŠÙ¤’Ù¢¬µ²¹”Tòä#ã8r‘1®|ßm„aW¾$Ï12Ƒ繡 ì¨™çJž#cŒš¹¹+ð5÷Ñq‹älßl‹„ÅßìÙ‹ýÇ ~&rl‘þ»nÏí»ã|š³tC)¯2;oͰ5lûŬ’ZPÎZÙ¼tf}¾Š7µîK™À*›,hk6WÈÖÊÚ@g7¹¾”È*f“ý_"£ÀZe“iå[·Ê¥Bý˜9­d蟅å™váñ‰LÐ ò]Jž×W&°¡þç$·Ö[ýŸ_^ZÝ·+³8ÿ“ º©zÈìºå”iûþ¸¸êEþ½qyNó¡ln‡®àö¼´º©æ]êWpA­äÉY’‚æq³JöìAŸÇæ6WÍ­¾Ö7”I†ÓähÌ?@˜±ÖÚ+7nI&ºÁZéæõ¼–––ŽÄxŽ#] I0À0årYkkkZ\\”µVÕjMÕjUµZMÕjMÏݾ­ÊÝŠ*•Š*•ªvvvT.—uêÔƒ*\»ªsŸÓõ›Û‘e©œÔ‰ã2P™ àl@ åÅ@кA è]t‚.@кÀ! º¾kdŒ‘ã•&ÒYÏ©·?©}”<§Õ¾q¼ ¹/××»órL{|ŒqåO¤ûîDöžÛIÍqóü4“ÿÚ¶~"ççÚwý{ü¸ëwW㳇õ;Úñï}ýl¿Ö/t÷.•³²ùôÄ:› ¬¬­ß.iIqg•D&hµ_\¸<‘ åx3ʳJNb€ÒùVÿ­Í)wv<)•›È>Âsk­U6™ÖJ&뛘õùvûÅÓ«±Îogû6'¹» [ƒÖï:Ú8Û>?íùm9»\ÃÖç¸ëwØãÇ]¿ÃÚwýkÜõ;t|'¹~€ {D4®|\˜ ”›à+Aq«{È=sQ*,ÏÈÌ,«pñL¼A:‘Qßõªeiã² …åvŸ›Áw"Sìhk%ÞúÄì\ÇOæ´p6ãð:¿¾¢¸­ÓÚšìU¹Ím±~Y¿€ct}·ñëÈDFµ±¿HzŽéºÂTØ*ÆÖ~*ºÚWÌ*™Î+ˆñŠ¥çD%ZÚÞŒu|™@Ù¤47›h&GÍM(-m­Ä>¿ã‘˜•.o”b£æçç–c ë©ó Ú õ׿°¬¹•ŒX¿¬_@ÆZk¯Ü¸%™èk¥›×óZZZb”»r¹¬µµ5-..ÊZ«jµ¦jµªZ­¦jµ¦çnßVånE•JE•JU;;;*—Ë:uêA®]Õ¹‡ÏéúÍFŒíȲTNRuÇA]€  t‚.@ÐA è]€  £ ë»FÆtÜ\ÿØ ¸ï9^é@öí9í±=¨>ÜsA7•³²Öª˜M*™-ÊZ+›KI%OŽ12Ž#×ãÊ÷ÝF`så·œ#ÏsCAÙQ3Ë•Âs;©9nžŸfãCûÃÖOäüœ@ûã®ßawýîj|ö°~G;þ½¯ßíǰ~GêÿëwPûq¬ßQÏÏI­_Ý¡R9+›OO¬³™ÀÊÚúí’–÷s]"´Ú/.\žHÐr¼åŠY%'1@é|«ÿÖæ”Š;H;ž”ÊMdá¹µÖ*›Lk%“ˆõMÌú|»ýâéÕXç·³}›“Ü]†­AëÇwmœmŸŸöü¶œ].€aësÜõ;ìñã®ßaí»~‡µ?îú:¾c®ßíǰ~µÇúÔþ¤×/‚îáѸòqa6P.5¹Ý· ±‡Ü3¥ÂòŒÌ̲ ÏÄûDÈ(ˆïÆzÕ£´qY…Âr»ÏÍΉL±£­•xƒzbv®ã'sZ8›ˆqøß_QÜÖimi¢×6·Åúeý²~à]ßmü:2‘Q`mì/’žcº®0¶Š±µŸÊ…®x³J¦ó b¼bé9Ñ_ù•¶7cŸD&P6)ÍÍ&š¯<š›PZÚZ‰}~;Ç#1+]Þ(Å>FÍ9ÎÏ-ÇúbŸ:¿ ­Pý Ëš[ɈõËúeý@ÆZk¯Ü¸%™èk¥›×óZZZb”»r¹¬µµ5-..ÊZ«jµ¦jµªZ­¦jµ¦çnßVånE•JE•JU;;;*—Ë:uêA®]Õ¹‡ÏéúÍFŒíȲTNRuÇA]€  t‚.@ÐA è]€  £ ë»FÆtÜ\ÿØ ¸ï9^é@ö]òœöØ:g? èî‡TÎÊZ«b6©d¶(k­l.%•<9ÆÈ8Ž\cdŒ+ßwÍ•/ÉsŒŒqäyn((;jæÉfÀkææf¨vÚw¨ï£ãÉÙ¾Ù «#<¾Ù‡3ûAý8LäØ"ýwÝžÛG•ÈõqµVŅ˸QÐõ!³óÖ [ö!‘QPÌ*©嬕ÍKgÖç¡xSë¾” ¬²É‚¶fs­ gm ³Ž\¿ðŠÙd4TçÓÑ}X«l2­|ëñV¹T¨3§• ý³°<Ó²#<¾2Ãýˆe×W&°¡þç$·Ö[ýŸ_^Z#¨· »¸÷Î?Àdƒnª2»n9¥FÚ¾?.®F¿qyNó¡ln‡®àö¼´º©æ]êWpA­äÉY’‚æq³JöìAŸÇæ6WÍ­¾Ö7”IÄ36žÓq…ZRa«¨ã4ÿaÆZk¯Ü¸%™èk¥›×óZZZ:â9Žt)ˆ-`²Êå²ÖÖÖ´¸¸(k­ªÕšªÕªjµšªÕšž»}[•»U*U*Uíìì¨\.ëÔ©U¸vUç>§ë71¶#Ë>R9©Çe 2AÀـʋ€  t‚.@к è]€  t€Ct}×È#Ç+M¤³žSoRû(yN«}ãxr_®12®wçå˜öøãÊŸH÷݉ì#<·“šãæùi&1þ1´?lýDÎÏ ´?îúöøq×ï®Ægëw´ãßûúØþ~­_ èî]*geóé‰u6XY[¿]Ò’âÎ*‰LÐj¿¸py"AËñf”+f•œÄ¥ó­þ[›S*î íxR*7‘}„çÖZ«l2­•L"Ö71ëóíö‹§WcßÎömNrw¶­ßu´q¶}~ÚóÛrv¹†­Ïq×ï°Ç»~‡µ?îúÖþ¸ëwèøNrýA÷ˆh\ù¸0(7ÁW‚âV!ö{æ¢TXž‘™YVáâ™xƒt"£ < ¾ëUËÒÆe Ëí>7ƒïD¦ØÑÖJ¼/ô‰Ù¹ŽŸÌiál"Æát~;|Eq[§µ5Ù«r›Ûbý²~Ç èúnãב‰Œkc‘ôÓu…©°UŒ­ýT.tµ¯˜U2WãKωþJ´´½ëø$2²Iin6ÑLŽš›PZÚZ‰}~;Ç#1+]Þ(Å>FÍ9ÎÏ-ÇÖSç´ê¯aYs+±~Y¿€þŒµÖ^¹qK2Ñ ÖJ7¯çµ´´Ä( vårYkkkZ\\”µVÕjMÕjUµZMÕjMÏݾ­ÊÝŠ*•Š*•ªvvvT.—uêÔƒ*\»ªsŸÓõ›Û‘e©œ¤êŽ'‚.ºA è]€  ‚.@кA8FA×wŒé¸¹þ±pß5r¼ÒAö@î1[€CtS9+k­ŠÙ¤’Ù¢¬µ²¹”Tòä#ã8õ€f\ù¾Ûî|IžcdŒ#ÏsCAÙQ3O–t|yiuW†}·² Ë323Ë*\<³‹+Ë8ÿ“ º©zÈìºå”iûþ¸¸êEþ½qyNó¡ln‡®àö¼´º©æ]êWpA­äÉY’‚æqõ½"Úçñ#„ù…ÍUEs§¯õÍeñŒMóŠy«ÿ鼂‘?óf¬µöÊ[’‰n°Vºy=¯¥¥¥#q žãH—‚Ø‚!&«\.kmmM‹‹‹²ÖªZ­©Z­ªV«©Z­é¹Û·U¹[Q¥RQ¥RÕÎÎŽÊå²NzP…kWuîásº~³c;²ì#•“:q\*œ-h¡¼ºA è]€  ‚.@кA8dA×wŒ1r¼ÒD:ë9õö'µ’ç´Ú7Ž7¡!÷å#ãúqw^Ži1®ü‰tßÈ>Âs;©9nžŸfãCûÃÖOäüœ@ûã®ßawýîj|ö°~G;þ½¯ßíǰ~GêÿëwPûû±~àÀƒn*geóé‰u6XY[¿]Ò’âÎ*‰LÐj¿¸py"AËñf”+f•œÄ¥ó­þ[›S*î íxR*7‘}„çÖZ«l2­•L"Ö71ëóíö‹§WcßÎömNrw¶­ßu´q¶}~ÚóÛrv¹†­Ïq×ï°Ç»~‡µ?îúÖþ¸ëwèøŽ¹~¶ÃúÔþ¤×/Š »/W>.ÌÊ¥&·›âV!ö{æ¢TXž‘™YVáâ™xƒt"£ < ¾ëUËÒÆe Ëí>7_8'2ÅŽ¶Vâ ê‰Ù¹ŽŸÌiál"Æát~;|Eq[§µ5™«êM›Ûbý²~ï…õ Ç>èúnãב‰Œkc‘ôÓu…©°UŒ­ýT.tÅ£˜U2Wãωþª°´½ëø$2²Iin6ÑLŽš›PZÚZ‰}~;Ç#1+]Þ(Å>FÍ9ÎÏ-ÇúbŸ:¿ ­Pý Ëš[ɈõËú½Ö/앱ÖÚ+7nI&ºÁZéæõ¼–––%Ä®\.kmmM‹‹‹²ÖªZ­©Z­ªV«©Z­é¹Û·U¹[Q¥RQ¥RÕÎÎŽÊå²NzP…kWuîásº~³c;²ì#•“T]ÀñDÐA è]€  t@кA èÇ(èú®‘17×?vî»FŽWÚÿ—<9‘ñuåsþ‚îä¥rVÖZ³I%³EYkes©v@s¹Í€æ»‘°æ9FÆ8ò<7ä5ódÉsdŒQ377CµÓ¾CG4‘û7Ù «#<¾Ù‡3ûAý8ºƒh«ÿ®;^PMçëãj­¬Í)Åùº~#dvÞšakØö1$2 ŠY%µ œµ²yéÌú|#ojÝ—2U6YÐÖl.äÝpäúR"¨˜MFCu>݇µÊ&ÓÊ·o• 'Á™ÓJ†þYXžiÙŸÈ­ ߥäÉq}e ¢rëa½ÕÿùÐñå¥ÕÝ\Nd„;ä»»¸b~€ó0Ù ›ª‡Ì®[óªà°íûãâªù÷Æå9͇:°¹º‚ÛóÒꦚw©_Ámµ’'gI šÇUÌ*Ù³}?B]Ø\U4·úZß\P&ÏØxNô*ti{s>óf¬µöÊ[’‰n°Vºy=¯¥¥¥#q žãH—‚Ø‚!&«\.kmmM‹‹‹²ÖªZ­©Z­ªV«©Z­é¹Û·U¹[Q¥RQ¥RÕÎÎŽÊå²NzP…kWuîásº~³c;²ì#•“:q\*œ-h¡¼ºA è]€  ‚.@кA8dA×wŒ1r¼ÒD:ë9õö'µ’ç´Ú7Ž7¡!÷å#ãúqw^Ži1®ü‰tßÈ>Âs;©9nžŸfãCûÃÖOäüœ@ûã®ßawýîj|ö°~G;þ½¯ßíï×ú‚îÞ¥rV6ŸžXg3•µõÛ%-)È­ö‹ —'´oF¹bVÉI P:ß꿵9¥âÒŽ'¥rÙGxn­µÊ&ÓZÉ$b}³>ßn¿xz5Öùílßæ$w—akÐúñ]GgÛç§=¿-g— `Øúwý{ü¸ëwXûã®ßaí»~‡Žï$×/tˆÆ• ³r|%(nb¹g.J…å™™e.ž‰7H'2 Ââ»±^µ,m\V¡°Üîs3øNdŠm­ÄûBŸ˜ëøÉœÎ&bþ@ç·ÃW·uZ[“½*·¹-Ö/ëp ‚®ï6~™È(°6öIÏ1]W˜ [ÅØÚOåBWûŠY%Óy1^±ôœè¯DKÛ›±ŽO"(›”æfÍ䨹 ¡¥­•Øç·s<³ÒåRìcÔœãüÜr¬a=u~A[¡þú–5·’ë—õ èÏXkí•·$Ý`­tóz^KKKŒbW.—µ¶¶¦ÅÅEYkU­ÖT­VU«ÕT­ÖôÜí۪ܭ¨R©¨R©jggGårY§N=¨Âµ«:÷ð9]¿Ùˆ±Yö‘ÊIª.àx"耠 t‚.@к è]€  t€} º¾kdŒ‘ã•$I%Ï‘1õŸÇ;îS³Ÿ{yläæx’|¹ÆÈG‘f}÷P?ötS9«|:©]q}%2l1«d2+dZ÷óœpPtå‡Úhns¼R(XºòKžcd§(]ùÍn£õ³Þa6‘ d­U1›Üõ $2ŠÙ¤’Ù¢¬Í+ÌÊZÛ8¶”rŬ’éi©ÑŸ’'g}^ÙdZùÐñú†¡='žû_s¼\×í¹=ܮ㕢cÕ âÍqîó¥ïü´{ߘŸFè÷Üè< hXÿGŸ!ýØSÐm9›“=¿-§3d”<9®¯L`ëÑZY›“ÜvPÉV6ŸŽ„RksJ%2 ŠY%µ œµ²yéÌú|#´nj½™†fN+a Ë3rýý¬L0¯ucd–¤ —ÚÅ#}¹Ž§T.4>AF™ P&1|üšA\ó¹öö¼´ÚÜz»y¥•ÖJ&!¥rÊ&“Êa½äÉ™YVA‘Œ„;óÓœ_g»>?ÖÊÚ@gµ©d¶¨ “Úþ°þ4>Cú0^Э§ Á¬ÜpðHd´°¹ýÕ¾|­o.ԃʸJžœ%)h† bVɉ IJ¹ÆUZÏé R©zØÛÅUÜæãæç–;®Bׯº~\ã—RÎÎk½q%T—‚öc­¤Õ¸b Ó©ç|A—#ýÛ¸\ˆl«ýÆg´öýöoXÛÜóŒµÖ^¹qK2Ñ ÖJ7¯çµ´´Ä(¡Ç{GKºT¿¢ °årYkkkZ\\”µVÕjMÕjUµZMÕjMÏݾ­ÊÝŠ*•Š*•ªvvvT.—uêÔƒ*\»ªsŸÓõ›Û‘e©œÔ †{‘È pˆQ^ ]à˜Ýpi©É”vµ®ïî¾Nî¨ûvù ¦c/RÂls>ìü§Ž38Р[¯6PÌ&•Î[Ù•­îú©Ãê੃:¬n3Hœ¹Ø7Á ¬³;H«üÕv¸¹?Bû‘:¸ŽÓ]†m€Aul;ƒx¿/ðV§vÔ>töØþ{†Èu‚Ç­“;l|moî;rþ$³Ê¥F;¾aççÀí­ckokŽ© ÀAÝzЛÙZQ.%)•ÓÊÖL«ôÓÐ:¸1ÔAú…qÔÙÍ´K˜E꼎Ҿ¯­ðæ´²‹2dƒêض‚xómG®}ßHPï[§v¤ îÛÿaûZ7–:¹ÃÆwðöTζ¿ä$ԇюoL‰úy•MÎi¶Q¤"1;W/—¶ëRu æ ëË]=-ú’„TÎêôêˆAuì:«CLºÎîí{ΪNm$hž‰ù³›Û¡«è}/mïÍ(ýï¿ÿ!upc¨“;¬qŒÿ$Ç·þf&§m§þgû|ÒlÔ NÔÑöSß À½‡:ºÀq’Ê)H1 ìÊ‹àÀ5?~X«ÕT«ÕdmMµj­õïZ­ªš­©fk#·É]˜oþæoÖ³Ï>«|PµZM’•1FSSSºÿþšžžÒý¯ºO¶VS­VÂ/½ô’^}êÕ]^ŽãhzzZ•JESSSšžžnm{ík_#këÁ7Ì£·¼å¯éÎ;Ûæ£ 8–º èGŸÑÀ¡Q©Täyžvvv$ISSSzàôº×½N¯}íkõÎw¾S÷ß?AGˉ'´¼¼,k­>ó™Ïèõ¯½^óš×èMozS׫tpèÃíÔÔ”¦¦êŸªmþw~~^µZ­+àcº*1tpèÜwß}­pÛùó^åÅFÐ -Ò‰ý#é^C®$k­ýõ·a™ÚåÅp<tp,xËï…QÀ±ó߀ÂÄØ§ËIEND®B`‚Amelia/vignettes/diagnostics.Rmd0000644000176200001440000003351314335240021016424 0ustar liggesusers--- title: "Multiple Imputation Diagnostics" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{Multiple Imputation Diagnostics} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ``` Amelia currently provides a number of diagnostic tools to inspect the imputations that are created. To illustrate these, we use the `freetrade` data from the package: ```{r amelia, results = "hide"} library(Amelia) data(freetrade) a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country", p2s = 0) ``` \subsubsection{Comparing Densities} One check on the plausibility of the imputation model is check the distribution of imputed values to the distribution of observed values. Obviously we cannot expect, *a priori*, that these distribution will be identical as the missing values may differ systematically from the observed value--this is fundamental reason to impute to begin with! Imputations with strange distributions or those that are far from the observed data may indicate that imputation model needs at least some investigation and possibly some improvement. The `plot.amelia()` method works on output from `amelia()` and, by default, shows for each variable a plot of the relative frequencies of the observed data with an overlay of the relative frequency of the imputed values. ```{r plot_amelia} plot(a.out, which.vars = 3:6) ``` where the argument `which.vars` indicates which of the variables to plot (in this case, we are taking the 3rd through the 6th variables). The imputed curve (in red) plots the density of the *mean* imputation over the $m$ datasets. That is, for each cell that is missing in the variable, the diagnostic will find the mean of that cell across each of the $m$ datasets and use that value for the density plot. The black distributions are the those of the observed data. When variables are completely observed, their densities are plotted in blue. These graphs will allow you to inspect how the density of imputations compares to the density of observed data. Some discussion of these graphs can be found in @AbaGelLev08. Minimally, these graphs can be used to check that the mean imputation falls within known bounds, when such bounds exist in certain variables or settings. We can also use the function `compare.density()` directly to make these plots for an individual variable: ```{r compare_density} compare.density(a.out, var = "signed") ``` ## Overimpute {#sec_overimpute} *Overimputing* is a technique we have developed to judge the fit of the imputation model. Because of the nature of the missing data mechanism, it is impossible to tell whether the mean prediction of the imputation model is close to the unobserved value that is trying to be recovered. By definition this missing data does not exist to create this comparison, and if it existed we would no longer need the imputations or care about their accuracy. However, a natural question the applied researcher will often ask is how accurate are these imputed values? Overimputing involves sequentially treating each of the *observed* values as if they had actually been missing. For each observed value in turn we then generate several hundred imputed values of that observed value, *as if it had been missing*. While $m=5$ imputations are sufficient for most analysis models, this large number of imputations allows us to construct a confidence interval of what the imputed value would have been, had any of the observed data been missing. We can then graphically inspect whether our observed data tends to fall within the region where it would have been imputed had it been missing. For example, we can run the overimputation diagnostic on our data by running ```{r} overimpute(a.out, var = "tariff") ``` Our overimputation diagnostic runs this procedure through all of the observed values for a user selected variable. We can graph the estimates of each observation against the true values of the observation. On this graph, a $y=x$ line indicates the line of perfect agreement; that is, if the imputation model was a perfect predictor of the true value, all the imputations would fall on this line. For each observation, `overimpute()` also plots 90\% confidence intervals that allows the user to visually inspect the behavior of the imputation model. By checking how many of the confidence intervals cover the $y=x$ line, we can tell how often the imputation model can confidently predict the true value of the observation. Occasionally, the overimputation can display unintuitive results. For example, different observations may have different numbers of observed covariates. If covariates that are useful to the prediction are themselves missing, then the confidence interval for this observation will be much larger. In the extreme, there may be observations where the observed value we are trying to overimpute is *the only* observed value in that observation, and thus there is nothing left to impute that observation with when we pretend that it is missing, other than the mean and variance of that variable. In these cases, we should correctly expect the confidence interval to be very large. An example of this graph is show here: ```{r overimp_bad, echo = FALSE, results = "hide"} dd <- Amelia:::rmvnorm(50, mu = c(0.5,0.5), vcv = matrix(c(0.25^2,.06, .06,0.25^2),2,2)) ddmiss <- sample(1:50, replace = FALSE, size = 10) is.na(dd) <- ddmiss aa.out <- amelia(dd, m = 5) overimpute(aa.out, var = 2, main = "Observed versus Imputed Values") ``` In this simulated bivariate dataset, one variable is overimputed and the results displayed. The second variable is either observed, in which case the confidence intervals are very small and the imputations (yellow) are very accurate, or the second variable is missing in which case this variable is being imputed simply from the mean and variance parameters, and the imputations (red) have a very large and encompassing spread. The circles represent the mean of all the imputations for that value. As the amount of missing information in a particular pattern of missingness increases, we expect the width of the confidence interval to increase. The color of the confidence interval reflects the percent of covariates observed in that pattern of missingness, as reflected in the legend at the bottom. ## Overdispersed Starting Values {#sec_overdisperse} If the data given to `amelia()` has a poorly behaved likelihood, the EM algorithm can have problems finding a global maximum of the likelihood surface and starting values can begin to effect imputations. Because the EM algorithm is deterministic, the point in the parameter space where you start it can impact where it ends, though this is irrelevant when the likelihood has only one mode. However, if the starting values of an EM chain are close to a local maximum, the algorithm may find this maximum, unaware that there is a global maximum farther away. To make sure that our imputations do not depend on our starting values, a good test is to run the EM algorithm from multiple, dispersed starting values and check their convergence. In a well behaved likelihood, we will see all of these chains converging to the same value, and reasonably conclude that this is the likely global maximum. On the other hand, we might see our EM chain converging to multiple locations. The algorithm may also wander around portions of the parameter space that are not fully identified, such as a ridge of equal likelihood, as would happen for example, if the same variable were accidentally included in the imputation model twice. Amelia includes a diagnostic to run the EM chain from multiple starting values that are overdispersed from the estimated maximum. The overdispersion diagnostic will display a graph of the paths of each chain. Since these chains move through spaces that are in an extremely high number of dimensions and can not be graphically displayed, the diagnostic reduces the dimensionality of the EM paths by showing the paths relative to the largest principle components of the final mode(s) that are reached. Users can choose between graphing the movement over the two largest principal components, or more simply the largest dimension with time (iteration number) on the $x$-axis. The number of EM chains can also be adjusted. Once the diagnostic draws the graph, the user can visually inspect the results to check that all chains convergence to the same point. For our original model, this is a simple call to `disperse()`: ```{r displd} disperse(a.out, dims = 1, m = 5) disperse(a.out, dims = 2, m = 5) ``` where `m` designates the number of places to start EM chains from and `dims` are the number of dimensions of the principal components to show. In one dimension, the diagnostic plots movement of the chain on the $y$-axis and time, in the form of the iteration number, on the $x$-axis. The first plot shows a well behaved likelihood, as the starting values all converge to the same point. The black horizontal line is the point where `amelia()` converges when it uses the default method for choosing the starting values. The diagnostic takes the end point of this chain as the possible maximum and disperses the starting values away from it to see if the chain will ever finish at another mode. ## Time-series Plots {#sec_tscsplots} As discussed above, information about time trends and fixed effects can help produce better imputations. One way to check the plausibility of our imputation model is to see how it predicts missing values in a time series. If the imputations for the Malaysian tariff rate were drastically higher in 1990 than the observed years of 1989 or 1991, we might worry that there is a problem in our imputation model. Checking these time series is easy to do with `tscsPlot()`. Simply choose the variable (with the `var` argument) and the cross-section (with the `cs` argument) to plot the observed time-series along with distributions of the imputed values for each missing time period. For instance, we can get the plot of the `tariff` variable for Malaysia with the following commands: ```{r tsplot1} a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 0) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) ``` Here, the black point are observed tariff rates for Malaysia from 1980 to 2000. The red points are the mean imputation for each of the missing values, along with their 95% confidence bands. We draw these bands by imputing each of missing values 100 times to get the imputation distribution for that observation. In figure \ref{fig:tsplot1}, we can see that the imputed 1990 tariff rate is quite in line with the values around it. Notice also that values toward the beginning and end of the time series have slightly higher imputation variance. This occurs because the fit of the polynomials of time in the imputation model have higher variance at the beginning and end of the time series. This is intuitive because these points have fewer neighbors from which to draw predictive power. A word of caution is in order. As with comparing the histograms of imputed and observed values, there could be reasons that the missing values are systematically different than the observed time series. For instance, if there had been a major financial crisis in Malaysia in 1990 which caused the government to close off trade, then we would expect that the missing tariff rates should be quite different than the observed time series. If we have this information in our imputation model, we might expect to see out-of-line imputations in these time-series plots. If, on the other hand, we did not have this information, we might see "good" time-series plots that fail to point out this violation of the MAR assumption. Our imputation model would produce poor estimates of the missing values since it would be unaware that both the missingness and the true unobserved tariff rate depend on another variable. Hence, `tscsPlot()` is useful for finding obvious problems in imputation model and comparing the efficiency of various imputation models, but it cannot speak to the untestable assumption of MAR. ## Missingness maps {#sec_missmaps} One useful tool for exploring the missingness in a dataset is a *missingness map*. This is a map that visualizes the dataset a grid and colors the grid by missingness status. The column of the grid are the variables and the rows are the observations, as in any spreadsheet program. This tool allows for a quick summary of the patterns of missingness in the data. If we simply call the `missmap()` function on our output from `amelia()`, ```{r mmap1} missmap(a.out) ``` The `missmap()` function arrange the columns so that the variables are in decreasing order of missingness from left to right. If the `cs` argument was set in the `amelia` function, the labels for the rows will indicate where each of the cross-sections begin. In this missingness map, it is clear that the tariff rate is the variable most missing in the data and it tends to be missing in blocks of a few observations. Gross international reserves (`intresmi`) and financial openness (`fivop`), on the other hand, are missing mostly at the end of each cross-section. This suggests *missingness by merging*, when variables with different temporal coverages are merged to make one dataset. Sometimes this kind of missingness is an artifact of the date at which the data was merged and researchers can resolve it by finding updated versions of the relevant variables. The missingness map is an important tool for understanding the patterns of missingness in the data and can often indicate potential ways to improve the imputation model or data collection process. ## References Amelia/vignettes/intro-mi.Rmd0000644000176200001440000002230214713160315015654 0ustar liggesusers--- title: "Introduction to Multiple Imputation" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{Introduction to Multiple Imputation} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r loadpkg, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") ``` ## Introduction {#sec:intro} Missing data is a ubiquitous problem in social science data. Respondents do not answer every question, countries do not collect statistics every year, archives are incomplete, subjects drop out of panels. Most statistical analysis methods, however, assume the absence of missing data, and are only able to include observations for which every variable is measured. Amelia allows users to impute ("fill in" or rectangularize) incomplete data sets so that analyses which require complete observations can appropriately use all the information present in a dataset with missingness, and avoid the biases, inefficiencies, and incorrect uncertainty estimates that can result from dropping all partially observed observations from the analysis. Amelia performs *multiple imputation*, a general-purpose approach to data with missing values. Multiple imputation has been shown to reduce bias and increase efficiency compared to listwise deletion. Furthermore, ad-hoc methods of imputation, such as mean imputation, can lead to serious biases in variances and covariances. Unfortunately, creating multiple imputations can be a burdensome process due to the technical nature of algorithms involved. \Amelia\ provides users with a simple way to create and implement an imputation model, generate imputed datasets, and check its fit using diagnostics. The Amelia program goes several significant steps beyond the capabilities of the first version of Amelia [@HonJosKin98]. For one, the bootstrap-based EMB algorithm included in Amelia can impute many more variables, with many more observations, in much less time. The great simplicity and power of the EMB algorithm made it possible to write Amelia so that it virtually never crashes --- which to our knowledge makes it unique among all existing multiple imputation software --- and is much faster than the alternatives too. Amelia also has features to make valid and much more accurate imputations for cross-sectional, time-series, and time-series-cross-section data, and allows the incorporation of observation and data-matrix-cell level prior information. In addition to all of this, Amelia provides many diagnostic functions that help users check the validity of their imputation model. This software implements the ideas developed in @HonKin10. ## What Amelia Does {#sec:what} Multiple imputation involves imputing $m$ values for each missing cell in your data matrix and creating $m$ "completed" data sets. Across these completed data sets, the observed values are the same, but the missing values are filled in with a distribution of imputations that reflect the uncertainty about the missing data. After imputation with Amelia's EMB algorithm, you can apply whatever statistical method you would have used if there had been no missing values to each of the $m$ data sets, and use a simple procedure, described below, to combine the results. Under normal circumstances, you only need to impute once and can then analyze the $m$ imputed data sets as many times and for as many purposes as you wish. The advantage of Amelia is that it combines the comparative speed and ease-of-use of our algorithm with the power of multiple imputation, to let you focus on your substantive research questions rather than spending time developing complex application-specific models for nonresponse in each new data set. Unless the rate of missingness is very high, $m = 5$ (the program default) is probably adequate. ### Assumptions The imputation model in Amelia assumes that the complete data (that is, both observed and unobserved) are multivariate normal. If we denote the $(n \times k)$ dataset as $D$ (with observed part $D^{obs}$ and unobserved part $D^{mis}$), then this assumption is \begin{equation} D \sim \mathcal{N}_k(\mu, \Sigma), \end{equation} which states that $D$ has a multivariate normal distribution with mean vector $\mu$ and covariance matrix $\Sigma$. The multivariate normal distribution is often a crude approximation to the true distribution of the data, yet there is evidence that this model works as well as other, more complicated models even in the face of categorical or mixed data [see @Schafer97, @SchOls98]. Furthermore, transformations of many types of variables can often make this normality assumption more plausible (see \@ref(sec:trans) for more information on how to implement this in Amelia). The essential problem of imputation is that we only observe $D^{obs}$, not the entirety of $D$. In order to gain traction, we need to make the usual assumption in multiple imputation that the data are *missing at random* (MAR). This assumption means that the pattern of missingness only depends on the observed data $D^{obs}$, not the unobserved data $D^{mis}$. Let $M$ to be the missingness matrix, with cells $m_{ij} = 1$ if $d_{ij} \in D^{mis}$ and $m_{ij} = 0$ otherwise. Put simply, $M$ is a matrix that indicates whether or not a cell is missing in the data. With this, we can define the MAR assumption as \[ p(M|D) = p(M|D^{obs}). \] Note that MAR includes the case when missing values are created randomly by, say, coin flips, but it also includes many more sophisticated missingness models. When missingness is not dependent on the data at all, we say that the data are *missing completely at random* (MCAR). Amelia requires both the multivariate normality and the MAR assumption (or the simpler special case of MCAR). Note that the MAR assumption can be made more plausible by including additional variables in the dataset $D$ in the imputation dataset than just those eventually envisioned to be used in the analysis model. ### Algorithm In multiple imputation, we are concerned with the complete-data parameters, $\theta = (\mu, \Sigma)$. When writing down a model of the data, it is clear that our observed data is actually $D^{obs}$ and $M$, the missingness matrix. Thus, the likelihood of our observed data is $p(D^{obs}, M|\theta)$. Using the MAR assumption\footnote{There is an additional assumption hidden here that $M$ does not depend on the complete-data parameters.}, we can break this up, \begin{align} p(D^{obs},M|\theta) = p(M|D^{obs})p(D^{obs}|\theta). \end{align} As we only care about inference on the complete data parameters, we can write the likelihood as \begin{align} L(\theta|D^{obs}) &\propto p(D^{obs}|\theta), \end{align} which we can rewrite using the law of iterated expectations as \begin{align} p(D^{obs}|\theta) &= \int p(D|\theta) dD^{mis}. \end{align} With this likelihood and a flat prior on $\theta$, we can see that the posterior is \begin{equation} p(\theta | D^{obs}) \propto p(D^{obs}|\theta) = \int p(D|\theta) dD^{mis}. \end{equation} The main computational difficulty in the analysis of incomplete data is taking draws from this posterior. The EM algorithm [@DemLaiRub77] is a simple computational approach to finding the mode of the posterior. Our EMB algorithm combines the classic EM algorithm with a bootstrap approach to take draws from this posterior. For each draw, we bootstrap the data to simulate estimation uncertainty and then run the EM algorithm to find the mode of the posterior for the bootstrapped data, which gives us fundamental uncertainty too [see @HonKin10 for details of the EMB algorithm]. Once we have draws of the posterior of the complete-data parameters, we make imputations by drawing values of $D^{mis}$ from its distribution conditional on $D^{obs}$ and the draws of $\theta$, which is a linear regression with parameters that can be calculated directly from $\theta$. ### Analysis In order to combine the results across $m$ data sets, first decide on the quantity of interest to compute, such as a univariate mean, regression coefficient, predicted probability, or first difference. Then, the easiest way is to draw $1/m$ simulations of $q$ from each of the $m$ data sets, combine them into one set of $m$ simulations, and then to use the standard simulation-based methods of interpretation common for single data sets @KinTomWit00. Alternatively, you can combine directly and use as the multiple imputation estimate of this parameter, $\bar{q}$, the average of the $m$ separate estimates, $q_j$ $(j=1,\dots,m)$: \begin{equation} \bar{q}=\frac{1}{m}\sum^{m}_{j=1}q_j. \end{equation} The variance of the point estimate is the average of the estimated variances from *within* each completed data set, plus the sample variance in the point estimates *across* the data sets (multiplied by a factor that corrects for the bias because $m<\infty$). Let $SE(q_j)^2$ denote the estimated variance (squared standard error) of $q_j$ from the data set $j$, and $S^{2}_{q}=\Sigma^{m}_{j=1}(q_j-\bar{q})^2/(m-1)$ be the sample variance across the $m$ point estimates. The standard error of the multiple imputation point estimate is the square root of \begin{equation} SE(q)^2=\frac{1}{m}\sum^{m}_{j=1}SE(q_j)^2+S^2_q(1+1/m). \end{equation} ## References Amelia/vignettes/amelia.bib0000644000176200001440000001134214335240021015353 0ustar liggesusers @STRING{ jasa = "Journal of the American Statistical Association"} @article{Efron94, author={Bradley Efron}, title={Missing data, imputation, and the bootstrap}, journal={Journal of the American Statistical Association}, volume={89}, year={1994}, pages={463-475}, month={June}, number={426} } @article{Lahlrl03, author={P. Lahlrl}, title={On the impact of boostrapping in survey sampling and small area estimation}, journal={Statistical Science}, volume= 18, year= 2003, pages={199-210}, number= 2 } @book{Rubin87, author={Donald B. Rubin}, title={Multiple imputation for nonresponse in surveys}, publisher={John Wiley \& Sons}, year={1987}, address={New York} } @article{Rubin94, author={Donald B. Rubin}, title={Missing data, imputation, and the bootstrap: Comment}, journal={Journal of the American Statistical Association}, volume={89}, year={1994}, pages={475-478}, month={Jun}, number={426} } @article{RubSch86, author={Donald Rubin and Nathaniel Schenker}, title={Multiple imputation for interval estimation for simple random samples with ignorable nonresponse}, journal= jasa, volume= 81, year= 1986, pages={366-374}, number= 394 } @book{Schafer97, author={Joseph L. Schafer}, title={Analysis of incomplete multivariate data}, publisher={Chapman \& Hall}, year={1997}, address={London} } @article{ShaSit96, author={Jun Shao and Randy R. Sitter}, title={Bootstrap for imputed survey data}, journal={Journal of the American Statistical Association}, volume={91}, year={1996}, pages={1278-1288}, month={September}, number={435} } @article{MilKub05, title = {{Why the move to free trade? Democracy and trade policy in the developing countries}}, author = {Helen Milner and Keiko Kubota}, journal = {International Organization}, volume = {59}, number = {1}, pages = {107--143}, year = {2005} } @book{King89, author = {Gary King}, title = {Unifying political methodology: The likelihood theory of statistical inference}, publisher = {Michigan University Press}, year = 1989, address = {Ann Arbor} } @article{HonKin10, author = {James Honaker and Gary King}, title = {What to do about missing values in time series cross-section data}, journal = {American Journal of Political Science}, year = {2010}, volume = {54}, number = {2}, month = {April}, pages = {561--581}, note = {{http://gking.harvard.edu/files/abs/pr-abs.shtml}} } @article{KinHonJos01, author = {Gary King and James Honaker and Anne Joseph and Kenneth Scheve}, title = {Analyzing incomplete political science data: An alternative algorithm for multiple imputation}, journal = {American Political Science Review}, volume = 95, year = 2001, pages = {49--69}, month = {March}, number = 1 , note = {{http://gking.harvard.edu/files/abs/evil-abs.shtml}} } @article{KinTomWit00, author = {Gary King and Michael Tomz and Jason Wittenberg}, title = {Making the most of statistical analyses: Improving interpretation and presentation}, journal = {American Journal of Political Science}, volume = 44, year = 2000, pages = {341--355}, month = {April}, number = 2, note = {{http://gking.harvard.edu/files/abs/making-abs.shtml}} } @article{SchOls98, author={Joseph L. Schafer and Maren K. Olsen}, title={Multiple imputation for multivariate missing-data problems: A data analyst's perspective}, journal={Multivariate Behavioral Research}, volume={33}, year={1998}, pages={545-571}, number={4} } @article{DemLaiRub77, author={Arthur P. Dempster and N.M. Laird and D.B. Rubin}, title={Maximum likelihood estimation from incomplete data via the em algorithm}, journal={Journal of the Royal Statistical Society B}, volume={39}, year={1977}, pages={1-38} } @article{AbaGelLev08, author = {Kobi Abayomi and Andrew Gelman and Marc Levy}, title = {Diagnostics for multivariate imputations}, journal = {Applied Statistics}, volume = {57}, number = {3}, pages = {273--291}, year = {2008} } @misc{HonJosKin98, author = {James Honaker and Anne Joseph and Gary King and Kenneth Scheve and Naunihal Singh.}, title = {\pkg{AMELIA}: A program for missing data}, year = {1998-2002}, note = {http://gking.harvard.edu/amelia} } @Manual{R11, title = {\proglang{R}: A language and environment for statistical computing}, author = {{\proglang{R} Development Core Team}}, organization = {\proglang{R} Foundation for Statistical Computing}, address = {Vienna, Austria}, year = 2011, note = {{ISBN} 3-900051-07-0}, url = {http://www.R-project.org} }Amelia/vignettes/ameliaview.Rmd0000644000176200001440000003355214335240021016243 0ustar liggesusers--- title: "AmeliaView GUI Guide" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{AmeliaView GUI Guide} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ``` Below is a guide to the AmeliaView menus with references back to the users's guide. The same principles from the user's guide apply to AmeliaView. The only difference is how you interact with the program. Whether you use the GUI or the command line versions, the same underlying code is being called, and so you can read the command line-oriented discussion above even if you intend to use the GUI. ## Loading AmeliaView The easiest way to load AmeliaView is to open an R session and type the following two commands: ```{r load_av, eval = FALSE} library(Amelia) AmeliaView() ``` This will bring up the AmeliaView window on any platform. ![AmeliaView welcome screen](assets/splash.png) ## Loading data into AmeliaView AmeliaView loads with a welcome screen that has buttons which can load a data in many of the common formats. Each of these will bring up a window for choosing your dataset. Note that these buttons are only a subset of the possible ways to load data in AmeliaView. Under the File menu (shown below), you will find more options, including the datasets included in the package (`africa` and `freetrade`). You will also find import commands for Comma-Separated Values (.CSV), Tab-Delimited Text (.TXT), Stata v.5-10 (.DTA), SPSS (.DAT), and SAS Transport (.XPORT). Note that when using a CSV file, Amelia assumes that your file has a header (that is, a row at the top of the data indicating the variable names). ![AmeliaView File and import menu.](assets/import.png) You can also load data from an RData file. If the RData file contains more than one `data.frame`, a pop-up window will ask to you find the dataset you would like to load. In the file menu, you can also change the underlying working directory. This is where AmeliaView will look for data by default and where it will save imputed datasets. ## Variable Dashboard ![Main variable dashboard in AmeliaView](assets/main.png) Once a dataset is loaded, AmeliaView will show the variable dashboard. In this mode, you will see a table of variables, with the current options for each of them shown, along with a few summary statistics. You can reorder this table by any of these columns by clicking on the column headings. This might be helpful to, say, order the variables by mean or amount of missingness. ![Variable options via right-click menu on the variable dashboard](assets/context-menu.png) You can set options for individual variables by the right-click context menu or through the "Variables" menu. For instance, clicking "Set as Time-Series Variable" will set the currently selected variable in the dashboard as the time-series variable. Certain options are disabled until other options are enabled. For instance, you cannot add a lagged variable to the imputation until you have set the time-series variable. Note that any `factor` in the data is marked as a ID variable by default, since a `factor` cannot be included in the imputation without being set as an ID variable, a nominal variable, or the cross-section variable. If there is a `factor` that fails to meet one of these conditions, a red flag will appear next to the variable name. 1. **Set as Time-Series Variable** - Sets the currently selected variable to the time-series variable. Disabled when more than one variable is selected. Once this is set, you can add lags and leads and add splines of time. The time-series variable will have a clock icon next to it. 2. **Set as Cross-Section Variable** - Sets the currently selected variable to the cross-section variable. Disabled when more than one variable is selected. Once this is set, you can interact the splines of time with the cross-section. The cross-section variable will have a person icon next to it. 3. **Unset as Time-Series Variable** - Removes the time-series status of the variable. This will remove any lags, leads, or splines of time. 4. **Unset as Cross-Section Variable** - Removes the cross-section status of the variable. This will remove any intersection of the splines of time and the cross-section. 5. **Add Lag/Lead** - Adds versions of the selected variables either lagged back ("lag") or forward ("lead"). 6. **Remove Lag/Lead** - Removes any lags or leads on the selected variables. 7. **Plot Histogram of Selected** - Plots a histogram of the selected variables. This command will attempt to put all of the histograms on one page, but if more than nine histograms are requested, they will appear on multiple pages. 8. **Add Transformation...** - Adds a transformation setting for the selected variables. Note that each variable can only have one transformation and the time-series and cross-section variables cannot be transformed. 9. **Remove Transformation** - Removes any transformation for the selected variables. 10. **Add or Edit Bounds** - Opens a dialog box to set logical bounds for the selected variable. ## Amelia Options ![Options menu](assets/options.png) The "Variable" menu and the variable dashboard are the place to set variable-level options, but global options are set in the "Options" menu. For more information on these options, see `vignette("using-amelia")`. 1. **Splines of Time with...** - This option, if activated, will have Ameliause flexible trends of time with the specified number of knots in the imputation. The higher the number of knots the greater the variation in the trend structure, yet it will take more degrees of freedom to estimate. 2. **Interact with Cross-Section?** - Include and interaction of the cross-section with the time trends. This interaction is way of allowing the trend of time to vary across cases as well. Using a 0-level spline of time and interacting with the cross section is the equivalent of using a fixed effects. 3. **Add Observational Priors...** - Brings a dialog window to set prior beliefs about ranges for individual missing observations. 4. **Numerical Options** - Brings a dialog window to set the tolerance of the EM algorithm, the seed of the random number generator, the ridge prior for numerical stability, and the maximum number of redraws for the logical bounds. 5. **Draw Missingness Map** - Draws a missingness map. 6. **Output File Options** - Bring a dialog to set the stub of the prefix of the imputed data files and the number of imputations. If you set the prefix to `mydata`, your output files will be `mydata1.csv, mydata2.csv...` etc. 7. **Output File Type** - Sets the format of imputed data. If you would like to not save any output data sets (if you wanted, for instance, to simply look at diagnostics), set this option to "(no save)." Currently, you can save the output data as: Comma Separated Values (.CSV), Tab Delimited Text (.TXT), Stata (.DTA), R save object (.RData), or to hold it in R memory. This last option will only work if you have called AmeliaView from an R session and want to return to the R command line to work with the output. Its name in R workspace will be the file prefix. The stacked version of the Stata output will work with their built-in `mi` tools. ### Numerical options ![Numerical options menu](assets/numopts.png) 1. **Seed** - Sets the seed for the random number generator used by Amelia. Useful if you need to have the same output twice. 1. **Tolerance** - Adjust the level of tolerance that Amelia uses to check convergence of the EM algorithm. In very large datasets, if your imputation chains run a long time without converging, increasing the tolerance will allow a lower threshold to judge convergence and end chains after fewer iterations. 1. **Empirical Prior** - A prior that adds observations to your data in order to shrink the covariances. A useful place to start is around 0.5\% of the total number of observations in the dataset. 1. **Maximum Resample for Bounds** - Amelia fits logical bounds by rejecting any draws that do not fall within the bounds. This value sets the number of times Amelia should attempt to resample to fit the bounds before setting the imputation to the bound. ### Add Distributional Prior ![Detail for Add Distributional Prior dialog](assets/distpri.png) 1. **Current Priors** - A table of current priors in distributional form, with the variable and case name. You can remove priors by selecting them and using the right-click context menu. 1. **Case** - Select the case name or number you wish to set the prior about. You can also choose to make the prior for the entire variable, which will set the prior for any missing cell in that variable. The case names are generated from the row name of the observation, the value of the cross-section variable of the observation and the value of the time series variable of the observation. 1. **Variable** - The variable associated with the prior you would like specify. The list provided only shows the missing variables for the currently selected observation. 1.**Mean** - The mean value of the prior. The textbox will not accept letters or out of place punctuation. 1. **Standard Deviation** - The standard deviation of the prior. The textbox will only accept positive non-zero values. ### Add Range Prior ![Detail for Add Range Prior dialog](assets/rangepri.png) 1. **Case** - Select the case name or number you wish to set the prior about. You can also choose to make the prior for the entire variable, which will set the prior for any missing cell in that variable. The case names are generated from the row name of the observation, the value of the cross-section variable of the observation and the value of the time series variable of the observation. 1. **Variable** - The variable associated with the prior you would like specify. The list provided only shows the missing variables for the currently selected observation. 1. **Minimum** - The minimum value of the prior. The textbox will not accept letters or out of place punctuation. 1. **Maximum** - The maximum value of the prior. The textbox will not accept letters or out of place punctuation. 1. **Confidence** - The confidence level of the prior. This should be between 0 and 1, non-inclusive. This value represents how certain your priors are. This value cannot be 1, even if you are absolutely certain of a give range. This is used to convert the range into an appropriate distributional prior. ## Imputing and checking diagnostics ![Output log showing Amelia output for a successful imputation.](assets/output-log.png) Once you have set all the relevant options, you can impute your data by clicking the "Impute!" button in the toolbar. In the bottom right corner of the window, you will see a progress bar that indicates the progress of the imputations. For large datasets this could take some time. Once the imputations are complete, you should see a "Successful Imputation!" message appear where the progress bar was. You can click on this message to open the folder containing the imputed datasets. If there was an error during the imputation, the output log will pop-up and give you the error message along with some information about how to fix the problem. Once you have fixed the problem, simply click "Impute!" again. Even if there was no error, you may want to view the output log to see how Ameliaran. To do so, simply click the "Show Output Log" button. The log also shows the call to the `amelia()` function in R. You can use this code snippet to run the same imputation from the R command line. You will have to replace the `x` argument in the `amelia()` call to the name of you dataset in the R session. ### Diagnostics Dialog ![Detail for the Diagnostics dialog](assets/diag.png) Upon the successful completion of an imputation, the diagnostics menu will become available. Here you can use all of the diagnostics available at the command-line. 1. **Compare Plots** - This will display the relative densities of the observed (red) and imputed (black) data. The density of the imputed values are the average imputations across all of the imputed datasets. 1. **Overimpute** - This will run Ameliaon the full data with one cell of the chosen variable artificially set to missing and then check the result of that imputation against the truth. The resulting plot will plot average imputations against true values along with 90% confidence intervals. These are plotted over a $y=x$ line for visual inspection of the imputation model. 1. **Number of overdispersions** - When running the overdispersion diagnostic, you need to run the imputation algorithm from several overdispersed starting points in order to get a clear idea of how the chain are converging. Enter the number of imputations here. 1. **Number of dimensions** - The overdispersion diagnostic must reduce the dimensionality of the paths of the imputation algorithm to either one or two dimensions due to graphical restraints. 1. **Overdisperse** - Run overdispersion diagnostic to visually inspect the convergence of the Amelia algorithm from multiple start values that are drawn randomly. ## Sessions It is often useful to save a session of AmeliaView to save time if you have impute the same data again. Using the **Save Session** button will do just that, saving all of the current settings (including the original and any imputed data) to an RData file. You can then reload your session, on the same computer or any other, simply by clicking the **Load Session** button and finding the relevant RData file. All of the settings will be restored, including any completed imputations. Thus, if you save the session after imputing, you can always load up those imputations and view their diagnostics using the sessions feature of AmeliaView. Amelia/vignettes/using-amelia.Rmd0000644000176200001440000012455614713160425016511 0ustar liggesusers--- title: "Using Amelia" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{Using Amelia} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ``` ## Data We now demonstrate how to use Amelia using data from @MilKub05 which studies the effect of democracy on trade policy. For the purposes of this user's guide, we will use a subset restricted to nine developing countries in Asia from 1980 to 1999[^freetrade]. This dataset includes 9 variables: | Variable | Description | |:-----------|:----------------------------------------------------| | `year` | year | | `country` | country | | `tariff` | average tariff rates | | `polity` | Polity IV Score[^polity] | | `pop` | total population | | `gdp.pc` | gross domestic product per capita | | `intresmi` | gross international reserves | | `signed` | dummy variable if signed an IMF agreement that year | | `fivop` | measure of financial openness | | `usheg` | measure of US hegemony[^hegemony] | These variables correspond to the variables used in the analysis model of @MilKub05 in table 2. [^freetrade]: We have artificially addedsome missingness to these data for presentational purposes. You can access the original data at [https://hvmilner.scholar.princeton.edu/data](https://hvmilner.scholar.princeton.edu/data). [^polity]: The Polity score is a number between -10 and 10 indicating how democratic a country is. A fully autocratic country would be a -10 while a fully democratic country would be 1 10. [^hegemony]: This measure of US hegemony is the US imports and exports as a percent of the world total imports and exports. We first load the Amelia and the data: ```{r load_data, results = "hide"} library(Amelia) data(freetrade) ``` We can check the summary statistics of the data to see that there is missingness on many of the variables: ```{r summarize_data} summary(freetrade) ``` In the presence of missing data, most statistical packages use *listwise deletion*, which removes any row that contains a missing value from the analysis. Using the base model of @MilKub05 Table 2, we run a simple linear model in R, which uses listwise deletion: ```{r mk_lm} summary(lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade)) ``` Note that 60 of the 171 original observations are deleted due to missingness. These observations, however, are partially observed, and contain valuable information about the relationships between those variables which are present in the partially completed observations. Multiple imputation will help us retrieve that information and make better, more efficient, inferences. ## Multiple Imputation When performing multiple imputation, the first step is to identify the variables to include in the imputation model. It is crucial to include at least as much information as will be used in the analysis model. That is, any variable that will be in the analysis model should also be in the imputation model. This includes any transformations or interactions of variables that will appear in the analysis model. In fact, it is often useful to add more information to the imputation model than will be present when the analysis is run. Since imputation is predictive, any variables that would increase predictive power should be included in the model, even if including them in the analysis model would produce bias in estimating a causal effect (such as for post-treatment variables) or collinearity would preclude determining which variable had a relationship with the dependent variable (such as including multiple alternate measures of GDP). In our case, we include all the variables in `freetrade` in the imputation model, even though our analysis model focuses on `polity`, `pop` and `gdp.pc`. We're not incorporating time or spatial data yet, but we do below. To create multiple imputations in Amelia, we can simply run ```{r amelia} a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country") a.out ``` Note that our example dataset is deliberately small both in variables and in cross-sectional elements. Typical datasets may often have hundreds or possibly a couple thousand steps to the EM algorithm. Long chains should remind the analyst to consider whether transformations of the variables would more closely fit the multivariate normal assumptions of the model (correct but omitted transformations will shorten the number of steps and improve the fit of the imputations), but do not necessarily denote problems with the imputation model. The output gives some information about how the algorithm ran. Each of the imputed datasets is now in the list `a.out$imputations`. Thus, we could plot a histogram of the `tariff` variable from the 3rd imputation, ```{r} hist(a.out$imputations[[3]]$tariff, col = "grey", border = "white") ``` ### Saving imputed datasets If you need to save your imputed datasets, one direct method is to save the output list from `amelia`, ```{r save, eval = FALSE} save(a.out, file = "imputations.RData") ``` As in the previous example, the ith imputed datasets can be retrieved from this list as `a.out$imputations[[i]]`. In addition, you can save each of the imputed datasets to its own file using the `write.amelia()` command, ```{r write_amelia, eval = FALSE} write.amelia(obj = a.out, file.stem = "outdata") ``` This will create one comma-separated value file for each imputed dataset in the following manner: outdata1.csv outdata2.csv outdata3.csv outdata4.csv outdata5.csv The `write.amelia` function can also save files in tab-delimited and Stata (`.dta`) file formats. For instance, to save Stata files, simply change the `format` argument to `"dta"`, ```{r write_dta, eval = FALSE} write.amelia(obj = a.out, file.stem = "outdata", format = "dta") ``` Additionally, `write.amelia()` can create a "stacked" version of the imputed dataset which stacks each imputed dataset on top of one another. This can be done by setting the \code{separate} argument to `FALSE`. The resulting matrix is of size $(N \cdot m) \times p$ if the original dataset is excluded (`orig.data = FALSE`) and of size $(N \cdot (m+1))\times p$ if it is included (`orig.data = TRUE`). The stacked dataset will include a variable (set with `impvar`) that indicates to which imputed dataset the observation belongs. ## Combining multiple calls to `amelia()` The EMB algorithm is what computer scientists call *embarrassingly parallel*, meaning that it is simple to separate each imputation into parallel processes. With Amelia it is simple to run subsets of the imputations on different machines and then combine them after the imputation for use in analysis model. This allows for a huge increase in the speed of the algorithm. Output lists from different Amelia runs can be combined together into a new list. For instance, suppose that we wanted to add another ten imputed datasets to our earlier call to `amelia()`. First, run the function to get these additional imputations, ```{r more_amelia} a.out.more <- amelia(freetrade, m = 10, ts = "year", cs = "country", p2s = 0) a.out.more ``` then combine this output with our original output using the `ameliabind()` function, ```{r ameliabind} a.out.more <- ameliabind(a.out, a.out.more) a.out.more ``` This function binds the two outputs into the same output so that you can pass the combined imputations easily to analysis models and diagnostics. Note that `a.out.more` now has a total of 15 imputations. A simple way to execute a parallel processing scheme with Amelia would be to run `amelia()` with `m` set to 1 on $m$ different machines or processors, save each output using the `save()` function, load them all on the same R session using `load()` command and then combine them using `ameliabind()`. In order to do this, however, make sure to name each of the outputs a different name so that they do not overwrite each other when loading into the same R session. Also, some parallel environments will dump all generated files into a common directory, where they may overwrite each other. If it is convenient in a parallel environment to run a large number of `amelia()` calls from a single piece of code, one useful way to avoid overwriting is to create the `file.stem` with a random suffix. For example: ```{r rand_stem, eval = FALSE} b <- round(runif(1, min = 1111, max = 9999)) random.name <- paste("am", b, sep = "") amelia <- write.amelia(obj = a.out, file.stem = random.name) ``` ### Screen output Screen output can be adjusted with the "print to screen" argument, `p2s`. At a value of 0, no screen printing will occur. This may be useful in large jobs or simulations where a very large number of imputation models may be required. The default value of 1, lists each bootstrap, and displays the number of iterations required to reach convergence in that bootstrapped dataset. The value of 2 gives more thorough screen output, including, at each iteration, the number of parameters that have significantly changed since the last iteration. This may be useful when the EM chain length is very long, as it can provide an intuition for many parameters still need to converge in the EM chain, and a sense of the time remaining. However, it is worth noting that the last several parameters can often take a significant fraction of the total number of iterations to converge. Setting `p2s` to 2 will also generate information on how EM algorithm is behaving, such as a `!` when the current estimated complete data covariance matrix is not invertible and a `*` when the likelihood has not monotonically increased in that step. Having many of these two symbols in the screen output is an indication of a problematic imputation model. Problems of non-invertible matrices often mean that current guess for the covariance matrix is singular. This is a sign that there may be two highly correlated variables in the model. One way to resolve is to use a ridge prior (see \@ref(sec_prior)). An example of the output when `p2s` is 2 would be ```{r p2s} a.out.p2s <- amelia(freetrade, m = 1, ts = "year", cs = "country", p2s = 2) ``` ## Parallel Imputation {#sec:parallel} Each imputation in the above EMB algorithm is completely independent of any other imputation, a property called embarrassingly parallel. This type of approach can take advantage of the multiple-core infrastructure of modern CPUs. Each core in a multi-core processor can execute independent operations in parallel. Amelia can utilize this parallel processing internally via the `parallel` and the `ncpus` arguments. The `parallel` argument sets the parallel processing backend, either with `"multicore"` or `"snow"` (or `"no"` for no parallel processing). The `"multicore"` backend is not available on Windows systems, but tends to be quicker at parallel processing. On a Windows system, the `"snow"` backend provides parallel processing through a cluster of worker processes across the CPUs. You can set the default for this argument using the `"amelia.parallel"` option. This allows you to run Amelia in parallel as the default for an entire R session without setting arguments in the `amelia()` call. For each of the parallel backends, Amelia requires a number of CPUs to use in parallel. This can be set using the `ncpus` argument. It can be higher than the number of physical cores in the system if hyperthreading or other technologies are available. You can use the `parallel::detectCores()` function to determine how many cores are available on your machine. The default for this argument can be set using the `"amelia.ncpus"` option. On Unix-alike systems (such as macOS and Linux distributions), the `"multicore"` backend automatically sets up and stops the parallel workers by forking the process. On Windows, the `"snow"` backend requires more attention. Amelia will attempt to create a parallel cluster of worker processes (since Windows systems cannot fork a process) and will stop this cluster after the imputations are complete. Alternatively, Amelia also has a `cl` argument, which accepts a predefined cluster made using the `parallel::makePSOCKcluster()`. For more information about parallel processing in R, see the documentation for the `parallel` package that ships along with R or the CRAN Task View on [Parallel Computing with R](https://cran.r-project.org/view=HighPerformanceComputing) ## Improving Imputations via Transformations {#sec:trans} Social science data commonly includes variables that fail to fit to a multivariate normal distribution. Indeed, numerous models have been introduced specifically to deal with the problems they present. As it turns out, much evidence in the literature [discussed in @KinHonJos01] indicates that the multivariate normal model used in Amelia usually works well for the imputation stage even when discrete or non-normal variables are included and when the analysis stage involves these limited dependent variable models. Nevertheless, Amelia includes some limited capacity to deal directly with ordinal and nominal variables and to modify variables that require other transformations. In general nominal and log transform variables should be declared to Amelia, whereas ordinal (including dichotomous) variables often need not be, as described below. (For harder cases, see [@Schafer97], for specialized MCMC-based imputation models for discrete variables.) Although these transformations are taken internally on these variables to better fit the data to the multivariate normal assumptions of the imputation model, all the imputations that are created will be returned in the original untransformed form of the data. If the user has already performed transformations on their data (such as by taking a log or square root prior to feeding the data to `amelia()`) these do not need to be declared, as that would result in the transformation occurring *doubly* in the imputation model. The fully imputed data sets that are returned will always be in the form of the original data that is passed to the `amelia()` routine. ### Ordinal {#sec:ord} In much statistical research, researchers treat independent ordinal (including dichotomous) variables as if they were really continuous. If the analysis model to be employed is of this type, then nothing extra is required of the of the imputation model. Users are advised to allow Amelia to impute non-integer values for any missing data, and to use these non-integer values in their analysis. Sometimes this makes sense, and sometimes this defies intuition. One particular imputation of 2.35 for a missing value on a seven point scale carries the intuition that the respondent is between a 2 and a 3 and most probably would have responded 2 had the data been observed. This is easier to accept than an imputation of 0.79 for a dichotomous variable where a zero represents a male and a one represents a female respondent. However, in both cases the non-integer imputations carry more information about the underlying distribution than would be carried if we were to force the imputations to be integers. Thus whenever the analysis model permits, missing ordinal observations should be allowed to take on continuously valued imputations. In the `freetrade` data, one such ordinal variable is `polity` which ranges from -10 (full autocracy) to 10 (full democracy). If we tabulate this variable from one of the imputed datasets, ```{r polity_tab} table(a.out$imputations[[3]]$polity) ``` we can see that there is one imputation between -4 and -3 and one imputation between 6 and 7. Again, the interpretation of these values is rather straightforward even if they are not strictly in the coding of the original Polity data. Often, however, analysis models require some variables to be strictly ordinal, as for example, when the dependent variable will be modeled in a logistical or Poisson regression. Imputations for variables set as ordinal are created by taking the continuously valued imputation and using an appropriately scaled version of this as the probability of success in a binomial distribution. The draw from this binomial distribution is then translated back into one of the ordinal categories. For our data we can simply add `polity` to the `ords` argument: ```{r polity_ord} a.out1 <- amelia(freetrade, m = 5, ts = "year", cs = "country", ords = "polity", p2s = 0) table(a.out1$imputations[[3]]$polity) ``` Now, we can see that all of the imputations fall into one of the original polity categories. ### Nominal {#sec:nom} Nominal variables[^binary] must be treated quite differently than ordinal variables. Any multinomial variables in the data set (such as religion coded 1 for Catholic, 2 for Jewish, and 3 for Protestant) must be specified to Amelia. In our \code{freetrade} dataset, we have `signed` which is 1 if a country signed an IMF agreement in that year and 0 if it did not. Of course, our first imputation did not limit the imputations to these two categories ```{r binary_tab} table(a.out1$imputations[[3]]$signed) ``` In order to fix this for a $p$-category multinomial variable, Amelia will determine $p$ (as long as your data contain at least one value in each category), and substitute $ p-1$ binary variables to specify each possible category. These new $p-1$ variables will be treated as the other variables in the multivariate normal imputation method chosen, and receive continuous imputations. These continuously valued imputations will then be appropriately scaled into probabilities for each of the $p$ possible categories, and one of these categories will be drawn, where upon the original $p$-category multinomial variable will be reconstructed and returned to the user. Thus all imputations will be appropriately multinomial. [^binary]: Dichotomous (two category) variables are a special case of nominal variables. For these variables, the nominal and ordinal methods of transformation in Amelia agree. For our data we can simply add `signed` to the `noms` argument: ```{r noms} a.out2 <- amelia(freetrade, m = 5, ts = "year", cs = "country", noms = "signed", p2s = 0) table(a.out2$imputations[[3]]$signed) ``` Note that Amelia can only fit imputations into categories that exist in the original data. Thus, if there was a third category of signed, say 2, that corresponded to a different kind of IMF agreement, but it never occurred in the original data, Amelia could not match imputations to it. Since Amelia properly treats a $p$-category multinomial variable as $p-1$ variables, one should understand the number of parameters that are quickly accumulating if many multinomial variables are being used. If the square of the number of real and constructed variables is large relative to the number of observations, it is useful to use a ridge prior as in section \@ref(sec_prior). ### Natural log {#sec:log} If one of your variables is heavily skewed or has outliers that may alter the imputation in an unwanted way, you can use a natural logarithm transformation of that variable in order to normalize its distribution. This transformed distribution helps Amelia to avoid imputing values that depend too heavily on outlying data points. Log transformations are common in expenditure and economic variables where we have strong beliefs that the marginal relationship between two variables decreases as we move across the range. For instance, we can show the `tariff` variable clearly has positive (or, right) skew while its natural log transformation has a roughly normal distribution. ```{r tarrif_hist} hist(freetrade$tariff, col="grey", border="white") hist(log(freetrade$tariff), col="grey", border="white") ``` ### Square root {#sec:sqrt} Event count data is often heavily skewed and has nonlinear relationships with other variables. One common transformation to tailor the linear model to count data is to take the square roots of the counts. This is a transformation that can be set as an option in Amelia. ### Logistic {#sec:lgstc} Proportional data is sharply bounded between 0 and 1. A logistic transformation is one possible option in Amelia to make the distribution symmetric and relatively unbounded. ## Identification Variables {#sec:idvars} Datasets often contain identification variables, such as country names, respondent numbers, or other identification numbers, codes or abbreviations. Sometimes these are text and sometimes these are numeric. Often it is not appropriate to include these variables in the imputation model, but it is useful to have them remain in the imputed datasets (However, there are models that would include the ID variables in the imputation model, such as fixed effects model for data with repeated observations of the same countries). Identification variables which are not to be included in the imputation model can be identified with the argument `idvars`. These variables will not be used in the imputation model, but will be kept in the imputed datasets. If the `year` and `country` contained no information except labels, we could omit them from the imputation: ```{r idvars} amelia(freetrade, idvars = c("year", "country")) ``` Note that Amelia will return with an error if your dataset contains a factor or character variable that is not marked as a nominal or identification variable. Thus, if we were to omit the factor `country` from the `cs` or `idvars` arguments, we would receive an error: ```{r idvars_error} a.out2 <- amelia(freetrade, idvars = c("year")) ``` In order to conserve memory, it is wise to remove unnecessary variables from a data set before loading it into Amelia. The only variables you should include in your data when running Amelia are variables you will use in the analysis stage and those variables that will help in the imputation model. While it may be tempting to simply mark unneeded variables as IDs, it only serves to waste memory and slow down the imputation procedure. ## Time Series, or Time Series Cross Sectional Data {#sec:tscs} Many variables that are recorded over time within a cross-sectional unit are observed to vary smoothly over time. In such cases, knowing the observed values of observations close in time to any missing value may enormously aid the imputation of that value. However, the exact pattern may vary over time within any cross-section. There may be periods of growth, stability, or decline; in each of which the observed values would be used in a different fashion to impute missing values. Also, these patterns may vary enormously across different cross-sections, or may exist in some and not others. Amelia can build a general model of patterns within variables across time by creating a sequence of polynomials of the time index. If, for example, tariffs vary smoothly over time, then we make the modeling assumption that there exists some polynomial that describes the economy in cross-sectional unit $i$ at time $t$ as: \[ \textrm{tariff}_{ti} = \beta_0 + \beta_1 t + \beta_1 t^2 + \beta_1 t^3 \ldots \] And thus if we include enough higher order terms of time then the pattern between observed values of the tariff rate can be estimated. Amelia will create polynomials of time up to the user defined $k$-th order, ($k\leq3$). We can implement this with the `ts` and `polytime` arguments. If we thought that a second-order polynomial would help predict we could run ```{r polytime, results = "hide"} a.out2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2) ``` With this input, Amelia will add covariates to the model that correspond to time and its polynomials. These covariates will help better predict the missing values. If cross-sectional units are specified these polynomials can be interacted with the cross-section unit to allow the patterns over time to vary between cross-sectional units. Unless you strongly believe all units have the same patterns over time in all variables (including the same constant term), this is a reasonable setting. When $k$ is set to 0, this interaction simply results in a model of *fixed effects* where every unit has a uniquely estimated constant term. Amelia does not smooth the observed data, and only uses this functional form, or one you choose, with all the other variables in the analysis and the uncertainty of the prediction, to impute the missing values. In order to impute with trends specific to each cross-sectional unit, we can set `intercs` to `TRUE`: ```{r intercs, results = "hide"} a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 2) ``` Note that attempting to use `polytime` without the `ts` argument, or `intercs` without the `cs` argument will result in an error. Using the `tscsPlot()` function (discussed below), we can see that we have a much better prediction about the missing values when incorporating time than when we omit it: ```{r tcomp1} tscsPlot(a.out, cs = "Malaysia", main = "Malaysia (no time settings)", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) ``` ### Lags and leads {#sec:lags} An alternative way of handling time-series information is to include lags and leads of certain variables into the imputation model. *Lags* are variables that take the value of another variable in the previous time period while *leads* take the value of another variable in the next time period. Many analysis models use lagged variables to deal with issues of endogeneity, thus using leads may seems strange. It is important to remember, however, that imputation models are predictive, not causal. Thus, since both past and future values of a variable are likely correlated with the present value, both lags and leads should improve the model. If we wanted to include lags and leads of tariffs, for instance, we would simply pass this to the `lags` and `leads` arguments: ```{r lags_leads} a.out2 <- amelia(freetrade, ts = "year", cs = "country", lags = "tariff", leads = "tariff") ``` ## Including Prior Information Amelia has a number of methods of setting priors within the imputation model. Two of these are commonly used and discussed below, ridge priors and observational priors. ### Ridge priors for high missingness, Small samples, or large correlations {#sec_prior} When the data to be analyzed contain a high degree of missingness or very strong correlations among the variables, or when the number of observations is only slightly greater than the number of parameters $p(p+3)/2$ (where $p$ is the number of variables), results from your analysis model will be more dependent on the choice of imputation model. This suggests more testing in these cases of alternative specifications under Amelia. This can happen when using the polynomials of time interacted with the cross section are included in the imputation model. For example, in our data, if we used a polynomial of degree 2 with unit-specific trends and there are 9 countries, it would add $3 \times 9 - 1= 17$ more variables to the imputation model (dropping one of the fixed effects for identification). When these are added, the EM algorithm can become unstable. You can detect this by inspecting the screen output under `p2s = 2` or by observing that the number iterations per imputation are very divergent. In these circumstances, we recommend adding a ridge prior which will help with numerical stability by shrinking the covariances among the variables toward zero without changing the means or variances. This can be done by including the `empri` argument. Including this prior as a positive number is roughly equivalent to adding `empri` artificial observations to the data set with the same means and variances as the existing data but with zero covariances. Thus, increasing the `empri` setting results in more shrinkage of the covariances, thus putting more a priori structure on the estimation problem: like many Bayesian methods, it reduces variance in return for an increase in bias that one hopes does not overwhelm the advantages in efficiency. In general, we suggest keeping the value on this prior relatively small and increase it only when necessary. A recommendation of 0.5 to 1 percent of the number of observations, $n$, is a reasonable starting value, and often useful in large datasets to add some numerical stability. For example, in a dataset of two thousand observations, this would translate to a prior value of 10 or 20 respectively. A prior of up to 5 percent is moderate in most applications and 10 percent is reasonable upper bound. For our data, it is easy to code up a 1 percent ridge prior: ```{r empri} a.out.time2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 0, empri = .01 * nrow(freetrade)) a.out.time2 ``` ### Observation-level priors {#sec:obspri} Researchers often have additional prior information about missing data values based on previous research, academic consensus, or personal experience. Amelia can incorporate this information to produce vastly improved imputations. The Amelia algorithm allows users to include informative Bayesian priors about individual missing data cells instead of the more general model parameters, many of which have little direct meaning. The incorporation of priors follows basic Bayesian analysis where the imputation turns out to be a weighted average of the model-based imputation and the prior mean, where the weights are functions of the relative strength of the data and prior: when the model predicts very well, the imputation will down-weight the prior, and vice versa [@HonKin10]. The priors about individual observations should describe the analyst's belief about the distribution of the missing data cell. This can either take the form of a mean and a standard deviation or a confidence interval. For instance, we might know that 1986 tariff rates in Thailand around 40%, but we have some uncertainty as to the exact value. Our prior belief about the distribution of the missing data cell, then, centers on 40 with a standard deviation that reflects the amount of uncertainty we have about our prior belief. To input priors you must build a priors matrix with either four or five columns. Each row of the matrix represents a prior on either one observation or one variable. In any row, the entry in the first column is the row of the observation and the entry is the second column is the column of the observation. In the four column priors matrix the third and fourth columns are the mean and standard deviation of the prior distribution of the missing value. For instance, suppose that we had some expert prior information about tariff rates in Thailand. We know from the data that Thailand is missing tariff rates in many years, ```{r thailand} freetrade[freetrade$country == "Thailand", c("year", "country", "tariff")] ``` Suppose that we had expert information that tariff rates were roughly 40% in Thailand between 1986 and 1988 with about a 6% margin of error. This corresponds to a standard deviation of about 3. In order to include this information, we must form the priors matrix: ```{r build_prior} pr <- matrix( c(158, 159, 160, 3, 3, 3, 40, 40, 40, 3, 3, 3), nrow = 3, ncol = 4 ) pr ``` The first column of this matrix corresponds to the row numbers of Thailand in these three years, the second column refers to the column number of `tariff` in the data and the last two columns refer to the actual prior. Once we have this matrix, we can pass it to `amelia()`, ```{r amelia_prior} a.out.pr <- amelia(freetrade, ts = "year", cs = "country", priors = pr) ``` In the five column matrix, the last three columns describe a confidence range of the data. The columns are a lower bound, an upper bound, and a confidence level between 0 and 1, exclusive. Whichever format you choose, it must be consistent across the entire matrix. We could get roughly the same prior as above by utilizing this method. Our margin of error implies that we would want imputations between 34 and 46, so our matrix would be ```{r build_prior2} pr.2 <- matrix( c(158, 159, 160, 3, 3, 3, 34, 34, 34, 46, 46, 46, 0.95, 0.95, 0.95), nrow = 3, ncol = 5 ) pr.2 ``` These priors indicate that we are 95% confident that these missing values are in the range 34 to 46. If a prior has the value 0 in the first column, this prior will be applied to all missing values in this variable, except for explicitly set priors. Thus, we could set a prior for the entire `tariff` variable of 20, but still keep the above specific priors with the following code: ```{r build_prior3} pr.3 <- matrix( c(158, 159, 160, 0, 3, 3 , 3, 3, 40, 40, 40, 20, 3, 3, 3, 5), nrow = 4, ncol = 4) pr.3 ``` ### Logical bounds In some cases, variables in the social sciences have known logical bounds. Proportions must be between 0 and 1 and duration data must be greater than 0, for instance. Many of these logical bounds can be handled by using the correct transformation for that type of variable (see \@ref(sec:trans) for more details on the transformations handled by Amelia). In the occasional case that imputations must satisfy certain logical bounds not handled by these transformations, Amelia can take draws from a truncated normal distribution in order to achieve imputations that satisfy the bounds. Note, however, that this procedure imposes extremely strong restrictions on the imputations and can lead to lower variances than the imputation model implies. The mean value across all the imputed values of a missing cell is the best guess from the imputation model of that missing value. The variance of the distribution across imputed datasets correctly reflects the uncertainty in that imputation. It is often the mean imputed value that should conform to the any known bounds, even if individual imputations are drawn beyond those bounds. The mean imputed value can be checked with the diagnostics presented in the next section. In general, building a more predictive imputation model will lead to better imputations than imposing bounds. Amelia implements these bounds by rejection sampling. When drawing the imputations from their posterior, we repeatedly resample until we have a draw that satisfies all of the logical constraints. You can set an upper limit on the number of times to resample with the `max.resample` arguments. Thus, if after `max.resample` draws, the imputations are still outside the bounds, Amelia will set the imputation at the edge of the bounds. Thus, if the bounds were 0 and 100 and all of the draws were negative, Amelia would simply impute 0. As an extreme example, suppose that we know, for certain that tariff rates had to fall between 30 and 40. This, obviously, is not true, but we can generate imputations from this model. In order to specify these bounds, we need to generate a matrix of bounds to pass to the `bounds` argument. This matrix will have 3 columns: the first is the column for the bounded variable, the second is the lower bound and the third is the upper bound. Thus, to implement our bound on tariff rates (the 3rd column of the dataset), we would create the matrix, ```{r build_bounds} bds <- matrix(c(3, 30, 40), nrow = 1, ncol = 3) bds ``` which we can pass to the `bounds` argument to `amelia()`: ```{r amelia_bounds} a.out.bds <- amelia(freetrade, ts = "year", cs = "country", bounds = bds, max.resample = 1000) ``` The difference in results between the bounded and unbounded model are not obvious from the output, but inspection of the imputed tariff rates for Malaysia shows that there has been a drastic restriction of the imputations to the desired range: ```{r bounds_plot} tscsPlot(a.out, cs = "Malaysia", main = "No logical bounds", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.bds, cs = "Malaysia", main = "Bounded between 30 and 40", var = "tariff", ylim = c(-10, 60)) ``` Again, analysts should be extremely cautious when using these bounds as they can seriously affect the inferences from the imputation model, as shown in this example. Even when logical bounds exist, we recommend simply imputing variables normally, as the violation of the logical bounds represents part of the true uncertainty of imputation. ## Post-imputations Transformations {#sec_postimptrans} In many cases, it is useful to create transformations of the imputed variables for use in further analysis. For instance, one may want to create an interaction between two variables or perform a log-transformation on the imputed data. To do this, Amelia includes a `transform()` function for `amelia()` output that adds or overwrites variables in each of the imputed datasets. For instance, if we wanted to create a log-transformation of the `gdp.pc` variable, we could use the following command: ```{r amelia_transform} a.out <- transform(a.out, lgdp = log(gdp.pc)) head(a.out$imputations[[1]][,c("country", "year","gdp.pc", "lgdp")]) ``` To create an interaction between two variables, we could simply use: ```{r interaction} a.out <- transform(a.out, pol_gdp = polity * gdp.pc) ``` Each transformation is recorded and the `summary()` command prints out each transformation that has been performed: ```{r sum_trans} summary(a.out) ``` Note the updated output is almost exactly the same as the fresh `amelia()` output. You can pass the transformed output back to `amelia()` and it will add imputations and update these imputations with the transformations you have performed. ## Analysis Models {#sec_analysis} Imputation is most often a data processing step as opposed to a final model in of itself. To this end, it is easy to pass output from `amelia()` to other functions. The easiest and most integrated way to run an analysis model is to use the `with()` and `mi.combine()` functions. For example, in @MilKub05, the dependent variable was tariff rates. We can replicate table 5.1 from their analysis with the original data simply by running ```{r lm_lwd} orig.model <- lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade) orig.model ``` Running the same model with imputed data is almost identical. We can run the `lm` within each imputed data set by using the `with()` function: ```{r lm_imp} imp.models <- with( a.out, lm(tariff ~ polity + pop + gdp.pc + year + country) ) imp.models[1:2] ``` The result here is simply a list of output of `lm()` applied to each imputed data set. We can combine the imputed estimates using the rules described in @KinHonJos01 and @Schafer97 with the `mi.combine()` function: ```{r mi_combine} out <- mi.combine(imp.models, conf.int = TRUE) out ``` The combination of the results depends on the [broom](https://broom.tidymodels.org) package and results can be combined if a `tidy()` method exists for the estimation function passed to `with()`. Users can easily export their imputations using the `write.amelia()` function as described in \@ref(sec_saving) and use statistical packages other than R for the analysis model. In addition to the resources available in R, users can draw on Stata to implement their analysis models. As of version 11, Stata has built-in handling of multiply imputed datasets. In order to utilize this functionality, simply export the "stacked" imputations using the `write.amelia()` function: ```{r write_dta_stacked, eval = FALSE} write.amelia(a.out, separate = FALSE, file.stem = "outdata", format = "dta") ``` Once this stacked dataset is open in Stata, you must tell Stata that it is an imputed dataset using the \code{mi import flong} command: ```{stata eval = FALSE} mi import flong, m(imp) id(year country) imp(tariff-usheg) ``` The command takes a few options: `m` designates the imputation variable (set with `impvar` in `write.amelia()`), `id` sets the identifying varibles, and `imp` sets the variables that were imputed (or included in the imputation). The `tariff-usheg` indicates that Stata should treat the range of variables between `tariff` and `usheg` as imputed. Once we have set the dataset as imputed, we can use the built-in `mi` commands to analyze the data: ```{stata eval = FALSE} mi estimate: reg tariff polity pop gdp_pc ``` ``` Multiple-imputation estimates Imputations = 5 Linear regression Number of obs = 171 Average RVI = 1.4114 Complete DF = 167 DF adjustment: Small sample DF: min = 10.36 avg = 18.81 max = 37.62 Model F test: Equal FMI F( 2, 10.4) = 15.50 Within VCE type: OLS Prob > F = 0.0008 ------------------------------------------------------------------------------ tariff | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- polity | -.2058115 .3911049 -0.53 0.610 -1.072968 .6613452 pop | 3.21e-08 8.72e-09 3.68 0.004 1.27e-08 5.14e-08 gdp_pc | -.0027561 .000644 -4.28 0.000 -.0040602 -.0014519 _cons | 32.70461 2.660091 12.29 0.000 27.08917 38.32005 ------------------------------------------------------------------------------ ``` ## The `amelia` class {#sec_out} The output from the `amelia()` function is an instance of the S3 class `amelia`. Instances of the `amelia` class contain much more than simply the imputed datasets. The `mu` object of the class contains the posterior draws of the means of the complete data. The `covMatrices` contains the posterior draws of the covariance matrices of the complete data. Note that these correspond to the variables as they are sent to the EM algorithm. Namely, they refer to the variables after being transformed, centered and scaled. The `iterHist` object is a list of `m` 3-column matrices. Each row of the matrices corresponds to an iteration of the EM algorithm. The first column indicates how many parameters had yet to converge at that iteration. The second column indicates if the EM algorithm made a step that decreased the number of converged parameters. The third column indicates whether the covariance matrix at this iteration was singular. Clearly, the last two columns are meant to indicate when the EM algorithm enters a problematic part of the parameter space. ## References Amelia/data/0000755000176200001440000000000014522322274012356 5ustar liggesusersAmelia/data/freetrade.RData0000644000176200001440000000651314335240021015230 0ustar liggesusers‹í[yX×1EeµÖëZ©Z7^÷­U«¯!@’µÔº±I-VŽRQñ‰â_Ÿ­¯‹Ö}© .-oæÜ”ˆÊóµôkò}דßv~çÞ;™ÌLd¼çä>“-†0± #0åÞš ¸L¦¥9‡æj™L«–úËÆÔ†sðÉ–ÜØÊ0¢n|ÃCÜ(äÆanáF7Žr£˜%Ü8ÆãÜ(åF7Np£œ'¹ñ/nœ2r¹þ\.¦%9fþ OPËGJÁR£Ý([è£ð—ÿý sÎP*d£ã­ÂJµìïgˆGIC¤‘Ï—Áh¿ÞŽ–©¤!;C¸‘u¨C×Ë óõ¥óîC±']Gª«+µ;S½ïÕïó\—a>Ÿèe»87n?¤õÐzG:?'¦Þ:²½©Þî4¿EGƒ<}ÿŽ”¯mÃëú|=Þ°¿®TOßô׿=×YŸíZ_ßó<ºÿNõ_vÕ?%} q¬Žà¸þdþãô~=ÒyëóF'’>#é<|¨ß‡ïžÕõõe믧Õ)¡ºÜiý ºÿé> ¤ûóêã4_>èGy麲®ô¸Õêö—Öu¡ýõÇ%Ûõõûêùúýb=)ߪspýÏ ëMûºQn '¬ ñ³N™º‡MLnÿ€Áóˆßr˜ŽÚÚÚÇÀxÊOžÇ†9B »1C¯Õì-‡©Á0ã4üþ¦Ñصo`îÏô£‘{ ¢kõ„5”ã‰~еú_öTD‡à5£n=¸µ ×!+§ñbÄO pCüÄN•/å½Ô°Ë·MEüdŸ1”°7›Gtúõ@ÞæƒæÐ›a׎ 2z2Ê|Q—Ù¥+ìLÝb·}²$®ÈÏÚP=ÙŒ+AßéàÍ.tC]ŽCòrtðçüŠþ[†#K^9øFÜDþÂÂxäG‹* zN'îL0c2x¢+­‘cz™ ë$øcÂÄàÙDúÅœ¾ø"“[°õñG|‘v)ñïÝAì[aÇvÚ>±“j€3¯àªÒ#xÕ ä…Œ‹†j/‡z¹¶¢l"låþ‹¨SMÉļTÕß!6õ øÃʮïvχ­Î—ÂÖôÂÖäì¶«û¥Í=¾ðnà ߢ†|ZCt´M'x©7ê¹d¾Ê9màWu›Ht¤žC'˦tF<ÉÖ }’*ËQ—<¢þä­}0Ï‘òS¦“óKÊ®äÇt€¾ÞÛ_¼¾„è~‰xœ_ò㊿Eÿøž}¦Nt7ƒ¼% £P·äúT¢ßË‘`Ò¬OBiä'Ü[¾D‡Aˆ'Ž™Næ-Oâä1ôüÊΫÀy€ýl]_>ÎÎOåM†:rœŸ« ™‡¸î‚_!𒔯g4ÿñýíøù± 2tÀ¼U¨Ÿ ¾ÿ‡¨[ÄNOl;/رûÄÈ[\µþ¸/aÇ«»‚/tá¿á}ˆ»V©Ã|Xå“Óè£Zô:T÷ï"æ/EzßAÔiJÐ_ëŽó$«¹ÙõÚM Pîeƒúõ سwBÝìš6È‹ÌÑa~s®à<ÀÎëôYíÉ:,Ýüë3ÈüãkÉüÏ]$óO?ŒñÞ‹þ‹zžØÝ}É|ÇT#‰ÐvBð3ä%^+‚½lÅMÄ“‡}ˆ~)^Õè“Rö<ËÂE$¯y>tm+ê{ûˆ`àŽ+&èŸï {—·¸'¨}öž…ø×Ã6Á>x( <‡p~` /¼~‡WãûŠ="S ^tP ñ “È+‘å£þØðMà/^숼ckÛA÷æ 0crwÄ3›¬B~–@Il×1˜gFõ÷àËuùY[š‚'ûZúoa­Ð7÷Z)pkì>äç-Ø û+E>pûy'àΖäøÝù þmî‚gGÞ} _ÂÇÐáww%ìŒí­€~5¾ˆûg[fžMìª;à•ý'ulw‚;»ÁŸ‚~?·9ïÁ<䉸ûfåeïgFw;mB{OGðDnèøœo‹àŸ;×›à³SÈŸWâøüÁûÀ7ß& þù‘ ø£<ÖÁ•g…þQî¦àò¶#þ‚È[> çqvùÜlÄ—û¥ÁŸœ€~Ë\zÁ^–|˜ä.B^ò¤<ìsЉü)«Ñ?9ó;}€àà àINÅ]#›|—œRââQ·Ü2 y)I=s":º¨‰¾CàMU‡ærñ´³–°Wd®W¾ô§¸‹f×eÃÞ0| ò7î'ÇǦª`F§8èÏÜöâÙþs–žof<ƒü¬¸cèùUò{ítÞ–Ô*FóNÉ“ sÁ×Dꌾë­¾¼ÿ·ñíy>Éãñü<$wî÷ãù$÷œ•À'ëÝ¡W0Œ|®DŸÐÏÊ¡üVI^ÐÑâ®KXË™ôiÖ·ÏéÑþƒïÁÓªj òì÷¶Ä|ìÃ/A—ýžÀw$ø>g[Y“Ïc Gð±MÑy·/tXøƒm¹2qÛ9QßZ‘~›yUà±ÙuùvC#ß¾èÔ¥ô±¢É¸>`™ø¾dM~h ž&‡MÁcþ`t˜·"ç«–Ö7·˜Vˆ:Ñ=\—²æ­ãÀoáîMâ9ÿ@~Skô7¯J„_ä–Þ¦Èq*ÊPcìDW^Ô%¹sõ`ì‡ç\ìÇMÝ:>_r»£/üwJ aß?û}KS ~³öÐ%œ„¾‚f®È{–u›Ì/æ:tšþö%âf9¸þeM÷wC\à¶„×-yؾ~ÛO—Ö[/˸«ècþ|¾é!ß2k>Ù?k²¯ƒ/"¯ÅRrZzaýÙfç.uÙŽëÖêg¬W«)+QoÅÞ&ë?¡€¬£,è=9¸iàøjÿàꬽ°žÖ·*Q×ìÔVøM]åÐ!@ܦ|?Y•~ÝV6îˆÛÕï·wÖØÂÿî»`;ˆÁÓ¶[ tØŒ|ëqmøíŸÝc^\/³È§¤ïŒ.à±nvhÖ6ó6ù¢ q“õý‰]ˆë7IMþSìûã¬5À_½Àÿëy<‹‘<¬þ™ï y’4ެÏrc¦¥óó“ܸ&ƾßOkãÛÐz‰"Rù~’g+Tà¿qûGäßÙ×øxŒ'æßüûÎX/á±rÌÓ$Ý}k?ÎBý£ãµèoa¿ý-Ž~@öµùÞëV‚Ǭ*hžº—Ô{G‘uù¨òÅýd…%—À'î;›ìÛ™ @³±Åè/îy<–7³‰¾¤©ÀfWcÐת Ùw«¬èoóÏO`Ûúáúœµ‹Ž<» r]fÛÞ:lƒ €-][ëX/æù3-ýË„yùõ¢ÏD×@Âkòÿˆ¼_ÐaØÃ䨨×ÿ¥÷-ú¼i/Þ–×ÐgòŠXCu¯[Ï7弊ç/]}“Üs½OŸãv'Nö}ú\Ùõñ:¤Ï™ë0 þïŽúß+¨ÿ øÒ9Ȩ˨˨˨ë/ª‹ÑßsU¬Æ=´¤bº ü ÏV$•¸v–œùyˆ9™ç‘œŽŠ'˜ÙñÓ•¸·•Tìøl#0UBxJ—‚÷ “úÓI^ž1JNwßIx·’¼ýP_ùu(øºŒºŒºŒºþ¢º þªE¨†â?»ñ`Af‘2©š¾ù)ÃZu$5›h¥jy@€ÞR)CäZ}ÌT¥Téþª^*?j‰åƒL*×G5ò@…Ì_oÈ#du•ÂpM,ÐðooÔÊY½ôJù[Fü|[[[û‘átüB¤ýtôN ©VÚ+@ÍÕsÿ ýïÿ.ÖŸïï3Amelia/data/africa.RData0000644000176200001440000000406714335240021014516 0ustar liggesusers‹íWP“÷áçÍ*DÅ ‘ZA¬¡4/I€Pù‘Ä‘òÍŒI {³J­m­sÎ¥;¡íëvÖµkY„´´vÕªÔ©í©×Ãi·N½V»ÙöX+{’çIvr—[·Òÿ|ï>yòýñüú<Ï÷›¼MmNlm,H@’pü*•àG€,e¤Øì²šE€ð)8ŠBÄ#:„žð=BÏ)–°<Ïr”å%–³¼Êò˲ü’åW$ ,¥,£YƱ”±L`™ÄrÛ¹ßíønÇ*><ÏßÇðŸôI…d’>ÉN2"&‘“‹[os›¥ÝbkÅo2Þá›Sµ¹V[í¢¼Dluð\εٛ¬<ŒV‹k,.‡ÃÎãµÃÞÜ»Ìb·´ˆ6FÖ‰kVYÅ ®#Ì6±5à9O³hv;\øí&‚;2l=Â'Ÿ@ô"^Fx‡Çï NRs„}Ž8‹ø1Nàï™$ê?ßÃ^D !^b9ŒÀcöwÄߣˆ1Ä<¾ˆzw 2Ɉ,#I:"›(« |Ox7b¢ƒÇïbʸ.}³Å_ÉÌ2âÄÄ Ä9žÛˆ„÷AT# Ï#ö# ‘NìÒÈÄqæõ$ã¹€À|cŸC 71"tˆ9ä.çc,hs "aF<ØD¾¤»XD)VBмJÑ·}Iчô1ÄO;yë mDìáõ~ÄE¶‘ˆù"çá¯"ŽÒAÿB‹(@(w"_xmIn ð“üñð?oT½âÆÏÔ )ÍþGHu>÷~láZ!'7†½òw}Ï1¡ðkÿ‚ ßZèû"Ü3v¡tÂAÁz)…´®Hé×_Ùï•úÔ:/x#ØŒô†N>ãdè2I.TâIOHŠ%¿Y¬—µz3zº*LçñtôšÒoîû+ùSû ÚQÔø ‰·¼œòšÏöã)NåÅ'Ì`»?ð±£ø\È`û|q ³YÊPžsˆ/aa>Ù¿{Ú³øüBH;OüÞÃ<(®PÜÉl/÷Ím#?™›)îì=Gú!â55‚ægùÝ%™þem Þ¡±~¿Aåõgýö”ûi,¤q½âXï.¶¿Pä<9ßùlîÄ¿<ôg²^6ó0¯‡ê›Âz™\‡©ÜGî—0æ/žù–Q]½SüÛæ ³9ÿ$ŠWHßÉ~x¬ÜGõ¸Ny éÜOßc?i\¿Tæ-‘ëÈ+ƒû1ƒû)“ë•D¼x9ž¡¯™Çó·ò4õïÐW¼?íL{ŸúG¾ÈÿsTTïÎwÑ[\·å\wÎ?ƒ÷Ícþîæ~YÄyÞ+¡uU/ù+»JöŠLy,}›òèKâme#Ù­I÷ó8ÇBášWVQ¾E»‰'M<ùSq½4Ûx|–ê¢I&Yü$Õ±ø=ªK1Û è3ï%:ò£¹L}¥áøTœ_‘‡úFEúêFÊ+ÿó˜Ÿ%’~×÷®[ÑZò¯ü„ãd…8âEÉü©¸®ÂGÄ{ÑãdGù[?òÿq‹Ú+ñùQ—øù Ì×Õ‹)îRªsp^Ë÷˜v&é—…ùã ®—]¤~ÓöQ]–Ê)ÏÊÃtÎ+ŽŸ•_PßT Ó~]åYJöë+ù~Us¿êSÄ|#É®ÁK~ê絓~ÝkäoÅ«´¯.‡úª–û«!šö5Ó¾:XŠ5䯎ÿ)׳^ ×͘HñÕÔ÷ÆPµT¿ê—h¿ŽÏ£î8ñVÍ÷Þ²ŸS]Œ$kvÐ~ÃiâÝÐAýbqžÌ«‘ó[Æu5™h¿¾öW,¡>Z:HþÊ>¥~¨à>ªpÓ}RžMvMɯq7Ù­ás”K|íÔWF=éëùž3®£üM/SþzîOÿé’Iê§ÐºáaâÙÄç×p„Ö+ˆJ®§!…üé©?çX9J÷NPž6™nx<(ó™L-ù{‚râ¾Pò-“i÷åîÏþ« ¡!žol÷»–ù ÅãÿÉË·ÍûÛê}g|N°ªïBõ_@†âÿ•¡ì‡Šg²úÿ›Ú™(9>¼?-/¼ê®Î‡úWî…†½Û¡ñõ}°ê_Õ`©”AKÿ%øal§zÁñØap•ŨU¤€ Îxt86.i‡Í§žØá…§]» ·úäí‚ûV}yøJ´$õO¿r NœBÑJéƒÉ Úv4î Äþh;Àƒ#”¿ P¹ô5™°ì¨ž‘WöÀê¹É`ÏuÃÚh‹;çÂ#g<Ðuf6½©…-¿öÀSÝ[`{Ó>Ø©íÏý}°Û<½¯×ïjzà…y£ðbA#üÁù $˜b!á’îZßSjaê+› ±~$Åx!馭ÛÉyí<þL?~ füffîÐA ^)³ºA¾½R÷ê`öÁ^Hûs.¨Ÿ‡âE'¡T©‚2“–¶ž„Š^ TëCz »F úJ7,· Šë•Ððˆ%µÐw'4ÿeXß¹ ¶7Àq, \ÍFP?ê…âö³Pú³^(ûPåÆkP…oÁú÷ÐÖÔl“A£VÖ4jÞs~4Œ‚µ"lȧãàVhÍpCûa:­¶‰¯Õv|1¼VGñ¤t½Etñ÷(³£Íîv­¼q·49rš­öf[À’Û%6YÛÌÖv›ubg›Mt[}ïÿ·¸q9Ö-„àë?I~Œo¡áãpël“è4»Pè­ÿæ¿ûX¦Œ…Amelia/src/0000755000176200001440000000000014713163341012234 5ustar liggesusersAmelia/src/em.h0000644000176200001440000000201714335240021012775 0ustar liggesusers#ifndef _Amelia_EMCORE_H #define _Amelia_EMCORE_H #include /* * note : RcppExport is an alias to `extern "C"` de ned by Rcpp. * * It gives C calling convention to the rcpp hello world function so that * it can be called from .Call in R. Otherwise, the C++ compiler mangles the * name of the function and .Call can't nd it. * * It is only useful to use RcppExport when the function is intended to be called * by .Call. See the thread http://thread.gmane.org/gmane.comp.lang.r.rcpp/649/focus=672 * on Rcpp-devel for a misuse of RcppExport */ RcppExport SEXP emcore(SEXP xs, SEXP AMr1s, SEXP os, SEXP ms, SEXP is, SEXP thetas, SEXP tols, SEXP emburn, SEXP p2ss, SEXP empris, SEXP autos, SEXP alls, SEXP prs) ; void sweep(arma::mat& g, arma::vec m); RcppExport SEXP ameliaImpute(SEXP xs, SEXP AMr1s, SEXP os, SEXP ms, SEXP ivec, SEXP thetas, SEXP prs, SEXP bdss, SEXP maxres); arma::mat resampler(arma::mat x, arma::mat ci, arma::mat imps, arma::uvec mss, arma::mat bounds, int maxsample); #endif Amelia/src/Makevars.win0000644000176200001440000000030514571373221014524 0ustar liggesusers## Use the R HOME indirection to support installations of multiple R version PKG_LIBS = $(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" -e "Rcpp:::LdFlags()") $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) Amelia/src/init.c0000644000176200001440000000113414335240021013331 0ustar liggesusers#include #include #include // for NULL #include /* .Call calls */ extern SEXP ameliaImpute(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); extern SEXP emcore(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); static const R_CallMethodDef CallEntries[] = { {"ameliaImpute", (DL_FUNC) &ameliaImpute, 9}, {"emcore", (DL_FUNC) &emcore, 13}, {NULL, NULL, 0} }; void R_init_Amelia(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); } Amelia/src/Makevars0000644000176200001440000000013614571372770013742 0ustar liggesusersPKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"` $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) Amelia/src/em.cpp0000644000176200001440000003776314335240021013350 0ustar liggesusers #include "em.h" #include using namespace Rcpp ; SEXP emcore(SEXP xs, SEXP AMr1s, SEXP os, SEXP ms, SEXP ivec, SEXP thetas, SEXP tols, SEXP emburns, SEXP p2ss, SEXP empris, SEXP autos, SEXP alls, SEXP prs){ //, SEXP p2ss, SEXP prs, SEXP empris, SEXP fends, SEXP alls, SEXP autos, SEXP emburns// NumericMatrix xr(xs); NumericMatrix thetar(thetas); NumericVector tol(tols); NumericMatrix AMr1r(AMr1s); NumericMatrix orr(os); NumericMatrix mr(ms); NumericVector ir(ivec); NumericVector emburn(emburns); NumericVector p2sr(p2ss); NumericVector emprir(empris); // NumericVector frontend(fends); NumericVector allthetas(alls); NumericVector autopri(autos); int p2s = p2sr(0), empri = emprir(0); int n = xr.nrow(), k = xr.ncol(); int const AMn = n; int npatt = orr.nrow(); int cvalue = 1; arma::mat x(xr.begin(), n, k, false); arma::mat thetaold(thetar.begin(), k + 1, k + 1, false); arma::mat AMr1(AMr1r.begin(), n, k, false); arma::mat obsmat(orr.begin(), npatt, k, false); arma::mat mismat(mr.begin(), npatt, k, false); arma::vec ii(ir.begin(), n, false); //Rcpp::Rcout << "Set up arma things. " << std::endl; // Bring out your priors. NumericMatrix prr; int npr, knr; arma::mat priors; if (!Rf_isNull(prs)) { prr = NumericMatrix(prs); npr = prr.nrow(); knr = prr.ncol(); priors = arma::mat(prr.begin(), npr, knr, false); } int count = 0; int is, isp; //int nparam = arma::accu(arma::find(arma::trimatu(thetaold))); arma::uvec upperpos = arma::find(arma::trimatu(arma::ones(k+1,k+1))); arma::mat xplay = arma::zeros(AMn,k); arma::mat hmcv(k,k); arma::mat imputations(2,k); arma::vec music(k); arma::mat thetanew(k+1, k+1); arma::mat theta(k+1, k+1); arma::vec sweeppos(k+1); arma::uvec mispos; arma::uvec thetaleft; arma::vec etest; arma::mat iterHist(1,3); arma::mat thetaHolder(upperpos.n_elem,1); thetaHolder.col(0) = thetaold.elem(upperpos); iterHist.zeros(); sweeppos.zeros(); hmcv.zeros(); music.zeros(); int st, ss, singFlag, monoFlag; if (arma::accu(mismat.row(0)) == 0) { st = 1; } else { st = 0; } // if (empri > 0) { arma::mat hold = empri * arma::eye(k,k); arma::mat simple(k,k); //} if (p2s > 0) Rcpp::Rcout << std::endl; //Rcpp::Rcout << "Starting loop. " << std::endl; while ( ( (cvalue > 0) || (count < emburn(0)) ) && ( (count < emburn(1)) || (emburn(1) < 1))) { count++; hmcv.zeros(k,k); music.zeros(k); xplay.zeros(AMn,k); if (p2s > 0) { if (count < 10) { Rcpp::Rcout << " " << count; } else { Rcpp::Rcout << " " << count; } if (count % 20 == 0) { Rcpp::Rcout << std::endl; } } if (st == 1) { xplay.rows(0,ii(1)-2) = x.rows(0,ii(1)-2); } if (Rf_isNull(prs)) { for (ss = st; ss < obsmat.n_rows; ss++) { is = ii(ss)-1; isp = ii(ss+1)-2; theta = thetaold; sweeppos.zeros(); sweeppos(arma::span(1,k)) = arma::trans(obsmat.row(ss)); sweep(theta, sweeppos); imputations.zeros(); imputations.set_size(isp - is, k); imputations = x.rows(is, isp) * theta(arma::span(1,k), arma::span(1,k)); imputations.each_row() += theta(0, arma::span(1,k)); imputations = AMr1.rows(is, isp) % imputations; xplay.rows(is, isp) = x.rows(is, isp) + imputations; mispos = arma::find(mismat.row(ss)); hmcv(mispos, mispos) += (1+ isp - is) * theta(mispos+1, mispos+1); } } else { for (ss = st; ss < obsmat.n_rows; ss++) { is = ii(ss)-1; isp = ii(ss+1)-2; theta = thetaold; sweeppos.zeros(); sweeppos(arma::span(1,k)) = arma::trans(obsmat.row(ss)); sweep(theta, sweeppos); imputations.zeros(); imputations.set_size(isp - is, k); imputations = x.rows(is, isp) * theta(arma::span(1,k), arma::span(1,k)); imputations.each_row() += theta(0, arma::span(1,k)); imputations = AMr1.rows(is, isp) % imputations; mispos = arma::find(mismat.row(ss)); arma::mat solveSigma = arma::inv(theta(mispos + 1, mispos + 1)); arma::mat diagLambda = arma::zeros(mispos.n_elem, mispos.n_elem); for (int p = 0; p <= isp-is; p++) { arma::uvec prRow = arma::find(priors.col(0) == p + is + 1); if (prRow.n_elem > 0) { arma::uvec pu(1); pu(0) = p; arma::mat thisPrior = priors.rows(prRow); arma::uvec theseCols = arma::conv_to::from(thisPrior.col(1)-1); arma::vec prHolder = arma::zeros(k); prHolder.elem(theseCols) = thisPrior.col(3); diagLambda.diag() = prHolder.elem(mispos); arma::mat wvar = arma::inv(diagLambda + solveSigma); prHolder.elem(theseCols) = thisPrior.col(2); arma::mat firstInner = solveSigma * arma::trans(imputations(pu, mispos)); arma::mat secondInner = prHolder.elem(mispos); arma::mat muMiss = wvar * (secondInner + firstInner); imputations(pu, mispos) = arma::trans(muMiss); hmcv(mispos, mispos) += wvar; } else { hmcv(mispos, mispos) += theta(mispos + 1, mispos + 1); } } xplay.rows(is, isp) = x.rows(is, isp) + imputations; } } hmcv += xplay.t() * xplay; music += arma::trans(arma::sum(xplay)); if (empri > 0) { simple = (music * arma::trans(music))/AMn; hmcv = (( (double)AMn/(AMn+empri+k+2)) * (hmcv - simple + hold)) + simple; } thetanew(0,0) = AMn; thetanew(0, arma::span(1,k)) = arma::trans(music); thetanew(arma::span(1,k), 0) = music; thetanew(arma::span(1,k), arma::span(1,k)) = hmcv; thetanew = thetanew/AMn; thetanew = symmatu(thetanew); sweeppos.zeros(); sweeppos(0) = 1; sweep(thetanew, sweeppos); theta = arma::abs(thetanew - thetaold); thetaleft = arma::find(arma::trimatu(theta) > tol(0)); cvalue = thetaleft.n_elem; thetaold = thetanew; if (cvalue > iterHist(count-1,0) && count > 20) { monoFlag = 1; if (autopri(0) > 0) { if (arma::accu(iterHist(arma::span(count - 20, count - 1), 2)) > 3) { if (empri < (autopri(0) * (double)n)) { empri = empri + 0.01 * (double)n; } } } } else { monoFlag = 0; } etest = arma::eig_sym(thetaold(arma::span(1,k), arma::span(1,k))); if (arma::accu(etest <= 0)) { singFlag = 1; } else { singFlag = 0; } if (p2s > 1) { Rcpp::Rcout << "(" << cvalue << ")"; if (monoFlag == 1) { Rcpp::Rcout << "*"; } if (singFlag == 1) { Rcpp::Rcout << "!"; } } iterHist.resize(iterHist.n_rows+1, iterHist.n_cols); iterHist(count, 0) = cvalue; iterHist(count, 1) = monoFlag; iterHist(count, 2) = singFlag; if (allthetas(0) == 1) { thetaHolder.resize(thetaHolder.n_rows, thetaHolder.n_cols + 1); thetaHolder.col(count) = thetaold.elem(upperpos); } } iterHist.shed_row(0); if (p2s > 0) Rcpp::Rcout << std::endl; List z; if (allthetas(0) == 1) { thetaHolder.shed_row(0); z = List::create(Rcpp::Named("thetanew") = thetaHolder, Rcpp::Named("iter.hist") = iterHist); } else { z = List::create(Rcpp::Named("theta") = thetaold, Rcpp::Named("iter.hist") = iterHist); } return z ; } // void sweep(arma::mat& g, arma::vec m) { // int p = g.n_rows, h, j, i; // arma::uvec k = arma::find(m); // if (k.n_elem == p) { // g = -arma::inv(g); // } else { // for (h = 0; h < k.n_rows; h++) { // for (j = 0; j < p; j++) { // for (i = 0; i <= j; i++) { // if (i == k(h)) { // if (j == k(h)) { // g(i,j) = -1/g(i,j); // //Rcpp::Rcout << k(h) << ": " << "(i,j): (" <(k+1,k+1)))); arma::mat xplay = arma::zeros(AMn,k); arma::mat imputations(2,k); arma::mat theta(k+1, k+1); arma::mat junk(2,k); arma::mat Ci(k, k); arma::vec sweeppos(k+1); arma::uvec mispos; sweeppos.zeros(); int st, ss; if (arma::accu(mismat.row(0)) == 0) { st = 1; } else { st = 0; } if (st == 1) { xplay.rows(0,ii(1)-2) = x.rows(0,ii(1)-2); } if (Rf_isNull(prs)) { for (ss = st; ss < obsmat.n_rows; ss++) { is = ii(ss)-1; isp = ii(ss+1)-2; theta = thetaold; sweeppos.zeros(); sweeppos(arma::span(1,k)) = arma::trans(obsmat.row(ss)); sweep(theta, sweeppos); mispos = arma::find(mismat.row(ss)); Ci.zeros(k, k); Ci(mispos, mispos) = chol(theta(mispos+1, mispos + 1)); junk = Rcpp::rnorm((isp - is + 1)* k, 0, 1); junk.reshape(isp - is +1, k); junk = junk * Ci; imputations.zeros(); imputations.set_size(isp - is, k); imputations = x.rows(is, isp) * theta(arma::span(1,k), arma::span(1,k)); imputations.each_row() += theta(0, arma::span(1,k)); imputations = AMr1.rows(is, isp) % imputations; if (Rf_isNull(bdss)) { xplay.rows(is, isp) = x.rows(is, isp) + imputations + junk; } else { xplay.rows(is, isp) = resampler(x.rows(is, isp), Ci, imputations, mispos, bounds, maxsamples); } } } else { for (ss = st; ss < obsmat.n_rows; ss++) { is = ii(ss)-1; isp = ii(ss+1)-2; theta = thetaold; sweeppos.zeros(); sweeppos(arma::span(1,k)) = arma::trans(obsmat.row(ss)); sweep(theta, sweeppos); junk.zeros(isp - is + 1, k); junk = Rcpp::rnorm((isp - is + 1)* k, 0, 1); junk.reshape(isp - is +1, k); imputations.zeros(); imputations.set_size(isp - is, k); imputations = x.rows(is, isp) * theta(arma::span(1,k), arma::span(1,k)); imputations.each_row() += theta(0, arma::span(1,k)); imputations = AMr1.rows(is, isp) % imputations; mispos = arma::find(mismat.row(ss)); arma::mat solveSigma = arma::inv(theta(mispos + 1, mispos + 1)); arma::mat diagLambda = arma::zeros(mispos.n_elem, mispos.n_elem); for (int p = 0; p <= isp-is; p++) { arma::uvec prRow = arma::find(priors.col(0) == p + is + 1); Ci.zeros(k,k); if (prRow.n_elem > 0) { arma::uvec pu(1); pu(0) = p; arma::mat thisPrior = priors.rows(prRow); arma::uvec theseCols = arma::conv_to::from(thisPrior.col(1)-1); arma::vec prHolder = arma::zeros(k); prHolder.elem(theseCols) = thisPrior.col(3); diagLambda.diag() = prHolder.elem(mispos); arma::mat wvar = arma::inv(diagLambda + solveSigma); prHolder.elem(theseCols) = thisPrior.col(2); arma::mat muMiss = wvar * (prHolder.elem(mispos) + solveSigma * arma::trans(imputations(pu, mispos))); imputations(pu, mispos) = arma::trans(muMiss); Ci(mispos, mispos) = chol(wvar); } else { Ci(mispos, mispos) = chol(theta(mispos + 1, mispos + 1)); } junk.row(p) = junk.row(p) * Ci; if (Rf_isNull(bdss)) { xplay.row(is + p) = x.row(is + p) + imputations.row(p) + junk.row(p); } else { xplay.row(is + p) = resampler(x.row(is + p), Ci, imputations.row(p), mispos, bounds, maxsamples); } } } } return wrap(xplay); } arma::mat resampler(arma::mat x, arma::mat ci, arma::mat imps, arma::uvec mss, arma::mat bounds, int maxsample) { int nss = x.n_rows, k = x.n_cols; arma::mat ub(nss, k); arma::mat lb(nss, k); arma::umat utest; arma::umat ltest; ub.fill(arma::datum::inf); lb.fill(-arma::datum::inf); arma::mat xp = arma::zeros(nss, k); arma::mat junk = Rcpp::rnorm(nss * k, 0, 1); junk.reshape(nss, k); junk = junk * ci; int nb = 0, bdvar; for (int j = 0; j < bounds.n_rows; j++) { bdvar = (int) bounds(j,0) - 1; if (arma::accu(mss == bdvar)) { nb++; lb.col(bdvar) = arma::ones(nss) * bounds(j,1); ub.col(bdvar) = arma::ones(nss) * bounds(j,2); } } if (nb == 0) { return x + imps + junk; } //Rcpp::Rcout << ub << std::endl; int samp = 0; arma::colvec done = arma::zeros(nss); arma::colvec left = arma::ones(nss); arma::uvec finished; while ((arma::accu(left) > 0) & (samp < maxsample)) { samp++; utest = (imps + junk) > ub; ltest = (imps + junk) < lb; done += left % (arma::sum(utest + ltest, 1) == 0); finished = arma::find(left % (arma::sum(utest + ltest, 1) == 0)); left -= left % (arma::sum(utest + ltest, 1) == 0); ub.rows(finished).fill(arma::datum::inf); lb.rows(finished).fill(-arma::datum::inf); xp.rows(finished) = x.rows(finished) + imps.rows(finished) + junk.rows(finished); junk = Rcpp::rnorm(nss * k, 0, 1); junk.reshape(nss, k); junk = junk * ci; } if (arma::accu(left) > 0) { xp.rows(arma::find(left)) = x.rows(arma::find(left)) + imps.rows(arma::find(left)) + junk.rows(arma::find(left)); utest = (imps + junk) > ub; ltest = (imps + junk) < lb; arma::uvec ufails = arma::find(utest); arma::uvec lfails = arma::find(ltest); xp.elem(ufails) = ub.elem(ufails); xp.elem(lfails) = lb.elem(lfails); } return xp; } Amelia/NAMESPACE0000644000176200001440000000237714335240021012664 0ustar liggesusersexport(amelia, write.amelia, AmeliaView, ## amelia.prep, ameliabind, compare.density, overimpute, disperse, tscsPlot, missmap, moPrep, transform.amelia, mi.meld, amelia.molist, amelia.default, with.amelia, mi.combine) import(foreign) import(utils) import(Rcpp) S3method(print, amelia) S3method(plot, amelia) S3method(summary, amelia) S3method(summary, mi) S3method(amelia, amelia) S3method(amelia, default) S3method(amelia, molist) S3method(moPrep, molist) S3method(moPrep, default) S3method(transform, amelia) S3method(with, amelia) useDynLib(Amelia) importFrom("grDevices", "chull", "colorRampPalette", "dev.copy2pdf", "dev.new", "devAskNewPage", "heat.colors", "rainbow", "rgb") importFrom("graphics", "abline", "arrows", "axis", "hist", "image", "legend", "lines", "matplot", "par", "plot", "plot.new", "plot.window", "points", "rect", "segments", "text", "xinch", "xyinch", "layout") importFrom("methods", "hasArg", "is") importFrom("stats", "coef", "complete.cases", "cov", "density", "lm", "na.omit", "prcomp", "qnorm", "quantile", "rbinom", "reshape", "rnorm", "runif", "sd", "var") Amelia/inst/0000755000176200001440000000000014713163340012421 5ustar liggesusersAmelia/inst/CITATION0000644000176200001440000000150714335240021013551 0ustar liggesuserscitHeader("To cite Amelia in publications use:") bibentry( bibtype = "Article", title = "{Amelia II}: A Program for Missing Data", author = c(person("James", "Honaker", email = "james@hona.kr", role="aut"), person("Gary", "King", email="king@harvard.edu", role="aut"), person("Matthew", "Blackwell", email="mblackwell@gov.harvard.edu", role="aut")), journal = "Journal of Statistical Software", year = "2011", volume = "45", number = "7", pages = "1--47", doi = "10.18637/jss.v045.i07", textVersion = paste("James Honaker, Gary King, Matthew Blackwell (2011).", "Amelia II: A Program for Missing Data.", "Journal of Statistical Software, 45(7), 1-47.", "URL https://www.jstatsoft.org/v45/i07/.") ) Amelia/inst/doc/0000755000176200001440000000000014713163340013166 5ustar liggesusersAmelia/inst/doc/using-amelia.html0000644000176200001440000105162114713163340016435 0ustar liggesusers Using Amelia

Using Amelia

2024-11-07

Data

We now demonstrate how to use Amelia using data from Milner and Kubota (2005) which studies the effect of democracy on trade policy. For the purposes of this user’s guide, we will use a subset restricted to nine developing countries in Asia from 1980 to 19991. This dataset includes 9 variables:

Variable Description
year year
country country
tariff average tariff rates
polity Polity IV Score2
pop total population
gdp.pc gross domestic product per capita
intresmi gross international reserves
signed dummy variable if signed an IMF agreement that year
fivop measure of financial openness
usheg measure of US hegemony3

These variables correspond to the variables used in the analysis model of Milner and Kubota (2005) in table 2.

We first load the Amelia and the data:

library(Amelia)
data(freetrade)

We can check the summary statistics of the data to see that there is missingness on many of the variables:

summary(freetrade)
##       year        country              tariff          polity    
##  Min.   :1981   Length:171         Min.   :  7.1   Min.   :-8.0  
##  1st Qu.:1985   Class :character   1st Qu.: 16.3   1st Qu.:-2.0  
##  Median :1990   Mode  :character   Median : 25.2   Median : 5.0  
##  Mean   :1990                      Mean   : 31.6   Mean   : 2.9  
##  3rd Qu.:1995                      3rd Qu.: 40.8   3rd Qu.: 8.0  
##  Max.   :1999                      Max.   :100.0   Max.   : 9.0  
##                                    NA's   :58      NA's   :2     
##       pop               gdp.pc         intresmi         signed     
##  Min.   :1.41e+07   Min.   :  150   Min.   :0.904   Min.   :0.000  
##  1st Qu.:1.97e+07   1st Qu.:  420   1st Qu.:2.223   1st Qu.:0.000  
##  Median :5.28e+07   Median :  814   Median :3.182   Median :0.000  
##  Mean   :1.50e+08   Mean   : 1867   Mean   :3.375   Mean   :0.155  
##  3rd Qu.:1.21e+08   3rd Qu.: 2463   3rd Qu.:4.406   3rd Qu.:0.000  
##  Max.   :9.98e+08   Max.   :12086   Max.   :7.935   Max.   :1.000  
##                                     NA's   :13      NA's   :3      
##      fiveop         usheg      
##  Min.   :12.3   Min.   :0.256  
##  1st Qu.:12.5   1st Qu.:0.262  
##  Median :12.6   Median :0.276  
##  Mean   :12.7   Mean   :0.276  
##  3rd Qu.:13.2   3rd Qu.:0.289  
##  Max.   :13.2   Max.   :0.308  
##  NA's   :18

In the presence of missing data, most statistical packages use listwise deletion, which removes any row that contains a missing value from the analysis. Using the base model of Milner and Kubota (2005) Table 2, we run a simple linear model in R, which uses listwise deletion:

summary(lm(tariff ~ polity + pop + gdp.pc + year + country,
          data = freetrade))
## 
## Call:
## lm(formula = tariff ~ polity + pop + gdp.pc + year + country, 
##     data = freetrade)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -30.764  -3.259   0.087   2.598  18.310 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)
## (Intercept)         1.97e+03   4.02e+02    4.91  3.6e-06
## polity             -1.37e-01   1.82e-01   -0.75     0.45
## pop                -2.02e-07   2.54e-08   -7.95  3.2e-12
## gdp.pc              6.10e-04   7.44e-04    0.82     0.41
## year               -8.71e-01   2.08e-01   -4.18  6.4e-05
## countryIndonesia   -1.82e+02   1.86e+01   -9.82  3.0e-16
## countryKorea       -2.20e+02   2.08e+01  -10.61  < 2e-16
## countryMalaysia    -2.25e+02   2.17e+01  -10.34  < 2e-16
## countryNepal       -2.16e+02   2.25e+01   -9.63  7.7e-16
## countryPakistan    -1.55e+02   1.98e+01   -7.84  5.6e-12
## countryPhilippines -2.04e+02   2.09e+01   -9.77  3.7e-16
## countrySriLanka    -2.09e+02   2.21e+01   -9.46  1.8e-15
## countryThailand    -1.96e+02   2.10e+01   -9.36  3.0e-15
## 
## Residual standard error: 6.22 on 98 degrees of freedom
##   (60 observations deleted due to missingness)
## Multiple R-squared:  0.925,  Adjusted R-squared:  0.915 
## F-statistic:  100 on 12 and 98 DF,  p-value: <2e-16

Note that 60 of the 171 original observations are deleted due to missingness. These observations, however, are partially observed, and contain valuable information about the relationships between those variables which are present in the partially completed observations. Multiple imputation will help us retrieve that information and make better, more efficient, inferences.

Multiple Imputation

When performing multiple imputation, the first step is to identify the variables to include in the imputation model. It is crucial to include at least as much information as will be used in the analysis model. That is, any variable that will be in the analysis model should also be in the imputation model. This includes any transformations or interactions of variables that will appear in the analysis model.

In fact, it is often useful to add more information to the imputation model than will be present when the analysis is run. Since imputation is predictive, any variables that would increase predictive power should be included in the model, even if including them in the analysis model would produce bias in estimating a causal effect (such as for post-treatment variables) or collinearity would preclude determining which variable had a relationship with the dependent variable (such as including multiple alternate measures of GDP). In our case, we include all the variables in freetrade in the imputation model, even though our analysis model focuses on polity, pop and gdp.pc. We’re not incorporating time or spatial data yet, but we do below.

To create multiple imputations in Amelia, we can simply run

a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country")
## -- Imputation 1 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14
## 
## -- Imputation 2 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14
## 
## -- Imputation 3 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
## 
## -- Imputation 4 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
## 
## -- Imputation 5 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
a.out
## 
## Amelia output with 5 imputed datasets.
## Return code:  1 
## Message:  Normal EM convergence. 
## 
## Chain Lengths:
## --------------
## Imputation 1:  14
## Imputation 2:  14
## Imputation 3:  16
## Imputation 4:  15
## Imputation 5:  18

Note that our example dataset is deliberately small both in variables and in cross-sectional elements. Typical datasets may often have hundreds or possibly a couple thousand steps to the EM algorithm. Long chains should remind the analyst to consider whether transformations of the variables would more closely fit the multivariate normal assumptions of the model (correct but omitted transformations will shorten the number of steps and improve the fit of the imputations), but do not necessarily denote problems with the imputation model.

The output gives some information about how the algorithm ran. Each of the imputed datasets is now in the list a.out$imputations. Thus, we could plot a histogram of the tariff variable from the 3rd imputation,

hist(a.out$imputations[[3]]$tariff, col = "grey", border = "white")

Saving imputed datasets

If you need to save your imputed datasets, one direct method is to save the output list from amelia,

save(a.out, file = "imputations.RData")

As in the previous example, the ith imputed datasets can be retrieved from this list as a.out$imputations[[i]].

In addition, you can save each of the imputed datasets to its own file using the write.amelia() command,

write.amelia(obj = a.out, file.stem = "outdata")

This will create one comma-separated value file for each imputed dataset in the following manner:

outdata1.csv
outdata2.csv
outdata3.csv
outdata4.csv
outdata5.csv

The write.amelia function can also save files in tab-delimited and Stata (.dta) file formats. For instance, to save Stata files, simply change the format argument to "dta",

write.amelia(obj = a.out, file.stem = "outdata", format = "dta")

Additionally, write.amelia() can create a “stacked†version of the imputed dataset which stacks each imputed dataset on top of one another. This can be done by setting the argument to FALSE. The resulting matrix is of size \((N \cdot m) \times p\) if the original dataset is excluded (orig.data = FALSE) and of size \((N \cdot (m+1))\times p\) if it is included (orig.data = TRUE). The stacked dataset will include a variable (set with impvar) that indicates to which imputed dataset the observation belongs.

Combining multiple calls to amelia()

The EMB algorithm is what computer scientists call embarrassingly parallel, meaning that it is simple to separate each imputation into parallel processes. With Amelia it is simple to run subsets of the imputations on different machines and then combine them after the imputation for use in analysis model. This allows for a huge increase in the speed of the algorithm.

Output lists from different Amelia runs can be combined together into a new list. For instance, suppose that we wanted to add another ten imputed datasets to our earlier call to amelia(). First, run the function to get these additional imputations,

a.out.more <- amelia(freetrade, m = 10, ts = "year", cs = "country", p2s = 0)
a.out.more
## 
## Amelia output with 10 imputed datasets.
## Return code:  1 
## Message:  Normal EM convergence. 
## 
## Chain Lengths:
## --------------
## Imputation 1:  18
## Imputation 2:  16
## Imputation 3:  14
## Imputation 4:  17
## Imputation 5:  12
## Imputation 6:  21
## Imputation 7:  8
## Imputation 8:  14
## Imputation 9:  20
## Imputation 10:  9

then combine this output with our original output using the ameliabind() function,

a.out.more <- ameliabind(a.out, a.out.more)
a.out.more
## 
## Amelia output with 15 imputed datasets.
## Return code:  1 
## Message:  Normal EM convergence 
## 
## Chain Lengths:
## --------------
## Imputation 1:  14
## Imputation 2:  14
## Imputation 3:  16
## Imputation 4:  15
## Imputation 5:  18
## Imputation 6:  18
## Imputation 7:  16
## Imputation 8:  14
## Imputation 9:  17
## Imputation 10:  12
## Imputation 11:  21
## Imputation 12:  8
## Imputation 13:  14
## Imputation 14:  20
## Imputation 15:  9

This function binds the two outputs into the same output so that you can pass the combined imputations easily to analysis models and diagnostics. Note that a.out.more now has a total of 15 imputations.

A simple way to execute a parallel processing scheme with Amelia would be to run amelia() with m set to 1 on \(m\) different machines or processors, save each output using the save() function, load them all on the same R session using load() command and then combine them using ameliabind(). In order to do this, however, make sure to name each of the outputs a different name so that they do not overwrite each other when loading into the same R session. Also, some parallel environments will dump all generated files into a common directory, where they may overwrite each other. If it is convenient in a parallel environment to run a large number of amelia() calls from a single piece of code, one useful way to avoid overwriting is to create the file.stem with a random suffix. For example:

b <- round(runif(1, min = 1111, max = 9999))
random.name <- paste("am", b, sep = "")
amelia <- write.amelia(obj = a.out, file.stem = random.name)

Screen output

Screen output can be adjusted with the “print to screen†argument, p2s. At a value of 0, no screen printing will occur. This may be useful in large jobs or simulations where a very large number of imputation models may be required. The default value of 1, lists each bootstrap, and displays the number of iterations required to reach convergence in that bootstrapped dataset. The value of 2 gives more thorough screen output, including, at each iteration, the number of parameters that have significantly changed since the last iteration. This may be useful when the EM chain length is very long, as it can provide an intuition for many parameters still need to converge in the EM chain, and a sense of the time remaining. However, it is worth noting that the last several parameters can often take a significant fraction of the total number of iterations to converge. Setting p2s to 2 will also generate information on how EM algorithm is behaving, such as a ! when the current estimated complete data covariance matrix is not invertible and a * when the likelihood has not monotonically increased in that step. Having many of these two symbols in the screen output is an indication of a problematic imputation model. Problems of non-invertible matrices often mean that current guess for the covariance matrix is singular. This is a sign that there may be two highly correlated variables in the model. One way to resolve is to use a ridge prior (see @ref(sec_prior)).

An example of the output when p2s is 2 would be

a.out.p2s <- amelia(freetrade, m = 1, ts = "year", cs = "country", p2s = 2)
## 
## amelia starting
## beginning prep functions
## Variables used:  tariff polity pop gdp.pc intresmi signed fiveop usheg 
## running bootstrap
## -- Imputation 1 --
## setting up EM chain indicies
## 
##   1(44)  2(33)  3(27)  4(21)  5(22)  6(22)  7(19)  8(18)  9(14) 10(8) 11(6) 12(2) 13(0)
## 
##  saving and cleaning

Parallel Imputation

Each imputation in the above EMB algorithm is completely independent of any other imputation, a property called embarrassingly parallel. This type of approach can take advantage of the multiple-core infrastructure of modern CPUs. Each core in a multi-core processor can execute independent operations in parallel. Amelia can utilize this parallel processing internally via the parallel and the ncpus arguments. The parallel argument sets the parallel processing backend, either with "multicore" or "snow" (or "no" for no parallel processing). The "multicore" backend is not available on Windows systems, but tends to be quicker at parallel processing. On a Windows system, the "snow" backend provides parallel processing through a cluster of worker processes across the CPUs. You can set the default for this argument using the "amelia.parallel" option. This allows you to run Amelia in parallel as the default for an entire R session without setting arguments in the amelia() call.

For each of the parallel backends, Amelia requires a number of CPUs to use in parallel. This can be set using the ncpus argument. It can be higher than the number of physical cores in the system if hyperthreading or other technologies are available. You can use the parallel::detectCores() function to determine how many cores are available on your machine. The default for this argument can be set using the "amelia.ncpus" option.

On Unix-alike systems (such as macOS and Linux distributions), the "multicore" backend automatically sets up and stops the parallel workers by forking the process. On Windows, the "snow" backend requires more attention. Amelia will attempt to create a parallel cluster of worker processes (since Windows systems cannot fork a process) and will stop this cluster after the imputations are complete. Alternatively, Amelia also has a cl argument, which accepts a predefined cluster made using the parallel::makePSOCKcluster(). For more information about parallel processing in R, see the documentation for the parallel package that ships along with R or the CRAN Task View on Parallel Computing with R

Improving Imputations via Transformations

Social science data commonly includes variables that fail to fit to a multivariate normal distribution. Indeed, numerous models have been introduced specifically to deal with the problems they present. As it turns out, much evidence in the literature (discussed in King et al. 2001) indicates that the multivariate normal model used in Amelia usually works well for the imputation stage even when discrete or non-normal variables are included and when the analysis stage involves these limited dependent variable models. Nevertheless, Amelia includes some limited capacity to deal directly with ordinal and nominal variables and to modify variables that require other transformations. In general nominal and log transform variables should be declared to Amelia, whereas ordinal (including dichotomous) variables often need not be, as described below. (For harder cases, see (Schafer 1997), for specialized MCMC-based imputation models for discrete variables.)

Although these transformations are taken internally on these variables to better fit the data to the multivariate normal assumptions of the imputation model, all the imputations that are created will be returned in the original untransformed form of the data. If the user has already performed transformations on their data (such as by taking a log or square root prior to feeding the data to amelia()) these do not need to be declared, as that would result in the transformation occurring doubly in the imputation model. The fully imputed data sets that are returned will always be in the form of the original data that is passed to the amelia() routine.

Ordinal

In much statistical research, researchers treat independent ordinal (including dichotomous) variables as if they were really continuous. If the analysis model to be employed is of this type, then nothing extra is required of the of the imputation model. Users are advised to allow Amelia to impute non-integer values for any missing data, and to use these non-integer values in their analysis. Sometimes this makes sense, and sometimes this defies intuition. One particular imputation of 2.35 for a missing value on a seven point scale carries the intuition that the respondent is between a 2 and a 3 and most probably would have responded 2 had the data been observed. This is easier to accept than an imputation of 0.79 for a dichotomous variable where a zero represents a male and a one represents a female respondent. However, in both cases the non-integer imputations carry more information about the underlying distribution than would be carried if we were to force the imputations to be integers. Thus whenever the analysis model permits, missing ordinal observations should be allowed to take on continuously valued imputations.

In the freetrade data, one such ordinal variable is polity which ranges from -10 (full autocracy) to 10 (full democracy). If we tabulate this variable from one of the imputed datasets,

table(a.out$imputations[[3]]$polity)
## 
##               -8 -7.4578371590967               -7               -6 
##                1                1               22                4 
##               -5               -4               -2               -1 
##                7                3                9                1 
##                2                3                4                5 
##                7                7               15               26 
##                6                7                8                9 
##               13                5               36               13 
## 9.78025479283451 
##                1

we can see that there is one imputation between -4 and -3 and one imputation between 6 and 7. Again, the interpretation of these values is rather straightforward even if they are not strictly in the coding of the original Polity data.

Often, however, analysis models require some variables to be strictly ordinal, as for example, when the dependent variable will be modeled in a logistical or Poisson regression. Imputations for variables set as ordinal are created by taking the continuously valued imputation and using an appropriately scaled version of this as the probability of success in a binomial distribution. The draw from this binomial distribution is then translated back into one of the ordinal categories.

For our data we can simply add polity to the ords argument:

a.out1 <- amelia(freetrade, m = 5, ts = "year", cs = "country", ords =
                 "polity", p2s = 0)
table(a.out1$imputations[[3]]$polity)
## 
## -8 -7 -6 -5 -4 -2 -1  2  3  4  5  6  7  8  9 
##  1 22  4  8  3  9  1  7  7 15 26 13  5 36 14

Now, we can see that all of the imputations fall into one of the original polity categories.

Nominal

Nominal variables4 must be treated quite differently than ordinal variables. Any multinomial variables in the data set (such as religion coded 1 for Catholic, 2 for Jewish, and 3 for Protestant) must be specified to Amelia. In our dataset, we have signed which is 1 if a country signed an IMF agreement in that year and 0 if it did not. Of course, our first imputation did not limit the imputations to these two categories

table(a.out1$imputations[[3]]$signed)
## 
##  -0.58172703933406 -0.417310204209806                  0  0.914087081006917 
##                  1                  1                142                  1 
##                  1 
##                 26

In order to fix this for a \(p\)-category multinomial variable, Amelia will determine \(p\) (as long as your data contain at least one value in each category), and substitute $ p-1$ binary variables to specify each possible category. These new \(p-1\) variables will be treated as the other variables in the multivariate normal imputation method chosen, and receive continuous imputations. These continuously valued imputations will then be appropriately scaled into probabilities for each of the \(p\) possible categories, and one of these categories will be drawn, where upon the original \(p\)-category multinomial variable will be reconstructed and returned to the user. Thus all imputations will be appropriately multinomial.

For our data we can simply add signed to the noms argument:

a.out2 <- amelia(freetrade, m = 5, ts = "year", cs = "country",
                 noms = "signed", p2s = 0)
table(a.out2$imputations[[3]]$signed)
## 
##   0   1 
## 143  28

Note that Amelia can only fit imputations into categories that exist in the original data. Thus, if there was a third category of signed, say 2, that corresponded to a different kind of IMF agreement, but it never occurred in the original data, Amelia could not match imputations to it.

Since Amelia properly treats a \(p\)-category multinomial variable as \(p-1\) variables, one should understand the number of parameters that are quickly accumulating if many multinomial variables are being used. If the square of the number of real and constructed variables is large relative to the number of observations, it is useful to use a ridge prior as in section @ref(sec_prior).

Natural log

If one of your variables is heavily skewed or has outliers that may alter the imputation in an unwanted way, you can use a natural logarithm transformation of that variable in order to normalize its distribution. This transformed distribution helps Amelia to avoid imputing values that depend too heavily on outlying data points. Log transformations are common in expenditure and economic variables where we have strong beliefs that the marginal relationship between two variables decreases as we move across the range.

For instance, we can show the tariff variable clearly has positive (or, right) skew while its natural log transformation has a roughly normal distribution.

hist(freetrade$tariff, col="grey", border="white")

hist(log(freetrade$tariff), col="grey", border="white")

Square root

Event count data is often heavily skewed and has nonlinear relationships with other variables. One common transformation to tailor the linear model to count data is to take the square roots of the counts. This is a transformation that can be set as an option in Amelia.

Logistic

Proportional data is sharply bounded between 0 and 1. A logistic transformation is one possible option in Amelia to make the distribution symmetric and relatively unbounded.

Identification Variables

Datasets often contain identification variables, such as country names, respondent numbers, or other identification numbers, codes or abbreviations. Sometimes these are text and sometimes these are numeric. Often it is not appropriate to include these variables in the imputation model, but it is useful to have them remain in the imputed datasets (However, there are models that would include the ID variables in the imputation model, such as fixed effects model for data with repeated observations of the same countries). Identification variables which are not to be included in the imputation model can be identified with the argument idvars. These variables will not be used in the imputation model, but will be kept in the imputed datasets.

If the year and country contained no information except labels, we could omit them from the imputation:

amelia(freetrade, idvars = c("year", "country"))
## -- Imputation 1 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
## 
## -- Imputation 2 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13
## 
## -- Imputation 3 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14
## 
## -- Imputation 4 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
## 
## -- Imputation 5 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
## 
## Amelia output with 5 imputed datasets.
## Return code:  1 
## Message:  Normal EM convergence. 
## 
## Chain Lengths:
## --------------
## Imputation 1:  18
## Imputation 2:  13
## Imputation 3:  14
## Imputation 4:  17
## Imputation 5:  15

Note that Amelia will return with an error if your dataset contains a factor or character variable that is not marked as a nominal or identification variable. Thus, if we were to omit the factor country from the cs or idvars arguments, we would receive an error:

a.out2 <- amelia(freetrade, idvars = c("year"))
## Amelia Error Code:  38 
##  The following variable(s) are characters: 
##   country
## You may have wanted to set this as a ID variable to remove it
## from the imputation model or as an ordinal or nominal
## variable to be imputed.  Please set it as either and
## try again.

In order to conserve memory, it is wise to remove unnecessary variables from a data set before loading it into Amelia. The only variables you should include in your data when running Amelia are variables you will use in the analysis stage and those variables that will help in the imputation model. While it may be tempting to simply mark unneeded variables as IDs, it only serves to waste memory and slow down the imputation procedure.

Time Series, or Time Series Cross Sectional Data

Many variables that are recorded over time within a cross-sectional unit are observed to vary smoothly over time. In such cases, knowing the observed values of observations close in time to any missing value may enormously aid the imputation of that value. However, the exact pattern may vary over time within any cross-section. There may be periods of growth, stability, or decline; in each of which the observed values would be used in a different fashion to impute missing values. Also, these patterns may vary enormously across different cross-sections, or may exist in some and not others. Amelia can build a general model of patterns within variables across time by creating a sequence of polynomials of the time index. If, for example, tariffs vary smoothly over time, then we make the modeling assumption that there exists some polynomial that describes the economy in cross-sectional unit \(i\) at time \(t\) as:

\[ \textrm{tariff}_{ti} = \beta_0 + \beta_1 t + \beta_1 t^2 + \beta_1 t^3 \ldots \]

And thus if we include enough higher order terms of time then the pattern between observed values of the tariff rate can be estimated. Amelia will create polynomials of time up to the user defined \(k\)-th order, (\(k\leq3\)).

We can implement this with the ts and polytime arguments. If we thought that a second-order polynomial would help predict we could run

a.out2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2)

With this input, Amelia will add covariates to the model that correspond to time and its polynomials. These covariates will help better predict the missing values.

If cross-sectional units are specified these polynomials can be interacted with the cross-section unit to allow the patterns over time to vary between cross-sectional units. Unless you strongly believe all units have the same patterns over time in all variables (including the same constant term), this is a reasonable setting. When \(k\) is set to 0, this interaction simply results in a model of fixed effects where every unit has a uniquely estimated constant term. Amelia does not smooth the observed data, and only uses this functional form, or one you choose, with all the other variables in the analysis and the uncertainty of the prediction, to impute the missing values.

In order to impute with trends specific to each cross-sectional unit, we can set intercs to TRUE:

a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1,
                 intercs = TRUE, p2s = 2)

Note that attempting to use polytime without the ts argument, or intercs without the cs argument will result in an error.

Using the tscsPlot() function (discussed below), we can see that we have a much better prediction about the missing values when incorporating time than when we omit it:

tscsPlot(a.out, cs = "Malaysia", main = "Malaysia (no time settings)",
         var = "tariff", ylim = c(-10, 60))

tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)",
         var = "tariff", ylim = c(-10, 60))

Lags and leads

An alternative way of handling time-series information is to include lags and leads of certain variables into the imputation model. Lags are variables that take the value of another variable in the previous time period while leads take the value of another variable in the next time period. Many analysis models use lagged variables to deal with issues of endogeneity, thus using leads may seems strange. It is important to remember, however, that imputation models are predictive, not causal. Thus, since both past and future values of a variable are likely correlated with the present value, both lags and leads should improve the model.

If we wanted to include lags and leads of tariffs, for instance, we would simply pass this to the lags and leads arguments:

a.out2 <- amelia(freetrade, ts = "year", cs = "country", lags = "tariff",
                 leads = "tariff")
## -- Imputation 1 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
## 
## -- Imputation 2 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
##  21 22
## 
## -- Imputation 3 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
##  21 22
## 
## -- Imputation 4 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
## 
## -- Imputation 5 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
##  21 22 23 24

Including Prior Information

Amelia has a number of methods of setting priors within the imputation model. Two of these are commonly used and discussed below, ridge priors and observational priors.

Ridge priors for high missingness, Small samples, or large correlations

When the data to be analyzed contain a high degree of missingness or very strong correlations among the variables, or when the number of observations is only slightly greater than the number of parameters \(p(p+3)/2\) (where \(p\) is the number of variables), results from your analysis model will be more dependent on the choice of imputation model. This suggests more testing in these cases of alternative specifications under Amelia. This can happen when using the polynomials of time interacted with the cross section are included in the imputation model. For example, in our data, if we used a polynomial of degree 2 with unit-specific trends and there are 9 countries, it would add \(3 \times 9 - 1= 17\) more variables to the imputation model (dropping one of the fixed effects for identification). When these are added, the EM algorithm can become unstable. You can detect this by inspecting the screen output under p2s = 2 or by observing that the number iterations per imputation are very divergent.

In these circumstances, we recommend adding a ridge prior which will help with numerical stability by shrinking the covariances among the variables toward zero without changing the means or variances. This can be done by including the empri argument. Including this prior as a positive number is roughly equivalent to adding empri artificial observations to the data set with the same means and variances as the existing data but with zero covariances. Thus, increasing the empri setting results in more shrinkage of the covariances, thus putting more a priori structure on the estimation problem: like many Bayesian methods, it reduces variance in return for an increase in bias that one hopes does not overwhelm the advantages in efficiency. In general, we suggest keeping the value on this prior relatively small and increase it only when necessary. A recommendation of 0.5 to 1 percent of the number of observations, \(n\), is a reasonable starting value, and often useful in large datasets to add some numerical stability. For example, in a dataset of two thousand observations, this would translate to a prior value of 10 or 20 respectively. A prior of up to 5 percent is moderate in most applications and 10 percent is reasonable upper bound.

For our data, it is easy to code up a 1 percent ridge prior:

a.out.time2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 1,
                 intercs = TRUE, p2s = 0, empri = .01 * nrow(freetrade))
a.out.time2
## 
## Amelia output with 5 imputed datasets.
## Return code:  1 
## Message:  Normal EM convergence. 
## 
## Chain Lengths:
## --------------
## Imputation 1:  17
## Imputation 2:  17
## Imputation 3:  13
## Imputation 4:  19
## Imputation 5:  20

Observation-level priors

Researchers often have additional prior information about missing data values based on previous research, academic consensus, or personal experience. Amelia can incorporate this information to produce vastly improved imputations. The Amelia algorithm allows users to include informative Bayesian priors about individual missing data cells instead of the more general model parameters, many of which have little direct meaning.

The incorporation of priors follows basic Bayesian analysis where the imputation turns out to be a weighted average of the model-based imputation and the prior mean, where the weights are functions of the relative strength of the data and prior: when the model predicts very well, the imputation will down-weight the prior, and vice versa (Honaker and King 2010).

The priors about individual observations should describe the analyst’s belief about the distribution of the missing data cell. This can either take the form of a mean and a standard deviation or a confidence interval. For instance, we might know that 1986 tariff rates in Thailand around 40%, but we have some uncertainty as to the exact value. Our prior belief about the distribution of the missing data cell, then, centers on 40 with a standard deviation that reflects the amount of uncertainty we have about our prior belief.

To input priors you must build a priors matrix with either four or five columns. Each row of the matrix represents a prior on either one observation or one variable. In any row, the entry in the first column is the row of the observation and the entry is the second column is the column of the observation. In the four column priors matrix the third and fourth columns are the mean and standard deviation of the prior distribution of the missing value.

For instance, suppose that we had some expert prior information about tariff rates in Thailand. We know from the data that Thailand is missing tariff rates in many years,

freetrade[freetrade$country == "Thailand", c("year", "country", "tariff")]
##     year  country tariff
## 153 1981 Thailand   32.3
## 154 1982 Thailand     NA
## 155 1983 Thailand     NA
## 156 1984 Thailand     NA
## 157 1985 Thailand   41.2
## 158 1986 Thailand     NA
## 159 1987 Thailand     NA
## 160 1988 Thailand     NA
## 161 1989 Thailand   40.8
## 162 1990 Thailand   39.8
## 163 1991 Thailand   37.8
## 164 1992 Thailand     NA
## 165 1993 Thailand   45.6
## 166 1994 Thailand   23.3
## 167 1995 Thailand   23.1
## 168 1996 Thailand     NA
## 169 1997 Thailand     NA
## 170 1998 Thailand   20.1
## 171 1999 Thailand   17.1

Suppose that we had expert information that tariff rates were roughly 40% in Thailand between 1986 and 1988 with about a 6% margin of error. This corresponds to a standard deviation of about 3. In order to include this information, we must form the priors matrix:

pr <- matrix(
  c(158, 159, 160, 3, 3, 3, 40, 40, 40, 3, 3, 3),
  nrow = 3, ncol = 4
)
pr
##      [,1] [,2] [,3] [,4]
## [1,]  158    3   40    3
## [2,]  159    3   40    3
## [3,]  160    3   40    3

The first column of this matrix corresponds to the row numbers of Thailand in these three years, the second column refers to the column number of tariff in the data and the last two columns refer to the actual prior. Once we have this matrix, we can pass it to amelia(),

a.out.pr <- amelia(freetrade, ts = "year", cs = "country", priors = pr)
## -- Imputation 1 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
## 
## -- Imputation 2 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12
## 
## -- Imputation 3 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12
## 
## -- Imputation 4 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
## 
## -- Imputation 5 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14

In the five column matrix, the last three columns describe a confidence range of the data. The columns are a lower bound, an upper bound, and a confidence level between 0 and 1, exclusive. Whichever format you choose, it must be consistent across the entire matrix. We could get roughly the same prior as above by utilizing this method. Our margin of error implies that we would want imputations between 34 and 46, so our matrix would be

pr.2 <- matrix(
  c(158, 159, 160, 3, 3, 3, 34, 34, 34, 46, 46, 46, 0.95, 0.95, 0.95),
  nrow = 3, ncol = 5
)
pr.2
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  158    3   34   46 0.95
## [2,]  159    3   34   46 0.95
## [3,]  160    3   34   46 0.95

These priors indicate that we are 95% confident that these missing values are in the range 34 to 46.

If a prior has the value 0 in the first column, this prior will be applied to all missing values in this variable, except for explicitly set priors. Thus, we could set a prior for the entire tariff variable of 20, but still keep the above specific priors with the following code:

pr.3 <- matrix(
  c(158, 159, 160, 0, 3, 3 , 3, 3, 40, 40, 40, 20, 3, 3, 3, 5),
  nrow = 4, ncol = 4)
pr.3
##      [,1] [,2] [,3] [,4]
## [1,]  158    3   40    3
## [2,]  159    3   40    3
## [3,]  160    3   40    3
## [4,]    0    3   20    5

Logical bounds

In some cases, variables in the social sciences have known logical bounds. Proportions must be between 0 and 1 and duration data must be greater than 0, for instance. Many of these logical bounds can be handled by using the correct transformation for that type of variable (see @ref(sec:trans) for more details on the transformations handled by Amelia). In the occasional case that imputations must satisfy certain logical bounds not handled by these transformations, Amelia can take draws from a truncated normal distribution in order to achieve imputations that satisfy the bounds. Note, however, that this procedure imposes extremely strong restrictions on the imputations and can lead to lower variances than the imputation model implies. The mean value across all the imputed values of a missing cell is the best guess from the imputation model of that missing value. The variance of the distribution across imputed datasets correctly reflects the uncertainty in that imputation. It is often the mean imputed value that should conform to the any known bounds, even if individual imputations are drawn beyond those bounds. The mean imputed value can be checked with the diagnostics presented in the next section. In general, building a more predictive imputation model will lead to better imputations than imposing bounds.

Amelia implements these bounds by rejection sampling. When drawing the imputations from their posterior, we repeatedly resample until we have a draw that satisfies all of the logical constraints. You can set an upper limit on the number of times to resample with the max.resample arguments. Thus, if after max.resample draws, the imputations are still outside the bounds, Amelia will set the imputation at the edge of the bounds. Thus, if the bounds were 0 and 100 and all of the draws were negative, Amelia would simply impute 0.

As an extreme example, suppose that we know, for certain that tariff rates had to fall between 30 and 40. This, obviously, is not true, but we can generate imputations from this model. In order to specify these bounds, we need to generate a matrix of bounds to pass to the bounds argument. This matrix will have 3 columns: the first is the column for the bounded variable, the second is the lower bound and the third is the upper bound. Thus, to implement our bound on tariff rates (the 3rd column of the dataset), we would create the matrix,

bds <- matrix(c(3, 30, 40), nrow = 1, ncol = 3)
bds
##      [,1] [,2] [,3]
## [1,]    3   30   40

which we can pass to the bounds argument to amelia():

a.out.bds <- amelia(freetrade, ts = "year", cs = "country", bounds = bds,
                    max.resample = 1000)
## -- Imputation 1 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
## 
## -- Imputation 2 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
## 
## -- Imputation 3 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12
## 
## -- Imputation 4 --
## 
##   1  2  3  4  5  6  7  8  9 10 11 12 13
## 
## -- Imputation 5 --
## 
##   1  2  3  4  5  6  7  8  9 10

The difference in results between the bounded and unbounded model are not obvious from the output, but inspection of the imputed tariff rates for Malaysia shows that there has been a drastic restriction of the imputations to the desired range:

tscsPlot(a.out, cs = "Malaysia", main = "No logical bounds", var = "tariff",
         ylim = c(-10, 60))

tscsPlot(a.out.bds, cs = "Malaysia", main = "Bounded between 30 and 40",
         var = "tariff", ylim = c(-10, 60))

Again, analysts should be extremely cautious when using these bounds as they can seriously affect the inferences from the imputation model, as shown in this example. Even when logical bounds exist, we recommend simply imputing variables normally, as the violation of the logical bounds represents part of the true uncertainty of imputation.

Post-imputations Transformations

In many cases, it is useful to create transformations of the imputed variables for use in further analysis. For instance, one may want to create an interaction between two variables or perform a log-transformation on the imputed data. To do this, Amelia includes a transform() function for amelia() output that adds or overwrites variables in each of the imputed datasets. For instance, if we wanted to create a log-transformation of the gdp.pc variable, we could use the following command:

a.out <- transform(a.out, lgdp = log(gdp.pc))
head(a.out$imputations[[1]][,c("country", "year","gdp.pc", "lgdp")])
##    country year gdp.pc  lgdp
## 1 SriLanka 1981  461.0 6.133
## 2 SriLanka 1982  473.8 6.161
## 3 SriLanka 1983  489.2 6.193
## 4 SriLanka 1984  508.2 6.231
## 5 SriLanka 1985  525.6 6.264
## 6 SriLanka 1986  538.9 6.290

To create an interaction between two variables, we could simply use:

a.out <- transform(a.out, pol_gdp = polity * gdp.pc)

Each transformation is recorded and the summary() command prints out each transformation that has been performed:

summary(a.out)
## 
## Amelia output with 5 imputed datasets.
## Return code:  1 
## Message:  Normal EM convergence. 
## 
## Chain Lengths:
## --------------
## Imputation 1:  14
## Imputation 2:  14
## Imputation 3:  16
## Imputation 4:  15
## Imputation 5:  18
## 
## Rows after Listwise Deletion:  96 
## Rows after Imputation:  171 
## Patterns of missingness in the data:  8 
## 
## Fraction Missing for original variables: 
## -----------------------------------------
## 
##          Fraction Missing
## year              0.00000
## country           0.00000
## tariff            0.33918
## polity            0.01170
## pop               0.00000
## gdp.pc            0.00000
## intresmi          0.07602
## signed            0.01754
## fiveop            0.10526
## usheg             0.00000
## lgdp              0.00000
## pol_gdp           0.01170
## 
## Post-imputation transformed variables: 
## -----------------------------------------
## 
##           Transformations
## lgdp =        log(gdp.pc)
## pol_gdp = polity * gdp.pc

Note the updated output is almost exactly the same as the fresh amelia() output. You can pass the transformed output back to amelia() and it will add imputations and update these imputations with the transformations you have performed.

Analysis Models

Imputation is most often a data processing step as opposed to a final model in of itself. To this end, it is easy to pass output from amelia() to other functions. The easiest and most integrated way to run an analysis model is to use the with() and mi.combine() functions. For example, in Milner and Kubota (2005), the dependent variable was tariff rates. We can replicate table 5.1 from their analysis with the original data simply by running

orig.model <- lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade)
orig.model
## 
## Call:
## lm(formula = tariff ~ polity + pop + gdp.pc + year + country, 
##     data = freetrade)
## 
## Coefficients:
##        (Intercept)              polity                 pop              gdp.pc  
##           1.97e+03           -1.37e-01           -2.02e-07            6.10e-04  
##               year    countryIndonesia        countryKorea     countryMalaysia  
##          -8.71e-01           -1.82e+02           -2.20e+02           -2.25e+02  
##       countryNepal     countryPakistan  countryPhilippines     countrySriLanka  
##          -2.16e+02           -1.55e+02           -2.04e+02           -2.09e+02  
##    countryThailand  
##          -1.96e+02

Running the same model with imputed data is almost identical. We can run the lm within each imputed data set by using the with() function:

imp.models <- with(
  a.out,
  lm(tariff ~ polity + pop + gdp.pc + year + country)
)
imp.models[1:2]
## [[1]]
## 
## Call:
## lm(formula = tariff ~ polity + pop + gdp.pc + year + country)
## 
## Coefficients:
##        (Intercept)              polity                 pop              gdp.pc  
##           2.44e+03            3.54e-01           -7.78e-08           -2.41e-04  
##               year    countryIndonesia        countryKorea     countryMalaysia  
##          -1.17e+00           -7.97e+01           -9.96e+01           -1.00e+02  
##       countryNepal     countryPakistan  countryPhilippines     countrySriLanka  
##          -9.41e+01           -5.53e+01           -9.26e+01           -9.38e+01  
##    countryThailand  
##          -8.69e+01  
## 
## 
## [[2]]
## 
## Call:
## lm(formula = tariff ~ polity + pop + gdp.pc + year + country)
## 
## Coefficients:
##        (Intercept)              polity                 pop              gdp.pc  
##           2.43e+03           -1.66e-02           -1.40e-07            1.23e-03  
##               year    countryIndonesia        countryKorea     countryMalaysia  
##          -1.13e+00           -1.28e+02           -1.72e+02           -1.67e+02  
##       countryNepal     countryPakistan  countryPhilippines     countrySriLanka  
##          -1.54e+02           -1.08e+02           -1.51e+02           -1.55e+02  
##    countryThailand  
##          -1.49e+02

The result here is simply a list of output of lm() applied to each imputed data set. We can combine the imputed estimates using the rules described in King et al. (2001) and Schafer (1997) with the mi.combine() function:

out <- mi.combine(imp.models, conf.int = TRUE)
out
## # A tibble: 13 × 10
##    term      estimate std.error statistic p.value    df     r miss.info conf.low
##    <chr>        <dbl>     <dbl>     <dbl>   <dbl> <dbl> <dbl>     <dbl>    <dbl>
##  1 (Interce…  2.72e+3   6.33e+2     4.31  2.21e-4 25.2  0.662     0.441  4.03e+3
##  2 polity     1.61e-1   3.29e-1     0.488 6.29e-1 36.9  0.491     0.363  8.28e-1
##  3 pop       -9.80e-8   5.30e-8    -1.85  1.91e+0 12.0  1.37      0.634  1.74e-8
##  4 gdp.pc     2.20e-4   1.35e-3     0.163 8.71e-1 35.8  0.502     0.368  2.96e-3
##  5 year      -1.30e+0   3.33e-1    -3.89  2.00e+0 23.3  0.708     0.459 -6.09e-1
##  6 countryI… -9.72e+1   3.97e+1    -2.45  1.97e+0 10.1  1.70      0.686 -8.75e+0
##  7 countryK… -1.25e+2   4.82e+1    -2.59  1.97e+0  8.93 2.02      0.725 -1.54e+1
##  8 countryM… -1.25e+2   4.73e+1    -2.64  1.97e+0  9.85 1.76      0.694 -1.92e+1
##  9 countryN… -1.17e+2   4.67e+1    -2.50  1.97e+0 10.8  1.56      0.666 -1.36e+1
## 10 countryP… -7.34e+1   4.27e+1    -1.72  1.88e+0 10.1  1.69      0.685  2.15e+1
## 11 countryP… -1.13e+2   4.52e+1    -2.51  1.97e+0 10.0  1.72      0.689 -1.27e+1
## 12 countryS… -1.15e+2   4.75e+1    -2.41  1.96e+0 10.1  1.69      0.685 -8.80e+0
## 13 countryT… -1.08e+2   4.57e+1    -2.36  1.96e+0  9.74 1.79      0.697 -5.66e+0
## # ℹ 1 more variable: conf.high <dbl>

The combination of the results depends on the broom package and results can be combined if a tidy() method exists for the estimation function passed to with(). Users can easily export their imputations using the write.amelia() function as described in @ref(sec_saving) and use statistical packages other than R for the analysis model.

In addition to the resources available in R, users can draw on Stata to implement their analysis models. As of version 11, Stata has built-in handling of multiply imputed datasets. In order to utilize this functionality, simply export the “stacked†imputations using the write.amelia() function:

write.amelia(a.out, separate = FALSE, file.stem = "outdata", format = "dta")

Once this stacked dataset is open in Stata, you must tell Stata that it is an imputed dataset using the command:

mi import flong, m(imp) id(year country) imp(tariff-usheg)

The command takes a few options: m designates the imputation variable (set with impvar in write.amelia()), id sets the identifying varibles, and imp sets the variables that were imputed (or included in the imputation). The tariff-usheg indicates that Stata should treat the range of variables between tariff and usheg as imputed. Once we have set the dataset as imputed, we can use the built-in mi commands to analyze the data:

mi estimate: reg tariff polity pop gdp_pc
Multiple-imputation estimates                     Imputations     =          5
Linear regression                                 Number of obs   =        171
                                                  Average RVI     =     1.4114
                                                  Complete DF     =        167
DF adjustment:   Small sample                     DF:     min     =      10.36
                                                          avg     =      18.81
                                                          max     =      37.62
Model F test:       Equal FMI                     F(   2,   10.4) =      15.50
Within VCE type:          OLS                     Prob > F        =     0.0008

------------------------------------------------------------------------------
      tariff |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
      polity |  -.2058115   .3911049    -0.53   0.610    -1.072968    .6613452
         pop |   3.21e-08   8.72e-09     3.68   0.004     1.27e-08    5.14e-08
      gdp_pc |  -.0027561    .000644    -4.28   0.000    -.0040602   -.0014519
       _cons |   32.70461   2.660091    12.29   0.000     27.08917    38.32005
------------------------------------------------------------------------------

The amelia class

The output from the amelia() function is an instance of the S3 class amelia. Instances of the amelia class contain much more than simply the imputed datasets. The mu object of the class contains the posterior draws of the means of the complete data. The covMatrices contains the posterior draws of the covariance matrices of the complete data. Note that these correspond to the variables as they are sent to the EM algorithm. Namely, they refer to the variables after being transformed, centered and scaled.

The iterHist object is a list of m 3-column matrices. Each row of the matrices corresponds to an iteration of the EM algorithm. The first column indicates how many parameters had yet to converge at that iteration. The second column indicates if the EM algorithm made a step that decreased the number of converged parameters. The third column indicates whether the covariance matrix at this iteration was singular. Clearly, the last two columns are meant to indicate when the EM algorithm enters a problematic part of the parameter space.

References

Honaker, James, and Gary King. 2010. “What to Do about Missing Values in Time Series Cross-Section Data.†American Journal of Political Science 54 (2): 561–81.
King, Gary, James Honaker, Anne Joseph, and Kenneth Scheve. 2001. “Analyzing Incomplete Political Science Data: An Alternative Algorithm for Multiple Imputation.†American Political Science Review 95 (1): 49–69.
Milner, Helen, and Keiko Kubota. 2005. “Why the move to free trade? Democracy and trade policy in the developing countries.†International Organization 59 (1): 107–43.
Schafer, Joseph L. 1997. Analysis of Incomplete Multivariate Data. London: Chapman & Hall.

  1. We have artificially addedsome missingness to these data for presentational purposes. You can access the original data at https://hvmilner.scholar.princeton.edu/data.↩︎

  2. The Polity score is a number between -10 and 10 indicating how democratic a country is. A fully autocratic country would be a -10 while a fully democratic country would be 1 10.↩︎

  3. This measure of US hegemony is the US imports and exports as a percent of the world total imports and exports.↩︎

  4. Dichotomous (two category) variables are a special case of nominal variables. For these variables, the nominal and ordinal methods of transformation in Amelia agree.↩︎

Amelia/inst/doc/diagnostics.Rmd0000644000176200001440000003351314335240021016136 0ustar liggesusers--- title: "Multiple Imputation Diagnostics" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{Multiple Imputation Diagnostics} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ``` Amelia currently provides a number of diagnostic tools to inspect the imputations that are created. To illustrate these, we use the `freetrade` data from the package: ```{r amelia, results = "hide"} library(Amelia) data(freetrade) a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country", p2s = 0) ``` \subsubsection{Comparing Densities} One check on the plausibility of the imputation model is check the distribution of imputed values to the distribution of observed values. Obviously we cannot expect, *a priori*, that these distribution will be identical as the missing values may differ systematically from the observed value--this is fundamental reason to impute to begin with! Imputations with strange distributions or those that are far from the observed data may indicate that imputation model needs at least some investigation and possibly some improvement. The `plot.amelia()` method works on output from `amelia()` and, by default, shows for each variable a plot of the relative frequencies of the observed data with an overlay of the relative frequency of the imputed values. ```{r plot_amelia} plot(a.out, which.vars = 3:6) ``` where the argument `which.vars` indicates which of the variables to plot (in this case, we are taking the 3rd through the 6th variables). The imputed curve (in red) plots the density of the *mean* imputation over the $m$ datasets. That is, for each cell that is missing in the variable, the diagnostic will find the mean of that cell across each of the $m$ datasets and use that value for the density plot. The black distributions are the those of the observed data. When variables are completely observed, their densities are plotted in blue. These graphs will allow you to inspect how the density of imputations compares to the density of observed data. Some discussion of these graphs can be found in @AbaGelLev08. Minimally, these graphs can be used to check that the mean imputation falls within known bounds, when such bounds exist in certain variables or settings. We can also use the function `compare.density()` directly to make these plots for an individual variable: ```{r compare_density} compare.density(a.out, var = "signed") ``` ## Overimpute {#sec_overimpute} *Overimputing* is a technique we have developed to judge the fit of the imputation model. Because of the nature of the missing data mechanism, it is impossible to tell whether the mean prediction of the imputation model is close to the unobserved value that is trying to be recovered. By definition this missing data does not exist to create this comparison, and if it existed we would no longer need the imputations or care about their accuracy. However, a natural question the applied researcher will often ask is how accurate are these imputed values? Overimputing involves sequentially treating each of the *observed* values as if they had actually been missing. For each observed value in turn we then generate several hundred imputed values of that observed value, *as if it had been missing*. While $m=5$ imputations are sufficient for most analysis models, this large number of imputations allows us to construct a confidence interval of what the imputed value would have been, had any of the observed data been missing. We can then graphically inspect whether our observed data tends to fall within the region where it would have been imputed had it been missing. For example, we can run the overimputation diagnostic on our data by running ```{r} overimpute(a.out, var = "tariff") ``` Our overimputation diagnostic runs this procedure through all of the observed values for a user selected variable. We can graph the estimates of each observation against the true values of the observation. On this graph, a $y=x$ line indicates the line of perfect agreement; that is, if the imputation model was a perfect predictor of the true value, all the imputations would fall on this line. For each observation, `overimpute()` also plots 90\% confidence intervals that allows the user to visually inspect the behavior of the imputation model. By checking how many of the confidence intervals cover the $y=x$ line, we can tell how often the imputation model can confidently predict the true value of the observation. Occasionally, the overimputation can display unintuitive results. For example, different observations may have different numbers of observed covariates. If covariates that are useful to the prediction are themselves missing, then the confidence interval for this observation will be much larger. In the extreme, there may be observations where the observed value we are trying to overimpute is *the only* observed value in that observation, and thus there is nothing left to impute that observation with when we pretend that it is missing, other than the mean and variance of that variable. In these cases, we should correctly expect the confidence interval to be very large. An example of this graph is show here: ```{r overimp_bad, echo = FALSE, results = "hide"} dd <- Amelia:::rmvnorm(50, mu = c(0.5,0.5), vcv = matrix(c(0.25^2,.06, .06,0.25^2),2,2)) ddmiss <- sample(1:50, replace = FALSE, size = 10) is.na(dd) <- ddmiss aa.out <- amelia(dd, m = 5) overimpute(aa.out, var = 2, main = "Observed versus Imputed Values") ``` In this simulated bivariate dataset, one variable is overimputed and the results displayed. The second variable is either observed, in which case the confidence intervals are very small and the imputations (yellow) are very accurate, or the second variable is missing in which case this variable is being imputed simply from the mean and variance parameters, and the imputations (red) have a very large and encompassing spread. The circles represent the mean of all the imputations for that value. As the amount of missing information in a particular pattern of missingness increases, we expect the width of the confidence interval to increase. The color of the confidence interval reflects the percent of covariates observed in that pattern of missingness, as reflected in the legend at the bottom. ## Overdispersed Starting Values {#sec_overdisperse} If the data given to `amelia()` has a poorly behaved likelihood, the EM algorithm can have problems finding a global maximum of the likelihood surface and starting values can begin to effect imputations. Because the EM algorithm is deterministic, the point in the parameter space where you start it can impact where it ends, though this is irrelevant when the likelihood has only one mode. However, if the starting values of an EM chain are close to a local maximum, the algorithm may find this maximum, unaware that there is a global maximum farther away. To make sure that our imputations do not depend on our starting values, a good test is to run the EM algorithm from multiple, dispersed starting values and check their convergence. In a well behaved likelihood, we will see all of these chains converging to the same value, and reasonably conclude that this is the likely global maximum. On the other hand, we might see our EM chain converging to multiple locations. The algorithm may also wander around portions of the parameter space that are not fully identified, such as a ridge of equal likelihood, as would happen for example, if the same variable were accidentally included in the imputation model twice. Amelia includes a diagnostic to run the EM chain from multiple starting values that are overdispersed from the estimated maximum. The overdispersion diagnostic will display a graph of the paths of each chain. Since these chains move through spaces that are in an extremely high number of dimensions and can not be graphically displayed, the diagnostic reduces the dimensionality of the EM paths by showing the paths relative to the largest principle components of the final mode(s) that are reached. Users can choose between graphing the movement over the two largest principal components, or more simply the largest dimension with time (iteration number) on the $x$-axis. The number of EM chains can also be adjusted. Once the diagnostic draws the graph, the user can visually inspect the results to check that all chains convergence to the same point. For our original model, this is a simple call to `disperse()`: ```{r displd} disperse(a.out, dims = 1, m = 5) disperse(a.out, dims = 2, m = 5) ``` where `m` designates the number of places to start EM chains from and `dims` are the number of dimensions of the principal components to show. In one dimension, the diagnostic plots movement of the chain on the $y$-axis and time, in the form of the iteration number, on the $x$-axis. The first plot shows a well behaved likelihood, as the starting values all converge to the same point. The black horizontal line is the point where `amelia()` converges when it uses the default method for choosing the starting values. The diagnostic takes the end point of this chain as the possible maximum and disperses the starting values away from it to see if the chain will ever finish at another mode. ## Time-series Plots {#sec_tscsplots} As discussed above, information about time trends and fixed effects can help produce better imputations. One way to check the plausibility of our imputation model is to see how it predicts missing values in a time series. If the imputations for the Malaysian tariff rate were drastically higher in 1990 than the observed years of 1989 or 1991, we might worry that there is a problem in our imputation model. Checking these time series is easy to do with `tscsPlot()`. Simply choose the variable (with the `var` argument) and the cross-section (with the `cs` argument) to plot the observed time-series along with distributions of the imputed values for each missing time period. For instance, we can get the plot of the `tariff` variable for Malaysia with the following commands: ```{r tsplot1} a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 0) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) ``` Here, the black point are observed tariff rates for Malaysia from 1980 to 2000. The red points are the mean imputation for each of the missing values, along with their 95% confidence bands. We draw these bands by imputing each of missing values 100 times to get the imputation distribution for that observation. In figure \ref{fig:tsplot1}, we can see that the imputed 1990 tariff rate is quite in line with the values around it. Notice also that values toward the beginning and end of the time series have slightly higher imputation variance. This occurs because the fit of the polynomials of time in the imputation model have higher variance at the beginning and end of the time series. This is intuitive because these points have fewer neighbors from which to draw predictive power. A word of caution is in order. As with comparing the histograms of imputed and observed values, there could be reasons that the missing values are systematically different than the observed time series. For instance, if there had been a major financial crisis in Malaysia in 1990 which caused the government to close off trade, then we would expect that the missing tariff rates should be quite different than the observed time series. If we have this information in our imputation model, we might expect to see out-of-line imputations in these time-series plots. If, on the other hand, we did not have this information, we might see "good" time-series plots that fail to point out this violation of the MAR assumption. Our imputation model would produce poor estimates of the missing values since it would be unaware that both the missingness and the true unobserved tariff rate depend on another variable. Hence, `tscsPlot()` is useful for finding obvious problems in imputation model and comparing the efficiency of various imputation models, but it cannot speak to the untestable assumption of MAR. ## Missingness maps {#sec_missmaps} One useful tool for exploring the missingness in a dataset is a *missingness map*. This is a map that visualizes the dataset a grid and colors the grid by missingness status. The column of the grid are the variables and the rows are the observations, as in any spreadsheet program. This tool allows for a quick summary of the patterns of missingness in the data. If we simply call the `missmap()` function on our output from `amelia()`, ```{r mmap1} missmap(a.out) ``` The `missmap()` function arrange the columns so that the variables are in decreasing order of missingness from left to right. If the `cs` argument was set in the `amelia` function, the labels for the rows will indicate where each of the cross-sections begin. In this missingness map, it is clear that the tariff rate is the variable most missing in the data and it tends to be missing in blocks of a few observations. Gross international reserves (`intresmi`) and financial openness (`fivop`), on the other hand, are missing mostly at the end of each cross-section. This suggests *missingness by merging*, when variables with different temporal coverages are merged to make one dataset. Sometimes this kind of missingness is an artifact of the date at which the data was merged and researchers can resolve it by finding updated versions of the relevant variables. The missingness map is an important tool for understanding the patterns of missingness in the data and can often indicate potential ways to improve the imputation model or data collection process. ## References Amelia/inst/doc/intro-mi.Rmd0000644000176200001440000002230214713160315015366 0ustar liggesusers--- title: "Introduction to Multiple Imputation" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{Introduction to Multiple Imputation} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r loadpkg, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") ``` ## Introduction {#sec:intro} Missing data is a ubiquitous problem in social science data. Respondents do not answer every question, countries do not collect statistics every year, archives are incomplete, subjects drop out of panels. Most statistical analysis methods, however, assume the absence of missing data, and are only able to include observations for which every variable is measured. Amelia allows users to impute ("fill in" or rectangularize) incomplete data sets so that analyses which require complete observations can appropriately use all the information present in a dataset with missingness, and avoid the biases, inefficiencies, and incorrect uncertainty estimates that can result from dropping all partially observed observations from the analysis. Amelia performs *multiple imputation*, a general-purpose approach to data with missing values. Multiple imputation has been shown to reduce bias and increase efficiency compared to listwise deletion. Furthermore, ad-hoc methods of imputation, such as mean imputation, can lead to serious biases in variances and covariances. Unfortunately, creating multiple imputations can be a burdensome process due to the technical nature of algorithms involved. \Amelia\ provides users with a simple way to create and implement an imputation model, generate imputed datasets, and check its fit using diagnostics. The Amelia program goes several significant steps beyond the capabilities of the first version of Amelia [@HonJosKin98]. For one, the bootstrap-based EMB algorithm included in Amelia can impute many more variables, with many more observations, in much less time. The great simplicity and power of the EMB algorithm made it possible to write Amelia so that it virtually never crashes --- which to our knowledge makes it unique among all existing multiple imputation software --- and is much faster than the alternatives too. Amelia also has features to make valid and much more accurate imputations for cross-sectional, time-series, and time-series-cross-section data, and allows the incorporation of observation and data-matrix-cell level prior information. In addition to all of this, Amelia provides many diagnostic functions that help users check the validity of their imputation model. This software implements the ideas developed in @HonKin10. ## What Amelia Does {#sec:what} Multiple imputation involves imputing $m$ values for each missing cell in your data matrix and creating $m$ "completed" data sets. Across these completed data sets, the observed values are the same, but the missing values are filled in with a distribution of imputations that reflect the uncertainty about the missing data. After imputation with Amelia's EMB algorithm, you can apply whatever statistical method you would have used if there had been no missing values to each of the $m$ data sets, and use a simple procedure, described below, to combine the results. Under normal circumstances, you only need to impute once and can then analyze the $m$ imputed data sets as many times and for as many purposes as you wish. The advantage of Amelia is that it combines the comparative speed and ease-of-use of our algorithm with the power of multiple imputation, to let you focus on your substantive research questions rather than spending time developing complex application-specific models for nonresponse in each new data set. Unless the rate of missingness is very high, $m = 5$ (the program default) is probably adequate. ### Assumptions The imputation model in Amelia assumes that the complete data (that is, both observed and unobserved) are multivariate normal. If we denote the $(n \times k)$ dataset as $D$ (with observed part $D^{obs}$ and unobserved part $D^{mis}$), then this assumption is \begin{equation} D \sim \mathcal{N}_k(\mu, \Sigma), \end{equation} which states that $D$ has a multivariate normal distribution with mean vector $\mu$ and covariance matrix $\Sigma$. The multivariate normal distribution is often a crude approximation to the true distribution of the data, yet there is evidence that this model works as well as other, more complicated models even in the face of categorical or mixed data [see @Schafer97, @SchOls98]. Furthermore, transformations of many types of variables can often make this normality assumption more plausible (see \@ref(sec:trans) for more information on how to implement this in Amelia). The essential problem of imputation is that we only observe $D^{obs}$, not the entirety of $D$. In order to gain traction, we need to make the usual assumption in multiple imputation that the data are *missing at random* (MAR). This assumption means that the pattern of missingness only depends on the observed data $D^{obs}$, not the unobserved data $D^{mis}$. Let $M$ to be the missingness matrix, with cells $m_{ij} = 1$ if $d_{ij} \in D^{mis}$ and $m_{ij} = 0$ otherwise. Put simply, $M$ is a matrix that indicates whether or not a cell is missing in the data. With this, we can define the MAR assumption as \[ p(M|D) = p(M|D^{obs}). \] Note that MAR includes the case when missing values are created randomly by, say, coin flips, but it also includes many more sophisticated missingness models. When missingness is not dependent on the data at all, we say that the data are *missing completely at random* (MCAR). Amelia requires both the multivariate normality and the MAR assumption (or the simpler special case of MCAR). Note that the MAR assumption can be made more plausible by including additional variables in the dataset $D$ in the imputation dataset than just those eventually envisioned to be used in the analysis model. ### Algorithm In multiple imputation, we are concerned with the complete-data parameters, $\theta = (\mu, \Sigma)$. When writing down a model of the data, it is clear that our observed data is actually $D^{obs}$ and $M$, the missingness matrix. Thus, the likelihood of our observed data is $p(D^{obs}, M|\theta)$. Using the MAR assumption\footnote{There is an additional assumption hidden here that $M$ does not depend on the complete-data parameters.}, we can break this up, \begin{align} p(D^{obs},M|\theta) = p(M|D^{obs})p(D^{obs}|\theta). \end{align} As we only care about inference on the complete data parameters, we can write the likelihood as \begin{align} L(\theta|D^{obs}) &\propto p(D^{obs}|\theta), \end{align} which we can rewrite using the law of iterated expectations as \begin{align} p(D^{obs}|\theta) &= \int p(D|\theta) dD^{mis}. \end{align} With this likelihood and a flat prior on $\theta$, we can see that the posterior is \begin{equation} p(\theta | D^{obs}) \propto p(D^{obs}|\theta) = \int p(D|\theta) dD^{mis}. \end{equation} The main computational difficulty in the analysis of incomplete data is taking draws from this posterior. The EM algorithm [@DemLaiRub77] is a simple computational approach to finding the mode of the posterior. Our EMB algorithm combines the classic EM algorithm with a bootstrap approach to take draws from this posterior. For each draw, we bootstrap the data to simulate estimation uncertainty and then run the EM algorithm to find the mode of the posterior for the bootstrapped data, which gives us fundamental uncertainty too [see @HonKin10 for details of the EMB algorithm]. Once we have draws of the posterior of the complete-data parameters, we make imputations by drawing values of $D^{mis}$ from its distribution conditional on $D^{obs}$ and the draws of $\theta$, which is a linear regression with parameters that can be calculated directly from $\theta$. ### Analysis In order to combine the results across $m$ data sets, first decide on the quantity of interest to compute, such as a univariate mean, regression coefficient, predicted probability, or first difference. Then, the easiest way is to draw $1/m$ simulations of $q$ from each of the $m$ data sets, combine them into one set of $m$ simulations, and then to use the standard simulation-based methods of interpretation common for single data sets @KinTomWit00. Alternatively, you can combine directly and use as the multiple imputation estimate of this parameter, $\bar{q}$, the average of the $m$ separate estimates, $q_j$ $(j=1,\dots,m)$: \begin{equation} \bar{q}=\frac{1}{m}\sum^{m}_{j=1}q_j. \end{equation} The variance of the point estimate is the average of the estimated variances from *within* each completed data set, plus the sample variance in the point estimates *across* the data sets (multiplied by a factor that corrects for the bias because $m<\infty$). Let $SE(q_j)^2$ denote the estimated variance (squared standard error) of $q_j$ from the data set $j$, and $S^{2}_{q}=\Sigma^{m}_{j=1}(q_j-\bar{q})^2/(m-1)$ be the sample variance across the $m$ point estimates. The standard error of the multiple imputation point estimate is the square root of \begin{equation} SE(q)^2=\frac{1}{m}\sum^{m}_{j=1}SE(q_j)^2+S^2_q(1+1/m). \end{equation} ## References Amelia/inst/doc/intro-mi.html0000644000176200001440000004354714713163337015635 0ustar liggesusers Introduction to Multiple Imputation

Introduction to Multiple Imputation

2024-11-07

Introduction

Missing data is a ubiquitous problem in social science data. Respondents do not answer every question, countries do not collect statistics every year, archives are incomplete, subjects drop out of panels. Most statistical analysis methods, however, assume the absence of missing data, and are only able to include observations for which every variable is measured. Amelia allows users to impute (“fill in†or rectangularize) incomplete data sets so that analyses which require complete observations can appropriately use all the information present in a dataset with missingness, and avoid the biases, inefficiencies, and incorrect uncertainty estimates that can result from dropping all partially observed observations from the analysis.

Amelia performs multiple imputation, a general-purpose approach to data with missing values. Multiple imputation has been shown to reduce bias and increase efficiency compared to listwise deletion. Furthermore, ad-hoc methods of imputation, such as mean imputation, can lead to serious biases in variances and covariances. Unfortunately, creating multiple imputations can be a burdensome process due to the technical nature of algorithms involved.  provides users with a simple way to create and implement an imputation model, generate imputed datasets, and check its fit using diagnostics.

The Amelia program goes several significant steps beyond the capabilities of the first version of Amelia (Honaker et al. 1998-2002). For one, the bootstrap-based EMB algorithm included in Amelia can impute many more variables, with many more observations, in much less time. The great simplicity and power of the EMB algorithm made it possible to write Amelia so that it virtually never crashes — which to our knowledge makes it unique among all existing multiple imputation software — and is much faster than the alternatives too. Amelia also has features to make valid and much more accurate imputations for cross-sectional, time-series, and time-series-cross-section data, and allows the incorporation of observation and data-matrix-cell level prior information. In addition to all of this, Amelia provides many diagnostic functions that help users check the validity of their imputation model. This software implements the ideas developed in Honaker and King (2010).

What Amelia Does

Multiple imputation involves imputing \(m\) values for each missing cell in your data matrix and creating \(m\) “completed†data sets. Across these completed data sets, the observed values are the same, but the missing values are filled in with a distribution of imputations that reflect the uncertainty about the missing data. After imputation with Amelia’s EMB algorithm, you can apply whatever statistical method you would have used if there had been no missing values to each of the \(m\) data sets, and use a simple procedure, described below, to combine the results. Under normal circumstances, you only need to impute once and can then analyze the \(m\) imputed data sets as many times and for as many purposes as you wish. The advantage of Amelia is that it combines the comparative speed and ease-of-use of our algorithm with the power of multiple imputation, to let you focus on your substantive research questions rather than spending time developing complex application-specific models for nonresponse in each new data set. Unless the rate of missingness is very high, \(m = 5\) (the program default) is probably adequate.

Assumptions

The imputation model in Amelia assumes that the complete data (that is, both observed and unobserved) are multivariate normal. If we denote the \((n \times k)\) dataset as \(D\) (with observed part \(D^{obs}\) and unobserved part \(D^{mis}\)), then this assumption is

\[\begin{equation} D \sim \mathcal{N}_k(\mu, \Sigma), \end{equation}\]

which states that \(D\) has a multivariate normal distribution with mean vector \(\mu\) and covariance matrix \(\Sigma\). The multivariate normal distribution is often a crude approximation to the true distribution of the data, yet there is evidence that this model works as well as other, more complicated models even in the face of categorical or mixed data Schafer and Olsen (1998). Furthermore, transformations of many types of variables can often make this normality assumption more plausible (see @ref(sec:trans) for more information on how to implement this in Amelia).

The essential problem of imputation is that we only observe \(D^{obs}\), not the entirety of \(D\). In order to gain traction, we need to make the usual assumption in multiple imputation that the data are missing at random (MAR). This assumption means that the pattern of missingness only depends on the observed data \(D^{obs}\), not the unobserved data \(D^{mis}\). Let \(M\) to be the missingness matrix, with cells \(m_{ij} = 1\) if \(d_{ij} \in D^{mis}\) and \(m_{ij} = 0\) otherwise. Put simply, \(M\) is a matrix that indicates whether or not a cell is missing in the data. With this, we can define the MAR assumption as

\[ p(M|D) = p(M|D^{obs}). \]

Note that MAR includes the case when missing values are created randomly by, say, coin flips, but it also includes many more sophisticated missingness models. When missingness is not dependent on the data at all, we say that the data are missing completely at random (MCAR). Amelia requires both the multivariate normality and the MAR assumption (or the simpler special case of MCAR). Note that the MAR assumption can be made more plausible by including additional variables in the dataset \(D\) in the imputation dataset than just those eventually envisioned to be used in the analysis model.

Algorithm

In multiple imputation, we are concerned with the complete-data parameters, \(\theta = (\mu, \Sigma)\). When writing down a model of the data, it is clear that our observed data is actually \(D^{obs}\) and \(M\), the missingness matrix. Thus, the likelihood of our observed data is \(p(D^{obs}, M|\theta)\). Using the MAR assumption, we can break this up,

\[\begin{align} p(D^{obs},M|\theta) = p(M|D^{obs})p(D^{obs}|\theta). \end{align}\]

As we only care about inference on the complete data parameters, we can write the likelihood as

\[\begin{align} L(\theta|D^{obs}) &\propto p(D^{obs}|\theta), \end{align}\]

which we can rewrite using the law of iterated expectations as

\[\begin{align} p(D^{obs}|\theta) &= \int p(D|\theta) dD^{mis}. \end{align}\]

With this likelihood and a flat prior on \(\theta\), we can see that the posterior is

\[\begin{equation} p(\theta | D^{obs}) \propto p(D^{obs}|\theta) = \int p(D|\theta) dD^{mis}. \end{equation}\]

The main computational difficulty in the analysis of incomplete data is taking draws from this posterior. The EM algorithm (Dempster, Laird, and Rubin 1977) is a simple computational approach to finding the mode of the posterior. Our EMB algorithm combines the classic EM algorithm with a bootstrap approach to take draws from this posterior. For each draw, we bootstrap the data to simulate estimation uncertainty and then run the EM algorithm to find the mode of the posterior for the bootstrapped data, which gives us fundamental uncertainty too (see Honaker and King 2010 for details of the EMB algorithm).

Once we have draws of the posterior of the complete-data parameters, we make imputations by drawing values of \(D^{mis}\) from its distribution conditional on \(D^{obs}\) and the draws of \(\theta\), which is a linear regression with parameters that can be calculated directly from \(\theta\).

Analysis

In order to combine the results across \(m\) data sets, first decide on the quantity of interest to compute, such as a univariate mean, regression coefficient, predicted probability, or first difference. Then, the easiest way is to draw \(1/m\) simulations of \(q\) from each of the \(m\) data sets, combine them into one set of \(m\) simulations, and then to use the standard simulation-based methods of interpretation common for single data sets King, Tomz, and Wittenberg (2000).

Alternatively, you can combine directly and use as the multiple imputation estimate of this parameter, \(\bar{q}\), the average of the \(m\) separate estimates, \(q_j\) \((j=1,\dots,m)\):

\[\begin{equation} \bar{q}=\frac{1}{m}\sum^{m}_{j=1}q_j. \end{equation}\]

The variance of the point estimate is the average of the estimated variances from within each completed data set, plus the sample variance in the point estimates across the data sets (multiplied by a factor that corrects for the bias because \(m<\infty\)). Let \(SE(q_j)^2\) denote the estimated variance (squared standard error) of \(q_j\) from the data set \(j\), and \(S^{2}_{q}=\Sigma^{m}_{j=1}(q_j-\bar{q})^2/(m-1)\) be the sample variance across the \(m\) point estimates. The standard error of the multiple imputation point estimate is the square root of

\[\begin{equation} SE(q)^2=\frac{1}{m}\sum^{m}_{j=1}SE(q_j)^2+S^2_q(1+1/m). \end{equation}\]

References

Dempster, Arthur P., N. M. Laird, and D. B. Rubin. 1977. “Maximum Likelihood Estimation from Incomplete Data via the Em Algorithm.†Journal of the Royal Statistical Society B 39: 1–38.
Honaker, James, Anne Joseph, Gary King, Kenneth Scheve, and Naunihal Singh. 1998-2002. “: A Program for Missing Data.â€
Honaker, James, and Gary King. 2010. “What to Do about Missing Values in Time Series Cross-Section Data.†American Journal of Political Science 54 (2): 561–81.
King, Gary, Michael Tomz, and Jason Wittenberg. 2000. “Making the Most of Statistical Analyses: Improving Interpretation and Presentation.†American Journal of Political Science 44 (2): 341–55.
Schafer, Joseph L. 1997. Analysis of Incomplete Multivariate Data. London: Chapman & Hall.
Schafer, Joseph L., and Maren K. Olsen. 1998. “Multiple Imputation for Multivariate Missing-Data Problems: A Data Analyst’s Perspective.†Multivariate Behavioral Research 33 (4): 545–71.
Amelia/inst/doc/ameliaview.html0000644000176200001440000231132314713163336016211 0ustar liggesusers AmeliaView GUI Guide

AmeliaView GUI Guide

2024-11-07

Below is a guide to the AmeliaView menus with references back to the users’s guide. The same principles from the user’s guide apply to AmeliaView. The only difference is how you interact with the program. Whether you use the GUI or the command line versions, the same underlying code is being called, and so you can read the command line-oriented discussion above even if you intend to use the GUI.

Loading AmeliaView

The easiest way to load AmeliaView is to open an R session and type the following two commands:

library(Amelia)
AmeliaView()

This will bring up the AmeliaView window on any platform.

AmeliaView welcome screen
AmeliaView welcome screen

Loading data into AmeliaView

AmeliaView loads with a welcome screen that has buttons which can load a data in many of the common formats. Each of these will bring up a window for choosing your dataset. Note that these buttons are only a subset of the possible ways to load data in AmeliaView. Under the File menu (shown below), you will find more options, including the datasets included in the package (africa and freetrade). You will also find import commands for Comma-Separated Values (.CSV), Tab-Delimited Text (.TXT), Stata v.5-10 (.DTA), SPSS (.DAT), and SAS Transport (.XPORT). Note that when using a CSV file, Amelia assumes that your file has a header (that is, a row at the top of the data indicating the variable names).

AmeliaView File and import menu.
AmeliaView File and import menu.

You can also load data from an RData file. If the RData file contains more than one data.frame, a pop-up window will ask to you find the dataset you would like to load. In the file menu, you can also change the underlying working directory. This is where AmeliaView will look for data by default and where it will save imputed datasets.

Variable Dashboard

Main variable dashboard in AmeliaView
Main variable dashboard in AmeliaView

Once a dataset is loaded, AmeliaView will show the variable dashboard. In this mode, you will see a table of variables, with the current options for each of them shown, along with a few summary statistics. You can reorder this table by any of these columns by clicking on the column headings. This might be helpful to, say, order the variables by mean or amount of missingness.

Variable options via right-click menu on the variable dashboard
Variable options via right-click menu on the variable dashboard

You can set options for individual variables by the right-click context menu or through the “Variables†menu. For instance, clicking “Set as Time-Series Variable†will set the currently selected variable in the dashboard as the time-series variable. Certain options are disabled until other options are enabled. For instance, you cannot add a lagged variable to the imputation until you have set the time-series variable. Note that any factor in the data is marked as a ID variable by default, since a factor cannot be included in the imputation without being set as an ID variable, a nominal variable, or the cross-section variable. If there is a factor that fails to meet one of these conditions, a red flag will appear next to the variable name.

  1. Set as Time-Series Variable - Sets the currently selected variable to the time-series variable. Disabled when more than one variable is selected. Once this is set, you can add lags and leads and add splines of time. The time-series variable will have a clock icon next to it.
  2. Set as Cross-Section Variable - Sets the currently selected variable to the cross-section variable. Disabled when more than one variable is selected. Once this is set, you can interact the splines of time with the cross-section. The cross-section variable will have a person icon next to it.
  3. Unset as Time-Series Variable - Removes the time-series status of the variable. This will remove any lags, leads, or splines of time.
  4. Unset as Cross-Section Variable - Removes the cross-section status of the variable. This will remove any intersection of the splines of time and the cross-section.
  5. Add Lag/Lead - Adds versions of the selected variables either lagged back (“lagâ€) or forward (“leadâ€).
  6. Remove Lag/Lead - Removes any lags or leads on the selected variables.
  7. Plot Histogram of Selected - Plots a histogram of the selected variables. This command will attempt to put all of the histograms on one page, but if more than nine histograms are requested, they will appear on multiple pages.
  8. Add Transformation… - Adds a transformation setting for the selected variables. Note that each variable can only have one transformation and the time-series and cross-section variables cannot be transformed.
  9. Remove Transformation - Removes any transformation for the selected variables.
  10. Add or Edit Bounds - Opens a dialog box to set logical bounds for the selected variable.

Amelia Options

Options menu
Options menu

The “Variable†menu and the variable dashboard are the place to set variable-level options, but global options are set in the “Options†menu. For more information on these options, see vignette("using-amelia").

  1. Splines of Time with… - This option, if activated, will have Ameliause flexible trends of time with the specified number of knots in the imputation. The higher the number of knots the greater the variation in the trend structure, yet it will take more degrees of freedom to estimate.
  2. Interact with Cross-Section? - Include and interaction of the cross-section with the time trends. This interaction is way of allowing the trend of time to vary across cases as well. Using a 0-level spline of time and interacting with the cross section is the equivalent of using a fixed effects.
  3. Add Observational Priors… - Brings a dialog window to set prior beliefs about ranges for individual missing observations.
  4. Numerical Options - Brings a dialog window to set the tolerance of the EM algorithm, the seed of the random number generator, the ridge prior for numerical stability, and the maximum number of redraws for the logical bounds.
  5. Draw Missingness Map - Draws a missingness map.
  6. Output File Options - Bring a dialog to set the stub of the prefix of the imputed data files and the number of imputations. If you set the prefix to mydata, your output files will be mydata1.csv, mydata2.csv... etc.
  7. Output File Type - Sets the format of imputed data. If you would like to not save any output data sets (if you wanted, for instance, to simply look at diagnostics), set this option to “(no save).†Currently, you can save the output data as: Comma Separated Values (.CSV), Tab Delimited Text (.TXT), Stata (.DTA), R save object (.RData), or to hold it in R memory. This last option will only work if you have called AmeliaView from an R session and want to return to the R command line to work with the output. Its name in R workspace will be the file prefix. The stacked version of the Stata output will work with their built-in mi tools.

Numerical options

Numerical options menu
Numerical options menu
  1. Seed - Sets the seed for the random number generator used by Amelia. Useful if you need to have the same output twice.

  2. Tolerance - Adjust the level of tolerance that Amelia uses to check convergence of the EM algorithm. In very large datasets, if your imputation chains run a long time without converging, increasing the tolerance will allow a lower threshold to judge convergence and end chains after fewer iterations.

  3. Empirical Prior - A prior that adds observations to your data in order to shrink the covariances. A useful place to start is around 0.5% of the total number of observations in the dataset.

  4. Maximum Resample for Bounds - Amelia fits logical bounds by rejecting any draws that do not fall within the bounds. This value sets the number of times Amelia should attempt to resample to fit the bounds before setting the imputation to the bound.

Add Distributional Prior

Detail for Add Distributional Prior dialog
Detail for Add Distributional Prior dialog
  1. Current Priors - A table of current priors in distributional form, with the variable and case name. You can remove priors by selecting them and using the right-click context menu.
  2. Case - Select the case name or number you wish to set the prior about. You can also choose to make the prior for the entire variable, which will set the prior for any missing cell in that variable. The case names are generated from the row name of the observation, the value of the cross-section variable of the observation and the value of the time series variable of the observation.
  3. Variable - The variable associated with the prior you would like specify. The list provided only shows the missing variables for the currently selected observation. 1.Mean - The mean value of the prior. The textbox will not accept letters or out of place punctuation.
  4. Standard Deviation - The standard deviation of the prior. The textbox will only accept positive non-zero values.

Add Range Prior

Detail for Add Range Prior dialog
Detail for Add Range Prior dialog
  1. Case - Select the case name or number you wish to set the prior about. You can also choose to make the prior for the entire variable, which will set the prior for any missing cell in that variable. The case names are generated from the row name of the observation, the value of the cross-section variable of the observation and the value of the time series variable of the observation.
  2. Variable - The variable associated with the prior you would like specify. The list provided only shows the missing variables for the currently selected observation.
  3. Minimum - The minimum value of the prior. The textbox will not accept letters or out of place punctuation.
  4. Maximum - The maximum value of the prior. The textbox will not accept letters or out of place punctuation.
  5. Confidence - The confidence level of the prior. This should be between 0 and 1, non-inclusive. This value represents how certain your priors are. This value cannot be 1, even if you are absolutely certain of a give range. This is used to convert the range into an appropriate distributional prior.

Imputing and checking diagnostics

Output log showing Amelia output for a successful imputation.
Output log showing Amelia output for a successful imputation.

Once you have set all the relevant options, you can impute your data by clicking the “Impute!†button in the toolbar. In the bottom right corner of the window, you will see a progress bar that indicates the progress of the imputations. For large datasets this could take some time. Once the imputations are complete, you should see a “Successful Imputation!†message appear where the progress bar was. You can click on this message to open the folder containing the imputed datasets.

If there was an error during the imputation, the output log will pop-up and give you the error message along with some information about how to fix the problem. Once you have fixed the problem, simply click “Impute!†again. Even if there was no error, you may want to view the output log to see how Ameliaran. To do so, simply click the “Show Output Log†button. The log also shows the call to the amelia() function in R. You can use this code snippet to run the same imputation from the R command line. You will have to replace the x argument in the amelia() call to the name of you dataset in the R session.

Diagnostics Dialog

Detail for the Diagnostics dialog
Detail for the Diagnostics dialog

Upon the successful completion of an imputation, the diagnostics menu will become available. Here you can use all of the diagnostics available at the command-line.

  1. Compare Plots - This will display the relative densities of the observed (red) and imputed (black) data. The density of the imputed values are the average imputations across all of the imputed datasets.
  2. Overimpute - This will run Ameliaon the full data with one cell of the chosen variable artificially set to missing and then check the result of that imputation against the truth. The resulting plot will plot average imputations against true values along with 90% confidence intervals. These are plotted over a \(y=x\) line for visual inspection of the imputation model.
  3. Number of overdispersions - When running the overdispersion diagnostic, you need to run the imputation algorithm from several overdispersed starting points in order to get a clear idea of how the chain are converging. Enter the number of imputations here.
  4. Number of dimensions - The overdispersion diagnostic must reduce the dimensionality of the paths of the imputation algorithm to either one or two dimensions due to graphical restraints.
  5. Overdisperse - Run overdispersion diagnostic to visually inspect the convergence of the Amelia algorithm from multiple start values that are drawn randomly.

Sessions

It is often useful to save a session of AmeliaView to save time if you have impute the same data again. Using the Save Session button will do just that, saving all of the current settings (including the original and any imputed data) to an RData file. You can then reload your session, on the same computer or any other, simply by clicking the Load Session button and finding the relevant RData file. All of the settings will be restored, including any completed imputations. Thus, if you save the session after imputing, you can always load up those imputations and view their diagnostics using the sessions feature of AmeliaView.

Amelia/inst/doc/ameliaview.Rmd0000644000176200001440000003355214335240021015755 0ustar liggesusers--- title: "AmeliaView GUI Guide" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{AmeliaView GUI Guide} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ``` Below is a guide to the AmeliaView menus with references back to the users's guide. The same principles from the user's guide apply to AmeliaView. The only difference is how you interact with the program. Whether you use the GUI or the command line versions, the same underlying code is being called, and so you can read the command line-oriented discussion above even if you intend to use the GUI. ## Loading AmeliaView The easiest way to load AmeliaView is to open an R session and type the following two commands: ```{r load_av, eval = FALSE} library(Amelia) AmeliaView() ``` This will bring up the AmeliaView window on any platform. ![AmeliaView welcome screen](assets/splash.png) ## Loading data into AmeliaView AmeliaView loads with a welcome screen that has buttons which can load a data in many of the common formats. Each of these will bring up a window for choosing your dataset. Note that these buttons are only a subset of the possible ways to load data in AmeliaView. Under the File menu (shown below), you will find more options, including the datasets included in the package (`africa` and `freetrade`). You will also find import commands for Comma-Separated Values (.CSV), Tab-Delimited Text (.TXT), Stata v.5-10 (.DTA), SPSS (.DAT), and SAS Transport (.XPORT). Note that when using a CSV file, Amelia assumes that your file has a header (that is, a row at the top of the data indicating the variable names). ![AmeliaView File and import menu.](assets/import.png) You can also load data from an RData file. If the RData file contains more than one `data.frame`, a pop-up window will ask to you find the dataset you would like to load. In the file menu, you can also change the underlying working directory. This is where AmeliaView will look for data by default and where it will save imputed datasets. ## Variable Dashboard ![Main variable dashboard in AmeliaView](assets/main.png) Once a dataset is loaded, AmeliaView will show the variable dashboard. In this mode, you will see a table of variables, with the current options for each of them shown, along with a few summary statistics. You can reorder this table by any of these columns by clicking on the column headings. This might be helpful to, say, order the variables by mean or amount of missingness. ![Variable options via right-click menu on the variable dashboard](assets/context-menu.png) You can set options for individual variables by the right-click context menu or through the "Variables" menu. For instance, clicking "Set as Time-Series Variable" will set the currently selected variable in the dashboard as the time-series variable. Certain options are disabled until other options are enabled. For instance, you cannot add a lagged variable to the imputation until you have set the time-series variable. Note that any `factor` in the data is marked as a ID variable by default, since a `factor` cannot be included in the imputation without being set as an ID variable, a nominal variable, or the cross-section variable. If there is a `factor` that fails to meet one of these conditions, a red flag will appear next to the variable name. 1. **Set as Time-Series Variable** - Sets the currently selected variable to the time-series variable. Disabled when more than one variable is selected. Once this is set, you can add lags and leads and add splines of time. The time-series variable will have a clock icon next to it. 2. **Set as Cross-Section Variable** - Sets the currently selected variable to the cross-section variable. Disabled when more than one variable is selected. Once this is set, you can interact the splines of time with the cross-section. The cross-section variable will have a person icon next to it. 3. **Unset as Time-Series Variable** - Removes the time-series status of the variable. This will remove any lags, leads, or splines of time. 4. **Unset as Cross-Section Variable** - Removes the cross-section status of the variable. This will remove any intersection of the splines of time and the cross-section. 5. **Add Lag/Lead** - Adds versions of the selected variables either lagged back ("lag") or forward ("lead"). 6. **Remove Lag/Lead** - Removes any lags or leads on the selected variables. 7. **Plot Histogram of Selected** - Plots a histogram of the selected variables. This command will attempt to put all of the histograms on one page, but if more than nine histograms are requested, they will appear on multiple pages. 8. **Add Transformation...** - Adds a transformation setting for the selected variables. Note that each variable can only have one transformation and the time-series and cross-section variables cannot be transformed. 9. **Remove Transformation** - Removes any transformation for the selected variables. 10. **Add or Edit Bounds** - Opens a dialog box to set logical bounds for the selected variable. ## Amelia Options ![Options menu](assets/options.png) The "Variable" menu and the variable dashboard are the place to set variable-level options, but global options are set in the "Options" menu. For more information on these options, see `vignette("using-amelia")`. 1. **Splines of Time with...** - This option, if activated, will have Ameliause flexible trends of time with the specified number of knots in the imputation. The higher the number of knots the greater the variation in the trend structure, yet it will take more degrees of freedom to estimate. 2. **Interact with Cross-Section?** - Include and interaction of the cross-section with the time trends. This interaction is way of allowing the trend of time to vary across cases as well. Using a 0-level spline of time and interacting with the cross section is the equivalent of using a fixed effects. 3. **Add Observational Priors...** - Brings a dialog window to set prior beliefs about ranges for individual missing observations. 4. **Numerical Options** - Brings a dialog window to set the tolerance of the EM algorithm, the seed of the random number generator, the ridge prior for numerical stability, and the maximum number of redraws for the logical bounds. 5. **Draw Missingness Map** - Draws a missingness map. 6. **Output File Options** - Bring a dialog to set the stub of the prefix of the imputed data files and the number of imputations. If you set the prefix to `mydata`, your output files will be `mydata1.csv, mydata2.csv...` etc. 7. **Output File Type** - Sets the format of imputed data. If you would like to not save any output data sets (if you wanted, for instance, to simply look at diagnostics), set this option to "(no save)." Currently, you can save the output data as: Comma Separated Values (.CSV), Tab Delimited Text (.TXT), Stata (.DTA), R save object (.RData), or to hold it in R memory. This last option will only work if you have called AmeliaView from an R session and want to return to the R command line to work with the output. Its name in R workspace will be the file prefix. The stacked version of the Stata output will work with their built-in `mi` tools. ### Numerical options ![Numerical options menu](assets/numopts.png) 1. **Seed** - Sets the seed for the random number generator used by Amelia. Useful if you need to have the same output twice. 1. **Tolerance** - Adjust the level of tolerance that Amelia uses to check convergence of the EM algorithm. In very large datasets, if your imputation chains run a long time without converging, increasing the tolerance will allow a lower threshold to judge convergence and end chains after fewer iterations. 1. **Empirical Prior** - A prior that adds observations to your data in order to shrink the covariances. A useful place to start is around 0.5\% of the total number of observations in the dataset. 1. **Maximum Resample for Bounds** - Amelia fits logical bounds by rejecting any draws that do not fall within the bounds. This value sets the number of times Amelia should attempt to resample to fit the bounds before setting the imputation to the bound. ### Add Distributional Prior ![Detail for Add Distributional Prior dialog](assets/distpri.png) 1. **Current Priors** - A table of current priors in distributional form, with the variable and case name. You can remove priors by selecting them and using the right-click context menu. 1. **Case** - Select the case name or number you wish to set the prior about. You can also choose to make the prior for the entire variable, which will set the prior for any missing cell in that variable. The case names are generated from the row name of the observation, the value of the cross-section variable of the observation and the value of the time series variable of the observation. 1. **Variable** - The variable associated with the prior you would like specify. The list provided only shows the missing variables for the currently selected observation. 1.**Mean** - The mean value of the prior. The textbox will not accept letters or out of place punctuation. 1. **Standard Deviation** - The standard deviation of the prior. The textbox will only accept positive non-zero values. ### Add Range Prior ![Detail for Add Range Prior dialog](assets/rangepri.png) 1. **Case** - Select the case name or number you wish to set the prior about. You can also choose to make the prior for the entire variable, which will set the prior for any missing cell in that variable. The case names are generated from the row name of the observation, the value of the cross-section variable of the observation and the value of the time series variable of the observation. 1. **Variable** - The variable associated with the prior you would like specify. The list provided only shows the missing variables for the currently selected observation. 1. **Minimum** - The minimum value of the prior. The textbox will not accept letters or out of place punctuation. 1. **Maximum** - The maximum value of the prior. The textbox will not accept letters or out of place punctuation. 1. **Confidence** - The confidence level of the prior. This should be between 0 and 1, non-inclusive. This value represents how certain your priors are. This value cannot be 1, even if you are absolutely certain of a give range. This is used to convert the range into an appropriate distributional prior. ## Imputing and checking diagnostics ![Output log showing Amelia output for a successful imputation.](assets/output-log.png) Once you have set all the relevant options, you can impute your data by clicking the "Impute!" button in the toolbar. In the bottom right corner of the window, you will see a progress bar that indicates the progress of the imputations. For large datasets this could take some time. Once the imputations are complete, you should see a "Successful Imputation!" message appear where the progress bar was. You can click on this message to open the folder containing the imputed datasets. If there was an error during the imputation, the output log will pop-up and give you the error message along with some information about how to fix the problem. Once you have fixed the problem, simply click "Impute!" again. Even if there was no error, you may want to view the output log to see how Ameliaran. To do so, simply click the "Show Output Log" button. The log also shows the call to the `amelia()` function in R. You can use this code snippet to run the same imputation from the R command line. You will have to replace the `x` argument in the `amelia()` call to the name of you dataset in the R session. ### Diagnostics Dialog ![Detail for the Diagnostics dialog](assets/diag.png) Upon the successful completion of an imputation, the diagnostics menu will become available. Here you can use all of the diagnostics available at the command-line. 1. **Compare Plots** - This will display the relative densities of the observed (red) and imputed (black) data. The density of the imputed values are the average imputations across all of the imputed datasets. 1. **Overimpute** - This will run Ameliaon the full data with one cell of the chosen variable artificially set to missing and then check the result of that imputation against the truth. The resulting plot will plot average imputations against true values along with 90% confidence intervals. These are plotted over a $y=x$ line for visual inspection of the imputation model. 1. **Number of overdispersions** - When running the overdispersion diagnostic, you need to run the imputation algorithm from several overdispersed starting points in order to get a clear idea of how the chain are converging. Enter the number of imputations here. 1. **Number of dimensions** - The overdispersion diagnostic must reduce the dimensionality of the paths of the imputation algorithm to either one or two dimensions due to graphical restraints. 1. **Overdisperse** - Run overdispersion diagnostic to visually inspect the convergence of the Amelia algorithm from multiple start values that are drawn randomly. ## Sessions It is often useful to save a session of AmeliaView to save time if you have impute the same data again. Using the **Save Session** button will do just that, saving all of the current settings (including the original and any imputed data) to an RData file. You can then reload your session, on the same computer or any other, simply by clicking the **Load Session** button and finding the relevant RData file. All of the settings will be restored, including any completed imputations. Thus, if you save the session after imputing, you can always load up those imputations and view their diagnostics using the sessions feature of AmeliaView. Amelia/inst/doc/using-amelia.R0000644000176200001440000001531114713163340015665 0ustar liggesusers## ----setup, echo = FALSE, include = FALSE------------------------------------- knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ## ----load_data, results = "hide"---------------------------------------------- library(Amelia) data(freetrade) ## ----summarize_data----------------------------------------------------------- summary(freetrade) ## ----mk_lm-------------------------------------------------------------------- summary(lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade)) ## ----amelia------------------------------------------------------------------- a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country") a.out ## ----------------------------------------------------------------------------- hist(a.out$imputations[[3]]$tariff, col = "grey", border = "white") ## ----save, eval = FALSE------------------------------------------------------- # save(a.out, file = "imputations.RData") ## ----write_amelia, eval = FALSE----------------------------------------------- # write.amelia(obj = a.out, file.stem = "outdata") ## ----write_dta, eval = FALSE-------------------------------------------------- # write.amelia(obj = a.out, file.stem = "outdata", format = "dta") ## ----more_amelia-------------------------------------------------------------- a.out.more <- amelia(freetrade, m = 10, ts = "year", cs = "country", p2s = 0) a.out.more ## ----ameliabind--------------------------------------------------------------- a.out.more <- ameliabind(a.out, a.out.more) a.out.more ## ----rand_stem, eval = FALSE-------------------------------------------------- # b <- round(runif(1, min = 1111, max = 9999)) # random.name <- paste("am", b, sep = "") # amelia <- write.amelia(obj = a.out, file.stem = random.name) ## ----p2s---------------------------------------------------------------------- a.out.p2s <- amelia(freetrade, m = 1, ts = "year", cs = "country", p2s = 2) ## ----polity_tab--------------------------------------------------------------- table(a.out$imputations[[3]]$polity) ## ----polity_ord--------------------------------------------------------------- a.out1 <- amelia(freetrade, m = 5, ts = "year", cs = "country", ords = "polity", p2s = 0) table(a.out1$imputations[[3]]$polity) ## ----binary_tab--------------------------------------------------------------- table(a.out1$imputations[[3]]$signed) ## ----noms--------------------------------------------------------------------- a.out2 <- amelia(freetrade, m = 5, ts = "year", cs = "country", noms = "signed", p2s = 0) table(a.out2$imputations[[3]]$signed) ## ----tarrif_hist-------------------------------------------------------------- hist(freetrade$tariff, col="grey", border="white") hist(log(freetrade$tariff), col="grey", border="white") ## ----idvars------------------------------------------------------------------- amelia(freetrade, idvars = c("year", "country")) ## ----idvars_error------------------------------------------------------------- a.out2 <- amelia(freetrade, idvars = c("year")) ## ----polytime, results = "hide"----------------------------------------------- a.out2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2) ## ----intercs, results = "hide"------------------------------------------------ a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 2) ## ----tcomp1------------------------------------------------------------------- tscsPlot(a.out, cs = "Malaysia", main = "Malaysia (no time settings)", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) ## ----lags_leads--------------------------------------------------------------- a.out2 <- amelia(freetrade, ts = "year", cs = "country", lags = "tariff", leads = "tariff") ## ----empri-------------------------------------------------------------------- a.out.time2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 0, empri = .01 * nrow(freetrade)) a.out.time2 ## ----thailand----------------------------------------------------------------- freetrade[freetrade$country == "Thailand", c("year", "country", "tariff")] ## ----build_prior-------------------------------------------------------------- pr <- matrix( c(158, 159, 160, 3, 3, 3, 40, 40, 40, 3, 3, 3), nrow = 3, ncol = 4 ) pr ## ----amelia_prior------------------------------------------------------------- a.out.pr <- amelia(freetrade, ts = "year", cs = "country", priors = pr) ## ----build_prior2------------------------------------------------------------- pr.2 <- matrix( c(158, 159, 160, 3, 3, 3, 34, 34, 34, 46, 46, 46, 0.95, 0.95, 0.95), nrow = 3, ncol = 5 ) pr.2 ## ----build_prior3------------------------------------------------------------- pr.3 <- matrix( c(158, 159, 160, 0, 3, 3 , 3, 3, 40, 40, 40, 20, 3, 3, 3, 5), nrow = 4, ncol = 4) pr.3 ## ----build_bounds------------------------------------------------------------- bds <- matrix(c(3, 30, 40), nrow = 1, ncol = 3) bds ## ----amelia_bounds------------------------------------------------------------ a.out.bds <- amelia(freetrade, ts = "year", cs = "country", bounds = bds, max.resample = 1000) ## ----bounds_plot-------------------------------------------------------------- tscsPlot(a.out, cs = "Malaysia", main = "No logical bounds", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.bds, cs = "Malaysia", main = "Bounded between 30 and 40", var = "tariff", ylim = c(-10, 60)) ## ----amelia_transform--------------------------------------------------------- a.out <- transform(a.out, lgdp = log(gdp.pc)) head(a.out$imputations[[1]][,c("country", "year","gdp.pc", "lgdp")]) ## ----interaction-------------------------------------------------------------- a.out <- transform(a.out, pol_gdp = polity * gdp.pc) ## ----sum_trans---------------------------------------------------------------- summary(a.out) ## ----lm_lwd------------------------------------------------------------------- orig.model <- lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade) orig.model ## ----lm_imp------------------------------------------------------------------- imp.models <- with( a.out, lm(tariff ~ polity + pop + gdp.pc + year + country) ) imp.models[1:2] ## ----mi_combine--------------------------------------------------------------- out <- mi.combine(imp.models, conf.int = TRUE) out ## ----write_dta_stacked, eval = FALSE------------------------------------------ # write.amelia(a.out, separate = FALSE, file.stem = "outdata", format = "dta") Amelia/inst/doc/using-amelia.Rmd0000644000176200001440000012455614713160425016223 0ustar liggesusers--- title: "Using Amelia" date: "`r Sys.Date()`" link-citations: yes bibliography: amelia.bib output: rmarkdown::html_vignette: keep_md: true vignette: > %\VignetteIndexEntry{Using Amelia} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, echo = FALSE, include = FALSE} knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ``` ## Data We now demonstrate how to use Amelia using data from @MilKub05 which studies the effect of democracy on trade policy. For the purposes of this user's guide, we will use a subset restricted to nine developing countries in Asia from 1980 to 1999[^freetrade]. This dataset includes 9 variables: | Variable | Description | |:-----------|:----------------------------------------------------| | `year` | year | | `country` | country | | `tariff` | average tariff rates | | `polity` | Polity IV Score[^polity] | | `pop` | total population | | `gdp.pc` | gross domestic product per capita | | `intresmi` | gross international reserves | | `signed` | dummy variable if signed an IMF agreement that year | | `fivop` | measure of financial openness | | `usheg` | measure of US hegemony[^hegemony] | These variables correspond to the variables used in the analysis model of @MilKub05 in table 2. [^freetrade]: We have artificially addedsome missingness to these data for presentational purposes. You can access the original data at [https://hvmilner.scholar.princeton.edu/data](https://hvmilner.scholar.princeton.edu/data). [^polity]: The Polity score is a number between -10 and 10 indicating how democratic a country is. A fully autocratic country would be a -10 while a fully democratic country would be 1 10. [^hegemony]: This measure of US hegemony is the US imports and exports as a percent of the world total imports and exports. We first load the Amelia and the data: ```{r load_data, results = "hide"} library(Amelia) data(freetrade) ``` We can check the summary statistics of the data to see that there is missingness on many of the variables: ```{r summarize_data} summary(freetrade) ``` In the presence of missing data, most statistical packages use *listwise deletion*, which removes any row that contains a missing value from the analysis. Using the base model of @MilKub05 Table 2, we run a simple linear model in R, which uses listwise deletion: ```{r mk_lm} summary(lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade)) ``` Note that 60 of the 171 original observations are deleted due to missingness. These observations, however, are partially observed, and contain valuable information about the relationships between those variables which are present in the partially completed observations. Multiple imputation will help us retrieve that information and make better, more efficient, inferences. ## Multiple Imputation When performing multiple imputation, the first step is to identify the variables to include in the imputation model. It is crucial to include at least as much information as will be used in the analysis model. That is, any variable that will be in the analysis model should also be in the imputation model. This includes any transformations or interactions of variables that will appear in the analysis model. In fact, it is often useful to add more information to the imputation model than will be present when the analysis is run. Since imputation is predictive, any variables that would increase predictive power should be included in the model, even if including them in the analysis model would produce bias in estimating a causal effect (such as for post-treatment variables) or collinearity would preclude determining which variable had a relationship with the dependent variable (such as including multiple alternate measures of GDP). In our case, we include all the variables in `freetrade` in the imputation model, even though our analysis model focuses on `polity`, `pop` and `gdp.pc`. We're not incorporating time or spatial data yet, but we do below. To create multiple imputations in Amelia, we can simply run ```{r amelia} a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country") a.out ``` Note that our example dataset is deliberately small both in variables and in cross-sectional elements. Typical datasets may often have hundreds or possibly a couple thousand steps to the EM algorithm. Long chains should remind the analyst to consider whether transformations of the variables would more closely fit the multivariate normal assumptions of the model (correct but omitted transformations will shorten the number of steps and improve the fit of the imputations), but do not necessarily denote problems with the imputation model. The output gives some information about how the algorithm ran. Each of the imputed datasets is now in the list `a.out$imputations`. Thus, we could plot a histogram of the `tariff` variable from the 3rd imputation, ```{r} hist(a.out$imputations[[3]]$tariff, col = "grey", border = "white") ``` ### Saving imputed datasets If you need to save your imputed datasets, one direct method is to save the output list from `amelia`, ```{r save, eval = FALSE} save(a.out, file = "imputations.RData") ``` As in the previous example, the ith imputed datasets can be retrieved from this list as `a.out$imputations[[i]]`. In addition, you can save each of the imputed datasets to its own file using the `write.amelia()` command, ```{r write_amelia, eval = FALSE} write.amelia(obj = a.out, file.stem = "outdata") ``` This will create one comma-separated value file for each imputed dataset in the following manner: outdata1.csv outdata2.csv outdata3.csv outdata4.csv outdata5.csv The `write.amelia` function can also save files in tab-delimited and Stata (`.dta`) file formats. For instance, to save Stata files, simply change the `format` argument to `"dta"`, ```{r write_dta, eval = FALSE} write.amelia(obj = a.out, file.stem = "outdata", format = "dta") ``` Additionally, `write.amelia()` can create a "stacked" version of the imputed dataset which stacks each imputed dataset on top of one another. This can be done by setting the \code{separate} argument to `FALSE`. The resulting matrix is of size $(N \cdot m) \times p$ if the original dataset is excluded (`orig.data = FALSE`) and of size $(N \cdot (m+1))\times p$ if it is included (`orig.data = TRUE`). The stacked dataset will include a variable (set with `impvar`) that indicates to which imputed dataset the observation belongs. ## Combining multiple calls to `amelia()` The EMB algorithm is what computer scientists call *embarrassingly parallel*, meaning that it is simple to separate each imputation into parallel processes. With Amelia it is simple to run subsets of the imputations on different machines and then combine them after the imputation for use in analysis model. This allows for a huge increase in the speed of the algorithm. Output lists from different Amelia runs can be combined together into a new list. For instance, suppose that we wanted to add another ten imputed datasets to our earlier call to `amelia()`. First, run the function to get these additional imputations, ```{r more_amelia} a.out.more <- amelia(freetrade, m = 10, ts = "year", cs = "country", p2s = 0) a.out.more ``` then combine this output with our original output using the `ameliabind()` function, ```{r ameliabind} a.out.more <- ameliabind(a.out, a.out.more) a.out.more ``` This function binds the two outputs into the same output so that you can pass the combined imputations easily to analysis models and diagnostics. Note that `a.out.more` now has a total of 15 imputations. A simple way to execute a parallel processing scheme with Amelia would be to run `amelia()` with `m` set to 1 on $m$ different machines or processors, save each output using the `save()` function, load them all on the same R session using `load()` command and then combine them using `ameliabind()`. In order to do this, however, make sure to name each of the outputs a different name so that they do not overwrite each other when loading into the same R session. Also, some parallel environments will dump all generated files into a common directory, where they may overwrite each other. If it is convenient in a parallel environment to run a large number of `amelia()` calls from a single piece of code, one useful way to avoid overwriting is to create the `file.stem` with a random suffix. For example: ```{r rand_stem, eval = FALSE} b <- round(runif(1, min = 1111, max = 9999)) random.name <- paste("am", b, sep = "") amelia <- write.amelia(obj = a.out, file.stem = random.name) ``` ### Screen output Screen output can be adjusted with the "print to screen" argument, `p2s`. At a value of 0, no screen printing will occur. This may be useful in large jobs or simulations where a very large number of imputation models may be required. The default value of 1, lists each bootstrap, and displays the number of iterations required to reach convergence in that bootstrapped dataset. The value of 2 gives more thorough screen output, including, at each iteration, the number of parameters that have significantly changed since the last iteration. This may be useful when the EM chain length is very long, as it can provide an intuition for many parameters still need to converge in the EM chain, and a sense of the time remaining. However, it is worth noting that the last several parameters can often take a significant fraction of the total number of iterations to converge. Setting `p2s` to 2 will also generate information on how EM algorithm is behaving, such as a `!` when the current estimated complete data covariance matrix is not invertible and a `*` when the likelihood has not monotonically increased in that step. Having many of these two symbols in the screen output is an indication of a problematic imputation model. Problems of non-invertible matrices often mean that current guess for the covariance matrix is singular. This is a sign that there may be two highly correlated variables in the model. One way to resolve is to use a ridge prior (see \@ref(sec_prior)). An example of the output when `p2s` is 2 would be ```{r p2s} a.out.p2s <- amelia(freetrade, m = 1, ts = "year", cs = "country", p2s = 2) ``` ## Parallel Imputation {#sec:parallel} Each imputation in the above EMB algorithm is completely independent of any other imputation, a property called embarrassingly parallel. This type of approach can take advantage of the multiple-core infrastructure of modern CPUs. Each core in a multi-core processor can execute independent operations in parallel. Amelia can utilize this parallel processing internally via the `parallel` and the `ncpus` arguments. The `parallel` argument sets the parallel processing backend, either with `"multicore"` or `"snow"` (or `"no"` for no parallel processing). The `"multicore"` backend is not available on Windows systems, but tends to be quicker at parallel processing. On a Windows system, the `"snow"` backend provides parallel processing through a cluster of worker processes across the CPUs. You can set the default for this argument using the `"amelia.parallel"` option. This allows you to run Amelia in parallel as the default for an entire R session without setting arguments in the `amelia()` call. For each of the parallel backends, Amelia requires a number of CPUs to use in parallel. This can be set using the `ncpus` argument. It can be higher than the number of physical cores in the system if hyperthreading or other technologies are available. You can use the `parallel::detectCores()` function to determine how many cores are available on your machine. The default for this argument can be set using the `"amelia.ncpus"` option. On Unix-alike systems (such as macOS and Linux distributions), the `"multicore"` backend automatically sets up and stops the parallel workers by forking the process. On Windows, the `"snow"` backend requires more attention. Amelia will attempt to create a parallel cluster of worker processes (since Windows systems cannot fork a process) and will stop this cluster after the imputations are complete. Alternatively, Amelia also has a `cl` argument, which accepts a predefined cluster made using the `parallel::makePSOCKcluster()`. For more information about parallel processing in R, see the documentation for the `parallel` package that ships along with R or the CRAN Task View on [Parallel Computing with R](https://cran.r-project.org/view=HighPerformanceComputing) ## Improving Imputations via Transformations {#sec:trans} Social science data commonly includes variables that fail to fit to a multivariate normal distribution. Indeed, numerous models have been introduced specifically to deal with the problems they present. As it turns out, much evidence in the literature [discussed in @KinHonJos01] indicates that the multivariate normal model used in Amelia usually works well for the imputation stage even when discrete or non-normal variables are included and when the analysis stage involves these limited dependent variable models. Nevertheless, Amelia includes some limited capacity to deal directly with ordinal and nominal variables and to modify variables that require other transformations. In general nominal and log transform variables should be declared to Amelia, whereas ordinal (including dichotomous) variables often need not be, as described below. (For harder cases, see [@Schafer97], for specialized MCMC-based imputation models for discrete variables.) Although these transformations are taken internally on these variables to better fit the data to the multivariate normal assumptions of the imputation model, all the imputations that are created will be returned in the original untransformed form of the data. If the user has already performed transformations on their data (such as by taking a log or square root prior to feeding the data to `amelia()`) these do not need to be declared, as that would result in the transformation occurring *doubly* in the imputation model. The fully imputed data sets that are returned will always be in the form of the original data that is passed to the `amelia()` routine. ### Ordinal {#sec:ord} In much statistical research, researchers treat independent ordinal (including dichotomous) variables as if they were really continuous. If the analysis model to be employed is of this type, then nothing extra is required of the of the imputation model. Users are advised to allow Amelia to impute non-integer values for any missing data, and to use these non-integer values in their analysis. Sometimes this makes sense, and sometimes this defies intuition. One particular imputation of 2.35 for a missing value on a seven point scale carries the intuition that the respondent is between a 2 and a 3 and most probably would have responded 2 had the data been observed. This is easier to accept than an imputation of 0.79 for a dichotomous variable where a zero represents a male and a one represents a female respondent. However, in both cases the non-integer imputations carry more information about the underlying distribution than would be carried if we were to force the imputations to be integers. Thus whenever the analysis model permits, missing ordinal observations should be allowed to take on continuously valued imputations. In the `freetrade` data, one such ordinal variable is `polity` which ranges from -10 (full autocracy) to 10 (full democracy). If we tabulate this variable from one of the imputed datasets, ```{r polity_tab} table(a.out$imputations[[3]]$polity) ``` we can see that there is one imputation between -4 and -3 and one imputation between 6 and 7. Again, the interpretation of these values is rather straightforward even if they are not strictly in the coding of the original Polity data. Often, however, analysis models require some variables to be strictly ordinal, as for example, when the dependent variable will be modeled in a logistical or Poisson regression. Imputations for variables set as ordinal are created by taking the continuously valued imputation and using an appropriately scaled version of this as the probability of success in a binomial distribution. The draw from this binomial distribution is then translated back into one of the ordinal categories. For our data we can simply add `polity` to the `ords` argument: ```{r polity_ord} a.out1 <- amelia(freetrade, m = 5, ts = "year", cs = "country", ords = "polity", p2s = 0) table(a.out1$imputations[[3]]$polity) ``` Now, we can see that all of the imputations fall into one of the original polity categories. ### Nominal {#sec:nom} Nominal variables[^binary] must be treated quite differently than ordinal variables. Any multinomial variables in the data set (such as religion coded 1 for Catholic, 2 for Jewish, and 3 for Protestant) must be specified to Amelia. In our \code{freetrade} dataset, we have `signed` which is 1 if a country signed an IMF agreement in that year and 0 if it did not. Of course, our first imputation did not limit the imputations to these two categories ```{r binary_tab} table(a.out1$imputations[[3]]$signed) ``` In order to fix this for a $p$-category multinomial variable, Amelia will determine $p$ (as long as your data contain at least one value in each category), and substitute $ p-1$ binary variables to specify each possible category. These new $p-1$ variables will be treated as the other variables in the multivariate normal imputation method chosen, and receive continuous imputations. These continuously valued imputations will then be appropriately scaled into probabilities for each of the $p$ possible categories, and one of these categories will be drawn, where upon the original $p$-category multinomial variable will be reconstructed and returned to the user. Thus all imputations will be appropriately multinomial. [^binary]: Dichotomous (two category) variables are a special case of nominal variables. For these variables, the nominal and ordinal methods of transformation in Amelia agree. For our data we can simply add `signed` to the `noms` argument: ```{r noms} a.out2 <- amelia(freetrade, m = 5, ts = "year", cs = "country", noms = "signed", p2s = 0) table(a.out2$imputations[[3]]$signed) ``` Note that Amelia can only fit imputations into categories that exist in the original data. Thus, if there was a third category of signed, say 2, that corresponded to a different kind of IMF agreement, but it never occurred in the original data, Amelia could not match imputations to it. Since Amelia properly treats a $p$-category multinomial variable as $p-1$ variables, one should understand the number of parameters that are quickly accumulating if many multinomial variables are being used. If the square of the number of real and constructed variables is large relative to the number of observations, it is useful to use a ridge prior as in section \@ref(sec_prior). ### Natural log {#sec:log} If one of your variables is heavily skewed or has outliers that may alter the imputation in an unwanted way, you can use a natural logarithm transformation of that variable in order to normalize its distribution. This transformed distribution helps Amelia to avoid imputing values that depend too heavily on outlying data points. Log transformations are common in expenditure and economic variables where we have strong beliefs that the marginal relationship between two variables decreases as we move across the range. For instance, we can show the `tariff` variable clearly has positive (or, right) skew while its natural log transformation has a roughly normal distribution. ```{r tarrif_hist} hist(freetrade$tariff, col="grey", border="white") hist(log(freetrade$tariff), col="grey", border="white") ``` ### Square root {#sec:sqrt} Event count data is often heavily skewed and has nonlinear relationships with other variables. One common transformation to tailor the linear model to count data is to take the square roots of the counts. This is a transformation that can be set as an option in Amelia. ### Logistic {#sec:lgstc} Proportional data is sharply bounded between 0 and 1. A logistic transformation is one possible option in Amelia to make the distribution symmetric and relatively unbounded. ## Identification Variables {#sec:idvars} Datasets often contain identification variables, such as country names, respondent numbers, or other identification numbers, codes or abbreviations. Sometimes these are text and sometimes these are numeric. Often it is not appropriate to include these variables in the imputation model, but it is useful to have them remain in the imputed datasets (However, there are models that would include the ID variables in the imputation model, such as fixed effects model for data with repeated observations of the same countries). Identification variables which are not to be included in the imputation model can be identified with the argument `idvars`. These variables will not be used in the imputation model, but will be kept in the imputed datasets. If the `year` and `country` contained no information except labels, we could omit them from the imputation: ```{r idvars} amelia(freetrade, idvars = c("year", "country")) ``` Note that Amelia will return with an error if your dataset contains a factor or character variable that is not marked as a nominal or identification variable. Thus, if we were to omit the factor `country` from the `cs` or `idvars` arguments, we would receive an error: ```{r idvars_error} a.out2 <- amelia(freetrade, idvars = c("year")) ``` In order to conserve memory, it is wise to remove unnecessary variables from a data set before loading it into Amelia. The only variables you should include in your data when running Amelia are variables you will use in the analysis stage and those variables that will help in the imputation model. While it may be tempting to simply mark unneeded variables as IDs, it only serves to waste memory and slow down the imputation procedure. ## Time Series, or Time Series Cross Sectional Data {#sec:tscs} Many variables that are recorded over time within a cross-sectional unit are observed to vary smoothly over time. In such cases, knowing the observed values of observations close in time to any missing value may enormously aid the imputation of that value. However, the exact pattern may vary over time within any cross-section. There may be periods of growth, stability, or decline; in each of which the observed values would be used in a different fashion to impute missing values. Also, these patterns may vary enormously across different cross-sections, or may exist in some and not others. Amelia can build a general model of patterns within variables across time by creating a sequence of polynomials of the time index. If, for example, tariffs vary smoothly over time, then we make the modeling assumption that there exists some polynomial that describes the economy in cross-sectional unit $i$ at time $t$ as: \[ \textrm{tariff}_{ti} = \beta_0 + \beta_1 t + \beta_1 t^2 + \beta_1 t^3 \ldots \] And thus if we include enough higher order terms of time then the pattern between observed values of the tariff rate can be estimated. Amelia will create polynomials of time up to the user defined $k$-th order, ($k\leq3$). We can implement this with the `ts` and `polytime` arguments. If we thought that a second-order polynomial would help predict we could run ```{r polytime, results = "hide"} a.out2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2) ``` With this input, Amelia will add covariates to the model that correspond to time and its polynomials. These covariates will help better predict the missing values. If cross-sectional units are specified these polynomials can be interacted with the cross-section unit to allow the patterns over time to vary between cross-sectional units. Unless you strongly believe all units have the same patterns over time in all variables (including the same constant term), this is a reasonable setting. When $k$ is set to 0, this interaction simply results in a model of *fixed effects* where every unit has a uniquely estimated constant term. Amelia does not smooth the observed data, and only uses this functional form, or one you choose, with all the other variables in the analysis and the uncertainty of the prediction, to impute the missing values. In order to impute with trends specific to each cross-sectional unit, we can set `intercs` to `TRUE`: ```{r intercs, results = "hide"} a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 2) ``` Note that attempting to use `polytime` without the `ts` argument, or `intercs` without the `cs` argument will result in an error. Using the `tscsPlot()` function (discussed below), we can see that we have a much better prediction about the missing values when incorporating time than when we omit it: ```{r tcomp1} tscsPlot(a.out, cs = "Malaysia", main = "Malaysia (no time settings)", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) ``` ### Lags and leads {#sec:lags} An alternative way of handling time-series information is to include lags and leads of certain variables into the imputation model. *Lags* are variables that take the value of another variable in the previous time period while *leads* take the value of another variable in the next time period. Many analysis models use lagged variables to deal with issues of endogeneity, thus using leads may seems strange. It is important to remember, however, that imputation models are predictive, not causal. Thus, since both past and future values of a variable are likely correlated with the present value, both lags and leads should improve the model. If we wanted to include lags and leads of tariffs, for instance, we would simply pass this to the `lags` and `leads` arguments: ```{r lags_leads} a.out2 <- amelia(freetrade, ts = "year", cs = "country", lags = "tariff", leads = "tariff") ``` ## Including Prior Information Amelia has a number of methods of setting priors within the imputation model. Two of these are commonly used and discussed below, ridge priors and observational priors. ### Ridge priors for high missingness, Small samples, or large correlations {#sec_prior} When the data to be analyzed contain a high degree of missingness or very strong correlations among the variables, or when the number of observations is only slightly greater than the number of parameters $p(p+3)/2$ (where $p$ is the number of variables), results from your analysis model will be more dependent on the choice of imputation model. This suggests more testing in these cases of alternative specifications under Amelia. This can happen when using the polynomials of time interacted with the cross section are included in the imputation model. For example, in our data, if we used a polynomial of degree 2 with unit-specific trends and there are 9 countries, it would add $3 \times 9 - 1= 17$ more variables to the imputation model (dropping one of the fixed effects for identification). When these are added, the EM algorithm can become unstable. You can detect this by inspecting the screen output under `p2s = 2` or by observing that the number iterations per imputation are very divergent. In these circumstances, we recommend adding a ridge prior which will help with numerical stability by shrinking the covariances among the variables toward zero without changing the means or variances. This can be done by including the `empri` argument. Including this prior as a positive number is roughly equivalent to adding `empri` artificial observations to the data set with the same means and variances as the existing data but with zero covariances. Thus, increasing the `empri` setting results in more shrinkage of the covariances, thus putting more a priori structure on the estimation problem: like many Bayesian methods, it reduces variance in return for an increase in bias that one hopes does not overwhelm the advantages in efficiency. In general, we suggest keeping the value on this prior relatively small and increase it only when necessary. A recommendation of 0.5 to 1 percent of the number of observations, $n$, is a reasonable starting value, and often useful in large datasets to add some numerical stability. For example, in a dataset of two thousand observations, this would translate to a prior value of 10 or 20 respectively. A prior of up to 5 percent is moderate in most applications and 10 percent is reasonable upper bound. For our data, it is easy to code up a 1 percent ridge prior: ```{r empri} a.out.time2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 0, empri = .01 * nrow(freetrade)) a.out.time2 ``` ### Observation-level priors {#sec:obspri} Researchers often have additional prior information about missing data values based on previous research, academic consensus, or personal experience. Amelia can incorporate this information to produce vastly improved imputations. The Amelia algorithm allows users to include informative Bayesian priors about individual missing data cells instead of the more general model parameters, many of which have little direct meaning. The incorporation of priors follows basic Bayesian analysis where the imputation turns out to be a weighted average of the model-based imputation and the prior mean, where the weights are functions of the relative strength of the data and prior: when the model predicts very well, the imputation will down-weight the prior, and vice versa [@HonKin10]. The priors about individual observations should describe the analyst's belief about the distribution of the missing data cell. This can either take the form of a mean and a standard deviation or a confidence interval. For instance, we might know that 1986 tariff rates in Thailand around 40%, but we have some uncertainty as to the exact value. Our prior belief about the distribution of the missing data cell, then, centers on 40 with a standard deviation that reflects the amount of uncertainty we have about our prior belief. To input priors you must build a priors matrix with either four or five columns. Each row of the matrix represents a prior on either one observation or one variable. In any row, the entry in the first column is the row of the observation and the entry is the second column is the column of the observation. In the four column priors matrix the third and fourth columns are the mean and standard deviation of the prior distribution of the missing value. For instance, suppose that we had some expert prior information about tariff rates in Thailand. We know from the data that Thailand is missing tariff rates in many years, ```{r thailand} freetrade[freetrade$country == "Thailand", c("year", "country", "tariff")] ``` Suppose that we had expert information that tariff rates were roughly 40% in Thailand between 1986 and 1988 with about a 6% margin of error. This corresponds to a standard deviation of about 3. In order to include this information, we must form the priors matrix: ```{r build_prior} pr <- matrix( c(158, 159, 160, 3, 3, 3, 40, 40, 40, 3, 3, 3), nrow = 3, ncol = 4 ) pr ``` The first column of this matrix corresponds to the row numbers of Thailand in these three years, the second column refers to the column number of `tariff` in the data and the last two columns refer to the actual prior. Once we have this matrix, we can pass it to `amelia()`, ```{r amelia_prior} a.out.pr <- amelia(freetrade, ts = "year", cs = "country", priors = pr) ``` In the five column matrix, the last three columns describe a confidence range of the data. The columns are a lower bound, an upper bound, and a confidence level between 0 and 1, exclusive. Whichever format you choose, it must be consistent across the entire matrix. We could get roughly the same prior as above by utilizing this method. Our margin of error implies that we would want imputations between 34 and 46, so our matrix would be ```{r build_prior2} pr.2 <- matrix( c(158, 159, 160, 3, 3, 3, 34, 34, 34, 46, 46, 46, 0.95, 0.95, 0.95), nrow = 3, ncol = 5 ) pr.2 ``` These priors indicate that we are 95% confident that these missing values are in the range 34 to 46. If a prior has the value 0 in the first column, this prior will be applied to all missing values in this variable, except for explicitly set priors. Thus, we could set a prior for the entire `tariff` variable of 20, but still keep the above specific priors with the following code: ```{r build_prior3} pr.3 <- matrix( c(158, 159, 160, 0, 3, 3 , 3, 3, 40, 40, 40, 20, 3, 3, 3, 5), nrow = 4, ncol = 4) pr.3 ``` ### Logical bounds In some cases, variables in the social sciences have known logical bounds. Proportions must be between 0 and 1 and duration data must be greater than 0, for instance. Many of these logical bounds can be handled by using the correct transformation for that type of variable (see \@ref(sec:trans) for more details on the transformations handled by Amelia). In the occasional case that imputations must satisfy certain logical bounds not handled by these transformations, Amelia can take draws from a truncated normal distribution in order to achieve imputations that satisfy the bounds. Note, however, that this procedure imposes extremely strong restrictions on the imputations and can lead to lower variances than the imputation model implies. The mean value across all the imputed values of a missing cell is the best guess from the imputation model of that missing value. The variance of the distribution across imputed datasets correctly reflects the uncertainty in that imputation. It is often the mean imputed value that should conform to the any known bounds, even if individual imputations are drawn beyond those bounds. The mean imputed value can be checked with the diagnostics presented in the next section. In general, building a more predictive imputation model will lead to better imputations than imposing bounds. Amelia implements these bounds by rejection sampling. When drawing the imputations from their posterior, we repeatedly resample until we have a draw that satisfies all of the logical constraints. You can set an upper limit on the number of times to resample with the `max.resample` arguments. Thus, if after `max.resample` draws, the imputations are still outside the bounds, Amelia will set the imputation at the edge of the bounds. Thus, if the bounds were 0 and 100 and all of the draws were negative, Amelia would simply impute 0. As an extreme example, suppose that we know, for certain that tariff rates had to fall between 30 and 40. This, obviously, is not true, but we can generate imputations from this model. In order to specify these bounds, we need to generate a matrix of bounds to pass to the `bounds` argument. This matrix will have 3 columns: the first is the column for the bounded variable, the second is the lower bound and the third is the upper bound. Thus, to implement our bound on tariff rates (the 3rd column of the dataset), we would create the matrix, ```{r build_bounds} bds <- matrix(c(3, 30, 40), nrow = 1, ncol = 3) bds ``` which we can pass to the `bounds` argument to `amelia()`: ```{r amelia_bounds} a.out.bds <- amelia(freetrade, ts = "year", cs = "country", bounds = bds, max.resample = 1000) ``` The difference in results between the bounded and unbounded model are not obvious from the output, but inspection of the imputed tariff rates for Malaysia shows that there has been a drastic restriction of the imputations to the desired range: ```{r bounds_plot} tscsPlot(a.out, cs = "Malaysia", main = "No logical bounds", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.bds, cs = "Malaysia", main = "Bounded between 30 and 40", var = "tariff", ylim = c(-10, 60)) ``` Again, analysts should be extremely cautious when using these bounds as they can seriously affect the inferences from the imputation model, as shown in this example. Even when logical bounds exist, we recommend simply imputing variables normally, as the violation of the logical bounds represents part of the true uncertainty of imputation. ## Post-imputations Transformations {#sec_postimptrans} In many cases, it is useful to create transformations of the imputed variables for use in further analysis. For instance, one may want to create an interaction between two variables or perform a log-transformation on the imputed data. To do this, Amelia includes a `transform()` function for `amelia()` output that adds or overwrites variables in each of the imputed datasets. For instance, if we wanted to create a log-transformation of the `gdp.pc` variable, we could use the following command: ```{r amelia_transform} a.out <- transform(a.out, lgdp = log(gdp.pc)) head(a.out$imputations[[1]][,c("country", "year","gdp.pc", "lgdp")]) ``` To create an interaction between two variables, we could simply use: ```{r interaction} a.out <- transform(a.out, pol_gdp = polity * gdp.pc) ``` Each transformation is recorded and the `summary()` command prints out each transformation that has been performed: ```{r sum_trans} summary(a.out) ``` Note the updated output is almost exactly the same as the fresh `amelia()` output. You can pass the transformed output back to `amelia()` and it will add imputations and update these imputations with the transformations you have performed. ## Analysis Models {#sec_analysis} Imputation is most often a data processing step as opposed to a final model in of itself. To this end, it is easy to pass output from `amelia()` to other functions. The easiest and most integrated way to run an analysis model is to use the `with()` and `mi.combine()` functions. For example, in @MilKub05, the dependent variable was tariff rates. We can replicate table 5.1 from their analysis with the original data simply by running ```{r lm_lwd} orig.model <- lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade) orig.model ``` Running the same model with imputed data is almost identical. We can run the `lm` within each imputed data set by using the `with()` function: ```{r lm_imp} imp.models <- with( a.out, lm(tariff ~ polity + pop + gdp.pc + year + country) ) imp.models[1:2] ``` The result here is simply a list of output of `lm()` applied to each imputed data set. We can combine the imputed estimates using the rules described in @KinHonJos01 and @Schafer97 with the `mi.combine()` function: ```{r mi_combine} out <- mi.combine(imp.models, conf.int = TRUE) out ``` The combination of the results depends on the [broom](https://broom.tidymodels.org) package and results can be combined if a `tidy()` method exists for the estimation function passed to `with()`. Users can easily export their imputations using the `write.amelia()` function as described in \@ref(sec_saving) and use statistical packages other than R for the analysis model. In addition to the resources available in R, users can draw on Stata to implement their analysis models. As of version 11, Stata has built-in handling of multiply imputed datasets. In order to utilize this functionality, simply export the "stacked" imputations using the `write.amelia()` function: ```{r write_dta_stacked, eval = FALSE} write.amelia(a.out, separate = FALSE, file.stem = "outdata", format = "dta") ``` Once this stacked dataset is open in Stata, you must tell Stata that it is an imputed dataset using the \code{mi import flong} command: ```{stata eval = FALSE} mi import flong, m(imp) id(year country) imp(tariff-usheg) ``` The command takes a few options: `m` designates the imputation variable (set with `impvar` in `write.amelia()`), `id` sets the identifying varibles, and `imp` sets the variables that were imputed (or included in the imputation). The `tariff-usheg` indicates that Stata should treat the range of variables between `tariff` and `usheg` as imputed. Once we have set the dataset as imputed, we can use the built-in `mi` commands to analyze the data: ```{stata eval = FALSE} mi estimate: reg tariff polity pop gdp_pc ``` ``` Multiple-imputation estimates Imputations = 5 Linear regression Number of obs = 171 Average RVI = 1.4114 Complete DF = 167 DF adjustment: Small sample DF: min = 10.36 avg = 18.81 max = 37.62 Model F test: Equal FMI F( 2, 10.4) = 15.50 Within VCE type: OLS Prob > F = 0.0008 ------------------------------------------------------------------------------ tariff | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- polity | -.2058115 .3911049 -0.53 0.610 -1.072968 .6613452 pop | 3.21e-08 8.72e-09 3.68 0.004 1.27e-08 5.14e-08 gdp_pc | -.0027561 .000644 -4.28 0.000 -.0040602 -.0014519 _cons | 32.70461 2.660091 12.29 0.000 27.08917 38.32005 ------------------------------------------------------------------------------ ``` ## The `amelia` class {#sec_out} The output from the `amelia()` function is an instance of the S3 class `amelia`. Instances of the `amelia` class contain much more than simply the imputed datasets. The `mu` object of the class contains the posterior draws of the means of the complete data. The `covMatrices` contains the posterior draws of the covariance matrices of the complete data. Note that these correspond to the variables as they are sent to the EM algorithm. Namely, they refer to the variables after being transformed, centered and scaled. The `iterHist` object is a list of `m` 3-column matrices. Each row of the matrices corresponds to an iteration of the EM algorithm. The first column indicates how many parameters had yet to converge at that iteration. The second column indicates if the EM algorithm made a step that decreased the number of converged parameters. The third column indicates whether the covariance matrix at this iteration was singular. Clearly, the last two columns are meant to indicate when the EM algorithm enters a problematic part of the parameter space. ## References Amelia/inst/doc/diagnostics.R0000644000176200001440000000322714713163336015631 0ustar liggesusers## ----setup, echo = FALSE, include = FALSE------------------------------------- knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ## ----amelia, results = "hide"------------------------------------------------- library(Amelia) data(freetrade) a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country", p2s = 0) ## ----plot_amelia-------------------------------------------------------------- plot(a.out, which.vars = 3:6) ## ----compare_density---------------------------------------------------------- compare.density(a.out, var = "signed") ## ----------------------------------------------------------------------------- overimpute(a.out, var = "tariff") ## ----overimp_bad, echo = FALSE, results = "hide"------------------------------ dd <- Amelia:::rmvnorm(50, mu = c(0.5,0.5), vcv = matrix(c(0.25^2,.06, .06,0.25^2),2,2)) ddmiss <- sample(1:50, replace = FALSE, size = 10) is.na(dd) <- ddmiss aa.out <- amelia(dd, m = 5) overimpute(aa.out, var = 2, main = "Observed versus Imputed Values") ## ----displd------------------------------------------------------------------- disperse(a.out, dims = 1, m = 5) disperse(a.out, dims = 2, m = 5) ## ----tsplot1------------------------------------------------------------------ a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1, intercs = TRUE, p2s = 0) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) ## ----mmap1-------------------------------------------------------------------- missmap(a.out) Amelia/inst/doc/diagnostics.html0000644000176200001440000132510614713163336016400 0ustar liggesusers Multiple Imputation Diagnostics

Multiple Imputation Diagnostics

2024-11-07

Amelia currently provides a number of diagnostic tools to inspect the imputations that are created. To illustrate these, we use the freetrade data from the package:

library(Amelia)
## Loading required package: Rcpp
## ## 
## ## Amelia II: Multiple Imputation
## ## (Version 1.8.3, built: 2024-11-07)
## ## Copyright (C) 2005-2024 James Honaker, Gary King and Matthew Blackwell
## ## Refer to http://gking.harvard.edu/amelia/ for more information
## ##
data(freetrade)
a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country", p2s = 0)

One check on the plausibility of the imputation model is check the distribution of imputed values to the distribution of observed values. Obviously we cannot expect, a priori, that these distribution will be identical as the missing values may differ systematically from the observed value–this is fundamental reason to impute to begin with! Imputations with strange distributions or those that are far from the observed data may indicate that imputation model needs at least some investigation and possibly some improvement.

The plot.amelia() method works on output from amelia() and, by default, shows for each variable a plot of the relative frequencies of the observed data with an overlay of the relative frequency of the imputed values.

plot(a.out, which.vars = 3:6)

where the argument which.vars indicates which of the variables to plot (in this case, we are taking the 3rd through the 6th variables).

The imputed curve (in red) plots the density of the mean imputation over the \(m\) datasets. That is, for each cell that is missing in the variable, the diagnostic will find the mean of that cell across each of the \(m\) datasets and use that value for the density plot. The black distributions are the those of the observed data. When variables are completely observed, their densities are plotted in blue. These graphs will allow you to inspect how the density of imputations compares to the density of observed data. Some discussion of these graphs can be found in Abayomi, Gelman, and Levy (2008). Minimally, these graphs can be used to check that the mean imputation falls within known bounds, when such bounds exist in certain variables or settings.

We can also use the function compare.density() directly to make these plots for an individual variable:

compare.density(a.out, var = "signed")

Overimpute

Overimputing is a technique we have developed to judge the fit of the imputation model. Because of the nature of the missing data mechanism, it is impossible to tell whether the mean prediction of the imputation model is close to the unobserved value that is trying to be recovered. By definition this missing data does not exist to create this comparison, and if it existed we would no longer need the imputations or care about their accuracy. However, a natural question the applied researcher will often ask is how accurate are these imputed values?

Overimputing involves sequentially treating each of the observed values as if they had actually been missing. For each observed value in turn we then generate several hundred imputed values of that observed value, as if it had been missing. While \(m=5\) imputations are sufficient for most analysis models, this large number of imputations allows us to construct a confidence interval of what the imputed value would have been, had any of the observed data been missing. We can then graphically inspect whether our observed data tends to fall within the region where it would have been imputed had it been missing.

For example, we can run the overimputation diagnostic on our data by running

overimpute(a.out, var = "tariff")

Our overimputation diagnostic runs this procedure through all of the observed values for a user selected variable. We can graph the estimates of each observation against the true values of the observation. On this graph, a \(y=x\) line indicates the line of perfect agreement; that is, if the imputation model was a perfect predictor of the true value, all the imputations would fall on this line. For each observation, overimpute() also plots 90% confidence intervals that allows the user to visually inspect the behavior of the imputation model. By checking how many of the confidence intervals cover the \(y=x\) line, we can tell how often the imputation model can confidently predict the true value of the observation.

Occasionally, the overimputation can display unintuitive results. For example, different observations may have different numbers of observed covariates. If covariates that are useful to the prediction are themselves missing, then the confidence interval for this observation will be much larger. In the extreme, there may be observations where the observed value we are trying to overimpute is the only observed value in that observation, and thus there is nothing left to impute that observation with when we pretend that it is missing, other than the mean and variance of that variable. In these cases, we should correctly expect the confidence interval to be very large.

An example of this graph is show here:

In this simulated bivariate dataset, one variable is overimputed and the results displayed. The second variable is either observed, in which case the confidence intervals are very small and the imputations (yellow) are very accurate, or the second variable is missing in which case this variable is being imputed simply from the mean and variance parameters, and the imputations (red) have a very large and encompassing spread. The circles represent the mean of all the imputations for that value. As the amount of missing information in a particular pattern of missingness increases, we expect the width of the confidence interval to increase. The color of the confidence interval reflects the percent of covariates observed in that pattern of missingness, as reflected in the legend at the bottom.

Overdispersed Starting Values

If the data given to amelia() has a poorly behaved likelihood, the EM algorithm can have problems finding a global maximum of the likelihood surface and starting values can begin to effect imputations. Because the EM algorithm is deterministic, the point in the parameter space where you start it can impact where it ends, though this is irrelevant when the likelihood has only one mode. However, if the starting values of an EM chain are close to a local maximum, the algorithm may find this maximum, unaware that there is a global maximum farther away. To make sure that our imputations do not depend on our starting values, a good test is to run the EM algorithm from multiple, dispersed starting values and check their convergence. In a well behaved likelihood, we will see all of these chains converging to the same value, and reasonably conclude that this is the likely global maximum. On the other hand, we might see our EM chain converging to multiple locations. The algorithm may also wander around portions of the parameter space that are not fully identified, such as a ridge of equal likelihood, as would happen for example, if the same variable were accidentally included in the imputation model twice.

Amelia includes a diagnostic to run the EM chain from multiple starting values that are overdispersed from the estimated maximum. The overdispersion diagnostic will display a graph of the paths of each chain. Since these chains move through spaces that are in an extremely high number of dimensions and can not be graphically displayed, the diagnostic reduces the dimensionality of the EM paths by showing the paths relative to the largest principle components of the final mode(s) that are reached. Users can choose between graphing the movement over the two largest principal components, or more simply the largest dimension with time (iteration number) on the \(x\)-axis. The number of EM chains can also be adjusted. Once the diagnostic draws the graph, the user can visually inspect the results to check that all chains convergence to the same point.

For our original model, this is a simple call to disperse():

disperse(a.out, dims = 1, m = 5)

disperse(a.out, dims = 2, m = 5)

where m designates the number of places to start EM chains from and dims are the number of dimensions of the principal components to show.

In one dimension, the diagnostic plots movement of the chain on the \(y\)-axis and time, in the form of the iteration number, on the \(x\)-axis. The first plot shows a well behaved likelihood, as the starting values all converge to the same point. The black horizontal line is the point where amelia() converges when it uses the default method for choosing the starting values. The diagnostic takes the end point of this chain as the possible maximum and disperses the starting values away from it to see if the chain will ever finish at another mode.

Time-series Plots

As discussed above, information about time trends and fixed effects can help produce better imputations. One way to check the plausibility of our imputation model is to see how it predicts missing values in a time series. If the imputations for the Malaysian tariff rate were drastically higher in 1990 than the observed years of 1989 or 1991, we might worry that there is a problem in our imputation model. Checking these time series is easy to do with tscsPlot(). Simply choose the variable (with the var argument) and the cross-section (with the cs argument) to plot the observed time-series along with distributions of the imputed values for each missing time period. For instance, we can get the plot of the tariff variable for Malaysia with the following commands:

a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 1,
                     intercs = TRUE, p2s = 0)
tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)",
         var = "tariff", ylim = c(-10, 60))

Here, the black point are observed tariff rates for Malaysia from 1980 to 2000. The red points are the mean imputation for each of the missing values, along with their 95% confidence bands. We draw these bands by imputing each of missing values 100 times to get the imputation distribution for that observation.

In figure \(\ref{fig:tsplot1}\), we can see that the imputed 1990 tariff rate is quite in line with the values around it. Notice also that values toward the beginning and end of the time series have slightly higher imputation variance. This occurs because the fit of the polynomials of time in the imputation model have higher variance at the beginning and end of the time series. This is intuitive because these points have fewer neighbors from which to draw predictive power.

A word of caution is in order. As with comparing the histograms of imputed and observed values, there could be reasons that the missing values are systematically different than the observed time series. For instance, if there had been a major financial crisis in Malaysia in 1990 which caused the government to close off trade, then we would expect that the missing tariff rates should be quite different than the observed time series. If we have this information in our imputation model, we might expect to see out-of-line imputations in these time-series plots. If, on the other hand, we did not have this information, we might see “good†time-series plots that fail to point out this violation of the MAR assumption. Our imputation model would produce poor estimates of the missing values since it would be unaware that both the missingness and the true unobserved tariff rate depend on another variable. Hence, tscsPlot() is useful for finding obvious problems in imputation model and comparing the efficiency of various imputation models, but it cannot speak to the untestable assumption of MAR.

Missingness maps

One useful tool for exploring the missingness in a dataset is a missingness map. This is a map that visualizes the dataset a grid and colors the grid by missingness status. The column of the grid are the variables and the rows are the observations, as in any spreadsheet program. This tool allows for a quick summary of the patterns of missingness in the data.

If we simply call the missmap() function on our output from amelia(),

missmap(a.out)

The missmap() function arrange the columns so that the variables are in decreasing order of missingness from left to right. If the cs argument was set in the amelia function, the labels for the rows will indicate where each of the cross-sections begin.

In this missingness map, it is clear that the tariff rate is the variable most missing in the data and it tends to be missing in blocks of a few observations. Gross international reserves (intresmi) and financial openness (fivop), on the other hand, are missing mostly at the end of each cross-section. This suggests missingness by merging, when variables with different temporal coverages are merged to make one dataset. Sometimes this kind of missingness is an artifact of the date at which the data was merged and researchers can resolve it by finding updated versions of the relevant variables.

The missingness map is an important tool for understanding the patterns of missingness in the data and can often indicate potential ways to improve the imputation model or data collection process.

References

Abayomi, Kobi, Andrew Gelman, and Marc Levy. 2008. “Diagnostics for Multivariate Imputations.†Applied Statistics 57 (3): 273–91.
Amelia/inst/doc/intro-mi.R0000644000176200001440000000023614713163336015055 0ustar liggesusers## ----loadpkg, echo = FALSE, include = FALSE----------------------------------- knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") Amelia/inst/doc/ameliaview.R0000644000176200001440000000052114713163335015436 0ustar liggesusers## ----setup, echo = FALSE, include = FALSE------------------------------------- knitr::opts_chunk$set(fig.width = 5, fig.height = 4, fig.align = "center") options(digits = 4, show.signif.stars = FALSE) set.seed(12345) ## ----load_av, eval = FALSE---------------------------------------------------- # library(Amelia) # AmeliaView() Amelia/inst/gui/0000755000176200001440000000000014522322371013204 5ustar liggesusersAmelia/inst/gui/arrow_left.gif0000644000176200001440000000017214335240021016030 0ustar liggesusersGIF89aã ’Í^Äi“Í_ÍS–ÔX™×ZÍT‹ÅY|®ZcEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,'ðÉI«½8ëm—‰Ç%@fdAƒx%ˆ¥–¦‹ß£÷À °;Amelia/inst/gui/page_sas.gif0000644000176200001440000000113714335240021015450 0ustar liggesusersGIF89aÆD)1Cÿþþû ù þ û úøøúö>EUùCK\IUkì+4Ra{ã?LëDMWp‘åQ]Ýcràcrô_bÓmÚnñkoâuƒv—´Ê„œø|~Ä“¯Ä”°Ç˜²ˆ¯ÈÈ¡º¯¨Ì‰»ì¶·ÙšÀÖõ«®ËµÎľەÊüÈÀÚÈÁÛ¨ËÞžÎû­Íó¤Ñû°ÑãËÌÑ®Óå«Ôû±×ü¶Úü»ÜýÕÛäÀßýÇãþÕçðÞçïâéðåíõìñöòöúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,¼€‚ƒ„…‚>640))$$„6>AB–—Aš'ƒ4A=¡¡<¤C'œ‚0C¢=¤::C±‚)«£®998C³) .,9 ½$/<8(C‚$* % 2! ÙB<+ÂÂ33&‚Â#7"Âꥢ#Žñb´hñ£½!"Œ¡°…‡*ì’ ˆG ?„Ô`¯‚I  @xð A½ É;Amelia/inst/gui/icon_accept.gif0000644000176200001440000000037114335240021016134 0ustar liggesusersGIF89a„vÃGKp.³Ý–‘Ði‘˜Œùü÷Íæ¹‹ÒXƒÍSq¿DÔíÅ6Y~“mR‚,“æW‰äLì÷å¨åwÂæ©]zF~ÕG€ËOŒåPL`RgBÿÿÿÿÿÿ!ù,và'ŽdYNDÊ0“)b†!EtÔ˜ð¡R9·QÇÀëU*CƱ ŠÇÄ3pœ=_fª@X®¢Ž £€ A`i†‰gª^·€´žH<Üy}}w# ˆ`$Œ—’. žž€›¢£.!;Amelia/inst/gui/gallery19.gif0000644000176200001440000014666214335240021015514 0ustar liggesusersGIF87a,äçý        )"&& ''&'(&'&"')%(/.011/#000/*11-1$7/%24 33::9;99-::#993::(;<A@)CCBDBD"BB6CC1CB;DD(FF/KM*MM%KKANL/ML4LL:JN/MR"QU6ST;UW3VX(XV9UVCWX/UVJWZhjEimuI'¤Å'RIÁòŠQ­@uËTæ‚“ ‚Ud„i¹×…zÑU×¥˜fŠi^ ò…Í`#–Z912&㌕™h©êÄš¨þŠ‘*«¬¢m¶˜`…µxÚj¨ùMqÅfÖXŽÞÖ’ òÂÕpP„T:'ÑC,LÄC]v”ÝGÞY&i–ÑFh´±FèêÑMrÒiç|{òT'ýŠÔ)‚XhTˆV¥(VŠn…Œƒ Éa†b£—¦ ïõ¡ÃÐð%16¤¥z#©Ÿ•ê¢Åชجߨ±«ê”lrÉ!ŸxkŽ·öJ˜¯tQ¡ZFûU“N.‹LÆmB +Dë ÕÂàP—=ÁCP`×™]tµdŒ+G›éæ'Ms.òNwÊ牟 UoK ÈoTÞ’Ë¿‹WäÌBnì¥ ÈZþ¯|÷í7~‘Î_$Òx±«¬–Œ­)Îzò¬ƒìx«àœü¸äšÑ˜Ê¹ ÖÞw5¤ÍÇ*¨³p]õ<¥ ¬³€%uXrÙ%FA‘ƒwS€[¦h”§’êå¡Gºê®Ûõ"9ÉïØ~Õ§„¾ò TV•袦7Ó̰jÅÆÖÄ Wøá÷|ýmZç=žÿ¨ =Vxb”_æqÇì°9­z,kÉõÛ2â C™Ébd¹ZîEc cTƒš‡i¨-¢+ é¾’³®4cYÍðB”-Ô Z¡ˆuf§ÚáŽLTà¹Z‚ž:]/iO× ‘nø­bšÃ•Žg˜Ç”ã0¦‚_ü>£ÄÝV#Ãÿúç?uŒÌre¬_ŒÈHF¢,r¯²Õiü¦) AʈxÄ£r–ÃPKXB~pŽlk $ÑÊS®5¬=|xÉðôÀž™Ì @ž!è#ê(°ÀE€N1 §¨Š-rA‹™Ž+\â’ÄÕ²‰}c™æJÓ¢Íê1fT a,c¿ùÅ(q$ `0½x26²ªõSGÿZÅÆi0šˆyã©6wšôe|’Y[Š!ËHÍìAZH¡P‡:?p‚0ÂìX‘‰þäÕЀG¢†4žðdB'HÐ'9‘Ä Ív¯¥ì‹z©¼Å*Yù›G+a9‹÷fù)_=ñOìeªF£KåÈDø›U1ñÍu¤#áX‡KaJÓš¦C¦8uiNwÊÓžúô§mlÿ(š+êH5¼úæ‡Þ,ƒÉ圢‹KYçŠTç7ø~P»ì@$¹´ ….ð3 D×@e“šØÄ :™ÏB‡2 ¥è *üj›Dßö6ì¹’œã\êÒ+¿ärŽ<‚b³"ÂꊕË©Š9FvÌ4¦2­©fqšŽ›þô³  ­5MVÌUá±>Rê†ðæ½¹ )°Ð`þ]ຉ¸«\åj=¡0¦Dva¬`(—¹Î“7­«&q…W~òÉæÖ¯Ð -d!‹UZwˆÀ°3˜!˃Að.ë\b]f«]fÎp"‹œâĸ¿kZÖ¥ž…ogçÛY™¾4ñ -hók_ŸÎ#šÍÜ"©`Úyt0ÃÔÂVηȶ  „ŽØŽ;ÝŠš>É …”°P­Å£$»ØŸäâ‡ÎîW!Qê*ê7#NVŠ•ŒíÊ/uob[v>ÅÎc6Joâ:ö?iJÀ옇~yZß%;Y¿òøo,Ù‡#s”ñÜùæ)…ÝEf’B „Û‰%H˜Â?ØNþrÀ[’ˆ \] Cpë0.âæ!=|àÜ*Áç®ÑO‘PèPšË‰Q¨¸@·+]Ü!^ÔQÛ43Èâ]Âò-W&LyÏë"0¦W~²‚igE­ÓÌÞTONµª¡ŒêžÞW³0=o7Ãå.{ÌåÄtýÎArµvjÆN™Þçߦ=-Q—ò|É=óy…—OÚ‰QXÛxý!&Êè¸5ê+5f5ÆÍÝgh*—»ì f`êü™öE’ðMïËäUÛ;´òÈ·LóÝjžêÛ§£†uÈv)[_*‰vkð[|°ë¤M'iNØŽ=³C… “¡ Q›s ó¬çfÛÚ0¨OþFî ¡8ÏÚÔÓ¶T\ü6ßÀíÛ_‘ô¸©ÁÝ„9lŽ+J÷‰`¹xƒZr—#•géÍYþ®ãßG2¿—ÞoVç”éL§Ò™üjÍ‹¸BmjùI)ü!t¸¯›Æî¬T¸xšÌ †ó°P=̾d&ët§K”Ü'Ì{ž)°•Vü*.ïk_‰³$Û˜EÒâ¦ù‚Aô2ö­»E"úÿBãFŸlèøMú:2¿S¤7ýéöõ,ÔùíÓѧ¦—úészßùÒÔd²&εÁ«—uײLšÒ^„(X¡#ܱÂWÇt&4‘‡Ÿãj‰žeH§¸Þ§'9D Ÿš¶ZÄ⵨…o¬þ»JF1Èð¢Ôk¾kXôqæcÚ´_6Íø v¼Ú³°†©ÝXú©¯ƒøÏ?þIô¥ëéO'ú÷¦7zx€LçSøUuø¥áPáÀXG•¾â0á3XãÇHcˆçUo.áB.Èw‘Ä|ñ!m÷á<ûÑPÒ#=µp Ø—}Û×WDÔ$à†äÄQ—’T¦Q8è%FoD9ì—ÅyñóW@F·oöw€û÷oQ—ù…U…VX€þ‡…Y¸z¥¶yISÞ +<R½’`á“0KdJІ[R½ga»e!˜&j"\ã‚gîÑ.Ц‚#·-È/ƒ·}-×}þ7¸ à†NÅ ! ^™Áng4@ìÅR%C_ñ…‰šˆ‰«¦…Pç„üF€\…©7Š\ø‰?ÕdIˆE ÄXÚà)j¨`]Ö†Jð†p˜ÁV`Þge@Á•‡'€•r~È<ѧÕGˆ†ÈWÞ§3±”«õˆ?‰A¶„•å€Mvoþ6z (€ªuãŠâø¦˜ŽêxЍØ_œ•Yñ·M,Bà¤)ITK‡ÁU^»È‹Äwq¿ˆ|Ê—g–ÄgÇm#/h° /¯JÚ÷r®„:È@7o±!>x>:§EóÇFÝèç‰HŽå8ŠW…븒쎘5Sð(þp/ƒp rp£pÙaHöD‡ß5‡‡Ê7'%wu‡wdà ‘mãrLâ$¯Ô ¤ “cáåc—ayTVMïåž8…,¹…X˜’ªÇ’h‰’K—‰™Ç€òW*–ÑxNÃQ‡<à4¸˜aE&Å6”Wóv–tI}ˆ'yâ'€ÂŒ/ˆh€G‘R™]Aæv•Y‰^‘Ç•d4RV?E·o"yiIŠ¡xŠ𦉀RèŽIÈ~5Ò#sikµ$w©—¿Ç—nFq6‚¿ƒg‘Ô.Æröwör/° GÁ¥DVˆÞ'wdn㳜1L‘çEÖ”™ši?œþ9S§æ…Ovš¨©Ž÷ùpàyžTx…MkÅšŸ‘+›sÂW›{é!(”¿\™/ñ˜r`w>¡¢ùÒ §àCÒ ÿòJ‘‘©!å#R3⥢Lêð™ Ža‰ž-yŽ,Yžg9žXx(š¢(ªŽ˜Š¯æ8³µ41µTÂ÷%%„aˆgrqkR.r€hE\\C'ІwʘCù‚~×/Tám¨Ó Î)gA¡|‘eÃä*‡A+’Ç¡-Úai– :€£‰–$š& …*ª¢,Ê÷¢Ç„1&5£t*1ÂçU7Š;;Ê£¿EÉ·u@¤z`¤þõawžÐ'=ÒS=Vq‰(Úó(‘™)Ü@¸R9ú³?ô•÷V€=UŠàiždª’cÊ…kš¢m*€Ÿp§1u >ãxj›øùf>ê‰ÿ¤5415r‘à ‡j/¦ ‹Ù ú¨´=G4XS©–º¥ÊT‰bÄ©ø¦ÚJ–§¹¢é©¦iɦ¦zª¢jŠæè¢4@œöбzp|‘wê}é-Äw&n0É×m€.ìÁ5Èc˜;Q¬H±wÈYJŒé Ìª=‘bs"1¹2¡nùS^¸­+¢¦é­¤ª»’ãy¦'J®©*u¨·S¬:?ë«u)1ðºþ‹òÊ·ZqbÒaÇÇOÀãBZ£.r‚<:1r™`¬Ç:ƒÕÓ61¶ÚÓ ±q“ÑÊ -cE#±4ʼnx±Ë’äzµ»8žX+²ô ®]¶¨Z’$뙬÷¢¢ÑKìÚ®ÓÛñb¢ab‚&j‚¯6‹ÃóŸ;›E ›Qp¾^ð-<Êtû‹ÉG\Å¥³ÆÈg$ˆIÁb’}Ø ¿!c Ú3âWPô£µñå¸3%–S—’bŠšez½Ø+®ãJžù€¦kÁLž)ºÁì¹(éjéàiœV"®˜•Úæùg~IäH³+<ò;¿x’wüM}¾0‘pc40E©ç‡ð&jݨÀ¨ç©`ú­j‰±üÁÓ«¦Œ¼ÁŒÅå)ÅÙÂ&;j)SÂí£u§ÂçøÙ‹dâ‚53ÜVÎvÃJº/L‘}4˜ 2Æ 27Þƒ¸Ž'2þ%³€ù%µ#©…Nì±SŒÁ\œÈˆ¢üµŽ¬Å’lÁ‹ìµeÙœ•®a,ÆæSÑpÆgœOA9&YgŽDÃo"'ô+œ‰é«0ƒµ€}•DAIÛ)Ä[Äsü3_",z… ª|½L®“|ÌlÉ‘¼ÅŒÌ|ÅÎìÌ—‹€`ú¸09*C#êÓ+¥‘ ²)Wà-{ªŸ5{ʨ\<ªl˜{¿ÂõP]õ daˇÛ)eØKg´©îׄ#ÌêéÀPLÅ|µÑŒÌW‹Á”ÜÌÍÌ -ÍYK…÷÷opJ§¶š+¬‹HBi¯nð¾¨L<ê2'u·Œ>Ô µÐþÃõ/U0ÐÚ)P„~ÿs­ØZM½g¹±Ô«Ð ÝÓŒÐ>­Å<Ô ýШæ¦`Œ9ëv+&œuƸVS5¹YÊä¿…Îð!mJº ü2ƒ¾7´ü¬²)˜6*•WÓþ ¦8 Ј<ÔD]Ð@ÝÓp×BmÔÕœSJ(9æÅ"<Ö#ç‹OnFÊR“qº˜"Ês2 ØP^-v¬}%Ä”VÏf#)óLS&MŸE’:íÖom×>=× Í¢-ÉÓ¼˜¼SJXeF…^רMªQqQ½£âÁ£`&wûBé"C|¶<‡J/GÁ/©@ *ýr@!ã:?˜9†¾L±†þœ±Æ¬ÁþpÝȌݧíÓò0Ðû—×Þþ°ÝÏüÐVh²A·¥ëöxg{i¬aÃV¾X.å¢VÄ#C ‰»K‘rÕuÇL¢QN•)'…a(È åÙ¡IЬݓÌàä]Úã9Þà=ÞÜ[×qmÞåÈz–“2³2ã• 2Û¸IV¹í¾WmßkµØÀ¹‚ˆh58xZáÒËmiï×z!ù©JݧªÅÞà?þàÑLáò0áãM›‡¼G'ä”\–Ý›”R•!§$•+0ÕàB·áÂHæLÃŇ"G¬B‘¤`°nãƒÇÃñõœ7Òª9#_ïxàÚšàXÔÎäÇüµþN¢ÈKS÷ÞXäDáö·Ù(“¾-³BIÊ¿øÑÁ•V öåÁÚØdÞ¤ŠFQY‘ ÈÐ o±çx?¶¡Jç¼h¶xNèz.ÉE~Ý÷ðRÞ€¼§FFnݬîÓ©}Þ8Å•îV„Ù¬9·J&"H·-\0bpò}Hrö +c™QGä ÑD×n§Žê¡}ç=Íàâ-Þ­Þçëà Õ€¼{ëîìÞî¹ÎÌ¢™S£eF׺E"ó â‚÷êrfWƒ³ñ '6¡Îë<(Ñ.Ö¢Ü­í‘ØEB×™:n’^¹Ûµßþãî>îþ áP ç¾Ílžäéàî^þòáÚFtA•?Fænéõ ¸)5p†kŒ*³k…‚ð°ör µ ]¾¡ Bô¿ÔIÅðX$ÓŒ›ÉÏÀdÁ˜;пÐàžñÛÍà_ áPäèU/á&öïžòý¶ò–øL7LßPZBÀ»(ÁOÄÛ¾ÚqÿÚ³B±» Ýæé98K6W>+sU¦üÌÖ“ ºô ™š‰± ì¶îó`ÿpÁäùôàñ°œÚ­¢>~òë.öþPœÏùõÀç” ù¶žùÚ}Ýÿ`â  7É#Ýæiá¤/ú“¬±gj®VSø“¶–Áa$÷±KßýD<Õ5_þ£\—RåÊ”é½ ®8š5¿Õ 2`´€iƒ9AëäÑ3hž¤ˆ-Zä(R¤K—$yRð<„>,òž¿ƒŒíÙûnÞ¿Ç•çÝ«·¯ž?yó@~þî˜oß>ŒýýCý$å‡þFïë7päDùèÁ\'PöE„%nüÌÛ´éàM– ü·/Ët.cΤywf9êå´qSÆ'P¡D‰Öa:èÒAN¡J¥jõÖ­§¾Æ¢E+/`hѪ] Í-ܸâèÚU¯¼ÔYN¥¿ B 0›±})£“Nûg²ô 2ÔP£'´â„Û¨Ÿ~F«¨£ ùÁð1Ê4ü¡}â‰gýÁ-ŸI+‘¢ˆf®Çá><1z”ë«9•œS§¦§«î'„ J¨:¦¬ƒ<ò Oúê³O-¶Úz‹mꢫ®»Tþç¥t–;Áܧ2ÄîyP¢ü!ˆßyGœYf‰F² ýGt£ ´Ž^#Í£yØÑæ™b€!«,[lùåqìA(³x:L(oÂYg"L=²M#oí±¸ D©¯pîlé%vÔ¡ŽXèjÒéÉ6–ýnJ>¬LJ¼CÙHңʓ0Oiå+3÷¬dÄ]ó™6ç‚ó?™Š­ÓN¾ò°ý L$‹;¨Ãɾ±d ²ÀÇFHc‹4,Ɇ²Ò€³•£×úéhhˆ¡Ø`|‰/>YdI¥”Rf)œ)Z¦p*Â4SŽb˜G\o n×={å Ø#Ó¶º™ê¢ Ê(‡þ"êÙ*™švZó¢’ªªª´m¯•nc™/Üb†a¿üô‹K›7qRrÉ#ñÔ3^zæµ'HÅdŒ¤Ú$ýG$€‚ ¸( UÞ±gHÕ^Y4ÚèYÇ›lœù…Ô³|©¥–W4N%,YJѤ”\ ù'Ÿt¼yµCÍ`œµ¢´?¢íeÓI/Hæ™ lÉfcu^—:¡Ðhû¢ªä£J¥Š¦ö)HIziRÂ|ú–±¤f¦j5÷ãïMž‰• /bß•Ç@ÀÄ&‰l³M[B„ s¥€º#X Ìàü@4áæŸÿÖ¨ôÚ* çðh’1ë¬`|a|,sF0jÑŠPhâÎðF¬þUj† ÔÑCJ—£Óî3ªKNõ ä›K:à “:–E»Úµa ¹ãƒR£‡ÞU¢ֺėªÒ‰öÀ¯øÊ-À…H¥Ð;&µ6ùñˆUì Ø3ìñl¨å,Í@Æ5– d4ƒÓ}è4b„CR„bØFîqAæ¦6‹© ?$º å‰uëà`ëœc2;…v´[¥¾ðZéñ„¶hxŠ’©L;¬O2’çCsa#ˆ8YR±ú’'xaO‰eƒDzS½IŒ$% Çi¢þa‰À˜v#*pŸ±€_‡ûÊX‘’”ˆ¨‰†.’ÁD!J‰â&>@Œq4¼HË3š1Îi°c"óp1À¡¢A¤ ~!ÈÂù²E2r$'9Ð#›c3H6‡’ÍaÀ€†2Å¡Yr "¬…žôd…x8¼E/PYŒä­²-úF6²¡µ›°+„¿šež°Wµt"ùøc‡P³)WUVéH  Ó$€§+Á1)€@ž Mhòyu8#-Ñü6f‡'øÀRÀƒ%ÅRcMΈ§3æI£‰ cíx‡>ÚAŽv°ƒƒé`Õüö©È~*ff4Û Aovþ§Î.J™ŒÑÆQ‰þN†‘`W¸…QúÐ'-í!›Þ2R’F/@à ^ù²R– *8CZŒ=&àyÈ£9C G(`LˆÀJØD  Ø-4 ÛªaSX'®ùÆZ¸!Žw¨â ;Õ©øì60?üBɰ…8° °&p#ÙÆ.žQÎfÀ‘»`F4lZºÙÌÕtýLÌhéÈG.§Y™¬C°´i ‚µVz”– ®p¥¯Àè·ÛQÉŠôM[¡€òb$ëáÕ–Ý[¤!E uFœH8F€„¤Á_èAPÐ4ÀpKÀp€¼Šǰ)«ŒÓ›þoDùïPD °Óºõ¸n\ (Þ‘ l8#Ù8Ùiì± j`£Ž·˜„$0± Ê©ÂùˆyÏ‹^»òj½Fl/Kˆ²2ç<œ¬S<©ßPÒp+ÿ0™¬ÊŽº%.V×]ô’—]ïŸB‚p?kc!n(ÂHPæZ`ì`ÊÅŸ¾@ :|A ”1À@ÕXa²A g|ƒE*²‡6(fYРnp{õ«ï¶Å$@ìÐE£44n<Óè†2nÁˆ3Àá fx%˜™,kyËuÅàÖ›¼>Rc^CRò­ZÖº–'f¸•¦½¢q=2Ö’ƒÔ@;5¢!¶Gç²ê–;Ró>U†´…Á{Ý+³¡âpÆPâÐD#fAº)WÖå À,øN¸jŒZd–0æÀ'Xúî/T1 [\^ÜH4Þ±ƒ–·þ™(Ÿ<˜i¾àá1üx4dA ;x Pà n ݧ@”˜Fv™1Ö–Éé‚6Ó38ízƒy%MIDRx%-!âYå §"îKÐТ\Áhã¸Cu¯ GŽF4øÓ qø°‚dJÜñ@Ñ¢µÝ Æ4˜ñ‹]ìBTe1‹_L†i˜†gàbTAÊø¦Fh„P”‹€5GƒE@ }øbð?p…h`Ž+ªó@!h|H…iÀ‡nà<[(¸ˆ† J.ÂA¸"°Ð"W¨~@MÀ@!øÐ h€@3ÐY@þ†bØ…ì¢C¡„€‘Ø8>âH¯–R¾/CÃjÓ ÒJŠð言èˆGˆ!®›¡ï#…§É˜3 —µø¡#©lˆ‹qh?¼H‰ph{¨w0fØ…¹…[øŠ± ^ÈZà˜°0“±°Ä_H‹dp†@´vÐMøƒÖB.¸€pÅ'Ð12gкdè<Øð´@M@Zh†/ЄnÀç¢.ôÁ4Á`Æ€ & °q€‡k°‚Ûƒh€ €ð€À‚Th†THdX”þ Ewâˆ0‘1$ÃIÂHCZâ‹=K‰ù*ëþ{ŠE€9D¥ ¥îÓ ÿúŠ=$»+¼šó Ä7i?šHpXÀ5r`[H…M˜„IÈ„Xè…2i†dÈÂûè8†î•3ñij 5°¢˜wøY;@“µ«µò!€4HP°Ó‡`œ}°ð4¸™nàJ €`@H@mh\9dÒA,Ú4€Huø®J…e8b{ƒ@'Ô)¢b!H‚Û[…^à…\ š]ÁlP”ˆ/¤Çzü¬=)­4Ì»ÁÔÇ¿ðG‚ŠüúPB…áIH1ÑÃ<¢£îJ æÄ­Ñ™Ëú¦çâYXQ…NF`„Nèþeh³;»qÉR§u—:B“b °š˜Ré–œKP„@ðàTƒ-0ø#h=}àÀ™Ú8x …`H5Çô € x‡Y:À,`ì$XFf¤Îã"¨€Ø[À}hJ(H„k8,Pp˜­H(€ƒ$È)˜!€a°p†YøµÈTYŒ†ùKä‰{ÌÇÎè |ü wpÐywHŠëã8IJ Èt3nY¯€±˜ÍµÈlÄl  Jr•yø¦dÀDZX…ÿ‚…Sè„LIX…fè†ä Dl©r—´(ÉuB Š!5b°±^Ëþ…ih†i¸Â+lhh†b˜qø<`À†oê@b(g[@†R( ñ!O1°!C „b‡4ðA€;ŸÃÁ˜|8R¸ƒ2(2€‚V¸ €€ðE+ „=èƒ.h8.˜.„‘´Äº”A‘ñËã+Ž{4Ì ³ …‘VñðPkÈÑL°Uþ’L…t+É5 <£‰—ÀÐ_nŽ¡`aè…‘ŒÄ[XZè†vØÉhˆÑ†ô‹ ý€ lx†d讯J¿ôËh8 `ÈdPWt•±XÇRøYèx(´X8WqJþJø>u…xú…ÂfÀ1»ÁS@9f4¦ó ?à}¸†> ‚9¨ƒ2˜.ð)(ªZK€0ƒ=0„>è7@ƒ…Ò‚.à‚¸ƒ‘dÖ<*†ˆ¥§á˜ÇDâ‘SÌÂPÕUÅОe û2pó’© ¨ýÂÃ}2¡uíUsÉÍ|¿pÀÐ;™lÈ…È¡?ä*í®mÚ”˜kcYˆ7Émåhø¡Õd Ü#û¡„#paÉâ…n„/ð˜KS„w€§G:h„À“΃#†\óƒSèjX¥ pE»I˜}€‡T(¶ž@ƒCµ‚1ø‚-ءҩÈþ2èƒ9p…z4ÈTN0S¨…f­K`€†áâ[ñy|6•œ-Ì<éY ý2€â H” ô C¥AHrÛ QðŠHü¦mѧ]˜pb…†š”^¨Ýo(‡7É‹oÈqà†‘Š9·Z‡{(-Â(ºÐÊ*Ûòå#¥Áô{“#ƳøÖiHu@`˜…i(^°Zn(…T‡bx[´3Ý„nÀ|À5øv˜l0‚0â»ÙJ1Ðc¢& <¸Ù‚ˆ†F°ƒ10/‚!˜‚!è\:x‚¡’5FÈGèG¡ø-ЂP2„S0_èa@†•ÌþnB ÓÃÝå3T¯ÂÔÙéÙÁ;¾™pø†ÅÈE  /©ŠÆDÈïk…®ð ÙM75i£ÈWq•Pƒ[Ø^xmx?¿­Hߘ‹ˆêÁ«txßoˆ_rý¶‹ß²“luMüh‹o}Éû0—:Òãh˜ 4JxÀ‡fx…V YÐþ@ÐYÂ3< 0cR~HhP@Z°3À)ð H€ð‚$P‚ x\Û걃DHBY7(Š?h‚?ða’Eb\e #¶ðD(Ug[¤.; ËÈ»¾©6¼ ÑÎìO™U€C¡5„9Ä–ýr^Åê 2qc²þ«^7ᙨ} ‹|.LÔ㔇šj"äÔˆ€&š ßù5R·)D^—‹†5‘d¶ðÃo•äi†½Ù86†w‡`”tœ†M 5°~h‹ðƒ³„ÚÒ)2:ðPx}èM ƒ1pÐÂK! Щ '¸éuž…]FQ„Dpƒ©þøƒKY’½\0†e±XMhÀn&ÚP™.L: €š—‚¸;¼«Œo=Kä˜È‘Eøƒ?X„ªp„?€ç3VÄj6¶çãI¶3}.©rH ˜`qð5` hІp€ •¡ˆòªˆ¶!$“Yˆþ×qýE®ß6R“šdVúÖgp.}H†\Ø*í^²h†`†s „/(~ ®¨B øl`T:PNUðPqj5_pFøò€Wð†¸Z‡iˆ…Dð‚((ƒ&pOˆ„>¸G0R€c0†[¨…ºä…µÁöAJ)#˜Që‚¢£™Î §ÎĆf°ÄŽÜ„1 `‹Cà3Ž!õHc7CÚÂ>Äæ8‘‰—(™r¨Úùˆ:uZ*i¦«:FD0æcD.[ê E‹ #e¥· qÉr¥û)†Y@é @GKäßw¸†kð…Wà…õô¦RÞþ°P…¦Ä¼Mðäi0Å@®ÈP€ #UðƒÂÌÌ@ˆ[¢Ön°Q0¶"è#>HôviÀþ¡*åÄ0ífãão]Ù‘(º‚»{‡¹ÆDOpU°Lr¨0„F7„¤9¬ÀNH®@Z¥=žOlQ†þr@©pÁbè^Z SÕØˆnþ‘—Š{¨ž~Æ D†7DmæùV‡ãG[·8?êÒn:°€D˜#Z( bØõiX_X†î…Ádx®ÏSn…\‡oJ«qH…/€¸i€-(}Xn) ‡#8€cx‘YÙˆQÜ^Ÿ†[à„+¸ƒ儃þD…K˜ƒ¬x…[x…Tà…f£±€*óúæ´t¸¦Œ/æ*[XgÁZt.‹| ådtQæ¥Ávš²ô>ôC·àꀕ—˜qøa‹lðpù7 Š ›øÎñ†~ñ[×Öþ¡·@ÛßnÁµ°ÒP'Dz2ud8‡`q›„‡ã4‚À}ø]‡{x}À†Mxú„KƒR#PØ„- €`WX¦ð†” àØ”và8RQÀ„DNÈT@O@…H0„K€_…D „Vxïe@†.U‡ß¢«˜ ÒaDÙßuvrPØ2Ó 2²àCI Ó8Ä 3óÊ-¯±¹ )p¼ÒÚÌòDbà‡"ïƒÏ8”ØC €(G€qljaÑ’ÑÓ“6ØïŒã-,Å×.» ÃL4ÛhÃNO=Õ#O=>mC 2«`" #‰0bÇ.âáQLu2"'¤”øÝw²¨ÈâVÈ M4Ùh‰c8é\iþ?ïä‚Ì3íðdÖ‘ˆXØEá`ÔäEùÜ’`ë°ÃÖ”SªƒV–Ñxõg™%³²˜0iÜ4C‰&ø$B -À4ó 6kŠ 0Z5ã ,™œÒ‹&tHP\q ñ(”LÓŒd*”P‘€"þÔ#¬}=©Ó˜3Î8ãXäM:y~‡LRÈüS6)kf™dhvÙ²ËÔ M3ZM“›ÈlÏáÆ‚ 0³ £ .NA 3(àkdZÄ‚”`Hˆ”rÀ ÁÑøšm\!¶}ÔC:fã7VB²D£Zߟ`щ=œ© Å/Ȥ65ƒGØè×:òa8ûh?â™/j!‹!ÎâÄ F4d$#±cBíàG;úÓ ×ðâ«…$ö1#Ô`ø"°:H´îC—Q'FaŠÛá®*·Ø]‹¸²ld#FߨZ<ÖŽv胓P<ÆA ~øAB)ì@‰RÌþâÐù‡#‘Ôût„c»Q8ÌB „åL^úfÎw¾bÄä}Üìq|Lr’Ë%EB²,m2—9“¨¼rUÍTf}Ùé†@Ôo¢é /„± ^4G™‡€°T› Gc¨ÁiôâgÈÁpñ !–‚)#%d’vxdcò0Ì¡!&¹£V¾@4Ä1‘ÈCcØÒ‡>i kôÂ*˜ÄÌऀ)¸ P D€¸.¥À¡¢xô£!U#IMJ/e%_ûúRŒÀ1¼ð±#ŠúÅè‹•㘰#¬xÈ¢þCœF$ÒŽp ‚57Õ,Y2`9Ÿù,ƒ!™Ì–Mã0Bx! ®L‘+Í€Wü›¦!ãÂÈ 6a nq†NxA«(Å4Ñ€;ÜÁ ¢Å9äº ®ˆƒ8þ Nv›“¥ê×õøu>x²`ÎmF3Ó¥f~GÛeó¢c…òØ4 Yh"ºÒ΋A'[4;ýåF‹/Õ`ÑØ;¢B}ìJ>Å;œñ± úelª=ØŽÅýb0Lò;ÈApV£àQ~/bQ‹LÀÂÆF_ñ¸í4£ÃÀ`‰(ùå˜lTƒFëŒ~4çŸi\cËDžÏ… ü ÐðÀ*ÀÛX*96·9ìr~ (Ò£ø½ªÂ;Za,þR/§©äé=âÃw€î0‰1$Â7è@.ñ *‹g­À‡:pr¥tlò, =>­`Oè'ZÒþRV“1Cí<£ÉÐW3j+÷g£ÈàÅ´§‘ þý5•Åv¦˜Qc¶Æ4hˆY0cà€¥häp€ †:ž!Žw$Yt DJp¤%»±ŽI90“Œ¨ïø6‚’šmˆc¥8‡2”q ˆ×¢¾ÀÊ,›­äÍÐ+f^KÇ:µ$´ûFã@—CÁ8œså?HÁ2ð€D`…1úùzsFÃ)žpÊì~.^ñZ¥XyͲéÄ™:ÆGò@ ¶†=DQ*Â9 A@\A/\ƒ#xÂ@ÜÝH‚$´Æ;”„ƒ78ƒ.”PɈYЈôV>þ¬Ã„؃:¤ÆÈ|C>‘RVÐÊ043 Ã.ðÂ0Ã. 5Là  l‚&Ì›¤ ˆB.hÇ4Œß@Ã0P3HK14C#8åµRs$@ƒ"è‚o<ÄoXF#H€quäCUĽ±E4Cò\œ, ïü3è9Pƒ8àC#l<øÇfQÑk 0 Þ΀B2È7¼CO|œ½á[HÌt¨5-´‚öx8 XÀˆ€ ”€@@^%Gúâ)6š»È íˆÂü}‡UÜBJámщ¦QÎ­ÅÆ`KOLÈ?ÌBr]4À÷ ôI$¼#”ÁÌ€þˆ󔃖hC1¤†c¨FÚDƒ“}¶8\#8è[4ˆ‰ã ‘JÍÒk¤DJñ‚‡ÅU*”ÏpÃBaB,XôC7ŒƒŠ$“=á.Äç%G¤P¼=D—|E2̸€lÁ ¦áb…8$ƒãÔB+Ä¡;ò½ÜÍCì£RB;ƒŒHâúhÇßÑWÍBM쇓8–’Û<ˆ6L/”&$œA÷%ˆ@PW$€^™â)**u+Ž‚I”aÅ,ö]Ð 5ÐÑÛåb@eK/ –”­#LhÙA ðÀ¨ÀPB ÜA/ þƒ©hI›ACx0Ã]c60¶¼ÃæQM°ƒ6PF³¤B+|G*Ä-Ü/ôBeæ‚dö0ôB0,N…Yü˜Ø-`B*P-ÀCÐðå_΂>n‚_ €Eµ¦À4ÃvC;ƒ-¼ƒ"HHÀ8ƒ=hįa>¸r–5ØB*œžXfÐÜB,°Ä q>B#üCb¸aÌqS1Q iLqþšyâ…ŒC7C+t‚#ÌLÁ ÁüÀŸ¹À „€Ì Ó×ô§¦Ÿ~ €æœRœ‘T’B¤‰WÐ]­Ðâ_.HzɈZL‰ahN/BRÓÝÁ@ B4þ,êD ‚/Ð3te›‰ƒ8Pƒþ%ø%“ \)â7ˆ#¶€v¨Ä+œÈ½ÚI¹¢Ig,)Bß-'ßÃ2ø‚ŒANQŠ°ÕŠnÃʂθAÀ2G"C(,›ØJ1èÃ,@^€@ÇR§ÆÜw‚Ã6ƒ,¬B+,øÂ-X¦,X‘Ii,ô<|Á‘ 'wªZœ¶Pc4XÉnœç¯ÉƒŒ€KÂÑÍÌApÞÀ À hP×0ÙF2G€¦jª@.ER¼‹T&hU];®þ=(5¤×e¥Ã=xŒMì„>3¤J'‚þ@€ ˆ@ô€€À €$xB&Ü2ÐÉa“}KŒä.È(5äÖ;E4œ…[t†¾BU¶«¸`‚+é*´ÇÈB14sÞB-׬S)àÊV|ë°®R ô•r$@^Á´Â24B äB­üÂ@À×,@MHÄØtÍc¸-¬‚ítÂ%À, j½‚íÌ*UXCì‚=¸C<Ôƒø0Æ7¨ƒMXè<€C“È©<¨ƒ©@CJˆ‚ª ÜOžSÜ d€¥R.¥r`©ªªÔ¦jžQ&@…)˜Â¬é b߉k®.‘YØÈZüêÐÂH¶Nu”;Ä^˜ 9DÞ*À‚‘ #üä(AŸ…j(år<ªN-þâ¯R(…ì`­ÖRZŸZfƒö]2€mz¥E tPã/¨‚&”õ^‚!̰€äFùUÀþÈÁ Â%Â*¤ÂîÃÊÌh´¤p ®É:òBeÜP¿¨ÃN0p$)ôBq™Â(ˆ'ÜÂóp¼,-ØBºa,´‚$ˆ‚5¤B ðdqÑ‚¶Í(g­B3øq$C#øÂ5œÃèâÊ8l A´@oÌC ÒC#ÒÃ:|ƒ3LË úp&„#(ôU@ES”Ô=– ˆÃ6TÃ1TCXŒÞ÷þ88†ü fÆ‚0*@Â'|B%üÁœAô€ ÐmR2‡©>ÐÍ¡"Œåï)€T ¼èp»ÂbŸðkœ0®nZÀ|ܯFƒ.$™æȆð íÀE%³ÁþhÁ\*ÌN¼ÎW* C ×`ÅáJ™Õ±‘ c8C5Ø,$aCü ì­çrBe9›)³$°k 9aNžÃ94X€mð@"xÝŠúˆNêî0àÁ@#Œƒè$ÂïZ@dA €l@¶„ŒØüšÈDÃ/Ð žàB'DÂPô¼œ‚£³úJe'`Â*XƒòÀ¥FÝáß3ø‹=|C1ÀM(ÔB'ÂH*X2"ðPô ÐmÓ€æ!d×(“2«â/*:/TDŤ¹2ƒV®ÌWhFXœ+Æ”`½\ Ug$C7,Ã+ÌM( ¬À,Ç@$Hþ@ Á!‚#FGíP…w *?g‹4C"ŠÃ7¤…7\54˜UñE¯«¢B浫z‚êåÙ 2„†4(&„‚Ü@ l[µ x’R1àUOÕ%l B‚/‚p¶Óü‚[l„DÐ8PÆkÔBô8ì¸Á¨, d{)ÀÂÎy*B+(CdÁ6´ƒ©œ‰B)ì5¸M,‚p_BhrB'ÌÁÀÁA $ÀT@€²mœr€¢_þ®j)SGÅÖŽ× ¶ÈT"š„…:Àüƒ80Î,øÁ “ 4äµB-,%åþG¥@$ˆ ô@PÈüÁl—xœ,à.DïcJ¦ ÇŒø²C…Ã5ê&/‘‹+·'Tr%ÀÎP$…@d‚ ª7ôÛ3ž,ð”Bðe‚10‚d®’liLüB3HArˆÁô>ÀÀB"`¸øÁN‚=®mòd2âÂ%€A€Áô,Ø4*,Â#T*œÂ% B%¼ß+4Ã4B;të¢#ƒ0p¤,4!9ðÂó"BÈÁ%DÁ ¨ÀhÑôŒ€Ì2*æ7ªKíF—”‚Ö‹ÌJLŒ ¦E›m‰46;èã¤]€¥ÇàCþ.”Â,%4ìq4 [‡€ x 8ŠS²Q@w‹«o+È" E µ¤£ú^\(œœ$7"E$@ðÁôÁB,R’ѬÀC"@ XÃ9äé)˜/©&|A*x†¢\ÔŠ,Ô€À¸@@4¬‚ølA6øô¹±¾-0¼BB‚r „p¿ÀŒÇ%,<Â!x´Á ü¹'ý?.9lC3PY,ð3\7-¬ "hABÜ$@À4€šÆ7Èw©Ö·}§ºÕÍíÄx«Ï׫óB¬³Ìï|…ʈæÄä;`( aþ <Ðà=ji1lˆ"”s\T„@ 8PAh€Á‰ËÁ]^;ïcÊÂ,Ì‚´è‚.¨M—ÌÔ0É*wŠBž;B 8h$B7ðÃ6¼ƒœÐB)hv¼>Ô‚,„‚kàC7ø€ä>ä]ßñO­x½$€ <@8ø>¤‚P„C †Ç;H>ƒ/´‚xôA$ÌAô”ÁôA ÁèÁ!ÔAŒùGB-  „EÄL3ƒt“µC)d‚Êk P)ð=K@hXA  €@ÃD”øbE‹1^}ZÔgŽ›>nr@¹¥Ïž;yí¦K¬Ù ˜ðI² מIÍžéûE‡Ö¹º5ã Ù´fÓr+¥B#Xᕉ"mõܹ«·\´mÐDÆ"%il¤2TÊ”™’cΜMŽ4 ÛFš0yÉ‘4‰nÀxcƬ0e½x5cF Û¤K‹ê€™1ãN¢ $±Åþ P¨¡…ꩌLТ:Šå–b¡…¤’LjK¥g\‚)¦™ÀY§œrôÉiðI"ðI€TY n¸)¦#1c!¡"¡X@¡‡"~P„" ˜‚ .Èpï>.1«R \…–R6¡e™k°¬k£SPéò¼Ä‘9ÎnøùÇ}üA¬™RšiDMàã aD±Ce¸y‡<yÇÔ€5dx ͼÔJ€Æ ¥MÀÞpr«ÇߘÁ&—UZéäGŠkƒ 2¦aˆHŽÐ,0t8¢ 2ŽX¢ 0ú8ÅFL΋™_ iæazæf¶þƽJÚèb!ïä €(  À#RP\qcY¥Á[”EB Gk+¥ 5”épÊñurJF †~2P€¨Ào’§O}fA‡D” p ¢Á…|ð„pâ (žÍ!‡)Ș£GÈŠäTNiåXHaÄS.!ET(¹<äAô@Ä‘;Ì(…œüÑmŸzø)Y‘Ô:ŽÖ™n¦áFEx§‘ä|<[Š1ÏdRI†(@JºQe›hÊÑ b†aQsO‘Ä‘KÈú£ -ŽÈ„9¨8bŽ6Ð(ƒ‹Tð¸‹#Žè#HäIRþ`V™UÐå%dKµ>Êøá†Tä 6À1XpÜ×aoB×%i4`TZÉ%™²é=›y?dGøwôñ#"@€wp´)G©y!ˆIXHÀõ*¨ A>0B`àᆆ‚ 2ä@¤’J>ñ—S!µ¹9 é?I$‰J<â̚°4ÜÔÃþø7x1 µŒ£ Ã3б rPƒƒïP… Äñ‹P8ÄwfQŒ_LC·ÈE3hñ h H7¶A éõ&nÃàE/DÁ º¡ }0âР…!t`{˜ D-g˜þÁ¸0‡;8¦¤ ‹'< ºtâ·Ï.¦Rxâ—èCxP€à R(À ´w…0ä[°ó#FD¡‹ê’ÅhDBšg`É€6 é uhÃôÊ;ÔÁŽc ý€|R†`! €.´A¯ÌCj²pÂ&Ê|A"4`X | ð PèBÚÐ>Tž0„ÑÍHô!ù“D&Q‰CT¢gÀ„>€¶&w8P¼øa7rM(à *F;¨±v´"…>¤ðxÐøÅ;f‘ ” CÀ0è4(!‚lãÀþ5Ú1¹!£·E"öÐ.\9JrÃæã*Ì ¨DÐð—=Üa£S8Ã$„@;xî(ƒÅ) t Y £ÈÄ+áÆ3Xa9è1†P  ÈB¼5ÊQˆªù–CžÚÇŠ ò"¹Ýí š»A²OÅèS6À1pääÏPDO~b€,ï!¢á)¿¡Žy¨ãö€$-ìpƒ=ŒA£@ FØmY @@8°Ô€GB°‚¦ …$ÍÁHSh•Àà 0üTù3$þP†;È¢ÿ¨G=Ød~tCðE0¬¡Œ14€¦FÖõÂY äE®J»‘$Ò <Æ8º1x°•Å}‚‘>ôÍ”HyáÀêÊ5H@Ѐ..åuäãààFhö3ŒMð l0Y MF®Õ‚_RÌJ@ïx€Ì p C G„啀Ġ`d„“ÿø>0á2T´ìŒPA-Îþa ÓLCäØ$ …itö0®C  hØXŒ1MIÊCÓ”ÂÀ,X& B”) 7À€Æ À€8°€° ^. a z¸Ù#ˆ:ÔaŒ€)RЉH,¢¦—0ö%ÂHŠZÄb{@v›ñÀ>D 2xÑ©ò‘ ˆôx#=z¸1Vâ BJˆÈH9¡& *Qh%4A‹f¤˜­ÓЄ,à‘†Y*oyÞzƒa P|á óˆF>òáz¬ÃÐøE7ŒaˆWgAEÐŒà!à€àW~lb  €õÈ F^„óÞa]øÃ"¨þHx!ÜgÿAY´‚L2GöpNHâÖ†2šYHAR(Å8(8 }Øb³ÜB| "Êĉ» z‹UPžh’$ÎP„À˜ù4 °à HÍ»ræ!4„$ìÀ:+bˆøD5!³N€}p{%ÂdZÆk |8 ÎЈÂBªhb»‡Ë†DõÀ¤êên=]$a70JrP^¨¡GëK Ðç£óe!”(E.‚à…Fø 4¦k,Ð@$bšh†| ‹ˆÃvù`Án‘CÜ!N |’€@ YÀ‚v°¢þ<¶ ˆÀòB01°€=À ,€° ¢€ º ~a ä`Z‹ìÁÎÈD€2áÐÀÎ ’ ·”á+4!QàA Að l@uT‰1,­§ôÖÌ‹HeÎ@2à«J <@ÔÀ @B¦ä  Ö` A!DÁ ïÜ€äçæ. , Œèæ§È‚T¡ñê ÀURÀj`”" &€*`N¯8 þ¨JäÛÀíª\ç±öØÅ Àƒ§ÿn   ~à€”àÎþÞ@BÁ°@ &€  P úBaLc@ÁæAäa†ÆæA’aÖÌ ¸n j€à@Œà ŒÀô †u @ úO p@¤@ (úï Î`䀡ÞaÆ%a:!ZáÎ!Þ@bÁ RaÑš¡úàð¾@ dÁÞA@Áªá8 j€®¡^AsÚB»ÎŽ”¡ú«džé 2Qò£Z à–žx@€ >« æ‰ê€ô %Iá Àl j lr ÉÜ®óVR~ðÆ&ÿn²Ð@>þä‘ µG(âú0±R/êJ£’Û¸mBÌÉK,1xÏ(1 ŠÉ ö ì ~ÀÎÆ€’ –¡,AÀᤆz€¡à!êš!J èÁlqœèbñÜ@Aް` \@y €ú£|à (F@Ä  ÿÖË ÖK ÐÇj¤ ÎÜà+:¡êáÞaúËHÆ×à¡ÄÀŠá;rð¡§d!JAðm!$`và–&àÆ|AZAâ¦!;‘"A˜äsj. 0 !ò#š“„"*è@ ,` æ þ ˆh£Þ'dÊ  ò€"ó ú  ïä Ãäd>€” pîsøAë– GTÀ ¸Ç"öô¨J`œóÃZÏ"°Êu8 ö°R+E€Á4! ( ¬À ’ x& áZ¡zà €ð!@jž±À „aðI»¡¸a ²AÈØáºaÞ£á Á T€aÇ`À'*S (A \@á` NŠªn „€2> ÿ„ ŽÔ æ!T¾Ñ&?ÁAô `"jžaŸ²àþ¯Àå,XþàÀ'nEÄ ¡>€%V¦na2¡ ¡(§`T-k" !Ò@ €à³ ÀÀ æÀ½à ¸€ ´@,PÀ' €?ÅQaA‾.!/òÀ ×€¾þà/Ž Ž þ€„R™ê@Ž œÀø…SÃ-"  òõ Ý*¢!&à^Ý n+²RE¡-ž°“ìÀ `Ô ‚@‚ „@-X€á2á° .&Á ìÀ ®À0aݸa€è`lV!€ ÁÄDA` àxVD*žà¿@V§¦ÀÀàóþRàR€®à nà0à˜4@3· ÌÊ@¨£2&¡uvrÁ n ¦€¢àÔÒÇcf`Ìà 2@À @ á 0ŒŒrž!¢’j!a ¸ ¨¬À |`LÀ à< €Ä@  ®  Ž >ádn½®  :A¾G¤À Ê ôàæÞð ñƤ>! Á ù@,–¡æ *áô å §i«_|bÃÒs@‚"ÃÌmÛZo!xÁ´’1T4%–`Çl0!ìÀ  àH„À¢zàFáA¬þÎá<*êÓ^!°$Åv^ô ƪ” Á N‹´8| , Œ ÉzbuœD @ œ`mµ  6÷ ¼€ Ü á xà ÀXgEDÀœÀ ¸@£¨`¤!,@ÚäiHIŠ Á p@˜n`^àT ì ƒA6!}¾Q á`A|¡~!ˆÁ (‚Ar`cTq) D$= D÷œ ‚£%“D½<÷ îÀÐO( ˆÕUV÷ ËðnX¡ òàò@ê`dNÁ ¥ ÀB~·:в ® àÊÉ8•Š·®×[döÆ«¢þxJì.„`_F¸!1ä­Áè€Ôà=Ñc{!.GÔÜàÌÈÀášwÞA&¼Á¾á Hø">Áf ¡8áTà²Àz2 @Aj@ „À,“À Hå•ùf¦ pàNà. !PR T zÔ@€‹€¡D噸À €X@S€`À ” 6á0à ΀ ààNap±áš˜ž¡â÷ @`–4`BE ð?@BŽT%>É¡½ z¢'j ÖŠX«öæ aT.–àfò`׿þjjB£ °/ n¥ úà”€ R º@ðaÂ7ެà (ǦœÁ´A xK2áì´V§D8u üÀ à>ÀzÀþˆà¨9†€¼@äàJàG¢€ ¸À ÎëÃb, áV2 ‡ ¬ ºªaa ˆ` ì˜t@ÞÇ ÔÀ©Ùɬ"> _%y^­ª–d¯k,D슂%¾š`³¡`"`¤­r¢OÞÀ$Fè² ,à΀H!æ AÁÀWí[hÁ¬ä’©ºˆ"á:îxAÀ` ô®ÒÀÔ8?$À” há à Hae2HÛ L;"àƒ@ ŠA3è‡e=ø!,@þ€ îà$ÀÌ»pz€¨À´þȨÁ@ ¼ ¬ZÆ%Ѝ´–¼`tÉ™ Ò@ 2! @2°¿Ó[N`®ÀBÑàDÀË,½r@V™š¸àô 8¯ ¦–Á‘6ˆ€á¡  g>J}  "TÄuÂE(¬šÜ>Ë8€Üe%HÜÄ59’ª!•À&æe¬¹ÁØ¡ˆÁlV¾Aü`Š`Ü€(—` ‚*úZßÄF àá0¡ÐÁc×An!Ý À¶ öƒ† Ï\ œÀ ÊL:¡P’/–H ¶`(@þð d¾–øü¨A2À:@Ú€ à$ Jó2FH†€ ÎÀ#ÐAÌxàÆ  û4ÜBÙ DÂ'r$ Ó îà‰æÀ H® áàŒJî`²À©-;¤` œ½x Žš ¼¢ Nà˜’(‚_`!n8(¢ºA2á´ Á ¢à, Ü î6U™ÉÝ© ѪçõªEt!,ÄÄÅîÄ ¸a^î]Ri’2©7À!ªÁJ`¢0ô{"¬€d곌"!Ö[ÁxЦ½dÁ ¼€+DF .a¿6a@ ¸P”4Aþ]Uî Ö²¥Ë¹Px@©‘ ࣛ ð¸a“!ŠÚAR§B£&M¨ÀÁ¡Š7x(±ðAHŠ"pœ Ô‹ @=jÔ`¡Æ×²kׂ9)P€@(8¸@ @XqfÎ Sö$Š‚Ä /€°øH À€\HÉ""CŽTÑ¢…Œ›3*@Ìéâ†L—! T<¨a»¨Q›¦L.2pî8é¡@œ9wz€€>\8ÅŒ3> Y±aÉ’=»ŒÙ2´ÍذqëÌ8pß¾±+m/ܺuÇ»$ð&l˜Š ¤ðr†Ìþ-e8Åg¼A@Œ8r†_å”\ƒ:$RJ.Ø Ì–’¤Àà A ‘]è Å§ìAl)`áÂ_ƒÖ€8Á Bô0Ãn`t1 x1d|•à 5@OX2Ë.ÃP3<‰€ÁBøàƒcx±Ç0¸t.A–˜d|:öçb“ÀŃM1ÏpóLþ1Ð\gÙxZ¥ßŒVš:å°Ž+‰½Àk0-`ƒb)õà„gdBJ'¸óÊ+ÁL3Í8µæ20ôƒRÀP $ܲI”Ð’Š5šÈò<ÉC˜4²ShðŒB\a…gÜaÈT0rM-·l”È_Hñ`n°Â"EnTxñKšaQ!Ð ÄS”Á…nÌá#NÔ°AJqŽ4gxÑ /ÍÐÂË9PüÁ³QDzQ^€¡ƒS$"K @yÌ€>h 5ˆ  SüÌ…$(„^X1ÄS aÅXô bl¡Ê0ÅpÓþŽŠá :K Ào˜‚Ã0Ydj¯]Û @ÀLÐL3Óˆó裗uÖY6Ú„&Nà£VŽ:†Ïó§ † m!c Oh€(<¼<9F#š§²I ¢ &cÜ€ ,dðÁÍ¿Àpƒ5@Ë8·ô²Š5 À`A`…Ÿgaj šh€(à 3‹5Â<‰Xܰ­Ð(Áu¯v0ÂWXàõXX R| ‚Êe áÅ}ƒ$`j €²Ì2Ó C &ŒÜ/Üá’¸D¸°´¥ÕË Eà‘¼€:lÂçRªP`ƒ À þ#8áºB…nu+P¸‚Ü”¿`~ØÅqBà ÕÀ.€@L”%(A50 ÜüÄ6¶9¦1oc@7ö×f<Œ¢"7²á·K Îp†;ØñŽw胠ÀÌÀ€Øn‹A#Ž5àáú˜1hP˜˜äLh1ƒa3@( (ðƒ`˜!ÓÀ‡}„QŠâ–ðJzÀ;@¨!*Iƒ"“€4 ¥h†­ŒqXÃy«ÄŲ=°ÃÎp…$`;Ø`öL9ìpƒd Hž€Ä„×€G3°ñŒþi„â¨p„#.a9,¢ 0„¦€À)ð€P˜ÄV`˜]†g#"0‚hB #Á VP)ø==èò¢`4/¤°…Np ÀTŒ #PŒ z DìScè–2µÂI,é™è‹`”¢›àE.ôš+j£4ƒ‡:¾xÓ/†QÓ…Hx€05 ”ðE-ΑüÂLõG5vÀGüÄ0@AÆH($Á°nÐ Nö"gèÄ9ñ\PcíØP ˜¡– €'S¦„@ü€Æ/hŒn W¸C]º C8b:ÈA@æþd€ñŠeC° €!?¨A“FHb=pAðù°'ŠƒQÜÆ)pq°K "±r@|+.uÖé*e)€’­€F¬†ËLh <%*=(‚p´$!ZJøÀ8•Ð@¥ €š„¯­&88ÃPì@‡0 G"iI×vRÆ@alcÀê±ZlDC¤!0MoºuÌÃpa|Ç4fTÈ Ѐ,ì0KI¨`öÇ?üvàž\JbT"` {Ð$%2ð?X`vøAŽ–T&ƒRð°ÃðY•T`.‰€œñávðþƒÏÈ0Îa`tâ•spƒä€DôÁ QÀ‚pð„ 0Ù€ jàˆà;^ oa>pB 0ˆZK<ã¤!†-Z± ð`*’ …1H‰Ù"‹%ÊÈw–ˆ`þ‚Àh°‚D˜H(Á‹P= `!4‚j %ÜàE³B ‹…$Àƒ ß ó€&±0XÁb0†ùLBˆÜFjßûFFPµqÌ‹“)xÀ£!ðàÊŽt„C…cÇ<ÞñŒ_T`2‰y.²€ÿ"Ø`‡=æQ{„¦ ÞÙƒ6A@=°±¾€‡$âþµÅ$á*ä ˜XE*‘ŠIœã­À‚T"U¤ÉþÇ?øa :"«0FTR†K0¶ a@„#öpì!€MB°À"H³D@ M1,PÂÞð$@€€BC`gdÓøX!˜a·¸…)Nщ;L ø€Ì{Åà|púVÀG” 1SŒù#ôÌ=  ‚( „ŸÂ 24ïì³aÒd.sà0®oh%´†Wú&[ÙøuÌö@Ñ&â  ÔL¿ŽÑˆ£¬G¶×‘ØÏcÑÐE p€Œ 0þÒ € ,'´båXG9¾Ánä؃X›‘ÂÔKOÀ~ 0aˆ!%zvp°8,H! IÜÁ E#D€ň!ÿ°‡Çõñ Mh¢Qx…Šy¸Ð\ІpUÀ ¨p8@?Ðåð‚¿‚xÿT0}Ò) ~0G”› ópò°óÀªàp&pðY J bðJFçeX GŠ%€jð§vŸõPõR€Qgæ¨C/?‚—%\À]0?@pRÀ$`3:#¼ÆpR   _PŒwbœÇyþŒ1qw ç€Ä âP`á àðì )¯§ôЇՠ L&oclˆ±” àìÀ Ó °à ár^ gÓ8ÀJ à= fô„)ñv@ ¸àd %]°h™p S`Bào‚“1Góðß` –° €šÀoo¢ \Ð í“S |ð †7€ fðÂ[àî @+€iÀtCG?hS tLR öþ ðöxÀ1 P ñ˜> tClò$oâC‹qD ‘5@?1C+¥.àM"€:ájP P?óþ3d@…ƒ¤+•jà"8EÐP׈– y”†kCRȆl÷Evƒ v³´J«U®Çz7%;¹ªa‚«±®ðI~Ò'%°FJݰ ÛÀ ÍÐ  màS, ‹ƒA 'Æ5€ëEfsà ¦ÐdÀ#ep€°'‰W~ðïð P¦â¸‡6HR° ¹0 vp 1£hjO°HPsaˆ-Ï4¯¡¯ñ)¡Ï0ö°“áÀú cÀ+p¥fþâ/fæ_@ Xàƒ÷(àTqs 0/tðp†.  þ`•"€]ó)P!TÀTpÑCÀd0Id0ÀƒÈ£*0„w$tð•6mcF,Ižåy_‹rÉ`7² ¡q)¨—m®çzëÀ“ô9Þ6¹žld@0ûÁ Ô° ½p ¤àgÉ9À8 5çz"} é¡(dð/@…À œ€ ÐQà{Âlàâ0Fi°Rð Ð@ Et#…& `ËBVÈ8V0XðY >Àx³ÖO#@€Y—–¸'Y*„J…±àðnÚ öÐ ãáNYR%pš! w. $þt@‚’rËP=`B  jÐ €Ðs5€v!yŒSP2)€QJ !CY1"2„Z!WÜN`Ä…{'Y~ð’QžÚ’%E Ñà yà ¿P ZäzÚ&Ÿ©JŸzèmîfа Rp tg[ð ã Á ´ ­p ’0\4VPðj° M®*yäFð°Q}`eÅêœS@–¨0 € C×'bð¿    æúª€†0{‚ YÐ?¢Ho7sqv—\#À6P  õŒpk Piðnò`þ‡ðY8Ð*ai˜¶"Ð €\“_@< 7 ›¦rÒ%_À ­€ñWRàEK9àWÀ0  ( opYr2@e0Cpcw`€° o€p±äVL Hð ~@?ãÉ’f¤µŸJnjªÎ ÔF º€EÙà Þj{«±Ž³wŸ öšð˜|T ˆ ËÐ ¤ ¢Åg?&z¹¦0 …QS™{„{rà†Pe@' TÊàC7 Øàªðª` Π Ä7#µtpz6 Yp “ gþ‘W13d-à»ýÄ  F°´+¥”ÉFáH³¦ ìðÕ`ÀIài’ñRi&‹!ƒ>Ö  flKÇGಀ Á`»G©†+‘ü‚hFOlÂ*€N\pM0GðsÐb›@ ;ðâi ˆL°{†AžjÈ6)ÙPÄ@ ¥q)›Â©j8:Fâ FaÄ V¸E¹S5` vã<’À‘€­pàAp½’»†f€$¤= Ϻó5U• ña}ÀÄSp©°¯ˆaWL&1QLP*"e_êxäX“pþÍäŒ,ÐsG¸% Æ%àûVjP—RÊ8„ø)hƒ6twÅЫ    P4°ð°¢„3û"ñçL¾ŒÁ#P¿æ{šð Æà…6°_p S°˜¯.€-éqÅT´Øª:ÀĤG1™q£µ’TóÁ^[RžŠlÓ€ ‘âÚ€Á¬§zï ïv‡à8ÓÏp1²P ,v~’0 € ½Ð Ê ¥˜ }PVX¸$ð(pf)>@ G©Äµ¦p°ñÄšÄràeP€Ž ±ܘo²|©v‚1RyÔvº  b@O?¸äe\“þÆjì 0?,ðFȶ'0T“)´Ià †ŸE?ÀP †g¢½6rm:Éå\3N` gp±æQVõxírƒX`¨Xàj@3Øê¿†Ð|)¥-Áͦ5ºµÊ†Ë#õ µÀ ÀÀ Å Å` ž!ã&ã [] ¿ð ³ šà9 Y`¨‡ ’Ð °€ §p €+ ÷ó3A0À….  @DtÀ )0Cð&€W9¡4@ŠŽ `P[D€MP¤ 7Pô$ÅHÐp$жŠ@pŒ@€np/V!0f€Ñ¡þôNðº;¸Z0@lD( 'ãÈÀH&ƒÀÜ-ðO0ØÚyÄܳ©'‹ÑO ›?`ðoSÅj¦›{†*EÍÄ—+ T`„ÀÐ6žªoµ¼y÷¡¢.‘~¡ š° © ¶°?¹ ˜€àRÀ౸sÐ~‡ ÒÐW@}p —à ‘ [’€KËÉ?°kƒÝÀ° à> 0p¼Å§v±óCÈVëÝ`Ј°`Àĉ`t@´’á9ä‰É‹a£0! †Û<3@p,ÐAÄÒ0`~Q™°qþ`]à>Pȸgl€!h3ÄðžF(  'pMôO}’DŒ1^~b ÀŸE–*(,0Š^@€‘0`¹e0ZC€"RPÇ.1RõÕ’‚‚OŠ1R]«½ß.1@€”à_ÐÖJà?pIV)€]…[¸Xx ÕÉ30nÀÄÈÊWà  ?¯‰·Žák^6h0à.`¦\ãÒ”•#FðàR z°ˆ`ð >ðµá9ÕRu¼€ž Ðd@C`ê¥åíÉ›øA–qÔ^@eÐAÐ ¿‚"mZb ›k ±û/LÐþCwßl3R–èåºó91ñûJ4€”0 ¡ ’ÐUÖް_v QÓ8SÝðð][T—nçS ~à¢CdCÕm¨B‚73VðFã-p`ô¡wÐ3QpKvðR  ðŰ7qjÌÍL M1ÑÀ„F²tPÇÆ8.‘F0 ‘€ð•à Þ€Gæ9žRÅ’.qžuP[ š"Fù¸×[PD2; xðPpZpS ô7á)áÈ`l à–Ž<þ/®Ë·,}X»øÐ ©™˜o€tÖ˜þ µP ¡p$Î3ànò‚‘6+  +µ_›GS]6ÀŸ½;Ð ÈÀ ²` ¿   ª  ¹»;9. rvKó ªN8RL\à^ @KRðç*éð6Œa;P'¾Î /.²Cdô…‘0p†À|•2Ý CŠ‘ÐÀC#6¤(Ñ¢€™ å ÓÌ‘A~ÀQcEƒ†l0Y @@D vlc†•;Žõ¡$Œ % 0Á5´`a'4 4± ÀK‰µjh@@€.ªÁ‡Ö¸F ‡:dHÀƒ”,5<\ÈÕâ]‡þlxH†„n[­€+N¼ZÀeŒO,Qk÷Nß;nŽõA›ÅMŸ¾fš¾|p"jU§V¾H™AêT§LŒ:r”)Ó©1 $„ˆàÒ¢‹Th84Á*lØ Á\ ]ºD0aƒ0L™c(œ8XÀ`‘ÅE¢[¿õ.LÆåYfÉ‘ž$Xø¨ááa6Z`x Ã$hà ‚¸ƒB±Ã‰Œ¼   aFha…°À…'lp©!òÄ3&å®" YRÉ…ððÀƒÓk+Î;o!†êbȇz’G°(êÑ!ŒŠrA K†ÙÅÉ]´þQGgÀagl@‰ nøÑG•¢>ÐÎ @0°àX2é¤ÓŒ9—`^ô :Ût$ï€Ý: €µj<  4A Ú"€9xîh ‰;y ¤XÀá #4qÎÀŽì"9ò@DŽ2܀Рœ¢Ðч°$Bà©èD¢ø 'œØN °À#¤Aƒ a„6¨,~ø6ÀS퀡j à‰M(ÁO¤‚qsÃÑN;{<`O ­ËÈv k!…øÅŽTši˜\x‘¥dÂY'œc¾QGh,FœÈÞaçffÙ%•,þ>€„(î „”N.A•S¤i¥d ùÅ8”™¿bkÞ…èM èx¨„'@iD—ðD 9ˆ 8(€h‚e!ƒhð`™Åc被¶] ”Lþ@¤.¦€" ,²ÈT‚)ð „êü6#X°à… @Pâ±`ð! %€ "x¨€ ¤xË3à0£‡mîV<B]4B(`|ô±¤¶ _ sÈÎ-bè&˜``+<1Ƙ`|™f‘lEž8):Öó¢Hf·D: ¨j PIcž„@(6ØA zp(X¡óñÁ <œ®ñ®u%¢ˆžP FDb<àÛ’¤£Œ`t ÒB–ã¡xÁ f0‚¸8P`>x‚èp@ Ž{ xe Â~ ÄlÎDÛjHh`‰M$Âð(¾RŠÀöaVîu¢.€Oײr$ÞDÈt(0–q kCÊè…(&qÈ78Á ëHÇô¾ÁȨbbÜß<ÊoÈCß°Ç?¼ÔTâ þw¸ƒ$B¡‰RðÍè+»n£˜òã(п{í¬óÚ@ 3  -à€ö”€¦‡(ÆlADð 8@ DPËŒ ˆ@ÇãF†•„Ä ¸À0Ò0µ™Ç¼, °ì …„àP1iÁüIƒ[R€OxjàCH V€Â¸!øÀqZÏrÔò¡úøí7v%"GÚ—xl ˆ¼q_(¦Š¾²#dAKE+B‘MˆR Røï¢cé}#„ (žÁr¨£ì(#)½‡]éâÓÆ/TA‰D€þ Ä&J! Zä‘á4šÁ [Øi`WI)"Àš-猠ÁvÐ/dr€¸ÙPP“(èAâ(Æ'؇ô¤»‘ö “E@'HA ,€`°³T`{âK»dÀ €¸‚è`!ÍëÙ¼þó¸DM`Áîi 4jDÝRÈ»/daü˜;¶pFÿt„ÄåV ~±Õ 7ØÍÐØøvJÀ”| „ˆvp<3ÔCÀQpdCJ‘„8ì[Žæ®C¿éÐoסIzxúÀÇ8èÇ‹Y€B¿(F1’ÑàgÐÀøþÅ/l¡ Eˆa  Ë¶äzÃ% HØ»®ÂÜ€Y€ÄÄ‚ÂÁ4A㊲ÓmViã¶„p RØÁRw8Xð!`š%¨½Âé¤á®(ÀÆ ‰7< I¹ãQåØM‡, j%P§¾ p¨N=RX0Ò)üKÿ`Ç1Òàd#õÈß$áæö¥=}X#x’0†¶õ p‚20¨d€!@I7»†8 Ú˜/7@Qßo8Ì{þÕ¯&M]jzä’—¹Œ=ìë©ãÑ 54ÈÊ%nüâ¨Å°„vµ¡(d9WÉn"°&ˆ nþððÄÔ@ê46pØ!–B4Œ80`d­ ”0‰)š; Y°@nWÀ'‹E_øB $ c àW€æ‚¤CñèV# íBbì“Øl’Žèâ1<ƒÙÇ<Ƨˆ-ˆ«HŸâ8E˃gqY”œ¹Á:Áˆ+(AÑ ¨,p˜Mn ½à°)i£E}†}ÁQ=uÀ¥–‡ïáêñÍ#Õ÷ÈG>è±°p”#KG4²áŒYÌ‚{ï ˜e’á‡J,#¢™ã˜à&D@Eƒ8|° ÐÀƒ"q¸É;‡àYvä+4ЋNìaE¸ÂþÜà@"9uEB]à‡}bDBØ©ÀÛ1ø0CÛ|€’}ÉÕ Æ ÛW<˜-HƒEаl‘€ãó@ °¹¼x‡þ{$vø†Ûc‡‡)‡ö#µR[?÷»Ä¦£Dúó‡øÓ/¥b*éá/oð¿o@ÈH†d°˜÷ê$p $àé…‹) …/@åˆmÙáÀ1¹»ÀmB£¿ ™HIp„#8rJ9^€4¬‹i3p €H›ø€„I(…RÐYQ(¤((þÄvć[€C:H.Aã|Ü–šÁ— ‘ 4°U˜Uh„7øx%À©qxÅd؆ôš#)ø‚ÌC0Op„&Ð-à.9˜ƒ6 "‚x+X΂ H »[,mJ<‡tØ4+ùbЇa*ýºÄ¢c¿ö+ºöóIz`º|ðDë±8{*ü‚:L ¦z/üú}À†bÐ…hh®o€µNÊW°EÀƒ'Ж}é#P‚È‹Š šg©#ÚQWø_˜ƒEÐ9 …(à'ð¨ÍQ‹- ›¢ƒP€%°þ3¸‚+àè5 „]`M „UÀ„=(Q ˆ2‘„^€…[à…P 5Ø­[$þ€‰‹h]x‚4 ‹ŸË( |8‡Zh„¿LL‡b€†4.†t‹,„I89Cøƒ?àDØÈ&ÐàÔ7C0¨ƒ6Ђ&˜ƒ9àžà‚¹@ e‘GÙ)…)‡oÀ¯y˜5)aN%:S³Dò0úëIŸDºñ¯ê‘ž¢äT¦ª¤cDgÐb˜:ëùë餩WP&؆à ƒÊ\¯\Ñf¡á‹ÞHoʇPèƒ:ÐHèƒ#Ũ`/v"€þ(q8+^ð3P3 „3¸,#€Kà~€‡!´†sˆ…(H„D8ƒ¢`„^ð…`ø£`¸)(= åÀŠí*ÖåhéqëQ˜æÒxÀ‡k@ _x_P‚1H…Âä&B¯y, xEЄ@HLèC¸H¨„Ax„Aø„Kˆ7™Dà„Hh‚9ìƒ.ÐT¸4 ƒ#(207 ‚9 È$€3IÊI…Ù?L­ºMíTóÜI¬u?¦›Dõ¼Õñ‡¥Éõ»ë¹{𴽋£]ðOòáÔF|uøëÑ]˜…4½-< €Ì„®ì HƒcøH‡þr°‡fÈimƒO˜(‚1PƒzcEÈTnˆ Y(œ1ðEÍ ‚0 ÄH$x#xQ„U@8aˆL/؃eX†`ÈÝ÷1†kM˜L»Š™aÛ§r E¨‡|@\oHvíé†P 2‘yÃΣ|ˆ˜<*©â¢hK…bЇq¸†V¨XÀTðHø„J@„“1…[@¸Nð3É/¸Díƒ> ƒ!¨"0@„:àC0Ô£-C ‚¿ŒÚ󛇸 ÏHÕ¬ÝI®Ä¬mOú\¹5EvØ/ùkº§³U{Ȇ¶Í†êáTUU˜G²ñÑEØþž  ™°Y±¸N‡ B18´]ý°\`„>ÀÓOà‚H ”È‚/ˆ³Ï¼Nz‡và‡FÀ/(ƒB PP0‚C1ŒÀ_ÂI xh†q€d8LU(…M@·‘Xø£qÀ‡Ú[«²(¹b€cÅé©V•ØIHuµ‚@RxŒ4 .in ÛŒÞVÐ]t@ßHˆG8NàS7à‚L „= `"@/(Qà"hH þu„=Ø8˜8‚P˜FªK PSŒ`S›`PåÚ Îx:íÔਲZé‘¿{(ºókÞhÀŸ+þ 0ýr‡uh®M³mPƒ6Y°Š¢Ù1‚¨kü=/I€‚õ³ÏXû9«ý/óüTþÂÖZ 0Ṁz whlýê`O-µ{@[§Ë‡æ"[g…KìtˆN:{ Ph@‹Œã“`P¸{fFÏñay¨†uàæp¸ž\È„Eø„O@78%øpB!!è ðy¸lµå‡RÈ2Ô2(‚,H5À‘¡°88ƒSÀYPšÔ†¡Ê† ÎTë†q@JÈÀ" èAT „,MWf؆tðv° |h…¬‚vc4 E˜31à©¡©)yI»ÅÑ,M%QkR@c@CPP‚r PЪ3˜ƒ&XþNØGq‚DÀ‚1X¤þ"[šä`O-ìJÕT#UõÔÄÆŽoÆÉ«íɧ[JTrº½¯n$ëù9ýÔY‚‡@ €-M/mò~rVUò¢ ‡öûnIXßJ¨ƒ9¸ƒ1è`~³€7(ÝwðÉpx:z°}0ƒ)@ƒ:h¾Q à.8ƒT8ŸDð˜s˜lxÏNRºjÖ/‹›í¹tÈø…TÈ©18ÅéT 0`€fÅh€†q½öž€ ?x‡x‚…ðXˆ=Ãu‰ )à•YE@ãø5·’agœˆ%¨èãF + 'F`IþÀQ%¸Þƒ !ð/N-Ûp?µ ž`öl:tçZt×Äz lSóIö¤Äx˜w"0SÜ`ÈÎ$…¡[W¤„7ÀL‘õ©rhÀæ/…YÏæR1_´¥‡Û†µŒ„4Gƒ2èîµÈ,„ÈÜ|˜÷n^îvH((ƒi}$ˆ‚+؃.xJÀF …Ò ÷pw`÷Å.ºõL?fññjØ'i‡vøÑ‘z€†1•B „øËãXKŸ-ø)h£#9Ò²{( ß²€Ðj!„K¨9È +˜†ºU(¨k(À‚+I°vI ²þ+ˆ‚ˆVeUqϲu5uG÷öœÄ¦ó‡©ÆG[ʯ|´|ˇü©ò‡}èüfþfF,‡¤zLb$1ß?{: d€ïÇ`‡WÌùQ|*þ ÷ñ¬í|°‡_¨…HðDð0°å9 3˜qxX‡}ˆ‡S»˜w„)è‚£…]†‚ÔÄ;œ‚3=–õñ©íÆ®z‡æ‡Ig¤ñ_wz{hrøÑfØ…m¸U˜†eH;På&â€)€°ôïݤP*C.lÈ0€Á4жp ŤŒ!‘cN*ø@ +0¹6ŒåD@-H€–[BdE[ÀQ.è àÌSNgáÐN6På³Ï>Þ|ó Ux(aÆ3PÎwÞøpWÉO=ô´³ , rˆ¯U†uÔ!GEXÊ?ì¤#ÏhôÜ“Ï=S½ÓˆA@a…PÌ Â TtÑG$‘ôAÒsH" 2öäsèwò\æ©§ŸšUÆZõ 1³<ó 4ØübË8ø’ #”xø€0¤þˆ>Ɉ@j4ÓˆAN‘CZ*€ïr@€ OHa†wÈŠ .Ü‘ (  (á‰HbÅVX‘<¨ð}\IŒs\ò— ‚ü%¼]z²‚&‹Œò— 6à%H`óÎ;xXÂÎ<á„CX8ÿ¨£Š"®T3ÜâuÄ!‘4ÜApí w0cƱÃqò‡UÀA4hp²¸Æ2$Ñ +d  ˆG"dKðCåz@*jÑŠ|à¡Sзþ"ô-‰€6ð¶À ^ˆwpt‚ ‚ä ^Ø}@€XË$0Ã$Bä„+Ü’ ƒrÐ XÀ1“p,ŸøÖåIñ…¬!ê;@Vø+Üx‡>Þa‰Y'‰Àq…%A³R  È±‰RÐïàÇ;Ô{HmjìN>˜ \x¢k•Ѓ4(jæáTp9ÈS|”ÐSîp‡?òar£…ªšÂ ‚)”FhÈCذ>Â@F;èQÎŒ†Xã Ö‘°d#Í*<àq kI" ð…B¹üó$¸ hE(¼€þÈ(¤ …(a‡7ŒÁ. *°–  £€b< pÂ*Þð;0B&°ƒnÀÈ1Ü $`*H89؃$’€²òy)«›üä8 Ê×y x(¦2o¼ƒü°ÅÒN¬Žl° …Ç9Îá‹M¬E¡/rQ ' Öf‡=7‹g>v’µ&=×І!”b;ûè¬Í|KŒ-¸ÂŠkJ#RIœ 9è@òRf7È¡ u@>WÁOdº<„:,A5SŽrDƒ¸Îâ6¦A‰P¼û!À$0¢ ˜á #7 P€4À¾À 00…þÚDB’ …m @ì‚ÌØ(?¤á ;ˆé~"dßh©0p‚0‘Ç1ÜÁ™Øƒª®P„`€Ìpr‚À“yAXEvÀó…/¬Y¢V\NvlJfØPÅ/ô¡ŽyÐi(2F(Æð…–` €(ÓC †¦iYj‹#OyR¡5T\"߈ÈàlÖ ‡AÈa͘‡;¦¼zØŒ<þp…Ä ªÏ؃›€AóöÐ8@A$(¼`.€¡ m"úЊn¼#‰ˆ“Z@g¸µÄà†8Ä?nPÂvø€G­ô¡Æð…JbÀ × ÁZ©Rþ¤ \°ÍOÊô.ÜAÓØ3˜1 qè£ÚaG6„6jUl¢jÈBŒ@‘¼$¸RЏIü¯è!r*Dø §ø0D´:>3aê[×ëNÆIƒMsÅ:|óbga# (†=´‘Ž·Á˜k„Û Ò€FtƒÝZÚʹÄÎX¥ ÿN>摊ƢbV\[ÄÚpM=üÁ {Ç<ê1eîÄr*®8Êiùr<ÆðÂ8}+Ü EÐ\‡<‚}„2øAðzXæòð °Úß6߆ã0ß(7~‘ŒUÍN°€GЂœ#t.ÀB&Ô2þ¤ÂÂ9x]Eƒ%ü—Á*ˆBÀA"Ä2ìÂ.PÃ6´>Œ<¼ƒvt9lÃ6>tC7L/40”‚­­‚/¼‚ÂR|—$¼Àü]¸Á ÔážChDÈŒ ÈL@ pÀW}’Ë€Õë¼UX›? œ6ØB1C3Ø‚{hC5°ƒ8ð‚-(‚à€ÛU@ÐÁh?€‚BT@ @–áŒet…Íl…bÍà ö)8B þÁÈÆ Â"8ˆ>¨ƒÕc$Ð?èBp@8hY:l 8üÃ/HÁLÁxß%p¨Yeå®ð‚vDÐ8ÕCþ:v†,T5À˜p)”³Å;è˜ Às5À.8‚Ý•B3ÀC38-ô@ ÈU`07ŒÃ6ìB;lƒ,ƒ5Œ9P5Ã0ä0ÄB3L2$ƒ6RÃ0ØB)¤B/(Ã$Ü&‚õB&à‚1ð£1 ”ÁŒä€#ÈŠÆ8‚Ák!ȸŒA€£-€@ŒÀ(UÀâ1^ÉÄTdZu…+È΃:C2tá³DC4ÀØ3ü‚* A$@HX‚„"PÄE @xC>äƒ?øCT¨•hÌÃÑ`B/œ‚$Ì ïõžiÀÁ5²ƒ;øIåƒ aþ›"ìO9¤C:xÃ:ü8¨Ã?ˆÃ<À Ü!DÂL Aü›øqÂ0´C#VÃ8UC›|Fp©Ã…ƒ3¼ 8<ÃäˆC3<ÆB&ÀAz-„P@.œ:HC(‚<ƒ>`Ã&ŒC¬Ày|C5؃KÑ6P3$Ã8Ã. 3Ø%Â$øÂ9ô ¨242äB)$B"¼‚10#ÜJ"Æ ,Œ×xAÖÊÜŠ8*8Â%!h9ET€ DE¬€PÀT€'q@ 4ÛC´ÀO–ŒULEH¦ƒnÙÌ3  b6Dé0ØB`ÈTþˆ Ì‚>ì@D€ „¸B°¨ÃVDèUl…8”‚(ô,xOŒ@‚5@ ´9$‘ýÌC6h8DM†1¨C4|KjC4Ð0ŒÁt@¬è hA€A|5ýALB+~,†C>äÌüiC„Ό΃8@C2LÃ4¤%4ÃæÌʈ@FÀ4HyÁ” X(h^l@Ì}ƒ.dÃ,P‚^‚ƒØaãZÀf*L&B0XC,L‚/•7öB-ð£$9‚!Lgîã¬H’$‚$ÌÔ PA$ ‚!\‚!X]vJÄv@ ”pDÏe 'À<þE6ElÁ›D1¬ƒ–…;<0Ã4èçÎèC3ÐT@„„é°F°À3ˆƒ@”Œ0F9dC6Ìß7%X¨ƒ8¤B'ÄBNtBŒ8e€Ü€ìµÖUÙ91 è<ø,€6ðÌJ’…3ƒ+lÃ8(šä€lê¼Àß• "ð^pÂàØC_v†µSÂÕ‰ü½Cæ½`*”B7\!‚'ÀÁ´0DpD0èDCÍuÃ/`2ÈÂ/pÃQ¶•*Ì‚-ÈB*´B0œƒ5(C/Èc,(Ã-ôl0ð#ž.œ,ü çtÂ)CNB'dÂÄȦFþB'ÌJ¦¢‚§zdã@½ÐÀ¨z„v5¬ê—0x y®KPÉùÀh¢8¼ƒ8¨­–Ó­r2LC7ôª=À&„‚œ”l„&À7$C˜h€£é”Cš3Ln6h¥…rë)d‚ÔæÐèà À.h1˜®3”ä¦ÄÕ?ƒG˜¥>dƒ\&]±Ã0ü ÜŽNÁ\È Á è@ÜŠ!@B%,B®LÆ?¥9}ƒ:Äç‰iC9€C1M¢cÌtƒ$Tç<ÀDQ€L‚ìÇ‚$ÀTƒ:tÃ8äç4xa1PN"2@C1ð2,Ã5toÃýòÂ-þ`¨Ï¾B+¼B_UO>v‚(ÜÂ+ƒ/,>,C0\)D‚#à æ„4 ƒ1`ÒBx0~°g DlÂ&4Cüè @Í<@C3¸ 6dC8ØÃ8„B"ˆ„„ èxÀ&> C|ÀÚ‰@ 4€ nÓ”Ý7„1X¤X)tB†r‚Ô:ïx@@ôf5$æ;èTJ>hÕ¨BpC+FT(3¼C.(ASÝ$Â*@fjå@ì!<$xÂ*äBT4‘3Í;8,8@ƒ--ðÂ4ŒCÝÂC((êþ $ÀtXØ4#@„0„à"4ˆC9hÝb7Ã3¸oÿò*¹o1 Ã04 ¨Á4ß¾ (· 4üB*C7q*ÐB,ˆ‚5XÃ-œƒ4L&<í¿l)áðW€ã@øÀx:dã9 ã%À˜’àè@Ci%Â8ì†3J> Ð3q{hƒó‚1ì»@È‚èƒ& @¨h@èH(<ƒTÌèaÅ9‰C7ˆÂ¯'dÂ%¬ñ"T–œÁ¬hˆÝ;¼äÌ7´Í:è‚A<€]ü¬GŠ‘5@ƒo&‚@ ä‰$àþ˜i_€Á"DÂ`Á/pÍŠÃ,XÂý9ÃV|ƒ86-¤#Ñt&Ì# ÁÐQ …Iƒ1ì èÏBL€¢uqÁ/•ZB*¸à8ðmŠ!-ÐÊÑí3X€€[Oƒ,h2Ø3lÃ/ü‚ v-¤Â*ê2.Ü.0‚ y lZItÉK&M÷$MRPÀw’Œ¼¬*G ‰œOl€GÔ€H6ðC7PÂà?ØÃ1ñ ¡c3´Ç7x;Ð&„Nmq)LÂàC# Á´QÔ€&hBêmƒ½Ž8èƒ=pÃþ®Â*þÃ*`Ö¢ÄÁYAlÁ6$33´7ŒiÍÃ=°®þl€² úB(Ã-”Â.¤‚2`¨2ÀPAö½Á$ˆ˜´Áø¥€Ø ` (¤‚%À&3dƒ:Ô 9€#3<ÃúŠƒ} …™ €¼€@ÕÆÝÀ@94ä‚&¨A t>ˆ5ˆC;„üÂ0,C-À‚5œƒ2œÃ8˜àE”Â}bÂ$4ƒº9Á-Ä‚Â* 𤀠g'¤ !RÈÆ€OKIÈŒܲ¼€–°Ô06W&Àp@´ÏW¹ „ Yµ€ ”§«1þ ÀÌÂ?pÃ4´‚¦ýÂ?Ã’v÷;È0Ìï*Õ -ôBˆ·€&”Â9$Â$àÃ$¬€\‰@@À“ò¨Uƒ3<‹pȇ"Ã…’$` Àˆ3PÃ&|@XÃ5hùT°C€@040§&ì‚s‚)C,pB"œÁÜ@ ô€¬tô¨4Á)žAÜ5Œ!˜0x¶ nƒ6¦6z]1\éúŽÃ9hšhÀ‘@|Á@¦Ü@‚Ø.!Á?ÌB(Á4\ƒ5ôB)äB1?hãROÂ$Ôçô,ÜÁu`ž÷@`¨0ì·‡§ LþB,BÞÁ—¡sDÁ$t # Á­ô' *4hm»Ô·<„Ð@¬E\yèÐa„ÀЪ6ã}I”¼-4@ 0‹gò‚/œA¤Â<èÂ1%;ÌB äÂ4t!7dƒ3C/ƒ,ø‘¬ÀC‡‚0(Ã&ôŸ©º€ð œÁ+,Ã*L‚Å×ÌMC-¬B,Ciw‚LÿÁ ¸X˜Ð:ÂÃ/03`ÂÔœN‡ÀF$€|˜¾)€çIÀ„eÂ…k(®N´f©RhR¬[¼d­’´èÐ=u䜹 ˦fÓ(•ò!@×, ©*JÌŠFÞñþVËW(L¥hÉ6ÍN)e˜D¹çÊ™(*r áÒ'“¤=d®ðPᆤXÝÆÁƒ÷Ž›m†a†l~¡…—»™¦kpéc"ž€$ÔðŒ€¡”H €Fð)%ƒ,ìð%QVY¥eDé%aÆS“12yåX¬™Ud¼E”S^餖iÆéæQnY†”LÎð¢€T¸¡ÇUjåÔŒÁå•[b9 Ì£¤Ú¡‚´BØ¡ Jh@‚D(ÅŒ @+‚`δÌ‹ Ì´ÄqìRrèb“Y@q&0]\y¦d†+¦˜dz¹)¼Ò@5x™3FþðD%Ôø%£,ŠÅ˜>.Yd‘Kd™åP„x£–NzYEGyä9Àpã @5‘IDéᩦ†¶å ÄH㊚©¥piÉE“T€£%c±`†3º à 7Êà"‡T˜âIô•äŽ38¹E#ÇÑgš\à§™fR)w“Xrbc.™c À@œ )|ÈÀ Yº)åÞð¥—EéÄcŒ±&“UxLán€Iذ\€Ù¹`”±&eº©tœ[VI‰+‚h nC™XNÁ¡j‰…—f“ºZà‰<A­ šN ”Èb…þVh!€F¸S­XÀ5ÿ €£D¡KžÑ…bÞIdC0HegþÑÆ™h,±¥Ú~)˜…ø@§€a’[z!ä†I¢° 3` `$TÉekÞóä>” …›b ŧ^D‘ÄH‘Cd(@T0¹‘[”@‚ʦ¡„J !€Œh€x‚©e¨3|,¥MÞP1–sΘ¢GÈ@ž·9ºb†tàÂH.1D=D"|dJå‚͸E*l† Lèè°0„!ú!@`Ø@ [¤ „4B‰ž0D L0Bf×8G&b±\þÈ¢»5˜±mPc¿°E1¬ŒUÈÏðYmb1$B4$(„aµSx¸ &hA M P°ÛÄ@ƒ ¡5xB²¬ÀЀBP7 p¨@ "p”la   –-Ø-Ç4Žp#’0 š!nücÙÐ…f°\LcjX_/²PÈ® à é‘„J@P¼NO 3¶P@\áè0†$À np˰‰0V‘ˆâñ e€ƒ„4C*€BœÐ h UÁŸP€'¨A Jx.2acÃÊpQ MÁ‰Sþ"æ0‡!ÖÀ†8è!ydà´ÐÏ5Èá—ð#àÀIdä‰HQ/¬‘În F­ Ĩà´1à oG1ËFÐòpÂ5ð!Ã`X‡«ÐÑ)a _ M£349ŒíB‡¶ø0hs MƒÊEÑ‚Áˆâ€(‰d#OÈ¡ŒH%Ô ¶8åØÁhàêù© v°ƒ®Rà !`ŠÌ€‚  €@ °lh@ Ôâ ðÀ‡>¢‘|üA ƒš¡w€ƒà˜‡sÄÑ Nc/™Ä&ü䘡^¸É€8±`þ„Ø`4!£I°Ð¥Ð©,|AaÜ‚x@f®0†@ ݘ$…"(A Yx€Z*0‚±@(D"‚AIÄ*¤xÑ9L¡EXÀ¢žˆ„Þ¥…<Ä!khÃúÐ:äa|àƒ@spŠsœB°¨…à@ž^£EM$Å*”!ŒIH 9€B° ´µ`Oa@"|€˜ÈN-ŠÔnàcÿeQ/^›NkðbÎ"ÄáRlÂ\½ .A‰b ŒÖXÆP `;¼Á(À‚qVÔa‚Wx@!Ãô”?v¥ ‚h88DàO!ØÚ:ÖÖ| þ² …`# ?)øÀ4P86ÂÃaÃ!{¼gxÅ54Ñ nØcÚ˜…Þ 3(“P Ô )4#W°‚rð€¨à c„þ*&JmNÀ>š¡‰@TÊå¼…)ˆ·ˆÜuÁ N@AŠaÙeHƒIXÅ-Æ`Pà)j@äô€D0‚ `i'Vá «ÁÓ T$q†¼  zDÐÐ÷âzh^0tH£’ ,îà…eÔ‚“ø•0H!‰f­«HT@!h4`BA Ö€/T!,‚1 KAPˆ—FŠ™c¿þG)DqŽe¨È°`„'.Ñ,ÌÓ¨á8ñk ¤  Ppñ‰J@ÂP‹¾6‚4´€! €,Á‚üu¬À–¾&D€l@œð %`a ,ø  2< D ²@”¢Ý‡8¾üC¹H„Á‹R$CÜ(Ò CÓâh«`ªÆ° ZXƒIrpFÁtȀċe±ˆÅ©„0™ ËD&V-‰Hü sØCÔ,‚Œþ¸Åp31 µ€[ðC > '¼áØù]F)xqŽXØ$§èƒu_Ñ‹‰"Éìþô†5 b y@ÄÄR@€=…„(Ê pŽÌA fˆE-H¡T^Üoð:áˆ@æÀþ°$ˆ¡|®¡˜ÈA‡˜á dŒH!xA#:5:pÁ d¥ .¡*X$A5a !x ”À ‚  áþÀ ààœbB´©B ¶À4 $Àž`€Â°I4V`èÆ)@”aê£n€¸À†Àå"$à ’rAþ!Ž!ì¡wšA 0 è€°á—@A‘¬c¡A:ÁÐŽtnþ¸þàÁ&!Œ >k¬À¾p%!‚!pèRí`AXä`án | ‡!„b0Á `Až ž`Êè`4;xa¦A-+®¡^ÁZ!C§˜zá¦`~À@Ûa<Á €Ô 2!üàÀâa2a0AP nf¶n(öÀÔ A p@ Ķàrž¡¦4ìjÈá‡~h‡£VAfÀ«¨¡¬!°„”ݦÀÁ„!Vá ¦Q‹ú †€Þ!:¡º@ºÀ2A þnïN ‚Z`` ˜.-VÀ @ËV@€ŽÌÊŒþ$dDá&¬`¼à Ü@b†€Ì (ÞW¸áÄá¢!æ*ÇAAdA¦6!$€¬ÃÃAŒ`¼$R ö  Hà`¢ X@á0ÀâCæ€ ¼À H  À è –áj"K<Áþ  ¸à Ì`faìv§Þ`4!*ó S°ÆFÞA¥2Ô¡wAæýIJȔ¨`ä "a Æq  ¼€¦±Á ˜²þ—avljÎASá&šôÁîŒf1Ê%x‡|Ȧê"a€$k.¡žÆÁêö€þî`r Ú  ááî€ ²Èd ¾„AÌh!Vt`"¡ d`:á H@*žbàö&8Àê¨+ÒBÀOž \ (`ü@ ²€4€z@ Ê hÙúçP!V¡ßþ!ò.2e ¸,_!<à§hæ9T-AEªàà î r€ 2Á A¯ÆÀ°à ~àæÀú€ î nà ^‚ÆA1I!`  Ðþ`àTôì¨!*ŠÁÃÆ, I¡A°A5gT3œ!´a¾!¤Æ õQ%«ÚðAá7žÞ”UnÀ >"¡ëÁ °À$j€Da‚!~a˜aäÆá¸áŒ¤ŠAØ¡æá—T»2Þv‡˜ábaZA‹hˆ¢š! €6rR ‚Tõ'd¦´  Ü€Ô2íxa º rB¡Ê$Ä€¨L¬@ç Dÿ„øŠ¯ Á  Pö@äeKþ`a þr`ë?ØAä!ØSŠWH³;º‚á” 0ÁüàaA~A(%¤ Îî@î@.¡aÀ¨à¬à2!p!Œ ì‹”àC‚ ?|üçÆK  fà baÚa²áÚ¡Šá€hè–0@&õQAAïžÔ!²Z£áÔáô@ á°aíÄaxA„áleżD>ì Rn K¤Á¼ Va .LÀPÎa´uxa„@xè—žwS±á0€á á¢@²uRÁ N¤N!K0QþvÈRf€ jB0 >‚Pá®ANá. êàö‡fxa!Ï, Uìà R @ Æ"”®Lv€ )F@X ÿºB.Ä DÀÀ~`š  þ úX LAFhÁÚ°Á¼ÁéÄ$ÌtÆ#‘6 ¼ €q¬c43ÅW×ò¬:ÀPá~:€¬À´ ÚZî¤!à `7 $€îRΡú HNX¡ r€ˆþá°nÛäA¢¡0U 'U 帡RÕAqµáܘìááf!(þÁ 8AÝî „Àš’¤0“ ^aò¬!œ@ VwÀ @à N¡Y™aNóÚ¡ÀÀáÞØR£áq ž!²œaÚ†Š-ŽP°fdÁ¦¶Òd}³ZÁ ÆÈ P¡œðtÁ˜ù lâˆlA~btÎO° !ìÀð`"LéôÈ)là  Z€0ü€¸'Ô`´†ÀüGÈ~¥Ù¬¡¶ÁT!sžÁœ¡¢ŽЮ ºÆÌàá;Ä ÖÏDahz€u¼€† ¸ Puààþ”axA+»žaÞA3H1:!P!J Š@šaî¶@ÁèÖþ¡¼ÁêÁÂ!f÷,iRß!~¡©Åð¨ArÕ¡Äa§S(A¢O522auœ€<ö`¸Ð ¼ Ý *„¡¡N,Àa€á2n€¡°a*'q ·rrqAÄ3äöŸ™¡R‚„œžh ¨ŒYc2AVrí0!pAº`>#´I²Ð`pAHb¡‹`AÁ ”ÀRI!¢* )ØBo" Ä@D@92@ J6`·)á ­Áþ $¡,@0­ÀØÏ |Á€Å Ai&”!Ô R!ž!"6RA:pl‘ɰ§¡VXL-2ྀ°@¡áÂïÐ/ÔÁìARó ¼À¡2Á°p úà¿ø|¡A<Â!¨×Áä!Øæ”Åaˆä0laˆÄEøcÚ¨!ÌrAiHP(v9%ŒÝ†^ñê€ ª÷A1[¡…¤|@l ¡YÃRÈ;å0”ë1å CÃ`—¯¡!œ~hªH¤[á‚!ÇánkìÀt0!"„àŠ þ!á©ú Vþà‰™wUUÝD&n€–‹j Z :È *`4€¾À¾0!¶¡$À+² Ja†÷âã~ N¡¬–ቦI0ayOÁz!r˜a(Aìiƒ!WŠAÌnQì°;œÚY7˜êxÆa°°”l!èáƒ3ÀÍB˜À7¦QáNϤÔx¡Þ­Þá<|ÂaäÁÖaæÐÀA âôî”±¡2ax $x¡v(X$:áHA;xáDŽ ¨ ¼Ž@ d:™Û­x±áþ@¡ @¡~ä9§;Ð')a6L³‰<pHh§¡ÀˆiRjiZAvÆAÚ/‚FnÑ„`NcµËÉ¥Ãk–>LÛà€ ¸€ ΀^Áf¼à ®€°·l€&Àc¾ÙJɼ °Û&Á ¼Bd¡Î †  `bÊ Ý²j;Á4ö঺Ap4á „™§¡Ù¦AHÞ9Š»laãÓôÁ’Ró6 ÷—òÀ!wŸ•ÃãaNäa"+ À×°ˆäÁL¡$BA^!§ÙAÝßÒA"K@YþS³@Šá»²Î€ H! íJ¡6(r&†}g^!ààž¿€>²dVCáy!å*iïf!(A§&õ—ê16-!EØ–Á0¡R·8Ì h•¢E Ú´[Êz‰µJX0X§V!¶ £I{Ýjfí\­L§Œ‘ºeÍ.X„öZ% “ÆNŒ¦ì‘tfF(^à’ÄÈ‹€  €B€ X`˜‘"G1Q2A¹! ÐÐ7½ P)ÓäR7'ºx’fìÔž’¤ë+W²nÍžýR5Œ\;n¹dÉÒÔí—¥bÏl=5«Ø/hЀ!ëö.™6uêØ±Ëþ-;ÈÑ´ÍcWnÞ;}âôÍ /žÃà‚¶p“Œtň3â3™Íâ 7¶ˆ#a1 ƒóÏ<Ñ€^2-8£Îië°3ÏfåŒîL2À4y )’ô1G}p¢Ì*7@±‡¯Œ 8Ñ(§M«Ñl¦NgÉÍ#!žS ŽfäÒÌ8»ðc5íÃ(5=H/©Ð$“Ëü‹p)¥hß - ÜL)¿M6”9óM9­þƒ 7š±Œe`ì`Í a€Áže¼¯H2r‘#)C¤¸1"H a0$ªE-NqŠ,é;aĆ@…>Œ¤Z^ ;¡áŸ`…1>ˆ:T‚  Qì L£@ „+ÜÁJà‚$p! RÜApà‚Ü.QcH℘ ” öt¹€‡>Ú•*gè¢ÌàF7R!‹iPcšš—ç~Á %#P„ ƒ:-aÅàÆ/F©P´bY°…«¾á™]F—Á2^‘ FH]à z1¨^XH„’3´ÁbC3°Çe\§Ê€ÜÈþ6à‘Šõè#ØN9.#¬YüBSð8#4´¡ ]ˆãÓè†,v8J¨A #/ÖÓŒ’•*åh1ªANo¬C¶Ð¿ZQ Y(Æb©`à4|Q‹Và‡=€x&”a „øè!$ŒUXƒŒ·áíRr XB…w Â æÐIL4ÃbÊèb …>œ¡ ‘¨D?!> (@ÖÂÄô!T¸!ì°Bâ §˜.Z$‰L‚}ÐP‘‰Uô&ŠE)x‰iŒ£ðpj361‹a€‹ü#<–Œ]Xq܈Äá9R=A†äyˆD´/aÝþ(ÄA /`â­F1l1‹hèÃA€Œ†=(#ªRLbø8‡0Z fXcÁ8G0|QŠiH(ûc•3ì!KpÌÃê@8œá¿ähCA Pƒ¸ È̃ÿË­Æ3 x$…‹Æ;ÚŠqcS¶E7°Á‹bÈ¢—Ý8Ø3´ñ¿l,œÚ¢8Š‘ LÔ¢—ìa,A‡M8p“¨'/¦ÚZPˆ”eÄÕ\±Å-Ú²*žâ{ ÎpÅUhâ æm†2^q‡9D X€ï¸À7ä€ QS@¤‚! W`)2! Npâ9`Ä)Î`(ıXE+þŒ±8ü‰«ˆ_)&B‹F ±—ÍøÐ4Ra‡FìbÛÀ#{›!‹f¨BQ´¢Ä¦R« ‰2Ú ¤Þ‹ @xÁç8/€Ñ nh¢€°n"6A*ßžqTê0'&Ÿi^`(cÉÜÄ.8£NE‚™ C2ÑÓF6¾1Ë\Æ—¹Vh­õœr„64 ªm+^Q )¨â9àÈ”-~á vô‘bØ€6’a‹MÏBšÂÆ ]KmíjÙ(/PI˜ÝÐXµXF+ZŠñ~™h:ã*:!LXað¸#0§1©U|°™èĤo!8ˆ"”Hà B° Úñb!gÀ€J þа€,° J‹+‰€C8a ­"£àD¾ÏÑÏD¤Bo(&nqŽkœƒŠÆˆÅ&.š¤§2{KE£(ìp @L£1ÀÈ/Þ€FÀã;Ô8L2$'˜&KÈT¸üÅ&€1žZØ¡(Å&d± P4â`Ë8‡S«=tÚðF8ÂapƒDÆ4¶AEMw¸ÑT IîžÃ†á¾É[*ç–γÇëd¹œç)§àXÐ_ÇÁ‹k´¢o ƒ*ö÷ß&ãÄpNÕ%$å>ÚB„yÆ3œËœæ=éðF4ž1 æ¬Éýu¯!)–w£cm®,\2±þ‡3xaGWÓÏߌM:Å…‘Ѝ4Ãà²0X¢„!&@(F0‚J°5È }ð„#tG †Üõ½†2øÍìqƒã÷Û¿ˆúôôbøèF?E1 ùi“ÈÑ–9vÑÀ ¶wdÆ/x± qcäj&Ãù[Pmæ:Œ`$„8+ˆ9“Qu’ £±®• àAâà ä0 x° -V[ïð)Ü@1âÀ?"®RKü£¬ä:Ý"+£½R Þ@û³ «5× BvðÀ° ¦ ¤àrKÙp+xL†j‚Fh7t½â 9(pQ ¸Ä ã¡!‰ð þÀÐKŽ ¿  ¼`[¥ ã0¢p0† áÃv‘ ´"BOFÕ ½SÂÐ À%" «p w6 J\’RÐ1O°\â¥p p¨€ §0 ±pˆ}³ ¦pA¹  ²@jq0'so ! ¥Ô*^ò•#Yv*âNîa NPoÍÐÝÆ âb €!¡%Kå  QF+ЀuòŸ dµƒ ’ ë áiذW›õ‹“¡ ÄPí’(Û  OP ¸Ó «ò[ð[ÜpKß0;·òÑà*à€®ÃóÀ:ù éÀì  ‡‘ ‚Ž$pq"‹\Ç*Ý(þK\WK¬R ›£ OVóçhCçužÃwº$!Ñ´!ë‘ "*Û°ŽA¦€¼0 o¢TÔð ç¨ä`4 BÒЂ±  Ó` ¹ó ±ðð>À/P„ðF°à+· ~€0XÀ °à4öˆ·p «0 ‹Ø ¥Ð wD ØP0±@Jå‰ö^˜Ð}! UcзeÈ ‹…€ÐN÷ó~ÑÄeÁ•~  ˜à¬ÄÌõ ±³Ìä  ` ß`ä Õ  ³.á2 ݃S/   ’°ÈÀ–à ÿ ‘Q¥ ê`8¬B ÃtKæþD$¸ô¾2à\ª€D?l‡ úð[Ø€ƒ•19jÙÊÃ?û£öØhßh—µ$!£*¢B*ÃØG#w ¢ö ØÐ.ð² í° Í„P AÚ²å@ ¹p4q űÀ ç žp C’o° t æ` ŒÐ «F° % @ž€ ‹°³Q|ÇǦf¼@ л` “‚ 8 ÓÄ)Ò²0 › ÔNOÛSPÊð“0>ǵp¶eÐ@  â °È?ÁÈ?Ìe—׃†v‘Ѻ0w›á ÞÀÁïÐiêPР »@ þð J ̰ ÌЙ€ ã€IDw*Ê+´2¤¬´à³àÐ.É5 ÅÀ ÞàÕ í@ ¥ ’gm§ª|Ê €P2Ó0 š0$D¹qPYÊ ‘ ;’p “ÀZpI0S°†P5Oc?R3¼ )2 d… Ñô d þ HCVJ¼±á¼@ @ ÓÀ€í`W€ X⋎F:ö[Ñ0¿E‹¿BGNÞ1î÷Jà࣫Æø¬‘<ÍÁÎ0/Ý¥R¬ò–Î@1 ¶À™vÌÅ!Ë+뀽$Ø–lù½qŽ-1·´{JhÍ19Ï!‹š|-hÇ*Ρ ìQ4#jÎUÙx!µjX,eƒV¾c ÐU ž6 C u´1Àà ”¶1©°iª  ìA \¦Y â ™9P7ð ¤0:@ZWàGtn ¨p†0Œ‰0)Ñ¡ ÆT ³È¤þ‚‡-²è±RXoª ÄÀ °` sàð Š N`Eð´ º€™«ôGµ8"Å Ó!ôxËÇp ¬âi²(KC·-£¼ïZƒEKꛞÓ*†ó¢ò <(ÏÀõ+ó`š£²Ç!„×‹ÈØ‹v†ZÃÔÉQKn”*^g—™ÑY­B ¿0ïõ^óB*[×?ú,›ï÷^:;*®Lœ²(£~INöQ}ÄæQ Á@Óñ ‚1G,G ªÐ)È~€ Eà2dprX€P ð* ãL^o`+™Òj§öâ¦J‚†+·ôöþÜ ßB ´ ¤ÐC ·§RQ`7Ð RXK\W‹òG}0eÆüó‹©á:Èó<àtKГƒ[ºž%ÿ Kóð´²*®Nüã€Ñ)# ¯XÏ®“ŠŒx׋¿ØÑ7½·ôÏs™öX¾Ýh*…Œ<زú ó|PÍ0Z—•á  S‹1’]pÕÊÐ`{w+Fý›hç£?ú ´¦eE\´° g¤ ¶jU KMÃø OE =Œ ådàs /\C0;‘ òUŠ:‹d9Ï!!µ(j³j?x¦¦¥É‰:+É *–`PE0 )pQnzLþÑÐ)B4χ@€4h¬’æè–Ë¡:”›gŠ›h=d§ åh»9ÈQÞ\Ý‹´¦ÐÀuÎ¥ÆaÓ¦‰ÈÒÝÑ¿²±2h—qKÈX83*Zc8¶­Ú“á*–ÃÈHæ3¯yj»Áe‡)"›æS Â*rÙÝ—ñºÞ€vÂÚ+þ “¢tr‘jgU • H™‚uâÈ© ±à °ðA„0V°Œ|Zpsà ¤@ ‡Ø¸L£’ “Ùàͧn8ü£ÒßÙ÷‰p#ʘð^À TpÒ ÇT ‘H “æ FÎÕiˆ‹#{Œ¨â{š<—½’þކh¯Ã³Ä¾?±HæLjé#x–ºÑ‘Z ›¨1šˆ‡½¿ðØíh±çâ.ÿZeÞªK7 1à@.ÞG¢âÇc„q!“õ lUˆ1 Œ^*€ÊJ@mvC¸ä»)Àžî÷½HEƒï‚'jw·Œ» › «@}ÛdððŸƒh Ë  pÌJ'9ï'5ø0Ø€™±DZ¤e”qƒfuL¿ ”`^½0 ‰0Ö ­p˜`”¨èÍÀ І ý¡!À@1ËCIlIÏX¢bÎå:‹È®õ:…Öœ‰IüÃ?;Ê¿–ÂG×Å‹ÚbÝ¥þy뎽<ݯXßȳñ<{ÊJç+á:˜™C‹H–î9Ó0Yh}g¡PG÷žì(£ƒFÙß8tåN߈Ê\7jÑQ ²ö^[öGrV ¥àÁ ´£…Ò QC«#Å \t P Ö0‘»F ©P © .#LÖ¨áí ªöM4û?Yg¸»ð Ìp¦P'nðD¡pv@ ¼pV-Y³Z˜$ejå‹/dظ•Óömžºoà´eÓî[6hϰÃŽÝËæ,Z4Å9ÉjŒøí[8o».®ù¶g¶’qŒW.dÏ Å5ÝmÚ0f­™QÃmÚ4dÍPÝFõ©Ò§E‘úÀéd­YªM¯BµJ¨Tiºœér'Ž[2qÏ ¿“Îí[K‹ÑÇu£e‹ZëfÊpEšCeˆ•PwTì æ ˜GhК½’Dèø«ÁÈ gË&–¾a£ŒÀI$l~y¦-uL’'•®Zë%ub*pæ!Æ™ ÛJŒœœQÇ­(ú¦£¼‘ç•þ z*Bzè‰qª”Ö1©­—Ø @¯Îzi¡ÊÁH’¶ÊfC˜´a‰1gìè—Yl‘­`R¡“W ˜f Á¦&ÒŠf;Ë*º(²ˆ2LñÂo¢aRº‘ÎÊ…¦áL瀡-AÓX£f›gž)æRnóä’K"¹$“Wzᓚn®á+!Õ¾tqÞy‡›_~á˜nš™`:å&­l¢ëdxa™a„Áå’?È8aBHÉĘk–iæ³ú¦©EIZyE!Zx9Í™ÆÚÒ°¬l­J •ºQ¥p4 ,´°" ‹ò6&qÒ1 QÒªݽ§)¨P’g¢—Ö"2›þrv¼÷Þ“TÑ(ÉZ"ZÆ:,fP)Iæ½hIE/›i$‹2ÊPC£Ýh1g!ë¨lZ"𨈴a .lÉ…—?+G®ì ˜b†Ù¥µñN1ÔT%%èX„ij¸¹Æ_–æ…`)šM»ÉE^(v94M¦iD–»¸0®fFfÖšé…CäТ $”Z–™Í¡¹ 唿F£å0;\ÌÀ3 ÎüΘª«N"ŠÓNkÊ(H¢F:’%Ž!2°¢rªº1FÎÝÍV%{äQ›}Y²ÐßUdǨ–ØHE"?n8™»<2M »21‹¼Éqcc ðþcg" ääÅ,ðÍ€,^¾þèŠ{¹¥aB»ÐgN…OfÃ`^ÍÖÀ)N‹ZÄâjÈ0£.Á‡:ðAŽðÄ)|¡Œ\°ÜxÇ4GÇêL骙†,±ŒIXáø€<º $ÉĦ¡ÉÅ-V!¾HD†èD(rÑ0}þi(;±Øb’7IF3ȼZ760uT…2Õ¨F’ÜRŒ–=m!Ö!(8œÑ!%iNBW‰!c¾ñ´é°ôJìâ$4/tRÖ*ЉMœŽ™D]*Ù)‚²hle¦ËN$ Í‰VÆa+Ÿv¯œÖ#oqÆ3 µM‰ƒT£ÊÅ]’š[d¢†ð,pÑ +I¢g¾1Ä%ÌwŠZpz¦y‡>ÄŽlf„P Sk*¦Á‹bÓÀ§D‚#ŠhQz·ˆ…)N‘¨ö^‚­¥)5[×.'9Êiè:N£>IbGMÑgÈ4¹Ô͈¼ÎAêh8È2Å–|þXòRìc«"âËú…”‰¬SÜâ"úPCÜùÖð²Q™‚j&.Œi!®¿¹¯±P«wsfÁ¤É:4’ª˜E2jxµ9§bÁ/dÑ C,â·E/zñŠW€ïÀÏH‹[DŒŘÅ,°¡ÍDºˆËZOƒ ZtCšÆ4Þ@ xtãJ5ÉM0ú‹¬Æ¢Ý°èD¡I ›ƒy3Öb2èK  váL1dZ /AC"ôˆWJZ—¡š,†3´ØD)˜]¡ÀDs IP¬’¶dLq׌HœêY§ú±²f®Oü¢À®‹×Ùòa‘„±!†C2ûÅì„£1&àe¨þÔKÍ&éä#g#£·ã]4 Q ZÌâv£»—"©mh0£åÁÅøÕ‰ìaBêŽE/j>XJsä’sI…ŒR<š0Ã$r¡É`$b¡(Å8hQ@4#<ü”ð)¹1 ‰Õâ­_&vë‹%/´CÚ I~mǰ2Iýäy^+HÑ[^Pã(¹J:,DP˜Ä'o/†Dx8ojv¨SÜ‹_ôê|Ä«)3‚õö—âtâÈV_œ²U~x™nê,“‚~ó³Ã[ ŽZ™ú'¦1`;£AéÛY«Í¨”û ¹7?zšA9dФeh…N /«…\…U†^ þ@# <…V¸…Ú膦Q¯Dí¢3P€HI@†qx…;H„ZhU0úm›.g8¥ Yp=_¨ø †eˆbh£ØêˆØhš¾a¡ÉP¾Ö ›¼ðR؃Nx§0 ‰–ˆÀÃp˜‡NQÂop´Hî(µ×© /,§9¤Ã:¤—«ˆ5m‰¡ óéóC}Ä‘uѾª Ä“»?q'o |Qu1Š‚ íˆÈ¯‹Œ„Ä Œ)»‚:Œ-Š 9gà ^x=ø±™UH<‘R7_0”C{¼«!eÀ„"XS¡ƒþ‰e†\°†e8…I˜n°‡l¨;uˆ]p<,O±/áZ……XƆ_ФTØjÄmÀ'…š&`ø¼.‚Lè£mÈ´pØÃjp–ŒbmQ‡ê¸‹l  u°D›¸‰šp¢?d¿9ô>б í‹k±§ÈÇWÃC]ƒº©“µÅDÔ)Ä¡H~A ¹¾££Š™³F8©"|!#ÙyBœŠˆ ìà!=y`𠔀;Amelia/inst/gui/arrow_down.gif0000644000176200001440000000016714335240021016051 0ustar liggesusersGIF89aã ’Í^Äi“Í_ÍS–ÔX™×ZÍT‹ÅY|®ZcEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,$ðÉI«½8ëM“O\2à–¤öÁ—%@!å µšs|ïÿ¼;Amelia/inst/gui/arrow_up.gif0000644000176200001440000000016614335240021015525 0ustar liggesusersGIF89aã ’Í^Äi“Í_ÍS–ÔX™×ZÍT‹ÅY|®ZcEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,#ðÉI«½8ëÍsJ]  &ÂQ^_B­i«7Ð\[w|ïc;Amelia/inst/gui/amelia.ico0000644000176200001440000006117614335240021015134 0ustar liggesusers 00h– èþ(æ 00¨ ¨¶h^"00 ¨%Æ'  ¨nM h^(0`€€€€€€€€ÀÀÀ€€€ÿÿÿÿÿÿÿÿÿÿÿ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ‚*ªªªªªªªªªªªªªª"ˆˆˆˆˆˆˆ¢*ªªªªªªªªªªªªªªª(ˆˆˆˆˆŠªÿ*ªªªªªªªªªªªªª¯ÿøˆˆˆˆ*ª¯òªªªªªªªªªªªª¢ÿÿÿˆˆˆˆªª¢ÿ*ªªªªªªªªªªª/ÿÿ(ˆˆˆˆªªª/úªªªªªªªªªª¯ÿÿò¨ˆˆˆˆªªª¯òªªªªªªªªª¢ÿÿòª¨ˆˆˆˆªªªªÿªªªªªªªªª/ÿÿ*ª¨ˆˆˆˆªªªª/*ªªªªªªª¢ÿÿ*ªª¨ˆˆˆˆªªªª¯òªªªªªªª¯ÿòªªª¨ˆˆˆˆªªªª¢ÿªªªªªªªÿÿ*ªªª¨ˆˆˆˆªªªªªÿ*ªªªªª¢ÿÿ"*ªª¨ˆˆˆˆªªªªª/úªª¢"ÿÿÿÿÿÿªª¨ˆˆˆˆªªªªª¯ò¢ÿÿÿÿÿÿÿÿ"*ª¨ˆˆˆˆªªªªª¢ÿÿÿÿ"¢ÿÿªªªªª¨ˆˆˆˆªªªªª/ÿÿ"ªª¢ÿúªªªªª¨ˆˆˆˆªªªªÿÿÿúªªª¯ÿ*ªªªªª¨ˆˆˆˆªªª/ÿÿ/úªªªÿÿªªªªªª¨ˆˆˆˆªª/ÿÿ*¯òªªªÿòªªªªªª¨ˆˆˆˆªªÿÿúª¢ÿªª¢ÿúªªªªªª¨ˆˆˆˆªª¢ÿªª¢ÿªª¯ÿ*ªªªªªª¨ˆˆˆˆªªªªªªªÿ*ª/ÿªªªªªªª¨ˆˆˆˆªªªªªªªÿúªÿòªªªªªªª¨ˆˆˆˆªªªªªªª/ú¢ÿúªªªªªªª¨ˆˆˆˆªªªªªªª/ú¯ÿúªªªªªªª¨ˆˆˆˆªªªªªªª/ò¯ÿ*ªªªªªªª¨ˆˆˆˆªªªªªªª¯ò/ÿªªªªªªªª¨ˆˆˆˆªªªªªªª¯ÿÿÿªªªªªªªª¨ˆˆˆˆªªªªªªª¯ÿÿòªªªªªªªª¨ˆˆˆˆªªªªªªª¢ÿÿúªªªªªªªª¨ˆˆˆˆªªªªªªª¢ÿÿúªªªªªªªª¨ˆˆˆˆªªªªªªª¢ÿÿ*ªªªªªªªª¨ˆˆˆˆªªªªªªª¢ÿÿ*ªªªªªªªª(ˆˆˆˆŠªªªªªª¢ÿÿ*ªªªªªªªªˆˆˆˆˆŠªªªªªª¢ÿÿ*ªªªªªªª¢ˆˆˆˆˆˆŠªªªªªª/ÿ*ªªªªªªªˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ/(ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿüøððððððððððððððððððððððððððððððø?ø?þÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @€€€€€€€€ÀÀÀ€€€ÿÿÿÿÿÿÿÿÿÿÿ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ"""""""(ˆˆˆˆˆˆˆ*ªªªªªªªª ˆˆˆˆˆŠ¯ªªªªªªªª/øˆˆˆˆŠ¢úªªªªªª¯ÿøˆˆˆˆªªòªªªªª¢ÿò¨ˆˆˆˆªª/ªªªªª¯ÿª¨ˆˆˆˆªª¯úªªªªÿúª¨ˆˆˆˆªªªúªªª¯ÿªª¨ˆˆˆˆªªª/ªª¢/ÿ"ª¨ˆˆˆˆªªª¯*/ÿÿÿò*¨ˆˆˆˆªªª¯ÿò¢ÿªªª¨ˆˆˆˆªª¢ÿòª¯òªªª¨ˆˆˆˆª¢ÿòòª/úªªª¨ˆˆˆˆª¢*ª/ªÿªªªª¨ˆˆˆˆªªªª¯"òªªªª¨ˆˆˆˆªªªª¯/úªªªª¨ˆˆˆˆªªªª¯ÿúªªªª¨ˆˆˆˆªªªª¯ÿ*ªªªª¨ˆˆˆˆªªªª¢ÿªªªªª¨ˆˆˆˆªªªª¢ÿªªªªª¨ˆˆˆˆªªªª¢òªªªªª(ˆˆˆˆŠªªª¢òªªªªªˆˆˆˆˆˆªªª¢òªªªª¨ˆˆˆˆˆˆˆªªª"ªªª¨ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?øøðððððððððððððððððø?üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( €€€€€€€€ÀÀÀ€€€ÿÿÿÿÿÿÿÿÿÿÿ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ*ªª(ˆˆˆ*ªªªªˆˆ"ªªª¢ÿˆ‚¢*ªª/"ˆŠªúªªòªˆŠª¯"ÿÿòˆŠ¢ÿ*¯ªªˆ‚ò¢*"ªªˆ‚ªªúúª¢ˆˆªªòúª¨ˆˆŠª/*ªˆˆˆˆ*/*(ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÿÿªªÿÿªªð¢ÿÀ ˆˆÀªª€ªª€¯ÿ€ˆˆ€ªª€ªª€ÿúÀˆˆàªªðªªþÿÿªÿÿˆˆ(0`€€€€€€€€€€€€ÀÜÀðʦª?*ÿ?*_*U_*ª_*ÿ_**U*ª*ÿ*Ÿ*UŸ*ªŸ*ÿŸ*¿*U¿*ª¿*ÿ¿*ß*Uß*ªß*ÿß*ÿ*Uÿ*ªÿ*ÿÿ*UUUªUÿUUUUªUÿU?UU?Uª?Uÿ?U_UU_Uª_Uÿ_UUUUªUÿUŸUUŸUªŸUÿŸU¿UU¿Uª¿Uÿ¿UßUUßUªßUÿßUÿUUÿUªÿUÿÿUUªÿUªÿ?U?ª?ÿ?_U_ª_ÿ_UªÿŸUŸªŸÿŸ¿U¿ª¿ÿ¿ßUߪßÿßÿUÿªÿÿÿªUªªªÿªªUªªªÿª?ªU?ªª?ªÿ?ª_ªU_ªª_ªÿ_ªªUªªªÿªŸªUŸªªŸªÿŸª¿ªU¿ªª¿ªÿ¿ªßªUߪªßªÿߪÿªUÿªªÿªÿÿªÔUÔªÔÿÔÔUÔªÔÿÔ?ÔU?Ôª?Ôÿ?Ô_ÔU_Ôª_Ôÿ_ÔÔUÔªÔÿÔŸÔUŸÔªŸÔÿŸÔ¿ÔU¿Ôª¿Ôÿ¿ÔßÔUßÔªßÔÿßÔÿÔUÿÔªÿÔÿÿÔUÿªÿÿUÿªÿÿÿ?ÿU?ÿª?ÿÿ?ÿ_ÿU_ÿª_ÿÿ_ÿÿUÿªÿÿÿŸÿUŸÿªŸÿÿŸÿ¿ÿU¿ÿª¿ÿÿ¿ÿßÿUßÿªßÿÿßÿUÿÿªÿÿÿÌÌÿÌÿÿÿ3ÿÿfÿÿ™ÿÿÌUªÿŸUŸªŸÿŸ¿U¿ª¿ÿ¿ßUߪßÿßUÿªÿ*U*ª*ÿ**U*ª*ÿ*?*U?*ðûÿ¤  €€€ÿÿÿÿÿÿÿÿÿÿÿùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùù©ù©©©©©©©©©©©ù©©©©©©©©ù©©©…ù©ùùùùùùùùùùùùùù}]a®ÓÓÓÐÓ²ÐÓÐÓ®ÓÓÓÓÐÓÐÓÓÐÓÓ²ÐÓÓÓÓÐÓ®ùùùùùùùùùùùùÓ­4…ÓÐÓÓÐÓÓÓÓÓÐÓÓÐÓÓÓ²ÐÓÓÓÐÓÓÐÓÐÓ®41ùùùùùùùùùÓÓÓ®]ÓÐÓÓÓÐÓÐÓÓÐÓ²ÐÓÐÓÓÓÐÓÓÐÓÓÓÓ… Ú ùùùùùùùùÐÓÓЉ Ú…ÓÐÓÐÓÓÓÐÓÓÐÓÓÓÓÐÓÐÓÐÓÓÐÓÐ9Ú Ú  ùùùùùùùËÓÓÐÓÓ] ‰ÓÓÓÓ®ÓÓÓÐÓÓÐÓÐÓÓÓ²ÓÓÐÓ­  ]ùùùùùùùÓÓÐÓÓÐÓ ÓÐÓÐÓÓÓÐÓÓÐÓÓÓÓÐÓÐÓвa  Ú ­ÓùùùùùùùÐÓÓвÓЭ aÓÓÓÓÐÓ²ÓÐÓÐÓ®ÓÓÓÓÓÓ] Ú  aÐÓЩùùùùùùùÐÓ²ÓÐÓÓÓa ®ÓÐÓÓÐÓÓÓÓ²ÐÓÐÓÐÓÐ]Ú ­ÓÓÓÓùùùùùùùùÐÓÐÓÓÓÐÓ® ]ÓÓÓÐÓÓÐÓÐÓÓÓÓÓÓÓ]Ú Ú4ÐÓвÐÓ©ùùùùùùùÓÐÓÓÓÐÓÐÓ…Ú ®ÓÐÓÓÐÓÓÓÓÓÐÓÐÓ… Ú 5®ÓÓÓÓÓÐùùùùùùùÐÓÓÐÓÓÓÓÓÓ55ÓÓÐÓÓÓÐÓÐÓÓÓÓ®  ­ÓÓÐÓÐÓÓ©ùùùùùùùÓÐÓÓвÐÓÐÓ…Ú …ÓÓÐÓÓÓÓÓÐÓ®®9 Ú 9]9…ÓÓÓÐÓ¦ùùùùùùùÐÓÓÐÓÓÓÓÓÓÓ4ÐÓÓ®…a95Ú Ú Ú   Ú5®ÓÓÓ©ùùùùùùùÓÓ®ÓÓÓÐÓÐÓÐ… Ú]a5Ú    989]]\]­ÓÐùùùùùùùÐÓÓÓÐÓÓÓÓÓÓ®    8a…®‰Ú ­ÓÐÓÐÓ®ÓÐÓÓ©ùùùùùùùÐÓÐÓÓÐÓÐÓ®]Ú Ú ]­²ÐÓÓÓ5 Ú…ÐÓÓÓ²ÓÓÓÓÐÓùùùùùùùùÐÓÓÓÐÓÓ®9 Ú  9ÓÓÐÓÓÓÐ… Ú 5ÓÓÓÐÓÐÓÐÓÐÓÓ©ùùùùùùùÓÐÓÐÓ®]Ú  94ÚÓÐÓÓÓÐÓ4Ú ­ÓÓÐÓÓÓÐÓÓÓÓÐùùùùùùùÐÓÓÓ…Ú ­Ó… …ÓÓÐÓÓŠ  9ÓÐÓ²ÓÐÓÓÐÓ®ÓÓ©ùùùùùùù²ÐÓ­9 Ú]ÏÓÓÓ 9ÐÓÓÐÓ9 Ú …ÓÓÐÓÓÓÐÓÓÓÓÐÓ¦ùùùùùùùÐÓÓÐÓ… ]ÓÓÐÓÐ]Ú®ÓÐÓ­  9ÓÓÐÓÓÐÓÓ²ÐÓÐÓÓ©ùùùùùùùÓÓÐÓÓÓ­aÓÓ®ÓÓÓ… aÓÓÓ9 Ú …ÓÐÓÓÐÓÓÓÐÓÓÓÓÐùùùùùùùÐÓÓвÐÓÓÐÓÓÐÓÐ®Ú 9ÐÓ® ÓÓ²ÐÓÓÓÐÓÓÐÓÐÓÓ©ùùùùùùùÐÓÐÓÓÓÐÓÓÐÓÓÓÓÓÓÓ] aÐÓÓÓÐÓ²ÓÐÓÓÓÓÐÓùùùùùùùùÐÓÓÓÐÓÓÓÐÓÐÓÐÓÐ ®Ó ÚÐÓÐÓÐÓÐÓÐÓÐÓвÓÓ©ùùùùùùùÓÐÓÐÓÓÓÐÓÓÓÓÓÐÓ]Ú…‰ Ú ]ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÐùùùùùùùÐÓÓÓÓÐÓ²ÓÐÓ®ÓÓÓa a]  ‰ÓÐÓÐÓÐÓÐÓвÐÓÐÓÓªùùùùùùùÓ®ÓÐÓ²ÐÓÓÓÓÓÐÓÓ­Ú  Ú ÐÓÓ²ÓÓÓÓÓÓÓÓÓÓÓÐÓùùùùùùùùÐÓÓÓÓÐÓÓÐÓÐÓÓÓЮ   9ÓÓÐÓÐÓвÐÓÐÓÐÓÐÓÓ…ùùùùùùùÓÓÐÓÐÓÓÐÓÓÓÐÓÐÓÓ Ú Ú …ÓÐÓÓÓÓÓÓÓÐÓÓÓÓÓÓÐùùùùùùùùÐÓÓÓÓÐÓÓÓÐÓÓÓÓÐÓ  ®ÓÓÓÐÓÐÓÐÓÓÐÓвÐÓÓ©ùùùùùùùÐÐÓÐÓÓÐÓ²ÓÐÓ®ÓÓÓ5Ú Ú 8ÓÐÓÓÓÐÓÓÓÐÓÓÓÓÓÓÐÓùùùùùùùùÓÓÓ²ÐÓÓÐÓÓÓÓÓÐÓ5 aÐÓÓ®ÓÓÓ®ÓÓÓ®ÓÐÓÐÓÓùùùùùùùùùÓÐÓÐÓÓÐÓÐÓÐÓÐÓÓ Ú †ÓÓÐÓÓÓÐÓÓÓÐÓÓÓÓÓÓÐùùùùùùùùùùÓÓÓÐÓÓÓÓÓÓÓÓÓÐÚ Ú…ÐÓÓÓÐÓÓÓÐÓÓÐÓÐÓÐÓùùùùùùùùùùùËÐÓÓÐÓÐÓÐÓÐÓÐÓ] Ú …ÓÐÓÐÓÐÓÐÓÐÓÓÓÓÓÓùùùùùùùùùùùùùùËÐÓÓÓÓÓÓÓÓÓÓÓ…  aÓÓÓÓÓÓÓÓÓÓÓÐÓÐùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùP ,ùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  ÿøøððààààààààààààààààààààààààààààððø?øþÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @€€€€€€€€€€€ÀÜÀðʦª?*ÿ?*_*U_*ª_*ÿ_**U*ª*ÿ*Ÿ*UŸ*ªŸ*ÿŸ*¿*U¿*ª¿*ÿ¿*ß*Uß*ªß*ÿß*ÿ*Uÿ*ªÿ*ÿÿ*UUUªUÿUUUUªUÿU?UU?Uª?Uÿ?U_UU_Uª_Uÿ_UUUUªUÿUŸUUŸUªŸUÿŸU¿UU¿Uª¿Uÿ¿UßUUßUªßUÿßUÿUUÿUªÿUÿÿUUªÿUªÿ?U?ª?ÿ?_U_ª_ÿ_UªÿŸUŸªŸÿŸ¿U¿ª¿ÿ¿ßUߪßÿßÿUÿªÿÿÿªUªªªÿªªUªªªÿª?ªU?ªª?ªÿ?ª_ªU_ªª_ªÿ_ªªUªªªÿªŸªUŸªªŸªÿŸª¿ªU¿ªª¿ªÿ¿ªßªUߪªßªÿߪÿªUÿªªÿªÿÿªÔUÔªÔÿÔÔUÔªÔÿÔ?ÔU?Ôª?Ôÿ?Ô_ÔU_Ôª_Ôÿ_ÔÔUÔªÔÿÔŸÔUŸÔªŸÔÿŸÔ¿ÔU¿Ôª¿Ôÿ¿ÔßÔUßÔªßÔÿßÔÿÔUÿÔªÿÔÿÿÔUÿªÿÿUÿªÿÿÿ?ÿU?ÿª?ÿÿ?ÿ_ÿU_ÿª_ÿÿ_ÿÿUÿªÿÿÿŸÿUŸÿªŸÿÿŸÿ¿ÿU¿ÿª¿ÿÿ¿ÿßÿUßÿªßÿÿßÿUÿÿªÿÿÿÌÌÿÌÿÿÿ3ÿÿfÿÿ™ÿÿÌUªÿŸUŸªŸÿŸ¿U¿ª¿ÿ¿ßUߪßÿßUÿªÿ*U*ª*ÿ**U*ª*ÿ*?*U?*ðûÿ¤  €€€ÿÿÿÿÿÿÿÿÿÿÿÿ©……aªÓÓÐÓÓÓÓ²ÐÓÐÓÐÓÓ©1ôÓ]­ÓÓÓÐÓÐÓÓÓÓÓÓÓ­9Ú ô©Ó®8®ÓÐÓÓÓÓÓÐÓÐÓ‰5 ]ÓÐÓ… …ÓÓÓÐÓÐÓÓÓÓ† Ú…ÓÓÓÐÓ9®ÓÓÓÓÓÐÓÓ® 9­ÓÓÐÓÓÓ­]ÓÓÐÓÐÓÓÐ5Ú4®ÓÓÐÓÓÓÐÓ]®ÓÓÓÓ®®9Ú9a®ÓÓÓÐÓÓÓ®]®…] 54]­ÓÓÓÐÓÓ®9 ]…]Ú4®­®­®ÓÓÐÓÓ…5 Ú]­®Ó®…ÓÓÓÓÓÐÓÓ‰5Ú…]ÓÓÐa 5ÓÐÓÓÐÓÓÓ­5 …Ó]®ÓÓ5…ÓÓÐÓÓÐÓÓÓ­]…ÓÓ†…Ó® ÓÓÓÓвÓÓÓÐÓÓÐÓÓ­]Ó]]ÓÐÓÐÓÓÐÓÐÓÓÓÓÓÓÓ5ЮÓÓÓÓÓÐÓÓÓÓÐÓÐÓÐÓ9a4ÓÓÐÓÐÓÓÐÓÐÓÓÓÓÓÓÓ]5aÐÓÓÓ²ÐÓÓÓÓÓвÐÓÐÓa Ú ®ÓÓÐÓÐÓÓÐÓÐÐÓÓÓÓÓÓ ÓÓÐÓÓÓÓÐÓ®ÓÐÓÐÓÐÓa9ÐÓÓÐÓÐÓÓÓÓÓÓÓÓÓa 9ÓÐÓÓÓÓÐÓÐÐÓЮ99ÐÓÐÓЮÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿE«ÿü?øð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( €€€€€€€€€€€€ÀÜÀðʦª?*ÿ?*_*U_*ª_*ÿ_**U*ª*ÿ*Ÿ*UŸ*ªŸ*ÿŸ*¿*U¿*ª¿*ÿ¿*ß*Uß*ªß*ÿß*ÿ*Uÿ*ªÿ*ÿÿ*UUUªUÿUUUUªUÿU?UU?Uª?Uÿ?U_UU_Uª_Uÿ_UUUUªUÿUŸUUŸUªŸUÿŸU¿UU¿Uª¿Uÿ¿UßUUßUªßUÿßUÿUUÿUªÿUÿÿUUªÿUªÿ?U?ª?ÿ?_U_ª_ÿ_UªÿŸUŸªŸÿŸ¿U¿ª¿ÿ¿ßUߪßÿßÿUÿªÿÿÿªUªªªÿªªUªªªÿª?ªU?ªª?ªÿ?ª_ªU_ªª_ªÿ_ªªUªªªÿªŸªUŸªªŸªÿŸª¿ªU¿ªª¿ªÿ¿ªßªUߪªßªÿߪÿªUÿªªÿªÿÿªÔUÔªÔÿÔÔUÔªÔÿÔ?ÔU?Ôª?Ôÿ?Ô_ÔU_Ôª_Ôÿ_ÔÔUÔªÔÿÔŸÔUŸÔªŸÔÿŸÔ¿ÔU¿Ôª¿Ôÿ¿ÔßÔUßÔªßÔÿßÔÿÔUÿÔªÿÔÿÿÔUÿªÿÿUÿªÿÿÿ?ÿU?ÿª?ÿÿ?ÿ_ÿU_ÿª_ÿÿ_ÿÿUÿªÿÿÿŸÿUŸÿªŸÿÿŸÿ¿ÿU¿ÿª¿ÿÿ¿ÿßÿUßÿªßÿÿßÿUÿÿªÿÿÿÌÌÿÌÿÿÿ3ÿÿfÿÿ™ÿÿÌUªÿŸUŸªŸÿŸ¿U¿ª¿ÿ¿ßUߪßÿßUÿªÿ*U*ª*ÿ**U*ª*ÿ*?*U?*ðûÿ¤  €€€ÿÿÿÿÿÿÿÿÿÿÿùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùù}©ÒÓÒ©}ùùùùùùùT­ÓÒÓÓÒÒÓ­ù ùùùùa9ÒÓÒÒÓÓÒ…Ú ùùùùÒ9aÓÓÒÒÓ‰Ú‰}ùùùËÓÒ­ÒÓÓ­=Ó©ùùùÏÓÒ‰…=88]ùùùÓ­a=‰­­ÓÒÓùùù8Ú`®‰9Ò=8ÒÓÒ©ùùùù‰ÓÒÒÚ±‰ÓÒÓùùùùùÏÓÒÓ9ÓÒÓÏùùùùùùÏÓÒ9aÒÓÏùùùùùùùùùË8Ú‰ËùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùÿÿÿÿÓ…ðÓÓÀ ÓÐÀÓÓÀÚ€€€€ÐÓÀ®ÓÀÓÓàÓ®ø?9­þÿÿÿ(0`  "$$$$$$$$$$$$$$$$$$$$$$$$$$$" &F\lvxxxxxxxxxxxxxxxxxxxxxxxxxxxthR43/ A,ZF‘^’Ãv¶ºà‚ÇÊëÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìÆÉìm¨ªáPz}ͨ…V%##$d¨žºW°‰þR­„ÿŒäÝÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ‘ââúšeÿnÿnÿnÿnÿnÿn(ø, –'™ìðÜŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿQ¬‚ÿnÿoÿvÏ»ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÖÆÿ~7ÿnÿnÿnÿnÿp ÿQ¬ƒÿg¡¡ßq!žôøøŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿœòôÿ(†Eÿnÿ#‚=ÿœòôÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿžô÷ÿW²Œÿp ÿnÿnÿnÿnÿ(†DÿÙÌÿŸõùÿ}ÀÃéu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ†ÞÓÿr#ÿnÿ^¸–ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿóöÿBžlÿnÿnÿnÿnÿq"ÿW²‹ÿœòõÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ[µ‘ÿnÿv*ÿ“êçÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿóöÿBžlÿnÿnÿnÿnÿ,ŠJÿ†ÞÓÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ›ñóÿ~7ÿnÿH¤uÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿK§zÿnÿnÿnÿnÿ.ŒNÿšðñÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿjèÿnÿoÿ„ÜÐÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿsÌ·ÿnÿnÿnÿnÿ%ƒ@ÿ•ëéÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿžô÷ÿ(†Eÿnÿ3UÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ‘èäÿy/ÿnÿnÿnÿ|3ÿåÞÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿuκÿnÿnÿqʳÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿœòôÿ’éåÿˆàÖÿ9–]ÿnÿnÿnÿr$ÿC mÿI¥vÿC nÿ^¹—ÿžô÷ÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ0Pÿnÿ!€:ÿ›ñóÿŸõùÿŸõùÿ‘èäÿuιÿ[¶’ÿBžlÿ(†Eÿt&ÿnÿnÿnÿnÿnÿnÿnÿnÿnÿnÿnÿnÿ0Pÿ‹âÛÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿlÅ«ÿnÿnÿM©}ÿX³ÿ+‰Iÿnÿnÿnÿnÿnÿnÿnÿp ÿr#ÿnÿnÿnÿ|4ÿ8•\ÿ=™dÿBžlÿG£sÿL¨{ÿG£tÿF¢rÿ‰áØÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ‘èäÿs%ÿnÿnÿnÿnÿnÿnÿx-ÿ>›fÿX³ÿoɱÿ‡ÞÔÿvлÿnÿnÿnÿy/ÿ–íëÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŒãÜÿK§zÿt&ÿnÿnÿnÿnÿ'…CÿR®…ÿ}ÕÅÿóöÿŸõùÿŸõùÿŸõùÿžôøÿ*ˆHÿnÿnÿnÿgÁ¤ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿˆßÖÿ>šeÿp ÿnÿnÿnÿnÿnÿ8•]ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿlƬÿnÿnÿnÿ,ŠKÿžôøÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿ”ëéÿK§zÿp ÿnÿnÿnÿoÿ<™cÿ+ŠJÿnÿt'ÿ™ððÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ)‡Fÿnÿnÿoÿ€ØÊÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿœòõÿ_º˜ÿw,ÿnÿnÿnÿnÿ*ˆGÿ„ÜÐÿŸõùÿmÆ­ÿnÿnÿlÅ«ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿxѾÿnÿnÿnÿ?œhÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿ‘èãÿ6“YÿnÿnÿnÿnÿM¨|ÿœòôÿŸõùÿŸõùÿœòôÿy.ÿnÿ8•]ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ6”ZÿnÿnÿnÿÙËÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿe¿¡ÿt'ÿnÿU°ˆÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿJ¦xÿnÿp ÿ“êçÿŸõùÿŸõùÿŸõùÿ…ÝÒÿnÿnÿnÿ0ŽQÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿäÝÿ_¹˜ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿh¦ÿnÿnÿa»›ÿŸõùÿŸõùÿŸõùÿC nÿnÿnÿnÿrË´ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ„ÜÐÿnÿnÿ8•]ÿŸõùÿŸõùÿçâÿq!ÿnÿnÿ"<ÿžô÷ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿœòõÿq"ÿnÿx-ÿŸõùÿŸõùÿR®…ÿnÿnÿnÿb¼ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ*ˆGÿnÿnÿŠáÙÿžô÷ÿ|3ÿnÿnÿw,ÿ™ïðÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿF¢rÿnÿnÿjÄ©ÿyÒ¿ÿnÿnÿnÿM©}ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿb¼œÿnÿnÿK§yÿE¡pÿnÿnÿnÿ{ÓÂÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÖÆÿnÿnÿ*ˆGÿu)ÿnÿnÿx-ÿóöÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ˜ïïÿnÿnÿoÿnÿnÿnÿBŸlÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄêu"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿv*ÿnÿnÿnÿnÿnÿoȰÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ}ÁÄés"žôøùŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ!€:ÿnÿnÿnÿnÿq"ÿ˜îîÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ~ÂÅèjòöçŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ,ŠKÿnÿnÿnÿnÿ6”ZÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿuµ¸ÞXšíñ¶ŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ-‹Lÿnÿnÿnÿnÿ`º™ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ^‘’¿= šîólŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ";ÿnÿnÿnÿnÿjÄ©ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿžó÷þ8WY{€ÿÿœñõÉŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿv+ÿnÿnÿnÿnÿlÅ«ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿv·º¸*žðð"ñõПõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿK§zÿp!ÿnÿnÿnÿkŪÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŠÓØÁ++*€ÿÿœîóyœïòÈžó÷öŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿhÂ¥ÿr#ÿnÿnÿ\·”ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿñôî”æéÂ}ÂÄh€ÿÿ–áðŽÕã†Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê×Kž€"r)nîh#®0HM5Uˆ†Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆Ê׆ÊׇÃÒf h@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððàààààààààààààààààààààààààààààààààààðøÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @  !(++++++++++(" 5"A%&c/0w+,*+„*+„*+„*+„*+„*+„*+„*+„*+„*+„kX>) !+12\N„b½r°³Û|ÀÂç}ÁÃè{¿Áé{¿Áé{¿Áé{¿Áé{¿Áé{¿Áé{¿Áé{¿Áé|ÀÂé{¿Áèp­¯áU‚†Ð1GG³ •wY1 !6|Y¡Nª~ÿyÑÀÿ£ùÿÿ öûÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ öúÿ¦üÿÿÚÕ÷,pHç=Ø#©U#33}µµh§ùùøT¯ˆÿy1ÿ}ÕÄÿ¦ûÿÿŸõúÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ¡÷üÿ¦üÿÿ‰áØÿ:˜bÿhÿfÿIÔ Vn¹º”âåÏ¥úÿÿ˜îíÿ.ŒNÿ&…Bÿ’éåÿ¥ûÿÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ¡÷ýÿ¡÷ýÿuκÿ'…Bÿ[ÿq!ÿP¦ü 1·JjÎÏ;£ôøþŸõúÿ©ÿÿÿqʳÿ lÿ]¸•ÿ¤úþÿ öûÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ öûÿ£øÿÿvκÿt(ÿ]ÿ$‚>ÿkĪÿŸ÷øý9LD¸RÚÚV õùÿŸõùÿ¡÷üÿ¡öõÿ=šdÿ}5ÿ‹ãÜÿ¦üÿÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ õùÿ£ùÿÿˆàÖÿ}5ÿ_ÿ/ŽPÿ‰àÕÿ§ýÿÿœ÷üÿa~~ÆXÜàdŸõùÿŸõùÿŸõùÿ©þÿÿÖÈÿt(ÿX²Œÿ ÷ùÿ öûÿŸõùÿŸõùÿ¡÷üÿ¤ùÿÿ§üÿÿ˜ïîÿ2Tÿ`ÿ-‹Kÿ“ëæÿ®ÿÿÿŸõùÿ õùÿS†‡ÌYÚàcŸõùÿŸõùÿŸõùÿ öûÿ¨üüÿL§zÿz1ÿ‡ßÖÿ©þÿÿ§üÿÿªÿÿÿžôöÿˆßÖÿ{ÕÄÿG£sÿhÿs$ÿ<™bÿ]¸”ÿˆßÖÿ§üÿÿŸõùÿV…†ËYÚàcŸõùÿŸõùÿŸõùÿŸõùÿ§üÿÿ‡ÞÖÿ|4ÿO«ÿ‚ÚÌÿc½Ÿÿ=™dÿ$=ÿx.ÿ{2ÿp!ÿ lÿv*ÿ,ŠJÿ*‰Hÿ@œjÿÙÊÿ£øþÿV††ËYÚàcŸõùÿŸõùÿŸõùÿŸõùÿ¦üÿÿšñóÿ2Sÿoÿv+ÿq!ÿ$‚>ÿC nÿd¿ ÿCŸlÿgÿ+ˆHÿæàÿæáÿŽåßÿåßÿ˜îîÿ öúÿV…†ËYÚàcŸõùÿŸõùÿ¢øýÿŸô÷ÿhÁ¦ÿ%ƒ@ÿmÿeÿL§{ÿˆàÖÿ”ëéÿšðñÿ’èåÿx.ÿu'ÿiÄ©ÿ¨þÿÿ¢÷ýÿ¡÷ýÿ¡÷üÿ öúÿŸõùÿV…†ËYÚàc öúÿŸõùÿxѼÿ,‰Jÿ kÿy.ÿ[¶‘ÿ";ÿC nÿ™ððÿ¢÷ýÿŸõúÿd¾ ÿ kÿ1Sÿ¢ùüÿŸõúÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿV…†ËYÚàc¥ûÿÿ‡ßÕÿ,ŠKÿhÿ|4ÿwнÿ¯þþÿJ¦yÿ}4ÿŒãÝÿ¢øýÿóõÿ.‹Lÿs&ÿkŪÿ¤úÿÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿV…†ËYÚàcŸõùÿ£ùÿÿçâÿQ­ƒÿt͸ÿ¦ûÿÿ§üÿÿqʳÿp!ÿtͶÿ¡÷üÿ…ÝÒÿoÿ#‚=ÿžô÷ÿ öúÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿV…†ËYÚàcŸõùÿŸõùÿ öúÿ¤ùÿÿ¢÷ýÿŸõùÿ£ùÿÿˆàÖÿy0ÿN©}ÿžó÷ÿN©~ÿq!ÿW²‹ÿ¤ùÿÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿV…†ËYÚàcŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ öüÿŸõöÿ%ƒ?ÿ0ŽQÿ“êæÿ ~8ÿv+ÿæáÿ öúÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿV…†ËXÝâcŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ¬ÿÿÿ5’Xÿw,ÿc½žÿr$ÿ5’Xÿ¤úÿÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿW‡ˆÊU‘ÞæYŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ©þÿÿOªÿoÿ(†Eÿq!ÿ_¹˜ÿ¡÷ûÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿT„…ÅLÙê>Ÿ÷øÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ§ýÿÿ\·”ÿs%ÿ kÿoÿˆßÕÿ öúÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ ôøÿJvw®: “âì#œòõâŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ§ýÿÿ\¶“ÿs%ÿ lÿ";ÿžô÷ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ•ãçö@ab’ßà ïòuŸôùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ§ýÿÿ[µ’ÿs%ÿ lÿ@iÿžõøÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ¡ôùÿl³µ¸..6 ìì”ïñ¡˜õùÿ õùÿŸõùÿŸõùÿŸõùÿ¨ýÿÿY´ÿoÿ lÿBžkÿžô÷ÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿŸõùÿ‰ÐÒÅ3^^> ªéèÃðóh“íð¸›ïòçžõøûžõøý¡÷úüçßû:˜`ÿnÿ8•]ÿœóõüžõøüžõøüžõøýžõøûšíñì‘áãÇ‚ÊÌ„R}~)ëî•æè1Þá>ŒØÛA‹ØÛA–ßß@H™sHigq,¡v¸¸M„ÌÎEŒØÛAŒØÛA‹×Ú@ˆÑÕ7}ÂÃ! gÿÿÿÿÿÿøððààààààààààààààààààààðøþÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿ(  #+.+# 5Yw‡‡wY20#^U©©ÃjÔÔé{ööû€ÿÿÿ{õõühÏÏïL˜˜Ù¦cU4p9*¨téçï€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿrääöO4ÌméY¶/)RRC¿…ò(§Pÿþþÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿL̘ÿ‚ÿaãxqáá’€ÿÿÿ*ªUÿHÇÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿPСÿ€ÿPСÿL˜˜Ùy&zóóÌ€ÿÿÿxøñÿ–-ÿjéÔÿ€ÿÿÿ€ÿÿÿ€ÿÿÿjêÔÿ‚ÿ5µjÿ€ÿÿÿhÏÏï‰0ýýô€ÿÿÿ€ÿÿÿX×±ÿ“'ÿKË—ÿ2²eÿž>ÿ Šÿ† ÿŸ?ÿž=ÿ5³jý“.ýýôlëØÿ6µlÿ ‰ÿˆÿ3³hÿ`àÁÿ`àÁÿƒÿnîÜÿ€ÿÿÿ€ÿÿÿ{ööûw#zœ:ð€ÿ9¹sÿuôêÿUÔªÿ#£Gÿ€ÿÿÿ1±bÿ*ªTÿ€ÿÿÿ€ÿÿÿ€ÿÿÿjÔÔéYWÕ¯š]Ý»ÿ€ÿÿÿ€ÿÿÿwöîÿ€ÿlëØÿ„ ÿ[Û¶ÿ€ÿÿÿ€ÿÿÿ€ÿÿÿW­­¾1tèè ýýÞ€ÿÿÿ€ÿÿÿ€ÿÿÿ•,ÿ-¬Zÿ ÿ~þüÿ€ÿÿÿ€ÿÿÿwííí$$G{õõ4ýýÞ€ÿÿÿ€ÿÿÿ+ªVÿ‡ÿ=½zÿ€ÿÿÿ€ÿÿÿyòòèHYtèè }ùù„}ùùÇ*¨Tü€ÿVÔ¬útèèÕnÛÛ–)RR{Ræheà€€€Ï;€øþ€úÿ€ÿÿ³ÿÿ•ÿ€þÿ€ûÿÀùÿàùÿüùÿÿÿùÿAmelia/inst/gui/flag_red.gif0000644000176200001440000000034714335240021015433 0ustar liggesusersGIF89a„óQQóLLÈRKóŸžüååëmm¸óYYó{{óUUóccòЉùÓÓómmó]]T3ô——õ²²›E4`;Éýêêûààß##ùÎ΋/é55رvEY6ÿÿÿÿÿÿ!ù,dà'Ždižæ-Ò(ÐÍ$TYƒ ¼Àu¤…Eá8Äß„„` RÂYŽc ZEŠTÊ¥G9Àîr¤Ä¢@¯2o’没ø €y($‚p„#†ˆ‰?‹"3gŽ$!;Amelia/inst/gui/action_save.gif0000644000176200001440000000060114335240021016154 0ustar liggesusersGIF89a¥•Ãô†¬ÆnŒªt§ÚVmV‘ÈJWm‹»ë´×ÿb™ÎÛëÿ²äªÓÿ{­ßo ÎQa{êôÿDM_ßîÿÒçûÅàÿùüÿ‡·è)1C?FVD‚¼¨ËߟÍü—½Ô®Óå°Òãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,žÀŠpH, 'œ$'pž‚@ØQL>Ø,â³Ù<„ž B)K$‡O@jÄd³Äò°… C¢èû_y]  ƒ‡‹B‘”Š— ›ˆŸŒ B‰‹ª¡® Š ´¬B—¡ ¶ÁB“ˆ «ÀÃ׃FãBA;Amelia/inst/gui/icon_clock.gif0000644000176200001440000000030014335240021015760 0ustar liggesusersGIF89aãìöÿ©£…Ú̬Ǻ’A8³Ÿc¸¨|”{>p`7ÐêþÒÓÔèÚÃx…þþþÿÿÿÿÿÿ!ù,mðÉI«}'Ÿ;óúKv‹0œƒ li:ˆã'Ò¾²£Ì‹-ƒœŽ˜RP¦ 0ÃQ‚Æ`+E>ªÇÀ@$…)U`'žm‚( çs@P˜ÓíR}ii~^;Amelia/inst/gui/action_stop.gif0000644000176200001440000000036414335240021016211 0ustar liggesusersGIF89a„ëttÿxxáccö´´ÿÉÉñ__ü••þ¦¦“mmþjjy''×UUæjjÞ^^˜ŒŒj88…//zFFØVVèooYýýýýeeØ;;þØØ_??íww‹\\ÔSSgBBÿÿÿÿÿÿ!ù,qà'ŽdYFNŠ ‘)nAF ™°¦À41Û¨ƒÑñ| † @xßÅ#X>œ¾‰g¨&®¢Î ÉàV‰fx,àzð´³ê Àßhõ§cXøÿ r#‚‰‰ &†‘. ™z.žŸ!;Amelia/inst/gui/page_spss.gif0000644000176200001440000000114714335240021015653 0ustar liggesusersGIF89aÆJ)1Cÿýûüýüû û ü û ý ý øúõ>EUøùCK\IUkRa{ã?LèBMíEMWp‘ÔQeßVeáWdåZfåZgßeuÏlÔk~ïjnßpÛq‚òmqâr€âuƒv—´¿‘¯Ï™°ˆ¯Èמ±¯¨Ì‰»ì¿¯Í°µÙšÀÖ˵ο¼Ú•Êü¨ËÞÂÄâžÎûÎÄܤÑû°ÑãËÌÑ®Óå«Ôû±×ü¶Úü»ÜýÕÛäÀßýÇãþÕçðÞçïâéðåíõìñöòöúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,Ä€‚ƒ„…‚D<:511++((„I¹»CC2³?Ä=Æ‚+I£ @>>=ÑÓIBB@ÏÜ=99Gß(H#¢Ú! £7G‚í$3Ü 07n¹Ç‰Š 6ôHaáE àKBîs7Z  D⟠AF1(adÔHvÀ—¡e… (L˜€c†r ;Amelia/inst/gui/histogram.gif0000644000176200001440000000056414335240021015666 0ustar liggesusersGIF89a¥»Ýÿv•²…¬Ç•ËÿÛéôäëóWo¶ÚÿG¨ÿIUk‡Äÿëò÷ªÔþ<šÿgÆÿ¤ÑÿQa{²Øþ¯ÒäCK\òõøêïúçîõšÀÖ¨ËÞÑÖÝ)1C>EUàèïžÏÿ¯×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ,‘@ŠpH,  ær8PC@(!,Ø,Ö’P„¸A&#!fh·ðCÄâ¥\,nTñên B‚……  Œxz‘†–˜m›…žBx„¢ ¦¨ª¢†§³› ¶ÃÅ §Ë… uFÖBA;Amelia/inst/gui/page.gif0000644000176200001440000000041614335240021014601 0ustar liggesusersGIF89a„Çãþìñö»Üýåíõˆ¯Èv—´Wp‘•Êü«ÔûIUkòöú¶Úü¤Ñû‰»ìRa{®ÓåCK\ÕçðÀßý±×üšÀÖ¨ËÞÞçï)1C>EUâéð°ÑãËÌÑžÎûÕÛäÿÿÿÿÿÿ!ù,‹à'Žd)FVQApA>ÑØ÷ 7ƨ €`PBô4x¢ŠG ž¨CDY‹ÅÄ3ýT¯Av‚àŠK§xB.'ά`0ïO!€mÛ9"{Osu ‚zbsƒktˆ’•9¤ƒ¬ ]&¸"!;Amelia/inst/gui/page_dta.gif0000644000176200001440000000061414335240021015431 0ustar liggesusersGIF89a¥/)1Cþÿýû ø >EUCK\ì)2IUkí7?ï7?ã:GRa{äIWp‘ÝUeãYgç^iv—´ˆ¯È‰»ì̱ɚÀÖ«¿æ•Êü¨ËÞžÎû­Íó¤Ñû°ÑãËÌÑ®Óå«Ôû±×ü¶Úü»ÜýÕÛäÀßýÇãþÕçðÞçïâéðåíõìñöòöúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù?,©ÀŸpH, S¡Ïƒ©T(P 1”bµ¬W–Ö~X¨pøD~Y¸ÂÍKŒ"—J¯xCˆY£äS‰D½æ?uax{}"B/ …##/ Š/$‘"",—?-šœ",B¦ ‘ +±¥-†#"*²/{ÂÃÆ-Ê?&/Y+Ú+*- ²â €FîBA;Amelia/inst/gui/page_edit.gif0000644000176200001440000000057714335240021015616 0ustar liggesusersGIF89a¥`w•ˆ¯ÈÀßýx™·äìõ¨ÓüÆáýIUkóöù²ØüTe~íñõœÍûåòþ´ÑàCK\ÞïþÔäð™¿Õéñ÷¨ËÞàèï)1C>EU½‰ÿ¼ÿÑW¡ÐüT«ö§Ñú8e•ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ,œÀ…pH, #E" PG"tD“ì„Àõt8žêÄ@& ^°BHù”ç´ç³^HÜ8úëÐ…wyq| z„†B‰g}  ”…™šBž•£˜ § ¶  »¨´ ˜Å¾ [\Ѩ¸·uFáBA;Amelia/inst/gui/page_up.gif0000644000176200001440000000042714335240021015307 0ustar liggesusersGIF89a„’Í[v—´™Ìüäìõˆ¯ÈÇãþWp‘¦Òû½ÝýJWmÕÛäóöùÑçúëõþëñöaD‰»ìµÙü~±[Ra{¯ÒäDM_šÀÖ¨ËÞâðþÞèð)1C?FVËÌÑcEÿÿÿÿÿÿ!ù,”à'Žd)2uYAp@RÙàÜΠ1RŽ‚Pˆ(6 =Ñe1,<ÆÆb"²0…‰äéN«×` ླó;ç„Hh4Ä’sÈ? Ex"Eop‹€Ž] š“”Œ ]‡‡Ÿ 9;¯Œµ T&Á#!;Amelia/inst/gui/action_go.gif0000644000176200001440000000040214335240021015622 0ustar liggesusersGIF89a„D”(_Â>…ÙV}ÕR(WeÆANª/öûôqÍIÔïË/g>‡&wÑM€ÖTŽÞ\ŠÜZ‰ÛYzÓOI¡,iÉDmËG%OtÏK6t!½æ¯Ž´€²â¡Åé¸#Lìøèÿÿÿÿÿÿ!ù,à'Žd9h*I°FæutÝyÚuzŽó@‚Æ ÂH(NP0dX6äOài-èHÒYz¯ƒïy{$ t†† ‚& p,’#!;Amelia/inst/gui/table.gif0000644000176200001440000000056614335240021014762 0ustar liggesusersGIF89a¥v§Õ¬ÐâWoÛéôt®äëóIUkëñö›¼×T‘¹xŸº=w¹Œ³ÙQa{­ÙCK\òõøêïúçîõƒªÅŒ³ÌÑÖÝ)1C>EUf Ù>‚¹—·Ë‘´·àèïêôÿ¾Úõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,“ÀpH, $A™(‚€ $ƒ¬6+©4ªD&³(›Aõ€ètºBO#ã‡PFKTžYƒÇ,©\½Mú„êoA4®‰B¡ù²Óÿ\ql£Ûu#"Ãá‰KH‰z°ûyW áÓ¥Hù‰Ë†GìÄ¢€I MxgQsϬÊHC4$<>Š*Š—<7€N5åá‰(”SÄbÕÑÇ®C†DžYŽ* pê8ÆYp玩è㜰á#Á¢AþÌ.±Š ørÇDˆcãO…pº§–X:¥3Š8ÃHT§,/– ûð`9òÆ §–G< ài‹ ~xí8=04®ONHÁéÓ‹.œŸ˜`Ðà)žLòÀNXês¦ ð4ÀÇS¦;Ïž-˜`pÁJáJ`§$W…F"¾x\ŒÎlBˆ•øa2ÃÏ ‘Âg`KHûð:G†~1üqÙpçãˆ>(õ Ê xpøA#úk¼rü.70!~ì.`@p4ç6( ÏL 0`qÃLu0nXê`ÓL˜ ;Ë;á„ÌË]1Ž¡çO”}¸’ 5‚ðÀ¦:˜53ÇS˜0z`À  °ðÂÄa6€@ŒžXXŒO?¸c%#*וxý˜9Zà4gçˆ 6( `ÄgZ·:Ÿå‡ðÛ *iârç€HY¤4ÏNl)@xe‰Ò¹yVžxð6h4P€A¥ (yáý¼C,ª ÂpÆÔS€Ãø#5ÏýµÅª‹høá‰Xa øá½¼g,ª1%V™ãÑD@cCË–Fž8"GÀœ:EË?,^{_ºöŽîۆ糴†HTÐÙ¤Ó?ÌÆ/ÐÎä¬p[ÃHŽd–âíêÿ²¨‰²ñ£ƒ_#„>–o;Ïh÷Ô=¹»Mûu¾™­7 k¶U‰$Ui£`Y•T³£uWáH›ÚyÎ0SÔçf7“O\ª«€Rd:£ ðõ .÷1$bU:Ã|Mu,jW ’ª @8“†sn–ñ(F¥rÈ}ç?z}oÙ¶[—²ÚâÍôD«i}6q7†µ©•‡=9v3Iþ¸÷íÔÆhý¤jž¦Š;`ËAâd.ÿõb6Þˆ—}ûI?øäÓû¿þ8RöÍè'V·¯qTÿæ_猟éÏÕWï õØ÷;ŽæèdŽ{Eg†@™¶µ:Œ&œ t×Ã,i—GhÛPK»MJ¹ˆ‰ûq‰ºÕ¬qФؕ[ü_¨O5>œÿ»Ógÿ!¯öŒ—ý¸£n?R;~Ä,^¤ÙÒ;h‰|uÐr8œØwù÷䈽½»ci ƒÍæxÒîU¸×à °«ãÈ`@Ï<Î8(Ìž'q²L;ŠÀƒy`¸‡lð¡Âdc OË"¿)LŽx€HŸïÁ#B?cá‡Q§b¸ùé‰E2œ¿ ?3¨ÌóÂÆhYbJÞ2>'jˆ:·,ùáüQš# L°ýVŸ wª!È€eÏM~úÉÕ”|Çò¯Ýǽ”Á óÈt‡æ8%šÚXB'½š8µJÊŠIàr+=ac‹}Øß¦¢—¦+ò®Cáã‡6öSÏ ½Ãg牡XUQ”¡TÀŒ¦9qÃñæ[oÄIûnž5ãÄ0OlËò’ jq8è(pÍ£¯,Ç1ƒ¢8Þê<„Œ9Î#·ý¢-úÝíïä™KÆð ÆÊ²|Å.£Â´á‰†R ý‡<GÖ=KR8b5ˆ`ÇdúÛˬG¹_*7#Ñ? ú¸{°}2‹¶7«Æ×}¿Z$°Lë-ŠˆJŽÍüÊÚi—Ž5Pj8ŽcŸÝº²ËÖ&xƒ¬ç†è›«}½ÞhÊAÍÕI@c(­X(˜žXľ°vþáº*î›>Ë×{yŸ÷-ΜÜcSõ&yzj(3¦5íæþëiÛ¤¸²šÚ’H£iï5tã²Ç®±ú5N@øŽ8]ÎV£ª$\× 8fHØK•¯@eó^oý±Ø·µZ½Çútž(£@Ds#\;]H„HŽ*˜Ñª¼ÍqõKê å…¢öNÛuÔ½HÂoûŒJ#Öå}Vñ„ ]öÿV6G·´;Œ„éî:1²[#QE ÔPÀém>š­2ñÆ}}eØý÷Þ×Û]¥“{ô¶–ßu2Û…ˆ{q¢+ˆgÔ²G.²:Heâ8aV¦cÈx{;¨Úex|§ôŸEM=~øâÝØÝ¼wSK|¥l6ˆƒG>éqQÖ42Æ228RrøãÑ›obv÷llÝ8ÑãU]{«ƒÔšò5FE†áš¤ ¯Ê´\¸cß{ä÷ØÛáÝ-ûc·,ÀŽÚ&’@™¨ÚÚ«Ó!ù´üq§kiÚÃxØ{2Ûû6Ö8ªÁî¯nsžë:Ž*¼”rðÆwõ¸Vãv–4Žxm%"hŒ’‚Õp€\ÑC×O °V¹úoò[Ûo{·X{ÝÔÆÞâîaé†ÎÞ-!bP}LÌG…yãGúOô׳·>Ô±î×k··¦f-vÍ Ð³Ïí«wƒoÚíí#oQHF+ãè¦*hIáÎÝ'RäêIm!ü®§Ce\ÛÇ;×¹W3%P\víØ«3kŒL£?·á‰ˆæŠ_‘ÃxÎ-’}¹Yâª5H1I]%¸Œ¾Tb^ßpvn7)¨† AdþîÆ©Þz24]q؄۷È$ooq0êe£_¡óäÊÔÄÐ!…A¨<;ÖÊÊQÀqÀà§rÁpŒ“Áù$Uøšc,ÀaŒÛŤBªSà‹üÍ0—¼Ü®M-í–!ã!©ÿÓê^>$©å¨­+Ÿ…sÄ_²Üµ^^èš' ~o³êÑî?[úõú¾ü:ŸÛó×úFB•¥EÀ$$0ãŸ>TÃØb:±ãª4) Ò™xbBÞ>å–Š* ‡–D™ŠãµQP%8aâ®^XJ4áL+,Ñ[®©Nt¨P*Ä!ŽË„&õºG¶n6Æékja,V<χ©qš÷”÷;¿zZÉuom²>Ù"ÙXݳg½†]R'謎%VÉs\ŽUÄ÷ÔKèî¶‹¹b·™K¢Å3ë&°ëF4Œ|„2†Ô3ÆG/|K²]\Øm²´{wV)ኚ€y#ýRÝ@ŪXžXã6nʹ)è‚êÛdÛí6”PT)h㌶ˆ”ÿÛ^¦– §åÈeÃQp„Tå^Âû7xŸw¾‡v¾ŒtÃj®t°y#© ä¸Õq¶¹R…évûš§¶ åã| ²WãˆF¸Hª¦œü¾Ü+ì‘®`É_é5Ë:Öâò &„ 2r¡ p¯[­,Rf¨ øžXÞ#hdÔµ ƣϳÄÃaVãË“J•$gñïÄS]Ë£0e<Ç»ŒˆNU5£PÕ~9ãŸZ, ÝÜË%òíËo&™mYÒôÑRÎ!–'×Ò}I\8‰T\{{yFˆbÒÖÔ­ ¦ƒ¨ç¦²c+Kp"@òç-jR‹ó׃|<°Òêî=©áy"m¶ “y5ß¡Z¢ˆc–´Ôžžc ÑñäJDcaTBR@|+éld}ù²w ¾½»÷Ñm¹l-½Äöõ¼*;­¼fWé¶@3iáLk[VçoºÃîa’9ã”e,,¯ÓÒYJ–ªWŸ«]µq½vì“Ù#5þßYa1×\¶íþh2Ìð=8©,? bûwÔìíásm´nst^dq-ÈIHµ*Õפ2·©qoì>ÆT®·>â­ãŽT"³EŒ¼šK0Ñ‘U2œùs„ìÔÜ7kûNéx­çÛí.5M \*<’­YPë:Qµi4rµ^ϤõÛöÖW7Ñî6³ÚÚyVÎTiIF•A@ŒÎh½>$cnÕNÊÜ… ¹>“ö™Û{o¹m¾KÙ¥šmÞýã•´Ä… ¶Œ‰IÙŠŸ£Ë‡llÑö÷oí»$M­lmㄹ,Ê=mO6©ÆSÙ»/sw¯pÛ÷¯uÙCo³n¶{)*Ò©3lQ$A§^ s™"›,“,(Y)™Æë9l<Šªjq—Ë1'­(xqã\4Ý·U’cpc'7RÙ–#­.ÕиâAÏ–G@ç~âê„ ¼´·»Nœã#òžWÁ†+—vÛ–ën6öêZùr®¥sç–Ã4Nt¾•?•¸ðÃÝšñn¯·©\ÐEs ©Ó˜Õ´NÿõKO³ÅÚŒ>% ¦7G§oßTìöøßCÆ­ž’£—<±_rºuKáQßÙÞÌ ¼º(?¡ Ã,3¹ºíýµ®®rbXTŸ y÷~úµ¹^H}½Ì…åC¤WÈ⓸÷nç~²G+–W㨒iˆ•ž•Žvˤ·Oª}­³£t@‘”TÔ×ËÓëÔâ@¶vʱ72}CîÆ-ÕÄÂ’HÌ9-rÂ8Úí¿ígå&‡¾ýWßwbÁ'xWòè4"¸­«·Þ·¸÷³õ8jêáˆ,/ã¤i翨“×éG‘Ø£9 "¯Ãžo[“l{\»ŠZ=ãÆB¤å›jvéQÌÓtŠKEyg‡qFj<±™Ãõ3x–TŽžØ— î}G‚ëp«‰ý»¿f—j¼ÞoöƒiidÚÄêæFU–$*¥´³‘§ÆÕªBϾï›ll÷;Öäú-í–´æÍùQFU,r^î_«]ß¿^M%­ô»]›ŸE½£˜Úƒ’T£±ûtùcIúcÝ¿P¬l-v¥·Xâ€ß®Þ³ikÁ«¦ÓAÖTôÁ¨++›sËnØúKºï;¬–[„¤J¦V´•&k-—V-HºH!«êÊ”æ6­XêyàzúKÝýßay³ïì.î-èÏ5 Ï$ƒótê¾®>¬ñZﯦRm3Jmfi‰}ªFjÇ ©‘¬\ÓÓ"ñާÕñá¢v_ÓË.Ðîèäµ’F[‹ €±;T"xYÂz&_™«ñ¡Æ‡¾ÙÚÝmòCw Ï©Š‚‡#Ë0í\ȹ¼¾m2­M%Š6¯>¦4+.ûŒJŠt:‘F"LÑ©ù½^X‰ï^Ï7SK{l¦"„ÒåÅu*#¹eÌ‘OLº|Ÿú±U·†•í·èÍ•ÇKT3@êGËTe<ˆËÚ§quoÁ(ÙìûòÐ7BvÐÜ ji\Åe‹E†ûm(V‚Eq• šÿ»o··Þ¬í}Ú+Í`ô+0©]HFz£VšçÃ-®û¹U.#4/e)…æâl¨²¶ªjÏÇÑ×5²~ ôRoöQ _8@x8×Ê´g·¬WDô® ¥!…8›Ä;ÅÌruwkàéBX9j“ªš`U ¦CS bÙ¶ïQ\¢êtêÊÇJuçjÓ.h9c7½ã:rM]ÞÌ’*£ ^J*(R®ìO_Ì|†,]½ÚÛ”‰î·Ò!ÖuGbŸ8Œî8í_¿¶û}“µ”It.wW‰ÈºƒÅ"Aò/™Ìá¶çÜÓOi5ã³Zmð0¢ˆjžâG4ŠÚ?$l€9âÖ•¯×î·Ú¿)¼\>Ü—YÂ’Ô”Wq+LšIå?$H¬~ìñ]±Ø¤¾¸w¹Œî›ƒ PîÈBG^ÖÕ΋h@ùE ¯ÅˆÄ„¶RÎ-.;£¥ºÏv’Ì×Þ3êUtô‰?”¹¥sÓ\Ã×½S®m¶ýçk°µŒ7¹‘®KòHÉmâ*mѸg#Ÿ†5®²€Äv»×½Øáká[¨¢,ìÏê[1•¯ ™ZJzæÈâÓmwomounÕ·¹f„ñ 0®“N`ä|ñœnýñÙ°l~ß·÷ˆí·n›ÛÛO¸Gpd€ÜšÝݹŽ'-3׿æ|°¤÷³ ¶þÆ;†½Ù­.IÚo¦N‹ÎXj»ÑϧÔõ-sÏ<ñ¨…:"P;Bã·n/;Ÿ·IŠÖý}¾íb«YÔ4ëô•<yàrŸ‡c¸ïmƒn··•nm·9.//÷sG'Zé·ŽÑV-LGæ¥5N49 †öÖHeeŽT)$LWV†SˆëÒž¬âD··Š0"Dc*¢iƒm(vؤÞÙk¶vÖ×m´mËÓµ³ŒG&¦ƒ‹;scÄâxî˜ôcp­ÄÀµ¥qš÷ŸÔè­¢k+6gÁ”úàjÞ#âw.á' º¸zÌATþ¶?VïuíP‰ƒKÝ·Â×^Å)¯©Zt¨"5¤š^MN4 øsÑÜ;„1Gî"Ó Í ÆM,e×þWMsåŠfÔ»ÕÃûèÖt#EõÊ2äü¼&¾­¸à1oè¥Í‘E‘Ã+…–•>T8óÙF5ã‡v=Ì’Ë=ÍÎP[†–RãJ„„Wɪ¹ž,ý}£`´’ä}¸4›è ŠKvæ}<‘X(òË»–k[‹«NÓÛ˜-Îå"ɹ±>´¶S¬¡n5}§‡Ç»kö ¯OHóò€2xcJÝ ?»9àBçFk±(§¤‘öÖœqDï]Îê0weԱ˭9‚„éÒ|™N%Ûuk[6”|Ò~”eNzŸÓ«ì­~ÌF]]YÉle¸dX(2”€)ÀV¦˜Z餹ËM½n{¥Qöëé¿j¿:–”êÃ*×RIÌ:š”ªæ<ª7w@—n³O$ƒ×$Õf?IËïnZN’Ílí§ g·5 *ñ^õjޤʸÉ÷Ýöˆ”öŽa€2ÂIÉdH`+Šò9c·fõxÑüHÈ"Ùå€ÄŒmóGFvÇçb(|?áûpÖâ‹è$â9øy}lj؃|v G:`T)­CÈRµÅ04jpÂ2™HŒ*ä?†BÓV¯OÙZøqÀÒXè+N)Þ*w_sc÷=±+Õ`ЪHÖËRTðÅÝrÌr>8óÖ…!ï;O`܃û«ë'ÎÑú øéË÷K»n[3=òˆ\ÝA¼‘# ô9Ò2"ƒ>#–.꣘ø`—‹ÿ‡8\‰Bøå\k¥k€ÀvO¬QÞß[ÞÂ-¤¾W_~ÄÍNºLqèÍÐb¤6šVº©ZœtV¶IndAí³’R;«Xb{r8):¢Š`¿òã4J—© Í –'Tl éVS—žXÒ~˜m{úÉj¶qoäRuìĉ¨ EXå¨.ŠZMHTœ½(–þBM?jï;ƒsŠKi­e]p\4ˆƒA¡($N/å•i‹Ì[´;„ 9RãKG'ü Ó±ö=»µ¿f¶eÛnôýÒÒ5IVfc!uÕ¨éÔÄiÕòå\`ýÃÝ_QûVùìdÞÚh”·¼Ž(´È«À‚ÑêÄfµ²}=IÎÏPl{ýŠl1û—¹I"¹¬ Àƒ¬-tR§†3žáí­²ûmdÛ«òËmVÁ«l’Þ\ÇQ#¥c$jÔ#áŠÂ÷öã½­´=Ξø¡)otehйËS…:ΜKm[ŽÝ<'ÞÈVÈ.¥·¹Œ) a ÔåU™†°îV„yeŒô:ÚT­ãTà²B®Å»mû”Yû»K)¯ÿnvRÏ‘'ò®T®´ªiã‡q½›qÝ.6Ø5õ®î¥œÄLñ4îÞ¨j"­F`šcLííïqÛ{gmÚ[݋ָº¸ž7e¤·“Iw¦u(u-Dš~8BÌí{-žÖêßr›k¾·HÎà O $–h‹²/«‰ÔùœWdå8óOkî>Ö½HÖFK;–9Ú8&|úrH<ü0¶ëض·QµîÓ<’ Î5Œ¢†¯2éãÌŒ@wz£u´Üf‚ÎîU˜µÍõ”ŠÐ]¦­a$¶u:–µ-ZùÓ>ÏúmÜW‘ûxÝOmìsÈf´°™Ë\ rÅÄeähúCE(jM3¦ ꣉"{[´û÷qÜ¿oKÕŠÅjf¿™LºH"¯¥Ï…~ÜlÛwoCµMÕõÁx6Õd±7,ª¨ì)qy!9uºGô&C‰Ät{ßgÀNË·L·V«¸ŽHÕîEw1k ¤´­­ tç•q@ÝcØ÷y›qÚº Å™L¬Ëq"£•wâåPU¦¡Ï‡ŒvIËJyOº;³fß÷R¶ðî;}„‘Â×Ï-Èú¤¶†™Bü»‹Êö Io¤„ƒ”ÂY<Õ~U?ña~ÓïÍšßy}¿v¥¿¹]6—Ó,«¦£Í…)Š5¥ôjE­ªõ¢ˆˆs  SP9pðã‡;„{•£Ùiú!€ÖƒI Øæª«i`Ö·NÖ‰mÚã·ŒQF«$,a9M4 ¯†2íæk;»¸-ÂG¹m» ÖŒ’cÔt‰LˆRf”ÄfÍÜ]×Û›uÞÐînìn-¥€ÙË êÇÕF\ Æ€šÓ†!¶ë{»kÛï!Ó%ôuˆØë?)ʵÆßn³ÔŸ§ÄI Ü4›&ç%¨Wè’^ÑÞ‡\Gå59â%\©éÈæ1 lËosöÓÜ-¦Çh¤ÂöU."ŠM!# Bu’WBÐ×1Jb|¶Kw:Ø;½¨‘Ä Š: S™Zc½,Þ«}™S$l=+ ó©¨?ìÂeE+Àþ&:´ÇB˜Ï:s#tÛêêh“G:rÿ†µáç„éäyœ)Ö~ž^Ÿ íwe"0©Ô¤ W*aÚÝ[C4óÇÒ3v ËûˆÅÿÇݶѨ¾UhÈ*7Êz#6!ÏÒÍšâÞ)ìn®-î AÙn\ÝÄîGê¨óÑ øc‡¹l¤¥¹û¯¶ ¤Ý­BŽ'¬”þ8ˆÜ~£vZZMÝá=DxÕ£:èH+_OÅ.ç°7‹hzͱ ‹–‰“ÿqiPqܤGA>+„öîݰqW}kŠ.£ž$Š’ÄFâ© p9×·rËU .åôõûšòMë·o­´_5Å´ìËÓ™ÏêéeWªê©v4NÍØ¶Ÿ§;d’Mz·[¥ÂS1 ­A1ë:TT“Ç˸vâWÞöÎà©z2– ´, S>ŠúxÒŸÇ/vìRc‘¦î“ô£Æ‘ ­¥åÏ õÙC²Kž£‹ÜŸS5FÐÀF¹ŠÄAO â…qsoº£ßÌ¢kt¬!d³LW€¯:<¼qEV’6S0+§ Yjrä5e‡O¸Ïvñê¢Çè‚:º›O™9’xœkñFf_#­ëeŠÈ‰ì]¤µ` ¨«%Gç+•,7‡q¹öçk’EéM¦5ê HÌ f?.Y×–&v½ßØZµÝ¤‘Åúi ëz‘òe˜x¯NòßÜÍzñˆ’G,ÚJ.£’­2øcu—‹f7æ ÎÚ {ᓺkoíØÈWÑš> <+ˆÎé¶Š^Ô¿Ö±Í4ÚcµÊð;ÊÖc$ ˜Ø*FÌXR1Dí®é¿íïDGÜmÌGR)(J׉¹|8Nî½Ïùz“ÙìmGFØ6Z”d(tÓ’‡ž<ÿŽÕ¿³%’‘ÛŽÏ¿íû®ål×–¶R‰ÚÕHÚ0Z0ueMak勿ãõokß'ýÇ}í˜ï÷8­ŒVÍss$öi9ê-”€FªO¨ñ>~Ý×·E´ó›YGE(ñ+‘R:Txb[y¡b²!R8ø}øô®›dȽÞçwzÛ…ä…î]•º«D+§åªª (ƒ–/=½»Þ¦ëc³E¸¯rìû‹ser®$„0êJÄ\¡ãÍMÙM1Ó?Ò­¡î[üâ‹mµ¶vÉD’ S5²!ÿV'và°Š‡›½•ôÍqk•ŠÊÚ—To-Æž äféäX©nFY¤¾¸{ÆC–ª*ý±/¡qlÝ÷­¦ìK2^þœGH‘¢`‡Ä©üÌi•1L”Çsr—MA·ÂuPKÓ2X~XåÚ˜Ê Å·IŸl°XÓ}~šmÛ‚7þAØX]n´V±´¬‹­‚ šTni›xÝL×OÓ½IâFJ¿(1o‹qÝö"·Ü,­l­%B5ÄŒ!“Ô(fkv.µþª†:6ê¡C³È)Z!$2CG^% òá÷èïÔ›Y6ÁÚ›ÅÐ÷öÄ&ÍÖm=t#ÓmÔHe#Jê<ÀåŒÚêM£¸K×%½XkœO„(,­)ÛŠãÙÙYÈÚ®„ÀË1¥<œT>šà­:¦Ÿ¨'ûúwMêûp‹s·K+å»c$RB ÆQŠtÌî]Æšr Ä\3ÈУjS*Š“ j}@ž B8`–ñØïñ‘²K)mrÊï"³ŸP.~cç÷ýªm®Â]¬Ší˜µªF«Z0eõjþ3ž'µEtl÷Ãâ#]Î Ô@Åï —Kè¯Ë¤Ô2Ó*ø2Ä[I© ]uQdQ榕þeŽÇET´!níýÊê¶}É8Ÿd„™Z(ý+ŸH1†V|Ft1%Ý»ÂMÝ1ÝÛ¼o°ÅGbm =-ceS­}G=T8§m›T»³¼ÓB· jŽ Ÿ¦d}2=#@©ÔÃË÷|ZYv×hvöÛ=…•ÜZI ·pGÔ-G¬!SS¾ŸC çŽvI[×ÉJŦïdúãÛ£žãRjÓmn˜?Ñ*kË3‡¶{nþÓ{–t–Ö@L1\†è0ÕÓjW‘Åoß÷†á¤Ø/%M5C‘ùŒM­?Ž%gú‘Ý—ýu?渎–f–°¹ËLeö­ýcýšU\Â2¾æÝvøÚÒ1‚fõ»+tàV¦†‘€É¹ DvîÄ;Ç{šÎÙ&·±H¤“\J¯Ó`„Be©E£IJÓ:pñÄ»Zîi¼~Û%¬w¯;j“ÜEª8¢_OX–ÈQq¸ý%í{]›´Òôæëy‘ï',(zlÌ-ÐJ#£SÄœZiÖ5Ô3Î{=…ÌVs­ÎÞn#’á­åŠ]Å$@|•â*Ô+Ï[]»qÜì`ØgY&±y…fŠÒíQNq¼Wt2 'UscTï~Ù‡iÝ×}°ŒEk¸:›°¢Š—IÿsÀuS#æ<ñ–O´íÓ½ÕÎî/!µA"%Ìæ±ìÊñ?ùIÖÕÓϵ½ÍæìºK\‰ìå¨ÿܶ2/ý#NÉæžhU‰GαƒÅÞ´á…--¤»»ŠÒyd•Â"B†GbMDȱ<†6ËèuÄò¶Ûf±¨áky ä@×’\‹i)ÿ>,¿M~–¢÷Kïu¹7ºZ ¾@º²y¤ ªŒß*€xWÇ-u®kÅ3¾Èí­Á.úÓ²wÑ.¦º[`(Af‹\*‡U4ŸSdH®4óÜìû– {ûí çmµ«ç™#µ$hi]â-…šŽfåº&×g$ÌA•HHÔðÔF SPç7÷Õ.à¼Ü®ÿjã ò\S¥ MUê eÀŽm¾¨®^àŽî/¥÷ûm…Îÿ±ß[ï=» ë[ø]CCƒOÈxÐâ…·qÝ.n¾ƒG¸KHînoM¬’FꇬÌS/ËècÜ,fÛ¯$³œñЊŠ®¡Ñ©æ¬:Q½¿" °­½½ÅÜ«¬O<Í’Ç—cðU©ÂhÅ\J@`ËÄŽ4žÏïžê’+­¯o³Ûç[h%½Döööät´’§Ñ×^G¨×,[6”¥ cµý?îmâòÖNà/§éÄïq03ˆ5=RºW% (1%cØ;=¤’[ß_K,¯ª"ÓÒU$þ™j$kPr9âslú¹µßZI&÷·%£Äʄڹg~¦¯RBã‚éõz«ž-ö»æÁ½[$ðÎ"¹Xú)Œ,FzÓP‘ˆóó^ÝÕ3í\(3ÍëlŽÆHaØvñnê#‰§·RŒ\Wêš·ã†w[„Ð\ß^ûÑ{zÒhÈÎõ%|ÿǧ2®ªâR[ûïÜd¿´¸Z,­3Û±i•œÉ©$rb,r¢Ûr»žâMÂþæ=¼«Úд _Z©”5C2““/\ñ”ì–Ïãà ÆûÞË+¤ÝIt±:˜ÐÐ|µ:FXWöK¿ÚÿtÒz}^ŸÓ¦Ÿ=kòêôêá\«\k—ö›ÄÚdeöÐåtάIP#"/Ã:b#FÝû÷[Ú_õ´{M=6èiþ½:z}>}>ÇOÌãé^¤‚´~¯}HaC¿ÍöGþá#õ[ê# áºËÀ þ Šv;Ž•Áµ·ÔÞÿn=Å{—„¤ &~¢÷Ù5=Åö\8þx¬®C]tÔj§s¦%WkŠU¸{?ü ñ³’4Õ HËù–¤z—!Ïô­%/~÷ÃIJ©¯Ýž¦HÒâed¡ Õò®|´“†Rw—wJk.ÿ¸¹å[ÉÿýøŒ†Ok1G®2z^¬ÕÇÊÜ3ÓÇnl$ŽÒÚúm&;½En"`ê¬ ^”Ê£Ñ&A©ý$a€,ÝÕÝóowíñº˜ÿúð­posÜ¥½Îñ¸åÔƒ§s%u²•Žºž”×M^XcÑq·Æ!C3Ë©£$jM\/æÓZsÆ‘ôW³m÷-Þ.èÞh»nß:%œN„‹‹¶ P.T":j>tÄ}0ôôϰo6ÍŽêç¹g¸“y¿¦rÖ°²¤ÔGR´bÇèvòÈÅà¸Îxh ~¢–@9W˜äpâ0Ý|Ò) ŠÑWùa…´5•I>¬Õ[‰ r<|iŒèÔnQ…Ìæ/f¹ƒrÛ#Ú zKm0•á®e–„žfŸf(òn[¶áÜðËo¹lÐ嘆Šm¶I.'xY•V«Y’-PÕµ-«…!~µwåöÞðl[L ¹×,ú½AÑBýg:øbérç¸Ü Uöþì¹ Fé.nÞ=yzIEÔ–2婜mê Ƕû»iîY/¬-fC¹ír7 e­)ÒdŠ¿2ËÈäq` ðÇ‘ößzØû§oîtÿÂ׿òä³¢‡ŠiJÉF5Ó¡ÛyW²7 ¥4ƒR85¯?m-éþxÍ·‹dšYUÁ+ÔË22>Ð7—'k˜WP\˜b“»"—•Ž­E³ùcÏÿFc’**w6­snÖªY¤¹eJ’§S°T²çù±¹ÅÃD¿,j¨áEGðÆ1²_]'{l›yËktÓž€Œ‡Co J³+§æ§¦˜×šõÒeŠY˜–b±¡j/ä§ÿE[{è×x]£r¶÷ •n7¤’8HË ]RFiJ¡`qŒw/ln{Ò[]F·Qj'm¸fhÒ_ý±"°Ñ(”ñå\\ûÃpý«êWf^ßÝG€·Ü‘›:©jbÔ> Þ¢œqwÜláÝ-¥Ûw xn­gR$ŠS@È> Ž ŒÆ:^ªÜ™ "Îól‘Ö-×iX/ƒ tˆì|zshRÃíÅë·;žK A²ÉE¡5Ò üµàkËÃÛû—l´ÝA&íÛÌÔŠæ?]Õ°ãI]W“ññ϶ÑÉn‚ómq¶š1’Þ¦H¼z±7¨gÌWf­W*S^…7È'Šæž‚ªFO³kw·pm¦ÛHVH#– Æ‹íµÄ qÌr#’#!†l ÓÄE1éí÷ÖpÖ¨sœG\·–6gqSáéååÇDÉ4zá”>ªŠ¯*d~ã†sÌ´GÆ…@z…Ô¼ÏñųP GÔË÷Û»zíuѲÌù6¹ÉE¨âª¤¿•‡¹– ƒ–c–5~éŽk9`Áî>•î© Ùî6wÅTtnàQ‡ã„ì¾—w³¾¶ÛîÞ1\ÄšŠçèc"·Ú1é¸öÍ¥Qá¹²·NA&(£EŒêBG=À‘V¨U,ø`VåïmÒòÖñž´GS\dÀƒÇ<³Æ--9)…XÚØ\Í-©½K ¦‰å'yQ*õGR¨bm¡½ZÈq0Ò à·6F-ÊÒ8ÖÖ}½&C$—R11éËÿÓ*Ä ©Ït{fâ÷)#É3ÈŒ¥£På¤P¶@øa½îÙcºK 7Z{èJÍ :ªÊ¬ÌT:ŠT­r>xÞ̞ǹ¾Ö·M&×6ßÀÉfÈÓ<è ©Ñ2k‹Ã‹î¯ûSÚ&¾¯O¯C£ÜjÑÑéé§SNU®_v$­{zÚÉÚ)VÜ‹`ÑÞ46}R®†?’¬Ú@ÁiØéÔ÷¶þשÔÕYtjê|º¿«­— fs06C“ȱDº™yb^m’A{,*@é¡cŠCvgH¤lSŠÑkå‚Çm>ÐöûŠÐõIº‚L<eoR†b€KJá|cŠ;KH£K9äˆÞj¡2<>¡]l +ÍóSÆßõ 6;m…Ì1 ˜d†6§Zù\7O¦ç¬:t‹- ¾'<)½Ëï&EHííç11ˆ IQ(ˆFä­5¾½$ç‚Gk“S¥,h$ÿÇè©”ZNåxš¤tjšå_†$%Ø—z±ƒw¶ŽfèÎ-÷u†X@ K»(X…:ò¹ùæTËn>`€»°¸xWv¶²’ßk¸”Ôvd_ûFV-Lðæógß6[xn.¤wjÔJ¬Šâ2Áé[E*k¸Ù"íûMÛjÛ¶y¶ð–jÖжiî#éËÖEe`ÍIµ©¡¨¡¦X_múw-ÝŽÞf_e,—¸šcH +4BGÌЀÕ4:Î\±Í0’œøˆ2žÍíËÞæß—eµAQåšXŠÍHôêhÁ`5T¨$WîY6nÚ³¶Ú![;{iÂuuºD³7Z:¤£¨_›ñ'™ÂÝ­Ú6=¼íîD·@Ò*"€*±j5ºÕ‹NB¾‘‰;ûûw´º‚ð'C7—[@Šk&§92xâÛ)Î%`6»ù· wŠHžî(ee ½©Â˜s熱]4Ë5\©‹^§Z½‹\ëä!¶ÛÉvkȶùnn.⺚ÚòUFIzf?W¢:2Sž$v»[‹{[n¬ÑßJºÈ¸…¤ÎÒÕRG•ÍN?v'TÇ /êË퉻Gu6ÒÞ%`¾H¥Â"dц* ³P ð9×&ͼv­‡o-ÆÕm¢ÚÊÑÚu„ èõ,×õ'g¡vp)‘&\=Þ,öûkKýö+T†îÝZ[{»c’Œ‰:õÈZ£ &³h8œPYv{ m¶k›…™´Š8æéÕ[Ö$­¥U£1if5" é^Ç7l$R§³Á¶Úw.Íi4,—ñÍ<›Ž%Kv’= k©ZISx*‘ñ½‡pë4›f™ïlãÑ^zQXk‘ I©T1@•¢òÆYgÚÛû¤ÛÖ«§†xÒúÄš RZ14 XÆfW¡Î£‹†ßbÚ}¦ÝcÑvýŪ$"ÚádÔn‹¥e(=Ç“šb»LCsÅÍûµÖéaay‰6ë¸EÁv:fPÁZ%*+ÇV~…ߥò–ôª7«Ì·ò¦$b¸¼mϸÀÖ×wR‰g·xz2DX’.·éü¤ÐR¸®w%ÔË EÔ–IcŠ8ÜÐ9“Ó8/Çî9ǯíÒGÞ¸F…áÙ¶Ùîn@:„Ì‘ôОd °ã~ú‡¸Ø÷BÞB ¾Ñ¹Žk€’Nѹ¯øíå*ˆáˆV$ ^4Ëmvu—mGst× o·6€OÔ`Ñ«¡~œqaW4­pâó³bÜ5‹Þ”‘¼¾áíÞ-QÈt˜ÇU5zˆõxŠã¢«I$¥F€Å;˾vï¨Gi·ºŽM¿p´’^„ñ:ˆÄR¨e}Rf©Œ5-Ž5ûkÔŸh±“©1!BRp#”H”…‹€å=n*kÄâ1¾‹v‚[4G$.ëG¹%e”±*ÚÁ_IrÓAã\X6®ÖØöˆ!†Ö¢žœR‚ÈjE(g6+]7…ûNWš‰Š!"³i.Ò#ÑG¥ õjÒ3®([¾Ë4[…Íå´©btÌPʱI d]`Âàj(õ¨ŠcS¹Ú"¹A%T( ºe:‰ e®~'Ñöïl¡šÒX q#j’7DmL¹SÔ b>ñŒ:Zv\Ë&[r—%’iíÄó‘껳= ÿâhˆhÛðÄ—mZ½­ã;È·\Ì&š»`“¤ª´êG,,¢§óVµÄæï³íò\-ÎÏ+‹j²µ¹V6Œú´êÓOÊ~ÌDÁkc¾ØÞÞ^î"Ç`µÕ‘Âà]^8\âV&±G«Ó@5à1É+Lc›Ø¦‡k¼mjÒÂÞ0*ÊÊ!]RÆß˜s8çÜžhÒêÓõ¢ ó|tü3Å#f½Ü÷º[HÐÇì­¶ù$éj Š4ÆÊÆ‹—Çþéî]ë·÷®ÆuöÖ¶Q&‰õ¡‰†°ãÐe”Ì>8ê­g‚Žó ¹ìÒ« MI$E‡«'S«YUÈ å\`vÒöœn¬ýmÁëªD¥â Y4ë¨ÏUXÒŸ”V=ÛWö[•”—Öw>æÝË¡0Œ²3!uVUÉ€åÏ n>ŸvÎíO,2{U&HáW1¶²:zõ©Ô}*4ŽTµŸmW€<þ7ùo¬onwiÁŸKŽ õ:tËþPGñ­v¥µÝþÕÛf¸tÚ6˜¦´Ü`¸)];¶¶[¸~¢ƒ¬Ô ð牋£]o/V⋇4§«1muÕþJ\ÛðÅ«öâoD©Pª¡£QR£NŸB€*¦5eö¨ˆ¼÷öYAŠ(×ÒÁIŽŠ@Ò©™\è¼0…Ú^ݼʲ˜ÓKÇÖCÔÒåµ, @áCŸ.5ÃÍÎð[[¬†±¨ý% ±PÃQ£òŒóû1×±ÝÎâÑÄ“ÄPÔP04®Š ÇØÅ±‰žE¿íù7 '±ºÝ§!Þ)AuΈÔDÀ Eõêõ9Óaµí›.ßžÛHlm˜¼Q+j29¾dàwýÜíò[Çk<ÁôÊ@5ŒHGÓÍ}lUe¿Ý.7…µ’4†ÄÅV·e‹C<²¨œU þV}Cá‰f”¤´æ Oúwn…-fŠyMÐVÒ¯EÐÑ2U@tƒJeŒÓw»¼uŠò(l…ŽÙ1ioL®—P”f ¼ÎµR¬BG,_o.î,ÒÙ’H¥HÉV¶‰L yª„©j:‚+\2¦!¬;GgßCÞw&ñÄóIlÒªQ5DaÌLK…©Ó¨åá‰)Ú&/v†G[Æp“?PJÅ›¨ú «äOäcNXŽÿRv'Wö?{o«FŸi—OMtôuüº¹i­q]ß»‰ûrþ œ¤«de‚;iH-6ÕÈÎNL´û±Týƒ·?×·{¥öÝn¯²Ò:}JkÑ×Õòéõ~‹v×€)PÁy¿nÍDfãõ&šVmІ–id‘ò§?³(ûQö±B-÷J6Yâ‹R¤ªÝC¨JŽªÔÐ*ypâq£XÙvÄw)k[µAÒTD«Tú×Oªš¾üYæŽËÛŽµ°ž)L¡Z«e]™f8W,m÷]´Â[3M‹cžÚÖMµì¥¼ix†iw ½$ý4yg5w]TÒ8R6;Mǵ¶;mŽ µ]ÞÉqß¡:r‚¤z‰%•A§ü)5vݲâgÜ šG,%tähÐ U[5 ~`òXÇtË®Š8´r‘–*² ÊuP×1ˆÕ£]ANµ°’Ëv÷F•#U[gŒî¤ Äò–gcÓA¤ñÓ‹$=ºnmeµ¹å·yÙí‚:º³†dbÍWSžT®Ã:µ»{[hn"j§ùªA5̹ó Á ´¾wC)•K¸Vè4ô覬ðUñ`<›u¼é$*Ší!Ó RÕÄfhW‘åƒ][ÇÖ@jˆÓ¨X4«†#"¢¾œ3¼‚-®Õ ]H²‘¯MKµr£Jºt4é QêÏŽ#»nâú+ÒÃwg›s†â ®g,M´>í+­®¶f+ôœ…I®7"8‚ÉXÂ4L¬µFŸM†NtOü)oc²ZhT±¶¶EÓ± Š”HÀ\©™ ÜØYÞE,S®´–¥ëê<4ÕkZSËm² M'§N–‘³Z§Ó˜¸Cà &ñ¶=ÔqĘ3!1BP´2ÒW>yb\K•pÀ«I'ˆò®ZÛ[Å©ÞÖ+wF&24Ô«V©àI㎚]70£SS’Q3© *B•\ñSif2ÀÇ”4¡h®84ãJRµ¯,W­Öñ·¨ÂÛ´sCÅæŒ¨ÐE @5|.wRPÇ@È\U²$i±ð_‹Èïa°`·ÎŠÔ2¿¥$`šŽZ–M5äqÎôNÓ?¤T3´¹Ý®·ˆšîÉa±JPÈë)mX%MH,5—Ç“p ‚S3iËBí{uÝžßgmnc¶1Ê}Àa­Œ:ܘÔ&­˜¡å‰vŒqR P+jÊ«ÒRž9 ¬èdBµxä(xæ<°Á"¸mlâ2R¢ šd 9ñÃ¥Ôu%H$ær­!• só¨ãD‚Û6ÁÝI»]s ‹ôå.ŒÅ)$š\%X…eE¯Ä­ÎÕ †/,¥å•\²æ‚HP=!©ÇŽxš` @R@ㆧÆ×K¢†­*¦ ¯Ý–3Ð’D‘ ·G E%g×Iš¬9/i—‰Å#jìÞßq¾ŽúHýœ—M·J†²5†oIRMU‚°lÃᆰY,nF@<,iæh9çÖRÈYTê4«ñË3Ÿò4A\‰”(ÓŸÙ†ÑrF©a—:aê§B0«_H «>6„© 5L7tÊ$JT‘Z9S ÜÝ´0V„ƒS«ÇZÌ×.eŒtM2Áµ0ÒVd«׎Xk 4åCÆÚž®3 ‡ ç‡Ù‰(^V’C"ütâGž à‘Ã? "@ º8–aF•Õ¢´Â0$…uÊ}Eä¼°çOË@!^Tò¯ã€5§óÁµz©Ž-žgÓBãRN~xDBòÀË.u®K燞–¨"¿íÁ…,©‰ÐChe¢•ôÓpIà2h³­uSšø8( ê•ä0Õmˆ™™€*Äc1—ºŽÖÑŠ˜ÅV5È‘Ÿ†±–âkpóÅÒ‘‰jË•pð[« j"†¼p¢tÁ(¹ΟEW9`F áH$–ã˜á\-¦23‘ƒŒè9œ5™•ªU׈®5 æÒ …A" u*¬*0…Ì5ˆ: ôÒ  d¼°´M+ ná@0±–Ö¾5­q?041G¥™ .Êéä|°ok¤žDWž&w‚FR—É‚žU`Ú!»œ±r1B¤PWãyT¬QÇVjdSÏý D]öæÙ>ëí ² ¨µž¤84²ŽDÈâ#ýg«§—OWÉÎN¯Ã—7FÚdC”zÖB¾|+\9÷ƒÚõ5ŠéùùV¸Çµ½2¶(Ñt{t§É¤üœxùà,?Ì¿'üüiÊ•Çc±7@ :¿»[tµþÛÑŸÝiù:Õ]ZòãÃíÅc³ýÏú’û÷OÝ¿z×ë÷¿ý§B§GG§úZtÒ”ÏñÇc±~`³ýGí;ÏîÕö›ÜõuöÕý_îÑ]U¦'`èôϱÑò¥4üº4Šiû8c±ØÝ4Z$÷¡Ó]\t~Ÿ?5+Θ‹ßZtôõ3ãá\ñØìKë°Ç]F´­rÓü«„o½å2ù5z鯏ìv+Óp?‡¯Ð^•5Ð|ߎîÞûØ\t´õtá«ÿLv;ßNú¿gûa»×îºIÖêSç¦|2û±;úÚ½TÓN^8ìv/oèAœÚ:mZV†º¼qÖZ½¨ÓJçLv;ßȺôš|õü0°¥1Øì +«•<°¡üqØìh‚yêË ¶œükŽÇbFgMkO³Ë?·EU¯Öüâéð°Ôÿÿÿÿÿÿ!ù,à'Žd)JtYGE½A@B1Ø7¡7Ɖ`ÐAd4x¢ #Ñi:;ŒèCdYŠlvØ~Ëɳ@tE•¥V±i Ì%Ü$“BüC`Ùnor~bvw…~€o”" X””— 9¦˜®^&º"!;Amelia/inst/gui/page-R.gif0000644000176200001440000000042614335240021015001 0ustar liggesusersGIF89a„Çãþìñö»Üýåíõˆ¯Èv—´Wp‘•Êü«ÔûIUkòöú¶Úü¤Ñû‰»ìRa{®ÓåCK\ÕçðÀßý±×üšÀÖ¨ËÞÞçï)1C>EUâéð°ÑãËÌÑžÎûÕÛäÿÿÿÿÿÿ!ù,“à'Žd)FVQApA>ÑØ÷ 7ƨ €`PBT4x¢ŠB ЍCDY Xƒ`±˜(¦ŸjÐà4t_a)Ñn :¡V³9ƒ1  w]y{"€Opr ˆoq{‰ [qš 9­‰Y `&À"!;Amelia/inst/test/0000755000176200001440000000000014522322171013375 5ustar liggesusersAmelia/inst/test/transform.R0000644000176200001440000000132214335240021015524 0ustar liggesuserslibrary(Amelia) data(africa) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") a.out2 <- transform(a.out, lgdppc = log(gdp_pc), newinfl = infl*100) a.out2 <- transform(a.out2, newclib = civlib *100, newtrade = trade/100) summary(a.out2) summary(transform(a.out, lgdppc = log(gdp_pc), newinfl = infl*100)) a.out3 <- amelia(a.out2) a.out4 <- amelia(a.out) africa <- transform(africa, ivar = gdp_pc * trade) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") a.out2 <- transform(a.out, ivar = gdp_pc *trade, lgdppc = log(gdp_pc)) summary(a.out2) a.out3 <- amelia(a.out2) compare.density compare.density(a.out2, "lgdppc") Amelia/README.md0000644000176200001440000000313114335240021012711 0ustar liggesusers# Amelia II [![R build status](https://github.com/IQSS/Amelia/workflows/R-CMD-check/badge.svg)](https://github.com/IQSS/Amelia/actions) [![CRAN version](http://www.r-pkg.org/badges/version/Amelia)](https://cran.r-project.org/package=Amelia) ## Overview [Amelia II][] is an R package for the multiple imputation of multivariate incomplete data. It uses an algorithm that combines bootstrapping and the EM algorithm to take draws from the posterior of the missing data. The Amelia package includes normalizing transformations, cell-level priors, and methods for handling time-series cross-sectional data. ## How to install To install the latest version of Amelia, which requires [R][] version 2.14.0 or higher, simply use the standard R installation tools: ```r install.packages("Amelia") ``` If you would to use the current development release of Amelia (which may be unstable), run the following: ```r require(devtools) devtools::install_github("IQSS/Amelia") ``` ## Getting started with Amelia The main function in the Amelia package is `amelia()` which will perform multiple imputation on a data frame. It allows for easy setting of time-series and unit variables via the `ts` and `cs` arguments. ```r library(Amelia) data(africa) a.out <- amelia(africa, m = 5, ts = "year", cs = "country") ``` ## AmeliaView GUI Once installed, you can access most of the Amelia functionality through an interactive GUI by running the following command: ```r Amelia::AmeliaView() ``` [Amelia II]: https://gking.harvard.edu/amelia [R]: https://cran.r-project.org Amelia/build/0000755000176200001440000000000014713163340012543 5ustar liggesusersAmelia/build/vignette.rds0000644000176200001440000000047414713163340015107 0ustar liggesusers‹RQKÃ0îÖvº²¹É|7àóú„²QDqâkhâ ¤IiS‹oþp±^ÛdK†ˆ”\rß%÷}w×—È󼱄`}8ú+0XKX|SØ/pN9ÃïŒ6ñcN4º ï…¬Ë* ž1¡J¹Î™…-늉ýzHÓã.ÁÕmy´Ý¥h[3Buìú¾æŠœ¢4/j…“%Gj}í&íhIõq%Ñ/ÏŒÂ]§ œ'JV©o*离V ŸеÀK§Ú>à’Ìì~šLN75{iFávUŸx ðþØÿy/ƒi¶PQ¥ƒ ÆÍpÂ'¦Žÿlôqdôž%´ ‚˜)ßÑF–à»DÓR6±!›w¿ä'˜¶m¿NeWF‘#‚Ž_KxÞ÷q½vÔAmelia/build/partial.rdb0000644000176200001440000000007414713163325014674 0ustar liggesusers‹‹àb```b`a’Ì ¦0°0 FN Íš—˜›Z d@$þž/ÕÛ7Amelia/man/0000755000176200001440000000000014713157344012226 5ustar liggesusersAmelia/man/AmeliaView.Rd0000644000176200001440000000061314335240021014521 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/ameliagui.r \name{AmeliaView} \alias{AmeliaView} \title{Interactive GUI for Amelia} \usage{ AmeliaView() } \description{ Brings up the AmeliaView graphical interface, which allows users to load datasets, manage options and run Amelia from a traditional windowed environment. } \details{ Requires the tcltk package. } Amelia/man/amelia.Rd0000644000176200001440000003376114335240053013745 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/emb.r \name{amelia} \alias{amelia} \alias{amelia.amelia} \alias{amelia.molist} \alias{amelia.default} \title{AMELIA: Multiple Imputation of Incomplete Multivariate Data} \usage{ amelia(x, ...) \method{amelia}{amelia}(x, m = 5, p2s = 1, frontend = FALSE, ...) \method{amelia}{molist}(x, ...) \method{amelia}{default}( x, m = 5, p2s = 1, frontend = FALSE, idvars = NULL, ts = NULL, cs = NULL, polytime = NULL, splinetime = NULL, intercs = FALSE, lags = NULL, leads = NULL, startvals = 0, tolerance = 1e-04, logs = NULL, sqrts = NULL, lgstc = NULL, noms = NULL, ords = NULL, incheck = TRUE, collect = FALSE, arglist = NULL, empri = NULL, priors = NULL, autopri = 0.05, emburn = c(0, 0), bounds = NULL, max.resample = 100, overimp = NULL, boot.type = "ordinary", parallel = c("no", "multicore", "snow"), ncpus = getOption("amelia.ncpus", 1L), cl = NULL, ... ) } \arguments{ \item{x}{either a matrix, data.frame, a object of class "amelia", or an object of class "molist". The first two will call the default S3 method. The third a convenient way to perform more imputations with the same parameters. The fourth will impute based on the settings from \code{moPrep} and any additional arguments.} \item{...}{further arguments to be passed.} \item{m}{the number of imputed datasets to create.} \item{p2s}{an integer value taking either 0 for no screen output, 1 for normal screen printing of iteration numbers, and 2 for detailed screen output. See "Details" for specifics on output when p2s=2.} \item{frontend}{a logical value used internally for the GUI.} \item{idvars}{a vector of column numbers or column names that indicates identification variables. These will be dropped from the analysis but copied into the imputed datasets.} \item{ts}{column number or variable name indicating the variable identifying time in time series data.} \item{cs}{column number or variable name indicating the cross section variable.} \item{polytime}{integer between 0 and 3 indicating what power of polynomial should be included in the imputation model to account for the effects of time. A setting of 0 would indicate constant levels, 1 would indicate linear time effects, 2 would indicate squared effects, and 3 would indicate cubic time effects.} \item{splinetime}{interger value of 0 or greater to control cubic smoothing splines of time. Values between 0 and 3 create a simple polynomial of time (identical to the polytime argument). Values \code{k} greater than 3 create a spline with an additional \code{k-3} knotpoints.} \item{intercs}{a logical variable indicating if the time effects of \code{polytime} should vary across the cross-section.} \item{lags}{a vector of numbers or names indicating columns in the data that should have their lags included in the imputation model.} \item{leads}{a vector of numbers or names indicating columns in the data that should have their leads (future values) included in the imputation model.} \item{startvals}{starting values, 0 for the parameter matrix from listwise deletion, 1 for an identity matrix.} \item{tolerance}{the convergence threshold for the EM algorithm.} \item{logs}{a vector of column numbers or column names that refer to variables that require log-linear transformation.} \item{sqrts}{a vector of numbers or names indicating columns in the data that should be transformed by a sqaure root function. Data in this column cannot be less than zero.} \item{lgstc}{a vector of numbers or names indicating columns in the data that should be transformed by a logistic function for proportional data. Data in this column must be between 0 and 1.} \item{noms}{a vector of numbers or names indicating columns in the data that are nominal variables.} \item{ords}{a vector of numbers or names indicating columns in the data that should be treated as ordinal variables.} \item{incheck}{a logical indicating whether or not the inputs to the function should be checked before running \code{amelia}. This should only be set to \code{FALSE} if you are extremely confident that your settings are non-problematic and you are trying to save computational time.} \item{collect}{a logical value indicating whether or not the garbage collection frequency should be increased during the imputation model. Only set this to \code{TRUE} if you are experiencing memory issues as it can significantly slow down the imputation process} \item{arglist}{an object of class "ameliaArgs" from a previous run of Amelia. Including this object will use the arguments from that run.} \item{empri}{number indicating level of the empirical (or ridge) prior. This prior shrinks the covariances of the data, but keeps the means and variances the same for problems of high missingness, small N's or large correlations among the variables. Should be kept small, perhaps 0.5 to 1 percent of the rows of the data; a reasonable upper bound is around 10 percent of the rows of the data.} \item{priors}{a four or five column matrix containing the priors for either individual missing observations or variable-wide missing values. See "Details" for more information.} \item{autopri}{allows the EM chain to increase the empirical prior if the path strays into an nonpositive definite covariance matrix, up to a maximum empirical prior of the value of this argument times \code{n}, the number of observations. Must be between 0 and 1, and at zero this turns off this feature.} \item{emburn}{a numeric vector of length 2, where \code{emburn[1]} is a the minimum EM chain length and \code{emburn[2]} is the maximum EM chain length. These are ignored if they are less than 1.} \item{bounds}{a three column matrix to hold logical bounds on the imputations. Each row of the matrix should be of the form \code{c(column.number, lower.bound,upper.bound)} See Details below.} \item{max.resample}{an integer that specifies how many times Amelia should redraw the imputed values when trying to meet the logical constraints of \code{bounds}. After this value, imputed values are set to the bounds.} \item{overimp}{a two-column matrix describing which cells are to be overimputed. Each row of the matrix should be a \code{c(row,column)} pair. Each of these cells will be treated as missing and replaced with draws from the imputation model.} \item{boot.type}{choice of bootstrap, currently restricted to either \code{"ordinary"} for the usual non-parametric bootstrap and \code{"none"} for no bootstrap.} \item{parallel}{the type of parallel operation to be used (if any). If missing, the default is taken from the option \code{"amelia.parallel"} (and if that is not set, \code{"no"}).} \item{ncpus}{integer: the number of processes to be used in parallel operation: typically one would choose the number of available CPUs.} \item{cl}{an optional \pkg{parallel} or \pkg{snow} cluster for use if \code{parallel = "snow"}. If not supplied, a cluster on the local machine is created for the duration of the \code{amelia} call.} } \value{ An instance of S3 class "amelia" with the following objects: \item{imputations}{a list of length \code{m} with an imputed dataset in each entry. The class (matrix or data.frame) of these entries will match \code{x}.} \item{m}{an integer indicating the number of imputations run.} \item{missMatrix}{a matrix identical in size to the original dataset with 1 indicating a missing observation and a 0 indicating an observed observation.} \item{theta}{An array with dimensions \eqn{(p+1)} by \eqn{(p+1)} by \eqn{m} (where \eqn{p} is the number of variables in the imputations model) holding the converged parameters for each of the \code{m} EM chains.} \item{mu}{A \eqn{p} by \eqn{m} matrix of of the posterior modes for the complete-data means in each of the EM chains.} \item{covMatrices}{An array with dimensions \eqn{(p)} by \eqn{(p)} by \eqn{m} where the first two dimensions hold the posterior modes of the covariance matrix of the complete data for each of the EM chains.} \item{code}{a integer indicating the exit code of the Amelia run.} \item{message}{an exit message for the Amelia run} \item{iterHist}{a list of iteration histories for each EM chain. See documentation for details.} \item{arguments}{a instance of the class "ameliaArgs" which holds the arguments used in the Amelia run.} \item{overvalues}{a vector of values removed for overimputation. Used to reformulate the original data from the imputations. } Note that the \code{theta}, \code{mu} and \code{covMatrcies} objects refers to the data as seen by the EM algorithm and is thusly centered, scaled, stacked, tranformed and rearranged. See the manual for details and how to access this information. } \description{ Runs the bootstrap EM algorithm on incomplete data and creates imputed datasets. } \details{ Multiple imputation is a method for analyzing incomplete multivariate data. This function will take an incomplete dataset in either data frame or matrix form and return \code{m} imputed datatsets with no missing values. The algorithm first creates a bootstrapped version of the original data, estimates the sufficient statistics (with priors if specified) by EM on this bootstrapped sample, and then imputes the missing values of the original data using the estimated sufficient statistics. It repeats this process \code{m} times to produce the \code{m} complete datasets where the observed values are the same and the unobserved values are drawn from their posterior distributions. The function will start a "fresh" run of the algorithm if \code{x} is either a incomplete matrix or data.frame. In this method, all of the options will be user-defined or set to their default. If \code{x} is the output of a previous Amelia run (that is, an object of class "amelia"), then Amelia will run with the options used in that previous run. This is a convenient way to run more imputations of the same model. You can provide Amelia with informational priors about the missing observations in your data. To specify priors, pass a four or five column matrix to the \code{priors} argument with each row specifying a different priors as such: \code{ one.prior <- c(row, column, mean,standard deviation)} or, \code{ one.prior <- c(row, column, minimum, maximum, confidence)}. So, in the first and second column of the priors matrix should be the row and column number of the prior being set. In the other columns should either be the mean and standard deviation of the prior, or a minimum, maximum and confidence level for the prior. You must specify your priors all as distributions or all as confidence ranges. Note that ranges are converted to distributions, so setting a confidence of 1 will generate an error. Setting a priors for the missing values of an entire variable is done in the same manner as above, but inputing a \code{0} for the row instead of the row number. If priors are set for both the entire variable and an individual observation, the individual prior takes precedence. In addition to priors, Amelia allows for logical bounds on variables. The \code{bounds} argument should be a matrix with 3 columns, with each row referring to a logical bound on a variable. The first column should be the column number of the variable to be bounded, the second column should be the lower bounds for that variable, and the third column should be the upper bound for that variable. As Amelia enacts these bounds by resampling, particularly poor bounds will end up resampling forever. Amelia will stop resampling after \code{max.resample} attempts and simply set the imputation to the relevant bound. If each imputation is taking a long time to converge, you can increase the empirical prior, \code{empri}. This value has the effect of smoothing out the likelihood surface so that the EM algorithm can more easily find the maximum. It should be kept as low as possible and only used if needed. Amelia assumes the data is distributed multivariate normal. There are a number of variables that can break this assumption. Usually, though, a transformation can make any variable roughly continuous and unbounded. We have included a number of commonly needed transformations for data. Note that the data will not be transformed in the output datasets and the transformation is simply useful for climbing the likelihood. Amelia can run its imputations in parallel using the methods of the \pkg{parallel} package. The \code{parallel} argument names the parallel backend that Amelia should use. Users on Windows systems must use the \code{"snow"} option and users on Unix-like systems should use \code{"multicore"}. The \code{multicore} backend sets itself up automatically, but the \code{snow} backend requires more setup. You can pass a predefined cluster from the \code{parallel::makePSOCKcluster} function to the \code{cl} argument. Without this cluster, Amelia will attempt to create a reasonable default cluster and stop it once computation is complete. When using the parallel backend, users can set the number of CPUs to use with the \code{ncpus} argument. The defaults for these two arguments can be set with the options \code{"amelia.parallel"} and \code{"amelia.ncpus"}. Please refer to the Amelia manual for more information on the function or the options. } \section{Methods (by class)}{ \itemize{ \item \code{amelia(amelia)}: Run additional imputations for Amelia output \item \code{amelia(molist)}: Perform multiple overimputation from moPrep \item \code{amelia(default)}: Run core Amelia algorithm }} \examples{ data(africa) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") summary(a.out) plot(a.out) } \references{ Honaker, J., King, G., Blackwell, M. (2011). Amelia II: A Program for Missing Data. \emph{Journal of Statistical Software}, \bold{45(7)}, 1--47. \doi{10.18637/jss.v045.i07} } \seealso{ For imputation diagnostics, \code{\link{missmap}}, \code{\link{compare.density}}, \code{\link{overimpute}} and \code{\link{disperse}}. For time series plots, \code{\link{tscsPlot}}. Also: \code{\link{plot.amelia}}, \code{\link{write.amelia}}, and \code{\link{ameliabind}} } \author{ James Honaker Gary King Matt Blackwell } \keyword{models} Amelia/man/plot.amelia.Rd0000644000176200001440000000155614335240021014712 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/plot.amelia.R \name{plot.amelia} \alias{plot.amelia} \title{Summary plots for Amelia objects} \usage{ \method{plot}{amelia}(x, which.vars, compare = TRUE, overimpute = FALSE, ask = TRUE, ...) } \arguments{ \item{x}{an object of class "amelia"; typically output from the function \code{amelia}.} \item{which.vars}{a vector indicating the variables to plot. The default is to plot all of the numeric variables that were actually imputed.} \item{compare}{plot the density comparisons for each variable (True or False)} \item{overimpute}{plot the overimputation for each variable (True or False)} \item{ask}{prompt user before changing pages of a plot (True or False)} \item{...}{further graphical arguments.} } \description{ Plots diagnostic plots for the output from the \code{amelia} function. } Amelia/man/Amelia-package.Rd0000644000176200001440000000322614712711161015271 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/amelia-package.R \docType{package} \name{Amelia-package} \alias{Amelia} \alias{Amelia-package} \title{Amelia: A Program for Missing Data} \description{ A tool that "multiply imputes" missing data in a single cross-section (such as a survey), from a time series (like variables collected for each year in a country), or from a time-series-cross-sectional data set (such as collected by years for each of several countries). Amelia II implements our bootstrapping-based algorithm that gives essentially the same answers as the standard IP or EMis approaches, is usually considerably faster than existing approaches and can handle many more variables. Unlike Amelia I and other statistically rigorous imputation software, it virtually never crashes (but please let us know if you find to the contrary!). The program also generalizes existing approaches by allowing for trends in time series across observations within a cross-sectional unit, as well as priors that allow experts to incorporate beliefs they have about the values of missing cells in their data. Amelia II also includes useful diagnostics of the fit of multiple imputation models. The program works from the R command line or via a graphical user interface that does not require users to know R. } \seealso{ Useful links: \itemize{ \item \url{https://gking.harvard.edu/amelia} } } \author{ \strong{Maintainer}: Matthew Blackwell \email{mblackwell@gmail.com} (\href{https://orcid.org/0000-0002-3689-9527}{ORCID}) Authors: \itemize{ \item James Honaker \email{james@hona.kr} \item Gary King \email{king@harvard.edu} } } \keyword{internal} Amelia/man/africa.Rd0000644000176200001440000000116114335240021013722 0ustar liggesusers\name{africa} \docType{data} \alias{africa} \title{Economic and Political Indictors in 6 African States} \description{Data on a few economic and political variables in six African States from 1972-1991. The variables are year, country name, Gross Domestic Product per capita, inflation, trade as a percentage of GDP, a measure of civil liberties and total population. The data is from the Africa Research Program. A few cells are missing.} \usage{africa} \format{A data frame with 7 variables and 120 observations.} \source{Africa Research Program \url{https://scholar.harvard.edu/rbates/data}} \keyword{datasets} Amelia/man/mi.meld.Rd0000644000176200001440000000357114335240021014031 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/diag.r \name{mi.meld} \alias{mi.meld} \title{Combine Multiple Results From Multiply Imputed Datasets} \usage{ mi.meld(q, se, byrow = TRUE) } \arguments{ \item{q}{A matrix or data frame of (k) quantities of interest (eg. coefficients, parameters, means) from (m) multiply imputed datasets. Default is to assume the matrix is m-by-k (see \code{byrow}), thus each row represents a set of results from one dataset, and each column represents the different values of a particular quantity of interest across the imputed datasets.} \item{se}{A matrix or data frame of standard errors that correspond to each of the elements of the quantities of interest in \code{q}. Should be the same dimensions as \code{q}.} \item{byrow}{logical. If \code{TRUE}, \code{q} and \code{se} are treated as though each row represents the set of results from one dataset (thus m-by-k). If \code{FALSE}, each column represents results from one dataset (thus k-by-m).} } \value{ \item{q.mi}{Average value of each quantity of interest across the m models} \item{se.mi}{Standard errors of each quantity of interest} } \description{ Combine sets of estimates (and their standard errors) generated from different multiply imputed datasets into one set of results. } \details{ Uses Rubin's rules for combining a set of results from multiply imputed datasets to reflect the average result, with standard errors that both average uncertainty across models and account for disagreement in the estimated values across the models. } \references{ Rubin, D. (1987). \emph{Multiple Imputation for Nonresponse in Surveys}. New York: Wiley. Honaker, J., King, G., Honaker, J. Joseph, A. Scheve K. (2001). Analyzing Incomplete Political Science Data: An Alternative Algorithm for Multiple Imputation \emph{American Political Science Review}, \bold{95(1)}, 49--69. (p53) } Amelia/man/overimpute.Rd0000644000176200001440000000607114335240021014701 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/diag.r \name{overimpute} \alias{overimpute} \title{Overimputation diagnostic plot} \usage{ overimpute( output, var, draws = 20, subset, legend = TRUE, xlab, ylab, main, frontend = FALSE, ... ) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{var}{column number or variable name of the variable to overimpute.} \item{draws}{the number of draws per imputed dataset to generate overimputations. Total number of simulations will \code{m * draws} where \code{m} is the number of imputations.} \item{subset}{an optional vector specifying a subset of observations to be used in the overimputation.} \item{legend}{a logical value indicating if a legend should be plotted.} \item{xlab}{the label for the x-axis. The default is "Observed Values."} \item{ylab}{the label for the y-axis. The default is "Imputed Values."} \item{main}{main title of the plot. The default is to smartly title the plot using the variable name.} \item{frontend}{a logical value used internally for the Amelia GUI.} \item{...}{further graphical parameters for the plot.} } \value{ A list that contains (1) the row in the original data (\code{row}), (2) the observed value of that observation (\code{orig}), (2) the mean of the overimputations (\code{mean.overimputed}), (3) the lower bound of the 95\% confidence interval of the overimputations (\code{lower.overimputed}), (4) the upper bound of the 95\% confidence interval of the overimputations (\code{upper.overimputed}), (5) the fraction of the variables that were missing for that observation in the original data (\code{prcntmiss}), and (6) a matrix of the raw overimputations, with observations in rows and the different draws in columns (\code{overimps}). } \description{ Treats each observed value as missing and imputes from the imputation model from \code{amelia} output. } \details{ This function temporarily treats each observed value in \code{var} as missing and imputes that value based on the imputation model of \code{output}. The dots are the mean imputation and the vertical lines are the 90\% percent confidence intervals for imputations of each observed value. The diagonal line is the \eqn{y=x} line. If all of the imputations were perfect, then our points would all fall on the line. A good imputation model would have about 90\% of the confidence intervals containing the truth; that is, about 90\% of the vertical lines should cross the diagonal. The color of the vertical lines displays the fraction of missing observations in the pattern of missingness for that observation. The legend codes this information. Obviously, the imputations will be much tighter if there are more observed covariates to use to impute that observation. The \code{subset} argument evaluates in the environment of the data. That is, it can but is not required to refer to variables in the data frame as if it were attached. } \seealso{ Other imputation diagnostics are \code{\link{compare.density}}, \code{\link{disperse}}, and \code{\link{tscsPlot}}. } Amelia/man/missmap.Rd0000644000176200001440000000616014335240021014152 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/missmap.R \name{missmap} \alias{missmap} \title{Missingness Map} \usage{ missmap( obj, vars, legend = TRUE, col, main, y.cex = 0.8, x.cex = 0.8, y.labels, y.at, csvar = NULL, tsvar = NULL, rank.order = TRUE, margins = c(5, 5), gap.xaxis = 1, x.las = 2, ... ) } \arguments{ \item{obj}{an object of class "amelia"; typically output from the function \code{amelia}, a matrix or a dataframe.} \item{vars}{a vector of column numbers or column names of the data to include in the plot. The default is to plot all variables.} \item{legend}{should a legend be drawn? (True or False)} \item{col}{a vector of length two where the first element specifies the color for missing cells and the second element specifies} \item{main}{main title of the plot. Defaults to "Missingness Map".} \item{y.cex}{expansion for the variables names on the x-axis.} \item{x.cex}{expansion for the unit names on the y-axis.} \item{y.labels}{a vector of row labels to print on the y-axis} \item{y.at}{a vector of the same length as \code{y.labels} with row nmumbers associated with the labels.} \item{csvar}{column number or name of the variable corresponding to the unit indicator. Only used when the \code{obj} is not of class \code{amelia}.} \item{tsvar}{column number or name of the variable corresponding to the time indicator. Only used when the \code{obj} is not of class \code{amelia}.} \item{rank.order}{a logical value. If \code{TRUE}, the default, then the order of the variables along the the x-axis is sorted by the percent missing (from highest to lowest). If \code{FALSE}, it is simply the order of the variables in the data.} \item{margins}{a vector of length two that specifies the bottom and left margins of the plot. Useful for when variable names or row names are long.} \item{gap.xaxis}{value to pass to the \code{gap.axis} argument of the \code{axis} function that plots the x-axis. See \code{\link{axis}} for more details. Ignored on R versions less than 4.0.0.} \item{x.las}{value of the \code{las} argument to pass to the \code{\link{axis}} function creating the x-axis.} \item{...}{further graphical arguments.} } \description{ Plots a missingness map showing where missingness occurs in the dataset passed to \code{amelia}. } \details{ \code{missmap} draws a map of the missingness in a dataset using the \code{image} function. The columns are reordered to put the most missing variable farthest to the left. The rows are reordered to a unit-period order if the \code{ts} and \code{cs} arguments were passed to \code{amelia}. If not, the rows are not reordered. The \code{y.labels} and \code{y.at} commands can be used to associate labels with rows in the data to identify them in the plot. The y-axis is internally inverted so that the first row of the data is associated with the top-most row of the missingness map. The values of \code{y.at} should refer to the rows of the data, not to any point on the plotting region. } \seealso{ \code{\link{compare.density}}, \code{\link{overimpute}}, \code{\link{tscsPlot}}, \code{\link{image}}, \code{\link{heatmap}} } Amelia/man/tscsPlot.Rd0000644000176200001440000000523514335240021014316 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/diag.r \name{tscsPlot} \alias{tscsPlot} \title{Plot observed and imputed time-series for a single cross-section} \usage{ tscsPlot( output, var, cs, draws = 100, conf = 0.9, misscol = "red", obscol = "black", xlab, ylab, main, pch, ylim, xlim, frontend = FALSE, plotall = FALSE, nr, nc, pdfstub, ... ) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{var}{the column number or variable name of the variable to plot.} \item{cs}{the name (or level) of the cross-sectional unit to plot. Maybe a vector of names which will panel a window of plots} \item{draws}{the number of imputations on which to base the confidence intervals.} \item{conf}{the confidence level of the confidence intervals to plot for the imputated values.} \item{misscol}{the color of the imputed values and their confidence intervals.} \item{obscol}{the color of the points for observed units.} \item{xlab}{x axis label} \item{ylab}{y axis label} \item{main}{overall plot title} \item{pch}{point shapes for the plot.} \item{ylim}{y limits (y1, y2) of the plot.} \item{xlim}{x limits (x1, x2) of the plot.} \item{frontend}{a logical value for use with the \code{AmeliaView} GUI.} \item{plotall}{a logical value that provides a shortcut for ploting all unique values of the level. A shortcut for the \code{cs} argument, a TRUE value overwrites any \code{cs} argument.} \item{nr}{the number of rows of plots to use when ploting multiple cross-sectional units. The default value will try to minimize this value to create a roughly square representation, up to a value of four. If all plots do not fit on the window, a new window will be started.} \item{nc}{the number of columns of plots to use. See \code{nr}} \item{pdfstub}{a stub string used to write pdf copies of each window created by the plot. The default is not to write pdf output, but any string value will turn on pdf output to the local working directory. If the stub is \code{mystub}, then plots will be saved as \code{mystub1.pdf}, \code{mystub2.pdf}, etc.} \item{...}{further graphical parameters for the plot.} } \description{ Plots a time series for a given variable in a given cross-section and provides confidence intervals for the imputed values. } \details{ The \code{cs} argument should be a value from the variable set to the \code{cs} argument in the \code{amelia} function for this output. This function will not work if the \code{ts} and \code{cs} arguments were not set in the \code{amelia} function. If an observation has been overimputed, \code{tscsPlot} will plot both an observed and an imputed value. } Amelia/man/disperse.Rd0000644000176200001440000000464114335240021014321 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/diag.r \name{disperse} \alias{disperse} \title{Overdispersed starting values diagnostic for multiple imputation} \usage{ disperse( output, m = 5, dims = 1, p2s = 0, frontend = FALSE, ..., xlim = NULL, ylim = NULL ) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{m}{the number of EM chains to run from overdispersed starting values.} \item{dims}{the number of principle components of the parameters to display and assess convergence on (up to 2).} \item{p2s}{an integer that controls printing to screen. 0 (default) indicates no printing, 1 indicates normal screen output and 2 indicates diagnostic output.} \item{frontend}{a logical value used internally for the Amelia GUI.} \item{...}{further graphical parameters for the plot.} \item{xlim}{limits of the plot in the horizontal dimension.} \item{ylim}{limits of the plot in vertical dimension.} } \description{ A visual diagnostic of EM convergence from multiple overdispersed starting values for an output from \code{amelia}. } \details{ This function tracks the convergence of \code{m} EM chains which start from various overdispersed starting values. This plot should give some indication of the sensitivity of the EM algorithm to the choice of starting values in the imputation model in \code{output}. If all of the lines converge to the same point, then we can be confident that starting values are not affecting the EM algorithm. As the parameter space of the imputation model is of a high-dimension, this plot tracks how the first (and second if \code{dims} is 2) principle component(s) change over the iterations of the EM algorithm. Thus, the plot is a lower dimensional summary of the convergence and is subject to all the drawbacks inherent in said summaries. For \code{dims==1}, the function plots a horizontal line at the position where the first EM chain converges. Thus, we are checking that the other chains converge close to that horizontal line. For \code{dims==2}, the function draws a convex hull around the point of convergence for the first EM chain. The hull is scaled to be within the tolerance of the EM algorithm. Thus, we should check that the other chains end up in this hull. } \seealso{ Other imputation diagnostics are \code{\link{compare.density}}, \code{\link{disperse}}, and \code{\link{tscsPlot}} } Amelia/man/write.amelia.Rd0000644000176200001440000000505514713157344015103 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/write.amelia.R \name{write.amelia} \alias{write.amelia} \title{Write Amelia imputations to file} \usage{ write.amelia( obj, separate = TRUE, file.stem, extension = NULL, format = "csv", impvar = "imp", orig.data = TRUE, ... ) } \arguments{ \item{obj}{an object of class "amelia"; typically output from the function \code{amelia}} \item{separate}{logical variable. If \code{TRUE} (default), the imputed datasets will be written to separate files, whose names come from the \code{file.stem} and \code{extension} arguments. If \code{FALSE}, the imputations are stacked and written as a single file.} \item{file.stem}{the leading part of the filename to save to output The imputation number and \code{extension} will be added to complete the filename. This can include a directory path.} \item{extension}{the extension of the filename. This is simply what follows \code{file.stem} and the imputation number.} \item{format}{one of the following output formats: \code{csv}, \code{dta} or \code{table}. See details.} \item{impvar}{the name of imputation number variable written to the stacked dataset when \code{separate} is \code{FALSE}.} \item{orig.data}{logical variable indicating whether the original, unimputed dataset should be included in the stacked dataset when \code{separate} is \code{FALSE}.} \item{\dots}{further arguments for the \code{write} functions.} } \description{ Writes the imptuted datasets to file from a run of \code{amelia} } \details{ \code{write.amelia} writes the imputed datasets to a file or a set of files using one of the following functions: \code{write.csv}, \code{write.dta}, or \code{write.table}. You can pass arguments to these functions from \code{write.amelia}. When \code{separate} is \code{TRUE}, each imputed dataset is written to its own file. If you were to set \code{file.stem} to \code{"outdata"} and the \code{extension} to \code{".csv"} , then the resulting filename of the written files will be \preformatted{ outdata1.csv outdata2.csv outdata3.csv ... } and so on. When \code{separate} is \code{FALSE}, the function adds a variable called \code{impvar} to each dataset which indicates the imputed dataset to which the row belongs. Then, each of the datasets are stacked together to create one dataset. If \code{orig.data} is \code{TRUE}, then the original, unimputed dataset is included at the top of the stack, with its imputation number set to 0. } \seealso{ \code{\link{write.csv}}, \code{\link{write.table}}, \code{\link[foreign]{write.dta}} } Amelia/man/summary.mi.Rd0000644000176200001440000000072714713157344014624 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/summary.mi.R \name{summary.mi} \alias{summary.mi} \title{Summary of an mi object} \usage{ \method{summary}{mi}(object, ...) } \arguments{ \item{object}{an object of class \code{mi}. Typically, an output from the function \code{amelia}.} \item{...}{further arguments.} } \description{ Returns summary information about the list of multiply imputed data sets } \seealso{ \code{\link{amelia}} } Amelia/man/mi.combine.Rd0000644000176200001440000000377014335240053014532 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/combine.R \name{mi.combine} \alias{mi.combine} \title{Combine results from analyses on imputed data sets} \usage{ mi.combine(x, conf.int = FALSE, conf.level = 0.95) } \arguments{ \item{x}{List of output from statistical models estimated on different imputed data sets, as outputted by \code{with(a.out, expr)} where \code{a.out} is the output of a call to \code{amelia}.} \item{conf.int}{Logical indicating if confidence intervals should be computed for each quantity of interest (default is \code{FALSE}).} \item{conf.level}{The confidence level to use for the confidence interval if \code{conf.level = TRUE}. Defaults to 0.95, which corresponds to a 95 percent confidence interval.} } \value{ Returns a \code{tibble} that contains: \describe{ \item{term}{Name of the coefficient or parameter.} \item{estimate}{Estimate of the parameter, averagine across imputations.} \item{std.error}{Standard error of the estimate, accounting for imputation uncertainty.} \item{statistic}{Value of the t-statistic for the estimated parameter.} \item{p.value}{p-value associated with the test of a null hypothesis that the true coefficient is zero. Uses the t-distribution with an imputation-adjusted degrees of freedom.} \item{df}{Imputation-adjusted degrees of freedom for each parameter.} \item{r}{Relative increase in variance due to nonresponse.} \item{miss.info}{Estimated fraction of missing information.} \item{conf.low}{Lower bound of the estimated confidence interval. Only present if \code{conf.int = TRUE}.} \item{conf.high}{Upper bound of the estimated confidence interval. Only present if \code{conf.int = TRUE}.} } } \description{ Combine results from statistical models run on multiply imputed data sets using the so-called Rubin rules. } \examples{ data(africa) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") imp.mods <- with(a.out, lm(gdp_pc ~ infl + trade)) mi.combine(imp.mods, conf.int = TRUE) } \author{ Matt Blackwell } Amelia/man/summary.amelia.Rd0000644000176200001440000000102414335240021015417 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/summary.amelia.R \name{summary.amelia} \alias{summary.amelia} \title{Summary of an Amelia object} \usage{ \method{summary}{amelia}(object, ...) } \arguments{ \item{object}{an object of class \code{amelia}. Typically, an output from the function \code{amelia}.} \item{...}{further arguments.} } \description{ Returns summary information from the Amelia run along with missingles information. } \seealso{ \code{\link{amelia}}, \code{\link{plot.amelia}} } Amelia/man/transform.amelia.Rd0000644000176200001440000000251314335240021015741 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/transform.amelia.R \name{transform.amelia} \alias{transform.amelia} \title{Transform imputed datasets from Amelia objects} \usage{ \method{transform}{amelia}(`_data`, ...) } \arguments{ \item{_data}{an object of class "amelia"; typically output from the function \code{amelia}.} \item{...}{further arguments of the form \code{tag = value}.} } \value{ An object of class \code{amelia} with its \code{imputations} and \code{missMatrix} values updated according to the transformations. In addition, each of the calls to \code{transform.amelia} are stored in } \description{ Updates the imputed datasets from an \code{amelia} output with the specified transformations. } \details{ The \code{\dots} arugments to \code{transform.amelia} are expressions of the form \code{tag = value}, where \code{tag} is the variable that is being updated or created and \code{value} is an expression that is a function of the variables in the imputed datasets. For instance, if you wanted to create an interaction of two imputed variables, you could have one argument be \code{intervar = var1 * var2}. This would either update the current variable \code{intervar} in the imputed data or append a new variable called \code{intervar} to the imputed datasets. } \seealso{ \code{\link{transform}} } Amelia/man/ameliabind.Rd0000644000176200001440000000231214335240021014561 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/emb.r \name{ameliabind} \alias{ameliabind} \title{Combine multiple runs of Amelia} \usage{ ameliabind(...) } \arguments{ \item{...}{one or more objects of class \code{amelia} with the same arguments and created from the same data.} } \value{ An object of class \code{amelia}. } \description{ Combines multiple runs of \code{amelia} with the same arguments and data into one \code{amelia} object. } \details{ \code{ameliabind} will combine multiple runs of \code{amelia} into one object so that you can utilize diagnostics and modelling on all the imputations together. This function is useful for combining multiple runs of \code{amelia} run on parallel machines. Note that \code{ameliabind} only checks that they arguments and the missingness matrix are identical. Thus, it could be fooled by two datasets that are identical up to a transformation of one variable. } \examples{ data(africa) a1.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") a2.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") all.out <- ameliabind(a1.out, a2.out) summary(all.out) plot(all.out) } \seealso{ \code{\link{amelia}} } Amelia/man/freetrade.Rd0000644000176200001440000000165314335240021014444 0ustar liggesusers\name{freetrade} \docType{data} \alias{freetrade} \title{Trade Policy and Democracy in 9 Asian States} \description{Economic and political data on nine developing countries in Asia from 1980 to 1999. This dataset includes 9 variables including year, country, average tariff rates, Polity IV score, total population, gross domestic product per capita, gross international reserves, a dummy variable for if the country had signed an IMF agreement in that year, a measure of financial openness, and a measure of US hegemony. These data were used in Milner and Kubota (2005).} \usage{freetrade} \format{A data frame with 10 variables and 171 observations.} \source{World Bank, World Trade Organization, Polity IV and others.} \references{Helen Milner and Keiko Kubota (2005), ``Why the move to free trade? Democracy and trade policy in the developing countries.'' \emph{International Organization}, Vol 59, Issue 1.} \keyword{datasets} Amelia/man/with.amelia.Rd0000644000176200001440000000166714335240053014717 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/with.R \name{with.amelia} \alias{with.amelia} \title{Execute commands within each imputed data set} \usage{ \method{with}{amelia}(data, expr, ...) } \arguments{ \item{data}{imputation output from the \code{amelia} funtion.} \item{expr}{expression to evaluate in each imputed data set in \code{data}.} \item{...}{arguments to be passed to (future) methods.} } \value{ a list the same length as \code{data$imputations} that contains the output of the expression as evaluated in each imputed data set of \code{data}. } \description{ Evaluate an R expression in the environments constructed from the imputed data sets of a call to \code{amelia} function. } \examples{ data(africa) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") imp.mods <- with(a.out, lm(gdp_pc ~ infl + trade)) mi.combine(imp.mods, conf.int = TRUE) } \author{ Matt Blackwell } Amelia/man/moPrep.Rd0000644000176200001440000000733614335240053013756 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/mo.R \name{moPrep} \alias{moPrep} \alias{moPrep.molist} \alias{moPrep.default} \title{Prepare Multiple Overimputation Settings} \usage{ moPrep( x, formula, subset, error.proportion, gold.standard = !missing(subset), error.sd ) \method{moPrep}{molist}(x, formula, subset, error.proportion, gold.standard = FALSE, error.sd) \method{moPrep}{default}( x, formula, subset, error.proportion, gold.standard = !missing(subset), error.sd ) } \arguments{ \item{x}{either a matrix, data.frame, or a object of class "molist" from a previous \code{moPrep} call. The first two derive the priors from the data given, and the third will derive the priors from the first \code{moPrep} call and add them to the already defined priors.} \item{formula}{a formula describing the nature of the measurement error for the variable. See "Details."} \item{subset}{an optional vector specifying a subset of observations which possess measurement error.} \item{error.proportion}{an optional vector specifying the fraction of the observed variance that is due to measurement error.} \item{gold.standard}{a logical value indicating if values with no measurement error should be used to estimate the measurement error variance.} \item{error.sd}{an optional vector specifying the standard error of the measurement error.} } \value{ An instance of the S3 class "molist" with the following objects: \itemize{ \item priors a four-column matrix of the multiple overimputation priors associated with the data. Each row of the matrix is \code{c(row,column, prior.mean, prior.sd)} \item overimp a two-column matrix of cells to be overimputed. Each row of the matrix is of the form \code{c(row, column)}, which indicate the row and column of the cell to be overimputed. \item data the object name of the matrix or data.frame to which priors refer. } Note that \code{priors} and \code{overimp} might contain results from multiple calls to \code{moPrep}, not just the most recent. } \description{ A function to generate priors for multiple overimputation of a variable measured with error. } \details{ This function generates priors for multiple overimputation of data measured with error. With the \code{formula} arugment, you can specify which variable has the error, what the mean of the latent data is, and if there are any other proxy measures of the mismeasured variable. The general syntax for the formula is: \code{errvar ~ mean | proxy}, where \code{errvar} is the mismeasured variable, \code{mean} is a formula for the mean of the latent variable (usually just \code{errvar} itself), and \code{proxy} is a another mismeasurement of the same latent variable. The proxies are used to estimate the variance of the measurement error. \code{subset} and \code{gold.standard} refer to the the rows of the data which are and are not measured with error. Gold-standard rows are used to estimate the variance of the measurement. error. \code{error.proportion} is used to estimate the variance of the measurement error by estimating the variance of the mismeasurement and taking the proportion assumed to be due to error. \code{error.sd} sets the standard error of the measurement error directly. } \section{Methods (by class)}{ \itemize{ \item \code{moPrep(molist)}: Alter existing moPrep output \item \code{moPrep(default)}: Default call to moPrep }} \examples{ data(africa) m.out <- moPrep(africa, trade ~ trade, error.proportion = 0.1) a.out <- amelia(m.out, ts = "year", cs = "country") plot(a.out) m.out <- moPrep(africa, trade ~ trade, error.sd = 1) a.out <- amelia(m.out, ts = "year", cs = "country") } \seealso{ \code{\link{amelia}} } Amelia/man/combine.output.Rd0000644000176200001440000000161414335240021015453 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/prep.r \name{combine.output} \alias{combine.output} \title{Combine Multiple Amelia Output Lists} \usage{ combine.output(...) } \arguments{ \item{...}{a list of Amelia output lists from runs of Amelia with the same arguments except the number of imputations.} } \description{ This function combines output lists from multiple runs of Amelia, where each run used the same arguments. The result is one list, formatted as if Amelia had been run once. } \details{ This function is useful for combining the output from Amelia runs that occurred at different times or in different sessions of R. It assumes that the arguments given to the runs of Amelia are the same except for \code{m}, the number of imputations, and it uses the arguments from the first output list as the arguments for the combined output list. } \keyword{utilities} Amelia/man/compare.density.Rd0000644000176200001440000000421514335240021015604 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/diag.r \name{compare.density} \alias{compare.density} \title{Compare observed versus imputed densities} \usage{ compare.density( output, var, col = c("indianred", "dodgerblue"), scaled = FALSE, lwd = 1, main, xlab, ylab, legend = TRUE, frontend = FALSE, ... ) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{var}{column number or variable name of the variable to plot.} \item{col}{a vector of length 2 containing the color to plot the (1) imputed density and (2) the observed density.} \item{scaled}{a logical indicating if the two densities should be scaled to reflect the difference in number of units in each.} \item{lwd}{the line width of the density plots.} \item{main}{main title of the plot. The default is to title the plot using the variable name.} \item{xlab}{the label for the x-axis. The default is the name of the variable.} \item{ylab}{the label for the y-axis. The default is "Relative Density."} \item{legend}{a logical value indicating if a legend should be plotted.} \item{frontend}{a logical value used internally for the Amelia GUI.} \item{...}{further graphical parameters for the plot.} } \description{ Plots smoothed density plots of observed and imputed values from output from the \code{amelia} function. } \details{ This function first plots a density plot of the observed units for the variable \code{var} in \code{col[2]}. The the function plots a density plot of the mean or modal imputations for the missing units in \code{col[1]}. If a variable is marked "ordinal" or "nominal" with the \code{ords} or \code{noms} options in \code{amelia}, then the modal imputation will be used. If \code{legend} is \code{TRUE}, then a legend is plotted as well. } \examples{ data(africa) } \references{ Abayomi, K. and Gelman, A. and Levy, M. 2005 "Diagnostics for Multivariate Imputations," \emph{Applied Statistics}. 57,3: 273--291. } \seealso{ For more information on how densities are computed, \code{\link{density}}; Other imputation diagnostics are \code{\link{overimpute}}, \code{\link{disperse}}, and \code{\link{tscsPlot}}. } Amelia/DESCRIPTION0000644000176200001440000000417214713260072013156 0ustar liggesusersPackage: Amelia Version: 1.8.3 Date: 2024-11-07 Title: A Program for Missing Data Authors@R: c( person("James", "Honaker", email = "james@hona.kr", role = c("aut")), person("Gary", "King", email = "king@harvard.edu", role = c("aut")), person("Matthew", "Blackwell", email = "mblackwell@gmail.com", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-3689-9527")) ) Depends: R (>= 3.0.2), Rcpp (>= 0.11) Imports: foreign, utils, grDevices, graphics, methods, stats, rlang LinkingTo: Rcpp (>= 0.11), RcppArmadillo Description: A tool that "multiply imputes" missing data in a single cross-section (such as a survey), from a time series (like variables collected for each year in a country), or from a time-series-cross-sectional data set (such as collected by years for each of several countries). Amelia II implements our bootstrapping-based algorithm that gives essentially the same answers as the standard IP or EMis approaches, is usually considerably faster than existing approaches and can handle many more variables. Unlike Amelia I and other statistically rigorous imputation software, it virtually never crashes (but please let us know if you find to the contrary!). The program also generalizes existing approaches by allowing for trends in time series across observations within a cross-sectional unit, as well as priors that allow experts to incorporate beliefs they have about the values of missing cells in their data. Amelia II also includes useful diagnostics of the fit of multiple imputation models. The program works from the R command line or via a graphical user interface that does not require users to know R. License: GPL (>= 2) URL: https://gking.harvard.edu/amelia Suggests: tcltk, broom, rmarkdown, knitr VignetteBuilder: knitr RoxygenNote: 7.3.2 Encoding: UTF-8 LazyData: true NeedsCompilation: yes Packaged: 2024-11-07 16:12:17 UTC; mblackwell Author: James Honaker [aut], Gary King [aut], Matthew Blackwell [aut, cre] () Maintainer: Matthew Blackwell Repository: CRAN Date/Publication: 2024-11-08 00:50:02 UTC