[Gsdesign-commits] r175 - in pkg: R inst inst/NewTests inst/doc man tex/figs tex/tmphelp/Rd tex/tmphelp/tex

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun Aug 16 23:31:33 CEST 2009


Author: keaven
Date: 2009-08-16 23:31:32 +0200 (Sun, 16 Aug 2009)
New Revision: 175

Added:
   pkg/inst/NewTests/
   pkg/inst/NewTests/sfLinearTest.R
   pkg/man/sfLinear.Rd
   pkg/tex/figs/sfLinear.pdf
   pkg/tex/tmphelp/Rd/sfLinear.tex
   pkg/tex/tmphelp/tex/sfLinear.tex
Modified:
   pkg/R/gsBinomial.R
   pkg/R/gsDesign.R
   pkg/R/gsSpending.R
   pkg/inst/doc/gsDesignManual.pdf
Log:


Modified: pkg/R/gsBinomial.R
===================================================================
--- pkg/R/gsBinomial.R	2009-08-06 22:10:33 UTC (rev 174)
+++ pkg/R/gsBinomial.R	2009-08-16 21:31:32 UTC (rev 175)
@@ -163,7 +163,7 @@
         c <- delta0 ^ 2 + delta0 * (2 * p1 + a) + p1 + ratio * p2
         d <- -p1 * delta0 * (1 + delta0)
         v <- (b / (3 * a)) ^ 3 - b * c / 6 / a ^ 2 + d / 2 / a
-        u <- sign(v) * sqrt((b / 3 / a) ^ 2 - c / 3 / a)
+        u <- (sign(v) + (v==0)) * sqrt((b / 3 / a) ^ 2 - c / 3 / a)
         w <- (pi + acos(v /u ^ 3)) / 3
         p10 <- 2 * u * cos(w) - b / 3 / a
         p20 <- p10 - delta0
@@ -326,7 +326,7 @@
         L1 <- (n2 * delta0 - ntot - 2 * x2) * delta0 + xtot
         L0 <- x2 * delta0 * (1 - delta0)
         q  <- (L2 / (3 * ntot)) ^ 3 - L1 * L2 / 6 / ntot ^ 2 + L0 / 2 / ntot
-        p  <- sign(q) * sqrt((L2 / (3 * ntot)) ^ 2 - L1 / (3 * ntot))
+        p  <- (sign(q) + (q==0)) * sqrt((L2 / (3 * ntot)) ^ 2 - L1 / (3 * ntot))
         a  <- q / p ^ 3
         a[a > 1] <- 1
         a  <- (pi + acos(a)) / 3

Modified: pkg/R/gsDesign.R
===================================================================
--- pkg/R/gsDesign.R	2009-08-06 22:10:33 UTC (rev 174)
+++ pkg/R/gsDesign.R	2009-08-16 21:31:32 UTC (rev 175)
@@ -172,11 +172,11 @@
     {   
         if (!is.function(sfl))
         {     
-            stop("Lower spending function must be a built-in or user-defined function that returns object with class spendfn")
+            stop("Lower spending function must return object with class spendfn")
         }
         else if (is.element(test.type, 3:4)) 
         {
-            x$lower <- sfl(x$beta,x$timing,sflpar)
+            x$lower <- sfl(x$beta, x$timing, sflpar)
         }
         else if (is.element(test.type, 5:6)) 
         {   
@@ -277,7 +277,7 @@
         falsepos <- x$upper$spend
         falsepos <- falsepos - c(0, falsepos[1:x$k-1])
         x$upper$spend <- falsepos
-    
+
         # compute upper bound and store in x
         x$upper$bound <- gsBound1(0, x$timing, a, falsepos, x$tol, x$r)$b
     }
@@ -291,7 +291,7 @@
     
     # add boundary crossing probabilities for theta to x
     x$theta <- c(0,x$delta)
-    y <- gsprob(x$theta,x$n.I,a,x$upper$bound,r=x$r)
+    y <- gsprob(x$theta, x$n.I, a, x$upper$bound, r=x$r)
     x$upper$prob <- y$probhi
     x$en <- as.vector(y$en)
 
@@ -340,12 +340,12 @@
         falsepos <- falsepos - c(0,falsepos[1:x$k-1])
         x$upper$spend <- falsepos
         if (x$test.type == 5)
-        {    trueneg <- x$lower$spend
+        {   trueneg <- x$lower$spend
             trueneg <- trueneg - c(0,trueneg[1:x$k-1])
             errno <- 0
         }
         else 
-        {    trueneg <- falsepos
+        {   trueneg <- falsepos
             errno <- 0
         }
         
@@ -409,10 +409,10 @@
     # compute starting bounds under H0 
     k <- x$k
     falsepos <- x$upper$spend
-    falsepos <- falsepos-c(0,falsepos[1:x$k-1])
+    falsepos <- falsepos-c(0, falsepos[1:x$k-1])
     x$upper$spend <- falsepos
-    trueneg <- array((1-x$alpha)/x$k,x$k)
-    x1 <- gsBound(x$timing,trueneg,falsepos,x$tol,x$r)
+    trueneg <- array((1 - x$alpha) / x$k, x$k)
+    x1 <- gsBound(x$timing, trueneg, falsepos, x$tol, x$r)
 
     # get I(max) and lower bound
     I0 <- x$n.fix
@@ -595,7 +595,8 @@
         stop("Wang-Tsiatis, Pocock and O'Brien-Fleming bounds not available for asymmetric testing")       
     }
     
-    if (max(x$n.I) == 0) gsDType4ss(x) else gsDType4a(x)
+    if (length(x$n.I) < x$k) gsDType4ss(x) 
+    else gsDType4a(x)
 }
 
 "gsDType4a" <- function(x)
@@ -610,10 +611,10 @@
     x$upper$spend <- falsepos
 
     # compute upper bound under H0 
-    x1 <- gsBound1(theta = 0, I = x$timing, a = array(-20, x$k), probhi = falsepos, tol = x$tol, r = x$r)
+    x1 <- gsBound1(theta = 0, I = x$n.I, a = array(-20, x$k), probhi = falsepos, tol = x$tol, r = x$r)
 
     # get lower bound
-      x2 <- gsBound1(theta = -x$delta, I = x$n.I, a = -x1$b, probhi = falseneg, tol = x$tol, r = x$r)
+    x2 <- gsBound1(theta = -x$delta, I = x$n.I, a = -x1$b, probhi = falseneg, tol = x$tol, r = x$r)
     if (-x2$b[x2$k] > x1$b[x1$k] - x$tol)
     {
         x2$b[x2$k] <- -x1$b[x1$k]
@@ -692,6 +693,8 @@
         stop("Wang-Tsiatis, Pocock and O'Brien-Fleming bounds not available for asymmetric testing")          
     }
     
+    if (length(x$n.I) == x$k) x$timing <- x$n.I / x$maxn.IPlan
+
     # compute upper bounds with non-binding assumption 
     falsepos <- x$upper$spend
     falsepos <- falsepos-c(0, falsepos[1:x$k-1])
@@ -926,7 +929,7 @@
             stop("maxn.IPlan can only be > 0 if spending functions are used for boundaries")
         }
         
