[Rsiena-commits] r243 - in pkg: RSiena RSiena/R RSiena/inst/doc RSiena/man RSiena/src/model/effects RSienaTest RSienaTest/R RSienaTest/inst/doc RSienaTest/man RSienaTest/src/model/effects

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue Sep 17 18:05:35 CEST 2013


Author: tomsnijders
Date: 2013-09-17 18:05:34 +0200 (Tue, 17 Sep 2013)
New Revision: 243

Added:
   pkg/RSiena/src/model/effects/AntiIsolateEffect.cpp
   pkg/RSiena/src/model/effects/AntiIsolateEffect.h
Modified:
   pkg/RSiena/DESCRIPTION
   pkg/RSiena/R/sienaGOF.r
   pkg/RSiena/changeLog
   pkg/RSiena/inst/doc/RSiena.bib
   pkg/RSiena/inst/doc/RSiena_Manual.pdf
   pkg/RSiena/inst/doc/RSiena_Manual.tex
   pkg/RSiena/man/RSiena-package.Rd
   pkg/RSiena/man/sienaGOF-auxiliary.Rd
   pkg/RSiena/man/sienaGOF.Rd
   pkg/RSiena/src/model/effects/EffectFactory.cpp
   pkg/RSiena/src/model/effects/IsolatePopEffect.cpp
   pkg/RSiena/src/model/effects/IsolatePopEffect.h
   pkg/RSienaTest/DESCRIPTION
   pkg/RSienaTest/R/sienaGOF.r
   pkg/RSienaTest/changeLog
   pkg/RSienaTest/inst/doc/RSiena.bib
   pkg/RSienaTest/inst/doc/RSiena_Manual.pdf
   pkg/RSienaTest/inst/doc/RSiena_Manual.tex
   pkg/RSienaTest/man/RSiena-package.Rd
   pkg/RSienaTest/man/sienaGOF-auxiliary.Rd
   pkg/RSienaTest/man/sienaGOF.Rd
   pkg/RSienaTest/src/model/effects/EffectFactory.cpp
   pkg/RSienaTest/src/model/effects/IsolatePopEffect.h
Log:
Added functions AntiIsolateEffect.h and AntiIsolateEffect.cpp to RSiena, these were forgotten to include in revision 242.
Corrected bug in EffectFactory for isolatePop effect.
Changes in sienaGOF.r: improved treatment of changing structural values, and small improvement in plotting.



Modified: pkg/RSiena/DESCRIPTION
===================================================================
--- pkg/RSiena/DESCRIPTION	2013-09-10 15:55:45 UTC (rev 242)
+++ pkg/RSiena/DESCRIPTION	2013-09-17 16:05:34 UTC (rev 243)
@@ -1,8 +1,8 @@
 Package: RSiena
 Type: Package
 Title: Siena - Simulation Investigation for Empirical Network Analysis
-Version: 1.1-242
-Date: 2013-09-10
+Version: 1.1-243
+Date: 2013-09-17
 Author: Ruth Ripley, Krists Boitmanis, Tom A.B. Snijders
 Depends: R (>= 2.15.0)
 Imports: Matrix

Modified: pkg/RSiena/R/sienaGOF.r
===================================================================
--- pkg/RSiena/R/sienaGOF.r	2013-09-10 15:55:45 UTC (rev 242)
+++ pkg/RSiena/R/sienaGOF.r	2013-09-17 16:05:34 UTC (rev 243)
@@ -553,6 +553,13 @@
 	## Need to check for useless statistics here:
 	n.obs <- nrow(obs)
 
+# Added version 1.1-243 by ts:
+	sims.min <- apply(sims, 2, min)
+	sims.max <- apply(sims, 2, max)
+	sims.min <- pmin(sims.min, obs)
+	sims.max <- pmax(sims.max, obs)
+# Also further use of ymin, ymax was added.
+
 	if (center)
 	{
 		sims.median <- apply(sims, 2, median)
@@ -560,18 +567,24 @@
 					(sims[,i] - sims.median[i]) )
 		obs <- matrix(sapply(1:ncol(sims), function(i)
 							(obs[,i] - sims.median[i])), nrow=n.obs )
+		sims.min <- sims.min - sims.median
+		sims.max <- sims.max - sims.median
 	}
 	if (scale)
 	{
-		sims.min <- apply(sims, 2, min)
-		sims.max <- apply(sims, 2, max)
-		sims <- sapply(1:ncol(sims), function(i) sims[,i]/(sims.max[i] -
-								sims.min[i] ) )
-		obs <- matrix(sapply(1:ncol(sims), function(i) obs[,i] /(sims.max[i] -
-										sims.min[i] )
-				), nrow=n.obs )
+#		sims.min <- apply(sims, 2, min)
+#		sims.max <- apply(sims, 2, max)
+		sims.range <- sims.max - sims.min + 1e-6
+		sims <- sapply(1:ncol(sims), function(i) sims[,i]/(sims.range[i]))
+		obs <- matrix(sapply(1:ncol(sims), function(i) obs[,i]/(sims.range[i]))
+				, nrow=n.obs )
+		sims.min <- sims.min/sims.range
+		sims.max <- sims.max/sims.range
 	}
 
+	ymin <- 1.05*min(sims.min) - 0.05*max(sims.max)
+	ymax <- -0.05*min(sims.min) + 1.05*max(sims.max)
+
 	if (is.null(args$ylab))
 	{
 		ylabel = "Statistic"
@@ -670,11 +683,50 @@
 		}
 	}
 	bwplot(as.numeric(sims)~rep(xAxis, each=itns), horizontal=FALSE,
-			panel = panelFunction, xlab=xlabel, ylab=ylabel,
+			panel = panelFunction, xlab=xlabel, ylab=ylabel, ylim=c(ymin,ymax),
 			scales=list(x=list(labels=key), y=list(draw=FALSE)),
-			main=main, ...)
+			main=main)
+
 }
 
+##@changeToStructural sienaGOF Utility to change
+# values in X to structural values in S
+# X must have values 0, 1.
+# NA values in X will be 0 in the result.
+changeToStructural <- function(X, S)
+	{if (any(S >= 10, na.rm=TRUE))
+		{
+			S[is.na(S)] <- 0
+			S0 <- Matrix(S==10)
+			S1 <- Matrix(S==11)
+# the 1* turns the logical into numeric
+			X <- 1*((X - S0 + S1)>=1)
+		}
+	X[is.na(X)] <- 0
+	drop0(X)
+	}
+
+##@changeToNewStructural sienaGOF Utility to change
+# values in X to structural values in SAfter
+# for tie variables that have no structural values in SBefore.
+# X must have values 0, 1.
+# NA values in X or SBefore or SAfter will be 0 in the result.
+changeToNewStructural <- function(X, SBefore, SAfter)
+	{
+		SB <- Matrix(SBefore>=10)
+		SA <- Matrix(SAfter>=10)
+		if (any(SA>SB, na.rm=TRUE))
+		{
+			S0 <- (SA>SB)*Matrix(SAfter==10)
+			S1 <- (SA>SB)*Matrix(SAfter==11)
+# the 1* turns the logical into numeric
+			X <- 1*((X - S0 + S1)>=1)
+}
+	X[is.na(X)] <- 0
+	drop0(X)
+	}
+
+
 ##@sparseMatrixExtraction sienaGOF Extracts simulated networks
 # This function returns the simulated network as a dgCMatrix;
 # this is the "standard" class for sparse numeric matrices
@@ -682,6 +734,31 @@
 # Ties for ordered pairs with a missing value for wave=period or period+1
 #  are zeroed;
 # note that this also is done in RSiena for calculation of target statistics.
