[adegenet-commits] r887 - in pkg: R inst/doc inst/doc/figs man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun May 29 22:20:59 CEST 2011


Author: jombart
Date: 2011-05-29 22:20:56 +0200 (Sun, 29 May 2011)
New Revision: 887

Added:
   pkg/inst/doc/figs/dapc-006.pdf
   pkg/inst/doc/figs/dapc-010.pdf
   pkg/inst/doc/figs/dapc-011.pdf
   pkg/inst/doc/figs/dapc-012.pdf
   pkg/inst/doc/figs/dapc-013.pdf
   pkg/inst/doc/figs/dapc-015.pdf
   pkg/inst/doc/figs/dapc-016.pdf
   pkg/inst/doc/figs/dapc-018.pdf
   pkg/inst/doc/figs/dapc-019.pdf
   pkg/inst/doc/figs/dapc-020.pdf
   pkg/inst/doc/figs/dapc-023.pdf
   pkg/inst/doc/figs/dapc-024.pdf
   pkg/inst/doc/figs/dapc-025.pdf
   pkg/inst/doc/figs/dapc-026.pdf
   pkg/inst/doc/figs/dapc-028.pdf
   pkg/inst/doc/figs/dapc-030.pdf
   pkg/inst/doc/figs/dapc-032.pdf
   pkg/inst/doc/figs/dapc-037.pdf
   pkg/inst/doc/figs/dapc-038.pdf
   pkg/inst/doc/figs/dapc-041.pdf
   pkg/inst/doc/figs/dapc-043.pdf
Removed:
   pkg/inst/doc/figs/-006.pdf
   pkg/inst/doc/figs/-010.pdf
   pkg/inst/doc/figs/-011.pdf
   pkg/inst/doc/figs/-012.pdf
   pkg/inst/doc/figs/-013.pdf
   pkg/inst/doc/figs/-014.pdf
   pkg/inst/doc/figs/-015.pdf
   pkg/inst/doc/figs/-016.pdf
   pkg/inst/doc/figs/-018.pdf
   pkg/inst/doc/figs/-019.pdf
   pkg/inst/doc/figs/-020.pdf
   pkg/inst/doc/figs/-021.pdf
   pkg/inst/doc/figs/-022.pdf
   pkg/inst/doc/figs/-023.pdf
   pkg/inst/doc/figs/-024.pdf
   pkg/inst/doc/figs/-025.pdf
   pkg/inst/doc/figs/-026.pdf
   pkg/inst/doc/figs/-027.pdf
   pkg/inst/doc/figs/-028.pdf
   pkg/inst/doc/figs/-029.pdf
   pkg/inst/doc/figs/-030.pdf
   pkg/inst/doc/figs/-031.pdf
   pkg/inst/doc/figs/-032.pdf
   pkg/inst/doc/figs/-033.pdf
   pkg/inst/doc/figs/-034.pdf
   pkg/inst/doc/figs/-036.pdf
   pkg/inst/doc/figs/-037.pdf
   pkg/inst/doc/figs/-038.pdf
   pkg/inst/doc/figs/-040.pdf
   pkg/inst/doc/figs/-041.pdf
   pkg/inst/doc/figs/-043.pdf
Modified:
   pkg/R/dapc.R
   pkg/inst/doc/.RData
   pkg/inst/doc/adegenet-dapc.Rnw
   pkg/inst/doc/adegenet-dapc.pdf
   pkg/man/adegenet.package.Rd
Log:
Corrected dapc vignette up to H3N2.


Modified: pkg/R/dapc.R
===================================================================
--- pkg/R/dapc.R	2011-05-29 16:21:07 UTC (rev 886)
+++ pkg/R/dapc.R	2011-05-29 20:20:56 UTC (rev 887)
@@ -69,6 +69,7 @@
     n.pca <- round(n.pca)
 
     U <- pcaX$c1[, 1:n.pca, drop=FALSE] # principal axes
+    rownames(U) <- colnames(x) # force to restore names
     XU <- pcaX$li[, 1:n.pca, drop=FALSE] # principal components
     XU.lambda <- sum(pcaX$eig[1:n.pca])/sum(pcaX$eig) # sum of retained eigenvalues
     names(U) <- paste("PCA-pa", 1:ncol(U), sep=".")
@@ -184,6 +185,13 @@
 
     res$call <- match.call()
 
+    ## restore centring/scaling
+    res$pca.cent <- attr(X, "scaled:center")
+
+    if(scale) {
+        res$pca.norm <- attr(X, "scaled:scale")
+    }
+
     return(res)
 } # end dapc.genind
 