-        x$timing <- x$n.I[1:(x$k-1)] / x$maxn.IPlan
+        x$timing <- x$n.I / x$maxn.IPlan
         
         if (x$n.I[x$k-1] >= x$maxn.IPlan)
         {
@@ -954,10 +957,11 @@
         {
             x$timing <- c(x$timing, 1)
         }
-        else if (x$timing[x$k]!=1)
-        {
-            stop("if analysis timing for final analysis is input, it must be 1")           
-        }
+ # Allowed final analysis timing to be != 1 ; KA 2009/08/15
+ #       else if (x$timing[x$k]!=1)
+ #       {
+ #           stop("if analysis timing for final analysis is input, it must be 1")           
+ #       }
         
         if (min(x$timing - c(0,x$timing[1:x$k-1])) <= 0)
         {

Modified: pkg/R/gsSpending.R
===================================================================
--- pkg/R/gsSpending.R	2009-08-06 22:10:33 UTC (rev 174)
+++ pkg/R/gsSpending.R	2009-08-16 21:31:32 UTC (rev 175)
@@ -37,10 +37,14 @@
 "sfBetaDist" <- function(alpha, t, param)
 {  
     x <- list(name="Beta distribution", param=param, parname=c("a","b"), sf=sfBetaDist, spend=NULL,
-            bound=NULL, prob=NULL)  
-    
+            bound=NULL, prob=NULL)
+  
     class(x) <- "spendfn"
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     len <- length(param)
     
     if (len == 2)
@@ -77,8 +81,12 @@
     x <- list(name="Cauchy", param=param, parname=c("a", "b"), sf=sfCauchy, spend=NULL, 
             bound=NULL, prob=NULL)
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
     class(x) <- "spendfn"
     
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     checkVector(param, "numeric")
     len <- length(param)
     
@@ -123,11 +131,13 @@
 
 "sfExponential" <- function(alpha, t, param)
 {  
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
     # K. Wills 12/11/08: restrict param range
     # checkScalar(param, "numeric", c(0, 10), c(FALSE, TRUE))
     checkScalar(param, "numeric", c(0, 1.5), c(FALSE, TRUE))
     
-    t[t > 1] <- 1
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     
     x <- list(name="Exponential", param=param, parname="nu", sf=sfExponential, 
             spend=alpha ^ (t ^ (-param)), bound=NULL, prob=NULL)  
@@ -144,6 +154,10 @@
     
     class(x) <- "spendfn"
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     checkVector(param, "numeric")
     len <- length(param)
     
@@ -193,6 +207,10 @@
     
     class(x) <- "spendfn"
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     checkVector(param, "numeric")
     len <- length(param)
     
@@ -237,9 +255,11 @@
 
 "sfHSD" <- function(alpha, t, param)
 {
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
     checkScalar(param, "numeric", c(-40, 40))
     
-    t[t > 1] <- 1
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     
     x <- list(name="Hwang-Shih-DeCani", param=param, parname="gamma", sf=sfHSD, 
             spend=if (param == 0) t * alpha else alpha * (1. - exp(-t * param)) / (1 - exp(-param)),
@@ -252,9 +272,12 @@
 
 "sfLDOF" <- function(alpha, t, param)
 {    
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     z <- - qnorm(alpha / 2)
     
-    t[t > 1] <- 1
     x <- list(name="Lan-DeMets O'brien-Fleming approximation", param=NULL, parname="none", sf=sfLDOF, 
             spend=2 * (1 - pnorm(z / sqrt(t))), bound=NULL, prob=NULL)  
     
@@ -265,7 +288,10 @@
 
 "sfLDPocock" <- function(alpha, t, param)
 {  
-    t[t > 1] <- 1
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     
     x <- list(name="Lan-DeMets Pocock approximation", param=NULL, parname="none", sf=sfLDPocock, 
             spend=alpha * log(1 + (exp(1) - 1) * t), bound=NULL, prob=NULL)  
@@ -277,6 +303,9 @@
 
 "sfLogistic" <- function(alpha, t, param)
 {  
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     checkVector(param, "numeric")
     len <- length(param)
     
@@ -337,6 +366,9 @@
     
     class(x) <- "spendfn"
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     checkVector(param, "numeric")
     len <- length(param)
     
@@ -384,6 +416,9 @@
             bound=NULL, prob=NULL)
     
     class(x) <- "spendfn"
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     
     if (!is.numeric(param))
     { 
@@ -435,6 +470,10 @@
     
     class(x) <- "spendfn"
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
+
     k <- length(t)
     j <- length(param)
     
@@ -477,7 +516,9 @@
     # checkScalar(param, "numeric", c(0, Inf), c(FALSE, TRUE))
     checkScalar(param, "numeric", c(0, 15), c(FALSE, TRUE))
     
-    t[t > 1] <- 1
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     
     x <- list(name="Kim-DeMets (power)", param=param, parname="rho", sf=sfPower, 
             spend=alpha * t ^ param, bound=NULL, prob=NULL)  
@@ -494,6 +535,9 @@
     
     class(x) <- "spendfn"
     
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     checkVector(param, "numeric")
     len <- length(param)
     
@@ -569,21 +613,11 @@
     x
 }
 
-"diffbetadist" <- function(aval, xval, uval)
-{   
-    if (min(aval) <= 0.)
-    {
-        return(1000)
-    }
-    
-    diff <- uval - pbeta(xval, aval[1], aval[2])
-    
-    sum(diff ^ 2)
-}
-
 "spendingFunction" <- function(alpha, t, param)
 {      
-    t[t > 1] <- 1
+    checkScalar(alpha, "numeric", c(0, Inf), c(FALSE, FALSE))
+    checkVector(t, "numeric", c(0, Inf), c(TRUE, FALSE))
+    t[t>1] <- 1
     
     x <- list(name="Linear", param=param, parname="none", sf=spendingFunction, spend=alpha * t, 
             bound=NULL, prob=NULL)
@@ -597,6 +631,18 @@
 # Hidden Functions
 ###
 
+"diffbetadist" <- function(aval, xval, uval)
+{   
+    if (min(aval) <= 0.)
+    {
+        return(1000)
+    }
+    
+    diff <- uval - pbeta(xval, aval[1], aval[2])
+    
+    sum(diff ^ 2)
+}
+
 "Tdistdiff" <- function(x, t0, p0)
 {  
     xv <- qt(t0, x)

Added: pkg/inst/NewTests/sfLinearTest.R
===================================================================
--- pkg/inst/NewTests/sfLinearTest.R	                        (rev 0)
+++ pkg/inst/NewTests/sfLinearTest.R	2009-08-16 21:31:32 UTC (rev 175)
@@ -0,0 +1,37 @@
+# specifying spending using just 1 point should work 
+length(sfLinear(1,0:100/100,c(.2,.6))$spend == 101)
+
+
+# odd lengths for param should produce error
+sfLinear(1,1,1)
+sfLinear(1,1,c(.1,.2,.3))
+
+# non-numeric input for param should produce error
+sfLinear(1,1,"xxxx")
+
+# timepoints not in order should produce error
+sfLinear(1,1,c(.6,.4,.2,.3))
+
+# cumulative spending not in order should produce error
+sfLinear(1,1,c(.4,.5,.3,.2))
+
+# try some numeric results
+t <- c(.1, .3, .7, .9)
+p <- c(.01, .05, .3, .7)
+t0 <- c(0, t, 1)
+p0 <- c(0, p, 1)
+testts <- c(-1,0,t,1,2)
+
+# test for points used to specify spending
+# this should be a vector of 0's
+alpha <- .03
+if (max(sfLinear(alpha, testts, c(t, p))$spend - c(0, p0, 1) * alpha) > 0)
+   print("sfLinear test for specified points failed")
+
+
+# try points intermediate points between the specified points
+testts <- c(.03, .21, .54, .79, .93)
+testps <- c(0, p) + (testts - c(0, t))/(c(t, 1) - c(0, t)) * (c(p, 1) - c(0, p))
+alpha <- .03
+if (max(abs(alpha * testps - sfLinear(alpha, testts, c(t, p))$spend))>0)
+   print("sfLinear test for intermediate test points failed")

Modified: pkg/inst/doc/gsDesignManual.pdf
===================================================================
--- pkg/inst/doc/gsDesignManual.pdf	2009-08-06 22:10:33 UTC (rev 174)
+++ pkg/inst/doc/gsDesignManual.pdf	2009-08-16 21:31:32 UTC (rev 175)
@@ -454,140 +454,153 @@
 << /S /GoTo /D (section*.151) >>
 endobj
 307 0 obj
-(sfLogistic)
+(sfLinear)
 endobj
 308 0 obj
-<< /S /GoTo /D (section*.161) >>
+<< /S /GoTo /D (section*.160) >>
 endobj
 311 0 obj
-(sfTDist)
+(sfLogistic)
 endobj
 312 0 obj
-<< /S /GoTo /D (section*.171) >>
+<< /S /GoTo /D (section*.170) >>
 endobj
 315 0 obj
-(checkScalar)
+(sfTDist)
 endobj
 316 0 obj
-<< /S /GoTo /D (appendix.B) >>
+<< /S /GoTo /D (section*.180) >>
 endobj
 319 0 obj
-(Acknowledgements)
+(checkScalar)
 endobj
 320 0 obj
-<< /S /GoTo /D (appendix.C) >>
+<< /S /GoTo /D (appendix.B) >>
 endobj
 323 0 obj
-(Contacts)
+(Acknowledgements)
 endobj
 324 0 obj
-<< /S /GoTo /D [325 0 R  /Fit ] >>
+<< /S /GoTo /D (appendix.C) >>
 endobj
-337 0 obj <<
-/Length 2383      
+327 0 obj
+(Contacts)
+endobj
+328 0 obj
+<< /S /GoTo /D [329 0 R  /Fit ] >>
+endobj
+341 0 obj <<
+/Length 2386      
 /Filter /FlateDecode
 >>
 stream
-xÚåYK“ܶ¾ëWÌ-œ*‘!ø¦o’b¥”DeG^'‡8,‰™A™CNrWë_ï~a†Ü¥.IªbU»$ºûë8oï^ýþ½ÊwªŒ•g»»ÃNÕqT—õ®ÈãHÕ@jwÿŽîÆÙcÿÍ>Ìâ"xÓïÃ4N‚Oüø~ŸnðÿÏû<	ôÑà„
-ÃȼÚöÇý?ïþ´K’H©]˜¨¨VoðÇq˜/Ìûƒù×lz6YÝ1í]g{ÛøÑݾ¬ƒ&‰Ë²(U‰È+YÞßöe˜ÑÙAŽšD1Ÿéã>Tùe0ƒ@ (v
-çyBH¢2¯@^UuÂòþl4®xÀEÂñ>Fü|Ó·°l„‡	“8*ªtª4ª3Ñî£\ù3/ødœÑL91å/ú~Âpõ4ŒÖ°biÕ*%IÔ›ù8»‰W¯ñYI׬H–í*XS°'«()ê]bª¢å÷nu3	{º`U^€ç|‰
-%îNàˤŽ¯àÑÝ]¡»Kv7Ý|y'‡$Ù¯4+~­Å¯8ÝìUpu-¦Qæâ ¥íÀÆYZ?ÙNv™Nf4Ìm“´ì0ƒ@Í_%è@s^³.‡ù‚f†eiÖFGV•ìäx0;‡b1`¡|a¡\ZíböS¬Ò
-+‚ËTêyB©ûvCZ’EU™,Äe›â
-@€çؼ¦o1”Höaî›	Pî5j_A,öÇðÎY=Y·ÒPxlßt³Qßýî-@®½áâ(KŠµåÞwæÌüYAêÀK‰q_bӁN&  ¶ÅžÀ«ÑgôÒ¹Aä ó!Èvú¾3èë¢bÈýíì„\OL˜–¢ÁIF>ÚéÄýЇ÷Ö›¦óÄ2júÅkÅƹƒ`³*'0eU†¹Çg.‚Y3l™~0zšQdÆ!±,Á9€OÜѱÅ_Ìóf1-"“•­4?κïLé¦1—	­Âs~£Ñç“Ħ:zžN?&È Ío…ØRè ÖéQÿ4«¼‡jqœiyÄ6¯ƒË8 l+lÔY§un½ Îç¡ïžx4;¸Œ6"‹«pÛƒž»éËá«Çã|–ê…d€À7­[@Yž¤Áe¾ï¬;áV Û±}¼ é/<ÔìÈÒç.r·_®…é}iºnMN²tSš¶|ó~!s嘁¦á̐}Ó0}À5câ£R\@áü ¥i‘ã³2ʳÒgˆk’~™I²ªZî›N³¿÷¯˜ƒÄ﹏rDÀ]ÈEpÏ¡ÄáØ:RU*y~¤Ÿâ<†?µUyR(QJeϲµx
-´/sÚ‡Y¦‚K7LüæçeD1•ay @’èH«nàŠæÇ#Áß8A"”dAÄápÛÕAóSäipÏ0!ÿ´¸ SúGjáe˜ñõŒ›ìYÈ0O#äk&¡#RÓÈHËÓï»ØT¥˜xZ‹f æØ^žâbàüIÙ ïÕÄK5¤§!“àÒ2Ìg	´†cPã4g‡,ÉöÃT\DkãioC0=¤nfßätT|>ӁP¤Áœ2a	ˆ*Ýu"²%JƒRÓ†#(€±zÑÌ q‘‘e$‹
-€¢e‚ψ–æ41控}YW°D*X‚Á6Ú‡=×û¤êš±œ§Ë,½à@3±kPÐIO[J5Ãܵ¾N\ï}¢ú+-Xc/Âs¨{<ùºL´ãlylyh¦®Ñ5ÔŸ6LEÊy9Rº!ݏB’jo´³\Ê AÌ›U›°™1¥®'œ¡‡J/m–âfOü†2FóšyÝLÞ”•ÚÝX¤ê$WÁi ]=£zó™	åÊCIÊ$ üåÊú(Þ-Ç$Ø¶§Ú‚‘±O wRtBéâIi”‰OåÊ_€€ÆÇ-ORGn=9’	ÆõÆH\WŽƒBnO›¥–âG×L„X…ðFÿ!Y·ú‚1ª è®í;NL|+£÷v9PË|6Í,ɼ(‹à½%‚T´ÁÏ«µZ8n{mXÉ“ì·Yi[Q)Àÿ]ǹÐù1 ™äã2ñõs}ùEC*}rFø½ÄMw!x av^¶˜$е%@pÜZìK5µ@‹m7ŽŽÒÒ"^‚F¤DMJÐí¯a0¦Uy}C*Ð8éÒìÈÏ^p֐Œ0.–ÃÓ°—zŽExq®wÔôòö€P`m cEÞjQÑ27+•I¼Çè¶X@ѧ=t¹<[à—¬¡Œ‘%©ZŸ¨|Àg&~or–Öñô øº¬¦g_'{Tu#T·\ÅPçóYC·×2Ô*‰ð0åëõv4ê8à)L+ ùEŒ“'k^âS-Ò8ÕÊÎPš®tŠ"ß ~ñrUÝÎ
-W|€¡:]Æ²âæød¯Ïoý¸R.ù8½¸$–’¬zk¸qä©ÅU-†Û<º§[³¯JmQ\UŒ_(‡6íؐëmß·+ªÏ«rq7[ÄÐõFPÍèûQ7û:.¡­M¢:“ï(ï m©"gãÃÉBµ«¡
-†ë6¬‹×ŸÄÔ>¬!8 G.Ô8@:º5dpK’ÛùQ-$BŽTQšT )}ÞÁˆVq’ß±]Ækq·8€ˆÌãï‘AÃø,ÿZªªc¶5!he×Dìú×Ù^¿„¤Xøõ8}ý°íaÔu>y§©\´€
-.ËA@<™¨ˆ“¯Î4Ù¶iR1͇úC)é,^=!æyñ22Z¾2Zፖ‰Ñø‹MŠÝ~÷:Ó'ìñ‰í·¸¨ÀÈŠU'¿dÑ#ùvÕÉ¥~(õ5ï†a®hÊŸæÝ›ïï~üô­èŽõEâíÞöWKAg)ÍŠå‡×šÏþ®
-×ÐßðÈŶ
-1ÂVª±$ª|¨¯ÿ¹ÂëúxÔdTIaØ辡6ÎRÔí¯!þÈ`å¶ÁʵÁú[ΐšOü˜s€F?ž¢Ñ1nš[yåß²0_Ëj,™8nÇùˆ©úk¬“d­jÛZÕÚZ-ÚH£±ø§*3qÊÉð3E3œ}òÍ‚ÍV™ýëØÿ2ÙTª®¢¼È¡Á+£Øÿ0G6_}{÷êW؈T2
+xÚåYK“㶾ï¯Ð-TÕŠ&ø¦o³koj“lÙ^“CœDBÊ©äÌŽ½û‰œá^’TÅ[>̐h4èÞÜ¿úêÊ6ªc•¥›ûÃFUQXÕ&Ï¢PU at j6ÿŽîãì±ûz»K£<¸ë¶»$Šƒüø~灮ñÿ/Û,ôÑà„
+ýÀ¼ÚvÇí¿îÿ²‰ãP©Í.Va¥JÞàÏC?]˜÷GóïÉt(l´ºeÚÛÖv¶ö£ûmQL:—¦a¢b‘W°¼¿o‹20ƒ³½5#>Ó‡íNäÁA X ß(Xœe1Y ‹¬yeXV1Ëû«Ñ¸âÿ	Çûòó®k`'س‹£0/“ÍN%a•ŠvÌPãÊ_xÁGãŒfʉ)Óûí†ý Ç~°†K’0J2™‚$ên:NnäU*{/EGQÅš¤é¦«<'W‚ATë“,,ó\ÖïÝ8èzödƾSY®Ïñ%Ì•,¸?3ã*ºb€Gôw‰þ.ØßHtÓœä~’TpdÇÒ¬8¶Çât½UÁÕ·H™‹‚†¶#§Iüãd[Ùe<™Á0·uLÒ²Ã8ô‚1´£ ÎYźzäê	–%%˜=Y–²“ãÁä,ŠÅ€…²™…*ði¹‰XØÏ‘JV¬˜ϳc‘ºkV¤ÅiXñL\º*.ÏÕUœcóš®ÁX"Ù‡©«G€¹C,T`¨m	ÁØw÷ÎêѺ…†Âc»º¼ˆ"øîOo sÝÎ.
+Ó8_Zî]kÎ̟椼øU 6íéd
+b›í	¼}F/­ëE2?‚l«÷­A_ç%CŽö¶µ#r=1aìYŠ'!qøhÇ3t}·Û[o˜:L#˨@ê-¦¢m—–)-SL<>pÌšaËôƒÑã„Ú 3ž‰5`	Î	 ly➎-þbž÷ü0Ày™¬l¥ùqÖ]gdJ×µ¹Œhžó
+æ8µ˜%VÕÑÓx‚2B
+	i~-ľC{°N‡ú'ié=T‰ãLÃ#¶y\†ð`as` ÖÈZ8­sËu>÷]ûģɱÀy´Y\…ÛôÔŽŸ_=§³dPoWBø|Óè¡”eq\¦}kÝ	·JÙŽ=èãI×xá¡fG>w‘»ýr-LèKÓ¶Kêx’¥˜ÒL¿æ›Gð™+Ã4ög†ìó˜†éÖ¨	³•â
+
+ç¨M·ü Ò"ÌÒÂgˆk’~™IÒÊZæëV³¿÷¯˜ƒÄrDÀ]Èy°çPâp¬)K??ÒÏQÁŸZ«<	”(¥ÒgÙZ<Ú™íwiª‚KۏüæçeD1•by @’èH«nàŠæÇ#Áß8A"”dAÄþpÛÕA÷“gI°g˜\€)ý#µðˆ2Ìðz
+ƍö¬	d˜ŒÇò‰‡5“Љ©e¤åé÷mªL<E3Pwl/Oñ1pþ™¤ô÷jâ¹ÒԐIpiæ“Zͱ¨qš³Cš‚dû«a*.¢5Šñ…´7;0=¤vbßdtT|>Ӂ'ÁOœ2aˆ*ݶ"²%JƒRÓŠ#(€±‘zÑÌ q–‘e ‹
+€¢e‚ψ–æ41¦–§j}YV°X*XŒÁ6؇-×û¤j›±œÆË$Íà@3²kPÐIkJÕýÔ6¾Ž\÷¾
+Qý•¬¶aŠ¹Ô=ž|]&Úq²<¶¼4Ó5×è
+jˆO¦Ã"å¼)ݐî!Iµ7ÚY.EP#æÍ¢MX͘R×cΈЃCƒ¥—6Kp³'~Cƒyͼn"oÊJín,Ruâ«à$€®ÆžQ½é̆ré¡Œ$ePþ|e}O
+	ï†c’GlÛSmÁÈØ'€;):¡tñ¤4ÊÄ'réo@@ã㿁'©#·žÉãjc$.+ÇÁ!קÕRKñ£òk&B¬Bx£ÿ¬}ÁUt×ö'F¾–Ñ{3
+¨Àe>™z’džyðÎŽA"Úà‚çÕZ-·½€6¬äIö[­´¿¨äàÿ¶å\èü€Lòq™øúŽ¹>†ü¢!•>9#ü^⦻¼@
+Î0;/›M’
+èÚ 8n-ö¥šZ Ù¶+GGiIÍA#R¢"%hŒöׂ0Óª¬º!hœtivàg'8kHFfËáiØË=Ç"	¼8×9jzy{@(0ŒVб"¯µ¨h™›•Š8Þat[,H èÓº\„F–ÎðK–PFŠÈ’T-‚OT>à3¿739sëáXzP|WÓ•³/“=ªº’Ê[.H#(„Óù¬¡[‡kjGx˜ò‰õz» uð¦…
+€ü"ÆIŽ“5=/ñ©iœjeg(MW:E‘Æo¿z¹ª®g…+>À¿P.cY~ó|2ƒ×ç·~\)—|œž]IÖ@½5Ü8òT†â¢ÃmÝÓ.Ù¥6ϯ*F/”C›¶lÈõ¶ëúÛÕçÀE9	¹›Í#èzC¨fôi7û** ­Ã*•ï(om‰"gãÃÉBµ© 
+†ë6¬‹–ßÄÔvWAp Ž(\¨q€ttkÈà–Æ·/ò5¢œI„©Â$.ASú¾%‚C­¢8¾c»Ö<ânQ ™EÿÙ#…†ñ¿Xþ¥<TYElkBЮ±Øõ‡É^¿„$Xøõ0~ͽ°í`Ô¶>y'‰\´€
+.ËA@<™(â/Î4éºi1ÍûúC)i-^=k!fYþ-[-÷FKÅhüÅ&Án¿{éöðÄö›]T`dŪ£_2ë|»êdR?”úšwÅ0W4eÏ
+óöîûûŸ>~+ºc}‘xÛÛîj)è,¥Y±ÜãðZóÉßUáú;!_7B.F¸c5 Kò Ê‡úúß+¼®Ÿ1GMJ•†µîjjã¼1!AÝþâV¬¬X¬ë±åÜQó‰sÐ(àÇS4š ƍS#¯ücækY%ÇÍ01U‰u’¬U®[«\Z«Ai4ÿVeFN9)~¦¨û³O@¾¹C°ùÀ*ÒÿaûF"›JUe˜åøËZFþ—9ú°ùêÛûW¿…TP
 endstream
 endobj
-325 0 obj <<
+329 0 obj <<
 /Type /Page
-/Contents 337 0 R
-/Resources 336 0 R
+/Contents 341 0 R
+/Resources 340 0 R
 /MediaBox [0 0 612 792]
-/Parent 350 0 R
-/Annots [ 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R ]
+/Parent 354 0 R
+/Annots [ 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R ]
 >> endobj
-326 0 obj <<
+330 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 191.769 187.106 200.68]
 /A << /S /GoTo /D (section.1) >>
 >> endobj
-327 0 obj <<
+331 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 179.814 187.563 188.614]
 /A << /S /GoTo /D (subsection.1.1) >>
 >> endobj
-328 0 obj <<
+332 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 165.921 322.446 176.769]
 /A << /S /GoTo /D (subsection.1.2) >>
 >> endobj
-329 0 obj <<
+333 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 153.966 253.178 164.814]
 /A << /S /GoTo /D (subsection.1.3) >>
 >> endobj
-330 0 obj <<
+334 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 142.011 347.602 152.859]
 /A << /S /GoTo /D (subsection.1.4) >>
 >> endobj
-331 0 obj <<
+335 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 130.056 354.88 140.904]
 /A << /S /GoTo /D (subsection.1.5) >>
 >> endobj
-332 0 obj <<
+336 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 118.101 332.879 128.949]
 /A << /S /GoTo /D (subsection.1.6) >>
 >> endobj
-333 0 obj <<
+337 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 106.145 314.725 116.994]
 /A << /S /GoTo /D (subsection.1.7) >>
 >> endobj
-334 0 obj <<
+338 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 94.19 297.816 105.038]
 /A << /S /GoTo /D (subsection.1.8) >>
 >> endobj
-338 0 obj <<
-/D [325 0 R /XYZ 107 739.862 null]
+342 0 obj <<
+/D [329 0 R /XYZ 107 739.862 null]
 >> endobj
-339 0 obj <<
-/D [325 0 R /XYZ 108 702 null]
+343 0 obj <<
+/D [329 0 R /XYZ 108 702 null]
 >> endobj
-347 0 obj <<
-/D [325 0 R /XYZ 108 204.817 null]
+351 0 obj <<
+/D [329 0 R /XYZ 108 204.817 null]
 >> endobj
-336 0 obj <<
-/Font << /F15 340 0 R /F16 341 0 R /F44 342 0 R /F43 343 0 R /F45 344 0 R /F58 345 0 R /F60 346 0 R /F61 348 0 R /F8 349 0 R >>
+340 0 obj <<
+/Font << /F15 344 0 R /F16 345 0 R /F44 346 0 R /F43 347 0 R /F45 348 0 R /F58 349 0 R /F60 350 0 R /F61 352 0 R /F8 353 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-398 0 obj <<
+402 0 obj <<
 /Length 1830      
 /Filter /FlateDecode
 >>
@@ -607,575 +620,586 @@
 €‚=í1†CôæA0džÞþa“Ž¶jV*cÑ»©ÎvÓxhš‡ÒŒ“GG¯§1“ɵjÜÊ—ÉULh”ÏW!¢ì)Ô”=FC.“÷\¦Ó¾<t,&UiHUÈ@*eMŠ¬ÂÞÀ”îŒmè!¡z˲£=¥°‚ù²ÒY"X‘¶>¯ŒP^›ÿº¦$÷èèÎëB:˜f<ÂGúJ¤óMïi3·Ðêlžä1/wšúfÔãlµ©Ò‚1ñæh³Zì̘TYȐ'õßLjÙ³©‚;ãæ CAð¶¡FÔf,ÑÍk;ߨ¡æXuøcýÊMì Õ²`ðÔQ»­PX«O‰yøÑáŸ×_={=~ö?c¨L
 endstream
 endobj
-397 0 obj <<
+401 0 obj <<
 /Type /Page
-/Contents 398 0 R
-/Resources 396 0 R
+/Contents 402 0 R
+/Resources 400 0 R
 /MediaBox [0 0 612 792]
-/Parent 350 0 R
-/Annots [ 335 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R ]
+/Parent 354 0 R
+/Annots [ 339 0 R 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R ]
 >> endobj
-335 0 obj <<
+339 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 689.104 247.59 699.952]
 /A << /S /GoTo /D (section.2) >>
 >> endobj
-351 0 obj <<
+355 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 677.149 264.303 687.997]
 /A << /S /GoTo /D (subsection.2.1) >>
 >> endobj
-352 0 obj <<
+356 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 665.194 248.584 676.042]
 /A << /S /GoTo /D (subsection.2.2) >>
 >> endobj
-353 0 obj <<
+357 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 652.962 370.156 664.087]
 /A << /S /GoTo /D (subsection.2.3) >>
 >> endobj
-354 0 obj <<
+358 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [144.862 641.283 254.672 652.131]
 /A << /S /GoTo /D (subsubsection.2.3.1) >>
 >> endobj
-355 0 obj <<
+359 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [144.862 629.328 256.056 640.176]
 /A << /S /GoTo /D (subsubsection.2.3.2) >>
 >> endobj
-356 0 obj <<
+360 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 617.373 239.535 628.221]
 /A << /S /GoTo /D (subsection.2.4) >>
 >> endobj
-357 0 obj <<
+361 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 595.455 349.879 606.303]
 /A << /S /GoTo /D (section.3) >>
 >> endobj
-358 0 obj <<
+362 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 583.5 230.679 594.348]
 /A << /S /GoTo /D (subsection.3.1) >>
 >> endobj
-359 0 obj <<
+363 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 571.545 473.187 582.393]
 /A << /S /GoTo /D (subsection.3.2) >>
 >> endobj
