pcaMethods/COPYING0000644000175200017520000004311014516003735014721 0ustar00biocbuildbiocbuild GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. pcaMethods/DESCRIPTION0000644000175200017520000000442114516042207015373 0ustar00biocbuildbiocbuildPackage: pcaMethods Maintainer: Henning Redestig License: GPL (>= 3) Title: A collection of PCA methods LinkingTo: Rcpp LazyLoad: Yes Author: Wolfram Stacklies, Henning Redestig, Kevin Wright Authors@R: c(person(given="Wolfram", family="Stacklies", role=c("aut")), person(given="Henning", family="Redestig", email="henning.red@gmail.com", comment=c(ORCID="0000-0003-2130-9288"), role=c("aut","cre")), person(given="Kevin", family="Wright", comment=c(ORCID="0000-0002-0617-8673"), role="aut")) SystemRequirements: Rcpp Description: Provides Bayesian PCA, Probabilistic PCA, Nipals PCA, Inverse Non-Linear PCA and the conventional SVD PCA. A cluster based method for missing value estimation is included for comparison. BPCA, PPCA and NipalsPCA may be used to perform PCA on incomplete data as well as for accurate missing value estimation. A set of methods for printing and plotting the results is also provided. All PCA methods make use of the same data structure (pcaRes) to provide a common interface to the PCA results. Initiated at the Max-Planck Institute for Molecular Plant Physiology, Golm, Germany. Version: 1.94.0 URL: https://github.com/hredestig/pcamethods BugReports: https://github.com/hredestig/pcamethods/issues Encoding: UTF-8 Depends: Biobase, methods Imports: BiocGenerics, Rcpp (>= 0.11.3), MASS Suggests: matrixStats, lattice, ggplot2 Collate: 'derrorHierarchic.R' 'errorHierarchic.R' 'AllClasses.R' 'AllGenerics.R' 'BPCA_dostep.R' 'BPCA_initmodel.R' 'bpca.R' 'checkData.R' 'forkNlpcaNet.R' 'kEstimate.R' 'kEstimateFast.R' 'lineSearch.R' 'llsImpute.R' 'methods-ExpressionSet.R' 'methods-nniRes.R' 'methods-pcaRes.R' 'nipalsPca.R' 'nlpca.R' 'optiAlgCgd.R' 'orth.R' 'pca.R' 'pcaMethods-package.R' 'ppca.R' 'prep.R' 'repmat.R' 'robustPca.R' 'sortFeatures.R' 'svdImpute.R' 'vector2matrices.R' 'xval.R' Packaged: 2023-10-24 22:26:15 UTC; biocbuild biocViews: Bayesian RoxygenNote: 6.1.1 git_url: https://git.bioconductor.org/packages/pcaMethods git_branch: RELEASE_3_18 git_last_commit: 5bb47fc git_last_commit_date: 2023-10-24 Date/Publication: 2023-10-24 NeedsCompilation: yes pcaMethods/NAMESPACE0000644000175200017520000000236214516003735015111 0ustar00biocbuildbiocbuild# Generated by roxygen2: do not edit by hand S3method(biplot,pcaRes) S3method(dim,pcaRes) S3method(fitted,pcaRes) S3method(loadings,pcaRes) S3method(plot,pcaRes) S3method(predict,pcaRes) S3method(residuals,pcaRes) S3method(scores,pcaRes) S3method(summary,pcaRes) export(Q2) export(RnipalsPca) export(asExprSet) export(bpca) export(checkData) export(cvseg) export(kEstimate) export(kEstimateFast) export(listPcaMethods) export(llsImpute) export(nipalsPca) export(nlpca) export(nni) export(pca) export(plotPcs) export(ppca) export(prep) export(robustPca) export(robustSvd) export(showNniRes) export(showPcaRes) export(svdImpute) export(svdPca) exportClasses(nlpcaNet) exportClasses(nniRes) exportClasses(pcaRes) exportMethods(DModX) exportMethods(R2VX) exportMethods(R2cum) exportMethods(center) exportMethods(centered) exportMethods(completeObs) exportMethods(cvstat) exportMethods(leverage) exportMethods(loadings) exportMethods(method) exportMethods(nObs) exportMethods(nP) exportMethods(nPcs) exportMethods(nVar) exportMethods(nmissing) exportMethods(sDev) exportMethods(scaled) exportMethods(scl) exportMethods(scores) exportMethods(slplot) exportMethods(wasna) import(Biobase) import(BiocGenerics) import(methods) importFrom(Rcpp,evalCpp) useDynLib(pcaMethods) pcaMethods/R/0000755000175200017520000000000014516003735014070 5ustar00biocbuildbiocbuildpcaMethods/R/AllClasses.R0000644000175200017520000003074414516003735016251 0ustar00biocbuildbiocbuild##' @include errorHierarchic.R ##' @include derrorHierarchic.R NULL ##' This is a class representation of a non-linear PCA neural ##' network. The \code{nlpcaNet} class is not meant for user-level ##' usage. ##' ##' Creating Objects ##' ##' \code{new("nlpcaNet", net=[the network structure], ##' hierarchic=[hierarchic design], ##' fct=[the functions at each layer], fkt=[the functions used for ##' forward propagation], weightDecay=[incremental decrease of weight ##' changes over iterations (between 0 and 1)], featureSorting=[sort ##' features or not], dataDist=[represents the present values], ##' inverse=[net is inverse mode or not], fCount=[amount of times ##' features were sorted], componentLayer=[which layer is the ##' 'bottleneck' (principal components)], ##' erro=[the used error function], gradient=[the used gradient method], ##' weights=[the present weights], ##' maxIter=[the amount of iterations that was done], scalingFactor=[the ##' scale of the original matrix])} ##' ##' Slots ##' ##' \describe{ ##' \item{net}{"matrix", matrix showing the representation of the ##' neural network, e.g. (2,4,6) for a network with two features, a ##' hidden layer and six output neurons (original variables).} ##' \item{hierarchic}{"list", the hierarchic design of the network, ##' holds 'idx' (), 'var' () and layer (which layer is the principal ##' component layer).} ##' \item{fct}{"character", a vector naming the functions that will be ##' applied on each layer. "linr" is linear (i.e.) standard matrix ##' products and "tanh" means that the arcus tangens is applied on the ##' result of the matrix product (for non-linearity).} ##' \item{fkt}{"character", same as fct but the functions used during ##' back propagation.} ##' \item{weightDecay}{"numeric", the value that is used to ##' incrementally decrease the weight changes to ensure convergence.} ##' \item{featureSorting}{"logical", indicates if features will be ##' sorted or not. This is used to make the NLPCA assume properties ##' closer to those of standard PCA were the first component is more ##' important for reconstructing the data than the second component.} ##' \item{dataDist}{"matrix", a matrix of ones and zeroes indicating ##' which values will add to the errror.} ##' \item{inverse}{"logical", network is inverse mode (currently only ##' inverse is supported) or not. Eg. the case when we have truly ##' missing values and wish to impute them.} ##' \item{fCount}{"integer", Counter for the amount of times features ##' were really sorted.} ##' \item{componentLayer}{"numeric", the index of 'net' that is the ##' component layer.} ##' \item{error}{"function", the used error function. Currently only one ##' is provided \code{errorHierarchic}.} ##' \item{gradient}{"function", the used gradient function. Currently ##' only one is provided \code{derrorHierarchic}} ##' \item{weights}{"list", A list holding managements of the ##' weights. The list has two functions, weights$current() and ##' weights$set() which access a matrix in the local environment of ##' this object.} ##' \item{maxIter}{"integer", the amount of iterations used to train ##' this network.} ##' \item{scalingFactor}{"numeric", training the network is best made ##' with 'small' values so the original data is scaled down to a ##' suitable range by division with this number.}} ##' ##' Methods ##' ##' \describe{ \item{vector2matrices}{Returns the ##' weights in a matrix representation.} } ##' @title Class representation of the NLPCA neural net ##' @docType class ##' @aliases nlpcaNet nlpcaNet-class ##' @seealso \code{\link{nlpca}} ##' @aliases nFit nFit-class ##' @exportClass nlpcaNet ##' @keywords classes ##' @name pcaNet ##' @author Henning Redestig setClass("nlpcaNet", representation(net="matrix", hierarchic="list", fct="character", fkt="character", weightDecay="numeric", featureSorting="logical", dataDist="matrix", inverse="logical", fCount="integer", componentLayer="integer", error="function", gradient="function", weights="list", maxIter="integer", scalingFactor="numeric"), prototype(net=rbind(c(4,6,2,6,4)), hierarchic=list(var=rbind(c(1,1,0.01)), layer=3, idx=rbind(c(1,1,0),c(0,1,1))), fct=c("linr", "tanh", "linr", "tanh", "linr"), fkt=c("tanh", "linr", "tanh", "linr"), weightDecay=0.001, featureSorting=TRUE, inverse=FALSE, dataDist=NULL, fCount=as.integer(0), componentLayer=as.integer(3), error=errorHierarchic, gradient=derrorHierarchic, weights=NULL, maxIter=as.integer(1200), scalingFactor=NULL)) setAs("NULL", "nlpcaNet", function(from, to){ new(to) }) ##' This is a class representation of a PCA result ##' ##' \bold{Creating Objects}\cr ##' \code{new("pcaRes", scores=[the scores], loadings=[the loadings], ##' nPcs=[amount of PCs], R2cum=[cumulative R2], nObs=[amount of ##' observations], nVar=[amount of variables], R2=[R2 for each ##' individual PC], sDev=[stdev for each individual PC], ##' centered=[was data centered], center=[original means], ##' varLimit=[what variance limit was exceeded], method=[method used to ##' calculate PCA], missing=[amount of NAs], ##' completeObs=[estimated complete observations])} ##' ##' \bold{Slots}\cr ##' \describe{ ##' \item{scores}{"matrix", the calculated scores} ##' \item{loadings}{"matrix", the calculated loadings} ##' \item{R2cum}{"numeric", the cumulative R2 values} ##' \item{sDev}{"numeric", the individual standard ##' deviations of the score vectors} ##' \item{R2}{"numeric", the individual R2 values} ##' \item{cvstat}{"numeric", cross-validation statistics} ##' \item{nObs}{"numeric", number of observations} ##' \item{nVar}{"numeric", number of variables} ##' \item{centered}{"logical", data was centered or not} ##' \item{center}{"numeric", the original variable centers} ##' \item{scaled}{"logical", data was scaled or not} ##' \item{scl}{"numeric", the original variable scales} ##' \item{varLimit}{"numeric", the exceeded variance limit} ##' \item{nPcs,nP}{"numeric", the number of calculated PCs} ##' \item{method}{"character", the method used to perform PCA} ##' \item{missing}{"numeric", the total amount of missing values in ##' original data} ##' \item{completeObs}{"matrix", the estimated complete observations} ##' \item{network}{"nlpcaNet", the network used by non-linear PCA} ##' } ##' ##' \bold{Methods (not necessarily exhaustive)}\cr ##' \describe{ ##' \item{print}{Print function} ##' \item{summary}{Extract information about PC relevance} ##' \item{screeplot}{Plot a barplot of standard deviations for PCs} ##' \item{slplot}{Make a side by side score and loadings plot} ##' \item{nPcs}{Get the number of PCs} ##' \item{nObs}{Get the number of observations} ##' \item{cvstat}{Cross-validation statistics} ##' \item{nVar}{Get the number of variables} ##' \item{loadings}{Get the loadings} ##' \item{scores}{Get the scores} ##' \item{dim}{Get the dimensions (number of observations, number of ##' features)} ##' \item{centered}{Get a logical indicating if centering was done as ##' part of the model} ##' \item{center}{Get the averages of the original variables.} ##' \item{completeObs}{Get the imputed data set} ##' \item{method}{Get a string naming the used PCA method} ##' \item{sDev}{Get the standard deviations of the PCs} ##' \item{scaled}{Get a logical indicating if scaling was done as ##' part of the model} ##' \item{scl}{Get the scales of the original variablesb} ##' \item{R2cum}{Get the cumulative R2} ##' } ##' @title Class for representing a PCA result ##' @keywords classes ##' @exportClass pcaRes ##' @docType class ##' @name pcaRes ##' @aliases pcaRes pcaRes-class ##' @author Henning Redestig setClass("pcaRes", representation(completeObs="matrix", scores="matrix", loadings="matrix", R2cum="numeric", R2="numeric", # ditch, get from R2cum cvstat="numeric", # ditch, get from R2cum sDev="numeric", # ditch, get from scores nObs="numeric", # ditch, get from scores nVar="numeric", centered="logical", center="numeric", subset="numeric", scaled="character", scale="numeric", varLimit="numeric", # ditch, useless nPcs="numeric", # ditch, get from scores method="character", missing="matrix", network="nlpcaNet"), prototype(completeObs=NULL, scores=NULL, loadings=NULL, R2cum=NULL, R2=NULL, subset=NULL, cvstat=NULL, sDev=NULL, nObs=NULL, nVar=NULL, centered=NULL, center=NULL, scaled=NULL, scale=NULL, varLimit=NULL, nPcs=NULL, method=NULL, missing=NULL, network=NULL)) setAs("NULL", "pcaRes", function(from, to){ new(to) }) ##' This is a class representation of nearest neighbour imputation ##' (nni) result ##' ##' \bold{Creating Objects}\cr ##' \code{new("nniRes", completeObs=[the estimated complete ##' observations], k=[cluster size], nObs=[amount of observations], ##' nVar=[amount of variables], centered=[was the data centered befor ##' running LLSimpute], center=[original means], method=[method used ##' to perform clustering], missing=[amount of NAs])} ##' ##' \bold{Slots}\cr ##' \describe{ ##' \item{completeObs}{"matrix", the estimated complete observations} ##' \item{nObs}{"numeric", amount of observations} ##' \item{nVar}{"numeric", amount of variables} ##' \item{correlation}{"character", the correlation method used ##' (pearson, kendall or spearman)} ##' \item{centered}{"logical", data was centered or not} ##' \item{center}{"numeric", the original variable centers} ##' \item{k}{"numeric", cluster size} ##' \item{method}{"character", the method used to perform the clustering} ##' \item{missing}{"numeric", the total amount of missing values in ##' original data} ##' } ##' ##' \bold{Methods}\cr ##' \describe{ \item{print}{Print function} } ##' @title Class for representing a nearest neighbour imputation result ##' @docType class ##' @exportClass nniRes ##' @name nniRes ##' @keywords classes ##' @aliases nniRes nniRes-class ##' @author Wolfram Stacklies setClass("nniRes", representation(completeObs="matrix", nObs="numeric", nVar="numeric", centered="logical", center="numeric", k="numeric", method="character", correlation="character", missing="numeric"), prototype(completeObs=NULL, nObs=NULL, nVar=NULL, centered=NULL, center=NULL, k=NULL, method=NULL, correlation=NULL, missing=NULL)) setAs("NULL", "nniRes", function(from, to) { new(to) }) ##' Create an object that holds the weights for nlpcaNet. Holds and ##' sets weights in using an environment object. ##' @param w \code{matrix} -- New weights ##' @return A weightsAccound with \code{set} and \code{current} ##' functions. ##' @author Henning Redestig weightsAccount <- function(w) { list( set = function(newWeights) { if(!inherits(newWeights, "matrix")) stop("The weights must inherit from matrix") w <<- newWeights }, current = function() { w } ) } pcaMethods/R/AllGenerics.R0000644000175200017520000000456514516003735016415 0ustar00biocbuildbiocbuildsetGeneric("vector2matrices", function(object, ...) standardGeneric("vector2matrices")) ##' @exportMethod leverage setGeneric("leverage", function(object, ...) standardGeneric("leverage")) ##' @exportMethod DModX setGeneric("DModX", function(object, dat, newdata=FALSE, type=c("normalized","absolute"), ...) standardGeneric("DModX")) ##' @exportMethod nP setGeneric("nP", function(object, ...) standardGeneric("nP")) ##' @exportMethod cvstat setGeneric("cvstat", function(object, ...) standardGeneric("cvstat")) ##' @exportMethod nPcs setGeneric("nPcs", function(object, ...) standardGeneric("nPcs")) ##' @exportMethod nObs setGeneric("nObs", function(object, ...) standardGeneric("nObs")) ##' @exportMethod nVar setGeneric("nVar", function(object, ...) standardGeneric("nVar")) ##' @exportMethod centered setGeneric("centered", function(object, ...) standardGeneric("centered")) ##' @exportMethod center setGeneric("center", function(object, ...) standardGeneric("center")) ##' @exportMethod completeObs setGeneric("completeObs", function(object, ...) standardGeneric("completeObs")) ##' @exportMethod method setGeneric("method", function(object, ...) standardGeneric("method")) ##' @exportMethod nmissing setGeneric("nmissing", function(object, ...) standardGeneric("nmissing")) ##' @exportMethod wasna setGeneric("wasna", function(object, ...) standardGeneric("wasna")) ##' @exportMethod sDev setGeneric("sDev", function(object, ...) standardGeneric("sDev")) ##' @exportMethod scaled setGeneric("scaled", function(object, ...) standardGeneric("scaled")) ##' @exportMethod scl setGeneric("scl", function(object, ...) standardGeneric("scl")) ##' @exportMethod R2cum setGeneric("R2cum", function(object, ...) standardGeneric("R2cum")) ##' @exportMethod slplot setGeneric("slplot", function(object, pcs=c(1,2), scoresLoadings=c(TRUE, TRUE), sl="def", ll="def", hotelling=0.95, rug=TRUE, sub=NULL,...) standardGeneric("slplot")) ##' @exportMethod scores setGeneric("scores", function(object, ...) standardGeneric("scores")) ##' @exportMethod loadings setGeneric("loadings", function(object, ...) standardGeneric("loadings")) ##' @exportMethod R2VX setGeneric("R2VX", function(object, ...) standardGeneric("R2VX")) ## @exportMethod prep #setGeneric("prep", function(object, ...) standardGeneric("prep")) pcaMethods/R/BPCA_dostep.R0000644000175200017520000000543714516003735016307 0ustar00biocbuildbiocbuild##' The function contains the actual implementation of the BPCA ##' component estimation. It performs one step of the BPCA EM ##' algorithm. It is called 'maxStep' times from within the main loop ##' in BPCAestimate. ##' ##' This function is NOT intended to be run standalone. ##' @title Do BPCA estimation step ##' @param M Data structure containing all needed information. See the ##' source documentation of BPCA_initmodel for details ##' @param y Numeric original data matrix ##' @return Updated version of the data structure ##' @author Wolfram Stacklies BPCA_dostep <- function(M,y) { ## Empty matrix in which the scores are copied M$scores <- matrix(NA, M$rows, M$comps) ## Expectation step for data without missing values Rx <- diag(M$comps) + M$tau * t(M$PA) %*% M$PA + M$SigW Rxinv <- solve(Rx) idx <- M$row_nomiss if (length(idx) == 0) { trS <- 0 T <- 0 } else { dy <- y[idx,, drop=FALSE] - repmat(M$mean, length(idx), 1) x <- M$tau * Rxinv %*% t(M$PA) %*% t(dy) T <- t(dy) %*% t(x) trS <- sum(sum(dy * dy)) ## Assign the scores for complete rows xTranspose <- t(x) for (i in 1:length(idx)) { M$scores[idx[i],] <- xTranspose[i,] } } ## Expectation step for incomplete data if( length(M$row_miss) > 0) { for(n in 1:length(M$row_miss)) { i <- M$row_miss[n] dyo <- y[ i, !M$nans[i,], drop=FALSE] - M$mean[ !M$nans[i,], drop=FALSE] Wm <- M$PA[ M$nans[i,],, drop=FALSE] Wo <- M$PA[ !M$nans[i,],, drop=FALSE] Rxinv <- solve( (Rx - M$tau * t(Wm) %*% Wm)) ex <- M$tau * t(Wo) %*% t(dyo) x <- Rxinv %*% ex dym <- Wm %*% x dy <- y[i,, drop=FALSE] dy[ !M$nans[i,] ] <- t(dyo) dy[ M$nans[i,] ] <- t(dym) M$yest[i,] <- dy + M$mean T <- T + t(dy) %*% t(x) T[ M$nans[i,], ] <- T[ M$nans[i,],, drop=FALSE] + Wm %*% Rxinv trS <- trS + dy %*% t(dy) + sum(M$nans[i,]) / M$tau + sum( diag(Wm %*% Rxinv %*% t(Wm)) ) trS <- trS[1,1] ## Assign the scores for rows containing missing values M$scores[M$row_miss[n],] <- t(x) } } T <- T / M$rows trS <- trS / M$rows ## Maximation step Rxinv <- solve(Rx) Dw <- Rxinv + M$tau * t(T) %*% M$PA %*% Rxinv + diag(M$alpha, nrow = length(M$alpha)) / M$rows Dwinv <- solve(Dw) M$PA <- T %*% Dwinv ## The new estimate of the principal axes (loadings) M$tau <- (M$cols + 2 * M$gtau0 / M$rows) / (trS - sum(diag(t(T) %*% M$PA)) + (M$mean %*% t(M$mean) * M$gmu0 + 2 * M$gtau0 / M$btau0) / M$rows) M$tau <- M$tau[1,1] ## convert to scalar M$SigW <- Dwinv * (M$cols / M$rows) M$alpha <- (2 * M$galpha0 + M$cols) / (M$tau * diag(t(M$PA) %*% M$PA) + diag(M$SigW) + 2 * M$galpha0 / M$balpha0) return(M) } pcaMethods/R/BPCA_initmodel.R0000644000175200017520000000510314516003735016763 0ustar00biocbuildbiocbuild##' Model initialization for Bayesian PCA. This function is NOT ##' inteded to be run separately! ##' ##' The function calculates the initial Eigenvectors by use of SVD ##' from the complete rows. The data structure M is created and ##' initial values are assigned. ##' @title Initialize BPCA model ##' @param y numeric matrix containing missing values. Missing values ##' are denoted as 'NA' ##' @param components Number of components used for estimation ##' @return List containing ##' \item{rows}{Row number of input matrix} ##' \item{cols}{Column number of input matrix} ##' \item{comps}{Number of components to use} ##' \item{yest}{(working variable) current estimate of complete data} ##' \item{row_miss}{(Array) Indizes of rows containing missing values} ##' \item{row_nomiss}{(Array) Indices of complete rows (such with no ##' missing values)} ##' \item{nans}{Matrix of same size as input data. TRUE if \code{input == NA}, ##' false otherwise} ##' \item{mean}{Column wise data mean} ##' \item{PA}{ (d x k) Estimated principal axes (eigenvectors, ##' loadings) The matrix ROWS are the vectors} ##' \item{tau}{Estimated precision of the residual error} ##' \item{scores}{ Estimated scores} ##' Further elements are: galpha0, balpha0, alpha, gmu0, btau0, gtau0, ##' SigW. These are working variables or constants. ##' @author Wolfram Stacklies BPCA_initmodel <- function(y, components) { ## Initialization, write static parameters to the central M <- NULL M$rows <- nrow(y) M$cols <- ncol(y) M$comps <- components ## Column number M$yest <- y ## Original data, NAs are set to 0 later on ## Find rows with missing values, etc... M$nans <- is.na(y) temp <- apply(M$nans, 1, sum) M$row_nomiss <- which(temp == 0) M$row_miss <- which(temp != 0) M$yest[M$nans] <- 0 M$scores <- NULL ## Get the SVD of the complete rows covy <- cov(M$yest) values <- svd(covy, components, components) U <- values[[2]] S <- diag( values[[1]][1:components], nrow = components, ncol = components) V <- values[[3]] ## M$mean: column wise mean of the original data M$mean <- matrix(0, 1, M$cols) for(j in 1:M$cols) { idx <- which(!is.na(y[,j])) M$mean[j] <- mean(y[idx,j]) } M$PA <- U %*% sqrt(S) M$tau <- 1 / ( sum(diag(covy)) - sum(diag(S)) ) ## Constants etc taumax <- 1e10 taumin <- 1e-10 M$tau <- max( min(M$tau, taumax), taumin ) M$galpha0 <- 1e-10 M$balpha0 <- 1 M$alpha <- (2 * M$galpha0 + M$cols) / (M$tau * diag(t(M$PA) %*% M$PA) + 2 * M$galpha0 / M$balpha0) M$gmu0 <- 0.001 M$btau0 <- 1 M$gtau0 <- 1e-10 M$SigW <- diag(components) return(M) } pcaMethods/R/bpca.R0000644000175200017520000001615614516003735015131 0ustar00biocbuildbiocbuild##' Implements a Bayesian PCA missing value estimator. The script ##' is a port of the Matlab version provided by Shigeyuki OBA. See ##' also \url{http://ishiilab.jp/member/oba/tools/BPCAFill.html}. ##' BPCA combines an EM approach for PCA with a Bayesian model. In ##' standard PCA data far from the training set but close to the ##' principal subspace may have the same reconstruction error. BPCA ##' defines a likelihood function such that the likelihood for data ##' far from the training set is much lower, even if they are close to ##' the principal subspace. ##' ##' Scores and loadings obtained with Bayesian PCA slightly differ ##' from those obtained with conventional PCA. This is because BPCA ##' was developed especially for missing value estimation. The ##' algorithm does not force orthogonality between factor loadings, as ##' a result factor loadings are not necessarily orthogonal. However, ##' the BPCA authors found that including an orthogonality criterion ##' made the predictions worse. ##' ##' The authors also state that the difference between real and ##' predicted Eigenvalues becomes larger when the number of ##' observation is smaller, because it reflects the lack of ##' information to accurately determine true factor loadings from the ##' limited and noisy data. As a result, weights of factors to ##' predict missing values are not the same as with conventional PCA, ##' but the missing value estimation is improved. ##' ##' BPCA works iteratively, the complexity is growing with ##' \eqn{O(n^3)}{O(n^3)} because several matrix inversions are ##' required. The size of the matrices to invert depends on the ##' number of components used for re-estimation. ##' ##' Finding the optimal number of components for estimation is not a ##' trivial task; the best choice depends on the internal structure of ##' the data. A method called \code{kEstimate} is provided to ##' estimate the optimal number of components via cross validation. ##' In general few components are sufficient for reasonable estimation ##' accuracy. See also the package documentation for further ##' discussion about on what data PCA-based missing value estimation ##' makes sense. ##' ##' It is not recommended to use this function directely but rather to ##' use the pca() wrapper function. ##' ##' There is a difference with respect the interpretation of rows ##' (observations) and columns (variables) compared to matlab ##' implementation. For estimation of missing values for microarray ##' data, the suggestion in the original bpca is to intepret genes as ##' observations and the samples as variables. In pcaMethods however, ##' genes are interpreted as variables and samples as observations ##' which arguably also is the more natural interpretation. For bpca ##' behavior like in the matlab implementation, simply transpose your ##' input matrix. ##' ##' Details about the probabilistic model underlying BPCA are found in ##' Oba et. al 2003. The algorithm uses an expectation maximation ##' approach together with a Bayesian model to approximate the ##' principal axes (eigenvectors of the covariance matrix in PCA). ##' The estimation is done iteratively, the algorithm terminates if ##' either the maximum number of iterations was reached or if the ##' estimated increase in precision falls below \eqn{1e^{-4}}{1e^-4}. ##' ##' \bold{Complexity:} The relatively high complexity of the method is ##' a result of several matrix inversions required in each step. ##' Considering the case that the maximum number of iteration steps is ##' needed, the approximate complexity is given by the term ##' \deqn{maxSteps \cdot row_{miss} \cdot O(n^3)}{maxSteps * row_miss ##' * O(n^3)} Where \eqn{row_{miss}}{row_miss} is the number of rows ##' containing missing values and \eqn{O(n^3)}{O(n^3)} is the ##' complexity for inverting a matrix of size ##' \eqn{components}{components}. Components is the number of ##' components used for re-estimation. ##' @title Bayesian PCA missing value estimation ##' @param Matrix \code{matrix} -- Pre-processed matrix (centered, ##' scaled) with variables in columns and observations in rows. The ##' data may contain missing values, denoted as \code{NA}. ##' @param nPcs \code{numeric} -- Number of components used for ##' re-estimation. Choosing few components may decrease the ##' estimation precision. ##' @param maxSteps \code{numeric} -- Maximum number of estimation ##' steps. ##' @param verbose \code{boolean} -- BPCA prints the number of steps ##' and the increase in precision if set to TRUE. Default is ##' interactive(). ##' @param threshold convergence threshold ##' @param ... Reserved for future use. Currently no further ##' parameters are used ##' @return Standard PCA result object used by all PCA-based methods ##' of this package. Contains scores, loadings, data mean and ##' more. See \code{\link{pcaRes}} for details. ##' @references Shigeyuki Oba, Masa-aki Sato, Ichiro Takemasa, Morito ##' Monden, Ken-ichi Matsubara and Shin Ishii. A Bayesian missing ##' value estimation method for gene expression profile ##' data. \emph{Bioinformatics, 19(16):2088-2096, Nov 2003}, ##' \url{https://doi.org/10.1093/bioinformatics/btg287}. ##' @seealso \code{\link{ppca}}, \code{\link{svdImpute}}, ##' \code{\link{prcomp}}, \code{\link{nipalsPca}}, ##' \code{\link{pca}}, ##' \code{\link{pcaRes}}. \code{\link{kEstimate}}. ##' @note Requires \code{MASS}. ##' @examples ##' ## Load a sample metabolite dataset with 5\% missig values (metaboliteData)e ##' data(metaboliteData) ##' ## Perform Bayesian PCA with 2 components ##' pc <- pca(t(metaboliteData), method="bpca", nPcs=2) ##' ## Get the estimated principal axes (loadings) ##' loadings <- loadings(pc) ##' ## Get the estimated scores ##' scores <- scores(pc) ##' ## Get the estimated complete observations ##' cObs <- completeObs(pc) ##' ## Now make a scores and loadings plot ##' slplot(pc) ##' \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteData))^2, na.rm=TRUE) < 200)} ##' @keywords multivariate ##' @export ##' @author Wolfram Stacklies bpca <- function(Matrix, nPcs=2, maxSteps=100, verbose=interactive(), threshold=1e-4, ... ) { ## R implementation of a Bayesion PCA missing value estimator. ## After the Matlab script of Shigeyuki OBA (2002 May. 5th) ## See also: http://hawaii.aist-nara.ac.jp/%7Eshige-o/tools/ ## Great thanks to them! M <- BPCA_initmodel(Matrix, nPcs) tauold <- 1000 for( step in 1:maxSteps ) { M <- BPCA_dostep(M, Matrix) if( step %% 10 == 0 ) { tau <- M$tau dtau <- abs(log10(tau) - log10(tauold)) if ( verbose ) { cat("Step Number : ", step, '\n') cat("Increase in precision : ", dtau, '\n') cat("----------", '\n') } if (dtau < threshold) { break } tauold <- tau } } R2cum <- rep(NA, nPcs) TSS <- sum(Matrix^2, na.rm=TRUE) for (i in 1:nPcs) { difference <- Matrix - (M$scores[,1:i, drop=FALSE] %*% t(M$PA[,1:i, drop=FALSE]) ) R2cum[i] <- 1 - (sum(difference^2, na.rm=TRUE) / TSS) } result <- new("pcaRes") result@scores <- M$scores result@loadings <- M$PA result@R2cum <- R2cum result@method <- "bpca" return(result) } pcaMethods/R/checkData.R0000644000175200017520000000537314516003735016072 0ustar00biocbuildbiocbuild##' Check a given data matrix for consistency with the format ##' required for further analysis. ##' The data must be a numeric matrix and not contain: ##' \itemize{ ##' \item Inf values ##' \item NaN values ##' \item Rows or columns that consist of NA only ##' } ##' @title Do some basic checks on a given data matrix ##' @param data \code{matrix} -- Data to check. ##' @param verbose \code{boolean} -- If TRUE, the function prints ##' messages whenever an error in the data set is found. ##' @return \item{isValid}{\code{boolean} -- TRUE if no errors were ##' found, FALSE otherwise. isValid contains a set of attributes, ##' these are: \itemize{ \item isNumeric - TRUE if data is numeric, ##' false otherwise \item isInfinite - TRUE if data contains 'Inf' ##' values, false otherwise \item isNaN - TRUE if data contains 'NaN' ##' values, false otherwise \item isMatrix - TRUE if the data is in ##' matrix format, FALSE otherwise \item naRows - TRUE if data ##' contains rows in which all elements are 'NA', FALSE otherwise ##' \item naCols - TRUE if data contains columns in which all elements ##' are 'NA', FALSE otherwise }} ##' @keywords multivariate ##' @export ##' @author Wolfram Stacklies checkData <- function(data, verbose = FALSE) { isValid <- TRUE isNumeric <- TRUE isInfinite <- FALSE isNaN <- FALSE isMatrix <- TRUE naRows <- FALSE naCols <- FALSE if (!is.numeric(data)) { isNumeric <- FALSE isValid <- FALSE if (verbose) message("Error: Data is not numeric") } if ( sum(is.infinite(data) >= 1) ) { isInfinite <- TRUE isValid <- FALSE if (verbose) message("Error: Data contains 'Inf' values") } if (sum(is.nan(data) >= 1)) { isNaN <- TRUE isValid <- FALSE if (verbose) message("Error: Data contains 'NaN' values. Missing values must be denoted by 'NA'") } if (!is.matrix(data)) { isMatrix <- FALSE isValid <- FALSE if (verbose) message("Error: data is not a matrix. Try to use as.matrix(data)") } ## Check for entire rows that are NA only if (sum(apply(is.na(data), 1, sum) == ncol(data)) >= 1 ) { naRows <- TRUE isValid <- FALSE if (verbose) message("Error: Data contains rows in which all elements are 'NA'. Remove them first") } ## Check for entire columns that are NA only if (sum(apply(is.na(data), 2, sum) == nrow(data)) >= 1 ) { naCols <- TRUE isValid <- FALSE if (verbose) message("Error: Data contains columns in which all elements are 'NA'. Remove them first") } attr(isValid, "isNumeric") <- isNumeric attr(isValid, "isInfinite") <- isInfinite attr(isValid, "isNaN") <- isNaN attr(isValid, "isMatrix") <- isMatrix attr(isValid, "naRows") <- naRows attr(isValid, "naCols") <- naCols return(isValid) } pcaMethods/R/derrorHierarchic.R0000644000175200017520000001251114516003735017472 0ustar00biocbuildbiocbuild##' Later ##' @param nlnet the nlnet ##' @param trainIn training data ##' @param trainOut fitted data ##' @return derror ##' @author Henning Redestig, Matthias Scholz derrorHierarchic <- function(nlnet, trainIn, trainOut) { weights <- nlnet@weights$current() netDim <- dim(nlnet@net) if(nlnet@inverse) { numElements <- nlnet@net[1] * dim(trainOut)[2] trainIn <- matrix(weights[1:numElements], nrow=nlnet@net[1], ncol=dim(trainOut)[2]) wTrainIn <- weights[1:numElements,drop=FALSE] weights <- weights[(numElements + 1):length(weights), ,drop=FALSE] } weightMats <- vector2matrices(weights, nlnet@net) trainDim <- dim(trainIn) subnetNum <- length(nlnet@hierarchic$var) ## ****************************** Epattern <- array(0, dim=c(dim(trainOut), subnetNum)) nOut <- array(0, dim=c(sum(nlnet@net), trainDim[2], subnetNum)) for(subnet in 1:subnetNum) nOut[1:trainDim[1],,subnet] <- eval(parse(text=paste(nlnet@fct[1], "(trainIn)"))) if(nlnet@inverse) for(subnet in 1:subnetNum) nOut[nlnet@hierarchic$idx[,subnet]==0,,subnet] <- 0 ## forward propagation for(subnet in 1:subnetNum) { if(nlnet@hierarchic$var[subnet] != 0) { sBias <- array(1, dim=c(1, trainDim[2])) for(i in 1:(netDim[2] - 1)) { if(i == 1) nBegin <- 1 else nBegin <- sum(nlnet@net[1:(i-1)])+1 sIn <- rbind(sBias, nOut[nBegin:sum(nlnet@net[1:i]),,subnet]) sOut <- eval(parse(text=paste(nlnet@fct[i+1], "(weightMats[[i]] %*% sIn)"))) if(i == (nlnet@hierarchic$layer - 1)) sOut[nlnet@hierarchic$idx[,subnet]==0,] <- 0 nOut[(sum(nlnet@net[1:i])+1):sum(nlnet@net[1:(i+1)]),,subnet] <- sOut } output <- nOut[(sum(nlnet@net[1:(length(nlnet@net)-1)])+1):dim(nOut)[1],,subnet] Epattern[,,subnet] <- output - trainOut } } ## error function Epattern <- Epattern^2 Epattern[is.na(Epattern)] <- 0 #set the missing values to zero if(!is.null(nlnet@dataDist)) for(subnet in 1:subnetNum) Epattern[,,subnet] <- Epattern[,,subnet] * nlnet@dataDist Eitemize <- apply(Epattern, 3, sum) * 0.5 Etotal <- sum(nlnet@hierarchic$var * Eitemize) if(!is.null(nlnet@weightDecay)) Etotal <- Etotal + nlnet@weightDecay * 0.5 * sum(weights^2) if(nlnet@inverse) Etotal <- Etotal + 0.01 * nlnet@weightDecay * 0.5 * sum(wTrainIn^2) ## back propagation nError <- array(0, dim=c(sum(nlnet@net), trainDim[2], subnet)) dWeight <- vector(length=netDim[2] - 1, mode="list") wBp <- vector(length=netDim[2] - 1, mode="list") ## wBp is weights for back propagation for(u in 1:(netDim[2] - 1)) wBp[[u]] <- weightMats[[u]][,2:(nlnet@net[u] + 1)] # cats the weights which belong to bias dw <- array(0, dim=c(length(weights), subnet)) for(subnet in 1:subnetNum) { if(nlnet@hierarchic$var[subnet] != 0) { ## last layer sTmp <- nOut[(dim(nOut)[1]-nlnet@net[length(nlnet@net)]+1):dim(nOut)[1],,subnet] if(nlnet@fct[length(nlnet@fct)] == "tanh") eTmp <- (1 - sTmp^2) * (sTmp - trainOut) #prev trainOut - sTmp (fixed to get rid of sign change) else if(nlnet@fct[length(nlnet@fct)] == "linr") eTmp <- sTmp - trainOut #prev trainOut - sTmp (fixed to get rid of sign change) eTmp[is.na(eTmp)] <- 0 if(!is.null(nlnet@dataDist)) eTmp <- eTmp * nlnet@dataDist nError[(dim(nError)[1]-nlnet@net[length(nlnet@net)]+1):dim(nError)[1],,subnet] <- eTmp ## all other layers for(n in 1:(netDim[2] - 1)){ i <- netDim[2]-n ## the if clause is to avoid 1:0 difference in R ## Matlab (1:0 => Empty matrix), R (1:0 => [1,0]) if(i > 1) sTmp <- nOut[(sum(nlnet@net[1:(i-1)])+1):sum(nlnet@net[1:i]),,subnet] else sTmp <- nOut[1:sum(nlnet@net[1:i]),,subnet] if(i==(nlnet@hierarchic$layer-1)) eTmp[nlnet@hierarchic$idx[,subnet]==0,] <- 0 dWeight[[i]] <- tcrossprod(eTmp, rbind(sBias, sTmp)) #gradient if (nlnet@fct[i] == "tanh") eTmp <- (1 - sTmp^2) * crossprod(wBp[[i]],eTmp) else if (nlnet@fct[i] == "linr") eTmp <- crossprod(wBp[[i]], eTmp) ## the if clause is to avoid 1:0 difference in R if(i > 1) nError[(sum(nlnet@net[1:(i - 1)]) + 1):sum(nlnet@net[1:i]), ,subnet] <- eTmp else nError[1:sum(nlnet@net[1:i]), ,subnet] <- eTmp } dw[,subnet] <- unlist(dWeight) #fixed sign change } } if(nlnet@inverse) { dw <- rbind(array(0, dim=c(numElements, subnetNum)), dw) for(subnet in 1:subnetNum) { eTmp <- array(nError[1:nlnet@net[1],,subnet], dim=c(nlnet@net[1], dim(nError)[2])) eTmp[nlnet@hierarchic$idx[,subnet] == 0,] <- 0 dim(eTmp) <- NULL #a bit unsure if this is correct but seems to work dw[1:numElements,subnet] <- unlist(eTmp) #fixed sign change } ## weights <- rbind(cbind(rep(0, numElements)), cbind(weights)) #old: only weight decay for real weights weights <- rbind(cbind(0.01 * wTrainIn), cbind(weights)) #new } dwTotal <- array(0, dim=dim(weights)) for (subnet in 1:subnetNum) { dwTotal <- dwTotal + nlnet@hierarchic$var[subnet] * dw[, subnet] } if(!is.null(nlnet@weightDecay)) dwTotal <- dwTotal + nlnet@weightDecay * weights return(list(dwTotal=dwTotal, Etotal=Etotal, nError=nError, nOut=nOut)) } pcaMethods/R/errorHierarchic.R0000644000175200017520000000440014516003735017324 0ustar00biocbuildbiocbuild##' Later ##' @param nlnet The nlnet ##' @param trainIn training data ##' @param trainOut fitted data ##' @return error ##' @author Henning Redestig, Matthias Scholz errorHierarchic <- function(nlnet, trainIn, trainOut) { weights <- nlnet@weights$current() if(nlnet@inverse) { numElements <- nlnet@net[1] * dim(trainOut)[2] trainIn <- array(weights[1:numElements], dim=c(nlnet@net[1], dim(trainOut)[2])) wTrainIn <- weights[1:numElements, drop=FALSE] weights <- weights[(numElements + 1):length(weights),,drop=FALSE] } netDim <- dim(nlnet@net) trainDim <- dim(trainOut) weightMats <- vector2matrices(weights, nlnet@net) hierarchicIdx <- nlnet@hierarchic$idx[,nlnet@hierarchic$var != 0, drop=FALSE] hierarchicVar <- nlnet@hierarchic$var[,colSums(nlnet@hierarchic$var) != 0, drop=FALSE] subnetNum <- length(hierarchicVar) out <- array(0, dim=c(trainDim[1], trainDim[2], subnetNum)) sBias <- array(1, dim=c(1, trainDim[2])) sExtract <- eval(parse(text=paste(nlnet@fct[1], "(trainIn)"))) Eitemize <- NULL if(nlnet@hierarchic$layer > 1) { #this should not be executed at all if sequence is 1:0 for(layer in 1:(nlnet@hierarchic$layer - 1)) { sExtract <- rbind(sBias, sExtract) sExtract <- eval(parse(text=paste(nlnet@fct[layer + 1], "(weightMats[[layer]] %*% sExtract)"))) } } for(subnet in 1:subnetNum) { sRecon <- sExtract sRecon[hierarchicIdx[,subnet]==0,] <- 0 for(layer in nlnet@hierarchic$layer:(netDim[2] - 1)) { sRecon <- rbind(sBias, sRecon) sRecon <- eval(parse(text=paste(nlnet@fct[layer+1], "(weightMats[[layer]] %*% sRecon)"))) } out[,,subnet] <- sRecon ## error function eTmp <- (sRecon - trainOut)^2 eTmp[is.na(eTmp)] <- 0 Eitemize[subnet] <- sum(eTmp) * 0.5 if(!is.null(nlnet@dataDist)) Eitemize[subnet] <- 0.5 * sum(nlnet@dataDist * eTmp) else Eitemize[subnet] <- 0.5 * sum(eTmp) } error <- tcrossprod(hierarchicVar, rbind(Eitemize)) if(!is.null(nlnet@weightDecay)) error <- error + nlnet@weightDecay * 0.5 * sum(weights^2) ## smooth (0.01) weight decay also for input values if(nlnet@inverse) error <- error + 0.01 * nlnet@weightDecay * 0.5 * sum(wTrainIn^2) return(list(error=error, out=out)) } pcaMethods/R/forkNlpcaNet.R0000644000175200017520000000131414516003735016600 0ustar00biocbuildbiocbuild##' Complete copy of nlpca net object ##' @param nlnet a nlnet ##' @return A copy of the input nlnet ##' @author Henning Redestig forkNlpcaNet <- function(nlnet) { res <- new("nlpcaNet") res@net <- nlnet@net res@hierarchic <- nlnet@hierarchic res@fct <- nlnet@fct res@fkt <- nlnet@fkt res@weightDecay <- nlnet@weightDecay res@featureSorting <- nlnet@featureSorting res@dataDist <- nlnet@dataDist res@inverse <- nlnet@inverse res@fCount <- nlnet@fCount res@componentLayer <- nlnet@componentLayer res@error <- nlnet@error res@gradient <- nlnet@gradient res@weights <- weightsAccount(nlnet@weights$current()) res@maxIter <- nlnet@maxIter res@scalingFactor <- nlnet@scalingFactor res } pcaMethods/R/kEstimate.R0000644000175200017520000003072014516003735016143 0ustar00biocbuildbiocbuild##' Perform cross validation to estimate the optimal number of ##' components for missing value estimation. Cross validation is ##' done for the complete subset of a variable. ##' ##' The assumption hereby is that variables that are highly correlated ##' in a distinct region (here the non-missing observations) are also ##' correlated in another (here the missing observations). This also ##' implies that the complete subset must be large enough to be ##' representative. For each incomplete variable, the available ##' values are divided into a user defined number of cv-segments. The ##' segments have equal size, but are chosen from a random equal ##' distribution. The non-missing values of the variable are covered ##' completely. PPCA, BPCA, SVDimpute, Nipals PCA, llsImpute an NLPCA ##' may be used for imputation. ##' ##' The whole cross validation is repeated several times so, depending ##' on the parameters, the calculations can take very long time. As ##' error measure the NRMSEP (see Feten et. al, 2005) or the Q2 ##' distance is used. The NRMSEP basically normalises the RMSD ##' between original data and estimate by the variable-wise ##' variance. The reason for this is that a higher variance will ##' generally lead to a higher estimation error. If the number of ##' samples is small, the variable - wise variance may become an ##' unstable criterion and the Q2 distance should be used ##' instead. Also if variance normalisation was applied previously. ##' ##' The method proceeds variable - wise, the NRMSEP / Q2 distance is ##' calculated for each incomplete variable and averaged ##' afterwards. This allows to easily see for wich set of variables ##' missing value imputation makes senes and for wich set no ##' imputation or something like mean-imputation should be used. Use ##' \code{kEstimateFast} or \code{Q2} if you are not interested in ##' variable wise CV performance estimates. ##' ##' Run time may be very high on large data sets. Especially when used ##' with complex methods like BPCA or Nipals PCA. For PPCA, BPCA, ##' Nipals PCA and NLPCA the estimation method is called ##' \eqn{(v_{miss} \cdot segs \cdot nruncv \cdot)}{(v\_miss * segs * ##' nruncv)} times as the error for all numbers of principal ##' components can be calculated at once. For LLSimpute and SVDimpute ##' this is not possible, and the method is called \eqn{(v_{miss} ##' \cdot segs \cdot nruncv \cdot length(evalPcs))}{(v\_miss * segs * ##' nruncv * length(evalPcs))} times. This should still be fast for ##' LLSimpute because the method allows to choose to only do the ##' estimation for one particular variable. This saves a lot of ##' iterations. Here, \eqn{v_{miss}}{v\_miss} is the number of ##' variables showing missing values. ##' ##' As cross validation is done variable-wise, in this function Q2 is ##' defined on single variables, not on the entire data set. This is ##' Q2 is calculated as as \eqn{\frac{\sum(x - ##' xe)^2}{\sum(x^2)}}{sum(x - xe)^2 \ sum(x^2)}, where x is the ##' currently used variable and xe it's estimate. The values are then ##' averaged over all variables. The NRMSEP is already defined ##' variable-wise. For a single variable it is then ##' \eqn{\sqrt(\frac{\sum(x - xe)^2}{(n \cdot var(x))})}{sqrt(sum(x - ##' xe)^2 \ (n * var(x)))}, where x is the variable and xe it's ##' estimate, n is the length of x. The variable wise estimation ##' errors are returned in parameter variableWiseError. ##' @title Estimate best number of Components for missing value ##' estimation ##' @param Matrix \code{matrix} -- numeric matrix containing ##' observations in rows and variables in columns ##' @param method \code{character} -- of the methods found with ##' pcaMethods() The option llsImputeAll calls llsImpute with the ##' allVariables = TRUE parameter. ##' @param evalPcs \code{numeric} -- The principal components to use ##' for cross validation or the number of neighbour variables if used ##' with llsImpute. Should be an array containing integer values, ##' eg. \code{evalPcs = 1:10} or \code{evalPcs = c(2,5,8)}. The NRMSEP ##' or Q2 is calculated for each component. ##' @param segs \code{numeric} -- number of segments for cross validation ##' @param nruncv \code{numeric} -- Times the whole cross validation ##' is repeated ##' @param em \code{character} -- The error measure. This can be nrmsep or q2 ##' @param allVariables \code{boolean} -- If TRUE, the NRMSEP is ##' calculated for all variables, If FALSE, only the incomplete ones ##' are included. You maybe want to do this to compare several methods ##' on a complete data set. ##' @param verbose \code{boolean} -- If TRUE, some output like the ##' variable indexes are printed to the console each iteration. ##' @param ... Further arguments to \code{pca} or \code{nni} ##' @return A list with: ##' \item{bestNPcs}{number of PCs or k for which the minimal average ##' NRMSEP or the maximal Q2 was obtained.} ##' \item{eError}{an array of of size length(evalPcs). Contains the ##' average error of the cross validation runs for each number of ##' components.} ##' \item{variableWiseError}{Matrix of size ##' \code{incomplete_variables} x length(evalPcs). Contains the ##' NRMSEP or Q2 distance for each variable and each number of PCs. ##' This allows to easily see for wich variables imputation makes ##' sense and for which one it should not be done or mean imputation ##' should be used.} ##' \item{evalPcs}{The evaluated numbers of components or number of ##' neighbours (the same as the evalPcs input parameter).} ##' \item{variableIx}{Index of the incomplete variables. This can be ##' used to map the variable wise error to the original data.} ##' @seealso \code{\link{kEstimateFast}, \link{Q2}, \link{pca}, \link{nni}}. ##' @examples ##' ## Load a sample metabolite dataset with 5\% missing values (metaboliteData) ##' data(metaboliteData) ##' # Do cross validation with ppca for component 2:4 ##' esti <- kEstimate(metaboliteData, method = "ppca", evalPcs = 2:4, nruncv=1, em="nrmsep") ##' # Plot the average NRMSEP ##' barplot(drop(esti$eError), xlab = "Components",ylab = "NRMSEP (1 iterations)") ##' # The best result was obtained for this number of PCs: ##' print(esti$bestNPcs) ##' # Now have a look at the variable wise estimation error ##' barplot(drop(esti$variableWiseError[, which(esti$evalPcs == esti$bestNPcs)]), ##' xlab = "Incomplete variable Index", ylab = "NRMSEP") ##' @keywords multivariate ##' @export ##' @author Wolfram Stacklies kEstimate <- function(Matrix, method="ppca", evalPcs=1:3, segs=3, nruncv=5, em="q2", allVariables=FALSE, verbose=interactive(), ...) { fastKE <- FALSE if (method == "ppca" | method == "bpca" | method == "nipals" | method == "nlpca") fastKE <- TRUE method <- match.arg(method, listPcaMethods()) em <- match.arg(em, c("nrmsep", "q2")) maxPcs <- max(evalPcs) lengthPcs <- length(evalPcs) ## If the data is a data frame, convert it into a matrix Matrix <- as.matrix(Matrix, rownames.force=TRUE) if(maxPcs > (ncol(Matrix) - 1)) stop("maxPcs exceeds matrix size, choose a lower value!") ## And now check if everything is right... if( !checkData(Matrix, verbose=interactive()) ) stop("Invalid data format! Use checkData(Matrix, verbose = TRUE) for details.\n") if( (sum(is.na(Matrix)) == 0) && (allVariables == FALSE) ) stop("No missing values. Maybe you want to set allVariables = TRUE. Exiting\n") missing <- apply(is.na(Matrix), 2, sum) > 0 missIx <- which(missing == TRUE) if (allVariables) missIx <- 1:ncol(Matrix) complete <- !missing compIx <- which(complete == TRUE) error <- matrix(0, length(missIx), length(evalPcs)) iteration <- 0 for(nPcs in evalPcs) { ## If the estimated observations are just scores %*% t(loadings) ## we can calculate all we need at once, this saves many ## iterations... if (fastKE) nPcs = maxPcs iteration = iteration + 1 if (verbose && !fastKE) { cat("Doing CV for ", nPcs, " component(s) \n") } else if (verbose && fastKE) {cat("Doing CV ... \n")} for(cviter in 1:nruncv) { pos <- 0 if (verbose) cat("Incomplete variable index: ") for (index in missIx) { pos <- pos + 1 cat(pos, ":", sep="") target <- Matrix[, index, drop = FALSE] compObs <- !is.na(target) missObs <- is.na(target) nObs <- sum(compObs) ## Remove all observations that are missing in the target genes, ## as additional missing values may tamper the results set <- Matrix[compObs,] if (nObs >= (2 * segs)) { segments <- segs } else segments <- ceiling(nObs / 2) ## We assume uniformly distributed missing values when ## choosing the segments tt <- gl(segments, ceiling(nObs / segments))[1:nObs] cvsegs <- split(sample(nObs), tt) set <- Matrix[compObs,] if (fastKE) { nrmsep <- array(0, length(evalPcs)) q2 <- array(0, length(evalPcs)) } else { nrmsep <- 0; q2 <- 0 } for (i in 1:length(cvsegs)) { n <- length(cvsegs[[i]]) # n is the number of created # missing values ## Impute values using the given regression method testSet <- set testSet[cvsegs[[i]], index] <- NA if (method == "llsImpute") { estimate <- llsImpute(testSet, k = nPcs, verbose = FALSE, allVariables = FALSE, center = FALSE, xval = index) } else if (method == "llsImputeAll") { estimate <- llsImpute(testSet, k = nPcs, verbose = FALSE, allVariables = TRUE, center = FALSE, xval = index) } else { estimate <- pca(testSet, nPcs = nPcs, verbose = FALSE, method = method, center = TRUE,...) } if (fastKE) { for (np in evalPcs) { estiFitted <- fitted(estimate, data = NULL, nPcs = np) estimateVec <- estiFitted[, index] original <- target[compObs, ] estimateVec[-cvsegs[[i]]] <- testSet[-cvsegs[[i]], index] ## Error of prediction, error is calculated for removed ## elements only nIx <- which(evalPcs == np) if (em == "nrmsep") { nrmsep[nIx] <- nrmsep[nIx] + sum( (original - estimateVec)^2) } else { q2[nIx] <- q2[nIx] + sum( (original - estimateVec)^2 ) } } } else { estimate <- estimate@completeObs[, index] original <- target[compObs, ] ## Error of prediction, error is calculated for removed ## elements only if (em == "nrmsep") { nrmsep <- nrmsep + sum( (original - estimate)^2) } else { q2 <- q2 + sum( (original - estimate)^2 ) } } } ## iteration over cv segments if (fastKE) { if (em == "nrmsep") { error[pos, ] <- error[pos, ] + nrmsep / (nrow(set) * var(set[,index])) } else error[pos, ] <- error[pos, ] + (1 - (q2 / sum(set[, index]^2))) } else { if (em == "nrmsep") { error[pos, iteration] <- error[pos, iteration] + nrmsep / (nrow(set) * var(set[,index])) } else error[pos, iteration] <- error[pos, iteration] + (1 - (q2 / sum(set[, index]^2))) } } # iteration over variables if (verbose) cat("\n") } #iteration over nruncv ## The error is the sum over the independent cross validation runs error <- error / nruncv if (verbose && !fastKE) cat("The average", em, "for k =", iteration, "is", sum(error[,iteration]) / nrow(error), "\n") ## if nlpca, ppca, bpca, nipals we do not need to iterate over the ## number of components... if (fastKE) break } # iteration over number components if (em == "nrmsep") avgError <- sqrt(apply(error, 2, sum) / nrow(error)) else avgError <- apply(error, 2, sum) / nrow(error) ret <- list() if (em == "nrmsep") ret$bestNPcs <- evalPcs[which(avgError == min(avgError))] else ret$bestNPcs <- evalPcs[which(avgError == max(avgError))] ret$eError <- avgError if(em == "nrmsep") ret$variableWiseError <- sqrt(error) else ret$variableWiseError <- error ret$evalPcs <- evalPcs ret$variableIx <- missIx return(ret) } pcaMethods/R/kEstimateFast.R0000644000175200017520000001215414516003735016762 0ustar00biocbuildbiocbuild##' This is a simple estimator for the optimal number of componets ##' when applying PCA or LLSimpute for missing value estimation. No ##' cross validation is performed, instead the estimation quality is ##' defined as Matrix[!missing] - Estimate[!missing]. This will give a ##' relatively rough estimate, but the number of iterations equals the ##' length of the parameter evalPcs.\cr Does not work with LLSimpute!! ##' As error measure the NRMSEP (see Feten et. al, 2005) or the Q2 ##' distance is used. The NRMSEP basically normalises the RMSD ##' between original data and estimate by the variable-wise ##' variance. The reason for this is that a higher variance will ##' generally lead to a higher estimation error. If the number of ##' samples is small, the gene - wise variance may become an unstable ##' criterion and the Q2 distance should be used instead. Also if ##' variance normalisation was applied previously. ##' @title Estimate best number of Components for missing value estimation ##' @param Matrix \code{matrix} -- numeric matrix containing ##' observations in rows and variables in columns ##' @param method \code{character} -- a valid pca method (see ##' \code{\link{pca}}). ##' @param evalPcs \code{numeric} -- The principal components to use ##' for cross validation or cluster sizes if used with ##' llsImpute. Should be an array containing integer values, ##' eg. evalPcs = 1:10 or evalPcs = C(2,5,8).The NRMSEP is calculated ##' for each component. ##' @param em \code{character} -- The error measure. This can be ##' nrmsep or q2 ##' @param allVariables \code{boolean} -- If TRUE, the NRMSEP is ##' calculated for all variables, If FALSE, only the incomplete ones ##' are included. You maybe want to do this to compare several methods ##' on a complete data set. ##' @param verbose \code{boolean} -- If TRUE, the NRMSEP and the ##' variance are printed to the console each iteration. ##' @param ... Further arguments to \code{pca} ##' @return \item{list}{Returns a list with the elements: ##' \itemize{ ##' \item minNPcs - number of PCs for which the minimal average NRMSEP ##' was obtained ##' \item eError - an array of of size length(evalPcs). Contains the ##' estimation error for each number of ##' components. ##' \item evalPcs - The evaluated numbers of components or ##' cluster sizes (the same as the evalPcs input parameter). }} ##' @seealso \code{\link{kEstimate}}. ##' @export ##' @examples ##' data(metaboliteData) ##' # Estimate best number of PCs with ppca for component 2:4 ##' esti <- kEstimateFast(t(metaboliteData), method = "ppca", evalPcs = 2:4, em="nrmsep") ##' barplot(drop(esti$eError), xlab = "Components",ylab = "NRMSEP (1 iterations)") ##' # The best k value is: ##' print(esti$minNPcs) ##' @keywords multivariate ##' @author Wolfram Stacklies kEstimateFast <- function(Matrix, method = "ppca", evalPcs = 1:3, em = "nrmsep", allVariables = FALSE, verbose = interactive(), ...) { method <- match.arg(method, c("ppca", "bpca", "svdImpute", "nipals", "nlpca")) em <- match.arg(em, c("nrmsep", "q2")) maxPcs <- max(evalPcs) lengthPcs <- length(evalPcs) missing <- is.na(Matrix) error <- array(0, lengthPcs) ## If the data is a data frame, convert it into a matrix Matrix <- as.matrix(Matrix, rownames.force=TRUE) if(maxPcs > (ncol(Matrix) - 1)) stop("maxPcs exceeds matrix size, choose a lower value!") ## And now check if everything is right... if( !checkData(Matrix, verbose=interactive()) ) stop("Invalid data format! Use checkData(Matrix, verbose = TRUE) for details.\n") if( (sum(is.na(Matrix)) == 0) && (allVariables == FALSE) ) stop("No missing values. Maybe you want to set allVariables = TRUE. Exiting\n") iteration = 0 for(nPcs in evalPcs) { iteration = iteration + 1 if (method == "nlpca") { estimate <- fitted(pca(Matrix, nPcs = nPcs, verbose = FALSE, method = method, center = TRUE,...), Matrix, nPcs = nPcs) } else { estimate <- fitted(pca(Matrix, nPcs = nPcs, verbose = FALSE, method = method, center = TRUE,...), nPcs = nPcs) } if (em == "q2") { # The Q2 distance q2 <- 1 - sum((Matrix[!missing] - estimate[!missing])^2) / sum(Matrix[!missing]^2) error[iteration] <- q2 } else { nrmsep <- 0 for(i in 1:ncol(Matrix)) { nrmsep <- nrmsep + ( sum((Matrix[!missing[,i], i] - estimate[!missing[,i], i])^2) / (sum(!missing[,i]) * var(Matrix[,i], na.rm = TRUE)) ) } nrmsep <- nrmsep / sum(apply(missing, 2, sum) > 0) error[iteration] <- nrmsep } if(verbose) cat("The", em, "for", evalPcs[iteration], "components is:", error[iteration], "\n") } ret <- list() if (em == "nrmsep") ret$bestNPcs <- evalPcs[which(error == min(error))] else ret$bestNPcs <- evalPcs[which(error == max(error))] ret$eError <- error ret$evalPcs <- evalPcs return(ret) } pcaMethods/R/lineSearch.R0000644000175200017520000000615214516003735016274 0ustar00biocbuildbiocbuild##' Line search for conjugate gradient ##' @param nlnet The nlnet ##' @param dw .. ##' @param e0 .. ##' @param ttGuess .. ##' @param trainIn Training data ##' @param trainOut Fitted data ##' @param verbose logical, print messages ##' @return ... ##' @author Henning Redestig, Matthias Scholz lineSearch <- function(nlnet, dw, e0, ttGuess, trainIn, trainOut, verbose) { iterGoldenSectionSearch <- 6 alpha <- 0.618034 tt <- rep(0, 4) e <- rep(0, 4) tmpnlnet <- forkNlpcaNet(nlnet) tt[1] <- 0 e[1] <- e0 tt[4] <- ttGuess tmpnlnet@weights$set(nlnet@weights$current() + tt[4] * dw) e[4] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error if(e[4] > e[1]) { #got final interval calculate tt[2] and tt[3] tt[2] <- tt[1] + (1 - alpha) * (tt[4] - tt[1]) tmpnlnet@weights$set(nlnet@weights$current() + tt[2] * dw) e[2] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error tt[3] <- tt[1] + alpha * (tt[4] - tt[1]) tmpnlnet@weights$set(nlnet@weights$current() + tt[3] * dw) e[3] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error } else { #expand, add new tt[4] tt[3] <- tt[4] e[3] <- e[4] tt[4] <- (1 + alpha) * tt[4] tmpnlnet@weights$set(nlnet@weights$current() + tt[4] * dw) e[4] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error if(e[4] > e[3]) { #got final interval, calculate tt[2] tt[2] <- tt[1] + (1 - alpha) * (tt[4] - tt[1]) tmpnlnet@weights$set(nlnet@weights$current() + tt[2] * dw) e[2] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error } else { #expand: add new tt[4] i <- 1 while(e[4] < e[3] && i < 50) { tt[2] <- tt[3] e[2] <- e[3] tt[3] <- tt[4] e[3] <- e[4] tt[4] <- (1 + alpha) * tt[4] tmpnlnet@weights$set(nlnet@weights$current() + tt[4] * dw) e[4] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error i <- i + 1 if(verbose && i == 50) cat("^") } } } ## golden section search for(i in 1:iterGoldenSectionSearch) { if(e[3] > e[2]) { tt[4] <- tt[3] #remove right value tt[4] e[4] <- e[3] tt[3] <- tt[2] e[3] <- e[2] tt[2] <- tt[1] + (1 - alpha) * (tt[4] - tt[1]) #split left interval tmpnlnet@weights$set(nlnet@weights$current() + tt[2] * dw) e[2] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error } else { tt[1] <- tt[2] #remove left t value tt[1] e[1] <- e[2] tt[2] <- tt[3] e[2] <- e[3] tt[3] <- tt[1] + alpha * (tt[4] - tt[1]) #split right interval tmpnlnet@weights$set(nlnet@weights$current() + tt[3] * dw) e[3] <- nlnet@error(tmpnlnet, trainIn, trainOut)$error } } if(e[2] < e[3]) { eBest <- e[2] ttBest <- tt[2] } else { eBest <- e[3] ttBest <- tt[3] } wBest <- nlnet@weights$current() + ttBest * dw return(list(wBest=wBest, eBest=eBest, ttBest=ttBest)) } ##' Linear kernel ##' @param x datum ##' @return Input value ##' @author Henning Redestig, Matthias Scholz linr <- function(x) x pcaMethods/R/llsImpute.R0000644000175200017520000002204114516003735016170 0ustar00biocbuildbiocbuild##' Missing value estimation using local least squares (LLS). First, ##' k variables (for Microarrya data usually the genes) are selected ##' by pearson, spearman or kendall correlation coefficients. Then ##' missing values are imputed by a linear combination of the k ##' selected variables. The optimal combination is found by LLS ##' regression. The method was first described by Kim et al, ##' Bioinformatics, 21(2),2005. ##' ##' Missing values are denoted as \code{NA}\cr It is not recommended ##' to use this function directely but rather to use the nni() wrapper ##' function. The methods provides two ways for missing value ##' estimation, selected by the \code{allVariables} option. The first ##' one is to use only complete variables for the regression. This is ##' preferable when the number of incomplete variables is relatively ##' small. ##' ##' The second way is to consider all variables as candidates for the ##' regression. Hereby missing values are initially replaced by the ##' columns wise mean. The method then iterates, using the current ##' estimate as input for the regression until the change between new ##' and old estimate falls below a threshold (0.001). ##' ##' @title LLSimpute algorithm ##' @param Matrix \code{matrix} -- Data containing the variables ##' (genes) in columns and observations (samples) in rows. The data ##' may contain missing values, denoted as \code{NA}. ##' @param k \code{numeric} -- Cluster size, this is the number of ##' similar genes used for regression. ##' @param center \code{boolean} -- Mean center the data if TRUE ##' @param completeObs \code{boolean} -- Return the estimated complete ##' observations if TRUE. This is the input data with NA values ##' replaced by the estimated values. ##' @param correlation \code{character} -- How to calculate the ##' distance between genes. One out of pearson | kendall | spearman , ##' see also help("cor"). ##' @param allVariables \code{boolean} -- Use only complete genes to ##' do the regression if TRUE, all genes if FALSE. ##' @param maxSteps \code{numeric} -- Maximum number of iteration ##' steps if allGenes = TRUE. ##' @param xval \code{numeric} Use LLSimpute for cross ##' validation. xval is the index of the gene to estimate, all other ##' incomplete genes will be ignored if this parameter is set. We do ##' not consider them in the cross-validation. ##' @param verbose \code{boolean} -- Print step number and relative ##' change if TRUE and allVariables = TRUE ##' @param ... Reserved for parameters used in future version of the ##' algorithm ##' @note Each step the generalized inverse of a \code{miss} x k ##' matrix is calculated. Where \code{miss} is the number of missing ##' values in variable j and \code{k} the number of neighbours. This ##' may be slow for large values of k and / or many missing ##' values. See also help("ginv"). ##' @return \item{nniRes}{Standard nni (nearest neighbour ##' imputation) result object of this package. See ##' \code{\link{nniRes}} for details.} ##' @seealso \code{\link{pca}, \link{nniRes}, \link{nni}}. ##' @examples ##' ## Load a sample metabolite dataset (metaboliteData) with already 5\% of ##' ## data missing ##' data(metaboliteData) ##' ## Perform llsImpute using k = 10 ##' ## Set allVariables TRUE because there are very few complete variables ##' result <- llsImpute(metaboliteData, k = 10, correlation="pearson", allVariables=TRUE) ##' ## Get the estimated complete observations ##' cObs <- completeObs(result) ##' @keywords multivariate ##' @export ##' @references Kim, H. and Golub, G.H. and Park, H. - Missing value ##' estimation for DNA microarray gene expression data: local least ##' squares imputation. \emph{Bioinformatics, 2005; 21(2):187-198.} ##' ##' Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and ##' Hastie T. and Tibshirani R. and Botstein D. and Altman RB. - ##' Missing value estimation methods for DNA microarrays. ##' \emph{Bioinformatics. 2001 Jun;17(6):520-525.} ##' @author Wolfram Stacklies llsImpute <- function(Matrix, k=10, center=FALSE, completeObs=TRUE, correlation="pearson", allVariables=FALSE, maxSteps=100, xval=NULL, verbose=FALSE, ...) { threshold <- 0.001 correlation <- match.arg(correlation, c("pearson", "kendall", "spearman")) ## If the data is a data frame, convert it into a matrix Matrix <- as.matrix(Matrix, rownames.force=TRUE) ## And now check if everything is right... if ( !checkData(Matrix, verbose = interactive()) ) { stop("Invalid data format! Use checkData(Matrix, verbose = TRUE) for details.\n") } ## Exit if number of neighbours exceeds number of columns if (k > ncol(Matrix)) stop("Cluster size larger than the number of columns, choose a k < ncol(Matrix)!") ## Set allVariables TRUE if k exceeds number of complete genes ## Print warning messages in the first case and when less than 50% of all genes are complete ## and allVariables == FALSE cg <- sum( apply(is.na(Matrix), 2, sum) == 0) if ( (k > cg) && (!allVariables) ) { warning("Cluster size larger than number of complete genes, using allVariables = TRUE") allVariables <- TRUE } else if ( (cg < (ncol(Matrix) / 2)) && (!allVariables) ) { warning("Less than 50% of the genes are complete, consider using allVariables = TRUE") } else if (sum(is.na(Matrix)) == 0) stop("No missing values, no need for missing value imputation :))") ## Find all genes with missing values missing <- apply(is.na(Matrix), 2, sum) > 0 missIx <- which(missing == TRUE) # For cross validation we want to only estimate one variable, the others # are not considered in the cross validation anyway if (!is.null(xval)) missIx = xval obs <- Matrix ## working copy of the data Ye <- Matrix ## Estimated complete observations ## Center the data column wise if (center) { obs <- scale(Matrix, center = TRUE, scale = FALSE) Ye <- obs means <- attr(Ye, "scaled:center") } if (allVariables) { compIx <- 1:ncol(obs) ## Impute the row average rowMeans <- apply(obs, 1, mean, na.rm = TRUE) for (i in 1:nrow(obs)) { obs[i, is.na(Matrix[i,])] <- rowMeans[i] } ## distances between all genes, ignore the diagonal (correlation to itself) distance = abs(cor(obs, obs, method = correlation)) } else { compIx <- which(missing == FALSE) ## missing genes are the rows, complete genes the columns distance = abs(cor(obs[,missIx, drop=FALSE], obs[,compIx, drop=FALSE], use="pairwise.complete.obs", method = correlation)) } change <- Inf step <- 0 while ( (change > threshold) && (step < maxSteps) ) { step <- step + 1 iteration <- 0 ## Do the regression and imputation for (index in missIx) { iteration <- iteration + 1 if (allVariables) { similar <- sort(distance[iteration,], index.return = TRUE, decreasing = TRUE) simIx <- compIx[ similar$ix[similar$ix != iteration][1:k] ] } else { similar <- sort(distance[iteration,], index.return = TRUE, decreasing = TRUE) simIx <- compIx[ similar$ix[1:k] ] } ## ## Do a regression against the k most similar genes ## See Kim et. al 2005 for details ## target <- obs[, index, drop = FALSE] tMiss <- is.na(Matrix[, index, drop = FALSE]) Apart <- obs[!tMiss, simIx, drop = FALSE] Bpart <- obs[tMiss, simIx, drop = FALSE] targetComplete <- target[!tMiss, , drop = FALSE] X <- MASS::ginv(Apart) %*% targetComplete estimate <- Bpart %*% X ## Impute the estimate Ye[tMiss, index] <- estimate } ## We do not want to iterate if allVariables == FALSE if (!allVariables || !is.null(xval)) { break } else { ## relative change in estimation change <- sqrt(sum( (obs - Ye)^2 ) / sum(obs^2)) obs <- Ye if (verbose) { cat("Step number : ", step, '\n') cat("Relative change : ", change, '\n') cat("---------------", '\n') } } } ## Add the original mean if (center) { for(i in 1:ncol(Ye)) { Ye[,i] <- Ye[,i] + means[i] } } ## Build the nniRes object ## result <- new("nniRes") if(completeObs) { Ye[!is.na(Matrix)] <- Matrix[!is.na(Matrix)] result@completeObs <- Ye } result@centered <- center result@center <- attr(scale(Matrix, center = TRUE, scale = FALSE), "scaled:center") result@nObs <- nrow(Matrix) result@nVar <- ncol(Matrix) result@method <- "llsImpute" result@correlation <- correlation result@k <- k result@missing <- sum(is.na(Matrix)) return(result) } pcaMethods/R/methods-ExpressionSet.R0000644000175200017520000000272614516003735020476 0ustar00biocbuildbiocbuild##' This function can be used to conveniently replace the expression ##' matrix in an \code{ExpressionSet} with the completed data from a ##' \code{pcaRes} object. ##' ##' This is not a standard \code{as} function as \code{pcaRes} ##' object alone not can be converted to an \code{ExpressionSet} (the ##' \code{pcaRes} object does not hold any \code{phenoData} for ##' example). ##' @title Convert pcaRes object to an expression set ##' @param object \code{pcaRes} -- The object containing the completed ##' data. ##' @param exprSet \code{ExpressionSet} -- The object passed on to ##' \code{pca} for missing value estimation. ##' @return An object without missing values of class \code{ExpressionSet}. ##' @export ##' @author Wolfram Stacklies \cr CAS-MPG Partner Institute for ##' Computational Biology, Shanghai, China ##' @keywords multivariate asExprSet <- function(object, exprSet) { if(!inherits(exprSet, "ExpressionSet")) stop("Parameter exprSet must be of type ExpressionSet") if(!inherits(object, "pcaRes") & !inherits(object, "nniRes")) stop("Parameter object must be either of type pcaRes or nniRes") if (is.null(completeObs(object))) stop("completeObs(object) is NULL, exiting") if(!all(dim(exprs(exprSet)) == dim(t(completeObs(object))))) stop("Dimensions of exprs(exprSet) and completeObs(object) do not match. Did you really do missing value estimation using this ExpressionSet object?") exprs(exprSet) <- t(completeObs(object)) return(exprSet) } pcaMethods/R/methods-nniRes.R0000644000175200017520000000161114516003735017111 0ustar00biocbuildbiocbuild##' Print a brief description of nniRes model ##' @title Print a nniRes model ##' @param x An \code{nniRes} object ##' @param ... Not used ##' @return Nothing, used for side-effect ##' @export ##' @author Henning Redestig showNniRes <- function(x, ...) { summary(x) cat(dim(x)["nVar"], "\tVariables\n") cat(dim(x)["nObs"],"\tSamples\n") cat(nmissing(x), "\tNAs (", round(100 * nmissing(x) / (nObs(x) * nVar(x)), getOption("str")$digits.d), "%)\n") cat("k was set to", x@k, "\n") if(centered(x)) cat("Data was mean centered before running LLSimpute \n") else cat("Data was NOT mean centered before running LLSimpute \n") if(scaled(x)) cat("Data was scaled before running LLSimpute \n") else cat("Data was NOT scaled before running LLSimpute \n") } setMethod("print", "nniRes", showNniRes) setMethod("show", "nniRes", function(object) showNniRes(object)) pcaMethods/R/methods-pcaRes.R0000644000175200017520000007727514516003735017113 0ustar00biocbuildbiocbuild##' The leverages of PCA model indicate how much influence each ##' observation has on the PCA model. Observations with high leverage ##' has caused the principal components to rotate towards them. It can ##' be used to extract both "unimportant" observations as well as ##' picking potential outliers. ##' ##' Defined as \eqn{Tr(T(T'T)^{-1}T')}{Tr(T(T'T)^(-1)T')} ##' @title Extract leverages of a PCA model ##' @param object a \code{pcaRes} object ##' @return The observation leverages as a numeric vector ##' @references Introduction to Multi- and Megavariate Data Analysis ##' using Projection Methods (PCA and PLS), L. Eriksson, E. Johansson, ##' N. Kettaneh-Wold and S. Wold, Umetrics 1999, p. 466 ##' @examples ##' data(iris) ##' pcIr <- pca(iris[,1:4]) ##' ## versicolor has the lowest leverage ##' with(iris, plot(leverage(pcIr)~Species)) ##' @keywords multivariate ##' @aliases leverage leverage,pcaRes-method ##' @author Henning Redestig setMethod("leverage", "pcaRes", function(object) { diag(scores(object) %*% solve(crossprod(scores(object))) %*% t(scores(object))) }) ##' Distance to the model of X-space. ##' ##' Measures how well described the observations are, i.e. how well ##' they fit in the mode. High DModX indicate a poor fit. Defined as: ##' ##' \eqn{\frac{\sqrt{\frac{SSE_i}{K-A}}}{\sqrt{\frac{SSE}{(N-A-A_0)(K-A)}}}} ##' ##' For observation \eqn{i}, in a model with \eqn{A} components, ##' \eqn{K} variables and \eqn{N} obserations. SSE is the squared sum ##' of the residuals. \eqn{A_0} is 1 if model was centered and 0 ##' otherwise. DModX is claimed to be approximately F-distributed and ##' can therefore be used to check if an observation is significantly ##' far away from the PCA model assuming normally distributed data. ##' ##' Pass original data as an argument if the model was calculated with ##' \code{completeObs=FALSE}. ##' @title DModX ##' @usage DModX(object, dat, newdata=FALSE, type=c("normalized","absolute"), ...) ##' @param object a pcaRes object ##' @param dat the original data, taken from \code{completeObs} if ##' left missing. ##' @param newdata logical indicating if this data was part of the ##' training data or not. If it was, it is adjusted by a near one factor ##' \eqn{v=(N/ (N-A-A0))^-1} ##' @param type if absolute or normalized values should be ##' given. Normalized values are adjusted to the the total RSD of the ##' model. ##' @param ... Not used ##' @return A vector with distances from observations to the PCA model ##' @aliases DModX DModX,pcaRes-method ##' @examples ##' data(iris) ##' pcIr <- pca(iris[,1:4]) ##' with(iris, plot(DModX(pcIr)~Species)) ##' @references Introduction to Multi- and Megavariate Data Analysis ##' using Projection Methods (PCA and PLS), L. Eriksson, E. Johansson, ##' N. Kettaneh-Wold and S. Wold, Umetrics 1999, p. 468 ##' @author Henning Redestig setMethod("DModX", "pcaRes", function(object, dat, newdata=FALSE, type=c("normalized","absolute"), ...) { type <- match.arg(type) if(missing(dat)) { if(!is.null(completeObs(object))) dat <- completeObs(object) else stop("missing data when calculating DModX") } A0 <- as.integer(centered(object)) ny <- ifelse(newdata, 1, sqrt(nObs(object) / (nObs(object) - nP(object) - A0))) E2 <- resid(object, dat)^2 s <- sqrt(rowSums(E2) / (nVar(object) - nP(object))) * ny if(type == "absolute") return(s) s0 <- sqrt(sum(E2) / ((nObs(object) - nP(object) - A0) * (nVar(object) - nP(object)))) s / s0 }) ##' Get number of PCs ##' @param object pcaRes object ##' @param ... not used ##' @return Number of PCs ##' @aliases nP nP,pcaRes-method ##' @usage nP(object, ...) ##' @author Henning Redestig setMethod("nP", "pcaRes", function(object, ...) { if(is.null(object@nPcs) & !is.null(scores(object))) return(ncol(scores(object))) object@nPcs }) ##' Get cross-validation statistics (e.g. \eqn{Q^2}). ##' @param object pcaRes object ##' @param ... not used ##' @return vector CV statistics ##' @aliases cvstat cvstat,pcaRes-method ##' @usage cvstat(object, ...) ##' @author Henning Redestig setMethod("cvstat", "pcaRes", function(object, ...) { object@cvstat }) ##' Get number of PCs. ##' @param object pcaRes object ##' @param ... not used ##' @note Try to use \code{link{nP}} instead since \code{nPcs} tend to ##' clash with argument names. ##' @return Number of PCs ##' @usage nPcs(object, ...) ##' @aliases nPcs nPcs,pcaRes-method ##' @author Henning Redestig setMethod("nPcs", "pcaRes", function(object, ...) { nP(object) }) ##' Get the number of observations used to build the PCA model. ##' @param object pcaRes object ##' @param ... Not used ##' @usage nObs(object, ...) ##' @aliases nObs nObs,pcaRes-method ##' @return Number of observations ##' @author Henning Redestig setMethod("nObs", "pcaRes", function(object, ...) { object@nObs }) ##' Get the number of variables used to build the PCA model. ##' @param object pcaRes object ##' @param ... Not used ##' @usage nVar(object, ...) ##' @aliases nVar nVar,pcaRes-method ##' @return Number of variables ##' @author Henning Redestig setMethod("nVar", "pcaRes", function(object, ...) { object@nVar }) ##' Check centering was part of the model ##' @param object pcaRes object ##' @param ... Not used ##' @usage centered(object, ...) ##' @aliases centered centered,pcaRes-method ##' @return TRUE if model was centered ##' @author Henning Redestig setMethod("centered", "pcaRes", function(object, ...) { if(is.null(object@centered)) return(FALSE) object@centered }) ##' Get the centers of the original variables ##' @param object pcaRes object ##' @param ... Not used ##' @usage center(object, ...) ##' @aliases center center,pcaRes-method ##' @return Vector with the centers ##' @author Henning Redestig setMethod("center", "pcaRes", function(object, ...) { object@center }) setMethod("completeObs", "pcaRes", function(object, ...) { object@completeObs }) ##' Get the original data with missing values replaced with predicted ##' values. ##' @param object object to fetch complete data from ##' @param ... Not used ##' @usage completeObs(object, ...) ##' @aliases completeObs completeObs,nniRes-method ##' completeObs,pcaRes-method ##' @return Completed data (matrix) ##' @author Henning Redestig setMethod("completeObs", "nniRes", function(object, ...) { object@completeObs }) ##' Get the used PCA method ##' @param object pcaRes object ##' @param ... Not used ##' @usage method(object, ...) ##' @aliases method method,pcaRes-method ##' @return The used pca method ##' @author Henning Redestig setMethod("method", "pcaRes", function(object, ...) { object@method }) setMethod("nmissing", "nniRes", function(object, ...) { sum(object@missing) }) ##' Missing values ##' @param object pcaRes object ##' @param ... Not used ##' @usage nmissing(object, ...) ##' @aliases nmissing nmissing,pcaRes-method nmissing,nniRes-method ##' @return Get the number of missing values ##' @author Henning Redestig setMethod("nmissing", "pcaRes", function(object, ...) { sum(object@missing) }) ##' Get a matrix with indicating the elements that were missing in the ##' input data. Convenient for estimating imputation performance. ##' @param object pcaRes object ##' @param ... Not used ##' @usage wasna(object, ...) ##' @aliases wasna wasna,pcaRes-method ##' @return A matrix with logicals ##' @examples ##' data(metaboliteData) ##' data(metaboliteDataComplete) ##' result <- pca(metaboliteData, nPcs=2) ##' plot(completeObs(result)[wasna(result)], metaboliteDataComplete[wasna(result)]) ##' @author Henning Redestig setMethod("wasna", "pcaRes", function(object, ...) { object@missing }) ##' Get the standard deviations of the scores (indicates their ##' relevance) ##' @param object pcaRes object ##' @param ... Not used ##' @usage sDev(object, ...) ##' @aliases sDev sDev,pcaRes-method ##' @return Standard devations of the scores ##' @author Henning Redestig setMethod("sDev", "pcaRes", function(object, ...) { object@sDev }) ##' Check if scaling was part of the PCA model ##' @param object pcaRes object ##' @param ... Not used ##' @usage scaled(object, ...) ##' @aliases scaled scaled,pcaRes-method ##' @return TRUE if scaling was part of the PCA model ##' @author Henning Redestig setMethod("scaled", "pcaRes", function(object, ...) { if(is.null(object@scaled)) return(FALSE) object@scaled != "none" }) ##' Get the scales (e.g. standard deviations) of the original ##' variables ##' @param object pcaRes object ##' @param ... Not used ##' @usage scl(object, ...) ##' @aliases scl scl,pcaRes-method ##' @return Vector with the scales ##' @seealso \code{\link{prep}} ##' @author Henning Redestig setMethod("scl", "pcaRes", function(object, ...) { object@scale }) ##' Cumulative R2 is the total ratio of variance that is being ##' explained by the model ##' @param object a \code{pcaRes} model ##' @param ... Not used ##' @return Get the cumulative R2 ##' @aliases R2cum R2cum,pcaRes-method ##' @author Henning Redestig setMethod("R2cum", "pcaRes", function(object, ...) { object@R2cum }) ##' Get scores from a pcaRes object ##' @param object a pcaRes object ##' @param ... not used ##' @return The scores as a matrix ##' @export ##' @author Henning Redestig ##' @method scores pcaRes scores.pcaRes <- function(object, ...) object@scores ##' Get scores from a pcaRes object ##' @param object a pcaRes object ##' @param ... not used ##' @return The scores as a matrix ##' @seealso \code{\link{scores.pcaRes}} ##' @aliases scores scores,pcaRes-method ##' @author Henning Redestig setMethod("scores", "pcaRes", scores.pcaRes) ##' Get loadings from a pcaRes object ##' @param object a pcaRes object ##' @param ... not used ##' @return The loadings as a matrix ##' @export ##' @author Henning Redestig ##' @method loadings pcaRes loadings.pcaRes <- function(object, ...) object@loadings ##' Get loadings from a pcaRes object ##' @param object a pcaRes object ##' @param ... not used ##' @return The loadings as a matrix ##' @seealso \code{\link{loadings.pcaRes}} ##' @author Henning Redestig ##' @aliases loadings,pcaRes-method setMethod("loadings", "pcaRes", loadings.pcaRes) ##' Crude way to unmask the function with the same name from ##' \code{stats} ##' @param object any object ##' @param ... not used ##' @return The loadings ##' @author Henning Redestig ##' @aliases loadings loadings,ANY-method setMethod("loadings", "ANY", function(object,...) { stats::loadings(object) }) ##' Dimensions of a PCA model ##' @param x a pcaRes object ##' @return Get the dimensions of this PCA model ##' @method dim pcaRes ##' @export ##' @author Henning Redestig dim.pcaRes <- function(x) { res <- c(nObs(x), nVar(x), nP(x)) names(res) <- c("nObs", "nVar", "nPcs") res } ##' Print basic information about pcaRes object ##' @title Print/Show for pcaRes ##' @param x a pcaRes object ##' @param ... not used ##' @return nothing, used for its side effect ##' @name show-methods ##' @export ##' @author Henning Redestig showPcaRes <- function(x, ...) { summary(x) cat(nVar(x), "\tVariables\n") cat(nObs(x),"\tSamples\n") cat(nmissing(x), "\tNAs (", round(100 * nmissing(x) / (nObs(x) * nVar(x)), getOption("str")$digits.d), "%)\n") cat(nP(x), "\tCalculated component(s)\n") if(centered(x)) cat("Data was mean centered before running PCA \n") else cat("Data was NOT mean centered before running PCA \n") if(scaled(x)) cat("Data was scaled before running PCA \n") else cat("Data was NOT scaled before running PCA \n") cat("Scores structure:\n") print(dim(scores(x))) cat("Loadings structure:\n") if(method(x) == "nlpca") { cat("Inverse hierarchical neural network architecture\n") cat(drop(x@network@net), "\n") cat("Functions in layers\n") cat(x@network@fct, "\n") cat("hierarchic layer:", x@network@hierarchic$layer, "\n") cat("hierarchic coefficients:", x@network@hierarchic$var, "\n") cat("scaling factor:", x@network@scalingFactor, "\n") } else{ print(dim(loadings(x))) } } ##' @aliases print,pcaRes-method print,nniRes-method ##' @name show-methods setMethod("print", "pcaRes", showPcaRes) ## @importFrom methods show ##' @aliases show,pcaRes-method show,nniRes-method ##' @param object the object to print information about ##' @name show-methods setMethod("show", "pcaRes", function(object) showPcaRes(object)) ##' Visualize two-components simultaneously ##' ##' This is a method for the generic function 'biplot'. There is ##' considerable confusion over the precise definitions: those of the ##' original paper, Gabriel (1971), are followed here. Gabriel and ##' Odoroff (1990) use the same definitions, but their plots actually ##' correspond to \code{pc.biplot = TRUE}. ##' @title Plot a overlaid scores and loadings plot ##' @param x a pcaRes object ##' @param choices which two pcs to plot ##' @param scale The variables are scaled by ##' \eqn{\lambda^{scale}}{lambda^scale} and the observations are ##' scaled by \eqn{\lambda^{scale}}{lambda ^ (1-scale)} where ##' \code{lambda} are the singular values as computed by ##' \code{princomp}. Normally \eqn{0\le{}scale\le{}1}{0 <= scale <= ##' 1}, and a warning will be issued if the specified 'scale' is ##' outside this range. ##' @param pc.biplot If true, use what Gabriel (1971) refers to as a ##' "principal component biplot", with \eqn{\lambda=1}{lambda = 1} and ##' observations scaled up by sqrt(n) and variables scaled down by ##' sqrt(n). Then the inner products between variables approximate ##' covariances and distances between observations approximate ##' Mahalanobis distance. ##' @param ... optional arguments to be passed to ##' \code{biplot.default}. ##' @return a plot is produced on the current graphics device. ##' @method biplot pcaRes ##' @export ##' @examples ##' data(iris) ##' pcIr <- pca(iris[,1:4]) ##' biplot(pcIr) ##' @seealso \code{prcomp}, \code{pca}, \code{princomp} ##' @author Kevin Wright, Adapted from \code{biplot.prcomp} ##' @keywords multivariate ##' @name biplot-methods biplot.pcaRes <- function(x, choices=1:2, scale=1, pc.biplot=FALSE, ...) { if(length(choices)!=2) stop("length of choices must be 2") scores <- scores(x) n <- nrow(scores) lam <- sDev(x)[choices] * sqrt(n) if(scale < 0 || scale > 1) warning("'scale' is outside [0,1]") if(scale != 0) lam <- lam^scale else lam <- 1 if(pc.biplot) lam <- lam/sqrt(n) biplot(t(t(scores[,choices])/lam), t(t(loadings(x)[, choices]) * lam), , ...) invisible() } ##' @aliases biplot,pcaRes-method ## @importFrom stats biplot ##' @name biplot-methods setMethod("biplot", "pcaRes", biplot.pcaRes) ##' Flexible calculation of R2 goodness of fit. ##' @title R2 goodness of fit ##' @param object a PCA model object ##' @param direction choose between calculating R2 per variable, per ##' observation or for the entire data with 'variables', ##' 'observations' or 'complete'. ##' @param data the data used to fit the model ##' @param pcs the number of PCs to use to calculate R2 ##' @aliases R2VX R2VX,pcaRes-method ##' @examples ##' R2VX(pca(iris)) ##' @return A vector with R2 values ##' @author Henning Redestig setMethod('R2VX', 'pcaRes', function(object, direction=c('variables', 'observations', 'complete'), data=completeObs(object), pcs=nP(object)) { direction <- match.arg(direction) if(is.null(data)) stop('missing input when calculating R2') if(any(is.na(data))) stop('missing values not allowed for calculating R2') dat <- prep(data, scale=scl(object), center=center(object)) xhat <- resid(object, pcs=pcs, data=dat, pre=FALSE, post=FALSE) switch(direction, variables={ 1 - colSums(xhat^2) / colSums(dat^2) }, observations={ 1 - rowSums(xhat^2) / rowSums(dat^2) }, complete={ 1 - sum(xhat^2) / sum(dat^2) }) }) setAs('pcaRes', 'data.frame', function(from) { tt <- scores(from) pp <- loadings(from) if(is.null(rownames(tt))) rownames(tt) <- 1:nrow(tt) if(is.null(rownames(pp))) rownames(pp) <- 1:nrow(pp) dfs <- as.data.frame(tt) dfs$names <- rownames(tt) dfs$type <- 'scores' dfl <- as.data.frame(pp) dfl$names <- rownames(pp) dfl$type <- 'loadings' rownames(dfl) <- rownames(dfs) <- NULL rbind(dfl, dfs) }) ##' Print a brief description of the PCA model ##' @title Summary of PCA model ##' @param object a pcaRes object ##' @param ... Not used ##' @return Nothing, used for side-effect ##' @aliases summary summary.pcaRes summary,pcaRes-method ##' @author Henning Redestig ##' @export ##' @name summary ##' @method summary pcaRes summary.pcaRes <- function(object, ...){ cat(method(object), "calculated PCA\n") cat("Importance of component(s):\n") prop <- vector(length=length(R2cum(object)), mode="numeric") prop[1] <- R2cum(object)[1] if (length(R2cum(object)) > 1) { for (i in 2:length(prop)) { prop[i] <- R2cum(object)[i] - R2cum(object)[i-1] } } r <- rbind(prop, R2cum(object)) rownames(r) <- c("R2", "Cumulative R2") colnames(r) <- paste("PC", 1:nP(object), sep="") print(r, digits=4) invisible(r) } setMethod("summary", "pcaRes", summary.pcaRes) ##' Predict data using PCA model ##' ##' This function extracts the predict values from a pcaRes object for ##' the PCA methods SVD, Nipals, PPCA and BPCA. Newdata is first ##' centered if the PCA model was and then scores (\eqn{T}) and data ##' (\eqn{X}) is 'predicted' according to : ##' \eqn{\hat{T}=X_{new}P}{That=XnewP} ##' \eqn{\hat{X}_{new}=\hat{T}P'}{Xhat=ThatP'}. Missing values are ##' set to zero before matrix multiplication to achieve NIPALS like ##' treatment of missing values. ##' @title Predict values from PCA. ##' @param object \code{pcaRes} the \code{pcaRes} object of interest. ##' @param newdata \code{matrix} new data with same number of columns ##' as the used to compute \code{object}. ##' @param pcs \code{numeric} The number of PC's to consider ##' @param pre pre-process \code{newdata} based on the pre-processing ##' chosen for the PCA model ##' @param post unpre-process the final data (add the center back etc) ##' @param ... Not passed on anywhere, included for S3 consistency. ##' @return A list with the following components: \item{scores}{The ##' predicted scores} \item{x}{The predicted data} ##' @method predict pcaRes ##' @keywords multivariate ##' @examples ##' data(iris) ##' hidden <- sample(nrow(iris), 50) ##' pcIr <- pca(iris[-hidden,1:4]) ##' pcFull <- pca(iris[,1:4]) ##' irisHat <- predict(pcIr, iris[hidden,1:4]) ##' cor(irisHat$scores[,1], scores(pcFull)[hidden,1]) ##' @export ##' @name predict-methods ##' @author Henning Redestig predict.pcaRes <- function(object, newdata, pcs=nP(object), pre=TRUE, post=TRUE, ...) { if(!method(object) %in% listPcaMethods("linear")) stop("predict method not implemented for that type of PCA") if(pre) newdata <- prep(newdata, scl(object), center(object)) ## set na's to zero to achieve NIPALS like prediction newdata[is.na(newdata)] <- 0 tnew <- newdata %*% loadings(object)[,1:pcs,drop=FALSE] xhat <- tcrossprod(tnew, loadings(object)[,1:pcs,drop=FALSE]) if(post) xhat <- prep(xhat, scl(object), center(object), reverse=TRUE) list(scores=tnew, x=xhat) } ## @importFrom stats predict ##' @name predict-methods ##' @aliases predict,pcaRes-method setMethod("predict", "pcaRes", predict.pcaRes) ##' This function extracts the residuals values from a pcaRes object ##' for the PCA methods SVD, Nipals, PPCA and BPCA ##' @title Residuals values from a PCA model. ##' @param object \code{pcaRes} the \code{pcaRes} object of interest. ##' @param data \code{matrix} The data that was used to calculate the ##' PCA model (or a different dataset to e.g. adress its proximity to ##' the model). ##' @param ... Passed on to \code{\link{predict.pcaRes}}. E.g. setting ##' the number of used components. ##' @return A \code{matrix} with the residuals ##' @method residuals pcaRes ##' @keywords multivariate ##' @export ##' @name rediduals-methods ##' @examples ##' data(iris) ##' pcIr <- pca(iris[,1:4]) ##' head(residuals(pcIr, iris[,1:4])) ##' @author Henning Redestig residuals.pcaRes <- function(object, data=completeObs(object), ...) { if(is.null(data)) stop("data missing when calculating residuals") data - predict(object, data, ...)$x } ##' @aliases residuals,pcaRes-method ##' @name rediduals-methods setMethod("residuals", "pcaRes", residuals.pcaRes) ##' @name rediduals-methods ##' @aliases resid,pcaRes-method setMethod("resid", "pcaRes", residuals.pcaRes) ##' Fitted values of a PCA model ##' ##' This function extracts the fitted values from a pcaResobject. For ##' PCA methods like SVD, Nipals, PPCA etc this is basically just the ##' scores multipled by the loadings and adjusted for pre-processing. ##' for non-linear PCA the original data is propagated through the ##' network to obtain the approximated data. ##' @title Extract fitted values from PCA. ##' @param object the \code{pcaRes} object of interest. ##' @param data For standard PCA methods this can safely be left null ##' to get scores x loadings but if set, then the scores are obtained ##' by projecting provided data onto the loadings. If data contains ##' missing values the result will be all NA. Non-linear PCA is an ##' exception, here if data is NULL then data is set to the ##' completeObs and propaged through the network. ##' @param nPcs The number of PC's to consider ##' @param pre pre-process \code{data} based on the pre-processing ##' chosen for the PCA model ##' @param post unpre-process the final data (add the center back etc ##' to get the final estimate) ##' @param ... Not used ##' @return A matrix representing the fitted data ##' @keywords multivariate ##' @method fitted pcaRes ##' @examples ##' pc <- pca(iris[,1:4], nPcs=4, center=TRUE, scale="uv") ##' sum( (fitted(pc) - iris[,1:4])^2 ) ##' @export ##' @name fitted-methods ##' @author Henning Redestig fitted.pcaRes <- function(object, data=NULL, nPcs=nP(object), pre=TRUE, post=TRUE, ...) { if(method(object) %in% listPcaMethods("nonlinear")) { if(is.null(data) & is.null(completeObs(object))) stop("completeObs slot is empty -- provide the training data") if(is.null(data) & !is.null(completeObs(object))) data <- completeObs(object) if(is.null(data)) stop("nlpca requires original data to be provide") if(pre) data <- prep(data, scl(object), center(object)) recData <- errorHierarchic(object@network, t(scores(object)), t(data))$out[,,nPcs] recData <- t(recData / object@network@scalingFactor) } else { if(!is.null(data)) { if(pre) data <- prep(data, scl(object), center(object)) tt <- data %*% loadings(object)[,1:nPcs, drop=FALSE] } if(is.null(data)) tt <- scores(object)[,1:nPcs, drop=FALSE] recData <- tcrossprod(tt, loadings(object)[,1:nPcs, drop=FALSE]) } if(post) recData <- prep(recData, scl(object), center(object), reverse=TRUE) return(recData) } ## @importFrom stats fitted ##' @name fitted-methods ##' @aliases fitted,pcaRes-method setMethod("fitted", "pcaRes", fitted.pcaRes) ##' Plot the computed diagnostics of PCA model to get an idea of their ##' importance. Note though that the standard screeplot shows the ##' standard deviations for the PCs this method shows the R2 values ##' which empirically shows the importance of the P's and is thus ##' applicable for any PCA method rather than just SVD based PCA. ##' ##' If cross-validation was done for the PCA the plot will also show ##' the CV based statistics. A common rule-of-thumb for determining ##' the optimal number of PCs is the PC where the CV diagnostic is at ##' its maximum but not very far from \eqn{R^2}. ##' @title Plot diagnostics (screeplot) ##' @param x \code{pcaRes} The pcaRes object. ##' @param y not used ##' @param main title of the plot ##' @param col Colors of the bars ##' @param ... further arguments to barplot ##' @return None, used for side effect. ##' @seealso \link{screeplot} ##' @examples ##' data(metaboliteData) ##' pc <- pca(t(metaboliteData), nPcs=5, cv="q2", scale="uv") ##' plot(pc) ##' @method plot pcaRes ##' @aliases plot.pcaRes plot,pcaRes-method ##' @export ##' @author Henning Redestig plot.pcaRes <- function(x, y=NULL, main=deparse(substitute(object)), col=gray(c(0.9, 0.5)), ...) { y <- NULL ## the deparse(subsitute(object)) later fails otherwise main <- main if(!is.null(cvstat(x))) { cvs <- cvstat(x) if(length(cvs) != nP(x)) cvs <- c(cvs, rep(NA, nP(x) - length(cvs))) xx <- rbind(R2cum(x), cvs) barplot(xx, beside=TRUE, ylim=c(0,1.1), col=col, main=main, names.arg=paste("PC", 1:nP(x), sep=""), ...) legend(x="topleft", fill=col, legend=c(expression(R^2), expression(Q^2))) } else barplot(R2cum(x), ylim=c(0,1.1), ylab=expression(R^2), main=main, names.arg=paste("PC", 1:nP(x), sep=""), col=col[1], ...) } setMethod("plot", "pcaRes", plot.pcaRes) ##' A common way of visualizing two principal components ##' ##' This method is meant to be used as a quick way to visualize ##' results, if you want a more specific plot you probably want to ##' get the scores, loadings with \code{scores(object)}, ##' \code{loadings(object)} and then design your own plotting method. ##' @title Side by side scores and loadings plot ##' @usage slplot(object, pcs=c(1,2), scoresLoadings=c(TRUE, TRUE), ##' sl="def", ll="def", hotelling=0.95, rug=TRUE, sub=NULL,...) ##' @param object a pcaRes object ##' @param pcs which two pcs to plot ##' @param scoresLoadings Which should be shown scores and or loadings ##' @param sl labels to plot in the scores plot ##' @param ll labels to plot in the loadings plot ##' @param hotelling confidence interval for ellipse in the score plot ##' @param rug logical, rug x axis in score plot or not ##' @param sub Subtitle, defaults to annotate with amount of explained ##' variance. ##' @param ... Further arguments to plot functions. Prefix arguments ##' to \code{par()} with 's' for the scores plot and 'l' for the ##' loadings plot. I.e. cex become scex for setting character ##' expansion in the score plot and lcex for the loadings plot. ##' @return None, used for side effect. ##' @note Uses layout instead of par to provide side-by-side so it ##' works with Sweave (but can not be combined with ##' \code{par(mfrow=..))} ##' @author Henning Redestig ##' @seealso \code{\link{pca}}, \code{\link{biplot}} ##' @aliases slplot slplot,pcaRes-method ##' @examples ##' data(iris) ##' pcIr <- pca(iris[,1:4], scale="uv") ##' slplot(pcIr, sl=NULL, spch=5) ##' slplot(pcIr, sl=NULL, lcex=1.3, scol=as.integer(iris[,5])) ##' @keywords multivariate setMethod("slplot", "pcaRes", function(object, pcs=c(1,2), scoresLoadings=c(TRUE, TRUE), sl=rownames(scores(object)), ll=rownames(loadings(object)), hotelling=0.95, rug=FALSE, sub=NULL,...) { opar <- par(no.readonly=TRUE) cl <- match.call() mainArgs <- c(1,match(c("ll", "sl", "scoresLoadings", "sub"), names(cl), 0)) scoreArgs <- grep("^s", names(cl)[-mainArgs]) loadingArgs <- grep("^l", names(cl)[-mainArgs]) if(!is.null(ll) & length(ll) != nVar(object)) stop("Loading labels do not match the object dimensions") if(!is.null(sl) & length(sl) != nObs(object)) stop("Score labels do not match the object dimensions") if(is.null(sl)) sl <- NA if(is.null(ll)) ll <- NA ## no loadings for non-linear pca if(method(object) %in% listPcaMethods("nonlinear") && scoresLoadings[2]) scoresLoadings[2] <- FALSE if(length(pcs) > 2) plotPcs(object, pcs, scoresLoadings=scoresLoadings,...) else { if(is.null(sub)) sub <- paste(sprintf("%.2f", R2cum(object)[max(pcs)] * 100), "% of the variance explained", sep="") if(sum(scoresLoadings) == 2) layout(matrix(c(1,2), 1, 2, TRUE), respect=matrix(c(1,1), 1, 2)) ## exception plot if one dimensional if (length(pcs) == 1 | nP(object) == 1) { pcs <- 1 ## score plot if(scoresLoadings[1]) { newCall <- call("barplot", height=scores(object)[,pcs], main="Scores", las=3, ylab=paste("PC", pcs), sub=sub, names.arg=sl) tmp <- cl[-mainArgs][scoreArgs] names(tmp) <- gsub("^s", "", names(tmp)) for(i in 1:length(tmp)) { newCall[[length(newCall) + 1]] <- tmp[[i]] names(newCall)[length(newCall)] <- names(tmp)[i] } eval(newCall) } ## loadingplot if(scoresLoadings[2]) { newCall <- call("barplot", height=loadings(object)[,pcs], main="Loadings", las=3, ylab=paste("PC", pcs), names.arg=ll) if(length(loadingArgs) > 0) { tmp <- cl[-mainArgs][loadingArgs] names(tmp) <- gsub("^l", "", names(tmp)) for(i in 1:length(tmp)) { newCall[[length(newCall) + 1]] <- tmp[[i]] names(newCall)[length(newCall)] <- names(tmp)[i] } } eval(newCall) } return(invisible(TRUE)) } ## the score plot if(scoresLoadings[1]) { ## setup plot plotCall <- call("plot", x=scores(object)[,pcs], main="Scores", ylab=paste("PC", pcs[2]), sub=sub, xlab=paste("PC", pcs[1])) if(length(scoreArgs) > 0) { tmp <- cl[-mainArgs][scoreArgs] names(tmp) <- gsub("^s", "", names(tmp)) for(i in 1:length(tmp)) { plotCall[[length(plotCall) + 1]] <- tmp[[i]] names(plotCall)[length(plotCall)] <- names(tmp)[i] } } ## add text if (!is.null(sl) & !all(is.na(sl))) { plotCall[[length(plotCall) + 1]] <- "n" names(plotCall)[length(plotCall)] <- "type" textCall <- call("text", x=scores(object)[,pcs], labels=sl) if(length(scoreArgs) > 0) { tmp <- cl[-mainArgs][scoreArgs] names(tmp) <- gsub("^s", "", names(tmp)) for(i in 1:length(tmp)) { textCall[[length(textCall) + 1]] <- tmp[[i]] names(textCall)[length(textCall)] <- names(tmp)[i] } } } eval(plotCall) if (!is.null(sl) & !all(is.na(sl))) eval(textCall) if(rug) rug(scores(object)[,1]) abline(h=0, v=0) if(!is.null(hotelling)) { A <- length(pcs) el <- simpleEllipse(scores(object)[,pcs[1]], scores(object)[,pcs[2]], alfa=hotelling) lines(el) } } ## the loading plot if(scoresLoadings[2]) { ## setup plot plotCall <- call("plot", x=loadings(object)[,pcs], main="Loadings", ylab=paste("PC", pcs[2]), xlab=paste("PC", pcs[1])) if(length(loadingArgs) > 0) { tmp <- cl[-mainArgs][loadingArgs] names(tmp) <- gsub("^l", "", names(tmp)) for(i in 1:length(tmp)) { plotCall[[length(plotCall) + 1]] <- tmp[[i]] names(plotCall)[length(plotCall)] <- names(tmp)[i] } } ## add text if (!is.null(ll) & !all(is.na(ll))) { plotCall[[length(plotCall) + 1]] <- "n" names(plotCall)[length(plotCall)] <- "type" textCall <- call("text", x=loadings(object)[,pcs], labels=ll) if(length(loadingArgs) > 0) { tmp <- cl[-mainArgs][loadingArgs] names(tmp) <- gsub("^l", "", names(tmp)) for(i in 1:length(tmp)) { textCall[[length(textCall) + 1]] <- tmp[[i]] names(textCall)[length(textCall)] <- names(tmp)[i] } } } eval(plotCall) if (!is.null(ll) & !all(is.na(ll))) eval(textCall) abline(h=0, v=0) } } par(opar) }) pcaMethods/R/nipalsPca.R0000644000175200017520000001513614516003735016133 0ustar00biocbuildbiocbuild##' PCA by non-linear iterative partial least squares ##' ##' Can be used for computing PCA on a numeric matrix using either the ##' NIPALS algorithm which is an iterative approach for estimating the ##' principal components extracting them one at a time. NIPALS can ##' handle a small amount of missing values. It is not recommended to ##' use this function directely but rather to use the pca() wrapper ##' function. There is a C++ implementation given as \code{nipalsPca} ##' which is faster. ##' @title NIPALS PCA implemented in R ##' @param Matrix Pre-processed (centered, scaled) numerical matrix ##' samples in rows and variables as columns. ##' @param nPcs Number of components that should be extracted. ##' @param varLimit Optionally the ratio of variance that should be ##' explained. \code{nPcs} is ignored if varLimit < 1 ##' @param maxSteps Defines how many iterations can be done before ##' algorithm should abort (happens almost exclusively when there were ##' some wrong in the input data). ##' @param threshold The limit condition for judging if the algorithm ##' has converged or not, specifically if a new iteration is done if ##' \eqn{(T_{old} - T)^T(T_{old} - T) > \code{limit}}. ##' @param verbose Show simple progress information. ##' @param ... Only used for passing through arguments. ##' @return A \code{pcaRes} object. ##' @references Wold, H. (1966) Estimation of principal components and ##' related models by iterative least squares. In Multivariate ##' Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420. ##' @author Henning Redestig ##' @seealso \code{prcomp}, \code{princomp}, \code{pca} ##' @examples ##' data(metaboliteData) ##' mat <- prep(t(metaboliteData)) ##' ## c++ version is faster ##' system.time(pc <- RnipalsPca(mat, method="rnipals", nPcs=2)) ##' system.time(pc <- nipalsPca(mat, nPcs=2)) ##' ## better use pca() ##' pc <- pca(t(metaboliteData), method="rnipals", nPcs=2) ##' \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteData))^2, na.rm=TRUE) < 200)} ##' @keywords multivariate ##' @export RnipalsPca <- function(Matrix, nPcs=2, varLimit=1, maxSteps=5000, threshold=1e-6, verbose=interactive(), ...) { nVar <- ncol(Matrix) ##Find a good? starting column -- better way? startingColumn <- 1 ## sum(c(NA, NA), na.rm=TRUE) is 0, but we want NA sum.na <- function(x){ ifelse(all(is.na(x)), NA, sum(x, na.rm=TRUE))} TotalSS <- sum(Matrix*Matrix, na.rm=TRUE) ph <- rep(0, nVar) R2cum <- rep(NA, nPcs) scores <- NULL loadings <- NULL anotherPc <- TRUE l <- 1 while(anotherPc) { count <- 0 #number of iterations done th <- Matrix[,startingColumn] #first column is starting vector for th continue <- TRUE if(verbose) cat(paste("Calculating PC", l, ": ", sep="")) while(continue) { count <- count+1 ph <- rep(0, nVar) ##Calculate loadings through LS regression ##Note: Matrix*th is column-wise multiplication tsize <- sum(th * th, na.rm=TRUE) ph <- apply(Matrix * (th / tsize), 2, sum.na) ##normalize ph based on the available values. psize <- sum(ph*ph, na.rm=TRUE) ph <- ph / sqrt(psize) ##Calculate scores through LS regression ##Trick: To get row-wise multiplication, use t(Matrix)*ph, then ##be sure to use apply(,2,) and NOT apply(,1,)! th.old <- th th <- apply(t(Matrix) * ph, 2, sum.na) ##Round up by calculating if convergence condition is met and ##checking if it seems to be an neverending loop. if (count > maxSteps) { stop("Too many iterations, quitting") } if (t(na.omit(th.old - th)) %*% (na.omit(th.old - th)) <= threshold) { continue = FALSE } if (verbose)cat("*") } if (verbose) cat(" Done\n") Matrix <- Matrix - (th %*% t(ph)) scores <- cbind(scores, th) loadings <- cbind(loadings, ph) ##cumulative proportion of variance R2cum[l] <- 1 - (sum(Matrix*Matrix,na.rm=TRUE) / TotalSS) l <- l + 1 if((!abs(varLimit - 1) < 1e-4 & R2cum[l - 1] >= varLimit) | l > nPcs) { anotherPc <- FALSE nPcs <- l - 1 } } r <- new("pcaRes") r@scores <- scores r@loadings <- loadings r@R2cum <- R2cum r@varLimit <- varLimit r@method <- "rnipals" return(r) } ##' PCA by non-linear iterative partial least squares ##' ##' Can be used for computing PCA on a numeric matrix using either the ##' NIPALS algorithm which is an iterative approach for estimating the ##' principal components extracting them one at a time. NIPALS can ##' handle a small amount of missing values. It is not recommended to ##' use this function directely but rather to use the pca() wrapper ##' function. ##' @title NIPALS PCA ##' @param Matrix Pre-processed (centered, scaled) numerical matrix ##' samples in rows and variables as columns. ##' @param nPcs Number of components that should be extracted. ##' @param varLimit Optionally the ratio of variance that should be ##' explained. \code{nPcs} is ignored if varLimit < 1 ##' @param maxSteps Defines how many iterations can be done before ##' algorithm should abort (happens almost exclusively when there were ##' some wrong in the input data). ##' @param threshold The limit condition for judging if the algorithm ##' has converged or not, specifically if a new iteration is done if ##' \eqn{(T_{old} - T)^T(T_{old} - T) > \code{limit}}. ##' @param ... Only used for passing through arguments. ##' @return A \code{pcaRes} object. ##' @references Wold, H. (1966) Estimation of principal components and ##' related models by iterative least squares. In Multivariate ##' Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420. ##' @author Henning Redestig ##' @seealso \code{prcomp}, \code{princomp}, \code{pca} ##' @examples ##' data(metaboliteData) ##' mat <- prep(t(metaboliteData)) ##' pc <- nipalsPca(mat, nPcs=2) ##' ## better use pca() ##' pc <- pca(t(metaboliteData), method="nipals", nPcs=2) ##' \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteData))^2, na.rm=TRUE) < 200)} ##' @keywords multivariate ##' @export nipalsPca <- function(Matrix, nPcs=2, varLimit=1, maxSteps=5000, threshold=1e-6, ...) { nipRes <- .Call("pcaMethods_Nipals", Matrix, params=list(nPcs=nPcs, varLimit=varLimit, threshold=threshold, maxSteps=maxSteps), PACKAGE="pcaMethods") r <- new("pcaRes") r@scores <- nipRes$scores r@loadings <- nipRes$loadings r@R2cum <- nipRes$R2cum r@varLimit <- varLimit r@method <- "nipals" return(r) } pcaMethods/R/nlpca.R0000644000175200017520000001664414516003735015323 0ustar00biocbuildbiocbuild##' Neural network based non-linear PCA ##' ##' Artificial Neural Network (MLP) for performing non-linear ##' PCA. Non-linear PCA is conceptually similar to classical PCA but ##' theoretically quite different. Instead of simply decomposing our ##' matrix (X) to scores (T) loadings (P) and an error (E) we train a ##' neural network (our loadings) to find a curve through the ##' multidimensional space of X that describes a much variance as ##' possible. Classical ways of interpreting PCA results are thus not ##' applicable to NLPCA since the loadings are hidden in the network. ##' However, the scores of components that lead to low ##' cross-validation errors can still be interpreted via the score ##' plot. Unfortunately this method depend on slow iterations which ##' currently are implemented in R only making this method extremely ##' slow. Furthermore, the algorithm does not by itself decide when it ##' has converged but simply does 'maxSteps' iterations. ##' @title Non-linear PCA ##' @param Matrix \code{matrix} --- Preprocessed data with the ##' variables in columns and observations in rows. The data may ##' contain missing values, denoted as \code{NA} ##' @param nPcs \code{numeric} -- Number of components to ##' estimate. The preciseness of the missing value estimation depends ##' on thenumber of components, which should resemble the internal ##' structure of the data. ##' @param maxSteps \code{numeric} -- Number of estimation ##' steps. Default is based on a generous rule of thumb. ##' @param unitsPerLayer The network units, example: c(2,4,6) for two ##' input units 2feature units (principal components), one hidden ##' layer fornon-linearity and three output units (original amount ##' ofvariables). ##' @param functionsPerLayer The function to apply at each layer ##' eg. c("linr", "tanh", "linr") ##' @param weightDecay Value between 0 and 1. ##' @param weights Starting weights for the network. Defaults to ##' uniform random values but can be set specifically to make ##' algorithm deterministic. ##' @param verbose \code{boolean} -- nlpca prints the number of steps ##' and warning messages if set to TRUE. Default is interactive(). ##' @param ... Reserved for future use. Not passed on anywhere. ##' @return Standard PCA result object used by all PCA-basedmethods of ##' this package. Contains scores, loadings, data meanand more. See ##' \code{\link{pcaRes}} for details. ##' @author Based on a matlab script by Matthias Scholz and ported to ##' R by Henning Redestig ##' @references Matthias Scholz, Fatma Kaplan, Charles L Guy, Joachim ##' Kopkaand Joachim Selbig. Non-linear PCA: a missing ##' data approach. \emph{Bioinformatics, 21(20):3887-3895, Oct 2005} ##' @examples ##' ## Data set with three variables where data points constitute a helix ##' data(helix) ##' helixNA <- helix ##' ## not a single complete observation ##' helixNA <- t(apply(helix, 1, function(x) { x[sample(1:3, 1)] <- NA; x})) ##' ## 50 steps is not enough, for good estimation use 1000 ##' helixNlPca <- pca(helixNA, nPcs=1, method="nlpca", maxSteps=50) ##' fittedData <- fitted(helixNlPca, helixNA) ##' plot(fittedData[which(is.na(helixNA))], helix[which(is.na(helixNA))]) ##' ## compared to solution by Nipals PCA which cannot extract non-linear patterns ##' helixNipPca <- pca(helixNA, nPcs=2) ##' fittedData <- fitted(helixNipPca) ##' plot(fittedData[which(is.na(helixNA))], helix[which(is.na(helixNA))]) ##' @export nlpca <- function(Matrix, nPcs=2, maxSteps=2 * prod(dim(Matrix)), unitsPerLayer=NULL, functionsPerLayer=NULL, weightDecay=0.001, weights=NULL, verbose=interactive(),...) { ## do some basic checks object <- Matrix trainIn <- NULL trainOut <- t(object) stds <- apply(trainOut, 2, sd, na.rm=TRUE) scalingFactor <- 0.1 / max(stds) trainOut <- trainOut * scalingFactor ## now setup the initial nlpcaNet object numNaN <- sum(is.na(object)) ## always inverse in this version, bottleneck is not fully implemented inverse <- TRUE ## DATADIST (nlnet@dataDist) is given by weightOut dataDist <- apply(!is.na(trainOut), 2, as.integer) #0 for NA, 1 for everything else if(!inverse) dataDist <- NULL ## setup the network architecture if(is.null(unitsPerLayer)) { ld <- dim(trainOut)[1] lh <- nPcs if(nPcs < 10) lh <- 2 + 2 * nPcs unitsPerLayer <- c(ld, lh, nPcs, lh, ld) if(inverse) unitsPerLayer <- c(nPcs, lh, ld) } featureLayer <- ceiling(length(unitsPerLayer) / 2) if(inverse) featureLayer <- 1 if(is.null(functionsPerLayer)) { functionsPerLayer <- rep("tanh", length(unitsPerLayer)) functionsPerLayer[1] <- "linr" functionsPerLayer[featureLayer] <- "linr" functionsPerLayer[length(unitsPerLayer)] <- "linr" } hierarchic <- list(layer=featureLayer, var=rbind(c(rep(1, nPcs), 0.01)), idx=getHierarchicIdx(unitsPerLayer[featureLayer])) ## set up the weights wNum <- sum(sapply(2:length(unitsPerLayer), function(i) (1 + unitsPerLayer[i - 1]) * unitsPerLayer[i])) if(!is.null(weights) && length(weights) != wNum) { warning("Weight vector not expected length (", wNum, "), using random weights", sep="") weights <- NULL } if(is.null(weights)) weights <- cbind(0.2 * (runif(wNum, 0, 1) - 0.1)) if(inverse) { numPattern <- dim(trainOut)[2] tmpTrainIn <- cbind(rnorm(unitsPerLayer[1] * numPattern,0,1) * 0.1) weights <- rbind(tmpTrainIn, weights) } if(nPcs == 1) featureSorting <- FALSE if(nPcs > 1) featureSorting <- TRUE nlnet <- new("nlpcaNet") nlnet@net <- rbind(unitsPerLayer) nlnet@hierarchic <- hierarchic nlnet@fct <- functionsPerLayer nlnet@fkt <- functionsPerLayer[2:length(functionsPerLayer)] nlnet@weightDecay <- weightDecay nlnet@featureSorting <- featureSorting nlnet@dataDist <- dataDist nlnet@inverse <- inverse nlnet@fCount <- as.integer(0) nlnet@componentLayer <- as.integer(featureLayer) nlnet@error <- errorHierarchic nlnet@gradient <- derrorHierarchic nlnet@maxIter <- as.integer(maxSteps) nlnet@weights <- weightsAccount(weights) nlnet@scalingFactor <- scalingFactor ## ****************************** if(verbose) cat("Training network with", nlnet@maxIter, "iterations...\n!:\tSquare error is NA -- accuracy in line-search might be too small\n:\tComponents were sorted at iteration n\n^:\tToo many iterations while expanding\n") newnet <- optiAlgCgd(nlnet, trainIn, trainOut, verbose) if(verbose) cat("\nDone\n") if(inverse) { nObs <- unitsPerLayer[1] * dim(trainOut)[2] we <- newnet@weights$current() scores <- t(matrix(we[1:nObs], nrow=unitsPerLayer[1], dim(trainOut)[2])) newnet@weights$set(we[(nObs + 1):length(we),,drop=FALSE]) } ## for further applications newnet must not be inverse anymore newnet@inverse <- FALSE res <- new("pcaRes") res@scores <- scores res@loadings <- matrix() res@network <- newnet res@method <- "nlpca" R2cum <- rep(NA, nPcs) TSS <- sum(Matrix^2, na.rm=TRUE) for(i in 1:nPcs) R2cum[i] <- 1 - sum((Matrix - fitted(res, Matrix, nPcs=i))^2, na.rm=TRUE) / TSS res@R2cum <- R2cum res } ##' Index in hiearchy ##' @param hierarchicNum A number ##' @return ... ##' @author Henning Redestig, Matthias Scholz getHierarchicIdx <- function(hierarchicNum) { res <- matrix(1, ncol=hierarchicNum, nrow=hierarchicNum) res[lower.tri(res)] <- 0 cbind(res, c(0, rep(1, hierarchicNum - 1))) } pcaMethods/R/optiAlgCgd.R0000644000175200017520000000414314516003735016232 0ustar00biocbuildbiocbuild##' Conjugate gradient optimization ##' @param nlnet The nlnet ##' @param trainIn Training data ##' @param trainOut fitted data ##' @param verbose logical, print messages ##' @return ... ##' @author Henning Redestig, Matthias Scholz optiAlgCgd <- function(nlnet, trainIn, trainOut, verbose=FALSE) { tmpnet <- forkNlpcaNet(nlnet) derr <- tmpnet@gradient(tmpnet, trainIn, trainOut) dw <- derr$dwTotal e <- derr$Etotal dv <- -dw if(tmpnet@featureSorting) eSortLast <- e eHist <- rep(0, tmpnet@maxIter) ttLast <- rep(0.0001, 6) for(i in 1:tmpnet@maxIter) { if(verbose) { if(i %% 10 == 0) cat("*") if(i %% 100 == 0) cat(" [", i, "]\n") } eHist[i] <- e eLast <- e # line search in direction dv (downhill) ttGuess <- max(min(ttLast), 0.00001) linSe <- lineSearch(tmpnet, dv, e, ttGuess, trainIn, trainOut, verbose) tmpnet@weights$set(cbind(linSe$wBest)) e <- linSe$eBest tt <- linSe$ttBest ttLast <- c(ttLast[2:length(ttLast)], tt) #shift and add new tt gradRes <- tmpnet@gradient(tmpnet, trainIn, trainOut) dwNew <- gradRes$dwTotal e <- gradRes$Etotal ## define new search direction dv (conjugate direction) ## b1=dw_new'*dw_new; # Fletcher-Reeves b1 <- crossprod(dwNew, (dwNew - dw))#Polak-Ribiere b2 <- crossprod(dw) beta <- b1 / b2 dv <- -dwNew + dv %*% beta dw <- dwNew if(e > eLast) { dv <- -dwNew if(verbose) cat("!", sep="") } if(is.na(e)) stop("Square error is NA (critical) - accuracy in line-search might be too small") if(tmpnet@featureSorting) if(e / eSortLast < 0.90 || i == tmpnet@maxIter || i == tmpnet@maxIter - 1 || i == tmpnet@maxIter - 2) { eSortLast <- e if(verbose) cat("<", i, ">", sep="") ## somewhat secret method, sortFeatures calls ## nlnet@weights$set(x) so the weights are updated here ## 'behind the scenes' sortFeatures(tmpnet, trainIn, trainOut) } } tmpnet } pcaMethods/R/orth.R0000644000175200017520000000354014516003735015171 0ustar00biocbuildbiocbuild##' ONB = orth(mat) is an orthonormal basis for the range of matrix ##' mat. That is, ONB' * ONB = I, the columns of ONB span the same ##' space as the columns of mat, and the number of columns of ONB is ##' the rank of mat. ##' @title Calculate an orthonormal basis ##' @param mat matrix to calculate orthonormal base ##' @param skipInac do not include components with precision below ##' .Machine$double.eps if TRUE ##' @return orthonormal basis for the range of matrix ##' @author Wolfram Stacklies orth <- function(mat, skipInac = FALSE) { if(nrow(mat) > ncol(mat)) { leftSVs <- ncol(mat) } else { leftSVs <- nrow(mat) } result <- svd(mat, nu = leftSVs, nv = ncol(mat)) U <- result[[2]] S <- result[[1]] V <- result[[3]] m <- nrow(mat) n <- ncol(mat) if(m > 1) { s <- diag(S, nrow = length(S)) } else if(m == 1) { s <- S[1] } else { s <- 0 } tol <- max(m,n) * max(s) * .Machine$double.eps r <- sum(s > tol) if ( r < ncol(U) ) { if (skipInac) { warning("Precision for components ", r + 1 , " - ", ncol(U), " is below .Machine$double.eps. \n", "Results for those components are likely to be inaccurate!!\n", "These component(s) are not included in the returned solution!!\n") } else { warning("Precision for components ", r + 1 , " - ", ncol(U), " is below .Machine$double.eps. \n", "Results for those components are likely to be inaccurate!!\n") } } if (skipInac) { ONB <- U[, 1:r, drop=FALSE] ## Assing correct row and colnames rownames(ONB) <- labels(mat[, 1:r, drop=FALSE])[[1]]; colnames(ONB) <- labels(mat[, 1:r, drop=FALSE])[[2]]; } else { ONB<-U ## Assing correct row and colnames rownames(ONB) <- labels(mat)[[1]]; colnames(ONB) <- labels(mat)[[2]]; } return(ONB) } pcaMethods/R/pca.R0000644000175200017520000003477014516003735014771 0ustar00biocbuildbiocbuild##' Vector with current valid PCA methods ##' @title List PCA methods ##' @param which the type of methods to get. E.g. only get the PCA ##' methods based on the classical model where the fitted data is a ##' direct multiplication of scores and loadings. ##' @return A character vector with the current methods for doing PCA ##' @export ##' @author Henning Redestig listPcaMethods <- function(which=c("all", "linear", "nonlinear")) { switch(match.arg(which), all={ return(c("svd", "nipals", "rnipals", "bpca", "ppca", "svdImpute", "robustPca", "nlpca", "llsImpute", "llsImputeAll")) }, linear={ return(c("svd", "nipals", "rnipals", "bpca", "ppca", "svdImpute", "robustPca")) }, nonlinear={ return("nlpca") }) } ##' Perform PCA on a numeric matrix for visualisation, information ##' extraction and missing value imputation. ##' ##' This method is wrapper function for the following set of pca ##' methods: ##' ##' \describe{\item{svd:}{Uses classical \code{prcomp}. See ##' documentation for \code{\link{svdPca}}.} ##' ##' \item{nipals:}{An iterative method capable of handling small ##' amounts of missing values. See documentation for ##' \code{\link{nipalsPca}}.} ##' ##' \item{rnipals:}{Same as nipals but implemented in R.} ##' ##' \item{bpca:}{An iterative method using a Bayesian model to handle ##' missing values. See documentation for \code{\link{bpca}}.} ##' ##' \item{ppca:}{An iterative method using a probabilistic model to ##' handle missing values. See documentation for \code{\link{ppca}}.} ##' ##' \item{svdImpute:}{Uses expectation maximation to perform SVD PCA ##' on incomplete data. See documentation for ##' \code{\link{svdImpute}}.}} ##' ##' Scaling and centering is part of the PCA model and handled by ##' \code{\link{prep}}. ##' @title Perform principal component analysis ##' @param object Numerical matrix with (or an object coercible to ##' such) with samples in rows and variables as columns. Also takes ##' \code{ExpressionSet} in which case the transposed expression ##' matrix is used. Can also be a data frame in which case all ##' numberic variables are used to fit the PCA. ##' @param method One of the methods reported by ##' \code{listPcaMethods()}. Can be left missing in which case the ##' \code{svd} PCA is chosen for data wihout missing values and ##' \code{nipalsPca} for data with missing values ##' @param nPcs Number of principal components to calculate. ##' @param scale Scaling, see \code{\link{prep}}. ##' @param center Centering, see \code{\link{prep}}. ##' @param completeObs Sets the \code{completeObs} slot on the ##' resulting \code{pcaRes} object containing the original data with ##' but with all NAs replaced with the estimates. ##' @param subset A subset of variables to use for calculating the ##' model. Can be column names or indices. ##' @param cv character naming a the type of cross-validation ##' to be performed. ##' @param ... Arguments to \code{\link{prep}}, the chosen pca ##' method and \code{\link{Q2}}. ##' @return A \code{pcaRes} object. ##' @references ##' Wold, H. (1966) Estimation of principal components and ##' related models by iterative least squares. In Multivariate ##' Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420. ##' ##' Shigeyuki Oba, Masa-aki Sato, Ichiro Takemasa, Morito Monden, ##' Ken-ichi Matsubara and Shin Ishii. A Bayesian missing value ##' estimation method for gene expression profile ##' data. \emph{Bioinformatics, 19(16):2088-2096, Nov 2003}. ##' ##' Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and ##' Hastie T. and Tibshirani R. and Botstein D. and Altman RB. - ##' Missing value estimation methods for DNA microarrays. ##' \emph{Bioinformatics. 2001 Jun;17(6):520-5}. ##' @seealso \code{\link{prcomp}}, \code{\link{princomp}}, ##' \code{\link{nipalsPca}}, \code{\link{svdPca}} ##' @examples ##' data(iris) ##' ## Usually some kind of scaling is appropriate ##' pcIr <- pca(iris, method="svd", nPcs=2) ##' pcIr <- pca(iris, method="nipals", nPcs=3, cv="q2") ##' ## Get a short summary on the calculated model ##' summary(pcIr) ##' plot(pcIr) ##' ## Scores and loadings plot ##' slplot(pcIr, sl=as.character(iris[,5])) ##' ##' ## use an expressionset and ggplot ##' data(sample.ExpressionSet) ##' pc <- pca(sample.ExpressionSet) ##' df <- merge(scores(pc), pData(sample.ExpressionSet), by=0) ##' library(ggplot2) ##' ggplot(df, aes(PC1, PC2, shape=sex, color=type)) + ##' geom_point() + ##' xlab(paste("PC1", pc@R2[1] * 100, "% of the variance")) + ##' ylab(paste("PC2", pc@R2[2] * 100, "% of the variance")) ##' @export ##' @keywords multivariate ##' @author Wolfram Stacklies, Henning Redestig pca <- function(object, method, nPcs=2, scale=c("none", "pareto", "vector", "uv"), center=TRUE, completeObs=TRUE, subset=NULL, cv=c("none","q2"), ...) { if(inherits(object, 'data.frame')) { num <- vapply(object, is.numeric, logical(1)) if(sum(num) < 2) stop('no numeric data in supplied data.frame') Matrix <- as.matrix(object[,num]) } else if(inherits(object, "ExpressionSet")) { Matrix <- t(exprs(object)) } else Matrix <- as.matrix(object, rownames.force=TRUE) if(!is.null(subset)) Matrix <- Matrix[,subset] cv <- match.arg(cv) scale <- match.arg(scale) if (nPcs > ncol(Matrix)) { warning("more components than matrix columns requested") nPcs <- min(dim(Matrix)) } if (nPcs > nrow(Matrix)) { warning("more components than matrix rows requested") nPcs <- min(dim(Matrix)) } if (!checkData(Matrix, verbose=interactive())) stop("Invalid data format.", "Run checkData(data, verbose=TRUE) for details") missing <- is.na(Matrix) if(missing(method)) { if(any(missing)) method <- 'nipals' else method <- 'svd' } if(any(missing) & method == 'svd') { warning('data has missing values using nipals instead of user requested svd') method <- 'nipals' } method <- match.arg(method, choices=listPcaMethods()) prepres <- prep(Matrix, scale=scale, center=center, simple=FALSE, ...) switch(method, svd={ res <- svdPca(prepres$data, nPcs=nPcs,...) }, nipals={ res <- nipalsPca(prepres$data, nPcs=nPcs, ...) }, rnipals={ res <- RnipalsPca(prepres$data, nPcs=nPcs, ...) }, bpca={ res <- bpca(prepres$data, nPcs=nPcs, ...) }, ppca={ res <- ppca(prepres$data, nPcs=nPcs, ...) }, svdImpute={ res <- svdImpute(prepres$data, nPcs=nPcs, ...) }, robustPca={ res <- robustPca(prepres$data, nPcs=nPcs, ...) }, nlpca={ res <- nlpca(prepres$data, nPcs=nPcs, ...) }) nPcs <- ncol(res@scores) if(is.null(scores(res)) | is.null(loadings(res)) | is.null(R2cum(res)) | is.null(method(res))) stop(paste("bad result from pca method", method)) colnames(res@scores) <- paste("PC", 1:nPcs, sep="") rownames(res@scores) <- rownames(Matrix) if(all(dim(loadings(res)) == c(ncol(Matrix), nPcs))) { colnames(res@loadings) <- paste("PC", 1:nPcs, sep="") rownames(res@loadings) <- colnames(Matrix) } if(!is.null(subset)) res@subset <- subset res@missing <- missing res@nPcs <- nPcs res@nObs <- nrow(Matrix) res@nVar <- ncol(Matrix) res@sDev <- apply(scores(res), 2, sd) res@center <- prepres$center res@centered <- center res@scale <- prepres$scale res@scaled <- scale res@R2 <- res@R2cum[1] if(length(res@R2cum) > 1) res@R2 <- c(res@R2, diff(res@R2cum)) if (completeObs) { cObs <- Matrix if(method %in% listPcaMethods("nonlinear")) cObs[missing] <- fitted(res, Matrix, pre=TRUE, post=TRUE)[missing] else cObs[missing] <- fitted(res, post=TRUE)[missing] res@completeObs <- cObs } if(cv == "q2") res@cvstat <- Q2(res, Matrix, nruncv=1, ...) return(res) } ##' Wrapper function for imputation methods based on nearest neighbour ##' clustering. Currently llsImpute only. ##' ##' This method is wrapper function to llsImpute, See documentation ##' for \code{link{llsImpute}}. ##' @title Nearest neighbour imputation ##' @param object Numerical matrix with (or an object coercible to ##' such) with samples in rows and variables as columns. Also takes ##' \code{ExpressionSet} in which case the transposed expression ##' matrix is used. ##' @param method For convenience one can pass a large matrix but only ##' use the variable specified as subset. Can be colnames or indices. ##' @param subset Currently "llsImpute" only. ##' @param ... Further arguments to the chosen method. ##' @return A \code{clusterRes} object. Or a list containing a ##' clusterRes object as first and an ExpressionSet object as second ##' entry if the input was of type ExpressionSet. ##' @export ##' @seealso \code{\link{llsImpute}}, \code{\link{pca}} ##' @keywords multivariate ##' @examples ##' data(metaboliteData) ##' llsRes <- nni(metaboliteData, k=6, method="llsImpute", allGenes=TRUE) ##' @author Wolfram Stacklies nni <- function(object, method=c("llsImpute"), subset=numeric(), ...) { isExprSet <- FALSE if(inherits(object, "ExpressionSet")) { set <- object isExprSet <- TRUE object <- t(exprs(object)) } method <- match.arg(method) if ( !checkData(as.matrix(object), verbose=interactive()) ) stop("Invalid data format, exiting...\n", "Run checkData(data, verbose=TRUE) for details\n") missing <- sum(is.na(object)) if(length(subset) > 0) object <- object[,subset] res <- llsImpute(object, ...) return(res) } ##' A function that can be used to visualise many PCs plotted against ##' each other ##' ##' Uses \code{\link{pairs}} to provide side-by-side plots. Note that ##' this function only plots scores or loadings but not both in the ##' same plot. ##' @title Plot many side by side scores XOR loadings plots ##' @param object \code{pcaRes} a pcaRes object ##' @param pcs \code{numeric} which pcs to plot ##' @param type \code{character} Either "scores" or "loadings" for ##' scores or loadings plot respectively ##' @param sl \code{character} Text labels to plot instead of a point, ##' if NULL points are plotted instead of text ##' @param hotelling \code{numeric} Significance level for the ##' confidence ellipse. NULL means that no ellipse is drawn. ##' @param ... Further arguments to \code{\link{pairs}} on which this ##' function is based. ##' @return None, used for side effect. ##' @seealso \code{prcomp}, \code{pca}, \code{princomp}, \code{slplot} ##' @export ##' @examples ##' data(iris) ##' pcIr <- pca(iris[,1:4], nPcs=3, method="svd") ##' plotPcs(pcIr, col=as.integer(iris[,4]) + 1) ##' @keywords multivariate ##' @author Henning Redestig plotPcs <- function(object, pcs=1:nP(object), type=c("scores", "loadings"), sl=NULL, hotelling=0.95, ...) { type <- match.arg(type) panel <- function(x,y, ...) { abline(h=0, v=0, col="black") if(!is.null(hotelling)) { A <- length(pcs) el <- simpleEllipse(x, y, alfa=hotelling) lines(el) } if(is.null(sl)) points(x, y, ...) else text(x, y, labels=sl,...) } switch(type, scores={ labels <- paste("PC", pcs, "\n", "R^2 =", round(object@R2[pcs], 2)) pairs(scores(object)[,pcs], labels=labels, panel=panel, upper.panel=NULL,...) }, loadings={ if(method(object) == "nlpca") stop("Loadings plot not applicable for non-linear PCA") labels <- paste("PC", pcs, "\n", "R^2 =", round(object@R2[pcs], 2)) pairs(loadings(object)[,pcs], labels=labels, panel=panel, upper.panel=NULL, ...) }) } ##' A wrapper function for \code{prcomp} to deliver the result as a ##' \code{pcaRes} method. Supplied for compatibility with the rest ##' of the pcaMethods package. It is not recommended to use this ##' function directely but rather to use the \code{pca()} wrapper ##' function. ##' @title Perform principal component analysis using singular value ##' decomposition ##' @param Matrix Pre-processed (centered and possibly scaled) ##' numerical matrix samples in rows and variables as columns. No ##' missing values allowed. ##' @param nPcs Number of components that should be extracted. ##' @param varLimit Optionally the ratio of variance that should be ##' explained. \code{nPcs} is ignored if varLimit < 1 ##' @param verbose Verbose complaints to matrix structure ##' @param ... Only used for passing through arguments. ##' @return A \code{pcaRes} object. ##' @seealso \code{prcomp}, \code{princomp}, \code{pca} ##' @examples ##' data(metaboliteDataComplete) ##' mat <- prep(t(metaboliteDataComplete)) ##' pc <- svdPca(mat, nPcs=2) ##' ## better use pca() ##' pc <- pca(t(metaboliteDataComplete), method="svd", nPcs=2) ##' \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteDataComplete))^2, na.rm=TRUE) < 200)} ##' @export ##' @keywords multivariate ##' @author Henning Redestig svdPca <- function(Matrix, nPcs=2, varLimit=1, verbose=interactive(), ...) { pcs <- prcomp(Matrix, center=FALSE, scale.=FALSE) imp <- summary(pcs)$importance if(varLimit < 1) nPcs <- sum(imp[3,] < varLimit) + 1 res <- new("pcaRes") res@scores <- cbind(pcs$x[,1:nPcs]) res@loadings <- cbind(pcs$rotation[,1:nPcs]) res@R2cum <- imp[3,1:nPcs] res@varLimit <- varLimit res@method <- "svd" return(res) } ##' Get a confidence ellipse for uncorrelated bivariate data ##' ##' As described in 'Introduction to multi and megavariate data analysis ##' using PCA and ##' PLS' by Eriksson et al. This produces very similar ellipse as ##' compared to the ellipse function the ellipse package except that ##' this function assumes that and y are uncorrelated (which they of ##' are if they are scores or loadings from a PCA). ##' @title Hotelling's T^2 Ellipse ##' @param x first variable ##' @param y second variable ##' @param alfa confidence level of the circle ##' @param len Number of points in the circle ##' @seealso ellipse ##' @author Henning Redestig ##' @return A matrix with X and Y coordinates for the circle simpleEllipse <- function(x, y, alfa=0.95, len=200) { N <- length(x) A <- 2 mypi <- seq(0, 2 * pi, length=len) r1 <- sqrt(var(x) * qf(alfa, 2, N - 2) * (2*(N^2 - 1)/(N * (N - 2)))) r2 <- sqrt(var(y) * qf(alfa, 2, N - 2) * (2*(N^2 - 1)/(N * (N - 2)))) cbind(r1 * cos(mypi) + mean(x), r2 * sin(mypi) + mean(y)) } # .onLoad <- function(libname, pkgname) { # require("methods") # } pcaMethods/R/pcaMethods-package.R0000644000175200017520000000772014516003735017701 0ustar00biocbuildbiocbuild##' Simulated data set looking like a helix ##' ##' ##' A matrix containing 1000 observations (rows) and three variables ##' (columns). ##' @title A helix structured toy data set ##' @name helix ##' @aliases helix ##' @usage data(helix) ##' @docType data ##' @references Matthias Scholz, Fatma Kaplan, Charles L. Guy, Joachim ##' Kopka and Joachim Selbig. - Non-linear PCA: a missing data ##' approach. \emph{Bioinformatics 2005 21(20):3887-3895} ##' @keywords datasets ##' @author Henning Redestig NULL ##' A complete subset from a larger metabolite data set. This is the ##' original, complete data set and can be used to compare estimation ##' results created with the also provided incomplete data (called ##' metaboliteData). The data was created during an in house ##' Arabidopsis coldstress experiment. ##' ##' A matrix containing 154 observations (rows) and 52 metabolites ##' (columns). ##' @name metaboliteDataComplete ##' @docType data ##' @aliases metaboliteDataComplete ##' @title A complete metabolite data set from an Arabidopsis ##' coldstress experiment ##' @keywords datasets ##' @seealso \code{\link{metaboliteData}} ##' @references Matthias Scholz, Fatma Kaplan, Charles L. Guy, Joachim ##' Kopka and Joachim Selbig. - Non-linear PCA: a missing data ##' approach.\emph{Bioinformatics 2005 21(20):3887-3895} ##' @author Wolfram Stacklies NULL ##' A incomplete subset from a larger metabolite data set. This is the ##' original, complete data set and can be used to compare estimation ##' results created with the also provided incomplete data (called ##' metaboliteData). ##' ##' A matrix containing 154 observations (rows) and 52 metabolites ##' (columns). The data contains 5\% of artificially created uniformly ##' distributed misssing values. The data was created during an in ##' house Arabidopsis coldstress experiment. ##' @name metaboliteData ##' @docType data ##' @aliases metaboliteData ##' @title A incomplete metabolite data set from an Arabidopsis ##' coldstress experiment ##' @keywords datasets ##' @seealso \code{\link{metaboliteDataComplete}} ##' @references Matthias Scholz, Fatma Kaplan, Charles L. Guy, Joachim ##' Kopka and Joachim Selbig. - Non-linear PCA: a missing data ##' approach.\emph{Bioinformatics 2005 21(20):3887-3895} ##' @author Wolfram Stacklies NULL ##' Principal Component Analysis in R ##' ##' \tabular{ll}{ ##' Package: \tab pcaMethods \cr ##' Type: \tab Package \cr ##' Developed since: \tab 2006 \cr ##' License: \tab GPL (>=3) \cr ##' LazyLoad: \tab yes \cr ##' } ##' ##' Provides Bayesian PCA, Probabilistic PCA, Nipals PCA, Inverse ##' Non-Linear PCA and the conventional SVD PCA. A cluster based ##' method for missing value estimation is included for comparison. ##' BPCA, PPCA and NipalsPCA may be used to perform PCA on incomplete ##' data as well as for accurate missing value estimation. A set of ##' methods for printing and plotting the results is also provided. ##' All PCA methods make use of the same data structure (pcaRes) to ##' provide a unique interface to the PCA results. Developed at the ##' Max-Planck Institute for Molecular Plant Physiology, Golm, ##' Germany, RIKEN Plant Science Center Yokohama, Japan, and CAS-MPG ##' Partner Institute for Computational Biology (PICB) Shanghai, ##' P.R. China ##' ##' @name pcaMethods ##' @aliases pcaMethods ##' @docType package ##' @importFrom Rcpp evalCpp ##' @import Biobase ##' @import BiocGenerics ##' @import methods ##' @title pcaMethods ##' @useDynLib pcaMethods ##' @author Wolfram Stacklies, Henning Redestig NULL ##' \describe{ ##' \item{plotR2}{Lack of relevance for this plot and the fact that it ##' can not show cross-validation based diagnostics in the same plot ##' makes it redundant with the introduction of a dedicated ##' \code{plot} function for \code{pcaRes}. The new plot only shows ##' R2cum but the result is pretty much the same.}} ##' @name pcaMethods-deprecated ##' @aliases pcaMethods-deprecated ##' @title Deprecated methods for pcaMethods ##' @author Henning Redestig NULL pcaMethods/R/ppca.R0000644000175200017520000001463414516003735015146 0ustar00biocbuildbiocbuild##' Implementation of probabilistic PCA (PPCA). PPCA allows to perform ##' PCA on incomplete data and may be used for missing value ##' estimation. This script was implemented after the Matlab version ##' provided by Jakob Verbeek ( see ##' \url{http://lear.inrialpes.fr/~verbeek/}) and the draft \emph{``EM ##' Algorithms for PCA and Sensible PCA''} written by Sam Roweis. ##' ##' Probabilistic PCA combines an EM approach for PCA with a ##' probabilistic model. The EM approach is based on the assumption ##' that the latent variables as well as the noise are normal ##' distributed. ##' ##' In standard PCA data which is far from the training set but close ##' to the principal subspace may have the same reconstruction error. ##' PPCA defines a likelihood function such that the likelihood for ##' data far from the training set is much lower, even if they are ##' close to the principal subspace. This allows to improve the ##' estimation accuracy. ##' ##' A method called \code{kEstimate} is provided to estimate the ##' optimal number of components via cross validation. In general few ##' components are sufficient for reasonable estimation accuracy. See ##' also the package documentation for further discussion on what kind ##' of data PCA-based missing value estimation is advisable. ##' ##' \bold{Complexity:}\cr Runtime is linear in the number of data, ##' number of data dimensions and number of principal components. ##' ##' \bold{Convergence:} The threshold indicating convergence was ##' changed from 1e-3 in 1.2.x to 1e-5 in the current version leading ##' to more stable results. For reproducability you can set the seed ##' (parameter seed) of the random number generator. If used for ##' missing value estimation, results may be checked by simply running ##' the algorithm several times with changing seed, if the estimated ##' values show little variance the algorithm converged well. ##' @title Probabilistic PCA ##' @param Matrix \code{matrix} -- Data containing the variables in ##' columns and observations in rows. The data may contain missing ##' values, denoted as \code{NA}. ##' @param nPcs \code{numeric} -- Number of components to ##' estimate. The preciseness of the missing value estimation depends ##' on the number of components, which should resemble the internal ##' structure of the data. ##' @param seed \code{numeric} Set the seed for the random number ##' generator. PPCA creates fills the initial loading matrix with ##' random numbers chosen from a normal distribution. Thus results may ##' vary slightly. Set the seed for exact reproduction of your ##' results. ##' @param threshold Convergence threshold. ##' @param maxIterations the maximum number of allowed iterations ##' @param ... Reserved for future use. Currently no further ##' parameters are used. ##' @note Requires \code{MASS}. It is not recommended to use this ##' function directely but rather to use the pca() wrapper function. ##' @return Standard PCA result object used by all PCA-based methods ##' of this package. Contains scores, loadings, data mean and ##' more. See \code{\link{pcaRes}} for details. ##' @seealso \code{\link{bpca}, \link{svdImpute}, \link{prcomp}, ##' \link{nipalsPca}, \link{pca}, \link{pcaRes}}. ##' @examples ##' ## Load a sample metabolite dataset with 5\% missing values (metaboliteData) ##' data(metaboliteData) ##' ## Perform probabilistic PCA using the 3 largest components ##' result <- pca(t(metaboliteData), method="ppca", nPcs=3, seed=123) ##' ## Get the estimated complete observations ##' cObs <- completeObs(result) ##' ## Plot the scores ##' plotPcs(result, type = "scores") ##' \dontshow{ ##' stopifnot(sum((fitted(result) - t(metaboliteData))^2, na.rm=TRUE) < 200) ##' } ##' @keywords multivariate ##' @author Wolfram Stacklies ##' @export ppca <- function(Matrix, nPcs=2, seed=NA, threshold=1e-5, maxIterations=1000, ...) { ## Set the seed to the user defined value. This affects the generation ## of random values for the initial setup of the loading matrix if (!is.na(seed)) set.seed(seed) N <- nrow(Matrix) D <- ncol(Matrix) Obs <- !is.na(Matrix) hidden <- which(is.na(Matrix)) missing <- length(hidden) if(missing) { Matrix[hidden] <- 0 } ## ------- Initialization r <- sample(N) C <- t(Matrix[r[1:nPcs], ,drop = FALSE]) ## Random matrix with the same dimnames as Matrix C <- matrix(rnorm(C), nrow(C), ncol(C), dimnames = labels(C) ) CtC <- t(C) %*% C ## inv(C'C) C' X is the solution to the EM problem X <- Matrix %*% C %*% solve(CtC) recon <- X %*% t(C) recon[hidden] <- 0 ss <- sum(sum((recon - Matrix)^2)) / (N * D - missing) count <- 1 old <- Inf ## ------ EM iterations while (count > 0) { ## E-step, (co)variances Sx <- solve(diag(nPcs) + CtC/ss) ss_old <- ss if(missing) { proj <- X %*% t(C) Matrix[hidden] <- proj[hidden] } ## E step: expected values X <- Matrix %*% C %*% Sx / ss ## M-step SumXtX <- t(X) %*% X ## Replace the right matrix division from matlab C <- (t(Matrix) %*% X) %*% solve( (SumXtX + N * Sx) ) CtC <- t(C) %*% C ss <- ( sum(sum( (C %*% t(X) - t(Matrix))^2 )) + N * sum(sum(CtC %*% Sx)) + missing * ss_old ) / (N * D) objective <- N * (D * log(ss) + sum(diag(Sx)) - log(det(Sx)) ) + sum(diag(SumXtX)) - missing * log(ss_old) rel_ch <- abs( 1 - objective / old ) old <- objective count <- count + 1 if( rel_ch < threshold & count > 5 ) { count <- 0 } else if (count > maxIterations) { count <- 0 warning("stopped after max iterations, but rel_ch was > threshold") } } ## End EM iteration C <- orth(C) evs <- eigen( cov(Matrix %*% C) ) vals <- evs[[1]] vecs <- evs[[2]] C <- C %*% vecs X <- Matrix %*% C ## Paramters in original Matlab implementation were: ## C (D by d) - C has the approximate loadings (eigenvectors of ## the covariance matrix) ## as columns. ## X - The approximate scores ## Matrix (N by D) - Expected complete observations. ## M (D by 1) - Column wise data mean ## ss (scalar) - isotropic variance outside subspace R2cum <- rep(NA, nPcs) TSS <- sum(Matrix^2, na.rm=TRUE) for (i in 1:ncol(C)) { difference <- Matrix - (X[,1:i, drop=FALSE] %*% t(C[,1:i, drop=FALSE])) R2cum[i] <- 1 - (sum(difference^2, na.rm=TRUE) / TSS) } res <- new("pcaRes") res@scores <- X res@loadings <- C res@R2cum <- R2cum res@method <- "ppca" return(res) } pcaMethods/R/prep.R0000644000175200017520000000732214516003735015165 0ustar00biocbuildbiocbuild##' Scaling and centering a matrix. ##' ##' Does basically the same as \code{\link{scale}} but adds some ##' alternative scaling options and functionality for treating ##' pre-processing as part of a model. ##' @title Pre-process a matrix for PCA ##' @param object Numerical matrix (or an object coercible to such) ##' with samples in rows and variables as columns. Also takes ##' \code{ExpressionSet} in which case the transposed expression ##' matrix is used. ##' @param scale One of "UV" (unit variance \eqn{a=a/\sigma_{a}}) ##' "vector" (vector normalisation \eqn{b=b/||b||}), "pareto" (sqrt ##' UV) or "none" to indicate which scaling should be used to scale ##' the matrix with \eqn{a} variables and \eqn{b} samples. Can also be ##' a vector of scales which should be used to scale the ##' matrix. \code{NULL} value is interpreted as \code{"none"}. ##' @param center Either a logical which indicates if the matrix ##' should be mean centred or not, or a vector with averages which ##' should be suntracted from the matrix. \code{NULL} value is ##' interpreted as \code{FALSE} ##' @param eps Minimum variance, variable with lower variance are not ##' scaled and warning is issued instead. ##' @param simple Logical indicating if only the data should be ##' returned or a list with the pre-processing statistics as well. ##' @param reverse Logical indicating if matrix should be ##' 'post-processed' instead by multiplying each column with its scale ##' and adding the center. In this case, center and scale should be ##' vectors with the statistics (no warning is issued if not, instead ##' output becomes the same as input). ##' @param ... Only used for passing through arguments. ##' @return A pre-processed matrix or a list with ##' \item{center}{a vector with the estimated centers} ##' \item{scale}{a vector with the estimated scales} ##' \item{data}{the pre (or post) processed data} ##' @examples ##' object <- matrix(rnorm(50), nrow=10) ##' res <- prep(object, scale="uv", center=TRUE, simple=FALSE) ##' obj <- prep(object, scale=res$scale, center=res$center) ##' ## same as original ##' sum((object - prep(obj, scale=res$scale, center=res$center, rev=TRUE))^2) ##' @export ##' @author Henning Redestig prep <- function(object, scale=c("none", "pareto", "vector", "uv"), center=TRUE, eps=1e-12, simple=TRUE, reverse=FALSE, ...) { if(inherits(object, "ExpressionSet")) obj <- t(exprs(object)) else obj <- as.matrix(object) if(is.null(center)) center <- FALSE if(is.null(scale)) scale <- "none" if(is.logical(center[1])) { if(center[1]) center <- colMeans(obj, na.rm=TRUE) else center <- rep(0, ncol(obj)) } if(length(center) != ncol(obj)) stop("center do not match matrix dimensions") if(!reverse) obj <- sweep(obj, 2, center, "-") if(is.character(scale[1])) { scale <- match.arg(scale) if(scale == "uv") scale <- apply(obj, 2, sd, na.rm=TRUE) else if(scale == "none") scale <- rep(1, ncol(obj)) else if(scale == "pareto") scale <- sqrt(apply(obj, 2, sd, na.rm=TRUE)) else if(scale == "vector") scale <- apply(obj, 2, function(x) sqrt(sum(x^2, na.rm=TRUE))) } if(length(scale) != ncol(obj)) stop("scale vector do not match matrix dimensions") if (any(scale < eps)) warning(paste("Variance is below eps for", sum(scale < eps), "variables. Not scaling them.")) scale[scale < eps] <- 1 if(!reverse) obj <- sweep(obj, 2, scale, "/") if(reverse) { obj <- sweep(obj, 2, scale, "*") obj <- sweep(obj, 2, center, "+") } if(inherits(object, "ExpressionSet")) exprs(object) <- t(obj) else object <- obj if (simple) object else list(data=object, center=center, scale=scale) } pcaMethods/R/repmat.R0000644000175200017520000000166714516003735015515 0ustar00biocbuildbiocbuild##' Creates a large matrix B consisting of an M-by-N tiling of copies ##' of A ##' @title Replicate and tile an array. ##' @param mat numeric matrix ##' @param M number of copies in vertical direction ##' @param N number of copies in horizontal direction ##' @return Matrix consiting of M-by-N tiling copies of input matrix ##' @author Wolfram Stacklies repmat <- function(mat, M, N) { ## Check if all input parameters are correct if( !all(M > 0, N > 0) ) { stop("M and N must be > 0") } ## Convert array to matrix ma <- mat if(!is.matrix(mat)) { ma <- matrix(mat, nrow=1) } rows <- nrow(ma) cols <- ncol(ma) replicate <- matrix(0, rows * M, cols * N) for (i in 1:M) { for(j in 1:N) { start_row <- (i - 1) * rows + 1 end_row <- i * rows start_col <- (j - 1) * cols + 1 end_col <- j * cols replicate[start_row:end_row, start_col:end_col] <- ma } } return(replicate) } pcaMethods/R/robustPca.R0000644000175200017520000002237014516003735016161 0ustar00biocbuildbiocbuild##' This is a PCA implementation robust to outliers in a data set. It ##' can also handle missing values, it is however NOT intended to be ##' used for missing value estimation. As it is based on robustSVD we ##' will get an accurate estimation for the loadings also for ##' incomplete data or for data with outliers. The returned scores ##' are, however, affected by the outliers as they are calculated ##' inputData X loadings. This also implies that you should look at ##' the returned R2/R2cum values with caution. If the data show ##' missing values, scores are caluclated by just setting all NA - ##' values to zero. This is not expected to produce accurate results. ##' Please have also a look at the manual page for \code{robustSvd}. ##' Thus this method should mainly be seen as an attempt to integrate ##' \code{robustSvd()} into the framework of this package. Use one of ##' the other methods coming with this package (like PPCA or BPCA) if ##' you want to do missing value estimation. It is not recommended to ##' use this function directely but rather to use the pca() wrapper ##' function. ##' ##' The method is very similar to the standard \code{prcomp()} ##' function. The main difference is that \code{robustSvd()} is used ##' instead of the conventional \code{svd()} method. ##' @title PCA implementation based on robustSvd ##' @param Matrix \code{matrix} -- Data containing the variables in ##' columns and observations in rows. The data may contain missing ##' values, denoted as \code{NA}. ##' @param nPcs \code{numeric} -- Number of components to ##' estimate. The preciseness of the missing value estimation depends ##' on the number of components, which should resemble the internal ##' structure of the data. ##' @param verbose \code{boolean} Print some output to the command ##' line if TRUE ##' @param ... Reserved for future use. Currently no further ##' parameters are used ##' @return Standard PCA result object used by all PCA-based methods ##' of this package. Contains scores, loadings, data mean and ##' more. See \code{\link{pcaRes}} for details. are used. ##' @seealso \code{\link{robustSvd}, \link{svd}, \link{prcomp}, ##' \link{pcaRes}}. ##' @examples ##' ## Load a complete sample metabolite data set and mean center the data ##' data(metaboliteDataComplete) ##' mdc <- scale(metaboliteDataComplete, center=TRUE, scale=FALSE) ##' ## Now create 5\% of outliers. ##' cond <- runif(length(mdc)) < 0.05; ##' mdcOut <- mdc ##' mdcOut[cond] <- 10 ##' ## Now we do a conventional PCA and robustPca on the original and the data ##' ## with outliers. ##' ## We use center=FALSE here because the large artificial outliers would ##' ## affect the means and not allow to objectively compare the results. ##' resSvd <- pca(mdc, method="svd", nPcs=10, center=FALSE) ##' resSvdOut <- pca(mdcOut, method="svd", nPcs=10, center=FALSE) ##' resRobPca <- pca(mdcOut, method="robustPca", nPcs=10, center=FALSE) ##' ## Now we plot the results for the original data against those with outliers ##' ## We can see that robustPca is hardly effected by the outliers. ##' plot(loadings(resSvd)[,1], loadings(resSvdOut)[,1]) ##' plot(loadings(resSvd)[,1], loadings(resRobPca)[,1]) ##' @keywords multivariate ##' @export ##' @author Wolfram Stacklies robustPca <- function(Matrix, nPcs=2, verbose=interactive(), ... ) { nas <- is.na(Matrix) if (sum(nas) != 0) warning("Data is incomplete, it is not recommended to use robustPca for missing value estimation") svdSol <- robustSvd(Matrix) ## Sort the eigenvalues and eigenvectors loadings <- svdSol$v[, 1:nPcs, drop=FALSE] sDev <- svdSol$d[1:nPcs] / sqrt(max(1, nrow(Matrix) - 1)) ## We estimate the scores by just setting all NA values to 0 This is ## a bad approximation, I know... Use ppca / bpca or other missing ## value estimation methods included in this package compMat <- Matrix compMat[is.na(compMat)] <- 0 scores <- compMat %*% loadings ## Calculate R2cum (on the complete observations only) R2cum <- rep(NA, nPcs) TSS <- sum(Matrix^2, na.rm=TRUE) for (i in 1:nPcs) { difference <- Matrix - (scores[,1:i, drop=FALSE] %*% t(loadings[,1:i, drop=FALSE])) R2cum[i] <- 1 - (sum(difference^2) / TSS) } result <- new("pcaRes") result@loadings <- loadings result@scores <- scores result@R2cum <- R2cum result@method <- "robustPca" return(result) } ##' A robust approximation to the singular value decomposition of a ##' rectangular matrix is computed using an alternating L1 norm ##' (instead of the more usual least squares L2 norm). As the SVD is ##' a least-squares procedure, it is highly susceptible to outliers ##' and in the extreme case, an individual cell (if sufficiently ##' outlying) can draw even the leading principal component toward ##' itself. ##' ##' See Hawkins et al (2001) for details on the robust SVD algorithm. ##' Briefly, the idea is to sequentially estimate the left and right ##' eigenvectors using an L1 (absolute value) norm minimization. ##' ##' Note that the robust SVD is able to accomodate missing values in ##' the matrix \code{x}, unlike the usual \code{svd} function. ##' ##' Also note that the eigenvectors returned by the robust SVD ##' algorithm are NOT (in general) orthogonal and the eigenvalues need ##' not be descending in order. ##' @title Alternating L1 Singular Value Decomposition ##' @param x A matrix whose SVD decomposition is to be ##' computed. Missing values are allowed. ##' @return The robust SVD of the matrix is x=u d v'. \item{d}{A ##' vector containing the singular values of \code{x}.} \item{u}{A ##' matrix whose columns are the left singular vectors of \code{x}.} ##' \item{v}{A matrix whose columns are the right singular vectors of ##' \code{x}.} ##' @note Two differences from the usual SVD may be noted. One relates ##' to orthogonality. In the conventional SVD, all the eigenvectors ##' are orthogonal even if not explicitly imposed. Those returned by ##' the AL1 algorithm (used here) are (in general) not orthogonal. ##' Another difference is that, in the L2 analysis of the conventional ##' SVD, the successive eigen triples (eigenvalue, left eigenvector, ##' right eigenvector) are found in descending order of ##' eigenvalue. This is not necessarily the case with the AL1 ##' algorithm. Hawkins et al (2001) note that a larger eigen value ##' may follow a smaller one. ##' @references Hawkins, Douglas M, Li Liu, and S Stanley Young (2001) ##' Robust Singular Value Decomposition, National Institute of ##' Statistical Sciences, Technical Report Number ##' 122. \url{http://www.niss.org/technicalreports/tr122.pdf} ##' @author Kevin Wright, modifications by Wolfram Stacklies ##' @seealso \code{\link{svd}}, \code{\link[ade4:nipals]{nipals}} for ##' an alternating L2 norm method that also accommodates missing data. ##' @examples ##' ## Load a complete sample metabolite data set and mean center the data ##' data(metaboliteDataComplete) ##' mdc <- prep(metaboliteDataComplete, center=TRUE, scale="none") ##' ## Now create 5% of outliers. ##' cond <- runif(length(mdc)) < 0.05; ##' mdcOut <- mdc ##' mdcOut[cond] <- 10 ##' ## Now we do a conventional SVD and a robustSvd on both, the original and the ##' ## data with outliers. ##' resSvd <- svd(mdc) ##' resSvdOut <- svd(mdcOut) ##' resRobSvd <- robustSvd(mdc) ##' resRobSvdOut <- robustSvd(mdcOut) ##' ## Now we plot the results for the original data against those with outliers ##' ## We can see that robustSvd is hardly affected by the outliers. ##' plot(resSvd$v[,1], resSvdOut$v[,1]) ##' plot(resRobSvd$v[,1], resRobSvdOut$v[,1]) ##' @keywords algebra ##' @export robustSvd <- function(x) { ## We need the weightedMedian function provided by the aroma.light ## package. However we do not want to make the whole package dependant ## on aroma.light if (!requireNamespace("matrixStats", quietly=TRUE)) stop("package matrixStats required but not available") L1RegCoef <- function(x, a){ keep <- (abs(a) > .Machine$double.eps) & (!is.na(x)) if(!any(keep)) { warning("No non-missing data for l1 regression, unstable results") return(0.) } a <- a[keep] return(matrixStats::weightedMedian(x[keep] / a, abs(a), na.rm=TRUE, interpolate=FALSE)) } L1Eigen <- function(x, a, b){ x <- as.vector(x) # Convert from matrix to vector ab <- as.vector(outer(a, b)) keep <- (abs(ab) > .Machine$double.eps) & (!is.na(x)) ab <- ab[keep] return(matrixStats::weightedMedian(x[keep] / ab, abs(ab), na.rm=TRUE, interpolate=FALSE)) } ## Initialize outputs svdu <- matrix(NA, nrow=nrow(x), ncol=ncol(x)) svdv <- matrix(NA, nrow=ncol(x), ncol=ncol(x)) svdd <- rep(NA, ncol(x)) for(k in 1:ncol(x)) { ak <- apply(abs(x), 1, median, na.rm=TRUE) converged <- FALSE while(!converged) { akprev <- ak c <- apply(x, 2, L1RegCoef, ak) bk <- c / sqrt(sum(c^2)) d <- apply(x, 1, L1RegCoef, bk) ak <- d / sqrt(sum(d^2)) if(sum((ak - akprev)^2) < 1e-10) { converged <- TRUE } } eigenk <- L1Eigen(x,ak,bk) ## Deflate the x matrix x <- x - eigenk * ak %*% t(bk) ## Store eigen triple for output svdu[,k] <- ak svdv[,k] <- bk svdd[k] <- eigenk } ## Create the result object ret <- list() ret$d <- svdd ret$u <- svdu ret$v <- svdv return(ret) } pcaMethods/R/sortFeatures.R0000644000175200017520000000502114516003735016677 0ustar00biocbuildbiocbuild##' Sort the features of NLPCA object ##' @param nlnet The nlnet ##' @param trainIn Training data in ##' @param trainOut Training data after it passed through the net ##' @return ... ##' @author Henning Redestig sortFeatures <- function(nlnet, trainIn, trainOut) { weightsAll <- nlnet@weights$current() weights <- weightsAll if(nlnet@inverse) { numElements <- nlnet@net[1] * dim(trainOut)[2] trainIn <- array(unlist(weightsAll), dim=c(nlnet@net[1], dim(trainOut)[2])) weights <- weightsAll[(numElements + 1):length(weightsAll),,drop=FALSE] } netDim <- dim(nlnet@net) trainDim <- dim(trainIn) bneckNum <- nlnet@net[nlnet@componentLayer] weightMats <- vector2matrices(weights, nlnet@net) bneckNum <- nlnet@net[nlnet@componentLayer] ## ****************************** nOut <- array(0, dim=c(sum(nlnet@net), trainDim[2], 2)) for(subnet in 1:2) nOut[1:trainDim[1],,subnet] <- trainIn ## forward propagation for(n in 0:(bneckNum - 2)) { E <- c(0,0) for(choice in 1:2) { sBias <- rep(1, trainDim[2]) for(i in 1:(netDim[2] - 1)) { if(i == 1) nBegin <- 1 else nBegin <- sum(nlnet@net[1:(i - 1)]) + 1 sIn <- rbind(sBias, nOut[nBegin:sum(nlnet@net[1:i]),, choice]) sOut <- eval(parse(text=paste(nlnet@fkt[i], "(weightMats[[i]] %*% sIn)"))) if(i == nlnet@componentLayer - 1) { idx <- rep(0, bneckNum) idx[1:(n + choice)] <- 1 if(choice == 2) idx[n+choice-1] <- 0 sOut[idx == 0,] <- 0 } nOut[(sum(nlnet@net[1:i]) + 1):sum(nlnet@net[1:(i+1)]),,choice] <- sOut } output <- nOut[(sum(nlnet@net[1:(dim(nlnet@net)[2]-1)])+1):dim(nOut)[1], ,choice] Epattern <- (output - trainOut)^2 Epattern[is.na(Epattern)] <- 0 if(!is.null(nlnet@dataDist)) Epattern <- Epattern * nlnet@dataDist E <- mean(Epattern) E[choice] <- E } if(E[1]>E[2]) { #change features changeIdx <- 1:bneckNum changeIdx[(n+1):(n+2)] <- c(n+2, n+1) weightMats[[nlnet@componentLayer - 1]] <- weightMats[[nlnet@componentLayer - 1]][changeIdx,] weightMats[[nlnet@componentLayer]] <- weightMats[[nlnet@componentLayer]][,c(1,changeIdx+1)] switching <- c(n+1, n+2) nlnet@fCount <- as.integer(nlnet@fCount + 1) } } weights <- cbind(unlist(weightMats)) if(nlnet@inverse) nlnet@weights$set(rbind(matrix(trainIn, nrow=numElements, ncol=1), weights)) } pcaMethods/R/svdImpute.R0000644000175200017520000001132714516003735016177 0ustar00biocbuildbiocbuild##' This implements the SVDimpute algorithm as proposed by Troyanskaya ##' et al, 2001. The idea behind the algorithm is to estimate the ##' missing values as a linear combination of the \code{k} most ##' significant eigengenes. ##' ##' Missing values are denoted as \code{NA}. It is not recommended ##' to use this function directely but rather to use the pca() wrapper ##' function. ##' ##' As SVD can only be performed on complete matrices, all missing ##' values are initially replaced by 0 (what is in fact the mean on ##' centred data). The algorithm works iteratively until the change ##' in the estimated solution falls below a certain threshold. Each ##' step the eigengenes of the current estimate are calculated and ##' used to determine a new estimate. Eigengenes denote the loadings ##' if pca is performed considering variable (for Microarray data ##' genes) as observations. ##' ##' An optimal linear combination is found by regressing the ##' incomplete variable against the \code{k} most significant ##' eigengenes. If the value at position \code{j} is missing, the ##' \eqn{j^th}{j^th} value of the eigengenes is not used when ##' determining the regression coefficients. ##' @title SVDimpute algorithm ##' @param Matrix \code{matrix} -- Pre-processed (centered, scaled) ##' data with variables in columns and observations in rows. The data ##' may contain missing values, denoted as \code{NA}. ##' @param nPcs \code{numeric} -- Number of components to ##' estimate. The preciseness of the missing value estimation depends ##' on the number of components, which should resemble the internal ##' structure of the data. ##' @param threshold The iteration stops if the change in the matrix ##' falls below this threshold. ##' @param maxSteps Maximum number of iteration steps. ##' @param verbose Print some output if TRUE. ##' @param ... Reserved for parameters used in future version of the ##' algorithm ##' @note Each iteration, standard PCA (\code{prcomp}) needs to be ##' done for each incomplete variable to get the eigengenes. This is ##' usually fast for small data sets, but complexity may rise if the ##' data sets become very large. ##' @return Standard PCA result object used by all PCA-based methods ##' of this package. Contains scores, loadings, data mean and ##' more. See \code{\link{pcaRes}} for details. ##' @examples ##' ## Load a sample metabolite dataset with 5\% missing values ##' data(metaboliteData) ##' ## Perform svdImpute using the 3 largest components ##' result <- pca(metaboliteData, method="svdImpute", nPcs=3, center = TRUE) ##' ## Get the estimated complete observations ##' cObs <- completeObs(result) ##' ## Now plot the scores ##' plotPcs(result, type = "scores") ##' @keywords multivariate ##' @references Troyanskaya O. and Cantor M. and Sherlock G. and Brown ##' P. and Hastie T. and Tibshirani R. and Botstein D. and Altman ##' RB. - Missing value estimation methods for DNA ##' microarrays. \emph{Bioinformatics. 2001 Jun;17(6):520-5.} ##' @author Wolfram Stacklies ##' @export svdImpute <- function(Matrix, nPcs=2, threshold=0.01, maxSteps=100, verbose=interactive(), ...) { missing <- is.na(Matrix) temp <- apply(missing, 2, sum) missIx <- which(temp != 0) ## Initially set estimates to 0 Matrix[missing] <- 0 ## Now do the regression count <- 0 error <- Inf while ( (error > threshold) && (count < maxSteps) ) { res <- prcomp(t(Matrix), center = FALSE, scale = FALSE, retx = TRUE) loadings <- res$rotation[,1:nPcs, drop = FALSE] sDev <- res$sdev ## Estimate missing values as a linear combination of the eigenvectors ## The optimal solution is found by regression against the k eigengenes for (index in missIx) { target <- Matrix[!missing[,index],index, drop = FALSE] Apart <- loadings[!missing[,index], , drop = FALSE] Bpart <- loadings[missing[,index], , drop = FALSE] X <- MASS::ginv(Apart) %*% target estimate <- Bpart %*% X Matrix[missing[,index], index] <- estimate } count <- count + 1 if (count > 5) { error <- sqrt(sum( (MatrixOld - Matrix)^2 ) / sum(MatrixOld^2)) if (verbose) { cat("change in estimate: ", error, "\n") } } MatrixOld <- Matrix } tmp <- prcomp(Matrix, center = FALSE, scale = FALSE, retx = TRUE) loadings <- cbind(tmp$rotation[,1:nPcs]) scores <- cbind(tmp$x[,1:nPcs]) ## Calculate R2cum R2cum <- rep(NA, nPcs) TSS <- sum(Matrix^2, na.rm=TRUE) for (i in 1:nPcs) { difference <- Matrix - (scores[,1:i, drop=FALSE] %*% t(loadings[,1:i, drop=FALSE])) R2cum[i] <- 1 - (sum(difference^2) / TSS) } result <- new("pcaRes") result@scores <- scores result@loadings <- loadings result@R2cum <- R2cum result@method <- "svdImpute" return(result) } pcaMethods/R/vector2matrices.R0000644000175200017520000000252314516003735017331 0ustar00biocbuildbiocbuild##' Tranform the vectors of weights to matrix structure ##' @param object an nlpcaNet ##' @return weights in matrix structure ##' @author Henning Redestig ##' @aliases vector2matrices,nlpcaNet-method setMethod("vector2matrices", "nlpcaNet", function(object) { netDim <- dim(object@net) posBegin <- 1 posEnd <- 0 result <- list() for(i in 1:(netDim[2] - 1)) { wSize <- c(object@net[i + 1], object@net[i] + 1) posEnd <- posEnd + prod(wSize) result[[i]] <- matrix(object@weights$current()[posBegin:posEnd], wSize[1], wSize[2]) posBegin <- posEnd + 1 } if(posEnd < length(object@weights$current())) stop("weight vector has too many elements\n") result }) ##' Tranform the vectors of weights to matrix structure ##' @param object an nlpcaNet ##' @param net the neural network ##' @return weights in matrix structure ##' @author Henning Redestig ##' @aliases vector2matrices,matrix-method setMethod("vector2matrices", "matrix", function(object, net) { netDim <- dim(net) posBegin <- 1 posEnd <- 0 result <- list() for(i in 1:(netDim[2] - 1)) { wSize <- c(net[i + 1], net[i] + 1) posEnd <- posEnd + prod(wSize) result[[i]] <- matrix(object[posBegin:posEnd], wSize[1], wSize[2]) posBegin <- posEnd + 1 } if(posEnd < length(object)) stop("weight vector has too many elements\n") result }) pcaMethods/R/xval.R0000644000175200017520000002764114516003735015177 0ustar00biocbuildbiocbuild##' Internal cross-validation can be used for estimating the level of ##' structure in a data set and to optimise the choice of number of ##' principal components. ##' ##' This method calculates \eqn{Q^2} for a PCA model. This is the ##' cross-validated version of \eqn{R^2} and can be interpreted as the ##' ratio of variance that can be predicted independently by the PCA ##' model. Poor (low) \eqn{Q^2} indicates that the PCA model only ##' describes noise and that the model is unrelated to the true data ##' structure. The definition of \eqn{Q^2} is: \deqn{Q^2=1 - ##' \frac{\sum_{i}^{k}\sum_{j}^{n}(x - ##' \hat{x})^2}{\sum_{i}^{k}\sum_{j}^{n}x^2}}{Q^2=1 - sum_i^k sum_j^n ##' (x - \hat{x})^2 / \sum_i^k \sum_j^n(x^2)} for the matrix \eqn{x} ##' which has \eqn{n} rows and \eqn{k} columns. For a given number of ##' PC's x is estimated as \eqn{\hat{x}=TP'} (T are scores and P are ##' loadings). Although this defines the leave-one-out ##' cross-validation this is not what is performed if fold is less ##' than the number of rows and/or columns. In 'impute' type CV, ##' diagonal rows of elements in the matrix are deleted and the ##' re-estimated. In 'krzanowski' type CV, rows are sequentially left ##' out to build fold PCA models which give the loadings. Then, ##' columns are sequentially left out to build fold models for ##' scores. By combining scores and loadings from different models, we ##' can estimate completely left out values. The two types may seem ##' similar but can give very different results, krzanowski typically ##' yields more stable and reliable result for estimating data ##' structure whereas impute is better for evaluating missing value ##' imputation performance. Note that since Krzanowski CV operates on ##' a reduced matrix, it is not possible estimate Q2 for all ##' components and the result vector may therefore be shorter than ##' \code{nPcs(object)}. ##' @title Cross-validation for PCA ##' @param object A \code{pcaRes} object (result from previous PCA ##' analysis.) ##' @param originalData The matrix (or ExpressionSet) that used to ##' obtain the pcaRes object. ##' @param fold The number of groups to divide the data in. ##' @param nruncv The number of times to repeat the whole ##' cross-validation. The deletion of diagnols in 'impute' is ##' deterministic so result will alsways be the same but in ##' krzanowski where cv-split is obtained by sampling it can be ##' informative to examine the spread of the Q2 values over several ##' CV runs. ##' @param type krzanowski or imputation type cross-validation ##' @param verbose \code{boolean} If TRUE Q2 outputs a primitive ##' progress bar. ##' @param variables indices of the variables to use during ##' cross-validation calculation. Other variables are kept as they ##' are and do not contribute to the total sum-of-squares. ##' @param ... Further arguments passed to the \code{\link{pca}} ##' function called within Q2. ##' @return A matrix or vector with \eqn{Q^2} estimates. ##' @export ##' @references Krzanowski, WJ. Cross-validation in principal ##' component analysis. Biometrics. 1987(43):3,575-584 ##' @examples ##' data(iris) ##' x <- iris[,1:4] ##' pcIr <- pca(x, nPcs=3) ##' q2 <- Q2(pcIr, x) ##' barplot(q2, main="Krzanowski CV", xlab="Number of PCs", ylab=expression(Q^2)) ##' ## q2 for a single variable ##' Q2(pcIr, x, variables=2) ##' pcIr <- pca(x, nPcs=3, method="nipals") ##' q2 <- Q2(pcIr, x, type="impute") ##' barplot(q2, main="Imputation CV", xlab="Number of PCs", ylab=expression(Q^2)) ##' @author Henning Redestig, Ondrej Mikula ##' @keywords multivariate Q2 <- function (object, originalData=completeObs(object), fold=5, nruncv=1, type=c("krzanowski", "impute"), verbose=interactive(), variables=1:nVar(object), ...) { type <- match.arg(type) if (inherits(originalData, "ExpressionSet")) { set <- originalData originalData <- t(exprs(originalData)) } if (is.null(originalData)) stop("missing data when estimating Q2") originalData <- as.matrix(originalData) originalData <- prep(originalData, scale=scl(object), center=center(object)) nR <- nObs(object) nC <- nVar(object) if (nR != nrow(originalData) | nC != ncol(originalData)) stop("data and model dimensions do not match") if (fold > max(nR, nC)) stop("fold must be equal or less to max dimension of original data") if (method(object) %in% c("svd") & type != "krzanowski") stop("Chosen PCA method must use krzanowski type cv") if (method(object) %in% c("llsImpute") & type != "impute") stop("Chosen PCA method must use impute type cv") if (is.logical(variables)) variables <- which(variables) ssx <- sum(originalData[, variables]^2, na.rm=TRUE) if(type == "impute") nP <- nPcs(object) if(type == "krzanowski") { rseg <- split(sample(1:nR), rep(1:fold, ceiling(nR/fold))[1:nR]) cseg <- split(sample(1:nC), rep(1:fold, ceiling(nC/fold))[1:nC]) foldC <- length(cseg) foldR <- length(rseg) nP <- min(nR - max(sapply(rseg, length)), nC - max(sapply(cseg, length)), nPcs(object)) } q2 <- matrix(NA, nP, ncol=nruncv) for (nr in 1:nruncv) { press <- rep(0, nP) if (type == "impute") { seg <- list() nDiag <- max(nR, nC) diagPerFold <- floor(nDiag / fold) suppressWarnings(diags <- matrix(1:nDiag, nrow=diagPerFold, ncol=fold, byrow=TRUE)) if (diagPerFold == 0 || diagPerFold > (nDiag/2)) stop("Matrix could not be safely divided into ", fold, " segments. Choose a different fold or provide the desired segments") if (nDiag%%fold > 0) warning("Validation incomplete: ", (nDiag %% fold) * min(dim(originalData)), " values were left out of from cross validation, Q2 estimate will be biased.") for (i in 1:ncol(diags)) seg[[i]] <- which(is.na(deletediagonals(originalData, diags[, i]))) if (verbose) { pb <- txtProgressBar(0, length(seg), style=3, width=20) } j <- 0 for (i in seg) { j <- j + 1 if (verbose) setTxtProgressBar(pb, j) test <- originalData test[i] <- NA test <- tempFixNas(test) if (method(object) != "llsImpute") { pc <- pca(test, nPcs=nP, method=method(object), verbose=FALSE, center=centered(object), scale=object@scaled, ...) } for (np in 1:nP) { if (method(object) == "llsImpute") { fittedData <- completeObs(llsImpute(test, k=np, allVariables=TRUE, center=FALSE)) } else { if (method(object) == "nlpca") fittedData <- fitted(pc, data=test, nPcs=np) else fittedData <- fitted(pc, data=NULL, nPcs=np) } ii <- i[ceiling(i / nR) %in% variables] press[np] <- press[np] + sum((originalData[ii] - fittedData[ii])^2, na.rm=TRUE) } } } if (type == "krzanowski") { rseg <- split(sample(1:nR), rep(1:fold, ceiling(nR/fold))[1:nR]) cseg <- split(sample(1:nC), rep(1:fold, ceiling(nC/fold))[1:nC]) tcv <- array(0, dim=c(foldC, nR, nP)) pcv <- array(0, dim=c(foldR, nC, nP)) for (f in 1:foldC) { test <- tempFixNas(originalData[, -cseg[[f]]]) tcv[f, , ] <- scores(pca(test, nPcs=nP, method=method(object), verbose=FALSE, center=centered(object), scale=object@scaled, ...)) for (p in 1:nP) { if (cor(tcv[f, , p], scores(object)[, p]) < 0) tcv[f, , p] <- tcv[f, , p] * -1 } } for (f in 1:foldR) { test <- tempFixNas(originalData[-rseg[[f]], ]) pcv[f, , ] <- loadings(pca(test, nPcs=nP, method=method(object), verbose=FALSE, center=centered(object), scale=object@scaled, ...)) for (p in 1:nP) { if (cor(pcv[f, , p], loadings(object)[, p]) < 0) pcv[f, , p] <- pcv[f, , p] * -1 } } press <- rep(0, nP) for (p in 1:nP) for (fr in 1:foldR) for (fc in 1:foldC) press[p] <- press[p] + sum(( originalData[rseg[[fr]], cseg[[fc]]] - (tcv[fc, , ][, 1:p, drop=FALSE] %*% t(pcv[fr, , ][,1:p, drop=FALSE])) [rseg[[fr]], intersect(cseg[[fc]], variables)])^2, na.rm=TRUE) } q2[, nr] <- 1 - press/ssx } if (verbose) message("\n") rownames(q2) <- paste("PC", 1:nrow(q2)) drop(q2) } ##' Simply replace completely missing rows or cols with zeroes. ##' @title Temporary fix for missing values ##' @param mat a matrix ##' @return The original matrix with completely missing rows/cols ##' filled with zeroes. ##' @author Henning Redestig tempFixNas <- function(mat) { badRows <- apply(mat, 1, function(x) all(is.na(x))) badCols <- apply(mat, 2, function(x) all(is.na(x))) mat[ badRows,] <- 0 mat[,badCols ] <- 0 mat } ##' Replace a diagonal of elements of a matrix with NA ##' ##' Used for creating artifical missing values in matrices without ##' causing any full row or column to be completely missing ##' @title Delete diagonals ##' @param x The matrix ##' @param diagonals The diagonal to be replaced, i.e. the first, ##' second and so on when looking at the fat version of the matrix ##' (transposed or not) counting from the bottom. ##' Can be a vector to delete more than one diagonal. ##' @return The original matrix with some values missing ##' @author Henning Redestig deletediagonals <- function(x, diagonals=1) { wastransposed <- FALSE if (dim(x)[1] > dim(x)[2]) { # matrix must be lying down x <- t(x) wastransposed <- TRUE } nr <- nrow(x) nc <- ncol(x) if (!all(diagonals <= nc)) { stop(paste("Order of diagonal number", max(diagonals), "is out of bound")) } indexmatrix <- matrix(1 : (nr * nc), ncol=nc, nrow=nr) finalmatrix <- matrix(ncol=(nr - 1 + nc), nrow=nr) finalmatrix[,1 : (nr - 1)] <- indexmatrix[,rev((nc : 1)[1 : (nr - 1)])] finalmatrix[,nr : (nr - 1 + nc)] <- indexmatrix dia <- 1 + 0:(nr - 1) * (nr + 1) finalIndices <- NULL for (i in 1:length(diagonals)) { indicestodelete <- finalmatrix[dia + (diagonals[i] - 1) * nr] x[indicestodelete] <- NA finalIndices <- c(finalIndices, indicestodelete) } if (wastransposed) x <- t(x) return(x) } ##' Get cross-validation segments that have (as far as possible) the ##' same ratio of all classes (if classes are present) ##' @title Get CV segments ##' @param x a factor, character or numeric vector that describes ##' class membership of a set of items, or, a numeric vector ##' indicating unique indices of items, or, a numeric of length 1 that ##' describes the number of items to segment (without any classes) ##' @param fold the desired number of segments ##' @param seed randomization seed for reproducibility ##' @return a list where each element is a set of indices that defines ##' the CV segment. ##' @examples ##' seg <- cvseg(iris$Species, 10) ##' sapply(seg, function(s) table(iris$Species[s])) ##' cvseg(20, 10) ##' @seealso the \code{cvsegments} function in the \code{pls} package ##' @export ##' @author Henning Redestig cvseg <- function(x, fold=7, seed=NULL) { if(any(table(x) > 1)) { if(any(table(x) < fold)) { fold <- min(table(x)) } if(fold < 2) stop("too few observations in the smallest class") res <- sapply(unique(x), function(z) { if(!is.null(seed)) set.seed(seed) tmp <- sample(which(x == z)) seg <- matrix(c(tmp, rep(NA, ifelse(length(tmp) %% fold ==0, 0, fold - (length(tmp) %% fold)))), nrow=fold) },simplify=FALSE) res <- do.call("cbind", res) } else { if(length(x) == 1) x <- 1:x res <- matrix(sample(c(x, rep(NA, ifelse(length(x) %% fold ==0, 0, fold - (length(x) %% fold))))), nrow=fold) } res <- res[!apply(is.na(res), 1, all),,drop=FALSE] res lapply(as.data.frame(t(res)), function(x) c(na.omit(x))) } pcaMethods/README.md0000644000175200017520000000277314516003735015157 0ustar00biocbuildbiocbuild# pcaMethods R package for performing [principal component analysis PCA](https://en.wikipedia.org/wiki/Principal_component_analysis) with applications to missing value imputation. Provides a single interface to performing PCA using - **SVD:** a fast method which is also the standard method in R but which is not applicable for data with missing values. - **NIPALS:** an iterative fast method which is applicable also to data with missing values. - **PPCA:** Probabilistic PCA which is applicable also on data with missing values. Missing value estimation is typically better than NIPALS but also slower to compute and uses more memory. A port to R of the [implementation by Jakob Verbeek](http://lear.inrialpes.fr/~verbeek/software.php). - **BPCA:** Bayesian PCA which performs very well in the presence of missing values but is slower than PPCA. A port of the [matlab implementation by Shigeyuki Oba](http://ishiilab.jp/member/oba/tools/BPCAFill.html). - **NLPCA:** Non-linear PCA which can find curves in data and in presence of such can perform accurate missing value estimation. [Matlab port of the implementation by Mathias Scholz](http://www.nlpca.org/). [pcaMethods is a Bioconductor package](http://www.bioconductor.org/packages/release/bioc/html/pcaMethods.html) and you can install it by ```R if (!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager") BiocManager::install("pcaMethods") ``` ## Documentation ```R browseVignettes("pcaMethods") ? ``` pcaMethods/build/0000755000175200017520000000000014516042207014763 5ustar00biocbuildbiocbuildpcaMethods/build/vignette.rds0000644000175200017520000000042114516042207017317 0ustar00biocbuildbiocbuild‹…RËnà Äæaõ•äÒ£¿À_aEªªHQUU½"C$,Àµzë'Î:f;­š 3 ³³ÀGDñIxÄ`, Œ`<¶€„d 󬯹}§yÅMò*k—¸U•Í×}î¾ÌèŠÛb;”zZuRñg«‹¢¬,µBI—Ÿ§ÔÒ¸v£6Öz–V+Ve§Ýÿ,Ùæ—Á3×7زC©‡‹^;Eé~Ÿ€'‘NŒü1_ɇ>ÏißHZpã’#G†K‘sÜð&ìÖéÒ-=t7NyÉ%ÃË›¼ð¯ZiÀÃBS­ê‹Ýµ_áBÓ4ûKGYN :B2bðXÉFÃy@‡##s¹LpcaMethods/data/0000755000175200017520000000000014516003735014600 5ustar00biocbuildbiocbuildpcaMethods/data/helix.RData0000644000175200017520000004656614516003735016647 0ustar00biocbuildbiocbuild‹]œxTUÓÇÓ‘"ÒŽ l_Tæ*JG¤AD@é½Jé)Ò›ôÞçÒ;„@:i›ÝlOH„@Þ{Šfž×çy?öƒdg÷Þs~gæ?ÿ¹]¾î¥{§×;AAÁÚÿ´—!AÚÿ (SBû3tèàáÃ&kÿ^:  ä\Ww÷œS ZÁ¬Õw Zä=ƒ½{®h]ç]Þ{ où7øÿœc˹_ñ¯~ "ƒÒô¸ëj²}öÜWx¡ÿñò—jgâÉsà çlÆË£óϦ x‹'óï,,‰Û÷ï²ñPk\ñÅ_k¿ª‚§²ŠJ{õ3^ >±Ý³—x´w©w"¿ØˆwÔ¹åFþ¹ï©5®Ç“}ÂwÙû5^?5– ˜…ê{å®L4ïÅ­ù~¸y žÍ}§Á$ï·xáó-n<ú=^ß÷Ú>|±öó‹æ?ýÐTOëËîj™}Õy'oÀûx½l›7?…wó§¾PmÆës;÷:S¿ï ìÒhtÅkëί¿™6ï•ßרiw^‹s´øª9w¬Òøhð›Eñgó0ê£AÇz]ÆÇ%S’£<ÀÇ ¹ž­ƒßùbôާïࣻ«š7¼9£½§ƒ|¼7<6+ûã½§ul¨í9Þií~»qZ>ùiCؽí Ó«Ì£r0úf™» ûoÁGí¶•ªõFZâíü¹Ÿã“ [§ÍÃèÈ!Kº¦cœ²ýß2Ò0ÆðdÛÀŒ||ìý¶^ô¬1fÏü+õfmÆù½â«õªû}p_Œ]ãµ~Z#ãÊú¯v¨²é˜ï®„1A¥ÚžëoħG’æ¼™†Q®U´ýCŒÿ£ÛóIßÏÆ']Óž|´ «˜Ò\ÕZbü7½˜ÙñÆ<0?t臘Ô~Ó©y‹]ûUì•Ý’1¶àÉݮߕÀäÍ7ë^MvàÓ„Ú‘¶_á³N‡|Tç&,÷æ¹gÝľœÞÅ'Ú§Ytý2&¬v¼¸ˆIß.?Ròn&&Ô<¼Ýßg >ûì§>ÕD`úÅŸëOÿæ>¾¸åÚÙa˜2oà+Õù˜ú×—?|“rÓn è1Ûƒ)ONõùkV[LÑVÇì‡iâ>ø£q¦¦¼ÿòäBL¯Ýµì‡¥Œ˜¿³pg#f´œµà»˜úÛ+öI1½ä’×…ƒ¿Äô–ïš:y8f¨.OAË·˜1Îy|ÈÖW˜¡-†A.ÂŒ¸_~ ¬û¦Éû”öàpÝj•?Ãô¬÷^mý f^L}qZM̨ðlp÷럢­J©ìYïLÇŒÚçÝûÏìÖÞÇŽ1íÄôêö «23Jžò ™íC•_Ó mQý“Bµß;qúãÎëÑVp€­DÌLd7¦/¦ Q{× ÁŒ!•V¿€6W³ÏÒ>íöß¾¨v9ÀŽöùMz/|VÓÿž¹doååè`»¤^ ¦³»øñ.Ì|±¾s½“.Û×ÍÀôZÿ´{½2Ú²™áZÜQ«Qm3Ц/ñå­ZÃÑi:óêh³ŸÑ±£Jû„­»0‹­ò/Æ M®ÛÐ÷µKö÷¿ó%núíò¾ÛòæîúlY´ßmѳë7fNªöç{Ó¶ {ÆþNw¾:ŒÛ„æ-Ô&è8þÅá¥ùÚûÊuë¿jJyÇû˜9òɤÑS2ÑycX茊sÑÅ>U§­˜5àË…æö7ÑYÑu¸ÌG?¡«^Öäè7¹˜u£BíÝÏó0«Ì6óó%ÝЉ›~Üvòzxßûü¸ ³–ž9§m1tv2O8S>ìÿkøf½I¾¸¢’½Yì”D—¶©G7žw«Ž™°¬6ºÛ ;½¿zµ¿ümeº7~|u`yt?)Ív:o-b;Ý•öŽóüGÌ’ûÖ•õmúªTz‡L ßÒû9fÝØ@Cºf1¢¡#añ1¥Ž£KòÒÉñØݽ¦|7szö7´´®=¿¦ÏȲºÐ“?­¤µ2ºÏLYä;®ý{¾¶£<èk<úþ­ èûñ£ÔùëÚõýr|‹u-Лöi¿Ô¾{Ð|:« zg š°½÷·Ìͨ{}|[@ψ6ùCÑÛÆ±§zæFÌ®Ìo º#ª}ª÷å OÛœ}®EßÒN 9è{½wÎ/{]èŸðâM­¢OÑ/¹êÿõ»#9ÓŽ£èØ#5¯mB¶Ù->#úµMøËoèÉ;¸n÷Ör蛲ûdÉ÷h÷£cTö¾Btïhòõʆ Ñ_{h‰èµ•Ð_±WZåÁkï[=ó¯èÑ{áÒÀ‡o ïƒ6J꘿ѧQíDj ôë7•¾ôl'f/ù­A’“1»¿¦{Vbö®²›R&ä£Ï^Ô«y׳è;½¿nìÓÍè½S‰‘Rûu=‘]V£?(9àÑéŠèedz-}=b½³³§F­6¡_Û5ÏOµB¯<ï|óîÄL»™Þ?Su'ûç §p¹Î¼è(ú¯ÞöÞ}ýú%½æÛeÕÉÁlÉCi¢ èÿùá—9åžbvNˆ=„Þ²Zëº\D/£ÒXŸ7¸Ub¿ŸÐÿÑöM“þú½9¸ÑWjófC¯ûè¯þù&îžè«Ìlô<ÅȆ^§qõWO¢mVê‘…[Ñ'¹çöõKõßÐkpýUqDú%/½ç -£­¯í†Ÿ`ô³¥èmµ`êÒŸbÑWîàìƒÎ…è=uhFá¹èÕ¨rc}yë7gWl‚ž¿ÙAkC_D301ZÜJ64½„~y¾{6/ølÇ×_ ÷«pvr ·ÙàÇFíE¿v(~³Xû}Á_ïÕ¿ß Èꄞ“Ç¢£ƒÚ£'„-ÔDô¶ëظñ›“èIϼvýOm¥öÝ}'ø:z#<¶öm¢Ñs¯nxÍß¡§eÅ×|Úú)É/ztµW¾†=è ,蕯­·o[o¨zÝcNLþªéô$<[Þº©‚à`@¿] ´û–¼zËÁ'èìÛÅþɶЭÁiœz=üëˆ^ޱéè½ø2w\H:Ûû7ô9<=ìÉEè\^½EL}zÞë|௷5Ð}fEÌ®³§Ž_¹ê§ªè˜tÀ›’«½ïŽÐ®õ*¡ó«o´¡}N¹Þ]'¤õÏCWÓ_W )Òîg»%:¬G翜ëÿCSmIcÖõ–¿.ߨñäïKo°¢c~•Ñ=>E—•ä1zÇ¿¿3ꘊÎ+ßø¾z>7•5„8ÑŶúÊtì^}èMÌŠc ôcV핆Í팮/î~÷tüž0ñøùyèHz’Ò!t:¥~ùçªëKÖAûߎ¡ú—Œ…Ÿi© Úo_‹_ìCûìªÕW~‹™S¤ÜŽ{Œ™Ýnÿî5 3Ù·×-ƬР;F6Á,Ž÷˜)÷™ý©áÓ„“[ÐÞ?›4è8½j|ç*è¨Ì.híÜ>—dú r8XÖÝzÚµ¤nB™Ž˜õó+}¿:[ÐQïËã NÅ¢cɰ&#ç¬ÅŒKì†BG[ø#ÑÞöçi?Tõ¡£æhFT̘þÍÝ µŸct¿mü¯»a†\ǶÎ-#]£1#¸š3§ó´iÙÞÒWÐÞjó¸¯<çÑöIž¶ÂzcFÄÕç)æw1óæO‹æ|Œ<=ª¡->ùÑé÷ù}¦h‡sç–ˆéZv«¥˜ÆÀ‹é χ¸1Cæ-©òNc«yÐL]Pöh\ãY˜–Øæ—¨Ä£˜Æo3¦¼{¨ÅðZ|¶|Gcª<¯ÓVßb;S%ÿRã.7wEKLš¸PËDÞ†ý&Ï®ZSY68y6¦k›}¢ÑŽ©Ú*É83Ód‘p“SÒøAÉ,+ÜÉüXí„i‹t¹mËmÀ”_ËÞx”Z:¬ÿ!ìÅ|vmäa˜ÒùÏímÖ\äÉ=Y¦‰žóZfåÀ'³ÝÑûˤ`R=üc˜ûLbØ~ñm,pŒmÊ`Œûå˜ð ?ßÃÄÊŸ5zô/|ʪƒçññЫ^8b<û±â06žwôf+ŸZ+k+£!ÆH<íáÔ2â9uèu£C Çc̪eŒ¬Se‹Ùß¼‡OµCÛªº1‘e==WcBÓ5Õæ|p£:6×¶.Þ¯Îâ#m—WßsoiIY•R9øHæéwg?Õ*ž7ø°ãú6³ðVÅ?ïY‹žàc-ëøâÚY‚<øHÞטé£.Öÿ¢/>l²~\Ñêxÿ·ò»ûjbÔüÞírý±xGî›ë2O¿;†]ñÆ`–°4Å3;։܊*«Jš~€w_}áUxmço,ÃkZÕ©¥xýŸç–1Öâ5–ÝüXÏ_â •Øxrr5¼üûoõx6“tŸàÅΟ޸àèŠ;ÒV‡®éÄ«!Á¡þ¼"ëÄÃÇcSæ[ð°všø6Ã}1ý½Që ž ­ä½y÷5«}úœ;Wí¹Øæn;níSÒVfÅ82tbjòÛ°öæý…‹?Ý ë–NØâXúwêCJ¾ý Ï}ؾFZËž8=óEËKáüÓž/O÷™€m6]>ì:üÍËã°OæÑN}<©g§±¸ïU¨õõÎΰ&¯cuW áoèRX¯ÇØó½-.£Ô<¸T6áκ•{àöF8UuDËHë08üûÓ¯ó÷€+öv²Ã‰Ï4è5γãhÁY¸!ø WÙic=7D~ gÇvÕÙ½îÞÿaÃÕÅpmSÇ}-œp¥`ŽcÆÇÓAÛDŒ(p…}ÜáÏàÖ1v€ÂíØ¹ìĆÈZö+Üû°Ö'“𭀫Úé”SwDÞ7îü³¨¯í<¨8‚e²pãÅšVãfÇBO“‚á Û-mw'j@¤üûûbÿCô™]¾ÿª<âiR{x¼ìö÷E!=á¾Ýùƒ–ÁŽéÊ%êqx"ÎaˆaeÊN<Ý•Þ5ÿA$¤à'ñãO¶ÕÖJ_ˆ~þÑäJ-„Ø¿>þyEÏG%ö?<Ü€Ø1ÉÃ~u ž Ý‹¼’&Žíû…ž2U¡Â3ˆÎºw:ºâ×7†fpõ]vbBÂR¶€CÜ4^¨A¬%þóZ•~ƒ¸Áûö†¬ ‰{YA» âÙ©VÆ1Zu7ýÐHíVêæ²¿…$¡@RÕìDgó¿îCò ‘Qv|&$É÷Ü€-k]°|>$l`ÕJˆ›YúqlïÛò]ºóroBÊW؃–õ« i,Ûþr!¤jEñ({eÈù(¤Zúy–Þ’D¾I~º½ßRH9:ZÛ¡U 󃱺s†´ØƒÿüÝ}#dˆ|R—óƒRŸtd‘!-§³V™ì´ðv¬’„ Á H:¤Íý|@Ðß!=⯠ u[A:©üX ‹çÌܶõ!¤f?ötù­ ¤ý6=,uãJ°=«÷ëÎÕ·!½–úuƒŽo ]K.ëwé6ýÑðñC@fÈWóž=héIL¨j¶÷ÎJÔ…Ìf¼ð‡t‘Ç‚m‘ïØþ´?ÁƲ¾ê|ÙׂL¦’|ÿ Ød‰æÈÈÉX¶hL2Ø7¾ºÑ¨j_ÈZ7ädö¥<°s,}™Z5ñ*á#°}sêêÄ’/ S~nGZËël‹À!×uæÈ9kþêÑ ì⼇Ìž¸€£p°ro²,ëþÜQ—CÖvVHWÇ^žxhŸ‹'Ä`—û6KÔÝà`ßÂ:œl[ÿó=Y42{ñƒì¢.‚,‘߀Ëûudù}õòÝ«æZ1à”ë×ác• œå˜Ñ\ÐNŠæÅ囑àêóû«“ÖƒGèK%ôÈzsBÛqµÀ͇oÀåË^Ü,ìƒnv:Ùö8µ,·ðeip²»ò]¸ÄyN.G}YÝ}&¹âÀÝyS(ÀÉÔ¯ÏKoáÀ/´ n¶ío€Kœ»à~Î.Äeð·|Ûwå#í:½—1eå…à¾ã?cVp—~Ã2@ðÈuîyÈØžàdrήà”ýeÍïUðü9¨ÿø†[ÀÍVGõnàÎh¾gã¹DðÉï噹{bMd ܼ|h Þkó~r÷}p³múËð‰ú ¼BG÷¡ ÊÒe·Á+×…ë2O<Á›RûýzoÇ‚—¥ñ—߀ËþÏ„Ÿš6›ßiðÊïçYÃ1ððcQ{?F™Á=ÀÏÔÌÞ'ÀWÚñè½ÎÁϲà´¿gx”ö{¿÷Û>v>øµ‹òÙ}xãË598ü$øu<ÏÔÔÖ‡ÞŸÞ†<_­Ù}ÂwŸÐGÀ·Ýßgô²dð.¾<ìÊgSÀ'òPðÊõàæò#€w!æÀ_í«´À+ÎSðhUDÅË—€};­”ï&HÖ/›¿?Ǻvý,¿—ÀMà¶%콌©àÿ¤øªð |Í/¬ý“ü5¯mÜ•Þ üò¼ð²ÝQÖ^‘G‚Ë!£ÁÏeæàûùóñ¯»m—ÓÆA¶Ü/ÞÏÊLjµ`øOÏ2Œ¸þüBGßYuøÃX¢[üwت~ùû¾ú0¼qÝÇ´ßt¤.>ŽO3xµÝÏŽƒ•¢ú'_è àzøyš¦]gyß}ëÊ?®ºqøÔ'y_Ÿ¯ ~VUý9ò|–º ø¿±° ¾#?=zM~VÍ—^¾M&‚ÿ ;` à°ÿ§+/-à¿Çþ»¯}~&̯ïw×YÅ Ù¬¼]”^VæU¼^m‘4é½ü}yá ž½ ØÑà¯7ksÛÎs!gK€Oä½àg²Èk;øØvªT¾¼&Wÿ¢Ý碖_ni >¦¦6^yŸ=‹ÿÔ2ëãà™Óø’vôƒ[[,†ËûÀÏd Œåàõ8øêñ‚ \,}øexù±Õ¼¼|ú¼lU*4îh«²ÛIÈîÙâÓÔ2àºÕ×Í[}«hÁÃ>MàwàÝR•(Ú÷á:#ødžäyË pkŠO·ƒ›©ñƒß‚§Õ;»;4™ É/w—€Ñ_Á­%¯m”TpœñÓ†°ûà–ëÍóGc¶‚À½—olðVb‚cðj§ìÌxp›x" ®—ö¼0|³9ÜZUñqÆ`ðñô¾78™¬ñ4œ2OñJN»DŸ¼ÃFöÚÑDã©ëZD¬{¸D=¦ý)Îßfp~øwà™Ÿ3ÀÅT·nwÀíÙÍ2ðj»Èµœ=ß?{wh[°kÕÿK.‚ëjí†/€¬ê¯W/Ø™:Óë'°u\®Aàhú8lûÑÑ`_ìÝ^âÈdÇuV>Ø®œe?öÓk?ùèÛs`û½Æ™Î®ß!Eæõé·Ú÷»7(Ò2[e÷¨\ÒµÍó]›Š`‹Y¡ އt¹®lr¥_;²e}’–ŸXY'Òå:Ìð4Xb>¶Ë™‡ï¥A:o_4‡4ÞNøl2ÏI•y{òšk­µÒz´ :ñÞH]Poÿ²ƒ eUc̪^ƒ«àÙÆòô³þ I×úž¿rö[HVeÂý’§µ<ï{¶Ó •oß~*¯{ºÐÁ´ïÇ0ð¤Éýš,óæ´ó:.W”†x¡3C ìN.œÚRXº½`'<ã²G;HfYß;»á™ßóÅï›–Bb!KHjC’–å·»Sqr¿Æ‹~$0yyT$²«Òm"<åÇç—ÿ=®þ„'ZÓ2ë'H’çO© ó¶f”…x¡³C< ³d5Äup™T¥6Ä Ýb°78ÉÕg`›™÷ V«¶þIVàá Ö`L‡(Öõ¬}¢yzðÄj‹¥W™á +&v?ƒ'³n² bò;‡Ät~ 1WO¼ÐRdˆj°íÙYËFx,ú/ð„ËÁC!JËz?8Z ¢˜ŠTw4<âÛ²<ÖVñ¾½¡#Ïÿ»U}möpÁ=¡¯ÀÃmüƒCT˜5&cÇ\¸%úSp[ô}àÖŠORÞ­:î} ®°¯_æ\f*wï¿!úóö%²–>€+—¹€7µäpZ¢î¯oWúË’ƒà*oÕ‡»Z£¥Êp£çëaÚ?ÁÕ›;Ö׬önŠúneÂéh¸-ô#¸/×óÕd8ÿôX0œªcdä‚“ç-¢v7Uô£áJVœú‘ áz-_„¾ÇË÷žR©rœn±pï¢uá„õ¹¦å*ªö_<ý± ì©=#hQõBXYoЗ_~ Ge ‡kŸÁ™-ç~¹3Å»~õöXô9 lkvgƽ׳ìâÇí°£‰»GÌÃ`uÁÑ’»ëÆÕÚ·ˆyµ w©e©r³»óÄý\&/~¶º>|Žþº‡2›½Ü†î™Ý[šv½¼½ññ}ï¿ú¶ì¯dkÉdS:zcêÛjõ†Ù_þ÷}³µt}EÑŸèÙ´mñ“'£oö•ôE•Ñç½ûºÂÉñèùúµjóêmú˜œ°é.Êü}üöD¯Ô¯¼<=Ó~þ]†ô±öæú™ªÚn z¥þdzêÀeèarßkÐÇåÛÐ{˜7rÐ;† ÞUпñ‹ð[íûkï'úg¾fËY$ô ~¡ûV©qÿÜn¾¼¡>Öûizx]}L¿v=?óÿг„ ÙÐÍ–MLºEŽÞÛ¬q6=¬ }/GW-3ÓÞW^/¯Ô{½\ŽŒ@öá'Liˆžé\Gß'¼q^–éî K+–[dž¡Wè ècryÌJôp[À—è©¿ÛlºŸƒ¾Ø‘lÅ£×r¤Ý©°3è*Á„Ûèæe`gô±tæbúÊŽõ½c3¡[êƒ~‘'k߇çèïÎ/zJò†úÙ_‡å£—Uѽ—7Ñý[— ÞAwäy¦l¢›©ÞÝ£ëGÞ¨@7k_9¡ýyþk[©Б;ŽeÐèaex¥½èÔŠÙûcÖ1&ôvAÏÊ®S þLE'_Fu0KƒX͸5è²²Fƒ]¼MSÚ·×v"ºyzÚ]¬½¶ø: x¡„Î¥ü`Ä,¶‹?)YÌ…Ñ0óáǯú}»í­ç}ôÞÃÙ˜Ån˜µ¯‚ùï}¿¡=©‰–™OB§àfõZfZÑ m²/éz8eúÕ­ÿéöÎO&i+(ã†k'ð.t±toÊ´Ëþ@ë*‡•A;/óÇ`V‡§m믴Ï]Áœ èýu?ÆCûX³Ñ.}!Î}\DÇ0&œ5@»Üw™v.p`Sý#£CË^Ú®™Lþ¸aGû§DÝ<³mZ–w©#fæõ>9ýw´}ÚÆ±§ÚD=‰¶x…öf/·jHE›¶ ¤ÜAÛeÓGcºÔïmrŸ¦3ùÚö7¦¿á Lç¦1÷C$LexHsa†80“·%J`š¨Û0UÔChë7hÁà5‡1}L©ck³Ò0“—³?`ú¼àÄ´¹™t˜*ûãéoYâ» Óe?1 †ä&<[ŽiM/idXŠiƒ/m=÷a{Lã6—/0ÙÞsÕ²R[0MûöÚ%ÇÔ©Ö9÷`ªÈ1íý—'¤ÃDvÜ÷`jC¾@1e30åß÷ g`ø “e*Žƒ&S¸ô>ceÝ”U˜°§/Û˜$õáÄŽ…éÞ=„ lU•oŒ‰3Þê¶þü9ÆU¸òýåñû†öw1NòáYÁå¨Í7ëa¼–%û=-ð©ã›>:ƒO¥(Aò8^ú‰¥_#^öažðmXSê2eqÆj§:œÅ¡ àcÙo"ûpѲ+ò*ŒaêeiÄ[²Ïþ˜Ë¨“1Ž—‘V¼?‰„›ñ+{>ÿ£Ú®~ç“S³ž VÉÛêu0ºýG`´ôçD4ÌþµìM¼?‚`É®rÿãÿéí‘\>ëƒ÷YW§w2F¶?z¸ùûñ.·×4ÃÛkwzw^G¼)ÎG¼ÇÚƒµ_ãÃYVgRo¼'t,¼ÉÛd5ð¾Ð‘ð*³5äœÇ›²w‰·Çá5.#uÆk²/~fvãŒE½Nà-?3îTûZ6OW‹oܧf2^õ.^õâñ.LÉÄ[¼Ü™Œg¶»Û}g\8øWl<ÏÚé Và¶Z­¶í x‚X{λç^r[§lé‚«ì­•³á=<øîÃ{ß/½Ž§fï;swYlÜU% o«.¸ÞÁï¸üTùéÉaãø¤—#?k KyšRÿY=´~Óc`µ¬‡wžÚªâgóq¿ñÉ´íæ8>}Ûë!λ°iä‘ÓW¿ëǺ˜ÐbôopbûD¦ÈÃÉu5‡vïꃳK"N÷ß=Nï)Ô¹lÂÙ6“†~0ì!ŒHìÖ°cÀO0îá"ϧÃëÀÆ~ÁeºŸÙ»S{M(UõO¸ üWpIìO¸Âèøáß0»þ®“¬Õádhøî‹#ÃÉ*ëÀÁVU4;·4˜ïºŽ_Òˆ95 d¿®K½êžVåôJ« 7e}ýXôwážÈ#à»ý¯×@$?žÃàá‹™/¾Ì…k¼Ý7TŽëoá¡ÌçjÙ]½µë fî«?ª‘â<…(© =fmÅËk z{‰ý;V†H©C?<ÍR¥Ußï­ø1ª5© O¸}§)<þ/ˆjTµïôØ pëÃJ{n@ oßt‚;Í™¨%<(hº' 1—ðã2î_5å}`ŤîÝ Ée»ˆ–õV,Ëþ¿Šƒhá#„¨u „ŸB+ó;-†'"_ƒ'e¸` 1â„-éúõ숕õa²à3Ä'–˜uì«pˆ—:gÜßÿSkvˆãiù8ˆ=;é÷±@‚¬Óž-g‚þ8HÎæ†Häv¯i,óÛ¤àðœÏo%C·)Œ‚TÞV{ž1[cËuÆÐvʪœM!)ÿ¥VAç@²8w!…ÛšóƒÃOVCªð9Aês&°ü ©'7'Ö˜2Òǘv¼ÞiRwIÞø0K¬ƒd‘/AŠà$Ëú?•• Î[’¼—)œ|€­¨òwúÍ!SêØ¢ÏC¸P\î €LýØê]ï'AÆûÜ`鲎I‘ú’á`ÇzHûªZÈWóRÀ¶„z ý/ ]øcÀöÖ×ÿV)->OW¾ÛéµÌª-dÊú<3¦ó“%Ú@ª–Ív‰Òê\^n| ™“+ÁÊÌÖ`ýaí}"X‡ÌÝ×wØÙ1pz-¸ØÕot¬]íº™ÂöµÃßÕ­ØË¹}ð»2Ù2€U)|V`gånÇ5`?’3íØÛë`cå\€¬üL‘;oç~ vÙÿ°1y»æ|p•ÞÇ:Šà~+p0whéY`¿ŸÄ”È\Ò蛎v'8…ÿ œÂN.? s Fp²O&ŒØ.©Ç9’+ܾõspØþn¼ïÑ ð°ö}cW·E쎃«+´Ë‚KôÁûÎK;Kê±nfûêèç ^`€ƒ·Ýꀋ57‚û¯YÌqÎë•§ÖYØÜZ1d9Òþ?×!úËàŠä#pî˜[HÇÀ+üŸà^Þ·AÞ•åàýfðÈõçf¶®¯~7/#K‚KrË5éðOaÖ'àÔNKËüÞàçx¯°7º îD&X¸ÃR™BžQ,X^žÀ#ü³à­Ì6ÎprÃ%øØ±úÑ}ð Ÿ-¸¹L£?OwÇ€aqõ"ðÊÏï—ûÏÍå†ÿéÿÿéq˙ҼýÛYt'€›c!â?}ÝóäÇI×ú^ϧc™¢^y²Yzp)¾ø¥®šýœÀÍí#WÔàùøú4ÛyñÜ;àgí…ƒÀ'×›OêþûF­âh~᳟ԹÜÌ:µ.xð‚|Ÿ^á³Ow)–X»?d粆Ðûàý}u)xúžüÖ÷ø¥Nãgéò¼Sà?Ëçà™XÓ»´Lx¥Þä‘Üòóôi&dsùúGðÁFð3F«ñ-õv_w¶òÁ/ü)àå²F}ð·™ywUóFàåí9+ä°U×·!øGqãøt'ûg¿y~©3úã¹ñ|L&;|¼ÂG>áK—äpvUžˆþ·³ÿ½ÿöäºó3ùê]ø7²ÆñCð3Y|Î~ð¾—z}NðË~‰_ê…^–v˜ƒGöý¢]¾Çß,‰z§|¼]Û|ÂǾm¹G½uŒÝøÖ©_Þ×ç«<ßÙµxá>ŽçÚ:f·yøyþ%xžñ|"ïŸ<}F^x‚Ÿµ›j?ðwƒŸ·é>ßH~¡À+êIð _¸n°ÄVãÒZô3)¼?p! ¼Â'žïîÑ=û\L.8ò7xx[¾"¸eØ#ûênáKëj–¨áÿ/Çvdðÿ´8k߯ÿ\<šê}|n¸dÆ#|ÜàéËa%û&nVæ.?®&\@·ô¸…?|͘á¾*¸kÅ|žô$ÜjïZÁ¿ß;¶³£Á-ûšÎò¬C›¤O|á€SÔs%÷S®3'—G¿§› „àfÕ]§Òàà6÷R%|Åàâmÿ6à,|À&À)¹à>Hpðq à:8M¬¡ŸYòû;3ƒMupËþCø|Á.û~ümƒÁ)|·àdêFë«`gòJƒTpH_F—¡ÇB&;V-ƒLÖ^/L»ð¡‚ƒÛÏêAfö¥ÜMy£À!ó7ûœîGŒ;ƒCø)ÁÁÚ¢«Ÿƒ-—BtZ¾Áì uÁ&Ïw{û6 íñ$ÉÔÀÏò!“ÙuAúKÖ@j£º±Ê2+pcØ…n6~ÛHó#y™ßp° +Ø»°B82…ñÒåz³ =Ò¤Ni~HÈäédoHmΞ(H“¾Œtá[…´ŽÜ` é-x ©’÷iL¥¡‡4nC®©\3Cb¹Þ[žÞ(„tÙM“ý®¤è_ëá¿@:;RBŠ\ILÝÑ„TÖ®Ù~2¸­®•}¡šðìô¯Ÿùü9¤”bƒ;A:›&ÑÒßgF¾ùÄl1íîBJ[nƒÔsm?_˜û¤ó²¤)$s[HHbß"x#ıl®K$1»B^,ijéšþí %hÀÇ+f_…xéãHámîŸá™ôW$ìaƒ!™ÿ¸¢ùrœɬË3>âëG²Lb…♽7þ!<•z|ÒÌð`€X.w ‚hù9“åúNdåÇQ²ûoÃ9ˆ{t¯Lé_Þ@dÊó»-zvƒH&W×[™ÝèÕ-ô=ˆœWºbåüW+û½QÌ•úHÿRÜbv ÷ƒG븀¤O"Rø×àž¬?Î ¿%ÜŸ2|b{xôËêœÿœ€¨Ü¶åÖ/x ×d>{¹#8ïÂ=Q§Â]™·E‚ívõ÷3àºð±Ám¹oUჅGòzÜõÖNw¾:ôÈ ×Ä< \å¶ÖFpFæ×·e鞘¯Ó?MÛ¿±íf¸rš%Èá·ö;B‡€ã”è¡>ÑâI?ÌU1ï7™ »_*œš°ÐûË ¸xªê‘]€ý[Y½;þkIòV½N™Ú»‡lº ²å— «xÙ\öG^êÒú.(½¹ó‰·SñЂMU»Uîó=žC×v–ÀãŸ>³­.“:î? î´˜Q¾3®¨ØíÈ÷Óßâvvµ§%Á|Óˆ©=’õx<³S7&íj’°<ùÓ<ܺ)cÏ ['\]cƆQÛqI®cü­¢³¨æ°–‚WV2aiž¬kly蟩xFúá÷¾Êíøu1¸ Ÿý6˲÷þÞ!aªm î]øÛ†AåòP­t;¢Ú§xU;„ú½·Õ±¼@ÄE_ýz²ªà-=?ÀPç.îZ:¬k@/¼9™2xYê©{ó aö‡x›Û£ÄË¢ÿgº—y¼$~$ÞéÁ'x—ɘá[ð®è âާx——W#ñæ¡÷Yåw¤îy—Û«`ÔÙ»CÛ\:…ë0£ŠÑ¢nÀHQà•Û‡Ùd FVd‰ñ|*}¼ïsáˆ|Šz £¤þXêè°ÄÔ‰Qrþã±È§1u‘›ïÅ'R§Žbîw}ÆídÞøXœƒø˜ËUïã-«ùÞY ٸϜhŒf.ºÉŸ`¬V¼³²+>fÝåð$Œ“sbñïn`)Œæc7ƒð©80^ú¹g0îb}­2¯)¢¾Á˜Fó,¿¿ƒ‰ÜÎbÄxÞ~lƒ‰Gxƒ˜ ½y7Læ2H'Lf] 1¹7n`üž1·GçŸÃ8é»Mú >“zyŠð‘aŠôѦqÛÆxŒå2N>û‡eŠçÕ^>›úíÔÓ˜.çDRÚ¥`—·{a·ùMǦBv¯Ži]XC`¦Ký9G[6`F}.@ ½L^•Û‡Ó0U®‡´QÇ0¡#¦Éõ™ÆíwSÑ&tL•óxiÜÖÜ 3E_Ó.ÌdfÊù¿T9wbc*rS¦‹sÓx;f:f^â $L_\yg…Üþh‹]öò31]Î9ÚøñÔNû9᯵ñ´ ?f,:rkQkÚ:ó‚mrfhYr÷#&̾9Ìäem{̾PÌäáJ¢]ûÔ%fC»Ô-íƒ s.-¾Œ6©K;¥Û>õ½ëÎoÀ,©ß:E>ŒYr>ÐÉd—Òk1«z&kÿ^"kéýãèÐ6]3]ÐÙ,];¹Þ g¼D'O¿‡¡Éak‹0‹Ïd¿E—ÔݳD~‹®ïyƒÚiþ:j<º¥¾én=Š9 ÐÉí-Ññ|I7Ó™tÊ>”‹ÛV[¢Kø¨0‹·uF`ÃèÃuè>t ß ºüÎ*ôp9³ºÄ¹‹Y‡Ž[¹¢‹.á×@7K¿FD7¯ëŒîfSï}ûr :™MÜåEï*~  Kö?Üryùêt‰zÝükŒC·èï¢[~¿ÈOÐÉìzñè‘ó•>9?âu::™=åë•ÿÍÿ¹E_ƒgžÚ0oú¥_ßǪÛ÷"ÑÏËé‰èåÇS5ísŠy&k´|Š>^–ÖCÏfœJCß 6`„y¼ýk¶ºùÓ!ôð±È©èËOgz˜ `)^Ù—‘~%ô48;òòLô²¶ü“%èþ=ôÊy°lÞö˜†~^Æõ@ï].iŸ×…èç6¢ºèû®ÄÇMGðù WømÐ+çB³YÕÞã úD}¼üéŽÒŸˆÞ^.ÿ‚Þ§¼ C//¦£oÏú(ë—ÿæõü"ÄlÙדu8Jú˜8³ùe™Œ>ÉÏç¸þý~Þ†ª†~ÙGv úd?Ç/çþ×ʺ°¶¸]e½¾Ÿ˜a§Z¢¯gÕÑ?V#„n¡F]M(äu°!t5âÛÈÔásU#xÛ»ž!üfjDG>¨Fˆ|ZXøëÙ%¿5P#Ä:R#ÄçW#ðýr¡‚Ôˆó¼WÃ7p_ˆ!t75BÇ„íÊjøÖ௦†Ÿæõ§!t íç’þ|ÑøW5Bèõj¸ÐGÕðÕò÷yy¯¨5¹¡B z‡žÂ}vjøs®ë©ábÞ\¾X5\èæ /5LøÕðº¼VƳBív‘¢v…'j˜ðÑ©ab>Q ¾5ÔÁ÷ÆÝj˜˜³TÃ:íg‘ÕP1W«†MarúojØ f¯¯ª†ŠsJ :‰šÃç*ÕÐeÚ»kUã¿qBE>üßÏ…Ua™ÓÕСòïÙéÝõ¥*êb5Dìk5T^§Pá'TCDݪ†šÄú •÷;Tè jè׺;=÷ü¡†°±”O©!̶õŽ*úxj(»=¾PCÅÜŠ*æþÕþ65ÕPqN¨¡¢nWCY{£ÊV5dï¨!K¹/B :‘,ò5ä[^À©!"¯SCÊñ>·ÌdøÛóÕáwUCJ/b“jˆà¨ÌÇßÚ«ÁíµU0Î¥†¼ßJÛ‰jðDfÿk«GsC§Ìþ:!O îÏ j°ð]©ÁÅç 'ÖCp*[øûÔà?x?D :ÌÓÎÕà£ÜÏ¡ ΩA§Dü å|nS .¸©Á#¸ÏL jÌûý®$¯WSéfhi´\/AÝØ‚UÕ ù¹ƒD¿¥ø÷÷rÝN Êå†i50/D5h÷y«©<1Tƒø˜@I5Hô«ÕÀ ¼ï«rÜkïSyƒöß_jÜ·A¡â¾й 5P«Æ´ŠY <ÁD5p1×[ÕÀl¼c´8Ÿç¨7ؘÛÏjàÎ=5P̨AMׄŸ[ s¯j ðÕªL&Ù2O HáF5°++¨Â'£~/8ð–0j·3”Sdü¶M¿Ý¥ˆºU ý5@ÌÕ¨|Ÿ`‘ÐMÔ~™Û`‘˜SZhÛÏv‹Ä¼— tX|+yÐVþ9ûHÔÖ%,£ôùtÃ÷Кmpíÿ|Æ"9ÇY$ÏÍ·BoÅ7²ÿ_$ý6Eb½ã9ß]$ç ß }‹ø×Â7ò¹oäœî¡oãF±þÀ7B·ÄB™¿¾‘ói¯Ùm¼ … åœ|¡œ~#çßHŸL!·Ó¶ÅBÑŸÃBÑwÀBÁ ,äXjˆ…‡yƒ ëpa Eÿ xúú Šû‹…òº¼–yÃë†|câkÁ|­*¿Øc°P~97] üøøZœ?X ¿Oô]¼æÛ ¾–óï/…þНäóE^ 8¿:ðq¤ÑXÀlSíÀí·ûÄ9ùJœ XÀ.oô[|ÉÑ:øêž ã+éKyÅíbð•ð×ã+±ð…|žÂË |?áKá§Æ—‚CXp†_ÎÙ·ºdÊ3Ì—þ–W[¹q _ÊëÿR£›óøPÌ—¿ŸÏ¨f>‰/żæÏä¾’s”/Øñ×ì¾:æË|$_pó™M§º_ˆF¾Ì˜/æ]ð…Ìwþý3OúûòاíìÆ<±¾1OÞß\é;{!ö+æÉç—ä‰ó_Èõž'óÍ—×÷9+wÖßÂ\áOÇçlw~à×>¯xþDî~^`®ô¡åÈçwäŠ}Ž9òûæˆóŸ³¯±q7>—ï—-ó»n# Äf{½» ŸË}÷\ø^1[Ö£ÙÒ'÷œ—·e0û5¿±˜-ïkö%Ál¡·cŽÌWŸËçbäˆs³Ùc%²÷c6O‹>ÁléËýAÌýÌæcÆ?£OÎ{Ÿ§˜K%þ²/~¡£_>Ÿ"[®¿ÐSѧUU @Ïsž£_a@½^ásFé‹G_r¡Vi¡ì+¡[Ì} WÎ-{„¾^.·¡sâøGƒ sÑ+ü«è‘y¼/ŸÈ ×ö¼ô̼yèÝÍpè‰z‡9Ð)tB´3›az!zfSúÍíëè•Ï‹q_2úD¿N«WD=•É ñÐÅä¾»Ðññ´…ïöé‹RÇ,Ñ_G¯ÔEœâÜÀ,Ž£ÆèfíÌñÐÅÛ<3ÐÁÜM– ‡¹ÅÞ‚©?dqùïKÌü–ÆÐÁºQÜè>¾,©8y¾!fñ1Ý è”ëÀö 2Ñ–óMc&ÿ8hgn‹’KÑ!ý¢6©ÏØN±Ö´Ã éÌ>£L1oŠ™Lv3Ù¸°{6Ú„éÒ¯˜¡oÓØq¡"Ú¤Ÿ3C>O(íOþ0Cr"ËPSµ÷¯:dËý˜.Ÿÿ“šÍ<1UøÀ1]œ¯˜ÊÇ“yÓ›³ ÓgTœóxÞ$L•sÇ)ì]¦\ÀTù¬déÏM‘çRj+>pißžÝ61é ¦ˆ<“­l`y ¦ÓäsH’XÙ‰Ïnp#¦Êçr$ñÇŒDé¿ÇD¹Oãå|t¼ðg`¼|þV¢è‡`JõGÛkìèÉrÎ>Qê˜1q¬Yãåó¨¢ä9;” žó’çÎb¬<—b¹ŒÔ£EŽQ˜0³ŸÈ9þhÑÇÃhù<„Gl¹ï#|*uÒ¨÷xƒ£¥îU2ï邲Ç0’© _yñªÈãñ—=»ãSùܰ{ìéRðç…;FŠy<|$ŸkpCø0R>¿æ–0LáU1‡Š7¥ÏôÖ¡®ƒÓza¤˜?Åbo°t MÞaŸ®Ì6<݇ ¿xWú ¯Šþ+^>¼ÈÓ/¯æL<= ²ÎèZ𜘃ÅÓýŒƒ?ÿë<ÞsAx•Ù]w®Ás|,d .üvë¤àá›ðøR?f<ÚÇÖ“8÷#tžbÝsyêB<>ÙÛ`Hýžx¦vÏ‹r þ¹'`Ѱ©^øëÅ}ÀÄøÀ¡'ïÁ–G85úØx\ä\WrÔVX[µÔ]µ_W˜²êÖõ€NGaß²3kÃmÇ­ß¼-[nâkÜÜh×õüá8—Éjâ±¹U¢Ê÷ûN×½ºL¹Íprl¯RM—»àTѣħa¥àOgÚÁÑUÍn´ß×N–»c ïfOl‚Ë«ÙôBì³öà´'þšê0ûëzp©Û‰¥Í3çÃ%‘×Áu9Oq ( .l(}IÿαŸ¹úY×ÕuK 9ßyQÎy œKF9¿z¶ã\e¥ú\ûð›Ð•=–`f*<àãÉ­à›–î;nIܽŒ2§šî«W–2!õ¯O¥ìá…Ækâ”)ð@úÈbvò|мžlήø©ÿ<óp_ÎgÅ>àºÏÚ8†ƒð˜Ï›!FèQÅܸ£wB´Ð—!F<÷žVbΛ ²;b!^<bŒ¿ )ýqyH4VXd¡÷‚ô'Ã3^®@ÚÎnÉ¿íz ©Ü&<Òe?fpCšœÍs™iÒ?”!ò,È”ó¨ÜÞßÒäÜ}{àË)ÏGt9'”ÁQa+Øä\l†ôßeqyy؆ʹ!SøhÁÀO`¯ÀkùxÞÄœ];Á.ïc¦ôAföÊV.8¹Ýa2Øy¸Z`—}ÊLÙ¶ËyÛL¶¬‚çƒSø¯Á!ž‡Y‚¯àþ<§œÿrþÌ©ç‚í»~ïíZ>ìB—‡,é7sŠº\Ò·æ•ýH÷ß|À¼òó»k”a“à’>9×&và†ƒGÔ—àaÓÁcnƒ[èrà–>·,ñ\p˹}/,Jx½¼qûŸŸÅ/êðìç |ÿ·*|P¼|yLúo¾ØÇTû‘½ÁÏvkÙÍ Ÿë^ñ¼ðkIrØÒ³à—ß#[¾v9.ü@¶x~ø¶r}üLNm´üZõª¥ˆà—s 9׸ž~¡£A¶8—![οf‹~d‹¹È–ónþ¶µŠ¨dó²­*äH?OŽôãæÈÏ‘ó!kŒŒ©ïBŽÐàyÿ€#ê2ÈÏ·„\Ñw„çr^9ç)/\à¹ü>9¢î„\þ5 ð\ÎÉåJl.“Ooì…\¹žrÄ 3<ú%äJnçŠùÈ•×å9/;Â!OÎGæŽçú äJÿW®ô×äJ?]®|^F^0/¨!?nékÈ}È“sÕy¼ j/qáž‹üòäçÉõ4¼óL/tÈõ1¼àã·ý!Oú_H_j¾ôS½zäK_T¾ÈÏ _öã_ðr¥:¼àå[?x!ôkx!êÈ“þÝ|éw|)ç}óåúx!ç1_ŠçµÁK¡@¾x¼”þ–Ò§—/êHx%tVxÕŽïàK Oᥘû—¼¼ÿ ò….ÒõJú¯ ä\ø+ù|ŠWr®û•ô ?ˆçiÂ+1W¯DŸ^Êç¼ú ¼–~ª×rN±@è¤P æ PÎuˆçíA¡ô Ê÷+Ï9‚¹o^kYïØ#µàõO|@ ¾â åùùZ®÷BQ?@!_¶#á5s+U~oäû¿æËz¼•óó…r¾‘>¿7BŸ·lÛ•L…·¢_¯E^Ëõ\˜Í'(”ëäô¯ Þò4ú;x#ÏÏB‘WC¡\ÿoKs]Þ†q}Þ6çƒaP$9ôFÌWÁy.¾‘×÷­xî” ¹]$×E‘¨Çá­ô5ùWÿúZ<éã+’×»Hî§"¾}g@‘ø¼J€Â0‰óB ×­HúÛ‹D¿Џœ3S ó}J€à‚Ї¯O%àg¾n”€íü”€¼ÎWÅÜ› æz”q]•€‡\¯S˜ü“üX srJ@>Ts«(ø¦–æ %àµXÏE‚J@$¯ãµ?¸—)ÚîÓJ{% ¯k%𾑕À‘ÜW§Šy)%@ô” ÑçS×ò9<%ðΤ(ôi%PèMJàu®¿(B_V¤þ¬ ÝP þ %PpJ ý?%¨-׋•@±¯• ¡£)A—¸¾¡ }K zÌõ>%¨Ï” Íü P…ޤåç†$ê>%踞ý§‰çÑ)A—£ñ¯?] þšƒM þN\—`ÞNQ” Ë|nI žÇç°•à?ùúS‚W”à™|žD }%%8œsK º“”Ë,%xŸ{S‚ÿá!%¸!×c•àg¼¿¡‰sO ©"?ÏT¾¾•nìXh¦„Tc_¬¶²‡ï%XèYJ°xî„"úÛJˆðí*!òþ…lãƒvJ0o³uWBÊr]T -Íõ/%ä-¼"öŸ"×eÈÎI%ä"”"ž_§„~(Á6îgÕ~Ÿ-,í}ZóX YØJè®7*¡¢ï§„ØDƒ/Tô •P17­„ÄòçÖ)!…`J¨Ð¿•Pq¾)¡¢ß „•d‰E]%TôE”ÐR\ðVBÉ÷óñºç¿ýÎ.Û°åý¿Ô’±’ìYžîúG¿í†«‡ýEÇ7}oíÌk’_2Þ÷ô(—Ük÷¼99à«|õCƒ=+3Ëš¿üwÙ3{·—ýýç¾ûµöå~×”÷6O~½—ÿ ½ëX“ùÁ/Öíô†w ÞÙüÜq&9»Ï}ן™ôÙ¹ ÿÓuïçv_yÓ—ýñÃ7¾ã·/»ÐZ¿ô’7go¡ßÉ}œÍý¨­¹qøª‹¿âËÞÿÖ§··Òº“_ùZ‡ýhãÜó÷m}úµoù·ÿæñ îøçùÚŸN?ïæ®ßÛCߨ¿êèëÚ¼ýß?üåÃ7^lË/ù§WÜyáÇý·á¾[]rÚË–ú¬ê÷üÏSo{™¯O?~»­øÏ?è¯+>mϬÿÙU?÷½.¹óþÄ%'Šþø•÷ÄçuÏO_úO;ßÿ6{ò‘“ïýV‹?zׇ:~|Ã[þó=ÿ¼|ß8»/ü®ýéɘïó†/^ûõÅ7{Û'~\ý§þ‹þ߯½å+g–v Äç1=ëá-–÷þÌ׆õi+ï8ùÜ?¼ð¯ñøÛúªëÿ˼ô“_øÙ¢þÖ ¾öÒ“~l¦?Ñ~Ðçömmúò=¿öY¬Ûî+®{Í W7YM¸nÛ–ìÂÿ^kå/ÿÐmÏ´½Ü&ÉþOýþ ¾â‘JV¼ÏONsËc^ðó×ÝúȽŸ·•ÿ9nòÞÖé]éÛW[SX¾ðÈøÖÙ“÷Zç[Òo™p|ëa}®[¾oìȬû¼è¯(8pèŒu§Ûòs¦õÿ½Âmó^ûD·ÏJo¤­ûÇ:~3ñÓe †¼™ý·6]v·÷Õç¿6=a/èúÝÒïüí&]“lÓ«OÏøø\ás³3¯ÏÖeÍ;o~¹¯ä>ìÏß³ï]sª®ÃŠÚnsÖdض¬Ê.YŸ›]E#—[qÁ[“aõS?úÍËßþ#{,k<¦7^lϼ950¶õGé²?a‡~ö©ÍO·Éëì±OÊ*>¯?°~›ìÊ—Ï÷EoüÕ{/øÛOÙMw÷||ùEß×s²5ÉíþÜn›Å:½ú‡éBöUá~ØÚ‡RÃc¿ûÁVsÅ—þÁæ…uzŽ=cÿÚ½ér‹yòØöœ²uɶxÿÏmÛ±ä…ñó•ÙÝš5!~÷‡ó´™<‡Vîÿ’äö¯~ØþŒ}½‹ûÌÀ7möø‡‡¿¸Íв«ø™½öÝä²?¹ÙÏ:mM–Ù£ö‹°^ã~›µ÷ëWýfâglñÿ\fYj7¿ïßž:Xà¿á÷×ûn¿ëÞbÿ¿Ëú©~õ»³þ¿|^ÖJ]r¢ØõyÙ£Ç~|C²õ|ÑcÉ?Ûª¤Ú„ýà?áy”,,¼6»eü_°“+ŸL7œÝ¾è_>ÝÖ”üÜØÓ^ú÷‰~‡Mb­L¬Çw¾›³Ù›ö¯«JìAöeuø¾?ì®ÍÃ>mc?‡Çü*[]õ_ ~Yônùó`Mç=wÅç^ù‹«Ï·UÁú†ìÝyÇѽ¶¤Úï>òÐOíÉ=åÁŸ³yÁþ[S¸/öpòô§1°À<ù™/µÚ†°µÞmvɸìÿÊëØµÉjù×Õ¶rÃOÆßRÚjs“Ç諬²ü®ä¶üm©£2ù©•¯OoŒìµcßmñ³?ºï…GþIÏÅW횺ìÃÅUÖ=6q¨Ï[&» ìµ™¬Ó¹ì«šp<ÿÇéH¬ÐGž·ÕצÝgýþêçKo±½¥/ÉžÁT¿w_²Òž¶jöS!ñÉî7¬»}ÿš›mvr˜žUÞ•ÝGž\íE7¿¬ù¡7¿7îûeø¿_|ìöŸ¶u°•ç¥ÿxé’§³óo´}mâŦ.³Š~ß›ð³àÇæ„øÂWã—îụ̀Ɋ·2ü|&Ø!ÿÉ ‰áþ£•à—VgÒ dmÿ0æ{cÿXj…écû{+HÍŵv_Öˆ½ôÞM6?øGŸ›}8ÙÌ qŠ-~Oú€l6÷yûyAv5¾ë'OÚïB|as²7ï+g–ÙïC\æó“}£Þu^“6üÄ×ñüe'a­Ê^TÖ3ºöË’›ÒÊ7§Ëè"×ï$aâP»ßü“ýÿÿ-ö㬰Ï|Éñ_ýeÓ?>¿·5Äqÿ-Âÿ.MË öd°«¶ffê`}Uº=/õ<ׇêÓ€ ®›g2©c÷‡ˆs “§}룦õÃýóöÙ/°“îó“ìkíƒù& d‡?”ºÕ/Øo³Þ²bíq_kòo´7u°¶8 ýû‡¯·ƒðk°C³²7õC·åâ =Ç_`æ¥îúlë÷ÿöçWµ‰t¼ùìÿGBœm‹·ù²—½ßò‘ôÊ-„™_ŒÇy‚û•«ì)ìë[y>‹~Ÿ.Pßt¸úÙ7¬›i SŸËÜä±ÍyÂîH¶×7gñ€ö­¸2]v_° .¢uôp6xÊ.q›ü”¯'., þÉ*N3[÷Ú42²gç·ÃºS< ø×þ3œ§¯b_oÇnÿ2\Ÿ×§Ëì ÿyXßöxêžoóZò–®ŠO5›J˜âèÒW¤ŽÁ—¦G»ÈÖâ÷ðÿÎïšüé†Ô@}Û’(4»d¼,‰òÆt{ùÈ’ø/Yb÷•ÈÞh}Í öØ*³‹ãò#—ÙÁŸÛ–÷¤Hôë"NÞìœ+ûëæâ¥íiØù¯ŠƒìnÖãÓØÃg^ѽ«ñ×u¾ˆã±¾âý›ƒßM\¼=uwy1Ïÿb¿$ß[òda^cëÈW¿çWÉòÂ×§Øçñ¼ óñÖY®ý?' ÷®ô5ÄÃÊó¶g­Ñ¸ªë|}øòò2â…¸ÿ%î_™˜õkF¢íHÝÑt_žX•ë^cºOaÏ}MrcûÂ/ûfìÊýY+õŠîÝŠß¼9õ¾ûäß}ýÉäÄÛí©ØÉ—üÿWkìAüÞ,üŒìó}Øù2ò òOûbØ_ž¦ãõK|vºŒ^)»èÕÄË’trýr[–æ&×úx»™Â %Oø—Âó‹÷çñl–³&óC[†=.×»]ßû*~€xÇ‹‰›*V¦5Æ÷qõ!N°eÁžÇõ½1ä!ö0~ùQüŸÖx†éùÎN+_FF¦ã»Öùæ÷Ø ü^CsbøÇÚÃ?ñ%ä)˳Þí÷ý/ñ9|oc’ÍüøFßÎó_pƒègÖŽKx¼OºúOŠßlUbæ¿pÐæs=åÁ¾y ~þ©‡E;µéeßÞ”5õö}ò€Š4Ìúª—¥·õ¾1yÜÛá™GƸ£"Ù…·]i÷s˜&¾qÁÛ“'㵉¹uÚKðk›‚?ó€­MÂó‘Ù¾*økÿÞu‰#m–¿0å!SsxU¼žºp?my‚ð˜~ççÄï+C~ì›Èç–rK«ûÎëHÂìç~ç?ÃŽ¶†¸Ê7I?ò‚$Jå/¿(¿ëÿï÷²îô¼—NH>øi'NóÕ‰y.ú£k½pݶ(Ľ.ük5÷±ä“›³Ö•ÇõPøÁtzIðƒ®üqmš6~Õ'mþ»ôFÇ8}hßö0Ú7å¿öÄW§n𫞙—&èÂi\ñÊ÷‰/¼)y`ïó‡ÉÁEì#ÜÙqây[›DcïóÆÔ¾Ý篫9¬£ï•…xEvÃ7†|•þ‚<ÄWñ<N\;çÒ'^-ûá›8§aƒ=’>æ7Ù†å%ߌ8ÊêÔœ½Õ‡|×Ã6¼ÎW&g=q]<¿âïê¯(8íàÖ_).ñ’ךâÓ¹)<òF[’º§÷5évx™ìbü]ð)Wº€øàfp‹Ò`WíIâMâ2÷€‹ÉFQx yª&0ÉÝæ±‡|=Ÿ¼W¸…oM~ý{+Ž÷Õ›.D»'Ýïv]vÆ BÜä³ÁOWcd_ñcÖ“]ä_¹¿Á„{­NžÊ›þÛÊC¾êÂ1¶§é×Glë™Ôñùæ€#ñZÎ?_—6&†û¯Ã|Â? 'U¾Ú• 6²Ãwßš:tÅkÞÇý"Žô?a:wõƒ{|g}ꄯMÍæWmqrÚw÷x÷ç1ìÜ—‰kÀ=í§øÁÖ˶V~»Íw¨| Ù0¿±Š«’Dt¡ßpÿ]ÀÃ|3Ï|ʵß+oõ‘‡}Q#6uáï<¯¸ïºÓÛÿY߆ß$Þ‹vu¸~ÉïK è¸ü xÏ"Þ® 8|Ö!Þ“¿úsêÖ_ãó“Óß¼ø¼/Wf37ºüߟñ›Äå¾,à_v'ëhq¸Ž˜Ï“gåpët{Üi›ŸË~sŽÿ}³"1cÿùg¯Î`?VÜùådA=j‹ƒÝ´p€‡Y?ì[ÿ}ð#þõ4Ÿ>5úáOà¯àñÞ›nÿiþãsÁ}ïæºµn¾ÉýÛ’:Ô9?ž t_ÿ°oOÜI埕¦é“…{ùìÊߨúàßãýþqͱ‹k*ÓÄ/ú[ì»/g_/Å`·ü7¡nb§Ó€Â–‡€Õ—€¿(¾œŸ.Ÿâq!~>Xp*_“ýôñ_=çkÈß±[¾…õBœï ÒÛý[þ•ÔàúЬó¸¨o›ýœ~Ñh<×?}) x±W¤ýC¾"ÙηÿÌWœÈî!¯;”&pZGîi!Äç;fËk1óZŸö‘Íy]zÃl÷Gù—âšôn}{s<êHV”À»o~À7&Ëá’“þ öŽ}×øˆ7ÿc+sã¯õ¾êVõD²WÙƒàâÕéǾa›S÷ÿ!+âýòl•]‰Žëå»ÓÄ=‡'¤…'ùO«<š^`<òzWœŽ_sáÛ¡.bª—)Ÿ%/RýºÒåu¥).Çÿ+OyÉCà!娕ˆ#X?þ#pY'_“–/>êþë+ópå_"þYE\ô§ðÚ„û€‡ÄúûFq¤ÏqQ뻩¸ìðÂ_ƒƒkß(¯^²ˆýõË’õK[,\zå}ä=O…ýoøjão ëÚÖâÇ•W­Æ®6±^šÀM¿Ãóx‚x˜ú¦ÝüF\_Ã.>B\¾/äŶ$uŸ3}u°'ñü×QßÀÎvÛ…·ÕÏJ GŒsÖÀ΋B¼«ëº{tœd…©»>ÏÀY|Ãd÷çß¿! Lí‰?Øõà[ˆ[— ÌW‘O—€®Hàù=ôÅøÙ œ/ö[ëÓçà_…sV†xÔ—¿&Yñ¾ Ø;ßü˜«žI}È7§áû›my­pËGƒ2Ù¡©ýlÄ–&îï¥îî¥)œñïÑ®Éë÷©‹ø6>·‘x’ú™oʳ›Ý™Ô±Ë_ gö}!N‹ŸSnCºÝ>é Be›©+=M„¬Œý ^çÅÁ¯y!ñ…êeµØå]ªËmHÓõññøu Lóôv[’„ã{+Ï£"ø[/}[šàø6ê+ÅÄÝ›“pùŸW8uÕƒcœWòOQæ1¯²ÊÔ¼ÛŸÁÿ Øö$Zü¯…Öž¤í×GµÙØñ ´îOáÍwZ¸uŸ”Çü^€ê²µiØ÷&Õ%mKš_lß RŸz…Wo­Åo$^’Ý{:¬oßú¶ìdW¬­KÝà ¶ƒz²êQŠ›U¿|.jS~ܘ–ÇÿÁ¶Ÿ&¤¶8ØÜ~¥NUK½¿jÄýž¤[å}^Çï”$n¤s³55½A¶*äçŽìë¾i{È«áA4‡ë9Ì öÄŠ’]ôƒ¿³àÌÜGp6/ ‰£}Šõz¸3½k¹&’ Ü˨÷˜êö+¯O7P\g© Á+;ÁuTï…Ïâ«°_ !^·%ü>xK¼oaÇÚá/¨Þ(>Â2Öâüg°¿U@,î—MÊ+BÜæ¿ öÜB¾nlÛ³AÙÛ÷ýÙÄÓ©LÓ‡/Zú©Im˦ôû#ða~ >©xHõ‹ê¬³šôÙy¶†xdUˆâõ Ÿ¬N/ãUÊK »kEü<¯ûÌûžM½­™xbCK²@_oIxö£û½~uS\Ý®7Þ‡µàÚ™°oýÏ!°Æ4-¹ÛV¤pÒ-^åªûGÄü¶¹# ˜´¾¼Œø¯€ºøŠÀ+ŠyºòΞ4ì©Á3Ø^×þ"\­ƒ¼Pv¡‰û-¿³úê4ѵx+Bì—²~N¼¹õ¹>Yͯ}Ò;‰ËT?mHÃÄïxGX_ñù¨^´>¥|ßþD>ߥøÿ¿#Ü—˜7ÀÛð ®Ø ¼:Q8qWöÍìÒ¶§Søç VÀû•Ô¡fQSÜRü©mÅήM¾vÑ#_0ù;}¾05ßoŠë§…:[÷KŸ[Éq΄øÝ B\¯?ÃmÀ ï-"Ok`½’ÿjŸV¾…ðã}Ö}oj`­6àVð?“Ý-ø` DX_r÷>ø€5SGÌÀS³Ÿ¯¥§ùÛO<ÚOoý7Ò|yO.íŒqô¡´lñukùpzáF¾e!ܾ;òàoØö4½¿ùž—Ãßûü${þÄ ¯L–ÙµUÖ”l÷¹‹rü@ü ö—x ¡¾b C vÄJ‰›W“‡?Ÿó¼;ÀÈC#O+õ^7ï°ûá]´Âïôäé¾½?Æß{7¤‰“ýLû&ì?/Kîò;ŽYoà9|$á^“ÂnŸˆñ$8¯ü•x.>'…¾å«°Ç5ä¥ÁžYAÈ›½:à¶*à3ösÕãáËa­)àÂ~þEyCIvŒsáC]!Þ´öOg¨;¸¾=IÜ®7êÄÏZì©WQ·”ý^ðgßl!y¾pÈ äŸ[À[‡”„õnkÂúsòƒIPWݼ)äŶ5Ô„cØBÖi&]îW[òî²dÛ^°ËÿÈõ<W¼ð#/QñuSB›{h¿ö±³Þãy®IÝÛ Ëàÿ‘÷ó»¶6MO¾gÛƒãÔ÷¾ÎûŠWŽO’ˆn…ŸYâñ¦m¸b98XëdSØøªD>ô ââH_ þrÀË…¿k]ÚÆp?]õ‘¥Yã‘ÝR—*"ß,xerâïŒ8ÖšôöžoàÓ¶¾ u/÷ÓKØïà Ѿ—$Ëï3ÆûÏÜw%náø¯ÿÙÓÂ7Bü?/|K|öŸ²‹‰ÄÇÔ}( ~7_|uá>Ô‡mÛ%É‚Ý(~£ËŽ=œÇ—qSØ÷N¼e›Bâ%ÔÉcsõâTÕéG’—³ÿ]oŸ­›EœO:þÞÏ8ÿúwÅ8)€iS¦Šûû4¸iEàoY{P›†“TW¶âÀ‡6ê`NÂ6–±?çbG„©>·”õ³Þøøn‘çJ]Åž„¼™zK-qëÊé)ñÚ—²tÝâ娞IÞgmðgTçþ@¾ïkAº¬?ù>ÂÅæÂ³W]ž£¯ ühÏV÷P?+'ÏXöÃ×¶'éÓ¨ÂN–rþZ߬ q†Ù­àXòËŸcgâ~>+¾ÛötùO0Åçâ©.ƯG.å¼V†üÝU¿«7jLàÊ]MFýÂu¿V§ðØ­±ÿœßꈷòñÕ&ì2ý%G¨£îZü¬ËïnëN ¿/I~æ+Ïzi¨ãƺè,ø­âÿµ…85W_ ^vðÿÕȰûøÞº4í¸ÝzÈU‡ÌÌIO·ÕÛ)6“º­7Ç<‚ü6òÞTÿW_“plÅk¨+×{ ñúÂp_ŃSœ¯'ò¢Rsù9WýŒçî‹þêê'( õÄI<üå:xŒ-Ôã×7 ¤Ä™È;oH¶¶ò€w¸ø›­Ø·ò€ÃyERyO¹—…ü-Ú•ç£ú‚§Õ$gsg‹µ†óëvsàÊλð½|~ú7¼\Iýƒéí¼ÍJCžå 5òõÅ£÷Rü'üÞô»ÚßÔ#Ä_óBìf9u{ð‡/೉Wd·Þ“«ÿ€þ©>IÿÖ±ìZ†8r{G8øzð§o€‡Ê~Ãëõõ©ýbŒÿXGq]‰/O?‹¿7ÿRÈõ¯‚W2/ì‡È+Ú’Ò¶?ì[‚?ŽçOÿo&¿,"/R=R8_u[êp½~Œ«Ÿ {Zü¨o ø¥·‡:ƒí·DvÏÓåvwÄE2iºù:+¢žµŒúÕö”fs‘¯…çO}Ê3àý¡.þ^\‡ô˹î/vÖ oϨ‹xKà YS°ó¾0É\c-à-Äꇪ€‡ÙøíVJ} >¼‰¿¤zvÑ•TQW­GžÒ!/$<Ö~”ÇÝŠ½Ϩ<êqââ‡_åâ9Tw«ÿ ^«ÑOf%Ô…V„}ïð<‹ÓÛüN[ OöYu«àS÷E_yuâw›ê+cσ mû^º!­ü\8%¸”m ~ÃÚá“«®Qž»ídß6RßÇ~Xæ ‰¡Z8¯ þÑ·¯ ‡·óyðæ»“,ókmÝW§…*_OýLqSSàG¨/ÙÊÓåñ?ÖÂúR=¡,yÜSŠ×ÿ$ùéÜÑýqVš„Ÿ.·äÓê(Ia×8üK[CdSš~3Ö [áŸ?siúú\¼MÓ=iC›?Ãþ]>·uò«x>Êsï%ÚÖ‹«o¬>¦ì'üýØÎõöÅt_‹¨›lj z®ú\ÔYÁ:¨ .\@][y£x‹Õìõ#Ò7æ…ð«YoÊÃý;Ü7xêwtâ8[Î× ©*OW‹þÃI~3à°[Àùšéó7ˆý)ÚÔ›­œ~Í"âÏ&âØJü}5×UâYW}¶ð΄ ö±X[žCŒw÷7ïχW¾2Üo/ñV.ÎNh¯è±¨³ü¿¢xsyTM¨óǾ-úŸãúŽ"Þ¨òMÅs%ð^?¨¿§·çkN[®¯þ¦ðWñÄUoU_ŽìḊÀÊxžŠ´>À]|0îƒmƒG¯þ·¹á>;q•Q³"ø¾yu×È«Z(ž;vmaàÚRx|ð£c¾¨u/¤ò6ùuê•ÞH_¸ô ÄŸXø|QètÕ×Ó·G]6Þ_ü­oŠG¾Ž~WøXñó ðˆUßFýo.Q°Þ ý9ñ{sNj…ðÙá¥;ûÍ‹àA<@Ýö7ð?ÙñúÏ­ÈÃOÑ]0pžx\ðýIò¼Uç¨Áÿ(NÜú,ÖÙÂó4üÀXת'îÛú¥ÐxÚÔ§ŽÞ„êòôË8|_õuymàeÛ.ðÓ ý/ëéS/lK›KG ¼ýx½7²¯ï øj¼núËâçÁÕc?@-:'Ô âçàø3aG¾V9¸êððcÀbÿ’úé×>CìÛR=…ü8òÁþH=Eù¼ø» iºúOñzÖÂÇjæzéÿôáùzsàý¶)ä³¾-…Ƹú3éû‰ù¨ì"qAìGÁ¯Ûòká(â¥ÊÞ>xÒ¾ƒ7Sß Ÿ‰×GýjÒ)lýÖÏ«¬›¸¦<ðÉŒ~kÇ?·½3u¨`Š—ZùM'uÙåàm=§SÄÚˆàƒÚBðòä#Gè›ïÿÝG~ û­ûU†Ýžù¡­u+_ê"VIŸð1ê´Ãä¥[‰ÛÅÿŠýîØ©²$ úÙbKÏêŽS‘¢>8åïmØÁ-èt‚–œ)Þgñ"ék³nâTå‘â]ü„¼½ \–¾Ùgí_ú¥¬ ðÝ­–}ÛN}]}£ëR3û帴náÚø ¥§èsñêGŸ ^#¾ýDV A:=ðaè׉×]ÿ| üíäC…ô[ÔPo¯$Ž¥^jÛȧOJül›|/õøNÂÁ"o_ýåmÄ#íØ9úyÄ3õØWáÎEÜ—=Á^Æë¨ö8ׯêN¯®†w[òZïÄ®Kg>Ÿ5+Î'¾‘®¼S[O©ƒü@}( áÑâ_UQ`.nÅT_“n|+w® q®Í'N¨¥»2ukSrÏ+ôÇ{_à¡™êóØßêoT=»Ü¼½?‚Ϩ¯¨:؇Èרœ>ÎOy9þSø6u^ŽŽ¾RÄ WçñX?±îF¿‡£³2é‚—…ûÖôɬ'Ô}­œ°œº|«ÿÐBž§zJ8'úOQ_ë`è#¶Jp«5¡ÏÍf±N…—Ãç½'ðãÔ‡û± Cÿ›!Ž:ÀýVüJ?†•œÇ†áï £¿"ÿ|yŽâ¦µäòÂÅß)ÀLhg*fý4‡~ aÒx#>1õŠ÷пW‰üÕ[zòøgŠï比„†~[.^Œîü5ÿ-<ºõ'ßÀÐ׈ü_ôXÄ|:ኊËÄ3Q}ˆ}ù¸½?ÎåIøñJt„«>"{›ÏgÙD>"˜‚—¥@‹K{^¶úÄÇ«J~þÃ%±?¦>yúe¥ôÑ—„õèÒË .ž¿ö_7Ÿ“¾”î-ý~káì'Þâ§Üú…¸9Äy¶”<‰~bë þÆÔ¸™üo+uxé?»pò­Wç+áQo€Ï›¡_¥|1o¥žº4ð òyv^½;ôYÇ|^ÔQSݸ;Ô­›>‘^ü®âÌè®Æ©Ÿ¾ à»®>ás›¹ßeôËÂÓÐ~sì Üœ(¼ÒæÃ?WžL]Uü¨I\êX‰\Ôï–ÚΠsa ÄôyÆþ´ÖcS|Ñýµàt­!ð®¯> p¶•äK¨Ï ÏìL5Ûx,ù¼z¹ ~ûaúÚ‚g ?½¯â> Ã7fÿn¥>ÏßÔ¯-û[FÛÈsï=‡x^Øs¯äxíè0Àó”þ›©e|Ÿ&xÆâAKçD8íFòˆUðË×P* ~VÌ÷èDZbøFè‚EÝ€Ía;õ©.~µ|¦[upñÒÀ÷c]G:côwGéa¬ èâ}*Î+û%^ôUà·G=Áðž*úEJàoOèÏ•¿T¿ŽôóÄß³^úÂÙ—^DBõŸMaý{õ õ£…ïIË»àkPséUñû»À/v£¥º¿úФ¢û¢¿ ØÆ}¦ÒJÉ¿¥VD]¾Vºw¡nb­—¥ú t:¢?hGe}ú6úó‰×#ÎÝ•>îŸ8¯£î•p;êÀÒ[´Íàžð"b<³µ&ù§Ötå×· ÅÅ­!ÏÂïxk¬7Ág™ôÒkC½¡ü®{IÜzm%¼ûê“¥äåô“µ€Ó ïWÓ ÿNþJñžêKÕðè{©3ö†üZ~ÉÙVJ¼|ºÝ°Ÿs}@äyy‚ ãÇdoÄo¿|™ê±ðé ÿÕÁW"²™:[ÿÞf-â\9êì}—|Bõ…nòõ#/R]ª™¾õ³im…o!> p3é\­Ih …Û£šøuªo®¤¯ƈÇWsòPé÷¨oȩ׊·-}½¨? :=}¼V Þ] /¯ ܨ†tDÔïYK†úˆjàã«MúvÒ+ê"O”_RŸ³øÂêó/ý+[GßQ1õk'~Q}¢ýHœhE§è‹©oÌ ºÁN‹«ß»<\öl 8LïË^ÒŸkÕàA•i:ññº¼–ûR >4öH¸ê/ÕŸM]³œ:Žô‹ôý*âXéh4*>d]ƒ§Dþ|k…רIü‚N²°^Å÷è ýqÖ†®vä~+uõG>¬ú ~É}o\5—Wûâ+À-ToÜžö¾G"ÿœÄѽ›ôWµ)b½Ä3½Ô'Ðs±RêÊ;Ñ‹k†w·!à‚ÖÍ}ÜAKñ`+y_ß/`Ý)^V½b¼¨7…mßb¡O*êÊ ƒ!žªÀDSúŠÂ½3ð†¨%þU-‚® ­JÊúluÀ‹r¼ÞgG½ròå³¾z$-$XSh¶ÒÀ{ñգ󰈇´ÂÇÜ:ê2gÈç¤Ç±‰úôýZ|0tb|&õ°þ}ËAˆ~tÌë„ÏÃ7vê,‘oŒNQ_‹qP]ЇŽû»ŒþÕ‹6é˜ÇjfЋ©$oG¿Ûf÷—à/J>ã™Ñýx¾=äí.ýtô¢ny3ýz½ø‰ è'‚WÆßë"½!¯ñÂÄyÊ*ð¯Q7‰þxë^ÁsÝD¼ÞÈ>àï^øeVŽ>‰ð³Jê[›é'(ÆN´ã7T·Dg0ê#„ëñê§õàÛÒËiÅo¢#y¤âã¶±Þáá{5Ç­‚Ó¾ >ûµàS+п’þÃΠk½ôñ¨½X8wà?Æ>-õ%•ÇK'¹œ:cõté] wu¶w×V‡ø&×oôg•/Lz)û½z@7ø^ûTxªú~;¨O´‡8'þn7}²ÛKÁ9๱î­|Tϵ†}s˜¾ÀüÈ|¯…äݪ«K?ó@ÀÁì°tìÀóTÇj ¼~Â¥BüáGêo܈ýÕy6Ç´€_ãWáUÆý \§ú¨ò4ô±¬|_ë |iéY[3‡ï&ž¤x> ô‹—ÄÁC¥¯ìÔ½½xåŠ#/^qø‚mVÿ+û@8g=õÍ%x˜º¢êg™€Fý˜ àÍÒwÎ\8GoÐa× ËÊñ«ètX;º{{ñËÅI˜µú« ü''}…¡ÎŸ«xŒèäö:ïð~¼¼‡¾L—~s?ñÒ,æ%¨Ÿ·žy;ÑM|8ô7xy¨yÍhÝãx\ú7"¿˜¾)ø*V‡î€x˵èÞ¯ ~ÁTïØ_²ˆ>3ñ¥/'þÀ†”~ò!+"Ÿ]ð$/WÙ•nÏ ¬'”VßS}¸»‚>m¬«eBŸ³—‚wƒïZEð§‘GÚ‚Žq;}DšcÒÔ.ý¿Çû.j/Àã>BêõƒÃìÏNð¤ìpë|Wès´vòäè·w¼)ç(}ÉûÐïj&>F×J}™6Bœ»—úÎÑÔ üUÔŽ-¼ê8üªSÔÇTO†× ®9BÞ;Bž\]DwÖè'òaúvŠð;‚=Ž×Ñ~#ÿ³‹¸\,÷¹ ßc³6ôZkˆ“múÃVìýlñû¨ß`Eýñb<)—/®3úa¬]·µÔiêÁ4Ä©;5ckèË. ®­÷VÿRA°›®ë¾.}à ù«ú쎯¡ë"•Ä»ÍÄ›tù—ƒÓ©:XÔ1Ç.ùòÊRt¥±Þ²ðù‡ÉÃvÒ?¦tÅ냽qOºH®(´íüî)øŸµào ºÁé{åŸB_un]Sw¯£.pˆzË0ü€íÄÔ§m'öÞ´U†ý¬¼ZzÃ&¾õUk¢þØ„î©ú‘;YÕ¡ÎvN]C:ÏÃó?ê"¶Ÿ:Âö§ ûÀ¼ëÆÏ¶cßZàÂÎì&Ÿ©"<î×ÎÜZôvTï×\¡ôGR7;IýR:câ7‚§.sŠu[À¾‚§ÑƒŸ8E]h„õQI²gÈgÅ×VŸ^ ñ˜pº¦Ð÷óO¸Ž*öôr4Fzõú8\¼TéKïB¶ð‘›Éëè`Ýø2âÀB?›ÁŸROëÃ6«Öþë"ŽiÁ¯)Þ·bž˜ Ø1ê êçpÝׅרjìÔpþ⇓ìg鲈¯"þàñ€cÛItëÄ»ÆÞôý´ø|FÀÏá Y)ñ8<ÈýN"~Z%ö=«¡®ÏºµÎðxrý:ô¯‰Õ¯ý]+Ãþ€ ¸ú…·a×á9IßË*ÈË/Ð'©úw½´VìMeàÿºù1ŸÎçOÓT€n¿ô ‹©wÐgû©K¯Þ¶³?;X›É«Úƒ‰õòºœ¤,¹·NaÔe.üîðܢߗÎS øùÚ<}Vê`uð"Ñ×´â%ú¾¥ƒæáú¢=‘NœøÄÌ»‰}VÔï¤ÿk«Ñë_¨}š6ú¾¥—¤y,[Òmp“æõ–„:D|½/à]9ž6vý¯á~÷¥´£÷Ú>êð{¨G*åw£.ÚêeõèyVRGTݾܾRø ×ßLœ"ü~'ý' ØñJÐëò*t:Ÿc½Á¾ bº¸è¨ÞF\ÓÂqZÉ¿÷sü]Ü_õ Å¿ˆ?ÆEéÅ‹?gÀç¸o'YÏ໑´øö8yö)tºá»Û0ëO:'óú¥«èO-#ÿGïÄr]»B=ßÚX/»¨#Pç·ìúêùâËÓ'j-ÔÇ·¦åÔVÿ‘mH ïnûá7€“ǹqõăà]škWF¼Çüº¨_X VsVzÐÛÒ<Ó2Ö5:ÜÞúy-ÎÙÏ™¸ß·S÷€Wå¥Aï˘[cÛ‰73œïfúfºáëyJ÷ùŽ5ƒ¿k]k>hy€úì—ÐÏ)½XÍ ßH}øÅè»*îéÃ? ?câãÕ©ŽÞò‚ø= Ô±ËB}6®âÌh¿úÐ3jF_b…pλ^ÅÈWv€—70Ç£þU'ù¹æÑ/íõð53àò“šo¹ »,]rÍKcž”tW}˳iâ›ãÁ¯“îÏÃëñÓðkí(ø1u¶ÕIøtK™õƒt¡/~ë¼ÎºÚËýÙö­ÜIx'zTÖî*=ú+½%äÒú®k—ëS£>N}ÈÚÁ¥¤ëC>ïÐ5‡_;éÂW~ûðôôtºY—M£û~rù4:¤ô÷ÁÓéà<œzѼôÔ#Á £žýGv\®ŸzÂPx®¼_8«æÈ Ño|"ðæb?Ý üÜàáGÁuGÈS—Ï ŸQ? ó#ÿL<ø:ÒK7Í&/Õ\.뇬$nÑ+õ5ªï­~?ñ.¨çDý‰è"/D_zl^ø/Æ\ͯózì¥ôÑ5ïp!|‹•àÒÔaï8ø}ÔÙ€ïáŸÛà‰+¯Yôt"ow€zˆú|«ŸÜ®:ÜoÍõ2Í_k /¡^=õ-é#yaðþ‰õßC?\/ó}4/Jýbê[P¿[7ùÐaÖOzðe\ú1e¡'ÚKærY'úHÒgûu^µLq(: MaŽ•À[T?p©ò>pÌê0Ψëúbüu+ÏCó³5/à ú6‹à{Õ‚Ÿ¡‡ê›áµµ2¿S󈱯g<‘§k$¿ÕŠ{7u(õ9£SiêÍÒ]ìß b÷4ïA:iíÄ7š£¶žˆòEé¯)OS¼ þ‹&òZéû6<ÅŠÙ‡è0ªŸßÑE˜tá×®{€úÝ û¬'øÅœnõôޝx¾4@¼#ôiG}ø£¡žc­ä­åßM@NgÜäýćȟ‡Cþ¢y¾šë§.ÏëñÜpþäm;‰_±ŽFèû‚¨ú°k.f%øC†:ˆâ˜vòÞBê¿ÂÚ‰k4—¹‡û¬ùpè3Æy¤ì÷}ÔO°¿.=éq÷’¿©Az³å!ÉéÙÇ\þÀüÜbžŸ®SºáÂÿ5GIó~´Ÿ—Q—U¿ì6^S'sÍ“ŽÐbòOõ©IçI«&¿•½Ÿu6òü±Ã«OÂ)h{sÞªà£h>ˆæ Á£³Jp´¹ôQuÂ÷=ÎRŽÞ“ôˤŸ%´BtDéϰâ 7lõÔo”_çõMÛú¦[‰TïOY¸“úE[Ð)“Ž‚ê›˜ÐHÝ>¢¯C/QzrâOH—\ýûðãÄK\I]§†ý%Þè)øªï֠ù;Ø¿x]ÚŸÒg øÖö‡ J¿ž ukÛ ž®¹»òÏ7S_ÏñÍ‚Ïñ¤ÀW™·b»ˆw¥ãßüDŽgÞøD\8¬‹øyñ–˜[ëQÃ蜀¯¶Œ|óùýNüâqâ©Ö‘ú†K‰ ˜ÛkÂiÅ?h‚÷ÓÎ~ßF<>ƒµ\À™‹aÝè1U® ¹âé*öy?8ŸêJ+À;5—¶¼®õ-=é’—Á§!°6ÍáÄ¿h®ëJÖ;¼?×¼ ÍB?*ê0jÞœúõÐÑ}ÅÅà…+©Û ž^n!¾V+80}EÒ#‰¼pô¨œ:°k¾Ò¦4l¹ÀÄ+“N®æ¥H¿QøãVô?¤kž¯G{€x«+ðå¨÷þ™«£Ð‹žIü»ðæòé#©ÿ ˜õRæ@Zx‚ôa ™S^B]ÙJ¸ŽmÔ+ÐR¬›¾gñ7¤iÜ.ýFñ‚ÐK_)ÖgÀƒÑ!ˆ×£ú¾ò“êêõàè†ÆÏ«Ï¹uÐG_a/ë=òÈÃh…ÿ(#ñÁ5ŸD}«À©Å—ªE§©|žªíçV_¶tÉÔÿ½8à“. ‘ÿ^Ö“pÊê Ûàl…ŸÖˆn¡þÛËœ…ì²ôqóúôÐ;u鳊·Ôƒ=<ˆ>Ø‘Àr鼨o·œÔêÞBÿºÑFÿºÕ¡CÍÜW¬P:§Ì Ù‹VŸ…òzõÙw‚Ÿ«ŽH¾$= õA:ºj±¢µ(Ä/q}5SÖüMaަ•áŸÑ»°Ãì£ ðàÔ¿Ððµ\™ôð9Oø´QG®>m+úÑ…ÌmRÿ}ü&âOËÏeð[ªûo¤¦Œ9#»á½eXßèoÙüL¸vsBÕ/*}üàöýà|ûÁÉ÷ƒ ‘¯[GÀ ãõòÚ2œÏúØšÓtsÎÁÝÑñÚì`Ô%<Å}Þâæh/E—Þ¡Ág<Š.ÊHžý9 ÏgøÑ‰¼º_zéåÁÏÅ㣬\x2븃ºC q´êl§à«xý‚­£×…kîI9üÞCð>7ƒ3¡ãêìêA캤Qgr-ýªÌsŠx4<ûØ] O ý4ÕC·‡mMsêNë‚_T¿§KW²{QIžY„ýÒ<Ÿãàžô³ØNöQ³ú‰à}E¬ Öçzô]ŠÀ¥•WÕ1ǼÀÕyœ¼Gsb5¯¬e´žíƒGz„¸>/]óúÐïó¯O³_öÁ7ê¦^»1ð“4÷Õ¤÷©yÀ5îÒÓoqWÔËT¼VLýº\®ݦrðÏ>øO«èØòvÍð¹Ôÿóôñ·’ïÐáÂó¤s/ÞíIxE…ô> ν‡~œApå—âß·‚Зrü¼ð é [7y“ôêЪGG¨ƒü€>ü˜Gî÷j¤n†°]àÕäMÌk…—®¹‰“Îg~A?ûrý¬¼ýÅsìR'øy#×ÓoGXG9žuµ½ðÒØ7Û~‘~Ðjè£(ul†_¶3MW>m]äßâÍÑ,}·\ÜE\ÐO\!ü˜9Ï>'ü;~~§xéÒâ¼|IÐaò•Ì­ßCÝ|\p Ïg5ü¸âuá½Ägà9½Až‹æá2?ÌóñÈ>ž7};VD?uS¨OÆÏÕ`gÑ»ñïJ7?¨xFuèòKédgÀ …Ã5ÀëYÇ÷é‹óûˆ;5/±œ8„û#¾tÔ],~ëÞð0¼¢x:š/0ÿMzµêgV>§>õCèÁÇy˜:‘ê²êÿëa?H':¯•¹qªçäò|pänú«›ù^!ø›~k ñzœ¯!|÷yPÈ+sz'äÁÒ+ê ÿ@g·½špÔ~êÿ;° âUŽPéÅÎg˜ó\Àþ­Æžî‡Owˆ|é$8êløÎÊ·KáÙ#!Ž•ž÷)òÿ]¯ç¸q#<ƒ ò«Zæ¢cõ¿í€Ñ‰Ž‹p¨-ø×SìßæÕí¯h'Êï¯m âù«?Xúëñ›ð‚©û½ø½üëFøwØ¿ÈKª¥®\CŸ¶òcòFéAǾÁ;Tÿ}åš«íè$y1óºá™€' GÔ¼Õq„st`oÚÑ“¡ÏÅ*XÏóÂ<1§~èÒ‹Ùø^|ìo×Äü–¹‹¾ý¦!ø[«ÁÍÅ·, :29>-ý’ûGÏë´uA?FõMûsꎔ‹ï°“ôaåê™ô¥©ßWkG£ŸúO3û1Ã:ë7‚c èŽ#ßhbž æµ6`ߥ·±ût˜<ä$}“ô¡û#Ø3õ¡cÈ<ÕÑNÒŸ¶ ÞÜ øw#àk™Ñú9±®¦|¶¾†êc舠§ÏÅgÜŸ}¬—–Pï‹¿O»µ¡ß¿¾–êÞÅá9Çd&ñ¹xÍê×?£þê…5ôIî‡gØB.½6æ¾EÜù(ó¤¨gtÓ§(}PÍuí ù—«ŸSsP¤ç£ú=s·¬;ÑJ|}OÞܧ qj9óB…»¢w6~1HÝl?ø[öMú†»¨‡Ã'ØMŸ[<øp«.øêï"¾ÛÏsoç¿§ ‰<×ÃÔQO៥C¾Mº2ôsÓÇ8‚. ~?Ö£»‰ÃŽ3ì ø„tkà•bGÕ÷ÒH~Ñ ÿ¸»±xCscNb_Ë>œ0¬zL¼Ö-Ô3¤ƒF?Ž v8Îcþn..à}æz¸æ‘W’o/ zsñóê o¢I¼þxß4Wþ¼«ÿ]zçeàܕଛÈÃZÈÇÅ*ñZ®ÞpÇÜz£¯ÜZóD՟隣WÏzdÿúÆ'ˆïáïe˜û Ã!úºÑeðµè¢›-]«½¬Ë£ôÕ”ÐOÁü!_Á|%pWÿ³øOÍôÝö1¿£Hó”Ññ)fŽŽê„Uè!‰Vµ>󬘹ÈêŸT?¼ôW´TfþlÔaUý¯1à^†~B-}dM!>9`é9üé}uÓ2pÒ¨÷Î<(«ïíg=d½ ?h¾ÒòÙnêÂíÔœ ÷Ù™cmëÉÏ+¸Înð´Npä5àäýðWÈÏڨ˃£øö€ßO:½‘Aìþú/{àUÉ_í¦Ïä(qÀ.âqæ]X?øbuÕòŽðlúÙgµ!óÌÚè¿9Ξ£ÄŸ#Ì£v¡üyœf„ºzYv ]®nê­G©û!ncŽžÕ…ûèÒ½há>·ó¹ð_éßÌå¯ÜñâûÂ÷ãûÌ£Šs©cïðwñásÄï/“~C }8màEÔãç¥çÙK_!qDÔ'+…¤9Ëè•çøñÌw`Þ©sÝ^„Žtª¥×VJ]Z8æ¼éA×}+k—/Þ†xâ—Qÿ硹3Ìß0ôœ¼#àoÞ€žÔ }qêÇQ^F"þÞ^ú›‡Îÿ¾¼Mü3ôº¼)àu9œ Þà® ç¡y½1¾ÓœCéRÕP@ÝÛCHÄÕWU„n:¼×t#½ÿ¿„¾ˆrê,Ü_ï¤Ï¶šyêWbΠæ(õïÄeØ™Içã(‡‡‡ç_kNz5yyýæ½a_ÚAæ†/¿Œþ€ÔŸzÏáõJM}a¾ÿÏyë¹XõªêöëÑ£Ýï§ܪ:©xášü,<{õ à_vaÅÇÛAÿ÷x†;¸^øÌ¶¼°#Ä;9<>Å>â[ú¬\óZÁÿ‡É ‡é78â@—n/¼G{ <ÿ(ñå)âjéïŸÂîdýg½Ÿ·!} ôk½\»¿ß>oËè¼Ls/mcÞÜcÍËì#.ëËç]6/ †­×rtO Ñ/ZN‰®ˆïÇzÆ÷ÕÇ‹^ó"¾îéóÑ…gÞ /D_…8ͨ‡Ö.g~V#}|Â#×·Ñÿ$^Ø êsè™ôâ{ÐM¬€Ç+}ÙbúiT§?ë§oj_ˆKrø õÍpzæ[«úhéÑœÔ*t)2GÉÕcà™ÕÑ6@~Þ•WßAÔéC×>ú5ã熘ÔD>ÓCú9øûÝàBòǰ=è {{+ý¡æÀ¯pñË À¿ž&¯¡.+ÿ©>ý:敜€ÿw†øGõ…góüñiòÁÓÔ¡:ˆûÁ«ãs8¡9¯ð”öoî£ÎÒŠ=.€6Ì}ÿh?}á{á—6GæÇùûÕßúð¤ãõ†¨ ® :¯ž¡o$#;L¼ÙŠŸD÷Ìú‰ëZ¹eèè*žm#Ÿ_²¾æm5¡ëPp ¯$ŽþWNTpÆ\œ %žP}Öð>,N®z¿ø»EàuÌ›Q®¹ó+CÝÉ[éWh§.q, á×Ä‹èQGœ÷(xr+qâæ8Ç9VÕØÓ~â¡^ôA#‡»á·™oèÅêûƒÏA½&êï27ڼd«oÒ¼¦“ÿùnÔ÷:ÐëC§0Îó"ïj…ÇÖþ"¾Œîû–À;qésØ!}?ì ß _­Þ\¸¹ú4çPyå ôYŽã?O°OáóÆù&Ø¡úËÛ±s !¾ö8çóiÄK§¦z,úQÏ£ƒúY:wðŠL¼ÅAæõbÝÖùƒãg4ÿ\ðYúnÕßÓÿý ¸S¼¦}y8ËÁ k` àè4Y vøYÎçq׳ðš4oPø‚ôÄNža_Ò¿mgÐ7ÙËþ;¾ãiìÔžoö y¼ðž5ÄëUà—°üyŸë¹þ°nâqŸ©ï¬\  ÞLÞ€ôôÅç©W®ãz÷–Á/Üú¢>ÁqæzhžL_àÛ{?:Ô à-àŠ;àûƒô?£_*ÁÉÒK„ŸÐððx}š#¢þÀ޹æeôÒ÷~6‡ïmb>ýRúß…³;ºXûð{äqÝè7•çù¥EèUV箄7¶‘8@}èùŠPoúâà°þ+úô¤C^ >Åœ0ל/ê–~Lzzè1—ÐÚà[mƒç*=ížO98ûIöE3ù°æ¯®J¿Ÿy7¹üý3ô·ÇÏŸÏ„9êó³}è‰I÷¦Ü¢.ÔÛ¼ ìÃ/<£Iùe-¸øAêà.9\{õSêÈû¨ë’]#Þ’ŒêíÝðpÿ‚ßï†7Ö@Þ{€¼§‡~ ½Ô³ÿ¾UýuÏÀók ûÈN’gŸ@_ä4}õê{CçÓV†ëÊå³Ä ΀sö’猄x2‡g·|^ü{?Ésï ö0OuñWž/n%ð-¡´|‰9Ø>;¯î{Œz¾øeÚï…ø·!ò¹õø_ñava_ÔgØD^'|¢_ºõØ Õ)Jèã픾7uHô¨lóu[BýÒ›ÁkÑvé²i yJîþ³—vSoÉÀïh¤?@/»×@}¸\s3N³ß›ÁûÊÑ€§©~~ñœ¥û+½ÄÓ màp ƒç ±5/Yýû¨£– “Ù  ÿ^õÍ3°Fp8énõaÇÀÇ¥sÝÊ:êû<‡û`/û‰k#¯ô°ëàíw“ga?jþGñØ ‹lÝð ö„øÿœ:ËRøt»¨¯-§Ÿg<àu±ê—kÐ+žÝÖ€¬æøºàš‡|†<»¼k;wŠøvÇè~ÏñîÀ!ô}xQ~Óè>Xéìڡǿׅ¸<Çëà9ƒ;j\ÔŸ <«Qö~Êfâäú°Žâï÷çVƒÓTàw‹©;ˆ¬9Õè$Ãwpx7ŽN˜×ÀG׌·7œ$N?gø‡p8é–tß9Ä<ê~ÇŸ….…æ ¢«ãº^ôYè‡R?»t%_ÖN¼To§‘u-ÝBé}.‚¿T†¾«tø4ç ]öÞ¾1›9_ê«åz]ý‡eÔÁZÑÝÐ\bô½…ýTòœ.ï½8ÿ±¾PtÖ¬Z: àÏ2oövg¸°Bs¸X×{à“I×Oóq¤#']6ÕWk©kí?žO=õ…Cð›Ô7ÅzpæØÅ¸²‡8ù`žNv~¾ØÞóyp}ÔÁ±vcÏ÷kRˆ¿Ó‚ýd®í¤æ/äÏÃô…ž·"\@¸8öÿ¸‡øù³‚>Œ…9®ÞœÇ§ƒ‡¦º¹£ë¯Cs3þ‚N¤t¶€ÃôÒßÖÃ~”nnIˆl>œaìÀ0¯O€_TÒç"]˽ðxUG*¯GÖ7†>F“x†¾æ½ðò÷€_ÕäéNÖñ÷.øæ[˜O¦>‡~ìâüÉ~ðÛAô^Zñ—Ý!ÌñÉ‹Ä釽\\ý?gØçÃð؇èŸÇ¾ˆgYÃàT#øëû‰›¥Óó}(G¥£>ÀŸÉ·ÔÐËþ>‰NÐ pSôú­…¾ø•á¹[ü´Nâ²nx˜=ðK¤çV~}ˆ:[!vjür/ó·P§\Kž!üq{òmâ(ú:#4Äþ* q«/¦‰Í9q¯tuÅ7D/ƈC¬‘õJÿ{Ä—á5z9ö osd¼-ðwœ¾©¨·ªüò$ú“èÄý¥¹Yµðú–Ó?ñ ú™ B¼èÌ_¡¯Î Á5)³xÇ Þ¿'ðÛsñ5þ[}¦Êwà­ž¤¾[ðk‡ŸéÒg\ð|­ƒÜúfì÷”^¸TÔõ*g^|=“þýÁêÿuƒúXš©£ÀuÖ7SGCÌ5‡úvæeÓåðä}#ø^ý$ôyœ9œ^¿Ks¢žª¢¾F?¥tºâõ¯$~SE~ù xñu×£ììŽîCޝò§øº‚º¹ì´úЫÀú¹oûèãj O<^ÙA}¼+ünä«â¿£ïp>âáHaŸæž/¼Œ3ÌýíÁ®k®z?úÅ]Ø›½Ô³ÏP<Ìõƒ³ 7è¡_ñ~ö8uáÓôeˆ·´Ž}CÝÏŽ7ÐG#>Òø_qôIüá0þŽº°µÂ㿾ýÚêš¹üý3éÔˆ73ÿ¬úH?q…ÖýÀ³C,þÞ0xÿ\ú'kÉ4÷eœÿå{¨_ô¡ÇÂ|9ë@ßm-û|?~…9ö$yY }[-ôT3'–:ºÿ9ìKg®›÷†ûîÕè63ß×JyšC(Ôís}1ðb×g·ãß…”RÓ<_Å¥ôqºâ˜ZæØî£O||h?8 ü¸¸.j‰w¶¢ï±…ãàjêÛpv“ž÷ï°ëÍAOÌzé7ÛÍzÐÍk£^!]Ñ­ðÑ´FâPõg=ŸñRp©&ñ"Ð'ÛÎÔˆZ)uvüaœ? y‰ŠÃw`W¤ë®yƒêï®d+÷=ìIç„þî s¤s<@]y øÄ†´¬1Þ‚ñ.ú•Fd7À‡ˆG*ˆ÷é×ÍÙEü)}\V¬¾ið{õ£W±ÿûáÃîã~ªßøxV#}ý;©/ƒëj®«¿íOh%#³m?¸aý=ô'¨!Úé¶òüöÁ3èGÜN4ÂzÞO|ÂÜj—NH7ñÊqúœŽcçGÈÓ™[oô;E½ñzO££ ¾ýùºô’NP?>C]±$é°çì6øÉnúòûð¯¥Ô‡Õ¯)ÝIú•¬ýŒ½àô%Á^KÏ=ǃÏòþ}¹Øo<ìn扗©^Gü!Sõ‘h^ú|—3ØÕ£ð):Á ©gYkèÛ›t~ `Åß{ܯ˜ü“>âÈ>a»ßú¬í ü˜Ýä}#àa'Ä?#ßm'­`þù qi{ð[ñ<Á_n?YK]÷|tpl>þ0zQ]à~ãÇÄÿ:ž¡ÕºØåØí“Ô/©C¯•Svv7xæN¢.ÜÆ¼¯:Åñàk=¿û×n^Çü8§O`¸D?ó^¤wÞÄyTIW\ýrÔ ô|ö¢#´ƒW£ã#Tóïçû{¨ŸhNÈ~xL'ÙŸì+pÿø|Ñ=tôã|™}Ôå‡CÞqN~¯¾_é2USw”ŽšpMé4|-~_uC]çRÖç¸ýgÑü ›xµKòô£ëàÓTÑ—Øp}¯"Nmb}=¿ØÃç4‡„þAï ¿¨ ùBüýgñÏ3G`¿t†ü¾9ôáy)vï÷¡’¸º“ºO5yŒæÅï$^jCü ë–>wk库vƒ‡÷‘¿·°¾¹žnÖë<ç!òÎcøõnxÁ>Nº€óì'Oìf~ÅøÒ>p¡PçštÞ…ïsb¬)|.ê&ï þaÒùy}‰GVÿLxi<îãÔGx>Í迟ÝM>4Â<ùêyyó0ÈûýùÅ>üÅAöíAò½"xäÿ¶;¥>©aô‡¨;u²Ï4×}õîøÒUØ îZÆ\‰SÔ“ªÂy¸xo½<ߎ¼új=}´ÇBÝ,× < <¡ÜDüzé¥W‰‡ÏÜöP†ÿš×“oÐ7`à¼eÔyÊÉ›N«ßy/v]xQ;q¥úžÔßHßb.~B·˜y)VLüVòÅ?š}¡yEè÷¢‹÷$ëjzØIâp%õ kýIç&ƒNäÇåü÷±„ù”5ðUg ¿€Ÿ)}¸zæúÕ ›õÎÉjÈcÐwòG¨›®!nW}èOàuáï>@¾ZŒ¦ô+Á‹›±‡ô×`_z˜7ÕŒþÉóØé>t(Úá‹ üÈÑ…4ârËð»#áõ¤ó{C?ƒx§éh õfÏ^W®N®3¾.Eߤ-ØÇø÷6æÉ‡8€~Cös~æY¼‘&Ö¿ô¹÷`¿_Á':J¼ÙMœ×ð˜Içc7ú©·îb_&_ÚúÐuž“ÎqJŽ7G¼ü øÙžà'7}IöÍsÔMÊÏÑ¥O+^é1ìû)òzø§é“ì$Þ<Å:8E¼<¿ý8ôÓý88Ñ^ø‚™u ì[§)ÎÙŽ@UЯ¶!öéñVWx^®uØnsŠ<`ûJxÌ2xÒ'¹Ÿ5èË^îá¸]ÄC½è§•ó<™ÿÝH½ƒþ¾XoßÍyUæñq¥ßÈœL‡/ì-Ø)éhHïEû };u9u™=Ô»¥‡-=ÁfúP¤©ü«;§ç¼Šº9~Þë¨ 0?ÅNâ×2ìCñâzÐoXI¾¥¼ÿ8xc }6sÑ«BïÛV1gQuªøñCðÊö²®ÐŸõ|þ]s¸>_ NÒ„_ÔœÎñ'Ò«&ïo¤?Vucôü½ž:K^_šk¾“xmêgP½¾œp|z~Ç5Ç«iô^ëc=ŠO;Œ~ô4¯ºþÉoNºà‹áýSðµFàÕÂ[Œó¸÷ƒ;UÓ×ÛIße¥ô èê¢þ)=…ýäuÒ¯h¡0̺jƒ¼WóÄàé7î¡}ˆõ;D}f˜¾®ÝćýáþåøÄÑ;À·³n÷ƒ;êc“Î{˜¯4DßSú èZ:ƒ/à·˜?cἫ¸?êhÃÿGgýxxëð4º4;à‹ ‡¡ï¢ ^I[ȯ".{Œ~)tíì vý`ˆc}M˜ as©o$o®uÐ\ÞM߉î¸_Ž_‚N_qs;øa‘ú¼ð+õô­+ŸìÅþÂ/µ]Ü'ô캉âÄyæ¡îÓ¿€'ÝFý¦žù4ÌW^ãê7óá/ÖãKžãÃÐÏ'þVüL=NømÄ¿ä÷çœÍ[ØWuôIÇ#Cß#º ^Ëþ÷Y^ïúùû½ÔAöRo?ìZ´ šK >TtçÎÉ'°î{á{–°_4ou=}­ÝØÅJâðvìíNt^ÖÂã¯DsÒw€#ïßÚÂ:Õ:WŸ„柩à&p¿rêÇx1»èCOœ9➉8î/àß{Áñ•'gŸ‰WX¾Ûúgì@°›“.„çu é$zÈð´]º ƒàOÌ9ÈÕ7CþæšFý<âôá×$Ojc}bŽT+qF/û´»Y/»õ=D_àýnÃðÂw±Ñ ™tödè#Í=ò¦½è­G9nwš<½ <²<¹'䟓Îõ˜ø{σû® ¼3rtDí(ýn§ƒnaÎ^ì§:A=÷YöK üøvñÙØ§»©¿ïâþìÇ~ì'~~¿^|;ì›æ Q¢žÓE¼üxo/ó!OPÏb™uP·®?LU¾BõžpÉ6êÙMyvåó2ø7øOæðÜv“Ò/eØûuöÂÀ#wæ4ºúE¿¥¼*úˆãqã…ÑÇùŠ¿Oÿ±øÅ1aN‚wRO>prô#½!Ôß¼|c„¾BÍoe>«õRÇ¥?ÓŽ ‡~>RsÀ×¢î7ëÊ™KkûÁ1ÚˆÇæé l ýƒš£ãMà™[‰S6¡[Nàšû^žC·CÏd\²œõrPóàÝ \/ââ}æž;ö2æôUXyðk®~¡*êˆÏÃï¡E¼äßy+üöâ twíYôþ¾\ë€%ý³úÆvÑ_°óU¢Þ·úAö“wiÎÝüÄaüoGž_j“>58Þ<ò‡ö€OÅÏž†6ÀñÎ\'ÛG]§ ?Þ Þ\ïCs{ák[Yà¯ZxqøÓjxÜÌ5öò&ÍsjFgC¼ÿÇÑé…Ÿ‹ÏЙ–ND/ÇU½¶ ÝÍ5€Oêðzcý–ú¡+î©|0o ®§¼âÄ7Ò4ËŃØ_Œ9|Ò1±Ó¡=Æg›©·®GG>…k^)qˆuË?1@}¾ÂCqâ÷«ß›9Á¾VsnàMˆ—"æ=y1߯D'a6ù½ô°CýkÍAqpQ×\eé6ˆ/ÝL|ŒÓ‰_žÇÎ÷À›„lÐ}éÄ—bÈíYê·/Ð|Šû}†þpÍ?Šý€:¼æ%´‚Ç•‡ýïâ'·/6RÙÏþÞ¿V¼¤!>×E_8Uäsˆ‡¥8åûˆ:Óá Së§ ñ÷¤óá÷Hç^s£º‡~º#à6/Po8N\Ó_@ó<öQ÷|>ðÚsõúPJˆÅg’þã±ÑóÄrx18ðμúìáàÂuà{”ò¥c»Ý?ñœ?æ+À©¤Çt€9 àȹ8‰çG=ÔÃîöÀ>}š‡=Ý…^J Ç=Nmúàá¶—:NKÀ§sø*ý"Ãôª/ox\=õ“¥þùÒ« º˜1+Ë;Oæêúú°£Žm ÷Yüínæþ°ß—I?îyê-½àËúþQúx7€ÏjŽx·õýÈI'œÀNž¤OJu'Õ°ß*±›­ì§jp ôš¬•|° ¿q¼à0v-œî›â}è‡ê#ïÈ _ß·ݦ!úÕ†8Îæ7í îu¾IçSO„7ÜÃ>:¬>ú †î>鼯€³§þÙFÿÍãäÁƒàš/€×ˆ¯÷pÿ2®WõŸFð•ãô½ÀC`ÿÛiø0»BÝ.gÁZ°[íô»oç¾õQÿÛKܲ»|(ä³¾~s+ì} àÆG°CG˜_ÞM_˜ž[/ç}Rü}ž;s¤/h‡Èkkˆ_47R:†;àçHO~½ ÑO‚Eœ—šA7®;,¾œê©áûïâ5?0¯Ó6P'“®ŸîÃqü³øg;ˆ[5OXû»»€Ž x ^I?'öÐ7£Ã×ögÑ›ˆoa7VÓ'ºœ²5Ä]¹º$÷aÞZ zVàO9 t{Ôg¸Ÿ¾;ôrù!sßÚÉ“ðÇqn|¼·ð wüÙJ”9™Þx ®¹öÒ‰j¡î×®Zø²ñøK˜‡ZêŽþ[|ÿ 8#}fÞÎs¨…ÏÛ̺yºU} ¥ð”9Í.å~4`ÔÏø¼åÌ-:ï¼—\=‘óÏ;ï5/Ëþû›¦Þ’ý×+³ÿKþüxöãó>ò7ÙÜ:ù–)·gÿûõ|î5|6yÿ­×Ý5múíS.¾eÊÌ›§ßy×ä[¦Þ:åâKÆ_{õ5ï᯾ö®üùÒ³þü¶™3&ßzû˜k¦Þ:ù¶©·N½ñâÉ7N½éâKÆõ‘K®½yÆ”ézoÌØ÷3mò3§'?•~î}‡áóúü賸èš;n¼ñ9ÎE×Ü<õÛSoyÑï½ášÉÓ¦Þx×´ýâ[¿8õ†ÿûâßüù»fLÿæ´;fN¾åEᵟ¿cæŒ)·ßxÎßøù›§ß~ÛÍÓgį}ó>û¹·Nysî¦^yñU3¾™½¼ì¾ÿáÏÿ0þõ¬ÏÑÏ:ÙÏÝ8sòMSnœ|ëôxÔ±g½ÿö[îš>æ“·N¿}êÌéÓÆÜ–žàä™ÙŸžxÖ‡^ö‡.¾dÂÙß¿zÊ´©7L=÷Ž]~öº¸zò´™ÿ÷G^{õäi/z[^ý™1_ʾׇ>ÿ™1Ù5˜=£ü5ø®ìaÉį\yñ¨¿ýéì;×L™1ú£úÃÙŸ{ÍgÆ|~ÆôsOãÙ¿ß<åÖ»¦Mž6ùÖsÞ}ýgÆ\½â©ÓÏ}+ûƒŸ™rÇ/ö•OÞ>}ÚÿòÖ'¦ß’½çž^ö¢?äY«gÔ߯>é^¾—޾³¹ëö™SÎ9HökWÝ~Ûä3_ôk¯çÝÉß<çxÙ_Œ+ô’ËÎzãÙ7Fݷ䤯z±;ùªO»ëÆsÎèÕÉ_§ÌHÖäÙ¾(üùEOó³W~ã3reô’<ûìÞ|4{»ÇL8k_ŒþøÙ;ám|üÿøÅ7~|r0vñÔÎþ׆w§Þš\ÏgßÚÝqËä/nN?6ãŽgþÿŸäßéóÿ×YþÇŒ»fÞ<ã1º¯ ïKpö—~tÊÍwÝ4cúäÛoœ>ã}7ëj¦ÌÈ>ÖKÞûžìú8ûÄV鈙š5ú·ü/à-7Ný¿}Ê›“\ucö„ÿ—¥yÔ™“sëjÔ[žrëÝÿ‹e¼jÆä²ãÿôƹ*û×é7Ü1ó®¼'tåÅ/úÞÙG÷¸1Ÿž23ø’/¾ ϾΗ^ÿÙ«¾6î«g¿ºtÔ«ñ£^]¡W~oÜè——Ž~9~ôËËF¿œ0úåÄÑ//ýrôqÇþðøÑ?ú×}`ô˱£_޾„ËF_Âe£/á²Ñ—pÙèK¸lôY]6ú¬.}VFŸÕ„Ñg5aôO]1úÝ+FŸó£ÏùŠÑç|Åès¾bô9_‘w Ñç|E<ç¿I^ŽýÀò^Í{=.ïõ¥y¯Çç½¾,ïõ„¼×ó^_ž÷:ïüÆæßØ¼ßŸÿ:ïxòŽ7!ïxòŽ71ïxóîÇļû1qôýwÙèß7áy¯Çæ½—÷:ï÷&ŒÏ{}YÞë y¯'æ½¾<ïuÞùå]︼ë—w½ãò¯wbÞùMÌ;¿‰yç71ïü&æßļó»<ïü.Ï;¿ËGÿÒÜz{ÓõWŒåÅ×Θróä4O ¤Þ~óõWŒÍ¾}Ž3Õûo»þò c³ï'Þú¶l“Zøàõ‘w†|tê7ƒ¿¾ý®iߌ‘ƨ{ãõ¯¸üÊ‹£Wý;o¿~â¥ãÓ˜æEâ&}è-×O—=X6Žžr÷Ôð#cÇžý·^?ñÙc$yIÎÿ]6ú’'ŒÿÀ•Ÿ“wäÎrBzK^<|CöÝqÙoŠoõÕk¯¿lBö«c?‘ÿoÊÆ¥cƽïÒ17e#Ú)ï»xì˜KfN™1sLâà¦%Ž~æÍwM»}ê´»¦½gÌÄ1·ÍÈÞÞicÞwñ¥c.ùܘðæô;³Ÿ:ë6_6îŠ+/æ‡/3ùÆ)3GûÐä“If:žo\xÝnæ?ÿ*ûŸÿ:öìãÎ~qéÙ/ÆŸýâ²³_Lˆ?<6÷ÃcÏþá±gÿðسxìÙ?<öì›ûáôÅÄx”ñ¹£Œ?û(ãÏ>Êø³2þ죌Ïå%×§{iòßñ׫q£^]:êÕøQ¯.õj¨WãÑÆÏmÜø³6nüÙG7þì£öÑÆ?ûhÉ« ñ÷Ç_žûýìŸõûÉ«q£^]:êÕøQ¯.õj¨W¹«¹bBîhÙÿ>ëhÉ«q£^]:êÕøQ¯.õj¨WÉÑžOþ÷ÿ>[ýo pcaMethods/data/metaboliteDataComplete.RData0000644000175200017520000006350214516003735022133 0ustar00biocbuildbiocbuild‹Œx]W•ý‡a&ô: †0$NB`f¶ 5¡…aÊ€“bHbpHB !ô@z#ÅvÜ«lÙ–ûVïå==uÙ²zu‘lÉ’í”ÿ»÷üÖÅïÏ÷Í€¬§÷î»÷œ}ö^{­µ?ÿ‘/]ø¢/½èŒ3ΘuƬ³ÎÌþ_ö¾`VöÿyƯ8;û߯½aÞ¢¹W/¸~þ¢y™»hî‡ÜðÝëç-š—ýƒ—qÆ[?n_ºoÑîoÿä¤o_˜snñŸVxÉ=×eÿW‰­œ÷ÌoÛvLض÷ÿò?9>fK>ýÁš‹W}ɽ¤{äÍ>ß?Õü¢ÿøî2¿'ÿÂ׊þðŸ|宽䶗ßãׯû‡ Þ1t«ýüïvŸùÔïµ¶k §.ݲÔþ×GÞ·÷¥‡üá§?ûñ׎þ½=õ‡cW~ûµÿè}ø=Ëo»åzÿ]ÛçÞPû÷_·'öþá·ßë°¼]ï=øÅÆ”g¯òDû?ûw¯¾²~lõÓ¾é%›êÚdú»-‹®ŠÞÉôûøSλËî|}ô/óèÕ9¿Yl _~söÊÞé¥ÿø™ï½eƒß:ïÝ™¢¹¯ö²Å_ÀZsS?úÅÖýž~ÇÐ- ÏŒûSÑÕ}æûþÔœO/[Uðßþ«»>sàƒ×~Ù=|Í[{öYÖôż>{ ýîãîGMõ5c—ŸûU_ÿÞ7>¹÷ûÖ½Ë×[í'Û?7rç?n·mñŸ}Û¿óκù_>ê[n_pÆuí¿·¾YwùÑW5{Ë~èˇ¯9×6œ÷ößrÖÇü·Ü÷Úè²×¯óÅUïú¿'Þt¶o‹_~“müï?ýÇß—ÊžÚö_K*óïðç¼*ºóþØy…üê»üÎ+þú ßïwÞþ·ïï›ìñ‡Ž¿ûÛþð­ÿÑúÓ«ólýÿ²¡ÿB»;¼¯ÝûÖè,´5ñãø®å}þ ßXsm‘7ü§U÷~à_íæð~¶öá²îŸÏÙn57|õäºÖÁäy,ÏÏW4Ö­©yâ¶ù¢Ç^¶÷À2ïäzîØ]À ¯÷ø m[ö[­}ò‹¶õ_>ú¢W¼ÏrZ>’zõêµewŽ.˜ÿ/{|óù/ûâ ¬,ûnwô¾ÃïÝóï—¼rößùöÅwŸßùÒ7YÙÝîz¸¬'ù~Eá¹Ùº7Å ÊR/¼kûβWÚŠÏÇhwgŸò¾Róú3Òy¯ûR·,~gô í7¬›ªì*¾ûÁÝžùíÙ³:Ψ·m~üÅëÇßj…OýÝUïx]¡íïÌîv_}l÷Ï}KXŸ–sóñgþé¹óõý6¼çߟ´½}ÓWþǼäŸûùêû^bùÑ]ûè"¬3~¡/ëÙùò¿öŬÛÎ˾ôŠ«¯ÌXuøÞ¶'Ú…ÿ»Åʲ»-»ålîì ò÷¯ñ½=Zñ¾"ºÌ]xþ¯ºñ¡»>k9ÿ}áܽ©ÍÛã__i™°.|Õ‘ÙMKæöYÛâo©ðùÖÅúܺ¡ÿ‚©Åw{á?_–?rè¤uÆÛò3¦õÿƒ‚=Ë_ùX§¯o¤m ûÇZsé§JWŽzûoK¼ìn4xe|Ážßþ»uß{I®?/ƒ9¶ãå'~ì¿.ó¥QØYÞc[³‹æm×½Ès¸Ãáù{öwWMÖ¶ZaóM¯Ï† Û“ BÙ%ë˲«±pêýV”ÿÆhgXÝü|ëýoù‰=’]­ êϵ§^Ûý“xٽġ_‡}j+âmò*{ä“ã£Ù²ÕÑ·þð³ööÁo£]ù¢¾úµ¿z÷¬—|Ò®½­ëcÎù¡ž“åF·û3l1ëôÊÇ Ù7…ûa[ˆý>ìÛÌ÷,zsü¶<¬SÅ3ÛÔÜ>þ«§whÿÚ]ñrƒyôØz'mk´-Þ{‡í9½ ÀÊ®ÿ݇¸ý…V‘Ý­ÙâWs¸N[Äshâþ¯nÿæíOÄ×[¹O! |Ë–Üü‡zðó{¬0»Šß–ê³ïG_û;ý÷¬Ó¦h™=\n¿ëÕJâíþŸ¾¸ï—ÿæÒ+lÍÿ]lÙjѪâ`¾ÿ†÷Ï ñÝ~Ö½­"þŸõSõòwf#üÿøòlT8o¢ÈõzÅ£G~zu´õ|õ#ѵM?Š7´­ ûÁÆý+^Uð…ì–ñ%Næ<o8»iõ¿¾/»%,½Ý'¼ä£üV›Ã:ˉ¢Ç÷¾ï…sËÖeoÚ¿m*¶ûÙ—Uáïý‰wm9ñiû9<æ—ÙæÊÿYùËÂwêü1ñ×tÝË6~楿¸òLÛÎQÏËÞ·í³µñƒ´Ç¯ùõ¼û7~Æ–‡øo™p_ìÁèéÏ{Ö–\~îWòßxi²ï6DÇÃ[k«Wl}qö¥¶iõ©ì;}Äv†ukë³Aèãƒ+Í£·ùb“å…ý›¬÷%Åf¯øW^Ë>¨‰VË¿m¶œ¼ŸÍ¾¡¤É–EÑ7YEÙ­Ñ'؆7Å•éœÊyu|c¯ønkNýäîçz»ž‹o꘿þCE•ÖyAt >k©ïEw·-b.c_U‡Ïó?ð9­ìÇÍ_ˆ7º/>úÃÍÏ–Ü`}%/È^Á|¿‹øZÅ~* ?9ðš­7 ç^gKB~àíÙÝxäñÍ^xÝÙ ¼þÝɾ_Ïù÷‹Þt{sû„åœÿÇKÖ>™˜ÿ }ì[¢Slþz+ù‘qî{†sö>α¥!¿ðÍœKœ·VÊ9Ÿ qÈö\¸ÿhÅœK›Sñ²æ:ÿü±Ä âÇö–‡‹/ØÝÙ ö»vØŠp>ú²ìÃɦdöHÈSlÍ»âdK¸Ï+ÙÏ+³«ñ?{Ü~ò [š½y_=¹Þ~ò2_½ì›uþëèøÎû™oåù+N>ÄþÚ”ýRٓѵ_Ö^'P¾3^Fç¸Þ7?JG[üžp>ÙO9ÿ¿­|‘}¶6ŠrÿüTòw»CÞh…Ñ1—›Ãœ¿ëâÄò{<ÄUË]°¾)ÞžùJžëuqB¬›§RñÁîDOûƇMë‡ûçiöÙ/ˆ“)îóãìkíƒ÷G dŸ?«Ÿ³ßfOËò-—%ûZëÿö‡»ãÖÖDÑñC_±ûC€ð«ˆCäͶ2û°³+ÙõA|X×ÿg»ðèw>›sÔî'ÿÑç­`ÿ+^­‰ŽÍ³]ñ~ׇãon!Íü¼o‰Ð:ŒûÒ•Ëí âëy>«/Pßq¸êÔk¶.²•Cñm{ããà¶,zlK³›£íõ­%F> }c?/ »;Ä×y¢uô`6yÊ.q[Î)ßF^XÎ'«x0NÌlë+ãÌÈ>Jžñ$ù y“†ëõØ_[¸oZ·[Ãz°Ì;^—½ÂW%çÎCäC§Ëo°Â÷ð!Ÿõû¹9ái½$ëè¦ÿÛÞ(ÈõUxnØ÷¦õκS> ü×þ›¼{ûz/qû—áûy]¼Ì.ó;Âú¶GC¾í5Ô-íåŸúZ¶”0åÑ%/Ž_Ú9¶…sóßy_Óyš¨ïX”…f—Œ—FYÞù^I=²6äþKÖÅýÄ}ÕŠ7Z_KC<¶Šìâxÿ‘‹í–pžÛ®wʼnHr®ßKž¼;Ä9W>ö+ÖÍ äK{ã´óß’<è6Öã“Äç^ÜÙQÿëZ_Íç±¾’û·”sw yñÞø¸Õ‹xœ/öK꽵ߋæU¶•zåÑ;Ý!/xuü€}9Ï« zìo\ìÚÿKãtK>¬:oo6]Xù%ß'>‡<ŸºŒ|ÁëÃùí“÷çDaýª©$޶ÆÇÑßE•/½Âtÿž ž=üŠèƬñU¡^öÄ•{²QêÅ”¿yC|úöë|÷mÇ£ o±'Býa¤>ü]ôÿ¿Vm÷sî-æœQ|¾›8_J]AýiŸûËãr¼n­/‰—ÑK½Š|xuTNnÛ`ëã¹Öµ>%nÆðBñcþEÖ)×ãÆáÿǦºiI¼\osýÝ×8Èw¼ˆ¼©<'Þ¨I>p7ߣ.ä ¶>Äód}ouˆ=ȹü0çŸÖx†éù.‹+_OF¦Ïw­ó!ﱜ{é†(ð_`üÄ×R§lÈžn¿x/åï¶GÕÌO¯ñ½<ÿõ7HΙ-Æ Ü'ãmó}ϋ˄·+³MQ˜ÿÜA[Á÷) ñÍ«9矠S|ÚqöwvdC½ý: öÔs븎uQÔ}[ÚZ£múÌïüçÄѦWyÞ‘x0ð#ϲô—þBù‹êÛd½pþû]¬;=ïu—D/ü”“§ùæ(<þѵ^øÞªC]ø×fîcñ'vf+¬«þö{¹Î‚Ä+ЋÃ9誷Äeã7]uÒÎ7Ç7:É؇öÓø¦ºà÷!žøæøüš§–ǺpW¾òCòË•¯‹Ø{üAêFpû0÷_qœ|Þ¶DÙÀw{}|œ¾Å—s/ŽÓ͹Þ@Þ¢|¯4ä+о=Ô®zðÔà ¾‰ç±êÒ-K/zì劾3‚sÒyöP|û^gyΉþ2ÁQ6Çáì¶&Ô»¶á—<'ºêK·&÷¿è‡ŸüçËò&qpwȯ”—x1y­òÓe1<òZ[Oÿé¹ñv8;‰‹¬wŸrå¡+É®·( qÕ'ß$/s¸˜ÎÁGÞBêLòc·åìÇ5ÔëeäÔ½Â-|wôî?xTy¼o~I¼íÎx;¼Óõ}gòÉ›–€Ÿn&.(¾rŽYWv‘õž´ ÷Ú=•×ý¯•…zÕ…cì˯Ûînøï 8²‘¯ù.ÎQã‚Û”ÔGû¯åü* ø„+Nªzµ|üÀñ®|Í{¸_ä‘ɾkŽ«Ýéû£ì蓾%›_³5ÑeßÖåiîÏ#Ĺ/“×€{Ú휃iÖËžV~‹-w¨¸/Ú0¿±òË£Bt•ßpÿ]ÀÃ|'Ï|ʵß+¢ÓêÃúêF¬?êÂßy^ɾëŒoÿ§}ç¦ò=å÷ËÁ58—üž7Ä€ŽëœïñÅäû”g€ÏÚCä{:¯þë¯ðÑå¿g¹+î+_.,ªÈV ¯uâÜ$/÷õà_·°ŽÖ„ï‘Ôóª³Ö”½"ÊÄ,/Þ·Øö†g²¹Ô̾Ù…±ÿþ“ƒ× g°Ÿ*ïür´ ¶5!nZ18Àƒ¬ö­ÿ>œ#~ý8_0?9G„? ‚¿ ÿõþãËÀ}oã{kÝ|‹û·+>PWºêáqYö!ß'G7…{ù’ê¼±mœï+ÈGï%¯ù1q1·".ü’ó–øîØ×ëˆÄ-ÿMè›Xþ‰8¡° !aõµà/Ê/WÄËçj­ ˆüEø`IÀ©<÷ö}Æs©ß‰[¾‹õBžï+ãÛý#ÛðÕ8àúÆìáqNÏû#8ýjò߇èÓ|–øRðb/ûøÆh;ßôó¤t'ë~Ùh\Ài¹×Ç_â˜mˆ¢Å¢/ø²°lé«âfû¸?ª¿”×Äwë;;]ç#}$+ŒàÝ×ßçÛ£åpÞq¿ŸxÇ>KÖøˆ7„óǶGQæš_ë÷êXåcÑBÜd÷ƒ‹WÅ/û¦íŒÿÿ°B~_–­¢²+ÑÁq½ì@\¸[úßãÅ*ãÆ“ÎO«8A¯aßP×'ý Î5¾Ýú"¦~™êYê"õ/¬=^^4ååœÿªS“ºäð2âÊ}ä¬ÿ ¸¬SÇçÆí‹x^À¿’¾E¸‹‡u’Ô_ Eþ³‰¼èÞð³ ÷¢þûFy¤¯yÑMÖw!ç¥ò²§À  ®}£ºNxÉjö×ωÔ/Mç4ûÎï¦îy"ìÛÁWÛwy&¬kÛÂ9®ºj3q5ÃzÉ€›~çñù0ýM»šzoÇ[¢ øŠ}¸øyy¨‹mm||.òÍ!ž$׿•þqƈÛ.¼­nq8’<'7-^òÍäùë{).êß âãú S_“zÃ÷”çß“o<{,äöðŽ]ä­P曨§‹Á7Fð|ï} çl×KüÖuøRÎWáœ!uÎ_âï 瘫ŸIÈwÆéûëmu­ð¦‡Cœ2Å¡íqýt‚¬‹Ž¿þA¸»«£¸¦8¬÷§/â{xÝvòIúg¾ƒ¸Y¬ü ì:¯„3{ÈÓüúêÃåÅÛí®i;é+ïY¼7.„¬”ý ^çEœkäê—o’ºK}¹¼¸\ŸmÕÄéÚ¦yr¯­Òñ‘ÃÞÄó(ç­—¼).p|ý•"òîQºü/>úÁIžWêQæó_fqxÿŽ?Åù.`{£lñVYKT¶%_8ª-!Žˆg ýpO o¾ÍšÁåèû$ùH1uÌŸà¨/[§}¯S_ÒvÅeð¹öMêõñéWxùÖÎáíäKŠ{O†õmœ§¾'û&Ùk[ããájÛG?Yý(åÍê_>µ©>®Ûãÿd{ÎŒ R[CÜQ^S@Ÿª†~çªÕ“÷;ýûZÞ§8:FÚvZÃ×âd›B}nàȾ5à›ÖK]U¢<\Ïa)ñ¤0ÚE?z³€3×sÁÙ¼0ŽöIÖëaúWÅ@²{ýSß>ç+ñJÖ™pªðÊ6põ{á³ø&âW:äë¶–÷ÞBžmÇZà/¨ß(>ÂzÖòü§ˆ÷“¿•@Ìœ¾ÙÕ!oó_QwþŒzÜØöf“²·ôÿÉÄÓ©ˆË‡ÏÛ.ø»vÄ78ɳ~ >©|Hý‹ªìa5çÓË-—|d}òПHðɪøk¼Lu©w­÷ƒGãµW¼÷Žlém äyÑ}µ•GéÙOîñ4üú&Éúë$O½\v ¸v*ì[ÿSȬ>.Kn³1œtƒW¹ú¾äI}ÛÐ'LZ_^Jþ—O_|cà%uºêÎ.ú÷…Ô«ûÀëÁ_„«µR*.d¸ß:w6_ºÖï`#ùÍE¬ƒ;È7÷°>·E«ù•{y™ú§é8Müž·Š/¢~Ѷ˜~ðC»—z¾]ù9çÿ>ò+Õ ð6<ï¬yÙÔÉ[è5ƒ·g™]Úöd ÿ¼Æòù}}¨Åôã”·TRÏí&În‰þìœ^£^0wz}A¾_—¬ŸFúl…Ü/½.‡Ï9òwË×ÌЯH±@ÓœGÂ{ ÉGÒ¬×ê_íÓªÀ7°~¼Ç:ռÀ þgŠ»ùˆë‰îÞî³úˆ)Î9xjv;ùZa|™ï²aòÑzxzÛ¾ÿÇ7Dð亶$_:·-¾aŠ¿¸QoYH·oKøð7lo\Þ_'>ùÙáaqžûЍzþøçDËì •–‰¶û²ÕVK_D8£ö—x ­¡¿b«B>cêÃïŽüßZcès%õò“á|´êUõ-Γ~×–¨Ì_R•ðÿ¢(ý«û:lŸçœ{{¨wÀem9xpòâ¤^^…óÙÍÊk\}0xL–‰—åm<|Îã ê¡TÜVûJr‰§&|/œ@|Ÿ²‹è€x†sbW„õ^/†W Ü&Ð5ÎKê”}Â:ø(Ä+!oÞLªüyuU<œVðõéÅÓŠ“ëöy 5Áïôèé¾e É¿ûòâÂÉ~®}öŸ—FóÖcÖxcI8„WǰÛÇ“|œWç•x.¾4†¾í›ˆÇÕÔ%!žY>¸mUÀlSÀgìõãáË-paÿ.ç‹ê†â8í¸Ð…µ‡|ÓZÙm¡ï`à>V@ÝDŸ8Á³¶…xê•ô-¿·üÙÄ7[E/2úsx«òâ°Þ-7¬?§>˜3‹>¸úæ™PÛîÐGŽa«X§©x¹_iµð0Á‹,Ã÷­ùŠ—±ßZ9gUÏ©ÿ%Ü@8m†~ãþý¸5ü~ :L¬eâtûs¶9~ÌWx-ýLñ†ã·Ÿm-ý¡áÓz»/¬ÛŸŸGuwi´mguøù>OÀïüÈÅKT~‰hs k'uêòÜøx[h)οÕÔý¼¯m‰Ë“ØÞúøàNißà÷ÊsfÇ I‚Yòñ¦m)¸b8X9ëdGØøê$|è…ä 䑾Rüeúgâ3nS4ÜOWd]6xdq‚KRoæ¿4ºð·%8Vn|{Ï4ðiÛ _¾¿…ûéÅìwð_§ûç{q´ü®xØvÜZô‡mÏyÑ‚Ý.~£+Ž=8ƒ/!#x‰“oÙŽ‡x1}FÕ±ê*OUŸNyDui}ß øløÛbò ñ¤;_ÜÎõ×…¼+É“R˜6õi*¹¿O‚›–þ–¥ˆ5qº1G}e+ |hSŒ>…í/,e.#ŽÿRnëyy|ùÿîÛÁÃ…ÑϲŠÐOKâˆò“gBAc…ïdqö8ë%_Áž‚ï#¼°˜s½”z\ØÀ+ÊØï¥à¡žòòÕŸ«CÝ/ÉàfXWõob+à7‰?´•~K´M˜›ÄÑܸ]ñï^ OÛD>7ôÆø€°ø‘;£ãá·›øÖôA}D%øƒø®Ê#¶…¾Šê-ßÞ½'ÊÖÎʱFÖe!ý™íðöÀoÄwKx®ŠWÃGÞI¿¥†ý“³ &^û:ö¾·x9êgªîk†?#djitðtZ¼éNø™ÂaSñ±õú¤Ž ¾MxoêÿK×$[ùG.}òz/&__î«xpʳ}øK‹ŠÃåg\ý3ž»¯ ø«KOPú‰sf=ÎË­ðéÇooÊŒ‰3 ï<¥m?:leïpñ7›ˆoe‡óò¨ ò®2/¥^SÜÉ <õ‡¼<­:ºš[­‰uZK¿wgà*λð>þ~ô^®$ýÅP|;¿k%¡ÎòUðQÅ×Ü+ÉÿÀïMï«ýM?"á‹7ËèÛƒ8|_B¾¢¸µ:ðž\úôSÿ9Ñÿh+®¥È#÷†óÆ·?}Ͼˆ7žeBœ÷UQõøÓjk¤Ni$/ªf:ðÛ­„þ”ÖƒøKê·]u@%}ÕJpäåñÇüÔ ¨CÅG5ú”‰Þo7ñJ<£&ð¨GÉÈÿ~•‹çPNÞ-ý¼VCOfÅô…6’_ßÇó,ŠoóÛ,Ÿâ³úV÷Á?¦î«¿ áÕ‰WÞmêä ÆžÚóƒxCZø¹pJp)ÛÎ kO®s!Ÿç¾Ÿ}[OŸøa©×DrÒT×èÿqëh¼a­½J7õG&ô‹’>žÇ°ÛWm'뭗󶂸v7<“:¾ô@àf)xxà¿IÿTù–úHÂgÄkÙê_ßê)§ßiÔM^p>«#+§sÖ«x5›ÉC cùÙöú™âék¿mñ?áE±>mGæWû®€ûºâX:ü»•£§ÔúXK=·Œú© ]|•Ÿ»#‰ë:÷Ä;~–O],~ÛvøxÛ/Äu Àͯá­ûCèXÄW_ìâ£qá|ô]ÔëÂaÀí|9¼ùΨÊüúß[ç•q£Ê·Ñ?SÞ” üé’­,^ÿg¬/õJ£Ç=ïßúFþ8õ)}!k ú+‰Ò‹O•ÙJêiñp‹cäÿÒré“ìˆËÁo%}Â&øçO]ÿG:¯ƒG“¹3´ùSì_=÷x*ÔWIÞ¬:÷.ò¡=a½¸tcMð1?áï':p}?â‹é¾Ò7É'@ý\é\¤¿,g”ÓΧ¯­ºQ¼Å*ö‡ôˆèƼ~5ëMu¸û¯BzG'³­àÊôU§«…þpÎYß 8ì.p¾êláÒ§h?Òo¶2ôš…äŸòØ Îû*¾WqÈg]ýÙ‚["‚ÚG“þÛ†ð’ü¸¼?M¾¿^yN¸ß^D¾ÕC=_Ñ*^Üe÷Ñgù-çŠòÍ^ÖCuèó'º-éŸ×…¾G‚£ˆ7ªzSû¾ÞëôïñíùºKÇ&žö:ø›Â_ÅW¿Uºʼn¤ÿ)åy*ÐúwtñÁtöÀ£—þmY¸ÏN^eôǬ>—ú®y¬ñªV‰çN\[x„¶Ž¾üè¤^ÔºW¼Vݦs~¥×£ —_øâ Ÿ/ ú@W?qº=ú²¾7,\·¾ƒ8(ùVô® ‹þN±úã{èÿ-ƒG*½Tñ´—sBxˆpñÍj*bàËï#ŽQxCàÿ›úÅrt~^ +ï-fè:ÄWn®þ©ðHé/×ÁW/o|"à­¾¾ð.ô´Úûè#jÆðã×õœÝà%òÿx¼ñöï*òõ^ðÕŠè2/éIôeÚ§àꉠŸú > ÄŸ ë8ák•¨_?Fx€xvÒÓç>C¢ÛR?…ú8áƒý‘~ŠêyñwÓq¹úv'O°-ð±ø¾è?}{x¾Þø€†^Âv„zÖ÷€¯KŸ‰î'©GÉ = çºåQ_ G/Uñö¾À“ö}ÔÉZ¯ÄÑ?ãß¡âúÛ^úÆÏÀÑ!&ø|'õ·t]¿C§"¾ö¨§Òñ¶ºÙŠÀ£À·ÕpÎißx¬Vï½>ð2½p Ⱦ—óEúô€ÊW\zÁmôUëÐ)ÔË£¿ç;ÑcKRÃuЗþ/Ý©øq¾7Sg(Or‡VnŸpÛ‹¾I<¶=ìë*úPêK‘·JÿdÛðÿC{àK¸tvè¨à§Š”謫ÑŸ~Lø­ô›ÂI ¨r¨Wѹ%ü â«åÆúû­ˆøÜ@Cõ ú*£5gV [ÿ—µ‚wƒƒu’×àcèQ¬…ó¹ùmñj¦x¡uQß´q¾loë: ÖLþÔV—¯¤9‚n¾ ü·Ÿú@ñ[÷«”¸;J<ÝúV¾5ôE¬‚¼éçÍuénòvñ¿½;qª4*ƒ~¾Æâ«ºy2áƒH§ú½™8¸ ?6pÂpWÕ#âEê¾w’§ªŽïâgÔípYérˆÏÚžôR–øîVþm¡¿.ÝèÖ8Ì~9ÙZ·âæÁo( xø艬ƒ|*ºàà×Ixœè ,þÎ^ê¡ôÕôÛ+Ècé—ÚΛúÀ“?Û–ÃßI8XÂÛ—¾¼™|¤…8‡žG×ç+‰¯Â ¹/½!^Z9¾Qåð©„k…¾S‚WWÁ»­ u­·×峟ϔç“ßÈWÞ©­‚§ÔJ} Ê*úªœ¯êÇ$ú@ñÚˆUWÅß ÁkCžk+ÈjèWäÄÇÚjêw†þ u¢éæÜUž¹s`3ñHzúü€ïºt.Âçvr¿KÑËÂÓÐ~sâ å_(¼ÔÔÿTL_Uü¨9³f…>Vkdõ»u¶?ø\Xš|g¢Okd=fBCK÷×öšB>àù|¿ø€ÂÙr¨;×r®ÏìŠ5ë‡ÇÒG§:Cxäøí‡ÑµÏ~ x_É}ƒo6ÆþÝMž¿I¯­ø[ N³ç&Þ¹üÄ%ž{Ÿ×‚<ÏÄÿM:”…ð}2ðŒÅƒ–ωp‚íÔ›à—çÒʧVÄߡDZ"øFø‚%¾;ÃþvñÓÄë@Ïl¹à3àØêƒ‹—¾Ÿôuä3†¾;ññ‘Æ–À•N4ѳ‘î£Îõ=hqñ_«©³8w ¼5é7Ág™óÂ/„~C õ]ñRykù‹øh9ðîÓô'K¨cÛГ5‚Ó ï‚WÓÿNç•ò=õ—ªàÑwÓgìõµÎ%gÿ%üžƒôíFØÏÂ{vPW¨NÅwkŒsLñFüFñË׫ Þ†.\üW_Iø“ ôÙBú—oâ\9ñÙãLú Ô«…©/Õ€n@ø°ÖÑnøâ 7“ÏUnDS(Ø›ø¡‰_§þfºZ|<¾ŠÏ¡•tCN¿V¼mùë%þʯÐñZxw ¼¼Jp£Bxò‘Þ³}†tDÕàÒÒ¯ÉßN~EíÔ‰:—¤s_X:_ñ"…wmEwTDÿÚÉ_ÔŸH³É­0ð} ý¥Á7ØÑ·¸ôÞÍÔáŠg»ÀaÒü^ñ}®UUÄåÄÄëòî‹t:â Wý¥ôÙô5ËèãÈ¿H_I+z凬kð”„ÿÁšà5¶‘¿È'9Ÿõ*¾G{ÐÇY3q¸œ>Ý*úëâ·Ò÷—<áÃJoðKî‹xûÂUÁ?­ Äßn¡~ãÞècï~(ៀ“8¾wsþ®&ø#w“ÏtÓŸÀÏÅJèCªNlÃ/®Þ]^À­“û¸>–òÁ&ê¾fþ>Ÿu§|YýŠ!ê¢î¶}ƒ Tâ+ƒ†xª6B<WþŠÂ½SÜßQúGÉ•Gë<ojý‚Í3ð¢úg'~åÔªg}óTÜH°L[Ià½8º2S_NxH|,ñÇÁ­_æõœü8vп“¿Ÿò1ðBˇ†o@’ŸÉ'@úÖ¿ïšoøÑI]'|¾±ÓgIøÆøýµ$ª þÐÉþ.Eÿ¢~ÑÎà#Ô±ÚŸ)üb*¨Ûåß½¼¿˜ó¢8à3žâó[Ø{CÝîòOÇ ñ-o@¯×Í9‘‡"x¥Ëï TÒéuDÇÑ‘'¬œó5ñMBÿoÝËy®;È×ëÙü»ç~™•áO"ü¬‚þÖNôEĉÎ õ-ñLü‘òÃ÷ñjú§uàÛòËiâÜÄG0ᑊÛÌz‡‡ïU|n%ü˜ðé¶€Omä¾Éÿaðǵnt<Ò£ çüÇD§%]R1y¼|’Ëè3æÓO—ß~—‰ÏvxmuwzügU/Ìy!û½‡~@'ø^%ûTxªt#­Ô--ä9âot¢PÜ^Î1Ïuoåà£z®Õì›Ãè9Gá{÷“¾ºü3GЯ–xžúX™Àë·QÎÁ£è Ä/~$}ãv⯮3MÓ~]Ĺª9)øÀÂuZèªNÃË ¨wñùµ®€+ËÏÚà‰âƒiÊе¹ú@©ç=M=Q‰=ø´øn†îÒÄ“Ï'>X¼ø#*e§ïíøÅ«~Pž˜ð╇€/ØNé_ÙÂ9ëèwHoó ¸úg©€&þ1yàÍòwPÜéçè>¬¶–χeeœ«øtX ¾{}œËEQšµù9«ü'§Otô9j0á1ÊÇ^³íÄçÞ7‚÷ Ëtù7/-f^‚ô¼ũØoâƒAßàe¡äÕ3}‰—ðÐ>~¼ùï×â; Þr ü‰-á\0õ;úáKÂóQþrâäÅô“ÿ°BêÙMOò|p•p®PZ1|Dép;‚?mÒWKÛ•€wƒïZy8Oi#õT :"Í1IƒµÈ€ú]ú4pQ{÷úT#ô³?ÛÈ/ò‰Ã=¬óŽÀ›¶êäø°ð]êÑeE—Ü/Bù1¾VÒeÚùLý£ñ1ðwIŸ\8¶ðªqøU“ôÇÔOƒ× ®9EÝ;E\G\ÄwÖÐùºBÎ}ÄãNÞ·üFçOy‡p±êÎæàßc³½aSÈ“mˆú}7qLz¶"tò#ôï°ÿñbqI_Dü˜ò;üÀ餤–ø˜—<º²ßCùGôÁ[>/Éö£SÒÏ>9Ìõ4±ßñ qñ¶ÆÇõ'”ß[u\yD;üéâp>$~GòWU?¯žºn+"Ï‘/Uuø½5€ƒp> »´màƒè§6 ãWKtÀÒ!ÈŸ[~jÒ¡+¤/á©H.+°½¼ï$üÏð7áàôÝ:ŸØ¿Õô'šé»×Ò8D¿e ~À^ò úÓ¶ŸøoÚ*Â~V]-¿a߉þªeè?fð=•¹õQEŸ­™üByŸ|.ž…ç$ôEl˜> ñ'C|`^Žurζßá"Πž©$œ÷kaîG ~;ê÷k®ÐúÈ!úfÇé_ÊgL¼ñzðÁqú2“¬Û|öÍ(<.ΉIòÓ)ÖGùXQÐ… 7óqᥜۭܗýèð©´"öß>úïò}D¯ª~R)¸„|¸Zð ¯´›z¨œBþþƒð2ÕßÙEߤ„û¦¾Pq}²µÄe×O­Šü+pÞÄg²!–G}ÀJÉÇÕƒ¿â¥¡ã%ôÕÈç]8ŠêÇ*x9âÝ¥ŸÃZÙß)¾¯ð0ê#» üG> êÇ o•?M5óÀÊñmG¿cCœð‚“9+ðDé«Y|”!êÜÆ°ž}¸t¶H9<Ëž€C&þ>Ùð‘=E=+¾¶tzäcÂé2A–ìçŸñ=*ÙwòËÑ|ùÕ{Ðq¸x©ò9–ß…x®ò–\zF\,gÞU}ŒúóÇ©/ŠˆÓÒE“Ç:º'Û ÏtqI>éxîÃ<·ƒøôà+%ý˜5ÏuŸ«ù½üè5G?7«xŠ5rßȇ¥cÛ¹º.>@s4Ö“>ôlv„ó|ˆ~Zça=¼jí¿vò˜FÎ5åÛCàVÌ3p;FTzî×}Cxm&Nç$8Î~V__|ñÇŽmÇá;‰w?F¼éÆ?m’õ3~_ÈJÈÇááY†sl?8r+ú‹Ž§\ü]ô#Ûñ?{мj€s£‘¼¤ˆ}/>(ñÈFèoî&¾Ðï³­ðʇ¸_ÂIÄO« Þá§“œ›¬[kã¼ÑyŽ—ð±2ð:ðßµR⸀K×(¼µ¸ÏIþ^VN]®|q¤úß)øMÄ›ŠÀÿ5|ó“zZü)颊ÐåãÛ/ÿÂ"úè¬=uqàÕÛ^ög+ëc'uUKð!±n~Nƒ“”F·ñ¦ù&¾ ò…?ÀsK…úÉåóT ~®|[¾nMôÁjáEâ¯iäKè¾åƒæåáû%ñD>qâ3ï&ÑYÑ¿“ÿ¯mƯ-<¢Bò¨føqòKÒ<–]ñ6¸Ö ¨ŸŽržÓ‡ ßkýè}óÁ ñ×–?£Ws¿{bÚÑ»­Ÿ>|/ø½êWÞ7ñEË£n©Ãϳ‚>¢úö…àöÂ_øþ ä)Âï÷£?IÿÅ+Á¯Ë+ñé|†õ~„ø2DÔ£W?¼™¼¦‘Ïi¢þæó;¸¿Ò å|Œ9Šò‹ÎFÀç¹oÇYÏà» /h/ùí8uö$>ÝðÝmŒõ'Ÿ€ãø—L¯DŸZJý߉å{uð|›Y/ôôÜ‹‰ëûèç‹//h#ýñÝq;õ_Ôwµ¼¸ñî6 ¿œ<™WG0Þ¥¹v¥ä{̯Kü KàÑjÎJ~[šgZʺƇÛÓAÏk)pÎ hš|W:ûµè9å«yAâI‡_„¿«òžÎügL|¼Zõ!ðÑÛG]п'M»•t—Ê39‡¼?£ü%6 ‡àºàUüócxyš9âá¶QŸk^zi¯ƒ¯™Ð9©ù–ø°%¾äš—Æ<)ù®ú®Sqá«þ¢5¯“ïÏÃë8§á×ÚQðÿ"ò±ÍQútC© €´ã/E—ôyuÕÇýéÇ_´ÜIx'~T–w•Ÿ úJo u…üÁ×\p¸Rðï4ýqúCÖ.%_êyÏÃ×~휳^øí#àéƒøét².3ð’ñ ´fpöf|HSø1öÃÓiå:œ~Ñ øô~ú‘à†‰Ÿú#; .7@?a4<WÝ/œUsdFÑOÞ\¢§‚Ÿ»<ü(¸îuªæð Ÿ‘ž…y„ ÿL<ø:òK7ͦ.Õ\.뇬 oÑ+é¥{ëAï'ÞýœÄb?¾ ñÇ—›×þ‹1×%™_WG¼”?ºæ®‚o‘.-ßjéÊÁïŸ ø.ü¹ž¸êšÍÁO'áíÒ‘ÎWs3àvUá~k®—iþZ]B^=ý-ù#yA8‡}ë¿ =\7¾š%½˜t Ò»uRfýäãWQñÀåSŠO–â%s¹¬ $ù³É^sK•‡â’ s ¬Þ¢ôÀ%ªûÀ1«Â8£¯ëk8¯›xšŸ­y¡Û,„ïU~†ªï„×ÖÄüNÍ#&¾&8ã„ü ЭèÜj‡½“>”tÎøTZŠ~³|{8O†ˆ{š÷ Ÿ´òÍQÛODõ¢ü×T§)_þ"Ã9#ßð”"ö!>ŒÒó;¾sÎúFÀuGÀ׆Øg]Óqñ{­•ÏW>ßÀy4H¼/è´ø£¡ŸcMÜDzïÇ àÏ>“à&ÇТ~ õ‹æøf¾¿úR£¿ˆo°MÏ­ç¡nÛOþzŒu4…î ~ úà)ú ÊcZ¨{ èÿ oh!¯Ñ\æ.î³æÃáϘÌ#­g¿÷Ó?!þº|ôäÇÝMý&ý‚üf˘P-sÑþd1ós‹x~úžò þ¯9Jš÷£ý¼ž¾¬ô²{ø™>™k~œ|„ÖPJ§&Ÿ_|$­ŠúVñFütùlp;}G‡W)ž„ÓÐö|æ¼UÂGÑ|Í‚GgàhË8wÛÀÑŽ€³”á÷$ÿ2ùgÉ­]ŠôEø ‹©úZ:TõrÑM7‘¨ß-ž²p'éEñ)“‚ú;˜POß>¢oÅ/Q~râOÈ—\úýzøqâ%æÐשf‰7:I¿Vû¨ÎÄ?ù¾jÊDü2ò[ë#’9<ù:ïO×Ü]õ€§È›åÏÀü=>ZE|¬×œ%ðˆò]ùø§9çä/%¼ñYâö|"ÍGjÇ¿!E](©®Gü»&pƒü zÈ—à9Úyšæ³—°O¤[)#>D^˜u1î"Þsë’~Ô>gðÕð/µêûýœ‹ãÜ·)Ö‘tÃ%äÌí5á´âdàý´°ß÷ÏãÏ`ÍpæbX'~L•ÔÛòQV>]É>çS_i#x§æÒv‚×°¾å£'Ÿ€êòBø4äÖ¬9œœ/ÒÝç°Þáý¹æmhnþQ‰£æÍI¯‡~¢+V6‡¾ýùt.¸…øZMàÀzîø‘$¼pü¨œ>°k¾ÒŽ8m™eâ•É'WóRäß(üq7¾ò5W=Þïy„¸SÏørâ÷þéâó¥ÐÅÊGŸgÞœf}ËIúƒ"ÖKE˜i•à ò‡)`þM-x }e+æ{ì¡_ô±ò)“îÖó‚áªË¿Q¼ 4~éëá1%ýð`|lœþúûªOºè«×È7T<^éœ[X=è »YÇø‘'<Œ&øò9\óI¤ÞN-¾T >MàðTí8·tÙò%“þ{MÀ-æÌ¢‘ëI8e#}…=ðvÃO«'N7ÒÿífÎB#qYñwˆ:Fû ¿S—?«xK]ÄÃøƒáÜ–Ï‹t»eÔ1cø;MàÓ+_³òÕvæJ#_„¡>­tÉøds1­…:®^msƒäk¬ýÖòCñ}­“ó¿qÃïðÏY|N™ÒG–ÎBu½töm3úˆÔKò’ÒñUKtipÔBòõÇèk~ˆüÈK9Ÿñ»°Ãì£L¾9Ç8÷úÀ7ëññÚâ`âK8É}æùÇêa|yáZ!|Æ£ø¢L±ÿ—3á8<Ÿð£ â×Iê ~éeœs•äûÇЃ• Of·Òwh$VŸmþ¸ôÀ½è›Xªë5÷¤ Üñ¼ÏàLø¸zЏzø/iâ3¹½*óœ<ž}¢‹®"Ž㟦~èÞp`[†çLÝgNßik8¥÷tù 6/*¨3 ‰_šç3î)ÿÁýì£éÙâ}É«œõ¹ —BpiÕUµøÂR¸ô—ãÔ=š«ye¼/¼`ë‡Gz„¼>ŸLóúðïMæ_+Ÿ(b¿ôÃ7ê¤_»=ð“4÷Õä÷©yÀÕîòÓo yWâ—©|­ˆþu=¸\ ¾MeàŸ=äO›Ðì u»æø2úÿõລàÉ»©wÐA¸ð<ùÜ‹w{^QºÀ'©ŸzÑã «¨¾ÿ¾ |xý|ü(¼ð ù ['u“üjñªÃG¨•ú~RG÷ª§oFœ°p‹*êÆ óZá¥knâœ3éÿ °/‡ØÏª;å¿Ø†nø øøy=ßgÞþ>ÖQ |°)új}àqiöÍð¯jt”Ä¿Ãàplj_ZßøT'úçcàSè¨À}ì8z¯ð ô®'З§Á1«ð¥ícðËöÇåʧ¬ú[¼9ôÀòw³I®[yÁy…ðcæ<ûRîóAl›9ÿŠÉ×…Ot“Ÿ ÇHSgð<’y¸Ìsá‘øº=Æ)x­ÌS?'ñÉH#w¢;jÿ1ø›ÞŸkBÇ¡ùÂw'©ƒxÞƒÔM½ÔÁò+j¥þÄg·¿šFpÔúÿûxÎâUNÑé&Χ˜óœÏþ­"žç;D½tu |gÕÛ%ðlQO‘ÇÊÏ{’ú¿¿Žãè‘'Áëá”S_Õ0õ먋ümŸp|\T/ïâ|dÿæ3¯®¼¢œHþ¯òOS§Žòü¥–Å6ÎÍAÎúã~ç^#çëvøwÄ¿„—TC_¹¶êcêFùA'ºÁ›ÕÿºrÍÕv|’¼ˆùðLóÁ“…#j^ú8Â9Z‰7-øÉ s±rÖ3y´Ó?tùÅì üGÏ^ö’ܤ¾eî¢çàß4 k3¸¹ø–¥øÈh½w¡—æºÒÔ“[ƒLÂwøsj™Ÿ½™þ`?qR:,p./E—&½¯xžðÓ?ytóÉ}’î·šú´‘ýW„OÛ|>þOÉ|žtà^ÄøüAä­ù*šï7Ò炯kÔ]Êå¯8ï\>/Ò§•€K0Fy9ÒÃäáÒaKWÐ /L¸kúfÍ!Óœ Í©©¥~èä¼o`_«ïÙÞ•âÜjÇ_m¸a }ÀIúqÔÿŠgûÙè`¬Œú? ìÇëlÜ>Ž¥ñ?F½‘až æµ¦‰ïòÛè#>¦9Žnº?D<“íó@¦à¨v}Z¼¹ øwSàk)ú)šs¨¾šêÙNù:ÓkÃG¬€þ8½MtúY/ôû4ÿIúöfüû{ák©ï]žsRGˆÇ&ßCñqÓø?j.º:¯ª›z£JsìÀ95§UóX+裨Nƒ'èॠFþ³ò—aNºm‚¡ùî£à¹š#%~µþN~“ÅÔÓòõ‚×ëµÌ–'¾¾Dd*ñ¹xÍÒ럔~…~a5:Éax†äáòkÓÜ7áÎG™'=H?£¢üA5×µKø2}*ÍAIËÏFý{ænYq¢‰üZϧYŠ<µŒy¡Â] ð;›¿¢o6 þÖE|“¿aýÐ1øйeàSR‡µÃÏh•¾‹ün˜ç^Î-~O%><×ÃôQ'9ŸåC¾G¾2è9ÇÐ1NáK"üLýèNò°qæä<’Ïc5ü â¨t/õÔmðÛˆ«È747æ8ñµôCqÃzèÇ4ÃkÝE?C>hÒã q8™?¦ù»âôó{æz¸æ‘WPo¯Ãoe¢ oBÇ$^rß4Wþ¼Kÿ.¿sxŒ^κƒ:¬‘z\ü¨ü¯¹ø1àŽ‰/¢Î pëdž(úL×½:Ö#û×·‡:A||×¼ËsÄc8D¾„/ƒoÁ‡´¾´|­úX—GÑÕ£§`þod^ ¸‡Kÿ,þS:€æwjž2>>EÌÑQŸ°Þ€øhµàQÊ÷˜w`EÌE–~RzxéεÔfþlâêþ_}À½ÿ„td™ŸÈ§Ñ«À5ô?‹ß#¿¯Nt!CørÊïyPV Þ;Àz>ÈzÐ|¥\êÙNúÂí¤N…ûì̱¶mœ«å|ÏNð´6pä\pòø«iê³fúòà(¾7à÷sÎÀodˆ¸?‚þ² ü\çÕt&GÉ:ÈÇ™waà‹íôUÓÔðlØg5¡ŽOæ™5£¿gÏQòÏ)æÑ'qŸóBõÄ(8Íu~Y6‰/W'ýÖ£ôýN’·1GÏjÃ}tù?(^4rŸ[xÝ~ø¯ÒoÊŸb’û"^|¿sŸyTÉ\ªÃÄû#ü»ø¿âsÈ'÷x™üŠÑá4ƒ©?XÎ/?Ïnt…ä‰?Y ü ÍYƯ\sm#ó˜wê|o/ÄÇF>Õòk+¡/-s^ü «ƒŸ5ÂËoC<ñË4ï¼;™;Ãü ÃÏÉ[þæiü¤†ÐÅI£ºL} Í-éCß<Î!àê6ñÏðëò xøõâ vàç¡y½òUÔœCùRUÓÀÝ[‚>$Á¥«*Ä7^‡k¾‘^Çù¿]D}ͳhCg[Å<õWbΠæ(u…óÞóÉˈ3s΄7&Q'ý»6ž?8¦iNzuy)zónpƃÌ-: _~=ú€¬Ë®Àßsx½òC“.Ì·rþsÝz.ÖE¿ª•¾ý6p„^êßzžg }RñÂ5ø<{é9_:ˆÇâãíCÿ}žá>¾/|fë/l%ßJ|Š~ò[tV®ù@M¬³1êÂ1ú ÇCèòí…÷hÌ=±£ä—“äÕòߟ$îgý³ÞOÂÛ¿þµ^®]Á¹ßŠ?o#uºHͽ4òˆDg¯y™=äemÔ¡â]jݤ©—†BÌ÷b=&óX WÔ\;æÿ$ýVñ+ùŸðüáÝiô®òáÍçüd^†çpŸá=¸|Ä_…é¥è™ƒ‘øRJ/qˆ8 OÉ5×° E~š­óZóèÊ©ñY^o›Ã÷wô‰.^wšûYÂz¾náòÉí!_ã¼W£9ªÒAì næ¡{íÛHW$8X~}Z¯eøžà_$´œ_'ßOú?”Ž¿æ-$ø¸§¯Àžyƒ¾ ò4OÓ­%/ÜÀú¬GÇ'Ô¿Ó ºkt´‰,ó ½Hº?øôkÿ]æ¦X>d%x“æ5ü„ï6H¯¿>| “y¾£Ô]MðØZÀ_Ä—Ñ}ßx'..p;¤¿ûÂ÷ÃW€7×n.’檮œÀŸeœós‚} Ÿ7™o2HÊG_ÞBœK‡øâÉœ®§žó[>5=ôcñ¯Hü•×nãû²nÊè«*?“î¬ \ #¼ùé‹ÏS®\Ë÷QÞ[ ¿p7sòäO0Î\Í“éo?€¿o¼±üAyüa¿ŸûU„•|çÊ/~B#xøsÏ4GDúÀÖ¹æet£{ƒ×ÓDßaóéסÎîøbõsî RÇuâßT&ò›ÕøUVÁ§® _Ø®9÷àÑšwº1ô[qpXÿ8¤|ÈkÀ§˜æšóEßÒÉO¿ æZ3|«=ð\å§ÝÊó)g?ξh ÿçqUþýšwS nÓ‡ÿÎIú]ãœóãàó©0ç@:?ëÇOL¾7àµ¡ßæùìÃJpåzðŒp$Õ—5àâéw wѹ)¾îíô‘û9o)®‘oÉFýöNx¸Osîw¿JS÷ŽP÷t¡꣟ý4ûVý|Ö=ϯ9ì#;N=¿È tõÒ½áói9|¯qøË|/á'Á9»©s¦È'Çñùi#Ïn ÷Qü{?Îsï!öÒí§ ¾¢ü¬FåË ~ >ð%æ`û’}ßcÔ1â—i¿p¾RÏmãü†¹Ù&a†¼\øÄ€|ë‰êSÓ×k“¿7}Hü¨l=óuCÿÒÀkñvù²iŠêò:›`=¬$/í¤ß’‚ßQ>@´§àŸVqNá•ðä•'§Á·¤¿Ý§þ³úÕMôñÐë[#õ¼â^šþp\s3N°ßÀûÊð„§)=¿xÎòý•_â‰h[®¶1ðœQö¯æ%KOÑÏó*Æ'³óþ½ú)šg`õàpòÝê!މg#Ÿë&ÖQ'û\ø±øÁ䵇À‘q®t±káíwRgd?jþG†|l$ø"['up/ùÿ¸[3ý@Í#ï ¿¶¾ø xÀ}±)ú—¹øÈÏŽ¹b6N}0þ§yÈ'©³»Á»¦ˆs“ä·ûøÍèâ…‡OÀ³é‡ÐßÃÃH|àµ~FÁ3ñÙµCÔã½<¿Zô:â5ˆ‡:î¨9p‰/øÌ˜x`àYõŠ¿ðSv’'ױބ¯ ·UÓ”sîÑw/Xs:«ˆÇðÞãæÕðÑ5Ôù<ùvI?sŒý®9<½ÔSàŠèš‰S;Â~МT¯$.ˆ×Î<âd¾8óa¼‰¼á8y‚ø9{8¯„ÃÉ·¤þÌ!ø‡êû Ç_Œ/…æ â«”äuÝø³¤ÑCIÏ.üRs¹[È—ÊáíÔ³®å[(¿ÏÕð—Já·Ê‡OsÎðewÍoŸb s¾¤«åûºô‡¥ôÁšðÝÐ\bü½‘ýTŒŽjŠz­Þ-~;ÉüÇ4ºP|Ö¬J> ৘7{ˆ¸3D^X®9\¬ë^ødòõÓ|ùÈÉ—MýÕâR¿øéð|Ô÷:¿Iº)Öƒ3Ç.É+…«¤_w¾êÅ&ð¨.ðžg¨ƒ{Ð}´‘c ž÷ƒkª0Î÷l$~j®Á~t4OS?¡ =I?A¸€pqÅó£ÔKSà¸ÒŸL¢ÇïA7þq ¾õ˜5†ß'u,¼„Ä_¹‹¾,}äïUD¾{˜>ójlˆó©W|uü8WÒ·ÜOÝ= þ£ù«øû¹ô¿ÃÄeæ¶zyÅ~öU õH#<‚Ôêßà‡Ô›š[›AG²Œº`1óH¶|ÝËð‘.ʳ7hݹð±máœut6WóQÚÉ·ã7%¢ê@Íù,ƒ·ÁQ̓qæk. 7 „8ŸT<6Âÿà—ÙçÎ$úd|Þ„æ´ËoÍ…oõ¿3ÔËGxîâ—2ÈwásÞÀógÞ”3ÏÞë˜wìáÜÔ|(+ Ÿ¥8·ª|ûü{àâç/þ0^æ¸:þ9~|Rxhê›;¾ÞòáHæfx2ÌG´nê"ñDàcï—þç$û| Rš}ˆÿy¢‹8Åú§šâ¼¾‡¼Y>=¡C9*müþD½%@7ûû8>Aà¦òëoDŸƒŸ{~ZyY'<Ì.ø%òs+¿>DŸ­€85~ÙÇ|Á]ô)·Pg#ž|‡< ]g‚²¿ CÞãÒÅts^âCcÕœ;»È{ä«+¾!~1Fbõ¬Wôï ¾ ¯Ñˈ_øŒx:Ì‘ñæÀßqtS‰ßªêËãøOÊ/€~ºknV ¼¾ è'à§z~Ƚœù+èê¼\“6‹gøüAúý½ðÛ—kÞ.ç·t¦ªwá­§¿[ðk‡ŸéògÌ x~² 7S~Þî)¿*p©Ä׫ŒyðõLþO胥ÿOúÅèXè£ÀuÖ7ÐGÃÌ5‡ú&æe£‡rxò¾|/…þ<Ž”—ÂïÒœ¨gÁ*鯡§”O—gèwæ¿IGÑù|¼x”ºà(ûFqG÷aû™Gý$\¿œ¾¹â´tè•àÜ·~t\iêÄ#à•­ôÇÛÃû&|•ÎïÃø;ŒÐߎÄ>/°nx'Ñu×5W}ÿâvâMýì“ôóý‹ÀÙ„t±~&9gÇé Ÿ`ÝŠ·´•}CßÏŽq~N¡£i ü¯‡<ú8çáçúÂMðxįof¿vÒ×ìâ:{ñ?“Ox3£ä³ôGÈ+´þÓè—€óaŸŽ÷/#Õ°Ž4÷eœóË{ÁM{ðca¾œµâï¶…}>̹¢9S—U£ÛjDwPÅœXúèþ§°/¹nÞî»Wá_˜?f¾¯•ð<4‡þ}{ù<»…ó]¸A }1ÍóU^ŠŽÓ•ÇÔ0Ƕøyþ0ç*ü¸d]ÔïìÆß£…qp5év—SÏÉÏûwÄõò˜nôfXšC ùaÍô+ä+º~ þ‚VO*}Öð/—ʈ?Ù08“úG%ôÙ9¼Vó•‡ï#®È×]ó¥ï¯d÷?ì9gN=vйò9¤¯,ßÞ¼¸­1ÛÒ!Žx;z¥)Å ðÅQò‘rò}éu{áLj„ŽËФ›¿—½’ý?¶Ÿû)½ñ!ð¬ztýûé/ƒëj®«â|Žh%SKlܰ }úé’8#ÿÏ&ž_?<ƒ6pÄ^p¢)Öó0ù s«]>!ä+ãèœÆ‰óSÔéÌ­7ôN‰_„x½'зˆo?E½.¿¤ úÇ'é+VC⃔ø°7)ï?9€.¿‡óµ„þ°ôšòD¯døgôÓ3ÏN~îZ_£ðYÄŸÅ_.Ñ»yâÒ%v“ÈçT:Í‹ÇïÐjè‹©Þ”üÜ àÙáO/? /'~ÖÂëóJp{å“òc~«…ÂÔ¥o#î—ÂwªÇl|Lé‡å?’ õ út¾ =¯ædˆ·â]£³‘îÁáí€Ãùø÷áÿrŒ¾‡æVà¯è¿€·îÌ¥³èáüÎpží#ÿï% ¿ZþïyaNx2G9âg8/Àuä;í!_HômÒ¯¥Ákˆg{áSlƒ÷ ?kù6êy§yÎMð¿Ê©G*˜ãQ‡Ï+u½Mq^Vâß$ßÀ^êÕøA ßrΛ¤þÒù9~Dÿ:Ñ/dÿKÑNYK°¼¨¾Ÿæ€„Ÿ|ç&è°^ïBçK#Ÿ—&/ì€Ï0 ÏHýíq^ßÏ|(¼~Î,ê×Ä—›û=Jþ1}üí$qõ(|Š6pBÍÙm º½9g–C'õ ¸_õ':â„7<aЏŸ:k; ?æußxØ„øgÔ»-Ô¯åÌ?"/máÜ:ˆàx~ øÉúº#ðEðÁ±QîÓ~Qíà~rމÿ5ɾAÇjíì‡2âöqúõô!„×ʇ©8{¼Gº…Cš—Ǽ¯Zåñàk]|~šû× n^Ëü8§/²\b€y/ò;Ïp•ò—^¼Iϧ¾ã†óžðCn<Á¿>nQÎz®áÜn½+ð¼ŠsG8¨æß=Êß÷Ò?Ñù4 é8û³•}%Ü_< |?Àd¾L?}Ô1êŽúm;¨ë¥û•/S}Gñò„kÊ? |z+éê{®c}Ž‚[ÈG_çÀÏÁÄ«•~ þ»]bkÀõ½’<5Ãúz–ó¢—×i úAo¥¾¨¦^¨'9Źñ,s¦8—NRß7ž—÷F¸äÕmô}ª¨c4/~?ùR3þãY·Ò¹7ñ½Sv‚‡÷P¿7²¾êù>¬×QxΣÔÇ8×;áU †ø8g×9@ØÉüŠQð¥~pÑÐçšsÆYï sb,^—ø&ïçÜ3Ñ%Np=OÛ¨†&¼´ üœþïϧÿ·à³¨‡¦˜'?E?¯:¨‰<‚ºßQ_ôs^dߤÞ+„w õ8Lœ’Nj ½QúNmì3ÍuïÕœ)øòUØîZÊ\‰IúI•á:\¼·nžo+8£æ†Õ¡£=F߬¾HZxxB¸‰øõòK¯Ÿ¹í¡ ÿu¯£Þ@7`õ༥ôyʨ›&ɇ¥wî#® /j!¯”îIúFéå7_ƒo1óR¬ˆü­2ԋ‹ìûBó ñîÆïqÖÕý°ãä!­àJÒ kýÉç&…Oä8ÏAÍ™ä>3Ÿ²¾êáð3åWÇ\¿j|s¿sê‡jêü4ßÊsÉÛÕº¼n;üÝû¨W‹ðÁ”?pxqñ0žx5ñ¥‹yS øŒ¶Á'h†ÿ>1‚C†ø9®Á"ë7’aýËŸ»—ø}„úr>ÑQòÍNò¼€ÇÌ9“¸1@¿µƒ}}˜z©üj4àsÎ$O9FüU¾,]o8眱IöÍ3ôMÊÏÑ…7‹WzŒø>I=P¿ã:É6òÍIÖÁ$ë³ <¿ ÿ8üÓ}œ¨¾àA|ÅF¾uôKɼ‘a|*ñ…eŸŽ’oµ‡çåZ‡­à6“Ô{ØWÂcÖÓ>Îý¬ÆŸXñ²—Ïm'êÆ?­Œç9Äüïzúèû’~û®K~Å­Ì”#s2¾°7§Ä7‘ß‹öþ46u}™^úÝòÖŸ`:ùGªþ*$Îé9o¢oÎ9ïµô˜ŸbÇ9×RìCñâºðoÈ¡ÞRÝ?ÞØˆÎf:mü¾m÷A}ªÎñCðÊúXWøÏºøwòEhßÏ·€“d85§ó~ÎùÇUQ÷×£Uß?¯£Ï‚.Mþð®ùNâµIÏ ~}8áâ1ïãšã•_q ¼¤‡õ(>íþòмê4ü‡‰oΙõùðûIøZSðjá-&ó¸‡ÁªÐõ¶Á“¨¿ú vúŸòS¦®“E#}€1ÖU3¼à>̓§#ܸ‹û6Êú¥?3FŸãùá@¸sΤßO½|û0ë¶¼üHèe_æ+¢{ªÄÿQëÂé9Î-ÍŸyšë®äþHÑÌù7ŽÏú$xxšux_š}ðÅ„ÃMÁŸo‡WÒê«—=†^ _;;H\?òXÏ s!lý­ƒÔÍåôAÇÀF©ãÛÀCås¤¾Ã>}ùäÍ-à‡…Òyq®Ô¡[W=ÙMü…_jÜ'ùÿ‡ï ™gNß¡“ç‚'ÝLUùÊÂk Áëà}X'ÿ~}>úíLjkÍèi5—@:TùÎq¿ÝâÖ}7ü bîŸæ­nC×ÚI\¬ o!ÞîÇçe <>ñJ4'}8ryö.Ö©Ö¹tš&Áµà~eôSìÇtâ‰3GÜSâ#‘Ç=MýØޝ:aœ}&^aønówFBÜœs<¯Ip¤ãø!ÃÓvù‚ ?iÎA#<îòP¿¹æÑ?OpúƒðkR'5³¾1'¥‰<£›}ZKÜ,†—ÝÂúE8ŠÞm ^xëŸ9³ˆ'ÃèH»À­ŽP7õá·rå(8Ü êôvðÈöwW¨?çœ ^>NãYpß-øn?ˆO¹|D¢w;oa1øêyÁpª ú¹§Ø/º¯-â³±OÐïàþ ?†É„ßoߎø¦9@£ôcFéç´“/?ÞÛÍ|È úYÌ#³Vú–ÂõǨ£˜sîîG¸d3ýì q¥˜úçóRœoðŸÌá¹ >”^ªœx¿5àÏ^xäΜF—^ôÛª›ñ©’ŽxõÜ8çÁÃð#z¸^ñ÷Ñ‹_œä!ÌIð6ú ò§Nޤ§CÿÍ«À7¦Ðj~+óY­›>.úL;‚ú øHiæ"€¯%¾ß¬+g.­ ƒcÿì(ÿO|ßø¨š£ãðÌÝä);ð­'pÍ}¯ã9à/bøÛø¸dëå æ;Á»¸^ÄUäûÌ=wâeRw¢«°²p®¹ôB•ôŸ…ÿÞ.!^ò u}üöbò |wí~ O³/'ÁÍOÑ?MM÷5²!p‡bxÉèÏöiî4þ‡itúé¤nn&ÞhâûéœI‘÷Ëßy:‚Qx:£ôAŽ¢“é÷¼È9³V_þaž“|…Ž_ûÁ‡ŽÐwxŸ IòÀv|)ñ/¶°>æœÉûj>ð3ä½Ìa”A=qé(yÐ|ârpŒ)òŽýà½Ç‰/§ÈÃÑáZ+¼(ùŸu¡ë@_0 Šù*‰ß·ô ÃÔ]šs7 ?qŒóWxìÁ‡šåO Ž·œú¡{øÁQâkÎvæ:Y¿pÎñnðærxÿ£àšÛ _ÛJպċã<­‚ßÌ\c/¦nÒ<§|6ÄûŸ^ñï5mŸiùDtó¹ê×fðíÑ\ø¤¯×gøÊºòžrø iúzª+&èC‹''D|1æðÉÇÄN C¯}ßI¿uzNø®y¥ä!Ö©ó ¿0é|…‡®æ{ˆß/½7s‚]ójŸâœ/E>Ì{ò"þ¾Ÿ„%Ô÷òÃ~½(þךƒâࢮ¹Êòm_º}|’§“¿‹Nh’ë?…¥˜üQ|&ù?Jǧ:Ró`O7ì'/œä{.\¾G ÏQ>¶½øþ‰ç4Î1ßN%?¦æ*GO;Âó£êw»Àñ'ˆOðA­ƒ<·šÏGG[Ž¿x¸õI>½þŽô"cè?¥ËÛWGÿdÏYóæ„Kçá« ùžåÔyô·’Gï Þ._ØcøÔÝ,Ÿ\ü¾ÙÿÖ Î)ü4¯Wû]y™ü㞥ßÒ ¾¬¿?ŠŽ7|VsÀ»­;øGΙE0Aœ<ŽNJ}'õFØoÄÍ&öS¸~MÖD=˜áÜ8^p˜¸ÖŒžá(}Óvp¨òÝþõðq{ðm%/åsŽÀßÙGÞ1ú|sΤŸ<o¸‹}tX:t£wŸsF}ÀÙÇé6£¿y”ðTà/z†8sŒ¸±è^pʦw%¾z‡¸SðÖñ³Jø×è*¥·aÖü†©·÷2÷­…:‰ó8™Ÿ†÷¶>á€?ûíôA™“é™Ðs͵—OT#}¿pÕ|xÜ:÷Ö2µ"ô-\þouè‚3¢3óžC |ÞÖÍsô­zÐ5”ÀSâ:4¸„û‘&HÏø¼ÕÌ-:ãŒÌʦÓgžqÆ+ÎÎþ÷Y×ο!û_/Íþ_ôÏfÿoöŒ—üCö%7νaÞMÙÿýj^÷ ^ýþ_ºõú7Í;÷†y‹®[pË­so˜ã¼sÏ›ý…+¯z¯xùn]È?_tÚ?¿iѹ7ÞtþUóoœûÝù7οæÜ¹×Ì¿öÜó.<í%ç}ẅóèwç_ðžÙç_?÷šE ¢·Š_÷žsÛðús¦½~úUœsÕÍ×\óW>眫®›ÿù7<ï߽檹×Ï¿æÖëŸ÷ßøùùWÿí/ÿúÏÞºpÁ·®¿yÑÜž÷^ùÙ›-œwÓ5ñ‡¯ýìu núîu &vúÍûôgÞ8Ñu¾©<÷ò…ßÊ~½ì?üðCŸýqò¯§½nöó¾nÚÅ~æšEs¯wÍÜ$ŸzÁi¿Ë ·.8ÿ7.¸iþ¢ןÿÝøç.ʾõ¥§½èÕ§¿èÜó.9ýﯜwýü«çÿå{ÿéëâʹ×/úÛ/yå•s¯ÞÛòò+ÎÿböWÉúÐë¯8?»³W4s ¾#û‹°d’?ùà¹ÓþíôWgsÕ¼…Ó_ª8ýu¯¸âüÏ.\ð——ñÚì¿_7ïÆ[¯Ÿ{ýÜÿâ·¯¾âü+³ßxþ‚¿üUö ¯˜wó5Ï÷'Ÿ¸iÁõåW_pCö6þååe¿ôÇ‚'üóó^æ?g¿ù57/üsD™¾$O¿ºwF/ÍÞîó/9m_Lùé;áM¼üo¼ãk?67»äÒNƒW†ßο1ú>—~k?zó s>8ý蛯Yôÿ‘oÖëÿÖUþ×Â[]·ð¯ÝW†ß†Hpú/.úȼën½vႹ7]³`áÕúÛìQ3oaö±ž÷îwe×Ç鿉b•>ñÃó³Aÿ†¿ÞpÍü¿}¦¼>zÁå×d/ø¯,Í«ç-šûçu5íWšwãm%2^¾pîÕÙ‡ñ7Ï‚KfŸyö_\}ó¢[g<¡žû¼¿;ýÓßyáùŸš·(œ% ŸAžþ=_ø•O_þõ ¿vúOMûiö´Ÿ.ÓOÿÝ…Ó¼hú³§ÿxñô/™þã¥Ó|ÿô§îìé/ž=ýų§¿øâ÷Mÿñ‚é?Nÿ Oÿ Oÿ Oÿ Oÿ O¿ª‹§_ÕÅÓ¯ê’éWuÉô«ºdú[]6ý·—M¿æË¦_óeÓ¯ù²é×|Ùôk¾lÆM¿æË’kþ‡èÇ Þ÷¾?_0ãç gü|ÑŒŸgÏøùâ?_2ãçKgüüþ?ϸ¾ f\ß3Þÿ’™?Ïø¼Kf|Þ%3>ï’ŸwéŒÏ»tÆý¸tÆý¸túý¸ðâéïwá%ï›ñó3~¾pÆÏ3Þï’Ù3~¾xÆÏ—ÌøùÒ?¿ÆÏ3®oÆ÷½pÆ÷½pÆ÷½pæ÷½tÆõ]:ãú.q}—θ¾Kg\ߥ3®ïý3®ïý3®ïýÓ?ÿ¢?¯·×}å² gðÜ/,œwÝܸN ‰¤~ýú¯\vÁÿk»ìYb0<ôã´Ð–‚é”B®X:Ý]BÖݺtx*I ††ÄCÓ_ª³ã;‰d0èAÒûÚ7X:NŸ Ó1ÿPÍ

Në-_cú?ü0Ç’§¡äµYózh×iÓPb·U˜ÏEšªZç± –úæÌÞ4ÝUÙŒ÷èú·DdÁ}Jöˆ÷’<ÿœþdOå¢8¹wä·ôý‘œ_o8‹Ü­öÛ±õ£rž[á÷ÿ不֬x£­§˜IWï:\}·9´û¦=´Ï&˜íŽ·5Óšɻ’ß?\%ŽÙá|Q…­ùüª;=Cce¼™Ò±ãbYnŽá‡/ %X $ÁIðI²0Ha …A ƒ†,ÜCH.”]Hºt!éBÒ…²Ëåp»ŽqRYE¤È)òŠBrCÊnHÒ Iº!I7$é†$Ý"ù¤O³¬Ï±Ð„Ь"RäyEùkæ>»q,Ü"¡"«ˆ9E^Qtû‹Ï?zNP«# pcaMethods/inst/0000755000175200017520000000000014516042207014641 5ustar00biocbuildbiocbuildpcaMethods/inst/CITATION0000644000175200017520000000164614516003735016010 0ustar00biocbuildbiocbuildcitHeader("The pcaMethods package implement algorithms found in several different publication. Refer to function documentation for reference to the original articles.") citEntry(entry="article", title = "pcaMethods -- a Bioconductor package providing PCA methods for incomplete data", author = "Wolfram Stacklies and Henning Redestig and Matthias Scholz and Dirk Walther and Joachim Selbig", journal = "Bioinformatics", year = 2007, pages ="1164--1167", volume = "23", textVersion = paste("Stacklies, W., Redestig, H., Scholz, M., Walther, D. and Selbig, J. ", "pcaMethods -- a Bioconductor package providing PCA methods for incomplete", "data. Bioinformatics, 2007, 23, 1164-1167") ) citFooter("This free open-source software implements academic research by the authors and co-workers. If you use it, please support the project by citing the appropriate journal articles.") pcaMethods/inst/doc/0000755000175200017520000000000014516042207015406 5ustar00biocbuildbiocbuildpcaMethods/inst/doc/missingValues.R0000644000175200017520000000327414516042034020366 0ustar00biocbuildbiocbuild### R code from vignette source 'missingValues.Rnw' ################################################### ### code chunk number 1: missingValues.Rnw:43-44 ################################################### library(pcaMethods) ################################################### ### code chunk number 2: missingValues.Rnw:46-49 ################################################### data(metaboliteData) mD <- metaboliteData sum(is.na(mD)) ################################################### ### code chunk number 3: missingValues.Rnw:52-54 ################################################### pc <- pca(mD, nPcs=3, method="ppca") imputed <- completeObs(pc) ################################################### ### code chunk number 4: missingValues.Rnw:58-61 ################################################### data(metaboliteDataComplete) mdComp <- metaboliteDataComplete sum((mdComp[is.na(mD)] - imputed[is.na(mD)])^2) / sum(mdComp[is.na(mD)]^2) ################################################### ### code chunk number 5: missingValues.Rnw:64-66 ################################################### imputedNipals <- completeObs(pca(mD, nPcs=3, method="nipals")) sum((mdComp[is.na(mD)] - imputedNipals[is.na(mD)])^2) / sum(mdComp[is.na(mD)]^2) ################################################### ### code chunk number 6: missingValues.Rnw:71-80 ################################################### library(Biobase) data(sample.ExpressionSet) exSet <- sample.ExpressionSet exSetNa <- exSet exprs(exSetNa)[sample(13000, 200)] <- NA lost <- is.na(exprs(exSetNa)) pc <- pca(exSetNa, nPcs=2, method="ppca") impExSet <- asExprSet(pc, exSetNa) sum((exprs(exSet)[lost] - exprs(impExSet)[lost])^2) / sum(exprs(exSet)[lost]^2) pcaMethods/inst/doc/missingValues.Rnw0000644000175200017520000000565414516003735020744 0ustar00biocbuildbiocbuild\documentclass[a4paper]{article} %\VignetteIndexEntry{Missing value imputation} \usepackage{hyperref} \title{Imputing missing values using the pcaMethods package} \author{Wolfram Stacklies and Henning Redestig\\ CAS-MPG Partner Institute for Computational Biology (PICB)\\ Shanghai, P.R. China \\ and\\ Max Planck Institute for Molecular Plant Physiology\\ Potsdam, Germany\\ \url{http://bioinformatics.mpimp-golm.mpg.de/} } \date{\today} \begin{document} \setkeys{Gin}{width=1.0\textwidth} @ \maketitle \section{Missing value imputation} One application for missing value robust principal component analysis is that it effectively can be used to impute the missing values and thus obtain an estimated complete data set. The pcaMethods package was partly written with this application in mind. PCA is a way of creating a model of a matrix, $X$, by defining two parameter matrices, the scores, $T$, and the loadings, $P$, which together have less values than the original matrix but when multiplied with each other well reconstruct the original matrix. I.e.: $$X=1\times{}\bar{x} + TP' + E$$ where $E$ is the error matrix and $1\times{}\bar{x}$ denotes the original variable averages. Now if $X$ contains missing values but we still are able to get complete estimates of $P$ and $T$ than we can use: $$\hat{X}=1\times{}\bar{x} + TP'$$ as an estimate for $x_{i,j}$ if $x_{i,j}$ is missing. This is can be done as the following example illustrates. First we attach the metabolite data set with missing values. <>= library(pcaMethods) @ <<>>= data(metaboliteData) mD <- metaboliteData sum(is.na(mD)) @ Now we get the estimated data set by using PPCA and three principal components. <<>>= pc <- pca(mD, nPcs=3, method="ppca") imputed <- completeObs(pc) @ If we compare with the original values we see that the error is rather low. <<>>= data(metaboliteDataComplete) mdComp <- metaboliteDataComplete sum((mdComp[is.na(mD)] - imputed[is.na(mD)])^2) / sum(mdComp[is.na(mD)]^2) @ When using a different PCA algorithm, we get different performance. <<>>= imputedNipals <- completeObs(pca(mD, nPcs=3, method="nipals")) sum((mdComp[is.na(mD)] - imputedNipals[is.na(mD)])^2) / sum(mdComp[is.na(mD)]^2) @ If the data we are interested in was gene expression set of class 'ExpressionSet' we could simply do <<>>= library(Biobase) data(sample.ExpressionSet) exSet <- sample.ExpressionSet exSetNa <- exSet exprs(exSetNa)[sample(13000, 200)] <- NA lost <- is.na(exprs(exSetNa)) pc <- pca(exSetNa, nPcs=2, method="ppca") impExSet <- asExprSet(pc, exSetNa) sum((exprs(exSet)[lost] - exprs(impExSet)[lost])^2) / sum(exprs(exSet)[lost]^2) @ Different results will be obtained with different PCA algorithms. Which one to use depends on the general structure of the data set and the imputation performance can be estimated by cross-validation. Please see the 'introduction' vignette on further details on how to use the cross-validation capabilities of this package. \end{document} pcaMethods/inst/doc/missingValues.pdf0000644000175200017520000031477614516042034020752 0ustar00biocbuildbiocbuild%PDF-1.5 %ÐÔÅØ 10 0 obj << /Length 1841 /Filter /FlateDecode >> stream xÚ½ÙŽÛ6ð=_áG­ž•@“ôHmÍ-Ð´×æÚleÉèlöï;á´¶#l‹í‹5<æâÜ~yóìù7Š/DŤ0zqs·Š3­ªEYj&k±¸Ù,~-ÞìÇÚír¥„*öa¦Åû¥‘…kŽ~ õññ(î<‡åJ–ÅÚ]ù¸ë®ŠÍ°üíæ{`f™f±’‚Õ³ƒ[/áúŸ‰ðÖãER,Ü1F¢«ªbÜÖ€ø6ãý¼´²èš»Þí-0y‘RUüÙ„$u톀ï|Û’ pá'¿ñC Û$ÓÊÔ¬®€¶P¬Ö™ö«¯Þ®®®¿%Ük$êúØúž6Þ´€Ñ¹».ï¿êðÝ\ ]ëÚzºž@ÛÚxÇ ¿~óê%|½ ¯Áçìßî\»Ý¹ðé(€û‰e.»Ðº„ª ³ªÌ¨¡¢ÆI-!Kfêêœð•ûI6®¥Ç"F•–¢¸Ôêªküúظžös)mór‡TÔtDÖ¶då¥Fé »8lÜ>+õ­ï÷H ÉäúÂäŠYpÑ3åv1^<~ºÐ‚|{xêõÀö‡°?¬–+-‹m×ìa½eÿ|Αªš¥ÀS•!¢?®cw›¼t´¯Ôh±,§äReÕBh¦tI pFäWš±,¡LÁyq5ÅLYBÌ”"Å .«"L^Bte½,e‰dy +ê,\‹HÖîphš°ÒÙÇÖ'á »žåÈ –}w{P™HëCÚu8$ï„å4·E×úÉ¨È üL:Њ¾5Ä·‹ÉÀ #½)É8Î;®”_ÇðIùæ¶×®%à6±ò´8~CPì蛞%ŸR*àD9ÊRNI&™p£Qx }Àk0Fy6.:‚!-‹›QFz³t‡’(œÒ›ÅôfRzK(÷¸å²°¬úd%z3^Ü÷!FŸ¿ Üœä»d¥.œ6’îJÃóévÃ(Óhˆ$}NãúÕW(}Œ,Ñô´$ñç6º;ú®QVï¨:àFFØgÍ}sz¢o܇Ÿf‡W'/9g Ný25ãÊŒ ,emÁ™FÙ,0ÏÓí$Rij¤AGEŒÙSj”R³J”ù%J¢›$\ûèkÈ$ɵäŰîzÜýXòZ3L+Y®›Á¡ÌòSÁ‘pòX$…¼Ë‹p7#4̵ÑO¥p¤''µ vS·5z ²SÇÅIJë”DH9Ý ý*&]Ÿ÷@Å aS_È|`Ý‚n§I%7pÀÊŸS–ÌVÕ¹âÝœ®pAiýTFF3ד/U;0ÈÉÐ9éB»Ï™áõ¸ ÝÔ‹‡³:I´&"ƒó÷9§åM…36žÿS¶3ÿO¶Sÿ4Û™”íôy¶;OSÇf;ÎnlÄrß•;Tèè°C7£}lÚgм€>á#%å‰l†•5vnL×Y¶ðÙsN#Y”NïÝÍ>‰ø¯Øå‡Èñ<¦¸(ìEZ¹¡ö•›bü’;Ç1Zlº6C.ߣDÀ]×4”œhF€-ÿÁA”çD‡´›æ}:Ö}eŠoB?D:óI"ãcë‘™ð3m34“ŽÆ™® 1Gc0ë¤`¥¾fìÄ“K ©'Oÿ Ð¥ÇtÇò iÎBaÁ?rò% ÒM¸í]ÿ€ÿ&`ò@j8}l†é~Þ½d<”‘’]ƒx ÿkÚs­TFÜ¿¦ï竼&„ŒdÜÈÃqLÃÀZâþ1ãÈ”ÖJŸt¿ŠßˆõüÌ|ªêT¯Ô8x‚S1@€†Çñ–Ù‚ ãÕqÎPiºÌ!Ùâ: N忘hï3Ù4fƒ•ó¤-O'íÙ!t¿s%–üŸ¬~ü¿+½Ó³¯ožýò÷7 endstream endobj 28 0 obj << /Length 1084 /Filter /FlateDecode >> stream xÚVKoÛ8¾çW½D"E”%ÛšÚÆvÙ1°· Ðm«‡!Òmòïw”#¹ªcäb©™Ãy|ÃÏ˫ۯq2JƒtMGËÍHDq0£Ñ,œ"JGË|´òþûI”xûŒÿ?úíZ~ “°¼¿áuõ˜™»‰[”ÊîÆ¾ðêüîÃ4?€ª_þ5 G¾Aš$=p]îVåý²ºÜÊ*ú{mð´}ÖÝ~ÿ^=GXXáaÿÜŒýÉdâýGsO¡œl”û ÑA”ìÎmÕÞêJ¼ú1NOeN‘&žAÔX´Èv'í ˜jšºaQÖj$|u{Ep?¾I/íMúÊ¥åp++×uh«îa÷‹‹Ò.sTìØiK÷é‚2‡!gsEΘ rõ€Ž|g]¿—ÝÕQ -œ"þü‘ó¤{Û;Å@†hÔ9Áqã~#p[ÌÙíUëLˆ0Šç".Ÿ®Í?;Uq¢FW[Οä\ 'Õ€¤ÐåýñË'd±…:²»òæX6³¶l¶Êž€Ü`…5›º)e•©ËkÃ…÷Aï%†ÁíØûˆ²ÏrVSÈ)·ÇVè_Ôâ޽’ªÂî°‡+Ä6ÔÅoÔÙû˃ü7ƒê— Ú­N ßS$‘HR‘‰ˆƒ@z†D4B¸Æ•¥#c€Ì¼‚æ”Cî ñÛk fž4¼ØªŠLBO=ÓÝ$b£kÉ(ò n[–kçLVÀž4†w¯a±xFÃ=œ Æ•OùóÛût³ø¤ìõuŠÜqd«xqu\_\£…^7²yÁÔ|Öõ½‘æ-ÎjIÏH¬ÜÏí%ÀÓ_̧=sõü„×e<‡´hCÚ"q‚Pd‡¡Ïíê2¶¦ë¢·+v¿ˆI†®÷¢0ì´E{Èç3'µ9¹Û±öéð–-ûtîo¼xe *Á»¨3é?å§§Dµø5'Ò`RŸ˜m˜™nz¡¿œq^ÃŽhÏ®DV«>åK¨ÞÑ=Ï7ä¢]ï”wN#I„³Ù™±4c£ûÓ¹MC kp‘À³¦(xZŒ'n×k+u…|ƒŸøíƒR>H³ …ã,3Ðz31‡±¨3TtÖu¥†’maÖÄÓF'žž¤^®Ül«rßêŠÿ‰5QÙ®Áé…»Æ6‡Ì2IyÃ:ü¢l1‰fIë Yå­¢³¤Á"-´øPùœ\à´pîe‰5œQ™aØZ—’–kŒÂ‹3hjc|÷\Ô9ñŠ'‰÷X(i‚QNàIµ›MM'åpg0½rõ‡ÞVÊâK8JEÿ7‡†_”¸Èá-§ ÓÕˆ¼?3yó‚ÿ”ÚØ9aè î‹Ü˵†¢V-ô¦5†wíPT%•ȶåWÌHLÓ`2M šCD±SðÛÕbyõ?”K* endstream endobj 30 0 obj << /Length 114 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04WÐ5W01T0µPH1ä*ä22Š(˜™B¥’s¹œ<¹ôÃŒŒ¹ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. õÿÿüÿÿ†þüa`üè?’›îçrõä ä—5ez endstream endobj 31 0 obj << /Length 116 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0VÐ5W02W0µPH1ä*ä22 (˜™Bd’s¹œ<¹ôÃŒŒ¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. õÿÿüÿÿ‚êÿÿc`¨ü¨æ`°›ÿp¹zrrléI endstream endobj 32 0 obj << /Length 99 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04F †† )†\…\@Ú$l‘IÎåròäÒ pé{€IO_…’¢ÒT.}§g ßE!¨'–ËÓEAžÁ¾¡þÀÿ0XÀ¾AžËÕ“+ ‰;“ endstream endobj 33 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚ= Â@…_°L“#8ÐMLRØðL!he!Vji¡h'š£å({„”!qœ-–6ß²ó`ö}›ÄÃtÌ!'<ˆ8 9ñ1¢ Å© å»äp¦iNfËqJf)c2ùŠo×û‰Ìt=ãˆÌœw‡{ÊçŒÞ@в¶^m ´­…ו„û•W÷¨”x:ô däTLdOñ”€_Öû'¤X`–*ºw]!WÒ¢qµ½z¨‘º9KõUóïÐ"§ }}dà endstream endobj 34 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ31Ö3µT0Pac S#…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]Øø XŠí¸ˆÿ7001;×ñ¾Äójä‘Ô®ÿÿÿÁÿÿÿ?À0ˆÏåêÉÈÅFJÜ endstream endobj 35 0 obj << /Length 222 /Filter /FlateDecode >> stream xÚe1N1Eÿ*…¥i|„Ì ð.›-V Ab $¨(U ¤A›Ý£ù(>BÊÑóÓ„,?kÆÿWíEw¥µ®¸kí.õµ‘i;¯O%/¶ï²$=iÛIºó®¤á^¿>¿ß$­n´‘´ÑçFë6Šx0ڄʬ ˜íÍŽX⌾T†~ÂèËϰœfGvÄlŽâgØ×ÎOÈ —˜À<|žðHTGÇ‚+î©¥µ§Ë‡D5ÿWôTŒL3ü*Ù¡¸=·‡2šÿÐþ‚½,·ƒ<Ê8hñ endstream endobj 36 0 obj << /Length 181 /Filter /FlateDecode >> stream xÚ•Ï=‚@à!$Ópæ.¿ bâ&ZY+µ´Ðh £pJŠëL±hë$ó%ó^5YºÌ Š(áÍʺÄxÇT²HN)Î7¬4ª¥ª §¨ô–ž×Uµ[QŒª¦cLÑ uMþÁÄ„B9ÓÌÆ›‹‘ñGÐ3aç(if ãMŽÅ( Œ/½#ì˜`Ëc„÷—V2öOZË¿Z;ý®5îñÜþtý endstream endobj 37 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ¥Î= Â@à‹À4{„Ìt³&)!à˜BÐÊB¬ÔÒBÑÖ,x¯’£xË’qFEÐÖæƒÙ}o“¸v)¢„ZŽ’ˆRGk‡;ŒSʱóÚ¬¶ØÏÑÎ)NÑŽeŒ6ŸÐaÜ íOäÐiá(Zb>$Ã\CÈÌßÈÌüǹ.ì5ïªTʺ)ñ7¢ ½œùPÐ €ù\è)'…ߘ'å-,e›ù$9óÒ‘• i«ÌŒþ `¾AƒYÒ Öš G9Îð-²c— endstream endobj 38 0 obj << /Length 183 /Filter /FlateDecode >> stream xڕͽ Â0à+Â-¾Þ hÓ NB­`A'qRGEÁÉöÑú(}„ޤzW©Eqñ _Èå~3°#ò) ¾¦À';¤Æ#ËI~š×Ïö€¡Cµ"cQÍ8ÊÍé|ºìQ…‹ iT­5ùt]ãÁ‘ Ù'é`œ010%p1ßà ­‚içBÆt*R¦—€t 2;nB)¼û½¢¦•×4㪙_T+~Ѭý‹.œ:\âãM† endstream endobj 39 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚ}O» Â@œ`q°M>!ûz‰I «€0… •…X©¥…¢­É§åSü„”Áõ²W؈p w»3s3Y:Ê'sÆÃ„³˜ó1ºPš»¡{¦~s8Ó´$»å4'»tc²åŠo×û‰ìt=ã„ìœw Ç{*ç Ó(¤Džˆ¼`D:„y#jAÔ BQ»SQ]9h@ø”¢9…׆mðÆ 3/"-PIÿoÓ™n•§ ÕªË×ÙñÍó?|ÉR3{¿¾‡6ÒnÚRûúæ}Z”´¡ëån endstream endobj 40 0 obj << /Length 245 /Filter /FlateDecode >> stream xÚm1NÄ@ EmÉÍa|HB’b«‘–E"Tˆj¡¤`í&G›ŽkøéHÅü 4ÒÓØ£ñnêóv+¥4rVISJ{!O¿rÝ¢‰²þ~9¼ð®ãâ^ê–‹k´¹ènäíøþÌÅîöR*.öòPIùÈÝ^(Ÿ‰(`)3SÚ˜èç¹1›É+-:%ô8p'?, ó\üú‡%ᔀ^Ê‚úH½"È4Ÿ)ÂM¡ñ©úP¨9%7¹Hiè/üŠ!©¯ Gó«dLºâ!n&{„ÁÈë•|ÚÒöÍ J™MøÞc_u|Ç_ž!r· endstream endobj 44 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ%ɱ Â0…á#ÂYú‚÷ LÓ´ˆ‹…ZÁ ‚N⤎Šn‚>j#S®A៾¿vÓf.¥ØJ\#un&gË]•õçÿuº²ó4{qÍ:#ßÈãþ¼ÐtÛ¥Xš^VÊ#}/ ˆ@›ÕÏH5LTã;µIc‘4 Uô%0æÊsÇ/Z)µ endstream endobj 45 0 obj << /Length 199 /Filter /FlateDecode >> stream xÚ¥=‚@…‡PLÜ è²ÈŸ bâ&ZY+µ´Ðh«£xJ Îd)è-¾bß›yó6šÏâ¤3šf%gtÖxÃ0e5 $¬Ó ƒjOaŠjÍ:*³¡ÇýyAUl—¤Q•tÐÑ”àÔîÀg&Ì›ß}NÇr à5ƒÅr^± ÅaÛý2󆿶ã“Ê®ä`‘Õ׉iÿ`œ•»r_zHé&=¥¯| z)3”óWwøFHH— endstream endobj 46 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚu1‚@EÇPLÃLœ è‚ÁÊ1‘ÂD+ c¥–&j´ŽÆQ8%…gd•B-^6™ÿgþß‘;ðÆd“Oý€\¼€öžqðÇ~£ìŽƨÖ4 PÍyŒ*^Ðõr;  —SrPE´qÈÞbt ÇLR~3&0 £è> stream xÚUޱ Â0ES:Þ¢Ð÷¦µ±ÐI©Ì èä Nêè è&´ŸÖOé'8:knh †ä@Î}7D%“YÆg¬X¥Øç˜n”¤ÆE¬¦68])×$÷œ¤$ׯ’Ô~ÜŸ’ùvÉ1É‚1GGÒ ³æxos «ï*!‚¯¹…ø¦÷~‡ÑÖù²ŽZoŸ(kÌ ‡²B" PõÑðqã>´.îÛ¶ø{€°xcA+M;úç–=Ä endstream endobj 48 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚU޽ Â@ ÇO YúÍx­w8jotr'utPÜê£õQúŠ5I-Ôåù$±f2›cŒ-ZƒÖá)+GZŒv*Æñ™½Cã@¯Hí×x¿=Π³ÍÐ9îŒàsT/¥Ô¨"ŒkFÃ㇠ZFQ"¶Ã7!Ø\LÅ®{»kwÅ; #e´%ç(𮈻iõÓÇÜ›^/ªaTtY!ŸÉ)yçÉ@,=lá M>k endstream endobj 49 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04SÐ5W05P0µPH1ä*ä26Š(˜™B¥’s¹œ<¹ôÃŒ¹ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. òÿÿ30Øÿÿ߀JÅ€ NÔa!þÁ‰?˜#‚øI0#ˆ˜;‚x€Ið#ˆ˜„<‚hÀ$ì&ß»ÿÿÿÿ‰z—«'W !èVŽ endstream endobj 50 0 obj << /Length 172 /Filter /FlateDecode >> stream xÚuÐ1AÆñ…ä5Ž0ߘ]cÕ&k%¦P)D…RAh­£íQA©;Cñš_ñ½êÿºº  ƒV:FÔÇ:¤i]âèyYm)5¤æÐšÔ¸šI™ ûã†T:"$•a"X’É ¤µB$Öž?!ä›Ä#rlj£tÜjžCÝsehx. MOÁ ‹¯¾ßÒÿ¹¹{•}R¾ÈmU@#C3zäTñ endstream endobj 51 0 obj << /Length 148 /Filter /FlateDecode >> stream xÚ=É1 Â@EÑR~“-¼ èäg”`£#8… •…¤RK EÁJ³4—âRZ„ŒÓ(œêÞ‘Ž'̨–Íi•ª<¨œE‹3æö÷ö')˜-µ³ CŒ[ñz¹Å”ë9ULÅ2«ÅUD‹¸CÒ#õMx‘fÀx¢ñi‹çþß î€,œlä õ‡* endstream endobj 52 0 obj << /Length 99 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04F– †† )†\…\@Ú$l‘IÎåròäÒ pé{€IO_…’¢ÒT.}§g ßE!¨'–ËÓEŸÁþ@ýúÿ!Äncàrõä 䄬e endstream endobj 53 0 obj << /Length 179 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0QÐ5W0±P0µPH1ä*ä21 (˜™Bd’s¹œ<¹ôÃLŒ¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. @ÀxD2?@ì,Î&å¤=ˆ`¨C"ÿ€ù ™? ÆaÄdÃjðÆŽa¦›ìÐÝ„lÔMð¹Iž$bº‰¿Ÿ‘ÜÄ6†¡Lr¹zrrШA endstream endobj 54 0 obj << /Length 118 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0S04S01S06QH1ä*ä2 (Z@d’s¹œ<¹ôÃŒ-¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. òÿÿÿÿc$þ!°‘ ¨øÿÿ Àb\®ž\\ÏŠ>à endstream endobj 55 0 obj << /Length 102 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0"3#C…C®B.#¨‚)T&9—ËÉ“K?\ÁÈ’KßCÁ”KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓE¡þÿÿÿÿÿÿà >—«'W ²©$Ì endstream endobj 56 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04S02W01V05RH1ä*ä22Š(™B¥’s¹œ<¹ôÌ̸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ò ü ö ò ö öêQqC=C=2Ãp\ÆàÀñ†   \®ž\\Õ8æ endstream endobj 57 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚUÌ=‚@`6$Ópæ.?’`# bâ&ZY+µ´Ðh+œL9 G ¤Ø°Î nñ¾ÌÌKfÍâúQæ!Æ!^¸C”ÐîëUçdø£ø†®ÀÅŸ×x¶[a<Çc€þ DŽ–eI ëÛÄ™p?šïˆ×“éÄR󞬱§öÊ?ÜjÄ+ R¥ I}ëi*»qúèÔD!™jUÇ”T­¡©¿ÁZÀ~'dØ endstream endobj 58 0 obj << /Length 222 /Filter /FlateDecode >> stream xÚmбnƒ@ à1Dò’GˆŸ @ C§“ÒT*C¥dÊPeJ;vhÕ®GãQxF„kû²D‰d>á;Ýñãòñ¡zâœ×ú”WôM¥õ¹µörú¢MMÙË5e¯ºJYýÆ¿?Ÿ”mvϬý–ß ÎToHˆÈèNî [`ÑCZ,{µÃª3ïVÜZµwŒ¼ ³™LæR¿D·Ã%Ú»º{F:™ÉlZY<ÀߨFãåÉxmãžÝéhÒÁîW£ÿõÞÆ IÄÇÓxLz©iOÿ¸Çñ endstream endobj 59 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚ¥Ð=NÃ@à¹Xiš=‚çà˜ØB‘,… á * D)S€ µ÷&\Å7ÁGHéÂòð6.‚DIói5û3o¶X—k]꥞åZ¬µ¼Ð×\Þ¤ÈY\j¹šw^ö²©%{Ô"—ì–eÉê;ýxÿÜI¶¹¿VV·úÄ;ÏRoðƒÐN>`aö˜}x3 H‡”V½£mH¨ñâbŒ&oÃNúhà»h:€+T¨p²=Úüq::þϤ‹º>¾F›_²/C2ã1eÂyaÜ:ÄùÜèã#fœÃÉ`ÖÅèx–!7µ<È=c endstream endobj 60 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚuн‚0ðkšÜâ#xO `âD‚˜È`¢“ƒqRG®À£ñ(}FB½ЄĤý¥ÿ~¦øópE.-¸K =ºzøÀÀçìšh.wŒStŽøèlytG¯çû†N¼_ç„N¹gL‚\kÐZ—ÖÊZƒ™o¤’-ÀT c Úš[£âçìÛº8RõòfÉÂ_yOwyö_¾ªµ6ƒ|pd‚mAÔ&²Â:©­•QV&òƒ£Ò˜¬ÐöëíP€®$> stream xÚuÎÁ ‚@àÂ\z'HÅ Á òÔ©CtªŽŠºEúh>Šàуh³kˆeͰü³°;ÂûSrÈã#&ä»ttñ‚Bpvd”‡3†1Ú[í%OÑŽWt»ÞOh‡ë9qŽhç’³Ç8"h¸re¡)¡¯‘ƒQÀ¨5“ñŸVzV \¿4Ù ¤0°i:“·uç“ûÓl3%üRk-Le00½µÏöåøãæËJÍKÀEŒ|ñ}xB endstream endobj 62 0 obj << /Length 242 /Filter /FlateDecode >> stream xÚmбNÃ0à?Ê`é–¼Aì' ¤ª¢X*E"LSadÈ`µy^ÉoÀ+dc$¢–sŒT@•|Ÿôßù»89šžª‰:æšòÉÕ]NTÌ8ÑV4¯)[ªbFÙw)«/ÕóÓË=eó«3Åy¡nr5¹¥z¡°é ìzÈí^½ÅÆAHœ¿ ^Ù_öŸÑk¢O mb¶2ñ{Ë o)Þ¼IP¶X—’5•”`ÓÑj´5Ò†uiSyû½² ®9iÙ^ZÃ&­WÀ‹ÄÁŽW9ˆ õ+¿å§ûo w }:¯éš¾ˆ¢{{ endstream endobj 63 0 obj << /Length 221 /Filter /FlateDecode >> stream xÚmÏAJÃ@à¿tx›9BÞ šFSŠ›j³tåB\U—.”ºjir½‰ä(s„én„¡ãË š…ÿ}ðÿ³šâ|2»à)ŸÉÍ$9?åôJÅ\z¨ÝÃú…–e÷\Ì)»–•²ê†7oïÏ”-o/YúŠrž>RµbÔµƒ·ðGx×+£$qP-Tô ªú8aÚ ý ¦Hñ«Ú”@\¨fñgm£{`Ü%íNGõP¸ iÛk,FÓû=pk0Žjluo-9¢Ôðþ¿m·Ë骢;ú[Ê| endstream endobj 64 0 obj << /Length 200 /Filter /FlateDecode >> stream xÚuÐ1‚@Ð![LØ è‚°!V$ˆ‰&ZY+µ´Ðh mÂ(·Ø°.¢1ÆÐ¼Lþ4ó'ަbN%4 )$ft ñŠQbÀD4lŽÌ ä;Šä+#/Öt¿=Îȳ͂Bä9íC XäŽé> stream xÚ}ν Â0à+„[ú½'°ÿ‚S¡V°ƒ “ƒ8©£ƒ¢sóh}”>BÇ¥ñ.EÁ†ËÇý$$q4MæäSÄ;žQÐ)À+Æ!×¾”28^0+ÐÛQ¢·â.zÅšî·Ç½l³ ®sÚä°È ´Ö Ä,¶5yoÔ“ÚfJN©Ñ­>¾ãÕTåHA¶±-£ÝIÓå?”ò±6*‘°<”+¼º1­ÁvL{°ùµÔ¢yõˡ˷øäjÒ endstream endobj 66 0 obj << /Length 245 /Filter /FlateDecode >> stream xÚmÏ1JÄPàYR¦É |sÍÆ}!°®` A+ ±RK EÁÊ—£å^a2Å’ñŸ‰‹6É̼yÿ‹«£úT–å°’x"õ±ƒ‰pÂ,ÑÎ\@Ç_³Ùès/*g.ù ù)¨&éÖL“ÙøOPëãv˜Y´µ‡ùÏì`nî ÿ,ß{à·ùOÄ›Mx±[l)õz»i²ç&µ$©vªX?zÎÌòEË7ü }„t£ endstream endobj 67 0 obj << /Length 197 /Filter /FlateDecode >> stream xÚUÌ; Â@à?¤¦ñ™¸ ‰«` A+ ±RK E[7GËQr„”)–Œ³Øh1Ìë/òÉtÎ)—ZEÁyÉ—Œî”Ï´OCç-*2Îgd6:%Smùùx]É,vKÎȬø˜qz¢jÅH€HƒH¤C,â10êã\ÀÖq‡¤ŽEÏÿqRc,ŠS4EB€è¨µH<,l«)®o ÿËðe@ä¡ß®±ú¨)]¢ôšîúX¼í!í¸£uE{ú³/^q endstream endobj 68 0 obj << /Length 212 /Filter /FlateDecode >> stream xÚuϱJÄ@à_R¦ÙGÈ> stream xÚ•Ž1 ÂP †q(d°Gx9¯¥OA ZÁ‚N⤎Š®mÖ£x„ŽÒ˜Á!$!ù¿'3NØ*Φ|IéNYÐ>±Öç-KòÎùNÉ—[~>^WòËÝŠSòSNNT ȈD'Ò i!Š4y;ì‘·ÑGwp{c×ȃjCeè ß s»]Ø—ÊžZž†º.þ"US³“‚9©-­KÚÓ¦IÆ endstream endobj 70 0 obj << /Length 218 /Filter /FlateDecode >> stream xÚeαJA àÿØb Í>Âä Ü]vÏÃjá<Á-­,ÄJ--mo|±é|y§¼bœ˜áÄC®ÈB†þdyÆ-Ÿj /;~ìè…ú•æ¶Ä2xx¦õDÍ-÷+j.µKÍtÅo¯ïOÔ¬¯ÏYó†ï:nïiÚ0Ùýêñs ü’#ŸV¾œH€ˆø…|ˆ¯Ä›œ¯Foý;sŠ+lqÎ…¤à÷Ƕ÷d,²6ª‚ɺY'=alp µ¾Œ+ù–‰Êè%ÐÅD7ôpë endstream endobj 71 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚmŽ= Â@…'X¦Ù#ìœÀMX£XüSZYˆ•ZZ(Úêm’#X¦Œo[±Øf–÷æùa5•B&x#/~,§’¯ì+ÌEÓÇñ³†ÝN|Ån…-»f-÷ÛãÌn¶™KÉn!ûRŠ7 !ÒH”ë›ÈꇨÖ+UÊ4jôdcÞ‘‰æM¦µ-å­@l_ Ϥô"j‰~Ð' f& Ê”Ö74˜.WHÁe °Ê4ù½’©A— où \s`¸ endstream endobj 72 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ}Î1 Â@ЋÀ4Á9IH,¬„Á-­,ÄJ--mÝMoð¦L2ÎL‚ö±vY~ Gc 0äG8 q bÉD9ìŽðׇàÏy ¾Yàå|=€Ÿ,§È9Å ¿Ü‚Iѱ…ËÊ_­êª½ÆâŸ^cÞÖfì“8y/âû>Éß_[;b¥–â Psõ®fm]vÒ¨íº”¾V½i».¥o­VÚ·¥¥Ü[e¤Ú2‡™¼ ¹t6 endstream endobj 73 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcKS#…C®B.cC ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ì ò€øƒ=2>çgÀÿÿg`†àñzÑp=×aÁÿ€ø&fᘘ„?Àqýÿÿþÿÿÿ†A|.WO®@.ïûJÏ endstream endobj 74 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚuɱ 1 €áŠƒÅG0O`¯\opÎì èä Nêè èjûh÷(÷ŽblÂ-ò…?ñå´šaUŸ—Óƒ+”>·$?Ž¨Ø–ì*_Á†5Þo3Øz³ÀÜ î šH1D¯>‘1Cf$t c¡U˜Ia.…È<5¾ÌGa ¼ûD"JLKLü“`` ?:•RŽ endstream endobj 75 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚuÊÁ ‚@`Ń0Áy‚Vq :f‡ N¢SuìPÔY£Ó7|;µÁâ4kuh¾ýçgd4ˆGôOÆ q¤ì^Í·=@’X¡” fÜ‚Èæx>]ö ’ÅC)®C 6¥èh¿[®¦Š —¨¡’}PíOmåwjØŠnì•ÖîØÎÖ¬¶ÕGe·¿rÛºµInùOsá•&yÅ?Í…_˜ä[ßæ*o©&+jIÓÓhò»‡iKx—‚» endstream endobj 76 0 obj << /Length 180 /Filter /FlateDecode >> stream xÚmÊ1 Â@Ð )ÓxçnBVÁJˆÜBÐÊB¬ÔÒBÑÖÍÑ"^doà–)BÆÙÕBÁbÿFåƒáSÌøTŽù÷œ@ùžúêÃî…¹F•œó R/ðr¾@Ë)òZâ†?· KŒ¨6•ˆéA–}’c‰Eî-Û ol¼}´Á:X}±“·"jþ³&x±ûoÂvÁV$öGCÖëˆ* š~‡™†¼êõf endstream endobj 77 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚmŽ1jÃ@E¿p!˜f°s‚¬ÄZ1®d¢"W.B*'e »öh{A¥ ¡É(&E óàÿaøíª-¼Ñ]{öü^Ò™|¥ºXär8}RÝ’;²¯È=©K®}æëåöA®~ÙqI®á×’‹7j$¹ô€•2©%32É« ]Ì„hzØdL²¦úsÇ×_Lÿä_ØÄY£t:wÌjh^Hù;„F´U.Úo%m¥Z”ö-è/LRz endstream endobj 78 0 obj << /Length 230 /Filter /FlateDecode >> stream xÚuνNÃ0ð«:Dº%à{â„:&Km‘È€bj@°’¾y?BFiŽ>@U¥JÖOöÝùîÜò¢¸‘L—²È¯Å9Y^É.çwv™î/·}ãUÉöI\Áö ¶å½|~|½²]=¬%g»‘ç\².7B>š@TÅ*ƒvPU‰<ÜÓL_Ã: ØÑ¼¡y;§3‹ýóÄd4œÑÅ0 ½ã1õ¤iÈï{±•‰˜O¦K[¨lû£5LQB}!ѿՑßgìŽlO­4 b ó¦ûçÛ’ùÜv› endstream endobj 79 0 obj << /Length 179 /Filter /FlateDecode >> stream xÚ}Í1 Â@Ð]R¦Éœ¸‰VBŒà‚Vb¥–ŠÖÉÑö(9BʈÁqvE‹y0ÿ3LªûÃÆ8àI3Ôî8BªyÝêŠírj…©5ã”™ãùtÙƒÊL@¸N0Þ€)PR+IÔFdêÆÞ’jIW¢ZÈE,×Î&´¬ *>¨„`…óîí¼íÛ°ù°þmôÔþ³÷´ú²$j¼üŒ¼åKÎaj` ¿†Uà endstream endobj 80 0 obj << /Length 206 /Filter /FlateDecode >> stream xÚU1jÃ@E¿q!˜foÍ ¼Rd\ l¬Â`W)Bª$eŠ„\v¶Gä)U8ÿM—b3ûàí¼™µK­tÁ™ßk³Ð×Z>¤iyWùÌâå]V½øGmZñ[¾Šïwúõy|¿Ú¯µ¿Ñ§Z«gé7Љ}'8³„Îl€"M !#ÊT ‰pˆp‘›P\‰©`‰~ÀԅƲꌀE¢Œw€KÕ¸r40À€0æïâ‚ß=æO%›òÐËAnªRZA endstream endobj 81 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚuϽ Â@ à”nYúæ ¼Ö«¢ µ‚7:9ˆ“::(ºÖ>šâ#tìP“C…îãòÑKm8¡˜ÆrÒ¥#:&xAk%5ÕÆáŒ™C³%kÑ,¥ŠÆ­èv½ŸÐdë9%hrÚ%ïÑåHD¥ÐëbæfþRú›¯A¡#´JÓAà©;=L•â—Vi„@ …&ª!`®”ÈnOY—õoò .nð îRð endstream endobj 82 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚm̱ Â0àH†À-}„Þ˜–´ŠS¡V0ƒ “ƒ8©£ƒ¢«Í£Å7é#t¬P<“àRt¸ûïŽËÔ8Ÿa‚SW™B5Ác P¹Ë‰~q8C©AnQå —n R¯ðv½Ÿ@–ë9¦ +Ü¥˜ìAWX·œ µÂÑ ²0ã-‹‡FV°_j,{üáÍâ€aý€Ñ—ÂðÞÿé\wî¸v‘ðpzQÃèI6ð&‹]+ endstream endobj 83 0 obj << /Length 216 /Filter /FlateDecode >> stream xÚEαnÂ@ PGNò’OÀ_ÐKH@b!¥`b@L´#ˆnˆ¤vý“Hý¶Þ0öe`¸'Ûwg»ÈßFJ)—SŒ)Óg†G,†’§šêÅþ€³ 톊!Ú…TÑVK:Ÿ¾¿ÐÎVÓ6£t‡Õœbö%71w%;Ã]Í®û:$δ &À´ƒ nKoW1ò]Ћp¿©uû²tÁF@ˆƒu¨°ÞFÿjü§ïM0ùÕ>ÉŸÔ)è” èÄN¼6ª²#0˾¢ jÜ×ñ£Â5>Ý[¦ endstream endobj 84 0 obj << /Length 224 /Filter /FlateDecode >> stream xÚMαŠÂ@à )„iòBæÎÍâ´‰ày` A«++µ¼âŽ®ˆè£åQò)·®;»Áló±ü3ìüj:™-(#IorNjNÓœNPå6Íh¦úÑñW%ŠOR9ŠÍQ”[úû½œQ¬vï$Q¬éKRvÀrM`ºØèÈ> stream xÚuÏ1nƒ@Ð(VšfÀ\À^Ù’¥PXJªQ*;eŠDv m²G tØ Æ.’æ­4#ý¿J—Ù†c^ó"áUÆÙŸú¦4—aÌY:mŽ_´­È¼qš“y–1™êÀçŸË'™íËŽ2%¿'PU2µ|„þ (ßÚ2w(Ú¦E-zD6¸BÛðFå”{ íDØIÚ3ê?¯”ûmgDíŒj #’× Arf#érµÑNN,t']´÷cÉá^Þal о¢Wúqái7 endstream endobj 86 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚeÊ1Â0 PW"y€#Ô' MKU˜J‘È€CÅŒ X)GëQz„Ž U‚ƒ€ Ïòÿö8eSŠIÅ<Ò e ž1ÉÉ5ß—ý rKIŽrÉ5J½¢ëåvDY¬ç¤P–T)Šw¨K@ô1c5³ ™0|2 GÂÞAô¼w=ÿý œ§/t:ŸpZßÐi|‘óø©­m¬µí—˸иÁI Pt endstream endobj 87 0 obj << /Length 229 /Filter /FlateDecode >> stream xÚmбN„@àCA2 À<ÀÉ™X‘œg"…‰WY«ÓÒB£­ðh<Ê>%aœ™K¼Kî6ðegçß]B}}µ¾å’k{ox½â·Š>©®´.­´Æþƒ6-Ï\WT<è*í#ý¼S±yºc]Ýò‹ny¥vË@6CG'=D"ŠŒº,2ùdíf‹Fzìé-måý©É™Áé1º:šƒð;Ý_w1Â|4™Ìt4³hæn7˜öµ¾)ñxæñÜãM> stream xÚUпJÄ@ðYR,L“Gȼ€nb.r6¸?` A+ ±RK Eá*ï-’GH¹EØq¾‹‚²ð[˜Ýý†ÙE}Þ\I)—rVÉ¢‘æBž+~ãziÅRšz>yzåuÇá^ê%‡k+sènäãýó…Ãúv#‡­r·¢69MD^õH…jO­ê@‡±IÉGJä¢3&ƒþ`ËM´·S¢™ øñ—|0ÚÞ8‘oæFˆ ¡¦xoÍí2(ð"~øB³9~…ÚÐò}B@BTB_Cm˵c1a´H9æó˜Ôzã x×ñ‡k endstream endobj 97 0 obj << /Length 130 /Filter /FlateDecode >> stream xÚ-ɱ Â0…á gð 2œ'0¹-¥™k3:9ˆ TGAEçæÑòfÚ¢|Ûÿ—ÕÒ7ôlXUÔÀ:ð¢x@='eý;ý m„;P=ÜfÌpqË×ó}…kw+*\Ç£ÒŸ;Zä“Fy2d›åÏd“L*R!s™ÉB¬¹ËY°ŽØã ,P#Œ endstream endobj 98 0 obj << /Length 131 /Filter /FlateDecode >> stream xÚ-É1 Â@EÑ?^á ¦xЙ‰‰mŒà‚V"ÑRPÑ:³´Ù™&Nwo¾\ø’ž%红V\ó¦xA=y1žö:À¨n×w¸°ççý½ÃÕ‡ ®áYé/ ­tò‹½4è’M22ÉD³˜ÉT&2+•<å*ØñBÛ#´ endstream endobj 99 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCsK…C®B.K Ïȉ&çr9yré‡+Xré{€O_…’¢ÒT.}§gC.}…hCƒX.O†z†ÿ 0XÏ ÃÀåêÉÈ[\w endstream endobj 100 0 obj << /Length 101 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCsc3…C®B.K ×ĉ'çr9yré‡+Xré{¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]dêþ7À`=ƒ 1S—«'W fp"¸ endstream endobj 101 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚMÉ=@PEáþ®â®À¼™x¨ý$^!¡Rˆ ¥‚°{ äTß±4J2:*5¡Å4嬨`ö¢£ÿÆ´"žfšû¹@ò¶ BJJ7"”¼ï몀Ði ‹ endstream endobj 102 0 obj << /Length 172 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bSK…C®B.# ßÄI$çr9yré‡+˜qé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ø0Aý? Áøƒ½ýãù† ö@CÿùA2þ€’@5@’±D‚!™dþÀðPI¸ùÌCdþÃÀþƒ¡þÿƒÿÿ “\®ž\\^åˆÓ endstream endobj 103 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚ3±Ð31Q0P0bScSK…C®B.SßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.Oþ êÿ³ÿg``üÁ~¿ùûÆÿüäØÿÉ?`°gàÿ¤êàÔ õN}`o`üÁÀþ¤›™ÚÔøFÑ¢¢˜ÿ0°ÿÿƒÿÿ? Q\®ž\\à  endstream endobj 104 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚmÐÁj1à é^=;OÐd-‘õ$¨…îAhO=”‚ÐöX¨ÒÞ„Í£í£ø{ô°˜N"¸Q6>fB&?™Nî'izàmf4Õô™ãáZûÒ||ã¢DõJÆ zâ.ªrM¿»¿/T‹ç%å¨Vô–“~ÇrEP@X×ìû8õ \²²IU{ó˜»ùÁ3ÌbÆYã¥1Ezôè$æ'i=SË©†LÂB„p6Pu Ž–8ç:R†£ ²Ž÷›[4ß9Þ²áéí…ÃŽ&ÎÈ&üZÚú'­ãXήÁÇ_ð%°m¼ endstream endobj 105 0 obj << /Length 260 /Filter /FlateDecode >> stream xڭѱJÄ@à? LaZ áæ4‰Üª[-œ'˜BÐÊB¬ÔRPÑÖÌ›ø*¾‰yË+Äuv²g!–Bà#“ÍÌî¿ÎïúnÙñÎ;ÇÎóMG4÷Zly¿›¾\ßÑ¢§æ‚çžš-SÓŸòÓãó-5‹³#Ö÷%_vÜ^Q¿d ˆRPDZT†¸R´öR ÊOÔµ þ@ù*˜(ÞAWEÁ],øR‚º˜IµRê5ú7P­Ñ&?”2oÆ(~#FLØàgÈü5=dF#ïzv¢L;mf–Ä&,—mXJ[°Ìa Þ#å }Rº:%e-vÁvS½•Ô=U:î霾šes– endstream endobj 106 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ33Ö31V0PaS Ss…C®B.S ßÄI$çr9yré‡+˜špé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁõBýc``üßD@.ƒý0ÅÿL1ÿSŒÀÃ?UBÙ7@¨`JJ=SüPêŠýê (<ö¡9ÅñP¯@=ómrüC%h˜ACž  !@ y`> stream xÚuб Â0Ð  ·ô¼/0­ µ‚Dª£ƒ¢³ý4?Å/iLsqˆð’»INÍÆª œ&vª)©9 ¼¢‹åý¶O4¬4Ê©åÊFQê5Ýo3Êj³ ­ioK¨k2ýè D˜ÒÀ€§dFLƤ1’(­C8^Qˆ€„ÉÆDð¹ïɰ|pÃ1ÆÛ½Ó.þ"bøÿyÒ€Œ)™gëºk¸×¿àRã?UŸ’~ endstream endobj 108 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚ35Ñ3R0P0bSCSs…C®B.s ßÄI$çr9yré‡+˜˜sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þƒÀd’ñƒü†ÿ Œ`’ᘬ“6`R‰äÁAòI68ÉØ€L2`%™‘Hv0)"ÿÿG'!âP5Ⱥ‰ A€J$ãÿ `G@%¹\=¹¹Mÿx× endstream endobj 109 0 obj << /Length 106 /Filter /FlateDecode >> stream xÚ3²Ô³´T0P0aKSs…C®B.#3 ßÄI$çr9yré‡+™qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿ†€ˆ¡¾aècWüÅåêÉÈ3v\‚ endstream endobj 110 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚuÑ?kÂPð{<0p² Þ'ð%œÿ€ ur(Ávt°ÔÙ€«ê•]ÝÌGÈè|½¨X#yîøÝ=8. [~›< 8¢€:½û¸Ä°ËµW”ÅÇ|ýÕ”Â.ª1wQÅÏôõ¹ú@ÕjH¯>yoÉà瘣1 ýƒ¸ 8hFãx‡]Ê*ñ›1æ•øá8§¾yºØTBŸ¤,a P³ —À“M õ2Ü< œ fepÒˆ\$ÀIÂÖ5+zÛG4÷V¸Y5D NZ@fWðí¤'c´ÔÒÇýoÊÀQŒü¦Â! endstream endobj 111 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚUпJÄ@ð/.0…ûfŸÀMNÖ?óSge!Vji¡hkRù\AKÁTÖ©$EØuwöŠM1üøf`Šï`¹·<’…Üw£¥>”w%=’Ö.>úÃí­jRWRkRçnKª¾ÏO/÷¤V›SY’ZËëR7T¯¥µ@fµm óÀ¦‡í¼ÅÏ0 à{d¾¦˜üۘÎ=õ4]LÕ3ùȦ€aÒ@b·´liº@ÏT|`Ä“MLjbËÀ¾Å4ŸLõ“ÿ1ÂÄdtFÀœW$®Gœ á*Ã.|ר™±ÕtIÿ6D†c endstream endobj 112 0 obj << /Length 239 /Filter /FlateDecode >> stream xÚ­‘±‚0†Ï8˜ÜÂ#ô^@D'ÔDŒ“::htGáxWÚœmš~éÝßöú_LÂyÒxJsNgoô(ò»ÌéŠIŠîžÂÝ5‡ÑM7ô¸?/è&Ûñ~IŸ¼#¦K¶ Cµ¥ Ô¼*x1F%¨À)dBœÃè ñ‘Š…¬ªA«ÑŸ8çEÅjGîU…Ò(ßNk¼ûÈ4ª,— ~ÐjÔ…}Á<ÛC¿2[|Žþfa?­-ÈÖžÆ3ë ñ“­oŒ×œÈ¾}°]Ñ=ÂUŠ;ü”K‰É endstream endobj 113 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚ35Ó35T0P0bS#Ss…C®B.K ßÄI$çr9yré‡+˜Xré{E¹ô=}JŠJS¹ôœ ¹ô]¢ÆÄryº(ü‚ ê„úÏÀÀø¿,ÊÀ ÿLñSÌ? Ô0Åø™adªT Y;ªÑPû ¶CÝuP7ÈÙÿÀÔˆ ƒ™….ĵ˜—«'W ŽK€¿ endstream endobj 114 0 obj << /Length 256 /Filter /FlateDecode >> stream xÚUϱNÄ0 à¿Ê)K¡~h{=îÄB¤ãè€Ó ˆ @°!ZÞ̉èF%Psw ²|Jì8¶ç‹Ãª¦’æt0£ùŒŽŽé®r®^j°¤EµËÜ>¸U㊠ÕKWœkØÍ=?½Ü»buyJz_ÓuEåkÖ?€ÆŒ!òÎf°l#>Ù3ZÎ;@Î'€ç7Àîx ïÉ&Œ&È–Nm9ƒR0—!¡G/aEïFD+E$½ÑŒµ²MX‰¿„^É>a‡-úÆü‘Mˆÿèû=¦×:upÇ´–¤-µiÞ}õèGŒˆA§Š^{s¦ywÖ¸+÷=Ÿ†# endstream endobj 115 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ3µÔ³4W0P0bSsJ1ä*ä2ñÁ" Fr.—“'—~¸‚©1—¾P”KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEÁþ?<@£0ÿg`ÇÀøùA ˆbüP¢>€©T*L`¥€)‹`J+ŦF Åþ¿Hʃ‚ârõä äWÎr° endstream endobj 116 0 obj << /Length 307 /Filter /FlateDecode >> stream xÚuÑ1KÄ0àW „ãºv8ÈûÚôÎb ç vtrá@ÿ…?'â)ΤC¹ø’£âMHøH^ÂK^Yì/Pá÷æX.°8ÄÛ\<ˆR¡ëÅÑvçæ^,k‘]b©DvJË"«ÏðéñùNdËócÌE¶Â«Õµ¨WhíÀ­í"kÿ·ä@öŒæ¤àmDâ$f~¤#; Hl ¿¥½8@£ÁŠwdFUšì¨%[pù¤^q(é`J7)¯Iˆ’›ÑMk¯T¢äRÙñRI JN%}¤½Ö<=“Dt2l¥IÜ©yÑÑ&ôFš:Uï; ôAš9ÉOŠ} ô5*¡¿­ºÿÄÿ‰°­ ÄœŒE'"'íEÑ<´¾¦®_g'µ¸ßÑÆ©Ñ endstream endobj 117 0 obj << /Length 204 /Filter /FlateDecode >> stream xÚmÌ; Â@à . ´Vf. ›´1àL!he!Vji¡(X›£å({„”Á8ë£—åø‡ùÝéÅQ—Úš’˜º}Úi<"ÏÈŃ÷f{ÀQ†jÅ{T3ŽQes:Ÿ.{T£Å˜4ª ­5EÌ&¡€º6äü¥…°%/_x÷/PAP02gøýÁ0Ò¦–yp&îî¬dBw›:Œ+0ðÁüâ}¨AT¾yóMÞ6Ó¢5lö–¢.Ë5²Ài†K|¤øT£ endstream endobj 118 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ31Ó34V0P0RÐ5T01V0µPH1ä*ä21PASKˆLr.—“'—~¸‚‰—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEùÃT‚D0S$ê00|`ÇÀü¹A¾ù;ÿæ ì˜ÿå˜00þ* àÄ?8Q"êI&êPMÊøbÛ½`Ëßœq ä ã ò Ìê˜þÿ:]þ—«'W ÈckA endstream endobj 119 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚÎA ‚`à'?( ‘œ ”ýüºÌ A­ZD«jXÔ.Ì£yàÒ…Tcu€ßæ 7f: 5ÙðP³™° ø éL¦ %¿—ý‰â”ü MþBbòÓ%_/·#ùñjÆ’&¼•ÎŽÒ„¡ZÀ{ÈUe5ÈTÆ©¬Ö-Õ‡W¨6êÀj@-ÐÉÅóOù¯Ó‰;*`{ú^‰ž[bàTd7“ý w§”§ÍSZÓ»= endstream endobj 120 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ31Ó34V0P0VÐ5T01Q0µPH1ä*ä21PASKˆLr.—“'—~¸‚‰—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEÿó‚ÁþT‚zó !ÿHÔ±÷`øÁøþó†ú쀶¤ „|P±=˜i«‡u âÉDª)öph‘<„ÚkrF=ÈAï?0þ`<ÿŸ¡†½ÿ?ƒü?þÿ ì@‡s¹zrroXhI endstream endobj 121 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ]Î1 Â@Ð\˜B/ 8ÐM²(ÚЦ´²+µT´“èÑr”!åbI qáÁ23ü;èö9änÀ¶ÏvÈû€ÎdC)úlGUgw¤IBfÍ6$3—2™dÁ×Ëí@f²œr@&æm)‰Ú¸·2Ï©\^¡sϵ2¸Î÷¯HÅøQ‰RñþQÖOþø—Ö5ÉQÑJrµìhè M£íÂá„TårL¼@³„Vô½£@ endstream endobj 122 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ32Õ36W0P0bcSK…C®B.# ÌI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ê˜ÿ70ð|À ßþ€ÁžÿCÿ`ÆÌ00ŠÿÿÿÇäè§3ÿa`¨ÿÿ޹\=¹¹¢&[ endstream endobj 123 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚ¿J1Æ¿00…ñ v^@³9ïäŠÃ…ó·´²+µT´[¸}´> stream xÚ31Ó34V0P0bS …C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Ì€à?É&™iN‚ìaþ`ÿD~°’È700nà?ÀÀüDþ“ØÀÈä‡$Ù€‚ëÿÿƒÿÿ7 “\®ž\\y endstream endobj 125 0 obj << /Length 122 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aCS3…C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜ø0È@A@ 8~Àüá? ±q©ŽØ0üÿ‚¸\=¹¹(CE` endstream endobj 126 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚµÍ1 Â@Еir3'p.#˜BÐÊB¬ÔRPQ°ÍÑr±0EÈ:? êdÙ³3ó7èuÂ.{Œô¸òʧãH‰ÆrCqJzÆGz$¯¤Ó1öÇ5éx2`ŸtÂsŸ½¥ […RÊüâë?´LõºæÝ3Ø‚ærÁÊkm‚¨„;xÔÂ3êH†Kv¤Ø@%¯â.êýoÔ nn—**ŒÉù@Ô¦ôDr endstream endobj 127 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aCS …C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜?0ü‡!þ ̃±ÿ`øÿÿq¹zrrÆ‚Q. endstream endobj 128 0 obj << /Length 177 /Filter /FlateDecode >> stream xÚ3³Ô3R0Pa3scs…C®B.3 ßÄI$çr9yré‡+˜™pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜?ð`Àðÿƒý†ú@úƒ=ãƒ:†ÿÈ77Ø3ðnà?Î ßÀüÿˆþÇÀDÿa`ÿÁÀNÿ``ÿ€þÀÀþ`Ð O€âÿÿƒÿÿ7ÿÿNs¹zrr#߈ endstream endobj 129 0 obj << /Length 147 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bcs…C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Ìø?00üÿ`ÿD~°’È70ðnà?ÀÀüDþ“ØÀÈä‡$Ù0½ñÿÿÁÿÿI.WO®@.‡e% endstream endobj 130 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚŽ1‚@E¿¡ ™†#0Ðeƒ6 &na¢•…±RK v9Gá”Tâd)H¬ÌN^fþîþù‘žÌ¦ð”Çš£€Ã9Ÿ5Ý(ŒE”qÑßœ®”R{cRk‘I™ ?îÏ ©l»dM*çƒæàH&g8^W‰S­œQƒdHàVðá•R¾ ò!J*¨- Ài~ nNû/†ooñkg»Íîõ$AéÖHåŠ> éáwlzZÚÑIKÚ endstream endobj 131 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚα Â@ àH†B¡y½ž­uj;:9ˆ“::(ºÚ>Z¥p"ØŠç]qÐQ |CB’?Šû2ä€Ü“1G!‡#ÞI:R°«aøm”d$V$f¶O"›óùtÙ“H–$R^K6”¥ŒÊ¯À¨\ƒ¹UW0÷Â/¼º%>Á«°T¨5*è´4hy~“ÿÌ÷ö²¥ý¦Ýß> stream xÚ36Ò35R0PacCcs…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ØÈ3üPàÿÃÇþ?nÿÀÿœýó3 ~Äo˜0ÿah`þÁÀ€‚?P³Íüÿÿs¹zrrjÙF„ endstream endobj 133 0 obj << /Length 195 /Filter /FlateDecode >> stream xÚ=αJÄ@à¶X˜fßÀÌ x{›`TñSwÕ‡•Z * Wî£í£ÄÊ6`“"8Î%GŠ™ùÿfŠ|q~ÆK.ø4p¡ó‚½R^j¨çåÔ<> stream xÚ36Ò3²T0P0TÐ5T0²P05TH1ä*ä22 (˜Ad’s¹œ<¹ôÌ̸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž.  Ø W á Œ@Ì Äì@,ÿÿ?Ã(f„ÊQ „þ0‚pC sC3ƒ=;ÿ?°f.WO®@.uH– endstream endobj 135 0 obj << /Length 153 /Filter /FlateDecode >> stream xÚ31Ó34V0P0RÐ5T01Q06WH1ä*ä21 ([@d’s¹œ<¹ôÃL ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.Oæ ìþ`üJò`À‘p’ƒºBþ`°ÀÀðƒ¡üÆçÿì™Iùÿí@’ùÐ.WO®@.1c endstream endobj 136 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚU̱ ‚PÆñ#‘k[çêªWJ'Á rjjˆ ¨Æ†¢¶ˆûh>Š`›Ph—º—jù ÿ¾@ BŸ\ò©ïQà“ÒÎÃ#ŠHE—Äè³l˜dÈ—$"äS•‘g3:Ÿ.{äÉ|Lò”V¹kÌRj×_œ œÒ.Á.X ,g0i)à <¡¥©¡pƒ¶&†®A†=éjœ|c(v‘kØ]þb=ÀÐ(Ô¿áúO¨ÁI† |F£?ê endstream endobj 137 0 obj << /Length 233 /Filter /FlateDecode >> stream xÚUÎ=KÃPÅñs Xx³v(æùzËíËb ­`A' ÖQ|A7©‘|±€Ð~Lïx‡`¼7UÓN?8gù«áá°Ï!ñAÄjÀÝÏ"z$¥ìr·¿~nîh”¼d¥HžÚ™drÆÏO/·$GçcŽHNø*âðš’ WUPñ÷6¾Aß´4æðŠ5¹§q ‘þ" bxØ%âtÇq¿Á_ù®cùGˆÅ²h;²š÷L€ Ëtè5Â<þfúOk…2·|âµÁ+ñ–ZlECÝdÑ ±ï(°ç˜ÂÑIBô¥Y_™ endstream endobj 138 0 obj << /Length 210 /Filter /FlateDecode >> stream xÚMν Â@ ð)(¡«ƒÐ> stream xÚUÎÁjÂ@àYi® Î èn²Zõ$¨sÚSE¨GÁ½‰æÑöQ|„x ‰³²Iéå;üÃüü=ÝF¤(¢N8 ^DúÖ!þ qª¨¯ÝiµÅIŒò‹ôåœs”ñ‚ö¿‡ ÊÉÇ”B”3úI-1žQY¦ãâàAægà//7ˆœŽ4gËZŽvª*Ì 0‰Ã¿˜Š+ã]S‡¸CEÉ@QsüϰFÕì,IqSn/¼'¶’gCþbŸ^m‘mjg`ç1øã'>ÚŸKø endstream endobj 140 0 obj << /Length 121 /Filter /FlateDecode >> stream xÚ31Ô35R0P0bc3SS…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0001;Ëñÿ ÿaX*6T°ý†úÿÿ?À0—«'W ¾NÚ endstream endobj 141 0 obj << /Length 228 /Filter /FlateDecode >> stream xÚmαJÄ@ÆñoÙ"0M^ป'p÷WóSZYˆ ¨¥ ¢`eòh>JáÊ+ŽŒóé5‚E~°;ÿY²¬šc­té_^iÓèC-/’³Ÿ+9¸’u'éZs–tî·’º }{}”´¾<ÕZÒFoj­n¥Û(Ê-€~‚Ù€8¶#J^ÎQì0CÜc…0áùîÈDÌ_úŸžÓÁïø:ßsöNüaçü™r$_΂[-> ³À,°ˆ, %‡s„'äƒlÏ"³ÈÌñ¥™aAZÒ›M°¿ÈY'Wò TŸc| endstream endobj 145 0 obj << /Length 311 /Filter /FlateDecode >> stream xÚÔ±N„0Àñ’oé#´O ”\<'HÎ3‘ÁD'㤎ÝHàÉ ÆÁÑGð‘áBýú•Iû%)ð+,ÿ¦`ÊÕÑz­ ½ÂaJ£OJ}oà Œ9Æ™ÂÙ=º{„MùµÆyÈÏqòæB¿<¿>@¾¹<Õò­¾1º¸…f«­µ£ #q·8&ÏtáÞ3ûŸxž=%Ýüæ·õT]ˆ_¶'V1ü´± òÃîˆSï>8ƒ|º‹bGýx ²¦~Ù‡©¨_‰(Jê¯fÔß2L©Šcâ–# ןî8º~w‰¢[ÙstýJptýU,Ýr´,]ÿÄû±ž#öc},»=Ö3Ö³Tëc)íÛfôÑrLi‡G’vKA;+DEï ñß1¥]þ*Y÷‡¨ÄB8kà ~oˆ§L endstream endobj 146 0 obj << /Length 270 /Filter /FlateDecode >> stream xÚ•‘±JÄ@†'¤Ls°óšL® œ'˜BÐÊB¬> stream xÚ…¿J1‡gÙ"0M!óº·`D«Ày‚[ZYˆ•ZZ(Úºy´}”<•aÇ™¹ãôP1|ðå—?üâéáIO :¢ƒžâ1ÅH=>cT¹Pc;÷O¸°»¡Øcw!»á’^_Þ±[^‘ØÝÊ™;Và8ƒŒ‘?dm˜gPÇj·\R…q :“dÄ„*Á |…Vbn¶;ƒg³Eó çd˜ö1Öo( Ø÷aãhDBÿcü³!ýD[Áo˜¬1¿En¥ ¹±¦ä%iêÝînª6N:ó\ÒZÛ` æ]H›_ÙI<ð?yë­œ endstream endobj 148 0 obj << /Length 324 /Filter /FlateDecode >> stream xÚ¥‘?JÅ@Æ'¤XØ&GÈ\@“HòBª…çL!he!¯RK EëÍÑÖ›ä¦L2Î쮂°áÇîüû¾É®9o[,±Æ³‹w565>UúU7¿–Øv1ôø¢÷½.î±étqÍïºèoðýíãYûÛK¬tqÀ‡ Ë£î¯|¢QÑÑ’“CD–F°³"RcB|&;¦Jª ÀÌÆeÂ%w¹pU¾ëö3Bú?OûþÄÂ|€ G(ú‚^±'€f ‰]âTH¿Ø¯ð“|X9éʶÌÜ/O8E.‘> stream xÚ36Ó35Q0Pacc …C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ìþ``üÿ€ùÿ0fÿÿ+†ÉƒÔ‚ô€õ’ ä0üÿ‰˜aˆàÿÿÿ@Ç\®ž\\ÍÙ¥; endstream endobj 150 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ36Ó35Q0Pac c…C®B.#K ßÄI$çr9yré‡+Yré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ì0üÿ‰™˜aãÄÿ„޹\=¹¹µ‰Ã endstream endobj 151 0 obj << /Length 232 /Filter /FlateDecode >> stream xÚíÒ½jAð WÓÜ#Ü>·ÔŒ‚WZ¥©LÊ+³vrp!E¶›üçT°+‹ ó›Ý-ÆÙÇvïÞXÓÅqöÁt;æÍñ';ë±j-->x˜súŒÇéiNó©Y-×ïœgOÙ‘yÁÌ+ç#CYEI ºO$RáxŠ%4ˆDJʤnï«Ò 󢣨Ò×®U¶¤ Hª@Yûƒ$߸»Np·â§¤D@¥(€þ¿ØAx^ƒæ §¨å9ìÅE…ÿÇÍÛ„ÂÆip xœóœÿvÚiC endstream endobj 152 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚíѱ‚@ à& &]xúÞÜHLtr0Nêè ÑUy´{ጃ „zwÀ¡Í×6ÿÔd4”’™JBG´ñ„qlfiG{Ø1+P¬)ŽQÌÍE± Ëùz@‘-§¢Èi’Üb‘¤‚˜µ©ÒÁc®|æÚ!P÷Æái à±®!`{èø.ÿT¼ÊV6ß¡ýAÓõ_°yÍÀ4Õ8+p…o âøš endstream endobj 153 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚµ‘±‚0†kHná¼Ђ±0’ &2˜èä`œÔÑA£3<šÂ#02Î^KL%!_sý{½þ¬æI‚!.qa¼@¥ðÁCT±Ý9ß +@P% 7º ²Øâóñº‚Ìv+Œ@æxŒ0> stream xÚÍ’¿NÃ@ Æ]u¨ä…G¨_.!MB§H¥•š ¦02€èœ<’GÈx•ªÛ¹F:¡.§Ÿ¾óùÏçË“«è†"Jèò:¡lN錞c|Ã,5¢<WO¯¸(Ñm(KÑ­EGWÞÑÇûîÝâþ–btKÚÆ=b¹$(“#ýÑÃ!@5@÷Šøo˜J ÿ§4ö{®aäÁ³ÅŒòßëŽfJ®`o}4¼‘.lO­%Þw£‹m_…mt§¢e4](z†`_ëTÀU‰øµ`  endstream endobj 155 0 obj << /Length 259 /Filter /FlateDecode >> stream xÚ]Ð1NÃ@Ð¥°4¾;ÛŠBƒ¥$\ ‘ŠQ%Ú¬æ£ì\¦°v˜Y)¢yÒî·çÝT—ëk.¹æ‹Šë57 ¿UôIõJ/Kn®æäõƒ6O\¯¨¸×k*ºþþúy§bóxË[~®¸|¡nËXÊp8™ÎÙë…HDÑFä#ò°Ô々Ú~Àþ¨¨7ö'ÉQÈ”´^;LKZ+45qj@.dêtÜÇv“ù!¤¸Ç"iíÐÄÌôehÖ”ôÁjÛ]ˆÿdVçµ³½ÍSuž‡è ±ýõ?h©›ÓêgåcfKxýºëhG¿Á•¡Z endstream endobj 156 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ35Ô34S0P0RÐ5T01Q07SH1ä*ä21 (˜›Cd’s¹œ<¹ôÃL ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.O†ÀOþÁN2bÌH$;É&åÁ¤=˜¬“ÿA$3˜äÿÿÿÿ?†ÿ8H¨úANò7PJÊÃç‚”ÿÇ`$ÿƒHþÿ ÀØ`ÿð(Èþßÿ ýß E` q¹zrr:é“p endstream endobj 157 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚíÑ1 Â@Ð  Óä™ èfÑlì1‚[ZYˆ•ZZ(ZÇÎkÙyÛt¦Ž»‰… а{üáÃÀ»°O!õ¨­(Võh¥p‹ZÛ0¤(j.Ë ¦匴F9²1J3¦ýî°F™N¤Pf4W.ÐdI àñ˜Kü#ZX€ƒøã+üÏÞ8ä¯È’ àö„wåÂ6î .n ŸÁÉÁNÃõ<sUÃv‹öÁ848Å”Ìðn endstream endobj 158 0 obj << /Length 252 /Filter /FlateDecode >> stream xڅбJÄ@€áYR¦É#d^@7¹Ül œ'˜BÐÊB¬ÔòŠí°¸×ÊÜ+äR¦gvE8°X>˜YØŸÍ/Η%”ÑYJyN«Œ^RÜa¾aB«¥ß> stream xÚ33Õ37W0P04¦æ æ )†\…\&f  ,“œËåäÉ¥®`bÆ¥ïæÒ÷ôU()*MåÒw pV0äÒwQˆ6T0ˆåòtQ```c;0ùD0ƒI~0Y"ÙÿIæÿ ò?&ù¤æDå(I²ôÿÿà"¹\=¹¹VI¢” endstream endobj 163 0 obj << /Length 99 /Filter /FlateDecode >> stream xÚ35Ô32Q0P02ÆF †† )†\…\@$¤À2ɹ\Nž\úá@.}0éé«PRTšÊ¥ïà¬ä»(DõÄryº(È3Ø7ÔøÿëØ7È3p¹zrrç{ endstream endobj 164 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ35Ô32Q0P0SеP01U0³TH1ä*ä2¶ (˜›Cd’s¹œ<¹ôÃŒ-¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. @`"j@ÄÁ&~ f0ñH°ƒ‰@‚Lò`¢F؃ !õ ¢DüÃ4“$ƒf6a&I#Ì$l0ÂL’ þ‡¼ ã*@—«'W ¼OF endstream endobj 165 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ35Ô32Q0P02ÆF &Æ )†\…\††  ,“œËåäÉ¥®`hÈ¥ïæÒ÷ôU()*MåÒw pVŠº(DõÄryº(È3Ø7ÔøÿëØ7È3°ëçrõä äè- endstream endobj 166 0 obj << /Length 103 /Filter /FlateDecode >> stream xÚ35Ô32Q0P°P0´T01V02UH1ä*ä2 (˜A$’s¹œ<¹ôÃŒM¸ô≠ô=}JŠJS¹ôœ ¹ô]¢  b¹<]êÿÿÿßÄÿ ` .WO®@.Eâ,§ endstream endobj 167 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚ}1nÃ0 Ed0ÀEG0/ÐÊ ì¬Ò¨‡íÔ¡È”dìÐ í£©7É dñPä÷KÞ#Oà'ÁOª «Ú*kì!X¬nìôKùV¼õzÎ>uÓ©g^ý3eõÝ‹}ŸNê7¯OÔoí#Xµ×nkRþ 0ˆ,‹HŒ"`¢näX€¼,2…¥d;ˆ‹ÒF)ÆÔƒ"»G— Ù¦Ìì)ôeC$9ÙŽ‰}Ì‘ûÜîr²Ÿ9HÏ>Gi§´mÉe2¾bâÖ¿˜øɯäꢻNßôÕÇ€f endstream endobj 168 0 obj << /Length 223 /Filter /FlateDecode >> stream xÚ­=Â0 …S1TòÒ#Ô€4¨T H‘ø‘è€bF¬”£õ(=BÇÆN1#2|Qlç½çéõSLÐ`×`:ÄÌàÞÀ ÒŒ‹ f}ßÙaœƒ^cšžst¾ÀËùz=^NЀžâÆ`²…|жU|Ї¾è+ÖQý܈JfL5³ †IbG|Ä86ŠîŠ*U”Чm%ÏØ1ªx†µ(‡°óÍVüDÿ÷£FNß{½Ü™•¤ŠmùÎÙ’Ùçwñ^í{Ç›å)5Šx„u¹ ³VðÏ—r endstream endobj 169 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚ•;n1†äÂÒ4Ásâ5,Ùr%[D ¢")S$"õr4ÅGpéí`ó(RF}Å?Òÿ˜»—iÍ7> stream xÚ¥Ï1NÃ@ÐY¹°4๬78n-… ÅT)U L‘(Ô›Ü,¹I¸ÓÉdøÞU´Ðq n„µ¾#Ét«-l#¾kø‘¿&Ä–H endstream endobj 171 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚu1NÄ0E”ÂÒ49Bæà˜M¶²´,) ¢@T@¹Å"è’£å(9‚K–‡ñ. #ëÉú3š?p—W=w<ð…ã~(ïÍÑ‘6[;î¯Ï×íF²O¼Ù’½S™ìxÏŸ_ïdw7ìÈîùÙq÷Bãž™#h%^²J"¨s-³,&ï&¢ M€ í ÛuôŠägTi:¿È d)ȧŸÖ¿HeeÓ_èæ3¾Õ Y}‘õET“Ô¼4©’ÅÇrsÀ$²jYÐhÔ%¦t;Ò#ýãk}– endstream endobj 172 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚÅŽ1 Â@EH!Ì%œ¸»qµ1‚[ZYˆ•±´P´U–£xŒ!ãŽVéd˜óÿðù7Ê<[Çõž§WŽÎä-ëÄSÉŠ@fËÞ’YF•LXñõr;’)ÖsvdJÞ9¶{ %È_@"-0*rà¡Z'épGÒb†4¾"mz!Iƒ¤•o¨ÖôMù´øSKÖ?ø´´¡7ÃW€´ endstream endobj 173 0 obj << /Length 283 /Filter /FlateDecode >> stream xÚ}±JÄ@†çH˜fa÷4‰æ‚]à<Á‚Vr ¨¥…¢­YßlßÀWXß `“âÈøïD9-4„oÉ¿3ÿü“eµP»Òº=œËÒÕµ»­øëj隣¯«›{^u\\ººáâ:Ý™{z|¾ãbu~ì*.Öîªr冻µ£ÅD6’‘ µò!#õ"²%I\(3Éä}›CócŽ{mPÈD²ß„‡ýñùõý%ª›:“N¡4‘@™ˆò”&qTDæMøŠK2žv ;æQ9(ÕnhK IdÒvd="åâƒúÐ¢ÇÆ>yÅõšÔ &”ýɹf®Ÿ{[¤²¡ÉÓŽí ‰NŸ4:5þ¼®„8x’À'_ð'¹/¶t endstream endobj 174 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚÅÏ= Â@ठLã2'p³’Hº…Á-­,ÄJ--­×£y2Å’ñmÒkÁ…ýàÍO1…žÎrÎXãÏ5Ÿ4])/‘ûÇ U–ÔŽó’Ô URvÍ÷ÛãLªÚ,¹æ=&dk6>Âs]PFÓýÀX‚‰¼`* tÒB Šˆ&–66aQÞÖ°ãàsdôm÷´ñN|*¸ª38ªw¨ ]ZZÚһ錀 endstream endobj 175 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ35Ô32Q0P°bS3#…C®B.c3 ßÄI$çr9yré‡+›qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0000ÿ€ìP„XÉÀþ?Poýÿ?„=ˆ``´Dýÿÿÿñÿ âœx–àrõä äç"cn endstream endobj 176 0 obj << /Length 127 /Filter /FlateDecode >> stream xÚ35Ô32Q0P0b33C…C®B.cK ßÄI$çr9yré‡+[ré{E¹ô=}JŠJS¹ôœ€|…hCƒX.Oûÿêÿÿc`ø'À\{ÁÀ0 ûÿÿÿÿ¨€øÿ?0æ‚%¸\=¹¹Røm endstream endobj 177 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚÍÊ1‚@ÐO¶Øä7Á—5pÄD ­,Œ•ZZh´:J¯Dâ<‚Ü@J ˆbb£½™â%3ØþÀï•ÀŠïËÚòŽƒ®ñ»iµå0f3—Àc3n[6ñDûã†M8ŠeÉŠ·ä8¢šNDÉRÂrpEñäÖ””ÀEV’n4TK­U‘®Tí|(Uõ“B•MÒ¸ÐHÎÈ¿ò¾ð(æ?‘—§· endstream endobj 178 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚÅÏ1 ÂP àt*dñÍ |­¼B·B­`A'qRGEççÑ<ŠGèØáñ~óì"^À!äO2¤,¦3+¹Ze.Öʱà ÛJûO‡37›­ØŠÍRS6ÝJn×û‰M³žKÁ¦•nî¹k…(QíS<É… =!8 *TÀS ¤Cí)ú"=‹7êãKú5üßÃÞÁgñ« ïŒŽÉ8åEÇ~P„z§ endstream endobj 179 0 obj << /Length 202 /Filter /FlateDecode >> stream xÚ•=‚@…¡ ™†#0Ðeå't$þ$R˜hea¬ÔÒB£5£pJ â¸ì6´&“WÌdÞû^¦ç‹”cÎy¦9ÍÆ¹jzPR˜eÌiî.—;-+RGN R[³&Uíøõ|ßH-÷+Ö¤Ö|ÒŸ©Z3¼/€P ”¨¥Dx"_øâ ‚ò {ÔMØ¡l¢Q5Ûòƒ ³RékÀŸˆñõ†¿DÌÛ0qM]†Isâ Fk,š…´¸ÜU°el­± m*:Ð9‡n½ endstream endobj 180 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚµ1NÄ0E´E¤ir„ÌÀqd":KË"‘ * D” ¨ÃÑr”aË‘‡™8 j$\<ÉÆóÿøÌŸ¶ö|Ò¶Î9~òôJ¡Sµá®ÛJ/´ïÉÝqèÈ]©N®¿æ÷·grû› öä|ï¹y þÀ@‘€¸T2bHµ!iY)’0ˆDI¥¦~B& #´;Nv­WVú Ë#tb9w¿¹‹?1¿ý™&ëüìµ¹+'KU¯Œãwι°Ì9¿mÝkQÚŽHQ»*mAÚiÑæÿ£ùéª7Ö³’«tÙÓ-}¢¦ endstream endobj 181 0 obj << /Length 172 /Filter /FlateDecode >> stream xڽα Â0à@á¡÷¦Ñε‚ÄIÓG‹88úö2:H“ºtöà>øï8¸¡êõ5g<­G¬5oHÇYc\lö”’ËINÍŒOÇóŽd>³"YðJq¶&S°"©…E™¢œE\½¸-îu׋ôá£p*X&.ÎEZ7¾Ÿ-}ËêK÷7-^D¨_~¶41´ 7Îyiõ endstream endobj 182 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚMŽ=NÄ0„ßj K¯Éò.ŽYo¶Œ´?) ¢@[%h‘(âp¥ÅGH™"ø1&+Aói4ž™çµ»¼òRÉF.œx/~-OŽ_yUìÄ×óËã o[¶÷²ªÙ^ÃfÛÞÈéíý™íöv'Ží^œTGn÷Be*ˆT¿ÂRUC‘Qf4¿Œ†.,„B"êÂtFó)‘’ºž Ç …ÄF#a~̇¦³ ˆLÍ¥2~"1e`9Cÿf˜1YD¨é5-´×üÝ úVM4åkcƒÐ‡A›-ßñÊ­€› endstream endobj 183 0 obj << /Length 177 /Filter /FlateDecode >> stream xڭб Â0à+ ·ø½Ð4%q-Ô ftr'ëè èœ>šâ#tì =/uÔ ßðÿÜAÎêIn(£œÆšŒ!k©ÖxB£%ÌÈN_Íþˆ¥Cµ!£Q-$Få–t9_¨ÊÕŒ$­h+3;tA|yÉ=8úÞ‚™àÅøM?´¿ìÿé`Ñ|Ò‹-x¹I ,vQ°Oz€xøEÄÜÉ:æVôv§Ü„#J‰s‡k|jVmx endstream endobj 187 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚ¥1 Â@E¿XÁ ˆÎt³$ ¢L!he!Vj)¨(¤ÉÑr”ÁÒÂÂÝM\Ò ¯š™ÿ~ö†Š}–>wUŸƒ€Ã>$]H™±Y¸åþDQLbÃJ‘X˜ ‰xÉ·ëýH"ZMY’˜ñV²¿£xÆ@hà ä¨e¨gðR4ah#K¼jšu‹—•4Ó’J&–±åYáñãóîHõrñ«øëb¸`.j‘\+h­c¤’Ÿc¥µÖ×%è*t!¦–­¨Aó˜Öôf¤M* endstream endobj 188 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ¥1 Â@E¿XS˜ „8ÐÍ®„(‹Á‚Vb¥–B…9ZŽâRZX˜ì&Ñ^xÕ Ìü÷ÇþhªØe‡Êc5aß㣤 ©jê²t›ÝáLaLbËJ‘XV ñŠo×û‰D¸ž³$ñN²»§8âx 0l X@/C7¯è”»B“ f€ 4VVÓËkºÏ†¢¢cx}AËûš#¿—Í/ó·Ñk£šäŽ ´TZ;–²ÆºÔ·t¶®%Ñ•EÑ"¦ }bS[. endstream endobj 189 0 obj << /Length 136 /Filter /FlateDecode >> stream xÚ32×3°P0P°PÐ5´T02P04PH1ä*ä24Š(YB¥’s¹œ<¹ôà ¹ô=€â\úž¾ %E¥©\úNÎ @Q…h ¦X.O9†ú†ÿ ÿᬠ—Àƒ€ ãÆæfv6> † $—«'W ÷ '® endstream endobj 190 0 obj << /Length 95 /Filter /FlateDecode >> stream xÚ32×3°P0PaCKC…C®B. ‚†‰ä\.'O.ýp ŸKßLzú*”•¦ré;8+ré»(D*Äryº(È1Ô7Ô7ü? ¶—«'W Ë endstream endobj 191 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ36Ò3U0P0T0´P0"…C®B.#3  ‚D"9—ËÉ“K?\ÁÈŒKßCHxú*”•¦ré;8+ré»(D*Äryº(üÿÿÿ6ÌåêÉÈ#ˆ'ï endstream endobj 192 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚuбjÃ0à‚Ž€Ödò=A-pèHR¨‡B;u(…@›1–²9æGñ#dô`ìžd •|' óŸ–‹;}Oš¼–üåô™ã÷¶5\—˜½RQ`öÈ»˜•Oôó}Úc¶~Þ÷[zËI¿c¹%àªa,ÑD!¯Q$mª‹bÞG¡‡Çá2bW…h*—¾^õjL/.i éÕA˜€j’S]3}`ðqdØô;€ÊÇç¸<ƒÆz¼ì<ÊÃÄ uH> stream xڥѽ Â0àá¡÷¦…¶Ø©P+ØAÐÉAœÔÑAѹ}´> stream xÚ½’¿JÄ@Æ¿%`` óÂÍ hþ`Œ×xpž` A«+á@--»|±t¾Æv¶)-­³»ÉWXZýÂd¾owç›*;9-8ã’ >+¹Êø1§*çR̸*üŸ‡gZÖ”®¹œSz-eJë~{}¢ty{É9¥+ÞäœÝS½bÉØ é È˜Þ2Ô „‹–FJŸÑ -_ñ ¾5’ÞJ5fÒ‚FÛvÑh4­PŠ"¡V»‘ƒe¬£‘ÖF T ³ûì·Íß„iÿ—Ó¹{ ÷šî=¾#0¼·÷ôs@7ÑÏIMlý£VMtsŽáç~ŸÃ!|.Gð9Ãçö—#äÛÙ˜­0¶Ì\f¼·Ý Œ{‚qo@W5ÝÑ/X¸’I endstream endobj 195 0 obj << /Length 296 /Filter /FlateDecode >> stream xÚÅ’±jÃ0†OxÜ¢Gн@k»g«!M¡ íÔ¡mÇ-íì@^Ì[^Ã[WŒÕÓI –õq’î¤ûÿUu¹¤‚–tqE+þ z+ñ«Šƒ…‹ÈÊë®ÌŸ¨ª0¿ã0æÍ=}ý¼c¾~¸¡ó =—T¼`³!ÐÀ–g°¶ƒžçÌÚA@jTê®,÷ ÙÈãÀ°8¨_=¸eãöµ½âC»¶®ŠîAMF‹^ò ¸|œ:I *©@=‡N` í¿À÷Ú ”åž»kÌÛ6„Öñ9&>0s‚!€žof ¾á&j‘‚—ɤ¤”bu”» g€ŒÏ«C0I¶µòF‚)ZëÍæ¥ûàmƒøê*­ü endstream endobj 196 0 obj << /Length 130 /Filter /FlateDecode >> stream xÚ37Ö3°T0P0b3K3 …C®B.3ßÄ1’s¹œ<¹ôÃÌL¸ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿÿ?Àü PhÆÿØÿ70Ô7000þc~4È«Øèáê_ì4,žq¥.WO®@.þ†Ã endstream endobj 197 0 obj << /Length 112 /Filter /FlateDecode >> stream xÚ36Õ34W0P0a#3 …C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÿ†€ˆ¡þƒý‘A~y) ¸\=¹¹Áƒi° endstream endobj 198 0 obj << /Length 258 /Filter /FlateDecode >> stream xÚ}ÒÁJ1à ] {-(tžÀdiµñb¡Vp‚ž<ˆPY¥§R=wÁ[ðEú{ÜÃÒ8Szh»M ß$‡dÈo¯/C2tÉÓéÊÒ{ŠŸ8²\)å _à$CýL#‹úžwQgôýõózòxK)ê)½¤d^1›’sðˆ]ã\)Jö¥vÚ,×¢³ú´æ•hp ¼å½5¢?f|#¨ßC­XQäÓ˜éxÕçFºGJøù=¯bnÄxujQüüÒ+Ø€*üZAÇ€úe7 dÝk)®L@Q= H5eKÀá ˆÿFTµ¥¸¸Ù*q[qœ«àœƒ(ùk ï2|Â]áÍã endstream endobj 199 0 obj << /Length 280 /Filter /FlateDecode >> stream xÚ½’½nƒ@ Ç2 yáÎ/ÐD%dCJS© •Ú©C•©íØ!Qº&<Â#02 \±M9¤0‰Óïüqw¶ÿYºÜÜSL)Ý­(K(‹é3Á®ÓÞS¶RÏÇ7n ´o´NÑ>õf´Å3Ž?_h·/” ÝÑ{Bñ‹€é@¾À¹J lÂFÀ” ¾3@.!-@ÄA‹> ¬AÞˆ™Ýœ’–™òËî*PB §š œQíAoî×"…–½|s F¡óËÃë \ÜJ©iÜåÂÌ oÀ×¥%Oà¶¾cj{¾ó:‹šçéT~LpaàE䫸 »› `”›M5•Ò(­Qlƒüð±ÀWüq¦2 endstream endobj 200 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚ33Ó36Q0Pa3C3 …C®B.S3 ßÄI$çr9yré‡+˜šqé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁõÿ„úÁÀdòEë€L0 Jþ˜â‡Pì Ô0Åü…ú¦Q©ÿ¤R(Ú¡f¢Zµê¨Ëä ¹¨D}ôß‘¡L1þ¢À±‡Nq¹zrr¥¦’) endstream endobj 201 0 obj << /Length 252 /Filter /FlateDecode >> stream xÚ¥Ò½jÃ0p †[ò¹hd‡`e3$)ÔC ™2”@ íØ!!Gó£è­ ©ï3üU?&Æ ûw†ã0ÿ ó,N=jÂô7˜>ÌFTÒ¿ž¸‘Ux4·ÙF=„E_¹%¸\áµ€=Ü/ɸh endstream endobj 202 0 obj << /Length 289 /Filter /FlateDecode >> stream xÚeÐ;NÃ@àßrai›=‚ç`;qѰR. ¢@T@I‚.J|®²7aàÒˆÈÃÎ$ÊCi>˳óØI}^M©¤ ¨¾ iI/•y7õ8KšŽ6'ÏofÖ˜âê±)nbØÍ-}~|½šbvwE•)æôXQùdš9!a¤€åŽûè€Á"é‘[dÙ72ô¶•ÜÃEW¸Œ:,wæX¨ë¨=0;rØ™nåW-¤·WƒèzUR‘³„,k–Ÿ”9¶M˜¥<êåÜI÷z°Ö:©HxÛDL¹ÕÎc¿ŸêÔ|c=1;2œØ‰^´¾ßÛê]ÚA·Äº7™¿Ä_l´Æo'kïH;tÎÛ€_Ñ"èÅ=\lh®soþWŽŠÐ endstream endobj 203 0 obj << /Length 333 /Filter /FlateDecode >> stream xÚÒAKÃ0ð „±^{û¾€6L»SaN°AOD¨GaŠž—–R¿Aa—‚£ñ½Ô‰®.x ?’ðþ¼dJg9*ãѧ9žäøÉg9ЦÂÓ¯“û'9+ezƒÓ‰L/h[¦å%¾¾¼=Êtvu†™Lçx›¡º“å­µ0°¶È¶ûØ ±`ka5@´!FðÖ ¡%¡£­£¬è~°Ùñð· CnɱÇÔCÈ…sŠÛZí¸¦npIm‡²Ø1õu°2ÎÜcÌ!æ/WÎÜ£¢¡÷[P `¿ùQ ½ÖÂPá{¥…&{6¦Gq.LÀ!qÏÙvNªC”ÏQí&²ðyи‰¯7<…w砳é$kgÑòDÖÐ3ÿ¸èÃ,O¤õûû7y\páÆïC^êxÙÙMŸGž—òZ~GÈ endstream endobj 204 0 obj << /Length 229 /Filter /FlateDecode >> stream xÚuϱJAà¹ba ï ¼yÝÙhº…Á+­RˆPK E;1 ¾Øt¾Æ½±»âp½‹ S|Å?;?¬ŸÏxžjösö3¾­éüTCÆÍÍ=-r+öSrg“kÎùéñùŽÜââ„krK¾ªyrMÍ’a{è„Õ®lBŠ-`a:`Ðu)xªu‹w­äG½W‹˜ÕùÇ2©&e˯œɦá¶ÏÚnh›‡Î ÙÍhüuð‡aǨ‡k}ÿ¡ Þ[ bÔªµoŸb»ý"E“z“†O¾€Nº¤oÉŒla endstream endobj 205 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚÅѱ Â0à; ·ø½Ð4X-‚P¨ vtr'uTt•7)7´&/¡Â“²‰Ž hÀ4³“"¯rM¾ò¨Ó˜îzd‡Ú endstream endobj 206 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚ½ Â0…Oé¸KßÀÞд¤v øvtrAPGAEÁA0–Gé#8:õÆÜòANȹß-LÇÎØp;ç"ã¢ËëœödJ åZ¾_V[êU¤glJÒ#‰IWc>NÒ½IŸsÒžçœ-¨0pu@ÜÜ€Ä_‹x vёÒZÕ°uú/¬{#õÒ¡^EÈAó^Uö‹ÌzÌÅN4° ¨E A2ò¢;Wa…Äé ¨°V4¥'VhLr endstream endobj 207 0 obj << /Length 212 /Filter /FlateDecode >> stream xڽϱ‚0à’$7À ˜x/ ¥$N$ˆ‰ &:9'utÐèf,Æ£ðŒ F¼‚†ÆÕÄßp×öþ ü¡ ÑÃ$ÇÜK8¯‹†ïÎîq b~bNeé/çëD¼œ¢‘àF¢·…4AFGi¢ú[«‘µª?«2’×%éæ72byg6ù ã•Nh—:¡]hÝB¿íçQÖ©L›)õ϶ÿ˜?›Í$nþIØd¦ä¼Ô[Xm”ÑFŽÊiÇžzÒÕŠäuA63`– ^¶Ñj» endstream endobj 208 0 obj << /Length 210 /Filter /FlateDecode >> stream xÚuÏ1jÃ0àg<þÅ7ˆÿ 4²‘ã1'…z(¤S‡$ MH×XGÓQ|„ŒJÝW\(TˆôúŸ 7uN3uúk‘i1Ó}.Gq%CËáf÷&u#öU])ö‰±ØæYϧƒØzµÐ\ìR×¹fi–Šè €éÆWà‚Op_ÝPIÓ!õ I@Ò*¤#f %×#ý¸~á,üK{ÇT#ç¼³¶,„ΰq`É(°nìYÜsLøâ¾Þ–ÇF^䃷V2 endstream endobj 209 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ3²Ô3·T0P0bc3s…C®B.cc ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ø000Ôÿ```ü!ÇÀÀüÁ$TßÀ à?hö ¢žAÔ30üc T"þÿŒ ¨h2ÝF»ëÿÿG&¸\=¹¹aök# endstream endobj 210 0 obj << /Length 275 /Filter /FlateDecode >> stream xÚ¿NÃ0Æ?+C$/~„Ü @pK§V*E"L02€`«÷ÉÈ£Dâ`ž”7Ѭ$7ëãî¨d¸¬*¦ ¯:}§¿$ X endstream endobj 211 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚÍα Â@ à;:ò’'ðzxµ: µ‚7:9ˆ“: *:{ÖGñ;œs]úÈù“!¹éë3pç‡cÜk8ƒ‰YǸØ¡´ Öh PsNAÙ^/·¨r9E ªÂÆl ¶BéuL[“Vùeˆ¦T³½ôÉŽdÞø@ú‡`_µ¬‹’wV| ýÿšð‡äˆš …oafaosKƒ endstream endobj 212 0 obj << /Length 125 /Filter /FlateDecode >> stream xÚ32×3°P0P0b#S3s…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒØ€ÿ‚ˆ¥ˆŒþÃûæ? : æ ÿÿÿ€ .WO®@.»P endstream endobj 213 0 obj << /Length 220 /Filter /FlateDecode >> stream xÚÅÎ1ŠÂ@`CŠW˜ ,äÀI0­QÁ ne!VºåÂ*Z'7ðJÞÀ+ä)Shžóþfe=€ó1ófÞãOãA2∇n'MxÓž’ÔÝ#½êÃö‡ò‚슓”ìÂUÉŸ|<œ¾ÉæË)Çdg¼Ž9ÚP1cïÖsK^4ЇÞû ¥þg Z7-¬áVj]p a­zÕ¯TƒùÌP)ñ*êýªÿåܨFíü½7̽ ,a† ò„0@ AÂæ/¹¤vPô`¤iCiŸ¥yA_ôúŠÜ endstream endobj 214 0 obj << /Length 110 /Filter /FlateDecode >> stream xÚ32×3°P0P0b#S3K…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒþÃûæ? ŒC 1ÿcøÿÿq¹zrrp^Ú endstream endobj 215 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚåÐ=ªÂ@ðH˜Â\@ÈœÀMü BÀ0… •…X©¥ ¢­ÉÑö({Ë«ãî+¾¼b†ßü§˜aÖé8åž«|Äý>2ºPî³Ô~±?Ѥ$µá|@jáRRå’o×û‘Ôd5åŒÔŒ·§;*gX@l$Æu¯8lSyÕEÈžñn!Ñ­Á£X#xiTCÄÆ©F•þHjODO' 0¿ôvÒÊÝö§þ³B÷J#n Ò$"¡ˆù&š—´¦ݤ› endstream endobj 216 0 obj << /Length 159 /Filter /FlateDecode >> stream xÚ35Ñ34W0P0bSC…C®B.˜ˆ ’HÎåròäÒW01çÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(0þaüÇÀðÿûÿ@RŽý´`üÁÀþ§€ñóŸ ÿ`ø$@äÿ†z É€ ÿa/É òmÃÿÿ?ìÿÿC&¹\=¹¹?qjS endstream endobj 217 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚ= Â@…GR¦É2ÐMtý©bSZYˆ•ZZ(Ú‰ÉÑr2EH|›((vÂðí̛ݷ«Ga_<éIÛ=Ý—½Ï'Ö]ˆžQêÎîÈAÄj-ºËj™U´Ëùz`,§â³ eã‹·å(¢8!"«Ê@'-À1¹à4r²Sjed=L A Ñ‹]l»ÓŒßÄñ V0ùee˜þǯÛ̬äsnãÄ…«òíž ²Áœ¬Ì”/óÍKÝ´í*ëßàYÄ+~PûZ> endstream endobj 218 0 obj << /Length 218 /Filter /FlateDecode >> stream xڭнŽÂ0 p[*yé#à€4"€øè€t7Ýpº ‘Á }4¥Ð±CHpH'n¼[~ƒ­8{`zzÄ9÷¹«Ç<Ðl o5É„jÎÃ~ÛÚìiVúb3"µ’:©bÍçÓeGjö1gMjÁßšó*Œ6±Þf¾'i%°ôQ|”p”Þ´Dй£+”7Y´¦Ñ&˜Dí»èþêï™ñÇÖºÍã^ÙÜ+­džF˰ÅU6ºƒ´uÒˆ“¬;Ò‰wþÛĽoÞ¤eAŸô$”Šš endstream endobj 219 0 obj << /Length 144 /Filter /FlateDecode >> stream xÚ36׳4R0P0a3…C®B.c˜ˆ ’HÎåròäÒW06âÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(0ÿ`þðÿ‡üŸÿ?lìþÿ(¨gÿñà?óÏÿ6ügü  u@lÃøŸñþC{Ì ´÷ÿÿpÌåêÉÈÈöPê endstream endobj 220 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚMͱNÃ@б\DÚæÚTdëä""R.HE¨€’’‹ˆøÓü)÷ ‡h®°¼Œ!Åkfg´¾:[œë\½ž–ê—ºXêS)¯âK†såí÷òø"›ZŠ;õ¥׌¥¨oôýíãYŠÍí¥2Ýê=7Roë0ͬ¯&aÖ8äéYZi4 % :šŽú£¬1X[ÀÌz83L̺ܘE†œ[yß!8}†?£øË+–÷ÔðO2dñ»ÍÃWtm8 è\„\Õ²“uYÛ endstream endobj 221 0 obj << /Length 160 /Filter /FlateDecode >> stream xÚ36׳4R0P0RÐ5T06V03TH1ä*ä26PA3#ˆLr.—“'—~¸‚±—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEó¡a9$lÄuPüˆÙXþÿÿÿ¡$N#ÌC®ca¨gc{ ùù ì00þ?À”àrõä äùJm endstream endobj 222 0 obj << /Length 162 /Filter /FlateDecode >> stream xÚÍË1 Â@…á·¤L¡°˜ èfqCÊ@Œà‚Vb--+'GË‘<@Ⱥ!Xè l¾âý3©™ŒžóÔpjØZ>ºíÇ„m:”êL…#½c›‘^…™´[óíz?‘.6 6¤KÞNäJV- ð-rÿeÜByD¡z 7ÿ«ÿU}Ä`‡(øD,uxIƒé0nÒ·WR héhKo©b“ endstream endobj 223 0 obj << /Length 236 /Filter /FlateDecode >> stream xÚMÏÁJÄ0à?¶0àöª°Ð> stream xÚeпJÄ@ðo \`^›B¼yÝÍ] ç ¦´²á@-íÄÛG²´Ì£äR^w¢ùÃÙüŠ™]¾™9ŽŽâ„ Oùpj8>åxƽPS5œÌþZ÷O´LIßpœ¾puÒé%¿½¾?’^^qDzÅ·›;JW\×…ªË¡~ lr¯&V‰÷g¸î¾{„'À´N2¬;säÀ8GÖêÊvn=§·õЪÊQoåb]pл ~‹‹¯^¶ã8ëõí®Ø:úg00ìœ7~Êžî¿®JT¥Ä٠Ͼüœ4s”M^!ÒyJ×ô[ÍX' endstream endobj 225 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ½½ ÂP F¿Ò¡¥Ð¼€ÞVn«“‚?`A'qRGE7Áúf}”>BÇÅšÞ‚Šè*3$|9º×î†ì³æV‡uÈQÄÛ€¤}®+ê5“Íž†1©%kŸÔTڤ⟎ç©á|Ä©1¯öר8Ux·èã”À*à%V7±38©“ÂÎ \Aî&°rOP ådeyÜ¿¡>Xý ?c\%éý#øë£æË'q¶(I£©fÔ‰µNšÄ´ ƒ…) endstream endobj 226 0 obj << /Length 259 /Filter /FlateDecode >> stream xÚ]ÐÁJ…@ÆñOf!"·."ç åÚÍE0p»A.‚Zµˆ ¨vµ ôÑ|Á¥‹ËÎgH0?˜ñ?p´¬NÎNmn¹ÊÒ®×ö¹wYUºÏ¹å‹§7ÙÔâîìªw¥§âêkûùñõ"nssa q[{_ØüAê­…ÙÈB´aD4%;˜>Ú#îp¨§Ýà{%*eÌdl”鈧W”]èHÿ‹ùOË·ž¦…dfä 3Âױt¢KÒ‡óF¼oæû¼³MØfl=³oÂ,"†EÌ"pLΉ~WІh–Fš¥F³*Ö4×€& !Œ3ž´DWþËZnåÎvj endstream endobj 227 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚmÁJÄ0†'ô˜ƒyÅÎ h[éÖÞ ë ö ¸'âiõ(¨èÕöÑò(y„sÆ™ì$ä;dfþò·ýùåšjjéì‚Ú5u=5ø†mMrºþPÙ¿àfÄêžÚ«~Æj¼¥÷Ïg¬6wWÔ`µ¥‡†êG·*€‰`ˆß‹Z@y˜æÂÂ`5@éNŽ0Þ8FéÁ„ Ê ðÒxÖ‘õPºŒÁ fÆÄ¾ŠÍ¡HmVJ[ù\8ô¥ )ƒqYT‹‘Nà K†Jˆ¿8L3#Úÿ±Ä™g¾DïU”kñèÙ-¬Ä2¥¡gþBá8&%ÁÃ1DñÂëwø>³vq endstream endobj 228 0 obj << /Length 206 /Filter /FlateDecode >> stream xÚ¥ÐÍjÂ@Àñ„@CÐkBç º·‚Ð õäA ¶GAEÏæÍÌ£äMbö/hèµûƒÙf–Éf¯Ó±Zµ'›èdª?©$¶¹u©{øÞÉ<³Ñl(æ½½“èéxþ3ÿ\h*f©ÛTí—äKõ> stream xÚ3±Ð33T0P0b#K …C®B.c ßÄI$çr9yré‡+›pé{E¹ô=}JŠJS¹ôœ ¹ô]¢ÆÄryº(ü‚hCýÿù üF‰¡C€£ yØb•ËÕ“+ À¹—— endstream endobj 233 0 obj << /Length 316 /Filter /FlateDecode >> stream xÚÔ±JÄ0Àñ„ ½¨4O`µÐ[,œ'ØAð&qRG¡ŠâØn¾V|‚ƒëmÞp\üò¥Šp9óÚä—–JôÁá~q¤r5…KëBMKu«åƒÔy;¹µ}ts/gµÌ.ìËì ¶eVŸ«§Çç;™Í.N”–Ù\]i•_Ëz®ŒY37RcºÿµUØupû•]ì™Q/ë-%öu;>ƒj{ªPÑkPé%„G“*K¸0IX‘ S†Å]¦Æ'æÂ aÞ„a¢Ž Ì$˜W&¦ˆ>a˜’"ÌÔø…a’ ïI‚0QGdl‡ LLÌ M¦¤ 254A¦a§Ú·ž¨ê£#*ýbDM6~ÿ,> stream xڕѽNÃ0à‹> stream xÚµ‘±JÄ@†ÿ%ÅÂ4yƒË¼€nnàà pž` A+ ¹J--îP¸B¸«Ø×\_ðSE;ò%ë_ûtòøBë–Ü=û’ܵl“koøuÿöLn}{ɹ ?T\n©Ý0`Bùòð¡h§"à(»Ù vì3…,r£Vˆç ½(R0§(™ºZ1̾‘?¡^3šAÑï RàWÄ^þS…ãML j×3ô)0}1Fè3‘õ¹fšÅš l—iX6e–§©î*y’›XˆÞ i}l±éæM‹ó£«–îè S-zY endstream endobj 236 0 obj << /Length 290 /Filter /FlateDecode >> stream xÚåѽJÄ@ðYR¦É˜yM̲pž` A+ ±º³´P´”äÞ,÷&ñ ´ËAȸ³›„ÃÃΰ¿Ý%“ͦ‡GÇ”RFûš¦štšÒRãN2»šÚ¹ö{‹{œå˜\Ó$Ãä\Ö1É/èéñù“Ùå)Ùùœn4¥·˜Ï ܵç0Cþ v þ-¸ôˆ¸ñ0ÜypiV‚ …p-P¯‚¸ØLð"(J€Ëv×W—ÀU+ov®Œ‡-ã“ßúcDâõg˜Uâ7({ð_`üú7'4»¨¿ ÁlÃ…éâm¶sކH/@×b€±'Û¸^U Þ¶b°æÊUŒVlÿA1J·1×vÏÞ€g9^á[9×^ endstream endobj 237 0 obj << /Length 267 /Filter /FlateDecode >> stream xÚ‘±J1†'lq0…ûÞ¼€f̰pžà‚Vb¥–Š‚]òhy”}„-¯86ÎL¢œ‡• Ù/Ìü;“üq«Ó5äè¤%×QwFO-¾¢kHfçræñ×Ú;r Ú+£®éýíãíúæ‚Z´ºo©yÀaCÕ 2–i¤´å¯™5º˜À€z„>‚¬%k<&rš¥,«¶`vŒìd+q3Ëß’1«^+ü ô\úoxE<@ØG*Ðqˆ ÷ù/|AüýoŒÙ¸=˜¨×,¨¢8U(`‡Ø´ fA-©‘pœûžçÚŸ¹Ú¤Pjí"ê{mœ¤ÔIš€‘ƒã倷øYRŽ endstream endobj 238 0 obj << /Length 351 /Filter /FlateDecode >> stream xÚ­‘ÍJÄ0ǧäÈ¥¼€¶‹µ‹§Âº‚=zò ‚ =øu“mÁë£ärì!4ÎLRuD¶„™ÉÌüg¦^îW¦4•Ù;(M}hêÊÜ-Ô£ªKCÿQ•\·jÕªâÒÔ¥*NÑ®Šö̼<½Þ«bu~lªX›«…)¯U»6À_‡GzahBŸ ‚Õï„—ã›t ]æ2 º‡¦G6Da)…Æh˜rûÅÌcf÷EA¿1-Û?pλëÛÕ³«÷³î I}Òˆš6Ä¥£P€gOén Àâܘ’ÝÙ'û+ít‰c¢„036u! è’¡AÒMÄ"9Ñ%ûÈ} |H³=¤X9ÑZ±H v¹÷]Ͻãm³E=L‰QVþgÎq)Ïœ¯ïRþT7éØD]àãn²¤Çó cˆ»Æ’|´M É'bÛ<Î%øªNZu¡>ÚvÔ endstream endobj 239 0 obj << /Length 219 /Filter /FlateDecode >> stream xÚ37ѳ°T0P0bsCC…C®B.33 €˜’JÎåròäÒW03ãÒ÷ sé{ú*”•¦ré;8+ré»(D*Äryº(00`öÿPÆ"Œ0C=Ã~d3ê@Ìÿÿ@üÿÿCö àP³?PÁ ÿÌøÀÀÿÄ8x€ýˆq¸¤Íþ83˜qÈøe0‚w`Œ0H+Èû¸p3Œ2¨ÆÅ>ãÿ òÌÀøþÿÿÿf qƒËÕ“+ ‡ÞP endstream endobj 240 0 obj << /Length 142 /Filter /FlateDecode >> stream xÚ36×31R0P0bcCKS…C®B.#ßÄ1’s¹œ<¹ôÃŒL¹ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž.  Œÿ˜ÿ30°ÿoÀŠAr 5 µTì ü@;þ£af f€áú!Žÿ``üÿè¯ÿ ȘËÕ“+ > stream xÚåÑ=JÄ@ð )¯É2'p2°Dl ¬+˜BÐÊB¬\K E;qÒy­ˆ…å^aŽ2EÈ33ïŸÂEô„ßdȼ¯Ú»Ò¥Ou¤mYê­¥ªÂAßÃîöžÖ ™+]­Èœ…c2͹~z|¾#³¾8Ñ–ÌF_[]ÞP³ÑIÚ%ae,ò*˜¸=ëÿcÊ<üæ<¬6êF¹ç<ì â½Âö¢òÈÓ‰Y+æÈ _à ª^L½˜ubÞŠ¬qîð‹ï,÷?vïóMÜectJ§è¨ÄAq´O8Öç‡:ê®ÑG±ˆþò}-¢ÿ˜ ô¿È˜KHçÖ~Ÿc¹‹½DÇ='ùù0t[°gž7×ÒiC—ôÍâÞÏ endstream endobj 242 0 obj << /Length 123 /Filter /FlateDecode >> stream xÚ36×31R0P0bc#C…C®B.#3 €˜’JÎåròäÒW02ãÒ÷ sé{ú*”•¦ré;8+ré»(D*Äryº(0°70ðÿo`ø†™˜†ëG1Õñÿ ŒÿÃúÿdÌåêÉȸ§‰ô endstream endobj 243 0 obj << /Length 252 /Filter /FlateDecode >> stream xÚíÒ±J1Ð;¤¼ÂùÁ|IÜeÑj`]Á)­,APKAEÁnæÓ"vÖù„”[ û|Ï]°\k±äÜ„[Ý÷vGÜXN n2rבî)M‚Z/W·4mÉŸËŸ1ùc‰É·'îñáé†üôôÐEò37.\P;s0 ]*îËÉðÔ\æT3&‚œ0þÆ3vr•ÑõŠ‚ºHM“¤å%Á.,äè^{ØaK uÝ`†m)4ï‚å¾`±B¥°ŠOÅÝŠË5䀳¶Š"mDVô‘øÇ_ÅÏ—ÊBŒ.¤fY/ë©ó/AG-Ñ!A B endstream endobj 244 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚíÑ¡Â0à[*–œÙ#pO@·@ ¨%0&H@! $¸ñh%Ø#L"Çu€…D´ùþ¶—KzzµÙ¢ê²™Í"\¢1’CÝÅtíõˆŒAÝ“SÔiŸÖ«Íu{СuBãˆÂ ¦ ²åà³U|0Û€ù‰Ø–ØB%/Q@Px¼·à_åQvØïʲ#€rˆO‚û ^‰Ëç7\©ëŸ‘†ýãgpÓ÷x'A~^ɼ™¹P²Ù/ÀnŠC|U¸ý endstream endobj 245 0 obj << /Length 249 /Filter /FlateDecode >> stream xÚ­‘±NÃ@ †}êÉK!~¸5Ç©©*ÁÔ1#æÜ£õQú3T9l× êÈÝIßɾü±‡Ûë5•TÓUEá†Âš^+üÀ:p°¤PŸ3/ï¸éÐï©è·Fßíèëóû ýæáŽ*ô-=UT>c×€Kxåiôi$Þ«Š@v”#W@Áø!ç'=rå4à8 E\)™æGCÎ †B1Š:‹6ŠÓ½bê¥:wZ¹KÿŠ??²"XÖi=Ì1w«½fùbpêYœ4?Í]óšeä[›ƒã©ÄßÙÄt~xßá#þ°´”ð endstream endobj 246 0 obj << /Length 288 /Filter /FlateDecode >> stream xÚÕѱNÃ0Ы2Dº¥ŸûHmÚN–J‘È€SÄÔ22€`%ù4£Œýƒ*Ÿà1CÔÃg[!uBbˆòîbŸ»Éèt:£ŒFtr6¥IFÅ9­s|Âbl³ÍòðiõˆóÓ%cL¯lÓòš^ž_0ß\t—Svå‚ ÒPiˆYÇÜY0ë„Ù£Ö-$F°i nüQC$««­ö‚l±réÚ¢•ÈîWFÐ$\E‡aë×}!î~"Ú÷bÀÇ ö€?ÄqëÿÁ®·®Q®uæ{3}>t^ ãuCaÊΟ jëeG)…Am´«êÝø¢J¿IãŠe­Å[W.Üç¿¢jØ„7ý¼,ñ?n·Ùe endstream endobj 247 0 obj << /Length 281 /Filter /FlateDecode >> stream xÚuÐ1NÄ0Ð¥ˆäÆGð\’o$"-‹D $¨(PR€ [mr®â›#¸Lv˜q v š'Ù3þ3Éêì´n¨"O'5ùsj<=׿Íx/—5«¥òôjÖ)ïÉ{S^˵)»úxÿ|1åúö’jSn衦êÑt8ä€å©zÞ[dŒö yDñbDΰƒtÁ‰=Z¨b‹è°M΢ýÇûyqPû¡©“Újë•e^Œ5X*³>ìYëŽYžÌ:#•õB´IjÆ!¥MlGÕ-ƨéÉâH]$?r>Pçäcš6òŸA§Ù ÓìÖ~¢þ¥I"v˜¶ÈfD7¸ˆ(Ÿ0æºl@/]æª3wæׄŒœ endstream endobj 248 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚ35Ò31T0P0RÐ5T01U°°PH1ä*ä21 (XXBd’s¹œ<¹ôÃLŒ¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. Ñ@ƒb¹<] @€ò>’ƒdF"Ù‘H~$RLÚƒÉz0ùD2ƒIþÿ@ÀðƒD1aˆ’Œ¨L²ÿ``n@'Ù˜ÿ0°3€H~`¼ücà1ƒ(¸l@Aÿà(ÀáÍþÿ8¸\=¹¹~@‡Ø endstream endobj 249 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚíÒ¿Aðïr Éî$7/ÀÞÆeQIüI\!¡Rˆ ¥¡æÑîQ<‚ReÌž V÷Ûùv¶ù¶™Ö[mN8åšå¦e×॥-9§Ã„]úHkêfd¦ì™¡ŽÉd#Þï+2Ýq-™>Ï,'sÊúŒ0eQĈ"”ïüå²ÇÜŸÞÑñþñ3‚Ï?£(%V” œÊUè… Ð’“n(6áÁY4nú+|×<>èÈ­h‘\Ð ºEƒŒ&tj8­Ú endstream endobj 250 0 obj << /Length 268 /Filter /FlateDecode >> stream xÚ}Ð1K1ÀñWn(¼Áûž/ ¹T‰„ƒZÁÄI…* nwâËÖ¯qŸ@2ÞP.¾äR0‘:¼ðK2äONä¡<¦‚ft I’šÑ£ÄTŠ RGÃÍÃ3.*·¤ŠK>FQ]ÑÛëûŠÅõ9IKº“TÜcµ$km™µúŒlvÃÓ2JP;L5o<š-ÜDØw0¹ÃÄ¡ ;Ì#ð3ðÁ“9¬~cÔóÒF°<à cp¼GÍh> stream xÚwT“[Ó.‚ Ui"ˆ€tBï½÷Þ¤† ”$$‘Ò;JïMºté J¤*¤HQ@zçGç;ÿùî]ëÞõ®•wÏÌ3³gö<³×æ‡:ú\²¶pˆ†æâåŠä55Uy ŸäÃgf6€¢!ëñ™ Hû_y$„¾Ñ)€Ð7@M8  öÔÀËàã|@ èß@8R  rƒÚ4¹jp…Ï,Gx"¡öè›}þ^XÁl^QQaÎßîY Áš ´ÄåfG0È C!hÏ…`•p@£b<<îîîÜ 7i/ÅÆ p‡¢zé±ü* rü)Ÿ`àEýeЇۡÝAHàFá C`¨—§0[p³;@_U €Àþküàü9/7ïÂýñþ ûí ƒá.Ì ³ØA!m% n´š‚Ùþ‚œQðê ²¹üNP’Õ€n*üS Œ„"Ð(nÔùW<¿Âܳ"ÌVîâ¡Qø¿òS€"!à›s÷äùÓ\'Üæý·d…ÙÚý*Ãö)‚Çu} QUøƒ¹Qáÿ£³‡ ‚@a~AÄñ;ðüÚÀÀùmäý¥¾©Á×GìnÊ€øBí 7/|oÈ @#ŸB|½ÿ·áß>//À Fl öPþ?ÑoÔ»¿ä›þ#¡3à ýxÀ_ÏV7 ³…Ü=ÿÿn1¡Žœ±¾ÇŸ’ÿc”“ƒ{¼¹øù\|‚@/P@ |³ðýwôOÿËWfü ö+ß›ƒú;g·?$`ý3!l€Ó‚ßP`ý‡éæ@A øæ‡÷ÿ›ï¿]þo4ÿåÿÉôÿÎH驳óo;ë_€ÿÃr:{þAÜP÷)úf 4á7Ãûo¨1ä¯ÙÕ„ØBŸºü·U ºY˜ý ¥¹x¸é¡(%¨ÄVŠ;üE›¿ô†¿Î ƒèÀQÐ_WÌø_¶›);Ý\#¨nþe¡nFý»‘¿dÈÍPý;Enûkúø… $ä‰ÓüIàÍ{3¦¶ßìðpÃàèÀM;;8ÿW£…D<Š¿T¿% €GçIÀcð$à1ùÄËwõø-þ+ðS$ò&áßDºIöoù÷Õx@ÀøS“p°x°cMpëIµ,;×êöNê‰ ×P%.º[qÔj)^?+sZ½Tiª‹WÉÒ±]KÎõ${þó¾÷J-C§ÀƒÒº=ƒMìäõÑ­ñïcZÆÉ{M/“åèÅŠ‘Ý:tQÄxÒ¶öÝúÌ÷|×t~Ipg!/QV iÕjë¨.ÉÔ  5úþUÝlÓg°*x@ù8ç«Ë‹ åhóˆ­tFu‰¶Süx÷*âÅÞþ¾Y’.ºwQjn«»L¡hEñ>Z;UF³yw/rŠÝ¶ÒI½m”Éd¶l»ËØ’Oj´öVö¶,²&v;X'ÚEó~÷:¥#AÌ’Ë¥"só×"mg²Ã°{¥ŽQFiP•÷ó_éœÔÂBÔ=§Ç;G/žª§¨š ÷³rjÆK^•¯|÷­g~ãfŠÙò¸:™dE‘ƒ"“mÓ×.(¯‡É9köˆ5dܘÏL$Õ¡Õ@ªhV4¸Åß„„ŸŸÈ šZix—§þ[ïBÓ#o/«¼ý¶69–iת(X i´×bí¬OzÁ˳^žuà´×Ñò^î.KG>UK½.ðBß ¯VÁ‹ŸIžGÃÅ Ù¯6Û#ƒc(¹["+f–»ÂéË1cm1J´rËÎ(>öÀ[1øñÝJ¢Ï¶¼.·0ÓZøˆ:/ìRûâF£íöB½yݘRSœ×?¥ZR´ýÕ\dƒ—zü “Íìä}Þmy-+¤¢$K!Ч«Ãš‰+Ú2÷|¹ÈfXŸ’ëömÄ¿ˆn•]Yª•~cH ö3_RÄ×è¦Ý¤%t>i…ßMã,àe´±¿ÓÛ_l§³ŠÈTÕ²czù$Ç%C¹EÙž÷¦eÈ…ê?_@ñ¿xá”ËimŸ¾ë5ÐŒ "°’ÃYÞ$Ã&=ï:ãÝá™&»uï»q} _?ž©pžYÕæ!Õo÷Y¥öÌŒÁÂ@ñècº^_¤Ç9ÁÊ Å& =•xÎYdÅËd6Qs“‘¥òÐèx6À¶áaƒ¿¸­@^¾Aá½)A1Îå37òG`õ쳓â^Ã÷ï˜DW‘z9èŽ-¸wK\{l„VycTÏš‡Ô‰YB¤!Ÿ&Žã$Ã7íš$vÕ/ž1959Í3[¸0Y§‰.suå®>pi <£ž=M5Öáõþ@FMËx>‘­4ímcðv°Õ'ôëÜ ïÑ-–ðŽü~“,Ñåþ¢Å³ãíú)é²é•:ƒÜ/}ðm=÷ô±%1ü0ú Hó>Ï^DË:í;J ÏóMw}ƒsÃÐkÓ&yA-ŒÂþ{®èàE»3ßÒµ‘D¶êP‘Ûúzc&IžH%2Qu|ŽIÚ–­KA-ÄÌ„/ ³ZB½¥ÆcxrË«^É»ÀVCÌå¾/3l¿y;PHE’FÞ±tW(Ú•èØÞíÂÚAmMG,eÚë¥q„P~qÚš¹îfY:Èù9}ïÁ!!Öc…:xcÍ ÿ@êâÃ…|D²€–¬éÃÀ™gÿÔ#Sšá-¨È¿Æ?KP—ï ¿eV#MŸ„©òˆ7ïÉ5ØH•ªKˆÕ ©Éx±õ÷š+ÕÚ å³CAKGû×’;t‘ioܼçÊy[Ê=~ÞdS⫊iLuÏm7Ò·d¾þ+J\LŒ6äY뽜tõlÐâµ½w7 šº²œV´¨Ž*ÆpNÓjg¯eÙ3¬íGÃtK_×à±}¨Ö%2d–Gج”?é”Ç…l°(™±Fáç]„œÆžIQÆ 1"¤¶¶XT†Ü!µÓÆ5žÿ„¹\’Sòô8wãÄ_ÉR%xHøa´ä´~â ^Àk® S£'¥6ßL²ÍO)¤ÇjükštwhĶ5œ¼ì3L©>ÊXh†9Ÿ¨ÐöÁF¯<3º †==רÙÛ³™‘ð~†! @•EÚÊWsÀœV%Ku¢ò„!¯L}(7(¦xïˆê­Ía%¯D¦¢6Ã/<ê˜XΟí„<\séð<ñkÜ}_ª¨ðÔ²3ŸÍØ$9%T]˜¾ö„{|jp¬ÜNñȯÑ›ŠeîYÏ{ Ý’m´¨Ö@EŠÃÁÐGã É5£ðš´K}íOšòÙN•}ÎÌŽJS“”‚Œ¹õç«Jâ×ÒÊmVìvs®'£©è³·Ô:ñUØh‘ºG±õtº‚GùÏ (m4|y¤†H¿SKêºçi_ S^„?¢KúÌ™ghE¡¡#WßÛÿ@K¾rM_óhº3A4-•t—¤gø8|•põ'?ûgÇGÆY ›"ëQL{c>{Ù•"ú#›®¨7¦5Ä­žáÛê&«©25´$wšö±~¡¤pÑs]';ÎW3£Œ÷³›$ÆåL.ªýúÀŠ÷,ÌÏ@ðfë­>'¶4ï é \‚ýIÙñîOgÖÀe[ÍÃè7¹ X;†±¤Ûß×ñ:¨Ê\dFÙ)Îc ÈEcg›1 µí¹¦“'ßEß«VÙ@¬QÞ©àÐ3âš{\¾'æ£Vt4ÂöÎâØç 2xd¤q9*èi¬îãå?º¿œ²ë3Ý€¾Sà(g»b$Yé5Å?Ýa0©æ×ºfVÓV5Áo}é–{…€!ƒ 5ŒK3ޏ¿‘™r¡×ÓR7ª+jø¼²&~Æb„áKè ¡yë»æ¬ßؤ¯Ebä´`¨nQŒÐY±e=IÛ·‚+ÞÕG‚¿”_’‰ „w ÷zh(|l—MlxvÙ­UD÷I õ#Ó®ÇcO59p–[3=™9)y"êœj úzƜǭƢßW4{Å…U~ÙøýðîzPI€×ÛäÕÈJì{›‹£L…r¥˜<‘±ßÄšä(“óŸYü•i²G‡xŸ -PÖøñI>é- ¬¯)rŠY7våj.¹HœZß4g÷$;.œ¿Q§¯t‰š“™·*}¼ö¹ãIËX).'“Ïe\Á «"¦#á7°[¹A€c2› {)â"ë5uø-ó¶m›–8ãJš%ÎH|Ib¡õ(å~•¼rÑ]ÿ­O9ÕÏ»|Äêw¶…ˆ;dŽÇ{­­WÚÅx0`<©}á}eXÄÌ~&Dcþe¿Anm)a:N¢sU'š åXáßѳáÞ‰ဖÌC+ ÔJdz/Æo »vQë¦-YŽ!¾yøæïÑ*ò›wvúOéÓxð–Voúñ¼¡®eÂ4¬r‰—U4m›Ã—>ï¹½SÀÕaÎ'Àçùá¬ÅÓÏäqS9¶?Ò6ÑN=iºB0X~ƒŠïÕ1)–Æ+©Ä¸`°-<˜/àÇ.G/è­B3œ™€ÌN/åÓÄüE7¾Y q½ñuòÓ‘ùö£ü=Ñ€²d—e™Ã—M6§ªŒf(žˆÍX܉ ÊòÁ‰‡ò5w\(î½-JíãÐô'QÛŽUËJä³­Ÿˆ8™@;AÔz3Õg(»Äºü‚/æ.þ`'^øk޵g¸aƒk ·ýß)n†ÙìDqÊWºîw²„^šm©ægôŒ§ÞF¾5Ÿixøáúë¹ní¿Ô‚´}€þ><^Y•i7!?tçõ«Éfcì#Dèø¾N^ÐPŸl.1ë”…æ Õg’{xÄäG³±–#ÚI¯ç†?yJÒ”Xz *FPy1]€Ìœô#/ÞÊîb:#Q!oí±Õ>&\9Eµ6*+:Œ³¬Kß ä“-VÒX'e-ˈF=L…›Ëh$€ R,ôÐßïyµW=¦fwl(Ê¥8B½’c`óu®]p¥ª±ýâ-_b›TÙwuWþÎÂÅVèbºŠŒØO>#ÆŸ™Ãùƒ’kŠq2U-‰Ü;|–‹ÈÚB±V:©rÈú´Îà\í¸xÕñ—ÞÏ/ƒ}]Œ37¸~Ök.Éy¡¬Q6¾±ÙÑS—¨&r«T+fJö²Rx{ð=íxÅ÷e)ÎÛQóæÊÖ6·Ž@ô"éL¬ó{}–†üdU®éuã‡;ËûòØŒe×níQM‡ŽW$1Ò©9g³²tck‚Ü%(±6‹^q¾Ê·5ÒÎíu5`rÒ•+ ÂデÜü™M.4ïó/<Ô<½q6¡I ³—Nç<«Þ 8#‰ðŒ¡\²à{°–¿Š(3“D †Z?lõ4jþK:ƒ]¾gëûoÑ>,Ïn&E~– y˜Üà·¢€7öHDœðÙ˽ºë}ÔmºËÍjI{ùݼ¸º€9éÓõ­Ï^wÄc¬,Z‘~7ÿUª"xÐûëBò¯„•íŸ7§ž~ »w*')Êtxçgï%S{£PÜáYŸòÞáà <H¹øúÀ]ÿQãnî[¿cå+ bêÒFÁ¼ ïJCaŒ´:Ò¨Ô•0n°©ª,±‚xñ;@ë–»§Å¤yæ,ŠÏÕeûJ:›ûK¡zÃÙ‘¸÷á¡A³@ qhGÎûÅZy;ãÄ‹8mN[‹]¶‹ïT%{ƒŠÃ -â-ƒø_¢–mÕÀó|sT•ˆ Ãn§]mv›áU§àOăŸ^z6ê8-bÅÞ|‘Ô÷GД} h öi5ÑÏ5zÛͺá5?²éâíööy§š=gðg:˜C!íõ u<•8Úi|ž+#kS€Ž¹¸¸[©ät'ŠðdîG õ-,YíÖÊPÔ»×̬³çˆ!…F>ìT.D$úŽ_u„ÍòÿCɧŠûº‰)¸¬[ ⵎÕ]ýg Sª«§|(rº¼†…sÙ:ûPå„Zú½‘à¾ñ‹–ÏHRîйeá ùç–òr¹KQëÕä’sÈØëä=òLg× V>‹¹ö4-M–úz"°–î»tñ(‚7ùø'eLêÞ]òû$Ö:~ú× ’ês×ÒŠ§kê4,µûùHs&><&³ÏÑ<“þ6Œ­¯¦†/Ë]ƒ°ëÙ1­s‘€WDz †"=½ÝðXvŠö”H±ðÈÙ©ØF¦Ë±?(® ËŽà󭢞j𥳮¾ñEÝÈ èQ™õRtvBQ¬Í½?+{„BLJÓYÞ)©z¸Q¬Ök½û!Ñ„MÏcg>~#«ËOp„{Ú¡än‹‚ Õfΰ\ï÷®™B­p9´i' PÌõ6EOŸƒ§ú\Ý•’¸„éuΧ ¿NŸ½²Æ¼q²dûeCÕŽl—Ífko~ÝùŠs9³³×0ä‡ú–  #¯% nÞ0··&­øè§lô8‰qsÉéÑ\ÎA¼Œ~î™ÛõŠùmr_ÎÄQ7Ci 6ÿä‹‚ŒË‚í¤7»ñå_ç7”?õ’¼KÀÆhL7`ZWÕÁZÃát¸òQf·¾(5 ¤éþ>ùù£þˆÏyêMÕWú4B´F˜ÈÈk`J¸ÏðØf›6=Û‚ë§Ub¥$4^²vf¾¤GMaK7vÔ4Ñ—"«µnÉëâKŽ”ªQmÑÕPYßAÊ—æKž–÷8%=¬¢ß•b¿yѱðRH7ÌQnzYD:D:øÛªö›Œ8Z³çž ‰Síw\Œ‹¬ÅÛD®“}ÜÙHT­ïUtBA Pê-·Z–‚‘¿OV†eÍSæíНc<88!˜Épž£èj‚¤ýCŽA vᆕa«]‰J^7”¶sÁ­Ú§ Á[ÔY²Êó×A¶NÆáUWO½Q‰^ú%É®L·ðÛÊÃä¾Õ¦ÍÛ^à´ñƒªa.6(æO£ÉÖrôäecû¨W·®C’<¯ïµ³ð*ø*Zülå¹P¬ÏLË¢Ùä“o*_ˆgsºÜTÃ'ë~_=ÿø-€¶"./_Qh…ÎÙ&#pu¢ÙoEmažæ÷8Õ­Šî\Z×ßq1äSvÁRâ³w©>\Õ` âÛÁu·Ir¶½üúHH03¯i4ΨC…Ç +”9žt äÈE¿^ˆlß”lÂeg 0.ñ{û(ut±§Ý9é½Ãý†šî·MjçEïrióXc®mVÙ)$}ÐÑ4œàÑ i7йq§ºî#J¨Å£¼—w4ñø%;à %ª ½®’ΙÚS’g^pÁ ¾ÂÙ²ZÛr,bÅg çý,ä_pzŠ Nži4sKëæ¸&–§õ­å 1…]!éÅ6…º¦q~´m`¬mJ;º+À­íÁäïñäçó“&ªÜò{uer«m`íÀIøW‘qÐîàT¬Ǹ•cïvŠzmkûŤÁm÷o¯P®aåmBÈéÍ=1cÓȮִ8À²}iA½†­TtD¦ú "™sþ óm}-1‘—ùíoo-àJϳ­ŒëÙ0œOãýS×¥"…ˆ–»zýØRñ´ãñË^õš¸ ~äaXòqJ+a…P1ñPΫ•µ)4-&Ð÷¾Ë¦jÂ9 F 6˜»öVoqéå²J²á–|ïã wh]ßiñQå|úÎZW'ÿx2Íúç«]ÝÞ† Ö‹;Ç ‚”Iµ–ÅAóÁäš Uðp:\AevkézJš%D‹þWƒöËÏ7vÓ ˜0¬+Œ6ÁÞ{¶åÍq?Ô»¶HÍ4ð=›\ñêä:˜:eS…÷ m<4ÞZÄŠ=S¼ßУڼ#tÂy®jðŽ),æjÈ3c*l;á–J2Ú¼vmvȶ tf™Yx©Ô9'ÖüžX»`ƒéQ_$îC±Œ(Œf6Ì;ä Êå M„˾^F+”3iÚ÷¶¤ìgba“À> aÖï-‚J‘VvZîÛn‚tÙ¨‰Ã絺¡Àö“õIŸ9e¤ Ü\ÓðÒ±ëWòT•T÷n'¿ìñwî'Þé1÷£Òã¸ÏäÖ OV(L›¶]À½ò 8ÝÌ]1„~SЂ!×Ùw*½r+N‚¦NÌXŠºYÂ:®×Æ/\¹+£úOèÚç>†=è*ÜêuN4òà?4È*%ïÏJ%Ï&Õ0ÒØÜ_ºâÈš$ë*MÂI/*}‘‰èRžÁÿÜòßïò©³pžk#Õ¬mù4®6çSA¥º7Nžæ|ïίù%’ËæM„M³ ˈ¾«˜}âZJi”ÿ&˫ݔo}ºI”ø‚1ÂõÛñ{>s åñK ;“™Töø[`©0áp‚Ž˵Չª§xíè|EŸÁÇ}pˆ‘¢cëÈ“‰.ˆE;Ÿ˜Jil9ÅXâKsóu*ÑÕ·E¥FÞ?í†Þ_›Ï¬›ÇW—i f·ò-l3ð×6$ªžRI5ž\¤õË÷<±'GŸ ÆÔÛMÜ:Œ(öÕÛ×5°ó²Ä=mý¶î×^ˆéñÎElÓ+<ƒOe¥ò[<®I?‡j‡v=¥-Ød‚U~læ^_ÆrØŸõH &¿·ÙO—ârD4êì·4ü¤Ž^Xîón™Jw‘1Ä]®T |~þ øÒGq“5àý›þa.ì¸?ÆÎé;á…Ö‘ §œ–R¢Êœñ¡—ÍÒH£Çm2$TJ`Ág¼² dDDDgÒ àïGe·Tq,^e¶¬´=ú”§`Æy/VF‹2¸˜d±Õà·þÜb`<3A!ìc?ÇLˆcS¹Ã×¢T@~vº}ï Ķ$?_ô¥»‚¬A9ÚwÓ8–Úø ®ÑãÛ(¡E9jáe_øÝWñJ¾èá‰å_™/=Cˆ² <Ò9b¾?SgºÆ ß„ðXV}OúØÈ5š ·µ “M("ï­ŽßTï‘5Š3O+;ÚÍŠú SdÊx:n2é+ngšÒ· ¢5,Ø[âämš«= w1 ºÅÁÄe÷¸öhd+p•Ev woM71ËÆ>ÚÀo! LjrÔøo‹VGà$‡“}¢#yüì£É©ƒ¯›iÈ«s†ábÉÕ¥«KÚÊ램[tž|ú]bŒ†Y`OÐC›Ÿß)¶]KÀó*#`­ ÌASHÖ̦zÖIÒÞ» ‘šo‡·Ïfpš,î¾`]­øºt1ƒg¤½õ¬³q~¼²·¾%QHVÛ÷\÷±Tkòv(Òb ô0•«GPòý´Ö%CKêI­¦-Ii|r««–RŸdбá2U½aXéc÷î\AÚó3ÔÀÕOwûÀPžÕ~^ÍL`åþ“IH9pƒ0û¹'~¬Ó¦çNØ}ÃHn® ‡#uæÙϨº-æéÇ}V4aqæ¬:éW˜êótd8²?¹”V;—­Ð]O,®ûg®»²í»Ñ[wú3¸n§K´N-*ÒãôÜ3È€ËѼî î}l±]hÛ§ƒçê#ДŸ¢²Çnòd"¿È&ÅâÈlŒÅ¢½NwçÁ>ÜãÁÇÜ:qÂ$rã1®‚JOþÈ)®Ÿ½Ÿ¿¡~ð…WNÒð»´$-ÒÚÖº¤f1ô‘AÞJi˜*—áµ_+·æqÕ2wH&r¬Ï¨7Éþ\‰ô“­{B5³.Gùó±œ]‰òÀÈÄ{'èZªiDâÛšùWÛ;Ɔ°;ÎæñÇÄ.Ò™4ª…/j ‹¾]mJþõìü endstream endobj 256 0 obj << /Length1 1418 /Length2 6406 /Length3 0 /Length 7380 /Filter /FlateDecode >> stream xÚtT”íÖ6)ˆ")!C 3tIƒt§RÃ0À3ÄÐ ‚4H*!%]’ÒRÒ!C(ÒR’"Í7ê{Î{Þóÿk}ßšµžyöµãÞûÞ×õ™tôyålÖ0e$Å æI45UE $@ÀQN°¿`" ÌÍŽDHüG€‚ ‚Â`Š&N‰¨y8À‚°ˆXT€@âÿ DºI!žp€&@ ‰€¹.>np;{昽8 œ°¸¸(Ïït€œ3Ì … š”=Ìs"âÐGBá0”Ï?JpHÙ£P.üü^^^|gw>¤›4'À ޲èÁÜanž0À¯ZgØŸÉøˆ€{¸û\i‹ò‚¸ÁÀ …!Ü1˜s8@_U íCü ÖøÀøën`>ð¿Ëý•ý«ñ;…"] 8Â` w‚´•5øPÞ(aó+âäŽÄäC‡ÿÞ/ÿ#ycS-eî?ÿÛ'/ôøñ‚¼ , ˆb^þYEÿ« Ðß©ª[$ úÓ-æšþÕ±ç_àøKœ€ÓBbX püMr30Šy€ÿÏTÿòÿcø¯*ÿÉÿ»!e'§ßnŽßþÿÇ q†;ùü€!­ #M$Fˆÿ5†ý­&Ìîáüß^U#9„†Ì¼`!>Ðî® ÷†ÙèÀQPû?”ùƒþ’šÓAºÃ}[0Y Ðù0ú‚:b¾î^þqAÜ1bCý^ã/†‘Ó?ûPB@‘6¿t' ,€¸¹A|ˆ0«ÇXÂ?0F 60ïßÌðó!(L 3sÀéFôkÍÂâ~Œx!¿àß$ à‡ÿ‡)àwømþã`¨‡›¦³ß|Átõ/û·úa0o”hf • q¨ i9©’£óâ]‘ÂßM=1àÉ· Dõ([.&êgf̪—*Ïtƒ•-Úµä]O²¾Lú­¼e¬õ:æeTþfÇh?u}Œ=‘ä÷“žyŠ´+Ç8Yþ¾D‘[–Cô÷7elìzô¤þì5]è$/6ŠbeQµÐ­¶÷UÅTôâFÛKz¨&ë>ƒUá#öì%ç¸gË1f‘)Z¯˜Õ¥ÚN‰½*ï|íè›'ëfèˆRó ^Ýc C‘)IöÑ+ TÍç’\dyn½ºëgý\^…óñ8gRqüjzñ^`xå€óÚó5<ÉΧ[¥rŸCjDH]2¬t‡>¬~[}4¯vÄx=@ƒt£%®BpO6ëþvþJ ˆ¾Ò©»Œ`¸Dÿ@ÿ –8zusšÑ×P –éÍô@%ÑêPC/vÁ6™Èü.ÛŽ “͋ǥO¢»ì’>WŸD¥Øm=º2°¡–© ࢉ”¿püTÜ”~úQa:Ä!—«©‰nλaùœ¢‰_\\?S¯ñ–Ó¾m^5ï‘y0ÉÍ7— åJ†=t—Ý–©ŸØ~fÌÜâ:søIQ~š@ü:ò‰U3‡c‚»ì7ÂWñ¦*õßJê"Úü6J¤ß»O ‹ó³Åß~ù9š¢ËþØ™osk´¤.’½üî*®k–åÍ ò ÀÐ*‚ø¾±ån«$χ| ©nKÕÄÒ¨û•açY qx¸OÉ·QF½| öOÝäÛ”R ‘‰’ÛI”­÷Iße¦kõú©žcAF©¾ë™Ý¢6©P殦ð'^p€å£uõØoCmÞ”š¥=«[ðSlt÷`çåæÞ¼ýC˶U+÷ …#?8oPœp ÷‚ÓÚØ—ÙýâÑ¡xeŸh<ÛO]‚zJZ6œ«µQOú“ ~Ë$¿szÁÙ§%;ƒŸ"ÃÈøØ»¬‘báÃÄÏvÚ¯Í8¥öïFù— (âI-Wuy±Î¹fêd»C:762˲JÅevôÚþß}Ü>3èN­|’٥Ž?ÈJ¼¾'»lv7ÖÎp=B¯$tˆõPœfMàÕ,ö“ܧÙãZ˜j2–¨!¶—°=ý ·¡•ÖíyÉ~¼Ô}W?ôʇӧE±A;üÉôw)ñâC(^ªŸ_n‰uû l¢™g?æ\ÝäNï}9+QÞ˜û˜Bë‚,ÿßYRjA“vÊ’°½KŒ´Ï J“0öªíŸg¾~SCÊéš3®Û²ñü¢d«îU¬)2Zò-ZY‡BD¥F“à¹óÃG&×⺞86®Wë¢ K„ú2²ŒÍ™s­“ÀQP­‹(ÕK~ ï÷,ú¬si’·MélƒÇõ-͇“Îq5ŠNpkM‡ûß3µ“jðµ‘(-Â,s²úÜ ‡ªÌ³,Â.Na¬$-+á,Æ]Tá[—GÓ=¹F\ä´¼TìÍãO/#4»lFÙª¼l‘ÏVê½µôN«×έûtòi”´„O‹ùZeQHõ†µ„‘ë¥îÝóãpåS×3ùÑ~AÉâöýeSçò‹Â„ÞÈäÔ‹ˆn X½÷VûäzöaHÎcFºV­Î[óÎT׿¥g¦n›C.Êúï+m‹nãüÌà )ª,¶ •h`ݧ§¦é$#ÂU t¥¢´ød…5‰oTëmÉ;Œ·âbÖ3[pý<ö,tlÏV¤oÒ±ô“RõsãÅÙ-œ¢fðˆ÷öâ‘¶kÒ›çI&S•Ÿ{³ø:õGó..Íž–W,MË¢(Jˆ×û…¶º?m§šJ p8M„Ïág¨ ¯ôr/GÚÉî;ÛÕŒWUánD脘°‚1gnLJpAÐÙAÄð´HšgÀE¡€|„4 NOñøÐ¡ëàþ“e©òrïa!«9d×HŽSeûK=´ÖéLê{ßêºT.¹©:€¼…Ia)ïŽ2ÇÝH¢KrŒ¹lð%¨ŒÉòÅ5ZE‡PðWÜôÖ-·+š¹ââêò4ÄY‰fs 6áËJÖX5ý´’x-ûÜÅ‹Jâ63½¯pRŽûLx"ùYÉã÷iZoŠ+ téäVß þÞ(ZÔÜÿu¢¡Ú…dU6g±,u}‹{"¶(6²ìIû!ɲ…ñ;êÔæ–TS]ë‚AWÕ6V®j1ÑK·ÆÁ&Ú*šP£|ÙÆÍ gÔæ6@¶Ê^/ˆÞ¥UcÔÑNÖÎ’DRf~Ø4¶v½æ&ñþŒãcH5ã.-G± Í‡c]ß)Ïd£IÙÕª®>›ÃT«7uj–{‡÷X|‹*]’!´»W—ˆÔ«)8BèP)µh‹;åI–¤ß“Öy0PøphBHô…,RPõQš!9îä‰ÌöÃyjOÜYŽ÷ôÖnáOkÎj-ž“G‰Ÿ4‚5·9#X®¾Æ•ßí\™8Øä.sv_“(] Á½24¤Æmí ¥çkJŒòŸ“³hFP…b #Þ& v»‡¨@L?Äyƒ6¤ðFÕóÇC{¶ÙÔ±䃖 —U%³±+-ÔÁ vºµfôË $ñ¥º&$¢H%g‰àbQSš©¯Ïáìò?[EPïr¢?Y}m¸p䒱з~Ј“H•»TðŒ®àÝ•#§Xî]ÆO½ã·×k½,ðïiÅIŒ¯™>‰Ú°ØåIï„Í®fƒß>Ù=¬8Ò«ú$“±=ééêq‹Â_®aºÉ·¹WkM±ŠB˜’΂¢øüxXµ)çáëWë³°~®گϬ’+§SGi2?À¯£‚% ŽZç|Ep£„Û_¬Å”—Ž5Hâ8gOë‘öíIì¼KúQsxÐ:’‰V sþHg“>¤¢C8Qï }VhôóRwy?XŽ] ·çév»ƒÊh™[2ãÜN.îôLÛã«8ߎísØñâ ÎÐ ÎTsE:/p$’Äßh5íN0´ï—&â~_ v_Ù&‰fØö6ªŒah]âAß7;%Íè¬jkÝD£ *6ÑÇâ®sdºHÕï—uFÉxqšæî¸S@cùÅâÓKÿjÛþ%å8·ÒS¤zFž G‡x{7±‡ü»Kx_¸ ½î\îâ–‘>Ï$”a'X¶k÷ES9Õ'…Ÿìmò¼^¥yËÒXøªI®^A¹<-ÙÔ9+ÔâÖ¶l y!Ú}ª9~WšÎ–Éœ=­Fözü“‡—U4Í“ºT±ã> q-Æî3TËÄ]UKl‘5AªtdÊÃOÕvÚ`ƒ‡¤ßž³ñÖÀX^:©knvÏSí${:±³‹ì§ßŠ~+v’M¬²Ð&ŒMÏ3¯‚OG ÂL g½‡VV#ø}îÙšïmJŸ`»Z¬Z%Õtb‘­=a›€ku(x…×±q0Á±¶.›šc|Ò¹á;¡ç çuâQcAi T¹æìâ$) Îg½ƒýåå3Š}íŒ1mÊÜMÙ„òöèºwt+>d ~àåž²!‚ä®gœQÊêAOÔøNÆd„|IfÁm/–Yqïñö );ÒëT!Sbx9e÷¢N+ééÂ\t>ëºÕ)tÂߤõ¡Í]åŸ0²<£ˆ¨¸ÌzaÖ c`lÀÞ,Lòaó wV!Û73&µËÑô™ò=>½»cnþ7ä>A­8SÈ Z†Â;äcÊ’RÝ‹º;åÛ±»–³ŽÕ¤Ù¾2GÊïߤч¾šŽ:ºw PX1hÕYÑ0¹Å~bC=¬ÉéøaMÈ©sLäåw"óGmá7¦^A[Ï©“ n[Ú¿_°¯ÆÞîxÞÞ2ŸÀPÞ¯PWí8ú ã±9²ƒZwSëR¶oÇíVyšF ÅÙЂÇo)*„Ð&½bnÃæ"ë`.%jœdܼpÇÛ s½67¬xÝ—k¬6ðÌÆ£Ù?\m î´2-)×N~L³­“oœ² íž/âàÄz[™Æ¬ûü+Ðú£,M+w¢…NƒˆÜØŠciwÀW¼‰‡xøÏfU¸Ô ÌVz³–Ùu(’þžæ‡XGô…„[~š bŒŠ\5z<'+@Þ²« 2½©/S–£¹:¾=ºCŽ« x®7&49Pb€6‹uªÍŸÄ5fNêqÙÏqʃQ¢,æ+[¹¥w½µ^Ê)ê8 ÂuëäªâÈ fÄ& {¯F‰Kåi”¦šBW-¡øz±wÒ<µî~pRþ’nÈÈÞ¸âã¿6 „•wL>#HwÁPmªŒ|mÕiîâNEùØrÔ¿ê;§HÜ&‚žÿéMêö×pÞ›ùÕ4o)òºh÷KÅ~l ý6¦NݧËfx;¥¯êÿí¦IIŸü—y—Ýa´¾Ê©>ÀGë1»§vZ³™ï ¨Ïø4”x…­ê4Ç,›me§GS–íä$-ª9ñ—ôÉîŠõµ µÀH’áŸ=‡g+Ú¼óÜp6§¨ûpT+ºfä*ô&MÕODÀÚ~Ô׳ǣ+¬> ½Ù³%ÜÑœ‰øÞ® õ+AÝ—ó§[Q呯QéIñ…-ÌwøQ!üšAIåSw½ÞÍþ8%‚õ3ˆrÛàÑ3>ÉýaÍ!2Ú!3µqÈ=#2Ÿk5š´À›ÌqaÙkQÃ(aå7,Sx-ßnxN0MÀ–ÓŒ}cuþèxâêæŒ¸J·«¡ÀÁ)ï8Zø´ÅfO±þVþ=…Õ÷z'žêkJgp£/Lgë§MµÕ’®/Iï“®¡â/´¢Æ¾I‡);Oª;w íL][BVwÖãbõ;è“köŒ‡)¤l'×áÚ-C;Ò&ê±»Ì=Ò╬‘™ Ÿ÷Ê%—o¤¬â‰”„‰•«:°éiäœÒÉüƒ¦Ï¤J=jÛÔgévïm3?¸Àãæ¤¾|×l&ãÛûIm•qoí…‚oâ“‘K7h£&NÞÌ vâú±ö“6?9/Nƒ¯Nò ± ‡íöŽÔ³= uŽ¿9jPósŽ}/æãƒáÎâ²Ww2©,r—ˆÏ×¾*/ÙÕì7ú™œ:ÕÁ¦<ù½\zÂü~ìlY¾ x—ž*$XǨÜQÓ%È1Ç=L¢Se)“ÉÎ{Ù“«µù0 Dþ\'R—K‹uzúæ¢cv†˜¬S5}›7¾;ýéΡÎÇ!f|s‡ÔtöKµ&Ÿ—ëø,4S‰N­æ*&dã¾píóßÒº¾‹¶uôAiTl[»›T“æ€B-óU(÷û¸cïÇÓÜN+n íRjDñ?»ïêäUv-IuàÁËËÆ§r¢cÖErñÔ¿gzó¦à{VÆÜM²Û—*¯b›u%òú³(nM}oPü^ZR—è!à~pÁq„ŽØ 1ùy‡¸¬¶ZpÍkfv*¬ê†LÄÀÙ}5;ÓevO{Ì@îšwý^Ñ3ƒJ22'ub~qé\ŸC»¢Lˆk2 )R^¬Ñ‚ƒyÔ:J"´Ïôjß>o(hy*$“8 '¡9 i{ °Ê߸á€m$¸œSoê¼ÏâÁÒ¥a5ß ]$W*}“ b–s¼Ö¢Þ©/Ѧڣiv„j»žÄ0G‹Ñ±qªÎn&Ê&¾yS@äÌñ ø±kC ë£û« Kþ„™¢-™Yf¤¦ÐúÖ|IÙ˜Z@åÈ$z-;*9’ÙZ„C+ö:Àƈ ~L·H ä —Qäñð­®F%"mC¡|’ùcߣnÑCNù£+]€}ëNů¯çnry0ÓhÙŸŠ¤ò¬\ÒERˆô|)Еv°=Ò#+úAkÐñ]c}§§h–¤–|ÂЄ±§È!‹£c­¤,‰º^¸± ê æ»—`…|ë§ŒÇy|¶çaG^ÿ*.Iž}‰úÌš)„S*9$œI¶Kp–?ÓBDÊ+|&EPéâëöþåº%M[Ÿ=öS¯a0¾Ô¢Üü÷Þòþ9±w–F¢Io¨`\›,Gû?uö\Ê­yU’,c‚¼kÛ®(Ä‚#öxXÒÍV ¡ÁÂDá«óXxIÖ+‚»8fvão4›!ÀŠÏò~KYÎùÒF@Ü—âÂ_¾ºâdÎüXX-)I¹zLžä/xUªÂçð´ví'Øïû…j€ì8Ö……>‰* ×™ÓÆ3ÕH&³p©U俹±.ï=^+ëÃ#4‚ÅÂÅÕ¢c*p³t)3­¢ïéȱϒÚ@ºìè„õäqyò]“$?EðŠrOF½ÂóP=èw•;Ý<îð%#íjƒ2œ¹_è§°å‡sh×SªCÓŸ’¼k£Él)…ç¢e¨œŠN ßèîŽx9ÒJÓàæwjº»¬;¸]îÚfB1MT³›îuôqØÂxË«ûb¯TWÑœ&½ë‰¬ØŽÌWÆ/ 3)…;^©3c +\ÁSR=hݘœ”yö¤*Mhtm½–[^šHÜ:Ì~rzú²ÿë`ãÌÕÇmDÎ$"ºÍ¶ÆvÈ”M{·Åè¶++Á=ÒæFû{{bSSE_úžaQ5ÆMs¿Í<],Øò¹}¨}ÑûÔˆgä Øz¼ ¼3ƒk.wŽ¿x+Là˜j¢,Þ@޼<¯ edàôöýl<„¯ŒF2®tØíGÏ"Þëkn,µC¾ŸœŠõÐ÷0;¦Ù)hLÄ}BŸ3&½Ž»?êDÁ’±™K N•$ÿTÓ¡Õ$è}à¦àxùlUßñBé^s •Á–{ñãºzòáÙì1z­ʅɘßâ·Á»EÄ·´uCF ÷² ú©6,ŵ§ÈÇæ;Ì{[‰uA] ø[¡»\;Tu> â­ö€ï©[;7®JÍy0™-Ë_S,”$v4MôEé{±° Ù*èÉWŸ¥ãn‹ÔÙ¯œtÚ>‹‘"îgôÓ±CÀŠ÷x >šNø¶±Óç©ébáBùXJ/½‹²+ê¶óJžJ ð&p›ù›l°Æwµ‘êxç bã4¿—b§œé•¬†2ä¾{ÓöÓ&-Ä~ŸÞb%˜ëðî865gÊeedéß ua~Ú&¨rƒà–¾q“®®GvÕe¸õ-=W,÷çcüM€Íþ¼k°)©QƒÒòŽÚâ±Ðá5rð©÷ÄtB<éÅPR{¹ÎªåÅ ü8î˜×£÷n56&utŒÊ´&®M²ÝÜ')õ 9†×¹¦UÆ®d€8E&½L.),<3;›ï ±Œm³0ÅÁÙOw›U†ë»÷õ#Ä”`Í­ŒûѶ%iãtLn¹±+œ`Rþµ¾ÜË!á’|ÕÇ  ´™îƒPSVBï¹&ò”MjÛÉ€iq¦¥¹_Íú]Bß³­’<ô£Í5oŶæƒ;Ò§¼UÇLk8?¼Q™­ æX©¢L”|çiÓÒ(j˜ô~˜iƒÖ¿_ÈJóÙÝêíL|>0®ï¨\>ù5™ÄÂB‰ —ŒêÁñ£æFÊy–T\¶’CU߉³¤Œƒ»Ú5ë÷” i],{/Ž+3xÝhäÍ‹67tk”_J:qeÑ[§Õ4ˑՑ®ë ÃÈ]Åvv!‚öM)|Ãä€@ÐØšTI›r õÈûñ°Ú¨àaƒ±+}>+Vé‰ßy~‡ÉÜr‚b,ÞåaÄܱ±3¼"G”÷è~ã-tŸ¤ü£À gGV@Dôú¤Ç†ÏÐÔ‚³»ä˜ìO5T¶®&˜¿J£óƒ‚Šp/þ¹ÅHÞ6±øÌ›æÄqÔZc{¤–ÏÞkùï)¦õ дñ|ÀGcæAù§ªX¥§µ>D¢©]š…–·âZýúD}Ÿe¹ð[l&âœçW¶= ȹgnƒ»ì2Ó®W£<“Oó F¦»²cN(bí_"E IN¬¤w–ҋ'¹î„¾g–¾Àºõü‡9«Q'þâÐÓ䬚´î¼œbfŸNÊ÷+YGµð@…°LñH5TªOǪþU¼[À6XÜQ†~îpþ„ôúü¬Ü‘=vMÇ£½›{žpïëÏ^àgd'þøCsS endstream endobj 258 0 obj << /Length1 1442 /Length2 6263 /Length3 0 /Length 7249 /Filter /FlateDecode >> stream xÚt4œ]×6Q"DDî&jÔÑ[ôÞE1ýá!ºHôŒ „¨IÔ Ñ{'º „¨Q¾IyÞ÷}Þÿ_ëûÖ¬uÏ9×¾ö>{Ÿ}íÃÆ¬gÀ+ƒ¨ à(^Ÿ€$ ¨ý$ñ ²±BQ0Ș͂ô€"à’ÿAPDBÀ( ¦FaxÚ8 á @BHT$&)  HüMD %%°ÔÐæ4pˆ!›"ÂÍ urFaŽù{ pÚs 1ž_+ µÃm0ÊâŠ9Ñ  öPÊ÷!8¥Q(7I~~ooo>°«é$ÃÅxCQÎÀˆéq~ è€]!¿+ã#d ¡¿q„#ÊŒ„µ‡À=0žpÀ¨kºnøo²Öoðçnè_áþxÿ …ÿrÛÛ#\ÝÀp_(Ü p„ €®ŠÊÅ€á?‰`˜ãöCa`; áWæ`@E^c üSž‡=ê†òàó€Â~–Èÿ3 æ–•áŠWWåAø3?%(b¹v_þß}GxÃýÿl¡pÇŸE8xºñÁ¡îžu¥? DøoÌ ‚DÄ$„ˆ;ñ±wæÿÞÐ× òËú c*ôwC¸Ž˜" PGæÐßìPHOH ÿþ¹#¨= °ƒ8Aá„ÿŽŽ!Ž¿÷˜æ#¡>€…F{ @àçï_++Œ¼p˜ï¿é¿úËo¬¯­©*Ïý»âÙ>€?¯°À+("€~ŠL ³üg=0ôOÿá«wD¿³Å\Óß{ýçŸáàþKQ-àü·È-Dì1ÐÿYê¿\þ ÿåù'¤â ƒý2sþ²ÿ?f°+æû‡€­' 3ÚÌÀÿ›jù=´Ú¨§ë[ÕQ`Ì ÈÃ`ÿºF¨‡ Ôâ EÙ;ÿVËoÜèç”Á pˆÂúóYx1­ù/f´ìbžŒ$™ ˜Éùç‘Êp{„ÃÏÀH$Ø—ÓdÌNðafÑâóKÄ?¸˜òG’ðgG%„~{(ÒÞÓÕ†abl¿`QÀq÷Ä´ãoDPàwÛ#1‰þ Kü˜‡íß{!€ß æéñ øG–öžH$fPéSÂßû_¯â±'œGØK…»T‡7Ÿ¼’§óæ]í¿?¶jòœ‹× ùÖóìÖõ§\•™GòO{ÚnÏ.+sÊM3]øo5Ô\lLÖoúpn“ø`hµ‰prêÃ@á–üëN†ô¼†rkîÆ¡q°ßk°åº{ŠßÒË'?ñîPõy݉žé}<¾ª¿V)ªItŽæ5zbZ<Ê–g—5FÍ‚âe ¸G¶çC2zx4B–3pŤ‘ÈM¸+Täo¾(w:æ7÷ÒPУ…†•Æœšç¬wˆÝ_a#Uã΄IÑì‡IŸé"¦bžg³¼·ù63*¡bàuíU^½Sï@+¹Opºä+ÉU¥u6H]ÊÊ&›rT•ÐCÃÆ;G…¹æ#ãVG—gôÓ﯀Qb3ç­úVÿ5îs=?ð?~ÖxÒS÷q¹5ФX¶S–ÞÉtOÙÙ"zvF2ƒáÕw­Å¢Nq›gÚë©ø98BÚÿÑ7…3ZÐR¡€€¹8^;v/ýW‘Ü€oqåµ{:ïGI'`ÞdVaWa¢:WvïŸííÒ8 )Ûf>æÌËPný+o>žC_ªR;†æß[,§âS*õeÒJZ™üÖÅZ$¬®Ú¾:QÑmùÈ×åT¢€ï«q¹QS‚H>óÊv oßFmh·BXD‡Ä‘ÃÆÒQY™‚5å&Âøt¯Ü;J¡'XxÞ_ï„ä´x覩ÊÇ\{q¼<Ö~Ãî‚³k]<‰‰áý³å¾–çÞˆá/ýxKeÂÉ›EE$%Þû›Ak@åU(B_º½ÿÑmÐé,F@iAÚ•tÓ¦ënMÝédæ|óÞ|nøBùfAmí«W²=4¶²b©[TD6½¹xO߈ûèI ƒÆî£NÔ°¦Iˆ¥DÓꑚž M¡éFŠXxÐtª5TyõÐHà‘/5ãøe=#›å‚ûnˆecãš°®°³E†Í±zcþ«Ýוç”ÖìchÊöµ5NµsÌ^öÆ{ù‹.P§Œ[ž´×9î=é,B4÷qR² ‡Í4ùf5©¿ôpµòÜQý¨éŽR4WPÍ~KÈÈà;Ãy+Z“ãq» ®Àˆñ³ Qu=VVØÍ³—õ¼Éw-Z¨·F!}=1']´4š½ì‚lN)v•~‘ǽ4i<žˆ í—‚Ô~óžIi¹‘£¢÷Ò›î½ îl#.º’xß_² ÛQ ™BeÏEýiàø³åžSªœ]¶t9n ãû8¾á–÷ÛäµfÖ\KÅúŒÂþiÝ£ñ¹"A¦ qwf-‡áŠe:ÄVРȘÿI·Â}¹ªïg;ÌI­fy¿SÖÓÁã®¶Žò÷C=”ÞŸç? Z!Ðí @…Í…¬ºó'Ï<ׯ*øw$kA·&SJ»}EµLÏ *Ä%áÔZpƒ}oöRÞ­‘W•Ùª~'%_¨ïws$­pö^4«Ÿ;ëœÕŒû¯è’·žƒp´¼ìÇ\)ñ µ/ZØ»Y´·¿¸vÈÕ™Œ=.§.,wµc˜zŽwïÌ6}ëzG^òB2¿ãa{ì-›ž²`ž$£±<—‚ÿš4šê«9Z1[¾`á8 &Uáÿ©…ˆónã¤)\?‰… ë9V¸¸ÿƒIDik‡áΓ½kvò—Ášm"òñ‘g&¤ —ô‰o‰}W´7®DCÊr«¬ßƒQÙLrº ­<þ,,•oL)o„|ï¦-Û“hkO ªvš_ÌY฾¼jôx¢Œƒ †>-ciÓ©€àN+Ä›(Юs%àÎtÏ@ixòvCç‹wQÕS½mR‰íÂA¿ÕËâÛx«…;âs‚û‚ÚÆ¢ßÔ8ŠôN×ÁwýÜJbC½«C¯°ÜSBÈGž$·ËiÚ0d°sòY}²'Õ·„ð'¶Ü0Z‚cˆþñx‚œãQ!Zµ=°×Q¥Í«œ>Šæe Æ{è•®X²Êxmî.;·ÇRþsèÞ¡åúBTÆÆR“yÍ}Q#·ˆÉ*tùt³¡<ÍââeãŒaÛí#œrî[Þ_”cQY<ÓT91̳ûñ<ñqhŒæTÑš5m7\;Ç\¿Kûdùùâ,¬ºóª7(“Xr7.ª/î-’<¬îä{8ÄeÀoù%¶\//X/”§×Êö£±Š#ÝC#‰¢‹òÑa^:Jïb´UÅ$XÕµ —ìÉò“NtŸá0Q_ìHñ*ºµûÒš7V·ôú uãäå©?z=Nž†å³¯×ž˜­NÔpLõc™L®†±·ä „j—4”éüÐЩaÏvÙ´mŠ„â]~òjEc9BØ„¾|û¹> Ks(¼g9:릛üŸ…pÁ¤ w ·=€*-üª¡¥v¦Wê­ž#êdIcf Z)“âs³,ôö¡!3[R%´žQ®è›ÝH¦$£Ï±™mHU­=þ¼·ÂÉ(VG>ôd;+îÉwàÉýuyŠåì@Fj'د§fˆÑT¹ëƒÓ-ðÜãéx7 ™ HÅgàëèÆ³ÀéÒ51¶ÖÇØ÷°všt(‹Åê®_õ³b7¯ýVâ,†Ç‰iG“%|H‰¿X)áõfŠåŠ ³ÚAîîq‰8ÖàCÈÑÍWع#R-_F“a¡*gœøD“Ot¢_`K-~.r¸|Ùöc;©üöù½æhé/òž.w’‡“£qÖ“˜Ø6õˆÄæ°].g$ÞFN›œJê¤mw{Œv¥Ô1Éá;†ÝÌ´f0™‹`ö&+…ù­±Ž šì’W{ÏE|ØÖ•°»*XeÑ}‘Cþ±Ï¤ýž ™Õÿ [_ôýªQ=)–úOÛèTî¡g¡†Tßb7¬u€#›mÛ°ÂÇl†¯u5Åâ+ ¸¤o[ ‹2λÍ;ÉwÌÜ!ÍU“ô7‹bŽ'Í"õξö«`)ço\>ÙÑ k#Q{ÂQ]+ƒm®/×O¢>µˆb+X¹JÍl±(áë`wžëÜϺYE³iÆ1:n{cØþÃ<ºÆ·?ÅÑÐÊ£""àL•#¬^Ïý4˜NX^«Ã௩R»0³gý0Ãn¾ þ%ˆjÇV«²ÀŠ`\h”‡ÝÐéEæµ´«µ0Û¸–/œüôœ5˜é*õÕã)EÛ‡ƒ}¸ùν´¦û¥Ç=÷vrþ‰¾ãDÌŠŠL1þwì øL‚Íßlï2® Ü-Ú¹E8yè=w`å²<ªìÍ`×’v{KVO#¿Ð”Q#¾qÆ×Ó‘ú†Û±¿ËÏ·Ä+Œé³Mµ‚_ÅÇÈœÇße½F› ð¯}9h>œˆl7Å0‹ÓŒº¦ÎDR;yO1_'$8[U¹a&çk`ô-"çZZù) ¡0¾ù2ùSj–³ÀéF]´JÊ£›s g_K•ÀQOô|„CÔ"r)¾\79¯‘šQe§¸mFÎ"¤ð]dêà|í䳚%ËH™þ (µ?mÇ^DçDí&#(¦Ñ¤pqPëÁó5úç÷RJ}ž[(‹Š%ñ¾dUÎúPI¦¬V¢ìQg®¾\ÐZšh¯žM—¶#“’­Ž Ö À°÷[>¯mr'̲$«E´‹+qÖ¾ÎPìF_'k*'©¥ .ùÁïR±Ø9•Ç8o›òuK‰Ý„>¤½2®oÚÀН¶P¼NÒ‹R/,o¾Ü=Æ7eFÿMnNY†L½mó}>ÚF@üN÷|%¯ƒÇ«E Oy&‹g3Oem1ãD‘T”Mõ!^*Ö–ñÕàN‰¦Bäüž(¤ãMë,Seb=¡LÊì½¾[âcÚ²üà®–Ço²Nk‹öùc¥®ÐpÜ´n8”\AájT¹È}¡ð){¦Ì) úQª¿‘rFßýZ\iWÊCCކ½ìÛRÙÒ îtðÉÏPLK”lÚˆôÑ>#tOœèp. •]‰ô)p·ÐèÚƒ!=× ûˆ„Ê4Rµ§?†?…q~©e%`l„ôè¯ò»ºéˆhŠa›\@¢¸Úg&çÁÑj©å‹æ #•ž±Fï;;ÖÛ¿—àSCÌŸRÍžnÁ:eÅV'5[-É¡ÑdÛ°/R®¬ßfü‘q_aªWÝŠ.Ät Ü=i$u¾Õk¡ÿXËmÆ»ú(Èyé ´õÌTKÇ¥%pcé­pK‡î˜aQÅDȉ„$Í- qÒžd&Êeµ‡Õõ(©¹Dæß^ö DR>ò™M%\ãk“™¯¬Ìxø¬bÖ!ÅžZyWz}:ýÕ>$ËqhEÅ/ö®«N6YÝKÎ@=Uú ¯9é+.Ä Ž%Nš¥òˆÞrÙ¸ -Ôy.—göõm^–ü6ÂM‘mÏ\ೇ—úÈn@ûrü¯ÏüŽB ©[Ÿ^t-³¨–¦’–¯s8j{ ]e251ºıͪûš±ìvrv³\ÜÓw–¹Ÿ:wðÔ“Ð1ÐÞ½[¤Õ7ˆùbÎj,ëŒî¤eû–O9ö;T.×TRm?÷nDÇ g… D7t“AÅøÝ¥û >•ÌKÏÅ^UɨÏß:ü²#2ÔÌ-Ùâv¼&[°‰ý–­©?)Äú²…è.Õ¿ºO]aºµ(ÛìJ¡‘tBÅ;"~Ì]žP“›Mu»xXÿ€o+ãð‹#¤Ë•Œ£Ï`¹M©©w æ{ÎD-–L•Óìp\ñuy§ëf­õ›JUOÕŒë'µS ?HPüOF‰.c{—ö…ÿª•ãl~(ɺás¯9¢$œYÎJ:±­ävµOm'­‡T5¤DÊð ½»¶špWÔ‘î»ò%BŽòÌH¡ž/CÚæVÚ÷ßín“™!oo2(IÆÇN;0^P„3$Ë£Honñ¢x(¸–ÁèžFç¥ ‹ÑbÏ+ƒuj Í$špÒCÍR°)늷SOòÝ0‹¥k>1tî]a¾¸êœ©WÍ.·E´ŠÑê-öµÎŒ-¬‰~JKäFm ÞMf±Üo/^šKöï®w vf‚Þïׂ§ -t]ضž'r×hp_n3QŽÏFmÔ¤°ž¥ûÊŸí;ôü—Gö¢›8Ú¢²?ú¶íð»^åì‚6oÚV¼m0#ÝÍ<¿5è¾8üY ËÇWë=r? ¢W;ƒ}HÖvMÞà]O[…GzÄ=€ß»å«&k^êwóô#YŒLýºø“¯Ö{wÁœ]M[À¶¦„­Í65ÿëÜû´l£×§¦Ö–çÝK¢¿Ðÿø¹DÇÎ1‚{¦ùÝ|x6‚åFìT±Ñf¿¡§/N}à•¸Ï•Ü¡4évrÓ3ß¹zôËÁkg÷š¯u;] Ëš Zµ%—¨¥÷ågLì§[·ºkAÕ™Ïv‚n%% ŠÉls}(­±a8FÙ1¦Iµ]‘áªr$Fã·EÕ‰,™ÒÂ×gdÎ%{Œm~\ë‘{!qO] j¤Ö’Å’’`WÈhÚï÷Ï•LGœÞ©ÂˆC½…’\Ê Qâ$Ί2ϼ¹*öœÈ£?QºJ.:¸Ü-j¨œ¥Œr¾îÞET”Ùì æmK"ÔÄQ‹_f)ÐŒ¼¶†>[Ì÷ý<"thÕGI†8¢Ç\›‹Ûä…vãÇ÷ ˆ;îÓ$Ž[¼v¨›L>×È´œ}MÅXN¿Oe¿=Mr~J€ÿ õÎ4ô!C~yMYÑ2TqIÓ«áÕÆ£É€}c¿&bà©ñ|BB&áóó ýð‹Ùyi£VSIzÜGÓ3²öÜGl‹U7vtšf D$Ÿ„µ¾ÆŽEg³´wd¾vÚ0Ülž[±¶+5é$ÀŸá¬¾Ç <ñÆy²ÁEý$y9šB‡YÞnæW$]ô˜ýò™”¼ƒº"-Th !¯ €-êgù ¶OÒ{©)L{¯/T“—fbΤÈ`U/¦¯B­ÊÖAÕ1{vçõàp¯ò®àä šžXëJƳ“Þj•Þrë¦H…fQïE×Îüc’]¾,QÛo vH?ñ+2Þ _AJI•Ei¾Áå }±£R Xehp ª:eã:gé›*y]<ˆáo×h hsîŽÔÞ8ìvNäaÒ»JðqƒÅZ¢Q¦Émié¤kýµÝ3¥muµó­Çƹúo¿µÇL.ºZXè„— ðé ݨ&bÙ¿HYĹÄj77ÇD+ý ÜxéÂ^B]$¬µ­—5 ͳ×j*ÇÆ$sÞ5lÌã~ÃLl.›’¶Ç‘ãd´$XA–•[Òd?¢Mæ»Þ]Òë—Ò¹^£8®Ï%7`:áÂ'8fTog¨š£id(vy£hcdøÙá`—¿€é: «¤¨•"$Áí¼H>Õ{µú×$ùº8)¥¨ÿ^°ªè“÷˜SM¡xWùdØDÄ|Èa‰ Fܬп¬/¬Œ M]Ê쟅óƒ_pb7«Â)“`jõ-w·wÄ=C‚Ϻ7´ÍI¨—£ˆzº4°rRùu7ØšÎ)´(¨ù¶…d}i¯Uø‘o·Å#¯£x;g”ƒÖ´ÉÏÄ@È|/¼¨¹hîL–û¯|¦Éb ûŠèûƒÆ0ú»ÍDššš9=Oq(MÃ3Ó‚.ç8l-Hñ²Ë`4cCjé·÷U¨†Ù§Ï°7™Æ> “’«fÚÒø|.ö8§ÛØy¥_OCm‘<üryïQ‡$ï«[ëê%Í=úì”ø‡oc©·‹Ž&× EžÕ~¬ªÏ÷blnˆ¤ ¿ËwÚy/ *€;k–[ZùDÔ_ýÓ»k‹íW v ö¤ “ïû½.äþÆ:™ôþ)¥%þ„8ÚÄ|T…Ý„Çbþ¬_»  OÒzþÿÚÖï endstream endobj 260 0 obj << /Length1 1382 /Length2 6009 /Length3 0 /Length 6959 /Filter /FlateDecode >> stream xÚxTTíÚ6RÒÝnΤ¥[ºA$†a€a™¡ARJºA:$¤QR@ZZAB) ô}}Ï9ïùÿµ¾oÍZ{ösß×]Ïs]{fmN6cA%¤=T‰@ Šd]cK‰ @¢Dœœ&04ú·ˆÓ ê‚!2ÿPñ€‚Ñ›*ê"À]O8 "ˆHȈHÊ€@€($ý7é!¨‚½`€®p‰€¢ˆ8Uî¾0'g4¦Îß·„‘––ø(¹A=`0У¡n˜Š00FB`P´ï?RðÜqF£Ýe„…½½½…Àn(!¤‡“<¯à C;FPÔà êüлAÿŒ&DÄ ˜8ÃP9Œ‘Žho°Àà0„x" ¦:`¬¥è»Cuþ6ùWº?Ñ¿Á¿ƒÁÒÍŒð…!œG è«ë¡}Ðá𠆣˜x°Ûc¿[êJ†3áŸùP˜;%„‚ÁÍ(ü+ f›Õ*H77("úÕŸ*Ì Á컯ðŸÃuE ½þ¯aÇ_c8xº ›"`<¡Zª0Ñ¿mNP4 ’– ¨ÄYøW_wèoço3f†@w¤;àˆs„b¾ˆüQ`/(€öð„úÿ§ãŸ+"ÀAöP'‚èßÙ1f¨ã_kÌù{À|+†~"è×ç_wÖ†9 pßñ°ª™Š®‘ÿŸ‘ÿåTVFúþ‚¢Ò€ ´‘$%ÅÀæ1Ãþôñ±ZG$ ýW»˜}ú»e¯?àù#^àŸ¹ôæBžý>HÁ\DþÏtÿòÿcù¯,ÿ+Ñÿ»#uO8ü·Ÿç/Àÿã»Áà¾æz¢1*ÐEb´€øo¨9ô/éêB`žnÿíÕBƒ1jPB8a-(r[tû/; ¥ó:ÀÐç¿Xó—Ýô—Þà0Ô‰‚ýzÂ`¢@ ÿòaDqÅPÑÂ,"îò<¼ã¼N‰É[ðã(ÞÊjWt¢e”8šk³~¶ÆÔe;‡ú‘ ƒùŠˆÉÙ&¾ýó1Ÿû¯rC–Ó5 ÐXjýëʇ‚…Cߎ_9AYŒNã’ÑëI†,dvV¸VÜ)æ³—${Ä6Ÿ}*¾êBmÞ“ÞÜ€ÒSr¶t&tœR~×.öcK6ŽUô°å}òxJ«LO-Óñ+ìǰø3åŽX†o¾ëVñYÃïß¿ÎèÏ;*Òî­•¨‰ b ö»Ë–?’<È@“”{÷ ‹KYüT¥"-‘¡Ä-‚kÇNrùûtÑ@{Ò ˜g““žJÈ ý‡oš=â³rù=ËG̶9&ß„Iè[’£ê28”9k°N‡3jÅླྀ´¬^C×ÒOÝidYù™¥öbs,þÃ01›OôçvqÙI"¢Öirp©ÁO•% à¬î#Žæ‹—wÒ*FN*-=6—UÏ‘[B_Ÿöê,n¦ N¶Z^w ÷D"9öYh¦B-:³wûv’^h‰Ÿ¾¥0ãS“@×kÏ!»myò¦ƒŒ òq Ú»4dï)JÏO°'˜‰‘šPÌ™èlbeêZÊS ÔC;ÜÝž íH’óÓ s½›,FÙj©G¥{Y­ ÓØ'ß¹R×3á7ÕÒÞÒ¡À6ryƪžoÿ¥´fŸ~þ}“þ«Å[ô´¹lV÷›/™ƒžŠ<·*Ñ|oʨ¦o˜>ÉõXÿúÕ0,öQ½Ž“Öu,åƒ[Í„_<…NÖ4W*ï©Y“m`[4[žøA¢Ò6Lf†lÈXòjËÿœ¬ÐÓzS65·^nä¼@øÀzYU×}öªoÍiÙt“F{×½ŒTÒæKps U‰H§mòiGrÉ:])iãìá›JZç6Ø• YÞ ÙT¥ZCš~®<3±0Ÿï‰¬1C!Ÿ‡M ´ýµÇ*FQŒˆ÷G-k; ÷„?{½J·*lý>Ïڢé_¨¸›¥‘BygÙ€;þîÓ‘¥ ¯¤ŽFvgÓ2]…“†]…Õw¾ÙpI/Ò9:¹%TàºYŠb±^²¸Í¡XZ´ÉÇ)Ƕ€Ñ×°42¬UŸ7¼‘¤$9ýiŠ“ôa¸qñE²‘ßSªãcÇmÿÈ  Uçw'w6Šü³²Ö”ÓFvf/^,ä£D¹UŽ}—×êlŸM?S´†°J¥Ô#%p‡1|º¦uyÛU_ŽnïG•â¬)\þ.ðÞ©öx™î“+öÛ,>RI‚8V‹lxŸÏ.^ŒÍoMßG¶‡ÚÌq¼àŠýx|dM!OKØxjå %œ¸¶fÛÍfò±/LrŒ½Z½¿0ѰJÒiÌ^(›°•véiƒeM¤$~”%¡,G±Tä…XÊ2Y'¨ÉJ¨ï`4yVAe-Œ7*è590¤X0Îÿ˜9FzíªsG -­7N˜ñ¯$Ñ«Å:pæD}«Ü>̰ZçVõŠiC7>V›-nŒ †uƒ+²­O¶fˆ±÷ŽìÑ…ð”Lgr‰¤ŸúQ^=¶exFÛo¤ƒ=6C÷3ÂW‰Lg­g¯dKî¥oulxͳJ»ûRÄÓ6i&ûºË2ªÍ­). {"¹2‡FáÖÕïsìý4TØ9C ïK¼Ù¶êÓG%âFJŒ ¶8>½h•ùÙù–w¨3^íÖüV‰wuïÇn&ÁÖfâ×¢XÂLýç—øÀÈ…n¦ØùwtÄn#jï]2öéJ¿ˆÒ û$w¼~â´m\>TLæ ð¾Þ‚—Š'Ì2ìQß™«žy“åË=õù;[Ê éÛ® K½ø+F{<‹3ã6¢óœä l¥Ë«ÏnáíX±cdÛð·0äôëÏ· ?¶ÑÔ„úæQ¤$,zݤ<à˜X\ÀÚ—ªÖ‰û|'Yw`wN¸æ”…v=ÿçRš±` Ò¸í¥·¿É®!H\ú™d¿ ߺI¤P‰.ñel*ÀfÏF«ÙÌ—•òj¸d¨¶#“9µß²GížÜw vîÊÛ#º@)O7}oZ}ăŸð»†æ¿)Þ{á­Ñª×Xn ’}[©í¹7Ç0Þ3¾h9V\¬&ˆjx½Ê0ߢ´‘Úúª ïªÓ¼*´Â2 ñAé±<2ˆæk|…V$”:–vay».FÒ³žkŠðJ”'ÀØã&zB9@,ó?B«zÍ`Ý””Ñ~Ç›RýÝ%ò?]|M²ãBz›ÌÜ?e¬2<({ã¤2Ìtœt0ÿ²-ûš´ßõö&Q*ËAÂ}è‡mIý™×Ë,|{Ò±ã3Z ‘.µ¦{Ú§T>.…mB„x£çüö"u³Ï¿÷jåÀUu ïህœ5"'GÜw&,;Wð ‚ŸE„ÏIc $CbùÔÄoe8D~)FƧû[«TÊsüÀQ'ôsb›ˆâ{ŠlÚ¾îóVPï{ÈÞhÉh òH*¡_ÛÛÐé}œ{.Ÿˆ i¨ÐlLTÞXÏn=±ŽYôÓ×?/ÏÝH¨áà1kNêÏBì¥v‰í¶Ï _À˜ƒ7Ü_žödzã㣒±Å}…,Âp˜§FŸñ~ùÄ\dR¸‡Uzê ¢]PäZUõ&Æå}PUäGW©ñŒeõæƒè »à sÃmN¿ðiú»Ï[ç-Š‹zÄÐZ¾ ¾®§B¸Ó·¢û­Rn³„©ÞR{šìî^«ÎWUþµ~9ÓëÀCÚa !‰¸QL1…ã(ÆWËôÙBækצü`G¶ ß貋#öhM¯t28ÙE–ŸÅŸ¦IÈ;±¨”ìÔ[§Í·b¡Ýƒ½dÖÌí·pïøË"/!bÿtüFÃŒIG*EoVâ’ÎØ éÝ݃£mUXù•Ué¡ êN޻Ѷ/Ô˦‘9Xé·ð¾‰›…ï:NšÆì<0 <»œ û›ù?Ó#®`Ћ·…Ê–þRƸñ1…ˆ…ßÉ])X Nà•\€K•¨8…ÊP¨dÎ×âäƒôÚ¦Œyfò ¡maõr&¦¡ÖPQ:Ú(wµ-[ˆÙJìÌÈÐMjüº1ëæ~´7Ù¨XW¿–òÓöpGi*H¬lÍf»[™Õìä!Ç¡´ZQm¢‹Ñck j+Ïßûz­-™¸ØY‰ú¾ÓtwÃí<嬭œÏJåU”«žŽÝ\y¹öY`XÍ¢â 1[ÝtfDçžú¹r¸ºrXßÞ­¥Á=„8¶^Ô’·«àš§+Ë;Íp¿ 7¬}’bø)+×~µœFØýøZÓñf“”]ê“R¸¶?f”(’»»T†oñ¹iÇûsùÉÞ™éÎÇ q;Z·‚I¾§mÜÍ}ú…›öêE°É5ÄúÓL¬ë‘0B…¨oþȸãIkí^ÚêZѹï-žõZ;ÎEÿJ&ò2¶CÖ\ajŧõÄqS¹Š¿zÆãñÚÊzrÑI_›9Îð)ÇÇs9jÆ¡s¹ ;Šb^rk±JÆtÒæ,N>Ý@Mæ^Ƭí’|Y‡§«™×‡<Ü;êD¨]® Ô)É»£ P,è´= î³5•ûém5¼§x?rmofSñÖÏð´^ä”4ÝÐÕm#jj'y0àÅÕ\;|¦²òQL«YçªÁÛÄÀÓ?‰ÕÑ6^wnÿ˜_0¯¦¢ÐôqF½úWÓsöví±ˆþªŽ)Ë.¨$•¨Š'í”æÀÄ”­Ó(ëäŠ/ýŠ’ÇRK01n÷ìë¾¬Ý Íæ'¥ M™ÆgOV-5YìERšÖÚ5ý[¼Ãl,'³Hˆžp¨—¿M×T]82cTp?Â÷Ìh¥6XæT—kíPŽÄ;]8-ÔО7pnx¨×hÕ‚«5l»¬BphBë·<åH¸Ixg:=5ö2äšÝm̯²šÈì]Õ÷vF„xd¡ø‹A÷˃)ÖôD]‹ÀÇHÏ»’byAä;G^«;Ý'AÚKæþ¹ºÓËb s qºGÖßdÌd©)¼n&>"ϼn±&{=\ùf2at™U‚Áª–¬B›Iq tãŠö3Ω©õƳ°d¹I‹˜7®’Å_Æ{ë¢å}åj#øÖCìUpºÚt¢û™”<ê áÜÍçý¥i—Ç×Í 1ë„`pI¢Ñdاž~²ÚN·'ãXe_xò²o7È^¼3NKïñê9¼üªò°A¡ûnX»p²:»„©PH~û„ÿ¶át8ˆ}xºjRn7ä j{y/Ìy×zu®’í÷¥„þ{¡ÀÇùÁèÝ‘ qŠÃ"³µ‘ŠþjŠ’Õ5//Y$cLQ¡ÙÏf+|7?÷¥à›Īˆ_jx8­™âõ‘‹¿áHˆÌˆå ¨KhêŽ!x˜ö^£rc^*?c‡¤°O×ëã º,l} ù2^„ø²—c=fÝoˆýÆœþ‘þ|c”©PìÓøšCB#«.º‰L¤Þ—[Ÿ~p‡nöuˆÔPÍ“¾” ¼Ivøè¾nPd–GfšP¯pú(bê^ÖmVí(§HÜŠþ­âžŠM2*ÅØ\“êT`†|ÊÎ9 `g¨ø¡èõú‘§jDnJ4ià1WðUŸ”´ÐÕlYû¦=£—2„?H­›_xH¼4Š .}bÑj ?p:!ÔRß”QèA§Î'â›êAH]DUܬJ>TéKʇ¸š_¸–UtbXÔr‡=ßg)¥Í%£é¹cZö|NoIJé಄š##”'κÅÄø%}Ím‘æ@#ͯ&Y¨·Gå+åßo}ëÖš'Épcà y~û\2éµ£öœWN)Ê1y±cý ûñ'²Ê6† ú)bߺù”oˆ5„y"Úq8^¬h îü,°Õǃþ°{Kt3“ãåŠ]h  4¡p_ÉGÝhp¾Âü«Á¡©º¦k¬äŸ7p¬cJí» ¯¶ÛwªlwDïLž¦ðã’F3÷TÖYçÖG1Ü-üQ¡¯XÌ©›¤º¼M‚.mš÷ ‹˜¹ÏØ*l¿>Ù{¤k¦N3 ÿ9ÆïªõQÔ\ZÞ1=°â@>qÞ×|"†Žl®úÙVèRQÚÀ^Öøéd?q–¨`pÈŠfZ'ƹ;Þ’’¦w).éJ³ò#åg¾fò},jŸ±€T-Êg¯D3ÿŽº6ÅúFäüõÑ=ç²­÷$&èa¹ ,O: šß£L Å»KÏý¢îlX®|ã·ÞǼ0¼R&šã\_|Å`#Ü»×v"Z æ½,=1Ânóqò›ÓƒÒ zGµYwv¹ÃŽ9¡W ÔÞŒÊÈnÈz ¡þ·/»v”ÃeîÉ™þ-+åZt*éÚW*8ÂÞuynÔøUï†ßr<3üÎ:©¢sRtœÔBë“éMø¡«”å‘zËrÎu.’‡ìáj)ò£Ͳv¸dýÄ^ß9Ïo.ÖšXíAfñ¬B¡Ø1즌.q+Uxá¾1‡h/ŸOÃ$ZÏ{¾¶ÔÏMØS*ŸÚóo¾Ò°ž‡×ú|à–ð>Z—°x®BÞ­ªÍªÏð*Ò1‡ÇIÑÛÚ±Ô,k¤Çj'èán¬ˆú·mV2%1¯jÂÁ5ý¯©ZæfÑk^ÄD~MZ–/F@ ï©íoæ\³ÊñóOžáÀ…ŠT/¹Îˆg8)}¶ãé¤èŸ(wÝ×\¾û0jCþ"©vÓWñSÿÏVÓÕ ‚߯z5e!þé‡w|•í%+àl\> m‡×+"ߤ:â.uznìÜÇêÅþÄžtÆí¹?@Ã&¿$öÔG×ÛñÔfæY*=ïL– ÿ ý„Ö:ýÙ Qr£òžF2Ÿ×[»7£ û N¼•&’Ö:®Œ¯ÚósØç*á9ö‡§~²­õ™Z¾3÷Õæ®¿Ù‰v÷(wÕ%~¡ˆ§ØåzùD,-Þ;6>ûÔÇɲǻ%ìn4x¾¼ð²’^´É“(S š,~Îß·P‡*»wÄÍH@]ßZö5óæ}”ásÆ“Ã:c8eKÿ)ÈÀè‡ïÅ€E¾¼öSˆJÛï¾uaLøæåú­Ú¾À:ÔLtŠBN—IÅK-r2hö¡XfŠÑtAt²E~H$jîu ;Y·¡yÛ“0ý«¯“I·ùôý¾· AZŽ] ©U–\—+ïæçÇ©>ïÈíJR¦ZÒg5žž¿>ÜPG k­¨Ç¤ ç*\¾‰ÉZ%±£„õø6Ÿ›´5“Ò‰?G›äLX§?°o¹­¬ÕNמxTy9¼×óA÷mð8 ¨.çåP÷Ø–÷lyú~a¦ZÍ´ãß^0W@â:ÈW=cnæÊÇz]¥”§ÕkçJQ~‚ðõöÉaØëïïî‹+|; §Â©óÍû‘yA|nLyáÞ·íäÅA8üEþWzè§:Ê£¼Ói1¹Ê®ñËÂ=.8ªW{£ß¨¿FÕo‚È|RÙ³*b"+ª6 ç¿'J¸èÌ2Dÿ”DcÓDÜ& œ¨Ûé¹^|2^/9kΤ‡\ Hþ¾d:ú2³PJx¦³_¢]k^·l¤v&Ÿ\¶{ø2N<ñ ¿f†»lέ/âÅRsªÅs®ÍOS'—Ùd=µ/¼x²Hp#ý,ðUõ‰hN—4.öjkÌê±€hô µ†ï&Úhk‰+¾Ù9ÑVî§a¢|r˜±£¾G_Cyà °–T©P ´G¢8uŠ ³Aq×ß ²"ŠÇ-Í-’S“Yù&¯n{CÀS°OÛŒVw5*×ã h,¶²éÖüà¾Â1Eµhn½Íÿ ‚p endstream endobj 262 0 obj << /Length1 1372 /Length2 5926 /Length3 0 /Length 6871 /Filter /FlateDecode >> stream xÚtT”ïö.Ý(Ý1( ! C‹„tHƒ´à0 0Ä Cw7Ò%R* ”„t7HÒ)Ý!¡ÂŒsÎÿwî]ëÞ5k}ó½{?{¿ûyßçù8Ø´õød­–P%ÅâÈkè‹„ø‰88ôa(èß0‡éCÀ%þ@ £Ð10 Ó@Àj®$*“ <ø”(€Ý`V ~€u!âG8y"a6¶(ô6ÿzpA¸ Äîÿ.È:B‘0Уl¡Žè!`€ƒ¢<ÿÑ‚KÒ…r’ÝÝÝùÁŽ.ü¤4÷}€; e Ð…º@‘nP+À/ÂM°#ô3~"€¾-ÌåO\ar#¡tÀÂ]Юp+(€Þ §ªÐr‚Âÿ€Õÿîþž Äúw»¿Õ¿Áà¿‹ÁÂÑ ÷„ÁmÖ0(@KIåºí~Á.t=Ø s[¢¿'”du`4Á¿ô\ H˜Ê…ßæð‹"ðWô)+­äŽŽP8Ê…è×| 0$‚>vOàŸ›µ‡#ÜáÞÖ0¸•õ/V®NÀ'p˜³+TUá/"úOÌŠˆ<@Pˆ-ðW{}O'èï$èWÍÀ×Û á°F“€ú¬¡è?"o°€BºB}½ÿwâŸ+"`ƒ –Pœè?ÝÑa¨õŸ5úò‘0€©Z{ €À¯ß¿ßž¢åe…€;xþþû~šzjŠZê¼ÿ;''‡ðxóD|D@ ú!&.ðýgm0ìïÿ©U…[#þL‹>¦MìöW\ÍÁ øg/MZµP×Dn& "A?@ÿßRÿ]òSø¯.ÿ/‘ÿ÷@J®¿Ó\¿óÿGìsðü @‹Ö…6€møC ¡L«µ‚¹:þwVFAnƒ3H˜_@øOæ¢ó€ZiÃPÛ?’ùòËj08TáûõmAW üWí/ˆ=úûá‚ÖåïmŸî«‡ ¬~ùLPDF"ÁžDh9 Šˆ¼AhCZA=~+ä‡#P蚣/À$úu­h©04}t˜è­!®H$Úb¿€Þ÷_ëß~†B= ¢éIäaˆ]eHãE¹,£;ß×!¼ÅåæÈxã®çÔKo[uü å1g¹gVet©Ú_Þ„Nú0òì_ {˜µe.¤¨ä¢0»Våùòú.OÚl ,V›±ÔÈUòƒæÛÏLqLï%NþkÚx·^ð³ÙeÃäÁÀPôŒ-…+›Ó¼ƒmÌÆ¾Œê76#‹£@š¦¹ê«>ù‰ ‹;—kŒ¡¿ô\5KïÍêîJ:~õ¸ã½hY%=•—[Î@b=uB–Z­ §œÈ7ù7Éñwè Ã8°+'@LLìqôŽ€b&»YXf"Rë¶ÚHuCãè  g¯$Û/O¼—RC·‘úÉZ`,p¯¬Œ ²åYܟмÞ|©\ýuq*Ùm8`lÌž¥×sH7°×Î%Ÿ»`í|¨rKSë*ji£-=Þ©A 6ü”UçˆÂ¨ÉŒÞ¬z%‰Žè<4¦à³íɺ™<ýs :ù;GFëSÊG;˜“ròøL;†™¸ïïa(n˜.kX\©hG tˆ¾á…P.[Î8å,šXÖ(~"oñÏÆ=0GÌ ¯Uo ÷¿$‰Q.×[˜3»6Î|:Vbdx¥žå‡â‡=d„|”Žã_ß“³lÖÁªð^øú6@³’Xª“¿ú-Ž?Eÿ<0ß½î˜1ByT’ánÍVÐt<]øKC±W“—óÒ(Ë}U¼äš ™|¯í÷Ëׄ˜–i|ß5UžSÐ&ÑôP€‹eÈåy £Éæý1~L¾†aUO&ß¿¾·]îšvœy#S̵“ïIA™PWµ8~ dwÚ ÍvéšCŽD°êÉ_"8ë¨Ç»‡ÊåLXºãð¢–ÔW Ïns«ôU]œ9ƒ“ÓdZ±ÛN²ÆÅÙÕaU¾*cL'o¯½Çå…”@ù1„?Â’û™S]Ö(]ÞÂ-9|7`ä&5Ù=ˆâIƒÔv²õ¬,ãU7_¿²½¿Xš>â™ÐÍqÛòÕe½ûòÅ'KH€ ?‘,êH$ÿëš³ã]- 5;¼ùÄìðNșɧaÿš™Sva•Fm·|¾CS.úM°XÏ‚ˆ54E}"v¶¢AÐÂÃffþZý³Ï‚¡˜d·)”·ØyÏñ2Žn"¨ë3á;fC¢¼* Àò±vË›Yë~Y­¹„g²Œ8‚^ã$ms¢/çB<|5ç*zrvfS n¦æaG¡üÇw°.¯!8n:ö…»é7™“3ÀäìBWMgÅ>±©Kg‹M$7o‰ŠCÈßpŦ½?‚ìéÎÂEl¿d˜Ð[{yËD=îg$¦š¦¿b0¾¬QC£œûÉZ^„áĬï󟀬ZÎ?†f'ªQÉ‘»ß®û(ó“ÌWá˜ÎéOÒk"eš’\´2ôvU¬VÑ_êícúí¸ô®hê¬,}0{†—”ŸV¥""Ü9#¼ÉK ˆõ.ŸœNu‚© ýø™ÓOó.J3t‰CŠÊÓµ„¹rI{¶ž|tįÿÌsKŒÀù1°ómìCâCœr®>ª0q! LQII`Hgz»1kÎåÏ&‰JZœªø™Jâ.nX׃úlÎÖ\¹Q‰>w"ýüú(ø=†nÜ7—øŠ"bêKv+–c/Í}Va2Ö£[/ØÊ@ãk‹Æ÷ hXèe&VnÕˆ|PèGt Ãÿ~ãÂå ¤忆ïQkd-ŸYRar¢B†€@³d•âÓQŽÙ‹­ü ¦¾’ç«b?IgbðxÔÄü \rs¤/ËûbcÞû,ôgÑ~û¢p;²o/÷Û.êœñf-°çíÎ,AèVgËà.Û¤ÑQÅ{’[,ÉÛ펜ÜûqjÍdCzî4ÂlBÃÕ»{¥ËC™J–rª†qGªBÃR ê·ÕR¾:ߎ{RfÒ2oš©ö¹Iç1=aLzªøû•Ъñ|úG±å)½Ô߯gfmð}zË•*žé/µ?H¦|ž"˜–=–Ù0Û~Xv7Šu%»oËòëY°qà#Â’¾8Â;gbœ¦{ |îöÝ_jÏžÝKQÃǕ¿'ÿbù;޶âžËílNé»ëƒF¢eŠƒlä *§"[œrÞ ~&Ð×ÇD†ŠÝ$Ú&¯õUcFe#ˆqT¨¸Ã½=ï®UfÐÍÝÚªyö®!‘)süõ›±Í—Ai›‡ãqúó4”e.¹8lÎLÙIà»+ßÁT0²©öøëdZl"¨së]æI6Áëyá ½ô¯wJ)=ô4Ž‹”¬óOƒÚx#¦o½¨³bà@fjÐÉÍØêx}jÆz(v¶¾‡a4L¿‹ýÁR9²'*Œ¸ò8;teº€s¯ :ù$D„Ä­$Fò*˜aÖA]Þ"%zhå_b7S ÏOŽ •×M£gVOü ú'H0…¬$;ÈÞ…+äÃhQfaå…7~Á-À7¹Q ƒEqû·r‹2üÁ\¹ø‚3š"Ò §êV´®šb¡8~=Ï}„¯¥tŸ¸Ù17U?§®ð#hMíý²9I$¾É’Q<Â*Zá`ãÜÍ}Ÿš,d-ž;épµeüCC7“oë¾À¥K83uÆ=ãoÊî£;®ûx<±7–k,UF¸ïÜˤd¥š=”ËŸî$«Ž'åÑvÙ8ß&lK©m.ñ´ßxiô¬§;5ʈ¹±²€Û;ÕÙÒÕê‘yƒo#J0F³ÜÊm<,-ú‰mLjtí©A¿ã7|\ËRO™ ÔíøÍÒ’v§à„O %N'éÖåaRЬN¬"sò†-Ÿn‘é¿GTŸð8“ 7¨s&ú¤‹ ~²cº2¿*ãb²PŸšï˜L¤Ü_«.öŒw=oLÜ~ò­pB^I¡ðkø­ˆ¦O„¦aŽúä.K´ _UǤ{‹ô†Ö³;÷º"î8]JåÇR®®Õ{z±½ÏÃ$‘î`ÚDسׇʙñí<¡ˆ£Åós%—M³L®¬_f=pl¥Ÿcâ†;}¤OÚ²”JÌÌVù4ê,­øVo¿íÜþ$õFp­p$o¯®¥Ó¹®—"â}´òë tåf2\IÙú³)ÕMÇ?ÃÊÕ WfÁtHÝ;̲yï®×Ÿ’Ò”šý€Ï7BÉÙ8{7)"vj"9>™Á~œD |ËôG²¯Çß.›Î Œ˜ÜdP3N…Ë`Ë<çñäįŽYÆQ}dÇcòz}ô’°¯çûFWAJ#*mmP]ÔÉ mbºÉ!µo HXS`=ýò*CŠ©’AõµoO œY¨ãEÞÎÆä!ã½fÖ —ÕÙß`Äö™M‰k`|[óT•Æh9h¶dãs4ÉBá‹. ÝÅÈ|c¬jM‘¾•pÑÝq‹Ýæ"ëdìÒp¤)½“ž hn‡wxp”ÐÀå}I@gAëyÙ&°Ëê<Á;0™‹‰0©] :[r±Ç+¢ÆôUŠLFÌ$’X$8atWçzÖÑÚn1½îÔ$)ËI¢\%í°ŸO›g)U»aªØ"&ÙT·aZÒÒú©±m&XÕ˜MO¸bÃ2À+™èÛ)³jçSDðp%KË‹•©µÚü…mW÷JktzaÂЗvÑ4ñ(%? jñoWÞ§g®¶_<8Æ„V|ZðYäæ×ÃOñ–eamvuã:â¦]WQ75Cb$5Q6;úÞc"1N~ÏíQÊT³î”Ç‚Z%B„Çô…›Öt‰Fô>hœ-.~ÇKPÔ*À, {]E¾£=‹›T­‚iùðžóçó÷Ç)÷&HDÚe5®ïv,~ÂzÿIS϶}9-¿2±àÝà̧a2Éøµj¦&`õbä­Æg–€Æ—F?É*UG+ µœ2 EZóÀ¯IÃäv8º¿\ lNií [òTšÝݾ%=ÔN1ÛÙí8غ'1èkÔ¬Ô¶›S3g§÷›÷œ;B±T^¶¦amb‚C¿Jµu>]YíGµl®-‘‡5{Üý³“n8O¡Iù~þd÷únšÖÿî¡áBdiÖux•äõ€" a—„º”+;áºêâ™@srEà-yÖî¬5¯™ž–Í’I±‘cÿ˜™·U]ÓgõÕ,1?Îgº¸cy$|®ž¿3¦ *]âz9y‘ƽ°g[Ó^H¥o;eEsC•è·b\6¾ñcÓ4|•ïy..­œ©†+L·£:ÌGH#¦"ÈÖ1€Óž´´ ¤³÷ô+`å’Æ¯á@óÆgC5L !ovx{ÛT=¯¾¬&%F6Çpi,²cÇɆ© ëog¾½ÃÉÏÌlìýÍf×ô~T~æ.’³…aåVqèGuÄŽj)c£‚FÖ)^ÃÝŒ¯Žsá ¦äÿ¸mÉ †œ^€MŸ:£Ôµ‚cbR˜¶ÓßIIð“1ŸsjÀ±P-!‘Sðà×bQ±ÍÑ?øÏo±pcÐxYd†Ò}o“~ÝT%ñÃ3Q¶ UýÀ0¯tãá¤s–|¿¦¡ùúhãò2ƒêx€Ñưj•òq¢$Ë5ÙQÓ«›í'eZHæÍ¯|Q|¯PD9nŽç†Øº2bÚ:Á_…¦ÐÅ&Ô¸ *hšf™ðÂ¥ ®š0Çá’i[ù I¯£t;øñ>n øAoýlqÍ7›àxŠìõ;¢]r¿õ„³{¹T>KµÉš"w(üHz‚ôÔ‰ŽUèy¦/óVã¾Iü€7–ÝRíÀ";´ž‚Í(×@$ÝÀ yá3è¡› ;êHJq,ûÕÙüùChÈì·Ù¾~Œ å¡#ûV6l7²Í“ªÓ-”šÚ]&•혻cƒàç—åökÙ®.§© Yˆ,¢© {ù¢íeŸªCÛAï¼èùÛÛ¯¢ŸÉ_å^·kØ[ë< '«·ôUç”.Âõ9ô6Çl¬ ´,Çõ}ÁMØ5ÐR‘ˆ®5±SËk‹"i³uOH 3Ú¡Rš¼,f%ÅL‡õ:¼hß›‘rYÃp‘ôÍñmêäö„ã=×+.Ü@‰]ºæ'Ô¥/Jöº¸ø¶Ã·¬ñ[‚ˆšz¶\Þ÷DÝÎ1œäµZd6™C]m£[ÚáÕ„×LŒ$¹,r¥Ym–ìin]%ÀÄÞ쉰ˆPe"åÖ:“Mf%=««¶Â“)¤“¯m‡þû7xîÚVUiÛ­7{¯=c&nQ?u· ´¥=­–; AU€ªY²oû¸a‡íöw¿×=!~Šý¬ŒAwÈ5h/Ô$žphŒÁMcÙ½•Š zŒÓD´ÜzT#ûɧ K™wA_.z+[wýp*˜THkòHvU®Î¡}Ô{ÝÅáåðè\ °:lß?Æ`‘]壸‰× Ó,UÒÉ øL™Iôb?å0–ÖÜ)µU‹<§$¾ËS™GµÄ!¥QÆèˆÖjZ<”÷K¬V%(¸5Þ‹WÂ}QL®…$$)®"±Ì„QŠÒSÔª‚ âóUú¤Ö_&OÂÕ‰Ïå“îŽÚf¹ËÜî*±JGŽ|ñ¹¨öÎÆèÕÿ*’§ƒ˜lÞkÞÉ–Ñ.Þp„F| É™åç)ýúÔ¡²»¥ï¸L<ïF8ƒšêZrX k‡O¹x´ó‘AËQãð@éá™y’óh%Dnr\]]=¿ã‰ÜjÛ´†N/ç·—Z޳÷qSæ”ê4‰Ïf³è2D=8éU°’7Ë$ªVêÚVñzCU°¿D0”¿ŠîfQÁ¡­¦C^:Ì”ôœ­Çd3ò’”A€¡ËkNÖ‚áBè~‚q»È\önžÕÄF…Ùš¹tD¢£1Aït‚ T‹këúgo+fŸ‚=å{$ÉB¤‚{ˆ(Æó¬5–¶æO9ì!K]Ð-¶zA¥¯pNýùë")’RüåÔG/$¦lr éË׸Sù…Ô>‹î„Uˆj±bFÕÐ.ƼTqè–Ô\ÆàÓ2I¾6ûØÆ6{ráoV[AŸÓ6‹µªÝÀ™²~GÇ«ûy/ 4eùÊ`R¥Pø¤ÉH³[¸èKŽdu §ºÒc›¾b6äëp¡f$ /©S´¦ó6”Û"£Þ@U%†³³ŸÈék+¡"Ùa¥ìý®ï¼pp4iË®F¿¯Þv±¬îß$öA:+ZU§E#Xvž.ž^üòR® endstream endobj 264 0 obj << /Length 696 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅ$ !Ù ‘8l[•jµWHL7IP‡þûõ¬V=Mžß̼ñ s÷ëu;ÑU··õÈÙ›=w—¾´“ì÷îÝÝå]yil;<[[Ùj<=?±×¾+·v`÷Ù&ß´õðàÈ›¶<^*;²~&ûQ·‚>ìþÝþ”MS >Ù_êãP·ò{=éÇsæ@öd”ôÇöçºkŸ˜xäœ;`ÝVY×`Œs4½JaÓQÜ¡n«þª‡í¡.’Uu9\ßèY6î>¼ý<¶Ù´‡.Z.ÙôÍž‡þ“4>DÓ—¾²}Ý~°û¯ÒÜÑör:-d0­V¬²WÑÍÿ¼k,›þ8ãóþy²LÒ»ðºÊ®²çÓ®´ý®ý°Ñ’ó[Å*²mõíLrŸ²?ŒÜÔqù¥ã• â5F8@ šˆ=@Šð)&°  È8Ô¹€ÂÅRx u€Dº\j2H—†ª¡ÐVÁ¹0CzL]ø Âb°ct‘I ©g$`htÑ‹0œÆ\F„áŒ0ä†sê‡á jd< —Iê6œ»õñzgóñºË»þê W ¤qÈ’£+—Ÿ#ö•ñÌÇkÄÞ .‰bªsré…¤šáæÄç†bïmŽXú¾„Kß7ǵHß7Géû„û¾nb§>&jÊØµäuœ¯¼ú•ñ1ÜV™÷•âÜãâµÇ‰Ou$ÕŸqWèS/%1{\øxB!€§ÔK(hH©—TЖ枃»J©Ïϯv×ÜëÁ=küÒ2ø¥UðKÏ‚_:~é$ø¥Óà—ÖÁ/¿Œ ~™Eð+7¿èË¢/ ÿlì¡ÛÒ(/}ïö -+ZXukoûìÔE?Z„ãæÅÛKýqíƒÄ endstream endobj 265 0 obj << /Length 695 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅ$ !Ù ‘8l[•jµWHL7IP‡þûõ¬V=Mžß̼ñ s÷ëu;ÑU··õÈÙ›=w—¾´“ì÷îÝÝå]yil;<[[Ùj<=?±×¾+·v`÷Ù&ß´õðàÈ›¶<^*;²~&ûQ·‚>ìþÝþ”MS§“ý¥>u;áà¾×ÃÑq~:fc_0F)l®»ö‰‰GιÖm•u f8GÓ«6•ê¶ê¯bØÒ"!YU—Ãõžeã.ÉÛÏó`›M{è¢å’MßÜáyè?IáC4}é+Û×í»ÿ¢Ìl/§ÓÑBãÑjÅ*{pÝìϻƲéOÞ(ïŸ'Ë$½ ¯ªì*{>íJÛïÚ-9_±eQ¬"ÛVßÎ$÷)ûÃÈM—ÏñP:^9À ^`„ª‰Ø ¤Ÿbr š€Œ@ ‘{@(\,…RH¤Ë¡&€ti  mœ+3¤ÇÔ…Ï ,;F™$Б€‘zF†F½ÃiÌeDÎ(ó0œAº1a8§ÎyΠFÆÃp™ nù[¯w6¯»ü·ë¯Îpµ@‡ )9ºréñ9b_iaÏ|¼Fì-ÐÐà’(¦:×ù(—nQHªY^`nA|n(öÞæˆ¥ïK¸ô}s\‹ô}sÔ‘¾oA¸ïë&vqêcâ ¦Œ YK^ÇøÊ›!¡_Ãm•y_)Î=^ ^{œøTGRý÷w…¾1õR³Ç…'ÄxJ½„‚†”zImiî9¸«”êðøüj'pͽܳÁ/-ƒ_Z¿ô,ø¥ãà—N‚_: ~iüÒyðËÈà—Y¿2qó‹¾,ú’ðÏÆºíŒòÒ÷nЪ¢5Q·ö¶ÍNÝ Yô£58.]¼½Ñ»á‚ò endstream endobj 266 0 obj << /Length 739 /Filter /FlateDecode >> stream xÚmUMoâ0¼çWx•ÚÅvHU„dçCâ°mUªÕ^!1ÝH ý÷ëñ#xÙö?ŸgìÁÜýx]OTÝmÍ$|äìÍœºs_™Iöss îîò®:L;<S›zœ==±×¾«Öf`÷Ù*_µÍð`É«¶ÚŸk3²¾'ióÑ´ž‚}Øý»ù=©½à“í¹ÙM;áà¾7ÃÞr¾›f¶ÆnjÌ-ùeúSÓµOLg~¼À8÷ã ãâþÈ)okà çA„8 ö$`I\èÎ×3`çAfŽã<ÈZ]ƒÂ!‹„ê xNkÇyã¹ãÐð"œ7Á¿ _¥ã“§Ìq âH`òáö•‚nú¥¤kÌÂðRONH=CpB:# =Ñ%8“ˆ88QA~¡!*ÉzÆœøÐäT?!~Ž> étw©8éÄy*ás£¤Ï }nÔÌçFE>7*ö¹Q‰ÏR>7в¢ G]¼;~îó¤ŠÛ<©ò6OšßæI‹¯yÒòkžtèó¤g>O:òyұϓN|žôÜçI/|ž´òyÒÚçIg>O:÷yÒ…Ï“.}ž2îó” Ÿ§Lú> stream xÚmUMoÛ:¼ëW°‡éÁ5?$R. ¤d9ôMðð®ŽÄä ˆeC¶ù÷³k›m‘CŒÕp¹;;†wŸ~>Î|¿Ž3óEŠ_ñ¸?O]œ5ß¶‡âî®Ýwç]Oßcìc]=~?§}÷Oâ¾yhÆáô9%?ŒÝ۹׬“B|Æœ‚>âþ)þ;ëvÇw%gÏçáí4Œ3‰ä§áô–’>\ ‚‚6ý§ã°¿ õEJ™€õØ7ûÆ8ó 1¿’{Æ~ºðÏ`W(-ú¡;]¾è·Û%=°ùñýxŠ»‡ñe_,—bþ+-OÓ;qü\ÌL}œ†ñUÜÿI--=ž‡·B«•èãKª˜æÿ¾ÝE1ÿpÆ[ÎÓû! Mߊyuû>Û.NÛñ5K)Wb¹Ù¬Š8ö­iÇ[ž_®¹uÊ•MúÑzQ­Š¥Ò)V†€Ú(TØ€àx¿àÞ¢ žjy‹°°!ÀÐÔ•µZÔÀ2àP="¦ZdÔ0\ÃG©R\¡·”).–2*ÎШa!„U¼Ä,†³ÔÛHð° `+jÐÃ.¸5Nα@èâ°èÐVK-àxŸ%ô˜Ü3š% A°YÓ€z¡ÎšÔ>kP#¬³¦õ™5m0W£oš¦Ã¾žj­®§Üý·.†ÐZ¡ŽT$X/©)n)æ#W—„o(æ“oÀRZÞ $K¢p4’ŽZ¶-bâ\­1¦Ü°Jä æP"Gñ‘XÔQ¬‚i/8ºkÉ^€ÂZqŒ:ZsŒ½š9”d š­Bù Ž)ßsLù-ï7½æx˜ÏJ›¡¾Ò`¯ažÉ½)f¥É$†µ’1™¸ dÑŠcªCZCù<£7Ã3JÊgózÌnøþHȰíáÌYÉšäTœ¯a…Šï¯Æ,_»œ-Ÿ—Oë87Ë}êÛKÔ´Ü—Ll¹oKñšò+Êg­JÌâ.¾GZyóº‹Vðc­48¸’ï¼äØWtù]Í:P~`áŒñ±–rZŽq.nÍ1]Ç ÇàSÿæ/©ßP•ýïuö¿7Ùÿ¾Ìþ÷Uö¿·ÙÿÞeÿû:û?Èìÿ ²ÿƒÎþ&û?”Ùÿ!dÿ‡&û¿1y–¦¼ÍH·œn5þ¹ã)º½ÝyšÒ“Bï½x#†1Þž´Ãþ€]ôGoáõñÅ×Mñ?®Xê endstream endobj 268 0 obj << /Length 900 /Filter /FlateDecode >> stream xÚmUMoÛ:¼ëW°‡éÁ5?$R. ¤d9ôMðð®ŽÄä ˆeC¶ù÷³k›m‘CŒÕp¹;;†wŸ~>Î|¿Ž3óEŠ_ñ¸?O]œ5ß¶‡âî®Ýwç]Oßcìc]=~?§}÷Oâ¾yhÆáô9%?ŒÝ۹׬“B|Æœ‚>âþ)þ;ëvÇw7{>o§aœIä> §·”óѲH˜ø´åŸ8‡ýøU¨/RʬǾÙï0ñ˜_xˆù•ÙË0öÓ…ŒxµBiÑÝéòE¿Ý.‰ÍïÇSÜ=Œ/ûb¹ó_iñxšÞ‰áçbþcêã4Œ¯âþfiåñ|8¼E°²X­D_RÁ4û÷í.ŠùGÞRžÞQhúV̪Û÷ñxØvqÚŽ¯±XJ¹ËÍfUıÿkM;ÞòürÍ­S®lÒÖ‹jU,•N±2Ô@  "À–,Àû  ð õTË[<€5€ €¦¨¬Õ –€ê1Õ"à†á›×cvÃ÷GÂ@†m¯gÎ üKÖÄ §â| +T|5f©øÚÕàlù¼xZÇ1¸YîëPß^ê ¦å¾dbË}[Š×”_Q>kUbwñ88Òʘ×]´‚k¥ÁÁ•|'à%Ǿ¢ËïjÖò{ g䈵”ÓrŒsqkŽé:n8Ÿú7ÏxIuø†ªì¯³ÿ½Éþ÷eö¿¯²ÿ½Íþ÷.ûß×ÙÿAfÿ•ýtö0Ùÿ¡Ìþ!û?4Ùÿɳ4åmFºåt«ñÏÑíÙèÎÓ”^z­è¥À1Œñö öì¢?z ¯ï.¾~lŠÿP}éL endstream endobj 273 0 obj << /Producer (pdfTeX-1.40.22) /Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords() /CreationDate (D:20231024182427-04'00') /ModDate (D:20231024182427-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) kpathsea version 6.3.4/dev) >> endobj 2 0 obj << /Type /ObjStm /N 61 /First 505 /Length 3813 /Filter /FlateDecode >> stream xÚÍZÛr7}çWàÑ®-Ï qÇ–+U¾Ä‰7vⵜ«¢F¦îJ¤V¤¶œ¿ßÓ˜Á…i“J¶Ta0  ènœn‚„Vh)œ ç…ƒB“DÂ+H «Ð"¬'…ÃåEr¢¢1 åD4Z(ô }]LF ÒQ |"kœPøï‚AÌAVD)”òFDÂ1N@ª•“"j¡­ÅÃÿƒˆ`Ï:Ìᄎƒz vÂÆ 7a¾ìâ“6D7! ç‘#á´†0 sÖ‚U+œ‡À޼” ¨^i œð²APï•—Qøh-$"¨'L¼„@ZDå!»ÅÒXPQ`ÔCZ‹O!zT0«$‡îÓIí™ £K°É1¡ <‹Ãpøl&°‚<1*:ðž b1©ŸØ&ìºQ ž•hy$)  ÿw¼K VÄ\yÞ¥ÜDyÅ5ã'‹þDô_-ß-Eÿ\É”aÓ7«õ³ß§7¸Iÿj:¾Dðóãüýú÷-i¡¿\œ/ßÏÀšÐÂOì§8-•/V¡…œÊ¦¶Z´ðƒ‘pÖØP¾Dê§8)£ª--º(ϬÇÅÄœBë\B›±´ÍuœÖ.×qbû\ÇirOì\‡NŒ.™9Ñ¥Ž¾ÔÄ!jiï¡– —p ¼Ž÷WLœÎU1q¶Í qK3£ÜÖÌHw4sSWjë]}üt¹[÷Žõs#ló)m?fÎc{:Ö§M?ÕŒ2«ÅIh]Y°Õ‘WY( P>;,„ &·;Fg¹ÎÈ&×1o¡á8#×1ovv.@ rC¦±î½p™O„.óéA“ç–»Ì36Û¹ê4M¬NÓj Ÿ¹Žñ3o.ó† Í徨zh\y!À»ò‚€G•„Cº¼‘˜ò•ÍB„wå£ùòäÊ †.ë…ÂÀ^(@UBá°.€ë‚)TëØÁ¢ê"vÀnÕÉä6rét§0Cì`Úp‹]-°†vÛa'¥ã¾8Na,tÇÛ@"MÇ øƒòiˆÏÁItõ’:Ž'‚±rµÄ?ß¡›óLÄŸ±cNaˆ¶ä@¯‹ùŸ!žÂJÄÐ{D Ð0Ã-Œ®¬‡,\²ŽLŒø} " †R`ÿ½÷â‹SËÛ¥1†9JoJ>}OïóU5˘šUS2IкÓM­¥ÒÊ4|û-Q×q}Ô.†QYH5–C ‹æe`ž±Ká,˜¼tL§ñÒ5r:`òˆ(gø>¶¥¾ãèØ@^lV“q|;,'üg™Þr²‡®‚–ï„N{ŠÓ VXׂ&Þè2´Ï&}4¬×ÃÔÑ'-–𵯱ûîcbË&:bݶwÔ¦°:¦=*°Æ K€¯nc‹†’Ræƒ “Ä·è Ýá¼MQ±ÞÇ¢›Àœ˜¸õÚ0Ï2tˆÄ"kw`ß&%‘ÝJ–ÙÇšo‰Û“ÆŽm´#¥'ËêÖrv(Tñhdÿ*ï •ß)‡% Ò–4pLug«ÆN¡KÑñÝ?ÄìÒo½AïàßëD™8‡òS½ùÚ”¢Xös82tö¬ëǰIð)ƒ¢õµ°T‹ûHUà—’ÂåMs–°…¤Lƒ IðÉI¹$’ò J$˜H*68‘´l€"ij"•LËL%ÁBSÉF¤¸BW ŠÙuE¢˜½ä$Xn*Y –›Æ¼Ä9}甑!Í—N™\¿“ ãüü€]ï ‹í1C¡39ƨÇLŽ4šcf 8ø˜Á!îý=ÓY)1yhçv"xß„ïs¾ˆ¡EéÀ£‡‡#ÑPO9uÊ%v~¤ˆ|X’NKîØcËM{m¹<8Æ—Ñ®ÀXf!MÓhÿT lw9À&¶­û(1¼q­!ßšn‰Ts&¶æiekž–Zó´ª5O«[ó´¦5Hk[ƒ´®5Hë[ƒ£ã#ÌŒî‚9Ù€9¹ ÌI˜YÊ ¸x+³V檕agce9§ÐXÙ˜Z`+c€ËÜÔr—‰ìÿrß¿»óR~¾ç®ï‡ØŸmfœËÞþô¸wbª15þYØU¨@%/¾©$f¸ÖÛT µ¹ÚH¶ÐF¶…üÆ©ë7N]¿qêúS·¦\ØkÎ… ¹Iºð|¡5ä&í‚ùš¼ fh/˜¡f^جƒ>Òtõ}L—Ò ™~ðº¿éÊ=q˜RÛYy¥ï¤åUýùáTûŽo!¤2AžŽ.Æ*â‘Ð¥þ·å>»äs‹óogÔdgTªìøQÛŽòy‰;Ao;xçÆ7ê°åˆÎ Ö³£°+ÒJÜ ¤w´Þ¨#®ƒF´4Y2X6ßÒHoV^Æhhå¸8:0íP¯L # å!â€dûÝŸÃ8®*žDæ|úAÊîKµ W½"©izÔî0ªÅLí¨Ð3=©øÿ·€êœ»ák/¾&Ú©d {‡ØÄR±‰¥(ÿ¸ÅÛ¡J8`ùB«iuU‚Ë¿Å7 tŠªfÐ)ê&ÌŠÙéñ••˜‡æ[+Ñ5‘U‰ùüpc©S%Ðæ©Îq¡„ƒØ8UHȯJhÉ÷uJÔ‡aU‰úøž“t[WÒ7n]Éиu%cãÖÉÆ­+¢Æ­+RM0¥¨Í¸+jSîŠÚœ»¢6鮨ͺ+jÓîŠÚ¼»Rmâ]©6ó®T›zWªÍ½+eŽ=äÝ€ÉI¢¦~'`â;"|Éû'æ¼Þ1)»}@Ù;7”ÕmbÎQ‰€tŽ\ˆ€|gÆ›àŸâP? -pŸé0€oÇ> oØ¿N»‘ ¡MîUsdUKZ‡ž¸Ú}9£OCì´>ñk¡þ+}ØgÂ!¾cW²à[éÖdKN€­´¦ØJu))ÝFJª¦Ø.ulíÒÈÖ. µviTk—F·viLk—ƶvY£6¶Äµ±%Ö¨-±FmÄ·ånÛ{>[ß̯×Ë›ÁˆËûþÍÓOþñ·g¯_¿$¶ÁËéÅJ˜ÖÌ锘` aÒo0´'«s¾œä"(ŸM¯¿žÍ/~Çk€)ñ4üíñÇ—ëéåüüÉââr†4œ¬gW?¯&ýOc/ÃP ŠmõAÿeÿ¦×ÿÔ|80ñbŽ®Êšc„úåé?û" åwËD£H °ÿ‘íé|yu5íçý¿6ErLjôÃ?_óÕˆôvß6™·)ýäzo™d–ÈÅýÍoÎo¯>\Î>ö³ÿÜN/û«éùÍrÑ/³þúòvµ)h8FÐç?@Æ èÉÏû$Pï'z¼­’BìûíG{d½º½\ϯ/ÿØÉedßžüãËï^%™ö飅H–Ó¬–ïS…Hû·ïúf~5Û”Gt`c”§ÓÕ,]-¼ã:6ÄO7™“Wª'­ÛÈM*YNÚ ÖÞ-¿_Ìq$1Cæx†¶Ì~›¿ÍÝàGÖ,Nœ-?öx~¶lv›Ÿ¸ÍRíEFSÙ±wÙqdz³mY[üälpÃOÃŽªÜ˜»Üøã¹Ù²‰mfô63&4ܘŠÒr<в³ÃáðµÜß˽åKµ“þ›ùûU¾” <10A0FC445D782B60D681D23EFB3AED76>] /Length 790 /Filter /FlateDecode >> stream xÚ%ÔePVAÆñ]P±(‘PPBP cìîîv[lQAÁV ìî1Æ»s¬±»ktÔÑñƒßÔQÿÏõËoö¾»÷ì9g÷¾Æó×Åcm~¡ÑÈMÔV¸WQD·Æx:늊b"ZDˆŠ¢¼ÕE’H)"Qx‰Ò¢†(%JXãVàD.iMé`¯À}3xtÏ‘àÕ¼'C™éà³|·ƒß ç]wá!<­ñ÷bÂÿ3 ‚ HN€òQP!BŠ‹“z*΄Jiæá!¡}#çBå]u¢AŒ¢ÄÖ¸¶PuTÛñw á)$ºB’?$GCŠŸø ©ÞPSi1Þ2úCf.Ôµ•KÅ«ûê•€úŠ× Õ©×[”>ÂWø‰²Â_”³¦ao4jÄh’ Mc¡™²j.Z €–' ÕMh}Ú\‡¶yÐN£б%tR¼Îª·ËTèÆ2ÝÕ«)Ð3zµ‡Þ}¡:ÔWëú þÉ0 ) tƒA*kÐ7ü†xН0Tç6ô »ßÁH_UF÷ƒ1qN#E¶&K[Žýã›À„…0)LüÉ*pÊÈþ Ó’`ºúœórßÃŒï—áD® BD¨5ùe™ÈW#f]ƒÙù0§ÌÕ휷柇ªc‘º[ }/‚%K`©Ö-S7 ÅòtXÑVjv•Ö­¾èì[I„‰pkÖ\fbíGX_L¼† Z¼Q›o*€Í:Õ­zÜv¶ë²îh;×Ã.õy·>ˆ==`ïmØ7 öo*æà8TÇÁ‘@8ª#;6Ž×‡£àd<œj§3àLO8;ÎéhÏ+— 9pQ·îÒ¸¬n\Q¼«ÃáÚ9§ÀHQYDYs]ÝЗ|3n)«Ûzí®’¼§üL„‡Ûà‘Në±.È“cð¬(<€#àåx­Ëõ¦+¼çìVEĈXkÞÝw~‹³Öµ3ªjmè:gTÍÚÌÎ(ÞÚ.îÎ(ÁÚ¬îüEŽçû°“HÈfo‚œÿ‘SEšHÖæÑv[øÉü‡Ê endstream endobj startxref 103912 %%EOF pcaMethods/inst/doc/outliers.R0000644000175200017520000000340414516042041017374 0ustar00biocbuildbiocbuild### R code from vignette source 'outliers.Rnw' ################################################### ### code chunk number 1: outliers.Rnw:59-60 ################################################### library(pcaMethods) ################################################### ### code chunk number 2: outliers.Rnw:62-67 ################################################### data(metaboliteDataComplete) mdc <- scale(metaboliteDataComplete, center=TRUE, scale=FALSE) cond <- runif(length(mdc)) < 0.05 mdcOut <- mdc mdcOut[cond] <- 10 ################################################### ### code chunk number 3: outliers.Rnw:70-73 ################################################### resSvd <- pca(mdc, method="svd", nPcs=5, center=FALSE) resSvdOut <- pca(mdcOut, method="svd", nPcs=5, center=FALSE) resRobSvd <- pca(mdcOut, method="robustPca", nPcs=5, center=FALSE) ################################################### ### code chunk number 4: outliers.Rnw:77-80 ################################################### mdcNa <- mdc mdcNa[cond] <- NA resPPCA <- pca(mdcNa, method="ppca", nPcs=5, center=FALSE) ################################################### ### code chunk number 5: outliers.Rnw:88-97 ################################################### par(mfrow=c(2,2)) plot(loadings(resSvd)[,1], loadings(resSvdOut)[,1], xlab="Loading 1 SVD", ylab="Loading 1 SVD with outliers") plot(loadings(resSvd)[,1], loadings(resRobSvd)[,1], xlab="Loading 1 SVD", ylab="Loading 1 robustSVD with outliers") plot(loadings(resSvd)[,1], loadings(resPPCA)[,1], xlab="Loading 1 SVD", ylab="Loading 1 PPCA with outliers=NA") plot(loadings(resRobSvd)[,1], loadings(resPPCA)[,1], xlab="Loading 1 robust SVD with outliers", ylab="Loading 1 svdImpute with outliers=NA") pcaMethods/inst/doc/outliers.Rnw0000644000175200017520000001203114516003735017744 0ustar00biocbuildbiocbuild\documentclass[a4paper]{article} %\VignetteIndexEntry{Data with outliers} \usepackage{hyperref} \title{Handling of data containing outliers} \author{Wolfram Stacklies and Henning Redestig\\ CAS-MPG Partner Institute for Computational Biology (PICB)\\ Shanghai, P.R. China \\ and\\ Max Planck Institute for Molecular Plant Physiology\\ Potsdam, Germany\\ \url{http://bioinformatics.mpimp-golm.mpg.de/} } \date{\today} \begin{document} \setkeys{Gin}{width=1.0\textwidth} @ \maketitle \section{PCA robust to outliers} Away from often showing missing values, Microarray or Metabolite data are often corrupted with extreme values (outliers). Standard SVD is highly susceptible to outliers. In the extreme case, an individual data point, if sufficiently outlying, can draw even the leading principal component toward itself. This problem can be addressed by using a robust analysis method. Hereto we provide \texttt{robustSvd}, a singular value decomposition robust to outliers. \texttt{robustPca} is a PCA implementation that resembles the original \texttt{R} \texttt{prcomp} method, with the difference that it uses \texttt{robustSvd} instead of the standard \texttt{svd} function.\\ Robust SVD and its application to microarray data were proposed in \cite{hawkins01} and \cite{liu03}. The algorithm is based on the idea to use a sequential estimation of the eigenvalues and left and right eigenvectors that ignores missing values and is resistant to outliers. \\ The \texttt{robustSvd} script included here was contributed by Kevin Wright. Thanks a lot to him! \section{Outliers and missing value imputation} The problem of outliers is similar to the missing data problem in the sense that extreme values provide no or wrong information. They are generally artifacts of the experiment and provide no information about the underlying biological processes. \\ Most of the PCA methods coming with the package were not designed to be robust to outliers in the sense that they will converge to the standard PCA solution on a complete data set. Yet, an applicable solution is to remove obvious outliers from the data first (by setting them NA) and to then estimate the PCA solution on the incomplete data. This is likely to produce accurate results if the number of missing data does not exceed a certain amount, less than 10\% should be a good number. The following example illustrates the effect of outliers and the use of robust methods. First, we attach the complete metabolite data set and create 5\% outliers. We mean center the data before we create outliers because these large artificial outliers will strongly shift the original means. This would not allow for objective comparison between the differnt results obtained, e.g. when doing scatterplots. <>= library(pcaMethods) @ <<>>= data(metaboliteDataComplete) mdc <- scale(metaboliteDataComplete, center=TRUE, scale=FALSE) cond <- runif(length(mdc)) < 0.05 mdcOut <- mdc mdcOut[cond] <- 10 @ Then we calculate a PCA solution using standard SVD and robust SVD. <>= resSvd <- pca(mdc, method="svd", nPcs=5, center=FALSE) resSvdOut <- pca(mdcOut, method="svd", nPcs=5, center=FALSE) resRobSvd <- pca(mdcOut, method="robustPca", nPcs=5, center=FALSE) @ Now we use \texttt{PPCA} to estimate the PCA solution, but set the outliers NA before. <>= mdcNa <- mdc mdcNa[cond] <- NA resPPCA <- pca(mdcNa, method="ppca", nPcs=5, center=FALSE) @ To check the robustness to outliers we can just do a scatterplot comparing the results to the optimal PCA solution for the complete data set (which is \texttt{resSvd}). In Figure \ref{fig:svdPlot} we plot the estimated and original loadings against each other. \begin{figure}[!ht] \centering <>= par(mfrow=c(2,2)) plot(loadings(resSvd)[,1], loadings(resSvdOut)[,1], xlab="Loading 1 SVD", ylab="Loading 1 SVD with outliers") plot(loadings(resSvd)[,1], loadings(resRobSvd)[,1], xlab="Loading 1 SVD", ylab="Loading 1 robustSVD with outliers") plot(loadings(resSvd)[,1], loadings(resPPCA)[,1], xlab="Loading 1 SVD", ylab="Loading 1 PPCA with outliers=NA") plot(loadings(resRobSvd)[,1], loadings(resPPCA)[,1], xlab="Loading 1 robust SVD with outliers", ylab="Loading 1 svdImpute with outliers=NA") @ \caption{Figures show (from left to right): \newline Original PCA solution vs. solution on data with outliers; \newline Original PCA solution vs. robust PCA solution on data with outliers; \newline Original PCA solution vs. PPCA solution on data where outliers=NA; \newline Robust PCA solution vs. PPCA solution on data with outliers / outliers=NA. \label{fig:svdPlot} } \end{figure} \begin{thebibliography}{2006} \bibitem{hawkins01} Hawkins, D.M., Liu, L. and Young, S.S. {\sl Robust Singular Value Decomposition.} National Institute of Statistical Sciences, 2001, Tech Report 122. \bibitem{liu03} Liu, L., Hawkins, D.M., Ghosh, S. and Young, S.S. {\sl Robust singular value decomposition analysis of microarray data.} PNAS, 2003;100:13167--13172. \end{thebibliography} \end{document} pcaMethods/inst/doc/outliers.pdf0000644000175200017520000030133314516042041017746 0ustar00biocbuildbiocbuild%PDF-1.5 %ÐÔÅØ 16 0 obj << /Length 2116 /Filter /FlateDecode >> stream xÚX[¯Û¸~ϯp È@­ˆ¢®}K²íf[¤äì¢ÈæA–h›ˆ,¹¢t’óïûÍ %ÛgUt_¬áœù8œýöñÕë¿ëh£ò0Vi²yþ({?’Ðj;3ã§»Çi4"îÐ{þ»þ|™Æj´}WµÂzkû¶ßîTp|ÆoQ}üéÝ[|ëWQ [Þ«8UÝñTÙ¿Ì „ŸB¯åd»Š·&iXèÌoÍe+˜¥â,LËü^ð‡ê»ÙVKÎ0i«‚—§úз¦žÚj>íÜÆE0úቤ<;:'ÎHª‹,Ì^žˆmØ®©ÎþP?šáL’°Yn<¹»ñ]®Ãv'å4Ž—¿¾~½·½í€ï S×.<_ìù²Ûî’88öíãcؘ×k~”—aª5üþ”'"ôçzì÷Û€Ì÷'tcgÅÚÔ•„:É ‚3*ˆ‡Þ°ŒR¦°SEQðñÝlϲ`è÷“#[ey0öÂc‡¸óö¸ÜÀ ³8#Éð©°P¥ˆ|³-tðL^Ñü(IÓà0ôg¡úÃh:!Ý©§%ߨӉq¶Î-ƒ§mŠˆh'ãp´¤ÀÍÚ÷=ôÕ0¢[ñtùôý`ÆJŒÓ·–ž˜ÇDUƒá+d±²@öt” Ò‡aºŒ†â0Jm<É„ù>æl„}…&“%s> Hë':¥ïšjhdÑþ'øA„X¿ùd§öYxnrµs¬€í¾¥a] }g•P—e‚ÂOŸüº3 êÊ2d¬t²]cŸl3QôÓØ Ô6,¸-‡Žßf2é¦ß"ÕÖÈlû¼jS`{Æ]ÒÞve: šï훌Ì ŒŸà ZS5–bWÀø2Ø®¶ƉaÄ%;37ïwbß#«ώδX(×Iðx²n ìnßÊËy&P‰Ø³#ƒªiã;ωó=‰ÏêiW8KÑF$Wä'£³áô$·¦4×Á{Êaƒá`ƒFïuÖª+àÎŒñä&…i¤°˜ †‡§f%d“<ŒüJÊiÁØSÐa|úÄhñt6æj{g©r90h>Iªo¼s*’QTd÷X?ÖÕ Ö]\"A'¥7A&;ÈžIT•|8ÔŠ‹ô^Q @â§j ·ˆ›Æ4nÜÍ“Fˆ~°GKÅp±.ÃL/ˆ?ɆËÀöX±p橞WßÜ:ÇR!‰… _\ Iå‹`'DZÃ౦á]í9r o¦ñääŒ[­P’(ù#.‘F@±¸„E}E ŠFî‡H3%°˜›sÛŠÖZ“E«[Õ§Ê0Bæ×¦®¦Ë g›a¬ó{›|ò>–D:xøå!¸cÂgc¨Àù‰Ë¥µ5yåY#yS£ÌÔ\E– é%÷qí¢Újd„¼HAáØgUL}V_® VÂôsü…2sNy‡¤©‘t„§³ Ù‹ñÝW"$;¬šs!­iLåY½|qÙ^š|œùÏä=ÞrŠÆóìÿ$öp»ÕØ£H@¼§ïbÉXyƒhÍÌGWâå4'` oÄPC§2x!>þ°×»~0ž}-ø˜YtÏŠåæTÐø«¹²,9ãÜäi¹gvÜÛ ´ìóäñ´šCQü&^’­«{!í*ƒ{ÔíÔp¡ÀèÄžD”Ô%'~Qð`÷Ó8¯ÝK{Éô?Íù‘x9$ÞÒhʸ·(¿ê¾ŠAvy¦*¾7K%&hûÑo/¶9ÙóŸÖúCXG£1LbÙûÆðç¹ïãNPÞ'h —{£ÁÓ6SsÀ"»¼*þ³ÈAMÐ…[:ŠÕ=-ųôDœ~°¤¿B¹éžœ=[©V¾1"¦¤Ï覡$®ÏQ{Ãõ:¼ Û½ØçLçÌ̃箅ÌÒù}Cˆ1pP¡fFGÈÐÃò+ãoCϰ@.oJ» ÚÉ*Š¡È¹ge¡e†ªmg>õÂd«Ñ*jŒG·ÞÛÒrŸOˆ0ߥ~›Áž—î‰&ärñt{>òà£[¤~‹´H¸™;%x-t¸ÿ“‰=¿·¸—êºÒ±¨šz¬ë—|è9ûûz¢â9Gj_þÁ¹)´N8¨Ï’`°Lºù»zƒxVÒý=Sz0®XÛõ^-^áH^’¨cŸõÒ%®¥¦¹b%ò˜J’âÆ‹‰Ë¥„f¦½ã ¯—Ùg™þfÛVx>H¢Ž~»hYäå×2ÍÓd§•Tèúv’K3©@1E´ ©Ái ½¥ˆ)1D|g8!/ÿ›^|†^ qžòã‚æ}æG ¯¿Q¢8|‰K€iŒPê¯ç^¿7ì'÷¿^bÉá L¢øìDx¬ ÐC%Ý„ Òhδ4ÆAFv¿Ù‹ù×þσi žî—eP¾Ðšº_Z:ý¥‹"˜¿~WI¥ƒRàbp°èlçR^/¼aþ¶ö+Û«}–ůX¢©™j#œª®§ÁÃ,¨fNí8 ;\Q¬@f7›¤cö‰ƒ>Ga\ÜäXÌ6%Œ“!Gm3ßkcaú¥µè¯5Ï;÷ÿÏÂU¦R œ“Ý ¿NEÂú©]mÀ®8@_ËÛGx+G” ¤²2ÔYºAÅ “TÍÿ™`êÕß_ý¹m endstream endobj 32 0 obj << /Length 1532 /Filter /FlateDecode >> stream xÚ•WmoÛ6þÞ_a ±ª÷—­5ÍÖ!õ‚Øë0¤ýÀH´­V ‘J–¿;ÞÉ–·M?‰<Þûs<ž~[¾xuä“ÜÍ“ ™,W?ÌÝ4J&©—¸>œ,ËɳÜÈé,ôSg¥êZMƒÌy¨š5‘äân[óyU×6­0RÁô’ò£†²0´S+þv¦®dËÌ¢)¤:-Ç­ºÓOË?'3?ró(‚¯ïæqLžÞI³QÓxXjw:Ëâܹ¨ZmN¦³ØKœ‡i®LgQê;ÂQ`,Üd …IdÐ(nA#øPW=±F3¸îƒFß1tbcÀEÑJaXcü“õØûÚ~Faîü3ÍBdž›QÑЪ úldK{NMÆ.àêÖÆ+WªµG9F™õšz7p=ÌöN¬œd«[³ŠZ´k9r:!§Ek*€2**Qƒß^¯2Ðb*4S¨š¡T³®y·©V†–”oTÐV몠E0zÌJ’dPz•&ªJuuIÛF±Ñ—ä±CR0 ÄQnœ8ŸÑÑÂT÷\xT m¥UC$Î!½ÈŠr|È$NYÙ¢n !¤ÅN+uWÝ5¢jd Õž#ݵÅtn$++Þ¤#žë T¶ÛZÈ0¼ºˆâÁEEvØÌþ+„ÄN]ݶ¢}üèÅÞ¶ïmqÂ(5PüÞLfül$‡Õ„B¶ÚUrPìç@}÷a¨`è'+¸+ \D¹ózF –•±Þ už'Ô8DzºÄóë¿ßž äO/Î.o¿c»P|é¢ñ¶kª¯e³¶†7Ö•²@]VŸå{MÏõâcÕ¾î¯NÒ½ Œø›ù‘tí›b9ß#4Gm÷•%ÕGîïr9¬Õé§ØÁø@ïÕ›3ZhUw¦R¬¢ÓÔ¬QèO¢-é`ñáœÔxaíÕÞb³ãx~íAé/î˃,AbâQ)¤„¡µ]º<}©ïË—Lj® } ÂKû,üɰE(ð=ïÐ6A14º¿cžL#ãsÌ_«[ú™§·ìª?”ƒ§…3„bέpbG/) ¤ãÐMÓ ”Xá+, §&‚ÐÍÓ¤g2ŠJmª;ª@¯±aA5‹¾±÷ùCueøLš±ÁÓ»9ë¼lÇÊp–¦nGœ'WvŽO´ŸçÏ¿±sÑ_X€ÛÉÍϾþíïD"g‹Ñî🋃ÂßBm¼D–bop}¼¿ŠünüÀ¿ÄJ`±³,°¾‰Ò„¦Ñugç´Äw|"íÓì9}ö<‡-&÷—­¤-õkXðèTÓ®V¢„tkfZÃì¡Y›¶6{9žF!omËB¬®0JŽ= »€¯åJ¶²)¤þZQÚ·,óùçáÆÇúâÂö¦/à6¸-çî{———Uׯ c`šƒœÿµEÝ5kfX¸€é¢w5ZÏC7 v鿦Ÿ«d‰é`ª%ÝP¥¨;I‡çv*Tw3®Ô4sÃpœž­mEJWXqî‘È£Àõö¦çùlÉÂMx8T¦£~N$ü¡‰’ÈYà„Ó¢ç]•M.å‰xžÏK{¹å®TAøZnéϤå_"vbä¹.Ç»Q;ÆMÀè1üˆ\º¼† —¿o”ÞðzcmÎ?pQž #†£xqæÑ!\¨@÷pYLj+âq︟Æ1`ˆäXœRâ•…t˜“ˆGÿÈ…™Gê]U´J´­À‹ñH4ìÇÀ…wÝ÷÷új~¶8!m€xþÿÏ> ôéG€½f¡1ðËxøaææXfø¤ó^¼]¾øλ X endstream endobj 40 0 obj << /Length 336 /Filter /FlateDecode >> stream xÚ¥’=OÃ0†÷ü Î×ßÄ †òQ ((0š6–ÒZ$ýû8½‚Z äÁ—÷Þ»{r C4†—$§ñœyÂÐÛ&yOˆ2:ĽcîSl¨„É͆¡+—<„SY왚^ÉdÆ 2Äh®Q±úž¬)QJ b‰žðÌ®»¦L3!f§i&¥Ä³4cئ ‡T–!l{‹ÄmåRžãXìvQƒ~9… uuç­ÛB»–ÛX8ÞË…_€qg}5ä:_Û²iÏþ?´q¯]ëx#_$HÂn`ô_`æG ‘@Ž ª2~Ú¸Œó»éÑ}<Æ7¤f ù¸@èp`€;AV´8ôÉO1@‘=Ó†­úšn$°‰>—\É'™1Ø! endstream endobj 29 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/outliers-005.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 42 0 R /BBox [0 0 576 576] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 43 0 R>> /ExtGState << >>/ColorSpace << /sRGB 44 0 R >>>> /Length 13176 /Filter /FlateDecode >> stream xœµ}K·îHRÝüþŠ3„)JiààÇ2Ëf«—=`1°/ØÀê †ó÷±‘©êTW÷ nˆÈ’R©ÌÔV|çÇœûñ_þìã>ÚóyµÝŸÏõQÎúùç¸?öñõñ?>þîËïÿì¿ý§?üø£ï¾³åñ±ÿûÝýÉÔŽþñ/_þü/>Ž¿ür~üñüïo¿œÑàã¿~ùø×g«íêŸÏùñmSŒÏ³}ŒñÙÚîϳ̰װð5š>‘Ž÷„³¯ÑÔŠöy݉«áÏ^!À«bÒªlˆÛsýúå»hëeá+/T¬˜'í:Œ³¯:¥Pô¸üƵ¸¡íB4uLZ• p¯\³óÌSמ3®ù·MQ>ûQÛ‰3ÑG\æyÍ%¨óÜ#­óúÞ‰“¯ê–°ÍiÙ£>fM‰M˜ˆ7/i+õ³ä2Ì’¯GwJû]-±’à›­©™SÂÑ;§‹£¥oJ>OÛvæeìž·¥Ç¯Æ)8u,Òb°t«Ó-¤ñYOKŒwÇÝœö'Ö¾‰•ßl-Í}ÐØñÄAØ7%yĶ]y »çíc%çƒjh:i § 3Þ1Ïd;B¹”ËïO]kÚö a-Á7[KsÅfì|$ö’¾)ùdßGö1ǦÝyûÊ[cr,qø\ïìc©™#á1¥=O¨æ ¿-aÜÏž˜ÜÙ>‡ç“XKðÍì¤9cOì#xú†Dߊ-»òvÏÛs˜‚у·Ù·]ƒýósNG õ˜²ž1U9,qdêxÂÙ~Å’XIðÍÖÒ¬ÕŒÅö{ú>ý®"cË®¼„Ýóv»0'ŠÛìP£fžÁ>]y·Î$âª÷ÇÏôƒ…¹ì³×`ˆXIôí ͉Û%ú¦ä{¹É®Lï—$ßß¹¿sÜ»y]RÓ0ÿ‹^pÞçTæãý¼,1»Æ5²ìÝ#%°’Jΰ¬9c€JìCRú>¼ž±eW^Âîy»=±8ˆm†Ç}Lšs*Ì^ùVgÂÌvXòÌ÷:–½Æ2&±’ò­[jðî#±x³–¾óÅ[Ɔ&óö·®KÃ6š8·´&6›f>íÄúmÎãʶ‚§%Ä›ëî˜ùÚÞ±R4–}³µ4#†_cçÜ}Sbkƶ]™Ž—$ß<–êW1õÖ±HÓcRñªV’¹\‡%ÆãN©íóÁÒV|³µ4×ÍØ§?}CòyªcÙ•—°{Þ:–9xϳQ;^ˆ|Û5<µQšgc޲óÁ1Ï«$Ä«¸?Ó~G„ÄJ‚o¶–†O?ckL*Ó7$¶VlÙ•—°{Þ¾÷¹0ýº÷¥Á»pÜ‘zcvòn½,ùnÆÙ”ý¢$ìå3í;Àš3t‰=(É7$¶VlÙ•×ù’ä›×åäêªÄúÛ®©±ü.µà‰gƒç&^$Sâ¹ëx×lû²ÄJ‚o¶–戮fììó³«Ù7%¶flÛ•—°{Þ« îu« öéÂ>68'Š5ðŒþÜ–ÜÇʹì7r5VRÉÜšë\açú$ÖÀòMÉ}lôeW^Âîy»Ý\¯õ|‘æá3âÁXsc]]꽺{­à+†û´HÂZZ+xk°—mì|6ÅóC¾)±1¶ì΋ØWÞ~î?~šǬyÐkæ3 ï×Üq…¯¦)}ÕÝ¥'=ìã”±’n¿gLÍ…~"ì¼ï–¾)y–±ew^×K’oŽÉ^æOÓóhL¦fºž+ 2»çœ4bÒ .@ÉõRé|ZÛÞÀ"0–}³µ4w¬S•Ù•ì›[3¶ìΔØWÞ:–®{û Ó·]3ÂuÄ<þ‡ÙáÞ‡Äxï}Ùïíñ’à›­¥™S™ka[ÌuÓwËYµcË®¼„Ýóö±+®X¡Û5ÃW"üµ;V¦ácÍí—[‘Æ"Ù;r5VÒå—[©i±ÝšØÊ«$ßÕ»[vå%ìž÷:­j5KMÇÓ¶óåÕuáiÛ±¥'Éç®—eoØU5VRͧ‘5ó1cOÌÇìû̧‘cË~xÅ ìž·ï¾G›—¬ùX¤Á Û¸òEóîŠ^ÑnKî5ã\ö+tc%µÜé°¦r… lá A¾Kît8vñ yU¯.VÞq,öñ?Ž;9ÀC5ó"Ìu®äŸ~||÷ý1f¡¸-eµHyk2Gü¹„[M,¯&±®;-Ë[“Wr[²«ÉþD§ãëÏ~ÁéøÙ׿ûòûÿ±|œ?ùß<ëÊö™j}ó'ß>~'´¿ûñ“¿ýò~ï¿~Î¥å\i¿ñýàÞò¼ðç‰¯ÑÆ÷ð? ~ÌCïë/_<Þï›h½}NŸæH‹Óÿý5^HÜÄÆ\[ $î æ(Q¶· ê{ûAnGö{ÛÏ©õ5rà5GäïÍ9Ý/:I¿¯`zâËÇ_ ½ þ`|BÍp'ûÞ5Ò=ò¥Ì'í“òO-÷yg³Ÿæé”ø×S¦Ü÷ÏÿO„í}£sB;Ÿ—õÈ“ø_þþþåßüÝÿ™ ïþû¿ÿgcþ9âjâiýsŽ>þåoþé¯?þþŸÿé§óWÿø3»c¬uü–iéõj±Œ®Á-#Ý*5x[(C½ð¶0•ÉÂŽ?ãâÙ~clr3IÝdÞÔ´ 0%¶R¨šþ”±eW^í%É÷whÅ[Ñ:°ðû¶kj¬Ü/Þ·µX¡Ö9 *§%Ä òlK{pX{b-Á7[Kƒ—â‰ÅÂ2}ædlÙ•±¯¼u,¤_‡I”¾ÔŒx1]ÉÕŽϺ |#IŒÇ‡ í%v錵t™Ò—šÎ¶˜k§ïæ¹xƦÝyûÊ[ÇÒ0•ÞöÉRƒ½®ÚðBû`uNžºï“ÕvѵìÑ•”ûd©Ád7±ØKß¹O–±eW^Âîyûºpæ0O‘ØÈ©)xõ;Ó:+úlgʱgGé«®bLlbížXI§w RscÊØ©<îôM‰­Ûvå%ìž÷êcê5¾.Ö`…Ž{qœ÷ »¹’ÜÇî±ìØ6ÖÒמvöHôMÉGÞδ;¯ñ’î÷uyôÉþäu¦ÇfIœ­ƒƒÌÝà¡TKo¤=úüH¬%øæ±HS} nÉÊ7$úVlÙ•WõïÊ[Çò\1Ü×µo»»Þ5x™Á àÝL>¨¤ˆ×l”JÓŽ#±)u3Sƒ»9±`S¥ïê=òŒ-»òâHðÊ›ÇÒHÏŒ ×ý©Áê¡ÜÛ=øÚ”MIÌŽ{ösߨXI§ßªJiÇ«cbësƒ@FߒرÓ޼»çíë2‚EçUïùSƒiZ8ŠçÙ 6JœÉðNÉg:f¾¶—x• lJÃïùSsÅ^mb;1öÝýž?cC“yûÎ[Çrƒ® ~‰î}k îßy/^ù¸·oP¡%!Þ ªtÚGrjî%yï[s^Cìx(Ñ7%¶flÛ•×ñ’ÎíÞx#ÜÍ{©éî>g؇}:FJ¾.çiû±)å›ôÔT,ø-±G‘¾‹÷02¶ìÊ ØwÞ¾_ðÝR ÖÜÐý"M‰ãx*%ìKbv çÖv²ˆŒ•túÝ…5³GÆö²°Áݨ雒ÏS–y»çíëÒbBÇ'.Ij:zÍÓ)]±¥£GL»(ùÜ}Ùf'¬¤–OVkjl€%–Sxû.ùdulÙ•—°{Þ¾_¸PœsïSc²5L¼æ®·†OÞ†ëVD?—·bb%Ýf›§&‡}H=ˆöM‰­Ûvå%ìž·úXÅW{±oî1Yš‚wÂACtRº¸»zÿ'1õYv<K‰¾ÙZ¼6v. cÌ•oJlÍØ¶+Sa÷¼},xéѯKÇ"ÍiNìG•B©a/‹㑟b;™,ÆJ:Ì<±æ|LÐä*¶’¾Ïäs;¶íÌËØ=oK! 5¾¾à˜œáGÇw@+o¥(!^¡?í︌•tyLN xÿ‰Å;ÏôïD3¶ìÊKØ=oˉϺ¢½Þ'§¦ãÜÆ×hÄ<<…ÁÏ£ÄxŸ¿´Ï ‚Y±–šwðSSqnåÇ{ö]|/flÙ•W}Im½OŽ>o*xÍßvÍI$¶×qI•èºÅÏæÖNn)Ñ>W`Ck)YÔÖnû [°ö±ï’k#Ƕy ûÊ[ÇäÏ‹˜ãXj.ôÒÆw!…´™K=,1»Ê²7FVR÷8–”…- Ùwñ8–±eW^ÂîyëXn}ŸÑͽJ v½ƒ$l•ø’†„üó´„x7ß…Êþ”ˆµÔͽJMÃu3–óRû^óVÇ–]yµ—Ô÷*<\üÞRß[¤_PD<ñÑ/¾2_]¼|êx,{e>ÄZêþÞ"5-fñ‰åTܾ«¿·ÈØ¢a(/b_yëXæÂ¬ñø¡ûEš~ðsÙÇ\x}¸+.ü£ìÆi.üÃOÄ…ß$úfëbv¼¨|è.àlÚwKN§cËîL‰}å­c¸yBwjL–fæ¤|Þ¹‚¾Æ[œ³Ã§iÇg‰¥Dßl-Í ¡Øv™Þ†ác‘Šm»2/I¾¿S.øü±ÅôúÛ®Á:/§n3âåT õ=×È C´e`ã+©ù£¿Ô8el¡$ßÅßýelÙ•W}IòÍcé%çÒZüñÔÜ ÌxÁ,žKóÁ²qãQb<õHÙÕ#…•4ÌOÍ…‡¶±|anßÝß?dlÙ•—°{Þ¾_øµ`Ã4îÛ®ájïâçþ+Á‹Õ(±OW³ò )¾ñ¼3V|³µ4…TqaO¾V–ïÓsðŒ-»ò*¦™¯¼ý|¹À)¯¹FNÍmêBðpêcêÂ}ZB¼xOÚÒoæ{b-­5²5ûÊ[U7b½Ã¯´×—tíøô´³ZI¿@猉¥¯hÝó}³ z”…•tyE’š7Bb[týôݼrËØ²+/a÷¼},U°–ú¶kn~,{±ØÊÃjøê”û i8È+)Wn©›*±çA¾Û:OŠ-»òvÏ[}l>½¿äºt¿Xóð#³†Yúo~áÓ J|ú ðÙm¿ÉuVRf°²±Üß¶ïµ“îØ¶+¯ñ’ä›Ïý£Ç5üÍhjnÖøà4qf×HÕë‡%>›+žp¶7Ü(ÆJþf45LÛXp7Òwr;2¶ìÊKØ=o÷±†9Ñ}øû¤Ô¼Â‹åÃBºX¡¥š=ã.Ë~›­»K‡HÖ |ðilÜk%}Sò½Xû²3/c÷¼},·{¸øJÖÜø&=¼¸ŽQ?ñ?Iˆw<ðm¯èÂJ¢o¶–oÑŒx!fß#¿çslÙ)±¯¼ÝÇ¿.æ+¥¦ñó›S¹Ïæ1³–<󽎴?'&•ÂZ*æ+¥;t‰Õ'»ò}˜¯”±dtÖľòÖu)7+ì<þþUš(’Åâ;çÎ!p^çŠ[\Î]|'}.;êKI¾ÙZ¼q6†€õª†á󤨶;Sb_yëXæ°² ƒ¾ƒ‘&ò¹¯rpCª•_œ® Ò+vNÓºgb!É7[KsÇ+,†³aß’|žêXve*ìž·¯ËÉ3‚¿íš3¶¢¶$¼é…%DŽ|GÒ îÏ´_<Â^>+§Ž…šÈ•Lxo?ø†Z¾%±uñ•‚ýô°ìž·ŽåäþAìšrý’¼µÃÉ:ñ„:9e¥ä»gSöFIXIÅÕRsÆ{ºÄx’Û÷áw|[vå%ìž·åár{Bß–&Žø`]—Ñp¦Ö‹ynKí 5µ”5·RÃÏÇŒ-컸¦FÆ–]yÕ—$߬È{û¼½®L ¾8xq¿|qÞÉQ”ÄìÀO;–³‰•tç Áš+–]Æž=æíöMÉç)bÛ®¼„Ýóöu¹­·75œÃqÁˆŽ^áAÇ"nod c½úXvé6·75#…°q{ú¦ÄëÂØ²;/b_y¯cAY§;:ò·M¼¬3è5G@%ùÜÅäÅö‚ƒV}ûÈ5AŽéƒ°|Qnß«T“cËîLÇK’ïïüPÆ–]y »ç½î—ÆG¾·°¦ ¨Wœ;Hxïçõz,¹×ÒÑïÄZºÌÔK Ê’$;÷黺PYÆ–]yûÊÛÇ‚÷h[y»Ôœœë6œp–¯‹^¹¬òvÑkƹì(¬•XIYÞΖ¨3–åëì{•·slÛ™—±{Þ¿.<aÕ=B| ÿý&)/ zc™´l’òÖ¤]/:|Ê[>¡WË«É;½-Ýß ¾¶çGñáA•ø|øØ@ü1|øØø1|ø˜‹þr>¼ıluɱå1/;ÌÏ5Á\_òÞ$HQ=ÏM$¿šT¾ŒË&”_MTï)›PÞ›(½l²§ûo!ŸÇÎO©¯ûWv‰ÅÁƒ¿ªOüjñºrŒ_Ù)þü>ôWõŠÅÁƒ:u¿¬[˜ƒßûñâàKNÒ½¯Ë÷Iø¿ÿ¦á·óø Ñð˃ïFƒˆÉ«ò盫üûÿõ»ó™ó;ÿü³úyRþ_|üäÍÊç óÊüVKÅGý-§¬@B–mjs±Ä¢îâyÄ’ïR°¼pºRV ü‘q5–IöZ½ŠrLZ• q{®{©ø2W)*àjHo,Ûèæ¢îSa ZñùŸpŠ¿nµMãpíõðTË1¡p6À½rÝKÅ£¶Êµ•ŠÏ¬YØú¬:p¨¨»BÉw[QÆ8 ôЦRÜ8¥Äxy/¯g¾ÛWLY•q{®{©øøøÝs%)XeÛãÃýð1¦LfXìDVÌaŒ“Pr–$«Ø ÇÂõòzäI1iU6Äí¹î¥âUÕáÛ¦¨±TgÙvUˆ`Qw _¿¸T¼,/œ…,jÊd w¢”§¼žY3T1eU6À½rÝKŇ}Œ­T|´‰Þ†w©…_‚±¨»už{¤å;Œ“p˜%'E,_›q'¾Z•×3?jULY™p{®{©x¨®­T<Ò8T¶ ž*ê.ÁFZ à,ä«)¸úîÄ‹y=ó½bR¡lˆ{åú*zs÷^*>ªÓÕÓåÚ£z ¦£œ»¤¦rïiG)xc-,þn öÕÛ(Éwó2Nžj°¤3•k[àè.ç.É—â<—][XI—w`¶.Ûï…Å{‘ôïM26í΋ØWÞ¯RñqézÙK҇¨¤Èrí¸|—˹Kb<|‡v|£XI5+\Zƒò‰e%Eû>½wš±eW^Âîy¿JÅÇ™¼ú^*>Îô}»\{”á¼—s—äsDv–‚7ÖÒ½~{AÖ–ögÁ¾ïä48¶íÊ‹ØWÞ{©ø“ß­Rñ…Ÿ±l{áWG,ê.A·*ÓúP îa}ãÇ›NV H=qQëo.HéUš^¬ALkwyâÀí¹¾JÅGg½fJ ïC–kÊšøÃ”pºXîÝv–‚7ÖÒå×L©A¡€Äâ „ôÝüš)cË®¼„Ýó~•Šèy,Ô\³G¹†ó:}dñ£ ”åÞÓŽRð‰¥Dßl-Í`>Ävöù¦ôõK–ŠO»2vÏûU*õOë^*þ¼P%XåÚÏ«ã–c9wIˆÇrïiG)øÄJªYÌÚß‹OÓw~ ™±eW^Âîy¿JÅŸQ¬zì¥â£¾lÏRñQ‰¶g©xIŒÇz÷¶ƒ™k¬¥3‹ÀZ~œ±1µªé›Z+¶ì΋ØWÞ¯RñQ§ý]*>ê—£ø;¸Qéü*.ç.‰wø>iG)øÄJ:¿W*>œ®Rñp•З仫·´;¯c+Ÿ¾·Rñ¡ËR¾Ò–ò­”XšåÜ%1^§OÙ/¹°’V¹hkTœ—؆ÚÊöM)ÏÓµìÅJßËûU* c/O+”t¾ùtè(D„¤ˆ§rïi/”€M ¾ÙZšâ™Lí~Τï5®86Ççì;ïW©øxR²—ŠOw¹öð›2,ç.‰Ù¡Ü{Ú»óVÒáßF±fÎ9¢ð¯°ó¹ØîôMÉç)bÛμŒÝó~•Š[étoi8ø³\{ܘíp9wI8w,÷žv¼7I¬¤õû;Ö`Ynlá£B¾)±5cÛ®¼„Ýó~•Š? ~ðÛ®¹=íÆ°ñxJ^†%Æëî4¥áÌXIçÅQÛ8—ï–kÇ–]y »çý*-._i./VâW¾Êðb%–…”Ÿâ¤¥à+i1¶¦qÙ(lÅOØwÍŸqlÙ•—°{Þ¯Rñg9ògU¬)œƒ£ðvø;³œ»$ÞŸºÖ´?êÄZJB­5'Þ4Ë-*û¦äót”eg^¾ò~•ŠÇ¨WÖttfÖc>+ªh¨œ»$Äc¹÷´ó‚+©åêÑšŠC2¶àì»äêѱeW^Âîy¿JÅÇdÈÓ|k±\;j,=.ç. ñXî=íx{m¬¥õkÖt$i,~ø,}¯ŸXsìæ +ò"ö•÷«Tüy€­ñmלÞã~J(ç. ã&˽§½ÂXIÇ*” –„>ølGž)°)ÛŠœŒÛS~U‰ç‚{+êáBí‘WÍBî’Œ…Þmgxc)Ñ5S1°1@¤v 蘂7–@²2DZ ÏV%–UÖãTýx”¿s¨ íñ‚„ î’øC…wÛYýÝXKù‰©ÇÉØ#”}ù‰Žm»òvÏûU>†‡³îÕácˆˆ}(Vh!¢fwIŒ:j²£ú{b%Ý9A´æÂU6^g<é›[3¶íÊKØ=ïWuøçÎÂÝR<¬ÁþYt–U¿]Ï3ê»ÛÎÚï‚J¸³¦¤JIøà¾_ ¾ïjO+nK÷UþÁrl+ ÿ°j)«²Otˢ혓ÛVþz¡pþ)C—•¢pO—8Žòzæ°¡˜²2›â½àÌõU;.e/³Ëq¹{ÌjG–j—äYíu,;¸v‰•TÖ+Isú‹€=ücFð}¬WRlþà‹óö÷« ü¸=·Ëb¿VúãùNš½Ê¸ÛŠZ@ÆQ¸s"/v»„ëTÂ+6EL[™p[®¯Êïñ-}/üu n×^ÜÔgiv „aÐVu7ŽBÏ‚ÁR4Œ÷Âáyl¯5ŸŠ)+³nËõUìý.®ÉcV­*·>ç Wu5v Äbí¶‚‘j…b^¯'ߨ‡¯FìõÈ’¸Š)+³nËõUß}ÞµíåÝŸž¿·€ÑÃ?ÅpIðÍyiå¯8 G¡¹Ì™5VLÆ ôšïJSVfSwA^·’îwwÅ +.”6fQõøÍæîšëxž@ݶ¬nã(ôüU)*Kð²€½–SVf#ܖ뫊ûÝòÖ•‚KkÖQ¿/ (³~'K^UØm½•ñ&´¼u¥Àç²ÆacÀ^KÞºŠ)+³nËõU¸=ê¹ó@ñà“l•N×€ÌÊêÛpÍÂë¶¢ÄpèÕ§4œ·…P{¥À΃˜²*½{ž}†÷èçÒÓRð×mé.¦Náë—¬Ón+ʰGaýˆ|©-D^×/€(&­Ê†¸=×Wyöø œT€·¦é£Q@ýô‘?#¬òê¶¢òºqʪ°MÅOWá.Pëä•›"¦¬Ê†¸=×WEökädHqãfáNY{\2¡¢º­(¶n…‘?!¾y5_™ÛkÏ)»bÊÊl„Ûr}aGÖù—‚ó}–AÅèhd‘!Q·üxã(äw=RÄ vã.<Éä•›"¦­‡N&p[®¯ºëãÈÕ'(¬|>ŠÏDy$ø<õ’Ö¦·õÀ5Ñ ¼°¡âº™SÕÛúX­Ð+§?cÚŠlŒÛr}•ZÝ„+.Ï*èJÁ`-ô‘¿Ö¬Ré¶¢$ŠqòM üQLá*zÍwÇ”•Ù´]è‹ *å‹ oŠÇç©áxuÍyÝ={ÄSÒzé¼³Ê:½ú6yÀˆ¨YUýÂK{y¥àk ÈÊl„Ûr}Txÿ¶ÕSx﯒棰j>*žõ/,ˆn+j¥Gaý¾ óàÎǸ릯WÆRLYEÄ{6Á^·êÁqúTtNQQÅ|\P䜂{Ä8ÓŠòèÆQ¨Ù¡¥Àlß8TJ³×Óu#SÖîSv¼sý –M'K1 ‘SÜŠ¦ÛN‰#å^2Ýv‰{HÏ·*žPÜì9eŠ[ƒßT©ôçÇUJ~=b¸ ¥?¿/ÜuÒŸ_î2éÏ/b…ë^éds7ñºð’f«`žv¼¸¤´™ñúäI»Ä½ACyˆl@qop£zE6 ¸5PNn°§øo®A~á5’K ÿ 6ðϳ—@ÿAlàc§¹Þéà‡'/[[±ƒFC‡ƒØ¯«?σßiÌY…]„ÅÂ_‡uö_EØß÷[%Øù òÇW`²Cß/Àþ§úGð&{ÿ»?ùƒ_P„ý·Ç÷ŽrÓØhMÂwjÀ3@êdyÇW wR¼¿~aÕæ£-;ËXIIûN Þe$¶²ª¸|'ó;cË®¼„Ýóv vÞØß©©.¢‹'2¼£Àr¬EUà˲£Bjb%%<5 s'–}ß¾“ž±eW^Âîy¯šÒãÜ©àÖÓäÅtï¨òd±ÁQ'ýI{ü<ê‘XI‹žš;ë»?&}Û÷â„;¶íÊTØ=ïW öžšÊÏÃêÆ Wô®:êi9<¥d‡§4ïÄ‚ž¾“ ž±e/Eü·åÁu^$ñÔTVØ>(±àóœCÞ/žx{?žeoÜt¶m[P_u/žÉ7–tpû^lqÇ–ÝyûÊ{Õ`¯/Æxj@ý®ë'ásï/ÒxÔQcÙQ*ÅXKÉ·†pcÉ ·ïEwlÙ•—°¯¼},5ÖÍ}<5à{¼ E½ôÙ䨓^–ýæ3_ØÛ3€±*éÕlpcI·ïÅ#ϱJvæeìž·Ž…?µQÉSsûgÜ{3U<ÊúŽ$–#Ë¥½ò'Ùoÿ¼<¤¤’§tðÄ6JòTòŒM»óê/i£’Gé ,*yj:«¸“áNªxÔQî}§’Çg~ã¶&ª@ÇØ”’Jž¬ü{òƒ:ùN*yÆ–]yûÎÛu˜ñÑûF%Oê—¸?EWAçJ®¢ÎiÇÓ-±’’Jž¼L,¨âé;©ä[vå%ìž·û¾ùÞ¸ä©)<~ˆäIyt>“=Î~€âiGåÄJJFyj@ V¬qùÞHåŠvå%ìž·…dÏÅ+OÍÍâÔ¤†’7=8Þ/^yœŸóN{üï“XKÉ+OŠx ÞxúN^yÆ–]yûÊÛ}¬óƒ‡ä•§›æQ»óÆñ3 ÇÎ+Gô¶ìOìà$VRn(¥ûd‰o<}'¯¡~DC¼ñ8w#Yæ¾.12É~ã' µ”¼òÔ€n,yãö½xåŽm»ò"ö•·ç–ücË¥C<~ˆä9LŸÓ‰··<úm½–oÿÛHHzyj0õVrùÞæŠm»3%ö•·ëcãF7’yj@Çš6“ÈQßzì$ó(’ –Îã"ÉbéìR’ÌSƒ–Ä‚Dž¾“dž±iw^ľòvÝr¼wßHæÖ(ÞøÆ^$òÈ%¾HZ$óVøÁŽí˜·'–Ò"™§fðXˆ%‰Ü¾ÉܱmW¦Âîyû÷H\$óÔ4þòé”$‘Gyòò"™G¹õV—ä!c%%É<5¬®j,Häé;Iæ[vå%ìž·åŒyõF2O ˆâ ‘Èá¡î$ó(·=Ãö £¬±’’džÅ%‰Ü¾ÉܱmW^Âîy¯:ÿ絓ÌS¢xÔÚ?“VŽZüçN2:W[vðØ+)Iæ©CÃX’Èí{‘ÌÛvå%ìž·ïÐl6’yjø#À¿ì$ys^Ð"™·B^ìÌc-%É<5 ŠK¹}/’¹cÛ®¼„Ýóvæ†Q}‘ÌSßà¤ýq'ŠT‚ú™$sünb_v‘E…•”$óÔ€(žXŽö½ÆÇ–]y »ç½Ž$ò$™§æd Yö’ÈQ’vì$óÈg‘Ì#×E2O)IæÖ(n,Iäö½HæŽm;ó2vÏ[ÇÂÿÞHæ©Q\E¼E"×Ïo$sý¹í,Ca¬¥$™§†?ï+,Iäö½HæŽm»òvÏ{Ëù"™§Dñðw&ɱ ‘§ï$™glÙ•—°{Þ®õ}Æ~ÆF2O xǨÀý˜DŽŸ.;É?yÝ—óvc%%É<5 Š'$òô$óŒ-»òvÏÛÇ¢ãK’yjŠ~‹¨^:wI2G!äcÙuÞ…•´ª6KC¢¸±Üñ²ïE2wlÛ™—±{Þ®[~ÇÛ‹džšÎ#à62IäQw<>O[$óÆ×–iÇÍÄJJ’yj*ËÊ [XV^¾“dž±‹¬àI‚ú;oˉë¼Hæ©,öÎgIäñ«1ŸZ$ó(è­ØÞ1º+)Iæ©é,/lcixùN’yÆ–]yu™?û›d¥c÷c‘ÌSÃr¢÷½ÑÊQ5)åˆ÷ [Ú ¥ó%%É\’Å%\žÉ\eeN½R^?ïAÞï±~ÝCÜßø”›ôd’È#˜ÀI2Tân{¡D,¥E2·b¸¨æíÆåx‘ÌWVå8va#™7-×É<5áž›;$‘£šö³“Ì›‡¶óŸ°–’džÅ%‰Ü¾Éܱew^ľòö±àEÇF2OÍßœø:‚$rU½ßHæ(>Ò‰µ”$óÔ€(n,Iäö½HæŽm»ò"ö•÷*‡žÉÜ Ná~‚OyÔmEGK’¹jÔ¦†‘áÿÈÌ4Ö’F.¿‹d®°¶2!á¶t}Ø]X$s+@.Ìï$â÷ö¼§Y$óTGZñ®Õ8 I2·dqã4Ðë¹óô¨Ù·å꛿k´‘ÌS¢xTÝïI2_ÿ/’y DZì7?ˆVR’ÌS¢xbA"OßI2ÏØ²+/a÷¼]—r‘Ì­`¥T–!¼³JÈ"™GÄ9tØ ®’q’dnÈâ‘F.¯‹d®˜¶2á¶\Wú½l$s+.×líE4rϼ6’y¤1ÿ”µ°XÔå:²äCŒUOù8D7Ïc{M’¹cÊÊl„Ûr]U¡kßHæV`Õ¾ãìc¶ßùYÇ"™ã”V[ù9ˆp’dn…Ê ?ºjgO¯I2wLY™p[®«ôqn$s+òg@ŽS4ò¨Ô\úF2*­sJ$ëì í1NB’Ì­¨,MÉEòš¯`SVfSwa#™wÞ€‹dnÅÅ¢žËH#ïüm‘ÌQà·¥iG!IæV€,nhäöš$sÇ”•Ù·åêôñõÉ"™[Ñy?bbv«Öz=çE2Gä;­w<7£ÐÖ­KEå-H\ñÍy÷d2á¶\WÕý¶“Ì¥ Y×Ü$sTÀÞ‡ëpw´â»ãø‘D’Ì­¸y?G¹¼.’¹bÚÊôî]ØHæß…/’¹ƒ?Âo øuÅE2j˵¦¿Ëh…$™[ÑøcÄUþ½Öõ3!Œ)+³nËÕ5v›˜À.G/&ðQ÷v^5ÒÈ£$n=6’yTÌí-­˜mG!IæV€,.iäòºHæŠi+³nËu•;öR’Ì­À$=¢>¦‘Guâ³m$ó(^\GZñ«ËÂIH’¹ ‹¹½&ÉÜ1iU6Äí¹®ŠàåØHæVœD?‹FŽâÊm#™G×V,á…“p¬ÂáP,.iäòºHæŠ)+³nÏÕ?Ì€ E2·dñ(zwÑÈã7RŽ{#™ÇϨT“ÌñË"Å8 I2—‚dqáH#—×E2WL[‘p{®ëwXæ¥Z$s+@JáO<ºÞìt‹dÞÉî³õŠ^o…|-hEã/ÏW)Ðkî¼;¦¬Ì¦íÂF2WÉöE2·âñ•=†häè²ÇF2Wqx[«îGà($ÉÜ ì´G¹¼.’¹bʪlˆÛsuú]½T$s+À@ýíC4rÜ9u#™‡»ó²5nÁaœ„$™KA²¸p¤‘Ëë"™+¦­ÈƸ-××,,’¹åøù}ÈåÚüÏN2×$ØÊOBú.$É܊²ýÄäKÓk’ÌSVfS\îüFIæ ¦¤pëwQ6–ù÷HÜ8ÞA i[Š[ƒÆß[p‰{ƒ(þº5 ¸5xe•Iþ&yæQ79ˆ¿&Ѽr"ñëÍñSÂý×&šã÷µú¯M4Ç5ô_B4wÖLr‰;ûçZœß#›«A²ÍÕb§›»‰ùæn²ÎÝÄŒs7Ù(çïä²É%³îö`ÓÁ ÓÁáËà žÓÃ/až¿ÕY|ÜÔs‰É5÷uù>÷\Tóß"û<èÅxá)öù/+þñËë…ÿÛ«’_˜¿¹é?ûùŸ¿ýßþ§¿úåõ/ÿ´U¼ endstream endobj 46 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 47 0 obj << /Length 96 /Filter /FlateDecode >> stream xÚ32Ö30W0P°bC K…C®B.K Ïȉ&çr9yré‡+Xré{€O_…’¢ÒT.}§gC.}…hCƒX.O9†z†ÿ PÈðÁ†ËÕ“+ ]› endstream endobj 48 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚMÉ=@PEáþ®â®À¼™x¨ý$^!¡Rˆ ¥‚°{ äTß±4J2:ÆÔ„–Ò”³bƒÙ‹ŽþÓŠ<@zšAjzHhxìçÉÛ‚ )9(݈Pò¾¯¨:<Ól ” endstream endobj 49 0 obj << /Length 241 /Filter /FlateDecode >> stream xÚѽnƒ0àC"ÝÂ#pOƒ(TLH ‘ÂP©:D™ÚŒZ53<Â#02 ßÙ$i¤(Aœ>l#ÝÓxñSHiLÉ+}GøƒIfÖ!/ùàë€ËÕ'%ªÙEU¾Ñßïqjù¾¢UAۈ–A¥µîÄÑ©kó¡~ÍF AkóæpÖ³Þ`…Ñ9EåÌkð&Çkkpk ³Éá9ç“\SþX¿·ù}iúžõÙÀõ,3ÐðO®ùZ®)g{I!9ÅÎê·VÓ®ÈQ5’Fb´)e¬<îþR‚gJàëàÛ‘)›gpò-áºÄ<[?—Ò endstream endobj 50 0 obj << /Length 249 /Filter /FlateDecode >> stream xÚнNÃ0`G,Ý@¡÷à8UÚ2E*E"L ¨tìPsüh~”> stream xÚuнNÃ0ðä¡Ò-YÙz/IÀTt!R)`b@LÀˆ&PãGó£øÌV¤¨æÎa¨øÈðS|gûîlg{Í×lywŸíœç|×ÐY+Ášg͘¹} EGÕ[KÕ™„©êÎùåùõžªÅÅ ËzÉ× ×7Ô-0j`šÜ#ЧQ æ#ÀD¼LÚ€Òc0u(e ‹+9í1ü´ _¬E—ÿÿrùŠ4ê²A)'RòÐvd/Ú”F½¶™¢”NI/ÏJB7™,ú|z’5[%°m_‰«¾}תŒ¦£G9Ð;}ŒÞ£tøŒúBq)[m0”:˜Ï}ÐiG—ôy?x endstream endobj 52 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚ]ÐÍJÃ@Àñ †@¯½9/ » ÄF„ZÁ„zò …Bõ(¨èMÌ>Ú>J¡Ç$ë~LµÙÃòcfØóê¬jHRYÒiE Iõ‚žJ|ÃÚmíxÁ§Ý .[T7(níE{GïŸÏ(–ëk*Q¬è±$¹ÁvEƌѱ©Q³y‰]CªÃœ*Ö>gY8U°³Î#å±`k½²ö¬&•³÷98ù7‹,¼ûàlïsÇJﯬËB>ø¬S}òŸƒ>éŸÙÔ±˜˜Œs¶aeÐø¬ý˜-«#ÕÔ¦~G~±—lÆÞ´x¿+%eÒ endstream endobj 53 0 obj << /Length 212 /Filter /FlateDecode >> stream xÚmνŠÂPà„1­ÅBæ4¹a·ºà˜BÐÊB¬ÔRØ]VØ"xï£åQ|Ë!×1‚XØ|3p椪?pÂ)÷§)?y¯è‡†_²LXFsÙiœQ¼–ÅóÆlÁ¿§Åãå„ÅSÞ(N¶”Mpw"¯þ‘%Î@ ¯FÔ`_¨|ßÁ;Bgá9!¬4`Š&E£U ÁáEˆ ù¡­`ßàAíKª]Ã{ÒªÚAÞ5èä]m?ÎIT”ú*•%Ã!´4ËhE7U}Jì endstream endobj 54 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚuÐ=N1 à7JÉÍ!¾d¢Ù?FZ‰) ÚQ%$(`r´%G)V ž °ÍWØ–åçÉlßµÜð‚÷Of<]ðµ£;jçRlxzðÕ¹º¥eOvÍíœì‰”Éö§üpÿxCvyvÄŽìŠ/7—Ô¯ó1²ý¡Á/6;¨ yª &C†z‹‡PïÞ@oQ{½:CG ¢Ž2U¨…\Yô•MÁÿ‹Î:|…º$³ñB7¦0x¼âÅKœçP%¤ñ†ø${By‡œ:îéœ>ðLe endstream endobj 55 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚ}Í1 Â@Ð/)S˜ ™ è&YIc@#˜BÐÊB¬ÔRPÑNÌ-Gñ)SHÖQ ±±xÅütæTÎ+ZS‘3P8¶†W]‘¡‹+|4(; ¬SúwXOøZ‘dx)ñeEûÇã÷îÝ>’ ÄÁ7¸{¦S¹•kœz(ƒ ÏhRЂž]«<ø endstream endobj 56 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚuÐÍ ‚@ð Á\öœ([2)Š„> A:D§êØ¡¨[¤æ£ØØÍCh3.FP-òCgwÿîŽë5u›ZäQC“Û¥N—vèj.¶¨Ó33ÛŽtVäjtf\F'˜ÓùtÙ£3ZŒ‰«Zóž ~ĨÂoÁ~yûcþáó·µO3I­âΪøÁúÐg¯`g²@¥`¥P?‰|ªXÞmc$EßbX©¹›KöoíJ>G}›—í¹Urì°Ô/ÛcCM~Yܼz¬Â'XÉ€…" 3Éå-8 p‰/¥fl endstream endobj 57 0 obj << /Length 195 /Filter /FlateDecode >> stream xÚuŽ1 Â@D'¤ü´BþtE…Á‚Vb¥–‚Šv¢ñf%GHi!ê˜B´pgù3c[N¤¡6µ©í¨më2’­XK1|+åÏb-q*fªÖŠR“Žt¿;¬ÄÄã¾FbÑh.i¢À€ûÌÿR]Ü#¯sãìèÁ+ÀË ÿŠ JdDïz|ãɃšÿÇý÷y*Ô˜Œ*CѦ#6 wrÖp38UœßÛ{Ë •‰¼ÆÀAê endstream endobj 58 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚuÎ= Â@à )¦É2'póƒ‘TÁ-­,ÄJ--m£×Š7Ù#¤L\w… lñ>˜÷šIÆ£tB%:iNãœö1ž0Íô™Ó »#–ùšÒ ù\·ÈÅ‚.çëy¹œRŒ¼¢MLÑEEpÓñTÀž |´E © ý¯ ¤†5àëæf‘Kó)%@h†ðî °€ó;Ô.^†ÞgéþñÍ T;gWø*S™ endstream endobj 59 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚu¿NÃ0Æ/Êé–<‚ï 1$Щ‘J‘È€S„„Œ : Æ/Æ£xcõèÕ|gÊF=üìûãû>»³‡ý‘´båÀΤ;•ã™ M_ íä·@¡§ýô™!3%Ÿ©×RJP™!ƒLjŸª ÒeTé"féSÊø‹_e鵟´!}Ñ ®©v–¡ŠYW}Çç#_ózGq endstream endobj 60 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aS3…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒØ?0ðÑ0‚°0070àü˜ÿCƒýùdD (¨ž¡ýc`øƒ‚è1ÿ`øÿÿq¹zrrxæ<÷ endstream endobj 61 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚUÎ= Â@à‹Àk<‚s÷G‚vBŒà‚Vbe,-mGËQrËâ:Ó¨ ßÀ¼W=?Ù [öz9çS®Îðš­F}'fËÞÃ,¥… +¾^nG˜b=gSòαÝ#”Lô¢Zt*ë¨ÿõLd¢M D“ŠGb&(QÝSoð¯'ºÙcc#°Øàþ÷G> endstream endobj 62 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚÌ1NÃ0àe°ô/½AûŸ'T e!R[$2T¢SÄT‘ÁV¥A\ª£QÀ ¡p¾¹EÔ´1r§a?‰]c{þ&ʶQÕÇ7P ‘_‘Hõ_"Ÿ" ë‚f´צ†8 endstream endobj 63 0 obj << /Length 192 /Filter /FlateDecode >> stream xÚmÏ-Â@ài*šŒáÌ ØþŽ&¥$¬ … (@" àôXÈ%€ à++š.;¤rÅ|™·ó̦ƒ^”PH±´Oɶ0åräe³Ç\¢XR£˜ÚWrF§ãy‡"Ÿ)BQÐ*¢p² è¨Lo”ј§ª¬/¸do¸tï5Œ¬Ȭªõf;%_[Áa\kþ±vëÕ\`kð*·~Ŷ_;´§@ƒ1_c?Òú0¦Ä‰Äþà†[— endstream endobj 64 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚuÎ= Â@àR¦ñ™ èf݈ÚðL!he!Vji¡h4GËQr„-·u²¢ìòov™—êN¯Ë ÷¸­95l¼×t"Ó—0a3üLvGç¤Ölú¤æ“Ê|9_¤ÆË kRSÞhN¶”OÈ* x9 ª –ƒ­N‚À a°Ž<+£ÀÆ‚ódørÿqB÷üƒ"ûøR -Oõl¿qÙ€äfM©ä¤’o#Eüf¼ä9b Ð,§½ ]Lß endstream endobj 65 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚ}οjÃ0ðÏh0Ü¢GȽ@+ 'îR0¤ ÔC¡:„NMÇB[’5ö£éQü1VOIó‡ÐD?„îôqÃâÖæœñ•Sð°àüŽç–¾I®™ìQ¾¯½Ò¸"ó*Md¥@¦zâÅÏòƒÌøù-™ Ï,goTM‰×-Pû²‚_—âÆéi€vP=ÒªƒZCù­ûK⑊]l¸¢Þé.*á3ÍŸ{P¾ï,›Øm¢ñ8Ôˆöb+ã þ’¹°º—T¬t€(‰"âêOìþ79ÕUÛ—Ú3iZÑ ýw'mË endstream endobj 66 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚ36Ò35R0Pac3cs…C®B.cc ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]äj˜ÿ7þg`ÿßÞßÀþ¿O¾Á~Ž}ƒ¼ˆ( ò òX€Ä{0Ñ'PˆzQ‡‹ø"þà ÁÄL‚$ñÿÿd‚ËÕ“+ ºæ;W endstream endobj 67 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ=ÊAjÂPà?¼E`²uç\ ¾—>‹Šµ`‚]¹WÖ¥ E¡‹Psæ%Þ Ðmètb© ÃÿÏøÇþð‰{~HÙØgüžÒ¼ãvüèï²ÝÓ$'»bïÈε&›/øt<ïÈN–SNÉÎx²ÛP>c˜ŸùÂ8jP£‰*&àYeqy×mwn\\q£¤‚‘F Râ"=-ÑJÚ¯ÚÁ¨è.SˆªL(—ŸJÐ÷¦«Ô/%è5§7ú9G, endstream endobj 68 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚUÉ= Â@à`Ú}ÐÍnT1‚[ZYˆ•Z *Ú‰ìÑÖ›ä–)„¸þ€føš™‰eW(¢uÅ’RA”‰#JåçYï0WÈ$ä;#WS:Ï[äùlDyAKAÑ UAЂŸö›¾ .€ œ Ü Xý­Î½ÁµÊß2 ÌxLÿ 3d°—>ÓÓ{ß”îÍ8µ†+àXáŸ?y<Œ endstream endobj 69 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚeÎ1 Â0àW:Þ’ØwMC«u+Ô ftr'utPÜš£õ(9BÆ ÒZ)¾þyùb&3J© ©¤|NYA‰w ™†Ë–Ãr¾a¥PÂŽbjjKÏÇ늢ڭH¢¨é()=¡ª)rÛÆ·ÞE?˜nc ÌŒá†õà혤å=-$zL©“ %üÑ ”|(  D$q@3\O¼cæ=üi¡ÑÀµÂ=~] X€ endstream endobj 70 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ=Ë1 Â@Ð[»Ìt7&˜tBŒ` A+ µ´P´ÕÀxœ%G°´ÆÝDÃÀãó?øƒhÈŠCî{DìxïщÅæü°YvGŠS’+É™®I¦s¾œ¯’ñbÂɄ׫ ¥ ߫ܭª*ûá”pÞâ QˆDnRfi ±[:°J Jô ‘Al[CþÇÊ€±¨Æ1؆‡Æ­y¶¼4ݚ·è85øAÓ”–ôœF< endstream endobj 71 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚMαJÃPà?Z8„fí x^@oÒD“É@­Ð ‚¤ ¨c¡Š‚SÍ£åQ|„Ž­¹Ô†sù†sá?šœç3º9‹3MsM.õ9–WI3n/’߯§ÌK1÷šfb–Ý^Ly«ïo/bæw׋YèC¬ÑZÊ…âp¨ ëý‰Â"lî1î^M+ ø{Œhðoƒ)à5ÈiD;['ZÔG½Êé;w>œ£ó‹SšÓˆ~;O{ë. a¯“Á@F‚‘`$ûõ^±ßŽZ¶´ìgÇΖaÛúylÓ_•›RVò§GS endstream endobj 75 0 obj << /Length 199 /Filter /FlateDecode >> stream xÚ¥=‚@…‡PLÜ è²ÈŸ bâ&ZY+µ´Ðh«£xJ Îd)è-¾bß›yó6šÏâ¤3šf%gtÖxÃ0e5 $¬Ó ƒjOaŠjÍ:*³¡ÇýyAUl—¤Q•tÐÑ”àÔîÀg&Ì›ß}NÇr à5ƒÅr^± ÅaÛý2󆿶ã“Ê®ä`‘Õ׉iÿ`œ•»r_zHé&=¥¯| z)3”óWwøFHH— endstream endobj 76 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚu1‚@EÇPLÃLœ è‚ÁÊ1‘ÂD+ c¥–&j´ŽÆQ8%…gd•B-^6™ÿgþß‘;ðÆd“Oý€\¼€öžqðÇ~£ìŽƨÖ4 PÍyŒ*^Ðõr;  —SrPE´qÈÞbt ÇLR~3&0 £è> stream xÚUޱ Â0ES:Þ¢Ð÷¦µ±ÐI©Ì èä Nêè è&´ŸÖOé'8:knh †ä@Î}7D%“YÆg¬X¥Øç˜n”¤ÆE¬¦68])×$÷œ¤$ׯ’Ô~ÜŸ’ùvÉ1É‚1GGÒ ³æxos «ï*!‚¯¹…ø¦÷~‡ÑÖù²ŽZoŸ(kÌ ‡²B" PõÑðqã>´.îÛ¶ø{€°xcA+M;úç–=Ä endstream endobj 78 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚU޽ Â@ ÇO YúÍx­w8jotr'utPÜê£õQúŠ5I-Ôåù$±f2›cŒ-ZƒÖá)+GZŒv*Æñ™½Cã@¯Hí×x¿=Π³ÍÐ9îŒàsT/¥Ô¨"ŒkFÃ㇠ZFQ"¶Ã7!Ø\LÅ®{»kwÅ; #e´%ç(𮈻iõÓÇÜ›^/ªaTtY!ŸÉ)yçÉ@,=lá M>k endstream endobj 79 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04SÐ5W05P0µPH1ä*ä26Š(˜™B¥’s¹œ<¹ôÃŒ¹ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. òÿÿ30Øÿÿ߀JÅ€ NÔa!þÁ‰?˜#‚øI0#ˆ˜;‚x€Ið#ˆ˜„<‚hÀ$ì&ß»ÿÿÿÿ‰z—«'W !èVŽ endstream endobj 80 0 obj << /Length 172 /Filter /FlateDecode >> stream xÚuÐ1AÆñ…ä5Ž0ߘ]cÕ&k%¦P)D…RAh­£íQA©;Cñš_ñ½êÿºº  ƒV:FÔÇ:¤i]âèyYm)5¤æÐšÔ¸šI™ ûã†T:"$•a"X’É ¤µB$Öž?!ä›Ä#rlj£tÜjžCÝsehx. MOÁ ‹¯¾ßÒÿ¹¹{•}R¾ÈmU@#C3zäTñ endstream endobj 81 0 obj << /Length 148 /Filter /FlateDecode >> stream xÚ=É1 Â@EÑR~“-¼ èäg”`£#8… •…¤RK EÁJ³4—âRZ„ŒÓ(œêÞ‘Ž'̨–Íi•ª<¨œE‹3æö÷ö')˜-µ³ CŒ[ñz¹Å”ë9ULÅ2«ÅUD‹¸CÒ#õMx‘fÀx¢ñi‹çþß î€,œlä õ‡* endstream endobj 82 0 obj << /Length 99 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04F– †† )†\…\@Ú$l‘IÎåròäÒ pé{€IO_…’¢ÒT.}§g ßE!¨'–ËÓEŸÁþ@ýúÿ!Äncàrõä 䄬e endstream endobj 83 0 obj << /Length 118 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0S04S01S06QH1ä*ä2 (Z@d’s¹œ<¹ôÃŒ-¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. òÿÿÿÿc$þ!°‘ ¨øÿÿ Àb\®ž\\ÏŠ>à endstream endobj 84 0 obj << /Length 102 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0"3#C…C®B.#¨‚)T&9—ËÉ“K?\ÁÈ’KßCÁ”KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓE¡þÿÿÿÿÿÿà >—«'W ²©$Ì endstream endobj 85 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04S02W01V05RH1ä*ä22Š(™B¥’s¹œ<¹ôÌ̸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ò ü ö ò ö öêQqC=C=2Ãp\ÆàÀñ†   \®ž\\Õ8æ endstream endobj 86 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚUÌ=‚@`6$Ópæ.?’`# bâ&ZY+µ´Ðh+œL9 G ¤Ø°Î nñ¾ÌÌKfÍâúQæ!Æ!^¸C”ÐîëUçdø£ø†®ÀÅŸ×x¶[a<Çc€þ DŽ–eI ëÛÄ™p?šïˆ×“éÄR󞬱§öÊ?ÜjÄ+ R¥ I}ëi*»qúèÔD!™jUÇ”T­¡©¿ÁZÀ~'dØ endstream endobj 87 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚ¥Ð=NÃ@à¹Xiš=‚çà˜ØB‘,… á * D)S€ µ÷&\Å7ÁGHéÂòð6.‚DIói5û3o¶X—k]꥞åZ¬µ¼Ð×\Þ¤ÈY\j¹šw^ö²©%{Ô"—ì–eÉê;ýxÿÜI¶¹¿VV·úÄ;ÏRoðƒÐN>`aö˜}x3 H‡”V½£mH¨ñâbŒ&oÃNúhà»h:€+T¨p²=Úüq::þϤ‹º>¾F›_²/C2ã1eÂyaÜ:ÄùÜèã#fœÃÉ`ÖÅèx–!7µ<È=c endstream endobj 88 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚuн‚0ðkšÜâ#xO `âD‚˜È`¢“ƒqRG®À£ñ(}FB½ЄĤý¥ÿ~¦øópE.-¸K =ºzøÀÀçìšh.wŒStŽøèlytG¯çû†N¼_ç„N¹gL‚\kÐZ—ÖÊZƒ™o¤’-ÀT c Úš[£âçìÛº8RõòfÉÂ_yOwyö_¾ªµ6ƒ|pd‚mAÔ&²Â:©­•QV&òƒ£Ò˜¬ÐöëíP€®$> stream xÚuÎÁ ‚@àÂ\z'HÅ Á òÔ©CtªŽŠºEúh>Šàуh³kˆeͰü³°;ÂûSrÈã#&ä»ttñ‚Bpvd”‡3†1Ú[í%OÑŽWt»ÞOh‡ë9qŽhç’³Ç8"h¸re¡)¡¯‘ƒQÀ¨5“ñŸVzV \¿4Ù ¤0°i:“·uç“ûÓl3%üRk-Le00½µÏöåøãæËJÍKÀEŒ|ñ}xB endstream endobj 90 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ}Ê1‚@Ð!$Óp™èBBE‚˜Ha¢•…±RK ¶.Gã(’‚¸Î.ZHÄIæ%ÿψÙ$ŒÉ§)¯ˆ) èàEÄÙ×QgLsô¶$"ô–Ü¢—¯èv½ŸÐK×sâœÑ. yF •R 0ªýRG5X-ØXÍ NPƒSÏnil¡Ó•b“EOþÒ&¬4>ÀíØ=ŸÆöŸVgÓWªÊX³Ê(ßê9nðón endstream endobj 91 0 obj << /Length 163 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcSC…C®B.c˜ˆ ’HÎåròäÒW0¶äÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õÿ00üÿÿ™‹1 ì`â‚LÀAȃ‰„=˜`ÀAÔƒˆ:\Ä?ñ‡ÁDÔ¡ÿÁÄ Qÿÿÿÿ?ÿQˆ ±\®ž\\Á˜[É endstream endobj 92 0 obj << /Length 242 /Filter /FlateDecode >> stream xÚmбNÃ0à?Ê`é–¼Aì' ¤ª¢X*E"LSadÈ`µy^ÉoÀ+dc$¢–sŒT@•|Ÿôßù»89šžª‰:æšòÉÕ]NTÌ8ÑV4¯)[ªbFÙw)«/ÕóÓË=eó«3Åy¡nr5¹¥z¡°é ìzÈí^½ÅÆAHœ¿ ^Ù_öŸÑk¢O mb¶2ñ{Ë o)Þ¼IP¶X—’5•”`ÓÑj´5Ò†uiSyû½² ®9iÙ^ZÃ&­WÀ‹ÄÁŽW9ˆ õ+¿å§ûo w }:¯éš¾ˆ¢{{ endstream endobj 93 0 obj << /Length 221 /Filter /FlateDecode >> stream xÚmÏAJÃ@à¿tx›9BÞ šFSŠ›j³tåB\U—.”ºjir½‰ä(s„én„¡ãË š…ÿ}ðÿ³šâ|2»à)ŸÉÍ$9?åôJÅ\z¨ÝÃú…–e÷\Ì)»–•²ê†7oïÏ”-o/YúŠrž>RµbÔµƒ·ðGx×+£$qP-Tô ªú8aÚ ý ¦Hñ«Ú”@\¨fñgm£{`Ü%íNGõP¸ iÛk,FÓû=pk0Žjluo-9¢Ôðþ¿m·Ë骢;ú[Ê| endstream endobj 94 0 obj << /Length 200 /Filter /FlateDecode >> stream xÚuÐ1‚@Ð![LØ è‚°!V$ˆ‰&ZY+µ´Ðh mÂ(·Ø°.¢1ÆÐ¼Lþ4ó'ަbN%4 )$ft ñŠQbÀD4lŽÌ ä;Šä+#/Öt¿=Îȳ͂Bä9íC XäŽé> stream xÚ}ν Â0à+„[ú½'°ÿ‚S¡V°ƒ “ƒ8©£ƒ¢sóh}”>BÇ¥ñ.EÁ†ËÇý$$q4MæäSÄ;žQÐ)À+Æ!×¾”28^0+ÐÛQ¢·â.zÅšî·Ç½l³ ®sÚä°È ´Ö Ä,¶5yoÔ“ÚfJN©Ñ­>¾ãÕTåHA¶±-£ÝIÓå?”ò±6*‘°<”+¼º1­ÁvL{°ùµÔ¢yõˡ˷øäjÒ endstream endobj 96 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚmÐ1NÄ0Ð¥ˆ4¹8I±U¤e‘H¢Z()XA»ö 8W‰DAÉr„”)¢5c‡H€ÖÅ“5¶ü¿\Ö+.¸äÃU͵áCÏT•2,¸.ç“í­[Ò·\•¤/eLº½â—Ýë#éõõ9Ò¾3\ÜS»aXà½wÑ>:@æ~²^M€ê¹¤:ÌÚ_6‹ù¬;â~±qá…ÉLÇ ‚VrﻘëðÓJöX&{بäÈ#’‰Iz³c&ñ4ÃÍÿ~¸àg'ò¯.¿ýÑz¨w'©ÊÏÊ—¸ì EJsY#袥ú´}× endstream endobj 97 0 obj << /Length 245 /Filter /FlateDecode >> stream xÚmÏ1JÄPàYR¦É |sÍÆ}!°®` A+ ±RK EÁÊ—£å^a2Å’ñŸ‰‹6É̼yÿ‹«£úT–å°’x"õ±ƒ‰pÂ,ÑÎ\@Ç_³Ùès/*g.ù ù)¨&éÖL“ÙøOPëãv˜Y´µ‡ùÏì`nî ÿ,ß{à·ùOÄ›Mx±[l)õz»i²ç&µ$©vªX?zÎÌòEË7ü }„t£ endstream endobj 98 0 obj << /Length 163 /Filter /FlateDecode >> stream xÚ31Ö3µT0PaS 2TH1ä*ä21PA $‘œËåäÉ¥®`bÀ¥ïåÒ÷ôU()*MåÒw pVò]¢  b¹<]ìÿÿÿÿ¯HüG#êìêÿ1Ô3Ôÿa¨c¨ÃFT0üc°a`øÃÀ€•`?pÌ`â‚L<ÀAðƒ‰8y0Ñ€LðÿÿdüÿL€Å¸\=¹¹7X^´ endstream endobj 99 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚmÏ= Â@à‘irçºY“€V þ€)­,ÄJ--mMŽ–£ä–â8“mR,„Þì›d“gãbF)Mid©˜Paélñ†y&ÃT'ÝÉéŠóÍžò ÍZÆhÊ =îÏ šùvAÍ’–Ò#–Kª¸vÜ07·}ý> stream xÚUÌ; Â@à?¤¦ñ™¸ ‰«` A+ ±RK E[7GËQr„”)–Œ³Øh1Ìë/òÉtÎ)—ZEÁyÉ—Œî”Ï´OCç-*2Îgd6:%Smùùx]É,vKÎȬø˜qz¢jÅH€HƒH¤C,â10êã\ÀÖq‡¤ŽEÏÿqRc,ŠS4EB€è¨µH<,l«)®o ÿËðe@ä¡ß®±ú¨)]¢ôšîúX¼í!í¸£uE{ú³/^q endstream endobj 101 0 obj << /Length 212 /Filter /FlateDecode >> stream xÚuϱJÄ@à_R¦ÙGÈ> stream xÚ•Ž1 ÂP †q(d°Gx9¯¥OA ZÁ‚N⤎Š®mÖ£x„ŽÒ˜Á!$!ù¿'3NØ*Φ|IéNYÐ>±Öç-KòÎùNÉ—[~>^WòËÝŠSòSNNT ȈD'Ò i!Š4y;ì‘·ÑGwp{c×ȃjCeè ß s»]Ø—ÊžZž†º.þ"US³“‚9©-­KÚÓ¦IÆ endstream endobj 103 0 obj << /Length 218 /Filter /FlateDecode >> stream xÚeαJA àÿØb Í>Âä Ü]vÏÃjá<Á-­,ÄJ--mo|±é|y§¼bœ˜áÄC®ÈB†þdyÆ-Ÿj /;~ìè…ú•æ¶Ä2xx¦õDÍ-÷+j.µKÍtÅo¯ïOÔ¬¯ÏYó†ï:nïiÚ0Ùýêñs ü’#ŸV¾œH€ˆø…|ˆ¯Ä›œ¯Foý;sŠ+lqÎ…¤à÷Ƕ÷d,²6ª‚ɺY'=alp µ¾Œ+ù–‰Êè%ÐÅD7ôpë endstream endobj 104 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚmŽ= Â@…'X¦Ù#ìœÀMX£XüSZYˆ•ZZ(Úêm’#X¦Œo[±Øf–÷æùa5•B&x#/~,§’¯ì+ÌEÓÇñ³†ÝN|Ån…-»f-÷ÛãÌn¶™KÉn!ûRŠ7 !ÒH”ë›ÈꇨÖ+UÊ4jôdcÞ‘‰æM¦µ-å­@l_ Ϥô"j‰~Ð' f& Ê”Ö74˜.WHÁe °Ê4ù½’©A— où \s`¸ endstream endobj 105 0 obj << /Length 181 /Filter /FlateDecode >> stream xÚuα Â0à+ ·ôzO`RL'¡V0ƒ “ƒ8iGE7±}4¥Ð±C1Þ…:”ün83d3Òdäf”¥tJñ‚F“Žòq> stream xÚmαNÃ0à‹2XºÅà{H¬¦.X*E"L0"‚5)oÖG1o`‰Åƒ©¹saAõð ¾ÿt7;ž/¨%KGvAÝ)ÍNèÁâ v=ÿ¶4ïG÷O¸°YS×csÉÿØ WôöúþˆÍòúœ,6+ºµÔÞá°"à§<€ .L)'¨rfë¢Îù;‰î“õÚGpåŸaF¨Ù]1Píõ¢.š­ä;Á´a?2ÈyWL ǹGõ•9^ÖþÄjoÉó.G¥ò¤8Œ¸2T‰Já‘=ã"b<èXL’á-Ϋ(UM+®eÊýw1•ëÒEK[¼ðÙzA endstream endobj 107 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ}Î1 Â@ЋÀ4Á9IH,¬„Á-­,ÄJ--mÝMoð¦L2ÎL‚ö±vY~ Gc 0äG8 q bÉD9ìŽðׇàÏy ¾Yàå|=€Ÿ,§È9Å ¿Ü‚Iѱ…ËÊ_­êª½ÆâŸ^cÞÖfì“8y/âû>Éß_[;b¥–â Psõ®fm]vÒ¨íº”¾V½i».¥o­VÚ·¥¥Ü[e¤Ú2‡™¼ ¹t6 endstream endobj 108 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcKS#…C®B.cC ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ì ò€øƒ=2>çgÀÿÿg`†àñzÑp=×aÁÿ€ø&fᘘ„?Àqýÿÿþÿÿÿ†A|.WO®@.ïûJÏ endstream endobj 109 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚuɱ 1 €áŠƒÅG0O`¯\opÎì èä Nêè èjûh÷(÷ŽblÂ-ò…?ñå´šaUŸ—Óƒ+”>·$?Ž¨Ø–ì*_Á†5Þo3Øz³ÀÜ î šH1D¯>‘1Cf$t c¡U˜Ia.…È<5¾ÌGa ¼ûD"JLKLü“`` ?:•RŽ endstream endobj 110 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚuÊÁ ‚@`Ń0Áy‚Vq :f‡ N¢SuìPÔY£Ó7|;µÁâ4kuh¾ýçgd4ˆGôOÆ q¤ì^Í·=@’X¡” fÜ‚Èæx>]ö ’ÅC)®C 6¥èh¿[®¦Š —¨¡’}PíOmåwjØŠnì•ÖîØÎÖ¬¶ÕGe·¿rÛºµInùOsá•&yÅ?Í…_˜ä[ßæ*o©&+jIÓÓhò»‡iKx—‚» endstream endobj 111 0 obj << /Length 180 /Filter /FlateDecode >> stream xÚmÊ1 Â@Ð )ÓxçnBVÁJˆÜBÐÊB¬ÔÒBÑÖÍÑ"^doà–)BÆÙÕBÁbÿFåƒáSÌøTŽù÷œ@ùžúêÃî…¹F•œó R/ðr¾@Ë)òZâ†?· KŒ¨6•ˆéA–}’c‰Eî-Û ol¼}´Á:X}±“·"jþ³&x±ûoÂvÁV$öGCÖëˆ* š~‡™†¼êõf endstream endobj 112 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚmŽ1jÃ@E¿p!˜f°s‚¬ÄZ1®d¢"W.B*'e »öh{A¥ ¡É(&E óàÿaøíª-¼Ñ]{öü^Ò™|¥ºXär8}RÝ’;²¯È=©K®}æëåöA®~ÙqI®á×’‹7j$¹ô€•2©%32É« ]Ì„hzØdL²¦úsÇ×_Lÿä_ØÄY£t:wÌjh^Hù;„F´U.Úo%m¥Z”ö-è/LRz endstream endobj 113 0 obj << /Length 230 /Filter /FlateDecode >> stream xÚuνNÃ0ð«:Dº%à{â„:&Km‘È€bj@°’¾y?BFiŽ>@U¥JÖOöÝùîÜò¢¸‘L—²È¯Å9Y^É.çwv™î/·}ãUÉöI\Áö ¶å½|~|½²]=¬%g»‘ç\².7B>š@TÅ*ƒvPU‰<ÜÓL_Ã: ØÑ¼¡y;§3‹ýóÄd4œÑÅ0 ½ã1õ¤iÈï{±•‰˜O¦K[¨lû£5LQB}!ѿՑßgìŽlO­4 b ó¦ûçÛ’ùÜv› endstream endobj 114 0 obj << /Length 179 /Filter /FlateDecode >> stream xÚ}Í1 Â@Ð]R¦Éœ¸‰VBŒà‚Vb¥–ŠÖÉÑö(9BʈÁqvE‹y0ÿ3LªûÃÆ8àI3Ôî8BªyÝêŠírj…©5ã”™ãùtÙƒÊL@¸N0Þ€)PR+IÔFdêÆÞ’jIW¢ZÈE,×Î&´¬ *>¨„`…óîí¼íÛ°ù°þmôÔþ³÷´ú²$j¼üŒ¼åKÎaj` ¿†Uà endstream endobj 115 0 obj << /Length 206 /Filter /FlateDecode >> stream xÚU1jÃ@E¿q!˜foÍ ¼Rd\ l¬Â`W)Bª$eŠ„\v¶Gä)U8ÿM—b3ûàí¼™µK­tÁ™ßk³Ð×Z>¤iyWùÌâå]V½øGmZñ[¾Šïwúõy|¿Ú¯µ¿Ñ§Z«gé7Љ}'8³„Îl€"M !#ÊT ‰pˆp‘›P\‰©`‰~ÀԅƲꌀE¢Œw€KÕ¸r40À€0æïâ‚ß=æO%›òÐËAnªRZA endstream endobj 116 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚuϽ Â@ à”nYúæ ¼Ö«¢ µ‚7:9ˆ“::(ºÖ>šâ#tìP“C…îãòÑKm8¡˜ÆrÒ¥#:&xAk%5ÕÆáŒ™C³%kÑ,¥ŠÆ­èv½ŸÐdë9%hrÚ%ïÑåHD¥ÐëbæfþRú›¯A¡#´JÓAà©;=L•â—Vi„@ …&ª!`®”ÈnOY—õoò .nð îRð endstream endobj 117 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚm̱ Â0àH†À-}„Þ˜–´ŠS¡V0ƒ “ƒ8©£ƒ¢«Í£Å7é#t¬P<“àRt¸ûïŽËÔ8Ÿa‚SW™B5Ác P¹Ë‰~q8C©AnQå —n R¯ðv½Ÿ@–ë9¦ +Ü¥˜ìAWX·œ µÂÑ ²0ã-‹‡FV°_j,{üáÍâ€aý€Ñ—ÂðÞÿé\wî¸v‘ðpzQÃèI6ð&‹]+ endstream endobj 118 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚ=Ë=‚@à!$Óxæ.dÑ@ bâ&ZY+µ´Ðh‡Á£qް%gù+æËÌ›¼@.Wyò!É5Ý||¢4™gNó¸>0U(N$#;NQ¨=½_Ÿ;Šô°!EFgŸ¼ ªŒŠÖêš®³Ú~ë3§˜œ ⻂|¦ž°4Øš±4#\YüÀª¨]˜ˆgr¦1äõÄWOÕLÉ$ÓÇ­Â#þbVO˜ endstream endobj 119 0 obj << /Length 224 /Filter /FlateDecode >> stream xÚMαŠÂ@à )„iòBæÎÍâ´‰ày` A«++µ¼âŽ®ˆè£åQò)·®;»Áló±ü3ìüj:™-(#IorNjNÓœNPå6Íh¦úÑñW%ŠOR9ŠÍQ”[úû½œQ¬vï$Q¬éKRvÀrM`ºØèÈ> stream xÚuÏ1nƒ@Ð(VšfÀ\À^Ù’¥PXJªQ*;eŠDv m²G tØ Æ.’æ­4#ý¿J—Ù†c^ó"áUÆÙŸú¦4—aÌY:mŽ_´­È¼qš“y–1™êÀçŸË'™íËŽ2%¿'PU2µ|„þ (ßÚ2w(Ú¦E-zD6¸BÛðFå”{ íDØIÚ3ê?¯”ûmgDíŒj #’× Arf#érµÑNN,t']´÷cÉá^Þal о¢Wúqái7 endstream endobj 121 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚeÊ1Â0 PW"y€#Ô' MKU˜J‘È€CÅŒ X)GëQz„Ž U‚ƒ€ Ïòÿö8eSŠIÅ<Ò e ž1ÉÉ5ß—ý rKIŽrÉ5J½¢ëåvDY¬ç¤P–T)Šw¨K@ô1c5³ ™0|2 GÂÞAô¼w=ÿý œ§/t:ŸpZßÐi|‘óø©­m¬µí—˸иÁI Pt endstream endobj 122 0 obj << /Length 224 /Filter /FlateDecode >> stream xÚuϱnÂ0à‹2Xº%{â˜D,Q*5C%˜ªNÀÈ@Õ®uÍâGˆÔÅC”ë™vaˆ‡O§³ìûoQÏšGªhI† 5†N¯X¯¤YQ3ÿ»9^pÓ¢>P½Bý"mÔí+}~|QovOdPoéÍPõŽí–À2GpÌÃ=¾AΘ&ÈnÄ òè<ä?ÜCžþÆ Þuj„Ò«…W=AP!÷BzÙO²P½ÿSÜðBé%­í$”ë¤bpR«l°J–,³Laî ã´œ•øÜâ¼p. endstream endobj 126 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚmÉ=‚` à’.žÀ߉1‘ÁD'㤎]…Ä‹‘8p n #¡~ $(}úö­ëL<ŸL²å¸6y6í-<¡Óvf{¶ÝÃÅšÅ\¶(â]Î׊p9% ED‹Ì-Æ4 ð•Óžgö&ëÉ{ô¼øâ!1îå¥qƒú?µ\ÀÜ P˜ùCÁµ#ýA“dZz–4Àu ×,iºÔu8‹q…/ÂaoM endstream endobj 127 0 obj << /Length 218 /Filter /FlateDecode >> stream xÚÏ1NÃ@й°4¹¬—QY AÂTˆ (‘A‹ÃÍrÁå 3AzšWÌJÿ_¤ãæ”kN|y¹9á‡H/”–v¬¹Iû—û'Zun8-)\Ø™BwÉo¯ïVWg)¬ù6r}GÝšÅ3J•~ ZýôªýT™Mè¥Øa.åˆÊ)¥œ- ™oö̤Å/½ó`t™œÝÿ˜þRôø27ÈäVÖ¯½ifðöƒíh·¾hãÛ`+-·Rû¡ÔÑÒìNç]Ódvg9 endstream endobj 128 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bSC…C®B.cs ÌI$çr9yré‡+›sé{E¹ô=}JŠJS¹ôœ€|…hCƒX.O…úÿÿ0üÿÿÿˆø"þ3Åþ70`øH؃þ@‚ýŒ`?€#^¬„ùŠ^°Q`Cƃ-YÉ ²œä fƒ€² Ô$êÿ700€ F"Àb\®ž\\æ„wN endstream endobj 129 0 obj << /Length 197 /Filter /FlateDecode >> stream xڕСÂ0à›jrfÐ{Ø::"#a‚‚ ‰€€îÞ e0‰XvtmC‚ùÄßöîOõh˜Ž)¦„Š´¦TÑ^á µ²aLiâOvGÌ ŒÖ¤FscT,èr¾0Ê–S²iNûf‹EN†`æÒY9†»Q‰¶3p‚qNÊNÙ3¼ÿ¶ßO0ïÉn‹ßè¶ ×ÄZ¿’J4½&}þ5tÊò›¦y+™A²ý ½-ؼ+Ô€³Wø2>z endstream endobj 130 0 obj << /Length 236 /Filter /FlateDecode >> stream xÚu1NÄ@ E½Ú"’›a|˜„$ÕHË"‘ * D”H»$*â£å\!GØ2HQÌw€‰æÉãÿmÿ©«ãæT ©å¨”ºæDJÞsÕ ‰gõ­Ü?ñ¦åx#UÃñmŽí¥¼<¿>rÜ\IÉq+·¥wÜn…˜™åº2ûÐÌÌ4w„C0Mý€¤LúNÔéL”túAø ¨9ÁçÒ„Éa=tC¹6”8y€ÇF¢Ì›Ôa¥OÚ2éý/òaÁ<Ãô&ÄØùE>oùš¿åxv endstream endobj 131 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚmÌ= Â@à Óx„¸ ‰‚Õ‚?` A+ ±RK E[“›™£ä)S,;Îh%Xìûfæùh<¥” }å:exÅ\³T¿:8^pV¢ÝQ>E»’m¹¦ûíqF;ÛÌ)C» }FéËEÜ$ s­´àXBט^H”ȃ©ÁÃ@ž?|be¨®ŸàzY©E—ƒâÿðTZ_Õq×-`öRÅ!a~…ˆƒ„®K<.KÜâj/\ endstream endobj 132 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚŽ= Â@…g°¦ñ™˜„Ä"•#¸… •…X©¥…¢­ÉÑr”aË€!ãN;±˜æï½GÓY‡®âg!ŸBºR¤³@[]/”òw%ä¯Ü”|³æûíq&?Ý,ØõïÝåLƹ©¿+ðx•ƒ“À—´€"Ò¡@±y‰Rx Œ-¶0ª±éþ~Ð*ž?¢uîmÖ½rç!0±ƒe¥æ] ÔEÓ`ç%ÐÒЖÞ*Åsz endstream endobj 133 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚŽ1 Â@E¿¤¦Ik—9›°° Än!he!Vji¡h›äh%G°L2ΦÐÖ…}ðgÙ?of§óÇœêÅlS>'t#k5Ñ?œ®”;2{¶–ÌZ§d܆÷ç…L¾]rB¦àCÂñ‘\Á¤"iJzŒDˆÆ=á[5/”ÈjLAOåQ~Ñý‰ß¡@«B_ÕZ¯h4èÊJ—â5¡Î«µ^RMuZ9ÚѲuEJ endstream endobj 134 0 obj << /Length 193 /Filter /FlateDecode >> stream xڕα‚@ à’.<} L— &Þ`¢“ƒqRG®â›á£øŒ—;[pqÓᾤ½´ý 5)+ÊHñ+•9ís<¡’^&¥|ìŽXLפ*LçÜÅÔ,èr¾0­—S⺡MNÙMC±€Ä  ÿ$z1Ú1Þwxï!"Ëûâ>ô<æôZ™iá&³N°?â>cíH ãRa¸ÊÉHŽ'c Ë:ÇÑ´m™¸O,Î ®ð —ºYK endstream endobj 135 0 obj << /Length 201 /Filter /FlateDecode >> stream xÚmޱŠÂPEï’âÁ4ù„ÌìKˆ¬® ›BÐÊB¬Ôr‹mM>í}ÊûËâì}VÌ™;ܹ“ú³™i©“Ô¥ÖS=Tò'uÃù9&aÿ+óNüFëFü·â»¥žO—£øùêK+ñ ÝVZî¤[(²€ÂÐÛ f#2³;܃J>ÂPD´Cˆv@Z }•ˆ„‹÷c½C  ¤7¸¾Ð'Ð* 4u‘ö.æ7ú¹mp Ìb2ræcÀòÝÉZþI÷_þ endstream endobj 136 0 obj << /Length 171 /Filter /FlateDecode >> stream xÚ½Š= Â@…·[˜&GÈ\@7!Q°1#¸… •…X©¥…¢õ^,7ðæ[n±ì8šÎȃ÷WÃÑ3ä‚r„Å9œAl&’ø]ö'¨-˜\À,¤c—x½ÜŽ`êÕ s0 nå¹Û =œî=Cê¿bq䙣Ò1 S¥e¬”ö‰K•vI'ì’ö‡mrÿ/)Tžòì8R`ßû¾‡¹…5¼ízfÊ endstream endobj 137 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚ}Ž=‚@…‡XLÃvNàBL¬H·0ÑÊÂX©¥…F[Ù£íQ8¥…a†‚Îb^2ï}¹™KJ)*%³ K†w4÷Ò‹ó +‹ú@¦@½á)j»¥çãuE]íV”¡®é˜QzB[Ä_P¥ ¢:˜…ðá9o’.êAµ@9(¡dq%Ÿ»7@â'a¸ý/=ßµÓGÃ.^¬ÄTyhÆ ‰”pÁ A!\\[Üã>P: endstream endobj 138 0 obj << /Length 200 /Filter /FlateDecode >> stream xÚ¥= Â@…g°¦ñ™ èfI"¦üSZYˆ•ZZ(ښͣä[.(w“€–‚S|Åæ½7q4HRYs_8Ö ù éL‘WCNâvµ?Ñ$#µá(%µp:©lÉ×ËíHj²š²&5ã­æpGÙŒs” V,ÈS*7;(& A‰]ƒt,¾à -À•ÇýGTÎÀµ@Û8×=ÓF–>¼®á ¡¯†¾$Úñ¼Ë_È¥÷ªùF­Ñ<£5½Þ¯ì endstream endobj 139 0 obj << /Length 158 /Filter /FlateDecode >> stream xÚ­É1 Â@ПJø—ðŸÀÝu£Äj!Fp A+ ±RKAEëõh9J¼AÊÁqc!Ú[̃™Ií`4-ØԈËÞð™m»îjw쎜{Vk±«y\Yù…\/·«|9ê½e_Hx’+5ÐCôÑ8´äÂ#‚$ÒRC®¡¹šˆ\õ¡ì¸ÿBÿ"¨¿xo<ó¼âõõIw endstream endobj 140 0 obj << /Length 185 /Filter /FlateDecode >> stream xÚMË1 Â@ЋÀ4!s7q5Æ@T0… •…X©¥EÁÊÍÑrr‹ñ,,Þ2³óÿÔŽg©D’€MÅ&rŽùÆv‚=ê×þpºr^°Ù‹°Yã—M±‘Çýya“o³YÊ!–èÈÅRÈùr¨êGB®ù7 }Kïÿ´D#"×eZS¨¡W¡ÿ!§ˆ("P÷B Ca÷£}­¢9ª6A«ª=> stream xÚ31Ö3µT0P0bc 3…C®B.cS ßÄI$çr9yré‡+›ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ä€Àž¢þÿÿÿ @ü¿A€ÅH2…‚ù`€hàÀ ß €AþAý~ [@óÿ Œÿ€LxÀÀåêÉÈþ:B„ endstream endobj 142 0 obj << /Length 148 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcc3…C®B.ßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.O…úÌÿþÿ`ÿ…¬ÿÁ $0ð()DÚÉ? õþÜÆðêdƒ=˜”ÿH2ÿcÿÏÀåêÉÈÄ£d> endstream endobj 143 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ5Í= Â0ÀñW:oéúN`ú¥ÐÅB­`A'qRGE7©…^Ì­×è êØ¡4¾Ø”É? ‰Âé,&žQ@áœÎ>Þ0ÔÍÓ[}pºb*Qì)ŒQ¬¹¢zÜŸévI>ŠŒ>yG”½•¥:ÅôJ•^ý›]ƒS |Á-,ZHZX:È^<rœ[CÂ×Á准’qÊz¤b&Õg¤aì¦QŒ¥À½†¿À•Äþ$›Lã endstream endobj 147 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ1 Â@E°L¡70sÝì ’@°ˆÜBÐÊB„€ZZ( 9ZŽ’#XZ:IV›t«þ 3ïOÌØÄrÄ#²‰xjø¨éBºN%7nt8SjImYǤ–’“²+¾]ï'RézΚTÆ;ÍážlÆ@TðJô ø@ ðhxÁ«jze/¨ š]aöåÙáýÝ;¿íÇÎAdDÉ/ak+ÚÎ?i¶¥”T“‚RSÊ"§…¥ }G«@ endstream endobj 148 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚ1 Â@E¿¤L/ :ÐÍ®A"ˆEŒà‚Vb¥–‚Š‚…EŽ–£äÁÍ$±ÐNxÕÌgæý¡˜1‡qß„l">hº.§!Ǧ^íO”XRÖcR 7'e—|»Þ¤’ÕŒ5©”·šÃÙ”s Î@ t€h~//i¹ÝKxO`L®Ð“tIVãçßxÅ?üÞù¼¨>ö‡©(=C±uÚ•¿/ñ@ªÅRÓr•iniMoEËBs endstream endobj 149 0 obj << /Length 104 /Filter /FlateDecode >> stream xÚ32Ö30W0P0WÐ52T02R03RH1ä*ä24Š(XC¥’s¹œ<¹ôà M¸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿüÿó‡a0C ¹\=¹¹¶ h endstream endobj 150 0 obj << /Length 102 /Filter /FlateDecode >> stream xÚÍŽ;@PÕggÜwAí“x…„J!*” Âî%>‰EÈt3ÍØ00 •¾UjÌØrR¬Ð豆iø¥qAæ 5‚T‡¸šûv̬ɩ‚½Ò p¯ó:½_ó¢thq_þh endstream endobj 151 0 obj << /Length 109 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCs3…C®B.K ×ĉ'çr9yré‡+Xré{¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]dêþ7 ÂzlÐ+”Á Ѫ-õ@>—«'W Êî/ä endstream endobj 152 0 obj << /Length 131 /Filter /FlateDecode >> stream xÚ-É1 Â@EÑ?^á ¦xЙ‰‰mŒà‚V"ÑRPÑ:³´Ù™&Nwo¾\ø’ž%红V\ó¦xA=y1žö:À¨n×w¸°ççý½ÃÕ‡ ®áYé/ ­tò‹½4è’M22ÉD³˜ÉT&2+•<å*ØñBÛ#´ endstream endobj 153 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCsK…C®B.K Ïȉ&çr9yré‡+Xré{€O_…’¢ÒT.}§gC.}…hCƒX.O†z†ÿ 0XÏ ÃÀåêÉÈ[\w endstream endobj 154 0 obj << /Length 153 /Filter /FlateDecode >> stream xڅ̽AÅñ ɉ¨ŠóÌ—eëµSH¨"‘ ” ôÍ£xw³ÓN¦ø5çæþgvZ8œ8K¿àÜñbñ€·²–>žÎ7TzOo¡×²C‡ _Ï÷ºÚ.)k̓<j*¥zÑP ¢±‰R˜è.NÑO|[ƧÕmÈÜÏdSéL6•Îeé\6•NdV;üxÔ*Æ endstream endobj 155 0 obj << /Length 101 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCsc3…C®B.K ×ĉ'çr9yré‡+Xré{¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]dêþ7À`=ƒ 1S—«'W fp"¸ endstream endobj 156 0 obj << /Length 140 /Filter /FlateDecode >> stream xÚ32Ö30W0P0WÐ54S0´P06SH1ä*ä24PAS#¨Tr.—“'—~¸‚¡—¾PœKßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEA†¡žá Ö3È0຀`ý™ PÈx€±±¹™¨Ò‚¡€!ËÕ“+ &,• endstream endobj 157 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ33Ñ3µP0P0U04T03P06TH1ä*ä25 (Ae’s¹œ<¹ôÃLM¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. õÿAà˜üÿ‡Îj-Ô\®ž\\~,Ü endstream endobj 158 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚMÉ=@PEáþ®â®À¼™x¨ý$^!¡Rˆ ¥‚°{ äTß±4J2:*5¡Å4嬨`ö¢£ÿÆ´"žfšû¹@ò¶ BJJ7"”¼ï몀Ði ‹ endstream endobj 159 0 obj << /Length 90 /Filter /FlateDecode >> stream xÚ31Ô35R0B#C##c…C®B.Cˆ D"9—ËÉ“K?\ÁÄKßCÁˆKßÓW¡¤¨4•Kß)ÀY(è¢ ÔËåé¢ð $—«'W Rˆ endstream endobj 160 0 obj << /Length 351 /Filter /FlateDecode >> stream xÚ5‘ÁJÄ0Eo Xb·6? í ¶Vf`T° AW.DÔ¥ ¢àbÀúeü‘|B—]Æw“6‹Hšóî{-Oæ&7…9,Lylʹyšé7]Tr˜›ò$Ü<¾èu­³[ST:»”cÕWæãýóYgëë33ÓÙ¹¹›™ü^×çÈz@´%[Ä µH~, „p@ìp€/ ±Xb¤VöðÝÈó}§äí“íöòÕ$í—@‡)…»@?° ½§éc˜ŒlSŸT¤_2øz>:)zÉSQ/w9õ’÷•zæ§žýPÏþ¨g¿ÔS@=×Ê "mÃÍ¢"{tSøí_¶‘Û‡£\L:eÍR@5Rl#² L7‘¥^ Zê7û] gOª‘.P²y&#›àMYYê¬.IÅŸ«gÂØÏž¹ýp¤?éËGúTl]úfbÖÒµ¾Ñÿ&¨† endstream endobj 161 0 obj << /Length 172 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bSK…C®B.# ßÄI$çr9yré‡+˜qé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ø0Aý? Áøƒ½ýãù† ö@CÿùA2þ€’@5@’±D‚!™dþÀðPI¸ùÌCdþÃÀþƒ¡þÿƒÿÿ “\®ž\\^åˆÓ endstream endobj 162 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚ3±Ð31Q0P0bScSK…C®B.SßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.Oþ êÿ³ÿg``üÁ~¿ùûÆÿüäØÿÉ?`°gàÿ¤êàÔ õN}`o`üÁÀþ¤›™ÚÔøFÑ¢¢˜ÿ0°ÿÿƒÿÿ? Q\®ž\\à  endstream endobj 163 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚåѱŠÂ@à?¤X˜f!ó·FHÄJð"˜BÐÊâ¸J--îÐÖ|1}_aaËÁu=ÎÒÎe¿Ùýg›Mû]îp,+íqÒçeL?”&Òwš¶¹X¬i˜“™sšË)™|›ßíŠÌpúÉ1™Œ¿$ùMyÆ€vˆ¤Š3|-{Pé½ÓeƒÓ!,¨„GpPghÁºFdPCWTíÓ-”k¦¡Cˆðj( ­g¸f"{¿!ªý—Â[ïÞ—ÿA£œftàùËC endstream endobj 164 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚmÐÁj1à é^=;OÐd-‘õ$¨…îAhO=”‚ÐöX¨ÒÞ„Í£í£ø{ô°˜N"¸Q6>fB&?™Nî'izàmf4Õô™ãáZûÒ||ã¢DõJÆ zâ.ªrM¿»¿/T‹ç%å¨Vô–“~ÇrEP@X×ìû8õ \²²IU{ó˜»ùÁ3ÌbÆYã¥1Ezôè$æ'i=SË©†LÂB„p6Pu Ž–8ç:R†£ ²Ž÷›[4ß9Þ²áéí…ÃŽ&ÎÈ&üZÚú'­ãXήÁÇ_ð%°m¼ endstream endobj 165 0 obj << /Length 260 /Filter /FlateDecode >> stream xڭѱJÄ@à? LaZ áæ4‰Üª[-œ'˜BÐÊB¬ÔRPÑÖÌ›ø*¾‰yË+Äuv²g!–Bà#“ÍÌî¿ÎïúnÙñÎ;ÇÎóMG4÷Zly¿›¾\ßÑ¢§æ‚çžš-SÓŸòÓãó-5‹³#Ö÷%_vÜ^Q¿d ˆRPDZT†¸R´öR ÊOÔµ þ@ù*˜(ÞAWEÁ],øR‚º˜IµRê5ú7P­Ñ&?”2oÆ(~#FLØàgÈü5=dF#ïzv¢L;mf–Ä&,—mXJ[°Ìa Þ#å }Rº:%e-vÁvS½•Ô=U:î霾šes– endstream endobj 166 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ33Ö31V0PaS Ss…C®B.S ßÄI$çr9yré‡+˜špé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁõBýc``üßD@.ƒý0ÅÿL1ÿSŒÀÃ?UBÙ7@¨`JJ=SüPêŠýê (<ö¡9ÅñP¯@=ómrüC%h˜ACž  !@ y`> stream xÚ35Ñ3R0P0bSCSs…C®B.s ßÄI$çr9yré‡+˜˜sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þƒÀd’ñƒü†ÿ Œ`’ᘬ“6`R‰äÁAòI68ÉØ€L2`%™‘Hv0)"ÿÿG'!âP5Ⱥ‰ A€J$ãÿ `G@%¹\=¹¹Mÿx× endstream endobj 168 0 obj << /Length 254 /Filter /FlateDecode >> stream xڭѱJÄ@à?l˜&yM"&`µpž` A+ ±:--­7`ákMgé+ä ¼òŠãÖÙÍ& XšæKf’Íì¿]{Üt\ó)p×p{Æ =SŠu¨ÄÎæ‰V=U·ÜvT]j™ªþŠ__Þ©Z]Ÿ³>¯ù®áúžú5ð(ü6S¬ßü`À쑊-Ì— oÕ¶¸áÖë¥d‡ˆ¾¯ I¾Sòý03a‘™LlB".€¿Ñ!1ÍúOx½&ÂpcÄJÂ&ÆHù‹¸£…¸Û…˜„rI)¥ÌÜ” _ò,v0Ÿšõù{lØtéT–‰é¢§úî”Û endstream endobj 169 0 obj << /Length 125 /Filter /FlateDecode >> stream xÚ33Ò3²P0P0bSKSs…C®B.SS ßÄI$çr9yré‡+˜šré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÏøÿÿ?TŠñó bü78) À¤¯s‘)hèb y.WO®@.!»¥7 endstream endobj 170 0 obj << /Length 106 /Filter /FlateDecode >> stream xÚ3²Ô³´T0P0aKSs…C®B.#3 ßÄI$çr9yré‡+™qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿ†€ˆ¡¾aècWüÅåêÉÈ3v\‚ endstream endobj 171 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚ]ÑÍJÃ@ðYrÌ¡¾@ û&A[sjsìɃxj= QôjöÑò(y„=HÇíÌÿДeöDzÌÌ~,¯/•/üUŒeé7~_òG‹8"ÇÝ;¯Οãšó›GÿõùýÆùúéΗœoüKé‹Wn6^DÈÅ8×I êF"!¢:˜+2oa[8˜®7“`¦dÎ`+ØÂÁÔôhLM‹fp ˜&byiguf0«­~5Õ¿jŸþ©RrÀyd* îÕõSkÜ_ Ÿ¨ NÔÇ÷9LÕxoéá ÿádÔÿ™‹„sù¾á-ÿ5Š•P endstream endobj 172 0 obj << /Length 140 /Filter /FlateDecode >> stream xÚ35Ô³T0P0bKSs…C®B.S ßÄI$çr9yré‡+˜˜ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÿ€™dü€þ3 eR/i& 0È ò‚d“Ì`’LÊ?`üßÀðÿÁ@!¹\=¹¹Afl÷ endstream endobj 173 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚuÑ?kÂPð{<0p² Þ'ð%œÿ€ ur(Ávt°ÔÙ€«ê•]ÝÌGÈè|½¨X#yîøÝ=8. [~›< 8¢€:½û¸Ä°ËµW”ÅÇ|ýÕ”Â.ª1wQÅÏôõ¹ú@ÕjH¯>yoÉà瘣1 ýƒ¸ 8hFãx‡]Ê*ñ›1æ•øá8§¾yºØTBŸ¤,a P³ —À“M õ2Ü< œ fepÒˆ\$ÀIÂÖ5+zÛG4÷V¸Y5D NZ@fWðí¤'c´ÔÒÇýoÊÀQŒü¦Â! endstream endobj 174 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚUпJÄ@ð/.0…ûfŸÀMNÖ?óSge!Vji¡hkRù\AKÁTÖ©$EØuwöŠM1üøf`Šï`¹·<’…Üw£¥>”w%=’Ö.>úÃí­jRWRkRçnKª¾ÏO/÷¤V›SY’ZËëR7T¯¥µ@fµm óÀ¦‡í¼ÅÏ0 à{d¾¦˜üۘÎ=õ4]LÕ3ùȦ€aÒ@b·´liº@ÏT|`Ä“MLjbËÀ¾Å4ŸLõ“ÿ1ÂÄdtFÀœW$®Gœ á*Ã.|ר™±ÕtIÿ6D†c endstream endobj 175 0 obj << /Length 239 /Filter /FlateDecode >> stream xÚ­‘±‚0†Ï8˜ÜÂ#ô^@D'ÔDŒ“::htGáxWÚœmš~éÝßöú_LÂyÒxJsNgoô(ò»ÌéŠIŠîžÂÝ5‡ÑM7ô¸?/è&Ûñ~IŸ¼#¦K¶ Cµ¥ Ô¼*x1F%¨À)dBœÃè ñ‘Š…¬ªA«ÑŸ8çEÅjGîU…Ò(ßNk¼ûÈ4ª,— ~ÐjÔ…}Á<ÛC¿2[|Žþfa?­-ÈÖžÆ3ë ñ“­oŒ×œÈ¾}°]Ñ=ÂUŠ;ü”K‰É endstream endobj 176 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚ35Ó35T0P0bS#Ss…C®B.K ßÄI$çr9yré‡+˜Xré{E¹ô=}JŠJS¹ôœ ¹ô]¢ÆÄryº(ü‚ ê„úÏÀÀø¿,ÊÀ ÿLñSÌ? Ô0Åø™adªT Y;ªÑPû ¶CÝuP7ÈÙÿÀÔˆ ƒ™….ĵ˜—«'W ŽK€¿ endstream endobj 177 0 obj << /Length 221 /Filter /FlateDecode >> stream xڕѽ Â0ð–‚ì#x/ i*Uœ ~€ÄIí£ù(}„ŽJãÙK Í"&…äHrÿt¢F*ÄÇ8 q¢0šâYÁ È€f4ãÊé óäžê ×´ 2Ùàãþ¼€œo¨@.ñ 08B²D­uåÐ uf,HW§‚ ô¥lüfëç¬(ºz¥eõ§Ö~ûüæÞ¦Øô§¹_Qš@™ñÍëõ6Ò+L®6ŸñeålóZ¹šÿ«›v,X¿ÕKéP~ï‡ÞEÔºe¯Ö©úN=â’¹«vð™<›Â endstream endobj 178 0 obj << /Length 256 /Filter /FlateDecode >> stream xÚUϱNÄ0 à¿Ê)K¡~h{=îÄB¤ãè€Ó ˆ @°!ZÞ̉èF%Psw ²|Jì8¶ç‹Ãª¦’æt0£ùŒŽŽé®r®^j°¤EµËÜ>¸U㊠ÕKWœkØÍ=?½Ü»buyJz_ÓuEåkÖ?€ÆŒ!òÎf°l#>Ù3ZÎ;@Î'€ç7Àîx ïÉ&Œ&È–Nm9ƒR0—!¡G/aEïFD+E$½ÑŒµ²MX‰¿„^É>a‡-úÆü‘Mˆÿèû=¦×:upÇ´–¤-µiÞ}õèGŒˆA§Š^{s¦ywÖ¸+÷=Ÿ†# endstream endobj 179 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ3µÔ³4W0P0bSsJ1ä*ä2ñÁ" Fr.—“'—~¸‚©1—¾P”KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEÁþ?<@£0ÿg`ÇÀøùA ˆbüP¢>€©T*L`¥€)‹`J+ŦF Åþ¿Hʃ‚ârõä äWÎr° endstream endobj 180 0 obj << /Length 240 /Filter /FlateDecode >> stream xÚmÐ1jÃ0Æñg1> stream xÚuÑ1KÄ0àW „ãºv8ÈûÚôÎb ç vtrá@ÿ…?'â)ΤC¹ø’£âMHøH^ÂK^Yì/Pá÷æX.°8ÄÛ\<ˆR¡ëÅÑvçæ^,k‘]b©DvJË"«ÏðéñùNdËócÌE¶Â«Õµ¨WhíÀ­í"kÿ·ä@öŒæ¤àmDâ$f~¤#; Hl ¿¥½8@£ÁŠwdFUšì¨%[pù¤^q(é`J7)¯Iˆ’›ÑMk¯T¢äRÙñRI JN%}¤½Ö<=“Dt2l¥IÜ©yÑÑ&ôFš:Uï; ôAš9ÉOŠ} ô5*¡¿­ºÿÄÿ‰°­ ÄœŒE'"'íEÑ<´¾¦®_g'µ¸ßÑÆ©Ñ endstream endobj 182 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚÍαJAàYÈÁL›"y÷.p1©b¯L•BAS¦P´Î=’p²2EÈ8»n@ô,†ofgÙ§“ËÉŒK®´¦×WüRÑ+ÕsË8ÆÅó– ¹5×sr·zJ®¹ã÷· ¹Åý5Wä–ü 7©Y²È ð~k%…öÒvìT²Z^{ÓcÝÙ³ ÷ÃâôU«o²CÕ0Ë–*¤ÅSTB¶‹ú`ζÑñÞ&‡í%‹ãE¶Ÿ´§QÒÈ0›b4è3¾Ýe}÷¿Íÿô"Ý_馡}Èl® endstream endobj 183 0 obj << /Length 204 /Filter /FlateDecode >> stream xÚmÌ; Â@à . ´Vf. ›´1àL!he!Vji¡(X›£å({„”Á8ë£—åø‡ùÝéÅQ—Úš’˜º}Úi<"ÏÈŃ÷f{ÀQ†jÅ{T3ŽQes:Ÿ.{T£Å˜4ª ­5EÌ&¡€º6äü¥…°%/_x÷/PAP02gøýÁ0Ò¦–yp&îî¬dBw›:Œ+0ðÁüâ}¨AT¾yóMÞ6Ó¢5lö–¢.Ë5²Ài†K|¤øT£ endstream endobj 184 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ31Ó34V0P0RÐ5T01V0µPH1ä*ä21PASKˆLr.—“'—~¸‚‰—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEùÃT‚D0S$ê00|`ÇÀü¹A¾ù;ÿæ ì˜ÿå˜00þ* àÄ?8Q"êI&êPMÊøbÛ½`Ëßœq ä ã ò Ìê˜þÿ:]þ—«'W ÈckA endstream endobj 185 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚÎA ‚`à'?( ‘œ ”ýüºÌ A­ZD«jXÔ.Ì£yàÒ…Tcu€ßæ 7f: 5ÙðP³™° ø éL¦ %¿—ý‰â”ü MþBbòÓ%_/·#ùñjÆ’&¼•ÎŽÒ„¡ZÀ{ÈUe5ÈTÆ©¬Ö-Õ‡W¨6êÀj@-ÐÉÅóOù¯Ó‰;*`{ú^‰ž[bàTd7“ý w§”§ÍSZÓ»= endstream endobj 186 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ31Ó34V0P0VÐ5T01Q0µPH1ä*ä21PASKˆLr.—“'—~¸‚‰—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEÿó‚ÁþT‚zó !ÿHÔ±÷`øÁøþó†ú쀶¤ „|P±=˜i«‡u âÉDª)öph‘<„ÚkrF=ÈAï?0þ`<ÿŸ¡†½ÿ?ƒü?þÿ ì@‡s¹zrroXhI endstream endobj 187 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ]Î1 Â@Ð\˜B/ 8ÐM²(ÚЦ´²+µT´“èÑr”!åbI qáÁ23ü;èö9änÀ¶ÏvÈû€ÎdC)úlGUgw¤IBfÍ6$3—2™dÁ×Ëí@f²œr@&æm)‰Ú¸·2Ï©\^¡sϵ2¸Î÷¯HÅøQ‰RñþQÖOþø—Ö5ÉQÑJrµìhè M£íÂá„TårL¼@³„Vô½£@ endstream endobj 188 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ32Õ36W0P0bcSK…C®B.# ÌI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ê˜ÿ70ð|À ßþ€ÁžÿCÿ`ÆÌ00ŠÿÿÿÇäè§3ÿa`¨ÿÿ޹\=¹¹¢&[ endstream endobj 189 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚ¿J1Æ¿00…ñ v^@³9ïäŠÃ…ó·´²+µT´[¸}´> stream xÚ31Ó34V0P0bS …C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Ì€à?É&™iN‚ìaþ`ÿD~°’È700nà?ÀÀüDþ“ØÀÈä‡$Ù€‚ëÿÿƒÿÿ7 “\®ž\\y endstream endobj 191 0 obj << /Length 122 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aCS3…C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜ø0È@A@ 8~Àüá? ±q©ŽØ0üÿ‚¸\=¹¹(CE` endstream endobj 192 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ32Õ36W0PÐ5QÐ54W0´P05SH1ä*ä22 (˜Ãä’s¹œ<¹ôÃŒ ¹ô=€\úž¾ %E¥©\úNÎ @Q…h ®X.OÆ ìø   P?`üÁð†Ø€¸ôE6Œ?êügüðŸ‚üc?PÃ~À†Ÿÿó.WO®@.ÿ§Wõ endstream endobj 193 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚµÍ1 Â@Еir3'p.#˜BÐÊB¬ÔRPQ°ÍÑr±0EÈ:? êdÙ³3ó7èuÂ.{Œô¸òʧãH‰ÆrCqJzÆGz$¯¤Ó1öÇ5éx2`ŸtÂsŸ½¥ […RÊüâë?´LõºæÝ3Ø‚ærÁÊkm‚¨„;xÔÂ3êH†Kv¤Ø@%¯â.êýoÔ nn—**ŒÉù@Ô¦ôDr endstream endobj 194 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aCS …C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜?0ü‡!þ ̃±ÿ`øÿÿq¹zrrÆ‚Q. endstream endobj 195 0 obj << /Length 177 /Filter /FlateDecode >> stream xÚ3³Ô3R0Pa3scs…C®B.3 ßÄI$çr9yré‡+˜™pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜?ð`Àðÿƒý†ú@úƒ=ãƒ:†ÿÈ77Ø3ðnà?Î ßÀüÿˆþÇÀDÿa`ÿÁÀNÿ``ÿ€þÀÀþ`Ð O€âÿÿƒÿÿ7ÿÿNs¹zrr#߈ endstream endobj 196 0 obj << /Length 147 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bcs…C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Ìø?00üÿ`ÿD~°’È70ðnà?ÀÀüDþ“ØÀÈä‡$Ù0½ñÿÿÁÿÿI.WO®@.‡e% endstream endobj 197 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚŽ1‚@E¿¡ ™†#0Ðeƒ6 &na¢•…±RK v9Gá”Tâd)H¬ÌN^fþîþù‘žÌ¦ð”Çš£€Ã9Ÿ5Ý(ŒE”qÑßœ®”R{cRk‘I™ ?îÏ ©l»dM*çƒæàH&g8^W‰S­œQƒdHàVðá•R¾ ò!J*¨- Ài~ nNû/†ooñkg»Íîõ$AéÖHåŠ> éáwlzZÚÑIKÚ endstream endobj 198 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚα Â@ àH†B¡y½ž­uj;:9ˆ“::(ºÚ>Z¥p"ØŠç]qÐQ |CB’?Šû2ä€Ü“1G!‡#ÞI:R°«aøm”d$V$f¶O"›óùtÙ“H–$R^K6”¥ŒÊ¯À¨\ƒ¹UW0÷Â/¼º%>Á«°T¨5*è´4hy~“ÿÌ÷ö²¥ý¦Ýß> stream xÚ31Ö³0R0P0VÐ54S01Q06WH1ä*ä21PASc¨Tr.—“'—~¸‚‰—¾PœKßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEùÃùŒêØ0üa<|€ùÃãìÊð?`0?À€Áþ€> stream xÚ36Ò35R0PacCcs…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ØÈ3üPàÿÃÇþ?nÿÀÿœýó3 ~Äo˜0ÿah`þÁÀ€‚?P³Íüÿÿs¹zrrjÙF„ endstream endobj 201 0 obj << /Length 195 /Filter /FlateDecode >> stream xÚ=αJÄ@à¶X˜fßÀÌ x{›`TñSwÕ‡•Z * Wî£í£ÄÊ6`“"8Î%GŠ™ùÿfŠ|q~ÆK.ø4p¡ó‚½R^j¨çåÔ<> stream xÚ36Ò3²T0P0TÐ5T0²P05TH1ä*ä22 (˜Ad’s¹œ<¹ôÌ̸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž.  Ø W á Œ@Ì Äì@,ÿÿ?Ã(f„ÊQ „þ0‚pC sC3ƒ=;ÿ?°f.WO®@.uH– endstream endobj 203 0 obj << /Length 153 /Filter /FlateDecode >> stream xÚ31Ó34V0P0RÐ5T01Q06WH1ä*ä21 ([@d’s¹œ<¹ôÃL ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.Oæ ìþ`üJò`À‘p’ƒºBþ`°ÀÀðƒ¡üÆçÿì™Iùÿí@’ùÐ.WO®@.1c endstream endobj 204 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚU̱ ‚PÆñ#‘k[çêªWJ'Á rjjˆ ¨Æ†¢¶ˆûh>Š`›Ph—º—jù ÿ¾@ BŸ\ò©ïQà“ÒÎÃ#ŠHE—Äè³l˜dÈ—$"äS•‘g3:Ÿ.{äÉ|Lò”V¹kÌRj×_œ œÒ.Á.X ,g0i)à <¡¥©¡pƒ¶&†®A†=éjœ|c(v‘kØ]þb=ÀÐ(Ô¿áúO¨ÁI† |F£?ê endstream endobj 205 0 obj << /Length 233 /Filter /FlateDecode >> stream xÚUÎ=KÃPÅñs Xx³v(æùzËíËb ­`A' ÖQ|A7©‘|±€Ð~Lïx‡`¼7UÓN?8gù«áá°Ï!ñAÄjÀÝÏ"z$¥ìr·¿~nîh”¼d¥HžÚ™drÆÏO/·$GçcŽHNø*âðš’ WUPñ÷6¾Aß´4æðŠ5¹§q ‘þ" bxØ%âtÇq¿Á_ù®cùGˆÅ²h;²š÷L€ Ëtè5Â<þfúOk…2·|âµÁ+ñ–ZlECÝdÑ ±ï(°ç˜ÂÑIBô¥Y_™ endstream endobj 206 0 obj << /Length 210 /Filter /FlateDecode >> stream xÚMν Â@ ð)(¡«ƒÐ> stream xÚUÎÁjÂ@àYi® Î èn²Zõ$¨sÚSE¨GÁ½‰æÑöQ|„x ‰³²Iéå;üÃüü=ÝF¤(¢N8 ^DúÖ!þ qª¨¯ÝiµÅIŒò‹ôåœs”ñ‚ö¿‡ ÊÉÇ”B”3úI-1žQY¦ãâàAægà//7ˆœŽ4gËZŽvª*Ì 0‰Ã¿˜Š+ã]S‡¸CEÉ@QsüϰFÕì,IqSn/¼'¶’gCþbŸ^m‘mjg`ç1øã'>ÚŸKø endstream endobj 208 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚµ1 Â@EH!L“#d. ›ÍºˆBŒ` A+ ±RK EÁBb޶GÉR¦R×l´6¯˜˜ÿþPtÌ+îǬƬ5$Ii;ŒXÜf¢$#±a¥I,ì˜D¶äëåv$‘¬f,I¤¼•í(K~ |[äj¿„W¢‚opGÏà ÀÄ!´—S‹¢E¦ /‹òèzù´ÌO¾6x+Ó¸YÛ~åÕÎÜuдñí…æ­éÂÕ`ú endstream endobj 209 0 obj << /Length 121 /Filter /FlateDecode >> stream xÚ31Ô35R0P0bc3SS…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0001;Ëñÿ ÿaX*6T°ý†úÿÿ?À0—«'W ¾NÚ endstream endobj 210 0 obj << /Length 228 /Filter /FlateDecode >> stream xÚmαJÄ@ÆñoÙ"0M^ป'p÷WóSZYˆ ¨¥ ¢`eòh>JáÊ+ŽŒóé5‚E~°;ÿY²¬šc­té_^iÓèC-/’³Ÿ+9¸’u'éZs–tî·’º }{}”´¾<ÕZÒFoj­n¥Û(Ê-€~‚Ù€8¶#J^ÎQì0CÜc…0áùîÈDÌ_úŸžÓÁïø:ßsöNüaçü™r$_΂[-> ³À,°ˆ, %‡s„'äƒlÏ"³ÈÌñ¥™aAZÒ›M°¿ÈY'Wò TŸc| endstream endobj 211 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚuÐ1NÄ0ЉRXšß`3', ZiY$R AE¨€ ´ØGóQr„”[¬0¼„‰"OÊŒóÇ“ãîÈ/¥•^—ÒŸ‰÷òØñ+÷ÅVüɾóðÌëÝ­ôžÝ%Êì†+yûxb·¾>—ŽÝFî:iïyØ™-­2È9QµµÕ EëPõE6‚f¤LÍôV»&‘ÆàðÌÔb&e6‚€§Ñf“õÕŽó‘òY (yâ/ifU ý°Å_ cBüÔ¨M>Õ‹ý‚¸Ÿ™°y¥ÿ€‚޵¸2_ |ÃßÇ›jh endstream endobj 212 0 obj << /Length 226 /Filter /FlateDecode >> stream xÚ•Ï¿jAðïnaÜ ˆÎ ˜½s=b!j W¦J!‚`R ìnÍG¹G°´8ÜÌœEH:›_1;ödÏyŸSp¯ÏnÈyΟíÉ9)¦œ¿Ü_6[šd?Ø9²oR&[Ìùð}ü";YL9#;ãeÆéŠŠÇÀŒÇæÒºÂ„ÐpQ*Å+j .+xsº7á”xÄ•‘Íç–Üð‘\ƒ }µrÓþ† ”¿ø´•R þ/:tK­¬uéîNTc¨'Û¼‰Ä'ò¡jìiT”2ƒ®D¥×‚Þé+XÑ endstream endobj 213 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚm½JÄ@…OØ"p›¼ÁÎ}d³ƒÚXW0… •… j)¨hëäÑò(ó)S„ÏD…m>†{çüÜuuìVZj­G+­ÏÔ9}ªäMjÇa©îägóø"›VìÖNìÇbÛkýxÿ|»¹¹ÐJìVï+-¤Ý*Ðô@ P„sŽºø‚&¾³¾[ D>#E@ƒ¢Ç†r˜Iõ~2û> stream xڕα Â@ àHÁB}Ѽ€Þ]õ¤“…ª`A'uª(¸ÙGóQî|ƒšTZèàà‘û†?$w#3°i²ÔhdÈŽéhð‚CË!Çá·s8cœ ÚÐТZpŒ*YÒíz?¡ŠWS2¨f´5¤w˜ÌHŸP˜Qžç®ÎëY’ 4aÐ:B@à ¸Ç8 ‚—1¾ìn -¡SQ¼üRá-8­ð d“_Ñ®Ó+ÈJ¢_<ÿ!’¯tùâ<Á5~lúQ- endstream endobj 218 0 obj << /Length 327 /Filter /FlateDecode >> stream xÚ•Ó¿j„0Àq%C ‹`ž *½B]®W¨C¡:”NmÇ-ív¨–GÉ#dt—&æ—?RiDø¨ ~ýi]_\V´¤;½×WôzGß*òIê’šMš ¯dß‘â‰Ö%)îôYRt÷ôûëçû‡Z‘â@Ÿõm^Hw ‰YmVìaܶb«Nß4RbÕXM›Î”\u®N›n•ònbÁý |ä± –mˆœbçÞ©¶‹LEæ´]$â±±7æ!3äi»ÈlŒzçÚ.2Ob'Þzº>¸Ñƒtî!ò¸´—Æ9™7Ê ×˜CîÒ.Ík&) 7L³Èʬ ¦k–üÓùì“ËõÁóÇ Á͹!¾·!×Kk¹KÛøÌ!×#°€Ü¥m<æá“ÆÌþçÎFkó(­°¿4J@?û¯ÉmGÉ/ðc ¥ endstream endobj 219 0 obj << /Length 338 /Filter /FlateDecode >> stream xÚÍ“?N…@ÆgC±É6½€QãÚ¸Éó™Ha¢•…±RK vF8Þä%^€’‚0Îì ‘¼Z ø-;;3|óqvrX”ºÐ§ú ÔÆhs¤ŸJõªL¡ù6Ç~çñEm*•ßiS¨üŠ^«¼ºÖïoÏ*ßÜ\èRå[}O‰TµÕ@W‚€dªR‰ˆ;Ȉ,Q–ˆG¨9ÛCi ì7rXKËä0—Aà@$ˆs;’²º:ñ>GOÔ11PV¨GG’ª à{ ré(µëÜ‘  J}1*7S(»$;SheIÙLõ>âoúCø¨^¥f­i0Ó¤ÚÙIñ™Î§ÉÌô¬ð§ Cœ4ôqú¢ŽHºèG®¹‹nJÛè°¬‰®³œcÔC +{ç7ZÛÎÛ¶>»ƒ Úà¿¢‹*E!¼Õe¥nÕ/ÙÏíã endstream endobj 220 0 obj << /Length 325 /Filter /FlateDecode >> stream xÚÍ“±NÄ0 @ÝPÉK?¡þh H×›*‡D$˜02€`¾û´~J?¡c†ª&±ãrœNldH^âØŽ{U.+,p‰'%®Î°:ÇçÞ ºð‡ú…%O¯°n ¿÷_óÜÜàÇûç äëÛK,!ßàC‰Å#44~d´32DCÄšˆZAOÔ3%ä,F•¢b= _&gŒåË2‡½·dõÀ‚FL¤dtæ½Èêˆ^c;È“ºh†MZE=°p¡8È}ÃÚ‰âèÝ´1ª˜M¸Ótøµž°=Š[’l¥ÔýiÂþÿâìéñq<”3Mu;Ëúo˜ê†Ïš0Ñï÷q¯fUËȱ„±çšà:ëØ „Æåq’ñÌ×Ä·€•ZwÑ»¾$D#ÌB·HÜIè!iÐýh²Dåß W ÜÁxkD— endstream endobj 221 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚ³°Ô³0U0P0b c #…C®B.s ßÄI$çr9yré‡+˜[pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þƒÁëÿ8ëœõ¿ÎJóƒûÿ ,fn0‹¤ªÿcÙ5CXòÿ@Y ÂbGb}ÀÂúe1ceý¡ Ÿ½ìH,ln~÷å Ÿ#BBðPŒº`pÎb€±~ÀY 0SFYä± I—«'W TÛ4# endstream endobj 222 0 obj << /Length 290 /Filter /FlateDecode >> stream xÚµÓ±NÄ `H‡&ÿÒGèÿJk×NMÎ3±ƒ‰NÆIMÔèÜ{4¥ÀØá"R ÜßÈ%)ù ~ø¡Ùœo®°ÀK<+±©±¾À×>¡©Lcuåz^ÞaÛxĦqkšAtwøýõób{%ˆ>•X> stream xÚ•‘±JÄ@†'¤Ls°óšL® œ'˜BÐÊB¬> stream xÚÝ‘=NÃ@FÇJišÁsX[NŒ©"åGÂTPR€ ¶;®•ä 9BJGZí0;Þ J¨Øêifw<~ßEqžU”QAg9•—Tô˜ã –)fTûÎÃ3Îj4wTNÐ\IM}Mo¯ïOhf7sÊÑ,h•Svõ‚`Úæ_À ühv= ™{H™× ³ïñž¡±ÁBÊ [rë¡%k‰TïË3¶ü·š.‚ 0=€;  ý Ú¿€“ûv>ò;ö»ÕbC _Æ\”Éõ¶Aøf #àc§ƒ—è,'·4/+;h‚¼q1h¸¬ñ?7p% endstream endobj 225 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚµ±NÃ0†/ê`é?BîÀ‰dSº`©‰ HeꀘhÇ XI-Â#dÌ`å¸s‚ºtÅËgý÷Û¿î·×~Iyºª)x ö5¾£_‰XQ¸™&oG\7èväWèEF×<ÑçÇ×Ýz{O5º ½ÔT½b³!€ÿ€œÈ£‚™Oª±ª–!2J`@;€÷PŽPÈ<²;…‘GgÈ3E9c̈¹*lÊ0´9Útüø / Îà Ýìi†Õnʲm'¾©¿;)¤ø–),åˆbÈߘ^‹ìJq™©Ý‚§®£zµlÑð¡ÁgüÍF‹¾ endstream endobj 226 0 obj << /Length 253 /Filter /FlateDecode >> stream xÚÕÒ½NÃ0ðT"ÝâGȽu¢~n–ú!‘ &ÄŒ ˜Ý7è+õQúíØ!ÊŸ³¯ñ‚ŠÄ„ˆdå—‹³ÿÊl4¬æ\ñ˜¯jžU<ñsMo4HQÇúæé• Ù{žNÈ^K™lsÃïŸ/d·K®É®ø¡æê‘šgáʱ‰wƒ_ s=Ìÿ‡$ p8E €.¢° (±s‡×…¢ÀŸÂ4Ž2ì¥*ȱÓ| ]¹Ñ6&âÜ´LèÎpßàÚ‹À_à‡ýøËÇIHGN!ÄXÊ>±] ³7ž#†Ýfæýß".ŒÎF«?«Ç^Q 3Ò™Ö Ýщb= endstream endobj 227 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚ…¿J1‡gÙ"0M!óº·`D«Ày‚[ZYˆ•ZZ(Úºy´}”<•aÇ™¹ãôP1|ðå—?üâéáIO :¢ƒžâ1ÅH=>cT¹Pc;÷O¸°»¡Øcw!»á’^_Þ±[^‘ØÝÊ™;Và8ƒŒ‘?dm˜gPÇj·\R…q :“dÄ„*Á |…Vbn¶;ƒg³Eó çd˜ö1Öo( Ø÷aãhDBÿcü³!ýD[Áo˜¬1¿En¥ ¹±¦ä%iêÝînª6N:ó\ÒZÛ` æ]H›_ÙI<ð?yë­œ endstream endobj 228 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚÕн Â0àá–>Bï L*)¸j3:9ˆ“vtPtnÍGé#8fœ—:èÒM‡|ä~àŽ3z> stream xÚ¥‘?JÅ@Æ'¤XØ&GÈ\@“HòBª…çL!he!¯RK EëÍÑÖ›ä¦L2Î쮂°áÇîüû¾É®9o[,±Æ³‹w565>UúU7¿–Øv1ôø¢÷½.î±étqÍïºèoðýíãYûÛK¬tqÀ‡ Ë£î¯|¢QÑÑ’“CD–F°³"RcB|&;¦Jª ÀÌÆeÂ%w¹pU¾ëö3Bú?OûþÄÂ|€ G(ú‚^±'€f ‰]âTH¿Ø¯ð“|X9éʶÌÜ/O8E.‘> stream xÚ36Ó35Q0Pacc …C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ìþ``üÿ€ùÿ0fÿÿ+†ÉƒÔ‚ô€õ’ ä0üÿ‰˜aˆàÿÿÿ@Ç\®ž\\ÍÙ¥; endstream endobj 231 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ36Ó35Q0Pac c…C®B.#K ßÄI$çr9yré‡+Yré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ì0üÿ‰™˜aãÄÿ„޹\=¹¹µ‰Ã endstream endobj 232 0 obj << /Length 232 /Filter /FlateDecode >> stream xÚíÒ½jAð WÓÜ#Ü>·ÔŒ‚WZ¥©LÊ+³vrp!E¶›üçT°+‹ ó›Ý-ÆÙÇvïÞXÓÅqöÁt;æÍñ';ë±j-->x˜súŒÇéiNó©Y-×ïœgOÙ‘yÁÌ+ç#CYEI ºO$RáxŠ%4ˆDJʤnï«Ò 󢣨Ò×®U¶¤ Hª@Yûƒ$߸»Np·â§¤D@¥(€þ¿ØAx^ƒæ §¨å9ìÅE…ÿÇÍÛ„ÂÆip xœóœÿvÚiC endstream endobj 233 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚíѱ‚@ à& &]xúÞÜHLtr0Nêè ÑUy´{ጃ „zwÀ¡Í×6ÿÔd4”’™JBG´ñ„qlfiG{Ø1+P¬)ŽQÌÍE± Ëùz@‘-§¢Èi’Üb‘¤‚˜µ©ÒÁc®|æÚ!P÷Æái à±®!`{èø.ÿT¼ÊV6ß¡ýAÓõ_°yÍÀ4Õ8+p…o âøš endstream endobj 234 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚµ‘±‚0†kHná¼Ђ±0’ &2˜èä`œÔÑA£3<šÂ#02Î^KL%!_sý{½þ¬æI‚!.qa¼@¥ðÁCT±Ý9ß +@P% 7º ²Øâóñº‚Ìv+Œ@æxŒ0> stream xÚÍ’¿NÃ@ Æ]u¨ä…G¨_.!MB§H¥•š ¦02€èœ<’GÈx•ªÛ¹F:¡.§Ÿ¾óùÏçË“«è†"Jèò:¡lN錞c|Ã,5¢<WO¯¸(Ñm(KÑ­EGWÞÑÇûîÝâþ–btKÚÆ=b¹$(“#ýÑÃ!@5@÷Šøo˜J ÿ§4ö{®aäÁ³ÅŒòßëŽfJ®`o}4¼‘.lO­%Þw£‹m_…mt§¢e4](z†`_ëTÀU‰øµ`  endstream endobj 236 0 obj << /Length 169 /Filter /FlateDecode >> stream xÚÕÏ;Â0 ÐtõÒ#Ô' ’VbªTŠD$˜02€`nÆQz„T d¨jœ20õXö“üYœé™žcŠš+ã4xRp“s?¶aq¼@iAîÐä W<i×x¿=Î ËÍÈ ÷ ÓØ Eá¢^¹˜6¡–­É±Câ‰:_øˆ:WóÑ«}ßÍO_ /h‰ Æmƒú ýIž™–¶ðj^¤ï endstream endobj 237 0 obj << /Length 259 /Filter /FlateDecode >> stream xÚ]Ð1NÃ@Ð¥°4¾;ÛŠBƒ¥$\ ‘ŠQ%Ú¬æ£ì\¦°v˜Y)¢yÒî·çÝT—ëk.¹æ‹Šë57 ¿UôIõJ/Kn®æäõƒ6O\¯¨¸×k*ºþþúy§bóxË[~®¸|¡nËXÊp8™ÎÙë…HDÑFä#ò°Ô々Ú~Àþ¨¨7ö'ÉQÈ”´^;LKZ+45qj@.dêtÜÇv“ù!¤¸Ç"iíÐÄÌôehÖ”ôÁjÛ]ˆÿdVçµ³½ÍSuž‡è ±ýõ?h©›ÓêgåcfKxýºëhG¿Á•¡Z endstream endobj 238 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ35Ô34S0P0RÐ5T01Q07SH1ä*ä21 (˜›Cd’s¹œ<¹ôÃL ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.O†ÀOþÁN2bÌH$;É&åÁ¤=˜¬“ÿA$3˜äÿÿÿÿ?†ÿ8H¨úANò7PJÊÃç‚”ÿÇ`$ÿƒHþÿ ÀØ`ÿð(Èþßÿ ýß E` q¹zrr:é“p endstream endobj 239 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚíÑ1 Â@Ð  Óä™ èfÑlì1‚[ZYˆ•ZZ(ZÇÎkÙyÛt¦Ž»‰… а{üáÃÀ»°O!õ¨­(Võh¥p‹ZÛ0¤(j.Ë ¦匴F9²1J3¦ýî°F™N¤Pf4W.ÐdI àñ˜Kü#ZX€ƒøã+üÏÞ8ä¯È’ àö„wåÂ6î .n ŸÁÉÁNÃõ<sUÃv‹öÁ848Å”Ìðn endstream endobj 240 0 obj << /Length 252 /Filter /FlateDecode >> stream xڅбJÄ@€áYR¦É#d^@7¹Ül œ'˜BÐÊB¬ÔòŠí°¸×ÊÜ+äR¦gvE8°X>˜YØŸÍ/Η%”ÑYJyN«Œ^RÜa¾aB«¥ß> stream xÚ33Õ37W0P04¦æ æ )†\…\&f  ,“œËåäÉ¥®`bÆ¥ïæÒ÷ôU()*MåÒw pV0äÒwQˆ6T0ˆåòtQ```c;0ùD0ƒI~0Y"ÙÿIæÿ ò?&ù¤æDå(I²ôÿÿà"¹\=¹¹VI¢” endstream endobj 242 0 obj << /Length 301 /Filter /FlateDecode >> stream xÚ}ÑMJÅ0à)Y²é’Ø–G_]x>Á.]¹WêÒ…¢ëôh=JŽe¥ãüˆ? Ú¯if¦“tߟ ChÞ¯6 §á±s/®ßÑ\¦¼ððì£knC¿sÍ%½uÍxÞ^ߟ\s¸>kŽá® í½Ào@£B,D¸'€DdZš"-š,-ÚB/6¨3"x‰š¢äç”™œ®—ÓÊ®k‰í ƒËpÞ7q|Ì$pãFúæš¿È »ùdíL™@ÚAvüZ´H¥ÙFÓ¬¦YM«5Þk|,ZdÖìI³eb4Ðj`Môä³g!@Tt¶«`[ÈBÍ».àA8ã²EþõËwÌ•b«ÔŠW¢’üÉü'îbt7î}tû” endstream endobj 246 0 obj << /Length 99 /Filter /FlateDecode >> stream xÚ35Ô32Q0P02ÆF †† )†\…\@$¤À2ɹ\Nž\úá@.}0éé«PRTšÊ¥ïà¬ä»(DõÄryº(È3Ø7ÔøÿëØ7È3p¹zrrç{ endstream endobj 247 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ35Ô32Q0P0SеP01U0³TH1ä*ä2¶ (˜›Cd’s¹œ<¹ôÃŒ-¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. @`"j@ÄÁ&~ f0ñH°ƒ‰@‚Lò`¢F؃ !õ ¢DüÃ4“$ƒf6a&I#Ì$l0ÂL’ þ‡¼ ã*@—«'W ¼OF endstream endobj 248 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ35Ô32Q0P02ÆF &Æ )†\…\††  ,“œËåäÉ¥®`hÈ¥ïæÒ÷ôU()*MåÒw pVŠº(DõÄryº(È3Ø7ÔøÿëØ7È3°ëçrõä äè- endstream endobj 249 0 obj << /Length 103 /Filter /FlateDecode >> stream xÚ35Ô32Q0P°P0´T01V02UH1ä*ä2 (˜A$’s¹œ<¹ôÃŒM¸ô≠ô=}JŠJS¹ôœ ¹ô]¢  b¹<]êÿÿÿßÄÿ ` .WO®@.Eâ,§ endstream endobj 250 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚ}1nÃ0 Ed0ÀEG0/ÐÊ ì¬Ò¨‡íÔ¡È”dìÐ í£©7É dñPä÷KÞ#Oà'ÁOª «Ú*kì!X¬nìôKùV¼õzÎ>uÓ©g^ý3eõÝ‹}ŸNê7¯OÔoí#Xµ×nkRþ 0ˆ,‹HŒ"`¢näX€¼,2…¥d;ˆ‹ÒF)ÆÔƒ"»G— Ù¦Ìì)ôeC$9ÙŽ‰}Ì‘ûÜîr²Ÿ9HÏ>Gi§´mÉe2¾bâÖ¿˜øɯäꢻNßôÕÇ€f endstream endobj 251 0 obj << /Length 223 /Filter /FlateDecode >> stream xÚ­=Â0 …S1TòÒ#Ô€4¨T H‘ø‘è€bF¬”£õ(=BÇÆN1#2|Qlç½çéõSLÐ`×`:ÄÌàÞÀ ÒŒ‹ f}ßÙaœƒ^cšžst¾ÀËùz=^NЀžâÆ`²…|жU|Ї¾è+ÖQý܈JfL5³ †IbG|Ä86ŠîŠ*U”Чm%ÏØ1ªx†µ(‡°óÍVüDÿ÷£FNß{½Ü™•¤ŠmùÎÙ’Ùçwñ^í{Ç›å)5Šx„u¹ ³VðÏ—r endstream endobj 252 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚ•;n1†äÂÒ4Ásâ5,Ùr%[D ¢")S$"õr4ÅGpéí`ó(RF}Å?Òÿ˜»—iÍ7> stream xÚ¥Ï1NÃ@ÐY¹°4๬78n-… ÅT)U L‘(Ô›Ü,¹I¸ÓÉdøÞU´Ðq n„µ¾#Ét«-l#¾kø‘¿&Ä–H endstream endobj 254 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚu1NÄ0E”ÂÒ49Bæà˜M¶²´,) ¢@T@¹Å"è’£å(9‚K–‡ñ. #ëÉú3š?p—W=w<ð…ã~(ïÍÑ‘6[;î¯Ï×íF²O¼Ù’½S™ìxÏŸ_ïdw7ìÈîùÙq÷Bãž™#h%^²J"¨s-³,&ï&¢ M€ í ÛuôŠägTi:¿È d)ȧŸÖ¿HeeÓ_èæ3¾Õ Y}‘õET“Ô¼4©’ÅÇrsÀ$²jYÐhÔ%¦t;Ò#ýãk}– endstream endobj 255 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚÅŽ1 Â@EH!Ì%œ¸»qµ1‚[ZYˆ•±´P´U–£xŒ!ãŽVéd˜óÿðù7Ê<[Çõž§WŽÎä-ëÄSÉŠ@fËÞ’YF•LXñõr;’)ÖsvdJÞ9¶{ %È_@"-0*rà¡Z'épGÒb†4¾"mz!Iƒ¤•o¨ÖôMù´øSKÖ?ø´´¡7ÃW€´ endstream endobj 256 0 obj << /Length 283 /Filter /FlateDecode >> stream xÚ}±JÄ@†çH˜fa÷4‰æ‚]à<Á‚Vr ¨¥…¢­YßlßÀWXß `“âÈøïD9-4„oÉ¿3ÿü“eµP»Òº=œËÒÕµ»­øëj隣¯«›{^u\\ººáâ:Ý™{z|¾ãbu~ì*.Öîªr冻µ£ÅD6’‘ µò!#õ"²%I\(3Éä}›CócŽ{mPÈD²ß„‡ýñùõý%ª›:“N¡4‘@™ˆò”&qTDæMøŠK2žv ;æQ9(ÕnhK IdÒvd="åâƒúÐ¢ÇÆ>yÅõšÔ &”ýɹf®Ÿ{[¤²¡ÉÓŽí ‰NŸ4:5þ¼®„8x’À'_ð'¹/¶t endstream endobj 257 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚÅÏ= Â@ठLã2'p³’Hº…Á-­,ÄJ--­×£y2Å’ñmÒkÁ…ýàÍO1…žÎrÎXãÏ5Ÿ4])/‘ûÇ U–ÔŽó’Ô URvÍ÷ÛãLªÚ,¹æ=&dk6>Âs]PFÓýÀX‚‰¼`* tÒB Šˆ&–66aQÞÖ°ãàsdôm÷´ñN|*¸ª38ªw¨ ]ZZÚһ錀 endstream endobj 258 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ35Ô32Q0P°bS3#…C®B.c3 ßÄI$çr9yré‡+›qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0000ÿ€ìP„XÉÀþ?Poýÿ?„=ˆ``´Dýÿÿÿñÿ âœx–àrõä äç"cn endstream endobj 259 0 obj << /Length 127 /Filter /FlateDecode >> stream xÚ35Ô32Q0P0b33C…C®B.cK ßÄI$çr9yré‡+[ré{E¹ô=}JŠJS¹ôœ€|…hCƒX.Oûÿêÿÿc`ø'À\{ÁÀ0 ûÿÿÿÿ¨€øÿ?0æ‚%¸\=¹¹Røm endstream endobj 260 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚÍÊ1‚@ÐO¶Øä7Á—5pÄD ­,Œ•ZZh´:J¯Dâ<‚Ü@J ˆbb£½™â%3ØþÀï•ÀŠïËÚòŽƒ®ñ»iµå0f3—Àc3n[6ñDûã†M8ŠeÉŠ·ä8¢šNDÉRÂrpEñäÖ””ÀEV’n4TK­U‘®Tí|(Uõ“B•MÒ¸ÐHÎÈ¿ò¾ð(æ?‘—§· endstream endobj 261 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚÅÏ1 ÂP àt*dñÍ |­¼B·B­`A'qRGEççÑ<ŠGèØáñ~óì"^À!äO2¤,¦3+¹Ze.Öʱà ÛJûO‡37›­ØŠÍRS6ÝJn×û‰M³žKÁ¦•nî¹k…(QíS<É… =!8 *TÀS ¤Cí)ú"=‹7êãKú5üßÃÞÁgñ« ïŒŽÉ8åEÇ~P„z§ endstream endobj 262 0 obj << /Length 202 /Filter /FlateDecode >> stream xÚ•=‚@…¡ ™†#0Ðeå't$þ$R˜hea¬ÔÒB£5£pJ â¸ì6´&“WÌdÞû^¦ç‹”cÎy¦9ÍÆ¹jzPR˜eÌiî.—;-+RGN R[³&Uíøõ|ßH-÷+Ö¤Ö|ÒŸ©Z3¼/€P ”¨¥Dx"_øâ ‚ò {ÔMØ¡l¢Q5Ûòƒ ³RékÀŸˆñõ†¿DÌÛ0qM]†Isâ Fk,š…´¸ÜU°el­± m*:Ð9‡n½ endstream endobj 263 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚµ1NÄ0E´E¤ir„ÌÀqd":KË"‘ * D” ¨ÃÑr”aË‘‡™8 j$\<ÉÆóÿøÌŸ¶ö|Ò¶Î9~òôJ¡Sµá®ÛJ/´ïÉÝqèÈ]©N®¿æ÷·grû› öä|ï¹y þÀ@‘€¸T2bHµ!iY)’0ˆDI¥¦~B& #´;Nv­WVú Ë#tb9w¿¹‹?1¿ý™&ëüìµ¹+'KU¯Œãwι°Ì9¿mÝkQÚŽHQ»*mAÚiÑæÿ£ùéª7Ö³’«tÙÓ-}¢¦ endstream endobj 264 0 obj << /Length 172 /Filter /FlateDecode >> stream xڽα Â0à@á¡÷¦Ñε‚ÄIÓG‹88úö2:H“ºtöà>øï8¸¡êõ5g<­G¬5oHÇYc\lö”’ËINÍŒOÇóŽd>³"YðJq¶&S°"©…E™¢œE\½¸-îu׋ôá£p*X&.ÎEZ7¾Ÿ-}ËêK÷7-^D¨_~¶41´ 7Îyiõ endstream endobj 265 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚMŽ=NÄ0„ßj K¯Éò.ŽYo¶Œ´?) ¢@[%h‘(âp¥ÅGH™"ø1&+Aói4ž™çµ»¼òRÉF.œx/~-OŽ_yUìÄ×óËã o[¶÷²ªÙ^ÃfÛÞÈéíý™íöv'Ží^œTGn÷Be*ˆT¿ÂRUC‘Qf4¿Œ†.,„B"êÂtFó)‘’ºž Ç …ÄF#a~̇¦³ ˆLÍ¥2~"1e`9Cÿf˜1YD¨é5-´×üÝ úVM4åkcƒÐ‡A›-ßñÊ­€› endstream endobj 266 0 obj << /Length 177 /Filter /FlateDecode >> stream xڭб Â0à+ ·ø½Ð4%q-Ô ftr'ëè èœ>šâ#tì =/uÔ ßðÿÜAÎêIn(£œÆšŒ!k©ÖxB£%ÌÈN_Íþˆ¥Cµ!£Q-$Få–t9_¨ÊÕŒ$­h+3;tA|yÉ=8úÞ‚™àÅøM?´¿ìÿé`Ñ|Ò‹-x¹I ,vQ°Oz€xøEÄÜÉ:æVôv§Ü„#J‰s‡k|jVmx endstream endobj 270 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚ¥1 Â@E¿XÁ ˆÎt³$ ¢L!he!Vj)¨(¤ÉÑr”ÁÒÂÂÝM\Ò ¯š™ÿ~ö†Š}–>wUŸƒ€Ã>$]H™±Y¸åþDQLbÃJ‘X˜ ‰xÉ·ëýH"ZMY’˜ñV²¿£xÆ@hà ä¨e¨gðR4ah#K¼jšu‹—•4Ó’J&–±åYáñãóîHõrñ«øëb¸`.j‘\+h­c¤’Ÿc¥µÖ×%è*t!¦–­¨Aó˜Öôf¤M* endstream endobj 271 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ¥1 Â@E¿XS˜ „8ÐÍ®„(‹Á‚Vb¥–B…9ZŽâRZX˜ì&Ñ^xÕ Ìü÷ÇþhªØe‡Êc5aß㣤 ©jê²t›ÝáLaLbËJ‘XV ñŠo×û‰D¸ž³$ñN²»§8âx 0l X@/C7¯è”»B“ f€ 4VVÓËkºÏ†¢¢cx}AËûš#¿—Í/ó·Ñk£šäŽ ´TZ;–²ÆºÔ·t¶®%Ñ•EÑ"¦ }bS[. endstream endobj 272 0 obj << /Length 136 /Filter /FlateDecode >> stream xÚ32×3°P0P°PÐ5´T02P04PH1ä*ä24Š(YB¥’s¹œ<¹ôà ¹ô=€â\úž¾ %E¥©\úNÎ @Q…h ¦X.O9†ú†ÿ ÿᬠ—Àƒ€ ãÆæfv6> † $—«'W ÷ '® endstream endobj 273 0 obj << /Length 95 /Filter /FlateDecode >> stream xÚ32×3°P0PaCKC…C®B. ‚†‰ä\.'O.ýp ŸKßLzú*”•¦ré;8+ré»(D*Äryº(È1Ô7Ô7ü? ¶—«'W Ë endstream endobj 274 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ36Ò3U0P0T0´P0"…C®B.#3  ‚D"9—ËÉ“K?\ÁÈŒKßCHxú*”•¦ré;8+ré»(D*Äryº(üÿÿÿ6ÌåêÉÈ#ˆ'ï endstream endobj 275 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚuбjÃ0à‚Ž€Ödò=A-pèHR¨‡B;u(…@›1–²9æGñ#dô`ìžd •|' óŸ–‹;}Oš¼–üåô™ã÷¶5\—˜½RQ`öÈ»˜•Oôó}Úc¶~Þ÷[zËI¿c¹%àªa,ÑD!¯Q$mª‹bÞG¡‡Çá2bW…h*—¾^õjL/.i éÕA˜€j’S]3}`ðqdØô;€ÊÇç¸<ƒÆz¼ì<ÊÃÄ uH> stream xڥѽ Â0àá¡÷¦…¶Ø©P+ØAÐÉAœÔÑAѹ}´> stream xÚ½’¿JÄ@Æ¿%`` óÂÍ hþ`Œ×xpž` A«+á@--»|±t¾Æv¶)-­³»ÉWXZýÂd¾owç›*;9-8ã’ >+¹Êø1§*çR̸*üŸ‡gZÖ”®¹œSz-eJë~{}¢ty{É9¥+ÞäœÝS½bÉØ é È˜Þ2Ô „‹–FJŸÑ -_ñ ¾5’ÞJ5fÒ‚FÛvÑh4­PŠ"¡V»‘ƒe¬£‘ÖF T ³ûì·Íß„iÿ—Ó¹{ ÷šî=¾#0¼·÷ôs@7ÑÏIMlý£VMtsŽáç~ŸÃ!|.Gð9Ãçö—#äÛÙ˜­0¶Ì\f¼·Ý Œ{‚qo@W5ÝÑ/X¸’I endstream endobj 278 0 obj << /Length 296 /Filter /FlateDecode >> stream xÚÅ’±jÃ0†OxÜ¢Gн@k»g«!M¡ íÔ¡mÇ-íì@^Ì[^Ã[WŒÕÓI –õq’î¤ûÿUu¹¤‚–tqE+þ z+ñ«Šƒ…‹ÈÊë®ÌŸ¨ª0¿ã0æÍ=}ý¼c¾~¸¡ó =—T¼`³!ÐÀ–g°¶ƒžçÌÚA@jTê®,÷ ÙÈãÀ°8¨_=¸eãöµ½âC»¶®ŠîAMF‹^ò ¸|œ:I *©@=‡N` í¿À÷Ú ”åž»kÌÛ6„Öñ9&>0s‚!€žof ¾á&j‘‚—ɤ¤”bu”» g€ŒÏ«C0I¶µòF‚)ZëÍæ¥ûàmƒøê*­ü endstream endobj 279 0 obj << /Length 130 /Filter /FlateDecode >> stream xÚ37Ö3°T0P0b3K3 …C®B.3ßÄ1’s¹œ<¹ôÃÌL¸ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿÿ?Àü PhÆÿØÿ70Ô7000þc~4È«Øèáê_ì4,žq¥.WO®@.þ†Ã endstream endobj 280 0 obj << /Length 112 /Filter /FlateDecode >> stream xÚ36Õ34W0P0a#3 …C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÿ†€ˆ¡þƒý‘A~y) ¸\=¹¹Áƒi° endstream endobj 281 0 obj << /Length 258 /Filter /FlateDecode >> stream xÚ}ÒÁJ1à ] {-(tžÀdiµñb¡Vp‚ž<ˆPY¥§R=wÁ[ðEú{ÜÃÒ8Szh»M ß$‡dÈo¯/C2tÉÓéÊÒ{ŠŸ8²\)å _à$CýL#‹úžwQgôýõózòxK)ê)½¤d^1›’sðˆ]ã\)Jö¥vÚ,×¢³ú´æ•hp ¼å½5¢?f|#¨ßC­XQäÓ˜éxÕçFºGJøù=¯bnÄxujQüüÒ+Ø€*üZAÇ€úe7 dÝk)®L@Q= H5eKÀá ˆÿFTµ¥¸¸Ù*q[qœ«àœƒ(ùk ï2|Â]áÍã endstream endobj 282 0 obj << /Length 280 /Filter /FlateDecode >> stream xÚ½’½nƒ@ Ç2 yáÎ/ÐD%dCJS© •Ú©C•©íØ!Qº&<Â#02 \±M9¤0‰Óïüqw¶ÿYºÜÜSL)Ý­(K(‹é3Á®ÓÞS¶RÏÇ7n ´o´NÑ>õf´Å3Ž?_h·/” ÝÑ{Bñ‹€é@¾À¹J lÂFÀ” ¾3@.!-@ÄA‹> ¬AÞˆ™Ýœ’–™òËî*PB §š œQíAoî×"…–½|s F¡óËÃë \ÜJ©iÜåÂÌ oÀ×¥%Oà¶¾cj{¾ó:‹šçéT~LpaàE䫸 »› `”›M5•Ò(­Qlƒüð±ÀWüq¦2 endstream endobj 283 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚ33Ó36Q0Pa3C3 …C®B.S3 ßÄI$çr9yré‡+˜šqé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁõÿ„úÁÀdòEë€L0 Jþ˜â‡Pì Ô0Åü…ú¦Q©ÿ¤R(Ú¡f¢Zµê¨Ëä ¹¨D}ôß‘¡L1þ¢À±‡Nq¹zrr¥¦’) endstream endobj 284 0 obj << /Length 252 /Filter /FlateDecode >> stream xÚ¥Ò½jÃ0p †[ò¹hd‡`e3$)ÔC ™2”@ íØ!!Gó£è­ ©ï3üU?&Æ ûw†ã0ÿ ó,N=jÂô7˜>ÌFTÒ¿ž¸‘Ux4·ÙF=„E_¹%¸\áµ€=Ü/ɸh endstream endobj 285 0 obj << /Length 289 /Filter /FlateDecode >> stream xÚeÐ;NÃ@àßrai›=‚ç`;qѰR. ¢@T@I‚.J|®²7aàÒˆÈÃÎ$ÊCi>˳óØI}^M©¤ ¨¾ iI/•y7õ8KšŽ6'ÏofÖ˜âê±)nbØÍ-}~|½šbvwE•)æôXQùdš9!a¤€åŽûè€Á"é‘[dÙ72ô¶•ÜÃEW¸Œ:,wæX¨ë¨=0;rØ™nåW-¤·WƒèzUR‘³„,k–Ÿ”9¶M˜¥<êåÜI÷z°Ö:©HxÛDL¹ÕÎc¿ŸêÔ|c=1;2œØ‰^´¾ßÛê]ÚA·Äº7™¿Ä_l´Æo'kïH;tÎÛ€_Ñ"èÅ=\lh®soþWŽŠÐ endstream endobj 286 0 obj << /Length 333 /Filter /FlateDecode >> stream xÚÒAKÃ0ð „±^{û¾€6L»SaN°AOD¨GaŠž—–R¿Aa—‚£ñ½Ô‰®.x ?’ðþ¼dJg9*ãѧ9žäøÉg9ЦÂÓ¯“û'9+ezƒÓ‰L/h[¦å%¾¾¼=Êtvu†™Lçx›¡º“å­µ0°¶È¶ûØ ±`ka5@´!FðÖ ¡%¡£­£¬è~°Ùñð· CnɱÇÔCÈ…sŠÛZí¸¦npIm‡²Ø1õu°2ÎÜcÌ!æ/WÎÜ£¢¡÷[P `¿ùQ ½ÖÂPá{¥…&{6¦Gq.LÀ!qÏÙvNªC”ÏQí&²ðyи‰¯7<…w砳é$kgÑòDÖÐ3ÿ¸èÃ,O¤õûû7y\páÆïC^êxÙÙMŸGž—òZ~GÈ endstream endobj 287 0 obj << /Length 229 /Filter /FlateDecode >> stream xÚuϱJAà¹ba ï ¼yÝÙhº…Á+­RˆPK E;1 ¾Øt¾Æ½±»âp½‹ S|Å?;?¬ŸÏxžjösö3¾­éüTCÆÍÍ=-r+öSrg“kÎùéñùŽÜââ„krK¾ªyrMÍ’a{è„Õ®lBŠ-`a:`Ðu)xªu‹w­äG½W‹˜ÕùÇ2©&e˯œɦá¶ÏÚnh›‡Î ÙÍhüuð‡aǨ‡k}ÿ¡ Þ[ bÔªµoŸb»ý"E“z“†O¾€Nº¤oÉŒla endstream endobj 288 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚÅѱ Â0à; ·ø½Ð4X-‚P¨ vtr'uTt•7)7´&/¡Â“²‰Ž hÀ4³“"¯rM¾ò¨Ó˜îzd‡Ú endstream endobj 289 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚ½ Â0…Oé¸KßÀÞд¤v øvtrAPGAEÁA0–Gé#8:õÆÜòANȹß-LÇÎØp;ç"ã¢ËëœödJ åZ¾_V[êU¤glJÒ#‰IWc>NÒ½IŸsÒžçœ-¨0pu@ÜÜ€Ä_‹x vёÒZÕ°uú/¬{#õÒ¡^EÈAó^Uö‹ÌzÌÅN4° ¨E A2ò¢;Wa…Äé ¨°V4¥'VhLr endstream endobj 290 0 obj << /Length 212 /Filter /FlateDecode >> stream xڽϱ‚0à’$7À ˜x/ ¥$N$ˆ‰ &:9'utÐèf,Æ£ðŒ F¼‚†ÆÕÄßp×öþ ü¡ ÑÃ$ÇÜK8¯‹†ïÎîq b~bNeé/çëD¼œ¢‘àF¢·…4AFGi¢ú[«‘µª?«2’×%éæ72byg6ù ã•Nh—:¡]hÝB¿íçQÖ©L›)õ϶ÿ˜?›Í$nþIØd¦ä¼Ô[Xm”ÑFŽÊiÇžzÒÕŠäuA63`– ^¶Ñj» endstream endobj 291 0 obj << /Length 210 /Filter /FlateDecode >> stream xÚuÏ1jÃ0àg<þÅ7ˆÿ 4²‘ã1'…z(¤S‡$ MH×XGÓQ|„ŒJÝW\(TˆôúŸ 7uN3uúk‘i1Ó}.Gq%CËáf÷&u#öU])ö‰±ØæYϧƒØzµÐ\ìR×¹fi–Šè €éÆWà‚Op_ÝPIÓ!õ I@Ò*¤#f %×#ý¸~á,üK{ÇT#ç¼³¶,„ΰq`É(°nìYÜsLøâ¾Þ–ÇF^䃷V2 endstream endobj 292 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ3²Ô3·T0P0bc3s…C®B.cc ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ø000Ôÿ```ü!ÇÀÀüÁ$TßÀ à?hö ¢žAÔ30üc T"þÿŒ ¨h2ÝF»ëÿÿG&¸\=¹¹aök# endstream endobj 293 0 obj << /Length 275 /Filter /FlateDecode >> stream xÚ¿NÃ0Æ?+C$/~„Ü @pK§V*E"L02€`«÷ÉÈ£Dâ`ž”7Ѭ$7ëãî¨d¸¬*¦ ¯:}§¿$ X endstream endobj 294 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚÍα Â@ à;:ò’'ðzxµ: µ‚7:9ˆ“: *:{ÖGñ;œs]úÈù“!¹éë3pç‡cÜk8ƒ‰YǸØ¡´ Öh PsNAÙ^/·¨r9E ªÂÆl ¶BéuL[“Vùeˆ¦T³½ôÉŽdÞø@ú‡`_µ¬‹’wV| ýÿšð‡äˆš …oafaosKƒ endstream endobj 295 0 obj << /Length 125 /Filter /FlateDecode >> stream xÚ32×3°P0P0b#S3s…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒØ€ÿ‚ˆ¥ˆŒþÃûæ? : æ ÿÿÿ€ .WO®@.»P endstream endobj 296 0 obj << /Length 220 /Filter /FlateDecode >> stream xÚÅÎ1ŠÂ@`CŠW˜ ,äÀI0­QÁ ne!VºåÂ*Z'7ðJÞÀ+ä)Shžóþfe=€ó1ófÞãOãA2∇n'MxÓž’ÔÝ#½êÃö‡ò‚슓”ìÂUÉŸ|<œ¾ÉæË)Çdg¼Ž9ÚP1cïÖsK^4ЇÞû ¥þg Z7-¬áVj]p a­zÕ¯TƒùÌP)ñ*êýªÿåܨFíü½7̽ ,a† ò„0@ AÂæ/¹¤vPô`¤iCiŸ¥yA_ôúŠÜ endstream endobj 297 0 obj << /Length 110 /Filter /FlateDecode >> stream xÚ32×3°P0P0b#S3K…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒþÃûæ? ŒC 1ÿcøÿÿq¹zrrp^Ú endstream endobj 298 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚåÐ=ªÂ@ðH˜Â\@ÈœÀMü BÀ0… •…X©¥ ¢­ÉÑö({Ë«ãî+¾¼b†ßü§˜aÖé8åž«|Äý>2ºPî³Ô~±?Ѥ$µá|@jáRRå’o×û‘Ôd5åŒÔŒ·§;*gX@l$Æu¯8lSyÕEÈžñn!Ñ­Á£X#xiTCÄÆ©F•þHjODO' 0¿ôvÒÊÝö§þ³B÷J#n Ò$"¡ˆù&š—´¦ݤ› endstream endobj 299 0 obj << /Length 159 /Filter /FlateDecode >> stream xÚ35Ñ34W0P0bSC…C®B.˜ˆ ’HÎåròäÒW01çÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(0þaüÇÀðÿûÿ@RŽý´`üÁÀþ§€ñóŸ ÿ`ø$@äÿ†z É€ ÿa/É òmÃÿÿ?ìÿÿC&¹\=¹¹?qjS endstream endobj 300 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚ= Â@…GR¦É2ÐMtý©bSZYˆ•ZZ(Ú‰ÉÑr2EH|›((vÂðí̛ݷ«Ga_<éIÛ=Ý—½Ï'Ö]ˆžQêÎîÈAÄj-ºËj™U´Ëùz`,§â³ eã‹·å(¢8!"«Ê@'-À1¹à4r²Sjed=L A Ñ‹]l»ÓŒßÄñ V0ùee˜þǯÛ̬äsnãÄ…«òíž ²Áœ¬Ì”/óÍKÝ´í*ëßàYÄ+~PûZ> endstream endobj 301 0 obj << /Length 218 /Filter /FlateDecode >> stream xڭнŽÂ0 p[*yé#à€4"€øè€t7Ýpº ‘Á }4¥Ð±CHpH'n¼[~ƒ­8{`zzÄ9÷¹«Ç<Ðl o5É„jÎÃ~ÛÚìiVúb3"µ’:©bÍçÓeGjö1gMjÁßšó*Œ6±Þf¾'i%°ôQ|”p”Þ´Dй£+”7Y´¦Ñ&˜Dí»èþêï™ñÇÖºÍã^ÙÜ+­džF˰ÅU6ºƒ´uÒˆ“¬;Ò‰wþÛĽoÞ¤eAŸô$”Šš endstream endobj 302 0 obj << /Length 144 /Filter /FlateDecode >> stream xÚ36׳4R0P0a3…C®B.c˜ˆ ’HÎåròäÒW06âÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(0ÿ`þðÿ‡üŸÿ?lìþÿ(¨gÿñà?óÏÿ6ügü  u@lÃøŸñþC{Ì ´÷ÿÿpÌåêÉÈÈöPê endstream endobj 303 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚMͱNÃ@б\DÚæÚTdëä""R.HE¨€’’‹ˆøÓü)÷ ‡h®°¼Œ!Åkfg´¾:[œë\½ž–ê—ºXêS)¯âK†såí÷òø"›ZŠ;õ¥׌¥¨oôýíãYŠÍí¥2Ýê=7Roë0ͬ¯&aÖ8äéYZi4 % :šŽú£¬1X[ÀÌz83L̺ܘE†œ[yß!8}†?£øË+–÷ÔðO2dñ»ÍÃWtm8 è\„\Õ²“uYÛ endstream endobj 304 0 obj << /Length 160 /Filter /FlateDecode >> stream xÚ36׳4R0P0RÐ5T06V03TH1ä*ä26PA3#ˆLr.—“'—~¸‚±—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEó¡a9$lÄuPüˆÙXþÿÿÿ¡$N#ÌC®ca¨gc{ ùù ì00þ?À”àrõä äùJm endstream endobj 305 0 obj << /Length 162 /Filter /FlateDecode >> stream xÚÍË1 Â@…á·¤L¡°˜ èfqCÊ@Œà‚Vb--+'GË‘<@Ⱥ!Xè l¾âý3©™ŒžóÔpjØZ>ºíÇ„m:”êL…#½c›‘^…™´[óíz?‘.6 6¤KÞNäJV- ð-rÿeÜByD¡z 7ÿ«ÿU}Ä`‡(øD,uxIƒé0nÒ·WR héhKo©b“ endstream endobj 306 0 obj << /Length 236 /Filter /FlateDecode >> stream xÚMÏÁJÄ0à?¶0àöª°Ð> stream xÚeпJÄ@ðo \`^›B¼yÝÍ] ç ¦´²á@-íÄÛG²´Ì£äR^w¢ùÃÙüŠ™]¾™9ŽŽâ„ Oùpj8>åxƽPS5œÌþZ÷O´LIßpœ¾puÒé%¿½¾?’^^qDzÅ·›;JW\×…ªË¡~ lr¯&V‰÷g¸î¾{„'À´N2¬;säÀ8GÖêÊvn=§·õЪÊQoåb]pл ~‹‹¯^¶ã8ëõí®Ø:úg00ìœ7~Êžî¿®JT¥Ä٠Ͼüœ4s”M^!ÒyJ×ô[ÍX' endstream endobj 308 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ½½ ÂP F¿Ò¡¥Ð¼€ÞVn«“‚?`A'qRGE7Áúf}”>BÇÅšÞ‚Šè*3$|9º×î†ì³æV‡uÈQÄÛ€¤}®+ê5“Íž†1©%kŸÔTڤ⟎ç©á|Ä©1¯öר8Ux·èã”À*à%V7±38©“ÂÎ \Aî&°rOP ådeyÜ¿¡>Xý ?c\%éý#øë£æË'q¶(I£©fÔ‰µNšÄ´ ƒ…) endstream endobj 309 0 obj << /Length 259 /Filter /FlateDecode >> stream xÚ]ÐÁJ…@ÆñOf!"·."ç åÚÍE0p»A.‚Zµˆ ¨vµ ôÑ|Á¥‹ËÎgH0?˜ñ?p´¬NÎNmn¹ÊÒ®×ö¹wYUºÏ¹å‹§7ÙÔâîìªw¥§âêkûùñõ"nssa q[{_ØüAê­…ÙÈB´aD4%;˜>Ú#îp¨§Ýà{%*eÌdl”鈧W”]èHÿ‹ùOË·ž¦…dfä 3Âױt¢KÒ‡óF¼oæû¼³MØfl=³oÂ,"†EÌ"pLΉ~WІh–Fš¥F³*Ö4×€& !Œ3ž´DWþËZnåÎvj endstream endobj 310 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚmÁJÄ0†'ô˜ƒyÅÎ h[éÖÞ ë ö ¸'âiõ(¨èÕöÑò(y„sÆ™ì$ä;dfþò·ýùåšjjéì‚Ú5u=5ø†mMrºþPÙ¿àfÄêžÚ«~Æj¼¥÷Ïg¬6wWÔ`µ¥‡†êG·*€‰`ˆß‹Z@y˜æÂÂ`5@éNŽ0Þ8FéÁ„ Ê ðÒxÖ‘õPºŒÁ fÆÄ¾ŠÍ¡HmVJ[ù\8ô¥ )ƒqYT‹‘Nà K†Jˆ¿8L3#Úÿ±Ä™g¾DïU”kñèÙ-¬Ä2¥¡gþBá8&%ÁÃ1DñÂëwø>³vq endstream endobj 311 0 obj << /Length 206 /Filter /FlateDecode >> stream xÚ¥ÐÍjÂ@Àñ„@CÐkBç º·‚Ð õäA ¶GAEÏæÍÌ£äMbö/hèµûƒÙf–Éf¯Ó±Zµ'›èdª?©$¶¹u©{øÞÉ<³Ñl(æ½½“èéxþ3ÿ\h*f©ÛTí—äKõ> stream xÚ340Ô30S0P°bKcK …C®B.  ßÄI$çr9yré‡+X˜pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þ?ü@ÉbØìÿ€˜Ìÿ00Èÿ1ÿ7Œ2‡ó?Å ³áÉDʼˆ,MJIÀåêÉÈR… endstream endobj 316 0 obj << /Length 287 /Filter /FlateDecode >> stream xڕѽNÃ0à‹> stream xÚµ‘±JÄ@†ÿ%ÅÂ4yƒË¼€nnàà pž` A+ ¹J--îP¸B¸«Ø×\_ðSE;ò%ë_ûtòøBë–Ü=û’ܵl“koøuÿöLn}{ɹ ?T\n©Ý0`Bùòð¡h§"à(»Ù vì3…,r£Vˆç ½(R0§(™ºZ1̾‘?¡^3šAÑï RàWÄ^þS…ãML j×3ô)0}1Fè3‘õ¹fšÅš l—iX6e–§©î*y’›XˆÞ i}l±éæM‹ó£«–îè S-zY endstream endobj 318 0 obj << /Length 290 /Filter /FlateDecode >> stream xÚåѽJÄ@ðYR¦É˜yM̲pž` A+ ±º³´P´”äÞ,÷&ñ ´ËAȸ³›„ÃÃΰ¿Ý%“ͦ‡GÇ”RFûš¦štšÒRãN2»šÚ¹ö{‹{œå˜\Ó$Ãä\Ö1É/èéñù“Ùå)Ùùœn4¥·˜Ï ܵç0Cþ v þ-¸ôˆ¸ñ0ÜypiV‚ …p-P¯‚¸ØLð"(J€Ëv×W—ÀU+ov®Œ‡-ã“ßúcDâõg˜Uâ7({ð_`üú7'4»¨¿ ÁlÃ…éâm¶sކH/@×b€±'Û¸^U Þ¶b°æÊUŒVlÿA1J·1×vÏÞ€g9^á[9×^ endstream endobj 319 0 obj << /Length 267 /Filter /FlateDecode >> stream xÚ‘±J1†'lq0…ûÞ¼€f̰pžà‚Vb¥–Š‚]òhy”}„-¯86ÎL¢œ‡• Ù/Ìü;“üq«Ó5äè¤%×QwFO-¾¢kHfçræñ×Ú;r Ú+£®éýíãíúæ‚Z´ºo©yÀaCÕ 2–i¤´å¯™5º˜À€z„>‚¬%k<&rš¥,«¶`vŒìd+q3Ëß’1«^+ü ô\úoxE<@ØG*Ðqˆ ÷ù/|AüýoŒÙ¸=˜¨×,¨¢8U(`‡Ø´ fA-©‘pœûžçÚŸ¹Ú¤Pjí"ê{mœ¤ÔIš€‘ƒã倷øYRŽ endstream endobj 320 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚ31Ô34W0P0b3CC…C®B.# €˜’JÎåròäÒW01âÒ÷ sé{ú*”•¦ré;8+ù. ц ±\ž. ò€Ãÿ@‚ùÿ? ÉÿÁ$|@¾Á¾¡HÖ3ü?ÀÀðD2‚Iæ?`òˆdÿÁT!ù?0È ``€‘Óù`! ‡iŽßú? æPÂÁ$¹\=¹¹û™ endstream endobj 321 0 obj << /Length 351 /Filter /FlateDecode >> stream xÚ­‘ÍJÄ0ǧäÈ¥¼€¶‹µ‹§Âº‚=zò ‚ =øu“mÁë£ärì!4ÎLRuD¶„™ÉÌüg¦^îW¦4•Ù;(M}hêÊÜ-Ô£ªKCÿQ•\·jÕªâÒÔ¥*NÑ®Šö̼<½Þ«bu~lªX›«…)¯U»6À_‡GzahBŸ ‚Õï„—ã›t ]æ2 º‡¦G6Da)…Æh˜rûÅÌcf÷EA¿1-Û?pλëÛÕ³«÷³î I}Òˆš6Ä¥£P€gOén Àâܘ’ÝÙ'û+ít‰c¢„036u! è’¡AÒMÄ"9Ñ%ûÈ} |H³=¤X9ÑZ±H v¹÷]Ͻãm³E=L‰QVþgÎq)Ïœ¯ïRþT7éØD]àãn²¤Çó cˆ»Æ’|´M É'bÛ<Î%øªNZu¡>ÚvÔ endstream endobj 322 0 obj << /Length 142 /Filter /FlateDecode >> stream xÚ36×31R0P0bcCKS…C®B.#ßÄ1’s¹œ<¹ôÃŒL¹ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž.  Œÿ˜ÿ30°ÿoÀŠAr 5 µTì ü@;þ£af f€áú!Žÿ``üÿè¯ÿ ȘËÕ“+ > stream xÚ36×31R0P0bc#C…C®B.#3 €˜’JÎåròäÒW02ãÒ÷ sé{ú*”•¦ré;8+ré»(D*Äryº(0°70ðÿo`ø†™˜†ëG1Õñÿ ŒÿÃúÿdÌåêÉȸ§‰ô endstream endobj 324 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚíÑ¡Â0à[*–œÙ#pO@·@ ¨%0&H@! $¸ñh%Ø#L"Çu€…D´ùþ¶—KzzµÙ¢ê²™Í"\¢1’CÝÅtíõˆŒAÝ“SÔiŸÖ«Íu{СuBãˆÂ ¦ ²åà³U|0Û€ù‰Ø–ØB%/Q@Px¼·à_åQvØïʲ#€rˆO‚û ^‰Ëç7\©ëŸ‘†ýãgpÓ÷x'A~^ɼ™¹P²Ù/ÀnŠC|U¸ý endstream endobj 325 0 obj << /Length 249 /Filter /FlateDecode >> stream xÚ­‘±NÃ@ †}êÉK!~¸5Ç©©*ÁÔ1#æÜ£õQú3T9l× êÈÝIßɾü±‡Ûë5•TÓUEá†Âš^+üÀ:p°¤PŸ3/ï¸éÐï©è·Fßíèëóû ýæáŽ*ô-=UT>c×€Kxåiôi$Þ«Š@v”#W@Áø!ç'=rå4à8 E\)™æGCÎ †B1Š:‹6ŠÓ½bê¥:wZ¹KÿŠ??²"XÖi=Ì1w«½fùbpêYœ4?Í]óšeä[›ƒã©ÄßÙÄt~xßá#þ°´”ð endstream endobj 326 0 obj << /Length 185 /Filter /FlateDecode >> stream xÚÝÏ? ÂP ð¯,d°«ƒÐœÀ×ÚVt*øì èä ‚ Ž‚ŠÎ¯GëQzÇNÆ÷:ˆƒx‡üÈ—@ i¿—Drj*ñ æCDJb“Cíb¢qNjÍILjn¦¤òß®÷#©ñr©)oÌ™-åS†¯†/ž–ÂX¥ˆSeF·Ô•+^¡+ˆkÛª»d%ôA¢è3ðv×X}Xþ´øÅ~äÈö"õ7i–ÓŠ^¤Ds. endstream endobj 327 0 obj << /Length 281 /Filter /FlateDecode >> stream xÚuÐ1NÄ0Ð¥ˆäÆGð\’o$"-‹D $¨(PR€ [mr®â›#¸Lv˜q v š'Ù3þ3Éêì´n¨"O'5ùsj<=׿Íx/—5«¥òôjÖ)ïÉ{S^˵)»úxÿ|1åúö’jSn衦êÑt8ä€å©zÞ[dŒö yDñbDΰƒtÁ‰=Z¨b‹è°M΢ýÇûyqPû¡©“Újë•e^Œ5X*³>ìYëŽYžÌ:#•õB´IjÆ!¥MlGÕ-ƨéÉâH]$?r>Pçäcš6òŸA§Ù ÓìÖ~¢þ¥I"v˜¶ÈfD7¸ˆ(Ÿ0æºl@/]æª3wæׄŒœ endstream endobj 328 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚ35Ò31T0P0RÐ5T01U°°PH1ä*ä21 (XXBd’s¹œ<¹ôÃLŒ¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. Ñ@ƒb¹<] @€ò>’ƒdF"Ù‘H~$RLÚƒÉz0ùD2ƒIþÿ@ÀðƒD1aˆ’Œ¨L²ÿ``n@'Ù˜ÿ0°3€H~`¼ücà1ƒ(¸l@Aÿà(ÀáÍþÿ8¸\=¹¹~@‡Ø endstream endobj 329 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚíÒ¿Aðïr Éî$7/ÀÞÆeQIüI\!¡Rˆ ¥¡æÑîQ<‚ReÌž V÷Ûùv¶ù¶™Ö[mN8åšå¦e×॥-9§Ã„]úHkêfd¦ì™¡ŽÉd#Þï+2Ýq-™>Ï,'sÊúŒ0eQĈ"”ïüå²ÇÜŸÞÑñþñ3‚Ï?£(%V” œÊUè… Ð’“n(6áÁY4nú+|×<>èÈ­h‘\Ð ºEƒŒ&tj8­Ú endstream endobj 339 0 obj << /Producer (pdfTeX-1.40.22) /Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords() /CreationDate (D:20231024182432-04'00') /ModDate (D:20231024182432-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) kpathsea version 6.3.4/dev) >> endobj 2 0 obj << /Type /ObjStm /N 70 /First 585 /Length 4050 /Filter /FlateDecode >> stream xÚÍ[ms·‘þÎ_bª<4Þ)Uªd)NTgG.Ë©äNæ‡ÕrDí™Üåí‹Ï÷ïïiÌ Ð»Ü¥—TRIQƒÅ`0xí~ºŸÆÈ(­¼²Ze‚VI™¤•ÑʦN£žR>2VEk•qª‹ø‰¨¥Ó…A5í­B‰NQ¡Ô8£ŒÇo‡v‘¥”¡–Ã+ü¾÷FY<÷É+â^-žã½ÐÙ î-âE¦£¤ºMxÙYEÚ{åœ"c£rxÕø ÐÙŽŠÈ¡1Ûá7bôAú¹ˆ„¦ñ¶£Ã0‹• áAyŽñÈ ½D÷ò6™<tê£óÆåSä®U 2<œç1ÆO˜kôœ!Õ9ž fÐ ƒÐ\— ·ïU2•¼õ¢J1`¸RâU Xm°¬Ä{â°3›atäac? –‹… aÕ1 ƒú¤1 ›·¢çéòä(\X‹W)à ¦hÃÂCËû£µêø—۬чµ9‡‘XÞ+K¼)¼`xÀb¿¬Ó ¹ŽsV_¼|©Ú÷ªýÓêÇ•jߨ›~¾]¬–¹TøÃÅ‹Ÿl ¸âOZëï9yÍÉ+N~ÒNóïš“'9Ùq²ád+kmK­©dUjçg·œ,8éK«›Ë“㣇ã{wFƒr3N–œ\Ëâ»òÞ¦$‹RõFVý¥4s[úîe…Eið~p³’[”µX>˜í¨²V?¨ö›ÅöŠçûòåEûãÿÝ÷ªý~vÓ_´¯WËm¿Ün †\ñ¢ý¡ß¬vëy¿a]Î%ßõ׋Ù׫_Õ͘‘|C1@ºMÓ¥« ´³F,[¹ö«år…æ>0zpÏÖüãòÏÕÅÞrå‹öëÕúº_çæÍUûçömû7ß+Ï|‹iDjœ†BºÐxˆ£#Ý$Ì úÙ¸Pïýîãm¶ß.–?·¯^¾Ì=´¯ò^·ïÛ¿þ𖯟·Ûûß·íÇÅj±ü´ZßͶ‹ù¦¹»_ÜÝu³º½Cö¦¹îÛKŒóØPÇnTîçôÈu9@ aX±!4©°b!B¢olð¨÷JŠè|±í›Ï³ÿýy±ÜèAþ!c 4Ðh½o4e¥n<«u°XÝtz,·‹¶rB²þþŸÿÅpÚtpëmLSËÝííÕɺn¨kB£U×kÓh ï9u)ÙÆ¶û Ä®{ÔÁ+³ù»Ð^/ÐÅf±i(Þuÿ©]£ïv޼½•ÂÏ»åÍl½»»í¶íêfµìnç3nos?›÷{¢›Î×½ºËN,ì¥×gˆ9‹íßß}üoÖ~ôö8˜ž$ÑGöÛ–ývaè÷»Ùv½`Yn4{ª ;J䯆Z_gyW_ü^°Ø«+©<ÄÃ1½½ƒJ}­²{?g½Ù¾þ<[c«/Úogã!ˆàß×ÛÏG.BíPÀ5¹ñ Ó…I)6ìšÛFÇaÐgý±Aµ=7 ü#¸f¨7&CùÃ?軟jZ¸f/Op"âXG‹Q¹šéUÙ ØñR& è:Mµ i4t›sÇ5nO¥ Q³|Á)‹“¨«Ðµ3,[H¥¤£v–/ð!WKJ€jõÍÛY¾ÐBJí d“à q„³6"Ä… *:ˆÂŽ sÂMnÂpÌ¢Œ­ãœp;&p9a\GùA!™"ú˜³r#Rsó˜µKc¾cÏeÊ[åÍ”…sÝœòÜ)ŸÀ>Ç<Öžn¹ÛË ºèÊe…™nÀMu¹Á^˜r“ oÓaa-7|¶Ü eðßCÓÞ2¦¾e†…®Üdoà\E#mÕ9àáŸðH¼ÀX˜ç‚‡u'ÀÃ=@Cî>LµÊðÿ›¼'EŸó}-•÷Séa­[9þž>ÚÂÃÖô#5žÚ‚>2Χ¦_2žÃ΀, }ç@/êíùºR-E½|=€7hÉäL—RoÛtÙWt h3_@¨\¨ÈÐ&´+TÐ €|1tµ :Ñ”§È”/Ôˆ¨Q£Óª3GFÝyF׫ìEª³K¨—¬Jî Ðˉû×à-6¬›ÐNs,yàÊLb›PøÜ¹ŠÏÝxŽ#^*9Ž›MoxމMÕ±@ºQÝ‘ØÅ8¡]àžòF¬š€®ÔIª›;š¦ž1æ4uŒŽÒÔ/OS_1aw&“w}5+)T³’¦~1ß4õ‹µJS¿è(–<̯®¦‡-K±=lYŠñaËR­›–j~ŒvÂþ°4T¹(wŽC–±ª‰íPµHlˆªI2Æ›d £dŒVÉ'Ì’1^Ø%c‚0L|UËÄW5Mfˆ <Å6¹ç;¶P¦gÛ¦°çØš®Ú&çmÓȦ¤m¸Ôžmzh]ôIœ¼î98ý[-?ÞÂø~ [Ù+-h©Oã§tPOa"ë‡À¿T„X`y VÀ ¬ðb(V,0ÔU00”*+ÕÛ¡Þ–„z[+ÕÛ:©ÞÖKÅ´Aª¢Rm'UÑ&©ŠNKUtFª¢#©ŠÎ>Qù(=Gù|à åáùÊÇ®àQÇ&ä)ÊGúT壂²ò¤­(ÇÚ CËÔMïq:Q8p¶!­•$UùÞ‰T-+íŒ]×ø‰”NÕ§r5Ñ[ï& s€\ð8•W½i¬3SÝáñXšL…$ Úúé@kèu‘\Œó‰ñP>Îm(ÏìöQ’p‚ÙS) ?ŸO8ÊÖ…áóG!õùè½<‰ù´¿¸Ñ¦Ä-ø¼4æ%BáøÌ^„:L‰WàeSx™ŠÇšŠ{硸Żó|Î"\n*¾ÏgüÓ ªOM£wS‚!˜¿)ÁÀ «?nJø‚-f _^PÝpSÂ|x^­„/ò·Å]GÓÑTßÝDªÎ»‰¶zï&ºê¾›BSØfžÂ6»° ¶Ù…R@€MñÕA.LqÖ!Ħ›.&QÝ{ã„o¼ô:\2ˆ.™N†—L'ãK¦“&ÓÉ“é’tð“–~ªA¦À_p”;Œ$Yéü''}Œä¥óŸö<Ž´çq¤êq`,) ÿƒ´þi#üªtÆðgVøTéŒa¹-cO¤Jg´u|*M°<Ýe*{*S~ßS!8*>s'lسãßéM wÂ"÷ „EâÒ:¤½Sj²¿™|“×þh®°w|¾Èw±‰áñ@zî5ÂRÃo€‡Tòh&NþG ¿\À!Áj˜®çú²ø-¶¯êù(SÈÇX+±_sNÔ;MÆïÿ¦Ù“ă Ø)#ßôß/.BÞü9“ ^¼øÀhÝUä%“*R ·`ÎTÂ-쀑ˆ‚ ¤"HE$‘ŠH"‘D*"‰TD2NVFÃÉÊp8Y'+âdeDœ¬ ‰“•1q²2(NVFÅÉʰ8Üè 8b2->Æx4pÄñ±CøG£™Pad²¡F&C*`$”¸Ê(ZMM)üé'Ïý{Øï9éo¿yìù“̲åºïÐö/ÈîqQq,¹ªãGÅsô,ÏPd/bŠäEL‘¼Œ)’—1Eò2¦H^Æɢ"yS$/cŠäeL‘‚Œ)R1E 2¦HAÆ)Ș"S¤ž¨ºö9ªk² ?šy¾êê± kÀ­ypnM=·±IüYP“Æ8AdkÉäxÌæðEvv‡_™žÒK6¹‰M.v1êÆMÁë=>´¾1“ÏŸ!#qôMLJ‘ãa»ZëÙ˜cgéÃh†ª`ëÖîå)5°U²Î43h6 ¾ë å¥ QW‹c;®;äë ††ô„xÖi¾Š$zâõ¸ˆ ý¾‹‚+Ƴ‹¸®Ì˜ ÷ãÁ¢`ÆÅ!"ˆí°… m%ÚUÈ0$¦av¢ _ ÜšˆþRŒ•¢`¬c¥ÂQŸ _d/¬ðEö +d/¬°ÂŽð•pR!… ë…2¬J˜?òOÖ#äo‰Œ„uÁY嬄uÁ±•rÔ®2BùÊä#äÞ“y+!–Z0B‡; o#„ Fq'¡Ýc„öÉŒÐꇌ0¤Xá˜Àá¾2¹Çžk"í¹r±ÚƒÉ5®ö`r…=}d¶†¿Ç OöÄBlÜC¾dòÅYg(LJÀÎÑL¹¡æøoSƒ3aÌÎÖ mÌ v¶–¤/ç[ù@¨Â®(ÅG™¿P†øSÜr ™ø?|„ªu¶gjwBë¬IBë,i¡u–ŒÐ3K$4Ë’ºdÉI]"É|,IæcI2K’ùX:r´Ê_Ánø3ØÝr« ÿ±¸Þ”ϹÇïvÆtð±á»Ýöv±äw³\«q„,Öjb¹Q*ïåÏZÇõx¥ÆaŸÏÚ‰ê}¿îQno ù½éƒkeŽ¿÷þ ²“ﱚc./Þ¬æ_½ßÎÖÛK5ìÍÃïú‡5ÜÿÆ~XIù]µKî±f|oä=]ªa(…ow‹íA×S­«Ãáårô7úòßb~—{ô{e¹h¿ÝÆÃ^§E¥Òë°¿vüžÚœò‘÷ßôþ|Þñ½_϶³ÛÕÍÅ SåùIPÄVå™Û‰¤sõïV×}û×M_¥êÝ}¿þÓˆ2…£ÿ?bê©e endstream endobj 340 0 obj << /Type /XRef /Index [0 341] /Size 341 /W [1 3 1] /Root 338 0 R /Info 339 0 R /ID [<6EEB93CF68195B8B0230CCC91EE65F8C> <6EEB93CF68195B8B0230CCC91EE65F8C>] /Length 994 /Filter /FlateDecode >> stream xÚÔwTÖUÇñßáDq†¢ˆB ¨ ;dŠ2c¸Ps2µÔÔDË,GÓ4WenœÇ WnËÌLÍ\Gfžìýyþyç9÷þîøÞϽŽã8OÜÇÍ1+ßîè—·è"L¸ ÑYÔ𵄧¨cŽã祶ð‰"^´Ñ¢•h!RD]QOø™ã_å ¾ð5Çs¹ë¯¿h.D¨h$‹æøÞuõ "H‹†ædLsÌÉò; ×‹Ð{ ôyýž‡þóaÀ&Ⱦoàfƒ;¹0t ˆÜ*þäm†ükPðÞ‡"Qü”x¸–ÖD4ÍÌ)M¤¡, ÊKaÄx9FM€ÑcaŒæ¨Ðš+NÀØ™0nŒ/ƒ—VÄ#0ñLº“OCe¼œSrà•0uLû¦ß„×jÃŒ¦0Sýfõ€×'Âìy0g!̽oWÒ:dBâFH"u–Ìå´ÎÍ:7„.=!U›I[]9iK?dÒºEÁ³a‚e™*N&O=÷ºß€^Ð3²ˆ²õÒZzGCl}C?U£¿ÆËe® &ˆgD³´£AäÅr.Á7täBNJ,—Õò—@A!r‰­ˆ[1‰µ^+íë9ItÉ¢“Hi¢«Hfe£ø¬ò‘ó?î&ø endstream endobj startxref 97786 %%EOF pcaMethods/inst/doc/pcaMethods.R0000644000175200017520000001310614516042207017621 0ustar00biocbuildbiocbuild### R code from vignette source 'pcaMethods.Rnw' ################################################### ### code chunk number 1: pcaMethods.Rnw:102-114 ################################################### library(pcaMethods) x <- c(-4,7); y <- c(-3,4) distX <- rnorm(100, sd=0.3)*3 distY <- rnorm(100, sd=0.3) + distX * 0.3 mat <- cbind(distX, distY) res <- pca(mat, nPcs=2, method="svd", center=F) loading <- loadings(res)[1,] grad <- loading[2] / loading[1] if (grad < 0) grad <- grad * -1 lx <- c(-4,7) ly <- c(grad * -4, grad * 7) ################################################### ### code chunk number 2: pcaMethods.Rnw:118-125 ################################################### par(mar=c(2, 3, 2, 2)) plot(x,y, type="n", xlab="", ylab="") abline(v=0, col="dark gray", lwd = 2); abline(h=0, col = "dark gray", lwd = 2) points(distX, distY, type = 'p', col = "blue") lines(lx,ly, lwd = 2) points(-1, -1 * grad + 0.5, pch = 19, col = "red", lwd=4) points(6, 6 * grad + 0.5, pch = 19, col = "red", lwd=4) ################################################### ### code chunk number 3: pcaMethods.Rnw:253-255 ################################################### library(lattice) library(pcaMethods) ################################################### ### code chunk number 4: pcaMethods.Rnw:258-261 ################################################### library(pcaMethods) data(metaboliteData) data(metaboliteDataComplete) ################################################### ### code chunk number 5: pcaMethods.Rnw:264-266 ################################################### md <- prep(metaboliteData, scale="none", center=TRUE) mdC <- prep(metaboliteDataComplete, scale="none", center=TRUE) ################################################### ### code chunk number 6: pcaMethods.Rnw:271-277 ################################################### resPCA <- pca(mdC, method="svd", center=FALSE, nPcs=5) resPPCA <- pca(md, method="ppca", center=FALSE, nPcs=5) resBPCA <- pca(md, method="bpca", center=FALSE, nPcs=5) resSVDI <- pca(md, method="svdImpute", center=FALSE, nPcs=5) resNipals <- pca(md, method="nipals", center=FALSE, nPcs=5) resNLPCA <- pca(md, method="nlpca", center=FALSE, nPcs=5, maxSteps=300) ################################################### ### code chunk number 7: pcaMethods.Rnw:293-296 ################################################### sDevs <- cbind(sDev(resPCA), sDev(resPPCA), sDev(resBPCA), sDev(resSVDI), sDev(resNipals), sDev(resNLPCA)) matplot(sDevs, type = 'l', xlab="Eigenvalues", ylab="Standard deviation of PC", lwd=3) legend(x="topright", legend=c("PCA", "PPCA", "BPCA", "SVDimpute","Nipals PCA","NLPCA"), lty=1:6, col=1:6, lwd=3) ################################################### ### code chunk number 8: pcaMethods.Rnw:308-311 ################################################### par(mfrow=c(1,2)) plot(loadings(resBPCA)[,1], loadings(resPCA)[,1], xlab="BPCA", ylab="classic PCA", main = "Loading 1") plot(loadings(resBPCA)[,2], loadings(resPCA)[,2], xlab="BPCA", ylab="classic PCA", main = "Loading 2") ################################################### ### code chunk number 9: pcaMethods.Rnw:335-337 ################################################### q2SVDI <- Q2(resSVDI, mdC, fold=10) q2PPCA <- Q2(resPPCA, mdC, fold=10) ################################################### ### code chunk number 10: pcaMethods.Rnw:339-349 ################################################### # PPCA does not converge / misestimate a value in very rare cases. # This is a workaround to avoid that such a case will break the # diagram displayed in the vignette. # From the 2.0 release of bioconductor on, the convergence threshold # for PPCA was lowert to 1e-5, this should make the method much more # stable. So this workaround might be obsolete now... # [nope it is not, ppca is unstable] while( sum((abs(q2PPCA)) > 1) >= 1 ) { q2PPCA <- Q2(resPPCA, mdC, fold=10) } ################################################### ### code chunk number 11: pcaMethods.Rnw:353-356 ################################################### q2 <- data.frame(Q2=c(drop(q2PPCA), drop(q2SVDI)), method=c("PPCA", "SVD-Impute")[gl(2, 5)], PC=rep(1:5, 2)) print(xyplot(Q2~PC|method, q2, ylab=expression(Q^2), type="h", lwd=4)) ################################################### ### code chunk number 12: pcaMethods.Rnw:389-390 ################################################### errEsti <- kEstimate(md, method = "ppca", evalPcs=1:5, nruncv=1, em="nrmsep") ################################################### ### code chunk number 13: pcaMethods.Rnw:396-397 ################################################### barplot(drop(errEsti$eError), xlab="Loadings", ylab="NRMSEP (Single iteration)") ################################################### ### code chunk number 14: pcaMethods.Rnw:420-421 ################################################### barplot(drop(errEsti$variableWiseError[, which(errEsti$evalPcs == errEsti$bestNPcs)]), xlab="Incomplete variable Index", ylab="NRMSEP") ################################################### ### code chunk number 15: pcaMethods.Rnw:445-446 ################################################### slplot(resPCA) ################################################### ### code chunk number 16: pcaMethods.Rnw:456-457 ################################################### plotPcs(resPPCA, pc=1:3, type="score") ################################################### ### code chunk number 17: pcaMethods.Rnw:469-475 ################################################### pc <- pca(iris) irdf <- merge(iris, scores(pc), by=0) library(ggplot2) ggplot(irdf, aes(PC1, PC2, colour=Species)) + geom_point() + stat_ellipse() pcaMethods/inst/doc/pcaMethods.Rnw0000644000175200017520000005554214516003735020203 0ustar00biocbuildbiocbuild\documentclass[a4paper]{article} %\VignetteIndexEntry{Introduction} \usepackage{hyperref} \title{The pcaMethods Package} \author{Wolfram Stacklies and Henning Redestig\\ CAS-MPG Partner Institute for Computational Biology (PICB)\\ Shanghai, P.R. China \\ and\\ Max Planck Institute for Molecular Plant Physiology\\ Potsdam, Germany\\ \url{http://bioinformatics.mpimp-golm.mpg.de/} } \date{\today} \begin{document} \setkeys{Gin}{width=1.0\textwidth} @ \maketitle \section*{Overview} The \texttt{pcaMethods} package \cite{stacklies07} provides a set of different PCA implementations, together with tools for cross validation and visualisation of the results. The methods basically allow to perform PCA on incomplete data and thus may also be used for missing value estimation. When doing PCA one assumes that the data is restricted to a subspace of lower dimensionality, e.g. correlation patterns between jointly regulated genes. PCA aims to extract these structures thereby filtering noise out. If only the most significant loadings (eigenvectors, also referred to as principal components) are used for projection this can be written as: \begin{equation} X = 1\times{}\bar{x}^T + TP^T + V \end{equation} Where the term $1\times{}\bar{x}^T$ represents the original variable averages, $X$ denotes the observations, $T={t_1, t_2,\ldots,t_k}$ the latent variables or scores, $P={p_1, p_2,\ldots,p_k}$ the transformation matrix (consisting of the most significant eigenvectors of the covariance matrix) and $V$ are the residuals. Missing values may be estimated by projecting the scores back into the original space using $\hat{X} = 1\times{}\bar{x}^T + TP^T$. Optimally, this produces an estimate of the missing data based on the underlying correlation structure, thereby ignoring noise. This will only produce reasonable results if the residuals $V$ are sufficiently small, implying that most of the important information is captured by the first $k$ components. In order to calculate the transformation matrix $P$ one needs to determine the covariance matrix between variables or alternatively calculate $P$ directly via SVD. In both cases, this can only be done on complete matrices. However, an approximation may be obtained by use of different regression methods. The PCA methods provided in this package implement algorithms to accurately estimate the PCA solution on incomplete data. Although the focus of this package is clearly to provide a collection of PCA methods we also provide a cluster based method for missing value imputation. This allows to better rate and compare the results. \section{Algorithms} All methods return a common class called \texttt{pcaRes} as a container for the results. This guarantees maximum flexibility for the user. A wrapper function called \texttt{pca()} is provided that receives the desired type of pca as a string. \subsection*{svdPca} This is a wrapper function for $R's$ standard \texttt{prcomp} function. It delivers the results as a \texttt{pcaRes} object for compatibility with the rest of the package. \subsection*{svdImpute} This implements the SVDimpute algorithm as proposed by Troyanskaya et~al \cite{troyanskaya01}. The idea behind the algorithm is to estimate the missing values as a linear combination of the $k$ most significant eigengenes\footnote{The term ``eigengenes'' denotes the loadings when PCA was applied considering variables (here the genes) as observations.}. The algorithm works iteratively until the change in the estimated solution falls below a certain threshold. Each step the eigengenes of the current estimate are calculated and used to determine a new estimate. An optimal linear combination is found by regressing an incomplete variable against the $k$ most significant eigengenes. If the value at position $j$ is missing, the $j^{th}$ value of the eigengenes is not used when determining the regression coefficients.\\ SVDimpute seems to be tolerant to relatively high amount of missing data (> 10\%). \subsection*{Probabilistic PCA (ppca)} Probabilistic PCA combines an EM approach for PCA with a probabilistic model. The EM approach is based on the assumption that the latent variables as well as the noise are normal distributed. In standard PCA data which is far from the training set but close to the principal subspace may have the same reconstruction error, see Figure \ref{fig:pcaSubspace} for explanation. <>= library(pcaMethods) x <- c(-4,7); y <- c(-3,4) distX <- rnorm(100, sd=0.3)*3 distY <- rnorm(100, sd=0.3) + distX * 0.3 mat <- cbind(distX, distY) res <- pca(mat, nPcs=2, method="svd", center=F) loading <- loadings(res)[1,] grad <- loading[2] / loading[1] if (grad < 0) grad <- grad * -1 lx <- c(-4,7) ly <- c(grad * -4, grad * 7) @ \begin{figure} \centering <>= par(mar=c(2, 3, 2, 2)) plot(x,y, type="n", xlab="", ylab="") abline(v=0, col="dark gray", lwd = 2); abline(h=0, col = "dark gray", lwd = 2) points(distX, distY, type = 'p', col = "blue") lines(lx,ly, lwd = 2) points(-1, -1 * grad + 0.5, pch = 19, col = "red", lwd=4) points(6, 6 * grad + 0.5, pch = 19, col = "red", lwd=4) @ \caption{Normal distributed data with the first loading plotted in black. The two red points have the same reconstruction error because PCA does not define a density model. Thus the only measure of how well new data fits the model is the distance from the principal subspace. Data points far from the bulk of data but still close to the principal subspace will have a low reconstruction error. \label{fig:pcaSubspace}} \end{figure} PPCA defines a likelihood function such that the likelihood for data far from the training set is much lower, even if they are close to the principal subspace. This allows to improve the estimation accuracy.\\ PPCA is tolerant to amounts of missing values between 10\% to 15\%. If more data is missing the algorithm is likely not to converge to a reasonable solution. The method was implemented after the draft ``\texttt{EM Algorithms for PCA and Sensible PCA}'' written by Sam Roweis and after the Matlab \texttt{ppca} script implemented by \emph{Jakob Verbeek}\footnote{\url{http://lear.inrialpes.fr/~verbeek/}}. Please check also the PPCA help file. \subsection*{Bayesian PCA (bpca)} Similar to probabilistic PCA, Bayesian PCA uses an EM approach together with a Bayesian model to calculate the likelihood for a reconstructed value.\\ The algorithm seems to be tolerant to relatively high amounts of missing data (> 10\%). Scores and loadings obtained with Bayesian PCA slightly differ from those obtained with conventional PCA. This is because BPCA was developed especially for missing value estimation and is based on a variational Bayesian framework (VBF), with automatic relevance determination (ARD). In BPCA, ARD leads to a different scaling of the scores, loadings and eigenvalues when compared to standard PCA or PPCA. The algorithm does not force orthogonality between loadings. However, the authors of the BPCA paper found that including an orthogonality criterion made the predictions worse. They also state that the difference between ``real'' and predicted Eigenvalues becomes larger when the number of observation is smaller, because it reflects the lack of information to accurately determine true loadings from the limited and noisy data. As a result, weights of factors to predict missing values are not the same as with conventional PCA, but the missing value estimation is improved. BPCA was proposed by Oba et~al \cite{oba03}. The method available in this package is a port of the \texttt{bpca} Matlab script also provided by the authors\footnote{ \url{http://hawaii.aist-nara.ac.jp/\%7Eshige-o/tools/}}. \subsection*{Inverse non-linear PCA (NLPCA)} NLPCA \cite{scholz05} is especially suitable for data from experiments where the studied response is non-linear. Examples of such experiments are ubiquitous in biology -- enzyme kinetics are inherently non-linear as are gene expression responses influenced by the cell cycle or diurnal oscillations. NLPCA is based on training an auto-associative neural network composed of a component layer which serves as the ``bottle-neck'', a hidden non-linear layer and an output layer corresponding to the reconstructed data. The loadings can be seen as hidden in the network. Missing values in the training data are simply ignored when calculating the error during back-propagation. Thus NLPCA can be used to impute missing values in the same way as for conventional PCA. The only difference is that the loadings $P$ are now represented by a neural network.\\ A shortcoming of the current implementation is that there is no reasonable stop criterion. The quality of the estimated solution depends on the number of iterations. This should in most cases be somewhat between 500 and 1500. We recommend to use \texttt{kEstimate} or \texttt{kEstimateFast} to determine this parameter. \subsection*{Nipals PCA} Nipals (Nonlinear Estimation by Iterative Partial Least Squares) \cite{wold66} is an algorithm at the root of PLS regression which can execute PCA with missing values by simply leaving those out from the appropriate inner products. It is tolerant to small amounts (generally not more than 5\%) of missing data. \subsection{Local least squares (LLS) imputation} The package provides an algorithm called \texttt{llsImpute} for missing value estimation based on a linear combination of the $k$ nearest neighbours of an incomplete variable (in Microarray experiments normally a gene). The distance between variables is defined as the absolute value of the Pearson, Spearman or Kendall correlation coefficient. The optimal linear combination is found by solving a local least squares problem as described in \cite{kim05}. In tests performed in the cited paper the llsImpute algorithm is able to outperform knnImpute\cite{troyanskaya01} and competes well with BPCA. In the current implementation two slightly different ways for missing value estimation are provided. The first one is to restrict the neighbour searching to the subset of complete variables. This is preferable when the number of incomplete variables is relatively small. The second way is to consider all variables as candidates. Here, missing values are initially replaced by the columns wise mean. The method then iterates, using the current estimate as input for the LLS regression until the change between new and old estimate falls below a certain threshold (0.001). \section{Getting started} \paragraph{Installing the package.} To install the package first download the appropriate file for your platform from the Bioconductor website (\url{http://www.bioconductor.org/}). For Windows, start \texttt{R} and select the \texttt{Packages} menu, then \texttt{Install package from local zip file}. Find and highlight the location of the zip file and click on \texttt{open}. For Linux/Unix, use the usual command \texttt{R CMD INSTALL} or set the option \texttt{CRAN} to your nearest mirror site and use the command \texttt{install.packages} from within an \texttt{R} session. \paragraph{Loading the package:} To load the \texttt{pcaMethods} package in your \texttt{R} session, type \texttt{library(pcaMethods)}. \paragraph{Help files:} Detailed information on \texttt{pcaMethods} package functions can be obtained from the help files. For example, to get a description of \texttt{bpca} type \texttt{help("bpca")}. \paragraph{Sample data:} Two sample data sets are coming with the package. \texttt{metaboliteDataComplete} contains a complete subset from a larger metabolite data set. \texttt{metaboliteData} is the same data set but with 10 \% values removed from an equal distribution. \section{Some examples} <>= library(lattice) library(pcaMethods) @ To load the package and the two sample data sets type: <>= library(pcaMethods) data(metaboliteData) data(metaboliteDataComplete) @ Now centre the data <<>>= md <- prep(metaboliteData, scale="none", center=TRUE) mdC <- prep(metaboliteDataComplete, scale="none", center=TRUE) @ Run SVD pca, PPCA, BPCA, SVDimpute and nipalsPCA on the data, using the \texttt{pca()} wrapper function. The result is always a \texttt{pcaRes} object. <>= resPCA <- pca(mdC, method="svd", center=FALSE, nPcs=5) resPPCA <- pca(md, method="ppca", center=FALSE, nPcs=5) resBPCA <- pca(md, method="bpca", center=FALSE, nPcs=5) resSVDI <- pca(md, method="svdImpute", center=FALSE, nPcs=5) resNipals <- pca(md, method="nipals", center=FALSE, nPcs=5) resNLPCA <- pca(md, method="nlpca", center=FALSE, nPcs=5, maxSteps=300) @ Figure \ref{fig:eigenvalues} shows a plot of the eigenvalue structure (\texttt{sDev(pcaRes)}). If most of the variance is captured with few loadings PCA is likely to produce good missing value estimation results. For the sample data all methods show similar eigenvalues. One can also see that most of the variance is already captured by the first loading, thus estimation is likely to work fine on this data. For BPCA, the eigenvalues are scaled differently for reasons discussed above, see Figure \ref{fig:loadingBPCA}. The order of the loadings remains the same. \begin{figure} \centering <>= sDevs <- cbind(sDev(resPCA), sDev(resPPCA), sDev(resBPCA), sDev(resSVDI), sDev(resNipals), sDev(resNLPCA)) matplot(sDevs, type = 'l', xlab="Eigenvalues", ylab="Standard deviation of PC", lwd=3) legend(x="topright", legend=c("PCA", "PPCA", "BPCA", "SVDimpute","Nipals PCA","NLPCA"), lty=1:6, col=1:6, lwd=3) @ \caption{Eigenvalue structure as obtained with different methods\label{fig:eigenvalues}} \end{figure} To get an impression of the correctness of the estimation it is a good idea to plot the scores / loadings obtained with classical PCA and one of the probabilistic methods against each other. This of course requires a complete data set from which data is randomly removed. Figure \ref{fig:loadingBPCA} shows this for BPCA on the sample data. \begin{figure} \centering <>= par(mfrow=c(1,2)) plot(loadings(resBPCA)[,1], loadings(resPCA)[,1], xlab="BPCA", ylab="classic PCA", main = "Loading 1") plot(loadings(resBPCA)[,2], loadings(resPCA)[,2], xlab="BPCA", ylab="classic PCA", main = "Loading 2") @ \caption{Loading 1 and 2 calculated with BPCA plotted against those calculated with standard PCA. \label{fig:loadingBPCA}} \end{figure} \section{Cross validation} \texttt{Q2} is the goodness measure used for internal cross validation. This allows to estimate the level of structure in a data set and to optimise the choice of number of loadings. Cross validation is performed by removing random elements of the data matrix, then estimating these using the PCA algorithm of choice and then calculating $Q^2$ accordingly. At the moment, cross-validation can only be performed with algorithms that allow missing values (i.e. not SVD). Missing value independent cross-validation is scheduled for implementation in later versions. $Q^2$ is defined as following for the mean centered data (and possibly scaled) matrix $X$. $$\mathrm{SSX}=\sum (x_{ij})^2$$ $$\mathrm{PRESS}=\sum (x_{ij} - \hat{x}_{ij})^2$$ $$Q^2=1 - \mathrm{PRESS}/\mathrm{SSX}$$ The maximum value for $Q^2$ is thus 1 which means that all variance in $X$ is represented in the predictions; $X=\hat{X}$. <>= q2SVDI <- Q2(resSVDI, mdC, fold=10) q2PPCA <- Q2(resPPCA, mdC, fold=10) @ <>= # PPCA does not converge / misestimate a value in very rare cases. # This is a workaround to avoid that such a case will break the # diagram displayed in the vignette. # From the 2.0 release of bioconductor on, the convergence threshold # for PPCA was lowert to 1e-5, this should make the method much more # stable. So this workaround might be obsolete now... # [nope it is not, ppca is unstable] while( sum((abs(q2PPCA)) > 1) >= 1 ) { q2PPCA <- Q2(resPPCA, mdC, fold=10) } @ \begin{figure}[!ht] \centering <>= q2 <- data.frame(Q2=c(drop(q2PPCA), drop(q2SVDI)), method=c("PPCA", "SVD-Impute")[gl(2, 5)], PC=rep(1:5, 2)) print(xyplot(Q2~PC|method, q2, ylab=expression(Q^2), type="h", lwd=4)) @ \caption{Boxplot of the \texttt{Q2} results for BPCA, Nipals PCA, SVDimpute and PPCA. PPCA and SVDimpute both deliver better results than BPCA and Nipals in this example.\label{fig:Q2}} \end{figure} The second method called \texttt{kEstimate} uses cross validation to estimate the optimal number of loadings for missing value estimation. The \texttt{NRMSEP} (normalised root mean square error of prediction) \cite{feten05} or Q2 can be used to define the average error of prediction. The NRMSEP normalises the square difference between real and estimated values for a certain variable by the variance within this variable. The idea behind this normalisation is that the error of prediction will automatically be higher if the variance is higher. The \texttt{NRMSEP} for mean imputation is $\sqrt{\frac{nObs}{nObs - 1}}$ when cross validation is used, where $nObs$ is the number of observations. The exact definition is: \begin{equation} NRMSEP_k = \sqrt{\frac{1}{g} \sum_{j \in G} \frac{\sum_{i \in O_j} (x_{ij} - \hat{x}_{ijk})^2}{o_j s_{x_j}^2}} \end{equation} where $s^2_{x_j} = \sum_{i=1}^n (x_{ij} - \overline{x}_j)^2 / (n - 1)$, this is the variance within a certain variable. Further, $G$ denotes the set of incomplete variables, $g$ is the number of incomplete varialbes. $O_j$ is the set of missing observations in variable $j$ and $o_j$ is the number of missing observations in variable $j$. $\hat{x}_{ijk}$ stands for the estimate of value $i$ of variable $j$ using $k$ loadings. See Figure \ref{fig:kEstimate} for an example. The NRMSEP should be the error measure of choice. But if the number of observations is small, the variance within a certain variable may become and unstable criterion. If so or if variance scaling was applied we recommend to use Q2 instead. <>= errEsti <- kEstimate(md, method = "ppca", evalPcs=1:5, nruncv=1, em="nrmsep") @ \begin{figure}[!ht] \centering \begin{minipage}[c]{0.6\textwidth} \centering <>= barplot(drop(errEsti$eError), xlab="Loadings", ylab="NRMSEP (Single iteration)") @ \end{minipage} \begin{minipage}[c]{0.3\textwidth} \caption{Boxplot showing the \texttt{NRMSEP} versus the number of loadings. In this example only 1 iteration of the whole cross validation were performed. It is normally advisable to do more than just one iteration. \label{fig:kEstimate}} \end{minipage} \end{figure} \texttt{kEstimate} also provides information about the estimation error for individual variables. The $Q^2$ distance or the NRMSEP are calculated separately for each variable. See the manpage for \texttt{kEstimate} and \texttt{kEstimateFast} for details. Plotting the variable - wise results gives information about for which variables missing value estimation makes sense, and for which no imputation or mean imputation is preferable, see Figure \ref{fig:variableWiseError}. If you are not interested in variable - wise information we recommend to use the faster \texttt{kEstimateFast} instead. \begin{figure}[!ht] \centering \begin{minipage}[c]{0.6\textwidth} \centering <>= barplot(drop(errEsti$variableWiseError[, which(errEsti$evalPcs == errEsti$bestNPcs)]), xlab="Incomplete variable Index", ylab="NRMSEP") @ \end{minipage} \begin{minipage}[c]{0.3\textwidth} \caption{Boxplot showing the \texttt{NRMSEP} for all incomplete variables in the data set. For the first 7 variables missing value imputation does not seem to make too much sense. \label{fig:variableWiseError}} \end{minipage} \end{figure} \newpage \section{Visualisation of the results} \subsection{Quick scores and loadings plot} Some methods for display of scores and loadings are also provided. The function \texttt{slplot()} aims to be a simple way to quickly visualise scores and loadings in an intuitive way, see Figure \ref{fig:slplot}. Barplots are provided when plotting only one PC and colours can be specified differently for the scores and loadings plots. For a more specific scatter plot it is however recommended to access scores and loadings slots and define own plot functions. \begin{figure}[!h] \centering <>= slplot(resPCA) @ \caption{\texttt{slplot} for scores and loadings obtained with classical SVD based PCA. \label{fig:slplot}} \end{figure} \noindent Another method called \texttt{plotPcs()} allows to visualise many PCs plotted against each other, see Figure \ref{fig:plotPcs}. \begin{figure}[!ht] \centering <>= plotPcs(resPPCA, pc=1:3, type="score") @ \caption{A plot of score 1:3 for PPCA created with \texttt{plotPcs()} \label{fig:plotPcs}} \end{figure} \subsection{Using ggplot2} For using ggplot, the scores and loadings should best be added to a data frame that add other relevant descriptive factors. For example, after doing PCA on the Iris dataset, we may add the scores back to the original data frame and use ggplot to visualise, see Figure \ref{fig:ggplot}. \begin{figure}[!ht] \centering <>= pc <- pca(iris) irdf <- merge(iris, scores(pc), by=0) library(ggplot2) ggplot(irdf, aes(PC1, PC2, colour=Species)) + geom_point() + stat_ellipse() @ \caption{Score plot using ggplot2} \label{fig:ggplot} \end{figure} \cleardoublepage \begin{thebibliography}{2006} \bibitem{stacklies07} Stacklies W., Redestig H., Scholz M., and Walther D., and Selbig J. {\sl pcaMethods -- a Bioconductor package providing PCA methods for incomplete data} Bioinformatics. 2007, 23, 1164-1167. {\sl Non-linear PCA: a missing data approach.} Bioinformatics. 2005, 21, 3887-3895. \bibitem{scholz05} Scholz, M. , Kaplan, F., Guy, C.L., Kopka, J. and Selbig, J. {\sl Non-linear pca: a missing data approach.} Bioinformatics. 2005, 21, 3887-3895. \bibitem{troyanskaya01} Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and Hastie T. and Tibshirani R. and Botstein D. and Altman RB. {\sl Missing value estimation methods for DNA microarrays.} Bioinformatics. 2001 Jun;17(6):520-525. \bibitem{feten05} Feten G. and Almoy T. and Aastveit A.H. {\sl Prediction of Missing Values in Microarray and Use of Mixed Models to Evaluate the Predictors.}, Stat. Appl. Genet. Mol. Biol. 2005;4(1):Article 10 \bibitem{oba03} Oba S. and Sato MA. and Takemasa I. and Monden M. and Matsubara K. and Ishii S. {\sl A Bayesian missing value estimation method for gene expression profile data.} Bioinformatics. 2003 Nov 1;19(16):2088-96. \bibitem{wold66} Wold H. {Estimation of principal components and related models by iterative least squares.} In Multivariate Analysis (Ed. P.R. Krishnaiah), Academic Press, NY, 391-420. \bibitem{kim05} Kim H. and Golub G.H. and Park H. {\sl Missing value estimation for DNA microarray gene expression data: local least squares imputation} Bioinformatics. 2005 21(2) :187-198 \end{thebibliography} \end{document} pcaMethods/inst/doc/pcaMethods.pdf0000644000175200017520000120010614516042207020170 0ustar00biocbuildbiocbuild%PDF-1.5 %ÐÔÅØ 39 0 obj << /Length 2666 /Filter /FlateDecode >> stream xÚµ]Û6ò=¿Â2®f$’"¥÷äîÚXdÑ,šMÐJ\›,¢´ÿþf8”,9J½Þ½Xäp8$ç{Æon^¼ü—ˆ7‰fÂ|Ï*órM‘tÎR!@ZÑ÷eßÞ‚Vêh”/—(±pOs.(6 ‡Bª “ Œ ߉Œé8èüûû­v÷Ö<Ð.žo@ÁW¸)†£–%ùÙBˆ´œ!ñÄ*×㜂݀É|I/MAw“ õ?CKJ½%í„ʣߒßipêZ\½·•·G-8ÓÓ¼éßѰ²Ÿb!Lg&YâõÛ×´ ü®ÍuÅ TÞ}GЧËb°Ub;ݬo÷ðä¯yô`ûztX±£¹W:”]ëì~›‚!×¶ò§ÌÛµ_´n€57[kïmt?8èŒêÞùhÅGž£(æ7<ß”‘oŠãè¶p¶,êú‰¦0jñ±4Å›ã÷ä÷˜Õ‘ ×oQ{^Ó/…_Û”-2Íû ˜Ãcûq\R< «Gàc³§€S¯’m×î~Kw\!€€©hD,dt´¸ÝïÇQãýáæa3ºÅ£ç%#ç$Áøäò´ƒÒ2ªZr©0 ª‘ƒ A ç†#iš„·ý82„8 @N}gËÞßQ[ hn¸u á hÆ”tʼ6 *ä äifIœªš þ" —TåŒÊÔ”!:ÓeÇ|@Œ…òºeg¬¿'°1ŠÎŒ B€¦Ú Š’ä;cÆ=_g·¼²Îy>LÂe! w4ÇÜËb?™R ™§Ñ”ôy7v¤¬ÆDÇ‹ü…Î2@zdKa×X0ú™%ÏÞÞäO×2ì³·ç ‡´‡ƒÕJˆ·šë gijù¯….5¿ÆÏ„ö×’#ÅR¸ò·ƒ*Ø¢Èÿ1u‘@î 1u-SÉæø\r”>ÇãÏægb–ÏÓèý k=¬o©"›Â,6Vªæ¼&¬`î‹¢µbüT)ÍøEñïÍ_ùJÏ• õ‚¡ÐF5Æ¡÷,Jž· Meºú)ìJÁº¡¨Ç(N°©òÁGèü¢òDÞ7m7ÀûµòË—C¾Ê¢â$1CUM“P¥ÁưY0xÍHg å¥Oxhî»´ÑÞÞE«ä$VäÏ5†,ùM ½Ê>©º©*mÈÑê§eಸ¸¨ØPö¾ÇÅ}?‡x,’|,Öyü5ÂÐéÒš¡%ëK- žÀWŽ…÷æ!˜ÞÔŸóõí+‹Šª"è(%\!ÒÄ`й~…3®~=åȦX¾R’OV,áíÞ3‡‡v•oS-•E]ú ž¦tO\„DÜBâŠPÁZ¹ä—™ÊE`Ñé$Tj¤À11¾%…'R È+ƒ¥†mƬWB"Ó5Ë›] ŠhµSœhúÐ;ÑÔÒÀ•y6œ“wØQh€¦½yàyËV8‘ab£¿É Po>q¢²D²‘ô½-Æ<ò²X-øÃ/ÿÀ6y*I éØ©i±ãˆÓœï6¤K1•ÚL†~ÞnhR‘P> stream xÚËŽÛ8òÞ_áË2VKõÚÃÝÈd“Æ\’h›mkZ¯å8}™oßzQ¶Üêl€¤E‹d±ÞU~ûps÷^'«X‡‰ÎÔêáq+‘ZåQƪ\=ìV_‚x}ÇQÜ×ûn¨ÆCãÖß~¿{ëeXf*ÃÑêVÅaËžûº^ߪ2 ;:ÁÎ1d°ãqhylø³íš¦ж6N0·¦®íŽ/ÓúⲸH¢,àRº¬ßšOv‰¨D‡ªL=šqW—¶k k4Uk=v4ÐÁx°žXw¬GâáøÂ"ŒËdüË4åc¬ã4ØÍ`øPkÖ˜Uƒ cÀ¯Q’Úuü® 6U]k•ψ ™Ä$"pptv×·YQ÷ŒsLßW­ ?ÛíX!qýUÎEsÚs_£4‚ÿñûTê,óìÃW&IôC‡ïùîéßÁE°€L3#£ vk«ïˆee½‘vÖU¾ßoB¬gy ãvr·†gÆñ™ºq¨Ú}(OLWü*Râ[¡ûV塊4Sï¾ï>ÂQ‹Š RMŠb.Í$à¯Â qzÍr5c9럞\jjR‚!%ž‡Ÿ%]ea™'¢äa¦Õ* ³8c¤háæ È·XKú^„ùdn4íÎ KJ U˜ä“Yô˜_¿d=i¨‹ Í¿–QF~öÎÖ"éAø†¢fkI²PÍõMÌéZ¢/ILˆî— <;x·YߦYðª×väÃÉšð6|¤+±¶­ Á'ph^}­×^7Î5qÒÞÞlqïÓ®1{»¬~È6JDý’Iý>4ýq´¿ªI™UÓ×¶Á×´èF35e|þóßJpãý³Lc½²ÞvŽ,–6ž0~XðäŽ!ðÇ´ž—‚T&#ÚÑ_Câ½ò$_’o Z'@?1 œÃÎmØnU»cÀèq.iÆ-NÖ;þ‚$ªÆÐ“輫©œëçÉw¢¶>ZÙkü—?5¸w,–¨¥ÀnªÖ°%'YÌRÏ”Wä+KéFiîUîiAž`ñQ욎” ŽuÕ¾­Àûë­aq2ØV{ÛÂ?¯ß:»ð qœ‡yFÎ!õÁøå…Ü]ÁÎA°@©*EÙœÍð²>ºž¯V£Ì­q9¨b&l_3Љ׍3Q9ÈU5N ‘ ÀÉ8žÃ UËpA(&yîîºú(|‡ÅGZŽPar¸¯CFxÙÈhÈÑÅz¾ÌöÐÕ»pIÎïØnÁÒuбÃö<â ƒ )Ðu@§* {IÛã0X/;Ú¸ÑBVT„›A‡·ÇšL ­ ŽÎƒ@ÕÞYIª+®’?­=±¢‹ñÞÑ_ÌφT®?:;ê«"ºy_ó¤&ÖY3ðô… ¿ÝÉÆ¡w8ìXÎvˆsã·µèjk$ù 6Ñ¡2›Zbáf©Y IŸ·d€)lQ?·¿H©+ûC©{9½4Ù íDiðáÑ‚2H5>"#?ÃS#½o­ˆq ‘²4(¡ç¯Å°Ÿƒ¹@8W|Ü1˲S•\™å¢ƒ‚X¢Óâú>uáU hæÉeÆÌ~IUŒ9G>Ë9.X ³”$“ȉƒ™Á¼’oÛ<µ‡Ñé`[>ET£é¦½’1k˜„_\;q/ Ôl‹çˆºEWp4á5ÎÚÆñ‚NšyçãµõIým°`Øès2Gò>TûLÓÏ*ÆìBø9zÁdgFÃ#LÄÿ¹Dqý† úb²ͳÜC·1˜â€ŸÝ±y|ü×=ð|Ì`!&RÖÿÿTäê¸4Jø¸4Ò.¥KèpåÝ2ï!õ˜/®P2†9ŧ_2 ègW.p£‘jÒÖ!ë 9Ó½‰Ž®îŲ)XÙN`HAGûLw9wlz‰F´@®}Ú tšàj'™ÂÚ̳Ŝ”_Sl$ß=MªRKâ;/ŽÀ¿w•óð0t[%00hÙ¾«°Ú€*ï^÷þ¨<ÉÎå͈ÿX6²ú!èt¨¦ S®~2ʾÀÄ뇮™Õ¦` 8m¶[¼Å޼T1d[wΣvò=ü$ôPÖm«ߨÁ˺ãÆAÒmyÖHR “ò .C¹pÄe‰æiàL# ¨D;ˆ)ÃÑWj³ÃÐ o`\h4¾Ÿ¢ÃqàÈCà˜?RÜ]KÖþèkÃ!sAâ4?³y:Œ;d/85ü©«'RŒº¢F jVp^=™8sÇ-âxÆ*ª¼¿œ+¦ÃŠ«Ã¨¿‘y±ˆR€ ²}U,bÉ…¼qFòN´ ƒ¨E­O$®øŽJÄ7KËRkyOõ(Gì3Xùa³h­vXS@b¤,D(ˢߗ² M«®©Ü9IýÉÅF‚å–omøfÄEU(©+ûcù´xáGñ¼3¾W±„ ü•PQpŠð=ÇŠ¼8‡_A’²ŠÊYf0±V dÌ/ˆS`Ôo˜Úä%§6y®t°‹É'Ǥ©‹æ×rñMÅÛ¤ƒÏ<§èOõ»2K÷Ãç°÷^7«Ýk\×’o¥e_/¼îî((­ÉQž[ #Q&X\#N#þÜÈõq¤v ö]@€í€2ìk¤¢¥Ž$ägQRú¬‹B J/[¦4ç¨0*#/0*MbR€©°,®2½Ï¶u±7ß/Äî ò5=QtÆ÷O@-êgN |©‚ϦáÁ§N4ˆÃSåû¤”õúgI©|cT˜±6›N¨H…Y1Õ¿}¿ØuSIX¨©ŠvÛ¡êG>˜š¾-ÊPA±=O¬´Xwlˆî2%³²¸€Œw"äwó„ý¡$-‚?×9*Ýf¢ŸÇ?O µwwêË,Yý¼ôÎ|éÍN4ŠB¤W.¡…ÂÁÖJ?‰óÚuW8lÝ3‘ú•Þ“·‰Ë¤ð­Yƒ-=¯©Ÿ‚Ó´ ©áæSÃ\4²jªšrƒŒ=(~çÉàŽ7Åvb\i¨ÀÙÞbŸ?õþ.@#¤8ŸŠv¡6¥hwüí6Î|0Æçiƽ8Œ ¸$ƒjYÏ<@-2O1ÒaûÜÝ©!uY€ôº·.|îþþnÇÚ§»¥z;…£TF?_¾S^Eþ¼*ê endstream endobj 88 0 obj << /Length 2090 /Filter /FlateDecode >> stream xÚuXKÜ6¾Ï¯èK Öˆz+‡ìØÆf±ñ:›Á^lØgšk=:¤äÉì¯ß¯ª¨îž‚šdU±XU¬¥v ~j§Ò<®“tW$*N«r×7ÜÄESVŠ)®¦ŒRa_Üý2¨Ý»éæ7üVÔ~广búöþæîCÚ울)Órwÿp>9¯š8+šÝ}·û}°‹3·û¬H"õÓí>¯ªèãäÝ ¬³~vö°Ì¦ =k™=Ùù(³ù8|I²ÜùYý¤;;>ÊâÔOó™‡e<ôº½Mëè[Œƒ›<ºŸ¯÷ÿ€R{¥â¦(EÆ™hžèoºÝ§M9bD“@ÁÃìxÔ´úNF ,_Ú”‘׃YY´ÓÕ–v¶Ó(0ãÜä„ðÀŒM«6|úù ºIpá´qšeÒÒ~|©A!ÅRl5£·¬Í³áÕ™ž,§°a/h±+&ÓØóŽ"Œöra~ñ8‰…xCA•þVE½F0áê0#Içׇ\„‘£¬ßREÈ“Œ=CmX=¸iÙ™àäìØÚ{–~9ø“n išåÑ;†è^_b–äуvÉø°ôßdÆ YˆÙ†°ð[d8|¶}/Ó¶ŸèN3È0OÎÙK‘³‹È²z ,òWF8-C?‘ñŸdñÚÅÆ.¯¢f*®Ó ê½ÄPéþqr-ÒºP‘7fð‚aq1çü<õÆé‘ÎWˆ9ÓëÙŠ”ì>€íã13LËÅâ°-1®ãTÍ$€Ó¿4ñ—¤HþFÊ©H%?`¥Ø•óè÷vr$„Ñc'“x:ÌÚŽ&àB>Áì­–!G&aVY4[1•X$Bß“>¤+HgáÛ™q²bçÙtbñº¾–« CÝD¸»Ë%‹¡p‹ì ûô3Éô2ÅB~´^Pëø2…ä­È]×£ZT£Ý ×4I0@œ ©ØÖêžœtnÒè²Më½d\,¾ßœ d‹ˆA :8#Ör+˜°ÈÚ³!\ÍJsÍÌYÚMNAÚëb€¾¾0oqMÒ?8$_ÉâŽÂ·Rì;ÿyûœæGûW8x™§Ž˜×ÛoáÈ%z#IþÁÆÎÌÆ v\Õ Üßüû]pI‚ü0t?nU“B øëŽRK8¤eX,ø„}«û`øF‰6rD3–"檸Žb*WÐDÆ>šàpE‰k[L x:šMs¶ÓpÒ\ó¬a!ó¬–PAZî´ëÂ>G$ä$4~$–)ç"ºÊ9¿*q´äGdp´Ö¬ÜCû-É(JÎU®H’5Ö2.A ­¨]¡” Wb“@ª&/¢¿‡$J{$,lW :²E‰#œã89/ ²7g¬ÄÍN:DŒ“õr^·4éXeèMÚ~‘¾…–”rh}_¨–WyÔ:»º()åØù1èÎÈN‹&'Ü–åZà‚ÁSI¬Knž7»‡Þ“&ʘž¹ÖAb†ºX_¹¦Tåêµå1%³æK’&Î裒ˆW‘“Ô2òþÊ9 ‰{ñÏä’æhyÌFTõÚ=rFNrgÉ´­G1óe ÿÃùÂ2b ÓÁ'§‡’ÓÝjÏN’¥é%ïR棋áôKä³;jÔ Óráü,ÅÚ†#±ÿaë:ìø@ ²È‘'ÒFШÉhíâpGTŽ´¦%(Ýf—4Ÿ›¦8®v°|Ìyì„pœ¬ßô*Ï\xËè—.E¯mˆ_úùG‰pѬ¤òg¡‹Ê¨çjgŽªKo”¯^+”—L(0â Ô¹ÐVq¾`Çá¾{˳ýÚZIéG@Ýrít[•¤œº™ôÜÜÛ·+ñ²‹x¡óº.~XÛp´Nn •™©“æLåq“ç/… å[%bE– l¬Ϥ ‚Õ³ ÿuÐ4³XŒŸ‹¯œ†ËÐú4$iÂí¥"Ø^ú@Çï'EñcW!V×%ÒG±õ~K‰UíàAr.LÜL…Î_]:Ú6 ÏÙá]DÙ²Þ¼¿¿úµ~HRY«,§¯MŸ¿&»Hh£÷Ý=1é’*Îëó~÷ûÍoòU*¯w·’¯RY× 1ÍâB½ˆß"ÙU K”Ä/âvŸÆµÊ„è8ϧŸîîŽúISfcmý¼¿Ý—¨’ÚQõuÿ÷t÷CõÞãÝkõîæiêýÝF4ª‡`Št§ë²lÕÿÿ8¦2v endstream endobj 60 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-002.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 92 0 R /BBox [0 0 576 360] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 93 0 R>> /ExtGState << >>/ColorSpace << /sRGB 94 0 R >>>> /Length 6640 /Filter /FlateDecode >> stream xœ•\Ë®-¹mŸ¯ØÃdàíÒ[5µ‘0N7AàÑI‚Àð1xßȵ¥º}Ýpî¹ ©E±ªô Hj§×ï^éõÇ×ÿ|ü~ýûõ_þõŸ~óúí×ûº®×ù÷‡ßþËâŽöú¿ÿÃëzýÇGzýnýûãG²¯þèé=Ç+Ï÷¼^_¯:û;%’z½~øFN*½;Å©ö÷È!¹ä’Þ­G‘»AIý]S4¹Ô+½óÖ òhp½Ÿa7øÍ|GŸùÎ;úËçŸ?~ýy½Ðÿë•ò›üÝÚû*¯üžóõã×ëï~Uÿþõã?þáG×üóÐTnƒmlþÛ±y=R>ú½þvhIå}Ýþ‚^Ë=ÞwÞÐ_ð°uæ÷Ú­å—Ø›®/äTÉNâ>䥻²oÅó!žßŠS~ÈÓOÔ§þlпm¯G’gƒ§…ù'&æ§ù'F–§‘ç;8_ïñNu¼êÜìË”òNƒ©|ïÛü,xlðwÇÄÏ‚SÚèôËÑ­¿{ÿë#ùçÁw€yϹø—?tþå¯Û–3‚ës2p¹úhulòO"ËZ'³Ñ6"ÿ{ ”ßcÝzÚU}<]ù]¯×ÿþçëß^>7†ÞËëükÃZ‰¯¿¾1|á–!ß™U´üœVç2›þʆôZÓh¼{]Àû}õF6g¤wm‹Z6´Eåw_‹K»Þ¥Šú´ÖmíJyË×Ê·±¤ ­É™ï:Û—í[7(o;)—¥À>ìþüøÁÚÛ ±Uÿ²‰òur’5Ω¾KZÔZ#mkövIyiu4·|Ú7 ,)×Öà¬dONlïºuƒBkô-9ìö´χ¶…´M–à¬a>ôR.Þ-^)ëŸ@r|aE¹n´'Ýn±ë‘æÖ Ê[³oÉa±»ù]®‰%¨¾GÂw§û,ZÃ>•E xë…gQŸÇW”|½ÉKÊuÇ›6Nñý[Øõä‡n§Ðš}C.»€}ØÍgYÀ°q—c¾ˆSýË–ú¾mÌ6ÿ²kí«U”÷W|ƒùzi–TŽù"Îú ÷Æ^>¤ûŠù¢¾)§]ÄžvóYÖicr´wæwg-œ 3ײcs{uk.^±WDÊû›ÕT‡¼Ùk ,)×Öä8­Äæw;t;…Öì›rÚEìi·Æ˜;žö­ÊÅ1FÎêvÙswÁsïb­,I”ÆA¹B¾ÆIÛXQ®­Éɶ€Ö½ÞÐí”·Vß”Ó.`vóYÖ46M×v¹œl+DÎk¿¹ým”µ®Í® QÞßZd®¾åÓg¤°¤\7Zƒ³¦yº»¦ñ½uƒBkô-9ìö´[k2V–ÚÞ•óEœnƒÕæ§-"k©OÃ×Í2DáMwß$Ÿ¾€ KÊukMvNqë„…c,ÝNi]ñ¾)§]ÄžvsM^ë⬾?TŒ±à,Eø öîJÃ*Zß­ŠÂ*Ûí(òµRXR®­É¹|Ò›ï÷غA¡5ú–œv{Ú½ÇXÁ¨¹ïcÎñ'ÎkãhwÌæ5|ãp ã ›Kòa¯0°¤\·FäÀlׯ.wæÐíZ³oÊi±§ÝcÝ½Šækê×É>æmo^ã MƒÚ±•ú[ fù:¼ÖµWpq*Æ<±¾®†î½‚«oÊi°»ù,pxmÕ¾ø]ÄÉ6óà¦[|e÷»tQŸ\ÁÝg‚| ¯åºÑœvûÊD¬½‡­”·fß’Ã.bvs¾Üɶ5{ö5¿NޝãéÆ[oã^¯á®öÂIù˜¾›ûx’wsËKÊu£59îâ [oŸ(Ô ­9¿)§]Äžvë»$_Õ—ë#ßRœõük-²ùW|í3ßÑægõɯhޏäö®À’šá[ŠÓm%vù uë…Öè[rÚEìi·|˜ì^ÅÚbS£CÎz)Å}…²^ÃÚ”×p0¯ÂVPð3º{X’…Â’rÝòxŒ³†SïÓOÔ ê“Þ”õ-9ìö´›Ï²>™ šÏ"ÎmNB^1Ù³\æNØùÃF(œHÖbœ·¼ã|C,)×ÖäøÂÿOºA¡5ú–œv{Ú½çKÁþ!Ÿ_œáKä³ÍÎ'Ó}ú5¦}·™áó¯1ßÚ–÷÷8°¤ZøüâTß„õøQèÎáó«oÊi±§Ýc|j|œn³ÊŽ´î‡à<´Ôš-cŸ—–ê\·Ü‡v`I¹n´&§Àó%Ö·ÐíZ'yD.¿ä-9ö´[û |Õê®Ñ×É™6´Í³0Ïv­%»MºEÉ+ésËoßð…%5Â:qÜõ lµWºBköM9í"ö´[>òuÏ>™|~r²v ëÝ@r/Ýv[Pòâm••<¦cI¹n´gÞîë;×#mÝ ´Yß’Ã.aO»õ].÷#êe›î×Éɶ)›—>àÑÕêÞ^î¢tR´ÝZòö¾,)×­7mœu$Ë-°k®][7(¬oÉa—°§Ýú.Í·µ5F }ršoÊy.——çTÛÉ×ò˜EáÝ­SúòõšÒÆ’‚no-ŽoèÂ.¯ºoÝ  }KNK‰=íæ³Ø ½Ü¹x~§ú¸\ƒµã <,’Ó8pê“(óÿ$÷(X`I¹îˆ]îy˜"ìågé¾âl¤¾)§]Äžvë\y½kÁ®Ø9§¹„UØ6›¯âÑP8ûUÌ!_3àÀ’rÝhMNñ½TØìqéÎQß”Ó.bO»wÆxË%â0Ʊˆi¸SKÆ´lýúÔÉ-myq[‰%ÝqºÂ‰ÛÖlb›c¤ž}S.K}Ø­};ñZDtF§ûIqAmŽ­ȾórRÍÓåý-³[ ùz¤±±¢jœ‘ÅAÔWØä'EéNqFVß”Ó.`vóYÖaz-Ÿö´“þ˜8·òr™3iæ-^¾ªƒú¤'j:É‹ïÄŠὉÓ}Ç Ö\™­ž}S.»€}Ø-?™±™j‹È×Éi¶ÈX 3Ä|¢1%ùLæÝ^[Q$Ç’rÝhMN¶*°É£DÒí”Þ“÷M9í"ö´[ë}Ëfë×ÉÉvÊÉ•~D±ØM®ô3JD‰*ýÊé£KêŠ(9Kɵ8ËÖ ­Ñ·ä°KØÓní•S' ‹sŸœµGX„-ùn1ª5ÇìTëg©³ÙÎÝuË‹pbIAwœà»ïæã»ã²uƒ’ÇSFÈe)°»·Ïïç“ÛÎ_çv§Úò Öûíî·çš(ÌÏêã@ò†C±  ['ç ?Á»VбuƒR>Äç>å´”ØÓ¹-wœ÷Á±¼M_KFõ¥Þ<¬5©=0⼿&ýH!_ëÔ½± ¨[ë˜s†{XÀÚA „nRZÇFÝrZ ìÃnÅÇ2âåIgäàd;çÚä²óÛzi6ÖÜíY”"^ ¥|"ŽO,©¤3²8kd˜ƒLìrêÖ ­Ñ·ä°KØÓn_šÇÒ-ö¯8?9Ý}¸20{†G¼–›gF‚úäJ¡œÆðÙZ6VTH¤8ž­ ,|9éÞ¾žú¦œvû°[ß¹<(Æú‚Ó=‘cqÄtûíù2Eù»›ø ’7sKª*Öœâa a³ÅòBwV¬/ú†\vû°[ûKñeá1÷Å™Ú\lßÏp`¥ÈÊÈ[>}Ò KjÄÜÇ]a/tAÝ ´w™@rÚEìi÷öÇRyó,!‚n^Éò‰ìmÙ¶u»Ésˆ’?æ±Ê òÀ’‚nùcŒå{ ØõÓÖ JþX™!—¥À>ìV<¹úIÏÂ<#‹“=’“›%,HÒ=l§#P‘…h[~Û´ ,)×Öà¬ù[g`×ÜÎ[7(´Fß’Ã.aO»µ&c~YÌL¾%97²ÜßåòÐZ7g¥UÖ¿ ä|ÝXQ®­Éé¹Öby[7(¬Éè[rÚìÃn±[±ŽÂg§ Ë}ù4>iÍ/¿‡(šÚ¶¼ú)\XR9¼jq|R Û}K7(åÜê ¹ìöa·üdwÎl)Ÿcât{iÙ’ªð-¼Ó”EáMOsˆB~£rXR5"¶â ‹&,²hÒ#b«¾)§]ÄžvkŒU?k®A~²8ðèwGxtöe/QíÞòÛÏÀÂ’êá'‹S}ÙTé.á'·Ø™]N»ˆ=íÞ{eÂy'ß±W:'û Þb¾Ó·‚YlíìP¹o6yEt„XQ;;DÎÚìDMìðG’nP«ž[»„=íÞ>¿EyìÌðùoìôv6\ž¸­}˜†1è]”¼øT·¼#‡B,©3@œŠ 7b³Ÿ¥;ǹR}SN»ªªãîC÷ÔÞµ«œ/â ßÖ*Îoëmؘ­œqwŒiK‡ô7® C>öºåù:§Ê×åihºKÄDÕ7å´ Ø‡Ý»î"!ÔJÔ]$F ’Ç| <0s×—U”|¦’·Üƒ¯%åºÑš/W l²€FèvJ±jï›ò"/×±§Ý{Mö¨KŽù"Nñ1¿ÖEóøà÷ØNíq˜ð°l]õåqbI…‡œËÇ<±kAh[7(­ÉîmB.»€}ؽs¯¶æ¹Wî`vRLC»›gìo?/RîÕΔçäg-bE¹nå^ãÇáÀ&{HwЏˆú¦œvû°[~òtíV£Åü‹8Ó'×@%”ÕiM_6lw_6{NGòêÙbE íäÁiö…]îÈØºA}Òc÷ /Èe°»å5_÷ìÄ¡rÞ]Ç0QÇ1Ýg%«õ¯G+ª+óœê§Pa‹ŸB¥»(ó}SN»ˆ=íÞsÿB^ºõ˜û*.d=‚âô‚ó:(Íý\·|Â+!tkîW¬$æñÛpÖ^a¤ƒu ìHãÛŒåãÀ&}ÚòîóWXPÐÖäø)TØâ§Pé…Öè[rZJìi·|˜æYæÙÙ¯ƒ³¥ê1‚ŠÓžE Í9é¢ä•Ôò~©‚À°¤ [‘îµßvuqoÝ ”©­sËi)±§Ý;_i‡[«)ÓyŸœŽ1Ÿ¤”òÈÖ·ä´”ØÓîã³wc Þ+r|Îé~ºJNµq™®8ã‚RÖŽYr—wŸ­Â’jª¹ NñŠFa³Ÿ®¤;«æ*ú¦œv{Ú­ù2Q#R#/&òµC…€íäœq tRÌiË‹2<†Uãä&Nö\“° 'êNá·ªoÈe°»uc´;i¯ *º—ÑyØmúéˆû8õú†rDy…%•âÔ+ªû‰]̱uƒÒ“[ß’Ó.bO»9_&£•Ȳ®Oœ†ÃÓ n/ßÚ^ꓳ˳¿ß˜6ÄŠ*Q©'>ˆ°ÉÓ,ÒT—}SN»€}ؽó•v­ž”ú:8íBX9¡Æ+!¬\T™ª,÷UýÔ+9ª…ÝhMNÔÄVT¸P7(å+½“rZJìi·Ö±Ës†VÍ¹Ž‘ãUºöî&¢¼V‚·Öš’DáM»KrwöKª©(8ÕIX¯Ò ÝY•@Ñ7å´‹ØÓnå÷9&»já‚3Ü×ͳrÇÙùœª…³¬áÒK*‡/Nòjb-8³uƒúdÔÑóÿ”EP{Ú­ùâ¯Ðãª'g å/Üã,Xãk¥:ó©$/Šú3þ•B·NnΩ~¹IØ¢ýÃuÇJ}C.»€}Ø­ïr£*¤Äy_¿à¾N½‰ÕtYÔ'½jæèn2ÌKªœZ\)î¹±<ž¬ú“¨ÐbßË.`v+v‘‘Náó‹ƒsu-¨C¯îÓ׊Øv Ÿ-2ž¥·R„:/´Èpr¯صíÍ­Z£oÉi±§Ýû»\8á\û»8§ùŒ+¼?ž&OWc?cP^áÙKªîê6r›ÌÈë–Cw ¼ÄÝ…Ò·]À>ì–?ÖÜ£³8'ëaÄ)ˆ( ¿{´aºoJçýk„|çóÆŠÊQ#ÎeA a×Ü®[7(÷½Ú‡rÚìÃî]§Ô»¼œ¯“S‘£§_Þ¿G¬”Fͬ[~«rб·*"¿ONBŽØ~#Ý T;À›÷µí"ö´{ïû ;T»bßw¢ªkïõݸá²möª`PÚ÷mHÞ<',)×Öä¬u5¶xYºAiß·¾%§]ÄžvëYxeÕ£´_Ç’#X yOª!åѰ}w(A'åk•-K ºµ‚Vÿ—À6O'K7¨Oî©n9-öa·ò•U[}×óWÕˆYôÃâ×5õ^ÿ5#¿Ï,·ä·ªgKªG~_/ lQ½>kË¢žŸ}SN»ˆ=í>j{Pg®œ¸8~ÉÁëkxCsìªô9qU®SîA¾À’j‘§z^[Øâ«¬t—ȉ«oÊi±§Ý:ïû'ó3ǘ8ػ˭ªuûÎ6X‹(Å♢vyÁy XQ=V&q°w [¼tCºKÜ`TßË.`vkM¾±]ûþ 9¼ó…Ú¦µ¿ò~˸E}Ò{cnÖå¨nq׬†nyXõÍ~ÿØŠ¸u×aß”Ó.bvïu,£²èÚõ–µHë3Ã^ö’÷ÉñîÖZTë–7ÄŒˆ%uE539V‹»l-[7(­cul9ìö´[ñäŠëé>4¿NN±µ-¦«cÿ% 1_Oä†üö㥰¤RÜhÇãšÂ®MrnÝ Ð}K^ãgÚ7vï½òæÅ³{¥sP±Y½ÐÔ/­5ßϘi•Ï_–üöCXR5|~qüR[`ýøºSøüê›rÚEìi÷®¹ê¢Ï]sÕQSU÷:tÔU4œ¥æ®»è¨`£|m3ׯ’»îBÔN;PWAÝc×]°oɻЛjúÆn‘‘“)‘ Nà ~wA~åB¾§ìüË¿]r䊄%µó/âàÆ¤°È¯H÷ο¨oç„]Ž}Ú­1V•Ñ+òù«vÛYý;ä¦.ä g¥1ƽýBαØ[?y¾â¸£XÔŸH÷®OQß”WeõæøÆnùü+“¯<_''+ã’à['dLz¥˜oj!/yb`E¹n´&çB>Ø:•á'Ÿ‚}KN»€}Ø­ù˜mÕ½¤àøAÉo>a·Ý¶áz+(ÅâÛÜòáµÂ’ª‘ÇYM¨µ¡îµ6ê›rÚEìi·öýäq¦ž÷Ý7rP7oœp#ŸwßèGÄÝ·†ûtUwß®K*Ÿwß.äO{,RÒÝv¥)û–œv{Ú½ëak´ƒ%g ÖéA«Óš^³R§(EUïò´%±¢zDlÅ©¨S"¶x’t—±eß”Ó.bO»w¬ÏÇdÑ| Nõ”ÝÉĨ±PÕkh5ÖM‹×±†8! Ñ,©¢ùÿÕ‡À^î¼H÷¥ù}SN»ˆ=íÞß%!¦;Vâ°J9’îêÍæ]y%ëÝ–ºå·/ŸÂ’ºÂ+!Ç¢9°¾Ð JßÅs;”Ã.aO»ù,wÒÍîÌ5Yœî{Äz[73ak”®7Y‡(ïïÆ­)Éê‰%Õ"j#NñýEX/ Ý9¢6ê›ò¤[çc|c÷¾gakÅ̱¿ˆƒ›¬6 X{Ü¥3†­L’ã~±¢vvSTË›¬ºmpd7Ñ7å²ëÒÌí‡î¸cÇ.å}Ç 7‘ü.SEŒ_Ö¦E¥ØE/[N7ØpUmVÃM´uNØba»Ð]¢ÚL}SN»ˆ=íÞç—ŠU¶”8¿TœØ&â>¿äbÖÃŒó¶AÏ[ÎzbIÕ¸m£B†âŽè@?t;¥óKo!OQ3Û7v+Îït–8ï‹ã»ÝˆœU~c~.(ŒiTRP~ãwìˆUâ¼/NòÙ,ìåçyé¾â¼¯¾)§]À>ìÞuãVíP=¶ýupšß/0E7b‹>-22òIq/è«[Þ°Ö ªF$=81%oÜ©[wÝ97öM¹,öa÷‹;‡_'gx„ØbTŒ]Lݲ¨ˆ¥-÷ÔN`IíŒâTÿ añ³€Ò½o0ªoÊi±§ÝZÇ:rOWÔôŠ“<"ÝýÒ©{AûC¥uìJ!~áUXQûÆ$9ÅOÂ.ǦoÝ ´ŽYß’Ã.bv+¦äeÑçÔyŸ\EËXýÎVòÂeˆÂ˜.ø}2Êù["Ä6Å‹ÛËêØíÌNì2«lÝ Ð}S.K}ØÍùbw²ªŸ›ŽGjÍeàorMW«(Óv,oy÷Ó“°¤’"Pâ¬E¨—À®ó|ݺA¡5ú–v {Ú­:¥®2Œ'‹c•òp*Y«šrçïjeýMÒ¯e”®”%ÝhMÎDlX;„mÝ ¼5û–œ–û°{×ÁfÞ=Uì‚Ü1[ˆî—âï<+7÷® õ2·„L°¢\7Z“ƒûÊÂúÏZ„n§´3ëWÚ¶‹wO»íY¾ÿ#³ÏßÄÏÄÞ~å룭³^õ˜åÿiéˆ_cMßý5ÖŸr­‹bÛÌñ³v¿­bÉêt×güÔ™ypk«a}šÕ2MþŒY\-óyù("VT‰ Hâ`0 ‹Á$Ý×¾€Ä¾)§]À>ìþüøÍj_×2`ÑüºÍ×Éñ{‰uú•q[ ÖÆ?x?žW§_9¹ÿüW`IÅçÇ7.a‡‹H7(´Fß’Ó.bO»íY~ÿñÿU¡Í endstream endobj 96 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 105 0 obj << /Length 2908 /Filter /FlateDecode >> stream xÚ…YÉ’ÜÆ½ë+æâL„ÄÞ€o"-Ú²‡ †8(jÐ5Ó¢ªÀ!õõ~¹z!h:+kAVVæË¥_ÞÿðâuÖÜ4qSeÕÍýãMšqd7Û¤ŠSÌÜïn>Df¸Ýdu™ÙãÜHèíŒï>ß‚²2=Øy2} ým¶žizœ> ³GÞ::»Öø¨G_¯ì@{=Ò¨74øÊ›déó¾ki¼—ÎN"‹»ýxÿï›äf“¦qS–z‡UEù=ÉZ”ÑïI–<€ÜF£÷½Ý –û~ú#øUÆ"aå¾Ûíì Û‡qØôÝ`Í$ãE¬­ˆ–vßqöÇùv“òUÎ÷èUð‰ö6…’&ZdAº ‚]7<­ÝÆãòb+·É‹*šl;ÎOsëI±4·3ÞÄ·›¢.¢{Y¶ú§:Õ £%!‰Uè2gí ç]t@t§s>œÊO]/O_H\‰Äo:çè2›¢*£Ï·%Žîg<éDúõ¤:•“é í@<&xsÅ÷’fÒ¥®;{,ù*+º§aœH;?ï­~ 5´¬{n†®±¢b;M#¤H Éy’ÕI=1“Íqæ 猴\á3÷{2ƒÙɦ·wï^ý$$+™ˆ~V+Z(Ͻ“£éQi—™½.:¨ÚV„¡l=æIÂzÌšF„3¥øqÔðx-;&é–DÀ€hZ|h «xRû8GÓÜ'–¥÷áüqè¿ µë~OòÜNvhu®sAãOb­\¤Õ"10ÊÏÀ(¯ãmÝ`/|§+.à*Ó0Ïöç9¼T샮qœ¬S0açÀЇ  ,0ºIÁKè`ÑÛ“EoŠ&®!Í…ðôÄ[xÌ~œ<°Kì ‚5úå§ ¢§IÕ* ²Y{P¹ØŽ”ïÂNã—3ØÒ·5;‚rev²Æá‘z»æwΓ<+¢vê¼Ä\‹"UPÀijé;ÉN¿>¬°Îw#ÊÃÐý,òÒhg­ì°sºŸgò“;Ó€¯>è3êÓòµ£ YY)â–°>x—}¥Ì"vŸý8÷âAy™GŠ4{ª5Îê–Åÿxÿx°Ï¬ã³© b‚ˆ,–*~»¼®Z5!òÏ«LjßÙY±â¢8³â:‹Ë|±ãO?«¾Wì½Lâ¼ÎÂJøî·‡¥Yœ%Ù7‡½6¤0håÛC·iœ5uØDÝY¼,ZÊïÉ2ÉaŽf®`2Ö¯—7róŒÛdiib Qu¼íަ§ýÛ’€dEÒ_ËÕW`"¿'eòX£—Xz«Å ‡ÎÊè±™Ðô;†¿Éwìá`ÜÁk¼ïÿ Å̆C[¾—Ê܇꣊bô{¦7«ïÞùýŒ©‰÷…c0&É›F/CI}šèÝÝ{·O€*Ç—¢Èp(\‘çìeE+™XÙ/¶å(ÁP¤!â—­!p0û,Þ®H|­DR¥{Ëñâ3C Ï.8-±]T”ÞQGÓx ­æHarêÈ–™Ñ û=È#kƒ¢këÉÉ Èø‹×eN{<¥æß˃`›î`z…nsgY' 2ž'‹ÏbÉ×¼‡qZ¬›®d@`äåßÔ 0É€H˃RÙ=8¿Zq€äÒò pt »¼#iSNBØzµAî²?õ’øîî½~ ²‚Éw1{ãŽD íLšfp]I_8wxº•G$>:ûÜíX„I 36tµiBøq`ujÔ K¨î{÷‹¤1«VT ÚpþA'Ÿ”‹Áb±2”$þ¶Éò2ÎËúÊÔi€äFj‹&ËÈEŠ»c|æhÔ æ´›}[5W¹ÊGÒ-è¬X°uåvu\$UX@³ÎËуíHãœ%J¸çÉ©¤*©Š±d¾\P¦ ª¤gÅ»æßI§`œlŠTŒ‰ókÐoºvÍ4…JI\ó2U!Ær ®±”yn@¥T™ô»l ×Aêô#qT·t×$¿ÿA'€YA e›íCú–“UÉÝ!sÕvªQhk[$ª-,dϽ BX“ÝW6ILÎ@¶°H³_…Í`Ìø|Q+ådø«ù¶Tï Ce³ÀP•œÁÀ<ÆAF™À$’š-í„Ç!~?l?âÛ”QV¦‡ý‡E3\þp½WDÛyÁ—k±æ¸äTKT­Ä­¸‘Âý„Y4äJ„Øì¼w”_*ÍÏ„æ§aÃ>äu#—ôUvêNÀWc©{ˆEŽ)š¼äâ‰6¤EÜ8/Ü@tn¡Xàö1ÖŠÞqê±ÃõÝÓžWq°çT™Ç•À€Žà0ˆcpr#ŸsáC¡|–‰y£U9ˆ³˜B):ù@•h"rê‰ ã \¶u¸ Ã9¥DÎO]«Ë|ØLXº?ÕRá;x’äKêßI€ô0n~pÖ Íu~Ûº<5 !tÂEê¢ÆEXV̆_Ô™H3z1}‡³Oñ\WAúݵ*h8ÉA¥r\ƒe®ù)VIêÒÎŽV¬¯XÃer…Ô‰x~/ȹ[ÑN«›µøFפfbS ðÓt¼ õ@yéæÄX*n½p È|nÖÔÔ(;μTýõâ´;)#ŠË2³|¢ë/6ZX˜áÉ®—«1wG´µbBu;öJ„NŒñ.4\ø´þ¼3£—ÖNÞtCÈÃ!ú~9²—$N’TrI;s2cè=dÛy3ÉDêŒrí$‰þi½W«Pô¢ô Yk™^æÉY×i€Kû^^ªÔB†Ê›O?ÝÍ“W;QM\oóúÝßÖ9r–åx6>–¡ îe.®ÌiéN´5P‡L¦¥LѵçÕ•ø‹ŠpñŽt"ǽ,S£ÁkFMÁM¼Æ?ZÄuQ*j½ì4g8 \ §ˆY<¸Îë:z®•Ú C=”%‹jöÞÿþâÅóó3]&~èÆå\í´… §§+zÏ’¸I—Œ[sÓ±à5¿À$]ÞߺAµIY4µÅZ!“TqÓ,•̯+Ÿ„–—²pÚö–ãÔ©§|urµ«¬\º™¦ý„gw+ç*¤e¡†ýYåfØùö𲌳béú¨!‹6ód§Éö:âÏK²&ONT?¶Ü'êiXDvRvòà‘ãN¿VÓ¥ÊÜ“R;Q¾¿î ÒÐ;KQý n/)ŠÌ ƒè%unC~“J9FÛ–5vG!ج¹€ÕP!\þéð©í;õ5žñ; ¬ë¥,vøKcSk­ÒøúË‹íåÛ<ºë俼øïÐ}¡r£.¸ȳrµ-µgé TDþ$ÿZ¥Çy’ž ”îÕ›hâýöýýOwwëm¾ªÙžõù³œúÐGA¨:YUrà†¡ö"Ƚúõ§·kªÊãm^73è„ÿöà©ó³ú¸¦îŠüåB´B (ɽkéœ2¡ñ‹òï©(Kó8;yâoLˆ þžÛÕp»zÙÄ>!þƒ«×/L¹}ZfMYE×Yúÿ`¤ŽËbÁ'[Ó´´•ü—CS²¢ ©~¾ÿáûMÍÏ endstream endobj 120 0 obj << /Length 2204 /Filter /FlateDecode >> stream xÚ­YYÛÈ~÷¯X€,šM6¯``} âÀë83³yÙÍC‹ì‘óвÉñοOÝ”¨¡<Þ /£ê꣪«¾ª®â¼¹{ñê:«ÜÏ“0YÝݯD(ý,Wiø"ÌWwåêWïc§ÊªÝ­72‰¼a¯‘ÞAë(ô¾¬V;ý—õ¿ïþþêöœœ&?£UÀçÜ­³Èë`wy5œÉH[¥<ÙǾ̦‡Bý¬‡}Wš)qâGA:-µÂ ÔŠcT‹eT-ÿ>âT7ö ÓÈ—¹t§Ü,ÈÉýPN Œ6¦êÚ—¸nµ‰„ð%r¿yó’…=ÖøYºbúR¸óêjÛ«þñ· Åz#ÙÌBÿ‰%ÝOcÞ†VÎÕ©…Ö_…ÄÆó§DýŒ×œ?%´ïÄÏvª€›,bp¢†¹ÿÛFI²Î™þŸ:¶]¾Ð-uèõ™µË ‹¶3Õp‚Õ¼7Ì8ôúp¢+…•ðP×—¼ÀªÖ¯¯Ú®ÕW–ª º ïn~yÿŒ5šòís2É%§ö9— žÈ?•}Áöò7#ÆL*½Û½c‚ATà%£LzŸ?¿ýé%ϼ9’°ºj#e2‚h«ƒª ¬ãagg¤Œ]:8öFƒ…â©qû~-Vy ´8V1€V4Ó…;†¹/“Ø­ýÚ«ƒŒžqáj_héݹ°ëµk›“\FS5Å¡¢3¼N-é—~”œ–¡7‹ù"‚·7Ÿtë iC*øæùÂåèX7!”XIš.b&[Ï1ĶpYP4Ó”×Wæ¡<ÃÊõOoß[Vû¹0Þøä¢àoH^|€Ég$ÓÂïüæÏIÞþÿ$ì?ü É`ì%OÄãü™ÙŸŠOÎÅ¢èúðø®„ô@ž^矓þäòŸ>’ÝqtY6žŒÙõ¢ÝD»ÍêÛAÌë(¾/y]W»±§º?ðB.óÍž_ÃCÅ“‡º˜‚"›&¸¨†®vºåšÂÖ̇²a,{¼ððšKÔy–L­Þ;ý`ÓÊÜæEô”p ¤¢,K¼÷,½éÌ`[•<†묊¤[ÐKGRxð@EE_©¶ ޤ†3…:àMJærµ…ü{ý•‰šÛvà ÈÍÒæ@dÔÕ*¸êG+¶cþ¡ÇÊ<õîc±¶ªHo×q-jg@ÝT†ò?6#§¦Ç¡6CåÚFsZ6”­CÛm,*}cû¶À²©F²usU]3AIj•Æn@¬¤TEà¨j*(©—b`#‚+\Ô)˼´(WfÜn"a×1e´öj`м TNŽä9»hîDäÐCD'öZ•NŽó(޶ô8-iÎç AkORa`ݱHD°}4<73>Œ+Ë?ÅŽøËUjÿå(†+»S†½;=ƒV‹Rô¤¤¾ù\\\¼B<Ôdê `‚ú>$¨(*™.±u"ÝÛò4›ß“HXö4ô¡€×›b4ÆmwÝÔ±Û@kÅÒºV¸äƒt´Ü Ÿ+çJÑ®/]õA>ä±L=FŸíqlsxÚ¸õ$Ú—\žu`Sã6¥O H¡Ö‚Z­ç¯PÌ'2;À(º¾×ÅТ +f¸€q5Ø£íÅÃǼ 4»/µâ|6ÓÝU|Kœ¦#qk@3m¡óŠçNÌ…›¾Úàœí$_Ô .\P\’ŸKU‚¦æ)ºªNf€0d—n«6K.ÝV5ô”UÁk]V±IÐ0WíàÊèE{ÍmßÞ I=Å@©Ì©ø!`ìÕ¤‡N¶²÷ç¾_̾ˆ©ÉÔä/ékÛ㌳¯è‹Çž‡vg–³Óƒqº†âGófN„<Â>GØÓv—G m¬ÃÞ„î£EÈÁ‹'@†º9ÉØïp®Ðs±”™Çf9ЦžMŠŒKøuѶÉsçtœ™ÛŽy•sý~fL¯&ÐùëüÏ ˜åX`Z׺á§g0œ€“š½«3?Ë,ˆbœzñþîÅe†– endstream endobj 130 0 obj << /Length 343 /Filter /FlateDecode >> stream xÚu’ËRà †÷y –°¹‡¸³ÚÎè¸Ð™ìÔ&˜f&M4!úúÒBjGí°àç\þ_ ‹Æ%1”©)1Œƒj—}d$/”Î'òb©/.nwÜ ÙcXK /žøÄtUf^€‚škP¾¦8QŒ) 1…e žà¦mæÑ!,„€üa)\·ˆÁÆõˆçð) m7§’ÉsåS‡„vŠááÕÛ¶wu<}µ~UÝ>S!ܸ÷2ÐǦóÛá`^O襼ËÖåñ)ËK˜¡Dp•èhà éüÈ3tÄy:'¦ÿÐY&+C$5¿èhE £hï[·}ƒ,n¶¯£àq«lWÍõ.€L™%¨ÕÃõUTïÝà½K¶ 'ÐäŽ^Á¥šñžUxfŒ„_$^p?ãõɇûØá8> /ExtGState << >>/ColorSpace << /sRGB 134 0 R >>>> /Length 877 /Filter /FlateDecode >> stream xœ­VKS1 ¾ï¯Ð‘êZòcícIig˜–¡M¦=02Ú0áhÿ~¥µwã ”°i„|±Ÿ?Ë’áîª/p.*m¡6ÊZ0–TM€Î)Gp?‡ïp]½]}ý¸ãI¥•ÖÊÏÉø¨"E~W'§ á¼B8ä¿Ë Å>W5ªÚ‘Q¤áªB‡J×€•ó°¬Èhe5 v*6:Š=j«b-8D±ü+2œãm„´ª·JÛ½‚?Á%Àdc=!ïåå¼v=àï¨5Ȱ0È[ì$X”œ:Š…Áþ4Kp¶zF‚ÕÙ>D˜^°Ð*/¤„}N¶–Cž^ÁŽ`zYL›È/»"{1ݵ/½Þ—¨VÚ¾æõ¾Fû>g;À7¸>g×úæÚMqæ›@”qIéuT¡EÅ2jÞ–éÖ3, Œ•êî , <)× –Q ÷Î Á “n Ê=”ú¢¼)´²\åj-´Dþñ9u_ôŽA8'o7ØÉwŸCrtVö›ÜwÈHaHå¼Cv’Þ‚Ù}³¶Ò-®¬N§FÓB¢ ¢ô½|Š-ü ©ÓýóMÇX«yƒÒÖ™àÉÞÁâÇüz\Â{¿øŸƒ½Ùòq¾Âôð•»æ¯Ì2XåCŠ9y˜]ŸÏîÏá|>â›Ê‘³‡ÅÍ5Ü\Àñ¸ =tÚîãZ’OKýi^º<"ÃmƒÝÆà©ûƒÇºþà©CoðXÓ &dÿ½Â :MVvщMÊŽÆ©HEvÃ7Ù +ŠìŒë¸Îž[M“á$ŽÃi5ý%{’e“G£Bè«àM_g7Ưë©à[åc‚¨˜|åžÊ@È¥‚eú ¨—¾Y/ÒeÊéÖ9}àêáÝZ£f£§/”3¢¨Ñ¥Œ$7´Ë<ï`PJ¹Ø.C9ßöqª@íÝEŽ-_-\¹¨+yôÍíUœLCVQ‡›ž=°öÛˆœˈ çˆCÊ7DœEÀŒsÀÝ*² ÍÇdÊÐ ·¡‡YÑy9€uÄ„[=_¨h¾¬Em¾öcs§*Ï*ãÿó3Ü%45S„Ò ;¿ðºIîù Ýwò(Pü÷wò÷üìIþ“oïW·óáAÉM” G‹ÛÙr;Qá6›•<úTøRý𚙯 endstream endobj 136 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 117 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-008.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 137 0 R /BBox [0 0 504 288] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 138 0 R/F3 139 0 R>> /ExtGState << >>/ColorSpace << /sRGB 140 0 R >>>> /Length 6919 /Filter /FlateDecode >> stream xœµ\KÏm·mß_q†í 'zí×°6ÚA[4µ Š‚/}Äðqázп_q=¸u ;ÍE’Á½HjQ”6%QuêãWúøæñý§_?¾l׳ŒÇÑŸc<êÞžG{Ôm{níñ?ÿþøÍã»O¿üá_þþ‹Ç—_}*ÏRÊcýÿ«/ÿiríñ¿Ÿþõßåñ»Oõñ«ùï›O5 <þñÓãQ¯óyÕǵ=K}¼Æþ×£•ò¬ýqÏ£N¢>÷*âcm¥?kIéxöGZY”Œ–ׂe­ X”u‚ak€{³õãÓW°öµç.óÉ8Ÿ}vØuAÕõÜvèŠ@°¢3$í08Ðê–²=ýHÜxÖ[+ˆÀ:Á°5À½ÙJó[Ùžu{\å96˜oF}^aÆþì{4~²Z9žç&‚6]ÏÞ-_tKœhEQ2ÎÙ}‡qçž!­$¨uZ kŒ[l•ùµ?K׳šOÆ9ûäœÄx¶‰ž6•IlÏ£‹ Mdzµ”žÏqã@P+‹’A?#îØŸ[j%Á¢¨ÓRš'Üb«{W·´¡Þ'ã ¥Ñ5Çíŧ¸B/ wé,$i­HœheQ2öP'Ü9‡pj%ÁÞG–ÒâV[mþlë&ì]æ“1ݳâsÍ>˜îÑ;Ð×%‚Í.=Rz=÷GZíg“1W‡qÓ=®ÔJâCÞ;ë´Ö·Øºôþ-:Ï»÷Ñá}gOœáÐÛÉ~ÚEdïo–Fÿ&޵fïáûeÜìÒšZIdïŸ)¥yÄ­¶jæ™sòdÕé›»¦qZ‰qRñ<æ o5̪Ó#Ûn óD¸å¸ågX™XRÔÍÒâa›±Óû¯[7)–fÝ–ËRaW»Õ–ýÂÂÒÚs4¶ÅœópóÚæ 0™ЉúPËçÌ–rþ1V@,-N 71¶²Bé&ÅÒ¬[rÛEì›Ýþ.#.Ê÷¡ïBÎÄœµG‡OÌ\X£ïÎaÊ==ÇDʯЉ%EÝ,-Γº±uî·nRnyÔm¹,vµ[m9dz\:]ÓêlÎløìÛ9QÄ"9½:º0fŠËê‹éâ¼åW¬Í‰Ý,-Î3”±1¤oݤXšu[.»„]í¾ÇK,‚³}uËñœÙ·ê9˜c<œú®¦<^æ˜ò“£KXRÔí¯ÎñÜÄÎ~·nR/Q·å²TØÕn·¥ÄD€±[ÔqZÌ áÅÑþ6"̈;MÙÊ~Ëwô´±¢ ›¥É™œ5±1~oݤXšu[N»Œ]ív[¦>¶ýêj‹8sª¯¨} {çÌsšòhGÊç>n¬©Ý+Dr6´ÆÎÅaÑ Ê-GÝ’Ë.aW»=^èÓï6}q"àÅÙùåk¬¢á¥ðŠê•:¼<½åG¬Î‰%EÝ,-Îñ,[bçx8oݤXšu[.K…]íV[ÆXÿ軘sÀžÁ9NôMü9L¡¾qEÜ`ùV"†3Öt£´9öÛ0ëY7(êVÝ’Ë.aW»ï¶ÄwؼVÎFE;&‘°®¢¾¤Ü–ðɧ­Ç55¼Hδ®ÝXl3R7(·uK.»„]íV[¶AíGL–¯•3—軳xc®äaÝÑHŠÖìÉ/4ÂXQÐÍÒâìl9±}°åÔMŠ¥Y·å²KØÕn·A@í-j­œñ;jù¢o—ס )Ô77¤á·–ÌLš‚n–§b™1¶`r³nPn9ê¦Üvûf·}¬aÐÎ\™saM*Xmç'¨‚”ý`ô[~$¬¨3wyæìX#„î2nݤXšu[.»„]ív[нh}1§Ú™[ ãfG?ª)Ö7è\Íe,XQ%W#q¦ÄÎö[7)–fÝ–Y`W»Õ–ùïœz=öÍ)b9é¥sBìÍꛓâYRîÉx8Ô)©¥Í©¿ÆbžºKŽ}×-¹ìvµÛmi˜Õú¼VŽÂ£Ž¨c†N…¡Q¬¤Xߎ¸Ýò#ö…‰µe[Ìé´GØF[¥»ÝmQÝ’Ë.aW»Õ–Ê)g†Ó _+§a2C«Vî ­bˆ“B}3¼¯wx4C™¾`EA7K“3ö؃»Xt¤›K³nÉe—°ovßm‰Øù¨Ñ“¯•Ó:unÉböˆ`~˜b} žayGL/¬©š³¬9°°Óºrë&EdÝ’Û.bßìv[ZlªÃ}s6†N#‚êblÏ`h¿L±>mó$?1ë+êŽDÍi¿ÆV†]Ò}G¢®[rÙ%ìj÷Ým¹FͶ€³co8õ†ïµ¢¾­›r[b XÎPÆØÓAá¨Ù–¦ e¿±œÀ¬»ùð2ë–\v »Ú­¶ÌÍí±a³™£€}Çf{?èC'¶û½’·‹[VÊçBVo¬©{%7§ÓDŽնBº[ú˜ë–\v »Ú­¶Ì%:ÖœŠ-ÍÙ1¹w.T3ÀˆemX+AѺ“k¥ä\$Ý,-NÇ”el‹ã¸Ô Š¥U·ä²KØÕn¶%Zãœx„»¿Nqâäµãäuœ¼VQWœö–”^pcáD +3z ãZ¸ºµ6)×I©¬!nµUæW²Gùf\á½æ–8cn8é=« UÔ®”2ŒNÄáøÞ ìQˆ 3Nk¢œÏ$­îÌÀ­¶ÊüóÊyùú@Œ8%¾¢Óbš¸b¥br!õ¡Å3" Ë;>BMQ³8pÜ;Ï~ë&¥ïu3l%o&{žš»ŸÆí¨Î¿Ä™‘f‡ÊM[0kwœpéŒjÎ.Ñ3–ïŽ3€%EÝ,-NâUÎçÛ­›Ô‡fÌ:n¹,vµ[_¤Åm|±ƒ[`3NùP,µ³wü Vaò’}Kéñ¾ûôË¿›[«Ç×ÿñ¨8þ)ùé©`_¿õ‹¹&üõãëo>ýí×Pþ‡Ñ8Å<Þáý3à>’áæüI|+ï_@Î÷ «êîd²5ä}ëÎ0ù_Œàå“· Õ¶;4% ÿ1þÛåBãG.Ä\•¸C›õÎï6ç©hÁ?ü÷o÷ûïþóQ?Ã/‚ÏBÇÿüåß|F/Æ–ÇÅÊŒšÿñíoøá÷EMtFçñÈ_.yzFÝ;\ñµrzÌÑ£0›-Á1)&Ä‘ú@é ·/–︽7VTuIrJ\(»!¿ÒºI±4ë¶\v »ÚÍÅ+xº–?î¶ Zר–8QeÄ= o‰I¹-q kùklbE5&±WbK|¯Ô]|‚˜uK.»„]íf[ú…ív”?¹KNcßbo=½uhXR¬¯ûK@>pDn¬¨âss¶‹}KìvÆÌfݤXšu“c»ˆ}·Ûmé,ãò 9sœ1p¿$Z ýÚ0C‘ú@if)Y~òvEXRÔÍÒâœ1;ö°ÇºI±4ë¶\– »ÚmÃà‹[/å»'爳—¡;î¹v£`šžãÆVr~ k*³ú’3" LlAº»£ª¬[rÙ%ìj·ÚRùed ¼VîÝFEn5R §×Tú)ZÇÜ6Ë\Ð+ ºYZœÓ¯±Ñ·nR,ͺ-—]®vÛÇzTæ™&¹ßáHÒAixiøÁžy¦˜O6s0ó$6©Ì3Mβ±òH­{ËÆ-×/±¢¨›¥Å9b\o;nݤØìÓ»­ß›ôÀ¾Ù}o\ bˆz寕!G¬Ê3lèL¾2 ØÓflÓŽ”â·1Œ#1œ³eÒÑ«Üã:LñÆEuJJk„[lõÙΉ9{Ûœ’œ#ˆãÄeçÊÞqÙ¦¤|Z£óJÈ;ïm€MjsNJr‚X, ©»ßg“ª»çÙdbßíV[Ü'ÕÙ!§Övs6œŸ؃FRù åúÁ× ¤PßÁs Ëy‚a¬¨ž!«9-®Þ[#½5uƒbiÕ-¹ìvµ[m9ž¦^éWâl ÷N= ¬ðˆ·øR”Ͼí7ÖT¾ IΆC-a;ëîù*Äu[.»„]ív[8—ĉ„}LNÝ‘QÀç%qy𼈔ë‹ìhËy¨e¬¨-O¢ÌÁMebñd5u7ÿ6AÖ-¹ìvµ[wzñÖ„±drŽØfŽÎ1Ëm~%FfY²I>8š…5µ{GœÜØ+|êîŽS³nÉe±ov»-8šcÉäp ˜Ý€gH¿ ý0åúÂ+ù…ÏXQͱdrð–5±XãSwq,™uKÞýÜØÕnµ¥ñ'~³†;ws.dߎŽëÓÐpÆWªx%FêC-ÇÛÉÞœKŠºm8G¼Ø4vnrÇ­›K³nÉm)±ov»-Ü3œùÉiNŒ6ò§:BߎõìÌ—cnñ‚Fò“?!"¬¨|hÎ'Æø ë>ò7*\·å´ËØÕnûóâËuù˜8Èþ¾k|³w®}ðÙÑÈ;×ιÆr¼÷J¬¨êyÌœ·ÆÎ©÷¸u“ò7º-§]Æ®vû»`ç_nø»ˆƒ_Šo'ÇW¤–ÀÚiêC-Çø”¼c¦ÖÔq{8næ„=Ñë>ó‘›ë–Üvûf·Û¹ä,~þ•Ħ£qæ9œÆ——g¾Á ?À++Éwz±°¢Šw¹æÎ K¿u“biÖmy±Ç»Ú}ßçž¼Õ][r?·¬…÷¹{Ü=ógoHù†¶”[~Òç…=ýnöriqðôÈØ“±u“biÖmyó¹»Ú­¶ì|”rç@'™G#RÚ2ÏyD*s_Ó ÇŽe–GE7ÖTfB'' ‰E¶sêÎdè¬[rÙ%ìj·ÛÒ" ŽdHår˜¿b3¿e¤ËœÈ#\}D`'Êõõí–ú'–u³´8ˆgL·nR,ͺ-—¥Â®v«-ÛÆ_!ëá#¯•³AöÇtŽœ¶©!N;.S¨o»øð„ò8;¹±¦zz¤9-±ÄÌLÖ]Ò#]·ä²KØÕn·eð×îp÷øZ9¸Ÿ ̵1ÝtÎL|*,ŠõÝé¨'l­7ÖT÷¾%?½˜XüœQê.¾Ⱥ%—]®v»-'…áÄkåà׸P»|:ú½Æ²%Ê~P®[>œ&¬¨ÃÑbr®[ñëŠÖM*[ÞRn»ˆ}³ÛmÁ/’Á •Çe××Ym1"—jǯˆr[ŽvËàPXQ§OQ“ƒ§…ÆV<&´nRé‘[Êm±ovßm©ånKeBöƶtæö}‡×wgf™í=-9sѵß-gð+ Ûù«_öõ»-zÞ×Çm±ov«-ƒ¿IY†ï%’³Å™ÓúU¼Uãâ; ÝWƒ[{Ë·êÇL55|;‘> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 147 0 obj << /Length 1994 /Filter /FlateDecode >> stream xÚ­XmoÛFþî_Án¹¯ä^›q›9 ½¤6’@K´Íž$Ú¤T'ÿþžÙYR¤M'E{0`îËììì3ï:¿<ûæ'å/¼S.¹¼N¤2¢ÌURäNHì\n’÷i{½ÊŒÌÓÃmM™nªCÅK»êÐ5Ÿ^`¢Ãþž—ëþÐ`«Ùߌ'ûš‡Ç~•É´YÉ”7åÀ6OßþðŠÕö¦íšÃíŽ †û×+U¦·m³®W/ÿ™äI&¥ðÖ²”Õ~³Ê´*¢´ëj»>nYœÀ[õä­^ ¥ Ø„ãï˜BúÄ _è’( Q.ÑÂÉx‡Šl¦¢Ð*É&TÕzÝv\ºý¼*M* ½Ñé+’þE$ èÙ4Ùµ;L›/hÁã2툢íûì•u¤æM»çë*>°Ýã Â"“9„5jÉÕ*]S¸ôŽ'ÝuÛíj‚ª(Ҁ̻#ä=ïn«ª-ÄÙ¶+ÜûÀ´»¦ïƒji;Êw¬ãÁ¹ÍQãѶ0é¾\.þý#v¤`?ƒC6S¢c‰™­qÄÖ¶€,gC€isÝ-eŠ`f={¶žzs܆×ãˆÜwwÛzPÂxœnå³0¡º[²¹?VÒ'z±`bF cùS&æž7±RèÒ±‰ 8Ñ«¼N7õ‡\›}x¦U\¾n·¤± €ÒR0(¶,í {mìê`M­#u7ðcG§©•= Ö@o®û³^8/çèôð¿zCjÇ1­c°X€ÉYáì艿- àE®Ý@0 OYHa½I2¥Äd¿A΢L_FܧWj)Je±`œ™_;å*Ð>É&T„à4Ô8>`x¢šè/$ñ¤0>¢Óü¾pa!rY$ª€ÞS³áûŒxÔÌl¦Ì²Òâ‘_­*™ðí¯¯/.žÇÅX¡Lp±_ÁE20öÿŒyŒ›ØNˆ>äy¾$X3 å? e¹pZÿE‰«ÊÍEzVU6¨ÊÌU5“Ê{ Jök…,ì×âÅ·¹hJI6¡zÉ— ÈJ$0)@žÁ•F#hlB º–Sª— lŒðåxùçSOÏT®„±À¿‰5^†A{„OÍŽ‚ÔqÇ cúá)…ô§‚I©„"7Õ—H±r–ê)Ó½H£$TœIþ<Ü6œt¢ì´#9eW£Kˆ¾‚„×5Õ~]ó²ÏÂS¼Å—c¥DÒɈ­5ì,Ývõ]‡Ê,†ý ‡éõô!°šM³¦´Ø»$’¶Â”î±H3·D´Íç–Abj„%¬ô_pW%J[Òg$û³ùÁª)ékObQEõ}*EÙô^¡ôÄ›ŠuÆÿT±cíÐò·8ó*Û  (‘Ô|1Ǥ½#ZŠ£¶L÷1;àl:Þ6hQÌ·õf=¯²ñ`0654™fL‡v¶Ýà JYŸ¢£J4Ín|ó/¿þ|ñúí4ˆ—þÔxR(Ø·]ô‚o!TΈÇ5}Ïe‘vm°¥ÐXaËwŒúûcEžHãºëBsƒ!½›¾!Š£þ<åX~o>FºH÷ _n2K7é"±zåšÂwhA–Ú9N! =é#zDu©•ë¸Ñ¥»¥gY±sÊ8‚³ãåÀ(‚¨#Óó߆þž˜F40ß4Q£­Ù/ÿt_xS2ü‚ s¸)Ù5åÜüèñ·ƒò§Fµç97•šžÌÍ|ݪ&²c»B’¿ÚÖ¼rE×}æqDkV ¢HI½:—Åþ/ËÓÁ+ ä°×lêŠGñ¹à¶a|N H¤sq+þ" ý€s9Z™d“æ–$}h¨ÜÑ9à<Zr) 5Ÿyédg˜Ü67·ä¹4n®ùË÷æk¥@ÒO…§»ç¼Ôjaùº—”¡v cµæ~ð7ºs}V•(U=ú,Џ>š>rÃô‡ˆ~¡×BˆteAÅ‘rñÔýíOy[¢‹3¨e¤A‹2óûy²ÁàE²/“‡@¹£ú;ažl“ dwNàÓÎFz) twÒà‹(®Üÿ‹4—^õKW;áL z\„Fï w#ƒ:'¿t÷À‹pÕ~án°³h.ÕÓ¾dV¶;¡ÔXÈÅ’¨ˆuDø„N†LdЧ™ˆU¾ñè‡9+élW/UÀõ­z¥Ÿ~A‰Ý¤6W°ac~Õz”¼8ï¡Zö†zºO‰š+ý5“bî endstream endobj 143 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-011.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 152 0 R /BBox [0 0 864 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 153 0 R>> /ExtGState << >>/ColorSpace << /sRGB 154 0 R >>>> /Length 858 /Filter /FlateDecode >> stream xœÅ—MoÔ@ †ïù>¡Ã|éò!*ZvÄ©”CE+  þ>Nâ;Ûe»aƒ8$ÕÛ<ÎL<ïx¼ÎÀÀ5|ë.è:ÝtOîÞ¾<…Ë»N+­5ÈûÝåm÷ä…ŘÍg0Vуñ6jï­ LîÅæ¯Ãæº{¾™û~ñÒ1–u*°>(k‡.êûûwO‚‡9œdžaRÑ‚ ^…0„Z95qAŒ*9Qe .{e¸¢U4ðý ÞÃmƒÇY­w|Ìzõÿ›üê>| Ÿ:gx]wf˜Íëßè øhT6pU&å3|Xw& SmDÓŒØU*Œ4͈óNiÇHÓŒx›”MŒ4ÍÈ"_<æ5b&Ž‚£éHjc|l¬—ÏIJ ç 0JØ`%@RÎD ”@žÌ‘¤¼ŸL’äÌÙCzk wTéÓ€oöƒO1©q—Ë÷†ç ÂóÜpë ‡g=7Ü'Âíìð”D¸ßÞ¦ ìºqo×ML¿Å垫ϫd€vXªd€öWªd€vWªdàhåÔa—•-CÍá `’Q)‰Ø‹gñ“´±nÆÂ{­l±þðX%¶ópA¿g)ïÞcɃ¥\?Ì–ÊF®ããXÒRNeE™Èb1Á°©˜ ÙPTNÂULœý¶ –ðÝ™ìÄ œṳò¦Â—JO³>¸¼àÊûàržèöãC'º{ðN{[ýU‡c±Ãñx\fjqÎWO-Qû§>Íq?ÿy¯âѳ^´"Ms‡дQ´"M31wE´"M3’жF´"M3’éÓ¦9º‚z,ƒ‡MN™0·††úR ‚gш…£DðŒ*š°º"ƒg”Ѭ‡FJo×ÑE½ÔÎ?’|þ‘s*P%ä› Tɹ¦U2@ž©@•p^•ÒzÕŒ«'Í*­[%B¶«©ýjEDÃJHëX ‘-+!­g%D6­ÉÓÙʶ•Ö·"×ÃKÊQ§%­7Î 8^~>§h½ý¼þLЂ;‹[EÔAЊ»T`¢V üAé°ÀÂçåÞdþ¡˜ÿ§sïèÇ™ KòòÈ\¿{vòêæëÏW‹œ|Áú^»è~m endstream endobj 156 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 2 0 obj << /Type /ObjStm /N 100 /First 817 /Length 2566 /Filter /FlateDecode >> stream xÚíZIsãÖ¾óW¼KªF‡yxûâR¹J£ñ,UvìŒÆ‰ Qð„ €³äßž¯A"¸ 2upÅ9Fw¿^¿~d‚Y¦s,J™TŽIÁ´¶Lj¦N†k˜ôÌœ³N3%™z sÁ3e™Çs¼2ØÎ E¬,šHÚ¢À/ÁúÆ“±bïÉvx!Jø$2+ …„ ¬ôÆ×d>¡˜5ÐAÂcðJHá`—K‘A‚Á²p‚ê²ñ—"àÖ–ð|“‘ÈVÊ“—ÈÈ‚î8æ¬Ivs:Ã=Œâ‚´R à*aª»»@€ÊEC0²0`ù^Ú/Vo‹½hÕ¶Vrš_Z9÷ë¾·|µ_˜ÙvÞª[´ëè¸áS×ÓÍúG¿Ã¾v[ößÛ—«nDLºvJZ×±¹s³~ç>Ö;æÛµy+¬~8#쮌ø[Ë&oÓâãV` »Ù¸ëi»¤ÑV:-ÁhGvØÜu_ªXÏŽÿ¹å¹'ÐÇíaSÔ–ÄKZÁÞ±äU^_‘¸ÓÓAòþë]Æ’ŸÒq6H΋YÍꊡì‚p¼Ëªb^³Špsç‡l”§/Š/ìRxˆÐM3ÉC¼€O ÌÚõÙlV€Ý%õ{’ŒO§«AGxC5H^å(+¾ò*y“¼MÎñMàŠÖìRzÅ úƒ5Ž[°4Jpê’Öá¾w »˜_×à™|ŸÏ>&g§§„䬱rr‘üüî-ý=»­ë»o’ä:/òÙMQNÓ:V|z—Oɗc>Ê’è¹KÕ¥ÖÈÙ¯¹h5WFð ©ë;Ð~”ñÜ*ð0 -ðŒm†Ç0¯3^Õéðã$Ï*á›Y*³æË_þù/jÈ< 9z«yD‡›Í'“«½´fA+À3}h­ðÜ¢üâ€ñŽíÒ¾B`5 |`\´ˆBtp@„Å5Ú:úïòèÉ-¯Ñ˜_݇½Â꾆V«k¢\]­ø%Ø »à•’ŸÊbx‘Á/ˆü—¯Xò>ûRoFåFJ8»™N•v±,»X‘m2ŽðksRòäÑÁ„÷\4¼Uš[ kHÛ|uY|MgÕÇôk*äzø=VZÔ½:@¯Ü9Z-¸_´ÑàêQ‡ú¼¹)Šâ2þ„Š”AÐ^ENñ‡ì„ÖHUÌ;Õ¸ÉÇóòIuPÚðf|R€p…°‘ž¦¤´×CíU¤G1Õ‘ š³P0f©`xDÜEã]K'YZò|Væéä.«øM™üçSV^gÙÇõ*Š¢áL·ÀÐIJ¯pmÒ*\»hÊ,áú>´6DŽé¨­‘UŒ}h1ö¢YÙôˆ9A³¯ ÜãÜ‹Qëã¾:Û§†šÚvÕSÜ+ƒï¨§ˆß^“W×áV²,ÍlÇÔÜ6knpGÕܰ¨«a¡yX(L·Øž—YJ1þ2­3öìå7J(iÛÈ ŒÖ'^Œö>{Ÿ×;›Uùýã—ùÍM“’ .Q(“i>›Wà˜ü6Gšd75ÍÏɨÀê«*OÆeú)KÒá¼Î’a^çÓ›Iö%©ó PÕ4–(!×e¼’‡ðV2Ê!¢Ê«„Ã[£ì&)!;ÂÓ“IÚÞ¼ÏÆi9ŸNÒyãb†3L‰_u—³'j™*J€ çr4Q1p­~#çTØß2‹ëTè'ìPB£ÐŽêÜHêMÝ5E>ÔŽRdBÕÚñˆ[´«‰+œƒäö|Þ“ ûDm*Q{Žö*á#ݧnÓÏižó4¯êç³´Ly:ä¿Þ%ñßU·ù8{^$uQLª¦|´Ý¡uÇÅf —9L»lJ !£¦¤]5`(éä¾.°·ò¯Uõõ.°^É»Õû—¯%Û·SÉœ8¦°K±…¦iOò˜ÒºÒFéâ,—çEɧ]Ò'„ÔFBÂЈN-hß:¾`XL­ögÄçb2rîéS£2(B­ÑsMÛÑ"ÂFXî½ß¯ÈÇ|z /¯Ç²Bê€B¡c#_ÃË:"Y”:vÈx¸Nh+9mé+¸£½‡I¿•à6<Ï~þü™_çŰ˜¡i£Eó¢ïÝèQÆš¢á€w† i—êš'Wõ‚>"ôFÚ[Ä $F•w¦­ )û+‡r¨cObÌ‹Bë>5nÅîCºëÈØÂâ(ˆJ·6+™< ZáöŽ‚‹gŒQPê]³ ÔªaðÁF®Gf–z'Ëç/€@wó]Å&ýŸ%>¨Â©ø´Ô!¤“€rÆ ì´@¥š £\»˜f{ö¢ÿÚXÎho§ôï5þ¨Š¹Ó©˜Æ>¦bÊÅ·—ucúï¨Yy ýä(ýìÎ2jÿ¿§ÖDÔŠÓ?Cц¸£ÿ˜Âì 7#ðqÿˆx“!V»Ã*åÕ 7ôÂ\b$_ƒ6fe!;XÜJì~zl—&îØ+_ÿ&¹†q6>h¶›îÛ)Oÿÿ¤{dù(ÿ.Ó endstream endobj 164 0 obj << /Length 2357 /Filter /FlateDecode >> stream xÚ­YKoÜ8¾ûW9©iF|“ÁzÁ&‹,03Éć&³€Ò-ÛJº¥Im'ÿ~«X”ZjÓv˜‹%’%²X¯¾j¿¾ºxùVøÌ3o„É®®3.s…Èla‡•«mö{Þ^¯ÖRʼýÜWÝÝJë¼ê¶éÙj­”ʯn+Z¯¾•›^·Õ§Bª¦F9œQyÝ¿Zýqõ8OÎγ–)n²µäLhAÇý²ZóÂç¿­Ö.ÿ™Þ?®ÖÚæoà¯ËßÇmDf˜·Òá6Ê1åE¶æðP´Ë×(VÌOcÆøl&tIB|®/˜•¸1Cbw(–ÙZ3m£Qާ9o]bÎÒÜ€so®.þ¼à°Td<öæ<3^Á~"Ûì/~ÿ£È¶°_3é]vD÷çœgà}—}¼øpñ:xl~'á f,læ@’ÇCyâP”+lfÀäÒ¸§Õ l~v¤S†“\ÐF0ÇýsúL¿Fž)æ¨&èw÷c”}ID¬b°«„4É|*t‘H#ÉœÕãiß’ê@°-ò£3 #Á¶3¡OEQ$´B+y3ž÷¿„Bp/#å_Öó;•¸J,Ó<:Ù/‚ÄY…Î3RáHè«‹IêkºÍT%vm¹…B« VþXUtÿ·õͱ‹6Ñôöĵ²¡ hÇQØØšY±LŽÐ¹+Åó_~ûùã›÷ø.òþ¶=î¶4Ú÷ QßÂÒ¾*û BôƒØã¶­7X¬qùëã@+õõbGŽ™dfíiÔ"©O?D€*ÃXl(©8 âk¿/w0ÚA T²ˆ'òâämªx03U î/_4ݾ¯/Fº„Dv¤±\WU…RÐ3y¤±^0ËMa‚Äì5,ßʼn—ïö:ûW ´öô´÷\Ï6}ýà×6X”PqÇŒˆ¬wLmnÒà›WH+xþºE¿};ìÚ× æ)zû~òQˆS#¸¾|«Ôü`(nfB¡˜ý¡º[©&vq· ‰Ù{B U›Ÿ¡uÈ/çÕ©6Ú13:\ Úˆˆl©ŽpÇù;ð¦ ,‹/¾!¨%?;`Jiä' †ûwpz`’•ô[¤VúT‰lXAûÚîâë¦kûž^)õvõ¶Lžé„Ã(ÁºHäÏž÷ÕÓÜ©üݼ9œ$A‚h¹Û}§Q¹½«{B íâÓh÷-¤¬ò@ÊÚ€ÂY Öœûrìzk›dBOÖa‰PY l‘/9ü!v²cÖV‰¨Ñ _L¬Ü–éüÐ…¾«·¶H~Ð*Ñ18Qú·X(d1²OXˆ,`(!h4±î…ݶ5lNÞYü9â¬?9B-ÝÁÄ®± ý‰ Å0Ñ–h¦NÔ‡D ÜšT¹,êJ.zÈm\(€8v+Ý¢‰°SAÆÉ²‹“€ô›ãŒ¾›C Ž«0Rp-Aµ¾€VÉœûª¤‚<±t«¦´?Ñ ÒÄ÷es(oªÓx(\›ð³AñC¢„@ç—ÛáoäòÁnoKÔ·R= ´šâ.Ò!"Ôð]ið6DñÂ4ïT‡ØËø±åñ‹(¡™5=îë>NtUÜ = nj‚Hêâ,ºa½$$¤èR÷»­'ߜۧöÔW6D…Ãpž)È(öåW*øD‰$vrM_!22Ø>ˆ‡Õ™.8lZzÖûÃq˜m;ŠókR€´çŠš'Ž P]ÚÀÍ#S¨ÚU$0–?üÈ`j:X®}_p Å²‹_4XÃF˜ 0Gâ\x.}‰3Iž ìfî=˜˜x¼ÞI ‡–žÇñã˜7*¿.A•T¶nì_Œo(S_3c_xÿ=’tüÒDçÿuNÑ´ endstream endobj 159 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-013.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 170 0 R /BBox [0 0 288 360] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 171 0 R>> /ExtGState << >>/ColorSpace << /sRGB 172 0 R >>>> /Length 393 /Filter /FlateDecode >> stream xœT;OÃ0Þý+nLŸßY‹©¢H6`@PP+(‚TâïsÆqc*@ ƒ­|ùÑÏ!˜ÁÞÄ%¯Ãþêt÷½è…rïï7}Ô2-¥„roΣɇ¸¾ ‚`Îk-( `!œC#Á[t hB¯@)‹ÊÃûRÀŒeÿÆS£ÐRæ ó)d>Ht´ÇëøéÄ+ èÂ/Ñ4?ë~¨ê«èVB÷¤p Ò–0iƒÒrVLì^ :{½{Xmžúºµ8îbð.¢ðqüØ8 r¨L̸®Î¯íñÜT-G=/aµ]¾×@ª»íêusS×·ÐÍcüxlÿ<Û Ì}}„w&8xh÷yÂQA“l0ŒüKá6…Q`)ð!ÃN`!PÜ%3 X ŒCçFA‚¥ UµEÆCgÿÏ1øå ”çQÛ¯1à—& ¹IÚl§évmùªv5Ýîlô`דíŠ/0e»™n×µìvºÝóï!Û]¶_ŠOÅý endstream endobj 174 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 184 0 obj << /Length 1255 /Filter /FlateDecode >> stream xÚ…VK“Û6 ¾ï¯Ð‘š‰¸")êÑ[’fgÒ™v6ÛKÓW¢mÍêáˆÒ&ù÷ÊönÔtvÃ~>€Q "YÊ•Ì#V¼ÌeT÷7Ÿo¸.d™{+Ñ›D8·ïû<úu¼ù«)Yc&WAßìnnïdU¼ÊÁ´ÛG*c¡£<Ëy––Ñ®‰þawía™lœHY°<ì—8Q•`oÆ_OÝ8£-gîš’}Iâw¿Á­‰¼Òš‚´Ã!N´.Ø|´h¿½Ë²ë‹K.Ó yç?þüýã»{r{Ž/ç•\½öãD!M×ù+“Bsþ/.®ÇþÔÙ2ÈöS¬53Sk:ëHÕÏçt&Zå¬1³A©`Îά·ó‘JÔ8ÔHbššÖ:ƒÕùFL + Ôy¨¼Àðê)Ä7I:M~¦žÚÆ6@´L¦lw ^ûe¨}é~ž=sfø)Õ)ü™fš—i¶Ž‘i{,LUy"¨ªdÄ*RÒ¹‡ˆT_0á5ë냟¡'liaGÔ˜Çc÷ôO¡÷áü¹G`¢òªGð-Œd >ËÏ}²4C¸d^Ú¹} tFõŠ®t0£¯°Ž0ÍÆ‚¼ôy©á‰jà ¾1VΑÖLÁÕw¥¤®„+Žv6ðŸýnCý8`Æ$mn„û·„ÆgI¨ÓØËäH[ûÌ@À)"?Q;ê÷‰ ü¦ì@À8û{e`& ~¦Ðq-öÕµòªØèâ“æ[xaË)¿åTJL€~ÄÂ(‘²bEVemæÙ†#ô8 ÔÎdFr8Ãsá[÷û„›È6YØÚ½|Éñ¼§‚¨këÜzÕH'¨³A‹In¬ó+~)3âûŒ"16[c1Á’šÀ ô%äNën×ë5,Ý#&/‹êzo¢†‡Ê6,RÁËJ­‰·Ý×îg Ït–Ÿ'¸ë­£{f¬ÈHòÕèyLfX·U™à Oc,5jÍÁ`—ŒâfšC¡/Ô‹§ÕšËÃÃÌ_­D¨â:f(—ü¿{ÁËR¯‹]†Åþ—ýÆ> üÿ¥}á«ÌØH 8øBÏ 8œ÷\YÊ+ž Ëq\º` kÑ?èpâ²%Áfb*ˆž©¨"7úõ€ŠýdúÍ­0 Æ,K ƒBÅP7ÙÎÒ¯uÒ6ÖÕS{º¬><µ7õ> /ExtGState << >>/ColorSpace << /sRGB 188 0 R >>>> /Length 816 /Filter /FlateDecode >> stream xœVMO1 ½Ï¯Èq÷€Ûù¼‚h¨”½!¶RЪ¶?¿ÎÎ$ÚªËag7ólÇyϱÍ©Aso¾ òyóòáÝ¡¹},DçMÿ|¹}šà£K­µ¦^'o~Wׯš»Í©|î,æll4ÑCÈÆeƒLƒyÞæpˆ Ù*4'Ⱦ¢IrèQ²X~hbð:r 5rJàPù¢|á„fò %+šÀ&9JÎnBÑÊ‚Œ Ö78B0¦ #Ï=œ¸ÅÆŽ•³ @5m$ :vÊ Ž€ŠÎr’æÌYÇ–7<âæÓî8œ`'Ô+Bƒ„k;»Î-vnZ G EhŒà¹¡PENØ1l)ˆõÂoË*xˆšM¡I-¥”˜ûØPN‘é¥~Ú¾ÉbûÈrÄvÞä—Ñ•`Í•.wõ“$¥R`¶¡¹$Ñ£¡ˆ:¢deŤ¤©¡¹èÙŸK½L¨\ÔLºB^Eå⥅oSˆ!)&åg‡îÄîs¶Àµâ‰¹×£¢~Ë™0/¸¢Zääê¨È1Ì•C.•&£kÛyEÎäçMØÐAiäEÒ–•´¯˜äÝ­®h,‡ï}Ã|Hš¦EmÌûJé[Ť¢õC’ÒOZ#[neECyßgE¥CNhÆBk2ĦBÀŠIv³ ,•“ž‹, “äÍ7Ï‘YZ}Š žÛÝg”ª"K« Zχ›? •ÝÌyK2 6ŸŒ´Ë ãI.£|¥Rü›Gsµ:yºýòøõaû}k~¬4÷ÕÍóÚHÁ¯>ß|”7Ö¬¶æäén»6,‹_ëk³9Ž7%‰¶]·ÇA·5îfJyIñÉ~«óg—Çï×fs_"ÌCô•SÒË”¬õhÆÕ¤Øƒ1—KçÂîà2Z\lø´ì ÊÕò³Á¸ì ÒNèf0.;’$¥\ ¦eo _~ÎqZö㩚AwÈ¢ÃüOäŸUñ™dFÅPÚ ûJò²Jô"Þ(-yr§ýÝÌ+œÜÝþîÒDÕÑ=ìí^z¼h>º§ýÝ˼©ÃWPGò§ËÒäÞ¨»~9 endstream endobj 190 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 196 0 obj << /Length 246 /Filter /FlateDecode >> stream xÚUOMO„0¼÷Wô‡–¾~A½¹®$zÒH¼]`wIXªãß·PÈ®y—é̼™WÀ, `à’ŒcÁÍ \_Ð7¢Rcà \$X×V"{ºäxïÐk˜M"[$¹fî*”•Ü`CæWÇk/´ÐW þHÊîô3¶)‘’ü.ý¬ž³RÊ›-©i"Ô,vßõnжá"ôjµÙŽnŒ‘¾vcëgÌ;4‘ìmºáäãË&Û m É*ÿvÓ9¢º·ÞwµícÀÛû>òëÛf>“‚S>L¨Q*¶¿<ÜÓEŽÏ&œ•ÚDØ,¢Ç ýÅf^Í endstream endobj 177 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-015.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 198 0 R /BBox [0 0 792 504] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 199 0 R/F3 200 0 R>> /ExtGState << >>/ColorSpace << /sRGB 201 0 R >>>> /Length 5165 /Filter /FlateDecode >> stream xœµ\[s\Çq~ǯ8/©*Úã¹_ŠO”lÉRH‹1Y «@Uj ®‰UX“À©ü÷ô×=çœY„Ù ý K/fzfúÞ==Ç? vøuøëÑ¿Ò?¿»þóßß½<2£1fèÿýò»?ѯ9ÿ}túË`†wGvø‰þùõÈbÀðü¨¸±øÁº<†0\ Þ›1– Þ ÃË»#&ÐŒ® °Þ¾,#f¸RìX;$3¼ qÞŽ¡Ã2ÃÝše:,3¼ 9ÜwžeÈ·¯ÅÎ®ï¡ØõÙåÑï¾wDÞW¡icûƒüKàÇZkìÝðêb8^…“áÕ¯GxŸžl]c8˜í³sãÁÚæó';WF{°´be—ó˜VVÚ;ÜÁÊišëhè/¡Ž!¿ôÙ) »î°c™Á~@ £5Ë»Î(Â4 ý€âG_—v<ÑÄmÐÀ~€l{Т§QG˜UG¯`Çœèd4© F¹ÂÏ.Dè$³“z6T®ÚDúáÙ91> ÒÎö.@¾>)ÒONuôáP¤›X4CpäSd5Ã6Á¾š±’ MœÀsâÙVY$⚺ÿ\m†.?˘ø¦áŽj0l -œèq B¼—gû«ÍµÆ¢ø±º!–ѳܜ—4:óOÃþ/ÃÍùfø¯“ÁÅáx}uB”£ÿÙ®/Ï6Ãædðf8þŸ»õöróîä—áÕOŸ¹^å“pg‘Óß VÁ2ú_"± q,iš?s 4?àœ7 ë¸äa:TØ„WXBïjÓµÓã×·»ýõf¸ØÜœïin‰pôßõhxs^=ùæDA¨RÆdO@1²È«x¢áø–xa;Ô^‹Ú"Ž#ïFž6 î› çåõêåörýa{¹=ÖgÛw´€Ó.à=,ìvMmïçW›ý„re¿ «ÝúìfÏûôß ý4§±~Ì…V#‘p°ØBûÏÖ RãLÛ’ÊJõñìì‚|6”F›˜—V„þåùö?·ß¡5¤¯0{ ác\ï¶g·»Çï‘l?äÍ‘~áÙŸ·o¿¶P³çõDZb™ðêÅíÕþýîãÍúâñ[·IL¬Ï3Ö7dÏvùùì'AÊ„-6Úž¿8ß_8ßÏ6pÞ©^õ2"WàNM«V˜ØËíÍy¯ÐO†§WïIêè§ÿýöÅÿu¿ß3%|bŠžC¦"ô8ÞáñÏg7ëw›³õå~9·UË+±&sГ۹/HÙéM¢ö«/÷×Û›ýnõ‰½¾Á±ò#¬fËcìÃëö¤Å)>Šl7mìÏ7»íÛíßQ“¢]Ç‘šZ?Y Zh½»ùêËX çâ)–b螯w¿îÏòI¸]%tÿá]?[ýÛɱÇݶ³õªxÁ‰,'ê'¤‹'$^>ÎÂ$CPìh%p"¬â6º}>ÕRÄš(ê^‘Ò¶Í¿ÜÌväÎRwÿ¢>”CìFJ±´8vZîÅÕþöŸ¿ûwF&O»q¾¹lµ[ïÖ—e«kfÆO.ñÙê9‰öö á#RŠiÌË?[=Û|<{äÑ£øhFiØ~¼Þᄀüúdf§òlõÇý©ô—òœ(™=—*Bm[ýAê39üUp äBäœ÷¬òh{am•ó޲&Óp~w{}³yœ²‘F{’}K¦sÖµ§×8s d,n¾Äm“;„¸"&wsÈúþ‘‘«…m&Yˆ4‰íìÃßG-Ia-+Ë­›„áé-…(ÜýMQŒ¡È³ˆálšñÃîöìq£\¸JP`T›+öÍZ\dòjá°%7Ç/Ⱦ>ýÓÓÿp¿hrÖ5ú¬™1x"Þ£¼1a ÖK¦QQ~›0T ÒÔÔH0$É:¨‘œâv>£PQQ¼•`>-(T¤ >phYQ-QD5ÅAPf‘:Z$ -Pöm9{'VYE‹0YœfEQ  o RØ8¥ŒA'Wž´TnvD4Uç y ÈÕÚ´èGМÃF«‹ì´ÝÏ1 ÕA`ñ•åV;dÑhPÔÈ.îûrF«Ôt“9®  –Á ×Ô—V…NËÒh+“³t(TZ†ÒFas‘-‹*-Cù:³|›E¾£FËX´ä¼,ÒuZf¸âãro{£F:q{š9Þ·Ý94ÂI’aÙì gÒÈfqcò’±/{HѬì¶vŠžt¤ÌBJ7ÆE&ªJ?P†rly}çÇtúA)vab[Q5úá²C Æ»s!UçË…¥i!gUéG6¸æv‘ŠªÓÄaI½Ý¬*¦FîoâòJÇ•õfªªÄEŪÊzÃlG–κȷ5©u,‘ÍM) ¥Ž”ÊŇ*ñ$3Å«—ÜáPÙoÓö{‹cN@#G$]Ùw84š%t'£SR‡B#¡2©fÛ¡ÐH¨‹,W2¡Ã¡QÚ@sg¾§¨NF™ó°xUkU!¥ö= ‡.zõo‘ÊtvÃ&R–Ö{a]‡C'¶:8Kí΢s)¡0omíó›T¼Åõ‹Üé˜‡Š·”ãѸ~YÅ[SD>|2Ù¬òFzbPìø’UˆÔe×.ŒµYe²g“î ÂŽ%ÉRÑ´X¾ sÙU²,MѺ"×5]ôæT,i¥$1éq¨hJ¼Nfë6µþ Óž¹ÜŠðP‹†f`¥djæBJvDžç›ÝæoÛ¶skµTÉIŠ+Wƒ‚ÕQÐÛÝœE-Új$+®í>øø4ód¸§oUY@GQˆ=e†‰¥û %g°’¹ÌÎ+YG;½ÓV¦Ø&eJA Ó¦5TœÆDÛ´\ýxùn¿Û¬Ü7~õn»¿ÜÈ%Ý7ƒ]½9¾ÙÌb²Zî±v¸‡½™niw×ÛÝíîÍÉ*¯>\Íš·[}3xÂðóª:ÝCÑ|¥0Wv~>˜¹8]}2´ÍûÕúlss÷ n¦Ï½·»ó”hz†Ò½%úÄ[¹éi ¿r#Má8@°0ìç÷ ;†YY-`ƒ˜é`. †˜áf¯]Pm ÒÔL+.ð¨hÇ&K8CÊ1ÌD†¥S‹ÐDù»´înìÇ(Mâ‰Û ž%£"–Ýñ+=ìÒÙ/*\ä1(ã4¼?J-&… 4€=—ã¢A °å”äÐ3 W˜;S'¦GŒ ¥å\¦H(6Ü’ùB‚`Ã¥B‹¼þñ†ûiÑë'ô3r’¬ÌwUš¡W?<»òÉ£”ØpÈ™ø:Œ`*•™]x|ñ|Ažøg‚³ôR¦ŒèpdGž `‰•R•ó!½?éçÄûI\÷ðÙB/ ¦ƒ ´“ìßabd˜ù‹îdþ»úãÆ ò„¢ï ã–CÛ/øKëÓ¶¿7Ò¥‘ ì8já®UÞ?u 7Á™Ï‡[0:OÎÈÂKA0^ñ¡õ3Ëß3ã3†é›³ìúÊ/ü¨`ƒü°}m‰Ü483l8ŒýØÌ·p G† ;bàÃú–C‚ÜL$`#púãÆ…Çg¡7zAÛy<¯¢ì‡[ØKù/âp~Ô‚™Þ©­Å´L¿Äãq'•fú Fçó‘/¾ Ì/–´è0}};Åã¸ÉMQªH‘å¡à<µŽ^ÄÃ`»µqÓ@é4œÇ“p9l–d•e»ˆm(NÀ̯!ˆDHPSj`dE%úy(vfÜ;ÌML?¨«=ýì3kQÅÜ$ÕíÄ7a»#RF´²“dš‘ׂˆãYæF®•BcÙ‘¥€BE¦;‰õ3²È×0†ÿjÙºŠÄÚ]¸0åIð‘çf°=¬«dùéPn¦Åq"DÑL\zyî7àãKÖ»'z+U&XcëÄR¦"Z m€m% ŒË[¹g¦‰Yñ ×Å[ðø¸xÆ—oƒõ¬_¼`6=Í[o+Þ °èˆx;œW[¼!`fuó– ›ÁæM§°x[ÐßÖÅ-o ~ñÓåæÍÁ_Ù¯x{ÀEÌGÁ/ÑäE¼­D./ÑG>'0G#M+V£ˆ®•è…ÃH¶ìW¢>kI‹† b%ZrµÉc‹¦0,uÑ´¬ÌѦÙ.ZC£½D«ÍA…e~‹öŒï;EƒÆÉù¦hÑ´èlŠ&ÑŽ'°D›&MѦD£´ Á×¢USÛÓñÍJk‰vIÍ‚À Ó6«Œoï¢èÇMÛ,&hжm[?EãΧhjÚGó®yÿ)Úw¡ÑoÊRÛïA¶°;’—íÁñÃϬ¿øã"¡p1§2™(±¤6œÊÜ2ÃË;bàÛãyÈ /C(¡…‰š‡Ìp7D‚©eÈ/C·×m÷+~<$döaý<ègEêíY+çGÅ¥/iÉá÷G Üš7:Vøp¾býŒºs<œïæõ'¡$Gñµ{˜žö-Žß ¡H­Ìp?v™dzÒàƒ!‘“W^†ÜvsªÞ†4ø`ˆloÒm·§HG†ƒoXxnäÂýsû¢ÂŠh¢ù† p¦L½„@óI† Åü­˜E?ëç÷ßðxÌú¾pØÓ„â®LL_òÈÉ|É£Áó§;&¦Üý”GûpÇ?òc‘B 2ÉÝÇ<ží×ï¶—ïŸóˆ5~Ñç5‚)çûŸaù¿ÜÌQŒP­<ï‘Bæks®¸A X!NÓÍM¿_¤>ef9(wy~‚Šï…ÈÆ .íix(“D}M¦@ñѤ€ì>qØU S(£§á_YŽpïg>åk<Èxºuæ¼¶ &FÏc¯Òæé&FÊ )вɶ5Œ@ÁĈŽ$=çé LÄH+¸å &‚„!áM`{â &F4š‘ÑÁk÷0#Ð0í0݋˲Aá&‹b¤Ü¾)@6á¹™=ÌÓUR@é ¾<¹yoB ‘‚Èi´…ã¶3 ÷ò<Î4R@¾ˆ4ýœÁÍ4Q*Õ¤ÊÖM_Èym‚ ‰H€Šô¡]‚a¾† ÉqvŒÕ²`P°!ymûn >$ÜWDn¢š•É©‘<—>¸½7.4œ°Ü¿oÑôÝÑA£5‰0”é…7cPhd*\4Cžß>×öÚiTóîáS„~ž¯’†Ä•hílXN)Sàìßy?óÒé´2¡ÞbxícÐHCáw¢øì]kÉa *½$«jùËŠí-=cPHC¶r!ˆêèdœŠ‚—Ùf)çÆ© ó5¼Ì†ŸU¢ÆëÜ‚AÃKäì…#I³œAÃËL1ZFð1‘î ^âíåwë¼e ^ViÐ2~zмL…ch.Œu§PhvöŽKG9Ï”¬I# x°Pù¦Ç›y¾JœtSâVÆ-ÒÉSD¹×ÉËTÒ€ëÇwNSà i@›Š\bMZ ª:E’Û©ù­cÐh¶“K`ºŽ³4|YeíNý¢%Áõ‹û+k}ÁòµEÊ5hP6œuB|º*àÑÿAäÁý endstream endobj 203 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 206 0 obj << /Length 219 /Filter /FlateDecode >> stream xÚUPËNÄ0 ¼ç+|lIã$6ÍÞxU‚S‘r¨ÛÂJ¬Ý"~Ÿ´i¥"+ÊØž±'AÐ)Ð8Uk†jåŒî,¾…"ÏW¸0vpiáª[ Õù†»(žRl-¹Í”»¡7ATñà•gÃ@"ÅL`,+Òž‹æôþ3ö¥´Öõ¡”ÎQqÓ¯Ï8e‡|_º¸qñ`gàŠ!Ž¹Ò¶·«°û·©?æä÷4}”¯á±jœÛ™1k›ü/6æ]mwyѤÓÁ,øç^zJ_3?Ö±ÒÌY‡ UÜñk¢OÄ endstream endobj 179 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-016.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 208 0 R /BBox [0 0 576 576] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 209 0 R>> /ExtGState << >>/ColorSpace << /sRGB 210 0 R >>>> /Length 31999 /Filter /FlateDecode >> stream xœ´}KuINí<EaÐÙñ~ î¤[€„ºÐ%1@ÜIB­Ê– üý»Ãk-;NÒÕUùÙÞŽð>;¿"¿ÿå{~ÿíû¿¾ýÍû¿¾×õ‘Ê{ù£Ö÷<ÆÇúóoÿôþwï¿;O½ýò÷û¿zÿõoÞÒGJéýþÿo~ý×vö÷ûûxOïÿø–ßÿòùï·où<ðþWo­|Ìùt1>ÒzÿzË{ì"øGÁ½ÖR;ø/ï¿ytŽúzÏk~¬ê¼ÿÇ'νðÀz^éz@`>V~ï­}ŒöþÃ×ûŸübüéû¿}û³¬åŸb]å#¿²¶ŸËšÓühé…·ülÞÚÏ0¼xÓÏf飾°þü^Wÿ/oë/Ë1»Ê~¾Çdɹá}{€Óàõ@Ëû|U=@ð~ õ2ã€÷3}ô¼ØýcõxàõÅÖ÷[Ü¿Pü.¿ˆ«>i<ï•>rý‰¡ô¼-÷V~b,ýo{V–ücé§xÇú¨?1–~Šu×Qÿó±ô¬=¯³˜½Œ¥³Ì¾¬¹ÏÜõ‡Ëì1çóxÌ€sÊç…[_ú½ÿﯟçÿÐ üáVúhÏË×ýÑð›¿ÿíÿ+ïÿçydÎÿø.%íÓÏ|—ØXJjg¡ýßÜX(ˆo,„}c©O§}ùÆâà¿ø)¥|´åÓ¼öþQó=ƒü¾Àû¶?RÌA‚÷Ó–དྷ¤gå.Þ”õ1c¼€ØþÀõÄØú‰±]òÔØþÅú#çEyÖØ¶ÿ{+Hy”“ç×üo­ eÏQþ{+H-ÏH)ÿ­¤öz&úË òó¦Îÿ„¦¥‘¢ p ª,š3Ra4)Î#åYÂÊ6®³­~)ûc¥gÞ8?­Öd­¾qXÔçÍÇ"ül§µ–óË~¶´úè;½<޾Sk³Idð3Pë£<ëÎûÇ|~È:ŽJ øŒç#)úkåù‰Ÿaž×vÚ{æž/ç³x£½üÑúÙK¶Á¶ÎÕöÈkò<¿E=ôrFèñ~­²ÿôÈû¼Ï3‚Ñ_êçÁoð·ó­ë³sã÷x¦n?ôç'µþŸu9þyÄÆ²täm6hp> ¸Ü÷ÑI°Çü|è= €óÑcŒïñ ´3^lôg`´7í{>{òyû=ž‰ñ¼Í‡üL¤Žç‡}ï‚ï{ä±ß§Ô3Œ÷-é ¬ã÷æ[kö¾øžÏ|0ú¤<™ü“í=ã=Uƒ‹ÉÿŒçß{ýÏ0Þ?Õ3ÑŒþžñÚ±Ì?õp;9¯ûŒNûµf×38g3°³ ÞõùI L½ž_ôÇ·e¯xFâÑPÏ™ìLü,§£g\žyØ¹Žœa¹ L§ßgTöl£ÞfÅ\GÓ>“Ä~„G±Ú˜3öð3DÏ+>SÊd~F葪q=tc‚ÚòhÔm˜ÏøÓ¯m걚=³Ý~­gðV,ö±GÇÜ/ø5F=˜ÎÐ{+ÛJS¬å|~ѳÙ‡~. ëV;?Ã|cYë`¶ê 1ž±gå þdk¦ÍnkãYRmI:S«˜ Àó³?ã4m€g|<ës¶‡í;Ÿåۆˬî6{άn¶ø×rÏ»âá2ñõÙT‰ì¨tüt£4ì òýcÅ+<ª•Í*¾àsVY5^ÿL?Φ?Ýs¸ÂÄ{ö­?{æzÂòì:¶ýð“=“ÊÆ?è³ÇØfÁÏm‰ðÁð€öÓq¨<†ÒÙoV ³g»Y%áÙ«g ѳù\øÌÕÃû9RÛåàÀ²cj<ÙV,Nœ4ð¹9­Î6UcÒ=»”M:Nɬ)&ì³ÌÓùíës²?;šý\ Ц†VŠç}­$@ÇJóÀ¹_+QJç ÄJõÀ\¹°’=0V.¬tå¨1=VÂcçÀJy`ô‡•ôÀ\Ií90ÚÃJ|àœb¥>°ýp\ÉË^gÃó•Þà;Á×NaðŽÄÚë±ÓX=v"“çÚ© ßÉl3„;ÝW½vÂ$M€;eâ‚¢ô±“q§}`ì܉S†f£úñ{r'?gбÓ…Æv:jÏgNР)<0~jG!šÆSó€&òŒLjÐTýS“IÔü¤é¤Ù'M(Mþ>Ô”Ò´&•ô=¨i=slÞšX¶)šÚ3 34?hrÇò7ßCÓ{æ÷„¦Mð¦ö{HS| [ ¥IæŽñ&Mó¯íyj¢y`¾HS}V&j¦ÐdŸanš–4Ýg]CÔ„KÂŽ!MùY$ë­I?khÙï¡i?Ӣܚø³çþšzéOÒä iú…¿¿Ÿ¦4ëû¤ðãÛoÞÞßmÌc;içôpaÊy¹ülÂuÙfTd;4¡O{zŸÅEôg»ÏÝyYÛö´0ö‹ˆ÷Ù¬Ž±mBÛè[tÊEÞ[îO¼Ë3߬…|žÿº1åüpÇôhÛM›3Ïldý=[ý~¤üºä%”]:aÒÙÅû|ûµ¼m@x}“.¹Àû"7ß%cîœSX»cç°¬SV?kS†Eˆõwí ú„Ò@^BÖ6ž&ƸóÚ:ãm„§Ù7锋¼·Üú.õÁè×A ó˜-[ô™ÍlÐ'GÈé[tÈ%Þ[n¾Ë£V¬­…ßE˜rѳ·æds;hâ«„ù¹02H–ȼ„¬m=½0Ÿ\¼gÝÏÞ6 <¾E§\ä½åÖkX™ì°ôuaÎH¬ífc¨¨ËžÓµ&?ó7}žíÔy¡m­²†YG¥o1ÕAmú¤$§oÑ))yo¹õ.åœbÎóOï_7ÆÎëZ—ÅFøš‚Ôg³ÑûQ•œ—µ§‰±³ŠóšZêmwŸûê›tÊEÞ[n­ÉÃôŸj²|]˜g$>Î*z¾å3ê–­€°nnÓH?§¡á¼„j¼¹0ëáÄûœ/gó¶i?}‹NIÉ{Ë­w1sÈ9 Ž1aìÔ¡ÄØü«&Ë9G‚t8KˆM’¼‚¬mŒƒóK×,-HûËy,½KˆóÊ®½ “ì—&ïY“· O£oÒ%x_äÖ¾ßÎ`4›uKaògonÐaö²}»MAØ›§;EÇ)C¼„¬m<íþˆRœ·,¸TÐ6 émr‰÷–;Þ%Ã[‘—¿‹aÚQ¸´ía­ï.HZÉ®A·åÞy YÛzó [Ü#óæ£ZyÛI·Ü3蔋¼·Üx—c1Nïç”X & 1ÎÛ{u2§Þ3žÃóK8}=Ç‹1„xNmˆO€µja‡UñÕƒS«œGÕ'¨”Æø^d…ø»c\–3±¾.„Y™xö?ÖÄñþüÏ‘Àéh›±\Ô³$ø­pBä³V‰/ŸUG­f-oêTJ¾[VŠƒËÙ°ð aF›Í£¼Y86NDØÑ^N°¤ÒñlqzK¾gO[Y­øÄïgæJP! ùnYµqT(f½ýº1ÃÔÀc,Á¶w"ÇRÇ‘Ê ,îCn;£ÓéG^BÖ¶ž¦S°Ïà­vlRÛáiöM:å"ï-wlKùž¾qªÝ–sêN{—‡}øV`ˆô Û4y Wi…1˜óös–ò¶ ÂÓì›tÊEÞ[nmÊ×<¶Ã¯³ìÐ÷<\¡œa1“1!¨N îXÒá/!kû“›’aÌé¼ý˜´½mƒð4û&r‘÷–› Ô°SO7ûîW žEäYÃïù,‘Ý ãl)1#)Ã1œZåZÖà{~EòïÚT«>±BŽáTо[Vé¼hëyk} a&~Ît6zKŽ–Ú’ ×bWЫNÛý‚F| b:~Nò6;›«íægwõ ºäï‹Üš"<»Ì£<ݘe'¥£pâ\UdÎ`BÆ<)‘>´+÷ ²¶¥-5œ«úÞŽéŶ{L?öM:å"ï-7WÞ¥ós¨û ıŽí,,§^pLëC––d6^`އc4q BÃxš˜egaòŒʦp£YË©”Ñ_Ö4Ofë/ÅÏìÂTëëø>²}ß³ b"¤±µfÐ+~Sò*~f&Û¹[¼Étµ\ÇQߤS.òÞrÇ»˜‡:•îëÆä³ž  …‘]† Iw–AÑ›-˜â%”ÜŠD |Áâ}ŽUG3fÛ€tî´S5éK¼·Ü\²ÌL¦O½ ž»g˜¤Ì{Ø lÛØâRaÚ•ð90°„(¦œ‘/ŸƒŠZͲ˜«OP“lí©¾Êª]¯ÛÏ)óëÆ˜S"§‡ö4cèñô A¾ó¶ Ã "^BÖ¶ž6 ”añBVÛáiöM:å"ï-w˜N‘¶Ütº°Ð´aæKwÎ!¬•cK $cèÈAoæ,/!k[†#ÃØ6æ¼í(´Þ¶A2Žô¤ãbOß䖹ѢÍÏKæFbpðæ?ÒY8¥…‚I°âônñ²¶ñ41Äá¼8x«mƒä˜°¾I§\ä½åÖVÒq¬²€®¯3ìàRíÅ&`ýà„tLo-èaò²¶¥m1öáŽÄk¼Þ¶A¾ñ¬ S.òÞrût·X‰y,­_‚wºGp›û2)sº›×\ÔjAIä#0eÑ´cñ™óU­v×{’TçY]ðݲBü9aî7ÏÒ×…¨ç´5"0lŒÎm'ÑÂ+ÁŒkˆ•-|Šv6!ò™œâ3•Z5à<ª>A¥4Æ÷"+ÄoÃÔ4¢¯ ±ÎÖß-ðß4Ža«`À_Ÿž—C­rÊô¬UþúiI_?:¼Z5€¿~-BHã{‘U¶„«}²¯c_õœþ<]G+ë ~1ƒdéØ+è[:ÆKÈÚÆÓÀœ8Íî¼ÅbÔ6 YR ú hõorkJ²_ËO%ŒUˆv÷ %-qÒuG‘5ÎèUKsŸM÷S 3Ì×$Þno®¶»ëºê›ô$»ûÈßäûî9¿ÖpûnÃæð(pÇêZ`'Ý,²% ’Å6ï o‹ó/!k[OoÈs<µâE&€Ú6HÞë›tÊEÞ[n¼ËØöêÏfÊý\ˆv¦ÑL#²‹™MÇ`s±ØL*c?ÀG j'Ègµ_9û´Z-ÚÆÕ§!$ñ½ÈÊõ5›eÑW_Â>uGc~djA¨#ÕâÔw9øt-ûB´#¸øêù^jÕ®Ö'¨”|·¬šá ëÛ:õëÆìs‚<>ІױgAòJ¶ô†x ò6EWä°ÿŒ­’ƒwœ£Ÿ·mžfߤS.òÞrs$53Ããðu!Ì!1\¤æ«xÔ‡¹Ø {Xà9©^\ð˜:<a–*ñ™ßB­YGÕ'¨”|·¬:d4?ÑÆ#L3F#f(,„d»à²bô C1y YÛxšÛ«×"þ¼mƒt$Ù9èÍHû›ÜœMqW›³‚‹U<žnDU=ûlˆ l:’" XT耵JklA8سñŠÏ6fµêÛ¶ú•Ҁ۶åž0¬ ¥Iˆ}–â… àù‘šE»øä?…8»íŸ€%½TˆyEâ³Ð1µ:dŒTŸ RðݲJ…‹£Ø~úuaŽË{˜þ^è.Ç)ƒ[zׂO× éÛ:y«6â´-®ä¼ ŠlÐ'O8¥9]’‚÷EîxsÈ$ß^;~ö …wiSÞ¥õ Ó¶J^B%6/bò‰OpÞt†™·<èA}ƒ.¹Àû"·Û…ð6‹òúº0Õ´2…GžŠoü€>y¢J+èÙÌ1ä%„¶õô¢qn8ïQ#Æ‹R!·ú&]’‚÷En¾Ë†;ùf3Í5µ+v,3ŸÀÇœY»Ë~dô.ÓR¹ !cº9¶Ç8Ÿ“®ÚnrÒxߤS.òÞrkåEBFYn]ÆŒ¥g­lLêfCnIlÌu9ýù“—ó Za]'fb-ïg!Û¤uº• ™g÷þ&w˜t7B Jv“î.~-ÉÎÊ•-d¤*ÍXé Τc‹/!k[†­†£^©Á‹Ó¨Ún"Á¾A—\à}‘[ïÒ‘UÜì&LµQƒhs»ZÀ]Ì:Pœ tø1Ä»uX‘ÙMË×p^ ©ò¶#xK}“N¹È{Ë¡˜ jÅC1dêÍVà[AN¸9RÃi|ì9èEAKí‚Âi,Ì< ªxÏpiÞ6 ÍýÝ.¹Àû"w„ÉÍ$ÅìëÆX|êQì:ös€[Œ%!wi [sÅKèR‰ép€“·ÙáHm$…´§ S.òÞrÓÔ¾µÈÒ"D9ZÞ ÜÇ9¦›c_‚d=_#èÅ|/`u(»ÿC˜d§aòžkñ¶}BŽ„PÆù"òkàbµ¶;p±Z’”Z ‰¤/ÒgИH^Böˆ¾­Ä}o5mPmW½oÒ)yo¹Ã«q¸…—n¦g(žŸ1ãXqÖ×G5ÌSl¶¹½)`Ôx ͰÙ6ý3ÅÛm,ªíîFõM:å"ï-w-/†´ Z^y³@´nC¢YBÊYS,U«øž-SÀé6 —Pò=œ˜Ö¶œ·"‘múäZ:FÐ!—xo¹¯ L|Ù-£1yB rmá‚]áÖV‰\Ñ‘ê ^BÕ]4 ©¯%•{ÛÅWõM:å"ï-wƒ¸¦ðØî]2‚_íh~VÓÔɼ“JÐ+B«È[h%›­0v w^‹æð¶ r-or‘÷–;Ÿ;ÕåøÔßáølømèø¬KŸu}(@»_PºŸ™©ÃyË‚æÓ4OõÍÙ·èK¼·Üx—UTŽIæëB˜5mÙ ÓÔ‡hJd²ÂêŠT:ÔJð(r6a±~â3œZM:ΩOP‹Â—Æ~•UËp—íK!'ÂLób*¡pYHɱ`fA²iÒgtd;‰—Ðð¿0¶x:oC¤>ÛnîƒVߤS.òÞrkºWå44Å)WY{bïÔ­c9‘ÅI¦$s*Œ>°-—PvÕP˜„Ó.KðèÞöm¿DߢS.òÞrë»L`º+øÂ d9,~Î0íÛ#5%“â'&áZÎ+¨»‚/L3Z¼¶ yÛ-lbKF£S.ð¾ÈM…aÇI 2",|#Ä¢ZáfDÝÖ6ÿœ›,ÕTFçÀÔ/„}ñ™}K­vmðêÔâªÃ~•5R_R2"õ¥ñc"¤±`:RÛ+Y†qÞAôäš>#R_hÌÃy‹E¨m@nž¬A¯:yñMn¾Ë±#…¢rŠÓ,•a2¨ÅŒ·y2à¥ûy~V¬ž¤ã‡/¡ê‹ƒ0Åt4ñfÓÑÔvöÅA}“N¹È{Ë­]Är*©—}Ý,gk¥ẹÂJS¸è Š3y 5wcª¡óš2èmw¨oÒ)yo¹Ã¨A¶–µ3ÒìË&ë½™åÿ˜™×ô)Ýy¡%âT#‘M˜uï)m@Ÿ”d§ SRòÞrë»,·#é»,·MØÌhÿš°HMAòãÓƒ¼C û×&›§\¼HÌQÛÉsMûסK.ð¾Èß…^û<ý»Ð³o…d²œ“¶(ù.=5­Êµ¹qŠI;x›/¬Óg³a*Vò„¥Byh2û&r‘÷–[š=Ü\Õm¾.L³`›£‹'@ É*) ’µÁj8€^’mqä%„¶e9Y'Ç©FÞ“ž±¼m@:БÎTÇRƒ÷–;R’ú¶#%i@ÚØêFÅÄVÏú[}+Awçëmk«§MxwçåùŒmÒV/[A I—”Bîc–ˆs@=–šç;7XNŽ¥¦%ê—>þ´ô¦Óe¹ ø¥…±°QçE”ŒÚîž– ¾I§\ä½åŽS}Gò°Û‹‰©°WÔ۬û# W©5}ÀºL^BqÖ&ÃæÛe™î#ÚŽ³¦ú&r‘÷–[ëØT{ŠuÆ™³^ä+Ä­0²·5¨Q¤Ÿi3WPŠX§äisÉy‹ï«m@Ÿ\Qsú”µ»§ork¾L„s.ÿ. x´¡,À1ôs˜·%H{×Uû.g:ð Zñ]²ÛdžóBUWÛס€}‹N¹Àû"·ÞeëøÓ5÷‰±˜[û`˯V»ôõ *¥1¾Y#š³áÓWU·RH{÷ÌA›Øä!3è[‹rmµØL‰©pëm/úж‹"X½oÒ)W•K0ä¾²qtrÙo•†Û)uÇ&X³‡XË0]¼vLGvq ^·sjW·)ža'^³ {Ûn2ö¾A—\à}‘;ÔÉ£¢XÑ×ÙC™Ž•Í#x¼3h}Ra;ßšônųÄ+hÝʧa&TäöÕöpåS}“N¹È{Ëá: *Ÿ²~„ɨ¶‘d°Jˆ½$ÄèA¯Ê«žÄœ€¡ùr8Þ6  ¨þîár‘÷Eîpxm†Ì$wxmn ë¶R¸¨æä.¬ô¥Êƒí‚¦…¨ë1µàŸ4µí‘¯Þ7锋¼·Ü¡gψÿº08ØX®¶gśٴrÏD úBhy]ù÷ {޼eª>+¨Ì8¦²‚Ê,!éRí£[jKÓIæ a6R::ŽŠÇjͤ.öù óéS5ö-ß$„A²,y *³m@xºËS`ô¦£ÛîßäÖ»,Ï ¤:) ŽƒcËÜm&â$wœ›³ê‡=«^R½ 8J ƒã yyTdÛ×Qrx¤÷¡K.ð¾Ècl¢?E¥ ³ÍÈ…‚­ŀݦWA5=}ë¾.h…±ž˜‰úaà-Sõé{$5¢÷ S.òÞrë»Å3ñÄ1XeG•ôÇdð|YJ.“Âè2}(¹c_ÐRú‰c¦9ÃÉ[°Ê²m@r'óír ¹È{Ëû~eíØ÷+v¿„/‘Y}¦aoN‚ôK§ô “6y·bbR|—Å ¾¼¾näô}]Éå^wj Þ[n¿¦ŽH2í ƒÏ‰ª+¨›ç–oM5êV’™øÐó.À+¨¸i_˜lßM¼ðTÛÙMûê›ô©£ÛNßäæ»¬*eVÂà[²ú$Í«C óȪgfô©ìë}AÃw?a,vÂy»L¨íî‡hõMz•¢½×7¹é¸G|Ü)2ŒÏ"D?‡Ï…šÏ.ö, avLß…¢ÄN(1l|šÔD!,ÛL|å˜ÆÕjQ¢“ú•Ò€ï–5Nƒ¥ãô¨`-œYò¥áDEµ¤Eá7Æÿ5,tôaŽêÐå¾fá<Ø=)fzÛ€tšk3è”té,r_j>cW.5¨ù,•SBͧžÀ½Í…Öšk+Ì€*°e×+Úî^üI}“>dËlë›Üa5δw7·gؼ-Ze*¦èl•¥§ÂÃZ=ÆÔ,±Z/¨†²K ìâ…ýDmG”¼ú&}ªÐgßäŽ „„H? Óuš]ü5`O\M/¬Åé#yA„ j¡äƒ„yñœtÙv‰“ðTy¿]C.òÞrËûU¤h E/ÜøÈ“+âhÌ }¢ÉhQ–Õ-w”à#}hû4Þ¡$#Åt ³Pˆ­+¶Õ¢z›¶?ú­¾¹×”¼·Ü<ÕÓ°[•ã(„%ï¬íÑ®;Y(÷ À™×¨Ù¸ð`d!,P|…Ö€tE ¿{Ÿ…–„ÒÅ÷"ë•ìµy5?q)çÜH'D¢eœ³§çh¶¢}ÃèÅsý.¨». LC:yÒ)Øvs]@}ƒ.¹Àû"w,]u$ÜáLa‚r|  ú Ï0oÝé'X®;/¡|%H³dîo8÷îmÒi;è””¼·Ü¡Avœ/ˆOÌÑÕ·iqçâ ²NAÒ kúp=;„¶¥A2èõ˜/É‹²öj4ȺƒNIÉ{Ë}åβõ¹³àè#É »™;[}òÍW:K7Š$—n`Œždñ øQÛ#BÝ£A ¹È{Ëý­PAó¤(0J ømXL`ÄoÇb¤{iãõ²:ÓSq}y-FÄÛ.~¦QߤS.òÞrË ÆàÑV0b¬zƒÕAAÇÊUª6YÁ #ëHïpA“—Pr+1yÃ’ÞSŒk{Û€>)ÉjA‡\â½åŽ$œF‹e$á4šW‘„S œ„cV·ÈGI<Ñ¢8¯ é¥3„æ^¯¼¼íî[¯ú&r‘÷–;¾‹…‚dU~sŒ-ãçײàØ “AÇð?§3¯”¼„²+ˆÂÐÞØX’v´<ÄG}“^´²ö7¹¯€ ºÂ1; gËŽL¸Y¸²Ìpùrõ¡YV†}AývF0ŽÎˆÊØÉm·ÛAË0,i²ç7¹c£ý®._ǶWYȼi£ZirÍF@Z™f zƒM¼„¢:–0I:¾’Œt¯2#|æ z’ ¯¥orGBÑb5.}—­8Y» 5)¼:Wkµâsõµ¦ WÕš¯´y=M߃v˜\¿x3ÌÔj#fµŒ1\.ñÞr_‰-^¯êëÂTûä6#½Þ•%Ÿ A¾c´ £¨®xYb÷µúËhLçÅ1Em(QߢW%d§ùMîØ_ºñøzÅlœ÷«9{€îˆ‰ó>MÌ'|Ý1ó¥8ï3Ù2•à…Æ£¶ ÒþR/hkoJå›ÜQtc¸ÙôëÆL|Ë­°´‚*`LXÔIqxòqæËâ í‚ÂH+LÇÍ&Y5ngж£È¢ú]r÷EîH8Ú ·Jžp´±g-¬E“+å²»YaeªØ­I§g‘¼íª‡§ÛU&Ïy‹¥w¨íâ;«ú&r‘÷–;ìcŒ áa]ˆ 8/1Í¥Á>6¦ YVFúPèìVNaà[^ëw5o[ vЋbCFû&÷UÜëfècyx º3y†öâù®ïa–»÷YÔ¶[‰¨ñ,ç¥g›mßžoô-Ï7嚺u+äŽdÞ ¦3²0 AäÈ{=ZÐ|÷û˜ºŸÉOôI zWUFã%Tãö§®qd:y­´·Ô7锋¼·Ü1Æ2óm—± ­¤â„Ï2ö8–ØpÍ·é˽{ÿ]çý®`{ŽXUyÞÞ6 }E–á0:åš*èrÇ:Öñ~ºÓEİéÎ4”¹9«däëX :ÃN›nvÓ=o3Ö1Ú wðf9›jä±Ãé’«È‘rÇ:Ʋð:¿L?Ÿ3ÈÌJ¸ß=B´§[‰ÆMz……˜¼Uöb}EaàËž~b®+ÚnþÕ7éI.̼¾Éz2Ó™ä:fK{Uv2nd1-Ù“;l;¢gÏ|¾ ®ã,kLçe™\¶]âîöMºäï‹Ü¬{† ³sUË•NïŸOÈ5¤ü³Z(€ÓWO8¼÷«˜)øT/WJ„­ÕâËWARçQõ *¥1¾Y/o1 xðáôdeTÓݸ àáëògÕ6غJèвäÔ"ø0é2nxñöŒ¶KT}š*°gÈEÞ[îP'+ƒMW'ó³hƒ2œqáª8 ig¨ê¬±]/(…IÌ/–¬ÛyËòì”$Hê$•å¾].ñÞr«¢KS>˜\.ÂT”ÂéÊck¸[ƒylš"i*ÍèKylÆëycÚL…±Ë#9 j;rÔ7éMylc|“ûRÁ°iN”™• R°tñŽèK·@£7„r‘—PöeX+4'Þ¼]½ë‚\›A§\ä½å¾Ì®0Y·ëºC(F×â·)0WŒ*ÈH9èC™•í‚V‡×'_Î["AšÇõ_f×ôâyë›ÜDͥï¡$Æ.ˆ¶ËTíÁ‹V“ 7.§÷ìp^PŽ@ ÑI »frëpä×P.z6:åï‹Üre;f÷¸ºQ\¿X`~ïÈâ>ÉCMÜG§MÑ»õ.^Bqu£0Èâ&oãÕYh»Eh/ûr‘÷–›EYaaIVW!²UZå(–”ĪóŸ&ü ¤¢Âøxê¨ M>\{ÂV»×ß~ʃ 4à{‘•qmUkQ…qRˆ~^q5]D—Ó©#“³ ãÈau@“¦,J!¬qñY¼Zõyõ jU)„Z_e¥øÜ¢–œêë6³1,”ßð‰7mÛ©M·ð”–5!̺¼Hà³Ð°Uö(ú$•Ò€ï–õˆÿ7ïÿúþ(õÏŠ†ÿ[¬hןû§÷¿{ÿ=Ä+‰PIò9è™·ÜþÄCo¿üýßþůÞý›·£$¥÷ûÿ¿ùõ_¿YÜÿ¿¿ýý?¼§÷|Ëïùü÷Û·lÕ_½Ýb|ÙµÜÏ‘ àùçG>ì࿼ÿæíèÏÎo¡˜«Šÿý?Ðá}ŒüŒˆd@ù\Zøñ¼y€÷¸ÈÑx?€9漸Eö7¸øÕü…?ÿ~áßþîí—þüFï?üó»g’ÿÏÀnUl‹U$ûáëýO~1þôý‡ß¾ýÙÖðOq.³7\œíçrÕà9l]¬åg³V»‰,XÓÏæf٠Οßç²38ýEct>Z»&ËZg·µoóJÇGt‘§û‹ è"[µ¸ät‚÷Ïþ’®Þ@"àð~õxá_į€ºÕN,ÿù—ú Öiú…±æ?’õÄ>Óñ?ýÊ?ÅÚl_9¬t¯ËŠ ¾ŒŸµ þ¬sþ­µ²]û/%ZìÎ%[Uî´iU^ îVx¤Ÿõ° _ì)y4îÛ}R§ÄIÉ„ •‹SéYË`Ëê<Š ŸP>¬Â÷»YSÏ¡·N¸ú-†¿»Xüá+.O±t ãVõjÎØãÖh2;pBÁ óâ>pBÌî;0Þ¯ªÿdÿ°‹óŒ?!ЍšííÀ 7%Xé[Þ‰¦¬€Í aŨ·›†l¸ž ž(ÌÝΚ}`»{ðXÖì÷ȸÑî^بÀïŸ7Þ§Yªù¯…¢æ¸;0’­6Í›,«\T¸bƒ“Gë}NÅò$À8P÷Šß;ãjKC¶ö§Õh·»BMžá%šm·ÃÎæý\7[»Yxœ¡´ŒV¶¶Ðs㇫Çü?&ogy”‰ýÚ^Öøl¿WÛð“`½z³Ruˆ>í WÜ”j7¡AÍð-?0.Þ5Øä©¸S·[`Ü«¬ÿ6ÎÀ£ozÚówŒtsDß·Ûg:pU^œTÓ.ÙóÙÃþ¡®d–Ošü½2ùÍ@ü£i‰Þ6{þÏ~Åbï“n`è|ß„B•Çëdý'”ŽD$ÍoÛ¯ªMçñ=ðkUŒîÝ”Ãnƒaûk5AtK±ýñm-˜/$_˜øÍle/}[xÏ…JNH`}Àd^•60«§•§:àÑ`Þ&.kc|v54™ŸÚ§bŸ· <ßÙè´ºX•œ~|fs;ÓÛ~žÕ¬r´Œ¡¼›|Þø3$ÎÁJlÚ…^mÙÃfû;éÇh žÂ³_œ~aç·ÀÆ ðجQoä1ú€Ó î—1~æFCH§ñâÆ÷søë+‚Im ¤•¤:ã¥[&ª]QÞ¬îh¹ëÂõÕ.°c-Òà K³š²œï(g,|#[ª£ ™8Mø iòa¼à3VÑ2^?5бuƒ[¿~ºdžGÿaSÂçÆÏ¾íj}“Íɇ¶­h“¾æ˜HøÔÛ*ÝiìÊVl<£}dA;ãGÁð:C?ûØ[sY=~Ú51ñ1¤—õªñþèŒ5&Ãjœ8çÅ>|-Î@̱•ñq1—e´iv®Y0u'gæõ4»§&ýÔ’„%áÙfŠcÚý¾ L |ôõfZ\/G³sõÃju~‡‹Ùl\K±Ö͆7ãRxÊÙÌX)'g5ÒÉÙÅuvV.{X†'çWéi-ø"Ž­Ë×øY¹Ec ˜Ú¡±CÌŠ¯Í dr(p9uj®ígZ!jßfãæƒÍkZ¹ïm§zψ­ï¹ÚÎ8;7lœsp_ƾ:·©ÍÚµ+ω9ÀM{.î™ØÓçÆ¸ç–?7wdh‹ †ÅáM}b¨;T7žÁ˜/md™ä®¬,N"ê2«cSÕYë5¡5𢴏Szf’­qT³v€¥öt—Ú µ­Ê‰ëp»anQÅÛ\Ũn3Uº‚¸¹ñP|„ÉP¡^>«K…ú õ3eÌ#©§ç>šôêkjXP¥Þ&uNõ7ñGz C}NƒBêõ#äÜï¡~ç‚àêy…ºåê{ãÏø¢Þÿè÷‘YÕð‡jo93í\›¡iAòS±¾ù„95wç4"Yè1âí¨IÁ¶{dߤS.òÞr‡/ßZ°0å¯ S¢Yà .fd<3.7A—çÔéE‡›Úv/0CÅy³Ô6 žäátI Þ¹£üüѽJû‰iúìh„hælZ„¬¿l—U9Ý⽜—Puï¼0¸íO¼¸óVmǸê›tÊU¤„Üá+.ò×AÓǨlóàh£vÇð_úh-èÔVñê…M ³ÜÉ[U* ArˆYßUÅ¥Ê Þ[î¸øÕ~Ðæ±/ÂtD6dKóÊÃ#¦ Œéª9ÑßrØ?á€ÔŸÍfÒÍR㼄¦W}/!^üüjÛ½<Þ÷Еaiï-·ÖäÏ™eØ~ÝY²©óG=³ùì¶KÖÍ óèÏD±‹¾yž#4âæqbºÊ@,Q\– ­à5r‘÷–[ïbñÀgîz81°aeÜôPp?N±›}Ò­ÙKÐaH"¯ ì‘Ë ¬yÏ~W½m@úúpºäï‹Üq§jÆ:¤;„)Ò6ö;^_²‡ 9yw º—Pd|“`J /²{Õvò;Ô7锋¼·Ü ¸°J$6Fè@ÆV»m˜<TC³:$;È,mzöÒeã‚–G ãKÀBZäi”mRxÆé[tÊÞ¹Ô3Ìü–ü hÇX4©ÙY§éǧ…Š`ó¸NRæ7Ñ·mdâ%äA;ƈœŠ˜ÚŽUO}“N¹È{Ë}U­kx÷Uë`—¡ñÆì0ž5C ZžUT-¿ËéÕÔ@ñžusY‘×ÌtÞv÷| õ zHšÒ7¹#vÿDfäRfî\¡nC)‚`t:OE¶Qƒ"HA÷\={Û€¤Sœ¾E§\ä½åŽw1-(Å…Ä ÄmGJi.*ز» i%»©®â%”âÂ`ëõ7±^Ú$ÝrÏ C.ñÞróêÕ‰­×ò~¿^ÏjÂlçðø¨$qBÉoò aO†PÈÀ"BX2±øÌ@¨V‹"öÕ'¨”Æø^dåõ&ã2k¶ aÇaº6йžvJNGB+´Yèx9|²æ¹--¾tf±ZMšäêTJ¾[VŠƒKn*ú „%gí.ßé1ðaj`G{9g)òh*÷ „7Äg9\jµ(xN}‚JiÀw˪Ãî?ÝQ<ŸÔ¿O–¹¹Q?™’°£r~²JT³Bˆ@”Í'•ïɇ¢øl5jæ³OR! ù.Yc¯ X×z Fµ¬³…àŠŠTiõO)è6dòšž…&Ì@ÕPòv÷öA µ¾I§\ä½åÖ^WFÅ„¯ ƒª ™÷  /³Nò:È„ÑáÄ/ ´ýÉ}È0°À—¶ O£oÑ))yo¹¹& tXc^3v\°“-n©#õ1{h6‰’ŸÂÇâ3‡·ZõÊ¡êTJ¾[Ö¸S•m©@«0(õVpQF©·Â¢FÙiJÁ¡•t\*"^BQÒ‘˜„t\ò&\ ƶS\ƾI§\ä}‘;n‹c¥‡­ûdŠ*xlÜìÃê7÷Øxi~k ÜÜNª,²/¨øm²I9x­N·½ˆú&Ý%Mù›Ü\l—ÎÈœ!B˜ ›¿õ œfÞÅuCDâÅ,†1ëk§Cŧ‡0¸áD¼vÉšNšêTŠ”¹'…ÀšæÉ¼ÓÙ^ïëÆà¤YpJökmA[v %/ ^B%вTéð6qÉ‹{Ôvö”.õM:å"ï-w¼Kƒ9FwIcÕ9íÜÃs^‚$]iAo:¥öÐôRÁ <©xq»¤ÚŽÛ'Õ7锋¼·Ü\²’Y–šW<ŠuËë;À³óö¢X*Þ½¢X2¨Mu–s^ëH+W$>«d¤V½Ð‘ú•Ò€ï–5.Q=ÕÃûQ³¾.İɔ¬ÀæB‘¯dé—+lÉ~XQÍü!>ÝRD4Ë÷%"ÛÙj¾³OR! ù.YÃ@º bëÖ+axsjq¾ÌÌ2ª ™"/¡)kÄà&Tñbì¨í)kì;«˜ýày}“[»2GQîëÆàŽíŠRŽ÷ŒÔ©H)W™à‡}Ûœ/¡â7¡ c刜wl«íìú§ú&r‘÷–Ûgø9º,åq67êL«w®pËü·ÍÃbnSÐÌAAü{I#lUãÀ3ìÖ´‡¢ß§/Ò x.ùüþ3&ùõ6B˜â2qÇj³°«¹‘´TTÀÎX"®çŸ¿Ø†ˆjwÓ¯ÂWŒV«ßjÃ>I…4à{‘•Ùe¨pP¦ŒBX=öŽŠ'e\)cø£›©T”a y­¾Dœ¸bòYœ‹Z²«©OC„x)½Ê…x”“!J{;rÐóT8WJ‚dÂØ+èÈïÖqoG)CžùάoShXJ‚dRH%èC'»Ý¾É}ôƒ™zÆýÇ4U[Qtñ¸÷L"@Z7Vz• }^Ðð`Â`ïoSqê/;Ê2RÇÙ-äêºz5äÃ-Ó¼P 1î1»ñî¬×Îç’ÉK ¼ šlïà%´¼P‰0ÅFÀ›ÜchÜ"¥r‘÷–›Ù2v Ù­ðYˆÈÌ3íþ‚³Õ<ÏÌÒä¸/Í‚TÄT’¯ºµ D»ú•|Éî¶e«É¯¾eŸ@H<ã{‘•K*Já–¥R>BØkÔhŠñQ×@MˆóÿPQ¯—|–ôR!,~H|–اV‡ŽGêTJ¾[ÖëÞ””Ý*EDL‡‘ÀyÈx‘]aòô›mÊ^BÍÑÂðö™*si®ÑvξI§\ä½åæHj°ýÿëBXôÈh*óÕGG|íÍåÙ‹ætêDÝ3ðMIãÝ B˜b!¾r&®Z-š×êTJ¾[V%ÎÍ=±Â ÝÒäW0_Q—ÏAžX¦<‹>mû/¡æžXa ˆˆ·"αëxœâàa}“N¹ª¢ÒCnÎ \(ôèQÌ!¾·0m³{íc|8ŸífÈ‘7ä#PÝPBD±¡N>4j5kþ«OP) ønY¹mxó»rÈ„°"æçJA˜ˆÕ¿-ýÚt(žmt Ñ-%˜|º«UDX¬žø,I­zqõ *¥ß-ëUÇÄ7Ò4% » £lªéD¥’·¤ Wmë傆Ÿr„éf@oC„pÖ¶,ú]r÷Eîx—A·jöwp­žïÝð§˜oâ§ ½KëA¯ð“·ê8®M^˜…»xÀ›á¼`Û9ê|²oÒ%)x_äŽzBùÁ‰É :[æÖÃL[Ð'Q´¬=Ëè²BÛzzÁŒ¶šó>P ”¯œ.I—îǹù.žéZ¼„0vUBÞ)!ÈœØvÝu¾Ü7ÃÀIGQ6ñ*^BìÕâµO½íä5 Ô7锋¼·ÜQ‡× o³"å%2 «Yú\‘–ì<ÎêÔXN?¥S–óBÛò:fØ.RsÞ6å•þÖ|n%è””¼·Üa¸eþ’.h†9CVðÿŒYÀf$ãÚXA÷í½^PS,1MáòÆÈÞ£íêõÄÕ7è’ ¼/rë]p“ç ß䆥퇌gZÜŠ xéÖ"Òá­ïÖª¦1&Ì€–IÞ]}ê@¡1¦¾I§\ä½å¾ê%éæ»¯ ÁË·÷9;.ÜÁy UšÉÏî+ªE­“@vwp €áêl€füî¢RVd¹d·‰ÏÝÅÄlB•£Îã¶¹{z}há]´Â]L œ¥ä=C2yÛ€¤ƒöô¢!½Ó7¹iCß(í‡r!ìp½áfƱÛÌÞ~—Y| ãXÞ¯&ÈæÆeäö!ÕöÐwV׆)Szù[¢¥ÕÜAˆy!YŒ6½Ô¥¦è¤}݃ ÛEù|aàÜoWQϾé‹XߤS.òÞr‡é–½ëcapóq²KÎè©°³æ)H6Ù܃Þ¬@^BËK5 3Mlòžóõò¶é20u®‹¼·Ü€¼0ÒYQÈ18~åŽ!cZÆ1¹ÄÌ·RˆnGeç%”<ôš˜ãöJÎ{F{ò¶}rù#èK¼·ÜW@%Tš×fŒ#KàìX27lθ+ Ð'­{Y›â%´"¬˜‰€Kò"{Lm÷œ¨oÒ)×T gÈöŸB§UqûOtCb0ªYt <-%n—©Š* ÅgÕà%”âz3`’—Ná£dÛ€\±A‡\â½åæ€ÛU^'apˆf…Àbgš£cÕ%HÍ:‚>0ŸÈKÈNŽI6ŸÈû|E³ƒ6ÍSyØ·èE1›½“›õ:P*ošpD1?õBµ($F¯GV–B±VK*JX‘o(6’N\!ÌlK¾l™>l€=Š>I¥xà»e Ì%-n,ÐX(¡/+4íÜŸC¿ëÖÓ‘ø+^B="ljiÊ_ÝŒT_Ñv‚Bì›tÊÕTŒ(äÖtçÏî¶i>è3âè#¦¢„“ MI&3næìà%”Ým# Õað&ªÃhNf«r‘÷–;®žªØtT7T¿=132~™ÆÃØjýv#):äÐöjò î ¾ÅÛ‘…½eÎõŠÜì»+K»fç}‘› KQ:¯ ÂÎÉ»jåKý8å)ÀtЮĢCeøºR(XöU³µˆÏô{µZUóU}‚JiÀwËz• æ°Ñ!¦ÂZß40-/‰È€4ŒóúРßTüÒ?a²mâÍHÐgÛ9®Ó`ߤWjYßäŽZhSÞ@b22h§G­zzŒ”îY±z’ÁŒ¡mtLÃýnœ¹Xð+ÕÍËžµßâÿIoÊèäƒ-@¼Gf¶íE½oÒ)yo¹ÃŽñ»çêvl&Ø$KžÚ‘Ͳ¼– OéÎ#èE’/(‡ešdå‘÷,MÝÛôII”ÒC.òÞrë» [çè˜Ô†…YØE7Ýh¯1b=úkT½¸I낦kà/P¼XÕvwmX}ƒ.¹Àû"w|—o¼oIÞzÖ9¨ðæü’ sìþK—ô³UÑ”i«mÍfÃð’fãÝ[åôj" ïB-NMÊPmë›ÐRëaþ,v¨øº0ç ?˜$Rõ±ytÜ,HÖ…³,‘^ÜTÔBÛ²”ÐÔÄ3Úf¶Áô¶éjÐ))yo¹#·HÎKå}å™C½jÙi2ŸHºÖuèèÈ¡ýx^PH×Üe|Tñvdr4Ù>§¾I/îXÝßä¾îjÂªÅØÀTç-) „¡q€¹}—ñ Î 7åÖ Ê~èˆèóãt#oÚ¸mÒk9è¾QÔöMî8ÒwìÀ5®díØ¤+f•yYþµ Ò‘žºCÆÖH-ƒ7y䬶}[Å/Sgð² Û.¾L¨oÒ)yo¹£0mE~Dq=§#¼"CÖŠÈ‹ävFÙÖÓtzK2³õ j~D–EñAØv‰#ÊR ŸÑ)x_äŽB›\ærÚäRg¿— PçxpnZ‚´ЀeU²–à|A¡áè*âmrη%oξ› Çc;ï‹ÜqW35”-L_3Ééj&í,§¬ôð^ä´­\bwð …0 æô¢••½íECÙwò¢¢Ì"¡‘;䎳׀ 4–Ÿ½6_šzoÈJiSôp† ·ÿŠ—Pœ„ñ` (ð@Ëljûr‘÷–[Še¾dýº1¸`yýÒçœø¨‚e ’ª¨l¢C·r:ÎK(Þœ˜„áD^È£¶¯7gߢg}Ŷ¾ÉïR ­;N„A/T ·ð“ªê䄤$ïô¦“a» åwœƒO@ÞK<Û¤w1S 锋¼·Üz—¦Mu軃ûéfTû¥‡\òẢùD:cÖÉKhº™\”/œ_j»»ymº–·Y̼·Ü2mdóm7çsŠá-`j:îÿ™•A PêY\otÈ èÊâÅ5È{jSoЧŽQÃé’¼/rÇ^™ñ¯»Í2z`y­Þ;vêi'§w´·—ùyA#î6ëž7¶‚·é˜¨l³X#w :åêºÛ,侂pНƒ˜08LõìZÀÀn[¹$½ùvAq‡)ñâ ¥¶ã ¦¾I§\ä½å޼BÚM’î3nʼ±nM™ê¼ˆYê×@«}º³®ty­‰™¸_¼Cw1‹ýºˆ™ìe„\ä½åöàÓ§½åIL†µ(è¹CfAÐt¢%Ï#X¨t Ä¢h|Ш= %¨ŒkÛuËhrûeÌè4f<·µÙè}Qš*1CÉš…˜ù΢„<`}Ëò>.¨ßa0NsæàEU7µ]ãœÍ¾I§\ä½å¾Ò‡q¶ÖUFÄdM«Ûð-€$Ã)›ãÒÛ‚Ãén6l¡mÙ®ì¼ 1žlùe8]’2wã–;ÔÈÄP•éj¤n¤íï¬ÛgAVý¾ú¤¢¦›ta9à}Çå‚âÍ…I|ÙšhmyÛ€ä{a9‰¶B.òÞrGXã"g„å08r ,gP-@Xí%-Âr˜QÀ@†kŽ ºŠ%3â=¨zUo;E±$öMºäò ;¼\Ì&•íH˜Š ‡®ÔS+ì4ॊ1{9œŽE¼„ŠÛŽ„Éfÿ/<—j;<›ê›tÊEÞ[îP‰3B¨”E"ÌDÒyG ”‰ëSP»#RЗ|é邆g‘ã†ì£HÍѶ§5zߤS.òÞrK]AY°Ú\½nÌS{p" bX±»{¸’{ ÊÔ O¤\—P ƒ?1(M*ÞÿÛ.aðgߤS.òÞrÇuŒÏyi[É×…@”ɰ˜ê”i•åÈ®›»Só±Ò“Àô›âˆ@l ùŒÂV{\ê¾™Ÿm‘"|·¬1¬&N×IkÂÀ“-E ’´:]à?õRÿt¿}е‚—PŠ2À0š‘¼ܳm@Z=,ðŽt~%ï-·WSf¦Ìa%Œe`ãPfÌ÷9žm¬dXY ‘}1‹¼‚¬m=ÍlÏ3wÄk7zÛÉ +ê›tÊÞ¹ù.«*#OwÂ`½c i®w«KבSðÔ$ÝAŸòyÕ ªnNÆ’›œººÚv?¹÷M:å"ï-7}ò6õ§¥3~Œ\GË·ª²Ë–$üÛtYSo+ÿþ»*o0²#ÁcºÛs†}ÀsÉÇAE¶D|Ú¸bÌ*ƒ#>­ÿ‡ø´úŸVƒ—Ðk|’ó^ñi]Žg ¦ z\±m·Ü—þŽ ²×C7YYrÜiZ¡ ø&È UÅé÷©’WЕהä<èÕyË@Áò¥¨S…<³oÑ)yo¹¯ûÉÌG] œÍOmùîVÇç„óÂ"Œ #*ýX-$”Ôf±£ä#Õ‰€.L¾lß­f7±OR! ù.Y#Š 1^\Ÿ‚˜Œ¸Í‰ )Ĉu„Kòå³8}À”I^A)‚7É[Q˜ ~•Q½m@úkr‰÷–[,æJÙ¯Š¦(³f"ºŽ›7Ó"dc?>¿tfX×ó-dc&éz…i§Þ=Õ4yhä`6z×`δ"“˜‰ûoÉ;pÿ-ÛnyUߤS.òÞrËœÅÐÏâ& aàPP‚6¡JD©ªG!Pa\é(+^BÅM@ ÷I¼L˜bÛa’QߤS.òÞrGÖL£ÇI•ý†êÛhžË­€y_še+7,A›IÅyŸÂxš|¡!oGÛ×»LÍry2|ÈߥXÝt]dOĆndik+ÝñÙ VX¬‹•‹Õò-Å`Åçæòáj¶:âÛ¡Ï¡‹€Ž4ä»d½‚ 0%gD?qÊN¸Z¦³,ªmíÅ1UÓœ^Ubp_Ðò°¹À¤ì¼'ö/yÛ€4÷™QÒ-)¯X¹CÍOVn§‡É1™²Óí:ìŽØ~W# Óï*Nµò|â‰YD · |‘h€»‰‡S! ù.YcXñ³š+že¦lÁùkÀC]² +ÛŒÞuÆZ”ü@L¢ñ¨ëÄE/3O\)|÷yEÙHaì¸/ÞçÛ$÷ˆ©Ø K.ð¾È}M‘„\©s$á4€ågb–‡)13бÀ5é˜!â%4bé"YâmºêÞÚ~‰ô\)èC÷¹æþMîˆáX*mñu!P¢¢ÛáŒÅ+p9ÈHNµtvñXq£8(m>V³@«\yhN…4ä»d½òM௕)LÓ…¬‹È0…[†îÁÔî‚-µ÷˵ÅkQ\÷˜Ê< °xÝýÄ诈žI§\ä½åŽ]ÄÖuSí¾nŒÝi›)=°ÝVz¾YðíŒ^a$$oÕ¥.5tgæ@Ö¼~í%ï‘"U“Ó%x_äŽòÞf¥— ³° 57/© - ’öÍl[ª7y9¯ U‰ªìǼ¤º¢ía­[aéu…\à}‘;ò€ì:åï" r8g†19œ³xùs…VSIo …Í´ü]„™&x‘’­¶‡¿‹ú&r‘÷–; _ô‹¥å†/úÎÌÐÂJV£þâèA÷ãuº k[†/ÝoyOnLò¶¹ii½¨6XNßä¾Ê,0ê­ú|ɘæ•Ú T–³°Ž¤$2yáFÆúKzF ^AÍ·a/Þ×mÒ¸‡±s§K.ð¾ÈivÕÉûlc¦,RXxåQ‰ —ÖpíéL–%/¡¸8H\R!Þ¡ú » r³ò :å"ï-wŒ±lÅÑå´&bÛç¸q'Ù-§™W‚Ò)}í [€˜X,÷XÐw0î´MÜ\9܇nE…@ä»ÄÕ«cmt}žDë2²¦+Ójä«W zÑ•sû‚¢Št`x-Ze[޶£Š´ú=$Mù›Ü±z]ª%a2<í~ÿòœ2 H«WJA¯ˆ×'/¡äï˜#y+êN°íu)Ø·è.iÊßä…˜e_T¼‡˜‚<¨Ž£Œ*Uô‰â==é*„…t!Þ’ÊQ¼G–IJªoYš·}%w³oÒ%)x_äfÝ1ƒ5óN}]ˆ}F#Çšm¬ÖÙ|G9¹I–ýŸw‚ aŽñ™‡J­ºL}‚JiŒïEÖËÙëµ_7¯\§’éy_ sø}~ôä=l³ÆÏåGVœ„ˆI!o7-Em÷°³oÒ§Lœi}“;”È…¨ÏIË Q¡,zr”‚Sí€ãI”Hˉ¬º‰º®à%”#ü€˜„lDð– <´ HJä(A§\ä½åVy7{NÝäfÑÉ£#ÂÛ:ÂÞkdý%äD‰Žì)ñJ~4'¦ ‹‡¼I‹lžFߢ»9våor_Š×Tѯ¯ƒ¢`b±`ØDŠ×¾r&ªší9½/¡9 Ä ?Y¼0û©í0 ªoÒ)WÕé5ä¾Lªð}Í&Uú¿ð-™ý(³gä§¢ôŸ¾ G!C7‹ÕµŸŽÅàrRblûø/±VG@£OQMñ]²²*/GM*Q „ybÇV*Þ°rß# 8Mžå@-Ê\$' ¢Ù"D>ÞëŒVœGÙ'”|/²2øÌÑŽ®ÇŠºBäc ^(÷œìↅX9ˆ1”¾Ì³¶¶ó iÊÐ0ĶlÛF ÚÄ¿í¹FMðÐLòÜbRrÛVÑl&lÕW–•¼YV{eY¡ås,+£AšUÑ þ]4ƒ ç3ÉcEØžb_ Að\ò‰ÿæý_ßÏEÎÏÁ·Nì„}Â(dþíŸÞÿîýw|ÌNfu"}}ÐÅd^³Öøç¿jþ³ÖÞ~ùû¿ý‹_½ÿú7oG¯Jï÷ÿóë¿~³B?ÿþö÷ÿðžÞÿñ-¿ÿåóßoß²)aõö*Ê×[¶©þQ0ÿü¨çþ—÷ßüÜWúÕõó÷@Ôßþîí—þ°¾ÿðÏï¸|7ùÿ—a…|ʶ¹üÃ×ûŸüß_¿—÷?}ÿá·oöƒµÿ_4ÐÌPX°%Þÿöÿ•÷ÿsžÙjæz*îÿÕׯ…Nÿ›Ÿ‚ø×èç\g¾K|‡ÏÇ)ÅBžØÂ{Å!-¼ÿÇâ¥ð@3¯?ð~`Ú&鼨¸7Âex?p\Å-x?p‹íoq=ðG ®õ:4 ä]çŲÎÀøÅúCÃ겞â ûf?›õâúÍÚ~6ë¶vkù¹¬õëoÖô³9qƒBp–?nÒüOL^fý¥%ˆðO #MŒ#øpGý`$út[c7p?>ÇlÀ±©Ê ˜Ô®E˜·¨ûó qyöšO•È~În€Ul^0¯³hx~àþ,»lð9U3".8?±?V6¿,`Ëá3û!à„H-öϳƒ95'ÆŒáý‘`Ñ,HúÀˆ“l› ¸yÅÇÖ,]p¬£?ÞH¤ß£!ܬYÀ‡g¼c‰ió!xªèAI„-çÊÂ%Œô hJî°"æ3[̈ ê?0ãm,Yp†©¿wÃ5!Ý\Îpñ™ÝïÀIΞfßCYV‡ñÀKžšfí×)Ÿ;ÆKE5ºóÙÁË¢û¤¼Çý…cF dŒ¸â}­ é‹,óôì%òLÞ ;¼Æ\èc^”§àJÃn©)ž8hh>DÄûÄó,æ¿Î’p`Ü‰Ý­ÜÆ+Œ½ë6ŒñÓíJsÀ þ"ìh%kÙÀïU’´þNµ&˜¢‡=ŸQ_1 žúxßE“õŸqÉ"bc'd#$<ßTá ã;Óî\82j¸œ¨ Ðq–í–õ 8Á~ù3’_›¥)?0.Å8ãï›0>W XU=AÇ}¶ÍnÂ<0|”­s¼'ø^šäO¨u€pæ7ÍWŒ×„—–8ÿãºcü^ ´Uã'á`[5j½W«ØÖ“Îù“²ì=«æÕMl÷GgΧ„ùS­ `Þj>õ<«8Ùx*—ßàbÀqk®Û´õùÀ Q²ñqàL3ç"œ8Ô æu:Kí/Õ\í†;Ö+¾aýööÊùLÑ_ÎX%.^ yç“Þ'Íx~ÂØ”Ûõ{¤¦ï—Tø«ß¿g2ŸdüÞ)i<Ø÷ØvǸ®­ÙН‰‹SýcïÁ¹‡±°­@•]Õ”¤]Îúámg®ë‡;q™Â0][£ÀFñ²úù>È×äš9°le÷)ò@ë5ƒVã„Ã{Î}}Äü[>}mz®ÌÕ³wÙ}›>¹W¢T˜ûSSKôà+ÇÔ†…eZå_w¦](ãËÒsz)V­i^!_Ôf×jkÞìœbXgÓŠl+æl|A,¨³qÿÀz;µ`9žšX­gåâ‰Å|r®p­ŸæW÷­7ùN1+7zl$Sû<ö™Yùõ± M ìR³¾lbÓ*Jû7›¶0Û§…”û9;7 l ÈýÔ¾þìÚNmû}~Xîî‰?;6/lÞÏGi×Þ>'§¶þ¹¤)˜fp2S¬e(ss_‡^±¤–AíXíÐJV¡Ò¥eUè4çŠC¨0¶$,M+hD«KA3…i ¬'Ô§ž©áಠgìæÐÆÖÆbHeí™t±Ð垊¥ªÞ¶JÞ?Jܳ Šâæ:G=r[>ÈR3·v-h¡Xë~t%5Y0ۮĦ̙D%7¾2•àÔ¨ÔPINÞ9”èä?ÂR¢,¥%åš”r+§øi¶Å’_©´éÐô3Þ‡„Íhu†ÿnÃcîg>48mæ7—Ý4yf¯d0zõÌÈ òÚ Ž±Z³ÎkÉÿÞvW2†÷ ºäï‹Ü0ÀUϾüuaŠeœžÈ.=2kåYÆdýøgD¯žœÚÆÓU¿ÅóëŠQ”jžNJ9:tI Þ¹ù.Õlvv}-ßE˜fÒÍ£Àˆ¼íwµû ÂoÇ;H‡ßK¼„ª µ9ÆB×"æ¼í¬«e¼oÒ)yo¹ù.Å• úh3ppß—ÏûŸ¯>› ÏëÍEGïäÔå£uŒå;¯ ÷ zHšÒ7¹Cã=e»>Æ»ž¥*½Ö„8­—$H;F^AϪCV.ȯ`tŒm‚âM¶í©íäW0ªoÒ%x_ä=¹2g¹žÌj8g¨Ì·+˜’{à‰éô†[‡ÈK(ùþBL²«ºÄ‹Â¤j;J ªoѳNs;}“ïR²ç·%¬Éæ8ˆ3*‹%³v”ËÖ}ÚÓÌh#5ÌÄëO$ޱLcç5ƒ¢·]TZÌû&r‘÷–[c,«j Ïý¬j‡6³ªÚÜ.ªv8CÃbµC£7Ýše¼M'7ŸûÄ$Ì_ò&Ìí¢ýÃç>û&=«Úánßä–n¹¤;é–K:ÿYÕrhCÓdA†½½?ê5zAÆ4x5EÀ:†'òÚQÙÛ.ªãæ}ƒ.¹Àû"wì/ÏSè×…°üØ3¢;ŠÏ Ûz' Ý¢W§Z,ñ˜Š·Š ‰ÏrGÕjW‰õI*¤!ß%kl)åGõ-%ÃÒ|œóųïZ¶E~OAŸR¤{Ða/¡©p(ǘ†â¼PªÔvãû&½ûEéý›Üú~vlõÀ”¤íšõ‚l+Ÿº<Ë·ú…8QÒq5’x·.æq búŒm×à•¡fêþ8ßꇒ^¨ °ÑÌßäæ»Ç†)ëý;Æ,©bퟳãîÉ«8dÅõ”¢Ÿ”Õ꼂Š‹cÞjç5?»·\½Sߤ/ÝêÐû7¹5Æpo7|_7&ë 0° Q‰áM;ùë+èK—å ò,Faü#Þd~aµ<‹Q}‹¹Ä{ËóeráÜ>_ cEó,fb˜ahNôÞIº^‚¾qõ1_L:ÄÒöÈw5zÓ­ 낊S„± aתS{Û^¼Úû&=I%Úù›Ü|ÔV°XÎ}a¬ܱü³6Ù38*+@ÂüÌH“ =k­±uƒÐô¹/ÌÀü%oÇÜfÛÝç¾ú]r÷EîP' KQ„Ùµ Ý9Ãìší5= ’â¾wÐ.®!/¡Š;1VÐÐy‡E"ªí¡r Þ7锋¼·Üú.¦ž®~¸¾.İÖL•]f8nŸGùY—ñÁÊ÷Š:-~”|º[·ˆ°šDâ³’DjÕ¯sRŸ¤Bò]²Æ2<¡¹§íËðô“ÈY"˜cº–-&Ìžu[ÐD¥pÒltä]n±Û¾Ð•kÐOU¯9ÚN¾]©oÒ)yo¹ã],T¹*_Ô1MK÷Äó§9·›²{ŽkÁ+â%T•/ê„#Š×LÉÞvV¾¨÷M:å"ï-÷emA‚ÌSe¯9¶žÚ`¯A5R@R-,£Ét#ñ* 3wŒ¥8o–‚Ú² ·¶Ô S.òÞr‡ ö,…ÃìÉ_§R#+BíÂ&­„†®è¸ºx M×J„±žnÎkϾvW7;¿6锋¼YîôîãýÓ3&ÌÑ^}ÚÀÀû9ù»ß‚Þaƒ·ËÚÑ3&ÌRˆ–=3Ú›dØsUî˜N…4äK²†çˆæ•çOs‘…¾¥˜\"%.&›<SXhA%<Á{ÔCÍ}fG}Ônq^L.qqGþ‡y“N¹¶Çhk¬-³˜-SÛ42‡‚M˜C¿ Ý0ú-ãä/¡]±Ä(OF=s(hЧ »öR%-åMîGÅë:º{Á6Ž¡'´ØŒUëcdAÏ-Èý<3èè,)^BÛ7ma–û¥Ø&dÄÚÞ߯M:å"o–;L|†Ý4>4WÔéVà&BûV„&|¢3k–¼Þæg†"Â̺y÷1Ó¯ Hf1ûøírm)á!wä´nDû§Üʶd™sÈ ëÈiKÌŠŠ0éÍŽkò *ž1NÌ -Î[2ú°6 ¹çq:å"ï‹Üú.ÑãPÁˆ¦÷· qù6#q— =w}*Ó²$èD¶ 1y¢äµ_{yÐF×&=ú/¶7¹õŒuv—1Õ÷ d±n„ÿXÙ°#XÈ<æŠqÆ÷©Qµ¶o±ŒÞá¼ “bm@2íèÈ©‘="Þ,w¨ù9r½Óääš±vä8ÙUG«pÑ›‚¦3AaP Spxƒ·^ä*bm@:²Ø3ž´=÷Eî8ê9ùso?꙳q½…|˜‰Šµi—åäQ©3x‡j&vd[©~ä:oÝȆÄÚ€ô;±õ½!)y³Ü)bÕ`D”…•w~â OÅœ‚›túr„Ü#OmM zWSëš ê#aŠ‚œ|{žˆ×¤³’óZ-bt5˵ž7¹Sô 'Ð-ýÂ=øþwvag›¸gÏ…_zÏàÝÊáNéÛØÎ;››r§y°{Hµfì®ÞàÍr§ˆ>ÑRÈŸj<›ñÍ ƒF[¢F|ê "E<×[‚¦ÚI9®ñvÑ[OÔH±£tÊEÞ,w¨Æ‡½!—ëÆ‡=-YdOK¼krwsúóT4çdkûSô™¼õñXúÚUã›üÚ¤S.òf¹Ã½7ñL**IL-ªÑèx.\pœçèJùÐÐQ£O7ñÂÚz›eâoç-±e¶†:ž/Ëk‹NI=Bî8÷­x¾‡CÌ€ƒKþKÛ>^¡èÖ½Ñy ù@xÇ4è!ä­ÐQ¸v †×®ªÅ2¹È›å}¬26Þ]«ˆW$¢]@–hÆJ8oD÷hQº×Õ4,v® ªîàŽIÓu:o¹0t±6 ½‹·r÷Eî8+;,œgegð ge…eÖqV–+ÈÍâôŽ)Üä%´]OªÄk¡}íéz²®M:å"o–[ï &õ”g%1 ç]GÂ"r5ÚG”Håhh).úÔ(Až³tûY95ÕoñÞ«£óŽ}·ïœ†lT EÆ,t尳̔¯˜G7êv#­É§µ.{‚²é+Ãéh !^BXÛGD|>Jñ6ëò¡µé3¯(é[Es¿ÉŠ%‡uKæH˦•qeÌÒÏDïüq¤Èq ÈO Ë£¨PÝ”ÄìýTo$È𠽯fÛ}“;ŒÊ‰¨Gñ‡ZÄÃÐ}bqV;‚t½¶‚~½5}‚ª›#ÂXñë~¡µI¡`È9B.òf¹ãÅŸ8{øÃè{ïð‡qôR…?¬AîŠhA8\ÈKhÄ61Ôºïàmxj¸v‹m‚×&½¨)ußor'ãq€l¼  ã±/ãÒõÆ º˜ Ùxá]ä9 +Ž?ÈÆKqºäên¼”X[ Ìdßu†êUE>+‡d](}òlƒæt!¯ Èf*úφޣÄÚà }uí¡ÌºlZ}“;Ý:|͘†rô+å¯cK§¹Ñã`!iÇÁ’Ó™ Ñ ¦¨h›Nõµù}™N—\à}‘;}æäŸø.ÈËW'²iÜ~s òï2ƒÞ!¯ 0„a¶ *f˰oL2pí%¢×y_äÅ’Y ~PV)£å% ÏtñI#­%çBúÔä¡‘ ’J[4 W—rð ÓÌÔ}ÔC¸ó^E_C@ȸȋ!ݪ}—P|sa,iE¼'8פÜ:‚¾Ž2Þ,wj¼ƒ~W×Ãxf3»pSó¹±§ ·{Лô• —VP“{uw޲Є¤h(ÕLß½.¹Àû"wªdƒT#™­}*uêÏìVqÈÜÝ‘žéëöf‚ZΒ渳:ƒ× ²§¿]lÌÕgÈEÞ,wœ÷lhä¥-Äl•§¨± r¹fä®Ôãt6 ¯ åÙ~ÂÀÅ-^TZjí¨ÄÔµI§\Se1!wÊá™(ç8þ] 3ÕÒå9¹ž>H9xvs@ú¥­ç’-ðœ ä4B×'¦C_'o“.» Bví¦0¡ÉEÞ,÷‹=y-Ë)™“÷ )À,º§üÙ >É–$¦"ùlÕÒ ±`€oB‰ÆªÓÿ¼æTzȜΗd[QØÝ nEaÿ(܊ä@ÜŠ³é+œáô'#b8¯ –o}ö¼Lç­  šnSëy+8àc—7¹Óc5ž¶}3e† •‰?7v¨Lü¹ï€?RÅ‹ÈËs •—°Uýy*O³@*›hõÉpdzj‹h®I*¤éRb]ÖTGx¬ÂÅ[kSÑZ 9è/­|G@:ã8‚kÀÅFð HJM,ªklgo?°°6 íÓæ%r‰7˪Œè°?nWúî–A—{-lµsI›PP šÌZÁ;d=×(Gcà§•à-ð¢4=DîeáµI¯rÚ·ò&wêézêöÉ´†©3å®—páFZéÞ`±'¨Gµ¶{pxn°ƒI5¬Ï˜É^>AŸjUÒç›ÜÊηf¼»kÜ–h^7¬ßèeÿÀ=­ë)©ëÙdÄ {MöЈŠW m†×$Ò/Éš:é!þqb·:ìû„ýiíÈ\C\9e¶õ¢ö Ùbœ”~™mÂl¹…“1£t'g¶å"Ð9ÍØÌ-or'£—®ýF/ÜûêÄ Rä&«º+'#èWcG‚ÎKœia…ÙMoµvK%U¸¶è”‹¼YîØº¦õOmÝw®1©Öx 6}´á0+Hz{޹¡ ¸ˆÆ‹D@1&_UŠÚ³juG¯I*¤!_’5쪋ÇÂ>‰©ÈøDõû'ÒjùPÛHoáºA_hßEÞ¥f^#Ò’hÓ¶˜ÈÐ}m@Ú wdÂR.ñf¹Ó+‚êŠ=ãAÛ+êÉœÏ=‘uºª ½"ó:ýyŠó ªÑ˜‚h•ñÞ«VŸKð¤;•B5‘¡#¢]˜M¦ã˜­Xéa6c¡]p5èS™¦=A>µÐ1ì}:T9o¬=¼°§û8³yC.òf¹#›…Á§Ù, NÑiËã®±ÞzÒ#sZÐ7ò š²ˆ˜1CoZ,ÌkÎûi‚íækÒáIgßn!y³ÜÑRcâw¿*&ØÊK½(èÈõ|”)„ëå¦m¸\i°Þ­­ÃºF¸…¼ ·pm@0v\u‡\à}‘;^&²ë<f©›+»³{*ËðNtf¶ÏAFKbJ‚fTš3äde~;±vºçG ø¼çLÀ/çMîTD³k ·DÐt¼â·Á´"H'ó1œºÌÕ\ Š|aa†NZª<…ÙýíDF9»Ã±çhÁ›åŽ ù@õn¦Ä\8‘ÍÀ° žxJ×är úB…?y Ü×Ï0ê%y—´¶ö -¯M:å"o–;uCŽ„;‡ˆérð,tnxœ?èÅDHoÀšAÇÐ åPòa‚ŽA •xáŒÑÚá¬ÑµA—\à}‘;9QÑòÆ[MµÄiÈjÈc»¯¶¹u¥ãä%Ô¢!1Fy‹2Ùš»¡Ü“zƒ>ÕŠ§—7¹¥ ›òwžk|Mk iI<žëaÝ N8¶‡íÿ¢š7Q|Žß>"àh!ß‚²‹UW¨Â…CÛviÈ—dM ’Lîé~¤° ˜íï.“ƒh£LAzèé1g >½é;A3­ÞA{oW ý‚t¤¨Âx„\äÍr§z›‚¤Ç·.àMô³ÝóÉ4l/œŒÛ їӻu¯ âQbàÆJ]vôÚäQ‰tï(1Ë›ÜÉ„ß=mÃìfÀm¸Ã`á6ܧ ÿ.Ýé¬Ýyí(Û fifÂ1·a¦†¦m˜m¹ ϼYîxÆ&*ØZ$Gsj'#Óýjâ”eÈlA~½tÓÄœ—Љ»HÌÖ÷ðŽ%‡ ‡+:sáÚ¢S.òf¹#–5 –̈e T›RÕi,뀚ÄY9ÓD³KÑ7F„“wk`øŒoÎj6Æí8Æ{/_»F£W^[tÈ%Þ,wj`Z0㽺½e˜¦ÊÚÇ‹±ºÕjw›TGÈ=E+èPÅK(º>S”{dSª®WÝARmjוý`rÏy*±¶×سQwOÑe«"ö;ˆ¿²ÙäqÀtÌ8/¡ÔÍ€˜?;y+²¸¸¶A:L÷ :å"o–;Þ}ÝÈ-bQEmxìYµ#·ˆEQìœÇRœ› “;çSªó>…Åפ'’ê]+YÒRßäŽwÿó–íTߟÊim‹‚Ôµð§ÿ:ÕÚñ‹@ªì‚ÅYÆ·™ h«нû¼¦¨†|IÖð®hôpïŠDÓ¢ÿ˜6Òär {®ùIPy™¢«ê,ç-WlÚW%BüÌ*.Ëå*^›r'ORFò!…A.´‰a+¢GŸ.©Ñ‘NúEÒ y pOÓ] `õX»…{‚×nʧsaô7¹ÓÌToÊ™*Ì…CÂÏKÖ‹ ½’LÔ¥PNðJ­/»’iÙ̪Á«ÅFWìžïÎTZ¦ K.ð¾Èb'SùÖEÌVèëºxjN䱓êôÇ¿XWÐò­K˜‰í‡¼Cõ“§ òçwr‘7ËaßO-`ج»¯ a3ج8y|žãÌý41¸¨;µ=f+ùœì8yÛšç‚ïógáçªôë|^“TJ³Õt×eMÙPp Œp 7UYF4Ÿ=‰=«Z8†KwztÀ êYƒ<ì.[‚׃Z4Zv8†ËþH«¶œ÷Eî8Eh,÷(±iŒ¯ŽÐ-¦âÌt3Ô(­U< »zôP½š˜†Â¬ãñ„k§qG¼6锋¼Yî·†Œ;71äTYVN8éXtÉœ ›r‚vÐÙp‘¼„v41$f¡¬lk¥Wë5è”k©‰aÈN‰Š’å5‰¢Ÿ]²P$YEÜöi5­¼„N|b¶äa§¯~bíß…×&r‘7ËÊêq •TV¯¼„n¡ÃQ–Doè`LzG™S ÅQ´6>MLAS{ð>%4Å×”ƒÄ¤G¸–7¹_CØsD|Ž˜©|„ç·›Kñ·ç8”Cؤóêä4"·‹˜Ž•¼ A]®Ý²`×n úš\Ý7åkK^è è=~‰aé²ZÛUNi?‚ôŒõôi¶¶x ÅÀ$aVÎéjü¸vúxmÒ½­or'Kø> gqÕ‘ƒ]¬AÙ¦'6;Y œˆe±• Ô­<[¸~® ™ó¢B ò%qÓÝ€Û覻w×Å›5àîÒ¸·-HwcÌ Oíõ7A©¶cJ ^vºæÚ5·ü§ƒ«Õ,i©or'}Qú­q;² .Ÿdlf.An?Œ #KF¼„J|Ç”ê¼ýª’¡.Aþž »¤¥¾ÉŠPáC)‘tà ìÄ00{1 œz1 Ì@4Tª/=€†g“Š7 ¾×Ÿ„¯—‚q~Ëx“;ly›blίsÑ»å¸*ʦÿÅ‹¶-5Øé–6켄RPŒÖ«w©jÈÖNA1^›tÊEÞ,w„ìèsT8E|ÿŽ.v•]®†ÚIx8e*Öiô¥Ö%Aûe´mjNA îÄÚ3œÉ¼6é”kySŒkK!žhìµÄ4äûcZñs´±c×$¥¸Ï 7dŽWPÄblâ£xÛU¿¢gm@¾7^§K.ð¾ÈrmáÝ)×>ÒÍ\[øOYùc!å¾!Ò½aòÞ·Ó‰i¬ êjÐSª¯ H¿ÓZA‡\Í«ŠBî0 ½è¯{f"4fþÿ:ìØ¿å‰èGq^B#’:ˆé07ÉK ×N>B^tÉÞ¹“ß›YÒ%üÞ ´QƒEn°Ra ri8½c>f³;Â>þôñ¥ìŽ%}€`þÀÓ$¹Ææ3}ýÓ^¤r!Ó~óÇßÿøg~ÇÿÇ/¿þ›Ï{ðñÃ|˜ƒ©ø?>wêój–ÏÿÃ׿øUûËþð寰•ŠuË—M¬õ³;Ô‚µübÎcq´àüÅלÕ6ïàô/šžóüÆ|vŽ5ûÃ]xÿ„u˜?°¯ºëó8IÚ?Aøå#ŸGAÉüòˆI¢æŸ!¾ü¯â™}l–ý·ïøOñn+{þö-ÿ)^¶>øæMÿIÞaÚ7oûOòs6¾Üø_¶¡ý?Þ0Ì<ðèlQ?Ÿï‘à¿ûèî|cÚU‹Å>~û¯í㯞Ïtÿ2_þWbdÍ endstream endobj 212 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 215 0 obj << /Length 349 /Filter /FlateDecode >> stream xÚ…ROo‚0¿ó)z„8jû e]溙l'ܶŠVÒ„<øí×R0š-[8¼Gßûýé{§ÞtÉ ,8p”…ß@,Ip¡tÞý§ dÀü&wñ1ÿ³ˆҪ5‘Ÿé"(¤ ÆnJï·ØJêBŽè;wÖ~ê×ZZ:Òä–t(íÎ3òCƒßh”j§3}¶Ð¢hÊžªƒŒÙκs>ö‡A,“Ü›X-F« Y^—õIÏ6Ì•t77í.2ˆýÉozÓÃ#(ëjÛÔêØ‹Ž ö7¨í²n+ËR5­¼ÀL¿÷’zÔ€¢—½AÂ0†òÊûò(&œˆ¡å*wÅ9L_+žkom¾±ެáíܾWo0Ä‹pBg~©Š“6“Œ¢ÈAÇÌßä]°×P±ãwÙ©UÇÂ¥n+Є GÖ 0pá¸)Œ×ÿÅ­©ö endstream endobj 181 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/RtmpGU2Cjp/Rbuild30564d4cd61976/pcaMethods/vignettes/pcaMethods-017.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 217 0 R /BBox [0 0 324 216] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 218 0 R>> /ExtGState << >>/ColorSpace << /sRGB 219 0 R >>>> /Length 10886 /Filter /FlateDecode >> stream xœÝ}Ë®eÉqÝü~Å’æ;÷ž6a CR7à qÝšèKZlCþ}gÄZ+2O±hV—è‰uëDÄ^‘±óùØùñÛG~üþñooÿø7ú÷ëŸþéï¾y¼ÿô–Ÿ)¥Çù÷§÷?Pü›o?#þö7ÿ͸óñÞþù_éñ?ßòã·ëßïßrZ<þþíWþ¿ÿ©¥Ù%ûïOß¿=¾‘ –Ÿ¥>j~Þù‘ïö¬õ‘çõy=÷øï?lÓó.åqþ5ÿ_ø·ÇïþÚ;¤g¯ûÒ'ïåm>Ç||¼•ÚŸ}’üñí[ŠWj­l1È-Îé~æNúx ÞëmŽ@Ìôbéý@IùÅÒö@ïÏ™˜=¤Êz½qN«HZÈIžôñ¬s?òx ,ÈÌñÉSÃK-aq•g¹·½ ÷ûŒjV„äßõ94È#»VmëœôñÀʆ3yÒÇ×x1€´=p¥çµ³Ôù²KRv~“<¸²€<ós‰®kç'ÈãUõg]   ÿ[¦7ƒ?ç¢v¯²xi¡ÇÈVrjÏ;­6£/QžýzX=¸ºeüè"ÞíÑöœ5¤ÝZ™p$\«?JF}^%påy·Ðê„?Ê4!¥5À¶¾¿}kïõpÍ(ãÍ(ÏQLÕ5QŸí¶„–B´)åöçuŽ„kå£Î°®ÜÏZAÐ|K“RZÜi«™Ÿ¼ßY¥²ª[z–’XvŸr­ì ¸ÚÒª}ͻ͓3ŸÉOÏÉEÝöÒ—g2¨wú~^)ämõW`E¹nZœ•ÙucWÏÝ·n§ ›iSN»ˆ=íÆ{×ËÞpär /Îå{ß«&,¥¥?sÇ{‹3Vö,jUkçó™“wúÖ÷ƒrÛîîù.ù@ùKÊuãiršuT­Ï|oÝNái¦M9í"ö´Õ5¯ªYs«¹‰3’'´êÖ\˜UÜ1¬Ú“òôÆ4`ÈW9\ ºñ49—IlŸnuƒÂÓH[rZJìi7ßeåMF›®7Ë…œölÌ»Û{„ºôÝ«¢ QÈ»ë™Û–ßÏT6–”ëÆÓä”g-»F¶¶u;e~o9í"ö´›ï²†i{¿ÕÁ–‹8Ãפlæ°ïç; ÅŠx<æ°zÿq0¦ )VV¦­³Z…kVV PƒV³¾C:|êFתªiŒn J¸f㌴6 CJ“RXCÜa«Æ ŸÙ„pÐÏ!'{µ6ÊæìÕ:ÏjyH ãDsGòæN°  [O;çÂØ4ím¤Ô;-±´%§¥Äžvë]šV«_Oɹl“W.Øðµ*ò\ÕzeC¿E!½¨è.g“ 6È¥7'g¸[*l÷NSº{tªJ›rÚEìi·: ï£,_‹: ràO\Þ£å\mr—WËX#)4è᣽äÓ >°¤\÷»:¢áå–g`WÞ–;tƒÂÓH[rÚEìi·üÏå¨Úkzê'ǽ!óó¬k]Ù`ôÍt.QðW [>m"XR®[ÞªsÜ‚À®ö;¶n§Þé {Ú”Ó.bO»õ.·ë[þê*¹“³ê YêËgeµþêAq§]òêµXXR®O“3¼x„í^<ÒížfÚË.`_ìV{™Ö[æåz”ÌöBÎåcúªá6ˆe@—GhÞ/(Ôƒd@É—GiÃ%±¢\·¼Uç ÏTa»ûÒí”Z—§M9íöÅîíK[Õ.Ùæ™'§¢:ÜÞu¤>EÉ:÷)/ˆâ+*ǬVœä3ta“W%évJ¾´§ ¹ìöÅnùŸÓìžÆÇÁX5>;±€½Y]0ry, ¼ó/^(-£Ž„kÕ£ÆÈVzÂ%+P7(<´%§]Äžv+¢€ùârÜËň9ÅÇ„›!ôêc‚Í<³(EcêµåkK*«%ݰk¦eKP B.¼…š)¥QžFóEÖ˜âù—Ícþ89Å»š‘T[™Ù ”qmlù2­m,©,ï<8É&·Â®=DÝ ð4Ò¦\vûb÷î—ö51äÈ$Æ4—Ãú§RŽ±È·»! Ô¯­jOéªük!ŽÄИ$F·ÑG8/ iuB³uK“RXÜi뎸L·rŽˆ›s.Âé‡,OÓ†wú( äÃpUÆå>“ ,)×­ˆ›s|… °Ý•JwQ[iSN»ˆ=í–'Š>³Ý“ƒ†x¡CJh¤k"i¡4Pо˜ŸLùª¸VØÄŠª XX4[évJ~«§M9í"ö´{G×k®4Rà¡1àJYT¢XìÆ–ç,¼—H(r¸ CÒ˦&ÂH˜ãb,ËqCY®DÄ KHÝá[U­|Ķ¢ë ~Šƒ Ÿ5¡´¦{½ ­³ÜE ¯Ö%cRpôAéÞC¥M9í"ö´[ïâQ1[˜˜%†çé-…Á$z£™DÉ:ë¦$ï¾ ,©,/!8 Ö[0Ñ£î²'‚L[rÚEìi·šHQt¥©‰s!ØZ±ÚjÓ§. Õ¸»Ÿ"ùðŽ°¤f„™ÅñeÐÀvD¨»GÔHiSN»ˆ=íþùÏê¸3{)Ì·ÉhÉz˜ww·/CqŇ.ôÊâè‡*µ¶˜U0MHi p§­Š£&¯ñ¶41¦"§øâ¯…-»w– q¢YD)¦t¥-o¾L',)×§ÉI6E'v¹1=K5<ë)KJ£<–c̵š¢¹ÙBI%ûÒKó5Ï’‹é!¼Zÿ#©¯ùµâQgTïlj«ÞS+<êiJêÖwغÃ:-îÎÖè),2¶ÚoCOa~ÒjÛ½‹Š¶_·|š-%åº5½ß–”ëVqN󸬰Õ=0é®Ñ=+mÊi±§Ý;Âæ‘Ÿlu÷ãä[” +ý ë½¹‹Š[ ¹åY¬¨¬®48É›±k"ÓGè¶k˧bT­}b·¦——wê«6qº»IŠÌ„8ª(9ˆ3oyQ„Ü],R-â¤âT÷u„-˜lR·SïœèzÚË.`_ìþùNNÃäªûÚþÇÁ˜Öá/Â[²o_èIñ[v©#k!->åND×TFŒ¦˜\s19×êÄ; `ï±²Æq/¶~“ƒCòÇÉC°ªxÆúé@C,]”üØZ¶|x%–TŽÅ qö·9öF\ªï6GÊ’Ò(O£÷R«y»ÙW›?NV¤mÕ"ºœÜ_²À(ùV½„Üö¤ÀŠª«§xî›±:BÝy¯ž0mÊi°/vï>d tEâË/É5Û2Tö×÷ÑáÆ>¶£ÇêÆ9öú ªÕƒãòÝ@.OÕ6W@1ˆXþÊ!…ÀÿgÜT½ËZcZSœË6òZ„Ï:¸5"šëqÇê™\“{øUr¬ KÊuãir†GÔ„]¾[ÚºRtq´-§]ÄžvïØgF$G+¦â ñ;û°¹0–Eû¸Diº’û–7¬àKªÇŠ©8Í;a×ì mÝN©U¥´å´‹ØÓî½”±â™r¬9>ÒªÁ¾¢ojUnŽû±¦“±"EyÁj°¢j̾ÄɾÛPØì;¥;G@HiC.»€}±[íKÞÍ[ÒÇɹ|ƾj¸w ­}¹ÆVê ´hÙDùÌ>–+jj“Lp†{ÑÂvV¨»ïÀ Ó¦œvûb·Ê{mó~9Ó»åÂv¬®sbÏnÙÃÄt1äîJT>ÖWɹ<‚C¬m®j¡”\ë^·œ–{Ú½ûb®jÖ1W=é7™c¸0}fê¢Ô[½¥üB 'V”ëŽÓ䫞>RÛÕ§.*&s˧V[ ûb÷W,mËsQÐã‘®fШ6 w?]1¼ûÁoÇt«J” s ˆÁïaЉ»¸ “Ì`êKŠ–2-È`CâŽñ°ïkV³šÏÚZއ8Õ `™dEÙŒÂ"ê·¨ˆÖÏ-¿¼_–Tއ8Ég ÄÚy‹ºAitÊeËi±§Ý_Qª¾,ÝŠ|$ÒÕêæôP\óå€éS5ü6›¦/öRVÍã$¿‹ü"ÒÙ<b’ÕFêKòˆ˜–Ó´Á1§}ÜxïS¬Ù´´Ï!†OͦÏ.,Ó.þfýZ:(ó 1øÝbÁ´Ïˆ)]¥¾¢}L 2ØÌa-.î ÛvãM'ùÙüBÀZý€Bï"ØzF 逛‰®èˆÍó¸j†´VùJRZÜi+ÌŸ^¥W]°žt¶%•õš+ W&\^kÆo/Òaq"ʦù,Äàw’czøÚ>0«uÒõá·?çiQæ6sØÇ O8pÑméã` s‰°Æha¬å­÷åöiº¿ÓzJ1«'Ž„ke pF³H«p>K—Ö˜Ä+MHi p§­4¿Ys·Mü¬. Ýq²…»ôÀq€Uàiò·jn—첩$1ø]"ìÚô“Ù;›¾|ôÜ–Vf¯žsØÇ*‚ ƒÍ(0$Š‘­âM?I¾´?cS,sÑ6¶rƒ-p±Û–¹Æí+$€Ý¾>øýŽÔW‚”¹%Äœf2¯»‚öðIûìÚ:b‡.Ovøv#üfZŒ²›¦Ü·~Gø•ô`Uf H_2AZÁ`û`ñòàl} êµ*QáѬƼ¼½Ì XØ«3E0aëõ”EÔZbhÎ(F7›…kÖ(¤µ©É(MgÈǽØU¥ÐWŠªâ _嘗ĪRºVîšBU±y9q$®£ª8R¨+/‡Êâá½µiRJk&ë˶•õåö™AñÂù8^BÖ 5?²ÀÞ.‹`B÷Òê$âH M|Äèì^oì!b¿›Epäô4{Ä{÷b+ÍçN€jïúq0šuûÜ5i}Ñå[§‹Uå[Œ‰€p"jd)Ŧ™Âe?CI­N°ÓJ-¤´¸ÓVš(ù*ª†i„îðDÔáJl›A›rÃváD ­—ŠÑ­eç³iu‚æßwHiã^lŽ}" CS wmÈn˜ë^öò\}»Â-ñY?¤À‘ïR w»Ýu„Ò;K¤HMè44œ˜ ³íþÿ… Ash"FPÝݘSÓ¹zHc?žáHÄÙ,1šíi®Zc”Öªs¥ )­î´æ÷á1/€1¨Šá×Áª^pýòøï o‡F±"jœˆªUO1|ÑV¸lÞƒ´fÅi”&¤´¸ÓÖpzãæC^/¹á~ú!Q?n>šNaެ,M-¤»0€±q$F!íѸ×,›¥Õ æþu‡”ÖwÚº=¬Âs+”öÐqXXª—y5#¤—Þ%_AÄ&(1†{=36=õЧ-•&¤´¸ÓVšY/wû ² }…Ú»·†hkñ)÷*•pE܇´ÀCw(åè`ôÅÙÖðQ¿Jå½gžhæ˜ÓÈh²«8f‹¾tçéá†S Þôí¬ÈgÕC$”y÷E ~7õò¤«w·À`c)ô­21-È`0‡}QÍ×PÕ½ŸøØ´Ïõëþ~Ãc~=ònx´‘2Cƒß»#=lÊLŒOt¨oO¥d°˜Ã¾Ý-âÔ7·¿ìMQØÆ21„Ýž-WÁ|¾sHÕ%ŽDl<#ùöâ|W˜´ÆÆ3¥ )­IÜ6³me·8µZÈ}¯bøæØŽÁ­ø¼½cè+±w|``c`ÈNDì'#ûd~Ä@\‹´‚`·ÈAܤC÷bkÔ;ê5X@ÆJÏîä'+ ¨ü­X@–ÌÃbÄà÷pY$!wSZ\‰£¿…¾é=G"…FòÅ;âlm*I+¾©½ I#p§­¬<·Ú×õi«`¯Z3× '>Š…¯F|p„ô!õáC8®UÃMso³ á°üE­ ä®e1dã^l¾²ã PËê+áç(º_·c‹ÖÕG"nÄdp™ÚfFNÄ.¨¬eÙÚç¹(­QPJRZã¸[i~õS1Ío’ù8Ö8zÓ¢M÷vÌÛ=8Ëé>…”tbm¸©…"ÎçÄhtk/„ÐG ­Uçä•&¤´¸ÓÖðÁütc‰¹XXÀ"Wn Ž!‚NØl!-Xrœˆ¢¹“ÙfÂùú‚´¦˜=1M¬>ÐǽØAÔáq!®‘öÐíýðìôâ8RMߘM™ïp#fÒ+äšéAÏÍ0>Q_ŒTL 2ØÌaߢòR¨DÅaôå9[@3;qyÐØæ D!…‡BÝ•;&«d\¾%Îv^Ò BAÔRšÜiköªßÉÔ‡{8Ø1Ãú+ºw…µð7ç-Iv›«A ~×pjA†JšJGèËÇì«tÉ`0‡}Ñ¿LÌâh²^øýÒ5ݽ¦ÙD°ñÛœÁÛŠ€q…á9ö{ßÂU¯Ô ‚ý‹Ÿg†”Ö8îÅÖIÅy‡Iõ*n÷g—¿t{ˆ~ø¶²;ÂÿÃÏŠRæ§H‰Áï댤ó¥®JÌ5x}À҇ߊ¤VÉ`0‡}QÃý´¦MbtæbÃ¥S/ô*‚5\K8>ðù8MÛ7ĨÞ÷W<÷©µÄÅPL³°lú ÜikÜ@Uûº‹n rÑÜ›€5öl徆oD)\(âHÄÎu1Ž&®sÇ~ž"8H{š»ýKÜiëWÜ@527ž6mÊÜ–jYkϦmXåñí5ôÀêi³ñERß#ˆ² ‚mRÄ!¢C­)öä0MJ3·ÁÖúj«¶Mr/}‹ƒÉâÄF_Ö¦ûÿä¼sY¿c{’äØÃ-,©½‰EDh„ETFº÷&¥Myìú¿îOìÖ¶”a3븴N†G‚¸}]£a< È4?€AéôsÄ‘¨ò8Ä(È_àù)¶yõ©ãì —F0 »ªì„l ¹fìÀŠ:N~î}ÝØŽ4uï[æ”6åCGå{ÚÍw± öñê”·8h9ãªlû´ËEº(O/WÏ[É›g¡°¤Fœò§c‰‘X´énq3›Ò¦œv{Ú­réØé•¬—ÿ89è;Öû7øí ›A­›…¼Ã®7ÉoŸg K*Å>Lrl–Zk3åºA©ÓnyË{ÌŒË'vÿü=>“?ôôº’‡¤§r·ïã¹s®°Z+e>Šã¿¡k­FOó%€±m7õá7çV+-Ê`0‡}_á”Ö{>É™¾GÌ(ëÞf lž1óxèØò‚{ €%ÝzúÆë»và@êõNKîrY:usç¶[­màæ§íèˆ%O]"UÑùò$ž|[ O!·ÃìW`EmwGø-ÂÂ¥‘îíñ(mÊi±§Ýû :_HIqf\œ‚C¡\'âä›lA½³ÿçbð…Í¥©m,©´/•§àP±‡â¨žFÚ’Ã.aO»å5tx^Wìù[ûmdOÞW¬q_»6àã0`ÈoßX.,©+ö|Š3½Ï$Ö:ˆºA…G’¶œv{Ú­^°)'‹®ˆ §úv#1gļ{œ#!¥„Kÿ9º–Ô—ʼnS0 Ð.Àî¤ "mÊ›öì“0¡Ûߥ`o¾í仈ƒ­Îoã¶œc…€s’ãÌ€°¤R¼ 9[}WtƒÂÓH[rØ%ìi÷ž$ Tså˜#N#bÚ7üI‹iš `ÁpF„]8®UMw·{FÜþ†oI­5N\0MJa q‡­ÛóWqÜFœé•~ &ܪ'ËW\ e'šÒ–ßÈ|bI8n#NGpØæ•^º[8!J›rÚEìi÷nîôíÒˆæžÑ e®0ãÍš¤oæÝW“ÖK^j¾];0(,©}5©8­Ø7|tQjîiny×FäûþÄnU«ª¹‡ÿàà^ÛEÝYÇ[¼¾¤Yõ%->v Kj¤g¨—J»Kwœw‹´)¯á…ÎOìþŠ{ Ðìj ê›á×ut4C,…o…çj+:JÑ7'"éÞˆžãžÂáÆZj-qÍÓƒÖ÷bë×ÜÏp ^ŠÓHâd\8˜qižÎ¾É¤‰zç Ø†ÉÑJ„%µýrÖëÔXmonPxiK»„=íVuõ‹tüÚ UWp*B•Í£"ŠiŠ’(͆ê ùð»}„%Ýï #9Nb ‚›Ô Jþ¿)å´Ø»ÕD!OÛžƒšÍ-Yº-ÖCÊYÕ¶—CÖ»¼+ZŸ÷ Æ!ºAE§Ó>¶„}±{_Õr£S;wcég"w¡“Â]—(Eá̼Ã,bIµ]ŠäT[p@ºË.E¦]t€ð.{Ú½GÚ†Ü*qp;OÙWœZÝVK¢4Ú¶kËqÂ_XRûFFqü*·Àâúvé®Q.J›ò¢Ýf3b·†Ý©ˆ¬Ž†Š3üáv)žË”Ûbå™j7/ä=ã„8°¢zœ ‡]@ŠizÙºãÂH›rÚƒô¶[å‚@”Í^8cÇ·Þy8òòhEÁpq Qá=¶-ïˆfKªi™88U¾æmè~ku—ýæL›rÚEìi·ÚKÁvÅ;Ný“c³xܹ6p&¸á®YEE H[Î3lÄ‚JqJp.Ýžwa7&¯xšUžæ—/⊨97ö´[ï‚; “\'Ç?!cSØŠØGÂÙA.äÇÉÇXÍw9®ø&VÔ¾ K8O3Öìs Ý R®-ä² Ø»Õ^n–ÙþM¾‹8¸rÕi^yâq˜¬°ˆÓ “‘¼êú’16Õâú,qѶ8SºKœÁTÚË.`_ìþª‹)Ùpµsºªmwlg©jö£ÇÆå½¢v…têNÖ>ƒh±€E†·xáü† i-ñe¦ )­î´õkB‡S§9Ã'ç­¬Ås-nÚ`þ*DZŽÂRÞýÞ aIÍø‡8Ãû:a»÷nÒÝ㎥M9í"ö´[\läû® q.&ðËmnœÀ‘ë|æ;˜NÊ+¾JA¬¨}W8C{ ;Æê{lݱÚiw€èûb÷ž¬7ô^ªÄ™ÞNKÇÝOj ?Š}=®3où¥»ŸÛØTlí N÷ˆ²°Í•JwÓÉ’H›ò¦õÁš?±[®]ÁGjªNŇŸž©: í[šPk^ql_r\¾?[ÓoéÖœÏ9ñ=zxwÚºsÌØ”6å´‹ØÓî}5·ÏË’ŽË'+Ó`†ÞMºà©¥CˆÇˆ%gxı˜X[¹B7(¹×ØrØ%ìi·ºw|¨7Ž WmÅ+:C«Sºš•_%’_,–T çI)ã—t—ë)mÊi±§Ý{¨ârƒ> #NõB츧'ãt'3<Ç&JK¨ß[Žûƒ„%û(ƒã{›ÜSîò•6ä² Ø»÷½´·ïcâ©/2üþF/ì›ç-°w%%¥-Ç @X§ Z_~üwÛ!Ɖ;(]1ͯ.)mî4øpÐ?·²]ÔÎw˜W0ÐEäõ § yo9.­–Ô^hgh¥srµqnÝ=ÞYis0¢]À¾Ø½#\›²v„«q–‰>¨bÅc&õ¥W›[~#¡¢ûk—nM6+"Ýþ2`ö¢nPêíê›Ñ.aO»¿"*„k3momÖ1 Þ-•}§1·“,å\°Áø /­J¾ã¬NDŠƒ(`t_á!{š©„kEš”ÂâN[¿&*Tø>N®Ç¨89pó„ÝÀw‹R1´¹åX–ÔˆŽZ̶„ÅÕÒ§æ"mÊi±§Ýjz ë'_\<8Cá~^óÃp¿ß´ï¨iU+sŒ늡¹©qqpÏŒ°¸ƒFº÷5J›ò¤+„fùÄî=ËXŒ#f¹ƒ‘Œ¬1)„gG¥Y®_UK¹Ÿ¹ ,©wÇOð–ñênúÆT¤M9í"ö´{w# = ÷D‹cãÒ7¦:”££÷JüÂpJ,¨¶oM ±  uƒ’‹åûU)§¥Äžvkí5ë®]݃$–Ü2£vR„S•)J{zßò޽ Ä’q’8~ÓI`±Vº[Ô1¥M9í"ö´ûˆÇm{Á¯qŒ?~Ÿ¯qWÕ%JÑA~£aþ]ëÆ’ª±ê âoÂòͨ;ÎÖFÚ”Ó.bO»ù.¸RÅ?(ÅÈ£8—ŒM\æD7SKPž^ºqy'äf VTÖš‘8ãÖ9›† ÚÔ[tOÝ›î°KØÓîÏ»Cþ…lûºôô`ÎdtrzˆúòÚFa×d¶O~-Åm'bj«/ÑÜìkÝ‹¬úRIu²hç²ÏŒµ›ËºêßøÍ;µE^šk,f‘݈oZ¤ßcÞW6UsÜy³Èâªì¬¾c±'ËîžqÍI÷äú窗¯eK8ÔºHœX1r‰Í‰³QÚõÙ¥iš;îþ¯ÇÉ /¤¸æXsX9Y.õ›NfLÜ*’ëõÛØ£×UÕ·èDB« +]3âçi™ü ^ñ )¡Œð‚·võö6v쬙¾¿Vùfµ¸G¦ÿ rÜ–Zr¾Y¥²ê~€ ²³ ”-D>£ tŸ(ª~Ø]5*O¯ÈÔ¬î¡lU;,;«Nÿ0–êëð»~d]Æ—Á~|©çøjõç¼e¿®ÒOiø­¾»×wPxù rX ðÏsû&ܦ¦j4¿wæËTFgíÂu‹|ûr†¯áôÐ÷6Zrº ¬QQB™½zÆûežœêZ¤ .Db¼y—ú5··áö9Qw|?Θá}*Û.ÌêtÁŠ3Ÿ/X¬½ù½rÿpÑŠÆ®7\õ¹èŒü¢½bg|Êèæö¯jêú'Z¶Ç >náùe‘‚Žëiÿ˜˜;]ÑŽôü¼ø¾Ô‡³[;=ËæqØÓY do/Äó}°il¿oø »ò£&>Ïü*~Ó×ÎO»g¯ùnt!*ÜTåuOŠÓÚgÞ¥mf¯]Ìó+»®ØÍ“sW¥+±f ¦á[cQç~€õtú)©¨Æ—ß©µÜnÝ…ÔÛÀ5%=ZÒç.Ò³ïçààÔmþ‘Å/Wó>Ü>¨S}G©÷¥öÑœÛ[{±Ûo“‰ò.În܈ e€“Ö©¼TìBqX ôOú¿øÕ”ùøî÷oÿå;Wý×±vÖ ›~ööÅ%Ǧ/O·ø×zýš $œ¾<]b{Ñ ÿüt¯¢>Þ÷,”Ço¬{,®`ÿý¼ž¿ËžÎß¿UfðŠ·æ~«ô9¾¥ßÁ‘Ô–Þñ1HAm©O®6˜ä!×—/(yȯq&NòçÖäÿPÙ7ê§ÕÙlË jF‡ôí›o6K!&yÈqµyÈAny©î±INrËÿF oºï]ü¬®7€òÅM§xØbC¿¼ÑÙ]Ág¢_œf)¾Yo#Ûç*þ_êïK6åüš2hj®ü²ÞÕRþ‡ßäÏ¥ý3Ò9”ÿêH3ãó9Þñ~S¾ô-w^ÉÃ:ÿZòÅnÆ®æiÝ~âÆê€ßÖô§ïß¿ûÛç[éø@]ó¨½Ï·ÿëû÷¾ÿé/½Ó‘ÜÝlb´ÿºýÔ‡ÔÚ'w/þ}}SÍgeŽ–ÿ¹ E2ÿ7Z~þ¤å?Ö[á+¯5)¨LÝ·æ1ì2°"Ê)e`ÕLrÜtK¬¨¤ ¦8«ö¯:!¬Ý[èåO3mÊi±/v[æ3]á—EmÎ )Ë1›5²cÅ¥§|<¾ý¹ÅË/v}Iñ~n!êx›Ïͱ¿´xsÕƒãçû”ÅÙÏ÷©@Å+9ŠXQU×L§ØFœÀfóëBwÖ¹ªHrÙì‹Ý¡x?tø¢âevDñ‚þŠâåg2¿¤t?wqúñ2Ÿ›ø}aéÞCV1ü¬)ó÷vošÙâ(YIqô¸¡#2 ­ŠáÖ…óÓ_ÒêÄQ¦”ÒàN[ÿB~.¾¨@™*O/ÅùÃÀgÇmÜ—mcè¾møéûÿýÇŸþÇ_×þFÉf?@¹’ýç_üû/W–>~ñýŸ~úáý?þñO¿ü—Çw¿ýÿoÂÎú¿ÿð§ýá?¼ÿÕwÿâoÿ-$˶ endstream endobj 221 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX ?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ {{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% 5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû endstream endobj 224 0 obj << /Length 1468 /Filter /FlateDecode >> stream xÚ­WKsÛ6¾çWèHÍXñ H&'9ñ#våhbµŽ“,ÁÆ©’”÷×w Ê¢M·—^¬ÅböûöáãÅ»÷§JޏbRi1ZܸP,‹Å(5ã"-V£›è›½³µ-—¶ÿX\¼?}Îr-´÷P,W£‰à,ãÁþ†ÿO’8Ž®[³‹,z(øNTšD¿³#Øã]Ù¦u÷¤>'5¸x‡uUüM³ÎÞ”«pÂ8“‘)Úµ­Iñ¹óÝ›\Ûâ¶;ù‚Ñ¥yxé„©<M8gy’Э·ã |yif¶]W §Ñ î,ó4ú‹„$C?Ç®"ãjÌ£r<áÑj·±Eu5Ùmñùiô0NtdîmPÖ>ñÑ­\yOªù§) ‹§¬éôîówU8Ε|Ë(î_|Ym¶…máxƒ—iÍLZ3!¸zx€+áÜiݲaä)â8…H*¡#!½FœkÓé`µb±ÒÝ¡WU9)\iMMçÁ«>ä/‘1iÖ¿ýÆ5 BJº¼—Ìv[wѤ(®Ùûbɲœ¿ù.< Þ•‘AfY:‘Yž0ºç9“™Îáj7¢ãñž”è®%°~“4 ËK³- R!¬OYÎvOÈÖ°úÄ~¡ ]⋪-1#l_„C=Q ?ï¾F@d’Ź@€¸%y®ûŒ(|2%š´˜F‰¼žÁ5”’"d´/W¤>cd¿·;¦+üU’~>ÎTt`ƒ*,çêœO~x Æ$ßFaán›µ«MéÈà[ß ŽŽ«¶i­+Iý™‘vï?-Ú)ƒïñ0G ëÔ¢Yšöz÷}ô¡-€Ï;¬)¹ˆ°P#¤UIë=¬Q¨ñ5 …ÏWÓ`ã–Àœº&Œš!ò! é’·‹äáá®Áºw׋]ù‘§ßã$Öð‡HD‘Éâ• ûˆï³® v>ˆA -VdÝKçµ]¹%ްÈÝ‘8{ÎÃ<ú fŠ5^xG–±LÊ~Bið< 8êB)ÁÍ_KBuG;3÷Ó†½Y€Ò )ÚŠ~Ov¦ ÞÐtI˜ûâŒÝ RÕÃøfšeÉ_H}¡-ëèG½÷L·Û"TŽ3[Ú6ȳªÓOŠƒÒòQ!üÜÃ?­:…¥M° +-I`Á×[¬t j|\TŒJ³éË=_̃‡~cšpÄ——f³ª\y~¡üjÓ´ÍîÖÔæuáT½ÄHT˜k}RáHw=D³”³èâ=%Ëcì Äb¼nã°\àÆ¾äãÑÔ––½ŒGÛçŒ'JxعŒ(Îáë=0íÏmmá3Ät‰ÃÏ÷Xª"l4oµõœgÿÕV$IW4PQÇâyî AAÄðü,›äú Ó+._ÐA:øá²*"ÎýžDטDø»­]¹t[¨•~‰ƒ˜QUZj98Áe@´¨m¹›Ã¼CÅmÈ\”];y³¡ØîBug\ ‰ÍŸ;g´úBó)г]Nˆrí|B«TDÓÒOkÈãv² ¾s ûÆÈðó½vͺ4G5®1ÂGC#étìGŒ•….@Í‘¡ù_ýqDXAƒ)N‹ÿ­`§›K·7!ÑõHPœUÅî–tgŒvÅóîÜõÃÞy`’…>¨cõ²Gz‡G?£ùÌÀåafài:Ôùè:a<Î_޹ýê,sM©ã¥^šÀóæ³DçQ7˜x’ÁVÀÅ€5-Üf»kñ^ò·Š±ê¥Ôä° «þ…‡¦¸nˆCžŸ`üÀ1ÇR@-#ÎJÍþO˜Ãÿ†¹¤ó¸Ä½w'‹wÿæ]Ÿ© endstream endobj 229 0 obj << /Length 96 /Filter /FlateDecode >> stream xÚ32Ö30W0P°bC K…C®B.K Ïȉ&çr9yré‡+Xré{€O_…’¢ÒT.}§gC.}…hCƒX.O9†z†ÿ PÈðÁ†ËÕ“+ ]› endstream endobj 230 0 obj << /Length 117 /Filter /FlateDecode >> stream xÚ32Ö30W0P°b##c3…C®B.Cc ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0ÿ`ÿÁ…ì˜0äêþ7@!Ã?.WO®@.˜+#- endstream endobj 231 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚMÉ=@PEáþ®â®À¼™x¨ý$^!¡Rˆ ¥‚°{ äTß±4J2:ÆÔ„–Ò”³bƒÙ‹ŽþÓŠ<@zšAjzHhxìçÉÛ‚ )9(݈Pò¾¯¨:<Ól ” endstream endobj 232 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ%‹;@@Eû»Š»3ïy,À'1…„J!*” BoçŒ8Å-ÎÍ1I2¥§Q…–SS.‚&QzêÌŠ7Ю¡Â…–çq­pEW2ÊŠc,&„ŠÏÇý/ê€/Uä” endstream endobj 233 0 obj << /Length 220 /Filter /FlateDecode >> stream xÚ}Ï¿ŠÂ@ð iò™'pÂU‚ÀZ]qXé•W(gkòhë›Ä7°L±¸÷«ÅqÁ…ýÁÌ,Ë|ŸŸ%“n1–Ñ›ìrÞs¡½LKl¿yZ²ùbÈf‰.›ò]~Ç/6ÓÕLr6sùÌ%Ûp9"Š[@•‘‹k4šÈ¥–¢ *¢%Щ‘£¶j/x¥Äª=RõÇ`óÊ$h¦uìqþ¨+T°ÆÝVX0¨;v{#}p»—®[dÂÕi²N‘5 ¶šò¿!·÷ïíÓ3Rð¢ä5ÿòTz endstream endobj 234 0 obj << /Length 233 /Filter /FlateDecode >> stream xÚUÐÁjÂ@à ƒ4׊ÁSµ`B{êAA{,ØÒž“GË£ôrô ngvÜ]vù˜]Øaþb:™Î•QOt ·O9~ᬠڕüpüÄe‰ú]Í ÔºE]nÕÏ÷ïêåëJå¨×j—+³Çr­€Ö€Ç(àYXU€õ‰zj&®|’€aOÃd pèùcš1uÔŽ¸Æ-1H[7c(< ¤bÆgá Xk;®>É÷èN`$ŸŽ³„Ö:¢‹ -åomc)¾ŠZ¶ç†/%¾á?OFi° endstream endobj 235 0 obj << /Length 245 /Filter /FlateDecode >> stream xÚ}бNÃ@ `W"yé#ÄOÀ% í©‰ Htb@LÀÈ@ÕÎÍ£åQînìåøí‹ e@Ê铳å³_^-¯¥’¿+ï5±÷ˆ+ õÇÛ'¯[vÏâ=»dÙµ²ß>Ø­Ÿî¤f·‘—ZªWn7BÇ”R$c̤Ž(õÔ„•Ñ(NHN͇ÌxÎì‡ÙÄø—ù%ƒ•ƒõCke2Mo胵ŭB/ç©•ð›Äpè·8Yi¹RN„L4pʉ`Eÿ¡ËÀMôÓ¢s‚Ñd޽~Fgû:5ЗêTúŒŽšHºi¬Ù só}Ë[þL[œæ endstream endobj 236 0 obj << /Length 266 /Filter /FlateDecode >> stream xÚÐÁJÃ@àYh`Í ”f^@“[ …ZÁ zò ‚ …* =É£åQò9î!tÝ™¤‡âAO;»³Ìü¶8-Î)£‚NÎhaÉô’›wcm(f´È‡›ç7³*MzOÖšô&”MZnèóãëÕ¤«Û+ ç5=ä”=šrM¢“@åë) ¼oç\SÝ%´Ø}‡«³ØqÝKK䄸´ã‡PËFïF왎»m4â„øˆ¤cž´ÂRÀ1Uó'~¤þú@õ›h`"[bzÄ ÉOv˜ÙJ:Y³åœ ¨°»®‡8!áÎy¥»@ì4÷h? î%<$ü¹.ÍùD‰pj endstream endobj 237 0 obj << /Length 241 /Filter /FlateDecode >> stream xÚѽnƒ0àC"ÝÂ#pOƒ(TLH ‘ÂP©:D™ÚŒZ53<Â#02 ßÙ$i¤(Aœ>l#ÝÓxñSHiLÉ+}GøƒIfÖ!/ùàë€ËÕ'%ªÙEU¾Ñßïqjù¾¢UAۈ–A¥µîÄÑ©kó¡~ÍF AkóæpÖ³Þ`…Ñ9EåÌkð&Çkkpk ³Éá9ç“\SþX¿·ù}iúžõÙÀõ,3ÐðO®ùZ®)g{I!9ÅÎê·VÓ®ÈQ5’Fb´)e¬<îþR‚gJàëàÛ‘)›gpò-áºÄ<[?—Ò endstream endobj 238 0 obj << /Length 230 /Filter /FlateDecode >> stream xÚmпJÄ@ð „´bæ ÜD؈ œ'˜B8+ µT´5y´> stream xÚmÑ¿KÃ@ðxT³r¹X4íT¨Ì èä B :Š?Ð9'þ[·uô_ˆ®f’Áó½k›Úá¾|ÞÝÁ»Éá^¼/•ìÓôåA"¯c|ÀdHµâ’¦·8N1ºÉ£šÅ(=•OÏ7ÏŽdŒÑD^ÆR]a:‘[ Âþ’LK> "@ÎÚª(î ŠÖw­wVÞÒ¬¤˜nÐŒä5z+WñJ¥ð×ÕiÄ µì:yNÅR½ RN@WP!Ége¬Ë„¦­<½.#Òv­.©#ÍéFÝZ½ÊI»åÔ[Ê6È,,iÁ‡vR|Ÿ¶­¯•üŸZx¬ûZøsà!‰¥J¥“G*œh;‰¿ÜÚBamÅòi'> stream xÚeÑAK„@Àñ' Èk‡Àù©Úv¶ ò°P§KTÇ`‹:;}³‰û ó òèÁvzÏ]Å=èüFaü;“ON&S™ÈSºòs™ÉÇ_0Ïhžð”_<<ã¬ÄøVæÆWôãr!ß^ߟ0ž]_Èã¹\¦2¹Ãr.¡²„µjÀÊ5ƒn¡rh„߯á‡à3¾Û1¾ÖÒè}Z‡ÂCÑG¨tc‚P…ÙG¢zŒ°é1Ž Ú>#é ÖcxÖ,¬ ‹³ŠA•ºwÐÅÆ!2´EÕ *kíÐ8;´âAqÂ2¨À³jØGÅXmÁ Á'ñÎmA?N¼i¿ƒÞ/K¼Á¨‡xƒ endstream endobj 241 0 obj << /Length 207 /Filter /FlateDecode >> stream xڅϱ‚0à# $·ðÜX0)ÆÉD1‘ÁD'㤎áÑxÑP¯GIt0 Í—»¶×¿:è„bšòÒsÒ3º$xGrÛÒnœo¸ÌQH§¨6ÜE•oéùx]Q-w+JPetä1'Ì3‚ÂÓ€Ðõ˜ÀTPÔ\–6Bðæf ~ËxŽî3à9º:ð^vì@+ð{B#pˆ€‰*ɱpqä”íý‚>{È{ wƈõ( G5Já(ÿâ9Ò‡ýÂ6qã?¾}O endstream endobj 242 0 obj << /Length 240 /Filter /FlateDecode >> stream xÚ}ÐÁJÃ@à ¸0HsõPè¼€nHLO…ZÁ=yBA= * ÞÌ£åQò9öP:Îvô 9}à 3Uœ5gœ|Zp5çòœsz¥²ÒnÆå<ŽžiÙ»ã²"w¥}rÍ5¿¿}<‘[Þ\pNnÅ÷9gkjV,"­ùVöFZે˜áÀ&²WŽG˜"‰ì”“jØÈVÉFxA”Í=f‘^éþÇtXD:¥ýƒ$‚ߨÀQ`¢uþõÓ@ ¤ºú3 çØF«d@âma5_³óÙjέ ñ"btÙÐ-}”^p endstream endobj 243 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚ]ÐÍJÃ@Àñ †@¯½9/ » ÄF„ZÁ„zò …Bõ(¨èMÌ>Ú>J¡Ç$ë~LµÙÃòcfØóê¬jHRYÒiE Iõ‚žJ|ÃÚmíxÁ§Ý .[T7(níE{GïŸÏ(–ëk*Q¬è±$¹ÁvEƌѱ©Q³y‰]CªÃœ*Ö>gY8U°³Î#å±`k½²ö¬&•³÷98ù7‹,¼ûàlïsÇJﯬËB>ø¬S}òŸƒ>éŸÙÔ±˜˜Œs¶aeÐø¬ý˜-«#ÕÔ¦~G~±—lÆÞ´x¿+%eÒ endstream endobj 244 0 obj << /Length 212 /Filter /FlateDecode >> stream xÚmνŠÂPà„1­ÅBæ4¹a·ºà˜BÐÊB¬ÔRØ]VØ"xï£åQ|Ë!×1‚XØ|3p椪?pÂ)÷§)?y¯è‡†_²LXFsÙiœQ¼–ÅóÆlÁ¿§Åãå„ÅSÞ(N¶”Mpw"¯þ‘%Î@ ¯FÔ`_¨|ßÁ;Bgá9!¬4`Š&E£U ÁáEˆ ù¡­`ßàAíKª]Ã{ÒªÚAÞ5èä]m?ÎIT”ú*•%Ã!´4ËhE7U}Jì endstream endobj 245 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚ}Í1 Â@Ð/)S˜ ™ è&YIc@#˜BÐÊB¬ÔRPÑNÌ-Gñ)SHÖQ ±±xÅütæTÎ+ZS‘3P8¶†W]‘¡‹+|4(; ¬SúwXOøZ‘dx)ñeEûÇã÷îÝ>’ ÄÁ7¸{¦S¹•kœz(ƒ ÏhRЂž]«<ø endstream endobj 246 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚuÐÍ ‚@ð Á\öœ([2)Š„> A:D§êØ¡¨[¤æ£ØØÍCh3.FP-òCgwÿîŽë5u›ZäQC“Û¥N—vèj.¶¨Ó33ÛŽtVäjtf\F'˜ÓùtÙ£3ZŒ‰«Zóž ~ĨÂoÁ~yûcþáó·µO3I­âΪøÁúÐg¯`g²@¥`¥P?‰|ªXÞmc$EßbX©¹›KöoíJ>G}›—í¹Urì°Ô/ÛcCM~Yܼz¬Â'XÉ€…" 3Éå-8 p‰/¥fl endstream endobj 247 0 obj << /Length 195 /Filter /FlateDecode >> stream xÚuŽ1 Â@D'¤ü´BþtE…Á‚Vb¥–‚Šv¢ñf%GHi!ê˜B´pgù3c[N¤¡6µ©í¨më2’­XK1|+åÏb-q*fªÖŠR“Žt¿;¬ÄÄã¾FbÑh.i¢À€ûÌÿR]Ü#¯sãìèÁ+ÀË ÿŠ JdDïz|ãɃšÿÇý÷y*Ô˜Œ*CѦ#6 wrÖp38UœßÛ{Ë •‰¼ÆÀAê endstream endobj 248 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚuÎ= Â@à )¦É2'póƒ‘TÁ-­,ÄJ--m£×Š7Ù#¤L\w… lñ>˜÷šIÆ£tB%:iNãœö1ž0Íô™Ó »#–ùšÒ ù\·ÈÅ‚.çëy¹œRŒ¼¢MLÑEEpÓñTÀž |´E © ý¯ ¤†5àëæf‘Kó)%@h†ðî °€ó;Ô.^†ÞgéþñÍ T;gWø*S™ endstream endobj 249 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚu¿NÃ0Æ/Êé–<‚ï 1$Щ‘J‘È€S„„Œ : Æ/Æ£xcõèÕ|gÊF=üìûãû>»³‡ý‘´båÀΤ;•ã™ M_ íä·@¡§ýô™!3%Ÿ©×RJP™!ƒLjŸª ÒeTé"féSÊø‹_e鵟´!}Ñ ®©v–¡ŠYW}Çç#_ózGq endstream endobj 250 0 obj << /Length 211 /Filter /FlateDecode >> stream xÚ}ϱ Â0à+Â-}ï L«­8YÐ vtr'utPtõ±#>€/àPßÀ±Ci¼4‡ùÈå.„ßë4Ý69Ôâíùäwiåâ=];ºÔ‡åûŠy-#¾Ei¿;¬Qô'rQ„4wÉY`X)ð:“ŸõÜZÙ÷?ëÆøŸ¶Q©UüξKþÁ~À ñ„{Í}C!`eá ¸èn!T˜Ëò2­V§ÏrS°’j9·eLtʲÜâÜJ½”’_oJ]pá?Rémì endstream endobj 251 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aS3…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒØ?0ðÑ0‚°0070àü˜ÿCƒýùdD (¨ž¡ýc`øƒ‚è1ÿ`øÿÿq¹zrrxæ<÷ endstream endobj 252 0 obj << /Length 226 /Filter /FlateDecode >> stream xÚ}бjÃ0Ð3·äâû‚ÊnâM¦P…vê:5IHVË[ËŸ¢­«Ç &ªî ­!œtèNgfå#åÄÛ,h^Ò¦ÀãœC¾øÚá²BýAÆ ~‰§¨«W:Ï[ÔË·'*P¯h]Pþ‰ÕŠ é!.7xùW‰é­Ý=Õ ¿çd°«B7ÒCÖ¦ k¸fÔ‹ «€FmS²°g~Ôr X%NXg¹@íÄÎqßÜ¢“vkùÒ5a{DƒW±-ðØK¬,¶#=¤=d„àCø³âs…ïø C„j­ endstream endobj 253 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚUÎ= Â@à‹Àk<‚s÷G‚vBŒà‚Vbe,-mGËQrËâ:Ó¨ ßÀ¼W=?Ù [öz9çS®Îðš­F}'fËÞÃ,¥… +¾^nG˜b=gSòαÝ#”Lô¢Zt*ë¨ÿõLd¢M D“ŠGb&(QÝSoð¯'ºÙcc#°Øàþ÷G> endstream endobj 254 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚÌ1NÃ0àe°ô/½AûŸ'T e!R[$2T¢SÄT‘ÁV¥A\ª£QÀ ¡p¾¹EÔ´1r§a?‰]c{þ&ʶQÕÇ7P ‘_‘Hõ_"Ÿ" ë‚f´צ†8 endstream endobj 255 0 obj << /Length 192 /Filter /FlateDecode >> stream xÚmÏ-Â@ài*šŒáÌ ØþŽ&¥$¬ … (@" àôXÈ%€ à++š.;¤rÅ|™·ó̦ƒ^”PH±´Oɶ0åräe³Ç\¢XR£˜ÚWrF§ãy‡"Ÿ)BQÐ*¢p² è¨Lo”ј§ª¬/¸do¸tï5Œ¬Ȭªõf;%_[Áa\kþ±vëÕ\`kð*·~Ŷ_;´§@ƒ1_c?Òú0¦Ä‰Äþà†[— endstream endobj 256 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚuÎ= Â@àR¦ñ™ èf݈ÚðL!he!Vji¡h4GËQr„-·u²¢ìòov™—êN¯Ë ÷¸­95l¼×t"Ó—0a3üLvGç¤Ölú¤æ“Ê|9_¤ÆË kRSÞhN¶”OÈ* x9 ª –ƒ­N‚À a°Ž<+£ÀÆ‚ódørÿqB÷üƒ"ûøR -Oõl¿qÙ€äfM©ä¤’o#Eüf¼ä9b Ð,§½ ]Lß endstream endobj 257 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚ}οjÃ0ðÏh0Ü¢GȽ@+ 'îR0¤ ÔC¡:„NMÇB[’5ö£éQü1VOIó‡ÐD?„îôqÃâÖæœñ•Sð°àüŽç–¾I®™ìQ¾¯½Ò¸"ó*Md¥@¦zâÅÏòƒÌøù-™ Ï,goTM‰×-Pû²‚_—âÆéi€vP=ÒªƒZCù­ûK⑊]l¸¢Þé.*á3ÍŸ{P¾ï,›Øm¢ñ8Ôˆöb+ã þ’¹°º—T¬t€(‰"âêOìþ79ÕUÛ—Ú3iZÑ ýw'mË endstream endobj 258 0 obj << /Length 222 /Filter /FlateDecode >> stream xÚuνJAðÿ±Å€¹6…yÝ;ïŒW1B®L•BREK EÁêöÞÌ}”{„-S„¬³1!HßÀ|1eqY]qÆc¾ÈÇ\–\ÜðsNo$9“¸.ö­Õ+M2  3“:™æ?Þ?_ÈLï8'3å§œ³%5S,†PÁUH¯P£úB‹¡O68÷j3¯=R¯{hŸFFnO_w,~IûÙ î”ёk#6~TAH‚´Ô·lk íÊßÊTðm<$;¶‘Í?$;ÖP±B„îšÓBd% endstream endobj 259 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚ36Ò35R0Pac3cs…C®B.cc ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]äj˜ÿ7þg`ÿßÞßÀþ¿O¾Á~Ž}ƒ¼ˆ( ò òX€Ä{0Ñ'PˆzQ‡‹ø"þà ÁÄL‚$ñÿÿd‚ËÕ“+ ºæ;W endstream endobj 260 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ=ÊAjÂPà?¼E`²uç\ ¾—>‹Šµ`‚]¹WÖ¥ E¡‹Psæ%Þ Ðmètb© ÃÿÏøÇþð‰{~HÙØgüžÒ¼ãvüèï²ÝÓ$'»bïÈε&›/øt<ïÈN–SNÉÎx²ÛP>c˜ŸùÂ8jP£‰*&àYeqy×mwn\\q£¤‚‘F Râ"=-ÑJÚ¯ÚÁ¨è.SˆªL(—ŸJÐ÷¦«Ô/%è5§7ú9G, endstream endobj 261 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚUÉ= Â@à`Ú}ÐÍnT1‚[ZYˆ•Z *Ú‰ìÑÖ›ä–)„¸þ€føš™‰eW(¢uÅ’RA”‰#JåçYï0WÈ$ä;#WS:Ï[äùlDyAKAÑ UAЂŸö›¾ .€ œ Ü Xý­Î½ÁµÊß2 ÌxLÿ 3d°—>ÓÓ{ß”îÍ8µ†+àXáŸ?y<Œ endstream endobj 262 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚeÎ1 Â0àW:Þ’ØwMC«u+Ô ftr'utPÜš£õ(9BÆ ÒZ)¾þyùb&3J© ©¤|NYA‰w ™†Ë–Ãr¾a¥PÂŽbjjKÏÇ늢ڭH¢¨é()=¡ª)rÛÆ·ÞE?˜nc ÌŒá†õà혤å=-$zL©“ %üÑ ”|(  D$q@3\O¼cæ=üi¡ÑÀµÂ=~] X€ endstream endobj 263 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ=Ë1 Â@Ð[»Ìt7&˜tBŒ` A+ µ´P´ÕÀxœ%G°´ÆÝDÃÀãó?øƒhÈŠCî{DìxïщÅæü°YvGŠS’+É™®I¦s¾œ¯’ñbÂɄ׫ ¥ ߫ܭª*ûá”pÞâ QˆDnRfi ±[:°J Jô ‘Al[CþÇÊ€±¨Æ1؆‡Æ­y¶¼4ݚ·è85øAÓ”–ôœF< endstream endobj 264 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚ5Í=jÃ@à·,nS4'ÈJ¶6 ŽQHªÁU’2…C ®,MGÑTn!´™“b>˜Þ”ËûÕ‚s.¤Ê/+þ,èHe%}®­.>¾iW“ã²"ÿ$Sòõ3ÿþœ¾Èï^¸ ¿çw¹> stream xÚMαJÃPà?Z8„fí x^@oÒD“É@­Ð ‚¤ ¨c¡Š‚SÍ£åQ|„Ž­¹Ô†sù†sá?šœç3º9‹3MsM.õ9–WI3n/’߯§ÌK1÷šfb–Ý^Ly«ïo/bæw׋YèC¬ÑZÊ…âp¨ ëý‰Â"lî1î^M+ ø{Œhðoƒ)à5ÈiD;['ZÔG½Êé;w>œ£ó‹SšÓˆ~;O{ë. a¯“Á@F‚‘`$ûõ^±ßŽZ¶´ìgÇΖaÛúylÓ_•›RVò§GS endstream endobj 271 0 obj << /Length 199 /Filter /FlateDecode >> stream xÚ¥=‚@…‡PLÜ è²ÈŸ bâ&ZY+µ´Ðh«£xJ Îd)è-¾bß›yó6šÏâ¤3šf%gtÖxÃ0e5 $¬Ó ƒjOaŠjÍ:*³¡ÇýyAUl—¤Q•tÐÑ”àÔîÀg&Ì›ß}NÇr à5ƒÅr^± ÅaÛý2󆿶ã“Ê®ä`‘Õ׉iÿ`œ•»r_zHé&=¥¯| z)3”óWwøFHH— endstream endobj 272 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚu1‚@EÇPLÃLœ è‚ÁÊ1‘ÂD+ c¥–&j´ŽÆQ8%…gd•B-^6™ÿgþß‘;ðÆd“Oý€\¼€öžqðÇ~£ìŽƨÖ4 PÍyŒ*^Ðõr;  —SrPE´qÈÞbt ÇLR~3&0 £è> stream xÚUޱ Â0ES:Þ¢Ð÷¦µ±ÐI©Ì èä Nêè è&´ŸÖOé'8:knh †ä@Î}7D%“YÆg¬X¥Øç˜n”¤ÆE¬¦68])×$÷œ¤$ׯ’Ô~ÜŸ’ùvÉ1É‚1GGÒ ³æxos «ï*!‚¯¹…ø¦÷~‡ÑÖù²ŽZoŸ(kÌ ‡²B" PõÑðqã>´.îÛ¶ø{€°xcA+M;úç–=Ä endstream endobj 274 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚU޽ Â@ ÇO YúÍx­w8jotr'utPÜê£õQúŠ5I-Ôåù$±f2›cŒ-ZƒÖá)+GZŒv*Æñ™½Cã@¯Hí×x¿=Π³ÍÐ9îŒàsT/¥Ô¨"ŒkFÃ㇠ZFQ"¶Ã7!Ø\LÅ®{»kwÅ; #e´%ç(𮈻iõÓÇÜ›^/ªaTtY!ŸÉ)yçÉ@,=lá M>k endstream endobj 275 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0QеP0¶PÐ5RH1ä*ä26 (˜A$’s¹œ<¹ôÃŒ¹ô≠ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ìÿÿÿÏP$þà 0,ÁåêÉÈö•) endstream endobj 276 0 obj << /Length 151 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0W0S01U01QH1ä*ä26Š([€%’s¹œ<¹ôÌ͹ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. | @ …°v¸ˆ:QƒAØÿÿÿÿA=øñN€¹ ?@J@#˜ø€ƒ`pì`ÖÑÀÀÀåêÉÈ\z> stream xÚ=É1 Â@EÑR~“-¼ èäg”`£#8… •…¤RK EÁJ³4—âRZ„ŒÓ(œêÞ‘Ž'̨–Íi•ª<¨œE‹3æö÷ö')˜-µ³ CŒ[ñz¹Å”ë9ULÅ2«ÅUD‹¸CÒ#õMx‘fÀx¢ñi‹çþß î€,œlä õ‡* endstream endobj 278 0 obj << /Length 124 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04ÆÆ Æf )†\…\†¦@¾ˆ –IÎåròäÒW04åÒ÷ sé{ú*”•¦ré;8+ré»(D*Äryº(0|`þÃþ‡ý?‚Ø?0àü öêÔ?ø vƒ—«'W Èa*‰ endstream endobj 279 0 obj << /Length 118 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0S04S01S06QH1ä*ä2 (Z@d’s¹œ<¹ôÃŒ-¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. òÿÿÿÿc$þ!°‘ ¨øÿÿ Àb\®ž\\ÏŠ>à endstream endobj 280 0 obj << /Length 102 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0"3#C…C®B.#¨‚)T&9—ËÉ“K?\ÁÈ’KßCÁ”KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓE¡þÿÿÿÿÿÿà >—«'W ²©$Ì endstream endobj 281 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04S02W01V05RH1ä*ä22Š(™B¥’s¹œ<¹ôÌ̸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ò ü ö ò ö öêQqC=C=2Ãp\ÆàÀñ†   \®ž\\Õ8æ endstream endobj 282 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚUÌ=‚@`6$Ópæ.?’`# bâ&ZY+µ´Ðh+œL9 G ¤Ø°Î nñ¾ÌÌKfÍâúQæ!Æ!^¸C”ÐîëUçdø£ø†®ÀÅŸ×x¶[a<Çc€þ DŽ–eI ëÛÄ™p?šïˆ×“éÄR󞬱§öÊ?ÜjÄ+ R¥ I}ëi*»qúèÔD!™jUÇ”T­¡©¿ÁZÀ~'dØ endstream endobj 283 0 obj << /Length 222 /Filter /FlateDecode >> stream xÚmбnƒ@ à1Dò’GˆŸ @ C§“ÒT*C¥dÊPeJ;vhÕ®GãQxF„kû²D‰d>á;Ýñãòñ¡zâœ×ú”WôM¥õ¹µörú¢MMÙË5e¯ºJYýÆ¿?Ÿ”mvϬý–ß ÎToHˆÈèNî [`ÑCZ,{µÃª3ïVÜZµwŒ¼ ³™LæR¿D·Ã%Ú»º{F:™ÉlZY<ÀߨFãåÉxmãžÝéhÒÁîW£ÿõÞÆ IÄÇÓxLz©iOÿ¸Çñ endstream endobj 284 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚ¥Ð=NÃ@à¹Xiš=‚çà˜ØB‘,… á * D)S€ µ÷&\Å7ÁGHéÂòð6.‚DIói5û3o¶X—k]꥞åZ¬µ¼Ð×\Þ¤ÈY\j¹šw^ö²©%{Ô"—ì–eÉê;ýxÿÜI¶¹¿VV·úÄ;ÏRoðƒÐN>`aö˜}x3 H‡”V½£mH¨ñâbŒ&oÃNúhà»h:€+T¨p²=Úüq::þϤ‹º>¾F›_²/C2ã1eÂyaÜ:ÄùÜèã#fœÃÉ`ÖÅèx–!7µ<È=c endstream endobj 285 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚuн‚0ðkšÜâ#xO `âD‚˜È`¢“ƒqRG®À£ñ(}FB½ЄĤý¥ÿ~¦øópE.-¸K =ºzøÀÀçìšh.wŒStŽøèlytG¯çû†N¼_ç„N¹gL‚\kÐZ—ÖÊZƒ™o¤’-ÀT c Úš[£âçìÛº8RõòfÉÂ_yOwyö_¾ªµ6ƒ|pd‚mAÔ&²Â:©­•QV&òƒ£Ò˜¬ÐöëíP€®$> stream xÚuÎÁ ‚@àÂ\z'HÅ Á òÔ©CtªŽŠºEúh>Šàуh³kˆeͰü³°;ÂûSrÈã#&ä»ttñ‚Bpvd”‡3†1Ú[í%OÑŽWt»ÞOh‡ë9qŽhç’³Ç8"h¸re¡)¡¯‘ƒQÀ¨5“ñŸVzV \¿4Ù ¤0°i:“·uç“ûÓl3%üRk-Le00½µÏöåøãæËJÍKÀEŒ|ñ}xB endstream endobj 287 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ}Ê1‚@Ð!$Óp™èBBE‚˜Ha¢•…±RK ¶.Gã(’‚¸Î.ZHÄIæ%ÿψÙ$ŒÉ§)¯ˆ) èàEÄÙ×QgLsô¶$"ô–Ü¢—¯èv½ŸÐK×sâœÑ. yF •R 0ªýRG5X-ØXÍ NPƒSÏnil¡Ó•b“EOþÒ&¬4>ÀíØ=ŸÆöŸVgÓWªÊX³Ê(ßê9nðón endstream endobj 288 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0b3SC…C®B.c ßÄI$çr9yré‡+[pé{E¹ô=}JŠJS¹ôœ€|…hCƒX.O†úÿÿ0üÿÿÿcà?ÀÀÀ &pö`‚Q"êpÿ@Ä#˜øƒ`pì`â2Qì¿pOþaàrõä äIVR endstream endobj 289 0 obj << /Length 163 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcSC…C®B.c˜ˆ ’HÎåròäÒW0¶äÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õÿ00üÿÿ™‹1 ì`â‚LÀAȃ‰„=˜`ÀAÔƒˆ:\Ä?ñ‡ÁDÔ¡ÿÁÄ Qÿÿÿÿ?ÿQˆ ±\®ž\\Á˜[É endstream endobj 290 0 obj << /Length 242 /Filter /FlateDecode >> stream xÚmбNÃ0à?Ê`é–¼Aì' ¤ª¢X*E"LSadÈ`µy^ÉoÀ+dc$¢–sŒT@•|Ÿôßù»89šžª‰:æšòÉÕ]NTÌ8ÑV4¯)[ªbFÙw)«/ÕóÓË=eó«3Åy¡nr5¹¥z¡°é ìzÈí^½ÅÆAHœ¿ ^Ù_öŸÑk¢O mb¶2ñ{Ë o)Þ¼IP¶X—’5•”`ÓÑj´5Ò†uiSyû½² ®9iÙ^ZÃ&­WÀ‹ÄÁŽW9ˆ õ+¿å§ûo w }:¯éš¾ˆ¢{{ endstream endobj 291 0 obj << /Length 221 /Filter /FlateDecode >> stream xÚmÏAJÃ@à¿tx›9BÞ šFSŠ›j³tåB\U—.”ºjir½‰ä(s„én„¡ãË š…ÿ}ðÿ³šâ|2»à)ŸÉÍ$9?åôJÅ\z¨ÝÃú…–e÷\Ì)»–•²ê†7oïÏ”-o/YúŠrž>RµbÔµƒ·ðGx×+£$qP-Tô ªú8aÚ ý ¦Hñ«Ú”@\¨fñgm£{`Ü%íNGõP¸ iÛk,FÓû=pk0Žjluo-9¢Ôðþ¿m·Ë骢;ú[Ê| endstream endobj 292 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ}ν Â0à+„[ú½'°ÿ‚S¡V°ƒ “ƒ8©£ƒ¢sóh}”>BÇ¥ñ.EÁ†ËÇý$$q4MæäSÄ;žQÐ)À+Æ!×¾”28^0+ÐÛQ¢·â.zÅšî·Ç½l³ ®sÚä°È ´Ö Ä,¶5yoÔ“ÚfJN©Ñ­>¾ãÕTåHA¶±-£ÝIÓå?”ò±6*‘°<”+¼º1­ÁvL{°ùµÔ¢yõˡ˷øäjÒ endstream endobj 293 0 obj << /Length 226 /Filter /FlateDecode >> stream xÚ}Ð1NÄ0…ág¹ˆ4M޹8Ù$DT‘–E"T+* ¤A»ÎÑr!¥ ËÆñ‚D–æ+f$Ëÿ4õy{É%w|Vm¸i¹ÝðsEoTwqZòEó½zz¥í@êëŽÔMœ“nùãýó…ÔöîŠ+R;ÞW\>Ò°cˆà<„ }:„!1VxdV8H+-„•óY¬ȧ¿È¹ÿ£2s’Cü×t‚b<"âC^ÚD/.¡ááï¡ô¤ÝÒg—Òù˜ÃÇx‚Ð/ӊܬˆÙ¿‘t=Ð=}h.†û endstream endobj 294 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚmÐ1NÄ0Ð¥ˆ4¹8I±U¤e‘H¢Z()XA»ö 8W‰DAÉr„”)¢5c‡H€ÖÅ“5¶ü¿\Ö+.¸äÃU͵áCÏT•2,¸.ç“í­[Ò·\•¤/eLº½â—Ýë#éõõ9Ò¾3\ÜS»aXà½wÑ>:@æ~²^M€ê¹¤:ÌÚ_6‹ù¬;â~±qá…ÉLÇ ‚VrﻘëðÓJöX&{بäÈ#’‰Iz³c&ñ4ÃÍÿ~¸àg'ò¯.¿ýÑz¨w'©ÊÏÊ—¸ì EJsY#袥ú´}× endstream endobj 295 0 obj << /Length 245 /Filter /FlateDecode >> stream xÚmÏ1JÄPàYR¦É |sÍÆ}!°®` A+ ±RK EÁÊ—£å^a2Å’ñŸ‰‹6É̼yÿ‹«£úT–å°’x"õ±ƒ‰pÂ,ÑÎ\@Ç_³Ùès/*g.ù ù)¨&éÖL“ÙøOPëãv˜Y´µ‡ùÏì`nî ÿ,ß{à·ùOÄ›Mx±[l)õz»i²ç&µ$©vªX?zÎÌòEË7ü }„t£ endstream endobj 296 0 obj << /Length 163 /Filter /FlateDecode >> stream xÚ31Ö3µT0PaS 2TH1ä*ä21PA $‘œËåäÉ¥®`bÀ¥ïåÒ÷ôU()*MåÒw pVò]¢  b¹<]ìÿÿÿÿ¯HüG#êìêÿ1Ô3Ôÿa¨c¨ÃFT0üc°a`øÃÀ€•`?pÌ`â‚L<ÀAðƒ‰8y0Ñ€LðÿÿdüÿL€Å¸\=¹¹7X^´ endstream endobj 297 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚmÏ= Â@à‘irçºY“€V þ€)­,ÄJ--mMŽ–£ä–â8“mR,„Þì›d“gãbF)Mid©˜Paélñ†y&ÃT'ÝÉéŠóÍžò ÍZÆhÊ =îÏ šùvAÍ’–Ò#–Kª¸vÜ07·}ý> stream xÚU̱ Â@ à”B–>‚y½;m§B­`A'qRGE7iûh}”>BÅA‡âyM½ŠIøù!þxLH’’4PðìžÐ—Ôt0úF»#F Š5ùÅÜÜQ$ ºœ¯ÑrJ ELEr‹ILY Ù[¿A3š7¾yx…¥Ïä–ZJÈÒ–^ µÅyY\¦²˜ü‹Ç-nÕÏ-!ü‘vÜjËýÕQ8¥áÉÍäÿ€)Æ|œ%¸Â\0ok endstream endobj 299 0 obj << /Length 197 /Filter /FlateDecode >> stream xÚUÌ; Â@à?¤¦ñ™¸ ‰«` A+ ±RK E[7GËQr„”)–Œ³Øh1Ìë/òÉtÎ)—ZEÁyÉ—Œî”Ï´OCç-*2Îgd6:%Smùùx]É,vKÎȬø˜qz¢jÅH€HƒH¤C,â10êã\ÀÖq‡¤ŽEÏÿqRc,ŠS4EB€è¨µH<,l«)®o ÿËðe@ä¡ß®±ú¨)]¢ôšîúX¼í!í¸£uE{ú³/^q endstream endobj 300 0 obj << /Length 212 /Filter /FlateDecode >> stream xÚuϱJÄ@à_R¦ÙGÈ> stream xÚ•Ž1 ÂP †q(d°Gx9¯¥OA ZÁ‚N⤎Š®mÖ£x„ŽÒ˜Á!$!ù¿'3NØ*Φ|IéNYÐ>±Öç-KòÎùNÉ—[~>^WòËÝŠSòSNNT ȈD'Ò i!Š4y;ì‘·ÑGwp{c×ȃjCeè ß s»]Ø—ÊžZž†º.þ"US³“‚9©-­KÚÓ¦IÆ endstream endobj 302 0 obj << /Length 218 /Filter /FlateDecode >> stream xÚeαJA àÿØb Í>Âä Ü]vÏÃjá<Á-­,ÄJ--mo|±é|y§¼bœ˜áÄC®ÈB†þdyÆ-Ÿj /;~ìè…ú•æ¶Ä2xx¦õDÍ-÷+j.µKÍtÅo¯ïOÔ¬¯ÏYó†ï:nïiÚ0Ùýêñs ü’#ŸV¾œH€ˆø…|ˆ¯Ä›œ¯Foý;sŠ+lqÎ…¤à÷Ƕ÷d,²6ª‚ɺY'=alp µ¾Œ+ù–‰Êè%ÐÅD7ôpë endstream endobj 303 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚmŽ= Â@…'X¦Ù#ìœÀMX£XüSZYˆ•ZZ(Úêm’#X¦Œo[±Øf–÷æùa5•B&x#/~,§’¯ì+ÌEÓÇñ³†ÝN|Ån…-»f-÷ÛãÌn¶™KÉn!ûRŠ7 !ÒH”ë›ÈꇨÖ+UÊ4jôdcÞ‘‰æM¦µ-å­@l_ Ϥô"j‰~Ð' f& Ê”Ö74˜.WHÁe °Ê4ù½’©A— où \s`¸ endstream endobj 304 0 obj << /Length 181 /Filter /FlateDecode >> stream xÚuα Â0à+ ·ôzO`RL'¡V0ƒ “ƒ8iGE7±}4¥Ð±C1Þ…:”ün83d3Òdäf”¥tJñ‚F“Žòq> stream xÚmαNÃ0à‹2XºÅà{H¬¦.X*E"L0"‚5)oÖG1o`‰Åƒ©¹saAõð ¾ÿt7;ž/¨%KGvAÝ)ÍNèÁâ v=ÿ¶4ïG÷O¸°YS×csÉÿØ WôöúþˆÍòúœ,6+ºµÔÞá°"à§<€ .L)'¨rfë¢Îù;‰î“õÚGpåŸaF¨Ù]1Píõ¢.š­ä;Á´a?2ÈyWL ǹGõ•9^ÖþÄjoÉó.G¥ò¤8Œ¸2T‰Já‘=ã"b<èXL’á-Ϋ(UM+®eÊýw1•ëÒEK[¼ðÙzA endstream endobj 306 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ}Î1 Â@ЋÀ4Á9IH,¬„Á-­,ÄJ--mÝMoð¦L2ÎL‚ö±vY~ Gc 0äG8 q bÉD9ìŽðׇàÏy ¾Yàå|=€Ÿ,§È9Å ¿Ü‚Iѱ…ËÊ_­êª½ÆâŸ^cÞÖfì“8y/âû>Éß_[;b¥–â Psõ®fm]vÒ¨íº”¾V½i».¥o­VÚ·¥¥Ü[e¤Ú2‡™¼ ¹t6 endstream endobj 307 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcKS#…C®B.cC ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ì ò€øƒ=2>çgÀÿÿg`†àñzÑp=×aÁÿ€ø&fᘘ„?Àqýÿÿþÿÿÿ†A|.WO®@.ïûJÏ endstream endobj 308 0 obj << /Length 230 /Filter /FlateDecode >> stream xÚ}ͱJ1à9®X˜&yw×Ýl œ'¸…pVb¥–ŠvbÖ7[ñEâ(6W77V8±0/™É̤möf‡Rɾíö@fµÜÔ|Ïmcq…×w<︼¶áòÔ²\vgòøðtËå|y,/䲖ꊻ…PLdK?ÿ³“ìt4ýg1:üVuÈ&*Þ Ëw×#ïú¦ºÞ%è{"ßo¬×OÖpº‚($BòÁJ(D|p¤0hÚùÊðŽ®øšÍs^>Û¹3˜k¸•ý ÝðcÔ¤RýP5¿²¸y>éøœ·ZsY endstream endobj 309 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚuɱ 1 €áŠƒÅG0O`¯\opÎì èä Nêè èjûh÷(÷ŽblÂ-ò…?ñå´šaUŸ—Óƒ+”>·$?Ž¨Ø–ì*_Á†5Þo3Øz³ÀÜ î šH1D¯>‘1Cf$t c¡U˜Ia.…È<5¾ÌGa ¼ûD"JLKLü“`` ?:•RŽ endstream endobj 310 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚuÊÁ ‚@`Ń0Áy‚Vq :f‡ N¢SuìPÔY£Ó7|;µÁâ4kuh¾ýçgd4ˆGôOÆ q¤ì^Í·=@’X¡” fÜ‚Èæx>]ö ’ÅC)®C 6¥èh¿[®¦Š —¨¡’}PíOmåwjØŠnì•ÖîØÎÖ¬¶ÕGe·¿rÛºµInùOsá•&yÅ?Í…_˜ä[ßæ*o©&+jIÓÓhò»‡iKx—‚» endstream endobj 311 0 obj << /Length 180 /Filter /FlateDecode >> stream xÚmÊ1 Â@Ð )ÓxçnBVÁJˆÜBÐÊB¬ÔÒBÑÖÍÑ"^doà–)BÆÙÕBÁbÿFåƒáSÌøTŽù÷œ@ùžúêÃî…¹F•œó R/ðr¾@Ë)òZâ†?· KŒ¨6•ˆéA–}’c‰Eî-Û ol¼}´Á:X}±“·"jþ³&x±ûoÂvÁV$öGCÖëˆ* š~‡™†¼êõf endstream endobj 312 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚmŽ1jÃ@E¿p!˜f°s‚¬ÄZ1®d¢"W.B*'e »öh{A¥ ¡É(&E óàÿaøíª-¼Ñ]{öü^Ò™|¥ºXär8}RÝ’;²¯È=©K®}æëåöA®~ÙqI®á×’‹7j$¹ô€•2©%32É« ]Ì„hzØdL²¦úsÇ×_Lÿä_ØÄY£t:wÌjh^Hù;„F´U.Úo%m¥Z”ö-è/LRz endstream endobj 313 0 obj << /Length 230 /Filter /FlateDecode >> stream xÚuνNÃ0ð«:Dº%à{â„:&Km‘È€bj@°’¾y?BFiŽ>@U¥JÖOöÝùîÜò¢¸‘L—²È¯Å9Y^É.çwv™î/·}ãUÉöI\Áö ¶å½|~|½²]=¬%g»‘ç\².7B>š@TÅ*ƒvPU‰<ÜÓL_Ã: ØÑ¼¡y;§3‹ýóÄd4œÑÅ0 ½ã1õ¤iÈï{±•‰˜O¦K[¨lû£5LQB}!ѿՑßgìŽlO­4 b ó¦ûçÛ’ùÜv› endstream endobj 314 0 obj << /Length 228 /Filter /FlateDecode >> stream xÚuαJÄ@à )¦É#d^@7!¹;­îN0… •…X©¥…r׺ë›åQro°`³à‘ßY#\qØ|,ÿìðOÛœÏ/¥’…œÕÒ¶Ò,乿7n–šV2oÿFO¯¼êØÜK³ds­9›îF¶ï»6«ÛµÔl6òPKõÈÝFˆ@fØ*ñÉá;€á!É…Y$ ‡rHôT Ö'Hq‰Ä˜8(ý)坨 Ýp^wáeðÖç ÛÐ *ô ½LÉ1j ¢~-SÑ‘1qø‡ì—x 0hãD˜^)㫎ïø Zz endstream endobj 315 0 obj << /Length 179 /Filter /FlateDecode >> stream xÚ}Í1 Â@Ð]R¦Éœ¸‰VBŒà‚Vb¥–ŠÖÉÑö(9BʈÁqvE‹y0ÿ3LªûÃÆ8àI3Ôî8BªyÝêŠírj…©5ã”™ãùtÙƒÊL@¸N0Þ€)PR+IÔFdêÆÞ’jIW¢ZÈE,×Î&´¬ *>¨„`…óîí¼íÛ°ù°þmôÔþ³÷´ú²$j¼üŒ¼åKÎaj` ¿†Uà endstream endobj 316 0 obj << /Length 206 /Filter /FlateDecode >> stream xÚU1jÃ@E¿q!˜foÍ ¼Rd\ l¬Â`W)Bª$eŠ„\v¶Gä)U8ÿM—b3ûàí¼™µK­tÁ™ßk³Ð×Z>¤iyWùÌâå]V½øGmZñ[¾Šïwúõy|¿Ú¯µ¿Ñ§Z«gé7Љ}'8³„Îl€"M !#ÊT ‰pˆp‘›P\‰©`‰~ÀԅƲꌀE¢Œw€KÕ¸r40À€0æïâ‚ß=æO%›òÐËAnªRZA endstream endobj 317 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚuϽ Â@ à”nYúæ ¼Ö«¢ µ‚7:9ˆ“::(ºÖ>šâ#tìP“C…îãòÑKm8¡˜ÆrÒ¥#:&xAk%5ÕÆáŒ™C³%kÑ,¥ŠÆ­èv½ŸÐdë9%hrÚ%ïÑåHD¥ÐëbæfþRú›¯A¡#´JÓAà©;=L•â—Vi„@ …&ª!`®”ÈnOY—õoò .nð îRð endstream endobj 318 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚm̱ Â0àH†À-}„Þ˜–´ŠS¡V0ƒ “ƒ8©£ƒ¢«Í£Å7é#t¬P<“àRt¸ûïŽËÔ8Ÿa‚SW™B5Ác P¹Ë‰~q8C©AnQå —n R¯ðv½Ÿ@–ë9¦ +Ü¥˜ìAWX·œ µÂÑ ²0ã-‹‡FV°_j,{üáÍâ€aý€Ñ—ÂðÞÿé\wî¸v‘ðpzQÃèI6ð&‹]+ endstream endobj 319 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚ=Ë=‚@à!$Óxæ.dÑ@ bâ&ZY+µ´Ðh‡Á£qް%gù+æËÌ›¼@.Wyò!É5Ý||¢4™gNó¸>0U(N$#;NQ¨=½_Ÿ;Šô°!EFgŸ¼ ªŒŠÖêš®³Ú~ë3§˜œ ⻂|¦ž°4Øš±4#\YüÀª¨]˜ˆgr¦1äõÄWOÕLÉ$ÓÇ­Â#þbVO˜ endstream endobj 320 0 obj << /Length 216 /Filter /FlateDecode >> stream xÚEαnÂ@ PGNò’OÀ_ÐKH@b!¥`b@L´#ˆnˆ¤vý“Hý¶Þ0öe`¸'Ûwg»ÈßFJ)—SŒ)Óg†G,†’§šêÅþ€³ 톊!Ú…TÑVK:Ÿ¾¿ÐÎVÓ6£t‡Õœbö%71w%;Ã]Í®û:$δ &À´ƒ nKoW1ò]Ћp¿©uû²tÁF@ˆƒu¨°ÞFÿjü§ïM0ùÕ>ÉŸÔ)è” èÄN¼6ª²#0˾¢ jÜ×ñ£Â5>Ý[¦ endstream endobj 321 0 obj << /Length 224 /Filter /FlateDecode >> stream xÚMαŠÂ@à )„iòBæÎÍâ´‰ày` A«++µ¼âŽ®ˆè£åQò)·®;»Áló±ü3ìüj:™-(#IorNjNÓœNPå6Íh¦úÑñW%ŠOR9ŠÍQ”[úû½œQ¬vï$Q¬éKRvÀrM`ºØèÈ> stream xÚuÏ1nƒ@Ð(VšfÀ\À^Ù’¥PXJªQ*;eŠDv m²G tØ Æ.’æ­4#ý¿J—Ù†c^ó"áUÆÙŸú¦4—aÌY:mŽ_´­È¼qš“y–1™êÀçŸË'™íËŽ2%¿'PU2µ|„þ (ßÚ2w(Ú¦E-zD6¸BÛðFå”{ íDØIÚ3ê?¯”ûmgDíŒj #’× Arf#érµÑNN,t']´÷cÉá^Þal о¢Wúqái7 endstream endobj 323 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚeÊ1Â0 PW"y€#Ô' MKU˜J‘È€CÅŒ X)GëQz„Ž U‚ƒ€ Ïòÿö8eSŠIÅ<Ò e ž1ÉÉ5ß—ý rKIŽrÉ5J½¢ëåvDY¬ç¤P–T)Šw¨K@ô1c5³ ™0|2 GÂÞAô¼w=ÿý œ§/t:ŸpZßÐi|‘óø©­m¬µí—˸иÁI Pt endstream endobj 324 0 obj << /Length 229 /Filter /FlateDecode >> stream xÚmбN„@àCA2 À<ÀÉ™X‘œg"…‰WY«ÓÒB£­ðh<Ê>%aœ™K¼Kî6ðegçß]B}}µ¾å’k{ox½â·Š>©®´.­´Æþƒ6-Ï\WT<è*í#ý¼S±yºc]Ýò‹ny¥vË@6CG'=D"ŠŒº,2ùdíf‹Fzìé-måý©É™Áé1º:šƒð;Ý_w1Â|4™Ìt4³hæn7˜öµ¾)ñxæñÜãM> stream xÚUпJÄ@ðYR,L“Gȼ€nb.r6¸?` A+ ±RK Eá*ï-’GH¹EØq¾‹‚²ð[˜Ýý†ÙE}Þ\I)—rVÉ¢‘æBž+~ãziÅRšz>yzåuÇá^ê%‡k+sènäãýó…Ãúv#‡­r·¢69MD^õH…jO­ê@‡±IÉGJä¢3&ƒþ`ËM´·S¢™ øñ—|0ÚÞ8‘oæFˆ ¡¦xoÍí2(ð"~øB³9~…ÚÐò}B@BTB_Cm˵c1a´H9æó˜Ôzã x×ñ‡k endstream endobj 326 0 obj << /Length 224 /Filter /FlateDecode >> stream xÚuϱnÂ0à‹2Xº%{â˜D,Q*5C%˜ªNÀÈ@Õ®uÍâGˆÔÅC”ë™vaˆ‡O§³ìûoQÏšGªhI† 5†N¯X¯¤YQ3ÿ»9^pÓ¢>P½Bý"mÔí+}~|QovOdPoéÍPõŽí–À2GpÌÃ=¾AΘ&ÈnÄ òè<ä?ÜCžþÆ Þuj„Ò«…W=AP!÷BzÙO²P½ÿSÜðBé%­í$”ë¤bpR«l°J–,³Laî ã´œ•øÜâ¼p. endstream endobj 330 0 obj << /Length 102 /Filter /FlateDecode >> stream xÚ32Ó35V0P0b#CCc…C®B.C˜ˆ ’HÎåròäÒò¹ô=À¤§¯BIQi*—¾S€³‚!—¾‹B´¡‚A,—§‹ƒýƒúõþÿ€AÏþ—«'W !‘$‡ endstream endobj 331 0 obj << /Length 111 /Filter /FlateDecode >> stream xÚ32Ó35V0P0b#Ccs…C®B.C˜ˆ ’HÎåròäÒW04æÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(ð7Ø?¨ÿPÿáÿñìð70`¸Õs¹zrrD7„ endstream endobj 332 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚÕ1 A Eÿ²]¯8;êÀvë N!he!Vji¡h«{´9ŠG°´ãd±QÄÞ<~~ „¸~·p\p/•³ìJ^[ÚÑ L}¡­V[ª™9J2ãä’ >ì2ÕtÈ–LÍ ËÅ’BÍ@.ÀY®*åtÀßà“}4˜I“½¨™kÆ\Ðê7B <µÄ/z‰¢ñ…íž¿aúš×³?I£@3zóպà endstream endobj 333 0 obj << /Length 122 /Filter /FlateDecode >> stream xÚ37Ñ37V0Pas#Ss…C®B.3 ßÄI$çr9yré‡+˜Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÿ‡H|ÀÃ`¨ÿÁÀÀøÿÃÐdüŒ!íAœ b"—ËÕ“+ ¸0Õ endstream endobj 334 0 obj << /Length 101 /Filter /FlateDecode >> stream xÚ36Ó32T0P0aSs…C®B.crAɹ\Nž\úá Æ\ú@Q.}O_…’¢ÒT.}§gC.}…h 1±\ž. ÿÿÿÿƒŒê0 uŒî'.WO®@.•õy9 endstream endobj 335 0 obj << /Length 138 /Filter /FlateDecode >> stream xÚ35×31V0PaScSs…C®B.K ßÄI$çr9yré‡+˜Xré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þVŠ¡þÃ0¤ØRüPŠ %BÙ£Põê?˜b„PÌŠÿ˜ªÿÝÿ8(.WO®@.‹† endstream endobj 336 0 obj << /Length 263 /Filter /FlateDecode >> stream xÚeϱNÃ@ à?êÉyƒÆ/iJ"•¥‘J‘È€D'ÄŒ X{÷hy”^åc¡¯êŠ™D5‡=îþÙü:þé§“ÎÇ|ñ_.þ(Ø_’ IŸ˜4B±±ÌCjÑz8½–nZ:Ð7¡6 endstream endobj 337 0 obj << /Length 199 /Filter /FlateDecode >> stream xÚuν Â0ð+„[ò¹'0­~€ÄIí›™Gé#tì =猪‹!ùAþ¹—úù€RÊÉG4Ó!Ã3vYªW}ØŸpR ßP>@¿}±¤ëåvD?YM)C?£mFé‹AhÀ0W–¹pµ•(Ô†Å&áRŽ_ïÕGW«¶RM©Êú1|šŠw5áFò—ú«ýö ]Ÿ÷æ·ñ¯¬5IW¦†º'C»§{p´Ü:ކ«ƒV†#Î \ã 8.y endstream endobj 338 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚ•Î; Â@à )ÓäBænbÄ*#¸… •…X©¥…¢­Ù£å(9BÊKÆY#X[Ìó‚?›M³ŒbJ]-(Ó9Á¦¹ô±kÝâtÅR£ÚSš£ZË•ÞÐãþ¼ *·KJPUtH(>¢®> stream xÚµ= Â@FR¦É2'p³$!vÁ-­,ÄJ--­o–£è ´‹dœ±ò¯æÁ·3ì<6{AŒ†\±Æ¸+ [ˆÎDi,7P3ŒP#¾eƸßÖ ²É5¨çƒ˜->E) ït´ÿD›ŽL®Ì”Z&U¼×!˧Òm,—J¯¿–yÿ"LŸXœÞI?ðåµ]ìÀ&^-Vìæ±gÇž·Zêø¿n$ù̴ɦ†¦p h¥Á endstream endobj 340 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚ]ν Â0àS:wÉ#ä>m©Ð± ì èä Nêè (¸¥à‹õQò3ã­ þ\È'›3ʇEÁ)çrFçï2:RÞߥ}ì¶×”¬$S2{ZÏù|ºì)/&œQRñ:ãtCuňCèà:DávG|‡iÊFy”­öÐV;¡tPo¼0ðáƒÌ7ÀæÙ÷âª{äKxÕNÄ. P¡5­ô €’’ÒÒ‚¦5-éQle€ endstream endobj 341 0 obj << /Length 264 /Filter /FlateDecode >> stream xÚ…½NÄ0 Ç]1Dòropõ @ZµU™ˆt`b81#æô x¥lŒ¼B$€Ž7œbì´Bb"Š~±ì¿?â¶?é;ª¨¡ãº§¶§æ”j|ƶoE]·„îŸp3 ½¥¶A{)~´Ã½¾¼=¢Ý\ŸSvK»šª;¶rJ“€xþâP0ów4Éð{\í .c9ØNø]ÿ”"ÿßY¹pÒ&Zm­¬m¥1¬˜÷BÏ`­XëX Ï2ÝÌ1Ï2s–Pª)£Ö—àH˜²r”Á€—L¥5ø1ýÒýáU¥—Wôš[$ÜtUòÝ’ŒáYņ'¼ðr˜Ô endstream endobj 342 0 obj << /Length 157 /Filter /FlateDecode >> stream xÚ35Ö30U0P0bS#S …C®B. ßÄI$çr9yré‡+˜Xpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þ3Á$;˜d¦%YH2ÿÿ$ùÿÿ’ò@Aæÿ6Œÿ˜ÿW€É òÃÿÌÿ ‘ H$Ã’ÿÿÿ±ÿÿ“ärõä ä WžH endstream endobj 343 0 obj << /Length 122 /Filter /FlateDecode >> stream xÚ32Ó35V0Pa#SSK…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒØÿ0ðÿ!ùÿ("”ªÁþ3Ô#!öÿ ÌÔFÿÿÿ€#.WO®@.Nq endstream endobj 344 0 obj << /Length 198 /Filter /FlateDecode >> stream xڵб Â0àJ†Â-}„Þ˜TZèV¨ì èä Nêè èj}´¾¯ÐGè˜!ỗƒ:Èw÷'„dfœ¢Á‰ßiŽYŽûNf¾6\ò`w„²½Æ4=÷]Ðõ/çët¹œbºÂM‚f u…~ÑCQýÓˆº¯*ÇSÕK¦cã;[È©›èXeÙ°c£–ÅF:Ô‹’!÷ö1HÞ¿B !ù›%ލõÔ‰=Ûˆ…ec'lô’ü_Ù‚ì§0«aOP‡Œ± endstream endobj 345 0 obj << /Length 105 /Filter /FlateDecode >> stream xÚ32Ó35V0Pa#3S …C®B.## ßÄI$çr9yré‡+qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þ3üGBìÿ˜úÿÿq¹zrrÊWù endstream endobj 346 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚÝÍ= Â` àˆC!‹GhNà×"Ú ‚ ì èä Nêè (¸µÒÁkyo =Â7:”¾¦ÅÉÁ8„<ù! úín(žt4BMl}>pÐÓº.«ÁfÏ£˜ÍR‚›©vÙÄ39Ï;6£ùX|6‘¬|ñÖGB%%9µ "” 4Dªrr•{Ef‡V5 ÜR×’S^r_Ô,µÿ¬¥»IQiâNÉë[)%ö[ôyü/ Èû[<‰yÁo¨Rµ€ endstream endobj 347 0 obj << /Length 151 /Filter /FlateDecode >> stream xÚ35Ö30U0P0bS#cs…C®B. ßÄI$çr9yré‡+˜Xpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þ1Ô`øÿùÿ Éÿÿ”gþ$mÿ7°ÿ«’Ìÿ>0Éÿþ`þ‰l@"üÿÿýÿÿ˜$—«'W Žá‰ endstream endobj 348 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚ31×37U0P0bScs…C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Œÿ000ðÿÿ$ëÿÿ’ÿþ700ÿc°ÀÀþ‡Aþÿ2 \ i$Á €Êêäò?ˆl •Ä4b>Ä.dÛ!îp!îdræ~ùÿ€$Ø_\®ž\\-in« endstream endobj 349 0 obj << /Length 193 /Filter /FlateDecode >> stream xڭп‚0ðš$·ðÞ h[I;˜èä`œÔÑA£3>Â#02Î+šhÔM‡þ†ûúçK£`¨#Ô8Âc¤1ˆqgàaÌSQðˆ¶H-¨†1¨ÏAÙ9žO—=¨t1A*õA½›¡ ]‘O›Pö±’JA…äy)Iˆ¼r&õÓ~ó®ßþàÇmý—·’ªkÂ]Ÿ{77”Ôx­Ü¿f}N$¹nýCâù&L-,á‹ endstream endobj 350 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚ%Œ= ÂP„7¤¶ñÙ˜„‡Æ.à˜BÐÊB¬ÔÒBQ°“£y”á•[„ŒûHñÁÎÌθb2+$˜Š+ä’ó]n: 2ç/*NârN7ærZmåùx]9]ì–bîJŽV9qµ*ý> stream xÚ36×34Q0P0bc#Sc…C®B.#K ßÄI$çr9yré‡+Yré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ø0°<¶‡âz þÁŒ@ÌÄòÿÿ?ø„™bTÂðÆÿ ÿ7~`øøƒýÿ@Ç400ÿcàrõä äÎpR endstream endobj 355 0 obj << /Length 120 /Filter /FlateDecode >> stream xÚ36Õ32W0P0U06R06P01TH1ä*ä22 (XB$’s¹œ<¹ôÃŒL¸ô=,¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]Øðð·ÿa_ÿÿýÿÿÿÿû#ÿçÿæ\®ž\\^"/ endstream endobj 356 0 obj << /Length 96 /Filter /FlateDecode >> stream xÚ36Õ32W0P04FÆ – )†\…\–@žNÎåròäÒW°äÒ÷ž¾ %E¥©\úNÎ †\ú. ц ±\ž. v õ ÿ`°žÁŽËÕ“+ … endstream endobj 357 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚ36Õ32W0P0QÐ5S06T01SH1ä*ä22 (˜Ad’s¹œ<¹ôÌ̸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. Ì ì ˜„|yf€`{ ¶â: ®â?@üƒ„?@03?ñ»10#ð3‚LcÀ¸ˆ¹\=¹¹Q×3k endstream endobj 358 0 obj << /Length 103 /Filter /FlateDecode >> stream xÚ36Õ32W0P04FÆ F– )†\…\–@®ˆ–HÎåròäÒW°äÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(Ø1Ô3üo€Áz;ìS—«'W RŽ#¢ endstream endobj 359 0 obj << /Length 101 /Filter /FlateDecode >> stream xÚ36Õ32W0P0S04R0²T04WH1ä*ä22 (˜B$’s¹œ<¹ôÃŒŒ¸ô=L¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]êÿÿøÿÿÙ\®ž\\ÂÖ‰ endstream endobj 360 0 obj << /Length 214 /Filter /FlateDecode >> stream xÚ%Ë1NÄ0бRXšfŽà¹8‰Ù¥Y%Ò²H¤@‚ŠQ%ºhã£ù(>‚ËD²Vxd}½æ}·»îo¹åž¯öìßìù£Ãot-Kv}]Þ¿ð8¡}a×¢}(5Úé‘þ>ÑŸî¸C{â׎Û7œNL ‚ñMƒŽK·DaK&¤d|5 ØÒRœa‰âcÈ`|R@­H•€D¨Œð£€j)ÎÅ¥ Ë!SRÙ¬jÃ܈t8h+ŠÃLa˜M0«ñ‚y54ï'|ÆÚca5 endstream endobj 361 0 obj << /Length 131 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcC…C®B.cC ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€|…h –X.O…ÿÿÿâȘ¿.b¶âþÿ#˃Õ3 c ¶Ã†öÿCø\=¹¹M«\( endstream endobj 362 0 obj << /Length 168 /Filter /FlateDecode >> stream xÚ-̽ Â0ðá–>Bî LÛPÄ)P+˜AÐÉAœÔÑAÑ9çÓù>‚c‡óR~pÿ;ÛΚ9Vh³›žk¸­¥¯r›§+tÌm f-S0~ƒûó¦Û.Q¦=ää¾Ç “*ù£4ÊqI9báH+MjT ¦ 3•B‹ð-)È.þ #-µ¦ü%¼$Ãs’|šò;©ˆ°ò°ƒ‚tI¨ endstream endobj 363 0 obj << /Length 171 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bccC…C®B.cßÄ1’s¹œ<¹ôÃŒ ¹ô=€¢\úž¾ %E¥©\úNÎ @¾‹B4Pe,—§‹Âÿ†ÿP1;>|ðûñÿ ì÷ÿ`ÿÿÿ`ÿÇÿƒýóöŒØ0@ð†:(¶Ã‚ë€jêÀê>€0PHÿ?þ`ó@æÞÿßÀ~þ?só.WO®@.eTú endstream endobj 364 0 obj << /Length 162 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcC#K…C®B.#ßÄ1’s¹œ<¹ôÃŒL¹ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. öþÿa`þÿŸˆùXþA=ƒ}C=C=ƒCÿâX0L®Ž¨‡¨S¾Áþ€|ƒü‡z°yìÿÿͪø´Ëþ—«'W û7 endstream endobj 365 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚ]Œ± Â0E_éxK?!ï LÓ"Å)P+˜AÐÉAœÔÑAѵͧåSò ŽŠÏDœÎpï¹Üz>«*©NhªtÖxÃoW¦˜Ä銭Eµ§ªAµŽ-*»¡ÇýyAÕn—¤QutÐTÑvÆð9O ˜¡`vò58ã¤7PøD"D˜ù?Àô£‡ÌãD0A9Jÿ|üu¿†¸’peq‡.L° endstream endobj 366 0 obj << /Length 143 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcC…C®B.°˜ ’HÎåròäÒW02çÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õ Œÿ0°ÿÀÀÄò@lˆù0ر`°c`@Æõÿÿ7üÿÿÿ ƒøèj(Áöÿÿì€cŸËÕ“+ üå@„ endstream endobj 367 0 obj << /Length 214 /Filter /FlateDecode >> stream xÚUŽ=nÂ@…¢°4 -•w.Øf 4ˆHq”T)¤¤A‡Œæ›$¹Á–[XžŒÑè+æýŒÆ>=Æœò€²Û!Û”·íÉfª¦<ݬ͎f9%l3J^U§$_òñpú¤dööªÎy¥¥5ås:.ª!_MW¤‰”žHa~šÂ”Eßá:S˜ÜuÍ@³èI #Añˆ¥Bì€ФòŒ?_ï–F¤r"¾@Î@À¹Å“;í^õÝpù6¡Ík·ÒßÊŽ4€ó ENïô ß ZH endstream endobj 368 0 obj << /Length 144 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcC…C®B.c# ßÄI$çr9yré‡+qé{E¹ô=}JŠJS¹ôœ€|…h ÊX.O…ÿ ÿ bv|øàöãÿØïÿo`ÿÿÿÿãÀþƒýûæìðÒñÿòÿÿÿ³GÂòÿ¹\=¹¹<¦[¡ endstream endobj 369 0 obj << /Length 119 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcC#…C®B.# ßÄI$çr9yré‡+™pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<],þ¡" ¨ÿÃðÿÕÕØ‘‰êÿÿû@6—«'W wŒ2„ endstream endobj 370 0 obj << /Length 144 /Filter /FlateDecode >> stream xÚ36Õ32W0P0VÐ54U02U01RH1ä*ä22Š(˜šC¥’s¹œ<¹ôÃŒ ¹ô=€â\úž¾ %E¥©\úNÎ @Q…h ¦X.O† Ì?PP0ÿÿÀþÿ1ÿª¡ büaÁø£†ùÃ? âðÿ?¨ÿÏ`ÿÿ—«'W \êOé endstream endobj 371 0 obj << /Length 177 /Filter /FlateDecode >> stream xÚ}Ê1 Â@Ð…)„ir„Ì Ül6b§#¸… •…X©¥…¢­ÉÑ6XXzs„”)¢ë,‚ZY<†ÿçë^7îSDŠé„E…{Ô1çÈGÿXï05(¤c”nQš)§-Êt6"Î-y¹B“Q^áìWÎà/×BùÃg;äþÌZe#àR ¸VnVÀ¯«ßükxSó¶ð>ô °ÛaPåÏÀ9~øŒcƒs|²"Xj endstream endobj 372 0 obj << /Length 112 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bc#C…C®B.°˜ˆ ’HÎåròäÒW02çÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õÿþÿGàz f8\ÿÿÿÿÿÿ?€aŸËÕ“+ Ϩ0m endstream endobj 373 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bc#K…C®B.c# ßÄI$çr9yré‡+qé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]þ7þaøü?Ãÿûÿþÿÿ„Ùÿñ?`ÿÁþ€ýóöHøéøÿ?ùÿÿÿÙ#aùÿ\®ž\\òœR_ endstream endobj 374 0 obj << /Length 165 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcC#K…C®B.#3 ßÄI$çr9yré‡+™qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ìÿ?``þÿýÿþÿäüc°o¨g°cg¨co¨aàoøÃÀà;V ’a:z{ ¡ ýòÿÍ™ 2dÈ>.WO®@.‘€=D endstream endobj 375 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚ36Õ32W0P0TÐ54U06V0²TH1ä*ä26Š(˜˜@¥’s¹œ<¹ôÃŒ ¹ô=€â\úž¾ %E¥©\úNÎ @Q…h ¦X.O…ÿþÿÏðÿþÿÿÿÿÄØÿñÿ`ÿÁüƒýãö |€¡Ší°à: š:°º ÔÒÿÿ;È< ¹ì÷ÿ7°ŸÿÏÀ~øP=Qøÿ?LÌåêÉÈ–Ê^s endstream endobj 376 0 obj << /Length 142 /Filter /FlateDecode >> stream xÚÌ; AÐŽ+ñ }燈麂ˆ‘(+˜Gó(Á°ÁaÛ1”âÕ FC?f˾ý„÷'Ë5¥ÖÇîˆ&¬9X˜y¹ÂÄwç˦YNÙÁ´¼ql·ˆ-§çà¡’DE³¾4'ÕL*ÅýJz#R"ê?òùOªsÚÕŽYÄ o"åG endstream endobj 377 0 obj << /Length 160 /Filter /FlateDecode >> stream xÚ‹1 Â@D*á7¹€7ÙÄÆ@Œà‚Vb¥–BmMâá> stream xÚ36Õ32W0P0bc 2WH1ä*䋹 ‰ä\.'O.ýp#s.} (—¾§¯BIQi*—¾S€³‚!—¾‹B´¡‚A,—§‹CÃܸþÿÿ†ÿÿÿ€aŸzì˜ñÃæpü‡ˆù0ü“?´„ìÿ10ðÿa``ÿÀÀåêÉÈB•J( endstream endobj 379 0 obj << /Length 155 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bcc#K…C®B.crAɹ\Nž\úá Æ\ú@Q.}O_…’¢ÒT.}§gC.}…hCƒX.O…ÿìÿ cþöì Px€¿ù??g`| Áì>Ø@ð†Š ®ùÁÀ`ó‚íXþó```o`àrõä ä®; endstream endobj 380 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚ36Õ32W0P0bc#K…C®B.c# ßÄI$çr9yré‡+qé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ê?ðÿûÿCþ? ƒøò ?ø>`à†ìͰ·DàþŸ˜û+0Ÿ‡âûÕ|Ïúã=ëÆöüGŒA&s¹zrrÊH— endstream endobj 381 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚ…Î1 Â@Ð/Â49BæºÙ݈©bSZYˆ•Z Q´ñh9JŽ2E0Î’v¯ùóg;™ ly¨Ù 5]ÈDÚvr8Sœ’Ú²‰H-%&•®øv½ŸHÅë9kR ï4{JÎ4MSˆòW¯¨àçü0“ÖS¼E ôªV¿0prÀs¤î¡]u¦Ý çñ£îTÈ£´HiCôC endstream endobj 385 0 obj << /Length 164 /Filter /FlateDecode >> stream xÚ32×31V0P0SÐ54W02V05PH1ä*ä24ŠÅÍ¡Rɹ\Nž\úá †f\ú@q.}O_…’¢ÒT.}§gC.}…hCƒX.Ofv> ††Œ0`o`oàgàgC(¬€Ã@ø+É ÔÁtBÌ™2™ùãÆ@Å@;e€v³30s¹zrr»¨2­ endstream endobj 386 0 obj << /Length 164 /Filter /FlateDecode >> stream xÚ32×31V0P0QÐ54W02T05PH1ä*ä24Š(˜™C¥’s¹œ<¹ôà ͸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. 00X0È0ð1ð3°7070`|Àø€áV€¡ ÊÁ¡<òc… „:˜Nˆ9@A&3`n`oàÚ'´·hÿ.WO®@.ýÎ)V endstream endobj 387 0 obj << /Length 90 /Filter /FlateDecode >> stream xÚ3´Ô3µT0P0bCS …C®B. Ïȉ&çr9yré‡+Xpé{€O_…’¢ÒT.}§gC.}…hCƒX.O›ºÿ@PgÃåêÉÈoÎ9 endstream endobj 388 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ32Ö35T0B#S21SH1ä*ä22Bd’s¹œ<¹ôÃŒL¸ô=€Â\úž¾ %E¥©\úNÎ @¾‹B4Pq,—§‹‚ CEßÿŒÿ@¨ñ?Õ7ü·m¨fl`† ævf6 bgàccàác‘a°°`((`xÀp€ËÕ“+ ë&F endstream endobj 389 0 obj << /Length 143 /Filter /FlateDecode >> stream xÚ32Ö35T0PÐ5T02U02Q01SH1ä*ä2 €ÐÈ*•œËåäÉ¥TÃ¥ïçÒ÷ôU()*MåÒw pVò]¢FÅryº(03°±3ðñ1ÈÈ0XX00$0> stream xÚ]Ͻ Â@ ð”… ¸*ÍxWm±[Á°ƒ “ƒuTtÕ{´>ŠàèP> stream xڥбjAà9ÈÁî œˆ{wl"Vç¼BÐÊ"¤RK‹„-äÅæQ„¼À•©Ô;A¬m¾bvf˜Ÿ“ÁÈsžŸRöCö/¼Jéƒ|ŠI[ї冊ŠÜ‚}FnÊäª)}~¯É³1§äJ~K9y§ªd ß@€ÓÑ¢Æþ lmþ9°ü¹˜ÿÐ%QX‰@|ц¹Hú5`$âÆ£Š{Ü_½ìÌ;kµ»Aï1µmÕ;£Özÿ4KšëšqÍ«mŽ„Ð…áO@¯Íé #"P+ endstream endobj 392 0 obj << /Length 159 /Filter /FlateDecode >> stream xÚ31׳4W0P0bS…C®B.rAɹ\Nž\úá &\ú@Q.}O_…’¢ÒT.}§gC.}…hCƒX.O…ÿÿÿÿ`ÿ˜0È`üÁÀþH0~?€ÃñDÔˆz¼D\ñ˜`£À†YIJ¤„6ó ñÿÿ(ÁåêÉÈ´ÐZ¶ endstream endobj 393 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ35г4Q0P0bKS…C®B.3 ßÄI$çr9yré‡+˜˜qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]êÿÁ(ÉÀ€ùG døQ"- dˆ”€@¤ „<"yp‘ ’ap“ò@Äÿÿ $—«'W ÀO endstream endobj 394 0 obj << /Length 177 /Filter /FlateDecode >> stream xÚ]‹; ÂPEo˜Æ ˆo6 ù<‚Á‚Vb¥–Šv’'غ¨tnØ2EHÑF‹Ã…s¸:ìöXsÏg²öyãÓžd½·>e½£8%w!܉hrÓ)§-¹ñlÄb^ÊgEiÂh§ÉѶ tP"ÂY~‰Ð…þqädXµ‚S(¨\!º(i™PCÙÕ‘] Œmð¼©ë½j7­Òª¬SšÓ þn1ß endstream endobj 395 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚ3¶Ô3´T0P0RÐ5T06W01SH1ä*ä26 (˜˜Cd’s¹œ<¹ôÃŒM¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ìþà ~ÁNñHÿßÀÀ~žùûÆ ì?jØ?0Ô1°?`°©“ 0‚L @èe5ùÈ¢ ?Ø÷€ìåв±ÝÂÀø‡ËÕ“+ ùÛM· endstream endobj 396 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚÍ1 Â@ÐYR¦É œ¹€nv6 Än!he!Vji¡h'q¶GÉRZ¤pÐÂÖâ5ÿÃÿÎLÜ”s¶<6lgì  ^Ðæìì·9œ±ö¨·l ÔK‰Qûß®÷êz=gƒºáá|¾a à9€êGt)¤‘B(P¨D ´1ü¡ý‰• P²ªB“ʇêKù|P\xÜàÞ0> endstream endobj 397 0 obj << /Length 180 /Filter /FlateDecode >> stream xÚ3¶Ô3´T0P0RÐ5T06W01SH1ä*ä26 (˜˜Cd’s¹œ<¹ôÃŒM¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ?€XN0‚ò þ@¢þÇ Ar?˜°ÿ``?Àüƒ¿h²<Èx{:;Q'þBÔ êµc€™,ß¶ˆd/߯6ÿ0Ôò~0p¹zrrò¸Y endstream endobj 398 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ]Í1 Â@ÐR¦Ù˜¹€nvƒA"Ħ´²+µ´P,$îÑö(!¥E n¢…ÈðŠÿ1±ÄCŽXs_±q¬x¯èD:qeıþ,»#eÉ5ë„äÜÕ$‹_Î×Él9eE2çâhKEÎ ÐTðŸ76…0=„Ý Ó¦AËÞúGÓ4À¿ò+ìÄ áYa|#¬ïþxÕx¼€Ð‚f­è •›8¾ endstream endobj 399 0 obj << /Length 199 /Filter /FlateDecode >> stream xÚmË= Â@à' ƒ H2Ð$®Á&ðL!he!Vji¡(¤H‘£ ^Do°åV®#*ZX|3Û´;=Ž¸Ã­8aÝeñ&¦=éXÒˆ»É{µÞÑ §pÁ:¦p"9…ù”‡Ó–ÂÁlÈ’Žx)O+ÊGŒ îr¯ßœ¯ªÒ÷ª² §Wýï3É=TUÀ»4ÜÍ hâËðœʹ³tãCÙ°PZa€ô×3+eßGͨ_Õ5¨jîd4ÎiNÉñB@ endstream endobj 400 0 obj << /Length 146 /Filter /FlateDecode >> stream xÚ3¶Ô3´T0P0bcs3…C®B.c ßÄI$çr9yré‡+›pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]Ø000ü‡ü ‚"â8ü¿ý8óö{ŒØ€ˆ ? Ä8q€VÿÆ? ÿÿÉÿ?&¸\=¹¹ þZP endstream endobj 401 0 obj << /Length 118 /Filter /FlateDecode >> stream xÚ3´Ô3µT0P0bCs3…C®B.C ßÄI$çr9yré‡+špé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ØøÈ?€@þì h€ýÀ Êùüÿóÿ—«'W =!45 endstream endobj 402 0 obj << /Length 105 /Filter /FlateDecode >> stream xÚ3´Ô3µT0P0bC 3…C®B.CS ßÄI$çr9yré‡+šré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ØüBþìT…üþÿûÿËÕ“+ "Â: endstream endobj 403 0 obj << /Length 164 /Filter /FlateDecode >> stream xÚ3µÐ3·P0P0bS c…C®B.SS ßÄI$çr9yré‡+˜šré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ØÔ3°`øøÿû? ÿ7¨°gà?Çøã|û†ŸøØ0üoà?TTz€ýCu€¡fà(þ ÿøüÿÇÿH@).WO®@.š`\ endstream endobj 404 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ3¶Ô3´T0P0bcsc…C®B.c ßÄI$çr9yré‡+›pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]Øüc`øøÃÿãÌøï1~``ÿ">0ü€àÄZüÿ0üÿ'ÿÿ˜àrõä 䉴MË endstream endobj 405 0 obj << /Length 157 /Filter /FlateDecode >> stream xÚ36Õ32W0P0RÐ5T06V06TH1ä*ä26PAc#ˆLr.—“'—~¸‚±—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEAþCýÆv ÌøØØø,yæv`QÆ5 ?`øÃB¦¦dó7°`?ÀßÙ ²›ËÕ“+ ×v?X endstream endobj 406 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚÎ= Â0ð'·ô}Ð$¦ ],Ô ftr'utPtéÑêä¦pÈ:v( Ô¡›Ëoø¿OeL‚F4ŠÔ˜” ½ÄªÈ¥‚"Õ–vGL5ò5©ùÜåÈõ‚.çëyºœ’DžÑF’آΈ €}Úì»o øôJ`ÔÀJ¸30V@â óAñaÑKÚ}Ư/áæ©€ÕþîË¥ÌÿÂ5ø¾ÿ ŒÃ6?p¦q…_³Qn endstream endobj 407 0 obj << /Length 124 /Filter /FlateDecode >> stream xÚ32×3±T0P0a3c…C®B.#c ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]Ø?üoÿó^ÿŒ:öuìêØ?ذ?`€¢$#þ ÿÿƒ—«'W  ¾1R endstream endobj 408 0 obj << /Length 169 /Filter /FlateDecode >> stream xÚ%É; 1Fá?•pÛ©œ»Í$:…(ø§´²+µ´P¦ÒmYf)‚H™"x _uŽô*Ë[î¶}.  É–)\ÚÿÙŸhR“Þ°-I/R&]/ùz¹IOVS6¤g¼5\쨞±úd-yvT"4h<ªŸ, È"2cA.®-^I@¡¢ÃÝa”¼ÐIüOÀ0‰hDù·8' yMkúúÙ;¥ endstream endobj 409 0 obj << /Length 138 /Filter /FlateDecode >> stream xÚ32×31V0P0TÐ5T02V01TH1ä*ä22 (˜Ad’s¹œ<¹ôÃŒ ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.O†zEŒ˜Áˆýƒü†ÿÿ?3L8$ Y0~0`üPÀð#Áþ—«'W E‚;G endstream endobj 410 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚ36×32V0P0TÐ5T06S0²TH1ä*ä26 (Ce’s¹œ<¹ôÃŒM¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿ0þ?&ø0Ô1°?`¨ Ì @Dã†Áðƒá2QÃØ%옠„=;gƒü=pâ`¿#˜? Œ`È`.WO®@._x3× endstream endobj 411 0 obj << /Length 195 /Filter /FlateDecode >> stream xÚ35г4Q0P0TÐ5T05P0²TH1ä*ä2± (Ce’s¹œ<¹ôÃL,¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿØÿcÿ!ù0`üÁ€ùÃöŒÉ ˜â `$ûF ([c”üÁWÃÜÀðƒÇ†™JÖHȱ!Hy igÀσDö00È'°Ï@"o00-þ€J²7B ?ÀÀåêÉÈqzGx endstream endobj 415 0 obj << /Length 114 /Filter /FlateDecode >> stream xÚ36Ð31Q0P0b#Scc…C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]00>``ÀðÿÃO0›ZˆùÃÿÿ€ˆËÕ“+ °V4q endstream endobj 416 0 obj << /Length 171 /Filter /FlateDecode >> stream xÚɱ Â0à+ ?…®Dþ'0iZÐM¨ ftr¡ Ž‚Š‚CÁ>Z¥Ð1C 6ÂwÃÝårZ,ÙGÍ8Ïù’у”ºôÕ畚ĕ"±Vz˯çûJ¢Ü-9#±âcÆòDzÅEäšqÒʰ«‚¾‚10ö¯þ –°ðŒô;„-¢ 0æÀè´qØÄ#¤1Ò陯3ÎõZkÚÓg‚6T endstream endobj 417 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚ-Ë1 Â0Æñ¯t{½€”wMÒtè”B­`A'utP:ÏÖ£ô3j‚Âoxü?ž–Ë> stream xÚuϱ Â0€á”…[úz/ imŠu*Ô vtr'uªè\ÍGé#tìPŒÉE#.ßp—?"Æ 0ÁÁãã1îC8j ÚÑfw„¬¾F!€ÏÕx±ÀËùzž-§Ïqb°…"GÆ<)›o™×)˜Û~ôŒ­o¬mûÆ»mj¼ÙVFf+ɇ­cìlÝŸð¯üöO¾2¥ðê¥Î—”üVgvdMi5…”L?X:úpâêc=_ÿЧn3˜°‚'ä¯VO endstream endobj 422 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚUÎÁjÂ@à 9sÐ;/ ›UÖ¤*X æ èɃxRBZÚs·ôà­OP|–3ÿj˜€WòÄÄLĤ¹Å«ÈÀ3+¾®C ,¦Ít"‡”Éïå²y®¦\6´*ÀÒvè211©E[&:·|Ud–oÝäM~˜3óË\š<ü9äLæ ì…^|Ip…ÿù` endstream endobj 423 0 obj << /Length 212 /Filter /FlateDecode >> stream xÚMÎ?ŠÂ@ðoH1ðš\@È»€Nbj£àº°)´²+µ´P´ $`‘No°g‰7ñ)S„dgFA›ï/ê÷¢ˆ}q7`Âo:PhŠ>‡Ãgg³§iLjÉaDêG—IÅ¿|:žw¤¦ó/HÍx°¿¦xÆ@@6/ïcGÇÄP‰Âà”¨!×Rˆ^!ª'“ÌâTH3=™â,ÑšÅæ×R˜;÷â…g¹X²Kž%Hs$h%Æ¢uõg·+> stream xÚMÏ¿ŠÂ@Çñ‘-¦Ù70óÞ&a…ÀÀ‚VWˆÕ¥…rWšGË£lgé–[„è¬QsŧùMó¾yK)¦!õêúJp©á1¦Á°¹|îpœ£þ Ô žóŒ:_Ð÷ág‹z¼œP‚zJë„â æS‚ º¶àÄŽÿÔ¬jußkÉÀzçäEª’¥òÌ «¬°Q)Ü]ÑÈx’îÄŽ/ÊÕ¬eQPú»¬xÏÑžc=þrÔ_ÇÁ»°0’%t£ÿÀà,ÇÞ!_‰ endstream endobj 425 0 obj << /Length 193 /Filter /FlateDecode >> stream xÚmÎ=‚@à!$¯á¼ èòS $Љ&ZY+µ´Ðh²…‘åfx“=%-l,¾f&™LCö9áQÀQÂÑ„)LLès›ý‰¦‰ ‡ ‰…‰IK¾^nGÓÕŒ9oöwTä ”€Ý×pŸ< ÑAZ-¤Ý@:ÒÔh½M¦,ÃÑ™òTYõ(ûÖPà zãõG÷ãߨ IaévíÁU.R8Uk®èÏÍ ZÓ¢ B endstream endobj 426 0 obj << /Length 248 /Filter /FlateDecode >> stream xÚUαJÄ@àY¶X˜âòr™ÐM.ÞA\8O0… •…X©¥ ¢íeå _ë|“XÙFlR,‰3…m¾â˜ÿ/ʽe4§Ýœög4/é6ÇG,r|ð{¹¹Çe…ö’ŠÚSŽÑVgôüôr‡vy~L9Ú]å”]cµ"Ð-€"ÀŒ4ÉÈ6"ñn"ja ‰g\ô ôê½… ßÃ}abZvL£ºRÈ´WÝ€î¸Wq‘þæÏz=Aè…æ³ã=AF­…Zp2Ǥ>}Ýþ±áÄm¼§ÿ1¾fxÔ‘0Sè!9„¦ƒTxRáþé^ñ endstream endobj 427 0 obj << /Length 190 /Filter /FlateDecode >> stream xÚ=ο ‚PðO„³ÜGð¼@]ÿAµ(˜AAM ÑT Em¢B/foâ#ÜÑA´«BÃßóÀ›;¼â™ËÇþ‚¯.=È÷tè°¿œ6—;Å)É#ûÉ­ŽI¦;~=ß7’ñ~Í.É„O.;gJ Àì+ˆ¯‚92´È =™ ¡¥Y5"¡ÙÕ$*GE1À_ßkÐMŒAÛŽÌfb)­n!ê ¢Êa—!"„ºt¨5¾}€6)è•GÏ endstream endobj 428 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚUÍ1 Â0à_:ÿ`/PìMC”v(j3:9ˆ“: U:ˆÍÑz”¡£ƒˆIÄ!Ë7¼ï‰é8âQL#NN"¦#Ç ¡ÃˆDòkgÌ%²- l©cdrE·ëý„,_ω#+h§‡ö( ò¯¿ ß0¬R‚GéC:k3•d¦V™ª4PÖ`  {@û1¼ÿ€¡gy9x–Ρoi|KãZ”Cf1.$nð ñÿ> stream xÚ36Ö3°P0P0b#sc …C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž.   Œ?ä0üûÁðàmã†ÿÿ—«'W ;> endstream endobj 433 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚMÌ= ÂPà …ER[î |/ BlüSZYˆ ¨¥ ¢`4Gó(9‚¥…øœ …,_±3ËÆqË&j5¦¨£q¢›Pµ¹Ûr-‹õNú©˜¹Fm1c¦bÒ‰žŽç­˜þt ¡˜¡.BµKI‡ ø®@à?PÇV¸â‚^ôF3ÿ—¾ö@—®”Ñð|XШò,`Ü „ö^ŽÂËËñá£B5j:‡ÝÜîGF©Ìäœ_8Ÿ endstream endobj 434 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚUŽ= A …ß`!¤ñÂæ:³;,¬ þ€[ZYˆ•Z * "Í£ì,-Äõ bñòå%Äû¦ËÔ©×F¬IK}¦«Xv’¤”Ô­Ïd¹‘^.v¦I*vD-6ëa\‹íMú‹è> stream xÚ‘=nÂ@…ÇraiÁs°þ‰q:K`$\ %E”*PR$JZðÑ|ŽàÒ…̳Y¬¤¡øš}³«7ß>'“t*¡D¡<Å©$/’¥²‰ø‹ãLÜÂÏÏJ6k‰36K$lÊ•ü|ÿnÙÌ^ç±)ä=’ðƒËBˆœ#‘«ø5QPåD´W:·%ò#J c9Ðуr¦ç4àvh|Ð }*q¨ÿæl©äzÿ¿÷Ç=ÐÍö´½ýö¾×Ý÷´{[½¸#¸‚3¸ƒC¸„S¸íÃ5œÃ=þÀ9ò¢ä7¾áÄÚ endstream endobj 440 0 obj << /Length 224 /Filter /FlateDecode >> stream xÚ‘1‚@E—PLØ 芔$Љ&ZY+µ´Ðh+£pJ "θLŒ&4¯Ù¿³™ÿv<Fôq‚ƒ0ÂÑãœ!ŒéÔÇÀ—l‚izƒa zÁèl‰×Ëízºša:Åm€þ²+¥TM܉„ðJ¹…RNIPhSh50O"gèRÂÐE¯4¸•Á©;hÀhÐZƒzóø&/z( ÉŸÈ|ßû¿{´Ÿ=eoî }¸›ô”Þâ°v”wÎã]²SvËŽÙuÒ¹ç?à¿€ykxBÐ{ endstream endobj 441 0 obj << /Length 105 /Filter /FlateDecode >> stream xÚ36Ô34R0P°b#CS…C®B. m„@ $‘œËåäÉ¥äsé{€IO_…’¢ÒT.}§gC.}…hCƒX.OöòìÔÿùÿÖÿ±ÿ!ÿý—«'W áš( endstream endobj 442 0 obj << /Length 96 /Filter /FlateDecode >> stream xÚ36×36Q0P0T0´P06T02WH1ä*ä2² (XB$’s¹œ<¹ôÃŒ,¹ô=€„§¯BIQi*—¾S€³‚!—¾‹B´¡‚A,—§‹ÂÿÿÿÂ\®ž\\Ï5^ endstream endobj 443 0 obj << /Length 291 /Filter /FlateDecode >> stream xÚÑ1jÃ0€a ‚·øÒ jR'YbHS¨‡B;u(™ÚŽZڭؾI®â£ä=˜¼JïIq‰ÁT`ø$/ÿ“V‹«ëµIÍÂ~«ÌäkóšÁ,s»OÝÖýxy‡m É“YæÜÙSHÊ{óõùýÉöáÆdìÌsfÒ=”;#ìÒðkTÑNUç„ÝDö3’8L¤ð4£1è¤裵>+*bôùT)ôÑ?£dÐ C~yE}ˆŽºQÂKZq¾<Šš¥¬8ZµT°b+Ρ1ܼÏ×nÎ N”¿q÷Aªœ(ºF».äÀùgE¤žã…¸$ <†àAéÄñ‚óGÅ.!Ñ šÕP¼Ï/X-Å{Uü°­«£wÅî¿‚ÛáÆÁÊ’ endstream endobj 444 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚ¥ÒÁ ‚@à‘Â\zç ZÑ< f‡ N¢SuìPÔ¹ÍGñ> stream xÚÅ’=NÄ@ …MÉÍ!¾$)Èf«‘–E"Tˆ (‘AKr®’£äS¦XÅØ“Ù,=S$_> stream xÚ31Ô37R0P0aK3 …C®B.cS ßÄI$çr9yré‡+›ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁlƒü†Q3è¸\=¹¹‹iƒ% endstream endobj 447 0 obj << /Length 149 /Filter /FlateDecode >> stream xÚ33×36T0P0b3#3 …C®B.Ss ßÄI$çr9yré‡+˜šsé{E¹ô=}JŠJS¹ôœ ¹ô]¢ÆÄryº(ü‚ „hû £4š½?Í£ðÓò8h{4ºþ¡¡43”f‡ÒòPºB3ÿÿŽ×ÿÿÿ¤¹\=¹¹¯½¢a endstream endobj 448 0 obj << /Length 277 /Filter /FlateDecode >> stream xÚmÒ1N„PÆñ!$ÓpæÉ*l¢!Y×D ­,6Vji¡Ñd;<Úe`Iaö93o,(H~<Âÿ+ mÎÎ×TÑŠ¯vE-½ÔøŽœUr+žßpÓcùHÍË[>Ų¿£Ï¯W,7÷×Tc¹¥]MÕö[ !@‰õí:,è]øáW`¬Ñt~]'Óå¬!LêdDUHZ•KZ•i:j4¥®DGD i•¦Uš6L…KGT:¢Ò´JÓ*M›Â¤Á%#Q’Ž’t”¤'¦Ô%#Q2bâ´‰Ó&N»Ž¦ÜÅ#&N›8mâ´+L\úÉT…+we®tA‰ f ®ÎU,(we#Ä¿RWâ‚Yû›ðXMÑ× endstream endobj 449 0 obj << /Length 185 /Filter /FlateDecode >> stream xÚ37Ó35V0PasC3 …C®B.3s ßÄI$çr9yré‡+˜™sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þƒ„ñÆøcüo€100ÈUòƒŒÿ@ õ  ûPˆ3øúÑ v,ŒÔf [Í=èn†ûæ/¸O¡~0”ñÆ85 †)šˆcp¹zrrÚõÏ\ endstream endobj 450 0 obj << /Length 355 /Filter /FlateDecode >> stream xÚ½’±NÃ0†¯tˆä%oÐÜ @š‚ÚFª©‰ •`b@LÀÈ‚ )•x±n¼F!cËÇÝÙ ˆ¢ŽD‰üù|wv~ÿó³“ìÇ8Åã,ÇYŽÓ2ólfŽŽq>K÷OfUšôg“^rܤå__ÞMºº:Ç̤k¼Íp|gÊ5@D;ЇÈéùPÂÐTÈò8àiB¡Fëb’h͹R+Ù…$V­ÿt¦=x]ó¤b¨í#ÚöÀ/O{ˆÔ²ƒî‘hz(üy©Ý‡*€ý«PýÀý'8Oæ?˜höeé h¨R‹ÚªðÎ+k\„ýÐjF m«v ïrq…]ÀR®1q É5Æ´`ÔrgŽa'Û8o ¶ÏÖ¨`Û´‘j8Ò5®Ž4ôé± 0´{àV¸Uò0è̹ðì/¨üAEú † þüVÜÚ‚¹(͵ù3( endstream endobj 451 0 obj << /Length 305 /Filter /FlateDecode >> stream xÚm‘½JÄP…OØ"p›¼€yÍf‰‘aa]Á‚Vb¥–Šv É£åQò)#\î83w‰.x›Ìï9“zu¶ªhI5–t^S½¦—Ò½»j-Á%]2Ïon۸⪵+n$ìŠæ–>?¾^]±½»¢Ò;z,iùäš<àH9àØ0w{‰1‰àÛcÁ]Ω<² h=òQŠ=6 zh¾,ÝŒ$üûýd˜ˆà1bŠðÐ׆«ا¨#X«êéÉA}Éëă¼ÞiMËÖ©¥S¬Ñ-d§ÚpíAÜiÈÌ$ r¢ñÉ0cúðGÖÝ‘»Ò"Øyäž*\ެŠå'¨ªÍ5 ‰Ðš?ŸÛ)¦ÔœhVVQ¥»nܽû÷ó× endstream endobj 452 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚí’= Â@…G,Óä™ è&"ù©þ€)­,ÄJ--mMŽæQ> stream xÚ}ϽNÃ0ð«J¡l¬ü¹³;Ta?ùìûpÛœ7k©äBÎjiÑÃkÍïÜVb»¹Ì7/;Þô¥­8Üj˜C'Ÿ_o6÷×RsØÊS-Õ3÷[¡&Òå±0’Æ`Q·Ð0‘|T*õM *pŠÓŒ_¬°·ÃÅ2ô $ŠL‡o1ÔJc4|îÐåÝœŽä~82ý;á eSz™ñéºÒ)<Æ8`¯ÍŠN9y{ƒÑ2Êhà›žøål¡— endstream endobj 454 0 obj << /Length 229 /Filter /FlateDecode >> stream xÚÅ‘; Â@†7¤¦É2ÐM4ñÑ(øSZYˆ•ZZ(Ú ñhà̶Ü"8ÎÆP+q›æ±óÿ3Íz­ ‡ ¬ú¶±ÙÁµ;MÐÃV‘Ym¡œc€sd4ÁÃþ¸ÙŸÐ9Ä…Þ¢!Š8üˆ¾Â~Âúƒè̸¥Œ+‘fÜ’^Æ áÜke˜ÄÙ"eš,®”æŸˆÕ tŽÞGd?ÀË„bú›$UÊ5â“ÒŠflì$*lóÞÍMgnó ´C¦JÙæhVÊ·3Ë®FÌàiÔp endstream endobj 455 0 obj << /Length 214 /Filter /FlateDecode >> stream xÚ­1 Â@E'l˜&GÈ\@7‘E±1#˜BÐÊB¬ÔÒBQ°’£í‘R¦gEì…áv>ÿ¯™'SŠÈÐ &3!3¦cŒ4#£Nq›ÃÓõ–ÌõRdÔùŠn×û uºžSŒ:£]LÑóŒ’> stream xÚÅÐ1 Â0à”…·äyдÒ*N­`A'qRGEçx¯ä ¼‚7бCéó=q(8‰òÁ ÿŸv«ÙŠ1Ä&]lwqÁ†Øy,ÖÐËÁN1‰Áy 6án»_íûÍpa8‡•‚&:2)Ñ™¡BztòŸÊU™«ÇUN­ËÇ+æIZÔà^Ü>¡àj©‹$qÍ©ÂÆIMîMRÚ'*ùmseÿ c¨ÒL@… ÜI 9Làwn¶i endstream endobj 457 0 obj << /Length 226 /Filter /FlateDecode >> stream xÚu=nÂ@…gåb¥i|Ï’eÅÒYâGŠ‹H¡¢@T’Djûh>а¥ äÉÛX ÉŸVï½yšyñÏÞËD¦òä%¼J˜ÉÁó™C€8‘0Ï/*v[ ÝdvÕ»\/_Gv‹¥xv+Ù¡hÏÕJˆÊžˆ2Õ†(Wí ¨F¢ºO†¶öFF›l@²Ä&¿%`Ý}b —ÝÈzdüeL,¢>2½¿Ýÿ°~dgygL[41Ƕ¦³Š» ÚÖhKy“êJ BaûsµQø óºâ îDŠ endstream endobj 458 0 obj << /Length 281 /Filter /FlateDecode >> stream xÚ•‘=NÄ0…ÚÂ’!sH›´––E"Tˆ ()@Ðß`¯ä£ä)·ˆ<ÌØ‹Å$Å'ÏÏ{ÏIן5-5tA§ç-ukZwôÜÚ7Û5¤oßZO¯v3ØúžºÆÖ×R·õpCïŸ/¶ÞÜ^Rkë-=ˆÔ£¶ð„/ÀqZq€gÞ XŸxÂqdWŒjï£Ip‹nIU¨ì¤iÿÀ+ÂÿñW%KK"5²-CiÖKìŒ #;–A˜ 58©E,˜ æ½k΢SvàYlK³ S^`‰%*#ÃGÝÅ4dP€ãã”ɲ€1ê:¼^.ei³À¥üiþ‘C–¨žÌ%ý>+éÁ^ öÎ~ÝèÈñ endstream endobj 459 0 obj << /Length 131 /Filter /FlateDecode >> stream xÚ36Ô34R0P0b#Ks…C®B.#ßÄ1’s¹œ<¹ôÃŒL¸ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. 5 Œÿ˜ÿ7°ÿ?Düÿ #ˆ P¨¨’¨?Pÿ1ÿ?ÀH{ôp¹zrrÙðD endstream endobj 460 0 obj << /Length 220 /Filter /FlateDecode >> stream xÚÅϱnÂ0à  H·ärO€“¢´bB*‘©L ˆ‰22´*+ö£¥êÀc¾c"û¿… F,YŸÏ²ÿ³‹A/áŒû~oü:àÏœ¾¨uʰXoiT’YpÑ'3õ»dÊÿ|ï6dFcÎÉLx™s¶¢r‘­"?D+§c¥~DRãdZ¡ÞÛ+-ˆЭARÔ«.à·Z”£§T7œ™ÿrBŠ ‘³Ê°U. (]Ÿ«],ᮣD> 4À¶À§ù®±Hsz/iNW^`ص endstream endobj 461 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ36Ô34R0P0bc3K…C®B.#S ÌI$çr9yré‡+™ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ê0üÿ‰™˜qàÿÿÿ7 c.WO®@.„S—œ endstream endobj 462 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚíÑ? ÂP ðˆC!Ë;Bs_ëZA,T;:9ˆ“::( n>'Go qèQz„ŽJcªƒ¸îß—dûÚZ£E5eÚuj¶héâ}O²SÆò°Xc¡ž’ï¡Êu4¢Ýv¿BŽ{ä¢îÓÌ%gŽQŸàh¬@åÌ&àŽlJ2§æDxbΪ…çÔÎUdÂK¬ ÛØ9TùŠ»`Pá+XÜUò.<¼˜ÉS*ñ“©0y1Æß ÍŸoò³–^Š_ˆƒ'øøïü# endstream endobj 463 0 obj << /Length 162 /Filter /FlateDecode >> stream xÚ33Ò32Q0Pa3 eªbÈUÈej 䃹 ‰ä\.'O.ýpSS.} (—¾§¯BIQi*—¾S€³‚!—¾‹B´¡‚A,—§‹C}û?†ÿÿìÿ7€¨ÿÿ©Æÿÿ©öö€Tƒüæÿóøÿ10þŸ¡ö@¨ ìÿÔê6êÀP¢þÿÿßüÿÿ?|—«'W ã[« endstream endobj 464 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚ¥1 ÂP †#B–¡¹€¾[¥S¡Vð ‚N⤎ŠÎõh=JбC1&¶ÕE\|>øóó’?ádäùäј†>…c &tðñŒA$¢GÁ´éìO˜X4 "4 ‘ÑØ%]/·#šd5#MJ[ùh‡6%·y=æ\0`..³ªYå°€óßAK<ý@\À@Q‚#6·§-WQwˆu©;Sðwð ÷?ñkB·KƒnÏú•¾ÍÐ&jÑ×´…„–ìùû1³´Áa®>7k.ˆs‹k|]Åf endstream endobj 465 0 obj << /Length 227 /Filter /FlateDecode >> stream xڵѱjAàY,„i|çtïôN´Œ‚Wbe!V&eŠˆÖç£-ø>B|„-¯Xÿ•D„ÄT±X>ØÙeçŸíuÚLéJ+HÞ—,—×”?8»‰ô²¯ÒêGÛ¹äÛ)öÙϲYoߨŽ^ž$e;–E*É’‹±P鑪SݽêT+ðé†(5OTÓ@u%ƒBMwF=p§±ŒºoHý-euŸaø~ÏÿììÒnlÞ]£Tȇ`1æ)†6AâÆ¯bXiú DAãŸü O žñ¥ÜÆ endstream endobj 466 0 obj << /Length 237 /Filter /FlateDecode >> stream xڵѽNÃ0ð‹2Dº¥o@îÀ1²‘²©-`b¨˜€‘¡¬8oÀ+õ ú yÊV‰ÊÇ?0¡N0X?éîlßÙ¾<±§Rˆ“c[Š/Åyy°¼dï-äÌ©û'žÖlnÅ;6—ˆ³©¯äyõòÈfz=Ëf. +Å×s!ªZ:"JuOçDUzELµº›´‘mÓˆŠu2mè3¢(€ˆâH9Àªö? QízÂoèöï îûni`l7šGÉ€vc6‰C¿#¯Û|‚ê[·Ic7qЇÖ=ý™ÿD¦ø˜ðEÍ7ü\ͱ! endstream endobj 467 0 obj << /Length 161 /Filter /FlateDecode >> stream xÚ31Õ37U0P0bcS…C®B.cK ßÄI$çr9yré‡+[ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]êêþÿoüÿàÿÿæÿþÿïÿÿHôÿùÿ¾ü?æÿûäÿ1þß"~À‰`‚ÿãÿì?€ã ÁÀ€L 7ñÿ?Ðbl—«'W n endstream endobj 468 0 obj << /Length 223 /Filter /FlateDecode >> stream xÚE1NÄ@ E?šb%79Âø0;Úì"ª‘–E"Tˆ (·AKÜq­%GH™"б´4o4ßßþv]_ä+^sÍç™k{wüšé6[í{¹T^Ž´o(=òfKéÖdJÍ~|½QÚß_s¦tà§ÌëgjŒ8êU•ʇ R:EZ Ê·cªV¢ÿG@­‚V‡•ŠjçU'Øø„3r¸Ø¹Ó–½µ—£å:ªÓ ¾Fg ñ¾©u·Ð1Ìv¥Mª#†bj¿2;Ý4ô@¿* endstream endobj 469 0 obj << /Length 173 /Filter /FlateDecode >> stream xÚ31Ö35S0P0RÐ5T0¶P03VH1ä*ä26 (˜™@d’s¹œ<¹ôÃŒM¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. Œ°ÌXv8Á'äá„=ˆ¨ÿ3ˆàÿÿÿÃ,X  wˆ'€þüÿùC=„`?À`ÿƒ¿Aþ<Ø7@ïÿÿ ¡ÿ? ærõä ä ,t endstream endobj 470 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚÕÊ+Â@ài*6Ó#0€í6ÝÚ&¥$¬ … (ŠD@@/G[Ç5ê°8¤Ã‚¨Á£¾ü"e9¥”ÓÐP!Zj îÑZ)%Ÿe³ÃÊ¡^’µ¨§R£v3:N[ÔÕ|LuM+Cé]MàD Ì!æßÄ a9PIÒcУd€/-x>ƒo£;wàê*”Ì!aVBÌÝð7õœ8\à ¦ä¤d endstream endobj 471 0 obj << /Length 216 /Filter /FlateDecode >> stream xÚ}Í=jÃ` `-¾A¬䳋M)˜òõPH§ !SÚ±CC ÉÑ|”Á£'ꫯ¡¸’oþ4J$ëüQ²LÞSþâ<ÜØh‡õ'+v É3v/ز«^e»ùþ`7žO$e7•e*ÉŠ«©¨*…ÚÝ#ÐÑ3‘Q€Æs;Ðþ*ÑØ— ø‰/‚Ô@iàh#2ê+1@îð„[|áiöÆ¡ÙyÚÖ(ÛÆsöÄç“G=‘Ö· ·G¨Ô#¸ô¡î–ʳŠßøà•pH endstream endobj 472 0 obj << /Length 267 /Filter /FlateDecode >> stream xÚ}ϽJÄ@àRn“7pî h~˜(Âb`]Á‚Vb¥–ŠB !y´ø&û)Sdw<óƒd„>¸ÃÌ™SŸ¥äRÊq™Ku&ZËsÁo\iLs9Õáèé•× g÷Riή1笹‘÷ÏÎÖ·—Rp¶‘‡BòGn6bŒ¡ØÌÿ™-Ñ‘eFGZ0ý‚Ucc^ÏpGí))€¡$ ·ô)ˆY†€È=ò ÜÆ¯ã—¥[Ç4Yêitìj·uGj†¿ wAlhA´_Bóí“gô6U¹ÊT÷¶2uƒ­Œ¶2H¾–òø’ƒo÷í^î_Ë„>áë>ƈ¯¾ã ø‹ endstream endobj 473 0 obj << /Length 126 /Filter /FlateDecode >> stream xÚ35Ó30T0P°b 3S…C®B.c ßÄI$çr9yré‡+[pé{E¹ô=}JŠJS¹ôœ ¹ô]¢ÆÄryº(000````ò ¢H0ÿö@âÿ,Äáÿ0%#Œzÿÿl—«'W ØšŸ endstream endobj 474 0 obj << /Length 266 /Filter /FlateDecode >> stream xÚmбNÃ0à‹Åöï³Ïãú¢|ïGý¿ýÓÀ/¼Òq¯CýyÜófâîίFî®0ËÝtíß^ߟ¹ÛÜlýÀÝÎߣÌO;O$™ˆ9Á 1!˜rðHõâ°Ðdš…Úˆõ4›f¢&˜ç‚p–B•l9{„ôŸÈÃÕ6©8ù,Ö´Â/õvîK¤qb´ûÒ·í¢+tÍÙŠ%+ ¿N»C7¶É"­EB´8Ñè¤V‹êP Í#R¨I*š‡h~ jÁ:¹Rᕤè[I®ÍÆlÍ`Φü˜þÊ—ßò'‰Ä& endstream endobj 475 0 obj << /Length 253 /Filter /FlateDecode >> stream xÚ¥Ð1NÅ0 `?uˆä¥Gx¾¤‘^:éñè€bF¬4G Ç GÈØ¡j°]&`£ª>EIcÿµï;Gy:räõžî>áÎófG}¿žÜ=â~@{M;öœ·Ñôòüú€vyJín¸Ð-2ЀÉL]_~ÔEÕI-jV£¸€8«Yåz&Á? …}—Bæ£Öæs훃$–SéÂhjääMM|wSSYNñ-ðµŸN¿m£²8±®NZôTÜÔ2fé5J÷ü’äD 2ЏMÐrà[μ©Ñ‚΂̿˜51ÿ=ž x…_‚²¶d endstream endobj 169 0 obj << /Type /ObjStm /N 100 /First 899 /Length 4049 /Filter /FlateDecode >> stream xÚí[[o·~ß_1ÉCgx9¼F€Ø®ÛMS$šÖÐÃFZ;ÛÊÚtµ ÒßïãìÜ›´’\ ¨ky¸$ç<¼}çBŽö¶Sx,ug\À¯é¬0m;ëñëbç¢ï4âA'üº.:‹_ßÅñ»$v¦½éRD:âNXÈZjÇWxœ0õ8HMàû€WÉ ¹¨:£XtA31¨ÇXü¢€ ˆÝå,p¡£éŒhÔ–@é ê_Ƴé”@ަBµM…'™43 ¥’8 *4¢ê4ä! "è'é¬u¨CE ŠgñÔY‡~­0<34l}â+Ô“t˜¡ˆ`8Œ’N²FD³e:1ʲgX »ÁŠhvM!bùÊwâ³Ôa4#g†N¢Øu’„â”Tç|ç”u˜üb ñßiPiL©ã£—Îhd€_g8±ÚtÎ*‡ZqŠ£Û9ÁøŒªóXƇÎ+”2˜eo#zàSç#uú˜0üh%h¬‹âÁŽ]ìþÍ,ꊆóŒaK¬Ç:¬#MLqrèªu¦1$=VšùÔÊb²,×’òã…•ZÀbјþ™€­ÃHh.¹8È 3œuÎ'–³FV–‰˜máê5‘cÈI64XäÚpݱÛÚj°'Ü ˜~?® Ë9 Œ8´.bmCàìqy4%,ÙèЖŒaP0\Zò$s…‹ð%9GÆÅî° f/^̆ïÿõó¢þ<¿˜ ¯V7›ÅÍæ»J°7¿ ß.nWwë˳̘õõâj9¹úµ{«á’ë¹+°¸û˜.f¨i*ØÀHþåÍÍ 5¾Í;9y'ó÷böÅ™ƒWëÅ|³\ݼžoÝg¯‹­aµÂ–âÜÙÏÑâêêä»ï—›k¼ù¶ûýzþóOËËÛî›»ÍÏw¼úózuuw¹Xó­ô¶×ŸoÛZ1ëó©ùqÞ ë³á»»79ÉL=þ4ÿÀwf6¼œß.HÓ X\ÿ²Ø,/ç³áw7—««åÍûŒVì-ª|;|õꩯ›Gñ¢if*1VXÊYÞ|ys»¬¯_/ß½[`$9ôo;qÇåÍÝm—üðÏ»Õfq½x·áÄW+ôÿöv9¼_ÏY óË»Íb¸\®/ï>¼»^ü:l–×W‹áÃür½º~\/@ƒ"óËKLÒpµD·ËÛ¡Ç]-Þ k´=\b‚¯¯ç%ó§»›÷óõ݇ëùÝfX½_Ý,þ1\ÎYßíÏóËÅÅî@æùnFòË› ·«õÕbWŒ¾þ0|5¼zË¢.¸Æ.7Ý[`Wï„`Ÿz…gSì±\J}²d_v/^tÃwÝðûÕ÷«nxÝ}önùþn½èÝç8ø(L˜èÑ8¥Z%Ð%Û+,| X¬ÜÇ…o¹xݽÕY¼}Û ?üõoØäÒ`cp¶O€ž›»ëë‹SÄXã=÷®3às/1‡-½‹{ÄyÁ’ß7€ÀG.õäÔ'öNqbö6NHƒpÚ¾p/q@‘/5§ÍT"¼·qd–Ç„€¹q烫á‡o~ü;‡š\}õ"•wذ—ß-0 À£×o° ¿nº½åµTñ¨âs T¨Â°âÿ `Åt °’ú?`;.Q±@*¯½óîºÆÞá#–1½£^£{h´P¡@“š³~…û˜ˆ‘ ç{ -ÊY¯tÖ}{KE9õQ¥û˜Hû w@ÓöTœN‚f<‚ƒÞE´ý1á8«d‘Â%œI @íõ,bkcOu÷ 8®øˆ8ÖŸâŽjÜqܤ=¤Ÿ…›Éàf’§àæÿ&Ò$kztF•öh•¿y¹º¾:^oƒµ4Ã>!¬åFIîÑqн§ù¦]uxÜ®:Ü=´÷ÃsvQ»‡Æö§½{´>¶ÊµùÄV96g‹°]b˜:ôo‰½@³xæ*‡‘ž¥[S~í¯rm?ñUnÔ±Unô§¶Êµœå;ÄÆÃ]þñþ¤½ºcAÖ¸Êa«ÇgiBÆXôH>b•ÛUΛG¨±{Ä£þð«¼9“X©Þ8}±“M„óˆaÜx9“Ø9é –ÁyĨYü™5‹÷½7áLbŒ·•“ªw«b·Pê²{ÿQ+锨%ÎŽ­~=߬—\A0F%5~1R½Ì«¬ûÆÿØÁ¢ðª»h×$yßçé«XÊ/»‹Ìð›åúvóê§ù =þ8ß&4SY^m~ºÍ~õ¼®+œ®lвúÛìjŸ =ûwêŸø>‹€ûÿLèQ æA…Sï¼é ½}¤Ó¯O¡ƒ‰É‚m™¥HûÀ…Ù–P{cîôîðoê“õ}ÒÛþŒqãzØ‚ãû1âR,¹S°q§×-éHb¹·Çë«y;U4†Ç¥ÅŽ80z˜C´3Atg"r0´©ä@bÌóCÇ~Éu ãÉY¥ó ÉÇð€ÊFP…" 7?@òZ.ªaÎ]sPK~…µÅ„’˜´kNB­ÍÀ0° „ãùJ) U`f"Ö,¬YX³°faÍÂÚ1ð X‚ç,º²ý…Ì1ÐeßæÑ´[tÏi· Íœ§YVO‰ìJÙ&x~gÕ6Ác9+SdÖM ž ú)Á2aJ@§³q›$›ªÆP™ªæÑ£LPDÊÄ(FÚÈÄ(ÙÈÄeâ@ó”Q|I¡¯JЧ”±¤°¸%•”`ñ«’â1¦.©ÀCÍ’ÃΖZw+˜)¤ /šªð¢³ƒ¬¤Ðº+¼h¶^xɧ}…žû‹¦©ð2zš¦3ã /œgï ¹{s1{‹¾Aíè’Hï°]°Cµ'Ch^$Õ&„Û)—F×t¯ïýIGJ)ÌζºÃœ‘—1t&—:=¤`؆cÙý`[mósq¶¸2OWâ*ñ ³ùTqe儸²&ì‰+»Õ´qeMudWó:*PŸÓSn›ª”‡¹»ô»u=¶–ãtêD=çÔ²ßLJ¸;¯¶§•{¨¦3$œ’N­«ò ç*÷°ŸÉH-Uh$E~ ,Ê9Þ/¨re€WN(• ‹·ÈLÀ6ï¢T¹‰6‚íBm#€>?'¤)´!Ï"ÊF9*O‘“íÀ] ‹'þ÷ÉUÌ¡‰EzR, q˜0›Gªa b&„FüÆ öyAÔ2 ‰ æïyL(ïxaf8˜ek|#²Ã$`<Ù™*à%š0 ^’ ÒHöéè0KöhÉ¥‘ìÑ5’=NÞñ™úƒM,2Ÿµ¥FHªQ’n€Td>/ MÄ|YhJð\zâ|™É—Ÿ•†¥!MðjRp‘&v@b•ªê„UºQ'¬2:a•mÔ «¤Q'¬r:a•oÔ «B£NXuªԨV«F°Z7ê„Õ¦Q'¬¶:aµ4ê„Õ®Q'¬ö:auhÔ «c£NXuÂÕ¨Öè³N‘ªŸ R)QC¾>•žnÆV¢j_%ê¤ÈU‰:)sDÝjtYo‚Éã4÷¨yõÎ>á]6æ¤Ïwýz3q.ô²Kÿ°±²ª,¦¦ŒÔ@[$Ðó&Nœêe›©§0‹4¤¬ÖŠ ±¢Î1ÖM3ÿ°Y¾ù9"@h‘ÁaóÆòƒ«£\¨BÀ>KFðÚ[¥…Ä()ë [¨XWè¹-f“ã›i3óŠg±»8÷Å  ,ã*ÎÙbPñ–d1¨S6¶0eS S¢Z`Ý“˜˜Ä¶À$ÒScW%^¿l©ÚU¦jW˜¤µe¬kmë "êD\×D¶ñ]¡‰ÑÓõdµ<ì¨å ˆÄ‰‡ +ˆXºM÷¶ì˜×†ÇÞïÆÔIšÇÿkÿ0ïþP=)ï‹sÔdìK¬~¸}ðjÁc 3ÜùûTÞ´ïüÙU.iP6РOê™ |^’m@BÝ!²§rvÔ8ë똅2ƒ”ÕΪ‚²EÓà‡¦ø „›.5 T¼Â9˜6.oÍ•ðT[|Äâr ®T<¡êp ìx×jGÞ· äC B>¶ ä+xÝ ZH º…¤`Z ¶¡ -×êCÁ·B IaG ¼Ð¿X5 ¤{$xIxxex GÁ=ÝN¥§QRA/Ñûè%ú½DWô2–Þå1| ˜¬Æ˜eF§cÆû±?gú¸UU’œV|BŸ&D¹Ÿr‹@©ç¬ê¢¡ï¾¯\Ž1{¬‘-}C7ö‘_8dïø¶§Ð—òSrs²eC“Oèt|È p Ozç+Öe3=t>ÞçÀ–l7E÷ iý8 *ž«<|ã¸U‹ IË¥X—üö¡X¤ù³ß _±H=ç\U“Ö¶v§­v'à"5¾f[ìN¢_±;‰~É·*X -¦ÖÕlSëjÕºšEµ'½™² ÞIµ7wRíMŒ¯T{“»T{S³…ØàT{“ßG4ö&ïr>V=“x€pFM'[5¾‹p–—uå'㛤ßœnà-À[:€·æƒU´™ÚðŒMK_[õ·Õ5*BW]5R,o~€²5¼1¸é ´£W’ñé°ã‘ÖRGw:ª£;Y8ÍèZ}Ò#½sàÉ{ÂÇa=Û±¼A:b÷QûÉ‘p‹ïØGgLŒÌ94…P±/úãGyyçt îaâh6fô«¦Ç=J×â>êÕÕ¦Œ®Þ*).¿ÄÏÔl…1­ž%Æ5’ߢ‚ -ìÞÌ8gÉùÃ%¶Ž‰&~l?S]úøûy²†›çW\¨ûÙöT›ð™û¹ØóÜÏÅjÏ_›U%)&ÓÓ&O<8ËqÝÑø9!„e,Å[ø¬ª·?§ß´mï¾Ù)º›TùÞSÈšÔK)ãSÏ>¥w¸éÝ›[€õhobá8dßÊfÕŸwE8lüöëX;é¡L”’zXIcœß]è†Ç©.õÙGÍ0YêØ[úL·gqô:ŠP£G¥}«J]çlããZóÑ "uË£÷—íµzõ©c¯Ökâé°.š{¼›ã% §'éèUôšéþÓ‡bzï> stream xÚ…Ž1‚PD‡PlÃØ èÄŠ1‘ÂD+ c¥–m…£q@IAˆû;“WÍÎÎL0›† vÙ xólÎaÌgnäû¢ºEãét¥4'µgß'µT¾áÇýy!•n—ì‘Êøà±{¤> stream xÚ…O; ÂP±lãÜ è{IüÄ* L!he!Vj)¨h-GÉ,-$q̃´ÂT;ß…ÃñL­NuihuéÉ—›V'Ç/2OÅì4Ĭx“®õqžÅÌ7 õÅ$º÷Õ$Mô |€ ¨,G\ WÂ{¡ûFÇ9úé^Ù€"J[|š¼ ¬µÐîrè’YÁ"Ö±4nT?…”pGrjݬc_e*[ù«ËM* endstream endobj 487 0 obj << /Length 99 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04F †† )†\…\@Ú$l‘IÎåròäÒ pé{€IO_…’¢ÒT.}§g ßE!¨'–ËÓEAžÁ¾¡þÀÿ0XÀ¾AžËÕ“+ ‰;“ endstream endobj 488 0 obj << /Length 157 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0UÐ5W0¶T0µPH1ä*ä26 (˜™Bd’s¹œ<¹ôÃŒ¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ì@ÌÀß#äÁHÌD؈:Q'þ€ˆ@Ì&> f0ñd˜82î>3Ñ dfâ ¸™¢Dp¹zrr@Ä:Õ endstream endobj 489 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ31Ö3µT0P04F Æf )†\…\††@¾ˆ –IÎåròäÒW04äÒ÷ sé{ú*”•¦ré;8+E]¢zb¹<]äìêüƒõìäðì:¸\=¹¹{-= endstream endobj 490 0 obj << /Length 117 /Filter /FlateDecode >> stream xÚ31Ö3µT0P°T02W06U05RH1ä*ä22 ()°Lr.—“'—~8P€KßLzú*”•¦ré;8+ré»(D*Äryº(Ø0È1Ôá†úl¸ž;¬c°ÇŠí Èl ärõä äÇ\+ß endstream endobj 491 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚmÉ=‚` à’.žÀ߉1‘ÁD'㤎]…Ä‹‘8p n #¡~ $(}úö­ëL<ŸL²å¸6y6í-<¡Óvf{¶ÝÃÅšÅ\¶(â]Î׊p9% ED‹Ì-Æ4 ð•Óžgö&ëÉ{ô¼øâ!1îå¥qƒú?µ\ÀÜ P˜ùCÁµ#ýA“dZz–4Àu ×,iºÔu8‹q…/ÂaoM endstream endobj 492 0 obj << /Length 218 /Filter /FlateDecode >> stream xÚÏ1NÃ@й°4¹¬—QY AÂTˆ (‘A‹ÃÍrÁå 3AzšWÌJÿ_¤ãæ”kN|y¹9á‡H/”–v¬¹Iû—û'Zun8-)\Ø™BwÉo¯ïVWg)¬ù6r}GÝšÅ3J•~ ZýôªýT™Mè¥Øa.åˆÊ)¥œ- ™oö̤Å/½ó`t™œÝÿ˜þRôø27ÈäVÖ¯½ifðöƒíh·¾hãÛ`+-·Rû¡ÔÑÒìNç]Ódvg9 endstream endobj 493 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bCSC…C®B.c ßÄI$çr9yré‡+[pé{E¹ô=}JŠJS¹ôœ€|…hCƒX.O…úÿÿþÿÿD|?€bØ0ÿ ÿAD}°ò€ÿÁ&> f0ñH0b!þO ¶ƒn%Ørv¸ƒÀî³?sóˆ?À>û æË `Ÿs¹zrríÇG endstream endobj 494 0 obj << /Length 147 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0b#SC…C®B.c˜ˆ ’HÎåròäÒW0¶äÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õÿÿÿÿÄÿ Øæ Œ„ † ‚ƒ`|$€lthv›bˆ)ØŒ‡6 ¢Žä£ÿQ Ø.WO®@.ÌŒ‡r endstream endobj 495 0 obj << /Length 145 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bCSC…C®B.c ßÄI$çr9yré‡+[pé{E¹ô=}JŠJS¹ôœ€|…hCƒX.O…úÿÿÿÿâÿHìó"ˆ Á€ƒø$`@±ØCLÁmQDýÿ ÿ!Ä( ,ÆåêÉÈæxô endstream endobj 496 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bc SC…C®B.crAɹ\Nž\úá Æ\ú@Q.}O_…’¢ÒT.}§g ßE!ÚPÁ –ËÓE¡þÿÿÿÿÿÿà >ÿ†Áޱ¹›ËÕ“+ H¨X~ endstream endobj 497 0 obj << /Length 123 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bCSC…C®B.cs ßÄI$çr9yré‡+›sé{E¹ô=}JŠJS¹ôœ€|…hCƒX.O…úÿþÿÿ€L€Å˜ŒÁN|Œ?ˆ êÿÿÿÿã?*ûÀåêÉÈé f’ endstream endobj 498 0 obj << /Length 177 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0b#SC…C®B.c˜ˆ ’HÎåròäÒW0¶äÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õøÿüÿÀ ÿBü`°ÿW$þð‰ü{ª1ˆy Ÿ‘‰ùŒ0¢Ÿñ1Œh†í͇ÄqÑ|¼F¼‡ï™aÄ Ñ𕨠‚l¢è·?`¿!°—«'W ±,ˆ endstream endobj 499 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚUÏ-Â@à%ˆ&c¸Ì 迨¤”„ P‚$ޤu½Ö’[GEÓev›¶ æKÞ1Çî»hÑ8º&nL؃-;CF¹XïÀA_ í>¡ôpŠÇÃi º?!å—&+ŒRå"c¢(ɉ(§N+˜ÆµGÍSroˆ‰›‚W\¯Š‹"­àЬæüÏ ¦+éÕtI…–ðߣmÅ›h5|Ö ¸üˆ‹¢dXB]/†qsøº‰| endstream endobj 500 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bSC…C®B.cs ÌI$çr9yré‡+›sé{E¹ô=}JŠJS¹ôœ€|…hCƒX.O…úÿÿ0üÿÿÿˆø"þ3Åþ70`øH؃þ@‚ýŒ`?€#^¬„ùŠ^°Q`Cƃ-YÉ ²œä fƒ€² Ô$êÿ700€ F"Àb\®ž\\æ„wN endstream endobj 501 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚÅÐ1nÂ0Æñ/Ê€ô–!ïÔ &HYj‰‚Ô •Ú©CÕ @°Æ9j1CäÇ‹KªÞ ’õìåû{iËŠs.y^,ØV\.x_Љ¬ÕÛœWËûÓîHëšÌ[KæEïÉÔ¯|9_dÖoÏ\ÙðgÁùÕ† ùƃHLd€ pÝLià¡'ÒîAi û?’NIû¬ iïÚ&tZÁéà0÷^gú±È…Ÿ¶X{c¹þ‚Y7‘öÉ01ÖÞñ¿<¶5½Ó ¯ endstream endobj 502 0 obj << /Length 197 /Filter /FlateDecode >> stream xڕСÂ0à›jrfÐ{Ø::"#a‚‚ ‰€€îÞ e0‰XvtmC‚ùÄßöîOõh˜Ž)¦„Š´¦TÑ^á µ²aLiâOvGÌ ŒÖ¤FscT,èr¾0Ê–S²iNûf‹EN†`æÒY9†»Q‰¶3p‚qNÊNÙ3¼ÿ¶ßO0ïÉn‹ßè¶ ×ÄZ¿’J4½&}þ5tÊò›¦y+™A²ý ½-ؼ+Ô€³Wø2>z endstream endobj 503 0 obj << /Length 236 /Filter /FlateDecode >> stream xÚu1NÄ@ E½Ú"’›a|˜„$ÕHË"‘ * D”H»$*â£å\!GØ2HQÌw€‰æÉãÿmÿ©«ãæT ©å¨”ºæDJÞsÕ ‰gõ­Ü?ñ¦åx#UÃñmŽí¥¼<¿>rÜ\IÉq+·¥wÜn…˜™åº2ûÐÌÌ4w„C0Mý€¤LúNÔéL”túAø ¨9ÁçÒ„Éa=tC¹6”8y€ÇF¢Ì›Ôa¥OÚ2éý/òaÁ<Ãô&ÄØùE>oùš¿åxv endstream endobj 504 0 obj << /Length 124 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0b#SC…C®B.c˜ˆ ’HÎåròäÒW0¶äÒ÷Šré{ú*”•¦ré;8+ù. ц ±\ž. õÿÿÿÿÄÿÿ¡êêð@†H0 zÂþÿ(Qÿÿ—ËÕ“+ +òT¬ endstream endobj 505 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚmÌ= Â@à Óx„¸ ‰‚Õ‚?` A+ ±RK E[“›™£ä)S,;Îh%Xìûfæùh<¥” }å:exÅ\³T¿:8^pV¢ÝQ>E»’m¹¦ûíqF;ÛÌ)C» }FéËEÜ$ s­´àXBט^H”ȃ©ÁÃ@ž?|be¨®ŸàzY©E—ƒâÿðTZ_Õq×-`öRÅ!a~…ˆƒ„®K<.KÜâj/\ endstream endobj 506 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚŽ= Â@…g°¦ñ™˜„Ä"•#¸… •…X©¥…¢­ÉÑr”aË€!ãN;±˜æï½GÓY‡®âg!ŸBºR¤³@[]/”òw%ä¯Ü”|³æûíq&?Ý,ØõïÝåLƹ©¿+ðx•ƒ“À—´€"Ò¡@±y‰Rx Œ-¶0ª±éþ~Ð*ž?¢uîmÖ½rç!0±ƒe¥æ] ÔEÓ`ç%ÐÒЖÞ*Åsz endstream endobj 507 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚŽ1 Â@E¿¤¦Ik—9›°° Än!he!Vji¡h›äh%G°L2ΦÐÖ…}ðgÙ?of§óÇœêÅlS>'t#k5Ñ?œ®”;2{¶–ÌZ§d܆÷ç…L¾]rB¦àCÂñ‘\Á¤"iJzŒDˆÆ=á[5/”ÈjLAOåQ~Ñý‰ß¡@«B_ÕZ¯h4èÊJ—â5¡Î«µ^RMuZ9ÚѲuEJ endstream endobj 508 0 obj << /Length 193 /Filter /FlateDecode >> stream xڕα‚@ à’.<} L— &Þ`¢“ƒqRG®â›á£øŒ—;[pqÓᾤ½´ý 5)+ÊHñ+•9ís<¡’^&¥|ìŽXLפ*LçÜÅÔ,èr¾0­—S⺡MNÙMC±€Ä  ÿ$z1Ú1Þwxï!"Ëûâ>ô<æôZ™iá&³N°?â>cíH ãRa¸ÊÉHŽ'c Ë:ÇÑ´m™¸O,Î ®ð —ºYK endstream endobj 509 0 obj << /Length 201 /Filter /FlateDecode >> stream xÚmޱŠÂPEï’âÁ4ù„ÌìKˆ¬® ›BÐÊB¬Ôr‹mM>í}ÊûËâì}VÌ™;ܹ“ú³™i©“Ô¥ÖS=Tò'uÃù9&aÿ+óNüFëFü·â»¥žO—£øùêK+ñ ÝVZî¤[(²€ÂÐÛ f#2³;܃J>ÂPD´Cˆv@Z }•ˆ„‹÷c½C  ¤7¸¾Ð'Ð* 4u‘ö.æ7ú¹mp Ìb2ræcÀòÝÉZþI÷_þ endstream endobj 510 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0asSC…C®B.cßÄ1’s¹œ<¹ôÃŒ¹ô=€¢\úž¾ %E¥©\úNÎ @¾‹B´¡‚A,—§‹ÿû@âÿÆÿÿ˜AûŸz ñHð?°*;&põÿÿÿš4A€Åðk£aÿÿÿ[~ `1.WO®@.òÅ^£ endstream endobj 511 0 obj << /Length 253 /Filter /FlateDecode >> stream xÚ}±JÄ@†ÿ#E`š}!óšÄä”k.pž` A+ ±RK E»#›ÎÇðUò(y„”[,g‚²ìǰóÿÿÌÖÕÉzßòq¹áºâꜟJz¥º`;볟Öã íZÊï¸.(¿ÒwÊÛk~ûx¦|wsÁ%å{¾/¹x vÏ’€4¸ˆlnfxYé•DdöItÁ§S¶n\Å#7@efd=º`’El6X4jB*²`„éá¾fÀ}E_éh0‡íb•ôj“1SLÍ€,xÝ>v*‹Å!*:MÃö–Æ¢ó½:²?-y‰%Û§F‚Í@—-ÝÒ7ãè‚> endstream endobj 512 0 obj << /Length 161 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcSC…C®B.ßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @¾‹B4Pe,—§‹Bý øÿ¬“Œ‘ò@dý ùóÿ? ùûÿ ùB~°o’äAdƒü ÉÀ$ÿÉ?Häz“õÿøÿÿÇÿÿIˆ8—«'W ƒzú endstream endobj 513 0 obj << /Length 132 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcKS#…C®B.cC ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ì ò ØþÃÄ@òx@ýÿ@ü€á?×C1;}pýÿÿþÿÿÿ†A|.WO®@.üØO) endstream endobj 514 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚÌ;‚@à%$Ópçò.¨H)L´²0Vji¡ÑV¸‰Wá(xŒ…[Æ_­Å~Éü³ó‡Á0ŠÑEŸ_ècäáÆƒ=’¹2Êb½ƒ4gA ΄Spò)§-8él„ôŒs˜ÃQ¹yÀ endstream endobj 515 0 obj << /Length 115 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0b e¨bÈUÈel䃹 ‰ä\.'O.ýpc.} (—¾§¯BIQi*—¾S€³ï¢m¨`Ëåé¢PÿÿÃÿÿ‰zÁÀ<Œˆúÿÿÿ7ñÿ,ÆåêÉÈî{\W endstream endobj 516 0 obj << /Length 171 /Filter /FlateDecode >> stream xÚ½Š= Â@…·[˜&GÈ\@7!Q°1#¸… •…X©¥…¢õ^,7ðæ[n±ì8šÎȃ÷WÃÑ3ä‚r„Å9œAl&’ø]ö'¨-˜\À,¤c—x½ÜŽ`êÕ s0 nå¹Û =œî=Cê¿bq䙣Ò1 S¥e¬”ö‰K•vI'ì’ö‡mrÿ/)Tžòì8R`ßû¾‡¹…5¼ízfÊ endstream endobj 517 0 obj << /Length 155 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcc3…C®B.ßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.O…úòþÿ¨ÿ$þÿ$ÿÿÏÀPÿD2þÿ`ß$ȃÈù@’Hþ“Èô&ëÿ?:ñÿÿÿÿ7 “q.WO®@.‹£ll endstream endobj 518 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚ}Ž=‚@…‡XLÃvNàBL¬H·0ÑÊÂX©¥…F[Ù£íQ8¥…a†‚Îb^2ï}¹™KJ)*%³ K†w4÷Ò‹ó +‹ú@¦@½á)j»¥çãuE]íV”¡®é˜QzB[Ä_P¥ ¢:˜…ðá9o’.êAµ@9(¡dq%Ÿ»7@â'a¸ý/=ßµÓGÃ.^¬ÄTyhÆ ‰”pÁ A!\\[Üã>P: endstream endobj 519 0 obj << /Length 200 /Filter /FlateDecode >> stream xÚ¥= Â@…g°¦ñ™ èfI"¦üSZYˆ•ZZ(ښͣä[.(w“€–‚S|Åæ½7q4HRYs_8Ö ù éL‘WCNâvµ?Ñ$#µá(%µp:©lÉ×ËíHj²š²&5ã­æpGÙŒs” V,ÈS*7;(& A‰]ƒt,¾à -À•ÇýGTÎÀµ@Û8×=ÓF–>¼®á ¡¯†¾$Úñ¼Ë_È¥÷ªùF­Ñ<£5½Þ¯ì endstream endobj 520 0 obj << /Length 158 /Filter /FlateDecode >> stream xÚ­É1 Â@ПJø—ðŸÀÝu£Äj!Fp A+ ±RKAEëõh9J¼AÊÁqc!Ú[̃™Ií`4-ØԈËÞð™m»îjw쎜{Vk±«y\Yù…\/·«|9ê½e_Hx’+5ÐCôÑ8´äÂ#‚$ÒRC®¡¹šˆ\õ¡ì¸ÿBÿ"¨¿xo<ó¼âõõIw endstream endobj 521 0 obj << /Length 185 /Filter /FlateDecode >> stream xÚMË1 Â@ЋÀ4!s7q5Æ@T0… •…X©¥EÁÊÍÑrr‹ñ,,Þ2³óÿÔŽg©D’€MÅ&rŽùÆv‚=ê×þpºr^°Ù‹°Yã—M±‘Çýya“o³YÊ!–èÈÅRÈùr¨êGB®ù7 }Kïÿ´D#"×eZS¨¡W¡ÿ!§ˆ("P÷B Ca÷£}­¢9ª6A«ª=> stream xÚ31Ö3µT0P0bc 3…C®B.cS ßÄI$çr9yré‡+›ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ä€Àž¢þÿÿÿ @ü¿A€ÅH2…‚ù`€hàÀ ß €AþAý~ [@óÿ Œÿ€LxÀÀåêÉÈþ:B„ endstream endobj 523 0 obj << /Length 148 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcc3…C®B.ßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.O…úÌÿþÿ`ÿ…¬ÿÁ $0ð()DÚÉ? õþÜÆðêdƒ=˜”ÿH2ÿcÿÏÀåêÉÈÄ£d> endstream endobj 524 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ5Í= Â0ÀñW:oéúN`ú¥ÐÅB­`A'qRGE7©…^Ì­×è êØ¡4¾Ø”É? ‰Âé,&žQ@áœÎ>Þ0ÔÍÓ[}pºb*Qì)ŒQ¬¹¢zÜŸévI>ŠŒ>yG”½•¥:ÅôJ•^ý›]ƒS |Á-,ZHZX:È^<rœ[CÂ×Á准’qÊz¤b&Õg¤aì¦QŒ¥À½†¿À•Äþ$›Lã endstream endobj 525 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ31Ö3µT0P0bcc3…C®B.ßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.O…úÿ `Ôðÿ?ÃÙaCÄÙ00~ @2?ÀDv`²N2~¨+þߎ ¿#Èß``’ ?Ÿ‡“¿¿G#«¾g``¨?øA6 Hû†@Rž¡†ËÕ“+ Ém¢ endstream endobj 526 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚEαjÃ@ àßdˆ‚ÁzöìØ)ÍCšB=Ò©CÉ”dÌÐÒnÆvÈÐ×jé‹:tÍ&É=Žûîî$%ñÍpÄ!ø:ºãdÀñ-¯"z¥X£!—Znh’‘yæxDæQâd²¿¿}¬ÉLæ÷‘™òKÄႲ)—Ö³µ[{²v§È­õöð+ïðOPy5À‘ Æ@®²äÌ©¤äUíð·-Gÿ[ùÙ;z¿Êßàµ[*ö‚l”ãŽBÉ;¥v\ɼHer”;åSú¾H‹R §Z88 ¾~íKôÑßÍa{ endstream endobj 527 0 obj << /Length 176 /Filter /FlateDecode >> stream xÚ}Ž1 ÂP †S2Y<‚9¯Å*B¡Vð ‚N⤎Š®­Gó(ï¤Ï¤c‡|?!?É'ãéœSžèä3>gt#Í”»Õ§+•žÜ^wrëŽ~ÃûóB®Ü.9#Wñ!ãôH¾â"Æ…ôPŒ‚¢x+š—"B I À/ >Š¡€i`˜¦$fà_£…$hŠ¡¨†¢Šj(ª¡D{£{-ÐÊÓŽ~æêb° endstream endobj 528 0 obj << /Length 222 /Filter /FlateDecode >> stream xÚe1N1Eÿ*…¥i|„Ì ð.›-V Ab $¨(U ¤A›Ý£ù(>BÊÑóÓ„,?kÆÿWíEw¥µ®¸kí.õµ‘i;¯O%/¶ï²$=iÛIºó®¤á^¿>¿ß$­n´‘´ÑçFë6Šx0ڄʬ ˜íÍŽX⌾T†~ÂèËϰœfGvÄlŽâgØ×ÎOÈ —˜À<|žðHTGÇ‚+î©¥µ§Ë‡D5ÿWôTŒL3ü*Ù¡¸=·‡2šÿÐþ‚½,·ƒ<Ê8hñ endstream endobj 532 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ1 Â@E°L¡70sÝì ’@°ˆÜBÐÊB„€ZZ( 9ZŽ’#XZ:IV›t«þ 3ïOÌØÄrÄ#²‰xjø¨éBºN%7nt8SjImYǤ–’“²+¾]ï'RézΚTÆ;ÍážlÆ@TðJô ø@ ðhxÁ«jze/¨ š]aöåÙáýÝ;¿íÇÎAdDÉ/ak+ÚÎ?i¶¥”T“‚RSÊ"§…¥ }G«@ endstream endobj 533 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚ1 Â@E¿¤L/ :ÐÍ®A"ˆEŒà‚Vb¥–‚Š‚…EŽ–£äÁÍ$±ÐNxÕÌgæý¡˜1‡qß„l">hº.§!Ǧ^íO”XRÖcR 7'e—|»Þ¤’ÕŒ5©”·šÃÙ”s Î@ t€h~//i¹ÝKxO`L®Ð“tIVãçßxÅ?üÞù¼¨>ö‡©(=C±uÚ•¿/ñ@ªÅRÓr•iniMoEËBs endstream endobj 534 0 obj << /Length 161 /Filter /FlateDecode >> stream xÚ33Ñ3µP0P0WÐ5R²LLR ¹ ¹L @ÐÄ "“œËåäÉ¥®`jÀ¥ïæÒ÷ôU()*MåÒw pV0äÒwQˆ6T0ˆåòtQxÀJB±SŒ \Å¡˜!’ Ø%¡æý@5¯bÙ–A)~d%P PírÈFC-‚Z+‡ì$¨QL‚z…DK ¾árõä äµd*… endstream endobj 535 0 obj << /Length 104 /Filter /FlateDecode >> stream xÚ32Ö30W0P0WÐ52T02R03RH1ä*ä24Š(XC¥’s¹œ<¹ôà M¸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿüÿó‡a0C ¹\=¹¹¶ h endstream endobj 536 0 obj << /Length 102 /Filter /FlateDecode >> stream xÚÍŽ;@PÕggÜwAí“x…„J!*” Âî%>‰EÈt3ÍØ00 •¾UjÌØrR¬Ð豆iø¥qAæ 5‚T‡¸šûv̬ɩ‚½Ò p¯ó:½_ó¢thq_þh endstream endobj 537 0 obj << /Length 131 /Filter /FlateDecode >> stream xÚ-É1 Â@EÑ?^á ¦xЙ‰‰mŒà‚V"ÑRPÑ:³´Ù™&Nwo¾\ø’ž%红V\ó¦xA=y1žö:À¨n×w¸°ççý½ÃÕ‡ ®áYé/ ­tò‹½4è’M22ÉD³˜ÉT&2+•<å*ØñBÛ#´ endstream endobj 538 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCsK…C®B.K Ïȉ&çr9yré‡+Xré{€O_…’¢ÒT.}§gC.}…hCƒX.O†z†ÿ 0XÏ ÃÀåêÉÈ[\w endstream endobj 539 0 obj << /Length 153 /Filter /FlateDecode >> stream xڅ̽AÅñ ɉ¨ŠóÌ—eëµSH¨"‘ ” ôÍ£xw³ÓN¦ø5çæþgvZ8œ8K¿àÜñbñ€·²–>žÎ7TzOo¡×²C‡ _Ï÷ºÚ.)k̓<j*¥zÑP ¢±‰R˜è.NÑO|[ƧÕmÈÜÏdSéL6•Îeé\6•NdV;üxÔ*Æ endstream endobj 540 0 obj << /Length 101 /Filter /FlateDecode >> stream xÚ32Ö30W0PaCsc3…C®B.K ×ĉ'çr9yré‡+Xré{¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]dêþ7À`=ƒ 1S—«'W fp"¸ endstream endobj 541 0 obj << /Length 140 /Filter /FlateDecode >> stream xÚ32Ö30W0P0WÐ54S0´P06SH1ä*ä24PAS#¨Tr.—“'—~¸‚¡—¾PœKßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEA†¡žá Ö3È0຀`ý™ PÈx€±±¹™¨Ò‚¡€!ËÕ“+ &,• endstream endobj 542 0 obj << /Length 162 /Filter /FlateDecode >> stream xÚUÌA ‚@à7 ÿÂu ÁÿŽXÓJ0ƒfÔªEBµ ,jímŽâ¼AiÒ"ßæ=xj1›kŽû¤)«%gš/ ÝI¥ÊÆå|£Â<°Ò$7}MÒlùùx]I»'$K>&ŸÈ”ÂGƒÈ½mÞ~¹¼ûi\Ô…ÎáðG8Ô¢x­8ÂM lÏŸj„¨0­ íéb+12 endstream endobj 543 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚMÉ=@PEáþ®â®À¼™x¨ý$^!¡Rˆ ¥‚°{ äTß±4J2:*5¡Å4嬨`ö¢£ÿÆ´"žfšû¹@ò¶ BJJ7"”¼ï몀Ði ‹ endstream endobj 544 0 obj << /Length 165 /Filter /FlateDecode >> stream xÚ32×3³P0PÐ5T06V0²P0µPH1ä*ä2‰(™B¥’s¹œ<¹ôÃj¸ô=€â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. Œ Ì Øð107È0°3H0°1X0ð10ð00È0$E@øPôPŸc0nøß`ÿàÿû0\@Œíø€Ìärõä ä;g0÷ endstream endobj 545 0 obj << /Length 90 /Filter /FlateDecode >> stream xÚ31Ô35R0B#C##c…C®B.Cˆ D"9—ËÉ“K?\ÁÄKßCÁˆKßÓW¡¤¨4•Kß)ÀY(è¢ ÔËåé¢ð $—«'W Rˆ endstream endobj 546 0 obj << /Length 351 /Filter /FlateDecode >> stream xÚ5‘ÁJÄ0Eo Xb·6? í ¶Vf`T° AW.DÔ¥ ¢àbÀúeü‘|B—]Æw“6‹Hšóî{-Oæ&7…9,Lylʹyšé7]Tr˜›ò$Ü<¾èu­³[ST:»”cÕWæãýóYgëë33ÓÙ¹¹›™ü^×çÈz@´%[Ä µH~, „p@ìp€/ ±Xb¤VöðÝÈó}§äí“íöòÕ$í—@‡)…»@?° ½§éc˜ŒlSŸT¤_2øz>:)zÉSQ/w9õ’÷•zæ§žýPÏþ¨g¿ÔS@=×Ê "mÃÍ¢"{tSøí_¶‘Û‡£\L:eÍR@5Rl#² L7‘¥^ Zê7û] gOª‘.P²y&#›àMYYê¬.IÅŸ«gÂØÏž¹ýp¤?éËGúTl]úfbÖÒµ¾Ñÿ&¨† endstream endobj 547 0 obj << /Length 172 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bSK…C®B.# ßÄI$çr9yré‡+˜qé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ø0Aý? Áøƒ½ýãù† ö@CÿùA2þ€’@5@’±D‚!™dþÀðPI¸ùÌCdþÃÀþƒ¡þÿƒÿÿ “\®ž\\^åˆÓ endstream endobj 548 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚ3±Ð31Q0P0bScSK…C®B.SßÄ1’s¹œ<¹ôÃL ¹ô=€¢\úž¾ %E¥©\úNÎ @Q…h ÊX.Oþ êÿ³ÿg``üÁ~¿ùûÆÿüäØÿÉ?`°gàÿ¤êàÔ õN}`o`üÁÀþ¤›™ÚÔøFÑ¢¢˜ÿ0°ÿÿƒÿÿ? Q\®ž\\à  endstream endobj 549 0 obj << /Length 154 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bSK…C®B.# ßÄI$çr9yré‡+˜qé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]øÿ0AýÿÆÌذIù~ iÏ"ëÈ?P¨†ñ3õÈÿ@€JR×|Z“ÌÀ0ù Çÿÿ@&¹\=¹¹)“ endstream endobj 550 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚåѱŠÂ@à?¤X˜f!ó·FHÄJð"˜BÐÊâ¸J--îÐÖ|1}_aaËÁu=ÎÒÎe¿Ùýg›Mû]îp,+íqÒçeL?”&Òwš¶¹X¬i˜“™sšË)™|›ßíŠÌpúÉ1™Œ¿$ùMyÆ€vˆ¤Š3|-{Pé½ÓeƒÓ!,¨„GpPghÁºFdPCWTíÓ-”k¦¡Cˆðj( ­g¸f"{¿!ªý—Â[ïÞ—ÿA£œftàùËC endstream endobj 551 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚmÐÁj1à é^=;OÐd-‘õ$¨…îAhO=”‚ÐöX¨ÒÞ„Í£í£ø{ô°˜N"¸Q6>fB&?™Nî'izàmf4Õô™ãáZûÒ||ã¢DõJÆ zâ.ªrM¿»¿/T‹ç%å¨Vô–“~ÇrEP@X×ìû8õ \²²IU{ó˜»ùÁ3ÌbÆYã¥1Ezôè$æ'i=SË©†LÂB„p6Pu Ž–8ç:R†£ ²Ž÷›[4ß9Þ²áéí…ÃŽ&ÎÈ&üZÚú'­ãXήÁÇ_ð%°m¼ endstream endobj 552 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚ•±‚0†0Üâ#pO`Amd3ALd0ÑÉÁ8©£ƒFgúh< ÀÈ@¨…«Ú´_®íÝýýe4fÐÜ,¹ ¹¤kˆ”µÓ„íÅåŽqŠâH2@±5§(Ò½žïŠx¿¦EB§‚3¦ i3 €5C8ZA–›À/:LÊ^ÕÁ­ûpšôXpžÛôkÚF¶­±bIF°Ü2ÕéqžËUœNÐC¨™E>ª_…ñ÷c‹ð+v·d¯ó¯åínÔâ&Å~VŸP endstream endobj 553 0 obj << /Length 260 /Filter /FlateDecode >> stream xڭѱJÄ@à? LaZ áæ4‰Üª[-œ'˜BÐÊB¬ÔRPÑÖÌ›ø*¾‰yË+Äuv²g!–Bà#“ÍÌî¿ÎïúnÙñÎ;ÇÎóMG4÷Zly¿›¾\ßÑ¢§æ‚çžš-SÓŸòÓãó-5‹³#Ö÷%_vÜ^Q¿d ˆRPDZT†¸R´öR ÊOÔµ þ@ù*˜(ÞAWEÁ],øR‚º˜IµRê5ú7P­Ñ&?”2oÆ(~#FLØàgÈü5=dF#ïzv¢L;mf–Ä&,—mXJ[°Ìa Þ#å }Rº:%e-vÁvS½•Ô=U:î霾šes– endstream endobj 554 0 obj << /Length 194 /Filter /FlateDecode >> stream xÚ33Ö31V0PaS Ss…C®B.S ßÄI$çr9yré‡+˜špé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁõBýc``üßD@.ƒý0ÅÿL1ÿSŒÀÃ?UBÙ7@¨`JJ=SüPêŠýê (<ö¡9ÅñP¯@=ómrüC%h˜ACž  !@ y`> stream xÚuб Â0Ð  ·ô¼/0­ µ‚Dª£ƒ¢³ý4?Å/iLsqˆð’»INÍÆª œ&vª)©9 ¼¢‹åý¶O4¬4Ê©åÊFQê5Ýo3Êj³ ­ioK¨k2ýè D˜ÒÀ€§dFLƤ1’(­C8^Qˆ€„ÉÆDð¹ïɰ|pÃ1ÆÛ½Ó.þ"bøÿyÒ€Œ)™gëºk¸×¿àRã?UŸ’~ endstream endobj 556 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚ35Ñ3R0P0bSCSs…C®B.s ßÄI$çr9yré‡+˜˜sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þƒÀd’ñƒü†ÿ Œ`’ᘬ“6`R‰äÁAòI68ÉØ€L2`%™‘Hv0)"ÿÿG'!âP5Ⱥ‰ A€J$ãÿ `G@%¹\=¹¹Mÿx× endstream endobj 557 0 obj << /Length 254 /Filter /FlateDecode >> stream xڭѱJÄ@à?l˜&yM"&`µpž` A+ ±:--­7`ákMgé+ä ¼òŠãÖÙÍ& XšæKf’Íì¿]{Üt\ó)p×p{Æ =SŠu¨ÄÎæ‰V=U·ÜvT]j™ªþŠ__Þ©Z]Ÿ³>¯ù®áúžú5ð(ü6S¬ßü`À쑊-Ì— oÕ¶¸áÖë¥d‡ˆ¾¯ I¾Sòý03a‘™LlB".€¿Ñ!1ÍúOx½&ÂpcÄJÂ&ÆHù‹¸£…¸Û…˜„rI)¥ÌÜ” _ò,v0Ÿšõù{lØtéT–‰é¢§úî”Û endstream endobj 558 0 obj << /Length 125 /Filter /FlateDecode >> stream xÚ33Ò3²P0P0bSKSs…C®B.SS ßÄI$çr9yré‡+˜šré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÏøÿÿ?TŠñó bü78) À¤¯s‘)hèb y.WO®@.!»¥7 endstream endobj 559 0 obj << /Length 106 /Filter /FlateDecode >> stream xÚ3²Ô³´T0P0aKSs…C®B.#3 ßÄI$çr9yré‡+™qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿ†€ˆ¡¾aècWüÅåêÉÈ3v\‚ endstream endobj 560 0 obj << /Length 165 /Filter /FlateDecode >> stream xÚ31Ò33W0P0VÐ5R0¶T05WH1ä*ä26 (˜ZBd’s¹œ<¹ôÃŒM¹ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. öÿÿ?@"äÿ000°ÿâ„=ˆ¨oÿ`#ø?0üoõ ü ä0X0È`a°o`àŠ2°7Ãñÿ qõ \®ž\\ŸÎ`¬ endstream endobj 561 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚ]ÑÍJÃ@ðYrÌ¡¾@ û&A[sjsìɃxj= QôjöÑò(y„=HÇíÌÿДeöDzÌÌ~,¯/•/üUŒeé7~_òG‹8"ÇÝ;¯Οãšó›GÿõùýÆùúéΗœoüKé‹Wn6^DÈÅ8×I êF"!¢:˜+2oa[8˜®7“`¦dÎ`+ØÂÁÔôhLM‹fp ˜&byiguf0«­~5Õ¿jŸþ©RrÀyd* îÕõSkÜ_ Ÿ¨ NÔÇ÷9LÕxoéá ÿádÔÿ™‹„sù¾á-ÿ5Š•P endstream endobj 562 0 obj << /Length 140 /Filter /FlateDecode >> stream xÚ35Ô³T0P0bKSs…C®B.S ßÄI$çr9yré‡+˜˜ré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÿ€™dü€þ3 eR/i& 0È ò‚d“Ì`’LÊ?`üßÀðÿÁ@!¹\=¹¹Afl÷ endstream endobj 563 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚuÑ?kÂPð{<0p² Þ'ð%œÿ€ ur(Ávt°ÔÙ€«ê•]ÝÌGÈè|½¨X#yîøÝ=8. [~›< 8¢€:½û¸Ä°ËµW”ÅÇ|ýÕ”Â.ª1wQÅÏôõ¹ú@ÕjH¯>yoÉà瘣1 ýƒ¸ 8hFãx‡]Ê*ñ›1æ•øá8§¾yºØTBŸ¤,a P³ —À“M õ2Ü< œ fepÒˆ\$ÀIÂÖ5+zÛG4÷V¸Y5D NZ@fWðí¤'c´ÔÒÇýoÊÀQŒü¦Â! endstream endobj 564 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚUпJÄ@ð/.0…ûfŸÀMNÖ?óSge!Vji¡hkRù\AKÁTÖ©$EØuwöŠM1üøf`Šï`¹·<’…Üw£¥>”w%=’Ö.>úÃí­jRWRkRçnKª¾ÏO/÷¤V›SY’ZËëR7T¯¥µ@fµm óÀ¦‡í¼ÅÏ0 à{d¾¦˜üۘÎ=õ4]LÕ3ùȦ€aÒ@b·´liº@ÏT|`Ä“MLjbËÀ¾Å4ŸLõ“ÿ1ÂÄdtFÀœW$®Gœ á*Ã.|ר™±ÕtIÿ6D†c endstream endobj 565 0 obj << /Length 239 /Filter /FlateDecode >> stream xÚ­‘±‚0†Ï8˜ÜÂ#ô^@D'ÔDŒ“::htGáxWÚœmš~éÝßöú_LÂyÒxJsNgoô(ò»ÌéŠIŠîžÂÝ5‡ÑM7ô¸?/è&Ûñ~IŸ¼#¦K¶ Cµ¥ Ô¼*x1F%¨À)dBœÃè ñ‘Š…¬ªA«ÑŸ8çEÅjGîU…Ò(ßNk¼ûÈ4ª,— ~ÐjÔ…}Á<ÛC¿2[|Žþfa?­-ÈÖžÆ3ë ñ“­oŒ×œÈ¾}°]Ñ=ÂUŠ;ü”K‰É endstream endobj 566 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚ35Ó35T0P0bS#Ss…C®B.K ßÄI$çr9yré‡+˜Xré{E¹ô=}JŠJS¹ôœ ¹ô]¢ÆÄryº(ü‚ ê„úÏÀÀø¿,ÊÀ ÿLñSÌ? Ô0Åø™adªT Y;ªÑPû ¶CÝuP7ÈÙÿÀÔˆ ƒ™….ĵ˜—«'W ŽK€¿ endstream endobj 567 0 obj << /Length 309 /Filter /FlateDecode >> stream xÚ­‘±JÄ@†ÿba æ3/ I ‰ Bà<ÁZYˆÕii¡(6‡Y±õ¡ò>D|I™"Ü:³$EÀÒò…Ù™Ù™ÿ/²Ãü˜Êé -¨àŸºKõ£Î3Ž&t”G›½¬t|My¦ã Žë¸ZÓóÓË½Ž——g”êxE7)%·ºZà[ÈÙV°óþz=ÞªEd€°‘¥ê€šKzNä¬.{7Aâ|®Œ$sQèЄÒ>j"‡vDÉmvsÔý#ƒL°ÿb~ÃüöùdóáGŒûñ¶[ÞVužeø½ÿajÖEyȳv¾Y©:À†%*?ñʵÑJî¤~D`q£ìû€@\qðíBìcáÌšpê`¶èŽÐþ ™j‚óÚ·²<§Øq}^é+ý 6²¥É endstream endobj 568 0 obj << /Length 221 /Filter /FlateDecode >> stream xڕѽ Â0ð–‚ì#x/ i*Uœ ~€ÄIí£ù(}„ŽJãÙK Í"&…äHrÿt¢F*ÄÇ8 q¢0šâYÁ È€f4ãÊé óäžê ×´ 2Ùàãþ¼€œo¨@.ñ 08B²D­uåÐ uf,HW§‚ ô¥lüfëç¬(ºz¥eõ§Ö~ûüæÞ¦Øô§¹_Qš@™ñÍëõ6Ò+L®6ŸñeålóZ¹šÿ«›v,X¿ÕKéP~ï‡ÞEÔºe¯Ö©úN=â’¹«vð™<›Â endstream endobj 569 0 obj << /Length 256 /Filter /FlateDecode >> stream xÚUϱNÄ0 à¿Ê)K¡~h{=îÄB¤ãè€Ó ˆ @°!ZÞ̉èF%Psw ²|Jì8¶ç‹Ãª¦’æt0£ùŒŽŽé®r®^j°¤EµËÜ>¸U㊠ÕKWœkØÍ=?½Ü»buyJz_ÓuEåkÖ?€ÆŒ!òÎf°l#>Ù3ZÎ;@Î'€ç7Àîx ïÉ&Œ&È–Nm9ƒR0—!¡G/aEïFD+E$½ÑŒµ²MX‰¿„^É>a‡-úÆü‘Mˆÿèû=¦×:upÇ´–¤-µiÞ}õèGŒˆA§Š^{s¦ywÖ¸+÷=Ÿ†# endstream endobj 570 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ3µÔ³4W0P0bSsJ1ä*ä2ñÁ" Fr.—“'—~¸‚©1—¾P”KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEÁþ?<@£0ÿg`ÇÀøùA ˆbüP¢>€©T*L`¥€)‹`J+ŦF Åþ¿Hʃ‚ârõä äWÎr° endstream endobj 571 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚåÐ= Â@àÑÖBÈ\@7‰¬ÆJðL!he!Vj)¨h«9šGÉ,SˆëlÅ3X,ßòf˜âu¢VsÀmnFlzlº¼ é@ÆH¸¤˜¬w4HH/ØÒ‰I'S>Ï[ÒƒÙCÒ#^†¬(±µÊ>ñl \3X~ZPCAù©J'BEH?4€þ—ºôuâ7{©-'¿ROrï%ËxºVÝ™‹Ã·¹CÙ ï qBszØxaº endstream endobj 572 0 obj << /Length 240 /Filter /FlateDecode >> stream xÚmÐ1jÃ0Æñg1> stream xÚuÑ1KÄ0àW „ãºv8ÈûÚôÎb ç vtrá@ÿ…?'â)ΤC¹ø’£âMHøH^ÂK^Yì/Pá÷æX.°8ÄÛ\<ˆR¡ëÅÑvçæ^,k‘]b©DvJË"«ÏðéñùNdËócÌE¶Â«Õµ¨WhíÀ­í"kÿ·ä@öŒæ¤àmDâ$f~¤#; Hl ¿¥½8@£ÁŠwdFUšì¨%[pù¤^q(é`J7)¯Iˆ’›ÑMk¯T¢äRÙñRI JN%}¤½Ö<=“Dt2l¥IÜ©yÑÑ&ôFš:Uï; ôAš9ÉOŠ} ô5*¡¿­ºÿÄÿ‰°­ ÄœŒE'"'íEÑ<´¾¦®_g'µ¸ßÑÆ©Ñ endstream endobj 574 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚÍαJAàYÈÁL›"y÷.p1©b¯L•BAS¦P´Î=’p²2EÈ8»n@ô,†ofgÙ§“ËÉŒK®´¦×WüRÑ+ÕsË8ÆÅó– ¹5×sr·zJ®¹ã÷· ¹Åý5Wä–ü 7©Y²È ð~k%…öÒvìT²Z^{ÓcÝÙ³ ÷ÃâôU«o²CÕ0Ë–*¤ÅSTB¶‹ú`ζÑñÞ&‡í%‹ãE¶Ÿ´§QÒÈ0›b4è3¾Ýe}÷¿Íÿô"Ý_馡}Èl® endstream endobj 575 0 obj << /Length 204 /Filter /FlateDecode >> stream xÚmÌ; Â@à . ´Vf. ›´1àL!he!Vji¡(X›£å({„”Á8ë£—åø‡ùÝéÅQ—Úš’˜º}Úi<"ÏÈŃ÷f{ÀQ†jÅ{T3ŽQes:Ÿ.{T£Å˜4ª ­5EÌ&¡€º6äü¥…°%/_x÷/PAP02gøýÁ0Ò¦–yp&îî¬dBw›:Œ+0ðÁüâ}¨AT¾yóMÞ6Ó¢5lö–¢.Ë5²Ài†K|¤øT£ endstream endobj 576 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ31Ó34V0P0RÐ5T01V0µPH1ä*ä21PASKˆLr.—“'—~¸‚‰—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEùÃT‚D0S$ê00|`ÇÀü¹A¾ù;ÿæ ì˜ÿå˜00þ* àÄ?8Q"êI&êPMÊøbÛ½`Ëßœq ä ã ò Ìê˜þÿ:]þ—«'W ÈckA endstream endobj 577 0 obj << /Length 182 /Filter /FlateDecode >> stream xÚÎA ‚`à'?( ‘œ ”ýüºÌ A­ZD«jXÔ.Ì£yàÒ…Tcu€ßæ 7f: 5ÙðP³™° ø éL¦ %¿—ý‰â”ü MþBbòÓ%_/·#ùñjÆ’&¼•ÎŽÒ„¡ZÀ{ÈUe5ÈTÆ©¬Ö-Õ‡W¨6êÀj@-ÐÉÅóOù¯Ó‰;*`{ú^‰ž[bàTd7“ý w§”§ÍSZÓ»= endstream endobj 578 0 obj << /Length 198 /Filter /FlateDecode >> stream xÚ31Ó34V0P0VÐ5T01Q0µPH1ä*ä21PASKˆLr.—“'—~¸‚‰—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEÿó‚ÁþT‚zó !ÿHÔ±÷`øÁøþó†ú쀶¤ „|P±=˜i«‡u âÉDª)öph‘<„ÚkrF=ÈAï?0þ`<ÿŸ¡†½ÿ?ƒü?þÿ ì@‡s¹zrroXhI endstream endobj 579 0 obj << /Length 189 /Filter /FlateDecode >> stream xÚ]Î1 Â@Ð\˜B/ 8ÐM²(ÚЦ´²+µT´“èÑr”!åbI qáÁ23ü;èö9änÀ¶ÏvÈû€ÎdC)úlGUgw¤IBfÍ6$3—2™dÁ×Ëí@f²œr@&æm)‰Ú¸·2Ï©\^¡sϵ2¸Î÷¯HÅøQ‰RñþQÖOþø—Ö5ÉQÑJrµìhè M£íÂá„TårL¼@³„Vô½£@ endstream endobj 580 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ32Õ36W0P0bcSK…C®B.# ÌI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢*c¹<]ê˜ÿ70ð|À ßþ€ÁžÿCÿ`ÆÌ00ŠÿÿÿÇäè§3ÿa`¨ÿÿ޹\=¹¹¢&[ endstream endobj 581 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚ¿J1Æ¿00…ñ v^@³9ïäŠÃ…ó·´²+µT´[¸}´> stream xÚ31Ó34V0P0bS …C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Ì€à?É&™iN‚ìaþ`ÿD~°’È700nà?ÀÀüDþ“ØÀÈä‡$Ù€‚ëÿÿƒÿÿ7 “\®ž\\y endstream endobj 583 0 obj << /Length 122 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aCS3…C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜ø0È@A@ 8~Àüá? ±q©ŽØ0üÿ‚¸\=¹¹(CE` endstream endobj 584 0 obj << /Length 150 /Filter /FlateDecode >> stream xÚ32Õ36W0PÐ5QÐ54W0´P05SH1ä*ä22 (˜Ãä’s¹œ<¹ôÃŒ ¹ô=€\úž¾ %E¥©\úNÎ @Q…h ®X.OÆ ìø   P?`üÁð†Ø€¸ôE6Œ?êügüðŸ‚üc?PÃ~À†Ÿÿó.WO®@.ÿ§Wõ endstream endobj 585 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚµÍ1 Â@Еir3'p.#˜BÐÊB¬ÔRPQ°ÍÑr±0EÈ:? êdÙ³3ó7èuÂ.{Œô¸òʧãH‰ÆrCqJzÆGz$¯¤Ó1öÇ5éx2`ŸtÂsŸ½¥ […RÊüâë?´LõºæÝ3Ø‚ærÁÊkm‚¨„;xÔÂ3êH†Kv¤Ø@%¯â.êýoÔ nn—**ŒÉù@Ô¦ôDr endstream endobj 586 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ32Ö30W0P0aCS …C®B.C ßÄI$çr9yré‡+Zpé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜?0ü‡!þ ̃±ÿ`øÿÿq¹zrrÆ‚Q. endstream endobj 587 0 obj << /Length 177 /Filter /FlateDecode >> stream xÚ3³Ô3R0Pa3scs…C®B.3 ßÄI$çr9yré‡+˜™pé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]˜?ð`Àðÿƒý†ú@úƒ=ãƒ:†ÿÈ77Ø3ðnà?Î ßÀüÿˆþÇÀDÿa`ÿÁÀNÿ``ÿ€þÀÀþ`Ð O€âÿÿƒÿÿ7ÿÿNs¹zrr#߈ endstream endobj 588 0 obj << /Length 147 /Filter /FlateDecode >> stream xÚ31Ó34V0P0bcs…C®B.C ßÄI$çr9yré‡+˜ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. Ìø?00üÿ`ÿD~°’È70ðnà?ÀÀüDþ“ØÀÈä‡$Ù0½ñÿÿÁÿÿI.WO®@.‡e% endstream endobj 589 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚŽ1‚@E¿¡ ™†#0Ðeƒ6 &na¢•…±RK v9Gá”Tâd)H¬ÌN^fþîþù‘žÌ¦ð”Çš£€Ã9Ÿ5Ý(ŒE”qÑßœ®”R{cRk‘I™ ?îÏ ©l»dM*çƒæàH&g8^W‰S­œQƒdHàVðá•R¾ ò!J*¨- Ài~ nNû/†ooñkg»Íîõ$AéÖHåŠ> éáwlzZÚÑIKÚ endstream endobj 590 0 obj << /Length 196 /Filter /FlateDecode >> stream xÚα Â@ àH†B¡y½ž­uj;:9ˆ“::(ºÚ>Z¥p"ØŠç]qÐQ |CB’?Šû2ä€Ü“1G!‡#ÞI:R°«aøm”d$V$f¶O"›óùtÙ“H–$R^K6”¥ŒÊ¯À¨\ƒ¹UW0÷Â/¼º%>Á«°T¨5*è´4hy~“ÿÌ÷ö²¥ý¦Ýß> stream xÚ31Ö³0R0P0VÐ54S01Q06WH1ä*ä21PASc¨Tr.—“'—~¸‚‰—¾PœKßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEùÃùŒêØ0üa<|€ùÃãìÊð?`0?À€Áþ€> stream xÚ36Ò35R0PacCcs…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ØÈ3üPàÿÃÇþ?nÿÀÿœýó3 ~Äo˜0ÿah`þÁÀ€‚?P³Íüÿÿs¹zrrjÙF„ endstream endobj 593 0 obj << /Length 195 /Filter /FlateDecode >> stream xÚ=αJÄ@à¶X˜fßÀÌ x{›`TñSwÕ‡•Z * Wî£í£ÄÊ6`“"8Î%GŠ™ùÿfŠ|q~ÆK.ø4p¡ó‚½R^j¨çåÔ<> stream xÚ36Ò3²T0P0TÐ5T0²P05TH1ä*ä22 (˜Ad’s¹œ<¹ôÌ̸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž.  Ø W á Œ@Ì Äì@,ÿÿ?Ã(f„ÊQ „þ0‚pC sC3ƒ=;ÿ?°f.WO®@.uH– endstream endobj 595 0 obj << /Length 153 /Filter /FlateDecode >> stream xÚ31Ó34V0P0RÐ5T01Q06WH1ä*ä21 ([@d’s¹œ<¹ôÃL ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.Oæ ìþ`üJò`À‘p’ƒºBþ`°ÀÀðƒ¡üÆçÿì™Iùÿí@’ùÐ.WO®@.1c endstream endobj 596 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚU̱ ‚PÆñ#‘k[çêªWJ'Á rjjˆ ¨Æ†¢¶ˆûh>Š`›Ph—º—jù ÿ¾@ BŸ\ò©ïQà“ÒÎÃ#ŠHE—Äè³l˜dÈ—$"äS•‘g3:Ÿ.{äÉ|Lò”V¹kÌRj×_œ œÒ.Á.X ,g0i)à <¡¥©¡pƒ¶&†®A†=éjœ|c(v‘kØ]þb=ÀÐ(Ô¿áúO¨ÁI† |F£?ê endstream endobj 597 0 obj << /Length 233 /Filter /FlateDecode >> stream xÚUÎ=KÃPÅñs Xx³v(æùzËíËb ­`A' ÖQ|A7©‘|±€Ð~Lïx‡`¼7UÓN?8gù«áá°Ï!ñAÄjÀÝÏ"z$¥ìr·¿~nîh”¼d¥HžÚ™drÆÏO/·$GçcŽHNø*âðš’ WUPñ÷6¾Aß´4æðŠ5¹§q ‘þ" bxØ%âtÇq¿Á_ù®cùGˆÅ²h;²š÷L€ Ëtè5Â<þfúOk…2·|âµÁ+ñ–ZlECÝdÑ ±ï(°ç˜ÂÑIBô¥Y_™ endstream endobj 598 0 obj << /Length 210 /Filter /FlateDecode >> stream xÚMν Â@ ð)(¡«ƒÐ> stream xÚUÎÁjÂ@àYi® Î èn²Zõ$¨sÚSE¨GÁ½‰æÑöQ|„x ‰³²Iéå;üÃüü=ÝF¤(¢N8 ^DúÖ!þ qª¨¯ÝiµÅIŒò‹ôåœs”ñ‚ö¿‡ ÊÉÇ”B”3úI-1žQY¦ãâàAægà//7ˆœŽ4gËZŽvª*Ì 0‰Ã¿˜Š+ã]S‡¸CEÉ@QsüϰFÕì,IqSn/¼'¶’gCþbŸ^m‘mjg`ç1øã'>ÚŸKø endstream endobj 600 0 obj << /Length 183 /Filter /FlateDecode >> stream xÚ%Î1 Â@„á‘@„‡$|'0‰+AA¢‚)­,D¨¥ ¢æQ<‚eŠ`œÅ_ìì·°&î# µÇL_M¬‡H.bìÚ£½ØŸ$I%ب‰$Xp• ]êíz?J¬¦Êu¦[>ÙI:ÓIU•uO§Ã)Fh~ðß!;£ó:còÌÛዬQÖ‘‚ôŸÿ)HÿåpIëH]R·YÀ#õH[¤mé(œ²âl2Oe-?uàC endstream endobj 601 0 obj << /Length 188 /Filter /FlateDecode >> stream xÚµ1 Â@EH!L“#d. ›ÍºˆBŒ` A+ ±RK EÁBb޶GÉR¦R×l´6¯˜˜ÿþPtÌ+îǬƬ5$Ii;ŒXÜf¢$#±a¥I,ì˜D¶äëåv$‘¬f,I¤¼•í(K~ |[äj¿„W¢‚opGÏà ÀÄ!´—S‹¢E¦ /‹òèzù´ÌO¾6x+Ó¸YÛ~åÕÎÜuдñí…æ­éÂÕ`ú endstream endobj 602 0 obj << /Length 121 /Filter /FlateDecode >> stream xÚ31Ô35R0P0bc3SS…C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0001;Ëñÿ ÿaX*6T°ý†úÿÿ?À0—«'W ¾NÚ endstream endobj 603 0 obj << /Length 228 /Filter /FlateDecode >> stream xÚmαJÄ@ÆñoÙ"0M^ป'p÷WóSZYˆ ¨¥ ¢`eòh>JáÊ+ŽŒóé5‚E~°;ÿY²¬šc­té_^iÓèC-/’³Ÿ+9¸’u'éZs–tî·’º }{}”´¾<ÕZÒFoj­n¥Û(Ê-€~‚Ù€8¶#J^ÎQì0CÜc…0áùîÈDÌ_úŸžÓÁïø:ßsöNüaçü™r$_΂[-> ³À,°ˆ, %‡s„'äƒlÏ"³ÈÌñ¥™aAZÒ›M°¿ÈY'Wò TŸc| endstream endobj 604 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚuÐ1NÄ0ЉRXšß`3', ZiY$R AE¨€ ´ØGóQr„”[¬0¼„‰"OÊŒóÇ“ãîÈ/¥•^—ÒŸ‰÷òØñ+÷ÅVüɾóðÌëÝ­ôžÝ%Êì†+yûxb·¾>—ŽÝFî:iïyØ™-­2È9QµµÕ EëPõE6‚f¤LÍôV»&‘ÆàðÌÔb&e6‚€§Ñf“õÕŽó‘òY (yâ/ifU ý°Å_ cBüÔ¨M>Õ‹ý‚¸Ÿ™°y¥ÿ€‚޵¸2_ |ÃßÇ›jh endstream endobj 605 0 obj << /Length 188 /Filter /FlateDecode >> stream xڕν Â@ ð+ At-(˜'ð®¶µkotr¡P?ÁQðÅ_ÄÇè èý‹­³ù‘äIàõÃ+FŠÃ!¯=Ú“™º,ñ‘o)Ñ$ìG$'¦KROùt8oH&³{$S^z¬V¤SBĢ⊠ØÀ©iƒèA«äf°1ë€h‚.p;»Áö`¯Z  \2ðoóŠß›ÿÂy™³54Ö4§òý`ö endstream endobj 606 0 obj << /Length 226 /Filter /FlateDecode >> stream xÚ•Ï¿jAðïnaÜ ˆÎ ˜½s=b!j W¦J!‚`R ìnÍG¹G°´8ÜÌœEH:›_1;ödÏyŸSp¯ÏnÈyΟíÉ9)¦œ¿Ü_6[šd?Ø9²oR&[Ìùð}ü";YL9#;ãeÆéŠŠÇÀŒÇæÒºÂ„ÐpQ*Å+j .+xsº7á”xÄ•‘Íç–Üð‘\ƒ }µrÓþ† ”¿ø´•R þ/:tK­¬uéîNTc¨'Û¼‰Ä'ò¡jìiT”2ƒ®D¥×‚Þé+XÑ endstream endobj 607 0 obj << /Length 243 /Filter /FlateDecode >> stream xÚm½JÄ@…OØ"p›¼ÁÎ}d³ƒÚXW0… •… j)¨hëäÑò(ó)S„ÏD…m>†{çüÜuuìVZj­G+­ÏÔ9}ªäMjÇa©îägóø"›VìÖNìÇbÛkýxÿ|»¹¹ÐJìVï+-¤Ý*Ðô@ P„sŽºø‚&¾³¾[ D>#E@ƒ¢Ç†r˜Iõ~2û> stream xڕα Â@ àHÁB}Ѽ€Þ]õ¤“…ª`A'uª(¸ÙGóQî|ƒšTZèàà‘û†?$w#3°i²ÔhdÈŽéhð‚CË!Çá·s8cœ ÚÐТZpŒ*YÒíz?¡ŠWS2¨f´5¤w˜ÌHŸP˜Qžç®ÎëY’ 4aÐ:B@à ¸Ç8 ‚—1¾ìn -¡SQ¼üRá-8­ð d“_Ñ®Ó+ÈJ¢_<ÿ!’¯tùâ<Á5~lúQ- endstream endobj 609 0 obj << /Length 265 /Filter /FlateDecode >> stream xÚMÁJÃ@Eo˜ÅÀ[8мÐ$A„ÒB­`B]¹WêÒ…¢ÐEÁù´ù” ;#Ç›*ÖÍyóî{wæÎquÔLµÔZ§ZŸjÓè}%OR7KmN~&w²l¥¸Öº‘₲í¥¾<¿>H±\Ÿi%ÅJo*-o¥])L OÄ[ À`;d1ëa¶°3X`LpÀM6{ä{xÖSÏœ˜°Hpžî|tO¥0£1l¹6Ì ùi4ÈþÓ,ìÀe3zŸÓáw™gRÒô¦SÅß@v伕+ùÿcå endstream endobj 610 0 obj << /Length 237 /Filter /FlateDecode >> stream xÚuÏ1NÄ0бRDšÆ@ò\œlÖBT––E"Tˆ ¶¤AKr®â›ì!eŠ3³ ˆšgiÿ_×'aE5t¼¢æŒB ÇŸ± 2¬(œÎ_žpÓ¢¿¥& ¿”1úöŠ^_Þvè7×çT£ßÒ]MÕ=¶[‚b—….'0SÉ2*(ÙŒ`&p ÞÁõBì!Ît ç¼àÒð_èÝ_èR¥c§Ø™%Éž 6{6Cñ!I¬cˆ“Ä)A×ô?€Ö«ÌÁ“ôXZ1IÁØËN+éOVë”ùÀäqY‰-Þàú m9 endstream endobj 614 0 obj << /Length 327 /Filter /FlateDecode >> stream xÚ•Ó¿j„0Àq%C ‹`ž *½B]®W¨C¡:”NmÇ-ív¨–GÉ#dt—&æ—?RiDø¨ ~ýi]_\V´¤;½×WôzGß*òIê’šMš ¯dß‘â‰Ö%)îôYRt÷ôûëçû‡Z‘â@Ÿõm^Hw ‰YmVìaܶb«Nß4RbÕXM›Î”\u®N›n•ònbÁý |ä± –mˆœbçÞ©¶‹LEæ´]$â±±7æ!3äi»ÈlŒzçÚ.2Ob'Þzº>¸Ñƒtî!ò¸´—Æ9™7Ê ×˜CîÒ.Ík&) 7L³Èʬ ¦k–üÓùì“ËõÁóÇ Á͹!¾·!×Kk¹KÛøÌ!×#°€Ü¥m<æá“ÆÌþçÎFkó(­°¿4J@?û¯ÉmGÉ/ðc ¥ endstream endobj 615 0 obj << /Length 338 /Filter /FlateDecode >> stream xÚÍ“?N…@ÆgC±É6½€QãÚ¸Éó™Ha¢•…±RK vF8Þä%^€’‚0Îì ‘¼Z ø-;;3|óqvrX”ºÐ§ú ÔÆhs¤ŸJõªL¡ù6Ç~çñEm*•ßiS¨üŠ^«¼ºÖïoÏ*ßÜ\èRå[}O‰TµÕ@W‚€dªR‰ˆ;Ȉ,Q–ˆG¨9ÛCi ì7rXKËä0—Aà@$ˆs;’²º:ñ>GOÔ11PV¨GG’ª à{ ré(µëÜ‘  J}1*7S(»$;SheIÙLõ>âoúCø¨^¥f­i0Ó¤ÚÙIñ™Î§ÉÌô¬ð§ Cœ4ôqú¢ŽHºèG®¹‹nJÛè°¬‰®³œcÔC +{ç7ZÛÎÛ¶>»ƒ Úà¿¢‹*E!¼Õe¥nÕ/ÙÏíã endstream endobj 616 0 obj << /Length 349 /Filter /FlateDecode >> stream xÚÕ“±NÄ0 †]u¨”¥P¿´U‘®"‡D$˜02€`ny³ãMNâ¸ñ†ªÆIÜ»´EÀJ÷“ã8vâ?ÏŠã¢Â x”cµÀ²Àû\=©Ò83,OÜÊÝ£ZÖ*½Æ²Ré9»UZ_àËóëƒJ——§˜«t…79f·ª^!ðÒ û5D±Åˆˆ6XÖÌ;Ж©‡Æí¤uH@†cýN.|ÍŽrá.m@µÎ³Û¯F|Ž=›Mb¶š Ö´`]ƒÃœb{)Ð$èÀU2¤ئç¿ô' ÄcW˜¾|–rƬÇ,eŽ9sóýÃôOx^cf¥u=þÌzÆ.‡–{6œü‡·›òðÖS–1´Œ¸;ôAýe&oVýögÛ›ù`¦_#œˆ7ÄŸ¢)ÒNG¼¼ èöÝYmv¢M£Ù­è×Üf !ˆ&\oê¬VWê ?¦! endstream endobj 617 0 obj << /Length 325 /Filter /FlateDecode >> stream xÚÍ“±NÄ0 @ÝPÉK?¡þh H×›*‡D$˜02€`¾û´~J?¡c†ª&±ãrœNldH^âØŽ{U.+,p‰'%®Î°:ÇçÞ ºð‡ú…%O¯°n ¿÷_óÜÜàÇûç äëÛK,!ßàC‰Å#44~d´32DCÄšˆZAOÔ3%ä,F•¢b= _&gŒåË2‡½·dõÀ‚FL¤dtæ½Èêˆ^c;È“ºh†MZE=°p¡8È}ÃÚ‰âèÝ´1ª˜M¸Ótøµž°=Š[’l¥ÔýiÂþÿâìéñq<”3Mu;Ëúo˜ê†Ïš0Ñï÷q¯fUËȱ„±çšà:ëØ „Æåq’ñÌ×Ä·€•ZwÑ»¾$D#ÌB·HÜIè!iÐýh²Dåß W ÜÁxkD— endstream endobj 618 0 obj << /Length 290 /Filter /FlateDecode >> stream xÚµÓ±NÄ `H‡&ÿÒGèÿJk×NMÎ3±ƒ‰NÆIMÔèÜ{4¥ÀØá"R ÜßÈ%)ù ~ø¡Ùœo®°ÀK<+±©±¾À×>¡©Lcuåz^ÞaÛxĦqkšAtwøýõób{%ˆ>•X> stream xÚ}ѱJÄ@à?¤l“v_@“pÞ] !pž` A+ ±RK E;!÷hñMÎ7H¹à’qfwO ¦ù`vv23»œ•µ)ÍÒVf±0õÌÜWêIÍ%Xšú8œÜ=ªU«Šk3¯UqÎaU´æåùõA«ËSS©bmn*SÞªvm€| 82"‡7@бï, }8$´þtHIR2>JØÜJ =°MT;4[6ÿ±ùR׳éÄÄ~“û íD©Ï}~k£.:Âíì£6ʃH«¬Ï±¥DÎJ†wðkñ©8ÊÌ1ÁÛ‡=Iszÿ‚‰6üÑWÎBðJIľ7ìl¢:šÇa²hJ½Ý7ùCÞ¦ûßÍ8‘ÂýðˆþÝÆðâÞ5,φýkV›Ôqœ<ò Òöè÷Ã/™„µXY×dã|…ËvRJµêJ}áI± endstream endobj 620 0 obj << /Length 347 /Filter /FlateDecode >> stream xÚ•Ò±JÄ0Àñ YúÉ h¯w v¹Ày‚ÄIÝŽkÁÁ×êæx¯Ð7ðÆ ‡Ÿù¾/ׄë¡Hû#MHYO =ÖS}TèòDŸNôC!Ÿe9q‹c}:å/÷Or^ÉüF—™_¸e™W—úõåíQæó«3]È|¡oÝAw²Zhpà !j€Í- ´GÝ ¡ #gM°rÎÜ>²6n¦Þ3²xåf[ò22>GÞ–üÑ_Þt2À¾r º NɆݲñ•‘»aw{VdS"Ø9ræm÷¼"sØ22Çq˜ æDŽä,‹xc'²SoŒäDŽÌ¼1’³8,¶òÆ0NdoŒœõ¶> c¬Ïâ°Ø[o ³Á»DŒÜeaXì¤w ï]ðGoŸm𺷂uüzg|UNùj ¼»–¿yö l»îþ¶i[5ËóJ^Ë÷ûø· endstream endobj 621 0 obj << /Length 270 /Filter /FlateDecode >> stream xÚ•‘±JÄ@†'¤Ls°óšL® œ'˜BÐÊB¬> stream xÚµ±NÃ0†/ê`é?BîÀ‰dSº`©‰ HeꀘhÇ XI-Â#dÌ`å¸s‚ºtÅËgý÷Û¿î·×~Iyºª)x ö5¾£_‰XQ¸™&oG\7èväWèEF×<ÑçÇ×Ýz{O5º ½ÔT½b³!€ÿ€œÈ£‚™Oª±ª–!2J`@;€÷PŽPÈ<²;…‘GgÈ3E9c̈¹*lÊ0´9Útüø / Îà Ýìi†Õnʲm'¾©¿;)¤ø–),åˆbÈߘ^‹ìJq™©Ý‚§®£zµlÑð¡ÁgüÍF‹¾ endstream endobj 623 0 obj << /Length 253 /Filter /FlateDecode >> stream xÚÕÒ½NÃ0ðT"ÝâGȽu¢~n–ú!‘ &ÄŒ ˜Ý7è+õQúíØ!ÊŸ³¯ñ‚ŠÄ„ˆdå—‹³ÿÊl4¬æ\ñ˜¯jžU<ñsMo4HQÇúæé• Ù{žNÈ^K™lsÃïŸ/d·K®É®ø¡æê‘šgáʱ‰wƒ_ s=Ìÿ‡$ p8E €.¢° (±s‡×…¢ÀŸÂ4Ž2ì¥*ȱÓ| ]¹Ñ6&âÜ´LèÎpßàÚ‹À_à‡ýøËÇIHGN!ÄXÊ>±] ³7ž#†Ýfæýß".ŒÎF«?«Ç^Q 3Ò™Ö Ýщb= endstream endobj 624 0 obj << /Length 244 /Filter /FlateDecode >> stream xÚ…¿J1‡gÙ"0M!óº·`D«Ày‚[ZYˆ•ZZ(Úºy´}”<•aÇ™¹ãôP1|ðå—?üâéáIO :¢ƒžâ1ÅH=>cT¹Pc;÷O¸°»¡Øcw!»á’^_Þ±[^‘ØÝÊ™;Và8ƒŒ‘?dm˜gPÇj·\R…q :“dÄ„*Á |…Vbn¶;ƒg³Eó çd˜ö1Öo( Ø÷aãhDBÿcü³!ýD[Áo˜¬1¿En¥ ¹±¦ä%iêÝînª6N:ó\ÒZÛ` æ]H›_ÙI<ð?yë­œ endstream endobj 625 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚÕн Â0àá–>Bï L*)¸j3:9ˆ“vtPtnÍGé#8fœ—:èÒM‡|ä~àŽ3z> stream xÚ¥‘?JÅ@Æ'¤XØ&GÈ\@“HòBª…çL!he!¯RK EëÍÑÖ›ä¦L2Î쮂°áÇîüû¾É®9o[,±Æ³‹w565>UúU7¿–Øv1ôø¢÷½.î±étqÍïºèoðýíãYûÛK¬tqÀ‡ Ë£î¯|¢QÑÑ’“CD–F°³"RcB|&;¦Jª ÀÌÆeÂ%w¹pU¾ëö3Bú?OûþÄÂ|€ G(ú‚^±'€f ‰]âTH¿Ø¯ð“|X9éʶÌÜ/O8E.‘> stream xÚ37Ö3°P0P0bsC c…C®B.33 ßÄI$çr9yré‡+˜™qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ì0€Áÿÿ$0˜a †aÃÿeüÿßf0ÿÿÿÌà‡xûÿùõÀŒ:û`PÛãçã?Hÿÿß  e00°ÿ?€Ìø‡ÁøCãÇ(ÎøŒv q€—«'W lù2 endstream endobj 628 0 obj << /Length 138 /Filter /FlateDecode >> stream xÚ36Ó35Q0Pacc …C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ìþ``üÿ€ùÿ0fÿÿ+†ÉƒÔ‚ô€õ’ ä0üÿ‰˜aˆàÿÿÿ@Ç\®ž\\ÍÙ¥; endstream endobj 629 0 obj << /Length 107 /Filter /FlateDecode >> stream xÚ36Ó35Q0Pac c…C®B.#K ßÄI$çr9yré‡+Yré{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ì0üÿ‰™˜aãÄÿ„޹\=¹¹µ‰Ã endstream endobj 630 0 obj << /Length 232 /Filter /FlateDecode >> stream xÚíÒ½jAð WÓÜ#Ü>·ÔŒ‚WZ¥©LÊ+³vrp!E¶›üçT°+‹ ó›Ý-ÆÙÇvïÞXÓÅqöÁt;æÍñ';ë±j-->x˜súŒÇéiNó©Y-×ïœgOÙ‘yÁÌ+ç#CYEI ºO$RáxŠ%4ˆDJʤnï«Ò 󢣨Ò×®U¶¤ Hª@Yûƒ$߸»Np·â§¤D@¥(€þ¿ØAx^ƒæ §¨å9ìÅE…ÿÇÍÛ„ÂÆip xœóœÿvÚiC endstream endobj 631 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚíѱ‚@ à& &]xúÞÜHLtr0Nêè ÑUy´{ጃ „zwÀ¡Í×6ÿÔd4”’™JBG´ñ„qlfiG{Ø1+P¬)ŽQÌÍE± Ëùz@‘-§¢Èi’Üb‘¤‚˜µ©ÒÁc®|æÚ!P÷Æái à±®!`{èø.ÿT¼ÊV6ß¡ýAÓõ_°yÍÀ4Õ8+p…o âøš endstream endobj 632 0 obj << /Length 231 /Filter /FlateDecode >> stream xÚµ‘±‚0†kHná¼Ђ±0’ &2˜èä`œÔÑA£3<šÂ#02Î^KL%!_sý{½þ¬æI‚!.qa¼@¥ðÁCT±Ý9ß +@P% 7º ²Øâóñº‚Ìv+Œ@æxŒ0> stream xÚÍ’¿NÃ@ Æ]u¨ä…G¨_.!MB§H¥•š ¦02€èœ<’GÈx•ªÛ¹F:¡.§Ÿ¾óùÏçË“«è†"Jèò:¡lN錞c|Ã,5¢<WO¯¸(Ñm(KÑ­EGWÞÑÇûîÝâþ–btKÚÆ=b¹$(“#ýÑÃ!@5@÷Šøo˜J ÿ§4ö{®aäÁ³ÅŒòßëŽfJ®`o}4¼‘.lO­%Þw£‹m_…mt§¢e4](z†`_ëTÀU‰øµ`  endstream endobj 634 0 obj << /Length 169 /Filter /FlateDecode >> stream xÚÕÏ;Â0 ÐtõÒ#Ô' ’VbªTŠD$˜02€`nÆQz„T d¨jœ20õXö“üYœé™žcŠš+ã4xRp“s?¶aq¼@iAîÐä W<i×x¿=Î ËÍÈ ÷ ÓØ Eá¢^¹˜6¡–­É±Câ‰:_øˆ:WóÑ«}ßÍO_ /h‰ Æmƒú ýIž™–¶ðj^¤ï endstream endobj 635 0 obj << /Length 259 /Filter /FlateDecode >> stream xÚ]Ð1NÃ@Ð¥°4¾;ÛŠBƒ¥$\ ‘ŠQ%Ú¬æ£ì\¦°v˜Y)¢yÒî·çÝT—ëk.¹æ‹Šë57 ¿UôIõJ/Kn®æäõƒ6O\¯¨¸×k*ºþþúy§bóxË[~®¸|¡nËXÊp8™ÎÙë…HDÑFä#ò°Ô々Ú~Àþ¨¨7ö'ÉQÈ”´^;LKZ+45qj@.dêtÜÇv“ù!¤¸Ç"iíÐÄÌôehÖ”ôÁjÛ]ˆÿdVçµ³½ÍSuž‡è ±ýõ?h©›ÓêgåcfKxýºëhG¿Á•¡Z endstream endobj 636 0 obj << /Length 186 /Filter /FlateDecode >> stream xÚ35Ô34S0P0RÐ5T01Q07SH1ä*ä21 (˜›Cd’s¹œ<¹ôÃL ¹ô=€Â\úž¾ %E¥©\úNÎ @Q…h žX.O†ÀOþÁN2bÌH$;É&åÁ¤=˜¬“ÿA$3˜äÿÿÿÿ?†ÿ8H¨úANò7PJÊÃç‚”ÿÇ`$ÿƒHþÿ ÀØ`ÿð(Èþßÿ ýß E` q¹zrr:é“p endstream endobj 637 0 obj << /Length 187 /Filter /FlateDecode >> stream xÚíÑ1 Â@Ð  Óä™ èfÑlì1‚[ZYˆ•ZZ(ZÇÎkÙyÛt¦Ž»‰… а{üáÃÀ»°O!õ¨­(Võh¥p‹ZÛ0¤(j.Ë ¦匴F9²1J3¦ýî°F™N¤Pf4W.ÐdI àñ˜Kü#ZX€ƒøã+üÏÞ8ä¯È’ àö„wåÂ6î .n ŸÁÉÁNÃõ<sUÃv‹öÁ848Å”Ìðn endstream endobj 638 0 obj << /Length 252 /Filter /FlateDecode >> stream xڅбJÄ@€áYR¦É#d^@7¹Ül œ'˜BÐÊB¬ÔòŠí°¸×ÊÜ+äR¦gvE8°X>˜YØŸÍ/Η%”ÑYJyN«Œ^RÜa¾aB«¥ß> stream xÚ•Ñ1j„@Æñ7XÓx牚à6l6‹@R¥XR%)S$$¸æfB.2©ÒNi!¾¼7ãÊ.V?ø¡ƒòÇu~žf*U+u–©õ…ÊWê9“o²(èfªòKÿäéUn*™<¨¢É Ý–Iu«>Þ?_d²¹»R™L¶jG/z”ÕV!â­ÿCì´؃@µp` 'h–Îì'–Ä‘vÄ ¡3k"úótÅ{O<¾8‚ FØ ¦evb8Ñ83Mð‹mH Є̎iÃoì˜Â“z˜ÑÌ>úBa"0‡Ži5s?hbé8–TÔ0µcíÙÌÄô00c*ÓCïÙ»1í‚Ö ¸ˆi<¸8Î^°óŽ‹˜­gëvJpÏi\DäXî‘ו¼—!‚ý) endstream endobj 640 0 obj << /Length 270 /Filter /FlateDecode >> stream xÚ…±N…@E‡PLÃ'ì~ >ÄX‘<Ÿ‰&ZY+µ´Ðh+ü™| Ÿ€ÝK$\gfÑX)Éæ°{÷žúä ÚøÂʪýÑÆß—üÄu%ûB·úáî‘·-‡k_WÎeÊ¡½ð/ϯ¶—§¾ä°ó7¥/n¹ÝySÌÿ‘º…Èí‰壼£'7¬ìe†"Ê0Ò›0ÅDr„ì“92•ãD˜ÓIÙ-Ù¨l‘ÎèðÞ+s@!ËÊÙ˜Âb4ÐHëÜþfƒoöqŽ!þÿC»?ù„õI?b`6ÅÀ|ŒtC t} lL™D2r1uIU'‘TuIk*’ÖT%5P%5°­!Ä.ƒ>“ÏZ¾â/1¢¸¾ endstream endobj 641 0 obj << /Length 137 /Filter /FlateDecode >> stream xÚ33Õ37W0P04¦æ æ )†\…\&f  ,“œËåäÉ¥®`bÆ¥ïæÒ÷ôU()*MåÒw pV0äÒwQˆ6T0ˆåòtQ```c;0ùD0ƒI~0Y"ÙÿIæÿ ò?&ù¤æDå(I²ôÿÿà"¹\=¹¹VI¢” endstream endobj 642 0 obj << /Length 301 /Filter /FlateDecode >> stream xÚ}ÑMJÅ0à)Y²é’Ø–G_]x>Á.]¹WêÒ…¢ëôh=JŽe¥ãüˆ? Ú¯if¦“tߟ ChÞ¯6 §á±s/®ßÑ\¦¼ððì£knC¿sÍ%½uÍxÞ^ߟ\s¸>kŽá® í½Ào@£B,D¸'€DdZš"-š,-ÚB/6¨3"x‰š¢äç”™œ®—ÓÊ®k‰í ƒËpÞ7q|Ì$pãFúæš¿È »ùdíL™@ÚAvüZ´H¥ÙFÓ¬¦YM«5Þk|,ZdÖìI³eb4Ðj`Môä³g!@Tt¶«`[ÈBÍ».àA8ã²EþõËwÌ•b«ÔŠW¢’üÉü'îbt7î}tû” endstream endobj 643 0 obj << /Length 305 /Filter /FlateDecode >> stream xÚ‘½N„@LJlA² À¼€ÅgErž‰&ZY+µ´ÐhÍ=Ú> @IA烋 á·ì|ýgf.ëK xQá®Âz¯•ÿð!ðe‰õ•Y^Þý¡õÅ#†à‹[¾öE{‡_Ÿßo¾8Ü_cå‹#>UX>ûöˆ)Eà§£‰¿ŽˆN£ÈGG#›"ˆqhfHøÔ8¾ÏéäfEÊAEIÅÈ=¿ÿ„Å-ˆÎ’%$©#쵂H\ÀÕWèfä¹  Íhg™…™cgݺi†¹8iZþG«`©s+´¤É,25×ô\iÜ`2[Ì[¸¨ÈE3)Dä/ˆþbZÁ1.8Gƒ ƒ•I¬³éUuužR¯áÍ:îXÔ&¼oÝ´í]Ö¯"MºÎÝß´þÁÿéýëo endstream endobj 644 0 obj << /Length 225 /Filter /FlateDecode >> stream xڽнjÃ0ð ‚[ôº'ˆìPÛt±!têP2µ;´4›qüh~?‚G‚$ÎýÅC»õ@ú¡Bw—&ó,㈮+]pöÈo1}R2æ¢ñ8^¼~в$ÿÌIF~{Í’/wüýu|'¿Ü¯8&¿æ—˜£•kžnûLMÔÐ@;ÑÁž&žEõD-twñ>‡5 pU/jh:ØŠ¶,PW+D5À^Ôh ma#:ôYÀVpÔ=ìDÓŠºb~9¬a€g‰æ/ÌÿŸuøÿwiSÒ]]Óq endstream endobj 645 0 obj << /Length 285 /Filter /FlateDecode >> stream xڭѽJÄ@ðY l“Gȼ€&áH¢ ç ¦´²+µ´P´N-²°`“b¹u>r‡"X?²ÙLæ¿Ó6']‡¶x\c[awŠOµ}µÍšéñLß<¾ØMoË;lÖ¶¼¢e[ö×øþöñlËÍÍÖ¶Üâ}Õƒí·hF8ˆs0;àÛ¤Ž¡+*³¯Lʨ€•Yñ ‘ iþŸŒk›àäï!%Nó¹4tíaà(.JÚ‚bÒî> stream xÚ35Ô32Q0P02ÆF †† )†\…\@$¤À2ɹ\Nž\úá@.}0éé«PRTšÊ¥ïà¬ä»(DõÄryº(È3Ø7ÔøÿëØ7È3p¹zrrç{ endstream endobj 650 0 obj << /Length 174 /Filter /FlateDecode >> stream xÚ35Ô32Q0P0SеP01U0³TH1ä*ä2¶ (˜›Cd’s¹œ<¹ôÃŒ-¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. @`"j@ÄÁ&~ f0ñH°ƒ‰@‚Lò`¢F؃ !õ ¢DüÃ4“$ƒf6a&I#Ì$l0ÂL’ þ‡¼ ã*@—«'W ¼OF endstream endobj 651 0 obj << /Length 108 /Filter /FlateDecode >> stream xÚ35Ô32Q0P02ÆF &Æ )†\…\††  ,“œËåäÉ¥®`hÈ¥ïæÒ÷ôU()*MåÒw pVŠº(DõÄryº(È3Ø7ÔøÿëØ7È3°ëçrõä äè- endstream endobj 652 0 obj << /Length 103 /Filter /FlateDecode >> stream xÚ35Ô32Q0P°P0´T01V02UH1ä*ä2 (˜A$’s¹œ<¹ôÃŒM¸ô≠ô=}JŠJS¹ôœ ¹ô]¢  b¹<]êÿÿÿßÄÿ ` .WO®@.Eâ,§ endstream endobj 653 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚ}1nÃ0 Ed0ÀEG0/ÐÊ ì¬Ò¨‡íÔ¡È”dìÐ í£©7É dñPä÷KÞ#Oà'ÁOª «Ú*kì!X¬nìôKùV¼õzÎ>uÓ©g^ý3eõÝ‹}ŸNê7¯OÔoí#Xµ×nkRþ 0ˆ,‹HŒ"`¢näX€¼,2…¥d;ˆ‹ÒF)ÆÔƒ"»G— Ù¦Ìì)ôeC$9ÙŽ‰}Ì‘ûÜîr²Ÿ9HÏ>Gi§´mÉe2¾bâÖ¿˜øɯäꢻNßôÕÇ€f endstream endobj 654 0 obj << /Length 223 /Filter /FlateDecode >> stream xÚ­=Â0 …S1TòÒ#Ô€4¨T H‘ø‘è€bF¬”£õ(=BÇÆN1#2|Qlç½çéõSLÐ`×`:ÄÌàÞÀ ÒŒ‹ f}ßÙaœƒ^cšžst¾ÀËùz=^NЀžâÆ`²…|жU|Ї¾è+ÖQý܈JfL5³ †IbG|Ä86ŠîŠ*U”Чm%ÏØ1ªx†µ(‡°óÍVüDÿ÷£FNß{½Ü™•¤ŠmùÎÙ’Ùçwñ^í{Ç›å)5Šx„u¹ ³VðÏ—r endstream endobj 655 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚ•;n1†äÂÒ4Ásâ5,Ùr%[D ¢")S$"õr4ÅGpéí`ó(RF}Å?Òÿ˜»—iÍ7> stream xÚ¥Ï1NÃ@ÐY¹°4๬78n-… ÅT)U L‘(Ô›Ü,¹I¸ÓÉdøÞU´Ðq n„µ¾#Ét«-l#¾kø‘¿&Ä–H endstream endobj 657 0 obj << /Length 225 /Filter /FlateDecode >> stream xÚu1NÄ0E”ÂÒ49Bæà˜M¶²´,) ¢@T@¹Å"è’£å(9‚K–‡ñ. #ëÉú3š?p—W=w<ð…ã~(ïÍÑ‘6[;î¯Ï×íF²O¼Ù’½S™ìxÏŸ_ïdw7ìÈîùÙq÷Bãž™#h%^²J"¨s-³,&ï&¢ M€ í ÛuôŠägTi:¿È d)ȧŸÖ¿HeeÓ_èæ3¾Õ Y}‘õET“Ô¼4©’ÅÇrsÀ$²jYÐhÔ%¦t;Ò#ýãk}– endstream endobj 658 0 obj << /Length 166 /Filter /FlateDecode >> stream xÚÅŽ1 Â@EH!Ì%œ¸»qµ1‚[ZYˆ•±´P´U–£xŒ!ãŽVéd˜óÿðù7Ê<[Çõž§WŽÎä-ëÄSÉŠ@fËÞ’YF•LXñõr;’)ÖsvdJÞ9¶{ %È_@"-0*rà¡Z'épGÒb†4¾"mz!Iƒ¤•o¨ÖôMù´øSKÖ?ø´´¡7ÃW€´ endstream endobj 659 0 obj << /Length 283 /Filter /FlateDecode >> stream xÚ}±JÄ@†çH˜fa÷4‰æ‚]à<Á‚Vr ¨¥…¢­YßlßÀWXß `“âÈøïD9-4„oÉ¿3ÿü“eµP»Òº=œËÒÕµ»­øëj隣¯«›{^u\\ººáâ:Ý™{z|¾ãbu~ì*.Öîªr冻µ£ÅD6’‘ µò!#õ"²%I\(3Éä}›CócŽ{mPÈD²ß„‡ýñùõý%ª›:“N¡4‘@™ˆò”&qTDæMøŠK2žv ;æQ9(ÕnhK IdÒvd="åâƒúÐ¢ÇÆ>yÅõšÔ &”ýɹf®Ÿ{[¤²¡ÉÓŽí ‰NŸ4:5þ¼®„8x’À'_ð'¹/¶t endstream endobj 660 0 obj << /Length 178 /Filter /FlateDecode >> stream xÚÅÏ= Â@ठLã2'p³’Hº…Á-­,ÄJ--­×£y2Å’ñmÒkÁ…ýàÍO1…žÎrÎXãÏ5Ÿ4])/‘ûÇ U–ÔŽó’Ô URvÍ÷ÛãLªÚ,¹æ=&dk6>Âs]PFÓýÀX‚‰¼`* tÒB Šˆ&–66aQÞÖ°ãàsdôm÷´ñN|*¸ª38ªw¨ ]ZZÚһ錀 endstream endobj 661 0 obj << /Length 141 /Filter /FlateDecode >> stream xÚ35Ô32Q0P°bS3#…C®B.c3 ßÄI$çr9yré‡+›qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]0000ÿ€ìP„XÉÀþ?Poýÿ?„=ˆ``´Dýÿÿÿñÿ âœx–àrõä äç"cn endstream endobj 662 0 obj << /Length 127 /Filter /FlateDecode >> stream xÚ35Ô32Q0P0b33C…C®B.cK ßÄI$çr9yré‡+[ré{E¹ô=}JŠJS¹ôœ€|…hCƒX.Oûÿêÿÿc`ø'À\{ÁÀ0 ûÿÿÿÿ¨€øÿ?0æ‚%¸\=¹¹Røm endstream endobj 663 0 obj << /Length 175 /Filter /FlateDecode >> stream xÚÍÊ1‚@ÐO¶Øä7Á—5pÄD ­,Œ•ZZh´:J¯Dâ<‚Ü@J ˆbb£½™â%3ØþÀï•ÀŠïËÚòŽƒ®ñ»iµå0f3—Àc3n[6ñDûã†M8ŠeÉŠ·ä8¢šNDÉRÂrpEñäÖ””ÀEV’n4TK­U‘®Tí|(Uõ“B•MÒ¸ÐHÎÈ¿ò¾ð(æ?‘—§· endstream endobj 664 0 obj << /Length 170 /Filter /FlateDecode >> stream xÚÅÏ1 ÂP àt*dñÍ |­¼B·B­`A'qRGEççÑ<ŠGèØáñ~óì"^À!äO2¤,¦3+¹Ze.Öʱà ÛJûO‡37›­ØŠÍRS6ÝJn×û‰M³žKÁ¦•nî¹k…(QíS<É… =!8 *TÀS ¤Cí)ú"=‹7êãKú5üßÃÞÁgñ« ïŒŽÉ8åEÇ~P„z§ endstream endobj 665 0 obj << /Length 202 /Filter /FlateDecode >> stream xÚ•=‚@…¡ ™†#0Ðeå't$þ$R˜hea¬ÔÒB£5£pJ â¸ì6´&“WÌdÞû^¦ç‹”cÎy¦9ÍÆ¹jzPR˜eÌiî.—;-+RGN R[³&Uíøõ|ßH-÷+Ö¤Ö|ÒŸ©Z3¼/€P ”¨¥Dx"_øâ ‚ò {ÔMØ¡l¢Q5Ûòƒ ³RékÀŸˆñõ†¿DÌÛ0qM]†Isâ Fk,š…´¸ÜU°el­± m*:Ð9‡n½ endstream endobj 666 0 obj << /Length 235 /Filter /FlateDecode >> stream xÚµ1NÄ0E´E¤ir„ÌÀqd":KË"‘ * D” ¨ÃÑr”aË‘‡™8 j$\<ÉÆóÿøÌŸ¶ö|Ò¶Î9~òôJ¡Sµá®ÛJ/´ïÉÝqèÈ]©N®¿æ÷·grû› öä|ï¹y þÀ@‘€¸T2bHµ!iY)’0ˆDI¥¦~B& #´;Nv­WVú Ë#tb9w¿¹‹?1¿ý™&ëüìµ¹+'KU¯Œãwι°Ì9¿mÝkQÚŽHQ»*mAÚiÑæÿ£ùéª7Ö³’«tÙÓ-}¢¦ endstream endobj 667 0 obj << /Length 172 /Filter /FlateDecode >> stream xڽα Â0à@á¡÷¦Ñε‚ÄIÓG‹88úö2:H“ºtöà>øï8¸¡êõ5g<­G¬5oHÇYc\lö”’ËINÍŒOÇóŽd>³"YðJq¶&S°"©…E™¢œE\½¸-îu׋ôá£p*X&.ÎEZ7¾Ÿ-}ËêK÷7-^D¨_~¶41´ 7Îyiõ endstream endobj 668 0 obj << /Length 227 /Filter /FlateDecode >> stream xÚMŽ=NÄ0„ßj K¯Éò.ŽYo¶Œ´?) ¢@[%h‘(âp¥ÅGH™"ø1&+Aói4ž™çµ»¼òRÉF.œx/~-OŽ_yUìÄ×óËã o[¶÷²ªÙ^ÃfÛÞÈéíý™íöv'Ží^œTGn÷Be*ˆT¿ÂRUC‘Qf4¿Œ†.,„B"êÂtFó)‘’ºž Ç …ÄF#a~̇¦³ ˆLÍ¥2~"1e`9Cÿf˜1YD¨é5-´×üÝ úVM4åkcƒÐ‡A›-ßñÊ­€› endstream endobj 669 0 obj << /Length 177 /Filter /FlateDecode >> stream xڭб Â0à+ ·ø½Ð4%q-Ô ftr'ëè èœ>šâ#tì =/uÔ ßðÿÜAÎêIn(£œÆšŒ!k©ÖxB£%ÌÈN_Íþˆ¥Cµ!£Q-$Få–t9_¨ÊÕŒ$­h+3;tA|yÉ=8úÞ‚™àÅøM?´¿ìÿé`Ñ|Ò‹-x¹I ,vQ°Oz€xøEÄÜÉ:æVôv§Ü„#J‰s‡k|jVmx endstream endobj 673 0 obj << /Length 208 /Filter /FlateDecode >> stream xÚ¥1 Â@E¿XÁ ˆÎt³$ ¢L!he!Vj)¨(¤ÉÑr”ÁÒÂÂÝM\Ò ¯š™ÿ~ö†Š}–>wUŸƒ€Ã>$]H™±Y¸åþDQLbÃJ‘X˜ ‰xÉ·ëýH"ZMY’˜ñV²¿£xÆ@hà ä¨e¨gðR4ah#K¼jšu‹—•4Ó’J&–±åYáñãóîHõrñ«øëb¸`.j‘\+h­c¤’Ÿc¥µÖ×%è*t!¦–­¨Aó˜Öôf¤M* endstream endobj 674 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ¥1 Â@E¿XS˜ „8ÐÍ®„(‹Á‚Vb¥–B…9ZŽâRZX˜ì&Ñ^xÕ Ìü÷ÇþhªØe‡Êc5aß㣤 ©jê²t›ÝáLaLbËJ‘XV ñŠo×û‰D¸ž³$ñN²»§8âx 0l X@/C7¯è”»B“ f€ 4VVÓËkºÏ†¢¢cx}AËûš#¿—Í/ó·Ñk£šäŽ ´TZ;–²ÆºÔ·t¶®%Ñ•EÑ"¦ }bS[. endstream endobj 675 0 obj << /Length 136 /Filter /FlateDecode >> stream xÚ32×3°P0P°PÐ5´T02P04PH1ä*ä24Š(YB¥’s¹œ<¹ôà ¹ô=€â\úž¾ %E¥©\úNÎ @Q…h ¦X.O9†ú†ÿ ÿᬠ—Àƒ€ ãÆæfv6> † $—«'W ÷ '® endstream endobj 676 0 obj << /Length 95 /Filter /FlateDecode >> stream xÚ32×3°P0PaCKC…C®B. ‚†‰ä\.'O.ýp ŸKßLzú*”•¦ré;8+ré»(D*Äryº(È1Ô7Ô7ü? ¶—«'W Ë endstream endobj 677 0 obj << /Length 94 /Filter /FlateDecode >> stream xÚ36Ò3U0P0T0´P0"…C®B.#3  ‚D"9—ËÉ“K?\ÁÈŒKßCHxú*”•¦ré;8+ré»(D*Äryº(üÿÿÿ6ÌåêÉÈ#ˆ'ï endstream endobj 678 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚuбjÃ0à‚Ž€Ödò=A-pèHR¨‡B;u(…@›1–²9æGñ#dô`ìžd •|' óŸ–‹;}Oš¼–üåô™ã÷¶5\—˜½RQ`öÈ»˜•Oôó}Úc¶~Þ÷[zËI¿c¹%àªa,ÑD!¯Q$mª‹bÞG¡‡Çá2bW…h*—¾^õjL/.i éÕA˜€j’S]3}`ðqdØô;€ÊÇç¸<ƒÆz¼ì<ÊÃÄ uH> stream xڥѽ Â0àá¡÷¦…¶Ø©P+ØAÐÉAœÔÑAѹ}´> stream xÚ½’¿JÄ@Æ¿%`` óÂÍ hþ`Œ×xpž` A«+á@--»|±t¾Æv¶)-­³»ÉWXZýÂd¾owç›*;9-8ã’ >+¹Êø1§*çR̸*üŸ‡gZÖ”®¹œSz-eJë~{}¢ty{É9¥+ÞäœÝS½bÉØ é È˜Þ2Ô „‹–FJŸÑ -_ñ ¾5’ÞJ5fÒ‚FÛvÑh4­PŠ"¡V»‘ƒe¬£‘ÖF T ³ûì·Íß„iÿ—Ó¹{ ÷šî=¾#0¼·÷ôs@7ÑÏIMlý£VMtsŽáç~ŸÃ!|.Gð9Ãçö—#äÛÙ˜­0¶Ì\f¼·Ý Œ{‚qo@W5ÝÑ/X¸’I endstream endobj 681 0 obj << /Length 296 /Filter /FlateDecode >> stream xÚÅ’±jÃ0†OxÜ¢Gн@k»g«!M¡ íÔ¡mÇ-íì@^Ì[^Ã[WŒÕÓI –õq’î¤ûÿUu¹¤‚–tqE+þ z+ñ«Šƒ…‹ÈÊë®ÌŸ¨ª0¿ã0æÍ=}ý¼c¾~¸¡ó =—T¼`³!ÐÀ–g°¶ƒžçÌÚA@jTê®,÷ ÙÈãÀ°8¨_=¸eãöµ½âC»¶®ŠîAMF‹^ò ¸|œ:I *©@=‡N` í¿À÷Ú ”åž»kÌÛ6„Öñ9&>0s‚!€žof ¾á&j‘‚—ɤ¤”bu”» g€ŒÏ«C0I¶µòF‚)ZëÍæ¥ûàmƒøê*­ü endstream endobj 682 0 obj << /Length 130 /Filter /FlateDecode >> stream xÚ37Ö3°T0P0b3K3 …C®B.3ßÄ1’s¹œ<¹ôÃÌL¸ô=€¢\úž¾ %E¥©\úNÎ †\ú. ц ±\ž. ÿÿÿ?Àü PhÆÿØÿ70Ô7000þc~4È«Øèáê_ì4,žq¥.WO®@.þ†Ã endstream endobj 683 0 obj << /Length 112 /Filter /FlateDecode >> stream xÚ36Õ34W0P0a#3 …C®B.# ßÄI$çr9yré‡+Ypé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÿÿÿ†€ˆ¡þƒý‘A~y) ¸\=¹¹Áƒi° endstream endobj 684 0 obj << /Length 258 /Filter /FlateDecode >> stream xÚ}ÒÁJ1à ] {-(tžÀdiµñb¡Vp‚ž<ˆPY¥§R=wÁ[ðEú{ÜÃÒ8Szh»M ß$‡dÈo¯/C2tÉÓéÊÒ{ŠŸ8²\)å _à$CýL#‹úžwQgôýõózòxK)ê)½¤d^1›’sðˆ]ã\)Jö¥vÚ,×¢³ú´æ•hp ¼å½5¢?f|#¨ßC­XQäÓ˜éxÕçFºGJøù=¯bnÄxujQüüÒ+Ø€*üZAÇ€úe7 dÝk)®L@Q= H5eKÀá ˆÿFTµ¥¸¸Ù*q[qœ«àœƒ(ùk ï2|Â]áÍã endstream endobj 685 0 obj << /Length 280 /Filter /FlateDecode >> stream xÚ½’½nƒ@ Ç2 yáÎ/ÐD%dCJS© •Ú©C•©íØ!Qº&<Â#02 \±M9¤0‰Óïüqw¶ÿYºÜÜSL)Ý­(K(‹é3Á®ÓÞS¶RÏÇ7n ´o´NÑ>õf´Å3Ž?_h·/” ÝÑ{Bñ‹€é@¾À¹J lÂFÀ” ¾3@.!-@ÄA‹> ¬AÞˆ™Ýœ’–™òËî*PB §š œQíAoî×"…–½|s F¡óËÃë \ÜJ©iÜåÂÌ oÀ×¥%Oà¶¾cj{¾ó:‹šçéT~LpaàE䫸 »› `”›M5•Ò(­Qlƒüð±ÀWüq¦2 endstream endobj 686 0 obj << /Length 184 /Filter /FlateDecode >> stream xÚ33Ó36Q0Pa3C3 …C®B.S3 ßÄI$çr9yré‡+˜šqé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þÁõÿ„úÁÀdòEë€L0 Jþ˜â‡Pì Ô0Åü…ú¦Q©ÿ¤R(Ú¡f¢Zµê¨Ëä ¹¨D}ôß‘¡L1þ¢À±‡Nq¹zrr¥¦’) endstream endobj 687 0 obj << /Length 252 /Filter /FlateDecode >> stream xÚ¥Ò½jÃ0p †[ò¹hd‡`e3$)ÔC ™2”@ íØ!!Gó£è­ ©ï3üU?&Æ ûw†ã0ÿ ó,N=jÂô7˜>ÌFTÒ¿ž¸‘Ux4·ÙF=„E_¹%¸\áµ€=Ü/ɸh endstream endobj 688 0 obj << /Length 289 /Filter /FlateDecode >> stream xÚeÐ;NÃ@àßrai›=‚ç`;qѰR. ¢@T@I‚.J|®²7aàÒˆÈÃÎ$ÊCi>˳óØI}^M©¤ ¨¾ iI/•y7õ8KšŽ6'ÏofÖ˜âê±)nbØÍ-}~|½šbvwE•)æôXQùdš9!a¤€åŽûè€Á"é‘[dÙ72ô¶•ÜÃEW¸Œ:,wæX¨ë¨=0;rØ™nåW-¤·WƒèzUR‘³„,k–Ÿ”9¶M˜¥<êåÜI÷z°Ö:©HxÛDL¹ÕÎc¿ŸêÔ|c=1;2œØ‰^´¾ßÛê]ÚA·Äº7™¿Ä_l´Æo'kïH;tÎÛ€_Ñ"èÅ=\lh®soþWŽŠÐ endstream endobj 689 0 obj << /Length 333 /Filter /FlateDecode >> stream xÚÒAKÃ0ð „±^{û¾€6L»SaN°AOD¨GaŠž—–R¿Aa—‚£ñ½Ô‰®.x ?’ðþ¼dJg9*ãѧ9žäøÉg9ЦÂÓ¯“û'9+ezƒÓ‰L/h[¦å%¾¾¼=Êtvu†™Lçx›¡º“å­µ0°¶È¶ûØ ±`ka5@´!FðÖ ¡%¡£­£¬è~°Ùñð· CnɱÇÔCÈ…sŠÛZí¸¦npIm‡²Ø1õu°2ÎÜcÌ!æ/WÎÜ£¢¡÷[P `¿ùQ ½ÖÂPá{¥…&{6¦Gq.LÀ!qÏÙvNªC”ÏQí&²ðyи‰¯7<…w砳é$kgÑòDÖÐ3ÿ¸èÃ,O¤õûû7y\páÆïC^êxÙÙMŸGž—òZ~GÈ endstream endobj 690 0 obj << /Length 229 /Filter /FlateDecode >> stream xÚuϱJAà¹ba ï ¼yÝÙhº…Á+­RˆPK E;1 ¾Øt¾Æ½±»âp½‹ S|Å?;?¬ŸÏxžjösö3¾­éüTCÆÍÍ=-r+öSrg“kÎùéñùŽÜââ„krK¾ªyrMÍ’a{è„Õ®lBŠ-`a:`Ðu)xªu‹w­äG½W‹˜ÕùÇ2©&e˯œɦá¶ÏÚnh›‡Î ÙÍhüuð‡aǨ‡k}ÿ¡ Þ[ bÔªµoŸb»ý"E“z“†O¾€Nº¤oÉŒla endstream endobj 691 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚÅѱ Â0à; ·ø½Ð4X-‚P¨ vtr'uTt•7)7´&/¡Â“²‰Ž hÀ4³“"¯rM¾ò¨Ó˜îzd‡Ú endstream endobj 692 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚ½ Â0…Oé¸KßÀÞд¤v øvtrAPGAEÁA0–Gé#8:õÆÜòANȹß-LÇÎØp;ç"ã¢ËëœödJ åZ¾_V[êU¤glJÒ#‰IWc>NÒ½IŸsÒžçœ-¨0pu@ÜÜ€Ä_‹x vёÒZÕ°uú/¬{#õÒ¡^EÈAó^Uö‹ÌzÌÅN4° ¨E A2ò¢;Wa…Äé ¨°V4¥'VhLr endstream endobj 693 0 obj << /Length 212 /Filter /FlateDecode >> stream xڽϱ‚0à’$7À ˜x/ ¥$N$ˆ‰ &:9'utÐèf,Æ£ðŒ F¼‚†ÆÕÄßp×öþ ü¡ ÑÃ$ÇÜK8¯‹†ïÎîq b~bNeé/çëD¼œ¢‘àF¢·…4AFGi¢ú[«‘µª?«2’×%éæ72byg6ù ã•Nh—:¡]hÝB¿íçQÖ©L›)õ϶ÿ˜?›Í$nþIØd¦ä¼Ô[Xm”ÑFŽÊiÇžzÒÕŠäuA63`– ^¶Ñj» endstream endobj 694 0 obj << /Length 210 /Filter /FlateDecode >> stream xÚuÏ1jÃ0àg<þÅ7ˆÿ 4²‘ã1'…z(¤S‡$ MH×XGÓQ|„ŒJÝW\(TˆôúŸ 7uN3uúk‘i1Ó}.Gq%CËáf÷&u#öU])ö‰±ØæYϧƒØzµÐ\ìR×¹fi–Šè €éÆWà‚Op_ÝPIÓ!õ I@Ò*¤#f %×#ý¸~á,üK{ÇT#ç¼³¶,„ΰq`É(°nìYÜsLøâ¾Þ–ÇF^䃷V2 endstream endobj 695 0 obj << /Length 156 /Filter /FlateDecode >> stream xÚ3²Ô3·T0P0bc3s…C®B.cc ßÄI$çr9yré‡+sé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ø000Ôÿ```ü!ÇÀÀüÁ$TßÀ à?hö ¢žAÔ30üc T"þÿŒ ¨h2ÝF»ëÿÿG&¸\=¹¹aök# endstream endobj 696 0 obj << /Length 275 /Filter /FlateDecode >> stream xÚ¿NÃ0Æ?+C$/~„Ü @pK§V*E"L02€`«÷ÉÈ£Dâ`ž”7Ѭ$7ëãî¨d¸¬*¦ ¯:}§¿$ X endstream endobj 697 0 obj << /Length 167 /Filter /FlateDecode >> stream xÚÍα Â@ à;:ò’'ðzxµ: µ‚7:9ˆ“: *:{ÖGñ;œs]úÈù“!¹éë3pç‡cÜk8ƒ‰YǸØ¡´ Öh PsNAÙ^/·¨r9E ªÂÆl ¶BéuL[“Vùeˆ¦T³½ôÉŽdÞø@ú‡`_µ¬‹’wV| ýÿšð‡äˆš …oafaosKƒ endstream endobj 698 0 obj << /Length 125 /Filter /FlateDecode >> stream xÚ32×3°P0P0b#S3s…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒØ€ÿ‚ˆ¥ˆŒþÃûæ? : æ ÿÿÿ€ .WO®@.»P endstream endobj 699 0 obj << /Length 220 /Filter /FlateDecode >> stream xÚÅÎ1ŠÂ@`CŠW˜ ,äÀI0­QÁ ne!VºåÂ*Z'7ðJÞÀ+ä)Shžóþfe=€ó1ófÞãOãA2∇n'MxÓž’ÔÝ#½êÃö‡ò‚슓”ìÂUÉŸ|<œ¾ÉæË)Çdg¼Ž9ÚP1cïÖsK^4ЇÞû ¥þg Z7-¬áVj]p a­zÕ¯TƒùÌP)ñ*êýªÿåܨFíü½7̽ ,a† ò„0@ AÂæ/¹¤vPô`¤iCiŸ¥yA_ôúŠÜ endstream endobj 700 0 obj << /Length 110 /Filter /FlateDecode >> stream xÚ32×3°P0P0b#S3K…C®B.#C ßÄI$çr9yré‡+ré{E¹ô=}JŠJS¹ôœ€¢. Ñ@-±\ž. ŒþÃûæ? ŒC 1ÿcøÿÿq¹zrrp^Ú endstream endobj 701 0 obj << /Length 203 /Filter /FlateDecode >> stream xÚåÐ=ªÂ@ðH˜Â\@ÈœÀMü BÀ0… •…X©¥ ¢­ÉÑö({Ë«ãî+¾¼b†ßü§˜aÖé8åž«|Äý>2ºPî³Ô~±?Ѥ$µá|@jáRRå’o×û‘Ôd5åŒÔŒ·§;*gX@l$Æu¯8lSyÕEÈžñn!Ñ­Á£X#xiTCÄÆ©F•þHjODO' 0¿ôvÒÊÝö§þ³B÷J#n Ò$"¡ˆù&š—´¦ݤ› endstream endobj 702 0 obj << /Length 159 /Filter /FlateDecode >> stream xÚ35Ñ34W0P0bSC…C®B.˜ˆ ’HÎåròäÒW01çÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(0þaüÇÀðÿûÿ@RŽý´`üÁÀþ§€ñóŸ ÿ`ø$@äÿ†z É€ ÿa/É òmÃÿÿ?ìÿÿC&¹\=¹¹?qjS endstream endobj 703 0 obj << /Length 209 /Filter /FlateDecode >> stream xÚ= Â@…GR¦É2ÐMtý©bSZYˆ•ZZ(Ú‰ÉÑr2EH|›((vÂðí̛ݷ«Ga_<éIÛ=Ý—½Ï'Ö]ˆžQêÎîÈAÄj-ºËj™U´Ëùz`,§â³ eã‹·å(¢8!"«Ê@'-À1¹à4r²Sjed=L A Ñ‹]l»ÓŒßÄñ V0ùee˜þǯÛ̬äsnãÄ…«òíž ²Áœ¬Ì”/óÍKÝ´í*ëßàYÄ+~PûZ> endstream endobj 704 0 obj << /Length 218 /Filter /FlateDecode >> stream xڭнŽÂ0 p[*yé#à€4"€øè€t7Ýpº ‘Á }4¥Ð±CHpH'n¼[~ƒ­8{`zzÄ9÷¹«Ç<Ðl o5É„jÎÃ~ÛÚìiVúb3"µ’:©bÍçÓeGjö1gMjÁßšó*Œ6±Þf¾'i%°ôQ|”p”Þ´Dй£+”7Y´¦Ñ&˜Dí»èþêï™ñÇÖºÍã^ÙÜ+­džF˰ÅU6ºƒ´uÒˆ“¬;Ò‰wþÛĽoÞ¤eAŸô$”Šš endstream endobj 705 0 obj << /Length 144 /Filter /FlateDecode >> stream xÚ36׳4R0P0a3…C®B.c˜ˆ ’HÎåròäÒW06âÒ÷Šré{ú*”•¦ré;8+ré»(D*Äryº(0ÿ`þðÿ‡üŸÿ?lìþÿ(¨gÿñà?óÏÿ6ügü  u@lÃøŸñþC{Ì ´÷ÿÿpÌåêÉÈÈöPê endstream endobj 706 0 obj << /Length 213 /Filter /FlateDecode >> stream xÚMͱNÃ@б\DÚæÚTdëä""R.HE¨€’’‹ˆøÓü)÷ ‡h®°¼Œ!Åkfg´¾:[œë\½ž–ê—ºXêS)¯âK†såí÷òø"›ZŠ;õ¥׌¥¨oôýíãYŠÍí¥2Ýê=7Roë0ͬ¯&aÖ8äéYZi4 % :šŽú£¬1X[ÀÌz83L̺ܘE†œ[yß!8}†?£øË+–÷ÔðO2dñ»ÍÃWtm8 è\„\Õ²“uYÛ endstream endobj 707 0 obj << /Length 160 /Filter /FlateDecode >> stream xÚ36׳4R0P0RÐ5T06V03TH1ä*ä26PA3#ˆLr.—“'—~¸‚±—¾P˜KßÓW¡¤¨4•Kß)ÀYÁKßE!ÚPÁ –ËÓEó¡a9$lÄuPüˆÙXþÿÿÿ¡$N#ÌC®ca¨gc{ ùù ì00þ?À”àrõä äùJm endstream endobj 708 0 obj << /Length 162 /Filter /FlateDecode >> stream xÚÍË1 Â@…á·¤L¡°˜ èfqCÊ@Œà‚Vb--+'GË‘<@Ⱥ!Xè l¾âý3©™ŒžóÔpjØZ>ºíÇ„m:”êL…#½c›‘^…™´[óíz?‘.6 6¤KÞNäJV- ð-rÿeÜByD¡z 7ÿ«ÿU}Ä`‡(øD,uxIƒé0nÒ·WR héhKo©b“ endstream endobj 709 0 obj << /Length 236 /Filter /FlateDecode >> stream xÚMÏÁJÄ0à?¶0àöª°Ð> stream xÚeпJÄ@ðo \`^›B¼yÝÍ] ç ¦´²á@-íÄÛG²´Ì£äR^w¢ùÃÙüŠ™]¾™9ŽŽâ„ Oùpj8>åxƽPS5œÌþZ÷O´LIßpœ¾puÒé%¿½¾?’^^qDzÅ·›;JW\×…ªË¡~ lr¯&V‰÷g¸î¾{„'À´N2¬;säÀ8GÖêÊvn=§·õЪÊQoåb]pл ~‹‹¯^¶ã8ëõí®Ø:úg00ìœ7~Êžî¿®JT¥Ä٠Ͼüœ4s”M^!ÒyJ×ô[ÍX' endstream endobj 711 0 obj << /Length 207 /Filter /FlateDecode >> stream xÚ½½ ÂP F¿Ò¡¥Ð¼€ÞVn«“‚?`A'qRGE7Áúf}”>BÇÅšÞ‚Šè*3$|9º×î†ì³æV‡uÈQÄÛ€¤}®+ê5“Íž†1©%kŸÔTڤ⟎ç©á|Ä©1¯öר8Ux·èã”À*à%V7±38©“ÂÎ \Aî&°rOP ådeyÜ¿¡>Xý ?c\%éý#øë£æË'q¶(I£©fÔ‰µNšÄ´ ƒ…) endstream endobj 712 0 obj << /Length 259 /Filter /FlateDecode >> stream xÚ]ÐÁJ…@ÆñOf!"·."ç åÚÍE0p»A.‚Zµˆ ¨vµ ôÑ|Á¥‹ËÎgH0?˜ñ?p´¬NÎNmn¹ÊÒ®×ö¹wYUºÏ¹å‹§7ÙÔâîìªw¥§âêkûùñõ"nssa q[{_ØüAê­…ÙÈB´aD4%;˜>Ú#îp¨§Ýà{%*eÌdl”鈧W”]èHÿ‹ùOË·ž¦…dfä 3Âױt¢KÒ‡óF¼oæû¼³MØfl=³oÂ,"†EÌ"pLΉ~WІh–Fš¥F³*Ö4×€& !Œ3ž´DWþËZnåÎvj endstream endobj 713 0 obj << /Length 257 /Filter /FlateDecode >> stream xÚmÁJÄ0†'ô˜ƒyÅÎ h[éÖÞ ë ö ¸'âiõ(¨èÕöÑò(y„sÆ™ì$ä;dfþò·ýùåšjjéì‚Ú5u=5ø†mMrºþPÙ¿àfÄêžÚ«~Æj¼¥÷Ïg¬6wWÔ`µ¥‡†êG·*€‰`ˆß‹Z@y˜æÂÂ`5@éNŽ0Þ8FéÁ„ Ê ðÒxÖ‘õPºŒÁ fÆÄ¾ŠÍ¡HmVJ[ù\8ô¥ )ƒqYT‹‘Nà K†Jˆ¿8L3#Úÿ±Ä™g¾DïU”kñèÙ-¬Ä2¥¡gþBá8&%ÁÃ1DñÂëwø>³vq endstream endobj 714 0 obj << /Length 206 /Filter /FlateDecode >> stream xÚ¥ÐÍjÂ@Àñ„@CÐkBç º·‚Ð õäA ¶GAEÏæÍÌ£äMbö/hèµûƒÙf–Éf¯Ó±Zµ'›èdª?©$¶¹u©{øÞÉ<³Ñl(æ½½“èéxþ3ÿ\h*f©ÛTí—äKõ> stream xÚÔ±JÄ0Àñ„ ½¨4O`µÐ[,œ'ØAð&qRG¡ŠâØn¾V|‚ƒëmÞp\üò¥Šp9óÚä—–JôÁá~q¤r5…KëBMKu«åƒÔy;¹µ}ts/gµÌ.ìËì ¶eVŸ«§Çç;™Í.N”–Ù\]i•_Ëz®ŒY37RcºÿµUØupû•]ì™Q/ë-%öu;>ƒj{ªPÑkPé%„G“*K¸0IX‘ S†Å]¦Æ'æÂ aÞ„a¢Ž Ì$˜W&¦ˆ>a˜’"ÌÔø…a’ ïI‚0QGdl‡ LLÌ M¦¤ 254A¦a§Ú·ž¨ê£#*ýbDM6~ÿ,> stream xÚ³4Ô37R0P°aSK …C®B.s3 ßÄI$çr9yré‡+˜›qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]þƒÁ뜄²>€ÿÀû@‚ÿ?±˜ÿ7@Y -–ý DBXü`,v8‹ùœõÆbˆÎõÆªÇÆú@3ÛnÁëfd_b†û?̰⇇¤<€³`,x> stream xÚ³4×36W0P0bK#K …C®B. 3 ßÄI$çr9yré‡+X˜qé{E¹ô=}JŠJS¹ôœ ¹ô]¢  b¹<]ìÿÃÀ"˜ ì`üÁþó ó”)ÿÁþ”Éÿ¡¾ÊdÿQÏe2ÿ¨ƒ1ÔÀ˜ 8˜pfAfœiA&óœióΔ¡œÉg2Œ2G™Ëe^L¦ýÿ0• @ “ËÕ“+ »Ïö endstream endobj 721 0 obj << /Length 287 /Filter /FlateDecode >> stream xڕѽNÃ0à‹> stream xÚµ‘±JÄ@†ÿ%ÅÂ4yƒË¼€nnàà pž` A+ ¹J--îP¸B¸«Ø×\_ðSE;ò%ë_ûtòøBë–Ü=û’ܵl“koøuÿöLn}{ɹ ?T\n©Ý0`Bùòð¡h§"à(»Ù vì3…,r£Vˆç ½(R0§(™ºZ1̾‘?¡^3šAÑï RàWÄ^þS…ãML j×3ô)0}1Fè3‘õ¹fšÅš l—iX6e–§©î*y’›XˆÞ i}l±éæM‹ó£«–îè S-zY endstream endobj 723 0 obj << /Length 290 /Filter /FlateDecode >> stream xÚåѽJÄ@ðYR¦É˜yM̲pž` A+ ±º³´P´”äÞ,÷&ñ ´ËAȸ³›„ÃÃΰ¿Ý%“ͦ‡GÇ”RFûš¦štšÒRãN2»šÚ¹ö{‹{œå˜\Ó$Ãä\Ö1É/èéñù“Ùå)Ùùœn4¥·˜Ï ܵç0Cþ v þ-¸ôˆ¸ñ0ÜypiV‚ …p-P¯‚¸ØLð"(J€Ëv×W—ÀU+ov®Œ‡-ã“ßúcDâõg˜Uâ7({ð_`üú7'4»¨¿ ÁlÃ…éâm¶sކH/@×b€±'Û¸^U Þ¶b°æÊUŒVlÿA1J·1×vÏÞ€g9^á[9×^ endstream endobj 724 0 obj << /Length 267 /Filter /FlateDecode >> stream xÚ‘±J1†'lq0…ûÞ¼€f̰pžà‚Vb¥–Š‚]òhy”}„-¯86ÎL¢œ‡• Ù/Ìü;“üq«Ó5äè¤%×QwFO-¾¢kHfçræñ×Ú;r Ú+£®éýíãíúæ‚Z´ºo©yÀaCÕ 2–i¤´å¯™5º˜À€z„>‚¬%k<&rš¥,«¶`vŒìd+q3Ëß’1«^+ü ô\úoxE<@ØG*Ðqˆ ÷ù/|AüýoŒÙ¸=˜¨×,¨¢8U(`‡Ø´ fA-©‘pœûžçÚŸ¹Ú¤Pjí"ê{mœ¤ÔIš€‘ƒã倷øYRŽ endstream endobj 725 0 obj << /Length 351 /Filter /FlateDecode >> stream xÚ­‘ÍJÄ0ǧäÈ¥¼€¶‹µ‹§Âº‚=zò ‚ =øu“mÁë£ärì!4ÎLRuD¶„™ÉÌüg¦^îW¦4•Ù;(M}hêÊÜ-Ô£ªKCÿQ•\·jÕªâÒÔ¥*NÑ®Šö̼<½Þ«bu~lªX›«…)¯U»6À_‡GzahBŸ ‚Õï„—ã›t ]æ2 º‡¦G6Da)…Æh˜rûÅÌcf÷EA¿1-Û?pλëÛÕ³«÷³î I}Òˆš6Ä¥£P€gOén Àâܘ’ÝÙ'û+ít‰c¢„036u! è’¡AÒMÄ"9Ñ%ûÈ} |H³=¤X9ÑZ±H v¹÷]Ͻãm³E=L‰QVþgÎq)Ïœ¯ïRþT7éØD]àãn²¤Çó cˆ»Æ’|´M É'bÛ<Î%øªNZu¡>ÚvÔ endstream endobj 726 0 obj << /Length 219 /Filter /FlateDecode >> stream xÚ37ѳ°T0P0bsCC…C®B.33 €˜’JÎåròäÒW03ãÒ÷ sé{ú*”•¦ré;8+ré»(D*Äryº(00`öÿPÆ"Œ0C=Ã~d3ê@Ìÿÿ@üÿÿCö àP³?PÁ ÿÌøÀÀÿÄ8x€ýˆq¸¤Íþ83˜qÈøe0‚w`Œ0H+Èû¸p3Œ2¨ÆÅ>ãÿ òÌÀøþÿÿÿf qƒËÕ“+ ‡ÞP endstream endobj 727 0 obj << /Length 279 /Filter /FlateDecode >> stream xÚåÑ=JÄ@ð )¯É2'p2°Dl ¬+˜BÐÊB¬\K E;qÒy­ˆ…å^aŽ2EÈ33ïŸÂEô„ßdȼ¯Ú»Ò¥Ou¤mYê­¥ªÂAßÃîöžÖ ™+]­Èœ…c2͹~z|¾#³¾8Ñ–ÌF_[]ÞP³ÑIÚ%ae,ò*˜¸=ëÿcÊ<üæ<¬6êF¹ç<ì â½Âö¢òÈÓ‰Y+æÈ _à ª^L½˜ubÞŠ¬qîð‹ï,÷?vïóMÜectJ§è¨ÄAq´O8Öç‡:ê®ÑG±ˆþò}-¢ÿ˜ ô¿È˜KHçÖ~Ÿc¹‹½DÇ='ùù0t[°gž7×ÒiC—ôÍâÞÏ endstream endobj 728 0 obj << /Length 249 /Filter /FlateDecode >> stream xÚ­‘±NÃ@ †}êÉK!~¸5Ç©©*ÁÔ1#æÜ£õQú3T9l× êÈÝIßɾü±‡Ûë5•TÓUEá†Âš^+üÀ:p°¤PŸ3/ï¸éÐï©è·Fßíèëóû ýæáŽ*ô-=UT>c×€Kxåiôi$Þ«Š@v”#W@Áø!ç'=rå4à8 E\)™æGCÎ †B1Š:‹6ŠÓ½bê¥:wZ¹KÿŠ??²"XÖi=Ì1w«½fùbpêYœ4?Í]óšeä[›ƒã©ÄßÙÄt~xßá#þ°´”ð endstream endobj 729 0 obj << /Length 288 /Filter /FlateDecode >> stream xÚÕѱNÃ0Ы2Dº¥ŸûHmÚN–J‘È€SÄÔ22€`%ù4£Œýƒ*Ÿà1CÔÃg[!uBbˆòîbŸ»Éèt:£ŒFtr6¥IFÅ9­s|Âbl³ÍòðiõˆóÓ%cL¯lÓòš^ž_0ß\t—Svå‚ ÒPiˆYÇÜY0ë„Ù£Ö-$F°i nüQC$««­ö‚l±réÚ¢•ÈîWFÐ$\E‡aë×}!î~"Ú÷bÀÇ ö€?ÄqëÿÁ®·®Q®uæ{3}>t^ ãuCaÊΟ jëeG)…Am´«êÝø¢J¿IãŠe­Å[W.Üç¿¢jØ„7ý¼,ñ?n·Ùe endstream endobj 730 0 obj << /Length 281 /Filter /FlateDecode >> stream xÚuÐ1NÄ0Ð¥ˆäÆGð\’o$"-‹D $¨(PR€ [mr®â›#¸Lv˜q v š'Ù3þ3Éêì´n¨"O'5ùsj<=׿Íx/—5«¥òôjÖ)ïÉ{S^˵)»úxÿ|1åúö’jSn衦êÑt8ä€å©zÞ[dŒö yDñbDΰƒtÁ‰=Z¨b‹è°M΢ýÇûyqPû¡©“Újë•e^Œ5X*³>ìYëŽYžÌ:#•õB´IjÆ!¥MlGÕ-ƨéÉâH]$?r>Pçäcš6òŸA§Ù ÓìÖ~¢þ¥I"v˜¶ÈfD7¸ˆ(Ÿ0æºl@/]æª3wæׄŒœ endstream endobj 731 0 obj << /Length 191 /Filter /FlateDecode >> stream xÚ35Ò31T0P0RÐ5T01U°°PH1ä*ä21 (XXBd’s¹œ<¹ôÃLŒ¸ô=€Â\úž¾ %E¥©\úNÎ †\ú. Ñ@ƒb¹<] @€ò>’ƒdF"Ù‘H~$RLÚƒÉz0ùD2ƒIþÿ@ÀðƒD1aˆ’Œ¨L²ÿ``n@'Ù˜ÿ0°3€H~`¼ücà1ƒ(¸l@Aÿà(ÀáÍþÿ8¸\=¹¹~@‡Ø endstream endobj 735 0 obj << /Length1 1510 /Length2 6478 /Length3 0 /Length 7479 /Filter /FlateDecode >> stream xÚt4lß¾Y{ïZAÕ±÷ž­½g B$DìÚ{kÍVmJm5ZJmŠRÔlQjÔ5J)_:žç}ž÷ÿ?çûNÎIr_×oß×ïæd30P# 8J((,PÕU· „…E……E99M (ä/œÓ ‚ô‚"à2ÿ°PEB@(4¦B¡ upÀo( JÈ%e„…"ÂÂÒ"25 ÐÜAÀ!^„œª$ÔÙ…Îó×_·#(--ÉÿË ìABAp€.åqGgtÁÆG(åÿ¯Ür.(”‡Œ¯¯¯ ÈÝKtVàáøBQ.#ˆé~¶ йCþ´&HÈ 0qzý&ŒN(_@0¨#î…vñ†ƒ!H:;ÀX[ ïÿ6ÖùmÀø3Pøw¸?Þ?A῜AŽŽwÜ w8Aa€¾†Ž ÊÅÁÁ? A0/Úä‚Â@hƒ_¥ƒʆºÃ?ýy9"¡(/A/(ìgB?àǬ«"ÜÝ!p”áÏúÔ Hˆ#zîþB.× Žð…þur‚ÂÁN?Û{{™Â¡žÞmµ?6hˆð?˜3–‘”@<?G¡Ÿ Lü= ¿HàOÝCP Âà„nu‚ ½@> é ü'ñï!CQˆ3NøŸèhâôûŒ¾$Ô`-Œ– üóó÷?[´ÂÀ8Ìÿ?æ¿®XHÓRCÓʈïOË“**?@ €ˆ@@DZBHJŠ‚þÈýSÈ?œµáN€ôïzуú«fŸ?"àþ³!<€ÇÒC ¥ pÿGé6ÂâÂŽè/àÿYï¿\þ2ÿåUúW¤á ƒýâ¹ü?<È óÿc–®7 ½ºô2ÀÿÛÔò{wu!`¨·û³Ú(z”áΰ¿ õÒ€úAÀP”£ËoÅüÆMî ‡ ¼ ?_€PXø¿8ô‚9º¡_/´,Qôþü;¥:Üþ¹h"â ò'D_3ú$¢7 ñû%d€ B»ÐíœHŸw D?cBHøçðU Î?É?¸Ä߸ê°Ôß0Êã°äß0Z(tο()´ƒ—·»û¯ õò€üÿC ÿƒD{ýNô¯½‘Hô¦ÿ!ºû¿Î¿žÄâH87p”t}ÙvV§Ìè+°6*ÿžsÍ<›G pÙîý/ƒ§öIø'ä©rÆ`7ùüŠ:÷‰ÒÖÛ-x1­i†¯.î_Ú=0_{E8;FÛÿ®d[¹¡™€IÀDiýþÏûfanØ-˜w8 <½¥H ЍÎ|{5ýú*>¾ž^3\¯•¸KtY1!dšhV6ÉYè;EÏ~%ÀŒÏKyàG6yrúž2ÿÝ5ë|„A;I¢¥VK"ÉçS U&"^ ·¬è™±O(ߎßTÙȼC7X^ºX<É–ìäq­©h}j†ró~Â%N«Ol~±¬QTÉØQA§¼5CàhʆõÍßf<©RÕßÅcÂŽ¾mciÈáSEâ>h»¡..Ùªü©˜/\Ôº¯4ê±d¢h_.­Ìmo½B[•U‚; ¢’Ñ+Ÿ‹nnÊϱX’w0´I5ô…pݬxT±žº…¥T>â•,µðöñ}ÜK’X6}æ|{:¡ÊôršO­Ú\¹´oéÓdË.óêÀ”A®Ÿl1§-2—B©d ï:9Ÿ¢P/£f)tw-Øéû±Èm©Ùó@Ÿt Ý㢳³Ï/Øs‚«¾à>Üò}ìSõy`2æŠØ´}Õ»­Aì~ÇÂí&N2õÔfŸ8F-/)v‘¾ßzØá[¹Ç½»/K3á¾,gþCßbžœ œÖ#Ôò1 òÆGZß™e¥4lǬg\Ú4ã»éß;(‹ü_„Õ÷ñ,Ú{kS(gŒã9#v8ñNà™k)œ—ô<:µ5"´±/Êìvèm³àfü“ß¿Q1E´»ZOÒh=Ÿl0‹Ò}èê U:¢2Œ:±RY{Ì}¶].uz"ÐÖdm@ YÂÓz&cG¸Ÿ´`4þzkˆÕUYÔFãÆôñ°vÀ7­¨guþ·²Šn!q‰ç…êý\G¤DsÈñN>î-+D(Ü\o'“þ¦7þÄGàÃWŸâ%žK“b5^æWÚ:AùÍžLuŸË?:øÍ(|;eö& jO­¹½)3º-³bÙy4Žyñ¢1f«D=-¡ú±l×:Eù^æ»§$±ÖYBdkêF#²o6“dÓIÙû%¸ûž5ÜeTTeQuváy=E¬ jÙ'†>c]è” W¢[?ˆÎå¦b•û€›”ÃxŸ/š'hÊ 8†Zäö³z0K¦§»ãå'ŽmR—çÍ=k§í Xãæ¼9âHVøê—·÷KYcü}’Ä„k.º·m}ôc¬(ßÅ éqhïÕpaÚHÏû^ôDÔ`{¤]á¶ÚoµC«wp¸WE†õp0œJ‹¾Ö&*· =°V|r>t”ò^Rï#OŸê„§ä^¥º6÷½ù‡ºÖdŸí/·MœÊ­_ow0,lÌ!ÉU§Ej:,?«ö• à–öU±Tc;­ý ;÷†W›ì9›¨8ÏÝsjÔ§.1¯"Š"-zwÁùKÔû`c6 ¢Àxz®×•:“qFYõ”õ›g9pÖXpxºˆ/¥MøM\ˆÜò·2Ûæ·>y5ÓîxVßöJ ‰sjY/äÛÍÍ\,Én]V³‰„|œoÛàÚÖCJ0Ö§8$¸•ØEÐx6¾‚¿YwE›O×ùìæÈò6W§R,°ŸfY´)ô@÷îBj¨Ýé…Ý\¯&hÁ¤CÛs(~Dت\%pµ¤<½Ö~CäÎifͪÂ@Òè=~ÜèÝ*ÉÄeœì™”TüñYº.rÙ7u;Õ|Öb©*G¼LøžbÁ²’ jqì(sE,ão¯nψf”/Zë¬ížWžÜã L¼4à1{Û\¨ÂŸ¶²e6¹HšR¡†ÈÊ+½—\„¯• ¼Ï2Å2ϯNVÐô=œoègí‘© Éh«$7QôE”Í]‰Gé—žÝ=†?¨` 2t5Oí=w'ý÷¡ùGvúůq$7©?ëÞeë¯ãöÚ¢w’RÆ¥å»hµ­àÜXÖ;¢u£”ÖȪ— Ͷ&+E¤ôáÓ#™ÐwU··R¸Õ"„…_”8¹©2ãQ[‡å×dÎû1$.pÉûEw™‡h}}F &ô"-‹§¤ùQåsž”TÜ _Òj¶UÍ™¼­³Dÿþ;çà †À)ÿ…l, †KvšY õüUÏ~.™5 |Ú+ ’·l+ ¶&˜ù5û‰#ê¶]¦jß­¼•\m[µÙìþÊ ®¢”È£û§jš1Æ7z oM„z`2VLEvàIÈ]9« Æ;`WÛìpžÊR/Ñ"&q„ø¤Žj–æ-sÛñnZ<á«y7¶UW}:õ:îu—Œ]¥…n×üia87eY0êF°_bïÆ±c9_…½–ãƒUjö'|cØlëÎ+ÉØÌ0rzYN·ÑŽðÄÇ>;ìá/9?ê>ëÆQ~(1­õ†³5Ã6‰^í⹽캂öv[Ãzqÿšs3Û“BUcèÆlO6ÂilÀ™.Fï-ƒ-ðÏd6=X(š9°åãÒvÉâîp¥-Å9U*-ç<ò™ý\eõ£Ö•HOå¹mD)õ ÿK艹hÏx`lâ›[ìT²Œ›3–—¶•ÉölPàaàåóz«È:8Ùý#ŒªH3c~ŸZ‰ù¾Ï‚ ÷[÷W8©çÆ'>ïò˜„¨v|Éœtc/~ ÊJ½‚x®Äkd:ß<-»*ÇÈ!Ö-†oŸè§ÖЋ‰QŸF}d Ô”à‰ÉŠ®ylëûe1ï$GU¹"/ƒËÕ¶Pþââ®X,î1óžºr|Iý¨Ì°®þ$¨‚ÏÌbÐzå©ÿ³;hŽ·%žþሄt–U|íPÉ«¶Øˆûµö,Cï©iP>‡E¾³£Hžþ1fÖ8–i¡Ul}Ÿzqì>Š.%ÿg áÒÛVޱkÌ™ñ7çG˜~ÁÑûlÃŃrV'ˆdA”ÀŠSëÍÃæ¥à¼¡î¢:Ή*£Øû6Ä*л¼zœÁṲ̂•v·æòœrL«H¬ð[Œ '£Ô´ÞïÏ?Æß(Ìëq°&¿l9FŽÁÌ·CiÛZÍ…pȆÖ]ä5(j%éѽ\Ø]ÇvaÌï×Κç€A÷7üÒèæðo]#©>É5¢r⡘ ž‚ÝwÔ7Dòå~4d>„ ||:—¢½5Nòli†&1qÍöóúº.~l£o2uZ…³§a–$™ZÆ!{4P¦7nÆw2ÈdhR[®ÿˆlýªÙ€°‹hn…a ´^ím&°`/§ˆ4ù0DÓô]Üñ²ž Ò¢›>³[;T룃cBô”2£Ã†b54•Á_csþhËÌsa`åø9X<ˆmã‘ mkKƒ^¾úÊä)"3G©Û£îGÇ«ËÃ1IŒ«tê1“‰ÕÒ©S´õ†Â+É,”AüBEìéõæóc0‡6â’|J'#©Ü!)³DE]YS»®5¬¾"W[Ä\”3sQ/òÆÞ» Þ’ûgm®Ó‰Ãdó¡|ÜþNKT{.VjÄà°–ÌVáöÝõWÄÞŹ`þ^Êxœ÷”b±4õïœd†®®w¶Ý;H?™xÈÏj4唺Ó|¥Þm“Ss]Ŭc÷yfš5,+³¶omxhô~Mz–É ü:úÜ·3cÈö Ô—jšá³$РýG=8[ü¡i¸S±J2¼¸Nå~ÖåVæþä`¸o›²·÷…@“>5[ÉÖëíÁðòN`Úy5þÊ9Šæk„®UtôC7Uá7>~:+[©=E-Õ¾Ž0;õ›;³—/GC5±8Ïg&ß×wu7SnU?–·µ”¤ä}’<Œ0¼°™οDöTœ:c.u¥Y:ßÃoò¾2xh|Í”Œõd)Þá“hdå¦J«„œøT hä¢ïŠ{E‹unó-{DÅßÑ—4;€6—´È@ijzÿ^kF1µo“²‘ Ã4?˜Úcó­z8ÙÆêSÁ*·í´š%G1g¹éÍWt«U¶ZÏ­¶m:°ThX*£Ä]Âs‘ÍÑd êÅ‘4à{T}¾ÝñXsЦî€"Y¼bzvž-B[{»zÚgVz<)L›ÍÑcßì'õµsÛøR¤Éi\GMuÀ|±MiNÞémÃ¥½ÁõN,=^š‡º£c<[F–"˽ 5þ"à8yœ—£ ¯LÉ2q !»Û³—_[0¤¢•xåx›V×ÙNRRwüóm \’éô¦Ç*ÇTo=C{öב–TÎ{Ïët“> %RnuÛY ÎŽ®¾z½ôæRþäá ¡â¾io‰§à 0ÿj¡Ù&ÞýöÚŠü!IÇ!m%)„äÉUÌ5~xúÉá÷'&-gEƒ»ûv1QÝ®÷Öǹ¬á%p}«býÕ«IEÓäôвÔ×¢²HÐr9NYPªIŽÀÒ˜Z>â9“þª!WÂP½Îè©R6ñ³YA6S¿±¯Ád#WySùÑR5Ïõú»O?=¼ç-½y3â™3ª&'ó ÐT›@±¬ãÐ.(Úvxé¸z…ËùÁ϶r&N§¦º«›ø€®} ´ÛœmäOòÑêƒÌTRìAòëÓ{açð™rR¶a!ä¥iâS¬©§{b<}.ú/êâé‚{GÈ[Ö†\MoÅN…,.â^xêè…Ù÷p”+·«šN ÈGËÍaÉØ*zdñÈ|©Üñ…:Ë/ÁHé—„>Å-G—¹¼L¶ï‘¬Ž„Ô–8_£ôÉÛ?~w,¡<™ò${-Ž›Ÿ•iÓü=“»ÕŠ6åÇÓ{Ÿç¶±¹uÊš‰€â¢s®>1Ç.ñLS›Ò›/Òkâ׳%§©¬NT-Oo`®%5„¶¼ÕïZªág{ñð‡)u”ê-Þ.ÖšaÝœ˜bIúÑǯ9øJüÓ2%ØÇŒŒ(d8-t8;,óhŠRÕâÀ•ÕüÖ‹7.«jjb4ŠL¶ JÂb‡-ÃÇê;ÚeJÒ16{‘Õ×m.œ>Ò'\(Z¼SêÒÆRþŒÛß5®=ú&K?NòK™'¬mg5Ÿnk´¼ÓÈËNë0,Q7oSS0.î•Ç!hrC Hn$¹_U/sqk!ˆ/É»Ymž’—sŠºXcêÐñÄÆV½ÜÇ ï~¢ŽâyI²~MÉät@#).Þ/c„[*.¸|NŽèù.å‹G ˜{óÀ!”ýIç]ü{Pñ¨é.Õûßl™ï|YÅ¢+ô@¹öÅ÷yˆ~CØ—ý “(^MÁX«h'9k`nŸŠY”kÓ¹ÒÝÏZbò*ð†©i6‰‡j‘[LÜî÷zù€Þ÷ ïáYVáÃîáUYÆ­U/îê$•¹×„>Š3þNÊ«‚zïqŒSÒEA™ËÃãÌØ$×·!+k^,^µê%ýk¢ ·¼® ¶r|ÒyKÝlñÅO1Ô.$Ö“«üÖE—?r¾«U?*o‚š]w\»ö¿/¯m)K7(Ž`Ñó³~|J´?ö ~Ba0óÈÌaŽ7æSš£,µØ!QH{™«³{ˆÒÜs7¸ÌõåÌmOáp~u£2*ñjLCf®sû@쇌7•ŠÙ7%“þZ†HiÀc8[‘½Ç+g_P¤æ¼äUú‚<‰ÃfÀ–×äXI{I¦¥ReRs¶p| ô¥ÊžÄ­¡¬É29¶øäÝæ•¥ùtÙ¥zã`ÇÜQ}åÕ‹OÕšú‡#ÙAf8e­òn> c •C´p1yZŽûå.?‚Ï3ľݰ“¯X{KÀ4@ÇAtxùþüp)†¨\{'¥ã°qÂS‰:¶÷}àùé9Ô&¿Õ.T¡ x¿³»`ñìμ{ð¡(v²tÓÉùK¾aÌT;šþ$c¬7zû¾B^`Ds|…±Mh·<ûÝ$dÍÛäñ»¤nJ'oÄ/?®&=rfh,~P-‰=šÅÕ[Íç²4ŒÊ¶õ•q× o_$W‘uªè=Îmø|ãiÚ1Ž`úW¤}ƒr‚ ˜ùÚ½â~õå³#Ûyî› ´~—8®ºvRÜ·ðâ²A6-N"̆Ä×fµîu-Nq’QrÈýçá‡I"ë“1;'лdï7Dúª³8¿ÿ()3f8yÍ1,¶Š3Я¯É„"Š¢©_’yn~JÛò½ ©H¬2ƒ Z›úHû†wðRÂêrŸ‡«cyåÖù±û˜vBê¯>dÔ󘼴bk=:¬‹O€¾—œ™×ž¶y “;ìB߯ð®9{ªO§ú[Ó{ë¹bu•x”¼¡MüK-¯G@<’Ôæ.F7xovð6ñÅìn8×EÃéò¹&¥t£õ»GT†£³wíNj[‰E†ˆÈUx=É[a‚>_' üaàE·Ð ¿´ËUJö~å£[î\– YúV­ÄÛFä°É9>&`°÷Úš.ÙöÈIËÚæéŠ ¾‚Ç4$)~Œ¡,´BõBß²•ŽH÷£÷ゔɉº‚ñ{«úÏ`ÙœLÛÕ’ù¹9Tþ nŠÎò:ûÞ‰ºŒëWÄ ¡Žû½¾`dЕ…çfݰA(Œ€ãsâÓÔÕ™½VËJ˜—ˆ(š=ó;´÷ícó„š…ý3jðĽ"û™ùš´¬~‘æ÷M׈Ôfª•®ä7ˆkúÒÌoöÎ;…Uêt~ ]I>É49M;9Çï·üYGó‹LE~úf¥ÁÆ7;Hög±½õµz$åo.Å]/–—ªn9—ÖŠõ°²Ä¹ðubuvø³–ã÷œTfô®¨ÅÚ¥«2Z† §æx鞊qí5ãH3è%Û$ãý:v#ÉßlÅb Gš½øC®S&@ÍòýÙˆïûÄhÑDFAþñÿíD…Å endstream endobj 737 0 obj << /Length1 1766 /Length2 11433 /Length3 0 /Length 12568 /Filter /FlateDecode >> stream xÚ·Pœé-Š;AC€ »»»»CN5Ò¸w·àîÁÝ!@ ¸ ‚K€KfæÌÌ9ïUÝ[]Õý¯íûÛkõ7™ª“˜9Ø( ¶‡0±1³ò$””äØX¬¬̬¬ì(TTš ˆ-ð?r*m “3lÏÿ/ '  äE&iy1TÛä]ll6n~6~VV;++ß ÁNüIW9@‰ ¶:£PI€<œ@–V—<ÿyКÑØøøxÿpˆÙ@f&ö%ˆÐî%£™‰-@lB<þ+­ âÀÏÂâææÆlbçÌ v²¦c¸ Vu 3ÐÉhøÝ2@ÙÄøWkÌ(TM+óŸ °ÄÍÄ x؂̀öÎ/..öæ@'ÀKv€†œ"@Åhÿ§±âŸŒ€¿ÀÆÌöw¸¿¼Ùÿálbf¶s0±÷Ù[,@¶@€Š´"3ÄÂ0±7ÿmhbë ~ñ7q5Ùš˜¾üQº @ZL `òÒá_ý9›9 ÎÌÎ Ûß=²üórÌRöæ`;; =Äåw}’ ' Ù˹{°ü5\{°›½×ÈÞÜâwæ.,Zö G œä_6/"”d–@€‹•—‡ƒ— tÝͬX~'Ðôpþ¡dû-~éÁÇËì°xiè²¾ü x9›¸' ×¿ÿPØØæ 3Àh ²Gù'ú‹hñ'~™¿È ÏúB?6ëïÏßO/ 3ÛÛzücþLjYÄŵ5þjùo¥¸8ØàÅÄÁ`bçb°±ròx^|þ;Žª è¯:þå+goüö»Þ—ƒúOÍ®‘€ö¯ ¡üw0eð uÚ˜þž•‹Õìå‹íÿ™ï¸üÿÑüw”ÿ+Óÿ·"i[Û?ô´üô&v [¿,^¨ëyY%ðË2Øÿ¯©ðÏÝUšƒ\ìþW+1yY1{ËJ3±q2³rþ)9KƒÜæª ˆ™ÕŸ´ùS®õ{álAö@U°3è÷óâÅÊú?º—-3³y¹Fœ_¸ù§ÊÄùeå  ò7¾,Õ×!eo6ÿ½}ì\Ü''”—á¿ .€ÛËššÝÿ`7€…Ù yq¼ôì°;¡ü47€Eê·èÄÃ`‘ùñX”þA¼åЋŸÊ߈—À¢úz‰¢öb°¨ÿƒ8,ÿ N‹æ?ˆÀ¢ýzɧû7â{A¦#®—ì/Éß6Ö—À–ÿ‚\пàKhëÁ—Îlþ/Ìg±ÿ|©ü/øÒ€Ã?©_ qx¡3Øü_/Éœÿ†Ü/îζ&ÎVÿ2xIù²¿äsÿþ×,Í\œœ^†ýǾ ú?øktš¡,̓Í‚¬ëƒ:nkÅÞº1íLŸ¦Þê²3M"A¥¦64²2—Ê¥—ؤ ­»•Åo³×.¼¶?‘6xp^3‘JïY’šÆÍ?_CÏ&zÝ‘Ïc´@å餈“ð—8 B©Gbö ‹˜[jPaxÓÔ÷/&ºQã–JóÈw(wõÔ–f*âñi}W‡´šŽhîp]âÓä|·‹ ÜŠzþQ9\A°ë%Á­scxtdk€¸7Ò_Þ5`çŒ2‚%%0B$ɉX£½’ÿêWN‰ëa:¶—© Žè¡ù`Å:]Êm½ò¹Õöù¡mR•q’EÛ‘ç1–à ®xªSnÁn„ù·ìPRØæaáÄgíþ4lßZÕwbùÐ`åÙþ©_. åô'‡‚h•„ž*·|©:£]-B`ÚhjS°¶¥ð2é|,ó‡(m³V®iƒguØõyS­:4…‹Wø‚Úüt±88Ð]A©ÕZ¯X #é]{yr>å_tu‰S/;ÖDÚGcGyn|ZñN/Ì»?ecùÜ`–V%áéf·yí]ã¾i 8l.ò©òì°ã:ÞXÀЉóH³Ëº#‚¢ñ™ÛÂÉ«¾m „]‘TÂÄ™C•*çVÜ_úã}w@q ¸–úGÝz>¤”Q<áËU_ hOw[rç¢Â/1>ÿnû¨â'Ïi'Æ:þ¨ÎÑ4ßJ;âÕÅ׶͇µ rÙ™TJÚVŰòaÂùFƒ€«6¸ŸÕ!¶qÙšI7S÷vö­£Tȉ™¯ìGæá%‡å[‹L¡W¤ú]F¤Ï¦Ï`£×gâDÚ…ë÷CcˆMç:ä¤Ç0ÛMY}&çûàwÒÎ*ñtAI…T§æìç­nQÊíU3²ÂW’>WgHß²âõ’_u7Ô±Y¿«´,}…ÐÍfÚÕš)_nâmÜe]bú®×M/ðÔLŸšÕ:é¬^ŠÇãÖ'ÕŠ@£98Ÿþƒ¶ÃÓôż!ÀäaÞeð­-§§öþÅž½úÅF7±Q4P´æ=Œ§wJ|²ˆ¹™oœ.f8-CÝ{ú-Q8à P¦iM™ûÕûeq©±¿ãàÇÏj~;"¨'3åÅvûl¦-GP ËMkä¤D~ 6÷ó \-W> a70™l^s^< qJkwõøVceHß+«°TçýþrQ/Ü §‘Pé°€ƒ‘¾q •ˇ¹¼ˆ¯øMm9·IGÖ+ Þ~ºO,w»B 뉑v-ÞD{â·q–îß±pÖsñ„°¡'Ûa·„5ÝÁï²zѵCpî®Ø8>~ÛÒL”䦸d´ž6’jê¦Oïö­ [²lP·• ®9«f8ïÒ.×?­<[‹Ñg[N‡ª•×Õ#Óÿó¯UC×" ’p0Ýû"*pÛ/Åܧ–Ö§DÉÿ|wW,2íqœÚÑftYŒˆ5m¡‚¤³öf«4§ÔåŽuõ&>Ú†%¡šº†ë íóté]ãÜ"²Óº¢žö»rÓ#NÝlýqV—qkºÔkt¦Â¾÷h¤³#Ò–­½ ßD@r‡À@:òÖÆ$8WÏseÜ"µÎûã‚…ýª¾Œ6Ç UÇϲjÌDÇòê&Zøî÷LïÈ¢H²åûQd鈜Ԯã‰Õ¸® >hâ›*ú°OpÙ`áß©¹å«<ñàqý £xËŸ¼À˜¯e„§¨*ß8<úFY¢zWCézt:‡¾,œü khò&lmç'ý‚5…N–äï^$åùŒ÷y6Y³tÄúèxDËáþ²b¢€Ñsµy9ʦ¶”~½ÚE|<;uÇ=œ›y}ü_‹yLX>Æ” îOßß±ÝÌøºPÛˈ4áEØbE‘P/æÅf×=li¶¡['!í¹¤°§ZqØ'G{È=v¢Óôxqš¸|qߤZaŠtT,™–Sæ{£0je÷vñ_™È"#½÷,|ìÃd™ž! ’²Ö†÷Êb ¿`Ô¬KÖV|œæòÐQðöô›¾Øúxæ½ÜA,´7ßÖªö\âXîÑœ—÷íØÕ¯ïj|šã0~tÍ}r°w ÔBSÒÖ)ϸfþ£ÇÙKKݯ­ªg÷ÌšûTŠ"¨Á ak´X5n7M߀Êiƒ’;Ä›"6¢Ëz—v1kÄ”z¥A/Ò2ã:ú"±)äÂvW”üÒ-–ÑôáqP¹˜ø«:@1ò8ÓbÈ}—]’6%`Ü>·~y>óh%º|rª,ʽ©#:ðû=³ÓR-,É…”~låcóÑÕ«½ÀRÏΔX§jxŒƒiÊ"ñrTE–ˆ¸ü-âxW€ùµj?™·ÙÓl.ܬÎÆþ( —ÉÞém‰´uxœ9ë%´ûgâõLX6í­ÙC)6E›—í $Õv‘«¢kF…b4» =ïÚfz°‘)ÕÈv³’ú°UÑ=ѾcgÕgᨺ+‰b¼vbžKW?2áÌ»”È·Ó|ñ¦J»Ö;®?¾n!)~å—¨ü5§6f`Ý[ €xÂÙ#¶~3;ll¼ÝeÍÏ‚ óêݧX¿ç'­b*ú{î·ï/šÄw7—ãGvT£(`­«üz†öÝú!Á  Ò5Pu¡|ùlvó¯Y@§VÑàØ™óž^[–u°O>Êû>ˆ¬ÄâéèI Šäæ }Ù ØBKƒ­Ì«yÛu0ùèÝÇìõѬ6Ôö–5¦ Œ¶oùƒR*ÃÉ¢¢¥w-O”Ꟙ&% ”Rå Ò²ÑvPtëoÖ 9à+!ëê;  [JV*w²G‰4~?¾ýFLí>6¾ŠS¢?Ž+ûÐÇd„ +¬èlj2ZAȼ¦3ñ·¢Î†onÝež™ãC0ñUnBÒßEžX×lIãj®t|Eg¤49 $TÿV{ïl‘ÔPP¸øÞÎÏ̆ \ǰû)t|wίWê Ôô4’Q¢Úñ¢Ÿ:äQçP® ch6Ωóý·¦¾€ÏÏßÔ`cׄÍ6'ó7"G“³Õ5™s¯êÊæ[uà¯Bf/lò'FÄrI1i— ”¶ °01q¯Wâ ý«¦æT’ëlW'¿z]–zrIEùxR>Œ™¯±ŽÙhD8ÄvŠÁX•89£w†ÃËI|²‰ìh—‘²š¥Þy (ÀÙ¨~kœœµ%ÊI– ~/ª˜h¢ùÑ@‚z„áÙ]CCHß{£%Â$5E¸œn×4ý¾Ú͵]ÓÜý«“=©K¸âHÁÝ‘£¿h㳤„¸*c?î«÷”ÎUkÁ¸Ð®T¼hM[ó)»á†Ó§"þZbYáJàÞ²êøê§Yš›Åá…¼ ;Ì}¦ŸJ›bžÎÆÎ¦>qÙQKýÎ-¢¸F‰Î,0³·¤Ãºƒ0T¤ú*>ÚžD®Y½—16…¾6!á-Lo¦¤];1ÔâÀ©qLo˜½:ݺ€'¯xvíŽl¹²~‚ŠI͹_#žiÞåb.uæï2~+ Ë^ÜY/bÛÝPo†‹½ý¥ZtsID*øvÀa‹Yd!dŽ7 IN\y´y`ÙñZGØŸJgLäâÅ~‚Ý:*â•¡Â w˜èø|8Ô¬ô“&ùÞþ±ÒLÃïð-YyBvkrÄ÷eÑ`²”&ßmIä ^´yç ÏÎpÄ9†µB–gùñ þ«"w{‡ žˆÑF‰N¾/ÿ¯ekÂY ¿Pû/ö¸%Êxd,cZSï>¿åǸ⣼Bü9|ˆO™AßÌu?bå„qEˆL ¬Ø{å7­3È\jî{#óÄ*•º9 U¸&ʶÝTíªÐ.wD‹o©©HªÂœwøaY¨ íæa°>ÿ>sÅ™ÝÑîäI$›y±H¡éþZÀëêJ³•33¤'§/¶D9ÿts¡ËæpcÀ|ýWÎJJh8°$¬È ÁÀ  ™ÐãƒÞv"ðpœÁ¾JPM^ —öt0¨\ûe.ÁÌåÑ£UKÝßf6îå¤q4ümÅÿî ï]ÕÙ\íÎAÚ}ϵ©;/×Θ~e}ÎøÏt3L(É´ºqÂT#ˆÍìSFÖ'1UII¼téÝiÚíêq=!4¬˜Jmuˆóg‹:*Ú•‡ Éo²äìÔð©L¨ §¾µá¦[—dB.RjûI‘h%>Y׌6߯/Éíܱ;ãç7­?ˆ5X†È$~QÖŽ0bŸýÕ¶à„ͲºÅ3'c(!ž»¹W‹+´ê7eœrŽ›iëXEËn°Ú¦ |›¥°—Äú‰øH¤dÚ-åæ'ªatêù+Ü×Xƪ¾ϤB «Ï"Rw» o32¨?1\„8½§dG¦Ô_ˆbqŸwàè‚:ü®§•WéßHcœë(»C­JÔâÇÑ;8£Ý¡K]ÛÚ”˜ŠÚ«1\Œ ¨ÇGÙg'„³{L†Ôà-5ù´ï)ì/*hkRTðnFe';Hñw¹feOáI™a£&æôWö É]퇗ÈŸ}NÒ¥Sw?]K؃pGæšb^¶*¥@j“”%8ÈYb1kôímÅ“/BÛ i9õ/âw„ñòPXmx’Ô{ÎùüË·ßû¼¢yy çR“Å©û±˜´æTlÀô c¸ áaÛ¶’ÊÖó’5ÝÄ×ùG¢¤ª„2§Âû¦Õó])ŠŸêöÓ7Éä›6«9— ¢¹÷Þò¨tÏ—²ïáÞ"àú0&M»j‰H Òù¥œf<ž$·Ÿ%T~_Û—ù:ŒÕ›Õœ®I¹'§t½é •΋ÇÉ¢Dì]ÛÜM‘#dÌM8AÇ™àµ%åï!šÞ%gæ´B£låà‡1¡gÀÉ|ûðÁ““GÃÉ:¤ž2Üæjû‹èRcqj¤‰’_X_Ê\ŠÑz ÷Cê¥iÍw’4T4ˆb(ïTëÇÑ0ïÉ™ƒ.ºuǯ;˜ÒÉ䕘!÷ú¢¶AøÈeôÅb£ÝA¡çDÌG†5Ó*|;!b>ãøyïQ7= 1…Ü¢z+´àÛc{Öó¸UB­Å—·xE‚E‚~ìH·GCÅéÇ\zH&-u#ÚéQ$˜Fš<§x»ÑaÉo`TõƒLL¼M†œ;™˜å³4È9FÄD©w=D;ñ¾Ï° Ãô¤€Y®c!S„¨î¨ÉW ãxô¹@Š{›ØVÇ)TóéViÔˆÐ@3,Í—&Õµ†øADÍÅz#økváfÒ‡^ÔTo¦Z3EL¸ ËM8¬œOß,,˜Ìç·Š÷„!<³EU2 ïzÆrÄ£êÖ#º„Zè©Çý5y*x}?„ÆQ¤No uÛ&÷ñ’¾n"­ìl±’h.îÍ%ʧµŽ~6Ý¡Çò†D½e4›NdÅdµm>­møâ,¨ÝæU9Ì6t“GJO+Mxþ‘©´ÿÛ§;¬ž`®À‘¢•ŠOæ•°˜RF©ûq†J o?(¶2‹°6¬2Ím-kK Að85Ó ñJM‹P õÍkÓµMã¢é3NfwJ÷÷X?cnu[r+Ç,ydpNX?‘ùσ/=‹uÏÆÇ@üÃ: çp>utÿš×„sûQæìªYÙeÀí´|p®˜Hͯ£1Бز,/lT4Ž …Q@Ì@}à˜{¢¡ÌÏ›W€Gc ·_¼Ž¤%²F·=«nJ5õ° ŽjöKÝŽàFßö¥KEVI@©(ÖuãúÂB>¶ém“VJ $ dÁ_“¯è’AmÙH$¾êÍ&bUºSX9LiîS œï@3©çÒ ÑOÜ#O—°s…Yuì¶yË1s¹ô«©ÜÌÐÿ,û¨¦6Ü´Oû ñ†3‘ ?ù“aIàZP®Òz 8Œ‰K†ÞX䋺´R)úF¿ßÓܸåVÌCÅò:Œ=ìT׆yeakü±ÂÀ!¶¾"ŠG‹#rƒxOe¿( AØ(÷>™ÎáÊDܽÔë¦!¹ÖSî[Æ9Í^ÊÐè§ Œ¥Ð“DhÙPëî³¶™U¶¾-õ·õ<éþUþÖ>L•Â}JŠ‘$2IþR¨H,¨`*:D\ü­ %÷ÄÇ‘ar#Å÷"D}æØô÷ü¡ó¬§ì<î´Gmœ¨Õª¼ôDÌp®\ÄÙÎc¦‚W1Ÿ ÕBXOéo›Ž“šE…ÌLËàò™Ø½' ‚j ¸”¼!?ÛQÌÓ¡©÷¾ê ¯)]ûÁ)’EiË–!ëHOþw¹{&8ß¼ísé„ÙRòjIÊ î¼­\#%¹êÉ_«B(hÎCvºZÙ¡eò¥N4ä'uÆ’ÇË •ÑÅàÞ}Ÿr ¾û¾Eö|Ü‚wTHž¨û(=ÝÏt{N— Gi¨÷j³Î P/ƒãzÂR±<ø"aoÂëI_É> |â.\A4˜ Ét¸0£NŽ‚–“·êdÉWð|=õ9è(åÁm,‡ó–€Ë»wá\.¸š2}ì5eº]0=ÿ%5NqN“Ê[Ⴣò@•sB!î»Òc_›cW)?1x„x'«Š¶]&^&»ÜÇÝÞܤÙMÃ=Ûøi¹Æß_«†É]&Vªí{¾dE÷’pcˆ"Ç£¥BûõÝwQqä±®áý>Ö€i/úƒõ 0$Ù´õùdi@šMz\jX„zÉE ‡ bL žæ;ëqtåo¯‚çrƒ:Àýé>„‚S\[ ÒÛz…çöù¥·÷³ßÐQ1o”<«V4œ$m’b1ðñK j{÷‡6#zV‚¬³Þàö×D󤥱ÙlgnAïg( «qìBްIÉ(‚NET†V~g˜Ç¾’“ X•4ˆÅV6Pþ«Ôßz¢ØËðÕ*S…z‹Ln´4ÙÇnC-…©Ð7üõÕ}ÑÐLssàÕ&T¡È]Ó›ÐÙý~1d:F› ]Ž£@¼ ßÀ~­›= ƒ#úy?ì¥#›ÁŠz=1¢Ø<>í Ï9üjX„«óTgDø+åwú¿‡ô¡ƒÄ7¥\‡ü~Vêv•b{Ôy´Çê˜_ReLJK:ëª(b§ßpÇpØÜe'Þ8iðuå=`ï ÒqJb‹‹åZ¡Ö\±âòyÕ²:Išaž¯*äCø@ï*k?Üyo)œP,Ü‘¾¹ÅÖbcv0áîN•¦ÁvÖ‰Ÿ|ëAœÃè>ëÓZòë~ܪRbN×5ªX›‹¯ã]¦þlÍÞØV…³šu{!2”ü?-¡Ï¢o^´·a»­||ÏjwÅ;?ÑM1òsá/·N¶‰9cziÐ8"…¯ZsOc[hÚw1µàª)Q¿0ØE)9ÿäÍ„C3ŽŸüBL&†„’¾z'´Š®¾Zñê°ew8.Ÿnî‘6C€ñQõÁLJm »i{ïFc‘úã87á3ÌÀhgßÜJ‡%‚¶;Ôöv9Ê žUÄbŽ™;#úúé`ÕßÚÐ÷ Š$._YäÃkÄü•açtSz¿ûvO².=^ÇêËï„Ñ$®"TY%6ºUŒ¾«ê½ÓØÜ’-…¶¶pßð*(‘ÅcŸøÔæXì„üM’æ ÎûŽê…ŠbÔΞ'gÏÖ°±œŠ-•[Gc~ºE”ûnÁ²øf w>Ä¢¦ŒM © X+8aå’%åb†üì‘îps¼B1$ÜëþÀœ³0–‰öóµ—ܼØ8E¶Žz¥?&àX@ç†kµt•c¤Ú³¥g¡ÚèÛ®'ñèpÓÔ¥¸Ó¬Hipââ{/_¡·ñ&õfo§&ò ØÉN¡QEÇZÝ3U^ ZÔUÈO÷Iî ®öî¶¶‚q ]Êw$çgÍ¥a‘Ð_zŽIÞ’î)¹e¦C“€Û=%‡µ?½¦6ÐÖž—õj–ž®s}EìY½ÞøzÅõEÞËÙ„«?]ì>)w"ÂÇp ÜÚŸ-ÉÆ£A‹4†žú+´…í4B.0«á~ïñÉãúËSÓ9\ƒôZ!øp`Ä(ŽŽidîù—Z3R”Á¯'ç®%¦e±ì{‘äïoÛEkå®ßáÁì5Ž|lŒÑשñØÀæ·ô1ü¹1쇙¤.¾Í•Ùʧ‹w@éK_€@bÿñ©z>”ÁTÊ>æ¤Q) ñ]åqærtylÏÐæÁÉ‚»°8Ù½]’]¦Ú+Ý×µ¼ðæz¡lÔn;L2ÇÇ)—¬èì _ ÑK0€Êcp/àv8Òl–àb\…›Š0°CbÊÌs?/¡ÆQGwp'5ÊŒMâ¾öC2¹©ü'”ä‡îX’E:™Õà¥"·xwã‘Ñ¢·’,Çl—n Xyƒ¸y†BˆJ¶õ?®ŽãM ^bÎifi;2çUŠ/DâMD—ùÐIyøÞ[úâò|{¢<_T£òõ"“ÚÍ­Ï£\Ì0ÌÍ`xÂq¶êÉ´}Ðrœ}ŒjØYÞ­7{«|BJûÁ#cæysÜB[§úkt“¿Ç†òKÃk±=ŽíñZ•œ‘Ž÷ëVÏyïFø]oQ6M­Ôɤ·#³Ÿ;;¿”‡9¢I-sCUš!Ëž|h“ü°h V—³xEõý–6V¥§0Ÿ¶Mާ7uõQL¬oà`æÁÅ-¿_–Y‘ó%M¦ä™øa¶sZGÂj¢¡â.ЦYÙ¯üI«rŒMWcáp8Ø2&³„F鵪¼Ÿ%ž›`Û½.3 \—Sã•Y¼¿ç«ã€ŠeŒÀw…§Ç“ࣄfÃgg¯¶‹GìñQAâd—T¿d¡U  ˆz³œô&x/ZÕÅmîuý®^¿ZÛUÍL bsùNÊ4rò×X"PßfljªGŸq†Zœøù¸a§­ûFÒ‹žüì‹þ’š7j=1&?la*¡”ì¸yV‰Ç»©m{$Ê?vÅw·æ#bâ3³©ì®¨ŸÀþHz¿W9}ƒ 먷‹á§v-YKRy9OÒç 4)~’íCÉB¿š'/LªüTíïh‚øžtÒmeˆ[îí2 kRKà~/‚eç± Ž‘‡_ò¹F°•×Ym¡×j!‰^•ŒíD¡ÑðûN”@Q~©¾ÌËÓô/Šêý¦¶Ù5‘b£Ì_„ëÚ=êŽÏ)áºÅŽœbUcÂê“ѳ܇îÃß݃^÷ÆŠ —ižIûŒeìßóáF‚ãn@4·#ÚºØ ð«ôOÂ%Ÿ†üëÖ4•×Q%Tîd q:úâëÂä_Þ=”¸‹[wúr¾;Md‰îîhòŒÜò'>4—B™—s~Ô„è¬K1f„ÒÛB'«Xáê¯E2ç3½Z¥iΫŸ‹Ò•¤¢QÅ¿Í)a_åƒgG¼‡Qjܑ̊—‘÷QðéùJøcøt¢õ5oíMÊïqéGI”¹´£« Ú|=c¤!®ûºJâ®ÕÅ"£úfÞZhŒ@-}zïÞöŽ­ÎW”&/A)*Ãí-Œ®Rœ)¤/[Äd—õÕ´h»¹ÁU.QÅÎì¢É½ÿëµ+Ýé`B§+ Øï˜I¼;`N†OÙ÷më¡û+ÔεçOR.?¤"}M™ðÛáê·ÛÌÄH„@&pZ_q.Fº*ÛÇ‘­½ý`v¥¼°Z8é<¹z$¥¢Íy€¥,FÝg^\Çïž³¤ªñíÃMÇ™ƒC?Q$7jîå>¨†™Vh‰ÿPNáЛßbü2t˜½ÛýyÄRþ ;ž¬mB˼ýѦÌùÃ"fQ“ s@ÎÁQqzcvŽÆ)ðgÉ*ì@…hÄ{ù¯-ÀÄõý˜+äÌ å§.!ƒêü£¤+Ÿ._2—Uù¦èüË6HP¹¯^v»£ÿ†ƒÿ™Dácòèפ˜ñ¶/bí†Dh`öÉ!žWn>¢0Æ…Bë‹<;Ø4‹ ·ßÇ gˆqHAÿܘê‡\žÖ†ÀñÅósÏ %Í&¯M·ÖP&¸€Pu’ûš `vhû¦,ºåRðW…êeú,‚‹dÈT©Þ$‰ %ï¢q©ÂR’p‘kÕð}JZùÅOb?µ’¾GûÕ©‹Q{7ÕÌÕ+mÇ'V ¹ŸFШ·#Ê“é €© ‘B°àc¶fYõÇ¡OÆŠÞöfÙ‰o— nœ]ÄÊé˵wÀ–Mi7…‚Ó%(ÈÓ-·t;ÛD Dcüƒ†@mN½½-¶‘™Ä1¤‹æ«7´×¤uzCš÷|æZä'8Pïc¿óŽª«êÌí$¸Aà5Ãø³4CÁ/öñÈ HgtôY]ŒåÞÕ½¶QÍŒ·Ó­àyë£öL½# ÷¥\È‚¼\ž},ŒÈˆýRá¡”ÂoÑîõ˜ªÍšâнQ´.â‹Âû9éˆ4Š*`‡‡¯\ºÜ°ÂÍ»½,…O–jŒ:0¬Ý–,„9Þ¿O›÷£Zrü±Rºî3O±.£¿Œ~C”È·±“Q³‘a©î5_c¸ŠÛï%AØúÄ„="Ø{iG?(‹È«>¶×LŽ[Æö5J?%s4ïZzÖK :*äþºëݽ¡#ÕWoOò[¢±ÅæCgTAr¸Ü&1mSÒªòõüH¬¦³ÛÑÆ™UD6®;¿,Æú‹æsh+ Ö˜WÒ}#ëg-Që q}PU!TØvšÙÈÜå>»ºš/ëÒ;É…´F3(ÓÍSÚïNÕ†ˆ¥©žLïb›ð&ß¿º<Ó0p{WEøÁEöáJÍj=§Tü¦GUF”ôv¥¼¨í–‰O‰³jI‚·„Š˜'ÌGz¨¥½¯÷­úX骡rô˜\f£ëS°z¨ÙQÎ\ÇâûÚ:H¿hr8êÍ;$+JØQTEÕ¦sÆÈÇ2Ktu0Èéð LQŸÞ<ΩÔsƒ±HÜÖЧ öñún'Ú£Q´…—0ˆô(*ºE³]öýâQk¾6ÔŽv¶ýšü;«Miï½³²cPÇM¿ªø;»z`Í̇×ßD‘Ÿ¤s•hUöÇKòBb*ÑÈßä YÊ”= ˆ k¹ÅWdrƒLQÄ ²ú„ÅhCÊ.YÒTyȤŸcͨõ‘³À¹0q¹u"×^¨dwfØX¤ôî} [¨ÊEŽÔvNýr5 Õ÷ŒQµRP"í”ÆU©(«bK0`éMQnEø!+ëhzÊr¬îDÕß‹íe0ÿ×xKïü³dêQåû°,!ì ^ßWÑ qDì$ô¿áz½ÖtJs˜Íaƒý†e“}›[=2‘ßÚ…¨»¶©µRÏ+¬ J¯7úÍËd¬\:ÐÎÆªÖp· Ì$?( vxÀ®ÀàÄ^÷ãt‘Ú÷YgÅbøbpUŠT @¼M×iáÏ£Eºü{3‰í¢¦µ×Œ|f8ßçx­³µ(càñÏLië=M“eص7…IyàâNx ˆGáj¢Î ÚKÍè¥ìÅç­žÍú·ÖØ­¬n‡.ùv)Y`Ðhî3Ý]`ÜòÐê.iÊ_§}¾G"70zÞLªï¼Ož*7(Âòi(¿Ú×Öµ¹ôCFÓ Ë¡Sk™Ñáɨ+ˆk­!âZû$žAWÄõ”d?Øá~’ùY¨ Å4…g+ùÌ€ÅÈ"»ãÞ¹»ªx@6°•6ëð a–§O¤eHs®„ŸÓÃŇ~²¦6Ö&»ù3¿ô`¹ƒ’%Gù®0"».=NÅöiœLI;±tô#š±Â¢ÙÇ[ŽÜàóë+q{OyóV¡':vb-NHsoy¯At.W’ŽÓ5Æé 3«V,iA²¥í^½‰°$ŬdÇÅrzÜz²‹4ƒü·²®û4o—*SÜ6”ÞóH³ª­8ž-èñÓæ£nãľfÇkŽL »R,1p—V9¢ÓJ•öoPòÌýÁ…t€Ê÷=yŽs!€§êV~ir§¼‚ˆ(¶­2Œ-LÍ·–6Ý(ýXô*’ƒ6FØøƒ5†AÞѺ³¤‹¶{AÕ³ÐUì¶{NA‘ßèg­`mBaÒïUÞ3mXo¼.&>Û"v ³àÂÐãk Ņ䜒¹Õ—s‚æv$ó®;DéJ{D©–Ô™·òJJ»ÙBô®úJÅ :»J/*6‰ë»dš®à–U?ÇžàµY÷/7ç}ý™mfá§¥Kx›pò)ly¦ýàËú-ñªOÅl䆈B¥ä-©¯6t3Œ½,3SimÛ‘¼H] *óýN¡û»¦&s×ÂäŒ}ýBŘùÉCÃøÓ‘pBò‚ZFïÞäJI½[ØŽÇ™½|"Þ‡Àù\Þr­µÍ|Æ.ON/Yõ#çǤlÚWJ#úFªÚôš=í.ˆ¤yLMÏwòzÿQìiÌ endstream endobj 739 0 obj << /Length1 1385 /Length2 6006 /Length3 0 /Length 6956 /Filter /FlateDecode >> stream xÚtT”ïö.)*%9€t ÝHw§¤ ÌCÌCƒ Ý©€ " ‚´¤¨4’Ò!Ý] !üÇ8çüçÞµî]³Ö7ßÞûÙûÝûÝÏó±0êðÈá6e8 ÁÃÏ ”(hi© €@A^ PŸ…ÅŠp†üuã³CÜ= p˜Äÿ(¸C@”O„@á´à0€º§3€_À/"Á/*€@ñáîE Ðâ¨Ãa|¸«¯;ÔÞ:æ_¯v[¿¸¸(÷ït€œ Äj ‚´@ˆ êD[3Àn … |ÿQ‚]Êp•àãóööæ¹xðÂÝíe8¸ÞP„@âq÷‚€¿hƒ\ &ãÅg:@=þø àvo;€r8Cm!0T†' q ¨it\!°?`Í?nÀß»ðóòÿ»Üßì_… °ßÉ [[¸‹+æ …Ùì Î€Ž²&/ÂÁ ÁÀ¿€ g8*ä‚:ƒlP€ßƒÊrzjÀ¿ãyغC]¼Pç_#òý*ƒºe%Xîâ!<ðõ§u‡Ø¢®Ý—ïÏf`po˜ÿ_à ÛýìéÊgƒºyBÔÿBP.üÿøì!€0PLTP €¸ >¶|¿ÊúºB~ù¹Qú»Â]v¨! P;êßßä Ü=!þÿ;ðO ŸŸ†Ú"6{( ÿ?ÕQnˆÝµ|w¨Àˆâ?øë÷ï7K½Àp˜³ïà¿÷˧n¦£«¦ÌõgâÇäåá>AQ€0EW!q€(ê%ðŸUtAп]ÿ“ª³ƒøºE]Ó¿:öúKö¿âàü³˜6ÅZ€ý?$· mQþÿoªÿNù¿1üW•ÿÉÿ»!eOgçßaößñÿ# r:ûþ Hë‰@ @ Ž’ì¿¡&?¢Õ‚€¡ž.ÿUC€PBƒÙ£ÈÌÃ/Ä úã‡z(C} `](ÂÖáeþø~IÍ ƒèÂ= ¿¾-¨, ð¿b(}Ù:¡¾(^þ «äh¼yÖ‡¤°3x† ¬p]J£O–S ²_Íj¼UžéäW¶rü¤-ï†|½0õÝ­–¡ÎW茇AyËžÁ&iòö }<Õÿœ–i’¤-×$Mž^¢Ø½ M—.–ô3Þ#°}— I[MÇtª7+Y‰²¨zøퟫJ^iRЊï­è#šlz ×…P±å¬¸$†®ÆYD§kg2iH}¼ÀOñ®$]êéë»ÛI×ûLÝ+dýèaâ®’d/­¢N¥ñ\ñuN±×næ=•û²»à®²EŽ4dö‰ÃÚÉ®%#§[çëªNܽBM•”§™¹ })²ƒÉUß“-&Ë#a d>üCŸÁ°GF¯„$ïnha<Õó%hû6·.txÞ6î™{V6ur ñÖx~|áNtXXBCˆŽÊ »KÿÝDœ—µ%‚•ù§OïÆ¤»E`ÇŒEBö¶7ßáºÏ–¯:™H¯š8vI§ä XÏîíÄÛ ?/ìF~)ëèx/÷†ãË’èÕUÀ¨«…‰¤B€ÎÒ; ßwÀœwN Þü¤þsöP“£‚GsU«±QQÐ mÁcÒ—Ó¾˜Q¢ ݾlS¹·âj˜Ai)?“¨ž`c2Ÿ 5=½ÂË?‰çe%(먂ìQet‰u=ÀÉÿÑäURûi]Æà 胉ѴXÍGMÜìøaôÓZzñ@ì‰9þ¶ªs­çÝ .Ü¢”ÏÉN9›”X欤Cn¬À]ÙϦ?”†ªT0NzTbu&“ß÷×È †¯:Iç…™Q*¿¤ÚÉ~–=_›ù´Oš5dˆ™ŸíBÆ«íV9Þ &ް¡«cp-€f ;S·È5ø}«)Úñ,î’¨O=h:üü¤$qðÌpŸæƒ|VBÜ ‰1ÅW¥}gêá©ÊÞÚÄqM!||KgÃ3É3Ü?»—n«H_ªò«B1¢þ»oºâÌ9?PTi2:ãÐWÍþÈZ¤‘#1ú)[®9>9óÕJ²·õJÐKn‹„X)Â:DÅ‹íNVåà½!¥/i}‹ö‡¹€#†xÛ:o\ †S`ôýn ±œÛÛ1?¬8š-ׂÏL J›T+[×ìxF6 6J/)‘«ëÃÆ±T:Ãh(¢(S‡)³ü¸áÕ  ¶Ýö3)¼!åøÉ‚ç{Çê|2aJ =JlüÈï.‘rÒ`WKû}E]dG˜R…¦X}«æ1»’àu|§h 9ÀÀÖÒTÑ]åšJSNvÓ6šgˆV[’ïñWž¸Ng‡¶¦K¡03×±éG–Œ·sé•sÄÞ°Âú¯‹ö ÏÞãbË [ 9_ƨ·2º¬ÝÞÍ×­ ε~¾¹jF¨ †~E´2Û>8¸I~Ë€ÅÍsܰÐ)Ùü“æaa’ÂlWÇeûAþ´§‰¥¯z0º}‹±ù2#czo5K6…¡¥]?Ÿ£8„tõ¦p”€†[üaJù;HѺJŠ<Œì3 {ïQùŒ2’Fà ç…àˆAÄtèmLxÅëÀŠË} nt»êË2¡Ÿ!YLd%b„•Ó˜Väv{hm8Ókùu&/^?ÓIÜÓ{ÝYT·ÓD;m0ïfQ0“Œ>Ú):nŒô¾ÎýFÊ;ï‡'޽oˆ¼AÑ‹éL4·t,‰=ÊýŠ—:å?&õÄy­s’Y–û±Æ³¾\Všøjå¥Ú‚)ªccfê´@ÕW#Ð/­g:À2}làÊ­MRصôÊÛ÷( ô\œô w¶CDàD.óÙ[æ^“}QäÙÍF­×ñõÛRó¼Çä{÷öЖҩ[ž›ã ëäÔa},ÕT4ä?;²ó£9EYâ‡]Å¢¼=hÌå _jSJγö:oÅ8èÖ«Jf 0¢ …ñÔʦÛéwºã·V#­šò(_u†öt/õˆÐà²Ë ©‘!ò¤±jIŒ#áÑœ Œ²¡_¢ÍU"RpMÑNWJLø,+põ¼³ ?9r\Φ•¸é\©ñhg(ž+ý1F©Ñܳ`“sm,?j®³ Ö—÷Ó£Ûk·7G·Y!K?¿ NL©m©-ï›tgl·aæýdXÞ{J¨šÅ>¦0|:8‚ÇÃÅÙ°®fû¡Xlk&±ûà‘?x IP¢s«#øÃ¿ƒR·NÕZÚï[æ6_)õnËÑ ]1Ôh¨Žeç®ùÃ5ƒš¬ì0\ùîäºÓd¤Ý"›QN 7˜wWËP!Í¢èÁ+jT Ôs×óULÚPmk‰q­Ë^_L™ghèâ½ð"üÈá*ß.;o#wמÀU0 ¾qMÝ]×›¨·ø=Yš°íJŵ·g^#B\ûs}§ChŸÑsOÅ»õׂô§.“£*—k¼iÐöñ¤P<‡uµw††Ó‹§Òu£žèÆÉ3d -ÕR<¥Öéy邃5aòÈWáÅÅ ‚qÙc-g/Ö)d`ÔM’ˎѪ3šjhW.ùê*7/ZxÄîYŽå `Ò“ÈÝ"žÌÉóïÚ7cT4?"h¿H¯5žQ?é«ÉÔÿL+ ¿©w·£ë€°÷;úp’îxíò•‰þˆç Ái]V{>+eNUN¿=–] ¥PÅJ´ôÓˆfCÎr­Z³BÏé‚`òAâzB›~sÝw›“ßiøaˆ2JYs'˜~ÁyÁŒ©x-¥›Ç5®aTƒ¥’¢›£{ÚÎ`0s±}dûîãXÙË$³ ÎÖ¢kp²–£ûÑWfY©éö•eö†ì5çÐûnPPrÜAƒæ4½9¯¡*xDXõØÍ(Õ5 4Pø¦…iŒËœI[’fKý”ìýœË€(-8ôÇw¥¡o.ÓÆ, Î2,.@* Ú"£øw/uUš…ŒúMMN–ޜڈ(}{ße¬{7ƶaA"SB½á¯¾Vƒ¾Ùy… ¾18•+J ÕäÖ`Ç«5(ÜlöÿÞ0G¾ãJ0ÙÞú¨—] ªEùÅujÐéáëéÀ!—ÍÔöêÒ %Lý6oVò'LDF”¦Ëf5mi ú½¸„£ÁÛÙRÄÁ퇱Ÿf¬ÑóXoö=îÖÕÉkùEzøæš÷ú޼ÁBkªÍΠu2âüÉrg¤F„ê2scšLjêALXH¿œóMSŠP` ®™¬›dkòºùD‘0}ë âU»–úXNÜÞÔdïýtc|MÌÂXAÄP÷ã1të UÛüÔ˜hš÷¯>b´(ÑÐÔÔoÄÔÓí†_XI%eÅÚ­šŽC‚)hÙrHÏñ¤æHñ &äÜðÍBstT‰–“œF[aË·£\Ó¤!1ôA!Tmf¼éýÝx)ù\Á¼o¦vMlî[IÞ1žðLŸ¦Êë€ ÄŒš0’Ðëlˆf “H3}ª”+÷ŒÌ²Ý%N⛨¢3¿öËøÅý·? âRNab9çE Š6ª?j4ƒÊÇ‹Þ~»Î¶ FwÓÇëT9Ï Þ«ã®<ç*•ºãχ1Ò T0§ìãG̬»UÊî—^À»œ(‚%³4ZŽ¥‚Ë0÷4‰F-Û|DÓ¬¬Fn™ô„ L Ù'¿X&¡÷lHsɯaN4Y~´’h´ï˜R¬ÛÃB˜•¼’žfCÿô@T€ljöYM¤Y†‹`°ç­Ë2’ãHuÝ <ÓY¾M¯VHÊü\B \fl2I*aˆ}8><²[öP†O*ÍÞ׿΋²ÞÚð£“á¦Ó¢­yëq‘À£~:6Å#Ð%Å2(#R.ÿAµ±6V3#^šNF>k\Ùšîˆ]±í)»š¡±:mDD±ë´|qiêñ·3Úë‹›¸‰‹Žš—qÆÊ‰<ÈëîT3i&úŠ7mIà}·žù7U)˜¹TšÇòº0h£\Ni¡f½~ª’µ7ÂVû††ï³XÞLç6ö·ë€gÞ[Qt¢ß‡|¡Ç ö”Ìßÿ5qJjð•Éhù£ÈËXV¦ÏžY“NkŠòºs^íoÚM7ÉzÖ7¾ÀÜf©µ@ëßc÷SçÀe¾ò¥¬Ï Üo®¸ã«–ÊÆ¾•uÐWJ·Z™uäÚôxp‡oÔ+÷–›<Ù"c#èÍ‹–Œ´@²ª¹ÊR^m^âO=ÓØáå‹ìÓ…íõ|›oÏø®’N¡Hu<Ì—.Gmî‚v"k¸‰2\MuAéÑØœnÃjIqst³4®¢É¦V§Æ§8ÉI&o§2Ùë¥~n¸­'ÊpþO–~êŠÈ{À–•:ã<Æ•sÎXSäMÉC š™ùŒdŽÚðœôÀ—=–õ™­›Ikû‘y;"gÂæšÝä¨?Rïe¸èÓ&ñºÝ1pe—"1R «=Ù<Ý@ƒG+Qj"áM'”ãßk´uþ܆æì Í€ÐSžÓ3Ài;Þª„æ'ú³HÅ”bùyÁCГﲢ“Ö ÷¿àú¸$1aÓ„è³>fË穲„hÕoŒ‚ê¶*ñß1 ÷è©hä^[wDx1–åÍÕÕî °.U3¥Ãv^&úéËÙ¬«,N|ÉTx¿mHŽì0ÿˆä\ï;Ù}¼ÄhE=ía‚kgj&f‹ä¼cw¾8ðïxò‰T«R„°Ýí~ÄœõbLm:ò –sÁT_Θd"ER)×ýÛ+v«c¥´Ý[Ìï°š¥âŽg¯Ï«Âõ9xÔTù°ÝÝn0x £À3Ó{LEq̸¯+n¤÷ÁaÓrôÈúŸRæ‹f½Â<ËôÀ¯ýnKIÛÃMeÜ•_I80A’·ÎÎA¨õÕ u;i¨j塵›/\£æ¶ èé å¦#iNÞ'pJñMæ†A±jÛHâ{–ÓÚ‘ÇmWN|vA+˜¬Üv6~‡7c)5b õ]æØºý!¼ÙånóʶŒÁ‘:KùÁ Š–±'!ô¯Õî_(ÒÍ´nÄ{¿s×ûìԒɈ‰õ:Š­ïèÄéPð̸(‰Ùò ›y@/ó2dsÞ”ãC25ÍAT@e­~(òžã'•¼øæ6è ‚}4Aq²)>õÎxÃIuYœySÛ%æê£DÙ¬‡ÉÔŸ†a?JÖÈY¥|r¢ïȸ}N&jÇTQN n¸¦ßšú‘Z}¡¾.Ë·À¼ðiºÒ7é 09PÕÕ¶ØJ½‘2@tË}ëDÓ±4|Õµ?vÂärdxÏÕ~!‚*‡À4·‰döÃâH^o:êàç\7Ž4FÒn½UÚýoq,^…™ûàí'O¿ÊWTð=}VN(›`*ÝAÔ×!´¿}À6#ДˆE47òb’Üg –NÜÂXª©ßªC\9¾&]Ÿ-•¢d… S@ûÖáòõq.èË;˜FZ¶C^Óh?g†§s‚óävÏ÷/å|µó,6Ó[uÙ•µ¸ÇÍ B5Ôcš6»÷Ê÷¢žF&ø¥ž9”âY=ɽëx›Ø±Âä Ñâìžö¥ Ábž•i[x‹A|pÂN¨˜«wÀ÷¨ÍÛÁ·3î¶ù)*‡ý©ÒótêPk+9èxžÌf’ž>óbäClíÙìS_ªk‚n4= ó¹¬â×^RL_¼¯@ÊÕD¬7¹ÍÅÍ'÷ïÇS°'<äA¹}{Ì(Ó±V¼“-¼Jn òо0y|Å ÎëùŠ#{`Õ.ÚÁe©sn•UMMD·ùº n×N½kµë#n×OÄG«ùªŠSÞj :ՊŹ܉ð#¶’n’¢áSÖd^ÓâØÇ…IšVQ'Þx`@yrIĤöyzC­cæÝí}AÞ¼µ/ƒ"ÓŠ2½Glõ´‡)ÝE <ãåÍk¥ù§'¯(øEˆm_$ú™¤.ÐbUU¸ R5ö G“›úX²‰«Ëgkø±èC\}ÂðTsÝÞúI±ãTÃVœß¦C‚ibr§[+¤P~Û\½sœSw̬€ÛÇÓ cL½[öMÝ}‚nI.qùtjüY{Îülé•uðÏ€ä/^]ôUý<Š¥z-m>IÀ…å÷\†o<\æOÞÚuÚ°N,õ¸Ú ¥»êi{‘”§>¿bäæK×a˜ˆÃʧ?•ˆ©­p÷ÑÙ°/«âãà)8+¶ >è$DFU(§X¶¼ç"–ÐK´ ²gÎÓ²lªÙ=Äêµ®f¦o1“nH8—ÞwËØÎùë|‹“W« wc åZû"aA¼ÜÎ7¸v©èî<ÏEá†x!/‚›ÇbR²iúg_²ós¶ Ęè=?Ð÷§–U‘Èáë}“ ·+&™¥Œ®œ‰¨”ì—o 8ÿ@¦±ÐøœPT{‡P^qçƒnŠ`Ò: ¿ØòŽ%r˜±úsšÈãÎb'"-ô _î¾U´¬‡ZÇ x«ämºé¡²ÌéfiÃ'0š9çGâ¨û/ðqsƒÃ#KпÎ{ROo±%Rã˜nYÆà*&µT!à°·"b±¤÷ÁÒüÂx8Q*­¸›ðÂO2ÌCxÒd Rí ô¬_´Ìd÷Bq÷ªøÎç±öH±óÞÌ!Æ×#ñe¾«m±ŸåŒEÛð"&fk÷¿\¸â–!>Gb>?¤®||»ç*5f=È(tìñªnÅUèç:Gfœ¶aTRð î†^œ8©ç™âs“ïš ÷Š÷­©Z6ÙÖǽ£¥ÃŽMp4¶ÉÄ«>ëYŒ™»¿ûf:]é0µë6Fk!â²Å/ËæP®üIÀå®}tšú}á§éÒ“Ð}Þã$'ꇅ/»^5îlç…²ÎÛБ¿¾s[Gqäx7¼>5ÊŸÒ­{=5‚Ü÷Ûï¡€±> ¹‡\‡ß!âÁ§7»_2©mÄGNß»¹"(1÷)/Á N£ø¨ _ˆ€³)O;\Y\eRZ‚ÎÈ¢­TmAœî.ïÕÎü´¹Ãï"î}Ñþ=5ÛÕ%«çé¤fIÇæÞLbDë•f ÉJÀÖ"yðd­b0ÚåÖé¹~¾3ºMIØS Óºs®ù897’ø*éÆ)tašVñì,J‚ªÁן¡]|ûÇöbÏDÉmsÕHƒ=-Çbê_ªâãeÊíõuÈN«n íW¾]24éêÊÙY¡MÌhô]Hß/„aíGt­<¸ÈÐÈ?q JVs ß[¹g7|úi¬÷g¾Ëál,ZŒS0éȽæ;þn@' ÿ4êÚ mÜ~Ü"1AÊü„ÝÞ6‘+õƒs'MêöOñda»_f1ùмÙf›^JJˆ}É8×IBY›w–2=-Å8Ý“U³ŸÍ A®%5&ƒhD3Þ,M0Òˆ;–®áýL¢‰z endstream endobj 741 0 obj << /Length1 1546 /Length2 8420 /Length3 0 /Length 9447 /Filter /FlateDecode >> stream xÚ´T”[6L "!))Hw§tw‡ä 1ÔÐ ÝÒÝÝ) ÒÒJHHwׇzÞsÎûþÿZß·f­göu×¾ãº7%™²£ˆ©­1HÒedebáˆ)(ÈpXXØ™XXØP()ÕÁPkÐ_bJMƒ#ØÂ÷/1ú$BŸìl!Y'k+;€•‹•›…ÀÆÂÂûC[>€8Ðl P`ÈÚB@Ž(”b¶vn`s èÓ5ÿ9hLh¬¼¼Ü ¿Ý"6 ° PB-@6O7š­j¶&`Ôí¿BÐX@¡v|ÌÌ...L@G&[sAZ€ jP9‚œA¦€_6 ?•1¡PÔ-ÀŽäj¶fP ð$°›€ ŽONSàér€šŒ<@Éùc,ÿÇ€ðWo¬L¬‡ûËûW 0ä·3ÐÄÄÖÆqCÌf`k@IRž ê e!¦¿ ÖŽ¶Oþ@g Øhüdð;s @RD|*ð¯òMÀvPG&G°õ¯™…yê²ÄTÌÖÆ:¢üÊOì2yj»óŸÉZAl] 30ÄÔìW¦Nv̰½HFü/“'Ê?2sÀÉÂÃÍÎÃÙ@®&̿«»Ù~+Y‰Ÿ*ðò°³µ˜=ò›žþP<Î ÔÁ äåñoÅ#VV€)Ø 0™ƒ!(ÿDƒÌþà§á;€]º,OÜc°üúý}Ò¢—©-ÄÚíóßóeVSÑV–•¢ÿSñß:QQ[W€#+€‘“ÀÊÊÍ à~:xýwe ø¯,Xþq•˜ÙXYþdûÔ¦ÿdìühþZZÀS´}b-@óÉõX8YLž>¬ÿÏTÿíòÿÇð_Qþo$ÿß„$¬­«i~ëÿ?j  ØÚí/ƒ'Ò:AŸ@Áöi ÿkªú³´ S°“Íÿje À§E˜?‘™‘•ƒ‰…ãì( v™*ƒ¡&(óG®ñkÕ¬Á²­#ø×ÛòäÅÂò?º§ý2±zz?ŸxùGt|Z6èï1þ §uúï<$ &¶¦¿öŽ“ tpº¡<þ qƒÑ“­• úš¯Ð¡F™$üåççB¦æ½j”žÔ5Ýs±.T8E’ܲ­ŠíŸ«ŠÒäñˆy5÷ÖT¡MÆêœgøÔ™k6Qþ?>è…&*¦Ë ´_£Ä¸T¾\éXÂì!é ÷•uöÛ8zÅ”à ç@ªÔ\ÊA¿Ë,tÞMÁò0–•¦Õ¤-ŠÞHíÕÚEð®²ÙŒØtÊåïò±Ü-¹KùPGÂ…a—f¤2Ò·qP[}ê»${Fú8„ïû¬5ª‚ýH8ãõ^Þ‰t+ q¥uO):@cø­Ú „•ï,åù,©»[$YÙìP%ÊÆHI?lþ&×Ò!Õ¾6™iœnÉûðnóØoU“×ùa‰æ»ïÔM_ ÕyÑᇊÞYM P ú|6 a ÉQP˜kÎãyfÓÄÌË«Œ˜®Ú@úÂúØ,·šñÌTßýyÙýr¹„F/Ñ}á—Wï;‘¦ïÒÝX^â”_DË }oÔLcõÑQø' rJ´Žô§ŸÅõ!íÛÅ‚Ÿ§çŠò2yk¿_Ž'ªPÇQvå|x1^\J]޵oŸ¡Žû|Zþ\ô#e`RøXË÷°Ÿ¡/O^ GÙ€7ý#ìueÐèu /8س·øg§67©²jõTö®ÀrWhÌÛ„tIãcôÕ2ŽLäTÅ~™[€¦.ÞЪ*Ç+2KáôÕ8žhËVÑpU*Û²ÆoÓ²½dÿúeñFGwlnÚw“œç¨çŠfmŠ9'­4y~¹Ã¼È›ðw´ÆZîäŽwïNy+¸£©.U>áRÁ=lŽ;_Ý1ƲÁyܳ/øïk Âd¢î6бå EóßïxÔ£8^Å ó,a?GàãXÓ¼­êvy³hŸ®œéhÒе½\˜I)QTjN¬äyàÎæðDef}J´ÛäÆsB1.BtN¼Üíý.OÛÐÎùBŸFöÃsúÔþø¾ò¶ï]!˜;Ì4ÏA~eæ…sàǽC4[‹4”d>-瑺Á%òDz ZˤìI•Ö툻âi—ú”l2PSh8-Òœ¤2—tR„Ô;íG^g8Sû‡-n1ÝbŽ´ -}òãXÖ°4Å»0™{fJƃ âe˜[AôÚ¦Tªá‹O­Íiº£±·ðò…Wðu:£ƒŸÉ:0ä™ÚÑ%VA†9b&§2ä œvÖAoÐ[×;ƒ)´îºñ‚wïÏf{+r4é° Ó ßI[èG_߇(t›ŽSU¹˜Ùú¯×¿«5tMþ¤”S?u%e«»J žåq7ÊÀèj ÂV[yÕäAc9Î$§ªóá¼ã—Â)è ¾©ëG\A"DuìëL\H<è“ënÇ×­Ìä€ì—Z¤DmlŠ]/–mðkþ:l;#v’jŸ+Í Qá.s¦iÐ +‹89ùÙš½Þ¿ÂïÂDõÇÃ5˜2‚ùЍYçjȸ䇰œh§×»ÿy8qdÆ5ðÕªcJ¢:Bkua®°™uÌuï r I>†×îϵ Ū2],[ÍJ:o>„Ç?âPt‰Äo]å†r0ºÆ)Éy2vÉJ'RŽ&s1Y^JƒJͨæ]ª C§=ƒ8Å´ˆhs>$úåûÞœ„ŒÎr%;{áp°‰†¢ÃõMŽœÚ—Q¿ÿ!P^î:Êa4$bÛ=–m]Ù¯:§øl6ýÁÏúné{z¼NJƂؠĖ ÍôIôðâl-:SH14íkùê&!¾¸e ë |jÛ®ÃþbÑ[Zuy2d‚ ³X¡¹9¾òM¤¬Zrq´¢EÎê]%ZŸé| \âÅ€¶C(óì(RÒ#+ü6Ôq^IαJ"‘Ï+~߃;¼¹ ›W¦ªíÐ7„³WKƒ¡/è§# #CKßwœ¢ÿ0à@kax•4F@‘!«o;ÏV·—i{CW̓Î}ïpE:ÜD؀Dž¨™'Üè¥pgÃ"°K²£mP‚˽ eIØ••”2DÙmqÓûv´Œíé9Ñ]¿Á¹iàÍ; Šà,+1Áj %3UÀín““›…Ï&«S¹ÖËyÉxÁ»‹—ÊOX Û¯‚‚áÒä"OiY)°j?i%dHšå'>õS~;T 52Í!Âò3”]æ]²6ü×+¡=©%ÓWÎð 4Ÿ‰§‚}jnê "°Ãx¯A~ {´!+QåX]ëÓ';ô¥6Ž›|%›p,)¯àÛú‰™šbÂ<E š!x°œÚÃ=ŽÒÀe¾hW–m„q¹¼ÉÀÞ=*9ö°aÃÐ}UñBäzë+?’®†·û=6¤ŠójåH|ZˆÝÓ|a|¶71¬ÏxÂf’²nÁÔ¢çìm\Жìð)£•†;+:!5ã·p1x9kù?1‰ò[¬hyr°H§ú‡&Q·ê\ Å £ø&7uÞ‡Rš`¨E/0.^-l¤a³ÖúsžV\ñލVM ¥í}u¶wzã)Ò0ÛäÞܯ¸)^…ÉKd€St{1*Óä'••²µÄGî®[ñ7J¨œMÇOï?†ùñ哜µ-ºsÁ‡qvÄm~(F-™h8…³BËœUÅ8âÛo‰ý ”µ|Û8–>'†ió…È4uDZyú“‰æå½Êc?~0l Ø‚¡Çá%4­uqY@‡v{4¡¶òÂQ0k,¶ó¢è½ qøú.Ë»½9Šãäð»jsöË׊‰¯©}q:øÔÓÖzb‰ü3¿h@ï½g$É>¶Ã, =ÎÑe#íó¢gT~Az{¾½'¿È+¹ùº~ÍLó[äe^;Gßà @Û»#ºŠ¶vâ˜Éœaxx¾š.ÔfÕ‹&F=úYû¸NÏG ƒÉAAúÏù²¯%McñÇ)ÛkÃJIF¶øÞü4—P_‡©vzT‰±Óôų£âÖåµ_ÄT±•9¸¿«×L@ˆR`ÓöD]:i`HËïV}î=«Íæ™×$£J®‘ã0T5ï>œ"U<‡½ñì)fŒ³›s•Ú¿?„/ňHGò¢FÚ 7ïpŸÃ³®)Š ¾:ÚaÈÚ «¥h,Hiù$&Yžœ c“hðbOøvÁœãLsô¡ ‘™>ñܬ,fÖ䔨K©û*'üæí¯*x‘“nbQ­ZŽóx?к«Ö¨Bk|eÔ‰0%G}d÷ÛAç?#¨k@o4³Æ­(_Õ<ïYÂÛOp¶¦¸ æ:N}^ËsŽ&½Ü.â7Çš«_ž Ádé /¸¬o„0»˜é¡ì^ÁÚlÅœøÞÔtÁ`n¾§®M÷‚7:e@èÜ>™¦Ù\g-Y$}ßµí>­j)âråTä¡€*UÙg"~A/ôË{óö{¼?ÎG5¥´ %Üœáåáõ-Dën˜$¬û’½¥#H Ýþ´a’r¾>^²LWÂ$CîË ¬íq?ÄÙßÀY0ø²àv¦ÖËgx²K ®+‰‰?Ù)Sq¨ë—%ÌYéÛ‹¾'¥Ê÷Ç ©¸ÏˆÓkPV×Òó¢næDïÛy è_ËtO Ò4}ÃýŒHìh•“÷Óö©Ž—,àjNÇ5àKâšD}\ýËrÝØîµ˜Œ‹FYAªòPQ¿ãçøj&)³ag¯‡¼¼9Å}7lÄ5Z-¦·å¼Yh­úŽæi•/)™­1=¡»ˆI&m·¯¼cWÕQ ->/[TÃGX$w´.}$ù<(V_m 8[‚¨¬¨YÚ“ê÷P£«œuBl­x©†æØ/jq*8Ùæ´ûyîF½·õ¹¶Xé$^Á%Àçk[ ~\ì7}fÄè¨õ£î£Ñ6‚Þd8ußÃöð~ÙšdÝ×/ÉfÕ<¢3fó=K…4´0µ•Éä*+”Æ_„ñ{íéc ”¸D&ÖHKz¼V”ù¤h-ý¤éd½€äFª Ó†™õPôÁÞf)˜3â´ä]…eRqºU†«uJÆÒ‡ LÕ™ï3Þ†ã9Êî½*#VËöϦh5¡<€vƒ-¼K´=k¹¨Ì¸r?(7…þúnN –«b¼ˆ¦¸²%4X¥^¤* S}žgx’2†ŒV"Š/1Ó¸ahR¨ù2•ÍY«ÏZò{ª)u㺛çæLîö<;ÑIµŽ¤m–Q—¾#JZh«^q:ËmJÜ€5¿“Ý4n]7ÕUóÛÇcļÆ@Þ„Fß)Qrk¹Çž&î[¾¯î:Ô0×±o ØØßŠŠTë$N¨[>ÒÅ0ûºVjÙÌ×–‹”?d#ïä­|šNÂ÷í¨œÿ‡÷³d€Q´Š'šdU',1¾¨¥u*¦§¸ïì@‰S]»ÜÑ!ÁùÛ;Xz&öW÷-Ís˜L»—¯ŒÒ6ãÄÜcÞ ]{F6}U¶ÈÞïñf[£ùýmQ2xã+ÅhÐaÿØ'ª·„6ÑÏÇÕk.·Ž>|y;ÚUTš‚%–Žg³f‰v»¹"¹f^sÜè¡3tm]šqfvY¶ë ò8?Û5oñjIMâ`¯'•ì¬éf§™F`09%’!+ÊÌ} <^ ª3í’ öJPU¡S¥{3;mRv×¹0†Ù%<‡Êݓ곪üe„JÞ)0›/Ûä¿ÕÇd „rm´Xy6-õlœWKhßnf啯Ø3vÔ®ÆÈf 4Ì“Æ= |š\Ô€ÑO‰+þÝóæµ½µK~fÐ#?Þ‰#åèD&"ž5¹Š-­/CÝÅg²²²üƒ\˜´Å瘨÷Ò)‘ÃM§*|¹ƒ$8¨?YfÄ¿³®­Éñõ"Ñ¿½£9› ٠о|‰VZWÍþcŽQÌIn]PÕœÍÿ¦vWèJÚG¾¶êÕcqTÀò$¸„ÏOK ]ÕóxD¥Ò} ìÓF«I/ÀIŒÛ$dõcX–í:)QºQ­+;hÈo-c)Àœà;!FÇ?áCoÏåm?³„Õdÿ‘ýIÇæ˜Â‰¢)LÞh©A ¶P¤Dð ćB2*bõ¨8ÄñjÿS±â(Þ~³•‰’ýÕò0?¢B*Z™…ᘲ¬ù(64o‹t98ì¼íß½vÚ`Q6dþ8_¸+´@îÛ´ø©-_øC rìëÜffXB(¹1b䣗©&ø‚h•’Ž’³'—icË;¼hX3ÆÖì"Є‰?¯sâ 1ì1ðš9¼ÒŽr`ËÛº(ëqñ99¾ÂˆÅ5WÃú]Q(Wï÷|AK³3UÌÂsBõÎù­ýÞÂô:ìidGtÒ^¸BË(šÎÍâÒØWŸØ(·Yzý˜>ÙÖz(ú!Ð^€ŽœÌ±?ýċХ^{ucL@+L&<@Ç ¸É›gHDÁ`ä¼@ªôpwø¿eˆ@C5`ëã2ÊŠ(°j.²tÐ_>¸ÈÓb¨É[†7¢Û¡8;¾T>²+7f”Ž5üàëz2\×þ€ÃãrÄ@‘ªw"U12Çʉ¼±ô–‚}«Â¯›–m^ªq»MÂ*îŸ{9*`¸èNbÒฟò@Kžþ¥ šŸwã;Ö“ý¡D9€ÉÒ§nó’ÕãàN&€yiGA‹a"V^TBБOÀ4°«Uä•=Ûu¬vcàƒ¡ £kUÖa{^²–ž\1à3vá¶f>§.XzvõæJ·<K;ÖCœuŠ{$$Wá|¨öxÈ™mž´üž–ü°L>ÈAé!¶ëwjÞ[¢ŒßžáÇRÏV 7€c’VÔLš‹ >éé ‰_bQL–§g¶nÂú¡2¼Wnß®3‹Rs˜êröeÔ@k×¥çî¨DE\?µû½0Ï{š8ò‡w“÷鸜)rä°“œâê§(àÄ$'B² kIË#Jom|3W±­ñÚ|/NÓ(§¬}â[ì‡ç¾ìA²_Æ¢í´7vOL;z Æ÷ìß `47ZèöF&%qÇ{"ßÀà5FRêäüœ÷YÍßuC=Uºë÷ÑĆ;ñ3ž,eÝŸ‡×çõʽ F<ö~Äv7]­.‚]ž›ß:6tú:â.$Ÿ€¤"„úÎ?䳚ÂöZðàêš§—¸—Ü*Ù\L~: ejî–¼h<6+êõ¸5EÚN/^¬¨‚e›¶ïgïöÉò…ª‹]ˆA³·‘ú®c‘ný'ìÑ…Ì bäÅÊ寉 Ë5&ñŸÃXN…h/Ø”TÆ€™g–&jI¦Eu×¶ºúûäG»^1õ¾ÝùvéöñpêÝXÐv;¼’v÷Ÿ=‹ë3˜-…‡ðº§¾ Ø¢úÆ‚í¼1á¬:NÓ¶ 2âÙáV=qSµ i®ã0>âÆ¢)QQÿ¬íN,ÆKU¹³ê‡øUÓd/ Ÿ—(d=2žÒˆËS'e)05.æDlDm[?ö¬2rî?sÂUà ðö)Ÿó%|ÌÅŠì’¾ÇÿÐimÙj»zsÜÌDGT¾¶áî6}`˜pÍ<âƒpUSL6~âç2V;Wø.~‘ðÝ6Hö ®Ûæ’/­†“´‚7rβ¥¿’tÚ[7Àö,á‚„‚æª= †•údCŸvö]œ.[[0Z&©H!xŠÂ¾ŸŽŽÐ÷pxe5\åGYk)“µÐÁG®wÅç›ÑS‚hâBßÄ%ìæžKØg˜0 Gä ᱄ùäêÁ$úÑa£ºm7ÜãºÀºæ¼Žp#Yó¥ÔÅ<òž¸í@£&®V¸À<¼ˆOcuŽK& ËD:´ŠkfS Îújsµ*x;N¶yQo¦¬Ï6ÎEoÖ? ÁÙ8„PY_b3H>(±S¨ZU¾3[?YâD4êÖ%ÙsÌ…sý: ¾:«ßëÇáwj©q¦zÇwº96×ÿ˜ãî;KâFÅÅJÒûÈ÷3V‡·!‘9ÌöÓm2¢i„:¡†FùRœŸ=ïcdÑé,L!ñþ6ò–º£ Mä縄dN!øŠÈ+âžä†"Ü¡înCúµÎw-~èzÀÛ‰ ÊIâ»5”ܬÖNÝwn°ôÃ*Š”| ÛñæåÙ;£HçÊȰ'ÉyS*.°<êÕÏ1¿}^»‹ÙØô¹aóL½ZÚ]â9©ªŒ}3l\ ©s%¼z2‡Jjcr™Ýü9Q¥¬4€š/¾&'žO¡¬ïGot^uﮃª™qý}æÏz¥-Cž™g5p[éJªmGóΟ`ã^6¦EÓ´ú32fÙ–arÓ±dFÃ.>Hžúr¥œÞ3£É“HY4 ?×„Ç ×Ií²&G¸{|»ZzÜ`ëHI¸«Z@µÓå°û1#är¨üXX|‡†Ç%éÚe+Õ¤åTÙÑël"½}­Q¤\9Úw„ÒésY$ó¾—6mÓá>¹§ X*%€¤¯Ãn ,’gêoàDûÁ‘Úáy³8 òG”k¢T.î8zšd{Î08ˆƒùµA ’ÀpS ÓÍ\aÖn’L–+˜ÚV¯å)t·—š„w,‹Òú>"¸S“ËT¼·8Í>e¬k*ÔòBü¾6üµÁ J9ôYádpú ª,¥¾z–Åoa÷5g;ïT¢6ܼ>Òq»DeNCÅÅ-jÚ¿¢-PÈ%¹l¯c‘X܆:¸¹üp¢äçÑÿVò Q_`ývz>Qì3];Œ3ÑÜ¿(³^@"çZç/ï>' ¥‹«Õƈ ËErÅFÊFø¿%þ܈l×·68Û_K!Kšä®5ô¢>¸L * /Õ®Xùäg~‡Kr¡=Ö–Ë^)I‡¥ˆ‚‰ßÆËÊT÷eød\² Çdlóü ꡻ɔ?ü4,Åk¸Y‰!”bAT¨ÑŽQù•íÛ)Ð-RƦÀwæ—…´ÖLƒzy€WL^}ÈÜÏÖW±ûK$øô°ˆOiiŠ}rh[ŒD××É Ž~¢ÅRR%Å †­×)ÙÒøll$’€DƒóC¶À$Éþ ¼Ÿ ô×"² ÇHë‘ïFXŠPùhsVÂ5 ^Š‘®2¥ Uk¬˜…hÛDEöÝ ÷<ú³¤RÔvx¥É%,³ßÍføm©¾á›èû6¿ØÚ¦m1cññ­g]‚0JØB'>ò·B.ù2_ pˆÚx•XŽÞiÿ¾n)³öÐæ ºäREÉTŸÈ}à2»²§ûz¿ý6£aÕ³~µ/kƒËÆþøõöp¡Qhs¹€€#åCmLíè§þt±‰pמ¦îêüžl¯+@}YñrÊ™ò>Rb„‡È*6¬7*O=²1Pȹȡ4¡mGÀoè5”¬)¦É²à‘tîBPâåX—·75o“ż×]†µ<'韓¡‘’½tåÉŽº”3ÛN•%W3ƒ8_!¤r'|Vo&ZSãt^É•¢¡û/WU|èinVÆ`<Ë´Ws‹FàbÔ§~.³ôs©¡X´Þë© õ=@ îžÿ9±@˜/£Uò§xÎ|ã<Óí)³^uÎS4 \¾™²ð´[ï0'S§k µrÓXˆŸY}…ßœ5ÇÞ1Û"§óÕ Þ.Ѩ֗djÈÝñµ&½“ ¦ér+˜|€gPgçåmD e•x rññ¹©-©ØeÆlFeÆfo £ðQ=ÜÍÍ)Rë§øø—a^V ‘ V±m{Mª“{(õTKOT ‡Âx1©ã Ì6 KGäNÐF hµYžM$BOж;¢e¢©ñ‡ ?™3*ÙÐŽx­ ÕødAÖ¡Mu§ôÛ¾SÈ_ûr-Öóýoóá£#,g‘¡tÕ s>êÞº…ÚŸÖé †f\ãIž/Þ:jC‰¨Zº02 “Ùƒ¥ 𬾋æ£[oŸ'¸L¶fÃJ»¿Ë¬ë¾rUÆÁ|g`JÛ[¦²0G z9wœ2 Ç«žHTOV–ãY)“Þ¦¯wõcGÖJëQH²~a¤tjð>ßÔ"ã[ƒôJ1¦”þqÖ¼Z·g \Jv¸‘LÅ]âÇóC/¦hÀyuãËFíŸ|7NIÔÀûa!°~´4z&ù-7Fƒ ªùû‚Œ™aÅ›ëT‘"ƒ”ÛØ7EyY•¹÷YÞ>§’ð›Ï&0ÙÂÙë K­9ì’ÐB¹–‹‰bâÈZ²Ûu—³5r9:媷'“7Vn×Hq‚Õ!2³ÏH(jnw‚Œü¿FµY†Àª¨Ã¦Œ6ä6²¢îO¹þlR>‹ñ& ^O„Zº[¼H¨g:Q¯°½'ÏÜ5fxgýuåj<äþnÛ¼ijt¨2ì›#ÅóbuåÏ@Õ­¦÷ "¹ŠA^ìäS…uõ_œÅ¾Õušj<§`]X·'ápoÿâ7ñšoN#Î(Ì&I=N ³ßéäÌ/³e£Áqõ’á1抃`ô®]+)|k݆ÜoG'gº!Y4ïp F—G“&|Z÷±ÒÔEË1„ü1AÖ"ã¹(Tí3“N=zX7ëy§ë»x¾Lwm»u8Ä…uU®àç 1ÑJ7æj:†¯sÆIíhè'åQ°H‘åYjÚÝÀÁ5bØpGaÁ­*Z¡þ6.f›9oÜ;44§ó’Üt‚”> stream xÚtTÔíÖ/ˆ„ RCƒäÐÝÝ’ 0: 5t7‚H HJK7’"]’Òtw燾ï9ïwνkÝ»f­ÿ<û·ãÙñÛ•º«„¥9XÖg²q¤T4.6Nt::m þF§Ó;:Aì`‚ÿË@Ê ‚?bÒ ø£Š  è ¹@^A Ÿ €“ƒCà_†vŽ‚i Ä ÂP´ƒÐé¤ììÝ!Ö6ðÇkþu0Z0€|,ܶ`GˆPÁmÀ¶7Z€ -; îþ!…màp{AvvWWW6­›£µ( À·h‚ÀŽ.`KÀ [ð_•±¡Ó´m NáZvVpW#ð@!`˜Ó£‡3Ììx¼ ¥  P³Ãþ2VþË€ðwo@6à¿Ãýíý;öÇdaagk‚¹C`Ö+ P“Ufƒ»ÁY ˜åoCÔÉîÑä‚@Aæ2d%4 Çÿ.ÏÉÂbwbs‚@—Èþ;Ìc—e`–Rv¶¶`Ü ýw~ÒG°ÅcÛÝÙÿšì[˜+ÌóoÁ ³´ú]„¥³=» âà VþÛäBÿ³Ã<|\°ìfaÃþ;¼¶»=øø~¬ÀÛÓÞÎ`õXØb~üC÷t¹€pGg°·çÿVü§„,!p€9ØCÿ'ú# ¶úK~¾#Ä `ÈñÈ= €ã÷ïß'ãGzYÚÁ îÿ˜ÿ™/»„ªš²’ó_ÿ[')içðdåæ°ròp€¿IÆ÷xðþÏ0ê Èßiü/_˜•@à¯lÛô¯Œ]þ&ãßËÁøÏXªv¬ÿ!¹‡ÅãøÿMõ?.ÿ7†ÿŽòÿ"ù'$ë …þQ3þÑÿj-êþ·Á#iá  b÷¸°ÿ6Õÿµ´*`Kˆ³íkà ÇE€YCÿÝFˆ“,Ä l©[ØüÅ–¿pß[…ÀÀêvNßÏ €õq4ÿ¥{\-‹·O‡Ó#%ÿ¨À›óŸWÊÀ,ì,¯'/äèrGò£Äð>î¢%Øí‰ìl0;ø£ à±ÿÈ9Ø?¾I0(Ø þ üý‹Oÿ†“²‡:;ýþ£1ÎŽÖð?Ô}ìÚ¿ä?ì¶@Ÿž°³ zSÔtY.Aêʺ6(2J·¦÷‰‰ÕsÚñ›ó5jܲ3>!?NwÁ^Ї%;iíJ-Ëó1ÊõH+ŒÖ«ìÁßNCxpc0cÄÌç«p£À -éA¸qËö ºöj*u¡×æp!#h±dË­¦¦¼tF‹~F ëÜjÜ.T†)¦ YåUe·]ë/9É‹ŽU¯T>p÷G¹xò.œ0ºlNbÊšô Ê뎪ø,JV­æXXéÙÚŽú@ŽÚ â>—8ß…ŸÐ,úšKƒµÉj†éA½™áµ@ú–,%À= A2;ädú§ó3óô—mRèüÝò¹ãŸ¹ÑÝÙŽ 3Üê—çá@ ç’´çöCl†ÜÙZSœæ®™-ð‚œ}UðKb2éþÊyŒNê$* ŸÕ"!f>{£W7\ƒe9t“y™Ò¹Í8\²Ï¦sõ r5¿·ü)$žCkñFöfsüÎl'ÎÌû+ÓÔ×'¢B‡,¾½Õ#tève‹nH=Ÿœp&zHpõ€²nCûc›‰‹ë{Û˜È7]÷³šœ‘4jcâÄ/ö.Ç­˜iä!1IçSùlŽ’ïh `uR%RÀëx¡¥8ÍE>?Âð[Õб¥rÄŒQ¡ì–í±8¨¿ì5# ÆÔ{Õ“ð(‹¨#“µ{rÿþpT)°e[þ=Ce(âk ñAl…é%8]öêCBj‹a>_}óm†Í ,íyÉ–ÃØ,¨í«vûƒ¾£ïØb;̤¨œIˆÆ˜ Ž^¹‘ñc8½¤F•ÜSI¶fqöÐämŠùBlÛ‡pÏL¹,Ûm”£“‰Xßéy†ë²| ¼8×°žÅw üDë‹çh+ñ°ïßÖur {½ˆô*©Q¤à¢ÏéìÐ.ß\Ü3Æ}JJŠ2“ÈMÏ÷õ×ÝŠu"Æ’¹}°µ“ú'KZÖ£ó²Á±zeaûïOqë°¡xϽê}Rªù7¯Ùz;¾2[ v{¸ç»Rþ2­”ô(í ýrÊ)æ2Ö„†òdû¤él2´]”MÅO2žc‹ž0Jlí:M…ŠŽvÉ·&ûÌ@Ü]ËØç(øó“¤’+¨äÄVqÜ3Ê„4*Ž«ÍÚpÙÏç¯÷ dA†aV—ênÜ~òÁ^Û¨z·ÕB³rø/ ð¨¹$Oy¦On×/ÉQ¢\“ö,xT/ íE9ù%ïNjœØ‘öÿZ3ž¸h°`ÁE K—ùâäœ:ëü)5iŒyñéîmÝK™ 5$á.½[oÚÎõò#”;4%MÈ5%AÐï;nU¦“i‚•<*_Êž.®ïÏâ„£â}h,Á®!õÍ¿a“¼Ô9Iå½`öqGš^̯§puBC¿žE~ñËv?\!§¤é™oÏ8Û´Ù‘øŒ È1á…éé.lο ³Yív.¡ŠÌªŒ KˆHC6] 41 žµÆ­ñI'슊4£(ÞËW’ ]8äw|m£,‹©Cý¸ ý®aò²(Ëw”©%äkÚUMî1{¤ª Ãs“ú3ÁUøSÅŠ7âÛønEU2Œr}Bƒ ³O>t|«ÍP˜þB(]8Ú6µêì‡*Kãô;</Ñb&;~æú‹­F {¥´˜[ȲÕí>àÞ'Zœ\EŠ *3}AñPÆ£ÑZ4Šp¯Æ»­½*¢Þ8Ü‹©}vj.ŸP²ôº~´ŒÛ9RÇû{gÇFûi> ¾`„êG‚Aüî6ÂÕ¢Ú˜ÁZþèg%ºM‹\™²º]Š›Éé~cR?-à€æd´Ç«ßP#D٦Ѐu-ÀGËñÞÄPQ7+¢xIfü´`„È0"XœÇ/v~q„ñ%úejŒ(FZ{`m¯´ü›Ð¬+NŽns èëlm¢3Ãee™CoKg Bô e4Â3ÉåÇàh&«‘UY³ÚîZ±¬ q-yúá䦨ý§`?žšl™ÑŠnE!Wç ¨D‚ÊݽiEðh”?Ý‚*Ûí9!À|Hå~âÝ/v+o®Å„”yÝ+Ôr 8% V*N#¨c”úz:wÞ·ç5µu5‘&~c“toº©ä›"ÔäÐz>Pš^}Ú ­<öYV¬sÉĪô7ž£A§F-Äže²óçIÒ"¾#oÜûQÞz$WBœö,T\íÇŠŸ$ák²µÓC¬Va<ŽBqD¨ýB3k69 3ð|3kÆå}âB^jÖÀ Í¸ó]ª Z«¾Í<UoëÛõü˜…"Söé@dдi‚á?e³£öÉ,­v?eÅþòúy ¿³û­ãqÂüI¼3º•·…C;3O«»ÕݼñxÚ5éeË.–K b3<ƒi"(œÑ¬Ü1ËXj Vóß"—Õm¾wF!-vÞ\ê`• ûuÔᘜ"ÿÚˆ.JgÏeªsØcÅ„xé‡d¤;ŸªörÝW.âRý%±&[|ÅØKBÖQ®  rÈʤ¼ø\´¿ÕPàÝÛ:M¶”³;¿n[6\†­•6éÆþi¨û-%1_aÖsƒ³ ©ª’NÛ­“¯erÎ<¦r)¨—5ÓÀ¼l8ûû1Œû¥ÈþåCô%îwÀX˜é´¨·= óºU¡µ€ -ùu~'¢±øÊ•Ù”ÉÏz9¥s!ž"”×îÆ§« Žù\V‹8çb¿¶ùÕöão#»?q _l‘KŸ FEÎXR jæ"Íâ$à8ÏwX £Yð™–@…9½ 6ËC†c_œд6ˆ”bI‚p:´• @ú´«®Ö½q_Õ —Ÿ¸E:tf»?U`Lxhzó‚GùK¡B‹E·— E mŒ‡ô2žÎP[´k£A$ó·»âׂƒC9©ÀïÇ5Pßip i7¢™ó¥ø“—^O‹w) &æÂ6«“»LfxI÷ÙÓÝGnÌ@‡™¸y=˜á†eƒá/Ì~6÷ˤg·¹¾lEÞQ>ÏôX‡+ƒ‚ˆp½ßô•oôŠßd‡¯ywúºa¯è}EFMZƒ…:}øÄ{…å‰U{]àq߇!Z·Á¿GiϪ§q[4w¾|ò@VÊäq²Ië°ƒ2Ø®2õ“ÎÞ‰Ïó‹ÜØØa>Ñ]¦®œ“$yXtú“†ü >ê-OéMavNøJg÷é•ÓZžßÍ[ýÓX«ì‚Ԥ凡»f¼é<}™Ý/ /zضQµ ·S¿RœÕâÃj™1 (C#ÛD>x3‹INÿsZbSñ9sÑzØ÷úF4Ü\‘³ÕÌ5Z^—J­—Ú8ïhf‰K•¸¿ìoˆ¥ 1œï^´_ùÊYêÊ)O°0o:ËÝç,™°×8T·?í=G´y߉]|uõš¢Ø#Hº.þœëŒ›œòySeJ\ô “°žÙªJS˜èÃdVïƒÏ/ðÒž®´â¸WbCƒ>¶÷È)Çð¢.퉞M +â»'Ÿ²c?ª{ !‡S6)Ò ÆhgÔbÉ^\m¼¼»0‹C"‰„!”ô¬Åk[ mÔ€)ï<Æû Ñy7ü‰!Mƒ«Ç\Ȧî%× ¥V¿`ásœ½Yº:¸b *»h_¦ÚÃ~*¹£î‚‰›qy=J“(ÓòÁçÖc?hÚ]ó ÃÌaY¡,ªôù x‚p£ UV…cù±ÓaÊ1mÁ=ñ)Ù¢ Õ T-ýÖyŽ áb¦F›%½ ÿoÜVõ²Òµ6Q³lSUÚO˜L´GX)‚a®Þw,a¯Uëd†¥OË.0 0"5‘Á5mcç‡\M?пNÁ÷îï ~ñ˜EÉú˜¦¸µF"é¤{E0èÇÖt‡ɉcëL¼àUÀ0¢L Ú˜;½ìÕ5½yÒ+:ž'ðJÛp´ÆˆÚsŠí€KgÆ£ë¨×yU6Õ ©:'øL}1¿I&:Œ;àV'7õÚ•©ôÐ/üØà’åšÜú²9‚0T‡nŒÜÔ&';LÖzñXt%$9¾¨ê/áÐ'ë…×k€×ÇN^ÁÞÙÊãÕZxṂ~V…ã¶M_Ú$¸¢&µ08;DHb& «,k§ânSæª)JÈŽ -vgˆýn¯°½P~À›ßGºR$6ïà J[FJïIú]ÚX”(½ŸWÅë.DG§¢ºMѪ6œ[ÖiÕ${03+fÁ|N·TñlOµqNR‹G ä2°µ 1²0º}¢#µÊzS{«i~Õļ@¯ e–±ò-à½+Jñå&Aøû¸•`|U*Ç’v\áÜz"ÇD! K)R3ö0otÖ7D^£Ðcìþ»ðT%î—¯ü•XI&çõrµÖÔ#J% å;;殉ª†öËpN Ë«óµ•Qì¬êõ²Vʼ 0ehnM¼ÆüäÕ/EÛ…È0xHûÎÿ5¸z/â‡ë*T½Uâƒ8 ¬$åãdK»÷. ’ÿòÏÙºz´£wQ7ña¼E¦\öHÍH±eÓr{&é+~qî×£ÄIrbÆÆ1”¨‰M\"ß]r2ÍhÞIbMò;~ ]µu«KäTËxv ù¡Å.®]Î.µÒ ·T·²¾î~à_kIâ•«8¿*‰(-b-Ýb´¡8gÈ*Ó*Ð;Ý™És*Á¿Ø@³ª²7|+kÝ‹~¼;T Gü¡YS]3L¡âs„£¼65V…4xkx r‹th‚LÎ1g}ìã3ÇqH€h¤°|*+­bvßrÃ;¿S‰Fü&ð»Jt¶_ƒjŽÞM›ý—¦¬;ñÉ‘«1÷«Öç‘t}Í«âЋ5 oÎC^µ°FäÛƒT^H ×t,,§ÎÒuè N‹×êJäÑ:“>+È6n¬0¿p Ú¦DœYŒä÷#~õ¦·à>e×êÁ—‰LGÌŒQ^åŽú6ÿøÌÓŽ~s!Žr—±ŠÀ³ýlÆ*‰©ÂAϵyãÞO&¹žá,„Ë›çÑŽãÈ|¯UDŒ¡3×~›ªOÓÇ·»ŸSx~ÛL¤ |C„`¸ƒngiØÅÎP‹’íš!ß,¡þ#¾êýÅ-žÏGûƒ¸ô{¿[“8tÔ†¯âæúö%9oµ ÷íÙ ^¡ž#bs:à!ÆÛŠ1ˆ­aÊœex¾s}=V†Ó©`ƒ)0 ˜µ,¸`‹ûd;¨×@¦œÝ„#›aQLÍ‘´?ÆÅ°Ä^zhï&ÔQD€9Ñ )7™¥U„å–ÖàÿCeÁ[1h>´·†9?tSwÖb`ëÝ·)£¶ 'ÒP£êFyušõºï.Ž> ¶\‚RÊUÆmYPÔÍÔl³ ÓÑL?Ÿ¡íÑ‚úRƒPw<—dg‘$õl‡–¶lÈï_Gkc™ŽÇ²k° &¥¢ÖfûÚGs§ :v^T»»± ìׇ†"ÊÆ7Ü¿º¦³©‘Q½ùµàwLÍ[DœN¦‰,Ëç¦*!$Çl!1ÁWL½ (¼€µFgØ‹5*vå5v ôÏ*àú¥ðŽ6:s™Ã¸½2™‚“ž‡^[ûn¦tCbGëƒ`÷J—°ü¥‰-å)ª!å¿÷§!Ÿ {51Òu®åCÆI¢è–î*Ï*g“xîí$œÑ…¹h4Å‹ÈàQ¬ ‘Ÿ9$Ý=Ha䳞ckëÈXm_7Ô|´N —î˺î¼óŠÊ'+šJ;¡íO’QúXp·¤îõ{SMGqë‰ið_bîu#8«a'ø|½³y]@ØŽhJ+±ŒÕæÒ©Û8.1ûiÔåÙ&××%é¡E4”Š"‡®_¬Ü˜Z{OM{£b¢¨ƒÙt‚&]ú¾EÄ)¬-.²`ÛεyHÜmÛöúŠøzj“ÖW+?øÄÆBù¢“ Óá[›Q­9žV®½OQQæ;êåU¦ó_™ óÇ;{tt2Ž3j2—º¸`ñEt;yyÏøöç[' 0æ´M–þÔ·ÿÿîùXÁ7‹ÃdÆ9ÒÜwwìâF”æ„®²Š[J+“‡¶Ò§h¡î+ñºîžÙ-³- 9dváAº@ <ýh+©ñ¨@s *.ÚKE¬@ê©ðö÷cÕõíT‹gnöK$<¢<ýëó|„C ±N·"6F.£1Rçm9cpétÈ–ùº;¢àg ¾š£&þ—̃þ²<9òýÐ ÈS|#’o_ºS9£jÛg¶N(ßul—+KZl¯Â՛Å­T‘Ï­}z§²7'tc›>‹ž¡9®€¯nÇ;»Lü4^ G¾˜t×bƒ;¤„!MÒê ùÌí¿—ùY¤ wð¨Æ§œljo?!5±)´'™í¤ŸÇŽî´Ÿ²È$¶Š¢ùˆ@ÌG¡Å[·GTi:&Y—ÔFµÏm›¾®Ý2–Ú“s»Ô~À ˜ïaûuD•hµ7Êq|:´œóxå.+»–únÑ-‚yvÚËoíãVÞä$•ßÜÆBi𜇵P…·.ç)•»Ü“„<\a]ª"‹ #ÓMq"&ñpU++¹ÑtÞ S1b’u<Ý´˜> ;–³€å]þÚQíaêáp挮ÄÕûeÃÓZŵä7(zÞu_ðŸ]ø0:9åú«kEâò8e\tAÌ1|ò2 èq%Œ¾‰d¿.zeŽP¾½©ˆÓÕW ³; +HÂZµÎT1Úî¢r'£œ}½CÚk€úUýY0â,—߯/îú\ޏñ|£^Î6K¥J¸XYª¸Î9Û‹ ‘å67¶ùB³êf×î›ïòµZ ©F|¢~è%©‰F•ÎÌ1Qˆ°í£?|¸ÏNV° ”hú0¹ët£ÆËãÐÏÂ\£ ofBQ°UA~I2âÚOÑOö)U²^Í"…ÃÑ‚n—;Ðc«ò¼Y¾ ÍtGœ!y•¬bìcáZ+ƒ»pïÛKuÝïR:ŒO£™6.ðGe’jBáúÏ£rS”}ÂùF:š½¨~~`B™ˆºhwÝ• Ö$JÔ8B™|ñÝx¹'Cu ¿yÝ,“Ý‹‰$“ˆÚs±;(å0Ç-¨ÐÂ$]5[ íjU=?ªåH¤SW_jÐÔçpHb§faSáMÇDï1®}ñÝH9ýÒ儘®Ã-_ìAL›hïg‘ɳ&Y™=Œ‹¡Süt¾ãè_@ž÷ó1ާ” ÓnÍæ¬_a–p³B!·J6âØA_!OÕ¦‘»l*»³R%õtÆîÞn^SÞUÒ5²Ûv[SÛŠíÌf2—t:l;QGiÊHëPÁj—´fÀMþ‡M.RR¾nƒ¦Ð\«1u>Ã#,µxV:›~Éø¼¦r:jRyOy…»AKAƒÁtqGùó]l—xj2"ø]+“T (uôÊ$Ç×Ô‘°žÆñŠ&PÔ5ÄÂç)qƒtª‹¼Á„ÒVKlO_QoírvºF¡Ì„ó”N¹ãLÁ{µ¡DæúOƒÎ`€?±ò´^Ð¯É«Üøm^Õá·9¼^ÏæD©,42[߆Ñrîw ±ó.ó²‚ßj¶êéaû#½’ b©‰X⡼å®ÈIx&(Ý©Åä"‰Ó?‰ÉZ¨D3ª—TÅ”ÃÍy£”(Á4¢¦-‰ŽOJ±¹ì… ä2e9Ò‘F唘84A/‰¹»uÅú™g•±ïZ¸lšÜpOPªð/ýèS©2©š·89MÒÚ œ—äÍà€2ÑgÀ¯¿œâ7'Du†­T!”ø|LѵizÁþë]Ð5oúÇÌçÍešYß°Ó®e$DTtR,NƒØ»>˜/Ž·4©±àMÍ f•ÒÓ›1I<â=¢IH‘ÿv<ÈÉaÉyéeàªà’¶0óæÇÂÐU¢W*£ò÷É3~YèÇ#FÚé L9’†Y$Ô‹BoZÉÕ¢ë}Ì8ÜM²zü(ô¾K¨äÏ?ärâÎTÉ¡i Xi6ýôìþ‹J"ð endstream endobj 745 0 obj << /Length1 1391 /Length2 6186 /Length3 0 /Length 7136 /Filter /FlateDecode >> stream xÚvTlß7%1:¤‘I(½¥»;¥Æ0`Œ‘$”$$¥Q¤™€H(!!-¡¤"HóN½Ÿû~ïçûÎù¾³s¶ëßqý~×™àeS q57´+\ŠC$ÀŠ@ #s9 ,%K-Xø-@ÐŽñG QŠÿË®C±&Kp3B£€ú>@ˆ"«‘Sƒ’`°ÂÑE &4á4’ê£Qp€ Ú7ƒððĪüç‚ ! rb¿ÃjH8ƒ¢€FP¬'I¨ƒú-Ð0ò¯B×=±X_E(((HŠô—@c<”…Å€A¬'ÐîÇÂÝ€¿ÆC‘ð߃I–žÿ?j ´;6Š  Žò' Üà ¡6ÐBÏhâ Gýq6üã ük5@ˆäïtEÿJ„@ý†Â`h¤/‚@yÝ>p ‰¶¡6+„¢Ü~9B}üÑ„xh áu%8ün ÔV3B óý5? ƒðÅúKø#|~Mú•†°d-”›‰„£°þ€_ýi"0paë! ß×êB¡pÎî”›û¯Ü|AV(„_\Oó/‚ ðÎŽÊ€Á`90î„Ã9°å†Fù„üãþûrAFj¶º¶¢¿þÛ¤®ŽâÄ%å€â’2` ") ”#ÂÿÅŠø« ð?±z(w4PáO³„-ý§áÀ¿n_è/bÿËM@,(ôÀÀ2`á òÿ óß!ÿ7tÿÊòÿø÷£àãóÛ*ôËüX¡H„OÈ_v^°ì¡ @ý·« ü]ànˆä[õ°PÔP>/ᯆ»™"°0Ï?Pù£·úE0 nŠöGüzP€â0ø¿lVÁ¼ †?¿Mpiþ]R C»ýb—¤Œ,ŠÁ@C„+&H2@„@C7xðoA(4–$ŒtGc¿îSÁý['¨k¤€ ÂCõ·L¨ ¡Ëÿ* À`Äû B_ÿ‘³†Ã“ãhص[^Ïo½>¨Uã _T\¶ÉÇMbZŽè(2„ŸæFÏaöÕ2ú:>-i í©NñžâÖ_½ ˆkJ3k>;qN5¿Ü ˜f}3ôx]­ÏCÅ-n©ºvêfåMúЏM_°À/@žÎ´ˆù ¨['¸_9ý.v|Ùl婬õIåñ»VIQe£‚…®ÆØùȱâ<”"L;Áô£{û#LùCç¼ú©¢€ð»R%8ûyÉäñЙjKIÿv{vÒ=¦wï¯àÔ×2õÙ>âÊKf‹GJ¤>µ9êDŒ/RÉ]A¤Ê?Sé%½¼â±ðs£º±%¦_3•ùxåT¬êf/‰ÌÊê x/¿÷&Ãnœ§’©á9_ÛÉc9ƒ..Ê&Dêó_æTRÚ»šÎ»ƒ¹3È«<Å«óƒ#³ær,ˆ–׌V›ÎèEÞ„¼Ä%Rˆ¸#”ÇwQÑ‘0ˆ”aV¦ÁŸP¹¥‰é;UÕßæâ ÛrŒv*„®²±q~á¢ú^/ïíY1Bâe´ÖòÉoƒ„jÇûŠXÚŠ³Jäƒwg}ñ°K|i(•ýÒÁ1›ø4ἴ̱;¼Ì휃<¤¥Tw½»2W3\6ïÚ?y™ÞúqÏ‚‰–:Sd@%£žü&,Œâsú² ÞÝšº•z:Æù¶æ¹kBÞîÐZkF8ºÕ×$-¬]˜zÈØøvÿa¤)õÖr9ëDJ»/Â;µÑÅk{lç³K{N}‡V••0šrëk½Íµ—º±ûŽéöÆÓ>ˤ ò¦ÒPgí/ Ohû4ÝXb'¤’Í(÷³Ô9ì-ÜC¤iÖòʃ;çK›æÞ^?ËO‚Lp}X,´]ðÎcÑËy¥,Èu²>r0quzÙòÁ¹pEÄE=ÁÁs¿ùû¦züuâFLiCkÖÁÞƒtÁø ÕÙ×£Ó¹Ìösú²ž‘ÛO§”<Õ¦jçß‘+2´ñ§ ]Ç›fYÀðV‡SÞô…›Ä…xpZßÚ…=˜éSõPž³ÈHiî Á ’øuFçáU\äc»ªÛ fDˆ-¦5C³ÆÄ>¥\«Ob(å“Òzš Sy HÒº½‘M¸±•óÑ×øžÏBs;›Èí&÷&Š Lܿɒ`v—Ù„—–†È âýÏfÌɆ÷ßrGÓ†Lñ Ÿñ”<+ÉÝ9™ uúÒ8¨V÷€Öê?Ó æ­ äÞØ´}©¬FÒ·kó"ÿ1Eïјrð”FgeÛºÌ{²˜ôÛ—ƒ Gœ¾¤Ñ²Lt—L¦ ‘þx/-&^ ïüöz¤¹˜Rdž°´‘¥’¬Yç÷ëÈìd|t·Š›²N¼° œ2Xks (°÷)û.kJ‘ˆúõBMv´Ý¨('j,qtZ‰WŠ¿ªTõ²GOÿ˜» àîø.NƒÏß][  ¡ÂI)iLyÕ¬“HïÚ¿•=Ý3ˆ ŠjR9#þÁúxm‹?óEA,™B%çµ€dj„š†ÐQËŇrªGpioåNôH%¦W×G e;ɯ[;øò†Zß ùYó˜O«Dž^‡á pÿ¹ûew«z¼W ÝêëÄ.‹l—'zÎó‡Ç¢%ŽyP¼íUS ¯ô) 5¸(@ÁN€Ãõ¸²áãàpFö6}þÇunÝî'ô]¢J•Œ!ÛçQØåþw¹ŽiR_ΨX…£ U“¨voÐéÌ8÷Ê(<ØŽð-ƒþ 8.8ˆà{ÛœbvÃS1:;潇gàŠ,3œã§Ý¹9wRKe¯´ÛŠsnc–ž f(®¢ç•¾B©ƒWÁ”8„Éæ”Ó=è5†u–²§~êÊVÅŒª§ÀV§ó ¤nwr²æ/¿¨Vã8 —ºŠ†Õ.QL{…ãü¤lœÔ‰*®>š:ef·+!êõDÇmºÍ×îY,¨0MuÓœ’ldÙãyk2âï!RQ/–ÆÞ*M¶4Nôd ¯§áêýŸ*­!¢£¢3Ú}œt<{y'ÈU×ç…¸³RüiƒÉšd/¦Mr?#s=2Š‹ºÊ$ò•²á*ie)^vYåóò:ªM­à.7¯ö¯XóH<.Gk?~CbÜ<i,ÍÑä=·"ÄBÄœóÊG ltÈPIÚ–?½²à E”ÈQ‡œ¯‘¼˜£|°ç{º9€Ý ™¡âœCoÒ+ˆqegP笧/-öÛ;*74TIdnaßë1f³k´l÷S'8FÝuÇ­Z­K«šõ’³†:CûÚw÷øÄqü›#›l+e\âQGûЫܮ&YÓ7¾ 3né>yM1ªfK2¥µÞœÞ}^öÓÊ#ÿºw½_‘!GWzÕÊø[¯ê‘&FOºq½¤«4ZU§‘± ¿,ÁJ_ z$ˆ‹ÖÁýËr€>ìRV AþòÎCÏô»ÁŽH’tšÍU>ÌÖAæË¶¤kòÛ2[Ë7yEu4"<×å3f pÞ\³ÏFrd©aU-†Â6ö‡ò‘Ó¢Jµ•ÖÝ̺ä6¦ÃóRßÃŽI |‘À|Í%­Vnr« [9zoXÛæmgH”b[žj¿m ÇŒ5„¼²‹((~Áî>Uß2<&x±7æ ”wﶎѼYĨR²iÿ¶æÑ熌–¾=vo|õ—öi8âa³f·æˆ¼Ò¾,•Ï)Ž«ò Öúdl­Þ½IÌsæ<ø·Ilüês·íËS—š#vô£FF 4H­m‡ðå%P®?÷âíYìéux0ŽKH¿’±Z™á8ÜBorPÊ9¤¿ïKi}¼{|v¢çhïV½š ®¯G·®¸Yë ¨Ö„mß¹ÔË–D-òµœ³5'$h‡õ”‘Æ Ÿ~èò÷¢1:pÍÚºÔ©_ Y–„v3­Zf¡vøþõ'†ð$åÑÉP“ ¿²²²›~µ1ÅI\|yÀÛg½¾ˆ¾O¼eÊþ+³›{ÅäÀµvªå‡M½å2Gk /qz-É$ÊÌïB.¬F?Gk¼˜ÙˆáU“TjW?TÙ*~ÝÁgÏX èðpî‹h8þé'¡D¡ß eYÊ^C¨Ø&º¾“Ž™ùŽý Ïk?#e':i8‰X¿’fèf?þC2Öf7‡Qb]º,9Fb«ÙIp@¤d˜§Žµ_s2lÛ^¥nó–Ü­dÈñZÍë¦K~/ÇÄyêPýV惌‚ò¯÷•y¾±hr櫘:Ÿoc‡Ñ…»‰)†‰Wa•‰{/yˆöf©>qÏÅÜA²³X+³tˆ?JšàKM¦¹vspñ†9„tyªèN†Ë@½ª*ºauàɽóZbo=>£-Ú$Å<“ŸõYØÜ–žŸ§±ô°H¡Ä?Tú›mßs~×Eú RC\Œ(V;Òø Ñ‚åÕœ7If‰£©ØWû܇’\-§P[›U1À[mý\a•ÎøKÌ;ìs)gÞCBO´Ï‘Ô’¼HÞ ·‘Ô!Ÿ„QÄ) õ‰êËYßügå_S‰.ÍÄÒff ²'¿hʽêcÕ¬Ùå_~º7ÝŽÖ:62€}+P•ïîh9DuOÖ‹NðÈe¾u¦n6ûIcÞ@;ÄŽÐD«ßÏU +(@ Jº^´îÊiµáý±]Ïb¾°óÐiã•ã 9IþØ'mq;Õ€`9–å—Z¬Í2µÅ&yÃÛVoUÐOühêlèÏÞ^ü¶Ì›ï—HRÊÆf:Gô{}ï¢'ñR}gÏÀ‚¹XàS¹;ôZ®DÑø•&{%Î=宜Ã,Š;øñ\–ƒbþ‹ÍžLæjuʒݳä1”&c*>ô|~³Bôï5¿šÄÆíxï‘J;‡óN÷äñWЕ¸·Å«(¢š5–«'Õ¯/*Uy¬˜ÐA@GЖ˛—ãFÓ„\ôûŸ|äPˆë1/î/PxQ”~óAeÖýt9r?b¬Œf21PМ¨ÿÌ+Hsˆ¢°Ókàd#gxN,Tÿ¡Í[wMƒ¿É¶¡Jbí!w¦¼]õåýÒefš–[±.àË®ß.4dR5/Z»¡-_9Wi Ä–Åß3Úk¬G¹~¥›g¼—Â.\Æp/^›™§X¹^Ä€$LJs‘Ÿ_ O¸sý¦ý‹—ºêŽr YK¨µÛ§+mtJ ² ûë°ˆKü.OÈÐF.zóŸïëh$rÀðózwÍ;…܉_Ð@èU3¾(‹RØPpiسܬL÷göý0ôs6xgÿ\ׄMÓü£ç-Ãc’„¤¸iÆÅŠ €¶Ø×}Õé—){º|ăé˜ëmæVß’´[fdÆËA dËï9zÏ\•Ñï“YËaws g€Œ©_ÃKæNw®‹ùRVðÒ<3Y¯û [ —ëiSK±7—í Åøµ¾žÆôŸ6Ê«DÒ«_ÿÂxŽT©Øîºõp±³ñt¤Ín+‹­]nÌÉ ×óÍÈ¥uÒVl²oMZúŠfÚØ1¶üìÓ19†ÅN‘¯ëxÿH[ï¹Cï.þÏ.)™+¶¼¢o¾­p…ê¤y—¿Þ:˜Ö~IÿøÖ—Åqô#öœP“A;ËL ÇÄhèèÍ×c ‡S}iœ9´W㢗D~xáqÅ-—²¸ÍkÕ:™þŸÞ ’vºó é):ëú“Ý{£iY&õÊ¢Q´Ü¢ÚÓ»Ô‚Ÿ6‹Î?ÚLÑÓM}™µ±¿@“ã6c(:3Of)MYµ| É« œQÞÆ¬Åìçdn&&]Ó¾¤3^öíêi+âs|E±ÛÅ VÛ¸!T˜Þë=Çòâ`?Ð*;„2î¤ÉQj,àê›ùÁ÷åu+×=0_j…®öúÎaÝÕžOÄvl÷žö‹•õw³¾î´,½*ßÜç›ñ8èŸQ"ŠRèV"W;%S ½:®áj¢P(=K@]ðÆWA˜gýßß]M‹]ž¸ÄèËÒ»ì°ÙÎ;ìÙJüêÇ@–†…tæ"š–Š*À~Ú¨•,Pã¹sÑÈ2=Ì*n#…»už¹PÑ „ïÚ—NòÇwš/ˆgòć@Ú‡kggܯ÷ K–¹•ó¦Ì¶uh“'MfmìÜØÜiu™ÌK¶$]‹Áenp±Gð=XGŒþœ„Í®°ëz{,d›Võ/hÒ¢]qDWüDœ“×ê@w<§fX·ØWì=£(®QÔ5ð¿PÓ‘UWiàÅ÷€˜ÎáN—Y®”’žüMp®ØÊ¢›Tk!îÐ-íØ²¼IÿÈЭ]çò=º)£Æ8åËLwé®ÂK¬´6]B1q?s¬ºhÊ+h prI‚ñxr@f…úv¡90µáÓ¿`Uò$v‰ƒðýê2þÔÜRb™ƒÏt`+£\è×]XVŽØSµ÷DÜ÷BÙEkE ZizÓ ½¤óûÛ*j;®õ©‚m¯BàïdK"GÌ W /ø@Mµ]4“ã)Âó..ÚÿL}.\}OÞ7ºôF]ЗÆ¡*¾æWªŠûDHal‰P%*e—×óa4ÔQþc\û·vr¬‚RNÆ-r‰2='üÇ9z4: Ò–NKYÛŠUz%[~V^Íöýðñ] ûè€sZŠÝzØV·BPºVÔhZ—´ÉNê¸3F)~è¹Û=õ¡^|ê K•BáDËqÙ®C»à®ò‡5ÐØ{zÌÏ^¥K¬ L¤ž¯¨¬Þ{Q•è÷wWÜK×3Œ6?¹[è)¼vÓxp°|šu©Ò@™\-u^¢q1)£T”yM`´‘÷p)<5ì`ÙÞ¸Ùªçgòúeþ9Z³-ôµ™yzm€W+h®ŸÔÀ°<²ÄE3ª',X!·)~sLáñÅwÔ4¥Þõ›Èùžœ] |OåÄ]Á·)Ÿ".Ê`5ØËîAò•![bUÇ­hîN$/§šþêEAiªëÓÃå>#ãÌÎ’ý›é6õ^•ÍnF&]m¼Ÿ‰—-¦‘ð ®N¾®–9ê!¥"$q¥BZ"l×½Ï5ìvœÊÍrFÀŽÇŒ\µ=†Ä1g¤g è£Íz´°í·Àé¶4;@ß é÷IÑö´k(ƒÜ9…Fèæ¤–*—&ñ»šHÑg¤ß³r¶Ùk¼ðÃï¦u¿ïÚ`’~n½þ®Ó®ãîñ±Üº®öà»ûwe¨Œ¦ƒ@…ì«E”ÖÓŒémP¡s6÷’€Ñ>\í\§¡Ô*ÞóöZZÿ„DyóÝçú(Sæµ’LЍ^r½soO«æ¶Ân<‡v&Ònºb5"ÌXÓ÷I–%·¥¬½à·ãa]*à ëUù=T*?wÊá"P$¡nâ.Q0繑ó¦Hªk 4û"=9^¹™Jd0{òÔ©î&õ‚”ë¶ :§ª@¥‘[Æ€¼ÐºÚÓ·6°R»óEÉŒ÷ÆW¾û1’ |’ÎÞK(”[ÛÖu¾Ñm ÅfŒæÐÁP‹ªÜ«ªíû¬¼èÛ¹ò²¦B•Ö6”‘æóñsþÏÁLºº¢š‚Iö6&wU¬)¥ðR¤ÆÔÚ·G¢r†‰) 7øhøšë1Èjxn|Özv?nbôLÊ—SîÞªGº¬×ëæd.fòÏxv¶¦2"ÝÁž{Ï€‘×kÎåY oÓ†ÄL¼(Ä÷;¼6;ÜÐŒ}åô¤b8 ywËá¶C­F«¶ëö®‘qè] Þ¦þŽé§Dµòî4UⓃó$‚Sy%&Q#ê–Ö÷ÉØt+¦íØDÛ}õÃ-s}Ï‘¾­úR±å}v·O¡Eþ43ùdõ"fv†Mê¦Î7¢umÈÔ™ºÍ<ÜW€.;­Ü\ŒåÉ7‚ßM“Þ‘‘„ø.R ÔÊ9¡Áo™&z–†û}º[Uð _—^re»€ ¯ô}ÒyÛ8×ìþ£@+2^Õݸ`Þƒ®P‚ÇÅ_ÃÄ^^¡^\fœàôÇ4IËp$YˆwY±ô1°9?$™?wy§ÍO7·Ü–‚$ºwÝj¶ÜªÄ~S„wýÌ ëýt©·Kmäѳ—ÈÒZŃ¥0þ‚Ï.9}a@JV<ŽÙ§jT…-jg2Æñ. Í1þÅî•ÄxÈî«= £&©ðgÛlHjtzççÍ5þï¦Í ÒoUøJÜø¼eõŒß+‚Ÿ^d'¤Hê8>6'#pô)¿«* {co/öÏ~¿q$Ã<Ôb2Ž7M7õIs̸¦,ÊëA½Q¤ÂYl–!ÂË\Qw Ó·(ÿź6M}ý2C\3Ä„´<‘´$’äÕÙýýo”½-ªyYUžØ¿½½÷”£¯;cn®&j¸óniÃôMså×ÝÖÏ® IÙ²há˧ž©Pძ‹»óz¸}_ó·™ëÉ@Û&S0”×çdGº"ñê°Tvu)KØ%“Ó¸i§}ÅVÝ¥9‰Ü§LâýR2†ÄW,&}ã4÷NOÊ[å- ¨%ÓvV™MŸÖáÉ8ðäÐxž€/LΈ\­‹áC£-Nb%¸ ×'Ƙҟ}NÝ!^øU¦‚ÝÝg¢ñÙafØòw÷‘ÔÒy‹žêøäÔ–ħ îÖw÷â$R˜í f´‰±ëøG±}@ ÆE£éØçÜ‹rIÕ(¶i·]æy¬1÷– Ƽ¶¾˜\XÙ2W yËç~ßžšr7†ëÀeùÑòð[Õš>¸½Ùè>kP}t Çc×®—¸à4§ä÷Ó=휦FV­J4å¥ÏuNH(ì›g„äzãYÉ’~ß‚S-²;+&n§Kök ËÞÄ2YæÌ(©êeA'\+ÉO»|è½égžS¨î:\ˆ•““}¸"É9Óý:nÞ0¢£IåÌ.%™W@˜Š±ÚÓëÉwnò©¢v¡Ä+Î ògÿ®´±u endstream endobj 747 0 obj << /Length1 1399 /Length2 6072 /Length3 0 /Length 7032 /Filter /FlateDecode >> stream xÚxX“mß>"R’Òé@:7îîncÀ`lÈFw‡tI ‚tHH£¤€´”(HI‡€€úMŸ÷}Ÿ÷ÿ?Žï;vÛ}¿óW×uþî{;‹¾¿‚ÒªŠD ùA@I€’Ž‘…€@!Bvvcý'd7…z `H„ä0”< `4S£1D$ é €„ QI˜$%þ&"=$Ê`/˜@G ‰D@Q„ìJHw_˜“3“çïK„’ãûíPpƒzÀ `@Œv†ºa2BÀp€ƒ¢}ÿ‚KÚv—ôöö»¡N²Ü|oÚ`EA=¼ €_-tÁnÐ?­ ²Œa¨¿ FHG´7Ø ÀpŠ@a\<P&;ÀHC çEüEÖþ‹Àø³9è_áþxÿ CüvC H7w0†p8ÂàP€žª¶ÚÍ#~ÁpãöÃà`{ áwé`€ª‚ŒéðO(ˆÌ@Áà¿zü³Í*%¤›FþªOæ…`öÝWðÏáº"Þÿ¿WŽ0„ƒã¯6<ÝM°‡žP å? DøoÌ Šˆ%DEE@èCÔâ,ø+±¯;ô·ñ7Œé!ÐßépÄ´ „9B1„þ(°€öð„úÿ§áŸ+Bàƒ öP'‚ðßÑ10Ôñ¯5æü=`>+ F~ ð×ë_WÖ…9 pßÓ± ‘ž‘’¢)ÿeTTDúüù…$ü¢@ˆ‰‰ÿG ûSÇøj ‘‰¿ÊÅìÓß%{ýÑןáü3–.£\(€ëßBB0o ÿ³Ü»üÿTþ+Êÿ*ôÿ®HÕÿmçú‹ðÿØÁn0¸ïF¹žhÌè 1³€øoªô¯ÑÕ:À<ÝþÛªc¦Aá„Q4?è¾ðþ_8 ¥ ó:èÃÐç¿TónòkÞà0T‰‚ýºÃ`¼€Àÿ²a† ⊹‹ 0Òüm‚bfèŸyU¤Ã¯a€=<À¾„˜³Æ¬Dþ ÌT:@}~‹ (€@¢1.LG¤ᯃÝ`OÔ/ô7 „<áh˜;&Á/ìÙ ž˜Ñû- L)¯Ï9ê….Ì"!R./":.ê¼ù7Fq—Wºb“-úcDÐsOýµñrÔ¦*Ú9ÔÐŽ<ÖŸ¯ˆšœ `à9¸óyð:/t)S½¥Ò¿¦xÄ_8ôíäµ”ÙIï4.ö8vü0Å€‰ÔÎ ÇŠ3Ílö*R¬Gxóùçâë.Ô¦¥Ä.À PzFÆ’É€NPÈïÚÅ~dÁ¶‚¶x@–xÇÃ*ËÓXÃdüû,ñ\±#žî›ïšUböðÇoòú iõÖŠÖDQÐQúi²ä¤ÒQ¥äi¾Daq(Šœ)Ud$³Ò•¸Eq,Ý´[ú>]4О2(ìÙ䤫z[/èm³gRdV&¿gé˜Ñv=×ø› 1mKj¬3_Ýc6EöZ¬³á¬ÃZaxA/53·¡kñ§Î4²¬üÜBû}s<^P¸°Íç Ú »„œu† \|ðÓ3EQ}8³ûˆ£Ùû+é =;…¾ÆM]—Ï‘{|_ŸõêÌï¦!N·ZÞt ÷D!Ù˜¨¦B“Í;svûvR^jˆœ½#7åQE×kÍ!»m¹“ò“¦ƒ òqôÛ»Ô¤,å%æ'X“L…I É猵7±²t ,$#B¦ÉH(\*˜ž¿¯}ûT&¬E&C<´8qtCÙ`/‰¬~í¶AÏ·[6ÉöG‚Bø6Z]–ÎveºœšèûɰæÝä«-E‹©Ð#±Ù¥Å&Á¶åA ¾'~Ý{ËÔi9Șõjb¯·“3cÓG½éò çˆÂ~XMr5¢^Õœ$Ò¦ôq€*ÖÄj¬ÝqÚ‚ïÑóÖ±ùôÈê\êþz¨»ÍV“î¡û÷ʇŠÊ€;¤œó‘Âk5:!þ8D1¦ÁÊÄ_Åïƒ'šÂ„fXÎŽÍ„ëp9­÷ÔE»VlZâÈ.ÕÜÎz?R´Õ3 júAÎo–„©Š÷ÒþðIÐ\Oô¯²»þ hwÓÚì!ƒr˜N+nŒÅý岓¨ò"‹¤™·Eæú*GÚ×Bk¶B­·kZ+êþ„ Ÿ):Ê¡ÎîOº€v$ñÅÙ¥™î]&ÕôãÒýìÖ¤iìÓïékYð»ª?©k“c:ƒž3«æÛ)­ä†+]XJK{¸ð#½gἎã´y:»ûwÏárŒž¥Öƒ›`ÃêÏÖ•nQëdï`eZ•zCS‰,·ã_L¿ø¾IûÕü‡-zÚL*»ûí—¬AOy®{•hž·eÓ·Mžæù¬}ýjÞP-‡ßÌè:÷Á©fÀ+žB§ª›)”÷Ô¬J5°¼7]šøA¬Ô6LnŠlx¼èÕ–¿—*×Ó~W*=¯^fäƒ,_ÄÀZYU×ÖªoÍ94“†û·¼ •2æKpò ” éH¦åmùò©GòH;]ïP'Ø;Â74.ôm°+²½r(J4†Ôý\¹ çÂá>ß“™ã†B÷Œ†Mô5ýµÆ*FQô‘D£µ…û‚{^¯“Æ­ [¿Ï3·h³ëÊïf«‡G¥Ý‘^ÒçLÔ|6²ì•2Ã7ÀÖÈêlR¦#wÚ°+·’æÎ3!æE2G#³¨B®©‘¦É릊Ø gÄo4ˆ;¶Eè} J£Ã[õ¸#‰«bÓŸ§ØI" "ÔˆŠ/S ýžQœœ8nûGOØ+;8•^/òÏÎ^UÌÙ™ ¼|5°räT:ñ]Z­³|>ý\ÞÂ,žV {ÈN÷ù†VÌÕ}W=šýUò³&€Ôòp¾úH•GK4Ÿ]±ßeóˆá?¼iõžwïüòåØüÖôd{˜ÍÛKŽø“ckrqxFÒúKT+GDÄkÁäÕUîã¾0ñ öJõÁÂDà uh§k¡TÒVÆ•§ –Q,¡‚Èq¶¨¢ ùb‘b1Ûx ¿&;©~¼ƒ5rò¼‚ÂZw”?8Ð?fr`H¾`:“÷cŒäÆu<æŽZ\kœþ4ã_I¬[†uèÌŽúV¹}”Àj[Ñ-¦[ߨ6}¿>6Þ ®È±>Ý’›á#ÂÞ?¶GÂÓ²œÉDS~êÅxõØ–án¿mH6ØÜÔßg1p?'xÌpÞê!zÞñZª¤Á2s«{`ÝkžY•ȗ<‘ºI=Õ×]Š^yhn æB·Ê›<2Œ°®þ˜k罹$ÇÊýXâͲUŸ9*š0Rb¨¿Åöùe«äÏÎwÜC‰*÷æ·J8«{7ºø[›‰Þa 2ôØ¿$F/t3ÄÏ !r‰¬µ¼¢ï+Ò&uº9iGR.`WÇåj«—¼kÓúpzÒœÏõïa>ïÜ"ÄÂ7£´½¤ ÷!…­ÎÛøk;~ù<àSÜkÎÓ¼ñú‰³ ´QùP1©ƒÜÇzs* ®p‹ðȾsW]³&‹WûªóÒ[Š ™Û® ‹½xˆû\ïgÆm„æÙÉ€Ø W×{níXñc¤Ûð·päô›½ŠûtmT5…¾O(Ò’Þ{ݽsÈ”\\ÀÜ—®ÒI|÷báfªÎÀîœ`Íõ.z>òæ•:4'jA_©qÛK÷`“UM4¨tø¯ ߺ T¨@“ü*>7`³Žk½ÕtæËrœZy5\,LË‘ÁŒÒoÉ£Àv_滫?gåý‘(s@)W7moF}Ô!Ÿà‡†æ¿)í^ˈ€ÖXåÌ÷ùI¿­UöÝ›ãè-.[NW¢«ñcÞ¬ÐÍ·(¬§·¾îDûêÇÔ¯ ­°ŒC}Pc:EL‘ú±tP[JVÔ­2$Ïþc‰øñG…H—Z“}­3 —Â6>ÜÑ ^{PÝì‹/D½¹peíC˛¡çÍúüäiÇq'§ô„Eç2.”$xA_ Ï£"rï±Cô—bdb¦¿µR¥,Û›ª~N,1<ÏmXÓ·\âÞñë~Ý-­A‹'õky8}LpÏãÙP„ ÌÆÅ<ëÙ­'Ò6 :}óóê˜#¶f§Ü`-µKn¯°}nðÆL¿îþê¬?‘y•Š-â+`žt“qjô9÷—ÏŒEÆ…ûX¥g ­‚"תª·q.ƒ«Šð@?šJµçL+wƾLÚW˜l³ûELÓj¾h7/¦/êFkøûºž àLß‹í·J»WÌ®|Oå]Xª»{­*OUù×ú¥,¯C½i‡1„âv1ùÔMG‰pžZ†=sɯ]›²ƒ9’<£KÚLŽØ£ T½©àT)^&ªv`4÷Ä{…T§Þ:-žPs­ìEÓfN¿Ë“· Lï¹ gã·fŒ;ÒÉ{³“µÇ–I4w·m”aå×V¥G’(é'Z„zX¾P.™D_äbeÞÃý&b±ë8i·óP?4ðüj*@æg|æûLˆ^€~/î*GâKsbàúF!¯“»B_ßk™—*!r¥¡0±Ü¯3D©‡™µMçÉ‚¶UˆZG€E™hü•¶8lVFo(‘3=]7‰~ÈSèú¬›ûñf4²Q¾®~53ô§íÑŽÂT°pÙªÕv·"³éiÛ‘„JQu²‹ á#k9@ÕÖï[µ¶¤"Âç%ªNÓÝ ÷Ÿ(fo­çî)”WÝYé|øbüh„ôîò«¥ÉûMxqÌÑÅÉ çúŽ´ïªOøfú DO×:n1>õ(.³JùøÚËîQGSý÷šÓî`Ÿs5¶Ÿ %;ã…­c·ß¦¿,§ù0Þ¥:š©«ÏI “¡­yíÈBsã.ÏHg¥®à¦7n_¬¡x—ü£?bHK§|¯.‡†ÛãüÏdÍYÞ¸e@¿ ËÁ©IÌ~²N™*©o]<çJ3“rKÚ÷"OדœŽ·SRÞÙ/P:pˆÖm,é‹ ½ kqUÐ°Žæ¦Ñ¹ n6*úüÓ"sÑD–€‹›4ÃQÎc“È4˜Ây‘Ç"]¥½âx9 ½<Ö_üø¼‹y’~¿îÎÏ…JÞtIMH³ta/§ÛJ:Ûd;TÂŶ »Ì ãý×uÎRÝ\µÆÃ•[Y²$Øý壯\¬ï N„Íe5 ýä”÷Cdt/"otÚ#ˆ™üÒØ[pɲ.ˆól=êu-÷¾@®Æ]`}„œÄª¯õ'){¯¶^X‡u2$Sí:<õWI¥.é}äº@·’M.ÀFeº²éLÎ;ósesue³¾¿[K…sql)¼¬%kWÂ1Ë”?9ù.üäì±û]¸AíÓ4ƒÏÙ±8ö+åT‚î'7šNž2§=ìRDZý1£@žÚØ¥0x‡÷³ÈM+ÑŸÃOJz¦;7ÔíxÍ &övœºq7ïÙNêë‡æ!Æ7Çhi†™x×cA|¹ !7:îü‘qÇÓÖÚýŒ•Õ¢ ß{\kµvìïý+ÈÊX: ˜ó¨eŸÖSÇMÅ*ÞêG‡*ˇVèÉ÷NzZŒ ÏØ.Ù^ÈPÒ ›Ë“Ûq†p“Y WÒg’ìÌ0Î`±óèª3öÒgo—äK)9<[ɺ5äáÞIW¢t¹.P%§'ëŽD¢˜Ðûjœç«J2Ûܹqj¸ÏpäÙÞÍ!/⮟áj½Ì-iº­£ÓFØÔAüpÀ‹£¹vø\iyCX«YÛÕàm¬ïéŸBêh¯»ÐÏÄËÿ¤¦¢ÐäÑãzÕ¯&ú¬íZcQQ¼US]P1 9`WÆ>Ì!G»QÊÉOâõ. þäx¸Ýó¯Rv3T›Ÿ&ðÕ%Ÿ?]±Pg²¥5­¶«ú·x‡ÚXLæÐ‘ð>eS-—©®¼plJ/ç~Œç;ù¸•R‰]U¦=¬gp@1÷lá¬PMk^ß¹!H·ÑªGcØv'&D ÿȘÚoiÊ‘`“@z:3=þ*ô†Ý}ÌSY4«ÉÙq½ò‘Í.З4 ï}ðƒòòU]!WÇ"ð ÒSSLøI0ÙNã±×ÊN÷i°Ö¢™žÎô’°Ü\RB…αõ7I3:)Jr¯»É‘dY·ÌW¥nE(ÞM%ˆ-3§HÐ_Ñ’+`1.ŽÜ~‰¢Þ»yfb½þ<³VŒS4NEÿVqOÅ&)…||žqu:`†|ÆÊ> `g ø©èÍÚ±§rT^Z,Ià GÈuŸ¸„ÀõlYû¦=½—"„7X¥›WŽhH¤4†.qjÞª/;p:%ÐPÝ””ëA§Ï'ã™èAH\„”ܬJ>Ué‰É†ºš]º–Utb˜×r†¿8`*¥Î#¥ê‘6){1§»(®tpYDÍ‘“EËeßc ÿ’9‰æ4Ïp ’àU«?Ò]ÇÅÏvˆ÷ï·>Žwk}"Mw{à Y~û\"U‰½Ý# ì(\‹Ì³w½‘î§ÛÙ,Ù*}úOÄTå´ã}.ú¤«Ç5¬¹¯ÒãžÄõ/è$žJ)Ú$éU¤ ëæQ¼-Üî‰h¿ÉörYc€dçg­.ô‡Ý;»Yl¯–íÂù%¨ ûJ6t !ùró¯‡v¦êšn0“í9¯ß´Ž+µ?ê&¸Þnß©²Ý’ž¼ÍàÅ!ÛC3öTÖYçÕÇÐiþ¨Ð“/f×IÑ[Ú&F—6Í{á†GÍ< o´_›ì=Ö1U¥ŠüãuÕØ2“uÌ ¬x ›¸èk>FG7Wýl+t©Œ*í `-kü|z-:Ii¡öÉò&øÔUʩڲ”{‹ƒ8ˆ5b]%Mv4* Yʇ´ŸÈë;ûÅÝ÷µÆVûY\ëÃ0(v«Úcz—„å*Ü߸#´—ÏŒ¤§ƒA µ§¥¯-å cÖ´Êgö¼›¯õ¢¬çáµ>Ÿ8E½×DÍ_(‘u+k1ëáѽŽvÌår’÷¶v,5Íé±Ú Ú©~Ûf¶!Uöª&\ÕËõšªelºáEDèw¹aܲt9\øHiï,÷†U®Ÿïxê T½è:#òØÁPaÏŽ«?RÞ?Yæ–¯™l÷Q̺ìeJí¦¯üçþŸ­&+—ø¿ÿRèU—„øgIû*Ú‹UÀY8|’ÚŽnÉWD¿;ÌÀçw(ÄYìô\ßy€Õ3Šý™5+øœÓó`8€ŠEvQø;°1¦·ã™ÍÌótZî™l~ÿ—zI­uz³—Bd†å=¤>o¶vñïÆôãŸz+:M¤¬v\]·çç²ÎUÂsíÎü¤Zë³4|g¨ÌÝz=²ëîQîªCôRW¾Êñê©pF¼w8mtþ¹)tŸ{KÐÝpðbiáU%+­P“'a– 4Uä‚·o¡UfyÌIOYßZö5ëÓ¦}ŒÁ úÓ£:#ø—þ3@2½žÙRÈj»…–ß]ʸˆÍ«µsj•<¾5¨©Ð¹Œ ’‚›’?T2hú©XrŠÞdAh²Ev3÷&•´ÛÀ¬íi¸Þõ×É”ûï¶7XÉ‚ Kìå-¦U¤m°þã.®bÔ“4%ß×g¤B®{y‰![Íß< hcºB? GË3þâ4¥\ endstream endobj 749 0 obj << /Length1 1409 /Length2 6124 /Length3 0 /Length 7090 /Filter /FlateDecode >> stream xÚtT”ïö.Ý(Ýà €„0C‡„tHƒ´à0 0Ä Cw#% )¥R"‚HJwKw#]"(ðãœóÿ{׺wÍZß|ﳟ½ß½ß÷y>vVm=^Y+„%T Gñòó$òzÆ¢H bgׇ¡ a"v(Ò†€Kü/‚< F¡10 ÍÓ@Àj®~A¿ˆ¿¨ÄÿED % `7˜@ƒ †€C]ˆØåNžH˜- ½Í¿^œ.¿¸¸èƒßéYG(Ã`”-Ô½#ìÐC@`P”ç?JpJÚ¢PN@ »»;ØÑ…´‘æzp‡¡lºP(Ò jø50@ìý3;@ßæò×CX£ÜÁH( 8À P¸ :ÃnEЛôTÕZNPø²úÂÀß³ðóñÿ»Üßì_…`ðßÉ`áè†{Âà6k˜ ¥¤Î‡ò@=€áV¿ˆ`:ì†9€-ф߃J²:0zÀ¿ã¹@0'” Ÿ Ìá׈À_eЧ¬·’G8:Bá(¢_ý)ÀPúØ=nÖŽp‡{ÿ]XÃàVÖ¿†°ru>Ü]¡ª )hˆè?˜ ‰‹ˆ‰ Î¨Äø«¼¾§ôwÿŒžÀ×Û á°Fõ…YCÑDÞ.`7(…t…úzÿïÀ?WDüü+°„ÚÀàDÿ©Ž†¡ÖÖèËGÂ<¦ ´öø _¿¿=EËË wðüý÷ýMLdÕôžðü™øß199„À›—_À+.Ìà@?Džÿ,£ †ýmôŸ\U¸5 þ§[ô1ý«c·¿àük.À?ki"Ъ…8ÿ#r30‚~ðÿKýwÊÿMῪü¿Dþß )¹:8üsþŽÿa°#ÌÁó/-ZWÚ´ àÿM5„þ1­Ô æêøßQUmY¸ Z̼üB| ¡?8ÌE æµÒ†¡ ¶$óòËj08TáûõmAg@ÿCû bþ~¸ uù;EÛçŸû*Â!«_>€‘H°'-'aa€7?ÚVPßJùà:€žÑ`@ýºVt] ÔúËK¿¿14䃻ºü@ûè„„¡Ïèòý!®H$:÷·LÐÍýkýÛôP¨B4=€< ±« iø^.Ëèλ>€·¸Üô<θ#BÅ1ùÚÛVÿ•ò¨³Ü3«º¾í©Â°‘ FîýïƒfŸ3’U²QŠ«r‡¼oz.N>Û@Y¬ 6C¢)ÏWÉâu˜o?3Å1½ÿÒpâg¨h«àféFîU“˦‰øÀÿŒ5™#›Õ´ƒeÌʶŒê56#‹¥@š¦ºê«>ºÂŠ‚ÅžË5DÓ_x®šÆ¦õÎÏwgtv¤¿}ÜV&RFIO奯šÕ—ÐEOŸ¡Vë‚Á!'üM¾0)î.}žcǶcå8?[l;=ÈPÀd×' ‹ÀL@jÝVª®oéàè–dýéå‰÷š]jàVR?I Œî…•pB¶= zã›6šŽž+W¯/N&¹ ì€Ù2#õºéúöZ9峌¢œUnij]F.m~N‹sª—‚ >½£S*¬0b2£7«^Iâ£#2Îýb{²a&Oÿ‚‚‚Nþ®Ã‘ÑÆä+å£MÌÀ 9y">ÓŽa:nÙ} ÅMÓe ‹K㈾6‘Bå²åŒSÖ¢‰eâ0y³&îAŸ9bNh­z{°÷5I´r¹ÞhÎìÚ8w2|¬ÄÈðV=ÃÄ{(Àù$!Ê·±'gÙ¤Uá½°þ>@³’Xª¯ZœÇŸ¢wƒïþñ˜1ByD’á^ÍvÐt,Mhª¾ÀΫÑËyi„å*^R^M_ÐL××2åkBLËTÞš*/(h_ÒôP€ dÈå¹ó¢Èæý1~N¼ƒaUO$=¸¾ÿµÜ5õ8ýF¦€s'Ç“‚2þcÕâØÍi74Ó¥c9qGOþÁñ‘z¬s \Τ¥3/rI­a•Ñ ïì6—JOÕ÷3gpcªL vëÃIÂ;±qùv±*ß–°Š=O#o­½Ïé…”¡üÂaɉŽ^eU—4H—÷¢p‹KûŒÜ¤&ê3ûQÜ©‚Úvò£®•e¼ê¦ë·¶KBÓ†<ã;Ùo[¾½¨s_þ>l ð'’E 笯9;ÞÓ’P³Ã›OÈ o‡œ™ ú×Ìœ² ©4h»åð˜rÒoE»„­¡Éêã1³õ6›0ówê_|,Eå »üoÛï;^ÄÒu|!,e6$zS…X>Ön.œµîe‘Õš‹&ëÁˆ#à5Öç@òyNäõ\ˆ‡¯æ\EWÖÎL2ÄÍtÓ<ì(”ïø.ÖÅ5Ç ò‘má^ÚMúÄÁÃW`r6ÁËÆ³Ÿ ¡¥³ÅF’›>Œ÷D!ä…œù1©‰àG=ÝþY¸ˆ“íÔ+zk/¯c™ÈǽŒÄTÓô—lÆ5j`¤óqo?YsâANôÆÁñ>ß ¿õQóù§ÒÌ5*9ò1÷ûB?Ê\‘ù*Ó8üIBºM¤ R’“òWÞ¯ŠÖ*úKB½}L?ñCÛ.Ý+Z#:+ ùÌÞG„á½ÌI­RjŸÚâ¡Äx—OL§8ÁÔy~|Ìi§o¾;¿Ò%~ É/?LÓâÌ&íÚ~òÉ7®î ÷-QçÇÀö÷1‰q²È9ãy©ÂÄ%0E$%!íi­Æw².®%*iqªvàgJ(‰{¸½aâu™-Ù r#=î$Dú9u‘†±{ ¸…øŠÂ¢êKv+¯,G_›û¬Âd¬G¶ÙYKøÇÖ¾/ß?TÈ¥¹O/3¾r«FøƒB/¢s8 ÿÇ §ƒ N¤ÿ¾G­‘µ(|fI9hè΀Õ2„ŸÖ€¬Rl:Ò1s±…oÁÔWò|UôŠt¦>F[}AÔÏ ×%;»^Pñº¼'&ºÌ7`¡7ƒöÛ”Âíç={Ùß6qQçŒ7k]ïwf B·Û›ûwY'ŒÄEïKn³$}mu$ààÚUk"Ðs§b¬ÞÝ+^øÄT´”U5ˆÓ?T–bP÷U-yÝùApì““¶yÓtµ/:é £³¸ÕSÄÊVB«ÆrèbÊ“»©\ÏÌÚàût—+U<Ó_^·?H¢|‘,š9š^?Ó~Xr/òN?Kf϶‡edz`ãÀG„E=Yp„wÖøMçøÜí‡,®"Ôž-³›¢†+…_>qù޶âžËíLé{¯4úDJûYÉãUN… ¶9ä <ßù˜\ø8?%0TD芓h›¼Ó[T‘ Æ©W¡>à ÷ö|0²VùŠnîÖvxji}SúØ»ÂÑ­×A©[‡c±úó4”%.Ù8â¶g¦Ì—à{+?ÀT0²É.¶¸ë$Zlv"¨sË=næ Vëy¡" ½´õ»Å”zÇùÊ}VŒ9§AŸy"&n%~´bà‹!Ó5 èäflu¼†›°Šžmìa Òïb°T~ÞB\zœº²=]À‰¾_x"LâV” #yxaÖF]Þ,%rhÜO»§´Çî?cug+½ªX‰uèÑ⾯ï»HgEšÛŒIÅž–¹a`Ã%VØ¥—KÓãorÀ2.mÚëz¦îš Nh×ã·CeýW©ÌÉF(^_¶-ÁZuÏÜ›ü/cF9ØcÔBóCHå Ó¨™ƒÕ?ãÞqLA+É6²Òp…-ÊÌ"¬<ïÆ/¸X˜ߟ»+;ÿ•¿˜3ÿÀ@`¦A“@XZáTý»mŸë+MÑP ?ö®>B×RºÀ/‹F \l˜[ª_RVx‰´& ö~™ìФñ?dÉ(aå¯ ±³rìf”%‡& Z‹eO8\n[ÿÔÐMçÝ~*Tº€c1Sg`Ü7þ¦ì>²ãºß†gÁsc¹ÆRe„[ê^"%kì,}eöP.gº£Ÿ¬:Ž”{HÛeSâü+áçäÚ¦"Oû¸Í×FÏ p:S"˜*s¹¼Sœ-]­.é7ø6"Ô£4Ë¡\ƃÒ"ì;F¤kO} z¿áãZ{ò› HÝŽÛ*.ju Žf(zt:A·!‡“Rl¸ãdpGxŽ]¾ÂðUsÛð­#2ýBxDõ ·3‰€P½:G‚onš°A?àŠ ‹¿”¾®Œ‹ÉB}j¾c2žü`­ºÀ3Îõ¼!áë“oyãòJ yëá·ê!˜>š^„Yê»,Qv,¼UmîÍÒ›ZÏîÞët!•MC¹ºVçéÅúzì &‰tÓÂþ›½>TvÀŒwÿà E,-ž5+¹¼HªeReÝò‡þ:ð9&n¸Ó'ú2Òæ¥bfÖʧ‘g©ÀŸ°:û¯Î­ORnÖò†Þì}lnwþØMQ¥ü.(M¹I˜ WR¶îlgRµHÓqÁϰr5è­Y0R÷.³ì›Ò매4Åf?áóõPrVŽãî-ŠˆšçìÃf0…ú«€“¨£¾oéÞcH¶˜ãÛ%³QÂ2}[ jÆ)pÙ\l‚<žøÕÑË8*"üŸØð˜¼ÞF]½$ìëx¿ÑUÒˆH[T×ô„³BE™n²Híâ×î‹L½}%EƒTä—Aõ´~Y¨ã=¿-”‰ÉMÆsͬ.«³ÿÄ(€í3›[Ïø¾æ©*ÑrÐlÑæ—(’… nÂÄ ÝÅç9ÆìXÕšÂ=+á"»c»MùÖIØÅáHSz'=þ¹žÁþB—²¢€öÜ–ó’-`‡'Ô)x<‚g `2'2©] :]r±Ç˧Æô毞ˆ˜I ±ˆwÂè¬Îö:&üHkûõˆé]»&IIÖKÊåÒ6ûqùÔy–bµ¦Šmb’-u¦%Í­+¯fU ™ô„+6,}<’ ¾í2«v>ùW2´¼î0µT›'Úvt®´D¥åÅNÕ³‰¤ŠE*ùÙÈXP‹}»ô>=sµò`Š_ñ hÆg‘›ß?Å[–…}¶û8Æ®#fÚqyS3 JRi³£ï=*íä÷Â¥L5ë>Ay, U$HxLŸ·eM—`DÿáƒÆÙââ¼xE­\ÌâòØwUÄá ÑÚ³¸/‹‚¢T0-ÞfþrxVöiŒroœD¸UVãú^Ûâ0VÙ°¦žmërjNeB1À-ªÞ™W>Äd’óp½j¦&`õûÐ{/8, ¯,®È*UG*ó´œ^å ·¼¿# “Ûaïœ÷#çéWÖê©™‡·+ÿ×Yä8壄èµñ-G±†iØgó;¼ñ¸˜ ]ªSVœëTKΰ£Þ< ¶Kt¡ëñÞ?ß]ôžÝâ ·çQÑ";À-_¼2È¿‰<Öê—P 9ðŒ–.u.æÄ_8gÂÃeæ´o•;¹Œ4¯EèŽ~Û[è7úU0Éû Ì“Toaï±ÛjÔ/yÇÖ8OaÐ1…ñß~u¯f’¹`n8OŸÖòùXùp-°)¹¥+lÉSiv÷+ÿá{ÒCMà$ã±m¾‘]ÐŽƒ­ûK}š•ÚVsjæÌ´^ó®“cG(–Êë–T¬-LpèÔ#‡'w‡XM¦ºíÛB¤yi¤ñ_«öPªmðêÊrk?ªeum~~X³ÇÕ;Û6á†óú2çÃ՛׋ÐÔæ¸Ò‡†?óÅ×áU’ß©ûI;$Ô¥\iö7TÏ@MI?·åïtf¬yÍt5oMˆûGÏ´ÜVuLŸÕU³Dÿ<ŸéàŠá©—ð¹|Qg LFT2ºÄzaóø¹ùèe½ynÜM{¶=í…Tjó¶SV47T‰z/È™kã§1:=NcÀ[YÆýýÂÊ™j°Âôkd›ùiÄdÙZpÚ“–¶=žtö¾~B¬\Òøh>Ãøl †I!¤p‡§»õ@Õ#ürjõeÂó¦hN­ƒE6ìXÙ0#5!ýMãô÷w9ø˜‚™½¿9#ÃìËFägî!9šVn„~RGì¨36(hdœé5ÜÍx?a.œÁ”¼â^2ƒ!§ßÁ¦OQêZÁÑ1©ø™¾¦•JIð‘1ŸshÀ±PãÍ!Ï'áÁïD#cš¢~òßÎgá ñ²H¥ûñYú]c•ÄOÏurØW¨ê†y¥'³¤50 ÍwG›×ׯ¨Žûm «V)'H²\“5¾½ùú¤½D ɼµÎÉûýà-Š( ÒÉþ"Ð[WFT[‡"¸a]è*íƒ.n¡Æ…HPnã4˸F(]pÕ¸9§Ì畚ôj0J÷°ƒŸe±£Àzg‹kÖ¸™Ç“dïJ‰vÉý6âÏîgSù,Õ&i ߥ<ð#éÐS'|8V £æž¾x³»N$ñÞXvJµóìø¥ý¨ðlF8ûžÓõõ›ç=ƒº¹°Ð°¡Ž¤G3ߞ͟?„†ÌŽóušýäíŨP8"±oaåÆv#Û:É" ú4ÝL©™›«ÝaRùØþ§¹;ö7.p~Yn¿–õòbšz’È š|e//.¢ÑZ2\úù? Ô‹ž¯µõ2êÙ™üeöu«†½µŽ8=Y¥¯:‡tn®oôA G°9fCU e98¶g {$ ´k ¥"Ukm§öæs$I³¨ýˆ{|r˜AЕ‚ÔÄEÁRÌóVÕ¾÷>ƒ!ídµ=“!rí>GáŸ~t`æ%’½$m;Í/K~U›Û¬ã¡ÍÜ¡ rˆ3y£1z’7S%*+ôYÿ¥v†SyF–Æ`áÝ–òävüëÝüYžú¤ø¦hþõ¤æ.îz÷Á¢ >Ï[î“Ö÷p *ø–I|õá©¥YlêF«]Úþ˜MÆ/±³ÄóF°¹h¡ázш‚ô:c‡·é®¦>·@8vfMs’% ?2#$M+q1Òv‘ºsµ‹µ"2šçÈgš9¹öT¸l¤¶>{/~ù]÷TFÑOß¿¦˜óìúhÚ(‚â~uä3ýËæ•åÞ”w9wÛ»eуÅôØô6—yWŸä6´±í<‡±®µ\æhx¦˜PQ‘oãºLP&¸’ë.·Dú^\LsR2£â>ÑÍ—IŽ€YlÍé«Ê|"CJˆ¿ØÖІÎzÏÔ•ž©Ý:©äªÚ}öÒ£Â@ág1VÚ3§b&žÀÉ­öŠ;-^Máâ \Lƒ %å¦ÕÌÆ¤æÝ낤Hnÿdz?ÚsÂͺì×øÊ÷ÎH—™rªô «>Èë¦OÉR÷èp„G±Î€ßv•¢J2ÎL‘¯3éÖYÕLwèŽ{ç¼d½3Ì.H1OÃGì»H4É+×ËÒß¶v³šø£6sÈâßæ÷%¸NRCôCÀtX·CbëÞø¼ Ë†‹D¿o–oc»`?—'ï…þ{1¡zJìâ5?Á}²w·¾eŒÝ@ÔÔ±fó”uZ8Gs·Õj‘Ù¤t|ÙÖ¯&¼fb$ Éf‘3(Îø,¾d—@sëòeL”¡pO˜E,€*)·Öžd2+éY]]¿žD!tm;ðß|¼ÉýàжªJÛn£É{íC0q³‚ü©»¥-íéG`¹“ T¨š!û¾‡ vØjïÇÇ'ÄO±Ÿ•p è9ûí¥ñÀã Ѹ©,»ßG¤ž=Æi$Zî >ª‘ö©ÂRæYЗ‹ÚÎÔÝ8œ &Ôš8’]•ûèÐ:â½áâp—rðˆÿ\°:hß;Ê`]᥸‰Ó Ó,VÒIøB™N”¸Ÿ|à kj—ڮŠžSÛå®|CµÄ.¥QÂèˆÖbZ0ðæ)–h­JP0p{¬¯ˆ šXLª…Ä¿T\Eb™ ¡¥'©UêÅæ«ôI­§&NÂÕ‰Ïå_Þ±}Eä.wBp»£È* 94åó½Ú;£[]øb^ i¯i'SF»`Ó1’5ËÇÛ7T¼þÔ¡²³¹ç¸DìÍÐ+ jªkÉA5¬^å‚‘öG^ÍG ƒ}ŇgæHÖ£• D¹Équuõü®'rûó–Í tz9§µØrŒ­‡«€B «8O§Ql6“E—!jýà¤[ÁJÞh4¨Z©ã«Š×@!UîþÁ@Î*~¸ÿ™uD»¶šyñl0Óˬ]&³˜Ï/H@ ^s² Ç€dB÷ŒÛ= D†ä²÷ÞXoV˜­™KçB$ÚâõNÇ Šu±8·¯pö¶£÷)ØbQ¾G’,D*¸—€ˆüA<ÏZcik¾äÃ.²„£BÝ®•ÐbªOwì }ßSóÅi—Ù)òåäWŒ7úHÿº¸ÏFì±2•Å>¨Š5pqê•oü“[è©G+ónûûMÌÏU„;Ó‚ŽG"oÏÈ-»7u©›®nï¥Ô Ýó˜´53וb\N ¯÷oœÎÇyµ“¨VÙæåJíª¶¨U3ÍŸèþÌhÉØ0Â¥å©a¤ÁÈ,e!WjŸÐå?õ*&Â#Uè–À¢]±©Œ:ö.7>ö º¡¾Ü9˜ß$!î|œr¨c{æ@R0Õqó2Ÿ%Ó´ ¾=ŒþùV6Ÿ¹9Ä—š‰Ï¥ (yÉ|"CYúFæ¼âz¿ÏP­õÌzJ<’<ŠíÍ}¼ïô õÚçÖ’L[1¸ñV¨Ûs¶¥\:¾ñx¶ßl/ôbk:«ÇÍù±ÅJfË…$ïRɬýGï €œ‡¼;íØù…Ö3Ù‡±†Ù´ŽígÝïú««é…†áZÜzä,äññÞ\Rs¥k¦)‰l„­ò:ý’uÆ>¾‹Í°Žú€ôПâtØò4z\Eyç¯_ð¢ˆ"0dpõwsNßòg~ºÁÅ ±‹ÆÞjžïî­¹M/% sq¥Ÿä Øe cž%H—X·ïä”&$¼d/ÜÔ–¯'Œ%¾JO…{å›uO‚¯~~ Ứj^M®ûr±.þ)Ó Æ(¶®©ø"Ïν”Þ:ƒº£¨YáVÞ6Npe1çÕ ”;j¼ýA¡,ŠŽÇ·]ôh¼$âìÖ (µ[|4×]*Fb%ñÖÎ$Iø““¢å/‡­Æ ÚKæÛ}ûwÈœr²âGl S› Û°þÄi ù»v1k?=ž5Èh†cì>›.øÔ§Ô"Y+#Ëš ?˜,M&J¬Jð6J²tè3SŒ&+ù¥\ù °·Hvvëͳ¬Òšr:µ“ì$Å0È_‰?™IbÕºþ¸ìÍ q‡É‡ÕFŒ­)”ruZzЯ?šá<šP˜ç#ÙÞÿ>Å" endstream endobj 751 0 obj << /Length 494 /Filter /FlateDecode >> stream xÚm“Mo£0†ïü ï!Rz ˜|U‰ÄAÊaÛª‰V½&ö$E 6ÿ~=HÕUAgÞ¿“ɯ÷½Ÿ«ú~üÌÙ´uo$ø›ßÇÆ›LD-û t÷  @Ùö…½›Zî¡cÓÍNìtÙ=YñNËk¯`T=­áRêo ÞæøôeCîŸúòÚ•Úç(>”ÝÕŠæ™ ²ŸAæŠþ€iËZ¿°ð™sn[­6u…c´^0XaÁhî\je?ì„î¼0bª”ÝprOYÙ÷Åû[ÛAµÓçÚKS|ØdÛ™›óøäoF)õ…MZ³©}ß4W@Œ{YÆœmG;ÿë±<œñ®9Ü`‘;‡äKÖ Úæ(Áõ¼”óŒ¥E‘y Õ¹¡ât¤ba¥bi<Îg®bÌÅw­ü:/]×åvYsäˆâ[ä˜â+䄘#ψ]íœôò‚â9ò’8D^osâyMìîÚGÈ‚X o‰ä‚îBŸÉà5Éà‰<øÇ»’ÁÿÂò k£(Do9Örá,Âq¼B?"tŽýEDqì)bbœW$ÄèYÌèM»>sb×gEìjqÞ(ŒæÃ×po¿$îÝ}IdoŒÝ·œn-p!J ÷ýmê«ÜÏ-þøOÃÓ[áýL‡ endstream endobj 752 0 obj << /Length 696 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅ$ !Ù ‘8l[•jµWHL7IP‡þûõ¬V=Mžß̼ñ s÷ëu;ÑU··õÈÙ›=w—¾´“ì÷îÝÝå]yil;<[[Ùj<=?±×¾+·v`÷Ù&ß´õðàÈ›¶<^*;²~&ûQ·‚>ìþÝþ”MS >Ù_êãP·ò{=éÇsæ@öd”ôÇöçºkŸ˜xäœ;`ÝVY×`Œs4½JaÓQÜ¡n«þª‡í¡.’Uu9\ßèY6î>¼ý<¶Ù´‡.Z.ÙôÍž‡þ“4>DÓ—¾²}Ý~°û¯ÒÜÑör:-d0­V¬²WÑÍÿ¼k,›þ8ãóþy²LÒ»ðºÊ®²çÓ®´ý®ý°Ñ’ó[Å*²mõíLrŸ²?ŒÜÔqù¥ã• â5F8@ šˆ=@Šð)&°  È8Ô¹€ÂÅRx u€Dº\j2H—†ª¡ÐVÁ¹0CzL]ø Âb°ct‘I ©g$`htÑ‹0œÆ\F„áŒ0ä†sê‡á jd< —Iê6œ»õñzgóñºË»þê W ¤qÈ’£+—Ÿ#ö•ñÌÇkÄÞ .‰bªsré…¤šáæÄç†bïmŽXú¾„Kß7ǵHß7Géû„û¾nb§>&jÊØµäuœ¯¼ú•ñ1ÜV™÷•âÜãâµÇ‰Ou$ÕŸqWèS/%1{\øxB!€§ÔK(hH©—TЖ枃»J©Ïϯv×ÜëÁ=küÒ2ø¥UðKÏ‚_:~é$ø¥Óà—ÖÁ/¿Œ ~™Eð+7¿èË¢/ ÿlì¡ÛÒ(/}ïö -+ZXukoûìÔE?Z„ãæÅÛKýqíƒÄ endstream endobj 753 0 obj << /Length 695 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅ$ !Ù ‘8l[•jµWHL7IP‡þûõ¬V=Mžß̼ñ s÷ëu;ÑU··õÈÙ›=w—¾´“ì÷îÝÝå]yil;<[[Ùj<=?±×¾+·v`÷Ù&ß´õðàÈ›¶<^*;²~&ûQ·‚>ìþÝþ”MSÇ“ý¥>u;áà¾×ÃÑq~:fc_0F)l®»ö‰‰GιÖm•u f8GÓ«6•ê¶ê¯bØÒ"!YU—Ãõžeã.ÉÛÏó`›M{è¢å’MßÜáyè?IáC4}é+Û×í»ÿ¢Ìl/§ÓÑBãÑjÅ*{pÝìϻƲéOÞ(ïŸ'Ë$½ ¯ªì*{>íJÛïÚ-9_±eQ¬"ÛVßÎ$÷)ûÃÈM—ÏñP:^9À ^`„ª‰Ø ¤Ÿbr š€Œ@ ‘{@(\,…RH¤Ë¡&€ti  mœ+3¤ÇÔ…Ï ,;F™$Б€‘zF†F½ÃiÌeDÎ(ó0œAº1a8§ÎyΠFÆÃp™ nù[¯w6¯»ü·ë¯Îpµ@‡ )9ºréñ9b_iaÏ|¼Fì-ÐÐà’(¦:×ù(—nQHªY^`nA|n(öÞæˆ¥ïK¸ô}s\‹ô}sÔ‘¾oA¸ïë&vqêcâ ¦Œ YK^ÇøÊ›!¡_Ãm•y_)Î=^ ^{œøTGRý÷w…¾1õR³Ç…'ÄxJ½„‚†”zImiî9¸«”êðøüj'pͽܳÁ/-ƒ_Z¿ô,ø¥ãà—N‚_: ~iüÒyðËÈà—Y¿2qó‹¾,ú’ðÏÆºíŒòÒ÷nЪ¢5Q·ö¶ÍNÝ Yô£58.]¼½Ñ‰ç‚è endstream endobj 754 0 obj << /Length 695 /Filter /FlateDecode >> stream xÚmTMoâ0½çWx•ÚÅ$ !Ù ‘8l[•jµWHL7IP‡þûõ¬V=Mžß̼ñ s÷ëu;ÑU··õÈÙ›=w—¾´“ì÷îÝÝå]yil;<[[Ùj<=?±×¾+·v`÷Ù&ß´õðàÈ›¶<^*;²~&ûQ·‚>ìþÝþ”MS§“ý¥>u;áà¾×ÃÑq~:fc_0F)l®»ö‰‰GιÖm•u f8GÓ«6•ê¶ê¯bØÒ"!YU—Ãõžeã.ÉÛÏó`›M{è¢å’MßÜáyè?IáC4}é+Û×í»ÿ¢Ìl/§ÓÑBãÑjÅ*{pÝìϻƲéOÞ(ïŸ'Ë$½ ¯ªì*{>íJÛïÚ-9_±eQ¬"ÛVßÎ$÷)ûÃÈM—ÏñP:^9À ^`„ª‰Ø ¤Ÿbr š€Œ@ ‘{@(\,…RH¤Ë¡&€ti  mœ+3¤ÇÔ…Ï ,;F™$Б€‘zF†F½ÃiÌeDÎ(ó0œAº1a8§ÎyΠFÆÃp™ nù[¯w6¯»ü·ë¯Îpµ@‡ )9ºréñ9b_iaÏ|¼Fì-ÐÐà’(¦:×ù(—nQHªY^`nA|n(öÞæˆ¥ïK¸ô}s\‹ô}sÔ‘¾oA¸ïë&vqêcâ ¦Œ YK^ÇøÊ›!¡_Ãm•y_)Î=^ ^{œøTGRý÷w…¾1õR³Ç…'ÄxJ½„‚†”zImiî9¸«”êðøüj'pͽܳÁ/-ƒ_Z¿ô,ø¥ãà—N‚_: ~iüÒyðËÈà—Y¿2qó‹¾,ú’ðÏÆºíŒòÒ÷nЪ¢5Q·ö¶ÍNÝ Yô£58.]¼½Ñ»á‚ò endstream endobj 755 0 obj << /Length 739 /Filter /FlateDecode >> stream xÚmUMoâ0¼çWx•ÚÅvHU„dçCâ°mUªÕ^!1ÝH ý÷ëñ#xÙö?ŸgìÁÜýx]OTÝmÍ$|äìÍœºs_™Iöss îîò®:L;<S›zœ==±×¾«Öf`÷Ù*_µÍð`É«¶ÚŸk3²¾'ióÑ´ž‚}Øý»ù=©½à“í¹ÙM;áà¾7ÃÞr¾›f¶ÆnjÌ-ùeúSÓµOLg~¼À8÷ã ãâþÈ)okà çA„8 ö$`I\èÎ×3`çAfŽã<ÈZ]ƒÂ!‹„ê xNkÇyã¹ãÐð"œ7Á¿ _¥ã“§Ìq âH`òáö•‚nú¥¤kÌÂðRONH=CpB:# =Ñ%8“ˆ88QA~¡!*ÉzÆœøÐäT?!~Ž> étw©8éÄy*ás£¤Ï }nÔÌçFE>7*ö¹Q‰ÏR>7в¢ G]¼;~îó¤ŠÛ<©ò6OšßæI‹¯yÒòkžtèó¤g>O:òyұϓN|žôÜçI/|ž´òyÒÚçIg>O:÷yÒ…Ï“.}ž2îó” Ÿ§Lú> stream xÚmUMoâ0¼çWx•ÚÅvH U„dçCâ°ÛªT«½Bbº‘ ‰B8ô߯ß{ .Û@ãçñóŒ=˜»/Û™®Ú½…œ½Ús{éK;Kîºàî.kËËÉ6Ã/k+[M³ç'öÒ·åÖì>Ýd›¦yÓ”ÇKe'Ö÷$cßëÆS`vÿfÿÌÊS¯fûK}êfÆúVGGùf–¹û\b¸à·íÏuÛ<1ñÈ9w…¼©ÒöÎÁ|Á擬CÝTý¨„íAW $«êrGø]žÜIÀâíÇy°§Mshƒ$aóW7yúÔ÷ÌŸûÊöuóÎî? sÛK×-ˆ`ãθtJ!±'™ˆcøÀ8õãŒ3?NaœâOœâ¶<Dg!Àƒ;IXô ôÀÍ0z)rЃÌ@« kÐpÈBQ]^ÒZä 7ž!‡î /½‰ü òU Ÿ<¥Èɉ#“ÜW ºmÐ/%]cXß!õÔÀ ©gœÎÈ€žhŒœIDœ8QN~ACT/ès⃕QøŠøôQ¤ïRsÒ ç©…Ï–>7:ô¹Ñ ŸùÜèØçF+Ÿ­}n4eEƒ=zG~æó¤óÛ<éâ6O†ßæÉˆ¯y2òkžLèód>O&òy2±Ï“Q>OféódV>OFû<ãódRŸ'“ù<™ÜçÉ>O)÷yJ…ÏS*}žÒÅõÎð—¿tx›à½>zå¥ïÝ{ˆO->tðÄÕ½¾Æ]ÛÁ*üà3>ýcÀè¹þ¤C§~ endstream endobj 757 0 obj << /Length 900 /Filter /FlateDecode >> stream xÚmUMoÛ:¼ëW°‡éÁ5?$R. ¤d9ôMðð®ŽÄä ˆeC¶ù÷³k›m‘CŒÕp¹;;†wŸ~>Î|¿Ž3óEŠ_ñ¸?O]œ5ß¶‡âî®Ýwç]Oßcìc]=~?§}÷Oâ¾yhÆáô9%?ŒÝ۹׬“B|Æœ‚>âþ)þ;ëvÇw%gÏçáí4Œ3‰ä§áô–’>\ ‚‚6ý§ã°¿ õEJ™€õØ7ûÆ8ó 1¿’{Æ~ºðÏ`W(-ú¡;]¾è·Û%=°ùñýxŠ»‡ñe_,—bþ+-OÓ;qü\ÌL}œ†ñUÜÿI--=ž‡·B«•èãKª˜æÿ¾ÝE1ÿpÆ[ÎÓû! Mߊyuû>Û.NÛñ5K)Wb¹Ù¬Š8ö­iÇ[ž_®¹uÊ•MúÑzQ­Š¥Ò)V†€Ú(TØ€àx¿àÞ¢ žjy‹°°!ÀÐÔ•µZÔÀ2àP="¦ZdÔ0\ÃG©R\¡·”).–2*ÎШa!„U¼Ä,†³ÔÛHð° `+jÐÃ.¸5Nα@èâ°èÐVK-àxŸ%ô˜Ü3š% A°YÓ€z¡ÎšÔ>kP#¬³¦õ™5m0W£oš¦Ã¾žj­®§Üý·.†ÐZ¡ŽT$X/©)n)æ#W—„o(æ“oÀRZÞ $K¢p4’ŽZ¶-bâ\­1¦Ü°Jä æP"Gñ‘XÔQ¬‚i/8ºkÉ^€ÂZqŒ:ZsŒ½š9”d š­Bù Ž)ßsLù-ï7½æx˜ÏJ›¡¾Ò`¯ažÉ½)f¥É$†µ’1™¸ dÑŠcªCZCù<£7Ã3JÊgózÌnøþHȰíáÌYÉšäTœ¯a…Šï¯Æ,_»œ-Ÿ—Oë87Ë}êÛKÔ´Ü—Ll¹oKñšò+Êg­JÌâ.¾GZyóº‹Vðc­48¸’ï¼äØWtù]Í:P~`áŒñ±–rZŽq.nÍ1]Ç ÇàSÿæ/©ßP•ýïuö¿7Ùÿ¾Ìþ÷Uö¿·ÙÿÞeÿû:û?Èìÿ ²ÿƒÎþ&û?”Ùÿ!dÿ‡&û¿1y–¦¼ÍH·œn5þ¹ã)º½ÝyšÒ“Bï½x#†1Þž´Ãþ€]ôGoáõñÅ×Mñ?®Xê endstream endobj 758 0 obj << /Length 900 /Filter /FlateDecode >> stream xÚmUMoÛ:¼ëW°‡éÁ5?$R. ¤d9ôMðð®ŽÄä ˆeC¶ù÷³k›m‘CŒÕp¹;;†wŸ~>Î|¿Ž3óEŠ_ñ¸?O]œ5ß¶‡âî®Ýwç]Oßcìc]=~?§}÷Oâ¾yhÆáô9%?ŒÝ۹׬“B|Æœ‚>âþ)þ;ëvÇw7{>o§aœIä> §·”óѲH˜ø´åŸ8‡ýøU¨/RʬǾÙï0ñ˜_xˆù•ÙË0öÓ…ŒxµBiÑÝéòE¿Ý.‰ÍïÇSÜ=Œ/ûb¹ó_iñxšÞ‰áçbþcêã4Œ¯âþfiåñ|8¼E°²X­D_RÁ4û÷í.ŠùGÞRžÞQhúV̪Û÷ñxØvqÚŽ¯±XJ¹ËÍfUıÿkM;ÞòürÍ­S®lÒÖ‹jU,•N±2Ô@  "À–,Àû  ð õTË[<€5€ €¦¨¬Õ –€ê1Õ"à†á›×cvÃ÷GÂ@†m¯gÎ üKÖÄ §â| +T|5f©øÚÕàlù¼xZÇ1¸YîëPß^ê ¦å¾dbË}[Š×”_Q>kUbwñ88Òʘ×]´‚k¥ÁÁ•|'à%Ǿ¢ËïjÖò{ g䈵”ÓrŒsqkŽé:n8Ÿú7ÏxIuø†ªì¯³ÿ½Éþ÷eö¿¯²ÿ½Íþ÷.ûß×ÙÿAfÿ•ýtö0Ùÿ¡Ìþ!û?4Ùÿɳ4åmFºåt«ñÏÑíÙèÎÓ”^z­è¥À1Œñö öì¢?z ¯ï.¾~lŠÿP}éL endstream endobj 776 0 obj << /Producer (pdfTeX-1.40.22) /Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords() /CreationDate (D:20231024182614-04'00') /ModDate (D:20231024182614-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) kpathsea version 6.3.4/dev) >> endobj 480 0 obj << /Type /ObjStm /N 73 /First 668 /Length 4746 /Filter /FlateDecode >> stream xÚÅ[[s·’~篘Çx·ÌÁ½ªÔ©²8DZåd}âò-Ó2O$QKRçÄûë÷k`p™!©HŠ·¶ä˜F£Ñ@w 茗yü¨NãÖxÝÁ¿Í„ßNJ«;«B'5¬$cp#;%ºR§È¹™“²ÓBˆÎIð²Ê㆙9ps•’:Ç7ÚJÜ€“SÜâ;,2Ó ƒ8™wræHu$lèŒî|;’¶#ëQH×Q7Ôy­1šê|L§ºyq£» ˆ[LLà×ìŒð8 GSŠ©Ñ_ c È#…s2K4Ó±2$‹aÑCjÌLšÀ ‚Öb±šáΓAoR %1yÜH0³àª´Ð'n :(ðÈâ†4ª‘ÚCLJpG–ÉÈÈa-¬›aŠRCŠŽ©´„º¸kÓhŽŽo VÉă1­Å„™Ôbщ'¡a¹Óx+fä ¸Ð:£$Ó›ÑXo¬5î,/ÏÔ8”„v‰=Ãm<Á+Õb.ê‚lÒb“àcXMzFXi fC[ZÞ`D–ï Á[ëÂÜvw-µÒs3*=Ñ»Ù[ïsèY¸9ÔÎĆ9õzŽiˆD" š¼óü@}xì@Wƒ@Wshü\Å{ÞøaþݰoAÄ ö½‹¶Äz1ïáÇ$&’‡°B¡‡•‚g ·`7ZKsKÈ ±`nQ¡§…ÜŽ}Èœ…䉦‡nNƒ½õ<ˆ…"Øì³×;k‰G–[ .Ô¤JXåÜC]Dø…QSœgj³0lÞöÆðTcM)ðJ´\˜€Ob„®e¡ lt®›»–JGaSÙ·Ï"uåsÛKíI‘¸²öÔP¦ž Ï2¥iE:ÏËî,OŒ<¯ Ó±¾Ù¦ë<L-H7<Úbß;v¯"ï¿¿Mê„ß)Ã[v̺N´Üaö§QÕ'Œ'Ï[P²ÀüѪãF3zÎÞž ÀkÞ4û]½77Yn”^hæãxú›‘Bœ’t˜>ö™çÝà‡ÛrKÛû8§CÏõ<4þáܾÿgTívÊ«2ë¿Y}ü¸Ü,/yáßjÓ/€P´íç—ë݇åGøù~/ì^U[ZøbhVZ-è`÷VÖ†V¥ÅÙ~î\m!´ðZúC¡Ê4ZàMmÁ¸ñBXUÞãÇKâR¸ÐÒ×Ùô‰Æ  vÏ…äBq¡¹0\X^¥#b+7ÆÂsÁ%w–Ü™qÔ•Z2‹TX.ÜYrgÉ(JTjÅ,R¡Þ±1ð:ñ:˜0˜Ì‚¡ æPa`ìr…å ¯‡*¼ªT\&É `‚Ìô *W@¨4T°s‚*X²X²T&d ˆ¹åAч<¨OÁp¨Àé‰,ð`G®pdÎxŽñY‚Àn4K8Úd Çê,ŒQ×—JM1¶)5Í A©1îQ¥f9¶–Æ–¦Ô0¸´¥†ÑeE2ª–EɺÈ"yô" ø!d”ÆSEð³ªÈ"9,Y$‡š"‹dhUda”¯Š,༛]ì-ƒ‰ ÷ &¦{ˆ±±x€ï÷ &Ò &./R &./T &nX-&@ŽA —ƒ3FM‚§û>~‹¸4_HÁj(atNOb,.7¬¸À›{p\àM¶¦¸Â¡Š tt5¾ÎÏ3u@ÎU#,úAç¡Î6€C`D~¯(Ì…»9ôr¡oŽ·ì Å¡ Ë~Ö_š’ÝTaOj²_Uü$»q¶F“=<ö 5Ù¥c;X›=ºæ>®Æo«UßVgwϰJüF0ºFv«}ìÈšs…“‹+ ïUc¾+ѓͻDOŽ+Ñ“O|Jô´†3ø\6+ÁÓ©”Øiaœ%t²ÿ0¥Â:(p†¨MÖ–'œâ©Š:¬Õu ù«¨)jEÖ  r…O%|Å#ÖfA uY6âCY‘Šuª"ëtE*Ö¨ œm`‹s lqÔÀçØâB[¨@ËÙ\®8Nör…³Èu8é+P‡wH:`­]‚¨AÔ‚    ?A~‚üù ‚gÚ-$ò¶…D“FHä©…D޷ȇ… ‚8üÈ Õ¤ [€L 8)¸ x 7€šoáR¨ —Ü€Po—ŒÞƒKÂÇåŠp)ßá’ZâÎÔÜ.™0‚K¢Â¥ìv*\ÊþªKƒ?c¸ü€s¬<œÝ†0Ù{°óèŠø{i®§ qðsJH&М_çýˆÅþ_¨’§ïüf@$¼C¹1Þ&pšî°÷æ°ñô°%dÌÒùXÊ, 0œnšHº¿dà`½°áÿ4Õí\  1ËŽj¸ä Sõ5¤Æ0C1vKmuÑ›xš„Uè»¶„;§¹þ e¸ÑÔjœå UB©g#ÕM*ᘃT‰À¬È’€±KþÅ/hJúÍ9Ù8h'íJîå-‹êR]ɼà \M¼ø5RM¼x{ÔÄK¨xàZ½¨«‰¼¨SÔxQ§|ã) §tZ4žÒiÙxJ§Uã)ÖotÚ4¾ÑiÛøF§]ã¦Æ7:íßèth|£3wör?]Mº(¥‹þ³m~ïto÷g[÷ǹcv9ôV÷—ãoãþ†(ÌîÏcYšZòIÇŸÜ÷oÜÛ”ÞóÐóÛx4Û¦$£ƒ½½c¼¿pvoÓxËoC*LvZ Hu}²•Àø‰iLÞÚÖä­kMÞRkòÖ·&oCkòN´&ïdkòNµ&ïtkòδ&ïlkòε&ï¨5yç[“àçíMWßÇte„.üÛÞßtŹÈbº”½z1]Ê®½š.Ér¤õVÓ1•ñh†"&à×)é6žôDÀœ~Ûò˜]2*Œ°Š$æ& ‘ã÷Pñ¡¶s™‘‘éx„ìÜó 5É`ÇšJ}Î¥?ô¢ J“H 0ŠÝ«0GTkiòÌ`ÙØü©æaå…GC+åhÏ´é¾ •8¤ò6âÇ©ˆ$jððäAFL@dG-ö1R>¶½  ˜Æ‘Ÿ §˜µyùgЦÇÿ¿¯øs楀¨‡çã/Rt=Gp%eä/WJbȲä‚ì K–ˆå Ù1’ #Ù1’MïJ.é˜[h€XÉ$ã—2²¦ç®ä‘Ä/tuÍ»oRmç›TÛ•’Á[I!¼• Ò3ƒÐ¸õ’?²[-’ #$FH.Œ\!¹0Bra„äjö+CãäIˆÆÉ““'¡'OB7Nž„iœ< Û8y®qòT_sHþÊÂ7ØêkÅkyW$§Å~&›æž2Ùá~/“åO±$Ûƒ¸w@ :‚å(ãß2n„9 H¥s>à³ëFê©é¨Ãw4¨)~ˆcbzȷÃÔ"’O—¦íS!·ŒïlææVÎûž+½¼y-søõåMÉÑx%]VLJ©SáXuKò¨Ã²‡`O æW¬žæŒÚüŠÚüŠFùò+jò+þÆ6vHM~Å,Û—l¤Ú—lTó+¶ &¿â”_¶‹o–ÛÓÍêj·Þ¤ ž¬â»<ýî·Wÿùäù·o$ÛÇùâlÛ™Ö8“y¨g°óˆ¬àÑöty¹‹@çÉâêûåêìÓ®C…á@í‡Ýâ|uúèòì|ÉOvË‹_?gý›¡‡aˆÆmè«~³ø°:]œ?^åÛ÷»|·»ÊwÿZnvË?úíõÅÅb·Z_~Xm¯ÎŸkžî¤)<]ahRÇ[ªäÙãÇ¿¾~•<ÿá˜Jt<àbÈcâWEU#p»­J¥H~Ø*å¡4Y-¤ŽªåÛþ»þyÿsÿ¢Ùÿ½ÕŸô¯û_û7ýûþt)÷gýªÿgÿ{Ù¯û«þj¹Y­?ôÛ~{¾Ø~êwýc]Ð]tñão/^þð4êÂTØ%Mh¾&‚8ª‰ާî2•“¿¿yùãwq*txUå0þÈóËLÅË£SùËùKø©,Þvo­ÌLùÑÏ/~zö|ulÛ‘·­øK‹UlÙ…6í˸Ußô§«ÍéõÅÇsØìò¿¯çýÅât³Æf½\öW DŒóåÇ]ºÛ0§þêüz;Öƒ¾‹ž?zóý³7¬‡#ë¬òžåñ/¡:®†4cžêîßëñ¤îä”N^œÈ´îLGÀôÃo:è”~ÓñËMcÈcc¨”SÝØWgâ´±ãÿ÷‰ã¦LjÒ÷Åõî|uÉÝãztƒ)ñzt9eKŒmé¸Ú!älýQ—³°AäÜëåfù¯N×+öÌ9Ü£.ç}“ž?#é´:ÐÓ–žjÔ“ò}´ÝaY„4¥|ê¦ôPMøËÌ?g¿ùç“ë(§2ûræ•àcnâ£Z>⟢c)nàÓªMº}6Eßcu¼èW. Ñúÿ®Õ®)WfÞ w°¿úf}úðd·Øìt àw_}ÿq½Þ]®w˹|Ð¥³Ì¶Q=èÒùdÛ¨taè~ºBýãr·¼öv:5Í¿¯.bcÐé§ÕÅj7‘£%}7•7>[¿_±e½=ý´>ÿæ|Û¼[œþ~¾Zn=è¬kžì6ëÏ‹Ëíï‹Ï ‰¦“ÕáÙ¿×çœcA‡I1ræl~.X)&LÅoÅïÍ <5¬Jé™>®Î®7Qå^ŽZ˜H‰47ѨɰªÅ¨‰íüTÒñð•vOÎá k!ubhR†±ž›Ô¨)pSr·_]ÁFʼn¶.˜‚¦Öq Ùžlé*A-GÌHI×¶@UJÙ¦$®¥A:ßê¬Èt Ü UÌD‡Eb•+Ùpcíé¶ug|ÓÀšs­€¬7?4l—§¼Vÿug …![²=¹ê3V·ÒSÆ’[Í´•™7]ieÕѤ ê#1iƒ iÏÀGr´´Ç%ÆÔh*¦ã±NÅT0Ö«ð“FÖ­R£FV­>*l£Ý”mTŽÙ²ŽW1n­0nÿ²$×ïËHÑóî5[nVtDØhÎê}ÛçèöæˆÛ„bÚPX&@CéÅ{üŸÄéW¿føµÃ¯»ÉåÚÁyøá7©Ò¶»a‹Ý,7 rÓ¡è€gÐHäž,å¯Ïf V´˜Q]¹ã¢ ] /Length 2245 /Filter /FlateDecode >> stream xÚ%×w|O÷ðóý>'‚Ä‘DB!3ˆD"vì½qÍkTŨªÑE¹j­U5]Woi{©Öm{íÚj%jï]JUúù<þy¿¾ç|ÏøŽçyÎïç8ŽShÇ:ÆÙ˜à°öùd¶ ±¤ Ï5`KˆKRy®>[>Ä—´æ¹zl!~¤ ÏÕe«()¼ ž«ÃCRœçÊñ\m– %y®<Ï%ñ0€’R¤4)C‚ãèÀË}r¢-½XŸ\‚%:\}r4©AbIuCâùrs %Séš¾¨ #ÕHãÛ£á¤2ïÍáSâxÉÃÞlE±Õ­*luf«*[íÙŠf« Ñ5ÕIs¶&I$ DGUÝ8A#õ•µˆ®š.g CbIœq’»ð:êéÎèãu/u“’¦¤žq2ÎéC“’ÆÛZ°Õˆ-^ì±e3H3ãô ×;23t±¶Ú’tã´Ÿ­‡Í‰> %iÅè½=HOÒ‹d§Çx½CW¨Ñué@:'Û_{;]º.¤+éfœÕÀK÷ë%9démœùÿÖsý¹\l›Ë–®iÒ—ô#ÙÆY±N׊‹ãùg{Œúçà#miìâE[>ÖCƸçÇç1¼¢Æ~¯L‰ã1]<×8;“´ƒ!ê§ OKã\ÐVicæ,×V0ñ7ΞízÈ÷4?˜žfE€qŽ®ÕÞR0@< =„cþËa0=°Çö*Æ®fœßãôÆ‹iœÂ­z¨óÐ8ÕÕèŒ6fJ®ö2Ö¼cfÝÒC†£Ç0óèžæLMc¶­Ñ^Æ—dÌ®X=dˆz Q/… –`Ìî¸ö|ööûJ€ý ÁÎ8‚ßׂÇÙàI ðGy ž~žñ½vÏ9ý¿æ‚û@á-AôØ"äkÀ'øöE†¿U è%àЇM@É,0¾J-¥w€2G@YÌÒ–ÃBØò ˜­ ƒAH':T*Ma_ƒðÛ â>ˆÄبR JYPÛc£ùÊj˜¹­¾ÔX b‚8ÍZ¯É$ÍoŒŽø‡ æ— á3ø¨•’ŠÚ¹ ÎDP{iëñyõ7‚dC°¶!bÃ6: c±m /i2¤rÌi AÓUúrO OkcÓg #o›9ä&ÈÄÙæ\Ó|@Ë. ׯu+ІÃm[d!hl;Nµ}8AlØ»Aǽ ‡Ñ™K×¥7èŠ µÝR@÷š GIò ô¼¬£bô²H;c{GGïã Õw,èÇAfsIrZƒþ\\nʺýÏ DäØAäàv`Ç<”#ÆKþ@ö€áß\¡‘œþ¨÷À+ßèàÕÚ`ÌË4eµõ:’NÆæ¥¢c¬%/´—%×cÉõº;Ql'0^ã&ޝ/“Öƒ7¸G“_ÞÆRï±Ô{½ŒêƒŽ©œå´£ÚË2ì± {,Ã^¶±o"§íÛÀtÎr†K¾ïÔ³8ÁÙÌ…9kÀ»3Á\Fç¼'`þf° ,ä’,bïbÆý&ÉÒÒ`Y&XŽšc?`p}øXÁdZ‰úbW1|Vok΀µÆÇþ`]#°>l`ºld¼xÕ¦·ÁæL’K°Ì9ƽ8“?®Îb‰רL—ïp;ßß§*?Ü»8ªÿ}~äÀb=øùøÿ°›÷îá€ö2Âöuû/Fƒƒœô/?‚CÜéÃ\¦#Ÿ‚£ÿÇ~Çp'Pi쯜à)NðÏæ"žù/8» œcjäsM ø¼óLØß¸œP,íE.Ø¥eà2ƒëÊ põ¤Î×—!~Æ^÷EÇ V‹›•Á­2d?¸Í ¸ƒ²iïò’»÷À=†Ï}v<VB þ˜çžŒ§ŒâgSÀŸóósàE(Ä&‹Ó˜t`±"(Ãâ†Ô0ñEžK‘ZÀ•¢((R *þø`H‰  $Æ"X Ì¥î€2HI)‹… )ï‚Q¤B4Á~H(ß[Á*•PT%¬3Gi–¿Tæ*Ÿ‘§@–Sª !¤*â^¢9‚jì­ÎÇ×8 bxIìO ®ÔŒ oIìj¡ÊKB^X6¥>‹R[&õ8æ¼8ßZi¸@w¦ñ'Å4BHIÊŠ4œ¤#$cÈZ @¤%W£ÕvÐõYÚò’,ÒÑ)í±oÒÑ$zÒ Ÿ6éŒÂ#]Q®¥ª”tç’ôÀ×Jzn½¶‚>úÎýÎ’ÍWöGH.[épK’hd '8ŸrDð-“!³ÁPm’D†ã'„ŒhFrÌ£)ò 2YFs5^åuco’GÆr¸ã>ãÙ;×M Ð÷–&eHY#¯£ÌÉ$Ä•¼¤LŽ%¼x _>õ,xA-oñp:§5¹ 3ð @f"eC`v0‰#sÏ2‹ý/ÔIy“YÀH\È ]„¡,–0,Þçj,–1–O ßäC|Ùe—s%>²ŠkºšcYs|Ä]X‹_-²Ž«±žÏÛÀ÷Šëõ_‘þ 6²‰3ÚŒ½|ÂàÿŒûö9j‰|ï›lA¥‘/9™¯ð#F¶"ód§ÿ ’S¾]¶ëÈó!$”T4²#PÏU2rz§¶ÂŒ[¼ƒ¶Â[íåþF7«³¶*7/G[‘Æÿµ¶¢ŒûÉFmU1înl·»[áD ¹‡Ùî1üìqO¢ ¸§ñÉwó‡èʼn¤iH‘ÆD|ê¿YýûšFš’t’Aš‘LÒœ´ -{‰í>žæü 5´ endstream endobj startxref 325249 %%EOF pcaMethods/man/0000755000175200017520000000000014516003735014442 5ustar00biocbuildbiocbuildpcaMethods/man/BPCA_dostep.Rd0000644000175200017520000000132414516003735017014 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/BPCA_dostep.R \name{BPCA_dostep} \alias{BPCA_dostep} \title{Do BPCA estimation step} \usage{ BPCA_dostep(M, y) } \arguments{ \item{M}{Data structure containing all needed information. See the source documentation of BPCA_initmodel for details} \item{y}{Numeric original data matrix} } \value{ Updated version of the data structure } \description{ The function contains the actual implementation of the BPCA component estimation. It performs one step of the BPCA EM algorithm. It is called 'maxStep' times from within the main loop in BPCAestimate. } \details{ This function is NOT intended to be run standalone. } \author{ Wolfram Stacklies } pcaMethods/man/BPCA_initmodel.Rd0000644000175200017520000000267614516003735017515 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/BPCA_initmodel.R \name{BPCA_initmodel} \alias{BPCA_initmodel} \title{Initialize BPCA model} \usage{ BPCA_initmodel(y, components) } \arguments{ \item{y}{numeric matrix containing missing values. Missing values are denoted as 'NA'} \item{components}{Number of components used for estimation} } \value{ List containing \item{rows}{Row number of input matrix} \item{cols}{Column number of input matrix} \item{comps}{Number of components to use} \item{yest}{(working variable) current estimate of complete data} \item{row_miss}{(Array) Indizes of rows containing missing values} \item{row_nomiss}{(Array) Indices of complete rows (such with no missing values)} \item{nans}{Matrix of same size as input data. TRUE if \code{input == NA}, false otherwise} \item{mean}{Column wise data mean} \item{PA}{ (d x k) Estimated principal axes (eigenvectors, loadings) The matrix ROWS are the vectors} \item{tau}{Estimated precision of the residual error} \item{scores}{ Estimated scores} Further elements are: galpha0, balpha0, alpha, gmu0, btau0, gtau0, SigW. These are working variables or constants. } \description{ Model initialization for Bayesian PCA. This function is NOT inteded to be run separately! } \details{ The function calculates the initial Eigenvectors by use of SVD from the complete rows. The data structure M is created and initial values are assigned. } \author{ Wolfram Stacklies } pcaMethods/man/DModX-pcaRes-method.Rd0000644000175200017520000000344414516003735020402 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{DModX,pcaRes-method} \alias{DModX,pcaRes-method} \alias{DModX} \title{DModX} \usage{ DModX(object, dat, newdata=FALSE, type=c("normalized","absolute"), ...) } \arguments{ \item{object}{a pcaRes object} \item{dat}{the original data, taken from \code{completeObs} if left missing.} \item{newdata}{logical indicating if this data was part of the training data or not. If it was, it is adjusted by a near one factor \eqn{v=(N/ (N-A-A0))^-1}} \item{type}{if absolute or normalized values should be given. Normalized values are adjusted to the the total RSD of the model.} \item{...}{Not used} } \value{ A vector with distances from observations to the PCA model } \description{ Distance to the model of X-space. } \details{ Measures how well described the observations are, i.e. how well they fit in the mode. High DModX indicate a poor fit. Defined as: \eqn{\frac{\sqrt{\frac{SSE_i}{K-A}}}{\sqrt{\frac{SSE}{(N-A-A_0)(K-A)}}}} For observation \eqn{i}, in a model with \eqn{A} components, \eqn{K} variables and \eqn{N} obserations. SSE is the squared sum of the residuals. \eqn{A_0} is 1 if model was centered and 0 otherwise. DModX is claimed to be approximately F-distributed and can therefore be used to check if an observation is significantly far away from the PCA model assuming normally distributed data. Pass original data as an argument if the model was calculated with \code{completeObs=FALSE}. } \examples{ data(iris) pcIr <- pca(iris[,1:4]) with(iris, plot(DModX(pcIr)~Species)) } \references{ Introduction to Multi- and Megavariate Data Analysis using Projection Methods (PCA and PLS), L. Eriksson, E. Johansson, N. Kettaneh-Wold and S. Wold, Umetrics 1999, p. 468 } \author{ Henning Redestig } pcaMethods/man/Q2.Rd0000644000175200017520000000654714516003735015227 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/xval.R \name{Q2} \alias{Q2} \title{Cross-validation for PCA} \usage{ Q2(object, originalData = completeObs(object), fold = 5, nruncv = 1, type = c("krzanowski", "impute"), verbose = interactive(), variables = 1:nVar(object), ...) } \arguments{ \item{object}{A \code{pcaRes} object (result from previous PCA analysis.)} \item{originalData}{The matrix (or ExpressionSet) that used to obtain the pcaRes object.} \item{fold}{The number of groups to divide the data in.} \item{nruncv}{The number of times to repeat the whole cross-validation} \item{type}{krzanowski or imputation type cross-validation} \item{verbose}{\code{boolean} If TRUE Q2 outputs a primitive progress bar.} \item{variables}{indices of the variables to use during cross-validation calculation. Other variables are kept as they are and do not contribute to the total sum-of-squares.} \item{...}{Further arguments passed to the \code{\link{pca}} function called within Q2.} } \value{ A matrix or vector with \eqn{Q^2} estimates. } \description{ Internal cross-validation can be used for estimating the level of structure in a data set and to optimise the choice of number of principal components. } \details{ This method calculates \eqn{Q^2} for a PCA model. This is the cross-validated version of \eqn{R^2} and can be interpreted as the ratio of variance that can be predicted independently by the PCA model. Poor (low) \eqn{Q^2} indicates that the PCA model only describes noise and that the model is unrelated to the true data structure. The definition of \eqn{Q^2} is: \deqn{Q^2=1 - \frac{\sum_{i}^{k}\sum_{j}^{n}(x - \hat{x})^2}{\sum_{i}^{k}\sum_{j}^{n}x^2}}{Q^2=1 - sum_i^k sum_j^n (x - \hat{x})^2 / \sum_i^k \sum_j^n(x^2)} for the matrix \eqn{x} which has \eqn{n} rows and \eqn{k} columns. For a given number of PC's x is estimated as \eqn{\hat{x}=TP'} (T are scores and P are loadings). Although this defines the leave-one-out cross-validation this is not what is performed if fold is less than the number of rows and/or columns. In 'impute' type CV, diagonal rows of elements in the matrix are deleted and the re-estimated. In 'krzanowski' type CV, rows are sequentially left out to build fold PCA models which give the loadings. Then, columns are sequentially left out to build fold models for scores. By combining scores and loadings from different models, we can estimate completely left out values. The two types may seem similar but can give very different results, krzanowski typically yields more stable and reliable result for estimating data structure whereas impute is better for evaluating missing value imputation performance. Note that since Krzanowski CV operates on a reduced matrix, it is not possible estimate Q2 for all components and the result vector may therefore be shorter than \code{nPcs(object)}. } \examples{ data(iris) x <- iris[,1:4] pcIr <- pca(x, nPcs=3) q2 <- Q2(pcIr, x) barplot(q2, main="Krzanowski CV", xlab="Number of PCs", ylab=expression(Q^2)) ## q2 for a single variable Q2(pcIr, x, variables=2) pcIr <- pca(x, nPcs=3, method="nipals") q2 <- Q2(pcIr, x, type="impute") barplot(q2, main="Imputation CV", xlab="Number of PCs", ylab=expression(Q^2)) } \references{ Krzanowski, WJ. Cross-validation in principal component analysis. Biometrics. 1987(43):3,575-584 } \author{ Henning Redestig, Ondrej Mikula } \keyword{multivariate} pcaMethods/man/R2VX-pcaRes-method.Rd0000644000175200017520000000144214516003735020164 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{R2VX,pcaRes-method} \alias{R2VX,pcaRes-method} \alias{R2VX} \title{R2 goodness of fit} \usage{ \S4method{R2VX}{pcaRes}(object, direction = c("variables", "observations", "complete"), data = completeObs(object), pcs = nP(object)) } \arguments{ \item{object}{a PCA model object} \item{direction}{choose between calculating R2 per variable, per observation or for the entire data with 'variables', 'observations' or 'complete'.} \item{data}{the data used to fit the model} \item{pcs}{the number of PCs to use to calculate R2} } \value{ A vector with R2 values } \description{ Flexible calculation of R2 goodness of fit. } \examples{ R2VX(pca(iris)) } \author{ Henning Redestig } pcaMethods/man/R2cum-pcaRes-method.Rd0000644000175200017520000000104714516003735020414 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{R2cum,pcaRes-method} \alias{R2cum,pcaRes-method} \alias{R2cum} \title{Cumulative R2 is the total ratio of variance that is being explained by the model} \usage{ \S4method{R2cum}{pcaRes}(object, ...) } \arguments{ \item{object}{a \code{pcaRes} model} \item{...}{Not used} } \value{ Get the cumulative R2 } \description{ Cumulative R2 is the total ratio of variance that is being explained by the model } \author{ Henning Redestig } pcaMethods/man/RnipalsPca.Rd0000644000175200017520000000423114516003735016765 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nipalsPca.R \name{RnipalsPca} \alias{RnipalsPca} \title{NIPALS PCA implemented in R} \usage{ RnipalsPca(Matrix, nPcs = 2, varLimit = 1, maxSteps = 5000, threshold = 1e-06, verbose = interactive(), ...) } \arguments{ \item{Matrix}{Pre-processed (centered, scaled) numerical matrix samples in rows and variables as columns.} \item{nPcs}{Number of components that should be extracted.} \item{varLimit}{Optionally the ratio of variance that should be explained. \code{nPcs} is ignored if varLimit < 1} \item{maxSteps}{Defines how many iterations can be done before algorithm should abort (happens almost exclusively when there were some wrong in the input data).} \item{threshold}{The limit condition for judging if the algorithm has converged or not, specifically if a new iteration is done if \eqn{(T_{old} - T)^T(T_{old} - T) > \code{limit}}.} \item{verbose}{Show simple progress information.} \item{...}{Only used for passing through arguments.} } \value{ A \code{pcaRes} object. } \description{ PCA by non-linear iterative partial least squares } \details{ Can be used for computing PCA on a numeric matrix using either the NIPALS algorithm which is an iterative approach for estimating the principal components extracting them one at a time. NIPALS can handle a small amount of missing values. It is not recommended to use this function directely but rather to use the pca() wrapper function. There is a C++ implementation given as \code{nipalsPca} which is faster. } \examples{ data(metaboliteData) mat <- prep(t(metaboliteData)) ## c++ version is faster system.time(pc <- RnipalsPca(mat, method="rnipals", nPcs=2)) system.time(pc <- nipalsPca(mat, nPcs=2)) ## better use pca() pc <- pca(t(metaboliteData), method="rnipals", nPcs=2) \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteData))^2, na.rm=TRUE) < 200)} } \references{ Wold, H. (1966) Estimation of principal components and related models by iterative least squares. In Multivariate Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420. } \seealso{ \code{prcomp}, \code{princomp}, \code{pca} } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/asExprSet.Rd0000644000175200017520000000174114516003735016652 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-ExpressionSet.R \name{asExprSet} \alias{asExprSet} \title{Convert pcaRes object to an expression set} \usage{ asExprSet(object, exprSet) } \arguments{ \item{object}{\code{pcaRes} -- The object containing the completed data.} \item{exprSet}{\code{ExpressionSet} -- The object passed on to \code{pca} for missing value estimation.} } \value{ An object without missing values of class \code{ExpressionSet}. } \description{ This function can be used to conveniently replace the expression matrix in an \code{ExpressionSet} with the completed data from a \code{pcaRes} object. } \details{ This is not a standard \code{as} function as \code{pcaRes} object alone not can be converted to an \code{ExpressionSet} (the \code{pcaRes} object does not hold any \code{phenoData} for example). } \author{ Wolfram Stacklies \cr CAS-MPG Partner Institute for Computational Biology, Shanghai, China } \keyword{multivariate} pcaMethods/man/biplot-methods.Rd0000644000175200017520000000356614516003735017675 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{biplot-methods} \alias{biplot-methods} \alias{biplot.pcaRes} \alias{biplot,pcaRes-method} \title{Plot a overlaid scores and loadings plot} \usage{ \method{biplot}{pcaRes}(x, choices = 1:2, scale = 1, pc.biplot = FALSE, ...) \S4method{biplot}{pcaRes}(x, choices = 1:2, scale = 1, pc.biplot = FALSE, ...) } \arguments{ \item{x}{a pcaRes object} \item{choices}{which two pcs to plot} \item{scale}{The variables are scaled by \eqn{\lambda^{scale}}{lambda^scale} and the observations are scaled by \eqn{\lambda^{scale}}{lambda ^ (1-scale)} where \code{lambda} are the singular values as computed by \code{princomp}. Normally \eqn{0\le{}scale\le{}1}{0 <= scale <= 1}, and a warning will be issued if the specified 'scale' is outside this range.} \item{pc.biplot}{If true, use what Gabriel (1971) refers to as a "principal component biplot", with \eqn{\lambda=1}{lambda = 1} and observations scaled up by sqrt(n) and variables scaled down by sqrt(n). Then the inner products between variables approximate covariances and distances between observations approximate Mahalanobis distance.} \item{...}{optional arguments to be passed to \code{biplot.default}.} } \value{ a plot is produced on the current graphics device. } \description{ Visualize two-components simultaneously } \details{ This is a method for the generic function 'biplot'. There is considerable confusion over the precise definitions: those of the original paper, Gabriel (1971), are followed here. Gabriel and Odoroff (1990) use the same definitions, but their plots actually correspond to \code{pc.biplot = TRUE}. } \examples{ data(iris) pcIr <- pca(iris[,1:4]) biplot(pcIr) } \seealso{ \code{prcomp}, \code{pca}, \code{princomp} } \author{ Kevin Wright, Adapted from \code{biplot.prcomp} } \keyword{multivariate} pcaMethods/man/bpca.Rd0000644000175200017520000001332014516003735015635 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/bpca.R \name{bpca} \alias{bpca} \title{Bayesian PCA missing value estimation} \usage{ bpca(Matrix, nPcs = 2, maxSteps = 100, verbose = interactive(), threshold = 1e-04, ...) } \arguments{ \item{Matrix}{\code{matrix} -- Pre-processed matrix (centered, scaled) with variables in columns and observations in rows. The data may contain missing values, denoted as \code{NA}.} \item{nPcs}{\code{numeric} -- Number of components used for re-estimation. Choosing few components may decrease the estimation precision.} \item{maxSteps}{\code{numeric} -- Maximum number of estimation steps.} \item{verbose}{\code{boolean} -- BPCA prints the number of steps and the increase in precision if set to TRUE. Default is interactive().} \item{threshold}{convergence threshold} \item{...}{Reserved for future use. Currently no further parameters are used} } \value{ Standard PCA result object used by all PCA-based methods of this package. Contains scores, loadings, data mean and more. See \code{\link{pcaRes}} for details. } \description{ Implements a Bayesian PCA missing value estimator. The script is a port of the Matlab version provided by Shigeyuki OBA. See also \url{http://ishiilab.jp/member/oba/tools/BPCAFill.html}. BPCA combines an EM approach for PCA with a Bayesian model. In standard PCA data far from the training set but close to the principal subspace may have the same reconstruction error. BPCA defines a likelihood function such that the likelihood for data far from the training set is much lower, even if they are close to the principal subspace. } \details{ Scores and loadings obtained with Bayesian PCA slightly differ from those obtained with conventional PCA. This is because BPCA was developed especially for missing value estimation. The algorithm does not force orthogonality between factor loadings, as a result factor loadings are not necessarily orthogonal. However, the BPCA authors found that including an orthogonality criterion made the predictions worse. The authors also state that the difference between real and predicted Eigenvalues becomes larger when the number of observation is smaller, because it reflects the lack of information to accurately determine true factor loadings from the limited and noisy data. As a result, weights of factors to predict missing values are not the same as with conventional PCA, but the missing value estimation is improved. BPCA works iteratively, the complexity is growing with \eqn{O(n^3)}{O(n^3)} because several matrix inversions are required. The size of the matrices to invert depends on the number of components used for re-estimation. Finding the optimal number of components for estimation is not a trivial task; the best choice depends on the internal structure of the data. A method called \code{kEstimate} is provided to estimate the optimal number of components via cross validation. In general few components are sufficient for reasonable estimation accuracy. See also the package documentation for further discussion about on what data PCA-based missing value estimation makes sense. It is not recommended to use this function directely but rather to use the pca() wrapper function. There is a difference with respect the interpretation of rows (observations) and columns (variables) compared to matlab implementation. For estimation of missing values for microarray data, the suggestion in the original bpca is to intepret genes as observations and the samples as variables. In pcaMethods however, genes are interpreted as variables and samples as observations which arguably also is the more natural interpretation. For bpca behavior like in the matlab implementation, simply transpose your input matrix. Details about the probabilistic model underlying BPCA are found in Oba et. al 2003. The algorithm uses an expectation maximation approach together with a Bayesian model to approximate the principal axes (eigenvectors of the covariance matrix in PCA). The estimation is done iteratively, the algorithm terminates if either the maximum number of iterations was reached or if the estimated increase in precision falls below \eqn{1e^{-4}}{1e^-4}. \bold{Complexity:} The relatively high complexity of the method is a result of several matrix inversions required in each step. Considering the case that the maximum number of iteration steps is needed, the approximate complexity is given by the term \deqn{maxSteps \cdot row_{miss} \cdot O(n^3)}{maxSteps * row_miss * O(n^3)} Where \eqn{row_{miss}}{row_miss} is the number of rows containing missing values and \eqn{O(n^3)}{O(n^3)} is the complexity for inverting a matrix of size \eqn{components}{components}. Components is the number of components used for re-estimation. } \note{ Requires \code{MASS}. } \examples{ ## Load a sample metabolite dataset with 5\\\% missig values (metaboliteData)e data(metaboliteData) ## Perform Bayesian PCA with 2 components pc <- pca(t(metaboliteData), method="bpca", nPcs=2) ## Get the estimated principal axes (loadings) loadings <- loadings(pc) ## Get the estimated scores scores <- scores(pc) ## Get the estimated complete observations cObs <- completeObs(pc) ## Now make a scores and loadings plot slplot(pc) \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteData))^2, na.rm=TRUE) < 200)} } \references{ Shigeyuki Oba, Masa-aki Sato, Ichiro Takemasa, Morito Monden, Ken-ichi Matsubara and Shin Ishii. A Bayesian missing value estimation method for gene expression profile data. \emph{Bioinformatics, 19(16):2088-2096, Nov 2003}. } \seealso{ \code{\link{ppca}}, \code{\link{svdImpute}}, \code{\link{prcomp}}, \code{\link{nipalsPca}}, \code{\link{pca}}, \code{\link{pcaRes}}. \code{\link{kEstimate}}. } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/center-pcaRes-method.Rd0000644000175200017520000000070214516003735020701 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{center,pcaRes-method} \alias{center,pcaRes-method} \alias{center} \title{Get the centers of the original variables} \usage{ center(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ Vector with the centers } \description{ Get the centers of the original variables } \author{ Henning Redestig } pcaMethods/man/centered-pcaRes-method.Rd0000644000175200017520000000070514516003735021215 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{centered,pcaRes-method} \alias{centered,pcaRes-method} \alias{centered} \title{Check centering was part of the model} \usage{ centered(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ TRUE if model was centered } \description{ Check centering was part of the model } \author{ Henning Redestig } pcaMethods/man/checkData.Rd0000644000175200017520000000242514516003735016603 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/checkData.R \name{checkData} \alias{checkData} \title{Do some basic checks on a given data matrix} \usage{ checkData(data, verbose = FALSE) } \arguments{ \item{data}{\code{matrix} -- Data to check.} \item{verbose}{\code{boolean} -- If TRUE, the function prints messages whenever an error in the data set is found.} } \value{ \item{isValid}{\code{boolean} -- TRUE if no errors were found, FALSE otherwise. isValid contains a set of attributes, these are: \itemize{ \item isNumeric - TRUE if data is numeric, false otherwise \item isInfinite - TRUE if data contains 'Inf' values, false otherwise \item isNaN - TRUE if data contains 'NaN' values, false otherwise \item isMatrix - TRUE if the data is in matrix format, FALSE otherwise \item naRows - TRUE if data contains rows in which all elements are 'NA', FALSE otherwise \item naCols - TRUE if data contains columns in which all elements are 'NA', FALSE otherwise }} } \description{ Check a given data matrix for consistency with the format required for further analysis. The data must be a numeric matrix and not contain: \itemize{ \item Inf values \item NaN values \item Rows or columns that consist of NA only } } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/completeObs-nniRes-method.Rd0000644000175200017520000000111514516003735021715 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{completeObs,nniRes-method} \alias{completeObs,nniRes-method} \alias{completeObs} \alias{completeObs,pcaRes-method} \title{Get the original data with missing values replaced with predicted values.} \usage{ completeObs(object, ...) } \arguments{ \item{object}{object to fetch complete data from} \item{...}{Not used} } \value{ Completed data (matrix) } \description{ Get the original data with missing values replaced with predicted values. } \author{ Henning Redestig } pcaMethods/man/cvseg.Rd0000644000175200017520000000170014516003735016036 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/xval.R \name{cvseg} \alias{cvseg} \title{Get CV segments} \usage{ cvseg(x, fold = 7, seed = NULL) } \arguments{ \item{x}{a factor, character or numeric vector that describes class membership of a set of items, or, a numeric vector indicating unique indices of items, or, a numeric of length 1 that describes the number of items to segment (without any classes)} \item{fold}{the desired number of segments} \item{seed}{randomization seed for reproducibility} } \value{ a list where each element is a set of indices that defines the CV segment. } \description{ Get cross-validation segments that have (as far as possible) the same ratio of all classes (if classes are present) } \examples{ seg <- cvseg(iris$Species, 10) sapply(seg, function(s) table(iris$Species[s])) cvseg(20, 10) } \seealso{ the \code{cvsegments} function in the \code{pls} package } \author{ Henning Redestig } pcaMethods/man/cvstat-pcaRes-method.Rd0000644000175200017520000000071714516003735020733 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{cvstat,pcaRes-method} \alias{cvstat,pcaRes-method} \alias{cvstat} \title{Get cross-validation statistics (e.g. \eqn{Q^2}).} \usage{ cvstat(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{not used} } \value{ vector CV statistics } \description{ Get cross-validation statistics (e.g. \eqn{Q^2}). } \author{ Henning Redestig } pcaMethods/man/deletediagonals.Rd0000644000175200017520000000134414516003735020057 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/xval.R \name{deletediagonals} \alias{deletediagonals} \title{Delete diagonals} \usage{ deletediagonals(x, diagonals = 1) } \arguments{ \item{x}{The matrix} \item{diagonals}{The diagonal to be replaced, i.e. the first, second and so on when looking at the fat version of the matrix (transposed or not) counting from the bottom. Can be a vector to delete more than one diagonal.} } \value{ The original matrix with some values missing } \description{ Replace a diagonal of elements of a matrix with NA } \details{ Used for creating artifical missing values in matrices without causing any full row or column to be completely missing } \author{ Henning Redestig } pcaMethods/man/derrorHierarchic.Rd0000644000175200017520000000061414516003735020211 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/derrorHierarchic.R \name{derrorHierarchic} \alias{derrorHierarchic} \title{Later} \usage{ derrorHierarchic(nlnet, trainIn, trainOut) } \arguments{ \item{nlnet}{the nlnet} \item{trainIn}{training data} \item{trainOut}{fitted data} } \value{ derror } \description{ Later } \author{ Henning Redestig, Matthias Scholz } pcaMethods/man/dim.pcaRes.Rd0000644000175200017520000000054514516003735016722 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \name{dim.pcaRes} \alias{dim.pcaRes} \title{Dimensions of a PCA model} \usage{ \method{dim}{pcaRes}(x) } \arguments{ \item{x}{a pcaRes object} } \value{ Get the dimensions of this PCA model } \description{ Dimensions of a PCA model } \author{ Henning Redestig } pcaMethods/man/errorHierarchic.Rd0000644000175200017520000000060714516003735020047 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/errorHierarchic.R \name{errorHierarchic} \alias{errorHierarchic} \title{Later} \usage{ errorHierarchic(nlnet, trainIn, trainOut) } \arguments{ \item{nlnet}{The nlnet} \item{trainIn}{training data} \item{trainOut}{fitted data} } \value{ error } \description{ Later } \author{ Henning Redestig, Matthias Scholz } pcaMethods/man/fitted-methods.Rd0000644000175200017520000000324214516003735017652 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{fitted-methods} \alias{fitted-methods} \alias{fitted.pcaRes} \alias{fitted,pcaRes-method} \title{Extract fitted values from PCA.} \usage{ \method{fitted}{pcaRes}(object, data = NULL, nPcs = nP(object), pre = TRUE, post = TRUE, ...) \S4method{fitted}{pcaRes}(object, data = NULL, nPcs = nP(object), pre = TRUE, post = TRUE, ...) } \arguments{ \item{object}{the \code{pcaRes} object of interest.} \item{data}{For standard PCA methods this can safely be left null to get scores x loadings but if set, then the scores are obtained by projecting provided data onto the loadings. If data contains missing values the result will be all NA. Non-linear PCA is an exception, here if data is NULL then data is set to the completeObs and propaged through the network.} \item{nPcs}{The number of PC's to consider} \item{pre}{pre-process \code{data} based on the pre-processing chosen for the PCA model} \item{post}{unpre-process the final data (add the center back etc to get the final estimate)} \item{...}{Not used} } \value{ A matrix representing the fitted data } \description{ Fitted values of a PCA model } \details{ This function extracts the fitted values from a pcaResobject. For PCA methods like SVD, Nipals, PPCA etc this is basically just the scores multipled by the loadings and adjusted for pre-processing. for non-linear PCA the original data is propagated through the network to obtain the approximated data. } \examples{ pc <- pca(iris[,1:4], nPcs=4, center=TRUE, scale="uv") sum( (fitted(pc) - iris[,1:4])^2 ) } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/forkNlpcaNet.Rd0000644000175200017520000000054414516003735017322 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/forkNlpcaNet.R \name{forkNlpcaNet} \alias{forkNlpcaNet} \title{Complete copy of nlpca net object} \usage{ forkNlpcaNet(nlnet) } \arguments{ \item{nlnet}{a nlnet} } \value{ A copy of the input nlnet } \description{ Complete copy of nlpca net object } \author{ Henning Redestig } pcaMethods/man/getHierarchicIdx.Rd0000644000175200017520000000052514516003735020141 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nlpca.R \name{getHierarchicIdx} \alias{getHierarchicIdx} \title{Index in hiearchy} \usage{ getHierarchicIdx(hierarchicNum) } \arguments{ \item{hierarchicNum}{A number} } \value{ ... } \description{ Index in hiearchy } \author{ Henning Redestig, Matthias Scholz } pcaMethods/man/helix.Rd0000644000175200017520000000110214516003735016034 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pcaMethods-package.R \docType{data} \name{helix} \alias{helix} \title{A helix structured toy data set} \usage{ data(helix) } \description{ Simulated data set looking like a helix } \details{ A matrix containing 1000 observations (rows) and three variables (columns). } \references{ Matthias Scholz, Fatma Kaplan, Charles L. Guy, Joachim Kopka and Joachim Selbig. - Non-linear PCA: a missing data approach. \emph{Bioinformatics 2005 21(20):3887-3895} } \author{ Henning Redestig } \keyword{datasets} pcaMethods/man/kEstimate.Rd0000644000175200017520000001435514516003735016667 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/kEstimate.R \name{kEstimate} \alias{kEstimate} \title{Estimate best number of Components for missing value estimation} \usage{ kEstimate(Matrix, method = "ppca", evalPcs = 1:3, segs = 3, nruncv = 5, em = "q2", allVariables = FALSE, verbose = interactive(), ...) } \arguments{ \item{Matrix}{\code{matrix} -- numeric matrix containing observations in rows and variables in columns} \item{method}{\code{character} -- of the methods found with pcaMethods() The option llsImputeAll calls llsImpute with the allVariables = TRUE parameter.} \item{evalPcs}{\code{numeric} -- The principal components to use for cross validation or the number of neighbour variables if used with llsImpute. Should be an array containing integer values, eg. \code{evalPcs = 1:10} or \code{evalPcs = c(2,5,8)}. The NRMSEP or Q2 is calculated for each component.} \item{segs}{\code{numeric} -- number of segments for cross validation} \item{nruncv}{\code{numeric} -- Times the whole cross validation is repeated} \item{em}{\code{character} -- The error measure. This can be nrmsep or q2} \item{allVariables}{\code{boolean} -- If TRUE, the NRMSEP is calculated for all variables, If FALSE, only the incomplete ones are included. You maybe want to do this to compare several methods on a complete data set.} \item{verbose}{\code{boolean} -- If TRUE, some output like the variable indexes are printed to the console each iteration.} \item{...}{Further arguments to \code{pca} or \code{nni}} } \value{ A list with: \item{bestNPcs}{number of PCs or k for which the minimal average NRMSEP or the maximal Q2 was obtained.} \item{eError}{an array of of size length(evalPcs). Contains the average error of the cross validation runs for each number of components.} \item{variableWiseError}{Matrix of size \code{incomplete_variables} x length(evalPcs). Contains the NRMSEP or Q2 distance for each variable and each number of PCs. This allows to easily see for wich variables imputation makes sense and for which one it should not be done or mean imputation should be used.} \item{evalPcs}{The evaluated numbers of components or number of neighbours (the same as the evalPcs input parameter).} \item{variableIx}{Index of the incomplete variables. This can be used to map the variable wise error to the original data.} } \description{ Perform cross validation to estimate the optimal number of components for missing value estimation. Cross validation is done for the complete subset of a variable. } \details{ The assumption hereby is that variables that are highly correlated in a distinct region (here the non-missing observations) are also correlated in another (here the missing observations). This also implies that the complete subset must be large enough to be representative. For each incomplete variable, the available values are divided into a user defined number of cv-segments. The segments have equal size, but are chosen from a random equal distribution. The non-missing values of the variable are covered completely. PPCA, BPCA, SVDimpute, Nipals PCA, llsImpute an NLPCA may be used for imputation. The whole cross validation is repeated several times so, depending on the parameters, the calculations can take very long time. As error measure the NRMSEP (see Feten et. al, 2005) or the Q2 distance is used. The NRMSEP basically normalises the RMSD between original data and estimate by the variable-wise variance. The reason for this is that a higher variance will generally lead to a higher estimation error. If the number of samples is small, the variable - wise variance may become an unstable criterion and the Q2 distance should be used instead. Also if variance normalisation was applied previously. The method proceeds variable - wise, the NRMSEP / Q2 distance is calculated for each incomplete variable and averaged afterwards. This allows to easily see for wich set of variables missing value imputation makes senes and for wich set no imputation or something like mean-imputation should be used. Use \code{kEstimateFast} or \code{Q2} if you are not interested in variable wise CV performance estimates. Run time may be very high on large data sets. Especially when used with complex methods like BPCA or Nipals PCA. For PPCA, BPCA, Nipals PCA and NLPCA the estimation method is called \eqn{(v_{miss} \cdot segs \cdot nruncv \cdot)}{(v\_miss * segs * nruncv)} times as the error for all numbers of principal components can be calculated at once. For LLSimpute and SVDimpute this is not possible, and the method is called \eqn{(v_{miss} \cdot segs \cdot nruncv \cdot length(evalPcs))}{(v\_miss * segs * nruncv * length(evalPcs))} times. This should still be fast for LLSimpute because the method allows to choose to only do the estimation for one particular variable. This saves a lot of iterations. Here, \eqn{v_{miss}}{v\_miss} is the number of variables showing missing values. As cross validation is done variable-wise, in this function Q2 is defined on single variables, not on the entire data set. This is Q2 is calculated as as \eqn{\frac{\sum(x - xe)^2}{\sum(x^2)}}{sum(x - xe)^2 \ sum(x^2)}, where x is the currently used variable and xe it's estimate. The values are then averaged over all variables. The NRMSEP is already defined variable-wise. For a single variable it is then \eqn{\sqrt(\frac{\sum(x - xe)^2}{(n \cdot var(x))})}{sqrt(sum(x - xe)^2 \ (n * var(x)))}, where x is the variable and xe it's estimate, n is the length of x. The variable wise estimation errors are returned in parameter variableWiseError. } \examples{ ## Load a sample metabolite dataset with 5\\\% missing values (metaboliteData) data(metaboliteData) # Do cross validation with ppca for component 2:4 esti <- kEstimate(metaboliteData, method = "ppca", evalPcs = 2:4, nruncv=1, em="nrmsep") # Plot the average NRMSEP barplot(drop(esti$eError), xlab = "Components",ylab = "NRMSEP (1 iterations)") # The best result was obtained for this number of PCs: print(esti$bestNPcs) # Now have a look at the variable wise estimation error barplot(drop(esti$variableWiseError[, which(esti$evalPcs == esti$bestNPcs)]), xlab = "Incomplete variable Index", ylab = "NRMSEP") } \seealso{ \code{\link{kEstimateFast}, \link{Q2}, \link{pca}, \link{nni}}. } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/kEstimateFast.Rd0000644000175200017520000000553514516003735017505 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/kEstimateFast.R \name{kEstimateFast} \alias{kEstimateFast} \title{Estimate best number of Components for missing value estimation} \usage{ kEstimateFast(Matrix, method = "ppca", evalPcs = 1:3, em = "nrmsep", allVariables = FALSE, verbose = interactive(), ...) } \arguments{ \item{Matrix}{\code{matrix} -- numeric matrix containing observations in rows and variables in columns} \item{method}{\code{character} -- a valid pca method (see \code{\link{pca}}).} \item{evalPcs}{\code{numeric} -- The principal components to use for cross validation or cluster sizes if used with llsImpute. Should be an array containing integer values, eg. evalPcs = 1:10 or evalPcs = C(2,5,8).The NRMSEP is calculated for each component.} \item{em}{\code{character} -- The error measure. This can be nrmsep or q2} \item{allVariables}{\code{boolean} -- If TRUE, the NRMSEP is calculated for all variables, If FALSE, only the incomplete ones are included. You maybe want to do this to compare several methods on a complete data set.} \item{verbose}{\code{boolean} -- If TRUE, the NRMSEP and the variance are printed to the console each iteration.} \item{...}{Further arguments to \code{pca}} } \value{ \item{list}{Returns a list with the elements: \itemize{ \item minNPcs - number of PCs for which the minimal average NRMSEP was obtained \item eError - an array of of size length(evalPcs). Contains the estimation error for each number of components. \item evalPcs - The evaluated numbers of components or cluster sizes (the same as the evalPcs input parameter). }} } \description{ This is a simple estimator for the optimal number of componets when applying PCA or LLSimpute for missing value estimation. No cross validation is performed, instead the estimation quality is defined as Matrix[!missing] - Estimate[!missing]. This will give a relatively rough estimate, but the number of iterations equals the length of the parameter evalPcs.\cr Does not work with LLSimpute!! As error measure the NRMSEP (see Feten et. al, 2005) or the Q2 distance is used. The NRMSEP basically normalises the RMSD between original data and estimate by the variable-wise variance. The reason for this is that a higher variance will generally lead to a higher estimation error. If the number of samples is small, the gene - wise variance may become an unstable criterion and the Q2 distance should be used instead. Also if variance normalisation was applied previously. } \examples{ data(metaboliteData) # Estimate best number of PCs with ppca for component 2:4 esti <- kEstimateFast(t(metaboliteData), method = "ppca", evalPcs = 2:4, em="nrmsep") barplot(drop(esti$eError), xlab = "Components",ylab = "NRMSEP (1 iterations)") # The best k value is: print(esti$minNPcs) } \seealso{ \code{\link{kEstimate}}. } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/leverage-pcaRes-method.Rd0000644000175200017520000000213414516003735021214 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{leverage,pcaRes-method} \alias{leverage,pcaRes-method} \alias{leverage} \title{Extract leverages of a PCA model} \usage{ \S4method{leverage}{pcaRes}(object) } \arguments{ \item{object}{a \code{pcaRes} object} } \value{ The observation leverages as a numeric vector } \description{ The leverages of PCA model indicate how much influence each observation has on the PCA model. Observations with high leverage has caused the principal components to rotate towards them. It can be used to extract both "unimportant" observations as well as picking potential outliers. } \details{ Defined as \eqn{Tr(T(T'T)^{-1}T')}{Tr(T(T'T)^(-1)T')} } \examples{ data(iris) pcIr <- pca(iris[,1:4]) ## versicolor has the lowest leverage with(iris, plot(leverage(pcIr)~Species)) } \references{ Introduction to Multi- and Megavariate Data Analysis using Projection Methods (PCA and PLS), L. Eriksson, E. Johansson, N. Kettaneh-Wold and S. Wold, Umetrics 1999, p. 466 } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/lineSearch.Rd0000644000175200017520000000104014516003735017001 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/lineSearch.R \name{lineSearch} \alias{lineSearch} \title{Line search for conjugate gradient} \usage{ lineSearch(nlnet, dw, e0, ttGuess, trainIn, trainOut, verbose) } \arguments{ \item{nlnet}{The nlnet} \item{dw}{..} \item{e0}{..} \item{ttGuess}{..} \item{trainIn}{Training data} \item{trainOut}{Fitted data} \item{verbose}{logical, print messages} } \value{ ... } \description{ Line search for conjugate gradient } \author{ Henning Redestig, Matthias Scholz } pcaMethods/man/linr.Rd0000644000175200017520000000043314516003735015675 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/lineSearch.R \name{linr} \alias{linr} \title{Linear kernel} \usage{ linr(x) } \arguments{ \item{x}{datum} } \value{ Input value } \description{ Linear kernel } \author{ Henning Redestig, Matthias Scholz } pcaMethods/man/listPcaMethods.Rd0000644000175200017520000000105714516003735017657 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pca.R \name{listPcaMethods} \alias{listPcaMethods} \title{List PCA methods} \usage{ listPcaMethods(which = c("all", "linear", "nonlinear")) } \arguments{ \item{which}{the type of methods to get. E.g. only get the PCA methods based on the classical model where the fitted data is a direct multiplication of scores and loadings.} } \value{ A character vector with the current methods for doing PCA } \description{ Vector with current valid PCA methods } \author{ Henning Redestig } pcaMethods/man/llsImpute.Rd0000644000175200017520000000776614516003735016727 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/llsImpute.R \name{llsImpute} \alias{llsImpute} \title{LLSimpute algorithm} \usage{ llsImpute(Matrix, k = 10, center = FALSE, completeObs = TRUE, correlation = "pearson", allVariables = FALSE, maxSteps = 100, xval = NULL, verbose = FALSE, ...) } \arguments{ \item{Matrix}{\code{matrix} -- Data containing the variables (genes) in columns and observations (samples) in rows. The data may contain missing values, denoted as \code{NA}.} \item{k}{\code{numeric} -- Cluster size, this is the number of similar genes used for regression.} \item{center}{\code{boolean} -- Mean center the data if TRUE} \item{completeObs}{\code{boolean} -- Return the estimated complete observations if TRUE. This is the input data with NA values replaced by the estimated values.} \item{correlation}{\code{character} -- How to calculate the distance between genes. One out of pearson | kendall | spearman , see also help("cor").} \item{allVariables}{\code{boolean} -- Use only complete genes to do the regression if TRUE, all genes if FALSE.} \item{maxSteps}{\code{numeric} -- Maximum number of iteration steps if allGenes = TRUE.} \item{xval}{\code{numeric} Use LLSimpute for cross validation. xval is the index of the gene to estimate, all other incomplete genes will be ignored if this parameter is set. We do not consider them in the cross-validation.} \item{verbose}{\code{boolean} -- Print step number and relative change if TRUE and allVariables = TRUE} \item{...}{Reserved for parameters used in future version of the algorithm} } \value{ \item{nniRes}{Standard nni (nearest neighbour imputation) result object of this package. See \code{\link{nniRes}} for details.} } \description{ Missing value estimation using local least squares (LLS). First, k variables (for Microarrya data usually the genes) are selected by pearson, spearman or kendall correlation coefficients. Then missing values are imputed by a linear combination of the k selected variables. The optimal combination is found by LLS regression. The method was first described by Kim et al, Bioinformatics, 21(2),2005. } \details{ Missing values are denoted as \code{NA}\cr It is not recommended to use this function directely but rather to use the nni() wrapper function. The methods provides two ways for missing value estimation, selected by the \code{allVariables} option. The first one is to use only complete variables for the regression. This is preferable when the number of incomplete variables is relatively small. The second way is to consider all variables as candidates for the regression. Hereby missing values are initially replaced by the columns wise mean. The method then iterates, using the current estimate as input for the regression until the change between new and old estimate falls below a threshold (0.001). } \note{ Each step the generalized inverse of a \code{miss} x k matrix is calculated. Where \code{miss} is the number of missing values in variable j and \code{k} the number of neighbours. This may be slow for large values of k and / or many missing values. See also help("ginv"). } \examples{ ## Load a sample metabolite dataset (metaboliteData) with already 5\\\% of ## data missing data(metaboliteData) ## Perform llsImpute using k = 10 ## Set allVariables TRUE because there are very few complete variables result <- llsImpute(metaboliteData, k = 10, correlation="pearson", allVariables=TRUE) ## Get the estimated complete observations cObs <- completeObs(result) } \references{ Kim, H. and Golub, G.H. and Park, H. - Missing value estimation for DNA microarray gene expression data: local least squares imputation. \emph{Bioinformatics, 2005; 21(2):187-198.} Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and Hastie T. and Tibshirani R. and Botstein D. and Altman RB. - Missing value estimation methods for DNA microarrays. \emph{Bioinformatics. 2001 Jun;17(6):520-525.} } \seealso{ \code{\link{pca}, \link{nniRes}, \link{nni}}. } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/loadings-ANY-method.Rd0000644000175200017520000000077614516003735020446 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{loadings,ANY-method} \alias{loadings,ANY-method} \alias{loadings} \title{Crude way to unmask the function with the same name from \code{stats}} \usage{ \S4method{loadings}{ANY}(object, ...) } \arguments{ \item{object}{any object} \item{...}{not used} } \value{ The loadings } \description{ Crude way to unmask the function with the same name from \code{stats} } \author{ Henning Redestig } pcaMethods/man/loadings-pcaRes-method.Rd0000644000175200017520000000075114516003735021225 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{loadings,pcaRes-method} \alias{loadings,pcaRes-method} \title{Get loadings from a pcaRes object} \usage{ \S4method{loadings}{pcaRes}(object, ...) } \arguments{ \item{object}{a pcaRes object} \item{...}{not used} } \value{ The loadings as a matrix } \description{ Get loadings from a pcaRes object } \seealso{ \code{\link{loadings.pcaRes}} } \author{ Henning Redestig } pcaMethods/man/loadings.pcaRes.Rd0000644000175200017520000000063514516003735017751 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \name{loadings.pcaRes} \alias{loadings.pcaRes} \title{Get loadings from a pcaRes object} \usage{ \method{loadings}{pcaRes}(object, ...) } \arguments{ \item{object}{a pcaRes object} \item{...}{not used} } \value{ The loadings as a matrix } \description{ Get loadings from a pcaRes object } \author{ Henning Redestig } pcaMethods/man/metaboliteData.Rd0000644000175200017520000000174514516003735017657 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pcaMethods-package.R \docType{data} \name{metaboliteData} \alias{metaboliteData} \title{A incomplete metabolite data set from an Arabidopsis coldstress experiment} \description{ A incomplete subset from a larger metabolite data set. This is the original, complete data set and can be used to compare estimation results created with the also provided incomplete data (called metaboliteData). } \details{ A matrix containing 154 observations (rows) and 52 metabolites (columns). The data contains 5\% of artificially created uniformly distributed misssing values. The data was created during an in house Arabidopsis coldstress experiment. } \references{ Matthias Scholz, Fatma Kaplan, Charles L. Guy, Joachim Kopka and Joachim Selbig. - Non-linear PCA: a missing data approach.\emph{Bioinformatics 2005 21(20):3887-3895} } \seealso{ \code{\link{metaboliteDataComplete}} } \author{ Wolfram Stacklies } \keyword{datasets} pcaMethods/man/metaboliteDataComplete.Rd0000644000175200017520000000162514516003735021345 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pcaMethods-package.R \docType{data} \name{metaboliteDataComplete} \alias{metaboliteDataComplete} \title{A complete metabolite data set from an Arabidopsis coldstress experiment} \description{ A complete subset from a larger metabolite data set. This is the original, complete data set and can be used to compare estimation results created with the also provided incomplete data (called metaboliteData). The data was created during an in house Arabidopsis coldstress experiment. } \details{ A matrix containing 154 observations (rows) and 52 metabolites (columns). } \references{ Matthias Scholz, Fatma Kaplan, Charles L. Guy, Joachim Kopka and Joachim Selbig. - Non-linear PCA: a missing data approach.\emph{Bioinformatics 2005 21(20):3887-3895} } \seealso{ \code{\link{metaboliteData}} } \author{ Wolfram Stacklies } \keyword{datasets} pcaMethods/man/method-pcaRes-method.Rd0000644000175200017520000000063214516003735020703 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{method,pcaRes-method} \alias{method,pcaRes-method} \alias{method} \title{Get the used PCA method} \usage{ method(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ The used pca method } \description{ Get the used PCA method } \author{ Henning Redestig } pcaMethods/man/nObs-pcaRes-method.Rd0000644000175200017520000000073514516003735020330 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{nObs,pcaRes-method} \alias{nObs,pcaRes-method} \alias{nObs} \title{Get the number of observations used to build the PCA model.} \usage{ nObs(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ Number of observations } \description{ Get the number of observations used to build the PCA model. } \author{ Henning Redestig } pcaMethods/man/nP-pcaRes-method.Rd0000644000175200017520000000057014516003735020001 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{nP,pcaRes-method} \alias{nP,pcaRes-method} \alias{nP} \title{Get number of PCs} \usage{ nP(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{not used} } \value{ Number of PCs } \description{ Get number of PCs } \author{ Henning Redestig } pcaMethods/man/nPcs-pcaRes-method.Rd0000644000175200017520000000074314516003735020331 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{nPcs,pcaRes-method} \alias{nPcs,pcaRes-method} \alias{nPcs} \title{Get number of PCs.} \usage{ nPcs(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{not used} } \value{ Number of PCs } \description{ Get number of PCs. } \note{ Try to use \code{link{nP}} instead since \code{nPcs} tend to clash with argument names. } \author{ Henning Redestig } pcaMethods/man/nVar-pcaRes-method.Rd0000644000175200017520000000072414516003735020333 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{nVar,pcaRes-method} \alias{nVar,pcaRes-method} \alias{nVar} \title{Get the number of variables used to build the PCA model.} \usage{ nVar(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ Number of variables } \description{ Get the number of variables used to build the PCA model. } \author{ Henning Redestig } pcaMethods/man/nipalsPca.Rd0000644000175200017520000000361414516003735016647 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nipalsPca.R \name{nipalsPca} \alias{nipalsPca} \title{NIPALS PCA} \usage{ nipalsPca(Matrix, nPcs = 2, varLimit = 1, maxSteps = 5000, threshold = 1e-06, ...) } \arguments{ \item{Matrix}{Pre-processed (centered, scaled) numerical matrix samples in rows and variables as columns.} \item{nPcs}{Number of components that should be extracted.} \item{varLimit}{Optionally the ratio of variance that should be explained. \code{nPcs} is ignored if varLimit < 1} \item{maxSteps}{Defines how many iterations can be done before algorithm should abort (happens almost exclusively when there were some wrong in the input data).} \item{threshold}{The limit condition for judging if the algorithm has converged or not, specifically if a new iteration is done if \eqn{(T_{old} - T)^T(T_{old} - T) > \code{limit}}.} \item{...}{Only used for passing through arguments.} } \value{ A \code{pcaRes} object. } \description{ PCA by non-linear iterative partial least squares } \details{ Can be used for computing PCA on a numeric matrix using either the NIPALS algorithm which is an iterative approach for estimating the principal components extracting them one at a time. NIPALS can handle a small amount of missing values. It is not recommended to use this function directely but rather to use the pca() wrapper function. } \examples{ data(metaboliteData) mat <- prep(t(metaboliteData)) pc <- nipalsPca(mat, nPcs=2) ## better use pca() pc <- pca(t(metaboliteData), method="nipals", nPcs=2) \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteData))^2, na.rm=TRUE) < 200)} } \references{ Wold, H. (1966) Estimation of principal components and related models by iterative least squares. In Multivariate Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420. } \seealso{ \code{prcomp}, \code{princomp}, \code{pca} } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/nlpca.Rd0000644000175200017520000000674114516003735016036 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/nlpca.R \name{nlpca} \alias{nlpca} \title{Non-linear PCA} \usage{ nlpca(Matrix, nPcs = 2, maxSteps = 2 * prod(dim(Matrix)), unitsPerLayer = NULL, functionsPerLayer = NULL, weightDecay = 0.001, weights = NULL, verbose = interactive(), ...) } \arguments{ \item{Matrix}{\code{matrix} --- Preprocessed data with the variables in columns and observations in rows. The data may contain missing values, denoted as \code{NA}} \item{nPcs}{\code{numeric} -- Number of components to estimate. The preciseness of the missing value estimation depends on thenumber of components, which should resemble the internal structure of the data.} \item{maxSteps}{\code{numeric} -- Number of estimation steps. Default is based on a generous rule of thumb.} \item{unitsPerLayer}{The network units, example: c(2,4,6) for two input units 2feature units (principal components), one hidden layer fornon-linearity and three output units (original amount ofvariables).} \item{functionsPerLayer}{The function to apply at each layer eg. c("linr", "tanh", "linr")} \item{weightDecay}{Value between 0 and 1.} \item{weights}{Starting weights for the network. Defaults to uniform random values but can be set specifically to make algorithm deterministic.} \item{verbose}{\code{boolean} -- nlpca prints the number of steps and warning messages if set to TRUE. Default is interactive().} \item{...}{Reserved for future use. Not passed on anywhere.} } \value{ Standard PCA result object used by all PCA-basedmethods of this package. Contains scores, loadings, data meanand more. See \code{\link{pcaRes}} for details. } \description{ Neural network based non-linear PCA } \details{ Artificial Neural Network (MLP) for performing non-linear PCA. Non-linear PCA is conceptually similar to classical PCA but theoretically quite different. Instead of simply decomposing our matrix (X) to scores (T) loadings (P) and an error (E) we train a neural network (our loadings) to find a curve through the multidimensional space of X that describes a much variance as possible. Classical ways of interpreting PCA results are thus not applicable to NLPCA since the loadings are hidden in the network. However, the scores of components that lead to low cross-validation errors can still be interpreted via the score plot. Unfortunately this method depend on slow iterations which currently are implemented in R only making this method extremely slow. Furthermore, the algorithm does not by itself decide when it has converged but simply does 'maxSteps' iterations. } \examples{ ## Data set with three variables where data points constitute a helix data(helix) helixNA <- helix ## not a single complete observation helixNA <- t(apply(helix, 1, function(x) { x[sample(1:3, 1)] <- NA; x})) ## 50 steps is not enough, for good estimation use 1000 helixNlPca <- pca(helixNA, nPcs=1, method="nlpca", maxSteps=50) fittedData <- fitted(helixNlPca, helixNA) plot(fittedData[which(is.na(helixNA))], helix[which(is.na(helixNA))]) ## compared to solution by Nipals PCA which cannot extract non-linear patterns helixNipPca <- pca(helixNA, nPcs=2) fittedData <- fitted(helixNipPca) plot(fittedData[which(is.na(helixNA))], helix[which(is.na(helixNA))]) } \references{ Matthias Scholz, Fatma Kaplan, Charles L Guy, Joachim Kopkaand Joachim Selbig. Non-linear PCA: a missing data approach. \emph{Bioinformatics, 21(20):3887-3895, Oct 2005} } \author{ Based on a matlab script by Matthias Scholz and ported to R by Henning Redestig } pcaMethods/man/nmissing-pcaRes-method.Rd0000644000175200017520000000067414516003735021260 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{nmissing,pcaRes-method} \alias{nmissing,pcaRes-method} \alias{nmissing} \alias{nmissing,nniRes-method} \title{Missing values} \usage{ nmissing(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ Get the number of missing values } \description{ Missing values } \author{ Henning Redestig } pcaMethods/man/nni.Rd0000644000175200017520000000237314516003735015522 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pca.R \name{nni} \alias{nni} \title{Nearest neighbour imputation} \usage{ nni(object, method = c("llsImpute"), subset = numeric(), ...) } \arguments{ \item{object}{Numerical matrix with (or an object coercible to such) with samples in rows and variables as columns. Also takes \code{ExpressionSet} in which case the transposed expression matrix is used.} \item{method}{For convenience one can pass a large matrix but only use the variable specified as subset. Can be colnames or indices.} \item{subset}{Currently "llsImpute" only.} \item{...}{Further arguments to the chosen method.} } \value{ A \code{clusterRes} object. Or a list containing a clusterRes object as first and an ExpressionSet object as second entry if the input was of type ExpressionSet. } \description{ Wrapper function for imputation methods based on nearest neighbour clustering. Currently llsImpute only. } \details{ This method is wrapper function to llsImpute, See documentation for \code{link{llsImpute}}. } \examples{ data(metaboliteData) llsRes <- nni(metaboliteData, k=6, method="llsImpute", allGenes=TRUE) } \seealso{ \code{\link{llsImpute}}, \code{\link{pca}} } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/nniRes.Rd0000644000175200017520000000252714516003735016175 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/AllClasses.R \docType{class} \name{nniRes} \alias{nniRes} \alias{nniRes-class} \title{Class for representing a nearest neighbour imputation result} \description{ This is a class representation of nearest neighbour imputation (nni) result } \details{ \bold{Creating Objects}\cr \code{new("nniRes", completeObs=[the estimated complete observations], k=[cluster size], nObs=[amount of observations], nVar=[amount of variables], centered=[was the data centered befor running LLSimpute], center=[original means], method=[method used to perform clustering], missing=[amount of NAs])} \bold{Slots}\cr \describe{ \item{completeObs}{"matrix", the estimated complete observations} \item{nObs}{"numeric", amount of observations} \item{nVar}{"numeric", amount of variables} \item{correlation}{"character", the correlation method used (pearson, kendall or spearman)} \item{centered}{"logical", data was centered or not} \item{center}{"numeric", the original variable centers} \item{k}{"numeric", cluster size} \item{method}{"character", the method used to perform the clustering} \item{missing}{"numeric", the total amount of missing values in original data} } \bold{Methods}\cr \describe{ \item{print}{Print function} } } \author{ Wolfram Stacklies } \keyword{classes} pcaMethods/man/optiAlgCgd.Rd0000644000175200017520000000073714516003735016755 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/optiAlgCgd.R \name{optiAlgCgd} \alias{optiAlgCgd} \title{Conjugate gradient optimization} \usage{ optiAlgCgd(nlnet, trainIn, trainOut, verbose = FALSE) } \arguments{ \item{nlnet}{The nlnet} \item{trainIn}{Training data} \item{trainOut}{fitted data} \item{verbose}{logical, print messages} } \value{ ... } \description{ Conjugate gradient optimization } \author{ Henning Redestig, Matthias Scholz } pcaMethods/man/orth.Rd0000644000175200017520000000121214516003735015701 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/orth.R \name{orth} \alias{orth} \title{Calculate an orthonormal basis} \usage{ orth(mat, skipInac = FALSE) } \arguments{ \item{mat}{matrix to calculate orthonormal base} \item{skipInac}{do not include components with precision below .Machine$double.eps if TRUE} } \value{ orthonormal basis for the range of matrix } \description{ ONB = orth(mat) is an orthonormal basis for the range of matrix mat. That is, ONB' * ONB = I, the columns of ONB span the same space as the columns of mat, and the number of columns of ONB is the rank of mat. } \author{ Wolfram Stacklies } pcaMethods/man/pca.Rd0000644000175200017520000000752314516003735015503 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pca.R \name{pca} \alias{pca} \title{Perform principal component analysis} \usage{ pca(object, method, nPcs = 2, scale = c("none", "pareto", "vector", "uv"), center = TRUE, completeObs = TRUE, subset = NULL, cv = c("none", "q2"), ...) } \arguments{ \item{object}{Numerical matrix with (or an object coercible to such) with samples in rows and variables as columns. Also takes \code{ExpressionSet} in which case the transposed expression matrix is used. Can also be a data frame in which case all numberic variables are used to fit the PCA.} \item{method}{One of the methods reported by \code{listPcaMethods()}. Can be left missing in which case the \code{svd} PCA is chosen for data wihout missing values and \code{nipalsPca} for data with missing values} \item{nPcs}{Number of principal components to calculate.} \item{scale}{Scaling, see \code{\link{prep}}.} \item{center}{Centering, see \code{\link{prep}}.} \item{completeObs}{Sets the \code{completeObs} slot on the resulting \code{pcaRes} object containing the original data with but with all NAs replaced with the estimates.} \item{subset}{A subset of variables to use for calculating the model. Can be column names or indices.} \item{cv}{character naming a the type of cross-validation to be performed.} \item{...}{Arguments to \code{\link{prep}}, the chosen pca method and \code{\link{Q2}}.} } \value{ A \code{pcaRes} object. } \description{ Perform PCA on a numeric matrix for visualisation, information extraction and missing value imputation. } \details{ This method is wrapper function for the following set of pca methods: \describe{\item{svd:}{Uses classical \code{prcomp}. See documentation for \code{\link{svdPca}}.} \item{nipals:}{An iterative method capable of handling small amounts of missing values. See documentation for \code{\link{nipalsPca}}.} \item{rnipals:}{Same as nipals but implemented in R.} \item{bpca:}{An iterative method using a Bayesian model to handle missing values. See documentation for \code{\link{bpca}}.} \item{ppca:}{An iterative method using a probabilistic model to handle missing values. See documentation for \code{\link{ppca}}.} \item{svdImpute:}{Uses expectation maximation to perform SVD PCA on incomplete data. See documentation for \code{\link{svdImpute}}.}} Scaling and centering is part of the PCA model and handled by \code{\link{prep}}. } \examples{ data(iris) ## Usually some kind of scaling is appropriate pcIr <- pca(iris, method="svd", nPcs=2) pcIr <- pca(iris, method="nipals", nPcs=3, cv="q2") ## Get a short summary on the calculated model summary(pcIr) plot(pcIr) ## Scores and loadings plot slplot(pcIr, sl=as.character(iris[,5])) ## use an expressionset and ggplot data(sample.ExpressionSet) pc <- pca(sample.ExpressionSet) df <- merge(scores(pc), pData(sample.ExpressionSet), by=0) library(ggplot2) ggplot(df, aes(PC1, PC2, shape=sex, color=type)) + geom_point() + xlab(paste("PC1", pc@R2[1] * 100, "\% of the variance")) + ylab(paste("PC2", pc@R2[2] * 100, "\% of the variance")) } \references{ Wold, H. (1966) Estimation of principal components and related models by iterative least squares. In Multivariate Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420. Shigeyuki Oba, Masa-aki Sato, Ichiro Takemasa, Morito Monden, Ken-ichi Matsubara and Shin Ishii. A Bayesian missing value estimation method for gene expression profile data. \emph{Bioinformatics, 19(16):2088-2096, Nov 2003}. Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and Hastie T. and Tibshirani R. and Botstein D. and Altman RB. - Missing value estimation methods for DNA microarrays. \emph{Bioinformatics. 2001 Jun;17(6):520-5}. } \seealso{ \code{\link{prcomp}}, \code{\link{princomp}}, \code{\link{nipalsPca}}, \code{\link{svdPca}} } \author{ Wolfram Stacklies, Henning Redestig } \keyword{multivariate} pcaMethods/man/pcaMethods-deprecated.Rd0000644000175200017520000000105414516003735021116 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pcaMethods-package.R \name{pcaMethods-deprecated} \alias{pcaMethods-deprecated} \title{Deprecated methods for pcaMethods} \description{ \describe{ \item{plotR2}{Lack of relevance for this plot and the fact that it can not show cross-validation based diagnostics in the same plot makes it redundant with the introduction of a dedicated \code{plot} function for \code{pcaRes}. The new plot only shows R2cum but the result is pretty much the same.}} } \author{ Henning Redestig } pcaMethods/man/pcaMethods.Rd0000644000175200017520000000221714516003735017022 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pcaMethods-package.R \docType{package} \name{pcaMethods} \alias{pcaMethods} \alias{pcaMethods-package} \title{pcaMethods} \description{ Principal Component Analysis in R } \details{ \tabular{ll}{ Package: \tab pcaMethods \cr Type: \tab Package \cr Developed since: \tab 2006 \cr License: \tab GPL (>=3) \cr LazyLoad: \tab yes \cr } Provides Bayesian PCA, Probabilistic PCA, Nipals PCA, Inverse Non-Linear PCA and the conventional SVD PCA. A cluster based method for missing value estimation is included for comparison. BPCA, PPCA and NipalsPCA may be used to perform PCA on incomplete data as well as for accurate missing value estimation. A set of methods for printing and plotting the results is also provided. All PCA methods make use of the same data structure (pcaRes) to provide a unique interface to the PCA results. Developed at the Max-Planck Institute for Molecular Plant Physiology, Golm, Germany, RIKEN Plant Science Center Yokohama, Japan, and CAS-MPG Partner Institute for Computational Biology (PICB) Shanghai, P.R. China } \author{ Wolfram Stacklies, Henning Redestig } pcaMethods/man/pcaNet.Rd0000644000175200017520000000657214516003735016155 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/AllClasses.R \docType{class} \name{pcaNet} \alias{pcaNet} \alias{nlpcaNet} \alias{nlpcaNet-class} \title{Class representation of the NLPCA neural net} \description{ This is a class representation of a non-linear PCA neural network. The \code{nlpcaNet} class is not meant for user-level usage. } \details{ Creating Objects \code{new("nlpcaNet", net=[the network structure], hierarchic=[hierarchic design], fct=[the functions at each layer], fkt=[the functions used for forward propagation], weightDecay=[incremental decrease of weight changes over iterations (between 0 and 1)], featureSorting=[sort features or not], dataDist=[represents the present values], inverse=[net is inverse mode or not], fCount=[amount of times features were sorted], componentLayer=[which layer is the 'bottleneck' (principal components)], erro=[the used error function], gradient=[the used gradient method], weights=[the present weights], maxIter=[the amount of iterations that was done], scalingFactor=[the scale of the original matrix])} Slots \describe{ \item{net}{"matrix", matrix showing the representation of the neural network, e.g. (2,4,6) for a network with two features, a hidden layer and six output neurons (original variables).} \item{hierarchic}{"list", the hierarchic design of the network, holds 'idx' (), 'var' () and layer (which layer is the principal component layer).} \item{fct}{"character", a vector naming the functions that will be applied on each layer. "linr" is linear (i.e.) standard matrix products and "tanh" means that the arcus tangens is applied on the result of the matrix product (for non-linearity).} \item{fkt}{"character", same as fct but the functions used during back propagation.} \item{weightDecay}{"numeric", the value that is used to incrementally decrease the weight changes to ensure convergence.} \item{featureSorting}{"logical", indicates if features will be sorted or not. This is used to make the NLPCA assume properties closer to those of standard PCA were the first component is more important for reconstructing the data than the second component.} \item{dataDist}{"matrix", a matrix of ones and zeroes indicating which values will add to the errror.} \item{inverse}{"logical", network is inverse mode (currently only inverse is supported) or not. Eg. the case when we have truly missing values and wish to impute them.} \item{fCount}{"integer", Counter for the amount of times features were really sorted.} \item{componentLayer}{"numeric", the index of 'net' that is the component layer.} \item{error}{"function", the used error function. Currently only one is provided \code{errorHierarchic}.} \item{gradient}{"function", the used gradient function. Currently only one is provided \code{derrorHierarchic}} \item{weights}{"list", A list holding managements of the weights. The list has two functions, weights$current() and weights$set() which access a matrix in the local environment of this object.} \item{maxIter}{"integer", the amount of iterations used to train this network.} \item{scalingFactor}{"numeric", training the network is best made with 'small' values so the original data is scaled down to a suitable range by division with this number.}} Methods \describe{ \item{vector2matrices}{Returns the weights in a matrix representation.} } } \seealso{ \code{\link{nlpca}} } \author{ Henning Redestig } \keyword{classes} pcaMethods/man/pcaRes.Rd0000644000175200017520000000577214516003735016161 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/AllClasses.R \docType{class} \name{pcaRes} \alias{pcaRes} \alias{pcaRes-class} \title{Class for representing a PCA result} \description{ This is a class representation of a PCA result } \details{ \bold{Creating Objects}\cr \code{new("pcaRes", scores=[the scores], loadings=[the loadings], nPcs=[amount of PCs], R2cum=[cumulative R2], nObs=[amount of observations], nVar=[amount of variables], R2=[R2 for each individual PC], sDev=[stdev for each individual PC], centered=[was data centered], center=[original means], varLimit=[what variance limit was exceeded], method=[method used to calculate PCA], missing=[amount of NAs], completeObs=[estimated complete observations])} \bold{Slots}\cr \describe{ \item{scores}{"matrix", the calculated scores} \item{loadings}{"matrix", the calculated loadings} \item{R2cum}{"numeric", the cumulative R2 values} \item{sDev}{"numeric", the individual standard deviations of the score vectors} \item{R2}{"numeric", the individual R2 values} \item{cvstat}{"numeric", cross-validation statistics} \item{nObs}{"numeric", number of observations} \item{nVar}{"numeric", number of variables} \item{centered}{"logical", data was centered or not} \item{center}{"numeric", the original variable centers} \item{scaled}{"logical", data was scaled or not} \item{scl}{"numeric", the original variable scales} \item{varLimit}{"numeric", the exceeded variance limit} \item{nPcs,nP}{"numeric", the number of calculated PCs} \item{method}{"character", the method used to perform PCA} \item{missing}{"numeric", the total amount of missing values in original data} \item{completeObs}{"matrix", the estimated complete observations} \item{network}{"nlpcaNet", the network used by non-linear PCA} } \bold{Methods (not necessarily exhaustive)}\cr \describe{ \item{print}{Print function} \item{summary}{Extract information about PC relevance} \item{screeplot}{Plot a barplot of standard deviations for PCs} \item{slplot}{Make a side by side score and loadings plot} \item{nPcs}{Get the number of PCs} \item{nObs}{Get the number of observations} \item{cvstat}{Cross-validation statistics} \item{nVar}{Get the number of variables} \item{loadings}{Get the loadings} \item{scores}{Get the scores} \item{dim}{Get the dimensions (number of observations, number of features)} \item{centered}{Get a logical indicating if centering was done as part of the model} \item{center}{Get the averages of the original variables.} \item{completeObs}{Get the imputed data set} \item{method}{Get a string naming the used PCA method} \item{sDev}{Get the standard deviations of the PCs} \item{scaled}{Get a logical indicating if scaling was done as part of the model} \item{scl}{Get the scales of the original variablesb} \item{R2cum}{Get the cumulative R2} } } \author{ Henning Redestig } \keyword{classes} pcaMethods/man/plot.pcaRes.Rd0000644000175200017520000000237414516003735017131 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \name{plot.pcaRes} \alias{plot.pcaRes} \alias{plot,pcaRes-method} \title{Plot diagnostics (screeplot)} \usage{ \method{plot}{pcaRes}(x, y = NULL, main = deparse(substitute(object)), col = gray(c(0.9, 0.5)), ...) } \arguments{ \item{x}{\code{pcaRes} The pcaRes object.} \item{y}{not used} \item{main}{title of the plot} \item{col}{Colors of the bars} \item{...}{further arguments to barplot} } \value{ None, used for side effect. } \description{ Plot the computed diagnostics of PCA model to get an idea of their importance. Note though that the standard screeplot shows the standard deviations for the PCs this method shows the R2 values which empirically shows the importance of the P's and is thus applicable for any PCA method rather than just SVD based PCA. } \details{ If cross-validation was done for the PCA the plot will also show the CV based statistics. A common rule-of-thumb for determining the optimal number of PCs is the PC where the CV diagnostic is at its maximum but not very far from \eqn{R^2}. } \examples{ data(metaboliteData) pc <- pca(t(metaboliteData), nPcs=5, cv="q2", scale="uv") plot(pc) } \seealso{ \link{screeplot} } \author{ Henning Redestig } pcaMethods/man/plotPcs.Rd0000644000175200017520000000246214516003735016361 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pca.R \name{plotPcs} \alias{plotPcs} \title{Plot many side by side scores XOR loadings plots} \usage{ plotPcs(object, pcs = 1:nP(object), type = c("scores", "loadings"), sl = NULL, hotelling = 0.95, ...) } \arguments{ \item{object}{\code{pcaRes} a pcaRes object} \item{pcs}{\code{numeric} which pcs to plot} \item{type}{\code{character} Either "scores" or "loadings" for scores or loadings plot respectively} \item{sl}{\code{character} Text labels to plot instead of a point, if NULL points are plotted instead of text} \item{hotelling}{\code{numeric} Significance level for the confidence ellipse. NULL means that no ellipse is drawn.} \item{...}{Further arguments to \code{\link{pairs}} on which this function is based.} } \value{ None, used for side effect. } \description{ A function that can be used to visualise many PCs plotted against each other } \details{ Uses \code{\link{pairs}} to provide side-by-side plots. Note that this function only plots scores or loadings but not both in the same plot. } \examples{ data(iris) pcIr <- pca(iris[,1:4], nPcs=3, method="svd") plotPcs(pcIr, col=as.integer(iris[,4]) + 1) } \seealso{ \code{prcomp}, \code{pca}, \code{princomp}, \code{slplot} } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/ppca.Rd0000644000175200017520000000727414516003735015666 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/ppca.R \name{ppca} \alias{ppca} \title{Probabilistic PCA} \usage{ ppca(Matrix, nPcs = 2, seed = NA, threshold = 1e-05, maxIterations = 1000, ...) } \arguments{ \item{Matrix}{\code{matrix} -- Data containing the variables in columns and observations in rows. The data may contain missing values, denoted as \code{NA}.} \item{nPcs}{\code{numeric} -- Number of components to estimate. The preciseness of the missing value estimation depends on the number of components, which should resemble the internal structure of the data.} \item{seed}{\code{numeric} Set the seed for the random number generator. PPCA creates fills the initial loading matrix with random numbers chosen from a normal distribution. Thus results may vary slightly. Set the seed for exact reproduction of your results.} \item{threshold}{Convergence threshold.} \item{maxIterations}{the maximum number of allowed iterations} \item{...}{Reserved for future use. Currently no further parameters are used.} } \value{ Standard PCA result object used by all PCA-based methods of this package. Contains scores, loadings, data mean and more. See \code{\link{pcaRes}} for details. } \description{ Implementation of probabilistic PCA (PPCA). PPCA allows to perform PCA on incomplete data and may be used for missing value estimation. This script was implemented after the Matlab version provided by Jakob Verbeek ( see \url{http://lear.inrialpes.fr/~verbeek/}) and the draft \emph{``EM Algorithms for PCA and Sensible PCA''} written by Sam Roweis. } \details{ Probabilistic PCA combines an EM approach for PCA with a probabilistic model. The EM approach is based on the assumption that the latent variables as well as the noise are normal distributed. In standard PCA data which is far from the training set but close to the principal subspace may have the same reconstruction error. PPCA defines a likelihood function such that the likelihood for data far from the training set is much lower, even if they are close to the principal subspace. This allows to improve the estimation accuracy. A method called \code{kEstimate} is provided to estimate the optimal number of components via cross validation. In general few components are sufficient for reasonable estimation accuracy. See also the package documentation for further discussion on what kind of data PCA-based missing value estimation is advisable. \bold{Complexity:}\cr Runtime is linear in the number of data, number of data dimensions and number of principal components. \bold{Convergence:} The threshold indicating convergence was changed from 1e-3 in 1.2.x to 1e-5 in the current version leading to more stable results. For reproducability you can set the seed (parameter seed) of the random number generator. If used for missing value estimation, results may be checked by simply running the algorithm several times with changing seed, if the estimated values show little variance the algorithm converged well. } \note{ Requires \code{MASS}. It is not recommended to use this function directely but rather to use the pca() wrapper function. } \examples{ ## Load a sample metabolite dataset with 5\\\% missing values (metaboliteData) data(metaboliteData) ## Perform probabilistic PCA using the 3 largest components result <- pca(t(metaboliteData), method="ppca", nPcs=3, seed=123) ## Get the estimated complete observations cObs <- completeObs(result) ## Plot the scores plotPcs(result, type = "scores") \dontshow{ stopifnot(sum((fitted(result) - t(metaboliteData))^2, na.rm=TRUE) < 200) } } \seealso{ \code{\link{bpca}, \link{svdImpute}, \link{prcomp}, \link{nipalsPca}, \link{pca}, \link{pcaRes}}. } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/predict-methods.Rd0000644000175200017520000000335314516003735020030 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{predict-methods} \alias{predict-methods} \alias{predict.pcaRes} \alias{predict,pcaRes-method} \title{Predict values from PCA.} \usage{ \method{predict}{pcaRes}(object, newdata, pcs = nP(object), pre = TRUE, post = TRUE, ...) \S4method{predict}{pcaRes}(object, newdata, pcs = nP(object), pre = TRUE, post = TRUE, ...) } \arguments{ \item{object}{\code{pcaRes} the \code{pcaRes} object of interest.} \item{newdata}{\code{matrix} new data with same number of columns as the used to compute \code{object}.} \item{pcs}{\code{numeric} The number of PC's to consider} \item{pre}{pre-process \code{newdata} based on the pre-processing chosen for the PCA model} \item{post}{unpre-process the final data (add the center back etc)} \item{...}{Not passed on anywhere, included for S3 consistency.} } \value{ A list with the following components: \item{scores}{The predicted scores} \item{x}{The predicted data} } \description{ Predict data using PCA model } \details{ This function extracts the predict values from a pcaRes object for the PCA methods SVD, Nipals, PPCA and BPCA. Newdata is first centered if the PCA model was and then scores (\eqn{T}) and data (\eqn{X}) is 'predicted' according to : \eqn{\hat{T}=X_{new}P}{That=XnewP} \eqn{\hat{X}_{new}=\hat{T}P'}{Xhat=ThatP'}. Missing values are set to zero before matrix multiplication to achieve NIPALS like treatment of missing values. } \examples{ data(iris) hidden <- sample(nrow(iris), 50) pcIr <- pca(iris[-hidden,1:4]) pcFull <- pca(iris[,1:4]) irisHat <- predict(pcIr, iris[hidden,1:4]) cor(irisHat$scores[,1], scores(pcFull)[hidden,1]) } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/prep.Rd0000644000175200017520000000445614516003735015710 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/prep.R \name{prep} \alias{prep} \title{Pre-process a matrix for PCA} \usage{ prep(object, scale = c("none", "pareto", "vector", "uv"), center = TRUE, eps = 1e-12, simple = TRUE, reverse = FALSE, ...) } \arguments{ \item{object}{Numerical matrix (or an object coercible to such) with samples in rows and variables as columns. Also takes \code{ExpressionSet} in which case the transposed expression matrix is used.} \item{scale}{One of "UV" (unit variance \eqn{a=a/\sigma_{a}}) "vector" (vector normalisation \eqn{b=b/||b||}), "pareto" (sqrt UV) or "none" to indicate which scaling should be used to scale the matrix with \eqn{a} variables and \eqn{b} samples. Can also be a vector of scales which should be used to scale the matrix. \code{NULL} value is interpreted as \code{"none"}.} \item{center}{Either a logical which indicates if the matrix should be mean centred or not, or a vector with averages which should be suntracted from the matrix. \code{NULL} value is interpreted as \code{FALSE}} \item{eps}{Minimum variance, variable with lower variance are not scaled and warning is issued instead.} \item{simple}{Logical indicating if only the data should be returned or a list with the pre-processing statistics as well.} \item{reverse}{Logical indicating if matrix should be 'post-processed' instead by multiplying each column with its scale and adding the center. In this case, center and scale should be vectors with the statistics (no warning is issued if not, instead output becomes the same as input).} \item{...}{Only used for passing through arguments.} } \value{ A pre-processed matrix or a list with \item{center}{a vector with the estimated centers} \item{scale}{a vector with the estimated scales} \item{data}{the pre (or post) processed data} } \description{ Scaling and centering a matrix. } \details{ Does basically the same as \code{\link{scale}} but adds some alternative scaling options and functionality for treating pre-processing as part of a model. } \examples{ object <- matrix(rnorm(50), nrow=10) res <- prep(object, scale="uv", center=TRUE, simple=FALSE) obj <- prep(object, scale=res$scale, center=res$center) ## same as original sum((object - prep(obj, scale=res$scale, center=res$center, rev=TRUE))^2) } \author{ Henning Redestig } pcaMethods/man/rediduals-methods.Rd0000644000175200017520000000216514516003735020352 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{rediduals-methods} \alias{rediduals-methods} \alias{residuals.pcaRes} \alias{residuals,pcaRes-method} \alias{resid,pcaRes-method} \title{Residuals values from a PCA model.} \usage{ \method{residuals}{pcaRes}(object, data = completeObs(object), ...) \S4method{residuals}{pcaRes}(object, data = completeObs(object), ...) \S4method{resid}{pcaRes}(object, data = completeObs(object), ...) } \arguments{ \item{object}{\code{pcaRes} the \code{pcaRes} object of interest.} \item{data}{\code{matrix} The data that was used to calculate the PCA model (or a different dataset to e.g. adress its proximity to the model).} \item{...}{Passed on to \code{\link{predict.pcaRes}}. E.g. setting the number of used components.} } \value{ A \code{matrix} with the residuals } \description{ This function extracts the residuals values from a pcaRes object for the PCA methods SVD, Nipals, PPCA and BPCA } \examples{ data(iris) pcIr <- pca(iris[,1:4]) head(residuals(pcIr, iris[,1:4])) } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/repmat.Rd0000644000175200017520000000077314516003735016230 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/repmat.R \name{repmat} \alias{repmat} \title{Replicate and tile an array.} \usage{ repmat(mat, M, N) } \arguments{ \item{mat}{numeric matrix} \item{M}{number of copies in vertical direction} \item{N}{number of copies in horizontal direction} } \value{ Matrix consiting of M-by-N tiling copies of input matrix } \description{ Creates a large matrix B consisting of an M-by-N tiling of copies of A } \author{ Wolfram Stacklies } pcaMethods/man/robustPca.Rd0000644000175200017520000000632014516003735016674 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/robustPca.R \name{robustPca} \alias{robustPca} \title{PCA implementation based on robustSvd} \usage{ robustPca(Matrix, nPcs = 2, verbose = interactive(), ...) } \arguments{ \item{Matrix}{\code{matrix} -- Data containing the variables in columns and observations in rows. The data may contain missing values, denoted as \code{NA}.} \item{nPcs}{\code{numeric} -- Number of components to estimate. The preciseness of the missing value estimation depends on the number of components, which should resemble the internal structure of the data.} \item{verbose}{\code{boolean} Print some output to the command line if TRUE} \item{...}{Reserved for future use. Currently no further parameters are used} } \value{ Standard PCA result object used by all PCA-based methods of this package. Contains scores, loadings, data mean and more. See \code{\link{pcaRes}} for details. are used. } \description{ This is a PCA implementation robust to outliers in a data set. It can also handle missing values, it is however NOT intended to be used for missing value estimation. As it is based on robustSVD we will get an accurate estimation for the loadings also for incomplete data or for data with outliers. The returned scores are, however, affected by the outliers as they are calculated inputData X loadings. This also implies that you should look at the returned R2/R2cum values with caution. If the data show missing values, scores are caluclated by just setting all NA - values to zero. This is not expected to produce accurate results. Please have also a look at the manual page for \code{robustSvd}. Thus this method should mainly be seen as an attempt to integrate \code{robustSvd()} into the framework of this package. Use one of the other methods coming with this package (like PPCA or BPCA) if you want to do missing value estimation. It is not recommended to use this function directely but rather to use the pca() wrapper function. } \details{ The method is very similar to the standard \code{prcomp()} function. The main difference is that \code{robustSvd()} is used instead of the conventional \code{svd()} method. } \examples{ ## Load a complete sample metabolite data set and mean center the data data(metaboliteDataComplete) mdc <- scale(metaboliteDataComplete, center=TRUE, scale=FALSE) ## Now create 5\\\% of outliers. cond <- runif(length(mdc)) < 0.05; mdcOut <- mdc mdcOut[cond] <- 10 ## Now we do a conventional PCA and robustPca on the original and the data ## with outliers. ## We use center=FALSE here because the large artificial outliers would ## affect the means and not allow to objectively compare the results. resSvd <- pca(mdc, method="svd", nPcs=10, center=FALSE) resSvdOut <- pca(mdcOut, method="svd", nPcs=10, center=FALSE) resRobPca <- pca(mdcOut, method="robustPca", nPcs=10, center=FALSE) ## Now we plot the results for the original data against those with outliers ## We can see that robustPca is hardly effected by the outliers. plot(loadings(resSvd)[,1], loadings(resSvdOut)[,1]) plot(loadings(resSvd)[,1], loadings(resRobPca)[,1]) } \seealso{ \code{\link{robustSvd}, \link{svd}, \link{prcomp}, \link{pcaRes}}. } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/robustSvd.Rd0000644000175200017520000000620414516003735016726 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/robustPca.R \name{robustSvd} \alias{robustSvd} \title{Alternating L1 Singular Value Decomposition} \usage{ robustSvd(x) } \arguments{ \item{x}{A matrix whose SVD decomposition is to be computed. Missing values are allowed.} } \value{ The robust SVD of the matrix is x=u d v'. \item{d}{A vector containing the singular values of \code{x}.} \item{u}{A matrix whose columns are the left singular vectors of \code{x}.} \item{v}{A matrix whose columns are the right singular vectors of \code{x}.} } \description{ A robust approximation to the singular value decomposition of a rectangular matrix is computed using an alternating L1 norm (instead of the more usual least squares L2 norm). As the SVD is a least-squares procedure, it is highly susceptible to outliers and in the extreme case, an individual cell (if sufficiently outlying) can draw even the leading principal component toward itself. } \details{ See Hawkins et al (2001) for details on the robust SVD algorithm. Briefly, the idea is to sequentially estimate the left and right eigenvectors using an L1 (absolute value) norm minimization. Note that the robust SVD is able to accomodate missing values in the matrix \code{x}, unlike the usual \code{svd} function. Also note that the eigenvectors returned by the robust SVD algorithm are NOT (in general) orthogonal and the eigenvalues need not be descending in order. } \note{ Two differences from the usual SVD may be noted. One relates to orthogonality. In the conventional SVD, all the eigenvectors are orthogonal even if not explicitly imposed. Those returned by the AL1 algorithm (used here) are (in general) not orthogonal. Another difference is that, in the L2 analysis of the conventional SVD, the successive eigen triples (eigenvalue, left eigenvector, right eigenvector) are found in descending order of eigenvalue. This is not necessarily the case with the AL1 algorithm. Hawkins et al (2001) note that a larger eigen value may follow a smaller one. } \examples{ ## Load a complete sample metabolite data set and mean center the data data(metaboliteDataComplete) mdc <- prep(metaboliteDataComplete, center=TRUE, scale="none") ## Now create 5\% of outliers. cond <- runif(length(mdc)) < 0.05; mdcOut <- mdc mdcOut[cond] <- 10 ## Now we do a conventional SVD and a robustSvd on both, the original and the ## data with outliers. resSvd <- svd(mdc) resSvdOut <- svd(mdcOut) resRobSvd <- robustSvd(mdc) resRobSvdOut <- robustSvd(mdcOut) ## Now we plot the results for the original data against those with outliers ## We can see that robustSvd is hardly affected by the outliers. plot(resSvd$v[,1], resSvdOut$v[,1]) plot(resRobSvd$v[,1], resRobSvdOut$v[,1]) } \references{ Hawkins, Douglas M, Li Liu, and S Stanley Young (2001) Robust Singular Value Decomposition, National Institute of Statistical Sciences, Technical Report Number 122. \url{http://www.niss.org/technicalreports/tr122.pdf} } \seealso{ \code{\link{svd}}, \code{\link[ade4:nipals]{nipals}} for an alternating L2 norm method that also accommodates missing data. } \author{ Kevin Wright, modifications by Wolfram Stacklies } \keyword{algebra} pcaMethods/man/sDev-pcaRes-method.Rd0000644000175200017520000000077314516003735020332 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{sDev,pcaRes-method} \alias{sDev,pcaRes-method} \alias{sDev} \title{Get the standard deviations of the scores (indicates their relevance)} \usage{ sDev(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ Standard devations of the scores } \description{ Get the standard deviations of the scores (indicates their relevance) } \author{ Henning Redestig } pcaMethods/man/scaled-pcaRes-method.Rd0000644000175200017520000000072614516003735020662 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{scaled,pcaRes-method} \alias{scaled,pcaRes-method} \alias{scaled} \title{Check if scaling was part of the PCA model} \usage{ scaled(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ TRUE if scaling was part of the PCA model } \description{ Check if scaling was part of the PCA model } \author{ Henning Redestig } pcaMethods/man/scl-pcaRes-method.Rd0000644000175200017520000000101014516003735020173 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{scl,pcaRes-method} \alias{scl,pcaRes-method} \alias{scl} \title{Get the scales (e.g. standard deviations) of the original variables} \usage{ scl(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ Vector with the scales } \description{ Get the scales (e.g. standard deviations) of the original variables } \seealso{ \code{\link{prep}} } \author{ Henning Redestig } pcaMethods/man/scores-pcaRes-method.Rd0000644000175200017520000000075214516003735020724 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{scores,pcaRes-method} \alias{scores,pcaRes-method} \alias{scores} \title{Get scores from a pcaRes object} \usage{ \S4method{scores}{pcaRes}(object, ...) } \arguments{ \item{object}{a pcaRes object} \item{...}{not used} } \value{ The scores as a matrix } \description{ Get scores from a pcaRes object } \seealso{ \code{\link{scores.pcaRes}} } \author{ Henning Redestig } pcaMethods/man/scores.pcaRes.Rd0000644000175200017520000000062114516003735017442 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \name{scores.pcaRes} \alias{scores.pcaRes} \title{Get scores from a pcaRes object} \usage{ \method{scores}{pcaRes}(object, ...) } \arguments{ \item{object}{a pcaRes object} \item{...}{not used} } \value{ The scores as a matrix } \description{ Get scores from a pcaRes object } \author{ Henning Redestig } pcaMethods/man/show-methods.Rd0000644000175200017520000000122114516003735017346 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{show-methods} \alias{show-methods} \alias{showPcaRes} \alias{print,pcaRes-method} \alias{print,nniRes-method} \alias{show,pcaRes-method} \alias{show,nniRes-method} \title{Print/Show for pcaRes} \usage{ showPcaRes(x, ...) \S4method{print}{pcaRes}(x, ...) \S4method{show}{pcaRes}(object) } \arguments{ \item{x}{a pcaRes object} \item{...}{not used} \item{object}{the object to print information about} } \value{ nothing, used for its side effect } \description{ Print basic information about pcaRes object } \author{ Henning Redestig } pcaMethods/man/showNniRes.Rd0000644000175200017520000000060214516003735017026 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-nniRes.R \name{showNniRes} \alias{showNniRes} \title{Print a nniRes model} \usage{ showNniRes(x, ...) } \arguments{ \item{x}{An \code{nniRes} object} \item{...}{Not used} } \value{ Nothing, used for side-effect } \description{ Print a brief description of nniRes model } \author{ Henning Redestig } pcaMethods/man/simpleEllipse.Rd0000644000175200017520000000156314516003735017545 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pca.R \name{simpleEllipse} \alias{simpleEllipse} \title{Hotelling's T^2 Ellipse} \usage{ simpleEllipse(x, y, alfa = 0.95, len = 200) } \arguments{ \item{x}{first variable} \item{y}{second variable} \item{alfa}{confidence level of the circle} \item{len}{Number of points in the circle} } \value{ A matrix with X and Y coordinates for the circle } \description{ Get a confidence ellipse for uncorrelated bivariate data } \details{ As described in 'Introduction to multi and megavariate data analysis using PCA and PLS' by Eriksson et al. This produces very similar ellipse as compared to the ellipse function the ellipse package except that this function assumes that and y are uncorrelated (which they of are if they are scores or loadings from a PCA). } \seealso{ ellipse } \author{ Henning Redestig } pcaMethods/man/slplot-pcaRes-method.Rd0000644000175200017520000000340614516003735020742 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{slplot,pcaRes-method} \alias{slplot,pcaRes-method} \alias{slplot} \title{Side by side scores and loadings plot} \usage{ slplot(object, pcs=c(1,2), scoresLoadings=c(TRUE, TRUE), sl="def", ll="def", hotelling=0.95, rug=TRUE, sub=NULL,...) } \arguments{ \item{object}{a pcaRes object} \item{pcs}{which two pcs to plot} \item{scoresLoadings}{Which should be shown scores and or loadings} \item{sl}{labels to plot in the scores plot} \item{ll}{labels to plot in the loadings plot} \item{hotelling}{confidence interval for ellipse in the score plot} \item{rug}{logical, rug x axis in score plot or not} \item{sub}{Subtitle, defaults to annotate with amount of explained variance.} \item{...}{Further arguments to plot functions. Prefix arguments to \code{par()} with 's' for the scores plot and 'l' for the loadings plot. I.e. cex become scex for setting character expansion in the score plot and lcex for the loadings plot.} } \value{ None, used for side effect. } \description{ A common way of visualizing two principal components } \details{ This method is meant to be used as a quick way to visualize results, if you want a more specific plot you probably want to get the scores, loadings with \code{scores(object)}, \code{loadings(object)} and then design your own plotting method. } \note{ Uses layout instead of par to provide side-by-side so it works with Sweave (but can not be combined with \code{par(mfrow=..))} } \examples{ data(iris) pcIr <- pca(iris[,1:4], scale="uv") slplot(pcIr, sl=NULL, spch=5) slplot(pcIr, sl=NULL, lcex=1.3, scol=as.integer(iris[,5])) } \seealso{ \code{\link{pca}}, \code{\link{biplot}} } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/sortFeatures.Rd0000644000175200017520000000070514516003735017421 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/sortFeatures.R \name{sortFeatures} \alias{sortFeatures} \title{Sort the features of NLPCA object} \usage{ sortFeatures(nlnet, trainIn, trainOut) } \arguments{ \item{nlnet}{The nlnet} \item{trainIn}{Training data in} \item{trainOut}{Training data after it passed through the net} } \value{ ... } \description{ Sort the features of NLPCA object } \author{ Henning Redestig } pcaMethods/man/summary.Rd0000644000175200017520000000070214516003735016425 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \name{summary} \alias{summary} \alias{summary.pcaRes} \alias{summary,pcaRes-method} \title{Summary of PCA model} \usage{ \method{summary}{pcaRes}(object, ...) } \arguments{ \item{object}{a pcaRes object} \item{...}{Not used} } \value{ Nothing, used for side-effect } \description{ Print a brief description of the PCA model } \author{ Henning Redestig } pcaMethods/man/svdImpute.Rd0000644000175200017520000000602414516003735016713 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/svdImpute.R \name{svdImpute} \alias{svdImpute} \title{SVDimpute algorithm} \usage{ svdImpute(Matrix, nPcs = 2, threshold = 0.01, maxSteps = 100, verbose = interactive(), ...) } \arguments{ \item{Matrix}{\code{matrix} -- Pre-processed (centered, scaled) data with variables in columns and observations in rows. The data may contain missing values, denoted as \code{NA}.} \item{nPcs}{\code{numeric} -- Number of components to estimate. The preciseness of the missing value estimation depends on the number of components, which should resemble the internal structure of the data.} \item{threshold}{The iteration stops if the change in the matrix falls below this threshold.} \item{maxSteps}{Maximum number of iteration steps.} \item{verbose}{Print some output if TRUE.} \item{...}{Reserved for parameters used in future version of the algorithm} } \value{ Standard PCA result object used by all PCA-based methods of this package. Contains scores, loadings, data mean and more. See \code{\link{pcaRes}} for details. } \description{ This implements the SVDimpute algorithm as proposed by Troyanskaya et al, 2001. The idea behind the algorithm is to estimate the missing values as a linear combination of the \code{k} most significant eigengenes. } \details{ Missing values are denoted as \code{NA}. It is not recommended to use this function directely but rather to use the pca() wrapper function. As SVD can only be performed on complete matrices, all missing values are initially replaced by 0 (what is in fact the mean on centred data). The algorithm works iteratively until the change in the estimated solution falls below a certain threshold. Each step the eigengenes of the current estimate are calculated and used to determine a new estimate. Eigengenes denote the loadings if pca is performed considering variable (for Microarray data genes) as observations. An optimal linear combination is found by regressing the incomplete variable against the \code{k} most significant eigengenes. If the value at position \code{j} is missing, the \eqn{j^th}{j^th} value of the eigengenes is not used when determining the regression coefficients. } \note{ Each iteration, standard PCA (\code{prcomp}) needs to be done for each incomplete variable to get the eigengenes. This is usually fast for small data sets, but complexity may rise if the data sets become very large. } \examples{ ## Load a sample metabolite dataset with 5\\\% missing values data(metaboliteData) ## Perform svdImpute using the 3 largest components result <- pca(metaboliteData, method="svdImpute", nPcs=3, center = TRUE) ## Get the estimated complete observations cObs <- completeObs(result) ## Now plot the scores plotPcs(result, type = "scores") } \references{ Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and Hastie T. and Tibshirani R. and Botstein D. and Altman RB. - Missing value estimation methods for DNA microarrays. \emph{Bioinformatics. 2001 Jun;17(6):520-5.} } \author{ Wolfram Stacklies } \keyword{multivariate} pcaMethods/man/svdPca.Rd0000644000175200017520000000260514516003735016154 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/pca.R \name{svdPca} \alias{svdPca} \title{Perform principal component analysis using singular value decomposition} \usage{ svdPca(Matrix, nPcs = 2, varLimit = 1, verbose = interactive(), ...) } \arguments{ \item{Matrix}{Pre-processed (centered and possibly scaled) numerical matrix samples in rows and variables as columns. No missing values allowed.} \item{nPcs}{Number of components that should be extracted.} \item{varLimit}{Optionally the ratio of variance that should be explained. \code{nPcs} is ignored if varLimit < 1} \item{verbose}{Verbose complaints to matrix structure} \item{...}{Only used for passing through arguments.} } \value{ A \code{pcaRes} object. } \description{ A wrapper function for \code{prcomp} to deliver the result as a \code{pcaRes} method. Supplied for compatibility with the rest of the pcaMethods package. It is not recommended to use this function directely but rather to use the \code{pca()} wrapper function. } \examples{ data(metaboliteDataComplete) mat <- prep(t(metaboliteDataComplete)) pc <- svdPca(mat, nPcs=2) ## better use pca() pc <- pca(t(metaboliteDataComplete), method="svd", nPcs=2) \dontshow{stopifnot(sum((fitted(pc) - t(metaboliteDataComplete))^2, na.rm=TRUE) < 200)} } \seealso{ \code{prcomp}, \code{princomp}, \code{pca} } \author{ Henning Redestig } \keyword{multivariate} pcaMethods/man/tempFixNas.Rd0000644000175200017520000000063414516003735017012 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/xval.R \name{tempFixNas} \alias{tempFixNas} \title{Temporary fix for missing values} \usage{ tempFixNas(mat) } \arguments{ \item{mat}{a matrix} } \value{ The original matrix with completely missing rows/cols filled with zeroes. } \description{ Simply replace completely missing rows or cols with zeroes. } \author{ Henning Redestig } pcaMethods/man/vector2matrices-matrix-method.Rd0000644000175200017520000000100214516003735022616 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/vector2matrices.R \docType{methods} \name{vector2matrices,matrix-method} \alias{vector2matrices,matrix-method} \title{Tranform the vectors of weights to matrix structure} \usage{ \S4method{vector2matrices}{matrix}(object, net) } \arguments{ \item{object}{an nlpcaNet} \item{net}{the neural network} } \value{ weights in matrix structure } \description{ Tranform the vectors of weights to matrix structure } \author{ Henning Redestig } pcaMethods/man/vector2matrices-nlpcaNet-method.Rd0000644000175200017520000000074314516003735023071 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/vector2matrices.R \docType{methods} \name{vector2matrices,nlpcaNet-method} \alias{vector2matrices,nlpcaNet-method} \title{Tranform the vectors of weights to matrix structure} \usage{ \S4method{vector2matrices}{nlpcaNet}(object) } \arguments{ \item{object}{an nlpcaNet} } \value{ weights in matrix structure } \description{ Tranform the vectors of weights to matrix structure } \author{ Henning Redestig } pcaMethods/man/wasna-pcaRes-method.Rd0000644000175200017520000000144014516003735020532 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/methods-pcaRes.R \docType{methods} \name{wasna,pcaRes-method} \alias{wasna,pcaRes-method} \alias{wasna} \title{Get a matrix with indicating the elements that were missing in the input data. Convenient for estimating imputation performance.} \usage{ wasna(object, ...) } \arguments{ \item{object}{pcaRes object} \item{...}{Not used} } \value{ A matrix with logicals } \description{ Get a matrix with indicating the elements that were missing in the input data. Convenient for estimating imputation performance. } \examples{ data(metaboliteData) data(metaboliteDataComplete) result <- pca(metaboliteData, nPcs=2) plot(completeObs(result)[wasna(result)], metaboliteDataComplete[wasna(result)]) } \author{ Henning Redestig } pcaMethods/man/weightsAccount.Rd0000644000175200017520000000106014516003735017715 0ustar00biocbuildbiocbuild% Generated by roxygen2: do not edit by hand % Please edit documentation in R/AllClasses.R \name{weightsAccount} \alias{weightsAccount} \title{Create an object that holds the weights for nlpcaNet. Holds and sets weights in using an environment object.} \usage{ weightsAccount(w) } \arguments{ \item{w}{\code{matrix} -- New weights} } \value{ A weightsAccound with \code{set} and \code{current} functions. } \description{ Create an object that holds the weights for nlpcaNet. Holds and sets weights in using an environment object. } \author{ Henning Redestig } pcaMethods/src/0000755000175200017520000000000014516042207014453 5ustar00biocbuildbiocbuildpcaMethods/src/RcppExports.cpp0000644000175200017520000000102414516003735017450 0ustar00biocbuildbiocbuild#include using namespace Rcpp; // Nipals List Nipals(SEXP Mat, SEXP params); RcppExport SEXP pcaMethods_Nipals(SEXP MatSEXP, SEXP paramsSEXP) { BEGIN_RCPP SEXP __sexp_result; { Rcpp::RNGScope __rngScope; Rcpp::traits::input_parameter< SEXP >::type Mat(MatSEXP ); Rcpp::traits::input_parameter< SEXP >::type params(paramsSEXP ); List __result = Nipals(Mat, params); PROTECT(__sexp_result = Rcpp::wrap(__result)); } UNPROTECT(1); return __sexp_result; END_RCPP } pcaMethods/src/nipals.cpp0000644000175200017520000000731114516003735016452 0ustar00biocbuildbiocbuild#include #include #include using namespace std; using namespace Rcpp; double difference(vector& vec1, vector& vec2) { double diff = 0; double a; int len = vec1.size(); for(int i = 0; i < len; i++) { a = vec1[i] - vec2[i]; diff += a * a; } return(diff); } void norm(vector& vec) { double siz = 0; int len = vec.size(); for(int i = 0; i < len; i++) { siz += vec[i] * vec[i]; } siz = sqrt(siz); for(int i = 0; i < len; i++) { vec[i] = vec[i] / siz; } } // [[Rcpp::export]] List Nipals(SEXP Mat, SEXP params) { try{ bool cnt; int count = 0; double tsize; Rcpp::List rl = R_NilValue; Rcpp::List rparams(params); int maxSteps = Rcpp::as(rparams["maxSteps"]); double eps = Rcpp::as(rparams["threshold"]); int nPcs = Rcpp::as(rparams["nPcs"]); double varLimit = Rcpp::as(rparams["varLimit"]); Rcpp::NumericMatrix mat(Mat); Rcpp::NumericMatrix omat = Rcpp::clone( Mat ); int nr = mat.nrow(); int nc = mat.ncol(); Rcpp::NumericMatrix est_mat(nr, nc); Rcpp::NumericMatrix tt(nr, nPcs); Rcpp::NumericMatrix pp(nc, nPcs); vector r2cum; vector thold(nr); vector th(nr); vector phold(nc); vector ph(nc); double tss = 0; double sse = 0; int np = 0; double anotherPc = true; for (int r = 0; r < nr; r++) { for (int c = 0; c < nc; c++) { if(!ISNAN(mat(r,c))) { tss += mat(r,c) * mat(r,c); } } } while(anotherPc) { for(int r = 0; r < nr; r++) { th[r] = 0; if(!ISNAN(mat(r,0))) { th[r] = mat(r,0); } } cnt = true; count = 0; while(cnt) { count++; for(int c = 0; c < nc; c++) { ph[c] = 0; } tsize = 0; for(int r = 0; r < nr; r++) { tsize += th[r] * th[r]; } for(int r = 0; r < nr; r++) { double ti = th[r] / tsize; for(int c = 0; c < nc; c++) { if(!ISNAN(mat(r,c))) { ph[c] += mat(r,c) * ti; } } } norm(ph); thold = th; for(int r = 0; r < nr; r++) { th[r] = 0; for(int c = 0; c < nc; c++) { if(!ISNAN(mat(r,c))) { th[r] += mat(r,c) * ph[c]; } } } if(count > maxSteps) { throw 1; } if(difference(thold, th) <= eps) { cnt = false; } } //deflate mat sse = 0; double mathat = 0; double err = 0; for(int r = 0; r < nr; r++) { for(int c = 0; c < nc; c++) { if(!ISNAN(mat(r,c))) { mathat = th[r] * ph[c]; est_mat(r, c) += mathat; err = omat(r,c) - est_mat(r, c); sse += err * err; mat(r,c) -= mathat; } } } r2cum.push_back(1 - (sse / tss)); for(int r = 0; r < nr; r++) { tt(r,np) = th[r]; } for(int c = 0; c < nc; c++) { pp(c,np) = ph[c]; } if(fabs(varLimit - 1) > 1e-4) { if(r2cum[np] >= varLimit) { anotherPc = false; } } if (np + 1 >= nPcs){ anotherPc = false; } np++; } if(np != nPcs) { Rcpp::NumericMatrix ttt(nr, np); Rcpp::NumericMatrix ppp(nc, np); for(int r = 0; r < nr; r++) { for(int p = 0; p < np; p++) { ttt(r,p) = tt(r,p); } } for(int c = 0; c < nc; c++) { for(int p = 0; p < np; p++) { ppp(c,p) = pp(c,p); } } rl["scores"] = ttt; rl["loadings"] = ppp; } else { rl["scores"] = tt; rl["loadings"] = pp; } rl["R2cum"] = r2cum; return rl; }catch(int e) { if(e == 1) { ::Rf_error("Too many iterations, quitting"); }else { ::Rf_error("unknown error"); } } catch(std::exception& ex) { forward_exception_to_r(ex); } catch(...) { ::Rf_error("unknown error"); } return R_NilValue; } pcaMethods/vignettes/0000755000175200017520000000000014516042207015674 5ustar00biocbuildbiocbuildpcaMethods/vignettes/missingValues.Rnw0000644000175200017520000000565414516003735021232 0ustar00biocbuildbiocbuild\documentclass[a4paper]{article} %\VignetteIndexEntry{Missing value imputation} \usepackage{hyperref} \title{Imputing missing values using the pcaMethods package} \author{Wolfram Stacklies and Henning Redestig\\ CAS-MPG Partner Institute for Computational Biology (PICB)\\ Shanghai, P.R. China \\ and\\ Max Planck Institute for Molecular Plant Physiology\\ Potsdam, Germany\\ \url{http://bioinformatics.mpimp-golm.mpg.de/} } \date{\today} \begin{document} \setkeys{Gin}{width=1.0\textwidth} @ \maketitle \section{Missing value imputation} One application for missing value robust principal component analysis is that it effectively can be used to impute the missing values and thus obtain an estimated complete data set. The pcaMethods package was partly written with this application in mind. PCA is a way of creating a model of a matrix, $X$, by defining two parameter matrices, the scores, $T$, and the loadings, $P$, which together have less values than the original matrix but when multiplied with each other well reconstruct the original matrix. I.e.: $$X=1\times{}\bar{x} + TP' + E$$ where $E$ is the error matrix and $1\times{}\bar{x}$ denotes the original variable averages. Now if $X$ contains missing values but we still are able to get complete estimates of $P$ and $T$ than we can use: $$\hat{X}=1\times{}\bar{x} + TP'$$ as an estimate for $x_{i,j}$ if $x_{i,j}$ is missing. This is can be done as the following example illustrates. First we attach the metabolite data set with missing values. <>= library(pcaMethods) @ <<>>= data(metaboliteData) mD <- metaboliteData sum(is.na(mD)) @ Now we get the estimated data set by using PPCA and three principal components. <<>>= pc <- pca(mD, nPcs=3, method="ppca") imputed <- completeObs(pc) @ If we compare with the original values we see that the error is rather low. <<>>= data(metaboliteDataComplete) mdComp <- metaboliteDataComplete sum((mdComp[is.na(mD)] - imputed[is.na(mD)])^2) / sum(mdComp[is.na(mD)]^2) @ When using a different PCA algorithm, we get different performance. <<>>= imputedNipals <- completeObs(pca(mD, nPcs=3, method="nipals")) sum((mdComp[is.na(mD)] - imputedNipals[is.na(mD)])^2) / sum(mdComp[is.na(mD)]^2) @ If the data we are interested in was gene expression set of class 'ExpressionSet' we could simply do <<>>= library(Biobase) data(sample.ExpressionSet) exSet <- sample.ExpressionSet exSetNa <- exSet exprs(exSetNa)[sample(13000, 200)] <- NA lost <- is.na(exprs(exSetNa)) pc <- pca(exSetNa, nPcs=2, method="ppca") impExSet <- asExprSet(pc, exSetNa) sum((exprs(exSet)[lost] - exprs(impExSet)[lost])^2) / sum(exprs(exSet)[lost]^2) @ Different results will be obtained with different PCA algorithms. Which one to use depends on the general structure of the data set and the imputation performance can be estimated by cross-validation. Please see the 'introduction' vignette on further details on how to use the cross-validation capabilities of this package. \end{document} pcaMethods/vignettes/outliers.Rnw0000644000175200017520000001203114516003735020232 0ustar00biocbuildbiocbuild\documentclass[a4paper]{article} %\VignetteIndexEntry{Data with outliers} \usepackage{hyperref} \title{Handling of data containing outliers} \author{Wolfram Stacklies and Henning Redestig\\ CAS-MPG Partner Institute for Computational Biology (PICB)\\ Shanghai, P.R. China \\ and\\ Max Planck Institute for Molecular Plant Physiology\\ Potsdam, Germany\\ \url{http://bioinformatics.mpimp-golm.mpg.de/} } \date{\today} \begin{document} \setkeys{Gin}{width=1.0\textwidth} @ \maketitle \section{PCA robust to outliers} Away from often showing missing values, Microarray or Metabolite data are often corrupted with extreme values (outliers). Standard SVD is highly susceptible to outliers. In the extreme case, an individual data point, if sufficiently outlying, can draw even the leading principal component toward itself. This problem can be addressed by using a robust analysis method. Hereto we provide \texttt{robustSvd}, a singular value decomposition robust to outliers. \texttt{robustPca} is a PCA implementation that resembles the original \texttt{R} \texttt{prcomp} method, with the difference that it uses \texttt{robustSvd} instead of the standard \texttt{svd} function.\\ Robust SVD and its application to microarray data were proposed in \cite{hawkins01} and \cite{liu03}. The algorithm is based on the idea to use a sequential estimation of the eigenvalues and left and right eigenvectors that ignores missing values and is resistant to outliers. \\ The \texttt{robustSvd} script included here was contributed by Kevin Wright. Thanks a lot to him! \section{Outliers and missing value imputation} The problem of outliers is similar to the missing data problem in the sense that extreme values provide no or wrong information. They are generally artifacts of the experiment and provide no information about the underlying biological processes. \\ Most of the PCA methods coming with the package were not designed to be robust to outliers in the sense that they will converge to the standard PCA solution on a complete data set. Yet, an applicable solution is to remove obvious outliers from the data first (by setting them NA) and to then estimate the PCA solution on the incomplete data. This is likely to produce accurate results if the number of missing data does not exceed a certain amount, less than 10\% should be a good number. The following example illustrates the effect of outliers and the use of robust methods. First, we attach the complete metabolite data set and create 5\% outliers. We mean center the data before we create outliers because these large artificial outliers will strongly shift the original means. This would not allow for objective comparison between the differnt results obtained, e.g. when doing scatterplots. <>= library(pcaMethods) @ <<>>= data(metaboliteDataComplete) mdc <- scale(metaboliteDataComplete, center=TRUE, scale=FALSE) cond <- runif(length(mdc)) < 0.05 mdcOut <- mdc mdcOut[cond] <- 10 @ Then we calculate a PCA solution using standard SVD and robust SVD. <>= resSvd <- pca(mdc, method="svd", nPcs=5, center=FALSE) resSvdOut <- pca(mdcOut, method="svd", nPcs=5, center=FALSE) resRobSvd <- pca(mdcOut, method="robustPca", nPcs=5, center=FALSE) @ Now we use \texttt{PPCA} to estimate the PCA solution, but set the outliers NA before. <>= mdcNa <- mdc mdcNa[cond] <- NA resPPCA <- pca(mdcNa, method="ppca", nPcs=5, center=FALSE) @ To check the robustness to outliers we can just do a scatterplot comparing the results to the optimal PCA solution for the complete data set (which is \texttt{resSvd}). In Figure \ref{fig:svdPlot} we plot the estimated and original loadings against each other. \begin{figure}[!ht] \centering <>= par(mfrow=c(2,2)) plot(loadings(resSvd)[,1], loadings(resSvdOut)[,1], xlab="Loading 1 SVD", ylab="Loading 1 SVD with outliers") plot(loadings(resSvd)[,1], loadings(resRobSvd)[,1], xlab="Loading 1 SVD", ylab="Loading 1 robustSVD with outliers") plot(loadings(resSvd)[,1], loadings(resPPCA)[,1], xlab="Loading 1 SVD", ylab="Loading 1 PPCA with outliers=NA") plot(loadings(resRobSvd)[,1], loadings(resPPCA)[,1], xlab="Loading 1 robust SVD with outliers", ylab="Loading 1 svdImpute with outliers=NA") @ \caption{Figures show (from left to right): \newline Original PCA solution vs. solution on data with outliers; \newline Original PCA solution vs. robust PCA solution on data with outliers; \newline Original PCA solution vs. PPCA solution on data where outliers=NA; \newline Robust PCA solution vs. PPCA solution on data with outliers / outliers=NA. \label{fig:svdPlot} } \end{figure} \begin{thebibliography}{2006} \bibitem{hawkins01} Hawkins, D.M., Liu, L. and Young, S.S. {\sl Robust Singular Value Decomposition.} National Institute of Statistical Sciences, 2001, Tech Report 122. \bibitem{liu03} Liu, L., Hawkins, D.M., Ghosh, S. and Young, S.S. {\sl Robust singular value decomposition analysis of microarray data.} PNAS, 2003;100:13167--13172. \end{thebibliography} \end{document} pcaMethods/vignettes/pcaMethods.Rnw0000644000175200017520000005554214516003735020471 0ustar00biocbuildbiocbuild\documentclass[a4paper]{article} %\VignetteIndexEntry{Introduction} \usepackage{hyperref} \title{The pcaMethods Package} \author{Wolfram Stacklies and Henning Redestig\\ CAS-MPG Partner Institute for Computational Biology (PICB)\\ Shanghai, P.R. China \\ and\\ Max Planck Institute for Molecular Plant Physiology\\ Potsdam, Germany\\ \url{http://bioinformatics.mpimp-golm.mpg.de/} } \date{\today} \begin{document} \setkeys{Gin}{width=1.0\textwidth} @ \maketitle \section*{Overview} The \texttt{pcaMethods} package \cite{stacklies07} provides a set of different PCA implementations, together with tools for cross validation and visualisation of the results. The methods basically allow to perform PCA on incomplete data and thus may also be used for missing value estimation. When doing PCA one assumes that the data is restricted to a subspace of lower dimensionality, e.g. correlation patterns between jointly regulated genes. PCA aims to extract these structures thereby filtering noise out. If only the most significant loadings (eigenvectors, also referred to as principal components) are used for projection this can be written as: \begin{equation} X = 1\times{}\bar{x}^T + TP^T + V \end{equation} Where the term $1\times{}\bar{x}^T$ represents the original variable averages, $X$ denotes the observations, $T={t_1, t_2,\ldots,t_k}$ the latent variables or scores, $P={p_1, p_2,\ldots,p_k}$ the transformation matrix (consisting of the most significant eigenvectors of the covariance matrix) and $V$ are the residuals. Missing values may be estimated by projecting the scores back into the original space using $\hat{X} = 1\times{}\bar{x}^T + TP^T$. Optimally, this produces an estimate of the missing data based on the underlying correlation structure, thereby ignoring noise. This will only produce reasonable results if the residuals $V$ are sufficiently small, implying that most of the important information is captured by the first $k$ components. In order to calculate the transformation matrix $P$ one needs to determine the covariance matrix between variables or alternatively calculate $P$ directly via SVD. In both cases, this can only be done on complete matrices. However, an approximation may be obtained by use of different regression methods. The PCA methods provided in this package implement algorithms to accurately estimate the PCA solution on incomplete data. Although the focus of this package is clearly to provide a collection of PCA methods we also provide a cluster based method for missing value imputation. This allows to better rate and compare the results. \section{Algorithms} All methods return a common class called \texttt{pcaRes} as a container for the results. This guarantees maximum flexibility for the user. A wrapper function called \texttt{pca()} is provided that receives the desired type of pca as a string. \subsection*{svdPca} This is a wrapper function for $R's$ standard \texttt{prcomp} function. It delivers the results as a \texttt{pcaRes} object for compatibility with the rest of the package. \subsection*{svdImpute} This implements the SVDimpute algorithm as proposed by Troyanskaya et~al \cite{troyanskaya01}. The idea behind the algorithm is to estimate the missing values as a linear combination of the $k$ most significant eigengenes\footnote{The term ``eigengenes'' denotes the loadings when PCA was applied considering variables (here the genes) as observations.}. The algorithm works iteratively until the change in the estimated solution falls below a certain threshold. Each step the eigengenes of the current estimate are calculated and used to determine a new estimate. An optimal linear combination is found by regressing an incomplete variable against the $k$ most significant eigengenes. If the value at position $j$ is missing, the $j^{th}$ value of the eigengenes is not used when determining the regression coefficients.\\ SVDimpute seems to be tolerant to relatively high amount of missing data (> 10\%). \subsection*{Probabilistic PCA (ppca)} Probabilistic PCA combines an EM approach for PCA with a probabilistic model. The EM approach is based on the assumption that the latent variables as well as the noise are normal distributed. In standard PCA data which is far from the training set but close to the principal subspace may have the same reconstruction error, see Figure \ref{fig:pcaSubspace} for explanation. <>= library(pcaMethods) x <- c(-4,7); y <- c(-3,4) distX <- rnorm(100, sd=0.3)*3 distY <- rnorm(100, sd=0.3) + distX * 0.3 mat <- cbind(distX, distY) res <- pca(mat, nPcs=2, method="svd", center=F) loading <- loadings(res)[1,] grad <- loading[2] / loading[1] if (grad < 0) grad <- grad * -1 lx <- c(-4,7) ly <- c(grad * -4, grad * 7) @ \begin{figure} \centering <>= par(mar=c(2, 3, 2, 2)) plot(x,y, type="n", xlab="", ylab="") abline(v=0, col="dark gray", lwd = 2); abline(h=0, col = "dark gray", lwd = 2) points(distX, distY, type = 'p', col = "blue") lines(lx,ly, lwd = 2) points(-1, -1 * grad + 0.5, pch = 19, col = "red", lwd=4) points(6, 6 * grad + 0.5, pch = 19, col = "red", lwd=4) @ \caption{Normal distributed data with the first loading plotted in black. The two red points have the same reconstruction error because PCA does not define a density model. Thus the only measure of how well new data fits the model is the distance from the principal subspace. Data points far from the bulk of data but still close to the principal subspace will have a low reconstruction error. \label{fig:pcaSubspace}} \end{figure} PPCA defines a likelihood function such that the likelihood for data far from the training set is much lower, even if they are close to the principal subspace. This allows to improve the estimation accuracy.\\ PPCA is tolerant to amounts of missing values between 10\% to 15\%. If more data is missing the algorithm is likely not to converge to a reasonable solution. The method was implemented after the draft ``\texttt{EM Algorithms for PCA and Sensible PCA}'' written by Sam Roweis and after the Matlab \texttt{ppca} script implemented by \emph{Jakob Verbeek}\footnote{\url{http://lear.inrialpes.fr/~verbeek/}}. Please check also the PPCA help file. \subsection*{Bayesian PCA (bpca)} Similar to probabilistic PCA, Bayesian PCA uses an EM approach together with a Bayesian model to calculate the likelihood for a reconstructed value.\\ The algorithm seems to be tolerant to relatively high amounts of missing data (> 10\%). Scores and loadings obtained with Bayesian PCA slightly differ from those obtained with conventional PCA. This is because BPCA was developed especially for missing value estimation and is based on a variational Bayesian framework (VBF), with automatic relevance determination (ARD). In BPCA, ARD leads to a different scaling of the scores, loadings and eigenvalues when compared to standard PCA or PPCA. The algorithm does not force orthogonality between loadings. However, the authors of the BPCA paper found that including an orthogonality criterion made the predictions worse. They also state that the difference between ``real'' and predicted Eigenvalues becomes larger when the number of observation is smaller, because it reflects the lack of information to accurately determine true loadings from the limited and noisy data. As a result, weights of factors to predict missing values are not the same as with conventional PCA, but the missing value estimation is improved. BPCA was proposed by Oba et~al \cite{oba03}. The method available in this package is a port of the \texttt{bpca} Matlab script also provided by the authors\footnote{ \url{http://hawaii.aist-nara.ac.jp/\%7Eshige-o/tools/}}. \subsection*{Inverse non-linear PCA (NLPCA)} NLPCA \cite{scholz05} is especially suitable for data from experiments where the studied response is non-linear. Examples of such experiments are ubiquitous in biology -- enzyme kinetics are inherently non-linear as are gene expression responses influenced by the cell cycle or diurnal oscillations. NLPCA is based on training an auto-associative neural network composed of a component layer which serves as the ``bottle-neck'', a hidden non-linear layer and an output layer corresponding to the reconstructed data. The loadings can be seen as hidden in the network. Missing values in the training data are simply ignored when calculating the error during back-propagation. Thus NLPCA can be used to impute missing values in the same way as for conventional PCA. The only difference is that the loadings $P$ are now represented by a neural network.\\ A shortcoming of the current implementation is that there is no reasonable stop criterion. The quality of the estimated solution depends on the number of iterations. This should in most cases be somewhat between 500 and 1500. We recommend to use \texttt{kEstimate} or \texttt{kEstimateFast} to determine this parameter. \subsection*{Nipals PCA} Nipals (Nonlinear Estimation by Iterative Partial Least Squares) \cite{wold66} is an algorithm at the root of PLS regression which can execute PCA with missing values by simply leaving those out from the appropriate inner products. It is tolerant to small amounts (generally not more than 5\%) of missing data. \subsection{Local least squares (LLS) imputation} The package provides an algorithm called \texttt{llsImpute} for missing value estimation based on a linear combination of the $k$ nearest neighbours of an incomplete variable (in Microarray experiments normally a gene). The distance between variables is defined as the absolute value of the Pearson, Spearman or Kendall correlation coefficient. The optimal linear combination is found by solving a local least squares problem as described in \cite{kim05}. In tests performed in the cited paper the llsImpute algorithm is able to outperform knnImpute\cite{troyanskaya01} and competes well with BPCA. In the current implementation two slightly different ways for missing value estimation are provided. The first one is to restrict the neighbour searching to the subset of complete variables. This is preferable when the number of incomplete variables is relatively small. The second way is to consider all variables as candidates. Here, missing values are initially replaced by the columns wise mean. The method then iterates, using the current estimate as input for the LLS regression until the change between new and old estimate falls below a certain threshold (0.001). \section{Getting started} \paragraph{Installing the package.} To install the package first download the appropriate file for your platform from the Bioconductor website (\url{http://www.bioconductor.org/}). For Windows, start \texttt{R} and select the \texttt{Packages} menu, then \texttt{Install package from local zip file}. Find and highlight the location of the zip file and click on \texttt{open}. For Linux/Unix, use the usual command \texttt{R CMD INSTALL} or set the option \texttt{CRAN} to your nearest mirror site and use the command \texttt{install.packages} from within an \texttt{R} session. \paragraph{Loading the package:} To load the \texttt{pcaMethods} package in your \texttt{R} session, type \texttt{library(pcaMethods)}. \paragraph{Help files:} Detailed information on \texttt{pcaMethods} package functions can be obtained from the help files. For example, to get a description of \texttt{bpca} type \texttt{help("bpca")}. \paragraph{Sample data:} Two sample data sets are coming with the package. \texttt{metaboliteDataComplete} contains a complete subset from a larger metabolite data set. \texttt{metaboliteData} is the same data set but with 10 \% values removed from an equal distribution. \section{Some examples} <>= library(lattice) library(pcaMethods) @ To load the package and the two sample data sets type: <>= library(pcaMethods) data(metaboliteData) data(metaboliteDataComplete) @ Now centre the data <<>>= md <- prep(metaboliteData, scale="none", center=TRUE) mdC <- prep(metaboliteDataComplete, scale="none", center=TRUE) @ Run SVD pca, PPCA, BPCA, SVDimpute and nipalsPCA on the data, using the \texttt{pca()} wrapper function. The result is always a \texttt{pcaRes} object. <>= resPCA <- pca(mdC, method="svd", center=FALSE, nPcs=5) resPPCA <- pca(md, method="ppca", center=FALSE, nPcs=5) resBPCA <- pca(md, method="bpca", center=FALSE, nPcs=5) resSVDI <- pca(md, method="svdImpute", center=FALSE, nPcs=5) resNipals <- pca(md, method="nipals", center=FALSE, nPcs=5) resNLPCA <- pca(md, method="nlpca", center=FALSE, nPcs=5, maxSteps=300) @ Figure \ref{fig:eigenvalues} shows a plot of the eigenvalue structure (\texttt{sDev(pcaRes)}). If most of the variance is captured with few loadings PCA is likely to produce good missing value estimation results. For the sample data all methods show similar eigenvalues. One can also see that most of the variance is already captured by the first loading, thus estimation is likely to work fine on this data. For BPCA, the eigenvalues are scaled differently for reasons discussed above, see Figure \ref{fig:loadingBPCA}. The order of the loadings remains the same. \begin{figure} \centering <>= sDevs <- cbind(sDev(resPCA), sDev(resPPCA), sDev(resBPCA), sDev(resSVDI), sDev(resNipals), sDev(resNLPCA)) matplot(sDevs, type = 'l', xlab="Eigenvalues", ylab="Standard deviation of PC", lwd=3) legend(x="topright", legend=c("PCA", "PPCA", "BPCA", "SVDimpute","Nipals PCA","NLPCA"), lty=1:6, col=1:6, lwd=3) @ \caption{Eigenvalue structure as obtained with different methods\label{fig:eigenvalues}} \end{figure} To get an impression of the correctness of the estimation it is a good idea to plot the scores / loadings obtained with classical PCA and one of the probabilistic methods against each other. This of course requires a complete data set from which data is randomly removed. Figure \ref{fig:loadingBPCA} shows this for BPCA on the sample data. \begin{figure} \centering <>= par(mfrow=c(1,2)) plot(loadings(resBPCA)[,1], loadings(resPCA)[,1], xlab="BPCA", ylab="classic PCA", main = "Loading 1") plot(loadings(resBPCA)[,2], loadings(resPCA)[,2], xlab="BPCA", ylab="classic PCA", main = "Loading 2") @ \caption{Loading 1 and 2 calculated with BPCA plotted against those calculated with standard PCA. \label{fig:loadingBPCA}} \end{figure} \section{Cross validation} \texttt{Q2} is the goodness measure used for internal cross validation. This allows to estimate the level of structure in a data set and to optimise the choice of number of loadings. Cross validation is performed by removing random elements of the data matrix, then estimating these using the PCA algorithm of choice and then calculating $Q^2$ accordingly. At the moment, cross-validation can only be performed with algorithms that allow missing values (i.e. not SVD). Missing value independent cross-validation is scheduled for implementation in later versions. $Q^2$ is defined as following for the mean centered data (and possibly scaled) matrix $X$. $$\mathrm{SSX}=\sum (x_{ij})^2$$ $$\mathrm{PRESS}=\sum (x_{ij} - \hat{x}_{ij})^2$$ $$Q^2=1 - \mathrm{PRESS}/\mathrm{SSX}$$ The maximum value for $Q^2$ is thus 1 which means that all variance in $X$ is represented in the predictions; $X=\hat{X}$. <>= q2SVDI <- Q2(resSVDI, mdC, fold=10) q2PPCA <- Q2(resPPCA, mdC, fold=10) @ <>= # PPCA does not converge / misestimate a value in very rare cases. # This is a workaround to avoid that such a case will break the # diagram displayed in the vignette. # From the 2.0 release of bioconductor on, the convergence threshold # for PPCA was lowert to 1e-5, this should make the method much more # stable. So this workaround might be obsolete now... # [nope it is not, ppca is unstable] while( sum((abs(q2PPCA)) > 1) >= 1 ) { q2PPCA <- Q2(resPPCA, mdC, fold=10) } @ \begin{figure}[!ht] \centering <>= q2 <- data.frame(Q2=c(drop(q2PPCA), drop(q2SVDI)), method=c("PPCA", "SVD-Impute")[gl(2, 5)], PC=rep(1:5, 2)) print(xyplot(Q2~PC|method, q2, ylab=expression(Q^2), type="h", lwd=4)) @ \caption{Boxplot of the \texttt{Q2} results for BPCA, Nipals PCA, SVDimpute and PPCA. PPCA and SVDimpute both deliver better results than BPCA and Nipals in this example.\label{fig:Q2}} \end{figure} The second method called \texttt{kEstimate} uses cross validation to estimate the optimal number of loadings for missing value estimation. The \texttt{NRMSEP} (normalised root mean square error of prediction) \cite{feten05} or Q2 can be used to define the average error of prediction. The NRMSEP normalises the square difference between real and estimated values for a certain variable by the variance within this variable. The idea behind this normalisation is that the error of prediction will automatically be higher if the variance is higher. The \texttt{NRMSEP} for mean imputation is $\sqrt{\frac{nObs}{nObs - 1}}$ when cross validation is used, where $nObs$ is the number of observations. The exact definition is: \begin{equation} NRMSEP_k = \sqrt{\frac{1}{g} \sum_{j \in G} \frac{\sum_{i \in O_j} (x_{ij} - \hat{x}_{ijk})^2}{o_j s_{x_j}^2}} \end{equation} where $s^2_{x_j} = \sum_{i=1}^n (x_{ij} - \overline{x}_j)^2 / (n - 1)$, this is the variance within a certain variable. Further, $G$ denotes the set of incomplete variables, $g$ is the number of incomplete varialbes. $O_j$ is the set of missing observations in variable $j$ and $o_j$ is the number of missing observations in variable $j$. $\hat{x}_{ijk}$ stands for the estimate of value $i$ of variable $j$ using $k$ loadings. See Figure \ref{fig:kEstimate} for an example. The NRMSEP should be the error measure of choice. But if the number of observations is small, the variance within a certain variable may become and unstable criterion. If so or if variance scaling was applied we recommend to use Q2 instead. <>= errEsti <- kEstimate(md, method = "ppca", evalPcs=1:5, nruncv=1, em="nrmsep") @ \begin{figure}[!ht] \centering \begin{minipage}[c]{0.6\textwidth} \centering <>= barplot(drop(errEsti$eError), xlab="Loadings", ylab="NRMSEP (Single iteration)") @ \end{minipage} \begin{minipage}[c]{0.3\textwidth} \caption{Boxplot showing the \texttt{NRMSEP} versus the number of loadings. In this example only 1 iteration of the whole cross validation were performed. It is normally advisable to do more than just one iteration. \label{fig:kEstimate}} \end{minipage} \end{figure} \texttt{kEstimate} also provides information about the estimation error for individual variables. The $Q^2$ distance or the NRMSEP are calculated separately for each variable. See the manpage for \texttt{kEstimate} and \texttt{kEstimateFast} for details. Plotting the variable - wise results gives information about for which variables missing value estimation makes sense, and for which no imputation or mean imputation is preferable, see Figure \ref{fig:variableWiseError}. If you are not interested in variable - wise information we recommend to use the faster \texttt{kEstimateFast} instead. \begin{figure}[!ht] \centering \begin{minipage}[c]{0.6\textwidth} \centering <>= barplot(drop(errEsti$variableWiseError[, which(errEsti$evalPcs == errEsti$bestNPcs)]), xlab="Incomplete variable Index", ylab="NRMSEP") @ \end{minipage} \begin{minipage}[c]{0.3\textwidth} \caption{Boxplot showing the \texttt{NRMSEP} for all incomplete variables in the data set. For the first 7 variables missing value imputation does not seem to make too much sense. \label{fig:variableWiseError}} \end{minipage} \end{figure} \newpage \section{Visualisation of the results} \subsection{Quick scores and loadings plot} Some methods for display of scores and loadings are also provided. The function \texttt{slplot()} aims to be a simple way to quickly visualise scores and loadings in an intuitive way, see Figure \ref{fig:slplot}. Barplots are provided when plotting only one PC and colours can be specified differently for the scores and loadings plots. For a more specific scatter plot it is however recommended to access scores and loadings slots and define own plot functions. \begin{figure}[!h] \centering <>= slplot(resPCA) @ \caption{\texttt{slplot} for scores and loadings obtained with classical SVD based PCA. \label{fig:slplot}} \end{figure} \noindent Another method called \texttt{plotPcs()} allows to visualise many PCs plotted against each other, see Figure \ref{fig:plotPcs}. \begin{figure}[!ht] \centering <>= plotPcs(resPPCA, pc=1:3, type="score") @ \caption{A plot of score 1:3 for PPCA created with \texttt{plotPcs()} \label{fig:plotPcs}} \end{figure} \subsection{Using ggplot2} For using ggplot, the scores and loadings should best be added to a data frame that add other relevant descriptive factors. For example, after doing PCA on the Iris dataset, we may add the scores back to the original data frame and use ggplot to visualise, see Figure \ref{fig:ggplot}. \begin{figure}[!ht] \centering <>= pc <- pca(iris) irdf <- merge(iris, scores(pc), by=0) library(ggplot2) ggplot(irdf, aes(PC1, PC2, colour=Species)) + geom_point() + stat_ellipse() @ \caption{Score plot using ggplot2} \label{fig:ggplot} \end{figure} \cleardoublepage \begin{thebibliography}{2006} \bibitem{stacklies07} Stacklies W., Redestig H., Scholz M., and Walther D., and Selbig J. {\sl pcaMethods -- a Bioconductor package providing PCA methods for incomplete data} Bioinformatics. 2007, 23, 1164-1167. {\sl Non-linear PCA: a missing data approach.} Bioinformatics. 2005, 21, 3887-3895. \bibitem{scholz05} Scholz, M. , Kaplan, F., Guy, C.L., Kopka, J. and Selbig, J. {\sl Non-linear pca: a missing data approach.} Bioinformatics. 2005, 21, 3887-3895. \bibitem{troyanskaya01} Troyanskaya O. and Cantor M. and Sherlock G. and Brown P. and Hastie T. and Tibshirani R. and Botstein D. and Altman RB. {\sl Missing value estimation methods for DNA microarrays.} Bioinformatics. 2001 Jun;17(6):520-525. \bibitem{feten05} Feten G. and Almoy T. and Aastveit A.H. {\sl Prediction of Missing Values in Microarray and Use of Mixed Models to Evaluate the Predictors.}, Stat. Appl. Genet. Mol. Biol. 2005;4(1):Article 10 \bibitem{oba03} Oba S. and Sato MA. and Takemasa I. and Monden M. and Matsubara K. and Ishii S. {\sl A Bayesian missing value estimation method for gene expression profile data.} Bioinformatics. 2003 Nov 1;19(16):2088-96. \bibitem{wold66} Wold H. {Estimation of principal components and related models by iterative least squares.} In Multivariate Analysis (Ed. P.R. Krishnaiah), Academic Press, NY, 391-420. \bibitem{kim05} Kim H. and Golub G.H. and Park H. {\sl Missing value estimation for DNA microarray gene expression data: local least squares imputation} Bioinformatics. 2005 21(2) :187-198 \end{thebibliography} \end{document}