@@ -864,6 +872,7 @@
                          method = c("plug-in", "predictive", "debiased"), ...){
 
     if(!inherits(object,"dapc")) stop("x is not a dapc object")
+    method <- match.arg(method)
 
     x <- as.lda(object)
 
@@ -878,8 +887,8 @@
         ## centre/scale data
         for(i in 1:nrow(newdata)){ # this is faster for large, flat matrices)
             newdata[i,] <- (newdata[i,] - object$pca.cent) / object$pca.norm
-            newdata[i, is.na(newdata[i, ])] <- 0 # replace NAs
         }
+        newdata[is.na(newdata)] <- 0
 
         ## project as supplementary individuals
         XU <- newdata %*% as.matrix(object$pca.loadings)

Modified: pkg/inst/doc/.RData
===================================================================
(Binary files differ)

Modified: pkg/inst/doc/adegenet-dapc.Rnw
===================================================================
--- pkg/inst/doc/adegenet-dapc.Rnw	2011-05-29 16:21:07 UTC (rev 886)
+++ pkg/inst/doc/adegenet-dapc.Rnw	2011-05-29 20:20:56 UTC (rev 887)
@@ -21,7 +21,7 @@
 
 
 \newcommand{\code}[1]{{{\tt #1}}}
-\title{An introduction to Discriminant Analysis of Principal Components (DAPC)}
+\title{A tutorial for Discriminant Analysis of Principal Components (DAPC) using \textit{adegenet} \Sexpr{packageDescription("adegenet", fields = "Version")}}
 \author{Thibaut Jombart}
 \date{\today}
 
@@ -35,7 +35,7 @@
 \begin{document}
 
 
-\SweaveOpts{prefix.string = figs/, echo=TRUE, eval=TRUE, fig = FALSE, eps = FALSE, pdf = TRUE}
+\SweaveOpts{prefix.string = figs/dapc, echo=TRUE, eval=TRUE, fig = FALSE, eps = FALSE, pdf = TRUE}
 
 
 \definecolor{Soutput}{rgb}{0,0,0.56}
@@ -55,7 +55,8 @@
   \cite{np145}. This methods aims to identify and describe genetic clusters, although it can in fact
   be applied to any quantitative data. We illustrate how to use \code{find.clusters} to identify
   clusters, and \code{dapc} to describe the relationships between these clusters. More advanced
-  topics are then introduced, such as the stability of DAPC results and supplementary individuals.
+  topics are then introduced, such as advanced graphics, assessing the stability of DAPC results and
+  using supplementary individuals.
 \end{abstract}
 
 
@@ -76,15 +77,16 @@
 %%%%%%%%%%%%%%%%
 
 Investigating genetic diversity using multivariate approaches relies on finding synthetic variables
-built as linear combinations of alleles (i.e. $a_1 \mbox{allele}_1 + a_2 \mbox{allele}_2 + ... $)
-and which reflect as well as possible the genetic variation between the studied individuals.
+built as linear combinations of alleles (i.e. $\mbox{new-variable} = a_1 \mbox{allele}_1 + a_2 \mbox{allele}_2 + ... $
+where $a_1$, $a_2$ etc. are real coefficients)
+and which reflect as well as possible the genetic variation amongst the studied individuals.
 However, most of the time we are not only interested in the diversity amongst individuals, but
 also and possibly more in the diversity between groups of individuals.
 Typically, one will be analysing individual data to identify populations, or more largely genetic
 clusters, and then describe these clusters.
 
-A problem occuring in traditional methods is focussing on the entire variation.
-Genetic data can be described using a standard multivariate ANOVA model:
+A problem occuring in traditional methods is they usually focus on the entire genetic variation.
+Genetic variability can be decomposed using a standard multivariate ANOVA model as:
 $$
 \mbox{total variance} = \mbox{(variance between groups)} + \mbox{(variance within groups)}
 $$
@@ -93,7 +95,7 @@
 VAR(\m{X}) = B(\m{X}) + W(\m{X})
 $$
 
-That is, usual approaches such as Principal Component Analysis (PCA) or Principal Coordinate
+Usual approaches such as Principal Component Analysis (PCA) or Principal Coordinates
 Analysis (PCoA / MDS) focus on $VAR(\m{X})$. That is, they only describe the global diversity,
 possibly overlooking differences between groups. On the contrary, DAPC optimizes $B(\m{X})$ while
 minimizing $W(\m{X})$: it seeks synthetic variables, the \textit{discriminant functions}, which show
@@ -118,8 +120,8 @@
 \subsection{Rationale}
 %%%%%%%%%%%%%%%%
 DAPC in itself requires prior groups to be defined. However, groups are often unknown or uncertain,
-and there is a need for identifying genetic clusters before describing them. This can be achieved by
-using $k$-means, a clustering algorithm which finds $k$ groups maximizing the variation between
+and there is a need for identifying genetic clusters before describing them. This can be achieved
+using $k$-means, a clustering algorithm which finds a given (say, $k$) of groups maximizing the variation between
 groups, $B(\m{X})$. To identify the optimal number of clusters, $k$-means is run sequentially with
 increasing values of $k$, and different clustering solutions are compared using Bayesian Information
 Criterion (BIC). Ideally, the optimal clustering solution should correspond to the lowest BIC. In
@@ -128,11 +130,10 @@
 
 While $k$-means could be performed on the raw data, we prefer running the algorithm after
 transforming the data using PCA. This transformation has the major advantage of reducing the
-number of variables so as to speed up the clustering algorithm. Note this does not imply a loss of
-information and different results from the raw data, since one can retain all the principal
-components (PCs) and therefore all the variation in the original data. However, in practice, a reduced
-number of PCs is often sufficient to identify the existing clusters, while allowing the clusters to
-be obtained essentially instantaneously.
+number of variables so as to speed up the clustering algorithm. Note this does not imply a necessary
+loss of information since all the principal components (PCs) can be retained, and therefore all the variation in the original data.
+However in practice, a reduced number of PCs is often sufficient to identify the existing clusters,
+while making the analysis essentially instantaneous.
 
 
 %%%%%%%%%%%%%%%%
@@ -140,13 +141,14 @@
 %%%%%%%%%%%%%%%%
 
 Identification of the clusters is achieved by \code{find.clusters}. This function first transforms
-the data using PCA, asking the users to specify the number of retained PCs interactively unless the
+the data using PCA, asking the user to specify the number of retained PCs interactively unless the
 argument \code{n.pca} is provided. Then, it runs $k$-means algorithm (function \code{kmeans} from
 the \textit{stats} package) with increasing values of $k$, unless the argument  \code{n.clust} is
-provided. See \code{?find.clusters} for other arguments.
+provided, and computes associated summary statistics (by default, BIC).
+See \code{?find.clusters} for other arguments.
 
-\code{find.clusters} is a generic function with methods for \texttt{data.frame}, and objects with
-the class \texttt{genind} (usual genetic markers) and \texttt{genlight} (genome wide SNP data).
+\code{find.clusters} is a generic function with methods for \texttt{data.frame}, objects with
+the class \texttt{genind} (usual genetic markers) and \texttt{genlight} (genome-wide SNP data).
 Here, we illustrate its use using a toy dataset simulated in \cite{tjart19}, \texttt{dapcIllus}:
 <<>>=
 library(adegenet)
@@ -160,8 +162,9 @@
 x <- dapcIllus$a
 x
 @
-\texttt{x} is a dataset of 600 individuals simulated under an 6 island model for 30 microsatellite markers.
-We use \code{find.clusters} to identify clusters, although true clusters are, in this case, known.
+\texttt{x} is a dataset of 600 individuals simulated under an island model (6 islands) for 30 microsatellite markers.
+We use \code{find.clusters} to identify clusters, although true clusters are, in this case, known
+(and accessible using \texttt{pop(x)}).
 We specify that we want to evaluate up to $k=40$ groups (\texttt{max.n.clust=40}):
 <<eval=TRUE,echo=FALSE>>=
 load("Robjects/grp.RData")
@@ -187,7 +190,7 @@
 
 \noindent This graph shows a clear decrease of BIC until $k=6$ clusters, after which BIC increases.
 In this case, the elbow in the curve also matches the smallest BIC, and clearly indicates 6 clusters
-should be retained. In practice, the choice is often trickier to make.
+should be retained. In practice, the choice is often trickier to make for empirical dataset.
 \\
 
 The output of \texttt{find.clusters} is a list:
@@ -202,12 +205,14 @@
 The components are respectively the chosen summary statistics (here, BIC) for different values of
 $k$ (slot \texttt{Kstat}), the selected number of clusters and the associated BIC (slot
 \texttt{stat}), the group memberships (slot \texttt{grp}) and the group sizes (slot \texttt{size}).
-Here, since we knew the actual groups, we can check how well they have been retrieved by the procedure.
+Here, since we know the actual groups, we can check how well they have been retrieved by the procedure.
 Actual groups are accessed using \texttt{pop}:
 <<fig=TRUE>>=
 table(pop(x), grp$grp)
 table.value(table(pop(x), grp$grp), col.lab=paste("inf", 1:6), row.lab=paste("ori", 1:6))
 @
+
+\noindent
 Rows correspond to actual groups ("ori''), while columns correspond to inferred groups ("inf'').
 Here, we can see that original groups have nearly been perfectly identified by the method.
 
@@ -262,12 +267,12 @@
 themselves referred to as \textit{discriminant functions}.
 
 Moreover, being based on the Discriminant Analysis, DAPC also provides membership probabilities of
-each individual to the different groups based on the retained discriminant functions. While these
-are different from the admixture coefficients of software like STRUCTURE, they can be still be
+each individual for the different groups based on the retained discriminant functions. While these
+are different from the admixture coefficients of software like STRUCTURE, they can still be
 interpreted as proximities of individuals to the different clusters. Membership
 probabilities also provide indications of how clear-cut genetic clusters are. Loose clusters will
 result in fairly flat distributions of membership probabilities of individuals across clusters,
-possibly sign of admixture in the case of island models.
+pointing to possible admixture.
 
 Lastly, using the allele loadings, it is possible to represent new individuals (which have not participated to the analysis)
 onto the factorial planes, and derive membership probabilities as welll. Such individuals are
@@ -281,7 +286,7 @@
 
 DAPC is implemented by the function \texttt{dapc}, which first transforms the data using PCA, and
 then performs a Discriminant Analysis on the retained principal components. Like
-\texttt{find.clusters}, \texttt{dapc} is a generic function with methods for texttt{data.frame}, and objects with
+\texttt{find.clusters}, \texttt{dapc} is a generic function with methods for \texttt{data.frame}, and objects with
 the class \texttt{genind} (usual genetic markers) and \texttt{genlight} (genome wide SNP data).
 
 We run the analysis on the previous toy dataset, using the inferred groups stored in \texttt{grp\$grp}:
@@ -293,10 +298,10 @@
 dapc1 <- dapc(x, grp$grp)
 @
 
-The method displays the same graph of cumulated variance for the PCA step. However, unlike
+The method displays the same graph of cumulated variance as in \texttt{find.cluster}. However, unlike
 $k$-means, DAPC can benefit from not using too many PCs. Indeed, retaining too many components with
 respect to the number of individuals can lead to over-fitting and unstability in the membership
-probabilities returned by the method (see section below about the stability of DAPC results).
+probabilities returned by the method (see section below about the stability of membership probabilities).
 
 \begin{center}
   \includegraphics[width=.7\textwidth]{figs/findclust-pca.pdf}
@@ -380,10 +385,11 @@
 add.scatter.eig(dapc1$eig, 5,1,2, posi="bottomright", inset=.03, csub=1)
 @
 
-We can also add a minimum spanning tree based on the (squared) distances between populations onto
-the DAPC scatterplot. This allows one to bear in mind the proximities between populations, which can
-be misinterpreted when looking at discriminant functions of lesser rank.
-We also add the centre of each group with crosses.
+We can also add a minimum spanning tree based on the (squared) distances between populations in the
+entire space.
+This allows one to bear in mind the actual proximities between populations inside the entire space, which are not always
+well represented in susbsets of discriminant functions of lesser rank.
+We also indicate the centre of each group with crosses.
 Lastly, we remove the DAPC eigenvalues, not very useful in this case, and replace them by a graph of
 PCA eigenvalues retained in dimension-reduction step (retained eigenvalues in black).
 <<>>=
@@ -422,14 +428,16 @@
 %%%%%%%%%%%%%%%%
 
 In DAPC, the variable actually analyzed are principal components of a PCA.
-Loadings of these variables are generally uninformative.
-However, we also compute contributions of the alleles, which can be interpreted and sometimes very informative.
+Loadings of these variables are generally uninformative, since PCs themself do not all have
+straightforward interpretations.
+However, we can also compute contributions of the alleles, which can turn out to be very informative.
 In general, there are many alleles and their contribution is best plotted for a single discriminant
 function at a time.
 
 Variable contributions are stored in the \texttt{var.contr} slot of a \texttt{dapc} object.
 They can be plotted using \texttt{loadingplot}.
-We illustrate this using the seasonal influenza dataset \texttt{H3N2}:
+We illustrate this using the seasonal influenza dataset \texttt{H3N2}, which contains 1903 isolates
+genotyped for 125 SNPs of hemagglutinin segment (see \texttt{?H3N2}):
 <<>>=
 data(H3N2)
 H3N2
@@ -551,7 +559,7 @@
 
 %%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%
-\section{Ensuring stability of DAPC results}
+\section{On the stability of group membership probabilities}
 %%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%
 
@@ -778,4 +786,22 @@
 Overall, groups are fairly well retrieved, but we can notice that individuals of Blonde d'Aquitaine
 breed are poorly identified compared to other breeds.
 
+\begin{thebibliography}{9}
+
+\bibitem{tjart19}
+  Jombart T, Devillard S and Balloux, F (2010).
+  Discriminant analysis of principal components: a new method for the analysis of genetically structured populations.
+  \textit{BMC Genetics} 11: 94.
+
+\bibitem{tjart05}
+  Jombart, T. (2008) adegenet: a R package for the multivariate
+  analysis of genetic markers. \textit{Bioinformatics} 24: 1403-1405.
+
+\bibitem{np145}
+  R Development Core Team (2011). R: A language and environment for
+  statistical computing. R Foundation for Statistical Computing,
+  Vienna, Austria. ISBN 3-900051-07-0.
+
+\end{thebibliography}
+
 \end{document}

Modified: pkg/inst/doc/adegenet-dapc.pdf
===================================================================
--- pkg/inst/doc/adegenet-dapc.pdf	2011-05-29 16:21:07 UTC (rev 886)
+++ pkg/inst/doc/adegenet-dapc.pdf	2011-05-29 20:20:56 UTC (rev 887)
@@ -111,340 +111,370 @@
 73 0 obj
 << /S /GoTo /D [74 0 R  /Fit ] >>
 endobj
-76 0 obj <<
-/Length 1064      
+79 0 obj <<
+/Length 1093      
 /Filter /FlateDecode
 >>
 stream
-xÚ•VKoÛ8¾çWè(5#R$EžÙ¤Y @`a`Ý[vŒõk%%…ÿý΋’Õ¸-ö ‘ÔçñÍ7Ël“•Ù7å/Æßç7·ÖdºVF;›Í×™v•ªb浃ÁdóUö%¿;³ª,óm¡óCaê¼oÅ̸|õ
-_–ðôÛ#ÉH­?òø€úŠÛíÞÛ¼ƒ
-TÒh>îàuFmÚ´¸.¾Î?e¶RÁèlf´Š:pLO-Gþqrb+ä÷æÇý‰"<ŠRÃ>;Öø»tåCa|~¢§{Xjttû¨c¦Á‰s±ðVU•Ëf•UÁ:ö;ÁLày–dÌœ}:îIKL ª ÁŽhk±óyªgÞh"¨~y	sMl}W2¨WÌ‚ŠÞs¹*ƒ‡
-^LcRÏ:o©>?°5mÍ´6*¸§|zH°«µÏßp¾I°ö=¾Y‚5 b˜È:+”Ȧ}ÂëH¤œv,\ÓGœ×ôù$Ï³A¡Ëû—ÑçÏ8ý€tc	¥#HIwÇÔƒXMmóãGwÉ04|£E)‘âY=áY¤<;ÖCªÁê«}÷³{þþ…	7-fmpµ¡c•Iœ*Ë*)|sÄ]²øšúG Âo£Å¦.½ÙØm“-LmÕ®Ê7͡鯸®jeKôKÌ÷ŸÂqÍ6ɐÝU—vŠúµ¬rÎý*g;æ<³¶È‚ó1IZþ‰ƒÏ;:?zï‚O)*×ÂHbÿö
-8XëI‡ õ}ƒ!‚ 7VI}€j{Yà9‰ãÐ,w¶ë³èHFsRÙþL¶l]j8Züì
-ÛÄ.• —`Éù|¹“>ì¨{ÛŽO3<zµ
-­ië–O;²‚8àÜaÛѸ&JˆBŠ“ŽF+ÍŠ=ã”tƒ3¯ÿ}63$ÑËZ¼ágF œ¦¾ºP[p¥|Ôù_¤ˆø™!;BAÛ…f(æü‰<´Na”öHGy=9Œµ2aàòZP?H}•%úâ·‘Ew…s=u²xďH¢%'f†òbm«(Hâ¶÷¡ÏtôJWæ:Œ'Šü}tðCö!|]eŒœýËtÊL¨LuÙ®¸l›ÝeMÓAÚ¥¦:ɍ TÑŒG6C;£Ú7ö7ØìFÃËI}	äNa+Åü³»Õ…€ùV¸0À´lVtóÀD'àôbÜ.¥Çƒ˜qa„
-ûDªÕŽgCºD5+îC§cÞ½¦³õ…w.:ÓÏ­Sb¹‹lScõ©ƒ@ƒïPÔÙü¢û[jr²ä/¢H2´•ÜhÃÐÅÈ~BAJï4ÖðŸx,Ü·ÔλŽºáòJrûà–½ñÔHÖ*NgÜL}´ì}z!ú8¿ùS‰o
+xÚ…VKo¤8¾çWpiq°±}Ì&“‘F)µ´‡ìzºéú±@g”¿õ°yt2»ÀàªrÕWßg\$û¤H>ßÿóüsusû¨ËDVBI£“Õ.‘¥¥«+(½JVÛä9½Ëò²épÉàv‚[×ÀmÝâç"ÝÁøԱɌq®ßÕÇG´=fªJ6º‹[¸½¡5¹ð$†ßñð‰b %FkÎèW›}_}I¤•tI®¤ðð¤<ï1“Ã9Ë•¡8èZóÊ=çúwaŠ‡LYÊáé^%¯u¡`ôÙã
+€Œ[ ãðZp´f²­Ñ¸Ž+
+Ámh^•Œ^ìD	·®‚íU‘H(Â…ö¹´¥Ð•NòR§
+û­^°?Ô
+H*ýr:dʍ3Í D^8i ¡R”Uˆóu¦oì¨<˜þÆŒ%]àúŽ)·ÞÚÀᝅpÖD’@váЭCˆßŪf±r)•pÆÃÀ[9«¤M_êKDzÀ;Ï -ºS¦<Ûlq&8­ù1D¼&êhrGq\Ñçs¸Ú·‰
+0iÒáeZóaÎñh·¦ì F?œ,áY at sýR´m™ú«ª|zÒ+W¤O]ÔÌéi–‘¼ZÜS=Û!Ï3”#tûutÏߟCG¶ß>ß5çÍJžeúüX!èz¥J:`B4¶s‚(e„2îJ,¦µ£N,(+¡µö±ê
+–õ33Üš}\8m•¨
+½÷÷ÅÉT]UÅåò‰íÇ1⚬N¿ñ×>@¾Ì_˜É,Xý×¢å{HÈzã"‡:.~¢Æn§)\ŒHÖOYžxØÙGÚa¼ÝÛäu$9ÐkP“ªk~Ð"Œe±qÏt¢íŒSÜ`›nÚ £žÄ×õ¼yhg˜ Sl¶§wrmx³¢(ü3€±A&ÑsG­15zY£Ô[žA°“ìÞøýŸËR‹PľÐË+~þ°ôíÌŸÐ+ëeúW%bBªH¡R@Ãnö"œæú!þ/~iª Ÿ(½ØK¥PÎDêïêÇ°—‰Ð´ý°n¶úþ1YüsT1â,‰qƒœ°!ÂÀÔ†Sc{±·¥Ÿé}ê¹ôVÈR}ã™2Ÿü±­sWÙ•J’nâ&=2¡TmâkW·óžÆ}°²:‡˜b‹lŽê­¡zZoŒÙO7‹þÈ=ð@kŸ~
+äî‚é:€ùš7´©#Vt4ÁBà!&Øl‚ªž¶y¡>\‰:	Ýê¦ÝáxQoY‡Fú´¿Ä=ó…=×=?ã¿£Saëp”h¢°†¨ °G0T6ÿ@è¬Ä‘ºšiò³ìG’Œ²
+¿rrUŒ‰¤ÒñH¢ÿ\¶ÀÂfü™G9·=©a¾£Þ>:8äx«,	Ik¡aѼ„ã—õ:ž¸æŸV7ÿ°ø’
 endstream
 endobj
 74 0 obj <<
 /Type /Page
-/Contents 76 0 R
-/Resources 75 0 R
+/Contents 79 0 R
+/Resources 78 0 R
 /MediaBox [0 0 612 792]
-/Parent 86 0 R
+/Parent 90 0 R
+/Annots [ 75 0 R 76 0 R 77 0 R ]
 >> endobj
+75 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[0 1 0]
+/Rect [330.869 471.816 337.461 479.582]
+/A << /S /GoTo /D (cite.tjart19) >>
+>> endobj
+76 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[0 1 0]
+/Rect [160.234 460.857 166.826 468.624]
+/A << /S /GoTo /D (cite.tjart05) >>
+>> endobj
 77 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[0 1 0]
+/Rect [253.936 460.857 260.528 468.624]
+/A << /S /GoTo /D (cite.np145) >>
+>> endobj
+80 0 obj <<
 /D [74 0 R /XYZ 132.768 705.06 null]
 >> endobj
-78 0 obj <<
+81 0 obj <<
 /D [74 0 R /XYZ 133.768 667.198 null]
 >> endobj
-75 0 obj <<
-/Font << /F42 79 0 R /F19 80 0 R /F49 81 0 R /F54 82 0 R /F59 83 0 R /F61 84 0 R /F8 85 0 R >>
+78 0 obj <<
+/Font << /F43 82 0 R /F48 83 0 R /F20 84 0 R /F52 85 0 R /F57 86 0 R /F62 87 0 R /F64 88 0 R /F8 89 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-107 0 obj <<
-/Length 939       
+114 0 obj <<
+/Length 940       
 /Filter /FlateDecode
 >>
 stream
-xÚíXKoÛ0¾÷WøhìZO˧¡ëkÛiRìPìà¦Ij /8N‹î׏¤$Çy5M: -ƒcË’Hë#ù‘L‚4¸>IÝýkçäô*Ë&!5:ý€	‘dÚZe	*èÜ·áù$bá8,¬{ÍÓ,úÓùqÂ@PTƒÀ>üº‰:ò$×\£À4ˆ9Kr–YQ,Šs®Âï ƒ‡uÒ&Q,ÒðžæpuëÒ*Cáþ;ƒÛ˜ë4ç¡ØªÓ´TÂqr)ƒ˜^¥Þ¤‚r–rþ*j•¨|\áÖ[UgX&Q¬Òo2ÏwÝ^±ò#[9&ÓL;Pý۝=¼m³rgV4cÏÚáí?#Îcø€•
-»CgçyR5³¯éMIvÇ¥ð=`Q¹dRPš+ø R×wæÃ娍ۅ«‘WMv4nqå@,ç ÛxÙ¯ó±Xp‘¤2_ö2~ô²C½‰‚ T-(¹ƒè"B„SgÏ¢ë¡í®*Rùi{iÉ&På! 
-ê·IijðÉ";*Æ7á3Ž|˜6QdCˆÖ92=ã܃Ÿwï*uÅE8q6T—÷Ø!/…Iñeõ€’󷃽	4ó¾3ž$ˆï.ð$S·Â3Þ­±]CF
-†F4Ung;HÂÌa×”HîE"“	7ÂïË!2ç(âHdÛÜ'ß3æÄ‘ÈvÙA z";·úç¡ü»¨$ìd¶³Ÿç–Œf]rç¦<˜ººaR¯
-XwªüÝñ^Œ`Œ‚˜\¸!PÿDÜu«®rà=FJYÖljânèÉèmB975ô7_PÅ&8Q¼³Ç€ÙkÔ- Õþ ªÉœØÛæY\5ÂÍw45>·BR,ÅopÁìCº OÿCã m"½DÌf®z¯VÒ(%Ђ’밤ж´€9lû6­^`ÛqcŠtãj/tX¯Ë$3
-¨Ízh_)Û‰ò7Ú±·(v
-ÛŸÐó>`wW
-¨÷Oíh„»ÖÜ¥rº(¾°Å)œl·ÎnŸ£¢ªç˜¬$¬6&j¡÷s†vW{RlgÀ›ÙJ|ÔþCO¯kÁ­M’Š¦å+\ÔZ ®µŸ©›T›N­$û´•ÈFì[“p©–KXe#ïf¹õ¶7w\D¹±7Z4õ”žmxµðòüŸ8T$®‡›BÙ‚âeïps®¤Žu鶰lÏ°TÇÂtw¨‰å:«™fJ&’3hŸRž-ýß`íÅ—“‰rP
+xÚíXKoÛ0¾÷Wøhìêéȧ¡ëkÛiRìPìà¦Ij /8N‹î׏¤$ÇIœ¦I´rplYi}$?’aÁ0`Áõ	s÷¯Ý“Ó+î©Rt—2é¤&Hu'RÝûà6<ŸF<œD’‡U¿~šGº?N8bA9ìïkØaA–d©HQ bÁ“Œw¬(Å™Ðáw!ªiÓ(–,¼‡§\½ª°ÊP¸ÿÎà6)ËD(·ê4
+•pœL© æ W§NoRA9gB†¿ò
+F*Ÿä#¸õ×Õž…IkÆð¦²l×í+?‚°µcò”§Tÿv§AcoӬ™ÍØ·¶Exψó~†`e#ÂÞÈÙyNžTÎíkzSÝq)|X´³bRPšiø R7pæÃ娍ۃ«–WEv4nqí@< ÛxÙ¯ó±X
+™0•­z™8zÙ¡^†DAPê”ÂA	tK)Ù³gÞóÐö6@•L}Zà^ZÒª:Té@ý6D'|²ÈŽóI$LøŒ#¦uÙ¢uyIŽLÏ8÷àçÝ»ÒE]>BNœ
+ÕÕ=vˆÁKa’Y? âí`·fÞÂwÆ“ñÝžaê•xÆ»
+¶«É¨ÆÐÈš¡ŠílI˜{B"ŒàšɽHd*Fú}Ù!DæE‰l›ûd{Æœ<Ùn";TOd綠@ÿ#”—•}ÌvöóܒѼGî\—3W7L«BëN½;Þë€q Œ‹CSK7ê_€ˆ»jÔU¼ÇHkËú8‘ߍ<y½M)gচþKªhƒÓÅ;{Øy-€i@½?€Ãrº ö¶yWqó]MÏ­Gñ-.Øù.(Øh”M¤—ˆÙÜUïåZ¥šSrºÒ–0‡ÍâÀ¦Õl;Î`L‘n\-â…Žª
+`¹âF5£Yí+U3QþF;ö—ÅNnûz~¢Âìîj¢!õ¾‹™q׆[`¡T̖Ŷ8¹“íÖÙíTTö“„Uk¢–é~ÎÐjw½'õ¨f¼™¯ÅGõà?ôôŠóÜ©I˜¬[¾ÜÕI:iêçc*æeÛ©µâŸ¶iµÀ¾%¬1‰Pzµ„Õ6ònV[opÇE”ûãeSO‰àÙ†W³/ñÇÿ‰CEâf¸i”-)^ö7çJúX—nKÉ÷K},Lw‡š\­³êi®U¢‡ö‰‰Ä¤Êÿ
+Ö\|Ù=ù$
+r&
 endstream
 endobj