-360 0 obj <<
+364 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 559.313 283.564 570.438]
 /A << /S /GoTo /D (subsection.3.3) >>
 >> endobj
-361 0 obj <<
+365 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 547.634 389.75 558.483]
 /A << /S /GoTo /D (subsection.3.4) >>
 >> endobj
-362 0 obj <<
+366 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 535.679 398.522 546.527]
 /A << /S /GoTo /D (subsection.3.5) >>
 >> endobj
-363 0 obj <<
+367 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 523.724 388.836 534.572]
 /A << /S /GoTo /D (subsection.3.6) >>
 >> endobj
-364 0 obj <<
+368 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 511.492 351.281 522.617]
 /A << /S /GoTo /D (subsection.3.7) >>
 >> endobj
-365 0 obj <<
+369 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 489.851 297.183 500.699]
 /A << /S /GoTo /D (section.4) >>
 >> endobj
-366 0 obj <<
+370 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 477.896 405.552 488.744]
 /A << /S /GoTo /D (subsection.4.1) >>
 >> endobj
-367 0 obj <<
+371 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [144.862 465.664 374.971 476.789]
 /A << /S /GoTo /D (subsubsection.4.1.1) >>
 >> endobj
-368 0 obj <<
+372 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [144.862 453.709 430.264 464.834]
 /A << /S /GoTo /D (subsubsection.4.1.2) >>
 >> endobj