+# To obtain equality between observed and simulated tie values
+# in the case of structurally determined values, the following is done.
+# The difficulty lies in the possibility
+# that there is change in structural values.
+# The reasoning is as follows:
+# structural values affect the following period.
+# Therefore the simulated values at the end of the period
+# should be compared with an observation containing the structural values
+# present at the beginning of the period.
+# This implies that observations (wave=period+1) should be modified to contain
+# the structural values of the preceding observation (wave=period).
+# But if there are any tie variables with
+# structural values for wave=period+1 and free values for wave=period,
+# then there is no valid reference value for the simulations in this period,
+# and the simulated tie values should be set to
+# the observed (structural) values for wave=period+1.
+# Concluding:
+# For ties that have a structurally determined value at wave=period,
+# this value is used for the observation at the end of the period.
+# For ties that have a structurally determined value at the end of the period
+# and a free value at the start,
+# the structurally determined value at wave=period+1 is used
+# for the simulations at the end of the period.
+# TODO: Calculate the matrix of structurals and of missings outside
+# of this procedure, doing it only once. Perhaps in sienaGOF.
 sparseMatrixExtraction <-
 	function(i, obsData, sims, period, groupName, varName){
 	# require(Matrix)
@@ -702,18 +779,25 @@
 	{
 		# sienaGOF wants the observation;
 		# transform structurally fixed values into regular values
-		# by "modulo 10" operation
+		# by "modulo 10" (%%10) operation
+		# If preceding observation contains structural values
+		# use these to replace the observations at period+1.
 		if (attr(obsData[[groupName]]$depvars[[varName]], "sparse"))
 		{
-			returnValue <- drop0(
-			 Matrix(obsData[[groupName]]$depvars[[varName]][[period+1]] %% 10))
+			returnValue <- drop0(Matrix(
+				obsData[[groupName]]$depvars[[varName]][[period+1]] %% 10))
+			returnValue[is.na(returnValue)] <- 0
+			returnValue <- changeToStructural(returnValue,
+				Matrix(obsData[[groupName]]$depvars[[varName]][[period]]))
 		}
-		else
+		else # not sparse
 		{
 			returnValue <-
 			 Matrix(obsData[[groupName]]$depvars[[varName]][,,period+1] %% 10)
+			returnValue[is.na(returnValue)] <- 0
+			returnValue <- changeToStructural(returnValue,
+				Matrix(obsData[[groupName]]$depvars[[varName]][,,period]))
 		}
-		returnValue[is.na(returnValue)] <- 0
 	}
 	else
 	{
@@ -723,9 +807,23 @@
 				sims[[i]][[groupName]][[varName]][[period]][,2],
 				x=sims[[i]][[groupName]][[varName]][[period]][,3],
 				dims=dimsOfDepVar[1:2] )
+		# If observation at end of period contains structural values
+		# use these to replace the simulations.
+		if (attr(obsData[[groupName]]$depvars[[varName]], "sparse"))
+		{
+			returnValue <- changeToNewStructural(returnValue,
+				Matrix(obsData[[groupName]]$depvars[[varName]][[period]]),
+				Matrix(obsData[[groupName]]$depvars[[varName]][[period+1]]))
+		}
+		else # not sparse
+		{
+			returnValue <- changeToNewStructural(returnValue,
+				Matrix(obsData[[groupName]]$depvars[[varName]][,,period]),
+				Matrix(obsData[[groupName]]$depvars[[varName]][,,period+1]))
 	}
-	## Zero missings:
-	1*((returnValue - missings) > 0)
+	}
+	## Zero missings (the 1* turns the logical into numeric):
+	1*drop0((returnValue - missings) > 0)
 }
 
 ##@networkExtraction sienaGOF Extracts simulated networks
@@ -736,6 +834,7 @@
 # Ties for ordered pairs with a missing value for wave=period or period+1
 # are zeroed;
 # note that this also is done in RSiena for calculation of target statistics.
+# Structural values are treated as in sparseMatrixExtraction.
 networkExtraction <- function (i, obsData, sims, period, groupName, varName){
 	require(network)
 	dimsOfDepVar<- attr(obsData[[groupName]]$depvars[[varName]], "netdims")
@@ -752,8 +851,6 @@
 	# Initialize empty networks:
 	if (isbipartite)
 	{
-		# for bipartite networks, package <<network>> numbers
-		# the second mode vertices consecutively to the first mode.
 		emptyNetwork <- network.initialize(dimsOfDepVar[1]+dimsOfDepVar[2],
 											bipartite=dimsOfDepVar[1])
 	}
@@ -761,96 +858,22 @@
 	{
 		emptyNetwork <- network.initialize(dimsOfDepVar[1],	bipartite=NULL)
 	}
-	if (sparseData)
-	{
-		# Which tie variables are regarded as missings:
-		missings <- as(
-			is.na(obsData[[groupName]]$depvars[[varName]][[period]]) |
-			is.na(obsData[[groupName]]$depvars[[varName]][[period+1]]),
-			"lgTMatrix")
-		# For lgTMatrix, slots i and j are the rows and columns,
-		# numbered from 0 to dimension - 1.
+	# Use what was defined in the function above:
+	matrixNetwork <- sparseMatrixExtraction(i, obsData, sims,
+						period, groupName, varName)
+	sparseMatrixNetwork <- as(matrixNetwork, "dgTMatrix")
+# For dgTMatrix, slots i and j are the rows and columns,
+# numbered from 0 to dimension - 1. Slot x are the values.
 		# Actors in class network are numbered starting from 1.
 		# Hence 1 must be added to missings at i and missings at j.
-		# Put the missings into network shape:
-		if (length(missings at i) <= 0)
-		{
-			missings <- emptyNetwork
-		}
-		else
-		{
-			missings <- network.edgelist(
-			  cbind(missings at i + 1, missings at j + bipartiteOffset, 1), emptyNetwork)
-		}
-	}
-	else # not sparse
-	{
-		# For adjacency matrices the size is evident.
-		if (isbipartite)
-		{
-			missings <- network(
-				(is.na(obsData[[groupName]]$depvars[[varName]][,,period]) |
-				is.na(obsData[[groupName]]$depvars[[varName]][,,period+1]))*1,
-				matrix.type="adjacency", bipartite=dimsOfDepVar[1])
-		}
-		else
-		{
-			missings <- network(
-				(is.na(obsData[[groupName]]$depvars[[varName]][,,period]) |
-				is.na(obsData[[groupName]]$depvars[[varName]][,,period+1]))*1,
-				matrix.type="adjacency")
-		}
-	}
-
-	if (is.null(i))
-	{
-		# sienaGOF wants the observation;
-		if (sparseData)
-		{
-		# transform structurally fixed values into regular values
-		# by "modulo 10" operation;
-		# drop NAs and 0 values
-			original <-
-				obsData[[groupName]]$depvars[[varName]][[period+1]] %% 10
-			original[is.na(original)] <- 0
-			original <- as(drop0(original), "dgTMatrix")
-		# now original at x is a column of ones;
-		# the 1 here is redundant because of the default ignore.eval=TRUE
-		# in network.edgelist
-			returnValue <- network.edgelist(
-					cbind(original at i + 1, original at j + bipartiteOffset, 1),
-					emptyNetwork) - missings
-
-		}
-		else # not sparse: deal with adjacency matrices
-		{
-			original <-
-				obsData[[groupName]]$depvars[[varName]][,,period+1] %% 10
-			original[is.na(original)] <- 0
-			if (isbipartite)
-			{
-				returnValue <- network(original, matrix.type="adjacency",
-									bipartite=dimsOfDepVar[1]) - missings
-			}
-			else
-			{
-				returnValue <- network(original, matrix.type="adjacency",
-									bipartite=FALSE) -	missings
-			}
-		}
-	}
-	else
-	{
-		# sienaGOF wants the i-th simulation;
-		# the 1 in cbind is redundant because of the default ignore.eval=TRUE
-		# in network.edgelist
-		bipartiteOffset <- ifelse (isbipartite, dimsOfDepVar[1], 0)
+# sparseMatrixNetwork at x is a column of ones;
+# the 1 in the 3d column of cbind below is redundant
+# because of the default ignore.eval=TRUE in network.edgelist.
+# But it is good to be explicit.
 		returnValue <- network.edgelist(
-			cbind(
-			 sims[[i]][[groupName]][[varName]][[period]][,1],
-			(sims[[i]][[groupName]][[varName]][[period]][,2] + bipartiteOffset),
-						1), emptyNetwork) - missings
-	}
+					cbind(sparseMatrixNetwork at i + 1,
+					sparseMatrixNetwork at j + bipartiteOffset, 1),
+					emptyNetwork)
   returnValue
 }
 

Modified: pkg/RSiena/changeLog
===================================================================
--- pkg/RSiena/changeLog	2013-09-10 15:55:45 UTC (rev 242)
+++ pkg/RSiena/changeLog	2013-09-17 16:05:34 UTC (rev 243)
@@ -1,3 +1,15 @@
+2013-09-17 R-forge revision 243
+Changes in RSiena and RSienaTest:
+   * Correct bug in EffectFactory for isolatePop effect.
+   * Improved plotting of sienaGOF objects so that observed values
+     outside of the range of simulated values don't run off the chart.
+   * Improve treatment of structural values in sienaGOF by
+     modifying sparseMatrixExtraction(); and simplify
+     networkExtraction() by building it directly on sparseMatrixExtraction().
+Changes in RSiena:
+   * Add functions AntiIsolateEffect.h and AntiIsolateEffect.cpp
+     which were forgotten to include in revision 242.
+
 2013-09-10 R-forge revision 242
 Changes in RSiena and RSienaTest:
    * New effects: anti isolates, anti in-isolates, anti in-near-isolates.

Modified: pkg/RSiena/inst/doc/RSiena.bib
===================================================================
--- pkg/RSiena/inst/doc/RSiena.bib	2013-09-10 15:55:45 UTC (rev 242)
+++ pkg/RSiena/inst/doc/RSiena.bib	2013-09-17 16:05:34 UTC (rev 243)
@@ -3026,6 +3026,14 @@
 %edited by Ross M.\ Stolzenberg. Boston, MA: Blackwell Publishing.
 
 