-106 0 obj <<
+113 0 obj <<
 /Type /Page
-/Contents 107 0 R
-/Resources 105 0 R
+/Contents 114 0 R
+/Resources 112 0 R
 /MediaBox [0 0 612 792]
-/Parent 86 0 R
-/Annots [ 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R ]
+/Parent 90 0 R
+/Annots [ 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R 111 0 R ]
 >> endobj
-87 0 obj <<
+94 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 634.321 212.801 643.188]
 /A << /S /GoTo /D (section.1) >>
 >> endobj
-88 0 obj <<
+95 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 622.366 214.236 631.273]
 /A << /S /GoTo /D (subsection.1.1) >>
 >> endobj
-89 0 obj <<
+96 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 598.516 347.624 609.315]
 /A << /S /GoTo /D (section.2) >>
 >> endobj
-90 0 obj <<
+97 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 588.493 214.236 597.4]
 /A << /S /GoTo /D (subsection.2.1) >>
 >> endobj
-91 0 obj <<
+98 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 574.605 219.367 585.255]
 /A << /S /GoTo /D (subsection.2.2) >>
 >> endobj
-92 0 obj <<
+99 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 562.65 380.749 573.489]
 /A << /S /GoTo /D (subsection.2.3) >>
 >> endobj
-93 0 obj <<
+100 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 540.453 299.355 551.532]
 /A << /S /GoTo /D (section.3) >>
 >> endobj