-369 0 obj <<
+373 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 442.03 403.891 452.879]
 /A << /S /GoTo /D (subsection.4.2) >>
 >> endobj
-370 0 obj <<
+374 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 419.836 269.243 430.961]
 /A << /S /GoTo /D (section.5) >>
 >> endobj
-371 0 obj <<
+375 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 408.157 283.398 419.006]
 /A << /S /GoTo /D (subsection.5.1) >>
 >> endobj
-372 0 obj <<
+376 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 396.202 283.426 407.05]
 /A << /S /GoTo /D (subsection.5.2) >>
 >> endobj
-373 0 obj <<
+377 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 386.184 309.771 395.095]
 /A << /S /GoTo /D (subsection.5.3) >>
 >> endobj
-374 0 obj <<
+378 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [144.862 372.292 292.863 383.14]
 /A << /S /GoTo /D (subsubsection.5.3.1) >>
 >> endobj
-375 0 obj <<
+379 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [144.862 362.274 262.587 371.185]
 /A << /S /GoTo /D (subsubsection.5.3.2) >>
 >> endobj
-376 0 obj <<
+380 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 338.419 226.21 349.267]
 /A << /S /GoTo /D (section.6) >>
 >> endobj
-377 0 obj <<
+381 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 326.464 276.978 337.312]
 /A << /S /GoTo /D (subsection.6.1) >>
 >> endobj