+ at Article{Pearson1894,
+  author =       {Karl Pearson},
+  title =        {Contributions to the Mathematical Theory of Evolution},
+  journal =      {Philosophical Transactions of the Royal Society A},
+  year =         1894,
+  volume =   185,
+  pages =    {71--110}}
+
 @Article{PearsonMichell00,
   author =       {Michael A. Pearson and Lynn Michell},
   title =        {Smoke Rings: Social network analysis of friendship groups,
@@ -3097,10 +3105,10 @@
 
 
 @Book{Pflug96,
-  author =   {Georg Ch Pflug},
+  author =   {Georg Ch. Pflug},
   title =    {Optimization of stochastic models},
   publisher =    {Kluwer},
-  year =     1990,
+  year =     1996,
   address =  {Boston}
 }
 @article{

Modified: pkg/RSiena/inst/doc/RSiena_Manual.pdf
===================================================================
--- pkg/RSiena/inst/doc/RSiena_Manual.pdf	2013-09-10 15:55:45 UTC (rev 242)
+++ pkg/RSiena/inst/doc/RSiena_Manual.pdf	2013-09-17 16:05:34 UTC (rev 243)
@@ -23,55 +23,55 @@
 203 0 obj <<
 /Type /ObjStm
 /N 100
-/First 867
-/Length 1487      
+/First 868
+/Length 1519      
 /Filter /FlateDecode
 >>
 stream
-xڝVËŽÛF¼ë+úhÙ5çÁ—a°Ûàƒ¬‘œgÉÑj²$GRûøûTS"E&¶¨ÍAâHdWwUõ4GF’"’QB*Á%¥T“	|¤$âWM"ãkŒGø~FRño|Ò”¤”¤Dº’R‘Òˆ“@Ëøš’²Ti-p¤sþ­)Vü;¦X#^eg²ÇŒsäÐ’¯¤V”$xN'”F|åòG”f|”	…«¦L£¦8¦,^œQ®€‡Úó÷I"’j%…EŠ;I†‚)È/Sæœò¤¥ 
-”2æELBI^dXôÿäX0sT-´+‰4B³„¨Kh`Èȱ„
-9ã˜,gÂͺ‚(>"á\9“õä@NPÁ‘Šh¥" §È£ ¤ÈXj¸$²˜5r†<ŠÊ¡žb§r®z«$ßÊØ]~˜
-‹ð ¤PùJÁ.XŠ‡á—dƒ{’Rf¤Tï"ììmBÏà›ÀÈŠUßü05ò(ø&u¬W
-ÆIÍ5÷n	n¶¿Áf+˜'Áÿ ™¹+Ø'¨¥b¶™7_Ö÷&3®j‚ ÐBG¾’ºRÁAˆ…[Pbá‹…ˆÐŠ,T‚y¥Ì6B—‚êW
-*¶ZÁAÐæF$çQ\“†ê
-‚0à (á‚0Xˆ¼…Η\·^½yC¯®éÕgÿÍÓ«ŸéE»»imÑ9ß\Æ—"zIoß®^ðŠ¾¸Úu®¹¥nc©6®ÞÕäw]ioƒµ/Äˆ$è³÷ecÛ–üšÖ®£×mÈì]åLx¢¶3k;W´ß= &{¸„>âÁÚð'+H.`Aß@ÀŽq´Þ5ýCÔ:Û˜(ý>Ðk‚¼_c*úÃT;Ûž.á’>øæÞ†[Û–>llq·Àd–tíkK®ÞúЙ¦£ÂcÙئë¥eŸzJŸ ±¿ù Èj at Vô®ºõ¾Ô!zÑôu×mwÝ2}}TËýâÇôçòˆ é7Lm;è¾w€LSr5¥	%Ù|hÏUGP…²ªÊ5Ö@„§SuññÓÕaw|qw¶r´{_Ò{ód[gšIó-`m~™ÐWØ(ØÚ„;0¼ÁÎëž4²9íÙøèA²÷ t|]Ì•bGLþY*w,À’>¹GÛÁ¡öuD@#î:ÏÉŒŠý<8}„Óô»ý{ç‚-a©inÑ+ëàkš²íüsèò¤û)]ŸÓvCÐ`tµ«@rÒt¡rEÿ[¸–;à°ë×ÉRéÖkxcµ¹6¾ü1l—Ñ7Ð=]v6”ýiªò¢{ÚZêΔC FWáƒ=?R
-‘Š>>šz[ÙׄQwѺfö?Q÷àçp/÷Ouv;ø¸<¡‘äHQ
-Þ\Œ]wVÁz И¥jÐA÷–Ìv[¹¢ï¦×ÜvãèÛSÙz	6`ãÞ)ÞS›ol÷`mC®)íÖâo…ÛàwÛ%ÜdÀMF\¨eiÄ=J´<]szïàò=XN׃Õò Ë¹± wˆ´ÃAƒ3˜VRj³oIHraªµ§j;À
- >Û®Wï•€rNV!¢¯èÊ—¶ÂÀñ®°KqrŒ›N´Ç<¤<ôkeï‘õ ø›ê©u§ÕãÁ†W‡¶ïÛNâ q6ŠQ$]ÙÎ\<¡öPÁ¶€_Ü‹1)JrY3ÀÓ¼àþ0û÷amñ‚e·ï1E
-KwŠç¿4ú<
-ÿ!1Ë9ì–ç§P“|àhº`ÚnÜÃŒó蛹®žq¢†Úñþõ»¯9ÈbNƒKÕf­=´½÷Õîœ GMf8ÍÜg¡É	šÜ7%ÆÿØÙ'YýJM ÔXXìá …¶ÁÐô5ÏÍ¡Èó õZÐ<ºØAŽD%½·sï|àóÇ3´ŸºÇþÍ`þü³ªæu²áþÁ·þ·
+xÚ•WMsÛ6½ëWì1™© @2“ÉL’&žÎÔM§Î´g˜„mÔ$¡‚¤?þ}ßR‚Dµ‰($,)ìþ}‹$A	‰D“ÔrÊ3iB)>"M)U%F¼KøY‘Èy,HNÏ%I~'I•¬„$‹Ïš2ÁcN™JIÈ„²’Ç”TšcÌH)Q‘Nø¹ ñsIZÁ¶.åJd’rD&2°xDx9æ©„Š”Ç”
+•QQò¨¨ˆ%ǍOš$ ÔFD-a”˜¢5(J6r…œˆ¥Ì@ä`-2¸#©(ØP”J&”04@ζ(€œéb% ‘fL¾ ²bœÈ
+!‹È
+rj$A ‚Tk6€¬s6€<q-œN0s-W2rT‰ŸÓB¤0€\”H6UJ6€\j6€\lÒ%A¢$ÄI¡`°’ˆYB.‘æ@æ(…À&8«ŠA=L†d‚5–®„0’“%‘	Õ Â`þt䟡
+VÏ&qÊ•„rB	x±lŠ9ŠcÆ2Ð8\òIÅ2L?q}	~Ã)f:¬b‘`-((ŠL¬$Þ"˜£9Y˜(¡ LRä
+Ê„‘Pd‹r¸óGéÈœù£$$.XÁ´³•„‚’)9×’yAA9=AApÃ6&À‚  0Nºâ<CA©SI”Ze«wïèͽ¹ðß<½ù™^õãuo«Áùî\§Ékzÿ~õŠ-úÕµnpÝ-
+w–ZóäÚ±%?µ½
+Ö¾^@JwH)]x_w¶ïÉßЍèÑ
+wdÆ'×8ž©ÌàúÁUý÷AqÏgÈç)}Ö­ío]ßsĵ™®t«a¦¡ÓŒ¶'×Qïlg.¾~¡ï,·]HoÖÐôqµ†ß%¬cTšCB¾ìΏnÆnš´Y7É—Hb†¼_:è NNq{wAŸ|÷`íí*KŸîlu¿Àdç,èÊ·–\»öa0ÈpåavÈõ¤$—ÅDé$õ×`YFdIš[Pí‚K]2ú:ëqX¦Ÿí³ó€~õcú‡b èwLkb
+m*ß&ÔdCð¡?TîA%Âj×Yƒ$<‹k篢·¢ËífüÕÝÛÆÝawM!}4϶w¦›ßf,ósM_!g `[îÁð}RxVÈæ¸fÀ{
+ôFƒÚñO¨bŽ;böf)ÜC`±ôÅ=ñ~_G…úSä…8ž¯Ð™&,TöËà²=\FØFl
+IMw‹Z¹	¾¥9ÛÁ¿„þv|³FNW§”]tŠ"À Ë±ÉYÑ-¸ŠèŠú¶r=WÀv×ß8t$Kµ»¹±7VOHם¯L ØÀô
+t‡]Ä°aÐ_¦©Ï†çµ¥áGѺ*ìéž2zJúüdÚucßZÝYïjˆ9!üDã?|Áµ<Íì:ê¸Ü¡±Èž¢ŒÚœíªî¤€³¡—©C=X2ëu㪩šÞrÙíZß:øëƶK°*ªI©é0É|m‡Gk;œ¢µ][|áT¸
+~\/áꈫw¸È–¥;&ì¢å>ˆÃùèÞÛ•°’®Ð›åFWÆtàˆôñ^Ã+ˆVSj½oID$±ÐÕúc±máâ}·­;LYÁ¹ÎÑ(Ò$b‹.}m4ï*»ä'v~‡ƒ#åã’ÛzmìVÝf
+üMóÜ»ãÙÛ_Þ¦«Û¦ì§ò’¸HœŒ"v(‚.í`΢#w¨
+T°=à÷"CÌ‚Ö`n^q}˜ÍyØZ°¬öº¨áÔm›âé‡Æ´ÎŒÂÿH¬wËË—³%øÂÑ
+ÁôÃn3"Ä£{læ)qíAG*!ÆŽó×®rs>EŸ¨WºÏ6çú·mùØߌ§Ü ØkŽp€ÛÙá•û$41C›¢DûßUöQVÿ’3(¹¬â¿(Ó
+eƒ¦é§ÿ+1ÈÓ ³t¶ƒæÖµÀv²'*製3Îó£—ä~®ëw óôÿ‰{
+V
 endstream
 endobj
