ConsensusClusterPlus/DESCRIPTION0000644000175200017520000000137114710274340017474 0ustar00biocbuildbiocbuildPackage: ConsensusClusterPlus Type: Package Imports: Biobase, ALL, graphics, stats, utils, cluster Title: ConsensusClusterPlus Version: 1.70.0 Date: 2020-4-24 Author: Matt Wilkerson , Peter Waltman Maintainer: Matt Wilkerson Description: algorithm for determining cluster count and membership by stability evidence in unsupervised analysis License: GPL version 2 biocViews: Software, Clustering git_url: https://git.bioconductor.org/packages/ConsensusClusterPlus git_branch: RELEASE_3_20 git_last_commit: 7e4ddf6 git_last_commit_date: 2024-10-29 Repository: Bioconductor 3.20 Date/Publication: 2024-10-29 NeedsCompilation: no Packaged: 2024-10-30 00:08:00 UTC; biocbuild ConsensusClusterPlus/MD50000644000175200017520000000116314710274340016275 0ustar00biocbuildbiocbuildd2f8eaa93fa677c43bb86594290c76da *DESCRIPTION 3b138e273d8ad52457957f0388da639a *NAMESPACE 634bfb9fc3da6c92baf4d35699bb53bb *R/ConsensusClusterPlus.R c9fc2e54ae28b92a3809cb45c06aa789 *build/vignette.rds e72a8f7b5af8d3c6bd4acde4697a5fda *inst/CITATION 3e924a36feac60bca0cd8902244bf20b *inst/NEWS 02b53e4c7d00f1c0360633db327badd0 *inst/doc/ConsensusClusterPlus.R 19784606571e19e06c8765512c831de6 *inst/doc/ConsensusClusterPlus.Rnw 061be0391f9484e167e17154e37d59f3 *inst/doc/ConsensusClusterPlus.pdf f4edea55c70655ccfa4ae74cfa71ed74 *man/ConsensusClusterPlus.Rd 19784606571e19e06c8765512c831de6 *vignettes/ConsensusClusterPlus.Rnw ConsensusClusterPlus/NAMESPACE0000755000175200017520000000055314710217531017210 0ustar00biocbuildbiocbuildexport(ConsensusClusterPlus,calcICL) importFrom(graphics, barplot, hist, legend, lines, par, plot, rect, segments, text) importFrom(grDevices, dev.off, pdf, png, rainbow, rgb) importFrom(stats, as.dendrogram, as.dist, cor, cutree, dist, hclust,heatmap, kmeans) importFrom(utils, write.csv, write.table) importFrom(Biobase, exprs) importFrom(cluster, pam, diana) ConsensusClusterPlus/R/0000755000175200017520000000000014710217531016164 5ustar00biocbuildbiocbuildConsensusClusterPlus/R/ConsensusClusterPlus.R0000644000175200017520000006022114710217531022476 0ustar00biocbuildbiocbuildConsensusClusterPlus <- function( d=NULL, maxK = 3, reps=10, pItem=0.8, pFeature=1, clusterAlg="hc", title="untitled_consensus_cluster", innerLinkage="average", finalLinkage="average", distance="pearson", ml=NULL, tmyPal=NULL, seed=NULL, plot=NULL, writeTable=FALSE, weightsItem=NULL, weightsFeature=NULL, verbose=F, corUse="everything" ) { ##description: runs consensus subsamples if(is.null(seed)==TRUE){ seed=timeSeed = as.numeric(Sys.time()) } set.seed(seed) #distance=ifelse( inherits(d,"dist"), attr( d, "method" ), "pearson" ) if(is.null(ml)==TRUE){ if ( ! any(class( d ) %in% c( "dist", "matrix", "ExpressionSet" )) ) { stop("d must be a matrix, distance object or ExpressionSet (eset object)") } if ( inherits( d, "dist" ) ) { ## if d is a distance matrix, fix a few things so that they don't cause problems with the analysis ## Note, assumption is that if d is a distance matrix, the user doesn't want to sample over the row features if ( is.null( attr( d, "method" ) ) ) { attr( d, "method" ) <- distance <- "unknown - user-specified" } if ( is.null( distance ) || ( distance != attr( d, "method" ) ) ) { distance <- attr( d, "method" ) } if ( ( ! is.null( pFeature ) ) && ( pFeature < 1 ) ) { message( "Cannot use the pFeatures parameter when specifying a distance matrix as the data object, setting pFeature to 1.\n" ) pFeature <- 1 } if ( ! is.null( weightsFeature ) ) { message( "Cannot use the weightsFeature parameter when specifying a distance matrix as the data object\n" ) weightsFeature <- NULL } } else { if ( is.null( distance ) ) { ## we should never get here, but just in case message("no specified distance, setting distance to Pearson"); distance <- "pearson" } } if ( ( clusterAlg == "km" ) && inherits( distance, "character" ) && ( distance != "euclidean" ) ) { message( "Note: The km (kmeans) option only supports a euclidean distance metric when supplying a data matrix. If you want to cluster a distance matrix, use a different algorithm such as 'hc' or 'pam'. Changing distance to euclidean") distance <- 'euclidean' } if ( inherits( d,"ExpressionSet" ) ) { d <- exprs(d) } ml <- ccRun( d=d, maxK=maxK, repCount=reps, diss=inherits(d,"dist"), pItem=pItem, pFeature=pFeature, innerLinkage=innerLinkage, clusterAlg=clusterAlg, weightsFeature=weightsFeature, weightsItem=weightsItem, distance=distance, verbose=verbose, corUse=corUse) } res=list(); ##make results directory if((is.null(plot)==FALSE | writeTable) & !file.exists(paste(title,sep=""))){ dir.create(paste(title,sep="")) } ##write log file log <- matrix( ncol=2, byrow=T, c("title",title, "maxK",maxK, "input matrix rows",ifelse ( inherits( d, "matrix" ), nrow(d), "dist-mat" ), "input matrix columns",ifelse ( inherits( d, "matrix" ), ncol(d), ncol( as.matrix(d) ) ), "number of bootstraps",reps, "item subsampling proportion",pItem, "feature subsampling proportion",ifelse( is.null(pFeature), 1, pFeature ), "cluster algorithm",clusterAlg, "inner linkage type",innerLinkage, "final linkage type",finalLinkage, "correlation method",distance, "plot",if(is.null(plot)) NA else plot, "seed",if(is.null(seed)) NA else seed)) colnames(log) = c("argument","value") if(writeTable){ write.csv(file=paste(title,"/",title,".log.csv",sep=""), log,row.names=F) } if(is.null(plot)){ ##nothing }else if(plot=="pngBMP"){ bitmap(paste(title,"/","consensus%03d.png",sep="")) }else if(plot=="png"){ png(paste(title,"/","consensus%03d.png",sep="")) }else if (plot=="pdf"){ pdf(onefile=TRUE, paste(title,"/","consensus.pdf",sep="")) }else if (plot=="ps"){ postscript(onefile=TRUE, paste(title,"/","consensus.ps",sep="")) } colorList=list() colorM = rbind() #matrix of colors. #18 colors for marking different clusters thisPal <- c("#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#FFFF99","#B15928", "#bd18ea", #magenta "#2ef4ca", #aqua "#f4cced", #pink, "#f4cc03", #lightorange "#05188a", #navy, "#e5a25a", #light brown "#06f106", #bright green "#85848f", #med gray "#000000", #black "#076f25", #dark green "#93cd7f",#lime green "#4d0776", #dark purple "#ffffff" #white ) ##plot scale colBreaks=NA if(is.null(tmyPal)==TRUE){ colBreaks=10 tmyPal = myPal(colBreaks) }else{ colBreaks=length(tmyPal) } sc = cbind(seq(0,1,by=1/( colBreaks) )); rownames(sc) = sc[,1] sc = cbind(sc,sc) heatmap(sc, Colv=NA, Rowv=NA, symm=FALSE, scale='none', col=tmyPal, na.rm=TRUE,labRow=rownames(sc),labCol=F,main="consensus matrix legend") for (tk in 2:maxK){ if(verbose){ message(paste("consensus ",tk)) } fm = ml[[tk]] hc=hclust( as.dist( 1 - fm ), method=finalLinkage); message("clustered") ct = cutree(hc,tk) names(ct) = colnames(d) if(any(class(d)=="dist")){ names(ct) = colnames(as.matrix(d)) } c = fm colorList = setClusterColors(res[[tk-1]][[3]],ct,thisPal,colorList) pc = c pc=pc[hc$order,] #pc is matrix for plotting, same as c but is row-ordered and has names and extra row of zeros. if(!is.null(plot) && plot=="pngBMP"){ pc = pc[,hc$order ] #mod for no tree pc = rbind(pc,0) #no dendrogram if pngBMP oc = colorList[[1]][hc$order] #mod for no tree heatmap(pc, Colv = NA, Rowv = NA, symm = FALSE, scale = "none", col = tmyPal, na.rm = TRUE, labRow = F, labCol = F, mar = c(5, 5), main = paste("consensus matrix k=", tk, sep = ""), ColSideCol = oc) }else{ pc = rbind(pc,0) #former with tree: heatmap(pc, Colv=as.dendrogram(hc), Rowv=NA, symm=FALSE, scale='none', col=tmyPal, na.rm=TRUE,labRow=F,labCol=F,mar=c(5,5),main=paste("consensus matrix k=",tk,sep="") , ColSideCol=colorList[[1]]) } legend("topright",legend=unique(ct),fill=unique(colorList[[1]]),horiz=FALSE ) res[[tk]] = list(consensusMatrix=c,consensusTree=hc,consensusClass=ct,ml=ml[[tk]],clrs=colorList) colorM = rbind(colorM,colorList[[1]]) } CDF(ml) clusterTrackingPlot(colorM[,res[[length(res)]]$consensusTree$order]) if(is.null(plot)==FALSE){ dev.off(); } res[[1]] = colorM if(writeTable){ for(i in 2:length(res)){ write.csv(file=paste(title,"/",title,".k=",i,".consensusMatrix.csv",sep=""), res[[i]]$consensusMatrix) write.table(file=paste(title,"/",title,".k=",i,".consensusClass.csv",sep=""), res[[i]]$consensusClass,col.names = F,sep=",") } } return(res) } calcICL = function(res,title="untitled_consensus_cluster",plot=NULL,writeTable=FALSE){ #calculates and plots cluster consensus and item consensus cc=rbind() cci = rbind() sumRes=list() colorsArr=c() #make results directory if((is.null(plot)==FALSE | writeTable) & !file.exists(paste(title,sep=""))){ dir.create(paste(title,sep="")) } if(is.null(plot)){ #to screen }else if(plot=="pdf"){ pdf(onefile=TRUE, paste(title,"/","icl.pdf",sep="")) }else if(plot=="ps"){ postscript(onefile=TRUE, paste(title,"/","icl.ps",sep="")) }else if (plot=="png"){ png(paste(title,"/","icl%03d.png",sep="")) }else if (plot=="pngBMP"){ bitmap(paste(title,"/","icl%03d.png",sep="")) } par(mfrow=c(3,1),mar=c(4,3,2,0)) for (k in 2:length(res)){ #each k eiCols = c(); o = res[[k]] m = o$consensusMatrix m = triangle(m,mode=2) for (ci in sort(unique(o$consensusClass))){ #each cluster in k items = which(o$consensusClass==ci) nk = length(items) mk = sum( m[items,items], na.rm=T)/((nk*(nk-1))/2) cc=rbind(cc,c(k,ci,mk)) #cluster-consensus for (ei in rev(res[[2]]$consensusTree$order) ){ denom = if (ei %in% items) { nk - 1} else { nk } mei = sum( c(m[ei,items],m[items,ei]), na.rm=T)/denom # mean item consensus to a cluster. cci = rbind(cci,c(k,ci,ei,mei)) #cluster, cluster index, item index, item-consensus } eiCols = c(eiCols, rep(ci,length(o$consensusClass)) ) } cck = cci[which(cci[,1]==k),] #only plot the new k data. #group by item, order by cluster i w=lapply(split(cck,cck[,3]), function(x) { y=matrix(unlist(x),ncol=4); y[order(y[,2]),4] }) q = matrix(as.numeric(unlist(w)),ncol=length(w),byrow=F) q = q[,res[[2]]$consensusTree$order] #order by leave order of k=2 #q is a matrix of k rows and sample columns, values are item consensus of sample to the cluster. thisColors = unique(cbind(res[[k]]$consensusClass,res[[k]]$clrs[[1]])) thisColors=thisColors[order(as.numeric(thisColors[,1])),2] colorsArr=c(colorsArr,thisColors) sumRes[[k]] = rankedBarPlot(q,thisColors,cc=res[[k]]$consensusClass[res[[2]]$consensusTree$order],paste("k=",k,sep="") ) } ys=cs=lab=c() lastk=cc[1,1] for(i in 1:length(colorsArr)){ if(lastk != cc[i,1]){ ys=c(ys,0,0) cs=c(cs,NA,NA) lastk=cc[i,1] lab=c(lab,NA,NA) } ys=c(ys,cc[i,3]) cs=c(cs,colorsArr[i]) lab=c(lab,cc[i,1]) } names(ys) = lab par(mfrow=c(3,1),mar=c(4,3,2,0)) barplot(ys,col=cs,border=cs,main="cluster-consensus",ylim=c(0,1),las=1) if(is.null(plot)==FALSE){ dev.off() } colnames(cc) = c("k","cluster","clusterConsensus") colnames(cci) = c("k","cluster","item","itemConsensus") cci[,"item"] = names(res[[2]]$consensusClass)[ cci[,"item"] ] #type cci cci = data.frame( k=as.numeric(cci[,"k"]), cluster=as.numeric(cci[,"cluster"]), item=cci[,"item"], itemConsensus=as.numeric(cci[,"itemConsensus"])) #write to file. if(writeTable){ write.csv(file=paste(title,"/",title,".summary.cluster.consensus.csv",sep=""),row.names=F, cc) write.csv(file=paste(title,"/",title,".summary.item.consensus.csv",sep=""), row.names=F, cc) } return(list(clusterConsensus=cc,itemConsensus=cci)) } ccRun <- function( d=d, maxK=NULL, repCount=NULL, diss=inherits( d, "dist" ), pItem=NULL, pFeature=NULL, innerLinkage=NULL, distance=NULL, #ifelse( inherits(d,"dist"), attr( d, "method" ), "euclidean" ),@@@@@ clusterAlg=NULL, weightsItem=NULL, weightsFeature=NULL, verbose=NULL, corUse=NULL) { m = vector(mode='list', repCount) ml = vector(mode="list",maxK) n <- ifelse( diss, ncol( as.matrix(d) ), ncol(d) ) mCount = mConsist = matrix(c(0),ncol=n,nrow=n) ml[[1]] = c(0); if (is.null( distance ) ) distance <- 'euclidean' ## necessary if d is a dist object and attr( d, "method" ) == NULL acceptable.distance <- c( "euclidean", "maximum", "manhattan", "canberra", "binary","minkowski", "pearson", "spearman" ) main.dist.obj <- NULL if ( diss ){ main.dist.obj <- d ## reset the pFeature & weightsFeature params if they've been set (irrelevant if d is a dist matrix) if ( ( !is.null(pFeature) ) && ( pFeature < 1 ) ) { message( "user-supplied data is a distance matrix; ignoring user-specified pFeature parameter\n" ) pFeature <- 1 # set it to 1 to avoid problems with sampleCols } if ( ! is.null( weightsFeature ) ) { message( "user-supplied data is a distance matrix; ignoring user-specified weightsFeature parameter\n" ) weightsFeature <- NULL # set it to NULL to avoid problems with sampleCols } } else { ## d is a data matrix ## we're not sampling over the features if ( ( clusterAlg != "km" ) && ( is.null( pFeature ) || ( ( pFeature == 1 ) && is.null( weightsFeature ) ) ) ) { ## only generate a main.dist.object IFF 1) d is a matrix, 2) we're not sampling the features, and 3) the algorithm isn't 'km' if ( inherits( distance, "character" ) ) { if ( ! distance %in% acceptable.distance & ( class(try(get(distance),silent=T))!="function") ) stop("unsupported distance.") if(distance=="pearson" | distance=="spearman"){ main.dist.obj <- as.dist( 1-cor(d,method=distance,use=corUse )) }else if( class(try(get(distance),silent=T))=="function"){ main.dist.obj <- get(distance)( t( d ) ) }else{ main.dist.obj <- dist( t(d), method=distance ) } attr( main.dist.obj, "method" ) <- distance } else stop("unsupported distance specified.") } else { ## pFeature < 1 or a weightsFeature != NULL ## since d is a data matrix, the user wants to sample over the gene features, so main.dist.obj is left as NULL } } for (i in 1:repCount){ if(verbose){ message(paste("random subsample",i)); } ## take expression matrix sample, samples and genes sample_x = sampleCols( d, pItem, pFeature, weightsItem, weightsFeature ) this_dist = NA if ( ! is.null( main.dist.obj ) ) { boot.cols <- sample_x$subcols this_dist <- as.matrix( main.dist.obj )[ boot.cols, boot.cols ] if ( clusterAlg != "km" ) { ## if this isn't kmeans, then convert to a distance object this_dist <- as.dist( this_dist ) attr( this_dist, "method" ) <- attr( main.dist.obj, "method" ) } } else { ## if main.dist.obj is NULL, then d is a data matrix, and either: ## 1) clusterAlg is 'km' ## 2) pFeatures < 1 or weightsFeatures have been specified, or ## 3) both ## so we can't use a main distance object and for every iteration, we will have to re-calculate either ## 1) the distance matrix (because we're also sampling the features as well), or ## 2) the submat (if using km) if ( clusterAlg != "km" ) { if ( ! distance %in% acceptable.distance & ( class(try(get(distance),silent=T))!="function") ) stop("unsupported distance.") if( ( class(try(get(distance),silent=T))=="function") ){ this_dist <- get(distance)( t( sample_x$submat ) ) }else{ if( distance == "pearson" | distance == "spearman"){ this_dist <- as.dist( 1-cor(sample_x$submat,use=corUse,method=distance) ) }else{ this_dist <- dist( t( sample_x$submat ), method= distance ) } } attr( this_dist, "method" ) <- distance } else { ## if we're not sampling the features, then grab the colslice if ( is.null( pFeature ) || ( ( pFeature == 1 ) && is.null( weightsFeature ) ) ) { this_dist <- d[, sample_x$subcols ] } else { if ( is.na( sample_x$submat ) ) { stop( "error submat is NA" ) } this_dist <- sample_x$submat } } } ## cluster samples for HC. this_cluster=NA if(clusterAlg=="hc"){ this_cluster = hclust( this_dist, method=innerLinkage) } ##mCount is possible number of times that two sample occur in same random sample, independent of k ##mCount stores number of times a sample pair was sampled together. mCount <- connectivityMatrix( rep( 1,length(sample_x[[3]])), mCount, sample_x[[3]] ) ##use samples for each k for (k in 2:maxK){ if(verbose){ message(paste(" k =",k)) } if (i==1){ ml[[k]] = mConsist #initialize } this_assignment=NA if(clusterAlg=="hc"){ ##prune to k for hc this_assignment = cutree(this_cluster,k) }else if(clusterAlg=="km"){ ##this_dist should now be a matrix corresponding to the result from sampleCols this_assignment <- kmeans( t( this_dist ), k, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong") )$cluster }else if ( clusterAlg == "pam" ) { this_assignment <- pam( x=this_dist, k, diss=TRUE, metric=distance, cluster.only=TRUE ) } else{ ##optional cluterArg Hook. this_assignment <- get(clusterAlg)(this_dist, k) } ##add to tally ml[[k]] <- connectivityMatrix( this_assignment, ml[[k]], sample_x[[3]] ) } } ##consensus fraction res = vector(mode="list",maxK) for (k in 2:maxK){ ##fill in other half of matrix for tally and count. tmp = triangle(ml[[k]],mode=3) tmpCount = triangle(mCount,mode=3) res[[k]] = tmp / tmpCount res[[k]][which(tmpCount==0)] = 0 } message("end fraction") return(res) } connectivityMatrix <- function( clusterAssignments, m, sampleKey){ ##input: named vector of cluster assignments, matrix to add connectivities ##output: connectivity matrix names( clusterAssignments ) <- sampleKey cls <- lapply( unique( clusterAssignments ), function(i) as.numeric( names( clusterAssignments[ clusterAssignments %in% i ] ) ) ) #list samples by clusterId for ( i in 1:length( cls ) ) { nelts <- 1:ncol( m ) cl <- as.numeric( nelts %in% cls[[i]] ) ## produces a binary vector updt <- outer( cl, cl ) #product of arrays with * function; with above indicator (1/0) statement updates all cells to indicate the sample pair was observed int the same cluster; m <- m + updt } return(m) } sampleCols <- function( d, pSamp=NULL, pRow=NULL, weightsItem=NULL, weightsFeature=NULL ){ ## returns a list with the sample columns, as well as the sub-matrix & sample features (if necessary) ## if no sampling over the features is performed, the submatrix & sample features are returned as NAs ## to reduce memory overhead space <- ifelse( inherits( d, "dist" ), ncol( as.matrix(d) ), ncol(d) ) sampleN <- floor(space*pSamp) sampCols <- sort( sample(space, sampleN, replace = FALSE, prob = weightsItem) ) this_sample <- sampRows <- NA if ( inherits( d, "matrix" ) ) { if ( (! is.null( pRow ) ) && ( (pRow < 1 ) || (! is.null( weightsFeature ) ) ) ) { ## only sample the rows and generate a sub-matrix if we're sampling over the row/gene/features space = nrow(d) sampleN = floor(space*pRow) sampRows = sort( sample(space, sampleN, replace = FALSE, prob = weightsFeature) ) this_sample <- d[sampRows,sampCols] dimnames(this_sample) <- NULL } else { ## do nothing } } return( list( submat=this_sample, subrows=sampRows, subcols=sampCols ) ) } CDF=function(ml,breaks=100){ #plot CDF distribution plot(c(0),xlim=c(0,1),ylim=c(0,1),col="white",bg="white",xlab="consensus index",ylab="CDF",main="consensus CDF", las=2) k=length(ml) this_colors = rainbow(k-1) areaK = c() for (i in 2:length(ml)){ v=triangle(ml[[i]],mode=1) #empirical CDF distribution. default number of breaks is 100 h = hist(v, plot=FALSE, breaks=seq(0,1,by=1/breaks)) h$counts = cumsum(h$counts)/sum(h$counts) #calculate area under CDF curve, by histogram method. thisArea=0 for (bi in 1:(length(h$breaks)-1)){ thisArea = thisArea + h$counts[bi]*(h$breaks[bi+1]-h$breaks[bi]) #increment by height by width bi = bi + 1 } areaK = c(areaK,thisArea) lines(h$mids,h$counts,col=this_colors[i-1],lwd=2,type='l') } legend(0.8,0.5,legend=paste(rep("",k-1),seq(2,k,by=1),sep=""),fill=this_colors) #plot area under CDF change. deltaK=areaK[1] #initial auc at k=2 for(i in 2:(length(areaK))){ #proportional increase relative to prior K. deltaK = c(deltaK,( areaK[i] - areaK[i-1])/areaK[i-1]) } plot(1+(1:length(deltaK)),y=deltaK,xlab="k",ylab="relative change in area under CDF curve",main="Delta area",type="b") } myPal = function(n=10){ #returns n colors seq = rev(seq(0,255,by=255/(n))) palRGB = cbind(seq,seq,255) rgb(palRGB,maxColorValue=255) } setClusterColors = function(past_ct,ct,colorU,colorList){ #description: sets common color of clusters between different K newColors = c() if(length(colorList)==0){ #k==2 newColors = colorU[ct] colori=2 }else{ newColors = rep(NULL,length(ct)) colori = colorList[[2]] mo=table(past_ct,ct) m=mo/apply(mo,1,sum) for(tci in 1:ncol(m)){ # for each cluster maxC = max(m[,tci]) pci = which(m[,tci] == maxC) if( sum(m[,tci]==maxC)==1 & max(m[pci,])==maxC & sum(m[pci,]==maxC)==1 ) { #if new column maximum is unique, same cell is row maximum and is also unique ##Note: the greatest of the prior clusters' members are the greatest in a current cluster's members. newColors[which(ct==tci)] = unique(colorList[[1]][which(past_ct==pci)]) # one value }else{ #add new color. colori=colori+1 newColors[which(ct==tci)] = colorU[colori] } } } return(list(newColors,colori,unique(newColors) )) } clusterTrackingPlot = function(m){ #description: plots cluster tracking plot #input: m - matrix where rows are k, columns are samples, and values are cluster assignments. plot(NULL,xlim=c(-0.1,1),ylim=c(0,1),axes=FALSE,xlab="samples",ylab="k",main="tracking plot") for(i in 1:nrow(m)){ rect( xleft=seq(0,1-1/ncol(m),by=1/ncol(m)), ybottom=rep(1-i/nrow(m),ncol(m)) , xright=seq(1/ncol(m),1,by=1/ncol(m)), ytop=rep(1-(i-1)/nrow(m),ncol(m)), col=m[i,],border=NA) } #hatch lines to indicate samples xl = seq(0,1-1/ncol(m),by=1/ncol(m)) segments( xl, rep(-0.1,ncol(m)) , xl, rep(0,ncol(m)), col="black") #** alt white and black color? ypos = seq(1,0,by=-1/nrow(m))-1/(2*nrow(m)) text(x=-0.1,y=ypos[-length(ypos)],labels=seq(2,nrow(m)+1,by=1)) } triangle = function(m,mode=1){ #mode=1 for CDF, vector of lower triangle. #mode==3 for full matrix. #mode==2 for calcICL; nonredundant half matrix coun #mode!=1 for summary n=dim(m)[1] nm = matrix(0,ncol=n,nrow=n) fm = m nm[upper.tri(nm)] = m[upper.tri(m)] #only upper half fm = t(nm)+nm diag(fm) = diag(m) nm=fm nm[upper.tri(nm)] = NA diag(nm) = NA vm = m[lower.tri(nm)] if(mode==1){ return(vm) #vector }else if(mode==3){ return(fm) #return full matrix }else if(mode == 2){ return(nm) #returns lower triangle and no diagonal. no double counts. } } rankedBarPlot=function(d,myc,cc,title){ colors = rbind() #each row is a barplot series byRank = cbind() spaceh = 0.1 #space between bars for(i in 1:ncol(d)){ byRank = cbind(byRank,sort(d[,i],na.last=F)) colors = rbind(colors,order(d[,i],na.last=F)) } maxH = max(c(1.5,apply(byRank,2,sum)),na.rm=T) #maximum height of graph #barplot largest to smallest so that smallest is in front. barp = barplot( apply(byRank,2,sum) , col=myc[colors[,1]] ,space=spaceh,ylim=c(0,maxH),main=paste("item-consensus", title),border=NA,las=1 ) for(i in 2:nrow(byRank)){ barplot( apply(matrix(byRank[i:nrow(byRank),],ncol=ncol(byRank)) ,2,sum), space=spaceh,col=myc[colors[,i]],ylim=c(0,maxH), add=T,border=NA,las=1 ) } xr=seq(spaceh,ncol(d)+ncol(d)*spaceh,(ncol(d)+ncol(d)*spaceh)/ncol(d) ) #class labels as asterisks text("*",x=xr+0.5,y=maxH,col=myc[cc],cex=1.4) #rect(xr,1.4,xr+1,1.5,col=myc[cc] ) } ConsensusClusterPlus/build/0000755000175200017520000000000014710274337017071 5ustar00biocbuildbiocbuildConsensusClusterPlus/build/vignette.rds0000644000175200017520000000032614710274337021431 0ustar00biocbuildbiocbuildb```b`aad`b2 1# 'p+N+.-v)-.I- RzAyhdS)-/L!Ђ44ub-Z Xt%Z]?4-ީE0=(jؠjX2sRad9.nP&c0Gq?gQ~8jݣ9JI,IK+\ ConsensusClusterPlus/inst/0000755000175200017520000000000014710274337016747 5ustar00biocbuildbiocbuildConsensusClusterPlus/inst/CITATION0000644000175200017520000000104414710217531020074 0ustar00biocbuildbiocbuildcitEntry(entry="Article", author = "Wilkerson, Matthew D. and Hayes, D. Neil", title = "ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking", volume = "26", number = "12", pages = "1572-1573", year = "2010", url = "http://bioinformatics.oxfordjournals.org/content/26/12/1572.abstract", journal = "Bioinformatics", textVersion="Wilkerson, M.D., Hayes, D.N. (2010). ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking. Bioinformatics, 2010 Jun 15;26(12):1572-3." ) ConsensusClusterPlus/inst/NEWS0000644000175200017520000000246214710217531017443 0ustar00biocbuildbiocbuildVersion 1.52.0 Brief R code update for compatibilty with R 4.0. Improved messages. Deprecated kmdist clustering option. Version 1.35.0 Added CITATION file, updated references, and man pages. Version 1.11.1. For large datasets, the input data (d) was modified to also accept a distance matrix which reduces computation time, and plotBMP was added a plot type so that large consensus matrices can be plotted. Internal data structures were modified to increase speed. Distance metric options expanded ("maximum", "manhattan", "canberra", "binary","minkowski" from dist) and custom distance function option added. Partitioning Around Mediods clustering (from cluster package) was added as a clustering algorithm. Kmeans invocation ("km") was changed to run on a data matrix input by default. "kmdist" performs kmeans clustering on a distance matrix calcualted from the resampled data. In versions prior to 1.11.1, the "km" option refers to kmdist. Users wishing to use this kmeans invocation in versions 1.11.1 or later should use option kmdist. Version 1.5.1. 1.0.1 changes were re-incorporated into Bioc 2.9, 2.8. Version 1.0.1 was part of Bioc 2.6, but not part of Bioc 2.7. Version 1.0.1. Item-consensus calculation was corrected. Consensus matric heat maps are now guaranteed to correspond to the scale. ConsensusClusterPlus/inst/doc/0000755000175200017520000000000014710274337017514 5ustar00biocbuildbiocbuildConsensusClusterPlus/inst/doc/ConsensusClusterPlus.R0000644000175200017520000001256014710274337024031 0ustar00biocbuildbiocbuild### R code from vignette source 'ConsensusClusterPlus.Rnw' ################################################### ### code chunk number 1: ConsensusClusterPlus.Rnw:37-41 ################################################### library(ALL) data(ALL) d=exprs(ALL) d[1:5,1:5] ################################################### ### code chunk number 2: ConsensusClusterPlus.Rnw:48-50 ################################################### mads=apply(d,1,mad) d=d[rev(order(mads))[1:5000],] ################################################### ### code chunk number 3: ConsensusClusterPlus.Rnw:55-56 ################################################### d = sweep(d,1, apply(d,1,median,na.rm=T)) ################################################### ### code chunk number 4: ConsensusClusterPlus.Rnw:70-74 ################################################### library(ConsensusClusterPlus) title=tempdir() results = ConsensusClusterPlus(d,maxK=6,reps=50,pItem=0.8,pFeature=1, title=title,clusterAlg="hc",distance="pearson",seed=1262118388.71279,plot="png") ################################################### ### code chunk number 5: ConsensusClusterPlus.Rnw:77-79 ################################################### cat(sprintf("\\graphicspath{{%s}}", paste(gsub("[\\]","/",title),"/",sep=""))) cat("\n") ################################################### ### code chunk number 6: ConsensusClusterPlus.Rnw:84-96 ################################################### #consensusMatrix - the consensus matrix. #For .example, the top five rows and columns of results for k=2: results[[2]][["consensusMatrix"]][1:5,1:5] #consensusTree - hclust object results[[2]][["consensusTree"]] #consensusClass - the sample classifications results[[2]][["consensusClass"]][1:5] #ml - consensus matrix result #clrs - colors for cluster ################################################### ### code chunk number 7: ConsensusClusterPlus.Rnw:104-105 ################################################### icl = calcICL(results,title=title,plot="png") ################################################### ### code chunk number 8: ConsensusClusterPlus.Rnw:109-110 ################################################### icl[["clusterConsensus"]] ################################################### ### code chunk number 9: ConsensusClusterPlus.Rnw:113-114 ################################################### icl[["itemConsensus"]][1:5,] ################################################### ### code chunk number 10: ConsensusClusterPlus.Rnw:125-126 ################################################### cat("\\includegraphics[width=60mm]{consensus001.png}",sep="") ################################################### ### code chunk number 11: ConsensusClusterPlus.Rnw:135-137 ################################################### cat("\\includegraphics[width=60mm]{consensus002.png}",sep="") cat("\\includegraphics[width=60mm]{consensus003.png}",sep="") ################################################### ### code chunk number 12: ConsensusClusterPlus.Rnw:140-142 ################################################### cat("\\includegraphics[width=60mm]{consensus004.png}",sep="") cat("\\includegraphics[width=60mm]{consensus005.png}",sep="") ################################################### ### code chunk number 13: ConsensusClusterPlus.Rnw:148-149 ################################################### cat("\\includegraphics[width=60mm]{consensus007.png}",sep="") ################################################### ### code chunk number 14: ConsensusClusterPlus.Rnw:156-157 ################################################### cat("\\includegraphics[width=60mm]{consensus008.png}",sep="") ################################################### ### code chunk number 15: ConsensusClusterPlus.Rnw:167-168 ################################################### cat("\\includegraphics[width=60mm]{consensus009.png}",sep="") ################################################### ### code chunk number 16: ConsensusClusterPlus.Rnw:178-179 ################################################### cat("\\includegraphics[width=60mm]{icl003.png}",sep="") ################################################### ### code chunk number 17: ConsensusClusterPlus.Rnw:188-189 ################################################### cat("\\includegraphics[width=60mm]{icl001.png}",sep="") ################################################### ### code chunk number 18: ConsensusClusterPlus.Rnw:203-206 ################################################### #example of providing a custom distance matrix as input: #dt = as.dist(1-cor(d,method="pearson")) #ConsensusClusterPlus(dt,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example2",distance="pearson",clusterAlg="hc") ################################################### ### code chunk number 19: ConsensusClusterPlus.Rnw:209-212 ################################################### #example of providing a custom distance function: #myDistFunc = function(x){ dist(x,method="manhattan")} #ConsensusClusterPlus(d,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example3",distance="myDistFunc",clusterAlg="pam") ################################################### ### code chunk number 20: ConsensusClusterPlus.Rnw:216-223 ################################################### #library(cluster) #dianaHook = function(this_dist,k){ #tmp = diana(this_dist,diss=TRUE) #assignment = cutree(tmp,k) #return(assignment) #} #ConsensusClusterPlus(d,clusterAlg="dianaHook",distance="pearson",...) ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.Rnw0000644000175200017520000004274614710217531024400 0ustar00biocbuildbiocbuild% \VignetteIndexEntry{ConsensusClusterPlus Tutorial} % \VignettePackage{ConsensusClusterPlus} \documentclass{article} \usepackage{graphicx} \begin{document} \title{ConsensusClusterPlus (Tutorial)} \author{ Matthew D. Wilkerson} \maketitle \SweaveOpts{keep.source=TRUE} \section{Summary} \texttt{ConsensusClusterPlus} is a tool for unsupervised class discovery. This document provides a tutorial of how to use \texttt{ConsensusClusterPlus}. \section{Brief description of \textit{Consensus Clustering} } \textit{Consensus Clustering} \cite{monti} is a method that provides quantitative evidence for determining the number and membership of possible clusters within a dataset, such as microarray gene expression. This method has gained popularity in cancer genomics, where new molecular subclasses of disease have been discovered \cite{hayes,verhaak}. The \textit{Consensus Clustering} method involves subsampling from a set of items, such as microarrays, and determines clusterings of specified cluster counts (\textit{k}). Then, pairwise \textit{consensus} values, the proportion that two items occupied the same cluster out of the number of times they occurred in the same subsample, are calculated and stored in a symmetrical \textit{consensus matrix} for each \textit{k}. The \textit{consensus matrix} is summarized in several graphical displays that enable a user to decide upon a reasonable cluster number and membership. A web-based version of \textit{Consensus Clustering} is publicly available \cite{gp}. For a formal description, see \cite{monti}. \\ \\ \texttt{ConsensusClusterPlus}\cite{wilkerson} implements the \textit{Consensus Clustering} method in \textit{R} and extends it with new features and graphical outputs that can aid users in class discovery. \section{Tutorial} There are three main steps to use \texttt{ConsensusClusterPlus}: preparing input data, running the program, and generating cluster-consensus and item-consensus. \subsection{Preparing input data} The first step is to gather some data for cluster analysis. These data could be the result of an experiment such as a mRNA expression microarray or immunohistochemical staining intensities. The input data format is a matrix where columns are samples (items), rows are features and cells are numerical values. For this tutorial, we use the ALL gene expression data from the ALL library. You can see the matrix d is already in the proper format. The column and row names, which correspond to the sample and gene names, will be maintained in the output. <<>>= library(ALL) data(ALL) d=exprs(ALL) d[1:5,1:5] @ For the purpose of selecting the most informative genes for class detection, we reduce the dataset to the top 5,000 most variable genes, measured by median absolute deviation. The choice of 5,000 genes and MAD can be substituted with other statistical variability filters. Users can decide what type of filtering to use or to skip filtering. Another choice would be to supply weights for sampling genes see weightsFeatures in Additional Options. <<>>= mads=apply(d,1,mad) d=d[rev(order(mads))[1:5000],] @ If one wants to transform or normalize their data, they can easily do so using other Bioconductor methods or a simple statement. We chose to use the default settings of the agglomerative hierarchical clustering algorithm using Pearson correlation distance, so it is appropriate to gene median center d using this simple statement: <<>>= d = sweep(d,1, apply(d,1,median,na.rm=T)) @ d is now ready for \texttt{ConsensusClusterPlus} analysis. \subsection{Running \texttt{ConsensusClusterPlus}} For this tutorial, we selected 80\% item resampling (pItem), 80\% gene resampling (pFeature), a maximum evalulated k of 6 so that cluster counts of 2,3,4,5,6 are evaluated (maxK), 50 resamplings (reps), agglomerative hierarchical clustering algorithm (clusterAlg) upon 1- Pearson correlation distances (distance), gave our output a title (title), and opted to have graphical results written to png files. We also used a specific random seed so that this example is repeatable (seed). \\ \\ ** Note: In practice, a much higher reps is recommended such as 1,000 and a higher cluster count such as 20. <>= library(ConsensusClusterPlus) title=tempdir() results = ConsensusClusterPlus(d,maxK=6,reps=50,pItem=0.8,pFeature=1, title=title,clusterAlg="hc",distance="pearson",seed=1262118388.71279,plot="png") @ <>= cat(sprintf("\\graphicspath{{%s}}", paste(gsub("[\\]","/",title),"/",sep=""))) cat("\n") @ The output of \texttt{ConsensusClusterPlus} is a list, in which the element of the list corresponds to results from the \textit{kth} cluster, for instance, results[[2]] is the results result of \textit{k}=2. The seed option specifies a random number seed and is used here for reproducibility of this tutorial. These list elements have the following elements: <>= #consensusMatrix - the consensus matrix. #For .example, the top five rows and columns of results for k=2: results[[2]][["consensusMatrix"]][1:5,1:5] #consensusTree - hclust object results[[2]][["consensusTree"]] #consensusClass - the sample classifications results[[2]][["consensusClass"]][1:5] #ml - consensus matrix result #clrs - colors for cluster @ See additional options section for further description of clustering algorithms and distance metrics. \subsection{Generating cluster and item consensus} After executing \texttt{ConsensusClusterPlus}, one can optionally calculate cluster-consensus and item-consensus results by: <<>>= icl = calcICL(results,title=title,plot="png") @ calcICL returns a list of two elements: <<>>= icl[["clusterConsensus"]] @ <<>>= icl[["itemConsensus"]][1:5,] @ \section{Graphic Output Description} The output of \texttt{ConsensusClusterPlus} consists of graphics, which are written to the screen, 'pdf' file, or 'png' files depending on the plot option; and numerical data which can be optionally written to a CSV file depending on the writeTable option. For large datasets, graphical displays can be quite large and plotting the consensus dendrogram above the consensus matrices may not be possible. If your dataset is large, the plot option 'pngBMP' which does not produce the consensus matrix dendrogram and uses the bitmap function rather png. Bitmap is often available natively on linux systems but can potentially be installed on other systems. \subsection{Consensus Matrices} The first graphic shows the consensus color legend. \\ <>= cat("\\includegraphics[width=60mm]{consensus001.png}",sep="") @ \\ The remaining graphics are heatmaps of the consensus matrices for \textit{k} = 2, 3, 4, 5 \cite{monti}. The consensus matrices have items as both rows and columns, which are microarrays in this example, and where consensus values range from 0 (never clustered together) to 1 (always clustered together) marked by white to dark blue. The consensus matrices are ordered by the consensus clustering which is depicted as a dendrogram atop the heatmap. To aid analysis, the cluster memberships are marked by colored rectangles between the dendrogram and heatmap according to a legend within the graphic. This enables a user to compare a clusters' member count in the context of their consensus. \\ <>= cat("\\includegraphics[width=60mm]{consensus002.png}",sep="") cat("\\includegraphics[width=60mm]{consensus003.png}",sep="") @ \\ <>= cat("\\includegraphics[width=60mm]{consensus004.png}",sep="") cat("\\includegraphics[width=60mm]{consensus005.png}",sep="") @ \\ \subsection{Consensus Cumulative Distribution Function (CDF) Plot} This graphic shows the cumulative distribution functions \cite{monti} of the consensus matrix for each \textit{k} (indicated by colors), estimated by a histogram of 100 bins. This figure allows a user to determine at what number of clusters, \textit{k}, the CDF reaches an approximate maximum, thus consensus and cluster confidence is at a maximum at this \textit{k}. See \cite{monti} for further details intepretation. \\ <>= cat("\\includegraphics[width=60mm]{consensus007.png}",sep="") @ \\ \subsection{Delta Area Plot} This graphic shows the relative change in area under the CDF curve \cite{monti} comparing \textit{k} and \textit{k} $-$ 1. For \textit{k} = 2, there is no \textit{k} -1, so the total area under the curve rather than the relative increase is plotted. This plot allows a user to determine the relative increase in consensus and determine \textit{k} at which there is no appreciable increase. See \cite{monti} for intepretation. \\ <>= cat("\\includegraphics[width=60mm]{consensus008.png}",sep="") @ \\ \subsection{Tracking Plot} This graphic shows the cluster assignment of items (columns) for each \textit{k} (rows) by color. The colors correspond to the colors of the consensus matrix class asssignments. Hatch marks below the plot indicate items/samples. This plot provides a view of item cluster membership across different \textit{k} and enables a user to track the history of clusters relative to earlier clusters. Items that change clusters often (changing colors within a column) are indicative of unstable membership. Clusters with an abundance of unstable members suggest an unstable cluster. \\ <>= cat("\\includegraphics[width=60mm]{consensus009.png}",sep="") @ \\ \subsection{Cluster-Consensus Plot} This graphic shows the \textit{cluster-consensus} value of clusters at each \textit{k}. This is the mean of all pairwise consensus values between a cluster's members. Cluster is indicated by color following the same color scheme as the cluster matrices and tracking plots. The bars are grouped by \textit{k} which is marked on the horizontal axis. High values indicate a cluster has high stability and low values indicate a cluster has low stability. This plot enables a user to view the mean cluster-consensus among clusters at a given \textit{k} and compare values of clusters across different \textit{k} via the color scheme. \\ <>= cat("\\includegraphics[width=60mm]{icl003.png}",sep="") @ \\ \subsection{Item-Consensus Plot} \textit{Item-consensus} values are the mean consensus of an item with all items in a particular cluster. An item has \textit{k} item-consensus values corresponding to each cluster at a particular \textit{k}. These values are depicted in barplots for each \textit{k}. Samples are stacked bars. \textit{Item-consensus} values are indicated by the heights of the colored portion of the bars, whose color corresponds to the common color scheme. Bars' rectangles are ordered by increasing value from bottom to top. The asterisks at the top indicate the consensus cluster for each item. \\ <>= cat("\\includegraphics[width=60mm]{icl001.png}",sep="") @ \\ This plot provides a view of item-consensus across all other clusters at a given \textit{k}. This enables a user to see if a sample is a very "pure" member of a cluster or if it shares high consensus to multiple clusters (large rectangles in a column of multiple colors), suggesting that it is an unstable or "unpure" member. These values could be used to select "core" samples similar to \cite{verhaak} that are highly representative of a cluster. Further, this plot can aid cluster number decisions. For instance, if a cluster consists mainly of members with very "unpure" items, then this evidence could be used to support a maximum cluster number at 1 below this \textit{k} or this evidence could support that this cluster is an outlier cluster. Decisions such as these are best to be made by the user in conjunction with other evidence such as consensus matrices, tracking plots, etc. \\ \\ \subsection{Additional details on options for \texttt{ConsensusClusterPlus} function} \begin{itemize} \item \textbf{d} This option specifies the data to be used in ConsensusClusterPlus. This is typically a matrix of numerical expression values, of which an example is provided in the Running ConsensusClusterPlus section of this document. When provided with a data matrix as d, ConsensusClusterPlus recalculates a distance matrix during each iteration. This recalculation is required if feature resampling is specified (pFeature less than 1). However with very large datasets (1,000's of items) and no feature resampling, this process can be time consuming and unnecessary. Alternatively, a pre-computed distance matrix can be provided as d, resulting in faster computation. An example of using a dist object as input follow below. <<>>= #example of providing a custom distance matrix as input: #dt = as.dist(1-cor(d,method="pearson")) #ConsensusClusterPlus(dt,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example2",distance="pearson",clusterAlg="hc") @ \item \textbf{distance}This option describes the distance metric to be used. A character value of one of the following metrics is accepted: pearson for (1 - Pearson correlation), spearman for (1 - Spearman correlation), euclidean, binary, maximum, canberra, minkowski. Alternatively a custom distance function cab be supplied for this argument, which accepts a numerical matrix (items as rows and features as columns) as input and returns a dist object. <<>>= #example of providing a custom distance function: #myDistFunc = function(x){ dist(x,method="manhattan")} #ConsensusClusterPlus(d,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example3",distance="myDistFunc",clusterAlg="pam") @ \item \textbf{clusterAlg} This option specifies the type of clustering algorithm to use: "hc" for hierarchical clustering, "pam" for partioning around medoids, "km" for kmeans. Alternatively, one can supply their own clustering function, which should accept a distance matrix and a cluster number as its arguments and returns vector of cluster assignments having the same order as the distance matrix columns. For example, this simple function executes divisive clustering using the diana function from the cluster package and returns the expected object. The last line shows an example of how this could be used. <<>>= #library(cluster) #dianaHook = function(this_dist,k){ #tmp = diana(this_dist,diss=TRUE) #assignment = cutree(tmp,k) #return(assignment) #} #ConsensusClusterPlus(d,clusterAlg="dianaHook",distance="pearson",...) @ \item \textbf{update on kmeans options} "km" option performs kmeans clustering directly on a data matrix, with items and features resampled. \item \textbf{innerLinkage} This option specifies the linkage method to use in iterative agglomerative hierarchical clustering. Not applicable to other cluster algorithms. \item \textbf{finalLinkage} This option specifies the linkage method to use in the final agglomerative hierarchical clustering. \item \textbf{distance} This option specifies the distance metric to use: "pearson" for 1-Pearson correlation coefficient, "spearman" for 1-Spearman correlation coefficient, "euclidean" for Euclidean distance. \item \textbf{tmyPal} character vector of ordered colors to use for consensus matrix. If not specified, a series of white to blue colors is used. \item \textbf{writeTable} boolean. If TRUE, write consensus matrices, ICL, and log to file. \item \textbf{weightsFeature} numerical vector of weights for sampling features. See help for further details. \item \textbf{weightsItem} numerical vector of weights for sampling items. See help for further details. \item \textbf{verbose} boolean. If TRUE, print messages to the screen to indicate progress. This is useful for large datasets. \end{itemize} \begin{thebibliography}{} \bibitem{monti}Monti, S., Tamayo, P., Mesirov, J., Golub, T. (2003) Consensus Clustering: A Resampling-Based Method for Class Discovery and Visualization of Gene Expression Microarray Data. Machine Learning, 52, 91$-$118. \bibitem{wilkerson}Wilkerson, M.D., Hayes, D.N. (2010). ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking. Bioinformatics, 2010 Jun 15;26(12):1572$-$3. \bibitem{hayes}Hayes, D.N, Monti, S., Parmigiani, G. et al. (2006) Gene Expression Profiling Reveals Reproducible Human Lung Adenocarcinoma Subtypes in Multiple Independent Patient Cohorts. Journal of Clinical Oncology, 24 (31) 5079$-$5090. \bibitem{verhaak}Verhaak, R., Hoadley, K., et al. (2010) Integrated genomic analysis identifies clinically relevant subtypes of glioblastoma characterized by abnormalities in PDGFRA, IDH1, EGFR and NF1. Cancer Cell. 17,1-13. \bibitem{gp}\texttt{http://www.broadinstitute.org/cancer/software/genepattern/} \end{thebibliography} \subsection{Changes} \begin{itemize} \item Version 1.0.1. Item-consensus calculation was corrected. Consensus matrix heat maps are now guaranteed to correspond to the scale. \item Version 1.5.1. Version 1.0.1 changes were re-incorporated into Bioc 2.9, 2.8. Version 1.0.1 was part of Bioc 2.6, but not part of Bioc 2.7. \item Version 1.11.1. For large datasets, the input data (d) was modified to also accept a distance matrix which reduces computation time, and plotBMP was added a plot type so that large consensus matrices can be plotted. Internal data structures were modified to increase speed. Distance metric options expanded ("maximum", "manhattan", "canberra", "binary","minkowski" from dist) and custom distance function option added. Partitioning Around Mediods clustering (from cluster package) was added as a clustering algorithm. Kmeans invocation was changed to run on the data matrix by default. Kmeans invocation on a distance matrix is now possible by kmdist. \item Version Version 1.35.0 Added CITATION file, updated references, and man pages. \item Version 1.51.1 Breif R code update for compatibilty with R 4.0. Deprecated kmdist clustering option. \end{itemize} \end{document} ConsensusClusterPlus/inst/doc/ConsensusClusterPlus.pdf0000644000175200017520000144551614710274337024415 0ustar00biocbuildbiocbuild%PDF-1.5 % 3 0 obj << /Length 1697 /Filter /FlateDecode >> stream xڕXKs6 WQTWoM:iݙh-DR (yf$A|h9+x`m8TE[M~[>i&H>eqL&YÜ_@l{`,o˒زʫ=dB捔$W,gxN2ǔ7nQҁɼ!"u[Lwi~޾%4( +d5or&! Nur2>F$` qBl4}%m No-~~8m9SB>D߫'bZ5vaQ#%p(' *fD!%q /{P]]ZPX}f ~OC9s>V(f96("Ԣ^z͋kg,D9VOD{У<[ ZLcު  M2py5 ÷ScӶvk Tf%Y˓dzVPI&O[ɾ+|g*|54 ' ~Zm W{#@AD"=:%6o#$f.\3zR ©a}"N0X@М nV/,z@7JP0L\>. -kt`:P3 !銝Xi4vWިHU㋼,1b΀|YVޗ#`ÓYh\̷MWum g:/vXUMÒ*5G d\ȉ=ECΣ:y`:h0mi]aCԻl3àJ,g:wm@6Et7^c"R1="ÂqFbXz ìGCw̵3)dP)nh >G{> stream xڍێ۶=_2`)RR^M{b EbR6ۯ?s!eVù\ߨbi7iVe*6L>υJލlFoT`c&podZ e}^*ۓv2Yɸx?3CZ&{32%qC;}Χ۽ -.҇an>nUbcH}4f'T_u2Z? |F~ P`w'V^Yxp^`Ѡcs#uV'*ߝG (_n8nɡqEU"c1 !0|g[Hg{vM].ebFˀ7ݹW27Wd1 a`9+}܁"U*1팟-\LqVi Btљ4+,yRL<ܼ}ˤ{ԵǑ(qm[w7UZU 98򹵼Cd^' `5hM4?iB-$ȫ_5[f /|忐}CP;R[i]֛b,2 g*d#&\ER.[e]*.UM4U"L\n/74+t^"P B@L 7GY%(;QVdUT$Wu}* /rd.D3QDr3 -^E{.*m+"W碬]&j\Rj!W+B-uɳ <K/޶0q[r- ~b\'|&z MԋPm(kNx8֊_zf>7"z;@Eę1jq  6c#5whhP濋 ml< O,ļ-$mk4CSuh OQyZ;?96?鴦͟EAU(h׺i5-R$xVx{p]?,|yQ`8$'k.+V3cN%K(7}V$sc[Usׇ+>^[wyPioX1xp&3O,Fn'x M0θ_^;Wkqk^~Pf;"Ё$BQaᅉ SL) L (9pM13O wQrܪٵ ,UoTy(>͇iN'| UD;Sr/'t'yCQ#㶗4hpdZQ!nN-Z$yoJވ>9@|i/>Ln5NlDyGlF?S 4-B/r|vSXI}EM tĎe)HrPGE4al,W|ǚ)Nt%:f]xy͋y\^vIm|g_X훐<<'> ݘV" 8xÊ"v" ^#+)Jso ->}x E+|ZSb Ay[$`DSs?K$nH}hc D0p㹋4.A1AW"OKg>'qF8!6cՑW"|uPxa3̗4}%-vrW.bnsxE OTN_⇀=T$F˩ ;E<-#濓 d BGJ7{)`z& :~}?#* endstream endobj 21 0 obj << /Length 1508 /Filter /FlateDecode >> stream xڝko6{~7Y%Q WQ`Em-zYr4]w<ݛwaʼ,"a%qi!]S+yn֛(Ȝ>zSgXVFX/sasV҈)+!`ߢ h:}Rև+!˨Ѳ8O \d%k1]mG־KVj:iy*VaN44"YQB#95x޲|9sij7c%:гAeh֛0˜d MbVz*P 5Ɯәq FBCk֖h%"^Nܐ}j ed(- ظ Sl"vJ ] EO#-'C@z9ZZ&;-,:3*s5}Yqd=яɉ-.c$_Kɟ.z|KA3Y[KRbl E Ǚ~W&7ƵeuGq1$8 $ KHdn_wӍWE^EF9 (hD&KP|$O$M- 8 ]']FNj4 7VEV3Hb<TH./ P7Ran)4cqsԱf̃&k {%AXS)X~;W-=FЊN`gxDs/ ڄF8ujIy% fP/X  ek(.3p }_nM}Ϗk;?Dˣ(P)PTU]IYblA `k([':z%/uUǮ;${Sr;+1pޮ% ]ƴ #6{G!䩧kLc8V wOBwNhдF8F:T}/4t[po@ oOn  m^cw 2 ^Z j3r('AI<_Ͷ&aH}Z  Kы,1(cI%D҅@_%M _WV;Θfb*ڿ)Y!=,%92_+]ޔ&j93x8qcc< Wϕ@չHMq_50$0G}>%δW'OM1 p }?0 +.bz)jaY/ݷͲGg[x{z]Qs1augQaB^7˲`i@33}( 8%IW B((x_H1Aq5:fvM]d=@&qq ɠ?bGo~ݽ1H endstream endobj 24 0 obj << /Length 1036 /Filter /FlateDecode >> stream xڍVnF+_DN8A !mIl™Z^U7> 4BiA+ )TIXw b%[P>e@fjwqP;v0>10Tz*(.V䧧`cv;hIp=L#5㒠N0QFmB][5ͷiَM"O%K 2>\0Ɠ*UMz;K_~]R}LAs(0$ՏBa&m7NWv}ӹ}| _J4'6⩂a7Z\kQ7tq6նKr15*an6IbL>>f2\@S XJ6O$\3M7`CVF! 8"BSaC0z5U 6 .$䜦8 s 1X>lju02B 89u <NqG]'X+8=ǽAO3lj#3X=x9=v)z)P6䣗\raޯ{:MVN!/L5f0X@);29ÄF;?KW${)U:Nab:[Q%M(l !}ިDn?@~öC t*hJ(%Y\'27$-4;&Ubvh|("sdXy58zQ+w>yAV]rMRBw&A1h@kەhtF;`U /`ơ_t}\l&lkV8ĤV[Ҍ)ʥˮr5tPBIF/xWONyJb2?qC~7C$vд}w w^2n~]|7ra endstream endobj 32 0 obj << /Length 1168 /Filter /FlateDecode >> stream xuˎ6mi ֚^>mH-[-6R(^}g8WnA~ٯ_e]!dLiYTIyomَ+zd[ZNAը Pc'UKVEŮ#Qjea&[0e mア_6p?2VvvFBm׃? ̿k2w;S R? ~r b^VQ 2C`bҐ`O/_~"%;ővV08b4SIxG~ͬwP>E !owN$12Y+H_?+Yfź%GT., ~Qf1q*@@gq3aBV;uoJJ&&\wvrv-䮀y?HoZMHHi {VS;;eOQ-}m3Д p)̭1G/|8`ޏ!QUSǡXG& Pӕxp:VmQEv][dT] =@aY1҃2<FnjLEEO~wqAĩ0K% DUu4/K)Y9Et}ƳƨE wu-SWpPhjf მ)s6|ـ:%C{Q,,Ľqh0@Ox h> >> stream xi@Uu ;. Kiijl4s)[lr\r2kʭR1sw]RMP{LSA!?oxR35vxV;/˸ٿ" 3tws= n-NIնk7/K gʇ@W\uk|ǽ t|=֍[~%и==ol`qT:^n{}dK`hTtiGLwReXnͪ^mnK|{Ӳ9WU2zb` }ni2lu~}Q4jlC˾ؓnkxG.5G6x0ZI{{Vmԃ?lO`h."-{g]D |nq}6ڡu_l7w׷vۮF5,bۺ`$]=V]]q \ךJ;ܴq&=裭٫;%̓l}"׿}eO %MVZnڥө;e/:|ږwY~_Lx~ V5lL^`q5j",(.W^ٮqZ{;U-q'G6v/X3{o',䗦L$yvg7Y=4\jvxyBnh7dVe8"ɷwuʖj{ۦ&"}cUD4w|rSv㦉 _QKE4x ۥOϿIDhð&RFԪf yk۷Sm؎ϹG,[yw)-9{|U#"7OhG~ѳ9azL"(Г?DLU-/0 36?آXN.)ZV% 02},,".OwtkWS+&{==5@%d{,"=We$V/Ea?1hwu0=SZDFowh׮C}nGm5~HXj֐:_P`lsD5D3ytZoqp{7yOal$Mhw>$"ݪM#$%??_T~}SdJmv޻W^#>_:"Q;Y\ϬEDfWM_8OE._^٩jDX3$"aXETI.biݻ6>o )Z nϽ=c3oO:/b~]߳+T?^wvܺUD\BF?MKSnh)#3|C,~&yA?Sɀ3 嗛gJZ+2/"րAn"0׭eZ,.͖֒u߬3_x' f7uڧ"F\ \'_׮fZrM:Ȥ1{TߢM:֔؂f<JcO"]KQO^vEO\.֬Y|Z\k 4K~#N驉I9Npɟ e3ety{[5Υ"f[Zܑ ɷvʕ=MgO<}P}i톈c1Ewo\v5n;z1n'$"U4|o <|ﴐ]fݛ.年y{{aÁe&RO)Sѳ剸ؒϞK,e^;{k"=}V*f=-%_d!EkWD^1V=944٭m:yhl""F*93of!C|՝>?҈C'oÞp֤}koM_R\6k֬Yfu._p5/nbDC""qpvWO1i齃Twֈ/4tz}ߝ\nټIO\,jKv51r7/]g{Nopv5"ݔfbmeg LuOFԃ=S|u9E ~vsVU:cQ#fkھk~VMx [6nv;>{=53pmX|Vjȴ]lZh"Z;n81z9cU2ݗGq+߻a)zZM:tZϚ+zpͧ둇׮:eѢ-RҤ= ~FEͧCݢa\}if ɿkRn?j̻:}43[uTݸJ3vԲD\\ز"~N*i[SMni]' Þ~yU4>3 ]$^0W[uEJDe[tlnh.,TwJL_r;vK_~zNxN?*nSqs\){ˬ1sw!Rp;M[ga7coNXA^Fζ5Ҍu;c-+/_\BFOGQ2.tC4Wsk=TEq4(@4(@4(@4(@4(@4(B /:pRha>b('oo9vi|)55~.=Orn""o{b[vcK= Slbs6衳z&##_5X~iG. )Y/xW@CڷLݸ`23nRŸ"yIY/]2hO3[ynzZAfGz=\4{_!#-b&=*`T#ef}{TJ=aN\9{ߕ5\8῏7]ګwl;tHvxV7 x~cu\r5o#/ ߐFz8*޽UޚgK԰IM/%/ohNhPEhPEhPEhPEhPEhPTy7Ò(@QE@QE@QE@QE@QE@Q3rMѯTx_2 nऌ]oӬI4LMIk&kӞ۪U 4/~an;jyXx^pn޻8,bh#'. )`-~<_3ҳթ."nge.@yzbBwP&"쓔KUKaC ozc/8o:4d\\>\]]lB[7idzO67UsԘdx'zVE/JiS"#ZUd4yy8%qhNضǡvOtH* trBoHHUMD VI:l/XB8'NFؖLh]/1.7{,J6ٻ) =Jɋjns{{k^&60ܻ⬕"^^fFٯRvb('OOٺC@QE@QE@QE@QE@QE@QUߨ*4(@4(@4(@4(@4(@4(@$=ݳzRFZԢ7_zِɃ2biXApRzҡwZ|C闶VTćK9ðl?~4~Ƽ=[~{G""U 73LDDԯGoL|Vz8%#%z_JEĽ]W-swfƸW«jlSΥWV2T~.w|. V5\ Юи?wc Uq@WLM==-_+ӯ*XW *<֭NE &r_j\_ޯ_M#%xmz=X1͏|ًZ w=r+sFǷF UhNkN7wSNA&iChȴP%﮻Dyo$PNPzyeE@QE@QE@QE@QE@QUc@9z[4(@4(@4(@4(@4(@4(@4geOqZ҆7{:5[}{KG8'#˧||^̩7}2|a yNt"]QP_ζ[Wg_MCl~hdoduz[5ֈ f{m8%x~&Ѫx`/t,R)aw6oUijPͩ<oOMDDL^^ٹƥMۘ;ꓭ>:k94{\)j}1M+癗z|ì(y@pJ lqiquC4q״\Lfɬ9lRhɳޱ,3-]vn^F&W;~NÖvJ[-a@pR^}g/ІFl{V "{mv˨5v=NjY0nqn$PNnn{` "( "( "( "( "( "~"çAW,G >Umڞt2v9uŹYjjxG}*"c.]Y@pNzV'bd@pgWv*>Gpwe4ddFn>~pxI~;!QMO%VՔC?ť;tRĄ$ /MD#(')!Qf_=6p_fߚ8vkb )6_ KVЦjarox,yƔϒȁ4dx>(zVE/J%37"֤_O6h)4d lЁx~:$M[rEdfUd  9t56lG](gĒ3hDyFL}ǗM^SF d Ӳjns{{k^&60hN0 /]?i;@r2U󯚙f{zZV]?cʡ!_/hOwX)Q@pJ_X:~}UwQϡ^wqpN#mǪi~^\R^3EDpDžG28DK2?8uSԿSIuZ6ҴV'zUURvu`E}C~< "( "( "( "( "( *1,N\NV( "( "( "( "( "( "=1b-jj~K/bG=u!w]r0a#@pNFOS1 Zo)F&۾xs侀'vf'uGNz]sٶzK1:Z};Otۚ[<2Et:C9>E_Ll[?hBB<&إYDJѝ?n[^BLS@yޞ` "( "( "( "( "( "F?| (? 8V( "( "( "( "( "( "|,hR~&[F=?K1nऌ]oӬI4BZ9E{9{f 4/~an;jyXx^p{/2&l{韜4ddFn>~pxI~;!|:9'9DܱC@ҩD%]Ą$ /MD#(')!Qf"⾕ߤXGk-+zc] 0b4dx'zVE/JVCVT97<@*:T)mkC"4mT<#񿏏]o=ˑSkKQ#læuZYrF,> w+"gV<=4'em=uw_3}KﭙM ])J<k/m(zy F7P焚a ѷb('YBC=-5hPEhPEhPEhPEhPEhPEivP~XA4(@4(@4(@4(@4(@4(@pZ=1| ן.v#7##OhN*7{nzdҨ=/69lº|Gvc4G߰>?˶X6R=Pa8a4'K/Yj ;s)ޑ34Y| )j^=bN,hqSv$Sζ[yئlvH7@pJ3n! L"U %6vA8%#7;SGnvv@pJ{Ŝ&s<4t4djf[7$n<ɒ<#eGnwя6qk4|Vݮp[@U\EhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPEhPm1 endstream endobj 36 0 obj << /Length 662 /Filter /FlateDecode >> stream xڭTn0 W(Ͳ|mS-=Q/S/M%E$A!EQO|@'5O Lpt;cx-_Z\6\$zKhEGJWj3 8rKL|w]cH8V)JP7pFR]Xv<]m%lWR(S.|ރcʁş~˽NVY,2rn=T5V%v?di1V}{X$'!_@ɦ!FocDžv#o/7JTi8aAc?Sf9VQX?:@񧿽!HʵRk [wEgSYB$?~Q $@|,׭SEhˑg9:KѱʴVYlk2XM=٢ʡDZw.wE͛y uUj4w;&jV#60QWJUg[4x^| Z Xa ܖOc`tn%E%EHʽ1呂W{AIm*9< cؗk҆ @g@e=f7x*ODѰ%[C2۔{X endstream endobj 26 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 15267 /Filter/FlateDecode /DecodeParms<> >> stream xyxT;I$`XeQxA@@ Bkq{Z}VڊU@kժmZ_*XwEق"-$!!dqqz99pfKΝ|?3sg{ ضm)h_TqY/rS{^vk.C}bݰW,009b+O/7wIͺ"B] y]5I@{zFs_LxPv笆_?-~uFߴ\4uh(: դhNq t|aǷ YVm޿ooOnBmW~>G~/}ζW?2 s@ֈ++S7f2\״@q^_k|rBG\FKypSvYn;_7hM6>h?ټxqiSY7xbi_1-f ˲,kܭ7ů/7,˲z11/kkkm[}CyN=3yv{d_ٗ5_{C޹˲X>#ڢƝ%q9>Ȑ.;]1sU-~߸ζ3ϻu݅N{7{k/ u[{ x/Mvӝ Zeٕ/[砞GW{]t͟7w>g??[c[N9˲,+1Ǎ;P޽rXǀݴf#=KiW~o;l>us?۷ 6lذaÎ9epC )+3N}:u=,]B XVZOpp`ONe3Θ`̞aY]?qc.iu|5}zMV]i[SWE׀~M_~Y,j\xɮpZ~};+*bM/ݿoYS_ҟ'hzyx')gyġ]* ek[eݵk!OZ{3]5]pLp˷}2}_{^˲Y8?{S-NŲ!7'.>6.?zŧw~7䭞+쉧.ȫ.5}W`+ ؕ>}}7MYJsd.>?wgh̾li^Q!أ7<{ӏMiܷV>tjǟ4|Po[v8lYVzFe˗^>m7wG|d/}1Cs]~8K}㓫jy[h쌻֛D X-sBeYV 7^Ro۶޳sҜ]F]km[>mۮ#V 7vWO]<47x 2d_cŮ*h ج$# J>/"77+lowi:ujkH7oނ ?֮HKkll,--0`@kW _ukHԉ;N;ol튠;] C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 4 j .N:v-ZªUf͚ڵh /bk-:=]pWv-ZŒ3Z h4)(##c]FަeY]P4`(8ا~:o޼)SV$N  0}֪?C@hP4`(h0 4*M81 nݺvK,iJsϭX"++Kk?9rǎ]wѣ tFF322'Nl:֭[׷oߑ#Gܯ_:Jȿo4Щ!hFOL4Ie˖EXt_]RΝN2==270:[C@*裏49_5 hSɃ%AHq?dx3۵?ԩMfOtnҺJFF叝yȦ<)hP4`(h0R$s0jZ2QʦMwO%j4R٠A _署T':4Ѐ6oY۷o߲eKIIITgٶ}G{9$ 4`>{ܸqiiэY/꬝;wBoQd ճgٳggff,Y╰iv`("hl߾}[nԾ}=zO+oܕKnw' ? :C3F={Z/tO?ݳ_ tkRݦU U'7?7>zS4n-s>d|ꩧڶp[o1??]vw.//_bESjkk?]R455e{vkҷ/ߥ>޹|mN>b^xJڐv=cǎ?MoQ~1s,+\]U!7ELh d=˲,;uݿNnjh}iΝ 门)))IHQP#$[ ?cȖMڗn={t=~_eYuRZ 'ЫWÕ+W^xᅑ[nOZ^蹋O^I[~Gh_ׯi6a„֮Atge s̉<ܿ{9j޷GwهA`Νdeׯ_! fKÆG1Ovם.@z I 4`'|2 3olذgIOOsPZZF| . b;745q w48_1cFVBzٳg|]SSS__yPQQy [J-&uȉbh#tsq-L>]8clGnnn_YYoٲG8t3;u<,++5k熆KV+ 4 kjjꚯKKԌ5sիWVV֛ow.]\tEwkP_@:LYqqܹs[p8_wuUL0~…-={v/3n8wH+3}Μ9]t.,,|W&M?hS?ᄏex; O?e*\MM… (;q 祗^׮]uI'$'Ov?e˖+Wiɒ%`p+Wljj0aNGM78bĈ7{4 G::wܼ2I瞫JxcmKeffwXK~gPhCz뭷*! -ZՂ+rÆ PW^ɔ+Mz?'l!~3gδ,˹e!@#={;[F{N9nҟ ,Κ/?ϯoC]v]wuOnnazƌ't҈# ʱc>rl7nk<[٦5kּ_|SO=qWp***?.++۶m̙3B|ŋeeeog)z_|^x/,Xvҥ7n 'N2eJdVo]UUhѢk6sι'p¹瞻hѢO>$33wޑ-ׯV^_"##㤓NҞg}ꫯ...W\Y\\9q /]v=\bŊN:iÆ +Vx?޽{f2 0`߾}?p \Kj+<gw^~}׮]srr +**rrr;vXTTԡC;wVWW755vر077w۶mίr׮]iii1:t(**.**JKK۷o߷~ 8''i͙ΉN][[RTTT^^ ۷o_XX{`0XWWףGP(TPP0dȐk׆;nСe[#,))رu"nj5O>edggݻwY&r]vAzgm۶f(ڻwoIIsLCCeY4s)..޿zzzQQQ#Beee﨤$;;{{ EEE1;wu:ݻ"ر;"`MMΝ;#omp> ˲߿uܸqc(\+ݻwϞ=6lHOOߴiSΝ333u|%%% *((hhhɱ,k񵵵e{vem޼ٶ,'ֻ۳F}G:Ԁ6mTQQ1poٲN:mݺ1//o={O~bYHKKۻw_]TT 6nةS\z7nLKK+--oݰaC^^ަMuVSS >hgnɎ;6lpᇗӉ׭[7tP6iҤ}{ *,,СCn֭[gϞ߷o_wjmGZ `(h0xk3n x] JD6 E C@hP4`(h0 4 E C>ǐgڵH#:"4.0 4 E C@|?W޳,=gσnr1us[z;u/!)GC(/O BbKґbKW+wwY2ݤPgS'JjyhGTO_UCboPFi,P# B݄N'6QGm ©4"1brpO Gj5;xB ,<~ W|P-Du"C@|őѤl8:Rt Rx_VR#bZwxcsQ z /sʑVRv  ܁&wHCsZMQ=iLd5 pBb.tDULӉ|#Aȉ7[1c?X:Jc$̖ ӘpN.Uǿk6p褩ÄP JEJI`u>Uu;)'U=am3b%$P:u"8f҇“NM# G O.Uʜ'ΕH W9A|A}ɥ+I&a 8M4LAҊ"~:[Zqg֩IT&eS:Fcc^.<3RQb@ CC-~aΓb&%vTYDrh&;I)x€[ل'o!chO=G@?ъt^sNPAK mfP"r?.GY7RR"腡01iWRQ8!U4uŪBʞ, ?C HSXD5|ZGa|#IP4`(wqDAK^#~1:k"\ ꩻNJ;YtC©sl.-_PNCqQi/:BBG:R}sH{{Du:^(D`(G:w>,S&fP[gUIxپ}6R$u> E>aK Ah>x`RAmv{YG_myWw }Q%8v^;'}{"hěྖHicH/N7q #|!vA ςm#yt(t-[{ C@RgPRO-/'6H:##AG7" .b:i^ 3^TOI) 4tN*ٺI8Ez4QH,СhIO#8d )"Q)GtHwA?A? PR% 4 .Ȯ@:wқY>%:sHt9X1+C+9' V'ۉӥ?H@wJ k q{ő(D`(G pG ؤ׊Ҋ'i+ StFؤґè"/i :!D'CC?ip u>DQ|Q?QP#C>[>%Km96ӏJbtʔ#8|^H/+t|13wkdtrVj'E߱iP4`(wqDHoBw߭GfJsV=JGKgpOHK/W9:oA>ҹ^ K )G=h5sx8 J\Tt&E^ފ|1:xD+3RTsf7 tUmHk"zk_Q~ݒ@E C#=r /Đu!]ZΞ$]y^tu_Ctf Q?i:@4*u"8N:\:[p?3YRWbW/uIr_ >$ThAR'RhNgZ~ =1B&B-Q'sTی bEueQ)nG2{$jv-| ^e]AhP23{tkRIgibW9:BWI\'ݨ"a~"[7D]Z~_Qy6! t ^bTtguNp3 Fs) U9t򩯢_=11U&lR 2+'"h0#船s%Oư9%:WQ 퉎JS OrЉG$:U'w {)b@P:O]+ivF1ĭB=ǬY3sts1S*sɥo3~4 .nӤw}~<}ΨV"}_^HEFJE#Փ!]'\QљuJE1їըFy}2N1BtZ}G+\B ضu_XVYHI$ͲB˸pb4[xIzMdt!ϟP қ-:#sHNGTP4`(M҄ttbk([:p'}(){ lnĉ j0M=JXgxz_UP^#ɅSy֕j0T!q4TJ ?6!B'w R>^0czUcgE8,=I s~Mf`1BW:C2[^#2ir(D`(h0]@+SEw:V6(&!ሠP4bxNq^NGG>J*"h0 4]mkFI" o/v3sY:KZ::mA } NT*E9J4D }֦ GQtS*>歪tu QP4`(wq4;(}~MyT#8? im,ڪ7Ҁ PSNlBJ;'*u2y87SL"h0#_W%jspCZ'11od%=:QP4`(wqTVMJGL`Ja;7gs6 ]'"h0#趉AH7& Jo."AB% 4 E/IS>IsqH3"h0/$gC C@|őw܁+c^[kO'ٍLD`("hөW;NIsqA*!GAMXkx-hT(N ]ϭԻ&]C9A CKYV :YI(H|8$"h0?(&KEũ7r._,B6{UL5NU$4 Etn!)BkBg$Yz3tM*"h0#蔧HX իu*{R=!x'MP C@0&MWHU PJa>5 Em: !C1~QjJVMy T!U6ꉃ4tgNO x-%[qxn :XX"3NӜ)8AhPN3 ivT'aPa֡#mbXJD!C>n#"! ]fy#?Űz Õ]' :%x4qtj|cHX"B@-bOJËP4`(wqz!NK3HU94@iU/0IPS~X)~0:St(u*N<2Du.:C E }GʓNynnDGtͺ zUz +  Em:u1'r!v!} Qq♠)8' 41tbI㨶XMJaCXa72IP4`(wq;~˩DM;7tvROk^ORBR{D }:9`, a$om:dQB識f!Q̄-"QP4`(wq !}M?#)F#8:Ip^9ND`(G)?H^H-?RϊԹݯ "/G#ɞ3yN}VbA|AҜ 0:SN!-ᖔlvIB CLZE /W{I*mxUSZ4t*!5LIȨ#ͦ4k~ζ:PJfVNЙ9QZi:r3L"h0 4*`vk!.k-^lY5uA{Ho/VNuLvCi.TX!,R/Kz vOwkT(N&U@FRsO:W{-R=rNi^8u+̕V\Zx_4u>rDqi| ɠIO^ҙ_?(5¦34ӧߑz9z1G:?K鸢WΕNƯAD!CN툿TSa(B0u|ɳ)H}KexJ;>晔:3UB>h11Bvi@bAhP!A}+)uS0/Ji0ΡKU̖Ӝ&-GJZDK'6K#F w&{`+9]r$ 4MD%$1s;Ej^1E(*_'NOj-CjA94:"D }]Vv^Z*ɱlA>͚uÙ3A\9E˞2 sLdbU%aJy"h0 4])Og::BDY)b;%kA4hiL+Rv݈ghLD`(h08֍ 3K܋^'?.ΑKD }Ӷ-)GH'pt1/7zhED`T檊;!upKn'ME{$B C*gHSP 0VT_K3yFuCR'*)ΚCz< : KjT8kJ&*k~mbvb"C@|őH= ,__%J1t% 4t ԛMUοABwpS(D`(GmZx,T1tײ#u"*]Ka]AhPhk6S0 mF;ͫc9b w BJ'YD`(G)?HIܯV:' @cyPB$!C>nk~F!t#Vis_n:XD`(h084;f$7界]1:?ŶWeA|A A Em:'&4&֭0?NVV/P4`(8;GY%xsOq0ƴ E $N,Du!Xè +ƐN1 CAN2"it#ڎ*ivkIE C-P/]-=JOzxB }]Vv ySfKi&uaTB ܹ鶞Jsk>.pd*1|imPS13,a|1=;׵-egK,"h0T֮@ E C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 4 E C@hP4`(h0 endstream endobj 27 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 17006 /Filter/FlateDecode /DecodeParms<> >> stream xy|E?ܐ X@p(+TD\e㺲*> ⣜*?UWA wB$9rLhm;ꢦ3S3|ޯLwul:J+k}8uǺ:7ՂGyG??dXإ ;0%osItal {Vt}o~;@ 4&(XW0EBZg+J~oU4|w7F7 (9]Pmų&}؇)݅OL5?9o}z& KiY/PسS= gߔQju<1awL|-Xɷ<Bjwνch~Uν})$/VN{MOxW;ocb_rd/x;r먉O`JܧW>>,q_1ekj{3zosƌu:O64懖xG Mi?} j& T-ذ`iZm?+TXZ; ĕzBEQcb\rjm~{BgT\lC!Jg+QUu!aݾCt*%z, xSƵܡyB7uNU~30FQ[tI2BQ"?JQ{BB|NUUjC A!u_*(aө(8;>1t:B&CSUwډm$u! qďX~6˹LpG5YyN3k;))k'V~Y ѩ8[k"%7kUvCHhV笙Ω47k{r+|e2UU]9o%+ΎO~Wc@RNsR-T淾yLu8gPSE~q/yG+J[u՟=AˮS};OU{6o𦊳/ ݪZS=B[yQ.Nmv~i#E۟BCTW{HEBU-^7K+>Ͻ{{4*U;BP"J>?_H|WoU}:nIp(Q_>XM}63W08r=Ni_+oo蝯yZGnlvLsA;OF=xK !=ޙWёr[Vո&5! |*e;DzB?8c/WQQ:Q0_>_ڿux*WՈ^3t.!  qyuE 49qdǛG_ҫCHZ;G -VVXUUVc|ǯ.{.e Tjxmu/;Zi|9Ꮉ;?aqk/vϴ+'QVH̻; !D->gOQGBbOܩujwE"Ï%DQ!4iWwkR^VG\_{ެySEuVlé^3>lSм`c=/~jZ@vmBשCGUBHw&{KTSpu꧟܄Rwl箋nG|J-L1y_g;swJ Z9Um,\pNymÓ{43/ˬb( !jYIJQ.^)_䑫͏.;o $uzma˞}#qVܛHKߔB\'Zk{y]v\rMCKq\(p{~pBG I>/֯1aƹZZ5;m|gpU߼5]hx=Wjwa'-mj.W;M{yM4Wg;?EE9[w"\9/xj+U=J+?o.zzkԨ$\u !aavߣx3;Xd{oϙԻO_nf/cv#f?~GGL{Ύs'G.oӒok#]Hs H<:yBQBeUUUwѮ7wqho8]5#Ș_wԨ|$llxgBX/ƿm=VU{G;B>nBŢzV! !{͓=ABS~ z.VUFE%UV55A‡-wS}B∿ngn5Uq$L{ϯ8Zܽgw S&^=\oʅ>Pny8z/b۾o _}vJDۡ8So R+ >hIOt^^ޏ?ة6nk׮ݺSyM6 4SQQQMMM˖-];>|C/+ i7o~M7"p q~~k )4B )4B )4B )4B )4B )4 dIիWbbka*77zӧO߿?22 e"= 48$@Rh$@Rh$@Rh$@Rh$@Rh$@Rh$@RH7 qFr{~QQQ/ {g?iѢÇN+򋯿:44t̘1hę3g2*ϗ'AH 4@H 4@H 4@H 4@H 4@H 4@H رcҥ#GWfϞHň#ڶmm۶رc͚5ntR_TNV:u?~*bŊ+ 4,.\p,))y|R54 ԩEEE!!p0 !@H G+++ӧOu[n늢|׾ 44s\zO/,,IVh3eʔiӦ5M0HeUUU򋪫kѢ$3f8p@bb"˕6uT~Q?Ӂl 4@ СðaF}QcƌhTh ۿ1hfwqGL̷̷0o@@0ڵk׮]+#|ꂱT3"hܹsǎ':t)vmٲɖLIIٵkWtt4Աc:NaΝ;pʀ7@_~yС*KhOFFFZZZ&M-?{e?zq)))C&==Z~뮳>py4aGFFnݚZ~bxArgW;wwIhϪU233{mcM49}%{d {^;}(+E{m &;qw;G̍Nzؕq-|s tiժUW W\zho=;q1\W0𹌧4W Wl.t@ `"'sUB!Ғhؔ&RьK<0_V 4ӱcΝ;pO8zKݙ>O  4!'''99cǎ555.+;;{֭M6-))OǫhTtЁ95[sͺzo­/UO^{m}8$WXѧOΝ;iٳgg͚e|]tYdo hs˭ӻq& 4Ȧm۶~%mݺM u᭷6\+w[.f 봙uJԭss}h#T 4tܹs;w<}ŋoF ]wu]wY;76wYgώc}v.]hѢ)S޽޽{'Lf~S[fee_Yf*t yDI>zjA .ݻw_xѣ;tO nݺG}$r˖-vPqƝ9sF5w\eee֊hQ̝;ĉ/ԩS]l۶mڎvw###Ng.]>;$$tnzĈ_j۩Sٳg0[>t@0&M(ݻ#""EEE-\Uco۷'''[k BU]p`۶mwӧ?۷ !F̚5*22ߵ裏6o޼b׮]fͪ޽c=z4 . ?uԩS9R]]o>[oUTT$%%Ҳe˥K>Ӗ;nW\YUU-~-["ٓmT!!!m۶߿KoJjjܹs !ݻwҥKzzÇ]FV]8~dYtnhFhhhǎ#"";BMVPPW_}u֭{쉏wevڷ~O>"7m"˗/kcǎ}'^o<6lڴi̷Zhj*=Z\8¦5v$;4*44Tktr7ƌ(˅K-Z3f̙3W6o-**ڽ{ڶmsx8q">siii&L8~xuuu3EvfxǪٗ8dsytZgOa/`pف^y啇;vliii-Zz5 &@04П|I]]g}vݻw_}GmӦMtttjj璒.]ٳgǎk֬Y-wsUW={G1щ1իWyyynnnRRڵkٿn겳sIٮ];t֭"^zFFF^wuw};nZ\\ܵkaÆi7rcǎYf„ GaÆovΝϟn!###>>^ͽ{۷̙3={^nҤIbbv KJJnS"h߾}ۿ޽ϝ;r6mZUUv;x1cP]VQG>ӕ]wp8VX|ɓ''$$L6mʔ)+dɒ{Gͼ%KL2e˖-ׯٳgYYիSSS۶m;hРnMFjkH =lݐvBCALOOʊ,,,u…R˕ٴi/:쨨Bج,á5!!!ډ'N ---Ύt\.+777<<\;ԩS\333vWUU?redd:u*...<==W[[}ʊ 6?մi: .跩D6 !gϞ lҤǣ7o괮gddlĉ[.//wIII'NV$&&feeUVV&&&FDD9W^ye߾};utԩ.]<䓄>}hG:bĈgy?UVyyyǎ MOO?yd\\\ll6zڵ!ǎ kٲevvvqq_ߢErEQ{yQBȐ!C!iii=z(--|!Cv:{쨨gϦjʇm@qUWԅDO~,a.EUK of^~*ejv)TrロAH]>??띛e[bC=d|AQUG*.aݖyc|9Vp vTɓ͒&^27_+oHV}$??K[ChkY8@TVȞ mUm]Bmzi/oc}<ӛ.h$@Rh$@Rh$@Rh$ Urر_HHH@.kVq ѫk(4q R}@A>hI@Rh$@Rh$@Rh$!Dž$lӦޟgΘKEc.HΉuiݚ}-,~$!YBٸމmjLb!ĸ#T'{Be\bӦz05^r/x~/?u^ "hI|XSl4(jaxװXHs٧yH}>5Uȹ= XCUpES$꧎>pUX-34@H*x8D'?w; gCbsyE~^y?W@ʼn66,wMXɁAH*x"hqf42-0;lY2f SSS4Ho4Dh$$u9F"SDb.>q~hWj $08"gn?JIou7 *7d"hITwq2]Sޢqq0GϨFr u#""rb 3S*ş;qO:L*ƷdvsAH*#b ĆČ33"QYv} xR5F{ѬVv`U,-$ԮǿZ;L\"Y8"z"hITwq蘏H0?7&?ssS<"E̡0 xɣ"ߔg.z4H  b%2K@RAz7?4jʦMbdYȬOGtAmD 'W֒0O~1(f7>(P'V_<-BG`Tx4jv-#aj_?jii@RA[`!Gc ҁʒAᬉ olG$2P|]H(n"0:q3.$@Rh,gyNlcRXxyZgfy"2Y@Y -0z?tb"hI|]RB X [DU&H% IBLşcل0V{׮Ő"oZA@ -O|Fԍ0sq01EbCN$K>h&21SjHٍc{$@Ra6H!Ima&ìJeB0ƾSM-/>=~z ^7q'lvia@>xYQcYUgq&`"hI|}(9x]Bzs_&gJ$fhƑ|P_,`IIZ3rb@wI_QD} "ʒ%2޻~PTiԞLXbDB ∎7&F=Y`>B2Ge+f4sP{.1Kc_d%0+@L?OO:H.y](uQ]Uƚn鉤a{c AHJQUuOMpnxn3Oϯq8l QNef[b3 9M$>bIbaLUC 2KRslۿuBT8ςT f3e D >=Ew*~[;򘳵t̴U[R2{̩kkX4^Qa ӨuZ<?tS]zMƍE+ILz9YTk#"hoA#A]AH 4~/Ν8f5W315e`POZlBt?5 ,%)s" )h6^JU,9zf?[0K8cDs4~PV;1Cz3͎&[E$=Y (>HH 2gY=*n]̮e•YQ^$tl,{i53?u s ~O43"N4j4;ȎPf%0'QoIER!$e^à2+&on8'CmDB qRlXHy^g>fRc;'AF$e7c.3hNNA f'-f Df9Ƽq1b-^rD X(3F|Ce yD̮e\5`aУ:syǨErFy?ʌęBo~3bſG~M8:L 4@H*sq1mOe x;a_e16fkUKX d@R?HZH1beo,ˣgVVdo\B6}4AK$TafČj)H oIAW'犤a ŢrFS$yP|S@ )4B" yrD|)@y?<\*>5ӣb AH DFP%-T^ N9"/23{e e.yPuV"> !U7NMle2@Rh$.ىg|75,`#e>Gyw-Ȝ/`ޭF@R\%(WE|s=4;Kwbfrv̚p^l<"?Fquf+9_AH 촠l'c>hD-A6m'SXZhYa,g`rpٖ DB )tq6 K.Yn1Ƶ!,EEzît%2DB-/Nvcf.4|7y?sqXLf>0hAH 8y) C@Co pn켇@Rh$.y1iz>O] =dj礁QuɷJr&ґ?nj"#7?} DB-/NG:."<},$֠dD&1Iʻ"vÖ6Ko "hyEH(Fd7~,NinST/*U,VÚtsbyeO/k♏#T>¼fۤ~9ԉ"}Zif=DB )tqȎA$:)fDpR3"龰l_@e>MgR:_јϗ)Y.g$:ۜ96`by U,sZ:Ejq 56tqk1O4{·KMJׇ]s-d>fi DB ) QzJ=83̩u :L^8[w~m5tfs9DI zf%.$AByWkưى8Q,Z"j7b֨ŇeT,IfMB ȑCTAVhՇ"g`/fAH }2,Ԧ̼ GPaDb`th ^|׍JͿG}ďd"fe& 4@H ]yfOWxj9?ձ#29,Pda!?ȧ' :sui ̞%&'Us>.DB-/)j+&fxbnWaYg/VU[97mYOmP! iڻ y1z'=~N;@"w$?DB )tqK$͂Hckv3{w>mY׍zu욁L4UUYfv"W{#a0.$\:>PA:>P$# ^Ghգv'j-v ?G6T"?.jPD* g]@R胖Ȋ #~1S)STg=O}#;yEJg1HE0Okuf'I b ;@Re 8x}kbDf6;پ)cr5 4Aˋ?KfZe1faffe<&Z: h hIC^Y\wt_I(vCIsȜ0ldDdgJ {!"htH}"U9(\IRق&9H_Sy %Od@|\oAB{!hICvxÃ"_gܵ tjwErto,ݶP,X@R* 1MPCsG]3:zϮiv"YlvB )D |>h~p6胵[ؤʒaxQAH 4!/N@QwԿ?˨ !Mf߈b-lDo@JB{!"h7'vJal+/ˁD!"hI8L` j";Q*GU-?gc0_4춫gZR/7$Z^啾 &YQ y8ؕNwnOgNCs<z4AˎږIY D5<)ƚX>]f7e!>.˱UK$@R␗9 z6252]mv-1ԻtJB8jUd" DB-fgy).^pQ*XdytGSclAH 4!;jFi#GN|ꎨyTO[T_7>Gj$S7+> 3㇅ fDB-/3/~ӂ8=cp#6J+=WYZ>/cU:@ "hI]41cY5Q5qŒs/Z8Ӱ]?S!>ڟwZ駶sJB"hIea︍sѺ5oWFdPd1S(.*a?uD+G3f3aH'0gQH#D 4>.)!eeˣLfq 7^EĨQ\jL̘KX*N4&7ĿFcWd !q0>ש$V. Z<^AH*#h>*`.%!v tw([ 6K[^)C&E̥fu3D.ͯX+)ǣ.r﷝?ٗͬ3s}C )4RTUwd|Wqۿ- R uZ7LءzmVd6X/V+HA{Qo T4(BbYe.3iҬ%DB )tqHkw6*LFZEpzD*A )DI@#& tq_[qI*z4AL dԟK]ٕǬ "hI8 :75nfwJ cw߃x @ReWsj^>B9.$@R:7.7xTs"<c\h6H(M8{oE.$wD2`XfМ1ڐYjCkF$p Q ♠Q-u u*7KYb=DB )tq5I!۸m6Ѱ圴Ev{!"hߡZ~ jixN6;2q6 "hI!q~YA?Zن#r+ʼn27DB )tqtn44;3S~;c")8쨵`DB-;$ALrͲQVYI~lͷ!`DB )tq 9|W$^SDjk<F@R|H$!#!"h_weN3˞a,PE$i`"hI8|Gd`WQ4; isZif{!"h?3ӖPrlv0lvD*Ug"hI8 $ h]7~$"8Go1Ӎ2O1v AH ,_,d0|gB )Dв,A@y-*1^̦iR,lbk, @Rh$.a0S> >> stream xyxE?MnH 9CP . *jDuE^ˮ+"*"!(rE2GhTj*=Gf;׳>NOwMAu|Fe_a͵~~B=_5i*rx饁$hGwe 2s}kWBH ܟ|QnOfHPHp{VЫI& F58LRݪ'~ӤyukAo?9Snqm)Vi SY4q'orͷ/^P3Ν6i5q6ӗ=sW,ʖ coq;!X:nl羺^^wϪmO0ُ̅/uMS,z}g♍E^ϸ~ʜ^KL߿6b+zW~Vw2󷿑qvSn{+j+Ywqc'_c%r͎?M7v-mv%ȵwǎ>3ѵxl 1k`w@IB㢃%"E]<,+pDN1ѡ&H1˲l+~`b Bqod^A/KDLεrݏ.JR8cw(K3)$(}yUe– A5X}axCBLD)% AD~VY0'1@GJ;iq˩VvyFyb}U@¨+K^vqث'@2%SG^*Ic^ϱKӉI G<]u7-.z_tGgL~˿0:4zҼwqp=ɍdsk\Ƒ:^+#$)l̛EO.Hu+ODz*ˍoeR)mvY6H ^;u@8"0(ε殚26y.A']qMJD)k:^_g`; JeoXu\RMWyzرVKe4n4z(J !߽k߽GVB~:g7&4Ursl澺◯ޝT_ K7>[o5oyYΊ!$"יdB\w\Sz蟯o+'#_qװP uev7؋@#4S¬5{ߟ@|]u[U}Y5DNNNN!rɂjrГf_mӦg?^9ۑ5~sw[~VoKo~xOpڂe_|FLI:{Y?7nՙAS;em0;EH@҂VKGDH|Da̦IOۛ`I _+bJ SYf=o[ڽ74a#ɚ (cAo۶ȿޜ={6***8] >}"f.Cvm:wܩ;#f"͍y]}3f=v]v4hPDDkᾪ=z"]t``ݻw7ofkᗳylV  4?%%%͚5kȑ~>hAhAhAavvޝZVV֭?o ^}b=z??SNsϟԄZG@MXim@ RG@}k֬}vUuuusi8pO?e>d ewZZɻk 8v]a [ OOB׵D`p I}m}<$4Kmޞ5wu~ ۣfm1H>|XMHmjjڴi@BCC.--=zd"v(`llNxy465jʍ;m4? ;>}ΝۻwoNN!̙3՟}_k1Hm2"##ՔTn܀T G+Vh}_~Yv ! A8{`Z+4`dSN[o24#HR(߿lٲ6-,,\zMua 𬌐 4˗/6bĈK.:hXX:0нÇsIKKk}gϞ뜜x?wܘ1cx C С믿柳y悂l۶-0Y666ر:n6/ַƀ]aaĉN̼tBj=|p?N6-((nOLL̤N>x`IIIFFFtɓ̧ºwο\6>9.y@x;)4l6ۄ VZxpر̓v횑Lڵk3՚D?!!!CY###v eʕ6Oiԑ}gxOsޤa_~<Ͳ{Ń~eﻜhtf˖-˗/1bz_WUUUl6PlI99Zt$-]$rM_34E^al6/Y$99Yy/+}^{o5I]Մ@.*LΝ'Ml2g'dee}>q]?.+B\):ʧm1̘1Cy裏>\om(@{;ϟ?Qq666~r ! k|ڥfd2%$$L0Ay!$**OB۷3İ%%%=e/O~a0f XԤ$BHMMǏ9B裏:e)_lZ'x4hЁᄏgϞL-[PO8nݺ5?f%''o۶:~T[.;v,BhA /:ܲeKlll ֬Yq޽{.jb%99׉O25= O 2RWl[6&uw $hՄzHHHgΝ;v`ΧNJJ)**j|C9s̙3ݻ6p}1&X 68`3g*WZZp%%%yyyRoY:BHttѣ]Ӻ.\ IlnhhPfJCXhQ}}}YYYIIɓ'O>{&_}բEzE/gΜ;wO<:E|kϟϏW~1117|sTTԬYyVo'%%fժ47nwTYYyVTT:tH?C{dB򊊊ŋvon:uxo۽[pdzĉG.))Yh#QkT/X,#FΞ:ubQs?LfMppp޽p{GcW^aHZʘRCCGi25`ۏ;vƢƁ"Xֺu|B*++,hڱcG||,˝;wwO?bi='|Ӛcbb?yv~s'xbԨQVСCK,q{ٳgNefy^x grK"9ǯݱ]Ι3G5j$IAAA&iɒ%AAAػwoA@G}}>|x~ $;7Л6mڰaCUUUTTw5k8={dak.nݺGl>|vJKK7mڔv ||MUUՎ;ƍV_|qȐ!ÛoٙAAA\sڵks}999% W4e~09'ӧ&q޹sg׮]>3fjll7o%\w^gU׽{'Ky…#F#33sv}ȑ/E555]rwԩx֬YgΜYr%5s7n|ͤdX,˖-ݻw~~/\RR+DDDp.0`ߦ >}=Тɽ!!$Z >aX]]=k,ždGgeee^)bo={|>ޑ:::/Tgylݺu޼ymlLOOw֏wԩӧgdd 6l555GTgȖ-[\};bMxI">^q-޾ax7:tfEEEjdݺu~᭷vԩœ;w677ѣ :uTTTn+o&::رcGٳgxx?֩Sjkk~gVUU 8P9'///666>>^)!33sذafbȐ!-dee(;o888Gì!C4558q"%%%++k999z2!!!cƌq\駟>|8 ""B^'Nl۶-33СC+W7nܴiWZU^^rʅ :~yyy֭={/ۿԷRRR͒={ߦ :4333--0:::<<\rIEEEdddrrW^,!~ׇ ;vөayy_|q^z񜷹~ϙ3Zrُ?|y~?<++kƍr˲ezi6lGEFFꫯ8q2`R Ο?_]]]YYSOlc:lܸj.\0((hѳgo~/oQdJmU9y'WG t^^^.]jkkO}B;֧OǏG!Z֜N:UWWDFFLӧOFFFFEEl6Z^^TPPHtY˓e"::jFGGBΜ9Ȝ<WVVl6zQQQjmϞ=[SS#˲r7&..NmAAAPPl>w\@@Էez N:|%9O6L jnn֭d8JIIQ'N0eO<vܹؼFeB+%%رcVuذa>}WWWw}ń"\[[krrr)5IijjPfiid+**R> /** (//onnS3={677K. =z !//--U|?~{cƌUfsse]tdݻܹsXnݺرcSNx%]tСCϟ?/_p!+++'''&&fWoo߾$qʿ{G9G޽{ggg+ߦbQ~kڏ):o{즌K翳7}Cek׮N3eUA¼cu›{g!{,g"Ěig^+xw|>nן43$.sr!fXW.6l˲4QK,XlMK1E㫯]$~Ȍv=.9Z|ߵV 7+^2WAbq3 ?*BHLLLZZۗGZY^K.@Ph@PhABǏ;!**J]ږ=;8"NbڄlÆ {wp|r̙[+5%i<ҬI^؈8_fE FgDXQgt}zTZKA8'cGfZK4g.~¿7/ h^Vn}Lz\u%'lP?޽[7]1i1M6!yꫭO>.,L]g}N宼 nv}3bHψ!ww ]UWùgO|ӽqABt m8|PxѣGi)ZL4m“Fe1@Ph@PhAB97=1Ê AhoWBHfŇp[\||WjU nYę̝<!7(2K^Q՚oбzOOs.;W|2j9J goӑ,}!#(E_P!)3O˷,A%0k,:GyH|TT8Xe$R)΀&k[t@@'Ջ5whб.l@s0Kt@;$x8b\R:g3,ͥqH-].FZTP|-u8ܹ… ]ABA>V )šrꍠT}"3!DOBTf9SHZԳj<~23 /uAB,@h'AǏ|]uXf,߅UcRTp>U~o8s We!hA龋f޸sC4ʃAqv`tV 4f9Z*YJ(DD[ˌC 'LjKAJ45N Ŕ0f].-6=f*,"N _6ÂAJ:NO~O%sqқriC t<2lsq. )Z~XmY6;^TfIL0jY sfiy-~?9황=/ 4@J] >jU9C1Ԝ^.MӾ%6 R0S|h$dD}Z.a>DG "ḫㆤ;GxNz7ReCeOLA*V>=T!Zn&)ZhP(6D}M񧒢Qg::[?E=(.U>RjQA?d뭛'f9>s@+9u92rK} c2gNy]VwB!DB (wqP9ݙ}K-Z9\4NoA (4}5Dp#gg)4d@ (GHدr iR ݘRVFFlԃ:Hk' C4wԸ2tw?ץWˤ77h1W"hA80HMclvPq=Hsբ AJ4 BK |dK)JtLqEf|d™]ނ@Ph.gΝ}AQ;CRR㜄jm&)_zN4Tw>jF[%PXjp7Vqۄ4tA;$_r7f*-k-= c@ZvW:-\ڴ:![9sWos~9B[pjLO0;; x4tA2S8;R0/^ōV ->,r'9#.]cHY%>eX5Fff)Q~uߜZ _A 4ayu)-9TiiTyRn).UivWhOvBfT}f):HSU?C~FPG  Bj^#C (DІr/~Sl@Y=uo ^ 5|ǙjTq>Ȝ.I}%.MC!hAI,9z>۲Cu#9Ց1)Sؕw{'rLHN%h-] sK/r:AJtY9}ccf}S8r ybZdΫ#V~%u|-*֒q6_%niRT7zBYe q5sF\ H:S s8sivc.py?6*j!F1-UjƿLjToSDB (4}GYB~jLZ%缄Wav_PKZn0'r9Rpҥ5~;n-+ORr):q;s%T ݜ'Z!#HE; VӾ B,-8?>U<F7ע%ir<żoW@ !sVjɗ_¤}#4΍[@PZ jԙ-k]rCcvz6go1.cV -); df~S̭tps< P0Sөo\K˹1>RE Pbn/DB (BK 7Wy}>ʘYSo˅m%63tv),ܦds93n%s\b慺(DB (wqk0j鄴JfswLג^EkJ?ۉݿDJB|@#zB-)TZ\ӒFͣJp\rFxS*9 D2Ne/T gza8A];44@8]q$L/fJj4Oz2QAf9LyVKZW>aFJKfQD2ŃٿYyOݜٱ#O.D2ZPvA2lٍA_qyu 4@h]*[?ߑ~4FtP9Q{0 |YX=jx4A3C K,Y-`Qz刟=j9?v@Phe.@DF9y/ epՓuqv>: 4A3܎]JaTfgaXB (ELL퇹B__ 3{\{tq3|댠 hAu./f^4;ãvbQ vޅ@P8|Ԫ Π3-oûB@ (42Z:ք,ӍKu c78W9-@PƉ@i8:T͏tP U߈2RZ~j Ũ`B (DK/j|q踣invZ7ZYv@P`%86\2ޖW7:v<$t\u6܇q^i9Tz"hA'V+Ә3ܡ>ӈz-I|WA̔:~PgT6I]R!.ָ6*f~SԈ3Z9HEGgpP5f "hAI,j ?Mp-2Q֭-e2;p^-A--rN'R[Ϋ0bNv݀4@J*oӂvŸfP](~ *j)GEk9^_@#޵#-+$ <:SdJ D !">dDc~2i0C]KS9u&s-f=ü{P+ ˟G{t©KwrAh4tR5-Y_̍+X-"]S8=ndsPNK[pv@P|$ j%#5Ռg)5]w}]#嵔9j.)|P:c1zmivj96D}EǑ @pa /Q_"9֚uR!;WAj}ߥ\}g w% _]΢lޅ@Ph.OKOhoQA~|cޤSŪ}Y/~.f}6~T.jcn~g3ĩMA8%5h:yMMZrA1u=>"hAZ{.if2?{5g_  "hAq8w"iYIgoleZ; ;2پhl@P_{iRPA#FЈ>_W:D}l+1Waud@PPNt9d f"hA>V!L1Þ$? B (GИfĶΦ9vFSK#"hA80ˍm-da #hݡF 3=4\ 4@J]f39}`+kBMدWUZ2ua~!#(br B //D} #̴AYB~?5z@Ph.?:ԇ '[aAJ4(\̓U-'Ez@Ph.5aws 2eOMe25 H !#hass"hcC (D%u'%a hACMaΙP8(A AJ4rqa(EyK U;"hA8Ł;>}vq@ (G:BCKSp;hlȊQ%)"hA8|GYHP|SwA4A Pyi,"hA!~ 1cB (4B(=Ԭ;NW} "hA!eΜ\ NС hAI,yu~=!<* <WקLΩ-oAL| nW A Or!A (GQQ-rnz8)=R  @Ph.9as4tA8^֭7OFeA 4tš΃VR]z¨1ݑ!#hQsr$5^쬠.C (GB5@u>hf #C (4}5NM7xABp:YZz3u+ @PUJ]s3ߋA8BKVh \e([Zv [!hA龋 #OrwC (G8 Iױv@PFcb]G@Ph.g+ 3!,On 0뎩]ߑ/!#h- U0N/:B-23 iPW)!hA龋C$ThE3!D}*q15O!12ٮ+ 16(8D}M-TQ i;]T9Ѻ8SNM.t#t{3'5q[u]Z6Y?B (4}GYn NzPQ}b/eSO.A˾ GN%-gϋS?Ԡ P ,j-cZ;5K]2*r_磦S|v4 hA龋#ojF?|X6BTiU︙PC/uk¥QS>X1!#hjpj909҂@s#ٍ |j9ThIcp%8><*d~\Z2CT23>^Sy_r%@ (4}Ǐ?\PGݢzܻwhVW(: uG ay α4~92rʡ*_y Ш Cwn߼3liqPyHs2:t|-w*2ނ@P)T Q!#KW8OZKfMNZj}_ꠖx+K%hEP?ZǃJK n̖Ӟ@ (IeA 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ 4@ f endstream endobj 29 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 15274 /Filter/FlateDecode /DecodeParms<> >> stream xy|SUsi)m)-JREAVA\7@QEqq|aQAGFG l"NZtamKK&ӛۛIMy?$$<9 "H?M,}=+ȼ(w\S;=|h/f>o%ż}<bovfXn>Ƿ yQrwRʩ + 'ZICtvHթ~XzoY < ;[1G费nK/w<zb'_qA#FNϑ?1|uޜ91Nme7'n~Icxp|},5Y;o%C{Ľo,S}w5?GG|`^~/kwn͍#+2׼'{M~ Eb=3֤[%sOv~4oXqO,;ad}5s#FM[l&bwcoA~G9C%6@-&< XrKSPh@E D06ikKDQ`bh!h4Bpt(Z~-!W E;ԢSLTK_A+VG.UfnYEr`He M`4C@ZyF@?(Z/na/Mb|ş?qGBL~f~co f|bžJ4Q0g+C\sKcjN.E{}*m͓ڍ_3{'J૷gl+n"Zb >w}aŊ{욼 Ǝ3~*bnRm}`a͵}1v)"/DxӝڶBh?Ah:eK(ϼ˛xXxFUDԿݹ?)mEze6Fˠbohj,3Q7b~gM`o ^[cC֓!sEQKsN9|4Re>>cg= M#oD%c9U(V>ܵ4"O@yo+˯oFQCh!Ç>|hL@L>7}) )r4@{u]pFŢ/!`ʖ Qvle ѱ(ƾ SF?}(`,@%݄0!DֱZ_> Fxu8Ī34U`)K^xCEV:k0'EP֓2AB!mz ^e"14 kjT-oHod0J?k[~x;C }™wUD06cYϙu_'//6@ȎSd}^^9eCѝOY!ͽg34 QGa8,W 1hx_M@sߊ*>ɨ&ݞX/ug3xt `HJqazҪm`>sX$Ԝ>Ξ֑L%ȑ<+!S-;V UbQdK)NϦTo/e#E!/[lGo>=l]@XZR*B҂:OGm>_t/_6jIj[7{+||Ms[|B0C+Ҋ\n;{J !s;W[{3'P$Xrr̢"D= $IMz3+8bz==#.zO4{wyC Ż>>}/z鞈bh{[^1ߝs*v.Kl=9ݗjb $M]sZeoQ!)|-ބXRhY>S-hB}|kb{}7W]_znY/}~W*Gׇ2pk?_lή[0wm-#`hL/a{zCl;j5%C}B[jQE뵣Mh/߳xj|y?-x嶛cg72c'b_w]X~f售"PKyox@1 A7kжOÍtNQRm^BCpY/ 3c?YŊ# 41NQŴ_V^~Z[#1xK֪G-I7Fq,H ǭ5$ۭL):Սsڪ2uD$jt^^ÇݐTPPQ˗/O2ݭ ۷o߶m۠Aݐ4/k޼; !!!#G|'3gӧM&}/萛;~[7еk׎;V$d裏1bB48NByyyG t{]|y׮].x.]DEEཀ79_~;t{n:>>oЮ]wyAz=̞=o]!7ow{oP48 )tH==ҥK?'$''{pEBBB~s(qp SB48 )hN!@p SB48 )hN!@p SB48GEE9pbrr=iiiYYY k+qĈ|;P8 )hN!@p 8={lRzxYܤ$w ͛|W\9vXw5 ==}N84XMMMddĉՀk:Ap SB48 )hNa xcǎm޼Y7xC5k>f6а 2hd{ͷVV~ %+m4T\\ 8+ III)**wkjjN']UvׯS-ILVx3ZVh=z4((>LNN>x`aa!}XPP㏻u:u>褋;wjƍN-[RRRtq-'T};9|;k۷o߱cC__2pժU aaa/vw+t6lXpp0}֯_?}֘1c***F#}x)iϊX͵QF͙3G՟~iRRRJJJ !DXo]\sBj ]~[[W{C%KB.\0eʔ8s*''033SzCR b3uP~+j?)'^ݹoH@e}ǻF֙{6mڔPZZ`ԨQ9T^^i&Ƚ{^|Gq+WJs}YѣGǏO֭[޽ZMvv wK233HPgϞ X,3g,** ްak[.ϻ^[:hFG111ׯ֭Ƴ:v(GsuO:KB0ܻECLev|}lٲXEԑ .9uքӧO'''7iҤ&""bݺun' 9}K/Dgx &L0s?nDx 8@>zj=蚚]Vdvv… դ:%$$4iҥKM6̬p ԇuP.oÇ>|oAFqSu]Ǐ333[n㏓&Li&wѴiSpy//5k֘fQ7=>>~ʔ)ڵ?|-Ogee8pe˖TphٳghhhrraDQܷo[-rCIs1Ο??o޼nͭ I&C w0ȑ# ,,~ҡC铒CXW3SJ"D6w^О@ׄYf?~<((bW_HmXF={>}oߞ>ٱcGA._,?2##C}Q}IYjjjzzznn޽{k`;v]&MMJKKkm>cŗZhQ}W/Ƽgn_>))iʕ+=if„ ,YҬZ</88C{ϥNR>d2sAAAw>pof2~m״ aYΝk=O?W֭yzC Sرcǁ 9dɒzKG6mZ۶mlN*۲wÇwoʕ/^wvFB}Lj2K3AAAC ;wl(..֭'S]]ݭ[7'>y$3"2wygxxxddŋh7n| R㒤C !رCW&$$;w.+++..h4[6j|"Xej^~.7 z˖-fLJJ:vX#""N8ѯ_?KJJJ:uׯ_͛hт׻w .DGGcZjE9~xrsscbb蓙&uG0`ɓ'tb6322zI2m۶O:եKK.u̙3ݻw 2dc=]vGEE=ZW?6o޼O>M65jT||ٳgfsbby{URR߭[7ڞ VZяpĉ芊 u͛)?_}U^^ի~'$$lܸqĉΞ1cj8p`훛Cedddee͙3GŁΜ93//oIKK[nݔ)SVuŊyyy˗/WlPPPTTԸqxK.yyyVuȐ!SN|ݻM5dȐCnذ!!!aӦM'OKZK׮]jժӧKϯY&''gʕ?5kbccg̘nܸ1222!!7LLL5jT6m t!ZjRz<8ЅEhOЩꊊ􀀀MMծ^zuŒִiӴ/fdddddL₂@hҤ > jA=ܹsׯ_ LKKX,%77d2c CYY}fZ+++\bXRSS5kf2贂Q}}}7L wt#""̙CIOO ӧ=&???--d2ۻh4%}L !/^Tz̥K Czz_jjKKKڶmKk뭷 իWSSSCBB222Ë#""f͚Ey߹sgc奥Foo䌌 ??k׮ I+WЇ^^^W^5 LArsskjj !/_vZXX6mZǎʒϞ=KrJaaaxx8-?>333***99&002pr#䤧w!55:((l6o>99ll6'%%EGG'%%UWWٓL3f̘f͚Y֭[$%%я`6CCC !G%Doo襤S~+Wtԉ^',--MNN֭[bb"!dfBC\abbj;vã,XФI⤤$?~gT{/xy=}zɏ] bGpiϞ=SY犼O; S+I*UxՏOux￿zЕ韍eekN6 A ~Z]~>w?W?ܭVW=QL>}/չl쿷W|tƯPt?&}?thDw7aiLCSY挖Kܴ3n!4k֬o߾4z'6`{ҸF548 )w8#G_ {]:]]*4` lÆ o޺u޳\-{o/'ԕ"@-zLQM_߿腵MnA&^WLZdk7DKh[+^]p~fEڀ ̚E/穎F45hE nXUbiVF'ڻ,}0{[w7aT.čBdҴ-RIɹ+Wk?_U{(B,)˟K^ʲ>miV8Iw7pwܢ{r/&n *㎯ⳳk4־ zӿ^1Ϸs.0 2dȐ!ӫvruDߡo׿-Fqp SB vBS=x ' @'[' !.B֭<)HJ{Io!]_̓;{)Ut=;2E/ҪUf`zՅtճ "}C| !XY6 K-d4;f~pSWhk;@ʯi*]\^~ 9i'=SorkXX3r~|ȡ smD'! sg6%ʁikkȠl0Mȼa?}|zj[f3/) siϡTg`:Zb!b9֫;Л_]+'u%e JB!3"D5ueA ''L:fPp kz=?+Kz~|ߨ?=|}rwwwiDO6gΜ9s8xwڹ`j]-KР 4qlr1YLKOa怨WU(NHj۶M2W,IkIu'iN48+ȫ: UґZ:p"8 4A39靖!sU+ґP1I|ҫ/.Q쐴+OȠ8 ))q0z,R-cKW9eV%)nÊS״u1٫rStu,'"+_+8s44B-ZصkՀΝ;O6I}.)!u%9xyP_(wqtS\٪b: |SfBڵć?cu\;~WWA SΎ\b֬?ltXDf *0ɴlԠ)-'Θ^gOũ@ )hN龓B}bPZV? ;(MNISWyQC )gй%U_7`r%- b{1$z4UHGq+&niY~fХ0$UWakbƪ+VrqgpLϡⶳ`[!3hGj߅Ӂ^-D~*$Guԗ=c -+)jdwnuqմ|aPh=s_X(vJOja20x9A )hNFe=O}J[O*,(n.I˓Vh SȠ(f=Ngٞes5m+zϡvvm@=!2h5Z0sx`p' TDqqEssdg@ )hNF>iPZ( [傊H}WohXȠ8 ZMl8{"p̓qcғ4da&ԲM%}LcRyv-!?E=qfчC칅)* 48]cct96 `f13 ⎅ݕvȠ8 Z>+p2fK_)}^"Q+ʢbcxi'ֆ.'bHſ.p2hN ( P7]/O*[cԻ)-' 2h;n-G'4Vq'}+h % OΘ%L0Tk_I4dB Z?1̅CN)>_WEٵB_G⨐@8ZTK2hN~-ÇӄniNqaH]&_tڽi?]U3.d߷[ˏ!j 4tAR*VQmf'OsŊSZHO>QEooK/ͬr;~eUhkvtX2S~A0P\uZ-*KlȠ8 )ݗ8 f7#}<ΜI;e-zI{T< @TcW/8t{ m5O a#+9LmJKG"m(Ƞ8*:Ӏ\FjL<žGY 5[Tx/S7Yɐ;7,dBJ`QdZ>z{o+٫w:pO?'BeSmyDFqa!2h}c,Q%) /kjz0M\֠zڶ';2oMj 1|j.O2hN!]נ*bS=T3V$u$:fd)}R j",2C )hNa-}PΊ{IIhk#%GRuϰ;3FߔvI4x0kqзV_Ck#괯彠Ap :C=-/R{{&)vLQi1ʰ6]3 48h\%&IWcb>Pqt_K͞:I܆iI(rIoeصiPՕ~V,j3 zn=[I'2hN!@p %}`P]zGbBͫ݉^V8BŎ;'桓ЍAp b"s21Ap 484 SiavI'jmˁS\Ԡ4883N&䁽4R/e "TȠ8 ZRvaS$'qf/eICGIAp S(q sK;\}-~fHBG;2hN!fR|JqRPI .˳!2h}2sĄS^nZδS6NlFȠ8 )8tF_݃U,'H}j 5\<2hN!^)P$u(ɗ{wA )hNġoz[qЊNgH쬲`)+& 2h=3ɣv&g$b&!2h}()TeAp S(q~;j,$:l(NdǩӾ4Ƞ8 \M1 Ovcy=c Gp̓%ծ!}a-7B )d -=L$Q_$K㫵dޅoucl2sIK?嚑*ٷ׎NBσ SB_*m81r"ssuK K{Fk]aWSd5#ZWܰʮwqJtr4AK%Qs-ԯS$K77JV@=ygNkX k:5Ap 4p1ji=>C'MB܊NFȠ8 )8c:ݾچz+f RLӹx=TPsQ 2hN ( _?Bn`R&!..3U8<<[ϩL'4P>g@ )hN/Z`~T-Ap 4bfHAp S(q+P_mtJ{+xdB/y,?c2hym⬲ 4gB )dмcycdjv֠HksjA-48yB'ৰNB!2h~ɳi5;&NB&vNO.Ap 4hjZ;ukT]O SBC7f84AKkI-f SB_d}+*-#ydV$ ]0ȚsȠ8 _*躓ЃsgJ>ήфHr3dB3L>%_N<'f9dBJ`T[^i0̮1C )dRr$4̓WsvsȠ8 )8e&! 3 #>:ŝw}'dB/yߚ]6pP7N 2h~DŊKp0= q4McZD!4ueg}).\M>PTϐRa4Tu3 ks64u]Ϭ>kBfɩCB LgG- Jר$3e&]~:F#W;AӖ9dDQtw@ٸqqn񤭮龋#LP1ˮ?V kk4Sۃ8 SAK^U>fيU-6Skc-OT/SR*'?F1mT/3%rf0lT^'9L\rڰAp S(qKn ݙ2̫cOǖ1#'UJw̫)%P|;Z(~GPKV'zBa&. K…7LT}E3/W3;[ٱ1:-y> stream xڝUKs6WHΔ0"Cm]OS2`c>]'U在ZgQ2ˎp)8 +3l ]eꯡήD[.FRHɲRy?d ()e2l+l\|}uU֐f5RUp&\H?v96~T0?hlo`*OH~G3>nu}M:~vOȐ[)Pb!ސɸn||.NI^oTzq0a#?"j"V|q(a#)4'9#?F엢U)u6B-J럾O4i6}4SZjp%4#܂53~ghZnFhP"BsGcq=AW&_h-Ӯ_bz`gnĄH2#oE…FvG{1/ߗՔ0v#3N4 1~.͂T%Ux~E<7mg>x˃ BMx[8q?hc!2"j*")~+74*MIS3mEZT2Q`~#{S>lDpWɪ0z0ic&JT7IًʥMs8 u|F;j}O:E+f`;g(̄S0sa3@ZN&_⃙]O![ :A?P%ߙ9e #2WQڋhv6ԍ5sCN$F˩`)Ĕ>G^vi @!;%MGCwWq0B[#k"uv_5P1JFPVF HR X.H(Ԣ_8a endstream endobj 33 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 28766 /Filter/FlateDecode /DecodeParms<> >> stream xgxTڇ{Jzq@P "" {k9b;A8(ENJ d3 $$̐Y83{ٳZϒI `}.@A4Ђ VJ -`D@ X)Ђ VJ -`D@ X)Ђ VJ -`D@ X)Ђ VJ -`D@ X)Ђ VJ -`D@ X)Ђ VJ -Fiúy9;EfÎ#zrt/Z[wi n,lG8 V˜A3"w6Z?^^|t sC_q>?rJX2.kgoD" ΔQ2=[$Iaf7gg+>Q'I$I"rvhE{!k#8b*6{J_gf7B@:݌݂N\0|9Anp2vºo'e Uםҙ#;:Ч;M;1靮v2.o3v=9<7|w9śwD8vAC๑C\jAg>KnmaCZK !R$8dv]1R&ld8 O92>#Gt!s7;Y/I/#srqsH79CZL9ߎM:ytWLr)ljArSԠ)?<\~uSNe8v%o5H$w>'L=o?oxP}q%//$ta؂bG'8M-H~ Zh-wTƃWgv5O9;*eQ8wݺGWO}#e_qЮIK&E1=mx_|vʏvG̐UNϯذoHWmlt7!諪4r?JilWar *UWJ sus/1hW;\(&ZldKd2dQ@݋Γ߷,zdDG?}񞾷[+S `> KU.[tnӦI+F tFA{ "&7lۘj6h;ۢn]?o@ӺܫK|.YOO~HNc}dwh'.}w?Tlr|]TRa.ԕG4Ϟr3`({3 J:%^{f.k͊QcXZ3W:9dJF)e 7I!sm[n Iw&ëxo uЂWRҩWow+s{WJ-W eZF|f}?W*qo{"E Z&na݇>4}TKj; 9<ힶ`AUtG__T[\W7siQDi߾}!!!-R 6o疃i=tt-`^$/}eQ=nW sю~z0}gAOS~ gOKRZѧ/d=IdC0:7@dw [95-lFp~sw/"&_"A.XFFS{9$ ?m8P"sg7>lO/q=$~¦#Gp^@ HgD@ ԑe=hPF2Qʑ@ƑI'AD9Qa|Յp˞9T-S&/f:IDO!Zd,A&M hN`JF7;ԙ `L A&9%qz;g EqcP:ʸ6n9i(ZVnT XN~ԇ=0 ޝDG@o4x ~W?N q-KP=D'؁KXě.ykj@\A JQꍨLH1v!%\(wәX7a]5Hje[7|Ze-td. +] qjHF3НC}ڃh Ȕ g [֎cD^Z`.\p tLė<^`_7 ])'Z.ڽf7ړHS+c$2 tsM *4I]`H{|U尚D2<̻rXhA,N2EB*`,838:aE#1vL~1|x'4qN6'O"w'wf<>=ZΔC˵t;ÜƭN5&D@ p}ХKG>]:L H&'((e9Hȑl+2bНq G.O'}/p0Y1B E>D)̪`Ơ^dtI*vf"Zn| 4ΡϪGwyPp H"p&egHJ9ҁt'> W&#HMȻz/=ډN{4`8ŒV2H}3ӎh*aak#Zn<24IhNIFą,Vc}$plC G ;? h&#=뒩H-mI[[+FS9{8D8#7Q40͵wk9$Ǔ"\G q*tѤ>8uA:Ƕ( Dũ2Rr)& Н}Н"5vpf p*< x¦rSWzGU.d\Ŧ*~bJgz3Í[\鯠D@  jQ{c,;vyN]q JS dUNf)C hHB8w?J/$8;4`r®1sǭO \GCJ%]A _Fx0ڝ-US#ZK3ݏj ՛Q32c;oc Frh;Y$咒>_W|Ĉ8"|hK |a>HZVsrd=xiߗh+ cUZ -@B@`3=e(^hh4"Ag,A} 1GQAfd!m\oDž8SV$va9'r;a<{at "wf+,HzRJC1vOsX7@ZNkHVsHMNҍ<ŝʫM|nYVوЂp}k9($I럲Ĺ;ޓqk?GUIf)qғUQf35 s@# aD@ B$a(0X,ck)q (Pé3Nv]'8ől,ɐ{C?=ƭ^M̠p6:ʈąs kHaW jح'p ʇ qf% hoq&U }phK4irb]AhI>}6lgBs!8;! B_s%l=Ŷl?CA+Ù9zFђ_KP'/dNJwnOۮ6pJ֨^N# 9w9ۂ?CK6[T3{:J^d\WOjq-\b4:͛*e@S%&j (qI}$m> _,R 8áLR 0/<10> JB^ 'Ϣk{%8GЩnuBhD)eլpBo/mǰ[ h}]~Lwx~!miU^Rn{ld5۩=:}%^á v8C؇`}h*TQPEq*-jTZUU]NNUW#qIlj+0b>H'c?Ũ6v&d(_;UL*TEC e8;XWNMКܜn oX"7LLSvΣ}~aOWyN^Z]XXxуUUU$@ O2B.p,ja9qsw/ pxq^ds,dIbD@ot3R2y8S;8B+CK:M"vjdё或T ZNjI0qrq3=[[..]?- Fƕe/*l\Νuyߥkغuŋ/zرc_p 1cT9НAUEv>@\oAyojRϑZ@Y-*-=%5ȿ6Ձ0D8w7Ǧtzk*R;N~wVN-ЎIi{'E*9R7UYž('<ݍ.kW558;Ym-PîʌUV~Oz/}> ǷѣG={Y2M cr0bG!C!X\z= hph1b3R{~ޅZOa^匳=Bx6-v״H'7dl;H bCOrKYbBou3h| K}>.>$-a'vy5WvP:~]l-n K1a,Ť¬T.M2v(Ź!؅a 'J/.eZOe%jqgHhK腎pobkTNm2y)%0Y'7bpDȽBh7P ICj jW-g@'<7|zcOhVʎ hE{W>mWq3Fwgw{ݩ[}>]΢=H Onݰ%`& 8w>?Ed^JZ1 9]ę"jt^`wo"T U7jB^eо$v$a\"n 5ag VpS]J?yղFe3C%bHUi{}!O [go~ K L2>J^4Ѥ=08w~;be/b2[lgp #neD.c /g_RM_nƿ6o|˼` Z'$IA}ڃv8ug*wmE$V"VLz)%d߸W-7H/m|mMŰnQ5kۗ: V509ޗJ;]Z- ӻ D 7ɀ.]Z} }l :˝q4\$CRKHʭ@7 1~$DpWQ=Za&okGD)|r8]gɯWC_zDSu_@*d"YJ$$e; ^ Hpq"F+E쓡pϕ~vVLx!Ύ`kmQ'R=hr]SfN(}Q^er(~`ey1(1oK:t ʥ,i8S֍#G@Fx,4KtUaщΡ|"Gf-]UnZg;&M2&^s]+vp"jAٍ0:9TSM"8LVee2;t$^z 'M^XTuZR''v}jh֬᭷<_t)W'u2kОB|j}SrYtoa`,]ChB 83H3bB٦;=䎥ZY_z5$Lvy1ރ cjZBajD@߀$ mQC R}b#­WB_YbYv[A^%9,tN!M;v.V1DPAi:ik1(w%eK8l Uf~A(g[}N70fuΨ$7 S})2v8}Cq_m~:O.p'؃po!Z sUYgPNIe'O"Wpš ~mN\'gK `FS2b{0ܝ QkZe(*b K"8+)[>C6m/GeL4 ȇ㸽 .ŐGeٔPOe!TPK^rd!x#`&{ٓȰkb9bsKMT86Bq?1hhVɌj'\>8Y eK<ƓHghGL0a.FU@Uݒ}K&nHWBǭxGw['Yb>a@'|yԍbz۽Çd7ykX۲CT,' ȝpLx.9Np!ZZG7Tdµ_u&M;cz%e;#vpɴVql!{pJla݈ cak+X#C?O],]ΝOy9oo*%EjbL c9@.rH5Pt@5WQ5Uk<#Vc[ 8t#GHL$?s3٪~R+!9_F_g ,ǚ$:mh>Fvl yf$&0hZ \j6(3C ,wpI:RI ȑ} D@_+Ce)[6#~v"wp/U2?DjfGlt¾ޏD;bgj =YLU$%~ vgÕlC*_{ѧs2dNyqkR0>=Cty-`tged'-fgio㭤 \fCKCxϝaċ&(5Ge^ `"n]"但sw>\|p0K̃aH^GrmAZŒV~b':Eҁ&\Vټ>,Y[GtSdM|)FwP&Ay-="Xw%Xـ[vS`ڿƈ̵0b,a|| |WW,X@I ܹYJt*(GK 6Z˧d3*-`YhoezBLV<\{đXOlU%>̜9 Ę1<,X& PB>t>dÙ;G}yWphӈc|O`4qwO^fBźr@$3L 3SscrPXO?%']Ykm $JT[{~}h#4Yw~{3k Q[9[_c4ɨ[Zsa,#5_t9̟Oe%Ƃ zcmID@_qlGH+r(x4'Y]c2vg~=˩S|K`42a/HBkF"/+ i\:/njW|wY#Wz_o:u}%Q*܎.tEy{0g>̙DEY&%*PqCU<1(j֛%Vrc6P'b\wFӹO;ԗibVӱ|9_~<U}6YpN ^M| o뿿{rʈ#A[ M-g2@aKgjff|Ёy:u7hF"/V D-Fր;ɋJJj+K[ M8D3_fDИۚ7ZvX;$&2ig0z4O=`@ґ_܍6?6ƶ<~1E,~[ľdz拔4G쉌wĘ0 ^z6of KtC֝l1l yhOB(*Lh?~%v>ùز /2uFޗzU5mqrz@DկbM?LjRNT?rxy<ŠVr Iz2y9Z{/V{ɲes t@K:7_6;Y~O[X Tv89[7p€) }Zq+ 07퉌e-T^쳤1e  t@Wo\>X8^MËQk&'ѧ齭LT֛{F+yGKlBvld#_.1~#-!-f\ƼֻUkh8~z̟-];pO?er|}KMm4 KTc$ 댼Ϸҿ-?>B@Eڋ<@F~ä4~֥<]krlFòe̛Gb"*/ y>l7kbkFAwP/ ;Ppʓª$emJ;,]e|̡.]?}A[tկ7ΩBF|NY-3kVn}>ddf@+}y(y2,1Q⫯JJ:^]N' ʵނ3?(lVs~ʡa}8\Zn&*&1OyؤL>oEbH|>b`DL'Woǹ"Ytt>Dkɮ.㑾C 1L6d˱=۷3oV!q=̜I|k!6ЕӦ1 -϶Zґ0sWfq^K #qR bn' ITͦdi>3ݛ5k oBJ ȯ-e<~Ko%{v&d Ot'yۊh8ϬJV) g/XVMgk =@eCIp6>~ZU垞ͳzR"`䛌VGTW<=wyVhb 7W_T֬eJySE&LxGtӦ+:/礯ִH u*ג QF.( G= n>che?"yʓ1--BؾIۗ;x}VEB)W>9}=Jߎ[g<9ާ'K+o5aA~d2j9p;i*/)sY A׿7N 7XZ"8tlgVw.糚S~3wm۶7[VF)~K`~x0Âz1HKaO i&bSfuC/0}:iil}tUK.nu'wusVרjncS<'8۩y{s2ʕ+ϟуgΜibS nTZ\ƚ'ij0Wpd.Elsil<8{B۲I|ΞX@ff4<<,]t-2'gYmM  R}ޙOߓ3G}w{uG!Ǐ?~E>sX ,9@_B<ݙym]E{E:_N3сl^og;<<.y %Ơۅf:g$St.|w KW2LP*-7ƑL;۽O4ɨ9cS wW FIOILG׿ʹ-1恗f6 \\k99{/Ѿ=Ǐs].Hhf-49->~t)ٖy8\k@ï^D6G]S6ӵj1 45W_NvilzDj2~u$ɚI.U?;ͱ@ԩde1q"svmK+fStO慇SD8K;"_rx΃lZnpz=/̭HͦO>"W3]4` &M")qvtAB_颦@O~1 D4k].yÛ۱Eڠc21{6 |HgaWMQHЛufjVþ>Ks#KOٹ 7Otַ)M¡0 xPٸ$ 9@~B+W2e ,]}WFShul7_N#ѡS8Hn?y0"$LLfK8E:_ynu#%Em݀N- FzWrؑlUs(򰥋aIÓO2z46]Mq4v \6ʖ ~F4B\^, `kaL…< uB^AwhtGX<+"aZX) ؟fZnX…̚"m^A14M/}eԼ-6.<ΰP>t-7rƌ,]`y6' aS8clI wf#Vm]gÁ6$յ:{Qe*ƌt5}5ua*(q"n[7ֽUkVŽUU֍@AHHrWD, $??HNNr'O'L,2!.KЛ8/`p^_Qa,[< ɉ횈20eVΘسB -qNF{YkR7dC)@oفMa.pI + vA6\.GIH?;wo_,^z.(]Ŀ_`Ǣ;L-|c^eȌapL-owu"θK?$bhك9sv5DYj-߳p?ǷvAMM˱_gOH KeỦoIEkҶ!;#H86l$b ={x13ZвԤ~4YQ)*-K^{b)\n5hh4;q9X {߹D"9l܈)SخF޽{n 077_d (Z.<>k(]R#Sy}]({ 8Wwm 3A{TyVv5 wWWWooo 4i4n~]fd$*K |p-VdTg!lעt|6dEyoFՀ⸐Eꚫ䌱$ >!,Cq5ZGf&zݻضҙ c&:66DI0oиfοg(i EI = >ňr@`5UIw ZOn53ϩ82 :d)Qh_('4DNJO R)-Cv06۴ Q-⢒6~74+.b u@Dx-Hv%CZ2ミ~B߾wV R*56pztzQ\9b_ϥUWQ@(³Ahv9qxx <#0&&lDTV8~F Dqw1z9Кv  ( >uѰx]>Z cj^.#yZ|Qc?ub3B A}ذ] ]sU-Л0 ~ }O'Z|#2zmze΀'Ww2L s)ʌOH/4ioJAwXVy8rQ" ̙XCO -w-|( pLMgezf˽x:\qTt&v` IOV ]qҹbYY Ǐc^M\5dYv~m yߪkz\j}W91@A# & c18W0[P .ݺ!6HķnSTGzڠWcVRǀގwp "CL1rAh(wX+Wк5ը%Yփ&. v\zzbm{vp/9ZN R_7X!cl܈V7)Y!˸k~98.>v-™4Y.1R"[<' 򓗇cq:u¾}b $6dŦ{BP;%vpik"8h-8]畔 ӱnMOņV)7ġ>W.b.9lmرW#!  4rʕ+O/UEKdyk+k߭P-*[uP]MǕW襍:N8G\ xy!&mbVtJ g0?ESAs[QH܍|UaOtOb-:Lٮ$!%WC!= < lZ;4c(eak,#'sfµkؽҙp=: V O- Ex/ l؀Y0bۥRʦ[a 2 ?q8_7#5RlڄvYCZ1bI m+|O{ V矱b/=

%[Oo3^0a^3^u޽"K92ңբ% -hEU#5daLiʉH=a` M}BHBJ=,!`S&ȹ4@1X24]0f()ƌ{1Wh %sf#v] ;C 9` S:ˁH Ѹ1bcq ֬tVUg'bi'5\-jA+iV :*F* g6 ǩ킈-wӵ _^eP Z-1nt +VysCҘmdVxۍ;n'C'<1`i*5`&vE">Çu[ajvADx 22A @[σN5kPR@M>.&bf1"0k4@;9/L{bP!A__Fy_H?[ݴ!na2q4WBN220~<G˖ػk]<[lق-_('N}Z0 O۝Mx8:wFn.V_l 诒}hI6X&!娐OѡrB(F 1]jbKQ?GNBPخ/c,q-E,O];t&j e`Kb(D䡤GcG4n JgB@]_ϓ!X`۵˗1|8RRP~c‚횈>|6jhyFMK|g^fS@.&ۓ0Z rt +vD.4ZC>}: kt,?> :>6_}<3(?K R1. ;5avE)/mdZzܞ]щԘ'S==Z\zfg\Z __4k`JgR4>&>?F֦5=z)YvEUb D pGD=_+'Æapka`vA{"}g^?Hwv&خQGD_!¬ i?q㐚9shяGKVMp5oZϋo9+b [tZb1&N7 ߟҙ|,ھ-0*R Ԃ/B+;l1FOkQ~iinQY-rn0l/ɹiV|q^i%00` Q~Oa^ v5L:ͣGrv^mGn3mVKDS}CId9 ^^rl؀5p.<<.Tf͚5kKְde,HP'eb ӊbjƪU0S:Y(?EmhZI$ر..3Zc.%C]<!.D0 C;vvqOݝQJA7>OHڴ/|8[Ц 5Cr2]$'㧟KKlߎ#!P!ciiiIII-oҘvM3l6|/(˒ +04D+#/+V`zH3Ѽm?C>>>2((?.yw3heGMX!998M%4/uqիhCAA8ҙ(,/7/=pƔ:ݺ7*aM!5U9uoA'`J6A˚XkQlI2Nʕs8pv-Rexs}%kϫ[T8:%1sU˗'q#M0f R5l vk-kX J h2[b3Ma><00 4Csjm|WxRVf҄3mո M: T@ć>8x2lzB:lE/{{Ȼw' &/upænN v?NvUƁt!]gde9:s砧i0c*J@ȧ͙3gΜ9_z6ϴ_Ԯhf#s@gb':v!*.FHnŋHb]!J E8h]K+*­[z׮!, b1x<4hyЫ7ptJklR%B Cq145Ѽ9fDVhfflWI)KM: ;]k-1x"4QQJnn4 :m[](!俨a@3R6XBHJB|< dd %w7;;4jテ'Qu_D+ňØ\5DgX?/#, 11edtuaeaoooԫu\T(!@A-6ǚc&vcIIByKC)}yh㎋jzV:J!EGiX4=7|T(!wЂfy#ٯal'GK9uT@@@?~\V-L!ܣijj@,3`D"@CGK֭[6mx1P( !{kkgZ 0Yɯ6TT{&&&en400D B8G}К;8sƝi*{B;hAKӫ_Z/>1Ćѽkc;J! 44j;;!2ĦnmC4&;[TKsBH hڹ7(5бYO%R.BGQ@BGQ@BGQ@BGQ@BGQ@BG)nB-]㕹5_CD" ʌaHv!WXXv'|sbb*1ʮvp:mۖBŋk׮ݺu+ۅȟ^k׮uttիۅYzzԩS:v!A!\EM!EM!EM!EM!z| T^@{K*+((000`  :::͛7lW!z)ijjT9 !D`+BT4!p4!p4!p4!p /O(]?|U ;w*H"ߤ>=Ck1UR|zo>#NP|2wuwv]+iojzy^H_i09Hnu_8\u?!5555n|S(e/W|zГ #1ݵLٻ 9^$rY% 03['ec%wW7z[ꍮ%5Y*xPKɽpy|JXբM!He[*9ba~^~a}c%_*{)2R0/HBm88}K.TR;767661QSUo+T+Uv&,v mo.9T*)ʎ{k?+ ӷ^<^k ]H%ŒAs#\/JzQ<3?FATy&kWm%I[r"#yտ3 Kƭz IH4?dI(;Ю&JX-/kPoӷ@U/E-m2o]y^}[ql?my y~wB ҥZjxL_ӷϠ:$l߫UMzp`R%vbrD5FMHe 7թr'wrxSE ЄϏ.o=ow.>t}n(髿&1|:tl 0:Ʒ{ljfӣD?\ɓMCg{ٖo_S=I*b>`maLfW'K<4߯Ay Y qVDIw>/1N i_}oVnoB##?0ݬ #2ɱ-o84U- RYuY|48oFɖU\> 0[lsW^ro[Q_|M Y7PfUqyY'{G{ibf)DhR^?rbW}0-OH8F"~eCAw_[ܦ3?I}VK1Vq֝ڷiqgxou:{칼۾:ܮ FX}%Q۷$m8иթ˻ЯK=ZN-zj)MuqР.;]9%9&٦1 $2|kg'}iVx{>sXƩect, d/^>c`{EN&o%c4xѭgcW c{.w*y-tC%ZФikk n)ˌf-nsLћ7%Z:<<>L gWn\>̓:.8K=4xZsx)|Ww kqHz *.ϡU 3OS33SGywZm?>7ժ _K9Δm٤M=>fמ .ЦӨMiek.yխFFDVUԥψF^jF>8rN# ^ n^c5>F5lRO'wʞ[͠W_F5{WàU÷r]k#;])J˯fZ´I%.um w8'Qg 4*)) }i#ʎ|%4禛(۲1Ly{I2&>hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB( hB endstream endobj 37 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 16639 /Filter/FlateDecode /DecodeParms<> >> stream xy@YsMQZ(ih!P" Kdg(0caRm-21B#KTw.r3*yL=vyabæ*`(4C  P(hBA0 P `(4C  P(hBA0 P `(4C  P(hBA0 FjO lRk;JO,)%n!!$?;;+;D\j bƦU3ӛt6럂:?>بaCq9nܸ՛{4f^=gsXu *xa5W\tbBfY2O{?FĤ`mywD>q.:<M}fx\uӣ8,NČuoy7T*U `QZwyB:~*P-64P"'αSdq4m|G:˱8:^%pa%/.9EExcfpî1Rvz&,wo*XM8zFMXgmT*U;hX 45XD/&WYqjL0gk[og;r 9tk.z1`߳kh+߻: =l^e֢ @UpibRUUa nKoGwo}:l¹ cobqUõ0&a7*q@AC= |x3W♵4l6ϼ~ƜWO Y:, U|KQIUG7S#z~*U!`gURlS#ǰ:[/зo> ^H$S͆X(8ܡ9AY~:Caʼ̷W+TחydF]5RٯPI')aG#زӐgRvMmnM_¤,4xj_Ƈu3om߅#Y3Pޗ{Vqux.N\ XbLb0Ơ  P(hBA0 P `(4C  P(hBA0 P `(4C  P(hBA0 P ťj233Ϟ=K;l6ۛg}̙cǎBHllMk׳&8;;9v Bzj}qA0 P `(4C  PR[ХϞ=+--ׯ_߱c_SNk׮:ߓuճg^pfDuNNNsTAz={̜9S XYYtܹaÆc|E ұc3ZOOOOOˋRXXx1c<}ֶl,SRRrqqqqq0a!.\_x<}i'#cccccBrss^z…͛7yؘvL (oRSSssssss#_xqܹ ...m۶ R8N˖-[lYvV4Ç͛iF%(4#4#t 4#t-4#t4#T L3w4#T8f2(hFiFEEEgggL3H1t4cFFFbbb%矃r8}jժγ@u+]]]//Oӌ׮]x֭[ΝۤIwnذ̙3'N,-- 9rd^fJAAK%%O[`T--脄Cٽ{' ^@AKeff޽-kgB,R@,,r|>999hgwo„ !!!%%%W={6DP)(hWrСC<oӦMFFF@e%P5`(yͽ{hCAPX+0.=7[N_!Ꚙ$$$QԘѓ ? ξmF/졅%u.444$$Օv/_М&G n#DfI!Tu,44mڴaÆ׮]k۶-,Mu0ġw٤2o̲ۧo߾;5WCfΜd)4OC' 4dm;Q\Ąݾ}v:$d7twvCcuaaa/$d0BXXZ"qQԴjժ_~AQoNgy½{]ƌSeCXXؒ%K6mD;TVAs 9۫8|||tՋ3gήhaܹiiiA 0(Y} ZMl2)uR thokƩ)+:uiœk},*OT>a҉16[bS??ʩ;hN!M;pL hmH'.xxWr|}}WX1i$ Yf7 q]ǯ6@f} $)X,ѣhgd4XkﺸT[~\\\ƍB; U3l0G5ĮFc>>>,P#q-L =`ss\~Ι?"(trr:z( 2MS3l=js>94ڹf>|Y}3y˗N $ gҦɹe#b1[Y: (ѱ:s KwFF-nC-׼"vrhM6rHɓ!nT0I3!{\-MU2@__ŋδ"!af}ߤ]..6hg#eh(hyۦw5Ьϳ, XYY9))vY$A;߱ Lyn)kzN@I˪3g.]v YGyO/mKFNfZx&\VYZZ Ad:ۛ~jg;xE~a<}t(bP D˰Yf&Ik\pzG hz𡉉 ,2DZ>ϓY3f`9@(htFNy:39)^λNfQ͠Kvsu"Mz3e϶/{نBϞ=OAr7 {DY65ِl<_$n`c솳3z6ۿ3i_朒SGfՆyc ޽{l,F.n;e>}PGGQXYÄ.ɖc JEbBPO߿ߟv;bC#?΄p]>(d鎫o]%|{IeWZ%ƞ.UQr*:/͛76mZlٳ;w~(hMj22**5eИsڍWWׯ^9sfVVVM:4mڴ`4@%I4_&M3 >1iѽjpԃE=6zנA^g0X_5iDWWŋδ-+:]t^"aǮ}6R57,WK,9aaaSNEATFOp ?|1)MhIݨL StYgO#mU}ä =bm>?hҼys%%ׯt-:#pcnQi@ x#VIb׽s4!K X[ $5fwI;I S"CXo{W9³sgDyO[RXV9b>rNYZZtwЂǩ>]?hf뱀XUBN!M;pL hmH'.xxWXzf͚tҘAMymoZ6Bhgy}n$puwzRB=SA/q6u!Pfee=yYf0DﲛZp+p s[yE\ 6]9 Z{W3cƌ(AcyO^2imTL(iΜ9/_ק{)9WiXgS[A:uWXA;C+Cz?DY@_]\5n:hO?-]͛7ڴ0Qunoܸ~7GmO?yy~q=I-cǎ]j %Ҿ3!S;+B6r86a:2~= L$Qʗŧ|0EqlƘ'ZbBBB"""h`" n\űrAڕ7Ԏ>}N8QEEvf|֚ݸkjo}Tߩ^x&j 1bĺuh`ojum>!]|6p:3FQQv3.JZ榯ؤgO) ]ww% #\~32< :v8|p99vyyLP{cADC8`jѣ׭['Vwq#9q.zo 6=A6)++{zzٳo߾0䡱H# {ѧO6 ;*XAD"D"ɷ8uu;>|vF(hZ*))x\ɸ؋ɓ}@#~Y.-DJjժɓ'i;#}\gvH9|ὸnL6 A _&32y*PWtuu hLr zu5L7 qq*Pf̘l2)(\f3t'(4mTCC#11M6PզPaaaK,&40;s Ԡf̘he(h7~ZnJ;-z~`bz؏ڟ쀊p)(hARO[bQ.n@Cv?SA(ܰ?yG7s3nu̺ ьY{F:BM|r)((hVO --KϟI rs7PҥKwfddP$ jBS7[Yhjnrǣ$z&MrJ)2Giq)ɏzV-u:g=zlذ!,uev/~6hbvƍA;@,hqPg3ǡv(O321 t:u*''v##%2q#<9gl|FT ZX,֨Q֮]K;@ݑ\85֣6,vnIB*,,H4ϺMsΉ9mg7yn62j@w%Mnq+g :SNrrr:6H?^zWˤuSU30 زeˈ#hguC ؙ-cٮS..6hg`#Fl޼Y H?VpHg_hg3>/@w\\ Nbt/{&E^u BBB<<<l8L^iD$55577Pp K&LXrXG\AD455;F;@-‰*P_M2eҥS"N-Ν;G;@m*PM>7 p cM4iܸ?C;@*P͘1_~ٷo 5ᅲq5Mۢ7oxuAjĂzo̙zE|>ݻ԰ Z %͞=7 }$' yy;T&׆{b$`*[[۷o>yYf.IXQ?wwNk6(ObQ&LXj5\A KB~a j_!nx'K{x-YL!)3GԬ^z?ԀrԤ{G6C?whʺ9 |,PKX,֘1c֬YC;@ (7-+Bxrܼw -x5y \]]'LB; G-(Ey[1ᘌ\Po_S2j>|iQŤ#RKY1|LRe cMaРAw.**ECT-&,zF/u^*ȱi3zhYxbRܣn Qc[p&z#Glٲo޼ihhXa@ u)((HNNvj,hquJZ4ĻYְFov9͆Ɯn/ڹsgKK˯^?~AAAM)лw;v 2vj܋#%2q#<9gl|FTJBWLQϪtd,A]]°Tѣ׭['.@](h [ڜ5hf,]H<'8{G{[6NOYq %OBRVVػw/ $Q<6OB9ʲڳԵ>N6W,_4{\6 zN: j„ k֬DﲛZp+p s[yE\ 6T[ޏ9Vu qX{,-P_՝>w0L7f6$Ͽ|/eںjuۙqK _]J\Z'\.D6eʔ4GH$y ڸB%&rC&vڨ*O\GswT---kkSNP5J<'.iqjn߻N:{k̖o>hssUԅӧ/_v *4h^鷎ZxYFq7ƇT"c<-@u6m… ...Ttia+\MՔT8Yi[ D jif%:V']kUA}ellܠADd@}"Q\)Lnehڨդ^-o jFXXؒ%KhU,vS;ѭ>iuґ'%mzc,,,l;whgx Y3"U P޽ dA%-}X]Mg Ɔv ʒ(蒄c.ZF@rѼpGNT` >//AbydAصG:a Gddd+|>֭]t bC٧-*J5􆴩WL}]WWf͚=|pڴiƴCTLwsu37+fQfuX{ir8 2eʛ7opH<0X+񧅊Ϥ E8usss)nv,?%xs!%!w<:O8A;@9CR !OH~׳jX9N׮]ig??}AXLH#cB 9*l]|||lvΝi {zz@E$!H?55XN:юPnv"cdnv {:С8 $& Y<9uVfhgQ;w+WhgYW󳳲r- z|ti2>/ihhM2ڵkL+71_%Ȝ4ȘF۷oժU「*Wmm}vvv,`7;~_zݟC0eyOJ>ue=q;wHEO֏jڸ.p,w+7=H@Ύ;Fq]Y@Htk;Ne&pMNzAVڵ+((޽{l܋Tځ7:euCN`&Mō9ѣG ͮ?geϧe+Ʒ~ ۚ6m=pǏBwYNa'RHt704C3J LLLbcc cǎf͚юүcO+[l߿Ν;h)[c1334hPzz:, PUfaaf͚޽{gddҬxH7s_hj***wޯ^dAN:97?COGy9M?# Һu눈ׯ_I)7߽wn9g3R40ѷo߬,Y@ IqjGWm·TXl3>|F -Z7;;v6ͳnk~iܲg1Θ, 7899uwhg"ѻf# t7\!k^yM79;;/X `޽jjj〔1LlH?^zWˤuSU3L>o4(haVK  袧Ȫ"nnnbUTThǁzOb ZcoD 34w2(@%O:׷v$A+pɔ4@tm+..o,=vȑÇoL τTGqqq޽٣@;W-iԔUG.Pk3,] UU+gyyyq^*_6yG ("h;vx@S,yk1)-(<*(c@Uӧoq/r1AMZhl 9hWs [_4۷oQQрPU]e[#U>%;kȐ!"hРA[nEGC^y}'~y`Qcq P]Æ D#Fشiiwr}se_,X;h p c^XX8bĈ 62tG o^TO=|Դǯ\rԨQׯg|D sM+gojĉ---G%"d0H~4>lifff&MND٧-8MuŤ1\Fig3uTuuɓ'&y&a{nf,u6KQԩSi(hVO --KϟI rs1\P͛'''7w\A$' [YyJtC8KMͭCxuF`…ͣHr#\jX#9q)vo?q;q:VԎE}v+ܜ 8L Jr XUV/^v`rbnT1#^g'H^fy lymBX,VDDijgig)z.:]t_ԣgr -<>뱔7 !f͚ѣGGDD;v`7 ?|1)MhIݨ"ggHM1-,+22rСcƌ,hquJZ4ĻYGnv廯 l͛ fi$TI =`ss\~Ι?"8]?)KmbUg^ -vr8hoܙ?~|߾}_x%]]@'66v(hu['$"?s^qF i64朿Lo<(<@=Pvݷo_6ݿqe7V&\lZG*Y7~^fff G`$ut~h $ ZXX+"{\-MU/o~go, ]S~ÂzENN...o߾ >>>@](sS:<8IJeM\A֧~?{iDE3&Xsn5@G99;vloooqNIE&F5JG[V,yUMJ( a_^opPrիed޽{:gϞ@ݑ(hM(ޛg|bҢ{UToO[RX(Rb>rq!@e())۷חf{zzҎuD{ߜC&vڨ*O\GswztB;ԅ?Ɋ$puwzRB=SA/q6=9RVV޵kԩ8PAvk֘ajjjaX;vjuuϙ3'!!v](hGCC^J; "4@ԠAɓ''&& P_5jh߾}'NLJJj ޻wIn߾M; <4@cǎQF5  P >ݻ@MBAH&Mݿv1(h)Ѵi?sĈ=j @zFGG8ɓ'@ @AH-[?--vQ(hicff3hР/_? 7lЯ_tYP"""w@5V֭###{+Y:P&""_~@ŋhgAAH?GGŋfggU ۷_hwhgBA gg!ӦMϧNNpww{믿iǁ9p(hYD;|ƠdZNNΤI:wܵkM6ю堠dΞ=aډ34PRRѣ!DNNnŊqqqCg(h;MMOrBb @v߸q#''gΜфTJ8d ttt~Ν;?},55u=uqqquumժáYd˙3gRRRLLLΰaÆ FyիWl"2 =:::^^^^^^˗/_payyy...]vr8j FEE͍"/\;;;gg;Ҏ) PP}\.~„ B/^={vjjj&M]\\X, jiٲe˖-GIIOOxSSSUTTh'7PP+ӧOq/))qpppssw}k1??ťK.ZZZc2 TsG4ءC###1 |9HyS~ׇ` Lall1c,,,\\\ݛ5kF;f@A@}U9s=z_6hkkf}Q %*c_\n׮]۶m[2GAr1779y mۖVWWDHyrl4H955O_t… @ ۷o۶mޙ׶m[ &;br4wwwwwwBHiiibb0.ZheEFݳgOZi9xNNN^IJJ֭[ٟY,)# g>5--M__b4ƍ5jԽ{v#[[[y0 ˗.]k]v]CfʹS|!BA0 P `(4C  PAuu ߿2oz*[kOii)¿O h` >r9 9MesEEZJŵܹٳgi`5khkk_充}dٛ7oƍG;8  P(hBA0 Ko/l;3 smH2baƑy7*H 8Jcm !PWU\TJ;EF=lR'AQ@MC]mQIvKQh>}BG5@t9^=t*+&_ܿya$?JNV#]v}@F2 a+7 lo)mdGѳmcsV՗VB<} '^ /c7os:.aVB>HIvM;F7>?M\svJSI!-wy%gϬJC H*0d[By2 TP^9DfH}U%y6$/#s;Ͼ\L!Gzf*3$g:1!Dmd֔귇-|fsѽ? rBſyTˡlx`&=G_f2|M!%I'N WB*#J>#CFWqH_AH eP `(4C  P(hBA0 P `(4C  P(hBA0 P #z=dB9K;@> stream xڝV=6 +ԅ.IQڽM.U2.+s-\~}w <O_Uռ.e2JRl`ByVV9[GևN`l|;M_Ұl٩n}ķhmv}20vN:hmN^Vn\1|#IW?>is߬""g0.I{̐w> 87j%czcYN]%ۖd7׶VK@IK~^Ј uT8@Pg!;[l J.䛘,6 N81Vˑ8psRsHJ+5BW;svzޮ>()̶#VZr=)D~!MEagjFsP|ĝ :ֽ" W׎*rYLQU,8v}MANXizI\b]MҞWDw?L,Tl?"pŜVZ{8ܣTY?R.2f>zS0%sV3!$:UW{Q\Us%>Dkmq#au ~8?+o\q@eJY ? endstream endobj 38 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 7868 /Filter/FlateDecode /DecodeParms<> >> stream xy@T î( eZYjef.aYYrL[ԮeiVVm33} 3\wD}c33ɒM/go< cqh@P" 4E@( Bh@P" 4E@( Bh@P" 4E&6}c`ARÿ~jmsCs?/t8<{W\Oκ1*ՏnRqs/g]O5dɎ!(vpŽº*M$9lW2|~f 5l;6ɡtϟoW|i_oͻ(V:w̡*1+R ~9jd k?1);ʸE4 ,Uf|ĕq=GVlnkx7GΟo7Ż а͓֝IJ)̴<ުfh_@hdGG-I)(ؿWx 'xNCy7ͪ΂u*ZW>~{=kӕ-%}c:6m}ӳhQґ|GOu w'n5 ]ѩ-Z^ʻ{*@Pxhc(ڵyG70 kh;Z.m(kԨDyO)/0_^yq5 N5 Z]y>ϻ7?s?J=ʹm՟vm=7'[&)HGUO('^T7$jk>̅o٠j˷Mܗkb(9xC mR;GhOZIT?z}ZUPC)kZClKkC?/SG)K=I{3~OswnӣRʻfL>==$P 9 +{JIq{BU}p*,Z]Ӝt4MWٰz[/R˫o$ׅ,N'ou!p';q,iW{wl}$iյ*sRΣ/TqW>w2vo^{hݰa߷ry…f׶mRγKgfkk[ EyMyt-6ûQFW#p#t)Cۧ dkFU-wOL;TV`^u{yen;lmۮR&88?.<1s4]lݷk?^m٬-}Z{pQ!bī{lx[;tТKk/Y"zd-āhP.ڝu^21 N`zRBZ>#AYkr,ON_{#rwXkeo{ZKgzŶwҰ/7ہj#ۏ׈;d{#5jìU}dv~16,M>r~]āZ5vyBoVQ_~u|pqޣn3RJcZ x>t#D].n;f>zkܠڿ7\-!nqPl@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@((٪Xz4q7׈9 RϦU=R@, Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( BY=͑ゥ[O=Zwж7{/t{ˡY#mӗ3^ _Ul;p\p}<0]_hR^*7LwjVJ)V_@RJg[:󛧫z`!mz7w E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@(@ P*xG)r2za\&(;h@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P@K;?ӪFxH*M@qx`{>yÂ~?mLOX<0З],XuK{TsK3yJ rfܳkJ<0Ѕ g9j^bjg_ r0P o;jyܞ46wOm5_v(*8:2n Uɓbڕ3cW%6l}kiwA!'L&gu*- @+eac=5w<4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4euLbz9j cTM{AX" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P@;Oo[1XT͞䆳|`{(kmn]vj޸j;_fK wuMSS=82#7y;D7>:cb1nr$P\k>t9>=V%ggƬ?ЫiH Sqqen}yqwz-qu֙F cШ߹j]oPr/npU).Ryd`ӎl:bUprwV?yl]d*['Lwkށ%J)ދ[TJ鳳ĸ>ɭh%Jk@P re#6WJ)<d=Si~ɿ[»}*>œ|+5iUC@1h Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( BY=6[lj C @Tj7*Vaʌ[:W)řϻNۻ}sÓ)SJ5U;ٙ雖WJm^REVJ%mtܕ]pU)y9Whf1Y,[]46mh?Yf׮];fuΝRRR2dHBBI&͙3urqi;t萛{g}Vk/޽tmVk',Xjٲeֺ}ׯz{5M{ZO0aŮU-裏snOJJ8p;x`^^<?~]ϟ?qDabbZÇǻNꫯf̘:=zֺk׮iii{Z۶mKd}wߍ4E@( Bh@P" 4E@( By=3`6ybŊ*T(z{Cv4tDݑ\f?UO3iس:cQVRJsЕթ~0舼? k ̢mު~9CݑY)l>(hv󾇏׭]ߢr߷bB 28P~P?.phx? ]d-ՏiAP" 4E@( Bh@P" 4E@( Bhi' endstream endobj 44 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 6383 /Filter/FlateDecode /DecodeParms<> >> stream xy\Uu﹗}QЫ&XYdք-jR&95h6Y,M%4ҟc6P6j!%{2N90u>{/Y40@Ge/py" 4E!mA1y0z|:Q@!ШTF7]; ]xسmBLmo$q+{Y'5!k]Eݻ="lBfh)m[H/mԪ׼۳()m#n톷]e_m20/Z|}QhT&Y&nio^\_g^|wۓ`K{Yџm3h܉C{vSQ~$PޔoRG c]e6yΓ#?uI}Qg4M=k/%6zM'/^|*{?N}}k]~ Ia7}'⁘?/7}R?slJ[|KNۑMe[6u#x9g1ܯGZ_حӟrRΦ=:Lߙ{Fm iά_odNů/* Qt]Wá||0 C)ܹ>۶~[bΏ.9un_[ m5vc'~)v'OWiAzO&{&J)MiJ)iu])4yKld__XTMQ} xӟמ9];WN32rV=s#/8;ДQTXپ]Ov=Wd{6 (.3[Zun]a]YtG^ԯu:U6q_!拷j*ޭꇆF^t0[6<)oopL/^:Q^ؘ9 QPnsOgద]Ǯ9Vor_&3{jߨvHf]GEi_(WJ颧Ɩ~lٲr-\ C-whZˆ4| 蒯Ty Ӌ:5wZ?yg{Tzm 6 _wRJu.J){Mv/HUAP" T?V^b(|FS_Ŭ|"'[e1(YtE0TY'эz5nr,&SUʵ/|֊شփ*@VcYƮ S?y%E֧lV?_PAdg暲4֬v]_N%c e5LmMh8pEiyE2\APVY:5uE{1@ dS~̹Ʌгw|{;j@P7LI]zn3 VƩG|l;:rɜ6j1:SPkV7N骰z^=-4ԾeTEFvʵ1 HQIݻ֟D׵];;^]kP@H=YPb9kkیt1GvM廻RkJsDh:Uz$zNPp+{;)wԸЋ<s~fߊJ }ck@;µCrVaMJsvX㮜E=G ?BǗ>k׮.jƾ#>ܒ5!]mwo8z׫ܱ+w\CdKS_ї&yWG>ܼ?\6yZ~Gyu#93[MB~l dVJFtQI+oW&v5'׾b˱u T! JX:,܇'ϟ,ǂ ׷\]Z,bqk^\4xM,|7.o?iXj'[1 4E@( BhP >I^qX#B"+`=L`j20$@&-@P.NYBǟ_rYq ƣ+(d B^j즱vosOηxt{9{e|9`933ѣٸdt?Bxun 3x26';U1Kf{MiC)rjۺOlAۧs[lILL,}fFFgLn9vG#)F1 3"R{ҫ\'J)G݆z?1O9b.*.....4~;@sی_rØ1f?)SfJ]n}v2;Q 8cNA1: v{!=xPC9Bdq&a@RJՍGԷ}Yv@( Bh@P" 4E@( Bh@P.L`F? ch7>5?qӃ:gpȍ%/ j6@{,bҫ>{+V27(ҩ4G|umQ.UV[Ӌo ߘZ t(.4_־8it̓E{Otm~cǎ\sM3k0 mfݒv;zթ?gjiFvnr\gڼl>=ܒ5!]mwo1N?ƅ~8gT*2%aHt!q͓v=~6ΑkV\oHLo{<}ǢRZۿ&D@P" 4E@( Bh@P" md.ø#ڛ O-^#\ڛh?@lXqȫ>r~tw.}fVV*W/Q.:r)C7Aj3 avC5.yᥟ>\sѤ?%M@_-GZ4(<\(?,kVJujZqzk|yov{_Zes3 U⧔A^b9\jԬnX*V)dH"{whRrhYc7 SJT-oz4-]RvU+zRǤYζmA  UJ5-2pK)UAr'RѺjrX)\?cΖnz&׳n"f\1u_x^%o>~Cv^Hy7(+@+T 8:}8{Xyt=hRa D Bh@P" 4%2-H#?>furmw#{Mա \7ee8Xа-w{u7Ⱍx+u~Tas ]O,ӆ'eŬ5G5|؂=h-ς]Za3_b{x&4icD6&wV#KUayG~ڱa3eikⰍw܄N[퇭ƛ4s}؜Y'c{ů)B'yS7|4ag=zҾ?iRSz`>aT1XLX-H܃VO67لcnwY^\ö}AWԭKdQQIFAF y/8lnax|qRϷ ٸy6ݠUL`VťK~|yC}r631KymI^4lg:Β3g߰V \<{2]ZȰ6;`v6O46!Qm̯^I 4@ =@@, Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh@P" 4E@( Bh endstream endobj 51 0 obj << /Length 1935 /Filter /FlateDecode >> stream xڍْܶ}bJ/TihhqyrʃAcC+\V-htn̻LJ~As}x|:(cҲE^ĦΓgߝ~2O̓_a>O`euZ@NᤪT% 昫d&Snh,j DkY'ndy3W2!pkxo<@^/o BPI: 94KF0ڴ4{d<UO936y\tXfUEԩL<Ț?筹H e@aFRx%g&>]sUramBբf`^nLjuڲ3lWpO^^> 쯡eA7^!" "g6jRgeZ^םhFV{][ ]I:f#C "O齨LZlRHOq*Q]yY!8@JVZ%2SV0W`1WAayr&Xe\"8B < {.^(lr mnn M4\s0gLU}3z7q>z57/ơD$< !0e2y=G<0`L+H[MBB=#>;1ڦ*MCjrk4؀UF~TvqxE.+*H1R@l`#T&q@ g/8LjOE-.p50EBl D/'uv_FTu \, qoP.0;y'ouP{&,Wo0Aӂ@}k?-5p!9wbMv 2:\>w=T'3ZCvNgyYD;*؊݄K3,%w^ݗ[.(ܣT YZ)&CnYCNq=ȐRo^,dJʅFen,.FfK{fPXℶjj($q2.ƀh (.~ax=!I1gʄBSIpi.LP0-,١ ypqE-;+30A趌oDzo[d8Պ.u&l\6!Uqo/Soo8XI+J{LDǕZ伐x<^T}][98>йρӥ(e JN8iKjF*oFhclbilfKќݼgod~enCDnbZƏ^G]9 1",82+88p@#n>8#$(-ܢRi72i+(w̠ς6չy 9Qh.`U&Nӻ-+xՖU[ʫls@\f’0N@E5Nͧ!>yMZgiy{̍^Ɠ4+s))}RyZP$SSʮMm^CӪQ#EL endstream endobj 45 0 obj << /Type /XObject /Subtype /Image /Width 480 /Height 480 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 16038 /Filter/FlateDecode /DecodeParms<> >> stream xw\ Eq".T@biYu֭XuUkQV{TY2C#;ꫯ7gÓ' ˲#0uRhJ!(c-"ZfBhcc}:* WvnzcIzur b#y`L`ŊWn6l##E\0rƾg2skݰ_"G't-R/nNШWqG:= λ[ʹM\]ͯSz"6 lQܱgIܺzuV©L'X"ڨ{?cvaӯNadQH p!-Oy9i9\}ϕCۆN5"  "93yԬq}2hxśM؛y]{~{F+v)ya'{bkusnZcv\q.۠qYBmFUj$ɥ?H̥ooj=T0I_Cālm[T)Ա~B{7qΊ7 2u`-- -uƖ'}|97$9=X"֪s]2ڄ>2a鬠DgWkKgo_끉gG ˺bƋKrkoFGƵβ.Dmokk,{~X+<&}vߪuܐg}oήKQSuh";{;+'>}a&#Heq[tl߾} 2F$ ! a!a" ! yK!š^޽=37WyK˲,!koU5+7r9rՍlqkYZLxy7 Y10Yh0%Y=:[K;4`ʶ"9sX:=;_߻v}fEt3\Kvu &4t7^6;ާ> $pp?r}/ 3ZT_QU;D|c~z0o0<`v0c,u[lox\ Z>Ӛi|GuoȈMDC~ڳiKiݒk0.-zl6V{~1}yo~}۷[(4=dLy~nذLGfϞ,Yagq!m7>eǿL qGH\\\ R/PY~4HЗ A ;(RhJ!(Ts+6'y`ZN!CH3hYϣwj'yIo nUky;|v;ݳ?/d'o>qO=T&4#oɕ[.z̐2_q+eee)ΝZKBŷ5@! ![nMW*,%I\jւN+%}Z |[ro+o=Ч7ҵJ){#J{-O6)7CD: 8{טXh@BH !'$>LjCwXWTLJn!F(@oL~QŲ(k68aG ,yQafT%烚lPq״ph he*{ݬrpB@'ٚ1!@3 7^%hN^5!0Ba-;M=9}߬< .<_Z@m#Z6o6;ݱ pWn,_ZPN-gd.QƫlHd@Fƻw ,Ⱥ(ӪcMIqr;G82zУFڷow7- X(i%sxFdJ5WcׯRS;~so~qRUR[N݀?wMc͘{8l Z臁#(,z.[^Y@_}WCk=cE hA6jU#g.^ 2*fI :K ߕ=hh =hK_cNl >$P͝>3m/1&U| QM@Zq6>G hLXv SdE-[v}C)wTΏM-TVi 2TϾ1TyTUn2;j#pmԹ '%&q-|NOrӧ,@7.d_7W09˃B矅ʥrBHƮ_.q7;oO ͟n111ܚ2`foUd1iT>F%UzB2b k}[p[l!=lذaÆqk8]f'0&7x7u}AD41}]U/KJz`Px w7==݀%|N c ˾xZ`odɉc&vB,Vϥ>-9AyM í9tP 0#~GyڮC}цq;oM$ƧڵM1q60?d"7G&鵔_ Jq̙ԏۧFyF7nAAbŌP:yͮǷ%6.!vFi0ȑ~_)0 ɒܦD]O"v#+yW}ޖmP8Ɩj?m[u7ha\@+4B@P  @)4x:5T{25oɻ= WZR#T`xZ~w࿪|gC'ܕB$Gjv(ď H3ZBe#jx m){h+`s~:..+ch]<9Cn( ';Yf"2{1hOM.]zQnFfO@1HgKTs1!$w|Ƚq)6]hѢE...*rAtSɔ_M]~bk wKxUX ɒlB߮q3A^+5酌Bϳ)$exB־[5BpP  @)4B@P  @)Gm^Σ{/, hɩIk2F{`Loa%*\"Lx3HH򒼦[l9ufVVa ˲_x(ufMϷFԵ虎Kݻ… ܚo߾ݱck0k<=hFUiڹXR%yBBBBBB ^,%A9;ْVƴ._rnN0B'RhJ!(RhJ!(RhJ!(RhJ!(RhJ!(RhJ!(RhJ!(RhJ!(RhJ!(RhJ!(c-"ZfBhcc}:* WvnzcIzur b#=Qb.UZ?ڈAуcc#Z7,<]Ti9nSm*4jUѭNϟ¾.Vrn)Wu+T^H xw,fgR"{0m^p*xHv6dް]Xk5Y''c\m;lH` lx~bbCg KNA<|M&Md<ծ=Sj?۽v;ֈۉ=X1tʵ:K97a;.D cwuMmи,!D6m]*]pʟ~u$Wo7y_*$!ru6- *XQp+ 22*zy@@[[hvƖn'|87Q+)JZ-6u&$0Y-b'N^xbw |nۅ6j9gnB;|خq-&7ozOm\{7~R3 xHDmx? B&ׁlOߌ#fo(`rqONΉ]Ȋ0ak^-C:o>xaB#ۈ00 ¼%a G ^ݛ+Vi<%eY9~G^nd_{Βbɇ\v<,4Cجr {孥Ux0Ee[ߜ9,fZɝb]ȋ>}"ow.b%Ve ~܏Gt/lSwH88ȟ^9sƾRY -/b(kaժ{JqjbcK޺qEEG̎n:j|-w6E 7]E. -i4DWϺ7dD&!nٴBݥуtnILl5=BUt=`BDhoo> {<}v5zBPl@W;FAo:/;rӛs;[]yN>}g"3e ~ 4B@P  @)4h9cT[ywl"G&_х%$@гqY9y!'[h%],7t_UFlfIVm}kqө񳏷Y"w.''K S>`6pw"I(`K;J%eaXؔKrVZx)H?_`#Z7KHR&!l|KD,6^P`_s[V/mD1䞗H\Tn-1C1lX·c=}K$4]D_@jQ\E,!D(`2sd !"aTf-Xesڈ\βVBe#:6dl!#bY F&gs{0?`2V ؈@~^IFQQoj_|+l#*!׌iZʭr |*_$j4=J53澔E /MSETam>|-z7nsC~-htݻ_ycݪU+Tݸq^dőا{ܾ ׳x4#-[lܦ&B+YYY/gq$5S>~s_Jg 4p4B@P  @)4*4ݓEްo ytʽC[ts;o6;ɱ _ޣu c>;C hɽ/'4!;vn`r\ő w,qW^ViB+)nn /]lz;+++}|<ŽxQ*F73tlO ZuZr&65Q5Gڄv̗1#ۈ1Rr=3s,C*,m[wh]Ȟ\v׵ܝ]d !Z¾kFKr\E]iA Qg~B!:G!_7tEo` EifZW­#oF0C—h6md*!)C{jƽr{n_*?SomM#X14ߘ4}nh 輴C"x h,J#$v/_xȽ~:08lN\vROo y*lo#*ū雫kro|0U-TX@ BI0x|3y~)gbI< fu$]6ĥ5Y3I Uh%iO 4m ~3 1+ NPSЃ{j-"m)>SL@s!͐Bp=pRN%`'P@%][d[m tqMȅ~}vnsg_dVrG[%~ -8mn}~;^}8oZ)E3`tFb%'o W5=#xF_R7ڵ2+*6Ə9nΑT[B:Y]\nz)ķZ_ kIKeIL\*#,c}|˼aӍ>z(.,q!`JMx\lqn-&xڡErp"9)3Ёz?2}VUѩŋ/^̭a/t(+VV ;[TmJCLt} wrvXɻ~@kG2MI7h(i Ѓ-3`]EWg ʢXS%@Pt?H8 ñ _U:5~3nib,O@,?^yUM;/  ,ʛ- _TԷ6]0G-"kx^F+f1h땼u.o [JBZ!(RhJ!(7\̹W-y8cCNIP hٙFzFF\aM ~cLъD<f tȪ.G iY\:aebǫ ؃u$<-K%Dj$!sc,/ĉKdBq94qleK!ժ<#מk;8)6=x]f;1hcϭӨ_&-/x}jz o4^o$1=kźG8)!jTDTȯz @!$BȒ憯 .TRhJ!(R|-з}d_XЙ[qڳ~9{~=S0 U2ϼ%׮]Q򒼦3g<~8&&KòzKŸ?>^iucϒT^tҥO֌zk0k<=heÉ@K3f̘1/>_`]C7T>35<\hJ, _@ :k1*-usMFͽ;Sw%8Vm"n~e~Ia`%=یLJdֵԫCNe?i܎F k~ur &Drlm l |O]s}fYBi(`*3M͊g)6Ǟ;?ZiЄ,ڵ]gJgnb1;v+NVg?禕;>6lDž!?qwi ;%ƻ ݱkTVN\Zٽ\Yꭑ#oK5`?DNfܶ%A%k F8nw/0qyKCm.턏5 w%=X)VkչEfV5ڄ6B2_2ewufM)+yOjf]zO郈 ַTR8: /09gɸO_'e.hdE0y/RYܖ!۷o<`0!mBBCBarBaBaB愣WwrόfG~²,KeԀ#U7¯=wgIkẢ7 h]k;sCSb]ۣc{ocJl+s?e٬;WK9@kyѧoVM7EldXתl⾑AOqe}@I+gnطR* 1C!EEx<;̿Z|cOիWOq>& f,u[lox\ Z>Ӛi|GuoȈMDC~ڳiKiݒk0.-zl6V{~1}yo~J~G:)䬴v/Rr}~Fn(nK zaу΃RhJ!(Rۣ;O$pW4Twmo Zt?K =BUY|ߩ4Ͼ1!t֥5nfEکbm'Vn[\x)X.M[uURɓ'ZtٗңAN\]D! !?f0 Mz =#==,6o-ץZ+lF:>i[ubbՄ `,fz0FVb90Zr_KXHM ZZ [%"Y*FZYK⯶Z7f4Lͧw| ϻGUh hE\w{A({z{ yKzmD1 ^j),FT~x%dYl=ZZuW)/TjZ(/EiI=ny3xM[&5_Th hsC} sPt+'N(\aGro< Ro\y`Gq\B߬(7Si=LRd82F,̽zY6gGߘT)~\kLοYH@k&ckU-Z?}-*tO%2rjsJ_@KO ݺ{=Kx!=.ܹ%{3w7$rgV] =-ǐ 9O \v$~fL/bE{,l7F_eeGlN ߕ !!::ڰM_z3FH5O MwL~ MBE|C&>pNVLx_"%6n""*mʒerwu:1!f^ܚ.(,)ljv I뿔7QY$nY%T3FՌ{5_JcVb  R{ےQi&111po\c7b-jrkQOB=}]pOP3p:{"z T&9Y@&wa}nL>ԦU*oZjgu$_v(D],[p*iZ-z+֦| դEzi]? Z1S C[a#zQX@NӇqh[C AOִ hQI3 !kkBq$E!wͽu`xkJ8O'?_uߗ`(@/_h1li4|F! 2fjoD۬;i8X]4I,hKb$3Q 87ޕʱu>.Լ4Ba>$ ?M/҂IM þh ": J/gr'85#L;Yҡ;$6p_`!5KO{$'2]5<@&yRq~z':+mf}䐶|i uܖ6}4#'Yrk >Š_@L!zJ3OIF=\ӏ ϨKoycj#b":B;"FO )e+.H-nlmX9΄d-ÿ/n79tɓ#~H;늰9@-Szh"@Yx:~&)ځ8s%kv6Y2QiVmԨѭ[Zfg ^@$ R"}/!{!!DbՇۏ;g^Yf߿[sZP(/єu($] Lgqpg@QK(.53Ed(R;mZ~Tze˖RCVr19?Sb~:S.iSThniM `,O@'̺ q ;RfrLIc,ivٯrH1_bSۑ&?K:܎7􌋋j1~ OںI"5!-Wf %>Oбr 6f?qNNjvvdos'Yr^B'VW^3zdoj`Mvnl",/kyy]7:kE**B@P  @)4B@P7_wv7uޒk:X6ڝe,O@Kzߝz6^SъD<$l|-UfYv]iQ}~ME(4~ŋ ^,% hYظ5+KBll97.СC޽lv%Qi$beO!/Ɩ8~:(4vZf;v^0Lj*=2e~m_q;{KҌW%,yMg/7zzpSzmQsBD^6F*22{%BZO5!N .TRhJ!(R|-=Q$[~a O@-tV66W\'SHlL4K <L;augv9\ŦrKN8ܚO>5xfRoV$|;bW> stream xXݏ`<+}%9vϻn>*wB( >ɨ:GսSCbZNa4"(zܢȴ >6FQ6k5ʎBp|RA'F󄬄-Fb1No2xT %<6p~諩K4plv.0AY lOu4kL`Y'EoY;u۶G}< юoo9*%Ϊ?I|sg=x$CFTPOv;@''oy$/R, hF&8d1DOP$]'so) &% %ģ,4?E ]'vvFGnRx7fCIgWf8C{976k #//cGNp%ʒы0'dQXV^:ɒ0.Ȓ6E[-lQ5=́deg1ˆ3c6-.q - .9 p/dW>3' 8˂ʍS [aSobM{eЮ7Fx $#:ĖL@##4+r[#҄ J@͟ݖ1p>($ZoIOH_N)V?[; PuiaFBRPNjcD*|VXNnً%ąhQi*k28 h*,À]pݷS},3>g #AWP6߿[e>.0~?y؆3o b VEx [luq;m=kc~,,d iV\i`V4=3\V> _Ξ4WLqc}c)`6L39FWDG3B`'Z)`T]˻ &~/7MƉNj!Zu;z,tمs UtMz"H5)f(+(,I~@уR"V1KOrkxq/sS%vZ|*. UY66pA*"(l'5h"&WLNTRԻ85L})Tyb۵aKC$Rb?|L#u||@7xԡ=p[|}3b])"K-cw7LceZX0 kh$v B4A4zs}]d/.vEd{=0Ex[HEr.K ]RfUq BuiFRGhRa z/0tX;ԮtQw;|RV64gZQd^8v'ٍ[`zL8ўZ0Ci7cYl{N}wcɾt> stream xڭXKs8Wr"؎Lw|:UJx`Pk[:+ 4et9+k[PSnz=T)?CJ 9AJ _BjB(!ZH"Ti{1Ak<"f?ƺGZ3-nеyy dMcNW$esDTmõ5 \ۓDlWudW 5XŇ45S8ԡl GZӼEk h@Y6 0><!E$dj6|1DI&ۈ`/ cAbX{gn͠c7< 0WZ( MB"m jZ/4;H%SEH\$;̓(+N8Z0{*Q&-zI;猪6ZG,^LJVW9 _B>L!vfA6`?|ߣ23;Z`| Y%c\c2^kIwdXD*umH`w'1>+c3Im{z۞|]^'H !1/mۅk:"{#)q0 u ƭ8s# U~Uq~Mvҟ~Uם9KwW3#56?9Rpx!b<!AƐ<\"j;#Hu9'őC+C|wd5fomFHoVD]X-?&o s7po⩢L<)tL'6q346p'?r,6PDILhߜ %ع3:F0=;W(>+óp*ÔcaGkgǑ8LL(OԷcˆWWWO;. endstream endobj 62 0 obj << /Length 875 /Filter /FlateDecode >> stream xڵUK8 ϯrK~;`ZA/[IeC;_RiADR$ŏ/nojM~u\ŪU|Vc&я퇷w.R*!oQ3iuꆥq 8yv4t s@6 V:ٚc+=͎Q O:K} KZÈ'c# 7ҥCh[93yQ1:NVpΨ5[iɪW8o$`yʄH6 dz|PxL&e`MC_+I;rd;j+у%GVh.}b`젪e^{ qhF(  )ܺ!J#OPSHa HO-BlD` I8a=,1eBċq٩zP G{Oj JfV o$ٺKFo:Z,+/cK yeBe#a8} հ$i{A6f+}ISK&2/LOAǯ0nf)t0Q,?~=iuԤ 4sP#"q-O"ѝ܋w)/spsfSpz珷T𦩡AU=9¼`Ozi_- mM gw~Q 8|r'DXh!6 g>qu4a3!LahRptqI3_Ý5#H'+m/I*HS{|aq0i{9[§S\M͑`_6+غ%QͿۛ9x) endstream endobj 78 0 obj << /Length1 1379 /Length2 5902 /Length3 0 /Length 6848 /Filter /FlateDecode >> stream xڍxTT6"̀t "90 % H()] JZ߷f=繮=6;1#Re]cK! M(o;> EGm*(4PhyB"!1)!q)  J DxHT콠]F+#}=N(to\ n8p tQ`7tE= `A(qFܥݐ'9n>7 0#^`Gzn? Lȿ @`PDxtu@ gsBBJ'W"(w=psBN|P|{/= @{Cahj{C<( 54mV;*#pW*P0ツ@᎐_c8z ¡<*0hmN`@()&&*?}@΂ ;3#@(G{(Op:8BA( wv k> ;k4p῏XPLr*)!|’~I1 @HHH .. g{>#VA$jO\ g.=`׿( /BgWݑ' ۻAahz*Eo9/nD٣ՠwB3__v(R v4@//p AGC ~ 5Ϻp؄EFDBhU:}~ (G!nP'Ahߚ} 9H:exe"71յ$hQ3glGJv54#O *"y/} Y(@ao(};}frD9M? =J6d$¶L5z @r(='aɠG+wa>da[C [>$I 44|MPꈣa5܁"'Eڽb5~Z,#)ɹZ-H %s$VH,;3EEyT++Ŧb4t-ԝA_X`.5>1_Iӱhb鱸yZe ?n}1u`;dIMn=Gjƣ*מGtr''cR~ 0ɚh&B\hB:owR*B1xR3Vt`[*$w {ݶIr8Ƴ.zlWǩmKV9[)PadK^a${׭ ņ 磌2_Ovroh4]c; K Eە? PƘZ tyBϾY]H qn;r^HI@F̹!)Q!MmBU~)Tx. i߄k/QY=i%mRw?>e@^ 5* Ue [_EDw-kG*m8іWN#[I,gG, Tun7lִU 4}i)v9;ðһN%|qQ)=5 ,Kf+?ۇ) OS{ҘreGlUu=d֜M=etpH9};PhF/j$ӕ*RԼ4l^&/us]|Ob 765lkW!",k; $NX}_`ja/TL%Y1Lz><7lZ+ְ'3.E4O-l P'NU(K9I1 iFs7Vg>OE W'(J1{N~z 񏚴!Uq~&Y䟕>;xz`1) T>]Y|1B$ZFv}W}YU s0'+ԟ]1e=²Zbٿj_؞yxj3ĚTقl#nÝb/؞spqa*ӘP:q;8_Q$KLIt eWX?1uQAn-3=50P0!Jtd?Zh8_IWq̎Vsh_+ Tm9>m_m}-?Gyp*f:%ԏ-1mL2`_yD!vFAv+/iUF4 Յ@(wR(ܺC<+{hC7v}ƘXH66︇:T-l8rV~ok&x+!H`Mm$5]_xib:6GG]|̯yAcJ rn+4pn9r''+PCĎ-(ɹ,".\̛,_-l+6d6,p-N/1o_ač3o+~j /#HM\b&;}T\ԗJxr+Ew`o^朑juΎ\4Pn;bU $('<-ȷn*TNzUǵf6e5V& 7[(=Yy$BPMӛ^yD'yoZAx@[-րͱtZOעޮ.*nD5n 0LB|E1m5GeNôɧG ۳oI~$Zy%H=?3vd܀ĬBK9Ka>K^_z5s`*:GDB. ሳNNIU0%Q\xH轧Q_ ʕrl?9LFCmG z.=s/*^1c=w)j#b0_*aQRP񜯳)GMOHvFE(ܵXLVo03m7A3望ɡVQ~=#tHٺ!NccIբv$Y'<۵Ģ"%jN3 󔲶7s˫:8!f^}2u 7)8iPݝS9 <ˬ?HT=;Bg}x@`aѴr]jcYiPY7[<#8[8}1F\ OA znO?<`y20"2:m}'Εz6e'}nIyg@&J/&UQ:Z8ٸOˌEx]h<NV,G9M`25Hx暣e(@fuEAJ4QMpLc_N}LN;mfaMRƣۙrDc]"rZ~*z:,X%xt \"c/1Oc46zU. :(P>Y]"`4[rCY߫>AZ jI^)cg(~; 3}j9+aRV3G]jSض?fIS{pi'sIvㄸlXAG'r䡺ydlr ~s=ēv]ڨc_')c0dr W} [JUճOTWPSKN ٮ^R} ϕuTqXTe2bj0eK+;>_˼=I['DrSFJG @29/֕fscpȵe&-⮟j)iێNhvByFd2} /^ME铧j_M/ X_iGFVuL[vU\xPGzlFi'W\7d\Iq0_f)>+NiH5xf ڴJcп;lr*Z 3:y\ߩm+jB{p յ 5ZbkF+PLClݑHew*4q.q(R`u=aWH)SK\$/dkm,H{?WwfED~>1B94sRImuJ)wb, 4 XLw[TX֛/Rd,bܽIm|󕭍qPzlC؉W/q6__zxvP0ĠVh!Bc{Ik;_:gnfizo9r|Uq|V+5V1S:{mÙp -LՔ^ABzmeZL@`H(qHEo5iIKukFSdh߭O}&qʢN8}$lQO8cP\KXXi˅U 2Qrc=no9jNLF$đ΋%f$efo;NKjA9żO6,^*th3Ҿp9)x[CJͲFzv }a!V35],|ˋIpý[V9~)l`eYѧFv\ I}序7宒k|>l3]JWCzq, ^cIl?P(߱{ss!Fg̠ NJexގ6/hg[箄I{}n1Gy+9M&w߼a8Igj>Tfd7ݣUEGHz&w8e|񹏝1{[hreu%+p'~*8EoYk-h×tgu0s@--Jcvrmz[T|`3iRY]j97hc4TܐPTVnCga7_}oҪ,9W/,L'Yd5_=SkŦ _fZ#x^7$~5˚0M}dv[0U;zQyAշ̧Cc[޳?|-ӎwg\(\#mbf+i'0C/t7G1mvRa4ud'y3"\V{\,Tnƾ CFo}f0¸"k d#*j{oVUK5M,KR|3);"мYO0> stream xlctfݶ.Vƶm۶m۶m۶m;I[kݭ6ttcIB jgao@@K P``f2A98[ 8pLJ&F#==4 @@nDo!@jgmjadvuuwurutIln06kHȊdUb&&yCk # ``dgkl/LN`j0SG;2@DNY``k ىk#CeG p(G`la 041W$lMW !kkkY#@ hgm qw65' g?a`gIXXSLӫcc;[kNQNFDFFj[#;c [3?5p4';ـ9fʗg8|k S=8J:a}(TbFј5|6vO}W0 8I'/cm[UGՌMmJ' Fv>QϪY(g8nSZBcnQP}Ʉe\$EoR)x#KȚ%$]aj,tŧF7$_HoV}dQd&%s Pd 80/yQ:HgEĔ!loC6?: sM%g{gb[dY4!%*vsN_>S\ͽ{lk>]ߌl^FdlKmgخ$5Q? {C Iu\}V/Éz+PyywUz~]AD&gp_g> Ckz$hI 1i~NxPNN{ee1 `cWc=s&/MXYsBVr3‡S cSy&Sn&wċ-۠vqHw`ZTsE&4!= aRMt,qX1mbU]6^5s"?QYuC> ? H^s4m d&"؎9ȤKeNp%"e?75hg4{J?˝B8XQ6ځ |~l2U9[`S #?yy#j&>$7 mKA'$1ϯ(Rg!I[ҡc >W| WN'=4D,!ͭFsT`~eqy{qǒ'(q%ba|AdBEޫhEn (O㿀Ԑ0 '2V7lH FEBoV]$}r)/5n"cY6HEk@tkf}8lu5yjq2Mr@V ^fԄ c:;@+ d"dLyHvziu9ϒ3gtRź}8;`%2ltŸ4DU'BM480>wvB 4Yذ>h <[m}[?YOt6P+$U!B2&FxiY2.g*^J|)䒙> ȳV[6wil۷.JX"Yذ& SRo/i2Z{-!7Í+ [Ue{3ۇN٘uD"KV(-Mn+Ehѥ[2:^-N=htedڭꪺ#W=XVf&KkCd^Ia.o~-7ƔO?%ϣ3w:1hp2Ae(Yɏ{KWL&* 0$1$LB%2}Iک=&u}`~==HSIF(ׇfMвt2׀o #v+ #aL> |fJ)8> y{#JBB|UZ )0պ3 [ka~$OzfyVp!:T5"qtj$=gMcǣ$t7&?VNs1^ ,4ygHCwE#9}VɯO"S4%qml9_IJ777E`<8}p"ڌekErݴB9V':lxXX{OfǿOjZsFP;8k 6z҈2 h(<T Y3< 5MI2B ϗG~VE./7~tJ,3``gOYeA&Ldv!{6=pd h[Bc51aHC4Q۩gש؆DۢkDgG~VҶ;f[5}©}̂+6WB2A.5:7hh@F'sΌ&8J^(;YkB96ÔmƞD en=jh A)m>brBz e<nFքӷe%ji@)!^WW߁RPUG뚷I-M?wǓ52,dvxgq kRQtB.c:N- cύͭîW>4L>3rv4Tt%"4X`xC+͗棽Q ]y-B!E 8/EIDk $(z~e+ʩm”%yv<p$ě4[ )1" Z[xJE>H!xq:a2{I\jn!v> x99ء~>e"X~ܙXg)jEl+;b2&l ~@]/o8nB0l3)gQ3L%QnQٻ,oJ&9HPoW) ؟󀰦JvDd=Ep)I}P^v삯>Bݗ6J:==zUb[@Z>%Vk2sBEM<%kyqnj1ex%|1{\t:~ Di57iF"O)\ K*>J[ -ّ-$=.H"u0<[h?W\0⡓acZNc=iU"41PڸzO۵]I X6}? <`-,w+7H!MZ޼U9qhӸ/$xgAsJ?Åpb8He nCgLnk[/"h]i1KAѻ4|<$x'XkS.w鎃o5?z@ ZBW8s]>psf3E{qCsn]] 6ye!nE Al.V8݅Ըy2c&ԟzdAtW:ځ,QUM{Dqic<PfrQGD@.1ƺhW'R.J "o~PVL8hR`iqll`S\6LIhm$:oOHt֑^͏hf j(EOUfj]-2m<d0MEz)n[)!yܿ;e]n ;F;1/.?\υ3+R}^v}aHkz|yAht nJ@]x|L(k&8띱Eox.鲂R߾XGz· iK#?d5CF*j d^+uHm28;c.AHL&w OݣR״%JANVۨ h(;/tgPpfB^h`#l1q?%ՈBE|*@;g6ZݧA#D[cXbع`ha1qLOWӅߊb#l(&8ǬU rCL,]{3 pǘ+rAƾeߔ:CvA)$BTR*ďHa}Ej=E<%mO{KA S W<*MCX{e.#+T8 UtW LV2i=SRϑSozk2`[YC/YX-UH@ {}up5ٷn,J~Z]A۴ȖwO9L@SN94 1B|h :L8xYS'c|8: ?[bkP{* urƁ$,}R}. PȐ歧cGh(*Ic udon+bnG8ހk2g]Tpy \+Y&(mf -ӞZ*/nHvwwLJͭ靎P/  K+@"m䝒FW0(ȐuADF8Ҩ~11&3i9*%|LdwiƞD?QY+*6#iv[CdSitPVeҍ:[9RL'4(D',C蓯偳ć Nv5l'S~|7юi0 HֶSQxL%Rk0\l'⚇61@Mv.L}ܘE-u5W8gJX֎ "|1R7eRs  3Y'R='vb5]3-2|3gޑ!"es?E-+$e7CT|"diˢ]> mSY/)/݋eg+Fe&rP Ӎ.wAAʀ5+_ pUG:Wf[2-qP`E;Kt7Lrpy;baN⮀1QbƒR=+p1!ވ9BѷU_H{6wE jO낋Dw{DMq1~\(9k.Xαy;s+PB/cQxǚѓ%K mw"bwӘ\OKavT,n=@JήE#|>dS:^ixHT3yV|-+5big ,̠Hdo1" G_Y0vq[ %n5`z.TÊ* Zpnx'kLlcG*kS+C?l|RCRs t@kJ4t/coV~N}5g``lIGě7RJq(eUB$%Pb%Vx۵ёM\<c3=|oMc.J:X=?n;Tq̓G"~Na_N P@.Y@ElfӲ潔`H}<÷[MN3~QځhS3v0q6pW莬r&Q4+dSpG?*5WpfjW1GT2lHpt;ڳ p ˯_whݘMd3'k~+Aqg$-E_S6WA'QḸP6}w@`m#tT`F4IC JE| L;BT 1xUKN.x yO EQ'Κ%٬(DY"#ABe{X+H$#|-ox|RyIVhxdA3N< {Ӊ9y@ NIO[*$`|vk|k5GGYW4F~q.֝Ri;uK[HmpqB?+} ,H?0v9i^7rWw܆>rHn<# ~(Y\w*%-26;O6d pRXNT`^ cOx0YbfHnpZbJߢ_B iLuұ3d{)?>Okz\x0@m[MO(u%MjWhE(SqFdi!?,[BC'RAFEmcɌ鏮?a7R L%0nNlVٷ-bG') ɺ>+&)@@h5g=A?}:ј&y2LkS)AOtl -t ;}Wỳ~!Qd^ZnF|t,CmkGюH6I ~O.gp{݁y\>^^:m#15C`xQHK| %t_J{G5 tE!{r2u9>mQ A#] P!o$͔ƌ\Sh´W |ٺNqA6 # t([9(6+U);%P/'!gc`rFz%0%cL&:=g)0_^I. mb +hw`F|py Jxb:/!*q D9J+6-(b KS Z c-c{'`gRTCH .4&."hso~_/֌m_ rDɀ?NXK*YdVJ=|}ĵW~[ h@ZWGCۨnCCQqdV&NeִvT+$qXGm?ȇA%{)=ϐX`R"y-d+I -kR!"'R1ۙ;PsäsۑǛm1F2Tp)-1 l!_yw,u8kytSxǵ]ψ,NPYK:cAp$*erqpQ왖$=سlVJ˸Oƌ^CGSH(ȻKxvib'I;o2CbD9*6$Y[k.fmh/f^1lgĒLqm, W(u&`%rSdixK4X}]쪳Mwɪ9|öBL*bO.ըJ[Nc#T-E "lU*C4XQJaZ7n w3[n7յ\:C$ގ[gTX"ؑ1D |ʺ3%;bNI6'rhR^\3'&qh&vcEVr./dUyY;o$[qZئt&y3$T=n#cJ*x OG#j%Be|3{ _7UdL.~͌Cӟa:LsN)17焦S]Ubo/.ɿzV9^ :I9H zV]O|T?:]Y_I2{nY@yW\;8hcP#+d^O8 Gr " HstTa6֨\vs:[5[b"'l-[ +_LjS,qbU8QGڇP+k͉"B3Z8Mtu>!ƧlAo''9[HZ4f m~E˭ZSl>N;7NB 侨lAZ.0UK\`&D!+És*qxцHWр+(:uuekvv j5S: 6Q^fH.g<Ru+X.9>o;B ::Ga] ^a=3gI u*KQB'.ǸcEc)(gjf又_FC28tbL^EA=# O:}B};>iϜ K?x|]L)dk@KGbdHû4t31V1g¤ eyVݪR@W.$UFNҸ@}vfڰ / ؑm|ܐ}vwY8Up慢@il:7Bq6%XĽ]vyAPD3'Paɜ0&n$9*v,#yi uY%qﴱާ`*pd"yc;nRتUa4 h/"{^$}_g0T*.#;ZO*ٻz#0+ls폵b"h:Mli4cd$,Z.F#LWב۵(&*aBQ'ba a>LH\0Hޫr1ckbq6nlV!E|>*Mk-TZH&J5K(VO-Qi# \7IX4hLzuy#aO  Y\ggr]-sֱhCp'ʎ< j;cE÷S/ \H$Wc&Ptak=|pXfȺߨn@$&fi_^=JTauV~}XÃG[&j-:)d6M!TtF5vk f;dـK){ѿ+Z QNq_4$" CsNKӚ;$s)5O혦[kXŝⒷOFWV%M>kջʉ눉㠉h/M%\ xoڮk,Q"+Ҡ$Wh|oDP {っ75Lғ4?_֙Ԥ3alAe2UՑzpeZ,TD8U} m$ٌ\$&9& PZ]pТG\U`9#i߭=B#ZA߅ &5p )״;(z4|RRFOHOG^lَ$h4 z(@fsJȳ[İiP!&nBixa &uǫ٨N8ԢrR%$Yq!/.o>b I}b#Ӷslq߉mx!OzKqJ_YQ,?B1k}TaDV3i˲i7!3¨$_X uhV:2;^M Rkg*_"{v,"f VXAH:_AXk4^_"\B! Rt?ߛB=crUt-5‹ ׵BA]x{@?vdb6|c9<lɦ(U#> +7=m7NL$}},XBTPQ[1A${ %eW\.,$ fXqDŽJq%y<^{w}@@!Z`N_gd{kuP`e1ڽ"gddOV]8*H떐6Z|7PW'W]㋄;H0BF`V\4uӽjaH4xbaT_Jdㇼo>9*(d;B&9[M`@~;BALN!U ɛheS0JLl\?$ե,*1AA@lN1ȭC:3џ-GZc~5QZu}^)J5tt^fЩ`hiaoHAǞ#]E]&W]HG¸@éMS͘ ]ZצejhjbBR6h%V r__Ǭu)~5ŠRRM| 2IOr:Ib47B`{pX [C4OX&wY$ 7/#ØO3]r;Ƚك){cIû*媓P5_2QRYm%5ɸ *N,(֧s .lh"D"'T<{7gY@T#0w19g`~Vr ?(@sW9]#ox3qL"% l?M[@?j'[}шnrB&wrtw9@PSy%v#q`2brIJm,kHAIA`$R_ըN4zOFl?$AEJV%3)-7XY_қy]~f w=]3׭^ij}KvijG?{ߋ=і,((z^T?M.T賟[}m(01?l͞ӰAxrGozOXirTI Dej{?}S?ܢaxFy Lѝ~f@K쀋ƌ"&w;!wSY rje%Wb|+W(KلAT54u`}U~ejj(X}fEsͭmnےA 灦%,GݡٿVB/-9 ^O NAEiw4:H ``!_M!nʗavԆvc - ab:H_!3Ufz%S%Cm~k Ko0`s=141&muulʩ9sǮ&H= tjL\Ep_P6mXtbn96|i(rb/ty6iIͿGO)Nr7Mڦ+V~]زTAni(C4g#uN_CvJ9 IgX̧,f1#t9 %ұIbn(SY];ȬZ[y;f6Qη9<;*#8ύ^oe=&V.v5UvM4%_"8 =OJvTؽ?6꾾pp=wZPt1dMg[CPՠL)ZCh*Sn?ù$.R%@ Xm@c~ЂD۷}jjJsXGZgKQJݍt9_ $F2wwKi:6k7˓Éj'l&>dHcwhڞԕpSgl62v}d#pټC: Tj[W#X.mW&?鏯MR^݉5~bhz}l쬚>k2#Ka"f!gt06fܬ0QjQ.Kǥ^RZ/Dyͅc|kRD, 0]O -]@5-wÄ\KA8ަv_%b%Cc 4TRQ0E3Td|h: љ7 fL$ Ru=DD`Ds.n轍S|/?<&ZwRo2Վ}# Qz endstream endobj 82 0 obj << /Length1 727 /Length2 18492 /Length3 0 /Length 19063 /Filter /FlateDecode >> stream xlcpn6;+ضm۶m۶m;+NVlZ~|ujiꫯsVPE ,&`c!%v25t1t1ML&FR ˜F@&JG"eSS) ,))'Sڙ:\l,2ƦvΦ3{'09?̜m*br*Qaza @Fv.\Dy:J6+^'Ht0Kc x3l_?CJ?Ѯ66r a{[WS'@ bjgbjhC[Kt1A;dYD mvuϿg?쫉$WV6[N&k[?=_()e ],= tj=tO7-' d5vur2s7_djaj bobV'ZxZşt~Mbrʞ.X=#<;):8J6AG6.רkp=Co|CXO^r=RoR#$U>J^w?7Az1:@Q7Cjdrv&C ʃkrr&#_s` DkK>w Ymcѩ/ X|7rbA܈*RW^mnH>&~MתumPM,(fD1]ZQ:~k"nm \Tv9:BS`ʪ9X/5{isQOP i^?6zNG cs=jt늧؞4 ܦd8+Oik^7Ü.<M,?-5+7/V[Ɣ6~* vGMch1zPo&wzYb؇{X fw׵ypeF#Ҍ|c<) NBȲ>)4( '{#6©D!F3T ~T[kD^)T^\'u#wbߥrҼ>%?Cqw$qYJ:K/twE̞shd]&,F'aՈ;Pۑq;em&_zC֔-yθ2MK:FCoN#'Mk~>Qf*!1lӳ8ǩG"nnO>΁ltxd+"gϡ\#QApd@;bfz;cw( ԋo(qHVif/oBXna-/wڈO]jk,K \j"Ȗ7!yGd~&Z[`\a=@٫g FW[Z xEi:]HQLPms1=x*O Ĝn)em[fN4R)pf0pMd9HMM&ɻba2H~a] u"ア>LcB7&h:$7"p"^Z{^cC "bVs9 aU1wSbOW7OX s1yنg4q(5h#SHd,3Tؚbi `htǜvaQ+zJԣz3:_񮴱,^0aVGhE5T9;8K:*ʶjK]x$9U(/Hƫ u_X Qc+-rmyYr+u[~MAaS|5%׍^GAx{wyy30d)qbr1 "8T/՛CUtЭ fVM/;XZb6CQC'ԊblIN!EjdW4E1SVZU¥Dt$o_AHՔi;} ԇC挄i]uU ӸXgw{tY;M"ό/[rSCs!9C'_'uLU+DbdzM\#J-INFpĊ4/ibҖ>c~@>5BP>9~\wKs Pe*gڅSOhe6wB)\/]a]t4q *[I4mlfLI/U|y<*8 h:7b1+Ez^= *SArP=ZeS{:z|1-e#NsZbbik̨kIsmDJ*nˎ_6֧wXR 8xbSgEG2 W_/­eA {WeXte[}yKlv6ŵFy__5d5*7ZpMЂר|D ύHjCSWr7JЂtms`˅;{Bhʩ #ڼJ;=Tʣ=nC1T;7o~=ہYc?I`p˂%aೣ4?ɽs H>a來3}f7xWjN^ҏ9w` p F!(0lyA5dmLHHAqƉ#X'z Q*a{Lvq W}} И8 82:+n 9)>4؟;\@2UgH4⫍)#sZf0;}jaymxb"c D~ps7$TU,,@'ߛl+H>Lfx #Ƈ>?aLj`aTovaKe9ļSХ],3#Kk||(Gٯ-_UZI\ q$g'&_3I's5*b(?Zx`9'T9LA0yWm|֬&' u5U|$l9D[!ۛͼaεQ~篮z%PMGV;!ZޏceQ75p:"@ZNHؗo(>f騆hυ_z# .wÜN38zO$Gg;܀.t\zT5\ ~LCصsR鸃?"6k,&yye.ͦ*LCVXC-`4E[ 5_ūHCnԝ$AB"_OG-(ZV1d\x :/Jiॗ}s9^Ͱ+@8"4G'nV1ߘ^f4NfOĜl!s#ڨneeE(#rIwZk hCb;" zK.5馤wg._Otjwg)/沙Мq:;9%,!&/PZYsG7v]5]ETKj(n1 ?,J6 '.ȐϿ9wx{/fR(Qc,"o;k{~>Y^K 46 88WC}} wjȋ=]94T)TzP/ ao&iA]&Y3)bq׊kLx# )i1%* $ \ڞ_l(=\AWRHZKW J/rjvJ %{+$iTQXpІc=quELz٪x߬Û&lʼOx*;BrN{Nl*e%8fnPf-ԥfFO5F}w^u3p6.xFiX`0%U $L8Mc HPFS\btűE,'0Sb4({K$7^G$^? , F⣫>=#m:ȓGVNas:5hBJX=@zǞA:C?%1Ed*wCWV:( mk{Jt}m\Ak]y- >tDL7UJg^j2W]h 깩# +n0{bT]BMsG|W[ORvz VY%dWu k3͒R9df=voW+Bb iJ™dYP!l.e#7L6*e=XLu?6o꯬2ˠd xojL u{ hX%xҩX/WhKDfJu;Vσ7 '㒳t4EӼ ck19FL_\ !55"5{$i f g_L#e^dY"^3ĭ7 Unsw~u⡏d8_Ѷ 7",@bWly1lII~&vEc9z*Di⒆hI^+ӾXta(j2y}?51q+-!tɎp/la8o1i_3Q&Z r{j*JP$+$凌6h?xs/7W\l@QlYw^7Wƫ|Bֶ jCi61Ќ5ܨGzhx&~xNk>|>H0Yg8!lO:&4GN É4uLɉ Ֆ%"1>e>6`y?A*<숄7i ^w(Of8&*6!v3CxVn亅_ VWp8@0x1?E=xWp*߽`h,X* Ypo=0(x45Mo)$Ow=܏4z"{RBg_b }ōt^&+i&4s$c ԛd\VQ]0Sd?x8`rL>fL߼F=cy|} [q9]kaT6B *T8i/+ǡ^k w{ya]1(Eۄ @zlipQT*ËJ̍9" ]cZG2|Dq:/cv _ᙲ>% =23nzm#]ZWXi)w/EpY4K!%w$JΚZƢw)br]WR{-$A\Oſ'w}Q.P("v\PO X >~},*H/00B6ZND C F p O%zO ֢qCmkq$x,]ddIN}(M1)pzFnIw$1j_qXcC>EȒy@8/kQ-e .Z~8MeX0 Ǭ55VscO[bQv`0erTrXie fH2q\H0Ɇv +g?@6 Т۳+%xh4b,*.  $0fHbDlQP!3k=.qBDe|{w ]"W ײ͆dktێ柳o)M GueKA e^^>w6l(PYÃ*UċD&jTqpx@D\1"9Kp>_nA(پ_4WY`$cNǭוMl)Q! A 6ALSkQH;ygGIZIJT5@9YolGd]ČDFw j{UԌSR⑤WxV:M9#].=h ]"4V4C.2*;^?zZp>w/g,wyۏ5{suHP˅ tK~%TeE0-& FQ)H!MO1\c K7S`0G mJX7/#=<)V@vSe{mݮߚ \շ2׊'ժܐx6FY&k/dHy,pYzJ./D:t_ "a, w[5s!G{,Zow5Բ⩒39^951AP&!=*CR'M:>HYXZB5U>׈/@䝩}`|5b酗:@4ht0 y`G޾p(A^Exɔv!и]zIUs%^ax -^Ha/;wp?J:밗rr]0*^%T?s,+b%@`/# %%Ef>R϶" 9_]xP|`Fvw Mn9l*e*|ģ-նPVm˹1#JZHV9oΐ'a@{H.7u2Q,致8Xۋ=J44h -m QZ DS2ꬲRL&z1Q,=t~o+t5@nV_ `S4{ GS#/؞tVlt.%" .#T1@x 7 b=J|vS|Bnv[ }Z;.VPP\~/;%w͌S1{zQ'#&BMuvrIf t:nMX >>W`ӹkzA3']"ވl a, v(1`z"ԅ;R#&&v1;DƕQ@H/Q`$u"xy\J:u Y4]gZ-c,z@ [Aa# ͑[sxUSL0/lo+4T0'kJW=^3>N8:&d(Nj{+:h# (ɀkg8h_8' `y.\=$uБݿc:ZoC>п`\0`N״mqQ)DO*":#0R驓nZ.GȮVm(uI5HM^/)^nj}cȏ7CK^N| H*9}(R0(攬h@Ya~@  y_C?ecba|կ" OQ dw?{2#q]æ|Kf)Kc/>P0cg]g!ܾc޴ѫz${uǩDO,yɞ,՘ Ū[uCϘI_p%gf X+)/nJQRdңPU®fW4ՊPyt. и)Lgto4B+V(Ղ^Ec(iEE,oTÆ,cD:9Rc((OߞZ:z$L.~T=aGTY-,`A71ȺϿ4v݁s(Sh^'ji5$O;sמ^;;$WC)EeU yaIGjiO/o9JwX*)ǜ=A˫}6K%OpP==IZ-(lUL[ ɰ8[]4K:,<\(os P(7GnpОl/F-hqoEFX>Xf@:uzxFd>^"ke'5'yƠOZ4%QXݥXOWțdoWM8O*sT W~K5 ~ g^\ c~X#802ނ.IۛJmPՕjTs1*{O0=>stE6oʛGd3+d31tE#ttXxћ0L19LGoBcB2KKzk,ЭΤ4>ZlrKuz7Kg4O/-*@]Gy=m^_EGSQ̚ТE]DVY^`Ϙ^FBIM¢o?g6{_Qm_&lfn}]'-[//|H2J=Kþ*cJ'#;؊ ᄇguz&S{29IwYqb?+!^GVfTkwlg3+ -J:fLQP8Bz}s\qAҸrS4yKD 6 +@('"dClEYbdtTJچ#Z"TT3j[PXIY3;m&33V驛 X;p*CUk!}} K;˟wKQ=Cqȥ$JJd94.5󣝕qnr%5ABg Լd@mwa6E#$ّXtK98~PbQӘȼ]Fk0N3 T4VSX nyXbFXLFhvh;A64⃯y秚v_j+7y (&ӼKhV }NR9bJ$ʦ?:LI@є3y԰jX2%Ҋ6g] b]v y&\P[-d:(9H ÊO"N'/۫T-wPOWڃ zocͅj{h]s[9{&h# uK*ı 9cWxݾW>!cQ$۞">w?Ysnw:ґS܈^FU#f2u̟XLHE;ro#}N9TW>K&P.X\Oz{/۠B3:(1)WW|,ȝcE/քjaCUs!fšɇuUeP=jKj5ZiO@kᚿ.ak07]Xm<#IuxxMgKث%}_tj0VúY)ʤ`惟ryس "ς<9V^ޟ&?s}dž&zIR4LeX࡭D" {dIDs2gV Y" 0UDx HD ޔU5YNad| =6$oJfb!@(rnYvr`G?]C 6YC9!eJCT6o:TXyƀ8.tC"aT*&Ycb^>oqc!ٮ=5lr|U2uE&h? :!foEU`N;U\3w Ԑl OP"d -9VfgL"coh6%WL2hqɫ NQqbhS7=,26҂u2RBp-% 4E2ՑaIBCxF!oJQ>l>q[A΢` ̧B埰PjWQNOD+%p9/yvI#6[vKyB/!(#=AΨ D)G!8 XillR;6&NCl4̺3k*k8^α L>;ñ|DjW&@bz? owWE\t Wvi=)aPYmp5uKrG U:ʺ%FCFTq]ca{2#0ȑɽyjxvQg(c/݆YW  d;B*0IEAi.#͔@Q>DQHMPƨш̕v? Ff3u-(ʼœH;H4).3~@x |-B%2 ITZ]D-H1vg@$6D*Ds3yHPZZ$g9.I=xːh"s۝GxH\{PCjlk` nVL ش!,-͍ |)ZcY'ݱD0`c*WϬz?3Rš=:af{Oin0e^` 6S 7AP.+wz`ׯF#g67Q, U#DC(VU ﷱR \*V<ǝ ei&w\t/w]=SVeM*.S_LBICTTe `5<0̤> ҬbhUS$6*}{<5]< :j Ӫt#n#@7q&$hgGENIpj V- vo49U E݆JB:N4R$.R%aD4T^'jyAGW"YTXҘk,/b<97 Os|%4]x5^-3GcwOo(y/<ݨf s!nd1K~O4aHjpǤZQcKWh UkT1igQm|nl!ӛ%CjQ"9CϹ]|A/2gHqsCu66qB9ϢAGeZAęjE/h>|:.4ǔ!ͭ2>5X:Bs= :a78hND8QNip+\#!_4J1 /.-h*f^mܳAe'aĠˢ_t@C^;Ur 䛲`#o1&sMRm$&$sV0-K:km;AfF6M%fDjF[+5 _< n}}oW_qfȗy/ĦMQURITu B\_bsisFu$ZjfH.ހtvIuѯ`S菘4 7K \AȻsR3^`I DhptL "փ!',-/,i8TK>~[Z_];`g.!hkG,P)w"XZ70)R(nu--U۞JŃJkɌhb/#y;,|a̋(t mMGWeW;8gRdk?Fq$2=[q~sOu64,ub1yϚejݥQm{x2qX%)ȡƱNǚ{hZh8(7u5O+):pfX٬tMҽBAk@GEQJO Blx=eT ^+b.geeQX"i @b|zl/\CovdKM$j3(d(Z^U  *3"orx&|2B|B-In6^6rOܞ6LUM;a(p%`u|u߁p ~x GrZ/ 5ʼnp-@ϳVKs}Q6lk+% f^=Z\]nĺ*Qըl6KwN}n UpsomA.t\YltdZ%S0ynD0)r\RpyOko61הzX̭ endstream endobj 84 0 obj << /Length1 727 /Length2 16914 /Length3 0 /Length 17525 /Filter /FlateDecode >> stream xlspfo-tl[olculyc۶cNǶmf:l]{:CN,fgadgf`( k001XaEv u @h`fa%{8Z;YXX8\-N. . )gs WДP˩ā@GCk1@h9lM,ɉl]3uȊ˩DEUD&mA5,Y:befX;fM񟰉Sr &@.r6@3 kgtYDݝ&@ m,=!lBf(;DM qu_SO+?jbgk3̿1H+o 535(;N+ZgK;`;@_K翖C ۹{ѳY9\l.v]cGGeg^' h lglZ+Z8[A;;mJ 2sb1hnx{O0`ķ{#yLb?&]})&0zS׻Wñ1sX_ Td=r(Cg6(@ގ_]x֥DV#Ϛ\  څ!7/(? 4<` dhϞ*ߑ] FN:qVNKswU2F&{#L-v4al &I3Ns8E֩j&H`,٤MZcWd-x#5|qH[zVR,YY]_ 4R><<٦z჌A`+(6Yb+*2GI@$tO.|9T9oHs~XĨ"/uE L u&L'JdɭvE_ ҥȿ貉^&ov5V}7۶ aW 9˸MٯY& d'<*`k1R̵t}q6]EI'2O`(_[vk>Ud&{si0pVZ:gm`zTmO.!TXq\@6*R.;B|j#s%\AAΒe}Taᴸ25J"/]vÅN DFsy!U=H&,`D3l*]3)ii<~8z(BYXei*OHv3!h NSnQtfl[)F 5۸)R]П:I M桺'LWlmeQpETP7[`狛 A|+ʳ2Y,G&8 xq1ʯ1(%IYis%xuGr( zvqTM$&iIDa5S,Kt)d4rjci!c;aP%\)q vL~mYq8t) dg!@{w=><Δ;nd${zBۢd}̣&g;hb4(  c$~u⻐lm6 ?*RP4y*EQj/WںRk>xF<}yDLmFTvP8g;E/S!"hMʜede@aYiWbHReռ Ȁȥ(}!4 Ra( ikbN+(C ZǪOR73N} og^='Z_@ ?Fz>DRI$P睟ݒ9e&V#S/<2g줕զq^߮N)'E+u ԗ1 _ r `8/7D%dx&H8.41zO7b_Ŭ&ua1o׃) _s'x5b.$Pb_+۹cѡruTU*9:+i6 `W1A7vӦ5"2B>l?8D"/+&T\otPwp1g<khr0^|6˦s2J΢xc urspjsZ[s 6菘EdZ]~2nJ,Bu?(QW d!&%Kb"3ZuOy6shl&aXo1B (u8Z[J` :?5̈́vW)~'t~>]z=׹?WGEp<P7" 6z65Ui- c#~=t^d)xcւ:gn~h;^P) k!;ޤ6H t-.qΣ4Qe&$|[!\W'bݾ(`ヤ<FM |wevޑp¡7Ǜ\kL^Qz2%byT,70} JH 0`м'^l͏EH'Io>KtFhzRDej;֤ ]YrkO^6KT,#έ5r{(,)0, ɀ. Nl95YC')Hc8%(If_%_7[U{rX\;Yx߻JJtyCNڣ : ۦs|td7*;OY|O8:ND2ƽzu㭼9m&/]6ɦNc`?`)@dӷ]fU1Okw3\GV YxȌ'UhhMM } O;.s%;ҕgpyNl4zM HX}|?Mo ;` P^Hxfv'5-p9ٶy 4^.Օn<錂![;RW`oE}^H 5y1սDSq tp/{z? w(i+6[;C@wr^h+3F~aD`$5y fGg"WhUyŪ*@ qؔg CF҃뫎~VL "3Q 0.MmX;M苁砍1Y贃YK[OG>s)'7͐3C ~JG/Htv, Rsjr*~*$>$V42 ߮bcB'Wg4f!<.Uw M20b:rREI!1)e/SFfL|[rXŬiɱGXC接)䟷뮣pqǫ@Q5ۙKL! e@Xe`CŀK.mzܭn+``ЛuJ竭ide^ ފ=W.dTa,>HJVv~xDa#ho?;FR'iCئ7Nk b)gج*_EPtJ/oZk{5dAy1fF\H."uH[32 JXd6?JicY"͛"9<˄d.3z4f.+տ#1uVLB9.m_Ofcd#ZbAz^+I`piY1 ٟ.8Rqxz$<կ+o^}^ځQ`bcKdyUIc8-@X]vSLi^ȅy2lr.H(\3!je412vjK#r`_.fP#֎h2zѼx3H{ގ 3xނ1meYL׷T۾j zEmc־rcaj<.͟v_ .|eZΖ@ӓe^.L&c ZL8 nQڻ%ߘo=EnZl &i$|+0pFPb->]ﰑ1x[?2͹Cd ɕn>E*IEt^`W˜֥X2饸oZ=>ୈ&?u'$1CpˇaCbK0)-8>t)Z%?{t]WJ@NI⢛~4f˰ȏyމ =!?8)K%`Os" |xtT 9(Q; x\^Plix3&ۃs[B!Lz }K`.~*(_qO/;kLx_ŋU:Er!tK+/z#KQ,$nIUD׻(ʌ >Go]_?sqO/K+Х4 2^a{QdYeFh|kr#B >?%,TSRkbexil2*kGqRE5УM5>*G@kȷ/ͫŨu)jRJ`qy*|&؄I"I,BP?Ӱvkw2QsJlWX4<z%* x:ŻWJatk_]^IxN_[p*G>µz1)bE-< 4sQ̱}g,;h[ r{,k~4U0>Ui;U)21_;*Tp]<kb'932ICSp6yjO߷0NubpT E v:_4d4n51QyHI"I|̧ݥr$gۨ( 5` 2KKX/qg杍f?rPLˆȄ 0ωEB0茧sLu'u?oEΛd\?6V>#9;gKsRito`V[| ēty&kQϪ&}^XWT$dFhmhuҊ2~ԩr:EHZ+, =j$5LQ/K3 ))ip;^V!*>@C[H oXeiHTY]}o*x3X4؍vep4 yojQ~BEk͔a\T{2`Jg9bCÍ?W3@_ @a&#UbU 9q)ߝɃ|}:DgV/7ǎPe# Q^,=rEݶLtaBYУOv3/)Hymc__0+#@$%nK_F_fJ4ծ*Q,YPۚ-}; @K hb>c`*h>̉;ӵ{K)aj!"5wXs˂7X Wc\ca'IovD`FTC1o:4!YB 6TZ֑ QZu=b1=PdDX\ ЉL/ ]o7l!ޕop욟NIXwgϻdS䋏Ia kzϟFKʕ zGW>Pl8l.F]:HǙD36%}]*erYQ~Yk8w eFe>c$X*,K+D:Hs!˶l3} Ђ ՋnG{Baq8G:q%]^?o*udųDiNFj? o^C-ZooX%$S6^R~L<8PX/-w+$d,RU%G!Сs85scu'dv!:sLJN"mcJX{ؓZXxrlݑf Z2 IC#ɂ,FC(%1@"+TQiQ˲x; ~j$wR;e7sCuv5mF\:مӲHC ?"ITgL<Ԑtkx'۟L3Kq=fUV:>a,k$dݓ%ByD/-XEPf]DBYݾ~[m9<"ggv3% K6y؉ʽ}n9&1P)'$["QUU#Qcv y*\Bkt[Y,+S4ItCr HpJg%gi@`| h _MF0n2@P8\<$,:U2i)(S:nI ?V_{;#\3q4Rw.̉T,9筌- I[5r.ZtlV3 /X8:yG;&-7o |O0H`Hugur6ZbήOq7#HVwvB}.õRN+VSA*K@OTRwZ M$E1*&eNa.b(ۅ7(omst3gx[cD IXG>#!Ll-whXJ S;tQHIlkpF=@=N}Щ4س}yjE4%u~EH2t[%/ߖ&G)EU997Uh{!odݠQ̀xivnX2+gwhrgicw amJV_臈Il2Ft$J)w+`O_.obpҡtu͛_I ]!My OmD,zц3m]󂠷aS3ORa|%?Ik$ WEϵvݺd6o"|n44Mӏb|mӮP1C72s!Ayyۗ`yhycs." X"Y +&i1„rGWQP6=o7Mb}9!}M\"h,u(D32(Io"WZWE 7  u*x'ǬgV!T.h*WEJکe@]٭ۢܶ:͓, 2Kh G8RywE-WB ΂2 e誰nZ`#3;(rmZ?ӹVU '[w(~.l1p|fTn$PÕ*!!+4+yq{PVhO[L>Sg :4;&GjC X\0T <ʃ~z u=W#CNg"S6$،z{% )Nߧi~1X(v:5{lߠf lC})陋O-vW5כۮ)oP~-X*$'&|åi=k}-ƸZVrI#KuLwqP&nL4m/|>urYO",=b5b=-lKr+7zzh3҇U9~=+ɪJ:*~Έ h7q)^cF}q^ԂqfޕbҔ]~+|[Q E;L qjOS '[ UBeRӊXr~#ڡw)Ɗ)ёoVQdzVQP M_G樻x> ^E&sT(I -+QYz3U`2ԖW,£tB 'PUNQw|BT62s!Yqpɖ 3y%-zv?*n6S%J֟ ۳gP" dΗz(Ͱ=AZUؓu'~«Kܗ}l }HVrM-V=zt'^w៿ bچ /jŕ-ĥ(= C9x[I򻇪(b&$eMpdrEIҩ=m[/VnáZ44TQjiވQ֋٢itUP^-(_1EXSl֫1ۤ>:8#u-?X? V}+[}CqMb\2J'˩&yatqMK\[~i΀3c4VvV+v[ۭwD~t#WQ2eF].a;s2fmr#'bJOFa.FojqLd%UTc̺wk@ P:N<> f1+_8ZD>ufh]ˬx Zitī40Rao8$O!Z@[p3XvX[5^; iĒ%{-#i"HveE&&D%w) @7v'ZIh:43)k$jdvlߛGy5m_:omB,??!^xܱiP[(|,qXH)^;K+ 6fM.gto.4շ݆"[#܍N(n,,zWw~c( SȘ Oųe˭b͟RThɸ5R߹itw*:Y-O֑XRAy$9DB0*a9Wv]ǝgܴkYUe QϽ6D]h#·Iřߑa):F^)7뙛o1vAc>_SuDgظIcd)}Xgv l+^j!sk.̟K-3WIp2.MmD6HJg,`"Z 9a{-pm5EqAB}H3U.wp?Q3'`` T?Y [HLq eOΥ<M!ĝ93l+tipgJNvOoKWrB^IN4/G}~-Q%}.Z{:VNL 9, g:XG{6,KXfkm+Nb9wq`Eo`"V8&b+EbijW׶6h:K|&Ng0L udZ8"W<y2&{ {VHG Q*fjd K Yb}T(1W*Miar9,G4D<Q7YOr枙DMr6}p[ݥkBuJ8T\%wP݉#HS{spF)9M p齃? !DOɥq|#HJ;w3k#f|7x XN"+#)$0HH\u}8&(gTWP0D >?"IVX6)EROyHvH>ޔH.>nx6q?Xl`I}!=l%~8Q^";1ByٗgBN*&Vp-I~^zd2R M1Gr ϧp[(5'4נ޶IxUQ y÷ +.)OY[t v`VPJ! ~ Sk|l7Y!fU* Nls\̈́{۹7F(#*2[4wydPU@U_kx}Իv6ǭ3 ?Z$yMĵ2IT:XD1's]W߶dFI=dHTzxČCB:N;P'԰~OrBnm}N3J{a5PǢT]\؀/Mٞuv3 4݇YDZ_FĕϳVI-]ŜQMAOi2eZ`f.]NuOR+~v< ;:$FEjb#_hY,qYx&7WEգ~S, LђEU5~إs+ᄐ#:ޱ"9 v&`*0lRzݒGؔΕ-8Ca]TG>ACV;KeFmbL0zMmfGGaȦ}Ηٸ$a1W&hOՋE6ViXdenIʑј6x(<5ԐrjKY3`J)c wM:IQZ=[.ڮP6hNMd C$j$hjPscGGڀ{{br y'}HocBjwCk3L2 WYQ `XLNf79bGQ.UB!S *f"ym~S,=z!EԎ1f*o63-"Hs1ԪQ ꕅ93q.wpP wCNPFpGuk}qgLGDsCЈɞ7[4D͞7Y}s s@Ua{1CGlZpc} N E_[/Lu(c*1jYt) b"i:\y9ټS5!,:(ܴO~+~D@jQls z%K5i@h3TqWl+^->0żDo6R٘_l')qg{D^2^a:|&Вcqs% T*?HHl랒hu=OZJ(\gpt]R[Y;Fy]ϳwOmmCS?0Yl1|Z"_q6 og9'SE},C#opXR1h~_Lg݃"ŋK! VJwZߍ9rǸEuSmc?bjSC$ۧzrۖΦ#K{k|>8Yw7l[>=EϮOՏJ`*S=Rh>eZ>Ly܏׽)2XjȖXYeB4NG4<61yT*C'Ѣp-H5Yί*?Y*]͝'07aտ `6tq8t?%my}_zR/obFL%Սωo@֠o^MXߛ"ɇ7S2?>x>N-diw- y-3kv$A5zF6Ir V;H1УE=z{_p/Qwo-FYuF](hșRyw_ V̆~RYв`u3zKޮZ M>Y`D H/>Ŝxw@P(D:7&3\zלu`CG;oͽXCsZr۶m9֊דWmBz0-&!B+ }ppY!l5ˋSO >ǃ]=)䭧Kpudz[/a>f\lzi<%65Fo6@t$zS5ҔzzZt1]Elr@S];_~aCڎNi F;,aj0,qHj(8ɚr$VG`I|ץ㝏/ۥ_vFO>w×|gjQA Hop)*RaoEY(JK3FSjh 4%Ia6XQ*Zה8- A0V*q/6 e^ƒF4ȢH֗ %20ws?Cmei㦅:=4:w|N`]7 qB+讷ǟAj/L1h {>#C$H.\ݻCbHizcږLa#2ӗc*D5!:q@dW E?6ި5!-W7Z]FI=+=B*CUxOꯌRXj苶e(Tz8* _{ v*{>qY}]M?4ݵhgw˙H ">LCioG#wē?Do=J䝗. bNNw/x G_n_YLtK92QQ6 ~LLmGGKu=XjS jL?~9[5h^C@3]WZ?c6?Fϐ1E4,U6IK}<@SIQ'K%Dtj*ضWNDVN,6dH_'`vHIB=ٔ>FUcSC 2=eϫ `%P7!)gXm`-4o Dd<'d?Yp~Y$3~fx G*Btv@xVw۞iNor̀O;!0D=Uz! =/F`i~طW0*.1 ڹX'\Ё`B(<)ʼe(X+ >wĖC&XvyhJuAlCk-_t݁ +]Sjn&q5WĖ.bXڇ+QfP>殏Rc}r8>"ke0[ğm:,BF\94]HgEiICIdvḀT P !g;LKICc>n@ra{ᗽK5RE\f2\9qҹZnz@{ ʌ r!ȕU9wkk0o80(w"CaNykR8s.xN#~QͱոXTʁtIAݽF)\'лI꭪VMVȿ%yfccET}]C>7ǩ&ɖ-', 7 Z¬F汄)b7m4.!3O1Qu>+'wCFw>UV;[y! 0 i(gκTtB*OO.ı+R ;%ޘ# ,dL4 2Z:E)H1e"E +/=uR,-H~0)} 0ϒ'PT bVZg J@(le 3LJʱ*t5t'=0“k"$:5C;WZxƦ B $yrR^֓*7UU$S#iAC X@RG'$KD]l:d ezIƯ3錇YkA8}ҏ(UhY4|y'(?N]%]ŠtX3Gp pewlIdޑI&):֯x6ܒٷ\}{[de"dW82ԢFOw/8[QN0totu?j(ֺe\^eϏkBǷtmk*VR˱KZ`f=!8<+ܵ/9fY]MEkSꠟB3.URS̍g_ Lڪ>S#IK ͇,,~"UST)Lk{v5\\XK*6Qm.-?bXfIyI տp!#Tb5s?0Rfd 8k:b `idޝx&|\K<y[cd@ʁWݏRUh[5EJX@]䤜9p=|RNaDs 5la;VWXk(esC=:^{*yeoa$jbe]a0L2؁EBvDdȨZd7/~ фi):_5턉~\K^,GέQcmᵦ7~ endstream endobj 86 0 obj << /Length1 727 /Length2 13561 /Length3 0 /Length 14144 /Filter /FlateDecode >> stream xmspfo-v$IǶmm[۶mc;of̭[gckgשrq{;UO 3=3O&3\ hbio'j Tf 39@@eB @ nocfibusstsveprgHXf6@JB^ :]m,M&@;g 5 ``bogj/N &`tr-@NLUH\A^ &¨*03JSn4_\g2,8ff hni/ݤ :7!ѐ` 4jc#od P:r@';)@hg 4/R.F!dgL Y:[zM-]|?sv6?i1;{SK;s?9/ﴢvTS8Yzt$Lzk_7= 3ff蚸:9\-?:@{ְ ?JHڹC5fT! S+{U|w@c?R-FǓS1$z+x/%d~oJ 긶&7w.A4SlYҎe|1(;kvzh_}9kcu]r\Š@pGNMZ[Q##(Gz,#aUZfw.p#t/"DyWK~e/v:$nW3Zk}n~޵+;b<$f^\B]JB⁠&P~JEHVM@v #@7W%Jykz}fdL=2$\{ż)u0M  rQӧL_"~9(Ҵ"x"/=zCkdY K̋X 0b )Or5ީ$E&U{ipEځ9_*hXhbTYZԙdmJlLaMO֬>|6BJoi$g ;VvD5N#૓LKZ;>L5jy׍ݑ9GWFNg!I ~)Q>,Ctzҡ1C uڟ;n;]_A!R^@P,L<q,)q[IyoT9eԻs..i4:v;T ‚lZW*c6Pׇ&H &K1\°p W!Rl:-Dʦ:o#H@O*3v޼ߍq$ {.[a>OhdV܄ mU /M'?@6j9F&}14y/Q:Y^-䟏_[=S DLxZPB'tQ@k$/WwYk\9-Y8kܮk+w㦽t|$ ^*CCAsjHί\ݕklEvѭ!ef,&6 ]|#T۹Bֽ]O%{ɯmp9Pz*# KN=?w#!*򬞶wOԔ`dHAي֐+ճl}i:3+a% 'SWj8=vEd''&.7]G'JMQF2X:+>fXd-[Ms78q˴lװwfdG6sHnW]Z3ǥC 4ZD@`V [>6sFIƮSHNMg9epC~CU$> 2O"Peʼn.?SEd0yDqlPu`ڧtOHԗuы+Eh2la$ 5]Vsc6ƌb֤:cX[C &c%@NE1vCD@H\C~>9KЃB@ҮwIxX)n?Y'^ (P)7d|z;n4|+]dk ⣏Ofޟ5"Wof7` l+6}$p7収jT` m&+"s} ~ǡz 7hME 3.zJkљbz_mm pAw4Qk_q䜃ZcV\nj a.nk h^jqS7'aEѼvT~3;'2f#n{|:$E/Zm͖OBaVtQypT/ Z0/l*`PZlt~Y{ Ыd ~,J)!kJƵv +121)r/֢hy:^%=0,hԧ蝊Bj7 jgs6@h qNfFR+~Leo+"NVo ؆v[r8͊:X8=Kcӻ,MZ,&UC\e6P+rG ( YUHz{@ ֿg|^ID)[($b)vBQl'OM<Dqڅū=@hQp6id,|6;ZJzh#_/~Kɿtq:d%Oɺohy,ZMZ=#} =7MV`G{毃h"W38f|#u;82ѓz1~Ŀ;N2{JN9\EN;~^ǚbHiWY98I 6HD A3vWږy*2͒Э),o)b/)B$"~$(l4eBaxi |>Iccn" MmkYܾHަ%wtYxfUOq `x5!k=RqO$؍V%p >RkT%Jap依T,4{z)ӣZY8n8b1Rod{p1Ay0h D%0"{b(v&B61˒džϛLt&T>յr,C}WT}^x ȤB]Jh!#X+5dkfp~OUf=$fmz Lj(Z?̕H|TG=}C5<_2\Zpɠқ[ -;{eF>gC;4[Wdbۋ ! =2+`B~Co@,,'vd0~RI Wfe s^d\-Y4!qZ%Tݭ^4TX|h%8Jy؉ hH_?I>?KW\0 'djj*::U\;pі}ƶқ}ټ?hI-_V!JڤXYʮK 1#c,p$#m6stXøBBw>~7tz3sLo= +契OA[e;k݅GhŅ4xv9~2u  7pewӒqkBo\*2,\T(~u@6nH c"5Ourdcz_:OOZc7{PxQnkc1iIKSEb}8 a0TPK5 u7b49Ưxݟ*(+]{Oūx4'ktu/Y3qCF`Z+8L 9!(NjB%ߤYKK8ɖtJyi_Y4X##u6>SJO.vViE0Dm${Az5# -*An)HXo7NwUo E:L@ XmJ㶍~:[[~H <9͑!2hKrV-ŕIZ?!4 Uޒ6t{0r+I*Jٚ;#Q.#]{)P<0ʧ5P[dW]N?6t)+n[aH;91;|jrZŸh㿼R-rdllaج9ƃa/s.C}>01[OC#3Ӊ3]#lk֣vrߏjbʥ5JP%%1Dwؽ/lDSj?^eL99:).iV$5lx*zFcNΎ&w+9qIhw=y) ^_ꈒ$KphO~ZFeF],S-eȗ$tdRr'F{; >='Öogx;>K͑+gUEgɟתbS}\蕌֩ 5JQsOj2΁t!@CrJ {ĖmxXVƦx-E>|yaO'@KX,d7jQkb!H1v0S 9sg idӅDM{$Y$!:֬q^nc$>l9y] "Ȃ5ʾkׯ½ L4}\> b@srFO FZqd1Hpef-/q\;UdE;?Xh27LO8$ʓ1!KaJpmSm2FW1@2Krh X[>u1fƲsDN $|_1lKk%Q xFQTA.:5ÿ_ӶO< Q(u%:Qo n+v놃 $<^9f Ne*W*-0 +Pۼ!HL{ۚq+ן$2C]-qZcP#QZZS=( r[)W]slUCHև,:8 ]Ʀ^2p<^WP4_WIjqxױ\WxShqѿ>&L37h2^K= nᑼ:fX JiZc'&\*j<׻><䗍Cpp>REP%YsqE=ޡOnĬ k99CM|dl#4@9cұR~bD9,xfkn :iQzFej>sYv"$YH6&ߒwem%9L* Q%BEU{La7o$eM%!| H)GY-=B=crȬV)d}=ym2f3?r_3vN%R]pADT* 9uBW@Oםsg&Wf pWFB.m;Bج*a7^,|7u* pٴ0+Cq@j^ZRh[Oi}P)&kT02@vF"V]^Z0%x%iU\hU5U2MVTj FVn!*vWE"P{pkK"қ* q?QS#QMw$C<~QȒHMY۰B邀68y[vB{Vb塊hctÁZ LWR5>cuٴ)"_9'fxXADZV ӶI (\ٵ.CBcߕHߏM )pY#]b)13} л6]awM5Km܎9"^&( V4Q$sLba3y~g:zo B< ͣ$ !R}%d2I0kzL7Mڭ bt}}Zf'N&Ņr$P%|)2pPC"-;*BO}lg!m*sedP4/~;@,+`$O{Y7J^@0Qͺ~a+ fy&.b0Q/ 6z봘 %'* ?R|S]X(P% !FPgK2]ād4ڔ+/BtRŹzf&rM`'~!6z^${jwL\b@~^}Mq!Z4%jwD;\=C U! 4XYF7mلUmxoQ$R{J_ÐUD0flYa'I]ĂIsP|SsD ({혍a(Q*Ug5/آL(o"+tfdY =V5/`l.r֟XA=`VϡΝϿb@fIy 7~=kJrTܩrݹMnA#Hp֌WMڰ4 %{-Ln<Ĥb6>oȭt(JHT}ɂ*ԤBP-GZERX^G(j$Fɿ˝i'~YMxKG?ʇlkdܚn@Q$Cdd~7{ˤ@RJ;vH. #ݣnQoU:6U=Iٶ} ^7;<2߾7k;@*pD'җaum?JPexvX/&N_bb+FFM`uV!U !, iڮC Tx.Q.`GjH{[hbu\ zAۡsIsǂ9IaZqޯp `P1ZJQ6x:!ؠ,([?G)Ij6>0vL\)AL&W"%iXR~AF!%w6h+Y3qt3|{lWF/zD8}ℵ)S&Bl4@a8M5%z1NhI0a-ErJAtݣ F7}o%gR7E{0f &1H[q<ېMZ4Jaa"ozk29[anT;tlAf/!ս&O 7c{ SHw#YϻYg,CWܒY95wgcBaO(Aþ|~ iFH>Q+J%>P,^r[pl endstream endobj 88 0 obj << /Length1 721 /Length2 24266 /Length3 0 /Length 24838 /Filter /FlateDecode >> stream xlctf.vضձt;mvǶmvw~x8UWՏUs-  {;5O  #3/@UBEGA!4rahM@ + fdin6acdjikаw4𻹹 92: 2 \,3K @LQI[ZA@-lJ6&9K3`f03&gs: /&"cRٙIsq'hd.#d?x<#1±L-M\@sK;8&mgf΅9@4S?Ѯ66 F@ oo t77FHÃ?1d,a4Utj3#(]M-]m:jjogCRM2 v&vU4r2ÿJF4X.odafx0DE=Xy l,vNks7_߃zM6VMB[*WBӭ^Z[_ݩ# ݓk!5"NMǐD⽔U)6D_Ahښ(@\G޺dnn)Ng8 Jw@&/=IQeBՠ[] l#\SXU:kߙk9/gXKОGG}YR̐o.k.ͱS:}>jؑD>,x\XEU ?VAXFK<|GqX3RNhKRgqJUT'l@hP{V=" ܁b ǦUkw;Mn<8>Wm9S).tFbgI:`*LnV(>H&4:`i*»L=L);?x/CLэ@wiSƌI*/|11SL[zw,{UdA_jXbIX=31"Z'a"mux:߅iˆ^F9#, O&5ocrs9`t#/ji_k[N*1A'";1/)7NtGc<ƼL َۢ2\zi齢=!;cꍦVQJKr?9hi}im3Cc5T:?Sxnոfuɟ?"jO*Sފz՛SNLr}\ ~S:EcDPܫ͒As-Wв7Dᝏf$WP nW|P{eς#Tt`̝D![}ʗXN[j4װUL޷̃vFb o'FmNz,|+Wlu+Kt@jT% yxS,(?Qg֟k=xq2ru_{omws2TYo1 !_'ovg{ x$o4CŁsE(37f$͆kaVDj"sRrm Aic p1cwTº* ʦ=ߥ~k CHtKdacS:\x؊S&+5j΢(ŀM5 A,ln̽> &"8+Ȯ4\%x$FI((t 括|b OjCѐTMFw&K8-Jahvzäԛl?GHq6F?H-X (J >b"Tu_МYPܿjPNj`ī.xQT-i\tI*p@Wsgۼtj[CwUzz2m!$ϭvHZ;(fm6'yM b^؈Lllg_%Gr1mJ{`R͡!Szu%* Q9+skG Ehr#TG(t#12f&][ ]/ޢv;8nF5 uuكSTFgd6ܤl('f =e{WJ!2b6_``ޒͣ1*eI/G0-cLe vơ*m/G_+mHޯl7ߪo T5r=M,f B0Fj"+>3H:*w{|ʂlOhx$kūY؜t$iR?#'PnۤM1D tq]T& PrhB!o~Da`C}dAĂ5['T#^sL]Z6s>oLlе';N|Yp(.*z+c {J$沝pU})c`S9D۪jWWK.p#!-[rIy " Jc(]"v)684Zd}Ӭ<Hoq2{fZ5(Yh@UrJ@ynosWݧn)t'i{*jnvvsΆ} Xs;W)M?Rla zS6 2>aD8tZLELgya.ƖҬD:FB+$(ҩ";%e;|ܝdzl^N P4QBw++7E\߾X~*YP%9TtgesY_&sL<-\&j9!,Ϫ7ٞt_kF12"8MZ$р}`e~}#|Q9%}Ebv)ț V*'VTh} A49-h pSx5*xh̖'wMW2 nj駎A< qMw )4~ᄘυwj$z}Qܰ"%qfk 2MxJFZo~'7Ƹrh>msClrFVJKAl6 h SbP-/,] ?sOs{]YעSeKd&`?ֳir 6Ɨ ʶpl-ʬ/. QftF4ޢwx_!m8Wk&ay'/ʰLuAfrN^6pREtiI*U UHSE+Ev!_EVWZETM3p3 jpR3吾1Z/I2=rW&!=v=n(„1%LJW~11rH)mУ1fq<#YD>E}U/Ps)#͚DxQJ;ezA;U]'F;snԛ yƫ(| A]j)EU@1`!9Q@3Sღ[ 2".V HE0w#lڝIIq&w QZ S``bgk4tj=эFfac?^3AQ֒) i)sY~4Kh[9Zku%e8霿Z'τVV=EҺ͸-uEvn4dy &Rõ gw/}O3S;Lj>80k.aiqj4hп^!Esݔs SF}Yۗ$gqV+PVMU2x"vROKzSpږ6r6Hhm?f+6p#yGk{ ~k3lOX^%N~GvV8ISx[Y<.OghJ0:|o"Z '@1k[b\k8dJS?@1BPHe|FjVۃ"E#p*#3{S36DrX!Jx"2 M{]istSkCϓtOyrXڿa~ SQ/:B:#fǰ%IU%H~4-y||$\XA·IِS$֊ \).xvT|#]t4$qӷS} NM#J.~{2ժ-17N۰w)t =Jua]!X.D͙eX8AHV&+ S@T MH# H1!,Q[wb-6TT+cdT(kO=$B1Km^<ʭ'h'19j+ήs_⻬!t',`rhAh ӯe`Kp wADSg}=Qc}0LV/L)=cf|.޶d\ 9*d0ŭ.~E/ckl/Nu%$4Ռ&~m5h^WB*Gʽ׎wJbs:ȣufn)!#mltD\I}nT,aq<`1#SHsGbv)&@|8O=o5ee2[CaÌIa5i? ѠIݑ{hX'\3ØDLȎo7 %;}>hql#Pxv)YpiMm{xgU%oiʹZ1YJ*|%H"OldʷQb3OzQc&[i]rlyVg)='i!21 O l@+N#?n3 Zy7w-䴧uQhg \O0nc@#ߎ6ҢNŬV7;1h+h7 {Bi!0bK{L s9}"9^v@זCFS_nyQhj(p] %0+ȥ[n%;MI`jV$A>0-c.so4^~AștG%kn5*U8׵Evr!Bn4[t{M#4<#c})Y6(^2w4;KJ T*Nt@i.oqW]iF]mC68K !6sz# [vA1ɢ*2 :x3ȳ/eJp,$;/Ќxk|2uQBnsjNV-bBΏ f\͔VDD]0}J=DhqӀӂIGiq..)&sm?4wM1 ʇcJKtגҚ-{ǏZhA6EV0) <>λ 5EH#i)to_r-u5` n%8(c_+z~]ک]Cv[Ǽ$dNqI}!%F{F"GxXbn@ԮN;:zGǣC/&[ "5iވ]4jb3g"P2 [F0;5J+FO`%R9w)C@m&5s TȂ܌SY:&ˆv'AQߖ#h /#wMDø눔WJ Tgt7r糲{b$:f!?1! WC Aw )$҈wl3F{mMIliIZU7+3Pt MgzuJ(206У N +9YOBfj\6RcZ♘AFsS7%BR 2A[sQ<=o e[̺;Lj@Xޭ݅wS&xnUɦchlK+qoDn1ҳh_zO4̢VG:{s iKS0:jܱGH7m"p/fљc%!6Ȟn.:GT#f)s]F!] FAp4OK,OSڴIwvc7/-{q&7u^DNbH,6+Q00l65QѪH;u O5bg/;vv?8&Ls)n[C+gw'iM%=]ۊ k[V"8؁ՈhKRǖ؏Q`gtQA35]$14CSǏSQG`L~3a)a ŭ}(첺urκ.9+=n&P %F7Nioe:N:Ɏ=GH#i  7@ ^9jvش:<9n>=b[fyp'q-C5[!w45}7?/yjq"f+IE\t/0|<_" R,,tK4_d5mE/ۿ(XN&zxܲݛEE>r,u_bR:0.EQ3À0Otjȝq!V3+O`e:9IP&F }{d $-OS$(7@+ЯD>#-=p0Kznn~,k,;8vϲPx88Pek`gɯ/r*$('FMi6#mtfN{%:cqs8hjڪ(}s.F>#*ݖ7R­:tZmHW_W{XyO8;ߝ!}i5ͪ1q .DAQJ\?BN7O˅z']^S y5(Sh="XЕ7F4&H'ϓnzG<ק2R۔\;HTd0V/rZQaRx<(/0Ϙέ7kiXnS.d`Z=ncY*3,-R'aቯ0esٖm w2Uߓ<(Y E5SDL^a!P='(ĥAJ1<ƺ:U5ҋ{ݲk˶eSA4pw)H]8Sd/5^s U$xSI-.k| z~3vV܃{NC1F#Px.|Q?ɂWo[Y^B(ur+'=w°[mK+6|sz)P(L#HCp箘QSơAUOdр_ۯlՅܺtHSq¼x/k?6?F<=͑ǎ֑d0^i'6Wn_1PzQl4 ZEf.$ʤDWgv*|f7sx1q{~?xިR _r%>!EnQ:dMbb١vq*?r׵ ưd;^~ W t ԘZ0A pncg}ky")l&"\&YZpƳ\D-: P 1";`/ڶto: 4Yhw;Z!uPc/=ާq;)ب\4Q1p{p[ ksʥ{J:Cސצ/=掽<*kUĨ;S*w`)u̲fόIsMpbނ8L}ղ 34SOp2h2<`QԸO`j3WE*R+m?mpH m49['kRQj u_%H"t7ߤ=g#8ѧ@<~)Y.+Q77ED򅐊=b^;>+YĥN{ʵے~dNo^+Y$Ɔxf4):>j Ǵr8K'p$ !&Ŧ {uGQ³?'H0'gv+0sf^ ^M =K` 7DzE*F.&D˛:<9%822Wf2}~X_*zBUl̬Is7 *V bvwŎ 4講4cfKPv2 }L|d1 /2ab; ,*/sJ/PcPK)iqzJoT%'~ l-J},ϔc]ZM T͂2)Ҡ&ľ! H< ;}"WW@͚j9 l:N}ǔ~1?δEȞ(~G >t"c?> [S$G-0bZJĸqwSa'"E#ȽJ%9(FITho4aCt)DpB1k3c^G¦Z,!8rtk,@!].~gE::(;vK;X?\ &P4:{Y({(q;d/= 8V ͉gy_}}m{ =|--cnlKqk{MVagtInRȏOaspxR`NX)5/0[ctw\Oԍl`m0ɛe?J%cB_0; A/.~OKЕQ^ݤL~AO=5WOnfu=MK({ڌ+Fce^f8#FWVwѓ"1:w'O5JYcǍ/A^e@_|% 5Sv&kIMNJ̆cɑho"Em= ':P %e.2DbYK!a}z S'OTϦsC7m$twܘA0H(ѾNՐO݋d燇nw O%wD%Zܽdu֞ms5X?Lthzc6{*}ߟ ={_~}S:/\.a`]BL^Eul6[Ō9OOyQ7%N6obssB`Gfp + 9M{O?Fk< ਾC魰!0ԂW~D~(B]A\Zl3>ȁp^+\G̷I:)^󌘤1 Vզ|$C;$էt=EQ>!28F*2gR-W ד1ӔUr6zD߫wq1)rI70f% +̧$+t>K2Nߟܴ^/[N(#5'R_diKlHoәpˠ}^$2dhl 525@{.Kl!SO0SV]A`< ը%ΖHLH`319~ &,<'x6,C4koFͱ^ҹ_a/U*|DD (\DK?C5ԟ&kcل7 ~?NrO7Q#֏Ns|mX4 @%liqcƙ36,>Cx/ǖ'u)/~Ei mVBv.sؠ0e?8dc )Z=5rAnoT.9b`F߶9AyyUҁ:iД=8%A:wcXTC"S:85}D w#K5ewC);+04,,, 7H5RnqezYM YPO Hti0Gd"7#Y3PiʥC?sZ6}OC]QhН=B+$1\9K7oM_P|ѫE.:kl3) Y@mHvyH8&+l|'JNZ\ۛ9WJyaRk4Qwu?3L0^RFXcEYy'tj h2N֝G&O94Ŵ d7jy{g[:Vm@NS @$Ħ [C0=T*Q:Ri (`1v{a2P3+ZMôN?d<* mn˙N_N+.5#F9Q|&^cx]vM@(-K9VX_`76(l91ç7~_fwCsٙy?'6X_ͽ44v^W<4(BEY;䤏$8vr+|0 Fgr#KC#8Q cLD)g͉o*ApU%"e\?TE# uܐB+{DUBMwrpbۨ{oS1 PWe'hg(+2{s*c̿`GY_Yosjব7Ks:=y%^z(Yؓ6Uş/4Q38?huʐ{}4w<0%Swz -c 59]B `]*>KCž׷^la]\gnoXYGOK9X<&u%a5g^Eϑac*Uo>+oE8y r3?VU"|P% C<) ɲ N&}c]f0P2l)ϊ$%Jo-h"'bFh0O T + ̾S*dItL"hӰxNTݲ7UL@QqФ$~ ~HK֥~碆a6SF⍟7 3+"cQB;5t.SljIRly1B"Hhh._L6M?mѐLIkkܔw$Ygbd|\"bq :p 2 Ps2vƗ Jx %j@G>3: ?Ab4`{):;j?"啄K,f AxH+Jk49Bf,N F繟z=Rm<}䈾WFsA]F\a{)hF?VG]sot 4?>QDa=z)dS#4أ8F_[4vL,FJOM1UZhę\ke'xח]{񏺫M#߱1qmvy=Iw\} /=(S$L3=g!_Yh%"e2>E-oϥqetU?Ӗ{Bzm5V::orp4{8أ VOݝ; ȳ #]e`% h1x- F: x<M0~>R ȸK{oXd Qj΋eoq ;w};or#vq$_gk:  t3TtM6ZeoVi,GMH"dxq Orw#A_k GPݽc],A/!d#[!74?B-rjWM`bfq08A!x)Een':au^@$N7SoXYW{bQ]+dYT6c:15M%fV@fҬ?W'%hD6|)xJY]h[4Agِ.|CG?3"ιr"":\`;cS;w4o`T1(ޭ‹o3Š\8]Z 8[*%q{`2b㺃RYEʨ& ?}78lyw ݶ(?a6#XT'QFn}aCvG!>l7C4,ijFPAAKb smPsWWca4yT-aQz- ْ%QQWGڱۦ>i+>8GVphIwp|NHyTndނd1LXEd22j{iȟR=5fijL61yu_pyz?A2l9C`/͊{2 K(W4e4PEw$6Xw:qjo@1 ܂wsU}XOZ?ʫ;^]2&h&N#wGk_/*5ۣp |E2nV]ý `o8-! 4=E `{<#a:E?Nd B1n'wrz5HvUq21+G3b&w¸#UGu϶Y+ҥHA;`Y_hjw$3%Jx^Շ@6He Ԟ3)V9 @@U3 ?,5RdFSԅ ՟}u."9ڹ&[,?kf h'l(R)`ڽ uPTӟeY(s(νo)⹒ڤNPqgv/36f];7@ ٘fo.ljzD RjRKL$OSna@-\YoFVk<=,Vqig3z zQ9R@kO)g"Q2mH*͓l6/ H|Z~J-nZn}=|[(Hy\ߎ)S%r5``|A@juKs /=ܵ ,S11I֕g.hsδ5̀f 8PU%Nq ӷo5idKtЗ/.l7HtX!s巿Gr3 zk\V0~KGT7gyOye9'd31vf q( b~r{Qk9eb(9`*IUQ;"!G AXA߸ 0̱I>` o<-Cuf̚3Sfݣ`ۮ5 uL ě+hPf_IޛlB$ uA֌};Te X aK3! hA>51ߏ׆w6|fFVpr.8'Fosj9e!@x.'յ)}Y5M-r p=\,܌;s3%Qa*y#2&t,Dx?Y~sPq*W v(yl2 f5mCr͇2)rh5ɸ╥C˃MhFYzs;Ì&QSr?_?3mi AxDN})ǺO ,$Qu2DݷF+?%WPscBOg haV0–d4sj"S;;NVݶ82("u*%AŲhS-vRz?QgbM}kys|EiNNX7Rx!ByށaR9pO{ui*]lN12"V< 5AdoY`x[߻Albg*+^8A.I)u/0gf~G{D =f/ ;1Lp%M TETPBz`SA76UD(a4~vW/•E nW LY]'kP,c{YT. *{[NdQ(SъlҍRR2Ѵ"9y嶳M3ߐ->)&MCC"29emZLkfeZ vjjh{cbG -eLa(e J-,vho6JnQS\`S&(?Rk WWxEQ뿷`sitWbO]/̦ ]+Vt#NXF`[gOEFz ^(y b~,eP4rJ8 YjP dϚ̒<]4?: :W+?Vͬxu>{/Ӌێ]MZ ffuw^Z**dNT4Cja{0 )_/ lX3--w**{9v=&&>4ᜄ;Er ݾ=7r{%#99rցo7OTҰo*cH˷^@yo@9H}fJ˥Z<4 JE 4*dy7&VD[rZZ37Fς<"4I$.r3]I1UZ{8\38\w=6(hgWl  aWb'&ˏ65: 25qvr3H%gɌqįpnj wDZ궒Yx9,4 xd4(ab6QhOsINU2ܨI㷙Sk<7 %{N.l8hWί`N:]Q l1S? sD7 `^pmـ"'),B%7<jȑ\’50,/"A:Cm66Φ*BE(࢚]Q^jGCX{tI_kSdQ>YdJb!kwzZ`3tPd3#!2)l^==W0߿'Gz w#'H/߭"9 3 Ɗ'Nu8JrȭtI/qU ѓpi $w =-ŵGЙ;vRqFԖk+j4R\uyGY9jmb6XǗ6#G1U ~V`c>39Z=:u9i|L'zRq<]*DG X&v=Ճd:J &YŔ{Qb6V2# ` ǚդqDkn%ndvun/ )JE $f4g155|Q$J=?gkr|dƞIL] UPN.0+-qd~ۣhv[MӱlsZ]?˒R~Х?N{_; #yaleP!X $Vmp'6<ۂfV@Do|h7X6˯ A]`㕸{ӓ`}E{LǠ]# BBXhTxနK(BH=j톇FYrW_`xӉWlNTv*jf@T%!}|s]7~$ ^57h<ˮ{*ag[C7i]JeEXlQUGIb8}c;nV掾FbYpVʟ+w0+JO֏8ϖ$OFReO( ,ojpЕ> ZbD Ë0ןN i,=*:y3~&>rRa@+ݎh2%;fkݛaEǪް93xbsJ-DJǷ9WMY)#c2Z)Q}<#4ḷ.ߪqE( ;w̗OF45xBWbFLoM:n|Gqv/FSEx\9I B,`:;vC#ƇOi$TB7lvQC|{n?U!tT  8e$1`k'8hSX$W~c5˅Ah%ؽ9i6Su q1qX/>W3 H=#r^dHGͼF&ʰA|!%hH'6X6;?#BcYFX~7pgDLz<:%?(d6*)5 ѐXpu {#\?]@Q): zbQs یݓ+*<בs΁8Zq$+ߺ|!hGrmv>`L+È2aw]"ZNWY;8t!f?| Ηiά0^ϑ#eˑ| ML3C݃S/-z<~"/F 2>ŵm(R{+?I-M1лɶ{~8^]1CM/L>lU`U~3ax8"><ތn{ ,V2+C-дZe%v9a HY[p;FoɅƣRJeͅgP[1a 9~`-D9f @OG澢JQ*F zpب A6tB{}ͷg֕t F&amgF? 4ӧL<*BlC +Ml89mPz5s ["W!ǗNQܟBf?l^Z8EZ B J47]Ղ艥lxg>B ,nsGN$y(xΐ)Q1m:Lm?!tʫXny9q?ϏeQ0pQuG='=:,\gn`;-ړ:/hj ]Գn=l>fZdsS5 Lb+SGJ [b#׷(⹊B(YC<`vvLl1?\HڝԻpcb֥O gS D$໳HhgPʗ`Q kTT@E7I5 Cg?ˌOz?8>Q36.+kgcU/5jӂ8a)Env;_2ZNw3}/% ~skCGcBv0ϸrVg =af :_;qP]-unIW~-Z3)"ԬVP~5Kϕ@!8D./cC"D. i>zUT,t+&n$e@|:4r\NO1A@<z+"c zrdLSv.3J]KR)+*g1b1J:pS/wvŐnȝòBXn+?(@Cez(;+5(3IKh>"?@0d)X. j~}ؔ֡C!]x >@vO"[8\Q|jRd?#W>0KPx 8Mš2aIzOlbzZ@pm"b 1i/:vG% bEr $N1 DteI7}!$Z y wv쑅go -}^-g.Z[h+ wE~p٨UyrT(h R9"8(de)ӭ B$IW)GO+1 d;ш6 1pxP`/ԠXEbF}x0s~~"6T@"Zqd+ʻm4T^gQwD 7z~Q"VH2޴ScC`&,-o!z[T czǁα֌dw Zgk©vUw&cG9e.M5`G0/*߈(`b<)Cjfp\(ԳLTzJb4xøOyY %CIQZ'iᐨ3 MbB6odp'3j꒑tCSF$.gSLH߶;2)zzi|?AWC/[C K~`M{ Mp.J<MC܌P09ސ-tRyyXzb@5}^BlpK<*u-_vսYx7"\Ykj\>W] @AϸVGmLT9 U'0'm;^foKG7hi}@)Ŀ7&?ΜT7f!jR?d[!m#Jx֮c'rO^yS}i:Liu911bRU@ɶ?U9"aʚ6}+#FeDg)!ax(vke82O* (E[J.oC%PX){Д(*zdc88Wk.J4n8Őn9$c(oUn%~9jeZ: N"Cha^2 #+ƈhIx:F>(cVcA?"vD.$\bM9y lQfj'`3Ž}lgis6NӶ{91Yd;n}3̡IOtvzEz4]y]7/P=k黌aVϒ-5`+WC ? )#E :oߗv,P7y_J}~*Z8`MI(,OXpLBMHnd}UwHFtEbaZˀbaǯĺl@o+WLo2DZs/xu1_qSr 'SķbG:D@yo>A>p #An0>(P鴴S]F+\i [a&r⛁, endstream endobj 90 0 obj << /Length1 721 /Length2 13453 /Length3 0 /Length 14039 /Filter /FlateDecode >> stream xmsp-ۜm۶mmkbLlsbĶL9sV}UOm]GCN,`hLPPgfab01‘:Ō]yfUsG3 39@hi 2wakl:4l܁V>www!w7g7TV 9@TQI[ZA@%47w6(Mr@Ss{sj3? /N. &`n1 g;@\QM`loՅݿϲ5e?YgX p3+h/ݤ- 97!ѐ`fnV@%`j w03w8el?:[B@ -mqM?ω9z-i2JK(Ho7u0[T]4/o 21k%Z_}9k׽5]rCŠ v6v[{w@2?QdB,o5=2VEgQ{k;uTt$3M{"Bp"l:0kk%pxTw"Ǵwg Sӭa&9_%kh{TxQL#SXOeu!!3 eҞ#=/֟y-HZ_*2vI lt'`J:n$a/ $bF LS pMshn+j=/XQK W@iuY1 BwnOxdZ"(Ix_6vn{}n0&G֛e_"X7 9iY9]L|)p1DɾpU} C .-Sv|jl,CMK&0$Ŏ'*]P"B^XpUqlAB&n%g>ԶsJFXr8xٛlTPct, _ ޳:',d<ϫ( ,teFG/Cdf~] ][șڿ1-@{ҀjJ{$ZX%5P&( fqyj'M*j!z>o(LHtx$FR74z<k?C& NxfRµAOp}.|-fsV!/Jr2 GSv.W%_?FW+v?ԉ?Jv&/ }nZ.c XKQtqɎ2P\K` Z=m)L::#j%穃a8אv_)8>= BVy֘=嵣ޘyeȹʼlTK:sEB a"` mx9MX BūJ"b\y)ˀCce?{TcD{:W>r"c}CN{C|r!N~A D= JQvT}:OGڠ1!d4̞sG pLq\W,#&XAZq^#|H H7nywy%TAcKWHdLr4 Wbi!A(Ub"'IJ?r{n3"K!Ywo|`WZ ooVO $npٝB\^} , R0KXR}xMR@.~/tʬOkI99NfeJ73&TJb' SDoB{?&mt݀ܜyDqXJ/wС5|C վ]x\d*,vlLKUrL&>P~Slm@: ^ϴ:a˓ɽwY p'LDfMϧ<sBٌEʴU<}J!X.W/?*'v T?X=5CXc! +X֕H8ґ%1; VlST-*|P BiZD߱Q $bLL"_WәY/⇌/OUcV;G&pZBn˯1ϏKvh9TC5#@,.:K"2/Q.NB#J \s4U?g,{q I>kDg Eބ4 d}@{{;_L_Gm$ ;FVưEdBX a3Dӟyݝyq:-ke \3J[[e`k^Y< NU溧po eӧA *K*Ϊ|#jT=m╟.R(57*u܊yg٨FmfuKRd%*y']#WjXaz|@Ϝh#7VoQڄv{t;4F0t@ܶs|9;܎1gڵe]L n|]JX#ͷTBVYqٓ ndæaXIMwbYL ~TQ]cҺ-FJ@R+rƛ G&>tXc"Di*&uQaeda FOƻAPp%Ew &Cnղ5#'uEjq(˂QnƔvA{.7#d8L`4OAU;k(XźnP Hgy7?`gnbLRdzzbXeBinhwېi"ٯ!Y;OME* lQTn\r=NZ&ų΃~ˀE!_gY6̲۠-ӿZ[qPF)P@&!CzJqhJi͔}E/7ۍ# ߨC#oXAx \L牍vQB$yۯaiH#[Ti*TQBr |Jҋb뗜dI͹2nlcq ,ZO𫅊u#Зj\$~~HQr>~OkKqz#[DĽT>]6<^cg0'Nn|F)fo v7E{"aKO5i? B/pe&'ͷIǿ1]%w˰~L-x/QHOOce@~#l'^6*>9\HL7m{5`iNBo,#a?.TD5Xi%lmfXh&ĕ|gq07V1ojPȭۃ:9d_)Nˬvm{zx<ܽe&!rVf h5R:nZfKE3-f 6e3$$i_V@O],BB'd/j acP SI\}?x+&_<|Hx=5\@g-x+6r?x !-'-{-n#TsGuμ*v\b7f[i牰[~e#L@K}f^]H^:>lЏ}6‡ڵQ$WCgSyaY_<3Ί,e+e*VPB\5BvExȂ1x,Ji泧t𗍅@p-2OU-gQd%npsaƤ[[Sz~iB-`M`bg9BP1dQ,SXUپ4Jm1#ҩ1[l\] Žh5I^c›jcBC)vL٦17gե(GYr{ G4HĜDM;r5i]\f.-|E'y<*5Lגp`Wyk}S[(q-o:/ǃK+~juGbH{2^rE-dnJ:j[0y: `F?x_rgaf2?kLb\!3pths58~\ Dr;uOﵶikV92tFאVvRB@a4\ov@'!|xU ?0Ҋ6g W*Jċs|Һ^\v\dAvBwsӄ rT?ԧV<-J#V=;!(wedT!{ջ'(v`|[ Q9d3 97kJ<43 s^Hό/]$ ?r3 @+v'qK=~Z@_˂I=C-y1$!*OvsOw ma%򿍧,{lQG 7FbT6;ɧ Nt%'?Zm<]cOVWxJ =`q!k y0tE.j=MqL# N]gݝ*f@+͑Şw?: yZ3(Yp/IhFswc pTd ^hD# X+̴rTDiVݰ4Nqj>{)(F88yx 2yR\Z0DW.H.Y`WnW-oF"nd~ tlMlNQBNKÑ 0*6HⳠf۝8QuՆ[GiUv$eR&琰1$[|Sr u:~&mYfմwLGJ,%<" \pz[9OĮLRz/N$ݞ 3RFsM52DQz rjD)~w%R)ݖ O߸Ct|VgHfS<nV#ޏ׬ufꔚC&]V4gVOHǍK#>f #=m*^@SYtͻ*ݠ=j! ._NTwH:Jm@gK*\\t2pOjĦFC夳SwHq[yewK^un<YMow'Vm֩AWQ ¬A[&H/*Z@#MA{"9"BW>ͱ:{Yn0fGZ@7?f OQmn-Yk_=FeUʏmI"ς54QaW@4*R4oD~:Bi&/7IWGMY.dB YDZN} rtiiTeEMg¶ԏ&#*BzׄYBxb VZu &Sep+:MiJa/xaɐB)p[O])CuOKh Vr% =00ʹabީJu~nN(AI/D1-? bդ'Yz3uDnI:V`篟Y EF>^UXA友lP9R9C_KMS bx:$hr+<Ę/b1Ư"uak>,;fwfy F/7`?/kꢆhGƵ!$S0 2}.gďVn2܀םSOT5`f" LJ#_S~\2ȓ_pϵ/+mWѧ kNrl[<c402 yLT=tS_ys4.l_Ug'`oiٿ0 茰Wr.sCG2:$>'% )E9lXBݔIA. Bq/ Tſ 8|LczY]-{͹feXIXA;0X2༅1gty%G4/A(,,irl*- ]<Ug zKj^{]Ιq`][) E+^V5!*'~p$"asD#ۼsƴ^U rWԙݡ#ܼ"B{vD96)O~t*񟾊|J^ /J(E20R~)S ͿrTGI]3( ed%HK,T g ɷɜqW!,D!L`%!vw]\tVQ≫AB3G&%vp\aJLm[hw==!+Lf 6*󃤛ᴤ5|nC5 R2 <Juoטu><~fߥq25Ki%z`4 $\iPNVB;vrv]FDs@{G %F,զR돭 q!^{-~ӭC_EY24@`ROB0؀)fZbG?[%!B)5i6($18gcR{+AIȣl5iz^o5_ LҶ~(~k'oa!W(Qu!_!c=NILeZy'a5"G@:gFq>'6V=' /Ǟ3e}qoVMЦ]PJ4cɨ+Zp5$He-햿zM̮?wjboQz܍'v~揥9[s10cɌߓRF94-ؑ L>iQ'++o2T3iMFtJ1 '$Iz6 ;3شO9kDHrw%NꗃTLb"GǺ*k`q;Vv)KAfsU5}6em] jV2U\hb"/F[9,RW 6&#l' u38%ihB/UC@H)$ )YB,R'PŠk atactYť7g+I18EMVFO7ąǤ.=TcaBm@ZS HVp*XI[tt| UBXO%)wM-)/ڴM͘#c/z(4\$??G=.2 ymʁ-`K"iYi$բGѧk/1SW~˶~CMQܧ[OޮaB=Ii(_mflG%qTҖ+e_S;:P΄>ɦ1F"ƿ6x{vAOI1b>{O1P,:j A;Jo62s |%MMVv{^x^iLuς&DXSed8yBvsM&TuV$?q?uh4Y+3lA)ӟ 1}6P6_OHZ"~)l?&P'w%?Z41v*oCuw ĤM>A:x#N:dtt INP[q(@2B8tP ,W$MX?# #]g,_S^L=8ln˄U8fǨmT6j;l &B1&:nҵws=v·x 5XV8 'p5T觪JjeGW1(,ԉ-w㯓R *@\V3 AS0u}oߚy5i$C`>TC0IZ.q3h"|jj*c_*$7ִ TEK-l2{ԖAΓ|Ԅ7&4ʶBAÜQJ%afZ ^]e0m+xF5JJ*ݎ6vڠ`[K궜/thvA4pm8(_d æ7N|6,ugj83|( 6餣b4;":NəeH*O![H#W ԣyJQ3MĈe v]\"s(:8ڛ֒/Q<'ƳYfE5b4V9 kWvݭ(~"% :IbPPFa$r_l  A+l-$CѢ7Z{\ɴ<[Y'n>C"e{~ó!VU`l.e?[//yqɛuWY/Qg3k~50HlhX9x'v^ߕ:B-oе+!{Sc*|<M* ˷>́\I^si]Cr:dƮ=0{햼-h"Msa<B:@ACQTŧV3}Ta= >\mq9mf͇Y1gp{1}l'x5rŏ rvHƸ~? p BYFu@OTs,IZ+Hk߹ EhpJ$-q {w]f@*Au ؈µ?WA>!#- E(lGZ0/gOA'&x4<ޖXAG Llc2C+MZIcuE^JĸFq,#4h鱧kbh9f/S$e0Oj:>tTbHHKqb H=861u|UP h$4sP/6iEFKɓVߧ7F}eL50'hps$6T &/6eA9 xvV'i+KLC7sofzzV,;;salAL ͕+"hAE/LfERQFZ7/5h(^mھ:cj;t).'dx @^C*9vѷ6f \Y0# ){ǜ#lJjE.&^)Bd.iXee!Ocv5DaIdl'p{{l]0ldWq+6S#=]cg$8oQ /p=3E+\はϴk|5.ݱP)XS/,/ Fǖa%$'8%t (Z (/T*|NC"F:õH*؟Ɉjue;B*w>pէc(YJ8_Ήҡ,/G_GvAi`W;x(%$v;BlZ8Nc>a5BKeiܔQ>*\m;4q= [vt> 9/&q*Mѥ=q ȏō?NmecU|=k F׼ښT\TsaR'!FS`rGYgr-,P{?rw`-:+J5SRv`!ek9j8Fl '(0Θsh> stream xmwctmlm۶X;Ύضmh4mlyw7w?3|%UPRSdf0#PR;M\@&@>6tXXX(֖V3-;sk{kg@]ōM:p,qeJi%M4t6Ỳ  -``2'܁ήY8;%5D49@A8Յ/hlL7o++` !0K7Yes7r@WCZ9/Nwwts:́ ?({k;/&uYU%k)k_-LJO]wQ[{W/j+υrJ_ukڒ 3sk%@&-V1{C?nohlca=Xu/JLÛ`er_tܜ zVCl*$gg5YW/Э̍o4 ! nm޴&&cH# Jɫ,~>7F^@iٛ)A]F^fMrd9 KWtAIp5@עZ] ?mBo!]RYU:lXpj$1i #*w>Lvwj閽pz(rW 7}tMd,1dNfBc=글jO ,ki/~J(Al2aS͊u:&F2ZQ=]O)9K(*07>(^/a3+ NH7rM4b+H&/ uSz29<|bI$ M1K04+Eѡ"Z̰,VD* T:efUH 9rh}8zRrt#-MbOiɼvH,!I^SZ]lG9h1(c u:!5PuuC8?x& 2vF^Z:r92X ^A3kggo'S0k0"^LG8>-,$ ְXԷ+$% .ք.QP]lD/3h‡1ʍUUĕn[Lfr02`M%9i4}L<}Z06*,T`xܞRD"_6c/)Ilj{bDbpyqwguh ,^(?-:Nyv N@ARY߱Sr_mcsc:N{0!˭lAE xɆjRpǒ"V”&]NdDι0;IbƧ9OvzTp~D}h*}Xv}qf˞Bz93XuMtQӊɻɓlRt5;S[@'m}-dZhݐH E8Y1(F[OZōO7ү+hTѯZf5Uh1m/TmȋQ@\i1q\g7't[Y0F`ǘBSN|1J8޼&;@D93hŊE05Ur]5 ~3G:vUt#YOL,u⤱oم P.~Tm_VZ+83t `-֎5]3XL9{zh$*! UVYe 2-1|PʓJm ҁ{.pxɱ%n4Nts( _ +ɡ^ؒ(9SU=U3pS#2")c[~u#7rkӕ -A?jVfנ!AG%>]0#W-'΂W%]7^Bg2J]O0q&Mo{W>Ħ͔o!;.=XU YaP cP9VL"dU}27+0(u Ya+BnEN| V1l⃙]bcshK%g(#h*9=1P(CP?>ȑlIX2L9 4MVwbٮccV,%nfSV!^ur}* 1D1^K/<(]A UW+#4Mh?B_3yo2Es3JBdXjU5]$dP,(VȰ!+YX~ @T!v3奇!}OW Զvn9G ?_w]MUډ^-m7\?Raafa*h%yw*(\咱`> ׆]GV2>AJfJ7cQW=Bn'%ֵzz\le5K(7.*,OcU l֔J ?eύ?g{cUte0-0i ?@z{\ Xr~"L~{Yk_lq#be_xaw?{h򺌇ߍzdRCswO*ih/5kzu*(7ٓ)n3˷v;B`R@,3L}G'ZetqI_;WΙiӯU{=r`U/߄hOq5i YtUb[ܘP rS-Ay6Ě[csO$1wE Oy)En)KΔx*9 iK$ՠ/1[ 3P"ԍ;-7\;IU;@57XHAnr|D<1 5xBMjlp4!hy6!q.а;X5wS-['/tݾ͉P+}le &MUc)h[yEu0~*E3+Yp.1)/jL=WWU O0lcpL,>Ǥ֣C#7"fg5 @?zSmD9;W^OU{o^Ǣ{YF*YZah7D(^H"Sh^O~5X&jMϺN\9öA~$3Λe^;;P:ew s s mt0|[ެ`3CTv-<41W؁:wAzW?60CעA53]`Uw|oamdب!d9ă:YyQL= :_cۮ|sO̔Tlp Jw[*FO73*\H+:)2[#f(bSxIvF^C}C<K%=b V],iQ󵋚XZ8 O/_6JgU4eQw\B&^Saz 8}駁r'qZȬДJX ^ARC49D _;DTڸOO<dh~ozǶ"V]80Ͽ~8gA4˚)|)[14j&3YW7՞EVaInܛzOM=(Pl Xm 8?lE|M{ F3u'22YIO jNf㳝9_F :yR$DgCĥnaE4dꚒ~gZ齷Tt먐 P) 3M;%p? /!*4Zl bZrbfe5y,AK) %3_Un YUCdžu֚n)bxb!JlyHSLXw먗*f1UuZ}aYn~nbu[Ǡ愮%*XcL2o5Qnr ?wl@cUF fʥzj` f3a/bPX!h<69Ί'}lX4~zh`5*m^Pk蘳]啼 6Ie+Ǵg}F[M b=1;×Se=ߌYLQ͟"F7F`<᧪Vϡ#B I,rDM٬…+~%d)ѩq͎Nȩ6M95ءޟY&5;O/K2a窎F?=2s"/IBITTҢh_ WFx'uhIVLKs[ X1`bдp{1R & 9c8\ij|K|bݎ\7yUmJ;'PQ {u?,(g8Т E2,Vsuc857>f,nȞƖq@V܍4᝸EFXY-={i'f!(ćYA̓;7SA]Tެ+!esޑ<8> jioGj(oq>$ +}KGW{q$ {!%}MH󐡵d.Śdl(xX9I4mڋjʽ0[S4+X܆)\sj JSFf)h3JշN8.z{yP`VVTDВe;pZJYFڭN!h|kTݽl1- I%~'FmE$\ c@(n 'b7j^> Op.{syk3QM.-%^)qf-ti\.i4w!qUɸ?M4p# <s0nX˭6 [!DEYck{>>9 @Q9 j&HŁC_nOU䢅 -#J'. ~7TfE$>xC<<6ߩ#zV 4CL4z Ql!۟C+\5 v Y;Z(Eε ڧFSCG~~ ^:d.#(f˗ $zIWY؂]O\ yO㮩YrDWi(]|}Q8%.esBo׷| kr./fԅ| e[r>:LSl-W!HV>J>@6#TЭK諃u\؋[v0vF\ phx/SlwˤD|* >5'.&ޯ2؟)C:`l5E*n|l9~V:?;msBpvgOpo*znueAgJc6~桨VWS#7V.,_a!d!- vs'tpl k$ Ap6aZ,EY[c$elʥI46vyD߯z3)%)Ld]áNCWjZ= KyQ|T:yuԕq`0B֛ Bx/B/bm^诶 ux` UF'7/z};b@= .H++{%&$4i, ˗\ۨ~)ҹsfNvR2))'oEo1&b`f&g"ŪZ[eP{FJ307,HUb B0Αy~ै7+X}kQ!IBӪPZ=A+cz bFw|ͪp>O=lWjo:hXe4f=ˍQ"9E5;]8jȬGITciSKa4zJS[ Q,%O!~M.W!-Zm O=_8>;1'5kBh(Ȑ_= ɹH{4yoDIpY QQSZ[#y=S>p{BwtMN*$(>f1ҸR?VFѲV[%93C6 v `a̷B%It8ƣ%_v$uGIb\0_N e5xWK ~>ߓ_RḢԆ{Oxz`5P*oՙ~^(p*Y|6GϺJ8*$& A?&,6ydkMM֜RWv O}od,G]|AZEM>qv-]<àa] ~i߻0(vҥ ꐨ/| N͈y¥Z @ЈjUe۸lr[?+ofUzw6M/>%  &x4ss\okpvX҄ FM/#O:YG{OpQi8S65>#Ɠh%>2|mz:u@ۻz ڗXN%aN1dŊ+*h]`c'KR$\*`> stream xlpf߲>vضmkb;N&&mkb{bsνֿ]Z{WMA"da`adI033((Ĝ&֎&@^tXY(bN^֖Vj3M;sk{kg]ōM 5 jXXbJ:2Rj)E lbPv36[\4 Ggrraw@gpv(HH*)$Ę&y\]x:z%;Jku06s-ś#?IpH0ZfghbP9; @gpfgO%bbom?2&"` <]$=֮pOnY?tvɤ*.)G߁Y&mV64o,+:[{5.W2?/QQGONf?76nN73 =X@' n}ь/&gD\%$܌ tύ_u Sͤ&@ɩJK7׆kM\{3E;̍`e)ZeR,1(h вtt5(sVaM^ Bvn(p~U96\و(ϳtIco^7,m*cCdPid* ֟@!B[^蜥*~GNYg--}Q3Td$H9}Fx6]l LliVX%maVEE%/\;zsۡÙr4Wip /vv촭M6 䁘ip2ؐ!J(i8C±J%5&f͖;nGCH$ys\ݢa UB "-p!@螩YKY_P9'N|ߴϯU\ Г2=yx,bhq|<%+ѷ2wbnl:rgzZZY;uf|aSj]ɗZ*Y-_ uOa_(iXI e7;LJ(Ib6SЫWwo07!=̷ }&V5ʼnJf ًAIϲ*sGj74O̬.rz3Vvs=ucXE3e[dyϐmh> N@(P]_) ;Dy Єt(haM f[ 66|6^tZ:O =u/)̪+0̄'wnpi_7v~ ^rw C`3׌ݗYH8Z@AxW.0\MS6JGq~ac6 '(s S>]>x'Đ </{&l19qDcAh@Ch~B`fZ͘d+x9n9\;>V)cߓt-6yFZjh3GoR-)2XiH? 8t ^2ωZޗ 1n8(#Fi/ţQbn6\ Lv!q8io愢|sHuf @`1Y E+Q^_"Cϖ[EKcL|O$qr)cvݝ}@k 0{d7B<`(*[\g5LaOf0dGae.eihK};|=軙(NlxsK|- AWXT1IXOY%X^!y2JUd 瓁:7_)21VZ['|:Se"9Z4W4ccVhIB+A(f}l_Ϭ=. FQ5&!2ۓME(8I1Pu*wUV%F5Uq(ʙ+ Z{J|:>:ՙR-wFX6k 0]3k*iu}eNjUȖUy{%9T=Yc(yq**T݈[^ڱ|(MI6W{"<"ݬ3e]f}Y{qSϚ@i^>MRns[W0s0|UV 9T@ /^uk>7H <Ďnh /s4rp{ŽlG a)@BNOiXU;^nN◍KayCTI*||Ͽ*tg 6kJ0O1%ꇛ}AWNL3HS4ŵ(lLݯKn&\;!V)*v\nf&G"IƢ-Tŗ* Ps=g5;?qۿӸ<pb6eu ` $|Z09<@X&sop^ ۳Sj/OGWzcdFFYCNNIsڻN+Pʐuq(W)L>O+xYUo #rGv1 6yD cLqiw>aFcq#KySEf]ɵ$bYw^q.Y}F[ejl\Yf$Y9-os"zEoTCX7Diwrc+¢e9u 4d#%s9 pDWF?6w H}B-Z!2M@DZJ!8m5C27OOd40fvH1_%%8|TjAhyۚW/nj?|bb,vNE[C&WȥiI "CK+ڵ1o!Ȉj{l[<(Pq:~ O%cj!<Ɋ"~IGz)v>9frbv=):s؛E_xRp&0DbW+5ln$#toˠk P"ǽ2C='".f[GX1L۳iv2~f+- {6DWޤ .ZRRF)J-J^ h>M܆[[[i~~/:J ѴAGPMU oIeΞohג { ?;瑹[Ֆ͞r9Y9ǺN*5e,QY[iD62mgZpytP1rLtcp gBҔݘ*mC`fMz̯eʹt=9(`fYj@Hf'hmȩ<#+ץ d׵Kҙ>z*pwÈ\ ,}4X";ZmF Z%mGֱ[G(1j gk(܂bnRސ: D=#muRL 0`3HTdaSIF 5~Gjk]U\@ g"(h7u*  =iǨLT{  x[Ihȸ+Ա `.j:׺(X*OKZ hVä@dOnRt'mIJ뱸<Ï8C1xh7$ƦRG@Bm>EGCd] LMƌA'PG`yޅWbY@1:o+4ըX^~B1:3@6bd4~KوPPŀ12EpB&}thӶ"?Q&Q&t{ELL9U둃r%Ĵ2 (NaM3 BmKHniGyEf#A4 C Skf(z+ya`KMw:b_UwoGS=I_hw==!/S9}Q;6%wٷbIZd-[s:0g<"Ga'q\${B40+|{JCP +Y&Qˇ:ۇtQO rz2. CMG;P&hU4r6 UyxcıAF0H\\I *)؇7?Euca•$D|"#ThT-*7YLް 7(:xCd5Tȓk瀩ۙ50~zvbx[ư:w$(: z}HN@U`ϯ9l8}ח/<`0ѐȚuG)Ԑ%C$!Y cH~PJ*572ׁ*K;*ݻ<ۖbf"BdH jh pElUt|iD&ٙ(o09Lt;jns-TU m-D9U S o5bU_6ک1<e[:27|`ZhԌ=y/LgDYOS*rx9kTp-$5!T|sB 34c8z8I q}Qn۳ /^+Y7ħ( Ɂ9fJ`~ -/ -5|AZa ) C4W:M.# k JuT+DaH.D"(:t>{1Uwi~^}FEd]U92 q i_plQ? Qmrc,[}D}6FB¸ͨP"\K[9vm>~ȩ4xgo$ۍ17E'OTH*$bn%W+HF1d&-M^G0'_qk9u?Pxp21>0oJ$mm>B?n |:[ek/ >`OPyELVJ><5}>@;pfUYH4N%1Sne/HiPD=ܫL^ҙDw@et8:/yc48Z,\&up9+6=*r!#2՗!EЏis:R11 R:1Nu#0`d͘q~FV$l#V\-?Żn(Ws k+"F(~m/k[fPKIFz TV"YL߀Ӻ:WIfv睘*wzπ җKKәKpɾd,,iϖfDs +¹N3 . _gu`P3NƬ;oݡnQT,b+ vv[dW)Ћ$ ՛]mGD\H@M#¼g&pT7Cu^8i0~l[ ug^"6d7!cCN{o(ͩhR7RN>uBg=+shGv[Xe9eCR:ۼ1d =|~HlHae- VHE2߃J{ZtSk)cnr=P# nSF RfAuJY FfabIR5Dn$)PN#ܜx%lA0vїQ P(?L7d6mh.P'qEW4"Kq!oHQ=Fv83WI}y{Xsֶ+CR ȭܬi;ME_B♚=AT<}JۯYtƿ?hؼw(qUd^i1ALVX>H]V \ktvM)DHZ I-X<0bW;MLQϒTc{kS.֗1$ HqyDm=4a[]_df̘J՚p#mx"8KulLM q;nz]?9&_UrPo}@<+ʤNf!JG=^( 2i }cի{Ift2|; ':X&ep]UU[/Ėb-[_ܮp 1dQ7|g=KDJYw'X0 `h! I̩˛>U-8CmѰ ڽPC0{܆nyjmICwǝ(g1*?a;S8L &[?vƩ0:r*q.X9}!'ժWm5{k V-\]T)ZLY9l;g&)}&ɞ:OyW4g抗K3Y$xxx&j^:Z߱4Ͻ 6^4~p*oYp;utBhh*%6)^Şp1 #36 wwR;`7/t3妢rHɗeI ϱ~2<(Dq.}T13eVq4ƙ,JC̶dFWQJR7c9sM,%Z$iDƕOGqћ\܂Sg7&"i$VЄ"d:6yDL/B ɵhJ}o#~@C!{CrrmjZL]׿)Ey=L!1BHEKh'unIR|0qI6gtPmJCQɓkIjZfhpQcӇ|5FeDh?~\nS|ɤ5_bEڢ:cc!͝L[;doM(& O|MA8 6ؾ{w5bi4cݿ,0y.ҩvwp3@*i5wHV`_% )g%'FwAK2OJ?{ԝ4C-6}uCnƢmj،>C\j3h%W!Yf$Q'T©#J騊P9g1@XXz#kwLtk݁5C˒ 5=UIzw)+17#NMl+0OGM1Sg/IϤ*kK8HI|]QGUQ%Ii<(Qaܸ$;\KS?clk ?bƿXIC^ / VG-oeT*x!Uk&ե;7F)Y#91c!2G ZAH#x.ağxS]>*ED&?j7zF,(Ad"mmcgZk*Q3W\ zïV {㪯ZiM TY_"HuN5b;\N W/cAJxWH&#iݔJr^55`NBMtT\v4Midߢa>ϲf{kz %ݳsb̌u&blCfwݫCGFtɰE @56pH!2"^ܵ|M?y` ?骢6_<S:"H˥_Tqm Oۡ8 Co?zX[Tn\4yOWq!OjwC%'p  Y3k#ps 3.e9- #K)7 (Y/ufYb+5^jLuI7iG x6h>nAM TƉ~4p!oq-~ЌͯSQ2xL/ڊ"ݘP^Y& A*( 3wA(Ry+>#RN%]Dqmزl C/R烟hdU&<5!Fџ齋 xi{<|']Qy_R:N]loE:ӏ&4@]qN%T1UfZVPu İ;1Cd] 5vԲỷǪ}UV#Qfh,[x6Kn ]Ba>ocP4alxV)*H5=N\T'7,e?4S3U}sWxW~6|+uSi / E>h5-:KÝFo`b],](R] ")%LK?0 ✉جQbbx ~7m~ݨmb92>@E($f_+$maPܨlxUorgc#Z dO;@ E^JPi q- RjCOEu16?-:6lsac_.教\[ڭ2sN 2V1yO.Ѵ 15 wդz!c\EkwMZ\CI|҄a:h!{A#cxå_M(];+P3&X{aq6Yט׌v$SVs8:=ZsBrV;؟[P#? 1}uAmq{!Wrt[R2d RAPB={gDUNJyHI4O$-oёNjrE:NiRf" 6_m߷Da5l!vs=l\̊a >TtGXb;?VНTCb lqI(ayUEFuVtzhoa^{Fv䜱cwlb?uӄx`aJ#g& d.y h#^c/>+ l3&h)QvgN f?n*kB)XϳRx A&iWH)(CFQWC!:HɜxHEL݃9*$cL"Ӹj;>~w4pm+'D%fE`( q?0ŤoJ`fRCwsa?k.O+ΡID~ ar2僔I>$@2by0ɨUV˘n*|#}e`:ZƸ73(\"7sru\r) $q+M`Uobg }|!44,ᴥ\1ӧ@3VH>l@) .o<"(;,y"H0Ruvp_NV`Qy:8[@-_H홗 XЧh/cG RÏ&fYZ[_eϟze 5aJ^t_S/$Gcn @!n2FdrnnGmVE N }-΀QSҏDU@˫58\V'sTv nn0Y<)}!=]~G ~`#t+[A8#q Ǔ5G#Xs!1UQ ިD sS- Βh?*Pk<@9 >Z)k[mRlHw\P;j+ɖ~\ao6Ғ}OEny8|:<[iFY  uIUi?q_ hbݲOҸR,P Nv:K*Y18X\=m-QiTLr!kO1WGIG!Xܡmgay8TNACBte\xTP?2 7B$5lߋd)5E}ELdjgLM Cq#,=^L+Id훈HLJjgHy(v=DR6+t p9bÁT%n8I*tMzj9*`>Mՠ^Z ^&I&\ n= HȞ42|RrBm^ ]Mri:`O1 J@xC"{d{6LM,niN2F5%PSu&4`=5|礬K|~z+^"?پ7v;ayUdw}瞈i2c?)—++X l$z4Su**aHwk)NWUd@+-iz&ґ" /_D1/"+^+m?oXH޿W$o4avjo縪FAn֣`*fD|?Ie՛RxdqW-͞p@kw*oCohg,J"W,}YE;\ULS7zZt.s#]=~|b*a$n?{hc\ѳs5]mz??P$\u=սeʌMa)xSmY}䇀ikJC'&E47Ad3ggX |*L벸\] :!roܧ2u@Cl8M洸\ UUq.y|qԮBi% !d`k|'^{ö/2|ɣt!(=Ca}.}h&n坒Ca~Fqo.K?ڋt" &_ipp{LE^91aJk68G rj#tO80#rcM`QU7SPǾP:mu>vy8T:="VYB=EZ)AR1h+uRޡf 种)Iv34q:g&JIf?&yuOAg~uPs4 3/e.H|A m4H/-GZoQOz㏯EP7yLB7_q#l[TLxecd=jR뎯4 >r&ih鿁,; OqzaBCuҽז8xZgwvxoWRmo#0eh}M8Q-AnJ&!kTG{ 06 ۮb?߁|]>MdB4Ku5wIC>Kmtm`2|WNc~ҵLce/zhi LL |&H!&Ӷtqc3F_\Ht #Dž3/LN/J L`Y>;RS8k"K S&ŒE)Rޤkn-άMaJ N[QTpY=I"3F׬t8/wAN ׈ؿqsY~oḽ,S MG 7$9~]82T lۇf/r"2;[0HorFa"#khԨa\T;G-R3i ꈧXFi- )\;ޠ=6 M]mT5sEmc^6\6, t'zP 8/2xBTf 㞺?tpe3fTѬs&C }$:{EvpTI?-z@"e]0T?)Ceԫۇ4Vc{2?`#Te' YkPC7^h01T 1ɑ\px;=%w7fFP*TGN"<!% Cw)LQ4 2f;2v~ mIh6xg7;զX`w\E\mWD<`DlhK*#ɺ [[r m[j),\ż\p|ޡhkb\*S]#ʱew2ڜĤbn\@p$1{yayIz# ;.OZHĈQ!S3@ |${Uy!:]a1 GBa9^7K>Zh^j-2? Y%tdTIDepDԆ=ЇiL. >Ndc"ΝgP[5̭ק◛!0jT~׳(GAg6#* ͩlmψ˜L=*0Snd⪎S+= }vl5 e>R:²ͣvR,F6f- U/+pO' /qR8rhj4NA#lAA3f2l=߇K| R0o>RU 6P[ɼ~\;λIA/ua{ңRϸ7?9t?\PT)1ƀg7*IlhwޔT7wW4_\E"3P1QQA@N2Ýyi,^:({>f_m@p l!K`guEC4,eEJZ@lCV#]n|E7]Q4h!/N܅eNKz'&7|}mL'ڸ\LsEb "zP Oq;ZwI§Coewў=ߓ'˅H@w»K-<)Hem$.WaI^_|1?+;'h9}ѱQwkU$I}ØԖn F"2>'X`:X  Z 0Bi7}36ϨPG*Zo1?4V޷nJ%{Q$Ih/teca_dς)CUDGՄWICB僡.s[{ȟGL.G?uYS]zoI'lXTt\[ ]U  Vm'O-Zj2[LxSCmj?2G-DG;gjޜxhh2эaK鯊0*fhENpY"ʆlύlh:ɹ$y5*)xuǞСۍ|NZkCY.njpG9!?)c VDnf^Ra4at"Ƒ[%=_NTn+ ?uQRSAW::юAs$#N\Ek]%30c Q,,JT=^'3CzڽjMBѰLОcK(J'(t٘in߈j]@०2ZPNG£}u~.)h]LΕ"O,.V_ܻ8uz[a Z[$`&J?z|3`v, 'KC7M|n)B쑦Np\dlRp+թ@#Rv'@b.֙ cTÓ$&7?7- .]M5eO2[-< tRO t c8URӺvEi:awVkrnt4)FdXo[-N?I„|W3v(M4+S34-+Zs^^pgnZz5<-|)$ѵ*fȣtARn᯽"G0cl $V☾.tg5= hb廒@X٥+űmt7%DJwMI۩>trӧuN2D^fO+eBH=< pԶZv ܺ?(ঔˍ$Pv95ކad@Ч Z{f: RVH>¸9tr΢u9Qu9=6zqo?_Mpm4|-+9Qbwj 5DٛfKF! DG!K*ܕ*jp+K'A2]B B9[1=X`(>8S MZF/r#*-~HHKkYD_MMkˬd4hl1T<'KVJ]?rjLO׻\gjY!Լ T 5kiŧ)B*"czmR>Ѓm޷ eh{[sASgR4Gꀣ&MtĠ%%[J]-UTP!D$R7̑`EmzޣnVI)$Ml(1,&/ 0܂bI$@C'Z|vՠmAɶ++ ,SHpQ~v q /}9h4l: fW饤g-Γ%\=OZQ\uĖeF, 3R#c#tZmD Wa$w!MLj jF0dYSȧ8]٨ 7lOOMM^{^P.s5>cHu췓Z&osdg$(QD`vAL~/oWyn3!Yu<K\Q ( ~5Xi3y'*&/yF!^ia2nNh@ 29cA5!CJZdy#pnq[B9)tH5݆`#jFQ_{366 ? 2${yZϋ,%(=z"u;j~g_0q*L# ͔S 1?Uw豩U^JlEqbCgo /#|Q\`xRn*ga֝INSXmXhZG++]㫥bKCYѡ}JS ,d,碁>LKx-z5|?A>s{w٩ZqRRʊAx͑H$Ʋ$F4ҖBib5"&8!ވpX=!JoZ14K|B1Cc($>Ԧ`k/!X|3Y)c4&̪ Pt=}(1횗[حk '%O(w|7eJ TѪQ:՞3>x@@"ż8pI.D9Yw`xP:c2iY\'|/PЪ`mGWԋ-u(F9~a2rZI_s*$pHF[ {^4'u8;d?2̆Fp`{)؎YM2Lgti/3EpBW-ϰRȒ gѓDXϣTwJ!epu4#l2Tq VG@Js1'o?ըxrgFmKc #jj dzz`3Wv-,<&鶾/9G5r y8r[RӴ|# tɶyD=apza5 !FEALCך3eK Hnjj!>re G?Vna!)4{|-6BK%ݟzaam@x'_93_x:_ PV`hurPWKridssuCfLv}i ֹL \DOߑB >q5d6*=S0wr\*M<Y.Rc_ *!UCGy Y4lxHunNwv &V &S5 +ԎV뭌oA"A-fNTd2+:yE@ނY6@~(JOC!. ܷ@P̭3"Q@RSY*5CN%0G߲}]}՞s*~ZBuݚ-!*@jEFJauYbx_fw|AnƱ߳}p<W'g38C1DoOj=I$DXjfՌzy&h_ĽHl 9 QmaK}@(E *),Blh#ĪUssFz>fF^*tl݁KwTdY0䡂75fS4RڝaF,8+}(>uP\x--\w;A|$p~(Z`KǬ? 6#6ԦX#:49zfox4꯫_=Jn,SCwBf8#hL@Kb19GVH|& Ui0ѠPmiQ*Zv|gDo}+2H[O,8\?I?xY h?"1;6sВ7)St!,ȃ;ҋIVPvy*whưqdzPBeߧ̀s}A-m}qk.7sЍ)e"̧f,n"o1͘7 4ӾCtGۨ}FHMqN'le,C=QO^\żL7Z"VSi*ݓp358")ګcґDF&B+nũ9xX_n[]cHC"k3z'Q[Ũͳ<>*tJvw$ΥLn-U~ Χj.ro4UIL20OR^JLUrA%%q!qBhJ s@%c}:XcVx#o%=|1{KLM>/djwirK1&"&;Dl:F\dVpuTQiE7hl/O(NGĿZfHulHOޣLO^~;v3 ;嬎B($Z|0&foBA}Q,B3ʑBsJV(hjZ&ud}&[:"weCVoD\LoWPGR` ?]Sf2;%M)%!=U6f"uI"6?t,bi*3ZP``,{y]o@2C6VסWg 3ۘ'OREm{aTe sIZ& dm;CzgLSeZeaj DS\cdLN &{lM9 [6+OmyFtx$ }æD3N/I '8ɴdA&YOGa.J*=,gү3QS/+Fx\ntS?cɥ '@cmjZ|eDp}|*EjѐtNj#f{*_őKD<_̋&o_KCхzLTRA`ݵɜx:@ 8-;)8 5s{ZNHh$fss91 ny:ƥS|F;ۢ`,C˃=$ EW)2/O?g싐6"zUvFGӬUx<tc8k(K\*UF3-a{-G*ikwruIgoUNpMp3x0"cs+ZVDa0&\<0=4>P\_PåstΐV6!gDR:1_Tbj56!1khڹ&W mV> Ipۘ`Uo\Ϗc-q W#lRkE!V^>nl/.B*;i iMܞUM7!W 3 t. s& PCw+j!IϜ@$R3'Gm7)E~cⱏ\{?(:u3:Q>tkß4z$AwadlZ"W_ Db\YI<'Odڄ*׶Z 2w8#B)~ 4`#y]Ȇ$e|6뾦4:װ)IʰYZ4{B)}0Z':6@/CC!zg%S%- ٨YCbG!׋5hΫ,_z|!.1 ~Wzbt 5 8ivҖ9x(i8ɆN|q_nrH'wB$f9C 3ڝ):{I=!Wxi1|2ŃM{[v#JELVu$bquNݽE?"{l q)t|U˖ߥb} -JA-c~x.S`*kIɿ~oî=-W=\EG'' -3}#|`쭪;Nn !PI# !Ȏ?S?Ö'Off5ѲGt ʬ1G{~JEh`r3[v6PA5Z MWԉH mObu АpїKAK5SÑ_,5#0)"*hq$a5t(ҼYC;J:aWtf *^aapb$ U\{|ʷ_{k`Q.vkbkҾTNQ\0{=E;FApWY ҽ\ =]y^&>dP+dJ9;Pn-m&9$A #'W~E&ɖFS)l't*|0 5G Y+HV9YLF Jhc1QZ5ME*0KkR]耟04[uLfSPBM&Lp, ,L?JaX*WF$O /N]N3]x{{ n[FUHT8'_[Њ{ bG }n6e aMt[H -QdEYVw®H-2hyfނ,=%Vv ^mʟM%\[ϝm _ A9qJ)ρ Lr"B`jQìOZU/S-٘ΓyWV CKn›6dCx|hk[O9ý_{?a9 HRݽ5q.YH`U {32|g FT.MK/GMGRGaH/AuYʔ]g'iD43$&9Z4wĀ")h jvrͺX#`[ć'o`:qrXTO6GAХ<>Je*igF"µDߨŊalO#"wx?ib;}I& Z!Rq}B6bŦ-o]8X\8OVј=iA37t=6Wz QIAaE:"8VmFI%U aoMR ;'-rH"WCOU/yf,xJѸwZ[Y?+?  0'dL3K]+A5(&xZڈcD7){z*2/Işo~r ZYp&vl؁]BsuΑCݱ>?j`2؜HLfCv_vc}# vr a9gpƺiQcYtKD[=Zex5PSIqڂ#}Tvاy.Z+`d?qE {CXjIha 7 /B)l5w.T+DV2I|Dc@tbdt1Fmb{h[\ʒzZ#MiTf{37; !A21+jn^-}.wGTb?!njsHeuѦ}~K kɔlj<ҳ^LQ=ft{"=RO/MAsvIWkxv*{"@ZAomu*K7Oga6mqڳ=%HЙܢ$Ñ2on^jO#73N(=.bL+zdrm1.]r+4 l˗WL/d]!]5۽CP>݄"^+>Z+vY`BpFtY@#!-ߙҦXѿt.] I+SHR0!gbkAFz 8BT{05r+,ӥba.zeQ. f?s5ׄ"F+FJ c0x-*n3ǯN 'm=(CDى> stream xmcp-۶m۶m۹c۶VXYm۶ϻT}u=YEN,Pr2ggf`!RPffbb"bb`!'u17X;:y4͈T͝YXaȉD\-DTiY[i89[Z񹻻 1 0Hܜ`eNdamgN$- ID%N$i`blGfbgmJ$gmjjNMdBd_\M1 G{"yq5a E5"qQF5Q"c3"9;\yAU࿖-Zͺxbaf&26[Z;0K7i G"ܜ'!Q!5?h7;;c{s"*QG{'7 4flom ,?qkW kOs3%k?[#Կys3k7lb*ܫ=b}*(iqSG3kK"U?7ﴒz1ړH_M,E8zsѳ011q?lM\\VRw7{¬-;dWVN.3LE23<¹W)ß 2ܑ߽o!1N0;%_y-%zW.|k47Ud+L:q.Gd5GN\]xt֧D3ߧ4kVtm"Q wCmhUTt}w!qluk"؜}*h*'O~ 9:D;EXWz6}$\FK!3IWZ |S$fgzٺ1V!+rcМZC{?lHLb@[/5J!2,CCRi#20qk@|l M Nii 4_+xDȅ;&N|e@% @$G9uG:@"l]1[sm 7CwEiÈ NgU4hI)/[aC2ODnUNEH{,feE>>do aEu")J TbF;Vt^Cl:EܹR 9;3^~(jlAZϝ~qVبUwhoJFXT.2(Čϗ>H2|&T&}8.4)~^ycҡB^H&yΜJ2G"|u PfBܝ/uQ&<ai  JӪeױC} bPN b9X,7SQsH ԭ EgjK=}0 F5M^00y/&+\90pC'7b]Nnn\4GwcaTå&[sBזݦ][-E4,RkܸA4 fRY0>ȹqֱlITܠ*Leb=E%ܱ;֢@d+) M7/Y3xVZMc 'p:CHoL#F2ft+78*,r~9V^Ly2΃\%դ'mo|R` T VCf]B̲X"Msؼ&TPVY|Ek|@~ys6EV6e`"r|# K58ώll k*X7.Unuy|7NKkB«F+(mr'dMp!{߱?|,΍!|by[yD@뀬K9G /eh_Y:G:E v8ypƃa:7]Mg QQE|Y>,%!Y-{k+v0qIGcY]@ |OBP@<=J7Yg-=O,"ijpCңF\y,EDpԄ7)4jW˺xjB^r5rZ*af&8>#NR^vSLFvۿ3Oi2G7H-,곂>7([qnɴ_5_O1lXZG*z9VD?px` xi<ѿQ23:3U<ə> ՅR,?X];ڪ;&D*s_UEvCv5Z(HHtj4 j?K~{"=mߝcɀAMD:Oz1QQR(* |Ŗ!?w8F<`%#.e0@Ȃ ~^-)8EQȖ`G1l䫍ZR^2_lhԆI~s,hktOŶNý0 }^+9QmdV٫,$*:XP4 &JD[BKV4 ޒ~_Ñ|!CA~R> Ɠ@<780 / &vTrk<=A{ĄYZm _cz[`%<˒nY@݄pS#s_߳Q)\̇H;Z4%ĥlR37\'|mQ~nu8Us]|yuܧ+*~GT}ҵK8#FSwvK 灮qt$tGa{n+ -7<~N[U4g2Ȩ+ő!B 瀦?}R4缕X!ߥT)}|"*`VIO!PO6.#iW^ͿO=7"-0^Q!1^Xr)IّYwx7Y tg}π`K84ds9_ۿn]z{ &d.s=WYHxۍC}62"aK"^5փD*z}]ɶ+0,Gl &No\[ qU AϏBьd 1~)Ȫh O|lS|{{"ҤE,뻬 l`iy\Qty:M]y#+f'"nr>QUړLy7,?uƉV2.&dÜ!1=U5Ū=}Ҡd PI , Yfc-}ʒ #c&ڂfrFMEj RS=z~&]P`H+7SU /CS'1k.'91+eZ z[bLߺ#<蕒kC JOJ~aрf?廓I}7!/#C{T`NU=B/ƁtZ{AvC= ȀLͭܪLj3i6] _s2j* =/“YZML%:4!&hY?/˙k tGD(qV( 8 ya%:]CC.OfCڶrcxaM>~$A Kǎb[B#x Aև,#,`pvk+T`_& ෦hl`S:Ƽ\ "q[L'@Ahzs(2 {CV@K5+R&2]ry@?fil3Ԟ}I-KՃ~G3eˏɤeJ{=C c | A8t~t]f'ԳٗpR1l$-W6Z?'3$bhZCdQ76-|6 GqօiT2g7pp#Mq `~bq`0OMz| G@,mdf[eM#zC| k w1YQR}.Lʾ5WUA΢H>!Ume$gӓ}G6_I I25巚fCy]"#ow9H֯uBTg5w>8>u0KѶ?nPԟZszقc G:B-; \Y/MB.7] P`yք AÐRk#gm;K!8{PF)@ϯv#=mCݕfi^\yXfٻm@2bfg˦Sg2ka$%;X:Uy%hC,%vG ./閮Hk@xsBfFP5 RsU<,ٜg(,!F4}`Nj1*4%ޓ&cSY#4v@ fASс WڼI@{YçyFASAiJE !󸹒DZ܇xiAw弾A4( ;W bxl:ZP@%VIT M#$0ܬ|OѠhM N?Bw6E{yKk{u^fu[Z® nd`6o;߿Ϯ7U[GlPg\zFTd,x0wҚ,NUKIt!@n MŘذchG|Ơ{Ϲnf*F;&;$TQ-,p]h@pCHSoЩv {eam((;zehYaK*SKV^4bF6 % /7DkHŘ*cW3SܜL`*- ȭWq9hm .4UKZ/*9F O`d}1C*"e-/ v:ÅR EdUU;(\Zb~\FKjΏbfYb+BSYt6bgήy ODƐ+؎G²cB Fg8m\aIOO9û~ ;Fajc-lQԵaU!Qϑk8G 87f+; 0}@`?S5L]LJUEѐ$%_5yGAR` 2V[k~{gH=CeRv0Yے"~W^%1Lnh3]=l *g*8$ATRfnWh4)s]H"jp\V4Pً8"R=P8W){27 3sixqWqޱ^x!~WWt|7p(юVFicdžN}W+[ic/;pmz;AfIk\i5z~:Yq 8#/V`R",ǰe{z4^h3Kӑug4gymQofmA'*#Uqi/jb]"{:FR;Q61cViya- Fcp~s?$MoijǹvQ k\xͶ_6Pa4j·+?T䅚Jwqi1l0l_X=/}fWd_ư 4Gz~&Ş|9ˡ`,8Qz4Og'c"GBN>DZnG+KrE> o4s{Cqrnh|Z_IWGW$  Y5k*S~TQf+;Zy3mfHb7CSϢNZ|.3װʃ ={԰ qzȿNa%='eMetM\)c*Bkؾ dk>G/ИYnIj܈$$yg~m͠yJg=R.1?fepUKcBbWSxCf71"-ESDL!>9Д[z ˅A>aD[gvPfeWU3}hСVnQ))T/g88.ORsOXNX "kI*\ S>M F&G̦7pc<8-Rb;ƽ&άc)Ł ).jk#>hV/iH'iNbG\XL Qmbk`R#-9 #yu ȈN4¤7vƹ|?Y vmAU=`%v %I 唋Zh { l-KP7L‰ȴjU12y, 9stIz$01O~S ]-{ /؊T_ªj2!F7ٜ6~I%`)8ORJe !h}'s@LL| 둕MRќbRLJ5ǛW[\%^,ZV4l90Q%N1~bt̞YKhv&3epmo u߇EĪ&Rx3j9P7QF)]~w/}0zm=y5?@UdžDJǐoٿ($XHg BϪ=jܪ;SML/Ւ~kڥqGf>&cO}S)vc~0I-/zJk\|U+z /⋠;D%6j5~K@^Qv w:4 d ɇ / l2nhӧ3RQДX镫Mb3Q}ÙI9Ƣ$L,}T_{r.sP;8 1CrK;; B jTw.ujhdvwSȶu ũ&TZ;m}N UVsQͳ "96ܐ|8//[r|,A\p,[mMP1ݕ^m, 5 Wp.f„,MK8–aQޤH&oZMJ#gYƈHrWׂ#Y_T*B?3Pv#Hɂh!s|J](j4Us*;pݥi^ I),8!Ci MO܍J;v46Ӗn؇?L ⃽YZE˅8e*0cB-޳f w('49~fyG^Jb ue4Z}AҾSd:gFbo܍ _H馌<Yy4gPI*@;s|~MƐy5)-ma;\!t&ByEWt!#آAl;ta{kcGSaj(} W7meX#D>Ch}CsMMANdFT=W|@}tDI 8"@]r0k?sNT٥qU 'I = Į8_ La`:Bx9yɛ6 i`VEL$/ ;O;@NzTvĈĔ(ˊi.F4˱{œ$l|z<9LO.;'cCtFJJo`9X߆cur}!ctNO'<&7l:\YܨE'^R/Zx:5=[06V|nC߉hV iVϫ8ބbi 0v| zEo_1)}/Qg85^o95Px?> ۋ){&Ͳ^BgT-bCXBH\UbIzV]Sť ATŰR%hF$"Mw6X@9[ mrz/[#LO0jBlԦV D-Ѐ5O9Wf6K?`od#ρ&mAq֡YHא IyDŽE?| }'Y })g<]嬚 M<_ -ݳW2O%ŧάp']of]kB eG(XgBƙQC}4@91vm@#ۥW{ (@R ϶!`E8ofhz,hr()n.%- []؂ۄ!E SA"W owT %j arv]34~fh9} 3C?Ybz7;|jR/i.$BZYYY^sc8Wkgt*IW-Jm!NpQ<4ZfroO//1$%jidݯ7W.-S^>J"-r:z{="@R{iE?!.ļ*ҴA fr#;=_%5!t4N^`<5yl>r.?3UOsd!-F/92՗OyZ| RgTwg 0-sN' '58eQॻGf2NuFPҚb$OZ-Fn3gGgeJt 9=3LmfZ~R =e֊D]25C=GdMAiZ;O߫/]I3M8Ab3CMFM꼆q4ϺQfT؛ҸpCxd9ʍE~.! 95 K_(gz F8ysN&[hI`g& CV9v"t6rI3Z,N j-l2>b_TEMISfqa (ȊZ%P20c3.&x1 SoJ|4i>JlDoZ2-&_ḵMGg䘕nZ%{Iz{XhK_dIpO++l_ʼ듷0M~bھd2*^RPnv ^v,eO,rjT@PЂҌk,Y*EMqiDf}ӣ&U=zą=VKQ2tX6}&s:>Vԅh#%e7w{3vۉ_,vJL(7JDpi^-JdFfq$wuև&0obΝ-8\6@,QžC)mz1]Xyaaaɩa\Q7yi6[ RNljnWN[G6ފq -I^|\ۭF[0}atL%|ƅgT3Z' nkm9- *0H ;#oOhQz'PMA=C2[0|Si~20H+Xda/d(?BI`ra:y)-1 `\FO2b8b~o|u A3(޶GCPhk Rl';]o/ F`(q\,hˌ'l88LZےjD KOKWkF><#\ᣧ ǯQw[+ (BgK[XRǚc#k"VW1 ]?K\` vm 72AGS,OY8Y*ƀSPY+7CW@BMVL q 97hUҧj"gj7m7Կ׮` ESnmH"gmN4BAG:ZW7i";9tw,᠛e@9q > QmRxQ޶Z7>_s`7= ߟj ~$Qŷ@K،v5_Ufj ?Sg͆~{/6ēK׋ɐDBM7R4 n2ۂila xigJ.\Qr+W%M_&#}f >Bl/ *G>)jHŚVc1@p_~~\[;y7VmJs_,򨀌dW|gF3tϰnWP_G6_mo>20&p|I0PަŢن@M*Z`˲ M1Ofg3*jK9P,vg^O D4MINӼ*UMu[c{mN0Y_63QK\kC0č?=7| 2 0E>JO- Í/=▦&*Aޫ;Wf.[ԕS[piSK-)z!@i㝼L> 2&tS'J^?u &D*Q7]]-uF 5=;:;Phwi4YZoV<#ǢQBFvT-;K}#dd,cu6SޤM&gaLϦ2HypW hԀaDE]!󊞿|Ektv'@j2oQbo޸#bMV4" :gDCx eÑx<fb8٣>@J.ik~H,|qĄrY-+3Ҵro҆&& DU"6%Lאf8C2{PIv#nWbK <f]eE@LXԈ%i={^|>O ;<`dؖM0N[j;/\쟘h'o%͎H+Rf^c#0$޻V;B /x?ߔBɷ\ZBVc΁}MMVd4\u=bj9X3Zl<'Qo( ;Ɛ,w2qI{:1-u@51RL.|N0PmyPMP1r9O$6kle Wf>tOvOYjGW>&ra3; +^bIS=p in~Vem:lD嵌Fj`Eϵ_w unȐ(m*65 >h ̃<NX@OAaƅ"K7xDihS]|g}fy'~+qg4,x|Z]Q@&~qwG_Zv} +7VWa[ׅ) RkTE}x)mf3 {; m΋ jͩx<+'|a}CT-7NIiL|7Bk:Ƅx vYy+&x+F9O.p8L}xtp_⚖Wr~"P.pL9 "5ڃ Oufz^vƮ2>-p_첉b1?k ro '{vBpҁ즀BiLWwYR^1PW/gۦwGݐjSzfT)4}vQ`))i[ҹ,W)eE*$<C(_9ZHZ͘kfBuۤ- g*+2JAª\z咹*m M*{ +)䉷_o:8m|t[;l$G52h$(}T<{QC:Kڰ:a=u/-ZlÉr+6#ff1bk@73D6"<2s g҆D0[kkW% H+}b,E{t;pArr4&]a >O75g24ѕi&AʕTPV9\mJA3`ւ: l+B2ց.t#9P|.Dj\B5=g hpбUkLƗq,_J M6Br,N{\c]bbg_(5>[ _EL-4S2up+2b)D)w?N+GNhU!+8Y=idd31ծ/~A:Jۻ Ձ$tz2Bٞe8 ţV _$jr\RmiFWs~f[6>L#:w>޲yU#Lt**`d:n^Zi KɜK7Gv׺B$1)% 6&9aM0ϰ]uRg)zC{~ple]n{Y> stream xlcf]5Zzʶm۶m۶ee۶o{{+8'b!#wwUr4ccg2122Y`D͌\E\͸f3G3 lea 47P52r;:[Xx])R13Z̭l" ZRJ y5-@ kebfbF0wpg0q7& w7svG@NLUH\A^ & *07JSn_\/2_"z&&+_Iٛ;97 ( `jfV @)`j s05s{gRl!jBET]klLSn'V$i1{S+{ ?~9wZ?_-(]:[yt5"z_3#' d5qsv6wf}':-_x fnPf xOհ5΃*Nl1ծC+Qt,Q [)IR{c :֪.YW ] @ 1b`vA#1} eWYMAI͉5 jJ$- ꘎蔅l>]2aLMSK"P{M S8YpdJ'Bq`}FXK$[XV4 q+!!6U U&02K?5dKx(њT{zf6y@Ap К*]~FItboWi!hK%SF{Jb90.s=l[,f znMꥈvQE H¬wpKђ~Qr\A\y`W`Ws dD.)@Nޜߤt!8~ʉ.JOo˫ oI\ xzq$>+_=COB7J0ڒU<`d%hj ?,47wW"F6y]6W,\$J.czV ?I,qDźdmݬ`D Kd1qwVC4"巯+hܓχOK`qQ7W4vR wˊ(4̮>M#}gFbgT3tZbER)NWw֤Vc'3ӱg':T#,aQK Ls+(^$؊1L~qw,`7XT`ә{Q=41YhnC囐<@y=^0RE)~r nUQ%;*GlVe·ɏ_ؤp5¥:v_<1w8n@&Ġ(IL,@G [ B42Ɣe!VЫqYV,k ,# &)ѯˣ0#mQr\O8O;Q _Wf5h{jt9m AKdȦMg0:_GF{ M*P5Rێ;F#R}!_nA>fg(B:ŀT3i\[hSj@9ds)x̛N1?,%)Z+H\!.8a8{JNp i[xc. O0bC}K\*H1 09OPƚz]b=g5L"2iʇgzs۲,zxLݖTR ՋBz窾@Fdf47uZմ57/<x0,FGMa6ls~")/;5qԴ_ mnsp~JJ.`pX!SK|;P8/9(l.4Ⱥ ,79~n-`Fy#68d$e\!Gw( Zh@a!Wq|wM P£sK9-ëL S_v탪Ҏ$cj{w2ݢ #dž CF!O3^(邴1? v^ʳ1| JJW=Rs0()fd5.|:H&P̦=gW07i>}O=LX}z8UL10?`z҂~pϮ}Q|_W-3a>jm>?M7{2'x"»LoĬB#zOMqpwant V]CrUbt֥/j$fvY*iM;%y⑷0t4S}progfۨNadʡmrs~|- nv:]ׂÞjFE.U>_pu Y$vɞU։˱g! ' #7Wf_Ka:_}KVWTAAz,ʓ fBny`q/X !*NUpXfq1+:\ 3j qY9__;w/>w],?w͵q$TMԶG' {]/hLZtt*)l/bOd:uǂMSELa|ogz,5yŮF;rUO3\9gvPwZe9cEcO.?#&Oc[O d'ɇ0L D$\ygN?AGE5=FpAZ(}ed^VX T :nCpXe3ߗj4qVFBjQRKudNfFFJJ2paC6 ˀPޯe< U)_{q=pjgz,oJLK9N *L2ITڲMJ[ X4{ єDZ`E- ZN%Eϼð-Q7]MBP*[At'#aDW@|zr GI$B5NClRlKkRsh-31$%In0\[U] g$.6^!vdN9$E1B @:/A$An7<Ѷ`9"-׌ ~oK  CRWH =ncq{3&#%$XOG(Q$Mo-6N1 S:GkoܺVk{}5'0ٜkP?o2D9!w"Uqb< W!Ow ¹lk/'PLE_A&2袮𱜬Fv},a#eM\m#ۀ]n1KP_0+J# 3CGteLغ_# Py-:,%3(/;_TEVG1 mm#?'(h,L=k"_PL `RMF.ξZj#txz*7L%*}~*SP LM#/HvV^Sc8C#aC;9GD]>`UV_7}aBhMth6t^Vly%5|r}j02TVKc0u ?jk$li3'GNA$o'UZoxScl#b)s V3cz"^ knQvTgN=ł#&bK a졪Bsf?5Kp$ȱk@{nnr *>O iž/N\RW@kgRұMZ,/AGz*%Xan! ~Pw`a'#IH ʨ 4yn?tĺ{JPd>YF6eDW= y{Bnj>Tc$L_#':tqf6 vV!bj3ޔ}6hd6BMZfQ x I3Y Z*R P"> nm~V\v6k#m36+p0}pZ ~]pTՓt~i"PdPϨ9oE$@:S>y,i̝]TLS̪sDmlru?aG|b f$44]{幀ԟS?~aG:"r2,"P n0znxIj'۩h  ̓14/5$}y lu+[W]4U =)m_Dn؝NS8ipim*"p5!@V/ܰȀ9؝HG\>. ˲ )/t:Rت|'Q Te9v[|Oeg -V96=D;1}!btbDT<2VK_Y*#՛fܷ3sl] ng^4ɱU=;9ݗn?.ҚDŽs1{VJ{0:uj%Nٗ5}~%2ߕ( &He#r#Rz~أZh)8ٙG+8CTmT\ Y(#v񶦿NeU=3Nvro-X ~RoB~J_\sF̞?JΘ4ձ5;nO=*mW4?8 Ne=鋺d- 59oE74nh) Ξ@eg822%: l悄'xe-]cU=!Ķ)v&pRK/&Lč͙B.e1%VU{7?taґU.=xPrH1CLǕQXYQ_Mw:)imeU=KwG86gOrrn H_25k#x.5U+JyBlؠxAĮDijh.THRaJ­z]b .5uYݱqz9xR(.1\ b'lZssP)JT| rԕ-2ۃLjeUZ%UI(z9).+#IlEiqxU *:y^“ sLbzIcѨٓإv1~%kE%D ҫ:DBszI̸w1_qXu?w15޻Ǻ <Ѓsp.!Y{Maɖ>Yd%-6H"P9<qp6;io # 3s\wVe rmrsx{ eDz8s'cEBQMUi4dtrJc1,2+23yx 0C:bn$𴻍L#"E$W.*UħdJ!s1:o@e] YTt,'ϼduր1l\t9k-ʣtA#ql1b ~nhYC#$s`@낇֩~e'z.Sɑ9~~-t;z'Qnf<3a>7_O"7ůmg>};"=Bar9t8m231_P_NGWY[I$x2yv,U͢ ΆDaJ;y3_GXU$,нҲ&*TvAw<6}T^ic_toCtn[SBp=՝Mc'("-R"βpFb+rg7ndqA.sP׎i EI6}G\m3῜C- 3*i0Š`:[v>o75 A^υrH 鐂rdkFH8-~O,/VHG˔ MC$3ߚ9 }"{*&Β竴┕ h 8JEn\0xbHԹ5n?.[P[~ڮk- w81?% >; ڷgəejL_ͼu@ZںjwFKz3Vj)5sPt[k˷&&F \Nw 7) iS(Oցfez@4졦tj-)%W=&< Y }PsQ*>mV~?IR/XA3thӧ LGcϴhQzoG?fk4 5q@wE v ïQ%Q}""FZpB,"< %-SFV~@Y|Ji ֿu6=AX<SR}{L%z ;׋GJ1h ǔ~Ұ:~O6]IOt]]&;\K"+HcuT, OS@G>"=pb Oes2r/Sf4-X4x#eK SxΠjSI/ Ql۵-e{fb5(LerMc\%eMa.[F*ʭ.hg黄&B[Oj$ŲQ[84KθX[{LλEI˦q$3~#ï_|ʫl"8rꄽ) ~*P`P(|! 9bR3XP*?AK(#*(X)>{3PWQ)y} ̄&ڝ+OV^uš:LyY,Uo#/I~݆avBUhVeVE\ 8 CEcNݩZyQMe l m%tY'ap ̈ZP:T׽,U%j afE"(x"g+9mOWgmQ!V<%d`|M+, &.g}2@S1^:N>=+E$v9ķ6\ߣ}~ڒGat?>b]hTh JLȔ[u1*.5'[p³57hK*n:D$1 zȃh.1H:Cb;Ǣ*nNhI>q8؀ f֙'p1x1 ϳD KV꟯bR3P1n0V=<\QL#Oš^#nbVӻTf9 S| ,aCvv|x_އ/ogJxsOqYSC,&iJGd;TEN,`I*n&[qΉ[(aCqWΓ aCDÖ |f3(0S1__vV"nIجq}i1Fn TkwS!ȵ+-90z$ 4\&p|4%-$RZ9R<e5۴x8JˏZY'", V oWV@;}zqUn&r#WQ_VĹi#.˖!(鷿31UcWGEdgQt~ںw.%/}]wOQBo;مkNo|X'dAv@AtPO2*kVo BK "DNǻ0.a8$-Ա$`iQaP8\Tv_s4$QB,2-&_6VOxoV0Xا P(#<ۘ5+J&ޞtog2W)K|quON #}SS\!|p7:lxBVօiئ<8V 9OY F! zokq vL+id]bڗ(D:jJ W7_;GFPm,kW§ QiAwY'~Z YuIMEtm5 rmJxD3oI^`ъfT ֔<@0Cim{q`A0jg ׏F>0B='F 9eHcF-0O*'g|ލV=Ni"*bw -SAvU$20{'4fR3itEė$>{D)U DYBiAJ}C'mB`nwT R=ݜNyӨAykp~Ʃ+]RRl.cK#>uod$K\rCAbsNL辌p̀Jz` (ůCMujaiv shם_ JJ4Sv/}+?*Y c`%{Q3Kn/./-S6ǽz}hBпNg!ف^_Rݧ ɲpDT' _Ѝ;!vѦ,%lfjK ĨiSpxx߰5}MmVDӎo'og01hTp )) kȭ)oeksͧ+Y84=sV i ?/ݗ>WZ'W;)@4v]s=.{ p+%cDR'r)flU#L*a]Aj:Ms{to% ^OX%piKsV>k%ѧx[~v 3 (@uO kVX}D{GmMu|7wɰG҄唼* Gio hK,Ǯ]DānMA @0 x.r%c՘f0"𚖡" =X@&pH#C?N>H|6zmc5%D~< ^v3* ,Ϻ擩jo&0MwHL\}u' (t}#F--z֫|iIz\!Z°b!IĀ{` QrLn& aCk.PL$wF#"Y61lW}F\e0*x^+CTC2ZwK\tP5`QKxC#f:~C6#?.dP0Įo!G) tպ /O0!ȥcZ-I"1CmU୞e|"Cn-b?X0yi^,wҨI\w]Ԙ: ?[P[)+gH;>ҞsR:(m֓[@ ~1TZc/lFՎ=f ʛzv<';Dnᕔcx"&U%Xa^Pbݳ]1 ǁ-t- WL(w4ࡸ)dmfD: "@Zzkf 8W#?KOK#V I3% Q ! OXǡ aɷCq4稸(Fc~$sL3YD(IBlۂp#qQ9/J8d'~\h4nhOl6zOI ae CljzN&aɬ`"/TFPy3h9vy9YiP}O}L:l-s]muy# }BPCp;x:vm&8:beDF tz/ 8}*(kI[M* CH$|F}c!ȔR^Đ/w" x;XU`=S=Ae>#VOKw;L4WkȇS} L"t׷>:RU#BU?o&S0 ?86r,|ܜ<p/Zh T%D0 Oo`{V416ڍ9(j_g~pآ!(c3?:¬P_!fσMËzZqdF0IQrVa_71e_>H0^)_1%[^id3 bWT@?NdIW@acχi )9fdbnC2d򻂜8vؓW(fu[$Xh| U t P^c˥ ًGp"7,$i7m[XTl;:Μ {WiW5-w-5׮s5͎H;|应>eHL Gygran|2r9쏒Y 5ͤEАNBeYAXoq|\ZV :*/_VrTtqyi˙0i(R>9f,7smšP̖~=a3$fG4N CK PU*'SDt]KY ?0(+IlH[CBjf\>UYGV*c 6o*`], URe[rE.0Ujki*q]BMT,>\$^4z 鐠#3JI |6@wy ymȵu<V 5Utڱh(ME|:K. 4:rl~c◩T;$tH nE;Ɖ=ho%A~:E"Rď/i̒bBɏ-@>xGcjKB֙V'&ķ edKqO.C8k%f;z7,&ѳ @XLe?C:GzϴCid$S"w\8vg׶ d !9+z҇VҐ[ϧu4i 5DV;4͌ > NXXe c2}(X Ci}ة_F"n@ѡǡJ^}u) `?ğT(!--W&I&X V6Q4ṭk⧖)ժqNj@0+aέH6=S|<%Jퟸ/٥RXΉuw>;Bi+`rLͤ5&Z\΢pG}iA-#4UMOGoZJ'E^3Ylai[Xq"^x5קּ߃yˎF)t Q,pk`dD l%Η-d J\JOSlCiQ}M22yЙChjV3.aM ʷEWdIHElK(,S0> |le列,$e+\6뉵L͹aWjyeY}~̕AK ^T R Ǻ᳙#hifF臓oat{K ĊvWЉq]hM:D3i6>E7ً =GR(0-N Dg< Pk;~EXܱ]:0t;* ˀͤ $$LJm/1Kg(?>\Vhg'%Y5RXe}1VؾG_cxA`hh*!آ|֟ۇ.z{^\WX AŇ7=?w }EEd [ !\d?4" }c&A4㾹.YhY S׈"Pp~(HXq,=xAawW;L6˭!5]Jnְ xW-QƖ2%2VN]3Q=`J5 kN3Prf@gfkJ@L\{'="]wV6{|4uCLOtR*.-+> kQɝvb jJY4c)-l⸟صG4\-.:egwQW~5ũwzwPE5d.Ϯ6j6MJ aT1 9"D:-^v$& LY?1p ,.WH.Upنf-:Pپv`(<`S/wp((`S(1 lwwnŤ|Ӳpb4 46#Z3:]+l nu&$:PHAB(]׾rΧͦ#O>McEr cC[ vS^%VXjY?3aDQ$m۶m۶m۶mv߶m۶gbf"'sm%g0g3>;2=yf/VE`, 7`620dǰ)K$+ 5mXm2 'f[}ƹQG Pdˬa.=gs3:?$DcN~ m~+rJ%QKFOc<9u.Z^*gr B~`!JdՃΦJBn'\ZoN9-oP)1 LLM&"drO[A@>* \/r?5DO4P"Tgj._:,31) iBzR`^ێQ?z\ڷkg9cvL'޺x2ߜXSu =2̤}A@zse.&&W~2}~!k MJA GVU c>jj) 27`ru=+|ZW2iԍa,eYؒt-½|0 oI@W7 ^tT.hhl+YO؞Al1i7'4nܠS ~UGs#S @%e}Ե5ӂ Zs K ZnQx[ɧ jfAk;'@z::+|fSP `1azѣn60VM¸^?h;F-_&oC@DZL _uK 1 `/\FKl#QW XDYXT.OT) ]/8@O0K%׏h3Uo8-hQ';_]"{WyY'mh8E,I%xX3`+:⼁quy"V<+<dyڳ789K17ݏiz.1:F1Sj8;>b%oQ:N=@G \- ?E2)wVUˊ\u\͓6KY VoP3<+Hh@VگARptzmX-۷k̭r C0(7Ya-S>M ,fulR~f!;֨J  ZOmv z˹C|V5/3 uAfeZfkq;~= %^WiY@) Ք1Nj~$!V-7kglP8.4u 17*U䱨9٪s|7$YUZ8T9o)Sfr.ms:6S] mNFᑾ$k8-M `~7:%Y7a 郲?0_I ԯPԦd ld"`Ӹ#Eotv_fi#8gi,8!y$|Qzavz/ҫ) !(SS Z,o^>q ٘6$I,&3kfPJ67MPK?Ӕa IQec^B_՞'K[㩶 ضI>r@RW$wH-`66@TVwֹObʁ*m!Ab$1, ؖt(Ual\ZTZb+<( Ę_-n_6/ʙF1UVƆ%an,ϞmVmI ґmne(XbiEUA`Ӕ l[!L\,9UJס^$[Ja Hתe.!-y4ZdǺOOm{T>‘#OJY :~i$Ò.kVGB|!CsI<2"7ߋO\-4ɕ6P&?0͖'#d-7BoL.Gb/ra"$Ih@n%ΒHhI 7|$P w8X=5 >?MBg2՜9~R*mCc5R1؏>?C֌t>65<Y BKI֞ϷAК[ɲl!j2?=ٕ㏚bqeBdaGJFd%``MpS E3O YP6[pv $˷,&r6]g{W; rsD_#rI7 F#(tф9Ti.X"_ Iृi@'dyoуώH{Q),*;)ߩr;V,om_8a ;|6L,`Δc TƤ\(wLKJ l\S_ ~na R@1iPj -bzŧxX%za>~¥N?I\% j I70A"%EY6b1`$j,u BRk$5S|S 6w2ZZK!P89qQtDZGsl"xЗl~ǨWM8t'ܽ@(wMեqk!tÈM48n_tbC1MvuqHf̤i4*g0_pDLYipL+ ?hG"Q$X0mg3.1_u.r1;܀S%w[I CT}չ{aq_ oEmOL8^1֧% (j x8Q|"&Ά3cu]::|*(C0Dxkݝl"]юþTXؒM&#z^1?g^ t| ,eoN#" Klro&zVEkeW`lB< -c*qcRJ@TZ*E,?l/^QLʖq`z3?4 HLv v= ⛇|ff* a(UK}~B›"K:Ҟ-q6@w-q ZK&PD( A.k=xHBWN`1G;kN{]#Ԏ֘ujl\}Hv}}ռFBl׋Ջ?IsPx!'`rv%TROk*aDy"a!rZF&*%&#֘$)>/L1;\b5˭z:mDep3^RtgS= 5IS?Oӯ.Tju! mY2msPVQD;(\;Y> i JC eHvM#+Mgau8-ìWt,8MCW&pw %ń"e5[hޤXY̹`kbzzz4bF+c)fc0j0HzqkM_6K~@cƮ$$!7y'dT2T 鉫LN/>twB:H+`Xd<`zA 諌]PSj7":g8_34 vb3-g 30m`tH~݊Q zRxf'Qj9: f'L:ï(-[ …i~ 2,'xu֍BH7K< :"/~s(d#,%tqmc*d r0xx,fgbE~5HLYTnN xlB|kp| @m^v冷=5YFe2ZCK8-۽%fn=3v]|X( HqDϨ\:[2$P(:g퓎F5HLnsﺃ94KrFۏ4pJnO4FyR9h<޹kQDs՚+7Z˧n8( ]-5Kdb'Sel=չc+m>{n =qb˃0RPGeRNsQQ# K[oR2$&̥qoSheP9*(GC(He[zU]f&6m- IZ.#کO7YurNhwŸ˙7EK1f< 5ƭ$^#`xU֟b~K\JH5#_06W*SWt1p-: JCQ< Ԭu,}t4o+1MU$} fVԯ2QFfp&dϙ5Y<9wx#^-\ޞf6ۿLo,bl.L';]Vgv<@0(/%..iH d~Rɭ]ŤqqYaY 8pdjwsK0*vcsM|?۩c|P3wY3m)LZ4a?)d{M*?m<:٤ A1i6Gy1xGipnmfkQ%욙@DIbȢ'sSHsG n& ƹԨL` GQc qh`<~s {o-(RemÈ+]J2H} X)M OLyӉm! }Ixv "S/% 0<) X}S-BW :E)^/9Q*a@&I6(sVa0-}2wBy0])Y՚ XK:LlZ*ZB[k!Tܙ;l EƑo3/])lC}q'ɨ q%nB:Ypfpofuz3.Y:43Q|"Ü1ek'~0bUZ!<3"8ػ.oD %loPO3ڝ#I~Hq+N(3֝o 97B|M5>^YU69[ch0U̡vx3F!G66NjRv?DhY< fN^*ߠJRxnWT z`1vn`uK #KL!HC-titۿr rpOe̐EoQg,Gc>sLEb Ja"D2K^> JL[LjHjbOdS FpU 3i} ^~m ÒlJ9k}pE%쫪n\8W?R:Ԑܷ>۷ɀHɭ979%¨݃v֛e>< VPSl>%UHIG,U7laыS<@d Ei$2? EK/Vn@^Vn*Ca1U +)\qa %m`'F;6Zt zJ4#PxTTR.wH-hAy_2mbv?RVԧR|cq^eb%QZL/tdz'Ү'%=砷Pjqӌ{CO]#A<YQF D.\oP#b -ŃIQ [@G:V~Bkwp#yOj_GY\Be5d^ @7š1kRX:U!ZGXl;97O=-An+A&[n( $IuMᒙT.Gv`T_-xe7%\gl"Lg  A3pfk!MHUXȚ gn9)2'l-;ϳ;Q剶:J:[S/5@H1 <#_ K5Z1;Gz9!(I*ft ̩ŀ#?+k?MĝNu2 . hCnӀ̞t-XW*q*RKT8 v9/Eb BLjPh63ae lɞWYJ~/35g"vp-*|k҅Nz(+CV#{؏o08؉y'%/+kX<&]3Hjb/nX9pdL'cNΆW"MJ x<n>~wt?E~:A5O6ӗ)ݐMkw+ = >K:䄨5?HQ(XJYUX] GbR)Ե/Q_Oקjk*h[r<`'*DY[C1п0S O$5p1bRgD}-u>&=FKođ5^^ ?ᱜN0rDŽK.L u=×dlD%P܃#} pKk*Id8uQ7]wLmnӹh\Ï3^▀ gR>RL5H4.=GfJx^b as)mˢ\Cfkۏ+W0uCOQDq{Yz#p sPS_O)XX!{bn"è2@_c8[*z u9r.HCJoP׋c)PfQ5f&O/ˡu|9+l=K.lx(5zeX9b&̓W s}@=ZpGM1= s# RNfw/TOzKuc~&JvZf+Jcf-#iѰ]DBXj\<+\,JcrM sj*69@xl eVMђLaqrBW_ɖU9<nܝf_dn> ee0g(o,z[U[\v!AǟZ c-!vj2Ay5_l"5s': )}S ^LYʙK0b)u>2Do EsBR{Na8,>|Îa zX|"*~JQ,כ YQw2!/'/Cᛷ'VYAxpk?_Qmٝ`KUL`hchS<6/D;lLl L58 tb TR~Hä_ho'3#/>%b: %k}۸h:b@Y7x]p2a`aغ 1H1pO {ԉҠn|{;MKtHQKhOnxbP)I^$lShTi(7`^!?UھM}_k UAP~`Ș@Ǵ3KUsQnG¹*O\J!*L֌x3]f#hL,rQr%H/QHĿL`,kQiWl)ahd8+', }J]zz]T=Umۡ'P<޻!v(; y(gǞ%s hG9X+ß[Dwd9v!VVHH7ZGU'*K%1?qsJ (#L;^dOU|!U!ϓ}]%[~7wTb}+Cd!%ņo=1TI&#C{ :!߽REǣRϪj K1?[ԼnJ2k.W (_WQ DsșZw_ (+ЏNSuej^e) 5fM]į)xX*_='@H_cixJjPثC~_mq< ;tɏ%\u10KR0&, N oWl `<2TWB_-Ê c¿3s&;x^,(#EsL:|)G^SQy4CGNdb̀ csvthSZ*Z8d,/P[وL5_IfJu2Э5 ;fIN0{3$AmkI9 ,Μ:bR菓jHênзp,˙--İM9ҥRǮݗ^ #p@X>GÃ/y^tVOi xoxTҚe utOo 1J_‹(I/vi26ٻw&B:zF;p4>q/1(d; ơʦfs=[tNRI1}kg!2 TY~g C X kn2h̆'ҋuK22F4b8>G5?&lr_0 Wo܉NSqnmQQ5}l u{Z͛ `M94M{)P8^D!I8iY 8m{U2ł[z**!X菧9-aٕQAe+j|X3]$-)J0p4 I4jf ]~aoż% *d@`Yx<ڀ/aϧa RҴĉHko i/PC"9wyhj)u<;锢6̮\@ԺQAK|b>vjg?+aqFlr1?>3?P&8k чXX@cIE伩mdz{t?^g4L8n'bXRV@ c촟0 rz f)iO7\c]rkd)򘂏Šfb[ *]_X,~6q0ףYb0ݧ&8Nj+2Ǝ"Lkfn0\~|W/|'pq %F)brΡ^bxPuo_V%E(♩V|ƿ#'F]t4`F4+|x즧V6); q{{YX[((H _yD&4G&Xgjx87Ql8 ? Tgzy=!D[\Yf)9A#!zBOe 9gBS";F⡜>'Ox6hx; Sm|!/Aad$4ZWq8oq؃Nv&K"M'@)c^3|^zjZ$vrE "sܖ&ϙa .{șc4و=q05 f:HfjQ> R<u޼N0ȷvK+.p76_1scׇOV8p9ګn~%2яq3җJ vE*_Q\f́}9U9, ]#Bz:+2gڄfj3_(4Oݨi$ӨWЮ$L*@*(~# g9_þ›<~@sHC`K9.XW|Pуˣ5_Uܾ\[ʶN>ɲ?X$ BvN+uG4QBk q(Fވ;f5tK:BnE]BVI_HIy _Renxд{E3"0;+҃ FV+z-xCy msj>}-"Ay+g2&:0 . c*ǫ h"x`|֞Y @ʪ!CfPWBL[mY!Y+-h,ʙov bɻ4d1B}<Z@Z1]W  {6 '{8KgKkƘP2 IHM' ƖNHS4uz w9P+ƻ8m/y0wMd:&82QqOdv\6X|}Zۡ+;jS\w ȫͤvr> stream xlstf-vضm۶'v:ضmcwl[|;k֨Y֨ trtSv`a`adI23((Ā&n6N&n- s3 vP hڛ8NN6f~aWwF ?,,nK{ ZJQ eh4(ۘm,]-hN@3'Gs/@Y "J 1&u19@^n-gvD&L' w01sZX81o2NG?xH0noh`srpvw-hT{_aȸc?1q0Wqo7ſa-ÿ[?jhFg*I\Q\K\?E𯴄@?MV6w(m+mžS"odYN^ ̬6Nf ; 䚹n2o_daeadj2@x n~XntuFf ^pRx R*w·kM\3E;̍`ei:YrT)HGG)*,/}Zy밢kS׽u] \#·&'5l (!S/+[N:yUQrF'.5=G?*ř )ମu΅&gk X L'vHZS-0 DQ[QArsf~f#2֪-׼lMG2jva 8_4roP l#Dʀ|T&^cd[S ~'tW cl{UŴKq ]5xL+"(^\9Ŷa{8 ͋.%Fb\J(ͪ݀h,~q roWbNxƝOA`QtR? =SKt(^`? VmTWqI#L;)eg|zD_c#"=[~a%<3;zE;aŽu%aO4/7~q08cvCpO) Y>Q݂LFh':T,j𨙭 u]ɋTx |fk<KILf5}:̇.JjQ*?v  IYf?Ԍ8maQn%g &_ }3Tz/%σu?3JMvCR^KU CWk404Fa6櫬DN)UbP61 ǟ'iJE]c5;yMŘ$̓0Xf!1^ܑrZ^ɝA١sGN8ob{H82$۟'.:czAywH[iFM.tؔKb40Nc|>\HUlƸ֓5sP?**z}' uH@FQwMY|5XSw`ٷyPb2!:M*&EL]i:aIv/ hm9-Ӻ21I RGX*B;ӶEE\ [cTEl-'[ҟ.tYO=ro}d{ze!jzJuSm.cB^4Ŵ)65Lw.4C=:jpΨeA8۱zj.x8Gc20>^{;Ϛ(F&|\; @4~4n[1 ]k|7bYi5\y8cYCgU 3v)HDBQV_ǐ)# H Wdӑ #_J' ~K:Tk8u%ɗR-bo?!{m꾼~a<8@lv1/mڛأhπv$MQV鐴<%P",Ǎ (`5HZ[~!1äNJ&-ƍ`X?ϹO߲Q}U7~32֐q \q!V^Dl2|w X+5(LuԆCˍ8{7؃d_vxp\Z>yU+|UH٘w)V9d5 p~ՊyZj-@Zz?hb֯*T&{J%M %gsf ^ĈF˓+7iT5FUV\;jgj kpAo3z32{Wkt/f tu-m'1ďDwǕ:u!^F|0<fQßET)ZqIvsH>N=Qեnw2;o*L:dibJf;T5Yy㟨V0}Ն3$qN*_ɫ&Q[I )-s d8̓}axwCDpV*7h:(?qP*;{QQ; ۮ4PcW TR E!5bJ [}BQە<1g(IVۚp=0^Vw^Ni߁-ޥ.lםW\I99f]h~wN0 9bUH a!W,?=7#v8lHv=4|r$LM)-dU/0>yƽhi$1nִR2fcھCTpbLr;')-QJ2͇ sv C%I6*/"lS4i?o\y"`VBpf3*S +ʕ>8bKma{[BOס Z$߄ bo<١kaMiD9(\>F0_lSD(f+hWte}TGʫŀ ZTl^Q1?HU9P '=ª&C6@QĜdʯ8vwOJiD1n±dNʂF'WJZ($ۏBTa.XC@G\m?#TOe}6 >V6T|!/3 jB~]49:&\[ p8W{܊|Z鱈6Aၔcobb>"3Ш#KuLdRQAw#biړ`*ļi9vzf"lV >,v- R&ib)֡ Y?r$VqNm>{[z1H!JjuE QSG%GLxõ_gcǁ ecpJ0&_a( È *eHOnS*|Y,m/ ys&$⺤ЖQ!&M?4Im |'Ϊ \7+=JoS6|2) v-}cFdԌ>@KHV2h`klH?(}o{ IiRVփt%go>0&'iiPTlKo 'z$͡IKg}+I`2. :Ӫ^ "ܿ0J܏{ u0 ]YLgMt-_\Q#{0#h{U{(a+q'PDCe q%7hh*ۏ)Lr9LmdPGO-mWwa?/ uR ޹q䓛۵x+̀sƘo)hk8Ԫ 3Lsj Ǎw͙|'ցA~2;AP JoFh6eq{t9jNw޷)OsSjD5be Ny;8^{|vC>v1xki~Lfq)LJDon>7XxQNbCfZ,̪l9m€ɇRN#caGDj x*6~9Jݔa{eq*}ڧRuO." lw4=Sd`/wl |I:m/~oc^7O,o e_N:n Z?|&0k&ēW,z("K0nR}Ėw~vtq`ƒQ-rYCkb fG0o8,),Ÿ6BHKp7C!ǃc_Ͽf"ب' |dG|1EqybF5CqPQP;>ٞvU$ -: |Hfw[+{ZɛFVcv|8BVW)ȅkdzw@천EAɊk^f"张(=>bN(bOM1wKK*m 29.0Teˇèg0Hi͕\?+톰 4 gL4/၀ tO2|Z|ȣ=ĥNXF5*4)ٔy3W |}bvͫ0K]t_"'GgW) fu-1XQU278QĿG\, {.En5i ?8>ص:w p:?0_pUF1X+\SL (U[^/ ,y1u=mQ1L=:-wh17m8PxQ>{ \EՒ?[u9WB>ܾ5l$lCA2|_nȆ+{50;}ʡr{!v-)~KGg-Vh'\ -_!Ձ6W{OMѩXOXFRy(_Ze2ơCTxոꨁ1 n8m!X)5 {Eo6;>✌y><Е'<|g Qu@^HyBܽY#lUDb^M"Z=(\?bA M43LE|fs}ԶasҠrp꜄.L8I~h$=qE+n li,5kOFfaoެlBfV 9 %iTuK+ [;{xYNr FV㼻bqC dߺ2vp1 J峛w~ͫئEI0?s̀`o Z81zXQKWGJ[Ei#t?|Zqjq!7?Ł?GТ<6Sܓ7Q9=Qˍۯ%r%N cC0 Z_ayًVY_m*GvUgm|p)_}QFaP@ ߇wx,gK-JB)-dvw/Ek|ព#pSjֹД>SK-uWQ C)X ZZ΃ -w]$aKM5sF!<:iAdˋbshe;)q B#"d$M5T%%Dy&Hdkk QŴ)2q_@(0rjk_S&/s~PUٶvؒKtCT䕺Dm@`+kz_ ${bd+ zl %P_KӬ;cQvs7Tes0Ή \#\Š킡ix.h^M OC\,[7۰+SO]Ŀ{~11&$&j9?os?I ;Ȅ@\@dOBYGҺ]<6;Ǟϑ'g e@oڴkv/м;'๧Y'_t/oьB݄.Ĵ z0\C5BBV7=փYIORreV)ul̴i-yG|AOLg[Pq3m@B9zl~YDڕh nIrb6--QQMVNHw؝VtU5Inߧxc+ibv>"^amEխF_:j}[J<Ԣ@2x=5TDOldCZ@gű9q{M}v,p||L>fR<'5X$PMKvu{ඥwCEk_vsn&QF\PGaEJd!CH vje#!đW `^2 V&SbX ]R_NǛ8sb߬=mi]:7E$5 6y?/v*Ko &yUr~$3Lۺ bМEo*'ߐQݮY=8X.e@M˹<0nba!w&4rWlVz7MmwZuP@q D_@w>#^$mHF{ln~dOŠ't =FLf)`(>)Ȏ@[T R䷠sI[Җ6 CMߝp7`B%%loI]4{> S€'%A#rFjx Jst'hhYD4>&lN6!YxK?pDym3YA/^[v5ͬRK' 9|`Jb- y,A͚8F(?6kcw` ӘMN"/Sҡx)(qї ܿipgetOX"?8[&Y1Yߠ1 ͵MpnR DV&ބ'K:E~c˫Z~LkHM?R'g8M{L 9 IYoJ _#@f:W3]׾ }KJYj՚~ AV711!.֘_H$C!]c(triRE 4DdQ # /oí3 RBcm$P!T0.~GemC% kw0#_T(ff Fw[r052Po${ qؕO 0qskOUϖ^Ӝ f lHKtN?P;~hꍮmaga8Y?Ķ[ Œ; ˾7:j+L`a=B,4"~# a۾>@DwrnZ:r=g഼mIR9)W‹߷Q@E uf'`M `H FKrU_j-"raՖ3n€5$?MK*|w3y+J~^' 2urfͫ("$)kU"+q( au!=o E;SdLg)*?Qi/OZϠ@d0 6wH*m#=5 }! mttFq*bE^1 '*HP0na/EJR+GfRigS_Mb6%72A $KV@PjHYDYUq;a w4JCwfI%챃h6~cVʳ*pm*L(3Ap4ʔu- $vʏ/Ҍh-/[b FԨO.GVa1S9i.FZ)"L\Np8O7uo΀nJ|0Yk.gj2Z9SG7 |:|Ʋe\5 ;l=:'fX0'U\wa$-ͭԁł]gG,0Im:4zQOL%\,!hY h8<>j+q= +SѬ?6PHV m8:z_\w -@zӬ0#zOֲn uL$}ϝ|ZH5z9_PR W図oa`g/3ģSzi5\B7> gYW+MP@u:s۩ : /M$vtꟑb1p.4W0^ .{zjipϩdzr۝{)KdD~^(C2\_Z T$gP~n(Q˟fFrZE.h-QxY"^o!.b?%9Q+-~R\"HҒɉ{&iƋ'//L)ҒXAc8qHqL TUJ,;>#qAڲGvN * `[.>_ 3ߏF2DN7,W;]ppzVI(ڤ'.1!*gd6>|Q<_pPy4=~UZ_2" GDo3fǗ\\'2Q.oC]:+ ^-qTys Wt+#!6 7nO~υ,@4c*u-^g8i[O}?T=lSs‹N*z59rKj82v"`XknaNrk+?ckpI^E"nZYd,6kB>^B1{>e (1Ůs4bLy˨ݜӅo 6l鷘}nxO<9urGKu/ѴԪjnoY+qXw^#~ůӣ?S fF.9`ڸ?qЯC\q`Y&4],0}VWy܁ӥp oTFC){4m2/rs~N. CW.4C\{ K|\~ʤooƁq>독&:5/TI*讗GP||7@[Os9ehL~G\HUԧQZSY#0L`E?:wU&"=E; F`= Zt!q\%!@`OX.gGD`e2ͰsҸ>4k;2- fsUTjWD;{HeXneP_>  Rj3\LXrd_;֎L,ՑOv t{tD [1 ?GC:1a,_oA#IKޟ{iܓۻ-LK%n)~Gy Iu2hV$S ;PyXn]ֽ '=Wd}E՛ÅozKTRJ!,<]h!OvK7r@°*=S6fUYX_5#@=` [9v_FsDazϱxxZϲU.ͱW~onѺHg~rPb7HQY|dcG:Mn*y? ;^J{R`TnO{T_~{o݂w%Cܸ4|ꪡ NdzOD _v"Pd +À3fA.$0S&Έ94K TdAӫxUG`ũPɮtpglspY> 9^iU`oQdr<1p ЯA9xԴkp!HmmQOެ$ i_DCҪ/$-Y\S݄3),&}?˲Jq{9c>W.Zi1BQu'}?PMىawZ<[薷_Ϧ%feD|vpTtUj+c8WIā~*bkʔܪ#ئY|qBu+P[eζ?|pIUK#PnNGTأ0TV_{fS=aE^1a𥱶GqD&qpwm漛erႹ>?2$?E|="w+z@N_{'eMJaʼzVC ד Z/ͷ *! 4Uq̥*K.nbTS$Δ]]xG`jce$+ 0!y*@`ݚsܚ}ˆo:L=L-9ud;)/Azؑx UβYTnvwM&iϿ  6ƏM끂Nbx2 / YV&ioT4] se+jcgr1{_=㓁!{臱Cv/88 Rئ8JPD)l_7o[pWGdY\M#٬r'd"]FKFRơ|8 #ye/ϥbv=93K AMU *?\ E p~Ch>)N| kr[$JzxOj"3N~ۓͤB2Y=򅕚z4UL87r'8-0XV0HD1b"!S.3ŋϢ},/("w ':jj8U"M6?/weaa*Ll V?̯쮁WJQr{w{m J&*sNYs~2s`2|2 {Ja1̵ť eL0' 3Wv"Z%PQ L`ΏX{_6F|ǁ@Awgxn8=wjD%M[TAxK4/JԢH̄©hҫũ_9(XZj\r@Jx&~0FD8Khd C_?DJV@ب?2"n!?ٖz?.e:Wٻ(TSqV5f qǐȥ_-lXL9P up7/4. ~)k|y1g*R EW7 hУt qo41;$Tw8E2_=l)*l .&KT4Q˙^ri03?IOw)!K#y dq|"-Vd=eE|@Vi[F=En &/K0c0P/!'/tzxy20ˑn; d!"q0-VM$=K#W]D[LG<e$Ef5i_X.: }O 2_Ɛ\Gfq2rva:3؂n$.iz~#h1"t9s{L1A*M4_dϜݤ\Lki@P ҍ4Ł͈U/M.fsp  f9Som5ؗ n JwΓm;GN v3$+x|EhS๥_E?D ic$i.bt_onh7SR)P=zygJjt7$Гsoԇc'7bd{lwƢՙo(&2^]wҜڊRhyGeJfn<5T]+_ѡ.@ Iam?t3/Sca=y| 8o!s `Tۛ+og8`+|)Í ;n[6iW:mt >o)mr\zN7NU&!\X:Kͥ6WO%W%LhlDz|S@W@>#&ռ ^3'p67#~.J8B rt(9|\&#/"HM56ӷy+0bՄB݋EQs}22K}(m'j[X, >kz^~ڙ ,mBL#7Ϭ Z᧞SM iӛc1ǥ,/F#Ң1Jlz>;uc,.dzyօcoHl6Ho ><{_Wrj*̿+ϨshL{(̟$UM^*>wr1i ¢,1uU~)z*b ruüȖ]@UdyA8[L3ĈlҬzw, (ן{*(W.aR{҉_79:P"SoʨN)&ydWti·IXԮA<+Pfcs塐;UU`$K|P ~-Pdy "7r9.vC9an$;rU"( ~A%zU8|RGOCT;|PW1{syZKb/ XZnMVϻ!v?W3YJ|X,>%}M.$U7pZ H1Β!9RPYH])/BkO;SSRn5`t\T"}_ rs((mXPdžMKu-꽣qBzQUw¯\uyzu85ō9#ˆykG.z"dxQ6Jozn1,DO %w.B33<%z$-2~Փ/>nQEBԜ ,Kv\/!r|PkZUAx5sN\SXڪ^pd!$:7Q;D"%D_Ɋiʹ-* ƚm}e # ۭ愲{N0K~'%[։!)"LBF͏$CRuW}@ endstream endobj 102 0 obj << /Length 900 /Filter /FlateDecode >> stream xmUMo:W5?$R. d9M eCkmCp;;w~>|3E_?O]5߶w]Occ]=~?}Oyh9%?۹׬B|Ɯ>);vw%g43>\ 6 EJ78 1{~`W(-;]%=xe_,b+-O;q\L}UI--=BKE1p[! Mߊyu>.N5K)Wb٬8i[_uʕMzQ)V(Txޢjy!Z2P="Zd0\ÃGR\).2*Шa!U,H`+j.5Nα@VK-x%3%AYӀzΚ>kP#5m0Woþj.ZT$X/)n)#Wo(oRZ $Kp4Z-b\1ܰJ P"GXQi/8k^Zq:Zs9dB )sL-7xJ`aɽ)f$1 dъcCZC<73JgznHȰYɚTa,_-O87}KԴܗLloK+gJ.GZyVc48Wt]:P~`rZq.n1] S/Pu7Ue:?&?!d&1yHn5)yғBx#1ޞ]Go׏M?X endstream endobj 103 0 obj << /Length 867 /Filter /FlateDecode >> stream x}UMo0+J! ᫊"Rj.RI73WfvnjNelܬ=WW\?pu4{S<.7զ7K&½tgk]g =k4R~R~J}6O7SVk-;s}׷(T; Lڮ9ˈ;䧷6~K5Fzoغ_g=r<:Q:XTߙoGB ; ZԲWL)]{+Q &)H8@hcReT\`YQqJƚXQh)5HK |1ގb.h\e`^bsN[sS9ӺuSrk4"nXCA8%ľFp O<cǘOx! !aM4cnGym: C[1Flx L^"K~2&NCC&^кY` YecO{"CgcY =9O('=g)YB|֙Bs:S|uF:#e~,٢+>G+>3qgegK+>c]+>O+>G|FV|~+>Cѻ V|B|ƺ ~!>_Sϔ+>B|&LOrBG/}XTK5?)Nkx$sy儢 G5.&&s'~׻8ErE}g endstream endobj 104 0 obj << /Length 867 /Filter /FlateDecode >> stream x}UMk0WhFCۖ,{Mlh$73nw҃ͳ,]}{\Olo$ɝиI}s \wwu8{SC߬Y]j7KF½ Q5Fk=iL4RWOlJQn8N[?ˮ-;SݾkQP,#z7o;]j'OӇuþ{Qן x|utX|]ߙoGB;76݋ Z/ԼL)]z+Q&)H8@hcReT\`^QqJƒXQh)5HK |6 b.fh\e`bsN[sS9ӺuSrk4"nXCA8%ľFp O<cǘ,⏜x! g!aM4cnGym: C[1Flx L^"K~2&NCC&^к䅙` YecO{"CgcY =9O('=g)YB|֙Bs:S|uF:#e~,٢+>G+>3qgegK+>c]+>O+>G|FV|~+>Cѻ V|B|ƺ ~!>_Sϔ+>B|&LOrBG/}XTK5?)Nkx$sy儢 G5. &&s'sձ?"Ƌ:Z endstream endobj 105 0 obj << /Length 867 /Filter /FlateDecode >> stream x}UMk0WhFCۖ,{Mlh$73nw҃ͳ,]}{\Olo$ɝиI}s \wwu8{SC߬Y]j7KF½ Q5&z& h<ϯK)ٔ?pݝ2ZkXvm)85];B7gѻ9x~;a`>W'?y:o&> ݋L'/㫃Bnz_7_t|~;:ذƦoiܰ^\0zu\7g"NFsu_E07H6!L@@B@q\s *Tg ]8 i/nTvc-+>c_ZZ~Z83z3[:ޭ ߬Lg3t3-g B|B|\3gg|2?z)BXIAup*^+&#sU-'H8qɼe5A78{Y-7^=!U endstream endobj 106 0 obj << /Length 868 /Filter /FlateDecode >> stream x}UMk0WhFCۖ,{Mlh$73nw҃ͳ,]}{\Olo$ɝиI}s \wwu8{SC߬Y]j7KF½ Q5f6ӓ09]nD#y~/XOϦӾZkNTĩ(wA-&T9ˈ;n>yx#7ahݰ^g=a}9_(,u;_r985wѩƆ56}NMM₹ 5E9qv7rk u/A )`JbD>`2$`TY'``9&*8W`TR&4`(ZsJ5RH+h3}76Xš60aG+gıXF888sέ-.x]/+5MĹPN<1\?ǘt1:˿#7^YH{upQF^odž1BЖEQ?1^׆ƨqА.yaf%+CsV2GYŘS&ƞjЙ??grCOe zYJ|֟uМ8gΈrY}Ŋъ1LkYҊX׊ӊѻߊigngfg/>Cn!>_33/>?㓁EK!c?RMO #SZ1|8Gxp4aj9DQK.h. ljeuȢn( endstream endobj 107 0 obj << /Length 866 /Filter /FlateDecode >> stream x}UMo0+J! ᫊"Rj.RI73W3njNelܬ;WW\?pu4{SlY]jwOusR^u5sx0ZYs.G7fԝ_= S)E~ 2~}[4v "N'oGQ70j,#z7o;l,j'Ouc׿zr<:Q:XTߙOoGB ;ww ZԲWL)\]W|, MHS"#p #>y| #:##0)%V 55)FњSjR@J]!5w+>7+>S} u B|)W|FL| ,B/^ &+jRP׊C8ƒI\U E'j\2wAsGMMD>Nwq8"妋:9 endstream endobj 108 0 obj << /Length 866 /Filter /FlateDecode >> stream x}UMo0+J! ᫊"Rj.RI73W3njNelܬ;WW\?pu4{SlY]jwOusR^u5sx0ֳ0;]nL#;z,gS t;en>r8S0qj>w};B U5gѻ9x};a`TG?y:o&ߏE]&AjZu/?v_t|z;:ذfhkܸ_\zu \7g"NyOܵڿB`ilB =@ )U 9yI(J5<T` M55֜RhR 1ڟS(yq( buX& &q,1+N978Nsk`q8 ^8% FMq.5Sh@kO ׏p$q1/]}/ĩ»p^`D3F?x[a 1ec!/1g)cd?4dK^| МQV1Կ'1t?ƺ9Y?ГrYs֟'g)437YgD3\ib-z3zs ,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3 =L3z/gd ,gz)R؇O5_TTV *M2GZN(:pTy 8kn":qw{Y-7]%# endstream endobj 109 0 obj << /Length 867 /Filter /FlateDecode >> stream x}Un0CƆ"Rjn"73iwWU񛇱='$I}s=}}N=C'u]U;o_ϝ>'eP~&&O''3Hyڝ^ S)E~;en!jأc4qjz( 3F&Vݮ=Ɉ>8~;D>i|#7~_ga}>^=(-P7cjȨW1 kl֏Gsj4s&텻 \݄Wb MLS!"q #u!`Nȩ(( LFUjp49cIMh ,hPE4pbvŢ !\΀Ѹ 8!\=#2:x 1v9/8vӺuSqk4 "nXCI8'ľ&p 2<Wcǘ,_8Ϳ1bxb Ài',ymƌ&Q/kC^،1ۜ1q, Vu 3/d Ͷb l͘S&Ş c,Xu ֟_~CO` ?'>ψ:sh.Xgo\΄rYgBЏ>;gX|&}ggg݉gt3zw3|s3߉YX/gKzJrg^od ,gz)R؇O5_qTԼV j M2GFN(:pTy 8kn":qz~Y[rbtDn endstream endobj 110 0 obj << /Length 866 /Filter /FlateDecode >> stream x}UMo0+J! ᫊"Rjn" W3nj<4nV~ߝoGM?k]{7[7rSmtɛy=TCA:fzgdf)OS`)?>RTC)s}`ݵeDcc0qj~?t 3&TdDBmq`TG?9N CC? F`RޗS/~g> ilXcӷn<7,^e]׵͙Ssu_U4H6!L@@B@q\s *Cn!>_33/>?㓁EK!c?RMO #SZ1|8Gxp4aj9DQK.h ljeuOȢnE}MA endstream endobj 111 0 obj << /Length 866 /Filter /FlateDecode >> stream x}UMo0+J! ᫊"Rj.R!W3njNylܬ;WWМ~8׺2{SlݤMƓ7}zn݅9p/]A:fzfэ4RS`)?>RTO)s}`ݷp@c`."w( 3&TmL2ws!yva`TG?y7{֍]? F`RޗS/~g> ilXc3t5n/.XjR˺^o3L9g)q:#eNC?lыѣc`83ֲ3#>w+>Cӊ݊͊T_|~+>Cg!>cB|/g)g{!>_|&~'a9K!B>,TGbPq> stream x}UMo0+J! ᫊"Rjn"B73W3njehܬ;WWU\8׺v=ߩonTtƓ7]ziTCA:fzg 4R㫧~R~J}6O7}w̭uזSIе(TPfw۷莛n˥?8ޛ`~?n8t/3NbV+պ};:5wɩƆ56}Χ]]₥+U9q~=W(_KdR$| 4hd52HHNsL FU*q8cMMh QEk%RWp gn~ȋCam `42W0A/c9^'-pʹ)pq[[i])9^W5js7 Gb_#xb~ ' ˏ1}cLu'No ޅ0&1Ie76Z cx-~`& y%Q?K'!/h],KV0d 1էM=Ռ3g1Y ~i?'?!>L9g)q:#eNC?lыѣc`83ֲ3#>w+>Cӊ݊͊T_|~+>Cg!>cB|/g)g{!>_|&~'a9K!B>,TGbPq> stream x}UMo0+J! ᫊"Rjn"B73W3njehܬ;WWU\8׺v=ߩonTtƓ7]ziTCA:fM9Ηfi<WOlJQn8N[hEOrDz=4CH޾Gwt>X.Ouá{Qן tzutZ}]ˏѩ]3NN46[w>7,^e]׵͙SwPG*X$D F @F@k} 89@FJuFF#`R0JRq eF)kjBS` F5(Z#.9Bkx>w{7E^ kCXq pD zAet 8alSM3?rN%NbQDa 8>#h0\?I`\~KWc?qc.\X7ьO*ezl,d mY50ymȋ,aYʘ8 xAf_14g%cxU>ob쉬f 9돱ncsO{(g1?\֟g Yg 9LsQ.(ug^/u ?L[ V|FV|oV|3[: 3 ~!>CO!>S 33>Y^ ?a!SMW,:?8ÇqG湪N$ոd2 }ν_V,z薛.ZP endstream endobj 114 0 obj << /Length 719 /Filter /FlateDecode >> stream x}TMo0+J6*ħöUSEj9߯ IVcf͏睟ݛ{)^؝}]u:vzyu|CW$nmmΑmq5)M{`qjS5үxO%r^q &\TƦkw(:m>8+>4m="${Jљ8=tz-/nqOR|-M.nTSXlDmqb]goo*co߭r#el[⌷L @ baomBҽ$`$@B)@p@)p2 d Ί?a.e8s`Wg+`#)S%~8NTҌYE, (6*3FӪr44P#Yf͞hhӰCkE88+j"7G9~PpC+R2C#`p˜1q EE5=F]=7z&`qp&bð| _/cSMrΤ f/%m Ȱw \ԉCb֓x5cfw(:Kzgqf1iXg3Np y/hHS>W#/5ferTapC w=衡xz* endstream endobj 117 0 obj << /Producer (pdfTeX-1.40.25) /Creator (TeX) /CreationDate (D:20241029200759-04'00') /ModDate (D:20241029200759-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) kpathsea version 6.3.5) >> endobj 11 0 obj << /Type /ObjStm /N 68 /First 547 /Length 3448 /Filter /FlateDecode >> stream x[S_1-9TY[(*"F _wO3 }Z9}AU` a SBWŇJM0ԅ0ѻqE 0Pr *<PP΄a{ tIS=qvx;Xub`@9Ә,caU\/(J8HWi q/sakyl/%~R1ÐE E1>LAmԂs䯴E2ƯBy(A9pu@"3T8Z?] Ӏ;lӡi1T=6&F%cq0"C ܄X"D=|+]ERŤ {xx5:p$حGïŇ {>>: Sâ6B`P0٠p?Ea: NQQ1M=)>ܯNJ\G$s/ȭ5<;SG*FZuOYɎsHw X7owd?7Ȃ297Sy?NqW=䵝p15wÖke^2?QgCK`\c;l2X&,?TGPNɡzvz 4b*Z$ ˇ ߕN>EK7D :xDADmr8:᧜0 H e<כSC)5PЌS-VxWlȈتٙ56K A^>+:a !~v W37A6(2tH4HCamM=l>E9_FP ';+E鏒 }19JX˕AQs h{EZʞ>)ƣԧ5'O+h!Bpϵ欧 Ǥ95S\,%u ^d<4 QnfeuRgeq6ܾ!0@iEl ۂ˕z|FQ *4(i>2i(pϨ1eМIN/J)QGx&`2*sGs}Ȩv$ U}p6]CQ+Z[Ey /xTsqWc'%l\q]ey eMkM}(=-XjBg)|>Ib?YgݒN)8oN05.c*k yui4W Qkɼ9n* |MJR\9bfo^֘De}p, #@>g38F FI'tKf* GڱE\!qށV%b|\E1H<;]5u(q8U#a=9V)82ADO& ,/Bz\ D!ϒFxl[!0Ci>9я a"J2=<Z37#̧OiV=_E#7#YeJ UtB3/ioC[*AKs.B2PQqkuS*DE<4{@<@GzG閡\ Uhͮm%le>PSr(n3RY6:=#եYV6ห5BY(48?w|cpoз e<ך]Bs`~9mAcvE|c@ +B2oH{?w~7UɸW@AWE;앿eNn^I@fg?zqrVco&ȕ]"}|pq50=%ogfюvDJ⁡_BTh"mDsbZ*ks6˺<)YyQQ9.'U.bqsmr2 +eDLmrU hm.vS(_eXRBϐeJ_U]~k@goDzLXl[hbk邷ՈUshihxQCKYi"؈w_֣58¾+t99u9{HZmiԮwOvDKGKFC5|R&߰.r<:ʵ/6?C:6*lLkL*j0U۱k=fz zV>G/׍z˷{?QƟ{Gŕ>^hhx6}Sz0 SQP;y5u &Z;ͺN.lo؏]mV?bMe6d»z/'osF&iv\RE /ٺ1}iݙᙥ}z:K+Jt]Dž\}# 5 Z:f='a/sxr:y?&/[Rob{o";>d(f敩,vn ,Eߚ\iv,v/ ,EmbkZE>ݛbZV`ѯbb'4t)sOY4+g{i:Bi΢_Ÿ>ݛ_":bCDw ,vŴ<,j}pq-:XTmKXL:Cuvjm/V-/>_dTGz؉iB/+jOt1kcj aOzQB =+oP;yr^Sr- [6h'=;ck .: endstream endobj 118 0 obj << /Type /XRef /Index [0 119] /Size 119 /W [1 3 1] /Root 116 0 R /Info 117 0 R /ID [ ] /Length 364 /Filter /FlateDecode >> stream x%ѽKQ߇ƘXcIljhkD98uPK Y(B'{>i;(@$!L R's5'3Ɲ%qmyIސDɦ]$=e~>T~ dNo(遴Jy-p Fzw߭E]i~^āL>7+,y@6H4f4"/H ,ɑ<!I<"1)}Jp-KOyKcV;OR{kiّK6,M߾ yIKS~E,=G*լRc4/4 endstream endobj startxref 411874 %%EOF ConsensusClusterPlus/man/0000755000175200017520000000000014710217531016536 5ustar00biocbuildbiocbuildConsensusClusterPlus/man/ConsensusClusterPlus.Rd0000644000175200017520000001471514710217531023223 0ustar00biocbuildbiocbuild\name{ConsensusClusterPlus} \alias{ConsensusClusterPlus} \alias{calcICL} \title{ run ConsensusClusterPlus} \description{ ConsensusClusterPlus function for determing cluster number and class membership by stability evidence. calcICL function for calculating cluster-consensus and item-consensus. } \usage{ ConsensusClusterPlus( d=NULL, maxK = 3, reps=10, pItem=0.8, pFeature=1, clusterAlg="hc",title="untitled_consensus_cluster", innerLinkage="average", finalLinkage="average", distance="pearson", ml=NULL, tmyPal=NULL,seed=NULL,plot=NULL,writeTable=FALSE,weightsItem=NULL,weightsFeature=NULL,verbose=F,corUse="everything") calcICL(res,title="untitled_consensus_cluster",plot=NULL,writeTable=FALSE) } \arguments{ \item{d}{data to be clustered; either a data matrix where columns=items/samples and rows are features. For example, a gene expression matrix of genes in rows and microarrays in columns, or ExpressionSet object, or a distance object (only for cases of no feature resampling) } \item{maxK}{integer value. maximum cluster number to evaluate. } \item{reps}{integer value. number of subsamples. } \item{pItem}{numerical value. proportion of items to sample. } \item{pFeature}{numerical value. proportion of features to sample. } \item{clusterAlg}{character value. cluster algorithm. 'hc' hierarchical (hclust), 'pam' for paritioning around medoids, 'km' for k-means upon data matrix, or a function that returns a clustering. See example and vignette for more details. } \item{title}{ character value for output directory. Directory is created only if plot is not NULL or writeTable is TRUE. This title can be an abosulte or relative path. } \item{innerLinkage}{hierarchical linkage method for subsampling. } \item{finalLinkage}{hierarchical linkage method for consensus matrix. } \item{distance}{character value. 'pearson': (1 - Pearson correlation), 'spearman' (1 - Spearman correlation), 'euclidean', 'binary', 'maximum', 'canberra', 'minkowski" or custom distance function. } \item{ml}{optional. prior result, if supplied then only do graphics and tables.} \item{tmyPal}{optional character vector of colors for consensus matrix} \item{seed}{optional numerical value. sets random seed for reproducible results.} \item{plot}{character value. NULL - print to screen, 'pdf', 'png', 'pngBMP' for bitmap png, helpful for large datasets.} \item{writeTable}{logical value. TRUE - write ouput and log to csv.} \item{weightsItem}{optional numerical vector. weights to be used for sampling items.} \item{weightsFeature}{optional numerical vector. weights to be used for sampling features.} \item{res}{ result of consensusClusterPlus.} \item{verbose}{ boolean. If TRUE, print messages to the screen to indicate progress. This is useful for large datasets.} \item{corUse}{optional character value. specifies how to handle missing data in correlation distances 'everything','pairwise.complete.obs', 'complete.obs' see cor() for description.} } \details{ ConsensusClusterPlus implements the Consensus Clustering algorithm of Monti, et al (2003) and extends this method with new functionality and visualizations. Its utility is to provide quantitative stability evidence for determing a cluster count and cluster membership in an unsupervised analysis. ConsensusClusterPlus takes a numerical data matrix of items as columns and rows as features. This function subsamples this matrix according to pItem, pFeature, weightsItem, and weightsFeature, and clusters the data into 2 to maxK clusters by clusterArg clusteringAlgorithm. Agglomerative hierarchical (hclust) and kmeans clustering are supported by an option see above. For users wishing to use a different clustering algorithm for which many are available in R, one can supply their own clustering algorithm as a simple programming hook - see the second commented-out example that uses divisive hierarchical clustering. For a detailed description of usage, output and images, see the vignette by: openVignette(). } \value{ ConsensusClusterPlus returns a list of length maxK. Each element is a list containing consensusMatrix (numerical matrix), consensusTree (hclust), consensusClass (consensus class asssignments). ConsensusClusterPlus also produces images. calcICL returns a list of two elements clusterConsensus and itemConsensus corresponding to cluster-consensus and item-consensus. See Monti, et al (2003) for formulas. } \author{ Matt Wilkerson mdwilkerson@outlook.com Peter Waltman waltman@soe.ucsc.edu } \references{ Please cite the ConsensusClusterPlus publication, below, if you use ConsensusClusterPlus in a publication or presentation: Wilkerson, M.D., Hayes, D.N. (2010). ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking. Bioinformatics, 2010 Jun 15;26(12):1572-3. Original description of the Consensus Clustering method: Monti, S., Tamayo, P., Mesirov, J., Golub, T. (2003) Consensus Clustering: A Resampling-Based Method for Class Discovery and Visualization of Gene Expression Microarray Data. Machine Learning, 52, 91-118. } \examples{ # obtain gene expression data library(Biobase) data(geneData) d=geneData #median center genes dc = sweep(d,1, apply(d,1,median)) # run consensus cluster, with standard options rcc = ConsensusClusterPlus(dc,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example",distance="pearson",clusterAlg="hc") # same as above but with pre-computed distance matrix, useful for large datasets (>1,000's of items) dt = as.dist(1-cor(dc,method="pearson")) rcc2 = ConsensusClusterPlus(dt,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example2",distance="pearson",clusterAlg="hc") # k-means clustering rcc3 = ConsensusClusterPlus(d,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example3",distance="euclidean",clusterAlg="km") ### partition around medoids clustering with manhattan distance rcc4 = ConsensusClusterPlus(d,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example3",distance="manhattan",clusterAlg="pam") ## example of custom distance function as hook: myDistFunc = function(x){ dist(x,method="manhattan")} rcc5 = ConsensusClusterPlus(d,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example3",distance="myDistFunc",clusterAlg="pam") ##example of clusterAlg as hook: #library(cluster) #dianaHook = function(this_dist,k){ # tmp = diana(this_dist,diss=TRUE) # assignment = cutree(tmp,k) # return(assignment) #} #rcc6 = ConsensusClusterPlus(d,maxK=6,reps=25,pItem=0.8,pFeature=1,title="example",clusterAlg="dianaHook") ## ICL resICL = calcICL(rcc,title="example") } \keyword{ methods } ConsensusClusterPlus/vignettes/0000755000175200017520000000000014710274337020002 5ustar00biocbuildbiocbuildConsensusClusterPlus/vignettes/ConsensusClusterPlus.Rnw0000644000175200017520000004274614710217531024666 0ustar00biocbuildbiocbuild% \VignetteIndexEntry{ConsensusClusterPlus Tutorial} % \VignettePackage{ConsensusClusterPlus} \documentclass{article} \usepackage{graphicx} \begin{document} \title{ConsensusClusterPlus (Tutorial)} \author{ Matthew D. Wilkerson} \maketitle \SweaveOpts{keep.source=TRUE} \section{Summary} \texttt{ConsensusClusterPlus} is a tool for unsupervised class discovery. This document provides a tutorial of how to use \texttt{ConsensusClusterPlus}. \section{Brief description of \textit{Consensus Clustering} } \textit{Consensus Clustering} \cite{monti} is a method that provides quantitative evidence for determining the number and membership of possible clusters within a dataset, such as microarray gene expression. This method has gained popularity in cancer genomics, where new molecular subclasses of disease have been discovered \cite{hayes,verhaak}. The \textit{Consensus Clustering} method involves subsampling from a set of items, such as microarrays, and determines clusterings of specified cluster counts (\textit{k}). Then, pairwise \textit{consensus} values, the proportion that two items occupied the same cluster out of the number of times they occurred in the same subsample, are calculated and stored in a symmetrical \textit{consensus matrix} for each \textit{k}. The \textit{consensus matrix} is summarized in several graphical displays that enable a user to decide upon a reasonable cluster number and membership. A web-based version of \textit{Consensus Clustering} is publicly available \cite{gp}. For a formal description, see \cite{monti}. \\ \\ \texttt{ConsensusClusterPlus}\cite{wilkerson} implements the \textit{Consensus Clustering} method in \textit{R} and extends it with new features and graphical outputs that can aid users in class discovery. \section{Tutorial} There are three main steps to use \texttt{ConsensusClusterPlus}: preparing input data, running the program, and generating cluster-consensus and item-consensus. \subsection{Preparing input data} The first step is to gather some data for cluster analysis. These data could be the result of an experiment such as a mRNA expression microarray or immunohistochemical staining intensities. The input data format is a matrix where columns are samples (items), rows are features and cells are numerical values. For this tutorial, we use the ALL gene expression data from the ALL library. You can see the matrix d is already in the proper format. The column and row names, which correspond to the sample and gene names, will be maintained in the output. <<>>= library(ALL) data(ALL) d=exprs(ALL) d[1:5,1:5] @ For the purpose of selecting the most informative genes for class detection, we reduce the dataset to the top 5,000 most variable genes, measured by median absolute deviation. The choice of 5,000 genes and MAD can be substituted with other statistical variability filters. Users can decide what type of filtering to use or to skip filtering. Another choice would be to supply weights for sampling genes see weightsFeatures in Additional Options. <<>>= mads=apply(d,1,mad) d=d[rev(order(mads))[1:5000],] @ If one wants to transform or normalize their data, they can easily do so using other Bioconductor methods or a simple statement. We chose to use the default settings of the agglomerative hierarchical clustering algorithm using Pearson correlation distance, so it is appropriate to gene median center d using this simple statement: <<>>= d = sweep(d,1, apply(d,1,median,na.rm=T)) @ d is now ready for \texttt{ConsensusClusterPlus} analysis. \subsection{Running \texttt{ConsensusClusterPlus}} For this tutorial, we selected 80\% item resampling (pItem), 80\% gene resampling (pFeature), a maximum evalulated k of 6 so that cluster counts of 2,3,4,5,6 are evaluated (maxK), 50 resamplings (reps), agglomerative hierarchical clustering algorithm (clusterAlg) upon 1- Pearson correlation distances (distance), gave our output a title (title), and opted to have graphical results written to png files. We also used a specific random seed so that this example is repeatable (seed). \\ \\ ** Note: In practice, a much higher reps is recommended such as 1,000 and a higher cluster count such as 20. <>= library(ConsensusClusterPlus) title=tempdir() results = ConsensusClusterPlus(d,maxK=6,reps=50,pItem=0.8,pFeature=1, title=title,clusterAlg="hc",distance="pearson",seed=1262118388.71279,plot="png") @ <>= cat(sprintf("\\graphicspath{{%s}}", paste(gsub("[\\]","/",title),"/",sep=""))) cat("\n") @ The output of \texttt{ConsensusClusterPlus} is a list, in which the element of the list corresponds to results from the \textit{kth} cluster, for instance, results[[2]] is the results result of \textit{k}=2. The seed option specifies a random number seed and is used here for reproducibility of this tutorial. These list elements have the following elements: <>= #consensusMatrix - the consensus matrix. #For .example, the top five rows and columns of results for k=2: results[[2]][["consensusMatrix"]][1:5,1:5] #consensusTree - hclust object results[[2]][["consensusTree"]] #consensusClass - the sample classifications results[[2]][["consensusClass"]][1:5] #ml - consensus matrix result #clrs - colors for cluster @ See additional options section for further description of clustering algorithms and distance metrics. \subsection{Generating cluster and item consensus} After executing \texttt{ConsensusClusterPlus}, one can optionally calculate cluster-consensus and item-consensus results by: <<>>= icl = calcICL(results,title=title,plot="png") @ calcICL returns a list of two elements: <<>>= icl[["clusterConsensus"]] @ <<>>= icl[["itemConsensus"]][1:5,] @ \section{Graphic Output Description} The output of \texttt{ConsensusClusterPlus} consists of graphics, which are written to the screen, 'pdf' file, or 'png' files depending on the plot option; and numerical data which can be optionally written to a CSV file depending on the writeTable option. For large datasets, graphical displays can be quite large and plotting the consensus dendrogram above the consensus matrices may not be possible. If your dataset is large, the plot option 'pngBMP' which does not produce the consensus matrix dendrogram and uses the bitmap function rather png. Bitmap is often available natively on linux systems but can potentially be installed on other systems. \subsection{Consensus Matrices} The first graphic shows the consensus color legend. \\ <>= cat("\\includegraphics[width=60mm]{consensus001.png}",sep="") @ \\ The remaining graphics are heatmaps of the consensus matrices for \textit{k} = 2, 3, 4, 5 \cite{monti}. The consensus matrices have items as both rows and columns, which are microarrays in this example, and where consensus values range from 0 (never clustered together) to 1 (always clustered together) marked by white to dark blue. The consensus matrices are ordered by the consensus clustering which is depicted as a dendrogram atop the heatmap. To aid analysis, the cluster memberships are marked by colored rectangles between the dendrogram and heatmap according to a legend within the graphic. This enables a user to compare a clusters' member count in the context of their consensus. \\ <>= cat("\\includegraphics[width=60mm]{consensus002.png}",sep="") cat("\\includegraphics[width=60mm]{consensus003.png}",sep="") @ \\ <>= cat("\\includegraphics[width=60mm]{consensus004.png}",sep="") cat("\\includegraphics[width=60mm]{consensus005.png}",sep="") @ \\ \subsection{Consensus Cumulative Distribution Function (CDF) Plot} This graphic shows the cumulative distribution functions \cite{monti} of the consensus matrix for each \textit{k} (indicated by colors), estimated by a histogram of 100 bins. This figure allows a user to determine at what number of clusters, \textit{k}, the CDF reaches an approximate maximum, thus consensus and cluster confidence is at a maximum at this \textit{k}. See \cite{monti} for further details intepretation. \\ <>= cat("\\includegraphics[width=60mm]{consensus007.png}",sep="") @ \\ \subsection{Delta Area Plot} This graphic shows the relative change in area under the CDF curve \cite{monti} comparing \textit{k} and \textit{k} $-$ 1. For \textit{k} = 2, there is no \textit{k} -1, so the total area under the curve rather than the relative increase is plotted. This plot allows a user to determine the relative increase in consensus and determine \textit{k} at which there is no appreciable increase. See \cite{monti} for intepretation. \\ <>= cat("\\includegraphics[width=60mm]{consensus008.png}",sep="") @ \\ \subsection{Tracking Plot} This graphic shows the cluster assignment of items (columns) for each \textit{k} (rows) by color. The colors correspond to the colors of the consensus matrix class asssignments. Hatch marks below the plot indicate items/samples. This plot provides a view of item cluster membership across different \textit{k} and enables a user to track the history of clusters relative to earlier clusters. Items that change clusters often (changing colors within a column) are indicative of unstable membership. Clusters with an abundance of unstable members suggest an unstable cluster. \\ <>= cat("\\includegraphics[width=60mm]{consensus009.png}",sep="") @ \\ \subsection{Cluster-Consensus Plot} This graphic shows the \textit{cluster-consensus} value of clusters at each \textit{k}. This is the mean of all pairwise consensus values between a cluster's members. Cluster is indicated by color following the same color scheme as the cluster matrices and tracking plots. The bars are grouped by \textit{k} which is marked on the horizontal axis. High values indicate a cluster has high stability and low values indicate a cluster has low stability. This plot enables a user to view the mean cluster-consensus among clusters at a given \textit{k} and compare values of clusters across different \textit{k} via the color scheme. \\ <>= cat("\\includegraphics[width=60mm]{icl003.png}",sep="") @ \\ \subsection{Item-Consensus Plot} \textit{Item-consensus} values are the mean consensus of an item with all items in a particular cluster. An item has \textit{k} item-consensus values corresponding to each cluster at a particular \textit{k}. These values are depicted in barplots for each \textit{k}. Samples are stacked bars. \textit{Item-consensus} values are indicated by the heights of the colored portion of the bars, whose color corresponds to the common color scheme. Bars' rectangles are ordered by increasing value from bottom to top. The asterisks at the top indicate the consensus cluster for each item. \\ <>= cat("\\includegraphics[width=60mm]{icl001.png}",sep="") @ \\ This plot provides a view of item-consensus across all other clusters at a given \textit{k}. This enables a user to see if a sample is a very "pure" member of a cluster or if it shares high consensus to multiple clusters (large rectangles in a column of multiple colors), suggesting that it is an unstable or "unpure" member. These values could be used to select "core" samples similar to \cite{verhaak} that are highly representative of a cluster. Further, this plot can aid cluster number decisions. For instance, if a cluster consists mainly of members with very "unpure" items, then this evidence could be used to support a maximum cluster number at 1 below this \textit{k} or this evidence could support that this cluster is an outlier cluster. Decisions such as these are best to be made by the user in conjunction with other evidence such as consensus matrices, tracking plots, etc. \\ \\ \subsection{Additional details on options for \texttt{ConsensusClusterPlus} function} \begin{itemize} \item \textbf{d} This option specifies the data to be used in ConsensusClusterPlus. This is typically a matrix of numerical expression values, of which an example is provided in the Running ConsensusClusterPlus section of this document. When provided with a data matrix as d, ConsensusClusterPlus recalculates a distance matrix during each iteration. This recalculation is required if feature resampling is specified (pFeature less than 1). However with very large datasets (1,000's of items) and no feature resampling, this process can be time consuming and unnecessary. Alternatively, a pre-computed distance matrix can be provided as d, resulting in faster computation. An example of using a dist object as input follow below. <<>>= #example of providing a custom distance matrix as input: #dt = as.dist(1-cor(d,method="pearson")) #ConsensusClusterPlus(dt,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example2",distance="pearson",clusterAlg="hc") @ \item \textbf{distance}This option describes the distance metric to be used. A character value of one of the following metrics is accepted: pearson for (1 - Pearson correlation), spearman for (1 - Spearman correlation), euclidean, binary, maximum, canberra, minkowski. Alternatively a custom distance function cab be supplied for this argument, which accepts a numerical matrix (items as rows and features as columns) as input and returns a dist object. <<>>= #example of providing a custom distance function: #myDistFunc = function(x){ dist(x,method="manhattan")} #ConsensusClusterPlus(d,maxK=4,reps=100,pItem=0.8,pFeature=1,title="example3",distance="myDistFunc",clusterAlg="pam") @ \item \textbf{clusterAlg} This option specifies the type of clustering algorithm to use: "hc" for hierarchical clustering, "pam" for partioning around medoids, "km" for kmeans. Alternatively, one can supply their own clustering function, which should accept a distance matrix and a cluster number as its arguments and returns vector of cluster assignments having the same order as the distance matrix columns. For example, this simple function executes divisive clustering using the diana function from the cluster package and returns the expected object. The last line shows an example of how this could be used. <<>>= #library(cluster) #dianaHook = function(this_dist,k){ #tmp = diana(this_dist,diss=TRUE) #assignment = cutree(tmp,k) #return(assignment) #} #ConsensusClusterPlus(d,clusterAlg="dianaHook",distance="pearson",...) @ \item \textbf{update on kmeans options} "km" option performs kmeans clustering directly on a data matrix, with items and features resampled. \item \textbf{innerLinkage} This option specifies the linkage method to use in iterative agglomerative hierarchical clustering. Not applicable to other cluster algorithms. \item \textbf{finalLinkage} This option specifies the linkage method to use in the final agglomerative hierarchical clustering. \item \textbf{distance} This option specifies the distance metric to use: "pearson" for 1-Pearson correlation coefficient, "spearman" for 1-Spearman correlation coefficient, "euclidean" for Euclidean distance. \item \textbf{tmyPal} character vector of ordered colors to use for consensus matrix. If not specified, a series of white to blue colors is used. \item \textbf{writeTable} boolean. If TRUE, write consensus matrices, ICL, and log to file. \item \textbf{weightsFeature} numerical vector of weights for sampling features. See help for further details. \item \textbf{weightsItem} numerical vector of weights for sampling items. See help for further details. \item \textbf{verbose} boolean. If TRUE, print messages to the screen to indicate progress. This is useful for large datasets. \end{itemize} \begin{thebibliography}{} \bibitem{monti}Monti, S., Tamayo, P., Mesirov, J., Golub, T. (2003) Consensus Clustering: A Resampling-Based Method for Class Discovery and Visualization of Gene Expression Microarray Data. Machine Learning, 52, 91$-$118. \bibitem{wilkerson}Wilkerson, M.D., Hayes, D.N. (2010). ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking. Bioinformatics, 2010 Jun 15;26(12):1572$-$3. \bibitem{hayes}Hayes, D.N, Monti, S., Parmigiani, G. et al. (2006) Gene Expression Profiling Reveals Reproducible Human Lung Adenocarcinoma Subtypes in Multiple Independent Patient Cohorts. Journal of Clinical Oncology, 24 (31) 5079$-$5090. \bibitem{verhaak}Verhaak, R., Hoadley, K., et al. (2010) Integrated genomic analysis identifies clinically relevant subtypes of glioblastoma characterized by abnormalities in PDGFRA, IDH1, EGFR and NF1. Cancer Cell. 17,1-13. \bibitem{gp}\texttt{http://www.broadinstitute.org/cancer/software/genepattern/} \end{thebibliography} \subsection{Changes} \begin{itemize} \item Version 1.0.1. Item-consensus calculation was corrected. Consensus matrix heat maps are now guaranteed to correspond to the scale. \item Version 1.5.1. Version 1.0.1 changes were re-incorporated into Bioc 2.9, 2.8. Version 1.0.1 was part of Bioc 2.6, but not part of Bioc 2.7. \item Version 1.11.1. For large datasets, the input data (d) was modified to also accept a distance matrix which reduces computation time, and plotBMP was added a plot type so that large consensus matrices can be plotted. Internal data structures were modified to increase speed. Distance metric options expanded ("maximum", "manhattan", "canberra", "binary","minkowski" from dist) and custom distance function option added. Partitioning Around Mediods clustering (from cluster package) was added as a clustering algorithm. Kmeans invocation was changed to run on the data matrix by default. Kmeans invocation on a distance matrix is now possible by kmdist. \item Version Version 1.35.0 Added CITATION file, updated references, and man pages. \item Version 1.51.1 Breif R code update for compatibilty with R 4.0. Deprecated kmdist clustering option. \end{itemize} \end{document}