-378 0 obj <<
+382 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 314.509 262.311 325.357]
 /A << /S /GoTo /D (subsection.6.2) >>
 >> endobj
-379 0 obj <<
+383 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 302.553 259.045 313.402]
 /A << /S /GoTo /D (subsection.6.3) >>
 >> endobj
-380 0 obj <<
+384 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 290.598 270.032 301.446]
 /A << /S /GoTo /D (subsection.6.4) >>
 >> endobj
-381 0 obj <<
+385 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 268.68 302.515 279.529]
 /A << /S /GoTo /D (section.7) >>
 >> endobj
-382 0 obj <<
+386 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 256.725 290.676 267.573]
 /A << /S /GoTo /D (subsection.7.1) >>
 >> endobj
-383 0 obj <<
+387 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 244.77 295.353 255.618]
 /A << /S /GoTo /D (subsection.7.2) >>
 >> endobj
-384 0 obj <<
+388 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 232.815 277.033 243.663]
 /A << /S /GoTo /D (subsection.7.3) >>
 >> endobj
-385 0 obj <<
+389 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 220.86 327.953 231.708]
 /A << /S /GoTo /D (subsection.7.4) >>
 >> endobj
-386 0 obj <<
+390 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 198.942 289.993 209.79]
 /A << /S /GoTo /D (section.8) >>
 >> endobj
