genefilter/.Rinstignore0000644000175200017520000000002714136046744016234 0ustar00biocbuildbiocbuilddoc/whbiocvignette.sty genefilter/DESCRIPTION0000644000175200017520000000216114136071504015427 0ustar00biocbuildbiocbuildPackage: genefilter Title: genefilter: methods for filtering genes from high-throughput experiments Version: 1.76.0 Author: Robert Gentleman, Vincent J. Carey, Wolfgang Huber, Florian Hahne Description: Some basic functions for filtering genes. Maintainer: Bioconductor Package Maintainer Suggests: class, hgu95av2.db, tkWidgets, ALL, ROC, RColorBrewer, BiocStyle, knitr Imports: BiocGenerics, AnnotationDbi, annotate, Biobase, graphics, methods, stats, survival, grDevices License: Artistic-2.0 LazyLoad: yes LazyData: yes Collate: AllClasses.R AllGenerics.R all.R dist2.R eSetFilter.R fastT.R filter_volcano.R filtered_p.R genefinder.R half.range.mode.R kappa_p.R nsFilter.R rejection_plot.R rowROC-accessors.R rowSds.R rowpAUCs-methods.R rowttests-methods.R shorth.R zzz.R biocViews: Microarray VignetteBuilder: knitr git_url: https://git.bioconductor.org/packages/genefilter git_branch: RELEASE_3_14 git_last_commit: 8d630fd git_last_commit_date: 2021-10-26 Date/Publication: 2021-10-26 NeedsCompilation: yes Packaged: 2021-10-26 21:29:40 UTC; biocbuild genefilter/NAMESPACE0000644000175200017520000000500714136046744015152 0ustar00biocbuildbiocbuilduseDynLib(genefilter) importClassesFrom(Biobase, ExpressionSet) importClassesFrom(methods, ANY, character, factor, matrix, missing, numeric, vector) importMethodsFrom(AnnotationDbi, as.list, colnames, get, mget, ncol, nrow, sample, dbmeta) importMethodsFrom(Biobase, annotation, exprs, featureNames, pData, rowQ, varLabels) importMethodsFrom(methods, "body<-", show) importFrom(BiocGenerics, rowSums, colSums, rowMeans, colMeans) importFrom(Biobase, addVigs2WinMenu, subListExtract) importFrom(annotate, getAnnMap) importFrom(graphics, abline, lines, par, plot, points, polygon, rect, strheight, strwidth, text, legend, segments) importFrom(grDevices, rainbow) importFrom(methods, is, new) importFrom(stats, IQR, anova, lm, pchisq, pf, pt, quantile, sd, t.test, na.omit, p.adjust, qt, stepfun) importFrom(survival, coxph) export(Anova, coxfilter, cv, eSetFilter, varFilter, featureFilter, fastT, ttest, shorth, half.range.mode, rowttests, colttests, rowFtests, colFtests, rowSds, rowVars, dist2, filterfun, findLargest, gapFilter, genefilter, genescale, getFilterNames, getFuncDesc, getRdAsText, isESet, kOverA, maxA, pOverA, parseArgs, parseDesc, setESetArgs, showESet, kappa_t, kappa_p, filtered_p, filtered_R, rejection_plot, filter_volcano) exportClasses(rowROC) exportMethods(genefinder, show, plot, "[", sens, spec, area, pAUC, AUC, rowpAUCs, nsFilter) genefilter/NEWS0000644000175200017520000000053014136046744014426 0ustar00biocbuildbiocbuildCHANGES IN VERSION 1.64.0 ------------------------- NEW FEATURES o Add `na.rm =` to row/colttests, requested by https://github.com/Bioconductor/genefilter/issues/1 CHANGES IN VERSION 1.54.0 ------------------------- DEPRECATED AND DEFUNCT o remove deprecated anyNA(); contradicted base::anyNA o remove deprecated allNA() genefilter/R/0000755000175200017520000000000014136046744014132 5ustar00biocbuildbiocbuildgenefilter/R/AllClasses.R0000644000175200017520000000332714136046744016310 0ustar00biocbuildbiocbuild## Classes for package genefilter ## ========================================================================== ## class rowROC: objects model result of call to function rowpAUCs, ## pAUC or AUC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setClass("rowROC", representation(data = "matrix", ranks = "matrix", sens = "matrix", spec = "matrix", pAUC = "numeric", AUC = "numeric", factor = "factor", cutpoints = "matrix", caseNames = "character", p = "numeric"), validity=function(object){ if(any(dim(object@sens) != dim(object@spec))) return("\n'sens' and 'spec' must be matrices with equal dimensions") if(length(object@pAUC) != nrow(object@sens)) return("\n'pAUC' must be numeric of length equal to nrow(sens)") if(length(object@factor)!=ncol(object@data) || length(levels(object@factor))!=2) return("'factor' must be factor object with two levels and length = ncol(data)") if(length(object@pAUC) != length(object@AUC)) return("'pAUC' and 'AUC' must be numeric vectors of equal length") if(nrow(object@cutpoints) != length(object@pAUC)) return("'cutpoints' must be matrix with nrow=length(pAUC)") if(length(object@caseNames)!=2) return("'caseNames' must be character vector of length 2") return(TRUE) } ) ## ========================================================================== genefilter/R/AllGenerics.R0000644000175200017520000000306414136046744016450 0ustar00biocbuildbiocbuild## Generic functions for package genefilter setGeneric("rowFtests", function(x, fac, var.equal=TRUE) standardGeneric("rowFtests")) setGeneric("colFtests", function(x, fac, var.equal=TRUE) standardGeneric("colFtests")) setGeneric("rowttests", function(x, fac, tstatOnly=FALSE, na.rm = FALSE) standardGeneric("rowttests")) setGeneric("colttests", function(x, fac, tstatOnly=FALSE, na.rm = FALSE) standardGeneric("colttests")) setGeneric("genefinder", function(X, ilist, numResults=25, scale="none", weights, method="euclidean" ) standardGeneric("genefinder")) setGeneric("pAUC", function(object, p, flip=TRUE) standardGeneric("pAUC")) setGeneric("AUC", function(object) standardGeneric("AUC")) setGeneric("sens", function(object) standardGeneric("sens")) setGeneric("spec", function(object) standardGeneric("spec")) setGeneric("area", function(object, total=FALSE) standardGeneric("area")) setGeneric("rowpAUCs", function(x, fac, p=0.1, flip=TRUE, caseNames=c("1", "2")) standardGeneric("rowpAUCs")) setGeneric("nsFilter", signature="eset", function(eset, require.entrez=TRUE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, require.CytoBand=FALSE, remove.dupEntrez=TRUE, var.func=IQR, var.cutoff=0.5, var.filter=TRUE, filterByQuantile=TRUE, feature.exclude="^AFFX", ...) standardGeneric("nsFilter")) genefilter/R/all.R0000644000175200017520000001031714136046744015027 0ustar00biocbuildbiocbuild#copyright 2001 R. Gentleman #FILTER FUNCTIONS -- some trivial changes kOverA <- function(k, A=100, na.rm = TRUE) { function(x) { if(na.rm) x <- x[!is.na(x)] sum( x > A ) >= k } } maxA <- function(A=75, na.rm=TRUE) { function(x) {max(x, na.rm=na.rm) >= A } } pOverA <- function(p=0.05, A=100, na.rm = TRUE) { function(x) { if(na.rm) x<-x[!is.na(x)] sum( x > A )/length(x) >= p } } cv <- function(a=1, b=Inf, na.rm=TRUE) { function(x) { sdx <- sd(x, na.rm=na.rm) if(is.na(sdx) || sdx == 0 ) return(FALSE) val <- sdx/abs(mean(x, na.rm=na.rm)) if(val < a ) return(FALSE) if(val > b ) return(FALSE) return(TRUE) } } Anova <- function(cov, p=0.05, na.rm=TRUE) { function(x) { if( na.rm ) { drop <- is.na(x) x <- x[!drop] cov <- cov[!drop] } m1 <- lm(x~cov) m2 <- lm(x~1) av <- anova(m2,m1) fstat <- av[["Pr(>F)"]][2] if( fstat < p ) return(TRUE) return(FALSE) } } coxfilter <- function(surt, cens, p) { autoload("coxph", "survival") function(x) { srvd <- try(coxph(Surv(surt,cens)~x)) if( inherits(srvd, "try-error") ) return(FALSE) ltest <- -2*(srvd$loglik[1] - srvd$loglik[2]) pv <- 1 - pchisq(ltest, 1) if( pv < p ) return(TRUE) return(FALSE) } } ttest <- function(m, p=0.05, na.rm=TRUE) { if( length(m) == 1) function(x) { n <- length(x) if( m>n ) stop("m is larger than the number of samples") sub1 <- x[1:m] sub2 <- x[(m+1):n] if(na.rm) { drop <- is.na(x) sub1 <- sub1[!drop[1:m]] sub2 <- sub2[!drop[(m+1):n]] } t.test(sub1, sub2 )$p.value < p } else function(x) { if(na.rm) { drop <- is.na(x) | is.na(m) x<- x[!drop] m<- m[!drop] } t.test(x~m)$p.value < p } } ##a filter based on gaps gapFilter <- function(Gap, IQR, Prop, na.rm=TRUE, neg.rm=TRUE) { function(x) { if(na.rm) x <- x[!is.na(x)] if(neg.rm) x <- x[x>0] lenx <- length(x) if( lenx < 4 || lenx < Prop+1 ) return(FALSE) srtd <- sort(x) lq <- lenx*.25 uq <- lenx*.75 if( (srtd[uq] - srtd[lq]) > IQR ) return(TRUE) if(Prop < 1) bot <- lenx*Prop else bot <- Prop top <- lenx - bot lag1 <- srtd[2:lenx]-srtd[1:(lenx-1)] if( max(lag1[bot:top]) > Gap ) return(TRUE) return(FALSE) } } # Apply type functions genefilter <- function(expr, flist) { if(is(expr, "ExpressionSet")) expr <- exprs(expr) apply(expr, 1, flist) } filterfun <- function(...) { flist <- list(...) #let the user supply a list if( length(flist) == 1 && is.list(flist[[1]]) ) flist <- flist[[1]] f <- function( x ) { for( fun in flist ) { fval <- fun(x) if( is.na(fval) || ! fval ) return(FALSE) } return(TRUE) } class(f) <- "filterfun" return(f) } .findDBMeta <- function(chip, item) { connfunc <- getAnnMap("_dbconn", chip) dbmeta(connfunc(), item) } .isOrgSchema <- function(chip){ schema <- .findDBMeta(chip, "DBSCHEMA") length(grep("CHIP", schema)) == 0 } .findCentralMap<- function(chip){ centID <- .findDBMeta(chip, "CENTRALID") if(!.isOrgSchema(chip) && centID == "TAIR") { "ACCNUM" ## a peculiar exception with historical causes } else { centID ## should cover EVERYTHING else } } findLargest = function(gN, testStat, data="hgu133plus2") { lls = if(.isOrgSchema(data)){ gN ##not a chip package so try the IDs presented. } else { map = .findCentralMap(data) unlist(mget(gN, getAnnMap(map, data)), use.names=FALSE) } if(length(testStat) != length(gN) ) stop("testStat and gN must be the same length") if( is.null(names(testStat)) ) names(testStat) = gN tSsp = split.default(testStat, lls) sapply(tSsp, function(x) names(which.max(x))) } genefilter/R/dist2.R0000644000175200017520000000114414136046744015302 0ustar00biocbuildbiocbuilddist2 = function (x, fun = function(a, b) mean(abs(a - b), na.rm = TRUE), diagonal = 0) { if (!(is.numeric(diagonal) && (length(diagonal) == 1))) stop("'diagonal' must be a numeric scalar.") if (missing(fun)) { res = apply(x, 2, function(w) colMeans(abs(x-w), na.rm=TRUE)) } else { res = matrix(diagonal, ncol = ncol(x), nrow = ncol(x)) if (ncol(x) >= 2) { for (j in 2:ncol(x)) for (i in 1:(j - 1)) res[i, j] = res[j, i] = fun(x[, i], x[, j]) } # if } # else colnames(res) = rownames(res) = colnames(x) return(res) } genefilter/R/eSetFilter.R0000644000175200017520000003034314136046744016326 0ustar00biocbuildbiocbuild# This widget allows users to pick filters in the order they are going # to be used to filer genes and set the parameters for # each filter. # # Copyright 2003, J. Zhang. All rights reserved. # eSetFilter <- function(eSet){ # # 2020-12-31 Wolfgang Huber: marking this as deprecated due to dubious coding style # (leading to many notes in R CMD check), lack of maintenance, apparently minuscule # update (e.g. I did not find a single mention of this function with # https://support.bioconductor.org/post/search/?query=esetfilter today) and # availability of better alternatives. # .Deprecated(new = "iSEE", old = "eSetFilter") require("tkWidgets", character.only = TRUE) || stop("eSetFilter requires the tkWidgets ", "package. Please have it installed") descList <- getFuncDesc() buildGUI <- function(){ END <<- FALSE selectedNames <- NULL filterWithArgs <- list() setFilter <- function(){ currentFilter <- as.character(tkget(filters, (tkcurselection(filters)))) args <- setESetArgs(currentFilter) if(!is.null(args)){ expression <- paste(currentFilter, "(", paste(names(args), args, sep = "=", collapse = ","), ")", sep = "") filterWithArgs[[currentFilter]] <<- eval(parse(text = expression)) selectedNames <<- unique(c(selectedNames, currentFilter)) writeList(pickedF, selectedNames) tkconfigure(selectBut, state = "disabled") } } cancel <- function(){ tkdestroy(base) } finish <- function(){ END <<- TRUE tkdestroy(base) } viewFilter <- function(){ currentFilter <- as.character(tkget(filters, (tkcurselection(filters)))) tkconfigure(description, state = "normal") writeText(description, descList[[currentFilter]]) tkconfigure(description, state = "disabled") tkconfigure(selectBut, state = "normal") } pickedSel <- function(){ tkconfigure(remBut, state = "normal") } remove <- function(){ filter <- as.character(tkget(pickedF, (tkcurselection(pickedF)))) selectedNames <<- setdiff(selectedNames, filter) writeList(pickedF, selectedNames) tkconfigure(remBut, state = "disabled") } base <- tktoplevel() tktitle(base) <- "BioC Filter Master" # Pack the top frame with a brief description introText <- tktext(base, width = 30, height = 4, wrap = "word") text <- paste("Bioconductor's gene filtering functons are", "listed below. Select one from the list to view the", "description and formal arguments for each filter.", "A filter can be selected to the set of filters", "for filtering genes using the select button.") writeText(introText, text) tkconfigure(introText, state = "disabled") tkpack(introText, expand = FALSE, fill = "both", padx = 5) # Pack a frame with a list box for selected filters and # buttons manipulate the selected filters infoFrame <- tkframe(base) filterFrame <- tkframe(infoFrame) tkpack(tklabel(filterFrame, text = "Filters"), expand = FALSE, fill = "x") listFrame <- tkframe(filterFrame) filters <- makeViewer(listFrame, vHeight = 10, vWidth = 12, vScroll = TRUE, hScroll = TRUE, what = "list") tkbind(filters, "", viewFilter) tkbind(filters, "", setFilter) writeList(filters, getFilterNames()) tkpack(listFrame, expand = TRUE, fill = "both") selectBut <- tkbutton(filterFrame, text = "Select", command = setFilter, state = "disabled") tkpack(selectBut, expand = FALSE, fill = "x") tkpack(filterFrame, side = "left", expand = FALSE, fill = "both") descFrame <- tkframe(infoFrame) tkpack(tklabel(descFrame, text = "Description"), expand = FALSE, fill = "x") dListFrame <- tkframe(descFrame) description <- makeViewer(dListFrame, vHeight = 10, vWidth = 30, vScroll = TRUE, hScroll = TRUE, what = "text") tkconfigure(description, wrap = "word", state = "disabled") tkpack(dListFrame, expand = TRUE, fill = "both") tkpack(descFrame, side = "left", expand = TRUE, fill = "both") selFrame <- tkframe(infoFrame) tkpack(tklabel(selFrame, text = "Selected"), expand = FALSE, fill = "x") selFFrame <- tkframe(selFrame) pickedF <- makeViewer(selFFrame, vHeight = 10, vWidth = 12, vScroll = TRUE, hScroll = TRUE, what = "list") tkbind(pickedF, "", pickedSel) tkbind(pickedF, "", remove) tkpack(selFFrame, expand = TRUE, fill = "both") remBut <- tkbutton(selFrame, text = "Remove", command = remove, state = "disabled") tkpack(remBut, expand = FALSE, fill = "x") tkpack(selFrame, expand = FALSE, fill = "both") tkpack(infoFrame, expand = TRUE, fill = "both", padx = 5) # Pack the bottom frame with cancel and finish buttons endFrame <- tkframe(base) cancelBut <- tkbutton(endFrame, width = 8, text = "Cancel", command = cancel) tkpack(cancelBut, side = "left", expand = TRUE, fill = "x", padx = 10) finishBut <- tkbutton(endFrame, width = 8, text = "finish", command = finish) tkpack(finishBut, side = "left", expand = TRUE, fill = "x", padx = 10) tkpack(endFrame, expand = FALSE, fill = "x", pady = 5) showESet(eSet) tkwait.window(base) if(END){ tempList <- list() for(i in selectedNames){ tempList[[i]] <- filterWithArgs[[i]] } return(tempList) }else{ return(NULL) } } filters <- buildGUI() if(!is.null(filters)){ filters <- filterfun(unlist(filters)) return(genefilter(exprs(eSet), filters)) }else{ return(NULL) } } getFilterNames <- function(){ .Deprecated() return(sort(c("Anova", "coxfilter", "cv", "gapFilter", "kOverA", "maxA", "pOverA", "ttest"))) } getFuncDesc <- function(lib = "genefilter", funcs = getFilterNames()){ .Deprecated() descList <- list() lines <- getRdAsText(lib) for(i in funcs){ rd <- lines[grep(paste("\\\\name\\{", i, "\\}", sep = ""), lines)] desc <- parseDesc(rd) args <- parseArgs(rd) if(length(args) > 0){ temp <- "\n\nArguments:" for(j in names(args)){ temp <- c(temp, paste(j, "-", args[[j]])) } args <- paste(temp, sep = "", collapse = "\n") } descList[[i]] <- paste(desc, args, sep = "", collapse = "") } return(descList) } getRdAsText <- function(lib){ .Deprecated() fileName <- gzfile(file.path(.path.package(lib), "man", paste(lib, ".Rd.gz", sep = "")), open = "r") lines <- readLines(fileName) lines <- paste(lines, sep = "", collapse = " ") lines <- unlist(strsplit(lines, "\\\\eof")) return(lines) } parseDesc <- function(text){ .Deprecated() descRExp <- ".*\\\\description\\{(.*)\\}.*\\\\usage\\{.*" text <- gsub(descRExp, "\\1", text) text <- gsub("(\\\\[a-zA-Z]*\\{|\\})", "", text) return(text) } parseArgs <- function(text){ .Deprecated() argsList <- list() text <- gsub(".*\\\\arguments\\{(.*)\\}.*\\\\details\\{.*", "\\1", text) text <- gsub(".*\\\\arguments\\{(.*)\\}.*\\\\value\\{.*", "\\1", text) text <- unlist(strsplit(text, "\\\\item\\{")) text <- gsub("(\\\\[a-zA-Z]*\\{|\\})", "", text) for(i in text){ i <- unlist(strsplit(i, "\\{")) if(length(i) > 1){ argsList[[i[1]]] <- i[2] } } return(argsList) } showESet <- function(eSet){ .Deprecated() end <- function(){ tkdestroy(base) } if(!is(eSet, "eSet")){ stop() } colNRow <- dim(exprs(eSet)) vl <- varLabels(eSet) text <- c(paste("Genes: ", colNRow[1]), paste("Samples: ", colNRow[2], sep = ""), "Variable labels:", paste(names(vl), ": ", vl[1:length(vl)], sep = "")) base <- tktoplevel() tktitle(base) <- "BioC ExpressionSet viewer" dataDescFrame <- tkframe(base) data <- makeViewer(dataDescFrame, vHeight = 10, vWidth = 25, vScroll = TRUE, hScroll = TRUE, what = "list") writeList(data, text) tkpack(dataDescFrame, expand = TRUE, fill = "both") endBut <- tkbutton(base, text = "Finish", command = end) tkpack(endBut, expand = FALSE, fill = "x", pady = 5) } setESetArgs <- function(filter){ .Deprecated() on.exit(tkdestroy(base)) cancel <- function(){ tkdestroy(base) } end <- function(){ END <<- TRUE tkdestroy(base) } END <- FALSE argsVar <- list() desc <- list() entries <- list() ftFun <- list() args <- getRdAsText("genefilter") args <- args[grep(paste("\\\\name\\{", filter, "\\}", sep = ""), args)] args <- parseArgs(args) argValues <- formals(filter) base <- tktoplevel() tktitle(base) <- "BioC Filter Argument input" tkgrid(tklabel(base, text = "Arguments"), tklabel(base, text = "Descriptions"), tklabel(base, text = "Values")) for(i in names(args)){ argsVar[[i]] <- tclVar(as.character(argValues[[i]])) tempFrame <- tkframe(base) desc[[i]] <- makeViewer(tempFrame, vHeight = 3, vWidth = 55, vScroll = FALSE, hScroll = FALSE, what = "text") writeText(desc[[i]], args[[i]]) tkconfigure(desc[[i]], wrap = "word", state = "disabled") entries[[i]] <- tkentry(base, textvariable = argsVar[[i]], width = 10) tkgrid(tklabel(base, text = i), tempFrame, entries[[i]]) if(any(as.character(argValues[[i]]) == c("FALSE", "TRUE"))){ ftFun[[i]] <- function(){} body <- list(as.name("{"), substitute(eval(if(tclvalue(argsVar[[j]]) == "TRUE"){ writeList(entries[[j]], "FALSE")}else{ writeList(entries[[j]], "TRUE")}), list(j = i))) body(ftFun[[i]]) <- as.call(body) tkbind(entries[[i]],"", ftFun[[i]]) } tkgrid.configure(tempFrame, sticky = "eswn") } butFrame <- tkframe(base) canBut <- tkbutton(butFrame, text = "cancel", width = 8, command = cancel) endBut <- tkbutton(butFrame, text = "Finish", width = 8, comman = end) tkpack(canBut, side = "left", expand = FALSE, fill = "x") tkpack(endBut, side = "left", expand = FALSE, fill = "x") tkgrid(butFrame, columnspan = 3) tkwait.window(base) if(END){ for(i in names(argValues)){ argValues[[i]] <- tkWidgets:::formatArg(tclvalue(argsVar[[i]])) } return(argValues) }else{ return(NULL) } } isESet <- function(eSet){ .Deprecated() if(missing(eSet) || (!is(eSet, "ExpressionSet"))) { tkmessageBox(title = "Input Error", message = paste("filterMaster has to take", "an object of class ExpressionSet"), icon = "warning", type = "ok") return(FALSE) }else{ return(TRUE) } } genefilter/R/fastT.R0000644000175200017520000000200414136046744015332 0ustar00biocbuildbiocbuild ##FIXME: this could replace the code further below at some point, ## but only when it has the var.equal option ##-------------------------------------------------- ## fastT ##-------------------------------------------------- #fastT = function(x, ig1, ig2, var.equal=TRUE) { # fac = rep(NA, ncol(x)) # fac[ig1] = 0 # fac[ig2] = 1 # .Call("rowcolttests", x, as.integer(fac), as.integer(2), # as.integer(0), PACKAGE="genefilter") #} fastT = function(x, ig1, ig2, var.equal=TRUE) { ng1=length(ig1) ng2 = length(ig2) if( ncol(x) != ng1+ng2) stop("wrong sets of columns") outd = x[,c(ig1, ig2),drop=FALSE] nr = nrow(outd) z = rep(0, nr) dm = rep(0, nr) Z = .Fortran("fastt", d=as.single(outd), as.integer(nr), as.integer(ng1+ng2), as.integer(ng1), z = as.single(z), dm = as.single(dm), var.equal=as.integer(var.equal), ratio = as.integer(as.integer(0)), PACKAGE="genefilter") return(list(z = Z$z, dm=Z$dm, var.equal=Z$var.equal)) } genefilter/R/filter_volcano.R0000644000175200017520000000300714136046744017263 0ustar00biocbuildbiocbuildfilter_volcano <- function( d, p, S, n1, n2, alpha, S_cutoff, cex = .5, pch = 19, xlab = expression( paste( log[2], " fold change" ) ), ylab = expression( paste( "-", log[10], " p" ) ), cols = c( "grey80", "grey50", "black" ), ltys = c( 1, 3 ), use_legend = TRUE, ... ) { f <- S < S_cutoff col <- rep( cols[1], length(d) ) col[ !f & p >= alpha ] <- cols[2] col[ !f & p < alpha ] <- cols[3] plot( d, -log10( p ), cex = cex, pch = pch, xlab = xlab, ylab = ylab, col = col, ... ) k_grid <- seq( 0, max( -log10( p ) ), length = 100 ) p_grid <- 10^( -k_grid ) lines( kappa_p( p_grid, n1, n2 ) * S_cutoff, k_grid, lty = ltys[1] ) lines( -1 * kappa_p( p_grid, n1, n2 ) * S_cutoff, k_grid, lty = ltys[1] ) segments( c( par("usr")[1], kappa_p( alpha, n1, n2 ) * S_cutoff ), -log10( alpha ), c( -kappa_p( alpha, n1, n2 ) * S_cutoff, par("usr")[2] ), -log10( alpha ), lty = ltys[2] ) if ( use_legend ) legend( "topleft", c( "Filtered", "Insig.", "Sig." ), pch = pch, col = cols, inset = .025, bg = "white" ) } genefilter/R/filtered_p.R0000644000175200017520000000141614136046744016374 0ustar00biocbuildbiocbuildfiltered_p <- function( filter, test, theta, data, method = "none" ) { if ( is.function( filter ) ) U1 <- filter( data ) else U1 <- filter cutoffs <- quantile( U1, theta ) result <- matrix( NA_real_, length( U1 ), length( cutoffs ) ) colnames( result ) <- names( cutoffs ) for ( i in 1:length( cutoffs ) ) { use <- U1 >= cutoffs[i] if( any( use ) ) { if( is.function( test ) ) U2 <- test( data[use,] ) else U2 <- test[use] result[use,i] <- p.adjust( U2, method ) } } return( result ) } filtered_R <- function( alpha, filter, test, theta, data, method = "none" ) { p <- filtered_p( filter, test, theta, data, method ) return( apply( p, 2, function(x) sum( x < alpha, na.rm = TRUE ) ) ) } genefilter/R/genefinder.R0000644000175200017520000001016614136046744016367 0ustar00biocbuildbiocbuild# genefinder.R # # genefinder functions. genescale <- function (m, axis=2, method=c("Z", "R"), na.rm=TRUE) { ##scale by the range RscaleVector <- function(v, na.rm) { mm <- range(v, na.rm=na.rm) (v - mm[1]) / (mm[2] - mm[1]) } ##scale using Zscore ZscaleVector <- function(v, na.rm) (v - mean(v, na.rm=na.rm))/sd(v, na.rm=na.rm) # # scales a matrix using the scaleVector function. # which <- match.arg(method) method <- switch(which, Z = ZscaleVector, R = RscaleVector) if( is.matrix(m) || is.data.frame(m) ) { rval <- apply (m, axis, method, na.rm=na.rm) if( axis==1 ) return(t(rval)) return(rval) } else method(m, na.rm=na.rm) } setMethod("genefinder", c("ExpressionSet", "vector", "ANY", "ANY", "ANY", "ANY"), function(X, ilist, numResults, scale, weights, method) { gN <- featureNames(X) if (is.character(ilist)) ilist <- match(ilist,gN) ans <- genefinder(exprs(X), ilist, numResults, scale, weights, method=method) names(ans) <- gN[ilist] ans }) setMethod("genefinder", c("matrix", "vector", "ANY", "ANY", "ANY", "ANY"), function (X, ilist, numResults, scale, weights, method) { X <- as.matrix(X) METHOD <- c("euclidean", "maximum", "manhattan", "canberra", "correlation", "binary") method<-pmatch(method, METHOD) if (is.na(method)) stop ("The distance method is invalid.") SCALE <- c("none", "range", "zscore") scale <- SCALE[pmatch(scale, SCALE)] # perform scaling if requested. # X <- switch(scale, none=X, range=genescale(X), zscore=scale(X), stop("The scaling method is invalid") ) N <- nrow(X) C <- ncol(X) if( !is.vector(ilist) ) stop("the genes to be compared to must be in a vector") ninterest <- length(ilist); if( is.character(ilist) ) { iRows <- match(ilist, row.names(X)) names(iRows) <- ilist } else if ( is.numeric(ilist) ) { iRows <- ilist names(iRows) <- row.names(X)[ilist] } else stop("invalid genes selected") if( any(is.na(iRows)) ) stop("invalid genes selected") if (missing(weights)) weights <- rep(1,C) else if (length(weights) != C) stop("Supplied weights do not match number of columns") ## Do a sanity check on the requested genes in ilist -> if the ## gene exceeds the # of rows in the matrix, can not be processed. if (max(iRows) > N) stop("Requested genes exceed the dimensions of the supplied matrix.") Genes <- array(as.integer(NA), dim=c(ninterest, numResults)) Dists <- array(as.integer(NA), dim=c(ninterest, numResults)) extCall <- .C("gf_distance", X = as.double(X), nr= as.integer(N), nc= ncol(X), g = as.integer(Genes), d = as.double(Dists), iRow = as.integer(iRows), nInterest = as.integer(ninterest), nResults = as.integer(numResults), method= as.integer(method), weights = as.double(weights), NAOK=TRUE, PACKAGE="genefilter") Genes <- extCall$g+1 Dists <- extCall$d Which <- vector() ## Get the number of genes/dists per selection. There should ## always be a number of total genes such that they are a multiple ## of ninterest numPerList <- length(Genes) / ninterest Which <- rep(iRows, rep(numPerList, ninterest)) byGene <- split(Genes, Which) names(byGene) <- rep("indices", length(byGene)) byDists <- split(Dists, Which) names(byDists) <- rep("dists", length(byDists)) ## Need a better way to stuff these together retList <- list() for (i in 1:ninterest) { retList[[i]] <- list(indices=byGene[[i]], dists=byDists[[i]]) } return(retList) }) genefilter/R/half.range.mode.R0000755000175200017520000000216314136046744017212 0ustar00biocbuildbiocbuildhalf.range.mode <- function( data, B, B.sample, beta = .5, diag = FALSE ) { if ( length( data ) == 0 ) return( NA_real_ ) if (missing( B ) ) { # Just one run on the full set... if ( is.unsorted( data ) ) data <- sort( data ) .C( "half_range_mode", data = as.double( data ), n = as.integer( length( data ) ), beta = as.double( beta ), diag = as.integer( diag ), M = double(1), PACKAGE = "genefilter" )$M } else { # Bootstrapped if ( missing( B.sample ) ) B.sample <- length( data ) M <- sapply(seq_len(B), function (x) { d <- sort( sample( data, B.sample, replace = TRUE ) ) .C( "half_range_mode", data = as.double( d ), n = as.integer( B.sample ), beta = as.double( beta ), diag = as.integer( diag ), M = double(1), PACKAGE = "genefilter" )$M } ) mean( M ) } } genefilter/R/kappa_p.R0000644000175200017520000000034514136046744015672 0ustar00biocbuildbiocbuildkappa_p <- function( p, n1, n2 = n1 ) { n <- n1 + n2 t <- qt( 1 - p/2, df = n - 2 ) kappa_t( t, n1, n2 ) } kappa_t <- function( t, n1, n2 = n1 ) { n <- n1 + n2 sqrt( n * (n-1) * t^2 / ( n1 * n2 * ( n - 2 + t^2 ) ) ) } genefilter/R/nsFilter.R0000644000175200017520000002250214136046744016044 0ustar00biocbuildbiocbuild##RG introduces two new functions, varFilter that does what nsFilter ##was supposed to, but never did, and featureFilter that does the only ##useful stuff that nsFilter does rowIQRs <- function(eSet) { numSamp <- ncol(eSet) lowQ <- rowQ(eSet, floor(0.25 * numSamp)) upQ <- rowQ(eSet, ceiling(0.75 * numSamp)) upQ - lowQ } ##For NOW, we will need to check the schema from within nsFilter and ##featureFilter to decide what the internal ID is that needs to be used. ##LATER, when we haev annotation packages that will make this sort of access ##easier, it will make more sense to just access the central ID for those ##packages. ## It looks like I can take care of both nsFilter and featureFilter in this ## way by just altering what the helper function findLargest() does varFilter <- function(eset, var.func=IQR, var.cutoff=0.5,filterByQuantile=TRUE ) { if (deparse(substitute(var.func)) == "IQR") { vars <- rowIQRs(eset) } else { vars <- apply(exprs(eset), 1, var.func) } if (filterByQuantile) { if ( 0 < var.cutoff && var.cutoff < 1 ) { quant = quantile(vars, probs = var.cutoff) selected = !is.na(vars) & vars > quant } else stop("Cutoff Quantile has to be between 0 and 1.") } else { selected <- !is.na(vars) & vars > var.cutoff } eset <- eset[selected, ] } .getRequiredIDs <- function(eset, map){ annChip <- annotation(eset) if(.isOrgSchema(annChip)){ IDs <- featureNames(eset) names(IDs) <- featureNames(eset) }else{ IDs <- mget(featureNames(eset), envir=getAnnMap(map, annChip), ifnotfound=NA) } IDs } featureFilter <- function(eset, require.entrez=TRUE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, require.CytoBand=FALSE, remove.dupEntrez=TRUE, feature.exclude="^AFFX") { annChip <- annotation(eset) if (nchar(annChip) == 0) stop("'eset' must have a valid annotation slot") nfeat <- function(eset) length(featureNames(eset)) requireID <- function(eset, map) { IDs <- .getRequiredIDs(eset, map) haveID <- names(IDs)[sapply(IDs, function(x) !is.na(x))] eset[haveID, ] } if (require.entrez) { map <- .findCentralMap(annChip) eset <- requireID(eset, map) } filterGO <- function(eset, ontology) { haveGo <- sapply(mget(featureNames(eset), getAnnMap("GO", annChip), ifnotfound=NA), function(x) { if (length(x) == 1 && is.na(x)) FALSE else { onts <- subListExtract(x, "Ontology", simplify=TRUE) ontology %in% onts } }) eset[haveGo, ] } if (require.GOBP) eset <- filterGO(eset, "BP") if (require.GOCC) eset <- filterGO(eset, "CC") if (require.GOMF) eset <- filterGO(eset, "MF") if (length(feature.exclude)) { fnms <- featureNames(eset) badIdx <- integer(0) for (pat in feature.exclude) { if (nchar(pat) == 0) next badIdx <- c(grep(pat, fnms), badIdx) } if (length(badIdx)) { badIdx <- unique(badIdx) eset <- eset[-badIdx, ] } } if (remove.dupEntrez ) { ## Reduce to unique probe <--> gene mapping here by keeping largest IQR ## We will want "unique genes" in the non-specific filtered gene ## set. uniqGenes <- findLargest(featureNames(eset), rowIQRs(eset), annotation(eset)) eset <- eset[uniqGenes, ] } requireCytoBand <- function(eset) { MAPs <- mget(featureNames(eset), envir=getAnnMap("MAP", annChip), ifnotfound=NA) haveMAP <- names(MAPs)[sapply(MAPs, function(x) !is.na(x[1]))] eset[haveMAP, ] } if (require.CytoBand) eset <- requireCytoBand(eset) eset } setMethod("nsFilter", "ExpressionSet", function(eset, require.entrez=TRUE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, require.CytoBand=FALSE, remove.dupEntrez=TRUE, var.func=IQR, var.cutoff=0.5, var.filter=TRUE, filterByQuantile=TRUE, feature.exclude="^AFFX", ...) { if (!is.function(var.func)) stop("'var.func' must be a function") annChip <- annotation(eset) if (nchar(annChip) == 0) stop("'eset' must have a valid annotation slot") nfeat <- function(eset) length(featureNames(eset)) filter.log <- new.env(parent=emptyenv()) requireID <- function(eset, map) { IDs <- .getRequiredIDs(eset, map) haveID <- names(IDs)[sapply(IDs, function(x) !is.na(x))] logvar <- paste("numRemoved", map, sep=".") assign(logvar, nfeat(eset) - length(haveID), envir=filter.log) eset[haveID, ] } if (require.entrez) { map <- .findCentralMap(annChip) eset <- requireID(eset, map) } filterGO <- function(eset, ontology) { haveGo <- sapply(mget(featureNames(eset), getAnnMap("GO", annChip), ifnotfound=NA), function(x) { if (length(x) == 1 && is.na(x)) FALSE else { onts <- subListExtract(x, "Ontology", simplify=TRUE) ontology %in% onts } }) logvar <- paste("numNoGO", ontology, sep=".") assign(logvar, sum(!haveGo), envir=filter.log) eset[haveGo, ] } if (require.GOBP) { eset <- filterGO(eset, "BP") } if (require.GOCC) { eset <- filterGO(eset, "CC") } if (require.GOMF) { eset <- filterGO(eset, "MF") } if (length(feature.exclude)) { fnms <- featureNames(eset) badIdx <- integer(0) for (pat in feature.exclude) { if (nchar(pat) == 0) next badIdx <- c(grep(pat, fnms), badIdx) } if (length(badIdx)) { badIdx <- unique(badIdx) eset <- eset[-badIdx, ] logvar <- "feature.exclude" assign(logvar, length(badIdx), filter.log) } } if (remove.dupEntrez) { ## Reduce to unique probe <--> gene mapping here by keeping largest IQR ## We will want "unique genes" in the non-specific filtered gene ## set. if (deparse(substitute(var.func)) == "IQR") { esetIqr <- rowIQRs(exprs(eset)) } else { esetIqr <- apply(exprs(eset), 1, var.func) } numNsWithDups <- nfeat(eset) uniqGenes <- findLargest(featureNames(eset), esetIqr, annotation(eset)) eset <- eset[uniqGenes, ] logvar <- "numDupsRemoved" assign(logvar, numNsWithDups - nfeat(eset), envir=filter.log) } if (var.filter) { if (deparse(substitute(var.func)) == "IQR") { esetIqr <- rowIQRs(exprs(eset)) } else { esetIqr <- apply(exprs(eset), 1, var.func) } ##note this was not happening in the first ##version - despite the documentation if (filterByQuantile) { if ( 0 < var.cutoff && var.cutoff < 1 ) { var.cutoff = quantile(esetIqr, var.cutoff) } else stop("Cutoff Quantile has to be between 0 and 1.") } selected <- esetIqr > var.cutoff eset <- eset[selected, ] logvar <- "numLowVar" assign(logvar, sum(!selected), filter.log) } requireCytoBand <- function(eset) { MAPs <- mget(featureNames(eset), envir=getAnnMap("MAP", annChip), ifnotfound=NA) haveMAP <- names(MAPs)[sapply(MAPs, function(x) !is.na(x[1]))] logvar <- paste("numRemoved", "MAP", sep=".") assign(logvar, nfeat(eset) - length(haveMAP), envir=filter.log) eset[haveMAP, ] } if (require.CytoBand) eset <- requireCytoBand(eset) numSelected <- length(featureNames(eset)) list(eset=eset, filter.log=as.list(filter.log)) }) genefilter/R/rejection_plot.R0000644000175200017520000000374114136046744017302 0ustar00biocbuildbiocbuildrejection_plot <- function(p, col, lty = 1, lwd = 1, xlab = "p cutoff", ylab = "number of rejections", xlim = c( 0, 1 ), ylim, legend = names(p), at = c( "all", "sample" ), n_at = 100, probability = FALSE, ... ) { if ( is.matrix( p ) ) { legend <- colnames( p ) p <- lapply( 1:ncol(p), function(i) p[,i] ) } if ( missing( col ) ) col <- rainbow( length( p ), v = .7 ) col <- rep( col, length.out = length( p ) ) lty <- rep( lty, length.out = length( p ) ) lwd <- rep( lwd, length.out = length( p ) ) if ( missing( ylim ) ) ylim <- c( 0, ifelse( probability, 1, max( sapply( p, length ) ) ) ) at <- match.arg( at ) steps <- lapply( p, function(x) { x <- na.omit(x) stepfun( sort( x ), ( 0:length(x) ) / ifelse( probability, length(x), 1 ) ) } ) plot( 0, type = "n", xaxs = "i", yaxs = "i", xlim = xlim, ylim = ylim, xlab = xlab, ylab = ylab, ... ) if ( at == "all" ) { for ( i in 1:length( steps ) ) lines( steps[[i]], xlim = xlim, col = col[i], lty = lty[i], lwd = lwd[i], do.points = FALSE ) } else { x <- seq( xlim[1], xlim[2], length = n_at ) for ( i in 1:length( steps ) ) lines( x, steps[[i]](x), col = col[i], lty = lty[i], lwd = lwd[i] ) } if ( !is.null( legend ) ) legend( "topleft", legend, col = col, lty = lty, lwd = lwd, inset = .05 ) invisible( steps ) } genefilter/R/rowROC-accessors.R0000644000175200017520000001532714136046744017423 0ustar00biocbuildbiocbuild## ========================================================================== ## show method for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("show", signature(object="rowROC"), function(object){ cat("matrix of ROC curves for", nrow(object@data), "genes/rows", "with", max(0,ncol(object@cutpoints)), "cutpoints\n") cat(" size of class ", object@caseNames[1] ,": ", sum(object@factor==levels(object@factor)[1]), "\n", sep="") cat(" size of class ", object@caseNames[2] ,": ", sum(object@factor==levels(object@factor)[2]), "\n", sep="") cat("partial areas under curve calculated for p=", object@p, "\n", sep="") }) ## ========================================================================== ## ========================================================================== ## subsetting method for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("[", signature="rowROC", definition=function(x, i, j="missing", drop="missing") { x@sens <- x@sens[i,,drop=FALSE] x@spec <- x@spec[i,,drop=FALSE] x@pAUC <- x@pAUC[i] x@AUC <- x@AUC[i] x@data <- x@data[i,,drop=FALSE] x@cutpoints <- x@cutpoints[i,,drop=FALSE] x@ranks <- x@ranks[i,,drop=FALSE] return(x) }, valueClass="rowROC") ## ========================================================================== ## ========================================================================== ## plot method for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("plot", signature(x="rowROC", y="missing"), function(x, pch=20, cex=0.7, xlab="1 - specificity", ylab="sensitivity", main=NULL, sub=paste("class ", x@caseNames[1], " (", sum(x@factor==levels(x@factor)[1]), " cases) | class ", x@caseNames[2], " (", sum(x@factor==levels(x@factor)[2]), " cases)", sep=""), ...){ sx <- sort(1-x@spec[1,]) sy <- sort(x@sens[1,]) spx <- c(sx[sx<=x@p & sy>0],x@p) spy <- sy[sx<=x@p & sy>0] if(!length(spy)){ spy <- 0 spx <- c(0,spx) } spy <- c(spy, max(spy)) len <- length(sx) nn <- names(area(x)[1]) if(is.null(main)) main <- paste("ROC-Curve", ifelse(length(nn), paste("(", nn, ")", sep=""), "")) plot(sx, sy, pch=pch, cex=cex, xlab=xlab, ylab=ylab, main=main, sub=sub, ...) if(mean(x@data)==1 || all(sx==sy)) polygon(c(0,1,1), c(0,0,1), col="#ececec", lty=0) else{ rect(spx[-1], 0, spx[-1] - diff(spx),spy[-1], col="#ececec", lty=0) lines(sx, sy, type="s") } points(sx, sy, pch=pch, cex=cex, ...) lines(0:1, 0:1, lty=3, col="darkgray") atext <- paste("AUC: ", signif(x@AUC[1],3)) tw <- strwidth(atext) w <- diff(par("usr")[1:2]) cex <- min(1, (w/2+w/10)/tw) th <- strheight(atext, cex=cex)*1.1 if(x@p<1){ ptext <- paste("pAUC: ", signif(x@pAUC[1],3), " (p=", x@p, ")", sep="") tw <- max(tw, strwidth(ptext)) cex <- min(1, (w/2+w/10)/tw) abline(v=x@p, col="darkblue", lty=2) text(x=1-tw*cex*1.1, y=0.02+th*cex, atext, pos=4, cex=cex) text(x=1-tw*cex*1.1, y=0.02, ptext, pos=4, cex=cex) }else{ text(x=1-tw*cex*1.1, y=0.02, atext, pos=4, cex=cex) } }) ## ========================================================================== ## ========================================================================== ## pAUC method for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("pAUC", signature(object="rowROC", p="numeric"), function(object, p, flip=TRUE){ if(length(flip)!=1 || !(is.logical(flip))) stop("'flip' must be logical scalar") flip <- as.integer(flip) res <- .Call("pAUC", object@spec, object@sens, p, flip) names(res$pAUC) <- names(res$AUC) <- names(object@AUC) object@pAUC <- res$pAUC object@AUC <- res$AUC object@p <- p return(object) }) ## ========================================================================== ## ========================================================================== ## AUC method for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("AUC", signature(object="rowROC"), function(object){ object@pAUC <- object@AUC object@p <- 1 return(object) }) ## ========================================================================== ## ========================================================================== ## accessor method to slot 'sens' for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("sens", signature(object="rowROC"), function(object) return(object@sens) ) ## ========================================================================== ## ========================================================================== ## accessor method to slot 'spec' for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("spec", signature(object="rowROC"), function(object) return(object@spec) ) ## ========================================================================== ## ========================================================================== ## accessor method to slots 'AUC' or 'pAUC' for objects of class rowROC ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("area", signature(object="rowROC"), function(object, total=FALSE){ if(total) return(object@AUC) else return(object@pAUC) }) ## ========================================================================== genefilter/R/rowSds.R0000644000175200017520000000032314136046744015534 0ustar00biocbuildbiocbuildrowVars = function(x, ...) { sqr = function(x) x*x n = rowSums(!is.na(x)) n[n<=1] = NA return(rowSums(sqr(x-rowMeans(x, ...)), ...)/(n-1)) } rowSds = function(x, ...) sqrt(rowVars(x, ...)) genefilter/R/rowpAUCs-methods.R0000644000175200017520000001025614136046744017425 0ustar00biocbuildbiocbuild## ========================================================================== ## core rowpAUCs method for objects of class matrix ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("rowpAUCs", signature(x="matrix", fac="factor"), function(x, fac, p=0.1, flip=TRUE, caseNames=c("1", "2")){ ##check argument 'p' if(!is.numeric(p) || length(p)>1) stop("'p' must be numeric of length 1") ## check argument 'fac' f <- checkfac(fac) if(f$nrgrp != 2 || length(f$fac) != ncol(x) || length(unique(f$fac)) !=2 ) stop("'fac' must be factor with 2 levels and length 'ncol(x)'") ## check argument 'flip' if(length(flip)!=1 || !(is.logical(flip))) stop("'flip' must be logical scalar") flip <- as.integer(flip) ## compute cutpoints cutpts <- matrix((0:ncol(x))+0.5, ncol=ncol(x)+1, nrow=nrow(x), byrow=TRUE, dimnames=list(rownames(x), NULL)) ## rank data xr <- t(apply(x, 1, rank)) mode(xr) <- "numeric" ## call C function and return object of class 'rowROC' res <- .Call("ROCpAUC", xr, cutpts, as.integer(f$fac), p, PACKAGE="genefilter", flip) sens <- res$sens spec <- res$spec rownames(sens) <- rownames(spec) <- rownames(x) pAUC <- res$pAUC AUC <- res$AUC names(AUC) <- names(pAUC) <- rownames(x) object <- new("rowROC", data=x, sens=sens, spec=spec, pAUC=pAUC, AUC=AUC, factor=factor(f$fac), p=p, ranks=xr, caseNames=as.character(caseNames), cutpoints=cutpts) return(object) }) ## ========================================================================== ## ========================================================================== ## rowpAUCs method with signature x=matrix, fac=numeric ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("rowpAUCs", signature(x="matrix", fac="numeric"), function(x, fac, p=0.1, flip=TRUE, caseNames=c("1", "2")){ cutpts <- matrix((0:ncol(x))+0.5, ncol=ncol(x)+1, nrow=nrow(x), byrow=TRUE) rowpAUCs(x=x, fac=factor(fac), p=p, flip=flip, caseNames=caseNames) }) ## ========================================================================== ## ========================================================================== ## rowpAUCs method with signature x=ExpressionSet ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("rowpAUCs", signature(x="ExpressionSet"), function(x, fac, p=0.1, flip=TRUE, caseNames=c("1", "2")){ rowpAUCs(x=exprs(x), fac=fac, p=p, flip=flip, caseNames=caseNames) }) ## ========================================================================== ## ========================================================================== ## rowpAUCs method with signature x=ExpressionSet fac=character ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("rowpAUCs", signature(x="ExpressionSet", fac="character"), function(x, fac, p=0.1, flip=TRUE, caseNames=c("1", "2")){ if (length(fac) == 1){ if(!fac %in% colnames(pData(x))) stop("fac must be length 1 character indicating a ", "covariate in the phenoData slot of the expressionSet") cn <- as.character(levels(pData(x)[[fac]])) fac = factor(as.integer(factor(pData(x)[[fac]]))-1) rowpAUCs(x=exprs(x), fac=fac, p=p, flip=flip, caseNames=cn) }else{ rowpAUCs(x=x, fac=as.factor(fac), p=p, flip=flip, caseNames=caseNames) } }) ## ========================================================================== genefilter/R/rowttests-methods.R0000644000175200017520000001566014136046744020004 0ustar00biocbuildbiocbuild##--------------------------------------------------------------------------------------## ## This file contains methods definitions for rowttests, colttest, rowFtests, colFtests ## ##--------------------------------------------------------------------------------------## ##----------------------------------------------------------------------- ## The core function for row- and column-wise t-tests - it uses C code ##------------------------------------------------------------------------ rowcoltt = function(x, fac, tstatOnly, which, na.rm) { if (!missing(tstatOnly) && (!is.logical(tstatOnly) || is.na(tstatOnly))) stop(sQuote("tstatOnly"), " must be TRUE or FALSE.") f = checkfac(fac) if ((f$nrgrp > 2) || (f$nrgrp <= 0)) stop("Number of groups is ", f$nrgrp, ", but must be >0 and <=2 for 'rowttests'.") if (typeof(x) == "integer") x[] <- as.numeric(x) cc = .Call("rowcolttests", x, f$fac, f$nrgrp, which-1L, na.rm, PACKAGE="genefilter") res = data.frame(statistic = cc$statistic, dm = cc$dm, row.names = dimnames(x)[[which]]) if (!tstatOnly) res = cbind(res, p.value = 2*pt(abs(res$statistic), cc$df, lower.tail=FALSE)) attr(res, "df") = cc$df return(res) } ##------------------------------------------------------------ ## The core function for F-tests - it uses R matrix algebra ##------------------------------------------------------------ rowcolFt = function(x, fac, var.equal, which) { if(!(which %in% c(1L, 2L))) stop(sQuote("which"), " must be 1L or 2L.") if(which==2L) x = t(x) if (typeof(x) == "integer") x[] <- as.numeric(x) sqr = function(x) x*x stopifnot(length(fac)==ncol(x), is.factor(fac), is.matrix(x)) x <- x[,!is.na(fac), drop=FALSE] fac <- fac[!is.na(fac)] ## Number of levels (groups) k <- nlevels(fac) ## xm: a nrow(x) x nlevels(fac) matrix with the means of each factor ## level xm <- matrix( sapply(levels(fac), function(fl) rowMeans(x[,which(fac==fl), drop=FALSE])), nrow = nrow(x), ncol = nlevels(fac)) ## x1: a matrix of group means, with as many rows as x, columns correspond to groups x1 <- xm[,fac, drop=FALSE] ## degree of freedom 1 dff <- k - 1 if(var.equal){ ## x0: a matrix of same size as x with overall means x0 <- matrix(rowMeans(x), ncol=ncol(x), nrow=nrow(x)) ## degree of freedom 2 dfr <- ncol(x) - dff - 1 ## mean sum of squares mssf <- rowSums(sqr(x1 - x0)) / dff mssr <- rowSums(sqr( x - x1)) / dfr ## F statistic fstat <- mssf/mssr } else{ ## a nrow(x) x nlevels(fac) matrix with the group size of each factor ## level ni <- t(matrix(tapply(fac,fac,length),ncol=nrow(x),nrow=k)) ## wi: a nrow(x) x nlevels(fac) matrix with the variance * group size of each factor ## level sss <- sqr(x-x1) x5 <- matrix( sapply(levels(fac), function(fl) rowSums(sss[,which(fac==fl), drop=FALSE])), nrow = nrow(sss), ncol = nlevels(fac)) wi <- ni*(ni-1) /x5 ## u : Sum of wi u <- rowSums(wi) ## F statistic MR <- rowSums(sqr((1 - wi/u)) * 1/(ni-1))*1/(sqr(k)-1) fsno <- 1/dff * rowSums(sqr(xm - rowSums(wi*xm)/u) * wi) fsdeno <- 1+ 2* (k-2)*MR fstat <- fsno/fsdeno ## degree of freedom 2: Vector with length nrow(x) dfr <- 1/(3 * MR) } res = data.frame(statistic = fstat, p.value = pf(fstat, dff, dfr, lower.tail=FALSE), row.names = rownames(x)) attr(res, "df") = c(dff=dff, dfr=dfr) return(res) } ## ========================================================================== ## rowttests and colttests methods for 'matrix' ## ========================================================================== setMethod("rowttests", signature(x="matrix", fac="factor"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) rowcoltt(x, fac, tstatOnly, 1L, na.rm)) setMethod("rowttests", signature(x="matrix", fac="missing"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) rowcoltt(x, factor(integer(ncol(x))), tstatOnly, 1L, na.rm)) setMethod("colttests", signature(x="matrix", fac="factor"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) rowcoltt(x, fac, tstatOnly, 2L, na.rm)) setMethod("colttests", signature(x="matrix", fac="missing"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) rowcoltt(x, factor(integer(ncol(x))), tstatOnly, 2L, na.rm)) ## ========================================================================== ## rowFtests and colFtests methods for 'matrix' ## ========================================================================== setMethod("rowFtests", signature(x="matrix", fac="factor"), function(x, fac, var.equal=TRUE) rowcolFt(x, fac, var.equal, 1L)) setMethod("colFtests", signature(x="matrix", fac="factor"), function(x, fac, var.equal=TRUE) rowcolFt(x, fac, var.equal, 2L)) ## =========================================================================== ## Methods for 'ExpressionSet': only for rowttests and rowFtests ## -========================================================================== setMethod("rowttests", signature(x="ExpressionSet", fac="factor"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) rowcoltt(exprs(x), fac, tstatOnly=tstatOnly, 1L, na.rm)) setMethod("rowttests", signature(x="ExpressionSet", fac="missing"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) { x = exprs(x) fac = integer(ncol(x)) rowcoltt(x, fac, tstatOnly, 1L, na.rm) }) setMethod("rowttests", signature(x="ExpressionSet", fac="character"), function(x, fac, tstatOnly=FALSE, na.rm = FALSE) { if (length(fac) != 1) stop("fac must be length 1 character or a factor") fac = factor(pData(x)[[fac]]) rowcoltt(exprs(x), fac, tstatOnly, 1L, na.rm) }) setMethod("rowFtests", signature(x="ExpressionSet", fac="factor"), function(x, fac, var.equal=TRUE) rowcolFt(exprs(x), fac, var.equal, 1L)) setMethod("rowFtests", signature(x="ExpressionSet", fac="character"), function(x, fac, var.equal=TRUE) { fac = factor(as.integer(factor(pData(x)[[fac]]))-1L) rowcolFt(exprs(x), fac, var.equal, 1L) }) ## ------------------------------------------------------------ ## convert fac from factor or numeric to integer and then ## make sure it is an integer ## ------------------------------------------------------------ checkfac = function(fac) { if(is.numeric(fac)) { nrgrp = as.integer(max(fac, na.rm=TRUE)+1) fac = as.integer(fac) } ## this must precede the factor test if(is.character(fac)) fac = factor(fac) if (is.factor(fac)) { nrgrp = nlevels(fac) fac = as.integer(as.integer(fac)-1) } if(!is.integer(fac)) stop("'fac' must be factor, character, numeric, or integer.") if(any(fac<0, na.rm=TRUE)) stop("'fac' must not be negative.") return(list(fac=fac, nrgrp=nrgrp)) } genefilter/R/shorth.R0000644000175200017520000000320414136046744015563 0ustar00biocbuildbiocbuildshorth <- function(x, na.rm=FALSE, tie.action="mean", tie.limit=0.05) { stopifnot(is.numeric(x)) if (na.rm) { x <- x[is.finite(x)] } else { if(any(!is.finite(x))) stop("'x' contains NA or NaN, and 'na.rm' is FALSE.") } if(length(x)==0L) { NA_real_ } else { sx <- sort(x) width <- round(0.5*length(x)) diffs <- sx[(width+1):length(x)] - sx[seq_len(length(x)-width)] ## cannot use which.min since we want all minimising points not just one: q <- which(diffs==min(diffs)) if(length(q)>1) { ## deal with ties: maxq = max(q) minq = min(q) ## take the action specified in "tie.action" q <- switch(tie.action, mean = { if (maxq-minq <= tie.limit * length(x)) { mean(q) } else { stop(paste("Encountered tie(s), and the difference between minimal and maximal value is larger than 'length(x)*tie.limit'.", "This could mean that the distribution does not have a single well-defined mode.", paste("q=", minq, "...", maxq, ", values=", signif(sx[minq],4), "...", signif(sx[minq+width],4), sep=""), sep="\n")) }}, max = maxq, ## largest midpoint (maxq) min = minq, ## smallest midpoint (minq) stop(sprintf("Invalid value '%s' for argument 'tie.action'", tie.action)) ) } ## if mean(sx[q:(q+width-1)]) } ## if } genefilter/R/zzz.R0000644000175200017520000000037314136046744015115 0ustar00biocbuildbiocbuild.onLoad <- function(lib, pkgname) { if(.Platform$OS.type == "windows" && interactive() && .Platform$GUI == "Rgui"){ addVigs2WinMenu("genefilter") } } .onUnload <- function( libpath ) { library.dynam.unload( "genefilter", libpath ) } genefilter/build/0000755000175200017520000000000014136071504015020 5ustar00biocbuildbiocbuildgenefilter/build/vignette.rds0000644000175200017520000000071314136071504017360 0ustar00biocbuildbiocbuildRMoA |@=#|R-U@TV ;fjgs l҆zc7,fN'-ߋdlWjP Wʀ*9W[ ׁhy $0M>ɯ*a{%?-**T1tRA,g7CQCTݘ-`U~R9?E> e`meB$x T8VΩhDcH`qT$ {lEFʱ#OS*a_aAϼ*mb^1tգK^BD|CF&wL7[E|ۉ6u|Xb$8䟔Iٲjv\ۄoN4;mvN=} g5;Ndc~v'kagenefilter/data/0000755000175200017520000000000014136046744014642 5ustar00biocbuildbiocbuildgenefilter/data/tdata.R0000644000175200017520000036557214136046744016104 0ustar00biocbuildbiocbuild"tdata" <- structure(list(A = c(192.742, 97.137, 45.8192, 22.5445, 96.7875, 89.073, 265.964, 110.136, 43.0794, 10.9187, 751.227, 76.9437, 105.378, 40.4826, 58.1706, 257.619, 129.056, 61.7251, -40.9349, 284.407, 178.745, 79.7368, 9903.19, 61.2671, 120.544, 50.0962, 42.5285, 36.8936, 234.698, 26.9561, 58.124, 40.616, 125.063, 49.9943, 33.1246, 148.494, 66.6936, 19.1364, 165.75, 179.989, 151.72, 553.87, 72.2579, -30.1595, 65.1004, 1781.95, 3311.18, 4478.99, 3835.31, 4252.98, 5449.81, 79.7636, 3.75133, 44.3623, 197.782, 831.418, 541.391, 117.151, 144.719, 70.46, 55.4337, 224.167, 238.342, 130.794, 54.0728, 107.263, 382.255, 36.9832, 22.9605, 6.29927, 17.1529, 216.932, 190.178, 113.476, 50.7945, 1139.56, -18.287, 17.2761, 17.7039, 15.8655, 123.621, 174.661, 25.4169, 17.0339, 102.591, 67.8606, 754.361, 1.86526, 121.892, 14.5586, 3175.57, 40.8068, 18.1273, 22.5912, 14.4076, 64.5555, 17.8468, 412.283, 8.93417, -28.9985, 28.59, 316.157, 139.423, 8.50093, 60.8199, 37.7096, 35.6071, 192.835, 24.9388, 29.4782, 268.752, 13.0213, 65.5145, 464.122, 65.3482, 185.137, 165.366, 240.969, 51.1941, 6.66395, 48.6114, 36.5343, 412.338, 141.939, 36.4318, 52.9437, 61.3229, 65.3667, 68.6627, 10.9786, 23.8657, 5.01524, 177.065, 45.8588, 50.9341, 407.17, 16.8144, 24.3676, 139.241, 101.986, 126.172, 81.2844, -7.15113, 57.5308, 118.845, 3351.76, 286.108, 183.669, -0.944537, 21.8096, 16.7794, 405.217, 78.5843, 1705.65, 71.6915, 16.6355, 3211.06, 80.4291, 15.9308, 86.4344, 12.4541, 13.0163, 138.419, 16.6741, 20.1171, 323.881, 132.963, 3.27231, 113.622, -4.52738, 145.533, 19.0251, 28.0719, 128.004, 333.392, 17.6846, 92.238, 141.285, 17.7226, 1937.11, 54.0638, 15.8039, 29.8451, 76.3667, 445.892, 143.263, 202.725, 24.9869, 963.851, 79.9563, 56.2773, 321.199, 738.774, 100.949, 188.097, 18.1364, 355.357, 74.2606, 133.454, 98.7327, 694.948, 92.4006, 25.0186, 250.085, 3876.44, 117.049, 122.154, 67.1931, 7.30897, 84.6283, 49.592, 335.108, 66.4654, 86.0123, 72.9268, 44.994, 9.38836, 444.915, 92.0446, 10.0007, 18.8823, 58.7393, 13.3018, 569.842, 37.662, 40.3649, 226.662, 12.82, 391.518, 110.782, 7.59043, 194.394, 27.4265, 7.68662, 65.2073, 119.647, 16.0125, 1281.78, 226.635, 10.8538, 17.5639, 1335.61, 86.3719, 62.4806, 195.822, 244.137, 14.4861, 46.9659, 195.317, 5.81787, 184.517, 22.0721, 199.422, 16.2109, 6.64863, 161.7, 44.5963, 505.617, 110.631, 185.215, 27.4203, 24.4519, 216.36, 255.058, 309.114, 4667.83, 112.576, 91.4096, 633.803, 2329.11, -31.0105, 2809.33, 9.45511, 2.93526, 245.995, 132.075, 25.4559, -78.1238, 9.77901, 66.6104, 78.5702, 60.3145, 40.4373, 50.5534, 93.9559, 152.835, 57.4955, 2847.08, 90.0681, 336.346, 333.8, 117.994, 36.3703, 75.0352, 53.314, 286.113, 291.484, 73.877, 3858.49, 11.1541, 26.7391, -19.123, 8.3213, -175.867, 316.537, 3205.89, 1633.98, 490.371, 69.9426, 24.3604, 148.338, 42.0539, 166.386, 11.0695, 466.869, 918.454, 105.831, 6336.55, 94.5106, 124.549, 78.9894, 57.1918, -10.0784, 3.87075, 109.668, 77.1675, 457.371, 90.2235, 2193.88, 97.9357, 67.4934, 12.5044, 87.9604, 1136.1, 52.8251, 205.778, 47.9478, 37.0896, 29.8769, 163.502, 52.9366, -6.26854, 24.8778, 2172.91, 2117.27, 34.5438, 3.18616, 181.501, 32.5297, 105.013, 292.29, 63.8859, 174.173, 95.0869, 280.535, 109.507, 1354.61, 1961.83, 64.2933, 34.5335, 92.1684, 6.89252, 118.755, 40.8079, 229.027, 100.052, 26.8675, 48.7903, 145.687, 1698.05, 165.572, 3.01315, 14.9219, 115.39, 222.809, 52.0182, 17.2658, 33.2661, 61.0926, 13.8854, 638.578, 622.462, 1695.75, 685.856, 122.788, 13.867, 234.63, 327.099, 45.4667, 34.1512, 10.0776, -57.7591, 33.2443, 43.9199, 345.91, 157.343, 276.585, 551.108, 401.466, 26.783, 344.651, 99.7442, -80.8385, 19.5091, 66.3027, 87.1783, 8.25017, 37.6927, 113.722, 78.6986, 24.9035, 6.32616, -36.7863, 30.8709, 48.0258, 347.951, 6.1035, 20.7713, 59.5264, 119.503, 27.8618, 35.1162, 92.8325, 190.052, 11.9853, -53.8608, -0.760266, 789.487, 349.556, 252.402, 148.234, 158.495, 7.5498, 258.37, 4.04513, 2.94722, 11.3329, 37.8421, 29.3296, 153.122, 328.971, 287.74, 59.2783, 52.3302, 70.1602, 285.172, 110.687, 442.733, 55.6486, 37.2868, 81.0269, 239.965, 582.627, 858.9, 230.119, 58.5767, 13.7181, 1739.95, 72.151, 286.243, 265.477, 652.056, 5.14324, 27.5791, 238.494, 310.136, 35.5071, 23.6182, 2080.61, 376.363, 545.377, 66.1117, 82.6331, 54.9434, 11.3511, 259.183, 153.759, 16.8873, 30.2569, 1505.73, 1937.31, 233.214, 3250.14, -22.2448, 269.912, 84.6064, 233.003, 248.216, 150.127, 4.59592, 129.867, 19.7505, 24.819, 63.576, 190.533, 26.7016, 446.512, 22.4641, 299.434, 253.692), B = c(85.7533, 126.196, 8.83135, 3.60093, 30.438, 25.8461, 181.08, 57.2889, 16.8006, 16.1789, 515.004, 40.907, 97.4932, 7.45801, 15.7926, 113.69, 74.6095, 50.2372, -83.9302, 208.099, 101.3, 55.5632, 8501.62, 37.474, 75.9854, 27.9532, 33.7186, 35.1697, 102.467, -2.37297, -1.69785, 34.713, 98.0369, 19.8722, 4.91484, 70.9219, 5.60854, 20.8099, 300.024, 790.943, 546.343, 1758.42, 159.484, -64.7658, 19.7163, 2370.97, 3270.14, 3937.24, 5529.02, 5758.12, 5870.02, 36.0172, 20.7365, 54.8022, 44.7054, 501.091, 377.234, 128.234, 181.278, 93.6398, 64.7447, 180.978, 190.311, 67.1193, 30.2595, 73.1682, 237.818, 42.2591, 13.4121, 19.1633, 27.1722, 162.563, 120.161, 84.9185, 53.818, 5154.31, 3.74538, 36.0095, 15.2357, 23.9183, 95.3586, 103.08, 42.3577, 23.4741, 92.3486, 24.4368, 777.105, 5.41691, 92.031, 34.3359, 3548.02, 3.2361, 9.65582, 9.13811, -1.38469, 56.5676, 1.12837, 440.35, 4.28296, -30.0532, 16.6452, 278.807, 169.568, 21.1695, -394.553, 16.4941, 38.4721, 78.9517, 3.10118, 30.1089, 167.865, -3.0867, 44.0921, 436.574, 44.5892, 163.138, 194.529, 214.829, 55.8029, 11.3476, 14.958, 25.3529, 384.259, 72.7142, 12.4748, 27.1124, 66.3107, 66.8159, 63.0803, 92.1722, 0.177197, -38.9859, 171.192, 34.0826, 4.07801, 373.017, -0.769524, 6.01475, 89.9168, 84.6254, 107.521, 74.2868, -20.7531, 148.301, 94.944, 4323.17, 232.94, 121.714, 69.4382, 5.72227, 7.3986, 415.275, 28.8216, 1315.01, 36.1148, 67.0027, 2593.65, 24.3428, -17.6152, 50.0729, 9.31312, -23.0799, 86.1644, -8.1025, 19.6846, 235.001, 73.4631, 13.8193, 59.9681, 2.94767, 157.69, 47.6266, 61.1661, 104.139, 379.143, 23.7638, 71.4745, 87.7626, 30.7267, 1499.43, 39.9567, 7.69656, 2.28445, 59.4088, 330.876, 105.898, 176.47, 1.81061, 851.733, 20.8281, 45.8031, 649.608, 1163.7, 55.8623, 151.278, -16.7101, 277.792, 42.7732, 241.785, 131.357, 616.905, 54.4591, 41.0307, 212.55, 4456.75, 212.208, 115.759, 58.1292, -15.082, 90.8461, 20.9174, 277.822, 44.4367, 68.6069, 16.3172, 3.4138, -3.38286, 285.917, 126.127, 0.609841, 59.5828, 4.21187, 8.49004, 870.198, 13.2164, 14.4078, 203.901, 14.9982, 252.349, 74.7691, 10.7374, 170.651, 97.6762, 33.0937, 35.1276, 200.758, 24.2109, 808.399, 176.946, 10.668, 23.3083, 2208.33, 62.0363, 40.6219, 64.4413, 104.971, 22.7284, 600.467, 361.212, -6.01692, 291.5, 21.2316, 473.545, 20.4983, 31.2972, 150.28, 111.154, 182.812, 93.91, 372.524, 72.3758, 15.8334, 147.966, 267.088, 813.374, 2995.08, 66.3044, 46.9761, 1468.57, 2370.87, -59.0063, 3676.6, 148.159, 12.0201, 220.69, 111.018, 55.0777, -66.3389, -13.7223, 76.5278, 53.8695, 194.842, 131.637, 235.74, 240.715, 247.238, 122.939, 3743.96, 573.17, 387.269, 251.052, 107.653, 37.0203, 137.625, 33.853, 238.052, 863.607, 35.8266, 3568.89, 1.50669, 27.7993, -5.28788, 11.2962, -125.024, 408.582, 3515.46, 2218.3, 511.181, 41.3118, 15.083, 116.584, 9.54446, 142.225, -26.1006, 363.157, 728.89, 93.9206, 7294.08, 22.3793, 107.922, 31.4733, 101.262, 57.8828, -28.1437, 59.2715, 66.1019, 377.694, 78.6573, 3324.68, 50.878, 71.3438, 9.54178, 54.2085, 2764.5, 20.1416, 167.67, 10.6369, 22.4401, 48.3359, 70.4437, 19.7066, 52.0355, 25.3512, 3017.39, 2812.14, 11.6979, 77.0231, 212.566, 16.6308, 82.0771, 185.749, 34.072, 101.539, 181.17, 197.009, 75.3342, 2147.25, 1587.88, 151.32, 30.4737, 123.478, 2.23759, 69.8942, 26.9286, 79.6353, 117.308, -34.0231, 42.9693, 217.778, 1353.85, 116.874, 3.5022, 22.7868, 57.4058, 161.722, 29.8741, 9.53801, 33.8521, 24.413, 17.7637, 520.449, 591.734, 2062.22, 996.584, 78.1948, 45.329, 167.125, 401.967, 34.1303, 21.5371, 2.24541, -26.3753, 32.5026, 29.1886, 206.237, 93.309, 200.928, 487.538, 337.674, 30.2136, 278.321, 118.652, -52.243, 17.923, 21.0778, 55.3885, 2.27909, 47.3832, 88.2588, 49.7464, 32.1044, -1.05329, -4.33992, 18.2626, 40.7261, 333.625, -7.93034, 19.45, 57.6465, -755.812, 21.0434, 33.7346, 106.43, 268.848, 8.83568, -46.6535, -1.72494, 623.697, 231.072, 198.967, 469.976, 269.123, 68.4686, 316.445, 7.37585, 33.8574, 8.8682, 21.018, 10.5003, 67.5913, 1110.82, 295.222, 83.4115, 11.1847, 126.866, 373.091, 71.2689, 713.406, 58.4652, 22.5675, 232.293, 236.371, 469.914, 762.529, 103.91, 60.7067, 5.59537, 3355.81, 84.9986, 230.098, 272.078, 563.61, 24.53, 13.1461, 221.654, 274.996, 5.44171, 24.4863, 2227.03, 392.032, 508.608, 93.93, 31.5536, 31.0355, 3.83873, 230.849, 242.947, 13.9151, 3.29854, 1556.68, 1911.55, 146.58, 4013.99, -13.4229, 211.98, 72.7237, 186.692, 165.056, 214.073, 9.80107, 84.4112, 89.002, 26.9743, 11.6784, 169.962, 33.1578, 271.494, 23.4589, 233.138, 183.306), C = c(176.757, 77.9216, 33.0632, 14.6883, 46.1271, 57.2033, 164.926, 67.398, 37.6002, 10.1495, 622.901, 62.0314, 74.0299, 19.4069, 25.1962, 187.796, 82.8271, 61.671, -28.705, 239.039, 118.699, 68.5976, 9453, 44.7525, 126.374, 29.261, 35.842, 36.5703, 97.901, 34.4333, 52.6747, 82.4409, 77.1769, 32.2058, 24.6518, 118.632, 60.3028, 10.7195, 152.424, 150.249, 173.624, 599.857, 42.4559, -28.2104, 39.1968, 1693, 2670.94, 3822.94, 2961.39, 3739.82, 4788.63, 82.2737, -0.597615, 44.8314, 206.137, 620.729, 436.198, 84.4842, 191.682, 64.3478, 79.7282, 237.773, 207.319, 97.155, 38.0971, 74.1949, 388.945, 23.294, 16.9304, 3.03659, -0.338279, 166.482, 169.273, 177.832, 58.2412, 600.494, -3.03599, 0.533814, 10.2753, 22.7978, 94.4468, 177.465, 28.9386, 18.9332, 120.461, 84.3285, 1208.68, 11.7631, 201.403, 16.3046, 1820.51, 18.7009, 8.06063, 17.7927, 4.91404, 64.3351, 9.33222, 495.373, 11.3434, -26.9727, 32.8212, 309.36, 132.574, 4.76155, 85.7358, 41.2689, 63.5624, 96.1371, 13.489, 40.0346, 288.847, 32.9084, 53.8278, 371.229, 68.3952, 128.63, 266.452, 269.956, 47.743, -0.199725, 67.7454, 30.8355, 394.639, 99.8759, 32.5865, 49.5398, 56.054, 78.8531, 85.9725, -3.55993, 26.8936, 0.485286, 277.25, 60.7702, 36.151, 466.838, -4.87448, 9.19057, 137.726, 117.944, 122.385, 91.1349, -9.44844, 90.8404, 78.8022, 2793.21, 217.035, 142.901, 58.8769, -25.6195, 16.2116, 472.011, 76.1839, 975.155, 25.4608, 23.3196, 3219.65, 98.2355, 11.5571, 62.0855, -3.89868, 0.364566, 133.15, 14.9364, 30.4366, 247.264, 230.803, 0.868223, 114.364, -1.38195, 202.254, 24.8141, 56.6022, 142.538, 404.582, 26.6696, 110.596, 159.432, 20.0713, 1981.21, 79.788, 20.2375, 32.2108, 78.4334, 534.38, 194.198, 268.142, 19.7106, 1151.71, 33.9701, 40.1148, 189.034, 458.814, 111.326, 243.659, 11.1631, 410.494, 64.8875, 86.9771, 150.6, 897.232, 70.4278, 41.771, 266.278, 3561.69, 96.4136, 139.54, 65.321, 1.92815, 70.2624, 23.7333, 334.227, 37.4708, 55.9757, 42.6704, 24.337, 56.2867, 462.89, 176.691, 6.97726, 12.3479, 61.623, -40.8948, 496.399, 12.4289, 16.7948, 234.34, 18.1656, 744.438, 52.0471, 26.1707, 277.678, 59.6709, 8.88736, 67.9387, 166.966, 38.5175, 2748.11, 285.982, 11.8812, 17.6829, 1051.91, 156.014, 48.2021, 159.216, 139.037, 18.6021, 45.0407, 180.731, 2.32048, 184.486, 16.5329, 105.691, 41.7953, 0.693056, 116.963, 26.7144, 244.615, 117.343, 108.422, 59.9884, 23.0708, 201.693, 373.406, 331.275, 2239.38, 114.994, 116.796, 628.728, 1887.55, -81.7433, 2448.39, 8.64014, 5.43453, 255.595, 117.117, 76.3595, -37.4766, 6.22211, 136.229, 89.6268, 50.2193, 77.6374, 95.2023, 98.8803, 175.198, 125.214, 2868.78, 173.548, 471.518, 404.532, 181.375, 39.4546, 103.158, 105.342, 387.073, 537.699, 75.7463, 2560.07, -0.373076, 12.8639, -12.5198, 15.1326, -117.8, 395.382, 3143.06, 1271.65, 721.257, 61.8619, 23.3659, 172.881, 28.6697, 171.244, 14.1655, 375.339, 840.046, 93.8486, 6579.89, 40.5256, 138.575, 62.4509, 109.496, 24.4152, 24.7544, 105.943, 71.9599, 331.429, 105.756, 1786.61, 128.158, 84.3728, 20.6126, 157.824, 1300.7, 48.2448, 229.14, 61.0324, 21.6207, 32.5197, 173.512, 33.0107, -3.57515, 38.8318, 2115.7, 2353.56, 37.2077, 26.4637, 204.545, 45.8613, 170.981, 324.006, 46.7089, 243.086, 84.3667, 312.187, 83.842, 7748.04, 1548.52, 131.897, 47.1247, 131.118, 4.11246, 124.225, 34.5025, 197.734, 91.6667, 22.7796, 84.4513, 143.789, 905.632, 179.091, 1.12619, 33.9309, 69.3337, 190.008, 51.8768, 21.6014, 26.3087, 55.8036, 2.06138, 629.873, 494.789, 1648.93, 627.546, 104.333, 9.70183, 196.457, 264.936, 30.9323, 23.3243, 2.87676, -56.3115, 40.8574, 29.4056, 243.143, 155.89, 368.955, 729.211, 331.715, 28.1446, 513.724, 123.675, -68.25, 15.495, 86.2276, 76.1181, 5.3182, 33.6867, 134.632, 48.2266, 24.8465, 0.541914, -19.0799, 12.4705, 64.7863, 362.379, 8.82454, 12.3041, 73.1326, 147.117, 40.8124, 50.4434, 76.3825, 264.597, 12.1591, -75.3722, 4.81662, 650.118, 239.454, 215.675, 206.716, 129.04, 1.6552, 240.097, 10.8357, 9.03269, 15.9011, 26.9514, 10.7637, 106.479, 301.017, 362.135, 72.0019, 55.6966, 174.68, 332.694, 388.184, 337.534, 18.5135, 12.4759, 118.672, 261.799, 207.092, 600.212, 192.576, 47.1807, 4.08804, 2498.19, 63.1878, 312.842, 326.4, 455.249, 1.25862, 24.361, 278.501, 324.997, 10.9836, 10.5946, 1666.93, 553.31, 634.472, 64.7392, 62.0543, 37.4184, 17.2002, 260.407, 185.728, 16.1287, 21.148, 1761.11, 1776.92, 257.1, 3288.88, -8.50769, 338.949, 66.6674, 336.641, 298.4, 195.258, 0.368562, 116.449, 16.639, 39.5593, 55.6773, 156.71, 31.7113, 304.809, 39.417, 355.204, 291.385), D = c(135.575, 93.3713, 28.7072, 12.3397, 70.9319, 69.9766, 161.469, 77.2207, 46.5272, 9.73639, 669.859, 54.4218, 54.5277, 20.6246, 46.5057, 210.58, 101.534, 93.2235, -27.9979, 236.428, 131.834, 55.6881, 8595.65, 43.902, 90.4021, 38.6436, 43.8173, 37.0274, 146.239, 17.5947, 55.7056, 42.4596, 107.861, 37.0137, 30.3256, 118.691, 63.5276, 13.9764, 118.693, 82.6372, 135.163, 426.569, 3.26054, -37.3464, 24.3987, 931.981, 1916, 2995.59, 1712.31, 2266.59, 3491.7, 51.4973, -8.47943, 31.2879, 116.343, 668.082, 560.846, 101.776, 202.534, 63.019, 102.178, 216.3, 217.761, 109.506, 35.9229, 103.339, 336.965, 31.0905, -15.2399, -0.903413, -14.1061, 248.735, 173.702, 117.493, 59.7341, 658.421, -5.98093, 11.4078, 12.9648, 24.8195, 124.794, 174.559, 19.3623, 26.6189, 113.723, 84.2596, 730.314, 8.62522, 134.993, 18.4485, 2612.13, 28.5711, 5.85333, 19.1999, 11.1325, 56.7737, -1.59376, 501.236, 13.8976, -23.0042, 37.1873, 403.88, 109.777, 10.3207, 67.3778, 47.4344, 55.8759, 108.988, 13.9802, 43.1862, 208.604, 2.65486, 48.6217, 465.519, 60.0952, 129.701, 250.405, 265.694, 36.3271, 17.8139, 60.2125, 28.2217, 362.904, 114.494, 16.9474, 45.4437, 52.1385, 40.8464, 81.6387, 0.849691, 21.6048, -2.29043, 190.222, 66.5821, 46.4369, 467.278, -0.835582, 18.1039, 115.949, 98.4812, 128.012, 67.5637, 11.2539, 77.5852, 91.8056, 3072.51, 192.841, 161.071, 40.22, 31.2705, -61.0733, 436.333, 60.0639, 1420.69, 41.971, 16.3495, 2453.11, 104.167, 13.7932, 89.1047, 4.4386, 8.19584, 89.7832, 14.4443, 54.3745, 249.8, 187.791, 6.62558, 127.032, -5.58777, 191.617, 17.9258, 78.5784, 148.488, 364.183, 46.72, 97.8402, 130.051, 11.396, 1414.58, 117.664, 26.8048, 35.6676, 51.7222, 382.114, 196.659, 264.509, 14.1542, 1326.21, 64.8629, 39.6481, 175.793, 529.609, 80.6403, 118.342, 12.7879, 358.9, 58.4443, 123.854, 126.945, 763.094, 63.7269, 27.4686, 229.632, 3045.6, 94.6744, 108.665, 65.6258, -2.53157, 80.7287, 42.6169, 346.969, 37.3218, 57.9184, 48.6221, 32.3597, 17.1126, 475.902, 139.969, 2.52464, 13.3328, 50.5703, 8.63196, 724.818, 13.4701, 25.8875, 175.004, 26.7092, 628.343, 74.8407, 9.15695, 270.383, 43.9764, 10.0378, 66.9586, 159.203, 42.1448, 26.7318, 223.828, 3.47616, 15.4544, 1094.93, 112.442, 34.9869, 136.226, 173.703, 18.477, 40.0883, 153.399, 7.51711, 160.627, 11.9868, 215.151, 54.3479, 3.20111, 134.432, 44.7578, 371.959, 115.912, 58.0414, 89.2656, 25.785, 199.259, 238.99, 303.492, 3536.17, 129.548, 139.689, 2010.77, 2790.52, -77.6557, 3973.05, 7.47499, 1.14975, 254.188, 81.2887, 71.8499, -57.1317, 5.93088, 172.465, 79.6828, 29.3946, 50.5614, 73.798, 78.9586, 147.887, 106.963, 2915.08, 138.89, 385.115, 360.427, 115.041, 41.4827, 76.5293, 60.0774, 341.52, 761.418, 75.7623, 3682.01, 7.51078, 12.0506, -7.89719, 15.0758, 7.52292, 408.186, 4604.16, 2217.51, 505.422, 54.4029, 23.8248, 200.161, 26.5075, 116.292, 8.75973, 523.481, 968.806, 100.517, 4694.22, 64.1784, 119.122, 140.46, 63.7561, -22.7521, 12.7108, 116.718, 79.158, 322.951, 94.8393, 3026.42, 111.845, 74.4425, 44.2425, 97.9837, 2370.01, 29.0707, 180.18, 39.32, 24.889, 38.6347, 225.425, 31.989, 6.76259, 27.4242, 3134.73, 2830.51, 43.1838, 47.3681, 153.038, 19.7044, 224.179, 304.823, 82.7017, 226.486, 59.1124, 248.867, 88.2029, 1392.41, 1592.51, 72.3257, 43.4622, 128.944, 1.62062, 95.1037, 27.9533, 196.074, 86.6898, 20.6985, 86.8609, 104.507, 1146.21, 188.642, 0.59902, 41.9507, 92.7837, 224.49, 40.3968, 14.2285, 34.5061, 57.1294, 5.34327, 506.241, 522.548, 1160.22, 666.347, 97.9268, 17.7801, 218.052, 297.688, 32.3167, 19.5057, 26.6114, -37.5517, 43.6972, 24.0573, 288.353, 185.134, 254.767, 677.218, 346.054, 22.2505, 390.636, 124.853, -65.7515, 21.0519, 80.5353, 73.7944, 7.61247, 29.269, 119.968, 17.3605, 20.3198, 10.4502, -25.2877, 22.1264, 72.1742, 369.995, -5.68748, 11.8066, 50.6633, 173.014, -16.4234, 51.4102, 99.1137, 242.912, 9.02829, -77.6078, 7.24242, 528.138, 304.759, 189.418, 159.408, 179.094, 21.2023, 215.018, 6.69187, 0.00887041, 21.1965, 22.7721, 16.2251, 96.8354, 365.602, 347.427, -0.262678, 59.5886, 79.8423, 278.584, 145.429, 323.227, 54.4142, 10.4668, 76.9657, 284.822, 68.987, 825.444, 189.224, 40.9088, 1.28765, 2874.21, 69.2813, 288.84, 286.696, 481.875, -0.170312, 22.9568, 311.733, 331.046, 7.13579, 18.7409, 2532.58, 528.613, 548.603, 31.1731, 80.8461, 33.7246, 10.1153, 268.561, 155.212, 5.48352, 16.9418, 361.75, 179.567, 217.952, 4233.25, -13.5292, 212.173, 60.0119, 338.307, 315.376, 177.603, 1.57145, 166.478, 29.04, 46.9514, 42.201, 211.624, 36.6217, 340.978, 25.7452, 314.818, 270.719), E = c(64.4939, 24.3986, 5.94492, 36.8663, 56.1744, 49.5822, 236.976, 41.3488, 22.2475, 16.9028, 414.165, 29.0704, 54.9849, 25.0496, 15.3157, 137.39, 83.4986, 38.113, -29.9097, 152.327, 109.355, 56.396, 9198.53, 40.5637, 99.6214, 34.4854, 21.1038, 24.0568, 127.068, 30.9068, 36.449, 50.3563, 72.3561, 38.7689, 23.3383, 82.8794, 33.5234, 10.7876, 95.3272, 163.14, 193.159, 859.045, 11.4879, -45.8195, 38.9076, 2813.41, 3973.08, 4775.69, 3090.42, 4237.75, 4789.47, 76.4602, 5.07097, 27.6003, 41.1004, 571.461, 390.73, 96.9881, 190.287, 55.4916, 59.3796, 167.976, 186.738, 136.675, 30.0487, 43.4217, 218.95, 24.8622, 10.0734, 1.39476, 23.0263, 183.237, 102.385, 88.0268, 75.8551, 3378.38, 3.59555, 65.0242, 12.96, 99.2189, 89.2497, 121.01, 22.2028, 26.8139, 90.0344, 74.5531, 679.41, 13.4006, 117.134, 13.4128, 3201.35, 23.3641, -5.30554, 20.1253, 9.54839, 38.7718, -4.62199, 348.54, 13.8821, -18.3141, 17.2074, 306.792, 104.859, 12.6733, 94.0531, 21.6537, 43.6782, 89.4138, 13.6566, 38.0548, 189.276, 28.5149, 31.4913, 361.772, 62.0669, 152.595, 177.347, 153.814, 91.3033, 15.3481, 24.1763, 8.74242, 240.273, 138.468, 23.0748, 35.8972, 66.074, 44.1937, 52.9221, 25.4535, 11.5091, -23.6341, 138.393, 25.068, 22.5468, 407.637, 4.04739, 20.0476, 77.704, 82.5094, 63.1586, 81.2566, -14.8375, 83.8227, 92.7443, 3811.76, 193.545, 134.644, -17.3857, 19.9229, 7.74658, 340.509, 73.6392, 1432.34, 18.8084, 8.87588, 2627.62, 35.1561, 5.30396, 70.8928, -13.8029, 11.239, 114.716, 5.44362, 21.3368, 204.602, 136.36, -2.31789, 85.5356, -0.247811, 173.264, 12.6704, 90.7857, 104.594, 247.158, 4.83192, 69.3472, 89.6663, 20.5333, 1435.34, 31.4634, 47.8388, 21.6173, 36.6126, 304.094, 90.4853, 176.797, 5.51239, 1034.81, 42.2959, 31.9282, 561.815, 1445.61, 83.6597, 137.314, 20.7974, 284.287, 58.4877, 96.2139, 114.396, 572.889, 50.0257, 21.7261, 215.397, 4848.85, 138.355, 95.7016, 41.1985, -2.8474, 63.9182, 17.0448, 325.229, 66.8436, 43.8797, 22.1161, 26.9722, 17.6747, 416.37, 132.339, 1.41274, 8.88926, 27.3809, 6.57349, 1139.67, 7.90949, 16.9425, 161.962, 13.7585, 621.043, 94.3556, 8.18545, 198.797, 207.15, 13.595, 59.9965, 156.247, 37.4272, 1797.91, 173.597, -7.73911, 9.15676, 1813.15, 55.28, 44.1372, 139.674, 139.307, 5.67999, 12.0538, 199.397, 6.77999, 120.684, 14.8007, 385.285, -3.4299, 2.18153, 91.8316, 48.117, 367.658, 114.124, 65.8494, 65.9354, 7.48233, 143.672, 199.44, 657.109, 4029.17, 59.3436, 49.4573, 1927.59, 2961.98, -33.9927, 3411.82, 60.5111, 0.298467, 181.269, 74.6144, 37.7439, -110.18, 19.0457, 29.6359, 60.9489, 28.0187, 26.8489, 33.3419, 85.0067, 133.816, 137.412, 3241.26, 98.0283, 395.614, 184.099, 94.8942, 42.2762, 101.342, 40.6483, 253.774, 923.643, 25.4809, 3804.5, 17.1477, 16.7315, -17.8845, 7.19612, -99.2543, 328.887, 4042.05, 1991.19, 456.9, 35.7412, 22.631, 114.018, 19.7603, 118.914, 4.47381, 312.442, 141.333, 73.7581, 6317.23, 44.7439, 90.1649, 47.5125, 41.0167, -5.88861, -1.31689, 50.2078, 52.9975, 306.946, 55.2381, 2807.46, 62.2553, 56.1606, 18.2972, 71.7201, 2288.21, 16.0303, 192.889, 24.1359, 11.582, 35.1956, 138.472, 19.3633, 31.5201, 22.3016, 3295.13, 3040.62, 40.9435, 198.743, 166.185, 27.0079, 111.59, 289.5, 51.6072, 128.174, 116.62, 195.124, 94.2059, 1940.92, 1827.06, 58.5186, 45.1064, 124.442, 118.75, 94.8991, 1.10459, 101.25, 72.7004, 8.5148, 48.5702, 238.499, 1447.28, 122.661, 5.3293, 28.0415, 86.0212, 128.135, 76.4239, 12.8664, 30.3877, 19.3263, -8.55452, 403.789, 426.469, 2773.18, 1844.36, 82.3998, 13.0372, 153.673, 352.845, 23.6871, 15.78, 55.5372, -18.7618, 23.9722, 41.5831, 271.406, 120.728, 224.949, 541.299, 233.333, 22.2221, 254.824, 155.811, -35.171, 6.93843, 43.0696, 91.5986, 1.78595, 36.7053, 81.0342, 52.6775, 32.0319, -14.4679, -24.2608, 21.3777, 62.3007, 286.02, 11.041, 8.48455, 68.3051, 128.355, 36.9841, 152.66, 37.0811, 168.305, -7.80055, -37.1137, 9.36955, 753.432, 304.638, 180.115, 366.813, 162.324, 51.4895, 425.48, 11.9353, 37.1344, 11.3044, 15.0707, 2.81377, 87.062, 890.038, 275.697, 82.7545, 48.8611, 134.64, 442.328, 92.7822, 297.06, -4.19166, 23.5474, 210.476, 284.862, 326.488, 643.018, 149.103, 57.9264, -4.35968, 2422.79, 90.8871, 214.643, 214.658, 673.626, -14.3901, 23.2702, 253.467, 314.393, 14.1398, 21.0437, 2730.59, 458.75, 440.822, 101.206, 71.8985, 27.3093, 2.20914, 193.891, 125.925, 20.2388, 16.0322, 1773.4, 1622.36, 167.252, 4208.54, -1.83895, 194.467, 52.4202, 155.889, 170.929, 146.268, -3.25423, 92.3306, 28.2821, 36.1026, 52.9031, 105.939, 26.8284, 356.127, 14.4032, 238.684, 212.025), F = c(76.3569, 85.5088, 28.2925, 11.2568, 42.6756, 26.1262, 156.803, 37.978, 61.6401, 5.33328, 654.078, 19.5271, 58.0877, 12.4804, 16.6833, 104.159, 73.1986, 51.0869, -26.9004, 159.505, 98.1799, 31.3003, 8729.83, 28.5819, 59.8854, 15.9339, 26.0026, 19.8649, 65.0798, 19.4564, 27.137, 34.748, 104.56, 19.4119, 20.5827, 69.0769, 38.0418, 3.04198, 81.5155, 147.757, 163.458, 552.006, 13.402, -30.6321, 22.4197, 2773.8, 3533.69, 4276.28, 4859.32, 5339.43, 6045.84, 61.8061, 13.5139, 64.2732, 66.8357, 534.92, 557.232, 97.7246, 183.791, 74.0598, 72.8653, 158.024, 209.394, 66.7261, 42.101, 45.9945, 234.313, 12.8276, 12.8547, 13.4486, 17.9294, 129.778, 93.4386, 90.2193, 65.7247, 265.693, 2.95618, 1.60701, -0.761071, 25.1805, 113.248, 128.501, 13.2872, 33.0942, 143.403, 62.9061, 472.386, 9.46665, 146.648, 20.1751, 2055.84, 10.4128, 1.51498, 7.61478, 10.1273, 50.1046, 17.1919, 416.904, 16.3986, 316.922, 31.7997, 271.918, 140.767, 3.43293, 93.2234, 30.2287, 60.9735, 81.2301, 13.1852, 15.6828, 244.004, 8.03442, 41.195, 450.588, 101.569, 122.576, 203.771, 165.58, 47.3593, -0.578794, 40.8826, 19.258, 317.049, 95.6767, 35.6291, 37.5118, 9.52143, 26.7085, 57.821, 7.38804, 21.5466, -4.09123, 174.045, 26.0275, 28.2087, 372.743, 7.89114, 9.26315, 77.7341, 92.1451, 40.0276, 59.0001, 11.3105, 109.624, 71.8631, 2826.91, 183.907, 115.486, 30.823, 25.6218, 4.40317, 456.183, 42.8331, 1406.38, 9.25876, 21.9462, 3057.25, 43.3653, 13.7308, 45.042, -5.66411, 1.81244, 92.4059, 3.38841, 27.4057, 195.913, 170.641, 13.7318, 77.4835, 11.8705, 170.034, 27.2993, 48.4951, 112.256, 288.233, 15.8018, 90.4763, 135.063, 17.4997, 1447.35, 20.3943, 9.1535, 11.2232, 52.4492, 263.404, 88.8359, 240.531, 13.914, 952.742, 25.8131, 33.9627, 399.248, 981.156, 99.5194, 113.287, -3.55475, 321.253, 64.8132, 153.21, 108.544, 689.428, 40.1967, 24.1371, 219.8, 6103.53, 183.204, 117.629, 66.3195, 1.21957, 50.7251, 13.9721, 215.827, 33.5278, 29.0743, 26.98, 3.84226, 15.2119, 416.473, 94.0782, 5.65606, 6.8239, 29.7649, 33.117, 922.994, 2.95855, 25.7804, 182.436, 14.506, 558.625, 50.9544, 7.1015, 232.798, 176.539, 13.849, 55.0411, 112.844, 38.1649, 2629.76, 208.982, 8.91111, 3.69219, 2237.49, 87.4336, 29.7085, 92.6406, 108.641, 12.5881, 24.5561, 277.109, 0.0555992, 168.556, 21.9422, 242.008, 13.2175, -5.18207, 67.707, 18.8392, 200.762, 93.2498, 131.197, 38.8349, 11.7789, 150.893, 281.69, 697.327, 2363.54, 98.4533, 49.2495, 1184.74, 1743.97, -146.388, 2625.96, -0.550366, -20.5783, 166.122, 111.555, 47.8556, -13.3038, 10.5148, 96.0369, 50.6197, 17.8413, 29.8171, 29.9881, 68.2329, 338.401, 242.223, 3103.45, 51.3296, 407.96, 247.109, 131.532, 38.6406, 100.263, 14.9409, 363.97, 1696.09, 55.9993, 3141.21, 10.7468, 9.4833, -10.1759, 4.94772, -94.8137, 363.273, 3357.76, 1370.01, 1055.43, 37.2194, 11.6967, 151.487, 45.4293, 122.312, 9.85712, 312.931, 619.899, 86.0735, 6098.96, 35.2556, 118.982, 42.6033, 50.3781, 8.79439, 10.0094, 77.1799, 41.375, 356.719, 79.1635, 2399.43, 93.6127, 87.3683, 8.51886, 80.539, 1489.71, 23.1329, 196.416, 32.6198, 28.1255, 27.9306, 120.298, 36.3136, -6.53911, 11.5249, 1818.98, 2629.42, 20.5239, 25.569, 176.01, 16.4979, 106.83, 255.7, 47.4432, 202.329, 148.584, 166.122, 72.5939, 1147.63, 1571.36, 64.2836, 40.9947, 149.732, 6.98837, 76.7431, 32.6061, 241.995, 193.953, 71.849, 43.091, 231.441, 1173.24, 148.46, 6.25035, 27.2836, 61.9131, 116.848, 61.847, 26.8595, 6.40947, 30.8911, 0.516717, 420.763, 460.661, 1361.44, 591.884, 53.3154, 11.9007, 168.517, 250.081, 17.9015, 16.7667, 7.98321, -32.7506, 44.1567, 33.2017, 203.785, 118.136, 30.1383, 623.624, 321.933, 15.0102, 304.391, 109.031, -35.2096, 7.28756, 68.1562, 76.94, 3.84083, -8.66032, 74.518, 45.4732, 5.2473, 0.674253, -38.8464, 58.6034, 54.2982, 400.585, 1.74185, 11.5801, 59.9533, 165.597, 41.3708, 49.7561, 53.7959, 173.169, 1.11088, -44.2055, 0.345534, 788.229, 233.738, 193.153, 503.509, 170.926, 47.5674, 250.997, 5.58086, 23.2777, 19.559, 32.0773, 10.4892, 84.8054, 591.492, 310.91, 89.6526, 62.3684, 388.848, 401.377, 87.3499, 492.338, 28.0653, 9.77436, 165.732, 180.625, 486.538, 543.039, 110.879, 53.3282, -2.68911, 2656.67, 48.7383, 212.146, 226.983, 507.041, -4.7378, -7.00055, 303.127, 344.683, 12.0315, 20.7854, 2086.7, 136.541, 442.067, 55.9435, 39.8863, 38.2014, 6.7952, 184.694, 172.747, 11.6976, -5.41524, 1350.98, 1425.73, 166.823, 3207.93, -5.10412, 250.141, 35.7243, 188.316, 202.637, 156.022, -13.1372, 78.0865, 51.5613, 33.0572, 43.5617, 171.992, 38.991, 279.015, 27.166, 205.697, 225.357), G = c(160.505, 98.9086, 30.9694, 23.0034, 86.5156, 75.0083, 211.257, 110.551, 33.6623, 25.1182, 704.781, 56.3164, 96.632, 21.9102, 93.1759, 296.287, 110.631, 69.0242, -45.6312, 316.931, 177.533, 84.8437, 10085.3, 49.2893, 129.419, 55.8445, 47.7015, 57.4157, 262.579, 18.5628, 59.6477, 26.4046, 103.898, 42.146, 42.6331, 147.797, 60.9828, 9.54646, 152.298, 169.078, 145.287, 499.943, 20.5481, -56.7485, 67.8308, 1331.06, 3001.52, 3922.8, 4656.49, 5809.61, 5387.85, 84.3291, 0.756365, 54.4841, 73.8793, 622.534, 510.803, 84.813, 146.505, 51.5387, 80.7284, 194.901, 226.182, 56.4972, 40.503, 95.5123, 367.258, 68.4181, 10.4643, 5.74156, 35.7209, 270.832, 183.729, 117.556, 93.8117, 2347.97, -6.84587, -3.51601, 16.7883, -6.77262, 143.695, 173.604, 25.7165, 22.5593, 95.8189, 100.242, 875.514, 5.64484, 159.059, 12.8777, 1445.57, 56.5075, 6.67706, 20.3672, 16.6175, 71.0378, 0.121618, 770.457, 16.0536, -21.241, 35.6843, 289, 130.207, 23.7289, 76.6311, 28.5373, 41.6551, 103.677, 23.7724, 24.5001, 227.616, -17.4642, 88.1088, 390.704, 46.2814, 241.579, 239.095, 246.333, 68.2692, 3.72669, 43.3918, 34.893, 430.311, 139.544, 18.7085, 39.5034, 65.418, 60.8044, 87.8751, 20.2779, 30.6158, -1.06324, 181.367, 59.5764, 46.5235, 526.11, 11.1662, 24.8809, 125.538, 107.588, 102.268, 71.5763, 19.1748, 97.0634, 86.1694, 2280.98, 185.979, 143.129, 59.7806, 20.6691, 4.16593, 458.62, 80.0684, 1405.23, 114.141, 15.0017, 2784.51, 67.3431, 12.9932, 82.6335, 2.46988, 8.19852, 126.301, 58.2465, 21.3715, 342.757, 92.0834, -0.662, 132.709, -6.37538, 173.21, 7.82848, 145.062, 126.06, 389.761, 28.5087, 95.2023, 151.083, 18.2265, 1746.7, 81.1804, 13.7397, 33.0161, 80.331, 500.006, 168.432, 199.011, 22.4592, 1266.08, 96.4681, 52.4657, 165.172, 439.903, 58.831, 232.393, 20.3798, 390.69, 76.8212, 102.604, 115.513, 694.082, 95.4191, 31.7582, 292.824, 4843.85, 243.369, 150.37, 73.6126, 13.5536, 84.8325, 44.2015, 397.304, 52.6378, 56.2434, 58.5563, 48.2016, 22.27, 533.109, 180.547, 10.7022, 15.3744, 66.0203, 2.8568, 380.877, 23.7808, 23.4922, 192.561, 18.2562, 395.242, 160.002, 25.6545, 277.682, 44.8341, 3.6194, 64.0872, 145.975, 51.5657, 143.639, 241.318, 16.6696, 22.2736, 979.66, 101.48, 14.9272, 194.998, 272.543, 30.1638, 38.2265, 156.142, 4.26759, 162.979, 25.2755, 123.551, 23.4759, 2.36219, 141.662, 36.5043, 675.211, 135.162, 74.976, 206.357, 20.2907, 205.251, 318.483, 363.072, 1549.66, 74.9918, 77.6235, 730.908, 2267.07, -15.9843, 2228.87, -1.32209, 16.2259, 287.157, 113.905, 28.5838, -71.7309, 6.32725, 59.1934, 103.09, 124.573, 168.993, 274.755, 452.09, 306.868, 62.5394, 2406.87, 759.884, 520.693, 322.543, 99.4452, 69.2543, 82.2784, 47.2046, 302.587, 425.728, 70.1185, 2643.65, 25.8529, 15.5019, -27.9583, 21.1836, -159.404, 411.162, 1610.64, 847.52, 619.837, 55.6259, 11.2342, 129.321, 29.6711, 128.191, 2.12969, 458.098, 967.869, 139.49, 6744.25, 61.7619, 125.268, 63.4657, 70.7754, -29.0252, -4.19204, 91.809, 69.6631, 308.223, 148.843, 1253.53, 95.4669, 58.6777, 7.81241, 103.607, 1040.22, 28.6589, 235.102, 44.9815, 24.0025, 19.831, 212.84, 31.8595, -26.5714, 32.8036, 1424.39, 1609, 42.2412, 3.4899, 146.294, 31.1852, 70.3539, 367.704, 74.8138, 210.733, 73.2453, 290.952, 154.544, 1375.25, 1880.28, 115.808, 67.2951, 125.921, 2.02108, 142.316, 36.4292, 130.832, 87.7579, 13.7819, 62.8137, 131.189, 1762.44, 234.36, 2.26835, 24.7566, 130.982, 267.213, 50.1711, 11.7085, 45.9508, 47.0628, -5.0788, 642.114, 690.187, 1158.76, 224.69, 129.032, 10.1764, 219.981, 320.364, 48.4923, 22.6838, 4.00794, -51.6805, 40.6299, 62.9865, 405.183, 213.955, 349.216, 787.593, 375.517, 52.7782, 576.754, 133.512, -81.2397, 30.8676, 93.9739, 116.764, 0.861936, 27.6728, 110.052, 89.8018, -26.8523, -29.9146, -33.5474, 49.7079, 33.9368, 323.446, -2.84178, 19.3021, 63.4884, 134.071, 91.5641, 27.7786, 94.1995, 219.683, 4.70264, -76.1152, -7.59186, 770.503, 487.319, 190.619, 146.871, 193.463, 1.49736, 433.626, 8.95326, 8.46145, 32.2166, 30.7369, 82.9398, 163.432, 487.778, 308.937, 30.117, 41.7749, 39.3079, 288.488, 121.753, 478.74, 36.5597, 17.859, 50.2198, 371.859, 670.302, 2002.02, 224.547, 64.1557, 0.410534, 1522.33, 91.8752, 293.092, 308.702, 576.066, 6.09243, 32.27, 284.832, 318.128, -0.548151, 16.6889, 722.22, 571.163, 667.587, 45.1672, 90.5216, 47.5207, 17.3392, 314.547, 112.627, 11.9066, 15.2477, 1232.75, 2182.13, 212.534, 2586.28, -28.1626, 273.352, 88.6858, 235.716, 288.56, 147.061, -52.4786, 182.97, 36.2152, 33.1716, 58.5177, 181.279, 70.0673, 393.73, 35.3598, 400.955, 267.019), H = c(65.9631, 81.6932, 14.7923, 16.2134, 30.7927, 42.3352, 235.994, 47.769, 31.4423, 38.7576, 472.087, 36.2044, 52.731, 23.772, -2.286, 110.536, 116.742, 51.7352, -62.9474, 152.188, 124.795, 33.4283, 5398.15, 7.59488, 52.935, 20.0904, 23.8035, 18.3142, 67.9807, 5.85058, 26.2214, 35.91, 61.4678, 26.795, 20.733, 53.9483, 40.4661, 5.0816, 122.23, 255.646, 144.067, 701.339, -18.0681, -50.5899, 46.573, 3409.56, 3670.05, 4113.84, 4652.41, 5529.77, 4934.23, 72.5007, 21.6755, 49.6503, 123.648, 645.022, 405.539, 174.681, 138.473, 76.3049, 41.9885, 175.705, 186.137, 61.5467, 32.3343, 28.5536, 190.158, 19.6626, 1.0001, 19.8489, -3.43857, 126.72, 113.821, 124.49, 48.9977, 1474.59, 6.59068, 26.293, 15.1744, 31.0988, 164.839, 105.427, 15.3515, 7.64309, 75.7023, 58.9412, 426.069, 22.7863, 93.8675, 36.6998, 3752.44, 15.5375, -37.2626, 40.972, 2.83778, 29.8097, 7.85899, 383.393, 8.59187, -14.6747, 22.0106, 314.445, 91.1368, 3.31941, 55.9907, 13.6873, 85.1964, 75.6375, 24.9673, -19.4126, 154.493, 9.51653, 7.00295, 172.512, 54.844, 206.315, 114.929, 161.489, 18.9867, 17.967, 20.58, 16.5985, 317.839, 68.4194, 0.632673, 24.8422, 42.741, 55.0761, 29.1132, -9.59971, 1.92886, 24.2057, 212.31, 23.1776, 46.685, 327.569, -19.7231, 16.127, 102.909, 89.4731, 88.002, 55.5039, 3.78602, 98.7201, 59.1011, 3677.21, 168.304, 97.5727, 62.7741, 6.98695, 7.7722, 287.765, 31.1771, 1034.85, 41.1973, 14.484, 1973.97, 26.3003, 13.0387, 70.2444, -23.7586, 3.61405, 144.866, 12.9588, 12.1978, 228.561, 69.1006, -12.9076, 33.1189, -12.0223, 107.954, 20.2041, 56.6382, 72.1951, 231.902, 4.51244, 59.7258, 97.1518, 14.8023, 1446.33, 31.1922, 17.7331, 23.9397, 34.4429, 275.279, 89.5355, 150.161, 12.1368, 733.126, 33.8044, 32.9493, 428.544, 908.692, 55.2216, 122.623, 12.5489, 234.033, 12.3606, 79.2471, 132.363, 477.632, 48.276, 18.9685, 170.293, 3218.18, 133.185, 71.059, 42.2979, 17.1591, 62.4136, 20.5905, 328.759, 23.5485, 28.9632, 32.4677, 15.6095, 29.6611, 263.733, 83.1204, 10.8203, 0.0645667, 20.8901, 17.402, 2317.54, -1.71971, 15.5579, 175.414, 17.9223, 132.269, 49.3328, 20.0075, 161.866, 96.6339, -1.22723, 28.5114, 69.8331, 19.9071, 3594.62, 184.264, 36.2862, -0.250289, 2657.7, 66.4338, 45.9629, 158.683, 84.2689, 11.0174, 12.8382, 461.884, 1.2479, 186.49, 40.9668, 410.214, 35.1459, 7.58523, 86.1551, 74.4591, 147.043, 50.2503, 155.398, 38.0677, 17.9086, 81.876, 262.617, 923.903, 3372.24, 65.0195, 56.1913, 1989.38, 3297.89, -48.9684, 3520.01, 21.7884, 29.6134, 186.365, 93.1961, 103.971, -22.6964, 8.73567, 93.5217, 99.9293, 319.164, 444.212, 623.513, 437.966, 126.152, 79.5352, 4437.69, 981.041, 287.177, 166.311, 91.5453, 43.8078, 137.337, 17.6704, 163.841, 1149.64, 21.6281, 4237.01, -4.72068, 6.06603, -8.07375, 31.8066, -59.8348, 267.843, 4094.25, 2536.1, 392.48, 30.4019, 16.2788, 103.038, 23.8032, 63.9377, -3.16035, 280.371, 679.892, 60.1188, 5272.74, 36.681, 77.0613, 9.46983, 82.3953, 23.5921, 7.82025, 53.0366, 38.2291, 162.251, 71.3313, 3289.3, 71.1382, 36.5156, 10.9756, 96.3876, 2250.24, 23.9772, 155.927, 11.0189, 32.6098, 26.072, 63.7697, 10.0424, 54.173, 28.7016, 3204.18, 2521.5, 14.6506, 45.914, 140.744, 55.0265, 55.2523, 173.877, 40.5893, 88.8999, 244.048, 208.946, 84.1878, 1234.61, 1959.86, 100.845, 34.196, 121.971, 6.00279, 65.4532, 25.6252, 205.105, 145.486, 14.5797, 28.9883, 418.138, 1054.41, 192.451, -6.77577, 3.52808, 43.4975, 133.57, 29.8818, 5.54331, 28.0327, 17.1614, 4.50518, 438.525, 568.957, 1341.85, 823.083, 11.0206, 5.28213, 145.935, 238.488, 20.9897, 17.3526, 5.4934, -24.8509, 27.9785, -11.0401, 170.731, 60.0793, 147.971, 354.996, 333.375, 37.7786, 352.022, 115.454, -30.8254, 9.93972, 47.3987, 68.3317, 67.7091, 49.2164, 77.5302, 36.9154, 8.39283, 4.92543, -20.5218, -0.730059, 47.7373, 518.214, 9.22062, -24.8561, 49.1153, 105.805, 29.2637, 15.3461, 45.0949, 179.074, 12.3872, -16.1917, 9.87644, 785.672, 164.981, 181.252, 397.135, 215.004, 56.6237, 304.372, 25.614, 65.028, 8.81296, 18.3069, 9.54185, 25.4821, 1084.56, 225.453, 44.6071, 38.2034, 47.3505, 405.11, 80.4995, 317.942, 19.5663, 18.4398, 160.898, 180.688, 313.737, 1445.36, 99.1103, 48.6681, 12.3674, 2653.13, 83.7136, 229.497, 249.714, 488.489, 54.2498, 23.6874, 174.373, 258.626, 72.8444, 5.42297, 3475.67, 259.205, 396.013, 56.4187, 31.3486, 48.0814, 13.669, 168.408, 159.795, 29.286, 0.992278, 1970.63, 2206.93, 93.7185, 4695.35, -8.87077, 220.34, 81.2755, 132.113, 159.9, 87.984, -9.8868, 88.2923, 38.6535, 7.80274, 8.33834, 164.635, 37.4181, 173.935, 21.2248, 218.935, 213.479), I = c(56.9039, 97.8015, 14.2399, 12.0375, 19.7183, 41.1207, 175.64, 24.7875, 23.1008, 31.4041, 456.496, 34.4118, 35.4588, 24.184, 9.00485, 123.767, 149.329, 48.4943, -31.4359, 182.803, 86.0768, 42.3172, 7851.25, 23.629, 64.1861, 24.7383, 11.3737, 13.9659, 67.9566, 26.2278, 8.82339, 25.1295, 95.496, 20.6417, 25.9931, 55.5277, 39.5032, 6.61344, 91.9547, 135.592, 138.774, 662.183, -71.7969, -43.3654, 53.0483, 2500.59, 3411.11, 3853.04, 4628.45, 5465.07, 5404.54, 62.1373, 48.0582, 49.8266, 46.3265, 539.881, 420.27, 121.429, 101.841, 67.6596, 49.3447, 155.066, 240.654, 30.8823, 25.8423, 35.7027, 208.684, 14.2983, 2.92394, 15.392, 7.00862, 159.539, 77.6879, 71.3888, 44.6516, 966.339, 18.009, 14.3594, 16.2639, 32.865, 135.098, 124.688, 10.4324, -158.624, 77.4182, 52.9351, 541.812, 9.68571, 110.694, 21.3595, 3766.64, 11.7948, -41.5181, 32.1378, 18.3991, 44.214, 25.6868, 332.747, 20.8813, -22.3464, 41.9897, 372.205, 89.3285, 0.688826, 47.3014, 7.46991, 87.8979, 69.1955, 24.0044, -5.65372, 178.113, -27.5173, 16.9593, 308.891, 51.437, 180.81, 116.305, 257.957, 28.8561, 41.9913, 9.78746, 32.055, 337.631, 78.1148, 14.6921, 15.7892, 72.4446, 46.0098, 38.0461, -7.25167, -77.7694, -6.12358, 151.401, 50.853, 31.6659, 375.203, -15.4885, 23.6577, 82.6901, 79.2893, 77.364, 64.7703, -5.01044, 70.8695, 109.516, 3949.6, 143.33, 95.621, 43.3468, 17.4263, 0.0576889, 316.743, 36.0296, 1039.75, 20.8679, -7.13015, 2136.31, 32.4043, 35.4223, 57.7617, -19.3941, 15.0063, 137.011, 15.0828, 10.3074, 209.233, 26.6425, 75.8138, 42.3457, -12.372, 129.54, -0.808758, 115.298, 111.984, 277.088, 48.9072, 60.702, 89.4102, 11.8831, 1280.76, 7.54955, 21.8121, 26.8602, 27.1097, 276.223, 69.8056, 141.762, 9.92208, 471.624, 18.7722, 34.121, 330.872, 803.91, 89.2639, 202.322, 17.1598, 204.002, 19.8715, 69.9369, 139.112, 475.68, 38.5653, 10.3207, 179.287, 5019.1, 131.735, 96.5819, 52.7207, 118.578, 66.3749, 11.2237, 262.136, 37.3264, 37.2226, 44.4505, 9.80769, 28.258, 311.98, 145.188, -13.876, -6.60292, 27.446, 52.3413, 1437.92, 14.9031, 6.43931, 191.186, 62.2038, 533.959, 52.2601, -0.812122, 163.045, 97.5818, 4.27843, 49.925, 117.116, 26.2354, 107.634, 183.655, 44.0061, 10.6966, 1861.3, 68.6117, 55.3026, 120.201, 143.756, 24.2935, 7.63267, 273.163, 6.46505, 130.595, 24.3482, 570.118, 10.9965, 18.2516, 73.701, 42.386, 281.665, 51.0993, 156.168, 71.8904, 15.0406, 96.8189, 267.787, 1033.72, 4213.76, 63.4817, 29.8674, 2468.85, 3093.27, -23.3657, 4172.56, 54.6128, 25.3713, 141.131, 50.7424, 64.7935, 39.3548, 9.35458, 97.9677, 77.4194, 36.3783, 56.15, 80.5102, 160.375, 422.177, 186.838, 4189.58, 261.971, 290.421, 145.819, 110.678, 30.1821, 62.6842, 32.8513, 212.074, 1073.22, 14.7815, 4803.12, -52.8976, 9.0613, -7.8137, 12.2626, -79.6776, 256.768, 4118.03, 2597.5, 487.991, 32.4547, 22.1637, 87.9791, 31.6146, 66.199, 23.917, 219.436, 676.787, 66.6259, 6602.19, 28.4735, 96.0434, 31.4449, 51.5631, 62.1528, 14.7575, 38.9174, 50.5804, 226.292, 1.33535, 3972.17, 79.3392, 82.5123, -8.05703, 57.3154, 2779.82, 50.7459, 362.999, 31.716, 45.9685, 32.3122, 83.0068, 17.4939, 25.959, 15.3953, 3793.5, 2909.96, 28.6528, 32.7872, 125.396, 45.0034, 59.3125, 207.221, 67.8755, 95.7511, 134.838, 221.671, 92.718, 953.289, 1358.65, 115.183, 42.0618, 260.924, -5.67053, 106.906, 15.4698, 86.5805, 138.179, 6.36567, 42.2539, 263.136, 1555.94, 152.362, -0.750177, -10.2169, 39.3872, 10.9171, 38.3977, 24.2579, 37.0798, 22.001, -68.9469, 364.56, 513.066, 1020.6, 725.306, 74.2402, 4.32573, 152.556, 149.95, 30.4155, 9.87658, -2.83936, -14.2585, 37.5048, -4.54525, 231.427, 40.9725, 179.04, 472.655, 298.223, 30.6501, 226.595, 217.446, -11.2347, 7.99247, 44.5376, 34.1872, 56.2715, 65.826, 68.4123, 33.5924, 27.0132, -0.932949, -26.6856, 22.9653, 54.7115, 385.224, 52.8945, 4.19935, 39.7645, 126.784, 10.7498, 25.48, 30.5649, 230.8, -49.7404, -19.0299, 0.534617, 761.77, 199.883, 145.558, 381.822, 330.34, 130.641, 331.091, 19.2022, 61.6367, 3.28127, 21.4743, 21.9916, 58.4991, 676.788, 206.801, 256.74, 53.8124, 250.424, 275.746, 49.6752, 682.774, 5.10634, 24.2536, 265.575, 259.757, 114.583, 789.964, 113.886, -120.217, -17.5734, 3283.41, 77.2334, 190.75, 246.745, 438.071, 17.5467, -6.3988, 190.05, 250.068, 65.1947, 22.333, 2626.26, 342.48, 354.569, 97.9919, 39.7226, -4.73579, 71.337, 140.925, 253.267, 39.1377, -0.0626833, 2094.61, 2349.06, 100.454, 5027.34, -5.0921, 197.648, 33.0178, 154.763, 215.446, 74.4776, -30.5011, 71.1762, 78.434, 9.63535, 38.429, 95.5045, 35.9276, 350.806, 41.0651, 155.007, 147.564), J = c(135.608, 90.4838, 34.4874, 4.54978, 46.352, 91.5307, 229.671, 66.7302, 39.7419, 0.398779, 601.335, 54.0765, 60.2642, 29.7032, 13.1253, 165.21, 113.737, 66.3324, -26.3253, 275.02, 143.596, 124.882, 9906.75, 57.0429, 101.061, 38.8725, 40.5822, 37.3897, 85.4896, -16.7811, 58.4851, 49.3878, 74.32, 31.5766, 36.5884, 127.344, 29.8857, 16.9064, 129.385, 134.197, 161.823, 603.143, 14.8066, -24.1965, 49.6252, 1397.65, 2582.35, 4196.47, 1871.55, 2697.63, 3957.01, 52.7505, -1.9, 33.6619, 105.523, 538.821, 404.586, 82.7721, 231.526, 65.5417, 103.837, 254.894, 167.249, 63.5263, 33.6277, 82.7237, 447.998, 22.9679, 17.0239, 6.46696, 14.6832, 173.033, 173.092, 236.388, 95.0014, 1603.25, -4.79112, 14.3931, 12.9168, 45.525, 123.521, 160.284, 63.7235, 52.2413, 115.725, 76.4369, 647.946, 10.8287, 196.504, 30.8472, 2082.26, 24.9831, 7.45908, 29.2904, 3.96332, 63.3964, 5.05391, 523.434, 3.81431, -26.9582, 25.5166, 272.893, 104.55, -3.29841, 29.0413, 34.7569, 123.341, 136.982, 21.1208, 33.4306, 252.045, 28.2319, 46.8118, 460.704, 36.2471, 140.332, 322.058, 301.488, 28.6611, 17.8804, 69.2656, 30.5353, 428.04, 89.2726, 21.6357, 40.5838, 64.8148, 81.0943, 89.0303, 9.78984, 31.5737, -64.844, 181.883, 69.0185, 36.0617, 396.731, -5.39451, 18.3907, 135.384, 99.2002, 102.87, 97.414, 815.247, 102.809, 87.5921, 3294.23, 293.865, 170.835, 57.4489, 14.6789, 20.4225, 467.575, 65.7655, 1022.23, 36.5604, 17.9342, 2621.21, 69.9044, 5.62125, 61.0467, 7.16121, 8.74683, 159.503, -6.5198, 30.0345, 215.707, 242.766, 9.23312, 122.68, -3.09805, 230.551, 25.0568, 73.4859, 148.278, 309.373, 29.2142, 133.58, 161.551, 25.4871, 1284.19, 110.777, 27.8657, 33.4392, 99.1692, 382.291, 180.04, 290.715, 26.878, 1354.88, 49.6606, 32.0053, 100.544, 275.601, 139.466, 145.483, 18.9868, 350.785, 62.5827, 142.035, 166.257, 824.404, 54.5118, 41.2395, 214.626, 2876.39, 117.19, 145.883, 77.1433, 21.0514, 88.9109, 35.9333, 342.005, 31.9545, 92.5985, 53.7139, 21.4681, 27.0079, 421.99, 191.869, 10.0729, 24.6545, 73.4274, -5.67084, 508.396, 16.2005, 20.4873, 199.64, 20.8818, 602.088, 53.0939, 11.985, 283.946, 33.3808, 7.65265, 79.7055, 179.645, 71.8716, 2280.1, 271.502, 18.3756, 16.292, 899.497, 106.102, 36.3051, 172.514, 84.6076, 14.9555, 42.3853, 76.7314, 9.74661, 177.697, 28.1345, 79.7277, 46.0504, 3.37234, 173.442, 37.7323, 281.782, 192.507, 65.114, 54.3543, 28.8901, 207.512, 302.66, 312.493, 2511.98, 115.631, 84.6329, 767.382, 1931.97, -74.91, 2442.8, 6.76813, 9.87214, 280.934, 164.196, 45.6826, -55.5401, 11.0881, 126.062, 188.277, 17.0563, 95.9991, 148.692, 109.747, 149.315, 464.839, 2018.08, 295.362, 520.54, 361.875, 118.235, 39.8868, 76.292, 52.8225, 393.946, 411.312, 82.4469, 3684.05, 5.70422, 15.3688, -18.2261, 20.1009, -139.096, 322.853, 3536.29, 1415.81, 782.34, 58.8639, 19.9128, 172.436, 37.7876, 145.228, 8.84162, 527.972, 978.775, 115.247, 3620.29, 39.7757, 117.731, 73.8482, 82.0633, -8.08212, 8.88042, 114.975, 74.6192, 412.158, 116.883, 1723.88, 140.51, 55.4878, 29.5934, 126.615, 937.356, 25.1989, 80.04, 8.7691, 21.9003, 76.7322, 310.711, 35.1739, -11.3853, 31.0779, 2667.19, 2861.65, 55.9846, 24.2809, 201.009, 37.3568, 245.946, 321.117, 55.7212, 248.928, 83.1845, 301.538, 65.4351, 1978.58, 1469.72, 128.82, 51.2861, 129.685, -17.8222, 135.186, 16.9915, 148.667, 68.2773, 35.807, 130.481, 63.6107, 1220.17, 162.351, -0.850396, 29.6177, 65.2407, 199.876, 45.451, 17.4884, 1687.26, 65.1685, -0.458492, 640.976, 443.544, 1000.16, 530.158, 92.305, 16.7319, 211.431, 421.328, 42.7661, 23.1612, 19.5893, -41.9418, 67.1385, 24.0513, 278.235, 207.151, 354.466, 796.341, 370.781, 12.3542, 340.021, 101.469, -77.2604, 20.2691, 90.9995, 88.3706, 11.782, 31.0455, 105.789, 87.4514, 20.9132, 2.51492, -21.3631, 18.128, 97.4119, 289.648, -0.886138, 6.81447, 81.1169, 197.282, 25.0956, 42.3875, 108.956, 231.877, 11.0389, -81.2323, 7.01839, 732.505, 264.916, 224.387, 218.727, 161.252, 9.47757, 354.758, 11.3622, 18.4517, 28.7067, 31.1141, 27.7379, 123.108, 383.613, 297.234, 11.0615, 90.0501, 89.7434, 345.844, 129.75, 365.013, 29.9642, 33.6507, 64.2794, 272.773, 265.781, 752.182, 223.423, 50.9474, -4.21796, 1864.68, 43.8291, 270.01, 318.279, 587.201, -5.85108, 23.5828, 287.82, 330.953, -2.55689, 16.6618, 1450.23, 567.114, 589.9, 78.5015, 39.0382, 42.769, 29.0629, 276.211, 135.465, 3.88573, 12.61, 912.208, 663.228, 288.022, 3034.4, 189.179, 286.524, 62.3556, 379.114, 292.434, 197.347, -4.49651, 120.196, 27.3089, 59.2932, 68.8523, 178.683, 37.8029, 285.409, 25.2501, 320.904, 258.658), K = c(63.4432, 70.5733, 20.3521, 8.51782, 39.1326, 39.9136, 222.287, 62.9876, 35.1225, 2.98167, 674.334, 48.572, 90.2266, 19.6438, 7.90277, 172.95, 74.9809, 65.8276, -18.7649, 217.385, 104.273, 41.7587, 9269.15, 46.7404, 59.8996, 17.0458, 41.1433, 19.2095, 113.046, 9.25781, 31.0843, 23.1894, 80.0615, 22.9088, 19.8219, 64.5628, 1.59616, -3.92957, 106.196, 198.033, 242.284, 780.726, 21.2847, -37.9727, 33.1548, 3225.72, 3930.01, 4756.24, 5051.09, 5411.19, 5341.82, 48.9417, 18.8431, 77.9987, 61.1681, 579.578, 398.83, 87.6531, 141.597, 54.4746, 44.0052, 148.141, 201.392, 88.0201, 15.68, 32.9481, 203.989, 10.3677, 11.4256, 19.3874, 37.8795, 170.047, 90.0128, 109.125, 42.046, 389.255, 6.18134, 51.0467, 22.6883, 74.2571, 144.772, 122.08, 3.81317, 26.7613, 64.7226, 72.9707, 642.128, 1.42032, 107.479, 27.3876, 4332.08, 12.988, -17.4797, 27.6168, 25.2248, 35.1496, 2.71006, 412.996, -3.03517, -23.2741, 13.488, 429.321, 119.51, -0.0278592, 63.9798, 32.4618, 46.5545, 89.1795, 57.5241, 14.5249, 209.735, -1.74408, 29.3106, 369.08, 43.4709, 173.913, 138.194, 119.037, -29.4263, 6.58678, 50.6164, 25.5873, 368.14, 110.281, 14.0098, 35.9248, 55.6823, 27.6514, 33.9682, -6.56723, 7.08044, 1.08545, 141.452, 32.0375, -66.6585, 422.12, -1.94732, 14.131, 99.5792, 82.1444, 106.177, 92.9003, -10.7343, 53.8349, 94.3465, 4913.77, 163.125, 121.302, 38.5655, 4.60806, 22.7875, 474.352, 57.8392, 1343.88, 37.8733, 11.6468, 2134.67, 20.7209, -0.262148, 60.1439, 9.54504, 11.0515, 85.3045, 17.2096, -10.0328, 249.915, 80.3918, 12.3823, 79.3767, -24.3948, 154.531, 65.6515, 45.5399, 120.194, 286.588, 20.0277, 84.3456, 114.626, -3.70138, 1408.67, 55.6233, 86.996, 44.146, 56.8192, 330.901, 94.1995, 198.394, 20.956, 1004.99, 34.7985, 43.6125, 458.303, 1105.91, 85.4095, 239.99, 14.5133, 367.98, 70.3372, 159.58, 113.518, 627.214, 48.9686, 18.9257, 215.514, 5072.36, 198.417, 108.445, 43.7502, 15.3726, 60.6967, 28.7406, 372.747, 26.8717, 36.0099, 28.4521, 16.6598, 16.615, 395.562, 89.2151, -3.48287, 0.949098, 24.0036, 17.1753, 2020.4, 9.37298, 22.2364, 194.071, 17.2649, 733.02, 63.9442, 12.6841, 161.425, 97.0986, 8.80042, 58.5091, 110.127, 30.2948, 792.965, 185.47, 25.4438, 15.206, 1653.84, 96.7924, 46.6804, 129.393, 139.963, 3.9302, 23.1836, 349.028, -13.9703, 205.086, 23.3787, 565.436, 11.5014, 25.2942, 115.304, 30.4287, 467.942, 78.5613, 332.408, 68.0818, 26.654, 139.279, 305.494, 968.042, 4295.6, 66.1099, 47.9075, 1671.49, 3009.75, -51.6177, 4419.01, 1.49445, 33.3544, 208.223, 80.8896, 109.391, -47.5517, -1.54634, 112.731, 55.4344, 121.317, 126.149, 186.27, 234.836, 431.412, 199.881, 4633.97, 550.201, 313.787, 260.752, 97.9721, 26.1838, 57.8575, 41.7102, 212.398, 1386.77, 42.3915, 4815.65, 7.77927, 16.2139, -14.3346, 7.23423, -36.5622, 382.237, 5040.27, 2787.18, 663.805, 47.069, 13.1205, 120.841, 25.3661, 123.813, -13.3061, 296.745, 768.182, 62.1101, 7337.71, 51.5785, 93.0793, 59.6659, 55.9502, 6.17613, 15.2514, 61.4079, 64.7212, 282.774, 87.2862, 4089.22, 49.6829, 57.329, 10.3485, 66.0395, 2900.05, 26.7714, 179.807, 16.8715, 21.8325, 41.8975, 93.0038, 17.5775, 4.26559, 9.86239, 4223.25, 2841.06, 20.8292, 31.5969, 124.771, 13.3185, 101.18, 220.587, 24.4661, 114.014, 217.8, 222.152, 97.8749, 1328.36, 1628.74, 119.543, 55.8618, 198.105, 17.7912, 131.838, 12.0612, 89.1887, 160.229, 16.6904, 55.4143, 297.18, 1501.55, 177.512, -3.47425, 7.49265, 73.3793, 130.814, 49.1007, 20.585, 22.3491, 28.9578, -14.2241, 477.958, 695.053, 1797.77, 1188.65, 75.4384, 5.40401, 148.423, 168.659, 21.3487, 23.8646, 13.9465, -31.1664, 10.517, 42.0685, 185.579, 127.054, 255.91, 405.051, 452.185, 17.8215, 418.522, 183.725, 20.8731, 20.8792, 31.9397, 62.6096, 5.9791, 17.6778, 64.7069, 30.6733, 17.734, -0.770045, -12.5623, 5.15007, 40.9506, 408.107, 2.22234, -2.07164, 58.2916, 129.924, 57.7661, 16.038, 58.9447, 213.212, 26.9509, -26.1956, -3.61176, 648.933, 272.632, 131.979, 386.255, 313.417, 87.9249, 374.494, 22.2172, 53.833, 46.8675, 49.705, -13.3931, 60.8839, 829.741, 263.664, 171.084, 32.7409, 171.323, 253.907, 105.42, 553.365, 12.8651, 27.5378, 522.891, 439.887, 489.785, 806.483, 135.509, 57.6252, 4.23123, 3305.96, 62.7559, 223.958, 300.78, 586.625, 60.3832, 16.7481, 203.739, 329.75, 29.9522, 2.0116, 2821.25, 456.575, 442.349, 88.1746, 33.6031, 6.54673, 30.7566, 197.82, 212.203, 24.5808, 22.5957, 2147.63, 2914.48, 175.206, 6133.12, -12.2493, 264.909, 81.9187, 120.393, 197.285, 152.217, -14.6336, 90.9128, 37.7668, 16.6599, 31.4279, 138.896, 22.406, 316.208, 22.2439, 244.162, 216.155), L = c(78.2126, 94.5418, 14.1554, 27.2852, 41.7698, 49.8397, 181.522, 46.2777, 28.1342, 17.7506, 540.255, 42.9071, 72.4584, 20.6693, 24.6885, 124.837, 108.469, 45.7015, -34.298, 162.256, 120.737, 49.9029, 7969.59, 30.7302, 77.3764, 36.5985, 29.1573, 30.6495, 108.717, 24.0504, 28.6438, 29.9055, 94.9414, 27.9779, 16.9136, 82.0327, 52.7458, 10.6833, 104.433, 141.173, 155.572, 489.626, -23.2247, -47.1546, 36.6282, 3832.06, 4173.52, 4636.95, 4251.54, 5318.93, 4684.27, 74.8463, 10.7062, 57.8296, 49.8605, 480.33, 427.257, 86.2199, 130.797, 67.4093, 32.5288, 163.479, 189.271, 59.1629, 33.477, 31.8509, 226.835, 20.3279, 7.70438, 17.391, -17.6818, 178.158, 126.103, 106.483, 65.3268, 192.701, 5.72163, 7.87614, 17.3802, 7.25462, 107.479, 130.882, 19.0447, 22.8006, 95.6079, 64.857, 540.998, 2.98843, 104.51, 13.8843, 3127.05, 15.1634, -20.1506, 31.8186, 9.41495, 62.762, 2.31336, 318.532, 15.8975, -31.2221, 28.2393, 358.525, 113.643, 2.6089, 79.5849, 27.9021, 72.6205, 118.595, 19.8483, 11.0152, 192.243, 44.7104, 40.9957, 309.898, 68.6476, 141.44, 175.615, 212.777, 30.6944, 10.4933, 17.5478, 17.2951, 284.513, 115.904, 7.71463, 22.3834, 63.3352, 51.9875, 41.5452, 5.70349, 17.5473, 3.36623, 196.457, 32.0315, 40.8864, 390.245, -6.20708, 18.8825, 107.995, 89.682, 83.529, 86.4903, -14.662, 80.7351, 77.1165, 4714.97, 174.416, 125.587, 34.9933, 15.3988, 7.72275, 373.108, 58.9034, 1091.26, 22.5644, 10.6076, 2825.84, 31.0684, 3.06087, 66.2265, -12.3439, 18.2999, 156.12, 3.64407, 8.4741, 202.573, 99.9544, -3.61491, 66.551, -4.67678, 143.992, 7.87179, 102.047, 112.608, 232.685, 16.5717, 65.0425, 101.624, 15.5074, 1336.5, 28.023, 19.2818, 21.8167, 54.3966, 319.706, 103.576, 203.31, 3.55299, 1068.35, 28.3274, 26.3981, 252.545, 703.073, 54.1925, 217.043, 6.1789, 257.203, 51.0011, 122.56, 104.892, 669.295, 55.4482, 14.6155, 192.87, 3837.67, 164.49, 98.1155, 44.7301, -3.83686, 65.8807, 15.7527, 224.901, 35.5609, 42.3085, 38.2248, 23.7824, 36.5926, 329.908, 151.346, 2.20718, -6.77795, 32.9619, 9.10169, 1484.18, -1.97644, 9.40026, 184.919, 18.7039, 675.331, 80.7041, 7.85682, 157.12, 292.043, 5.51988, 54.3092, 113.512, 22.944, 0.00333823, 203.611, 18.8989, 15.0135, 1072.25, 84.0077, 45.5236, 166.489, 143.034, 16.4508, 24.3721, 270.51, 0.128169, 231.787, 15.2198, 491.515, 56.7006, 2.14923, 76.0331, 25.3416, 315.647, 60.7932, 93.3669, 61.774, 24.7379, 142.502, 273.436, 559.009, 4565.57, 91.3635, 51.3326, 1216.42, 2264.58, -10.6544, 3693.04, 2.36806, 7.91398, 182.291, 68.3882, 99.9411, -29.8436, 13.0513, 111.624, 60.5107, 56.3676, 43.5945, 57.6264, 92.3869, 222.841, 117.365, 4733.16, 154.346, 378.059, 194.359, 111.34, 23.7334, 109.848, 32.1758, 206.46, 1041.33, 5.56239, 4024.79, 10.4667, 14.2839, -17.2184, 20.4523, -79.7605, 264.947, 3918.19, 2872.76, 628.093, 39.0135, 18.5584, 137.049, 25.2468, 99.8514, 6.99163, 309.396, 812.051, 55.7119, 4544.12, 43.3877, 91.4044, 34.6002, 32.6657, 24.6652, 10.2426, 54.852, 57.2348, 303.057, 87.6017, 3190.4, 67.4407, 62.8154, 6.78031, 73.504, 2679.17, 14.6392, 132.44, 29.5628, 33.7716, 29.6722, 115.932, 23.4293, -5.8544, 14.3031, 3444.45, 2869.71, 28.9977, 4.27229, 186.639, 28.0031, 89.4065, 246.739, 48.2378, 103.241, 161.446, 270.958, 125.482, 1006.52, 1669.62, 164.343, 60.0043, 163.457, 3.32663, 74.8823, 21.1182, 150.393, 153.827, 23.2867, 39.983, 295.462, 1489.4, 198.153, 8.37534, 9.11512, 77.9832, 116.607, 81.8224, 30.7223, 19.276, 26.9488, 2.9106, 411.878, 445.727, 874.957, 500.034, 69.2402, 32.9342, 150.361, 151.8, 31.3103, 16.5552, -3.76102, -45.0008, 54.7287, 41.5445, 218.859, 119.3, 216.473, 601.634, 417.205, 16.8544, 385.101, 92.1054, -34.8347, 7.67655, 20.2027, 62.5156, 19.8893, 36.8451, 84.4214, 43.7161, 20.6758, 14.1665, -17.9138, 3.66986, 51.094, 386.478, 2.78177, -23.3501, 85.6016, 106.723, 24.712, 19.2536, 63.4195, 141.174, 4.08547, -40.6516, 5.0975, 852.823, 297.981, 185.162, 353.931, 197.236, 51.9685, 254.8, 21.2191, 23.4201, 19.4266, 15.4119, 6.83701, 57.5619, 788.663, 192.798, 92.6476, 58.0558, 103.424, 402.939, 78.4368, 482.728, 12.8727, 20.3747, 304.571, 280.536, 868.772, 681.686, 154.107, 56.8466, 4.34006, 3009.56, 78.9415, 224.968, 260.592, 495.764, 27.1459, 25.2768, 271.342, 280.424, 67.1491, 11.4204, 2824.45, 379.401, 432.295, 86.7501, 51.2107, 13.8727, 12.0495, 162.998, 144.218, 29.2461, 10.0415, 1747.69, 2279.5, 194.048, 4077.38, 10.459, 267.847, 63.0694, 173.069, 268.178, 108.644, -11.9445, 71.3147, 72.9171, 42.753, 46.8353, 106.018, 39.0425, 297.051, 19.9168, 239.654, 175.866), M = c(83.0943, 75.3455, 20.6251, 10.1616, 80.2197, 63.4794, 177.979, 61.8372, 20.6908, 13.764, 364.233, 34.743, 46.9686, 51.7133, 30.1908, 133.826, 141.43, 74.9533, -37.9804, 199.741, 101.196, 45.6627, 8569.94, 21.5053, 71.6353, 45.2345, 16.2124, 29.3611, 155.95, 17.4717, 6.67245, 25.5961, 84.4995, 34.4475, 27.0618, 87.2791, 53.0348, 22.1029, 83.485, 145.652, 78.7713, 552.023, -7.45341, -38.1208, 52.3868, 951.709, 2054.2, 3593.47, 2363.09, 3394.98, 5280.83, 73.6465, -3.59805, 11.6322, 39.7948, 474.48, 446.417, 83.9094, 82.0596, 4.65439, 25.0958, 132.912, 160.376, 46.9679, 21.0982, 39.5596, 172.825, 57.0022, 15.1321, 6.89282, 10.249, 231.956, 84.717, 162.506, 105.706, 368.552, 20.8338, 3.34395, 22.629, 16.5794, 112.52, 120.17, 25.3857, 18.5757, 76.1544, 56.769, 710.362, 25.2881, 104.82, 17.9295, 2166.34, 33.6051, -68.8391, 27.5807, 6.22118, 87.7027, 11.1385, 226.395, 15.0665, -8.00193, 38.6553, 297.233, 97.0745, 14.7636, 36.9007, 27.4486, 93.4518, 133.967, 1.93178, -31.4089, 125.988, 27.2904, 34.3379, 306.955, 76.0012, 117.52, 127.058, 162.262, 26.3359, 9.83787, 9.8701, 2.59895, 221.225, 120.925, 13.4816, 16.825, 55.9125, 50.2382, 20.5871, -8.9378, -0.825097, 4.93097, 87.2036, 38.8415, 63.1551, 342.044, 1.55868, 43.3275, 59.2687, 76.2816, 54.1066, 35.1053, -18.1485, 87.1477, 69.0928, 3061.22, 142.504, 61.3115, 19.8458, 16.7309, 26.7999, 291.012, 68.0085, 1341.42, -5.03949, 11.985, 2462.38, 33.7193, 31.9753, 87.5545, -0.64562, 23.9027, 118.133, 4.938, 16.1042, 202.256, 54.5443, -18.7757, 42.8026, -23.1493, 109.216, 20.9903, 168.211, 96.529, 255.983, 24.6469, 57.3531, 60.9461, 16.7617, 1194.77, 65.8861, 41.8083, 35.2495, 39.6414, 315.246, 91.0557, 99.0671, -13.6988, 735.746, 41.1719, 47.3791, 177.377, 614.182, 59.8693, 30.885, 22.5553, 243.968, 35.9511, 63.6658, 99.4039, 522.82, 60.6395, -1.66086, 159.967, 4483.8, 129.281, 39.2241, 32.5089, 10.4541, 33.5574, 26.8906, 213.557, 39.2447, 45.558, 42.9064, 41.2092, 25.2691, 416.211, 131.378, 14.8044, -12.8104, 41.5559, 25.2181, 910.831, 43.8009, 26.3252, 154.752, 12.9101, 687.584, 88.6125, -0.336495, 198.312, 94.2741, 17.5389, 51.9669, 88.3272, 36.4551, 461.577, 165.445, 36.2047, 24.8808, 1081.74, 36.55, 23.7109, 159.069, 233.972, 12.9205, 28.5951, 108.56, -6.12013, 191.418, 12.2177, 231.754, 37.0556, 6.70182, 87.9948, 36.1115, 612.477, 84.2877, 40.2468, 80.9183, 20.9539, 127.597, 149.293, 690.077, 3202.51, 68.2316, 36.8647, 2056.22, 2154.64, -9.95432, 3391.38, 25.0875, 8.04776, 165.387, 38.9222, 34.9766, -69.0935, 15.7108, 63.4733, 94.4522, 24.1385, 45.2206, 61.5433, 70.8851, 185.287, 135.227, 2325.45, 147.141, 439.105, 249.862, 60.6961, 28.8159, 67.1284, 0.982107, 222.603, 862.449, 30.9948, 3355.67, 2.58366, 11.8532, -18.402, 13.2898, -102.745, 346.194, 3064.76, 1603.25, 369.522, 18.631, 32.082, 88.5522, 17.4802, 80.5616, 4.62538, 260.651, 728.888, 81.0913, 4699.84, 99.8263, 83.0734, 37.3094, -12.5336, 61.8152, 15.6515, 60.4089, 63.2578, 340.254, 69.8406, 2758.39, 46.0112, 48.4845, 3.00775, 29.5308, 2099.51, -6.78946, 174.172, 9.25558, 45.1605, 26.3615, 156.608, 31.6536, 24.1051, 6.58549, 2570.12, 2601.37, 27.6198, 9.27717, 127.368, 55.0356, 62.7111, 242.408, 37.2933, 89.3639, 80.0193, 181.817, 116.242, 902.432, 1249.58, 80.8068, 52.1335, 136.944, 9.19369, 71.6054, 18.0322, 88.5453, 98.5185, 20.4774, 55.4713, 149.533, 1363.19, 149.736, -1.52306, 4.68956, 110.182, 101.287, 41.1006, 12.8158, 48.2847, 38.6703, 6.17504, 315.271, 417.669, 917.604, 526.949, 86.7901, 5.49079, 143.844, 167.758, 47.3894, 21.3244, 2.5463, -7.53348, 26.1854, 49.2212, 385.217, 96.6181, 210.713, 551.058, 243.31, 15.2205, 219.578, 72.9952, -46.7619, 7.65478, 47.2021, 53.3323, 134.446, 30.1702, 60.0559, 72.6591, 27.7802, 11.7253, -21.2467, 19.6256, 43.3206, 260.447, 22.5582, -12.5203, 83.1298, 100.778, 73.4488, 19.4349, 60.313, 83.9283, 12.583, -42.8756, 6.82419, 793.746, 326.453, 137.1, 256.042, 131.438, 29.7611, 318.512, 13.3918, 13.7316, 27.2708, 54.9233, 18.3137, 110.58, 875.888, 253.193, 40.8993, 44.3985, 70.4717, 352.11, 80.2816, 311.052, -21.727, 20.0393, 70.7562, 179.195, 217.285, 569.148, 198.792, 62.9297, -7.06251, 2414.78, 116.931, 194.218, 159.881, 385.724, 23.8568, 14.4838, 245.611, 197.367, 99.2812, 2.62564, 1601.98, 300.787, 375.428, 117.816, 70.1534, 25.8099, 25.0521, 242.021, 143.848, 24.7516, 9.49541, 1610.07, 1234.16, 100.479, 4545.04, -15.8535, 132.319, 54.0656, 168.764, 231.665, 73.7824, -13.5897, 134.05, 52.493, 13.629, 32.2955, 71.1854, 58.7573, 389.896, 17.564, 159.716, 143.938), N = c(89.3372, 68.5827, 15.9231, 20.2488, 36.4903, 24.7007, 105.778, 54.7061, 27.6193, 12.9047, 620.004, 28.1586, 49.6642, 16.4545, 27.6512, 125.316, 83.1231, 62.1944, -43.3921, 179.797, 108.527, 61.2552, 8328.77, 27.2929, 61.2444, 24.9717, 23.3693, 24.7045, 80.3862, 13.1025, 14.058, 25.7586, 95.8448, 17.5522, 11.7202, 46.8633, 19.37, -3.87819, 97.6268, 126.247, 151.156, 593.651, 12.4314, -33.8106, 22.1085, 4461.43, 5802.7, 6060.91, 4086.23, 5676.56, 5252.6, 113.113, 122.966, 423.178, 48.5391, 711.508, 541.712, 110.042, 165.886, 76.3206, 39.4698, 183.316, 179.084, 70.8899, 29.984, 36.0984, 212.015, 10.657, 12.9578, 12.4452, 9.72711, 135.855, 112.589, 100.713, 43.1201, 65.7495, -4.33284, -0.353979, 9.78135, 2.40246, 113.384, 108.119, 15.8645, 16.1352, 77.5753, 28.2062, 550.153, 11.4208, 108.602, 12.7647, 4361.74, 18.7189, -6.71526, 13.7928, 2.6998, 42.8679, 3.04152, 577.023, 6.81695, -33.8613, 28.6891, 323.837, 144.178, -0.204522, 54.4277, 12.9936, 46.847, 61.8186, 15.4617, 19.7307, 233.956, 13.7186, 19.5749, 359.412, 52.5534, 197.571, 141.737, 142.417, 17.3591, -1.58291, 20.88, 16.6252, 239.4, 110.505, 13.056, 4.91238, 48.4446, 26.072, 40.4425, -0.057119, 4.31744, 3.55702, 211.343, 35.0582, 32.3002, 432.547, -19.1825, 9.51985, 84.1913, 94.2885, 123.165, 79.0483, -11.4864, 78.9365, 82.8418, 2930.72, 155.284, 107.217, 39.1289, 26.7801, 9.41311, 385.342, 40.9863, 1405.31, 20.5272, 16.6352, 1806.13, 36.4705, 2.26179, 45.9531, -1.86616, 9.38855, 164.578, -0.27847, 13.6962, 218.181, 120.039, 11.5751, 51.5134, -6.85612, 190.775, 8.15471, 62.5651, 82.6708, 298.427, 18.8969, 55.542, 93.0269, 21.6652, 1345.85, 44.3509, 14.3534, 17.6052, 25.6272, 334.12, 100.373, 178.179, 55.6927, 688.725, 42.0559, 18.2529, 223.116, 530.782, 67.9175, 99.6496, 5.35416, 256.393, 35.4812, 111.821, 92.1831, 531.768, 45.3206, 19.816, 142.631, 4859.73, 249.207, 103.439, 47.2751, 9.05566, 52.3237, 10.8053, 261.957, 38.8147, 29.6072, 39.9453, 18.349, 23.3791, 413.473, 113.186, 2.09751, 7.43113, 11.7495, 12.2955, 1782.61, 19.2064, 14.4603, 209.874, 6.45993, 1194.03, 77.9975, 19.6906, 186.337, 60.5553, 5.50611, 32.9364, 92.4704, 15.2531, 7.7857, 188.105, 11.737, 7.2607, 3617.54, 71.8314, 31.2533, 111.588, 121.778, 15.4925, 10.2916, 373.124, -5.67633, 263.947, 28.3399, 511.64, 28.4413, 0.574707, 68.9702, 20.9132, 272.211, 63.9764, 48.3643, 30.8804, 21.9132, 122.642, 233.14, 1010.75, 5954.55, 69.8307, 43.5644, 685.638, 2882.43, -83.7943, 3310.72, -0.662038, 15.7596, 188.547, 61.6832, 52.9313, -30.2268, 8.68393, 73.6295, 83.5782, 122.053, 276.064, 478.966, 220.497, 100.523, 203.143, 4325.4, 1204.45, 317.819, 165.436, 105.013, 17.2486, 89.6286, 19.6521, 165.066, 1597.74, 32.3071, 3807.53, 8.59767, 23.1666, -12.7933, 8.29188, -76.8493, 250.028, 4850.56, 2571.96, 649.683, 35.8371, 13.2905, 109.861, 18.661, 88.348, -7.57178, 285.068, 774.966, 66.5567, 4813.55, 32.302, 83.0898, 20.6217, 46.1896, -8.74484, 19.2316, 50.1061, 53.0092, 336.649, 52.5886, 4113.01, 66.7013, 69.1918, 13.2679, 81.2299, 2784.21, 57.2455, 493.228, 51.2349, 22.1017, 24.0103, 74.66, 7.29694, -6.52568, 14.8964, 3829.49, 2508.11, 27.265, 13.3097, 191.151, 52.0473, 59.4327, 508.603, 18.7608, 138.484, 142.005, 208.164, 87.9654, 956.885, 1678.65, 126.171, 33.5949, 209.168, 3.14731, 86.6463, 12.9521, 188.472, 247.983, 14.3525, 45.611, 325.842, 1110.41, 250.488, 0.118744, 15.712, 57.1836, 148.356, 22.0745, 10.0903, 29.8132, 22.3227, -6.73099, 452.967, 642.795, 3101.61, 1906.24, 83.7163, 6.33219, 144.829, 172.174, 16.5198, 6.6039, 11.7319, -15.1945, -8.16856, 69.3211, 183.732, 118.473, 164.074, 496.539, 546.727, 15.4349, 460.542, 112.704, -24.5723, 14.6984, 58.4225, 65.6001, 3.60186, 25.3583, 71.0586, 36.3139, 10.6933, -5.65051, -18.0382, 0.915797, 15.0201, 694.094, 1.26846, 8.0124, 55.5302, 97.4134, 31.2342, 17.4901, 57.458, 106.358, 9.61853, -12.591, 0.139887, 592.938, 241.521, 190.222, 796.422, 507.855, 172.553, 334.769, 14.3157, 50.7952, 8.26035, 20.5055, 19.4919, 78.6369, 1046.35, 367.375, 15.7459, 42.2202, 392.361, 626.004, 94.4381, 293.149, 13.0971, 18.8269, 187.413, 229.444, 475.299, 808.413, 110.807, 57.2558, 1.20242, 3338.31, 58.0464, 235.895, 268.525, 585.18, 0.460327, 25.8225, 365.538, 328.021, 11.4567, 22.2974, 4049.75, 363.501, 443.315, 88.0459, 37.9932, 28.3565, 22.1575, 191.576, 148.362, 10.7204, 9.84052, 881.215, 756.276, 123.841, 3855.89, -7.62355, 227.628, 44.8431, 134.087, 223.436, 95.7585, 9.15849, 75.5934, 34.1658, 19.5753, 35.3076, 69.8382, 26.808, 216.754, 1469.03, 190.992, 182.317), O = c(91.0615, 87.405, 20.1579, 15.7849, 36.4021, 47.4641, 223.689, 62.0684, 40.6454, 13.3902, 569.133, 48.5457, 65.2693, 17.8828, 17.8083, 132.419, 54.7312, 84.2989, -30.5948, 195.324, 109.446, 52.2385, 8663.51, 42.2334, 88.0712, 24.4171, 35.6076, 39.693, 100.474, 21.742, 30.3021, 43.7021, 116.99, 23.6911, 27.313, 84.3709, 49.9739, 13.2802, 217.396, 367.256, 332.381, 930.928, 5.36648, -52.6525, 23.6439, 1362.9, 1763.15, 2298.72, 3454.28, 3828.45, 3727.14, 62.2097, 13.5778, 56.544, 53.5262, 481.904, 402.718, 99.6078, 162.308, 69.0339, 61.0306, 155.209, 206.509, 59.7551, 33.1553, 52.3652, 278.303, 16.0722, 11.0232, 12.9863, 24.7943, 150.402, 139.517, 94.6878, 45.6489, 1290.84, 3.43024, 12.9193, 7.68004, 33.7241, 119.821, 173.552, 34.6971, 31.6987, 131.983, 85.5727, 621.437, 3.78157, 162.985, 18.0843, 1465.47, 17.9788, -9.77655, 19.0585, 4.2578, 48.7836, 6.20112, 465.464, 11.8042, -17.8159, 36.906, 344.095, 117.624, -60.686, 70.5839, 24.5116, 57.8507, 106.437, 23.974, 29.632, 199.984, 23.5255, 18.0818, 465.204, 47.253, 110.568, 210.712, 189.16, 25.4456, 14.1781, 33.2616, 29.6363, 312.489, 112.39, 19.7958, 31.6101, 23.2446, 67.7264, 63.1741, -1.28236, 15.6809, -22.4669, 164.455, 35.2809, -16.8447, 308.41, 15.6924, 13.6633, 108.893, 89.4569, 97.3631, 80.1768, 353.866, 114.01, 75.672, 1931.77, 216.261, 154.741, 24.8446, 11.0583, 10.2016, 437.672, 44.1626, 1150.15, 33.3331, 25.9648, 2849.15, 56.2084, 21.5655, 61.6313, 0.5633, 6.6802, 142.206, -1.52441, 14.2807, 227.428, 154.188, 2.73304, 135.888, -6.55262, 146.762, 13.6927, 59.0275, 149.335, 322.438, 18.4279, 131.005, 124.646, 12.9452, 1413.51, 63.8342, 15.1334, 24.8349, 53.312, 329.991, 112.056, 260.494, 15.5461, 1383.65, 37.1371, 26.8427, 243.959, 606.582, 98.9069, 61.6406, 16.9089, 340.449, 49.6253, 149.616, 120.192, 667.523, 49.9381, 24.8398, 225.262, 3546.96, 136.091, 121.874, 51.4883, 8.84598, 69.2017, 20.1963, 285.056, 41.1304, 47.4723, 45.6532, 21.6557, 34.7265, 446.774, 84.824, 11.7275, -7.08199, 48.6305, 28.8085, 1075.68, 12.0825, 25.3304, 192.562, 26.608, 392.937, 66.2018, 6.86363, 251.672, 91.9728, 22.2643, 74.2767, 126.254, 37.9815, 209.963, 191.709, 12.6392, 6.46965, 1395.67, 95.0177, 42.7501, 125.366, 101.043, 24.6033, 34.9832, 459.64, -2.3563, 194.104, 32.6242, 208.027, 104.251, -0.780733, 105.502, 37.781, 291.185, 1161.23, 235.632, 46.5727, 27.6308, 159.657, 300.935, 557.992, 2116.27, 1054.46, 73.9035, 1217.01, 1460.15, -88.8, 1992.36, 6.53622, 5.29332, 225.701, 125.598, 116.968, -27.5739, 9.55741, 179.675, 89.3978, 88.787, 315.728, 345.216, 335.878, 168.616, 439.822, 3306.11, 1049.26, 547.481, 286.447, 99.1406, 38.4488, 114.556, 45.9393, 273.941, 1111.15, 39.4502, 2902.01, 6.15638, 23.0667, -14.1021, 9.35298, -116.857, 452.608, 3544.92, 927.414, 756.701, 41.3498, 23.6982, 211.032, 35.4816, 123.105, 23.9056, 353.035, 743.73, 79.2366, 5514.38, 42.0635, 127.181, 44.6466, 43.0307, -0.20449, 19.4447, 66.9031, 55.2938, 399.75, 81.2312, 2672.37, 64.994, 67.4257, 10.9589, 71.4969, 2093.8, 14.6523, 28.02, 34.3509, 21.8848, 29.0589, 128.662, 20.666, -1.34474, 21.2585, 1646.82, 2867.21, 37.065, 42.8606, 207.514, 26.1821, 153.811, 274.655, 45.6786, 170.145, 173.887, 234.359, 60.399, 1349.8, 1600.49, 78.0854, 43.6012, 203.56, 6.03428, 131.07, 26.5348, 97.5548, 161.412, 16.7075, 71.5095, 280.713, 1207.67, 155.317, 6.33112, 30.6113, 62.8205, 164.324, 47.1694, 16.4894, 24.9893, 38.3245, 1.62452, 499.28, 442.922, 1074.38, 605.84, 60.6398, 16.3385, 188.24, 272.834, 30.0742, 22.7793, 6.38199, -41.293, 37.8102, 33.2661, 223.882, 126.257, 295.781, 524.562, 420.12, 16.3514, 287.683, 95.448, -39.3764, 15.5204, 65.131, 69.1624, 7.15867, 23.082, 106.437, 53.8414, 13.3305, -0.569408, -24.9162, 30.1215, 80.6879, 429.743, 7.23502, 6.9824, 55.0579, 178.074, 15.6577, 58.2782, 66.9708, 163.589, 9.62151, -61.7727, 1.91402, 805.173, 262.389, 80.9406, 322.827, 125.727, 18.9264, 204.438, 38.7136, 40.4771, 13.2167, 31.9875, 5.56237, 82.045, 542.137, 304.213, 40.4456, 57.2924, 116.115, 283.383, 88.494, 402.55, 16.2518, 16.7579, 245.128, 287.116, 367.802, 1390.38, 175.099, 55.0086, -3.22419, 2509.98, 49.9448, 240.87, 250.352, 577.222, 17.2906, 10.8333, 290.135, 354.61, 3.13894, 47.0525, 2374.41, 394.607, 452.372, 57.5241, 42.6069, 40.0522, 20.0476, 202.874, 146.704, 18.5251, 8.70428, 747.181, 746.294, 210.542, 2534.57, -4.78982, 265.571, 47.9046, 255.362, 222.945, 202.534, -1.89679, 75.6935, 108.222, 31.3858, 47.6782, 134.868, 18.6868, 315.229, 23.4902, 256.412, 183.381), P = c(95.9377, 84.4581, 27.8139, 14.3276, 35.3054, 47.3578, 183.585, 40.6705, 35.5333, -6.86196, 520.495, 36.3279, 80.8682, 16.4829, 12.1731, 101.991, 83.9226, 48.5502, -37.918, 182.143, 109.243, 72.062, 9703.19, 33.9123, 59.607, 11.2079, 28.1836, 29.3086, 87.4065, 12.4074, 33.7019, 34.2866, 60.5425, 28.0745, 8.17936, 56.7914, 43.755, 1.30735, 380.761, 949.318, 873.601, 2133.17, 8.94132, -49.4911, 13.8909, 3635.18, 4155.44, 5029.35, 5097.63, 5885.63, 5158.47, 76.3571, 40.6937, 129.156, 44.6594, 532.827, 407.366, 150.024, 166.733, 79.4228, 52.9089, 146.577, 212.089, 58.6137, 25.1409, 57.365, 218.192, 22.9141, 9.60791, 16.0146, 16.0711, 193.675, 131.629, 90.5224, 78.5255, 2666.04, 1.83676, 107.723, 8.9607, 166.211, 87.4163, 137.844, 58.0048, 18.4808, 84.3373, 69.2211, 501.736, -0.0219398, 110.627, 27.8748, 3428.02, 18.2661, -0.552943, 9.04877, -7.55392, 34.7136, -22.0775, 438.31, 8.01353, -10.6556, 11.7081, 286.784, 142.977, -1.75306, 92.0008, 17.9923, 43.3699, 69.9862, 7.03824, 15.2385, 266.447, 13.9918, 44.109, 343.971, 106.388, 193.132, 259.72, 146.305, 27.5627, 11.8241, 28.1245, 10.5465, 298.405, 72.1411, 8.54124, 19.1003, 28.5318, 19.2189, 50.9797, -6.94101, 12.6264, -19.0878, 132.13, 32.4503, 34.6964, 356.571, -4.75583, 15.0408, 90.0344, 83.563, 72.9321, 89.6479, -9.24438, 112.635, 89.945, 4708.72, 307.156, 106.495, 35.6991, 21.3087, 11.8785, 403.283, 45.9825, 1190.18, 17.3389, 12.962, 2253.57, 26.0812, -9.33715, 45.8318, 4.25198, -0.235197, 95.423, 12.242, 21.7191, 207.132, 110.167, 18.8907, 62.423, -2.17878, 188.407, 4.73582, 57.3755, 91.7946, 346.722, 5.35646, 88.8214, 112.848, 12.5417, 1366.66, 55.1934, 13.0844, 33.9986, 60.4339, 318.644, 107.152, 207.756, 10.0655, 908.623, 24.9347, 30.1607, 784.132, 1581.78, 61.0361, 208.332, 9.41051, 272.553, 35.7506, 287.011, 130.155, 675.119, 37.0291, 27.0153, 197.177, 4754.66, 130.537, 106.092, 67.2723, 6.46507, 102.061, 32.6796, 343.667, 49.9468, 37.6753, 17.743, 23.795, 28.4899, 391.945, 100.785, -5.28743, 24.6998, 36.4727, 5.44548, 1542.53, 15.6564, 1.72514, 175.246, 16.8081, 592.958, 58.0536, 16.8238, 196.898, 173.092, 19.4727, 32.409, 157.622, 40.8702, 1926.03, 209.951, 19.1415, -1.09743, 1946.8, 90.6256, 54.4008, 133.856, 87.6597, -6.63018, 31.2292, 373.655, 4.77085, 326.268, 36.6104, 415.757, -10.3339, 5.03371, 145.241, 98.7188, 232.926, 65.1305, 305.526, 39.0101, 16.5698, 133.832, 318.781, 1051.04, 3344.31, 57.0384, 52.8896, 2427.39, 3146.21, -33.1885, 3671.85, 53.1269, 0.677284, 226.086, 112, 58.5344, -26.5842, 14.5561, 69.9531, 57.5755, 159.83, 196.863, 377.648, 271.063, 130.595, 473.57, 4174.7, 926.876, 384.274, 269.828, 174.097, 8.58941, 98.2331, 31.5614, 230.974, 1317.19, 34.6345, 4225.96, -7.23611, 32.0804, -8.18457, -19.4876, -79.0781, 318.325, 3938.1, 2173.5, 627.963, 36.4799, 30.1577, 104.443, 20.5033, 100.631, 11.327, 310.695, 737.578, 93.6738, 6463.77, 28.3647, 78.8394, 40.2777, 41.681, -9.14832, -1.23541, 59.2399, 39.7863, 330.049, 51.3537, 2981.12, 48.1936, 44.3643, 2.1581, 71.4727, 2383.25, 25.6787, 195.431, 18.1804, 18.4473, 13.8278, 89.4967, 13.0111, -36.4418, 14.1874, 2983.45, 3025.66, 27.0738, 100.308, 166.18, 19.0582, 73.1515, 268.685, 35.5036, 137.303, 194.318, 233.562, 76.5329, 1958.33, 1834.38, 83.1306, 43.8636, 188.715, 4.5986, 86.2513, 14.9692, 37.6332, 80.6467, 8.96311, 46.4031, 361.995, 1489.12, 152.357, -11.4613, 42.1186, 60.9955, 145.517, 49.2345, 22.0977, 26.0827, 29.9162, -4.43161, 498.882, 516.328, 1400.31, 753.996, 67.8413, 11.8069, 128.401, 314.835, 15.3117, 14.2839, 5.99399, -27.0365, 25.2353, 26.3329, 205.1, 108.31, 208.561, 440.486, 485.368, 24.4458, 332.205, 108.732, -33.8566, 3.19337, 64.9522, 71.5209, 4.01805, 36.4773, 88.9457, 39.8483, 21.7754, 1.84143, -20.8023, 9.08591, 48.9682, 312.86, 2.54359, 10.9099, 39.17, 141.846, 40.0549, 26.9255, 54.3649, 213.655, 14.2068, -21.6539, -3.26063, 610.592, 240.758, 181.643, 705.632, 323.292, 112.908, 669.242, 21.5416, 77.7138, 9.21672, 28.6409, 8.29647, 52.3091, 1202, 299.665, 181.463, 49.5697, 118.863, 366.126, 99.5636, 271.68, 22.9561, 21.5974, 330.821, 275.754, 551.549, 755.334, 142.136, 45.7811, -6.41456, 3184.69, -7.71132, 269.67, 334.009, 579.92, -11.1694, 37.5901, 224.289, 312.906, 23.2579, 14.2944, 2260.91, 453.288, 511.297, 63.2891, 35.8314, 36.5171, 21.961, 165.049, 126.496, 17.4001, -4.83672, 2869.42, 3314.75, 216.978, 4321.76, -3.40488, 302.999, 55.3171, 215.658, 234.406, 229.894, 2.80647, 51.6358, 46.0148, 30.7832, 36.3961, 104.452, 28.7967, 270.453, 10.2954, 299.513, 298.381), Q = c(179.845, 87.6806, 32.7911, 15.9488, 58.6239, 58.1331, 192.221, 53.2711, 57.5078, 21.5091, 401.43, 57.8427, 53.4837, 6.53565, 26.9214, 204.75, 103.289, 74.191, -30.488, 144.421, 107.088, 36.6448, 6945.46, 26.3551, 72.2323, 34.9787, 31.9271, 39.3662, 88.351, 20.2063, 47.751, 39.3882, 93.421, 38.4229, 24.4473, 97.0614, 48.2842, 20.4114, 149.48, 91.9974, 99.0099, 489.616, -47.5854, -50.1208, 40.9994, 2056.61, 3297.7, 5375.36, 1481.99, 2634.74, 5005.51, 58.5187, -2.27154, 49.6001, 104.546, 589.112, 435.819, 197.43, 162.421, 88.937, 59.6806, 220.031, 148.895, 145.55, 38.3616, 130.29, 441.142, 22.7215, 5.45075, 0.541475, -2.7933, 143.731, 151.581, 122.392, 64.1095, 241.961, 9.33198, 2.84321, -0.0813966, 13.0512, 137.274, 152.312, 17.9966, 24.0255, 56.6119, 19.8654, 602.892, 18.9863, 128.256, 5.18994, 3225.78, 20.0576, -22.8684, 24.0201, 23.255, 52.3609, 9.78681, 378.532, 7.86409, -10.9199, 39.3368, 509.703, 98.3465, 4.3278, 30.9841, 15.7241, 72.934, 131.086, 17.678, -8.3158, 206.659, 15.5542, 30.9563, 526.82, 40.1954, 157.392, 186.118, 463.845, 25.6804, 18.7586, 30.2144, 26.5379, 426.224, 72.4541, 27.7973, 43.7178, 38.8451, 29.4314, 65.894, -1.37091, 17.5584, -18.2047, 175.757, 43.0175, 59.291, 360.72, 2.91078, 8.54141, 144.081, 107.063, 115.136, 118.639, 14.3273, 78.5512, 77.0416, 3784.57, 205.474, 129.544, 46.1631, -6.58117, 6.7294, 407.759, 50.2326, 732.503, 31.4596, 22.3868, 1987.59, 135.708, -2.7049, 85.6406, -1.73791, -0.253871, 128.843, -3.70685, 48.5898, 210.508, 211.484, -16.6187, 69.303, -20.0826, 159.374, 28.6098, 45.1189, 138.511, 418.071, 24.5252, 58.6564, 113.994, 9.71542, 1149.7, 62.2579, 28.4784, 50.1206, 53.1632, 382.944, 205.593, 292.019, 4.40127, 972.107, 11.6381, 33.2306, 137.403, 382.1, 107.61, 274.315, 3.02641, 402.868, 51.989, 161.62, 144.589, 700.349, 72.0878, 12.6023, 195.966, 4706.92, 92.8416, 92.2657, 41.3558, 7.73853, 70.9883, 18.9096, 306.337, 35.7701, 77.9582, 44.4995, 22.9144, 39.9449, 370.19, 129.158, 18.4312, -3.72863, 33.1532, 16.5481, 750.471, 15.7297, 17.9517, 227.91, 29.0455, 1137.05, -10.154, 17.0133, 205.213, 27.6867, 9.59297, 64.6394, 171.64, 20.2732, 551.24, 215.793, 22.2288, 13.2424, 2093.72, 118.054, 55.8656, 181.877, 114.434, 25.1648, 37.2732, 199.615, -2.11748, 194.627, 20.2581, 225.932, 125.897, 14.3432, 97.1932, 17.4086, 236.933, 73.5888, 59.5797, 55.2935, 22.0871, 195.733, 225.552, 383.538, 4529.62, 88.9723, 147.116, 818.793, 2845.39, -117.257, 3771.48, 9.29057, 40.9826, 197.999, 138.397, 98.8488, -66.7108, 18.8726, 147.691, 59.8272, 155.593, 127.694, 169.62, 116.026, 124.979, 123.351, 4635.37, 489.761, 411.588, 329.29, 94.3519, 36.1513, 92.763, 33.1402, 247.683, 589.211, 17.2803, 5472.93, -0.0945169, 20.9166, -16.4756, 4.16099, -103.032, 310.225, 5160.17, 2308.51, 711.944, 67.0825, 26.3465, 252.606, 30.0716, 81.0213, 10.7387, 415.856, 831.018, 77.574, 5768.87, 38.7843, 188.789, 57.3272, 19.5062, 4.65378, 21.8456, 59.9341, 55.3942, 286.712, 145.81, 3762.74, 125.689, 65.3176, 63.5216, 114.212, 2204.63, 105.805, 734.733, 21.1044, 31.2069, 24.5646, 141.729, 14.2803, -0.0164678, 7.31915, 3652.55, 3571.21, 18.3819, 23.5022, 126.492, 57.9871, 378.767, 275.041, 86.5916, 194.384, 84.5018, 268.68, 66.6054, 1165.89, 1102.24, 131.127, 39.04, 127.934, 6.77768, 93.8452, 36.2621, 244.989, 113.863, 19.5587, 83.6092, 90.1186, 1144.37, 222.243, -0.112485, 3.04715, 39.3341, 174.551, 9.39525, 8.86476, 34.0683, 38.2249, 21.4314, 534.847, 423.109, 1412.79, 1009.59, 69.7896, 5.09325, 184.737, 197.544, 19.5185, 1.42929, 0.732096, -25.099, 48.13, 22.9186, 194.558, 133.921, 302.006, 589.515, 316.913, 6.54445, 244.15, 140.078, -54.1407, 5.48896, 54.3901, 49.1413, 32.6048, 35.0332, 115.283, 45.2265, 21.2021, 2.61183, -23.157, 23.1803, 60.5066, 644.764, 7.54052, -10.2434, 80.3851, 120.091, 28.2656, 38.8046, 69.4305, 211.22, 16.6813, -51.1497, 15.4236, 773.751, 236.359, 220.25, 444.252, 197.603, 22.1516, 163.368, 4.38515, 32.3105, 21.5567, 34.8164, 7.38586, 83.7836, 690.248, 289.526, 55.7817, 58.9882, 376.087, 409.305, 135.194, 479.253, -7.37725, 0.122464, 93.6764, 187.529, 100.787, 663.026, 156.812, 46.7963, -3.89443, 4278.74, 53.7028, 236.132, 274.988, 476.378, -19.3199, 32.5085, 185.91, 297.545, 21.7566, -28.1106, 3377.88, 361.914, 433.109, 63.4572, 54.1816, 33.141, 18.6417, 195.832, 131.329, 26.9925, 15.6661, 2709.4, 1378.63, 237.151, 4236.67, -12.2979, 277.669, 60.6225, 364.282, 250.075, 168.212, -24.2041, 93.1122, 16.1807, 38.0609, 49.8754, 118.717, 32.9751, 239.852, 20.653, 237.043, 310.96), R = c(152.467, 108.032, 33.5292, 14.6753, 114.062, 104.122, 305.567, 107.237, 41.1337, 3.10536, 757.495, 83.1914, 108.545, 42.4696, 40.3873, 265.771, 140.76, 74.7106, -54.5634, 316.037, 188.792, 94.3601, 9186.23, 70.3766, 131.602, 56.8246, 40.0859, 48.3323, 187.831, 40.0367, 63.2577, 23.5424, 133.267, 40.1676, 26.7121, 157.43, 93.5228, 27.2889, 195.412, 267.395, 209.605, 582.488, 25.0043, -29.4005, 41.4228, 1071.56, 2141.77, 2913.78, 4131.25, 4546.89, 3987.55, 60.5533, 8.11091, 70.4294, 91.2818, 621.923, 558.21, 86.4503, 157.802, 72.6112, 46.4297, 176.787, 196.865, 92.815, 50.2916, 85.7762, 331.161, 48.8162, 20.6512, 10.9181, -0.905975, 233.632, 204.266, 172.993, 103.938, 1614.46, 20.4997, 12.0684, 15.2499, 37.1182, 133.572, 145.011, 29.0069, 20.7526, 72.8516, 102.421, 734.952, 10.8608, 148.424, 14.2887, 1699.09, 40.0938, 4.5551, 22.2042, 20.2862, 66.5785, 8.12938, 438.409, 9.16017, -26.0217, 40.6845, 334.96, 166.697, 11.0599, 85.3465, 65.1488, 70.9823, 226.982, 18.595, 30.777, 213.079, 17.112, 47.8895, 488.479, 80.2266, 206.459, 170.515, 305.913, 59.6001, 12.9898, 66.436, 38.64, 452.142, 147.568, 31.2212, 39.9977, 86.5661, 37.2774, 76.2522, -5.98051, 26.4634, -30.1757, 144.372, 65.8211, 61.777, 448.511, 17.0231, 39.0015, 141.992, 107.897, 105.584, 80.5216, 203.611, 79.6198, 110.707, 2188.94, 418.162, 185.003, 40.7064, 16.2165, 13.4062, 427.505, 93.5351, 1818.93, 62.4827, 16.2637, 2446.46, 70.9351, 19.1831, 99.676, 2.48638, 27.4741, 141.248, 27.3096, 25.9065, 252.931, 113.078, 6.87179, 116.856, -18.8597, 147.415, 36.6545, 109.731, 120.15, 318.348, 22.4257, 107.673, 135.75, 42.688, 1507.05, 64.8156, 12.377, 38.9106, 72.865, 483.677, 150.884, 183.042, 30.0473, 1264.23, 67.7055, 43.9821, 83.8563, 235.309, 83.3796, 153.38, 21.2252, 339.996, 64.6378, 173.331, 98.6056, 743.576, 87.6906, 50.6009, 267.82, 3831.35, 133.764, 103.796, 65.1927, 4.23406, 102.03, 38.5771, 412.567, 80.7445, 84.7391, 66.967, 51.0009, 26.7375, 480.525, 124.697, 10.7221, 27.7304, 59.3173, 69.1332, 415.189, 34.8442, 30.0275, 196.203, 8.14025, 170.304, 111.209, 9.7514, 266.524, 49.1039, 18.0585, 63.3793, 193.721, 30.783, 120.978, 227.752, 11.044, 14.0334, 1425.13, 63.0943, 42.0432, 197.522, 223.889, 22.6631, 51.5177, 250.103, -4.79409, 200.241, 16.6868, 102.159, 22.8715, 4.64345, 209.266, 49.3408, 468.176, 106.673, 172.501, 43.7646, 34.6348, 216.858, 260.969, 302.636, 1863.93, 111.276, 81.7995, 685.466, 1808.08, -10.9104, 2189.63, 17.3143, -0.330623, 290.932, 141.705, 11.9967, -93.7383, 17.2784, 47.8672, 113.007, 68.5187, 60.3833, 107.685, 111.365, 95.6294, 16.0335, 2125.74, 189.074, 403.838, 266.738, 106.865, 34.9085, 106.845, 66.5682, 325.85, 296.042, 63.2891, 2926.16, 14.8828, 25.1732, -18.4655, 14.9405, -182.623, 345.625, 2151.06, 622.274, 515.647, 40.7728, 28.5061, 117.372, 35.1721, 121.707, 12.6398, 452.022, 1037.91, 99.5648, 6397.87, 83.2929, 112.015, 70.6735, 42.6805, 75.0421, 24.7328, 117.228, 67.4218, 359.033, 98.0862, 2005.45, 57.4873, 57.8876, 7.38197, 77.2251, 677.15, 30.288, 81.2351, 32.8085, 35.7945, 29.5189, 151.22, 48.3396, 7.56941, 33.6318, 1287.71, 1373.77, 45.7599, 31.5629, 109.559, 54.1209, 111.934, 339.228, 72.705, 131.702, 71.9102, 263.616, 120.872, 1364.11, 2092.8, 87.4137, 56.3817, 95.6377, -4.18302, 130.424, 45.2359, 187.043, 65.6953, 18.7438, 55.2051, 105.641, 1499.26, 167.485, 2.11053, 21.5399, 117.773, 217.44, 51.3506, 18.8601, 40.4956, 53.5845, 5.83571, 660.491, 664.955, 1574.65, 478.21, 129.376, 15.2661, 260.743, -8466.18, 49.5091, 33.2026, 9.27869, -61.5478, 66.153, 40.8323, 360.081, 178.816, 218.49, 485.663, 352.142, 25.7411, 348.956, 149.195, -85.781, 22.1877, 74.7517, 88.4789, 2.98481, 41.6607, 87.5974, 80.5128, 40.4506, 2.68361, -41.1939, 30.8733, 64.0993, 310.536, 16.2474, 16.2138, 48.1475, 178.396, 26.3308, 32.5856, 77.08, 161.854, 39.5347, -79.1266, 7.97024, 791.045, 366.511, 245.5, 77.9898, 164.441, -4.43778, 290.684, 3.41354, -0.254222, 34.5304, 48.6374, 14.6504, 4470.95, 319.764, 203.609, 28.2099, 53.0766, 55.7597, 257.995, 149.451, 354.238, 69.3679, 29.4672, 93.0593, 319.169, 169.189, 983.872, 237.993, 57.6727, -2.76582, 1531.69, 33.0223, 262.881, 253.669, 772.192, -2.05733, 30.0128, 262.16, 321.552, 6.10686, 18.6129, 889.943, 504.265, 567.512, 93.0405, 88.32, 58.962, 30.366, 271.145, 149.116, 27.7497, 28.916, 1564.67, 1988.77, 229.076, 4052.49, -20.0849, 304.424, 94.6692, 234.158, 280.213, 163.26, -0.523823, 95.161, -5.09898, 35.5848, 51.4191, 218.051, 43.3184, 501.531, 27.493, 287.333, 262.567), S = c(180.834, 134.263, 19.8172, -7.91911, 93.4402, 115.831, 300.689, 119.666, 79.9829, 5.95347, 595.908, 66.6783, 136.044, 41.4669, 17.6882, 317.314, 177.441, 112.964, -49.0879, 269.485, 240.35, 71.4727, 9889.05, 72.777, 136.208, 46.6026, 49.1144, 56.4269, 247.966, 30.2897, 15.9976, 43.3184, 98.5873, 52.8215, 29.895, 104.566, 51.2824, 14.161, 105.061, 121.308, 98.4066, 449.081, 90.946, -3.12303, 52.178, 787.855, 2671.19, 4881.61, 1094.09, 1992.91, 4568.23, 43.1294, -2.45485, 35.8078, 194.779, 1149.07, 472.645, 153.465, 155.811, 78.5674, 67.3687, 196.392, 224.741, 103.921, 37.9265, 121.149, 330.471, 44.5184, -25.7326, -5.03244, 12.0736, 249.667, 152.511, 106.064, 91.2649, 163.929, -15.2783, 22.2097, 32.284, 19.4569, 90.3666, 154.363, -2.0974, 28.5418, 56.7267, 66.856, 807.89, 16.8584, 107.983, 20.4714, 3460.35, 47.6155, -5.06083, 36.6995, 25.7782, 67.9857, -7.1937, 510.066, 8.34297, -22.6467, 17.5439, 409.735, 115.789, -2.30007, 27.6526, 31.344, 46.8879, 149.112, 20.8777, 57.4851, 259.185, 1.47103, 50.97, 345.388, 42.0308, 240.033, 129.362, 257.606, 31.0306, 4.59672, 45.0933, 33.1438, 436.701, 175.625, 33.768, 39.8363, 80.3382, 29.0026, 49.2988, 5.05956, 23.5987, -10.8797, 176.337, 54.4923, 58.8794, 439.405, -3.61493, 38.4084, 128.262, 92.448, 157.364, 96.7016, -26.1654, 90.6717, 132.453, 3486.82, 246.219, 187.849, 15.8017, 16.9958, 3.98389, 506.407, 76.9606, 1854.34, 61.4706, 7.87159, 2154.92, 63.9216, 21.003, 126.628, 15.2875, 14.8456, 155.615, 12.7579, 33.5934, 316.255, 98.0338, -0.155925, 114.746, -1.48718, 154.094, 17.3349, 147.235, 156.007, 418.399, 21.6388, 108.515, 142.459, 24.9952, 1218.14, 11.8222, 7.9083, 37.2163, 85.4512, 491.36, 183.883, 208.501, 50.3986, 1077.88, 124.843, 50.9061, 135.342, 408.804, 99.3985, 192.397, 22.2958, 286.63, 70.1096, 55.9491, 137.51, 721.507, 98.5957, 19.5054, 251.092, 4551.91, 122.042, 152.411, 60.2571, 27.1888, 100.811, 39.2265, 467.092, 64.3961, 76.1911, 83.2083, 46.4905, 18.0486, 489.009, 74.2649, 4.50381, 29.8879, 49.1869, 0.631129, 1000.79, 11.3707, 18.8654, 238.469, 23.2369, 718.064, 89.7505, 9.75831, 170.33, 28.7157, 8.9678, 112.746, 78.4019, 25.9762, 169.867, 206.853, 23.486, 6.17877, 1152.77, 192.186, 58.7668, 225.352, 306.653, 30.2744, 32.5775, 69.0377, 8.76418, 167.482, 12.9271, 212.637, -13.1019, -10.4586, 155.464, 56.8248, 599.134, 92.2997, 51.1154, 33.7343, 23.6795, 203.75, 179.768, 436.384, 4338.32, 118.207, 111.672, 1810.67, 3395.32, -38.9316, 4429.26, -5.22744, 14.8681, 271.399, 145.53, 35.5675, -92.9327, 27.1228, 101.219, 70.1528, 144.957, 104.611, 156.323, 158.986, 185.459, 73.1768, 3557.53, 318.342, 360.28, 392.819, 134.733, 37.7964, 67.7007, 49.1147, 243.646, 643.462, 36.4443, 3379.99, 6.81798, 23.0309, -17.2907, 19.7955, -93.9038, 331.732, 4460.44, 2559.39, 403.001, 19.597, 18.4828, 201.77, 39.4426, 128.766, 9.73723, 568.667, 964.267, 91.0142, 5593.77, 80.4497, 91.9147, 96.3875, 77.823, -10.0185, -0.552131, 104.977, 67.3361, 298.984, 103.676, 3175.74, 76.1713, 42.9305, 23.5164, 80.5255, 2942.06, 46.0359, 211.746, 24.4057, 36.5004, 28.4086, 189.812, 24.9993, 2.04241, 8.26861, 3992.39, 2822.58, 6.13577, -24.8298, 114.667, 45.6519, 113.635, 345.131, 41.3414, 204.028, 46.206, 286.119, 137.48, 874.469, 1530.73, 144.398, 50.0945, 106.27, 18.9696, 185.828, 42.4012, 109.506, 106.629, 0.265347, 114.964, 79.697, 1196.91, 181.206, -5.2015, 34.0159, 105.566, 275.02, 36.3232, -2.9961, 44.4439, 52.9923, 14.0299, 662.469, 689.304, 1951.98, 1049.51, 110.576, 6.38378, 257.273, 272.63, 46.4421, 8.63581, -10.7732, -50.931, 62.8756, 35.9405, 363.809, 210.738, 326.868, 518.104, 360.48, 17.5659, 389.966, 147.554, -85.8457, -4.62999, 67.4847, 72.5869, 17.7463, 72.1119, 106.536, 52.8706, 30.1552, 1.41616, -38.1398, 42.2391, 48.2987, 245.317, -2.8878, -8.54974, 67.0057, 85.5775, 68.6865, 58.0009, -100.96, 153.806, 8.89852, -52.7776, 13.7009, 741.804, 342.906, 213.806, 246.234, 249.977, 6.98249, 313.301, 4.85294, -6.65, 11.7382, 44.1473, 26.9037, 150.331, 373.791, 225.069, -13.2615, 71.2087, 77.8136, 316.181, 121.96, 535.475, 4.9466, 23.6025, 102.613, 253.591, 38.0866, 1595.16, 184.578, 67.1935, -1.492, 2918.08, 45.1199, 272.804, 333.432, 845.986, 4.28768, 32.6207, 233.91, 363.863, 21.951, 11.784, 1891.02, 329.09, 486.907, 64.4783, 66.7354, 46.4086, 33.8196, 233.154, 136.06, 47.6797, 6.52799, 340.142, 141.886, 266.149, 5408.5, -0.330254, 249.207, 91.4136, 217.254, 223.499, 125.535, -26.3701, 124.581, 23.0902, 27.3877, 63.5235, 91.5899, 30.2485, 414.683, 32.0805, 292.537, 337.14), T = c(85.4146, 91.4031, 20.419, 12.8875, 22.5168, 58.1224, 146.081, 24.0654, 23.4953, 5.66012, 381.23, 24.8852, 43.8619, 21.6548, 38.31, 88.0773, 75.8888, 63.2349, -22.5916, 148.114, 94.9754, 24.3627, 8872.19, 16.6944, 25.9624, 14.2291, 26.7874, 18.7009, 67.1026, 22.4741, 9.27033, 47.5063, 63.1381, 15.6287, 16.4874, 48.3661, 29.3514, 5.19944, 80.6699, 130.446, 92.6789, 991.455, -47.5568, -27.8809, 34.8781, 1764.84, 3354.22, 5156.98, 2924.77, 4220.09, 5945.49, 54.869, -14.7753, 17.6952, 106.033, 752.364, 315.533, 201.13, 132.043, 53.3268, 38.1879, 153.224, 164.918, 84.4463, 21.762, 54.4231, 199.737, 8.43104, -21.5154, 24.0447, 16.0306, 175.385, 123.68, 85.9635, 69.9593, 838.797, 42.3079, 9.28645, 7.80179, 41.7727, 147.448, 124.652, 14.7371, 31.7192, 37.8179, 42.2796, 488.885, -46.2152, 132.058, 5.27287, 4440.33, -0.0718337, -57.624, 4.71695, 5.46426, 39.1079, 12.6737, 321.994, 9.97344, -17.4564, 26.4203, 428.175, 105.465, 2.87448, 38.7378, 9.81193, 62.2688, 78.2701, 21.3358, -49.4748, 144.854, 23.4393, 19.4808, 341.139, 32.9906, 129.144, 185.672, 168.829, 6.00401, 33.8803, 9.36118, 14.9659, 247.173, 82.8192, 13.4658, 22.9884, 47.6126, 45.9863, 14.9616, -17.078, 13.3633, -10.6613, 149.949, 16.9201, 32.2351, 303.763, 17.3263, 12.6098, 90.374, 67.1811, 96.5753, 30.4414, 5.25392, 97.9433, 84.0109, 4791.92, 158.83, 70.5196, 25.2591, 10.6006, 4.74133, 328.929, 29.5291, 1108.02, 25.4939, 9.86538, 1881.79, 38.0273, 18.6363, 47.8304, -10.7556, 19.3657, 156.49, -4.6479, 24.3279, 177.577, 99.0255, -20.2743, 18.2502, -21.5958, 204.768, 13.9135, 30.9209, 41.149, 384.304, 4.3501, 56.0264, 84.2963, 5.9091, 1111.55, 18.1803, 35.6877, 36.4223, 28.7847, 336.821, 113.682, 153.298, -12.3375, 703.197, 6.54321, 3.4003, 365.171, 948.665, 57.6749, 140.807, -47.5884, 230.304, 35.2882, 92.0679, 119.55, 594.026, 47.8285, 1.59722, 141.695, 4590.73, 91.6325, 73.205, -7.3732, 4.2271, 54.6507, 13.1526, 354.281, 25.637, 31.0081, 29.8338, 2.26946, 26.7666, 362.02, 115.711, 11.7932, -32.3943, 32.0935, 29.629, 2198.45, 10.5357, 2.06974, 160.126, 17.9661, 557.344, 30.7372, 5.81217, 173.58, 28.031, 113.638, 44.2328, 119.839, 13.3271, 3588.49, 180.036, 12.2911, 6.12067, 2513.45, 130.452, 43.649, 164.033, 86.9239, -4.89138, 2.61077, 318.083, -9.8494, 226.599, 27.9181, 709.636, 58.3088, 8.21628, 53.439, 27.9726, 152.485, 56.2261, 35.4081, 49.3529, 23.6595, 101.075, 201.208, 1349.67, 4097.11, 57.5865, 46.8813, 2496.72, 4302.08, -14.5668, 4226.52, 7.23516, -10.6584, 199.645, 25.6556, 88.8947, -27.3404, 7.1847, 123.708, 54.1917, 95.0836, 53.2071, 87.2175, 65.777, 141.115, 127.916, 4586.4, 188.076, 373.932, 177.252, 58.2959, 22.0144, 78.9151, 8.43176, 264.651, 1104.78, 17.8202, 4534.5, 3.39535, 11.9647, -7.74796, -0.772443, -26.6313, 295.923, 4712.16, 3425.1, 614.955, 22.927, 10.8969, 148.503, 14.3999, 80.8697, 12.8348, 329.268, 673.343, 56.6204, 5771.56, 24.6675, 110.65, 35.7516, 41.8782, 44.7822, 19.8892, 41.73, 19.3424, 298.774, 37.7131, 3728.22, 36.5436, 48.8184, 28.1586, 54.0515, 3337.96, 20.775, 279.927, 18.8433, 32.674, 14.6679, 29.86, 12.9458, 19.2027, -2.83335, 3800.89, 3485.23, 20.018, 6.81922, 171.361, 23.6272, 82.1207, 183.374, 27.095, 260.132, 108.528, 184.085, 61.5014, 1167.08, 1433.71, 135.186, 31.2864, 434.736, 17.5452, 91.0749, 21.8009, 99.108, 210.107, 20.1143, 54.7748, 175.689, 1361.39, 270.05, 1.2547, -11.7241, 29.3876, 138.432, 10.7093, 10.0032, 10.2681, 18.3958, 7.03457, 512.672, 440.222, 1362.39, 910.424, 44.8842, 3.24524, 103.19, 183.772, 15.0041, 5.54029, -8.76264, -22.0844, 38.0021, -25.9207, 264.602, 55.2672, 206.417, 594.362, 448.783, 20.5519, 336.445, 171.817, -39.842, 8.79081, 50.1709, 58.1773, 46.4573, 46.5964, 43.8317, 37.5065, -2.50102, 9.116, -12.1285, -5.29367, 36.3098, 370.765, 6.12811, -26.2998, 59.922, 99.4379, 23.3231, 38.6395, 41.8341, 163.323, 2.35223, -33.2088, -0.318706, 700.347, 149.244, 149.939, 444.315, 197.612, 65.3287, 672.978, 20.2036, 60.3929, 2.13584, 16.3533, 25.6992, 33.6586, 1906.36, 228.049, 17.1178, 48.7949, 146.708, 209.255, 89.5143, 329.467, -84.1617, 9.28273, 73.3277, 150.263, 402.813, 724.912, 93.5619, 26.9338, -3.23502, 4343.81, 84.6119, 176.598, 273.432, 468.032, 20.1705, 20.3546, 250.216, 300.855, 31.8932, -0.101973, 2796.81, 353.51, 464.394, 110.78, 19.739, 21.7774, -1.61634, 189.76, 178.32, 10.1773, 29.4681, 2330.43, 1832.11, 163.47, 4295.36, 1.24901, 169.036, 51.2922, 162.709, 210.078, 101.101, -44.4698, 60.07, 31.3394, 30.0544, 26.2902, 162.19, 23.6549, 193.004, 15.0567, 284.328, 304.22), U = c(157.989, -8.68811, 26.872, 11.9186, 48.6462, 73.4221, 142.913, 98.8425, 51.5609, 52.9338, 501.744, 61.9548, 49.8289, 34.6108, 18.0297, 156.179, 87.3699, 37.4892, -21.2394, 193.205, 104.147, 48.4806, 9682.71, 36.3847, 76.8974, 24.4563, 50.9666, 51.7285, 73.0255, 24.2106, 81.0265, 47.44, 82.9362, 22.7492, 30.1752, 86.5914, 36.8239, 14.7646, 162.673, 253.176, 234.595, 516.142, 3.69034, -48.9365, 65.8244, 1617.96, 2640.46, 3657.65, 3819.17, 4090.65, 4454.83, 74.8586, 30.8665, 115.707, 89.1666, 506.21, 387.529, 136.212, 126.173, 62.8923, 40.0836, 202.828, 177.232, 78.8619, 45.8239, 79.8199, 403.987, 19.3334, -4.33529, 11.4801, 9.01189, 195.923, 148.046, 137.08, 88.7213, 1731.1, 5.7097, 65.7457, 11.6924, 164.186, 62.7575, 170.711, 27.103, 19.0265, 77.2922, 43.5574, 689.458, 17.2022, 158.953, 19.0796, 1570.76, 11.1243, -47.8425, 10.6524, -0.824531, 67.9613, 18.0697, 456.784, 4.19371, -26.2001, 62.0666, 313.22, 106.68, 5.68857, 98.9954, 27.1199, 81.5302, 135.078, 13.4029, 2.27847, 222.449, 27.6569, 36.3149, 319.741, -3.24216, 86.4926, 279.68, 302.545, 0.710896, 9.79766, 35.8284, 20.4802, 428.874, 93.8246, 8.23201, 37.7287, 72.151, 65.6202, 47.0053, 0.315092, 21.1461, -8.71233, 164.907, 41.8224, 39.359, 424.272, 3.92809, 14.0193, 129.938, 118.107, 110.441, 57.8896, 903.554, 84.1557, 90.7458, 2653.41, 355.276, -1816.64, 7.02804, 8.16405, 9.63254, 371.113, 68.6348, 875.156, 22.8315, 12.7834, 2908.65, 73.0268, 19.0389, 97.903, -18.5831, 30.1621, 141.008, 15.9366, 20.1853, 627.3, 247.215, -17.4408, 89.5689, -11.199, 164.223, 25.376, 43.2611, 165.297, 467.893, 13.1353, 98.6927, 140.993, 11.9114, 1813.87, 67.8542, 25.6188, 22.4116, 82.7, 460.699, 124.313, 238.174, 8.88709, 1043.82, 25.7917, 39.0679, 109.691, 209.892, 103.859, 245.403, 10.1044, 311.758, 35.0417, 156.112, 129.443, 773.753, 54.0158, 19.2496, 195.573, 3191.4, 60.8176, 85.4708, 78.6881, 8.26688, 106.968, 22.7105, 343.198, 33.6467, 58.9204, 30.6993, 21.9813, 34.1661, 397.846, 172.861, 18.11, -14.0195, 49.0661, 19.4589, 485.993, -5.94627, 19.3554, 203.228, 15.4995, 182.748, 33.6588, 12.4801, 250.566, 89.4413, 1.24338, 62.8193, 135.39, 26.084, 66.58, 304.39, 15.5656, 0.0976848, 2026.74, 93.9433, 50.5064, 136.347, 107.083, 0.193948, 56.348, 559.336, -1.34568, 131.805, 28.0195, 78.0697, 40.3857, 4.25619, 106.778, 46.9773, 146.015, 120.829, 175.308, 45.3821, 24.7305, 164.084, 298.482, 265.155, 1623.42, 120.842, 74.8246, 873.725, 1696.78, -58.2311, 2161.09, 154.495, 21.3336, 230.491, 137.396, 34.7623, -58.6789, 11.4523, 69.9525, 116.551, 48.5494, 151.926, 187.422, 154.078, 123.855, 95.9424, 2044.5, 491.992, 529.63, 340.004, 120.157, -10.32, 69.8532, 34.5671, 327.885, 636.459, 80.0114, 3073.94, -1.47433, 16.6172, -27.206, 24.0632, -93.0832, 310.202, 2273.54, 1030.79, 692.127, 50.6523, 0.0949905, 163.055, 35.4072, 126.346, -0.203757, 441.602, 770.905, 125.032, 5956.98, 36.5848, 162.222, 51.3298, 20.8305, 15.5991, 25.9609, 58.655, 52.9268, 333.587, 96.7429, 1602.47, 97.4173, 86.7895, 21.8971, 89.7959, 1174.03, 25.7309, 35.7276, 57.156, 44.3944, 28.3338, 128.169, 32.7755, 138.659, 15.3786, 1535.37, 3200.62, 62.304, 183.76, 149.049, 8.71382, 196.735, 309.498, 178.323, 237.073, 96.5753, 272.477, 80.7959, 1641.59, 1393.03, 88.4958, 49.7455, 107.804, 1.72709, 216.482, 37.8761, 263.464, 95.4082, 18.0926, 73.9372, 119.028, 1342.88, 259.724, 1.22813, 23.9773, 57.3953, 183.088, 45.7202, 18.3849, 26.61, 55.6054, -0.706882, 556.393, 421.879, 1167.84, 517.988, 59.9694, 3.20685, 206.993, 312.68, 22.9889, 18.4686, 4.63857, -30.2465, 89.4418, -33.5483, 234.894, 140.073, 299.794, 647.004, 226.003, 15.86, 335.638, 67.1859, -51.8662, 31.7451, 83.9066, 41.8285, 42.0325, 32.7291, 119.85, 39.4677, 30.8266, 5.43731, -28.7512, -1.65284, 78.5071, 261.552, 8.97927, -51.5476, 51.7288, 150.168, 14.6407, 45.8702, 87.2712, 130.708, 6.04671, -55.0078, 3.91318, 826.722, 190.35, 215.967, 315.772, 185.466, 37.9453, 186.14, 14.3975, 23.4929, 25.426, 17.2156, 6.52523, 68.4645, 390.197, 373.666, 48.2707, 70.0616, 151.743, 201.533, 140.316, 349.969, -33.2442, 15.2186, 98.48, 276.547, 25.9707, 517.012, 214.317, 33.5505, -2.96451, 2726.88, 90.5135, 245.165, 318.465, 467.27, 13.3121, 23.4317, 308.334, 305.01, 47.6936, 5.27658, 1097, 378.496, 613.637, 52.5746, 39.5571, 49.8384, -12.1801, 195.255, 178.577, 11.7318, 12.5255, 1648.03, 1427.1, 243.458, 2091.88, -6.21422, 272.611, 59.9022, 424.443, 250.476, 211.563, -42.4763, 97.4135, 21.3433, 34.6708, 59.0011, 191.443, 28.995, 282.507, 21.9004, 223.679, 247.843), V = c(146.8, 85.0212, 31.1488, 12.8324, 90.2215, 64.6066, 187.132, 92.0846, 48.1247, 15.7267, 659.613, 58.0325, 88.3787, 36.9725, 28.012, 249.872, 130.509, 69.9946, -38.734, 294.238, 168.992, 79.3437, 10396.1, 58.1014, 104.428, 59.6125, 27.7013, 60.7026, 189.186, 37.1239, 87.2832, 32.3454, 129.234, 49.4815, 39.3013, 144.819, 89.547, 19.1634, 192.314, 233.304, 232.416, 691.134, 15.2424, -29.8916, 37.2982, 1198.8, 2378.58, 2860.87, 3879.76, 4507.62, 4098.65, 54.4923, 16.7083, 98.5723, 84.3737, 596.467, 434.575, 73.1467, 163.036, 53.4802, 58.4489, 204.88, 196.61, 89.4526, 47.7735, 90.0391, 348.738, 51.0633, 11.8902, 2.31597, 9.60877, 242.327, 149.534, 153.576, 132.633, 3006.34, 2.60968, 109.943, 25.9401, 70.5182, 118.336, 173.694, 17.664, 5.00616, 93.2511, 73.8148, 848.672, 14.9824, 104.303, 18.5045, 2350.16, 52.1706, 4.98633, 24.2924, 15.9269, 63.3791, 4.59506, 336.982, 17.333, -22.031, 35.598, 288.123, 154.099, 6.85971, 196.454, 46.4389, 45.5724, 129.7, 16.933, 31.0391, 193.007, 11.3017, 68.8202, 365.599, 81.2111, 171.59, 180.212, 300.681, 32.2205, 8.08239, 55.0635, 43.0479, 415.1, 140.86, 27.6083, 50.3935, 108.081, 46.7669, 93.0661, 4.387, 32.655, -36.8072, 128.504, 67.4608, 49.1855, 430.627, 7.29553, 30.7981, 115.461, 99.4041, 120.119, 79.4284, -8.70355, 129.377, 111.452, 2636.2, 283.657, 152.508, 10.2713, 21.833, 12.0283, 384.157, 111.401, 1552.5, 70.0416, 9.38613, 3105.92, 69.0755, 14.0697, 72.8632, 1.86091, 12.6286, 165.686, 23.575, 29.6849, 291.643, 136.994, 12.2572, 116.667, -9.89752, 162.058, 14.9847, 135.385, 134.205, 282.957, 31.3019, 79.3672, 129.701, 25.2638, 2063.8, 85.4085, 22.2778, 35.5618, 68.1409, 477.608, 159.587, 177.912, 12.3833, 1504.4, 89.2294, 36.7813, 100.322, 178.409, 74.2343, 145.029, 22.5529, 338.865, 70.4458, 143.998, 137.354, 718.835, 92.2865, 44.6636, 294.612, 3153.36, 107.572, 127.595, 66.1574, 20.5912, 123.183, 38.7749, 538.56, 54.1507, 73.0012, 55.4213, 58.4307, 28.2636, 558.944, 130.972, 9.68121, 34.9358, 75.5451, 10.1148, 242.757, 25.2692, 31.3001, 186.852, 23.7675, 243.991, 124.371, 12.6768, 219.736, 74.2949, 15.8069, 64.9143, 141.896, 46.0688, 18.6799, 228.678, 17.3736, 14.7902, 904.369, 30.203, 39.7144, 200.381, 242.083, 29.385, 39.6679, 217.316, 0.453118, 146.591, 27.3242, 99.2733, -6.54072, 6.56623, 172.795, 67.0636, 498.539, 140.281, 126.26, 77.8774, 31.0841, 234.303, 259.19, 271.516, 3717.97, 94.2988, 71.7809, 694.162, 1565.52, -7.65442, 2008.76, 56.0799, 14.7563, 254.124, 152.548, 3.96758, -112.889, 23.7309, 43.959, 115.697, 21.7522, 84.5736, 143.954, 144.098, 98.6888, 48.2402, 1436.37, 341.351, 401.483, 309.221, 93.2162, 48.3087, 76.9098, 46.6884, 273.507, 266.358, 67.4139, 2866.11, 20.2726, 16.3465, -29.4872, 11.5116, -204.174, 332.45, 1994.19, 1184.78, 392.023, 44.7525, 36.1219, 110.905, 39.2748, 117.471, 22.0005, 513.787, 927.413, 125.58, 6498.24, 84.7558, 104.13, 57.8553, 58.1969, -28.5082, 6.40566, 107.818, 92.3361, 404.992, 83.7837, 1459.51, 76.4665, 66.6122, 7.24202, 113.211, 954.436, 22.4689, 32.1727, 48.0985, 27.3616, 36.9859, 179.13, 47.7911, 188.365, 28.236, 1653.81, 1759.21, 48.8833, 146.243, 159.633, 35.2368, 116.22, 359.115, 77.2792, 145.838, 81.4343, 290.231, 152.031, 1603.45, 1937.63, 75.9467, 61.9098, 80.9726, -7.0814, 134.276, 49.8239, 185.681, 94.0413, 17.4167, 59.2552, 106.439, 1243.49, 162.989, 9.0091, 38.2842, 146.055, 211.768, 48.178, 23.925, 73.9306, 64.0879, 45.589, 662.33, 516.529, 687.539, 140.826, 134.102, 11.9479, 255.559, 640.483, 50.5054, 26.5233, 13.8135, -62.5521, 50.5043, 56.0148, 340.46, 193.713, 234.002, 565.911, 286.525, 28.1796, 349.433, 101.645, -92.2694, 10.4707, 75.8019, 98.9545, 2.58892, 45.9471, 159.292, 98.5365, 29.5933, 5.29836, -33.1193, 22.5066, 63.4782, 291.064, 17.8339, 13.534, 89.7338, 138.021, 53.3355, 47.8456, 114.431, 128.613, 13.7885, -87.8064, 3.74718, 738.26, 314.237, 239.549, 134.137, 186.247, 3.33742, 190.915, 8.25899, -1.16246, 27.3675, 39.4051, 25.0474, 148.14, 212.304, 266.504, 11.992, 54.1384, 35.5603, 284.945, 148.733, 329.237, 36.8865, 18.7155, 77.6382, 324.99, 42.4623, 979.981, 210.802, 68.029, -0.70452, 929.993, 122.7, 286.294, 204.529, 657.229, 4.27519, 29.4157, 249.475, 231.63, 10.1838, 15.7454, 1418.74, 554.93, 590.865, 83.5738, 96.2179, 65.2052, 28.1082, 274.239, 144.532, 18.8459, 15.9159, 568.05, 826.803, 177.082, 2839.7, -25.3921, 214.296, 88.9582, 262.805, 197.053, 159.425, -1.24586, 152.398, 20.8587, 32.8964, 87.765, 159.64, 58.8501, 504.189, 31.6534, 273.78, 202.284), W = c(93.8829, 79.2998, 22.342, 11.139, 42.0053, 40.3068, 170.583, 53.3866, 31.8358, 15.2116, 590.156, 28.7707, 91.5539, 16.9959, 24.8743, 141.803, 91.7096, 42.8123, -44.2136, 197.745, 109.586, 42.6647, 8365.8, 40.3792, 68.447, 22.6792, 30.9739, 43.9691, 104.818, 23.3193, 30.0672, 36.1116, 96.675, 24.9362, 18.2112, 79.414, 73.7415, 11.4693, 125.129, 234.052, 180.548, 780.294, 20.5804, -27.1269, 27.4847, 2573.87, 3477.17, 4471.09, 4331.77, 5276.04, 5664.37, 67.9535, 25.6475, 76.769, 68.6645, 569.912, 448.872, 84.3918, 151.687, 70.5891, 46.049, 163.378, 205.215, 85.3799, 20.69, 52.4086, 217.039, 28.319, 8.98009, 2.49221, 7.2658, 132.225, 113.424, 90.7812, 49.4236, 194.233, -2.22783, 12.3812, 2.20869, 11.5695, 99.7647, 128.898, 19.5615, 35.292, 94.5332, 67.4591, 554.534, 7.66178, 125.216, 14.4581, 2937.07, 16.2097, -13.3297, 8.89613, 0.268704, 53.3312, -3.18541, 400.768, 7.91864, -22.0276, 27.0425, 307.79, 117.905, 1.04752, 62.4551, 47.2319, 47.9187, 95.9799, 22.9395, 20.0366, 186.816, 31.649, 46.0998, 480.031, 60.3285, 164.009, 200.208, 161.315, 56.6931, 9.0717, 23.3418, 29.9439, 311.585, 105.587, 18.0468, 27.286, 52.2595, 41.7338, 41.9092, -6.27292, 15.0346, 2.49389, 158.706, 47.6087, 63.6269, 371.786, 14.0691, 20.6185, 83.1104, 88.1335, 74.1428, 88.3365, -16.7579, 109.776, 78.3542, 3723.43, 181.918, 127.877, 39.8845, 36.89, 6.36301, 370.387, 60.0514, 1250.16, 45.784, 17.0307, 2659.47, 39.4764, 8.75707, 67.4581, 3.32201, 6.27112, 109.75, 0.0379001, 18.788, 219.604, 83.3589, 0.223356, 72.8466, -3.92575, 115.845, 15.8586, 100.997, 110.407, 293.455, 34.1911, 77.0416, 120.623, 13.4395, 1331.91, 31.2241, 8.70833, 25.7259, 59.1483, 305.94, 77.5733, 178.913, 16.5687, 1227.09, 25.6378, 25.5943, 424.363, 1060.22, 66.4364, 214.827, 10.2609, 326.249, 58.4576, 316.629, 103.313, 630.475, 56.2809, 20.6089, 197.695, 4188.16, 130.831, 85.652, 54.0967, -0.698646, 50.5705, 16.5062, 228.745, 39.6945, 45.1939, 13.7713, 24.4483, 23.2166, 421.695, 141.163, 5.23799, 14.9818, 42.4541, 14.3148, 1018.29, 44.1777, 18.0954, 174.692, 1.13532, 177.388, 76.7073, 6.18476, 211.823, 91.4271, 3.23425, 43.7706, 118.826, 27.0587, 2702.13, 235.38, 10.0865, 5.50446, 2175.88, 51.4997, 50.5894, 95.3916, 148.45, 6.40436, 23.5829, 330.852, -0.310719, 207.436, 21.3795, 284.009, 36.3695, -7.45753, 108.835, 28.6744, 351.821, 81.5486, 162.442, 66.8129, 7.60735, 162.102, 287.533, 631.07, 3388.32, 79.7706, 57.3322, 1271.83, 2471.53, -29.1697, 3267.69, 5.95262, 32.91, 194.936, 86.4109, 53.1509, -41.465, 15.2884, 72.1419, 64.2053, 201.034, 164.92, 232.637, 267.261, 104.615, 246.293, 3545.06, 668.983, 390.615, 206.928, 113.631, 17.5142, 107.777, 23.6411, 285.105, 894.496, 30.4761, 3370.49, 9.77489, 18.472, -14.7844, 16.7371, -113.75, 389.444, 3420.63, 1801.31, 572.056, 43.4844, 11.8425, 99.7886, 17.1879, 101.741, 12.4638, 282.006, 757.723, 68.368, 7042.88, 49.1817, 100.521, 41.5229, 48.4048, 1.87017, 1.50182, 73.7493, 47.2105, 326.063, 51.7689, 2653.49, 66.4281, 77.9568, 11.6907, 52.1105, 1675.42, 34.4654, 294.214, 24.6104, 17.815, 28.1464, 124.825, 28.0614, 5.60878, 17.4288, 2473.69, 2296.06, 14.6744, 4.47085, 168.622, 27.3937, 86.2253, 270.465, 40.3882, 117.987, 86.8032, 230.207, 85.7811, 1289.93, 1702.7, 145.237, 63.6695, 125.432, 3.0438, 89.7088, 21.3173, 132.6, 116.694, 15.4594, 45.2788, 184.129, 1587.01, 157.617, -0.493317, 9.90994, 97.5666, 144.692, 34.5865, 7.931, 40.2999, 27.9275, -3.58742, 485.435, 437.813, 1452.56, 574.669, 86.8385, 23.5322, 171.905, 224.899, 32.7434, 13.9438, 13.343, -40.59, 25.1954, 44.9909, 245.033, 127.305, 177.074, 440.508, 290.957, 15.9839, 294.587, 101.032, -35.4977, 6.72849, 46.2628, 58.8674, 0.475095, 34.3861, 130.95, 54.8103, 15.4945, -0.39281, -21.281, 6.00761, 72.1088, 250.751, -0.406172, 7.80526, 59.6821, 132.221, 36.7295, 23.074, 56.5949, 293.273, 6.76556, -46.7689, 3.47536, 748.806, 294.336, 146.912, 271.733, 219.698, 62.569, 345.02, 3.13008, 30.308, 6.17931, 18.9706, 13.9386, 89.2086, 748.361, 358.791, 109.327, 49.8742, 110.424, 319.118, 98.7191, 310.937, 29.6553, 22.2504, 123.248, 201.381, 272.266, 1368.36, 143.957, 51.4594, 4.59039, 2751.79, 72.3933, 219.441, 271.931, 494.064, 10.4994, 15.2219, 236.647, 314.185, 5.56465, 11.6035, 2087.89, 422.794, 390.361, 66.1281, 66.8283, 41.6442, 17.8877, 207.359, 185.938, 15.4422, 0.0721809, 2390.02, 2842.8, 188.211, 3583.67, -13.5936, 213.801, 72.5324, 184.59, 223.815, 144.363, -0.491996, 95.4303, 53.5745, 23.847, 43.1828, 122.662, 50.3786, 318.681, 22.925, 283.962, 180.556), X = c(103.855, 71.6552, 19.0135, 7.55564, 57.5738, 41.8209, 133.279, 52.0164, 29.9264, -5.35282, 461.23, 48.5346, 40.2298, 8.39896, 17.7428, 117.473, 77.9277, 63.8059, -23.6993, 203.531, 106.757, -12.6489, 9345.94, 33.9219, 84.325, 26.541, 20.4447, 12.9576, 129.619, 39.302, 32.4333, 36.6902, 94.5572, 27.0847, 15.2479, 64.4091, 52.7497, -2.53228, 77.664, 85.4302, 81.7355, 981.646, 38.5142, -17.5833, 27.7867, 1552.46, 3626.69, 5900.96, 965.54, 2335.83, 5219.36, 56.3916, 11.4089, 8.23804, 45.1092, 590.292, 404.212, 158.902, 172.453, 70.8063, 75.0311, 132.294, 227.772, 40.4406, 32.6849, 55.5681, 186.463, 15.9432, 7.08868, 9.96418, -12.0555, 204.795, 136.208, 67.8371, 47.1633, 130.277, -3.05798, 15.524, 0.394058, -0.575181, 116.937, 137.411, 15.8249, 27.7821, 56.4698, 72.6469, 793.019, -3.20777, 166.785, 20.0154, 3257.57, 27.9982, -0.0363981, 25.4436, 10.4671, 38.5609, 3.58018, 404.834, -4.70361, -11.9295, 43.1111, 84.1063, 69.6939, 1.9759, 77.2344, 12.9422, 45.3537, 51.7135, 8.80947, 7.73061, 130.009, 9.35285, 34.4833, 433.679, 27.4743, 158.522, 215.065, 179.114, 26.4954, 9.3366, 23.7929, 13.452, 199.349, 105.274, -0.691375, 17.7547, 4.10314, 35.5965, 44.8385, -0.221245, 14.5359, -16.4445, 105.255, 38.4129, 66.9824, 382.957, 15.7831, 14.7568, 67.7456, 74.4817, 85.8083, 79.3688, -11.9028, 95.3734, 88.6175, 3638.23, 179.778, 81.8201, 21.4498, 25.1334, 13.3877, 373.739, 41.2316, 1690.04, 42.6084, 26.4521, 2174.18, 35.9456, 17.0905, 26.4139, 12.1516, 7.7893, 101.429, 3.61813, 25.9043, 165.546, 165.029, 2.21347, 41.351, -15.7535, 196.906, 5.87379, 71.1112, 112.901, 307.683, 13.0548, 71.6915, 87.8448, 13.656, 1324.22, 68.4614, 13.8467, 15.6624, -2.11244, 297.141, 107.993, 217.546, 8.23705, 872.009, 70.5007, 20.4041, 198.528, 839.796, 78.6212, 64.8983, 6.00077, 245.485, 54.9742, 172.73, 102.901, 624.53, 66.6335, 29.4896, 180.67, 5833.66, 116.569, 74.2093, 58.8941, 11.4795, 38.9307, 24.9464, 238.739, 50.3452, 25.8187, 30.6562, 27.1836, 24.7247, 461.369, 149.096, 4.03206, 31.8861, 58.9681, 4.73846, 1079.05, 10.5102, 10.7358, 171.903, 21.6532, 1614.61, 69.1148, -1.06577, 246.209, 60.9519, 8.55947, 53.5345, 107.852, 15.5495, 1089.79, 100.743, -9.84966, 8.50146, 2509.63, 88.4241, 11.468, 93.436, 136.846, 14.834, 12.8876, 87.0857, -4.64621, 227.816, 12.562, 421.94, 16.9143, 2.74598, 63.8839, 17.5857, 413.069, 87.988, 46.8763, 79.4983, 23.5537, 156.533, 142.026, 625.897, 3069.9, 93.4094, 50.3598, 1902.77, 3014.6, -71.304, 3680.73, -1.80914, 19.1538, 190.056, 52.2877, 60.5452, -23.5987, -1.91455, 103.818, 31.699, 134.021, 37.0279, 52.1777, 73.3428, 276.737, 287.212, 3643.06, 113.995, 339.686, 198.545, 79.3342, 98.5352, 82.1863, 22.447, 239.447, 1430.28, 32.5284, 3884.78, 15.1339, 17.3066, -6.03283, 29.8269, -58.3026, 313.006, 4781.54, 2323.54, 536.467, 29.7574, 10.0447, 152.661, 18.8966, 109.161, 2.93635, 301.283, 646.211, 59.3143, 5632.2, 42.6628, 82.368, 50.862, 63.6873, 6.28557, 6.79988, 64.1165, 61.7862, 296.761, 68.4204, 3511.48, 62.6788, 66.0424, 16.0121, 83.9819, 2693.64, 33.3963, 541.391, 24.8203, 25.8722, 20.7669, 405.887, 16.5432, -11.8931, 9.47242, 3512.12, 3913.11, 28.1157, 0.942018, 198.992, 24.5918, 133.321, 320.601, 45.0174, 152.439, 49.5598, 168.985, 72.77, 1044.1, 1593.03, 99.944, 41.6344, 239.253, 8.03384, 87.8811, 27.0239, 50.1334, 137.746, 18.3693, 123.532, 217.189, 1474.25, 160.646, 6.16888, 6.51786, 69.9984, 131.152, 16.941, 3.84455, 34.2437, 24.9068, -3.62168, 379.14, 373.372, 1373.67, 1082.74, 83.0411, 12.5, 133.863, 195.145, 23.0121, 6.82277, -9.81922, -3.47117, 56.0757, 31.1144, 260.057, 144.496, 207.943, 650.587, 296.833, -2.61181, 309.397, 84.0845, -43.7302, 14.4997, 120.602, 62.3774, 2.61724, 20.4225, 101.752, 37.9427, 12.9264, 7.63623, -20.0477, 25.8764, 65.8894, 314.29, 7.61551, 10.3069, 53.5564, 145.203, 68.0812, 86.306, 55.2896, 122.202, -1.52974, -65.4116, -0.873269, 628.029, 288.948, 178.474, 669.091, 180.865, 48.6863, 312.838, 7.52951, 49.6373, 15.7523, 26.4832, 19.6958, 88.0791, 1157.78, 369.865, 2.1029, 56.2654, 225.17, 370.433, 102.009, 376.608, 26.6551, 15.7319, 40.9501, 158.392, 127.145, 1200.37, 146.255, 36.6009, -2.10472, 4898.71, 45.5338, 188.234, 170.369, 404.419, 9.80528, 11.8492, 255.268, 323.192, -8.35253, 12.1275, 3268.36, 445.377, 382.372, 50.5897, 52.3964, 32.0701, 5.56768, 212.712, 106.366, 9.38988, -15.6778, 2116.01, 678.949, 264.591, 3558.35, -10.315, 182.813, 51.2728, 221.997, 214.561, 231.79, -3.55962, 98.0544, 21.0206, 52.5622, 46.7389, 144.45, 30.4269, 304.96, 14.9017, 230.878, 247.59), Y = c(64.434, 64.2369, 12.1686, 19.9849, 44.8216, 46.1087, 187.407, 65.9154, 37.8611, 13.1884, 367.433, 31.1489, 36.2151, 41.0271, 34.7923, 126.114, 129.627, 50.1246, -38.6532, 181.623, 90.1958, 37.4389, 8252.65, 23.7046, 46.6156, 30.6529, 14.6951, 16.9243, 91.4007, 25.4601, 20.7603, 30.3978, 59.0705, 24.7106, 16.143, 72.0106, 30.1115, 1.63297, 197.797, 499.756, 352.708, 1662.26, 6.94581, -38.1436, 53.7229, 2323.13, 3276.53, 3914.43, 3999.14, 4771.61, 4448.73, 81.5114, 13.4753, 55.5644, 39.1224, 489.808, 346.004, 118.373, 107.175, 76.3004, 30.3936, 143.483, 173.181, 52.6598, 27.0883, 48.0123, 209.379, 30.3679, 2.3115, 28.1439, 3.83654, 188.775, 87.3997, 136.297, 100.923, 3595.46, 7.79922, 187.656, 16.3697, 141.183, 79.4596, 112.344, 20.7649, 16.9782, 84.3264, 44.8918, 629.055, 22.3966, 99.9854, 26.0274, 2532.94, 18.3218, -23.3218, 33.7587, 11.0642, 56.9848, 14.2393, 293.748, 15.9607, -14.1471, 29.6764, 382.133, 128.27, 4.71653, -220.107, 12.1819, 79.097, 205.179, 13.0671, 3.55578, 151.32, 16.0169, 30.5214, 198.184, 76.6212, 140.886, 113.38, 178.667, 22.2304, 13.2707, 26.3927, 23.7605, 264.064, 95.6504, 19.7899, 21.6213, 56.3858, 30.2128, 48.8188, 3.19005, 18.608, -20.9676, 151.208, 35.7417, 47.3164, 333.499, 8.86286, 55.5017, 94.081, 86.7739, 54.8253, 68.9776, -18.072, 129.709, 67.4869, 3659.51, 277.895, 84.8364, 28.3289, 33.0593, -11.8278, 360.766, 57.256, 1069.6, 18.9821, 8.01176, 2442.02, 38.3782, 12.7976, 77.7258, -3.5095, 8.89093, 161.079, 9.12265, 8.02902, 220.578, 74.5015, 3.18391, 46.0466, -12.0782, 113.445, 30.5579, 149.118, 115.344, 285.885, 11.0866, 63.4076, 119.496, 21.3215, 1227.09, 51.6233, 45.6924, 35.5513, 34.4882, 299.461, 86.7734, 120.669, 5.09833, 672.499, 38.728, 52.5188, 515.891, 1046.02, 72.8346, 92.867, 12.066, 282.087, 44.848, 274.913, 130.913, 538.964, 60.7766, 25.2943, 217.75, 4273.07, 104.672, 87.2302, 60.3566, 11.6709, 83.4133, 19.6816, 239.786, 73.9264, 36.0309, 33.3687, 26.1832, 28.3214, 337.965, 127.288, -0.606596, 54.0417, 31.1683, 13.4045, 805.616, 10.0587, 20.1677, 187.757, 11.2774, 328.201, 84.7311, 2.97481, 216.429, 119.826, 15.2975, 77.9347, 92.9012, 22.1988, 349.427, 189.126, 38.4599, 40.6279, 1433.23, 48.5369, 28.5485, 160.872, 143.716, 4.11928, 21.8384, 239.402, 10.6622, 278.97, 21.3151, 294.656, -10.3959, 8.45477, 97.329, 60.5502, 278.355, 107.299, 245.074, 44.4103, 7.58657, 134.182, 252.512, 497.34, 2769.34, 86.3409, 34.5141, 1142.92, 1870.69, 2.52721, 2870.88, 79.2371, 37.1837, 169.325, 107.026, 30.3164, -42.5712, 17.7072, 63.9556, 82.9713, 105.271, 210.32, 312.184, 385.856, 132.273, 86.1813, 3268.61, 1024.69, 442.88, 159.222, 90.5501, 30.9035, 129.247, 34.7197, 196.487, 730.505, 44.1833, 2962.86, -1.73042, 34.7037, -17.6214, 16.2378, -134.863, 191.506, 3243.49, 1811.76, 489.651, 50.6778, 23.61, 114.661, 22.8506, 101.677, 10.8915, 231.014, 642.812, 94.4195, 5150.34, 59.8757, 101.893, 32.2673, 17.2878, 45.2713, 13.6043, 80.8419, 55.7107, 366.833, 55.2646, 2756.04, 99.2655, 57.991, 4.07751, 73.0566, 1760.5, 26.4565, 120.745, 29.9676, 44.3971, 30.3502, 111.041, 35.1207, 134.878, 26.4519, 2476.15, 2520.83, 50.1819, 157.964, 128.774, 44.9872, 81.1903, 197.019, 33.9799, 108.207, 116.09, 240.46, 120.025, 1987.3, 1480.16, 64.9968, 136.84, 109.756, 11.1087, 78.8428, 38.8894, 123.502, 93.0791, 27.0456, 40.8247, 180.841, 1124.35, 148.854, 0.0595516, 10.5117, 72.4034, 108.195, 41.2199, 27.2082, 33.6403, 34.726, -11.3763, 361.092, 480.253, 795.996, 373.703, 64.0276, 20.7283, 180.364, 456.108, 27.8536, 28.7937, 1.9343, -21.0062, 40.4928, -92.5084, 277.745, 94.2212, 165.025, 449.793, 202.659, 17.8172, 251.218, 83.4933, -38.6925, 23.1082, 54.3242, 65.7657, 38.7528, 74.0051, 47.5855, 52.602, 7.69903, 1.74712, -29.3427, -2.28681, 42.1297, 294.078, 18.4532, -8.80464, 60.0974, 116.354, 9.94368, 21.8901, 58.8993, 177.867, 10.6735, -52.5324, 14.8375, 978.88, 273.75, 172.095, 286.423, 146.15, 26.1367, 168.8, 23.6742, 45.756, 32.3425, 9.63194, 14.6851, 83.4002, 529.178, 346.757, 49.8069, 35.9698, 116.649, 322.733, 101.629, 397.616, 19.1037, 13.7456, 104.526, 79.0888, 246.038, 1287.93, 177.426, 57.425, -3.21138, 2319.23, 113.941, 204.927, 223.964, 441.536, 85.3879, 13.6376, 227.602, 57.5928, 130.555, 5.87376, 2155.53, 290.081, 376.909, 92.0564, 59.0583, 31.764, 16.2211, 215.908, 142.984, 16.4043, 7.04334, 1406.45, 1583.27, 131.581, 3462.2, 7.78682, 172.987, 45.3099, 220.598, 198.221, 165.068, -19.3646, 100.473, 51.6015, 20.089, 28.9834, 102.521, 35.5309, 318.736, 22.7341, 216.652, 137.959), Z = c(175.615, 78.7068, 17.378, 8.96849, 61.7044, 49.4122, 144.784, 75.0043, 60.4772, 10.0385, 790.943, 72.4567, 73.5309, 21.088, 40.2213, 210.561, 91.7803, 134.588, -40.7251, 234.953, 116.069, 62.0706, 4652.85, 45.1485, 74.5315, 29.4477, 33.8544, 35.2928, 102.621, 28.4838, 89.5884, -53.8352, 71.216, 31.3545, 23.4662, 68.812, 38.833, 16.6207, 188.116, 312.653, 309.973, 976.528, 19.5267, -29.0792, 51.8841, 5396.98, 6268.57, 8007.31, 2593.41, 2792.5, 3654.3, 58.9553, 6.23455, 57.7551, 143.242, 721.32, 547.635, 96.8654, 185.231, 96.0878, 57.448, 214.696, 204.236, 119.729, 30.2444, 85.6485, 334.249, 28.3019, 12.3808, -0.686965, 8.30199, 201.313, 154.514, 120.003, 128.271, 3949.66, -3.90832, 1.37556, 0.115654, 186.293, 120.317, 131.966, 33.6554, 4.97229, 30.5327, 38.4677, 695.874, 12.178, 130.613, 15.9664, 5821.41, 16.7248, 6.4599, 24.2949, 9.85454, 57.8458, 5.81503, 386.676, 1.52247, -33.954, 33.4058, 476.008, 126.252, 1.43033, 197.113, 30.9481, 55.8244, 162.076, 31.361, 12.9281, 225.702, 25.0649, 45.294, 320.477, 64.669, 127.117, 183.385, 217.682, 39.2494, 6.07408, 40.667, 38.1994, 441.567, 89.4277, 46.6241, 41.042, 78.1778, 55.5426, 74.4574, 7.8187, 37.2687, -41.0933, 179.983, 48.8883, 30.8553, 419.733, -3.71759, 17.7796, 124.578, 127.804, 163.667, 96.6763, -13.882, 124.082, 102.447, 4538.63, 324.173, 180.668, 30.695, 24.5073, 16.98, 477.005, 62.9815, 1144.85, 39.2256, 28.1562, 2343.16, 123.996, 11.7146, 83.3672, 3.66428, 8.77839, 116.246, 4.90859, 66.3551, 246.004, 221.677, 24.1278, 93.6095, -4.99042, 163.165, 22.1886, 95.5136, 125.46, 359.16, 29.7101, 86.7899, 163.985, 55.433, 1347.3, 102.779, 12.6033, 21.714, 57.3163, 335.173, 192.821, 263.324, 8.9268, 789.193, 49.4697, 50.0177, 240.026, 484.841, 101.277, 248.77, 7.27135, 318.83, 34.0554, 346.501, 111.967, 689.406, 55.0139, 43.8142, 233.662, 3559.32, 69.8729, 146.993, 67.9381, 9.17022, 110.155, 33.0339, 451.23, 37.8454, 53.2007, 65.4184, 23.8741, 41.1479, 439.898, 137.748, -0.908171, 78.0279, 33.4717, 8.48149, 586.873, 11.0941, 20.149, 279.665, 18.8279, 254.824, 69.7076, 21.5575, 221.416, 91.442, 13.8932, 77.73, 155.463, 26.8256, 29.1519, 245.039, 6.1962, 28.6359, 2230.02, 56.2641, 54.0002, 198.39, 127.556, 19.2836, 23.3047, 311.924, 5.13927, 169.6, 31.9776, 350.559, 59.0126, 2.91583, 141.862, 68.935, 256.027, 112.449, 282.703, 42.7275, 26.8873, 280.86, 337.124, 184.335, 4173.32, 109.806, 108.091, 562.811, 2741.53, -84.3726, 4270.95, 179.225, 18.4595, 243.641, 143.951, 48.7157, -70.68, 21.74, 104.49, 87.1547, 88.9827, 73.4805, 91.6722, 105.905, 187.846, 45.3425, 5038.63, 180.624, 379.443, 287.845, 131.404, 55.7563, 73.7012, 70.7104, 279.954, 373.029, 67.3803, 4449.96, 31.9084, 23.4199, -22.3056, 13.9423, -123.237, 342.9, 5462.8, 2935.58, 702.04, 52.6377, 22.3381, 154.689, 23.6823, 89.1286, 12.0212, 526.41, 956.31, 177.783, 4498.55, 53.5631, 130.637, 54.5388, 61.6913, -43.8786, 3.27369, 157.966, 74.2671, 313.025, 93.83, 4302.85, 141.049, 50.9147, 68.8394, 104.932, 2188.28, 117.768, 274.929, 34.8144, 27.2235, 74.775, 129.955, 28.7763, 90.857, 13.7552, 3576.69, 2815.26, 52.9943, 365.15, 137.886, 30.0445, 274.657, 274.697, 37.5881, 128.01, 44.2284, 305.179, 88.4655, 2241.64, 1805.29, 69.6289, 70.4976, 125.397, -5.50171, 143.371, 45.7598, 297.246, 77.6654, 14.813, 48.7161, 127.716, 896.443, 186.552, 1.34836, 34.5627, 63.0341, 179.091, 50.86, 20.601, 30.4051, 37.0237, 9.2402, 540.935, 490.287, 4264.45, 2419.55, 99.7098, -30.8367, 200.178, 464.518, 37.6414, 16.7089, 1.40506, -2.41517, 38.5733, 50.9868, 214.045, 154.325, 249.752, 595.099, 383.625, 21.3787, 406.865, 64.4162, -43.9011, 14.5308, 72.7384, 75.3724, 12.3926, 45.137, 113.16, 32.784, 20.6045, 6.76257, -11.4918, 16.1775, 60.4131, 441.265, 1.55004, 10.2899, 91.4198, 150.975, 27.8935, 23.1338, 108.075, 139.205, 1.73812, -66.9157, -7.14961, 699.37, 246.651, 229.445, 210.434, 179.067, 31.2431, 122.683, 4.80586, 33.7739, 17.8987, 42.1504, 26.7045, 113.626, 316.855, 322.177, -10.3397, 44.6522, 198.4, 292.841, 147.858, 409.597, 39.3989, 15.6542, 113.361, 211.954, 261.276, 738.004, 184.868, 61.379, 6.79516, 2955.87, 62.8045, 297.49, 304.946, 746.325, 7.84412, 43.0373, 186.879, 319.566, 1.83518, 14.2545, 3321.83, 545.889, 611.534, 133.235, 53.9387, 41.8259, 6.69247, 225.888, 150.876, 19.3394, 17.7364, 497.67, 345.194, 157.833, 3569.07, -15.6659, 259.549, 77.8127, 390.22, 296.982, 277.797, -26.6793, 124.435, 23.6537, 59.3599, 63.8332, 114.49, 39.6802, 291.709, 24.2746, 297.74, 287.749)), .Names = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"), row.names = c("AFFX-MurIL2_at", "AFFX-MurIL10_at", "AFFX-MurIL4_at", "AFFX-MurFAS_at", "AFFX-BioB-5_at", "AFFX-BioB-M_at", "AFFX-BioB-3_at", "AFFX-BioC-5_at", "AFFX-BioC-3_at", "AFFX-BioDn-5_at", "AFFX-BioDn-3_at", "AFFX-CreX-5_at", "AFFX-CreX-3_at", "AFFX-BioB-5_st", "AFFX-BioB-M_st", "AFFX-BioB-3_st", "AFFX-BioC-5_st", "AFFX-BioC-3_st", "AFFX-BioDn-5_st", "AFFX-BioDn-3_st", "AFFX-CreX-5_st", "AFFX-CreX-3_st", "AFFX-hum_alu_at", "AFFX-DapX-5_at", "AFFX-DapX-M_at", "AFFX-DapX-3_at", "AFFX-LysX-5_at", "AFFX-LysX-M_at", "AFFX-LysX-3_at", "AFFX-PheX-5_at", "AFFX-PheX-M_at", "AFFX-PheX-3_at", "AFFX-ThrX-5_at", "AFFX-ThrX-M_at", "AFFX-ThrX-3_at", "AFFX-TrpnX-5_at", "AFFX-TrpnX-M_at", "AFFX-TrpnX-3_at", "AFFX-HUMISGF3A/M97935_5_at", "AFFX-HUMISGF3A/M97935_MA_at", "AFFX-HUMISGF3A/M97935_MB_at", "AFFX-HUMISGF3A/M97935_3_at", "AFFX-HUMRGE/M10098_5_at", "AFFX-HUMRGE/M10098_M_at", "AFFX-HUMRGE/M10098_3_at", "AFFX-HUMGAPDH/M33197_5_at", "AFFX-HUMGAPDH/M33197_M_at", "AFFX-HUMGAPDH/M33197_3_at", "AFFX-HSAC07/X00351_5_at", "AFFX-HSAC07/X00351_M_at", "AFFX-HSAC07/X00351_3_at", "AFFX-HUMTFRR/M11507_5_at", "AFFX-HUMTFRR/M11507_M_at", "AFFX-HUMTFRR/M11507_3_at", "AFFX-M27830_5_at", "AFFX-M27830_M_at", "AFFX-M27830_3_at", "AFFX-HSAC07/X00351_3_st", "AFFX-HUMGAPDH/M33197_5_st", "AFFX-HUMGAPDH/M33197_M_st", "AFFX-HUMGAPDH/M33197_3_st", "AFFX-HSAC07/X00351_5_st", "AFFX-HSAC07/X00351_M_st", "AFFX-YEL002c/WBP1_at", "AFFX-YEL018w/_at", "AFFX-YEL024w/RIP1_at", "AFFX-YEL021w/URA3_at", "31307_at", "31308_at", "31309_r_at", "31310_at", "31311_at", "31312_at", "31313_at", "31314_at", "31315_at", "31316_at", "31317_r_at", "31318_at", "31319_at", "31320_at", "31321_at", "31322_at", "31323_r_at", "31324_at", "31325_at", "31326_at", "31327_at", "31328_at", "31329_at", "31330_at", "31331_at", "31332_at", "31333_at", "31334_at", "31335_at", "31336_at", "31337_at", "31338_at", "31339_at", "31340_at", "31341_at", "31342_at", "31343_at", "31344_at", "31345_at", "31346_at", "31347_at", "31348_at", "31349_at", "31350_at", "31351_at", "31352_at", "31353_f_at", "31354_r_at", "31355_at", "31356_at", "31357_at", "31358_at", "31359_at", "31360_at", "31361_at", "31362_at", "31363_at", "31364_i_at", "31365_f_at", "31366_at", "31367_at", "31368_at", "31369_at", "31370_at", "31371_at", "31372_at", "31373_at", "31374_at", "31375_at", "31376_at", "31377_r_at", "31378_at", "31379_at", "31380_at", "31381_at", "31382_f_at", "31383_at", "31384_at", "31385_at", "31386_at", "31387_at", "31388_at", "31389_at", "31390_at", "31391_at", "31392_r_at", "31393_r_at", "31394_at", "31395_i_at", "31396_r_at", "31397_at", "31398_at", "31399_at", "31400_at", "31401_r_at", "31402_at", "31403_at", "31404_at", "31405_at", "31406_at", "31407_at", "31408_at", "31409_at", "31410_at", "31411_at", "31412_at", "31413_at", "31414_at", "31415_at", "31416_at", "31417_at", "31418_at", "31419_r_at", "31420_at", "31421_at", "31422_at", "31423_at", "31424_at", "31425_g_at", "31426_at", "31427_at", "31428_at", "31429_at", "31430_at", "31431_at", "31432_g_at", "31433_at", "31434_at", "31435_at", "31436_s_at", "31437_r_at", "31438_s_at", "31439_f_at", "31440_at", "31441_at", "31442_at", "31443_at", "31444_s_at", "31445_at", "31446_s_at", "31447_at", "31448_s_at", "31449_at", "31450_s_at", "31451_at", "31452_at", "31453_s_at", "31454_f_at", "31455_r_at", "31456_at", "31457_at", "31458_at", "31459_i_at", "31460_f_at", "31461_at", "31462_f_at", "31463_s_at", "31464_at", "31465_g_at", "31466_at", "31467_at", "31468_f_at", "31469_s_at", "31470_at", "31471_at", "31472_s_at", "31473_s_at", "31474_r_at", "31475_at", "31476_g_at", "31477_at", "31478_at", "31479_f_at", "31480_f_at", "31481_s_at", "31482_at", "31483_g_at", "31484_at", "31485_at", "31486_s_at", "31487_at", "31488_s_at", "31489_at", "31490_at", "31491_s_at", "31492_at", "31493_s_at", "31494_at", "31495_at", "31496_g_at", "31497_at", "31498_f_at", "31499_s_at", "31500_at", "31501_at", "31502_at", "31503_at", "31504_at", "31505_at", "31506_s_at", "31507_at", "31508_at", "31509_at", "31510_s_at", "31511_at", "31512_at", "31513_at", "31514_at", "31515_at", "31516_f_at", "31517_f_at", "31518_i_at", "31519_f_at", "31520_at", "31521_f_at", "31522_f_at", "31523_f_at", "31524_f_at", "31525_s_at", "31526_f_at", "31527_at", "31528_f_at", "31529_at", "31530_at", "31531_g_at", "31532_at", "31533_s_at", "31534_at", "31535_i_at", "31536_at", "31537_at", "31538_at", "31539_r_at", "31540_at", "31541_at", "31542_at", "31543_at", "31544_at", "31545_at", "31546_at", "31547_at", "31548_at", "31549_at", "31550_at", "31551_at", "31552_at", "31553_at", "31554_at", "31555_at", "31556_at", "31557_at", "31558_at", "31559_at", "31560_at", "31561_at", "31562_at", "31563_at", "31564_at", "31565_at", "31566_at", "31567_at", "31568_at", "31569_at", "31570_at", "31571_at", "31572_at", "31573_at", "31574_i_at", "31575_f_at", "31576_at", "31577_at", "31578_at", "31579_at", "31580_at", "31581_at", "31582_at", "31583_at", "31584_at", "31585_at", "31586_f_at", "31587_at", "31588_at", "31589_at", "31590_g_at", "31591_s_at", "31592_at", "31593_at", "31594_at", "31595_at", "31596_f_at", "31597_r_at", "31598_s_at", "31599_f_at", "31600_s_at", "31601_s_at", "31602_at", "31603_at", "31604_at", "31605_at", "31606_at", "31607_at", "31608_g_at", "31609_s_at", "31610_at", "31611_s_at", "31612_at", "31613_at", "31614_at", "31615_i_at", "31616_r_at", "31617_at", "31618_at", "31619_at", "31620_at", "31621_s_at", "31622_f_at", "31623_f_at", "31624_at", "31625_at", "31626_i_at", "31627_f_at", "31628_at", "31629_at", "31630_at", "31631_f_at", "31632_at", "31633_g_at", "31634_at", "31635_g_at", "31636_s_at", "31637_s_at", "31638_at", "31639_f_at", "31640_r_at", "31641_s_at", "31642_at", "31643_at", "31644_at", "31645_at", "31646_at", "31647_at", "31648_at", "31649_at", "31650_g_at", "31651_at", "31652_at", "31653_at", "31654_at", "31655_at", "31656_at", "31657_at", "31658_at", "31659_at", "31660_at", "31661_at", "31662_at", "31663_at", "31664_at", "31665_s_at", "31666_f_at", "31667_r_at", "31668_f_at", "31669_s_at", "31670_s_at", "31671_at", "31672_g_at", "31673_s_at", "31674_s_at", "31675_s_at", "31676_at", "31677_at", "31678_at", "31679_at", "31680_at", "31681_at", "31682_s_at", "31683_at", "31684_at", "31685_at", "31686_at", "31687_f_at", "31688_at", "31689_at", "31690_at", "31691_g_at", "31692_at", "31693_f_at", "31694_at", "31695_g_at", "31696_at", "31697_s_at", "31698_at", "31699_at", "31700_at", "31701_r_at", "31702_at", "31703_at", "31704_at", "31705_at", "31706_at", "31707_at", "31708_at", "31709_at", "31710_at", "31711_at", "31712_at", "31713_s_at", "31714_at", "31715_at", "31716_at", "31717_at", "31718_at", "31719_at", "31720_s_at", "31721_at", "31722_at", "31723_at", "31724_at", "31725_s_at", "31726_at", "31727_at", "31728_at", "31729_at", "31730_at", "31731_at", "31732_at", "31733_at", "31734_at", "31735_at", "31736_at", "31737_at", "31738_at", "31739_at"), class = "data.frame") genefilter/docs/0000755000175200017520000000000014136046744014661 5ustar00biocbuildbiocbuildgenefilter/docs/Cluster.pdf0000644000175200017520000000056214136046744017000 0ustar00biocbuildbiocbuild%PDF-1.2 % 2 0 obj << /Length 6114 /Filter /FlateDecode >> stream HrίA. HYJ[Yt|s#1>, BKJ̠wnZ"Y:,grS._~{tv؎.7wNm@zXBSM4Wm~ ;g]ȭUx~/7H"$rzS]>FV ޼ZXJwy^mF].rC;!/V1 fzo;[Rũ[Cedy/ԉVWuoyݶy]]xcUvzW5q4Xs\XX,Fs' ,1genefilter/docs/gcluster.tex0000644000175200017520000000322314136046744017233 0ustar00biocbuildbiocbuildNotes from Cheng Li, on what he does for clustering: I basically followed the methods in the attached paper (page 2, upper-right corner). it's not the standard avarage linkage, instead, after two genes (or nodes) are merged, the resultant node has expression profile as the avereage the the two merged ones (after standardization). A description for anther project using dchip is as follows: Hierarchical clustering analysis (3) is used to group genes with same expression pattern. A genes is selected for clustering if (1) its expression values in the 20 samples has coefficient of variation (standard deviation / mean) between 0.5 to 10 (2) it is called Present by GeneChip? in more than 5 samples. Then the expression values for a gene across the 20 samples are standardized to have mean 0 and standard deviation 1 by linear transformation, and the distance between two genes is defined as 1 - r where r is the standard correlation coefficient between the 20 standardize values of two genes. Two genes with the closest distance are first merged into a super-gene and connected by branches with length representing their distance, and are deleted for future merging. The expression level of the newly formed super-gene is the average of standardized expression levels of the two genes (average-linkage) for each sample. Then the next pair of genes (super-genes) with the smallest distance are chosen to merge and the process is repeated until all genes are merged into one cluster. The dendrogram in Figure ? illustrates the final clustering tree, where genes close to each other have high similarity in their standardized expression values across the 20 samples. genefilter/docs/gfilter.tex0000644000175200017520000002166014136046744017044 0ustar00biocbuildbiocbuild\documentclass{article} \begin{document} \title{Using Genefilter} \author{Robert Gentleman \thanks{rgentlem@hsph.harvard.edu} } \date{} \maketitle \section{An extended example} Consider an experiment to explore genes that are induced by cellular contact with a ligand (we will call the ligand F). The receptors are known to transduce intracellular signals when the cell is placed in contact with F. We want to determine which genes are involved in the process. The experiment was designed to use two substrates, F and an inert substance that will be referred to as P. A large number of cells were cultured and then separated and one batch was applied to F while the other was applied to P. For both conditions cells were harvested at the times, 0, 1 hour, 3 hours and 8 hours. Those cells were processed and applied to Affymetrix U95Av2 chips. This process yielded expression level estimates for the 12,600 genes or ESTs measured by that chip. The goal of the analysis is to produce a list of genes (possibly in some rank order) that have patterns of expression that are different in the two subsets (those cells applied to F versus those cells applied to P). If there were just a few genes then we might try to select the interesting ones by using a linear model (or some other model that was more appropriate). In the subsequent discussion the form of the model is irrelevant and the linear model will be used purely for pedagogical reasons. Let $y_{ij}$ denote the expression level of a particular gene in contact with substrate $i$, ($i$ will be either F or P) at time $j$, ($j$ is one of 0,1,3,8). Suppose that in consultation with the biologists we determine that a gene is interesting if the coeffecient for time, in a linear model, is different in the two subsets. This can easily be done (for a small handful of genes) using a linear model. Let $a$ denote the substrate and $b$ denote the times. Further we assume that the expression data is presented in a matrix with 12,600 rows and 8 columns. Further assume that the columns contain the data in the order F0, F1, F3, F8, P0, P1, P3, P8. Then we can fit the model using the following R code. \begin{verbatim} a <- as.factor(c(rep("F",4), rep("P",4))) b <- c(0,1,3,8,0,1,3,8) data1 <- data.frame(a,b) f1 <- y~a/b-1 f2 <- y~a+b \end{verbatim} The model \verb+f1+ fits separate regressions on \verb+b+ within levels of \verb+b+. The model \verb+f2+ fits a parallel lines regression model. So comparing these two models via: \begin{verbatim} fit1 <- lm(f1, data1) fit2 <- lm(f2, data1) an1 <- anova(fit1, fit2) an1 \end{verbatim} From \verb+an1+ we can obtain the F--test statistic for comparing the two models. We would reject the hypothesis that the slopes of the two lines were the same if this $p$--value were sufficiently small (and all of our diagnostic tests confirmed that the model was appropriate). In the current setting with 12,600 genes it is not feasible to consider carrying out this process by hand and thus we need some automatic procedure for carrying it out. To do that we rely on some special functionality in R that is being used more and more to provide easy to use programs for complex problems (such as the current one). See the {\em Environments} section to get a better understanding of the use of environments in R. First we provide the code that will create an environment, associate it with both \verb+f1+ and \verb+f2+ and populate it with the variables \verb+a+ and \verb+b+. \begin{verbatim} e1 <- new.env() assign("a", a, env=e1) assign("b", b, env=e1) environment(f1) <- e1 environment(f2) <- e1 \end{verbatim} Now the two formulas share the environment \verb+e1+ and all the variable bindings in it. We have not assigned any value to \verb+y+ for our formulas though. The reason for that is that \verb+a+ and \verb+b+ are the same for each gene we want to test but \verb+y+ will change. We now consider an abstract (or algorithmic) version of what we need to do for each gene. Our ultimate goal is to produce a function that takes a single argument, \verb+x+, the expression levels for a gene and returns either \verb+TRUE+ indicating that the gene is interesting or \verb+FALSE+ indicating that the gene is uninteresting. \begin{itemize} \item For each gene we need to assign the expression levels for that gene to the variable \verb+y+ in the environment \verb+e1+. \item We fit both models \verb+f1+ and \verb+f2+. \item We compute the anova comparing these two models. \item We determine whether according to some criteria the large model is needed (and hence in this case that the slopes for the expression are different in the two substrates). If so we output \verb+TRUE+ otherwise we output \verb+FALSE+. \end{itemize} To operationalize this (and to make it easier to extend the ideas to more complex settings) we construct a closure to carry out this task. \begin{verbatim} make3fun <- function(form1, form2, p) { e1 <- environment(form1) #if( !identical(e1, environment(form2)) ) # stop("form1 and form2 must share the same environment") function(x) { assign("y", x, env=e1) fit1 <- lm(form1) fit2 <- lm(form2) an1 <- anova(fit1, fit2) if( an1$"Pr(>F)"[2] < p ) return(TRUE) else return(FALSE) } } \end{verbatim} %$ The function, \verb+make3fun+ is quite simple. It takes two formulas and a $p$--value as arguments. It checks to see that the formulas share an environment and then creates and returns a function of one argument. That function carries out all the fitting and testing for us. It is worth pointing out that the returned function is called a {\em closure} and that it makes use of some of the special properties of environments that are discussed below. Now we can create the function that we will use to call apply. We do this quite simply with: \begin{verbatim} myappfun <- make3fun(f1, f2, 0.01) myappfun function(x) { assign("y", x, env=e1) fit1 <- lm(form1) fit2 <- lm(form2) an1 <- anova(fit1, fit2) if( an1$"Pr(>F)"[2] < p ) return(TRUE) else return(FALSE) } \end{verbatim} %$ Thus, \verb+myappfun+ is indeed a function of one argument. It carries out the three steps we outlined above and will return \verb+TRUE+ if the $p$--value for comparing the model in \verb+f1+ to that in \verb+f2+ is less than $0.01$. If we assume that the data are stored in a data frame called \verb+gene.exprs+ then we can find the interesting ones using the following line of code. \begin{verbatim} interesting.ones <- apply(gene.exprs, 1, myappfun) \end{verbatim} The real advantage of this approach is that it extends simply (or trivially) to virtually any model comparison that can be represented or carried out in R. \section{Environments} In R an environment can be thought of as a table. The table contains a list of symbols that are linked to a list of values. There are only a couple of operations that you need to carry out on environments. One is to give the name of a symbol and get the associated value. The other is to set the value for a symbol to some supplied value. The following code shows some simple manipulations that you can do. \begin{verbatim} > e1 <- new.env() > ls(env=e1) character(0) > ls() [1] "a" "an1" "b" "data1" "e1" "f1" "f2" "fit1" "fit2" [10] "y" > #this ls() lists the objects in my workspace (which is itself > # an environment; it gets searched by default > assign("a", 4, env=e1) > #this assigns the value 4 to the symbol a in e1 > #it has no effect on a in my workspace > a [1] F F F F P P P P Levels: F P > get("a",env=e1) [1] 4 > #so the a in env1 is separate and protected from the a in my > # workspace \end{verbatim} In R every formula has an associated environment. This environment is used to provide bindings (or values) for the symbols in the formula. When we write \verb=y~a+x= we have in mind some values to associate with \verb+y+, \verb+a+ and \verb+x+. We can use an environment to specify these. \begin{verbatim} substrate <- c(1,1,1,1,2,2,2,2) time <- c(0,1,3,8,0,1,3,8) response <- rnorm(8) assign("a", substrate, env=e1) assign("b", time, env=e1) assign("y", response, env=e1) environment(f1) <- e1 environment(f2) <- e1 \end{verbatim} Now, both of our formulas (from section 1) share the environment \verb+e1+ and both can be used in any modeling context without specifying the data; it will be obtained automatically from the environment. \section{A weighted analysis} The Li and Wong (2000) algorithm for estimating expression levels for gene chip samples also provides an estimate of the standard error of the expression level. These estimated standard errors can potentially be used in the analysis of the data. For example, since we have observations of the form $Y_i, \hat{\sigma}_i$ we could consider taking weighted averages, within groups. The weights would be determined by the estimated standard errors. \end{document} genefilter/inst/0000755000175200017520000000000014136071504014676 5ustar00biocbuildbiocbuildgenefilter/inst/doc/0000755000175200017520000000000014136071504015443 5ustar00biocbuildbiocbuildgenefilter/inst/doc/howtogenefilter.R0000644000175200017520000000601514136071502020773 0ustar00biocbuildbiocbuild### R code from vignette source 'howtogenefilter.Rnw' ################################################### ### code chunk number 1: howtogenefilter.Rnw:37-43 ################################################### library("Biobase") library("genefilter") data(sample.ExpressionSet) varLabels(sample.ExpressionSet) table(sample.ExpressionSet$sex) table(sample.ExpressionSet$type) ################################################### ### code chunk number 2: howtogenefilter.Rnw:66-70 ################################################### f1 <- kOverA(5, 200) ffun <- filterfun(f1) wh1 <- genefilter(exprs(sample.ExpressionSet), ffun) sum(wh1) ################################################### ### code chunk number 3: howtogenefilter.Rnw:81-84 ################################################### f2 <- ttest(sample.ExpressionSet$type, p=0.1) wh2 <- genefilter(exprs(sample.ExpressionSet), filterfun(f2)) sum(wh2) ################################################### ### code chunk number 4: howtogenefilter.Rnw:96-99 ################################################### ffun_combined <- filterfun(f1, f2) wh3 <- genefilter(exprs(sample.ExpressionSet), ffun_combined) sum(wh3) ################################################### ### code chunk number 5: knnCV ################################################### knnCV <- function(x, selectfun, cov, Agg, pselect = 0.01, scale=FALSE) { nc <- ncol(x) outvals <- rep(NA, nc) for(i in seq_len(nc)) { v1 <- x[,i] expr <- x[,-i] glist <- selectfun(expr, cov[-i], p=pselect) expr <- expr[glist,] if( scale ) { expr <- scale(expr) v1 <- as.vector(scale(v1[glist])) } else v1 <- v1[glist] out <- paste("iter ",i, " num genes= ", sum(glist), sep="") print(out) Aggregate(row.names(expr), Agg) if( length(v1) == 1) outvals[i] <- knn(expr, v1, cov[-i], k=5) else outvals[i] <- knn(t(expr), v1, cov[-i], k=5) } return(outvals) } ################################################### ### code chunk number 6: aggregate1 ################################################### gfun <- function(expr, cov, p=0.05) { f2 <- ttest(cov, p=p) ffun <- filterfun(f2) which <- genefilter(expr, ffun) } ################################################### ### code chunk number 7: aggregate2 ################################################### library("class") ##scale the genes ##genescale is a slightly more flexible "scale" ##work on a subset -- for speed only geneData <- genescale(exprs(sample.ExpressionSet)[1:75,], 1) Agg <- new("aggregator") testcase <- knnCV(geneData, gfun, sample.ExpressionSet$type, Agg, pselect=0.05) ################################################### ### code chunk number 8: aggregate3 ################################################### sort(sapply(aggenv(Agg), c), decreasing=TRUE) ################################################### ### code chunk number 9: sessionInfo ################################################### toLatex(sessionInfo()) genefilter/inst/doc/howtogenefilter.Rnw0000644000175200017520000001460214136046744021353 0ustar00biocbuildbiocbuild%\VignetteIndexEntry{01 - Using the genefilter function to filter genes from a microarray dataset} %\VignetteDepends{Biobase, genefilter, class} %\VignetteKeywords{Expression Analysis} %\VignettePackage{genefilter} \documentclass{article} \usepackage{hyperref} \textwidth=6.2in \textheight=8.5in %\parskip=.3cm \oddsidemargin=.1in \evensidemargin=.1in \headheight=-.3in \newcommand{\classdef}[1]{% {\em #1} } \begin{document} \title{Using the genefilter function to filter genes from a microarray dataset} \maketitle \section*{Introduction} The {\em genefilter} package can be used to filter (select) genes from a microarray dataset according to a variety of different filtering mechanisms. Here, we will consider the example dataset in the \verb+sample.ExpressionSet+ example from the {\em Biobase} package. This experiment has 26 samples, and there are 500 genes and 3 covariates. The covariates are named \verb+sex+, \verb+type+ and \verb+score+. The first two have two levels and the last one is continuous. <<>>= library("Biobase") library("genefilter") data(sample.ExpressionSet) varLabels(sample.ExpressionSet) table(sample.ExpressionSet$sex) table(sample.ExpressionSet$type) @ %$ One dichotomy that can be of interest for subsequent analyses is whether the filter is \emph{specific} or \emph{non-specific}. Here, specific means that we are filtering with reference to sample metadata, for example, \texttt{type}. For example, if we want to select genes that are differentially expressed in the two groups defined by \texttt{type}, that is a specific filter. If on the other hand we want to select genes that are expressed in more than 5 samples, that is an example of a non--specific filter. First, let us see how to perform a non--specific filter. Suppose we want to select genes that have an expression measure above 200 in at least 5 samples. To do that we use the function \verb+kOverA+. There are three steps that must be performed. \begin{enumerate} \item Create function(s) implementing the filtering criteria. \item Assemble it (them) into a (combined) filtering function. \item Apply the filtering function to the expression matrix. \end{enumerate} <<>>= f1 <- kOverA(5, 200) ffun <- filterfun(f1) wh1 <- genefilter(exprs(sample.ExpressionSet), ffun) sum(wh1) @ Here \verb+f1+ is a function that implies our ``expression measure above 200 in at least 5 samples'' criterion, the function \verb+ffun+ is the filtering function (which in this case consists of only one criterion), and we apply it using \verb+genefilter+. There were \Sexpr{sum(wh1)} genes that satisfied the criterion and passed the filter. As an example for a specific filter, let us select genes that are differentially expressed in the groups defined by \verb+type+. <<>>= f2 <- ttest(sample.ExpressionSet$type, p=0.1) wh2 <- genefilter(exprs(sample.ExpressionSet), filterfun(f2)) sum(wh2) @ %$ Here, \texttt{ttest} is a function from the \texttt{genefilter} package which provides a suitable wrapper around \texttt{t.test} from package \textit{stats}. Now we see that there are \Sexpr{sum(wh2)} genes that satisfy the selection criterion. Suppose that we want to combine the two filters. We want those genes for which at least 5 have an expression measure over 200 \emph{and} which also are differentially expressed between the groups defined by \verb+type+. <<>>= ffun_combined <- filterfun(f1, f2) wh3 <- genefilter(exprs(sample.ExpressionSet), ffun_combined) sum(wh3) @ Now we see that there are only \Sexpr{sum(wh3)} genes that satisfy both conditions. %%FIXME: need to replace this with something else %Our last example is to select genes that are %differentially expressed in at least one of the three groups defined %by \verb+cov3+. %To do that we use an Anova filter. This filter uses an analysis of %variance appraoch (via the \verb+lm+) function to test the hypothesis %that at least one of the three group means is different from the other %%two. The test is applied, then the $p$--value computed. We select %those genes that have a low $p$--value. % %<<>>= %Afilter <- Anova(eset$cov3) %aff <- filterfun(Afilter) %wh4 <- genefilter(exprs(eset), aff) %sum(wh4) % %@ %%$ %We see that there are 14 genes that pass this filter and that are %candidates for further exploration. \section*{Selecting genes that appear useful for prediction} The function \texttt{knnCV} defined below performs $k$--nearest neighbour classification using leave--one--out cross--validation. At the same time it aggregates the genes that were selected. The function returns the predicted classifications as its returned value. However, there is an additional side effect. The number of times that each gene was used (provided it was at least one) are recorded and stored in the environment of the aggregator \verb+Agg+. These can subsequently be retrieved and used for other purposes. <>= knnCV <- function(x, selectfun, cov, Agg, pselect = 0.01, scale=FALSE) { nc <- ncol(x) outvals <- rep(NA, nc) for(i in seq_len(nc)) { v1 <- x[,i] expr <- x[,-i] glist <- selectfun(expr, cov[-i], p=pselect) expr <- expr[glist,] if( scale ) { expr <- scale(expr) v1 <- as.vector(scale(v1[glist])) } else v1 <- v1[glist] out <- paste("iter ",i, " num genes= ", sum(glist), sep="") print(out) Aggregate(row.names(expr), Agg) if( length(v1) == 1) outvals[i] <- knn(expr, v1, cov[-i], k=5) else outvals[i] <- knn(t(expr), v1, cov[-i], k=5) } return(outvals) } @ %$ <>= gfun <- function(expr, cov, p=0.05) { f2 <- ttest(cov, p=p) ffun <- filterfun(f2) which <- genefilter(expr, ffun) } @ Next we show how to use this function on the dataset \verb+geneData+. <>= library("class") ##scale the genes ##genescale is a slightly more flexible "scale" ##work on a subset -- for speed only geneData <- genescale(exprs(sample.ExpressionSet)[1:75,], 1) Agg <- new("aggregator") testcase <- knnCV(geneData, gfun, sample.ExpressionSet$type, Agg, pselect=0.05) @ <>= sort(sapply(aggenv(Agg), c), decreasing=TRUE) @ %$ The environment \verb+Agg+ contains, for each gene, the number of times it was selected in the cross-validation. \section*{Session Information} The version number of R and packages loaded for generating the vignette were: <>= toLatex(sessionInfo()) @ \end{document} genefilter/inst/doc/howtogenefilter.pdf0000644000175200017520000034256514136071502021360 0ustar00biocbuildbiocbuild%PDF-1.5 % 5 0 obj << /Length 2040 /Filter /FlateDecode >> stream xɮ60d bDjHM"4Y3bɮ%?HQܼ zef8gճdset,VE4ы,)Tf)_`2(a`\G:89g!@=  F;$_?8yp O.2UF"4ZZd,Pf@ȗLeur,(e8Gd,IKًqh&NTdB6/UjEU%}-M ' s"Y5bQ23H"Vl>1tNl9QkG$ZelQ5efA ̐˪h'h$  ݱ.Vq!aU3+ B˻Xu!U6g4<> f'yǤp=nb%M"p '"wgVז25kFb;ev,{%HGYw}%&o_.I 8Tu NAExǡ[W81{XFt+1> sӻAҐMa-,Bz09wd8"׎TıwlSe);QpƲ1X4g> )93H$<0}Ŋ+W $w*\L(8&Uwj:@|5- +҂b(%zcbעJT)e/*J6R̈́W/dc; u{ >‘ xXx╊0.N4w3jm\aeKQ9gW91A. Ŗ\lm&Uo}kcwb31w@e=4ͼetB% ak^ʉxL$|e&E!xc+s[ѳTŝm kQxލi0jTclڇDX>=;URKno~Abh{죾kXznRD0"+t4 ;{,/SA/,vz7FۅTs9+Ul:DŽ˷[FE"Ei+LSPP g*ץc`ճa4 endstream endobj 22 0 obj << /Length 2274 /Filter /FlateDecode >> stream xZ[oF~ϯ0 c 9+H E>>8ƂhI$"e7ȟͅޤ}hhÙss9wׯ^R..R鋬T^׫ٷTe<xGx jpCFpK#k|y{bǪL+NpF,\]֯pY ~Y#LL-7ek/w2]npkD[gUrƽկߧe@K`Z72iW8QeW_c6ڨHF؅cF餴d.4ؘnK׶9~AEq~'[mNyIg< g辮Ȧ U ;p ;EZ+EŌ ,("SڗpE~qwRHrvgCeٹHsg09E|$k~ n"˚O&+9X72DnX#&$ˊ`=؊eZsĚ}Mؼ96cYC+^B,^hN'lg2L_FKґs3XjX%B͒i_A6 +^uY0=uA@ RuX==ORY(ߒ z׸ūme&Zs1r+RD҄Q_1"ÎՖ岳Eo~JHA+0@6{PK'ibw㭰ɔ[1Т+\ G-0~PqyGBr%'LBp =2 UrUVQgk 8tΡt4j?/7<,Xs5krUx\3i+I40 4.i:i>GeDEYU$Sy>CE% YqI) F⯫z(Ӗj!?Sq+T\:S W'QOIhf.NKqsJ:3<1vۖ0(HFzdu=Q}Ӄ*V,3fPf}jg-9#a8Wl4L%&Ȕ!\.6U^b1FbjüDI_3E3c/hOm+%ae߮Yu4IeFR羬 j4WB+hcp>mLx?,jIF e YDkIHZNhD"^뗉S(v KYqŢ GL⸇0#籗k3Irxh_o3*QXrL:ٖad]}zLJ́oNʣdYl 2EO?إ>&ghȋlVI但վ#)j:-1ߋb"lcn?EkKJu rfƗC;To"9,J lNx*`]-Og[XwЉ<ɓhy($%l/PUŋXxkkۣYv^qY6aBRj܆%~4/[i]*(F7QљәL#86 P®ģ"bsqn_U4ZGbbg,J)@..+?νyԡܷTT\׶WSedJpiNYW~x+R]DQ}?4hesN j'!jiT灩۸MAPwS~Y+q%]Vdj~{ׄ&JͶ>ner,Ǝ{EA,U_`LCCL'#&6=E0y'~]k_XC,{ Mq!U8n"?qs`ҵ/Pl}rglEw^c"k?ab4|讂l'dysΪfkdkc6zww@ endstream endobj 28 0 obj << /Length 1513 /Filter /FlateDecode >> stream xڭko6{~탂YHIT֦:ÐzÆ4([$a)Na}|ţ$–z;9:=t3>GIF؈gI2:F'~ysr5e|JIaqB;1J1 ׀1 3o'{?zzb, ĸ Iv#9"#ār{ Gc>+r [WxiiY#ՌGE$7@aДWdjMtO 0FG1pA]c'PjR<$Ton+;HMp) ub[o*`_$Z7؍~XN; ,j[Kz>j"5PVi7aC(uUE_'e,Ӈoa%*>@|2=X`=(6J{pCl;w<%e2AGZa6urh3|Tq/[L~C<=OQɢ _'] Ð Lj^.wƣ=XsfJ>zBM>)5ؼ:>WR5%pr+z ΐ ,LIBY%}gmDep:eI(#>JCR| S&5ِDhèA*{ pμ&:BL5yD,o5W]un|7_moWµ,`0uv#P2ȞڦuT)sZb/AJJحt@t۶ѽF8~jV)EoN?܎|_k,)u/uם\s-< &ILՎ Mkcޝ=nN̐Ǝ9in1.otkT,mN)9?Ïb|#[$~иwxDo(u<8on|BcQ;OBE/'NL SnouAg.)vLq lg ) s!E셀[zԅ3g`Sأ`592d%BN∹53v/6{تg@bCj5owP֭TG$27LcqyQޮ~WÜpȴ6)a"8p*HTW54K`Y":V zE>@K-BQX8KP%NObr-T^dsnߠRSԿԙz^E]T]m&jR*$^nZYހW 5OʷRq<#Q&2HȈE) >T)C>eiAX>vҞŶIWa:y M'=_Z˜J[:LӦҾpҏ4\*yŚ/PWF䌚hN$J> }?(KI&$PטC!KMa~h|\zK3ɾ_! endstream endobj 34 0 obj << /Length 1516 /Filter /FlateDecode >> stream xWsF~_#Dt:҂bItd1 Zc>Ƿ晖TZ*(]ө/4 ǵ?W2n%\| j OQ6oY(e'HHfEϡYuaVǬiI2_̺4Kw?33+y^+Y{[~\9+i)N6$#2]a1>"v Z GE'`~(M+ ":vh#C>TΎ%Ea"yMur@Xfƚ@L{WF`rFPJ~ gna [3;:H![ 6+?)EՄDvkp,(Zb,_umHE߶eI;/ '`E+am2'SxH)Ke ,6`vZZr7!vEa?hR-Dz낦Fp$T.a0SH\wxAg wxxR\(Ƕ 4(-i9"~WK|$ 'SH4R^&N6CHS'UNA%'3s9sbnrmr 8(Qiux rpli/fV9矅BWɡZb9;p؟C+1 S/VnLn^pnPUA(PWfv\lXRȄtI Sf_(8EqNML]-Y.;-E2S3;7*TfqC+}O9,)^] we^σ_L⠈ O*} rukך.p tIo9+wK@a8IΖpM#xg\NaڈĻd_6)>ۂ2wsEᐊ*$ X=dyt ^'7?4.Ak6N(uEsv+'n5NlV4JF"ÚjSNJڈ f]u endstream endobj 36 0 obj << /Length 149 /Filter /FlateDecode >> stream x3135R0P0Bc3csCB.c46K$r9yr+p{E=}JJS ]  b<]00 @0?`d=0s@f d'n.WO@.sud endstream endobj 48 0 obj << /Length1 1628 /Length2 8943 /Length3 0 /Length 9989 /Filter /FlateDecode >> stream xڍP.\\wRݭ \ w+P)P(^\CX)V{sN{'3,_};_^jhIY,A0+;0@FUɍNGv遜]02 '득* Pvx\\œnNNœ`+*;@6Oi`2XrH9@ (@hhÀ``uuu`ppa9ۈ3<- d0@wgt[rm3$ ˓ xJVR;m g6.vw 0/g hCm`. Z6-- '*Ki,=3Յ "0OSZ@PWɂA{q}P` ZYn͑C vr)c$B  O-:^:v9AO?. O#t.. ـ$Y 0|O&OA!^1|9 5X:ii' |J/a4,ڧ1br0;쉵 Hn |_. F-H KpC1x"žV_HAm "E mr;CA0K??].OKzڛN)¬~/7? 鈟i@Q>XÜC/$ABZ9\a|kp? |Dl)/p> ݜ6ig '>? ]HymMm1y;`$3} \qJYZc<\kG kIl3ךlE6A?^'MGϽ^=B3\2{'7A,|+^Ϗ}#??z~W>mP2Cgٕ{b7wJ9w?w7˕:.$$#)Dsޥ+bs9q __P v.cWf:Cjz!t ։4Cf`{ 8+.ky SO83:]EK997ˤp "#¹xvTܨ?jͅYdA(߱$Ւʌy>ELezvC3j.uKN S2AC7砪<[~!0aeҠMC_sboJvǗ1~|%FC_M,`R_@ҵ;\tyG/1&0$j=v cTc1<6 o wfȤA"\s4Ȫ{( Hyg{͍gh38z*W>¶ɟrC{fD;92?:KֿK%V.:a)}]SFI18WmO A$gi[ψ؇t5ҼyY/ ˨PM=ށq6ȡ|XXn߱'" ^T]_@`BʁTBXa] g"bmH9VrlnjF}DL 2_iD6\]=iېLKh`/0^+@·J5ii ;VKۀa쉼dZ*ʊ~䑽ۚP5bcSBrxac$` /iq۩c4nko.41Ƴ?|t."2'nb)Δ!jmyqh;hU7ҏnzg'f>;v-Z*sPFhJDBb[l,tLay~y.y'E貎bptk i3x~sJԴ('P /#?<Mպy;օ ෛ[ ZY- dzHmPoӦߪ~4b1;ܔ@.QsK%-iKgPqf=϶l,Cz\UZJ.zFZEX<6|& b{`1$~l yR޵xQUf :uo&Ji-f'p9;؛' >ήid\׏ݛG67 a |+Kvoqw|oL3kF%'-w>f-Z7=(سf4]Vj5DmAYS$޺f̻jZA܁c ?𷞃̴Wȍ>jE==߾:Dq6A#P 6`SuOmkXCB`NAoToF;gJ dHBSac\ZHܞ=1up_/f~'4&]7GRsib<8JeL4P8FYͪx2'|1CDͰⲺIq*,3nx]CBcP\CPx9iz%c epە3#7lh^U*a yޓs\yME YDOS^/ٻ2y!N[~ktxvR coYD#50tA!s@5ޓxɌT= :~ز!q-Vrp&'pB!~JwH'#+-nوfV{IDf~ q< ,P 3K5#T%)eJO潜Nro,|L<cÞFV%~쁉0O]pBr+:}EI]÷;"?y^>vpPyaaTI_uGl~ܝiSG-| @yZ 9W+ҏ Rt "9 EӎHiDB1l KQҒ? xwW}6:^D+LcT|@ވߍpC/4,Tj͉$>OXGdG]U+.VTL!s}dd3/(M9@g|Y.9/{u7%\C 4w4tWbw7I e)!F~M$޸ -զ :V0̃‚~+8#i[eKfSqߎ夵Fxvt&9PZ?N8a]OQͥ%-mMeIP YI&`Hl[37Qo0eStOxn:A>B1x=86 R@S~cA>)|ʑxKF@-4&RH45dۂ_<)ꥑ6袢5rF*t7QԻ}7ܢװ7rvd [I[dʣ-}!O 'qHitrRs#:a{DQgL==]_Q\u$9Bk#H44y'b|:5:p0RNha+zf)GAͣ5dG+ƋAج}IĆqrsRۼe-&zf,m`3K{d~}Ul>_OT=k_|RqiP 9+9 [;u^Q ifFޯ)S< G<4«H^5^r'sn6Pmޔ9 2!4=I/nĽ S~vs],Z p!80js̝`ѕ+h3sj?X{G&oZKp 4Y:I4O6m+U^1(P835} σu#̽M\1_DF%/]ywP]jb7\^9um8ퟀeFk' ݣѲ|njZDY9@GY]iRo[%d4%Iоhų߉[b+htg}ߘ]?Y)Jڎ=/֎؂D}PDnN'y T GL`4#恻%{@F./ϸnyOQfx%*x>IKOqP9/g[L2CHP5 |ZN]+}3Sο2g .ŷ@.f4о3y˚~l lk\%"xpUHmV#[;ñ]kK*6[pi5ḫ?>ǫ~b0L`PK?$Bi c}&?ޛ7h3!5O,Wn6]|Jm7 'g)ӮeMuMh9!RپxMn uu=$fzak MJ(d9;o6n*UJɲd9C&Ja䙵cp+Cd!,BLJs#(F i޽qkm'E7`͔cY5uW'vL/#z?疸|`BFDy(2InX/g7ƨem\jZZCxPJqh@Ö)U$vJ,78IU@CW".g)yQnu/L뉋3s/!=Mְ^OI:# =|uqsI(G䴴۝Ӳɖ/ZlJ /eO3% F!= C˱﹠7F>n$urlho9L? `XTf6wIErE3:ō_g# Cfs^3_6a!pgPV= ~>VUL=EC_KgYS/Sx"a>e18"hݧ7]wOFƧ0b'߈yDwD7 |}Ȅ1|sXD"]Rnˁh9SUux R̊ZUOzN8I^XAx¯TԑBuX ;\tGl7xݞ𘦹(*=ﵭA`\4aXQnB-9?O\/%&>qХ'$UPuc! "E/OX]\:0v!ܲďW[{Z[xMBNfi Cm1+;__KɌUBEh؍lv˺V"q:.6;қ1RYl*MhÞz!m?T+Ի8*+_8R &&J!~ ,"k 4oMUP4:̤Ctڅ7S,7 co Xq*#^b$7Ejg2!;xIGvmM(FyLKHBL R_ ?\Q2f؅!7ڣ9cmG"rMaؕoU*):2^B8s^Sng}7LUdW̛,>Y%qӇH\s7sJi>i~@tMaFk87QbA&u3xXġ x*>Ar W[SD.uѠyg;s!ѽL{a.Vg=11v{ԋE-&fԗiGyuNXQ~'*C.yrl 0>-KG4KLJ8,TK"R{ MHbb2}!`#Zԡ-*GxHuQkX޿)u0}t:vx?%gYgs];jtq=(6I`d3f DPtr 5n$!5 ьJkŏ LMaH*wW/OtT>!y3,dcE1{/,J&;"0.`Om7w?P։U吢nFbٍB:{&^ӗuƙeB^MLK݄4XDQN)kxx4[AF pjч$% ,)8<쓙ʥaB'ZrVu& nIgsFl8$mYQ(:,HP4+ 0G{>^Pu仍"3ÃL|깕"1qc$^Tj< XëǸgB8YŘB٣4TO,?ՉbNY=SO Ӿ5ƛqeAʠyeXB<6*0?y높o%S{&,R{6:Hn+FRp̟:1d&2\q+mnvT-}-E֕ҊY ]x20qoד vo. }bڒ!jY \:8 q_DFz} QR j0 ?Q%ذDwE?n%p@)"fdGrUPmϳ0>嫽&"a^'I1c/G)l{׻W֋-ɤG>vZk۹>gB5ϩ[ }ȩt)0wsPb&!qy\Bŋ ]yrW< j[uÛJ̘ 6 #y_ҕh`>܌םv{g AYn(bd5dI>I6"mMw'G}ٟ/ X~04#֛]@LJkg0YyLz.1uJeHsI*j|\?u1{۞Gr1-fʜGMoY:2{[rJ" ڸ%uFyTb+ rŹۑx͢Gk2]{JFguI/x,u.LH"8 clYbG'B쭮yL5z0Bތ&j2A z[X^>gL_P Q$nZo9cjj.PII]HסJHLFZ>g4ҿ<*,g J93l# .S0C9Lܒ4ml'6W X6h X4%'Pߵ(`tVWurQwHHu[(lJa0غH|Of00~ZT0ZKzx_]\:pyWfۧG{A~nɢ8iǍ7/vOiNT_b|xlgd0J"n37fحéc_D+ xxK7J_² }M*~{¼kVMF3RDnkWFv, zֈ"=;ESnxt)E #6; 4Jϫ.i)ͦř9Zngn\mm.2J*͈ ͖DLto?^LeVv0aiptڤUhřRf2Pԋ>@¡3 )PEOV G}F_'YRwx۝@/uMdtx1bxuxm G2NKssvc=mEhT;V6Hdhɸr&ݯ_wRSAX]^,5@>z01kLKG\P/^v .vQB [:YC37$=,2&4Wi4%σ> stream xڍwT6 *v{ D:ҫޤ"TQtHQPzs>ֽ+k%FDn6Aĕ#OA\֡cn8A%1_ 1 س4,B~#&Ebҿ_+@x"LsMpAҐ,fma»n ' wrfo,ry p8r΍%i"yd|]MbEA`mMWMDRu V,]&6)/ Ͱ>%r?> ZHϸ#vH𨤝b`W(NMMUBT%>0 u)5[N[6 '$hCv:r.`9~2'W>qoޙ|9S519{v7&DU<:Zu~ϷsFSW*u=]l4Fȑx=28Y%FBW28{RG;L{0$"uu >[MHxo~75[g[R E]'" |}>mL-Rt!{Ko i&A0&#<R sG uy0Ҁ뙈MUD ; f&MZnHl:藇xB%ϛNJ/vN6:BqYvKȜXP^YcWxvg'&QH w=T)"v/wAw("2l5J;ɆoWm~b ^ y|eJ7bd fnd퓵͵XA8'6p$t~OtLn5.d]:}w>XFx0_[/W.'HjU qhkej_ca? yг B%-rBxϩˆG5O1U==3, peȄ1rQF0LmU¦l>˞h(alԙ_Hѓ*Pg*Kf*XkEN)*( #0Xa9G5v"݈[҅{PBOW#>PV Zy"z;j|oЙI^m UPyC7QoYj^P/T=rم09Q:? Vڤ/.z7NW$_KxgQ":F;-샐){qOIX2*emsFgA42kz^U ,)9XQА<+&AZ|V,rzL"ܭW&=h0[ f eճ7e 0yJ0*V-B|}oU}eww&/_]Ml5ɕ(Q߭FȦk2F)Z\ -)}Ln+ V dRR~j 9*R?[fr\P!z{\i{`A\³<M8/+T,O]GL&՚I, &R_DTib/C5)ߠ.K7)3gh AmvdߌDP5hl hr͉YsNO h~ רiBwierS"+|AMq{*QDUm27)J۰{WXT4/$ͭ\P뵳[ls&Jra٩Y17ߑ8ĉx%h.,sy@GϪG'!Y:(~2c ܬ{~Ų%9/`vaz@u~ ZNV&m͉KATxU8 T4q_25[;MX. wZh MړuW٫3"eY%d y. vH_wXײ4>uƋlFRIFwxj ƇRҬ3f܉p\Pg4j}{t3d!kT/ߧ \=Bm- uKm'6úVAfXysɆ^}:6F`[pW _ތUTf9SBQxق|:S}[dyOGCE˸7w7|Ar^rl;wԢYN ΀P&؇ϕ:!ȵ_'Z5ԜxV *X풳80֊PTcʿ7 Pyf 4.XpR/:n"Esl %噫qo}-s +[7jsAe 1Zd |כWa~q9O:MV!Ԝ`OS]6f5`% 3@3[}wD*2v7Uo<=soju>#QH=Pbm\,Kh W}zp,y7h{fxyl>/w{D5zZ 56#&]R@^zr`k͵sdJP+jn1vHuR0y6Zgӿ*#)wOmh5)*+S\x4QkPȞ0{TZߤ7#<=^0tzAJ]*Fi\ܰ]c[9Hf=]eP2u kf&O-vDΚK}8Vd٣2 z>R<uydOo7&vxIhUSDoGs"ބV2llEgiͧsjm9LjpzβN9Ո^on{n$ƑuyR N8ޤlQdY#hf.ڴX$vKgT]F,mN߭Tct ;BbM.ZkoAK8j/c0v1zd?::Ҭ3VݣkcEw:rg#(xM%J62RJGM&'yl 3/!|$L viܬ{5o )녌$?x*P9Y{Hw#W4־V~q?O'=%uu<.)׵#չyIXϯR).ø'0эi+zyӨ O{-tc`^ Bp 1h?mӠnK޻" 6]Z:'`/:)',Ժ%(va^SzVA?.&1'- ~7[ gSxmWzi3ݠBabMvJ&/+lӵNo jrShT%_|b}0wvGySֱ !̏a4S3sS #i旴\7")9UKIHByI/0B2<Ozo);o Hxb+ %[ϻ`6FM'WNUX*XhΧ< pg1މIQ-Jp < <\[r_ƭmUxU8}< ) 8[&X>(jPzKȮi{ܺ0k0:Yt;hH_CAwQWTA3y^#ߏԄ_Y^Hm(MdVbxrS.kQ$첖u1SSKēB15NR4}& QY,pz[t˜\# x*z(дqsj缗#zW#:;ċ/RivCS!t@qqWP9Mt{TPs#z9Ϻ;E N]B^cK&ۇ .H\$%w/=Vy .3[.YsոfWޯe_)h~0NBQN5Qn$>,)qb ]mN밉 4╞|ٰh\4y¾^`>ъb`^d$ ~qt(ͳqtTdd endstream endobj 52 0 obj << /Length1 2419 /Length2 21181 /Length3 0 /Length 22578 /Filter /FlateDecode >> stream xڌp_.4Nرmm{Ƕ6I$mO7sdfwݺnȉM쌀bv L<aY%f&+ <95_1<ΖaG3H&b HXY<̜^*33L,F@3 [Ab?4|G w6hLK^&v/4?G'$dgcг3Z2NЇQ07?|%mMd jdP{8K@%abg20?.Wے\VS m,=5-3ځ6Ushe&.6[+l:fi;DmG)*9YuA_:2]N[53눱s  =AC!v3,^b#3*`jD9AF߈(qE~#n'Q7b0F,F߈(إ#ob@r]? Į#obW*]7F v n7~#PfA 5h#acKbc3AGeǀTh piBRZt/@&f@Pҿ@C37aYA`dArzP5vAveo[ fzl{Zj=8A\윁&F⿃23Td;te2:;Dg7?@-s5]yA ?H@1vqu~@w1¬1ooxn;cS;^ m.H0IՙkI][T7D/^GMu0a -OqJ;-} k{ Uv_ ۥs\zk{˖FBgww9&T#ufI `iP?LNz#9b-Zg~\Paq!&AOš*)Zwo+"yOL̰ϒQma]:y;7 LׇPSڀH"Qݢ\j$i*zij=Y~i~T28G|?0^3vOA T(D:Pn50+ByI |="ڧ\4ʜn[ܛQ{y!9Af(U^h痼JE2JLR"M~"6Ip@SJՖXE[r!=;JB*y_~*t8ɧ F@|ۚ3"=Qr%i5ٍLRhAW/{Aw^盿旛mT`+䙻Km jBx*`s[[d^֕:l=^4H8 -5~WUU7E>;!R6V&cRU"ZلlM,GF*'7|!:dk">>s$L)㥇l[T&fM˰ahg\oQGhDmP|IPBS`#ADYDP]Xj Lʹ ۋ:4@m{hfVb/*tIl̍D=1B3w["X „,BfRoش7Ao2> |L>DɅNy؄Ƅ:kg:ͻllwj1v#p/eds4*Fb\8ְgu9$8wY* ؇ԝtXC^ij <¥)CY䙦R8$Ȭ+ֵ;8#s,fF՞awR#8it.v,=؞.ia4-4_v/xn+YS iL=nC,ǹSV'[h#V\9ƌ±E_E,D\2&U[xvGjB5׏'Lyvd'w=n,vek*O\lNŠxꙑ`M`K<8;WbKelٕ/(J鏦Ug{ޗpbPoSJ>=zmˣR!e\gl0,vP 4τVbV,3-B<%%0tgY+ R+ 0a g eYVy w P6k@يAǓFsy)ţt`Qm뫟C I{"Nǵؖ/ϭk3t&g>c JAHeAVvn\WeEҦW4uC9I*y5u!|=5wK8tyggJEm-bQem Y m2&}Pu[^E5(8Dogؘyi@k {T0`ŕXS0tQ3ާULHSZ#KodR6PȊ;:y =j<|]+W,aqwhYؽJSjOhk*kάEʨaC6Efo#rM"@IIt-g\',Le^!,L'n4y#BxQ~YYqNn2IWy3 [k0)1K>i#BhAA!I|{͝:ʅ10 |i+F:¤ Q6n0HDR~(0Araݙ`-9Csmb ΁&a J G4F[}$H)дefd%gzMҷЅnG-%KXM4Q,\*V/&Ύ'Q5DnnybMa W (Getԛ͆e替]`qQzTK 5ȶ~ioBG9xJ~kDf).06' DS֢ER3v7o؁nr/cv~]z")cēyׁc?GD p; =/4/C%rF!K?WHUZ='F c]r'4=V*!iZ!n>ivŲHg]u;g\"Ǐs~<+J͆h.$9 Ucdq~~pd-qoZP9m᫆qq2qx7 Ԓ2'RǢ&a5,>ԙ{})DM-7ry;dߕqU4Q.aWɤ}Ey{|'e&.3KGQ!ZXPnŽX}*/ >P$SҷScq* Hbw:{/wz ipއJ.o/㩔YFDWD#0ͳnbIZTơ(=}@<48gIxn@;$ЧGfN-ߴlƦK,f\'nV֤a>Y*Sgx7OK找 =pW).:i"op˺_Iju˫|<>ޒȵ, )suւGetd֚lB/Q}!DAWScG&l;VvkzR`9 H 0~sx [_~y ϔfå Ǚ[Q/RQ, Y~Ī=cPĪ& e3 LOiww\op`_A?bW{`0GC";XnDŽQU/[ae+~̀/*VE{"9%;yuy2J\⽹}A=*=ie^rِF]eFڍhyGVcBFSLDeiR&Z1:M{E=$Xm7wGF̵1)~}9 T86њ0 hCi2~כ6n1O 8UtEh8xbf[rDDR\a!s~Jp,yKP[Hn\A}$2 *2~ +c/8 Ka%V;I:Ձ"8X WRj2c@B;lյgt@bjҬT=+p; 1̫+U.5ڝ7+N5Tpj%POk6>Sؗ^1: pF{qtM tCm?kӗU,Ά5!5tK fWM4kJ%t~AA9ݜOf׊ -@1^Ȧ\HHj>&%m0dJČLMxFwXA:eb#F;x}֨H8a֭%~֐) +|0BM3MvVB7ͷ Ώ^VJINş &h@r#7ފn߿5p~At?$(_r*K~hGhW}KRܬ $L`9(".wCU| q2PP!/K:+``Ӻ jVwWxXU(NJB++ vnJ]uqfg\C>'4$ &9? pn|ev4Gok{@L@b05x{84R|?bDdW3~cb6IPmΥ{1{fHVێI.`ψ7ڔUGe-I5a&\'ǢRPzFY>tQQ S A5kSxU!,6 8_9!_Vp[0"]x,)>1}2_y|^ q9 }c0㰴Q:AV/5ea+&kjPÿ[y_;}F|39t?@3B2&}$O:XRz^JuEcu6 ,PVAY{UiFKTGw-Try )iZfo{KzP%JGi!)A@>ϓ 0Biཿ]nwJ訄ָGF0HrV 26?teQԲӾw\&ؓYgTyk*9}%a6(fG|؎d{9r{o4eɈo逸~+c9kAmp/"18_Wd*~F+^Q> qa]M:м7U(&f~oPn9eӦQ<#JYhG[1W<Ћ0ƻZ#kO/- oDIشF,bZs♺hNjŢ?L.Z[,\uƕXu$A])!>_й u{uJ%7rNP. XYçZ[,!8yWEADHiAT/;ƍڿBWVe)#phu]['a-_nIG>{5J %JO+&-^O5MӦZp NA;B|DN5{'}px)Ŷ9%(g^E]; }_jLkitI{Z)&M1͜tM1vw:O"|OuQ0]>QA]i\EAT9);O$BD1N=N4VwIAvC(=nچolJ3dH3/s`m6hvV,>4j:Ia[8rߖz\g9^l۔( #c!{Й2QHcpdҽа(EԝT(MYתUuq'\EZ4juQy؋$#3v[lL#tɸ˵>M|)DeيwOѣ2gi}5VScۅ|wQp"d&Y¾(ϼWsZc}SvcYP  aol$.' O6`䞆o2ԥ3wbLޙT{%k'pi@Ĵ`mi7%r芽[L;mp3P3cmi}3MŸCJQ,by5!{coԒ */9`i?ژ6gYxK%AmT^ɿ +U:I 2_Ձ洅A}  G]{`<#kT^;8wOW?/^&e߂Sv#ݥ;|(*{QP-qVc:oiCð'2-V7 ;@z92nRI-'xBqm'o.Dx2ÓP~:3&]FWgn b@z*km]&@gkm)<\RVAO@΀׮89Y )Ĕ܄P̀cZ3xϾu 6hhV}>(0M&|/\0T O4,~QU8XS_(:IvK.}KaYm $ϮB\J9>67a>w;ּOd_v$MYri/~>k.ZIXwDq{SQrdt4 \nޑ0]auSxrX2OM2( p0 Vi…Џ_0/o3r 3w<'PU“`.iIX\v 3ttˇHoR" Thf**:,,ִ\ d`R{s_ A؄پ>Bi$$kXHlD#] (.nHZzP=.Cy {M`Rj~58¯ >߿9[*pt.:`FRWC#+5|Iߋ{OfΙSg @E \J)z |>UuDӏkĤEp "â~'@Hz{mM;]_3"Y15ڦ+gീ&UG:=o5rO!f@b>( kGN<Ý̽tGnbL3 Im6V}&cK;IO3 {;鉊y  NqD"$V-!rv%S"7XRBq\-WJ (/J)2a'IPu{r;D[ w7.}S_tp *K^I'ܝQ%t5Qh:wY'CC ˍ:ԲIem: T_BiaZc]4F^VQs,-^ !مO'/ExjZ-Nb[mPC,~Y߄ -Pwʶ}u psɉc/5D76v:BEy~ə% ˓+c'[oC$$# :[:4|l\M\iSW1g<*뭟"s{*ccNk1 o =Er9yԯ9ql,.Z{Sx_V[Ğ̮v@I&:اV(:K XO.%W˴\qtS?2ތ+#j:c֓΍Z%@?g}Ӳ陋3@ܥE{RXHuXՈRjFPoxdvJOi;)t0 6,7jpjFHtgV-ەl@}zXPjM| W0##pU-xn,YL׬JGA^䕀 <.ԶO v $KhYˡzw=]Vd>٫r8t>;)v^~e;R_gOf \Y9Ukw'n)ps:NodZ%QJ(Lc˜x?EG(H_vn25,b-DG#ypatuS{녽WM˓Zk+MBsoFMT-WXrg3%HAc jéخ taVoj^`jgTbbp3H`I;GϬ сj`KĪ7/mӪb2_+wS9~VK Z8YDIJp t`.l3FZC<ћAAOKEs͈wezxF$ Y%t&WH~NycSwWG8;g^o'$DIrD&~'pVoXDߚ f;e($i-|Nj7bmx So1)͓7KXV.kdf(+qv/‘B~.ݰˁnW}mz_1;ERQ*ߞ NJ-Х~^{/vO:ۡo.28m,I_wg}+:+GY * 边@k/5ARMU-7Ǜ1 P152 y\ Tc[mpj+m';y>R/\Ҟ h ȴrGKDq;Bg3{Nªơ\Nѭ@$7y=A(]6(MG^jr-<.Uea>} qNkgdg`t݌qqooojUAr[ |~6("(x ۝idl4rs3߯YP vs+I{ QP-I&+  骈Q0eF}{D&qeЗW%D PIƢ*\\/U7Q? sxzBh.+Գ+Dk}Q!%н$` ulS% l%3gd_Tb?tW%6Yy3>;H3م7h,,X^ef/73!nV#]W^C$I +i.qi: b}AEZ-=O'Y^tSe'2(Ȋ}Mh [WŌt)5gn跙e&R\ʺ ?ZSQbẂ<ʧK-7vfaGEgvQP0zٱEv:y1*A8-VcqI^Itto0zn|֫je 3:ZCj7CiZ,k:{&2fIG~R)2|Ol`(>6^}H=lu3 [yu&ScA4E2 &™|.W_1 H(`T pzg[Rs&| H}:S3s3.BՈaZn{,uv.mUYe2@h&ZoS_&ƼP䞼ߐu7a96c*_hn_HRڥT MMYpJY6Sb [Kvygv+B[zک҄aKAاrZv8DnLl_7im;r %`u3ѡu Wf O;Y]ڭO2̮\sÕ(O!smb_J&03/L1zftʬd@DW%7}a:u9Q0.Z2OJA'w?]QeuS5c F2S?HB]AcUo|D0(˔|aJƂߪ cwk!!zĦwW䴲!ؼɉ~DocVv ŊT/r9 w,Iޣ ыS)yľbfo_WtK[{<ƈW0<%7evS}i~.P(ÑQTbN(Đ೨9*M Z^=?jؒakIk)DwRaTC /C~~BKOd,^"Ic\Aێےͩt!F=r釜H܋zn2Hl,!u(k-* sc zvK,`ǔ!yVt]1[E?LR[.\)a6MEOEjC%.JGNa=jRLsq M&DHnj*w,ً$}™˝mjk|4+Ev hd-3(<SCXo8@}ҍj%0r4>f2 ~a`JJL-۰}w"7(uʆρ7|MOj^^ݷ-ߪf*u~#SˁZS^pe?(_' p."kQ9p8AS*T)gK8~OJɪlTZsZAd%iL.h=aw=KJ [jY58b#?!ro)rEL #]m6$/CI{уr_}7ī *al"pRPꍊ+"?/<,34 >n244Jg۽8#Uaw3?H@ݍ}糷rD{Ǚ *@ ;FvghD]8oV`NВJ`eo<— SiOgnCDO':.<[Q.ڼ-ڞ#p,r w뤇xBC::MsD7E9" s`(?ݟT>V (eg4%dB_cEE+`'pl24 Z[SJ I4,V9Ը3uQxHג ,}v<"K&\UuRa[ELaYK({즀v#.жgÆBy]/ kڏ :>czy9-$7cMŒИss"h6,sz &ۅ&, ;&x!YyBv^ΧRe>4SSdH- N0;u#ͦenͭ(/u1 J*tÍ^çȃWyIPL#N=`UQ (hRnCRq&<]i*g QKG O6[ף6K۽Wfz| $dCVcb'̬1Q}yE,r [ >.Z ! u.\ n ,{%b~2Gy$r1= ʘA{Y{>?~aba> „5MJڕI[ FpK{hWKi8=+B]n~ҀAq*/ׄjwtʒА%]Bc1Alԗ'Bf^/ @{ b $0Ά*gz*Ifc+|ƒ$BҦ܋5IDõ;p%rFO@5 bwEA"EOsp8va"ՎE6y&dTZ L6f$vF =>}du"_,.:y5ݑCU`sxI\:9Ro}i%ag ]]EiP-|le#N"EV!E(qn]@S@|*m|S26m" tGu+OVۡ¦&Jcu1ollÌF@@S-Z7[;ۣCx1d2ܶ?l lۉ," 7|nED_/cƸa dpy5,$>L"|'lh_T A֗g3e~Rwsf?bo=g}'[ 9+OwyZ1F-"׍Uf3f%jGDm%c$Zb5'J|uF5B6 b'󕪁˟XOH_ vivܲys{:]}~ɭ֐{nr.B-}h*̪ˬXj,qbp<сh ;Btb `65Qt-  ,M?Tz iG;Nɹ05gAQUp!wANs͓sy _~CE%SS9g{p]>.M9W }߂ |ن]oU.2y5Im$Xs^E ώǗ|:DO)7)Ȕ{-@m4p[-lL%A]I?];i}r?&^:Sě]er/s{rݔ~`OћrE*Ljf'+4"d='/,deUzb-K5ֳN&b˻Òs\7Ti0gT%ǿ\L5];,zVl!!/AVX(o)tD3E+/vi[=޻4~ele ɼ֍LA0`DK2z]?2Wj⊈bڰlI`zb}N[qcT@Idȶ\*wR6 ng$qwa˛Υ=q墷N78+{ H6F@R;<0Y69xXr,dh#͈T{S޵*ծ4Y'^zVjO8Kqk(+]9D,µsi9x? 3qX k]6Y{=|c3hQ:ņr}«h5-BD 몚r*' @"~sٲQJ&F$b5V!! pIs]HbOyƨN FJ# <Ɋ7[F+tNA*=,Pk&BWΣn0S.O8u5 ihç>Yy-z~)BřtvM0e;j*Gg[H7D_y*nbBcK}vWP-Ơ`"'4߅ˢVvYZ4VGga,a ( /E7_(70G%j+m}(~{+=b=F,x8/dt 7 ?G yӄw~зi+mvJɼܯSQTQPnRZGS}f/؏j'{<"3<> 68"Ҙ%Sھɲq( 9UR+4;ėOK8 Ч]BwTŒN%!L'lw+\!%WrS_ )ǎ p6C)l/JW&Sf TJ ,Z3G/c$R'JڔW DO$cZ y>D'&{F,:ub|,`&.Q-xD&*­6㏋2ccū u[k_TJ,B"1|*6~apN{:. uh"vV8$9-wIWo hn_ >O=Yro`]Fq:D-9jQMiТ%CsuT~ew#/AorrjbQ/cfګ&Gݸ>uZ7AeKcUS48\PɣP~ Ml0W?UkYuxM8d/п/>elgIRHRRRJ(92X,WwIW4EnEV=p;>em*H9+cݠxc4yL[$QRBzPhcܞ3sN#)rꀕ)bx<,:{:gdq}Kߑ``"ソɌΙiB`flw2WC^mcYV1T!8'zA'V)As45ݑ߀#k/՚V[peV'Թ5x-iSK>]PdXRaO'Ʀ0v#!2<.6O|]Nص;8~ ,9]w2ٿ7 lFcH'@ˆݩHwPr'. 'JtlG_uĐ! hh7zudwk$hGQ+_ Ûi (x{o3?=B,+9 .ƸY4e~hu 8(-B{FP ?Co:ەuguF+HriÀ>\l?]m_'D/o_`]˒@V-*iИ!6BkjdvW0ARb0[_`$9~~T6bn;Zv9F?u3NcaX|JqVed_F!R>lDLL_$kډw } %^RQ/pnZk1 0z=L[{Z9y.Pkb퉇 vIF E8`ngj<7P=Od1.: v)M3W+ڛDY c!`)/sP9P GeXa\Z鞱܀ea( 4TӤE4mTҰS) hr&t`Q`-[Z)u%`(sDGɤuY(qg/qQ#zN=jK/\E ~Qo ګհE=Z+ÙCf%FAhSw[Na\"G3Fe?F3~gZ^ĵڗMTPv*zԠ }6DA!Mu~4G%}}Ԥ:(pkS]Ws G "kZcvlR uu94{Ye,~I<5,*zQ<C]p] pIEu΄k3Ma௛F(gx $YZ8iYE_i endstream endobj 54 0 obj << /Length1 1533 /Length2 7526 /Length3 0 /Length 8546 /Filter /FlateDecode >> stream xڍTl6L#-ҵtw#݂ ˲)!-4)HJH(Jߪ<9wݝ{fkn6f}#>E;-D Ju @0?(f pg3 ݡpʧ@t0 @P (&%(.@H) jhaw|6e8 up@N0@PRRw8@A0: rPRp8zx Ap/0C^; WȟƎP?~#7 .P0掊A#MmCC5    sC] =5m~^frqA^ E]9h=w0pwjQWԔUavpWWW}*P$uaP&<&0'DS/ ʅ"v r:G{T@=<@m `- '; c. XQ}g khoLI  $%$@@࿳胠U'TfH)5s\҅D pG@Q %!-H7 W_f==PׁT3ȟՁA=]@jP>G,& ݡ^ ?jΨ8>R0!Q1QB V[~@#ݨ$@@%)Ba-7A (Y ᣢQȿMQR?@+2?_{"7FQ@| `Y8X:©.FΛo4ۖY7:/l y>swyCTaT׏ ''Ɵ}Qg3V`قީV)A_B~ݧS_45e]-b/$Qb4,8| w|HfNϦ oy&[|JXȽ{4 dJ;ZsekTci.;~[#kvq){4OZ5R\_0,khغ@o\E $ vp9)̹ )` 1[ ԫ+#+͒6 -!CwW}4gbv7](N1w;{la;5*AT_q.$ou$>pȠS9M1!ciNT9}>;d7S|G *WϢo+mA8N HbC%cXz8Ҝsɳ7nbA1E$?Iͦ SIQ]h:Ox[-ljB ?; nIUOz캘\Q1WXqD#s3],{;+^ u)ؾ a% b} #JIN紸!CYB?A/oEn(D8SeѿƘl 96x|ҽ䟌 0HeYIj,.|"rG~I^`2%Y;:+=MbRv \|&:]Smy[LSHSrn8KVKWj6d.jд}=3eH9ǫF0ƽI*Ĵ% 5"dfM~~psW6 9q;HȚ :&f6l$ ' !7ve8.#p1&ǧ]bg?4>0<uB+ 2ToxRnFm?ON'nQQ4'6TjG(>_FO19HivXfU'W̾¦GyTpB5[ 'Wȶx`$KbŪt&2;Vwyr>ֺ$<<ȸeBxƙۘ gK^1Qy>nN_ݥ!܊%{˥7C C~K9螘<9hA/-~,Θ(g{73bnp\,Eу.齼P/;Z6̙w65~ib9@ؕmJWCȆvi19܇E8EFU*v)kL*=2DE!ɫ1>ךezMb3EGF,F nq61k56Y5_(g[VPt?m/)UEA1rAckC؋jFawwƪR^uft(i/.~h-UpO))QԹҷ=KޭJbm,pq`g&ɰ#S}JTkbxuoūS1̽ܜ/ wyF9u>/0}(+۴~(M }Pc7%FP+Q.Vy7}mpru.d^>'LB۽k'\'zU~ib}7"TNLza'7D{gx4㒈ɡ-.65ܫg\!i=lr4tO&J-1C̳h/zj޶) WʁˏgR ؕԪϥ`if\w Z~0[[a6 6!0F",u4+9=gtACɋ%C9e5+(;m%fNﬡ~vu-n3o;>2n|]/Y}+B5zbI(6r12'#BjJD>Htx#X*k^㽷12|!q-Gʵ[A/5MjFT=|5aԄp#o "P{td,<oj68pF9KMۋP KsMecL6;b&/#7/Ƈ0;%ON ;jo2s)9 ݣk. E+!$5Fς jxɝ0WR2/p0lU,22HED$iPH& |QG4U I3Ю{"jSeh}(hgS ޖ6-䩫A Ԭ2\lcv,~;Ϲ()t_Ȋ9Ď>\>XNZW(ZN,Fh'n#,#qRdeZJ-3\àR[1x^ի7iHؒċ$4麈Y$b~?_0Xc@a|bQv >Fo4m#. xu.-to=)ë&>xՄ/Ŷu {B<+,k]8 83.$_Sg#xB'v.I*L%-B:D[ܐ5ᒹDN*̈,!e1No:IhnfvO8 w7 'V}lf:qFekbWhçs/so@fxw>\0)Ϊ;7>:ة\9h",6 [%;GW;|Q(&&2R3ȉM*yhXQ%];tR#;?zJK8GS4FEwfخ% Y9YV ?U\u/>0%u3b9F\vAs OIwƦ*ݟ"q*ܤ0%%} `+i?ZVy_VYmƬ66,PѶJv2eS$^\ kej0z0duF%, ׯxt|BSS=MOR~BW7La3# e|irSOE9_QNF~P(\OP!Ss{)+>kشñd|/O MubxvI+ 9mώg8 }Vﳯi[-jlI6WҟWHGeȹ/<):wpI,J?KWs'9~C,"S( hB%F*}޶6EĀ<}DMOV=9xN4tYJK{;m^%s<#7'4F6h|Q,^f]VZ9ZlT~I.`[G0Y(2%k0kP&;.τxXnǻȑW@I-pťo@wM %$Y)^=N{}[+nbE2gxzY@pذϯ*6c *hY+ 㔓av1iK'VXrЋT7:fq-tm0x'7z {n"_ L<:\}S]'{*_F^+U6On=?h9:6Y(H0y)sYcg a pZkuéHLvGUOsJ0/Ϧ>#B'_&P*mP<5{L=k1h;>-M `2A}f/򂵾k^45X*=G$we<|s}2GQ zUF }X_DzALV[A.H)9<OtܖUӟݬ2GB=V:E\soBjgL6gȰoi%Oftl+u`*ꥩ9C'n Re=jwk7_t36!^RĬ,:{[b?fVmcI]d*k^^+@X6 ɳ25vU8vS91X@Zߌ!L_=8JfiQ˦|A]"'xKpڤtR!i8%3 J(qne֪E܋}!EᑠQq8 ߽)ogG &;KȢǧA'񓭞Ԯ!m:XVѲ._и8VZQOVx`f`= BR$<D8VU1kީresu%7yi:M~bQT2 Z%R7 &Bp瑃Ɛv(:)$ Ic306 "K]?|+~&^W* "Y-'qb̓ЗE!{GP2/u8CEtmDQ# ˣ"ۉh=H Rz{QD7GW&? uy[ua !fXT˴SwO;"JE=6;He}"HY帉ʔߦj˖c endstream endobj 56 0 obj << /Length1 1630 /Length2 9316 /Length3 0 /Length 10366 /Filter /FlateDecode >> stream xڍTk6 ҝ1J )tw4 LЍtHt4Hwwt7Ykv{{=DUMnÜ89J|nv.LMA0p:=$M03 |!'!A i(0#&lepLN>1(ln (:Y'Bps0_!^Y;9 PGv03+d P9\@_M*cdhZk-\M@l9>x8,@r;/cſ Xp{ v657CLa` TٝܜX0_G)bj`;sSs4w99;!J e) 1' v?0Ͽ%fa g; l A  7skvJ_ =vˇ"@`K  So ;@V`? ˿;p^p TVRWWՉl6.^/G(࿳Uf Cl0K@Z0fo?&$ V3ԦP0o:;=_ 055J 3rNs `GiBdnYk2R;m'&as8>0 08>R f5a\/Dxr>7@vP7Fy@_H4 EZ9@ B?>$1?>r>>>Dv>Dv:C(_-6wvpxX272ǜ l,tegIbfuhvEg.p.a]Lts -Z׭qf#IpXe5ם-R=yL{g~\lKNʮM XclQZ&&ɞ:QMf <ލ詿jcX˱\p`S{tϹIiD'ǝzg[Wম~"Գ!04 ˭yfj}g?jܲFӬw{w.Q`H[8 9yݍu}gLE_,Wbž[7uhɆdo0x03f\48yg)\$m!gR!َdiKDlFj qP*+؂0([I{˹fXl2J)n6 +>zA01d8NPE@o,qȳ]̖y 0Co0J fXw˸H'g*1@ A>dF eƳb(9/?Eu fժ:͂G,:{xGcaӵv-1fH`Ggê6R{Z7עСDWN#B|ةx0ҶK p{rW'$Ģɞ m"xt ='ا}/+MPd\~iK ujީ9ﯽ.vndw|P L.ª ?YМ 8HܰD`ge8s9֨?{%ZħDADvt֍_Cξ(ziI/%MF tA[hFu45]/u.iG.%Um_@h5_|l\kQHyTvo֨}?V_=&`)R%ڂt9,y^ޢ2T+$w~V2%L~ogo檂ٲd_7J/TL06#}^Z!辝qGkIC„ri/Q#Rln6%?1q- r7/WWm>ml4'&rhf )%fA AMQj] dJ,0߇9jZ@ -_}!&$*9+<S\;$?0CYj =Pأƌo679rT0z&;z{ W.NI3e }'sA9 YUg r U,S'W=MbIb!j:,w f@*3Uɑf 7 ޭ@I'UOM͖!<~#VJ$OuhsmN0qZs3h'7vst9.j6t%R2Ctן $-f!5hJzqʹWpҥ/A6f ꣍&EO jfqm:5٠iLU1 ȗKLt,y+Fi\[+,äI]HW#h=0VaukSNrX.hʯaQn,ZPL;:J`/u<ʧtu}+(3ĕ{T3sUkKyܧW^@lɂIKŇd/tH|F5 #|P/;`ء<ߨŽ-ۨ{+s{VrjܙwI1jXCE Z0xv {/P$Jq3o>BLrBпW!y`EbL.을, `Z D#Q 1ۡi/d zqhռ`.kE@G}W!5X{iõ hƽx9˼VKBīXm',)s&)PV80gVi2tbB =90-&ESdR!_ަFiR i8sI[mQ*%&wa[3*}cDCMƎ&e!AD㧦>8n+jYKpZ>mΚu/jQeQ@{۪]%k9ypd鳓6l PRS"+o#-_VY~Մŧginaw7Z7qQ(#IɉSgp(ibӐ3MW%];?Y"b) XLKE_,ĺ?"B@WUBNDHayi=FؑC²Hv[^s+҈ 3N[WW:k /H+5xbJ3~]ȷjA>_ofԊ˻n%[+'jx7] ÉVq!2;ɉo֬F|Y!`RKY Npro+} *)60kss.. *"YuT%H]r!NdʈѢDX^k㬙n0*U}S:<5D|ɿ/v+j3sl>||JJi+?M7I*{5W|fB:&(gH#B4OLnrZ,Tp'< Gq~I#c0?!\n :Z _ =Ȝ7\Ya.,ltvm[A6̗zi=&/+BSk/M.Bv=yRX w {la*i_DH_.F2rӥ> _B-?ٽ6kHz7"؇"[AU!*Pە7Jl:^acy<Zң?k~ƹH0DȮMĉV }w˺!m`E)i' gέa0P"VpMHڙ܃DXZ]2MTxOH8:2&]|𼼠EKWK ,M <&T NV!ӈ;)Pk&9룬M|yݚfj7] `Mg/ؿv L£@nvyO>ךK Ƈ(M,ʾtKauKRW^̉$S%M j=GPA;1{tmmt{Xg:Hh"[#vJ(JYD>nݐICiD7$X{wHDd8t31?CPG?gL"?n 5۰ C 7,>[Wpneugj⾋MFW"/|8];R s7gloO7M xOvBğD Gb`ݜդo8ey$7K5˕'HY|rntܝ#t˖ӾĩQ$թ|̋Ze/!ղ$t O#eu}1Eg"Z4.1yB|cTv xPǟ4!LH9_2b] m=M3~F#c2cDXOPG. 3S2A>}{"ӴPNc̗ll2[M$pNK--hCm~u\jbk4ymC[V@w-v(%s<ӹ/S#UnDn3seؑ#gChӏ՝.[Y(yc _\~8ׅX8h9* ID1-#RzۗwURg'%9M.2P[o^{qW_2̔WiP?ܦmհc5&N!aBU <"`<—h.W:]%)~ٔ:r {pɧdWxsAQiGh7Rk&BtR!z@ YJZ ,=$eg0SfA 1 {^#%ܪW)e,6J2ƚ5+7tehO:MH X1=e'?m/8(ȸMO~ HrHzR>23g TEѰ}-o\u6#,X`Mlm HHnu>e"bG`뮐#t48TiaҼb- /)h$ #1]+20@dޤ؄"*[b?q7h5֏a`v6$_0,0*xwKS8*QuѤ!~x,٬k\~=^L=p}ۘ,-U*I sʇ,(,X-0P-m駽>*5-EptoQXc;pqWra b9Y8ߴQj@ίs2uUwޡ]' AJ=z{UԽخ TAl3 *W4.=kȽlO=8jb\_H&ι2>\x;B]͕d^C9JkQ`Ttgݖj>e%xêt#c4R-i-nݔ@z'{i]DzN!XD47x'bU/& Jy"כQ1 mƑ|$8o $"m|^#Qw uKȏ 鉟AqbT{7(ylIžF@@zdKd(Ol=%׫g@[Wfኪ#-WRew֊X@ (O`|gO !WtflJ )^ݔ9Y8HyG|n*R}KكH g IYALg:X\A">eepnD`uW1W KBfKz3Y{J#< GE7(),+U/(+yQmf! qchU_vi3 #(4,ݙ}W]޿ "IMmQLOiwqs3q2'u iLܕmi%)!q^TQ:Cet]F{ȝNvZ熣| ȱT{$#~&J!<#3hDՃ&*2% M g_WORr@K ! f$ؙS0T>DFuԳC@7͛xe:H.~Y}qݢ7:w Ggz#҉h͓BGQԧdIP _`,59}}"Ư~hDm+3LMQs(Q Ea() qƢŊb6[)sgf4,Q&k58 z?Ƨ ,"#d? ޠ_e"Uzfė8u. )12B-G>Zq'e1qD-Ia`PDL\0hGmhgW+lɎT:B~qKC&"omnt!]({E & r{\qVB0o>^v]8UL4&%m}O-p|d@$Z,Qد|Oi̚B9%m!?d`oW4C٘Q *E{t!jrL+/bٲ=*ĭ&{l>u%-rHt1m[?aKZ,SEP!k2bL3ufUVFIߖb-w9e}ψ=UB"1.ggUUDtѯޞȠnY8tɗY9. n-M\rUNz'}jφzF=۬MzE,C5`u-!iJpշ}PﰂD4J/Uv.Õ]'UmXߓm)TN{{,-i0EO?P,9|0$\cv.3Qp_UPZ;(ufZ0?>cR.< k&؏S](]'.ImKIJkQ<ۓ Eo9p:) tnwLBY/#P;/,/{{H˲.XԄhە b?* ied"P z /Z_R\ʔa bĢGTɻYaQ5x$؜1 a_AK: endstream endobj 58 0 obj << /Length1 2403 /Length2 15065 /Length3 0 /Length 16473 /Filter /FlateDecode >> stream xڍeTw ݡ].!AtZE}-jru&1sGS `e`feeGְہh@.֎p2I T f`qYYk[ WDj G'/kK+k~Й0X@5hf {O:A+0؉Ãhb)a \A. sJ@{?1#R4]V;Z=. `r)@+mxll@9흀^ k;@YZ f\_@k;_bk jmKa^-`.hor"Od:y/v0݊HN?V"?2Kz g̊w /'_J>|-@}\ o"D66` v@U JB6_"-!O=>L&v7T)_r}kv'oK r~f_._doMnvvYe+T+̭V |] 1Wj31sr-vXͬbkggRqt}XYul_Wvfr0s4s\ T\\4yg #ڡrsX~F?"X$ >?k?OzSX  `^^3h^ALAlAM]f ;_b&?lmAG^1q6s{=J89KY;]eZϨ#gc:7?Y_vK*;w¬:+/'+ÿ,^eS|mOEܯ=`כOln/|$Y1?אN'{Nz؎&:$';8)uBn`F*^;7{lz\@z]l^_z]]= _~ /O߯ Seb:8_M_kyfBmB;Ĉ`#Lx MVZXbS='^ooYAy-SeY;U~ݒ6H[&hZﰪ0MffQe D<#Zua,.ݻb,~OI%£ pARzdF.NCxl>9#J4;{ ,{֓?L(w`+QEHkGYȆ}j=&}KڑN22n"@}I"jkUa`]%{LO|鲇mbKIkv}zn.OVx7)N1$xO4qU1}qײ๾VƖBR "8'S(0/7,2$Ѽ2.J˽ $a|l Ҫ-,.iߗc6q|69"~-}mTNeN(CR:m9)+RI+\!2֕2EU Ȕʜ#ڏH& ָP>F02"yYPb<>+#AJѭj-B{jozٳOGtTRY1c-=TT?"e kqXtdUPKĕD4%"z[`.RQdش)ܲQłH麝V/u=kT^*$ʥb*^| ?<{w-FO8 U缻~ƒ f3~YEܺJ]q%+yi&-g? <%V_Ͽw9ŋ0í {K?m0rryӞ~\ S|Ω82K)x)ݿ7#]yFea9 ^Q_? h٨% ӈdz*MנL!9rVG74o0T$dw<(X +4 :͓4b-#H{3WɉM4tw|7rtu>n(K5~l;^$DSgZ2|FERˈ k޺ Z9 L~5+EpѫW耾p4~"='Id}Ȳ +(I}zj6*") }X׻CG0}l ‚7t'uYO5E5.{-J5®3ʑgJ/?7[B?`2x>I] VG#4ʗUE,6\4{OxB+g}͋H]aoʧ8/Dѣ\ vaD̷9vC%kL>#C:KP}¡F Z!aҢF|Xm)q' ƐrѰ8|TFC|u pcMPWDphg0LֆZL[Ņ/Y4"> =$?unxtA2P}whG1jS`fnؑi``iPh=%C1.oi9tf%@R">b@5<9o@|'t QXA0k'RsӴz ]Hqݼ õRICÛLG:"_(쨔%H9"Nb `Y[8su@P@v*s 1[w\s42 P_>|Aߖ.6?"u lj|ML)Jn7N=eSê 3*YYi,G7o1UMa9|r9D4~7vQ (]XJ&v󍋩2pnI!Lj-<8W {IW7Apl3<ה♵;SATϑ f(CxMvϣa=J\V<]JD  zG 5Z4]Aiw6QO'̅d2IOM)Ҥ<4kkL3mD~֍= h}I(i: `!΅iT 8r叓ͨcB6ՇE- Z7z͖׬l}cxDxoa*@Gu,㾁mi\ɢ?[kLK$$(B9S|gc#5&c[9 Bsfb<:Vyd{֤듧RR* F}"S[v[lV4*P@!nv%gdGuKF<κ {ڢg$[/ib3 kݚ;3Ļq7sf ê|kcra{Q+19"Esj}>&a y)u"bk,0*3o|O-unд|yI J\l٫|/QH 6`T0V՘Fh^87k>us(}*'o8JY;$t<ڙ9h:"I&\.&/.tB7@MaᏈdW/D7nc/D8)UBʮr)۲p9̗DnMeq䅁yHI$`#N.wKUCh 谉pCQ QUkꤠ?$bWl/iI7q 5KfF\@ZݍBӴH Npŗmة;^ʛϖAPc@ht pu=ٌ `9 B=JV8R 0&ð\n\պбTڈnIFZ/VY[^dE*0bޭ+YM!/~C8~ R56R精E-s[:߸؍û_.w;Oc8Qz)@.vƷ1$h-Z8r>dި>^_VxقG T0q2DuwD(\2pi3~ԛn O''cJ.n?H (TbcO}iH]`4*cb+/TK1t"uM̔Ezb`|-fNJXOȌw+aĻr)nu:EJ@uu>ͨU蛱;?xPol MZqR6uu;< %bz^iqx"KbKBFYB{'l~LGKzGvt KUW ]Cݕ, 8x>xI+@1޲3%LoJT j$_id cx[,{==l>dµwe~ P 0La>6(FQݻȖ;vN/ KVS a)l|ϼ?RH q@{i# ʕ6"orGj2iTBZȿ%/ǡ$wwJ5N59#? Oj;cs9R ;CKFp>Zwʰhs[~ זS ~63v0xj.͔!0kfss-hӓ*F|k V@ y1ơ7%fVur)*+bLW.U%2om²1̰$JJ{J^x:Ev1fVN{ZldN(xW{!cZ]/4y)5 Fa[6z#} ͋-+ 1Hy_// q'o?Ǹ{CcJuO~*&ȓzd5a+ v=~4'qQU *_up[̄y,٠-G՘| "姯!;wP`j$@i85-G><V]rSwNwsYiJ$!7M1O-H2*&}Yz޾ %_90.GkxB>3꾳m]$ Qec@%*IGoR/>wUZ`?،WAݯ3RBbddZ+ 5a(.( VW4[%ՠdf/_@Ipv:)"hW+jz^[KoσgfF1`WB9IDM/D`c􉌣_n#x¥y*HLL!?~zK}z{ݳs9yb$~"MeӊHMW9~^tP0+ϱ0"ߌ X2!Wש E_>kݙC)Qx5#X Ly}yFҧPaydئRşȴ6"*.\WÚLRkCձv`E/2])V~}_AN?¿> ^4gcȄrA3ƸYePTCe"_qgRZda78#f U4$i 5"V!^8ta"T3ÔB2? .̐A: EaNNGP ϧnf?q+By;|"ZDxvXEJT7*#eʮb(A\2!=d[w*ZNj$ yP$蛓=ؘ.Y `V|d鋨ƌ WA:cGLà=~Zҕ9ގy? :RDjOKN@}5 3&~3q(_4nl$5\@Y;"?,`̇":hn\H3\%냰VHe]P,aV?4bW3`=&*Դ&vx ppS!-3U,8'xoGSN}G;b!~sas_6$`c\v4X Vf4Զ&.:e}!gV!aWt# `ӪIVHqVjlݮ˜(rNOCTVzRxqK\p`X/yȳlfV,+Ĵ;"/ᦣԍ|,Hz74H9OKW8uߘCR F  BuMY+.i `ՊB,A"FSBz"y}mHyPY@Ijåwb(bKzmpM >|%ilgؘ^7)N^'olLvpTe9aY|* 0^~&MQ&Q0hҋm[7y2VeiRIW5ji+N0&>ֹU?Z8q/i;(y-؆iZ5S8>j$͍\rYCM>BFRƒC 1X)7{w&Uf*crfb#Y,sÌUTt ).m7cL>otVWl}=2Unw܎ͧw:Dp'7( ]CS`ՂՌAy(c䣛6X+yԵ!wyX;—Njc7>| pP~ P6Q5b΁}]+i95#/4䃊֚ vִ!/5+MwKtczB 6Oĕ!1F[!n(beE6'zѷ:l6[ v+ƿmp#BG#rDL'@q[W䰗s~I.Mv.2opTG3Zot܁3\/\N 0fcdjq5*7ERYn|(| sT gRfÅ,c :T Kqk%pM]~2jk2k/p3/ώl{#oGP(p^ gs;)UUis7)nP'פ3|+6x6v7C BjܴAі0)X ({Rm]3CQI`,&c}x'o;7yd+Eoݺ~mTe&@6ǡ[_Bf]qVOR($޸2\/彽W\+ӳTuKQ+=7_ E8lQF ?Wy |ۦZ0 *ީtF=73v:G'N/>GvMQhĆycAPnh;V^8qIo6.`bDbFt,!'A+HBD`|z^elՉPJjtrĉ{5{/f#ZMUMMtpA<{ay֛ng6u;4s8OZh lU7xdZ7X{ՠ.$70z \v3|!R~AR6SI UOѸJ#TB.|< EkQV[O:a9PN nzpucTmm^ ~-QF]Z]뛽aBtZrveṞ6'@3Q}UijХN̅"xu: 'U0v A[d!֦j0G<ͭ{݀ ,lߥ7>>)n"?4f)ސf>WĬU 3"*9 #}˔\>Gٓ1`s"gJ.✒]岉R4_c;LQr}9 ! HXvqȝkvI)v ={i vµ1] nl* -}EzQXoNt *}Q.gwGBέws%σ@^B|Ww#m=Z5ۛnx\QχoT)w];"(`OtH<=ӾeKh99Wdiۧ pNjHӑFY܀";u/7%^e.Goۑ̸ P@lۛZMʪ2nf ݡW; b1Z jj}Q>￷5W s"aX.8[:/ ȅk>vkmQ16 [6g؅5SfB(SpҐkf@Qtf2-d)y-huJvHDRLsIGq(&ީdJȬϚEfHlUqq0]@:ЯC9\4Vz˜U6]ƉCR?E%/E.#U=1]OTNzY':lҔ8.z>` X 8X.]jM4GJ8*MxN7J'ĕGM&,^OWv8})SVGА ?A ]= ؐ%O0;q "C{|bO8 .'pu[Kŝ:X+euar0ڠpi8!GdY2ha/Ɉ~-4%jCHy@xܵR4/+-VlYjJpx~0%G*.Wnݝ&UEE.adhI%8U",)A"&Q77ہگJX2^Z277+ j;d.ݳ'JJu bX[qkAb՘ȉqݰd^]3 _Lv?&NǴ L[O79p t# >fCNo 56!2{;bac#`5& ?_4VKhqIqTu/;=(DYy"1mGc{*lAלH*LBZm!܁UWA&5tn/b=Ñ_C/bܜ!u!ؔß~^~Asxuv3 T!j١ ^e"*j"m$`ߎc":>5,4m9t/k*>k,i|(m%7v”Z]U*o/2Ҋk_*y>§RFES]Ȑ?U+\/sPWIrr[hґ Wv ktR[+t!"Sڐ8DQik/9b(M9I\۫#±(a'>RHDojjMFZA!!׀.aasbDm|L(8*>~ta1GmW'y=ѵϾ*Y盱͟Jё󡂠ڊ.6t" )9yTT@CM.c_C&5zol"#akxs&a,rh /T:w2٧xI/7B1"ssQ{ٖ2K*ȶV[]Gڶ]ۃDa6h/7%:2[E://?p,M¸?|M0=e]$ï4<;>)y؆wE阵l1B0q;mMygh&e=!m"qb$,"o \BvO?ce!iS?5a@Uev1Ir@9Jkmz#RAMH~׌@FdP%5E~v'x*ȳ(C#M35"zt1L 1ey$ҕRZpb{_b~ IaȒ+= eJfMu6p,}J 7NƔ/e7?D2t5lNRIcUxz [%A| GY:[2wH)\,~"_FT2MJ'Zqc}/isZAe'rfj3E/˲H[2PAUkh1@UzUŵ#A@~Аl O@~d7Y ,ae7NU(x9AU[C6t…HnNxf}5w65=yhuIa!s0o x{/V);J"|Rt3Nhh~`%)H_[c"@2uEP}!a=dtUt'wK)XgƔAw4qxl֤5fE7+g#h#=5K0VGKʡt8ΨX.}yUOtn3@ޓ+AV56v?БG*m@J2&6w](\ER2Low t;Zqu#c 2LJtrPP { ho G?[>{F .!~}3V7,w hQd̾/i)yFG;ۈ#`[^@) <3?Ò r6l=OS>C=?8cĘwk(n*ʯSBsQ7ucz3[:,*t:g .[}]Z!s(m r^$cډʶ+=M/$1>u,X8" dn^֠>)!nKg@Ȭ??"jg5"ÁF|a5?@ƊQH,S8 l$&o ~K+86rYGi¤Ǟʿ}ܔL wHd<FY. ul/I):4S!:d0nmo*"p'SKD ACqnD3_N_u!~D1kS6(u=(+t 77[V"@0,;9`Z( k)g36T١s.9^uY!܏+j&[N|[+t+x]}Ì_ߘx rMB"燴z0L^}wPٺRN唾 Ȥ >׈r 2&YL 1ehy@x4+Tdz 褗6J+8А[>Ոeƌa?b/T^$({G8ȳGxba*)E*No,VMǥ³6 ^HRuʧTrj)6'n6P 1pQNa;(JX•ׅJ;OQxhsvd`ɭh=)- D S I}S5Ō nQFcecjLhn`vԖ]Qv!i:mRjlK0{$Xqy7)?bviQd"ޏǞ98\8!pW) wz[աv}i÷Qܵs#ĭ}Lv%N.׭f:oF0{ۨ+c0v4bnnOZ0Ŭݜܦl;d}nd&vKd^\{"LsmAdSl^ ͯKwpE#g!y5|?;jLʹdyVIgBOm<_r`X= tOC2Bf"?.+h)[m}X$|io&|,/[-@_ Y\WPšrL wMǸH~t]Moqu& PH/ endstream endobj 60 0 obj << /Length1 1617 /Length2 9977 /Length3 0 /Length 11033 /Filter /FlateDecode >> stream xڍP-3[pdp ABw'\#{꽢jVj{f吱[.NnQ 7AqmGc0{.bȹ-!6yK3QxrsxE&E^ :' vuC `fq-]{sEkK'.W fq{Uۛكn'A:@{d38z ?`[;lpY]O| W\<@ݟ<h|\] od r=+ "لpss n=z?<3]cAh^@o#4 ځ\lx,?|>++ӗPgk8ee>>7 y,AX[0@v_ \g݄[Yw#EO'??~Kg_gzB@ .K5@zU bh~Nn? EF S5~ad֎ϯdz4pw*Xm~/ y+m><g ؂~_ K$" A".߽r @^-_^> lwsi೬E~^$.s5A~sf!:GkOwG? Z-̂jZdȽ9x1OQ 7HCorce:ܬ=58q;ň-|mE`P҂ƎQg\zdk&}WI'Xl 20\XLz[lt ǩAMZvXzyǝnA2U f{ְVt2T6'NO7cUtR|ba&!_'T]Z/;VW5@zh瑒1>^Kj:=.F&3a|%tRڃ@}rGOjG 8~MIM펫i/kt6 W4ˣ,#˷"O]0N.겊aa0_T b~Ҳ3 `p&\Y+*%P`"qc@a?gHz◘OQa_cV$٤ W\iYPޑˁq($qC7*DmrUPl Z!7{|pVřXpuPݠ͋:d]5#% mTZaS]^=]V yxt6AM.cYG/g)P:ТCB4J.{Ol!0af/:@ǥMiE}qq1kDp#vv-!kEhaYOJZ~dD4ap}ighxs@ @Yd쳩͟raDtCpx.``QqL"jޭv=Hbc }\%,^G"lQu49oxv=Π.)dM4G}y6p2= SF_e#:sI["q4K'3f[)M,*\(#TS P R\_O߻Yl>Ы4`<GEBzjx̔( {{fQFs))PGt|G'58NrzkJ2*&¥`j{Ђdd{q801Dh`Wq> t w?mqNb{WۨIR=۰~eld"@0\+jRj8]& R=ckղίbL:^0zNzs'_{aGLqU;jw~)TyLk߭ct= Pv"7q9 dֆZֲcR ![I㥱}5Hc)\36(+lp7oTNB)T.\3d. Y=솈U=;䧗yUEJ[6{qbs=Bzsk?#Sbeټ{8毃ʉLq.^2jqj Q7ʹ1)UcJjNy/y{:gaک'@&mӒG w7eDw+:X ; 2b 4HbgO7`)Er;).X4!J=?G_6; ڄE(A[ŽׇNN ŵ\˟ĘҘyLQ]ќLzCDsSߥ3pLy 7F w Q5|X9)׽9).!^46L${z6^oAkGC,b/Ě>A߮ۛ5Aـacކ1)SoRĿ\QdssO%)f%@T=uըgqCGdai9dG6;^[ 7~)vkAaV%[;he%ܫ&ͮEy @ow,TUWeɯ¦z6LSq"[w*T^(bBykz*](?┄oqbծw:2ъ&Y!'\(`RWPۑo5ZH_?$$p cQ>O'D✕. _ j2C$oCEycq0 DG-"g;ʹ6]rtt\u ҕ'Lյq;}03^ƭI!''9D / ;ԵE[uvy\pyI;4J=HG_xhL6"*.4% Gz <chT/ 98 Ve#{-vh\N"-+:;v̌?'ٲ(?m.z+%鐗+# voijb0HzDAUs^A.pYt0,??}EDYPC3U_UaH9~Hv>q)Zp—dF7hԯ?qDČBg:dkhgV miV%b7DO;P_E)zxQ9 '9jQlpJ b]77ՇʪJۣN;b7(:.\;¡| ѾP vVq6h=v~蟗P|CoJ%'cCߏ,+")/#, ê*Đ񒒊IMZmhJ0pp> '<P3cf&ySw>Pl{vntܵӣ6R}n]rLTV)zPWVp,+3(F%aІ gQE8SqfӫkIHcZ^5~B8X5ҏ?. }|m"}<6qL+Hs3Fsi{@ͮRk4tân[jBG -%lӉ|k_w2 !qB׫zXcu;QT7*8ޯ݋'5SQAz49H2]n/*7]ZsHK7^L _w!1 Z-+y*(eQ5䥻ECx3҄"kn|ߙ%ҿͮVLLWY?kj ҈tY<RI3哙LJ+w!g3NRВ&V"ؕ񤺯sqHߊaGH|"-^RFC{0 20XUYdEED$ 9a'm$Fy8א=QX>r#Pw2~T.l'i/{Եi06?TDh4ײ+m2(xCoYī;~a6ocSe/61}ځoit-#5~_a]A꽐K_0̦0"Pu dlzXQYĮJRJ]2zF){ogVX}!U4v2`piwM?rLchK,5Dm| 1TmI Ev E,nǺNOGF S96=JE!jo4*"hgto}iJ4\/6(b=Hw]PjmJ.ޥ,,fEcyu/$}+(w5N\]}F:l*Vac oCM޼ra lJU)N*;k0D˪ra`(.;WZrra-g,j3 8˓Gdc0`2Uj'd= AhE_'ue=TJVV2f9UXy o}}G[4'3+܉t~Qb3Cu~* {?^<@y% \ѱx(K/v9eٖ~nE#!#]GwM!hZ( X[@$J%簊ʬI+$qb.I%+@!97h,ezJΟ&FxpԱ9PIFNQ7ksb*6Wj?'v uIO1Hy%\SyPie+U1:rr7'IDJ8ToNR>IkyQX` N) MLJe{H`. CChT$M[[Lvlc 1^4>=>-*jk8Td$y\8 r`3sS8)G^.|cApB3M}*ŗ)ߏM77P@ l")*m:փQٌw7 I63!scΒZ$c94hr5n5Y_(N)޷_ o[_Xeubt_A閆}L pKN6n .pF5cWNP[}&$i6K~&~Bp@dj^0-D"h HPPP^mL1<L| |)U|ZaKאځv(fD FuFcH|{H0: UtQ/_/y\܄%$Y7aM-X _5+|Ҫg$uhȀ_flRM]]#lxPc2na)s۹TCFQM5YzK#Jۉoc繴В1hQjT`BB\=%7U= ,7|ѻܣvJ[e;Ȣ> 0h<^G>AJ1u:dLs~1\x c! jPLl\;>-PߺvWNw䞠daٳuNeʖPǖE1e2yq2N4%!;`]JgM1J F`ۄt j?YtxNx:0㍪bVqbUJe8'aǭ/Y鈸M8&*P,!ق2lwZl"uKmtCw#{ NL/[Q; Q:?ͽa14>SPFTkBQz?{PeqF(F!H,NXaz&89EɇL5,Bw9F- ~/֠GU(kϦAi-O\n.ݞ~~V %Lx τ_^27N jSLZ ۠C'Q v|iA&;jN4Mu UVl@e|ft~ bVq٧ͲDdYRz)۞s47qxOF~}wy%H۷yh t☷ik+Gn*^ù0h2~X"3.4|RAe,a$d` #QѾAGc;ШS[M,d%{/4R>4vKHH0QͫxD8g}>ٚCl{:^QL:$Ĭ\|C$ W!-FO]'vOMU/^ NGLUnӧUuF0sթ_A:w/{+ '6v5AS홞L:ާdMYmpk\WGra\􈰵$Mat=[R쫐8etrύH㚮޹<ލU;o8Mbl.F. 3]Bxc0V ,(O-4LAQI9G$s, p N9%{ċ饋#KAmc*w/&?焠IL&e(V~_;%db%zr$`jԌ[ zr3.)98)KVhd'4|mSJ\m?沯萸xRK_u[rf-&y,mok]E8@'J-D>qTU+c>V)_OrV`MB Tǖ'ȄeĮpn/7t[@n WI$Va*DtJm^ҦpAe4\ULkGx˜^C3 >nf3#"$AQAAn3*w(X<Э*X k- S%ulb?y;vYgDrpWY<\!π!QKN=eu1rNILSMf9pC>陠b (z߉d,2@]P7/"z *H:ITxӦ^^W!қ6dBcMOfPm?`7}X6E>OJgx `GFϟni$ ֊>eۺ«3˳_:.SG5Hb2 th7c2s]r/C;xٻRI 撀$n{g(5sm5y?! jXƩ^hL.?"q@,#ݖ-@2\B Kjǯ6Xw7=y'\\|'ca#JPm%,FPꢏ2 by>p0? wLЏ|RZgH0tBBu!,^\6tzYJ|7)%)*31)hƐt4.e-`3k;@f/2iKuKb6V3kkI⚙W@;k=UJsdIį mk e j&N.Wul^V=^EȐe~OAuCvá(^5V~D|S$/PuAˑ&֐kK#ML'q֞UT(>h@F}5*#<&$xdt># ID4(on$lɁpsӮIm Lm_kq endstream endobj 62 0 obj << /Length1 2309 /Length2 16407 /Length3 0 /Length 17770 /Filter /FlateDecode >> stream xڌtk Mj$m۶'mnƶmMi̓_t[뜕\kf+Emmhh9B2 zz&ZzzFes'+0$@Gs[X9 >dN26Ig+HOC[N1@ ikt!sw075sϿr# k @ hhd`P52:Orn3'';N::WWWZkGZ[S^ j@tp* k` wi0$e3s)lM\ `(IH625027ܿ dn󷳁) urseh`hob`ne`awQGɑ fc![kk#_ ;>Nǵu2116 cg;:s{gm>D0d@' ===;#hEn[oO;[;G@osOG O"hjn'h/n-ct>&OL' $Kux0h,LlVVF70w1p+ُ.'aO׃dm? 3,F?.f(c3u[O/->cdl?62@csgp2S6Q h,oddlKמYm,zX.#ˏ1"6F-# +cYX h t{t6N.&0=)+ N/ѿ+Nb A:?@'_Ftb#NbIA|'}A  S>U>U>?O㿈#3? 1q#g_K_Gh#McS|o1R:;Gf=2s38,>d?8EtB||L?apGv8:I0|HQ1GP:~FHDqhGUNp?::V~T2~u`u䇫_s>>Wt,qY?T M̑쩥Qx8t8?!@%STel8 $"툐zC&*={+,Oc N A({{[vI;#G}ps(9_*R:K_4Ogm҉3%ʥJ;d<i4S&cz2c761&- a$gqaR6=-X & 8w[zt֞e w~P0*cX(YwO'R'gSZZ&0kM¯h27^%5}SvsnnJe"0PHl$#5Um =Z#ث*?iߘ5إ=\]qܭ %X Q,4#rGJj8K4i= =+{6FjJUtt{i^[osSn-Z8f`a~^@"(D$inl/|.d "ISVE uh/bTINDҜ|@s;blym8n_NWq͹eQ᪨К!5Ra#LR."ܶ`yGE Z1quhAؑ99J7}Tq5xZ=8;Ozn/Vo\:tUf^SӴE~TK̓[gY鮑aFy7}|~Q> gu!})NTG#CM`MYN!+f=.J|>H=yru<orȦ,5̡g"?v&.z4[_Q Z{>{ gbJ" ]=4IYCWTv~Q$ npÀN5{B_<׶DOPQd{fpʱe6@ 1}(w;i~wKb| rOe -we*]3trO0$AXRBR߻hP]E^XbsWZ_"2oX ShrՇ[в6bPMC52I`7=Gt`Pg>)([]@4Zo[D?)S O/ӎ2;x|d1ol$/,b"U.Pe8BO-YxI35NW\yac} qz~}/- %G]17C@>Uq x@4}B7  ظOPNfKoa~5~UAC*Lñl~rNZL^ї,[ߞ١6p텥:c I{ \ԣa_{b|Z]_8(ޣvSvV8m\k+&QM쪊aEkW&JHU "h[ar8u0_DC%vbSٿ/Z`l 6'!r87ѷ[R0mb'E(u<2r ހ 3'S8p ArA.qБnF?QHp$N!QbcW[x?3(+C܀`iSVc-qBD`w%#>(LJT*[]fZf'%پ(¥K%ɷ*-=p^M0qfl ihU$&:H㚶a$Fson v1n,'&> xS9;~0jl(z`]m#pQ@#vt =Ⱥ9 Ky`^ Y7x$񕯟*Aً50lQ<_jh>g;z˿&9/tKf_SE9CPtCr֫`"+Ip9u+ZaY^ [q)gѕrcuJ eaڱDfA55!-w&T䕆X&{i7C+WIi >Ta>TLâq܋*XnS+x*)+c|?=(q̀5cqKUu}]ߤ׼s$o2f=Ǫ.=96):8O4Xn&8yO(l3WAKsJJvrxxb6Y~Yϫ{(ّ WlT,%.(>=?'IdKzvU:eN]^4/ h.hPES6}iXk/4#'GXul[$볷a&BOSs\zf#X<-./5MǠiqiI6cAj!Ukٜ$P.D2iGKi,f 4ډ=Ur6d#/å_DCȸނ0;!Ydؿ 4VswlDy~ʳ)D 8Iv f u\dS}zXĺaHzq8zƩTVeDz.r?1|3L9 (5 0Kwk˫9Sa6:GS/Cj!%8F9w/v(?N%oi} y4) ?a5{IM ;O2,+ WAj~&}Y^_Q8@ršy)qѸ4'5/lHd#oXS=-c~:/'HEqNWRbouMhpTW^}Auw bm-c`:H1bEYPC)*d7rAdX@XN ziNaۥzSC#"FŎQRun|Y&U}DFUdՅ,w52$R([mˏkR<,IL8Pћ1 SAf 9s" r=KSs7wNiy9փg:$20}NbVP+v( P[1q}wo,Q> 5_S2ٶ` G;b@Ghlo0\`&5KگetmE/Ì R>CM~TЄb-.ED GgrF8%GA 妨ykaCbW)eȌBX]A@%0l9VxhXbxWJVevK5=)'$t=2~!1sRIrw}Yky^E: 2 B9C,IstX5ӘF#6AdP 5Q5)E tCy #>=SKM~u]✺Yp̍3^冓0S0v&>e}0Y:};"ă#FFs'1hr:~/. ֝[ fjv9pp }I=M|y#Tv8B!..i򡋃LîB)TOC[L} fSkhxN{<>2}PE[EU~:ʦÑZz z!?ޒXd]eHD8]`"FJ/J| 04bk&%D_4mF3{5˶υSǦ'2mIN#RFلN&!8.9Q"n_:>P9aO';Ro}oX?sT7h;ݕ16z,ͼTyqsgޯ5o`{,ބr?N\ OXwOeԘ>F~4]z QK]C|K /ФF)42!}}B_w`0 T2|Oy~c'YB2֓a%D "mCsnA.\34;,¯dҽ{(DG j.u2&.- !P!H3bZ&g褉%n(X'.ĽN'4Sw/Δa!ܙI%lzCk .iIXrNTZ_yd)XD\0~%&S4EXx'RTS54bZ+)f˲Ϫp1 5k{ni18׊sCޫұ$u]mm:*h DZ B) 68UnM6?od!Q(e>ݹBP@@1`t==G'T'p Hs$o`aK[A Qr לw{+!aL5{,*l+<ɔmհ7 Qu`#//I~8,[(lɘn8C~uC59­L4=GmB5Zup­` `Z tjMwT7}$#N>-_=b.teCE ٖϋYvh#Di#W}޼u="nwW]X\tZ2ĖnUPgjc8sFOeJ:$\eRڭaDR ܽ*'v2W?bswZ7&[gCA ~)rypثIKP؈nD>KH%XUC$Oz_w%ժT5ɈJtcaF@&ʧ Njy 栌:a1# ؆QAZ)S[BW2.Ҋ8LZZ#ھ1ᯯp_^i]ALdW_/DT<-)mBC!W Ƕ5H)#t8THfy]V ڏ,le7z1gm;4fb~B//#[Flgk}S,(s`I-"kL%9rs*9GM-.7mz^)' @wnGy Kdi.,*K;U$^^[CL#vf*-[6׫/Vr;$F;R4mg |dBE%Ia[CI7΂bU'jfF$@2_~|>F?k V)&aM}ewWyѻn&X=\J/ӟO)_{4a&!Z0jww4X[f垳i؍rDPFSU[AD572}y]m|r m.A)?$U=p"=GgF(KZvTQAC@1|+Z;nxJVJ3_I Bštw}ϊV'pTXH0l:=.S߉D^CZ`JC Z*gThcΠkͅe-B[g?!$# fy+P`:FW~fmad%441dS_$l嚲o5&t)/fqhgܤd5e~fAµMitv}A2&ƎU{h/U3,ꑁVʚ48':UUgGCZl#hƌ̢!E`eD<s`7sxUaA=nIS˴©k\$ 颒C}Y =4߱ f/)lbslӸsW;`H/kQ;&yMj{S}4hy~$W/cL{9L/teYEB!A-$`\6uMr8\َLU¯*FR-KDno#vз%(ܺ&C+_sϡ+i7 ђR&%.0Fvw#Ly`ܻML.U7PR7MxB]Dk].dz9\ݤМ.R Riо'ABoִV:]mTAdI Rl&pԋ5~9-hk'hk0[@m 0.'+ O$*'e nx,$gkixi}>{foO0I^Cߧ# Уc$"'@T%Wͳ@F3.ϫ#Z2#[uQ- s扈Ke.9yxsɦ֠bI}5{̔a(RU* g8B`=! +nl&=z(g~|L3_6 JDq:Ų8Cy=/w)ѮTE}sz-LYQ[px/zk_Lsy4\F"E!}/7YH "r7sqY9+囒`xt؎榢߀nڰ QqQ-ZZE5y+v΅B *鬍=cj؄~ )ؔάa4#bVovlSyo<؃!cG1sIw@ӽtm5FQn<:^Ϫ4PT{JSsr})vx PwI_Sll`J:]*K)QмO>?GXyXV=Am@ )Bbff`DGjC7k.w1w2$Fع,2}kzIm%䜼uHwgq;Rqfw҇g5Ll78 uQmR$քiő\4Ŭo$g"DMmSMܨ!BsqZFNW[Q^1kS@l_O%=Ѥ$6;F3ug'>?7]$h2A Ju;F1-gKSѿCalK<1,1P&}u'4>Y9v9+A;)Q PH2QA0SQvN#[KIbH{(v݃Ī-1N6DoзG\N p<ڪ\Ť~䇇FႝifMcz ݄Ce#M \O_DFG ^@dvHxtAb4ʛ3Dt5t.z ˍ4!)Fi3T%6~;*k{-}v~71f(gutnmcFJx8emӾ'vUg+*z6PNxO,-MsөP|F2Vl{|x[D lRhIL'xDpIEYzk EBSebM#*֘c^WU%9QA!id&0,R.M@6WV08g9NsV86)ob&Sb= ŷsb-{+zaqsĕPҦ hN yϮN_|?pSћ~Q.]1 agc8=ޣ P\nYG$Z y}혉Y/bMЉItK+/jT(D®O^6+SF'ݲ&;3?U`qi^4i16` h &fE 1یu[λn|ҁxn_a&d uT„p].~YX5ܠC}1F3琗oZb|L"(8ڻM>+ "eفeYEXoi@h3ʯ= ]͜~pD7ƳgzAVJQ+yc 3 tr넿^'A.(it A>w`FC R38cBcq6:`y_vy i >k{ǰ9ٿzш=7܍2quĻa Kz7y+h/rfmQ<#-LYqֱPU n텕%EZB#V,>3t>rԊCa®˗l-T ƴuvy`:`x44g[<ĊF^*9/im Ȫ`-2r˚`F+'Y b[cDflOƮgQho>K\7ւ-ﺜxT-摡 T.F 5i] :\j8whp6խИӐ_7"}in9I39)b<"6H mۚf]3|2 a{9%ISW.bcXpCM' {L;NO($SQͫyiغdnI~bR/܅*c_Cs9E+(LA|E:O='C-n ZwCSCU_AEC_Hg/s6,#:7u7XEq$G?]mREH3ibB'N8B2N; rK%Q\j67NuU)U^+S>3ـ(\"ؙ1)es;NŊKo^U|vF"f2(Q2Kpļ En 7ix@ӣYX1*=d3Ч5R3_ReI='`v;K3KU.u*MB-j/(W&qOcxn Ok‘1Yå^[h(5F¶bXjdHk4̄ϗWfJSm 1QN^׵; LZ!oOm}I{p 3oU)UI _ ʀ"UԸpW4떒夤f)9Aޣ|jDsAr'p{(_pD 7'):e\RWW `7{bKR݄C=; 8;Yߎ;FHpRL^y8u䂴O oؚsψgB:xAvFC(~( ]q#1IBS.!﵇|?*~bN`{vj#pK11i=H|+a-RZ"Ax{H&S?|5&;3eZn&!oFvB9(m*J/V4Yp݃8x5M_N -MY6wZ2K󇶤P֣XmN$)uGDIN4}NeѢ&9kt"\ qJ[i6td19巫: 9$lSɈtȌ3y.2sQ:PX eFNb derh)+ 3a^`۔ "J57ݲk1S 7YV1V֩/Rpկ?)iMA\pt:gTO9qlWDͦO[ 3Dt{Fp AC߈E>brVBxf0 V``,ZP\Nc6jף:sZ & IUWu{9_z_+PsG<{ӹ^B  \E2^+u X~Vb"WXkjV;:ҏ.@4!B(+ϥ]brD)0J"AE4uXƱ\<]+-69^+ɜ=~"P1+neTMGJ|a'gd#iPSNrX[+ n!N5r.b^zĈl%I#( ~R|l3oŶБ^EyIJpT^Yr II!1\[~ p>JaOx(4[6RS|_KܨN( ~"p#>E%x 8ryCq M<SIFq8ފS~*gi56>Ą ԺR&`|w:jPf w kLjP 5FTCXϖ ;#7L:w'%@.ZL 3%]i0׳I/"uLaVd-;KHٔM"_ĊE%{AwX= *0ZT@9BƳ3m2{6cs ̬A*N,QLIz ,g3M*ET#">/K1n){ b9#^F {LP+є;_M`+b{P{ȾUHz{^vmW3G'dAݛ97,DygLqq.rLRb9Lqȫ4 H7pٞrhPF,&!zWB62P"h 9?Y^ `)~q- ?/?X v>JBExW.xADiG!f EXYS,yY:+ p4$ct6ь{M^_Jԫ`8-Z!I| U endstream endobj 69 0 obj << /Producer (pdfTeX-1.40.20) /Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords() /CreationDate (D:20211026172938-04'00') /ModDate (D:20211026172938-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1) >> endobj 2 0 obj << /Type /ObjStm /N 54 /First 405 /Length 2535 /Filter /FlateDecode >> stream xZRG}ẈIʚeR2`lŃ,֠r|}NόbmU$I6# ~|S W>!YpC1dO_}g`):(.C)ZVMimcUALqZD/m4KU͑Ԗ,XIւ$8tGQ2r4ڒ\Fz4,dI5hBcT3Ρ7{6C#Ny0BSԚg 0<-$ɘV)k ^KVJL|(eueMKʑS)X@㲱oJ*[qiqĒl>T1-nժHI$YJ)@c՗m~4u_ucI4Etx n! KD/q:S%]nuo֎(3YMtJ-OHh;WPeo{vŧj#®J' ]Q$ @ʧt0]mbRDy\n|=Zy _H)MB m4s-zLXBP^N4E*1|hdșPe;B=*MeA{hqU\tVs=UdH˨=K=n:ps$`Ws1<*N,cXG1b9w!44ܘ b7i]T4K\ ȉVAq?Icy+RR[CzLL*b?]rl)X+؜aTz<EW!'" ΒZ2kg<ء9۳;'x5Z6cZ]X 7eMҜWKϧ{&*-uFkʗ QuۭO]-].̔Ǹg>Vq,]LtŲkWzpqb-PcIMo8?] k'M}B˝J] }~{y? ~|ȯ5)ol+oo&[Ѿ|sp\n4s^x,~.X wG;ρx#PD( Ϲj-'|]g89!?/+~ Ǟ7-xztޛ^0Mb,\~G9(FQ#ʰԤ$껮'9¿M}q$Ca5Bt \N7o;]O+REW[jM);βku@ fo_G~ T2XMugv TKXNO+J^On{;'ɋuQDt7:]+xj-)ՆE~i䣉qq\\7jSC{ބfYo9ԓid:i^gb3tuvFODmFÃ]ta*6ֺs;1cbm<j _Ev wE(bC);I4VtH{!voZ_r˟i?{ۭSҪq+ƥuQX[okZ 㲴Ҷ]e۶mٵ`}¸m͖mZ-ob-7N@Wvi^nnwK `˸yA9,Ltb <22277CEBE88C885F763C23C645E64623>] /Length 196 /Filter /FlateDecode >> stream x;NQEA!Ś!Xh#+4 :͗usrNq%iHGQ|<X+A 0>a6 keh6 m_cy؇=(ZyLw2JPC@uh@j5}jYOQ'g!m-~:v;kOߢNIna w{Ofx\n endstream endobj startxref 115638 %%EOF genefilter/inst/doc/howtogenefinder.R0000644000175200017520000000155714136071504020765 0ustar00biocbuildbiocbuild### R code from vignette source 'howtogenefinder.Rnw' ################################################### ### code chunk number 1: howtogenefinder.Rnw:45-52 ################################################### library("Biobase") library("genefilter") data(sample.ExpressionSet) igenes<- c(300,333,355,419) ##the interesting genes closeg <- genefinder(sample.ExpressionSet, igenes, 10, method="euc", scale="none") names(closeg) ################################################### ### code chunk number 2: howtogenefinder.Rnw:61-64 ################################################### closeg$"31539_r_at" Nms1 <- featureNames(sample.ExpressionSet)[closeg$"31539_r_at"$indices] Nms1 ################################################### ### code chunk number 3: howtogenefinder.Rnw:106-107 ################################################### toLatex(sessionInfo()) genefilter/inst/doc/howtogenefinder.Rnw0000644000175200017520000000742614136046744021343 0ustar00biocbuildbiocbuild%\VignetteIndexEntry{02 - How to find genes whose expression profile is similar to that of specified genes} %\VignetteDepends{Biobase, genefilter} %\VignetteKeywords{Expression Analysis} %\VignettePackage{genefilter} \documentclass{article} \usepackage{hyperref} \textwidth=6.2in \textheight=8.5in \oddsidemargin=.1in \evensidemargin=.1in \headheight=-.3in \newcommand{\classdef}[1]{% {\em #1} } \begin{document} \title{How to find genes whose expression profile is similar to that of specified genes} \maketitle \section*{Introduction} In some cases you have certain genes of interest and you would like to find other genes that are {\em close} to the genes of interest. This can be done using the \verb+genefinder+ function. You need to specify either the index position of the genes you want (which row of the expression array the gene is in) or the name (consistent with the \verb+featureNames+ of the ExpressionSet). A vector of names can be specified and matches for all will be computed. The number of matches and the distance measure used can all be specified. The examples will be carried out using the artificial data set, \verb+sample.ExpressionSet+. Two other options for \verb+genefinder+ are \verb+scale+ and \verb+method+. The \verb+scale+ option controls the scaling of the rows (this is often desirable) while the \verb+method+ option controls the distance measure used between genes. The possible values and their meanings are listed at the end of this document. <<>>= library("Biobase") library("genefilter") data(sample.ExpressionSet) igenes<- c(300,333,355,419) ##the interesting genes closeg <- genefinder(sample.ExpressionSet, igenes, 10, method="euc", scale="none") names(closeg) @ The Affymetrix identifiers (since these were originally Affymetrix data) are \verb+31539_r_at+, \verb+31572_at+, \verb+31594_at+ and \verb+31658_at+. We can find the nearest genes (by index) for any of these by simply accessing the relevant component of \verb+closeg+. <<>>= closeg$"31539_r_at" Nms1 <- featureNames(sample.ExpressionSet)[closeg$"31539_r_at"$indices] Nms1 @ %$ You could then take these names (from \verb+Nms1+) and the {\em annotate} package and explore them further. See the various HOWTO's in annotate to see how to further explore your data. Examples include finding and searching all PubMed abstracts associated with these data. Finding and downloading associated sequence information. The data can also be visualized using the {\em geneplotter} package (again there are a number of HOWTO documents there). \section*{Parameter Settings} The \verb+scale+ parameter can take the following values: \begin{description} \item[none] No scaling is done. \item[range] Scaling is done by $(x_i - x_{(1)})/(x_{(n)}- x_{(1)})$. \item[zscore] Scaling is done by $(x_i - \bar{x})/ s_x$. Where $s_x$ is the standard deviation. \end{description} The \verb+method+ parameter can take the following values: \begin{description} \item[euclidean] Euclidean distance is used. \item[maximum] Maximum distance between any two elements of x and y (supremum norm). \item[manhattan] Absolute distance between the two vectors (1 norm). \item[canberra] The $\sum (|x_i - y_i| / |x_i + y_i|)$. Terms with zero numerator and denominator are omitted from the sum and treated as if the values were missing. \item[binary] (aka asymmetric binary): The vectors are regarded as binary bits, so non-zero elements are {\em on} and zero elements are {\em off}. The distance is the proportion of bits in which only one is on amongst those in which at least one is on. \end{description} \section*{Session Information} The version number of R and packages loaded for generating the vignette were: <>= toLatex(sessionInfo()) @ \end{document} genefilter/inst/doc/howtogenefinder.pdf0000644000175200017520000042535014136071504021336 0ustar00biocbuildbiocbuild%PDF-1.5 % 5 0 obj << /Length 2132 /Filter /FlateDecode >> stream xڵnF$4p h$@PE-6Q2mPdl'MfymoBUܖ켙]b~XI2?l_?$.ox m?mNkg#}i~u+"6WH^ͷtBhUimX^uB pxkYfPYJ-3L3?1syK0N3fz- RL:[Zʲb S;B)I=*gr#D-cXy6o7-V5fϳ;$=$ ̿"Rkw Vv +TO`oȬЁwkl'"x ^A;#"^a{"@ovzbĤ1\Hwd**!%_Oz|LYOMH[!*#mqKk"D#Guc44 B긗SUG$s aLRWb0ٍvcUdcߋ2eg+ H8}Vn(|";l;qkfҟ&ˁyёY##9W:rd&GŦ!0o-Wq{ْg+=$)l"فn~ТmEww ⍼׉S~[-> h_olEݳڐ̭߄+Y{Q:xS|d}3LԱKB⇡C7TUBYl$)#8nY*]C}3x%W*#z\V0Q K00$QdR !$عdEdvN+;I0[$$Oc"`2K6.8F)曖q sm(8dAv]mAhnf-X#+9D:鰠U!(U$]ufRv1H*'&0]죘QZn=CQǔ]YȐ8tbM|J4Q6 p /+Ʃq`UcB6ZcĤt ԹS)zO(ƫXp*ƝjK.\H~3l_+KGel-MgjSW-:4F(ӐBD'Qp]ȯKo{ޣO [jlᆴI`3]~,5>"ݭ0TzA֨+u֧G\R\hɧG\$([mƪ$)mYTjg7V/Pw"!w~q7I>d޻;|køA-7|B=n`ݦ*]B^. 7p$w3s:ʞW9sEo"󥤷v*c$!&j@֎&B|?÷]HKjP<X`')̞FA+&;\1{71O$)ȶ'_ȓzxg+mJ{\‘>}ۃW޴Eʓ: ދc}d^*>I) #AuVl%l.vI /P_Ab:8:\kvfc]^;sz%}(I.] +:.?? 8%inZW[=Vi~83vjJU&ziͦQ&bS};\M1Ee #V";rۓ~GǴI1Rش> vע>lsXbɫ\O)=;\=;^>oAfàK"#Lttҥ͍sPDZnr%S<5_苡|t=uw۟p}j(Ts w?T 0 |*>[L&g'%T*t$ VYrr4;-n0Y1ZC&IuԿ+a!5\E=U. 4$/c9T@\EOK@bB@Mݱlx/d>ϗ'\AYYqv;i[?NLlwIQ/Az?wDIQFa endstream endobj 19 0 obj << /Length 2679 /Filter /FlateDecode >> stream xZYs8~ϯPʵL9|BJGQXQZD"+hz1}KhL?Zoh -5~:hwפXr0o-cQ4H)$ieJ2+yd$=?Hد(OKkn66v u׹gID(ef8 Txrva:p+hUݾT> ;rUmۇ(A.p1niiyV_9_E"ϥ {KC3[k#eח5.[7eS I@*qrvǃ$f *[o~yD7I)@;q rqזx>$ɸܰ{$ jW_v/ZhejSk| $ܛ,hn, m_ݰq(x[jmPDž%_LǯreA$  {vdHƤ;<Ti(̐v%sy3. 6= uD3wkCgKB/{Vj2]bw5,AyB]CeΜh#_" }Tj)h"9&2,bY (=|9|=jYX $o#tԝ,T3ZA=yO-tÍb2h P\ p⥒=3B1krw1u}g4iGXFEm@B$ė K8BDQf!XmiЈ.0\Fu'NC\Tz2&CAL6L-tE" ;a˅1"؞vE٫:+ʅI&W~vugN40XUyZ hKcVH84a`L9UdF03R*g;+ʞ9[X k Q\=_ĤI=ՠCfk*&D dGBg> +߶_q-8hU| p> ($e"Δ-^p,/bTAʿG9p=ѻ )scszcHTp$'[ҝkl4*A/3{G~[M jg]cKgzMPg{؀߶7/s{#8ni8(#[H0L+҈tAgH' A6,D8{Q3o6 "VNV~Iه{`'mDҦu 1Mb<{c^=\("m!:ѥ$VjoѣڢGˆMkJf {Tb+c=x ʋ־\.π9BiSv+ G]1# bnu^[V֞:`7+ʆGxU ŵV4\g)էk> stream xڍVn0+|J!)jnuQ1M-/l&rfHkdЃ$.Y޼jM&$%Cšst[l[ҒXѼ0{л'fZ-Ʒ;PsK43]{3-[AD, t5M:>2PxGTR| 7: iPOb ~-I@ Ѧ,bs_uGzNIې ǤI5o92??mҾ9/ '0P&UC0EhiTo4"ɶs떝Hw?(ewj>UMbpA dm98 +[.:'*#*kxwmbjar1dm@ELdhr:̜N mE.r%U"Ў7b ,  5'2/Jhx=+zSp")|@l7\#S2-7%> stream x3135R0P0Bc3csCB.c46K$r9yr+p{E=}JJS ]  b<]00 @0?`d=0s@f d'n.WO@.sud endstream endobj 49 0 obj << /Length1 1686 /Length2 9672 /Length3 0 /Length 10744 /Filter /FlateDecode >> stream xڍP[]ܥ!w ŭxš8X˥9}w2K{J]M"scd U8 BӆCB\\0? ] ' NPtpr88@(?.BPtA\]6nOifp t@ @fqxP`qssd9;X1<@P{œ_+$5)ursew.w]YJ;:8@`n'uݛ9z|+(wN:0;DA'2kq ؆wxmo'_ʿO:9:C O辮  ` , Pџ]^#Sq_y2yj/KG/G'%eqOFg*ig4?XO] 0@^ rQoM$no/G r{cԴnO4m{h-N 40kl"UTm:g ;B_*6N  ltq>5_*wJYq@.. o#~"^/$ZBja;T?ys8~" C_ziIa/ 8upXX<?OyŧOy.Sd?>U/r=E"{Ou6`wy:nB F_s 6t]K{mme0.tb2}uL]ٔeX|koF H7KԜD_$(ٓlHM[߃nB;\"]zyoG5)aܿfՉ1,+BBFʌw3{q9?HȂ]k+j6k/)-! n"oEYW<I_tI_Tf({]uz&TP yZ 774ZIp,}/{uzX8pn$'0jɔYݮ <,1"N ؚSr~l7*fmQv?í wXJs3P n#F}-}yb_d~ \fմR0O>pAg(|}I09tʮpKKSk6 }`r-w=GՃN-V@F5즃v_M=yL:vj^ wo"vqnY#}|4^_r&aDT {b@j iltNFe+ Y 皒^=/V@0Nb.?VI)M.`Q_È3z]uxǘN0'1~ƍ8N*Z 0= 9 ` o@eҝ|7[槣) 6-IvOJsZ͝Ro` "۾H!"}+ JmSȂHl˭%WiEW+Xi6?ۮxxC?4I"M@ެ"1Wm$7l}x>i5 vbϓh6FiDLp% ݝug&Y F{6ǨfLj5Ic3-bGEfίx%؜jAhG[ap1;wc`?,C%՘Jj)DIu=(aT\R-qUDMAEf9RpG72f؇ 7jIGDD\RRo`†+w D#::"מ} ?.a4bi)(dDa VFzab|ELOd:)/AT7e{߹ۆK>cI=,W ݋.JB>kQbS+OD+QU=bGP /o'KuMYKF=B|1qG;YNƏVb\$N<;$GԹ -\qnEds ?۠2/uL"/t V2bߐi2H֪]2Ïkd `o@BDzеi%OUz5>Zָ*tk$^X;v%s!D#sz,n2Nx _7sџ6Wfi兘9zJإ^C<"(YR  ,P Ք%%ƢH'K5#l?] phF Ypy D.kd?|㺟_$2%[3}$_6id>s|X:Ngte Se=T,%ps(Ͱ캾TMxcb|BO|M=)-CYa'/+Ni;OYsf+ ހ|887̥Am0Kʎ)@a;3 [oI}V,gTUDט{ &bAdKI^*^$+f|c2PzNQǖHW1 FFLB%i $wd?u"O兙_ztI'!2cM{ |(,Q»SZb9K@+^ЩEa=jH-C]-F8^$'pdؓwʩvT2ޏ;4Nkʣ%|n_֒QOlmJ/uYR hpPzcֈ]vGn]\lG-)xe FdY8+SB f'T+b&gW as<ҙ'fgP zb5N8VᕶYy,u\xȀ4%P䣛޽cgԂ_=Ozъ؏pK'8"XaDscxv͕r/Nzq<3\*UIglҞ''ftlX*WRᡒ$^?Wmǵ( m.2E=sh oבˁ xKGh4 4=stGdעC2CU) f$ʇP}#,7manx,M˴u_1̓Ãw+:= iY? _c!;옄~*Acd)lPz'-D "%Rj]I؎G0r ީ8Z6y8 #'׍ kW mĩ f&U׎b[Va gu"gvA&1.~}7>UmjiDȍbJ$]K䛡)|d{U6$"h}%Jr)XC B MfSe[zӳHrH Ӿ3F)G2goϜK Pg-a.ܨXԻȜ;=*F3 9BWd1nB ),|Iɿ}Zgpc4~aؗF;?6=?qWqt9@ߥ|O@EC9e7 q`fxKy'zg_o_$,uDn}V8gW)e=ރy?OU`SaxHxA=G ghVoGng:=a2aYzM2 i-1B@.XxTm&`Jlv7=UG)FA#aɈqd CN޻Z$!k9] _M1fXNJ E/~a`Nl$U= pWd;w%{2h9f.bQ,'!pOv:c*w?j<{X˚QP)R4 0 _En)׎[9џ7^IW,W+^)yr%( =bn]wT_[g;?_YE7}^`5fՓ1mjj]'#4nh6kN+pb[Հº?z.^ ui~uPf%PK?ׄK0)4U?A#bXjoQ2H;YQFoٻ\I" {$e(ҮgϐnL*k:#1h!0~>S dT:n#1 ݤh/ #TSDMe}tdf3+~@v[L>H?NVqȭ*TT30ͣV.B|Dj# g3泅kwzUd;9Cs*,(`EƸl2r920wmЇY5P˞d #)yucQi*0c -(^4N^dѥ6u@B{ n1^5YɂBXM\VzeCEdKRqIK,r)tL:]=S"t֔SKo{7Y|Q5fԏPF8(Ԇ=(n~?f0xBC%z@[>(}!.Y-sUK+a9kAњU;Qq_n[ 4m:N| ĸԈsAώ $7VQ[s 6f9zM _1xld[jGw2`.&D}7=owEl%3|^Va8wG>%4&.%Ge UBjz(޲jȔ{3TƇBlG-DQ97\9M'w3plۙ{?튍`B+<@X2;"wE EByl Qly<Իݰ.c1 ;yNݹח֌w  ִ>.jQ>N1Q;"ܠ.х0;TG0s:=%oIE=ʸpQ ~"OOn~gJ  0\g3zkFf∲.~/2;2/6|HgM? /f2I87 rb %,fɢoP}j_b\N&3)Mvι3my$ kj/uZwX~ԕ5 )=jJ([Y Yb㮇vmKSflGc&@p%3G#Rc$Q08F Nn~f_ؽ\!݁"UxyE5V=&5kOgSLJ7.GiDT^z^պVSX'7Զ4KC Ao.,]Dgo0`΅<0K%*.3O*A`ϮHZD%Ŀēm3))TZky*8l0K f5҇4j1sdg/ cM&C5v0@jzq"pxtW]PwXBM0 QTCHF8!ۍq5w-; _U}gWӈBZ * gbALu>w;El6s:A6G2GBqePzKL5ʢ338+!b8/՛L<'.D4ǰWEP5J B@|wIϩ$+Ti$>1d&g蟾ňBZ~)B}X ߊN49#M{Ѳ*往*5:5(jid!zH^eM za/~W~tZks{8PIMZNź6GgKEx j/SuM~Іh"c("n\43YB &02X]څߝ4LWkqIۖnnd}xG& vp \Wʇn>#TLz}ws࿽˗H~2LVvPZ5N|(+V,ZC2_ݐח pxԦ۸]?q)e@}Jrv$7 4ty8i_S]s.YPsQULES4D)&ͯF|W|OqەJ㑘ዘ|Js4xB~&Ig')c=rѺ[&55;dMOWp0덏͒ƲPVzm|قB ^0 @'5:q?q"61.7 b{V:)2dg5aMZg2ޢ9 gPڙQ5ۖTl+RDOR4.jƶba揀H֎> .o%8hj0ܵ3AƢ/+( #x\I endstream endobj 51 0 obj << /Length1 1384 /Length2 5931 /Length3 0 /Length 6879 /Filter /FlateDecode >> stream xڍtT6)t(1H "ݭ C0"* H tHK}{y}Yy}]{_fg5SE@Up( PR1@?(HnC9CC0\?JH(ucSnZ8ࡇ3$J$@ (7(=a-~CNȮpAP7upB 1(Z`" 0@@`P?RpJ;P^^^`w~^C9P'kd6g4~Bv/FB7g w BuM+X//@+ ; \\p`stT5Q(^n vvGă=0g w`|3!H+ʝkF_inYnpqQS!}sNp5UW1fEDb qU ep݌Ao>hw'Bz@ ( 'w3#a @_V7 E} }&&<FSQ @ %D0@LLD`؟F#XnHFݳpQ7ԅ8tKr;G_YWwGο?qC]ԍ 7b7v07rP;k#a0o. q1ٍ~i"an/ߍ N77 -7gI8aKh"0 !9曕 Q-7p&p3?$u@ Fro{[P7B85H9V5V*[¾b=lIU2CUK7?`'̶9n⤺y^]j5_?EVj]YdѱB1sSy=:BSBx`٘l{{tGRN ^$ع^Y<28DhtuSO=5W?7*ij1`Gܷ43Dy|4RkT % .)'ԝI#yC;Jq!(󼃓[C uRU\'s.%N|K^pzxz"+8?[jtCţ\fPн0?Zô͸;- I.wMR`pئ3YU04[I^/=KF^Q6610]:!pI[Q+gGX \qnJQx,J\ΐѸJ;( Czx;gEn9kW )x-v#x6 :.M݊rAw6Ƽ?O(B[-FTk%9ڈ NW^r 2,t ڃNep/r1;*ȒZ?W=y^Z=$.q)~*oqt2;wV[nKhgxM|uahJI]?ލ[W ٓcFR뒃2VcL[/oFn<-}-ܶx(1ITERɤ=oj4) J;pv $zogKӮEdrR2KOcFŧ鏤ʖ)r1϶NP]ֹz U?2a̚"c/.0Gx ;6Gis`ZJx}< -v}rph+\ƥ+QBiYߵZ1\|#G%*꜏f,nFZmYn]G!ɔ ߔ{q KʰV.iq+Mg~S8\}+t`י5Mm(Ǫ'69NC /W^dӾsg`q|=zQM1TxְM/fh^^%_i%8|Y ?zPT,nēDIvC2k[e<‰ )mnRb95p9,B)Es+g%{8q\ƟjryA@s+F1%A*9 QB?1^!<}MII8"ý5D_$_ut]Q:JҖh= >xGlꛖKH%t ל}ma[4z fX )q"AKo=T9)1QYgxrxG>@NZCA}YyF'%x<*>0BsOzs,U VIIUnm {84kъOy? T{YKVʓ{J9==VV4եwo$nXX=V6, bGGZUlY}ճb_ϒd[|굧qD2MYqiڥp8-Dە/Vse~YHXmZ@vd"yN pRمUIu 2;( 36 vN5%;׶/W*R/b#uwcWYaX=-2%P-Wʈt0'e %/-۶μ2/c;[ a=RQOQRL;#aw`1ћ>*>\Ւ`z~IPʐc3/VsJF|,wq= ?"}KI }`B.{ (?uJN M_77-۰JEB2U^Q>*սuI ӱuoZY?yce´\򠳾5Rf&ڨޥdWUv9c(#;r!ǩ΄:6fj?競+IVEUIT6O1 H>!kMޖM{8F&鸳BX+FT^6Gu9ZZq)_PkG cY̸$ jL)B[څ3'8$3N689ԺPwR߱6Óu0Ukݍ:i5'K"iۧ)!dPF^$0l882Q,0<CcJRgjT(!80UWJ ^,&)OxLη0́faY<Nf{Gm`jY8nҒ󀺊XEM~0.UDNyY{6m xOD6WiɱN Ǐd, Xcwt&iiv 5&^ojLϣߺ+逬;8 %uGP$lE19lJHXn TV*0f!p8?!G3n[EpR-r6<|&6fa=HDh3!fal]bmryj]qJ#%[+5A t%yY&]Q+vP `_Ӊ8ley*:$G.T,:/rmIܭH<Í(~SHPU[d>=B72Vw)qā5bR*-NSڵ{(IfZjg嫘4)TgRfcJ$"Lҏqʍl2,T<:4 :W^Nh_mhOq/<;{6A`"J~'V/c 红c:*%?;@UvgT" ` fAE0/bR/kO3,ژiٌ_'ۯM~@/S UŨՁ\Da)ܷI@+_ǝ3@?Ȝ k),>?~ZyYYWsAFc>ҾRVJg`]8i[я4kb&x1)?#嘹G`%;u`%뀷N2#|yP!4`m0|@*KOblwP~֭=RmxҸ&wM.Xs;"zMStubM6lrEĹ T.h!瀮EdmlvJ |Oa ۑk;Q.ꊾhf, `,wzrX@ok9h5RR>bط2c:+yԼ º9'|+-$5ɾ91f+ݴz,wZH2ӑ=y}?MM_YϦ8 p@c>i$8&㗼?LJr}^߳"Jw#3 _C\t5^{UhPAQ}εcϗdWL/vu'Al&xC smejnvlDt/2x3[7* Rz'|)Ah|"fYI,} gi'vm7͈]%ʐجn䧚ɗcc;F YbzeB  : ˳ej:6ʐc8yʖeh.Rz,S1bR> stream xڍwTm?R%Ҭ <ݝ , ,tIwK*!(!*R!9wsf7s\y뮑D` )&A ! NNc8 @(a,^⁺H@, Iť@ $7@<]APp*#Q>h3K7PtP :;B!n#$#3!A$I: aY2@S 'm0B:b hpCa >wiQ0oo?3"Qpj:Xo,?p ax'~) ԇ(,FwY#g1"0C3?8şOs]H/ߒ# ( qWQ[DA ueTkE!QG|0# @? (`ÜGǫae|po%O?00$_-*)k)_F%%7W@X $ A"qqB_M#3|wΞHgBx S7ӭ@ (/F_wse w1EP3Յ9U " Oi HQ{±Pߴ79pnp.y@ ꊿF0xn6A0jO桊"~NFC|(K_0~L`޿ "X _?h0Xx q,C#|~z'@$] 07 Ja q i?QdX!N?2-!.&dOk?U VqS8ʝ{\#r n?uqpi2T%6Rt]hnry>#~O+S m)֡g4dm4^c+{\RUd^mmcDj^AZWqaUYTD.W<#s3^Vaӡ|'Noyygwr]c x wJSJGF9| g'jK:Ęd5^U~bu [q_;Mu7ny#gGca_5˪|<9rfC'̈́,%ҝۍJf$CͩzӫL?\.8ʼn?TFg2 N Ќe_΀;ؿ.e=FWTH,`[ʏKlez'{AeA1'MLG i.'}r/˵j+F Zy};ӷ-HR/ﯼM^W/@Շtq1 {y<̓_ J>'̴-{ݲӖi{iIM;fٿ0.7dX#axB8vZbUNh#grKC-^US5.}gkS]sl^PK.K:sq#' tgF\$iPS6-Et}w aj S%&%Gx dd)=s緉On%P*.mВ̜Ʀ'.]2kB!UN#:iԟX[z6ko1HK~o&WDw7ŐyPy9 ȯ^RlYm yd+sz/-Cñ揃nx`COiVǒyj$ 'S|ndc\Rmۨ8ę䴅.M+(#W@7>:ӋED]R)3sK;X,(t5ʓYꂔZYal{WnWjCWm)(~a-emy9|S#dRX#j tOX!yPB}|t5d!E>Ć:> !"۬<}>V;>Pg"ҋIwP7S_id͚bk0Lx"'B5b.u Gv\#ݾy%Ιo|Ұ'\VȺeOwb`hRқJx R9A*r7_?sțe4n𴶎pPUe+eI:%w4% h/m{U.?&ĺE/;n|gX^eƵUq0%5+4 % 4/mV%stjsXg%}AfWHh%=nf16&흣&ﬥ#,. g'UTIOI݊adaA7>0fʍl1x=?qY*c[z C7Vt·^KF0bwaw.wzrT6$֢9v&vro5ED3O$I>p0HhjK~@nF{Xeɐ8EE$ɟZ.V-p" @l ?<8N>rwJqoǍΥgD&4_ȻyO$?; LN=^Ze eMf+:{A` Qu1%GGkSLuE}̴pKi\CMepW-: ۝y柣`+fO?Z`2k*p9o'Sanv3W47XmyreN¨Ta@E^)/*D?DR x먼RLjzp֧WƐ %۱{UH;"nz*#|&'1=c?jvU-U5o_[ . uġHo,s+=!FjQLͽ TgYc(R2ےkEK׿)՝ P?kOu-^;}V=0g[{m4d0rIKXTo3Ig:o/g0%un0*\ L{WwO}U䀝r&sN1fMJI 2C+wc8PD.^=P>xHdnI@Iq7̚E[Kc X Cl@ !r_8wJQLA5s3iКp#УRd|__|rp}^oP}N3sH;orqz:Sΐ \l;*5@gLWe{mʝoVg%'067/Ȯo2eދRFg<*?d;c 1轕{ [}@>:O\u#~;_c+̜vS02a×N aH;6MɪlǷʣ7HkL&w]I*Sq]f|G}`&&r~J7>,{e68Q՘ Fa9аQ*Cs)CaG*5uD]ykMFp(v.%gIA2V:JA' bfmܺtJh.Bɝr[= /mYoqF GdWUےlRyܬr#Շe |o]Ta01z0- tIv aZZDWuDin_眭/@$29vmLi=2&vIn_xvE컜Sʧ +N4 a:5B;ݺt4wn ?n` 2a)I3gyddh>mHܫ~b uNHhfR)'PMf[Os@)QBo6,Oܑ`bC̚gQ#qBCЬ;eX[vtFRu$gwMLӣR׏d%9/dmK?tF_߿L^8n'Xp~RM_%'(S/7zkLz\Ii.OB}v*һc=?e=pz.+X@w߸U!UXwދRۓT  5UeK#nm_5~es88|ϒ&m"OaQu؆gǣ=,oL(JFS"4urN +gCDx;:KDyUa3QHPQ5K{·d'qoH׻5\9б>n?Ulp SOzg4M#6$VRbZ ,:~.u.ͣ[z+CƜ gݒ/GSSĦ\Amw7]V{B^xU9+o7m!Da.=$daRPLKh<9TL2C0WX+ vG bB>êC>4=[^mj|\i1&7*5;F L_,2ٜ{{.q=כ\tLpڹYF !1y+V񕥰b)bAgنs5i7?zvʛ'i讳m^†e N7(rWYOD۪ivgU^wCaE;y{ F'~Z<{V̤t&*2<éEYgE_S}K4fy As1ǚO4APկNS? !I*qJv^%<>6i٫YQIuݬN}4"ϋZnzec:rQV}:x$% %NEcLޔ)|#Mm d`K]ߊ9cNR5;W<| e)e=#hfLU~w7L]2s~r=* V3W.\0_j¥[h\LnRGuCRM^*f!9?e6+ݳTe!Mnb~5P*␽cb꼯Ajj f0Ju{yJ1Q]-d\#A羅/w`^u\<1K /6:5o4ȘyT Ǔ ywz>S?!Eg*T$q=|O_Zt@UP0+viN Cqqf}}1% kۅNLёy c~Ű:WP),0\jԬo8Mǔ1'pNb$.)3ӢFpBYWNZ}5ғ((ˉxdD~gyОst&%vuw '\?ɀ+E?׌2n#aNSe!m`y. Hwy5fٻrI0[w|lkPH4¹}mOSPs;Sy?I30hZqP$I!ަ4x.!|52LTNnՅ#NK6PݎsN~uք/ڽ4:>- JM= 1F 2\?Qԯٺ-vi#<|'CפK(x)9ך|ZϬT *u;QdT B9y/Atnꤝȳp= m Y{so(J{be[ykV L#Nĭ+3V1^'N-t `4كLU)Θv '; :_G\@nT򫜏?Yqqw_N:b}S~wxs-[x8N{nA)֨rwWPi e&He+xpz1K|y4HY&Kq8:NlݕV o %t0PyI@Wb Zv-d%wXAYNGCէ`\LVwoXS|ɼ_`HdEc­cvi4$ϝ6s2s"Wgw=nj:rTʷX]y֖K?toĴR16zfdH ׃c; vȫwzI+6ѩpe} tMF鹗g|#'^8͂03e9{/ε5tF[w\ meGt*EUYW3OR=Bf|(_6@ 'eNdJ2ZU\o7n xxnX(uև^2[cIq^;/_J/#ٺ|thޮ}TS-Έ1ii@&e * RotCПM+ +/YSK8Zt nHMG3,X O C^s UJgq)|Z -ϝT*x(Xwd^Q /}uDoTC lkaQ~Kq{J) "uW}N?8^4YQz:D1ǴDORݺ tyaXhE*xs5-pA~rXruBP̤P23H|P`­ֺ)S{:t%mL +_SF6nG~˘wzezK:{k_zDj+7=]]~jұy:c-Lw./μ {]:A# endstream endobj 55 0 obj << /Length1 1415 /Length2 6602 /Length3 0 /Length 7573 /Filter /FlateDecode >> stream xڍTTk&nb蘡Ka!fi$))FBiP )I);sZYo Z2pk"rg_n 7; [!8u8 Bb`a1 w[yAm<8 Cc `aEE~d\ P+@ qAhc Ѕ@!`p@ \xyy\Yۈ;6w^P{soK`d\qc#,VusU+=nN|θ['ޝN0҉h=|s_~@Hv>śLQX%SM]YޚzHoC5o%g1/U%/qk~Z& U 8dD* `,_z$~L,d=,i#kp#8ve3~ӳP/q:[SxkwOBUNF(Cu&J+uhj+k4t``ӗFjq6޷ -1ؾxR>Seqlɭ-TS EDz!dȤܨM{hu"{$Z9: OmWݬT+P[L}r<'|*&Ȳ鹇76IJ-ʛ%xLϗ6~>Hf}+2`9h-W:h葡3A8׻"5~- #Xȱ\(4*`[0N~=RGi=GUyY?QlOF ?Q^' [euXUmUOW<xm а(8d+ +Df6c69Nb9j!bAݜ𢹸HCIÿR?5&e2\$j ~ϝ)*Ql@<ϺKn9Zy6}9Qy@J{̀~|hg?ʾϘz|G)Ք(p7N pXb" ų&r>( $ :7w!ǥ i4DI$?ovE}GvL] .xB"rM0".λ8ko|)fix񮪁1#Js;|ڻe>=&Nk^QDHA+屉ѝ햰ܓr\C3plu /{. OI,ѳΎ'c)?J/Лdž0t+B, rmN]#;{ ߒEޜ pSes(9%]D`?]o6il,hxn ΉYH FvF~!!#A#u##5h2icj:X|pNhhƩ B}.Zixgv 傠ʘ9 z4R 3a I>1̅e[r/E74Q! WMım0=h/D};.bh]4<ɱK20TAX~p%wI8>m բ=UEM]bz'ym_~zj,6CLbbd=YW??>Z~iv2׵~ԆLVVH)ܭ&o VLJDM-UaF61Iͅ{R{3^nHdZ:56HII~)=~rk2LS˴ڹ wл0bӮ%?!Xʱ*>J9 Nf5b3K@/ }jM@b{% '5Qspys^I,Ŋg7OPuqjzeLbufKn=g<%Iv f4s*>=||SIѱ=M0+Yc@mKLC5X~7d[< wՄ~2~3QփF8ooZQ³J 1R9_VsS纚4I vW5^%+TJ{=\Q54$P4툀"Wy~f4'JPa ioVլF~%ee- HWOr}Ъ̡y'37 z$57/L[ MY;< .$B$?p*(?je" L_Sh~I۵ܳ6I/1aG)tm^ŞRҍ ʇnu:Loٝckay m6]?ɃSVp-ެ8ԣ;Gt.?mkw~b82p꼌N,#g$5|F"cfB[`r4(#pK,= 6=0c}w=Ű43iW/"6kѿ\ƎXɨh=)M1ƙl*$aݓ? Fc6 LǧJ*V:y၎(4%ػ+" :\@BϳZ~6V0M D[d;x Ϊyhaa&݂ "Ty-GDvL]"ނȴaql Y LY|^D?gӳl(/S_+_YzŤ;O7P>V g}yaԿcWUsX"a#"S`U!m}ܢ!{3E7*?E _ӭgj590)H1JT)Θv+/Og-zĈ׳c u078HP՘ΒQn$/zuUӵwbXX7T]3J c_v-'ieuӄ[\ _.0?v>puɽ eq"o#SSMsEn5H|z2K;XΖR<9ׅyJI*d|ȋUM%~2L+iAcHTÚMhb0Zjbܱ l`wA۵Šy3z1K1;XsX,6OϦo/*_romJB:m[QmѹRT|fjۺlowK%H#D$]k RN:7t{iҚV H$f%T$Ekcrh>V LrQSEut" lV]>c|t*"O~|gW9e6 9ɘ{TUK}A?23<Lc-,\O5/qan>|4WVH.̼`56KfȬ@]ˉׁ2{McpٜP+3WJ>:^l}7@͡<7mSuݻGا5˝ԟ5+1\=rtZ:3'Ժu/Bfè aQDz4ę@DYJ0$UpE]y'NvILͨ gj:{PUU%{>!˄m\ZokkbXNwU66 2:[?eIc_: <ԉhaq RR"Y"5䔐ؤqGk^4UķwVJ?SwXmsD5brfܪZ*S!y áq o)#;ptx&B]®,\Y1 ۣ'nn&t# - R)-]EϚ3yi1Bl w,3U* Pgc+8l nwa#^{[K޸ZWVs٫.2֯KcH>kK:ڝ?PD P>7kaQB=[%Ȳ_Y3KG1Hqq$jߤnYP 9x1%VeV/0N"p0kV[s+X< 9m% >b2=~\~,&-;~637>Ж7z$-dF?T*#ꔠ 4=Óʝ!YP6؈BGkg؃lGnm {)8;m=V={nXmO22SPBVw}qO4C Əì* f?0DMW&Ww\aҰ%#qMFU^~q)2@3i/6q'cDʫD g,Qu.7;SՋuCg0ʎ`K]'-cyh4jWf!kK FHiPEӤ.*iFOȓ1`ZhW[ʜ4 :zYXnUҺ>|ISL]u4dOr"}u 9KR-稕|R|}ts3)/IާTkmX\L|jA[[JoTI # /{fڄbЌ WN_Ӈ=&P˃#hHǤ]y5{A:;^S6(qVPBq13R;qL޸,̿ajpdgGỬY ǫkHe_{v 맼Y>ϱץ+aaٸTL:M{E(D5ňjXDbyQ$A%aF@DO!wbسüc1^ ն u c:3LSxL:&'WZ+/F I_} xSr'j,1aףYx&\?i3HM?__˺9o( \6Mk|;M{,B󑛋uk[Q&f?Zo9"h:{Ov)O\H+n\4 {@vT7Z }-nj~uҒg\I>ucFF))z)V4N軙K τ4B5>Is4Eb7v kT n2;']e7SzS `Cc-9[gA@'rySwiXҖ[-~\7KhоZHw)LVY=96+)f@ \&Lb\dRsv_&>e$j'[ /B endstream endobj 57 0 obj << /Length1 2421 /Length2 21392 /Length3 0 /Length 22799 /Filter /FlateDecode >> stream xڌP\۶Hp\!wz}>ޫ7t1ǜ$UVc1w0J:ػ202TYl̬֮(5.0sd& ;{- `efCg^9@ `tAsprrG-_;=@ hhfb Ps0zW~+WWG^&&F;FgKAZz@tv*hb2FJr5 Wg $6ڻ<́Pr<@hp+MM콬-ֶ@<+=/C[)_+7HL@<3gkGWFkۿJd+ bvv@{W'n 4݋w7XXۛ[U#PF& %:fVLWrKT#TBq1q\݀>T7!̭\@Kk{?Ab |gkO3hX}d/s{[?_&my1Y%+NT ```5d\lbeWjAm{h}8hK4@͟!g`6aM_QoC$fk/5Ϳ׿ @C : c`MZʸh"i 4Wv5{Zkul.]+/hـHKN)ao`c8;x!6DY4zkL <_3_;`K7qDIqI? `C,&? `Cl&?.@(eWCJ!nPv?ʮ@U(b0!Pv?ʮ@ٵ(di@dilA[?v$vv& 5= @ZA?/w;9#Z՟傶 h ?T? +(? (=C*ς@K G z-R$; OApusG|?J-{OX@]GOY@-/ sm?@&3>A]wy#+(?A?E:.37gP ]jJz@33Ou5" {{Z) >?ݞP`i37D{v$h~ Æƫ=~1UkCX,8OOȠ.f d x,e7rGձЅ=jN9ė(osd0 Dp1.=Q~bdO!Fn~^Pgu£%16M#z$SR6_HLƀxȚ^mi[>&܍-m`LUfZf$:]oL30cu\><2p04U,/DhQJ/bm7(uK (~=$'J eY|#wʆKŎ9E[ Nw<+6 PtU sAeL،^$qKW2R{U^y5+5b8UHwO#DBxE 4/+=Eos~PrQJ(ߙ7%?Su'kFRx*z/.\V;l$^؋W/w?kO0 F?4E Ƚ7zgwHGw(|l+|R!mcHwn6hEYD4_!MnAdc 8q* ((%_H}!>ӶwIt@~ݯCt)6ą5_8g*d0WEpn&,? !2gtpiqF|LtE~"yҠDQ*1j&Wq(SP>=U43luLJ#X)-LeR(TzrK |sdC/_.یwt~K2۵Jtd=vsE}IB-VOCn'Ry/,L߆DkoHur))*;<~m8n^dFQsE%apxXPJ8V~$Kq9Ԯ=JNfkJxqvi^e^|v0(),fvX E]TCd v}MZ󡕸vk)N`r7,~fT`%Ug/>,߸ϴB!o]҆#K Q]rCSǡ5Һ0y저h0FkWӿ<罉k I.S&IB#1yT]{7I?x ۲rY* Ԓh(&m ԚЪ5}E U fŸmQe?3CM{>@Mhk ܪT#+vyD99Y?5ǻa_3/ [pKo(O{icd-g!X;Q@7h^6P†}ɷ>>QĨiM]@tb-/)L&$'kۡݖֲ;st2jl>i~Tф]f gIxbhsb=;2wP>;e3bDa^YxGUȒ%-x,|R5މxwx_3yT :{`Z+S{AT]yr7<4&kx7x,1>ol6p/kϖuWʲL$GIF=|%VS:3ki"׊P|n,n9~'ζ:Da<aZKT? m92Ӎ %p4%C[F'sK a.6Sw t&bGnLԻFgQX:bb,O}e%`S6asr59|]sO40Ko"6 *z*^6>G&ccAt7HE#IhYmR,tPٷ=GQl^gT7ʅ' xyEW1te`B0ER!z+F7>fz{RQ6ȸVGI u"co* *=֬ձ wF Aj?[帢TSN _t~c8}k #t”n&$5$No޾]uͣJkU@Yt}O+xɱD;ҡ[5iT「vHe7OFIF;JClP$lX4I7cX:nդ@#%}B~cu?=%N%C͵6ߗL}bHH"}ptO/q7MC,]S)'ҩ;0Qm1>|I>|bKj*q"2 erk8i֫ nOʍ7_`kL ' #f*$"At"$)ӝ)B2!i}TbD/Y#HYjokU {`:ue_Ү[Kvc?)vi0@h7rʛEL0_ 1pBu\6Iae$8іj8d! Lۻ$B:rSe-J÷`t4I't\nNgd6OЬP9]@tyLƀ_ @~3ۊn2*oUðE˄#U:?GEhU:"1M+4,.),m+s- aGpej:w&jŶ*`%Ck1+n4$#c&&Mwt Ȕ $Ѭ-c1!j὚eFy h:u—m#)dhpL4 BevD[K审Y!n tE;wHðkmf\5re2Uj1+T`5Wњ+JL4z"~fGZ 40`MƋS:>V>BURm֒տU9IȃNp494D X:Q4l:Oq|xBvZpNZItC5sBn0DuA_ Co+}ӡҷJSeT 8"xsp;c ߺ Iէ8s_#F1WTnnd>j 0|Od(-`1jӬx՝Ўz\mGml+;I؏~j)7#t؇egTWosoQcۗ_kY*Í}a-,y(J / gZ8a <Oڠve.DJ,D7tЭ*{w{N_`8㍎Z1'U-\ċ#0n5)+nڞћ+v{S;呋 FS+5ѦoT ۆ$p Izo!_\&eي"[|Sc'ƣM'k.AdAKu2`A3T) Za}ڀ '9Se.Fr^DLǘDV~~7 1RI0六a=~?O Fh=0)Q|PmtKo"G0"H䧩!/%=Iy.eBm/_?a-l(ZЭw r Z.րo<7V/3ߋ\V1b]Hՠ'D:m& RGWx #1ҳ?kY* / niNnmF.sP:D}HɏKP僎 m%UiB?7$‡DK|  Dv|WJTa2$oNvC6[lU6Ip$W0b6,a]ix\ JfX@-V( F |(x򠭺Čr4D^Rn4X" )CVYe* bi{9$7O~^ 3ߢlޮG"zR O/vAyRllJkl\G0XE"d{H>_ׇL&j@HyIW [ůѭK*dFwGY ض&<,w/QiV?*MG 7CZo;!I+{u CpDe|>9GmQ^#2?1-k)GWIQa=`]VƩ&>fƐP]4HMfpJɯҲepxh/|eǼc:9~\{ԗSF@h ;k:]EQPQU8^ɡUK|`_`1P @jMuml! z_YY3|d3!-Jn:ˌ@EQ{P*bd;VãUX4˜.2|c6u緷QX_ _ 9<KohiB9!; > HwB]ʭ9J]G_^4?UF\ufP4WXƈo En x$ 1vLBFJ2^8$/DSɽk>5h9Yr'DL߮1 p)Cyn{( %$.8:w|>'T{~X]Piu.q\l;IM=җ';–e[ۼnycGdW!`0UbWhI@OQiDQnŇ㶙Mru#>9YKX"!,ZUQy:I'ݺd$M/3(ezb]k1.f V}D(m? vYKČ\+K߶T>eD19j3B?p E~b_BީB[q^C"zy;g (miwF-JɑRv@Gk,Mfb#SNLϜ W=0X|Θ85(᫷4Lpwg`j|9"F,gC6g pVk ߀ w@:uuO)m1_M=]wr/-Td7k?6 g͊ĭ vPm"AذmNR 41^)C,˲{e*/,x:d:z}K;vD 9rB'-yg$ ncTwDZ9Ch}&?Q5 6}?^v%L7P}D$EhxQ ҈W=dqG7>q/~)۷*D'٭uok@ºSt_!5p/'R_tTi`ͧ* I4CiTcdهaOa]Ojt ;ݽ RoE潓@|={@6}jxۦ;չh5zr+_/х1+IawƃZN#<KTaږ4oܺ4*#ۤeJ1Kn]Eosih`y0d6Vq]xx\^%~P]S]#F<3`F;A趉Dl+}aw/êbWGK\{vI6ݘy'+C ses2+Xj b2!/2_P?th_VaNp S(RRX BzD|Rf^>Ώt:BŋidAƘK}?l 6V~Qe{#hH":+JoLZ`Y_&7G~/HH^\.xfe m*O5bz|l xw ӂ<ȭρØ-x=ݳk^ \OB3m 3>;{,Vp% #Ӻ;eǨOWUB!J0>V_5T}=G?6n# .?@R6كX.:0(?v4(Wؓ HLes)uzl My&3V mR!?ȕP_0³Z3ܤI+7r),?t mnϋqчx~=gG-%x ѕZ~~O7b觼~ƺ #xE#V>fЛc\I9ӇqF+y.da$.Wy)/.1ITkmDw2fmEڲ%TX)sSѡs:>:4$Ff-6pg*(֮(\Gw\9~U%n:N,dl)NGi(de?lc7g;FO>=F$&Ho-Ni0O+O>C,M2p(A&/)4Ƚu&,>phGÄKŋy+ #AV|/x)6YBp٘o$ֈ]ޙ5+ >4ŃSη[tρ0>\%f$px7%)YUhRױv'x4뎞C8}S JL2ϼ*KȊ>OΚoj_U+pn m5gmӆ1VanF)̗N)o2WE [%5Y%14~},-pOQ q`̗fl&i#&#]d859dȮP.e"Iaz&JE~0e[ԕ>;Uu&4~ H, ؆p pA|aq,5-&ueK:J U\-쥿wKQOydx}F(JdL+.яv(:I9$4jֵo-=H 餂e&rQGa Bk3V]-;LNqwP. Jj}?E-ulYT$A =U\Y S"Z=8Ӵ.R8up V-_h2 -^+k0JBЌYŃH1VFE H;} UM- -{G:ԁ3+Ո`^0FPãm]=;s' M1 s۴{xwƠDL?1{JB&˞i鱥qhD۞W8aOv'ؔg]ܒq6ŏ90ɯRp%epdgr:9B-0'ߦHfsIF? Q 2$͎[)1B+YR-N0 Ôr2Wm!VdP?2\0L(c`8;Pxgix<`~WnJty졢NW(:'CUuӪ]belf93)^7犗Ia{]e7QK<7d E򗤯w>22(Zpn@Ʒ,}C֠@T/F E=U O>/v|oLѦ\دӻh+O SWd NG{H{+JW( v0rcr&IjJiq|<v QMemˡ|Į*e3t[ PֵuI.)ԝp>OFɀIt1r6d y9BxuZA~M?|/[@Fj =}$@΢AQS䶚?1OX$u m7a8gMpxX ܆ k1'+]O){V>5`nV=B:\Z>dPHH`gJ=Y+Xw" mԝ8'ڽ=Xsb6؏"<dA6F'[{RgM/}Hɛv :>JC[k>OgcM`9{Ձ EQx>/1Y /T7x}҅ x88\[}I+::e+}Rz9'piIy&eNc 2Oq+tb!Rѻz?{ny9iֈW:qS?.Ͼľ u̟,;< jRԦ;~a9ξ$mQA/TZ# Š̒%-0J}A!Tl:-PIBf,&Ue5ӦƁׯ5kGkdƟj^ˈb#5:6E̶dGr& Qu˟9TU]\]Sl7B?B+%Q׮ZSck|y1! J St jc=ˇM/mL'L3~%k Rso9mAF,z@zQ`_ L0/1f{F'x`_^e`Vsr][T5:WRsmTuW8$I+KWc71.؞̻JMC8HHlS BDZA_#K`8f08F!G ‘B焇?-. }4"44B;NTO)*пCKh:)yN iv?]6z|srkyYh5Hyp0dTkD~Qd؃&jw'G(_s鎫#F8h$%g$88LoBqrm~#+(6FF," =IްzjڵLxKJ݉(c_33z*;FDBIEV)v5z])G hXjZ,*U'q0$Val_4pBՅŗ\2i| $`GCfJL<LCcwq!VӪ#nzU.֋ϕ܉>!deKhޮt:aSx@IߪtE+P#h/{D\3_~0y N?'j]ޱ`"ٞf/DB'1vo"u~HL ӝ4֊~Ϻ/YjtM"YXWqTD,q=.",0["ÊXxID"A gl MAߑ!IWiC1v.s6DJQvts;X!Pb8p}vJԡ9vI!IȬ@e@3c pXH4ѳ @"ܰ QȁLgΐYI+ .x.Tғ&è CXCOjRze]ncsIMgQ]\[[,|rj[gJx(w+t՜n֬R fփ9Gx]S6*a1 RA FzVb"wqwAXs:YJ_bvþ_Qi#8|N~,׬Ɏ[V{kjkӕWT#fnIvQ`jh:}.C'!M& iV_ `Zҳ$҂m>G(}Y*c,9Y;^q$fGT6.nD"yy~[="rh}Я}J%ֲr]"|TRu:38>[M҆!=}m!m8^[=9Z!!ɴGΞNu3V~~H: Qc ۴hʯx7r $yZ]xo#S \ּDd/pÒܑU-ȇy8ic̅ үLfe~Þ~{Īe9`)+ c DT#N0[p9JE+63աbdZHB4͞ҽUSslwGU͙t|q`I߯E%+Y`c)u7bs NzBI \f֝}n Q*XDyt~H`%ͭ^V7!@f`YcaW8ID:A~.z&Ru=c!Ċk5r,p,O7\|[D''% "i(]ʱ&ˡn<dz6i[<ЯU,ސkIMF=["~uV&i\,u ޟ-ࣚ[+oi":&IbNl |5![53էwG`eC;E1rJ2gA]t@6?ůPiG^{Og͞;3\.MetR ѡok]3~ofUpyEގڛϔxS4FyF:P=Ėݚ+6CQoٰ:*(kgT8}qB ~ܸħelpf]rA`=v7 2f؀ȵMڵjLnLNlGCOJpC`kܪ vaI=fF9-cB^IIR7X.rdWJ@'b5M>X9uѧ%Q^!+S;'2:}7T"qo>W ,!ZsMbéjW;Iw~}#rN:ټPu~$*sĕ'#B@|;b3 P`կ3|ce R іIJW5X&]R0u XUxYW{x9,K, ]u_:XIr;~J;G7#҈n'},#֞&Y6Rc"lEHqi=s`IU;KclQ'xWEٛȎJvPnLIZ?2E\?hI9(Vf"N?[p|Oe-}X|!ݦ;ҵ-+6_h6A7y+ FlZ"eɌ;(FDj;1 ֦8R߳Gmf^aX}21]dseggruۨY,UjH욊S?095L 5A3|l6xZ7WhHaG -B&(N9^7 yT|~+ػa;LPoOJZ7pgnӕJݕW+앂"ńW*Bxƭ[qUx=p&w1O4 גEH2 攂SE=R躅FUƺTj!P>_Sf^ OVZ&I\\}v eL%]Wan+)Aҋ)DNC[&}4LPys_(tq6U5/Yn@BS5'v1G  2ǃ!+zY\h VjxdŬ6"*l|1!u{лwѴL0ǵmCqWqE3bhL-䐙k2]31Ss<$4KUR"0$@@_O j!43!=@6rHT` r1pjc\9&p,ub) xMCAtq{1Xͽ {U)}]_6p_o?4͍^JѲ9rZo~l Q{^LTu?LLrSZ D Uʾ׼#O*l>!riҪzU\IH0Zl5<:ۧJ#5*M?b7DzN( h݂> /3l%nSIA;VY6Ki,b_, T'Ԕ_yxT2F/a hB C+kLb`:kǗ߫@o@|/=#nv%qZؾ__6B7VyMbZpyPW 4r?Iλ DP;#+NS|C`]"m*[n8VpP}fo58)))zn^9։V6K ].|%7ꇂtD^urxhtjj16Mư ]ڝ,j8ֲ/Y»~k]JgΫ̙v6ׅo<~yj A!HK3Pp O aiJ],:>R%7~ Ɛc\(07>?#ILA*TS5+!-čg UrFkַg=&br髷y&Vy!P:)qIhMe,knCMz&eD9u񫶡x8h7~fO")+Du$, %Q uPuoQ-фD> Z;s嗈u6-w؃ogUޠEepɋοG؏U ݼ(3mUWZV:}ept2,p#']JAbq#"hչ2Xj/Ę}H^7T=*ά 5Q9\)g3߭ObZ^5 ɰ/ucm#nmu_ŰOzM­T0}*d'қ&1-2JZǮ"򶟻pC2.}5yE(\_ Qا\lm|ܥf*|{%dl7t/?OH '{y#Myi%öqBBМ{5,HlVM]X`FO ӦQ\GbAK=8mzO?0ܰ07՜© an+*&n*E^O~$^_okdR{ lF֠Fna2r[_uoʄ`?9qBU'3nl591bZ)ñF.9y řwHa`<03GꮨQnuЉ iSewE&/v0gĤE[z ?K9(>Sdy: nFp`p:vdp`hrFu*f-D^gK,:s\iB"?G쭘߳;:~KOERf}"7#y5XwЁђdgصmAPڥZǪ4E bPsd)CR|7qzGqK~(6f6 / HȌ9%@fHi8viE%HaP_EͲ%F&0C+$'|*N];dwy˩uBYqȝI([l={ޣTS#BHt!eĻ3y:8{&Q`-RyXoLϷkPJeCMc^۝>~e‰z8%q^v!!$ 8Rq&6 6k-3[ʖ dh'؊ Z {Sg@ mbQJd̞*zdl b4iL4$0J[%e1ӷbN ruuo 6=ɧv|Q{4 endstream endobj 59 0 obj << /Length1 1533 /Length2 7526 /Length3 0 /Length 8546 /Filter /FlateDecode >> stream xڍTl6L#-ҵtw#݂ ˲)!-4)HJH(Jߪ<9wݝ{fkn6f}#>E;-D Ju @0?(f pg3 ݡpʧ@t0 @P (&%(.@H) jhaw|6e8 up@N0@PRRw8@A0: rPRp8zx Ap/0C^; WȟƎP?~#7 .P0掊A#MmCC5    sC] =5m~^frqA^ E]9h=w0pwjQWԔUavpWWW}*P$uaP&<&0'DS/ ʅ"v r:G{T@=<@m `- '; c. XQ}g khoLI  $%$@@࿳胠U'TfH)5s\҅D pG@Q %!-H7 W_f==PׁT3ȟՁA=]@jP>G,& ݡ^ ?jΨ8>R0!Q1QB V[~@#ݨ$@@%)Ba-7A (Y ᣢQȿMQR?@+2?_{"7FQ@| `Y8X:©.FΛo4ۖY7:/l y>swyCTaT׏ ''Ɵ}Qg3V`قީV)A_B~ݧS_45e]-b/$Qb4,8| w|HfNϦ oy&[|JXȽ{4 dJ;ZsekTci.;~[#kvq){4OZ5R\_0,khغ@o\E $ vp9)̹ )` 1[ ԫ+#+͒6 -!CwW}4gbv7](N1w;{la;5*AT_q.$ou$>pȠS9M1!ciNT9}>;d7S|G *WϢo+mA8N HbC%cXz8Ҝsɳ7nbA1E$?Iͦ SIQ]h:Ox[-ljB ?; nIUOz캘\Q1WXqD#s3],{;+^ u)ؾ a% b} #JIN紸!CYB?A/oEn(D8SeѿƘl 96x|ҽ䟌 0HeYIj,.|"rG~I^`2%Y;:+=MbRv \|&:]Smy[LSHSrn8KVKWj6d.jд}=3eH9ǫF0ƽI*Ĵ% 5"dfM~~psW6 9q;HȚ :&f6l$ ' !7ve8.#p1&ǧ]bg?4>0<uB+ 2ToxRnFm?ON'nQQ4'6TjG(>_FO19HivXfU'W̾¦GyTpB5[ 'Wȶx`$KbŪt&2;Vwyr>ֺ$<<ȸeBxƙۘ gK^1Qy>nN_ݥ!܊%{˥7C C~K9螘<9hA/-~,Θ(g{73bnp\,Eу.齼P/;Z6̙w65~ib9@ؕmJWCȆvi19܇E8EFU*v)kL*=2DE!ɫ1>ךezMb3EGF,F nq61k56Y5_(g[VPt?m/)UEA1rAckC؋jFawwƪR^uft(i/.~h-UpO))QԹҷ=KޭJbm,pq`g&ɰ#S}JTkbxuoūS1̽ܜ/ wyF9u>/0}(+۴~(M }Pc7%FP+Q.Vy7}mpru.d^>'LB۽k'\'zU~ib}7"TNLza'7D{gx4㒈ɡ-.65ܫg\!i=lr4tO&J-1C̳h/zj޶) WʁˏgR ؕԪϥ`if\w Z~0[[a6 6!0F",u4+9=gtACɋ%C9e5+(;m%fNﬡ~vu-n3o;>2n|]/Y}+B5zbI(6r12'#BjJD>Htx#X*k^㽷12|!q-Gʵ[A/5MjFT=|5aԄp#o "P{td,<oj68pF9KMۋP KsMecL6;b&/#7/Ƈ0;%ON ;jo2s)9 ݣk. E+!$5Fς jxɝ0WR2/p0lU,22HED$iPH& |QG4U I3Ю{"jSeh}(hgS ޖ6-䩫A Ԭ2\lcv,~;Ϲ()t_Ȋ9Ď>\>XNZW(ZN,Fh'n#,#qRdeZJ-3\àR[1x^ի7iHؒċ$4麈Y$b~?_0Xc@a|bQv >Fo4m#. xu.-to=)ë&>xՄ/Ŷu {B<+,k]8 83.$_Sg#xB'v.I*L%-B:D[ܐ5ᒹDN*̈,!e1No:IhnfvO8 w7 'V}lf:qFekbWhçs/so@fxw>\0)Ϊ;7>:ة\9h",6 [%;GW;|Q(&&2R3ȉM*yhXQ%];tR#;?zJK8GS4FEwfخ% Y9YV ?U\u/>0%u3b9F\vAs OIwƦ*ݟ"q*ܤ0%%} `+i?ZVy_VYmƬ66,PѶJv2eS$^\ kej0z0duF%, ׯxt|BSS=MOR~BW7La3# e|irSOE9_QNF~P(\OP!Ss{)+>kشñd|/O MubxvI+ 9mώg8 }Vﳯi[-jlI6WҟWHGeȹ/<):wpI,J?KWs'9~C,"S( hB%F*}޶6EĀ<}DMOV=9xN4tYJK{;m^%s<#7'4F6h|Q,^f]VZ9ZlT~I.`[G0Y(2%k0kP&;.τxXnǻȑW@I-pťo@wM %$Y)^=N{}[+nbE2gxzY@pذϯ*6c *hY+ 㔓av1iK'VXrЋT7:fq-tm0x'7z {n"_ L<:\}S]'{*_F^+U6On=?h9:6Y(H0y)sYcg a pZkuéHLvGUOsJ0/Ϧ>#B'_&P*mP<5{L=k1h;>-M `2A}f/򂵾k^45X*=G$we<|s}2GQ zUF }X_DzALV[A.H)9<OtܖUӟݬ2GB=V:E\soBjgL6gȰoi%Oftl+u`*ꥩ9C'n Re=jwk7_t36!^RĬ,:{[b?fVmcI]d*k^^+@X6 ɳ25vU8vS91X@Zߌ!L_=8JfiQ˦|A]"'xKpڤtR!i8%3 J(qne֪E܋}!EᑠQq8 ߽)ogG &;KȢǧA'񓭞Ԯ!m:XVѲ._и8VZQOVx`f`= BR$<D8VU1kީresu%7yi:M~bQT2 Z%R7 &Bp瑃Ɛv(:)$ Ic306 "K]?|+~&^W* "Y-'qb̓ЗE!{GP2/u8CEtmDQ# ˣ"ۉh=H Rz{QD7GW&? uy[ua !fXT˴SwO;"JE=6;He}"HY帉ʔߦj˖c endstream endobj 61 0 obj << /Length1 1645 /Length2 9904 /Length3 0 /Length 10963 /Filter /FlateDecode >> stream xڍP\[.LpwƂ;';4@cKpww']w %Lf[֮CK"f1IC\Y8XJvv.VvvNdZZM126 q@t}I]_ y7;;;_g$lPbC@.ȴG/gKA`s@ j hh@ W A/d( wa8[00<u d0@h3VdZ5o  7 3%9@CNrXof?pr;?޿rC^`+%PVdute,~\ /@w hbW@?;]]X]v[deR{{ $ {}%wnlZ`'7?&/"Ȭ@vvv^~ 4f^_oG# /t\@*!sp,3?_ ˿;=/^;ul j 2Lwo8`asxE 9XB2 y!-@󰛿<8Gq vKMڃ1xᬛ /[:wV dv_+e=F4d v5,˵~/ qU,{,sۗ兑@/)!7 Bf!'e-@qq}q 8#>Q^No_`_YF?\6? 7`Әf|)? ?K?Kb?K"?K"?%-$ ݜ_v8@ O9\0Ħ.ބ,Ns:B*ǜ >)ke'd>&{_'KȐHY4E}|maZ_u8yxT-|X1cX:G[h;OHBȈcf;B> 8뽷&g*MN""}B2k >Dcr=G"7 m3Ћ y|9 tDbNgp)$eSnD~4 l6޵眎L/W񵤷U@gFq=,= ٷ2Ep+]kٽ"&DرABw1 ҚJ?'ߗ)BoQ.N{tPj~Juϕ&8FO~b S=M{3xszc;L#m$I(Oo67/5Or䬏:#%M̏_tbϙ5)̾ hZ“yx SbXx,Bڣ|oXV?Ja/O:UA\g"3Q Lf*eu|1pz=r coU#gtSJ#>3Ƿ*AԲU+z6!Y/)øwFn۷v@ nꀼS5e2/"J]E5ڼe D(ۑ{ a%a4~\/~-昙FFq H_=?eJ8{ÁRgQE.8,^Ʃjm); 2Rr}zWߙy| _H+Q(L YBlF~*Bwq뚁-4#_HzbN|YW7R1 _P"BW|@*O&K\b@bIۢ8z᫒BI5w(vo w'aq~T}l>q #!r5µr4TaO]^nW_A6YN9EH,~?ܞZQٷ>pJy37a=Ą<Cڋߜ=u : lxj[Drg5T_K]9P~ehI O3mI@:N p,s1Un^!_GGCc>~쓶DU'YXfpG=%`h0X']aT2L3~9DfjrUs>,}wK_=0U,ja%,Xtؽ׷}8 MԈ#^{5*NHmݾ~ؽ`~ݭtu%Y98~8wFӾ+3!V4$&oz8.ǝ.gୟΈvt--Z|x ʡ,3VE>#&ץGO vk9Y/ѱ]gj:x |x)Ͳc9'p[TW8`ynaіJz]'Ks!L1c&6!z6ςk}njXa J9fcZܒ#]47C,jPqq+㣅乵NC.LKskߛఉk2]{9#gAqb],aթ.S֪ \N ebb`dPM_2(k`\Xёd3bdCqrd++4I(Xe$l8Hϫ^*&,} b:+FBtbTJodat(\"CR Q̛4ur uz6a>Kd(*Pg°IdžSt,K"P9W>,`JG8nV6ڼ.b#}WŸx* Z9wnc tӣ¾gʹ%gb70t$ ZT4{17b 51F5ꦝJ^,FMTSɘRjy&.<BĴY3(*2q̀_*W{ÿ#M28"hmpai?`4`'˜ ?!rk&9I·]c>ϖh bBbƜ$.'o(E *Z"ItfwD͢`Pg.Z.KnUU#ݬ< G kzY6ԥTKβlQ~&9mXJq A2 WcFI37{ {,==u=QZv_L*lJs;Zd.m!6iJ^@(_d˞LS"yP/toL` =4ٌF4e)N9DG:~dVk57R~`q%}tlonvl\ʜ3N$_>VjǾLvW:}o MS=uΫo$uUR *|PtqX\47^GWL0C ' p?D0=?f x؎ao`T7_ 5ϧ#g wƇIh+Զ],M"Qⶱ$3T6Wrm 6)BsZUV T9Q_ǜ[ۂloBh]5#tm^n3ҸM$x 8dFZ>W"'RA+p46Zt^v%>ۘzj6!=¾z+ ӏᘽ~ 9LUL%q5_8讟,9lJ;eKi6'&ۆͺc G-[5Jɖ v/ZrN4Me?@z)F i!Aĭo>(n#f:eQ;Q'+Qh-)#sd$ SxZؕ#UG 02p]N)^n)^Y,JV­&y@j!5rA┠Pӡr>bTHGr.7>#$5<,8~ΎԈ9)yH֮Q6P}ÁZE~9̝@H@`¼1+2=+ (ڹM&׸+ßkZuȘ4~hezeRy:aKB暀HrK[FjmD]LM} HIPxg}ⶸ,/W=(`roT0&y`F<Ӑ O<3A,5aL_è}4nt[3Cjdu"UD8n[#wrPli@wM%iOo *$9Ho 2 ߪ7>!tob]&qD-jg}Sڥ\ENܪjaFuT%ה7rK\^ *Kw(2R(zy흡oN|nÅ|CwۀxokaJDIZ LxWDY~x3/{ Njei+-t0S}§䔦 ']ρ*l6 uSygOMBf#%?N{EԠFnF )Lj]<IS0i hESuDAz@LX)HQwNXN~zU^=yaNf&nSf'|_xĹP9Sm%2cЉ_G'J53W' sk5ÏIC G0sŬXTSn|ګ>/Us ]8AdSoVRpzђlMݠ䧝< \PV7ű͎ %56'h21)^kW?4мSƱMĮ(EI*Y'BmE9攥a W,Ҧ{%f;^>&)Ql>+S)a?[0J A}}(-5 e3ʹVb5Y'zF? I$Xj_#O![P|\a[yO_D'ZtV:8Ha<{Fl𾒴!XFv ʏ/i.gQ-sYC=0w61Qm=^;?:dIqMxnƲ}nj)OZP7oҿJJ.#O<38nț?-I^ ԱHr#6 9 c Cה24t{4evuByz wdКq*׸@ixle{[2N KcFLU cbHJ̣D:)=TP*7$Z`ii+]-PDFUW 2Sz+Qf:#lոצo%z%g.d\7 c:ž,~>0Lj9_["ѓ--iҴ=j0&f.pFzG%1EU*-2zGss;U evVL $dO]@SÇcXC MCeyo)>4n+6UI! gU(A`Mx[K5A*׏D4h_C;y>^2D!@>,LowlKФ Ζ*̾ar̃q7UdkɔY^LiA{l IQ12A՞5 Q9IzEdO,GN&zvYv}76BL#C?ڳ'/[ ׂ+w}KWs4`(9Ja YG(>Sۍ_]Cgi:Ds9}H(< 6ز$$4UG`Dr 낃PP]h?-RE \n+D س| 7H^g;eD1ʥd+kTg';zyy1g SE3. ^y $I0sUh,m l]iTEƍ.ަ-#kz9aVxFg"kL*k';݆(|)c|K:J'v1h0?aݻ\g±쪋Ҍbwps[ѕݳZϷ`em5M:1ڢu^GAwSkx&'{_f/a\J +r1}4y2prRXiAn9,rH,,Ds {^{25]709XZW7 ~jHC _bzfJp5tڙ-+ؘN!~9Ai NfQ9eCíAbP]z ;9Y)oF[\$wߤ+1:*h8<Ӆߥ)xNQ:9.c/٤rP83CJ=G[x$y>~>Rq1 +J)tVSrGGvn _IGvmp{+S񓗛3ftݝlGnS5~Nus Z8ܭєe!dt4E@ ɲ"(!TA )yCG'/GV^DML3_tY IK$ MS|&3.pY͋H5vRt-qk) AeXT@b]lt2ҝ.(;/}eJy[ރ.? z5ӌ` ֽҽ2HUcY}<ϓvX|2`BElb)$j\Pd0mjj]&{c62L^ѺСBRGs&R$˴uqvKD8(+ U)[6j^~L!nUzH-C%NUӍ!k`VlLjޗy.L5l^~>FJˎK\O [] jQr U(9Mcܪ!r+F;7MjGY=:}>%~Wu"ʤ(dISh.g]1QXh+o\ϣȑHb3PXJq(`k&m)i tfYo:. 25rUAi"nTIv0e+?3hCFj>Uj{فhƋtZ1s  l]wMWi4{8k7[<nJ,E?D/wt~WʦZ܃[+Uu_>?t k~D{o)/1O?sus>!00#f m[CKLP oӵ!\/FcMRߗCONŠdו*8x.8`.f$\9l+:V ¯كϲ L(UQ z&P# bl|ebSo!im'1;ȋZ2oSE;ԍ)/56 ׊ND;oѨ'ۄփսW51 u>'!TXOI 6G m9]ku|΂ {+:_%ߎ}"pU- Rݔifڋ w|^[t OsUJJ={1Ꮰ(b+ɦ+g7NBJgx|kp .EzmV1e.a-R0z;ۏVZ9 Mn93&֢`OXiT_obg T߮ SPqeՆ2&rY礉?y-wǖ$(Gʋh4D⭍D՝7B!?_yԍJCj'2TIHg=XڪPg&#t)R`?H~A- I$.<̕'*EF7PbJ]_wV'`X.c%P?}fWX~L̺*Vl8 ,~O2DDB]Xu^N tsX'&|N B٩l tr&E 15b*u@ oǎp}~e,/عw[Tny*Zɤ 'R@O$E~Kk%|tust M>9D1n dM\ygփ*iǷK=a&'' {d528.g{ܷue)&M,Fq3+J> stream xڍVTڲI (]"EIқ^@$B Ei4JWD.D)J&Q{Z̜3{Ί#S1g\ƉA@5}Y ,)K̐8 `z#1hƫaPSf4PBd!`0P !+T"@  Px`.8)ZaB@ow E h> GNA= G8<'Eyc.B@?$hc}_ (@3WAp @hoj =?z D] "wB;Ca0 @]h'ljh_Po  Ez@5UPB}U "=qH_~!\Y B8oԑX8pmuGc?kU'keAc.pP ʁp/  , =1@x0'P_8;:#a8c` @ϿWvm9cn.HGSUCDwTU1@,PLB @$$E?AeW$K%W !?c`-X #|A2WCoV?X( OЫ}} aij 3pg?Ym0*h_"[w6B`75`H4 `p oSpH 4 k$eP, !1tV0$.@By@ O)9 ,@'1@{Q_^K qUBH_a ]*U8ĖF- ᧰>GtB/*} 4yN (NLF× =P3S^ : s'm nNg|ץ_]6.rbx兌.I{x8۰1<'l81nJa]Qs$@fd!f^xgfm6lܤ{LFUtX?K g l}b$?iL,R @&]Kzeef+u}?ZT+b:ʩh O^NmwSmoSYWebBup((]KޟQVq%DcLI*B]C潂,mJ3+tP9'ؗd' rV#Z:JfkjhRhƻhed~etPvr}6An"xδTǭxu) LiJ5w`AS-]0-IIo+ڑ]-ȣ}RByI̾oXl/\LlD';~vlˬi(7PnܥvS5@oi03$o,zuYgxN9)r?]#E]1_Ը07bpx,'2~1j=UuT;AQd-x`̲YƹPiE~msF|bLCktݛʳfmtd\Cw/N+LW #ghK8M6β-7%@¬ݓI* _F?O/U IwW9O)z:Z7G"R~\_O9d*M$1"%*VzR d@ ՞$Z,/_ckȿQ|aI녊Gc"`iMhPt5ܰmcN]':2W"BrL8|,Rhf2EY;~N}CGa֊ }Bcyn]]uy08O9m:OvrUkǹ!o[Tv#T|YC bap7Hjv)`rzZJB ^=!_G[G"1DLvv_@fWxv=a3nx/IK{UkO> 2Y]&k JD>LD]4$6< $ Sӹ=65/Paᩭ>Z<\޴dMG2^9G]cBY{[fYU%]#ڔgjGoO VY3<$ e93+ DXɫ9ʌ=ӭV'*9!_|uHQg^Q.f|Ħ1ڼMOc>ZR1\>&ku}mns]˯r9*ĸ}k1+i.97k;UW& =mdtЎFEyZ%. J(8im>:t9˻]S}P$)4[¼탴ָw}Boh5` rوybOW)mfD*,o[ K~ :&Dey [̝eWk?޶I/5| h-xņiqȳwOK8dLQzf=oK\5'k;1Un|"==䁔;evE3~ߏ/Nlfkj0-+:A;/7GQ )h ۽tHC?t[8bmC˗,]\J%-O3xj= CpبDa Yqʈ8Nl3v_HGbE٭ Jk5:vIEwVë0j>mFH(*mn5f81dn bIE| n;#e#>l\Ms!i=Q|CAvp0w~ꭻwXBvӪ4ZS0~"P+:Gn7]765Q/,vho#\T})"KؓI47 .6.OOuQV\v_u[L|dYĊ0_;PU o">FjhZ書\ر$\>סitȶVynk?gjPCe]3!(zp 5! QȺ+g\I|T?.wI;򋽙6ƱxY.{w_6kXd[6uO!6:FaBPn.TEgf%Ϗ] vd%"F>˲,יj\j,H5̞1+yES`iKeX"VV9{]j:zLD}_ާp" ^ifQSM:/ԇ rzĂ5[o]vaT]!wW>tn$ĥXZ4E gYCdq$pIFm# <`B"P1`<Ś|yw0'7ؼ=qj'[^wJ  X=Z,;{^;ޤCHB(BaKfrO,śEY[&\E0.*4E+%>[cY}Gf- ,8),bF\/g@+X#k:nŜIIsxQC +5IE;z|_|#'N++\g63-djUg H%1KIZ }84Hp'~!)bvM[-Syq߶MNތ )-wG_g@ '<Uo{akՠ3.𳢮ڸQܠ{%Tb:_aZDzC$ơts(nJVQo@.jo፩iOfru8Qh)l8bai7%eqw|Gy )WM|\ļ]bظ7Gk^2-[I &]ׅ0{.P|Ck.겂r6Qp Bγu=QL&|ͅ #U-5<*:n xN0;HoXָ59v|&]6AK9;x;稇Qerɱ>{QJs4˩kncr̽WFBV_}gZ}'ߦDڒouڙ*Y!4"/IۿgUu%6oZm: oELâKbij(O<^X(sw[B> ] yt?aOhv4LjHt3.3÷` '8o9YӶ) p#W 7yغDV ; N;eε7YK\H6Q^"ڷͭZVS`8ZD)T7~j]E2U #*Ln ڄX+YPJvKPk ˒&m7'$x8dV]T0!s4ֽ`w{:5v} Yq~%m@\tkM=YȻ*Z4v{Ƌ4/jϼ ^)'.4 U5xHztƚUS'0Wla,鳾w AV#ljlרjp;%*S bX`I 7I]iggӾE9oԒpp{I&ď\heA ]83owM[3,2$7QJ=TӜ1;M>D QMBoaaKΑ"AwУuJp9I(f1%ְݩxqW߯FC7 hg&_1)1MsT)~K>>z%<4v([4PDQG] E|%TaؾɪwNZH>#G4ѝ0gcNTHᴠ92]=!PPVv$wp7܆'843\6K8,N7?t+^ie53 ;e.c`;B®fGG]Cp҄!3jc iֿ;qKkuz qiΌ# eA;}ȾꋏrGx"{.U>;D^?+`ݭg lryo߆Yg[ tVm&gmL\Vn]zp[=zquݻv!clii97 p*/[Ey-ψIWֺ# 6@K/0Հ.('[39zS7VJGwP)O j\\x”}sN+~vVո3xh#[La`3Oy endstream endobj 65 0 obj << /Length1 2138 /Length2 12486 /Length3 0 /Length 13797 /Filter /FlateDecode >> stream xڍweTk.( ť8S w)(Z\twΏf-fJ$w灆BYE$`.PPWW`ss"Ш[ڂhh4A.VH8`$LUpȹ8|Nvv!:8 $VfV=F|Л282فL%|)`jr/o,]]<<@MV,78X9qߎ2:9-V <+3houq݁V@0i12t1urtuau%o7BKٛI8ف]]~'i 2Wދ+wͭbȦao ,B#x r,N../WߎV _bvO#gNK ~ga7L_Glmbbl+xCaZXdff@X[[Eo'L6[{lA.VW fj^'.K*eo`{8yx@gg;8yx>4y6V{W F6?M`S ؀iq3^\ncMA`?/LП<~#'7p[!pESs$G-E!bUWdHCnEn>Ů2_G ZnBOk.Ot{W#IT|*xI酓qζ_J"s (ֈAGŖ2q޹|Fygeffƌv`? ϗXҊ8 km9&yMܑM44j$DyOr@CTӬ<1#:C+I2Mg\Vhzl- ̸VV{7L*Ls0%~>n s2"|iN3Z#+ {cUuSaZG6W8:9Ckx-F6MDbݽ1NGkOduo<1ɮMy}&6ci ϗ.;dt Y$^%*Z+, 6ס/Em~Fb&:;hh#ʂHDSQ^kq9 RQSr DBQ%@ue]Yq?ߐ~F(5 tNj^g+W:bhb3f%!Pc5uNFc9 eU΂msAiM(DhzSV WCXrn0UPWNA@B\vZ1RV6U~B(}1"2V4UYZuj[s[bz.--C7ĂW&$4tT`+{47X|LYdlA{=)a8HT Yq_Xhu/W,b"m6}MT^+!9Ӡ2ԕj_tl}RJ$[$2ƅ*Y-R߼nڢX$U}C:{l3I92,P8mʅF 9F%rȡ%bfS(;3D|\z>QQ=)jL=n?ChYYLY,CD˼ j(N/t(K-!% s&`NCҰP]?DFrE{Pekfj{F'aF65K 7#<T>T@ׇ%wS{e,MIV2wuݳ Y傋uXe rѕ粟kr0N~(Gi*0s[=ɦ^vo DތmzK||d2ף;qSrwkEDo7fj$˨49#hj^0~оas=IǺC J*X2JnVR; _6bxITxS痫Bt`%ƘFyVȾ12j/sm"{B3DER tߴHZ`:O5=:qM aX+(/r 7Ovqk0&'A_U:xadH΂I^N%gf 2ؽ/Ί>FO[=!i5*ݏȺ"?RrKx6Uv5w fӽg Rw*'-RɃTE|?4ߔâ1LVuQCƌcYGZI Wjwg{.fX~# muOnR(^ӎ<,%&+^E&qKW0Lь#BV]jsߘgj,#2YROuD&o |2 ^6>=l?@x."x_/uk^$~%*73ʂf1je g$}3&/ ުh҂_AQE+M*MKJS䃌]9qW")2՜&KRA=Jp$I- %.m>걯?1}d wZ>lF, %+H6_jʎ>Z5,?Q1|%@c6 P$O*膛aj"~ַ xP1Ql%zD ߳~sFmXRR]+%kFhCFOU6ڵc}jf]K [ Yr߮-7rrH&[͒"f+ŷqC|0'iOYW"Q땣c[2sp3f*ؤ axM* z+F8,:}\ҽa͝fo3 y'Eq2`gc8~PDY51{KT!atx$f gMW>ưe~s H"{;TՌ)/`8&Xęm3(P_\>ezv '&"_xdum~ D+-f9A4ҋ+OlT T4Cv>x9;<2稇?$BAEK/ݗw->cǣ*5M ĶT}aݯnȿ#r5u=éQ*3b镐|p15p'fZjI.=lVS[A|y@g9y" XjC+۰,;86B=JIKQ"8}Y2dw-YWhAga S%X52W8,s0đq\X[igē"1'M %lQf6oz-9$J t.k~ m^DZ!;_`]&]Ѷ8ݹYL״qewVF6C$qqH`:*H6,q9y׾H_1a`4ۼYꑾ疸Dj̇빐{Uזx1:B )4˒ǪudXqD}/bJ>'Fۗ a=]*l@}7,[˿vDp>NJ-|=)ى^A b-+uf1E6NQ ))2fjrd~1$Eriz}VݘpL 7o]u7sQ[ubw_>@ gpuMGg4c)o N+;NQ|:ؤZZ]||d[kԽzm^=bjʇ.B B`y 2@Ge,l_i46e0m7_&Cu|J;A2[I?Mϱ0 Bud>:S}x`뗣VT, F}&S]u\\i7c'R$CYzo.3Kz@0$Ti{a9PW&Rk"$XNXے=a' ,i@&0We3E< K1Y!s= 9RYbQu6B]!y=vx\ ss-?4]EK@NVxO/GW(ekHW0v҅\Ji_~2Wv4(,Q|)?J^?$9Y=<"I_|c% aFy3 Cjtʗ B%ǻz#6)TJM>p]2`e;RPeD:c#=$JK"ķq~<$tJd&kq "=_&@B<APk*_:()ӧ8UvwϴF0}>[xUd xLs 0dLbE^FZa*A1G SS{c?cG4~}x>g7`kܴ ؠ4C ĉ]$rqU} ͫz*SxLBոl_䭌Ofl׮ha?n(ZM"oVN9hex A9}MߖoT=6{ '_c4AC ưSuT(Z"K_?I-7*uw*B_j G0HנNcˊqsjnl(.Wc&O~gc*^|3<2VJ RJ 1fNٺmv2ihRxiwa* ];%wB8 .Ph.m薙̀$85$ )~mUuRL5ȝ3󥑞t_44uǹx>r}KNswW粿Σ`յ)kev^ҙUϔ䳽Ұ.8 OK^:_zbo 0\`:#ȪNE!lGйӖcf6%#?HUU]CS{lh?yJCѳp2m H)!A9TO"nN6_|~JgNbu/r``z_+w)(14K^^ ]^GmOA;`K8M@g$Ks"D!1't5+m$(3&$qB : f1$S(%n+W.K 5nWIWxS5 Ntd%pyM QAvl9LOuq xǦV{l:%.cbj\NWծ";h>Մ>0c4r J 1fXp!K![x%kݓyS+ 2S;Rî8V Z 4`";ᾌ]Ï 46QzdFy$ ջۏ;CEc?{[/@dWY ehQz9˽H<%l> B,Qߒ0lOb]U<` #YOoaw:;l;qٱnqvGbEEV}e4kmCjomaWn9C7@rۄM<]нfAFJPgnD.Hyȱ ܸ Bke)h59_t P2 X͈NhNBeH0eC wU]AgU@Rͼ(Uf~hF֠ #3Ů{%WzM>|loxe'–D#fPP[N뗼BzpmFnhR ꁈWq @qTk뢚рGuuŁi$4m2-]D*yi`ʜS8iFZzq{I:&{3b~S <գR&D<8vnQ4,!cZ3PBhO1 >=9]ׄ0[ٷB݅98љPeotB@O "|!ыS$bGaoJL]Q6i=L{w6 @ -^ kѸRg&/AzFm7<ƨs7ūd/p*&)q.[`rb2!JrtϚ`'.S[zb|o^dHn1m>/-ŰZ-XU>李b&ÊIj 31x[#lF?@īgbd2jڽɓ >qRAXmNN$f=4zKA|;C#P޳}nr8yFokŹ`U0,?Vyr-Igu(Lء|LL_vߍte뵎Sآ(;Z5b2Jն9n\_B$.q(tv6XV#{2^!!&E7DX *vhxڷk"GbXmҾ w=sMu_|w-)іn!X;KzP3H[8~ys$V/.b' C1>Y 4߸f0bM}4W4j?oI )2cwJM̜ ,⠪L^]n{3 5b{dK)-te4-QJUÉY>JPI;$bKK1B]n` 7O}CH@&NЋ*ÎQ!ϗ<'t9g`.hܱ8L0^Ds|R֨DυhJ8G8xrpk.7_ѩ{2B}ȑPnVb48Fʶ3&vj@Qx`kPKT6(F;f(]i;E l*(~О=pwf&d"t-sv5yH085hkM[O_9=WUY 7HofSUaA6:zv0p'@%ɏP›a7pe|)}9 eYYYR >}aݾ E时."P c͑}3\2"/a&xxBAĄnr-=vQ1sՍ+M#U~JTZתuҦE'6 bf-ٜz04MuEO; 3{1R.Z뎵Q[eV^;#Wfd_,d8_y\qQ۫{{&^`8l1>uqoA冾X]`}T1%0@[HFJa'Y!D=ȧe/{Ĵ;2`Bۄŀk1@>a^JZ"NiVc+`~5&ri3΄6'Aէ@)J>PWiJ;j`#^ S%ďCH9Mh١A u¾Z bT+s],KMDrݾ̧nϻ4CMsb] _Tw?~¨~m 6v FskPrxێON5Fp1hM ~rcQcc!,S>9^@9_|l2~4S;BR]L JūO*)][;2 Bvc>Y l̴*ƶc3֧[61_ov0G4:臬 9ۂ#H.4 $6BPTOͰ}*t_ Y ,RcMY#88K= ܊teFCnT6\C-uʨ42 BuG2(Nv{8I&Nu>k~OmY&$z!E{AunCYjbI.S$Db!ѴN=}$.&5O4?!"]LtF` a6,gfkz;zOP4%<՟7y*3vka KYCN5~ㆢq~UiswDFx-! H9[xAhTUGsFvw}"f~oZ/Q7)qڎJ޺R`4^weRh$mZ/HFD%f̯;yK}Ŭ ~1W`p]|{c(<|tR띫\fB_SrS'@uiY'7.LW8*FF=9Sqa\+)Csd ۫fgݠdw^B>=~zt #QrrZasDȊ9S;Ge G혌v/3KPL yPg};r(Mex NW:Kh(n ܍r#2 I.We @U$]>ѭ$G2qSQ]b'}z͂fu:DKAe1|QE#qDq;Isv_UڪhNOY0 Ùrި& h_uWR$#F,:wcmTY/rv߭l\D @УMg{{0:zr OlO3P_Wn j+Y*Qkż ߯drFlK{<싊("j(RGSP#8 &jO[qb1K_*ײ/'tB<*G,VP[N#~c^.T͟PD_ P%r#l„ac7',/Xͨ AbƖ0W%]-IV )2^-0O]YmZ,2>< [>VN_O NGHB >`M &~wޙO:[On}XQNtN^#6&*OIg&2qSŖѥc&JʮXj5B37A}#?v큦pߐM4JP)? ވ u= ` [>'#MS@>ʠH%[錜6"9}.E 󧇏#'j Eב-±lcT5H!U¿rfb26nvhuͲe5Ċ\YpzcӭGV '4[Z~5/b(h2,\Ǡ=XaK)>CH\6:1?+,|**c@bdf;2?j&ޓ\ Κj?T!Uv_EjD30J>&O 8Z]@jګKfkxx6H_D*_hfryœ?!m{j"xV3Q#r^ 򵝦%;*e8*vLьUN{ўh9MrWST]8cJh-[o>5N3Kgck}NMP[``hԮ"MxxFl%tw2iP.{EB=إF}@DξUqBKƇBQnԈO÷mCӊUhJ}y_4hTZ-Lu$u!0*sF=dPnPq[0v1ӟ{^^t:nJ\8R}9- ]X,UgE'nPL`sfc\>Mzk[8>5NF?%8f*S%mP~W5\zndeX5V]4Ct{jvwzF["t ^R%gT0U¥UjQ][[n'bA{W D MW(I㵱!5C㣛Gi9hi2C؝L;oBmS eS!mvsuhLXxIZاH,9B[@n"ne&gmG B! TWW endstream endobj 67 0 obj << /Length1 1396 /Length2 5966 /Length3 0 /Length 6925 /Filter /FlateDecode >> stream xڍx4\ڶF{'ä5z.D'A5BѢE 7ɛ_֬g?}ykϬfh"t#hAPgb@Q! PCqCP0$B?*^P0cS1@=$ D qi4"`@OD@QD*HO/+S[Pz `@vz`*Bp G{^._` EA|N_#? qL]a&Hg/ 0„x#^Lu. @gs !п @`? pu]!ZF8($&u%#3P/'%(+ fN*H("՟* 컿uG }a'_c8y{ !`Z0ѿm.P4@ (%..@~W_L=͘=g`3E@h/ohp:"N0u!c:Ɯ`0'$o#757S3H?@@PJ@ 1@?aX-3 W}e?#^?s#1̅xM{@1 s;_YWwGpo?_ 0FcThP _Ճ:=۫cԠp0ZtWx/; :׿X0z`aDq\Z~cOdE幕.v&o_8$概Dl3C(YJJt^(T .qy*WIJdsBչhdφakΕ gUI{/DEKӉ`8ʅ-l0yJ|n+=錢@h>Y;%m3|KI1w!IkX3r.=%~8ɈVsx!`̪x_ϫ ,Ŋ{9锲ˆIOFC|Rg9]*NV="%|H-Pd銥ibvGq6&Z̧iNҨĥiONNwc&(T]?n)g_\(D8s/=yh aLo@0H玠tC'ꮻ93@Z!R2'w9|ql޳>|1>=snWɱ-$<3y+2pښo.f({`aq6˄X&y;$HI8G\YbcN4'a=j꼊VL0$80vjpXh&!S.u<^\o8XM_uʉVsTj{_JYk~c|(\k{0+@.g4鵯7y(b1g3<*KLYuv<;?Emf u@>(R8Ҷv)1@CE3<T˶ݐ5&8ZflEϮ]Ijw˜k6{Z_` 38$,0&#b/%xy=i@R/`jmpzRț~!EXGYQ "*{7 @JskFɳ*Ip)R% .OUDTE}ymƬ>}v"@lX d; Uw6iFP'a<RZҟ Iz|'Mop3f=|Ε&47zPiG`]C<3AQm3X.eBV=F엕xZD3uWw @껣іzr} ч[u#To $ Tlg6l=QZ%m|J?ߪ n׼.2 C0G5=B˝˻|fJV&'9?šj`=q'[A=eN?Ms=>=Z_Ee>$pe{ MX~ԁh $3#AYH:}3*?vc_઺F8a-iqU >T3H4H",OM#/Ȥ@[jy87\&c ۱f +{4.p ?s M0&{4z0K^E7Jyo"&n5ΚvfP,ꎯjة*mʏQZEzپP/\ae&f$T+"+A+λY).Tg@H?1 dƮ0|u\?Op/[{r쥛m%DR^8@aAu?TN"F#91><$1J Z@Iz/IZۅmi(qc ͞@4a 9B4[ wwwۻ{u4G:\,ѓg:V{h>yd~[}JǬEZb-@ٞB0uě ڦ'_h[@eg܏ D)MjJ7={jJo^ l2ʥ' z̡^6KSu؜AQ2\GxРr Yμk&V\P#Sڀi[7eg2n8*洹;W8oⓅWJ/\>AzkK6,Z,*KN;&mA/CMÚEg&̚v3’*YpUKFʹ4 t3ΙƳ4)Ě^ƇzUpؑt-W'7 3aEsIdg2:.wߟL%ȼei`5ztUABvDp:P=P~ L$}dfJn/ jgy?mPPhQhU#-Eًڧ/%P6G LTĮ4\p$='})JvuO/2#=MnP8^ιˢ[5][EFoZs9,y~G|z/)%t=Wѱ QW +KZO"\NojoI+3SM !n"*6ek $-.JG-#0ʚU<(tr[D#%'ι%k mD#ů&pO 8`{V Ck yaǻ$2'VVYg?X}T;9l9j ndRkO^+$,$(%T~S%x5H-k6`A)#MFhh,]7plzn^tN]e F3VL7k2P,K _!A7GDchv\;3Www z o9EǴl/v. bhtz2GT44lC3ZdEI;pY~3@3@x)_Y(C37ZqZ|v򔫉5e2)θm#r|7 j8 ÍH>85`<βh(7? j<2r?F!5P*{a7 }s!Ll]SҹV/&0bw)ӒVZlߛ˙[HGnˏE8 |`}_gj÷= bdzk<2cpK\?BJ{;z[S?7ubO~ȿ v^[x] y<E_[r^ݐ{ o;,vdJ>7 |ZDn\n._ݰ Hjg9+}vR L9ݐLW4l+>M!H`֑D/O*a&S1b=1O!#A4l߁Mt}Ofe |aVo0w)Bn\Dz{5hWe2u亣0]5<,@![;Wq^z/{\/ffF&9y=.^Vi&V]/ԣ**fr5zpzTo,r83c/= O]u~NK 5ӣCRR iC?JO3-Lb߽Ng'1hapu*.Av!H$ƊjU]= 9Mgv#Z+ WosVIl(&}퍀)c- r, ٷ=V,.7{U8-7x\T {+{}0Qf;,X( qdBk1pbQ*sph8ED t'SȾ$0ģ)VuCyZnk PqD xMa+U{Eʗ̼S\x!6Ϲ$ij<&T}|,MpMFި6 *c8M /x%KO > stream xڍT]6Lw%]J 03 ҠH)!Jt"!<}kֺ\{_{Ϲac5@0$ @APMP / cc3"] ،!(&)D-8 >&=$`/@Axl p7_#~N[.(yW hm.-W N)G$M"2\o(A@< v-Zc:B: HopopB`Op;@MI pIWDP`[[ 9.&? ~.}< u( P;? G@]~`v pWW ]"b{.0;my`PwO_{m$@D@@@ $ >Ap 6w߷ C`/ OP`El Pߛ! O Ž0bc'<p?$" DΣ U?b`pޟ%{ο \{BGYw"eO??~+/ƽr=SRM ^5$~aE(C} vP㟪n{\0.G ~l_Ľ4pAg*lv $= O108>pc bE@oӟH_x@@?}0 " u[OwޟGMm%Ýj[ϫz} 㘬+xm*H] ?blTrl@r) ăVL{5ހQ2m'FGk!Ã&xOemH<{縇ѸO6ZLL-M>qd+PnW2EzHdk/*t%q֖럟jX&?)Q_ =n i4eV[=T=\SwxڷޓyW Ǫ$wbɇعTB?!O*ʸݳc;oI54kǒ, 酼䍺G3c<⡼ׂPa;͸X- k ZU٘cYB Cs)dIm].Qos+iO1oj^n`tW|%yQÖ9Ql5<~yn .N -fz%{$.ިf>1̶R/.i;eس2OTWd"Դ!$K  j'?yX9ESvgUSi#Dpgْo% )˳m˽tΉg\>[q8~ 8+2a[JpQx=Xbf[`oR݊,Hl1n4&Bk3 9)l ɞb}lPg[c NJcsmk7%tdIeym82$T@epȞ#7ehUbͳt*sbڧN5J8zvԮtxŢ4߬DfEp&ڀC= 06R{gqfBTE־,U__\@J/l=ycX4w:CF>JG"!$,\x#_=_TD־Xڞxk,mA`DD%48G?<b ِ?z,4vs> fzQVo)E3nAX`+\ᒳq̉E"yn[Wl\i;[_ǭ‡>+Tn~ ㅋ*GAL,UNWypP9%iÁ D'#<Õ"jA2&8G&ԚՂe:bw<0 2 RGWAb͌-[@˴ ;8O~uUS<)CjF /f\"_6%̫Cߚx16k<Qmփ*4#Y-*o4*8wY(Pv9TGVO[f@ۑWgkcdW4.T" \KhMcF-ۦ @|?2R n<5[4,"A⺴LgkL_u4.m+ >\F6.}/6bsN9a](3q 4&;l0ꧼa2oъ֫NOխT,~}FYuaBv@v-RL\ 5IԊȹ4=\h,ZjeP=yql'.gY?{])Y Yu<7{$ǂЖǻbvcZoL6X0<6؇\=[`sP6&,},_8GF|S}W~yƢg MK]iȅg\|ETT*?tI/KL'b 9U1 e{{sN&(DRnK%LqK)i"Ai|!C#k!;nütX^]J_lxdCݳH-C5HKέ_"6tp+CUA_l iLOFU:н&'BeLӄ#L0#-ڍs?8/?Ia]7:ߴ[,v kuWNEVQ$;tI)p 2'H΍D6[Mm<`I~Y*qw^p2Ħ PH*p@: }F:,O!S4ڭj ;'I3s?CcՍů"젃MOLFXo;$tGZ;w;N[G^rN磊4S" ʼc*/ؙJ4'~~coXĶ+'xKw`cC rVnoONBxǩ6!KזfEbWRS]vA4\K0vhvZz.Y:LFޓ+ ;Z תk^=~G;0U 24VE0y\R\%Kkr QMƕ;}KCH=buWSKg{LKϓJf$9;pv!ӿ$;;Э뤱N_ZY04~LbL&0e5.'uڝppGBL.ھT s5>l;|_PF'UO^bN\_qmy11yQu瘘\/: de,L5';#]l䣢~2ob/agSæ:&24n3,L$~V L"h=Q9 Z<϶T>m*k\PJ"[+bOZǃhU!z0Kny>n|]޳O.EHzߞNҼݭ.:Q`d2ud+׷^Pfzu*MzI7|LuN2 ȁ13r1I'mӃM-~ڏW>Y%goZ2Rz# p٠Ph 0y-s?Xhx\e=Mylϣw( `FF9}k\MmBO߸bzXfP!Cɓ5XVڕzhO$hsK1͍;1䬨/VKj|Cޢij޶GXl{C]?(=]-jqIRU{@/FYUX]m (TTGpc-#VPE^+ P4nrpB:Jj_n)kف>U C[/zZ$mڰ)*vziαh55Elf5}h q&U2S(m!e-nDOOSt{|1m%b81i\k*Xms0-GYSЕj/Nz Dpoܶ>g E\յ TRmḌ epSGw~뼰h6{W)OLL;mAS7OuOw+- =8 `ͳ D(55yM7m;tˡϲf2 $# P[ i'aF:OsTd]*4v6f\t]6b͗x}? O?B~lȦ 0X.p=ޜ׳tѨŸ3D2-_#y|-Un,%|U0,\ SwX{!L#P7)4[ Nj 6G۩4K֬;LN)XϾ6~WgԼńlhZEN0zYiFG"zDds-H60cRlWj3&z;G_u z%'ܕm?ڦ|No+}5A Jr͚E@ʛ5(o:}5O5Fǯv7$ - G)iH`* e}^_1]Pk ɟOJVܭ A ..KSioϳ){fO#=z+dtfv~1G P u&Pʍ { `Rj}- i:61e؆籞N种rY:]{eӌ~W LK6Op3J}h~3iO&I03۫\3R=_};H 21]%i$}Mwwyt]V9g+_9~Id){uM#5PGAK{ɘEPwF]FӒJ'˻:PCnz <hF"_ KF/$x. 2ٳU,u_֚;X @?$N,eFlz3Sn>q 3G]XBR" %R@{꽴mXfWcTMH˫i4c3ΘB!R sDݲe}; -p1>"U_߀?`5i-iN0O~TeqkZvW#ؼ%٭!7à.>f !isWl$SA΄ ޶:0:BeOs ub ,wlr;\Dj:BYz 뵡H!wX+F,(l3XƎI;U-)Oj7#$SX_+1/WQf۠x<7Y7B43>9uB:tl4.|G mb8}12btoWˆP砥DcƦk-YV%~QC-xOj\M@{Ǔ'^Ft~ r}Ɣd+)xΗP߀2>ѣ/olbcFK<|0+=鍘bt  efvdk f~P@/|93knOL*p/챻ϻumdk7cϜ\ J7yƔ( $u:V2 X>zN8opRYsLy`"祂\糾|ўr;"RݫO5l4^RaإF&a2Rb5Za5JI{gYH~5*)݀-{e(O\Y{PzwPfNBH*CK~WCD*3Ml(dTP>Wڊ QRƜ nj 95 ^"c>T F"\d!mݫYTi@6է^`󝲍D_,PNVY#w-^26";ގ8rry_ 8NjX) A{A.;>Ɲ^;OE|#;|H=ýGѼ)xޮZlq49iQn_~PV%P!ږP[{Tqyki)3GuIڊWQ1a֍ϟ]׫&=y%oa,zU?:-'g!2Kˈ Hcq@iu/)չ D2F;ɴcx QJ' rM2W3bdî~v<5ƥ0Fw:uB-{TzIi R"J/ݺ<)Pɹ6A]-HHsUWNz+|}Hi{5SbTg bbvx"BQczޢR~ ;Sj~D"uCS Og^de)N$3Wte31st'_ctK9F?ϰQwrtb:͟ej$PֱKҩ\H(#⹤FYt t4'I UE! ׬XQ.Ch3_.=.N-+R NK=SDy晆*o]'ڡ6'£4 %}Off]UFT`+I/'Xo.He > stream xڌPk wwwww>?Oo}0A QV`>FA&G}&NƦ69ߊЦo3{[[cX|0]?G|bn]ab(˿!G,=,?n?2~|bp? l??qw;ڻL3';ܺ|lkl>cttu#A|^@Gm7uurxB |=p !!uNOH)ԵANw)#}(kTB+įާmI>/ *pK?Oa Մ|^}4m[Ae] %=*Vj9d_*fcԣK LrqH\ ah.=nfމeh|bXzl>{W8ߢOSx`/zDo/2Q3luIa3:-sK70j@W5rw8EZġ5ww,Tl)78p5wV>^>==5߁\kY{ wŐ"9)*'zaCsR 8%8;'H7t6=ZvX^j Uǫ7qt.g/ww&Oivfbkӄs*0H$μ⅑ o<dVj%@'{ + P?Y?7 FB4iD*bDJk3$bO|ȏc;CރJEƱt1oPЭ&yPɐ-o2ϧ:WbGwGҲ~'q^%QoCb YhMmJ] ?o _'cWƤb NFfgi<>chפa !28W;{3pU0vYLdx(Um{gF>M\xYoW%aNcZ7|k4VWN!,5N5gE%HhQZ0oZ⋮EC"%|N6&SPyKW3Dw9,.?gFFSW-o2"[Lh EBB_SǖO,?6džzDk*vy@3K+fOšJ= k}t:bLcOo.SA3BӅ̸?% TSsRrJB Ih-Yz KZX*w8VN 43le\Ҧl?a0緳b震Z08wgFyy?b 0ɓώlC4_((_;J?*y.38#v(x泺"V$.Cr|S=PfQr_M4LMKT̗ƴ%@]A.SW!*zOKa90˾]Yxn6_cqk}(18Lj@ .O n*A^E%B(A-+mZ!Sõ!zR*M:p7 \zqy,m:C Jq,׫er_FD T)ճP3e)ewf)Pŷx䏼#UY%YT8/ b(Vn%-@k]?W/+Ԩ;LUWds3Đ1q'ICpUI7 t$,poO2z?*.3ڲ4CPS^9x{#mna70=nq@YFDQzpW%_{L R ܈; GvAjBCjmGeÐ(b?.%2&lǖddݑ.UTw5 `w/y :AxΌ܏3m y0|Qk rF[麟. !i: `fy-OTeI:Dw ; EvѲ1207(%׮ķc#hE7E \E.Fi''05Ո^F$>o45f . oD4LmjC0aX8]\;1nu\z{^LL'p^;7H6sOY Aybl>! $?YS72 Z ǹ]+簁^mft58,C;EΗMYiλ W]["oaNf5{E`ױk1xc'5N5'ۜxJGuX\D]94Þl749 O%E~ 1MnOk8L'~|lkQ@1yX1X]P EƉ)L5XIZ5dgSeF%R|,Ԭ L%d\H7? L} uXB}9[UDVMA~ra2z7'*L+`j>ɫpK.L! , H6@|\+9l)daQ,SdhAF C^服$;fSĈR |TRIӠyB9A4) >M"Q_|^E.$JВbQ<.5)Yo \ ԫy 9Pozj𕬋pX.O6Y|dʳ~K$8VF::6Đ]˼A o4o{>6ZHU+ h[QJ48]2`VNRݮH"ڪT/=6)8m(SZbI(|fA-m},OD?[S,B"U^y P_%uړ5S(LHbۭkqI0lGຑ*S!" ZnJ*L "ꉪ ξ6Euq_t?"d$Ew > O 5,k \$3*ޝ_ ?ȋ+n KM/',Qsfh&^9jKC=Du RQ'VTO*G:5pTHT̴ScR "YWGdJNs}?lLj(l/`4/hU֛|VˎvҖ3Wm6W{w\J"|˜sT@*xuI~OjR_ݷfnˇ1úA Cznj]}u*c%4FD[%j/ZqdDPD^9f֜E^IۥV!K2s fï]ź2/%4E}3C[s8tr 0NWÁRpM֯ݟ3m+_4]QJ*@;ZW\ePÍƞf~/F&T^A!3Y{Nzߒ<2No6*-$ j= dw6p{CƒHZ0͛9V27}Q["Y_)whB>~y] PI W_V0 p .AV{2p:>{1 Du"3 []x> ^lwKR2ۥ~٥&ݨ?x1T7[īًIs5}xk9.b("do}YqdN\b1X]UXԲL|NY{8qM}C2i)r>3PO]u5v7&b^qYDKJҥyJdc R&AnN|ܖ'팵aXC%jwpmQ` 츖7ȵ^ȧaf E4j%A,i-PHJ|\rW :""=?v *]OO zЫV jQ1:Mga5Eoŵe \д#\UNje(@׏c7J,/s7%?ٙc{^Zdm% ukI9 Bbh<"ʨ)?p 7\q,ΰ7ӓX{; _;לly[ &'ed.w' }Gf{M_j*Z6ƽn'@Rp;Am4f|M'rO%fnk7EZ&Λy5L82}SgaI1J.c#j}UUᾞ]tޚ4DӭS~-n>L &,e{nyy?&ERRGK#4Nfiq?XZO/ I`bZP֭Sf,zV<k}w+wj*wN|v s%%mKk'ug(9q9]9$  I"z:(Y4;puwA<x*H(K 1X[=0t{_qO 2Fx p' 4cLsMh~:mt^eMC <ӟR~;,c>==8A> p|FmSmo5KS$?1B>n5NF˴ EVIANF707$ Wg$˔=:+]P7ԫ6Uͦ9U5YBTԭ,O1 Q!;A|~0KeoüNRGz`|`NM" 31{VTX'焏tRrq>Mi յ닯̚70ϫDϥ4gde Y(>OhL0@t+eQy\1=?d"h e=2'Ռ:FҝLa V0T&G^Y$`Jz0Ҿ;iU]_$?g#ڢtZw4k (.aqSfC{ud_nT ą`퇼W:)H%<_J@ Rv#BiWkp, x|aZYPV>+'!9FXBN-סC ?eÄzi 8{5N0F 9CE`0}/GZJB?#N'LkaCjL!nֲMz,6oɚQ-%&IѺ_#Yits:"N~L@o{$jnnUjD˒@ tW$. ܌? aT^$[ɐ`M D, Ǒ~y{u"Y3U%_AG&#%5kR:$!xyjsUDR09tʜGV1ݪ@O PwpoX,5cG)8*f:5~AozxǴԾRdMUU95aHAݬ.#L'9o|Qr7yl&PG C$!xbFʘ$CF KJs~I=$FD!=G2{(f>ba֧bK!Lwސ X֪;ܗb$M_{%u‘ð'߃qD7db=+$Cŀ&2엇S?`|=~i\#l[2P|/x!S9y{>Zm|mANnE~bײp Ee\G?_4`i3Iog  <>+ `.96_7 Oι8¨Slr~0nPu>ƐG1ځuŀ.xcf:inC1p%E0Ca*gd is%xM']b#Dv< lXIqFCd/bhdgHzލx#CэrX0-ƛ=LdEN,;Wl LP> ;UieԽuP2QUEwЋoQniiIq OpG K__XH(fVeŸ9G?S Qq ċv_+ q!М|rΫzP;lچLvZy4zaRqwߗ#1buWhneѹ ;V>n1şod`beD'Ўlv7r<'Ozmy[N`}|u5"eA7$&lNV—\eR#F.3ͺ봴' ;c^i_ #T%ʬs/xC|vb(l3k3WS&*nPLx(~"e/bI%9(ĪwL3;*mԹy3G;|A1$[ع3d\ߙn7ن^{I*p3/N{IH?aLm>`8x*Su/%I"1Ý7vhq* HF >=j>x+(n7__,B(K8KH~b, Qg2v[ ~|?rpckm5C(nMNH@_ߏhp%n=4q,K—0{p(\{=WY;^t'l_ˑVn-TS2|k*֫|/yar`dь۸>;X|\TY&7Ex6JQqpAsA}PrKږGh=B\vkecC5|?:88ٗк&+gXр#mxZm1C#Ic1Řʽ|4%yH4>`iDMvbdM> 96,X M`ԫ>R ^tSNu7z9?X= &:Wŗɳ,y/aq>Pݧ1La^-;/v%Aim-9_Et qho&zj<&H75և?CZN>O吣]$CE@$uXl_ƿ!V%d iˢ; mP*fRU%gDXg#s jDrJadoO<0V$K-2A?4i-1GpNqvO] oyr!f͹zZ 9Iǹic+M(2X4/,"7%Y̡g$z܆-w:8+Ewߏ؎e[:*i5 &#>pӀ#CG2l ~:.q.;Q@)a'qaLXw@Lz7Toʛ9Ƀ`&O<<1r(,Uje<[EP[l쎓 (sxdZ`lb 5]D`Q]B O?_, sUJ2SZ"Xɇ5BނJDߍ}*]vyw5Q F?w4&n$.1< -z9v9+՚wpLD3fqN9Ql˺<B !bw=~U7":8%V8r&Xį\)EOsկI8a&pG!\ L,0Q -*wD޻oTj];OWF~ ʏ" h<[j:vzeD5H 9$mGji+NYf̎(i{"Uƫ XFCǴTeSi;࢏aCuݏOh8 o<`߂OW`}WL\j :Cm$r(3xOae]4hЮx<=d,C 塒xӪqDo&W (em-6^A#;iT>_G.>ޜAm(G~f2zf)S0 qx r[bdW):@l+1ytPe¨ɡkW^ގWMuSO9_+fm|B M˱k򧔸; vqpcG<͊v:$sc{ *CiYj -x^ V9Պ;eZ4H!%Dē7<{ j ; MfœZMkEs4S PFF4HV$}$s]ޡ+/ `yN/yM ,<U(]JlJr dCt[l51ZKmȤϱ|-5L |8ha+(Qo Ŗ#HN"J>TxÛ|㨚9D%zcF`}'{Jɻ)qvGiS:~ 'A-dR}S$orcN-7])M`A:]Lo/ճaJj_yCT&dX,3J=&ˑ%;iHw0Ux[<65%'t&."0J XԋМ'f ?3316(Hks/'=4(SmLлF47H%2 7i c}9+IWT[ćSHzSgМ{i/{^d0B_5}H-ۇuoܢ9A ZE׽xY뎘CyC3*pwի]ݮuHQr$kM?֔bn CE8)c#`jpAC5 N<0~A #=".&!^@qy^HuޮDJ{O aܳ#OϦ- 'm銰H"NilH+fp-1R Fq(=yR<ꠟM^I=uvX(A.C5[_m`|gG@Ra%+[-5zH'uX0&WeHF`u\4`5nT$x%?{9};⚗X'/ A% gADJITKjCGҿ,^A,y#Q%S'5_2ҕ zfс=T#CK6m.9Qw2Jł^ťڳ/fx/aU]OOJ*Hxphzp2A9wQe6Lbßz耘:ϋਊVA  ΋v]-4wv("k;`W>V ^q}4\cZ ,X 0bSgКǕ[%-G3l_> EŭZ;T2l1k/j$v+W҉؈?\Ӵ̍z4YIA:#1c`Xp3Nܽ_,?S]c/p!cUr-S笐*eA[ [ju34Y@W IJPk)ͭ/4&8b{?2k|K-̽ 7rwj<85+?H?!{t K&ڄA֯Y_Ak+2p.wbKhu2C3͝qGX/Aɳše\l>Om0=qoΤ<>6R=%e=df[~HnSz? NDǺlζ6 δWY(c4>}Z %kexNџss)+mf,h 5wA`%z6oΧ*uq R01QMysS;\QsfBv.gx @f$}"]o/KUTT-Q.X!Y}p3alϐݞB>fiEJŦ M$Sh |ߦPʹ>CCXx򠽌&LDFOt$ST٥CA 3.MDVbaAR:6CU-ƒLA̰O(먚Rk^L ڴ$,GEs+_U3~ːZg꣗5b`'Ffz%ﮠ(7ӝ.5.aեWڥMtԧoipv>,.rOB&jů(-6"RWm픆: )] dw]>Hh@׊MgޠAG`Z%Niwzb xs9ĭu)At92-_ثTz.|{m#`jdCZNOxYng|l((ƛpJnkuFi)t5r+E<گ/0d7E^p燦2>8Cѧ{ +o A1jtڄy]%[Z6JY[I8)NgwPK\6Gg >6[/H.5. 5MkDit3&.pg"MޥZԧz;fDz~^^P`RmVlI+˫M8$Qir ڶڙYJNA!Ǭ 7mb-:^@qص5g'] M\]ad*/BU4Bd&mirD;|Q{/^rHDڀl qBycd4Ldv+[ZӘ76% ʫ6\^ja(Kb A"oaV?>6yu}%# |m^֨Wp<^ eDEO҆Jr})'3:tj۟Y]'u,ȡOC$= :!Ԙ<ƶV cf b<_U2UiL#R SJqq♫mMJ s|Aw4_JV| Fĺj]*oL qʤ{=& be.ed8ϝg{us(Br =X "8NT{`+jZ8~wwGX3Zsrmy1VZrR+`lR-jՕM*=XXHuJY줋1`L[ACªϸ,Fhu_rIsAc7zb @( FK۾ *-QL8싅$<}surXX7}x ܍(ǣE\TYY_νBV;s? QxgqA18xOWZ>Ϲ8e_cJlToFDZnS'_ߗo MPΥQZ%Cb7Vd[B|cN+{&^{aQ4M?c}%J T߹&'f1Z_>֕4x~)&o^]<ycsL7͢3],w=IvHj6zDtE֊fppZ.76tx5}`NN13`8!ن)܄'Ĵ$}{]p'Z*mKp2_F/Z`r?Z_ /HjK}XWY~@9AoPF [W;AdM ڽ︯vMEnYb-Ig .S{p}S!L;Qh6=bNϲy4MqW hި:FF~޸MsGmǔ | #K{IFyĚ&{R%KEnWayw-XbW(FN=CkIlƳ.!99Cۏni+\ m6NťB#%N؜).سQ= ph=FKXUt@pM3So9XI*׵ӟ۵yܫYcR}4$,QWmmwm#a_V{BjFĄ1ψQ1M@8'I Qo"ޔf4,IEe,$ٳo^}GPp|li-oɖ hj#& n9;<|T I,d XD%?˩"u {KۢM:lwA) ?QCcT/WP26qe6ffp-}R$YIwxN,Z= 3-^)ysx=]3T*Z ޕvwB2G} [DM|<ƿMsC=<(} %#~ l;ߝcEdc@a* ÀIvrKV/&= \.?1&?)UB֖|)mW9L|R$Ӌ& 2^S$IM)S)ē5rسqWG[ uخV&AfjNSC|p%]#g`6t[םbJN`imt(agةTгU*"'Ë|cv+v6 <G}+eW<[UhK jV%V+Fa7]Ý FM2|0cDn6:yI&B% 'bn'9U;ӟ#h^]/C8Дb:ſirL/t|C};~Qa%NZ> endobj 2 0 obj << /Type /ObjStm /N 60 /First 463 /Length 3147 /Filter /FlateDecode >> stream xZYsG~x̾T˖-ɇ؎K45XK ɯ_ݜilQvRZ}4R24Ӓ9&dI'L SiakИ< $ivL+T`*_`Qkäti ^((7v#ZXpH<SFf^jf  HU+u"2 ppkS u]0PK syA x)@D0TJ0QJ(JO c "&^@-^ Ť&._-sb'I ~SƟﱏ ,_7FՀgjZ2tZ׋qqu1̿&(:C"Y{7(tzCL ߤ&EwJ0T|#d c`GgLw@Np `b>>V#@wYejwb)cLp)lNA &R @K\+Ѕ` H$i<t;@ײ taqW d3O+uEj1TqvHE1`Q:wjj˺?wC9!?/&K4}3B 47K3#@MTR(4T5@/̼Klx#/K^p׌і^mz*RYC 4Jk.TbKqjIL:>KmOPTq2l`D#)|Omxd_Rjen3M*d}毟>myf]4UԦSրEwgD'93Wڝ#$!ˤ6O9Oe~98'i36dI4_&yW-NjjH/G^wxG .̔oscE9DJd9bN|wt\^0G)Xj4.W`}q+·N?CW3W|§/sL+oi}nghOme@tk&FjBiHD=J_er}}=ZM-Us5t|اMi7Lfl_/WhVz^߭:G?F {u~iich7}&2bc"G\U |?c~_5|UϠ J~ wv^е檚f{=/`/Lf97_Oϫ[j1_z翯*-_V Dբ9Ą?).że$'#{ng eFހ(jRu8xj:c4`MGUKUE3pM_jl_?U|~VM0QX>r;Vr'Yo^T JJN0;ZNr>WHOWz\Gt:Z`P}=4rQ aeʧrIB!eT-cŧivO|=NJ!sVQ]ˇ^D@ )Y ŰJ'@z2[/[:m$^< t:6l}.ꄱ4t ~QD[Ϗ@{/IwKMNymrKFSw][i]&)[ש{|O | p쌖}}liِY>rn>WCG G~{"#te;R\6?N-ޑ-Fl/S:w[e;a[mHȖ͗#,):o9nRG-_3$.e:oy6}z'cwRs)oew3k[_»9#\}\XK>DAD~1XnuXU17?>]Gx #抡z@m~ݔjoX[>dYR:ZҔr)WA&av0;b* [>#\;_Tz^M!˃^T'$Y endstream endobj 79 0 obj << /Type /XRef /Index [0 80] /Size 80 /W [1 3 1] /Root 77 0 R /Info 78 0 R /ID [<459B05635877A9E47D2E8E92E00385D9> <459B05635877A9E47D2E8E92E00385D9>] /Length 212 /Filter /FlateDecode >> stream xI2q#b "2D=(PXr%t<ӋMKo cJ1&}؃Q؄]88SU+Pm؁#8-Y)V5s0 PET,CuXjjMTQ-ն~ޣsԺ}ձ:Q])g6,gpp WNyL6 endstream endobj startxref 141593 %%EOF genefilter/inst/doc/independent_filtering_plots.R0000644000175200017520000000543714136071473023365 0ustar00biocbuildbiocbuild## ----knitr, echo=FALSE, results="hide"---------------------------------------- library("knitr") opts_chunk$set(tidy=FALSE,dev="png",fig.show="hide", fig.width=4,fig.height=4.5,dpi=240, message=FALSE,error=FALSE,warning=FALSE) ## ----style, eval=TRUE, echo=FALSE, results="asis"-------------------------- BiocStyle:::latex() ## ----setup, echo=FALSE-------------------------------------------------------- options( width = 80 ) ## ----libraries---------------------------------------------------------------- library("genefilter") library("ALL") data("ALL") ## ----sample_data, cache=TRUE-------------------------------------------------- bcell <- grep("^B", as.character(ALL$BT)) moltyp <- which(as.character(ALL$mol.biol) %in% c("NEG", "BCR/ABL")) ALL_bcrneg <- ALL[, intersect(bcell, moltyp)] ALL_bcrneg$mol.biol <- factor(ALL_bcrneg$mol.biol) n1 <- n2 <- 3 set.seed(1969) use <- unlist(tapply(1:ncol(ALL_bcrneg), ALL_bcrneg$mol.biol, sample, n1)) subsample <- ALL_bcrneg[,use] ## ----stats, cache=TRUE-------------------------------------------------------- S <- rowSds( exprs( subsample ) ) temp <- rowttests( subsample, subsample$mol.biol ) d <- temp$dm p <- temp$p.value t <- temp$statistic ## ----filter_volcano, include=FALSE-------------------------------------------- S_cutoff <- quantile(S, .50) filter_volcano(d, p, S, n1, n2, alpha=.01, S_cutoff) ## ----kappa, include=FALSE----------------------------------------------------- t <- seq(0, 5, length=100) plot(t, kappa_t(t, n1, n2) * S_cutoff, xlab="|T|", ylab="Fold change bound", type="l") ## ----table-------------------------------------------------------------------- table(ALL_bcrneg$mol.biol) ## ----filtered_p--------------------------------------------------------------- S2 <- rowVars(exprs(ALL_bcrneg)) p2 <- rowttests(ALL_bcrneg, "mol.biol")$p.value theta <- seq(0, .5, .1) p_bh <- filtered_p(S2, p2, theta, method="BH") ## ----p_bh--------------------------------------------------------------------- head(p_bh) ## ----rejection_plot----------------------------------------------------------- rejection_plot(p_bh, at="sample", xlim=c(0,.3), ylim=c(0,1000), main="Benjamini & Hochberg adjustment") ## ----filtered_R--------------------------------------------------------------- theta <- seq(0, .80, .01) R_BH <- filtered_R(alpha=.10, S2, p2, theta, method="BH") ## ----R_BH--------------------------------------------------------------------- head(R_BH) ## ----filtered_R_plot---------------------------------------------------------- plot(theta, R_BH, type="l", xlab=expression(theta), ylab="Rejections", main="BH cutoff = 0.1") ## ----sessionInfo, results='asis', echo=FALSE---------------------------------- sessionInfo() |> toLatex() genefilter/inst/doc/independent_filtering_plots.Rnw0000644000175200017520000001521614136046744023731 0ustar00biocbuildbiocbuild%\VignetteIndexEntry{03 - Additional plots for: Independent filtering increases power for detecting differentially expressed genes, Bourgon et al., PNAS (2010)} %\VignettePackage{genefilter} %\VignetteEngine{knitr::knitr} % To compile this document % library('knitr'); rm(list=ls()); knit('independent_filtering_plots.Rnw') \documentclass[10pt]{article} <>= library("knitr") opts_chunk$set(tidy=FALSE,dev="png",fig.show="hide", fig.width=4,fig.height=4.5,dpi=240, message=FALSE,error=FALSE,warning=FALSE) @ <>= BiocStyle:::latex() @ \usepackage{xstring} \newcommand{\thetitle}{Additional plots for: Independent filtering increases power for detecting differentially expressed genes, Bourgon et al., PNAS (2010)} \title{\thetitle} \author{Richard Bourgon and Wolfgang Huber} \begin{document} <>= options( width = 80 ) @ % Make title \maketitle \tableofcontents \vspace{.25in} %%%%%%%% Main text \section{Introduction} This vignette illustrates use of some functions in the \emph{genefilter} package that provide useful diagnostics for independent filtering~\cite{BourgonIndependentFiltering}: \begin{itemize} \item \texttt{kappa\_p} and \texttt{kappa\_t} \item \texttt{filtered\_p} and \texttt{filtered\_R} \item \texttt{filter\_volcano} \item \texttt{rejection\_plot} \end{itemize} \section{Data preparation} Load the ALL data set and the \emph{genefilter} package: <>= library("genefilter") library("ALL") data("ALL") @ Reduce to just two conditions, then take a small subset of arrays from these, with 3 arrays per condition: <>= bcell <- grep("^B", as.character(ALL$BT)) moltyp <- which(as.character(ALL$mol.biol) %in% c("NEG", "BCR/ABL")) ALL_bcrneg <- ALL[, intersect(bcell, moltyp)] ALL_bcrneg$mol.biol <- factor(ALL_bcrneg$mol.biol) n1 <- n2 <- 3 set.seed(1969) use <- unlist(tapply(1:ncol(ALL_bcrneg), ALL_bcrneg$mol.biol, sample, n1)) subsample <- ALL_bcrneg[,use] @ We now use functions from \emph{genefilter} to compute overall standard devation filter statistics as well as standard two-sample $t$ and releated statistics. <>= S <- rowSds( exprs( subsample ) ) temp <- rowttests( subsample, subsample$mol.biol ) d <- temp$dm p <- temp$p.value t <- temp$statistic @ \section{Filtering volcano plot} Filtering on overall standard deviation and then using a standard $t$-statistic induces a lower bound of fold change, albeit one which varies somewhat with the significance of the $t$-statistic. The \texttt{filter\_volcano} function allows you to visualize this effect. <>= S_cutoff <- quantile(S, .50) filter_volcano(d, p, S, n1, n2, alpha=.01, S_cutoff) @ The output is shown in the left panel of Fig.~\ref{fig:volcano}. \begin{figure}[tb] \begin{center} \includegraphics[width=0.49\textwidth]{figure/filter_volcano-1} \includegraphics[width=0.49\textwidth]{figure/kappa-1} \caption{Left panel: plot produced by the \texttt{filter\_volcano} function. Right panel: graph of the \texttt{kappa\_t} function.} \label{fig:volcano} \end{center} \end{figure} The \texttt{kappa\_p} and \texttt{kappa\_t} functions, used to make the volcano plot, compute the fold change bound multiplier as a function of either a $t$-test $p$-value or the $t$-statistic itself. The actual induced bound on the fold change is $\kappa$ times the filter's cutoff on the overall standard deviation. Note that fold change bounds for values of $|T|$ which are close to 0 are not of practical interest because we will not reject the null hypothesis with test statistics in this range. <>= t <- seq(0, 5, length=100) plot(t, kappa_t(t, n1, n2) * S_cutoff, xlab="|T|", ylab="Fold change bound", type="l") @ The plot is shown in the right panel of Fig.~\ref{fig:volcano}. \section{Rejection count plots} \subsection{Across $p$-value cutoffs} The \texttt{filtered\_p} function permits easy simultaneous calculation of unadjusted or adjusted $p$-values over a range of filtering thresholds ($\theta$). Here, we return to the full ``BCR/ABL'' versus ``NEG'' data set, and compute adjusted $p$-values using the method of Benjamini and Hochberg, for a range of different filter stringencies. \begin{figure}[tb] \begin{center} \includegraphics[width=0.49\textwidth]{figure/rejection_plot-1} \includegraphics[width=0.49\textwidth]{figure/filtered_R_plot-1} \caption{Left panel: plot produced by the \texttt{rejection\_plot} function. Right panel: graph of \texttt{theta}.} \label{fig:rej} \end{center} \end{figure} <>= table(ALL_bcrneg$mol.biol) @ <>= S2 <- rowVars(exprs(ALL_bcrneg)) p2 <- rowttests(ALL_bcrneg, "mol.biol")$p.value theta <- seq(0, .5, .1) p_bh <- filtered_p(S2, p2, theta, method="BH") @ <>= head(p_bh) @ The \texttt{rejection\_plot} function takes sets of $p$-values corresponding to different filtering choices --- in the columns of a matrix or in a list --- and shows how rejection count ($R$) relates to the choice of cutoff for the $p$-values. For these data, over a reasonable range of FDR cutoffs, increased filtering corresponds to increased rejections. <>= rejection_plot(p_bh, at="sample", xlim=c(0,.3), ylim=c(0,1000), main="Benjamini & Hochberg adjustment") @ The plot is shown in the left panel of Fig.~\ref{fig:rej}. \subsection{Across filtering fractions} If we select a fixed cutoff for the adjusted $p$-values, we can also look more closely at the relationship between the fraction of null hypotheses filtered and the total number of discoveries. The \texttt{filtered\_R} function wraps \texttt{filtered\_p} and just returns rejection counts. It requires a $p$-value cutoff. <>= theta <- seq(0, .80, .01) R_BH <- filtered_R(alpha=.10, S2, p2, theta, method="BH") @ <>= head(R_BH) @ Because overfiltering (or use of a filter which is inappropriate for the application domain) discards both false and true null hypotheses, very large values of $\theta$ reduce power in this example: <>= plot(theta, R_BH, type="l", xlab=expression(theta), ylab="Rejections", main="BH cutoff = 0.1") @ The plot is shown in the right panel of Fig.~\ref{fig:rej}. %%%%%%%% Session info \section*{Session information} <>= sessionInfo() |> toLatex() @ \begin{thebibliography}{10} \bibitem{BourgonIndependentFiltering} Richard Bourgon, Robert Gentleman and Wolfgang Huber. \newblock Independent filtering increases power for detecting differentially expressed genes. \end{thebibliography} \end{document} genefilter/inst/doc/independent_filtering_plots.pdf0000644000175200017520000151463514136071476023746 0ustar00biocbuildbiocbuild%PDF-1.5 % 42 0 obj << /Length 1754 /Filter /FlateDecode >> stream x[Ks6W`rf"o9m&LvÈD&UŃ(m  ~X` HbXCU@/N1bΑ$8R T Eل(˛,d*$V˲|HTV'SUGx9!l٘*/wS&pBoː3_|§ͅ "E)9!+epƳJgӅiO8ʫ< $W Z씁#V/}[Y.n h^f쇕!3+QWEڎxZ3:J [C0I3J`LPn8'YCP7uNiLX3mIͭr߫$A0ˎbMC8cZNeB:_.[`ۑ_uB;cJ6VeFXsb`# $4_#Lo3M?l )̓mGo 2QcaBLePE fi0evJ]qM1wEuQ1Xc%ă* a RbaT=XvL{(QY>( Lp+ 90mfoW!X:V gߌR %,(%Iy,*ӛJB @CZ;}0$c?"09@Hę-/aN9(ӫS#K8^<Ҙo4y{B^߼ kj6P ~?ϐs|(RvIZd߹I  <;bspS* m'&[ό0Ԕ>sH-*]P;h Rԗk^:d(-e+|}9Ё SJDyspujv6 QBl:5ktZ Z endstream endobj 62 0 obj << /Length 2432 /Filter /FlateDecode >> stream xkoF\q2onp_:hhb܁()E"e%ŕK~ ("3; 4|LJw'aS'gBTp1dHZ0".F借~$b<{ m7,$Q(dvIB(ӄj`|۽wu?z[KT&F %j8RP'ѫ$}j? .*d ґHG/eҭ]\bj/X2#5/8yEϪ<)[d(YV;|\7f˾aDY0dHhySb;T;:^IEr )$-O!/mEpvk!JN頜U#.ym(Gnz^Ǹ/7!s% ֕Yˉcs i`X\\tk8a78R~vN*+8@wm_CM84O&u=  ͈XUp_E$d>>hu^|/ ZԤ!1ڮ13&UR&u>5G>q^Q8*Ί\"=3.Ӄʴh~=Ip,]Pka.$ʚ0 i2.$oIh5T 3Q9Ȋhp}̓RX;PeǽέDrt.?~wre?a1Y@Y*o@K*6KU٩q֦İ .`ȵiZECnh3eZYN$P joghue+ X{iCxV̻iB :(9.s?LbAf4k"u m^;R3@~9f7n&kRk٤ȰMqɿqB t!BdLu=WLD09ᮆ2XGs`o4AAӁ^Z3{Νʯ;w[XMV-Cߖᵋ$'i¶b BG/XgQD]Uma/6Vmm<ހkY#k4ӡTŸȐW @L]l&j|ZbVcjxm7q/I2* ROlaYk{z{є~>#Gx#>'xZj0r@1vtɶM[cAV:6U.Msu%loݼqs-$/=C7-ñ+pm"E}/Kb[4.zjAY_t1O`7.XKi8H7:+~s-L륒9ʻ Ǧ qd81fJ'IrM*IyBx(+VvJB.13wۊugSB@ۦ .De-v-!< rK[I ӄ &b22NH(!%eZM΄Vqd=w endstream endobj 57 0 obj << /Type /XObject /Subtype /Image /Width 1816 /Height 943 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 63398 /Filter /FlateDecode >> stream xg`UۆHǂ`{A`A?}^yU7ХHtAiH$MLۙg̵gLZz0B!$hִ̪MB "hۋ B &iދ !p xD!"!B/B!"!B/B!"!B/B!"!B/ҋBEzBH/BEB!"H!^ !Ћ"!z1^3|X$38K3!Ћ>x_3fB}b,̈́B/H6G{zBEz^$z^3.֛_]PB/ҋmo..BEz IϽP!"{/nں.BE{#ɋJ̿ D ЋŻyf$B?Ћ;PFAB z#3G ^TH^WTЋt ZjEoU}-FJJ` /2^t|,|>M4I/ϋo./8Q{7@Ew^,!zQ}^4nh97?UЋ^t-w_O?EUEԏޟ/AxA /n7h ȢbEB/z"?'0^ zH/ҋ̙ zQًO|I #ӋJρxś ]xr/~l"a4 ܋o1^T_?,h1 ҋJi/6"Rp^lqD/ҋ*>g$ZK- 3s@VEҘ^t; z^T?cEB/ҋ"2-.@Ez^3Ac^`H/L#3/EpB/FY)E/ O/ՋAEm{8/N.0 "+H|p( 9/k+_/Ћ M`3$B/j̋5ôx^Ԕh-ʺu Xq#/*-b:I]zQ+0!FЋbM ={q<12U6xbE/~b55-Rsc_ zQ;^J28"-bE_/~lVEv/6F~[k[{s/^m& "i&vEC'/X+أSz mSR,ROhH/ҋڤd/*x1Ǔы 0ˮŵ&71//ЋLe$@Ex1IK'- 6W ^?a"Kl'Ӌ, HW 5 ^<d/3O!mav/NOS^ϥ HDkЋ~/El4OZ/-ls݋BmPys%Vwt9xA7 5/ً ]GiJQy6d 5Aa/j1d/Ns`sʋ4CEp.ω3^ԌMi.^g'Áv/ 2iX_|^ b0 ^Ԏ✴b ')q{Qy~Q` @Ex9MB)^4'mwEEf{Tr>^bDA5ESƘ\f +Es֮]kt"lfDl/ 5ES>15jO'?]5O7:l^1qfJ`@EMyd*9+6aoNm_KEp"qi E/0"PFЋ;m 48EE&97: yA^$"h:
ttCysdʋ-/6~oC-Ex H46!8)eu Ѳ)RiEp1z1"pFЋɔҪ3+/~j1aaEV1"B/F} uwׯg4;(/-\JqåxA)%&^zQ}t3 V3Q "H/xA9z^xA) H/ҋ H0Q "H/+ RcH/ҋz gDB/ҋRB/ҋ2"yEzQ\EzQ\ H.@Ez^Է B/ҋ1"GIEzQ܈όEzQ܄C8ۄЋ"S~A 0Q "H/ꙛ H60Q "H/nA{q@Ez^3 `^pӋz6 d3B/ҋw3"i,FЋ"g\F"EzQ܉ >`6@EylY5!b`]A (zQ[^< ÖC > H*0Q X(FdNzN 3 ^Ԑ˧YK=غݝEvS5oYeӿyk#{эA c/g8[/&Vd}azۤv7杛h l#p (zQ;^ŘxEYM7׶@?Hy-ň~ $ B/jƋ9{1f^ 2|yjRԥfI6|}ZœӺ:yqyZ!q^ЋA,d/h1fP^lִJg='fJNLr≳L -Fz12ndDŌ5Ů^I?/7W?Oű)s?#q ,a/Nu71YӁas'٧z9x&b_\ 5q ?GN6/44:#x" Ԟb2";5{/NwyR%^\j NH/F,Ad;'@ExW/nދxqaM7zqyV8u <mJFЋ&/x.^{(61'/g5#q% X(zQ3^sX^LunB:x iKz1byW0"B/݋.^ Ћ&Ӟaw5S܋-#'q9 X(zQ;^,G#&fRM^4S7],b|Q)_ z1byEӞőŦ`x_g(yg߉!b :1"5ES`bҪUi*bŹыsA ey"^ԄMı4,-^4%–KbukjafV43"뀍5EF 5}smy"r{L3ayy?QRSSsHy\ J=!Vi6)jO:~\ZO%xoz1x`zQ^4=eْԴu{''.?G1^HzAd5Q ~xdz^L?ryc Hb[$/>G/ҋIDm|N/GF%hXS;Kb?>zQ^,^>qČMU^l2L#/0 "0 8(|ϗ^ԩ>z 뱛UM+|2z5 1 #[->dzG/ӋeV8mMza@wz80NkoB0T[{o#<{.xTy\\\W7oq͐hG/ @> 0(.W 'O/<߻Q8L9a0_ft#M4u6Ӌ: )r@EmyqPq̋P#gZdы:D{B6iES9^QveZ\Rn^˔J4E}Y |/zQ^\E4r>e;OՋ'γU\mY^ZY)tha-F/݋/z1ؾX7+zqyE=‘xha{˿Ow/ަ!Fqzt5@abazQL2~h] }}X^IRSE2Q/19==t߀E{qwy {^䐻BπR Q% l;9ŗ^ԻS\xO;Cs܋oH $khע؆G l˿Ӌ#oVMxq-U,^޼ʛr/y35/ >eD;hMb;dzҋ#\ŽMxU\3')by/|C4^야XvV C^^MEZE2R_55crbYY?.'zђA7V0,C{F B/ulgX)/Vr$m7wŜ]h2G/&'.?Gs,3HO 4pŊ En/r7k izH;v_H^4g^O 3#8 t+p1~{ol0NNjTAXh2-PfųG =$/_ԷͽV؇uzFAY\ zQdixQ;;?^QK.n|V_,-BWzQ}l2 O2Ћʔg/ LT_quzQ} (<+B/KOJ8櫯V< 2^Kv/Ҟj71_F/d` p1^/D7Ƒ}+BUeڡB/܋ڷo^CE(܅ z^T)i/A "H/ ` pz0^E] Lcn} EzQ&3 ]@Ez^5G NLH/ҋ*(# p-z2^E]*<]/٣EzB` p~/ .xb;O H/ҋ$`xZ{m|Ŗʱ<"H/@)F2 Y wB<"H/)1 V8ҋ"H(tċPqxEz^$Q b?dcfҋ"H kU2/ҋ"H$_3g t~=Qҋ"Hd- ӢGҋ"H1>cZ] BsJBz^If@}(֨"H/iMGWOXG/ҋ" |t"PЋ"{$DEzQhkB`B/ы7\ӋC]CzQ}^< oCBzQ^0:xRfACD0Q ʼHHs1z1v8EB:N4^ $`(z^$J< )&0 ^=;GB/ҋD܀;IEo~`*@Ez[уA`H/}sb~aH/}s7`sB/ҋD܋n d`@EzЕA,dH/}gKB/ҋDXDz^$ tQZjnS,+Y"H/}4.SjעXa "HM/\: RXl6Dz^$tt.yb%Ћ"7/|׉{$/f(-,^y\'J^Q,;X"H/}gN̒X,X"H/}ZN,WX,X"H/}+LXf "H'8]a񀭶XDz^$ 4R^w`Ab1Hg "Hר ؙ d3 ^ÌEoEo@@EzQqFЋ"7cBFA;bH/}=(T0 ^Ȳ)aH/}38(`_NB/ҋ2!^~`NP \Ћ"CB}űE:fϼײ@X1EFЋb} 4 Qg3^LR xɫ ``gH/`͌ёA "^E-6F#,lfldl4 EwZFc| z^$z, بT728'sTUbNEz,iؖul3sT>S6pnkj) ﰸzQ Wol~'\њgQzQ9S6Zo.PR)>bq%o_ښܼg=*XdcH|ErD_-w8bo+WB/*$pwg9[Y8'Js5$AGrykSf3TW1 GHŊTgi%ₛe27@7aiN Gd}Û!8n)IqƀtIJJ4*bw6 @j)ύ"Q/-~Ŵ6`i ZbV6|+=n%?_v$99[3~F/ᕎs-U/>c1a&T0yҌw{vzq?7֪@TYY7md/K.s^EEq<.>Ľ*`KѠ ۠ ݒ-5Ҩ?W>1k^^$.f̬뱗M`)Ф/8}BSd#_-u{cO-z `㧤뷨,ыDC}t SGŧX49QE^U#Bb7 z#Zvy ^$_F%4 8#Q,RƔ}CSz3 &BG>^,Zir}4~5G򫍁QӋDL0 &׈=CbT-zqAס нuT_ |O/+7l 3^bI/Ћ Q0Fkh,"H8*Wl,bgw0A[{iĭ^Gt<[7 ;ٷ,H/ҋIu6Ɖ^4qK\Wم9bl߷Ktnz^$j_S;\.ip%I4 Wt@H}׈_gIwzƮcEB>Ӭ=c_[0P[ɋZBo[&m,^ xW[\srO d8(Sb{^l:A4I OV]cɐKN!@9k%q,\D/a̋%~[o'Y x?xDB YE/~'v"Ҥkן|) \ ’>ƪ C7+z}4ELzDwOb;pN`& $|TO "̋-Gՠ]ݯjЋ-@[/JX*iuߌw/\m3ftq4/r^n"^ޙ*>y4<^궨z.wtm`U`~pi(j~raSuS_/,Q̋/M%-?}}ͯay%ϑ"n36i 8Δn9-.\|$ݥ=f3bpo@7">T9o cj0%d}.S7R dYIa_]W5G5~PAtrP`0:)@OXv)~I>Z^:X\~eU5WV9lrk=#r]|#GX؋[[[9ònzHΧ>nȌX3ѪXe1/N,:)#sݝЋj&exvR;ä_'z/w Y eqhRbg/Loh8Q#&^Trb%/Fw3: $?82uII{ԍ^$$6 Oy^ZҢ!?Bʋy8PnEֽҋDg#hŲ]_H ^X--CARz%/# %3[Z{}_KڼXK/0CrKEv{ @>KC/_ HxpȮݾ_(8tPz n{ePK6ҋ@7Ymd\cݳIp,cK%z16'է*|rUݽVa~B5,z-ɋ7ЋO5[] R"S{SqAa/?N|oW%/^7YF/=PuYjn30_)䷇K cȝyŨ/srn7+bZ0sIXI/FV5UG+> }B˕v1}c=|0G)gkw) ? =4t8}T#zD0W{Q} 5Ufd>Iq9_ݰyڞlodBhxiFNۀGEɈò?Kˆ 8k.Q&ϓ1T_I F% Wq2/6Aζ_tI$S'|]{Yo_Qmƭ芻tyiql=ɅŸy\ߖy`TK[>s2/6&M%A/&ad/P:~U} ϸX4]lK6fȫE=${722/^ |4w$pxwbzSE/*5|D/%{M^%Eluo[Z#ӵiN}Y#?Z9CmO8>Fы(2^bA3bi| IyΟOvn{9Z:#ˋi7o)Ћ z7H2l&TIR͕@xjX,/ښ!wP`4%x~&ӪWT{" ;{L6 N염Ws3F[ƓY@^+.Pg!l/F-k^NEjVkwXd"Nbl"÷V.O՗bɷrr៽~ 8zʚ释<+dO;\`RQʋ/x^"Q5)`Lux-&Z[se^\#T]7YvX#/?zrD9;=^\5gJ^ QxT`nLelMnykRzR`#pCw8}_V;w0\TuwkO+b]zыk-}x&~ҋD4x9}/@Tk :oeDžd7UQH/g_LzQ/sqzPk!|v~=rRL[Bu`{e{x,8((8R7zK%)H\Zo6jŠl@* na2cKB_r/.duwo4,$믣 @D7n3Mnx˧o)qH'/ Ttbdث|X-EV#J/ ^,`GDqVr/ߝT?HHxwsDٟ^>պzXȡyv|Ϛ c>{}֪h{-6wSc5FsƿooOK=D}It{'j^$uǩ wfħdjJs/y{ulsSCC\vv-_Tߩ $ՍXrțT$x~˼x1y@'z2|3gh#Ϗ%g^N8 H}:TW6;IacM{Z mp,-{{-_YZ-wn= aM^x4w&N/b}>uh=S тv[UH{<*07oXrl$ʣͅ-MK|-Y~l\tYZ=bߐ> XbcgHpH_V%lP*abm' MzL&#mꡲ 3ŋXtU~O;+. p4Fr/Y}U2 LT~-dû~,_bUIl2Vt4|ivZ* K)Q﷾v9?"!nTj)yLwyl(5a-0JدDѕ^,ك̙֡I}qNṯ ii'–*S;Zջ}j)IqR|oQ%{4S5p"qRqj&_ޙ咲.a ԤFjF[:!>5,޻h辯{KP{wZFk:s5h&hHjZqzkc4ǵ:{=<1Y0ҥS<{ƛ<_w|K`k톂P[Ҡ50E3GQ̘ZL/)=8zxd (!;%4x]ò\>MYmg*/漨5EvhutJ$%m@?y )O>7^c(zvXJwMza K119ER)e+ >urcT NXŇްج8XћOq@_I,rXOȼKz^$C}M]P.ZZsy+>&(+d h&cϠu&kb*{rR^,pH4úo· Sol-A-6nKNÑ*Y*9SOHZ76VE"Ez zRZ\1T%e%3d) *9S],≷'ІW^$$0y.ӕzCɗUATJUou^_ދ[g b qK*XnuEmH ݿ( ז iO9T*q2QyܯvRQv}ڑgfyEBܳ/3Be0f$)b5JuX޵)5<*3sӋ"!clgh\I= +ć;~Qzwr=?N/zqܹ:z&‹psݢs꼌=ieu]*Hqidoc蠁V"K> zWt8X ORV]V*fVKN9e@Z^6ؽk {Ojqw2:mOw}"HH$ykW , G'X}YK ؞-ԁi![/jL{'z=H/R+I^5{L?l y öR\d#sV-?Z7yО^ qW_us /MyFG_Vi-a&ջݜ iL?.1S EBX[)MPUҐMRێja8ҊN8q {Ԓ=),sEἀ Џ=u(ltICɴlyW'}>~ڕ?fdsیɥf+Қf&S8dFn*ⵡ{/VY_t~F5[ HɿD@=Ze5;bl}^Zbi~rИ3ֶ[(qcɔ=Phߙ#Gۣ[Ӭ_gꎖ{Urv[>pJ;>M?ы9~wz^$ȼ1NK"r,#`_XgMRf'dO~ $ywpdb6S' o2,:nR ą~ySW2oVʭVŎ cthZ{M'{GӋD5{ >^Mv*`)س!LO%"GܿA}J+>wkk$l5I rHizJ~gٮEKGL6/L޸k "Q3|W;{Zt0 oVEBoҜ*3̛Wa]1{TXK0*piDS̒sdbx+KUj=yQ7I_N/01vMnx;wRk{M_^4dtlc,;ҫ3mMvIM,*o#R/'L2/5D봁Ҭ, ЋZ^$cܳpҏ+)?xnb,r&UJ: %F {MubbpKMR9uCE esms0oV%-9ULiQ yR5\v2xm(=*, xRvbb ^׶1ɼCЋDyF~V^Fһ-Z,^pmÙhVʥbJ"ɠH'X%HqZZ^ d&k>Gx`:ba1 $L~MiOZھ1ΩHay;&Is;V׾5.tٛhZ Ed_ʱ+m&q[5,[Sf_\NH m1E=6#sB?K/+yX'l\{3 4f;ҍͶ}sZh>Vrc޾]{su4{+|[u13saibܼtU_QWIL/ [7t i{dEzD8R]nwM?p3 RGY=rWXa胨-*{φZn2u@xy.zLrL'?%KymJJ-] v8HI[7ǰBHvCG6jҋD?,n5\oc*F G84;^g]7kޙ2/*=k0bw-{Omt?`_fwUe[F8LL{s4P,L8n^˓qLV80f`l|4^F% M!ʾs-Yz臭=)d q0[6(i'LusX-7* بS<6&e&jB'c /BBGuCy.GaKMux*rCLGA|;HÉn:˙ɲ6x/rK|=qW*l Gd,K}4@dw*85-)Zl mͰ^CjыD?kY4[il,~W纂-uMVIyk6tUsS$jͫ_>iŇ12>'H[[+8ʱ6H/ձ:D>I5.:'=\`\ϸ,k&vQ:~?mYa ˶Budɤ?'N^$- Qw(=;[brx?V<@Fxƌ' b( yoI^$= '*{}JajQ[KdpCvy;eے{h>ӗtR')=Cނd eR6uqx`v."!Uzgtv#C!% 4s5!t SR2K /5ȯFR}1f0jS7p ~ n8. ]"!qʏZtٯJdS[^ ͲJC&b)Lo^}B~jRӬ.5;ɹQRѱqS훟`ᓲ]+H_?]tӋҭvU6MUe+r@:޻S(KIW]rΡ>{jrT>9 _y֨qsvYǷ/[)/3IS3PeSkMKlt =v˴u .V'D36 :nHuX7-fK.ޱUqM"܋^7>5} e%Y$.k|llɣ{󂐋h4ȅAOdL?^!C/3K~^MrTǗ ͫ%8; wR aq4b+(Ch\17R!^DiǻaEB% "!na簖b{O >O.!ɨ[*-b~лk&*n(eUm;,T=Cng oI\dG }X-rE&Lcg\c[uZڬԯyӖWʦ哰؅}dA^4J=Kn }Dse1=ME)V޷ -+F)6c [ 6x4ZZ',l4O'uILsg!#yn66x1flxa0,]s%]c ~p꠬Q0ьŒf4HQ͌Rw+sꮺ]TթjMkt?oT]ԩw{p"y2Rt%n ;[O+2ŭv]zMtP'E%.FN 9]b}ϴ+|55\klQ~aHw)\SĎW;vJY=}h]\?yM>WWb\ĸD'#E=۶Peٓt@U[7iW0lbGޣS8>D67C-m)o/"ݨ x$F'j7>WW4k 'kCnrG-[7k"r$itʯ'e [)ڥ?g\^ѯwSø<_j<9FiÊ)36 1Z|khq#E,+z_W-3"UGLa!^'zZx*9BC슢xNSԁ5u> }⑉Ivd<x?fsQ7ysx?w_5ӱ%'T=抰{f ɥrwޣ+v!GEF=,'.P:d!]ȣ=soX۱M!Xiڇ /^ljI %bHvz,s$niӴ 2N׆Zt\<2\X`\W5!3xJɘ,6޺EYJN>EK` pF~<(H+RAD;DP˘sHmx2YxM:oKvJ\Ip=D2fňWMVo(1bW<9C,`X뛗/(qKewO 7eW";ؖ^$r\.*Wl vQM 9!78<&d:BJ1csSogr)EHvʕ|*ox9!mDM)瓊 ~ۛ1.b1R΄2騺=`s,IcsHU4rzRn$t4d!E>Yq E= rJ=Ƹxmyф‡ AF:$ㅷTCn=g].T! Ŋ62Q9-!/p1(fl]qU3QMY#B4,GPcaϷ+iA ^UyI>hntύ!bYϞ0U a6qYmΛd3skI꺗s."n~q#>Ƌ l|胋;O&ܗJia\f!j^ ȻGtf_c笊*n!q@F*O""ݦs˩64b-rjb>DNg"%E mhsF-̻k¶[P$~|s!rtkZ‰q"$+ !e%z۬F ꅄDf(p0,zebc{tlLM3%#\rl8e2i&]xYTIN`I遛w ae]XWOu|N "|n/^;җq"$P NȕޗHn5 u6kjgwmHNN%1^DҥgǗUnŻA}W(؃""D鸩4avШkoQyYB"zJ0.b\b- HVc{LR/RhBeCڐ89#L瓝{}V_EdONe#E86S9:Il(ЂCj] A꧂Z{B:c/p-)>EX1^\1 wx֖n!ʖ4S-j^p^m$4.ΰ7=s{ Uhݵ49:/&"g%!ࢰB<-I0 RSzV v  k7i!rŽt=eAv2lٲ7gfE̷;ͭ%.¸%uny/ ;\"bOte _|:W/)ʋ7|_R}_vH"9jSLH=(jRʐ|bO`J!TUD`.]ζzY({OH6/9kk|#n-ݸd "$Pʅ98[$#VB]o\KT).σT闸&G!&3ĵ6HJ#M+O, ()9kfqE6 )BFbֽ).߁σ+hdX])G9xV'ժF(0e_?ef]4ht67}$Hu~a7q̚ 沜|&8؁D6Ăqc[@)t'A+47O&sOfD]ݚQOΏ Ooʣ~{Tj:-Aw$"V<$+E YNEs0)K5}ld-qᕣ\/]۳\(i NHf俯cki:`ߤe[{v 6 7Hnܽ(NVxavd)֐ 2{nK=ҊOԜ6Eޕwn]1I>'6h)hю v:cVct" %^ i5db?bRuٝf"pۧhP HH2<\@%bifvXJF]m*nH1 #gA6 {LΥ݌Z# r#mBep,)ϡ͝DcaI?|m 486\0.M}[ܷ*/9ONznayv5bdB%G@5rSz_i)dG_P,SV6$P 8"I5O8%v ja3D :e Z< ôL=`:X.Ѧ8eɬkZqTeXK k#ೂWa @RJrj:R rtQL[0ۣ/W`aZN7ޮ|ϚiLBOs {5'q<:[7AX:JZ =1E,ONG$xU4Y+3pAjrnrkՒe96=g׎w&s0ݍ)ۃ BUD$(+vO|u-< e:f/̅x"X2d\x " v ] NDϖOn7¿3-a\ĸXI/hP{3 s#tjWBjv_!;UJ~8o}(ʦa*92!-KׄRTf5pB싧 CLkLA̧í*eЈnGg{"FgWΑ$(eqCE7ýss"(y{B caU⎸yaj+!kҌRqCT$ʘvDƯ[^2{D=2J90o?P1"V~1F3Yp5ͻ¸ѴsZ{FhrX"%2ue=x J{1iҕ9 ߉ۼ#uD9 |J .Id]]C'2@X)ܸ?p̚bG 2 $BgI*c GGelE,.'U:RgJ:5bC;V? YHp~`l>W S^5EGpFfj凗עǴDzj,}+>='o*>z.cp ÍgaǐwXC|[/2f#,Fgb\rN??ٕe3$a.˨S hHH4ʁ$u{o5KmnSԁ9gIŝ'r% p RyxYm=Se+=ֈ3yS-W-^}qRAgݯìIxn89JZXlz"n+P(IoOG.ƒEcI+۷k8mF/H+N|VӦ'N%{c dPx{Lۋ;(v͢%,|CZd?j ;ȗû)5邶@h;J5-0HhQ YEJI`0 'n #@N!#ƒAս%N+Ly&Ԁs+ݜ?4Q })L'{q؂q"hKb; Ui# 5q1O>(ϳJVLX1g#;E,̇jV4 _wNvm 42K 2~ ,TY(fG y`op>0R,[}*OVB9ve4# $߸DjTF%8ȧ 虋r=[MRX0.Fieho r+xkHSlܪTkz>%hfA ZDB6m`.3ieq4 Ipg2ȶ P*\F:gLJ~I څL).P*dl#52N5rlU'X¦g"7Qko..Տ ][Q7Yk?fyU褙x":WH m(lG%%K؞'rKJOÌ?׉F57/#;;u#3j Ztn+\\[`SC ,huЂL:n) i3ȡPkEKvL)-‚q&7~jn4Jb8BY2Bz +EPWU>+^`vi}Y_:}bF9M|ng{}觰 G3.9r<0]g PT.~ {h\L&.Cjk֫ SuȋMdH.epÞw>g] |Um/"3M$%g-d.7hȟ"`uu@hn/F&=:;+ v,lvER<(4zW^rwZǔ)G'eݨvUR!WGGI-xbhA8[ˮzƯGl;0.b\ I7VXWHP Bao/iPQzsEron| 9>b<?9 wa#%^~)JdY0b/0ݥM޶輦u5\4q1cН |he%xĿx(fL.k?*7S9\MU 't,$fIc!0>ۏ1.&",@F$sފE9}T뉢׃g wn!6c9} 2VPިb(P7 Lp[Տߡjhu^h"lo [Rь]317^XæY3 Qt/"@j;tJF)*9Y,Nx$vQoܱyJu< []9Z}&TC*vd=NkctWrW$5R MFӉ SLԥS /K唭YN}FAqɏ&KlEZ"$$bxWu,,' Kx;ex0Z5Ϋ؋tNF]uqfi=%, |vG3a7f*9* L)XR616iPw_vZ QfD=v8utga|jvHi~w_V( GyqiP$lސbs`rpAuJލ'i ѽ4vW*PGV1.^g,{s9e? 9Ok{?yο|jWFS\GÎKw#>[|NLm"s[b.lcaK')l9"TKsK?ٮQu'}n;GFo+FJIX[`\ĸx9dZ^d {-H.ϴFRd}ծ ,'tLP''G9*0*zD_!9m9 }43.kܹcC\#>Fd's;pU򎅆BX/xq1.^i H\' @ 㘅D н3]jLq⛕<57/!F$lـL*vh0كf=5c\ĸYU\<k+.K NbzXk+$tHpRщc=jсIFT \- >c2 W۾]'bg\3xZS%`1ˑš]fTFbxK FLj}w"E,YJ&y٭!Ҹn$-g|$#۳Ha ҲĞYfHsdAVHq.`.CIw3g9y$኱RVE1 6AQrl E}e([IxMK^«X5[Ɠ ] /?U6"E,ɓD.ZyEZuޢ v^ɫ |H8醶f(24d?{ 0r镶Dmi< uxFyY:5a,ߓ* %֙Nff8 ޾3y6fJ刢hNt7B+JxMEQcT0fP1.b1Fe >ʉjE,S~9ȥV4!)!?>j>ǦYt"Lhؠ\+ ģKo=S2baW#"$BU—rߐ_1.b\r+C9vZ""Tr Y_#\3sbz|QpZ.?>r[&?62ˆeGt~>yhwj 7C$ݢrH<>-ΠZ}SẄSİ:|VT\-h޽(P4&rLwͭj:o%ww%E>.H3D6-J F%J1KApԘp[ci$TR-/h+\.{]e4;4Ƀv 65`SwS++Fhj(JhcŕL"89ѣU>$e~Z粤YYoqexFr<9Ǡ.Xz葕올JKBۓk~یLOrtGpȻ `Q%r'\Pnׁt({7x "˨V_onE )'MwOרu6};1L rQQi?"tzQa{3m= ߭ƻz‹L_o\,x"d=+Kej>)!zIȂو+vh1=1-jNY@0iF.ƔԋW&#^BE`oC}69_b KIJh,t M+rE2ü"9.QVO;f:ȍnc>vgquE/^3 Wꋪ%<S>"$EJ ߺbZSgɨej,نM lsDN"Cɦc$drFo*F9KcR6(BIR=&sC!2|VbVN;62oZV5:=+$, GquciW#b5wNlFΚlq56抌L.^?T!ir0jf=mcbxZB4yQf^CqKr|}/qyYQOeJ] Ӧe|XKnF:Sr$ FKEX0.^(\$^|rhէic*HfZ8=P-)S\qqpt{=z1c e7RF `"x%'Ch=oCcl! 1̓o;kAlժj/BpMS_c\8-GxF"YBDV,๣nT.@fJA U#˚güp8DTts<;"{vh(E1`\heǯr!2tWg Mzi}?^ZA_)pMS(D݌?Z3.c~W/P*#w.)jGL_;V7=Xoф^|]ʻ8=39>>&Fٹ2ƀ?00TË nfPd6W a) - EX6K" {򣉄yZKo&|ԎsqB8ŷxqᢰ =U ^SwQ.}LVU J{˨3yΖ勁G1V$vv$7>]f&i>&fD+~HWI^z‹_DDTq{uY+_cW۩|e@i-jkw@lBL}ڹRߢsm?'bc1.b\6l)²?B($/sBq\K%Ia-y 79 E R+#zB> rm@wL3zl/WЫKz{6]=B`z zHcd|2=Dlq!t>X;iY?!hmYҨV9J`\rieLl.zq;M `=Fu8V,xJn0M#{IinWb\VzX01m>$iEPs!]F&X龷?W"),`Sc[bY%5(lzSyLu,3 Ȩ6ҭcrBfR \b`)E y'L|)z4rU-' MMȓuou2;l |kQ,+1jxR]I`3p\T9< G3\򹊽ytvcq#-4T9Z/,PVߗ2<`↫DKme~JheQ,3-`\ĸ%rx~M~:u$i Ā=$qLEGuy(@io= ܮR݀x+LG킟#%NeQ U1A4fmQ_3rOB*|eK au4%WWBKmY4-eNBCu=P];c|&q ,ǡuc TޠjDd1}B.13teUvl>[ymq^;Br^M\`?xr('AksZ˅9]z!X" y@(>\[]" Dp >|~y\{>iN ܡ;<5`1{Xsn2qzH>½*m|z*FWuG<ὐi! |ڒ}'(ϔ.q5h֟^`>o*f"E,a7?h&yUh1K/Bnذ mIjEν<=mؘEnN.quyHL<R3'ɨǻF?7#mP|®ڙ^Q]!><="M% LNmrqͽkV=2'(bn-]K0mȇ99Vszط*Z|t#~u E,\FcaW\Ju=n@&ohͪ4c>>L_, B:ɍ/{pY?4j s]Sy|S%+{Y0ny-֚(QZnwqn/"J-8AٔY^Ffg!-\t&*\hG% ;zBaDH<gL}O@j|0cm|'OTQ-Ԣ Q^BmX9`tC8YYN3"ttHT|JuaqEIm|T|@ :|v-.F;:)o\֯y}V}Ȩ46eLs+D> >qL]7"~~Z)#IkKyuB[=Q\.|e*/X"W6$Hwb8U- "wCE]\)N1H d_ab}ϣ 6&%P? &0vL>oM 9_gL*:3 㗋 E,X`^ohZ,]&mnVK.$xhbwF=UZ2`0.~CVsK*&Tٹ"k[rkDTC%=HMJ]L. M:{'JYt5pbL՗I!2" ĬcSPT*>Y(M&GKRtGt@!8owM?i0.~| I#YmGEYk$(L~/aI>&g _%[ -C4HMwy;HY`B݉R71H_I 9o\i<y {!eRbُ{D1TT6Љ8ߍ,f890,{6~)wѕ؂&:eaŚD˦cػ;j V#dz#BOԵ>h7QFNv1$[!% 2Ŀ!!~n)G/%!j9m%\\pY]V/cJsAZ!Fo ~#dT βpm|^_/XC3WU^SKQD"cZ܆ALlzpr:t} ) ҏzWK~<"C-/&Ѫśԁ9+_l11$ ai>qZt6~x'QbïY{kbJ|.*%3i/f?faHyzq}ھQoa=GP%Ej4h\T`nTf.H޽73ŘB?@4*#<@SEj (ꏃA'IR' 4j2UuVl2B]/Ǩ2y,. ye}HDz嶘cّ_0kˆԧ"m&Xt>+r]@ץK~)R7{ۧϮoSS]AY7/mJB`\RݿHnN 8Au&N [ 7")ji™+.{Wc U\ܗqݡU4i+D` r ~?Ɲ{lqyFK^Y=,kADԙS'`eUI5JzS"FMV;|K#v젯iޥQg珋ő5R^| c2$]GS|ۻ34 $u$=%{VMObB Bx:LU2DMݘBx`VzQQUqOE*ǭEW2Ge<<;ES3T[Paϙ 珋|F"bd[k:hFX2 FFsbhƒFǪY- onbݰ'atZ!ۚ!U23v*s]b:dE Q;>{#l~b"FK['wC0~})E;존6ڙuIS)ahf[F ̕r!AJuM: ʐv^ID_q Y'Vk;v_T> s&&إ^U؆(LiL;r3ΠG8OhfP]`HL/F]-_q=b(g|LnU*x~gYأh]G70(f32O8> sO0.b\/AiBFQy זm%RPetU\;Ag~9vEAΫj.Q3Ms3˄ ogtW 0Cbr], WEȦ$= +}`ªNp@_`yfPv?5-O]!Nu>Do%{f tR,1.tIV %2Rc-fJ)_&jm˥d֓=㚮 "Y\cPR c¹wfF&1ۍ}=[5/Vw'ǶPԉ\qoG<,㺪D?2dg sڪđZBܵY6\Q-"HjS"aHs{1sj<@u~|IEFԷ0]bNS|sYBB!}B`llC%"3?XPq/mL)2: oW1o8 VaAkdeoS&i.Lh<e >6EEBA9{S(RA ?(}:8j+Qխgu>PZ`Mliɑ/uI⹈+ZṂDHP/s^+5KP2\<k{{װ!?>]a͌FCzE 9` ȃ7 L*]|J\sH# pjE5F>bk4gOg.gtD.:_RX0.FcýlQg1cϠwϣ Y]]۹z1#v.Q{ }>dh4 o24/? ?4L#gŦO79Ą&NbdІS<3c =|J- I U1`iaA- {z,X:gȇX,Qeg\x[_&[{ya_=#-HR]rp8/Q{eiR"UWqCjBL/>dvhu cA0Ԕhskr$̻z c/ .g\|KTVB{Շrwhl?ygYm;⾌uMsyV-K^'>|!H7{bŏŋQ6jg2|YR%NՊup [$ I~U.wQk2>\6K0.^\rN0^4:zDE (XR}|VXyB񤙐wĞH5}|W=bŮiVlLiσBty+n:"]7TсA 4IfANZd}9 N@Ti*W$|LYm$]WH>墆U?a!j}-_Pn 0>C; PS tx,dn.0^d??%u[NIR+דZ/.8GAzqgf,ġˢ'PX0.^\ܷ2EC^=Opg e&&i϶kLugvW'ȷA\tfP5ύE}d.znSP?@}d-1Ȍ\@dF^n1A'B\9d-oW\rt0a\%eӵXkyg:DnOm =ЖT&y]<`k4g4.UO𿙴xT^7 OB^&minj!’XɽӞ'O"O;z['=:mef{o6Illk^q5EgL8mtUg}ᛏ jV(yD9D#tW'#~<*^lY oIDod .tJWBp)G'%x=eg])~M dSN4N;r 5J =i2Sos.@tEK}S~Y WYע8ORdZ"m;{P i_t(I_3,]Kh{c|N2y%7s3pP0~?7?SyI?[wa_>B:٣4*r:[Фs&t׍aՙOIW(} :KИZ(Zqs7+OD3M_ƦaIg]z &:ZZRN{"Ѹ{\ BXcJ##vvo^Y-"7i:r"Z!jtJ=e~W2Zib&k.ni:pk;C|ybHCWCQdN&ܠou&dXSԎ{kk-P‚q14'W݆.'P +kU]IYwբ VLX@-4tXH2A6nvQy4 nQҷnqD3d$MS Hb>>ó-`'t}ٽgךMkv"mW-T%SRQVZDuaJ`59`0@ct д+5e~\ݪybLJcYhíS,#ŋwuhϵ@dn mHGK}0'\`n|LЬTt8TwܸF]_L |ТG*;3} r.O45YD=쪹8+H E,Enx7)@be?m4&F &fTmm1NQ(p~k4#2 od IYTRگq/! ?]>e Dk­fcqbd[TkKiǂ3^熸l6ֳŊ7m=Y^h\bNG)Ƌw CQr#,P' P A\- d Zq*̒P fptYĝZ"ňlyU R$s>pu׫DlZk;8ڄ6S$@RH^KʹJ$W 芑x|FG&]ۓH 70ƹW`.ۚ;t&DlJ\.@\!!VD%~O+AzX焵k#[DKJIG0$4cYk}2[sz])V %SwP]ظI3 zDV!d0Zra iyLiŢ7'F#'%3RRZ`zn_ԣ斡c5 YPIpSٿkfC >3 Y!~k])xE.b`;*z+dTo=\ZRCrBȥU7$i%wJE*Z/eQMJ 3tI6`jr3vD\mIi4>OQ'5>lP4,",Yv'Tw0.b\/PSn}3 NQX#2e-QsԴr]OPqM`߀nM?Ih tvTD& ͳLrtDsu<>eg,xy9sot˯(q"Ż>{QzaBaJ۴\JD]ZOX&3$b ۥ(-|OY֣ o憧8\`K9>MDEfH`1l:jh 7!Am1m/ |hO)zhqm0.b\ Vim{!n6D~4Y+P͜(8-8|]wfwH8n4Aa6 |+U)OW{y|AlBn#JpEȂ%(3OwGlP <D KnJcC<%a{{VFJeH4j |Λ)f=Ӛb\ĸrr*pۃ;LSoW~4z_Ns$i%(m% ) rXL=aOG]p5g]e.|8N NDl b [Y_.bDA&֙# d$Mĸq1XXn]b5EgrsN(Y%%k%ƿ0m@4vvޝDa\4ċz#*ԦiX|Wjqq j_}Kj{Z6UyA Z(bݻhKaq1H3\_Sxy+ QzPOW\UA9fB˔N4Ӌ*l [ (o4g\2R0Cx9X5zip* f 7`Q{PQCd0.b\ @y݄2M=1@L°ӔwCf{U?TJ떨 ~7'$x׷|&'hg E?08(b{X>*4*PQĚE7)ٻoHZfa֭aq1)K5Mɒz)#h}/&`JΚGZ+Jl(m>,WE~ -M!y7?]|E>d;٣ ( [|Ejף>J5 p/WIWpR%z`bq1o p]&VcM/EE%t 5$Y]%r+_"JNriC>C_f)wWj&+6ȼ3E&O51MNÚ-ir9M]\ uxKΚzm݀ō/{U2_БxJJ*Whdv weZ øqr )_ƽ@.FWO>W\ۖI_>~p$ᣰa '75R|T6\V,r9i(spybBXk XM=uFÜpK}Z W+8<-䘜ۓˡ /TIHbD, ~#K5)7V'խGYa[B ŸKs6d8O z/ij %I=8g+jsQ~Ljƌ>ϕ 0 7:5"<*BUŏ+omlb]că<2̺!Pۤa# WDXj[uz{4v|HCL! K͝s4 -[øqr|},oQҷ̚GhFҙ~,+mлLg>!hhFWq$pz,Mh,p4[ƎĎbޜiV؄İH XoƼqN:*8D`umI3U2 D̳K.o~E^uP2v)y_A- ܎Q_'s">HF-Yb҃ p߀H2Q'[WL!͊f/{*\>@1:/b\tȴHyx&./ăPaY?ŕd}p ɽ|GDrq7>qĜK2hԣcan*X0.b\|z.C'啸H:T񀙈<ďNRuJ%k |3>ITҒcTU|o8Vq3p)j4\Oy0O=aZ7} "zh(pkιrj0.b\ 5s4ܐ;K۹7-Th+s~abH(8~7C Wp.$cCMe'fmX_:WHK攡yKG| EHfs_LCTo*oAtނH]a=-Jhx`_cXخ؋*z^3OU \66zcRud7W6ӬKys0*E#SӇ"??Ak[qWKk\UFkpmL +!tx=KKXa$P+O˵p&U5G3&¸q E ưM%ƬjNX2UO$Hv1ANS]NxoC݉Pp[=%,'8au]RPrS Η5P3e7Y.u3ۮ>wcuq"ZjJiSP#1gd;CWtfdZZg 6drH IQX*Cl-8Qo=RJ^Z>;''(2IlhjiW}x͢ Le> ;0q8qb~fC1^yhbPG eV+}X0.b\dkpj4^lt)Ȑcn>)rB?,ҙY=>U$TOgڠJKDhĸq+I-$̗$V&+ DgC!n )//kʪek. ¸Eg`չ_ 1`0=$|@hIHR@nB !Vr/r+.Ľ "7ƸȖ{\&K;NʶFC93;gg<{Μ'Xo%iqJO?k޽4葵sn6/-"۫{OjE齖&/Z,;TzgW05f,MJHeªFUE~zàn1'fg}9~Asg^Z 6wϱS[<3{nE UZӎroBhެjtB b 2q->YqͲ5{,ۊ ٦}$@<ݐM'7Ο) z<3( RZ*x/¹r P/ڶ%(Ψv-8!_He!_wyZ\rh8hlKȥr2˶=btHOŧ,w/oxLz0tҴܝx/¹`yx19˿%tPER%dMëp㧗I/U7fiz^h娧Y}\i?4[_wG|\.a1gܞx/9S@yFJ%XY* '<?"7e[C kqliOZ :˓E/T}is %?C^UsYeg }Vڮ}"^73Jiup;jK&<bK.I[i{Z$yq=agr MJv`JeF2?]~P2msVX0׈AfrEgJr߮ huc~|Y0c* L4 "<[kZ-ҏ qeZ[+Ƅ|Rc:PsOsߊ=3=rrYf. 2Җ/E8)w+{83V\sӈgG> scuye1'u>Q\77>Sr4BɜSq``7Tç650u^6^{[)\w{1Jy/E8lLQ;^W.z'ؗAntW/b{{]W.D-gTG1v#,O͸k/Cm#}Ӷ8_ 73IPiϮm,P'ݩ;t!|Ci@; nN!!U9#75D@j5fVZþm w>[Qm|JDl}fF3i4qYnKM7i']zF;?ڀ;[سn{נ)^ry["^DX7Ӳ$ضRemN *3Nښ%uٓ#[x';">p1ᶅ iq"is~QYUHzWN7YFP֤ lyDZihcih7[z%{poE œ4C,t(#+s+Z7HOpn7y:0aR}T; ã_([Nz,Wq jpyЌGFGR̭c3"^s9GbԩbOl;tvc3NԧXvR_˽jy Aq "3[fR qir}YxHϰW[tDNN36}q|dTq^#bW5dE砺htv6kV`eM<䈕6GVE$iU?J%(SCZyVoE9Np=UjG+PΑ[m߀/NlZ[BC\g,(w6/vY&X^)[1NzEqb8Y^d6](ef3[ZX$ٲ]sғ33:˒!)LsMo4kgf<X$h>ܘx/9cKH ;̧BCq]xqjY2f^Il JwFU5yfqY gIo(hMӷA M79`Ks?sJ 7ċxQd%K#:_QiyUŗ$_kb ov>W3ͦ^k=hpyXLՈfvf{Ǩ!fkM eA{D{8eSx7>m< -[k?$3 iIUUajxꋓ.w2SVj=CvfLIk S,#c0ni.~i "-?.*|GR4h=Q[o+*}ZT6HnI9ͨYJ[iڹܚBi~-5 קKoemXqۺ='ŦO#VpzVrE˩^=!lsW`HSHM!|}ki},vttŰ˞ySIU|nQtKK9cNzΈ(*O0SFBrǿxKNacuC-"^jDq͆ۏs xۓg iVܧ*T*Tڽ!Ze/UJU45X9ɔ̩2rkˌ=Z]4};qOEyj]ci!{h#Ni7思`= k훝W5IHO*0;1:C3l +͏UF5Pi`G_%pN_H}'F!E"5*EjohYMofXR ÷qMV%LEcU[3 T]^tRwc z?6heF* i eLFwe{n b/E8? ҈{V#L'2:U==/!#ϗ,_U'X2UybuOjץ0<`/f{ZCËxcV_ӻΖor'Ob0@3`I'y'zY=ۥyY_W/%5ɡ3,:|j͑vx/y̎7,o7uIN}a>C) Rq)rчK ͎B@ȕ L,g.[^1k?njCmcE3ËxgBற_d~  _(O0jzAO}M;2E_*} 3VLxog 2hfi$Fbq^R kOկ/E8YZ@rPk(]Z†(exemcT'R!˟}҄i cnW͖㙈K,1qv2~_R'daas{LeE uZ>gVF)|})oW=˧iWMv", kk͹ ,}hzZVK~L,vġm='wl3_PLʃBg?{fzZn3c_zL^}#{Z =#G'}k:V=Y+E5#*Nhn7VZm hCkM'_,}UmĒIEq،:Ki uّ2in=Ƴ4ڃUћ"^XiAshA~t4눷CE5"ĐJEYˈ'`e"?=;,X2;t9qK\"䚙S &Qae|f[`!̓y_DKOJHjbVlG][D~#%!ZlP_iV'yǣ7Β5vwx1R}M 9t {Hv'_!39F]n KCg!O=(AjO }8i4XXRwY!죍h[ڸSc>AS٣GjG+}Ta(i#mޤ(e-[]{úd/$mVgDQqj/E>;A'kq9EXtLް?}<1 h..QeeE-,־9'-=TXj-ػ]i!G,m*p6"^j4m5TJžM%ޠ]D:?b3-U#okE OΎueBBK<.$VSǤمi8WO9m6 8}S4(6 oI5ȻBlyCUwE3#0p]XcT3'07m󢱶aK,EՊ9s|q;MMUw+gjCR/*/D#5|_$8)Fȇ OpJ٥6Ӝ%'0,Wz[h­^XxyQ}G6 'Ijg*,1XN:Us}+9/a,Ԅo1˧;ijrZή]3Ó3ѽ4,& +LA٪մ7*J-NVdY~ײ<.WYp) O6ʼnmkv"^sFh#Ibo[4Ujϵ "Ǹ'G_!-wuq}֐ x/BM[' 3U$Ou3V}Vl_QR5#xزr2^\_9g E5 Kи}saЬgv=jعZtO-ø9?^'s w#d7xƌ񞰨{x/B͠aLE ~WS_R>S=1̨,;N /E)X}(ލmԡg&+ g4߭#u3V>MDK8>'αpS/EQ 3_R9,Ym?e" s$95"ۺ,Of5[8aҒxF}\b"(V=m?C Hʛrڑ>"r専^jcheբ ^ċP3KaL XAo]}-q):3lL׺v/Ei Dt^GZ2i$rǧY8v6&|GfIzh\^"IMx~-80y Ӂ;6yeiA=QJ/E,:&Vu05^_~]KZǴⲷS$CuMñq ^ċ oCm5ÓhTY -yTau!?fT9/E866YDQnj6f"Ώ׋\yêX3stx/$&teT;~MEn`i};yȭy̾*]mK2`wIEkb-WQL:pߦ<3fINcu$:?]aKD-E]Vѯ`wD.SZ!}VAK?o~ƪG2LIyxj:,34ӄmguo|A勺Ճ{S8ױE*ި:|}ҧm=|l=޿Gƛ\K^&QgF|ٱ| 2 *~sR^W䪷=H:*]{8w%?}vVcċP8e[a>*gƦ&wVON.z߷N\==WE͜VAwXx1y,n-%W7,Ƌx*Yenj yb;tx^Xc4GG6n_5m2jOLIt48^l"~Ke}$ƋחHET[UԨp6n mAsH)[06oԒ|gً#z{4Q(9PkMny*nΕme]1^˖DrrlF4sq^Ԃeʌ4h Hym:y?%xvxj;lg6̾Żez/{ɛRWpXDv5u<v͝:w;V]#M 8{˃m6x/$zL`K~K'37_jmqZ//Lӧn7d̘yŕ;K"@طcN}2&SӋʡg{"X/*[U8 ^EEٞҝt%6U:^E3kϚp[E^L"x"^/Ex"^/Ex"^/Ex"^/E5K2[j$9l.T%n"@^d2f{bPMcr^?D>Dz"^ċx/E"^ċx/E"^ċx/E"^ċx/E"^ċx/E"^ċx/E"^ċx/Ex/E/E"^"^ċx"^ċx/Ex/E/E"^"^ċx"^ċx/Ex/E/E"^"^ċx"^ċx/Ex/E|>|Y~Li\L.bg@=뵹t15>e^ܟyܟɊ!জP ] 2Y8\~U!^gĸWޕ?*[䝻\r;!w#*T#^#X\NAϤx{pgW)CFU.:\nL ;|BKԒSxO9n\ju5`Nђ~?P.(pe&g^>+tiC-Z>zXn'{kX+U1E;3'YW5gVߤ.wv|D\ZNW3amGb9n\jC<|6G\{}en-tV }4\D.yLr7RBȏLk7f 74;T[]_y[$e9n\ꠁ wa&$r_XFk'^n\HP~6ƅp/Tx2xeK"Mq`E^V8܍P 0`nn8UO}sm˙=/LS)s {!w#*T;?iNeeel}^)Skgꋼm!9n\j?K4ԝe 1W+9܍P.'ݝOl~5Y WPWs)W~]rV7gsCZs2ufs8܍6Йx^f->,Sn|_k0#rŬ5f?I8[39Jmn?,S %krvzD fdoN#&YnSs\i^t?Wk3v>5g OՂs2Ȼ"Vr)W=dTvSmՊS2_kψ|sH +"M,mʥ~[K"1ڸ͵˃bOs)W!y|m 5E׵%KTy[D ^ wc(W˗ dU!r sHZOڥe c)vr7RBup׺g/fV-+Si~ĿXz3CFUW&"u7/ژ;2ER/; X;Pר'6__W ᧽$ bk<^Tۯz+ ~9)Wzٍ~;3װxro5^>x>WtkrxߺfC?Ѹ]o(Wj0SE`rY[/aNoȏ@}N/@=Njr4/*dm~Cb{kxCb"Ebigo[7uO~pI{%#a[w^gG^WS b_fsM_t]?`S!u<s4./,*I'{thOP]d~̣鈖77콘8Cߎ^P ,}C+兣C[(OGn^T~iM7}y])ӽzOCGw,ɲb9*rV\ދ5! LB+z[byqSOjSO-tD +Z_wfYSuƋ.tіٞқz9s^zƷ{Y_ofZ arANGKNDсjMGORЖ^%r}/ql&h>_?]Յ }[ݡ:ԋ[U^ѿZ\_G5b=_bgt/6߲Iu%QrIboїrin/RZ멚%: sE#oXB-m.,OR;^H\.-u/Rר="[u9ԕ4jo䘞ZM}Q[һhD g_0^?^݋F/Ջ4o{1BnMPpmf/W6۩Ŋ2QḦˋG4xq׆yQISkV [^e}ۘN^m6Gn2^\[5Ò(^?񆪾ü'FG9Ѻ^E;|ڏk6{1M%B5yo_}8)q~;E#oL5^"zqZ;~ӋBhqF[ 4$oU(["WK"v]6hcD/xËEe^y֋;ýxN|oCh~^^(i`&XjysYpu^?;̋?סO<싨ssi2x>GZG b@mbGzыG4G}QM[Xj5-Z}q6#%#hQuEej^"R?1GMt[CE4P/XZE#oKxo4.ioqwEmӪU{lq7sD߿ƫD^~ͣ.]xEnyoAfVSsE2#ygӋnݔߒU.51tnz@~qY;fD&G1Mx5$W8sXyᰫr>XyIbrWEї4-ݕ#G 3޿xIƾz!G8=D/&<ߺ!G=U[h#l~E~MOrO>O# endstream endobj 58 0 obj << /Type /XObject /Subtype /Image /Width 1807 /Height 952 /BitsPerComponent 8 /ColorSpace /DeviceGray /Length 19792 /Filter /FlateDecode >> stream xyfÌ}ɖ6EQ(IBB+ۢ"-(BQ6n%{v" wc,3fq̌sf9㏟sη{>9wq:PCO}9_kw#vq9cr9@ C!r9@ C!r9@ C! pm !( yrY@Uտf+;֓C@9~yoj TxZt;㾝{L_|طH[Xkr}_}CLy(ǿcտHWΏ띯rW5s|ړnXjr翞z/~^=&W(rȅ{ܢ~TwG~9gyC7k) ӥE QA{1iƊmG%5ez{UQ m3>C@o> uSU }pnػ-ws$D-3)uoؒC@ܱt'ڢn Y;?t8CEX?w_|Ά SZ=^>qF_4{مwęk V_k~S].L_d;hY_n |aO4a sz>ʇ\p}+nhpqӦB7̟γݚ*hqC sgo?j5Q6iCL@}kR%<7ǔ!S~9ٮMkj`7u~F@ڿ xu"XF.O3 Ǚ9uf<ٱqt侾o6C\'7Ι0I{`e 5pu|J +a=[.0M%{2"r^{Mb.[ïq] "@߻x>w7(7>) Cr cory ^>"@ ܳhԎL{D=^0l6n7^梂!WN Cr _ulxY7EK%0rH6HsE|tq<9$ܩ?}וJh[|e0H!c4JhX%@;|ͫ>^"Z?_!@;yϴJ+k-ڗt!9:y÷^/)dfow|{oERrf>ÿ!@O`./e/ì8Ac#r /O~edWiop 9ӧS~ʹ%nr:jaQw=-vfl^OW>u ;~~wF1(9Ac9I[ڿ`LvCS]d' 9y+syu+h9sN+_S8🱿Ar.n^]ߔjēC>#a#z5jm5g!#cǿ6|M+&ء^ʁ}qLz%6$ԞYjV6 a]_kГCo0!}jRMr oݮH`VOIa.uk{ HE!vbgiW=8n^a|t:ՆMR9{,W8·\^fOkJR%r 7?wr)V +2MKDt39w+'oS9؉mOXɮ2ț>r~c%!]񓷥4ZAr4Rzsn6CwjՄnO9@vN2 _aO|TպPvp+~W~a_= ᳮoVOxʾeBvzC%ҭQT9lcp[Hqv݄mJ}&}!^FK5{\>T&|Cx'~"'~Cg`*9L7K]ҝ/|_0GܺIV|A S9`VhW[89H``s'1nGZ;Ҷqr]_>iFOOD`j;[_v/C ]M@}Ör1 %ֿ_ֆeP?cxs>&Uq!ԃh'L|xSrhF߲BCrfћwLE'&Bdj[BT!͓>-ԸL001\ O{us)5L0(#[J!wGr9ttCnJ!׾weI6YLuֆ[ kmt&;-8D@3R4n`_]vy+~;w=FW ;XOm8u1on]PT 91;KNL0kr {e)!7V*"k]?@@/̆ư!◅ 0Q}` 0ϡ/(Jax0Cr'n83?2CrpJrh>|'9$yW lxmaa9se])h7z7!` sss2_9NaX\ MyRݦc9 }x`;A p_&JX|ma>39L;sVyzn!`:D;+L 6u}x@Rm’~si0P\-g0љ.t\3OCDӺq]xCDG>;nah1]CHǷu]G@%=!` m\-,m0}63s9 Ϩf\xCD1nol_@k?}BCn3RC)~a®+ @! 0Gqױ]a9$0Қg˻._xXCr#\naH@!th:7|aHup-j6Cr#%,:*Cr3ev 39$0iCr#NJAM?90rHa}Jo +,rHa-,mV"!9NL5ja_b9$0"7YLF>$-s%!9okI|8Cr3mP~cX}PS`ORCkɿ Y-t8!9bFԶ?$-ffCrC-z {xfCr3]~cx= Zٳ=Crsr~fCrC-f0ov%fCrCe;<PgΝ|TZ| P:bX6fCrC37|vYPZ7FCrC%|wưƻG@! 3 {9 4FFCrC%jcdXu8!9Ftd8OIrHa-Oاb+VFCrS-;>G@! 5V wħ9̒ 6$L//XmamkCX˺d} Z- J>[ca=^G{GMr?wz + CKZ˸Y9$0֮I_0 /aw/H I7!nJjBaDng=v[:K7$% gnQ𒬫k}h{":&FKuiTz:9;>tQ0;f`pwȡ/"$,רS΍cuu&[!$r|u5$,5!0bRTWarn!CA 9RѴwfxﵣ[26rrb9.n^{cVvՙ^>{1VۺL2s!r۪ '9,$mLuT sKַwCFHsm+k]iӱS&\{>~a9D^9>$>v& ]c^1r -yRQk9"½]<Q([VHu!B”npAaEvE%09DYZ5a.0;Hq&+"׭oe~#.}&z5oY+"e/E:$RDoF/ʣnC3 KAݢ2iW^c}]>~a!9D.JtAӜ+x᥏ؿ*[MJ[sCd֢? ޡ^zu\;1N4ޭK!59r8LW9)9$D1äGsx^lxa C\#KAa2ˡsW=}Tpr Ck3GOGq)f԰+,"GxB7q;-3{r~Ur|}9o9J?;z)| 'ȪBN3 YaJ"qRr<8{Yϡt ork#k_A 0_=KJw!RHcL%ЯCdfVMIm1ҊaY 9N<"~CRGaC),gC@ &! 6 $4AdϽֺAAO8}j} 'Й"\@rOU|9ߘ]t?:Wuz9D:;?'d'!˯ x%HU'y'瓮 CiopT·k/?0Ԍ— Nd3+n~~‡Z8%OLӴ&Y']d~mۭ[îBC%.$A `뮗=2^9ߌ2kRP9~OJ!Z} 9\\3qQ+!|K}} 7s8֑|C06+Vvohȡ \wsxտ.ߴuYrC9Ј9̪i6Lo m-ǖ;o簃4֦Rgr_0T9R2)Rurwb7 96ۺ"-~Vr'at[wJ!Xְ wrXI1Rer>JVo:zԊ"/OCh3k9PRK|o=2"-[Cť7tbhT09D޾5lA:h+o3=_Ծ~+͡3w;$ya,]J~㋦E᱾@28Aȃ:R| _89 p"ɡ̀a/wK'ˡ lFY9$= a~U+Թ鑱!js9._fRr\q_9*Ht9DnH }#ΔC)EaAiC!hW 9&-MuTV\)9> J =9w%nopz+/-M#[r>CgWTۢnoS0@|W\yhR7 M>y򶾅+} '}-n'_d/dQuWzdݮt#9l+9*#^3tnCclxA9wl#9NAi}9$!93 }Mh$~ãs% ~jɡb9\*]2)O>#ˉ8֖J%S+R94̈́|P .viKr5._&^cu2TTpR kKe3fpU>k#l[ΧS` a骤O_f0*wIȡ);89B|T2eRurhͤoss!|{t}ʖR1rhIWme a=R۔-J!íU$?9<'o>(-|{-ӤЄeA Mcp#}p:׭ەMZr6DI3~%,oP xN*݆eaTPj}9q1r(=nۅv^a9 pqKr"OVzuFTGHD' {{Sw~z%9{nJpn~ówǸrt*#U89~չSz>'9sJH w3~qV>vJʡss'^xwGNt0$~aX~3?n3MSvlw}h~?!9]ϘaiFΖkMu_6GÒC߷Z rXcpGprn9zr,<]arT"N=(}a{JNas9ĥsڐӲΑH{B69 -s0,thztn _n{ߚ+ݴ{;{fx񵳔Ѻ=Jc͡RR4p0}Ԟ!?ϡijx|-C_Tդ2ї5I}Ә769O&L[ȡ/R hCC@}q5Y+%3lKMf&1zE~ݰ7_JJ2~EXSzQHg5NDZ0s9t{{PcuH̎am)s9Ecں⮱00U*˱#5jTXz''1nGZs=89 Kw3C&R]rAm˗n{7~s"n_-Ja$s 9'S׆ѭ9إf_ֆe 'ǀD @rxߦC?֓~k<&Uq!ԃHe&I4sL_#J~ 9o4*NJmEjjL;)v%!Dɡ_XEjr9vۺG*c#5kD\4$lQ ) rMRay_#JR-rƅ at[ߖkt{*ĶRwrH1R]i6-!o<-__cF.|HWkBrN/9n *KmR֍o>/^~i@iv}Nrh\CӦ~Vj/838rp7:31N4ޭK!~j]%?@%Ф[ݭ2hYr[^P+BXYE0C2ijU=M+uvuf60Mg a, Ps<:*% u^iQZȜ%!.͡%zڛ}rG{v[6g?v0$Xv93]+Crh?/Za!94قR8 s|t!R:]J|hrT)rw<9yB?1av V9D~c<}6[/#ЍR]@f\ɕ5[be"a.t) sX\͌$0/O}Ca_"l s`Fի!_CxCa9Br s`L/)rD,9D?CB*7 QMj}90(*U䜥Hc]yYSx#99$.Ǜa9\94؄?10-~zp Crhgrh2f94әR?rh\5ɡN.Efȡ%[) u0f05*RRR rhե69oѢEδZPCbC=J=UЍ98E89H٧rt[WHyUv=ca:{sFt[_nQuܬRcEYP)bK;#="xܲ#&ԈkX%0T~qm+K;rUYq}a~!WKɡNaҹ_v x%>so9̥v>r|o VoZwy5?g̍aHx@sK̡ (5Goɤ45뉧\T sKΡsE0=K<ҦTߤo8M_Ǥ0FS޶sSQBZ i09z jD3^46G?ɡk[΄rI&!åkϒCzʪ! r85K ^Tuc_a}NR=zkIv3:gT6_e/ң9wr[X;w +|89O*199tD Yst.{R/_qr _W C7N/bOra3BU!SȏȡR4hQɌȡ~/&L+ݺ^`S9F2ffċ1+Zͧ᜜im-+ 9TF:]K__j{H$ r\<ŭ|XK UQo^b_+MZkIO3AGN ך{K b| 'iMdjnOmk rbJ]x s{l]TA}6]q<:CYs䰚8eҕ|ͫuޜGSt1a!ic[zQH>|#NDZ3K2P#9ΕyuHDbrä*<wxUbں?ƿk,9̩O*1rC ]fP^P=W"n9p_9\58Nsfj>_s9gTVYl=O?Cr#?(bcih,޲voUV-x9k9"j9)7Jh9Hwd`>߽9o'gws ;͆~dʯsȡH7'*T%]8i}gɡx@.3~o8zWw7/oI5asAjnkS39 9T~ +/m"U'>aN as!mLuT [r\a5֝RrQWVȍV~LuTIX Wrx)V0ϝAz %}f##a^;k5 ť7S>14X*qR8*Rcs7wim/jWpsrO+r-(|.} 7&JWg@.9h Z_)92HN WsgH12ȗߔe C_ {þ_9\[T?J r' r|"֭[OCtkr)fCcY(E,Z.$;')rbX@u."Cs ,g%94:{+w,D FX=iȡ9&g94:'X@d*"rhtz Cscu@ F0ԏZsCst5X94;?S=,? Fp] f94:UPWrhvcÄvC,= f9EKȡ9+Ռa94:VCs–ÃUȲrht" d94:ݤn: FptiCsuÚrht+,905Vʀ99|Yq`l(0zi a Йؙv9t&x]k:aJ_n:zstjlp'rC:7ÕTl ϡ:sg:18J:a}ғ,5 JohZƱzpT3.U-,4 FpG)c94:HR?VCstW ȡ9'9"r@ΡSV m>]٩ȡgrůǷG{49}se CT 0KÃU= :[ |ygֿP~h9<{4uK]w6, >"uHd]9cRe+o)eBQ([VHu*_* nDJoIQ@ [΢rNEs$CoY+ &%=ϒr^/ʣnN+gI9toF.|HWk€!r.V ]pMJ[s\WT,( ulEn5xĩS'ywRvr7rCܟc~JٛwXN@361l:;Oc9)uc59KZȝ9z:iV,۹nٜKؕ.e{YL@s/s9$HYJ@aRVCsfrh|l@*u\fóMu~r1K]YD@xICs$Twÿ)Csx:i4+ȡ9|Hrhvߑa94:~Csh_pȡ9/q9ȡ9LOrhvJqC f ]qn,u, FhM9b94: X8@aDCs8١:Y7@Ut ȡ9G0~d%9(i-+:yÄ, ~HiERy×F9h9>HՏƇ߲V9TXY@^ҕGݾ9l+u%TV\2Iv]ֆy{Y\9 }WaeӀkRx WrxlEn5xĩS'ywRb23j kK>)9@wW,@]if ctv09/Ǘ37/{Dl?rg.9L(gr7͙] 9~- ί`twTJF58fA)Lܺ5'9|Wj||/p}Ef`]̾`U=rEk} [_=r=ŭnRK|%d<4'9gr#@!C9$?abՋaoίhAQH>d0NDZ`XHbr0(1mݟWk,9C\񋸵'1nGZs=89V_v/C9\be>~a9Ǥ16ķzC9F߲BCF0RZ~KB C9hIF0JR-r0"+}sVNFpF.|HWkBr0".V ]MJ[sC`يkSNf֥\EŐC!9tjdho9t:g60Mg !rt>*85ۏܙ#̡-nesf/cWBvdFg; s54Tx3_0!QdM*2,&` YBBB$u~>7;-8JqEL!kNKB= !;;r%ֈf Y'N/)(\\ޞG)m8aZrK y\f0IBL(fB=:Fʽq̾f(*=֨`&PmEa&^1k/9SV'frqGٮ!+s?ha(M_{SJ:afIBEIS*g&D3,=r;{loJF]K3)fĉ ..DrTbC8qDC+f(YqTR26V*uf4#v)ַ͊)wZwٗz*Ɛ 24I3ZLs]/&)ad$I3}fu8D2ܚĔ㭻 9Y&gGSKwE^ YMsT㓿Icd"B=(qBqkUlYaN1,Χ|NsN3񶽠uj۷ۧiOZ6_Xw1r9nI6$2rP ]!$Ya Iˤ.ѤNƕzGsRxQd͟myUZYr%"qu]Jĥ$` SEzrcN%['0 $HS>" 9k5Ì" JM2RSjrTC7sz'NOu-kn3ri۬Y b i/NWx="#H޳ݮr,bWMhiT2bt@ 9R{OK)e(0羶G)w[I񔱦RnƔZ0rKH=C.M9cRգ31LyuQNz}~NT.1kX]m})LȡUp̟Uh(Őr.@@@@@@@@@@@@@ 9CPC9@9CPC9@9CPC9~X?\1. h /ԧ endstream endobj 73 0 obj << /Length 2544 /Filter /FlateDecode >> stream xkok 6~Ip/IPe)DG.ɿ)ŵg⾸ڙݙY2ɋGOOJq|(J剑HnI&;Ʒ'N2PFSct 33%"MFl7#L76eWEYW}wч#Є5jXuugx]d4t~M cKpJ0DG"5KU(e*[^oo0u lWTEwǬ%Zr7 nbxdM_O`~)ҏȎ*׫eģlc"T}ϳϞg)gȲ(}A2J~7L:ÒL>M$tպCI!'B؁ےؒλ<)E\y=bK& 元byA|=r"V0xvV%)d:uhq !p}#i2"@\sbC`BqcvHݎCM c;mDBIZ9uvQw)6۱˳WHoLzl]p/C( r1/ wuH kAMd$#-Ĺ ^|Ɏ~k'-K;Mj*?;[Ua:LNB=15ohSʮImi98?YyU߫TX*!o|rmƎOm==Ɂ)t{xcNõ>)SAԷA{&0U47fLEԆP*o?pDGfmeg0:sK 2!2D2)doK-ɶ7](:dViuR0*۪8Vg]:h|ʨv>'5U0C)j:ĵEPΥ;PpMܠRY3("괥tT)m`!Ԛi g\ Y}ﭠN&9U)uUJk冱{ d@,Gpr_Rj|N*uaZਣWR':eS>$Q[2`vS@H>c0y#QJIe%p쿘2VoQ[K/E}!CxWFDG ^wibkt<+㼊z%7o)vˆt'IqbXVgM[c`z5mf'i1Ѐ1M̿ X Uw ߉WD;/H%v܀z "H)0سKbǻÈpY,;߶KJhmU:"m m {w@"zxPwRpM!Y^YU.}7kqOg}% =̗col^Y7-p!n*zZ?KB}!0wWSvm{p&PϩU?y[Ryg?Ô-riHZF)ceZd7!xYg2…8;8S1XwחUyn(i|*[E(2=_6;_vۦ/<}Ik0. o}8?IGl}R8_t> stream x XTUq@AY\K-%̵SR˽l޴jfeYiYfȎ(# *° 3ha3瞹3g9oܼyӦ2lmm:v,ZO֧={V=aG}wԳw ?~޽[haoo߶mۡC.[,--FnN~z377ntzVީSxbz_g2TeY]޽4l f>c}wϯ#M0["Z4l f' pϞ=kD&f0[VVIח@, O^5 gÇǏ#M0[5`Dz8'N?а M6Y{֧`VxxxT:tGG0[ `#%?a3 fݳAfS0~8p;>CWWWW_yl-nz`P fSRR$4Mfff\\ܧ~کS' nV+=Xϟ?ߠv޽X_?AÇ[f ̢ fN~Hnj.]2aaaa޽3VB?ޠΛ7|Fc.X߾}-fQf ! r0+ nصkWs̙3k֬9r=ڤIv=#o \'O\dWOO8pmO>gϞ[vݻw'{djE~~.\3 5pe˖%''tΛ7O8Xao۶<;sB1f{ -&ƍgݨ`ٳ6l0aB޽[jeooߦM+W|衇Zli߹JJJv㏋g[nӦMOVM zϟ_|AQK8L *{q.-((B'I}Ν;wͦ,[0?~Pyyy 馷JIIyLLTۨQYf%&&q5 &衇ҌU[ U*ՓO>iggWe#G2%yB/ZT=%\I71P?+66V_ ::-Q'pcǎg o4.|M)oTTzn9UxUiuf'777c{㏧s5=v ~kbb .] oX_~BR^y=zZl)4m1!-{x|&M.**>) 888̜9Sv`LNN^_ {~U5,XK0{wtt4g1?k~>}*M6/^f0ԬY3WF>T0/Sz p}̙;}1cFMo f}||QPP z-idh/_.lBya+ӻ)|ͬw:V3 1œ:|Ms _m`"^CVѣlp {OYm!Ϛ5 =s̙¶!==]%M۴imٲefVmf0;l0|Fu9i%̮YƜgC_̩Dhl*?̔4Ko5W¿ fԏ`SzKRRl896olŚ_@#< Z˦J:w,d *SN[Y4{ FM65xYf54?gmKi|`l*NJ8B'<9lj*''NƮQF=BH{{T0kAOPVV& `矯ځ#^`0[_% '`lNNNbb_|!\kK?٭JKK+-ߣGO?ѣaaa}F͛7W\\k疬Z0+[aϟ^W^m"<٫=3d)̉„V\v.AyUf-5 VZeN_C2`dYk,kYFo׮]5Bddڭ[^|?pɒ%ƒxmxxxw}&_ f>9nܸSҥKd2q`䮻2M2eȑ?^`⃞O>1BxꩧƎbEիWe:ݻ{nu5W fXE0[SN5S~AZG-_L(]H9k-Zؾ}~?,{%?7gYjAmBkx{{KK]`vbO>ܡ?I5ͺud f5 ~i]y5)`V6qttܲeKbB }AZxu 3g\BJCĘ6iDb1ʖ YStRqbaѾ}Zj%YYYu5vnݺ 5+_~)}Ř]fWUf->&iwyghhX~~E%>Vj_{5imAAAn wiɒi):*J5,(9[b *~a錎Ғ[ׯ_7b]vkc{I5^z}';ujzz9.u-,;/hfP`^ٳgesH!C-If]ɓ'eKٳGvd#[[ O/,ƍ͹ U6mԨQxxNl{1?]zZd4Țjmnڴ|dy+yX();EuYz_}X˖-SRRuVΟ?_Zlo,\PZXZ6+'Po+Vx/J7Yh?9k&wΈ+8sLe/KKK76᧰F# לi]Ν;'3 @ZXv횙W/l0[f`XQNNNzY[eggj4+ f,Y"-6b;J7ywʗ3ge+,++ޱ6tPsYny뤧e˖Ōݻw+W6lX]1^pɊnվ}{ل<--M]Ġ7d6֯:u`vʔ)1.J>}:a~Xw=,%H0+\e[ڵKIHH]W+XvX3f0璹‹zV{M7z|63^z)\`J 4HpbbbMi f7ٳgX СCŗ͛Wݨ`vb&v~n#/ӽ{w餎{ CT`ĉ'-LX0k"qPt&ǹ.Ee*oԩS-Z|F i#4k]V/,{ի+\OӘUb]s`zFpe6b b6qK.H0kfO6M f'L [ٳggΜ)[X6l0kf`vϞ=MVFOk)رcfKeuڵMVa-}#GSRHܳ*=Bu떱:wW O-+%;u~Z7n0}&M$`މ,8e z=+ʶ 6g&~0[k_%]O0 @ ,̊uJcN:׬Y&hBIk+RlJJx㍑#Gmt+ e-Z-H|-L8l0oi+++3d f׮][fɓ'W&''K}zٲezԁJee5 f322d|9sk z-}⯳?ꫯ) fׯ_o沿I7fQԼyNjWvNisZ0;n8{믿JZjU-]}ZjeU.]LoҺuk{=i___oC)>>ҭ>CE]"GGGzmz.]X*'7!+3%$$Ɂqqq.iEu}Pj5tvڕ/ӧOقK 0?O~~~dL0[#G+{ǍWaJU;Z l;vtCl$ǎ`j6H{=]JB.t-wwwӃEYz6l0tݺYUVw}6 (zYJP`ŋm YkZWsZVwoh0{n;9sFpvvvΝM$Æ ~_`Put:cǎ[ X\t{ڵ ፪s L-СCD^^^]4VܹsY|Г]T Qvz[ NM`~0[?FyTdg`ֺ f(A5m۶I4hP2˖-Ngr.*ߴip/$`VvXx'''c>yd?e ϝD?SJ˭N0{ ikɖ :0ѣGC~:٦MuUb]NvZdd]\\d=zAD -i*,,LZp_;k^?fޗRt0{-ٞ˖ ?SЬY3ehvx٣_dݾ}l ]IJZx͚5< f|W_}Ktul;vH /X@)Ġ' iVZ~|NnՂYa?ek]%PV.ke esDJ2'?4]~Xw}j` $?m…7I(?ˤWu iGDDtMfk45dM*\%&&N2t޽{NNN5?e F!}7 M6ɦ|ҳY\\ܲeKiGy`S ٥UtW3/CCCNiI77B]z'O=vҗ͕8:lM z/_΋dN9/&KFqvv}}1,ݻWz_l' 뮻Ο?/۪V2ge=Cu}Wa*YB;::Z..\&6~m|||bbϳ>+믿^k a?챻{{{]V#FHwL fe'?߿Z(/ȑLj]bdM-Z$QF}򮮮?u-[6f2s̩rgT0+jٲ?>c OOOce'E cpvE9s棏>ڴiSP`&rW8S'N`ȑl׮C=ԯ_?cOvBFӪU+ُՔ)S6lذgϞرC%[gPZMZrӦM**55*J5,XE0kbcKThm0V7o^V3f lc Gaw߭a\RR//*T斑`B1)p234GՂٚW^mRܹRoԨQ ;T{Ge7UUb-jXPx0i&of̘QjG){Vm#n8p͛77X`m ThNvmmmWfʞ~*|g͚esεk׮cdk`gϞfwye]egg@.]:vh`&=o& H;[6]OnZb,ybW_-S<ٚfE_vԩeD'sO`V% ?&L7sO W^-;1c{֬YW\1QOmK[n51>kiK _C eYz%''?C&&bfo1'M^xA`Vӷo_sOkn~Mv >eV]_D>|74hPNÇ[՚J]ԟ>}_.-]]].]L0a۶meE7ŋdwq}V:꧟~\:srr~駹s۷}B;HPiӅ}{ضmہ.[-ٳ˗/D8,ycƌٹsx@U'A/.._M69?BvZ͍ᢀoo^zhBkkɒ% 6F4isڴi| Up~֦MƎ{1̤V'MdSmg.**=}D...#F^r͛o?޽{۶mŸ“/Ҙ1cZhaW~~> &̘1C:99-X 22N>|VZoVc?T ZzM*""Y/vEVWcNJ͛7Ybe˖%I,WWW1J~mZA͍Y... fu:P+m S|կ-11QW^-Ț?v-77:UtI&͝;Y63tPJUzrrrfϞȑ#-3k,}ڴi^{-66Vәyrr+ڴi'U7ozzzѣϟz꯿z׮]{ ]W_0aB֭ 6Pմ*5~xj>ѣaaagΜr Sdddlٲewvv6W&M<==M7nP|mmmm*Idرǎ LjzҤI66{좢"L۷A2boo+Wn޼y?ݻm&)|xHHmUp7N2XسgO͛/]DEh4K.:u*"""444$$$<<ɓ*J᎕}wkmժUC >}&MxzzN6o6҃}IOO#U>ö ZdرǎC&@Ħ=I&UٳgYс)N+{c cͦdee buqq1bʕ+7o޼}q۶m|饗ƌӢE f`ti;Nq:|dx`}6  4c }`H:}[jUYk9vYXRuifHO.?ߡIr|6]m\ f@uРAU';;{ڴi""" f`]vo"w';!f,T/x^tVSUYYرc͛gO0 +rn}%G'-NJ<]N 2yxxe˖-կ-**J*`VA%g20}Ozbs6$U&WWWW6V fO0 ++()C䛿-2X0tNNNBmVqP^TGJTjsYeOe_VD^zY@ v@Le#Dh4`Vϟ/nݺV*N7i$sZ@g('?P 2EDDСCU*Uə={#GX@97ݗ"*֬YjӦM_{X=99yŊmڴWOZ˱@R7ٷaWSbݼyG=իW׻v^sڵ ZnmZc't$Q f,++k66ydD[с@9%اcT6}pn|n$UW->|xHH2,4T`E,R-|ƍLaooo,uttٳPl͗.]҃%^( ;KL0k4ͥKN:~IJjΩ#AT6x]΂BfPWtZ:R^ʞ}m߅` D0 ZV|c XW&ގ` D0 Z-fg&-N:yP“7o[BfPs /bw7c[ jtf@,M&}ozwBH0ַѡGϭzJͭ]"jRGO~萣%G'-NJɼXzG9ޢEl +<\]|+$~*:Z]TTVD0 "SV|_zIcXFaN \^|6w{9 Mb;w}+5…B]NgK0 "kQVXve畈vأC&OTmU#B:ٷ\/3#6nxPZ]ZF0 "ˉINw|=&H.TTwc1ur[&L#jbR֤v -4HN:=.NOYΞWZ3Bfz5@i49iw51*}OzMe={[ #Y77 RZۓ` D0 Ы Qp˱b7_#\biVrv5=dh&D^\؆%j@]ѕó/||!6AX!̲3g53Nw{ǎ-Hu O3,`WjSivug>sc~N~awS޴.Qb23o) f@PӊI?aþv06]PĨ5)YG <FaCjӦ~b$۾}oeXKBfz5&_-' j$Mb}w(+_)R쬢'<"F4Vt.f@`)b퍠IzwoZGU}T{ÎɲB0 "j?!5H?g9c[<ijNLN*)Ѯ_y?}3Zkܱa|)$;!}ozz12Rla{X}jD0 "JION.>*״9突ҥKgNޜMY(,@';5b\2^c/{jq9R֭VHvSO\XXN+,`W@\P2Z׮[+66^bY(,@I{K{i˥C6_+ M=9yp/f@]NX?g񑩟ͯǞHM͛/if@F=-K_xuMZߙ %}O=t~iy'zEFF.XW^nnn7W@tZ]aW1$uCjcgϜd7}ᅄs f@FYYYg϶1b֬YBxߒ=z4klҤIj|{HHG.y{'4ng$kgS14.@0 "ӧIS&FwyGiӦnnn^^^|Aaaao-B嶶jD;d[I)+*RDg&BfauƏ`ve˖?sرcGi+Tf}ju-;r|d#-E rt/F&Nmȝ` D0 R SUZ=p@}Cl. hpn9M^d33o-]W>V%DP YX4[[[-\Xe222ϯ]Vl3$l޼YZ3<#^Cˊѫ.E?d{lNdK/Nrv+7."2Hof@"7nO;cXDDؖ-[Ϗ=Z|Rv.X)St quѫ@i%s3u?livi?ys #Ï˦KHBfaEL";wwwNgYuqqKN>]|>}9d*))o6lKcƌСCqq1恛=oy*ZI?vvHve!ŠxxxnԨQK1B,ٿV⓲Ӟ8qB|'(|pp;W#ٰaɚ81J rlf@A}hZz5(T!_d%HC.-ٓ>`a}$Μ|9f@.]zjӅW\/_KVwA|rΜ9>RN*>߽{v)>@%v`.UtoAAن ;#Y OG0 "8u>kꫯL޼ysχx:tp]w.))ԩȑ#PsQƍ[+V$ld۴ nY,`ftlIZ^>2~6O\dd>Aݵk۷o/uv%Zx666^ u]Zp)gg?}$۵k Z:CBfk-rN\hh>Dݻw?ѣG ^?ٴif͚ժUEEZn޼YPnl@sh4EN7j䫿:oeh:zBuBfkTɵka={Tkoݪb~0{n}ᰰ*ݒ%Km/^H:;=V8xz|׮<]v81ȑ,e,`"<<\~ o۶M_fRT¶-2x}ѤI㏯Yիj[7n~z>wO(EWZ Ͼ`1:GO Y(,ɓ'Y_mpſΜ9S3g{Vi~jٲB^ դ%#(_{_}$v_+طnU98Sٳ E0 "PT,tڵ \R_J%'=qℝu?[oѫjN%-M jWk/cdaJa>/&lƾk֤jByfa-Zx^}UӅ_z%d&M +Fcƌ6رcq_ ׸qc{.**Jң͛'>٨QHz5jqC}cggn]]\4p1dz5` D0 +ҳgOM0tI1\xzzV- wQ!CYwƍK^^^jX'=jbo㿦, #?,fAb*22J5` D0 +2eܵitILӦM3~N׿a}VtyxxH0`Xŋj0ru';_ك|RހbI5)wBiRvbJ0 )WrrbO6v)nXCϟ?_v7|SvCz5 $zwh<6uЩN4L#FNN~۷CjZ\NΣǏtF0 t>q]bb˗/ښ߱KJJ:u$l5rH8 Vh"m?CN&GRulر}L5]G|b*ۭہ''5d^: ,`e rssju֭2cƌ1fadXRSS fst z5Negωk) <IuVm/&Dfg[jNR~X;__ `MӦPYXM>^!vݺu۷oжmɓ'ѫ4(W"@cfn3denvǢ4_>mڴXktqҤ$'?? ɑ-L0 "`Rui8]'?,y֎i'F98-uwx᥂fd4-N4Ɋf@̑!D [f`"-xVĉQc[ 3'ڭ[Z:LF[kLDDxvvBfz5-&-MsWT EDnU+yg&,+[j ld^nVP Y^ &;9nHmɦ^_Ofg;cGΡ'?#-kRRe3Fٿ1,`W,].eM~b*{tтsHKKu'NؑG o2PÊaÎ-_~666RtNSٶAA ڜ` D0 Ы@b᱇ocɺz;[wܯ!?:v y챨??_rwl>+CCTf@ Ho/a=rbݡg:8=wbÆnfg\AYٸ1uoL0 "Wr$(1g/;>`||q5gŋvrd^i)7*KviУG8ȑnUY(,@uATVttGdMekÆyW>²,`Wy;Yqz+~VsmР#m*pŊ7oqҕ/Bn(ʥII` D0 Ы4Di;ZylVU=8,O5k每dv KEEesug??۷KUK0 "Qecuúo%-.ٓ>qbTƾHoC;vi4:θ28}Ѓ܇ m.A_r[?w+R @Ӧm&=#RڴiJ4=4c/2~?O:Lo޼﷥\.*%%f@fЪ LןGEQã(gwbc[]d|~5.7/*9 !7K@fЪhi,'4?Po`4Ǐ籃G%̬ǵfA7ITtb @G艂00*LT X١ZLZ[s%/pY$7nT##**'_fUeMykÕX6Dǫͻzz *+u,͍XI*-ln)Y6"vly;b.YF,`Uky pHvV\\BQڳ!eM6899넃ƍO>]^ց̂ b̘157n\77Q[n޲e!tɓ'zTeX` n}|0:={X'-[##FחEd FE籣|ra~SSYD-p8ʕ+Ywfx_Zl|4#e,Z=}6˒%K2-2_U__?vXzRjyAA~vW*dݻwUC+DS0WL\v`(?Pnc/͍^m(Ar;,*K$Zvnn)!e$:ՙ7oBzjkk7nHW̊G0 3x`VRY]:+}v~Sٶ!ĉܶmݽ'Ck$u~\[ݿϯWB?*I11W5YYrIzEEZ]l Yfzש2~x̓FqʕTm +,΃G K$Ί%''ł˗/v8T*֮_ͪLj#GU}34'ޱIYܬ8rKJuv/.," 5 gJJ'%Y k>zLҢwhfӳ}rRSSڼXqfuΞ=f0~z;x&Ņ*i&z75B[t:;… ۬Zb|-=3Z5Ż;˯{9eIXffѯ_5+M&yȂ<^a+t:K2+u]222BK6Xqflڴ,A̲e˺.d܊Zങڵkך/j'(\r&P~~СQr8_]kn66 y]2΢E0LtAMʊG0 `>7!m߾:9辵| p۶m7:v3LJ\mo|UX-|RVTU&’D;vlt~?Q:XQѼ6nJ++ay`t_~זC6m4V>Y fc?1jZ2fƒZ5<,^!^&vbV>VʕT*eKD=ArT+[XNYƪj}۷oO:u+?pÇwܹzj6zzzj4;US-5MJZd21Onf/^H W{!/**V qG {uh$֯POHe{P^c㬸8zzO8Y&SիV֭[G^h8Y fb1}^p:Ϝ9C66J=;fUee姟~`~:00h}ސLFۓg{ud"6oNR%K--&4BܹsRt E\2_TT?~ŋYwft3ΦoSNu]_7n~~~T{7CB}w j?oA wG- PUR2Iw^{-Je΍oh0IrnUJ ZqdVS̲EIIѣGׯ_ikkYkoo?uT؉'Yzft3U*{aHHwYѣԪYfUXTRsXh$x͛é~~~Vjb:nϞ=VVV~7Ъb*8R0?!nV\_|*M<&ϨPR ,81<0 ! NDZ;7w@&a~~RmmɄ e_.Ǐh4Rh\r%U+ŠG0 }Yll /0uTWWiӦIIITIFF5B#GS1bݰa֭[' ѪSmiIލWSz5{6BBT˖9_X;5kR/_.kmET@VFmH t,3h~RSSڼXqfЪSωc2Td^WH:F6oNwt 7";wn_Դ<:eZq Җ`\]]뒑൙L&jJ77튊kz`CfЪ "G*W2d,H0ҋ|߿F^^#ǃ(ΪT#"X_*UH{ Yfrqqy,Adm='OPT>raZ5Pj}޾00*/ w '4,UӧK{Nf>/ukzTTDy]]7/ozl,緃8Tɫ!e&z(/kɡj6mZvuu-[=,Z5@_cj5)TdƵJ6HZK=ޖ_o_ެYqRYׯW6hQ6(~wv e۷Seĉ4m"A>`&.Lu)²vX5œ&Ŵ cmlSC Vp>Sb &rV2 V4fk˖-toJRg򀀀Cҕ<3l9vh}AOV2cǍj?@gg cW&'02VMMWɰݗ/_}?ԩSϟ .?>|xΝWhFa˱#@lݝ˵3||說"JR[`](7 <j~XLDݹUUZ'2RWZ[U @`/3|eRbaǘeoFGӧdž  VllCE qN,EEE=.^8::u`Rt44*Wii3|ǫ׬Ip~`+0UU5 "JeHE̲EIIѣGׯ_ikkYkoo?uT؉'YzfЪ,IgJ}:n*;;NɘL&<ʊfMjJ;T<'4t_^ 7;!e#P\\,ɒAttX,V*&,Z516'Sl Q:UHGa~~H'bgNQ!,\i) {!B0 V `aMF1&-Jyj'6,d WW 7kAodvC0 ` T6dÁi^z)1dǍ=ZԄN{ʭ)B!ΈUj8'lS0_? '' .\PTTA0 V `1}x*MYbja :etKcCBT9AQUULS}YZ}_`ѤRippCŵ/O lƌ?#,Z5eMe%J=[Җ!tkm^|~5&ikLf*<<|ԩ[ne?neeկs=UUX]N%RYF)>&Wo ґaQ)*}k3yL~H[9 eÇw:fϜ9ӯVXa2fЪNWMʦ?κTprTfŅz j~ ,խիRVQ}q0uΛ7ORS?ؼ/^dR4$$d֭?C;Y`)V?{=ggg77Yf:tww|s8TV MQ|*{pZ9&X[[ 7ڌSSs0?dWc>1lU*W$-0 Ey 3cvX`tVkۼy3U駟f#voə3g~W7o$z{{dժUt &KǏ?c:v_J(vfT\jx?TvCSY#}ŋlmy,=:oj2eeodsm\:_âTĒaQèkpJvCZD,ϟ@FFk;uUc#v={6}?l?ўT*0a]?oS **^;:fܹt6K#FIKKlC/**Bx QãVU^\5r$Mkc]010@"#A67TYY"]K ~A ׁ !@`ŵ3 &cSۇYFrrrD"@ss3áTVVv][JJ U8|"tqΊfǍfU_\\BGGG̢EW׏;Z^PPK-jZ\UUU׵kXqfE^{5:qF%_~eVT,vl۷Se{^~a:m A 'Nh_mU=1Z5bm3i Cv,"j6a{/TkqzjHdy;(2򯩩juKo\Z~u`@ꞛ73)fo@ff&kkOЃ L2gΜo^~Qzygknpp0|"J׷P9r>t[ w 7O!vt =~5w޻6^'yyҾR*sp,X78#3gΤz薖j{US# %$ v|W "YG'55|oSj ]e9T%ڒsvPeD ,3}ts…6kSSSvDXqfElmmkow]իmM/.[,YB[Q ;]vZ|>ZV pOZndeБp_͐}3,*80">^eDٙqqpN,XNCζm\[zȐ',wg[d4^p_~9""(66wߥP dGEqvvf#iEӾ{n.))&9ۻߟ/['P m~zcǎ m}||GF4BC E£"ppyʔaB V{ݼوKt&.?+KQd-W:~Mj0qĝW`D"Q.͜9֭[Wz+Wܸq#''o}農9̂婩3fˋ?҅4ѣ~~~]T*}YjIܹsjU/Mu5͟UV93΍yTq.L1$,X+՚5ɚ{ ,}ᇝC d'NE 8Y0/+WЫd2|PHME=z4UdkkFtcǎ%/];ڏ]PUŨ=ƌB"_ߴf#Z/RVs8' yґ}_ƛW!Yvڄ ڤ^^^g}f3l"YvqftR~|'GHIIW?Ξ=K0_~&N(KO{r9АJӪz .ԸGP9/g .\ojy*儆EG<]]eJ̲A/_. ۗ 7o^Lfʔ)~-ٞ]C?F, 唶2 4h}Kh4eA=i;t%pBBBrvv߿χ~Uz˖-ԪzBcwCv ^"FDFWVX ]E<`@:y=6 P#$Ν;t|j6B0ӏ©.JZjje5J7d֬YmC/^ wڳg}QQ%jPgPǩe73dED5pPʊKpWTT3Yt u ~5rUȉ|w7oM]&^6'~4Ѵ6\:v>Wz@p^o_X,.\ugΜ MJޞwiO?]`O?xmjx͊g $~\xz}h$oϡҢ"D\`0lIO5 1| k#_OI+É;*#B0 uOMM|vv6]ԩS]Wn>׍7u j| YoAKbj1i4Sʜ9O&xX1 "iqR޼R&lj2T`4r$?+w&Pe$/A*ߖ~kfEs5l`̸O$>#aܑ.2j!njSٳgvSR^TJ=Ԇ!!!w=z(=gZ5T*zl01\ۍ7 #J]TTERYrW #Y(rImGs4N}JeGGfg2m!vyTvÆ MS:H7n~A[M>ݼ-yQyzzKn5{l@QQZ5^ M&6hdD^^ŋ{ã̇pB?@KӊwdNt$;A R(F#N+Դ,L\H7^"/U;`,uQ5v+iڵ:N%wUnnn 3w9jH山۷w޽{;z$Jx^}X+d͙EFFKܣ222l\:R tQf?o:AY` "{EE}P\\L'{w2N;v,ҥK۬*|w:> \v XAWcɦJ*:A .^.mxq kcE[9RUUY%QjTټp =x5QmbzN B0 O/U@iV4n ֪VmLL =laQ֥}f\^f$jbL -jqrsV\+޲ڜTd#B0 lq~}n:zڵke2A&I"+3">&tPHGQQ89|!TGaam@f-8Yii^|̙3VTw1,e۶mt'O#bj`ywc5Nh9gEn8:)p |RV6M$#ّ|`+I9}3.!`, fzذL*nE|4zf\ ,(83U}2I*ykYfB_ /L:uڴi/rRR=UA{ȑ'Fagg7lذu Bj`[MWDPdkۗg27X3~~~͈~u6#e梩©T* aAMk ,0Yj@4'~c鹽Ww&UCP* $P oKqY{_Zdb"pFDn(3,jnN߬3XwfU@ߤ+*oFⓉX OL,W c"Tv̸[p}{YZ$x4ދ rH|G!x8fU@ah4v٢?Va,_IZt.0 ~Lvɨ̈ %M.MKb9E$Z9 9X5A0뒯{\fUkoTii{rcsv^(*:.iƌX*6rs]\kݛuu˓#7nԴ̰A G_wvūYQ`V,_vM"1PA0 V U200069\D,*P?277͝P4/#Ê˥ڔSxɲ0I$I1䱞"OrynC,cW 6kjj^x~fg!$fЪ´VBTkR b`D_F ˿V_z)ʏ u?np ]X.\ÙaWjR-vGΎa,'3?a*w f ΝK[oey:n:&ԳfЪ2hZE"qabc#GRy,g}zTj|SֿݎCFEEUAT*EEэkMj&̳\exu3n$4'~mzƒ/k_}QRjgi@ pqq6oѯsGE fЪo4Vܬ6F};W&LЛ4;at[[.'X\^_]%kN||ZFX\]\'oϺuޱ3X-ve/_VO7̚LiӦglMM-ܹs٧O>|8pȑ:tSfЪuMj~u޾ߙsUʪvav]g\-/{-O >SK:u fCBBHvٲeͿ}Iz-ϧ+ mpp0n `X04MO&rmmXH on5+O%++5))4Q⟕e _"" ZL&dlʬ#GZwڇONYMٛGW˛&Ƭ`vӦM̝;Zt)ۻͪ~Z /Zhdr*!mpɅ6-jVSHjT!6ۇeδ4r9=×-럕UՊpǩZT>fZ_yN_noޓʓbc f9.]988PkڬԪ?O,Z50 a $uO#rBV0^Uv`is74#Gi}0b/ _OkFVE=M4 vP䠹sOUMP'q0rd?FgggY%q bcc۬u=,@0 V Q#IY&! QRjKy{E' R45*zNukAP]}߅{tX[Crr]+İ#onGn_JӤiA177q"#YWWW]|aaaU> _7oޤZhe+:x,ךx<@^+%;R}aǎ;0:1#…RL=(x1N7o:%ev\H>cۿ pFCYcǶkVܬ}y|azOP!.^$Y5gjՒ%KoxUjqe-Yj` Ԕ^Y六 z?ЊQ~`qDD}^Yɭ[)Buk/11bAOK[J%un%}淟k`ܫٯPCg'\6oF>,.BC:rH G6m.@0 V ܯSx5/rUUϧGiiDvCùҿ-DFvp#RR^FBmi&V)'&TnȎFͧKK ـΫSV-:*o4֪4D5ÇS̀ :%i`~~~,Z5Q){=ggg77Yf:tw|S'JѪ2yn*;4!` T$;br4 !*2cڇIM\VnJTvX0IirfR7MXCAA Aڿg`0Kt&õ;իEEE,K/Dgw )))_Iǿ.Ӟ0aBpppzzT*=~c=FSkdd1cgdUtfT\j恛wSaQ feϙOENVCElDj p.Vt-~4zT*;1f⭦[8' C('ÝF$Y[YYQoҤIm  ;wIUWE?~]]o~j4Hm6'@1bMZZZggC =[2*wtRT' ¨Tv׿܆}yy7)fyH>LU_ȕNNWV0V["/n.J&e2uAY` "{G*l(jW:&oNNNk(,,ttt,Z|YرcqhKKKrjWT*wF裈;9oP`Yl2EHEw߽ә7i]]Xe噒nzS&$>8U(t0cx22& Y ٣Tv]:QsM懇;R7@06m!7ou.}'t֘U*5l׮]հ}vUy_>|NeM 'Nh_mU=1Z5F"oT',lQYM O=׬Yq}私 N)ss/(ylg/+.wX|Vj4`W]yTC%e"L8'DK{GɆ?pVoW ߭VMII9qD=B۰ fEk.]vf/^hѣF%%''ł˗/v8T*֮_ͪLj#GUAؖq7"lmQlk $\:ut }gѸ:%;1loPDbΜ*8gJrmɆl͵ ^c2gTgssFD f\ltr/^tuuw_Z,Y`zwQ266.yUׯ?d2P%7mD/@p+NGu]paU+V =! Dt*NZe9s9%'ko80cפI1,KpuqqTZ>N Zvv\kkF#n ,rȶlfpBzRVv95uMX]gIltԧo|JssOC#}Qfc[Ŝ\.3g:I-_lY%KP%}||V̤֮]|9ϧUՔL-͌kT%(H1}zy&Pz GfO8'=6);mbذ0/)A55B^/F%%%444ggɓ'O64ˀ`,ϟg:׿{ j]WOFGݶm[M;F/$!z{{L&j>EWK~*J'؝ڵ._.[&! ˖CBTMM};vHd$$-3SIجи*eծ lssZe~110c#"dgZZz! ӒQ]Hvҥ{y> ,X߽:[oE?>?q]8??^. i(G5jmZZ]XӍ; M;I6HMAA  ؁#d| +.vaaJK٫LWvژ1TMmx"Z㹘w< u Ft|җ!هϝ;,}y#Y+mN)))tw]ٳgx<oĉE"yIiO.p8RbZ5tAvɸV\*xTrh$nht7#1,{Yz}E޼<*WO7Bgai9_z~Oޞ=<̛F=L7`o,_W'aT0;h *.hn}SSӯ ℆WYcQ_jR4>l .JJj5=3Jڵk~sR7Ə_TTd^8::ŋB>mϞ=mvګϋ\N]\ȸNP+2 K ֬I %tzGHێ%o8N>sg˵;}[ƶ ?58uQ=㹶G fP;sm4 ,X<___`+**b^u…:s ]|nR*NU~) ,x9V kQzoUS%Wۇ xO>sgΩSʴ4M #2y/nu swi[,NZlfa;0bs>:Qjjy{pFcSe%7'ggLڄ\U\,_MMLQlcc#> /C0 筷ޢ3˳NɿnܸqGnVfNM^7|V 2ĝ.rw00.s&*/ם8QlƆf_̼rLݕxDEQyӶGATV].??};Ͼ׾{tYD}Z'V]ݞ 屓&"#ʎRC&]-A7L))X鱵.).vaw&z@n5B[ .`/>.%~ i&lǹsN@VPPs<w|[nn.j׹v"Q1gUYr\\ffDE f3qQ.wG|U4HW$"@0֗ W+ZUT Lc*.~ULXFsq`_ag5mڴz+!!N308`HKK?̙3D0+ ˖->S=W1+Wy2 |D6lfsBBB`T8,sYzZJG/͓7-\iiHOKŽhqN8ʏB!54@ ?YQGXWu]溓7Of(7%X&smK&raRi\kx=#G f! `\û;dgϞ%.V۷ MJ;vo(flUVgw{7Q huFQ1%Bm+ĬVWu7|/'n ecA f3xoO:401Լ%~+`;g2f/mMMDCdTU}b;Hh-700V`8~8q=o~bzb^ISC~0[W^h322rǣGv#jZ*|AH"k%!Cݻ iΜԈ~>eb1W  eܝ^^Y҆Up'ɓcWe:+=[R3tPԢR1~+Yc"`Cd:D$IDB ZRX`Wra ,gTY J9s&bAJKK\Klb[qĉ]g۶m6[nD(ZV>Of?z ˫ RvOF_++Nk׮~V,^:7*(QP3%+ l3+Sl %ˍH* >bZͭ9sH6-5B :B.O#(?ӗJ$zl,A0 Ft__?ݧ888vcOOO%k׮Z\C Y޽{{xx,]ߋaT 3X T"`bHJCX:{6Ϥ^`6CAcBDbEO^$gj 9T|jU`R~'`̶ cĝynl)lUU駟\`0n޼ٿւQY0`5kN6/ ZZ[=\K_f R=o49rǹmd,z4NJ qE4Y:,xɓix,-܃lTPȨ6ŒVc29x]iw V/qaa2 ¨$I;6aYŒm۶I&uQL0a˖-6ؖ0Ν `tA322^z饐Yfyzzb%K޽ʕ+^х_l@@_|>@ +Ğ9s7cggΜӱkozz:jcҊ%եλ]V$*P0ţiiMqR\\RNB ƎXd"JPtldY|?Z=6cG('4Yނ$VSPJ`ƒɾ<^xeʠ3p8˖-;<ҙ@0 j֘qOHv-)i8O_꽽Iƥ!_|!8^-D8--^&#/w%.b.c'&Zj6g c]22V1*jYns`ҥK^7@o: fQ 0[|Z%rEI:47G BR!lvBa#ҞT sIq!X7 [HB 5),J"% va zh.9Z0 ]{ ;.;;O>iߺ3LP,0[C-B< %KpWꋏRiF~kl"uEyg|CʊZ3ՙQ(?-8i\hͭ2Y|j\"PEhA3 f uEEE=l/m.]j:-NY`T8+wD%44Pѣb<0z|UUk{'P 3RD-q,,혔DT3>ui5{fjqC{e;"&^Nx]nh0Bny"QZ i03]`dqw q7l }4`Ci\6/oju&4M9T0͛7cYYc`` `N@_F m/њ^mܘ=au]h#0sg~s3|'WZ4=}ܝyl0uMAs34p2Luf8&b72F ZPwUc"[`9T0퍟T*ӎUUU>>>ЧNY`Tjzp_!3|*6 ZX駕{\@Kb,`nݚ+ =tP8͖KR%A4PԬR1^ӧ~4Ai6$Ο??2ܧT*… OBHߙzsҼ6 z]9.cXooҽ_|QVj֭d/i:+V!9ڎn7mCֆw%r5\ T4VQL),ONcĝ}sI 4*}'ٹsgv||IS',0FcQ#&yP C^{/ݽbLmޜ#曚MzEXb97%A㌈J}DɂII/ _{I3,v2Y Pc8P,hTB+  f?q{׍7Ο?} F5(!Ǔ<VTQQ`V.\Ȍ$$Ej5e9D@DD54Hk$֛䍏tOg(Z wi EGoǒH<^Bh6렕4|ܸɎj4I&o=<c񖶶6촱-]&O @0 jQC[$sG$?D+ b.//Rh(JXd"JQtld&Ԕ OJy~DZf$]uu[,Pch+*gd 6;F0x8AAAGMKKJFe;::***ӏ;6aۍKY,0\GS$VB 'ju:c$0v$Ƌff +4Ed2H-NK VhP1cY,ddNK[bR )V+(>ZSk}8,˵ǎua[8)%H6Ʉ~i)4=K֭y/VQ0 tHAL*I@C!"+$ d"%}( wH c Rq.b\bw7l/]L F5C1 ȧQoGP$a0T+Vܮ"n]&PgYvFsCLߕH^).~&/o-M䱮%/GTu{u0qŇD8ijDVkG]]f{lZ]RiK屬`lϿ`RTqqqwuWE>k',0FjB[Zjֈsø)4HGFz@~ ۸1x>wnjb%JklhhG~CJI"P6`iMq 5 Z4E qrÔ[pCZՙE]汭;l0K_;ofll,?SMM t`ɤ155-+_^&yRmk !%tuE&PF#8-rCⴴX$-z$;ZT]AR]?%DD`Wg*Ϗ@wE@Oc۫u-uf(:>cmrBCqqm], ƍsl+,_< 00\.F5 vX5ٚUmK]G$eA0 F}})S}饗zXVٳ-w64K.۲e j81ڤLQ]yCO2Mq㖼QHT46A¯ٌ&$ȧMyRZx_Qdz}3\_|g]^H =VVTޠhi)8'g3M\(Bh`ioW&' "#)C ^w@0 OlĪnjhsr~V8q"~G.j8ԌZ rA f DboXMMU=xh`޳]pOFF2gFq8b.Ꮈ/d. E UIuI| h4IlVzq1 ^RRabAgRpyylKK>R >~ N@$y{{2f6l)V]nAFFWWWb3gN:'vmG9r˫F5Ŝ5qCRz?S7ƕJa-jCBě: Ax̟BїLJj;:c5>EKXטeѨK"ԉv62ه Jt:>4Ԡ -"ƍO>)>t(gŋ77<6iR bG* +lqC9@0 FNc=6lb̊<ö͛GԡK-[˗.]rOx p(Z{ { a,c#G?2]5_nEx??[o5tk55XDx ^/L!Vx{9k9WÅft(jQ%% tusX%6ZGu:]~~]RR _x!{F)..ݕO^K*5g,x CCCC{f Mtttw^[C{sX F^9Z트|u|]>4`X.(CنCJ4.[gwtX*`Nd<Ljo9Fi *"dΘAWWC1Q4YܐE$Yj2,m8i\8/|uBRG;$ZTPVBQKKH.O"Y.e2bkm-o݂iF/>>K[Xo5r8S0;ay? . hد>her4f(w^ zf\.q{Y/_&6-Kr 7ߴ[p-[<O?t\\\mm-j d+2.qG rG8{aPNRRK( y/|RƎFQ(Uz'%~+R)g wĽs;>ukU+[1jm)'7I %sK"ys8S*SLPءAd$N @vH"1#̞={;'3s"**ri% 2cZ===,-;tiiiYŋ{quz툝Z{&M j 2$Vg?Jyg6Mv{P^}X,nrWBiw$U̒64&M6/.?y|r ab@<+.).җ |reId,٬ 9sKOZQ/&j; T*Gm{iu|csL|1EQtFӇ`-;_ cbaUU~\NdOǽ{5},^XXxNǎQ !^ޔ$R?3͂9/ԿfɆ Y{ҽXMM )xk%iezc}:ʉ'vZn"ub*yYiJ%+l?V++;A96#Akm3V&$ӳph;:&_|1G[|x̂b+~z ÇCOAA;~xqDN>>~hL_}U`` ڵk01XgY%"|Qf++XDp\:?WQKUU{ 33XQXUu5_1L6K[,~n\"G4`jyCNK[RWt B 6}eeՅ y  fnv<}4cHH`8^~+$e˖T,:221PFȑ#ķ...j[[jԼy+By,v8vkM*+NўNKYj \㓊Ol#ٻ(-,C"y1×Hm2ieB 'yy屴)SZCm-4Ԡs`vɤiǬ,|ɓ'C:fX/[? `/bvvv" gΜ}ٙ3gzzzbm۶: ]P+rloG9rddWvAUe˄Jv>βK^ŭ{)B~scmsVAc67d4$&GAsU2dg̰ cIُ<"knAP,>P(ᎉ+?ח Қ(e0JA`T`xX;DkB$/ RZ'\_o_B D--1b4:6`` `l? A"Z$J` Z2Y*"Y`q5[D$Il,/<>}]=  m:p`v֬Yb;Θ1Y{… ;w\fOw_v^r;.]2J,3e9' EXWTrMv/;:܍uFcLͶcǓ|>C[F])tIqIIq8(\?VQWW_R:gh3i4Mkג<=;'؃uk+*цC> ~2'Nӎ'Owܰazo% ͛9Ψ{`JDANǖ&<ۼQge&hؑP,vr|ߙz癀zoϞ=j<fQ AE"xV r͙eYY7(7/.ELml.tQBajQݝay`Q=RL)A06.).^-(jRi] ,V@)ūT[/33y)D͗;Ԡ Nh(:Zmiˈ#q`?ٳgVO@pB|//u藕Zj*GzΟ?ʕo/_-k=GÁfSUryB^6 %sKyB,*FQ X/$^=W״%K|Ѐ ʑ9T07l_k;4'5v"_yURR5Ȕ)Sl-Y`To[o3D"yi9I">nƺ"xYM͘e[^z <ޏFF _}|"kK;W'`זH3Uϧ-^L\@ɾ^p ptv`+t2ҥK7nܸf͚I&u`֭f'M<_͎;C䌊,0'x{-6!7s--f={ yys_IHBBQ=,Eb))U~fFo < 'Xm 5j,g̜I\Ci'Kbc;qF# f1O笠:|pGSgpBbX6oތC0 jêLV#$Oma斑ITk5+<@ִi΅I[%&*41:L HA"rmxRſZ_s$m'v'?Vz ՙN_XiƒH? n9T ;V%@bl2ϗ[s1_CdjPPPm۲_x…G[rP` QY`Trq6fM&b5]Tۥ> t3?? ֶ;ۣB;#Y DCLo ?pZzGsE\{={rhΚyy[SRl"KK[\\Ryln& ~q0*E͌U,`0XӧO۷o˖-7n|'vO?56:ԜxjzzzbG ?~,0p[Z,^*6RC5lwYPNKٌ~]m~hESۣE"/6-mk|]Gmx8`SWg#BSŬ7Cv"#HD񞮬LB .uf&/<׋LNMNjr`v`EQ ru:haHoJ?Vzl-{-1c;D}W_יL-u#u#ʠeZ꒒Jxٳ>F 򊾿Fh_}ٳg+W>tCx}5Ԗ-[۷oT<} 42$X$5`3cld*LNǖtPް7bn G=K{<ˇHvPU+ @J]K +P.ɶބsk˭p (~~U`̚%?;'V=zwb0|/>>))?ry?+t={OY`Tc:S1vY8Fl T*GGƏ'QۃZMM@0Nw,rr 4Ѡ@o&֡C,7m]溓7Of(|v0 "Q4(v› eI1(mee:>j 뒒/V;'#"Җ,A\]a7߱} Шcc}ĉ,:jK<<<.^|]{nYkOX"N683<3Z;,u(v$k$kҚ4u77 BC9Jp3.- a].]v8"ARV~vL Zi8D&2C`,z}yA֊̅ 'Sz % Z|/am  f?f|Mթ>mjjZr z:^xڵk?믿yÇ?SSN188XՎ,01HDK5Uw$ၫ+Á\^^ G]K&q2Y%$-Dk&B9cH^<~VzhPU,nx`Ω_u45Iy6yr?bXՕ9>o ӧ̙c0tnܸ155u=efQ wdE-F.!$O0Jhַ2Q4" Ĉh`BѲ6Jc㧕D<޲t/ l3}kkU6^Ĉcӧ汳EхPt Z! ,V0v5q8MM\fPxx#f"15Cc08R0{e"Q/vbʼϝ;}`X//e˖a?j>YfX+,_< 00\.F5dtgnG^ņjE䆧uu]Hv,ƙ318 墢sr2=|~TpV*67H\j/Y`z#d̫ZZJ/Dgg?BNn\S(΃ů_L^xx 19dh0P fn݊LDDD^{ _gϞkfJ$0T.[TT$˝.`ٶm[oe7v5Z]ĺkCq,]o˖-0!eҘ꾯(LJ$"$ORKEv:9!AlYmĐvbdC7hTݭ[ rBldBJNաxqݘrs 4Q6&\fnt3xp8FHli Zmõ<C\WT*Yb"uA:fjժ{yիW0v=?y$v__SN{1v⒟Ia\F "mmv2|.*JC&X D(sw~ ײٶAUfG1bq\P*z+dCƌj˼qENjV+P[mnnÒHlvPBe9:lA[uz&#WVVCdk{f+++񵁁ЧNY0 0oѢE.\(((,X@V6w? ;Tzzzgj'Nߑ DA~Ql>u"V5/9sUthMJ "dIZ\T1[,oQ JbKBՅg [D :Xt@+Z%FQA?XFSiӈH2EMM8`H9T0;ad8.=%%%̖_zSN%$$0;`tihh З_~?cX@Ӊ#lذAkVn:b ݱ%3gΜ:u*OwwNȑ#xyJY VC%CDX\F Jla;Cldʔ{!<C56oeK>@ rzbĈcB!va,fc :JPAAJŸu ni\5(e^|s`688?ߝ~7%K8_/… /^뮻:)7~{d=ef蒝MJe?a|w.^6?yuhkjjRt˖-KwqC\.'O|7`T_lT9:=22+=k֬j fFGGڵi&yP=jj=&U#y0$VГ\^˗^tӲpR5/2i>`^c(ӆOuh F?]I_w̰ZZX$akRSygɮZHFӦMĐ{ɡp ŋ=p|_z&M:tq{*XL?Kq&ÇGDDPsL<}0E^y!NT[n:rݺuF>VTTP{m湝Q0ΓH 0CpPjaiӰWNXwݵj`.f9C'Ğdž1ölIդ[Jâ)n;YYUNZfpT$;g=TsWЦ,xo fd2zo>_ꗧ~ r< u@hhT*~>12s̳a0\t_O=TӅ鹵{6رS>ޙu׬YC2 Jpgp=y=l y/ _~VZE /Ƽ;G0 cHOO}9>J-Եx'||ݻwutt̛7Gj4ͽKm_lYww7}?je#Cj GG`3eOf*3 fLIQ/^|^ Ҵ[Yn2O[[{]AiVT; t]E3=(N鎟?[ FN#ٛ=IHt8:2Kd.<:h*R^xso5~oþTW6qDir>UxO^`xfa du鮻7nܹE5z-O?>ޞK-E7oܹs m6R޾qFjg]Yñ'\[ c7F趢\QaEdVV{.5y2+Zvq{ᦦ]JCrSE|>`@IhՂ՞y xY< zB8#x:mG \gE>c…}H|G^ɛYh;z222$ç_S&LEPy@XXcǎQOHrP$*||"4+]v=ӕR\\L=|p%[&l67iҥ~SS`|gT UkmaJr.a22NuB[*khN<~+1Q1gsW>/}i,}߫b%ˆ_ s=gV>ۖ‚S#d =Y ryͦG C.Q\HL"eϛ駄/N1&Y?D28׌م RX[VVטxfGT[N[yΎ[@E;xk֬9xFZuuu?c=@ ϧw]}}pAAA?W^=a„'[7ްX,g눊rҨ蟥Rjx8kjֹE'EѢʧ*5k:;\ь~Xy/%h9y򳆆 ,ֹeξ1lommNWn2uwÁg] =fMMR&~I$Gdd6[3ZW 0 ˞?3 nPDŽ͆V/`;OzA={^{5:2O숲m+r}5-aO?dYfYk~K;G/SҨ8ZT%3y;%[KUAgVOzAVԪ^qqYȦhWͶ`ciNmEEOWVWW^J.ߘSMĞH4aaxu[>U*w;di="ٰӳdVy.1?_=3e ׯW&%x}rfɤ%$$$??ŋ{s60gΜ%rNa?#.Y._uϵX?4 $ً/kWKK;s]w]wu[nMNN>qF5i6M g1/pVSmm*&*Y0c37/۽Hs,ggs[[$!= oDDEb $Z[kj^|V"]fO RYڄ6ax---c_\._NuMTTO?yWR=$ό !t뭷/jj#]m߾}߃_UUU}qqq###F~ԩӺ/1`,D+EqG7K:-%En3<' ~Fv:2WJ$F3-%[185!Qht2b6׋D7 ~YYUb-Ǐ`4υt8<<3eoެٷώe`,`D"s:u>x2cBYYYHH\nVaV<رctr-9DẐO裏cZZQzaMM>"00}o_*ꫯbTbo+l:Eڼ(kk561n+:|bӕ ۗTEr80{pUtVJb+ OhFu93'q KJdJeZ>h7Q\s34f)+Wt fƏ7?ڿ]]ƍ[z}o޼y'W39"A̟}' #YTmӦMϟNyyA磏>ZRRG60]NUqf$]lSo3uV.`U$T1TZTdbTWOMOM!%xmz`E/*+2 xl:]#X3eOXv}Ӄ&_@*7z-PHWkv '̂_XxwTzA<L]pɺ|k͜ݧ"YN$d +0d{/[jSwg䱳g}kxʻ TgU*e/6X Yg|z[hQpV%g^I(3gNXQs(Z[9/-[i4V d('2fOhR&C`jU9˖yXNd,>ޘvwwSnΜ9>L&Suuuyyy~~>-..[% ,G?7oL9i$ $%%;wR a٨7n+''_|sC?cT7pKX cґlޕy'GB+%KB5kvRVVvt<-<<>ݐ8p@DDp1Y,(Z:8>CO:FyDb1H6"ޢPUI6X,|!UyEG"Y7 ۟ʌ`ȓd&uk5\!픢YF\\ F\@@ 9;;e,YIlLN`?2eJ+[yԖA,-uuuͻ|z~+W<><<<$$sUW]e tF,,eǎ/˗/3P1F5\:syllyܘonV+]6ϳUW SS5f?鶖\d+nA B>X/Ԍ5|g H'Tq:]:3|B1m2X"zmNI^ݻd`^ `^裏.cXIGG]wu{xW?8Y~l/r``13<ӃQ #^pW{ynjSRٓ2C籡X gێ+lo 6\̖n;>]t]Ԭ\@&@4(d;hA!VEb"#0tz ۂ/3Xpoq\+mnnӟ&,F5*ADፅylҜڽfKx {qGqf 7Xhw8_0 rĨ9<o.o.5 gMG!{c`%}mb2*+۱J`/:%J]@󯹦' f,F5gS>ca/z{Eig~W!hQF;:[7Gt%C!`}kzj,#lX)'gZB(8m~]0`v„ ԃQg'FDDO}Yj۟2Z؋5UhIbIdF < nRR\r'5KTJ55++YZfDESqc\2E,d*J :'4P.WO?qgΤٳ[k}e`6**z0"ǏG0K`TXd3SԢhQfoSdKd`iii+rH64'U*1BEMȞH ɕe2"I^QXx}yb0KKqgki骬4xM_}U_|QWi`Sy 'ш8 fW\I=| .C0L;s/,Ydl)iaMBrёlD;!AЏ~ZP}`I ZfZld@f@,jÆ ?I;8( ddF*};W]ś=[s8Mċx]f֨`ֽ{}O}YjvvK "g]WzW-ے:HX ;%EӃtn+-2 ri>2-k5*giA ˢgHqld+=I.OZh>ս >o̰ ~[el(@ 0$^K~O{`vY~- D1(Oz层esOWBBtvmMN'IxW\'z="tv+Vkt7j,-湪bMH=q[t.U5Y&;+yĽQ;c^^wU_ + fOz}uۺukmm-` ?((ڵtRݎ>f0_X^ D"Uʬ_^n޼l:1J"^fS]@\vj`Fr"770ji%%[̐3pF.ı'.Y:+*&ӦMِ{ɡp ŋ#8XW o`kiӴs8g[>k齷4RٳiSEESO.LT(u@f=#IE6Y,Cc<c9)Ri^A(}~^?SJE=`y[0&f̘q`۷3`T}B' |Eޕyg+`1KXxaI+)IK)S8))j@x#S};mrȻHvkTf3d'uJ(3Jeο24VkSAE*;{/$RArttT6kmmh;YJUU /lٲ>|͇F]Y߃`.W3(+r{ pн}sMU*t킫峥iY,//qank4Tx561%*$jQ[˝I]Qr*57]K]17:Q`xs0K3yyyG=p@ZZZFFD"q(B0 Q #SYFcW˛˓UKyy^z.:UBVӛ ɨ`$Th*0|\q,k˜aT*+4 nC| 7m2dYSR#T]^̎?.!;~ ,F5 MIl*Ezj{A킁s7JZ`PlLf jOe>c؀̀KRGYp-- 'Je oِ !;=q":n xU0rJ:-.W` ,F5 u|d_ى6@/c/˹웦oww"'1Nggi]DY6{N?ɅhF`{2CCAx fVUW]E=PROf0iӴ ,*-zbltw_1vA~infSF,~Q*]Ҁ{Jesr.꒣M.*9͞8AWn6lʕ+|>! r?PNE 2II ̴tiΝ3EVUR"_V`Ϟ_oG,V8ʖlu@ą\,yBrg0Mnv_ m_jڦ~C}Yj2S)gic?LMՄWLXϥnTTDMfmnF\]]T*;/{Q$T(HR*N_CS[{9SPl=U2`_M8C04T 3Img&36VBE1ME|>^F\Je*4ȱZODT*5`F Io*R7V- C}Yj,)R`c<,.XO gD~|ՆXT*{_YY˅6pսG[33 4H I`K;T*ŢA C_c7Qt.=Dio`Yj">fn&ILIQ3hav d#d1*)*ۚq8d(wfgϧX&=F(W28&D X-]x-\to@0 Q ET *(^fk;t!,iZ_P@EZӳ ɰ\y@f{NϚ.AiAy,&Ķr>Gl"{'*^Yj8/RFMe c6|0֟TNN<*`X I6T6QQQI=XkDg$֧ dߪ7nl>rt;,1 ,x!ۇnerpd2OtSfQIÚ5yUU(؟+j .@ O|Rb4Ȑ9 KLf}b0[4.`[[+z1nɲ&L'$tWUe|YBM ۶mC0 p!S% bęPfɖ]tBAɹc,LO^P7cs B 2d'N|͡/[99Լa`^Pv:%A]%Ҹ8|Lf a0{ȑK|qY8Exi"+\/T<ܶ HvԬ~@q{_e2*wUU.,3ƛPl8+\&@ MwB,H_D?hc@ѵ 11h`z~ŊHxv52 g,^]e/=MHLT|mTdEbS[<7ϰ:|4L͕3A2+ILf(5N)$醨kH6w }f&'!/,9J8#AolҶ6Y]W^&~Jj7Ł Ɏc0XRA UH#j_ ZRiކfjIl,f֤.xYf !b*7 V 5UA?ɔuh(& |1^&f{̛\)$Tͨ(;]g8+ʿr,SSTt;=T X4mmmDfH/+|Յ̂A0 ~$HuʤXZC Hv8FbLh,dj1Npe|3frg%w]S^ 8)]0dX !/`,ADepq EѬ2=]ɡRŋHar:Ӵ8# e2tTyn<oM: ܀@Yfgwf߾yEUYf !MӲ'$.wEnGiO>VmT/ASfaLk >mhhw8>xśHv^TM*S[\٣v"4`a;v'N#ټ5kZ8,x!l-һJ 62e2flv<*u5`ݬR9Ţ;i6AT5=1Id%hAqzwҵ i4P`z;ϧS+|͝۸?I1h999?Sfff?&5 ,Vv+R.qgq[Uͮy@/Cl͎wc,5ϼo0(Y02z\=ɪIITŷ`_*"1+kj dҦcb2%0CCKlѥ$F+7o/굝z0111`|yS/.8>ay@|*{|uzy8%6/z$ҴiY1y-3p$IEE3tk::J8mCIXSd׫SR0jlhh/ rY8`|N=gim#/> r[z<ut8RS5"-[Ju>jvȰTM겜etɉ|G{;g@+¦ӥ\1EClƎ"}FϕV3w-Y5ag Kii.6ZL& dC}Y::*L!p qqY!”5V]f׉ #ZstYg-iYv)w8^S< Hb I?iL\n휨>s~n˗cil`ロ:u*Y8YZk훵zL:Dr)ɱ?T.JLT̜L vo|䴵!+vHIʤHN$=Sz\[CV{6υԼn5y9::))˗rL\Yx< yUrС¦cb0b}7~E=%K1$P߀`Ju%[Jtdc45A~YWWUuGG<6(iSMf SqGӕX,jLfG 1IqA :Eg3|y/YP$,e2]yc#j?WݮKOxΉYTloCM Yf !ofXT*% pd2cpoQƤR ɪ&+zߓj[["70nX' }F(N[J~,$*)Y׍ oxjuʉ߶ E'Nys瞱bWL>#$XۂYi`>S/y&P>CUdi6"0/Əcvjj(BqGqqшvG{VbVv.}f߇&_z9s+rWБl3o>ޟ0''gg+puu65}e0*m_܌XƸqt$˝1ChGm,I?gVE;_zV+ fPYŪU]OL2$6sV$bAhCxj,]f(TŽ`Wc~s"8tbIVyl/c̪83ePI,U "w{uu; ¦ӥ1Sdsr.S|ur~]z4.sa/fX{KTQ̼NzI_.1#я>,x;Ne!ܙ\Sbg3!ADuee&Ljc8,RR AD>;t:7gtǞHT$TM7M#+(쪬3׵;ڭjZʤecKJ <)8/[K&5 W9}̊D+V\20+W,))AW%HYhd/Qsd2[ϦY*˯IZZ++ c2=.?zÁyu8:R)j|PxM <6ktc|, \2AAA| zg o@؈T("ת{x[\HUvuP\zsyWUUuw1$^ II-Ǻqn745}#>ZPXxߓȴeihPgӦI$Um,ᾈz7nt?^"9rwݼyg~;n8> f`9MN"*ɿ:nLOMEETN"kS꫄BxX߫r1˗/w+0`FMoRHͅ./=;ζ}{)`lRc1O;AdIș% MӉ@̪DE⴬it" <EPlV74|ZZ͞ƞc'nh>w:;PB,Xגq˗W&McW_}ݻwgٳ>C0, rR#jjz>, gQ̙t|%JT(geyaUf3^$Bpg {}f[3O.`)B^a&tr@vU?HC xyk(_{``666z07tӠNtOxO}Y-݊n\HwHI؞'=s4dlo<|IbqNS]ݻb-Lfh0˝%hjnoECt6<_}%KT=hoռ(]t)`ANW3@0*:J:eQFMDbڳ 9sxKEnntkF#2t"`l.. +Oha<[e99. dnnY ' '3e2C[T:;'Qa`HХ\vg YuJ aq`L`vҤIԃԉ555ԉS`.6$$ Sj=V{z.>^6{6Wƌ''$dd~X_SaaG뾭SWCӯ:s]:%F NϚ+Mդ@CգR%geM^NgL. >##oZz =Zh^̆QF;ᆆp@0 YO0f% sz+;sAS+r_x8j+f;*յgh|6\^n2a A?5YYf-[R%bI4#ahRK=Ǯ19vNGuȝ1CH|W . ԉ:qS`.&m1yI&3#a_7EGzQQ{|񅦱WXg6"QmTmV}$#ٹ]զ 3X/dNU&%9;;2*O.Տ?8~gO?}E@%dM(oz^3fpf;Ew+ >W&/5 6}2)IG S);j%0i4dn0ti*Z:LRg/gi^̶O:zUpm^P;;U?2_^Wc)F֒@23OVjz(HmOmaN,˜qqR~Kz}HD籁 Dj N$1,Zz^r45}uV$I:8]iNJ՚UJKj3,""IO&\`mΝ% 22>M`FHSxJS Yuv"=]#L,-INV~ "M]%Бl('Vuwc<ygDRE.Fh7$:]J,ŋ1|b#dyju AXq?׽^Ov[ҥ3XƸq%KW>TݻOIm/^̺:tl~DDD߿]KsY\D#D+^WTV3f<)NgZ=/;d' r y=MRBqҸ*4N/6h66gY}Ws8Qg0>ͮ l~Jή.SyݻWc7ߜ=o^f@@,3,LjU֭?1T54u3 ˖-']dɞ={ZZZЏ>, /c1wy/eDa#<ı0&f̜ݹb%)Qr[:0nf?R^}&w&EqvVl't3yykX dt+PQhm#.6 T^x o;cF,UVxUت]o_[nU=IV@߼6t~ߵk׋/ѣG} , )O3([.w]Z+ du|MNa|S̀%%HRoQ66{0r/;DNQ{' 2:b,~tʻ_7}MEkB,}[o+-MR*67יVE˻򙦦o,F\i:Mj$6=iR度Nuow4YBfH4ILoXfdVq;$͞xvX8FLjmr:N¯\fd?=e D5ww*f !sm/sgp{%0fѦ"0$O\͛6_JbEW]]N 6߫^>+]q~VWmhjJJ2aŚ ܣVd*#I,Ac˫_ؓ'c,~i2YBf<59V2Xb,^K9F3Qͯ\43:5g*E)YϮTϏuW3ץjRc%^aքqL:\v:dx('R"ur:Jg46s.ܠgޚbdZIjJ_Xfͯ~tJD3oэ`cc `` `c~/hy||>t~?/b\7%χ.,Cæ5wO c#|QUaiU))ܰH^28 ɪc v>^È<憞?]@SYE|p$|{+lĻс<6Q Hh Ы{.\&1է{q۶i~ ,C!sa9qw#d$S0Uv=]O%%1eZ=FM*wrL:=C,tv(YyeΑLMcQƥSs*;|">()bн)*uHNG07R?DQ4a2fR,;] ـwjuCC@ ())a0uuummmhP|6`e]. ,ofCOyJ/ _WgʒNN]s %#C\U$&SXy,1E ȡ?tJZgOLu~>ןxb >dr-aaaCΓ-~; &C0 }1GՂHD)AW-|Q-[*Ǝ-jw\sd z].WRnyxW]*MDxψUUb42II^φ.YA:MuuwC@Gl\\7Th40:Fq˖-C.ڞ={Vk5Y -nI clbSU ((dfJV|X6|8;~Q& Y(t0D%12n3[{I/9̙ߋz=[",*7J:uUW ҐHM6u$3"A@`6))ɛ%ED k׮MOO7>;uԉ'<P -{^Diݵ9Pc$Y-ZKHG_{R~M ); f}]oꫯڵqqqOz=9򜩴$!Pڔ9T ܿ*DQMA{r ⧦+*s DU0kٖ.]OLLT* q)--˗/cAOqiI#+ bؙӧ57&$֯/{u)3] h@4Y UmIvʭWÁ~r|7% |S(/j(2,V-,@덆7FGz#ٹ_(PtS-.^d) rye9G.yNuDo$[8v4+ 6" f~fv<~ǎ+++kllT*m q=r{[`A@4Y 8agyJr"u((?^lvȧL"!nkBQ4C,3JKn7'.;.dPf/Fcdl=sWZ-"d3fsrC]^!/hex EhF͇`2 uR(+H8:jYYD70yhtH7[,+,_0D*s&P&x#| ^px#Y29Q*rAU9NIuOŶmHT7e%'=?"o쐋4㒐p Y <{>|x@4Y x>m%KH6%j/dYE99r-f?R|26 &@܉ԉHzzۼ, d:#l?4>\Gu'bbN)k+۰AG%o)G^D"D!!DJfZ4q(Q!vu_զLiiHěZWB!Y/uyydrPhW1?BC0v T vJ ;ׯIҬ{wr=J!&ϑ/.ǒFiUwettM%&PL#]UU D HTƠP {,2sLqlvޑAbLTP(wFB Ĝ}Xݮ,MMbVNyb̙Y oZ16\`Oݑ#G_~߾}_|xɓ'=||M67IIIFcT`s⨢l}x$)Tz^\4+ӦѸ\ChH4 #DnG2cY ojEI}c))GZ8PGum1\hDJ<}!H:J./$dlmpᰵ+*4O?曢}87୷ꫯDZ7n8m۶3pf?䶸D10g>U+y<99rom*PL|9@G`L쨽\hy~;ǘ7<꼊NN<|سӠ׳ LBAW2y5*>?U,ΐJ\dl9=n8ͮVw $2/O{⧞ڽۘIIcs Y۷7zeKoY /̝;7,,wƘF-[,'''; bŊ doVOG\!bM7K%= tJ~{rr0ؙ3V+B񟺺|k8H/\Ud rNM G1}E51[vU: >N;'ZO*SUΒu==RT~][,RX8f D/)汖#nWaU8@?յw#^fޖ>3p8.s(2OM{#QQQ_|EЏTkkCޤ$OJbcbb͛y`UJ.M>HJfI& CN H뮹g0s2®'5;:>mn~n/ɌsZlm:5dMhw_8Sc@JX\{1űMAaQf o--GE}[KJV3ġ"Ѧx_V~i0[j$*ġC^[re֭'zˑ#~3Z[ZPX@`wd h`Ϣ!jiieeet:\.FPG'@0 \y3M'"OCI U*j.raYY? zz܁6wwVԴO$PVv- WBEEwlr"VNYU{uu G)_y5~:;E-6+t:Zk{)"Æ7%̚\n K"8bgWfTW?(NޟG(aaQ-۰A}^[êԳ= 0@0`믿N>駟bO0VpO8 $ae'"œxw?m,pի9x@曶j7ooTj?%qqDL斊gkk?kitt4Y,YpAt>_G)n|&0kbS,~j*a2skv>-TutŞ+:E5%7Ի+ofcy9r/ fNɓ_V. fq&L2e   Ԇs "ٰӬ:ӏ~$&g|X zNfR.Zf),*=qwc|7hhhş=|p(ajp@PRR`0***ڠ@?mNzC#|fVJt:XfM4 ,nwxT'pkr PV< W*=Vf4ǹ0W4ke%%33Q%.0±)ܔ$}MMw3} J*|H8RkNiٔߓg,*nyNu$#̴Gz`~nݺ?Ծz8pvϞ=:Rjȑ#;w\dСC`;v?~m,91e~-3\ԨźbE  Nv9vվظr.1@UpJr eU*AWWwڵz1l11wGw%j\!ꪪ=n%4*vFE9{ ЦM{z ¯ C&>;H0]o 1b2rKXXؐypb|UѬ"g#YE6ZQa|8 OzV(in jik{^"Y_V6v$M%%{kjp sd}&S'A۬YTs%Ͽ&}-[Z:jq,P#]\Cho$[xqɓXWa}$mnnƟ1bD0hܲeːg@ `d+MU$Vlٮ]UIIH;2,KWdtvUW/ebTf梁|łyʼ8b>Wo չZl2|I74Ao$]L>apȯQF$A fzE|"քkצW_}wߝ:uĉ?zܻw }ޘl6 vFS)^TW$;&ϑY'^xAaC񔁾?iH^j 4,4Ob2a#5Wz^ۃ씱 @$-ˆ˨]`j+l섿} |U0>;H0]w] ͮ]j\\Oh~j׬Rh =k'Sx*c{H3C76K8\IBpacj][Z l E.Ϳ~zqƝW|_Ӹ$$$\`ð8ކ~Y.1 #-QKN$,g ǮL&We@О8ۍw\3ocH@kuy)SGM\屨:?Ѡ^\mi>wipR5eĎru)rsC9s.N `Cڵ3f0 o)G^D"_#lvw@0 +,[QTV.?=~u0?>b/.'N64?}TF!"Pss5n̝% ;LϯLij>,+[O ,bZ?X ڵՎDDH23Q. fquuuO?ٳcno-uQWð-[{{p\]mx$K'~]wW]Is0VlIo4|iMyQ]E.XL=@=ONGP' Ysw]uCT$4y#+W* ۏdڳgwWl6; ,p.uf< .uL]W''RZr%N \̺\>hڴiwy'+kS(+V\X${뭷hk2@L|m ϖ[,v ;#&1̖-z}p B Blqb\ExxoYfN`s e7p46c2Uz ժk cqqܔYv?W pa0ԴhѢsy{7СC{oRRRTT@3o<>󖖖m,@_\!'LU>Nظcbb99``~Pb eNgIyPum9{9[ ,L/@m6*y9>agٰa-d>T\.OGⲲ2:NѸ\nMMB@Q4,;EfQ[Mh|dvND#ee`<A<]M lk XqK-nmZ2 HFTYs]<'2^ޭp;Z[+]n]u͚5OARo/~a@B6 >g@Y:jkQٲfo4gvJFP;Zp$ɉٲl;BKlmBa:D ~0<UVVy=P͖ @0 ?}t>QV8ֳI%7y'%%rSlYw媀/Qxxt)'z/U`3b幄b(ϖepS(QMMuP(["U?_+  f:`\yo={vp /۱c7|fʮ%hČ 2aYKYudtb8nG32ii5.UTDNjx*K$'CC7oDI>Zm*Z\HdyƢUa>qbSGguK˜?೒=g@`>7 & [NS+rL ?JfH}C±g=/]͖x3bx^o NI.L/Р*"v[u:Db%"H>M el*d{d'Y"gd >!6V%J~3n89r c\ `Յ:PsYhEO7]WD& y-FSJGȑ/Xd ޵ -A.Wzc yl2\n B"⋋J$/(Gu:ڂahPm|nJJA0СCIǏH +v ӅalӋ3%[N^k$yd8Cn9ʼgu[+ZZWbg'DD"?x;qq>j1;w*S][ w` dA0v3<7sO2f v6pL快TVf.£)J@\mXrT>?DIz<قRU,=㦏}ZQkvp-r::c_ŋ 聪0o.25tڴi>a,JNdfT:pV0;R&MF===_,p,2 c[[+yyʸ?pj\:\J}TO k8& 1wi9{*YXpqWև>"|T@Ms:U*}LM(%Y9 3P9c.Big-Ycӧݫ')ſzmۼ^[ZZ}Yae RrW?yoR<B_%arc0Vܜ%>VS⦒tz8d6Nju:Ds=|uEE":hGM$ٔ߉DOXK$,,H$ϵ}]5 P\W9}Z~h;(=w Co(sЭj@tx|"""^}UNqTR_CN3ws59޽5#Gt.*{n tDk(W-A&Qwxknn~_vQQg178|%64bgz&0͟VUѦ7za ƜjD=v d~eg }v-mT$<|511W*xyp%ld˗/ưuuuϗjif,%&Wm^EZ#BqLf V*)5=XVrڧI&wŋ䅣tڂbh@2Y6LNoѮH+Y,P]`b1+rsEqV"%$ z^Z}{8vzn r^{|z)fR_k(2Wm̋@))ܼ<:GvV頻I& ;>ki!hU&S K- eq>±W kI/nn>$>rFAd **d 4&s z6[#HKc&%- ȣFLEnJ45A ?#pf̘1n.?\ E16[.'2cV@IH],U(:`:1.s ]>6'ȋ@"YəL(a8-MjRiVEV:}@E&~i6LT^o_]ܔ1c _rM5=r䈁˅W-lJTTԐ @0 Nk/|wO}9+K:cݧdAzGF3_J}8"q3TvB]@1/սdEͤ|_ԿtEhP(D9I%d$_?o]ҳX'NԿJΝeȣF R6u*o_VCOCp`vƍC.B(w}wNS@Y_K}dJR_:4?/Y;O%QI hp`֗E!Ho$&V[@?,nK,Wx+KV&zÈ66n>m0ҬQ[ZH$WTd&[_hMjUmr\If&?5L>|ڰHd$3)I&صZ U0믿'N|`@.!̉X+v @}/[~z\Fli*Nnʯw:ooz2-,PHpl6[AKx*ØwNRRLI&]Gw~WEfsV埈DOo,*@h6g#˅ (kIFDgত<?-aN'*ݺu7ݾ}P(ty`%qsi+ԗݎr8>mR1vlaߐ)2֫74\0T͎X6NB$*tBH(X[h:Z"gS)c œW|qϋˌe=j ʯt.w-6 A`=`{{޳@HM gQ"0-ߴI|@CZ"G*E1? fٹs' M(`Ert8_/]MXKY6]].*U%MIU8T> %Sl "9PGJ5gl*41'=T˩wzT?44^FcN NѾRݚ5~k$$֯/{u)3/cy|6Y,T.WȔHR$&3O[$KQ2QQɬT~j$3Wg(?7*KJVxG]g6ufeQL;h.! f9u M(`PLSaH"Ht.jzŤҞd[N#ykKiڠf/eeH9%(ywžFQƍj įY4f 6TS H#HvÁ>eޚ+J pBر))瞓|M[MMNRv%e2w0&Z> /bفtRuSӇTUrSΉ *mm4TG?oSG5}-:FNĺ?\+͇ j ί٭[z#֥K#9g0Yd;8;"+V}45E|մiAJlʒh, =M ҆ T\*SAKx]PP|FF|"7nתտJ$ϕD DH ƜnS E{RU~~K/oDiZQ~GM=[l m}׏; v?fs]k9Db>䦊-55IY͟տ Tf~СW_~+Æ RlzϷ}mH\p*&A0 Aɮ+T>y$'wڪݻk~Zʼ2K(= U0+!04 Y83U5W\CɺфJeٲ.Aי?wP@fw﫬`#H L: '|U~0}uODʖeM|?֒۵z=D}+UUedrs!H$,go O=EƇWh0 f=9f,WKGI_/#%&^EDO49tK9LA0aWJ峵\J^}ieI55 E"\ź]kcN8%Xc5>֊0S[8v#OM47 [0ӃWݰaCkk+ Ph`Mik?.zRZB"enjzz M N^Ajjk7o cGFlؖmii#HF3ܔ2j]]`Я;DܵkMpS\z 6x)..nyyy48@0 scneR.d&134"Wy|Wj 4,4Ob2al@-y^@E\C!ΈD"/ Of%gJ2:u=R$R(AMZ-GrH1g*?N߂gMjڰ,6Nch4W?Ϭ35UZOVJN$Ji8s3G_S/<2uRkIW(@|ؙ3?^S\qbc55Z,nw4m kwI-!lӔJPb;.RX D[0˿80Y*I18PKAZ!͒Vt}/_F}ءC))lGNZ.ITj^ PgKzauR"8á3+|ä,Lcd{EI[᫪ n_AYZ{ӵ>,!Jf 6jF%jj~v [8-MQX:Jçf[VT䟛ŭq5>9M+z*U%8qs&S[|-_n8`BY2S7nmʭg*[b^UPhu"LQg2bN;cev~dOHhstBB0 p `f/쌠HRChIhl})[jr7k-2 S)1ዢȮUjuXE:\qr21aB % ,Ooq8/Z0{ )ͫTVUźajRSQQ@W$D3k{k>^[omuÚÎ4J\23dkkg <5r7-[FKѧ <`BYG:IM5HS$; ߊt)遐)1QPYi[36Z}5igRd#x,Zm@sq_]mHP;lXoQU=`Fʕ^h˟5KfZ7>ğᄎfNRe/d#5dcb~ɊDcIl#;I)Ҵ}!H-cxju"tvttiBy@Ν_?{餯1ujWqr<5Uw˅.jTz{{j5>t 7_ހYq:4k ɮNC3#ɓdl c/Pc^-PPm6+ۿnhGuoϟ\TW|oo ]EE?{9=֬aƞ2wGGs.+nٳG-1`dZ0{ _YqBo'v_m06ux^ۗmti@/,shr7V_ѝwrWEE<% .XaGUG"X,\s7փYD;뮻f|MvMF,fLaKgO7o]ScݵK2a~Q؋d;NVg*eɻ/ć"]}66d{ټEGh+f0( l,<>ZwXu82|f͜8"2 K oUw1*Ӊ"& yG?fv^/"&e_i-ñ>֏͛qL̞۟U(b wTV:B՗m.1d3S) (ZԠ7"Iͦ77/?U^~GQ2mX/(X,lJST7o{zC!{zi~ݻEII%^^t pb۶ڧnND`d`w}78`O, =/qj{Ø$k@vN$%C+=OAsR%%tlk!6-ۿ{(c{щII];SYUdXc<Oͦ4JtT_ ù "Nh ///]&{R~'ɳlqEO)F|2=fϞ[Kos%oŜ>_cGϷ~olg|>+pNpx* $^) ѝm ]u._^&M%Q*m6K}}&gﮨpNFĕ\ΪU*Vgaw~q@y`gu%f>I85gpӳglRf I?/s8Z [Z>R*_VZz#Gǜ *lqUw)vb4f:fm%^˽JN\sƌSz=EW_]~m?p`ѣfՅY#u8ᾣ9y"p.0"!@F#T/\[g秥)tQ.(6-`,I ظq#8`G,W$LWGK/Iqw8H W.>z>^:*UTA X\PN''hˋD773:;l675Bb^*^MoٳI)ID<@LXZ۞=$::'y6i{ɜqʬ }Oc^ŗR^~{eɆ[[?5抾{(4d""%) }1̺\.H?_=8Yf%/(}ֻtdV6VO%ٴIjw\VX  Lfp]%4lhxH"IX\9X]\],NS(k4]]Faceuҕ雄 UU*=]Cתj/5 mƚh q+jkJhd"Uf7$"bde-_m(_Ϟ/2O%{#}NߘnYO}MXӕKI.XNLOH৥)rs &}pH3T?Hɗ[kxkk,+Zzg֏nRy ?V`:Y*Uc +̙3hrr , `ƍNV'k.˟qWp2qpiiի ř C\=553Z5cO:~<[?LfF3VNmY30ӻ$z=܌$M5?pqp~dCz)vk9qqh"YC%cǎ^pVpB0(7en"P$vЍ5UzCiՃUm_u ]alt4}f[o5֐=jݞ(.Y,t)cu{kΏGw<$hA1^zi,YB$ 0B-}W.88YnQl}=>:)[ʤ6֨Re /Κo_-ptERTF3|;~8בH 'Iwn/r. j\ͦ&+wl\\ScRlkkkTTTp:y+bi kr^<'Y;%J2T:Eim*dDmm}? 2u]IRҞʼn̢+Oy,#6K5(V\8K4dIPVzu^XX -XXs0]ƴ fSSSƍe2%0(/e,0&DQ|UlhC8}Rdz4S2ܹ1 榨 j?8c4< xC *jC.^{$4#Y[CC1eJ EZ>;%,Ʈ fׯ_M7݄H|`";hGwO 6_dtZT*OY JNwu\bY Rrة#doJ'|1!]l2] HӣSAju&I:CjƼ6VqWxߏ|O*YR)--ũ9!!uxvV11XDV:Sm0S@Tג%ПכPD2Vq"ylM+4 Sū֌lF6[*}]sElI2by\$&&NDz''k&>(FC)5ko$aaav|`Ν5$$ch$&KZ0 /{9P `N塔J"Ge]V/*۰ARrnl>m FC--)4 <E4u-s{߭!lJ)&sI,5W(ܬP*ZkJT쳥_?h̙W_5x 0^`0s)SF5wgy&++b֟ N`NʻhQ4U"u*EZ-{ U~+RVB}UUוtg8ALƭD 挋 .^V,A!I,NNE=CA#I:jHEl()//,4{PL7rh)XP {q$=9|*0 `vɯbcc/8s8Y8&KC6*n\g4rrt))҅ ҲH"!-# ,o v)I"S}z&sf`&&QUlovwȑihl|  7?xt:t#ϞݯKWɺu֩8߄Z0{ 84?o#"EteCF]s o`eˊzJNwޑ9^PK*.$lA,p6 ԼR}K{zl^ȟ"Fv89L|4EZu E,с9c0b}X߮g͕Ŝ>_OHPgf"8!`1g2g:xTnaax8Nؾ]iiuJ-Mdg"IR *G[,`1͙K8' ]T$٧fՙ^my,c%%i\xs:> ~fwΪ@&%qNk5.Y eaay]W &gDzz(?:剗p8Tjz%Fq4%2֌֐lF"ɜBmXl4G~0U{;iQQy,cʔ{mOo/ndͿ<`u: 5ep{-))hz 0eɬ#8z3C iW@yB/ux~ϋ^"꣖z=4RW^(ث`qcNgȏѡLOgΜ2O''k `"MAry/w:ɜ 7=NlH&D `Hm{Wy!9\4EB{S<5[;sd.Cn.9`A0 !,JM7F,3*hKKS̚c'N%'l(x4xCll?$EroN"EE/7wZ*mb` 鵵lQ\};d!7  ! , -٭N"-X\1֗ٛrlcr8"^ZmNպW&e0yl'Dd6䏕^<&kT{JJDII"}qB0 !,yRrs~$<$ EjGW/.n았(;;҅[ݿ6 ^"ἡRu76eYe5$!t{t!7vm M(ٵZ[[YAf}}V̟6z ru8~ʺw4dOg>~ lvpcid5r]΍7/]V,S9zH-%7b(ki . LcTyjjVYAf+CJL4/q8!@ܕc͚5^W>F砍R&=OʮJSΟ+Y6 ;*`qpc/ Qˡ(Ϩ e4*g \a9s|q/C0 !,8C;}mz06V~ZO,{5]}fit:;U+*}c^.syyW_5!N0dD0 ,A:Iǚ+X"'6ͧS?]Xc/͖P`2G6FKKM:6-ϐ쉥KKmlVg֣RjmkJH X5'^/3ko7~Y;v֮eΘ׭}G$ngZf!!<*CŚ ^+Msg+ٝ^%$srtHKQC@^*1d{Q)Iu&&SzL?xkIlDn0ĩiVhnCY*CyM=6r'eOkaP3j'30e2"?RI^"SSv6ĉ8Ab4%E= ,9EKBD47NgmCŖwU{o~K'N=@UiHnRh:=8d\WRykk_T[iyyɉ UW1"#QP XkX2bsbonVReOIY{ !, cuܐk$ ~kND݂dv8ܸQ0e cWcbRksIۛT..(c٩ryuOϨOީ魫 p"|-o<odyf&Oci(8`ȥF~Q{D5BB0 (7rWrm"MK[{h}G+b`;>kv;#իh<6FKs hW#i;"1, #ۿn/<Nm_vSr88m/c#"ݻn{kh^kl\^TNg2JKM&j'~-eq1NѝIc]a642^>&#68m!nik;{ rr6;[&JJb͙7p/>^} cٱ(^ HJKK***qr,@(-Typ"eҮ3xNK8-1Q r,ﶶMBa8A( n//oT?<;tez 1>PeR.uv2TDD$<6xJz__p k,(PFΝ+$"#Or*KkkM cٱBGwߚ5kbbb.8UVرO?d,YQԧSe sLiTb:7ʺo4-_^37bIJ2i .7]lq8FeHqJѫD+V=]tfhW( 7KJ.~ ΐ%[lc<ë yaEtDO% ZOOҖ,jggfQ q82TK9q"L#?>TʸStY ĄJWARCU.Uh4TW?\XxX6{QyuuϷc))jS^@4%bŠI,s ~B<54XL:1`C0f֭[/8g>cV#ɡqȟ30:5?,[NV~wؕP(``P$e5P[pB$2OZ瞫Y;o^RkoOS(n XXj,K")0a(Y@RҦ랿EE' "'&]ûfwLuf浝lJ!W9T$=QQq7PXx>DbjDxkts<^7ջw-:y:h߮oT<\B0?/qqqf\vzlۣ>:&,#]6[[(&$$6Ŀ <9%Ezu%11 ܂O?m_vaQڒh:DY|V0M8ޮi"]r<[*OM'LaL9Q99|O[Nl9BSA[5]%ݩTd4rgz|%']pּyU[HzHMoF*#8fCӊ+壏>:D"VZ5&,X=L5{!;W)*8~p`K/儅 EF+Wrxm6::ɮ(*4$+ܝUUoTmkgٙ]]++‰&%ҕ鹆&{ӹ)ECnIɺGLEq8q|~H$(M&SDQCV8סhoΜ>2Lygki;ԩQ^/,s`64ϋD"9$9qDަM6&,pt%s:3qpԙjTT&MƸfO>D#[!$u j@0}|t&s}YY\ikbqNQȾ}f2ghAl,#&M{e{k"1$:ZZ>p. j5E.,ӒP:F6[Ƌs䩩'N'n%`64M:uY}{`YĖꇫiixuqWm7Vtia 2.s]/{Zmv\9:]TzQAe<^R)XT_]o]8DI|$QR"-[-IjaGd;?B2ke46p&ZTTf͙Ss/n"`64J>|&{[r8|gOt 6 :%o.we_nx9+|1U<#VL*M&&j6wHxR٣Պ;`T MB_xcX|JJJ#8{\lgǝEˊJ{ QNKSDEĉTad|Uqq`?W*xJYYX*(HHGM()//,p! %%Cn.Q`6dܹ3N}ӦM?'|ѣG}|ן|;cΜ9^b ^K33#R ٱ۾}+&Lp$vҤI˗/=СC-cf|ux . #ҢhdG9tvSo6HN#ዢF#["E/L8kW/ѝw&"Y5״5Vqf""˅B!)((555,f m֊~ dqvsꝌF/|1YH.m5PΒ@$c ۯNBb c셾m6~~QK/ Miƭ0V `n[%hicc}?zNsW˧o[EE`I"odf6gi ayar{zJezqUy,1E"SWW!E ۿQWn%xqc/X }p7-f!!q"8edJvI Lu#YM,\+[R^ZmG(ZTpFd݇-:s 3+4Od'iao#p`Vچ"HSR  cH~B*#"0T̎EEDRZZZTTTQQQWWֆR!}󒔑m'y,>m:|y)l?^ƶZL"S{eN3_z.w%ADKb¸U8Cyx[fMLL̉EEEZjǎ~%c`2T8q`qA_kM&]}aǘB0\.8Clٲ珹CF0 ㉹,[ YF,C\a>d/әk0) |DѼ 9I߻&'Ie8OdY<#ٔK-y$lkoxioj2LiJ 1GDD `T΋W^E\%l6oݺs:1tfa .GO~EW2TsX:=RTuOTU]\P07Y*=ն K<m6̆,tWXNaÆ:tȑ#_c>s}>c7o9sfcG0 cɮHSD!JЦi_C2fErPT Eh7i E5 85Ѷ{e{.:\NgN1~.xF#[La,1OP( \,#о..O{yiN_xaWܩLOoʜeOfCU[^^~jkk+ǎ`ƢA{i GY,u)n< jov2udikk\l:9hq VTSwwVYo~ L0É𥬹ws.yxU`@xbUU=AOOu^WgG".+3ٺG-}P8xiJJTl&HL^y%=:lX{Ѣ[n>Hkrr,  Meee@uݺujݽcǎB8|0 +,tQE?_whzpEKKSX,gVӵduvRˍ$ApX^TX`h)0߈E勛2L3hײ/zEڄc'huADxkd'ۏiv]\ww&M:2דoDd$K7魷 ?hɾ>prfCӞ={%..|n^-[{{G#"HSo2|Xkά/Je cլ\ 'giK˩WNyksuu Yet%%J47L=sߛH$mժU:lѸss6{lνC֬,ͮ]ŋ ƁĊ\O}=sFG--(wUT\U\Cd|V0M8ޮJ2TIC^?aNWr+6n?o xvH9|Xw/'sL Er]N6ZMMNcja`64ϋD"9$9qDަM6ʺ`HiZ\ R*s&^]lcN.;[{PKF~6%EzU[V$& dJn\g Ia) (Ξ߭_mu8LI 'h'2$A\z]buvv8y֯ھzB[qyyQߙLߩR7 N bJKFcs= ;^ܱh2""bKC^3.iԩCR[ll`0l۶-M6 +f! ؋9'ح{nOH; キwbm4)<^I3 $ )RiJӉ-{GgXx&{_uE fX^JiJ6[eWd&;2bsɉ\PpZqDxɞ`Ğ(e2gOm_:WWfO$؋qGrrlJ%Ez ! M?\ve===+n?<&,~D;87?͹g=,7wK$=MMgoޫ:WRVZccd8rȾ sǚ=y3ii'ʒnfӛee.uw'Pm /;-{^[RVj]qqTU8;.02U ֙ʽY!,!a^@h94&ͰwBW;;sVÌ.i6w~]cu2,RmwH&ܱ0 ̲Siiw.`0n{z*,,aN e7- @(4v|ѺNok7{c7lB3xwVLQ~q3Z,NVΙlqY$=zw1`*xҸ@loCq+|a|j445}P^~9rTMMb?t_RrUU3-}6Tv0!ֽ̲ O=ԡCieVrJ ~\p 7XqwEWKcbj1z# |@i8%E]Xhgc4-{[| x[uLGu|35\\xq2iϝpW*LEt:;'Κ8'V*ݩѤl:l]]W+Xz9W_^]pZBe[-^{^???p_|_|ɛn)**111}}}s# 4ZPWLR \r4n*IKVU bNnW׋uuWDp~o@Jq̰6XZU1I׉]_WNTO->C&p JH42f.WBMKR~W-V%'gg;OlCe3t7'lݞz}pY!Kc~UN9(o*YULMut—Sqm!ԙHe*ΝҿV;4+iZ?om} xk½sfl{Xj_ KK'*䒢KyuNsXWRy@b90Z##(Lwߕr oe /Vq!3Ԅ~"fO \r%KW]uH$safzP++buThXlޚ\R78^+{뭆&EL!I$O:7Z,<9G=?ҢKC9N?si'` ETz!hIyygWW?E\3Ҵ1tp75<#fIL '<|ݻ w{ESQ=ut|@#q111!!!+aaa{>i=CiԦi5EID\Bџ+ Jat89Y>00HӓP,`1˽䅺:nWLr"S35Ϝ!:cbG')>lP=9CC<#"p8S-,/C{v:;lߪ}?GGSn{!\׿nk{OaI 9t655RX,d2YUU`pݧDuٺ5ԈeEi뇇&,;c[o-eExwgfgրnccD7W w(o549fCvǪ[-X{TNΧOh?n v/(`KQ!yyg^_]xC[ߙ͵4=zl5j{N5uΛ'9no[ 46`  !vf6MHRE52YYub_ v*|ᅺB9S";˽OjiY,.Uh*LQqq5gDg5X.wDr~y5565ݝk`t@P~mTPEb3 ,OsٯojQ㊹I{RAY}~uxq/]mk￿zz쳻6Mtvd>ײY,NY9IR&-/ ATc;lnﮫ{_4pïHOB u~;}clq\\}}eeX`fo?Da[[[Qs"t.Ҿ-].{*/B[so@뇗.=d/(7D.fK֋D+ x,Ef{;;[>G4X.w7.@fF^&'<\4T8,gy睍7m}ӈBW͕O0a[(K,Q5+ݶ_etq~{ V{yLNiBeoT|O?>lddٝ;w:Z*ݼn!S]Tq8謬h7wnْ9r8ɚO0wyykh<;+T+U=69R5X5ӡ[hx jjZO(<} w6jKl750NJ[S7o,N+O:P.K{E3vg733 N̒lASSL쳄籄Rv_ܶ8)䟓Kuh(EӽYTt3ؘ -YYdIL c0N[xTH_Tp/1Iaܥ,;X]80YYY=Y1^(e#'KۖfsdW.]mT|_2xN8væm-NήƺhWqo *{dvfL?ǯJ$1M;4\}wY_ Ԍ̶Bɂ0N!!!j>K/9yӦM6Yq#Lw> jut&%)-fŠ *.8#Ci;iz_sF7wB]]lj;uEEW?^3X3od*PSD{l@aE:]Ngl(*$Kj}uv`YvZ|9TVV~ɇ dESjʮ1 4} X]`\ $$ȳZwMg͝W5fl>*4 S52FS)lics`ȔH(jin%++דּ[@bmnƭZt3˾}s?̜h|BS=DG&Ij:ޙV/[o,,;.}wŁkFossHfW!Ӑ Og[[?Rz˝cel}vQlQQ#^܇,0N{a~;wєz{{\tE,2ʁʎ|*$eGRӃ+X$9cǍ92ٹg-( ]I|+V/ƆP!W\r3~^TtswYՖFuJ w|5.!0N~:/Ͻ/;9aN$Uɀ(X%袺&`y%blYW N,wJ"77]5I;LE/ֽp6^cxU88U tBZ% dΜ#!yT*eRL-YY˅`Ae'պ~zoPݳgOmm{o<,Q؊!TU9άxY@Kf۽/^򮊀0 'ѢJVQAGl HT vӅdUD7}Hu]]yBg$OjSvrhҍXA{x:#V^[\q`kҪ}[.L~beR`UnB a}ݠ b㽤{֭q̕0r&h dnKƜݸqܒkSRJ hIWH7uo'n%[w~9vL~{x PMܺV?"1+99&y,P?`M0!̲H$ڹsì?00aN:kUq|=!;}NoM7{=|~E[i:}Z y?i}>[,ԿoJbO`WEay<{mq:'}r23V}oe(yɮb^o8L&܄9GٵkWTTTHHa~ٲepRغlT '|,ɒq "S$|uwoaa ޢex8];+/Ϸ.UBium99ԸPN7z/vwv] 90` iixNx+_03B=sB9L,adl~~Ϛ5B>}vR90.Wv{{Lc(s$.U9PnTܳA=ȀIC>k<[G08X'ojz?/LUpju\W駪&2 `boXwokkqC! !̞v2&Ur8 Ȅ}}矯 [` `utɔR-dADu-]ҾV/-c9W_?1:nmRIUSTIJKJJc K(*m=rsWh/=465~(v}!3᭷_}QQK,,U?mm`vffh=!S+;Ax!UD鑞?|I[38Ѭ }cwzp^GM\Vt%7uoXMjnEשaV_ X\x.,z/E"ٌN,vӺtD1RKv/Z}J5jdƋ }K<. ^w>6I;.*Q M[vt^^x{lI^^\/9n:UJʷ~MQTt IW4%_MW?/2ҷJbbJ Eb7~ Mj_gd23۳((+:E,Eu^WJ݅KrdflmBSb"8̨(AjrG,|Ȯ< ir2 qq=vw^"13EO?T\nwx/sd8 j0ś7X%dSa!`Y`!ٓi^^DLizeu 833 'RAu^ne;RKR*FZۖәH BRqqAݶl,wl^:];K-YYx2 18aal=0 ,0{dw8y y#AƜnysJC ry0Eyi Eg f% ܴ[j>R)ZkxW;<ܪզYE6P.O0##@FPč"+gdػq! !Κ{ݒRg))!5d,|teESd9'?#C7R~r;E6F"N:<=I;F#UKKzxWk nK Xզ MRq>*ɪyy~y%)۳\C~l]:]X/rexSm j !Ѥzulഄ0 ,0\k֦iśľżW }rf@y%Eokhd˭cWWFτ!GlM++zX-pLؙd* ;@*Q[|wWXʕ{o=Y`!YGÐi(+] dmλ!|hRqqቃbA$JQ{vHZ IE&r  |J &$ڳ%Kj}bo,O9.(4*y, CdQ df𥗴mmÓX~[SuPwv yBMkkR5í>4TѤK*Fp-YY۶N^x!354~f~a֬1SԹ+r}{ ѿ/۵^kl4+dFcBỊj UiZNu77ZWݞi(HYB6f|zMj*R;pF9! ,ۿi/wBoGzid$/9YUU588}G^I,fW\JčzՓnut"d wkjݸf~"anӾ[B6*}K|ȞsN~z18dj>m,fCT  ;9aE(4aW8tLQ(A:i7⒢KT|ѥ3|  G..W(= 05Y`&.3S/KVMڍv F=!A] =]GS ٹN(dF P9b]'\wSM>ݞҺ܎%~ sD*y]uu77b_tl!%K ~BGmUf^e7uqhX{--۸ql3dSVg6dި;{.aCmS5i{{eR+E__}i^D{w7nE,if]T^r5X,giz$#CB1t>rҴPIkQAL> ZBQL;;ɉn!3`dWw ~PBs= HFp?iv}]})d9)\/1I6Ro;x*Ւ5hҒ|lX<6R /xll@*990;0 ,4ì;3o4m_=+W0t˖V:R?+.pN8|PQ%޵ dxviáKO焅1UVyQ,ƽpj  0K;h52ֿVIiǖ/HJR &oUAVK =2ݞBx^ _&=vAdu-ǙR+I;ITp:%54Aa**~oib&.Xۿx#L\``*3@',3g#k`,E)Ny.UJ1U rr, wL^(uY͆\,'Q'}jo[?<~/(*gk']$7mb,'+$ aXhw*+!u %rܰAd29&}wѭ/-s;*Jf5RGW i:o(ˋlT0 ,4'¬ )X%nf96mBN¯qLMV>sj)SL px0s`r3UV":0T*L;Aw  ?Z,sIsJw.g1xmW1[}~, Vj&RTFvۧ/FD0UV~-~N,0 ,0pJΓV7T6qi٩rЎ{*{N9ãögK*+o2S\tjRS$KiF-ffi]vcl݋u*y\ ׯOjz/˚ O`y:lG_EŽL<$[Z2D‘)/m$Cf&'4ʤ$ՊffMR'C`|~aSeoaҲSodm:;lZ~q2/l&xZZ>z$YNXᣏpB, Zs\ 9^Yxu ڵBҲNNT(*<7W2~/YN)7kL-)jmzZTY}eemY`!YKEN8MCCs]Z6(9;blD` XWd|츋難`~oH^ud@.j5*[_ӞldK23qEB ~tվOT٫.q֖?TL^P`r8#Cf7XMK@:a'! ;k*0y 89Ĥ`*-Mv`^T(fpPhJcIvyt]5 e))7kxyx&}Fb0 ,tl_Y/G$BuQ]}7z~p,~d0ɬ+rseȽ"o],M6rYek*[,p¼I`۶, 0 ,tj``*D}鑌 }h( "7Slldb>o]_Mw{Gv8*+x/ &⸸Μw*Y`Sf V Fii4 r&P:qtv{NY Anbk$/2U8,Rzˍ`e = :gOE~_@ìh;3 o50KK6n[3D2YASәyyıAnf u/:z׺/㎝y|H7d0?- e0 ,Y8Iu/ԍ] $bݖW 0ddd7"UcaFn҅uzlAJ2]\?ٻ/Y`0#V0ОCeR&Ɇs^[}V&P~ '貍f2*|,~N"ȨѱLł_&BljZb-W0U6l=pIv? 2ygJz$!S"9oܪo/Fג儅)MEE` B?P5|l`2j|k=-M8|E+[ x넻G# `*8Ujs&|bl+0ͺtш,f{z8 sԙw.gl|xvR e$kT'{K۳eqSd?"_d$A۳i ?L,I5| S2U&GK<.ODgqVSl-z=~/)Y`fm6IT mdz֌UM$5~+Y<.@OQA$K}H& /%+=<_ faX$YUɫ kxᅺ J\+ÑyOVZ z5uc :; @pfNV]tLaU=zX]A|B~nk];Qv+dE^< gdaXd'ZvCgDEʦgd-/%{h;KKWjSe=w ,B'%6I%DFxLU({5I|I\^~(mZ={رcqoݺڷo%sYM A.@^fi'Hʀb>믿ꫯ>S|/]fy|vo.{B.p@eۛU͛㏗Mo~Ŋfgg"brH'Axk[ 8= ̲SII7^|z~vu]ޡJKKglʊ1e/ra& 8m ̲ӣ>.}}}'2z9oU7.J0{{qKabbb?>ggg][k8pט]jdVիW/CGc4f T-''砞ɓ ֑pqMMRؙgz+Ejꠞ޽{|ʬK. #HXx≞ HAATVS q|ـdJP\<@HO;1hРu9lRƏv=v>}o֭[M¡zdJ=ٳce%³ %Ȕx*S;a漼ݻwx&p0Cј(4f!"Y׫WZZw .,((ˇ^^ ^z L4f! YHc>}'tR[׬Y /4h=3~ɓ'GSL ;r_|u-c˖-7ol8!YBc"ҘzO7nڵk[=Lh8@,D1 `]>^:%۹s\8!iB,X׃u}Yz?|elٲbŊub+UԢE lرV2 И(4f!"YtgϞUV-Ywޙ9sfnny/^o8OcИ4f1 QhB,X׃u=&p0! YBc"Ҙz&p8D1 QhBD`]n(4f! YHc8M,D1 îu=Xc И(4f!"YzL`7C,D1 `] L&pBcИ4f1 QhB,X׃u=&p0! YBc"Ҙz&p8D1 QhBD`]n(4f! YHc8M,D1 îu=Xc И(4f!"YzRSO=&srrـ I,Ax6 n)ȔN:y* ?8G H ((AY Գwɓ'/\Si$K2 H`֭=X^^{GH,((AY!@z}oUV9995j;o޼Cj$$F@:dJC֯_OkH,?L>gϞmڴSNŊ֭dʐ!C-Z S`@:$ŋoﻲQ6mzWN<@Y!ƍ{]z ~!pңG ܹ5fJ!{c=68xƍٓ, i)Z,5·~ Sʒ)j i,۶m QvܹsVٴiS6mOr͛!pr'{Cgʾ^}ؑ#$KdQVHL3fLWfeRLQSHdپ}{~_ANYڵkxY6m:nܸ…+ 7u'" ' ,~w;|qƍפ Y"&BgJnna]v?|lٲg}vРA[e]dJ2EM!o߾ArrrnٳgXwߝ0aB'Y`J{ ڱc.~͛80`Μ9?I8IHdY~}0pg޽,.S O;u3JIYADLetȔN;-<wܑ_( X0桇RV)5tHVffflf͚}3xp]Z.eժUWZo+T9s~!p2wp~^nFJfJߟ2e:wS^d, ))N"ꪫ ?~i}sGYAD5tHCw*Xpa1;w<baYYY[lQV֚5k·o 4hP,&33sڵI" ' ,z*wHL]vq^dޘUVHL0`@K.Mٯ_0>RV)%54IСC{7̔YfY~8|%w_?7n\HIBj$K;m:]5R2SbkRV, ))ox≉#xpiӦ)+ȔeB$KJb;vm ^xpSZ.,vk֬YPPP\X~~~cW_}uHIBj$KWUlSp4W̔'o}kRV, ))uog?~L)Q)Clٲ%m͙3'?iZl\pA;/ٶm$Hg4tPW̔F"$KƬBgJŊc;|͉#p SJ)j ,X|yϖX>ٓ Jܿ :|$$FԫW/G ߰ajJ dJ{M DYeϔk׮đrK^zL)j ހrƎE|Z)+ieժUy=$1bDe" ' ,K3g۪U]n2334i2p{5fJ{M %zcVY!3o6SN9EYA(S$KhΝ7tSx{j%m-Y$?xcdž~i҆HIBj$K? ޽{VVVq+\Y]$פ Y7f9SڵsE PYAD5tNm۶SN}{}QGGޕ[w}7'ONHI8IHd L>Bd͛735]$פ Y7f9SB_ώ_D++Ȕ(k y=О={V̙3a־~0JI8IHd =:~oӦOK)xV?NkVVS~~~vvv <8q 7\rxPHIBj$KQ|ԨQ.1%SkRV,1P3eÆ ڵ _ƕ*Uwy3LQSl_} _6mRVS-b/NyE"O:$HVXݔK9ʔD5)+HޘUV(י}6mڄN;?. (S!Yf͚5G/~G?Ce%=]veX^đ_ꪫROe" ' ),&Mumǚ3gK9ʔD5)+H(ɢ&r_r%UPe_j i,7 ^vVZ^Ç_'y$$@L6-K 2???eA tֹs3[l7`u֍\tE|7#( e֭*Umj֬YL>= R2H%leɲdQVHLٹsgڵc^?IBjgB$?PFؾ5 [i3&|VJZ _ \sMAAA{୷v[ЧO1Dُ,C ^x۶m+N:u?ݸzjWr)e5)+Hɢ2o޼pSp#ꫯdJ2EM!Mހ 80ګW"۪?|NNN,&++k(+GK,Y\B/XK."w(({lg̘oرc_T3qDהr)e5)+Hɢ裏V(}W 2%q) 64h 5j/ty޽{K}ذaV+lݺe˖/Ufgg?Ү]>eQP! eŊs~#edd9fJYzM %z(+v՘UV)54y6{jժEɑkЧayBMx={ ^qQP! eݺu} w͛+.%=SkRV,ѓEY!31 SdB[lY۶mdGzq 3gί-ZT^=''UV;w!5DNR YBp=g?kԨQJjԨq '\s5>޽{]AR&S$,?9e S$Kt pꩧ}GqD{5q;v(+>w-Z\rÆ O^( 77?yFTҤI+WzJmƌ*Ug#Fߖ-[yRѣ;hСi;v{a533f͚'N /^dggרQckv {Mo}ǎFۚ5mڴ|HaIhN4)6Dʕl7py"@KBcvܸq!ׯ_dW_ ] i{>W\qEk֬٪Uoqܹk׮}> fgguQ۷O>}G7o7n\׮]4iRJ5j4o+hхs9'zYg}RZRn>᎟y?Ϝ9D1 ^5\.]Ă[nݻwr 'vc;mعsgⓙ;wn8Kt@(lou] >c"sα]/Jqz1;dȐئ5kdV\2q,*'fu n֬Ym۶m)N/bcv۶mk><]̂ Qy, Q>ںuXg/cԪU1_1׿5qŊOfڴia3Jt@(lwq VZIzkD_>?cFlΘ1tӧ;Ξ=;˖-ߤ1 D6fK,I9s0rԨQ|DOU^=|0lx֫W/cǎ-]cv͚5Ꮇ~{k׮ i 7i7f .#}݈_~}VVVq}x~I+VLp3$.tE5j1[8[n]5b/Ҿ1{ox-[ݻP,]ؘ {uԹϟϜ9s+V ے;w޷;_3|{o͚5oѣþhG1??vN:ر#شq jժ͚5k׮]q]zuȞ={¿/?~|8D<__jU <{n+6@tacvmڴPV֯__Qvխ[ s} effrkժ駟ݷ1;r}8e˖ :t5eʔ"AY 1;lذ 6$h^~|Mڽ{ߞ]322_jժ駟AU8B;j}Zj7o|#4fG^{޽{7iҤjժ999A@|2_|1bĈׯ_bŊjj۶7G%qڵC 9s6lXJf͚]zӧO߳gOq/^|feeT֭c4(dӦMcƌҥKƍQW~_uUSNݽ{W p@ۘҘH2Y$ӘH2Y$ӘH2Y$KN#<P> stream xy̅콎u_!G"+H%I_D7]o}C}UJ%WߤCUHM\}ewg~vgvg95~fk;bCrg*u*!kFO;)V.WZfOLذLv#3_Gf9hz?lsGqZ6rs 1wY_G99W9L>a#7rByDrCu(7١`^&`=)$9Ρ {ߔrhn} C>9E}l߽~n߅?G(rm~c;AGH߾idȿ+aG߲h?9C:}}Q۠mGq`{оM{or!M shq/9LU5Jj*re-Vll9LeO_:74O!OwҬ}ޮV+gu~qkQ5j/Υ:7;UyÍ^=j{@$簉9<ĭÙno1l9q?v,RnsϾ"2_>mAaFޝn3ޖEs>$9Lih)QEε-#9|rCrs:~?lǵ5*3SjX;K P9|^۱!DrW/t3/btga_usUZ6J|&GD[{vmCc}rQq;cU쥙crw,^\*Ͼlˣr$sh=WC,k?"8oY͡e[myn9|8[nu"kB bshj}-/qZkZe'÷U=lā->arbrzh tfGv?+2{-m\޵[XCK2{A 9'=/ .-vg[Mec4[={c5:h'|[]?^չan> mk~~{3 "{а}a]oR6vK}`a͔hGytOכPчmOTu!c'}<}!-k['OûgI|gg6 `}}C?_^9\fdΜˏt5V,>',?NA{Kz9DDw=Y!5$a8"a\shNT9DD< 5 aq/;J=! "r\R=9X""FpJNnB,NS>CO9sRѶ((9DH-{>?B-wsư|6HC1c%yn6GC/=>oB5~DB>>ڴ]i9ݗ~s~K4fC@$n7nyŝ)19_행zSrտfbzOd 29DF3ݻ{OHKVۗ/&%!$lYOKѹbqMrv:n>i5wIC@DBi#֌jgxԃ^)s1r]1iiw֚C|f@K~q%ZcX,/56֐L;9B#͵Fd$>hAiO1rmŔ_"nrGIq2 nj錂h4ۭq̈́mLhr 3)~]fAݥ_fDov-+.sxT 9FzIe[,Nj+ ,%uG|:9Sojo꡸̃f󲳆Zƺz}9>6ُ&[(a 09gL5^o:I3_˘9ӛϿW1#$ͷIR V3r4tV6AcrU?8C!G`\%T s!@$IKm'tCvd}@8|}9t|nuOCaaG=K*j7!nV eg5q1{k)94~(l9tvr9 r ǟT C,:^o1S爑շޝ@[;㊷f2_e=9'V!$r*9ڶE5GԝLSVa'YƝ)@h{\͹# :u9.Z(5J=!6vNz CZDR5K!6Z2u5Ԅ CR^eY*%B`i-3"N폤Yk6Kq@(<̈:T;oϑnZ3WFTxoTTDJO9oܸqO֚@0jROf2%rh_*ӊ(u![-y?SF0%rh$pQ~ B_/gNЮ=S#.=JoOMwy?b49C+$ے[&9pV~\L:zӔ-Sm5`כ$ο p֙]vGb:Y|} C *}2WO&E]?u{݃fecyuYP̊ 9p=?K}fE!puXQ]-9$ի‚;+?9$(ż{^9$λG_g1|!9[} 7wh@b9se{KWy>HxXaxCrHq kHOwzϥRN}\C!JfbŸH~.ښul-[I%wi%@#=^NYc'4<s=rKE_um)Lh77˷&Dn(\Ujv\/Lh]j?Kz8n[4O,9$ =irt}̗dA`B~V#6f.>]W̒Cr/kפ) ~nl ~aik +cnǨY>($e2J|s^} MZ Ys/gܒCrz{1~+&u: VZE-K!$y盒y^\ۤйD>C{qXOU].tgn}':A#|~!9P Ӥ7\J9qg~"2n+>(H3ꫲ? ]Q޹mΕ.*K@He[tT~Ys '싻C냛$ɧ8rnW~ xa !}8yInv\*q,>.4>!EכRrfJ#<,+Uî}n$ⰱeݟw? cR-|C7ˌ5p#]!\j|Ou氷TuIC~T_zOu0yVH !ZeeOv0IZyMFJCpD6N5D%C~lD|C&Ky^Aj@AK?hFK9#ԓBPwT#|C2%pfc+CA]|C2FB[W2wv@Gkn/'=sxlo3tԙ3-m>JrGGW9E|C0=^oȴ,\\e7ˡ]1l5߇ CnVވώ.)%<>rh>sr;riIGgTu2{ Z޸|"+SE/W\mh̡CMyrec?_OmR| j8qΐC~!J"EşU:9<5E_lߝ&M:+vgOl Dr8YGZD~(rfS]Z{/ṞrxbC79`^1#|?%`q=C+;z?ƺƑC>8ޖYV_gz&f9ܕ(tz'Vg}yj)o!,?.dwn5|qqko>&ů\1ԽCxk}u6ۥ-l+bBaGPwl =.Kf0,;uH%v|9,!}YZfT#wQ}rDb=1dsjmE,i&/܍[6Yo'+W",a-c%2ar֫ÚW.kC^,.!7G?7V=CpN!͎+.k^.rhGlcy\1r~#J}!ByԂ,4)UӍ2m7I8(+Iwa|ﭮkBPKѽ~/'b[QI$@U, ♬9L]ޣ&-45jx}JrDQ~1oIBpCU^U!J%`R1ʡ+aI>̝R_CL0 ˡݒVLaUO,JesH. Tnc ACc[V/7yKD֒rY{PBP!aL!03-^CaW}9rPFG)CP(åBp3WU{rArDG23yhEW]l eg51ϛ!9^9V V8'oG; -L-C +&$YxIL!hrԔ7s[N 򷾺tiPxiUt=S2wɫsOl%*=b]vT9ϼRRt2mg AéF g}Eɹbqg 9 2 f b $9"5rXZ(5J=!<K 0o]֒&:ow*dy_G%QGBp䰤yuY֚RYr Glc;YBw0ay#c֚R9HWdWqBP䰒y{\/72WFg)'יBP䰩T]T6\jBfV1os%!EKvxZq79Q~18p>s$]syJwI?CMJ~|7Wп35?rSj$wiuTq-c*`"'WrϓlKovw_O!=Mr8V yIrzK8[AmBPb:Y|DsӤ7KߘBpY=h_6F𖑬ʼ8>-a"@xDz)M"ϸ@02_'߼#}[v;9$Li8SctoVQ*"ac;x_[XN!"7[z)w⤗!9P䚨QoZZ'rHϥ!L^x}wCEJV_޲#!4)[[MNWwˉX'@ѺVIM>>>X(RALΖ޼ݭ*sbyN(J-USou4^[$}L!"4S_ Vז%9$ *7SFe.ݤiC5!9PtJO1xCos Fn@pIB@m=mGۍuһ(*ˤ~L!@J1-+̛\ `5W(*PŸL!@V^B{.<.CA ۤǘB/VĘk*V;nVl!`AqB@ץ-{8߃0"39DVԛ)\ʼ؊ft?}z؋ՖCE6hl:ZDxK;xCE`vB0Q>}):=M責;OC!@C;BQ2/U\׮f;g!9xtS(b>mdrCr *z+S(bG+vnwQt_OPJm~} ?i7WRKyx9$+e^k3wq^-5Ϥ|\-'!qڹ㼻S%LU,9$Ŷ&<7v'^2eh󱴘Cq^k k4ϹHGc7JGldATUU=uV[FjA!Hj7s6J2CbCrwIRC1_];4C>6IЪ(uqnt:^!9c&cNHĨo.jyT|.sR{K5Ҳ\Oa߶5?~׽'.JԽoq.Tˤ)'vE19$4:a9"]!xnjn^ZC,ޤlL햒C 'p9OFHP. ^;Q1+JwaZ,U/6C/{ ;ymYۢ'!>MC[8 !1KwK|gg6 `}}H0:J12Ҧ<R(&92#{v\~b99_z<'<ܫRi+|N5!$ !kX^A0oR.#Y!5$@[XOR/L;z_& !^Ir0#N!N޻j'E%5 t=9J\shNT9ocnND'aۢ>wz#Yz \nk? UG(1wAϥȡ7HuR+ۂ{T*A?6905sEbՇ>;;\TetAV &䰐v7oޜF~ xĹO%۾yگPVM2u#J{D>{)kQ<\6wkåa*+Y}jO;{wEIwzGK݈E?B͚oΩrHa.%{3ákZ+Ubzq.RI9՜%KgI/ؖ˜kucskZÚ 9 b6{^$t˞kؕ3S@HJRȢj;(SBg夲moZ_\bܜEQI1#1z*trh}y`[g4) D?yaL>mV5CDC`_u /IB'˜RB/-v=89D8;vȾj]dVKcC)K ǭ /攓Cs7?Ƶuh `4U*~9 a)Z}Lq.&}h !tJW70VĄ6/C9@nfHߑCrFj1C-{MͨXE,9":s%5yt!>Q{!L~8iV"d::s% ?./]ĩvuqk{]r Cݳ[.أ7V k5OlPr'9E(E:P% al4oXֺ;M32zRZ,'K廃Lҫ an۶Y#2I_T!߇ҧuTqt?#Cx{X E%5IݍFȡ9%I C*gQ86zR m64C˴Ը6mB/ғFbIGܩx=MR $f͚I=gy߶5?~׽yi]C}r=?Uڨ6QESNP=w]Q̹Մ]'#k5/+xzRJ\^~ˆJoT]oʾeSa]%sk_r f10Dk~PE9_R]2U?cju;CJS%JqeKX@06~N]]?=0`_nw^CNxıCn[ֶIr0u8A\?>μ(6I鼝v. esO|gg6 `}}HޔzZ?sx+y!2|!f^N;LZ"9\fd=t5Vx9DB2.%Qa3WKKc`r{gfKj{<*9DXZ' a @vT5y)js(s?'9vN+Zxr00 F7ݍ3^-Ky?y_>$i5q*ER˪Sr& y#mt/0[;pBc?G_2D>X7Gb=[zۯ9"ʚG}lתO_komc?vI RrpVe0 _t}ڪk.9ˍʹW{K!Ћt ͗ ){-:~aU[_f[W2wvA|d gCs=ڠ`H9G&_G:'ΐc?жcN ?ui?~KE^_"-d gg먂/W_9ٽ5O䰤=n| OxIr v2 3qt[ΥTr mn>a>l"x+nLMWI9~ua\rXS*o99Yvor5V)Z[~'/z۱.9Y9~[*m ~6&^MTKTy%} !}{1 aC `@ikVJm#Y};5*V*L1 /1޽`i~ʡeh KewO̟?Grpsnd @Lꩌw_7QZ9vt1vi}oԴmLcGK!Li*S7oˤsYA+Ie܎(5OenNa @>*& 9 rYm{CagWG}KcI#LϦݔʗU뫖tQӿf¿^}ԝzpO4n]F^V0 _Is=9w/v0:ڼdX_jڿA޸<9D2UCpY]|ӊmNurҞI >a6\}"l-^g @)+/筪C#WIf}a0KWn;m9~N<;:?Y& Qƣd /=}wIR_y`ZDIC N^"PU 8]zT,sЙQ|ZYu{y2sxvC Tumn2)m xl%M҅{ԟ=ۋ"lLF0b2,? >!^ aaτ%HHd6(c@aM4rw<m?Jgl @?# B3:4-n" s8A+'0O{dZ&"+H1.iZ{U||yAZrHUՕL/OXC'JS9<:m,MFso!Γx)a÷:*POwˤLy=ҿ3!છb2 s8/і}wFw'Cş)sդZCcˡKezx6eAY'/߷rв-AzR+9I],n9Sb|@0aCl9/5%@t9yK;pTN9,y&n";)dl9HK=1)a^9l 9D(d @pr8A9DK)LZ_ 9x=ZsvIc @p{yqwX(6E89DL1 rhYWQL{I r@ȡ]n5(xqrQ9X~}bG oz6qr";Z1 brh8&]䧢"(bOJI9 EtYf 9$> ߑf1CDYQ#Z\_ҙ 9kpon&+Xq}Lq.6TpPZ᯲XOFrݏCD]=̼ɶ/6/۫aD|`;9D@o(ec\x^sSGȡa9D8Fz*ީٽ۾K֕i3= ۫rdER'rp9mɺa-cElpaA""5Kɱ'VLrRJT+0Z,m$wK1ȷ|ybwvTT|C.1Ywhco2:{Cg41*9b~vyCW32Pw9DD0#u53XXO7rN뉌'CDAu sդXOOƺR`ݿŸ>.:rh5x1#m қoQmc 9Mbqˡt9D\F K@Jd|?ͼoۚ_^!udrY\ڙ-Rz}vsՄ]'# )ͥW@9,#-͖M~M/ej˯!$v~&KgGR]<ю/xO 9D:s$'1f気ty{H$/_Bu!c'}<}!Ir"yT8O?]z0+ pd.c;̦AÎeZG*{׳uf-9s,3lgG+C܎h+_rx7qwX(6E->iEz;!rJ_2-1 [8 uKZ$Kz^BjH8OR\ @9˭95dy} 9D~R5uL@arhŎ&0d94'*"0f԰~W#@sh8&]#< 5 6xaEeTmwoTvt:s,7~LoЮc+C[ڸRLL79[s'ndx_n d,6!ru9<1ڲ^9Xdw_{K5S>CO9sb?#(9mb=~E;8,XM.'v˳nXz $xU JZol"'꒩>&/թDerV+~99ֹvHrV0,c=l9qJec^b޳~~/= F͟ q!osI(ŭ^0;N7bKBF !2~C1ۮY;rXA鼿2$`f޷m͏߯u/,ߣ,`|a43l<Ӿw]Q̹+MBî|b90GiT31>n~q<ϢMُ0[JᵌUî~!E7<%Y Hv|=)8Q/|tqd^CNxıCn[ֶIrB2~E *P^MџݿsmT0NUT2!e6yHWcrrqj{rEz;!rH7[ ی8bw=Y!5$q]JZX3@0IZyMFJimqvޓ}i6 sX2\/}eap:Rã{l'Q ^%40a"a}:=8(r0ѫ8.0afZɹ=Ɗ%m&x69t5Jnl鿓$aaiYX۔ @QI5}+}SΜ9moh[|F]Iv3K"ap{n?&ah髢D8̡]Za0 zɁ8c:':K_XδECߦ]t1Z޸|}wAr]@$Џa{Fz) 0-gukÈvbo` ".Nb`孻T a{Xz)jo;VajKc7Iq5÷~ˡtJqM{å9O͞#FWzw9HwJˡ*{:gVR٪)o'ISa*ud "->EOWeܙB#޲1v9CZ(5J=a1,}D\kIKּ/#g Sy9,)t~]jfTF-Tcy9v:of)FfZD`+IHe+U#iS9l*=}r=YkKMad%VgHaO+_ &̥[Ddיs.O.rQJ2CK7#{Gnu]{J cޞě&Hg "4'W:)kI%ŷzMr]H͡dOSNw'4)Z,[4ϞRzArfIm͌@$ 4˧aW^ ~ECw:f0Fso`cqfȴ;Jwz4ȓj5QF7hCrU\qrH#Ѫ?S@ad[zd9$hEۻ8aGALQp547 _)n_5m⛚?> A )G" ) + Yg|Q{q_sg=gwr(V:8}ȡfي[=ca-zo re|%eȡfٓ"Ziam]C9̴! ~9L[sQDC9̲El=9,{ODC9̲="x9,{K9.R ȡf(l a .cC9̴QO2@0>Rl1r(Ѧȡfkm.S ȡf܉Q09lX6@0JDȡf۰kMC9 29l~r(J8Ї,9Ì;. 6@0Gc a3r(ws rmKN+C9̶9l{uj aE/ rmE\d a%6}9l!&SPmQu1r ^6iӳas7(ߦa-eR^F,f칢89G.O)8?rlg a462S~YNz;zЫ;bC}>hαc~NMjfr9ePS~Hk_: y`6? ; beu=Ȉs9+b)rXO=#n)ٙZM1GJc9lnV6 3sX.:a3䠈+zǺ6/z0b|qx|rجT)Y~ߠmSaÍ}3DSSE7m'Ǽ,pckQu #U?Xl?<3kofM^\0KsIb$bUîn^nt+V[aǷ"ܼ"Ϫvı ~w4*S0_4)fۗx b6O+|Y;9ؕ#6]Ƕ6m^0@귿3SDΚ jT7 tmU T6Cnp#W_+1@ޝ*>ϖ >lWÍkٶ c0JoP+b_Jpq)rgo[_ڠ/!Ǜ ͏nL7nnxȡf[c4LI&a =ؚJ}c029lbVü,޶'{͗æ a${ιu=wJæ1rNKӔ׉'?&dEh1r^6|r{ES^ua 9qڝ]#&9L!j}{T1rD#:d iuDg~;æᬈJ7xªVac'RcH%{D^D XEty5ﳾ{ľq)ñIy`tr9ll#N3rqmg8rzrB9La}lha+ue++|W܁rՏwԩAH/e+x]^u`Qgd9̯wFi>WL,1FaYzy}NfRM%uX䰫[vϘu*?䊤M;D+yN'iaD !D=@ÇvfZr|\]iavs]n\eavsoDE.f83{De Y]"r*,f:C ,f9El YGG8˂,p^cas6?\09|s%%V+f9[E*f9#:kasⴈ-R09\rPD-T9r_JāZrNq')f9wYU Y (f9k.d% YoiV(f9 Fkas8G[r>%;,O9rGG`@3!k@El YGG8,p^caas6?.09|s%%%f9[G%f9#:kMas8ĖO[r~r]Lj[a邗Myn, Zz2pQm#aYG'3~у S ,UĦCV[-<ˎ:j"kpɞt蠫#6+?ìyJh9<5yowS?3nׇ3l;:@HmK$Lp?6O,C,##lK(8M 9qKݏLN=0I @Vr9bZݏ&᫿=0bV @fr3sX.:g.++wն C9Ǻ{r8;d X};_#N<3Oy ~ƏII <01#9\<̊+l~(WbNO*ҩ_4xp~f÷޿0tE.U^7|رw v/?sYrNfosaR,l1u_ޝ?jx}u~c|ٹo+ @ͽĞJfA_yp^Bjߘ1O憿9dT3߱0OAne [gDlVrY~5ڰ5~t}G2O[~w+oz+N-6Hǽa}aM;E\[5OZ]+w6Nzg 5:;.r^sˆ-Fv]566O17mky9^D޷䰶Et*dR'W.I F% @?R;ʹMãG p]=#~X{e595q QZp;F1###zO/yN6=kY:DX6bzG^h?<8>KSo"~cUazV:>潎|=xg07q.;}唈s+7eG~{=au:1⃦7 "eQa]Q\yD:~bgì)9Ӛ]#6|s^߭:Ȉh̚dV3)9ag/t8tvJ5k6q% etCr #(U;&wχ豰pcŖ~Ƿ\æ_Eފɍ[#7M/l=W[QrL׶X}/{t͆|D4ҤI-$l߳siw5!ɑë#[Mr^҃{,޶Ƨ {o9<#Q @?W${ιu=wJnq9\'[Kr%iJăퟷm_s]6|r{ESZXoR7⢵;Fвrv~ncF% ӢrxUmVG/+ÊùO ys5vF\ׂrxJLp}Qs/ ΰpFĥ#]BrXo{:TʚF'N)i9qe qmg8rzrf9'o駵> xbleJ;Y+D] ]QE9WXԫ*&%#(?h ߷v˖]جr}`pL>86=(=n|+vՠfUC:G_ MMz9oEqZ+r>:9n^Q f6%E2pB8y@÷Lb(K@Ïh?+@31=" Nv&9p~-"L:09\|IQV !D}K@ÇzFa/Zrtl]eYavs,w.ׯ*09,ElXr.{u"0+9>c uŰ/>0C9,8fwͳ0[999999999999999999999999ùKjk49F^y ,X0m9yvplL7qѤst7){t61mmM~a'i17“C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C9D9C949CPPPC9C9C9D9C9DqQwTcYP0wNe[\L>h`e a L 쩋v=?i3T{{GKGλ_Y95#Oܾ}NUbVeeKΈJ/i enWuBؼR{"7쮕'~y6G:aƵ'kYCN /s}԰[&ܫr(>lKk4󿙟1v٩!8!'/Ji0{+r'&5l_|,ab2?v3Sn;<@5.Ar[K6 e}?iԝ,WV'[Gty|NYs/ݹ{?%=3>~+ujdmڙ>RYVTIɴlcfid߭95y6z ⒪ # 29k9tSKa.86-#YYh9=ΰL+gj"'kޭ7^a|At|6ɱsfRϓcW\yѥth{y{?+XM-[uĈ29Lo?h9>jBdWψêػ'z/cܫE/C) xeΏdz<Vh_Z˖/_^' u0ac"sj+xJɷ{ez^o$OU^. e-_q_8#7km%M,R6?yᓏ~R-dz^3zwhrN /se7ǚZ:s_ՈAerg'GFL߻('dj}>slװdwsVkz$);-TlrW_,l+VM}ˬ_ /;Lv'2j&b)?EQD:,"v/E\mj< T]Ȧ=dwBN /s_kj:3ҙ;DLg|PR1w̯cmq?*,}ܧ e_*7IkNX%)}Bk?i.rwAD*QsPCk] @^^~S ,-]9Lm_r>tR;Rx?Eey^o&Unwy{wnq7"7R7{>=9ҫzwD{0]Z{A;#*)z%;=nm~´R6[Ǿ0j]?lbo_v8zZߣ}˖n1wQ:w9l9yU^j%ܯNآzkFN+M*ݹa,TRuo75s]}jgfMX eF|ϥS{ J/Q/C99Q?= ڹ2@^~EDQhrƒU;"ںS s]3k0~bsY#*6͞={@~bsMֻ6حJ4gS,$r=&Dy~L~ OWg wR8Qƞoc"!Kew$[V/񁝐[3JK9*8lݧ:O s[:|#z{Ib\=nӢmKK6 ξ).IY=sch`]qOu@~~6zF51?(顮aw9l/8ꄮWjs_}e:]ڭSy'cf~Y9E7ݣ]ݼԬ6ȋzcG2 jeQSLX@&]dpQo}ԩ&4)`%囿N672萈vVnp9I yEG sqYk(Zb(dM{7&qPȘY;9=TȘ$z}Le{joѾXȖ$ll9<:dL:r2a> stream xko۶{~a T Iz 'qlNņₖX,&>$ǎ8gE"y9ja1|x}'g\Q[ &A#"tݍʼ:4Mvi!QYB1* C59gu8uY.'.Z9Tmˮ~gf 1kQ?& w@ +r*m"]bWkB`K\R ~k QQoH.T8 sM,) c&Zvq[x.a!Ҋȧ"[.. M.tJWJYK%KqwMVFB^T-I4fO*ʿe02 r51 ʱTS榁l^YOks["E3{TC$DoQ-[>0մ(][#Z$5x8KGYrَt>h .vtT5C~-,[:E֘Go(׈( 4"2|gFDcOeD"FTlmDzYB\]/ʬjZ/BÒyzϗERƦrڷa]uztbY+#-kјZW@&Hj з\Ks7𮡯W7Zy"%BjF>kq*v#6Sg^&r27_6`+X˽l+<'XQ뚤WӮYY8xc2P'0XpW<[ XjG;|p3k$ov h !5)(zy\TţuJWvaPצs˙(Dk/Acm=Í/\D?(0)T&նt vm>Ia:꺚~8jM4ܦqS2N%I@x6^2㩿Y)10Z#`(edLnߗSw;o$bRi$ER~$6Ch R$: +&\$Ycf뚐SƙH<0 ߼שH׉ YWXtW2rY Kݞj,禣N8|\OfЀ#N&I S!"N\ ĆȠ(TXiA'K]dYR,8 9ŒJ&"zi= (zw |B 4hS-]-xQXBr O֗ELIla.Z"gzkhQU%}S8d\>[e Ϣ&1K z p@to|- t Ð,Ցr$jev5STgnzt)Dqrޜ‹m̍= Δ|̕"!b,nMM;.syEq>2@V'0PM?К}fE!nbJ8 u.OeCf=&9\< )͖>@b}}q(fo& Wǰ67  m}c'ذS٤=%] ~78=|s PNϖ -zl6B{+}njǕk2]i8{7h)m7vOz×D'0XH05oYu6{v܂{t4Esv|_YoaflDnmWzAn؋:t~{ˊr G@awt#;m+?gd2_q"& *W?Y0s  wo w0=u\[gU2YDuSa>EZ"R<~w1°?8ɣ"I'q师0GVd,TTw\\ :kw:r +(Dy7sXyiz f Ċ1*V<&Q|,Wu@[SUfNπ.7~_@` ǭaL -D':inaΡiy& (7}}Βrg,~.&+ M.r&qU/0b]#71@eMCԵfDn dЪvGI\Zs<q)9ԞF.V^UdU˳Ҫihӆ)0X7Ni~4pjPP|*>\ݤk|T .[wO3~1 eڀ"OꥤPt5>dRǙQy4Y_ø( lg,4+m$qqbl :w%ǚ\ 6|*Z#4/*#ex4A41 !A 5/TY-vuHB_J)㓟IR7#{`2ɏɶh SX7nd҈2Kg(l*yZV\KIega3=y!<;hZD endstream endobj 84 0 obj << /Length 565 /Filter /FlateDecode >> stream xuTMo WpRJ1l&^TGd;6vTWi`< 5~$*i OH1ZRP)resfÓxOr l V&!ibFt;$ucx46v6o2tBa5KN9DR.c P>᜖J2}Q`Z$Sbpn3C;$!Srtw!ЧZ~df.jHJ駅>!Pp{Z8_v>Iݦ> stream xڍT[54RE{(5@@HB:(#{"R)TJ&tz[Y+yffϜ9 'c%T  *zzZB $" praX8? )!PAC!k*{ C"p@H\ZHB@Rhi*h#P 僆99cm+E! u^#aPubQ@ #D;`XgE{B)!nп p0̟1AC8\x hc-] 9!A;w!d= ANG 0Pzco A^Cd92*M?MG$ѫr,USWLgG8JMJق[J<24hz_/t^eʝ)l+{DUNGE;|ɍ`kO:Ƙvg4ΗerՎ_塓e1ͯ(wYPr*jE.g313{6i&l! 1+hN%"B K0ᑟe~{2׌{e ":wv?ٮ}}Fuґn8ܷMGHiK͎8z(/=epJ_ ![qDHu]b`3t0LFpyzoLho| m2[_*y4u>W[|zESOoP'S,@Uԋ;Uyl:[Ї_ 脀vlLF2,|<骜w ߑJ7ߔ0ۓ& pE]#-ˎU+Skå'ǕtEhBӌ+%,[W5/ UևeNUp\1$NPCDOom9I5h@d6?\Wq ;Ns&VpU(=DT-+mQ\!ǐ ڤkM` yo &iUGYXb'jw ? abTZe16WpK֘2RJkUMxh (DCRP 5aU!D~tlܫϭq!_DUxj/.oƣ+(6'8_}nR;L `ȝYalHR3[DJ7k.\[4/apS)RQˇNj"~#(ۤ^y\g^^)l҅o2l+ KQ Gih?Wg_ssGSixvEH{Qm|ե N3qO kKI3 b9Px.偝}^0>X*2Hύ1Z >t5Fŷ):1amI1CjΓ\ C4 )9ˊR1HKE$8KMQyoױLհ$׹Ǝ_muE`Kʳ6}ɭ%(V$ [/k4ˠ3j'e*?|f!^oIic xӤHki.GvR$}߉w԰qa,lD=npwy_gGLӡ%NBzӇ51RtU?pEX[ƞzA+˦V'=`lxJ9popc<5O?܇],Ii}רCC-qPJ0Ԇ+%eȞָ/+ 4yêM_% 5UN.F}s*ҿc0m=vw۹TTpv$wxn {__;IHݥ&RYlh;[vϿg ݭ`'/ϸ J#Ji61 r]{vFR?z8#<Կdi[/gn},oЏL{JՌ{62XyMQ&Β݌d'skS2Ǽw=G~d"H@E>[>aP7HN#Ruh<[z*e*hX8Ws H7M->,1ZE9)fVnl6'm6ܽ[j#Cʐ eV(@  Ky6W,r:sW jk: YY\|QhKab@iH;ׇ&CyqmрJI&}g( )ZܵNaȷ?$cM f]g㓎)8佥t@N8=5iR^wYFTvds#čgx=b3ΥD-w7>?j.&[o *vǧ{3Ww.#*o,n'h@t ]ºx' y@E_TDza皂#q +\Aq6)Ձ%>!m򄧉,O`UQENʛIJcT]I8`u-%LI:QUc{>\,9͈3`P4%;r}$yƗ'O|%)%((Õae1ȷwhjv_3HɰՠH< c)XTɟ;naO\{Pi.Rw HM@P;byȵ` !ang*xGM7D+Ѱ9jsb({@/1lߨ:%`9K|ZjXu1g^&;1JPy>crTtzL73u)KKHfUB1'#^O\Cdbq|J^u I ąj+Lp3t,ހ=+pd鞕L >$.acEKOHu)CTy;QQf_1 ,.{9[ݱ)D5x-I3žx[I ,5mM/ ]Vy I ^qn#kS/4|%^n4/TO|b!g_:Q=I: DWRtDYPT7'0/bDageȎs|.-N' ~s/a kF)7.~^uibsaW.#Hop\!`-_;rF |b+jm`E SXqĝ~x!8=B;cuHgSmǡw`^cn܃gq ?NDx]HkD*2.|gFEF:0iPfRc/ā_!;'|D4KO6]ɭrzb:cc Q`L뗫 γaAj+퍨͇UFZ除%I:s+W:톑!!V^21?V/'(UkF<_Z{[t]9u0' GR?uAzl:K_ r+S/ =^?/9H꽜8NB=ot)fS.+UE  {]|Rg[,r@@O S3"H20{sO"'X÷DXln;Ow nB~wL<(Qhh2*䔸9*O7cZu]qd/EnH 4u9Ѱ6Jހ7a؂ c]o)bLN5>^~a7R370x֖ze{:z24P<&|+O~ ء?abUwO τ<N96$R(3_jhp,*__%w*h+KQVc OSs>4Ϭ6H؋s Ȇ P:GƋX0̭ϕnZʍ>;z=ZrXh5m6%V x]2U°yG^ߎ,6[IK츬7]DSLb6"jJ71E﷞hu}|PQ:@i^MMU+Y}\z$.gqEZA,9 2a;3­cm͏h>VWEL1Kjʧ^W:5iqWFKs#I{N3%,%^S8%nUlO'G䖔VF*&h41bgt"AT-ߌGËkxbr׏8uL endstream endobj 104 0 obj << /Length1 1394 /Length2 6064 /Length3 0 /Length 7012 /Filter /FlateDecode >> stream xڍuT6(SZa0$[c!lN ) QNnD?=9纾cg畷FZA /O@PSS$1пPDH/C,P9AB@$HLR@(( 7*]@M>E"Qp[G w0 ؎=P C1*! `%]]]h>$V zP4\vY4ѿH+bpƦ8#( ;P_UEkO?? p#l6p{(P[Y?`{4vVX@ey] C P 9"`ݝ>C ][6p5 p'g g EńEP' +t`׀zm'bPPoph#TǺ6mn@3,@@Mbw Q Rg !MI uB#HT]u`Jy:Wޥ>;?y- 1JOgO()[ڵh)8Ȝ=\az.IyՖwܯq,#oqr%P8: dDֶ^\.VS jjn,N׸K/xs^Som$rH}?k!:`yXV*t ֵl{?5]` T70A\"T O+ʇw5sswY `q jҦԕ7DH-@<)+KmoshH E8Y`e>?G%eCG(s>PpBn׫2;$ qRlUӭ.jvt_kj/ϺKrN}b T^uq0hbN.[ ++F6swnU{c7FmHo08XڟT0{"DPxol6ex)0{2Dޱ &֫<9F ܿX&dʏgOy.3[z΀<݄b+>=Qtdj,SχGe\KJz4fl t%PEH 7 }"+5o&+^ۡPMj6Kγ<}tSӾ^ T-l {.9I->BA56Hngzo.vEb3,%l\.AA>-ƱN[~t-Bnu-mPVZ |S&^ڰ(إ&ۈhqc+IK㣚Ty"&MTJ+:ԴqS]VwuV&:T) wq ſߤ`ix#Yo;t%,5xL0X@BI X!*x!d& ajgE- 9&c|\EwT~5+^g_Eź8-Y֨J>O($JqhvdWoO'XRjcXs`g*LnKOj:>wUP6x͍wîyL Mۈ5̯L;ivr!'36$sWi}fXVo7o[tQB/5dEm3K]p5CƆb?dhAK(}pUpL۾|܂Qn☲z){~!Y9cbvXW3|8!1FG;FAkrz흭pn=hH9x".QETC^ˈwyz*0-#l')m0%X[xy A6k1Uf&-Ǥ)XKMtre'Hщ+;=%{K{BXD@6Q|[qv-wτY|>xaօ#2^{guUH!⣻ 8f'Ibz~/ Ro?Q(kBy\v*MeNQJ^"K#sEADu}B#^V? tM*Z@3cj"u[x@4_-ePt4873x:T喇2h^@#[` X5|\Kqy{][7܆@Sm$LJI$wvB#P~zJ<Tz P2,C^ u|14Yb?Vx\>^jHE#2NސL¤,.o!v㽾`{'JO1F|$KZ}g_&_e\*A;9őĪdlZN!^^>შX6i䒩ͮ3Tgvyr"f/KЄh {)=jܛW~.ӻ^q 4M>hQ }3A9 P= +y.p3G)&;؞^mDiʣ_>euuO e#)P3: 7n?mLK0] >@= 3ŹEzZyqbgo_/9pզvm}h0+i epd87S^C{ވ7V'MĨ hiWu|' e.R5jE66R] JӉy̍r<m %/w gx[lIQcsKŠdDUfs^؝Nfn)s+O'A>ewH UӓtoLËѪu$Vi_ПbiJ}44 q0>`%.mpfhP{μ@ NwGf> %7(p§Yd)W-dd1 PzUWғ+ *EIm^NCP! >~E-5UߢUSwּO7Epamm3Z@c5u3B;M%ĭ[W2m7B6ƍxGC6X+ i*J]v <=8~#Ք zN|jؼ'}6ET+{ɓ_UD[A8,`G`YFQ0!A>EkN{O&DN;C#$tt*J/B ;L7~PGKfժ*.ߨ=L!ЛYnahrY5m+۲/;')/y˗B2܌:.{Xrk~Yp/a-1 ^jaEoC*01k@ +M>Y;%/_C(_pXM;o^!>]iZ1K ǹbȮ2 ד(hxfW w\Q]$qf&_ڊo.n+┯j-eW"{(ƍ,Ӡ ]q_AD*/%= NrL^2T0FՉnn+(1zӼh4/w0{61$n]{T~ࢎeUq@Ą9lk'485܇gd5[].kN)PQ&dZg`׬iҤy%u!ŝBD˫wL+UA?P5 yEwDڟ^i_힪V{ActE']3eE;\nU!aAU>O`Sjr$}! 4~BjQ)K$v߹\p1m^Wٵ$TKAk&:WNj;\gj_!gqW|b}M3ÃkGK5¬F<=[d:.[m83b~|y\j-!ݿ*VCH\N]xL"F9#s;Z'FkSr$$4zn:UtO(LY> *E[`߇Ț;wڻzdXSd_dre/39jۻ/qfNk?<(NZ$*ifS1RsmIX{.8 O\'͙Ipu\\%npШ.ei?/s<->Mt~R&.U;[d:/h}DЫvT+v{-CEoHcPTt͕K,TW'T4Pw  Vs1'!cC{Σ[$%=_ @ٛi6}T~Iםᚘ)@z824wQ5,mF>,X!7󠀈 Ii'k#^9~&U#9x㞭mH2^s7o&cV;I2 52SRC&JH,7l Du,5bs$%!%fJ&$}\Fy^(, endstream endobj 106 0 obj << /Length1 1379 /Length2 5903 /Length3 0 /Length 6850 /Filter /FlateDecode >> stream xڍxTSۺ5"wkҥޛH !@HRIo)Qt Ҥ+"Ͻ㽑1o~m9#FN(G e ňo;1 G!e c650 G!:^HI1 Po S;E:($M̭;`uA )ew'F;" p()`0>>>"`wY_ǸLh7 kdg4bn =@hl Vj =ȿz6+ݟ_`Fj`|1B0@`o0v~h( ̇x=0h4kF_i۬tREC4PvD {#`p5G{A`&ۜPFRR@}!. y@;3x<0 8 !@4(?\@'8p:ÑΎ5Ca >2 DEt,5T/  ,&@ $@JJ#V CdjO|g.P߿~(`@gWݑ?,s0X裰Z@7tNp/jcX5(#Gk}NFp /e77 5B0( |XAܰw4]PYW A9$ #ƞ5v%aUMf3`(O_ JD 7e^4 /̢ r#:딙}7G VVb%0{UnrVG]Pp+g(y\q:dcVr|TˇR=[>_u̘x=G\a{ T6^fW g*qm߿;XHV&_#$e69WGET"==gAjt@{WjMoP=G,9fDIZRb\sp:g~Gӱ~OϬp}`8wN٦#?Z~+A핲"ę7EVFzWbb7kZ+PZ z)F]/v酥;IzQAVk4wLO{z&.gl_Jkƃ綀Ғ>o *\6ΐwtPd,Gs~ 6h[A^[i84}3[ _M(c-岺|RUxSF=}In@ׯA`Mr^zױ/~53a&ERfMcbyj0Mw[~bOC\Zn;{Uߚӳ'M{ϗ3M+ ҍwQ;[Fv Y> ԥNCZn|3pIlCF ݱQ4COֵޯm [ϳq*eiGRY6My:<#4b^xҰ!0!M6G/dBk*Hǘm6H"L~ƥQᭆ@SdoDh_?>>DMQ;Q>;tr`!-U=[^|6L&Zdnm7CyUJ怔wF(Gpf IdzY ?x16=}f7'nȖRJ4im͎?l/LzZiaa.ӔP.q;4XY(KREreNTX?pV`T88( zr`H`:CK6U<ZZo0PIjPمr0:jPLYm16 ȶ=V"=8r"R3]($F{ؗiI2p{x|)yJnv<e]V: Օ;!{ha[>_SU;,ćc>cT2~hVٟo:oo8Vnv3 6epIZfGO>%S_˓xq8f:6GOm|̯ ~%9׈]9+5,yOr'N+0CNh­X6Y<ИԐְKbr83n'6MUwhlj#A_Wf4l(ˣLM\f, /M ^ޜh)+f!ޥ4;rHqdI>'‚|&P2}˸4:V/+0]%gwM#VRnόzFƨ]c-Lm~tXyp5(*|FZN ~L,=_(F ZX +q[b`;K'9'z?qY6VZ(»bK~eLJ6Y~|x썳0cqmdoE.a%gF^/C <~Tr5?=u-l!D0z.}W;.xY0uq{gºs*='+ P)K1*!#VR gh6뮱o ֠u}{ DfczI,byyNJrp:$W?3~g fxyڟ6LHN Oc}#KYNHȭM""f$ПR*{ KniVLE=m?`_S[16Yn K*Zpi )YL9 e޷ڵ0ؑ-+0 I жnO,*8 Z.Y4/=~̺tfÌYGeoVҒ ;5xM,N޻/4Q98IXD&cw]NƾHle%ml  :{( tT :C9< EȎF93P(c+%qab&3 yݘu8jT_i<,^fLӭfqPF.U"j;/z=Y'y*Y9UT\DU4 FЬizu'e6_y;| hO{9dw\$u更ƻ4F ua 5`F:+ED|bLeBZ:z x`=eXi AGfsBUk ]`\͢ᢵXraqqޫ?Z /j)U-3F>`G>I5ZN+q| Y.Ii|3ʔ)=j㷄?uxtތ5>+@wu*sy&HHB̝?dvZ{Vtwoց{1Ø-Wȃ^m=mT Vx>3lo< Ӈ\]'%q?x%S ~K/SNICu ׫ J&hC4+&@lM^F?~ )\{l"֋mM ykTW6 p|̌muFj* =j~nٮ;)X1eVVe^QYk '!}$0CQyHKٓUk-VGPjZ`@Od6#.Zj GLG~[i5zTNN 5u\4ڴkF/Onlݸ3wz6Z}dr ] ՟^WK?&k(GC͞"՚1eVԉ"Frf/txS'bܼJh|Q𓯍XuTz`GډgV/D6__wr6_0Ģ^h#zi:^iٲ-G&o`z"ɐDi4BĪHa|rC[cKV6D`jn8 sSu)Pe(fyVRTщ;bUk)].9msKz('%8EI-f/^t'ZAuC ,8~ۣ8<(ƛ_(hKYFXg`AyPdqdIi(\e֎j8s^9ō/}J8S3N4H-rS! َbE{lg![bL+aA2Ƣ}% А|WCSuM(]6lcKo\Vݙ<ħǰTٌG30T*O[!Ŕ6{Gcju\=ҷРJtQeUPL5c~VFr5~<4K\08dC;R`ME?r]z;P+PX {PGCr}#jKֻ q܅']L-R%0;/xcFTpJmDOĨc9tc&F86'9!ypADr43#{7 }s&*H hY)זWнRs!z7lwIU:LJYj,\!}0,OO}2K`9 ˩؜5~ /;#dLuϞ湙gjSGWZ>GVU)t _Er|laY#=6@vȕŽo xOղ4]&!4kY.qus&owng> %('陈>nmQ兗 bM^ęs:t#^&"ֲ3֙" \OILތ8!kEuFl]ѩ C-Ħ(Q4¡:AŲSL b- CשƖmO N&0&i9vUY\NߕߓJfj<=}+,^шMU|Jj F4l=7kkL$mV7cb`vij齁/oEHm9/Ǿgۛx j΂" I.K3O>*<^7oiᷓj:$T~IYD ^e~:;tLXqS:6@ \$1\{`a1zz N I]w5B|RIaJq4TC-vt4HpX.Z" V}K!^P0$6B6!;ED mi klE endstream endobj 108 0 obj << /Length1 907 /Length2 2139 /Length3 0 /Length 2735 /Filter /FlateDecode >> stream xmyϣ`ax(d\hX,9C!S4)$<!4a0 )N% 8JD :aX"W`0<"Hn4E(gP8;Kp;j~SȤ O l~@m0ذ lXKO%%8#2D`?J`$mA:d d?snj`t뎑q{Qֵj䙻Wfa?M[uw݋*MG lJvu@TZ<ĥJtǥ/u"ku(ayʴOi+mh i ~1]SXޞE-}W2%,i؊:'W]6h[5X7ImY j70ҶnѲۖC[OؓT@ߎҤ"nM] GCDZULQYj"<޼_FdR5[Q,yn^RYx"Q4_26LǪcAK{",-n|öM-@0yyTXڎkA~i)vuvv/f'V(k1Iw fybųGL=>T!2=R߻< No-O+O\_î ծ(\,;OT*Ȳ }ˇt$zn`,l}`-15E.3uTyĶ|Y!T8)7^O*3ߦE!wQ|u"G$꯼4̥-5eu`F{M޿0.Va}*^f[_߼ղŲn\^.W~׭J8qKVo{C_ o-iV\s?pE-Zxy-OO2Dɫy]|33fZ=>}uȈ.i3/A;xLfStF"aGx<|hNo93nD4fnN_ rj]ݢ"}[@rz/_تbX5ҒWA,{J{`sICH{ !Ul(#;?8C2?mW] D>y-S~s"<>PO x|6Og騠ʙKʬŽ/.V֠U u3H g{EvCUٕ۬=ZPõp'vq eU,wbRΐ^o1-/ln]/q#4c5e7δ2@AG) 7+iVݠ`Xk#s;{!ϖؘԞ% !2tb偲5iYGn0%xbav}nMt˕VQ!X6ݷOW qSMMYnŧ8؞Ky}1DE};yӯD*CGNǫMH*jIYK8?XunyDsiƬ<6U^$uGU:&Aq _iFɌ3,f=r endstream endobj 110 0 obj << /Length1 1965 /Length2 7150 /Length3 0 /Length 8264 /Filter /FlateDecode >> stream xڍwuXm6H#R .tt7RRҡ JHtK >7\s3s];`3*0(O3zià0n'LJ̬ ;àJvp $D%||B@mo/;Gd ? r`Gg(.Vu / `_vvB . aΎNp  #qԡ@<00{=} Ψ ع!sOٹ9C"vg<mrRq@' {B`=g t"LWt= o~WGOKỲ_P u<=q3D"a@ ?)CVG`EL#-*"1-*D*zjH~|Zɧ}|:ɧC"$-B2"!-BVk|&`Gj "ع#rR syΞ@o[;2!ait!`]ߏR$LA?!?7[yg{KYyމ@&EFE*msV#H>wrqür C@N[;;w"6;DD6VbȟuGvȀ[*ad.(]I vHB=^حhdN؝SȢoHw;O0__*A@0N_6gM ;A.a;Gs ?sp/g[Z/ӝH%%h^뎜y҂ EinSD|Пx~Br(nD->k_jL΢s3<dtaxP L 3'0"Ɖ_z#m SyzقGX2>V\YQ:;__M1N=0h^FLWO.ڃ:%\&i G?g遯9WPTCXT JK{ it^Yn3V}`=Nx:x]_~cd,?) PЎyr|4uC%uⶠх](jXlch>QW}ɘ}3csWxBs2 i}ƓŽϫʎFĒe-J_č<tfLj\R2V\.dO4-Nzn"[5k !JV MŘگz~uB` @gI5ٰk)ݷx)<$[ &wъoS?-Lj|U@QЋc6T ΁Nk{ҷ>:8^Z|*Ve~#IwUWyH30٣*)(ZFj/˅{WhZW 6SZDqEQo#=Fj׌G:.sW~}SoQ,O :5'z~sDVD<1]nypuїh ƫ/22=>4x[7 *=(yz41yc`'ƎTdȺ t j73y\Bᥳ!YJɠ>¯$ԬU#gQ~/ge%-q~.N$u[4Ca߱nAg^T .f|7W=4&q'jpЂȮK92o]oFKIOτLa-)&Ne|@}` _f/:,^d1Zx_$KۻN]s?NU7 dҽjal"[U/EaNj%#vQh1OVdܝ-_6G<ط--+O=ի7C(=0}b.S+Qԣ<棼珳HÇcW.!: u]w-3λGE!vjҋXn L!7b}Kt&n*z# F O DDf=M0?F!m}#6+7d )3"u0g>ZOCLiUJGUk6GsgכB@c.P\q]q +S5_#cGw|߂ cfKXuzҚAu~bZ#\9bI\".(ޙ&p PVY' QִyZedc&KeD. rgZޠ&k+֤Y|,߽I9kg(CɊ1}7rgp8 |I977tp/N7VlŸaLM{߾.qvK =- ^Ȅ=P9ݵ$kH[{˷4$vW8YQz{Hek^i\,;w^*Yјo$<>JaS^ݣVN+gT$(Uĩq[M/#OZ^WiyrX@4pRZI)?oXiKvˤO6tXBr} %s䤂|@W8u Wd.)FX`ģ,&6YDۏ ΍Y7Κ%Ig2WSDa>9b}"ӊJbkmӟ{/=Mū8kعr9{EkG$S'L[oz(ӭeUJ˂e, Փ\EQI`0(kgsZ/ |s#K|YNyN_Elq~RwM!UbJNj'rc]:S)& _])z\'@ Sf ml!S4nKr ;xfu?U{D_ sX|9.$5։@82jPhx)+ߟhǚ!z/9X_5mgf\͗~N"- gg#(84D׹Q=. t}B%cT+z.£7Z:\&=/2{/9::D"i2oo{9M?(0^rpcK$]x c^;nv 1TJYi z>ǠRT wS? srMRs[up iPi#i'd#M:C뾺 q[Uݗ@a&JKoFF(nJ6}!6UwĦ_N_=h!Dgwԍzu1T% ,%U*'5E'4{''OѪͼ\{hoJIwTp!Ęby"䳮?ClzvS}&75)do I=׺R"h< -/ANmZx&*"w2͢;̶DcC7Vߴ>K)llHK6kdw2Wҽ->z<|j^h }Ad"8e 4E+f9`c ף},7'k`W/1*C ;QJ E( XjZEw TNV/l Չ}pm q$YPl ^D&Z+/t]J|ypλ7 NaӐw';+؇)r#]x=ie,~ No٧'EFK>%\H`d|AV;u{S}b)?׏ʬ{%S] &E ]t.;:^{'/Plotw#V4<'#9NOu&I3?EPpFcRtY8ލWwڙKxѳ Jia^%%v>kMAkm_,HLJ3L!߼KQi/ŪiSƖvН$1lb f-=9_ D33> r0㯘WWMF/KEQ:(C#Kz4oc?*/]v]MxMổ? A%3*kmnZ|ekH+fv?/d {SjL^{ѵ^+᪃>i (eK y {UK7) $l? J>"#Mu4V^p>~ܞxcͶ?ޓ6J [ sK"/AC#؛ӖC\r~OOsmOH-:-.Brl%ԽPW#Km-'޲fĘ-cW;7  w V7F6OΠ>mCC@ 84o@o4b~DP_ee<4jڟSnT0QkS&YhvWTȨb&›:fŷ7o*C:5ݎWꕕiN {Zu'A%k B'e܌r9vdM?çu (:X?ㅨһD8/\fIO>pGTۢ-'hl\%Rt^&v3oIyiAcS'0D0땥A/])g&Wz-'Oq r{畎q@0kb$Ψx{`IԀLF,Q7q0Ŭw)Yt]{zߗ.|xl8CQbr'0Qb);ه%9r=_7ؤ ٙ"짱|~J蠎͋E9<8yr(p/%wL, JKu+Ɨ%aWSJ`O`HruwEDHGdYJK7TmS"\gM Xۿ? oPfx6iZGg]O%B-1R~\~iWJ:-T.Mp"AL/πC%oO'@W4,6K"ҕ&Z*.j8OXz'^V Sܜ$h޳6ϦnސBQRҲ1))޿bڤ5j^d't&n{@B@CדNSlגh\d/Q }:uܙa,"?*~Tz# &M80w6 o]GˣjHK~&v&@~;Cq#DփP> &½1d`8*SJ*X>RepⶩѺeU2*䚳sf.n=vuj*WEW󑋇KR[b#൯|T ߝӲ'nydlBizxܟ4'g$ J/TD&hȔ؆"hv< VZ+G\lm>kUkjPh%bHe\}';նx/٤DVJ2voN6V0Dt haSa5_h4ShJ;rl{=B|V`ȫTLHrqvFLkKn 狚E,Yo)r-Fg^; iI#K&[08Yz?_L0seֵ9 |h<LG7ZeRqPmDr맯KYNjy>xX 12U#N"-E= .pAlTcxXeEDi:s]j(hz]&祅g nIҼ'4-ʱ= _ndeoP"[GBN@w]F}4>YjFp4کZ}`k, >5ƺuI,U"0.Lbp8%&or,s|/bo6NN endstream endobj 112 0 obj << /Length1 2805 /Length2 22785 /Length3 0 /Length 24381 /Filter /FlateDecode >> stream xڴwuX5ҝ.i6lA@JR@@:I o{νW=<\cwSi2[:e@,l%eM3'wv6f  Z huv2  `cGn`% itf5gw; tu҃S$]|lm@jp23+[`fano 0s((TF[hc`phښY Um5MzpaMg"-WђuښZj[3T_<_ZZj쬿`xm7pg߭Sܜ"ـ@.^^^, g7kӲux9n@_x8Y.kSJ@'w$翝`)I`;w8_JjjJG3['2yL7HzP4m]~f^13'w?-mAWlwgNٔUe5Ĭ Vlj +W=q)% Ri'KIgGGpH䓲rva?smVNVpavuK'lBml+maiefe2spZH~f@`ik: U]]*=Z:;9,VH* @9gppP1s[Ǚ9:#__ҩ899g.c TY-vyxŝMˤ890sI {';4 X5 WV5=e5y33I;Y8[:Y8yfnnf>HlAgפXYA(`k7yL#o `R?U *Xe#o `슿]7+F`v̮?fW]7kF\V̮u#0?g} <@ ?Gv.ZC #lX8;._GM5^ܿ-mHker]pg? C6﵍ n7d 278 |p?Ÿv!Afu:?;X ?܎31wGIv.ߞ\eCtv =n]p/xv0o_q`9@^$kxc@py? Xx́+P_W^š 7g{%%e36dS`;G3x ̜cd%9W?r-~g?0@o꒳`]VsdetL,5?I B jL' hiHkpMQ`F;=p獶WbfʁD:,ڡy+U \sy)#IΞLU_`[0W Vf A/wIf} ő p.=X_!DVJNM`q{OS.#_wTkiC:Eqfg<[i HuӒ\ +/wyzMqO_ 7By#EwqCYЯO, :6ٷ}{ȢFti مBiүHbk `:>^HeWGhB9oW̛9RdGhOLF{=XbJp# l }m;k*Q7Է ׯb LJl hLViӜ0ӑл-5IA wV̮h{o*SI>S-g=mijM52hkEO}$rDg9 kYX#]*voNs#wpZ?FK5=Ve\h _rxm=9{C~`3v],'s*†sENv+gZ\Dh41z'QڸX [nƤ. tٹ uCL}Y KxwGWbޟ?R%FtI}p[|^?phi@ּNO0 sls8tP1iCDgNk|u{bw^#-e #s&P܈)MHIPmOP}]?@8݁#_ռ>oE{*L /[{PK)ٔۯչ-8RSG;h%e٬Hm=x_,Ak| =kFҟ>~xR(0G[V=(lN8 =k~di|K@c9[%->D~^<!gJc";`*VԺHueПÆsf0FPBPx2w0L^RET]}-fI`7>3<}/]"Y/ϯ&42tbk8sl)66?ՒrUw,{[&ۮbfO_aNG.+ϷK]-WQGuaQE'|?MU^q|[ܽ.֯q  (\DaJ0f]5v>Py&4z~=m#fwWyPei;$^'a ?ewu]-@%'ӅʢG뗼opSϪ$<D44LXK,$>p',"K?FЫ슙6Mk2C!5hK`AU`MmKiARy%(u38RD%"L25W\/G%3kÖ>Pda8~i2RK ݂%O"HvsbE-M>״]2,b)syEelqk@E@3L/ſ\C׻̀Gt%m6Dڦߦ{o}8LAѪ7ʊ \@`M'򓯔 [s\Qm+(҄NEmy~!Nͬ{J[|ѓ?:jMl4~B? ~߹"5!)dk=نxXp#Xi>ê͸hx ŖbOT5Sqd$GM0hzzbk.%Slis#,uR :M 2|!+: 3j|euқ-ӷě%rf3]$acWPԧF(~Vm܊(d B+OΎ(ك,[n!jN! 3{$W1?/L83Lid`ΙaoUs-HP1byyS!yͥMQ{fw?:[xX{>JO" _oR;G 7HZpԅ>;;U٤GJIJ !kHeBXKgP 2ٟnKj"=d&j۞uHEYXα]!k2Գ gGe\v IuֿEqf#Jﶢ1;*UB*@S"$%&=`ĔK[T!Nr_+bg^\+; nak/CoU-7rxF/@h)>jnOaѽ!ma?3>EKգDD2~NS>$WG_!q4ɝ7˟#oSDo~P0@8r*⹨zM=Uuԣ#a_A3 02_F< -zqNrL6) N9q&]K eLP(MIGڪ)Khe3Q0-MC\%ӲgM܅q-ar x3ڬ< .Nz(#طbBuꓤsA_"!LB$oUs葎$m/FJɦWɿC>0Y{Ci oWB%^ iGqtzJL$P?a$+>5+FO0/H&\OA2Jr$f 1NLuJ kX2┠yM@M=i"Nj_2wK& E;z@ԥZݛTh H=Ǭ SJo ~Q xcj݁>a?fzT{g1C;FJ5e|`Z漤!F9&)Cc!*ǟ)XYtig"MըHq Z=AYxRkP׋ЌFr0"$,,UfGw@68hM!Al2bͰ\a\*1HRUfD%+MƑ'9у?s3\j:vD#Qߣdyv,enDdK蓻:ӁX8loN}STx,4{gQM:si =zafV!6gmO# P#zbrtoX{[siLL'`|nluѷQz OYsmlD 4Kt8 s8?vZ@d9}UP I0Hwyn al0\x{mku{ByL!|B[d8PlF{ݦy;F3H)#qAxŠSTmOb9H\xAAn-#sQ9+q%mPՇX8uAr m(Į,'uujvIgP9ҕѪ4R9gel\G>V*>z΢FѦE k-xyKY҆ ۬4a a D#^)Z+ ; @j 5 =i5 -Fg @1ahC?4Uru! = ,K8NڎvOJ{9 c/;4'"9q`G8*`>/> H%&YS:yKpj}'twFXB_־qJ^Hoj{enuZ fV־{&0x'zP60lASufIiS(H .KwUPye:}n{CƑ)ϪB$JEYSrz3ʆ$kn]Էvoww(*\̨bR臑R l4:%CkYU=>XJ%z{л(NºSX)KTwiIO+Xe}Tv'u2AM7~io9|._FwWZ˪#K/D7*vOZČHKw̠o= `U}ySm hh&ik Q3# 5^VKm=iMp']vO\X4[oo `u޸dި˝K@#Vy7e֣LGDY bvr&ҽ$(*"2hJ=M_8%SrXY $*`_,W+@<+ԇBmx m}7T?"vFSdjYZЯhG^lg#߸,9F byw#S4 .G+D_fŲ=7X) 3`qsLe;`FŶN&i ]D^?Bl`t*jJEj5  %x[쟌9sx؝u`o$_Fp3I tвc Fk+ ".fgn$o%.Ӌ<&җ@d-}OS"|b%X< wՆhyșd6%[`P$_|L(xAh]8a@ .kġW~'E-%Þh%Quc>bM4:Y~a-Qrtds"==8O׿ʌm)n!X&V0N\WȝVdyMJ kkrQܯ:x*✼"x R;C%Ez0jۈUyYdWaXΘ30IX(1H`[I{S8$N\!}5gjѪʰڵ] bh*NE5ViFF)dY=EI_[xڬbntx+W"5FѬ1MQ].qr?|z@+IqDϧI5[0,۰>)Q3g [QLs"&ČȤTV[o 1E(lHI(9HW&f[MMXxKA8"hauPㅧE # f:骢tTlY1W$~7rҲb9qM*-#^0wdq yj[Z9Tj2Gmx8Ծ:O*^pMAĦaBWpHZ룲Z;(n$n ;f[)۳^CPr,Jd,BkA}ڵX~5n÷720dC{>~Pcp?+R*XB)vcdäsw\&QqThN/H:ૹڍa)aPvRt&l\yEq</Ksh0X]8un<~YSo)s?/PG:aR|(ۨYY' {O3;Uc8k'?I΢m?'Gxƽ)̑5^}"3 C@%d2G /Ɨ%@{wdLX4vX@cKR|) hV)$,{6LG+i8m wIVΈtQ/,5RFѫ"~쩶3\K n-he°>q{JB0/71뗥|"¾I&^vD.MY5؄K*QI!nɢ$^HGMc޿0Vo{_-+B;ɶt> 8&K}{L+qOXWFAƀ\"lme^C鸾ݫCl"Jsd>=:gQU )e IdPXEzW?0 F|`~8u9xk$"<9>"ަC}4, ?Rc*CFG[Qv}6uM tB1N,n9A*Tb fk`V+XyͮoqtS<OC>˨E2U="4y;OSUlh+퀦s {v"?Brr?m0)L9fhEedhQ^h&Z_gRw~._Aƽ\MہހL`Sп +野J!&s|0\hS\+yDɹU40>CwZ,wdd^{7WM[f+z ^'z?4&Έb~CW΄HZ&XMƤtsdHS2b-@^8hss7͂S/K2t 6@&48cUFXEܪFwq1cm4"b{vZN}7DC*%n|>"Jwκ \z] Cq i?P$7jtb3 tf8Y<==tX4ib'bG졵jGt{gil4B˳]m3&}gg9maBx>QJwh|!}x↍+,Q~Z{їSde;ˆx+D.{)P'<"^K凚C '`!aٖTpxj@gH%ܙi{܋겦 ړL1N1uG5&nY^+$(rtiKw>7'T _ǎ_g;P#НjKs)/̿ )(ke]QSQI\>!.Y8aD|_^K WFj>ARi'k۵N3F搨ɒ?TQ+kƲPejd*o끜\N%2bPd,@Yb2/ZȇX^a 5kjfOBPo|)C"M6PZ,j_4 DٞC!̙]D_XR~Aԇoi#0ti>tw"hgDXZ,"IY^Xx"VӋ>N*~y@qlF5׵۷ `~t՚.tڷ/z/aQ\/6ȵ(!rl[ɩA|-Ih"YIjVW y[IM9P6s` X#^1)Vq {oQG?D; TXt/񮄁g:7&O4j[R|iR= |i#`wV7w9 FBJN  5 E sɐ0ޟaeJ4,`d%0siSY7>a&Ip"[wB `BOJMv#᳂Kfo-Gl#A1z8> n[nCY&"ެgd.-̊L](o\` ̇y-;~%+HUcpN7$FxCÁ>߻5kK 0O r֜_ϗXEtS9G1Vbxhpbۈߦ@&d;dSg쥋Fx*b˂ѡBƮ\l9PodS/V~ddw(Tm,v~` ,Q|:v}8έU65wp{Wdvӆl7;.K9R1vAx%eL2XčNzPs H7t# >ڨ9DwTɿ71m=`lnw~&\*FeJ!Jh.I{-K^G?~TU6?Ýlzt]-Ӥ+;gtMNr$4jb}v"Uj\ŞB1B{j셩#04F!=1a/ Yl^rmv?Be<ٳ:hJ4&0HzQ:F.yA3qgז<2)U:o ړ"qLhxJ4*ۑ QӶZ&HЬrc =FI Q}$g5PֵTc}^r?N;<]˛?G4739_ Z3|`Z1puٕ @ 2>ْŽəۂYqXӀosf{? MfL<1#`VSrR]]C#MQa}LRW{v=(pngEw&6N[܊Ibya4&Ck#'wmVӦMS/JȻ܅^SvHYvcDwN lW;P-]B I73 +N'CʆKm69,Z]IX 8'cc00?ĕ 0ƌAw.Ma3*M`T+FЯa =$o9ryz { '[h+y 鷻(:"H~W mCEXKD~.ey>IES MBsS>ؔz)>㴢?[ Ҥp#9q:VCj 7O_}T=LK0o4-G벐;Ǣ2Qt?Gpvj>P{İ#i#&ktGBУ4bďX\ ?܄Ǿmw:TY2G=(!^8ˤZILlYDF)\?"62/ҡVDQmPSRÎ~ ;睓__fHsF/8k|%>ກ;&!l<1zV)Bd_;!v~[هb AĂ2eq ֆ ],ϳb|KFD')4ZpO"e؀%[Mn."r%|ϔdkվ+U~vHq:,bcptVts#D|#H_7N$ҨRL|O~6)?wËl'\ӏcN˙KëZ0Ҥ%TfB6u2X$IU:vnj;g2b"U> 7ao(vtٍ)%Q鷱+F,;S:tW.1+E*u Iii#&۽u؞aYO*Dgin_FӃ8ʄNX~*Ma/*}c99p|NITXFp[O}4Mxg;P:pŃkH%DG_[m]}F'E2Cv&"ZXwxMX&W?Bvص"|9*նutNSbыbBVRp#jhS;Y BVګ?nqp(ļ S.X\p"rv-Y}$&H~;J{jY+.ۓ2Y__pY^wXq/r噥"\6crJXU50ͪ$I)|}\3VG+rqQN$O֔jřM@BW>KbZ lwA3vtũ]gb2yS`=S}o#hC\wqp,%E8&["t;?`&vs4]VȘɫx@R>PO*kZ q/},H0ȷ ]QQW6@Wz 3L' ١mdХw?X`74$hC ut*-&6ge2o}d Jɻc"!Eђ(B}QRo|t䤟9ͨش5 Z&-w! !0w~ mx.~Rٴ'ꗵOCʂBꋆ[Q) B:F%u\8G Hj,!rz_LX C#VL%^Xc ElK ĥ2U' z1IʞZݽR#oBY:` q ]eD6E d.Y-tM;c͑t32 8pt5:`6Ox@!V/gMP.g/Y3>07{>#!>Kth=5`9 XeN)wYIXW'ύ<=We8-?#x1HG I]K%(=fYZt2t?䁨\t˼N9Nbc- f)7ASڒ}m*!.zJP($ ;+vE͒04$^\Ou'j Sn̨ jB5bm,eU_>\p}uY!w1GA7{{|"f(@$ 4jtbz}Àx9ά?P WgN!U5/hw5`~@$ ƿpo=yp\I/4SFB98LD2AmjI>sP-<` ,NUH-QX2ڋ(1^,g\=xy~DWRKKXZP<0].Al^޾(/? !M>M@7]"l ~dPp;)\*cYTIcxASQ6<2nRVh>B͘~Ї(=Ҡu" #"pV4=G2 Pc XOib.7Q`gQ9.`eo>D@=AP:Nό]A2_%1ud+VlB{oLS~#iʍ-SS);__b,Naj+RV 2ҁ_ie.)w4?Bbp:J=;|+^ɒTrN 1ɽQUƖ,W=H%t?۬MOeA8EDV7}:4INtw^{}h6dѻ }f-وel˭yJa&}GUA"C'#?Ԇ`{ FD-׀3z Tz0@@ >uskFM$ƚu'{ƨ[W"S8H7A0E$0[)d9Ըb -3BD:| DJEW8ʲG//Π\;%; J|9 W^s1gx,=`_ښ1gXޓkr7-ꅂB0\ȱHb#UltnKX|yNB81/ >vem,9%72Uͧ`%&`p8~R@,3o#&NjtjR5jُfII&x||f;ۂx@'Žk12hb7g2vGՔ Q.\2cc6uἏX[m3Hӝ4SRaoRae{3~;QSysӸbGYDkF&cAOFްO)m3gi<84_Zjf1ر;B%ӿv":zh0.QK}vf:FU1*֚6+_,CeGr7$;F A4܃׏-ͺc)ňt(Or'.~Xl-~F.v4Nd{uxAS2qF(|9+K&[qk`郀@ƍfϣ]T> R 2vUՒW˖;38gm<}#>pE):H[ q-r3U*<=YlիC5b䝮+E ` :k͔/Lto$-Z)$'P냣ݡ/= ~Ў\D94dFo90#. dF>)FKЫ: by꨺N1U{yvf;̞l-W䠡"ԫ"b 럇gL݃᣸Bт3vS{z)oy8j Jz V5ۚagӘf rƮ4$UI'$O* i{y v;XVIJ #'tclwS:PFC{\nLQm oU.5]}>d'ǒZ7DD4.֊T";boQKqbGj>EаB)R?M`N <>j[zd3ULYL>∛|m9uTrWwe=bvB3 \U]Oc\N~,$QOom 1DNbbMxL쓘c9 b>*E{D'V8uY59 po~ k+RQl>',ߋW#wfֽl"g[v; HW/:"[yj3A`""Rbs&Oz96?oPw8y,@4] (Rgyw3u΄k3M[%2SgJ(yȿ ,Հ, .@6NmU.^.hf5ȧ3EL W;bXV ߹z͇ ˲]k$ՃrhbĶ/s[7p/z ?_Ok9o3V:V S]X=ҭnD+D8[b++6,FtœJw0>EE%!'4NDFmIx~x@,*Pa%BՉQAT)۴>Wg(Y6T7FtVX~ f\'в}wi'35$P-6MV|ߟ}E+RB0i$5DL2m[歕S=6?6 Lmj$QN9ŹM̾ .K.ɺ(% Qo jVCT@ ToFb%D 3 )Rs>p}Zg0۱kX*l4QDS3ubjf unuvNIt + Զ?ƼwM *88l ]T3 i,8'\+pI"k%?kO٭s!dI =<ŌJZ%Jy}PZp&ES94c+׸{'z̤r+Ǟ,RǗ|o{Lz)M#dV3 Rokན_xjTYߢ%go7L 憮_N:M7.:ԖU'M= Pa|.TG?7ʴ-$ycJ祤 U%{#+,A(u6ЈKJewr\-ؒ.Zp[54RHD;N:  q)bzM_,Hv1e . &65~hM@ N@I/{TQ//O<={'RA^fk3Qt"gGi*2QnmWëk{kzOQepn\-ܮsR+RMޕɠSx{* v7էIE ]np=<Ʌ˧;ok7k.^%W{ z7װ]i;mw#X-Q!s6~cs,H$"87XUVje󂇘Y1Yeʫџ萀kv)cڥFa6F #8 9I{C %Ģbf_=mfU4iEP(_{ҀU Խw/LN( r?ˢ-8Mnuq214o<= J7Fi$pK]vnKit["lr ء wC1!9ԓIvą[:Y1]i&oN_K6SW@/(c⻙ ͒aWJw=ɴIN _TwlY(8԰$.? >x+A{F'~osCug6ϊ0PD^4&Z-- Ve~?I[`XD]8*9wU{f ~y3A;חB 繍Cx&F KO!;-YE ܻf^jDSܥd}>,oj:i$j'kO`nUh90h I6Avn>ӰHn\)SP!ƞ V/:i)+",i4[# q #%_o~儎}Hu@GD塡\3ays$>=O7aN#hy[Ko},ބ9v=`-Xn a-0Aq4&Om:Ǟ_үy?5htjn=Tc92U鸳_!Ql3Klx|\5k8+%ѿ@sUEo.E롄mKd-M`ǦZf( %1xƳlhyɻ2c~u#{ Sr9LaS5E"[[ZV*۫!V3y=UGu/C1)4ըLB0BrXd-@Rtu8e(ch$5*μԇ c@^Չ qeNztBMb.t_BdBMQՅ/~(3O5|$x)=E ? ?儧>KpWOtW$u Qx=+ DfO-~!Z,*HݑE@q~5ؕ<)C1)Lq嬐WBdlǹ(?83yU8Q;IVvKm`eg; )`5z2$<pu3}4\I$p3̹1܃ë#uW ۼ;ųD I \̯R wksɑIkW endstream endobj 114 0 obj << /Length1 1874 /Length2 14035 /Length3 0 /Length 15229 /Filter /FlateDecode >> stream xڵuT[>Kqݵ; wPxZw+NRs}3}=kεGvh)4Y$@Y + @YEɕEh28YٹQhi @s7;Pf xgj.B :!J+@f 0n,殯jE uO?ޒEsK Ȫ P{ `'d [zmM M;m5MF`ȿkҖcHKj:9mM?Z@mZ?y^ hIhpYI^+WWk[77gA66OOOVwW7V0ĆW}ZvO0zAqwzlg trqKJӫ {%OLп@5wWYMMhnt2w|5t3wsw%{}U  ɡtIʌ@>~1s'wWq˶;ڹ+"`mϞ9%SPUbQ~m<'+;NnOBZY 6jW?I۽xN>ޭܝٴ\܁ 6~Wft.{K[??b?W|ks+zAq5 @?+p,^uTPd KZTnƔuFN /M L?rɺ@@0O3sG; a S)*hU=J_KfN6 %3Jמ}=w[?-.޿TWQ+ɨjj(*1aq[98yx kp|8^ 6:^]n~k0Vs4B|6"!W.?vo5 of7`|/`-k"k"ܼ[5ooue\i(w } 5 `-o&*ns*}$[Rއu,\us.|-u"58(`KP2GoD?-fMvJoRŊZ?SJhCAk)UV[*$2#y:U˿R1+rOlF9躋>O2*o[Y<ь_"$Yv{K5X|;cVfD w F9]kfr,סHw+Q̗Ӏ Qd&i때@6CwI9AGֆO; K ہ߃JƗ::\,J Kɕ|m#:>iR?V,bI^6tdשB-/y@] qy5ҺҊ &L>ޥ;ȶ p=8?Cd1K>·tv-T%J=^o@1ppl i3wgNQ1,#v¡l_ |Z쬱76J,+\BF|~n!6_2S '+ \* fϖav~IZgN6JOaV;=ړBɘK,>#C)ȈL nwcM10( 2W2~<mAM;g@YSM`Ժ W*jT`$@4Tn8u8MkZ:71ZcVab7:LRdyd]1ېL;N`cl5F+»a%Z8yqR[}M;=/LHuTSn4 lNF4].iOޟ8LO[FTӹ1FA7j.1P'JNIC'آ1BRݳ7P7W%&KeX$GTT;PeRtllv%!ԑ AޯǪJCI{_kW?fsB{FOٽgݪDMK٫0ovsa uA9ӥ,?)T#8&TIBvSgaC̴Q2,WzΗb<j_2c qCDOilPC]TD<. b|Ϥ9_Ot8p~QTs4aC\-2gnDWrԯze@QBܚ y0H>khUtI ז}wDrb18j^]0{H3ō!r Cv|;dORZ{}kc>MZ~ f4y<ҧ}ޓA$ oۿ+rBa>_spXd)Pu}7 ݓt% U@rp%2r`uw 8tO5/}DM}K+ӭŽ+W5p!ĺp+,aU $D (D&ZY$~[;jm k[E&㎙u֥^q97qDnl(ķPd ]]9GqmRf==N>fY:Ⳓ䢉I>)dH[Ag}3\<0!ہFqNB༬\%Ñ4wâ:˯w)1J{GrpO)8JVf׻5?olm0BIXtp?["pG|'(a24v\ "Rv"E8*IzWʦs09|G)f/%tDK-ÓCn]oЬH;`="؈x]QnS:e4m"@(`S.jH0*s0-yA¶|PGj =F௼E?{q5j<|zHvkP\@|sqx,%}cmllIs`&Ej dI⃤ 8 e?CAcg.5- .iNxny*VO?ZGgשlΔNFڇN#aOmǟ&9K@8رd4Vܓ?xN@M,96n1r<Sϋ0S(@yS^tضɃlcuVӀ7ۑsڹ 18~YgRq÷uoFi?m~# nL +c>*RE(G^lM`r-H껝X=W3$|-ނW"H)Z>НU +'H6Nр4祋XcA܆u9TiTJx CYjH3X2G,F$tVi,չRvn:7?o"DX$KRq@]*e~JEs*DP k[tBBk|'td\7 Jq qf >Tliƶ޵{s Wd`t(@gk ڞ&ytVoW^> ~7 |$R[\#˞ԀctgOyH]gg28Zs{^][ߒm!Ӌ^AةKX2EنթJCV< +x-iz wDe?TDK-g<3#qֺ4|k6K-x2|@o[TW m@z(iT'D0[qH0қ=7B-蟥tz?kW4\ωYS[S33BX%f [J F5R ܅mGaZX-} U> #BOtcҹ]t8v0K셭B1Բ Im͜K J3-ǷI<.I]1{;׉@o%.XX$(El>XKE/2Gt ,V$ '~QkzDc.D4<`HZo:zҼDˤTql汚s%?ټ6 t/T]:BfƇb\RMC=:jNAr+ GmDn{ ܧG1՜J{Xn۽dӟڛY]BvcIÅnh!3U6ӏ'HC"Mx*#9o0In1wC;N|H=0w5`B)\@!.jc&] vw[=HsGvfȠj  @0#w{i 䦖J&^*ZIбٳ IʟrѨ_fojsI3:haE#]q#N`͟ BmiIH:z>1 ά6u@v2"e^bp |@ ~*9sXѥ|oortœҝ(%թy~-Nzʓd}D*{Ò+&j9$CkunKCazFW@sLX·MF$L)Mnc!8kw` ǨKwa! jC'f'@@_»w'X|ApD/}jX'L[_8Kp~8t DdO]f@Z$QL؅30<& E7„u;1Yџ5-fծ,߭I]wu CO8s5DK$Wc|5)J=,a +1v˦'NgF)lѴpK*B9N\Ԗ’֎ 'l~|?#TsL[-Z%4FCT AZqLc SGo5Ƣ"2WϏ}ͺ2ViPe񵉚ӂ(_8E [l$KttdFдe| ]ql9W2*W1EsԖD4<8&[xFZ5^]"n\1=.wmF4g:H*t.̽=SCg&b?z%VPJR06|e.Z V4ZV7J˪[UZ9~~e9xK9K=/"O/vXj҃>>1i=yU zr5QgY0]G$}Z.7YXK5ϧhlW/sg,% ''6U;_﷡ElvӗVX^ki32! @-s3ĎĥH-IPy&,C~/?jb@R9S:Y^P\#B2] '@'Nf#ٶ27(gp'I8VID4;=2p9O)xRFpÆG/!<-PYrY$anFg,eAԤQ)K^˚_ sr\Ҟ#FD1͡Th[#*wTdC*k?n޻AvnE2CTP/Xɕ k[i,v'4* @/)14ӥjuiI),|vjG;ʁ{i ӽ=郅>j&iR$Izr̊|PB>U =>b[ }CFBGo^K[[0;|JS꓀oCCi6Ts(%Rj< S]+-Gd70k_̿d#Ml8pL0uCnR^V )j.|%C̉7zծ8ia,V`voO$iJFVmWTqEj}m,{',q<5 ZLd;#v"TTT$.҉kM_^veyHD M!b=K1F |rS*N̎*)廂A!*h_E?p PQUdDe=я+WڃntwBڣgDpd؁O&yʚ{tg9cxj߬;yK>x[qc&y4 W1/D~T*Օѓity&A@igSW kӘZ1M?PLٞ~FBUT? /o5l W%$TP*mY3z<60Iz AQoNo\0X#&U(ǶoL˱h)N2$ၷTǎd?\'qz8<15yY3H@j_x}GUa-L$q̮0y x0x[] lg_xj%Mk܅Qp2kR \9`@"|r&:6V)I#SIR>93ancwz̢t'5ͅQ>p/!xN3eHתl)J1^X)-6-Țeg.Ց9y4vwVgW (&#+K!`rFIJ[ßk38WwmSG/4އٳAUٹr֐^n4aRܽ[uei%1^iFỐ*QzG\(M4PRX<뷟WJgWEӺ6n $D [-`p1,CS[õdhbۯLL0V%FLG̀H3)S-r)ճk tu^!pǹ/2,_;]ʐl4,{L[z(D<*ynĠ 5>Sd[^G;ۘͯXt#%cM'^Vۆ`Bܠ2>RP cQc1CC,^*AYub+&9(S!'| jXXo7|(?lXO(G: 6Xe,L/ak$@]R`x'.bc΄K"m -i  %j)߾.?* ؘt ՘I"P^@֟z;o \rҦH( 葡s־Ilc|S%8_C!A4h?;\é/;qDqBsDc, 0MUn=g)kyR-y6":<胭L.湝T%N3eSk[zJj}q1&#S/+j76ȥktYMR^|<@ &;=ű=FYPsa0Td; ASrTXm م}D%(RehFbֈ&>`U0JuӎAGߔ!wmiD^~^BѸ5l3ou  9ugK/#! RZtUκH27Vi 8 BxһtxMj[^{&QGZ9 XNZ;caz-,~P1r!zQD[&Yʩpu8BI ԐS~7o:6c6vK9Ç*=(>Ai+O[Zb)Vz=lolnǚ rZ,޲!DBX.Mcim#wTDӔSoF< _{_!2:ŽrlǩMD [T]z'4E:/¾3D ls=|u0H[i=l6ߑbsR-.DGU}J,؝8u3`ܭ@󜩘5l_~ -zQ?FAalU g"ز#XٟU鯫N!1{@POlj}_AAׂ]BDa<5jw?,ZĠHui>W^OGG6RLiqgdNʪs Bs*6ͪ* [2wDVM<{8ӥ762>/_W^K_<սii"8Kz,=}ٟ[L8ƇhC9 W>X{DN `m]"!-ɶX%dcmOEr!%ENVI.n)q} x)q$sC ':(w4,9ƍZ42+{C#1vnfHqP/"jQ;K{eAl{r@8gX@wn]@a7IbV|KZwjQPNiv;Ք~`Zqi||L4S"N$I- :\8ԣXG~][Gf5C)3ޱp[~ު a_09 J#co@6TK3-+Ko.E࡬_% qfF|ZN ّ)>(+a 7`aIٛc'vo 0/;>9qtgG!;~]elFg^!H=K$/f 3YSvH.w tKUh5ҞѨio(s].8M'5`G/8#HK#HN u`)#B_OZ<^]jǕ$1 k܁oAHgan7 odlný+ʷ1/%fdʙ%~)]M(+sx`Suǚ {Qra|G0%,M[ҍjS52_e@&`r@\.G~S62rU*.\79VAW-,xC0?ДmS:G>+pЉ5~Rh$]cA$Bwz,UyP䡦W9څ/"!oX4ps "yXñZa gokU'^jڢFSHJOHZz'i`fPnشU[52;L#JaKQzҢ/ OXwSwO?hB|ZenS ,+050r v'3+J6\j€Ѳ&dAT㾈>F;o[L|IEJ3xOH11빧H m# -*wߍK bmg nsI͡ˎ^w<12WjuRBȿzу OqF1z/kzbZ̾+čfKg4VU]c&ut$+JN2CSU[}ߡL/y)}8ƭONr+۵4KXQ$<>8~Q* 9I5sנ\XY-q tgi}'E,Bfb \pV2;Owk^Rpe]'VǚOWt fnLodiVLw7 X01Vap'"Jdۿ䐘Ko5X+[CN\$|TkBnhAV08hͿT7ly4 *\W@2j\n2޾'?F_/H*|Ky ͹=aZ+hGXI8:qD`i;G;e%}e@*8*Jg[2K9rTYi->m: I&@.[/͞="_Yܶ/ORjB'5 # (P>k)O\2ϯ[̒(uRlEYsZȊVxJa7}>ki%ps}P1sXu?@bw9'S+3(OMLa&Eblfr; Aq^vݺgiո菏WP|vI p?^ wv\:! `FvIt21WirSHgN~+^6^af\xv,ln_?hjFJZ2;v côY1}a5\ tHp?YPViX[;{"/7ZʻphP11?Me{Eo,pcX1[qibc'-qT 﨨p"+j7 Bfxv=Ⴀܿ sX-yWnD W;Zu|1-,sJܞgv/)Y]*~|5"f4d(NI~fb;ZϮt2 )3}MzJ`4-.:cU<)Sapw0H4 OO`\} .ܹ>Yuζj;w/sAxeA.]O/PY{T=WNey1S2{7j  ^.ؒWY{tȪFehߦn[Ֆ՗d\ݹ!OX~!+ _X3&|ɧ﷢g{qƅIg& [XQd3UM\zlNvt40th8"U!m@J9O%1']{*,;ېdZֆ*?OgQo0n;_)NfvFyjDFA+tբCFB¼pJE endstream endobj 116 0 obj << /Length1 1904 /Length2 27158 /Length3 0 /Length 28286 /Filter /FlateDecode >> stream xڴzeTm6'H'; w5G}w=;sfz򮻪(D'd 2~813rdd lAV_ 휀fzFFV {9F p4|5r|W032r!Pā6@w1 t4Pv2(  G:Cw6H"u775sc?)#K9 E/K !2(*JbJqů*JTlmA8-@THNY T()TڼoJ S~.G]VLYHYC^9@{?n+Oڻ=/J3GG[nzS'Gz)_);\@= Wblh? 178(}iww{OV8/]yy#] 4'{?>dɲ. z?3m+/^1'?Od`@O/1%e:³gdž/?De&.V{ߣv@>Q<9gm[ڀ\l<7 ;2I; 4S#]ja X9Mg w"&{7 _%mL@#'J򯆥zVch r|/ ?_8YYX)WZ[?KB '^?&ch,ohd.hB6V@?*Z꽆1be/{yY,'\Dl@6f6v{A0A@5skDd ]ۂ7p@0Ճ=tLLL,^kQWK?9]Fs #bo܉h .2l~uXŔ6\Ѭߤ@<&Oy  n?u,׵_ [޲(bB#* %TR9S--C·H7DR풖lhFL{ h o=B9A#R0ݝSl,gyaXq)+D ;O")]^vaXjYI<}*<K1_ݍ 7k(Uփ`KBߊ+l=o>hiY5h0vx>K§['ۨQ'$l"0ry bHh0FtOe^G S屄>8Oܷ΀c+#l[Aaܳq!%P+LΧ$8OrJ[AAPRvs ilٯSz59-JPJ`2>qJ ?m+ {6R zhO-f ;\S_ʥٜ->xZ12H'Y0֐\ PrmEgfaD44- ŘX}E2"sQ/BP΢ҹpwuyKh_ yǔ)Zgy-ه&{rTyFt6sm͍{2==R4]f/wRo*"b7J@llN_[A3C *5x wK&y?mZC&#BƸK;\Naaxm"Ox+!6 \=OsIb8y{ iSp)҂$T WLꐱmg>1sr(jDB_x_YSNM_4ےwE%9h%UV$%6Kc$(z3(ŹFq)!j`QB1j 'W d?ـ9M5ф3<~].ke` %,0:E%^9 m)L b-wg"υqRɉk_| XV$bX5'Yr9M΃\v2yojZ,*`.\(ө<{d2' N=>Zڌ’F#"O~JHj@y&qTpg,Y9Ih^?ͼNo Ne" N¼giש 6V у4NLjdپ5 J}mҩz)GWPϾOI_ۭ}հavJTlh7TAyߣ-qgHDFߚ3. EqGo; nJ 7c;KJS#Y)ܨ4<]N|ؒ(O\=+r|S'Bf]!S֟uuh(;ʅ(Uݱ`ۗ[ݫiܰ|V&k5uj׫] Bd9ە~J>9\ )0D 1ea;#Wmpxӵp@q]Z`!U n{sF+gbM .P=n8C*]ZŻJ8d^^`biONE.>!|N8T*lƷlE*^/C#[syμ</0%<v ׉ 1]3K: LP|6p)A%޽F%<4:'UG`u?8]|5򙇫N]6,g$+L(Z^|mC0uG %E)Ip/XEmpR#nVvU4ttxˇ?w.LR,J,ך>mD+\?0EZ9%lnjdH(+>ukrOirsV/ u}nV- 3B H_4O$Du}+]Rt.,? ,nߨMW/X*vx|IdBW֑Tx/yAJCKR}hEemȯk*os+jf(?0nGoy-J&::¢^Xu'QM<]%$3˅YFĝ$1[ꭉXT 1uLOnڈWA}s>1Hy5G*8m[,IYS.x[ۜnT5`jU'!3K{ b r= 2V950I͈zv']_~O[ {* U$zf?þs'q+{?. -V)$Q׿]b2HVBȕԁQ\M;82i2UE&N olD[]n\66o&3OxHU+2\}2>%3AjB:Uiף~, uU~Gn[l7jGuD~cOP%%"'Ik*FWqX1-~w*ԕ8Zʸqklfk~##ԬK]2Rd"ތ&VG@|*[ z7c}Z]G IXyymvK~ 1/-;K%j5V߻'?Xkr(0],gdf &Ѭ@x]yQz${>zzjQ=Mh0ĊL?gt~d**vACudQhe\RйS'VUyCMDlIS=m$_I6|@j, qZ} K3 %;~E#U+QzVrv%m)]W&xSQӿV/2GkQEyҧ|陻GFsՇr]uEm\냥MYtlN9F=؃+ 83ˁMZ] ߼1+2i}\C%/YSqB9dwLo=9$۟(#$rC+)TrWåM ~wul RD}q*=6?`U[GUmHjO451mq X$)Eˉo 'ڀ3; AOx7u\"͋XInڝWWyt&L.?t%Y )nЛmXt3 C|f#B1,?uR1pWƠhLd.՚l -U #͒ NҶ>JK@7 fpis٬BDa9(sYnxDz.?S|lւ?% rxWʁv`EsUgLOye .D⣐l ٓ [ )H]L^9{ ʬ2R9*e`^*KNFs3tC541SE GyLwr=iImJJtEAiU"H QM=/IOj#bfGU zSjN-eEb 7౔ϱلw빫N訴YIa^)^;N`j0^LՌbg1Ȣ˹0J[GW]j<-;Mcbf~DAv{Y`{()AΓ7^;ٷ?)Q7,@n_xk XcirRAUA~DfjDO(0ImR;/=EȔl+kE'ZQ<,U(3@RGQ?`G d7oTO; ޥ>LҘ(2xV7vޔԎԯunjؙyNV}Ӂw<6Ths_@G cmvK"'x )9؇i!@{ejIM~a8?vbK*FUp3S8q%ЎwN>j{ C>S)Xe)f䃫3]^Ɛ{fx>7wrfA~鮹RNM 33'>Z ,?ֈNe(qsN8NXqwN ~l[kJxRQCiMa?e/}'`٤ثOjv9m1Btٌ- Zw˫Z|>Xgm]gl`Bʐ(^DoZ"߀m8o[w;1DΛgKq>c8׍ a-El} A`0X!F*4\ q>Iv(,ee+1.| -yf$o|R4zC|7;0ׁ?Z¸D% Mʼ̹{HDIVcịgpAȭA:EoQ&1<\ji݋Rů2Go]7KHpσ'3H60ڔ<<Q~BD0T^Lvlā\)}5W;y:~+ݡ}B\<^un\60.·W77)X$T/;1zS{aǿPwzf!oC~G:%ľ-E3[xp_h3?S ڋȍGa(P>yu3yM:V\mzhrLiR/x#¸OOCNR a{3{F*xU i=FO0ˢ(ƝLohh^˲뫴I>4bBNf}[."ETK%e1 },d̓%ݗ|I,ڗ!HFnuP{hka*[ ћd('h95yv夦<(]a Y>gzU(ؤ_>zylFjʶ\B A~;JC @~͒G[cn.*g2ØQ'$9;9f%/)}]kf̐RyΗml̇y[b"0r+ c(sd.n t ~$ mlYl[[R1dQZ Um^ktA2J>r. K5Ζ'MP}=[FmӍRo-:vp5 ܜjO*"?H=+{i[CM 7fUh8Ϫ= ZwBI~mPI I-UJUm\K[T/>={YdNz+L*\ћ0\Z&EcC1T6<| &=J:(Lr>4y~ w,Ebz,QƒEd 5u9QNvE]"`D&80sT(Kݛ #G-sZ|$`M0|M\ڷ~mU p/P+QYD8Cy|1|<ۧ0T D3gÍqIr Mi,5L+4/:?&ddV]cWN3pyS8 u ZJWV&.b3 KyFQ;z܉@YJ(5 ޟSfM`P)ӌ=l0 Ix 8L,d[^^]°ބaRV i_)vb juL\ܙ\Ԗ"K=z28i6FO|.JyT/IW!:HqS~:V}RA)ƻYY\߱D4ya (N6!ӄX2Ȥjࡧ]J}aRK!ظHLT M2P8l*lr#=qN)VH ОMYPc'G"`h*LyT/%ȁQ TYf>E*ylor}{;xExzYve>xya1X4T+bh5{ 'z5w<#D T/ >f!$=v";&׬6^#?Nut%V{\Vu4oை7GA};OL2O .jĀKf}s 1'[(p :ߨ(- n̑]X,xJ'j8F5mPǁ$zuMq)Bv@U~HA;:ח@3VOcB!̿d ysHy(9;Cz\Ծ8DÏ*?%-PI]׿<X N SRn|z,6P \VGT:}>E$l{u"f_k3RZ~]Vj;t3Laz2!Q̧dsJP)BJ0c}x(wiķz~wD1NɫsfHH7/r`q2~A|H[^B_i/Qo"<Ƚie] `oR3su){bHn:,/|h K"߶5}ߓq/,S7alζ{qү`V@[9/E^3+gӮ.c4u8ie7 Rn&Bgb;F{@\U6dES< /:#sɟ)=58{8Ժ1Uy@WT`26-ȜP0̓*NawM(ޘg1kZL~-GXDY1mXo?OqGڲVaQJQ`H5'!$ÎX~EC]o/< 1g]!=G~-0nӣga!e]zZB(T6X1; OiQ38K=GD HW qP;k(3j)um !}Hu)6+kMz%y h;N1%wZz~(;VNq@;,ZNh;3ׯî$o{;s .3zS;|ZԍתX񀌲ۇ.H#6!_=z[6gsE fNxI(8|Ԩ(IdH6K!q S0)ԉV&Lo*Pl 5Cƣ5uZ|+02%V|.pO9}!} &5*+4lܡB8ʽۏTgq&4J2Y>nޅڴ|;Tܢ4!/#,sH)(n',M\X0_Gg$liΈ YkQůh8' +kod8iZ=jq -/s4/B(3W(VJamLx#FXcdiAǺS0dS_D^G0X$ pWUb\AdJa`k7TࡖhKvf_wWĉҵ,,i2T IuT(~Iz<)J` nr<5U2ħ[IvK\N~kV=sUt%yr7̥}*̱i'33Hޑ pq檿A38[L#E׃ ޑRaxXb_UR>R.;GO,RӎZ  +P9VL'sK0F* \zXӔy$<dZM452Z;Ka#! 3J{5^39bELGs4˪o0 |%`|+(ͫS.8̗^6 biZ:gKsfRhOe?yT~,F)QNG( /5;1@փ,S7q&+,*n%¹*fj| -=; c \4 nj^pDA8[X(* JR}IQEͨrCP&*.ZK1##tOIGwȰ(J"qNl۶mc۶mvǶٱ:wz{T{Vn|="wp{-2z+׺Q!5v6YG U(ʩ^3^tEbJ>#n`T;EUHV#oh?6\~|~(V5WME<'[h v^kUSP^`Ͱ,V$nN`ǃuPz SR`qQ8"jWLhl+8~Wgfj5JUKjw |,poVX-M0ɨXCKz K(ՌB*nb}[׃Vx9q`SK?!U2esA7/yCUʋ4" ;y#zNeR9qk_[{30"aJb!6TЗQ/(jsK?9[o$+1:0dsSIqwAΞN"{rH2׳d4`**=rɊ'XQ 3JD脌ɀU_[#J6{tDFh9dyܴ%C;'ȇ!B]0RbegT*2n՜r^j9?K UaAQp+ kLj0Tf!7k}mbJ>,ئF08fzhm/|IW }89[E!bxl|%JLYK᭶/OxD2xamN [ -N}ɳRtvG rcxьf%}B;@({6\~|͍ՄnüR{r3 1H`ר BV%&D,YgڂYCcF5; !?Q l $qrLܦ# rR3`/=z[?_]$8KJ[YZS`Rk.F9LghD=JJ UX [ȃ}+M(#NHq(손;#8(p4u<19G/lһLLD~WD7SP^ߎye*I}HB֌br1nQ]/@)M`}S_%4 X1BURӲo/qX=@VhX y7h689]r^k@s9trgUri*ʥHg큛8CdN6"J\R< M4 یOC^iPW%J@g?1: }oa'KZI?䁮]@轩评G7%P%?/7s!片f~>Եôd99՚%h5L؋d c%qk7#k <4ӵ j&S.:Bm J5co9DY\1 ˶̢NJ_GN#X7:ϨF@TGg(97lY3 F!w8' G56{wn'_ikIw H6+٘Kƛ^PJD qdE6)XJab+Rg4FBY3wBHfL3doM2=(tsXi]WwŗcfI@v5: C&I\dgȦlH5Wp'w D~#co18Me Q,@yfK$0vDHQIS:0}`@3>P񷦲r^ҖYDq)J%ue'=Jbaj4@::4Eh25!ѐ?=-31F (-Y#0:"" C{v Tܮ8<-';iaZmYvϭ\L5~ Js]vG <)oS\ʘߟ|cR>6 Lng!]O]\ER[]"}T^.Tk%T/RWaʬ!:+[8 Js;[\{ng@K)#Frݘ÷jd/@8aE67xT"|ӻPYW>~%;Z}GIt7':5)kS EKk&ԸS10X@ע.z\<@E~mAݏYjۺO;a;}.Rb=!Ϡs >>M&a+Y|5`.K@dz&t;נXAm30Xߏ"գ20k=bUFocg$}c~)aSuL`[5!pL_[35Y~ fD4Yah (OF繧MMRiFQXs \{S:8`80on ~$~]{/ue M:|8th>}?Eƴ^p/j}>f.|ҹD| ˨pJ RSBR:Y3VrhZL owlޑr"쌵$$IB\9;RxSyEj.\KP;<;_̸>lX ϬL%bnbբ7 q`$^U#ãW\1mSfCWp)EGB>LFfO͌2O}ˏ/)cꥑ[SOޔBsϖZ?,nlfok(NrI@Ԃ2Ȣ>Q:/+1T)8Ο:XbrSAZI ̆ڠkׇ"I&ê쭠pmO/t Ǣ hz8ZY=$ .u .Ҏsqr0 ~>[ B\pC*7L -:YdmSp٦?]͑t֗k1h7<%6N:xM6LdX,m3.՛VZoTly"buۆk|N~ܮIAgDꀶ̫8hnqtV=LN#hlRpe}Pbt\i\ 3~Eku]!b~>U%S,9mvTޣ- B&uh P$&#x".`^.ZuNo#ZY&E?3U&vO00%iWmsXrO*eaEk^wآ8]8XR[4䛾xk/zXfK; vG1Ӕ%;2TGἠyךWUt |uz!JZcVl2>AmLӓĝ/+E{='!e͠$J97%/=:i DA7j#Gˤ6^nT0+GY{GSP&1o xk;S5}*6;6,f"DˇoTO*Gư{ӝQ9©rOk5e˨h|U<ƿ-ʂ)jKdcd}L5އrdӖuXޅ1-1vk:B_4FKTܽ .?[Y8(bNM2QwV^1CWLY=GgȪ%RZ %ZɁBL6hq.%429kغ|g7,$<F8>vVLuO|>՝zΑ GZW(/=i#~Ļ3fLB@{{ Jb i^COTZؼ/>DMF9DLiYQ&op# !TҵSQ:;?@`?Á77Ÿ́"a}y -t"78??rt2pjrͰB[s4r<-O@ ?pVqKI[+F7sG;F4OEFWJU%#XO!lo>pc21nT4fJ>HTddl@﮳^?潿|C*S~Dzf!rtHws7èTo?a߾BN|B-tdБ[,i ڪܖi|iMU49q'ʿq>E 2\B7 $zaV׍ESQW6{\vi! u1l#&\֊gpwc 9yaTaKH] e8;ҧjETxW'[ECu܏{I;5vc@bAEPPymBbn|̽m6K_ 5,ܽN˿f҇V9`(&fT4bt܃JwFۓP4`8liC t~'"QzgwipɶɧzotBmI6*f͇*$NFkx-@2Iي̙_ Aڔa_δ|YjxDG'?=q0V'LȂ, t+ٙ3#ǻF4۟ >3o`ƎA!74_ǿ˕SeW{'iCg z)LA=лTcă[yCȌЖY+x,yOU(׆2o#r.j; ,ks2ݯI"YkMqo)Ysz՟W?*53CX<; ū.p³bVjt]+`-Xag1 zU_xȺgH|i3vPZhY6j,Om_!Uz?,Cg˳Rqy|Qc, OcQہ+l@EMi :%aaIH0#?{x@΍?_w4Ҵa֠'Nӑ 1,'#<{%~f3Wstdڵ*C|cZf6QTXTɴoo;w]ǜ 9 5۷X:|Y(Im*`~7W? q@+ AlDJvqƍ,!-[k.wNϳ e=wGz%Û7qZ,yOZ gCQ1YKǔN]7JډylD#22/}xF 5cb}@t=~Q   bVZJ-QuBQ%"SEW`?:#`lfqZHMյL$@StZ,*Y! $$۱IaYen!$c+sBCU#V Q%.~KgN^5 "4| Zj[(:?lI O<'ǘFyV#֩Mvu*x~Zf~KxcmQģ#JΣִ a;HV 5pnF~tkE~ļ=Fc2h_%yY sQ )ީ@I&߫l`"8\H8OIL '2=^LgD|'zR{ !^8!6[HkP08*IӨq݇$! O_-.n=7wa[g1>u(ᯭ 1xIsS7HAc]:*Wo`2DJ/7V4{&l&Tcyg\vTW='ϭFxS-J/pe$ޛ*|45،\g27N@tXb.WxW}uXV%ʡI4ݼ6ztesB#5A( {ff>ovd%2®ߋ]!V+ؔ{ҘA7k1÷Fpn{ jǭcA%"ak|Ӂ s]~N?7},\SK4VU7r~}0~n~ ة%\9BGgk$;@ψ,R.w-P&xe,1_lOo;(c7$ ˕5(CŰ%qrɆG:^`Sh0BBj^ ꅆq_\TĔ'|cu'ZA(Vy/ nڰ=~!+YX`,pCPt~͝"K,..﬌-Grsk+Li-wf{1ހf}^QyvKDcG\! LiaKI,256|п@HW¿p_q[GU`zd.5G sƌь낕)md?L6}8ʎwk^r )N%b}T}+tL.Pz+fDGX jt1 T.@AL UO.w͡nQɕv9U?&mUӡF#Ph9SRq/ v7t2g׮ LrIzF᛭hĜTgpJtS i%B{y2."2Gڧysߑs(ĬrRyWIUHGuSоRKiKJێ0Y*Vl_Mō>oZϱ+[Z1u+mefw։G * oA \!e`qLx񅣫kYRp^V*UvE e#;ъf@8)]IoLhP vlwHۥ!YK/VbԲ,?{v*eR*DzmcEN9}247s-'OS<|ZQ}iV/5FyHDvJAvd n)&p0W`تYDLl bk0eZXםT7ze(OH1zR,#!ti130,ƃ91!b_0[aɁA2`7qɇT[Y^ /ص)˔_J aI_f#߀/z;Uhw"`ed!~<[Ku9y(ReK(򦡎F^=IUK6FЀ|@:J1XuX'е}e6~/r I'tvDL?o:ÌXd]8EM)9c)?Wj RsyI>ZdC9cT18Ť]belJPk Ltҕ\,T )6I^tDn`vMW#1S>TQHWEOSh;T tt ؇{-x>_=|̲ ctDdr\ʱwhqEeqb,Kkz!cDzYbc?( dD%JR}1%P;KŠKֻ"IoS_z-I:)MX%*Ђj8]cOW#|ejqh;Ve[|m/T(O2Җ_Ur96gmmʡ#;v pxdݡcr>?7 !mFnŢ2۩2µYJCx_ |,9^C>xSZ( 4yTQ ^Aػ˫x0hΗ֔I(RdaĠ8+yQ7X0bzYK}5Q98tK#PL*vu4ٕFX1d# y(_<}yxD?Eϣu I) PJdGVd2[U̍cd{ 3 hB1<\kW@Co0 ̔4Gi(i[uN g@4^gGcNf"8LMg87l'/MqDaZ_nOnx' o)8+1e?_H25XUE<6P{_״YZo e%u.379U;/0ґc J#\ -At;nY\;%0åո f6/{^H;6O\Ak9^$"YJUf8{B]%k`-- 8{#}Ghn}afז]9y'&!!3^^(I(=>3=0^<-+է#n,Xc713Շi8w8j/歫w\@qUzPՋ EX3f xd'+J nRL^Ej 7UZPFŌ 8X=]"& e|APFs#w?G"m[H{۾v~ ]h٣VvrZS77ySc-ʙs'D/nGX6U +}0%H_kG*Uf|gA*bv_&W4.0p.ד t@߶[_O;knEbi"$.K߲`/";_xoKISXuL8&Wrt) N`ZNlJsrNL@ ?5ͣ:lm;كR(L:T8Qk',GY4vy64S5ۭeO0S> stream xڴ{eT[6R ;'Xpw)S /šPݭsG[YɝƮ={fGVBM,fhvYJ Wv6fqG{  5 l4<`k9ƇD .oJ @ 6rLT]foj sptr'oq dgQb(;z6:G hmjo phuZRu-U znNN.EBCSK ))j3d44.[J,$X")[.^v G6 ?5psb8$ Bf@gܚO~+gc | `7Ͽ+SBbXؘZmL.t 16O GhĪ~k?_MtQ62u!J?|m\m<6`sk7.6}kx1=m?̐[86+3;turU辕Y_6R sG =7 8޿uo.'7.XU@I|VIo:J\\o[_agc%v-?o翩$7URs4l*`G;ſ(]l<  هH@7oqqGOf.n63m \~kм??g#-; ~n/*c9֕OYʘJL I) j ̤)rT*ѥŵYkKP2W'Ff TZ 袠?-+ٞN =1yJaX3֣xsxqc+0cR7*Ӎ S,HcЩnV[@9wD<|D)Jw]')tq6pne[&Gx2)zmbS_uP @5KJ#~uc4~%ox/ŀPQa2"O<F[7<{ i}ҟ;ŝbCl#bOiҍ (M_]hnqd%I1cx*> uMJ9a\%@m2|ZSR(U-` ^z[j*՞k^%Zy њ%:_]"PND$ kS=,-8- a$<|6PY\HGtFe7*- b` 7RK1͑a5nݍ5n B$FhTbukSWv>uO . FaeB3y<ӏwղtQ5Ye [*EK=dǗ?g#8nghע烢̤ԇ p9J{Z2F8/7 >L|1D舅pN&*ms'Jvg?Oq)^W*Z40`8/ z&=^|6ƲrȲ@9ʄs?R&UYV?ѫwP_IJ ?6d1|]/{3eq22j@t8ܙ y}SX|G_K:D"sٌ ~?JA>Hthvfvp˝1vtP.> T׉XRH,[ XEn#m jR1Ck>=fW'' X=Ks @wms++{eAdQ@9(rڮ*fLy7 Q~mJ.yC0-*iqyIbf}=N N֊ _cnR&SHwfyM:C&OT ӐоU[E[O4tEX-hNx^5-̫-8ӛ`VLaό? lY zJE (ZlÌjvD.A{؎6&~ժ\ܴ)KfIaũ^XRNHtߢl{o蘤#B>oH$3>ERn>f营_INfBP^ BQ8%EV<¨B"xٌN*YlIƯ Ttdi}agn} <*̀CDI7U.52Åk(SˍVЎMc G_x~r5>׿ r畖Rvf@5IZu)W˃Ц4t?T֙K(<54T”ǵU܃sG؍hoZj!Bqu8B.%p|5ǡeHӜA&RʁKV!!EC[2&3ܰ vFD/wdy<)dJ3'`7.T/}smlm$!xٳ\FcVꘀЪő7D/,!"d=Hazmq[1rdoJDӾ AɭDc\ .tk p8ɝn-g[745ny!js ǖg$< iO1ZQG/|}5ܤl˞ L>6X㎋Y5Gvj,_h.%#jEիR"0H'nHkDsYz=U5@ VK3$qv@ҶAWo4̥3YIzPv/>]K-t=Lo`soyIN4 <cݤr>gt+DA|9#+5D" Wg N2:$4tDڬ8AƬX_{SE߅=f&b| WBj@=h0-qW=XaoZ[+HGp*i!"d0*#1pmju,@fq|״w&KIpJ9!ln(jɛ$G %tyJ=LfY"MNJG9]K\XJ&ȱrI~ʻYw12ESgwPJN9L-텓W dR ̗4UZ[H|:C-ueR@u5+ǣf<ͷB 9\X %[dP|'8(X}V$C:/}=n}f-aܙ.R*%[n][eI zM|cMwI~ QA!'k`үہ! mKŝK}l0"zʥ3 TNAmVMY_vvSxk;g%G=+gM!ƸA۾ +ہ ^c<%W)jBJsU&Pr[n~ȘM@BHR(ll=ۏM5_N5ϕ8dIx^Y qNrɰaŲ^P-NAq>8'rB v$Op-2ê^*ѺN}/ը}w2B&(w'-.U4KTe87lQcj@-Xi _ s1TzJE']v#@ 8|5f"Umd5Gi~H7[ZYp/05@4BBr;o]4qЉTwc"6_ʏL%w7S: .)XB;Hrğ”n+SbXb*_s<5Cΰp2Yڻ$~\N%nK{PJi"_4h=Y$ŠY ?W)E LKkTb rp_ertqZcܮG]DsBFAq1d]u^  Vϧ(uoZ?]¨=_Ɣ~aUSaEϤ>-Z\\D&FBBv_ 3cVw:í~7?)dXm[>AJv}6eTk & ՊIUcGSxY^_zEy𤔷G7X R>*`ls̑/6܎X/MZHXEɦP_4_#+Xܶ?>mXZqRF8OVT;yGlR4z(u;pQ'P|>~Le _  b94?An4~dooc{>P<Ք/b=le=B9%ayfM s 5(ORos-@2M? <+z>9I'O2)N[|Xa< 1qm5Y.; KZ,s@wRhm;ml斊Kɷ,(3mrx5/ A5iX TeU?=jNjv< +)5HEhXԀ!ru5mo 9 ɳ|vIyLŢsӯe LlUT->̼!uD[~Klqu^LWB#,wtS¨ܬlcwp!yѱ;ah׫I8^ ,[i\2*uS|BDPwrȫ#*Dnrk s M9Iw`vXqδV,{+R)[7oKY1Ft?[P),kXP|(, ɳUH*k"ȱO?VnuOa곙E9̜3bNo:~;-T\Ŵ E׋@  75aI{w)/c38UeECP q#m8XkqV-OB/kxiomx_x&[>/;c2U/tf!fxɸ@ ֛NHw͟Kνˍ{uz<-)u kX[s;QH|ɒ +kb&/Je?==q]}ۏ>dYr鿩ǵ T^㮌'|Թ1`djPT!@XҖ1.`"!e#;iE_aJ;6,HXyYOJT l_WPqh~F Q:G _Ð/|y˥>nM!%NBQ]CCHm>5)9AiJd~fny`ͨ^FBN@?'l:['3%ZvQJN mBB 8GAEȒwø=_N_PޙCפyU XpB*4߿MW)oߋv8Cڴ+q $_Ծb[dz=_yPhia|}-ɇ q;l9ԏD4u|FᗉkY?(JM;۳C13c]QLvX1~B43).:qO]ӀY%L'&X?YƧ'h]XۢX+I$h HYܬ A,{~r_RMi;23#*?+ҹR3Muu*. WQd.W{=WO ˞ĭM/ќJƻOIJK0X2q*k 7Wi4#]Ŏ3w?@c+"F'\^t}~_I#ލ²%z~63MPYK9Q<@Z.x :L/oA3B@;kSY^g] G[wc&zDW"fVۤ$I<є~E{/#I#M= ۭL}Wö(pއ/o!+[x7BZe=SVxDwu tV=5;mWD֔,nKPFu_D4r 294;0ށ^PfAndz4$6?ٙ={VȌV}5{7ڜy-=SqW9si8t0~hd\G Y9 7OQ{,8![qHk? jV<>plQqm}]u/pPCj. Ye5jOFi1?q`pqQ?xAt` k;a[3JQ.",ޣgOJLR#8g3͹jWBcvp;L:[O p5FpxeKG Xc75|Y!#aF G,^,njj9z|;j٭&RAF K5w~i~;[)F;s"w PkzR߬v p콡,`:71^89sGc#,LTXx9_/"Nmi.,^7ŒRjqrYVhQlez|sY1aҫϕJHBJӑtOhDm<'TPW}=wJRrL@7Yu6q*Ɲ?:!'璔S,*UTqrAv"+69M3Zw {cbJc| %/ԪthuBhc82ev&5, Pp;/]e(szK s/7 Wƴ^DXKٍH䂗1Dh5axospZ^'A{m9%0Vgijoxw,u*:;9E˔,gGQrCK"c.T8>Վ2`M6Y]ryʫ- 6NQ ~茏^J9=}uNnj:1aJח`di\3TЀ?g)t@M QzVb&_" 0*~tMas 57 Ӌ^)»ͽ~~_HS~%TEh=rV: -`J=&&gҀaOYVY%.)Yw^nMQ[;8.Re낮k}1GMzTn-Ҽ`< >;yd_Vn`mEK# 3۴rRƾ2?:B+<3*n\28oa\TٓxC& O%,H7Xtד}a5{û$f#.+24VNÅ#Rn?t4upc3Ԉ|`A3l߉QJ/%]iCoZ-DcVk~&20učy.]xɍHdfrD\pmzpT5CIc̼)7~N/N2Y鴏KT S" iWG}nyEƲq[4BXM=h3[t2wW؉mMid*8PAҥsj }>~sƽD=Z/ݾ}5FKh srz 'mg؉"c-;Tw#]KEkO2k%//G}Xb_< F`QA8-p^ r~r u4 fQ<K^x̘GX\ȆrQir>E$11aIWKh^WBCl!i7a.Ɍ~=q_X# 1AUв1D0'J %bӟ^|fB_( Jk4HL%Xto~pB3ڢ& m{YKz΍s qlӋɘY+Fv"Eko^Ѣo4aïӥ?Q5$T8gy;? p3]x6AGYLgϫHX1MQB]Z~K"$>qvm '!|$QSMU>i:[k}y/3y|} vVX Q.w|ݎ98cEVL%6g89PS> Vu},vZ`7_Ms2n5d+ x+}Q֥ݸ`=T9 \=\`pvR=CݯvSl̉R%Λ֔(y4,RVoW`J ;,agX09c#꘼H/7Ҡ*,hg4fkEiE;+9"\CvvNNX{4hz%ڲhs9YF%LcZ'$ ?ឪ=8a:>"b M&td"`h*c'Z E޹\1Ǫ̤"I(ߴf](kB[6Z:9ltEgyvf0wڝWwn$mK1K1e Hz_?R ُčfpk0~󻌮nR5%cQCJS}n@߫B`.3y@qvi4'j>ۚ9fdF{U1:8 E_(T^E^`K(f̻>+Csڙq@tn$9.H۠gȬgLw &5D9wNBԶL^әISOsϤ Un'# έ-2**5wĴVӢXcYjZS8abp Y 6`" /JӜOg+,h3^Si$u-ܯDZn9 !;2,sQx99Kwˢ(R)ΑͱSCfdTSڭXy9<eZfϔQigT_a@x+NUq䠯7ʎ DE|^~XpfUdo+(MYa?R)Z\5joV&jT Hoks ՙ$"TCS9mNFSNV'ƌv69#ܓtGǏq \ׄN?L1mxEBiGqW"ACQA8E_#)njMwu>d+[<>]#ol`H2W4TUʼ"RE!NJΓ|9v!C>86= },&q9wCbj4߷(!kN蜡_ի8sl'0FHpC}:boB)t,t|LQ?`ā78)!wd8oZ̦G ]Yvn<4ϩj;їsNjrp!2,STv+uOn=?K*b?:Xsqy9R? N7Ӷ|޵  oD;+Mi[ARMCY+޹,Ƶ,injwyzht{ˋE;faCf󦴈/(>,i˾9?~Mi{k켬xƤ%6N|Gq'缯tWvհftqMMǮ^rd8PvЬǖuϟJ^=o4o$fha|Y[Ƴ,ܪW,1}1|hęꁝAK"{m2 E:xW4D0'AJD]z/WsgnÔ|kDn {I&ʗI;^lhY9`iXC␤{[C3|W8??OڠJ|\`w͟I =}tLx/bB>O+%*(g.^w%X a4M+p|RCQDixBN ^_>"¤gS< eC5 NX+1E؆LnP'׽`teU`Ҭɠ􍔳/RM ի;>U8oV,0U 7>uRnKF;'΁bJ~:\`kîp36]4'6ans8mn7fs|& 0"ճM.{Ԏx`]Ȗ,D m+}MIk2 UL΀٨xmXHf/po7e<,B%lS];G 9٨V֍ysajG9g#h_S[6H{7H,mO g$ jlt FNaw;Q2G5W_&:@Rݳ K)BY~ĹcKat%[ƶh,!G 6;k+Q5evmedݞ|2IQ$/}fR=}=~bY#ZL#1fa^uXI՟]"k\k-!׷tW"ND|vjBovRЧ $(#8bgGGRG O,)#7Ж5@ w%I&gy=E((]'\w*yv< CՒGjJTpЦ&Qۺsː~JaqdsA6l.,T7!\s~˖.gӊcA!$;pdoZ0p^FC]C#V#w-^8IP_2tT-%~UB|4pA4::=nub6g$tG@ΪS,v Xl蟍ר<{1O1h'q&f!_J=@ y8H0g~rO8yJq)9*) ǹ]`k(oݍ n۬v- KJOyUZG/a^m=b/q+u(xjWm۽iiFG%,-ӥfgF+Fh{r*32?2܍bPXvHՙUj^O:'OsY<)c饾T9 M~ tg CZnGD=ӁӰ3`Fw:Z@eCJUK⼍lKJ"Y,3-2T)h{TRA ![G}$JIeo<A,Vu)@mw<V'o& 1Pe5Ef%7L!M;mڹ(h[E@3 XUe+>[ O) 24Q׹+LzeJ=U 1)L[Źz6@M.ֻHC1ZK0Ӳ ι=,po!lr3s3) 7H3>Lfv^l$2h_]i|C[i?UsE?^X$ u!`<_DӋlS\^/VJJ(E$DeWx_j??n/e}9^&i%$߻7Nv ):jnuӲë'i'Cԝ|XWHTHCȄ&$}Xe[`%Ê[HIZQ4\eO}zn]s:qsVz!BK럂ԷHQL+j*eȝҸ?` 35Zw .9~e 4XxEE| P±I^4K s->y j|^\ӺꭕUhi> ɲU)umb *pho7`YNv}9{>[6S bb0[\ O䍱yFWIioa1~x%'.[oO f׸C}EBIPFmQC֤k׀; 1+Jh9*9ҚT<ģ?j_3#]G1 oGlL5uS~dT@'7ߴO,0 ̒SeUOXاKԭ(y5QЈI8)I c~'LDƚQ !J)ޠ=?yaG5+IQ#0ؚtTNd?rM'V|o)6KKӓ.ʑ*Q Xb?$bikEaXOarű+z~~7ݡ3kc&PB.6fNO}I 42ɯJo„N?CD{{q(!)"Vs.FXȓ_R;ybwK#;$ux Sq*._+GlyEgX,"> x㜀 jm} r) 1@v[fcս2 *Ox7 +zb@O}HPV9i_|; OF\{eP~)Bl)p(-Tu:yҨ[ڦwۓFy"}TR=+S+O"!(ySMݴC5]BCaYUefuD46. RR;M }^#'ĢJUQqvNtUhUͩ4c(c|cc1rS+ ͏Y@H "tfm P23>? Hlܟ&]*7 Î fHpiqԡ"2!+m1دzodp R|Kv$Ia\ӛ;~tPy~.-KXA\_4BaG$yv_1Aicq@3w\i[*Sٿu6~2/Vs\,8٭: C9%R}b9l-8*2dQsٿ{zGPawfJppW4hRT~D\|'jP"ʷȧi W`:ԙIKwG]>34Hogw'7%c`82VQPBY6{@+NQ9\+k_Ƌ<TN)AC[ ߹Bno bslrT p%!L; ~Ƈ$H8JR?8c0)> stream xڴuX[߶.KqP)KR\Zݵxos9'Ox11\EI $fbM\YYl@6  l a es  r+-f^ET 5GPqt3AV6 wqG'/+kLL#Lm=\mm9"hf kS;K%@TTSH)k999W-Ҍ Q% IH rxߊ𯻢$+5X Wi6.Zk0؉h :XOb x@4⽝`kп9I_JV;S{#c 4֦*(Mm SwC)`Y@@oV4] ||M=sL\Go\m\X؁VwlEd$5މ x |.+/坤U"m{.^m=|oo-ܜ5be!,3in7?l 4sXoH> ?[BbXؘ߉>,HDut ~UE}J- K$f%G;!h%fgdjϖ mZi]MCg*e P[euXj(w澟>6wIinrup7?J~߂* k1t0wqqrL]\LXީ a}gw`w?YYX̠ؿD6^ͿevyvYYC0 G+S;ЖKCYh Ҷx?)Ss?T-&`bg_X99|Ο'-~ 2GZYt4V'Y4]K < #5N/K.lȦ.vT3K tCkْR5BUdOяMRtP3([q9DKn)lvkb+)@sT1m & u֣d shyc+B?gRaLΩ {2DiC\W.+]RMMO $[cۡuӜN|ITHU,7T•~-Kul?B_ב}by -  0Fĸ= hۢO`9%k" ֛#{7|3A%Bظ<ڑxW `Za\~ 50q aCp4dO *ѯ=}soR!aa.JZA3Y]JA82" oÌ9v횟gJHH"syhÃ| s>ivhDhJBF!i:#5rQ7vP7p?A~Lq,[|d/cBDz`"ޓİr9@^FSL`.\4eD;iق `k_C`Rc}5ns,0A"GOǧt(X;/!{i%+uR_ݕ0[TCKLj~YUl?K!Qȡe8>ڵOZqg0pBC7bM1 <>u_R3 *33GfIvx_lpZU^R=K/.qiWG .ʻcZۈ?ߕ3PҪYg?IRd.m4JL;&brI1* 8&njfn)851aPl鼫U.2*9wL.@,A<!i7Jʹ,IHEV8Fv6 ``uϞϦ>h"'BI6O<^z0T9f5VW%ݔ 3 秔gsSQN`z"'/$A;&߭Hj47hnH4.eM삟Maa5n`$X>3|0TxU"w.*.H=)=d$@o-Ym7j}&ʂ9Z(]ߎ{XMULEoV6 ' ve 7~b<+i)7e8zhQ<*BN0;oy|*vsU?> fh n>at[S8sX>•x _3'?N.BO&ynnbfmeUIzJSea!EVVID7K|MoPE7Csu#3` (dbY/$ /ٕdΌ ^uF?>Sa7su !';5+FŏUTPɟ,tonv ɉT; !dcڔ6H¼_VX(Uqn)V;>W!8/)cc)::N`}aLxZ/8U/X}fk}5쌎(#u>"߯O<*"Lt7B{+*^bH:h\MwQJZArM0/1sVOj߭3X5Tuh(َCxm g,Q,aMKNڼU< SnztKZ#2<( %=?+Sxk"ڪLBg2WD=,%|j.dg[`ΥyMuIkJc BR|NtOֻ򧆒'A=OKla`0 >BT&=%,4$}[9fnOj91T,AfvV>t5~_,uJZ6Jj :#a ~3p-WV?3噜t;qxNSw+m*U[PٺV({ạו$uu_݉,)$+(e+ղ:W#+B۵ 2=m_cf1O894y!~ j"qx-B);^Hhv8xIkfJqШ{߭MiĬȬn~*J]ǣ}=v[W,%i0G6 !l[#|x\2iţsY!76}檁rp/KO;R;@㈏34Mqy=o(1e"j9c CW;pMl5eI5@("CocՕ`X/dM`⮟/&x@f[,%Ʒ?=a..81]fgHpeZ-lP}h^V!uI +(#o@y}n~|"rR 5t +zi<-I'`_v 5#Ц7\`+L_kVaIOh9mb[E'X(RO Aɞ%oI=f^aU_<@S!wۀ/qWyqMi/OV5s}%C۹P\{bAX0YbxJ;H {20eAŽ%0YEr۲t̓1AO0Lu}jI "4ft8Xe0.&_kdp2MPV3 w2sbWYT.zRίLe]1t!{EpNPz7H \.oK!$%̪y*U)$PӸڱ;}-F|/As|˯;\r"X蒩φ.HV J{̀(/t,G귎vfJۭ *J궽&39d q;b@oBٝwaMOqd<j|B щ]R~[|xE fHnMٍM\ΖG"bҳ m z #Gi i 6Dg,ei =cbZkeVPӞR=2v \1ظdS+hZ8|*:2\(JlLFG8:Ӯv#n"o?oP\SY)}}"u_u ܐHE'ϩKB} do5rWS1a9 \eܼ%N~R)kj2A@^x29,O݆G2gIDŽo7)c*{IJ[`\AG ܠ1Q|( 9Kj&Tñ"+ڒ8t XRp%$t24}|V09A8ϔX'xHi= raG(E#ٟ#1fDb=ϰcRsDPyNy*ڸsL#+o Ze4%L* g*`Wcs<%* r'<_a=1Q]&5u z^.a2l}v*l3.jfUIPVonkIQ2c5Ddz€@*v;E*?:"nɔs[eӅ[$˷ǣ~;:C-8&QEo=jKuEc\H%SUnBwӏS%CnvMg'/e֚jX XӦƇǖ܈ϔ•G9PrJ,xebTϧƧ xt^@q(d&#M[\˨~d='څgA1aqČ7<P3H2~[nf;D|8/\|A DΖ4y21$2f#9Vl)VoaJm:֫c&N< eqyz]wth6CsldpCW:)r.A05x{q]/ԕdO?dXinwkM 6Ç+&Ē4V%~r*|Gt'p2p$Gq0.So:!~RAb{)st ojHR໬۾Y &T: ~Z cyj = l~;C,iKȇ}PVXY~w  [Jnmq[_>nq.BC."dgn{MdFmeV{̃nYF|Ơ^ `Ivo)[gg dqe ECu[_ԕ~m m^9@<+]VG#o'ZPXRg!mj {H"u{B4Qi=sS!0U?_*RCc$ix|LwmFnOχuK}A$}ubc9,ۦp)عEf3/7M-z rt^(Zn_FhJygq넲$܆I~5WcYj {mpCL/7/C걭0O<5%Ȃ((p+GO$l%C1h6<2 ?h2%PRuAVC2`+!Һ/ /~/'_/>1KY[lW9tHTZ:;܈=ֱ-U8.MӀQb$ꍒ?(SE?Z.97ۍU=^rUi奧];hmw*BU[0DuzB;SDmF#Nɪ'^Ivړ})-/('̓T\&΄l`CKbQkUt3ćsy]Dњ L*I \|Dy "9S(  Ԗ XC}PZf|SEaUloJ3|=[3.l)]Ţ#1<2"1ȷ/d԰/?M O5~ Gr,yz!gnŝaQ<3! r8e>%eG%z.o;H}g^zGW 5/T0y~;<(^0QXI-wij\wB,ZiFNQ~Z*R}fEu>&m$RsVgŒDbmEU7ɗ5ؔb :6o)'Y2 *M#C_JG-*Emee1IqwӲ]ҊOwI-yewUp:O&w:hK^,m*ˎ!}ō)|0>eSG+xΝRrl? zH>ѽ+D',n׋O7}!Vڡ*7䧮Sa û Fʤ?K`y@|#7B276]󽫠d[ܬ-׽ Y 꽋E;zGh0c&~Kg5ssF,o$o8DzuyƋ;d⯛ijEg:s3!AY| 4@bg2ݾ\r1]j~tR4ݤZJ'(9*/YuٖJi eaq;ۃSV{"%Ұwddc804~.`tPUt|(LB*ԷƑ":]Kw8J$" HC' %<9!r]pmec(o)"c7 Z:FlXBgҨ1@=f.hX5$r٨lF,51U ZyLL=tӟIӉ.Qmn$'L('Rk`Fx%E*L2_5dhtÃgϐu|Nw\r[N XZULsH#hOalA+L  Ulާk*}5aY_9>XX5j'Q1r]G7jAZh]L/˷dl};; ǗMG+"z\Ώ~kշ:neJNwe6'w kMPɉq7RVPs0_nؾm{UkV tlgGUnoo6|cۛjCQ:BlX:ҾduhZŷTιJgdE9 \7]C#yT :n~5.u(h4 e:an&Dϡ"ۙЏoqire`)ahY[MwU/ui} rQR:du&4}: )u5ɂrkZ~fpOxlQ?,bY ;h0,Π;:$gHwɠP`X+>3 Lg_TA;#5|QSƦ:Hv2q_dVUk;u b4Z1?CIg}[ɭ]!qBBxr9ZЩU/ Zrcw Aˍ,:#4oj{izd`xCYjկ='+7Nbfّ@fT/듪͆ʍiQie ·M9ZsgDq$YS5ɘ G;}&b 7l <1LL1;a0jRۿOGM5QwKxޯvYkVgg,YO_X11az0Z Ndt ~~-4˥v;%/+ :s͊ō5za\ZC.*k"(|i7o ,O 43$ )ѧ̱a1o&E^=J$jJ^ebh.ݴBj6r8B}8]q+Vӏa-ۻZR{Έ^$j[&t8^/dCXx3n.q;wcb6` >&#J4y:b\Ȗe6Jyrjڐy `r2W .n E^+A)WPa`]N|s1(`"e[x õVv Lю9-RczBaĈ$ҷ1 ?^ u}~[thQvk,֔=\ MPu֧ xXIo5o}7_- lQ'ԟ'Ӻ֯HW2fP OTSƄw.9huO%U?>śf;*[շiU0WL9w^JB*on\(u^z/c03q9Yir2**ѽ\ΝN+aGg~ZYo;S\c%zIK97 bP!qguP-E:nM|MY,PgRa89_:ؗ$e?{9cdC3قi,Fyac)3]f( jvТhC_2Y(;|>/Pwn:1o(*D83zpNbI!9[LAvqa;Ta;軙R`N{xe [XE,&s=ڵt.QxR#a7-/8J^8HZK|GZTtlIWq7Tc*!9gORfH;lG(0$ѡrh7d?/b㭚 <=\ATF%Jך@tʹxFq/Va3ʐO/[i,ik4:dOm;2絽$V] R%Y m '{ykL1NXx_( KqZC6P$ $dXU^I[ä6JPάyҘ\ 2;< @h]b":4#:8r$@d^uMx͋[|`Ϣ/8jԤ=Mj]ڎ9|;.א*DF('Tbyb$T~(;;ơ Km6{?bf6 O|}·4)^ P2nVUQUm UDZ8Ympp/KE2m=* ' ّM  @=ČuZ8᳠ը|y=} UvC#y>PC×U9[˥ QO`;bk\dR|ݛħ[p\4jA SBu*\pfwaqE=kw/Pgkݵ, .hhHo#`%p9jNJO-G.I8r&S朩0 hؚL?i {d>!#Gޗ2r>nCۀLYT*(}zDMݾ}{bO=܅+?Hhai,Kҁ GVgQ4\)%>X5٥w{!uaOѓ ]\]E7Oú~7~=2 mny֫ye܉@Q2 @RL0}gsSr>^ YU:'Pr\D o7ߪ6^ g%8:B-ʁc#_ 𣍮(ōI]}|#NNe[Wٔ$nιneb't5W§LD)/#֗Թl*.We޴m4Ό{6ӛ(a&Ҿ23u%l5A‹]'hNhD\q^zʂWAR%i18\SKa#XZ}^£ ͺ q7e0gEn[TZy!Ϥ :ޣ|VWXbc }{šq9{j粗ZAMʮ]PwDD;'KpvGW)dC6į )ψ(~i?uƏF{zGKmξj2_^9P1b&D1ObX| m90*څ A#MZMEAOkl6r3TI)FT!kv, /v, +0OWsEɊ}<{ j$bs^kTHC2.>:bQ\ArA_:63Sי׭þY]nB@L}ƹR ;_Y}!@sj*vаivCBetj(%LGbѺ9Ahj+@cD/<,1=dWp2#d7h !BÌ+kpUέUc7EiMq Dជ"|㷓됯P 5^|[=@/l͖ S)QEe-?vnv6}B3rˑ".3V`f@AK{3d^Mj|{iփ N%ɄLYL)o Gi.m[t0q:"qT685 j )6 pr:+ g]nLS}U#wy:w!P.1b/c< M{bETDjʼn8 ad0s5HԳúgkPWIS2xp6D΃W (*a3J͎†+ˈZoeSD>ֈoJD=Qh6߼W5eY ٍJGY[B.%rYp>sbI"̢P^7e?zNW6m 9lMǡhHN[M;>mߏv[O$vv# È)Eeڇ/ ݣ ރ1WqKH~ׄ&-5EG :IQz隷&^C=b/T#ךh2%w/׫z饬!hQ8 NBGw[)H/9My53]R,޶}-q==Liܯu,|jE0*/%|KJzq%C-x}O{m8g Jedf_ ohS_Р(IL<Νϊ#ukq# gd9QqAzO#pЩ-l~œ.SxkBxew-K!Pn]È vW^^t@+O,啯)pP І(S( o2Vo %ړjbl 3`)]JV|O i V;+g阿~nqR@z( F OPFs.{ ;|h Geнк`D#L8|ط6*駜t ӵ$xs]eK[!00x\.}hPyy6oO I fV5Dya\/5:TdD@\v v9@PgtfQp:#PEe&B?l*H~<6GP=ELqO)߇i.* =i*48\TUkh@W;p z?oJA$Hx/A]7YV 0L굉D;~E>ڊY J!vi T;Y ) if<{Z71YYل-Q9t+@j¼bo;oux=(b*lY˺Qju2zHyt(fр*ucY";ö$N\ȓRu!xjX=d&Ƀ7V:\jW hGbdw1_)j{'0o%jEWCxBvҶGQb+iUԴWp;䙆#CF]uK[uw"6o:omB5%m,뵄8Xtj3S2*ɀN`RlQU" Z cziYW ff0\wuaD%y76о{_`J]πO ?iI8c DbB'K<2Ċ#Z+TЏs'>~q:@!%Y!\wM#ZTtw1?fs`Hg<}:U>#AT&Elwv1'rYݒ%L5@9H4~[ KOp{wb<buyEx@[pkzv;,"=|;OG ިzlZR/J.Fsş[p,}ba ]ófaGT<{JZLOMW]f P!AOv_)K] yj}AW6'@- B޿:y\^{t!HB\ #3h1QfvdD6~i@C([d=tIdPBv#b^s;py>ّaBa›8`p[ z؝CS[5*G;( fpl<*sJIbC 1[ pSb i&偟sdfI!wi* Z5b@%t !Kux+45YǍJ=ToJoK{_!"rEcVk7H Wj̚6M @͍g-@a7ߝ-M+М=ƢYvi9 4Jv9$ue\EoſwmFhYEr<{Gabt>h,[\:#&^?Ȗs<$bl"^Y=O&Z6sjtH3n/~Y; 4Ë"=1s_7%ØI(d4c]Q"/w-f3|h˟M6Fé u2"E{ؤPrPK >@CDа6T+q &LXNX!UӂLuBx$Ń|MHNhd_(?#6[2nrn-og#RX&faGfg,J[QxNYjH$NeN=F!.ҁ6pVFa"N$}xuw%O4p`"xFgH8$vs~QEWVA_Aԃ" Ťӫй?M\eLNԢk`Yu8p|Fq'Bi0Gvy7:Be8Ъ.,D6yQ\;mv/2T8a15UwR[H=Β{Z>k-}M) pyG09RQlnɼlJ&߂-Q{U)Vma6]JANQ~Sa*ؗi~t܀uX0,V|DɈEl|؆cE|Mϗ$ҹyqf[hCO':j<ݑRtbȲ`u^RaX'-ۢ iC17܀#;e/7Rw+"c]}#΂@9w6 j/{ 3jFW堈]st{6"3]ؔ xwpTEȨ^jWn]"x MKL7)V[)M*?=<5Sɦ @+.TG>6 endstream endobj 122 0 obj << /Length1 1608 /Length2 8564 /Length3 0 /Length 9384 /Filter /FlateDecode >> stream xڭwePі-ABpi4'A AkpHܩUߖ{sRCU (rq@Vnږ`V)'V\2P@hZiWo `gdffO ?#/'@v`ˇ@j=` r5  jy th[9* k ua]6?`I,n@k15O 8^ 7 }[;!uK{pqYC@PKU [Bv./6.Z{yB-A`7S :Yz~spwɀYBlnn/0/>{KWW'￧]f dˆRRFe(`['?6B0q;ylj.Зl> [_5ozZIe^^7 Z:M|$E 68Anr /jmtz_.q/Z#_b: kG 6E %T$5:Tb_ ))/+'?7qpyz8iZB! /K[?-[m%e'l(%֨.R}#2]}!߫ur\-CjƄg\:'٤~Ԍ9Xtf1R|NUV8G4ƚ!(794׮>㵼=8ۻm?C"aVؒ?2m~d-J @b+AAؖ$ ?1M^[%W#4uũ:R34Ԗ"*/bo Lt%EqX} A}CÕMFNנL$I58+L%ū֪&*򹠫efd,ZO6ZãR@'?-Ĕ<`*Ӛ\~%6u٬v|.|mw:Pt!} 18q˜ay9.|;5STIT3"\s..8sK' BGyư|<^-K D.f(WS8?,Fuq&xdӸ?6l0x}AzcIOc`H1 y-5J[RC'Y*tWgc,T8&S-ҩ %ÝoUԾats,Tԛ|_ ͻ ;l,S1p{pYqح`B[ecKR~O.h] !:(1Rc4d4IV;F"xX<5 !Ns^֗OxT_{9\]k]gn7&B>#9[4 M.׉ lChnSd/ :`% J z/ 𬙠4Q癘5l-'x>Ѩmv:7vS䕆=^CmcJXTɅ]SObJOWSZ΋a= IIޏ"ʞ*-!}\sr;$`wH4Yˆ5h? NDwQ0!'x=XTh3oFiY\neB(g9alzw8'ԨYr#R^<٪Z[,^Ё^B"❅I wPK S8P`ԜVmNh~onj&L3o[⯍Zչ')wgwda2o hg pflasf*Hc߼ɴ<+VC,ZHMz(t|sCQ j X(Τn2*Ocjpհsvw]y-?jzJc2N⤮&F[,!/qSN ?|hɲHT &uR`Vs1FQCx 2k9#ck3Yl 7隇s@O~-RsB+Dx AY['L(+!7^ߚU ZTJ#h,]Xj~>o4U} BɜC,aUa?eQԆ-TץI18`H2rGd1ٕEqdJVq5~'Q?+31QW^{#~!%OP X/rf61jv(mt@x#Z!D0ꊓMo8ȊzR|:e` ~loV'EtXD~O1&sܵ]i"`;o?^hIcYvB)FGmELpH80΋^BxVmlDр[MdGԃ KYBWHϙJ29 Nv] ?& ᶡDqQ+'7ग़I'2 Uݗ欸$ av-!`|"]0&oۘϪMd|}1Xxƀ^T07CXJђ=ZmMlw1o*|R~A`ZIn} )Pf| z cyץ׏j^|i=٪,\g;#֯ਉ⩨z%_ϟXVw0ݾZa^Ȑ/Q)אЬ2J.7ěc\  Xb E_#:BVm8"RfkmDn&DnLЁ)W,p4f}[oaZUN %oˉ1\eϨ#.?Ϫ>$Ok }XQS3c`q >b,I W!!5?OJ9Q^w%ή'Z.ud}mOd`A"7礑_ha| ZI5v;UV籭~:fu,Ig~mZ[!Iyn*eNVXX8|Ӵ , ]SJD[Q^ c$t $Ћ퇊|'cpuL Fĭ(&UaOAgLv`D]leȖ<q]kKugWc4Qᡃ2}`Q NsԤ%”-TKC؊ :`/9Kej.IWo 4@3893XT+. ae/7 +ˁ7mKQ$0N ۤMrFg [ˣ>sGϷMu^*OnkA}B"w$䬆ܟ/ &J8{脄%Mwb ԓ7[F|&~WBpA-6(,!,$`EʣzjfA!.^0~siC}ˠI ?>%ؓL}_2H~:zٹHJ6X`VwB_^"'Q271 ߽Pm;ԁg-:vV z게{TRl*L#2#NWR.E\WI%̎m9tzj69ؒ[%x,j{Ұ feǝ1՝_Og) WM:x誓8B[JU6,x-*Hy)`jsɯ3D,Z`n;]+_5ͅ@h:1 JSCKy-;$ :VM0Lٱp%4 fLe؈a@}EG]! ͨ-K +~p֭vIYX8QҴjʺ%ӑTT`ͼ1>eG2PL5ކ.9 }l.fR.mz"!7#1r#V/#6-1o='{:3Fn_Ts匪8@@mLM/F;; Pg'L7}WAi%(*J&{uλ7>;ᗌWC|'#TnR=+1mO &y*ߢziF5_sP5.r8|u*6nbH$m.GvX;Jr߱^Hj.tueN2OVz&/ݶc#ñ>21elge|2M?4ooup0&/ӀP l{*~/7-Jd6|xv<͟nX*KKp*'IJ;3 H~Ҳz־ t:pM OtLA759!Ɠ/qvl=8)bs4/s ş5EAr/8Ơ6r?on+6" *_pָt0t^=N 7]9+m{`΄!' QCSuʎkBzOp;.edüOFӱXtEo#ʪE++LѷP'45XL|$t,DnI/xj c@h3qxڐώ?jߵYʄM!h$|oI SDI12'b^GMU} 6Pkؙm]>8/R٦hMl*Ľ:"!<;q·s@mq  LUTim֦hs!,f5nΌ*Pio(694 R T5G<[JRZIY_Ќ 4ȽCy%SS>A $Bʢ=#J( į0-mEwb̀_S]߈?dL۽S'NW=fA,Y&͂AR%` y,O eGW1yFzt|>큇p/(XR.7.sKh|$4A*;xeH-omJo$n_D< Il_:~ ?)_%jS ɧ|3d-|p_o R݌ϞiIHW& eڷ3oV}d.>8 0)bQljcYͯR!#v,XyE-onӂv`r{<6=. cz޶p"yET:aE,->([ &P q径QmUTd=-!cf("o> "xd9+60CjzbW5?u)\j.0U$O]#(n0io:!>Y{#F~pϊpL%8ݟRJhզb0֚T -UQ[e Z0S mvSvFrɴ>!C 2Mc[G=dC)lHꇲRmWXE)Pi\"1O&%NVnoG8=X<ycsx*bDJByUXvs.d"!Q/@c{%ctA2)YaM!!<"@"I_tfrvFZ63~8ʞ W}i߳VH Yl=sq֢lbT獓 fNIQ .s^&kMԹ}ݏW3}y2,ޢ w _eX##Xڶ=ȥ /rU9Sm^a%b(<eoAZd8(!/<w4ٲM8ۇf<2%9y]~wkqZ6sլn8ܫv O&JjO%j~]=y!Q1\qm4 vTn-+\#nl/k*~x 7ņג]G#V9y:=K/ιhqL~˳}w>u%Id'uwUkY;>HbdUqo I$t;aq7cOܮ29 9t뾹:%尊)N7Ά?Cwy?"1rbƯÅ2?P'dKDA؅w/P+o]#~ n,r =MYdȑ䟏 Q@KljnH^)na +I^ pS-`DMjCPe$Y$@\UFD!]>s:εmkVO#,y3QoCے8#DԬ%hFM#皃Š;-m=a [Ne|Fi}0+dqx 7|]t"\A@} }kSeIa ^Ky߭sk JG4_-mDM/Mk-U)gG=>ڞu;l}*=+ o8nYQG=3z&\񺡽c񞛲d9x2 la'MUv+>6֩Xc$e7k,3j'-!r+x72J4I_'no &"ct>=J4$Do Ր`E3+y}Ѕ7k/3lIr(ct en/)~6n# 9jgpi7s)+¶ ܝӿ\) endstream endobj 124 0 obj << /Length1 1144 /Length2 5695 /Length3 0 /Length 6455 /Filter /FlateDecode >> stream xuSu\ۺAJ fR)`pfI)ADB@:[.AZBw}>?]Y\l`D eP7 -hq@q{r..# {@p5{+бGDP(%#ZE Dd(`PpĸA$ hA*ϬUuv >15 p_-ڻA:zF_Q**+IA@PDJ)WTԷoE߇;!~5W.aX>+"<&qW_-ylp9 ;nP9@Sȟ>t{àpgؿEk@!`}˟7xq}ApF.Pp}?(pG wz\vĠPWギw^xCg&aUa^kâ]GbaB^JRpQ($!gV.XZE&ӛZQL߄te(xG^0Rg+92RPid=t#aS$4iȞ#V5kHD*Ńu~іܴ<٭B%8IQul^$):&rP] ?:g r߽ J Ԍ#n3ds[x(v;^ыE9mR啹Aig똰^ I[ 랪UZ{(O Gm7x.(*'_cG l-J ͺ1boshM,_r7ŴzV*!k^}}9 y mWOa00/RR5z9n/§/qaVtǝm[NF"xn!`0oh1/"sRt[|-m5Uxdip>MvEuh!1A45/W.pe+a"#A?@=zP1W,T2NTF*-:QW:cM;e\ݐ4yXO|t3k5\/wǖO 55IU)d֧r*!n\qK=dKޮ,}`mEUtp{eBJ ]$X\ZEu7]ȺAwܳ;ə UtO 6!9MtJE<%g=DoXe}66b2挰f1JK3ֿ%U1E6>_[*ܯ5A"txY }SQS#'!@Xaw<ӊ,@~j.i~O>Hc lbWOQdžs>vx Rߔy_RBsݩM L$岖z!{-xst!904䭠oo4ҋFsybŒu5U>Vl\b.{)䘐KVsnjTPCD~Z<3J*\IR-98pk×뭙Bs2x-vzG7a@Ay `/g"4Q!#*1&+%}E@4ˢߑk{}Vo_SI6l"kEu>[px}OֺolI}Z,򅱁.ǖM;3D^O>q+H~"/dʪ x?0NGG*Sn!>;h fB)'0 ㄕ,cLM&@ Tµf1)Tq4ƫR̉E9KPV/k]Fr7lt.WsXlj3~=MDl{`:wu4d=RsJT0ET?< k% 8q,M6 8!iT^іx&L@BS ߐ}^Q;X5,KO?-'U{+\5CYr}cx|fy?ciMtDFČ3LƾSvQ4KtaIN~=! %`ۣcE0wf52 sۓ2lvG:ì`!4Q*oUo9aҸܩXdًHQK2,ֆ|F=)x.v:En!mlbj$Q%tJ=!lRz*V_awa 2%b!lݒ;GHkNWld1Mf{~|!Pwg eɗ/z}$OOщ(x~IS)2–"cHO~ɴ5yA¹YS><`&_C oZNhա.sxd&}Aw?iD[qԴBvdɔh\ܽO 4ާoƒ}vw.T '߳Vl/-x[פkj YitҭMo"!cgvTpm$R/Vc9 .ȓ‹Zsy5rn ^/JP*r4-;{2 t46l@W]xiu!AѾ {׫PݶL޼$.֙|SCѵ2}ʰ)u$i/|<>i4e]HrVzdCnayffAI%mR0-d^c *;{]}SɨsP Bg=?4:y=@< :k:('D-Yj10D<&pHP%C'>*XD)FҢJ9 !'鸔%Ѻbm6OӦ{9 q0Dtc /N =ou#–d?>!b[b26Ǩv=Y=zpJ1BIɪd4J ]`ق "?-c粦0{V^Ֆf&$mKYO}Xێ:nbk=Ԇ~ӓ'ƱRnDyXzQK ~7FŽ'@|rwp-dKtra& LaTjBD?G%MRؤX)Ck9 ئ% $7/BW?ajy<쵅);O'mAN+V8?"ya:si pm2in%e~6z`i鯹|qdbV'M7Dt۶O֥j#UgiHUYlGf[a*"uL blF\0ź-E[?Q;+tMͦhZgNfga, {S[lYfkLRKփ_hf_z*JN QǜVQ=Z[VkNZG<>O揶r\|?:|٧o9ͮkq |N^QGb֏6:w6Q0i"S11Rw: ;M^YթO[6?*̡ou"zIqqCrޚFoYuZeL2nd Z4SBcMs~a/aN c*,'lc` @;LJYpp=ahv5 zʍw5 NF(vںHr"S^* Ӝ5+D*=_On8<Y%gO<C|yRQĜyZ!]LS0{CfΑZboEMg_ ?%=H1 pVhv׿~J/ғI}2=gq5+`h +\IBM  pQaJȣ,D 5ŭMP`r|IevCev\c߫Gs<ױM^RJO>lv㇞VwxkO{K(S5Ak̞MWTNƍ1ėu|} t :Ԝ5!‰-̌zRYL2.p[k8 vv6g{0N6kg 噂h}ynQNᘓ]g3ym/]-ASVUp@iC wx,ۦgjAO،t@cXOj@6J-n/%Vj.CG~xwB~el֮HK$3{*ț4QbdV$hD0&ԍjVKF #l7SKnWѻ_ ŀD s뇏 tLhii@zIy HQ@vyq˕{7N6^: ;>7~t# |;NCU~@+1Wp@Ŋq<DN rҔfG"1ZUvN*sٍ2 ̅GJz見XNdvb!Cŭ7%_O>B}ulr}(PM=YjXP3_A:Vrh@7.s~,jE*%dMqpA$]pmk|7qHg}&YU endstream endobj 2 0 obj << /Type /ObjStm /N 100 /First 817 /Length 4159 /Filter /FlateDecode >> stream x[s6_f:&;0۩[7viL;ʒKݿ~ %XN>|M@`93L2X`1PLH\40ngRLjۓIgx)uf|aR<7,L% ™1 0ZƜsZrǴՀP\C-50)Aʄѧs,@eA9Pk=ރWAd+LpRj3zU=BdnS*D )c%'s:0qL7t~+0yOWBδ 50 b>_1e7{nSbV(wu fԿȔNy4Me X/L^wRV^-ʗ|$J o%URյQ_uNxK٠e>ӭEy~jl *x@`1cB%B8ƔeIACIo!V [dQ*fb˘!"'V4XV[IIŎ^LT^+ 鬰"B#CQd u˷]%ilt>:{qu69^cMMqV7rV1" "⮟EԦgí[k՚gE48=#3K4r*Ҡ% BzTue6 (So*zCGj_n+xh TTqgk _jt4L[Z˹jg]窱B/i2x'iSuq'秧?{`XMNqeOI'݋\{5 J?,~.wgT8MC=<At7,уYy;QZ XLh;~??},gŋDHD.[6_~H 쉚=i=k6fF?/ytf/6Jl|],g_ƌ72s]Lا|Iq^x`k3~6/F97wŸ Q|G~['o[89\7;b I~ϯQΆnOh&H?G8ߌb1GBxi^ !gH~<;c9z)BFQGk0#o; dBYys=N|Z~ |:,c̙%{-?_?dRȟ~?}{)^{gXz-sG;G[/Uoл ?z_5k{ߢpXz1Lޮ녚m[I0.5WBk_^UzY[9:+򎚻In7텶ۨߒ(ʑ8WI46OUOO.fNpi^nApZ`2}M1 &MݏFŤ᯿]oqĸ_BBٍl&Ϭka]`쟔^xjvEx쾡s6Z~IQ.R>)_)8=V8EL#)I73lfpt򣘷_#tW kom[ !1'ӳ7Λ2IwszިLE[-S)^6Jv#U[IgQ+-SWJ\ 1nX|kB돣f0ے~.RbZiTAUIU; %Z=*My h61}D2{P:-VtX Vey\p^~hV,v,8kB"_$saLʪB=6Lf7~ͺjy GEbQV%jh?CyŴSZJ%1r4Lg(*zo㔾YTnVf'r1O НޭLy{7/`:U-K1$wAO&lcݥkE?EZ=^ w[ўDgnC%+Lo Tm.#;I%LntuܼiӢ/)[Qdx:ev\jiS%iHX.w1ůkc٥lI d}MUh֯;J91k?XtAH|qViz gCT%ӊ2VMMtj]a(?X-}V5Qo'gYYW#_{B;#>v8#esj"!TaXj>߂74D4b M$rBb=8ܧ,໗^֤j2m5xO :>y%V{<`! {Mo}=vOD6"Q3 endstream endobj 134 0 obj << /Producer (pdfTeX-1.40.20) /Author()/Title(2)/Subject()/Creator(LaTeX with hyperref)/Keywords() /CreationDate (D:20211026172933-04'00') /ModDate (D:20211026172933-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1) >> endobj 130 0 obj << /Type /ObjStm /N 4 /First 30 /Length 203 /Filter /FlateDecode >> stream x}I 0sԃƙ I <4FBABC60894C131754B96BE2BFDA2B9C>] /Length 362 /Filter /FlateDecode >> stream xNSQ}N/Պ,zEжTW{U-^چq_@cp0a4Nk;;$KDFED"P7yx PW8$a H޾e(U*ѰJVVS* hCx.< tBT]{o S4܇1xMήhˮm6,\Kp^] Anova cov numeric main TypeIn TRUE p 0.05 numeric main TypeIn FALSE na.rm TRUE logical main Radio FALSE genefilter/inst/wFun/coxfilter.xml0000644000175200017520000000144014136046744020345 0ustar00biocbuildbiocbuild coxfilter surt numeric main TypeIn TRUE cens numeric main TypeIn TRUE p numeric main TypeIn TRUE genefilter/inst/wFun/cv.xml0000644000175200017520000000144114136046744016757 0ustar00biocbuildbiocbuild cv a 1 numeric main TypeIn FALSE b Inf numeric main TypeIn FALSE na.rm TRUE logical main Radio FALSE genefilter/inst/wFun/gapFilter.xml0000644000175200017520000000234414136046744020267 0ustar00biocbuildbiocbuild gapFilter Gap numeric main TypeIn TRUE IQR numeric main TypeIn TRUE Prop nemeric main TypeIn TRUE na.rm TRUE logical main Radio FALSE neg.rm TRUE logical main Radio FALSE genefilter/inst/wFun/kOverA.xml0000644000175200017520000000144314136046744017540 0ustar00biocbuildbiocbuild kOverA k numeric main TypeIn TRUE A 100 numeric main TypeIn FALSE na.rm TRUE logical main Radio FALSE genefilter/inst/wFun/maxA.xml0000644000175200017520000000110714136046744017234 0ustar00biocbuildbiocbuild maxA A 75 numeric main TypeIn FALSE na.rm TRUE logical main Radio FALSE genefilter/inst/wFun/pOverA.xml0000644000175200017520000000145014136046744017543 0ustar00biocbuildbiocbuild pOverA p 0.05 numeric main TypeIn FALSE A 100 numeric main TypeIn FALSE na.rm TRUE logical main Radio FALSE genefilter/inst/wFun/ttest.xml0000644000175200017520000000144314136046744017514 0ustar00biocbuildbiocbuild ttest m numeric main TypeIn TRUE p 0.05 numeric main TypeIn FALSE na.rm TRUE logical main Radio FALSE genefilter/man/0000755000175200017520000000000014136046744014504 5ustar00biocbuildbiocbuildgenefilter/man/Anova.Rd0000644000175200017520000000263314136046744016043 0ustar00biocbuildbiocbuild\name{Anova} \alias{Anova} \title{A filter function for Analysis of Variance } \description{ \code{Anova} returns a function of one argument with bindings for \code{cov} and \code{p}. The function, when evaluated, performs an ANOVA using \code{cov} as the covariate. It returns \code{TRUE} if the p value for a difference in means is less than \code{p}. } \usage{ Anova(cov, p=0.05, na.rm=TRUE) } \arguments{ \item{cov}{The covariate. It must have length equal to the number of columns of the array that \code{Anova} will be applied to. } \item{p}{ The p-value for the test. } \item{na.rm}{If set to \code{TRUE} any \code{NA}'s will be removed. } } \details{ The function returned by \code{Anova} uses \code{lm} to fit a linear model of the form \code{lm(x ~ cov)}, where \code{x} is the set of gene expressions. The F statistic for an overall effect is computed and if it has a \emph{p}-value less than \code{p} the function returns \code{TRUE}, otherwise it returns \code{FALSE} for that gene. } \value{ \code{Anova} returns a function with bindings for \code{cov} and \code{p} that will perform a one-way ANOVA. The covariate can be continuous, in which case the test is for a linear effect for the covariate. } \author{R. Gentleman } \seealso{\code{\link{kOverA}}, \code{\link{lm}} } \examples{ set.seed(123) af <- Anova(c(rep(1,5),rep(2,5)), .01) af(rnorm(10)) } \keyword{manip} genefilter/man/coxfilter.Rd0000644000175200017520000000206614136046744016776 0ustar00biocbuildbiocbuild\name{coxfilter} \alias{coxfilter} \title{A filter function for univariate Cox regression. } \description{ A function that performs Cox regression with bindings for \code{surt}, \code{cens}, and \code{p} is returned. This function filters genes according to the attained p-value from a Cox regression using \code{surt} as the survival times, and \code{cens} as the censoring indicator. It requires \code{survival}. } \usage{ coxfilter(surt, cens, p) } \arguments{ \item{surt}{Survival times.} \item{cens}{Censoring indicator. } \item{p}{The p-value to use in filtering. } } \value{ Calls to the \code{\link[survival]{coxph}} function in the \code{survival} library are used to fit a Cox model. The filter function returns \code{TRUE} if the p-value in the fit is less than \code{p}. } \author{R. Gentleman } \seealso{\code{\link{Anova}}} \examples{ set.seed(-5) sfun <- coxfilter(rexp(10), ifelse(runif(10) < .7, 1, 0), .05) ffun <- filterfun(sfun) dat <- matrix(rnorm(1000), ncol=10) out <- genefilter(dat, ffun) } \keyword{manip} genefilter/man/cv.Rd0000644000175200017520000000201214136046744015376 0ustar00biocbuildbiocbuild\name{cv} \alias{cv} \title{A filter function for the coefficient of variation.} \description{ \code{cv} returns a function with values for \code{a} and \code{b} bound. This function takes a single argument. It computes the coefficient of variation for the input vector and returns \code{TRUE} if the coefficient of variation is between \code{a} and \code{b}. Otherwise it returns \code{FALSE} } \usage{ cv(a=1, b=Inf, na.rm=TRUE) } \arguments{ \item{a}{The lower bound for the cv. } \item{b}{The upper bound for the cv. } \item{na.rm}{If set to \code{TRUE} any \code{NA}'s will be removed. } } \details{ The coefficient of variation is the standard deviation divided by the absolute value of the mean. } \value{ It returns a function of one argument. The function has an environment with bindings for \code{a} and \code{b}. } \author{R. Gentleman } \seealso{\code{\link{pOverA}}, \code{\link{kOverA}} } \examples{ set.seed(-3) cvfun <- cv(1,10) cvfun(rnorm(10,10)) cvfun(rnorm(10)) } \keyword{manip} genefilter/man/deprecated.Rd0000644000175200017520000000114114136046744017070 0ustar00biocbuildbiocbuild\name{genefilter-deprecated} \alias{genefilter-deprecated} \title{Deprecated functions in package \sQuote{genefilter}} \description{ These functions are provided for compatibility with older versions of \sQuote{genefilter} only, and will be defunct at the next release. } \details{ The following functions are deprecated and will be made defunct; use the replacement indicated below: \itemize{ \item{eSetFilter} \item{getFilterNames} \item{getFuncDesc} \item{getRdAsText} \item{parseDesc} \item{parseArgs} \item{showESet} \item{setESetArgs} \item{isESet} } } genefilter/man/dist2.Rd0000644000175200017520000000321214136046744016016 0ustar00biocbuildbiocbuild\name{dist2} \alias{dist2} \title{ Calculate an n-by-n matrix by applying a function to all pairs of columns of an m-by-n matrix. } \description{ Calculate an n-by-n matrix by applying a function to all pairs of columns of an m-by-n matrix. } \usage{ dist2(x, fun, diagonal=0) } \arguments{ \item{x}{A matrix.} \item{fun}{A symmetric function of two arguments that may be columns of \code{x}.} \item{diagonal}{The value to be used for the diagonal elements of the resulting matrix.} } \details{ With the default value of \code{fun}, this function calculates for each pair of columns of \code{x} the mean of the absolute values of their differences (which is proportional to the L1-norm of their difference). This is a distance metric. The implementation assumes that \code{fun(x[,i], x[,j])} can be evaluated for all pairs of \code{i} and \code{j} (see examples), and that \code{fun} is symmetric, i.e. \code{fun(a, b) = fun(b, a)}. \code{fun(a, a)} is not actually evaluated, instead the value of \code{diagonal} is used to fill the diagonal elements of the returned matrix. Note that \code{\link[stats:dist]{dist}} computes distances between rows of \code{x}, while this function computes relations between columns of \code{x} (see examples). } \value{ A symmetric matrix of size \code{n x n}. } \author{ Wolfgang Huber, James Reid } \examples{ # example matrix z = matrix(1:15693, ncol=3) matL1 = dist2(z) matL2 = dist2(z, fun=function(a,b) sqrt(sum((a-b)^2, na.rm=TRUE))) euc = as.matrix(dist(t(z))) stopifnot(identical(dim(matL2), dim(euc)), all(euc==matL2)) } \keyword{manip} genefilter/man/eSetFilter.Rd0000644000175200017520000000320514136046744017041 0ustar00biocbuildbiocbuild\name{eSetFilter} \alias{eSetFilter} \alias{getFilterNames} \alias{getFuncDesc} \alias{getRdAsText} \alias{parseDesc} \alias{parseArgs} \alias{setESetArgs} \alias{isESet} \alias{showESet} \title{A function to filter an eSet object} \description{ Given a Bioconductor's ExpressionSet object, this function filters genes using a set of selected filters. } \usage{ eSetFilter(eSet) getFilterNames() getFuncDesc(lib = "genefilter", funcs = getFilterNames()) getRdAsText(lib) parseDesc(text) parseArgs(text) showESet(eSet) setESetArgs(filter) isESet(eSet) } \arguments{ \item{eSet}{\code{eSet} an ExpressionSet object} \item{lib}{\code{lib} a character string for the name of an R library where functions of interests reside} \item{funcs}{\code{funcs} a vector of character strings for names of functions of interest} \item{text}{\code{text} a character of string from a filed (e. g. description, argument, ..) filed of an Rd file for a fucntion} \item{filter}{\code{filter} a character string for the name of a filter function} } \details{ These functions are deprecated. Please use the \sQuote{iSee} package instead. A set of filters may be selected to filter genes in through each of the filters in the order the filters have been selected } \value{ A logical vector of length equal to the number of rows of 'expr'. The values in that vector indicate whether the corresponding row of 'expr' passed the set of filter functions. } \author{Jianhua Zhang} \seealso{\code{\link{genefilter}}} \examples{ if( interactive() ) { data(sample.ExpressionSet) res <- eSetFilter(sample.ExpressionSet) } } \keyword{manip} genefilter/man/filter_volcano.Rd0000644000175200017520000000407314136046744020005 0ustar00biocbuildbiocbuild\name{filter_volcano} \Rdversion{1.1} \alias{filter_volcano} \title{Volcano plot for overall variance filtering} \description{ Generate a volcano plot contrasting p-value with fold change (on the log scale), in order to visualize the effect of filtering on overall variance and also assign significance via p-value. } \usage{ filter_volcano( d, p, S, n1, n2, alpha, S_cutoff, cex = 0.5, pch = 19, xlab = expression(paste(log[2], " fold change")), ylab = expression(paste("-", log[10], " p")), cols = c("grey80", "grey50", "black"), ltys = c(1, 3), use_legend = TRUE, ... ) } \arguments{ \item{d}{Fold changes, typically on the log scale, base 2.} \item{p}{The p-values} \item{S}{ The overall standard deviation filter statistics, i.e., the square roots of the overall variance filter statistics. } \item{n1}{Sample size for group 1.} \item{n2}{Sample size for group 2.} \item{alpha}{Significance cutoff used for p-values.} \item{S_cutoff}{ Filter cutoff used for the overall standard deviation in \code{S}. } \item{cex}{Point size for plotting.} \item{pch}{Point character for plotting.} \item{xlab}{Label for x-axis.} \item{ylab}{Label for y-axis.} \item{cols}{ A vector of three colors used for plotting. These correspond to filtered data, data which pass the filter but are insignificant, and data pass the filter and are also statistically significant. } \item{ltys}{ The induced bound on log-scale fold change is plotted, as is the significance cutoff for data passing the filter. The \code{ltys} argument gives line styles for these drawing these two thresholds on the plot. } \item{use_legend}{Should a legend for point color be produced?} \item{\dots}{Other arguments for \code{plot}.} } \author{Richard Bourgon } \examples{ # See the vignette: Diagnostic plots for independent filtering } genefilter/man/filtered_p.Rd0000644000175200017520000000505714136046744017117 0ustar00biocbuildbiocbuild\name{filtered_p} \Rdversion{1.1} \alias{filtered_p} \alias{filtered_R} \title{ Compute and adjust p-values, with filtering } \description{ Given filter and test statistics in the form of unadjusted p-values, or functions able to compute these statistics from the data, filter and then correct the p-values across a range of filtering stringencies. } \usage{ filtered_p(filter, test, theta, data, method = "none") filtered_R(alpha, filter, test, theta, data, method = "none") } \arguments{ \item{alpha}{ A cutoff to which p-values, possibly adjusted for multiple testing, will be compared. } \item{filter}{ A vector of stage-one filter statistics, or a function which is able to compute this vector from \code{data}, if \code{data} is supplied. } \item{test}{ A vector of unadjusted p-values, or a function which is able to compute this vector from the filtered portion of \code{data}, if \code{data} is supplied. The option to supply a function is useful when the value of the test statistic depends on which hypotheses are filtered out at stage one. (The \pkg{limma} t-statistic is an example.) } \item{theta}{ A vector with one or more filtering fractions to consider. Actual cutoffs are then computed internally by applying \code{\link{quantile}} to the filter statistics contained in (or produced by) the \code{filter} argument. } \item{data}{ If \code{filter} and/or \code{test} are functions rather than vectors of statistics, they will be applied to \code{data}. The functions will be passed the whole \code{data} object, and must work over rows, etc. themselves as appropriate. } \item{method}{ The unadjusted p-values contained in (or produced by) \code{test} will be adjusted for multiple testing after filtering, using the \code{\link{p.adjust}} function in the \pkg{stats} package. See the \code{method} argument there for options. }p } \value{ For \code{filtered_p}, a matrix of p-values, possible adjusted for multiple testing, with one row per null hypothesis and one column per filtering fraction given in \code{theta}. For a given column, entries which have been filtered out are \code{NA}. For \code{filtered_R}, a count of the entries in the \code{filtered_p} result which are less than \code{alpha}. } \author{Richard Bourgon } \examples{ # See the vignette: Diagnostic plots for independent filtering } \seealso{ See \code{\link{rejection_plot}} for visualization of \code{filtered_p} results. } genefilter/man/filterfun.Rd0000644000175200017520000000223514136046744016773 0ustar00biocbuildbiocbuild\name{filterfun} \alias{filterfun} \title{Creates a first FALSE exiting function from the list of filter functions it is given. } \description{ This function creates a function that takes a single argument. The filtering functions are bound in the environment of the returned function and are applied sequentially to the argument of the returned function. When the first filter function evaluates to \code{FALSE} the function returns \code{FALSE} otherwise it returns \code{TRUE}. } \usage{ filterfun(...) } \arguments{ \item{...}{Filtering functions. } } \value{ \code{filterfun} returns a function that takes a single argument. It binds the filter functions given to it in the environment of the returned function. These functions are applied sequentially (in the order they were given to \code{filterfun}). The function returns \code{FALSE} (and exits) when the first filter function returns \code{FALSE} otherwise it returns \code{TRUE}. } \author{R. Gentleman } \seealso{\code{\link{genefilter}} } \examples{ set.seed(333) x <- matrix(rnorm(100,2,1),nc=10) cvfun <- cv(.5,2.5) ffun <- filterfun(cvfun) which <- genefilter(x, ffun) } \keyword{manip} genefilter/man/findLargest.Rd0000644000175200017520000000261214136046744017236 0ustar00biocbuildbiocbuild\name{findLargest} \alias{findLargest} \title{Find the Entrez Gene ID corresponding to the largest statistic} \description{ Most microarrays have multiple probes per gene (Entrez). This function finds all replicates, and then selects the one with the largest value of the test statistic. } \usage{ findLargest(gN, testStat, data = "hgu133plus2") } \arguments{ \item{gN}{A vector of probe identifiers for the chip.} \item{testStat}{A vector of test statistics, of the same length as \code{gN} with the per probe test statistics.} \item{data}{The character string identifying the chip.} } \details{ All the probe identifiers, \code{gN}, are mapped to Entrez Gene IDs and the duplicates determined. For any set of probes that map to the same Gene ID, the one with the largest test statistic is found. The return vector is the named vector of selected probe identifiers. The names are the Entrez Gene IDs. This could be extended in different ways, such as allowing the user to use a different selection criterion. Also, matching on different identifiers seems like another alternative. } \value{ A named vector of probe IDs. The names are Entrez Gene IDs. } \author{R. Gentleman} \seealso{\code{\link{sapply}}} \examples{ library("hgu95av2.db") set.seed(124) gN <- sample(ls(hgu95av2ENTREZID), 200) stats <- rnorm(200) findLargest(gN, stats, "hgu95av2") } \keyword{manip} genefilter/man/gapFilter.Rd0000644000175200017520000000346714136046744016722 0ustar00biocbuildbiocbuild\name{gapFilter} \alias{gapFilter} \title{ A filter to select genes based on there being a gap. } \description{ The \code{gapFilter} looks for genes that might usefully discriminate between two groups (possibly unknown at the time of filtering). To do this we look for a gap in the ordered expression values. The gap must come in the central portion (we exclude jumps in the initial \code{Prop} values or the final \code{Prop} values). Alternatively, if the IQR for the gene is large that will also pass our test and the gene will be selected. } \usage{ gapFilter(Gap, IQR, Prop, na.rm=TRUE, neg.rm=TRUE) } \arguments{ \item{Gap}{The size of the gap required to pass the test. } \item{IQR}{The size of the IQR required to pass the test. } \item{Prop}{The proportion (or number) of samples to exclude at either end.} \item{na.rm}{If \code{TRUE} then \code{NA}'s will be removed before processing. } \item{neg.rm}{ If \code{TRUE} then negative values in \code{x} will be removed before processing.} } \details{ As stated above we are interested in } \value{ A function that returns either \code{TRUE} or \code{FALSE} depending on whether the vector supplied has a gap larger than \code{Gap} or an IQR (inter quartile range) larger than \code{IQR}. For computing the gap we want to exclude a proportion, \code{Prop} from either end of the sorted values. The reason for this requirement is that genes which differ in expression levels only for a few samples are not likely to be interesting. } \author{R. Gentleman } \seealso{\code{\link{ttest}}, \code{\link{genefilter}} } \examples{ set.seed(256) x <- c(rnorm(10,100,3), rnorm(10, 100, 10)) y <- x + c(rep(0,10), rep(100,10)) tmp <- rbind(x,y) Gfilter <- gapFilter(200, 100, 5) ffun <- filterfun(Gfilter) genefilter(tmp, ffun) } \keyword{manip} genefilter/man/genefilter.Rd0000644000175200017520000000427514136046744017127 0ustar00biocbuildbiocbuild\name{genefilter} \alias{genefilter} \title{A function to filter genes.} \description{ \code{genefilter} filters genes in the array \code{expr} using the filter functions in \code{flist}. It returns an array of logical values (suitable for subscripting) of the same length as there are rows in \code{expr}. For each row of \code{expr} the returned value is \code{TRUE} if the row passed all the filter functions. Otherwise it is set to \code{FALSE}. } \usage{ genefilter(expr, flist) } \arguments{ \item{expr}{A \code{matrix} or \code{ExpressionSet} that the filter functions will be applied to.} \item{flist}{A \code{list} of filter functions to apply to the array.} } \details{ This package uses a very simple but powerful protocol for \emph{filtering} genes. The user simply constructs any number of tests that they want to apply. A test is simply a function (as constructed using one of the many helper functions in this package) that returns \code{TRUE} if the gene of interest passes the test (or filter) and \code{FALSE} if the gene of interest fails. The benefit of this approach is that each test is constructed individually (and can be tested individually). The tests are then applied sequentially to each gene. The function returns a logical vector indicating whether the gene passed all tests functions or failed at least one of them. Users can construct their own filters. These filters should accept a vector of values, corresponding to a row of the \code{expr} object. The user defined function should return a length 1 logical vector, with value \code{TRUE} or \code{FALSE}. User-defined functions can be combined with \code{\link{filterfun}}, just as built-in filters. } \value{ A logical \code{vector} of length equal to the number of rows of \code{expr}. The values in that \code{vector} indicate whether the corresponding row of \code{expr} passed the set of filter functions. } \author{R. Gentleman} \seealso{\code{\link{genefilter}}, \code{\link{kOverA}}} \examples{ set.seed(-1) f1 <- kOverA(5, 10) flist <- filterfun(f1) exprA <- matrix(rnorm(1000, 10), ncol = 10) ans <- genefilter(exprA, flist) } \keyword{manip} genefilter/man/genefinder.Rd0000644000175200017520000000647614136046744017116 0ustar00biocbuildbiocbuild\name{genefinder} \alias{genefinder} \alias{genefinder,ExpressionSet,vector-method} \alias{genefinder,matrix,vector-method} \title{Finds genes that have similar patterns of expression.} \description{ Given an \code{ExpressionSet} or a \code{matrix} of gene expressions, and the indices of the genes of interest, \code{genefinder} returns a \code{list} of the \code{numResults} closest genes. The user can specify one of the standard distance measures listed below. The number of values to return can be specified. The return value is a \code{list} with two components: genes (measured through the desired distance method) to the genes of interest (where X is the number of desired results returned) and their distances. } \usage{ genefinder(X, ilist, numResults=25, scale="none", weights, method="euclidean") } \arguments{ \item{X}{A numeric \code{matrix} where columns represent patients and rows represent genes.} \item{ilist}{A \code{vector} of genes of interest. Contains indices of genes in matrix X.} \item{numResults}{Number of results to display, starting from the least distance to the greatest.} \item{scale}{One of "none", "range", or "zscore". Scaling is carried out separately on each row.} \item{weights}{A vector of weights applied across the columns of \code{X}. If no weights are supplied, no weights are applied.} \item{method}{One of "euclidean", "maximum", "manhattan", "canberra", "correlation", "binary".} } \details{ If the \code{scale} option is "range", then the input matrix is scaled using \code{genescale()}. If it is "zscore", then the input matrix is scaled using the \code{scale} builtin with no arguments. The method option specifies the metric used for gene comparisons. The metric is applied, row by row, for each gene specified in \code{ilist}. The "correlation" option for the distance method will return a value equal to 1-correlation(x). See \code{\link{dist}} for a more detailed description of the distances. } \value{ The returned value is a \code{list} containing an entry for each gene specified in \code{ilist}. Each \code{list} entry contains an array of distances for that gene of interest. } \author{J. Gentry and M. Kajen} \seealso{\code{\link{genescale}}} \examples{ set.seed(12345) #create some fake expression profiles m1 <- matrix (1:12, 4, 3) v1 <- 1 nr <- 2 #find the 2 rows of m1 that are closest to row 1 genefinder (m1, v1, nr, method="euc") v2 <- c(1,3) genefinder (m1, v2, nr) genefinder (m1, v2, nr, scale="range") genefinder (m1, v2, nr, method="manhattan") m2 <- matrix (rnorm(100), 10, 10) v3 <- c(2, 5, 6, 8) nr2 <- 6 genefinder (m2, v3, nr2, scale="zscore") \testonly{ m1 <- matrix(rnorm(1000),100,10) v1 <- c(3,5,8,42) nr2 <- 35 genefinder(m1,v1,nr2,method="euclidean") genefinder(m1,v1,nr2,method="maximum") genefinder(m1,v1,nr2,method="canberra") genefinder(m1,v1,nr2,method="binary") genefinder(m1,v1,nr2,method="correlation") m2 <- matrix(rnorm(10000),1000,10) v1 <- c(1,100,563,872,921,3,52,95,235,333) nr <- 100 genefinder(m2,v1,nr2,scale="zscore",method="euclidean") genefinder(m2,v1,nr2,scale="range",method="maximum") genefinder(m2,v1,nr2,scale="zscore",method="canberra") genefinder(m2,v1,nr2,scale="range",method="binary") genefinder(m2,v1,nr2,scale="zscore",method="correlation") } } \keyword{manip} genefilter/man/genescale.Rd0000644000175200017520000000237414136046744016727 0ustar00biocbuildbiocbuild\name{genescale} \alias{genescale} \title{Scales a matrix or vector.} \description{ \code{genescale} returns a scaled version of the input matrix m by applying the following formula to each column of the matrix: \deqn{y[i] = ( x[i] - min(x) ) / ( max(x) - min(x) )} } \usage{ genescale(m, axis=2, method=c("Z", "R"), na.rm=TRUE) } \arguments{ \item{m}{Input a matrix or a vector with numeric elements. } \item{axis}{An integer indicating which axis of \code{m} to scale.} \item{method}{Either "Z" or "R", indicating whether a Z scaling or a range scaling should be performed.} \item{na.rm}{A boolean indicating whether \code{NA}'s should be removed.} } \details{ Either the rows or columns of \code{m} are scaled. This is done either by subtracting the mean and dividing by the standard deviation ("Z") or by subtracing the minimum and dividing by the range. } \value{ A scaled version of the input. If \code{m} is a \code{matrix} or a \code{dataframe} then the dimensions of the returned value agree with that of \code{m}, in both cases the returned value is a \code{matrix}. } \author{ R. Gentleman } \seealso{ \code{\link{genefinder}},\code{\link{scale}} } \examples{ m <- matrix(1:12, 4, 3) genescale(m) } \keyword{ manip } genefilter/man/half.range.mode.Rd0000755000175200017520000000636014136046744017733 0ustar00biocbuildbiocbuild\name{half.range.mode} \alias{half.range.mode} \title{Mode estimation for continuous data} \description{ For data assumed to be drawn from a unimodal, continuous distribution, the mode is estimated by the \dQuote{half-range} method. Bootstrap resampling for variance reduction may optionally be used. } \usage{ half.range.mode(data, B, B.sample, beta = 0.5, diag = FALSE) } \arguments{ \item{data}{A numeric vector of data from which to estimate the mode.} \item{B}{ Optionally, the number of bootstrap resampling rounds to use. Note that \code{B = 1} resamples 1 time, whereas omitting \code{B} uses \code{data} as is, without resampling. } \item{B.sample}{ If bootstrap resampling is requested, the size of the bootstrap samples drawn from \code{data}. Default is to use a sample which is the same size as \code{data}. For large data sets, this may be slow and unnecessary. } \item{beta}{ The fraction of the remaining range to use at each iteration. } \item{diag}{ Print extensive diagnostics. For internal testing only... best left \code{FALSE}. } } \details{ Briefly, the mode estimator is computed by iteratively identifying densest half ranges. (Other fractions of the current range can be requested by setting \code{beta} to something other than 0.5.) A densest half range is an interval whose width equals half the current range, and which contains the maximal number of observations. The subset of observations falling in the selected densest half range is then used to compute a new range, and the procedure is iterated. See the references for details. If bootstrapping is requested, \code{B} half-range mode estimates are computed for \code{B} bootstrap samples, and their average is returned as the final estimate. } \value{ The mode estimate. } \references{ \itemize{ \item DR Bickel, \dQuote{Robust estimators of the mode and skewness of continuous data.} \emph{Computational Statistics & Data Analysis} 39:153-163 (2002). \item SB Hedges and P Shah, \dQuote{Comparison of mode estimation methods and application in molecular clock analysis.} \emph{BMC Bioinformatics} 4:31-41 (2003). } } \author{Richard Bourgon } \seealso{\code{\link{shorth}}} \keyword{univar} \keyword{robust} \examples{ ## A single normal-mixture data set x <- c( rnorm(10000), rnorm(2000, mean = 3) ) M <- half.range.mode( x ) M.bs <- half.range.mode( x, B = 100 ) if(interactive()){ hist( x, breaks = 40 ) abline( v = c( M, M.bs ), col = "red", lty = 1:2 ) legend( 1.5, par("usr")[4], c( "Half-range mode", "With bootstrapping (B = 100)" ), lwd = 1, lty = 1:2, cex = .8, col = "red" ) } # Sampling distribution, with and without bootstrapping X <- rbind( matrix( rnorm(1000 * 100), ncol = 100 ), matrix( rnorm(200 * 100, mean = 3), ncol = 100 ) ) M.list <- list( Simple = apply( X, 2, half.range.mode ), BS = apply( X, 2, half.range.mode, B = 100 ) ) if(interactive()){ boxplot( M.list, main = "Effect of bootstrapping" ) abline( h = 0, col = "red" ) } } genefilter/man/kOverA.Rd0000644000175200017520000000133014136046744016157 0ustar00biocbuildbiocbuild\name{kOverA} \alias{kOverA} \title{A filter function for k elements larger than A. } \description{ \code{kOverA} returns a filter function with bindings for \code{k} and \code{A}. This function evaluates to \code{TRUE} if at least \code{k} of the arguments elements are larger than \code{A}. } \usage{ kOverA(k, A=100, na.rm=TRUE) } \arguments{ \item{A}{The value you want to exceed. } \item{k}{The number of elements that have to exceed A.} \item{na.rm}{If set to \code{TRUE} any \code{NA}'s will be removed. } } \value{ A function with bindings for \code{A} and \code{k}. } \author{R. Gentleman} \seealso{\code{\link{pOverA}}} \examples{ fg <- kOverA(5, 100) fg(90:100) fg(98:110) } \keyword{manip} genefilter/man/kappa_p.Rd0000644000175200017520000000200214136046744016400 0ustar00biocbuildbiocbuild\name{kappa_p} \Rdversion{1.1} \alias{kappa_p} \alias{kappa_t} \title{ Compute proportionality constant for fold change bound. } \description{ Filtering on overall variance induces a lower bound on fold change. This bound depends on the significance of the evidence against the null hypothesis, an is a multiple of the cutoff used for an overall variance filter. It also depends on sample size in both of the groups being compared. These functions compute the multiplier for the supplied p-values or t-statistics. } \usage{ kappa_p(p, n1, n2 = n1) kappa_t(t, n1, n2 = n1) } \arguments{ \item{p}{The p-values at which to compute the multiplier.} \item{t}{The t-statistics at which to compute the multiplier.} \item{n1}{Sample size for class 1.} \item{n2}{Sample size for class 2.} } \value{ A vector of multipliers: one per p-value or t-static in \code{p} or \code{t}. } \author{Richard Bourgon } \examples{ # See the vignette: Diagnostic plots for independent filtering } genefilter/man/maxA.Rd0000644000175200017520000000125314136046744015662 0ustar00biocbuildbiocbuild\name{maxA} \alias{maxA} \title{ A filter function to filter according to the maximum. } \description{ \code{maxA} returns a function with the parameter \code{A} bound. The returned function evaluates to \code{TRUE} if any element of its argument is larger than \code{A}. } \usage{ maxA(A=75, na.rm=TRUE) } \arguments{ \item{A}{The value that at least one element must exceed. } \item{na.rm}{If \code{TRUE} then \code{NA}'s are removed. } } \value{ \code{maxA} returns a function with an environment containing a binding for \code{A}. } \author{R. Gentleman } \seealso{\code{\link{pOverA}} } \examples{ ff <- maxA(30) ff(1:10) ff(28:31) } \keyword{manip} genefilter/man/nsFilter.Rd0000644000175200017520000002137714136046744016573 0ustar00biocbuildbiocbuild\name{nsFilter} \alias{nsFilter} \alias{varFilter} \alias{featureFilter} \alias{nsFilter,ExpressionSet-method} \title{Filtering of Features in an ExpressionSet} \description{The function \code{nsFilter} tries to provide a one-stop shop for different options of filtering (removing) features from an ExpressionSet. Filtering features exhibiting little variation, or a consistently low signal, across samples can be advantageous for the subsequent data analysis (Bourgon et al.). Furthermore, one may decide that there is little value in considering features with insufficient annotation. } \usage{ nsFilter(eset, require.entrez=TRUE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, require.CytoBand=FALSE, remove.dupEntrez=TRUE, var.func=IQR, var.cutoff=0.5, var.filter=TRUE, filterByQuantile=TRUE, feature.exclude="^AFFX", ...) varFilter(eset, var.func=IQR, var.cutoff=0.5, filterByQuantile=TRUE) featureFilter(eset, require.entrez=TRUE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, require.CytoBand=FALSE, remove.dupEntrez=TRUE, feature.exclude="^AFFX") } \arguments{ \item{eset}{an \code{ExpressionSet} object} \item{var.func}{The function used as the per-feature filtering statistic. This function should return a numeric vector of length one when given a numeric vector as input.} \item{var.filter}{A logical indicating whether to perform filtering based on \code{var.func}.} \item{filterByQuantile}{A logical indicating whether \code{var.cutoff} is to be interprested as a quantile of all \code{var.func} values (the default), or as an absolute value.} \item{var.cutoff}{A numeric value. If \code{var.filter} is TRUE, features whose value of \code{var.func} is less than either: the \code{var.cutoff}-quantile of all \code{var.func} values (if \code{filterByQuantile} is TRUE), or \code{var.cutoff} (if \code{filterByQuantile} is FALSE) will be removed.} \item{require.entrez}{If \code{TRUE}, filter out features without an Entrez Gene ID annotation. If using an annotation package where an identifier system other than Entrez Gene IDs is used as the central ID, then that ID will be required instead.} \item{require.GOBP, require.GOCC, require.GOMF}{If \code{TRUE}, filter out features whose target genes are not annotated to at least one GO term in the BP, CC or MF ontology, respectively.} \item{require.CytoBand}{If \code{TRUE}, filter out features whose target genes have no mapping to cytoband locations.} \item{remove.dupEntrez}{If \code{TRUE} and there are features mapping to the same Entrez Gene ID (or equivalent), then the feature with the largest value of \code{var.func} will be retained and the other(s) removed.} \item{feature.exclude}{A character vector of regular expressions. Feature identifiers (i.e. value of \code{featureNames(eset)}) that match one of the specified patterns will be filtered out. The default value is intended to filter out Affymetrix quality control probe sets.} \item{...}{Unused, but available for specializing methods.} } \details{ In this Section, the effect of filtering on the type I error rate estimation / control of subsequent hypothesis testing is explained. See also the paper by Bourgon et al. \emph{Marginal type I errors}: Filtering on the basis of a statistic which is independent of the test statistic used for detecting differential gene expression can increase the detection rate at the same marginal type I error. This is clearly the case for filter criteria that do not depend on the data, such as the annotation based criteria provided by the \code{nsFilter} and \code{featureFilter} functions. However, marginal type I error can also be controlled for certain types of data-dependent criteria. Call \eqn{U^I}{U^1} the stage 1 filter statistic, which is a function that is applied feature by feature, based on whose value the feature is or is not accepted to pass to stage 2, and which depends only on the data for that feature and not any other feature, and call \eqn{U^{II}}{U^2} the stage 2 test statistic for differential expression. Sufficient conditions for marginal type-I error control are: \itemize{ \item \eqn{U^I}{U^1} the overall (across all samples) variance or mean, \eqn{U^{II}}{U^2} the t-statistic (or any other scale and location invariant statistic), data normal distributed and exchangeable across samples. \item \eqn{U^I}{U^1} the overall mean, \eqn{U^{II}}{U^2} the moderated t-statistic (as in limma's \code{\link[limma:ebayes]{eBayes}} function), data normal distributed and exchangeable. \item \eqn{U^I}{U^1} a sample-class label independent function (e.g. overall mean, median, variance, IQR), \eqn{U^{II}}{U^2} the Wilcoxon rank sum statistic, data exchangeable. } \emph{Experiment-wide type I error}: Marginal type-I error control provided by the conditions above is sufficient for control of the family wise error rate (FWER). Note, however, that common false discovery rate (FDR) methods depend not only on the marginal behaviour of the test statistics under the null hypothesis, but also on their joint distribution. The joint distribution can be affected by filtering, even when this filtering leaves the marginal distributions of true-null test statistics unchanged. Filtering might, for example, change correlation structure. The effect of this is negligible in many cases in practice, but this depends on the dataset and the filter used, and the assessment is in the responsibility of the data analyst. \emph{Annotation Based Filtering} Arguments \code{require.entrez}, \code{require.GOBP}, \code{require.GOCC}, \code{require.GOMF} and \code{require.CytoBand} filter based on available annotation data. The annotation package is determined by calling \code{annotation(eset)}. \emph{Variance Based Filtering} The \code{var.filter}, \code{var.func}, \code{var.cutoff} and \code{varByQuantile} arguments control numerical cutoff-based filtering. Probes for which \code{var.func} returns \code{NA} are removed. The default \code{var.func} is \code{IQR}, which we here define as \code{rowQ(eset, ceiling(0.75 * ncol(eset))) - rowQ(eset, floor(0.25 * ncol(eset)))}; this choice is motivated by the observation that unexpressed genes are detected most reliably through low variability of their features across samples. Additionally, \code{IQR} is robust to outliers (see note below). The default \code{var.cutoff} is \code{0.5} and is motivated by a rule of thumb that in many tissues only 40\% of genes are expressed. Please adapt this value to your data and question. By default the numerical-filter cutoff is interpreted as a quantile, so with the default settings, 50\% of the genes are filtered. Variance filtering is performed last, so that (if \code{varByQuantile=TRUE} and \code{remove.dupEntrez=TRUE}) the final number of genes does indeed exclude precisely the \code{var.cutoff} fraction of unique genes remaining after all other filters were passed. The stand-alone function \code{varFilter} does only \code{var.func}-based filtering (and no annotation based filtering). \code{featureFilter} does only annotation based filtering and duplicate removal; it always performs duplicate removal to retain the highest-IQR probe for each gene. } \value{ For \code{nsFilter} a list consisting of: \item{eset}{the filtered \code{ExpressionSet}} \item{filter.log}{a list giving details of how many probe sets where removed for each filtering step performed.} For both \code{varFilter} and \code{featureFilter} the filtered \code{ExpressionSet}. } \author{Seth Falcon (somewhat revised by Assaf Oron)} \note{\code{IQR} is a reasonable variance-filter choice when the dataset is split into two roughly equal and relatively homogeneous phenotype groups. If your dataset has important groups smaller than 25\% of the overall sample size, or if you are interested in unusual individual-level patterns, then \code{IQR} may not be sensitive enough for your needs. In such cases, you should consider using less robust and more sensitive measures of variance (the simplest of which would be \code{sd}).} \references{ R. Bourgon, R. Gentleman, W. Huber, Independent filtering increases power for detecting differentially expressed genes, Technical Report. } \examples{ library("hgu95av2.db") library("Biobase") data(sample.ExpressionSet) ans <- nsFilter(sample.ExpressionSet) ans$eset ans$filter.log ## skip variance-based filtering ans <- nsFilter(sample.ExpressionSet, var.filter=FALSE) a1 <- varFilter(sample.ExpressionSet) a2 <- featureFilter(sample.ExpressionSet) } \keyword{manip} genefilter/man/pOverA.Rd0000644000175200017520000000211614136046744016167 0ustar00biocbuildbiocbuild\name{pOverA} \alias{pOverA} \title{A filter function to filter according to the proportion of elements larger than A. } \description{ A function that returns a function with values for \code{A}, \code{p} and \code{na.rm} bound to the specified values. The function takes a single vector, \code{x}, as an argument. When the returned function is evaluated it returns \code{TRUE} if the proportion of values in \code{x} that are larger than \code{A} is at least \code{p}. } \usage{ pOverA(p=0.05, A=100, na.rm=TRUE) } \arguments{ \item{A}{The value to be exceeded. } \item{p}{The proportion that need to exceed \code{A} for \code{TRUE} to be returned. } \item{na.rm}{ If \code{TRUE} then \code{NA}'s are removed. } } \value{ \code{pOverA} returns a function with bindings for \code{A}, \code{p} and \code{na.rm}. This function evaluates to \code{TRUE} if the proportion of values in \code{x} that are larger than \code{A} exceeds \code{p}. } \author{R. Gentleman} \seealso{ \code{\link{cv}} } \examples{ ff<- pOverA(p=.1, 10) ff(1:20) ff(1:5) } \keyword{manip} genefilter/man/rejection_plot.Rd0000644000175200017520000000530314136046744020014 0ustar00biocbuildbiocbuild\name{rejection_plot} \Rdversion{1.1} \alias{rejection_plot} \title{ Plot rejections vs. p-value cutoff } \description{ Plot the number, or fraction, of null hypotheses rejected as a function of the p-value cutoff. Multiple sets of p-values are accepted, in a list or in the columns of a matrix, in order to permit comparisons. } \usage{ rejection_plot(p, col, lty = 1, lwd = 1, xlab = "p cutoff", ylab = "number of rejections", xlim = c(0, 1), ylim, legend = names(p), at = c("all", "sample"), n_at = 100, probability = FALSE, ... ) } \arguments{ \item{p}{ The p-values to be used for plotting. These may be in the columns of a matrix, or in the elements of a list. One curve will be generated for each column/element, and all \code{NA} entries will be dropped. If column or element names are supplied, they are used by default for a plot legend. } \item{col}{ Colors to be used for each curve plotted. Recycled if necessary. If \code{col} is omitted, \code{\link{rainbow}} is used to generate a set of colors. } \item{lty}{ Line styles to be used for each curve plotted. Recycled if necessary. } \item{lwd}{ Line widths to be used for each curve plotted. Recycled if necessary. } \item{xlab}{ X-axis text label. } \item{ylab}{ Y-axis text label. } \item{xlim}{ X-axis limits. } \item{ylim}{ Y-axis limits. } \item{legend}{ Text for legend. Matrix column names or list element names (see \code{p} above) are used by default. If \code{NULL}, no legend is plotted. } \item{at}{ Should step functions be plotted with a step at every value in \code{p}, or should linear interpolation be used at a sample of points spanning \code{xlim}? The latter looks when there are many p-values. } \item{n_at}{ When \code{at = "sample"} is given, how many sample points should be used for interpolation and plotting? } \item{probability}{ Should the fraction of null hypotheses rejected be reported instead of the count? See the \code{probability} argument to \code{\link{hist}}. } \item{\dots}{ Other arguments to pass to the \code{\link{plot}} call which sets up the axes. Note that the \code{...} argument will not be passed to the \code{\link{lines}} calls which actually generate the curves. } } \value{ A list of the step functions used for plotting is returned invisibly. } \author{Richard Bourgon } \examples{ # See the vignette: Diagnostic plots for independent filtering } genefilter/man/rowFtests.Rd0000644000175200017520000001514514136046744017001 0ustar00biocbuildbiocbuild\name{rowFtests} \alias{rowFtests} \alias{rowFtests,matrix,factor-method} \alias{rowFtests,ExpressionSet,factor-method} \alias{rowFtests,ExpressionSet,character-method} \alias{colFtests} \alias{colFtests,matrix,factor-method} \alias{colFtests,ExpressionSet,factor-method} \alias{colFtests,ExpressionSet,character-method} \alias{rowttests} \alias{rowttests,matrix,factor-method} \alias{rowttests,matrix,missing-method} \alias{rowttests,ExpressionSet,factor-method} \alias{rowttests,ExpressionSet,character-method} \alias{rowttests,ExpressionSet,missing-method} \alias{colttests} \alias{colttests,matrix,factor-method} \alias{colttests,matrix,missing-method} \alias{colttests,ExpressionSet,factor-method} \alias{colttests,ExpressionSet,character-method} \alias{colttests,ExpressionSet,missing-method} \alias{fastT} \title{t-tests and F-tests for rows or columns of a matrix} \description{t-tests and F-tests for rows or columns of a matrix, intended to be speed efficient.} \usage{ rowttests(x, fac, tstatOnly = FALSE, na.rm = FALSE) colttests(x, fac, tstatOnly = FALSE, na.rm = FALSE) fastT(x, ig1, ig2, var.equal = TRUE) rowFtests(x, fac, var.equal = TRUE) colFtests(x, fac, var.equal = TRUE) } \arguments{ \item{x}{Numeric matrix. The matrix must not contain \code{NA} values. For \code{rowttests} and \code{colttests}, \code{x} can also be an \code{\link[Biobase:class.ExpressionSet]{ExpressionSet}}.} \item{fac}{Factor which codes the grouping to be tested. There must be 1 or 2 groups for the t-tests (corresponding to one- and two-sample t-test), and 2 or more for the F-tests. If \code{fac} is missing, this is taken as a one-group test (i.e. is only allowed for the t-tests). The length of the factor needs to correspond to the sample size: for the \code{row*} functions, the length of the factor must be the same as the number of columns of \code{x}, for the \code{col*} functions, it must be the same as the number of rows of \code{x}. If \code{x} is an \code{\link[Biobase:class.ExpressionSet]{ExpressionSet}}, then \code{fac} may also be a character vector of length 1 with the name of a covariate in \code{x}.} \item{tstatOnly}{A logical variable indicating whether to calculate p-values from the t-distribution with appropriate degrees of freedom. If \code{TRUE}, just the t-statistics are returned. This can be considerably faster.} \item{na.rm}{A logical variable indicating whether to remove NA values prior to calculation test statistics.} \item{ig1}{The indices of the columns of \code{x} that correspond to group 1.} \item{ig2}{The indices of the columns of \code{x} that correspond to group 2.} \item{var.equal}{A logical variable indicating whether to treat the variances in the samples as equal. If 'TRUE', a simple F test for the equality of means in a one-way analysis of variance is performed. If 'FALSE', an approximate method of Welch (1951) is used, which generalizes the commonly known 2-sample Welch test to the case of arbitrarily many samples.} } \details{ If \code{fac} is specified, \code{rowttests} performs for each row of \code{x} a two-sided, two-class t-test with equal variances. \code{fac} must be a factor of length \code{ncol(x)} with two levels, corresponding to the two groups. The sign of the resulting t-statistic corresponds to "group 1 minus group 2". If \code{fac} is missing, \code{rowttests} performs for each row of \code{x} a two-sided one-class t-test against the null hypothesis 'mean=0'. \code{rowttests} and \code{colttests} are implemented in C and should be reasonably fast and memory-efficient. \code{fastT} is an alternative implementation, in Fortran, possibly useful for certain legacy code. \code{rowFtests} and \code{colFtests} are currently implemented using matrix algebra in R. Compared to the \code{rowttests} and \code{colttests} functions, they are slower and use more memory. } \value{ A \code{data.frame} with columns \code{statistic}, \code{p.value} (optional in the case of the t-test functions) and \code{dm}, the difference of the group means (only in the case of the t-test functions). The \code{row.names} of the data.frame are taken from the corresponding dimension names of \code{x}. The degrees of freedom are provided in the attribute \code{df}. For the F-tests, if \code{var.equal} is 'FALSE', \code{nrow(x)+1} degree of freedoms are given, the first one is the first degree of freedom (it is the same for each row) and the other ones are the second degree of freedom (one for each row). } \references{B. L. Welch (1951), On the comparison of several mean values: an alternative approach. Biometrika, *38*, 330-336} \author{Wolfgang Huber } \seealso{\code{\link[multtest:mt.teststat]{mt.teststat}}} \examples{ ## ## example data ## x = matrix(runif(40), nrow=4, ncol=10) f2 = factor(floor(runif(ncol(x))*2)) f4 = factor(floor(runif(ncol(x))*4)) ## ## one- and two group row t-test; 4-group F-test ## r1 = rowttests(x) r2 = rowttests(x, f2) r4 = rowFtests(x, f4) ## approximate equality about.equal = function(x,y,tol=1e-10) stopifnot(is.numeric(x), is.numeric(y), length(x)==length(y), all(abs(x-y) < tol)) ## ## compare with the implementation in t.test ## for (j in 1:nrow(x)) { s1 = t.test(x[j,]) about.equal(s1$statistic, r1$statistic[j]) about.equal(s1$p.value, r1$p.value[j]) s2 = t.test(x[j,] ~ f2, var.equal=TRUE) about.equal(s2$statistic, r2$statistic[j]) about.equal(s2$p.value, r2$p.value[j]) dm = -diff(tapply(x[j,], f2, mean)) about.equal(dm, r2$dm[j]) s4 = summary(lm(x[j,] ~ f4)) about.equal(s4$fstatistic["value"], r4$statistic[j]) } ## ## colttests ## c2 = colttests(t(x), f2) stopifnot(identical(r2, c2)) ## ## missing values ## f2n = f2 f2n[sample(length(f2n), 3)] = NA r2n = rowttests(x, f2n) for(j in 1:nrow(x)) { s2n = t.test(x[j,] ~ f2n, var.equal=TRUE) about.equal(s2n$statistic, r2n$statistic[j]) about.equal(s2n$p.value, r2n$p.value[j]) } ## ## larger sample size ## x = matrix(runif(1000000), nrow=4, ncol=250000) f2 = factor(floor(runif(ncol(x))*2)) r2 = rowttests(x, f2) for (j in 1:nrow(x)) { s2 = t.test(x[j,] ~ f2, var.equal=TRUE) about.equal(s2$statistic, r2$statistic[j]) about.equal(s2$p.value, r2$p.value[j]) } ## single row matrix rowFtests(matrix(runif(10),1,10),as.factor(c(rep(1,5),rep(2,5)))) rowttests(matrix(runif(10),1,10),as.factor(c(rep(1,5),rep(2,5)))) } \keyword{math} genefilter/man/rowROC-class.Rd0000644000175200017520000000672414136046744017262 0ustar00biocbuildbiocbuild\name{rowROC-class} \docType{class} \alias{rowROC} \alias{rowROC-class} \alias{pAUC} \alias{AUC} \alias{sens} \alias{spec} \alias{area} \alias{pAUC,rowROC,numeric-method} \alias{plot,rowROC,missing-method} \alias{AUC,rowROC-method} \alias{spec,rowROC-method} \alias{sens,rowROC-method} \alias{area,rowROC-method} \alias{show,rowROC-method} \alias{[,rowROC,ANY,ANY,ANY-method} \title{Class "rowROC"} \description{A class to model ROC curves and corresponding area under the curve as produced by rowpAUCs.} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("rowROC", ...)}. } \section{Slots}{ \describe{ \item{\code{data}:}{Object of class \code{"matrix"} The input data.} \item{\code{ranks}:}{Object of class \code{"matrix"} The ranked input data. } \item{\code{sens}:}{Object of class \code{"matrix"} Matrix of senitivity values for each gene at each cutpoint. } \item{\code{spec}:}{Object of class \code{"matrix"} Matrix of specificity values for each gene at each cutpoint.} \item{\code{pAUC}:}{Object of class \code{"numeric"} The partial area under the curve (integrated from 0 to \code{p}. } \item{\code{AUC}:}{Object of class \code{"numeric"} The total area under the curve. } \item{\code{factor}:}{Object of class \code{"factor"} The factor used for classification.} \item{\code{cutpoints}:}{Object of class \code{"matrix"} The values of the cutpoints at which specificity ans sensitivity was calculated. (Note: the data is ranked prior to computation of ROC curves, the cutpoints map to the ranked data.} \item{\code{caseNames}:}{Object of class \code{"character"} The names of the two classification cases.} \item{\code{p}:}{Object of class \code{"numeric"} The limit to which \code{pAUC} is integrated. } } } \section{Methods}{ \describe{ \item{show \code{signature(object="rowROC")}}{Print nice info about the object.} \item{[ \code{signature(x="rowROC", j="missing")}}{Subset the object according to rows/genes.} \item{plot \code{signature(x="rowROC", y="missing")}}{Plot the ROC curve of the first row of the object along with the \code{pAUC}. To plot the curve for a specific row/gene subsetting should be done first (i.e. \code{plot(rowROC[1])}.} \item{pAUC \code{signature(object="rowROC", p="numeric", flip="logical")}}{Integrate area under the curve from \code{0} to \code{p}. This method returns a new \code{rowROC} object.} \item{AUC \code{signature(object="rowROC")}}{Integrate total area under the curve. This method returns a new \code{rowROC} object.} \item{sens \code{signature(object="rowROC")}}{Accessor method for sensitivity slot.} \item{spec \code{signature(object="rowROC")}}{Accessor method for specificity slot.} \item{area \code{signature(object="rowROC", total="logical")}}{Accessor method for pAUC slot.} } } \references{Pepe MS, Longton G, Anderson GL, Schummer M.: Selecting differentially expressed genes from microarray experiments. \emph{Biometrics. 2003 Mar;59(1):133-42.}} \author{Florian Hahne } \seealso{ \code{\link[genefilter:rowpAUCs]{rowpAUCs}} } \examples{ library("Biobase") data("sample.ExpressionSet") roc <- rowpAUCs(sample.ExpressionSet, "sex", p=0.5) roc area(roc[1:3]) if(interactive()) { par(ask=TRUE) plot(roc) plot(1-spec(roc[1]), sens(roc[2])) par(ask=FALSE) } pAUC(roc, 0.1) roc } \keyword{classes} genefilter/man/rowSds.Rd0000644000175200017520000000210014136046744016245 0ustar00biocbuildbiocbuild\name{rowSds} \alias{rowSds} \alias{rowVars} \title{Row variance and standard deviation of a numeric array} \description{ Row variance and standard deviation of a numeric array } \usage{ rowVars(x, ...) rowSds(x, ...) } \arguments{ \item{x}{An array of two or more dimensions, containing numeric, complex, integer or logical values, or a numeric data frame.} \item{...}{Further arguments that get passed on to \code{\link{rowMeans}} and \code{\link{rowSums}}.} } \value{ A numeric or complex array of suitable size, or a vector if the result is one-dimensional. The `dimnames' (or `names' for a vector result) are taken from the original array. } \details{These are very simple convenience functions, the main work is done in \code{\link{rowMeans}} and \code{\link{rowSums}}. See the function definition of \code{rowVars}, it is very simple. } \author{Wolfgang Huber \url{http://www.ebi.ac.uk/huber}} \seealso{\code{\link{rowMeans}} and \code{\link{rowSums}}} \examples{ a = matrix(rnorm(1e4), nrow=10) rowSds(a) } \keyword{array} \keyword{manip} genefilter/man/rowpAUCs.Rd0000644000175200017520000001305214136046744016477 0ustar00biocbuildbiocbuild\name{rowpAUCs-methods} \docType{methods} \alias{rowpAUCs-methods} \alias{rowpAUCs} \alias{rowpAUCs,matrix,factor-method} \alias{rowpAUCs,matrix,numeric-method} \alias{rowpAUCs,ExpressionSet,ANY-method} \alias{rowpAUCs,ExpressionSet,character-method} \title{Rowwise ROC and pAUC computation} \description{Methods for fast rowwise computation of ROC curves and (partial) area under the curve (pAUC) using the simple classification rule \code{x > theta}, where \code{theta} is a value in the range of \code{x} } \usage{ rowpAUCs(x, fac, p=0.1, flip=TRUE, caseNames=c("1", "2")) } \arguments{ \item{x}{\code{ExpressionSet} or numeric \code{matrix}. The \code{matrix} must not contain \code{NA} values.} \item{fac}{A \code{factor} or \code{numeric} or \code{character} that can be coerced to a \code{factor}. If \code{x} is an \code{ExpressionSet}, this may also be a character \code{vector} of length 1 with the name of a covariate variable in \code{x}. \code{fac} must have exactly 2 levels. For better control over the classification, use integer values in 0 and 1, where 1 indicates the "Disease" class in the sense of the Pepe et al paper (see below).} \item{p}{Numeric \code{vector} of length 1. Limit in (0,1) to integrate pAUC to.} \item{flip}{Logical. If \code{TRUE}, both classification rules \code{x > theta} and \code{x < theta} are tested and the (partial) area under the curve of the better one of the two is returned. This is appropriate for the cases in which the classification is not necessarily linked to higher expression values, but instead it is symmetric and one would assume both over- and under-expressed genes for both classes. You can set \code{flip} to \code{FALSE} if you only want to screen for genes which discriminate Disease from Control with the \code{x > theta} rule.} \item{caseNames}{The class names that are used when plotting the data. If \code{fac} is the name of the covariate variable in the \code{ExpressionSet} the function will use its levels as \code{caseNames}.} } \details{ Rowwise calculation of Receiver Operating Characteristic (ROC) curves and the corresponding partial area under the curve (pAUC) for a given data matrix or \code{ExpressionSet}. The function is implemented in C and thus reasonably fast and memory efficient. Cutpoints (\code{theta} are calculated before the first, in between and after the last data value. By default, both classification rules \code{x > theta} and \code{x < theta} are tested and the (partial) area under the curve of the better one of the two is returned. This is only valid for symmetric cases, where the classification is independent of the magnitude of \code{x} (e.g., both over- and under-expression of different genes in the same class). For unsymmetric cases in which you expect x to be consistently higher/lower in of of the two classes (e.g. presence or absence of a single biomarker) set \code{flip=FALSE} or use the functionality provided in the \code{ROC} package. For better control over the classification (i.e., the choice of "Disease" and "Control" class in the sense of the Pepe et al paper), argument \code{fac} can be an integer in \code{[0,1]} where 1 indicates "Disease" and 0 indicates "Control". } \section{Methods}{ \describe{ Methods exist for \code{rowPAUCs}: \item{rowPAUCs}{\code{signature(x="matrix", fac="factor")}} \item{rowPAUCs}{\code{signature(x="matrix", fac="numeric")}} \item{rowPAUCs}{\code{signature(x="ExpressionSet")}} \item{rowPAUCs}{\code{signature(x="ExpressionSet", fac="character")}} } } \value{ An object of class \code{\link[genefilter:rowROC-class]{rowROC}} with the calculated specificities and sensitivities for each row and the corresponding pAUCs and AUCs values. See \code{\link[genefilter:rowROC-class]{rowROC}} for details. } \references{Pepe MS, Longton G, Anderson GL, Schummer M.: Selecting differentially expressed genes from microarray experiments. \emph{Biometrics. 2003 Mar;59(1):133-42.}} \author{Florian Hahne } \seealso{\code{\link[ROC:rocdemo.sca]{rocdemo.sca}, \link[ROC:AUC]{pAUC}, \link[genefilter:rowROC-class]{rowROC}}} \examples{ library(Biobase) data(sample.ExpressionSet) r1 = rowttests(sample.ExpressionSet, "sex") r2 = rowpAUCs(sample.ExpressionSet, "sex", p=0.1) plot(area(r2, total=TRUE), r1$statistic, pch=16) sel <- which(area(r2, total=TRUE) > 0.7) plot(r2[sel]) ## this compares performance and output of rowpAUCs to function pAUC in ## package ROC if(require(ROC)){ ## performance myRule = function(x) pAUC(rocdemo.sca(truth = as.integer(sample.ExpressionSet$sex)-1 , data = x, rule = dxrule.sca), t0 = 0.1) nGenes = 200 cat("computation time for ", nGenes, "genes:\n") cat("function pAUC: ") print(system.time(r3 <- esApply(sample.ExpressionSet[1:nGenes, ], 1, myRule))) cat("function rowpAUCs: ") print(system.time(r2 <- rowpAUCs(sample.ExpressionSet[1:nGenes, ], "sex", p=1))) ## compare output myRule2 = function(x) pAUC(rocdemo.sca(truth = as.integer(sample.ExpressionSet$sex)-1 , data = x, rule = dxrule.sca), t0 = 1) r4 <- esApply(sample.ExpressionSet[1:nGenes, ], 1, myRule2) plot(r4,area(r2), xlab="function pAUC", ylab="function rowpAUCs", main="pAUCs") plot(r4, area(rowpAUCs(sample.ExpressionSet[1:nGenes, ], "sex", p=1, flip=FALSE)), xlab="function pAUC", ylab="function rowpAUCs", main="pAUCs") r4[r4<0.5] <- 1-r4[r4<0.5] plot(r4, area(r2), xlab="function pAUC", ylab="function rowpAUCs", main="pAUCs") } } \keyword{math} genefilter/man/shorth.Rd0000644000175200017520000000541414136046744016306 0ustar00biocbuildbiocbuild\name{shorth} \alias{shorth} \title{A location estimator based on the shorth} \description{A location estimator based on the shorth} \usage{shorth(x, na.rm=FALSE, tie.action="mean", tie.limit=0.05)} \arguments{ \item{x}{Numeric} \item{na.rm}{Logical. If \code{TRUE}, then non-finite (according to \code{\link{is.finite}}) values in \code{x} are ignored. Otherwise, presence of non-finite or \code{NA} values will lead to an error message.} \item{tie.action}{Character scalar. See details.} \item{tie.limit}{Numeric scalar. See details.} } \details{The shorth is the shortest interval that covers half of the values in \code{x}. This function calculates the mean of the \code{x} values that lie in the shorth. This was proposed by Andrews (1972) as a robust estimator of location. Ties: if there are multiple shortest intervals, the action specified in \code{ties.action} is applied. Allowed values are \code{mean} (the default), \code{max} and \code{min}. For \code{mean}, the average value is considered; however, an error is generated if the start indices of the different shortest intervals differ by more than the fraction \code{tie.limit} of \code{length(x)}. For \code{min} and \code{max}, the left-most or right-most, respectively, of the multiple shortest intervals is considered. Rate of convergence: as an estimator of location of a unimodal distribution, under regularity conditions, the quantity computed here has an asymptotic rate of only \eqn{n^{-1/3}} and a complicated limiting distribution. See \code{\link{half.range.mode}} for an iterative version that refines the estimate iteratively and has a builtin bootstrapping option. } \value{The mean of the \code{x} values that lie in the shorth.} \references{ \itemize{ \item G Sawitzki, \dQuote{The Shorth Plot.} Available at http://lshorth.r-forge.r-project.org/TheShorthPlot.pdf \item DF Andrews, \dQuote{Robust Estimates of Location.} Princeton University Press (1972). \item R Grueble, \dQuote{The Length of the Shorth.} Annals of Statistics 16, 2:619-628 (1988). \item DR Bickel and R Fruehwirth, \dQuote{On a fast, robust estimator of the mode: Comparisons to other robust estimators with applications.} Computational Statistics & Data Analysis 50, 3500-3530 (2006). } } \author{Wolfgang Huber \url{http://www.ebi.ac.uk/huber}, Ligia Pedroso Bras} \seealso{\code{\link{half.range.mode}}} \examples{ x = c(rnorm(500), runif(500) * 10) methods = c("mean", "median", "shorth", "half.range.mode") ests = sapply(methods, function(m) get(m)(x)) if(interactive()) { colors = 1:4 hist(x, 40, col="orange") abline(v=ests, col=colors, lwd=3, lty=1:2) legend(5, 100, names(ests), col=colors, lwd=3, lty=1:2) } } \keyword{arith} genefilter/man/tdata.Rd0000644000175200017520000000067414136046744016077 0ustar00biocbuildbiocbuild\name{tdata} \alias{tdata} \non_function{} \title{A small test dataset of Affymetrix Expression data. } \usage{data(tdata)} \description{ The \code{tdata} data frame has 500 rows and 26 columns. The columns correspond to samples while the rows correspond to genes. The row names are Affymetrix accession numbers. } \format{ This data frame contains 26 columns. } \source{ An unknown data set. } \examples{ data(tdata) } \keyword{datasets} genefilter/man/ttest.Rd0000644000175200017520000000314014136046744016134 0ustar00biocbuildbiocbuild\name{ttest} \alias{ttest} \title{A filter function for a t.test } \description{ \code{ttest} returns a function of one argument with bindings for \code{cov} and \code{p}. The function, when evaluated, performs a t-test using \code{cov} as the covariate. It returns \code{TRUE} if the p value for a difference in means is less than \code{p}. } \usage{ ttest(m, p=0.05, na.rm=TRUE) } \arguments{ \item{m}{If \code{m} is of length one then it is assumed that elements one through \code{m} of \code{x} will be one group. Otherwise \code{m} is presumed to be the same length as \code{x} and constitutes the groups.} \item{p}{ The p-value for the test. } \item{na.rm}{If set to \code{TRUE} any \code{NA}'s will be removed. } } \details{ When the data can be split into two groups (diseased and normal for example) then we often want to select genes on their ability to distinguish those two groups. The t-test is well suited to this and can be used as a filter function. This helper function creates a t-test (function) for the specified covariate and considers a gene to have passed the filter if the p-value for the gene is less than the prespecified \code{p}. } \value{ \code{ttest} returns a function with bindings for \code{m} and \code{p} that will perform a t-test. } \author{R. Gentleman } \seealso{\code{\link{kOverA}}, \code{\link{Anova}}, \code{\link{t.test}} } \examples{ dat <- c(rep(1,5),rep(2,5)) set.seed(5) y <- rnorm(10) af <- ttest(dat, .01) af(y) af2 <- ttest(5, .01) af2(y) y[8] <- NA af(y) af2(y) y[1:5] <- y[1:5]+10 af(y) } \keyword{manip} genefilter/src/0000755000175200017520000000000014136071504014510 5ustar00biocbuildbiocbuildgenefilter/src/genefilter.h0000644000175200017520000000043714136046744017021 0ustar00biocbuildbiocbuild/* Copyright Bioconductor Foundation NA, 2007, all rights reserved */ #include #include typedef int RSInt; void gf_distance(double *x, RSInt *nr, RSInt *nc, RSInt *g, double *d, RSInt *iRow, RSInt *nInterest, RSInt *nResults, RSInt *method, double *wval); genefilter/src/half_range_mode.cpp0000644000175200017520000000632714136046744020326 0ustar00biocbuildbiocbuild#include #include #include using namespace std; double half_range_mode( double *start, double *end, double beta, int diag ) { // The end pointer is one step beyond the data... double w, w_prime; double *last, *new_start, *new_end; vector counts, J; vector w_range; int i, s, e; int N, N_prime, N_double_prime; double lo, hi; last = end - 1; N = end - start; // How many elements are in the set? Terminate recursion appropriately... switch ( N ) { case 1: return *start; case 2: return .5 * ( *start + *last ); // Main recursive code begins here default: w = beta * ( *last - *start ); // If all values are identical, return immediately... if ( w == 0 ) return *start; // If we're at the end of the data, counts can only get worse, so there's no point in continuing... e = 0; for( s = 0; s < N && e < N; s++ ) { while ( e < N && start[ e ] <= start[ s ] + w ) { e++; } counts.push_back( e - s ); } // Maximum count, and its multiplicity N_prime = *( max_element( counts.begin(), counts.end() ) ); for ( i = 0; i < (int) counts.size(); i++ ) if ( counts[i] == N_prime ) J.push_back( i ); // Do we have more than one maximal interval? if ( J.size() == 1 ) { // No... the interval's unique. new_start = start + J[0]; new_end = start + J[0] + N_prime; } else { // Yes.. What's the smallest range? for ( i = 0; i < (int) J.size(); i++ ) w_range.push_back( start[ J[i] + N_prime - 1 ] - start[ J[i] ] ); w_prime = *( min_element( w_range.begin(), w_range.end() ) ); // Set new start and end. We skip the more cumbersome V.min and V.max of the Bickel algorithm i = 0; while( w_range[ i ] > w_prime ) i++; new_start = start + J[i]; new_end = start + J[i] + N_prime; // If there are any more maximal-count, minimal-range intervals, adjust // new_end accordingly. for ( i++; i < (int) J.size(); i++ ) if ( w_range[ i ] == w_prime ) new_end = start + J[i] + N_prime; } // Adjustments in rare cases where the interval hasn't shrunk. Trim one end, // the other, or both if lo == hi. Originally, this was inside the else // block above. With discrete data with a small number of levels, it is // possible, however for |J| = 1 AND N_double_prime = N, leading to an // infinite recursion. N_double_prime = new_end - new_start; if (N_double_prime == N ) { lo = new_start[1] - new_start[0]; hi = new_start[ N - 1 ] - new_start[ N - 2 ]; if ( lo <= hi ) { new_end--; } if ( lo >= hi ) { new_start++; } } // Diagnostic output if requested if (diag) Rprintf( "N = %i, N'' = %i, w = %.4f, |J| = %i\n", N, N_double_prime, w, J.size() ); // Clean up and then go in recursively counts.clear(); J.clear(); w_range.clear(); return half_range_mode( new_start, new_end, beta, diag ); } } extern "C" { void half_range_mode( double *data, int *n, double *beta, int *diag, double *M ) { // We assume that that data is already sorted for us... *M = half_range_mode( data, data + *n, *beta, *diag ); } } genefilter/src/init.c0000644000175200017520000000054214136046744015630 0ustar00biocbuildbiocbuild/* Copyright Bioconductor Foundation of NA, 2007, all rights reserved */ #include "R.h" #include "genefilter.h" #include "R_ext/Rdynload.h" static const R_CMethodDef CEntries[] = { {"gf_distance", (DL_FUNC) &gf_distance, 10}, {NULL, NULL, 0} }; void R_init_genefilter(DllInfo *dll) { R_registerRoutines(dll, CEntries, NULL, NULL, NULL); } genefilter/src/nd.c0000644000175200017520000002023214136046744015264 0ustar00biocbuildbiocbuild/* Copyright The Bioconductor Foundation 2007, all rights reserved */ /* this is patterned on the R code in library/stats/src/distance.c as we want to have similar values, but does not handle NA/Inf identically, allows weights and solves the problem of finding distances to a particular value, not necessarily all pairwise distances */ /* Modified in April 2007 for use with S-PLUS ArrayAnalyzer by Insightful Corp. Replaced all int declarations with RSInt declarations. RSInt is defined in S-PLUS's R.h as: typedef long RSInt; Other changes are if-def-ed with if defined(_R_) around the original code. */ /* and further modified since S.h in R defines USING_R - not _R_ !! */ #include "S.h" #if defined(USING_R) /*( R-specific stuff */ #define S_CDECL #ifdef HAVE_CONFIG_H # include #endif /* we need this first to get the right options for math.h */ #include #include "genefilter.h" #include #include "R_ext/Error.h" #include "R_ext/Applic.h" #else /*) Splus-specific stuff */ #define S_COMPATIBILITY 1 #include "rsplus.h" #endif typedef struct { RSInt geneNum; double geneDist; } gene_t; static void detectTies(RSInt geneNum, RSInt nResults, RSInt nRows, gene_t *data) { char msg_buf[100]; /* Will scan through the first nResults+1 distances in the */ /* data array, and if it detects any ties, will flag a R */ /* warning */ RSInt i; /* Loop indices */ /* If nResults == nRows, do not exceed nResults - otherwise exceed it */ /* by 1 in order to see if there were trailing ties */ if (nResults == nRows) { nResults = nRows-1; } for (i = 1; i < nResults; i++) { if (data[i].geneDist == data[i+1].geneDist) { sprintf(msg_buf, "There are distance ties in the data " "for gene %d\n", geneNum); warning(msg_buf); break; } } } static int S_CDECL distCompare(const void *p1, const void *p2) { const gene_t *i = p1; const gene_t *j = p2; if (!R_FINITE(i->geneDist )) return(1); if (!R_FINITE(j->geneDist)) return(-1); if (i->geneDist > j->geneDist) return (1); if (i->geneDist < j->geneDist) return (-1); return (0); } static double gf_correlation(double *x, double *wval, RSInt nr, RSInt nc, RSInt i1, RSInt i2) { RSInt i; /* Loop index */ RSInt a,b; /* Used as array indices for i1 and i2 */ double xAvg, yAvg; /* Averages of the i1 and i2 rows */ double wA, wB; /* Weighted x[a] and x[b] */ double upTot = 0; /* Upper summation */ double botTotL, botTotR; /* The lower two summations */ double botVal; /* Bottom value for Rho */ double Rho, ans; botTotL = botTotR = 0; xAvg = yAvg = 0; a = i1; b = i2; /* Calculate the averages for the i1 and i2 rows */ for (i = 0; i < nc; i++) { if (R_FINITE(x[a])) { xAvg += (wval[i] * x[a]); } if (R_FINITE(x[b])) { yAvg += (wval[i] * x[b]); } a += nr; b += nr; } xAvg /= (double)nc; yAvg /= (double)nc; /* Reset a & b */ a = i1; b = i2; /* Build up the three summations in the equation */ for (i = 0; i < nc; i++) { if (R_FINITE(x[a]) && R_FINITE(x[b])) { wA = (x[a] - xAvg); wB = (x[b] - yAvg); upTot += wval[i]*wA*wB; botTotL += wval[i]*pow(wA,2); botTotR += wval[i]*pow(wB,2); } a += nr; b += nr; } /* Compute Rho & Distance (1 - R) */ botVal = sqrt((botTotL * botTotR)); Rho = upTot / botVal; ans = 1 - Rho; return(ans); } static double gf_euclidean(double *x, double *wval, RSInt nr, RSInt nc, RSInt i1, RSInt i2) { double dev, ans; RSInt ct, j; ct = 0; ans = 0; for(j = 0 ; j < nc ; j++) { if(R_FINITE(x[i1]) && R_FINITE(x[i2])) { dev = (x[i1] - x[i2]); dev = dev * dev; /* Apply weight and add the total */ ans += (wval[j] * dev); ct++; } i1 += nr; i2 += nr; } if(ct == 0) return NA_REAL; if(ct != nc) ans /= ((double)ct/nc); return sqrt(ans); } static double gf_maximum(double *x, double *wval, RSInt nr, RSInt nc, RSInt i1, RSInt i2) { double dev, ans; RSInt ct, j; ct = 0; ans = -DBL_MAX; for(j = 0 ; j < nc ; j++) { if(R_FINITE(x[i1]) && R_FINITE(x[i2])) { dev = fabs(x[i1] - x[i2]); /* apply the weight */ dev *= wval[j]; if(dev > ans) ans = dev; ct++; } i1 += nr; i2 += nr; } if(ct == 0) return NA_REAL; return ans; } static double gf_manhattan(double *x, double *wval, RSInt nr, RSInt nc, RSInt i1, RSInt i2) { double ans; RSInt ct, j; ct = 0; ans = 0; for(j = 0 ; j < nc ; j++) { if(R_FINITE(x[i1]) && R_FINITE(x[i2])) { ans += (wval[j] * fabs(x[i1] - x[i2])); ct++; } i1 += nr; i2 += nr; } if(ct == 0) return NA_REAL; if(ct != nc) ans /= ((double)ct/nc); return ans; } static double gf_canberra(double *x, double *wval, RSInt nr, RSInt nc, RSInt i1, RSInt i2) { double ans, sum, diff; RSInt ct, j; ct = 0; ans = 0; for(j = 0 ; j < nc ; j++) { if(R_FINITE(x[i1]) && R_FINITE(x[i2])) { sum = fabs(x[i1] + x[i2]); diff = fabs(x[i1] - x[i2]); if (sum > DBL_MIN || diff > DBL_MIN) { ans += wval[j]*(diff/sum); ct++; } } i1 += nr; i2 += nr; } if(ct == 0) return NA_REAL; if(ct != nc) ans /= ((double)ct/nc); return ans; } static double gf_dist_binary(double *x, double *wval, RSInt nr, RSInt nc, RSInt i1, RSInt i2) { RSInt total, ct, ans; RSInt j; total = 0; ct = 0; ans = 0; for(j = 0 ; j < nc ; j++) { if(R_FINITE(x[i1]) && R_FINITE(x[i2])) { if(x[i1] || x[i2]){ ct += wval[j]; if( !(x[i1] && x[i2]) ) ans += wval[j]; } total++; } i1 += nr; i2 += nr; } if(total == 0) return NA_REAL; if(ct == 0) return 0; return (double) ans / ct; } enum { EUCLIDEAN=1, MAXIMUM, MANHATTAN, CANBERRA, CORRELATION, BINARY}; /* == 1,2,..., defined by order in the R function dist */ void gf_distance(double *x, RSInt *nr, RSInt *nc, RSInt *g, double *d, RSInt *iRow, RSInt *nInterest, RSInt *nResults, RSInt *method, double *wval) { /* x -> Data Array nr -> Number of rows in X nc -> number of columns in X g -> The nResults closest genes to the genes of interest d -> The distances of the genes from g, 1 to 1 mapping iRow -> rows of X that we are interested in nInterest -> Number of elements in iRow nResults -> The top X results to pass back method -> which distance method to use */ RSInt i,j, k; /* Loop indices */ RSInt baseIndex; /* Used to index data arrays */ gene_t *tmp; /* Temporary array to hold the distance data */ double (*distfun)(double*, double*, RSInt, RSInt, RSInt, RSInt) = NULL; /* Sanity check the nResults vs. number of rows in the data */ if (*nResults > *nr) { warning("Number of results selected is greater than number of rows, using the number of rows instead\n"); *nResults = *nr-1; } /* Size of tmp == *nr, as each gene we're interested in will generate *nr distance points */ tmp = (gene_t *)R_alloc(*nr, sizeof(gene_t)); /* Determine which distance function to use */ switch(*method) { case EUCLIDEAN: distfun = gf_euclidean; break; case MAXIMUM: distfun = gf_maximum; break; case MANHATTAN: distfun = gf_manhattan; break; case CANBERRA: distfun = gf_canberra; break; case CORRELATION: distfun = gf_correlation; break; case BINARY: distfun = gf_dist_binary; break; default: error("invalid distance"); } for (j = 0; j < *nInterest; j++) { /* Get the distances for this gene, store in tmp array */ for(i = 0 ; i < (*nr) ; i++) { tmp[i].geneNum = i; tmp[i].geneDist = distfun(x, wval, *nr, *nc, iRow[j]-1, i); } /* Run a sort on the temp array */ qsort(tmp, *nr, sizeof(gene_t), distCompare); /* Detect any ties */ detectTies(iRow[j], *nResults, *nr, tmp); /* Copy the 1<->nResults data points into the final array */ baseIndex = *nResults * j; for (k = 1; k <= *nResults; k++) { g[baseIndex + (k-1)] = tmp[k].geneNum; d[baseIndex + (k-1)] = tmp[k].geneDist; } } } genefilter/src/pAUC.c0000644000175200017520000001152014136046744015453 0ustar00biocbuildbiocbuild/* * F. Hahne 10/24/2006 */ #include #include #include #include #include #include /*----------------------------------------------------------------- internal c function for calculation of pAUCs -----------------------------------------------------------------*/ void pAUC_c(double *spec, double *sens, double *area, double *auc, double *p, int columns, int rows, int flip) { int i, j, k, d; double *x, *y; double a, ta, tmp, lim, xsum ,ysum; x = (double *) R_alloc(columns+1, sizeof(double)); y = (double *) R_alloc(columns+1, sizeof(double)); /* this computes pAUC for roc curve in row k*/ for(k=0; k ysum){ for(i=k*columns,d=0; i x[d]){ for(i=0, j=d; i<=d/2; i++, j--){ tmp=x[i]; x[i]=x[j]; x[j]=tmp; tmp=y[i]; y[i]=y[j]; y[j]=tmp; } } x[columns]=1; y[columns]=y[columns-1]; /* compute area by trapezoidal rule*/ lim = x[0] < (*p) ? x[0] : *p; /*right border of first segment*/ a = (lim*y[0])/2; /*area of 1. segement (from x1=0 to x2=lim)*/ i=1; while(x[i] < (*p)){ a += ((x[i]-x[i-1])*(y[i]-y[i-1])/2) + ((x[i]-x[i-1])*y[i-1]); i++; } if(i > 2) /*last segment (from xn to p)*/ a += (((*p)-x[i-1])*(y[i]-y[i-1])/2) + (((*p)-x[i-1])*y[i-1]); ta = a; /*compute full AUC and flip curve if necessary*/ if((*p) < 1){ ta += ((x[i]-(*p))*(y[i]-y[i-1])/2) + ((x[i]-(*p))*y[i-1]); i++; while(i < columns+1 && x[i] < 1){ ta += ((x[i]-x[i-1])*(y[i]-y[i-1])/2) + ((x[i]-x[i-1])*y[i-1]); i++; } ta += ((1-x[i-1])*(1-y[i-1])/2) + ((1-x[i-1])*y[i-1]); }else{ d=1; } if(flip && (*p)==1 && ta < 0.5){ /*rotate 180° if area < 0.5*/ a = (*p) - a; ta = 1-ta; } if(a>1){ error("Internal error"); } area[k] = a; auc[k] = ta; } } /*----------------------------------------------------------------- interface to R with arguments: spec : matrix of numerics (specificity) sens: matrix of numerics (sensitivity) p: numeric in 01)) error("'p' must be between 0 and 1."); /* done with p */ /* check input argument flip */ if(!isInteger(_flip)) error("'flip' must be an integer."); flip = (int)INTEGER(_flip)[0]; /* done with flip */ /* allocate memory for return values */ PROTECT(area = allocVector(REALSXP, columns)); PROTECT(auc = allocVector(REALSXP, columns)); /* Do it! */ pAUC_c(spec, sens, REAL(area), REAL(auc), p, rows, columns, flip); /* return value: a list with elements spec sens and area */ PROTECT(res = allocVector(VECSXP, 2)); SET_VECTOR_ELT(res, 0, area); SET_VECTOR_ELT(res, 1, auc); PROTECT(namesres = allocVector(STRSXP, 2)); SET_STRING_ELT(namesres, 0, mkChar("pAUC")); SET_STRING_ELT(namesres, 1, mkChar("AUC")); setAttrib(res, R_NamesSymbol, namesres); UNPROTECT(4); /* done with res, namesres, pAUC, auc */ return(res); } genefilter/src/rowPAUCs.c0000644000175200017520000001475614136046744016344 0ustar00biocbuildbiocbuild/* * F. Hahne 10/26/2005 */ #include #include #include #include #include #include /*----------------------------------------------------------------- internal c function for calculation of ROC curves and pAUCs -----------------------------------------------------------------*/ void ROCpAUC_c(double *data, int nrd, int ncd, double *cutp, int ncc, int *truth, double *spec, double *sens, double *area, double *auc, double *p, int flip) { int i, j, k, pred, d, rsum, csum, rcount, ccount; double *x, *y; double a, ta, tmp, lim, xsum, ysum; x = (double *) R_alloc(ncc+1, sizeof(double)); y = (double *) R_alloc(ncc+1, sizeof(double)); /* this code computes roc for a given n * n matrix at given cut points */ //printf("Computing ROC curves for %d rows at %d cutpoints ...\n", nrd, ncc); for(k=0; k cutp[i]) ? 1 : 0; if(truth[d] == 1){ rsum += pred; rcount++; } else{ csum+=(1-pred); ccount++; } } /* for j (columns)*/ sens[i] = (double)rsum/rcount; spec[i] = (double)csum/ccount; } /* for i (cutpoints)*/ /* this computes pAUC for roc curve in row k*/ xsum = ysum = 0; for(i=k,d=0; i ysum){ for(i=k,d=0; i x[d]){ for(i=0, j=d; i<=(d+1)/2; i++, j--){ tmp=x[i]; x[i]=x[j]; x[j]=tmp; tmp=y[i]; y[i]=y[j]; y[j]=tmp; } } x[ncc] = 1; y[ncc] = y[ncc-1]; /* compute area by trapezoidal rule*/ lim = x[0] < (*p) ? x[0] : *p; /*right border of first segment*/ a = (lim*y[0])/2; /*area of 1. segement (from x1=0 to x2=lim)*/ i=1; while(x[i] < (*p)){ a += ((x[i]-x[i-1])*(y[i]-y[i-1])/2) + ((x[i]-x[i-1])*y[i-1]); i++; } if(i > 2){ /*last segment (from xn to p)*/ a += (((*p)-x[i-1])*(y[i]-y[i-1])/2) + (((*p)-x[i-1])*y[i-1]); } ta = a; /*compute full AUC and flip curve if necessary*/ if((*p) < 1){ ta += ((x[i]-(*p))*(y[i]-y[i-1])/2) + ((x[i]-(*p))*y[i-1]); i++; while(i < ncc+1 && x[i] < 1){ ta += ((x[i]-x[i-1])*(y[i]-y[i-1])/2) + ((x[i]-x[i-1])*y[i-1]); i++; } ta += ((1-x[i-1])*(1-y[i-1])/2) + ((1-x[i-1])*y[i-1]); } if(flip && (*p)==1 && ta < 0.5){ /*rotate 180° if area < 0.5*/ a = (*p) - a; ta = 1-ta; } if(a>1) error("Internal error"); area[k] = a; auc[k] = ta; } } /*----------------------------------------------------------------- interface to R with arguments: data : matrix of numerics cutpts: matrix with treshholds for ROC curve calculation truth: int with values 0 and 1, defining the real classification p: numeric in 0=0)&&(truth[i]<=1))) ) error("Elements of 'truth' must be 0 or 1."); /* done with truth */ /* check input argument p */ if(!isReal(_p) || length(_p)!=1) error("'p' must be numeric."); p = REAL(_p); if(((*p)<0)||((*p)>1)) error("'p' must be between 0 and 1."); /* done with p */ /* check input argument flip */ if(!isInteger(_flip)) error("'flip' must be an integer."); flip = (int)INTEGER(_flip)[0]; /* done with flip */ /* allocate memory for return values */ PROTECT(spec = allocVector(REALSXP, nrd*ncc)); PROTECT(sens = allocVector(REALSXP, nrd*ncc)); PROTECT(dim = allocVector(INTSXP, 2)); INTEGER(dim)[0] = nrd; INTEGER(dim)[1] = ncc; SET_DIM(spec, dim); SET_DIM(sens, dim); PROTECT(area = allocVector(REALSXP, nrd)); PROTECT(auc = allocVector(REALSXP, nrd)); /* Do it! */ /* note nrc is the same as nrd */ ROCpAUC_c(data, nrd, ncd, cutp, ncc, truth, REAL(spec), REAL(sens), REAL(area), REAL(auc), p, flip); /* return value: a list with elements spec sens and pAUC */ PROTECT(res = allocVector(VECSXP, 4)); SET_VECTOR_ELT(res, 0, spec); SET_VECTOR_ELT(res, 1, sens); SET_VECTOR_ELT(res, 2, area); SET_VECTOR_ELT(res, 3, auc); PROTECT(namesres = allocVector(STRSXP, 4)); SET_STRING_ELT(namesres, 0, mkChar("spec")); SET_STRING_ELT(namesres, 1, mkChar("sens")); SET_STRING_ELT(namesres, 2, mkChar("pAUC")); SET_STRING_ELT(namesres, 3, mkChar("AUC")); setAttrib(res, R_NamesSymbol, namesres); UNPROTECT(7); /* done with res, namesres, spec, sens, dim, pAUC */ return(res); } genefilter/src/rowttests.c0000644000175200017520000001501514136046744016744 0ustar00biocbuildbiocbuild/* * Copyright W. Huber 2005 */ #include #include #include #include #include /* #define DEBUG */ char errmsg[256]; /*----------------------------------------------------------------- which=0: t-test by row which=1: t-test by column -----------------------------------------------------------------*/ void rowcolttests_c(double *x, int *fac, int nr, int nc, int no, int nt, int which, int nrgrp, int na_rm, double *statistic, double *dm, double *df) { int i, j, grp; double z, delta, newmean, factor; /* Currently the following provides for one- and two-sample t-tests (nrgrp=1 or 2), but it should be possible to generalize this code to more samples (F-test) without too many changes */ int *n[2]; double* s[2]; double* ss[2]; if(nrgrp>2) error("Please do not use 'nrgrp' >2 with 'rowcolttests'"); /* allocate and initialize storage for intermediate quantities (namely first and second moments for each group) */ for(grp=0; grp=0)&&(fac[i]=0 and < 'nrgrp'."); /* check input argument na_rm */ if (!isLogical(_na_rm) || length(_na_rm) != 1 || LOGICAL(_na_rm)[0] == R_NaInt) error("'na.rm' must be TRUE or FALSE"); na_rm = LOGICAL(_na_rm)[0]; PROTECT(statistic = allocVector(REALSXP, nt)); PROTECT(dm = allocVector(REALSXP, nt)); PROTECT(df = allocVector(REALSXP, nt)); /* Do it */ rowcolttests_c( x, fac, nr, nc, no, nt, which, nrgrp, na_rm, REAL(statistic), REAL(dm), REAL(df)); /* return value: a list with two elements, statistic and df */ PROTECT(res = allocVector(VECSXP, 3)); SET_VECTOR_ELT(res, 0, statistic); SET_VECTOR_ELT(res, 1, dm); SET_VECTOR_ELT(res, 2, df); PROTECT(namesres = allocVector(STRSXP, 3)); SET_STRING_ELT(namesres, 0, mkChar("statistic")); SET_STRING_ELT(namesres, 1, mkChar("dm")); SET_STRING_ELT(namesres, 2, mkChar("df")); setAttrib(res, R_NamesSymbol, namesres); UNPROTECT(5); /* done with res, namesres, statistic, dm, df */ return(res); } genefilter/src/ttest.f0000644000175200017520000000330014136046744016026 0ustar00biocbuildbiocbuildc By R Gray, March 19, 2000, DFCI c Copyright (C) 2000 Robert Gray c Distributed under the GNU public license c c t-statistics c first ng1 columns of d assumed to be group 1, other ng-ng1 assumed to be c group2. Note: single precision stats c c Modified by R. Gentleman, 2004, just extracted the ttest stats and c computed a ratio on demand - or fold-change subroutine fastt(d,n,ng,ng1,z,dm,eqv,ratio) real d(n,ng),z(n),dm(n) integer n,ng,ng1,ng2,eqv,ratio c initialize ng2=ng-ng1 do 61 i=1,n call tst2GM(d(i,1),ng1,ng2,n,z(i),dm(i), eqv, ratio) 61 continue return end subroutine tst2GM(d,ng1,ng2,n,tst,dm,eqv, ratio) c columns 1 to ng1 in group 1, ng1+1 to ng1+ng2 in group 2 real d(n,ng1+ng2),tst,dm double precision dm1,dm2,dss1,dss2 integer ng1,ng2,n,i,eqv, ratio dm1=0 dm2=0 dss1=0 dss2=0 do 10 i=1,ng1 dm1=dm1+d(1,i) 10 continue dm1=dm1/ng1 do 11 i=1,ng1 dss1=dss1+(d(1,i)-dm1)**2 11 continue do 12 i=1,ng2 dm2=dm2+d(1,ng1+i) 12 continue dm2=dm2/ng2 do 13 i=1,ng2 dss2=dss2+(d(1,ng1+i)-dm2)**2 13 continue if( ratio.eq.0) then dm=dm1-dm2 endif if( ratio.eq.1) then dm=dm1/dm2 endif if (dss1.eq.0.and.dss2.eq.0) then tst=0 return endif c intermediate calculations in dp, so stats with many ties give same sp result c regardless of order of calculations if( eqv .eq. 1 ) then tst=(dm1-dm2)/sqrt((1.d0/ng1+1.d0/ng2)*(dss1+dss2)/(ng1+ng2-2)) return endif tst=(dm1-dm2)/sqrt(dss1/((ng1-1)*ng1)+dss2/((ng2-1)*ng2)) end genefilter/vignettes/0000755000175200017520000000000014136071504015731 5ustar00biocbuildbiocbuildgenefilter/vignettes/howtogenefilter.Rnw0000644000175200017520000001460214136046744021641 0ustar00biocbuildbiocbuild%\VignetteIndexEntry{01 - Using the genefilter function to filter genes from a microarray dataset} %\VignetteDepends{Biobase, genefilter, class} %\VignetteKeywords{Expression Analysis} %\VignettePackage{genefilter} \documentclass{article} \usepackage{hyperref} \textwidth=6.2in \textheight=8.5in %\parskip=.3cm \oddsidemargin=.1in \evensidemargin=.1in \headheight=-.3in \newcommand{\classdef}[1]{% {\em #1} } \begin{document} \title{Using the genefilter function to filter genes from a microarray dataset} \maketitle \section*{Introduction} The {\em genefilter} package can be used to filter (select) genes from a microarray dataset according to a variety of different filtering mechanisms. Here, we will consider the example dataset in the \verb+sample.ExpressionSet+ example from the {\em Biobase} package. This experiment has 26 samples, and there are 500 genes and 3 covariates. The covariates are named \verb+sex+, \verb+type+ and \verb+score+. The first two have two levels and the last one is continuous. <<>>= library("Biobase") library("genefilter") data(sample.ExpressionSet) varLabels(sample.ExpressionSet) table(sample.ExpressionSet$sex) table(sample.ExpressionSet$type) @ %$ One dichotomy that can be of interest for subsequent analyses is whether the filter is \emph{specific} or \emph{non-specific}. Here, specific means that we are filtering with reference to sample metadata, for example, \texttt{type}. For example, if we want to select genes that are differentially expressed in the two groups defined by \texttt{type}, that is a specific filter. If on the other hand we want to select genes that are expressed in more than 5 samples, that is an example of a non--specific filter. First, let us see how to perform a non--specific filter. Suppose we want to select genes that have an expression measure above 200 in at least 5 samples. To do that we use the function \verb+kOverA+. There are three steps that must be performed. \begin{enumerate} \item Create function(s) implementing the filtering criteria. \item Assemble it (them) into a (combined) filtering function. \item Apply the filtering function to the expression matrix. \end{enumerate} <<>>= f1 <- kOverA(5, 200) ffun <- filterfun(f1) wh1 <- genefilter(exprs(sample.ExpressionSet), ffun) sum(wh1) @ Here \verb+f1+ is a function that implies our ``expression measure above 200 in at least 5 samples'' criterion, the function \verb+ffun+ is the filtering function (which in this case consists of only one criterion), and we apply it using \verb+genefilter+. There were \Sexpr{sum(wh1)} genes that satisfied the criterion and passed the filter. As an example for a specific filter, let us select genes that are differentially expressed in the groups defined by \verb+type+. <<>>= f2 <- ttest(sample.ExpressionSet$type, p=0.1) wh2 <- genefilter(exprs(sample.ExpressionSet), filterfun(f2)) sum(wh2) @ %$ Here, \texttt{ttest} is a function from the \texttt{genefilter} package which provides a suitable wrapper around \texttt{t.test} from package \textit{stats}. Now we see that there are \Sexpr{sum(wh2)} genes that satisfy the selection criterion. Suppose that we want to combine the two filters. We want those genes for which at least 5 have an expression measure over 200 \emph{and} which also are differentially expressed between the groups defined by \verb+type+. <<>>= ffun_combined <- filterfun(f1, f2) wh3 <- genefilter(exprs(sample.ExpressionSet), ffun_combined) sum(wh3) @ Now we see that there are only \Sexpr{sum(wh3)} genes that satisfy both conditions. %%FIXME: need to replace this with something else %Our last example is to select genes that are %differentially expressed in at least one of the three groups defined %by \verb+cov3+. %To do that we use an Anova filter. This filter uses an analysis of %variance appraoch (via the \verb+lm+) function to test the hypothesis %that at least one of the three group means is different from the other %%two. The test is applied, then the $p$--value computed. We select %those genes that have a low $p$--value. % %<<>>= %Afilter <- Anova(eset$cov3) %aff <- filterfun(Afilter) %wh4 <- genefilter(exprs(eset), aff) %sum(wh4) % %@ %%$ %We see that there are 14 genes that pass this filter and that are %candidates for further exploration. \section*{Selecting genes that appear useful for prediction} The function \texttt{knnCV} defined below performs $k$--nearest neighbour classification using leave--one--out cross--validation. At the same time it aggregates the genes that were selected. The function returns the predicted classifications as its returned value. However, there is an additional side effect. The number of times that each gene was used (provided it was at least one) are recorded and stored in the environment of the aggregator \verb+Agg+. These can subsequently be retrieved and used for other purposes. <>= knnCV <- function(x, selectfun, cov, Agg, pselect = 0.01, scale=FALSE) { nc <- ncol(x) outvals <- rep(NA, nc) for(i in seq_len(nc)) { v1 <- x[,i] expr <- x[,-i] glist <- selectfun(expr, cov[-i], p=pselect) expr <- expr[glist,] if( scale ) { expr <- scale(expr) v1 <- as.vector(scale(v1[glist])) } else v1 <- v1[glist] out <- paste("iter ",i, " num genes= ", sum(glist), sep="") print(out) Aggregate(row.names(expr), Agg) if( length(v1) == 1) outvals[i] <- knn(expr, v1, cov[-i], k=5) else outvals[i] <- knn(t(expr), v1, cov[-i], k=5) } return(outvals) } @ %$ <>= gfun <- function(expr, cov, p=0.05) { f2 <- ttest(cov, p=p) ffun <- filterfun(f2) which <- genefilter(expr, ffun) } @ Next we show how to use this function on the dataset \verb+geneData+. <>= library("class") ##scale the genes ##genescale is a slightly more flexible "scale" ##work on a subset -- for speed only geneData <- genescale(exprs(sample.ExpressionSet)[1:75,], 1) Agg <- new("aggregator") testcase <- knnCV(geneData, gfun, sample.ExpressionSet$type, Agg, pselect=0.05) @ <>= sort(sapply(aggenv(Agg), c), decreasing=TRUE) @ %$ The environment \verb+Agg+ contains, for each gene, the number of times it was selected in the cross-validation. \section*{Session Information} The version number of R and packages loaded for generating the vignette were: <>= toLatex(sessionInfo()) @ \end{document} genefilter/vignettes/howtogenefinder.Rnw0000644000175200017520000000742614136046744021631 0ustar00biocbuildbiocbuild%\VignetteIndexEntry{02 - How to find genes whose expression profile is similar to that of specified genes} %\VignetteDepends{Biobase, genefilter} %\VignetteKeywords{Expression Analysis} %\VignettePackage{genefilter} \documentclass{article} \usepackage{hyperref} \textwidth=6.2in \textheight=8.5in \oddsidemargin=.1in \evensidemargin=.1in \headheight=-.3in \newcommand{\classdef}[1]{% {\em #1} } \begin{document} \title{How to find genes whose expression profile is similar to that of specified genes} \maketitle \section*{Introduction} In some cases you have certain genes of interest and you would like to find other genes that are {\em close} to the genes of interest. This can be done using the \verb+genefinder+ function. You need to specify either the index position of the genes you want (which row of the expression array the gene is in) or the name (consistent with the \verb+featureNames+ of the ExpressionSet). A vector of names can be specified and matches for all will be computed. The number of matches and the distance measure used can all be specified. The examples will be carried out using the artificial data set, \verb+sample.ExpressionSet+. Two other options for \verb+genefinder+ are \verb+scale+ and \verb+method+. The \verb+scale+ option controls the scaling of the rows (this is often desirable) while the \verb+method+ option controls the distance measure used between genes. The possible values and their meanings are listed at the end of this document. <<>>= library("Biobase") library("genefilter") data(sample.ExpressionSet) igenes<- c(300,333,355,419) ##the interesting genes closeg <- genefinder(sample.ExpressionSet, igenes, 10, method="euc", scale="none") names(closeg) @ The Affymetrix identifiers (since these were originally Affymetrix data) are \verb+31539_r_at+, \verb+31572_at+, \verb+31594_at+ and \verb+31658_at+. We can find the nearest genes (by index) for any of these by simply accessing the relevant component of \verb+closeg+. <<>>= closeg$"31539_r_at" Nms1 <- featureNames(sample.ExpressionSet)[closeg$"31539_r_at"$indices] Nms1 @ %$ You could then take these names (from \verb+Nms1+) and the {\em annotate} package and explore them further. See the various HOWTO's in annotate to see how to further explore your data. Examples include finding and searching all PubMed abstracts associated with these data. Finding and downloading associated sequence information. The data can also be visualized using the {\em geneplotter} package (again there are a number of HOWTO documents there). \section*{Parameter Settings} The \verb+scale+ parameter can take the following values: \begin{description} \item[none] No scaling is done. \item[range] Scaling is done by $(x_i - x_{(1)})/(x_{(n)}- x_{(1)})$. \item[zscore] Scaling is done by $(x_i - \bar{x})/ s_x$. Where $s_x$ is the standard deviation. \end{description} The \verb+method+ parameter can take the following values: \begin{description} \item[euclidean] Euclidean distance is used. \item[maximum] Maximum distance between any two elements of x and y (supremum norm). \item[manhattan] Absolute distance between the two vectors (1 norm). \item[canberra] The $\sum (|x_i - y_i| / |x_i + y_i|)$. Terms with zero numerator and denominator are omitted from the sum and treated as if the values were missing. \item[binary] (aka asymmetric binary): The vectors are regarded as binary bits, so non-zero elements are {\em on} and zero elements are {\em off}. The distance is the proportion of bits in which only one is on amongst those in which at least one is on. \end{description} \section*{Session Information} The version number of R and packages loaded for generating the vignette were: <>= toLatex(sessionInfo()) @ \end{document} genefilter/vignettes/independent_filtering_plots.Rnw0000644000175200017520000001521614136046744024217 0ustar00biocbuildbiocbuild%\VignetteIndexEntry{03 - Additional plots for: Independent filtering increases power for detecting differentially expressed genes, Bourgon et al., PNAS (2010)} %\VignettePackage{genefilter} %\VignetteEngine{knitr::knitr} % To compile this document % library('knitr'); rm(list=ls()); knit('independent_filtering_plots.Rnw') \documentclass[10pt]{article} <>= library("knitr") opts_chunk$set(tidy=FALSE,dev="png",fig.show="hide", fig.width=4,fig.height=4.5,dpi=240, message=FALSE,error=FALSE,warning=FALSE) @ <>= BiocStyle:::latex() @ \usepackage{xstring} \newcommand{\thetitle}{Additional plots for: Independent filtering increases power for detecting differentially expressed genes, Bourgon et al., PNAS (2010)} \title{\thetitle} \author{Richard Bourgon and Wolfgang Huber} \begin{document} <>= options( width = 80 ) @ % Make title \maketitle \tableofcontents \vspace{.25in} %%%%%%%% Main text \section{Introduction} This vignette illustrates use of some functions in the \emph{genefilter} package that provide useful diagnostics for independent filtering~\cite{BourgonIndependentFiltering}: \begin{itemize} \item \texttt{kappa\_p} and \texttt{kappa\_t} \item \texttt{filtered\_p} and \texttt{filtered\_R} \item \texttt{filter\_volcano} \item \texttt{rejection\_plot} \end{itemize} \section{Data preparation} Load the ALL data set and the \emph{genefilter} package: <>= library("genefilter") library("ALL") data("ALL") @ Reduce to just two conditions, then take a small subset of arrays from these, with 3 arrays per condition: <>= bcell <- grep("^B", as.character(ALL$BT)) moltyp <- which(as.character(ALL$mol.biol) %in% c("NEG", "BCR/ABL")) ALL_bcrneg <- ALL[, intersect(bcell, moltyp)] ALL_bcrneg$mol.biol <- factor(ALL_bcrneg$mol.biol) n1 <- n2 <- 3 set.seed(1969) use <- unlist(tapply(1:ncol(ALL_bcrneg), ALL_bcrneg$mol.biol, sample, n1)) subsample <- ALL_bcrneg[,use] @ We now use functions from \emph{genefilter} to compute overall standard devation filter statistics as well as standard two-sample $t$ and releated statistics. <>= S <- rowSds( exprs( subsample ) ) temp <- rowttests( subsample, subsample$mol.biol ) d <- temp$dm p <- temp$p.value t <- temp$statistic @ \section{Filtering volcano plot} Filtering on overall standard deviation and then using a standard $t$-statistic induces a lower bound of fold change, albeit one which varies somewhat with the significance of the $t$-statistic. The \texttt{filter\_volcano} function allows you to visualize this effect. <>= S_cutoff <- quantile(S, .50) filter_volcano(d, p, S, n1, n2, alpha=.01, S_cutoff) @ The output is shown in the left panel of Fig.~\ref{fig:volcano}. \begin{figure}[tb] \begin{center} \includegraphics[width=0.49\textwidth]{figure/filter_volcano-1} \includegraphics[width=0.49\textwidth]{figure/kappa-1} \caption{Left panel: plot produced by the \texttt{filter\_volcano} function. Right panel: graph of the \texttt{kappa\_t} function.} \label{fig:volcano} \end{center} \end{figure} The \texttt{kappa\_p} and \texttt{kappa\_t} functions, used to make the volcano plot, compute the fold change bound multiplier as a function of either a $t$-test $p$-value or the $t$-statistic itself. The actual induced bound on the fold change is $\kappa$ times the filter's cutoff on the overall standard deviation. Note that fold change bounds for values of $|T|$ which are close to 0 are not of practical interest because we will not reject the null hypothesis with test statistics in this range. <>= t <- seq(0, 5, length=100) plot(t, kappa_t(t, n1, n2) * S_cutoff, xlab="|T|", ylab="Fold change bound", type="l") @ The plot is shown in the right panel of Fig.~\ref{fig:volcano}. \section{Rejection count plots} \subsection{Across $p$-value cutoffs} The \texttt{filtered\_p} function permits easy simultaneous calculation of unadjusted or adjusted $p$-values over a range of filtering thresholds ($\theta$). Here, we return to the full ``BCR/ABL'' versus ``NEG'' data set, and compute adjusted $p$-values using the method of Benjamini and Hochberg, for a range of different filter stringencies. \begin{figure}[tb] \begin{center} \includegraphics[width=0.49\textwidth]{figure/rejection_plot-1} \includegraphics[width=0.49\textwidth]{figure/filtered_R_plot-1} \caption{Left panel: plot produced by the \texttt{rejection\_plot} function. Right panel: graph of \texttt{theta}.} \label{fig:rej} \end{center} \end{figure} <
>= table(ALL_bcrneg$mol.biol) @ <>= S2 <- rowVars(exprs(ALL_bcrneg)) p2 <- rowttests(ALL_bcrneg, "mol.biol")$p.value theta <- seq(0, .5, .1) p_bh <- filtered_p(S2, p2, theta, method="BH") @ <>= head(p_bh) @ The \texttt{rejection\_plot} function takes sets of $p$-values corresponding to different filtering choices --- in the columns of a matrix or in a list --- and shows how rejection count ($R$) relates to the choice of cutoff for the $p$-values. For these data, over a reasonable range of FDR cutoffs, increased filtering corresponds to increased rejections. <>= rejection_plot(p_bh, at="sample", xlim=c(0,.3), ylim=c(0,1000), main="Benjamini & Hochberg adjustment") @ The plot is shown in the left panel of Fig.~\ref{fig:rej}. \subsection{Across filtering fractions} If we select a fixed cutoff for the adjusted $p$-values, we can also look more closely at the relationship between the fraction of null hypotheses filtered and the total number of discoveries. The \texttt{filtered\_R} function wraps \texttt{filtered\_p} and just returns rejection counts. It requires a $p$-value cutoff. <>= theta <- seq(0, .80, .01) R_BH <- filtered_R(alpha=.10, S2, p2, theta, method="BH") @ <>= head(R_BH) @ Because overfiltering (or use of a filter which is inappropriate for the application domain) discards both false and true null hypotheses, very large values of $\theta$ reduce power in this example: <>= plot(theta, R_BH, type="l", xlab=expression(theta), ylab="Rejections", main="BH cutoff = 0.1") @ The plot is shown in the right panel of Fig.~\ref{fig:rej}. %%%%%%%% Session info \section*{Session information} <>= sessionInfo() |> toLatex() @ \begin{thebibliography}{10} \bibitem{BourgonIndependentFiltering} Richard Bourgon, Robert Gentleman and Wolfgang Huber. \newblock Independent filtering increases power for detecting differentially expressed genes. \end{thebibliography} \end{document} genefilter/vignettes/library.bib0000644000175200017520000001305714136046744020071 0ustar00biocbuildbiocbuild@Article{Anders:2010:GB, url = {http://genomebiology.com/2010/11/10/R106}, author = {Simon Anders and Wolfgang Huber}, Title = {{D}ifferential expression analysis for sequence count data}, Journal = {Genome Biology}, Year = 2010, Volume = 11, Pages = {R106}, } @article{BH:1995, author = {Y. Benjamini and Y. Hochberg}, title = {Controlling the false discovery rate: a practical and powerful approach to multiple testing}, journal = "Journal of the Royal Statistical Society B", year = 1995, volume = 57, pages = "289--300" } @Article{Bourgon:2010:PNAS, ISI = {ISI:000278054700015}, URL = {http://www.pnas.org/content/107/21/9546.long}, PDF = {PNAS-2010-Bourgon-9546-51.pdf}, author = {Richard Bourgon and Robert Gentleman and Wolfgang Huber}, Title = {Independent filtering increases detection power for high-throughput experiments}, journal = {PNAS}, Year = 2010, volume = 107, number = 21, pages = {9546--9551}, } @article{Brooks2010, author = {Brooks, A. N. and Yang, L. and Duff, M. O. and Hansen, K. D. and Park, J. W. and Dudoit, S. and Brenner, S. E. and Graveley, B. R.}, doi = {10.1101/gr.108662.110}, issn = {1088-9051}, journal = {Genome Research}, pages = {193--202}, title = {{Conservation of an RNA regulatory map between Drosophila and mammals}}, url = {http://genome.cshlp.org/cgi/doi/10.1101/gr.108662.110}, year = 2011 } @Article{Tibshirani1988, author = {Robert Tibshirani}, title = {Estimating transformations for regression via additivity and variance stabilization}, journal = {Journal of the American Statistical Association}, year = 1988, volume = 83, pages = {394--405} } @misc{htseq, author = {Simon Anders}, title = {{HTSeq: Analysing high-throughput sequencing data with Python}}, year = 2011, howpublished = {\url{http://www-huber.embl.de/users/anders/HTSeq/}} } @article{sagmb2003, title = {Parameter estimation for the calibration and variance stabilization of microarray data}, author = {Wolfgang Huber and Anja von Heydebreck and Holger {S\"ultmann} and Annemarie Poustka and Martin Vingron}, journal = {Statistical Applications in Genetics and Molecular Biology}, year = 2003, volume = 2, number = 1, pages = {Article 3} } @misc{summarizeOverlaps, author = {Valerie Obenchain}, title = {Counting with \texttt{summarizeOverlaps}}, year = 2011, howpublished = {Vignette, distributed as part of the Bioconductor package \emph{GenomicRanges}, as file \emph{summarizeOverlaps.pdf}} } @article{Anders:2012:GR, author = {Simon Anders and Alejandro Reyes and Wolfgang Huber}, title = {Detecting differential usage of exons from {RNA-seq} data }, year = {2012}, journal = {Genome Research}, doi = {10.1101/gr.133744.111}, } @article{CR, author = {Cox, D. R. and Reid, N.}, journal = {Journal of the Royal Statistical Society, Series B}, keywords = {CML,Cox-Reid,ML,dispersion}, mendeley-tags = {CML,Cox-Reid,ML,dispersion}, number = {1}, pages = {1--39}, title = {{Parameter orthogonality and approximate conditional inference}}, url = {http://www.jstor.org/stable/2345476}, volume = {49}, year = {1987} } @article{edgeR_GLM, author = {McCarthy, Davis J and Chen, Yunshun and Smyth, Gordon K}, doi = {10.1093/nar/gks042}, issn = {1362-4962}, journal = {Nucleic Acids Research}, keywords = {edgeR}, mendeley-tags = {edgeR}, month = jan, pmid = {22287627}, title = {{Differential expression analysis of multifactor RNA-Seq experiments with respect to biological variation}}, url = {http://www.ncbi.nlm.nih.gov/pubmed/22287627}, year = {2012}, volume={40}, pages={4288-4297} } @article{SchwederSpjotvoll1982, author={Schweder, T. and Spj\/{o}tvoll, E.}, title={Plots of {P-values} to evaluate many tests simultaneously}, journal={Biometrika}, year={1982}, volume=69, pages={493-502}, doi={10.1093/biomet/69.3.493} } @article{Haglund2012Evidence, abstract = {{Context: Primary hyperparathyroidism (PHPT) is most frequently present in postmenopausal women. Although the involvement of estrogen has been suggested, current literature indicates that parathyroid tumors are estrogen receptor (ER) alpha negative.}}, author = {Haglund, Felix and Ma, Ran and Huss, Mikael and Sulaiman, Luqman and Lu, Ming and Nilsson, Inga-Lena and H\"{o}\"{o}g, Anders and Juhlin, Christofer C. and Hartman, Johan and Larsson, Catharina}, day = {28}, doi = {10.1210/jc.2012-2484}, issn = {1945-7197}, journal = {Journal of Clinical Endocrinology \& Metabolism}, month = sep, pmid = {23024189}, posted-at = {2012-11-23 08:40:12}, priority = {2}, publisher = {Endocrine Society}, title = {{Evidence of a Functional Estrogen Receptor in Parathyroid Adenomas}}, url = {https://doi.org/10.1210/jc.2012-2484}, year = {2012} } @article{Wu2012New, author = {Wu, Hao and Wang, Chi and Wu, Zhijin}, day = {22}, doi = {10.1093/biostatistics/kxs033}, issn = {1468-4357}, journal = {Biostatistics}, month = sep, pmid = {23001152}, posted-at = {2013-02-26 17:09:19}, priority = {2}, publisher = {Oxford University Press}, title = {{A new shrinkage estimator for dispersion improves differential expression detection in RNA-seq data}}, url = {https://doi.org/10.1093/biostatistics/kxs033}, year = {2012} }