-495 0 obj <<
-/Length 1203      
+499 0 obj <<
+/Length 1204      
 /Filter /FlateDecode
 >>
 stream
 xÚ­VKsÛF¾ëWðH͘›}ñÕžœÄIÓ»©¥ž’ÖÔZÞš…¤œêßX,IV&ãLG3"‰°°€åÑ:âÑûÿÁóõröêÈ#©Y^ä"ZÞG’gŒkeg:Z®¢Oñµiç2‹·¦ž'ŠËø¾ëç/ËâÐRˆŒe âdu»p¶5¤¨y$4S:“¨˜d%Ëd3¦„êÛñÜÃ>×Ÿy|ë6µÝ¡ƒ()XŠd@µœ2îÒ½d¯Y/Z÷ÏÊöƒ·Ó¬'fç n¶µlÞàco+gVÝ7¤‚•iJH|h] Ô‚eiJ.þjÝz]܈/;òÔÝÓó!C«_æ‰ViüÖnL?6¶EÅñP1£Ý\ÄÃ<°&bW
 ¿ÒÒÍö3™­Wdñ¦«k»¶>(!`Á°J–ª’0-ìf´
-îq7O<62ü‚^$
-ÍŸqàj9ðqG"OYƁ¥b¹Î£ª™}™)¿Hÿ^0iÁ«wˆÞv³?áwê{RM&ÏɁkO>`ZÉÊLfž{9£ R¥‚ñ2£È.7Õx<8‘)¦qQ0QȐ›W7—t¼Å²‚£åb¢ëgžò=±œŠ’I CÐ[¸f[ñu-äUgñ‡öÉ£[ïE9ÔÇ\qOëWÍÆõ®òµŸ7Ö3æ+jÚ#-\¶¦Þ
-nxŽSÐRàdº~;CŸU×l¶£
-Ûnú.¡Ò‘…di®ËÈkò²î
-VN‘Åãƒé­2}ï,:-ò¸ÛŽÓº¥—É
-‘R( À°›)l4¹'yÓ‹x|¶H욎*˜àc¯öÉg¢ÞN~Bu€òÐy&CqÖ>~B‹™,B&ûGØAilª
-jϵkú;|jÚ«]kW‘XÕõIQ·èeôpW´6EakúTž€@Lhqá_ë¨_GÏd·ïgÑ'¿Ýa7Ú“Ö¯iϸú„*æâÄW|ñ3ÀÀQzê©õBg'g²7Q¥Ž-R¨„3©Ùiü¸ü“ñçça'ZðØ´«—&‘ÂNlýÿÂÜœÃ
-C+–-\ØÜ…ÜQ€ 1ž›4|aá|R0J/ÏÍÞ£VR°\ì[É”4ê*-X!E8ÐÐ|«Ž*£wwÐ[p	oL…ÂÇyšÅfmIˆ•æŸ¸'ýV†Ý€#ê\ƒÍ}»ŸÀ?ǝ1¥Ó:#wFÚÇÔCØzk\;K<|h0™|íÝ8BÍSä
-ƨ8&²5}íl(¥¶%3AÁÉŒ
-.|grh½Å>°ïÍ!ÎR˜ˆAÉ÷C¼Y`;D×*€¸Ã…É®
-Ž
-òÛÖ
- &è\Cgƒ–ù ׄÞëµþÀö“Ç:ÿη8Û¯1RŸ¡êdX`U%J©øÍC'jZú\Œv]‡]M4+ôGցÛê„Ê*pž÷½ý²
--¸Þ‘l»ñÍe€uxƒQ8W†ýr×Ò›Ž]Köp­Ÿ1ðê#5”µB!m´.àeú›Á0eây(½m-åoE›Ÿ?ö¯8êGµ¨$ãJ=vL®`"Á”Z·!ô"8+yéoÝeU+£DÃ+\q'Üïþ½ñ 
+îq7O<62ù½H.š?ãÀÕr&àâŽDž²ŒJÅrGU3û2S~‘þ½`Ò‚Wï½ífÂïÔ÷¤šLž“מ|À´’•™Ì<÷r F¤JãeF‘]Þ
+coªñ,xp $"SLã>¢`¢!7®n.éx‹eGËÅD×Ï<å{b9%“@‡ ·pͶ†cëZÈ«Îâí“F·Þ‹r¨¹,âžÖ¯šë]åk>o¬gÌWÔ µGZ¸lM½Ü𧠥<À)Ètýv†>«®ÙlG¶Ýô]B¥#ÉÒ\!—‘×äeݬœ"‹Ç3Ò[eúÞYtZäq·§uK/’"¥P@€a7SØhrOò¦ñ
+øl‘Ø51U0ÁÇ^í“ÏD½ü„ê å¡óL†â¬}$ü8„3Y„Lö°ƒ.ÒØTÔžk×ô9vøÔ´
+V»Ö4®")°ªë“¢nÑËèá®hmŠÂÖô
+¨<˜Ðâ¿ÖQ¿ŽžÉnßÏ¢O~»Ãn´'­_Óžq/ô	UÌʼn¯øâg€£ôÔRë…ÎNÎdn¢J[¤P	gR³Óøqù'ãÏÏÃN´à±iW/M"9„Øúÿ…-¸9‡†V,[>¸°¹¹£Ac<7iøÂÂù¥`”
+^ž›½G­¤`¹Ø·’)iÔ'TZ°BŠp ¡ùVUFïî ·à02Þ˜
+…ó4‹ÍÚ’+Í?=p!Nú¬»GÔ¹›ûv?Ž;c0J§uFî>Œ´©‡°õÖ¸v8–xøÐ`2ùÚ»q„š§þÈŒQqLdkúÚÙþ;PJmKf‚‚“?:\øÎäÐz‹}`ß›Cœ¥0ƒ’ï‡x³Àvˆ®U q‡;’]ä·­ Lй†Î-ó:®	½×k-ü=ì'uþoq¶_c¤>B+&ÔÉ°ÀªJ”Rñ›‡OÔ´ô¹íº;2ºšhV鏬·Õ	•Uà:<ï{ûeZp½#Ùvã›ÿÊ ëð£p®û宥7»–$&ìáZ?càÕGj(k…BÚh]À9Êô7ƒaÊÄóPzÛZÊߊ6?ì)^qԏjQIÆ•:{ì˜\ÁD‚'(áDŽ:zœ•¼ô·î2ƒª•Q¢á‚®¸Çîwÿnñ
 endstream
 endobj
-485 0 obj <<
+489 0 obj <<
 /Type /XObject
 /Subtype /Form
 /BBox [0 0 84 59.04]
 /FormType 1
 /Matrix [1 0 0 1 0 0]
-/Resources 505 0 R
+/Resources 509 0 R
 /Length 34        
 /Filter /FlateDecode
 >>
@@ -79,7 +79,7 @@
 xÚ+ä²0Q0 BSK=+9—Kß3×PÁ%Ÿ+ hƐ
 endstream
 endobj
-484 0 obj <<
+488 0 obj <<
 /Type /XObject
 /Subtype /Image
 /Width 350
@@ -191,7 +191,7 @@
 klŠÇ,T‚ÄñéïœöšwŒ¬u?ÜèéÒÃ$V¾gžedc#ýsÏqELè¯N)FËìžkñöñýÄrF|¤ùWýcm1ç’zyÅvZ݇‡´X®`Ži“P˜IG䟽*¤–là}­VU7F•Ÿî`‡i¾ñ^‡u}®A«X%õÖö”iCŒîÁ,3ù*í£I.—PŠÜ^E’[`ÊsŽ³»oÖŠ*’»ÔâÄI·qñ¨Ž@¢ghÔgcÅçýìdþ5*̆åc0)9#~pqôQV`N—$U’B6Ÿ½‚qÛŸZS~(wF¢ŠdûhôoÒ—í‹ýÖý(¢˜‡}´z7ä(ûhôoÈQE 'ÛÇ£þuêI[¶¹ö¢ŠC3ï5–HX“"û!Ï®<}­«4ÛyÁÄ’Ü8'qÀíùQEsÔo”î¥N=‡Íã‹-ý"m*iå’%ie{¢Ä‚áGÞ8ëÛëX?¼Wq{cc X㍘͔ˆãa^I8á‡OOJ(¬èÉË–çM*qU£dqÖšÄÒͪê3©šcgå³™][-²0ùæ<ŒƒüñSiz–§¨É#›¶.»9;Xgv aÎ3’}I'©4Q]5"¹Né¥ïoí®´’é}2Jó¡d1ƒ˜ðë–Và$§å⡳Ôtý:Ú(šÖå¯×y–â;‚£Ë={òxêh¢¢ÊÖ#x»”­5(gÕÑ䀮ùÃKµ˜åsÐç?t‡ÃãSH¼©DQÉ™×÷i€F9ùØŽ»ºz‘E,•‰«'1óx¾¶µ¤Ë$‰!o>uPOUè½°?Ö3OÞÝ´H…Š†UP3…àsù÷¢Šå¨­5c	ll®§›g Œ’Ö Ilc!Kc Øé¥áfW(Ós¾@z{ô¢Šê„VÇö¹ÿÙ
 endstream
 endobj