-387 0 obj <<
+391 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 188.924 240.254 197.835]
 /A << /S /GoTo /D (subsection.8.1) >>
 >> endobj
-388 0 obj <<
+392 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 175.032 336.117 185.88]
 /A << /S /GoTo /D (subsection.8.2) >>
 >> endobj
-389 0 obj <<
+393 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 163.076 230.817 173.925]
 /A << /S /GoTo /D (subsection.8.3) >>
 >> endobj
-390 0 obj <<
+394 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 151.121 333.654 161.969]
 /A << /S /GoTo /D (subsection.8.4) >>
 >> endobj
-391 0 obj <<
+395 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [107.004 129.203 284.381 140.052]
 /A << /S /GoTo /D (section.9) >>
 >> endobj
-392 0 obj <<
+396 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 117.248 437.501 128.096]
 /A << /S /GoTo /D (subsection.9.1) >>
 >> endobj
-393 0 obj <<
+397 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 105.293 226.86 116.141]
 /A << /S /GoTo /D (subsection.9.2) >>
 >> endobj
-394 0 obj <<
+398 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 1]/H/I/C[1 0 0]
 /Rect [121.948 95.275 183.578 104.186]
 /A << /S /GoTo /D (subsection.9.3) >>
 >> endobj
-399 0 obj <<
-/D [397 0 R /XYZ 107 739.862 null]
+403 0 obj <<
+/D [401 0 R /XYZ 107 739.862 null]
 >> endobj
