mvtnorm/0000755000176000001440000000000012266235226012012 5ustar ripleyusersmvtnorm/inst/0000755000176000001440000000000012266222055012763 5ustar ripleyusersmvtnorm/inst/CITATION0000644000176000001440000000344111271530752014123 0ustar ripleyuserscitHeader("To cite package mvtnorm in publications use") ## R >= 2.8.0 passes package metadata to citation(). if(!exists("meta") || is.null(meta)) meta <- packageDescription("mvtnorm") year <- sub("-.*", "", meta$Date) note <- sprintf("R package version %s", meta$Version) citEntry(entry = "Manual", title = "{mvtnorm}: Multivariate Normal and t Distributions", author = personList(as.person("Alan Genz"), as.person("Frank Bretz"), as.person("Tetsuhisa Miwa"), as.person("Xuefei Mi"), as.person("Friedrich Leisch"), as.person("Fabian Scheipl"), as.person("Torsten Hothorn")), year = year, note = note, url = "http://CRAN.R-project.org/package=mvtnorm", textVersion = paste("Alan Genz, Frank Bretz, Tetsuhisa Miwa, Xuefei Mi, Friedrich Leisch, Fabian Scheipl, Torsten Hothorn", sprintf("(%s).", year), "mvtnorm: Multivariate Normal and t Distributions.", paste(note, ".", sep = ""), "URL http://CRAN.R-project.org/package=mvtnorm") ) citEntry(entry="Book", title = "Computation of Multivariate Normal and t Probabilities", author = personList(as.person("Alan Genz"), as.person("Frank Bretz")), series = "Lecture Notes in Statistics", year = "2009", publisher = "Springer-Verlag", address = "Heidelberg", ISBN = "978-3-642-01688-2", textVersion = "Alan Genz, Frank Bretz (2009), Computation of Multivariate Normal and t Probabilities. Lecture Notes in Statistics, Vol. 195., Springer-Verlage, Heidelberg. ISBN 978-3-642-01688-2" ) mvtnorm/inst/NEWS0000644000176000001440000002016012266222042013455 0ustar ripleyusers# $Id: NEWS 260 2014-01-17 12:37:57Z thothorn $ 0.9-9997 (17.01.2014) T. Miwa fixed a runtime error in miwa.c reported by UB sanitizer 0.9-9996 (16.09.2013) documentation updates/corrections/examples by Marius Hofert df = Inf rmvt(): argument 'mean' not allowed anymore (prone to misuse) pmvnorm(lower=c(-Inf, 0, 0), upper=c(0, Inf, Inf), mean=c(0, 0, 0), sigma=S, algorithm = Miwa()) returned NaN, fixed by Xuefei Mi 0.9-9995 (29.05.2013) update to version 2013-06-29 of mvtdst.f from Alan's website (fixed a bug for 2-dim pmvt) 0.9-9994 (06.12.2012) set.seed(29) rmvnorm(10, ...) produces the same first ten rows as set.seed(29) rmvnorm(100, ...) as suggested by Paul Johnson . There is a new argument pre0.9_9993 for changing back to the `old' output. This _DOES NOT_ apply to rmvt. 0.9-9993 (22.10.2012) sigma is called `scale' matrix of {dpq}mvt, thanks to Richard Boys for the hint 0.9-9992 (19.01.2012) qmvt(..., df = 0, ...) gave NaN R CMD check works on x64 with GCC 4.6.2 (Debian 4.6.2-11) 0.9-9991 (10.06.2011) tvpack wasn't working on 64bit machines. The reason was that the wrapper SUBROUTINEs around the original FUNCTIONs didn't return the appropriate double precision for unknown reasons. Redefining TVTL and BVTL as FUNCTIONs fixed the problem. 0.9-999 (26.04.2011) still problems in fix approx_interval (when !is.null(sigma)); disable for the time being 0.9-99 (21.04.2011) fix bug in approx_interval spotted by Ravi Varadhan 0.9-98 (19.04.2011) allow ... to pass arguments to rmvnorm in rmvt 0.9-97 (31.01.2011) use check.attributes = FALSE in isSymmetric calls (requested by Nick Sabbe ) 0.9-96 (28.01.2011) use fixed interval when sigma is specified in qmvt 0.9-95 (18.11.2010) q{mvt,mvnorm} shall always return a list, not a vector checks for correlation matrices are less picky now 0.9-94 (16.11.2010) allow for two different noncentral t distributions (via type argument) add support for one-dimensional quantiles (requested by Jerry Lewis ) documentation fixes for problems spotted by Jerry Lewis 0.9-93 (30.08.2010, not published) interface to Alan's TVPACK algorithms for 2- and 3-d probabilities by Bjoern Bornkamp added. 0.9-92 (06.07.2010) update to new mvtdstpack.f (7/10) by Alan. Fixes potential bias problem in higher dimension. 0.9-91 (13.04.2010) better search interval for uniroot in qmv{t,norm} speeds up quantile estimation; suggestion by Björn Bornkamp 0.9-9 (27.01.2010) document ... in pmvt.Rd 0.9-8 (27.10.2009) add citation entry 0.9-7 (22.05.2009) make sure `error' is not NA 0.9-6 (25.03.2009) update Alan's FORTRAN code 0.9-5 (17.03.2009) fix FORTRAN bug spotted by Alex Lenkoski 0.9-3 (22.12.2008) update meta data 0.9-2 (08.07.2008) be a little more liberal (tol = sqrt(.Machine$double.eps)) when testing for symmetry of covariance matrices (and make R CMD CHECK monomvn happy again) 0.9-1 (02.07.2008) better check for covariance matrices, suggested by James Rogers 0.9-0 (1.04.2008) add support for the multivariate normal distributions in small dimensions by Miwa's method thanks to Tetsuhisa Miwa and Xuefei Mi; both have been added as `authors'. new argument `algorithm' defaulting to `GenzBretz()' with `Miwa()' being the alternative. Those two functions are now used to specify hyper parameters such as `abseps'. internal function `mvt' is no longer exported. 0.8-3 make sure rmvnorm(1, sigma = matrix(0.5, 1, 1)) works (reported by Kurt Hornik) 0.8-2 (10.02.2008) rmvnorm() now issues a warning for non-symmetric sigma and uses the eigenvalue decomposition as default. make gfortran 4.3 happy 0.8-1 (24.07.2007) Orion Poplawski spotted a meaningless check in the regression tests 0.8-0 (23.07.2007) upgrade to 7/7 version of MVTDST (includes better support for dimensions > 100). Thanks to Karen Conneely for motivating the update and for checking the new version. rmvnorm() now can also use a Cholesky decomposition to compute the root of sigma (thanks to Fabian Scheipl) 0.7-5 (15.09.2006) fix problem reported by valgrind 0.7-4 (08.09.2006) add long requested `dmvt' call RNG functions only one time make sure unifrnd is double precision 0.7-3 (23.08.2006) make sure pmvnorm(lo=c(-Inf,-Inf), up=c(Inf,Inf), mean=c(0,0) == 0 0.7-2 (29.08.2005) make gfortran happy (a warning about unused variable NF remains) 0.7-1 (18.11.2004) use #!/bin/sh 0.7-0 (14.10.2004) a coding session with Frank produced `qmv{t,norm}'. try to check if the support specified by `lower' and `upper' is empty (problem spotted by Peter Thomson ) Alan's fix prevents negative values to be returned. some cosmetics 0.6-8 (03.06.2004) EXIT statements are not supported by `f2c', Alan added GOTO statements to `MVCHNC' 0.6-7 (27.05.2004) Alan's fix to MVCHNC solves problems with large degree of freedom 0.6-6 (22.01.2004) `La.eigen' is deprecated and `eigen' replaces it in R-1.9.0 0.6-5 (14.11.2003) check if covariance matrix is pd in rmvnorm (by Fritz Leisch) 0.6-4 (06.10.2003) use new base function `cov2cor' 0.6-3 (21.07.2003) Alans changes were restricted to N <= 100, now N <= 1000 are possible again 0.6-2 (25.06.2003) Alan's recent changes to `mvt.f' make `g77 -pedantic -Wall' happy 0.6-1 (18.06.2003) pmvt(..., df = 0, ...) will return normal probabilities for both the univariate and multvariate problem 0.6-0 (17.06.2003) Fortran code in `mvt.f' updated to recent version by Alan and Frank. This fixes problems with `pmvt' and large degrees of freedom. 0.5-15 (16.06.2003) a note on one-sided probabilities in `pmvt' correlation matrices in cats example a little bit nicer 0.5-14 (06.05.2003) the package owns a vignette based on the paper in RNews 1(2) 0.5-12 (08.05.2003) allow df=0 for pmvt 0.5-11 (29.04.2003) package npmc trys to use 'mvt' which is internal: export it anyway 0.5-10 (23.04.2003) mvtnorm is now in a NAMESPACE 0.5-9 (13.02.2003) log argument added to dmvnorm, thanks to Jerome Asselin 0.5-8 (21.01.2003) fixed bugreport PR#2478: sigma for univariate probabilities 0.5-7 (27.11.2002) use R's random number generator in the FORTRAN code: set.seed has now has the desired impact. 0.5-6 (07.10.2002) rmvt added 0.5-5 (03.07.2002) use .Fortran(..., PACKAGE="mvtnorm") 0.5-4 (09.04.2002) correlation matrices for sigma with unequal variances incorrectly computed, added `sig2corr' for that propose, tol argument removed, fix by Alan to mvt.f 0.5-2 (22.03.2002) Frank added `tol' argument to MVTDST, now in mvtnorm 0.5-1 (24.01.2002) pmvt(0,1) works now 0.5-0 (10.12.2001) release for R-1.4.0 0.4-4 (06.12.2001) bugfix 0.4-3 (05.12.2001) the length of lower, upper and mean (delta) is now recycled to the length of the largest, i.e. it is possible to say pmvnorm(lower=-Inf, upper=1, mean=rep(1,10), corr=diag(10)) 0.4-2 (04.12.2001) several typos, man-pages improved 0.4-1 (04.12.2001) interface changed: sigma (covariance matrix) can be specified as well {rd}mvnorm added from package e1071 (thanks to Fritz!) mvtnorm/inst/doc/0000755000176000001440000000000012266222055013530 5ustar ripleyusersmvtnorm/inst/doc/MVT_Rnews.R0000644000176000001440000000204212266222055015475 0ustar ripleyusers### R code from vignette source 'MVT_Rnews.Rnw' ################################################### ### code chunk number 1: prelim ################################################### set.seed(290875) ### options(width=60, prompt="R> ") ################################################### ### code chunk number 2: smallex ################################################### library(mvtnorm) m <- 3 sigma <- diag(3) sigma[2,1] <- 3/5 sigma[3,1] <- 1/3 sigma[3,2] <- 11/15 pmvnorm(mean=rep(0, m), sigma, lower=rep(-Inf, m), upper=c(1,4,2)) ################################################### ### code chunk number 3: cats ################################################### n <- c(26, 24, 20, 33, 32) V <- diag(1/n) df <- 130 C <- c(1,1,1,0,0,-1,0,0,1,0,0,-1,0,0,1,0,0,0,-1,-1,0,0,-1,0,0) C <- matrix(C, ncol=5) ### covariance matrix cv <- C %*% V %*% t(C) ### correlation matrix dv <- t(1/sqrt(diag(cv))) cr <- cv * (t(dv) %*% dv) delta <- rep(0,5) qmvt(0.95, df = df, delta = delta, corr = cr, abseps = 0.0001, maxpts = 100000, tail = "both") mvtnorm/inst/doc/MVT_Rnews.pdf0000644000176000001440000023612612266222064016061 0ustar ripleyusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4120 /Filter /FlateDecode /N 76 /First 628 >> stream x[Ys8~_8ɍUÇZ٦mN˒Z]K#f7d H|L$d:f2DbaJJfJKX*8V6x`q$BdBej&e|d*)}ʴ?1QEtQeIf4+fP93E eV)lqH% Cwc&1NKXL˄"+M Ȁ!E(!R "jFRHe4҂D bB' ʀ"JQ@DX9@Bxj( 54Ӛ<^C2 K(ze,F %ԌXaiJdjV45`eL j3Y++fiT:& 󂚍D,j6 kQJ?qVnGP2?޳vͳQO'"co `mG_/M(2߲I@&ׇ#v0]y>+XHy^QUmշrRov|D,&!b͔2zWMlR,-K\hw#FS r(Yn- jjóF qP1qMI,+P'@GUsOuv?GcO,F//"s %Prr3'[|Q=DBd?+i:{4J?[^Qj:{P6v4 $Zj6nOh`6P |Mv&|b_(26~ʄP6ȶnA1 kV%C+[drWXLjJҤ=J_,q_\B5>#Id9d%:O' v NVqvW9Sx sʗ;0 `ʖ̄zGh#X(~_URnwIaS>kCvP(PaUA`+6^Q_%S`J ` ›1̢AJEN 0Noap.`,,h@^1dD]2xCP0O{ĆnѡoҲq)D0ClV$. kv(6"_8˿u z<=dLIOED0ϲ<|),Xs+qvUQ[Ț`|uصBt(B4}|JjO`:#Cu =SxIքiT%.'DKTZ!g#`o0-l#^Rŕjv(s *5\ߩRju=R5:KL#D;](zvir7pD\G\yޗ)+7ǻqY\<܎+xq;?;GOoSwvVcobrJ5MW|[ZO~ۛy{mx znIi$;:G9y>=+t7GSmpxȰ|9kR:,,ӂtgFO DojS?bvx|+kj/uID-fJC}0*WߒHfj RGt{Bq,h))'x\8 F/eM~]=Nzڦ}ikƷ kBV8^Fh^G359T*$T*^\3jkZ*§knZӋIj3T~Ϧ'2z.W_̅V_/!.vPʴnu)*P.|4Z<^4U5uS֥f4u~K!6>]&F[PNPna-XŐ`oh,ԉ.7 ̆DаAh [Ii> inZ:$ebtimMpi׹jg+CZYFnYi&O@"Mp5!tP &w uZXi Iic\ $[ؐͦW{ui[dc]Wխ_߀[3}ZRm&p/ٷͯe&哼ǣob:s O O˨â(B)x) QT:8: Py_zbځ߻ԐOx$-eޙl6>-xC|q9.3WVej6h{H;.lBq}.~um^ Hz~z <zVp03~ОzD4M~`&/~g!}- /"u6_y{}$y$"*M8J:|JWɳ WVu*@mT5=ViK ګ,UJ[%Pɬztt7%[NmQQ[>X%lZج(Pi彣%}T1K2.5utn9 hA|@&˧IG#F `#pA}mbww̓h8ڠ3u{D%Q٧CKT]Ⱥ:-vXUU ˔ TNNwh 8̍nEЕ:]Jh7NVq7ީl%vupO5md {m(5bn;yCƛW ^Mӥm~ S0ϪniýDR#]Z[꺾TAڈFO :F)Ȭ)MbPm S[Yt=> stream 2014-01-17T13:38:12+01:00 2014-01-17T13:38:12+01:00 David M. Jones CMBX10 endstream endobj 79 0 obj << /Filter /FlateDecode /Length 3918 >> stream x[[F~a77t*8`HzmxwۯԣMA!Zi/_w3ןݓ{r͉wWw@jwgOE]a&ήN>6PXK4|?5c6&}+ gVܭÇ5:mo] =5 h]vz'jc-- ϯjR5& mA5&"Owjgk!XRexx p7הތ%NIv_k׬ MLڬ.Rb],kldGc\n6k@G#ͧZ7?lve)i)cN]KUvF/yc !&1LkĦ`]M6 s$(t;;`70l "0|,,J@/.x.ӱ%Tv+iD7Խw+gqMG"COޗm9E,\VRzw|( (:kċ޴'ZVGnu& r"j,[jXgu ʆ~9iE.egl)>Z[H }xb*[0̈rwA,@狶/c%7#+5^k {vU%lD[EሜwS[& VPEFIdp EHZ=1*ϴjͣ޻\T@@:'[hTbH$PbF 1RS%~KϢwY8>_ܨvᝫk& BQ6{2輚}!@,@On4:zŞO'01F?J~-zq~ն̀hm ok9Il~+5ybD86Fu)c-dn&ZGʻ*mI۶1Q&#'ˤ_.u) PMb~Yԕ_y8]޴9)CT>(hZJ2^ȹ^Z`ƛ% , #9Ąe].U[7-%ݾ 9栯偌;ncgJN\H%t3bYeA,* ?Nza*,Şc! |4rA.9U+?Q}Zt2VXD>^z$f.sZB{" hiI(i 0g>h hk,FA_EZjURbC# BY UH]Wv~]h• iɿ =(nKzBxQdF%.EY8JBfJEW'*z.l](5ڍP+v)ry\NjjE5a h/g10rUj&'ʜ+Zr)Kyr])ǔ&U/ (&1"hk:.$ÑܖșarMԲTݠIuPU}kG@HmהRtrfkʘHW<)XzC:3{ ٍytH/].70w.kzы=Ivĥ<LhoΙ}d)v}j`s/1PjmL4ԫrO 3.CA6$Oci('ts=k!*LD& W f059AK[Bhy##R=R.w_^se{>cJAõy6"5%դe|$OkY{ cCI`lñMg3˨Hs6sn X3n@٧=K=YR7'4Ad>:@uJzhSGUnT{Œ4S.>h[ԙ$]nU|,z-u% WJW]<l0)O{Ji{o*^)TP :eZ+-c $e#v^si$8$'NiHx&?p2)RR׶ oVNi;Ys 'f)(JĊn=Qs^MJ>"j]Ha":[m`i]@+8SYI* C)JsMHOgXJ _fY*~igļXҷheԹ9>iiK_,{Ϥtntu7$ _W[Xbxlmm[Cf"\8k̤&O3Ʈ:ϞLKu\:A_&?Q R63VWa!fr#]EB׺],90ޠkM|ᡫ$,y*J]E^[7-i-BX1]հIcЭbWN_s S]q431A:sۧK֝'<1kZ /E5SWr+VG3/loz[ \<~N}QS o)>( mhO#^cgvyٴ#f)=C4H˜=֮{SB- Ϸk-`KI}X"V *^Ln>"r!HePŠLɦ~U7UuDRG l[T%{%Iu$^YgZ܇GE]X7#\ffo('hOc7Zv7/H&pv_],yE҅4eMIng'>;1'f ]F.c~v.֣nX9{P Qhb6~3㰜RpXt+ #HMO7hPZEFQzp1淗KԲaكIF ތ$bCQi{{*bDn.``-tܩwNw,|ྐྵׇÙgoyjD)yX6oۙj@/$U[eA!e󬎎LKoۆJ)7n^U굗mZwnk6$ j% < /&vW&́D}TΓS :7|) ;ސX) Ԏs 㙲)iZ11O.1Nb.1}?.>RϵpI(o:F˷H+36;R+B¼K-gP^v3endstream endobj 80 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2508 >> stream xViPTW~M=;J dѸ%Fhu}'DOP/0qAʘQ'2IIM,c<\$3u~SΕ1vL&BV57`짻"\k]98ؿ:%ۧcs3Qd%&KHjZ~Fⶄ,Wv}h$g$FhWGg%'Gg?;Rc^%de-͝9'5c"o_mnbVv}|f|FN|vYjJvMtrv9 Ը ے%$2 #, ^|Et^̪k֮[a7Yaܘ;x1>L0 a9?e^a /|Y ƞ)dPVenS~~}U1bK8k>?5InQiEg=,Rc@*JӌBa19:.x.qL3Bb TCK+Sp@xGJIKAX#Zt/=TvIS܏+ͯE, _A@@p. Rۖ鐱GIq,.>!S5A@Vi|mE wyR+(@FE*9=*6:vR[F|P a[EmTFуC{ު[sv+pvh7 mxXбD:bydž%%Q>؀,AG>2Xx*mړՑU>qՋZ1N&OAA'UBWpz-{i#n\1 Jgyp* %.+04 HH[@O8#<UetKEP_l2+_ i L'%NqFUxV J&~-"c3Kgu\_}8C>RPڛ,wѯױ'-*G|Cg[SMp}.x'Wn7oBYmiŚD R#-&/iWժ[ 8Wfx+ggRҹ>emҰB=5ml. RjM%`*/79IM72%ADVlOaYEgA6gSᢩ< Xj4PvE\8 pttp> 5gY,*+v7ڍd5~sblM|` ɭ';wwj$hE-Xjth͞\ApgG k\.}\'Wxj,y"C7aJ>|6nZ2$M`Y6Y}jOfՋ]G~9^|*`N0ok6_ Sۦ^qbI®%d}m@QhYSKNP|ߴp\ε]Q(zQ)˧#{N;>nHƙT7dʣٚc%(UߡՖ="e36P |&fiJ.+*jg\ q*hT~pvGI|_:;hu4! GE8 OǞD9|D~M'ÙjanR>) ?OAҜ[ŸeTrTFd$ĄNR UOWD ?—#(՞SʊrkTi9ܔl\`WlԐH[8I2wǺM|HO#OeuUNpGCpE&ʬ\BMuM5CMyŢIk#Ul.,S^'/TAs~ث.lR(K> stream xWitW;}XY&!MXa !;,#[%cYe}JɲW18i̒䤡$yil393?ft)I^{wج3Xl6{v/2z~.D,H@̎SIEXslYbsBL\U /_j\lURR'(N,PERQC'4 ׈U*KjdLYvtD%N.*)DeŪRQtK/2T%Ro ERDR bAH%KX,wJ-(J ym🛛LXX;YXYo2YYof-gz/XXbֳ X쟰W8E3_>=6Sss&! 7ɛ7?e eKN6V}6N>=Ag XX 6<n%NoւZ/ ( hunoVvna(p }0`\I!;Y6 GA?iGt U08ӆ Ze)04`$682ojkO'gsBBA.& N;ȠZWc4`)X-PQIq-\;! Ms_Bg.8/  ;;k/d7;yíŒ?A. OC'?.u'ߠk<~omn" G6FMK?;M/V1yWmF4A| noa2h ]^'Ig!^?q?-TRX@9ŘÐEn Y=}c71S yy"܁gr`AɈ !IvUgXvx1q:~@hr]A GtCi3^9Dlynu+/0i':3r-M>,<O`d-اV ܒU)ԝvd.brj(:Z4L\e.K 2 lc)ęXIYxa2t6;jGLA뷄,GZ7`@ 2y$(RP {F]U J<8xAr:97[ c &6x!ᵗ$KJ%D;B}M5wUxަ`?x[L_zAIvU!m}S=ș~K>d8 %ds{6r=|o3t`(#Mo lzòojFZK|k1CJ9F**04mIGۭU&S. (w< V<4F|3in>c)slt5Psxh^h8`N\ X!F%o& > Dn) '[,TgCIsl{'Xfb 6auH/GO+rJQeU.ҿ`\c=wbL%phe_y{zots8~m,hEU݄p.)?V!Ʃ?P KNA@M򒱌o.h :R4H:m6l&&aJjB81ïcTE3[ x+֮E:ta51|F&`~ 36E: 2ǣq䍳Hux,*WoU*μg+~HMsXf?{5n̿ 7㞡'.-ܑыp7Ыy5I%j CX0ƃDɃj;Cv:;"~׶u2p׆e]B7 s=E[g oq6s^($R7FZIj1qZCO- )ޯځ. БQӵۖHW'7fFq|4(5?,LG=w;z&ⵓzzr BXJi "H҂Τs+csZd?Pּendstream endobj 82 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4056 >> stream xW XS׶>1sUz*'yTQ@mC⌂LCE0'Y c  "PU_mwkUVkku};z^_$AD"ZD|e)%`?1}gIDK;&,$T讘9sbb~DPLX`@bE:4("@MP*|TaA݊oQO?) "v*&dE|:T:(6(fgv"UZ2 "HamKQPmdfMo-YX$ng|m ]FX 2(ƛqeV101üʬa2kwf,`&0^D-f!3Yx0iR5f:Yɼ< a1Nc3IPʠR/`kveY#rC|0tЏ= S;t=1"0Y\\%i-=t{Hx=9zNnhfv! P`5 Ųd|NA .>-(p !>Z%+@Sȑ've0vD| tƕX?N^Xi8ǡDj z3kX TmƠ0 .JTqz'Y2Fcd?,H$'UAokNAwvGxG#Do5#ozYhLN?E8 VQ,au9Z)sA-×>&b9@>7[Xr_9{hXiǙ$MT܅a86Yg &EsB㈧װH6~ɷwO{/-VTFnp8=8[2dƸmArY2֊󕼌ÙV͒+f,Y^[4%4$ήQNG/$z Y~KZ2 ew>T JVUv*YvM #sez0[$f ->^(p>± W9N!oidW@UvVp~CCwʼ`,lQk_s9MrތZ%Rby* Y@ch/2 >Mrdӓ$L P%z@reۏM;Y#E*=IX.:%; `Z8e,1a_&]-řJS1㱁6XS{&ξ@wAY9g $6C>N!É`)'-1wIaRP$AKMT((j;l/*Thk L c8,h y%Bn9yMe {?;9X%d$yU؁-g~Gf $C&r\Rp2*_KR.d .Wiۤ%oO]ntE8ZW,;lf|[Ͷj_+;D'1Qa,D5>|f-ם.1xm" +p?qkj.!CP/2ϓԺ=n/9I^EoB]ОݠݻSeW l.9hSkZOA'T~;&G;op])ZXvO~ ME`3RXiZ(lSv6 |P1z`T?=0 r/9rU?MVW 3%:[(u869j?pP |MFy2W)zg楦hӳ1Su{5[wC'g pF8 :kLiԲV2goLfd*WNE|M>݈]?}] ZRD80$A+)u E;^owWa.PHɢcM ]԰`Ё5ozzU Oɟ~gkrad9̲%{XťYB>tqhLZ3.ncѷ+c销), *s -P -t>9yE uvʞCE};fZ^vZra/E?|v]'&Aj^\JHI0;Be"mfḧOO>.WdKtnc(иYNeغ:&26\W,:ř-%)ݸf𳫢/QK#r[ːYlȪ帖}z}rd'&҆{nǘ7{|s33q݁05Vq7Cx 2Kr|8_(ٟtOSzv:ٝGc[--@ 3Bum{K)zV58MP۟eH, JY{6 ݆vvZG!7T`?GTEOlE"鴶AT{nz;3ҩ׶f#s3/-v җ qGκ-Tτٰi-M7~N1@ÑAFa6*EFD47יM&Ȉgr%Z]%"sxdqtIѥi3t{qyA ė!/YYiiwpAv#kqM\L=_tQt]QQQQm203NF!O%}O0Rq..KJ['#u19H+?]p8M]5;kZg uW.qۄEc]/'& umPN2ѫ#jdd[1krm0d*Ly1endstream endobj 83 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5284 >> stream xXiXS1Vv+lj:qyV,< IV32H"Z8֡UTZco/~Iv?ΟywڅD_1^ tG@7pKKpo m|D1*dixhsac&O8sdϙ!́QKea!2OoYЩa2Y̔ѣGFƍN631\2$.D97:J402ijz:DGBKCQE5+:fܸy 'o^4dаVED}Q^cƾ5nzZF S+ש!/65ZE VSoRkY:ʇIfS j45GS 8j15ZB-&QPET6JQT/2Qx2Օ҉z]witI7e{t#bfgw=n<2¥u^#{}.gCg}{~]?}ԣNAqhUk#P,t,HRcmݳdclSۧᴦB{eY+1> Uѧȼ Ѐ#b%L*pH_c$Y,VsXM#7t!"BL=]/F U$`z0)X[oF}$Rrz ZZ8G?2E%QUП '%&AI4I!)e<>ʸu.QUE~,Ga&{mQCCy[ OEoHN]JylDn}a @?i;g7c/sO=sTOK荚<%{ c wh^C0D~GB^.&]Nuh9\:elM8 8_AG({ڧ_ kAwZo34jxWx4Q0n_YrF}``XDu\k60Oh6z %Ńis epuO)g\^<Ðdm֭#=+$BcPGq3=;6=b-[P9T2 )hgA4֖AvM7)-(֌b-}5K)h(/P^Lh4'Zy ^v`opnC_ p\SKg=`@Qq |!yWDe򾴃^qΔErmVXU@"d*˕3h 8m$8CNN8]-Ntch6Zʌfi2J";Q=bd$2vAP{:PKfѱc(XxYqPj$*UfZ2d_I^ yZo4|p2H3!/.6W͍] oVi uj`3@1]d;$yyE;r es7o:~TSB^XRΔ }G.\^b`K!w*ފҭVQS⎍\sr`{dʹgހ Ix"t^f4~frV! c)s+A  dD3 Gv/8jB-#w=GuR`PM B|dJ^!mӱw7 ]*Sm9.AJ>: Yi9xb)oA笨hbpe-⛒+ !5ׯa~5ĤU 7*q4Mq vv%0P?i$QE K<%BQڕx_}Aؗs6]XJAg 819(PnԠoϢʹٷ 4ѡB(NwHmjjBV^F3KeCYW\A٠P%Gi}ZS@Ix,?A7ZqP([VJ': ^)&NޮȞ:}J r=vP. (P# ^<:*dku$^#Q//Tmwc݄T3q+z {~,_:zA⫗~݉<^85q+ތ>u?Sh9nÎ7q_ؑN&(ZJ NY=a ڤWAJ@JpPEq;~j^com9UaoݤfMv H/Ȅ-jB%׷Ͱ3pO<3煐!eW l":htk}xB,u8G-q1 Oiq:m7[ cL&.ߧ*M@ I8v JH BJL lL n~7#f' FC?u*"+-$Ph^$PCr!/2$IlQMEh|ζQInH3I"tKq8Jϔx !&f]1u6f>C,zI^x0y6s8&}l,K6GaLN Lؖn݃|ޣ ;pZ]w]!K-L$6y~*؞G&ѫy 9 Ӯl^fg)E򶙌&YPpC*,b!M(l+Oi?&`׸ erEsږ\e$'f=qdL;B +"EE/g$X=_cvN-Vi2# h%zqg򄙒kumE=EN]{*f+YہぼMe9X#%;M?pWʕoL n,>#\Rq/8𑎵2GB,::*Ш28_gfaEt*| \4 ZB%y#>52+xቀ З|oE;0}cm[7.9~@2K; G\Ե5P}ڡaNmZS epg_@:eRlczH&7gVIbcqKUDKI$KVFUh37*N$ Ö.3Qay*c񝛨#a11-;+ZvFTv;w`ȡLj⢢jjj$4wE" ٛ5e]r5Bs·DH[ Fvb}._*z#>8_a9ᛌ>'zxf\9l5iٰ&m_.=2X=wL".F7:^j@/_0m&N:V΄CpI]p_| &;pwVKf>Td-ɐ+3ZUw˭(?RY~ٓ{^c|66L$!~K~ub[+yOq$N$UyhT# 6O޷>u܂'^ pt#K^8wc&d|dT8'Y|Z2:zd ~lK)*n[Q.B4?%8+V!h-9͊̾C}0+:w(Ӭ|o115SȔöP nln#EZlFi+z%CviN_\(i;u@}Ly DkYT``R%G-֤HyQ^?dB[j$AQf.o,l=t|~؝ #"+1!(} Kvn6DWއ6O6͒-ւ/lݜ4uY(.Cbh)uɥ^JQXlendstream endobj 84 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7275 >> stream xyXT*㹀3XkTlDt63f00,X5D1nbF{f$n?9gֻ(.@ ^i鷏~@'&oOBa{j[~BT !1|"ywtkz|s]Fi6g{[,X׷K=^";I:@5;_?hj|5NrqcA¦= h_ԵڗʬX<5{vh3n +4`6ehFzcJUk$51:M#4ҍ+aUtK d ,7Td÷nmQꂞvuڻ-k/! ZBrykWq8v=jVp%0 \,e7x:IbӾd5"]t٬vb]X5Y--z0iMX(y>+|aut |%R!G`u,̗,ŷXG̪*~e$z9]حVz8 F +Vn)ဴjkVX knRWشHmO v'я,DZ# br!+A*.v,vVgԆ>t&\v%%KKdnL GG)^'x+ 3Qzޡ9`2*k'~f=K4b,D]_gQw4UP ʆ0Ρ3b~ s"J"~6 ݢ(m=R ̵59yn$Ԡ#Hc(@}^R> ;kY."4qhZV OpdEXRt.K[X3F/jG$|GtbgY>B @_hQ "HufֲFݯvuS Qnm2Ad;FԌExt,<GI* MP} k1BԺLg;7Ч{uTms߉[45Z`”Le^&m, 4BaLHyԐ_WXߘ ⷒ:0[%54 oOe;ޞ坥5hoѼ?= $Hu)3`#(]=DhVcls2=?̶91D~n'~:Vv'f3<9>Sw)1lO h@SZv>ǂv%K뼲ݳ S[Pp_CKSS'(lnT%$&pIi #ճ^گ8Z*? Oct(hfIqltg09]$A9#Z OZ:V#YL[',›P+ᅍg~}섇GZ[{|8exݱ;ǣUq5] +2C!FNeԏt&?Ex0Z.RMrHǵ44j ܩ54-> q gqhьB6jnpFb&Fo~5=Nm(E ?ߐAC?gf6\gWBͤA~|[YYGH{ D㡿 GO<sZKMP4Fqpc<")~m-TL}Y}K.2l*f-pݞ +e|?}6%5c#H-j3&U^$DC2-M!ζVN^@q \AHOu|yH!gkR ss *rȊnGVh}!:c6^'}]U!xW?|u<:,W Xz<:厣@Wxm)̌ŸQ+ܔ.3}PZKn2# W=rzrXo|c|Aotj`~'9^. Ͱ׷kL0HTWZE-n8W̑S^$> %A37fʳYW¤Oء\7y4=|MbLC(B%9RYel_bJp2HFҵN`Ip2;(؝ KEE9:X.PKZղf?7\tƨZhVVZ&TRE?CeIIq&K}R'xjYk!FY˘۔c4wʖ8"[z;bn͎Z.naG"7~ӿS EV"NYAC<] 1һC c0{s7aAPܝ !Wr%#׍?&Jl~kH>M+<ᮠCeC=TCZ7i$G +#.3{3(dCHXIMRʓ' sWdSp IԥҪv*Kn 3-x :f4Eh$\9= Q>諻98Hli3' du!fCER%$@8YU][l_7wҺ7L4_G"#m{yyZ^ Q̢i"Q߽|>}ϻlQUX\C7i& =*Ъ*TִE]G7*Ch;^VT }l4PCmnv Q4)U&գPJ`,OD2 ~(گ}װߌ Oz6MG<2 (/.٢QX%pW-}}5k‰WCChr] M9rZu> cX۫4D_=}YSn_X 2U  *>196|wRA--A#>傻*󧶰'"G S$*:ȁ} F!Mȴ|`P-c NaP1"A[[s ?+& bb  á\+ f;zMn e3g^%dۈߢoh o77YGXz? NC h駰}f B&#ۙ"6_: RÚEL㌻_O~CdU-$}6·jLW;))8,7)7Wl4}zXAZ?{_1 "zŃ9ךMߵ _ļB􇥥DB#}h>m tht$2(?ul8IEqo ޲V/N =(}mZ c@YS`¿Jw:% L=O`3Edk{4%nFZnP5z95N`iir(b$χ{6!x##OO}.Hw/t<1.?=!y!mbU8杖J!kыj<e**w}yh}pXoVᏗ@7h`|;jXn{uMfM^VXi4j*~q27\NvƤdeߺh ӂMȧlVߑ&=cic_LNR_D!Tqs7ħܩ9+5,뜤\z޻(ߊp;7[~\aVyS)עLm.g܄[ X/XaIvp.e/CݯS6,w5L%D̗-*GAda[HYulZ"/1TV0lxy%KU}4דEdv {[IwֻYMyk`exW3nadbb>kLoh#<#zyˡ?<*j۽zwZ*ܴ:#QYy?=]ukٝGjAͩ(钫ëJDӴT.Ayzȧ.wY9ztqYף'EA8endstream endobj 85 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4173 >> stream xW XSg>!prTD%*+(Z 5!a}6ٔ[E%h[ZmZN?{ }oq)Sߟ6Q˩ ʕZIQ8j rSQ EbʉJ9S. j5BՋMͦ,ʊG ))5bA$MʜRSDfo%,N5_i5'Y4O+9J&޳zYԧ~fefUsWA+L~Xh%mxmL Xonp$(!!%&!aD1ՠ%PW7 NW QA@`%im5J̋C@ g a/ ;^mz7cIoL@6stBpT !}©t^'.^k>qP#-&=4fs7,ޝzVF `q'ĜOC hf~Fkxi?~+m'u1zc^/aƛl1Tw'r)Iq/[+ ~g_|  X%cgov8B>=|gD0+3(/v%u g=wkgy{G92|ׁ`PJߔ_CKצz W5t[uY! faKWܶMծB~#')84xB*YtQ4Xp^Ⱥwpt%÷qzN4»P؟}` eџ٭]^Ko'rČ~[mf "S:A1u+zI atEfPƢT7?0p{:3mpRd| 0!YJ{^?}z֭~VTp%IہA'E]nqZSwTJ@̔gau]xQkȔFEnmPg~gWA$/\v@{ d~\%0sdF 5i:(*]\u!t>_&ό {8"oIMc^aB"ǍGXzLk U #*P==(aI'^Ti&6: W754D-jf܅R t0* )$:PcFwt扄V +?F#',ReC(̈́KR1/=B$~]x9' m#Lf3$nQ{@0.;C(U[QABĎU<.x%niJ`*uګ]NޙJ,E˿)-"FW6z&}0Iz>ͫ(Oq]jRW$o,&rʔ:.9,Y*VsaVӗ$)rG0 վLkգ 7:.)wKcYEqM,5}n.~FF>աVt8s[kφxWIHϮ:r'?ljWO5dҬ<̃Wbkkx]AeƮmyh+ j+WŬOu#eL?wF_Q/%TLDlHP*r<`0^,Á8EMkwsQ^品Y@A@DNY`r=܆28ӎ0sѝ (ZE$6~YutUs쟊*?Lyk@'Lh GXaϣ͟T>MzsdAj (Ro ] P/pRm`M^`W~ Nq)[pyȉk7u5z?](یCkoXz mkLFKSkB<*U)=}Kgv~˄bθW/*1jUp: ?364sȹaoJ'6&ic n'<~.ZJ!1j>iG)u*Pw& ^gh$c( wH$uM\i()n"4{%~HoC`dp)I/:h8#p_ @m@̘HkjkLl‰?WVs'2&(9P6 /^0q nt?"|:j9rg>^~18ܞ~!3ft=׹K>;té8{|MX;YlJ;SK-<"j~$e͉nt]sp&= $Mˠ+nطaaM;FR1jv >iYe*e@ ~B9 L b"eG4㤏OI \յ[Qj*@"$f ΄t&a}’O-0Hc-eX k=6,aaK4MYy9PsiO9p[M^}Ts*=\c'dnFߧpdO;J ݭ,hv:FPDpbCp,B撹kO=i[ J{`aZti E;43I,D6$9)I F60V.<'v>33; ʘʰ22D? A|} 4py9{j/E܌llE_a&\zsAf|At0$F s \ґ}8Mo}}S:VBL=6#5(J22r K տnrt5 r!՜l!Zeq&0vݝhG1'ٜ_q6dl_c0uR-w}BqLfI5\*|PCT@s'(Z"=m\k=61hCΰJfI8n9<5;E L[oZ0ugoD-6z喽˾ouendstream endobj 86 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3055 >> stream xVyTTWm{/JPp=AAQqИ\X@,hAElVQ+1JQeTH$Ez9]cf|;uN/[_U*B0i}?FR/_R y58Ew]RMȘOMv;}To >>Ɔ'FmXt:299y-Txy'G#ݗo OL Pv}}l{q}U[KUyq5-Xq/{c}|'L4y Ì`F23f3d173njg|_f"3La23Ό 3#0d3/QR^1@85`܀=i auv-Ɖm~'nàA=qGχZ'`E~ͤgZ2m6HmVNb6hx=IǑ.Ԑ`F(3_@h1ym,Ҵ\*@ufSjQPakeF,9Ĺ\BE1tyA$䊀\knA{|!D+hЄsg_!9Y_|*BU*T$;4I;3YۏYȁ"+l8İYD: ndM&`iCR5R(gӂ;]( m%7 ;Eet0Ŏi6҅۸9[IZ.ܱ+iHr]%fRxbI/u\13/p6s%.? =v[Y4˿I˝g 7 }r&}Z,mz6rgr( oSqqSEyWj~yQwɟ ?B? rʿ[,lvL>:VJ,z Y&QEgnֳq`( 4P;tQ f`|ٝQne__VA`4 r~efAN%>rg­V%zC2E73VA!t ZRx:7N^`-jmWIq:s] AHɿ ͏s^IXfwcL&ґ $/N, \8 '`H~$=ꗿݾ&wnk|^!5.*A[Z @ Tц)2.睰V\T*pY*zikZ-uQ3Mt<|zmք5F$AfX{_)U~ʸQ3jVqiMtTGulەr:n޶p'jrIIO2p>OKVZm&ҕ*m7W"i´hʹZ,L t+Yا3ċoox[1xa]8Nw@$-~f}Ȣ8(q? G,< _8x LgLXnvyusӫA#6^R_u̚:rD &:MF\D|՚Y~Bkă?oPt}oSuڍo ίE|t&R:P_kiQnWmRܾz=jns>M ͦƶ[ ⑳7U7\zeARlZ}"# 92xoJYI0AaR^) ѸeJ_QU-[?Z^^)=Ņf?YPGrPP摾qEEI1Gw5heTĔf@|:dJKMe10_,8x]Rl _ MKFn0ojn+KNݜ{9t!E~duۣ%;FكC c1k%x[[\h:yE*ݮ(ckU5 =_"+!utw[={> ak" oB DcV} ޿v8ٔW M *.f2`q&+gCendstream endobj 87 0 obj << /Filter /FlateDecode /Length 230 >> stream x]1n0 EwB7e \%Cd 4DgKI3)|wDZvm6ݖ{C3]r1n105T>C=V@ip^.n5 P.d}PF'XyUH@ISz@auhuAa%QuFVϙ~ULN(< ?ӝy}yTl5*}IMЫT9e|endstream endobj 88 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1365 >> stream xTmLSW>Udj'fnYP T݄L\̖VZ.j,s˗Ȃn!l̩a24E6-88y'y7# au ;6(y,*ytX9D&zM/@l/(sȅrQA#D0=B<G`^_Mp#-]ƬFGr2#ՒL\+a[driW<!eϱyvŕ%pX2ܤUW;Wg-=kBC*XyK}gg:lMNYu}Gm<F6& x{ʀ8y`?S̄蹐1aYKNOp]=Q `HAbIW !* A$ATƦkIdLKIZ7!D$جNܡCb{L<)/+]xہ+. 9Iej,|sZi%K_ٕpio;aӦ+ ,D:&\R/we| }D>ϱȺ&e٫P{14~r[s=Za1i.Oz噇?/endstream endobj 89 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 90 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 331 >> stream xMKA@gͯF+S%)]nء$\ݕuj$H1"@C,(b;D?1#v<޻=d:m(VbMbL\O2$1$8KKhgzӬUUNө(J$xW#f8Ph S|hk6qxG[SF0H[5iTS|hb3f ~FsF:&r^t٢m ~I|z]fs[ő}?izq{c{K|nie{g>S#y#=E~~tendstream endobj 91 0 obj << /Filter /FlateDecode /Length 2743 >> stream xZKoY\ ԓxzd;d$ H,V#"GH*p(DžBbsytq1;>]|}H@-Bҋ×y^h{8<=xrtԽpRU+&`n$?ҰR:Zz1xW`-Wƙ>fh4!B/oRq>]LVnLUDiz9weg {Zi^Ix¿m=Tu otrAHgDQb&jOI`,=8n}*'t1{BۡR|bО&d4Ktt:޽Ηӎl%H$Y /|cTyH0Q{ԦKGRXԲu4L31:hQ<6<ϕ\o=oopJh =淓$}b%˕dI?HcUڭlEl\ F_Vl l$Efc ؎70O2FhM26by>FFu^TPؽ*擙:DziNh[Gɺ Gb8M![Awh2cr7}mJ#;IB#]+A㮶'sz Qz _g܋*3ztu^8RsZ+5I ;|)Cs U>~,MB}f {H%'!lM7Y_tGbLQr`1Ze0RiҊ@exP/GKp&bm#:>&FGsC ]PB] =2 t BB&Ni!m!鐤-E!O Ifґu*leS u7ul]7 m\^\NBB!R;P2e!aܛ]dmsoMxVmӟŲ)ϏmP|XdR@ke}2źÛ&}h2q M!_^# $=p&"SEq!i]F+-VU7]BOU|F憛;ʒqUTW: ]cqRiz#|c ;GnaDRku$?\M<u}=mendstream endobj 92 0 obj << /Filter /FlateDecode /Length 182 >> stream x]A EPFaS7.4FaQ .@1.gat.SvKA?0SI5i#N8?zVٝw}ͤ%*I IuV$6h:+$鹐 (eTJ %}LS^SBY-vM<~/!V-7]endstream endobj 93 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 598 >> stream x=]HQuu\ihҜPnԖQK=:;ݖUXQo.nD`MlT՛>ygnШ9?@ \Kk給Q <㈍0OvȼT@SƯtdZ h#dbE FCJJrkz7j![ V {eƇ:nEQTqҋqD]]$ZT֠芬ɡr:0j2ڶW[T0jU{P'k|JW (8ꓰŒ.p xXZJ0 jviD?RN#ΙIdP}-=gdHLLO=1<EC {>!'F-L޼K{rj*soY.[O.,zxBVX/輳Ŷhʯ%~.ة#IyZD]I|\z*WU󙆆TOu9ڠ߾-ed,ԡqX2'չ{~ W? $5S8V(ԋu^+ endstream endobj 94 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1058 >> stream xR{L[UBn&H%8 MF{;(PSh-j YK[:Zؠ#ZMf"[H?|e Ĺsʩ }> $uMkND[hVOgy¹ŧ -Ob۹pjVgԫYfw{ SYSaj{TzuiTݪ%;IۮVFfn//7 eʞ2ŒRƠfWU}*iQe٨lYivU_~F۩UFN׾Wv%BJ^,xR#+q`YC|#!QBoc䂠EjEl =.hM@jXzG}1$b mNŲoKò>@} NsXn"M6귏> stream xX TS׺>1xP+b=sX穎u#TEA@1̄@BHDQĹZ%X[uǵzo]bA?|lҵkǍuqzp᧡ Ї8 9X#<^rF\qR$.&VvqSN8~ة%q"Ѣ)F-|{zT4m̘ŒFIcWGFG.'JG_7?sŢi$p8*ZHDܤdNiʢԴQ;bb֋>cÆo12l1cǍIXIXE&kuzb8H!6sy|b%edb9'$| ,K"zӉ>kL/G#& pF+B=v,IC~=M=PbLU ջ>'^}A߫~v~OO?7BYK/|܀iғ8G_\Ǎ|\62;':H[=ݔ dln-9/k[v/ܰ-UC 0R2; | nlufi|wKpBq#.@.MOTrtjvk.N|2̼< >bma0(ylQ3ǹ(\\=/җe͵e)TLZQ(4 F\C$6sնDe:$Io=#a)VOc//v1D$q14nȇsIs@` CWƮKNOf%ꟓ5Y#NVɂ0Պl4Qmqp\D?zwn҅6ET]1;^+ۦb䶸CsqP_ʿ6'ZX#X*>Ļ;' IJO\{r_Wޞ Uؤ%+׆ʃNvѓٰV@fۯfoo>& Pj T&c `B=| 9.>MA6erČSog==: )-xm*`4vUD@\͑/**,*,S:DZQ g7.#O3|ea }EBʤJ٪o5<8#i89@ZnLaYAuH]db@ iggE7Ss #=O` +G -__1#Y1[j^YRz8|r;wy{[7b +U}N/> id$ mmEcO_ im{EGHP,MnMH7+@9: s>ֺv խK KB¨;h1NCl/$A.H3[^-]]4̆<4%$^Vtq[@)~/ZѦ4T pj5>n7;0UI{O7"S긂yS/[:Bڜ/<ؐj_}]6& z)Or@]D~uнƐ!pW.(xNi7 Si 085V70r?Fs .^-~w ve׃79H剖QAӫw:*:!ЄOVʶ/ݡKPFY5qM;~yuO.BO|.h"IѨ4:' F>W9~u@I Mjz_C?ݼR0U/ʦ_؁Apw"l>5.+4e @X @C|-gWlZ6[Nuv_rթ^O(ؗ,ME5{۾-P]}ӷEl|V5 f~X59X(g0g9}"ԜC9 @)R>{E)veԃ[?ޫS;UlQX7Jyf@ ҈|6W!cK0ht<`U:1L>P/oӮ / caOzh?[jr6J_Ѷvm%@ݹ/9}!:n^7}׊.|Q3x|rgt8A*$SMM @,f()CAm`F~fCw~n;yvُ3<Ӭˊ8Y4W$mAT!"uA>^>pG%hBZ۫S|tђ/EQ)fRgC-{eb,x+WJb`p^=Rd%@r^ Yw+z[>a1V( 2*sDICke-Hj/ي(yẆS;`+>ϭ: 6tKY *(F2By8NϿ4 =<5R}ZzA!;)|tXt9Koѻv C:aP 8N{cjYI!O_$mDX]Nkh -L% 6v/0d ~Ԫj'Lʩ/2mpѫ.!nNAw`S__>]j%xVgS*υy2a5V^n.a0v0s9ݷ:OY48qOIm+\b@IiyRY>Yzy]1ڄ@F2*ϘlŨݺmެV9m.*TT,Ъ 꽸5beVZ2r%L7򋜲|)ibU}^%Wg*@PiL5 V>̊\kymIKN1UTٔJ#;])?}cBɝ G?`h vft™5[Z>p xTQ~b4cpaZa%þd2tY;yp =zZ|,S֥A%/O><>*nLm.5}!n@Z_7B"ޟ4 %` 7%ȼa]f(z!6.N-r$kiٵSi #}[XRTL]_bM%֯.5oW]\sMK oVp~C\ 1Ȋ~E . xu84|4ZQ\_cg#ݯi<ٰ(*ZdKޛ֥jRg:[۪& FvӅ޻ʤ磽oC3 6R7?|Oݟuˠg&`7#S{CL *>[;d%uSq+(z"K[ Qdh[]aVR'=7sh'b-LlsG :\9OJI gM!z4Z/' V)f~@Gi1H,Kmv(ڀ_ Efp@P;oGپrnnU(L/ q__jOendstream endobj 96 0 obj << /Filter /FlateDecode /Length 5529 >> stream x\KGr^`O pa khek}hrPEdVVdVUIـ!ӬGdD_Df5郢G/~xxJ\}{Ch`!N9*}xtcà[!(eS>~uu_-pM3$nStSڤh8'VB H*c5n w_Jna&87}|5hKUM  W%J)}~V]c&MֶOVZBcϗ~(NƜlVW%2~_Ip. )z4eYq';(NNY+Sh&,j7'i4q~YEnyI[,)g䜰g>&K?߬&^áxhbUe29&Pڐh\=TN)֭~B~&w/ v{[`PYvKiEǗd_*y; .-2 {Zb9e;7s̭l/ɍ gZB?{]vW$& 7sYX<]ZJaoعmJG iFm9hqǷ/ Ag Yk;?{Pi7pyr{bԪgv'+)#=:näO{0.6&->l;E.9WGva)RǺ.׼suiUNß5ӵ $qۇdYwmᓃa>dcTS7!&uX72\/EJ(,{&&փ .=x^xO\<=8gWe2Ë+О;ALFn yE2jOSznڬnׇN4:ibb@]{sӴ䠥ܚL1`0G֎Ȁ`΃Lv$D$4|0*X-6* ,u %1B}~CZx K+'BD3/,F8~hfaLZGSUOjmrӞ\R99Lc*W&f ;1hmj7{( Np' O6jym'd؈BmGc4m [V!e=A3d4oBkm͌Hho2}}ͥ m8% Ӆ5rq#T,N9J(%"cJT(3G䟜0PyFl8I:e.EΆNWr kêPSǢ5JR<* 5?ZgЧPm_}i%>$_ӵ َN%;ټJd'*{䟲}wr`'"$sTDĆ)TREk cN$ n@6cS|]7cy`1{1J<撲- ]]e@87-C#7 vV~٧rkP*MXї>/Hzv5`bře0`ZT2ݐX8Cs J,P['KXĹՌ9b?ק ڛ②fotBȱԜ/ FcTqOaT(TWiSaBp58ͽ [ GUKl,ϔo%AwI_ԙdwܞ|x5RDy^UPD ! ^ᢗ O qfB@]6[ψ2Wa Sl&TĐ5 K=Wk?ZRkh.!fB pC FŎȭzP&"U;3 T%y[=19oqtsJRC= N!lw.t}D*4LiҚ0T17"ΰAd0 |A7 Zju=$)4N7њv&+zUS/Vh@6baP9CIP|^P>Xf[0ۮ|iwgQ~ij5'[lrՌn]gNIxLBX`r tq8VJs-SȐR93]qX2p(L u їm(yՉ-OloRG+L?,v3z7߱$6x-ۥDZoRND7=/J3wfr8.m>À+)%tR3 6Zk ]E7)L?1~3RJW&ڮ$FX\`G70bQW ,XFmHAt#i8~]ZitA읖%!EvcelN.I6Rb{[hD](Y 4 '@fuO ''\ ˈ:$W0ul_MаGy\K o lT\.h.ޛ޵'-nOy >\ `ZB"$h KOAzrngDT+yCa;E$uyD=zEйV 9w z3;2̯]{41RvbSDd\/psӐ}ŠkYk.{;2rn -u1$*wʎ@h EDqqAmJf=7uv$ vnV#ݍZ%9%MT_1 (T#d.c[:?ߞyG\ $ p#mq@pm[Hdޥ19fr{C{jfo$$tsx os%N<[e>j]F8kKcRba;0R,oa$9Cw_-)FmR,麗Hwh>З|2;vϠK@.½e59v]WpzW= T D vWAsYΩwb<&'j{+g}MH9-zȦֱwG7׭$[ eKL"!,[E$fN]1ZR7I74M~aBa<!ҹX X yj晢!*+~"[@rh`|}q"E1|TVv2 Qx.&Tly&Mf V6t)xu[@P\N<Ռi.HIaglr >aBB%m4ݛI{OZs!}syx}GY* |4My{U3y H[}KwfwS(̫K'1&Kg,!.߲|"h\Fzh' ,v(mfְT=lb{sA;TJɜ6%=S]\N*Bwze$R巂 !'Ҳ 7vj4Q}:H4УH?*"91OhG\C q?eBY#ro=T2ߔpڙQYL.(v'i/[V_J.?PݴJł48GNqo/5KbL HĴ0?6 .Tendstream endobj 97 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1435 >> stream xe{lSUome)V^ A4F02g&cQc]߽>׵+k^YSTT$Q &rXss}""=D;;- bPvޙYbJ^CX7+#s HUkqjM#d+֯_~z͚QTt+elRMS+l#|S%j63xg89~VYaJ3! _|M~b^%uz"F>gYXr3@cgn,U,k<?㥿ﺼq_Y츓.H|>CDpp[#ŋKT́CGJI /&tGQ*N{Ia@: S*zX;H걙8E-d2 |Nt՗Vp#nC&nr-F2ս-BY>f?OxxF]j PP`rwP_c^a1_ic8k[9=Ehw{r9@acѕZ3MoKI[I=И' ZCɁd0赮õv^k M ƭX4𤯻_:wo29yf 2aeq@Q֮Poo'OE&,x}Y4"~+V@?D TSSԖC3dBJ?SZ(j4Vf; vO)n>kBuwCD_atsZy3F{s!ZvBXTB(xhQqx!ͽV׬;FaH2yK_ďBٽgT/-| SC(5 E˯nz6}z?9̹l.J/Sp0qb zJmZfo_=י+&cvF$sCXӝ)fkHx^endstream endobj 98 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 869 >> stream xOuh{f霆8w=l &:ɶtvscbZۣGK[Jp+ d%K#lDcG{=v_w^gw8mp'SGtr@ҶNz 赫?=1-Bn/utm_>|~˰nGmڸf(}#HjZ鈛sLaÌ~6/C?rk{]~o`cXw07a6yaXv/`AaO(ym٪pt.꾣Q}O0DƧcK'3׿V_zB8tFaKzYjB =zn.gXds|iri6QBO(HbqDנEe3 yVf!jz#4 emY''C9va(ry!r2r#nHCTlX~ da Lv iB8RU,WcReƆp}k +}ߔqn8o=t4QT|DyUTMS>GMpټs*r4Igg ?A. R!O*%_^^ti;7f<!?Cidơ_hEl. q"//BP"pE$(BiG +0,Qqqf(P_}V2#yPNgWɩ)uǨڣ~Wc?Hendstream endobj 99 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 443 >> stream xcd`ab`dddu 21T~H3a!cO]nn?G ~(Ș[_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*\"s JKR|SR Ab?M?o>҇]ޝ+ڝ͑¾lzٳTR> 7Qޔ=c<ȨߟgxwS?0X_4ѳժ?wk=9jʕ[u_.oߢfZ-Y1wºrxa[+'Woߍss$-<{ ~'Ncu[|>I<<20Fhendstream endobj 100 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 397 >> stream xcd`ab`dddsuH3a!nnM }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤1000V00D2012S{p|.]|%vuw7uvgQg:KXluQݕP%ٿv-[ŷ[*mUOv^6;wV,Xsَ= ƕv揀iN;n2~|r\,y8Nη怗endstream endobj 101 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 272 >> stream xcd`ab`ddds 4H3a!=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|¾g.3%t/]Z]-pIly?헰Vξk?<<@ \endstream endobj 102 0 obj << /Filter /FlateDecode /Length 4116 >> stream x[]~XXWPETMRjX@*f #w>>nB"^_{<3yb#_1/{t~WvuzuVxq9:_9-q"_qaFc8?:VjQpab\ lJrWkl:uf{h caL:?|H-Gw^Dz4N0z{1j7"a. v3o?qv9dG!F"K> kz^ç8KnM#F6 愯?@܀G|ЮL?;8|(iNY=l}1 x93 L9A4L/\PChZP j;8c |=NHm`H\(COְqab_^,ly֊aYv0\! 1hmS3\X0hWq$p3: ?Nz>CҊ+Oځ{ggQTn̰ ZrqR~-wuXicS"2,\0v9Zr Z k'k:ku1a@#5KH$@z,N Wd~5%]&Z*, eˀ^ޏm EXG88f(&1KTm l`.;|hBhDo}G`x זyW@yLǭ8']dTѧ"ȹud5DhBay[(-4~˜Ѻ]Ƥ9%GO> ]Þ/:X#u 73ƭFD1TqRDxjls#Gak/iнHi .xp\o^s8/"ԛBjyAEX&[Q%=!} ǝ8)H5ېa!d^}× 3=n6*IrcW&LɖZl~L $SbXROC/a|8J>*\g)ޜ835 dLD0{lCb [^p `@I\a;-()DILS9޴JJZ܄F`$MlVBT#W 2OC`3XVox_wh_>A& 3,rΑݸT y2uY.g8FGK`#ZXF3 %ݷZGY $} cKg LjbE!!XSe@*+ېS!/SuIF)\a+^}nr w?]wnGcMܐ*Q锝dJl!iLP`,sgSꠄWIp^,ݩOHX oh|`Hx!ae&t"`qNV5מϖ MflU4R )GY;bjrCUEz&-o6a="^$\]~FSyĨ#]9X$p\+NW Ա5Eq˦oDe='.+hia %]yRWr.F\raK䔾)FFD Bā;*LUo($E:t!^afb/v&8spl}T~ -954tSMvI)7!#˭K~xl\eKc(}+hb|-Akw,-}@ ϿǥZX=k¡,*hN\3I^ws%yk5 Wj*ΉrbBeY(k{$ȶTnd, ƒvN,_nnp4.JMEe1 {Ӥ R b:'qqE},ųb'ҡ6 ^U'y=":m o皫 (2IH`Pn{K['Cȝr?Vn0u )jl:rb6,5 Tgp e$0wKqRU$iO&,nl,fP4z% jx4Mpտy`gf TDJ.旎A92ZZUbCML-^n XYYb݆ DZ0>ńp_1o9 +@t!SeNKY=?`O` }+ AI{:>jz^|IԸmzJJ3_-xI2Bjl!Ȃ!հ#& )a`m= Gyd:3s搩5fL5A-2xCME 3kx8]D~gՉ?&F19!K \0t{UK+ވg:g6+KB hc5eҡ"5 hw-2-σVN~*$&AN䯱po!<dz=ƲbeZyyCBw&a[ aVT9,!qnǜwں"F }}$J9{STcRͱPR?OI^ߢ1*H 5fY7s8|NLѼ/ C&f,iۋ͜!11NJFE:){fo%ʁ{kL^8 =Xq\XEka*Ґ>+GQYQ Fj?KTKE.tzξs*^UÊj.({u=g[!ϞǑV/lP|d'ck:C[  )J|Lfݾ 6|&vo92AJ8|?+V)+'_?gtu$$~0)~CdEhJP'QÀi Sdr_ Z|75:qT~P> 6  8q@},ޱqU]!G&³2$T/ ;6N%wR鍝 ע{j&>jX2~^16 JƔ g0tF\hS`?ܔޣ^q(MS7};>.Js[}s1,wkd YGk*Sm^7=|sb:v^I, K n4%~ͺ=6H!{u'/f6dw^eiO|rd@'elKIi>.#W_ubKc {e|AoU-͓> stream x-OMhQ|q[*5yh-$HIA+RJ=tI&7M6b66$&ɡ"<(zSo Ou{ffYLaz/s7yvюcfHkGZ3gYP~:NoCfӼMH@nxz)ۃυ)EGBGvm<"CI3AB.W<w1(x5!&HS#E^ G' a8!HP@7Ȃ9eldC6a;u^E4v'sbu:/#k X{ձy'MܴMAoXaFK룯}gP/(a55Km P)JUtO7Oj'-@}1]L0 i$*XC0m~-(<:T+CRHw c 1 @ OvQjrɱ,+r.I2sP-YѮݧVc,emko$D) 7endstream endobj 104 0 obj << /Filter /FlateDecode /Length 2345 >> stream xYߓ~2|;Z$U)? {Avc4֜ThV_ZW 1ȅ?9˳Wg2+ X=;K B a~)7=ou_J$Auzw+t"XW !tR UOz.sޢ25B*hzb Л&Oƛ4r ^9̠E -Z'0({2i'=EO g#?2)P*maˣ(:eqI-]3Gn# Bn)FbP ?K4|uRF jo貌.,x7E|E u_1kE_q,e{ݺoٌLx0yzt[._enݮJSNpTE(#WEdQO!qT(y-g*CCmD{Ԅ5aSī&%S[| ,;lnnneznORQ%5ز"S,0_K-8K"sΝlcD^;l]5y\Edrf{"a+0U%vy*ʾklv3VrOM+~Bbbwݝe82b, 7M-ۦ/9-k`\s365v>܏yLLLt1%P`TE L^]{&ho#axޫc86t`_zJ:u!+7Vi0*Mw z'a:tǶ`М^9<oW>9-UZ2oBJHx9eNg^hE. VqOTAKM~&Dtb{œ yrпqOZ#q(BE"; ,S} 34IagۏT719@F])F/00r3Ϯs7 i!LT[dCM rhFVn:!8F;Ս71C#Q{OliIheY\4' :'YA`Hy$ֆ7 [#??4B@Ì2s{{< %T e*}}@o^5 rt):ajWo4`rYwmfp4 TfkWoĮm>d:>%v{BuhGK'BD+Mxmcs`(oa,iPZBCj8 ϭb*h5Bije6NB>t?e1>Z O[@HO!H K#.H֐̢mS0+{M2<߰/DL ?"`6b:~KNj 3[ꀕD2- Pg?`QɅ R-yZt7j>ĩ#|(!@.1B\,Z>h~V$&~`MjK$.)Z{ͶOM_Tu?C8).D\_ԫ E10Uxd\FLPӷ}oj&uZNnL"n}z; =L|SmB'p $•D[wt9E|]X_jtb$K.)wD*(MU&T<]VG(ݦ}0|)puO+.*endstream endobj 105 0 obj << /Filter /FlateDecode /Length 4303 >> stream x[s{n#W'],ΘzdlM'3Ll~Cݦ\_ˀ[cMIz'4F(%Ec|Ԣ }/MIŹsQiFs:o_¸6ܻjXjLdZNNì>LW45ee dn8{q' o#gpvy.Q|LMvgBp3^ 6Co>mo{eol`v ]dSj34L_ќzF#\^odkP}AX)~ٞpW8-Mދ'JV&Ov_z聂:˳ۓg%dmnH`ߛ lȗv7k'وֻb-L`tu\b"LC[4&fP3s^r=$uZSwݕ")23iGE{:EҺ} 9(:neMړjnQLN(CD(UV {Il*ҮGdȴJ4`5ySպE 7[^}e]{x;-N⤑ v.@ې`=^5&Q]sqJVw}ZtWtݫUΙrS%cpzDDm#B 1-)D8*/%P"Gf:3R/.Uc4ФeFr2 =Q=gZsL#!#Wm,{fn'(~ަ}%%H<ؠZ/f9*zA1q-R{b\d%_4(}xU!Ĵ!v}AU7(AL{ Ss|3M6Imy# T_?l=2f?g ZF[*)[g8VCJ;W>fā7]LFC iHs+,(} f٪8lwѺY " S9_CMua:OpcR[vcJwt5)_{:rSʼTŖ>%E*S4g 4C+nI/@9` TeSa kx_AIk$t(,o jr2^RDzJ<Jtp4Xfɻ;c͡q)J݂~5 {@=G &!Gۯ@eBd|cC[#5%"9,L Ș *nȘqY'rKAC.9TJ.ttp}jbJ" 4ڎ'U j6{D$J=Jʑ+E."m}/-1Z^z9ӯCz))JLnU_BnU?l"˧Ꜫ'T8* s"A*Sj').J#E1{Fb0BIRO&dC<~};*3CղLkuSibTA&e]o|jL =,lu9QcHe3Ӂ΋Sg<gR); '#icT;׷d=lF/= R5Wg<}VZ젖х鳷?@uJN'ѱZOR[!Y ݒEr}Ӥە%-%OnA%) ^!YW9<|bE` $,H"#ob݄k Qz_[vfMMKL~Xa>ER{ W)QTxbI:$E5.hU{Gds3I1$Ti+i@ƅ\l4Ⱦ7Ny|,,m1pORKYQβ\D\}rY=C_9yu_; *՘7CndSmKqaJk9> stream xWyTSwھ1Ki M5s/UֵZjK(bvȒB !{$d!  A"("biE3Ojik3[mԞ73ߜ<"O#X,֌M1 [W]`[ĤnRC`L|PafŪMaS8rڵkD>bȍY"~FZAdLZQNV~ZS**eNQb/r"_:%*ʌ|UPP#-?+reS/,Qd 3KT@DƂWEJ32ew&/%D,#N""vgWįīD4Bl%bJ8 =V4 MtjcRIARlnW~.GD87y_9áy[E]`Xs#ck22{<$/|Z1s  fwnlTC35.'6aҗQw|0P.#eߊ|ܯ.ba|fbnGce}nC쮳tc@wĥ/̍ $24R ,ӟ#\c դ`W5 ^ۘz)Pt&)f*Q(ЁSh*P=z/sh^:FO|U yfU&ttX_M1}hx?h݄["}-8 rKus%qO([XoR#xLdcHPc,7>:*;5>Dk^E* ֲ6PgKejb?'-(km19NvB]k!Hdsj3eN7܆f2Ђ^)(~V/f&Tfd7֊=b+#LyJy C隃l'd5;Pt wχ65ażFnB-NK :N/XxeHQM(y.d5~_lbZ)xIG2eeUTIu =dC,#w8Z9;\h3T։UJ= 3)}UO"(O2đ#NfK-4R0Q)j)1 N]APIn.䪱ݝTîu#Bâ,`(VS@B{R=Ş|߰m6 uYIc )A:SXzO ZC?O 9^e`T}no]f\G_x\D ν%G&sU| ʍ`,f h=p0yٸxen̋ ۧ/l{t`PŬݘ>hif2S3֝/2ZMރ UFl\zCkuP܃ N [l!n'NiK{o8wYu~g(JPR>-rhpl۶StG1ۃttBdM -SNa0(eAn OS&BTi}DqS_gmZ ٱ.hC!ut^}p.!M) O5^낋`#>Yټ9.9Vw!)f-Cy&x/anw11ߙ.{=f[1Yܠ86HoI_,b竨fZ`c0w9ܝYHWlP,ԶB)uHE"qN@I~'y^ę c>@h97q#(8 f8M *ǃLյ4ǩO8G g9IX 0S1L=Pћ‰ߢ/F%k*%>/c_ jz]XX'-4RV]z*Z*2aGj3D1O>wȋlSX`T'|=1;5kt~\N 3Qw?5 UkN3U]ׅuLkt%''?ꛪ0عo}<7܏nS |G)3{ ea|F[YKbSsI$t *'bEgnAOWSkE\.+&emSGaf蹢ޘ@)Oz~ec_xaD1!myuaټ3v]}S,lr_|z`C\*Wh5]}RR)d/,(bϱ>AV6zr1fj`OI*ЃBHb4p4 ߬Ԭk̙Croendstream endobj 107 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1422 >> stream xkLSgO)tGdut&yt3 *ހV(^h)--)S Z urN#&>>l9|Al˖,ه}9yO>?/ KLh4#' 7{a{[[CM$HCJbj $[PFrU qY)_Y_nvvf{[fs>eEJNW Rꥂ/,*IҪ홙r<+dť;7lˤ|1'9{R!y-3G(Ĝ%H }.4 xUW!3&v5Q>r7X&rge<Ir[cJP\NJ9s=1-+%;H(5$H9-WsW-nlUx[z~+u|XNb, xPVB.:AAM$_'MSGoCl(܀`۰4 j1G;@+;7/P}(3-Yz#XZzPEIYMF4WgեZ+84 :)_ Dʢß kTT7!lo˗xѽ-d.x?ً?j0yuNb^}.S#xvFX7ж_|a?-jޜ8$XipG::ϼy V*NhP7~olk/S[:}o \B=5:> stream xU{PSW"mmUEVUA+" $$" <R/_hv[SJ;uǹ;K3w3}~DxĦMA3_Q6o<x[?y2Lډ0ZWdtlt~PТ9AtyJF$Jyz"+lҤjd*9#e 麹䥳H *V)(3Iҕ5+].:utgJ#4IL5aS՚LZeHܑ$W$+UCbX$}m¢YX °p,[Va5ػX`iB-01bf£(Rxs]"DI$l2˫חŇpaz+h[|nA/#vj@jJf. vGT@[0˭U(R%;-cnBNi x ٗwjizH5q">NUTv=hyV Hn ĜU2'l{-dZ^f1{5TJL@V]uv ?NkU3O2T'tm/UK&pqqZ{Pph=4(KKZ:ܣD h(NO*@uZr}L郎Du !#xV`˧&PF!ν>[:IHs#tJqT4ٹԧ -ݥZ [ihz~ϸ}졖N`z=_ s׊DXHd1*FĽ91VM3= E0iuPq?m ۜDģ&-ϊ+@2(27+e-1'jj6 zpDn44mWR_REҼsBp4|BUSԝ;H?-9㭇OJkA ^LYϠ%h60\68c*;hH2FS8̈́PY2CrGQ;v?;}KFAg7KnAtk \Cd 1$4qp6ĺ:kNb@y%B?*Q_>|콴9vCw[">n-4$(37h⏄/*\#4l/EՒTk6YXv-'c pk6U9cxPv z]T!FAe*A%8*5Z ZwmFRQ}pJZk5ZhjUJ@-TT ͚ū&r?"8:B iwv^ܙ˔ bيuv|y}c ݿ@h _llFòMk54h(ͺmx &$p' >'EcpەЯ\= v8iH;rwXb{Eؑq@1{!=8 OoS vǁ-;OI)Tg5@ S\ppAvR?A(.A\IzB_OWsxa/~ hD*dڅH ݺS' Ј7D4D+:>xJKK:؝dtlr oJo~sg{B7xY7.RQ!ۣw LJo/@ӠbP?/ ypNa"wSiM mZUFGaH9Kq8qۋvxOBkendstream endobj 109 0 obj << /Type /XRef /Length 140 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 110 /ID [<915cf13cafd68ab590040926a1cae67d>] >> stream xcb&F~0 $8Ja?@V A$F R9 Y"y>= set.seed(290875) ### options(width=60, prompt="R> ") @ \section*{Introduction} The numerical computation of a multivariate normal or $t$ probability is often a difficult problem. Recent developments resulted in algorithms for the fast computation of those probabilities for arbitrary correlation structures. We refer to the work described in \cite{numerical-:1992}, \cite{comparison:1993} and \cite{numerical-:1999}. The procedures proposed in those papers are implemented in package {\ttfamily mvtnorm}, available at CRAN. Basically, the package implements two functions: {\ttfamily pmvnorm} for the computation of multivariate normal probabilities and {\ttfamily pmvt} for the computation of multivariate $t$ probabilities, both for arbitrary means (resp. noncentrality parameters), correlation matrices and hyperrectangular integration regions. We first illustrate the use of the package using a simple example of the multivariate normal distribution in Section \ref{simple}. A little more details are given in Section \ref{details}. The application of {\ttfamily pmvt} in a multiple testing problem is discussed in Section \ref{appl}. \section{A Simple Example \label{simple}} Assume that $ X = (X_1, X_2, X_3) $ is multivariate normal with correlation matrix \begin{eqnarray*} \Sig = \left( \begin{array}{ccc} 1 & \frac{3}{5} & \frac{1}{3} \\ \frac{3}{5} & 1 & \frac{11}{15} \\ \frac{1}{3} & \frac{11}{15} & 1 \end{array} \right) \end{eqnarray*} and expectation $ \mu = (0,0,0)^{\top} $. We are interested in the probability \begin{eqnarray*} P(-\infty < X_1 \le 1, -\infty < X_2 \le 4, -\infty < X_3 \le 2). \end{eqnarray*} This is computed as follows: <>= library(mvtnorm) m <- 3 sigma <- diag(3) sigma[2,1] <- 3/5 sigma[3,1] <- 1/3 sigma[3,2] <- 11/15 pmvnorm(mean=rep(0, m), sigma, lower=rep(-Inf, m), upper=c(1,4,2)) @ First, the lower triangular of the correlation matrix {\ttfamily sigma} is needed. The mean vector is passed to {\ttfamily pmvnorm} by the argument {\ttfamily mean}. The region of integration is given by the vectors {\ttfamily lower} and {\ttfamily upper}, both can have elements {\ttfamily -Inf} or {\ttfamily +Inf}. The value of {\ttfamily pmvnorm} is the estimated integral value with two attributes \begin{itemize} \item {\ttfamily error}: the estimated absolute error and \item {\ttfamily msg}: a status message, indicating wheater or not the algorithm terminated correctly. \end{itemize} From the results above it follows that \begin{eqnarray*} P(-\infty < X_1 \le 1, -\infty < X_2 \le 4, -\infty < X_3 \le 2) \approx 0.82798 \end{eqnarray*} with an absolute error estimate of $2.0e-06$. \section{Details \label{details}} This section outlines the basic ideas of the algorithms used. The multivariate $t$ distribution (MVT) is given by $$ \bT(\ba, \bb, \Sig, \nu) = \frac{2^{1-\frac{\nu}{2}}}{\Gamma(\frac{\nu}{2})} \int\limits_0^{\infty}s^{\nu-1}e^{-\frac{s^2}{2}} \Ph(\frac{s\ba}{\sqrt{\nu}},\frac{s\bb}{\sqrt{\nu}},\Sig) ds, $$ where the multivariate normal distribution function (MVN) $$ \Ph(\ba,\bb, \Sig) = \frac{1}{\sqrt{|\Sig| (2\pi)^m}} \int\limits_{a_1}^{b_1} \int\limits_{a_2}^{b_2} ... \int\limits_{a_m}^{b_m} e^{- \frac{1}{2} \bx^t \Sig^{-1} \bx} d\bx, $$ $\bx = (x_1, x_2, ..., x_m)^t$, $-\infty \leq a_i < b_i \leq \infty$ for all $i$, and $\Sig$ is a positive semi-definite symmetric $m \times m$ matrix. The original integral over an arbitrary $m$-dimensional, possibly unbounded hyper-rectangle is transformed to an integral over the unit hypercube. These transformations are described in \cite{numerical-:1992} for the MVN case and in \cite{numerical-:1999} for the MVT case. Several suitable standard integration routines can be applied to this transformed integral. For the present implementation randomized lattice rules were used. Such lattice rules seek to fill the integration region evenly in a deterministic process. In principle, they construct regular patterns, such that the projections of the integration points onto each axis produce an equidistant subdivision of the axis. Robust integration error bounds are obtained by introducing additional shifts of the entire set of integration nodes in random directions. Since this additional randomization step is only performed to introduce a robust Monte Carlo error bound, 10 simulation runs are usually sufficient. For a more detailed description \cite{numerical-:1999} might be referred to. \section{Applications \label{appl}} The multivariate $t$ distribution is applicable in a wide field of multiple testing problems. We will illustrate this using a example studied earlier by \cite{the-effici:1987}. For short, the effects of $5$ different perfusates in capillary permeability in cats was investigated by \cite{blood-and-:1987}. The data met the assumptions of a standard one-factor ANOVA. For experimental reasons, the investigators were interested in a simultaneous confidence intervals for the following pairwise comparisons: $ \beta_1 - \beta_2, \beta_1 - \beta_3, \beta_1 - \beta_5, \beta_4 - \beta_2 $ and $ \beta_4 - \beta_3 $. Therefore, the matrix of contrast is given by \begin{eqnarray*} \C = \left( \begin{array}{rrrrr} 1 & -1 & 0 & 0 & 0 \\ 1 & 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & 0 & -1 \\ 0 & 1 & 0 & -1 & 0 \\ 0 & 0 & 1 & -1 & 0 \end{array} \right) . \end{eqnarray*} \cite{the-effici:1987} assumed that $ \beta = (\beta_1, \dots, \beta_5) $ is multivariate normal with mean $ \beta $ and covariance matrix $ \sigma^2 \V $, where $ \V $ is known. Under the null hypothesis $ \beta = 0 $, we need knowledge about the distribution of the statistic \begin{eqnarray*} W = \max_{1 \le j \le 5} \left\{ \frac{| c_j(\hat{\beta} - \beta) |}{\hat{\sigma}\sqrt{c_j \V c_j^{\top}}} \right\} \end{eqnarray*} where $ c_j $ is the $j$th row of $ \C $. By assumption, $\hat{\sigma}$ is $ \chi_\nu $ distributed, so under hypothesis $ W $ the argument to $ \max $ follows a multivariate $ t $ distribution. Confidence intervals can be obtained by $ c_j \hat{\beta} \pm w_\alpha \hat{\sigma} \sqrt{c_j \V c_i^\top} $, where $ w_\alpha $ is the $ 1 - \alpha $ quantile of the null distribution of $ W $. Using {\ttfamily pmvt}, one can easily compute the quantile for the example cited above. <>= n <- c(26, 24, 20, 33, 32) V <- diag(1/n) df <- 130 C <- c(1,1,1,0,0,-1,0,0,1,0,0,-1,0,0,1,0,0,0,-1,-1,0,0,-1,0,0) C <- matrix(C, ncol=5) ### covariance matrix cv <- C %*% V %*% t(C) ### correlation matrix dv <- t(1/sqrt(diag(cv))) cr <- cv * (t(dv) %*% dv) delta <- rep(0,5) qmvt(0.95, df = df, delta = delta, corr = cr, abseps = 0.0001, maxpts = 100000, tail = "both") @ {\ttfamily n} is the sample size vector of each level of the factor, {\ttfamily V} is the covariance matrix of $ \beta $. With the contrasts $ \C $ we can compute the correlation matrix {\ttfamily cr} of $ \C\beta $. Finally, we are interested in the $ 95\%$ quantile of $ W $. The {\ttfamily alpha} quantile can now be computed easily using {\ttfamily pmvt}. The $95\%$ quantile of $ W $ in this example is $ 2.56 $ , \cite{the-effici:1987} obtained the same result using $ 80.000 $ simulation runs. The computation needs $ 8.06 $ seconds total time on a Pentium III $450$ MHz with $256$ MB memory. Using package {\ttfamily mvtnorm}, the efficient computation of multivariate normal or $ t $ probabilities is now available in {\ttfamily R}. We hope that this is helpful to users / programmers who deal with multiple testing problems. \bibliographystyle{plainnat} \bibliography{litdb} \end{document} mvtnorm/tests/0000755000176000001440000000000012266222055013150 5ustar ripleyusersmvtnorm/tests/Examples/0000755000176000001440000000000012266222055014726 5ustar ripleyusersmvtnorm/tests/Examples/mvtnorma-Ex.Rout.save0000644000176000001440000002205110754105373020756 0ustar ripleyusers R version 2.6.2 (2008-02-08) Copyright (C) 2008 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ### *
> ### > attach(NULL, name = "CheckExEnv") > assign("nameEx", + local({ + s <- "__{must remake R-ex/*.R}__" + function(new) { + if(!missing(new)) s <<- new else s + } + }), + pos = "CheckExEnv") > ## Add some hooks to label plot pages for base and grid graphics > assign("base_plot_hook", + function() { + pp <- par(c("mfg","mfcol","oma","mar")) + if(all(pp$mfg[1:2] == c(1, pp$mfcol[2]))) { + outer <- (oma4 <- pp$oma[4]) > 0; mar4 <- pp$mar[4] + mtext(sprintf("help(\"%s\")", nameEx()), side = 4, + line = if(outer)max(1, oma4 - 1) else min(1, mar4 - 1), + outer = outer, adj = 1, cex = .8, col = "orchid", las=3) + } + }, + pos = "CheckExEnv") > assign("grid_plot_hook", + function() { + pushViewport(viewport(width=unit(1, "npc") - unit(1, "lines"), + x=0, just="left")) + grid.text(sprintf("help(\"%s\")", nameEx()), + x=unit(1, "npc") + unit(0.5, "lines"), + y=unit(0.8, "npc"), rot=90, + gp=gpar(col="orchid")) + }, + pos = "CheckExEnv") > setHook("plot.new", get("base_plot_hook", pos = "CheckExEnv")) > setHook("persp", get("base_plot_hook", pos = "CheckExEnv")) > setHook("grid.newpage", get("grid_plot_hook", pos = "CheckExEnv")) > assign("cleanEx", + function(env = .GlobalEnv) { + rm(list = ls(envir = env, all.names = TRUE), envir = env) + RNGkind("default", "default") + set.seed(1) + options(warn = 1) + .CheckExEnv <- as.environment("CheckExEnv") + delayedAssign("T", stop("T used instead of TRUE"), + assign.env = .CheckExEnv) + delayedAssign("F", stop("F used instead of FALSE"), + assign.env = .CheckExEnv) + sch <- search() + newitems <- sch[! sch %in% .oldSearch] + for(item in rev(newitems)) + eval(substitute(detach(item), list(item=item))) + missitems <- .oldSearch[! .oldSearch %in% sch] + if(length(missitems)) + warning("items ", paste(missitems, collapse=", "), + " have been removed from the search path") + }, + pos = "CheckExEnv") > assign("ptime", proc.time(), pos = "CheckExEnv") > grDevices::postscript("mvtnorm-Ex.ps") > assign("par.postscript", graphics::par(no.readonly = TRUE), pos = "CheckExEnv") > options(contrasts = c(unordered = "contr.treatment", ordered = "contr.poly")) > options(warn = 1) > library('mvtnorm') > > assign(".oldSearch", search(), pos = 'CheckExEnv') > assign(".oldNS", loadedNamespaces(), pos = 'CheckExEnv') > cleanEx(); nameEx("Mvnorm") > ### * Mvnorm > > flush(stderr()); flush(stdout()) > > ### Name: Mvnorm > ### Title: Multivariate Normal Density and Random Deviates > ### Aliases: dmvnorm rmvnorm > ### Keywords: distribution multivariate > > ### ** Examples > > dmvnorm(x=c(0,0)) [1] 0.1591549 > dmvnorm(x=c(0,0), mean=c(1,1)) [1] 0.05854983 > > sigma <- matrix(c(4,2,2,3), ncol=2) > x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma) > colMeans(x) [1] 1.017636 1.937467 > var(x) [,1] [,2] [1,] 4.030475 1.981823 [2,] 1.981823 3.242750 > > x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma, method="chol") > colMeans(x) [1] 0.994023 1.955242 > var(x) [,1] [,2] [1,] 4.077508 2.018602 [2,] 2.018602 3.290346 > > plot(x) > > > > cleanEx(); nameEx("Mvt") > ### * Mvt > > flush(stderr()); flush(stdout()) > > ### Name: Mvt > ### Title: The Multivariate t Distribution > ### Aliases: dmvt rmvt > ### Keywords: distribution multivariate > > ### ** Examples > > > dmvt(x=c(0,0), sigma = diag(2)) [1] -1.837877 > x <- rmvt(n=100, sigma = diag(2), df = 3) > plot(x) > > > > > cleanEx(); nameEx("pmvnorm") > ### * pmvnorm > > flush(stderr()); flush(stdout()) > > ### Name: pmvnorm > ### Title: Multivariate Normal Distribution > ### Aliases: pmvnorm > ### Keywords: distribution > > ### ** Examples > > > n <- 5 > mean <- rep(0, 5) > lower <- rep(-1, 5) > upper <- rep(3, 5) > corr <- diag(5) > corr[lower.tri(corr)] <- 0.5 > corr[upper.tri(corr)] <- 0.5 > prob <- pmvnorm(lower, upper, mean, corr) > print(prob) [1] 0.580005 attr(,"error") [1] 0.0002696831 attr(,"msg") [1] "Normal Completion" > > stopifnot(pmvnorm(lower=-Inf, upper=3, mean=0, sigma=1) == pnorm(3)) > > a <- pmvnorm(lower=-Inf,upper=c(.3,.5),mean=c(2,4),diag(2)) > > stopifnot(round(a,16) == round(prod(pnorm(c(.3,.5),c(2,4))),16)) > > a <- pmvnorm(lower=-Inf,upper=c(.3,.5,1),mean=c(2,4,1),diag(3)) > > stopifnot(round(a,16) == round(prod(pnorm(c(.3,.5,1),c(2,4,1))),16)) > > # Example from R News paper (original by Genz, 1992): > > m <- 3 > sigma <- diag(3) > sigma[2,1] <- 3/5 > sigma[3,1] <- 1/3 > sigma[3,2] <- 11/15 > pmvnorm(lower=rep(-Inf, m), upper=c(1,4,2), mean=rep(0, m), corr=sigma) [1] 0.8279847 attr(,"error") [1] 2.658133e-07 attr(,"msg") [1] "Normal Completion" > > # Correlation and Covariance > > a <- pmvnorm(lower=-Inf, upper=c(2,2), sigma = diag(2)*2) > b <- pmvnorm(lower=-Inf, upper=c(2,2)/sqrt(2), corr=diag(2)) > stopifnot(all.equal(round(a,5) , round(b, 5))) > > > > > cleanEx(); nameEx("pmvt") > ### * pmvt > > flush(stderr()); flush(stdout()) > > ### Name: pmvt > ### Title: Multivariate t Distribution > ### Aliases: pmvt > ### Keywords: distribution > > ### ** Examples > > > n <- 5 > lower <- -1 > upper <- 3 > df <- 4 > corr <- diag(5) > corr[lower.tri(corr)] <- 0.5 > delta <- rep(0, 5) > prob <- pmvt(lower=lower, upper=upper, delta=delta, df=df, corr=corr) > print(prob) [1] 0.5063832 attr(,"error") [1] 0.0002426557 attr(,"msg") [1] "Normal Completion" > > pmvt(lower=-Inf, upper=3, df = 3, sigma = 1) == pt(3, 3) [1] TRUE > > # Example from R News paper (original by Edwards and Berry, 1987) > > n <- c(26, 24, 20, 33, 32) > V <- diag(1/n) > df <- 130 > C <- c(1,1,1,0,0,-1,0,0,1,0,0,-1,0,0,1,0,0,0,-1,-1,0,0,-1,0,0) > C <- matrix(C, ncol=5) > ### covariance matrix > cv <- C %*% V %*% t(C) > ### correlation matrix > dv <- t(1/sqrt(diag(cv))) > cr <- cv * (t(dv) %*% dv) > delta <- rep(0,5) > > myfct <- function(q, alpha) { + lower <- rep(-q, ncol(cv)) + upper <- rep(q, ncol(cv)) + pmvt(lower=lower, upper=upper, delta=delta, df=df, + corr=cr, abseps=0.0001) - alpha + } > > round(uniroot(myfct, lower=1, upper=5, alpha=0.95)$root, 3) [1] 2.561 > > # compare pmvt and pmvnorm for large df: > > a <- pmvnorm(lower=-Inf, upper=1, mean=rep(0, 5), corr=diag(5)) > b <- pmvt(lower=-Inf, upper=1, delta=rep(0, 5), df=rep(300,5), + corr=diag(5)) > a [1] 0.4215702 attr(,"error") [1] 0 attr(,"msg") [1] "Normal Completion" > b [1] 0.4211428 attr(,"error") [1] 7.078415e-06 attr(,"msg") [1] "Normal Completion" > > stopifnot(round(a, 2) == round(b, 2)) > > # correlation and covariance matrix > > a <- pmvt(lower=-Inf, upper=2, delta=rep(0,5), df=3, + sigma = diag(5)*2) > b <- pmvt(lower=-Inf, upper=2/sqrt(2), delta=rep(0,5), + df=3, corr=diag(5)) > attributes(a) <- NULL > attributes(b) <- NULL > a [1] 0.565397 > b [1] 0.5653944 > stopifnot(all.equal(round(a,3) , round(b, 3))) > > a <- pmvt(0, 1,df=10) > attributes(a) <- NULL > b <- pt(1, df=10) - pt(0, df=10) > stopifnot(all.equal(round(a,10) , round(b, 10))) > > > > > cleanEx(); nameEx("qmvnorm") > ### * qmvnorm > > flush(stderr()); flush(stdout()) > > ### Name: qmvnorm > ### Title: Quantiles of the Multivariate Normal Distribution > ### Aliases: qmvnorm > ### Keywords: distribution > > ### ** Examples > > qmvnorm(0.95, sigma = diag(2), tail = "both") $quantile [1] 2.236497 $f.quantile [1] 2.5831e-06 attr(,"error") [1] 1e-15 attr(,"msg") [1] "Normal Completion" $iter [1] 11 $estim.prec [1] 6.103516e-05 > > > > cleanEx(); nameEx("qmvt") > ### * qmvt > > flush(stderr()); flush(stdout()) > > ### Name: qmvt > ### Title: Quantiles of the Multivariate t Distribution > ### Aliases: qmvt > ### Keywords: distribution > > ### ** Examples > > qmvt(0.95, df = 16, tail = "both") $quantile [1] 2.119906 $f.quantile [1] 2.467696e-08 attr(,"error") [1] 0 attr(,"msg") [1] "univariate: using pt" $iter [1] 11 $estim.prec [1] 6.103516e-05 > > > > ### *