[Pomp-commits] r584 - in pkg: . R data inst inst/doc man src tests
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sun Jan 8 22:46:07 CET 2012
Author: kingaa
Date: 2012-01-08 22:46:07 +0100 (Sun, 08 Jan 2012)
New Revision: 584
Modified:
pkg/DESCRIPTION
pkg/R/plugins.R
pkg/R/pomp.R
pkg/R/trajectory-pomp.R
pkg/data/blowflies.rda
pkg/data/dacca.rda
pkg/data/euler.sir.rda
pkg/data/gillespie.sir.rda
pkg/data/gompertz.rda
pkg/data/ou2.rda
pkg/data/ricker.rda
pkg/data/rw2.rda
pkg/data/verhulst.rda
pkg/inst/NEWS
pkg/inst/doc/advanced_topics_in_pomp.Rnw
pkg/inst/doc/advanced_topics_in_pomp.pdf
pkg/inst/doc/gompertz-multi-mif.rda
pkg/inst/doc/gompertz-trajmatch.rda
pkg/inst/doc/intro_to_pomp.Rnw
pkg/inst/doc/intro_to_pomp.pdf
pkg/inst/doc/manual.pdf
pkg/inst/doc/nlf-block-boot.rda
pkg/inst/doc/nlf-boot.rda
pkg/inst/doc/nlf-fit-from-truth.rda
pkg/inst/doc/nlf-fits.rda
pkg/inst/doc/nlf-lag-tests.rda
pkg/inst/doc/nlf-multi-short.rda
pkg/inst/doc/ricker-mif.rda
pkg/inst/doc/ricker-probe-match.rda
pkg/man/pomp-class.Rd
pkg/man/pomp.Rd
pkg/src/euler.c
pkg/src/pomp_internal.h
pkg/src/rprocess.c
pkg/src/trajectory.c
pkg/tests/sir.Rout.save
Log:
- include zeronames in basic 'pomp' object. this is passed to 'rprocess' and used by the codes in 'trajectory'.
- add a new section to the 'advanced topics' vignette to discuss 'zeronames' and accumulator variables.
- fix a bug in 'trajectory' for maps and 'discrete.time.sim' in that step sizes were treated as variable (as for Euler steps) rather than as fixed.
Modified: pkg/DESCRIPTION
===================================================================
--- pkg/DESCRIPTION 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/DESCRIPTION 2012-01-08 21:46:07 UTC (rev 584)
@@ -12,7 +12,7 @@
LazyLoad: true
LazyData: false
Collate: aaa.R version.R eulermultinom.R plugins.R
- slice-design.R profile-design.R sobol.R bsplines.R sannbox.R
+ parmat.R slice-design.R profile-design.R sobol.R bsplines.R sannbox.R
pomp-fun.R pomp.R pomp-methods.R rmeasure-pomp.R rprocess-pomp.R init-state-pomp.R
dmeasure-pomp.R dprocess-pomp.R skeleton-pomp.R simulate-pomp.R trajectory-pomp.R plot-pomp.R
pfilter.R pfilter-methods.R traj-match.R bsmc.R
Modified: pkg/R/plugins.R
===================================================================
--- pkg/R/plugins.R 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/R/plugins.R 2012-01-08 21:46:07 UTC (rev 584)
@@ -48,7 +48,7 @@
times=times,
params=params,
dt=delta.t,
- method=0L,
+ method=2L,
statenames=statenames,
paramnames=paramnames,
covarnames=covarnames,
Modified: pkg/R/pomp.R
===================================================================
--- pkg/R/pomp.R 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/R/pomp.R 2012-01-08 21:46:07 UTC (rev 584)
@@ -21,6 +21,7 @@
statenames = 'character',
paramnames = 'character',
covarnames = 'character',
+ zeronames = 'character',
par.trans = 'function',
par.untrans = 'function',
PACKAGE = 'character',
@@ -49,7 +50,7 @@
skeleton = NULL, skeleton.type = c("map","vectorfield"),
skelmap.delta.t = 1,
initializer, covar, tcovar,
- obsnames, statenames, paramnames, covarnames,
+ obsnames, statenames, paramnames, covarnames, zeronames,
PACKAGE, parameter.transform, parameter.inv.transform) {
## check the data
@@ -159,6 +160,7 @@
if (missing(statenames)) statenames <- character(0)
if (missing(paramnames)) paramnames <- character(0)
if (missing(covarnames)) covarnames <- character(0)
+ if (missing(zeronames)) zeronames <- character(0)
if (missing(covar)) {
covar <- matrix(data=0,nrow=0,ncol=0)
@@ -280,6 +282,7 @@
statenames = statenames,
paramnames = paramnames,
covarnames = covarnames,
+ zeronames = zeronames,
par.trans = par.trans,
par.untrans = par.untrans,
PACKAGE = PACKAGE,
@@ -374,7 +377,7 @@
skeleton = NULL, skeleton.type = c("map","vectorfield"),
skelmap.delta.t = 1,
initializer, covar, tcovar,
- obsnames, statenames, paramnames, covarnames,
+ obsnames, statenames, paramnames, covarnames, zeronames,
PACKAGE, parameter.transform, parameter.inv.transform) {
pomp.constructor(
data=data,
@@ -395,6 +398,7 @@
statenames=statenames,
paramnames=paramnames,
covarnames=covarnames,
+ zeronames=zeronames,
PACKAGE=PACKAGE,
parameter.transform=parameter.transform,
parameter.inv.transform=parameter.inv.transform,
@@ -411,7 +415,7 @@
skeleton = NULL, skeleton.type = c("map","vectorfield"),
skelmap.delta.t = 1,
initializer, covar, tcovar,
- obsnames, statenames, paramnames, covarnames,
+ obsnames, statenames, paramnames, covarnames, zeronames,
PACKAGE, parameter.transform, parameter.inv.transform) {
pomp.constructor(
data=data,
@@ -432,6 +436,7 @@
statenames=statenames,
paramnames=paramnames,
covarnames=covarnames,
+ zeronames=zeronames,
PACKAGE=PACKAGE,
parameter.transform=parameter.transform,
parameter.inv.transform=parameter.inv.transform,
@@ -449,7 +454,7 @@
skeleton = NULL, skeleton.type = c("map","vectorfield"),
skelmap.delta.t = 1,
initializer, covar, tcovar,
- obsnames, statenames, paramnames, covarnames,
+ obsnames, statenames, paramnames, covarnames, zeronames,
PACKAGE, parameter.transform, parameter.inv.transform) {
pomp.constructor(
data=matrix(data,nrow=1,ncol=length(data)),
@@ -470,6 +475,7 @@
statenames=statenames,
paramnames=paramnames,
covarnames=covarnames,
+ zeronames=zeronames,
PACKAGE=PACKAGE,
parameter.transform=parameter.transform,
parameter.inv.transform=parameter.inv.transform,
@@ -485,7 +491,7 @@
rmeasure, dmeasure, measurement.model,
skeleton, skeleton.type, skelmap.delta.t,
initializer, covar, tcovar,
- obsnames, statenames, paramnames, covarnames,
+ obsnames, statenames, paramnames, covarnames, zeronames,
PACKAGE, parameter.transform, parameter.inv.transform) {
mmg <- !missing(measurement.model)
dmg <- !missing(dmeasure)
@@ -514,6 +520,7 @@
if (missing(statenames)) statenames <- data at statenames
if (missing(paramnames)) paramnames <- data at paramnames
if (missing(covarnames)) covarnames <- data at covarnames
+ if (missing(zeronames)) zeronames <- data at zeronames
if (missing(PACKAGE)) PACKAGE <- data at PACKAGE
if (missing(skeleton.type)) skeleton.type <- data at skeleton.type
if (missing(skeleton)) skeleton <- data at skeleton
@@ -561,6 +568,7 @@
statenames=statenames,
paramnames=paramnames,
covarnames=covarnames,
+ zeronames=zeronames,
PACKAGE=PACKAGE,
parameter.transform=par.trans,
parameter.inv.transform=par.untrans
Modified: pkg/R/trajectory-pomp.R
===================================================================
--- pkg/R/trajectory-pomp.R 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/R/trajectory-pomp.R 2012-01-08 21:46:07 UTC (rev 584)
@@ -56,17 +56,12 @@
type <- object at skeleton.type # map or vectorfield?
- if ("zeronames"%in%names(object at userdata))
- znames <- object at userdata$zeronames
- else
- znames <- character(0)
-
if (is.na(type))
stop("trajectory error: no skeleton specified",call.=FALSE)
if (type=="map") {
- x <- .Call(iterate_map,object,times,t0,x0,params,znames)
+ x <- .Call(iterate_map,object,times,t0,x0,params)
} else if (type=="vectorfield") {
@@ -91,6 +86,8 @@
)
}
+ znames <- object at zeronames
+
if (length(znames)>0)
x0[znames,,] <- 0
Modified: pkg/data/blowflies.rda
===================================================================
(Binary files differ)
Modified: pkg/data/dacca.rda
===================================================================
(Binary files differ)
Modified: pkg/data/euler.sir.rda
===================================================================
(Binary files differ)
Modified: pkg/data/gillespie.sir.rda
===================================================================
(Binary files differ)
Modified: pkg/data/gompertz.rda
===================================================================
(Binary files differ)
Modified: pkg/data/ou2.rda
===================================================================
(Binary files differ)
Modified: pkg/data/ricker.rda
===================================================================
(Binary files differ)
Modified: pkg/data/rw2.rda
===================================================================
(Binary files differ)
Modified: pkg/data/verhulst.rda
===================================================================
(Binary files differ)
Modified: pkg/inst/NEWS
===================================================================
--- pkg/inst/NEWS 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/inst/NEWS 2012-01-08 21:46:07 UTC (rev 584)
@@ -8,9 +8,12 @@
o The deterministic skeleton trajectory functions now look for variables named in 'zeronames' and treat these variables as accumulators.
This brings the behavior of the deterministic skeleton functions into line with 'rprocess'.
+ A new section of the "advanced topics" vignette discusses accumulator variables and 'zeronames'.
o Include the user manual PDF among the vignettes.
+ o The new function 'parmat' creates a suitable matrix of parameters in one line.
+
0.39-5
o Bug fix in 'bsmc' that arises when the state space is 1-D.
Thanks to Arnab Bhattacharya for finding the bug.
Modified: pkg/inst/doc/advanced_topics_in_pomp.Rnw
===================================================================
--- pkg/inst/doc/advanced_topics_in_pomp.Rnw 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/inst/doc/advanced_topics_in_pomp.Rnw 2012-01-08 21:46:07 UTC (rev 584)
@@ -461,6 +461,35 @@
traj <- trajectory(sir,hmax=1/52)
@
+\section{Accumulator variables}
+
+Recall the SIR example discussed in the ``Introduction to \pkg{pomp}'' vignette.
+In this example, the data consist of reported cases, which are modeled as binomial draws from the true number of recoveries having occurred since the last observation.
+In particular, suppose the zero time for the process is $t_0$ and let $t_1, t_2, \dots, t_n$ be the times at which the data $y_1, y_2, \dots, y_n$ are recorded.
+Then the $k$-th observation $y_k = C(t_{k-1},t_{k})$ is the observed number of cases in time interval $[t_{k-1},t_{k})$.
+If $\Delta_{I{\to}R}(t_{k-1},t_{k})$ is the accumulated number of recoveries (I to R transitions) in the same interval, then the model assumes
+\begin{equation*}
+ y_{k}=C(t_{k-1},t_{k})\;\sim\;\mathrm{binomial}({\Delta}_{I{\to}R}(t_{k-1},t_{k}),\rho)
+\end{equation*}
+where $\rho$ is the probability a given case is actually recorded.
+
+Now, it is easy to keep track of the cumulative number of recoveries when simulating the continuous-time SIR state process;
+one simply has to add each recovery to an accumulator variable when it occurs.
+The SIR simulator codes in the ``Introduction to \pkg{pomp}'' vignette do this, storing the cumulative number of recoveries in a state variable \code{cases}, so that at any time $t$,
+\begin{equation*}
+ \mathtt{cases}(t) = \text{cumulative number of recoveries having occurred in the interval $[t_0,t)$}.
+\end{equation*}
+It follows that $\Delta_{I{\to}R}(t_{k-1},t_{k})=\mathtt{cases}(t_{k})-\mathtt{cases}(t_{k-1})$.
+Does this not violate the Markov assumption upon which all the algorithms in \pkg{pomp} are based?
+Not really.
+Straightforwardly, one could augment the state process, adding $\mathtt{cases}(t_{k-1})$ to the state vector at time $t_k$.
+The state process would then become a \emph{hybrid} process, with one component (the $S$, $I$, $R$, and $\mathtt{cases}$ variables) evolving in continuous time, while the retarded $\mathtt{cases}$ variable would update discretely.
+
+It would, of course, be relatively easy to code up the model in this way, but because the need for accumulator variables is so common, \pkg{pomp} provides an easier work-around.
+Specifically, in the \code{pomp}-object constructing call to \code{pomp}, any variables named in the \code{zeronames} argument are assumed to be accumulator variables.
+At present, however, only the \code{rprocess} plug-ins and the deterministic-skeleton trajectory codes take this into account;
+setting \code{zeronames} will have no effect on custom \code{rprocess} codes.
+
\clearpage
\section{The low-level interface}
Modified: pkg/inst/doc/advanced_topics_in_pomp.pdf
===================================================================
(Binary files differ)
Modified: pkg/inst/doc/gompertz-multi-mif.rda
===================================================================
(Binary files differ)
Modified: pkg/inst/doc/gompertz-trajmatch.rda
===================================================================
(Binary files differ)
Modified: pkg/inst/doc/intro_to_pomp.Rnw
===================================================================
--- pkg/inst/doc/intro_to_pomp.Rnw 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/inst/doc/intro_to_pomp.Rnw 2012-01-08 21:46:07 UTC (rev 584)
@@ -191,7 +191,7 @@
Let's see how to implement the Gompertz model in \pkg{pomp}.
Here, we'll take the shortest path to this goal.
-In the ``advanced topics in pomp'' vignette, we show how one can make the codes much more efficient using compiled native (C or FORTRAN) code.
+In the ``Advanced topics in \pkg{pomp}'' vignette, we show how one can make the codes much more efficient using compiled native (C or FORTRAN) code.
First, we write a function that implements the process model simulator.
This is a function that will simulate a single step ($t\to{t+{\Delta}t}$) of the unobserved process \eqref{eq:gompertz1}.
@@ -717,7 +717,7 @@
loglik.mif.se,loglik.true.se,
etime,
file=binary.file,
- compress=TRUE
+ compress="xz"
)
}
rbind(
@@ -840,7 +840,7 @@
load(binary.file)
} else {
<<gompertz-trajmatch-calc>>
- save(new.gompertz,tm,file=binary.file,compress=TRUE)
+ save(new.gompertz,tm,file=binary.file,compress="xz")
}
@
@@ -1014,7 +1014,7 @@
load(binary.file)
} else {
<<ricker-probe-match-calc>>
- save(pm,file=binary.file,compress=TRUE)
+ save(pm,file=binary.file,compress="xz")
}
@
@@ -1041,7 +1041,7 @@
load(binary.file)
} else {
<<ricker-mif-calc>>
- save(mf,file=binary.file,compress=TRUE)
+ save(mf,file=binary.file,compress="xz")
}
@
The following code compares parameters, likelihoods, and synthetic likelihoods (based on the probes in \code{plist}) at each of
@@ -1134,7 +1134,7 @@
} else {
<<nlf-gompertz-starts>>
<<nlf-gompertz-fits>>
- save(starts,out,fits,file=binary.file,compress=TRUE)
+ save(starts,out,fits,file=binary.file,compress="xz")
}
@
The results in this case are very encouraging,
@@ -1148,7 +1148,7 @@
\code{nasymp} sets the length of the Gompertz model simulation on which the quasilikelihood is based;
larger values will give less variable parameter estimates, but will slow down the fitting process.
The slowdown is dominated by the time required to generate the model simulations, so efficient coding of \code{rprocess} is essential.
-The ``Advanced topics in pomp'' vignette gives some advice on this.
+The ``Advanced topics in \pkg{pomp}'' vignette gives some advice on this.
Do \code{vignette("advanced\_topics\_in\_pomp")} to view it.
The choice of lags affects the accuracy of the intermediate statistical model and therefore the accuracy of parameter estimates, so it is worth putting some effort into choosing good lags.
@@ -1212,7 +1212,7 @@
<<nlf-my-pomp>>
<<nlf-lag-test-log.r>>
<<nlf-lag-test-log.K>>
- save(theta,lags,log.r.vals,log.K.vals,fvals,fvals2,file=binary.file,compress=TRUE)
+ save(theta,lags,log.r.vals,log.K.vals,fvals,fvals2,file=binary.file,compress="xz")
}
@
@@ -1282,7 +1282,7 @@
load(binary.file)
} else {
<<nlf-multi-short>>
- save(lags,nreps,ndata,fvals,file=binary.file,compress=TRUE)
+ save(lags,nreps,ndata,fvals,file=binary.file,compress="xz")
}
@
The last line above expresses the objective function as the geometric mean (quasi)likelihood per data point.
@@ -1309,7 +1309,7 @@
load(binary.file)
} else {
<<nlf-fit-from-truth>>
- save(true.fit,file=binary.file,compress=TRUE)
+ save(true.fit,file=binary.file,compress="xz")
}
@
From \verb+true.fit$params+ and \verb+true.fit$se+ we get the estimates ($\pm$ 1 standard error)
@@ -1360,7 +1360,7 @@
load(binary.file)
} else {
<<nlf-boot>>
- save(pars,file=binary.file,compress=TRUE)
+ save(pars,file=binary.file,compress="xz")
}
@
<<>>=
@@ -1414,7 +1414,7 @@
load(binary.file)
} else {
<<nlf-block-boot>>
- save(pars,file=binary.file,compress=TRUE)
+ save(pars,file=binary.file,compress="xz")
}
@
@@ -1504,6 +1504,8 @@
C(t_1,t_2)\;\sim\;\mathrm{binomial}({\Delta}_{I{\to}R}(t_1,t_2),\rho)
\end{equation*}
where $\Delta_{I{\to}R}(t_1,t_2)$ is the accumulated number of recoveries that have occured over the interval in question and $\rho$ is the \emph{reporting rate}, i.e., the probability that a given infection is observed and recorded.
+The fact that the observed data are linked to an accumulation, as opposed to an instantaneous value, introduces a little bit of complication;
+see the section on ``Accumulator variables'' in the ``Advanced Topics in \pkg{pomp}'' vignette for a thorough discussion of this issue.
The model's deterministic skeleton is a system of nonlinear ordinary differential equations---a vectorfield---on the space of positive values of $S$, $I$, and $R$ (cf. Eq.~\ref{eq:continuous-skeleton}).
Specifically, the SIR deterministic skeleton is
@@ -1580,6 +1582,7 @@
We still have a difficulty with the measurement process, however, in that our data are assumed to be records of infections resolving within a given interval while the process model keeps track of the accumulated number of infections that have resolved since the record-keeping began.
We can get around this difficulty by re-setting \code{cases} to zero immediately after each observation.
We tell \pkg{pomp} to do this using the \code{pomp}'s \code{zeronames} argument, as we will see in a moment.
+The section on ``accumulator variables'' in the ``Advanced topics in \pkg{pomp}'' vignette discusses this in more detail.
The second wrinkle has to do with the initial conditions, i.e., the states $S(t_0)$, $I(t_0)$, $R(t_0)$.
By default, \pkg{pomp} will allow us to specify these initial states arbitrarily.
@@ -1608,7 +1611,7 @@
x0[comp.names] <- round(N*fracs/sum(fracs))
x0
},
- zeronames=c("cases"), # zero this variable after each obsvn.
+ zeronames=c("cases"), # 'cases' is an accumulator variable
ic.pars=c("S0","I0","R0"), # initial condition parameters
comp.names=c("S","I","R") # names of the compartments
),
@@ -1666,7 +1669,7 @@
x0[comp.names] <- round(N*fracs/sum(fracs))
x0
},
- zeronames=c("cases"), # zero this variable after each obsvn.
+ zeronames=c("cases"), # 'cases' is an accumulator variable
ic.pars=c("S0","I0","R0"), # initial condition parameters
comp.names=c("S","I","R") # names of the compartments
),
Modified: pkg/inst/doc/intro_to_pomp.pdf
===================================================================
(Binary files differ)
Modified: pkg/inst/doc/manual.pdf
===================================================================
--- pkg/inst/doc/manual.pdf 2012-01-08 21:40:51 UTC (rev 583)
+++ pkg/inst/doc/manual.pdf 2012-01-08 21:46:07 UTC (rev 584)
@@ -215,14 +215,14 @@
xÚíXÝoÛ6Ï_¡·Ù@Å”(KÅV,I?ÖÔŠÄÛÚ£eÚa«/PTÚì¯ßQ¤ÉµeèÛŠ y¼ãÝýîK2övöÞœá#ÏËÕÙùë€y£(¢Ì[m=„(^-b%‰·ÚxfïçÏxú™ïÄܧÏþ®Ê¼úiþ×êä#”0F| €&p¡ˆVüš
WVtñÌ>)&Ô\ÐÓZ’ $¢‘¹È'ÑÅ,„«("ÌY²š/ÂÙc%ö%£$¨Žƒ N:ÛYgû”:'å4\tÚH<“:›V¢]têî4ײÖ2å™õS[¡D‘:䶥²‹Š+-y–9XÊu-Ôƒ±Ul,冫Ï÷Òœ*SQ×¢žvÅZ4rå¸
Ï„ªeYLy,I:g0
-±O&uYþ‘ª—\Ÿ,NzÀLø˜ø8:å“)º˜$¾H§<b(\ôê.¸ Z0/}¾“ÅÎ%å«Í—6Õ•‹ÁÒ±¼-¹µãºâ*ƒ´ëK%téèwà75±2QtfY!Ô³Ž·éÒàaÅÀþ&2áûsC¨¸šS<ókP1ðÞšõäÉê®õ}«ú‹%\;³_¥¸’›Lï¹pi¹äæöYwú’²;¼rò·¢Éyq*. Þ‹Ë
+±O&uYþ‘ª—\Ÿ,NzÀLø˜ø8>å“)º˜$¾H§<b(\ôê.¸ Z0/}¾“ÅÎ%å«Í—6Õ•‹ÁÒ±¼-¹µãºâ*ƒ´ëK%téèwà75±2QtfY!Ô³Ž·éÒàaÅÀþ&2áûsC¨¸šS<ókP1ðÞšõäÉê®õ}«ú‹%\;³_¥¸’›Lï¹pi¹äæöYwú’²;¼rò·¢Éyq*. Þ‹Ë
—…†1 q±-†Ò\<ÅóçÏÀÅù¯MÞ!±i^L7ÂÁñØÞßo—#!ŒÌõØS°uË[sÕÈ!Lú.s¯uõüüÜ´E¤ü¹o+}'º
î'‘j´±ªc°ÚÛÇu%êTÉJŸ¨`"
gØÛqûɔ˦>Ö‹üïÙ†œ!{>Tõõ”ý!AŒ„ý·1Ã/~q3b‡PˆKÚºmW•Î5·Û)^ÝË´?|ÐE©òN¬YWÐÔÁ¡¯Ž²weæ
wÊ'gœõ)²&.e*ŠZœèª8îsýÍûåÈ+ãЩ&kÄGH.ù?Ë’o&¡ŒÛÉéÔjÕœpβ£:ŸT¡0î3nÛvЬ>¡ËÊŒt]•Yvbv˜fNúâ眣[¢];Þ:’h2¡ò&Ó²(óŽXeÍN5lû¾JÆ}µÎ ž>t{¹ë¯‚„ÿˆ1Íöéu¹.³n³®«š^Ýò¢X—_*ì´¸¤1Âß6OLç¬}—ÎMå‚×þQ¹Be!µo
£çªwNn]·9t]ÝV?']ã Ø´´D¸és¥z‘«¬Ôþ!;FL-Ħc³oˆû€M~Î5týÿ<=ìm.·~šñºn^
C܇£Ž8^îëKÁR€Y®C®äi«ß*0›cWŒ8‹lkò ‡„]£Gûrýi+ at 9b‚*×b³k±‡¯eê·OYZ™¹4Üô2öõ>ñHˆ‚0¢£yŸ 8r¹Üq²!' P²¾÷”4c—feÚä¢Ðbó¼ÿ‚ÌUk'Ea0,–ªû H0Cfªâÿû#L’§ÝøµþPܾÁ¸%¼Áx|0p¾‚´ÉDÌ"ú¥ïúÙÜO(ýøQàÿ3þÁ4þÔâß+²Å
-Éì¿öì ö}HÄ£Aûs |™ÚHŒ_Î^Îþy#Û
+Éì¿öì ö}HÄ£Aûs |™ÚHŒ_Î^Îþ3Ï#Ý
endstream
endobj
138 0 obj <<
@@ -2924,22 +2924,22 @@
/ProcSet [ /PDF /Text ]
>> endobj
662 0 obj <<
-/Length 1620
+/Length 1640
/Filter /FlateDecode
>>
stream
-xÚí]oÛ6ð=¿ÂHj1KJ%aØC7´E·b0÷©-0Ʀmmú0$:iöëwÇ£dIQâvØC
-ô‰ÇãéxßwŸíf|öæâ§ÕÅ‹×RÎR–ª@ÍVÛ™àœ…RÍb!˜
-ÓÙj3û0?TÅañiõˋסêÑJ.Xœ #G
-$¹àž5ÐF=Ú¥'^1àBúä}£wfðÕCë‹×AЗq&¸"FÏž-–çó?$…±ûjC𶪠h²]©í±6´}¾ÑV³móe€{– tE'¥?òˆ#Ù}b³Â4-Ì=ÀóP}¨«µiZŠÍp[F7p{{ÚmñîP²$ÞïÏSZVT“%ÒD`Œmó·ÉÊÅ2£ù´üöþÝ»+ewÎìÝÁˆÖ¨âe¡—W—7fm«z›™|s hqE$ø10fŸjJ¦¬Ìl¦óìS{•×Õnaë7†¯®›RŸÝXmMqÐà³>±òˆ>?¿¿üù×—o^õ¿6ÖÔÌÖºl :Š{'Yys:EKå'œôŸ¯<¦ÎÖߣîIDúŸ£.z¢QWh[gŸ¿Ý SßKÝ·tYO+äÔ÷îúCn<.FsYÈ™Šü´ø²^>ßÑgÍ£Sã™iqsã¹µ?ãÆŠ¥IÐθ«=úW*ün!æ~Ó@7.FÞEs]n:Z:œ%Ôí>[ï þ0õÍ"Àì*=]:.ôÆ02Ð@§@)‹nøv×ޟЃ…ª#Zë’¸_
-ö åŒ'jí³Î>r”?æsÝø•–›…ˆæ.–’ÏÁŽ’wgÔc†8méÆlÇZÆb®§Ôâ “àpþèÃÔR¢sJuýˆÃØb©àº·Û ¶R±0HÏ«Ç5ë´¦‚ÈÆùÈT~[À£&½g—ûR¨ˆ €ü]èň™êD-Ž%öà³e8«âö¡«Mµ%¼ÅpE ëÓQnÊ݃Â4™¶•H%‹Òàœ±ó¤g,²’€4#+¡ÄItŠ
-ç™%d³¯Žù†à½^mxf&*—r‚S!J[JH¤äT²%ú<Á'f‰èì]>è•”%I§¯ÓBB›ÚL°°`øU’a¸¡Êä2 ÀÁצöyªKÂѼŠ>Vªh4´£ŠçTLêL_çXwkÑ„9ôÅ0>«;ª#äÀ“$…û¼¤$Í–p¾æ¹»-¡|ÍëÉ|ªyÔzØ…É0vnÑÀË@¦®„=5cçÜíØ´®òcQ"œ”€Ó´l²ÆfåÚÒnt¿GniE½&
-“LÊô¼O%Z¢#°ÑaÚA{[¶n
-YÉ¡ÆvON \7fªŒ„)“ÁT‘èôoÆ—`êʬ»…£¸) ¥Ý½d2Øž*löèòuâKÊT|%‚\~enµ†Ròú”°Xª3å ÒSAl*‘«éQâ:,ýÎ4Q¡'áY;C¿Š£¡‘wé*.Bh¦0òÅm˜ž“û‰Hw'¶57+ë›6(&¢d4Úâ< Ý5Co¦¢£”?G1‡Ñ&9_ç‘r?¥&wZ»»ÜÒùm–çDââ-E±`ô+užßy¡*S¯]ÅBY+϶ôk]ë;¯-¤H×v}é»Íìž
-p©wf‰<aþÜTGH·ç`6)2›;@µÐT‚‹8ìTä†Õ0¯€éµ¿æ”5°q# É 8›{ý8ï¡:Õð&ÉÊÍ£1—n ðmõHxaùÙVGØ4šÃË¡Z¢š`*H(8p鑪6ŠæÚÓ–äðX¨ ö,[ÈÐ)2#”ëþΓuËuìS±9zd8o|Ÿ¦š.ÿ|u:¾nªõ^Cé_Ó~sy™uîïk
-‚]hãÚ=¬6„paÑSaª1ÀË"9
-l䊑Œ:Éø˜{C eGCÿ¶Oß/÷ru@Ë¢žòi{„Öû@á²·¥ºW¸ÊVî!;‘#J²ð4rµba3øÉÚ^ÑÞ½õš+x»÷žwƒòÜrºWÅHˆ&+Žk—´®
-‚\@!p,‡ƒÅaTDV-)f•i<ç[|CBq!n•¿Ÿ<Û»)ïÆ)j¬ðäãóÕêâ_õºh
+xÚíXKÛ6¾ï¯06‡ØÀš!%Š’PôI&(
+Ô9%ʵi[†Dïfûë;ádI«]'
+$ENÇÃy~šÏv3>{uñÓêâÙK)g)KU f«íLpÎB©f±L…élµ™½Ÿªâ°ø¸úåÙËPõd%,N@‘
+Š\p¯d£žìÒ/ƒx!ýä]£wf𫇾Ï^AßJTÄ™àŠ=y²XFœÏ—ô-ŒÝW¢·UMD“íJmµ¡åÓ¶šmk]˜§hœ³§Ó(:9ýGÅ®è'6+LÓÒÜŒ1OÕ‡ºZ›¦•Ø—uat§·»ÝÏ%Kâáù~¿0¥eEµ19I¢LÁÈ6™Üت\,Ã0šÿHŸ_ß½}{…¤ìö™½;˜Ð]¼,ôáòêòƬmUo3“o.-®HL€€ÙÁÏ5eSVf6Óyö·©½ËëêF·´õ‹‰ÀW×M©On¬¶¦Ï8hÈYŸáTõpdå×}ý¾X~{þó›ç¯^ôµkjfk]6P-Ž¬¼9íbd(IûW…XSgëïUøUT¡ú«0úJ«°Ð¶Î>}»E¨¾Cá·_„Xi_W ªGKO#`›¯~õx½šTó¯—ñl.Þ!g*ò£áóz!ø|wÄ€7ŽˆgFÃqÁŒ‡Ôþ@+–&A;ЮöˆRáïbî
+\Õ ÅѨ©h®ËM'K»À³ÄºÝgë=± ?¦¾Y¸™U¥W£kCÛ…ÞFø(ÅbÑMÚîØûãx²PuBk]’ökC-¤œñD
+ö`ÖÙ΃öÇ|®ÿ¥ÏÍBDs‡…ÉçGÉ»=º0†<4méfjÏÇFc1×Snñ„IH8ô•n)Ñ%¥ºþÌal±TpÜëí„Z©X¤çƒÕÓšu^šñ€q>
+•ŸÒð‚IïÅå¾*b(@Wzc3b¦:S‹ccI=äl$.ª¸|èh'Sm‰o±\‘h ú´•›rg÷«0M¦c%RÉ¢48¬€Å<é‹¢$ ÍÄ(Jhqj#HÃyf‰Ùì«c¾!z¯A[^ÄÙ@ˆÊÆuÅ„T¨ÒÖ„é;•l…>Mè‰Y"ºx—f%eIÒùë¼ÐƦ6*à "~‘eXnè2¥Hðµ©}Ÿ*Á’p4ŒbŽ•jñƒ†qTñœÀ¤ÎôuŽ¸ƒBˆEäp©…ñYßÑ,d)œç-%k¶Äó˜çζÄò˜×³ù„y4º…1“aíÜb€—L…w~Æ^ê¸4Ú©j]åÇ¢D:!+§é³É›•kK«Ñùž¹¥/ú5LR0)Óó9•<j…‰À‹Û®°×e›Ö%‘zl÷ààº1S0¦LŸ"Ñé# ÔÁ|wGuSK»s)d°<!,kÌå:ñ2U_‰`—_Ø[m ”| ŸKuž =Ôö‰¦G‰»™àÓ¿™&Ðp8 ÏÆî«8Æu—q‘Â0…‘cd´ezÚLîW$2Ý™xás¥²þÒÇD”Œ‹F[|Àíša6SÑÖQʬ£˜Ãh“œÇùD$ƒÞOé‚3W»;ÜÒþm–ç$âê-E³`ô+užßy£*S¯b¡•W[úo]ë;ï-´Hwízè»Íìž ¸‚Ô;³Äñ›8lª#´ÛS›”…Ím`ˆZjªÁEöªGú
+ËjØW ôÚsêX¸ìžÍ½O‡á¸ïjxPdåŽæÑ™K7
+ømx$¼±üì+†#l¹±~‰nB¨ ¡`õGªÚ*™k/[V´“Ãã¡&ijl)C»¨ŒX®¬û[8OÖÖQ±OÕæè‘á²ñ^|œºœ <ºþó ë|"|íTë½è_Ózs}™uî·ïk
+¢]iã·{hmˆáÊ&¢§ÂÔÅ /‹ä4°Q*F6:êdãcé
+%ÀŽ
+†ùmߟŸåꀑE?ôÓöW¬ O„ëÞ>—V˜2üÂQ¶r„Lôˆ’,<\Yx|‚‡em¯èîÞzÍ<¼{Ï»<·šî¡ÑdÅkñ–ÖUA”+($Žåpðñ¦£9Œ@dÕŠbW™Æk¾Å7$€i«üqøäÙÞMe7N™Pc‡'Ÿ/Vÿ Tv»
endstream
endobj
661 0 obj <<
@@ -3017,42 +3017,43 @@
/ProcSet [ /PDF /Text ]
>> endobj
682 0 obj <<
-/Length 3094
+/Length 3074
/Filter /FlateDecode
>>
stream
-xÚZÝÛ¸Ï_±oÕ6#~‰R¯}ȵÉ!-Ð×½§¦´½ÖÅ–IÎfû×w†C}šÎ:Ø…LÉ!9œþf¨øæá&¾ùåÍÏwoÞ~Pê&cY"’›»í
-c&Urc8g‰ÌnÿDÇúp¼ýïÝßÞ~ɤ¯Š93)0r¤Ä.obϺÿûAˆÉ˜µL%Z4IC˪ìÊ|_þÏ63‹ùL²TôóÕÇ®¬«|»YmOÕëT«·øo¢cSwu÷t´´úÙJ¸PLpÕ³›¬áS¬ãcÞä‡vÕÅ+Æx`ÿ\*ËaAÝ.ïhú§Òî‹–– |×8v¬S&@´km¦µTº(mêª(q8P©h[7ÔÐí,QÚ.ï,Ñ`cÛúž;[ù¡¼:úzËuD$åÔB´MLUòB³XÈ~7$€À®EÆÒt8õ²×$p\Ž²mZÖoZ±Œóù¦~‚Þ‰‰
-»½åq”Ÿö(¸$‰Pò%³¹•[êWvþ¿¥n§ª=ÚMù)Ž…-¨ÉÉ pÈ h[̇M…Y¦GÅ¢YL´É÷{[àÙûåÐAÀüS}u]ó¶=lK[æiÂD*ç[Î+< Ø·LÄDJX‡}†–Ú®ãçCJ¦²‰Zš¢Êq=Ž;ž
-’wåfGE[ÃÌŽðIO™Ò¦çÎâÀ2gǾðQÄ1ol?EIJŽÔ¯¨Ÿùþdý0×saÝíl‹£yêÙpµåá¸"â¦>–xðX®Q®¤ÝÒÒˆqb7d´.¬_Ð!cÆS>u
-ŒÌî|ãZ°ÌdSq9ñ›_Ç{ƒO¼„@Å[k½ŸƒKotwTüõÌcòŒq£ÏW´î•ù¢»TÌŠjÌn×:V(]\ªt„“ýJ®¼þ Áûé„‹gÖ”ùýžº«þTô¤?ð¢RÞŽ¬œ2ÉÒlq›ºil{ÄC©À†t<V=¡êh0+"Üߊ8:uTy,»•ÈB¡pAŸ,ÖâGõ9M}<Ú‚-$>¿ÜÀù³,3°WÍÜ«~¯_óf…²‡ºÊõ—Ü;´O.'—-…oð·ñvળíCö,”{XÊÒ¦p,ôZö'=›u™„
-uåÉ›z:TD<’UÊaiþ2ä Ì2³
-äìîZx.³lAfLçÓ]ÚlT%ÙÌ-"Ï3½ËàvV€EÜÛVlÕ5OTt›ÀBSã.©¢H8Õ,Ué³2†[16sã<g–Ÿ˜çXÒq–jµ0° 6ѽ¥ÿÙ)ã„ì, ;$(çôwÈ»¦üFåzÚ”DEÞùN[4Ip)*åÑÇjÉ+´~jR(bÐ5/îGô("Cõú‚˜ÀÁ—LMä{ß\”mWÔ£ÖsÇù<²uçâÙ–Ê™þãÄ9ÍHûG‚ÛH%š‰«4£-æÕtŸp™
-¨ÑÆõM”EÚ{<8‚Ê9`$Õ˦²*,Êé›oßÙ·ÇΨ4uõ(ɘ£$]ïœzœIܳ §àfk‰ÔžŽÇ=\Ó«Ðqw²JÝû¦.éαÙ洔ɈóÓ§ÎeA{YÁq¬÷ÐRPKî{TÖ¸2ˆFàâ!À)MæPÁ:´^;âê&¤Yˆ‰§Ýôè<pêÐQØùœ“†àh0ùâFü9NÉ°¤ƒÍÛSc_Ω¸žÓZJŽÚ—aB\
-²FwZz¸âƒ·G“IÂR.æ·Ê9ç‡HÃ;~³P¤Œè”êä” p€OòHÚôwŠ9¿SÌö|úÿjU94å¦Ç=C˜æêhÕ¡[\¾ÉÌ“=«}»pÀ."#´
-·˜²ï[‡=|q§4%8`6%¸¥°|䬎e ÇÜTÿãù0Ä8o:
-°0n ,r¹E…j©‹»Ñ¶O$ô¤“¡àq-¯ƒñ°ÛÐñ"Š]Q×Ô‰œƒÜ ËšaP™
-ºA!ÎÝï€ZkžÄäÀ$Îaˆtˆr´öxxÕ•‹q tjÉi%£éka〉ŽH.÷X4¡˜Ì)”È¢CítZd$h!±á>oŠt¦¿‚pQÈŠUÌ”L_Ãí)0[~Û{ŽÑ«8½)£ç|Þ÷ø
-fÂÌ¥ýb÷¶««ç–p¤!P(,‚¸Ê)TOÓ,VùTÕˆÖÔ'pxie§™RUXB”†êªœ"´¶guð¥Ñ!ùì/ŒÝ 7nvÎO"`z¸Å.«¶óÀng{Ð6÷—ÐÖ[,«ŠY¼Æ‹rCÍ>Ñ4m¥l é
-×;o™’ó–½ÒCa)4¤M„†@ö71
-sèJ”¸Ú”û²Ã A íÁ9í)@h‰DÖ7™ö±);OÚœe¿³Ì ¡,@~•½†å%öø*€cÆ©yÉÌ—ô#žqúŽÑ)ÉT<ÉúS=3(wÙvê–©ãy³Ô,²»NK\Öj4º8*jJ¤€¡Õ
-{¤¤4×U?ÀR¡n
-U‰ØÇû]]fq5É„Œ»!2ßÍ gVÊEè22ýÛZOÛùæVò‚xV[|îêc¹ù\VŸ1#å3€˜r.*Ûu~”Kgcn ,¹}º·Ãu8r
-†‡Î+ ¢@&?÷>…xÏS1žÍ¿Þýåïï~yÿcùçv&
-ˆïºtŸr÷õdts> ù,=6OÐXb¦ð‰zìë¼ ¿©£}yßäo(ýü”»
-Æç• -.œÐzgF5hcbcŠ7á[ŸªâJJ&âtŠX×äU‡|˜"C×RV_ÇÖ«Q!?C…ZÌqµ˜#@=É«Su˜ÅÀ±r'=ò
-p<œÚ.t‡ìrL8r57·< ¼W]ÎLÉ—Ó÷øô0¸¨pÊ¢¥8ªc¡·(q’š!ý3_(âùzæçJ…ö9øÏ]}Úþ)dåªÇ¼ÏVHɤÌnexìà›¶M£dAI‡u›?ÜÄõ]Z0
-ëûÔDúNÛ<è=KÁ,Œz%Xjä+ÁÒ‘QóÚpò%øT1«+®È£µˆÅu13©¼«†Âû„%c€úXîÁÐy£FPÁé•ó”.r
-¼“-è;nç,o*Íø:£ç:.¥ Ì©ìóM@ g¬z'д¾5Ïb΄üQkS,QÉhÂk
-xãu7,ÃÁ\GGwkB}XàÔŽ°Ccûl{¦A—A@ð¶¼ï!lêSðð9X¬™Èiµü…Ò®Þ.×
-XâB®5efÌñÔ÷¿‡œ–a&Ó³LkÚ›zŠ5ÍiÓS <Í5/»Æ$“U@(³¢+5¬¼àÎÀ#gËlzm·îqàþ÷ߨ¶;Û
-joUWk{8vNy{£¡&÷žé•‚¦Í*"VÀµ³€6(^½Ç;á÷ŸÖø¯¦Ë]
-÷ç»_{«ÿ©× 7ÂâFð9/ ü„éŒlÊ•ØN‡Éè›Tp?"ÔÁ‘1®¦‘pA¶,¾$Åø5Ç…iC_}»ô}Gš±ñ!ŒQR™¾]ÐÓo\6)îk÷ m#¨ K1†8„«PЬEŸGä~ÍÎ८½¦90>„`|dS'7%€ñ Ç®#ÇþôU‰FßÎsðú
-0ÈçèÚ#“ïÂ;>AÖþƒG
-zœ§Îl®iñi‹‹ê`RJ2èçü‚d|¼öèÞA–÷¶¯ J)¨\N±«_íSÍbs¶ŠK¢™/‡Ü”—DÕK`”{X\ä$}j#Ë(Éœ¥KÙa=¢eþ-eü@*ëC’l®²g€
-DªÔë<oèñºáó†J^”éóŠÿ¦š¾s¸È*Œ…ði6½?¥‡OQ³W§á‡1Þ¢¹ð{ð׳«
-"·”|\>íþWÛåå¾
-~»'Ÿ3D£¾A)•ÔîzS€Å]ö ÝÓ±g¢-‹'ëâX¤8÷ÛPç¶eƒyö>SéÖÉC¿8jGP߸‰jjé³ DÍÑ|±€júh 3µ>Ûßû»7ÿ Ö£
+xÚZKܸ¾ûWÌ-`š_¢”MÞÀ^l$ÁföM‹ãÖº[jHjg}ªX¤^ÍöŒ1ƒ>4ÅG‰¬çWE¥WŸ®Ò«ŸÞüxûæí¥®
+Vd"»º½¿âiʤʮç,“ÅÕmuõßäØŽ×ÿ»ýûÛ2›ÍU)g&Bn’”8åMêI‡ÿ·„˜ÙÈ\â¢0Ð'iiÝÔC]îë?l· ±zŸÉX‘‹ð¾ö8ÔmSî¯7¢È“ûS³Ågzjïñß$Ç®Úáñhi÷‹p¡˜à*›íácªÓcÙ•‡þfHocÐÁ#ççR±TŽvå@¯¬í¾êi@wƒkáÄ:gX»ÖZûEµ;’ɶmª€•JîÛŽ†¥ž~(K}p°íý̇m¨ûS}-tòåšë„ºTRÒõm ªÒä&Â!4K…§!DN-
+–ç£Ôo¼&†ã¾p•l׳phÅ
+Η‡þñfg&©ìý5O“ò´GÆeY‚œ¯™eHÕ𤾧yõàÿ{švjú£ÝÖÓTØŠ†"BÎ@ÛR>*®ÈB0=)½Å$Ûr¿·ÊÞo‡ïŸë«›Zöýé`{:2Ï3&r¹<rÙ àÜ23.á3œ3¶uÐv>-)™*f:héM‰ûqÔQ6Øõ°«·;jÚ¦ßì:>
+!cìã9SÚê,l pvìg EËΆWÔ¤äØûõ³ÜŸì¨ÞÀõ’Y·;Ûãjž{2Ü$}}8î©sÛk<¶[ä+iwç—ô´bz±[2Y>_Ð!SÆs>w
+ŒÌîüàZ°Âsq/rZ㾎ƒÏ<‡@Å{k½ŸƒË¯:twÔüåÌcò‚q£Ïw´ Ê|Ñ]*fFÅ@5f×*ä.nU:ÂÉ~%W^ Ãû阋2ëêònOÓUŠžÍZÔ*û‰”ãB!Y^¬$¼m»ÎöGJó lH§“¸ðaÔzœæ†:î®Ešœzx¨‡µÈB¡qAŸ,Õâ{õ)V]{<ÚŠ8¾nàüYQô,åãY¿”Ý
+ò6èžäÞ¡}r9vŽµ(
+?à·õvàE5ØþÏ1{–‚Ê=neí
+aïb¥×2HzñrÔeb>´ïÞ¶ûÓ¡¡Î#Y¥·æƒ!ÏÀÐà-Û@Ê.ÖÇp™Uä²`j’ÏpépP•·ˆ4Ïô®€ì¬ ›xw
+|°ÍÐ=RÓ]‹§x `}„ùf¹ÊŸä1DÅÔ,óœX~fž"JÇY®ÕÊÀJ@j’;Kÿ‹ˆ)ÓŒì,Ð Ú%ýÊ¡«¿R»eIU~Ò=š$¸•óäçfM+ƒôþÕ¤:Ð Å 0™®â#zQ z}FLààK¦¥î;?\ÕýPÔ£ÑsÇ
+ù9*ಘtç¢lËåBÿñÅ%½‘Îîü1 •i&ž¥ ¹˜l±læç„`6¢Fc×+4A\yðx ‚Æ9`ìj×CuSYäÓW?~OÝ~<u@¹«GN¦9éf—4ãŒãž9÷¶žºúÓñ¸‡0}÷à «ÔÁ¯h5wùØïtÛÒ–±g¶â\ú4Á¹,¯ˆÇv#”~Fcm…;ƒlNi
+‡
+6±ýÚ Ww1ÍBL<:í. óˆÔa¢ž°ó9%
+ÉÑhòÕ„øS”²qK[ö§Î¾œRõ|J)9jc„_† ñl5¹ÓÚÃ/Ro@“YÆr.–Qå–œ¿IÀóC¦á¿Y©öL蔞É)Aã Ÿ&eä‘´ 1ÅœÇ3f£Nø©V™CWoîÓ4÷ŒV‹‚àò•Èžìé\íÛØ…v¢UH™ïÚ»Þ¡D_œ”æ˜Í;ÜVX>
+r6 Ç
+€cîUÿšòù0Ä(oJ°0o ,|¹F…êiŠ‹h÷Äô,äÉÐð¸›Î×Áz8‡íH¼ˆbo( u&— 7ê²Tæ‚"#(ĹòP+`ϳœ˜Lƒ6™ÈÇ,Gk§VÛ¸Z§žœVF9šX:fΨ¨ËÕ"›&4/s
+%ŠäÐ:±FˆmÐqWöN
+E¾Ð_A¸(fÅ*eJæ¯áö˜-®Û{ŠÐ«8½9¡§|Þ·è
+fÂ,ÅÒ¶{;´ÍS Ki4*‹ ®qʧÞé?6›r®jÔ×µ'pxie§A7•ª°…(
+ÕU9Eèm uðÉ!ùêí/ŽÝ 7nwÎO"`út
+Š]7ýàÝÎжô—0,—5Õb>†ñªÞÒ°/4ÍGçKIB£
+dÁp½ó–99o”k¦aߌid%Ó2‡n E…«m½¯L$HhÎiO BO]d}³×>tõà»Æ1g™ðï,3fÂQ(_¯ayƒ3¾
+àXPê^`2Ë-½Äˆ”¾atJ2•Îª>äTÏÊûÊÎÝræƒ:Ê›åfUÝ}pZâªV“Ñ¥IÕR!¨QÙ#å`¸mÂK¶«\V%RŸïº\ ‘fšdFF„Ó£–Ç£EwÂ,DPFÀШŠä?Öú>g2°ÖÕV 7¿«ˆn³uÖ…SÚc½í©ìÁÙX¥òUèýRjì0xJTâ†n•ð¨adiÈ$J¾"pÎ1¹)ǽ/+^Ä8#îÀòŒwØ®}.`I×PEŠlU¤0‡Ãs˜‚Ï$U‘å7Xã¤
+]åv{:œ ‘†ÅX‚N\’Dâ)Õ¬öu.=“öòÁÒÚ$½<ÝZúXÝoO}O×,Úg’š„õŒ÷þ÷»¿ýãÝO￯æbÀìæA\çãˆ÷þ9›bŽÏŽ¡‹ˆž†ªG¬±lûH3ömYQÓɾ¾ëÊÎÔþýTHDš±ÈOÐ}Y /DÏÕιøªæÈ÷SS=“¡œ™|…PÙЕMÒ;Ìaº©›/Óè ºË$G,Ḟ]rÐãøRd øÆ…Wž¡x8õQ7µ+±ú;òÕpàä5Ï“OI5C/É̪ú—ïRðhŒñú#¤®i>Þ2Æbƒ
+’VµH»Î“H—ûYÊ-V—6Lª±®ÔïÚÓ¾ò÷Rã*÷x,CéHJ&e±òñãÍ“€@qßµ¸J†tVºÄ£ûÓ5ä~J¦aýœ–ºÆ¹ó1ŸœÕCF½RŽ`ä+å¡îµ±ýK’ÅtªžWV„6"ÔU¤Ìä"rÉ«µd,›ªõ)j5\ŤqžÒ¥±‘KKÍÔdAßp;gEliήʂŽK)¨Œ-Cñ:À«àºÞƱrÊ™ßkmŠe*›Lx£üý³Æm8,‡û¨Ç•¦àyÜàÜŽpBgÃÕG¡A×!äC}}ò‰Ü×™àÿàâød§Y4N Z»v_¹Â7 ¥…©àÖÞýsZ†™B/ÊÞy0õ«Éu§íGð4Ϲf7&›íPÒ
+…Ô¸ò‚;\¬¯6Z{ïnjî~¿ða†Êซ£ ö6m³±‡ãà”7
+
+¹Ëe¯äÁn?S±þ«ôQö¦ õ£Ý~%yÿeƒÿj¾Ý›Qãþzû˯ïq÷?0V®Vð%-èùkKÅœ*/“ÉW¿¨® >"ÔÁ•+6ÞÌ)bÇÞ®ïm.I1}Zsáµ±ß|½ô±M^°éV’Q…Ÿ>$ÑóI\i/OîZw'c¨ ˜BRÈU¬‚¡E ÑÜïÙÙâ
+¼´
+£«MÊŒæ‹yƒìÚêä^ùÛÐþ6Ç×b¯yÀ×è»cpr–×<ò%ºöÈä›ðŽÏµÿ:sʾ” Ûæb®\×ê;#—¬¶Ñ
+¡d:ÓOùÉøö(î É;r]H+j׳ÜøÙŸP䚥æl—X³Ü¹)ω&|Øa”»å]ˆ} ²fWñ/ò5ïpˆn4±5}V„”¤Xªì –*õ:wMz
+÷/¼kÒÓÕ‹Ê®RñïÃTóK'—YűޓçÏÄBà'îá½àâ
+püÚdÊ÷Æl.~9uöaäûÛ7ÿÄö
endstream
endobj
681 0 obj <<
@@ -3074,214 +3075,215 @@
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [446.075 177.417 467.993 188.321]
+/Rect [446.075 134.592 467.993 145.496]
/A << /S /GoTo /D (Rfn.pomp.Rdash.class) >>
>> endobj
683 0 obj <<
/D [681 0 R /XYZ 99.346 724.594 null]
>> endobj
-684 0 obj <<
-/D [681 0 R /XYZ 100.346 123.514 null]
->> endobj
680 0 obj <<
-/Font << /F44 202 0 R /F36 153 0 R /F22 154 0 R /F35 152 0 R >>
+/Font << /F44 202 0 R /F36 153 0 R /F22 154 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-702 0 obj <<
-/Length 3134
+701 0 obj <<
+/Length 3220
/Filter /FlateDecode
>>
stream
-xÚíZKÛF¾ûWè¶`Ô&ûÁnf,’Ed½læçÀ¡ZcŠHÊýõ©ªn>Õ²5ä°šÍb±ªº_'Þ6ñæÇWß?½zýF¤›Œe)O7OûMÇLÈt£“„¥"Û<í6¿DB>üúôŸ×o¤œQ
-“±XàC4çætFªW±çýú
-ç3òÐ Ño¹†MážjÏmSØ®sü…šóϘQÉÀþÑQ,X¦,IÕ@°ûjœÚ“Í»Kk¿‚L÷sÚŠ4‹òz`ÉKS>vïleû¦ð”‚q“
-„e
-L¥¦ŸÜâP>$qôÿ³þÞ¹}HLÔ<WöĶ*SÑyqôÏU‡f‹o“)H»Ù‚OdJy+•ýñô°å‰ŠNù;bÚ¹ËKgÝ¢Ù»ßÜýìÊýÞÒmÝã–ŒºËsgû%u´ƒý¥.ú²©;æµ{*†1hûSí9ØÚ¶yåœ#/·ÝmQ¾c^äÈpþFyÏ”u|ÊžšqË.pJ*aFêч–Þ8—[_=žùë¦
-ºfÊðÞ}›_‘×NÎgÒ\D]s²\EŽ¹7zÝÔ}[âÞû2¯¾Í,‰ö ÝíeçV-8oS?ú †ÌlZŒm·üßUˆ'Z2“M¡ºÊº[%……ì"eY6í˜?prPYwB+pi¾<Œg‹îËUíH3÷@ÕœíÎm÷ûízPáT•µõûN5X
-Ö„íU§ûž<¸}P*‚˜ÜDÿ¾´-¸lõé!Uª\™¨Ü;Ò¦¶ÿ@ÒkÆéè5°ô‚‚zMåäõ4%2X`¡â®ìŠÖö ŽˆÁ‹Ë’%Ŧö¨n|(+ÐóàéwsˆK·Û](²a….‚÷ó3ˆû±<ùÀ[oc[v`˜ÀÀAæðè‡KeÛÀÓð\ò¸Ð$uš€Mñ°„!ëÞíJB²XËÁ1,¾•uåés¾$5ãñøˆ‹©;ý6f©s1ضëíùK¯S2}ºôu§è>Ϧ†«{ògºfùኤL+³Vdg?„)g‰4/ÔDÞ‘™¶B H«ðÍ[rHùh‡ÀÈË*‡á&
-Þ`|8O‡Ró¢ÇKÁ¡\ªÑ_
-¥pÜ/lÛç¥ß, Á•õ¥¹tÛ!ttôß¼¥hhá{Ox„g:ôu>¸¸ŽÊÓÊ!Ä»{M :é¥iýAg»s9f ¡2*›¾6"
-(ü^)ë¶1Þ:k_rē߾䮩×3-†+X ^ôô`Ð($
-Un\P&Dm|G2lw©’¨Ÿ“Áâh«óP=%Køª|îšâ2YòžS<Ÿ‹ù¨Ý¿>c—;¬¹ÖîíU´ð)Ž¦<Ô¶ïƒ ~µL§°PL{ˆZ'§#Åß¼¬(Ïyu'ÚC‰ÅòK_H3áGRäíÏs·»‹5wÎMוä#x…é›gçâ$C]`yÞ\ ø¾8óæ•£°{t6zuië½þSÈ™Ÿ
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/pomp -r 584
More information about the pomp-commits
mailing list