-396 0 obj <<
-/Font << /F61 348 0 R /F8 349 0 R /F72 400 0 R >>
+400 0 obj <<
+/Font << /F61 352 0 R /F8 353 0 R /F72 404 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-431 0 obj <<
-/Length 2160      
+436 0 obj <<
+/Length 2173      
 /Filter /FlateDecode
 >>
 stream
-xÚíËrÜ6òî¯Ð‘S•¡I‚ÏcdÇ»I9eUyR9Ä>`HÌv9à„ õÈק Å‘(GeK[özF£nô˜îóÕ‹—oÒð¬ð‹4JÏV›³0ÈÏÒ"ò‘­ª³?¼0X,Exçr!"ïÿ)«¥h{•Z„žÕ‹eèm	$¼CÛ hm§•],£,Js/NW¿¼|“O‹ý"ŽÏ–aèI2¬ç‡‹eEÞEÛ¬åZ׺[D9¬¼"öš
-~…gû²T¨‡Ax>Ìx’O\OGì?¡(/NQ¤gÁ=F,Àßà@r•ì´Ù²Ø’)vÖҪʍªµ©(¼VÙ¾î 9Iþ·ÖC/Î`]0ë¯d]öõ„ñn§˜™ËE’z²îÕ1ï’?%°¨KY»I­æ&*ºÕ¨ái*¾j•(ØÊŽlz9ØY²
-s–ՏÀ‹½4hYâÿÿ.ÒØ“[Åf¼SõmüCÆ5²ó<ñ’àq†¼µ¯ÌHñ`(ƒ5Pú´ ]¢&ªöR«+€É7aÏá.H±Yºw{"K8£o™¯÷°XÌÑ‘˜ÓAÌçMoÀÁÅQr’òH9Wæ{‘=ƒÏIŠäE›Ï‰öP7ë,Ò"û?ó‘Ï?ÓÜï«p½qô½«å“²IzœŠy“#F©'Y~÷ç\‘ÓdN²¦i÷²þW«!Ê¥ytòºŸã|Ótîöp®M³§Côe—´“˜˜gcœyßÃcÁ=ãË<ÉOVÿ/‹æ„üž:P¦_ЛޔnŒåöézü@ã9ÚÍ¿ß¿—gß‘‚=»¨ÓyQ_à³¢ÁWøƒjÁMˆütGx‰çóÿéšFc”A¹w“¹8xŠnŸyy0w³°›·¯ß½~–x‚Ÿ%òèSnC³C˜ËqòÒ_î3òâÛf«m§KpÎÏð£æw¥Ðɼ„W¯AÀ‹eñ]:¾á߆òÙØW¢·Ø)În¼_„ X†ð2‘péÈÂâ¤ÐŸ£ÐEðØ4Ö9ÿŒñ#g°LƒŸ«ZU[µ‡›t:J\…àaŠÑíO	¼Âœ^á½j[–0Ñâ(ð“X :¡±ÛQ€É.§miÀZŠöæÂu\„Qâý$C¯k܁Wõô|º%CJDdpKÂÏCáæû…w—HÁ%ÇîeÝPs_<k…Ψˆ&É"ì@%%ª$)êmþ
-Ç´u_yŠ³»éü†˜/Æ¡K]¹)’?‚0Q×z]+ÆÃD¼§:î`Nu$µ¶ß4-p2•^–DÓTŒ ¬oþá۶鳞MýÙOï™Qærµõ(ŠQ­b¸M·Ã‡ Á*yèô%½
-²WÝw›y•uôv²ãV‰Å4­¶
-·Öü:æŽíîòÛv$?€õ–¹ BÚ‘ì
-œE¥Úúgøº˜ê|ÎB­ÜìÔÛKâ¸g†o€ß9<€H7ÂûNŒ–©zH(´" :ãVý×Ê03ƒƒ½Uí¸	—±ÁÎzÛ1=³x„a‡C}3ÇëZZ]þ€…"™g;PÙbeAD©vÔ&½p5%°Ÿáx`÷tÄqä½Ãã´<|¥ëš[k:CÅMLt 
-–ÆÁhÚÿ¶P®ˆ’£¸…à×¥©o¸'÷Ø]kdoçØUŒÔDÄ°sàG!c(gâ"O½ß¹`Ø(ÇFÃ3¶“ù›X³w½¦ÕÎ$Ÿæt¢’•ꆡÀ¤h)r‹ äÁŒÏ#	Ù§ô*¼§™m¯ínö(Ù:÷à†¦2\5áª.À¾$ƒê*ŒRÕP\²QĸoŸV9**H'NNä¹×ª½Äj”»³‘çÎØ°Å~‹Ÿÿ— zM²¿âÁ‰[sè’éüÙk
-áTªàr•	¹`uÍA—nb9,„ÚALiÙÑvn­N>
-â¹\ÎÕN<d±	®çÓ£«¤ èvŒ`IG°E&ÆM8ˆÕ‹À|\;Mn ìgyò]Ï
-¤‡Ò¢Óð÷8.ÐZ_НÑòþxb¥ w¨À†²$‘dpÚ8BRTÓðWvßþÐ9n`Ó×õ
-Ï©BMågÓu at 2ÎôH4oØŒEûÁWé&"ƒ³p«3Nx‹üè€$ŠøØÞ$X-à»UFµŒáC›Rñ§$7n`Øš–Æ2‚stÆ¢VÉÊaŽá;¹×µ–í0õáƒùãd2p†µjÖ}µÎpÕu©êZ±'uUQ꺳CÕðàB×’n®vÉ!ÿ¢ŒÑ¶q®AR0äöj‘Ç^ßÒ"뾆WuõGñÑÑ0®ìì¢m,—潕æÒïôÅ:aþñSþU-AYåŒ;3FÂÄ–t“ôþ€Lc”¹mv
-Ic:ZM´Å¨õŸRÅmîLïsº‹ƒ.w‰+®‚·iêzò¨®£»Å¨Út.‚œKBÕµD¦,ãó5hd㉺A§·Ch­ÑÇ3P›£¸»?ßçì›pÌJ"N°ú¯Y},‡z>Ê?ˆX8£„F´”íž›ë1‡¹zsÙìébÊ ¾"2ª» a³cOüòMM.×Qœûi÷3d÷>I áýëxÀ~ü![ÂK¸ˆz´Ù#
-ooÙ5K>]~z÷xc®WŸ¦:ÐUgø¹ŠÁ#‡"pÞg,îx#cœNûÆòh|	9× ®sÇêÅvNÛ”u?䋏­2ô‰;\nr¹%úw³ÔfW8M Ð¹['Ž/¾Sú<ðá@ŽÅrÞt»Á߸tÒ9*m]¬4,4A‰‰32	áœ×Bá'AÏ=Љ<âå©páÅO«”ëØP
+xÚíË’Û6ò#UÑ$Áç1cÇ»I9婲R9Ä>@$$a—‚œG¾>ý 9ÔÇ™²g¶ìµF£nô>_½xù&
+Ï
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/gsdesign -r 175


More information about the Gsdesign-commits mailing list