-553 0 obj <<
+557 0 obj <<
 /Length 1684      
 /Filter /FlateDecode
 >>
@@ -209,51 +209,59 @@
 m¯OÄ@éãUSךÖžy½Âÿ%åL¬…½tMux´Ù¯|@h:&Té›H›ñ´Ó°lMŒ=ibÃ_Ë8Ëp ,ù7œ½v3†>áß/ÒÓü§è7Å›÷I¹.¢ÅZMû\\œÖÎ}‚…á¦|ó¶ÈŒ]›©vù‹(Ÿ7÷•þ.€iª²C½Smv­ú•z®t‡û@SŽykŽlnŒÚbäQg䕧Ÿ‡šGCeZ>,£ýT‘U‘'ö"cüDÐx6PðЍ†3ò=áÔÕpêuïÕÞßüåÍäê_ ¥Üè
 endstream
 endobj
-599 0 obj <<
-/Length 1887      
+603 0 obj <<
+/Length 1956      
 /Filter /FlateDecode
 >>
 stream
-xÚí[Mw›8Ý÷Wx‰Ï(BBHÝ¥¤'sšiOã3³èÌ‚‚3åøMþýècÀ™ÆQZÇé&Ø°rßÕÓ}÷ÉþìjæÏ^?óÍÑ#Í|Ï'üO ÃYÍÏϽýìåâÙó3fÔ£8À³Å§¡žÏ¯ˆ|äÈϤ³N8wi:ÕÜ…“²œ	tš•|Ï’ì/ $n³ªœÿ½ø­Åìƒý€#uþGõüŒôFGš¹ x4õˆ<0wίL|y™É/w!„NõI‘Ó.™:QðqDŽ{0º€FŽ7wCß·p@”Ú{Øÿ;@$ìsGÚÌ‚À£`€s¹’oSC#“á¤ú!öG(æcOº<?ýýdk`ÛŒ@¾üV}õ÷Dòáb<p¿è𻏄`Ÿ@Çç"æ³£àaIâ\Í–f*bƒAQŒ_¼'¾ÓôtJ:/–UÝÆ圿hõþ¹ÓÖsଓv]äEƒ,iuÕ§ªVçK~!“·ˆg|Ë'~V¥7e\dIóBüÛ³Qçìªdn—øÔM%3OŠÄ“š!&è®ÙðÐ3Þ=ÙYe<vèáônrÅC$S"ÍÔc
-™f
-
-ž )¾™)‘o•)H3å´zdB‡ÑQŸš˜«Kâ¦Qs?Éâ–¥êä׬]ª‹“JÜûeb'®Å£“(øqp‚ýàô‡@†ÈWuÕ4®„-L¶ãm8¤,Ľë¼ÍV9›ŒÅÇèGâXÂOÒHºJ9,cIªÌ@ȾHPòõ””  :~uÁûÀ”_^¤p±©d$ÄA蛕ÌÝì	…NY•nšÕ<LfÞÿG)
-ïÐá‰Æû$Meaç]ñ‘nY'›Šf“B†ÉÁ€f%œ“˜c›$é*ÈóÛ¡ˆ¡É‘+$“Å#1:” Œ1Å{c:æqWðÝ	Ώ*¡a¸ä ÆâÖM^Ow€|ÈÅ^dWÎS"Y¡Eó’qx«+V²L²ñ¦ËÊ…p™­Åý*®ãBÜ6VØ>Z5L,±øük8Äo²‚gáòJá¨m=.ÆâëL	²B«´u›²«š±˜eÙA-É Я•¼Ð"£dÍ–ü…Žp†Z¾©%x©±¾Îò,®5Ý›6n³¦È”âÇjí‰ôÀZw“pôA¤ÐÇÊ[?否Ћ±:	¸‡îBJ¼ˆâíèãÎI_˜‰Å6cQëºLÌȆÆ-ˆ:+¶ÉXûÑ-Ö-D^H¿«sûàBvŠ0ØtnqÏY?­cý1'ȉóõ¸~Ç<¦$÷`ò”Ø©qÏ;UI-%«[Vóõ>Ñ^À«%KÄ'ŸGM0øi}OÜ¡Eµ…;ký²2j++TÙ«mÔÈبIeüÕ’){µ¶¥s:‘Ë"þÚ§[¹ìŒK9yåV½v9¹âj9xì¥;2ÒЁEfߦR B!8ñµOò«ªæª [<{øÎÿæTýG°¥¤eœä·ëvµQø~ø3{Í¡È‚éÑ	0Ô-î;—¹®Èå…Œ—ñ17ì&@l͐nY' 6õ¸B]5H¤¼’KG\¦]‘S¦q­ß±º®Æ<Áôi	;çyV²¸Îd¿å¦c0ÙÉ`jsÎá%›ÉO­
-$ÓêºØ6Eó&û,³Iž-7Õ}ä¤F¿Œ•e%.:¦Ébcî¨LEÔÐ!¯¢Ô·DmÓþzÛ.Mf¨%HE,º)ÊQM°jÝn¹TpPL‹jm‡L¢AtÐh›Kî/yýK’ë2Ùþì6.bB2¿R`‹„ÝBu–]k3ô6™L‰‚ãÞ°CkX›µìdÝVr›œ‚[ ×mlÑÝAú‰©ÁiLß³×YÍô
-¤tA\^1Ó…ª«ÂìRLÿ¶Ú'3Pp ÿF	‰ö‰B&RþïåFQ’]Š~ÄÇb{/uÔ9ÀbkKÒ—oBŒt-:ãÖê<AVæIÔ9]ïj–dM'L®ét…Þõ®ß¥™låÖªbŽžK<+iÕ—Ž=ÉðÑæ¤Ð~7FÏF¢fãbN±H)ÍmÍŠí5ctøI7ÿœó4ç©«&¡Þœ­90™hGÇüã…{2ÆŽ¡F6>tRÕl´#6>y:Ùñα±ÓÅ&}z«Ül‡ûà›,5{ád|~ѯ7ÛA§/é#ò1-[m©qÛ-Bë(Qð}{Û¬8T]ù%—|wÕ÷½v˜ |ÔÎ;åE.ðEW†tþûIα-¹<ý2ߤŠxµÊ3õCÉU)xÕ¾lmÿŠ•\ìó—%üWuõ1gÅx÷Õ÷²ï‡o`)¿k!ÖI1MQÖWBÍh;Ûf› cÝÒR¦S8µùEr®êjÍÑ_g9 šQU®°2Þrûm›Þ³ÛEn‘àOTÈ|ÆÁÇäÝ*ÊÁÞNà‹2µå3ˆfnˆ½h¹}çéâÙ+«YQ
+xÚí[ËrÛ6Ýç+´¤f*† @ÈÎIíL:q“‰5í"í‚!‹
+*I%ößOŠ/¹±'²’IS ûÀ¹ç‚ÞìzæÍ^>ñÌÑ%Í<×#üƒYů¯½{ùäùòÉÓfÔ¥ØdzåÇ¡®ÇG„räW’Ù{'˜/¨8—å|}'a?èÔkù?‹Ó¿<€â¨IËbþ÷ò·v³÷èù8©ë_9«§¤3#€\ŠÐl€Kƒ@ÏÈóð|ßù•‰//Rùå¡S~Gä4+¦.ä|Þ>‘óÌΧ¡ã΁çY8 Jí=ìƒß	ZÃÜÓmf¾ïR0¶‰´
+@ȹZKÈû®!‘JáNçwMì—PÌç Ÿtõêü÷³ÞÄú<ù­zô·Dòál<i`?ëð»}—`l_Ûç2âÑ‘s³ÄQ¦¢¥ž²Ø`RãÓÂï‰ï´ûû:%½Ê–eÕDÅœŸ4Êõkþ¹ÓTsàlâfSäEƒ,nj5êcY©ëÈä-â_æò‰ŸÔ ä¶ˆò4®Ÿ‰ЏF³Ë‚-Úħn*˜yR(žT1A÷͆ǞñôŽÐªwÀ£ð=ÎMñé)¡öÔñ2í)Èÿœâ«=%ô¬z
+ÒžrÞ5=2¦‡Cë¨OÍՐ¨®UìÇiÔ°D]ü’6+58.ŽŸçv¢JŒY˜„þ÷ƒì§72Ð@¾¨Êº^HØÂA¨°÷á4”2÷n²&]glÒ#Ão	G<퐆Ò}PÌaI§J
+„ì³%ÛLQ	ÂÓg×!<Ì ¦ürCm€Ëm%#!^
+‡¾]ËÜÍžqPàe±HÒŠ›ÉÄýÿù(¥Á‰àXrx¢ñ>KYXFY[¼p¤VEñ¶¢Ù¦¡äh@³bÎI̱Í
+’´ä«»¡¡É‘3$“Å30:#Œ1Å{c:öã¶à»œTBÄpÅAŒÄ­Û¼žì Õ'ø˜‹½Ð.§:E,Ó\“æãð–׬`©ôÆÛ6g(JÀih¶&÷먊rqÛ˜acøhÙ0±ä½Àã_Ã!~æ<×
+G-ëq2ݤŠåš¥mš„]WŒÀ„ð$Ëj‰^  €~©è…&«{ô:Bjø¦–à¥Ææ&ÍÒ¨Òî^7Q“ÖÍD~ ?V¡h_¤wȤR'Å<+/ç:‹šœm¥ Ô❧uÝú}5‘ú8*ƒuÕÑ
+ (è'Ê6¬¾CkõìJŒzZ§¬ˆ^¾¹¸Kn%.árë¤d¿šyЭX@]äSž¥9Ä€¨)bÕ¯8çn˜O™@7Dæ÷p at ob)qCŠû&Æmwbi’ÛÎE­µ›"63ŠáûGôä…wØ"7 ßT
+ðâ`Òc€M5wº¯DûÈnÌ	ÒA4˜Æà1-Fù‰]wú/JÉO¥bÀ*Ρb­¯¼X±X|òiÔX„Ð­ÄZd°¸mW\•†Á¦¹’úÒ´f]èuj ‹5¼JX±©\òsörÙ§Çrd/‡n Û5¦äH€xm2&Ñ‘Yeß&q´zd·}‚³ìº¬8ËÊGÅ+?ŽÜ~ïŸ9UOl)aeþͦYoF®	</øi‹½b(´Ç¯¹•Ú…}ç²"×¹´ñÒ‚!>å褈­i—ô·b£o´õ	ÞÖ'½B†ŸF•þUU9VD¦?°uâ,KU©ì_ݶLvz0µ¹¯éø’ÍdŽ§VÉ‘i^öE&ä¼N?Él’¥«­Z:ÉÀ£ŸGJC…ðW§‘]wT¥Âjè˜WQêY‘›pÛN|Ó¬Lf¨$Hy$ºSJURMÅrÓôT?8(¤E¥¶ƒ&Q?<j4Í%w—¼nϪ㒛"îv—/bBŽ2¿R`)¿âv¡ºHo´Èv— O¦HÁio€¢¾5¬ÍZv¶iJ¹íPÁ-å›Vá4²çn#ýÄÔ`Š4¦ïØ¿›´bzR¼ *®ü±*sSÆ¿)÷ÉŽ´#þ†.	H_û
+•ö{µe”d£„¾ò¹ØÞ›¶êï¥Ø*wé› #^‹ND´µ'ÈJœ„­Êõ¶bqZ·´Áäš–Wè·ôI*[㕪£c‰g%Íú’±<ÚœX‰FÝh$*—sŠEJ©ïjÄPl½CÚPüStÚ¢,Y¨ ԛݵŒg&ðá)¿r Ç`+¥ ÙjÐqY±±mÐÛxäÇÉŽ÷¶
+µ’9I+DŸßDù:3ÛÅ{uš˜½…Ò>¿èóíöÚé!bD>¦aëÛ·Ü?°Žå ϳW~q¨ÚòK.ù‹uW÷ÚáÄà“VÞ)/r,ª2¤ÕßÏ2ŽmÁééçù6UDëu–ª—¤¯J«ö¹kùW¬ä⽉Xœèä¿®ÊËǻپ•Üx¾¾¥`7z—Ü‘"±ÝvÒaBõh{àvÛ%cí~	Ó)œŸuÛˆ×U¹áè¯ÇQÀ‘fT•+lŒwÜ|Ý&Bä¬ÅvL‘[$ø28ø˜´[åŃr°³Ëx¢d­E9ÁôÃmC¨@íßy¾|òM“¦
 endstream
 endobj
 404 0 obj <<
 /Type /ObjStm
 /N 100
 /First 865
-/Length 2562      
+/Length 2530      
 /Filter /FlateDecode
 >>
 stream
-xÚÅZmo7þ®_Áo— WŠrør(
-ØNÜ3лIè]’{¨‘%C/múïï™Ý‘’¸±¤\´W w%òáÃápÞ¨è‚q&ºl¢GSLÁ›÷Æ^=ÏŒ–/	m2䥭†˜L$g(´ÁG‘¢	ø,R6ÑŠ	ãƒ×?ŒÉø>°a'ïɰ̪aƒèô‰Á$_F1F“„OÌ&˼±˜Œ±‘½É	ýÀ!ÌŽœ"æ,¹š’Ñ/9SežL
-4Š)šZÞ³ñΣ#È{ÇxÈX±«˜*cÉ>b,Æ{Ÿ1)þ<ɪrŦŽ ä©b~`ù@akÄC(XF1¤!.Ï"›‚¹²9õ…S€S+p0a¼! %‘n¬4'AαìN
-xÀìŒES®˜Ë;‘6D†í
-!D<	1A¸ÂRÅ"CñbCÉò€%9¢{Ùò„ð`œ|…‰#ì‰êædÙ’ÕyÀ×ûÌòç±@&Ì03`KFŒíg®ò	¾ÎA€^ ZÎ$'¡ÉËrðu¢"Ÿ`ÓEÃ+IA1¶:¥*	zâˆC6©fÀCÖÛƒ‡j2$…™tC8C³`p„v¤,jâå!š\Y 0›Æx)xÄ¢B$§dqq‰2E„VlC
-«“åB«9Ç
-ÅÂvÝ*êˆÅ™ÊÒú\sp£ï¿7ãçfüãüÅÜŒ™Ëõù×^®&ó™õdɆ‡æ‡FúgsÚ¾k~ÌÍÔ´³«ùo7íle®×³nÀÃCðâ'xñS¼E³jwAm at 6„‚yÚ,š›vÕ.Ìd†ÿoíª¹ŸÇv¼õëÍ?ÛÕoóÅûå¾1´C[ÒûÆl™BpßÎÍ+Â	l¦BxÙNû~fÕ¼™¶{§[¨xj2»ž®ÛÙe{?ÔgƒŒÅb¾07írÙ¼Ý7{Ü
-OæÑz1™½5ír5¹9@Úq+9<™“¥Y´Ëõteæצ1ËËù¢ýnõû-¸мz0™]N×W2àûO_=Ü7CØÎÌÅÌ,'í¬ùñÉù‡Ý6‹Õ¦÷ÅÅ…yº˜¿…
-Ý´‹å_ÌM3[7ÓÒc†Ííʬ޵f9_/ ÷ËùU»c\ÒqÉ<Á …YÍçÓ¥ù}¾6³¶½Ú10ëÀlNד©Hå¯Øí媙NEBÍìÊ\¾k/ßwâÛæò=¶sbQÄbþ5»ÂªWÀØ@5WúhÚëkØ-õ²U
-<™Çš›Ûiû·
-ˆ°Y-p–q¦¯Ì|½úîª}»hÛ{¡›Û[Ø“É{Ò£ž˜Ÿ&ËNKÎÕ",±tódÖòéãíåúËÚ·…:í¡NÍÙ»f-Ç>Ý@@h57m³˜N€õ+¤ è;pÎzœ3ó¬½nrÒºÞ£ñQÜñSˆ|4>›ÃÍVKøBFÌòl4~Ööê±ìÜc÷Ñ?Ú«Is:ÿ`^:|À•-e‰
-¼-õõH1§ìbßýd6›ñeç°ñIç¯û¶h[û¶:m½¶Ôµ¯G .L~òæÈÝÈ/n$J覐uq.ŸC¡_b)Îå{,èìãØ~•—ÑøùúMw\Ç?MfïGãÓ¹lH·÷zü÷ñÅø/ ñZ֏	_†R¬0°W¶óêÄ°gÑ|Æç„~'æ®ä/'«Ö>ŸM~u½ž…â<[à·d8؜ҟD†«
-©~$S¼%lðádøxd¼‡.ć5XFôês±L•Û~.O\>"›mD„´aC.AT„`ÖI¾aS¡ÒØ°¯ ã]s<>Èf,QÝò	ÐjOåø<‚6ÖÞ"Œþ÷QZ‡À13ÙŠPq¶žN_ßÛ·ö}¡@¦ï³¾ç0Š•sÑïÚ-¼ ¦¯U_$€wnóâ»ÜK_H¢y}‘ô%lmÖ§öì¼³g|¯={Ñ~Xݵfwl6s¸k³%Ôþ&›-P’¨oIÛ mÔ–µMÚfm‹¶½¤$ïé[Å#Å#Å#Å#Å#Å#Å#Å#ÅŠ/(^P¼ xAñ‚âÅŠ/*^T¼¨xQñ¢âEþÜ7}íaðÝËæ0ˆªB²ÈÄm(½¥L;A-©†/ž…mó-GòË,bB+–ÂÛŸvËñYt±è ˆ©ÂVF¸6IVCÀùŒ;AÇc᝘¬ù]QÁB* å­‹õË4>†•tL‰l¸ Y¶$UÊ6à´$“Uã~.Ç”Âøv.	jiBE.-Õ„šEJ÷2ùŒÌQE£t2R&œïqZ
-l/vË—p ŸÄ“ 82Š¶ ¿åŒý‡öG:áøtØYÄ«&Hø›"´|¨xâñù‰¥;:)I¡¤?T{øøt(Yñb‰-^
-m8_éPñ¤º–¹vúȬá
-mtyÿA@u@)!&kíJœ~‰’Mà¤#C„®R	·…%°ò6Ö| ŸãŸô(ùE•j8ãh±d²Á|Âñu'¦d¥œ³ÄPs¶\Н8 Ž6)©'™V‚
-´ŸÀ
-\$¹Ñ&îSæ”Ó~.œït'˜@ÕÖ$ܼÍä÷sÉpñÅV/Ià府r:@.e .pU²õX‚Z†=>@,õèÑg@@Á]jšaö¼	Hä…û`:>8m¹X‘
-!W	pÚ1ԝp8>*6³\³ÁΑäèUüÁNX™ˆ¤|†—a NûÃð8€ê<2‰}3lð,à ‹6ð!ð(ˆ*‚¹v’/Õé12ØŠXœŽ²B™wÄâ[6CpI0nbÛ°VÒø€ýTðËðÅ°mHìåžAl\Êâösà4!‰´N~=€X„Ð¥ú¤2€W¦ ™wŒjæ.Û¯é ©à•	©½GԍÄÑʽ4’Šà~.xeBjO®?ÍR¨"rÖ1íç2€Wî| BnŸ]çÉeª¼ŸK€ì?!ܦ¹ÄnÉúx€\¼»S'–_xlk¿^ÜÝ_(þ¬ó¦PLP$g÷Šc@ڝ¾²ü¿”|ûôg%ßš¿±äµDµDµDµDÊ}‰4éšägý»–JYû³öOZRMÚ?i¿¤%Õ¤%Õ¤%Ú¤ó'?)^R¼¬xYñ²âeÅËŠ—/+^V¼¬xYñŠâÅ+ŠWOoY«ó¬×˜¬×˜¬×˜¬×˜¬×˜¬×˜¬×˜\OïŽ[:ÎH…ÉÉ]—‡-&{((û¡Ú &=Áßã˜ÂdÕ®†œ‘ˆºº7¡àB£„Ü—ºŸtyÁ$ÊG@hăDj	éocž“ÕBú	I¥ùQÜF,—
-,—¦8Ë	!…ý;E\8€	¬ yoåb(ÁSæÿ+•­T ¸òÅ­T¢³û‹ü1hü/?‡x
+xÚÅZko7ý®_q¿ml)¾.EQÀv⬁v$)ÐÝ$&ò8Q#Ï£Q›þû=wD)ŽKÊFƒ¢áŒÉÃÃËËû¢¼v¤ÉëHÞà‘(f´‹¯Æ’ayg²ZÞYçñÌd“G›åéÈ93ñÖ“ó@²‘\rx&rã ú9K>ú¡Íx.{ù{&Nx÷š‚Ìã&Þ{
+c2p=è	6 	<¶”ð˜)	}”ú¡Oʉ|ДÁÍG™ýÄOYæA£±HAXaÅ:£kÄ’“£0YVæ!c1•„±².¬}õÄ'0|²× ÄôÆ›H¬1ŠñÙgŒ
+"Œ¹b½Œ¹²&¶:‚Xöd­‘ᐸÊ"0†\lð
+ƒF
+èÉF§‰±l›"æ‚,œMƆ9o ãÑÀ–„ƒ=I&M›è2ãË°Ó@e‹X½±`à’ü	‚`ìËúC”?Éú1”­0`iÈÄÐ"¶2ÀÇ	cIì°JÈ9ià¿¥¬d¤™¥=ÖCg¦`e´»/_°í"	v	z`ó¨"6…ES²,Û5‹YŠ&KÃQt¢aXv”md,)†¡s Y‘bÊÒH”´sQÃd"¾@"ÉA,JädƒvaûšdC˜5ôK„‰dƒýbhb¶,
+¨šÎ]ßÉ?ÐôMŸ´/[š>¢ËÕ[ù·žõó¶QÆ*üó~üqò`ݦÓú}õû¼íªͺº’ntµj†þs·àÜm¸º¹lÿ¸®›þëðü-<¯«úzÔdCÈѳª«®ë¾îhÞàÿ7]ÝW÷óØŽWfƒ ý»îÿh»Ë}cìvÌ'™î³e
+Á=~×Òk«™ª…^Ö‹u?ê«·‹zïô~åïBÍ›«ÅªnfõýPœ
+0º®íèº^.«wûf÷[¡EVݼyGõ²Ÿ_ m¿•Zt²¤®^®=µWTÑrÖvõwýŸ7à@zý`ÞÌ«K™ ð믯î›ÁmgptÑÐr^7Õ“§çvSuý¦÷ÅÅ=ëÚwP¡ëº[þƒ®«fU-vHË4LOêžú÷5-ÛU¹ÏÚËzǸPÆzŠAõm»Xҟ튚º¾Ü10–‘NWó…HåŸØíe_-"¡ª¹¤ÙûzöaèÜT³ØΈ© &ú¥¹Äª{`l ªËÒ¤úê
+vK=m•-zü±º¾YÔßo@„Mßá,ãL_R»ê¿»¬ßuu}/tus{2ÿ¨NÖ¨'ôÓ|9hÉy±K,žv`-_¬g«/kßêt
+uJgï«ZŽ}º†€PßR]u‹9°~‡}ÎÙ猞×Wu''mè=™¾ŝ>ƒÈ'Ó³&¨é—pc!ÐóÉôy½Våà[‡O?×—óê´ýH¯4>Àc)‹x Á†JùÍH˜SFÜ4t?išˆ¯o/ƒ³_?myºòôåÉå†ç›	ˆÓ_Ÿ¾ý
+r'YãŵDò®)Áìú–òè\þŽ}»^åÀe2}±z;×éOóæÃdzÚʆ«Ño¦ÿš^LÏð’odý˜ð¿’xöJIØà-Þ!â3ß-úÐ]ÉÏæ}­^4óßDEõZÏŽB¡£JpÒ[2ìTáo"ÃY9D[2É(^_A†GÆèbBšb„°)Upnû¹<>Ññˆl’WÞÛ-«Dõw±A謴„ô6*
+û
+:FWÇãã4\)¢â
+$K­Ò7ðymÌk‹0ýõ?ÿ%œY-É[•9R³Z,ÞÜÛ7¯ûB4ÌÏg}Ïa*çCî²6Zx‘Ä•ÄÞ¬ýæqºæÍ‹¤'¡¼È¸µY·íÙù`Ïò½öìeý±¿kÍîØlæx×fKœþM6[Ò'¡$ÙÓúÊ3–g*Ï5uIœÖOSž¶<]y<[ðlÁ³Ï<[ð\ÁsÏ<Wð\ÁsÏ<Wð\ÁsÏ<_ð|ÁóÏ<_ð|ÁóÏ<Ÿ?÷M_{Ìð²9¢ªH™BÒÊ¥µ¥Ä=@-mv_<Ûæ[Žä—Yø ¤`²Q’T†ÝÒüEC,:k©Jš×&Ù°s8Ÿ~§ ìñX-&+G~g A&±‚T@Ë(íó—i|
++í1%²á°×Rˆð6*g%ó†ÉÊ~?—cÊa|;§ µ$—‘KaEJ÷2ùŒÌQESèD¤L8ÿ.â´$Ø^ì–Iî@>#ˆ'@.pdÖ«7Àú=í¯tÜñé°VˆWÉIø!¬€-*|>NbéN^,)´èPíáãÓ±A‰—ƒHT2RXÃù
+‡Š'ŒpЍWRhýa©ë§×qÿAAu@)h)`c­R–Ê
+ÛƒdãF8éÈ a‡ay;&ê¾
+ié|ŽÒ½äy(¶ãhI8+DòqÇ×ü¥H+Ë	£ât€îø¸°W1!û§$7NÔÙý\x.Pà$É…ó*ð:e1ìç2ÂùöNCw9›UÂͨhÍ~.q.&©l$é¼Üù€SÈ%À!K¶î“’ëaK>zôéPðšF˜=C‰|²îþ ØŸœvˆ~¨`X'÷T°t.ï€ÝñYؤ"¶Æ0윕=‹?ØÉbK‚ ‘”Âp¹ËtÃþ0܏àσL at bßë‹8ÀâƒÍ|,x$Ä
+Á‹Ü4kÉ—òtFȘ,2ØŒXÜ!d+9dÜ‹oÙŒÁ%À¸‰mÃZETHàöSÁ/Ãö!±—{±q!ŠØÏe„Ó„$Rih2#VÁ!tÉæ ©Œà•­“̈F9òíçp€TFðÊ©½ü®‰£bÑg¥"¸ŸË^Ù"µ·z}š¥e­Vší~.#xåÁ"ä6Q¾ÐêˆC÷sÉ#pý·òs ¹ønA€\Œ¾S'–Ÿ‡lk¿FÜ‹½¿PüYçM¡ØB=œÝS(öi¶þÊrðÿQò
+ëôí’oÐæK¾\J¤\J¤\J¤\J¤¼.‘†²&¦¼—Ri(ýCéJI5lúoú•’j(%ÕPJ´±ÌËü±àÅ‚^,x±àÅ‚^,x©à¥‚—
+^*x©à¥‚—
+^*xå–‘KužË5&—kL.ט\®1¹\cr¹ÆärÉ¹à•{Îc”#Rb«åÎËÀ¦zŠŠÊfgÈ6‚iðû8®0]y¨%G$¤:ïM,x„) ¶òk2„Ðò‹%Êxs@ˆÄ£Dli°£ƒD
+I…ùŒQäF.,—,—§0¡›uûwjKåÊSZ
 endstream
 endobj
-644 0 obj <<
+649 0 obj <<
 /Length 1590      
 /Filter /FlateDecode
 >>
@@ -269,7 +277,7 @@
 °±Ž À“ò\*<¸ÕZ·ýÄÉùÑKC«3
 endstream
 endobj
-649 0 obj <<
+654 0 obj <<
 /Length 211       
 /Filter /FlateDecode
 >>
@@ -278,7 +286,7 @@
 ¶(Á‚¨M:¦œú}zyã("1ðãf1Oúl	…„Í5KDv ½úøÛÝ?,ÛêkfQÜ
 endstream
 endobj
-680 0 obj <<
+685 0 obj <<
 /Length 3648      
 /Filter /FlateDecode
 >>
@@ -308,43 +316,39 @@
 Ìc”D£çu'o¡š‰<I¿ªS±ÂWuèºG×VFéýK3¬€3Ë]þ/¢ë¶¶ëý0~’ó#,l*\—Ó>íp at oÛz€ Øüº©Ý]×Y–¨Ã½ƒ£ÚE¹Áé‡{´D½Ü¯Án0q†ž@îŸ^ ÎAÀf΂€Ñ%ϸ°˜aÄêkpn@V4ÉÓû$ÕŽ·[v“ 嬗0Ÿl¹!,9?§‰†ô(ß$E{Þa¥ã‘v¹«8âŒXêŒöósem+×Í·\%)&N<^<õõ<âÍè!“ÏàÁº7³8å\´N¾qóŒúVoÜŸ<”X¹ÈRUjâ$:9Ö¦ÿ3k·ÿ
 endstream
 endobj
-603 0 obj <<
+607 0 obj <<
 /Type /ObjStm
 /N 100
 /First 919
-/Length 2729      
+/Length 2710      
 /Filter /FlateDecode
 >>
 stream
-xÚÅ[]Ý¸
-}¿¿Bí‹®HJ”ä£éh`“‡mƒ<äcºm0d&@úï{Ž¯&Ù4±ÑX
-0€uÇ6}LRâ!){ҐB)-ˆu{ÐÚBñ²ð(˹â¼óh¡9ô¦8– ¢ŽýP¼ɉÿÈ’+=ˆ7ª)HS<­J¥jPI¸¦ZPåÅ5µ†Ûk	Z(¹zP¯éPj
-Ú„wµ ¨j–«¥`j¸1ïpV›s +-œÁ;¶¬gžòSÓCi5dU l-d+ƒrît(	¹V4ä.Ó-”T8 &é=xƒjì€bÍžq
-îÇ(´ñ”ã: ó”ƒõšJpK‚Neãùœ¯ë©¯°ƒ··‚k$Á].ªn
-Uy±X¨™’¡£J;¸”P+%‹‡Ú2OÕP;ÞÛ!´‰ñTMñ^Ãà’tp(¢Ñ²Z%:…Õ[Í¡u¼®k	ã°P×ÊÿÔгpÐB/…ƒº÷ååà,æÇóz‡8pK¾‹FÊ7³Œ‘A»T·$Ï¡I^€Æ…£t^¿J]ù?8NCJNtÃð™iàx]ŒÏâÉËup<¡M=C²T¼†ÞÛ–³x†tÚ¥Rr‡›:‰.ÖÁ+‰fk‡ƒˆÒ±ˆL´âEa.ŒšsÄ©”h0øTÌwƒtØŠŠÃ„ƒŒ€Ïè§ÿ«Ê³x¼ß÷îŽÏþõî,ï_\\^ŽO?¼º^~ÿùü⟇ãƒË÷oÎÞ?O˜»éÅñÇ㟎ŸËòãpüéìõuxÞZLB‹÷˜]EcZÌÜ¢yÁe÷ý{áø4ÿxùì2…ß]}xu…{Ï//b‰öûðÃü};8v1•È•ÄjŠ…®-³¬CÉûCÁ䍜oVP
-g#Ô´A-e–f‘+–¦V˜˜{_Çâ°xŽ%J[ŽiYaªœ×±Ô	X
-°Ô“^²,zÚ —¶#…8,æoˆeÓŒ&ÂïâÖ­P¾@e<f‹«˜ÕÈ@AU}#`+àB`MT"²iÄŠ¶n«>KêaQ)
-)…¦X½­C‘´?–Ükì IÚ{,ÔKjqw˜f„ЗØÁ‚ cQÊÍcë·¬yÈ„%&»Ç„	¶š3ìÔW=Å'Ì"ÄEÄDÆFÌ"Ìêì@ØʆY43ðäAƒb6ho.“m„3aRgp¯³\£‚Reëä릚\A™7TG¼¬5Š®C™@c2Ö8C<â<b“¥ Vnð༻ǀ.ƒÍ	<þR“EM}“Ëä	l
-xó˜bfe$\ŽYòF<º?PÌ"¤”Ë/ÂSíQûVýLðqȝD‚¼Š +¶Áw&ðN< 6B6‰¼7Ú:½ò]cÂ0hó=ƒ#
-„ÅlÛ¾qÁÀ“)–;9éÇîà_¢™ààÎjH‡tþFFWt«vlw<ÄQ±ÔÀfÚ	Sk³zòî¬F+à°€ŒEakCbt7©™«(¨CÃ|Ö„.,¢!¿ì«¡²îê½7X
-°(Kc˜˜Øêk^‡¢ûÛ«\V<@Á‘ðsFÁVw§MPø]‚Qžk
-àÍëšFÚã$|€¥'8
-ÈCK²Že§’nHzÀÀÉìÿ_Dzÿ¢"
-¦Ø§ˆ€Ø¤;ÔòšvÇâßÛ¨“PÃ1oÐÍ„b•LN²*C„fÙ¬&õ
->34H.ˆBmYöY¹±
-zù‚5<
-Ï”›ÂOáøó_ÿ¸^ÀkáCj¸øðöí‹›k_^\/¢gAþ,§»3—¶1f1écüÄgŸ¼¿|ýô ÃñÉ£Çáøììãuxñ¥ž¼üåìp|Ùg×WÁAVq;ßöêòÃû×gWKyù×_ÎÞœ¿|pù1,ú)
- at rÖÀU¶ôäå{ˆ €!aÑðΚ?!±äÏ£Ÿ®X
-þ§ãÍÿë8¶q짣¤q”qÔq´qòdÈ“!O†<òdÈÓ!O‡<òtÈÓ!O‡<òtÈÓ!O‡<òlȳ!φ<òlȳ!φ<òlÈË'y/vA‹š°èéP-TÖÁ‹Ü‚&Ô¤¼!ñÈm)Ja™*,'}uÚôK›3	2v΢°‰EÉz¾OàΔÔV62rŽÚ3ªtŽEÍØÁ‡d7Ï…t½d(iŠyod‘U–$;סhë%C€™` ø
-£ÀÀŽ^Š¶R0™Ñ¬AŠÑe©‹)[žÈˆÖsf‘Ö)L/Œ$›‰ûÒύ¹m³fX˜d°‹°©ì‡Ó}uKuƒpf´%˜iè©«–+b^×¼Ð
-e$U ¨,«qdö²YC¶û„‚ybíÓ¶¢Ü$€Äèîh$3Ú5Ȉ²¦ÓÌ*Š$zÝʧAFÄîgCœæ¾	ÉÐÐæO43ªð]bgÃó’YBW¾ÐþNœ‘uG>gÎàn¹'(l+žýsµ\Á]@©Ñ»)·Øµl4!AÊ w܉ÃDŸb¶˜zÝàÍŒ•‘è+rkæJJ²Q93¦ët‚@Åùen `¾Ï©žêtêŒtGÒfMpg2'¤"ê,*~³ìÛ·Ú¿¢iÍ£5ÖŸ©DÓÎö›Þ$fô*ªs«ÐRn`ï¤-‰ï꬚RŽ1ç@aû„}8³Ê,:£‡“bAn­ÈÈrÌ٠آ˜Fƒà®LźSt	Ù¢™	Ž+ìè—¥˜—¸ïRë­û»npLˆ܃âäX¾"0“®Gƒ<¥ÜÛ±ÚqS*Íðm(—Ižá¸ÚXç=¥¹IÙÉ8òÍìO„鯌
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rsiena -r 243


More information about the Rsiena-commits mailing list