[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:䶥²+-y9XÊ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Ã/~q3bPKÚºmWÎ5·Û)^ÝË´?|ÐE©òN¬YWÐÔÁ¡¯²weæ
wÊ'gõ)²&.e*Zèª8îsýÍûåÈ+ãЩ&kÄGH.ù?Ëo&¡ÛÉéÔjÕpβ£:T¡0î3nÛvЬ>¡ËÊt]YvbvfNúâç£[¢];Þ: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ÁRY®C®äi«ß*0cW8lkò ]£Gûrýi+ at 9b*×b³k±¯eê·OYZ¹4Üô2öõ>ñH0¢£y 8r¹Üq²!' P²¾÷4cfeÚä¢Ð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¡W7fm«z|s hqE$ø10fjJ¦¬Ì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Ôc8méÆ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&*rS!J[JH¤äT²%ú<Á'fèì]>è%I§¯ÓBBÚL°°`øUa¸¡Êä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;@µÐT8ìTäÕ0¯éµ¿æ5°q# É 8{ý8ï¡:Õð&ÉÊÍ£1n ðmõHxaùÙVGØ4ÃË¡Z¢`*H(8péª6æÚÓäðX¨ ö,[ÈÐ)2#ëþÎuËuìS±9zd8o|¦.ÿ|u:¾nªõ^Cé_Ó~syuîïk
-]hãÚ=¬6paÑSaª1ÀË"9
-lä:Éø{C eGCÿ¶Oß/÷ru@Ë¢òi{Öû@á²·¥ºW¸ÊVî!;#J²ð4rµba3øÉÚ^ÑÞ½õ+x»÷wòÜrºWÅH&+k´®
-\@!p,ÅaTDV-)fi<ç[|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_ß½}{
¤ìö½;Ð]¼,ôáòêòƬmUo3o.-®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Ä7gFÃ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¦:SccI=äl$.ª¸|èh'Smo±\h ú´rg÷«0M¦c%RÉ¢48¬Å<é¢$ ÍÄ(Jhqj#HÃyfÙì«c¾!z¯A[^ÄÙ@ÊÆuÅT¨ÒÖé;l
>MèY"ºxf%eIÒùë¼ÐƦ6*à "~eXnè2¥Hðµ©}*Áp4bjñqTñÀ¤Îôu¸BEäp©
ñYßÑ,d)ç-%k¶ÄóçζÄò׳ùy4º
1aíÜbL
w~Æ^ê¸4Ú©j]åÇ¢D:!+§é³ÉkK«Ñù¹¥/ú5LR0)Óó9<j
ÀÛ®°×eÖ%zl÷ààº1S0¦L"Ñé# ÔÁ|wGuSK»s)d°<!,kÌå:ñ2U_`_Ø[m | Ku =Ôö¦G»àÓ¿&Ðp8 ÏÆî«8ÆuqÂ0
cd´ezÚLîW$2Ýxás¥²þÒÇDF[|Àí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ëÞ>V2üÂQ¶rLô,<\Yx|em¯èîÞzÍ<¼{Ï»<·î¡ÑdÅkñÖUA+($åpðñ¦£9@dÕbWÆk¾Å7$i«üqøäÙÞMe7NPc'/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û×wC}Î:Ø
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½ËàvVEÜÛVlÕ5OTtÀBSã.©¢H8Õ,Ué³2[16sã<gçXÒqjµ0° 6ѽ¥ÿÙ)ãì, ;$(çôwÈ»¦üFåzÚDEÞùN[4Ip)*åÑÇjÉ+´~jR(bÐ5/îGô("CõúÀÁLMä{ß\mWÔ£ÖsÇù<²uçâÙÊþãÄ9ÍHûGÛH%«4£-æÕtp
-¨ÑÆõMEÚ{<8Ê9`$Õ˦²*,ÊéoßÙ·ÇΨ4uõ(É£$]ïzIܳ §àfkÔÇ=\Ó«Ðqw²JÝû¦.éαÙæ´ÉóÓ§ÎeA{YÁq¬÷ÐRPKî{TÖ¸2Fàâ!À)MæPÁ:´^;âê&¤Y§Ýôè<pêÐQØùàh0ùâFü9NÉ°¤ÍÛSc_Ω¸ÓZJÚaB\
-²FwZz¸â·GIÂR.æ·Ê9çHÃ;~³P¤èêä pOòHÚôw9¿SÌö|úÿjU94å¦Ç=CæêhÕ¡[\¾ÉÌ=«}»pÀ."#´
-·²ï[=|q§4%8`6%¸¥°|ä¬e ÇÜTÿãù0Ä8o:
-°0n ,r¹E
j©»Ñ¶O$ô¤¡àq-¯ñ°ÛÐñ"]Q×ÔÜ ËaP
-ºA!ÎÝïZkÄäÀ$Îatr´öxxÕq tjÉi%£ékaâªH.÷X4¡Ì)È¢CítZd$h!±á>ot¦¿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í)@hDÖ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¹ù\V1#å3r.*Ûu~Kgcn ,¹}º·Ãu8r
-Î+ ¢@&?÷>
xÏS1Í¿Þýåïï~yÿcùçv&
-ïºtr÷õdts> ù,=6OÐXb¦ðzìë¼ ¿©£}yßäo(ýü»
-Æç -.ÐzgF5hcbc7á[ªâJJ&âtX×ä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£dAIu?ÜÄõ]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{¦AA@ð¶¼ï!lêSðð9X¬Èiµü
Ò®Þ.×
-XâB®5efÌñÔ÷¿a&Ó³LkÚz5Í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#¨ K18«PЬEGä~ÍÎ८½¦90>`|dS'7%ñ Ç®#ÇþôUFßÎsðú
-0ÈçèÚ#ïÂ;>AÖþG
-z§Îl®iñiê`RJ2èçüd|¼öèÞA÷¶¯ J)¨\N±«_íSÍbs¶K¢/ÜDÕK`{X\ä$}j#Ë(É¥KÙa=¢eþ-eü@*ëCl®²g
-DªÔë<oèñºáóJ^éóÿ¦¾s¸È*
ði6½?¥OQ³W§á1Þ¢¹ð{ð׳«
-"·|\>íþWÛåå¾
-~»'3D£¾A)ÔîzSÅ]ö ÝÓ±g¢-'ëâX¤8÷ÛPç¶eyö>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&Bn8åMêIÿ·ÙÈ\â¢0Ð'iiÝÔC]îë?l· ±zÉXð¾ö8ÔmSî¯7¢ÈûS³Ågzjïñß$Ç®Úáñhi÷p¡à*íácªÓcÙþfHocÐÁ#ççR±Två@¯¬í¾êi@wkáÄ:gX»ÖZûEµ;ɶmªJîÛ¥~(K}p°íýÌm¨ûS}-tòåëºTRÒõm ªÒä&Â!4K
§!DN-
+ç£Ôo¼&ã¾pl׳phÅ
+Îþñfg&©ìý5Oò´GÆeY¯eHÕ𤾧yõàÿ{vjú£ÝÖÓTØ"BÎ@ÛR>*®ÈB0=)½Å$Ûr¿·ÊÞoïë«Zöýé`{:2Ï3&r¹<rÙ àÜ23.á33¶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æ:î®Ezx¨µÈB¡qA,Õâ{õ)V]{<Ú8¾nàüYQô,åãY¿Ý
+ò6èäÞ¡}r9vµ(
+?à·õvàE5ØþÏ1{Ê=neí
+aïb¥×2HzñrÔeb>´ïÞ¶ûÓ¡¡Î#Y¥·æ!ÏÀÐà-Û@Ê.ÖÇpUä²`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éf4ãã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ø©VCWoîÓ4÷VàòÈìé\íÛØ
v¢UHïÚ»Þ¡D_æÍ;ÜVX>
+r6 Ç
+cîUÿòù0Ä(oJ°0o ,|¹F
êih÷Äô,äÉÐð¸Î×Áz8íH¼bo( u& 7ê²Tæ"#(ĹòP+`ϳL6ÈÇ,Gk§VÛ¸Z§VF9X:fΨ¨ËÕ"&4/s
+%äÐ:±FmÐqWöN
+E¾Ð_A¸(fÅ*eJæ¯áö-®Û{Ы8½9¡§|Þ·è
+fÂ,ÅÒ¶{;´ÍS Ki4* ®qʧÞé?6r®jÔ×µ'pxie§A7ª°
(
+ÕU9Eèm uðÉ!ùêí/Ý 7nwÎO"`út
+]7ýàÝÎжô0,5Õb>ñªÞÒ°/4ÍGçKIB£
+dÁp½ó99ok¦aßid%Ó2n E
«m½¯L$HhÎiO BO]d}³×>tõà»Æ1gðï,3fÂQ(_¯ay3¾
+àXPê^`2Ë-½Ä¾atJ2Ϊ>äTÏÊûÊÎÝræ:ÊåfUÝ}pZâªVÑ¥IÕR!¨QÙ#å`¸mÂK¶«\V%Rïº\ fdFFӣǣEwÂ,DPFÀШä?Öú>g2°ÖÕV 7¿«n³uÖ
SÚc½í©ìÁÙX¥òUèýRjì0xJTânð¨adiÈ$J¾"pÎ1¹)ǽ/+^Ä8#îÀòwØ®}.`I×PElU¤0ÃsÏ$Uå7Xã¤
+]åv{: ÅXN\Dâ)Õ¬öu.=öòÁÒÚ$½<ÝZúXÝoO}O×,Úgõ÷þ÷»¿ýãÝO￯æbÀìæA\çã÷þ9bÏ¡ª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Ê-V6Lª±®ÔïÚÓ¾ò÷Rã*÷x,CéHJ&e±òñãÍ@qßµ¸JtVºÄ£ûÓ5ä~J¦aýºÆ¹ó1ÕCF½R`ä+å¡îµ±ýKÅtªWV6"ÔU¤Ìä"rÉ«µd,ªõ)j5\ŤqÒ¥±KKÍÔdAßp;gEliήÊK)¨-Cñ:À«àºÞƱrÊßkme*Lx£üý³Æm8,û¨Ç¦àyÜàÜpBgÃÕG¡A×!äC}}òÜ×àÿàâød§Y4N Z»v_¹Â7 ¥
ï©àÖÞýsZB/ÊÞ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^°éVQ
>$ÑóI\i/OîZw'c¨ BRÈU¬¡E ÑÜïÙÙâ
+¼´
+£«MÊæyìÚêä^ùÛÐþ6Ç×b¯yÀ×è»cpr×<ò%ºöÈäðϵÿ:sþ Ûæb®\×ê;#¬¶Ñ
+¡d:ÓOùÉøö(î É;r]H+j׳ÜøÙPä¥ælX³Ü¹)Ï&|Øa»å]} ²fWñ/ò5ïpn4±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æçÀ¡ZcHÊýõ©ª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ôÏUfo)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?ú ÌlZm·üßU'Z2M¡ºÊº[%
ì"eY6í?prPYwB+pi¾<gîËUíH3÷@ÕíÎm÷ûízPáTµõûN5X
-ÖíU§û<¸}P*ÜDÿ¾´-¸lõé!Uª\¨Ü;Ò¦¶ÿ@ÒkÆéè5°ôzMåäõ4%2X`¡â®ìÖö ÁË%Ŧö¨n|(+ÐóàéwsK·Û](²a
.÷ó3û±<ùÀ[oc[v`ÀÀAæðèKeÛÀÓð\ò¸Ð$uMñ°!ëÞíJB²XËÁ1,¾uåés¾$5ãñø©;ý6f©s1ضëíùK¯S2}ºôu§è>Ϧ«{ògºfùá¤L+³Vdg?)g4/ÔDÞ¶B H«ðÍ[rHùhÀÈË*á&
-Þ`|8ORó¢ÇKÁ¡\ªÑ_
-¥pÜ/lÛç¥ß, Áõ¥¹tÛ!ttôß¼¥hhá{Oxg:ô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