-94 0 obj <<
+101 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 530.71 214.236 539.616]
 /A << /S /GoTo /D (subsection.3.1) >>
 >> endobj
-95 0 obj <<
+102 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 516.822 219.367 527.472]
 /A << /S /GoTo /D (subsection.3.2) >>
 >> endobj
-96 0 obj <<
+103 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 504.867 312.716 515.706]
 /A << /S /GoTo /D (subsection.3.3) >>
 >> endobj
-97 0 obj <<
+104 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 492.912 322.618 503.751]
 /A << /S /GoTo /D (subsection.3.4) >>
 >> endobj
-98 0 obj <<
+105 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 480.956 312.735 491.796]
 /A << /S /GoTo /D (subsection.3.5) >>
 >> endobj
-99 0 obj <<
+106 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 459.039 325.706 469.838]
 /A << /S /GoTo /D (section.4) >>
 >> endobj
-100 0 obj <<
+107 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 447.083 404.5 457.923]
 /A << /S /GoTo /D (subsection.4.1) >>
 >> endobj
-101 0 obj <<
+108 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 435.128 247.975 445.968]
 /A << /S /GoTo /D (subsection.4.2) >>
 >> endobj
-102 0 obj <<
+109 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 413.211 313.791 424.01]
 /A << /S /GoTo /D (section.5) >>
 >> endobj
-103 0 obj <<
+110 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 403.188 214.236 412.095]
 /A << /S /GoTo /D (subsection.5.1) >>
 >> endobj
-104 0 obj <<
+111 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 389.3 219.367 399.95]
 /A << /S /GoTo /D (subsection.5.2) >>
 >> endobj
-108 0 obj <<
-/D [106 0 R /XYZ 132.768 705.06 null]
+115 0 obj <<
+/D [113 0 R /XYZ 132.768 705.06 null]
 >> endobj
-110 0 obj <<
-/D [106 0 R /XYZ 133.768 647.382 null]
+117 0 obj <<
+/D [113 0 R /XYZ 133.768 647.382 null]
 >> endobj
-105 0 obj <<
-/Font << /F77 109 0 R /F67 111 0 R /F8 85 0 R /F84 112 0 R /F11 113 0 R >>
+112 0 obj <<
+/Font << /F80 116 0 R /F70 118 0 R /F8 89 0 R /F87 119 0 R /F11 120 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-116 0 obj <<
+123 0 obj <<
 /Length 3013      
 /Filter /FlateDecode
 >>
 stream
-xÚ½ZKsãƾï¯àÍPÅ„1À` l•’’8JU씣²Sç ‘ Å,	(¹òúקŸƒíÊΖ€yôÌôóë&‹í"Y|ó&‘çÍý›¯þ\cã̺tq¿Y˜,‹W.\^Äi–/î׋EæjiLšGwW&j¯2àåØ]-³$ZŸWøµë¨ïß÷eŠ&®òœ(&‹ešÅ¥PŠa“³Ñ÷5|œvð¯kñußðürQÅ•KÌ6eœ•†çßµWi½¿J‹¨=-
-ÛZßÚíÕÒfY´ÅþÿQÏ
-[ÓhCÞ#æˆówÔŸ¸ÿ¬J思罒¡Ù¹‹ê#¾Ò¢
-¬Ÿàý‰øR¯pÒ#m;q­f/iìZ^ó§ÄX\q=œ Ø@''.òÉûÄ` Œ‹>†Ë‹Dw%$ê‡=íŒ6€ÝgéÙŸ ÁUQ-´©ÃdêYudïƒîÆs¶kz݆Ÿ5Îßëééý)É™„ònb–«1`Ó*ËÜÂ1éxµ¨ÎÂÅU‘•8"Sç€	±­¼^臍­«Á˜ÉŽ.ɦil’âStKX¼éþaæË,Ëá#I¹×Åò tö(¼¢ý
-'y™l;›‡tçNRÆUêeñöíÛ9†dIª#@À`Äi	
-€J±Æw=?ŠÐW¨@<€TT<Ç'¸
-žÕóó™™Ï9êx‚Gu½š£è3õ‰þÓû¶!Ý=ù…i#1„ÚK3ˆr£vÏ;hÔy-–¹cǶ§+f…¸œ³Új³æÖ³^ÞK~œI„}Œ†e¢¿t¸Ö³ú®Á}	4Ê\
-ìÈA4°¬HGK“«<0#°OHÑ;VÞÛN‰à®öd‹ì?Šè$®áè=(œbÆãð`Z°¼](AíÔ…bMçh·=±˜šv¡{#wÐQí{f at Z9vR2…9×ÉG»æTLê…©…¬{莪#Å°wq—CÏG"ÀhÁæBUÀò«h‹:ÜôS-%K
-zxy£‹‰FðE#,hÄ=RD¿þDÊë
-þÃUiI+lÂ2l˜ìóNìy9Õeê$K¬yº1ŒŒLæ£;"bk2•zŽ؁¢(œWíƇ"lÙ 
-«f‹abæ$v œKß‡åÄàƒ†ã÷¶Q¡BëeÇÖ•°áÜK‹RÈ{—#}¬lù{M:ó)€‹x'cûfŽ	«½èlï
-¨§ ‡cAUÖŽãÀõÕÒA˜'L€,`vÀÖ”Ù­Vgé݉¬p†(/¾ž¤»^³™ÜD¹9B(â UJѺçEvòÜÈjʲP9œ ]ML?Ç2>2W–££
-o¦˜Èo8ü
-kÌÄS©’èygÜbÝr_ œJ§ GúÖÜyžœ‰"	w‘°X#H»dÆ«`¼þö;úÕ1$:£á¹ê·¬Ul ƒÔÄyšÑÉ›\ŠkæhÃ]®hÝ"ú¥"©ps:*	)‹È…Ql·Ö´L]Üê_/;5ýá‘~Šð³ª›†ô–ÛG.Ï0`­˜9/Ú9nÄÛ9Rè5ˆ=<bs²ÓÎy’%á@bA at 6!@䟗@eST: Pi\õ­æƒÊšÎÿ³Ên
-òLèmr´˜‹×ß_®Ɏɪ )%3‡€„¨°9D;7E[ _ÏìϱÉ=Cnæh%à’>½ŸüWîÎ?%ƒõŒŽýqF at I\Tégß©a
-ÒÏŠr,¬ûG4BF)²<a¿ác tÖOÞ[×b9«ÁN©Ð–FKÇßU…È‚v’*ÍÛî °¥
-â&u]³§xZ/ôÄ6‘ìí53›ÁŠ^tÀ/oÁ‚/¼eEf¸ÖQ>y…×í8ôÜn¤»æ¶¯ða¢¿AÛáï¼?®rããE5¡ÑµsÉ_îâb0€ßÝš ,•eŠZ{­`ªÒØÚj6 `’%6€ÖIöBp¾|ä€`Þvß=¨rÀç Š%+8*´LZfä“jÀ¾¼„"EÞ
-N@í^äýnäJi;´ ¤c™¢¦FÜ>	GL /”™¸†à§<û
-›x0Eï«Î	Â2Gõú6Í@‰ ëšTG;Føï°À?SØ+÷	ÇW|~GŒ›Äøø¨h¼á¶ƒr{Øø ìfRn0+Ÿð“ÙçÞÿ[HFËJTŒô=Kmœ—fRnBhÞ‰#ÿàSÈÇ	œÃA³U(Éðrm´JÂãf9Ue¯ëxEÖ=ë­¶‚´ýL»R}‘Õª
-b‚g‚lÅKP=º…øÚ3†&(ERûD‹¹0ö™Ua^—6".rÆ”£È€å$m{f-_š´}#`K
-~§üúEë™8~"!åM}Þ	'wÃn'iÏQ¤¥Þ¡xœ 2Å¥&@iP6fpGµcJQ›ü¾0¥ò9Yš-´QЗ4\-MŠ8M}lب±­cÑšý4[›©N/•JP¤NÿÏ"µ¸4ðg™Ë=z–×'˜,Ä
-·“bý°I˜zŽÐúGn/·H~ž9ÄÇξÑòrìYæ6•¢†RΗ\>Rýè×G!Øm4áž
-	dŽïDÿx	8yH÷ŽÏ³7Ÿ#%Bª¬°´ƒH¡©;õÇ&øZãCÎÔÈø°H‡ŠÆ‰·’*Å("‰Ë"ΟUúðÀndç¼4†“2ÓÃCp/a‚ûÀ鱃¯FÜóÍ‚‘œ¯ñàÇ J©øÈ¢[ë@¹Æ€w2¤#Oj«ØúŒáÝ\ÉØ»á%•j-ßà}E=l20Úqƒ]cHµ«áÌmwô®†;ÍfÊÇШڋC¼›©÷ýcÓAú‡úçÔJ1ØíŸùE¶>*,çÙŒÏg;¡¹ƒÏG]Ÿ‰œëŠß!‹3cÌ +⤘İ{ÄžŠÜr½ö²äg³C8l€nÍ> •lðLr¦{%bÓQîÀ6<f5[Λ}eœZ÷ëu—ɽÁŠ¸Ä¹å÷Þûßñ1ƒ‚,¤(x’Å…u3eó•Ö×ë°.e
-Àšè".0aF±M®áãMLj’ÂûO\hºpê‰kÎT3'í;r
-oÿ°K/ˆ¦·Rº%WT\¸ŸÅ²*bSNRÖ›š«ßèÂú¡¶Ì*ݵâÍAiF††·G-Nùmk—$¬7ˆ8n	­“%’Â;eV2«0E«òIB™ÌŸajóðÝþLîf£$ƒL·ÇÐå0A:úû­Hשç÷ˆŸûn¨÷õ'zswóÛ]Ë£=Ô«¡zó1Ò¬™ÐûBÒÖàZý׻[~Ç>_‚.° U¿U­üZ+Îå8EWÊŠ„‡Ø3(úΆB8Ž<ù"^Êå…£àÈ÷.)² ¬¬ª7¨-õ¿
-» ØãHŲ,2-)æÕkMR|kZqi&>âÇqú8w;§¥ù-n.Ëñ
-ÿ,´×Ü0 Â\	äØÊz‘™—́|lðIy»J¾å²£³ÃE$QMÞ0$ðÓ	¶/CÌ`R¤ù«C–ÝЃ|‰˜1œnÈ€Üp£
-ñ@Hcz‹ QQjp1f˜Öó-®sé«€&Uû`aÖé-AÚè?b-þDcíôÆÖÛ†;)p:ælC·©«hºjÌðNžÿL—ƒ•ǔ« Ÿdö܇±V~5¢´±©HÈë=yšßÈ<öñºµðÇf^ö¾&¤7#ý¶;!6³AÖŠ°Î2ç"X#--_¾Ðè]pÿ@
-5/·§ø
-²Ÿº«ÍŒ”±ßß8Êʳaw†œé©­ž$À‘V¡üX#~†Öh­	¬ÑºrÐáUÃÝ]+/+J*¬¤˜AFéÝ+•5kËí \
-µíQ¶EHÝÿÌla\Cúˆ¥Õ¸,%ËÎFcþtÿæ
-Æ1ó
+xÚ½ZKsãƾï¯àÍPÅÄb€Á Ø*$%väªØ)Ge§*Î"A‰YPråõ¯O?ZÉΖ€yôÌôóë&‹ûE²øæM"Ï«Û7o¿.“…±qf]º¸Ý,L–Å…+./â4Ë·ëÅ¿"s±4&Í£›µ™‰Žðrè.–Y­O+üÚvÔ÷ïÛo™¢‰«<'ŠÉb™fq)”bÆälôC
+Ç-üëZ|Ý52QÅ•KÌ6eœ•†çß´i}¸H‹¨=-
+÷µ¾µ÷K›eÑ=ö·øzVØšFkòi4œ¿¥~øüÈý'mT2{ì<í”ÍÎ]Tð•mx`ýïÄ—z…“hƒÜ‰k5;!ÐHc×òš?'ÆâŠëáÀ:9q‘OÞ$a\ô!<X^$º+!Qßíhg´ì¾;IÏî
+®Šjé Mµ8&SϪÛ#{ït7ž³];Ðë6ü¬qþNO×HïÏIžÈ$”w³\	›Vy\æŽIÇ«yH±pqUd%ŽÈãÔ9`Bl+¯‡gúacëªE0f²£s²i›¤x‰n	‹!Ý?Íœa™e9|d")÷š£X”Î…W´¿ã$Ï“ÍcgóîÜIʸJ½,Þ½{7ǐ,IuŒ8-AP)Öøn¢§ú
+聐ꃊçøWÁ³z~>‘!ó9Gð(¢®Ws}¦>Ñz¿oHw~aÚH`¡öÒŒ;¢Ü¨Ýóu^‹enãÂرíéŠY!.礶ڬ¹uËl€—Òƒ'a£a™è¯®õ¤¾kðB_2W»òD
+,+ÒÑÒä*÷ÌìRôN§•÷¶S"¸«ÝGÙ"û":Šk8x
+§˜ñ8<˜V,/BŠDPD[u¡Ø_Ó9ÚûžXLMÛнƒˆ;è¨v=3 ­;)™Âœëä£]óª…&õB‹ÔBÖÝwÕ‘bØ»¸Ë¡ç`†w´`s¦*`ùUt:Üôc-%K
+zxy£‹‰FðE#,hÄ-RD¿þHÊë
+þãEiI+lÂ2l˜ìÓVìx9Õeê$K¬yº1ŒŒLæ“;"bk2•zŽ؁¢(œWíƇ"lÙ 
+«f‹abæ$v œKß‡åÄàƒ†ã÷}£B…Öó(Ž­+aé—¥÷.	FúXÙò÷štçS ñNÆöÍV;ÑÙÞPOÇ‚ª¬ǁˋ¥ƒ0O˜ YÀ>l­)³3Z­NÒ»YáQ^|=Jw½f3¸‰rs„PÄ>¨”¢uÏ‹l幑Քe¡r8A"ºš˜
+~Že|`®,GGÞL1‘ß$*:pøÖ˜‰§.*R%Ñ;òθźå¾@8•
+NŽô­¹ó49Eî"a±FvÉŒWÁ:xùÝ÷8ôÇcHtF/öÂs
+ÔïX!ªØ ©‰ó$4££7¹×ÌІ»\ѺEô>JERáætTR‘£Øn­i™º¸'Ô¿^vj úÃ#}‰ð“ª›†ô–ÛG.Ï0`­˜9/Ú9nÄÛ9Rè5ˆ=Ž<bs²ÓÎy’%ƒž$ " È&ˆüó¨ lŠJ*«³¾Õü±WYÓùQÙMAžI ½MŽö#sñò‡óõ!Ù1Y ¥dæö‡(cç¦hÔá«™ý™"6¹gÈÕ­\ÒËûÉã~àüsPÒ8XÏèØŸf”ÄE•~ö
+‘¦ ý¬(Ǻ}`AC dd€‘"Ëö>Bgýè½u- –³중
+mi´tü]Uˆ,h+y Ò¼îö[Ú nR×%ûqŠ×¨õBOlÉ^_2³±¬èYüü,øÂkvQd†kå“WpÙŽCÏÍáFºKn{‹ý
+ÚþÿàýYp•(ª	®KþrƒüáÖa©,sPÔ
+Ü»hëP•ÆÖV³) “,±´N²g‚öå#óîwݝ*| X²‚ƒB[Á¤eFî1©ìËK(RäÝàôÔîDÞïG®”¶CB:–)jjÄí“ÀpÄòr@™‰{ax~:À³ßs °‰Sô¾ê< ,sP¯oÓ”º.IÅp´cô¨A`ÿ~œñ3ˆ½r/8¾âó;bÜ$ÆÇEã
+·í•ÛÃÆ`7“rƒ	@XyÁOfŸ{ÿï -+Q1Ò÷,µq^šI¹	5¢y/vŒ@JüƒO!&pÍV¡$ÃËMh´Q8]pÜ,§Š£ìu½¯èÁºçoÝ¢ÕVv ŸiWª/R :ãAUALðL­x	ªG·_{ÆÐ¥è@jŸh1gæÂÞ"³±£*ÌëÒFÄeAΘr°œ¤ÍaϬå+PS€¶kl©Áo•_¿j=ÇO$¤|£©O[áäÃvØí$í9ˆTâ¡Ô;T¦¸Ô(
+ÊÆî¨vL	#j“ߦtC>'k@³…–¡"úök[†«¥I§©
+5¶u,Z³›fk3Õé¥R	ŠÔéÿY¤—þ,s¹GÏòzä“…¸ávR¬ÿ"¶â#	s@ÂZÿÀm¡ãåÉÏ3ç‚ØãØÙ7Z^n˜5ËÜ&£RÔPÊù’ËGªŸýú »&ܳ!Ìñ½è/'ÏiáÞñyòæs DH•–v)4uÇ¡>âââØ À_k|È™¿éPÑ8ñVR¥ÅC$q^@Äù³J؍윗Æ0`RfzXbî%Lcï9=váoÕˆ{£Y0’ó5ü@)Ytk(×ðN†ôläIm[Ÿ1¼Ÿ+{7¼¤òB­å¼¯¨‡MF;®c°kÌ©–c!œyß¼«!ÇC³™ò14ªö¢@çP@Ac ïgA@ê}ÿØtþ¾þe5‚RvûÂg~–­
+Ëy6ãóÙNhîàóQ×gDb çºâÈâÌ3ÈŠ8)&1ì±g‡"·\¯=/ùÙlà Û^³h%<‘œé^‰Øt;°
+YÍ–óæ@_§ÖývÝÅeroc°".qjù½÷þw|Ì  Kㆠ)
+ždqaÝLÙ|¥õõ:¬KÙB0…&º‡L˜QlƒkøôA‚š¤ðþšƒ.œzâš3ÕÌÉFûN‡ÃÛ?ìÒË"„é­”nÉgîg±¬ŠØ”“”õªæê7º°~(-³ÊF7­xsPš‘¡açõA‹S~ÛÚ%	ë"ŽkBëäc‰$Ń°ÄN™•…Ì*LѪ|’€P¦óg E˜ZÁ<<D·;“»Ù(É Çí0t9Lþ>FkÒuìðéÂ=âç®ê}ý‘‡^Ý\ÇüvÓò(Bõj¨žÃ|Œ´ k&ô¾´5¸Vÿ‚{®àõæšß±@Ïç`€,@ÕoU+¿ÖŠs9N•²"á!öŠ¾³¡Ž#¾ˆ—ryá ¸…ò½KŠ,+«ªÀÍjKýoÃ. ö8R±ì‹LK@ŠyõZ“ßšE\š‰øiœ>ÎÝŽÇii~›Ër¼Â?	í57¨0×B¹¶²½^dæ%s Û|RÞ®’o¹,BÄèìpIÔE“7	üt‡m€†Æ˳ ˜iþ*ĐeàF7ô _b f§2 7ܨB<Ð;/ê˜Þ"@T”\Ì£¦õüAK…ëœû* I•Ç>XØŸuz‹@6ú€X‹?ÑXû½‡±õ}Ý8s¶¡ÛÔU4]5fx'Ï¢KÁÊcJáU€O2{îËX+¿QÚØT$äõ=MŠ ŽodGûxݍZx‰c3/{_R‚›‚~×›Ù kEXg„s¬‘––/_hô6¸ †š—ÛÑ
+ü@YƒOÝÕfFÊØïoeåÙ°;à ÎôÔV`ÈF«Ð{þ¬?Ck´ÖÖh]9èðªá—%VRÌ £F‰ôî•ÇʏšÆµe‚vG®†Úö(Û"¤îf¶0®Š!}ÄÒj\–’eg£1¹}ó?Äî1¯
 endstream
 endobj
-115 0 obj <<
+122 0 obj <<
 /Type /Page
-/Contents 116 0 R
-/Resources 114 0 R
+/Contents 123 0 R
+/Resources 121 0 R
 /MediaBox [0 0 612 792]
-/Parent 86 0 R
+/Parent 90 0 R
 >> endobj
-117 0 obj <<
-/D [115 0 R /XYZ 132.768 705.06 null]
+124 0 obj <<
+/D [122 0 R /XYZ 132.768 705.06 null]
 >> endobj
 2 0 obj <<
-/D [115 0 R /XYZ 133.768 667.198 null]
+/D [122 0 R /XYZ 133.768 667.198 null]
 >> endobj
 6 0 obj <<
-/D [115 0 R /XYZ 133.768 647.382 null]
+/D [122 0 R /XYZ 133.768 647.382 null]
 >> endobj
 10 0 obj <<
-/D [115 0 R /XYZ 133.768 332.852 null]
+/D [122 0 R /XYZ 133.768 332.852 null]
 >> endobj
 14 0 obj <<
-/D [115 0 R /XYZ 133.768 304.216 null]
+/D [122 0 R /XYZ 133.768 304.216 null]
 >> endobj
-114 0 obj <<
-/Font << /F77 109 0 R /F8 85 0 R /F11 113 0 R /F7 118 0 R /F67 111 0 R /F90 119 0 R /F92 120 0 R >>
+121 0 obj <<
+/Font << /F80 116 0 R /F8 89 0 R /F11 120 0 R /F7 125 0 R /F70 118 0 R /F93 126 0 R /F48 83 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-123 0 obj <<
-/Length 2133      
+130 0 obj <<
+/Length 2124      
 /Filter /FlateDecode
 >>
 stream
-xÚ­X[“Ó6~ß_‘YúàÌl„-ß·¥¥e
-lZ¦ìðàÄNÖ¬c§±³ßs“-'^ZZ†a#YÒ¹~ç"¹³Í̝½ºpå÷—Û‹§/“YªÒHG³ÛõÌó}GÉ,
-c¥ýpv›ÏÞ9ïÝН{Λ𧅉7_ø^èd5Ìsw0¼+àÏþkøÓìÙVÁ¬²¶áœFÎÃ<Œœ”ð?ÃÕ²©y+~©'N…@×6´!#“ÓáĹ;¯›¹ŽOø§x˜ëÄ!É®pkbÞ!ëlÕ‰ +äq5ÿpûgáy*
-ÅÐQ÷H'?àÖ‚uǯ5òÁ[,ç9Å×@Ö5ïaÛá8&V-nÐRȾ¨ùCãÃ{׋GÉ Ç«¸³á!®å©Lë#³wÐNÜô×[áU¢ß6¼¸BçÌJöh'-ðéNXTè_‹[ÅÐQß÷Gþ‚)ó@ʦ!úà&4[ìífIÞ$O‰¡qÛÖ2
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/adegenet -r 887


More information about the adegenet-commits mailing list