From bcc6a5b67484089cb042cbe5e8c3b16f9129e506 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franck=20P=C3=A9rignon?= <franck.perignon@imag.fr>
Date: Thu, 27 Feb 2014 17:25:33 +0000
Subject: [PATCH] Review monitors and file output, add manual.tex (first draft)
 ... All tests ok except 24 - test_opencl_environment (Failed), because of
 pep8 Examples not tested but NSDebug.py which works fine.

---
 Docs/manual.pdf                               | Bin 0 -> 151092 bytes
 Docs/manual.tex                               |  77 +++
 Docs/monitors.tex                             |  41 ++
 Docs/velocity_correction.pdf                  | Bin 157894 -> 0 bytes
 Docs/velocity_correction.tex                  |  46 +-
 Examples/NSDebug.py                           | 291 +++++----
 HySoP/hysop/__init__.py.in                    |  21 +-
 HySoP/hysop/domain/obstacle/planes.py         |   1 +
 HySoP/hysop/domain/tests/test_obstacle.py     |   2 +-
 HySoP/hysop/fields/continuous.py              |  35 +
 HySoP/hysop/fields/discrete.py                |  90 ++-
 HySoP/hysop/fields/tests/test_field.py        |  20 +
 HySoP/hysop/gpu/QtRendering.py                |   4 +-
 .../gpu/tests/test_advection_nullVelocity.py  |  28 +-
 .../tests/test_advection_randomVelocity.py    |  26 +-
 .../gpu/tests/test_opencl_environment.py      |   3 +-
 HySoP/hysop/gpu/tests/test_transposition.py   |  20 +-
 HySoP/hysop/gpu/tools.py                      |   1 -
 HySoP/hysop/mpi/topology.py                   |  14 +-
 .../hysop/numerics/differential_operations.py | 103 +--
 HySoP/hysop/numerics/finite_differences.py    |  11 +-
 HySoP/hysop/numerics/tests/test_diffOp.py     |  50 +-
 HySoP/hysop/operator/__init__.py              |   1 +
 HySoP/hysop/operator/adapt_timestep.py        |  32 +-
 HySoP/hysop/operator/analytic.py              |   7 -
 HySoP/hysop/operator/continuous.py            |  10 +-
 .../hysop/operator/discrete/adapt_timestep.py | 161 +++--
 HySoP/hysop/operator/discrete/discrete.py     |   1 +
 HySoP/hysop/operator/discrete/poisson_fft.py  | 206 +++---
 .../operator/discrete/velocity_correction.py  | 180 +++---
 HySoP/hysop/operator/energy_enstrophy.py      | 135 ++--
 HySoP/hysop/operator/monitors/__init__.py     |  16 +
 .../hysop/operator/monitors/compute_forces.py | 603 ++----------------
 HySoP/hysop/operator/monitors/monitoring.py   |  33 +-
 HySoP/hysop/operator/monitors/printer.py      | 351 +++++-----
 HySoP/hysop/operator/poisson.py               |  65 +-
 HySoP/hysop/operator/redistribute.py          |   4 +-
 .../hysop/operator/redistribute_intercomm.py  |   2 -
 HySoP/hysop/operator/reprojection.py          | 244 +++----
 HySoP/hysop/operator/tests/test_Stretching.py |   2 +-
 .../hysop/operator/tests/test_advec_scales.py |  44 +-
 HySoP/hysop/operator/tests/test_analytic.py   |   2 +-
 .../operator/tests/test_particle_advection.py |   8 +-
 .../tests/test_velocity_correction.py         | 148 +++++
 HySoP/hysop/operator/velocity_correction.py   |  42 +-
 HySoP/hysop/problem/problem.py                |   3 +-
 HySoP/hysop/problem/problem_tasks.py          |   3 +-
 HySoP/hysop/problem/simulation.py             |  83 ++-
 HySoP/hysop/tools/io_utils.py                 | 181 ++++++
 HySoP/hysop/tools/numpywrappers.py            |   9 +
 HySoP/hysop/variable_parameter.py             |  75 +++
 HySoP/hysop/variables/__init__.py             |  27 -
 HySoP/hysop/variables/variables.py            |  47 --
 HySoP/setup.py.in                             |   1 -
 HySoP/src/CMakeLists.txt                      |  13 +-
 55 files changed, 1817 insertions(+), 1806 deletions(-)
 create mode 100644 Docs/manual.pdf
 create mode 100644 Docs/manual.tex
 create mode 100644 Docs/monitors.tex
 delete mode 100644 Docs/velocity_correction.pdf
 create mode 100755 HySoP/hysop/operator/tests/test_velocity_correction.py
 create mode 100644 HySoP/hysop/tools/io_utils.py
 create mode 100644 HySoP/hysop/variable_parameter.py
 delete mode 100644 HySoP/hysop/variables/__init__.py
 delete mode 100644 HySoP/hysop/variables/variables.py

diff --git a/Docs/manual.pdf b/Docs/manual.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..3f58dc12655ad1aa90334c96014e7db543a26632
GIT binary patch
literal 151092
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

literal 0
HcmV?d00001

diff --git a/Docs/manual.tex b/Docs/manual.tex
new file mode 100644
index 000000000..4e12e287f
--- /dev/null
+++ b/Docs/manual.tex
@@ -0,0 +1,77 @@
+\documentclass[a4paper,10pt]{article}
+\usepackage{ucs,amsmath,a4wide,natbib, amssymb}
+\usepackage[utf8x]{inputenc}
+\usepackage{fancyhdr}
+\usepackage{lastpage}
+\fancyhead[C]{}
+\fancyhead[R]{\texttt{\thepage/\pageref{LastPage}}}
+\fancyfoot[L]{}
+\fancyfoot[C]{}
+\fancyfoot[R]{\texttt{file main.tex -- \isodayandtime}}
+\usepackage{multirow}
+\setlength{\parskip}{12pt}
+\usepackage{graphicx}
+\graphicspath{{./images/}}
+\usepackage{pdfsync}
+ \usepackage{cancel}
+\usepackage{xcolor}
+\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2.5cm]{geometry}
+\overfullrule 5pt 
+\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2.5cm]{geometry}
+\overfullrule 5pt %Pour d\'esigner les listes couples d'un *full carre noir la ou l on sort
+
+\usepackage[pdftex]{hyperref}
+\hypersetup{
+  pdftitle={ParMeS User Guide},
+  pdfauthor={ParMeS Devel},
+  pdfcreator={ParMeS},
+  pdfkeywords={particular methods, GPU, MPI},
+%  pdfsubject={}
+% pagebackref=false,
+%colorlinks=false,citecolor=red,
+%linkcolor=blue,
+%plainpages=false,
+%breaklinks=true,
+% pdfpagelabels=true
+}
+
+\usepackage{mathtools}
+
+\DeclarePairedDelimiter\abs{\lvert}{\rvert}%
+\DeclarePairedDelimiter\norm{\lVert}{\rVert}%
+% Swap the definition of \abs* and \norm*, so that \abs
+% and \norm resizes the size of the brackets, and the 
+% starred version does not.
+\makeatletter
+\let\oldabs\abs
+\def\abs{\@ifstar{\oldabs}{\oldabs*}}
+%
+\let\oldnorm\norm
+\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
+\makeatother
+
+\title{ParMeS User Guide}
+\author{ParMeS Development team}
+
+\begin{document}
+\maketitle
+
+
+\part{Introduction}
+\part{Operators}
+\section{About operators}
+\section{Computational operators}
+\input{velocity_correction}
+\section{Monitors}
+\input{monitors}
+\section{Redistribute operators}
+
+\end{document}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: t
+%%% End: 
+
+
+
diff --git a/Docs/monitors.tex b/Docs/monitors.tex
new file mode 100644
index 000000000..c3edc57de
--- /dev/null
+++ b/Docs/monitors.tex
@@ -0,0 +1,41 @@
+
+\subsection{Introduction}
+\subsection{Printer}
+\subsection{DragAndLift}
+\subsection{Reprojection$\_$criterion}
+Purpose : compute a projection criterion, depending on the current vorticity value on the grid.
+
+IN : vorticity field, reproj$\_$cst\\
+OUT : reprojRate, projCriterion
+with\\
+ reprojRate : how often (in terms of iterations) this criteria must be taken into account \\
+ and checkCriterion : true if reprojRate must be checked and updated (if necessary).
+
+\begin{itemize}
+\item Case 1: checkCriterion == True.\\
+If checkCriterion is true, the operator computes a criterion projection every reprojRate iteration.
+If this criterion is greater than reproj$\_$cst (user defined constant), then reprojRate is set to 1. 
+reprojRate is reset to defaultRate (user-defined) at the beginning of every apply.
+\item Case 2 : checkCriterion == False.\\
+The operator will do nothing but give the (user-defined) value for reprojRate.
+\end{itemize}
+
+If io$\_$params is set, then a file is appended with some diagnostics values (see below) each reprojRate iterations.\\
+
+$\Omega$ being the whole domain, $\omega$ the vorticity field, let us denote : 
+\begin{eqnarray}
+d1 &=& \max_{\Omega}\abs{\sum_j \frac{\partial \omega_j}{\partial x_j}}\\
+d2 &=& \max_{\Omega}\abs{\frac{\partial \omega_i}{\partial x_j}} \ \  \forall i,j \in [0,2]
+\end{eqnarray}
+
+And so, diagnostics = simulation.time, projCriterion, d1, d2, counter \\
+
+counter being the number of projection done since the beginning of the simulation.
+
+
+\subsection{Energy$\_$enstrophy}
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "manual"
+%%% End: 
+
diff --git a/Docs/velocity_correction.pdf b/Docs/velocity_correction.pdf
deleted file mode 100644
index 832eb6c5416b2f09a32efef01b8ab5b90d6800cb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 157894
zcma&tQ;;se)+Xq(@s(}cwr$(CZQHhO+vYBFm#cQ!R-c}kzB(N-e_mxqUa!n&WxPqI
zC@N0JM9&68wzx930mDwnNa$c}O~}g&!ys#BZ{cc5$jr*bO8EZ_7zS}GTURq@LI!bL
zBUdv~GZP0>GZ=n;7#CM(Gb1|~&#gLbEtjKCB>&e2!+co{b*LK?6&<!s6Xmq*YEzrM
zif4XD()m!TsFl0S*t7Kt93U#;VluBQ3>C2KIDP?F(DKcRSo45^B8+^2zk6RNbjw&Q
zp)6!ApNLs(ql#HrxQEm|d!_?t0&I3V^`F&Mx9Y)BzAE8oXVnZn^!-=2>bhrhi{a~b
zK?+&7*aH1tfM~m#`b?)TyhDau9gdOqowR2>z^g~V&M%1x;dnI5VJ5V(>T~zzwT@=9
z_dr~YeRMbMKsYx-Uj(?^-yNponp<_+TNzWR?CM#hiY{?6jd-LHt@h@4OSBBn_13|7
z*mJj0ii@BH^suY!YXGXGq`lM4vSP0M_htNcZ&fz}c`uYZIj~DGW%VG6|23qv7Gbip
zxLH)8Zz-017w2#&=2<{w^gI@$H0s-1BaGb<v$=d3w3=<{$8zuxoKgzzUXV8oYl5{m
z#kQ0UH#X5$v%`=KLAHB@J9Prw*ULN%Tu$|qanKA}t<@kCoNt3MRQp)}!x!n%kIGc$
zD?EP%=jc@P<%nh5wog?yLI!*aqVN)<j1V}LW`BGyKfKykzj#5=BqpC*E*@j-c!tvU
zMG#C^y#7R#)Zl`L^x0TD?iMFd!5~J$TSe_<2!5VMR(ZE^s>D<bVQfbhe6$M=>cp#*
zlP}dLW0%#%v*h2fA{kt-<H>kV`wp`X;fDL&w;^=q<7G!uiHm)*yf1F?qK=b)b^?lC
zUi>~Yt$L*o{G$Y8{sVRV@cDGWB~EF-JujljsoaIgOYt(EMTS3x)43+C2(#<>?t!J1
zTh6)&%en4UC9Kb9)8`@1!jUF~0H$dtYY4Etuq;3{XUBNgFY4dwH~r_y@@HMiKw+s|
zQC8HzaHF|^wIs|di$UNxiM~0-=b*j`gUp5;e`JZ{T}2_=;9@42Var%}#N9h>|ILoo
z`dEjcKeM^|rj35jOrG0_z5{`}vy{ZKQH1sd5r$NOT)>N9ru2X`*qS=Zq(F@ttj%HV
zbjqXgwx8HXj)9#$-)^Df608|RP$EDJOuGQ=_MW%L<0k>@_8_ij9+XAPuh+C*dDLR$
z?)Ftjj=_k0_9TnbVJJx80=TqcnwDd=Go-J2>JS0?pdx3e9=rfplQ>xRsSswnA;rPm
z*POfbsI#b`5FqTK$3w&KNr$$Kh<x8G655mM^6o0Tz2R_!oPV!h45%+5)X!7i8n-Jj
zIMmSc9Dc;$I3y{pDfHgL3f9Y|^eXgV+{Clmb@MvrIcZ5keYm%Re1aA66E|a&IqC5D
zWo;yj1qp4Moqxozt$sKm5dUpPW;^4$zIq0oN%`(;*G^kms2cL{rae?n2FMm6$%L}-
zE+c{mw@O?S-rYD#h^@((n!KMja|xL*jnz!RqArAt5t)~EL@>}ywYL7FIuPW(F+`B5
zBC?g6O;L*?lkLU=Hi-Vf#;M#9JH$e|hs=-Yyu9-t!`&M&(Z=bDMZ@p8#B9neo6-ab
zGYoGY5;`<$>LDfpV1$|NEjNxBRpt%!kHOIJ7Ok^s<}<C)d*`4svdL~o%a^w`rIhOM
z-K6*n70%F_(3sOZtW*lN6!}aGIDfjJEh!9LBxM(#MsbX~lY4a{12ZPm7b#zD_CrK&
zaRI0@4Ko!`7oqP$AOYrI#*AVE;@e3W$8kyz{@G&i)vjI$!Fh90evh!$E{7x1ZpF$2
znYTXsi+Tc=<%GA<G<ssP;3DJqeoMrsB2Q`&p%zrw6+tXhA!n4nH*=%ceZf*J%tgS4
zwt?v&D1+*@URtFKEWXS*bjY_B$ogX$_>-~pV@t49G0{0`DwX}!(%w#8;pJQNqJ_5R
zf@$OqGhK7?1+dVXE@OSUsLmtzc%G-8k*?RDP8fETD*dre7-{<19F-$}dhCo~3jL8z
zc|kLBgNaU*28}3PSoEOyFSgjrJJ2@MoiIJns8abjSTWRseJ-j}A&e=+#qQ*_lYp9w
zdKkb_LM*^qxF-ycso#FwT7*-$X$l1INt5QIAN6w6&2n0pCe`(^$s+puuPWqWCZyyW
zFrS6roA+1fFD^}1ao)3H)rpbCQyP^wP%Ezv42>H-F+wipn=-`&uN4b<C%^r8yznNY
zKT&EGF|IDTVGkd{_)=b6dQt-TL6*OK*;A*X>;?e5mZFwaH3!y-Hk6wND-+n;$*44;
zTLnzsWH~5wcAf+a7T@3UiS#K7*~d)Koec5hk+*Y{4Jo7%CaxIZS?JO31ESz;K0h`)
z3d_I3&WD|wV}K&Rsa#~8@+g7=3-#Xo?=U`Oe_vv12=Yrf)QMuDit|BuvFwFQ@ZC*_
zIR-um)E;-5*Mn#{)1fp!70&qYuy!!4CCc$Idusjzwy+nrK`K2?W>pLuDh0yfD>tZt
z<U!Ip8-#qv`$X9hmg2I+F&jjG;_&Qyq%Py#dKoG^U{IH!q7hT&jTN2<p)!PfPM@*R
z1;ZJDb)Xg5OAV^Fv|ff)nVO$*x2}gl+pdBTO$Swc4|P7ryu%G|zV?H9XQqX%1&q&i
zpKE7GC6)K&#+h#>No9~;ir@(p?hN_I&j|wv1L@+;32LfB7^;d6D2Q0rfEsdv{9tsN
zbHnt>CGhJ~853GC5uEV%g)up!IFhHb&;U%7ge1`N2c}Fkk_cfn)yIe`h^dq@9F9U;
zA4xP4lR~I8eLl7*xr|9@@4%?EX{s)YkseolxKp4u^mQbO9xl9MMga9k8(3WU99YDz
z)4<F#8?t~p?bqYq$EH(>1%GJ67uLxqb^Le^qVAJ>uN_VU@+kpZPjU5(>a1In9^$qm
zO*3|b*y&k_Kw6(b=NQULSM?qK#r^#xt1g#ajvuEKF8JVW^(utzBHZpIMHk=52z0u{
zmfvE*$+b#r5@5jUi>(+#_$+7p(67*zL#dy#!T~PvRgvy5qPrOmgU9e6hdyWy31)_H
zPd*jbgNV1RP=K;=e$L}%sb>LLO#V2wTzzhG04RXiU0&i(Ef?#;!?em=h0eUE`&cWP
zZvGqt$szbV@4!-=4q(#TlR4qkf9h5Q>^(sUvnX=)!?7hCBkl*n@BkGMD5o&dE<mpa
zqo~|{UI^HhH|?-DhQ!hzOx24`^=83KJ;3EgDrosPxIX7pFZtCGEy;5d9e||~+ttjR
zdpaOmM;P>J+LeS21k}g)V*>>S9gz>q4jRZ^nQS3Zg97h)_4^qJGzDX3Z~Fhi>p!#q
zpbdtF@&BSXHZHFJsot)2w(XB5k^EjY7!^oJlqzmBfFUHwd!QSk0ATkjYoCQloG8G}
ztTb9FZpq)Td}BEqsxie<JUQSG%;}ZpZfY8<T&sF~yq~G}R|*`xAD=%rryT*P<gm1w
zRxLdVSsbx7iCi?89mG94W_$DMuhWqyHwTZ`x*wZ2jsCi~?Hw*<E3&Bp(+%G3lmqna
zJ>NxNZ!a%BJr0Z#HZZ`O!lo`nS%~eqhqtSY`C90?53Kg{S?J6oxwD!o@jeD|F~?Gs
zw#>kDUTjyH0E^5cm=<O{SFVeQP{xJSW-Xh=i}Rh}F4kFX<v5lD8k8TABm4gTp7$Sd
zLnkkCW-HDXX>)nYOyuU15%_NarU$-Dq+zpPzF+UV%}L}M>Jr$g=%YE)$iQz}=CHSU
z9u8ZW%Pbbk!o7)A-5)y%%7xJTO<qPjQyOyqT7m;J2lI&CdxDr}5<Z%}*E+A*K?zIj
zM)ZE)Pd#F4N$ASj{VOLXq=-;-YM7`5XbX|-VdneaszN0Y_H4%S5@|5=!nf5*rB;94
zglrKm^IlwJHVBs|u{q}^Eqspi!atr^hg(9Amyc{=miXcmvKDfbDS!%j7jnNQ@;(2F
z7Bv4aa*;x?g6|g0kHjGngz`t*l<zvN63ZlOEoqj|?823Bd*B35{0qnavv8d+6}tLG
zC0gy6rc5o8Ha*ThCz{%vw!hJLAn_b3%&yqhIYh9g`ao@Urt?IpP2$P|h)Up(k<S-%
zGlkb&k5Gk3EN?(du7BWuBd!W~j8ju3U6_Uoq@m5fR|Ay>No%e%p;<4WsvyB;X^PyA
zO{l4H0zX`az0!w@+i&xcV-Aq06;~mo+>S|e>&3igT3bzmsf7*kqu+H#pj39nP{rA0
zG>RKj4?$o&8bRY>N}JVZ6-ukb(HDi|i>urLh1pNtbIP~Lq~LjA?^*@mSnaTQsuv(E
z#(5;LlsJtp|CsPd*s2flmk*qf!@gAH;h-gVVJ72A(m*z(hf&XMD4g@#^A+EdpPi!J
zit*hrOyL`ME&tJe6#w-^{jm?ePm)VS)}8Pcl)~!|Ob?s}4!I9Hr=D_u&Ex_{vgQ<h
zqCCl5QldqN?c3!$-59~<*rxs0kZ0$<tuXP`$xu)qf3kd1KNf=rCPFQ#a{0>7)Ml~M
z=?&DAS0b7JZDt^+As67x!}tB8Y4aS;zVuW%9dhyBz3F|HR_Mbh{4L+#H|CJwlbn?y
zkP&W}zdK^wHz&gZ6=MsDKZ_JLq`H|;P`y#oAwb7|!ru=Fu<u*DYr05oxB!PqA~mQJ
z+vX|xj-`%Z2dWVAGMl&V&`WRcm80BeJ=#L+y;()uSr&0rD05^mhDf#R*6+gj8#6vV
zDVc!^zg&@|ztSYPCMxv;Q#sM3AmnC6J2or2Ap%}))X5YC{cgK)>4;>F7f(8@j%j|b
zk4=8uUjBy`owzA<9OxM!!YAyhq+5i3J*`N2#aWw0T*7qP9b3<IMiH64h%aRYWiML;
z2SX)(H@jWE^EF~Wu#i#FGNzUvsdqIOyS^Zk68Z^3I;<Enylb;((KwRa$?pRm$JmJR
zX@alHb+R3!asi~)L~zlt?V8A!v=fO;iL>jne~BFa0VQH1&#6Aq{kl;_5I|W_2iyMc
zY%^=yWWXSOLlppmM24ASGn!k+m##c$XhAF=tCgHqjDm`mvbtWHfZl=&Q}uPv@g#?)
zE3YsR$bcBpi><s7h`5?i^Ng{?x)(6rF=H)T^y$<xMI(e}v7e!RJQ5$yi{@b8(e_U}
zX5>ta&N^*^LA*P#*v5`JeU2cq6%Rc=_5@G5yh(R{a3{jeSS-zaiGytNHrc-dw3ekj
z@<<7QIhkk`ZNP6wusYdH*&CWOX_TI|-;jd&GQXe`3WlJ_AY4@xvsjQ8S9``VtP(vL
z*W{$elrg`M3}(YfTg{c!TFJGb1?zO0=7&_k(JcPitHVCy0uaVVB^(`t4!yJO+Q!FM
z*a)HUVyl*wmbSdHD8Tq!_LSyR-MY?jUzLe@xQuW^9x7!ggl6MfYn{0L5fiRMe>O;H
z?K%zW!fc4#?x|JWHy%02%UxD|#<XNm4BNKi(wJcmuj)?pT$9$_l(${>Q9W-!%C^lL
zfpzb~O$>)-&@aUWZ0JMswBb6AZ3=RrnBAcXEKy8LedwH#`h`E*=^+DJ4vKP!;36$l
zaICl)EH!E4pj2xfP^i$kd$oMa^XLUq_hRCBe{LS<ifQrAb7+583^1zf6TtREF|>Zg
z*8q^QQWK*{l!VazxP^R^D^CPL>cv~rzc8CNDl4&z9u<8i*%@V4^A73I9oB;CB0J!U
zpe)i)h0Hct!iMYq7FlpxD&qK6iX<H!TEq<((hq6Rc_N8>7-?%`pD?b{if?g8X?HC8
znx4}6Wv+ym$|NEt(=~MrnU!}ib;wRWtCn{F(|WgZfWTzX$J|UGLv1|RU~CqMj{=n$
z??l-R#`@`MkAe7<&@Ka8=_gy|E7^5s-)&8J?8vQn+(QK{94{lGIqz4L-ft!si2DgQ
zTojfnVCc)ao<<Shsu%>ZVp|GzF;du!+DsPM3@c-w%3CT|X=sz_=u!_ubG$omH*Ar=
z8<xoP^Gk|3WXZ+e>cbf>?+*qf?u?t)MN^f{MhsrHvE~Js-YUldr`>pKmY*7)1P2&O
zigln`y1g0UOZC{H8B#tFK9!Jrv92Z)!0U<u-Ai_X4_+4LIB8xG{+{>v&&KY@=_>xQ
z5+%k{B^SU1eG+BvzI*aWyUWwRY8G(mY`gW`8r+0T76N`(0VBT7jBr3Ehl@EikG#wt
zdkr<V%5oNhP57XlprjjT{-1;LOtoq{HGVv}83{Qm1_J~x5}`?1AF9)rhK9a3Ft%C+
z*CYLSMbkUO{uuMm665Bm&}2z5_VP$leq&E3TuoWd+VFv-1TFanj3hBd`}G0V);sCe
zOWrXPn5ZeRc}9wJMS7_o5-O;(1i1@^{h-UZNCi>^WeRk^joW^Nn>6^e_mU@lVG~C~
za|fSITDs8Ug7_&m&N-1H(L&*2u8ClCaO1ojbu+e<Yc?Treu7Fe&^;{~Pqz^2?rH$^
z3AR#3D^BD&H}`mllff6-)`%)G&==Stk0%$rP9RnMS|H`#o0Z23=`M;BVZcqaaow%w
zRCO`BRBHsd8iFC_8GzeJ*JtBTyKi>vRwgiW_ju{nNFebhbQ?&6Dolg+_d!05i2nJ!
zRB_DWAcP;9_&K&jr=wZqVWZ_WFj)pq^{hn?U!aT5ZdcJ+&DhH#KD4Rc`uA1nQhl$_
zs>@H5T#)5#F%BQ;qlg!h<v?}0rwSYLYaDqsmd@S})#}Xl`Dit_s@N)I@T${RES0*C
zxL?|0tb~Yuzk>rkJ6%nQ{SX)IgY>q(lUJD?1K%VR8Tf9tL)-P`FCKUyirCv+%t*+z
zE>>KSy8!SI(v{eMvy+wc|H4i#w*N6Z=X7LJu&0pv7aA-JMn|Ka`v{^pLhS0UHylIl
z>g4sWi@+s`gM+jnY;A0RJpwk>;CJQzuriXI3kyt6SI<s+s6QT>48;iS-no8%Z|Cg&
zC}k2i8kW)h^```}@1xE|i`7x;%|jPR`04J&qnVMISv7b6oY^K|5@ijq94t*6)ByfX
zCCruthYYPDLN^nAZPW{(q+sFAWX#@)AG2)hM=N>03c9&<m{^KapRwxd9h)N$PTS^u
z;rn?GEEu0SkHISZvTX6Mh|Mg^*yc3v?xs1L`7rC2pB^*qG3+oQdHxq6y6@NZ*ATo8
z>k?R#4T@%5o#k4U2|XCxgjh@^+pW2~C!xkW)8UjxxN1dmRK|Cugqc4*X7z*UZ@=`H
zb+e51Y3?9yvQ-xQ0fAvOpi|UQU-LiyU4>vgkPWKJYAWx8rE3kpSNwheYnvlvnROyg
zI8QA6$s0P!Qf{{dk`qA55nrAVaUPdu9%DnF%(`PA{>|98_xJR9yo?Jpyc0%Mwj>8N
zO^`uXr6l*@SS5(ZI%mol)V<WYKRCUWvd3|eB+G=XxoBF&{q>raE#`9htH&M%ya~8k
zBmIp5!`a<G(9|*SVi*syBEeyP@RwIUnfqtd_N_Y4@kAg08s`;j{P#^5!W^0)?uVa*
zEEg+?PjTbfMzoZUXzL?A(s$DKCzIvGw{Ctf6X4Z2b}{q9;b|GkOD7u5GcMO@i41<i
zPG}eipwi6bCyHjjii8W2(``5X*CSF7!j=_UBU(9v{V#HypKH)dzv=YMz>{gLKma{4
zXFn!Dt<ZyXP#$cDKDxj?*Sg6%0@h{btV4?~1Dxw<qnz~kw(~&vh@(mSU%9O`0o}T$
z54lZ<oQQpxTZy--gkqWzF#B-wpmzXTiF;@6xEi8ysy$OR6*mHeG6sC+t;-jZW(tsX
z1)?a5ex1o4cPU9HV8^%%!8MzI3Aifnl4Li9i8-uoQ4b^IAp`D2v(f?Shl_;Bv4@|P
ziXilyi3E9x=<uG@d1?J{&?`RyMA|<#!4B=VGTRxGCp0D;3Z*Z*e30*+&atU3l$5e)
zPMos1N)5)INYcD@EKXuS8`UShlS7Y=g6YOPEhb`LnYH!})7^*TDRb=~k#>o*_OkmX
ze!wGzbDdvIQeB&GMppEVst5ThkIMX85V?)^=^++ro{p#}BPQdtwm#K`GI6JSBdzAb
zddgG0SZKlNBzY}}bd^sYuoWM!qnr^=R4E{s#9u^sEhJPU2-vWjGqo*tBt$R7L}Jzo
zSI-#XQAzHD4zwLsy4rOFYNHp4k$$s5pmyzY)3hK;&ZVnnOt4{Lxnm*XGo#u32o9w<
z!&oA`J;6{2&?r3)UM^dFqE_01Eo+K>Y8SnsKR|g)b$ODipq<ie6T|AQM1FX`Hk$El
zk~Py$yF4rs1Ome6LySMv{={{HM-MLP#O|^^KC5A6GtubY!VMh2<9J;kaLradz7&w6
zW-}$W7Scu+3Y_e3a*ebTtqtaqj%`C;jXX+fqEm!p9#LE>Jt=T*!9Hae@{Qty;ex!)
zt}dTwSDUV8WUex<JQEvDku3srZs(<wW;+@w%}E;XS|F-CDuc=ob?`aIn`U!JFeP`?
zV9>!uh9^S`MBQpbKZ5&wmg~Sep6|ZmgN}E<yrgf;(QR|^wW!o#rbGFqFb>|XJY8ez
zlOWAla+LwF*B~SB6@W|fTdK@L<^h__UGskGd4DkaVa`~PPGl1ouCX>?Vk~J>(B!y`
z!t_O3U=QTxs&p`OgHrJD_ACY=tuJbqs|}8Zrv#pwb_kI2mlR!qY<30w(VvQ!KaP@W
zVg*&N`5AmHeORsRG*=ghGO?=BhjWf^LF6WQiGI?(;;G_Exf0&ygGxvp?vQ4<(L5JR
zs>g}KQ40%vUy`Yquc#r?(2y@E?)=+;I&x8rOLRNcO(}sHcD)`xLd+qPuKiENP01?J
zeRFr?Xw0pYfx2>roGIArW-A4kraooEKwsBGJ0S1yBSmM8flgGOgu^N0+M!T6pYuOO
zPSU5CAy*7^5{F4F8tqlbKwEDk{rY9()TdKW@}+^XrFE*?Iq!Al2)%*DGU=0f^cPeq
zixOexq@K)-{U17UzMIGv8`3j|;B2C@bR5;uFxaR=0}e%ucFK-57?YxIV?I&pNiWvw
zahi2;HE;GpDg&H&6<DixMed|JUDh_wL<@U;-Vs-k&S{Y7x6x0N^lNFH8<>=p!LGFd
zU51+n-mij;G-OWVvX`F2RPC10W_8ciS~Rca9<VG=%|-!QVHMBrPb_98^}sn-av)C^
zPm*HZe*oT-0wOA(UB^!a=!mZ6Oc>Xv_<YD-TAyu#8tH}0n=McI>RN=qMf9e9XvU9W
zgkm`$H=NEC<n@qC2xDIuaixJwzG%JIv1$%Ivul<dL#po~^5xa?PLI@$ecr<-KuaZ>
z7)PK1WSHFJ2Z|eLn8;+3w%lxqM(S$SLphC-UL27-(Sjo*R#BgncgymAwZ;oKXO77)
zIpNjn&*HNq#q0agVx0FX^xkFMdmGe~09IF^?$)pS3D-DLR+NP?{WDXVV);HFOGbR*
zXP?#wN2iE4rWDl*^x@8$yE0{I$qumd0<n?bw+tx!cy#Zi)D3WCu4@eQS|GbsAY49U
zUqaKW6T)(h%6$zX*5DCpE`aq`iH^#N#i1L8`Mh*J<Z;~$%S6q}g$uHjA)4T6H&r61
z@z+x#r%#MLII<9DNfcDDt*Vv!NQc)k>s_veg(!3_bE;_Q=xs2PHAXjV9Iqm|;!0#@
z@7;}TMyfq|Ob_kovYaonw!;!6w!@aZ5|{VrQzLtI9eMx&^bZC``PQB=C)+FZHMb}_
z-UQZuXA9T95WXaj^8<fA1NqZ?R2y%xtHkjn$dU=Gl5Nc*soU3Gaqp%3<Zdp!=g^cg
zu<#2$<=jPiEY||}wMy1e;Vl>6Lz8)Usv{SEC4#ju&jDcKv8548xNpdP<Z|+$k=X@8
zo!s+vO;L<KEcS=|zv`u7%!t>b<0gg_iETVdq#CGfY(0tEq2@Te7oDT!B;B^pa6A!B
z+i{cQUPNxCNLZBTEoZBz^GU7qP1z}bGB`UFGaqaAnbxl#MA<(g-r4ns;g_jUT;eou
zm8ihz4rL;rS=xz8Xy=l*I}Ikhr$P@~tu~YEQ-!W%?ddF?3~5^i`Om5;+PT-gl$17}
z(86pSG-`q`WrW6+iGtvdl|fJ}J_k*t3kOn>{}D+S`lJB?1A&N7G1WC`oC}VU2G>^~
zT96KfSOZTu0}7^u5L5tEH7b#4`#I9|d&ksOveX87`J^SDt=B{cVCP}(3oUV*Ks@Vm
zH|i{nzz9-~jcFIJS7qYezRV`ci?9c~{Ump8%H`@Kx!G&QS{qYtRB$J12UMor;%t(Y
zCxtD*Kh4wfua-H+*}<mV%MH2=QEM6nS;tFc;3lSx6Cmu2PZiuSK_KX!ne<Vbw4ERl
za<f4Hxr5>>Wa{urT%{iTE^(pFThumW^Dp!dayIq4;_GK`{Ult-<^P7PVohIe@B*0A
zR~_?Gm)*Ma`Zws0^uB8Cdop*g{ZRBXw&CBW5blm2jr(_qsv<r0kd*iu+I`-@9vpw8
zK*mp@)Z#p|!bwM|2)68BVm>tK&5tlGVdg;CkaL_)^+>8$BFP<pt=IxG*ULsRxQ1Vt
z2Fc+I7L?x||HHhTYwGaj@w2c;GW_YWT0A3H3ZVLpfl3S=JF%^pfj_@y+FPvZ%wv>(
zbN{jpST0zDu)n?9J3m{sZSi>wILh<Z>r$tNZ8fXwnd{VMhCkJT$Wt%eMdB;;Q^%#Z
zSm|A|z#}+0eDhAbpwB_q<s~Z<o{`tz5u-bI6pC%@D=pko8l`E+Zej{QcyuEb1O>q;
zM4t6-Q@YgY2sc`PK{Kc9L;sui>`ed7dlnXs|1s}Z|HJ#E_W#ZMeLL0@wBXl~dR4Oc
zJk>5|soo0D*Fs5M9W`t#*|^+1w}-uD_&`#@U}Otc9VY~qWXZ-qmQP2Q;wkC^>a8C$
z@NoqO1AXti1zFX&PT7|i*Adgy!eKSB=AqW=eY>gxv<SDMMjkRmqsAS>3SDoGohC8g
zyUBEG3ELz5JGun&bJhV9*N68v-`lr=%rcZb60Lz+d{Z8(OPu6+c}l~rR*<U+PD|Xf
zAC4Wz=1!iqMhGpQJ8M0Tzn%Km>f7b?3e#Y>7HHj!H6*&{?z0S&zdS{nEnx@D^Q+9x
za0d9<BcMAGN(pZa`h3N_^4kVCsrsT^p^(RiGP&*A)?&78$FZE|Bd$1@H(bqCn5<3X
zPr5YPn%RL&&a?}u2#HBlSm7Y8F?$gS$V&6jmy!NxkdvuwB5-Zjkr0$l2&Ghrd)dfx
zGO=bye3D#YM6D|EzyVpol#758<v)%$8mA{TRYXfC$Umoz1{2?#;d2|ihvh--Hy5AW
z7c~Tm1OyeV*K(@&+nnNo@qv@y|KKn32ionjM~-0VjQ9AOxA3wn2@S&0req7{k?K^B
zH^K51OrVR1DUhkJ;K-uS{Vm3EjG_uNY=g8GX=qr0V;({5=UV?lI^8)qUd?qlIQaJu
z*;Sx17DcV4vEOB?tbY8QM!dFe4c6UKONX|s4tx!MMu&u1LK=9izH$W6a8g20S9gMI
zgW$vA_F{2Ye1~el_>Rl{9g`cGYj<j~o2q;JGa({v(jj;C1AOfdj?feps&U}0a;wfq
zAaRSOdWOZEHu(ab5qa8ZieSr2dynWLb4Pt$elmQbj6|<lM&`*pG9Q(}WIU_bo7DtD
zSL9g+uA9Q0_hmAq6m;Vp?k_&6%hK{ZSPCbBmBm2*Ry$-2M}dv%IB#rtyxA5QEeS9*
zqEpb%%OYHPNd0aYb`wKwW;E_3^=qUWPW41PC!u4Tx|MtZv8^Kfv}yo~&ql`!NpU{?
zfie;lTCur8Om?p9Na<$3`%b1LEU4Y+q2O{?0PzipyE#wT=HvVk)>H<hb5DsT%uptJ
zh-=~&6{CSjp^2l(0v!@nN;98Y!x{>sICiIn<F%{nk{FSi9n_R(Q<}kIr^#rdK-0*B
z=?bK4l)OKJy{aPTf~=?kb}ZBkP7U?#48%I;K{S=g4$xOIT$8(1J4q?&K)s|JNh5{-
zUcdPSjA05}Vb4(Fj52rjapNQM`_}mhR*$Sg$?XR%_xCYF@H+Ou`vH2a;f$@oLMsT9
zBedib7@a&#UAC8W1+Lpa<xtLcRu24Igs~Og5IgAy)nR`|+#K(2PiO^SH6ejD80|Lz
zkUEecB=TZqRRSP@0f%)2U^kUBp|=s3QX_rjP&WSvJz&_33*6c8(Q?Q+vB!nh&NfV^
zHDgVsKV_z?8?~C@?|6Z{<j`s5X4#L)??I`C<EDhLm_ISYv)LfSj!|)Aek@biaDN8#
zfQ&?MJgK^M20faUmpl#p$G>o~DHpC6%>VEuBcp>P^=8tzNsUYd7X%54&Vh4;?2RT$
z-n_J?Y?A*}rKVtIUmM}{IU9vv#g7E!K)Fathd}C(hxA)MHWi}|f@=M#d#Iv>sCsf4
zy;B8*JVB41p@~cbBK2q_b)mpftl9KazhFi=%<Sr)@P#Y!g`pq;aD!03MCxNOk*`+$
z%!&;YHbR~A?=DNvuv;W7O()?SQ*|P>GUakkB)CYi8I)TtV4rc5up*(=^tZ2JfGHw~
z(0?wL?1>NF47d)q@=k)W9GK+ImwI=18X7*oxQ|j;`c@Z-A)s<w@!Ad9iuRl1hG|MW
zxHlTxelm>+Jywb|uK3J^bvgy^L~p_5gzlQo!0)!v7$WH&F$ZP*_&uZu6psay69OGf
zIK24s0(I^A9huSgCcaj|OII3xSWy$J;m~(k1qxExmV2gck({gdi-Q-3DtWagA6?cD
zjOka|si9a$Z26m=KLMz!W>Qh6#DW042|vBqXs~3$Sw70N7NEjeHh;wg0JmD798o?U
z*A~aP(H6tO9=IU|-6(-l5HeDgpMEe0ZqYtBrqRAdcK633Q5S7fAOO+I_Or6!a9tsc
zi?v(#vzQBRQuNX{{x|f5I_m~3lm#Na-E}|4D^;e!PQ7f4o!tUF8sV4=T}Linay$?W
zB-q+3YXyd1ga)iI1V-KbI2Vq<3AZvr^aPB&Vd~Dv9Q1__91M>f2Ft(TPo(aI?Yw}C
zv!ef(k#W%rm)QC%c$IMLA~{QZLri9J%?kVc6|p$Wwiv(Gz7A6TR;PtUks=pl*fbaA
z%Dh++djazVnWfH|Q&g}RwhvaZGosQnsVExA_Y&`O>77oKRqWOu>E}l*prKr`j8?*`
zKxh`-=WXy7@Oc&1?H2nA&H|E|U!1}kb09q~knaCHp3Vkcsv`JtWTMaLdB9wfK6ldB
zwn2_|14XilhcKRQL#c~atsu4<l7s<&!Hv7uuOUX^SXkJ6GlDpVH^PC$p2vL4(zk1t
z7_uIcUZ5kw7giQ1xOMh+!KVdvLwk7KdpB*|PDC_^<D^Q1Scc5_!H*soA_`vKJ-*$k
zz^d?7d3M!=W=2UzCS_0)$xI1n(SkMt3pkhfdO->#C`gQgKJ}09ZM6ih$K34*>}#3B
z!(3@XMXn*0oN8uWAm$ntXU2LO4A=%-j@c1eBp0eO^W@+%2(TP+Nd6&>*;^g_qW2%r
zyAIeHQ|l0EWdM1n*)ESaWBuy-Xzi15S4gPQJ72*}v4oNYZF)tbHCY0zQv~SabhX5M
zet25*iarX6h#?FBYX|JGAN1^zzdhM<r!-~#m0zIwWX20pg=~&;7`8Ur;f`NuB`Q)`
zgkUAF?sfA#9bZFQq8u0}gwLyGE#=0~50|+7Hc!jXbhu#u6ZIJ)a1(N2*WQ_4p9F-s
z=uS2pR@k!~ynXoYr@U4fVbOJMOp#n>R1e(mp!sNnD9w^vABn;h4VpupzvOr-EqF5q
zK71zFQl2~Ys&C=PneIeiZthz8=G7aX$lb6=X^w%7Rm!(AC+6f7BMLocHK|JEYPdBy
zU&0A(6j=c3l!SVf?8J+>pw$c?lmL&gFBgsxdteod;bP)jl}VPRz%wyMtHN2&k=RjL
z+J8@OW0_P4@%rZ_LF;U~Gyi7>-5&4qY0@C|C{}=N;ZT+~{R#5C*`bPyJdOpTf`Ls&
zP!n1F{TXVC#bzp21qJy10&V=AIu4B_pvYi6SwW)0x*IDzQzOPIx;rN8r?XzOI8skL
z*o+hfBS}SVr8n0am}Ag76fcd&L}!^(guOpqd0qrkr?PWIkfJir>2zW66HDExZn3|f
z`vDT4%MwN-yRm%|`P5z*Is|mcDP_1ZU|K54Q%-%}Ce4k-)BbzosjKgK%4po#5PhvU
zu7PIGIxmr0wMJhkR{7IgODOg_zJ#>Q;gXX=YF-fh7+lF3RNgn9vMVOeF2%Q_RJ<9N
z+?p_Oem-H_Z^+Ft(&UCKvk$k?=#%B&Li7aS=g$9z-$dSWG}jNpZ2fF>RT<mi(QfD~
zNI>uw2>6clUY9k@G)*}jqu7_R4FzNnu7M`Y<xGD+z$I~X)-08CRZQ6yrevcEI-0D}
z)7?x3bBrz6Noc1{JHdB_GL-3ro;^$t*lU$*@{>ApZC<QZ1D#IjNl1NxOM_uh?*=Tf
zvBf<Hl#u`IZ&wI>EAienH0KQcpw>Qlpq3Z@thOT@)Rp+l+5Bcf@eSDvM_bKKEX|Ec
ziHU_R{M9J8znra@GI|>TH*d)tQ|H>YVCFs+q4zIbKK-@;yJ+zGT;_DhCFWSaybUq=
z;SGyt6n!v40!ItLyDkG0&rUb*Ro@v5L``X7`$fjffi&&<<80Pvl~$vO2y!&n{U0@0
zo-0~rr_5ffeU_j6_MsiL6%DtgPOh&`5YM1ga9N^kBRx-rKfFA7oy_4<51iiFAQk&|
zMO%OCK6_SDgT@@5PU!Lx87NQX>!%{*)!)`E>!=JV72#K9F>U>nvl$y%m4G{*j^6Z&
znT>CyJJxXx=^u^fwuG`oid5fch+d6HL|mW3&VUKQi^~gRIx1fNjIWME0#x{_uStPa
zeUqT4TE8gL-V^mi-qAlsw}o?VGTI*P-zgOqcq&tP1xm?uruHGyomVkJCx7h#Etu#n
z4@YXN13?<pRiR^nIHpRDh-LIPzD%QP^B+ekEz;#tx4pTF&GE?B3P25353MW+e(#T4
zPyGz)Rd5U(t7!{kySd~FuiLf{ybKWR3UC)K(FZC@aGJ;g;h6krV})U!ZcK36K+Xz8
zZ8P1Zgsw6*46T(gFb^gTd&M7qO`Dd5UklbsdBvL6-ruUFk+*aMJNyw=peA0+HQAhM
zkU7IQi;K)b7A&rJ<-%LgmkVT<PjzBRZb<vr{Zg&=1{83OwFG2K=^Ic`JqWAqc<g+m
zQrZSR9)m<ZC80*-aSrZnf7HxP2D^SS98zfo{<{U^;P~$rjDwx=|IPIf{{P3a$JFH<
zmIVQQpBh(8NDr<S?iK=qx`~v^W8jl@*G1MK)hpbIsFt6XSQGBu^&I4)YFu?D1GBwe
zpXTmuALXqdivQgGIB4SIlhi{0O;&Acpq(&bp5O($SDL%HaldzJD#)139y@zI`e`d?
z(yn8yrhXl_e=-}eUOtPp{B$QPT+YexXsPb*<p?yK&Qx==#BO(D)NFseepoB1{qHRX
zGO^5^cIfm~v&Wz3Ctr7GS6jPb?5PmgYSPfiBBSq?p(ZtiVveG5F2;DZD8mvvMYjtG
z%q36!R(9&4K0CpUnd+cFQHeOC)nbOhP=>5-fh=~q;V2@k_6G7RXR67F$Qf?r9NLUX
zJ;!y}l|EU0s9EOyGowa}%BCRREOdX~ZAF#9;9rFQS_o_35#i%M7*WQ9-+-gaHNubc
z$<dBVC|RGx$~96=C2I}}T?vDw-vQyNgzH<kb4eV?OSpB-TGq$=2*6pZP7bDbD@Qq(
zmX?ragWHJ+<X#UkK9pE$TkJ#y;)Yf_SY=)HPc)+ax`5tEIW3J2uLq{c;XoVfshS0M
z<A@tO7ApjAq8juTpb1202dP)avKNBiFo8r(W^jz1cd5I)dlt8{Dku(cEaH$Ig>|a$
zYx`00vzf5e{rv|;3&dapMI^;lK4?9u!#z?$4Al=mj8%0x?yjtBx*n*1QY)&QD#vab
z@t1S)GfH}iSx7#ZPZil%l(kqH<AO`ISe1<B3fL(y)*FtQwSy%{)}9<wDf&~c5etr&
z9g}x`LJla}$(M0shxO`}u;sI(<g^LgXVi3b!*lUY@?F%?8DGlmRKWG&dod8TmeKg6
zIDKR{zP;*-J!}`EG;&aQ5nM~eR~*!NUNboktbp}mT*H1=gZ3<wH_~fF9}?k~7ul>m
zMgnCv<}KP_TEm{fpslhe0?B|2qWLT1o?s*4bDEiI!a3{G9;U}v3^MjNr~z&>sKNKF
z=K5K`oirL=^v}}N>V{8&=x(uSnt&^COYeWz5!Zj$5fdR33m5bM`Ru?<$id3V@qbn<
zgpB`ZO32B|!t_7Q(Z#ufE9zb@(cNJ4Zh*nw4DIr9f)N-73Yi;X?tp?(SSAWOdaN4)
zgMd+V+B5=5IetscbG`n&_G>)r%dO^ryEWYWsCzWby~(OXh-_h7Ln{Xg@8k03?hpfM
zxnYUm+XHcM5KwS%Frbr^&|}^}eN4oURU!s=1s4I5e!~*Of&%X(a&Q4ZP^uBaK-Bi}
zK=}MX34u@vg-{$Eff+eEZv=#><RFQl-63_r7r8)alwilvW0bINFTp`}*ZT=>KVIOB
zI!!>Hp<&>gzoDR|d4i0MXaEpJ$l+^2`2@7Oz<40MN;FKc*N+6$Sz~v{&K4+)jED$G
zip8lk6quGYLnBDfzyo(6yF?nOQ-o%SuX4CWAnu@_^6{uKsKqwWo}ZJ&pshi^Kt{m+
zpM9uy5FuRxksZP{Ld^XpZb1nx_`4-6uy@$n7mPr>I}aBi-dx^a=~s`ZTT#Qw0>i>I
zw3R6=sCy6*TVQrW3BZ0?FgC>w$~*#)aBTo+P<;L3gl8cS;0mhM7woHx8&F7C2M)x~
z{FPHsg9dj6=W*f+&hv9R`OGtCl5;||)~rZD0RX#+e*W}#HpHB~Xu8$c4M1E626+yA
z`*LXp7OA!KUv6}FIb8|~)Y}o9b`CJXm(%=h-wfUl#Ms%{2?h}cN`wVEwlbS|?g^~V
zVELDja@O&l6jG4DvVvv!C<%HD*$&M2^Pf;U$gU6&=Pdm3+2a7-uh;P50kCFB-9C^^
zA{}P%^X*lFdE%VG*~I(EU_Ow^&BXH&u;cH~_vPG^(@1R*K%yaF<To~RMo`8;V>9yF
zVfxp3dQy-Nm>-t`3<$TEp%a*w7vu|QXaZy4clNOX;cMh4K@A1!=hOX{ri6JE0tWCC
zGivhsLv;A_YR>pehl4&CpuQN$f5QSb_;vftao|5>_x!g1{);|TkodcO^E?0WtNZ)g
zpA?)^azr5TXb|{2g6Imu<NY1yxnsfcR>HnglmHX-#jyhPlu>9_7{B&=tr8AOfJO}8
z<o2b3GgJ>_sF2u3j%jc9x{mzK5;k!hZwMucasl)6Jp}A{=jigAajWE_j*virwmzZt
z?G%Jh_FO=ALZq&Exwm!Xm&*fy0QENFi~qTQ0@)vVq*S&^JS*6RaC8zbyqf?Fl5hzG
z!lQ;i`xNu?1_RM|?6KGWPTHJ6gz#D4EF2TW{J8v(I07b7OvBg&K--Yvn;PJ)25QsG
zpY}KK(F%-r*d@&l?y@5MTzkev6wIrpJ^NsIGUV~Eh%~oSE%;Nk3;Q0qEUP3CZRA$0
zd+z(#64vuK>_@V3D6R=+1QP2nOU6qN7t^-x`&{l<5uF9?g|1YMX5F1ohL>l_x}W~3
zJ=I>)=;8XawA8h!kQGMz>2OaWm0;K*t3IVMO)$G;=OVz*3&jn69FL;>UT(gxq|`P+
zYNvU!(+-Sa_Ja_Vu>IYrvAR8R*3)07hk<}0akf5gp%_7t<!A1>Rh=~Vi-s-H7_$(7
z67R*+ggTeYR9~$qd|W4u2upR096(gPBsKmw{m|%*=(5s*y$r<2S5Y@|2W>{H-YQjF
zN<hoLPznO6yZcAwk`$9zyT$LS{G6M2>C*IB&Qped80FD!CF)c+*Rq6U*<k+#CawmK
zv#2sW+cu<8c%bk;+0|K;VnRXRXOXR(e{Z7mmMEg-E_eiglYh1YaAVp`ycBayC0fqq
zZBnH*kmLFFU0=vDZ@<`Cl>HV<>X|#(E5hmPf;;cCkg-AeMiQ!*l_3jp>!Ve^7$|)~
z{mR;uLX(D{Jk+_?)^>2fQXR!F)mzmw8-H7t9HT9vfbc#L(pr*g+$dK;%(a{gIy)gz
zNy-x39vaUdDflXy{gmH*GDC)q#Z#8$1P_E$p6(7}{-(l+jjQkuiCiw#abRuyBijmb
zUUY(QEoih&k&U@a?|!KrbY8Mqs`qk}hC*93QC`nRzvb$2q*fqu?r<b1p|>J8rQuO2
zUJaZrO>xf{_G*mrK;6~GabBEigOZE=14$P2p|VPkX-#c=ih}u~@{FT-_o;DH{n*t?
zAVhADX=P2JP2Xhv0X@CMQl#+O5E^v-@04aC>jmvNI~48wc^js_bO(<Z@?b9aLAC#{
zS)O>;{%bJ-tF@zk^^!BRp2}jLp)4SkQi=h}eO6L>G0ksshBSnrALj{RmbZc6;TyCY
zRaY2DW76n0hf*!_c-4<cRglqkkcfPJ83}IIniy%MYqO{z(brt@Z;oiXt0H+E-%L`0
zBfO3=E4E(?RY^A0)U8(as8gFJ2o**pKZU)e`{wFUJ|6O18#W*fxc)=}sTV<yF&+<M
zoTay=?!>C6ZAgM+Q%?Ns?+EIbJm?BO3yG=xfEq~)Md|Ou?377ZM_fPr19<!VKF%{^
z(dTgwwzqQed8a~_QPS85TL3|YaWkZn$@^My!zo$AZ2z@#-von91bx^A;>Ly$_K6t#
zOL5a$@{?1%t1U=`*$Q8~B#(n%{XCRbgL-^_g`%t>O4FsK-N8M2`^n!_7Cwe>RmDur
zm27LVFtC`bLp$1zCn!#3!A`ocJ<hE5f-ggXeQip5Mz1l#yOm5jNd^Ao{sAs+zOxe|
zmK#mFik<6j?NxEAt|_d`?v*l*y~kqV@_W;u;Y5_bsbsB_^5UxOr^m~#5rQ$=&RwfM
z^;^KDrjVx;A<#_@c*@YZHFx{yXXZZ41@$A79OX8$sli{b21r>28NO1L0~AA@M9s!m
z!><<P{_TNfhy0h(5w{s1S{r8LCKkSP7A!jZb1BnG>wiRrpA%VUWytB`73LcT_!11G
zWmPPy(P}AdiF_eBwEKjZf|MZN`X$vFto?;FUbEXuU<Oh?9E}WWxxHDn=-IpD`{b@O
z;`nrwzYY{9CgvF;&mgrzvRw0b_%Pg`Ce3Q>$CY9IFMA$cS%x%2)~4?tYBR5ZKIie4
z^Y}gH?K>@CA*7&Boq|JrUuh<Gs)YqE8RZcYVO~1A7c82crv3qk9k!BH=aj-bcfKT2
zn{hK3k1$H-l68si$&|n3-YHlhAouLgzU04)fPfhjFI@Zsok8!wmzo~tKw*Oh1$t>U
z`9@!ty{$jqwzHzy31rt5%cjcR@n@o$Nd7r$632GH(<&pkImT|wGzLzc^%%M9r`JX)
zC0lkHxdN8hZkQAyz(bZbXqqh?JY7%>%O~iNuC0frHZ$wcB77My?ttXIwKF9OHEOeG
zl^<U-qe7ThB|<wU#(5ve_)ZT-E1QT4rXe8PZlBKxyWlW^4DP+8+e)N}W(aUcBlWSl
z;^IBjf<8}jD{?4Y2k&r3&JAXOH}CQf?9d7!Q=>zN5IBB9p50U8f4km{j&~nlKg^(z
zJ_(3T&s3_0p}pnr?Bb@^at($;d@R*-3DvW;*h@^sL?I<4N)Nal`3`-Aw`Yiq8(OdE
zziK<s!)zYur?+xlB5iZ2ldGiyO@C|q&#S4UZ|6V!`UXZjV!Ja%P&vC=Q9Y7LfN+tR
zh_nb7zq#1uRYm-wqJQ;?KIv@2@$L&?NWkX+H54%rs!4Ii?506G+duy|@Q2Wyw|K&~
z$B*5kZ8+EAKAD58`h>o~_s@1RVww-i=L{BPSG|9mf)CnhS=W-2ZmL$M6J+G1(&^(k
zguOKFGhIOIc!J`f`nnsZRZOU81t(=qqymjoF3C4n$NK2SEAm6F<_8NJ94HXS_=PiP
zS>cr2Ka{trm}xSY{!CJ*tqp~eYgCsyO4G47K9>IRt@BGZWQO2WlSpA{79%+e&U`TU
zG<W?4cD$#7e{iZW;Z!CD7hCW^ZYT?p8AXsGLKs9%vuT_VYxUmK8HW?)>nc`Y7yT-g
z=l5&W8RQMpZTHiteIWNaZ*^JF>TG}QmDxTQleqP>L_uWnAgIHhnwIF15)?`k#>OV-
zjVyq^=~@C^*6b)2Sj-p2xK<UMQhtgqEHqv>3rw*EG-1HwJ7h5r=S!<HR0C=g>OGk?
zTJOPPPjGwEvBw^;+;xLft_Rv?A8GJ<EMDxmyE82V*?iJAQw4|G<;Z)?GafCQZl%gZ
zdfF9h3`eNqz%Y4m>3W+Wz!)##s%9ovGH1(@t!vtSnscm_%xFshYfZ!T<8P}{3DhNi
z8I}4Fs2lUsigK_)-t~`FAW-w({^u;Nm}l4?5_@6gTmPbz@Af3dR{RSWg<Bln(;V@X
zF$ki}x6#FIa++cEw1)l0CF@>OJ8O37iwjHbqTX%D17B@B%-Cz{TgW*(BJmpa2hv~e
z$-3@6J%=m1qD*UnzhX87DKji(;N(Gf<Jr~1mYo&M)_l^ZACV7VADYM;fkE+eZ>ple
zER}~ik%HGxWk-2qW*z?%9*S5Awp-MH%8V{W5&S!5#!q#u8o6g{ZfprU;37<4lLX^Q
zLmSzWwYS4|qr#;5^dpt^r^VX^7GWd!=u2nqh#g~e{dP*gR%xzdUhH(xNpZy#$&R8)
zlrWt-^I+Y&u8-cKfZQ+KuO+}}jV4yNx~R^eBKWsX7$DmG!h)bY<JrltF85R|uxSUx
zk8&4pjzpFlJ21dytuh-n4@7T5oK2$V8)faClMx}U;v;S)!vF8!<fKM4_o(Gpe4#*f
zw#fz4v*9NMn+*-Jh$QiD(#@&e%pQKvx47@s+*MoHh_#x7Y>7{Z#&!{3;4=S?N_p7L
ztQ-jX2(m`d^y6#c2i|FeD#<|qrtpwBB$1rta3mk}%*}HtAU<dqh=&hm!@jfL+>raB
z?_06KJAw11G~6&ib~7ay>=*v}2Q0?jeVWIo+pzsT$XP7{Q@0Mo6bVaYdZ_Hh!2V?K
zt8vAQYq()}p*+S*h2qbCQ^%FRO2^HN;P}))!6Y@?33XQ_ct0G0i+E+n)iz_0(KytR
zRED263v!RM1r45XjdIGawG6%)O}Rd*u(!-t{KYg)^s<V(bH6~$xm$(4Q}bSL)WgfN
zBc|Qy;xiyCnvP7~e7$>ezBrfkeL0y(5QO{jvp@m5hieZ{c_5N$WxQ!$yZ1-)Dumuv
ziK<mR_?O+f#6##H3O8lz(#YWP+-H91;R?)S|0jFiJ-V_G|EMv9@}V3%J~nm?X@_VJ
zQKjDkXMkvtR96b8BOp|s$nLj?NXRYoHhF!cDd)Exy+|)hq=ILF|3lTEop|amidx9p
zAK4;;F)3g^U(u#Wj?m=>`?=FYu6~<Ymd`TfPa_2i=bvZ}po}D-M+y<jF(kg=7}Bcg
z{0~G6OrpmO(D-=lcs3|;QeH8QJBX&}uMw8o&gL}tiRleX;|MIX+!t&vun8wgfq$is
z_<Mau-+w3yp0F;2Nw%=~ciG3=L@>9h8y$3GOT-ynM1kyX%59g%-n&ATl1l(dsx(A@
z<?l@7|CKT&6WxfUKf9x%@Nry&JuySynCl9Zu`&CSG`zlJp?U3LplqdaY7is7M;K(B
zs69r2)R{rFFl{(QwuUk~4Xj5UFnV({gDasM&E={CaNlP(>>?YeR?g~|?z3Ann;pPq
zS0#r8XU9C_VfHjXi4CCt&QH+JY8{)b|1ZYwDMl2SVH5D!wr$(CZQHhO+vXYDo;hRN
zwr%bCv-y(U{WsaY>`m{Qv~Qoj<+zk!Vhi@|6VV;;MT}vjlb{{0r2t(Xu45tt9oGRL
zC4`mNk4I*aOYypUs6&_vbJKLz#2bIdZc@=L+<ZVkzPsL`rDh^@;IsyLWjG*Lo{d&(
z9zu3^KvWh%C?3yse|3C`tn>QfSz45Y=s@scfF79uer)HYl~!WA&d0PJk%|;OzTNBP
z>wA64a{QWja1d9A*5Kh(o+iZFgt^gLaSoCz!!?|GJR#N~EPZPLF|+e~l+!^jL?Ev2
z;Na7SQEV?7o(g-(c>+aF@mbqYRT+B4TF^!Kq9p6{=yu#aMl#%^*UtAoeu_Fse`B8`
zD`!1qoq=onD_nR+rFgnoMiy3sZ&oa^j&xPW#8H82mzMN^xY&e&n2f@o*n+g_Ue8R3
zlX$@xdy$gvba-2?D3)G&p%Sy^mSMy8x+PMEOCw)UzYggbhRBaiQ<)y)zxOI^dWnt4
zGcC#6nueP<j>yYjpm=rtX9jxe_LjLQy;h!Jma>97j|8A&tW9E%*wv~k)u^`@UL`l#
z=q@*%`Hw_&7T58@(jQ@FZ21%8V>RAQsEx}W?F)OO`)r|Fm38H|(rgnCN7|>M?x9wh
zl~nas!314aW@!J9V3HAw%`*(?7da=6U#J<@9VB>OBlzZ)D_v=1%t)r1Le;X9;T(Sv
zWOxF5c;L6k=QK@0{9oMh0)S@~q-fsf$w5#8$O7~TYq00eXvRspY!f6hE!jwpp|_Wg
z7{)ebnJMF9jV(bYOBB!h9lc7O#q^2&9F_on`Td`}*ed+0{q1tjWuecaW_`7pGQb~8
zAtPO-Y{%^ipIFZq+Rg4v!#d1l#86OHF?o#c@53ptPU1w8oF%>rOB*PC4^f;YSLJTb
zzXAXN=9+UO7SDE?M;xT$W(Z~>o6J=<Z!NQ)((%URFxpySj*L8KmUq)FJ(P?wVcQxy
zE2};Lt0Jc!<`_P1*<9gOw|$mL)rb?Y&!iqj4G@MhxGzQ|Ofw}<HlvoAQNE!saGNpW
z@3U*&=<efhYa-PP+G=#KQx*-zTB>nQ4hxl^M){uFG^+_;&N!UrCv?~C3wqFW`AC*;
z<{@)Pscq)GV_8AzkmFDK7CTl=tlH-_>57*ZwZu&R28FiWsp_mvdM4GkMW3E^$io#I
z>RH1_)MrR1j5QwOjITc*z(ZMne?!FNMz?y37fS-5>mnbr16oqfR!Bn<XNG(_9ViL#
zrRmk!*owmTYNHHrX(v`)@dlEvF_*pU)jSm+ma7U8orIt%im74e3tCB#i77MH*)=^X
z3I(G&e|%c<ZN|q?ugB75HfOexu*qHklRGjG^{tJ_bb7)Aqo2b%NKli2Am<v2<u9X7
zUa14u+nD9ZBbQEDZNstRW;4o9n0IllcYRW`?S2g=5W_qgO5Z2Lj^7JEY5k8hG~2qP
z{QCbiIFu^~QYgI<(!jxoJ<))<a5zzD-CDAFqI8!a=5Xb-s^i(yTPU>4|MuE30op?G
zTDtwQyK}CJ=_PXR$MT4t@{sNr6VQ^W^mKph@o4GqFhQNqqXjZ#0j|ACFd837&LOaa
zRc}Eze}pLZzPD=b+alsLLIgFlncl8TtY2~~0DVxM{_gmhpn0yGeS`6j@$&HriY+K}
zZTS9sTEvaY2PJh-!qaxazTZ!gG?OHE?HAWy9>*_n)TPta0W(4G$XDY?O2~w)bS&9(
zZ`5)u#dSlghd{Ht3b+>$7#VvFo>c913$vvP%|Ho;M$H2Y`+1(2Qdk(IxYnS1Djl+T
zxi(CthD{V~!^M(2U~4fIkfLjDFi!=wy&q6TsVud85M~)RRCmkE^=vh&7fyZh`jW1%
z)MAc39LEmGAFf@-XrLo&x@~f6JKvSw{fAv$<#A2&z^mXdy-SM2xoXqhcub~)+2pvp
zT+N3=Bc+0WR8&u!T_LH!yGmE*JU#EPPkgMD#Kfeu^l86s#2ts_)ZFJ!@Zt_n{^^w^
zh{m&~OlXz%l1GrM%62zLj85x_!b7^Tx5GodUqE2X>casv>Q{Sbq;7aA@J(=}v`y{`
z8+Weha#{^Wni<lPKvw_y<w7~)IBeW>+GQ<y%JM5;1US(I-!qyF0PgAMc^yYfL`TJa
zYMq)*bOLFJG~I|e0El!wVz&7Jk!KSLo;3o`2B_j!nn{0N%2NxKS!ao@4SbYX_hj}r
z3W{Hd79mjDPFp7^afYuNgsyyAv~r89)`&{Dm<Sxs+oK;M{kcK+V>bFRvUgiM{}MrK
zKG57evoKby7qlxM=^y|4LT^G++|bOf$DxH#5B&L*i|!$VFxB5<ZLDXgw?UY$naCQ>
zuntRMHg^k?W4`c%g#D*d_ieiDB6}dQxL8l1DHT0NKS$KF#tcMjZ1tlMPTP$FxN&cZ
z0SEKiw5sDueqDto8e*8W=&Y6<j=a@c1YH#$dP+!@_maBkKEGSj)-H|vIg{+uqrNmd
zMeD!VJzacwH`t+EH%+89MyW-mzM1idKn-Sk1Nu{UQlINCaH-f0bF`|7zR`_O(v(x$
z*zGPKo>5wltuJ);Y>@_T{6=F<{K9IL*L+-x+ny>@Z?-V687B9*XH67Ii8nvz+O2a)
zwud_5(wn^vMH%2mNqdluBm`C#<hm8md781uQ<AQu7heEmmnXIW!{3Bg2M#~s_N5UL
z$bo#7VmVWjcD(l81Ei#r$OT5JIY@fT?qGmme(hS`z=Ek!q(;DMT@Q(2OdVG;VbZ_}
z%B-;oJ$*ppL<(#J(36aq!gufB<k=!NWnO0p^1EJ<5@&F4eoW0F4x6!^XsZ?8m?ey8
z5gDmrB*Vl|35gw?B%BY-Ml<hHVil5qS3@ZbksCq{6}>Kw91lZz)b+YnEVItaM`HJZ
zbk#Gze=rl=xcs}t2Krj6>8Xj4Rf=A&N1Q`Om%B@Hg4RRaEfy`Rh9aD;Af*)_j68#x
zEbyOLm^*iB8Wb(y(ev%6-?wWJ3Ui>njr_qEkC}QI^SNfuJE^tkeZrzGs++qs(Z!!O
z6$fRBd#foVlPYp_VzFPDki76_TzXe(8rt3Wz7+z^;HoOC^Q41>*@To>s$BEaSa+~G
z<T1{jw_pz38qeKLp~|l5G|S3MPZ~r8Pqbl4TWOC5vRMh0$@pZDuv+?^(={YDA;FZD
zQn=4&J3sArOx)c<7ocTkV(suMCq?z9nz(V3B@HeashGhGAu&ux__F)F(@OAI8{$fR
z4eiD3x@FYG6)xj3M{8r$+|XFhJwn8fzpXQgkd`C3?tQAGS}gJpQ;Mj}oO<zujy;^V
zCGYCt6{Db2T*VMT6c-*;a&buX-w+Nh5&~M7P2WM1D%#=>q>Y3F+5pepW@adyV{CH?
z-7O{Ck!gShvJsX1^>#68u7Q>NCT8L5CMrE*j4R^DZy&E_-ihgUBPY>YZn6ww<h%e$
z>mJRfZlx}>n)E<G&W`b45lQHn^kI6l>83X3sf3Yn{+`*;^Q_O#@A8anqO&wbGONZJ
zIJ3pvJ76S2^=>{<?1-NIMft3ziagou$r`Rx5sDT~LawX-W-W>|%}E|37JKXvWf2>m
zPSL8IdbTFGzaTLp77ISzVLu_yttNTrA*ssg{9&XyfE~jlGQw~t(hM5I+=fD(#0R&Y
z1KUFJ9L!+}`UArs6`@FVgM99xBNUdu)THK|FJ<owL9XlXpvPY<`XHulQ_z;8WRLSM
z7umuZUtObzkfYfZgh$!VBqLBv+0vDEiz#Dle-9&?MU5gISvJ15brx`vRXfeLRj2V&
zTPavzl*mY?*?{Ip6ht&1y<x8xk;>Ji&c?*d<<j_xq^jOL0TO>-w(KECC&UogZJo=9
zA${g7eB}A`jV^;H3H)xwwk(!2rZ|ATqM+hmnjX9s`_j_>z$^+>&kj)4k_l#>Ajm9V
zBo&Ta=+R#<@Qq~Z&=x5Ecy;hZwms42Gv2Ho;L$U;!O~-XuB>^|>xg*)ePE%d=X&F4
zBJa6q-9Vh`^aNMdAk%f&q=&?IYfC(mr<5txH@{K+?nf{AwOzhOk<C6KL!A%Wk5J{c
ze|>)QoaZLj*X;E#m>QCcn~RsLE^iZ~RU^_Mk{LCr-VpBZU#=SgcCKX5V{imr-#g^n
zNAeAU8t2rDMD#feMPw)~2#9jIv7LB@0dyb&W#9DyBI#S-FurQn6z|8{ykVuD;65yk
z;Hf+|+OZiWq%mADqzN-iZVu|9Kz?uAFD<;#AwfqKEQbHo%rZW=)4CPniPcTq-Mp%5
zQa_F@jEy<{e3)mutO;))s#6|2LQ9Z~t4UO6S?kzpRaEH#0}RLaRYn4T)J{FhBtvh)
z%}%Up(_i_k6n(MR<H~P4zrH8g&~Nxhf!59Q9V)WI|9JcJHIk^e4UPQ(Jh`!*P4U3Q
zs+ajzuYg{=u4lj+m}<T|(oRr;qQ(MQv6{srqDo&Q4pqI&GK6%P<A&$VEWwn3$`lGR
z<<FF<qUE-X_!kzod_@n-=ZW?dwJvTQWrt#{`OS%{XBOR0(tJ^E^f%=sC38z}VgHX?
z0It-QuOFb9A!aQqmEAHUwl<WW-Wa+>E#-vV5c$SSf>70P&GaW_eX#4uH2@%TAmTxg
z)Ix<(Wb~$2y|p5on0(NAAuJH`kQISbq-7id>}lE$L&jlIWLdL?a~4Sjo*M&lDFcFo
zaY^t%I`VE%`@doW-p<#-cMj@ztv!JgI1)gXJ<@4x?zet)ZzgSD*y0yr8R6BE)3d+_
zJ4PnW7v()bzm~h|Nf8?p#stJ7BgI|Vu5fQXv77zSZBM>P0yf5~?8xPpu3LN;p2%X4
z=@}?-te3I$cHU%ImWHxXk6kKpjOU)r=R>kcLoPpkJg&kQYdw!bye;-rpF3<_WHtCW
zNrRqLK7cMCJB6_boc?pp-<oPA+{dDdRvi8vilP|B11ypOriFcHoYivYY0PXK#|Qw?
z4aNL=!Wi(yv%5Cx)|f&%C{g3}Fji5jO|-ipo{I}v4OUgeWpQJqwMSiQJ3OIG*_&mJ
zhwhykAnNbQKXVp+n1ocXXhC+poVnKYlXOr1M)GP@-Su~6s(6j>LMps8L`E#v`i7bm
z&hxdrab<Sr3I!h%9uAN{^V1A8I*-`~FnQvP`0#t@+ixyIw)?@z+9wn7K;@4F8aFK)
zJLpcuVp+ZkWOPzA`{`pEvQ6+j#~JtKy!P%5=JPj>vLlHjfi^Fj%%$R!Fi>ZE2J9K(
zHilWSpA@M>;xr{%tiaRUbSgWgDxQSg`3>jzlGd7%or0NvUy+hs;NbIA@@(2BbCJ%+
z#LRV=Ag`oYb9ANTnVIxLqc54xaF6q2VpdiJTW9=-eaWjKHms9MGQgq0^|gN#V7ZD3
zhDG*7?Oo5Z+^8rW$gV0!i*frYBeRGd*Y8%$rr16&_(^4Q_@1_8Er_3M>!;JLdPXE(
zi`?7LlbO&b0A|2ljoqtg8i)$VX=4Jwmnhm8kh?{-iqPVNT_D~l?{l%zXK;_Hz>Mn6
z#v|&`-6TY<{cx>6C{SQH<ZQ1=%MR=QOk@3qz^cweJGec*^IR)d4QMdpF}RasvMT=>
z80}ldjzmO;!y@D;JpK|nmN9<CiF!y~;m*vP>@m=?Fg-Muunu%z>0Qgy&bQ#f({SdY
z>6bX`t_f7+@b|G}x$y@WO62SRzbFgN|E87xDGPRHw*O#?|56r=jQ<(^Z_0v|;s0M*
zxPhvq=%Ujt5NuD+!7{r@xU)+@0yFm`Fmu3cZxbdhY|~Oe5D^d&KuA=$NJ3MQLZE+t
zJ@i>`ckQ&C_|E#}^}Mc|-=0?Q8!$4UDTEMQ6<R@XNCA*Qq<~ReR_=fT0tysF5Fk**
z%nld=33mwoHXk}?2qxw+farYS!<dqw#B?@P1SqnL=z`!B93O)LL;?sLED%6i5+D%3
zfJl8yiV&0nQW@A|fD}+e%n9`u=Dp!eK)~~pOpRl@CZEpA1GE9d1CWrC4*X8y7M#I}
z4&wAX1khm|!?^a1p8>c5V-VvQD5UK62|4UKiWTydgogO|_<#)D<OM;LB;&yI_k)Ky
zfnf;p7E0JtfZR2i1mLaVesr-2`oIN5GEY6i_halwJOC0G24DwcPXR)`c01k&2^UE8
z%en<Ll)(w?0z>@<S3iOW;@^Eb01yby>F@h_|H6O-|2lzja}aFt_B-%nY(efpI0pkg
zExUmHE7bA>z<_&~1nKf5vilm?G04DP`w6?VzBCBPDk22%QQp7(;K5B`fKMqeAfLK6
zj}_t{+QMm~!YPVza1S3;%zNX1Ee8@7!nK>(mOpcM*4>A|_vp{37RSIjcx!@*NDoh-
z#Btk&uB>>-b~YaT-8=yi1^gSJG>CL?0C46Du(Ud$d1elT%nyG?kMOkUqb#ft06qx3
z=b;S70&xP-<GBy+5!6!%fU*FMg>omqw@dAV009ulSpe{&K#qa)dwa%i_U91)GW&<v
zuor-OZ~83|pg(_BU!RQ~8BDN$`|GFd*Qy~QFf*+o3~Bc^=@%$91)(<p0MJk|AfP^l
z0|5XD6&X}Q0s=Vb2luRw_^s(nUk#Yy>h<LZQ3?4b0zl$had`UvTQl<Yc7E@t1{<%x
zkNJ$y4h#!w@5lS6CeTPAJR5)Rw++g#<7+qU*F5F-^y}AM+)B^RuFv6yAL2JSc-zp<
zuMd+Q_&T%`F`Vu|jOgxHX}Zv#LJJ)#(DR=UTowtm7b${pclx{}FwC=J(5LwOuky{|
z$2jiiYDm_D9RtTI;4b95+Zh0efZ&dQE%pjW$NmO&HrwtysDQol!(B?X9T@0A*>BM3
z0Du7r@@1&c@@HBK1_7XRo)YBZ)4Cf_D98ciVg%GdSr4HfG4Sv2x^hB2gTNRbq+0-2
zu>oEJc4@mHt|C8YpJC!}zrV|qz0MPUd-|w<&hQWD&!#HI8~7QN==W1&I49?KY~atJ
zALlo8N~dFYrrIB5q${vMPp|gC@1H@E(BBaSg<bzEQ6z#RM`!54UvhMb3-*V;Oo4)I
z2MLCwQ<EJ4|4n-qs*s=#!2&)8h$noregBNazN=rWv|#iHGWd)10z0nv(~s3*$j}cV
z+`HXb0vr<}T`i)nnJkoZUl6ttlU+xfjDJ}LNVm9~w=enN_@3nyw7yUtg&E9q;#6IQ
z6F#+%!4G2n<~;^^*<;~;Q*^)dCb$?f_Uzs1NQGVx?WU>?uEAep1O~-5m@h~EIhrZd
z;zPA~H1T;~dP$;SqzC5w^o!maU{?HHky#rIJGLn6-QMa<6bUBTX1J=H1B%w!{4&E~
zF-V4kha}t&BzfHYZenU5@9FC20C;{2ddU)=ekV<icb^Ua!WogZM^IYs8d6x|5ytgw
z$Qgjr8X4M)^?=HU;RVVx6Y+R!SI;WsWQLR~b-Z+pRK7q!fG5)>sd_<62})ymNI)5U
zQXk{6eqNPyNb2tc<#uU*o$_kv`4PkZh?C}421tX)T4EP`AQ!``C`p$}aC%hayU=J2
z*c5TzBncGEvGSyorv>U(MXk}rprjo-?5>C2vqLiNSkd%3p+yp<Mf5?ZmLo;6ItN(q
zGyUu#YDK@*$<5Pw>A}Afuk+?|In0o*W$EB3K2*;qQOCfO(#kb5pD~xgi(v1)Or<z%
zV?IiujmO#?tK*?1!xtQwu#<(K*aLC9Eh5D3q^C2$-HXdEeW^L2IW>HS)3CLlA*rp0
zk7HeSt`1ZuQAkUz-p@|z$gr{fx|g-oxOvoOOv6tv0T>ZVr3932i6^Pc5uAfVw%2&C
zKjxSdlKFS3+$a1`w=>Cms*0W=T0B4^M*bxalz2J1iXIXB398ejlAI0sKRw~qe{Ur<
z9sy>Ha?{NyD~v`!;*gEvflo2=IuZv*93_W}jpx<~WKchsdKcW{N64V<M);q<Q*sE4
zHixaEl!{F&muaNfr-$_#eN^~O=rCMuDw^*jK5d{|m2NV~=TKM7OasdGMi#NX$f7Ny
ze>pAJcP$Ry$yOPfqKj}6Td-cH+7M-bm1F;0knz7%Be{{F4H$pC1_@2~(iJBWb&zn3
z;=`*Q5q%w>v2{h3$~}`kbc6Ew+|%ivbg(c|s_vWmlvN<Btoh{^TDDvi_uN)*okJF*
zD=N5K0iU)$t<_d%PqQrQ&437fj3<vWa+_AdBVQQeQ@_?Iq1>AGeme?ba9gC3igXuR
zu~0pJj9G9?lI2D`r*gasxK^?CbTdu<$%#p3o_(|ga&;Ir=b>yjWPKcr=H7=|$_}4@
z-#VId=i7>sohXGriavqNV)I}{5+<C|+=eln=)S#i==j@OCV8~A(7W7M=mxahjS#_V
zH*7-VA&)Q)qyPIv#!#>o$hk5<%Ponr<}lx8eOQA}?BASVAo;>(rx7pvSP*!b*0R(+
zJ16R&A_yENKCwz&E!UN6r}2$P_S$(DfroZY>p%LCL?0U&r8@*)eS{y91FsKm8rq#a
z_c_K)5Wsap*`;1pIqqxEC%YQu0m-ob?Xvo}VdCQ54*omhchF5>{>zpm@*&1SIDS|?
zT=h7xQLy?UkgLq=$$2yuf9Z6G_|7XCm>ik3{Ph)woA{Y>V(QXPJdp=|UeDoU3F?t+
zE6W=qwV0oC^)f;#cbbE^s>*<`M;|nc84V|sa$ou!s5cI}qsd9ja`9)RtH5vscl6<@
zpxYvXpe^xTsC9E|YCR}p@r<e<Pn6^6&}S8GwH8k)$MFy6Fki)3%M@GCiSYAZtQ)sQ
zR8_*~XsgcoRNY#1sD|bO^%QC%TR@TU&JE~_!d7zh)?59`V00NT6viui*wJ_(+Nu<w
zmB}bbLT2pkwLvZNOxQ~&bO6X=_jX6)4OgT{>WuX!%8GVm=cOJp5~jNB)|ZR-Y7yns
z-iIPalc&8Mbl9{+3ag%X|6oK@x_CREj~Hh)l42{P`!OkV<KOO=qdPoxfrC=O`1S13
zfnlky4uXPG*y3@~h2};EP!%z?{oKDqU*5$WegyxV4$C4>AC;ws;^wPE@4h)stiEkz
z3dATEX}hPLxW34{l2!C+iT=**CHt47#7!%K>~?@Uqlvq}|HLhG^<7ns-?_6)q-~U{
zu5B7#1DV|{F4idbP^G|@ITl}ZT9=btJhgtDl|i~PW>Cg6Qi%qe35h+mkH$nIoUit1
z2XVq+4H6&-A7?d}i;Jq+-@<w*YMZf~*HT%Xy`<;Z8&>%FHzi+ew3u5-6-;@t_u?7y
z6CTQnX4SrG?j@UYLN=&0?o!m6CYi?@ZgDLz+y3TVA+}B|tZULL7QZ2!F{_`-UuV7s
zR6?H-W+<(CBjSQa!i;xP?peTL%j^oCe!cp%I?H0F^zX{nuqqPLhk><IWYlL2<E!+r
ztK>qwwlnK8VsD4Pw>th@)=(pyCaUW<j#+d7iZsfEWelNjBz<flHDlA-NABUpi`&zO
z)*jrwiz@z1n9n>no^{Q{uGhLs+dJ>PMF$RcjS~haZuRyDlQs5msy?i4Sa9$wJ(L=c
zZzGHvY`H5*j2PPz7A71zZ6jO|>x0Pnp0^DLq5Q{hf3&y5D>BIVkZaHpke;)OnTN<C
z#g2=H<;;}joZG5go1T`#l)0t#8X6gGtZVtP_c{2^L~w7#4oPDXC?6(GSa@|PGI^W9
z(2W$ICk(C~d3EBPt5r3|r|<K$Yohxazvj=JwB;*?$%=9g6y|Ozuhw)*eu3m^2-xmf
zxv8-_V7_0fhf8H`8+8$(VO&rg))#Cr*FnhPzM|C7E&l~x+Z25K^;8@XZszbhhXo$=
z?2H|qv&Kk8TaT2^6R9mvfe_5YSVf|Nt79%{{GMVwZr^ac*%tW}wYo)h6IDa$Z3qjM
z%zxr#06P;8Y!(<b=V9Y*eE4Y5a89YHS5QnGI@VAo^>i$vM~r-pc@$Ky(rK;nlJVx3
z^MU%Zj+nc+O<L3pXZ!lk;QVGc5#^KFsOVBnF?UUvbzZ8e*@)`r<1F85ctBNwCO#!>
ztNxnX!B9>;TID2i##xG4=o-KZ?{;az7zZ?~573uz5$Zr0ERM7J`C7XjJio7M_YTYh
zTI6fqiAjBj-)I!!5+{Kwz649f<+_B2T~7{x4*C9TR!epjYY1Eckz%mb<Bc2I(-kY)
z0N9k2`+NnB8{>w#lz4J*^Qtdaycilt-__>Z8#P8pf06*avu|P~=f8dn!*OTcg)P0f
zU;$q+`c8nf?WC|sU6oiU_Cu=YY43~Nm(hQdVz$nkhJAT^Ow+#<zIbiFT9tSx<&IZu
z?zpe-YU}?N{j{g74~4${vY3_$hV%15!Q;Y8FY3T!71ZeAk<QF$Hw^x_pDwFN#}~f7
ztZ+#dyVu!>$p$UdDhqQQ10;>ve+KS+LvLQdyg)&--t`l4^Ha3%Iqr)`LpQLCG=pi>
z@?Vd0Pj880SvVSEFx_;wl$c#KL$e6C6MVb!J9H>+gDV@qhSF+`!Lwd?o>S4{Cv3ic
zuj4j*HAgu4NrS5zFcPHE<|I?e#jWwO^=PlOWF22@o91y+av$C5^F!7c)yAZph>$GO
zFIS88<Vn?_Pvw$bwt>)*HY0*QK&LX4wP(x6cW=5SqM#;mW+_UY!cQw<l};&VnQuvB
zY`NZ^8;8PN>$)}y_P{^>tMPyo>3ipv)JAhxT|NnVo2bksm?1+L6Tdm@nEBPet^^tj
zaE*YplDH1ZW3s*LBetiS1;6jVXL(mRkvMuTKuCt8tE<2H%K^;q;`=BHp658;GxT&g
z&f;fQY&p8r^FqDMcexdIX|z^Drgm$!SdEBz9y_ZRCN6f%R&s)&GfyyEJnO4x0<-B8
z^qw#~S1ZL30MqHu(j?gUOn|>3rZ=`K8IsOM32LT$W8#;G1@(Ha^z`6Gi*CSFU_?Cc
z*~9Gup}7w2;h`7LE!kxjSM-Hccqxdd3-XCDBCF>!VLmM{duC`!{9aPtS5mw)Ixwx4
zYG;4*Fud5H;OfHm@wi^$KHcMcZNmK=Z(>VBGUoA^WS)Q+rVfDSJoN6KI2L%Ag<P&Z
ziJ(hahJL%}(mng{bya*mGfD9&?dT?bq{xaLwd;owlCUI%9EyP0%m<x@xuQzD;^|8H
zda;xr9G}SgkIK79U6?Ka$y{rz`z?#vu`+n;INqUYhS?sNvWHEdBCI*Vj#ga(O0_dA
z=914^{T0E5i@Dh+=JSVmY3_{kr0yl23#nAu1_k5kosWq(3uBFyr6LLG5#D=%ysSRY
zhquNivb#Ve%uE9VAZ*oFKU{BYt}U}_3uyqD_(H&W+VjgAd;S$q9zz%eC0qrO(nVcI
zf`svX0_8@R<b&XRq>nWymoS>Dmi_HJWxz~$TSNw6*VYVR8LdnD;T)RQ>xQo%E8&<I
zoADP4aa9;du1`L+V4kMJn`9ZoPZ@Uak1@Nq9V_&>qU*w~^z>(uY!GmWf-#X!Gg@{f
z_cW~~$_o^reb@v_radIqC=wj!1SyeT&RI$?71}J4*4t9@4!=Nc-8_J*4rTNJ&KKK=
z7}2#;ec-Rgf!jOuJ)03&^fUV5YfLw0Vtm_i1D^6_?sSH%m0b5Lc#G=W&Lq3S7G8F*
z9#rin5B1!P`N)G%DW*PueN&8v8hfKL)3^iD`r;X??s)!jR)7^Y;>Pk+c*n^jZ-s7&
zt|kegE2PeOLWVdE|Kc2Tf3G}Rx>V&cOB^j1W@BHE4wl1A)*GZQ{40dH;N@dD=fHJw
zod(8k+Gyr7q8hp1(atnH2<u~P*P9Y}sRV`Yhz$Ovz?;z~9+y|Cdu&P{j2k<Rotw$U
zs|x=DZWI3LI%6Y(o+st%9yv^8@~{sUquA$E3dbQt6GmqrxBGi3uq=~S;4566&*lf&
zq@z^jUY>qoY@jn!%g&U?HAuwQ^!MD)Y_<fnQ+aS2+4j+>Sa6jPq=*T3&)creE!=c$
z4ZnA9^wWWo&cj_$(qru0y5`>4c05>ye@E30Dcn1b_s3QeNo@UTL}eO;R7RU1o^vdA
zo}bSX?`+9owTZ=VldX(O{$vkG;4~y1wFl-_ywYx?ikAPkmDCOkXAfBk({o2eUknyf
zw~}y>CT0qiiF5{aJx{IDSg3`e;haAEkramA3MRMW7}=jZWD~|`++QRa7*?l5)>K?-
z^^U&vYTbsE5zRf)7T-WlFMfBK<G3fJf*Qs^7tzsPZH1D{GcJ+^!*8hQ!{9pEYnvPx
zGhyFbX_z44iyPQGKkwE=eHX%g@k#iFMageF_@w;&EokoW*^gv|h8PG!dRb)ZxpHba
z5l^t3=lqiMgEJw$xFi>wvQV9AgsUKtczo#Xo(S&)NV_7yMmz(mm7A3oSUllGPU>q*
zyKxLDufO-AV?yI!k)dSK@&gk56(FY}fbY2Ar>~%yG`qx^xObE^4E&^G=j2H){$Do=
zVs1S6F8OaA7;1)UWv-vEGB<L4mS~kJ_^7XHySGLTmnyBhV3CpC?)P!`zb82S;|x8t
zE#D+PgnrD?dPZSe4;t$SAfGE@O4b&m*xx(HSeAZi<d*z0ltn4)p8Ooz72(g0TS&4S
z3-LcMIk9z9w}xdLm+d);i2xNWn{&Fjad^={6G=;isT>lvynV|=FQ&S}!ZBKr<8q3c
z8r6$qy5V>CCwX?~Oj;pJ1~Or;{emXn`>yHC;cZKd=uuGS11XY`MPH5``vPF*f8ATG
z;{z)m;+4OWP9U+nG_T3KtZ?m@p@tgqdl49Dlv!`F)D>;-^AR3t43Jp{)BqDP0Ey8L
zF0)GM*U*FBh!VOtpHI#SK|9Db3Zr4mUU)rM*eX?b@;Cy&AGm5G(i%;^!x}57*9x?h
zbh_<FDB4VN_$`iekdWqobr-<F<r(sC=J--r>mr4*U-4vUD)lSXIq#Oj6fYOKxLPb4
zz$Z)zdVd3*yk0Idp6WvsztW#wlrN^{YT985)c}yqFgDSlx=BIN7)t4!o4?VQ&Gr<1
z?dd*9;wpTKSq+AFimr5D?WQWsL^3}eRvHM_3v%hN(R(=`?!pIOX-gS(SF-*k1t*;>
z+p-(1Om!sK`l=Ksh#ohNJAKV!TXh#QY|aBrAP)UlB0570b8Gvf`tg?S6d$I@s_Pz~
z_tVo;5S`I1>98=Q?v_G*HQ)US*;;Uch%(U&Yh8!WiD?}}bV6)+u>AQ5EcMom;Bj&e
zkp8h?b~97Ov7Y*G?T{M+$XiY$L&7hZv*;M$8dx-qjbF~@8sdH;e`q_fVo#do<8AL&
z`5XUbj1prjPmSREgEe(Ae1ARW1uW1TAjC@*A0OniUTCOdlKb>gpfh(}ix+m~2(9YR
zVgEQu4*SnvWu*Q?2&ae{y$!_H75Us_-<fqM;oG%fcz)#=hIhr?kYyN<5zIH%PkEVI
z*iG>Tql?Ok-kyV`C5Kd7#wTjuLMRljKF$JM?%4Zz{)&Y!m}ZAE3u^S1u@R)wK*d{a
zCb<(Kq>q{miCU#H!tL^q4vyP}<*w0+j7^ljd_MLrdf`iiSD92AW;Ky}a85ICcw~xj
zW~@J7Fd4hGtf;&<q?T^YDw)rE-ukfbW^~&qUW(#D)$U^%{phu}sH{lj-kR(itLPsv
z*&cjDKTMSF&9BrqJ45*JWLn2E4RajmSSALQrX5jzUdN>`Zgplgw=3!gX$aIO^MHAq
zS(5gtN+5HnoY%>~DLncRcE;26S))&{pcY5;ACTb5F0%M4D}C3w=sBFP623crzL!Te
zb3^IA>w_^2+JFfUiB7kAeOXpPuLg4(o74_t!GD9v4}{H3jJe4@RJ7wsgQgT)u+>u~
zk#2V7cEGbL|I(j?sLFs11@T(<;Wi(SNCw%iTm|JzbT#6ijPg86Umpk$YlJHYKKI{I
z!trDR9Sc;P%fedYn%>H1X^+>=gChp@&b}TXvawu=c-;vdW4;Q|;nvD?@w_6p&#^Id
z^3(b`6VPUqBQyKF;6cY`l}(ctjL556q{|u-c@!p~2%`BG%7((JmVncu`<9-MMSA8a
zU_>u~=6A+!iFI8%&^i$8UJ6`Fi8UJ$<Sn8SS&sUAtD#s$j40lHoO|APZg0Ic4FEEG
z3K|df6c4$bU^q2bPCt>chKsxB6uCE-sb5Z8B$!hoC$r6z<Ey19NaukOl|yt*;Qu`+
zjV7XO17Wl3gq+pN4BU1eVvI&A(&bX`%x_Aw6zq2DHl(_+H7dj+aVO{0_vG^xIDE`{
zJ)^1OsIfQE4f8YKPVVB1oEA9$b`D?`!XHMgOMR%uugf2?2D%QhP*nJMIMX(}8jXM$
zw3a*D2qRB6FSc5*f<?T`hS|xX4$jrNb=h%J$JS{;W=Vy<pC)<d+LcW_4v5E*AHi1b
zQ)?NRs?|r)?dtYYUtUwpv{S$uC^@x$K0A6jy|;R6Lr@A{hbItYbIx(Reb5mdAI7^k
ziufHWf9LuXr+5bTW(=P6!S@^Zx<O$pH(zT}j8s3gTDaB6F~EuXNq8YrXW~``U_P@q
zfk^-44{CbaX?^rKF*yK^Q^`+nm(oulZQgy^z0bj-zoeUNR`?@p1wRNd0xqFTg&WZX
zZ!W94V;CvFW3R7`mm-_48CSpv=Qf7FsIH^m-lgJSSo?cm!NNTT)6}S(hBCdZZO0>6
z>y`mUM<qRsrg8j5{N}?b{1lDYT4Qr~G=k03X)x@^rDyYR8O-5zV=$pkA1uqXu4BzK
z)n<u)BZ2w-f<Va=jLeH?r+M=_&VeLqNttMr=J<vT_H6gd+m9MWcJWoy^^|%YlyPRq
zUavnFka|wQ9_Jl&TH_=+|Ai&!TMIpkMZ9v7p`g7@+h<3Z+32XJOgmZP+20J>eGc2W
zGLzI76Pu=JSn9#-9Ma+~7O0IVkqa*zp7&-Cf`>-OVyyc9*N5chtH9XprQ!RLvlhtc
zk?`<rlr3l%S6XN<rNz_=a(3ZT9r)BbQtudh^yJ(LIfRbQ414X6<#0cj19txw%FvV%
z8ux_|pJ<eXwz5V<;%-=Y{zWj$lrO52iD93>+W7B;2xu&CSJ|KGBf-Hnycru~$ok_P
zRa|TmmG(Mi1LD8&Fj{et*ewoRP%$&g8OkOQL?p(6{9U|laP0C)JZthef%nBT4KDlj
z?9t|>c8V*s$x=)OadlrecybFQ{@nBdFMG#(m6_EzebAvt-3yXJqr@Q?*Gc)%SH2|p
zkZ%%DpT@v(`~lW~CREnSMz6Uxn&m)GP^az5JzIRgUN3QxF@dg@47S%ECpmthKLVj_
zZH25=v4`YiSO-}w6Elb`ePxmJF3g1_?Z7>M!F1f5zYU$V6<NSl`Fv`HB3ooi!;WG%
zim_hiobl~-p4csr-pwt06bSZt#Z)Kxv@f8Rd2O0ao%bNtI#A9wA`%eOzJDxd)F4nY
zx)<|w-DovZA5$4+LfYjRn_dYU^*K>?(?oWQ`u=daT#$^n6pqZhlqIR_fVy1y@FRXl
zDhYMbjnnFh$&R`xy+FPUT5?c7c4I5`5j_-G_pnm+zPkdi$*LZs$73acjOIz~+QZpr
z)FbMds__0dAV#7=6i_Q8Bb&F34_UoA7miwWP~ZIR$b+6(O3AZStjTJ+wf8rqh3H9C
zVNzo^RV7Xbn6kbUwjfI!0;6AS6LJG)64eC07$4jEF#ZI%A*(70az$}r>bRmF9IH1_
z<F%2h^JA9kbEK(Kj7Mrk{>)}5BHPP-1$d2i`rcCM)&hgkC0g<;Wnh#{P#Z~y#%+Yd
z&;gHiO$gG<t$rHd({G%FjLdT3WDc@Y54og9>X2`0ya=3rHeajJSdtR_X|&co6i5qG
zxq@yCuq!DywwDB8!&em3tS1q_K@+i)FIB8Xi@dP?=ZIE~Z?eEg*{N`Cpqv@9dZwyZ
zF#~mwKOh5_>y;%IfhMuH)C8`5_()__h9p7E<OG7nERK7IQ|qMg=t@){RQ(7WIJP5c
zabRO^$~}x8ja*kI2j9Te!kMy~Gt_$|%$J@BPdT#f<tTMiSwJgom6U>7cX;U(c5D$w
zxA7FJx+i*xMhC^@krIbd@6`Gu$)9bnN>>2q*o++of+^A$wiKAud^%OP@<|ifM{B>L
z*CA`L>5|lP!?OMEP-X6lM<jcnZK0_5rB?FDT8sC*>n@%R&X}q`#n-o+r`DiCZ+j%k
zS|zVhDm8!Td9Adh6=#P}Gjc$|TYO+^wHzvX%_9EtDyl~^RSz27gJ6K@^Ni4I9Z@L1
zRj+`iyVJXp0~=X>YpfGn$thNSE^n(u$efg|&?uQ=J-g^-J?Lhs9&f_wi18tH3sqav
zvSne?TJktld;s#-z5E79y{l9D;7Gc{-d+f_uFM`<l64dzwxzU`b04abK0It<ubMbU
zbFAGtT1Go%9$j4k3P5n@3*I-H6m;EogReB!TmK7Bp>5%W&j74*N=dGT4+14)>ePE1
z0;9OsEa#KqLT9E&=w7W&WyDiE+7E4Prq}wz(|J$H<arc`!WoMEkj=`L%Nk2poT-R9
z@R&ikFOqZL?tCW@bWii}IkMDlVo@&6Z2yiMHq2vqCidOZu|hGdsyh%SA1|n;ufMl>
z(cHH(>jsu8)qMi?F}OOq^F43Ho3a{#nkJZo=7I`@K&X5;F`P2r`NmR;%)WL{jft~q
z9iVv>UZCSIv@6zfG2VsRM$PtNbsc@4`m@zQct9G^dJpYmi8k1vgzI;!YRFi<5r(Kj
z<=;)={M<X*bJ(e)aP54D42@ntccQ|}E%=8&m`BAJIWJF^H<eOu!xygR@jK0-Jl>tv
z{a-(YYc+I9JRPR)A1@G`Z*r)qTH-@AT?X!$NN<6?K$EV0AI=b2t`%BjtvNihy|**0
zzSQf)Zk0s1IWT4PKxaG4W#6Yc${$}V(JEDkGDI{Y^NZ+!h1&mq5{X%dl*dEk+cV)%
zElil=@<w_PjurKT@7=m?4NT_p(*U;(UPOoOI2t+>Uy`;Z#z_Swqh<|j)vXSvPdiPL
z=5G!J3ZrHV?tP$rkEzp8r5R=p|H3a;%pd#jR)g`MxA;GQ{QNJh!NB|<p20-G$<Dy?
zpV9w{H5eH<82@Jn&HuZBCbsQgCB`-qt&D?YP}m*}R?fio_BId*7=})mp~LFlz;-Ue
z7Oqf2fnbn!5cfc?IA71}kN>hatLneIq^hphjcs46f<lF512kr520&@<wV{l4jesuz
zNK#TxHUa>MqknB0>+_ZtEHwtLdwthuEE@)Yl2e0ufBhLq3Jegg#>pUqco9=^t^glq
zS^?PL0I=ElvElg<APm5P-harr1l|FY2+*mS1CXEvb_VdSLga||0UX1%G&KhEF224Y
z3Ybg5>+kRH8NLzW5SoC6Yh(mp07wz0kZfL6=21+b=NuSXfQGhysX=oKNMXSC%}rfh
zT}=VkIU6_xXhY630czD4qyxCtAYohqvjP32!6<^S`u!!11<L^~w6r+C&;Lyj-Vsz_
z(4Rc8GJ#@q`-E~}V-FSvlvfGNa)bg%g;4*UZ!*jeDHG5~2i`w2_#)rgSL9FL*!W9~
zVPbV*01mj`rM<2VFjZqS0Dx*Kik5*L0}0T`{wWKx&c(?y9IPXt)=H2}K8P<44p=h0
z1W-U8>VNLc6sjd?AV(vo*4oF~_#^k|GOhGth6Ly4X5gKH{BipzsU<j2CjWXf^P%o+
zdxfiW&HF2MqV{5T(r22%DXh_QRfCf|;FRR=m?v}gyFt^>0Dzv59v++y4d4b6uq{KY
z>5o3=5+3mD(D=>9Z+Z6;!XW@~BG1&nqjs`aPVXX5o&b#j5X=?a!~45<zYCEY3u|Cz
z3I&`IKwEt^|2zF-0+#(7ng0Rb;sksKoIer|3-I;*emZ_<IXH!LWxM@b`a5r=CTZzt
zOG!D>NAi1!g6{4B?7`$*51g^y5dgqOKu#ZUdOq;k_xR-u>|gaeR0-Aiaq04#s5rB;
z1$fu>*B(`V^|cKty-zIormm+D{L3BEG`u_z4EXFP*B_VweeUTTe)IPc?F;eYm;I~n
zpZGZa^_M5Pwz2*U&%co${2hgFY-)7<jlO4@o2f59R&esrLj3$Ky$JZ-vLLO`Ol{i!
z^*S~vC?`d1YV*KyF=LZMBRI`>qb9ecX0OkzM4eiCm^J+9!j@;Xsks`cgp*V2)8~;_
z6xjQH%X6DuIypZ+cv@=W*Ci+~7Y+HI-`U0ZYPS0Ig`@OV25;Ks9-kS81rRJGaDOUK
z^bpbkkZ&zNW(Ds0W_$!tL-Ph-Q-;`+Y+~=<0*w0Un%~+2P`lqP<42f9R{8?JZv@s@
z{uRXmP>c0Pz{d|*e!~CzjLmCHe}+G4Z(D8lD-c(10M1=M+y`PO2S5!15~>+!GhID3
z{cFlMEJ#!HGwkDU(CQB>UmnEqEp1@zJpu9!|5gI{LVx5dlxDEzpA!=c-hc5$Z{kmN
z_JW@P+kf$ce^-$;ihtKvyS;=7<$E!S|M{?#+;@+EE6T72YZJxCer-U7V4{n><fck0
zb~Vw>NEP9d;#4|0!=rTvhq^+|YWPGfN6c)jw_p6Uh0b>FzLGm}5T~v=$y}ay*>dE1
zlY>5Ww6KYGM8>!nk3L&=z)LSlQO=mX=j597cl<57u*adY1W`lRg2)W52a6>`&)&+*
z>`>S8UaG|ND0nl4yR%Y?3FTh$t@+izawtm{jD@{@24ctLxA_yH9nBIUtvW}nf?&-t
z7VlImvSovxqdww0w3&NQe}~lIFoO#ujFyx^fM`5YsiG(2^?|Ny&6FN?bWsFM-DS4A
z%_fxZyi)A_uhX~5Y(fxSVf5$%#{f@~?e1X~3U*@zc^=U8_$~~)_L!G^+}s*Hj{kYd
zcCr=er)S3(c}48krvd2edqv*;GPilC3Fmi1F98=>DMw+r{N?A)Gt0Fi-3j3xt$k%u
z{c0)3J@c7+&ouDk#~)i}bo#TPa+kGdPi2}-me6Rl_aLn=mj+G_y>^XK6^kB|n%xU=
z%B8Nmr#+uB?&~vz@?7`onELp^$R~{&-6tvPu^vt%<8LkVEG=Bh{e7#~!@;VB>+nLO
zzFgr#_YU!F+|_{#7&n&^VEzD}Dwj599*U@dQqq`4AH!?uGtPDLHw@->q~n~%Y-azj
zM80q~4mg)|q~Eb@-uO@6H<kb<u96wx^WqC?!0Sjk=$oHzJs6LD&azScLE3RDzlR(*
zqyBww*SN5AGq7&JS-26NuQXR2zAO9zwHa(<DacEzqKveisdi|Wd3vC`B`_fO13r<~
z$eKJ>bMZNOHDq~Q9(!uU2XWJV>g|a&?!$TlGOlR^FUi_nLy;eghcknx3ymC+E`#GT
zdIN~keUb2_uK)zU9zy2tN2)WE(fyj{WGNb71tGxcM9fdgChHO>>-UoCyN;6Acg71L
zGn+cSgUQz5PAj&{Hq<~gQu;*hbs4TK<|F=~?ig;G;wV|4^Df<Ipm>>Q%fJ=LQPxfe
zo*Q+vvv$g~5Ukh%&t{3<9gYO>lStjib9aEb>t;kR`Ucwa@RynM)}D`ZEAk3O6piM_
zG{Bu9YDzZ6(Wufy`wYHLepX!`5n`|5NaL#^@NAqi_e3&B%TYYx=|2Q9g$8oOjz=xJ
zIwU#6o4xbct;8euo>$}M8J}FwtXIJZ;V|QyF^vo%aP0enkC^Kl*uGA}vK7&Gmn_eL
z4)|&#+A+_rU%CQXP%BBax1HfPMmQxWG~B$(X+ob)^Sjl7MFaBvG0gP(O$g3$(fO9w
zBcSmUD*M1g2h9M*qifVC+hbBV@#t&;tDsiN)U`c>1fzV&H?XY~9oZ*}pfno>h<9zb
z=?y}KT_@A9L8B{B?(@k@Y_hHBlPqH9ZcAYr6+YHe`asTXdYb_#;XaXQb;>NGD(gIb
z?}teH>!%^2{<BGWuPpO6_;$?VaPOW8$~Ty091Y^w8_S`5f3nBh*fg5GoIN%Ah-ePt
zx%>3WGnu*f9RA#7vAqZ5fAeZ`wZB8;K7-I!n`Wn!WCQGezZ9I8x+~0hubp(;=@~$i
z#_vWF(^xEjjdVeqJM#qgQiY%^3i~Rt&wsPV8H6e0cDWW!bhY9K(rU2i&hlHBwu01o
zLCK3YocL7Iq}DrYtOLX?_&m&n(sZ+JJ~aP5MS&ZI6!$!((sZGLQsZX!eg`!~H!&?^
z|FKhT{`ZUn^<gVYIG|)izq?H{2F1r)dd1)E2gfj{QD?x#d=UcoTjuTNGPi7~T>%gn
z(r$6J5c?IVkCO_5j>)xhg#z-=SltMHvUKb>EjYiR8S#BULEcn5`Q~!*KhJH53dEj^
zs1o@=1%qaDa*E#mr07W>vOTv1^>i5Y_@sCi;R2GiadFVAVEG<bsI6vLyD_<Eqeef4
z+Lk9_NuM7aS@<K}4xP?EIV#j!w5qzEvQ^N^b(L<=lgo080dk|{W*;iBSD5IA`eR{D
zGBL<t&FG#!tAKI$SB!_Q`F7w%VU5*J(_Q_pyjo916~8DOT8_K6ZMTz!*_F$*6A}+p
zw<kQdB&!orrl9rrIL=jYF<k~b#?^EXdgejWWae_IDRpC5+?p}W#W*_h)e67LdhRT$
z6(sDdYDv!`5nNJ0rd3=7wAPDc@2#J^dEvta@yyeGV3l!Il&Ba)QK9`VIHeV>xGBm2
z<qFanRVDY>{?3|oopffkzjShq0(+$$YD22_@l>B&s`j#Pw&-1*xsKw(vhUlXake76
zlpn?guXO}HEvvEOzN&EU`dTUG+@gKrI(}KIwo^hMn4+hxXFi1#vp(O$LH-wL<>J!2
z+ZhT?SZ4~t9pZ!l|CxydTm`GF)*i{5<&&OLeU1!?bj)Yf2)PE{(C|1I{R}_dyOo>l
zI#ED(X}_FxvJxQPfZKTH`lLNeIO-%$@9;twmw<XwYf`|u$soxBS>Ll<{rYC_rDmY>
zfMK1sPpp_1bfCW{Z|A2)LOSimEx-quaGjNj_#L1DmV!eZf7jS?ji+=2p4@XpC(clE
zH%9?N4-!1zI4Q5}THO*<t^05^3JjI2L=O0*4J9$eMAQ3$_pI@WM4=@*!%K;^HrhvD
z76@6?UTt5I4m-y;NScs!l_wP(&!@Iafy(ITFJ>7JEwPWNYU0|*&%o*g5^6S<6#8yW
zTyI|nx|~nsHoF^U=e^G%I`~iwYpR@l*%95X8_4r`$*LrpXtB%N#GZr4BJli7w^4UM
zB7JA3R#G>PtFW|E{0_i24Pb9>=ONpTX>T{5U{3ry3mOo<vJ$5I_3Wyc4f}gCUoAk)
zN{<o}EEx%6D?Cx)AB^%vBjq0In^qS<>!{hRQG*)JBM5OVMvm~$O$*%+Q@0{yn71~@
zEDs+>Xr<}9P%bL8sYl7h?Zgb#M(zaJpmYLF6DBDY;P{}=S&eGsWD`N9l?{o!OdG>;
zo1wt0<;abwS7e<VE+{=bKjd=j@lm};ScViJYsaQs1KUEVc+R+Yx@k+#{8riTthkTx
zTbz+sI!<^5Z;OHzXHwhT_;Yj`?RKxJ`s<~X+{y<mxA>{sKBHi${heZHD~F-A3)?;#
z%(ko&+pr<iw*K+!{rF_8dGlUb-drXiW67SSfF6n^rsEC##5Y1L#J#!6(B<1Q3eJBf
z6lrJAd$&qQ<U<x0wE)90!Eooab(~Hz9fiRrUzwRdx51zV<Jr-sn`Pl#bXG@OWp5T6
z?TpC^6==O8#gCGCu>5o6`!Rhpkn{)dS`r(-097KRs|tB3^Z=g`WnXj1xb-dj@BJ*`
z;v{pkAJbn=<YJqdEdgP2WB;f2CXu@4G>=XzpP8#vqt0C8`z&uWo9xz=lj>fQ>_L3<
zwi+lCR5wKFqDe7OBYQUU&Ye~nxBUVp#j4=>t1^;j#EIh0A_6|)QPfdGjIqw>d!yHG
zHzPdfQ*F!$Gu#QFl*<Y}kpIEhIW36-Yzwlv+qP}nwr$(CZQHhO+wR@AZFBZa#F;n`
z_u<xC{XoTvid>oFhYln-@hPoQM`|*`h>Rk1-v=puCTb#n8uy3*<oVc+MlKOG+Op4B
zSaojdk4=XCeW6}jp98n|0#)Im`=MED`Y+7_-j8Bm-qm}1H=&lqEFc4&TXj`-V=Z8)
z)8;CT)+!44zYdgD_qLGpwJK{|&R5MftBDpkS2<y}cNnBp4N;EF?lP&9k+knd!1J8p
zCl;VTjW66N`$_t?Bo1RYYdx!GsB^|km9MR8{byhDorYf?dJxOVqeBRZq=_AEGH~#g
z0M~TX@(iXpEz4u<7VG3(>>nwsQ=r)5dHPfrSgPl(%lw#ZSdm^4%D#NPIW$EIC#rT>
zcq0xAH9>NDde9T#J|1eO99>d&N*O!WA){7|7+xe7PdCpgS<^&P*5H&UxB-(U;v1Xc
zLYI>)7Thx<t#<!fl>%Y`!WU2~Y_ca1F7KdCe_VY_S*>CJMrZYw--fZN!GCv_xb9|Q
zi_l9bv**6dhi+XS+)Nyoy~>o}3vR-oV)BA{`+Rv+!Mf7BMtm*+v3S8Ctm9=>mQU0F
z(lUHNc62&-YJi;sAu_sH24$nMbK<88#fq?*l{d?>2gO8$hPXALKhE}fe|1S3wp=f+
zvAGc>HYK{@YAYuE1miBl0Sc9ZP4yFC#n_LBxi%QNPZ^dYiQ0RWGbDbAe+9|>E85pb
zCm$nUw~kl!>+|#8Sb{b<7@lO3>w$<w1_hKGa*H#q%j1ML#GNl_yoZJtd@4%e2Wwbn
zn-j6`6sRm6ohp*8dYTxW>Tr1phS{(824)e7$?adL5vem+cznoCv(-7|U}Vbc|J2Wy
zDp#AENC8bDe0Hgr+YtD%;#5@Mk=?y?U)(8PC-Wa4TmMSi#<%6jj>10Hd6wWA7U9Z{
z%98FdXe2nj^2o{*x{Kb++Em|7Xjm;4<OrlwIw<B%CECCdrP9C{N6X~u_>a3oEn-%j
zr^@}=v2fT^<t+UxlY>{2BZ;q&%G2pA%ABLcr#~bTQEa?R4I7al%WCV`kj#GXhW>&C
zHQuNO(zY7D=DPAX{b0YEufGCSH&?-5;StR>!@zo>sam-DyMZ*2AmTpim9?!JE0=1V
z>ktC=yojS+08jJ-e&q$q!^FIP2*1ci@AU&S#rIy0bZ2eXuax!g-6qjV;Tw9|Um$7d
zUk*A<>4fFICfW#Ai4m&1Ew<O<oBL&m1m@3e+m!f_VFz97oZrOp=a-#mut@&o1OsoZ
z<<oOLgY~ybdet=?(YbThHergmXc1?p$!9e~-)Soc0^SR!WW8@MkmYmen5~9WHsDnG
zX{ShjX2(0Sfa`)ZUnI^RY7$f4G)6f7ie$VZb9>OKLhDPI5CvORmHiDooV+nuHkDM8
zWFr}&R%*!PypB$+T4^j}YR(3(4IJKZ<A!NeO6DzXaQECiD^{mJ`XSCHen0Zn*>21s
zEs<LWO>G||)_-fXW)&sN`Rdu5=jmtRA?KqnAAA=a$<ge+;%9q>)dijl?|2L^hHUG2
zHB}ftUfGpSy<SaeT>P?Bg44_Nh@XQDhE0fmatH);Z8|HJI5w_(oVjqP4!c})X|ES}
zCh0@3_Vp}E)$J22{tgK{po;?0XH}S-JWcD!DrO!W{2@M1yev{4JXMndV-cQ%A69NW
zrxeWY%~V^Or`Zt{B|$T$Shq+}Oefe!hZN&gF(9=v!$uaIRV=gQf|w|G_DT!{YFSay
z`-5etdUC{CyPk6={)nk+J90rSXnY`+%<?fL^SM@bqiLGYPE8<X#l1^XxGNEU`W3!b
zJBXwiI2w&bma}KF#+ka*fJN(4N*NTvgwl%S-%|WZID!P<T0EtPep{$0t9#Hh$g29h
z;7*LDsP2iJ(7B_GFDqA8W5NwH6^1F_RHSe@C*0U6BgD?R_u_kDaqQ~|EnI2l&o&zX
zBuO_yKY7^V{`ujBV~CC~J10@ACyt`Kwt<`#zEQ=H3ky{~Cc0rZ64KBW7ovOsHpAkc
z)M86@HBD)5^+z$~9`QSTS~6Jt-mM+h)HLQ$D&s(Z*zDE&0wIxW7lJDFmW}r(GheFi
z#<dx{4Jqhu1SZBR+hnIP7_vn~G1Z>U3zi+gPV;tYJDN`K&6}q9e7rAy7XhKqu76R-
zpyEbAlVARp;Zy4_M=owvLgNr}1DW+EgOsZIu{XT?LHsIe!dA=Acl)~YnhaAbj!7SL
ze9VGMS5ZYULunx2;M`bAIPxN`^LyBY@c0G}tFq*(iCrNk8;i~Z`eTeq16bJ5nA@&2
z7y^w3K|;W@ub`M{DDdesaA<htuw9NX&CR&?*~o2-Xn>{ELeXxDLg&jq&R^<q<kVP&
z@VV0Rs(2EW@r3k3C{Qdiq^BR}xCMi_X>wB(mAON9dfe7Gv^P}-eo~wi|A`Ps!E|7C
zH3%(A3>dNirlJ70i9-($K}V>DPBH?3;yuJy)-y(oMIHF1Q-*`7;!7em@*cbNE!V9Z
zGo2g#f`zqXvp`U^@8Hb_Sc(%NG_^PpCXen&RcUQ83Yp>8uyx$LN$rdQ_cE8E!%;BA
zj!1agD;<9o;4tiyOPZ8`t!Vs)k*0VBPKT;vi?aN-X5@6$T_jK>u$7fKL9=MjP~xd*
zZi@uzgj3<lIWoHZK$?(0PC~c#Y0Yu8D*c#86+a%We6AuVLxfieNpOMzpH#BzoOZ+4
z|JRAp9|eO0y_aet;Q0X9IvaclhUoq&+W|c<pln~<b^1(F<}TWQW<+A7jzj)Y<2rE0
zt=5=Hr!0$j{p^CD2@3~&F0`oYBUqnr9gYpUfawG}O@5dwgMs^&vgbqyZfUuqX_CRz
zlj=>+bz_OjIS+X$amAUMP%@8)Uo1quih;{wy_lt^1lq5~;iwkbYCe9RlBGlJ_)-Fy
zI6p(Xjs-=8p)jJOS8-gd&l)T~dCWBbSjwR;Y2$)_7mCn{SDOL`69L0AwDhA}!l8n=
z2Sve2tW6i@CspN+XrK*?Xe6p*QW*h?;jCH~34!Z#e#i^}3yb$KLH$0IJlL$VUOV*O
zW>vn`-S}D3{j^pdi4yp_zK>K6qb~0D6TLDy;%~3)=I~tiQ61*EmFH#_^|2jRRHu{p
z!&!9^t_&;sT}Zcn!mxBH(mj8+ZobW-g35MyQod^x)mE8rYeevrw&R}%xW(WAvWaOD
z9;lYpwO(9U?Ev7AD3cb`Jox%z??XE<3$HsM(}d4Rs9JB7EDd3Q7pdvp)f1LzlH4KC
zJN7`9CCIxdP#H)De0X)4!v|p$X(h1{_F&_K^dymym<^g)8>mmUrxaTxgV{0yC|ytt
z?jj+5nvmb-p$xGE*}eO_coaXrMp>*w2*XA}8?DprX41k-)rzD;uNgU<RKTtI_idyR
zcTHcMo;y05iUxm{s5sE)NYlXtgWG)+`9;0(9Y=3A_GS5#)0vquKcj$lrRKm&l1Ax1
z-V$3uCSR^w`1P~2MjGtdZ^LV;J~$u9Oi64{4U4{7s#S2R<9Rr`tYt(_dIA=zfktnQ
zFlf;wOKy!{4>wc@`SY!SNkqol4xz_m<3o%lPuLuLf}t~*4dIC&04}w1lg$@}s5ES-
zG^e(POv|5RXMmpjx<zA_mY-0ZPOfCBS$EpN;SINufGGh$cS))g*n;A6ZAR!(LZXXB
zNfJ6$uP@wQIIU`tTfxrhQ?<Qo1l&E&_K!9C8D13TF<f%*^`QkdVK+NR;VPtC%lsPz
zA0c$k@gAXqrnX34Oedn}$^yCC_wdiib5+@<tPh{%q4Iwy;^)wtS)&Ae)ya&QjnWjg
z5RleJNQ(A(F3HcyoH`{a*RnG3emQdD7l}Q>n*9Lt(;c}xeqf6;N!#0JfUhLc$PpGo
z;+!cvG~3s0S%BD8D7UTiCrvhdG^EN7>mNi^;eXq-)MW%n1CM8#LLx2jdk8}+L4yJZ
z&_+e&^ywiUJNt)6Vb@>~gOGyK!^K;?e47H*MZFHdc!DmYYRj}duo8(O6_2O{RON6t
zKdW6FoA`)|xMi8Vp59A`Lu#znbQq6N>YcZK2{6rRrFtR?`>#<4StnGfJZ*%nH;D4J
zkXyPb@UMkammiw%O$xOZiV02Km}`DZtD;@vUj)B^{{RE!#;zJvEV98@ai*xErrwA%
zSwk{BS^2XL;~bH)SGon)1jdYt*}XBs%9)AIh9-mr0*xb8A<$;Hz#det$BK*7)yl?a
zaj8zDQH|;hh)JkBv>8t-n!6H$MM85YY^D}B-Yk-RN=v&bB3)P=uP2;t1M9B$h1AMM
z0SfVyU_GUwTRcU_6}wBzfc08>o2MK8?L<<<0V}Xl$<zvSd5uC!yCAzIr}+im<fvKK
zXTYFd_$r1^;<KDNTZ^Ok(2=bi%?7!KlX0Q5WRO$n4=r~Ek0Ld5WEqnjVChtkrnh3?
zQ9_)I047PLt7&HtJF&$EK?lq{xcu&yJ{)cJqEsod>dY|xdweZe;UyC+dSnawd@{sJ
zBX8KySy(#|mEF@<4hI^8BMuCCsp!u&ju&t0jH3w*4S%Gb{Y3@SpAV_(!l@F`RjaV?
z7-NOCMU(Rt=C9Xb?>c&J4TO<#ynqcml}N@JD(n3%%$g?{5$LJ#4UYLk+2(tU-ISxl
zPL8L)P(Fp**MsHRJhbB^BS8C61f7l?Y-Vx=CNLk5K6wqA%4sbq<Co+eS8?tzY*6$U
z<Uf_+9iTxvmVX!Le3rZ7`)zuKjLcT&SJ%uL*j1!0cl&BbPPiVIrMC}NQHAfqYmNTa
zY@6>DGz_zMsST<)uQ7-Mn7tW)oF%qt;+(q|A@|s@1$xS9kh0iD+{Qm{;W}S?1+Nq8
zki_0U>P5ki-KAD|Lvy>=T(^1_7Em1{ZcG;<!yEI7-^&_zEUO)>F-_V(Kx}0(7=JGh
zbAQ^8osNQ=`^VMAYTd%ymNi1SBgcnMb3KEr^-+n&5G7rcZRxyg>nBikiU?okFEiab
zlzDvO3@x@%O=<C}47;L~5_z{EWcdAv!gA9R_$M1+k04Ra)TAa`YB-?}A=>aLCPEo(
z6&vVN7%85Aru&ASjs<KhU$+A``t*(S!UUM*9sv;(^iv*NZ~7)U+9BEQ$B~|PuSx=_
z?7HIMm_Rrz-6L1zo*dTmItJ1c)n?dUhuI!h=B5<j(yH(Dsgom76X?3psoYc_o$}WV
zYz3U>^l5y&d}%$Uw>nj;t1h<%!LZk5mE=A&%^l-!(Q$_9l^BVKsXS5aU`NPFe_vqv
z%HH1Ph@;MT*FYVMll#?_34phil7d?k#XP?r+8Z8sDVy$z%0FqQO#Le=T`PXqZ{4cS
zj;`yR_Mwl5MUsmm!x!=}LR&;s%lqjHWb1fsA?3H~weaP*u4z1_csg55m%G^8VU(XE
zT^)ZFM)zy9ZXwH_pbWt-I)A>LUY~X}O*@BgB<&ItM<<eUl>;f{(0_^}K(mxNffRqB
z=^f7`K)11SM9EVvA9ss4nKzy%dClO=h+io1(OfG62k0_^=%I<n?fGqNP$lH*<sH0A
z6Jzp-xCdLHvsBL)D`FKcRcd2qiIT<mkY|acxDjI-{)Bf_%gUH$Qw@9F;C{a~(ftLD
zZT0DgTR5PfA+~_kZ2ma;dYf#vsUQgN3NeDmuG0{InSwIU4TVvWi;b4I)|#VroGC$g
z(0>f3KWwn;$khg0Y+RlR!W>#>ZtQI^sc5>~)AKsMjybL~{b!uMb7TJVT@2|^SAD$N
z`~|_iCW(GrA1lIe1X}_j4NtM*0);8^sG5wRh5IMP5$PNu`FEo<xQp0ejk%o=l1V4i
zGXUi`U{Cq(`kkg--e-wh%-cKVY2|#&C^bE<(9)70QEMJRVgJqs<k02Maj_#;k^c08
zXyE137Xt@eU;@9su{-StFx>`+b<K~0!tW+RqX1bzLg#vSQE2{%e)gRy33?j#-23*a
za4ROPF)GDQTJH-=>s#g;CMfYmCTQtGkSEzTx*Lt5zuA#9!vNF<+{%p1wcs2eceANP
z9@;ps-*0a7jyW88vrFjW(O_acFZ#3Jxl&rWsO6zLf(_g;=0#TuoM)FezCs+`Emhi}
z+w8{oXv1`AMn|^qdYe$07rp!GAAA=%@~>;$E_R`$U^fj0p9g}-L9Yuj&Y^!S-BfBP
zk2}zY-Z01rsGw7x9!jv)mAqf+3o+l`udB}mozveK1C6ZlZ8IVnf^KeI!nuHurWil}
zwK(0CH;Pot`D3i{$rQk=m<y(4qpTkq+DO<jxBkl`?S<ds<@dBj2&BIn^*e)Q=y)K;
zz=>%C(c&6|6xcoF#6Y5ug>4a$-@)W-(#y+LCegVTAFCx)`c6r3tiUf&>mY~O6pZ?e
zmK1#wp*&OirqXa*XbGNbSvF?^jgOJ%SB`5J(TUXTT0<}6B5nrY(_3i-;Fl1{J?UpQ
zzOr^#VTD&RR}<5^2gM3+ZX|A&XK(N0@XTjLfTOZE3|DXcohQ{2qY)&zxr0SXRE_3<
zJK>&;Sl7%%!Y9j1#BqVHxS+m6QQ*Q0)$AV5Sl53_kbTSSW@Dvjm4jik$*ia@TR}xP
z{BF)?%>MWUL=M#XNaq0Qk%xT@S-A$-!t&kLNC7_!F!b2WY_=v0jic+Fd9_>G-XF2T
zFK&IfY1#;G)DV3lvJp)XR#(!JF}a>DFl%na1+dLg13lCSgN@=xKKv;~kGm=tPoh>^
z{aSl#>%m<c^f>RC8&mn4o_si%KeMa3jjmTISH*VK;$ebUQYW5_YS2JE_hb){e;j+|
zE;2WhO^aq;I`18}e<33B&D#lTAN~1JE@8JKPL)W-zcP&xXVcevHTF6_haEnFORb8r
z)#nG;l3aW+aU7++`W;D%@RPZuR_j>ZZ4{N!J2^dBDnXG)nF+!_TNeoI<}SG~3}N(=
zXPJUgJ+cH*Z-2=2$OBf*%PjN_(=Ok>ID!qe^m*hvyfscj)*lfU+UnL@(n}o;1vt7{
zrEQ9eOk1>suHi(hR>w}1M$I<y;Pd{^Fr}N;^9YK@kSS&1$8#>mA<DINQJ^1$Adx#8
zh7mB9+bjf^8^HD%t~gIHT$J1$lrXXS!yC0Ne+ZC~0e+{_u%B4tTj9a!<|;YyKvzkn
z)Csogw$Ji}o`|T4#D^E#2-MfN*m!9rRzGf9bnZz;q9Mc%;SGhiAIY}^I+|y2q<5^x
zCk|j)NoYkVwT00l>WcOxQ+s&d1DlQ`z}E<)N<-=OUA~5!74|cAP;DhQC!OXK{9P6%
zYAyC|meQXILD1EeJsg5+Ze;2>MS@t9oM*dlR=Q|zBPYyq7?-#{4&N4o4&?~O+U`Y3
zx#hMi*#bK6tpjgTT-XEt+2jom-G?a6Jl`vjU!P{Fn!(KPoL2m|Lvu!Ro`2LZj@Gv-
z%lff`pLPaO3lWzqu#SE;>LVmpQ~ZsjDbe$*Kq19{uu8WY+4AuxrcT}divBfVuT`RI
z3@Q}egBD09Blr;2N`!9OWvla@>oawpOEls|(NQ)4@?$G@+F8#peV}R*s!#BXf<CAV
zsKihS$qTb>2xIyx>=B0`%R+lSW?D=9*3GF@b@jn<a;*O)-Y{x1{M&U}sqr{Ns=lK@
zF;}}ZAPmIY{?6+CYQ0rW_zv{*#9*a}WP=?$pp|o9Qt}W;tDCu_rPRlH=GszCD40u|
zwT8?S6arf8ghNLlA_ava2Z=QoaFihwaO@nO@Q)9s_cNyFx9YrFg#^kBfIagc-m@>M
z&&uq!yF>hE+CgHIUV`3Ge~YHm!Md!u^CsA%5~@&djzRBxfdd~ChigIxjiTzY)NQ0N
za)~w~kk2l&N@ATe^s^&(20o3d(lqY=I^4v>Yh$(sDbS?Gee+Wg;Aq>3Ac#u=h)1_p
z=wu@@j}dadI?UT7bZay{vp83E#_qi?s8H&&smEIrL*?R^2YL*+7ossTU@T(s%?mCa
z<w`v&^)G<n2Z9J-g-6Gs@jl#7S=qGZo6cF-7oqA#dPap{SqX7A%3c><wXPiA6CWAJ
zZw!-2Lgk^^F0WR0qv1oOZH_v-hqgfrVS;6^7V<AM6kWvUGOgKhGhqz*NqC}doG;%I
z24p2g`Ut&fXK$mr?7GHa0|cfRfy<3iC&*l@&jjNl^^M8s1eG+l%@!G^>4gT52EN8D
zSG(C1y22#B;qD5mSPk#Gf|k(1VKl`a&y~q-<gVfP7lgI|$JHmFLHl>(D(q<+4L8{_
znh~R|Rn>eA`y5@u<OnD?Yj++O1x;eRyX!E6Vy3q#PXLzS1=$#Plx^pF?(^+x!m&r>
zB=%HyNK~F1(F`NZ2B?l&;NsFY%D8zTw5f)<gzHM>8Ox`KDK5^iW+1+)3O!}DhXl@^
zvr*l|hZMt8XY?cQy`$L~_Y<!GiUz}kW_0NWRF$l`EOcro2Q*X8zA-k`C^T7Xr4I+h
zm1-WYH_LRA0U4A}0ek}zp5N@X1%CAtEu{E)JtdwiX-}n~3TDHqOP0dlgTHOz(dQix
zfA)$$uE+AgyD71u4SF79Q*yE@j2=#eVaY}Bfv~-=g3r*Wz+yWi%=h_s3v$i0@Wg8n
zo=pSESr}}E8y*)65-!s|aY8EQ58g;JKF<>sMEDY82orhV-)C$wlx&@Mb=HeAGppH-
zWoP(c7W@dQn|4;<_QK5Dd@lqYc$!wjihMS8bev3Hyyd7w@I~X~cF3l|u>&zTC@uU<
z7eF*pZrnCwfG$6sdvBpFIA4VVnZ|WCTAYSA?U8Kyn8g&y1)kKf{7J@d6`6aZMOSZH
zCS77&*=3?$%POV!;hw}G7r1CHwY-U+5u4-%N<aL)W1dCi(||4xrwF*DRI>qw(QW}(
zk>I<x2VXT13At?6>r%aYZt3{k0Vqq@wp!);mbex<GgrQ;JtB`0*tf_JWbLn-)Tx$;
zgKi(HRn#oG8$2FnJ!Hk_GWvM?^iYKTBOD<LoJP}@zC&8%Vd~UQ&4!b;SOU|>Z3Crj
z1-Us=-9r39k@VcTAbIYw)kvlpFUv50=+ic@n_JY7fX|A09I*<PEJqQHM9$sehK(G}
zIoDhGGW6$Td{FqXGQw3QQGQAXtu^h8NbO)PE|nTW3aDB&q4xw#pLW#Fy~*Iz^f<)m
znaBe<vNq#BbkpHfzx1#C%)`yy%d5Yr0eoT4>04frb!vu=R<Sh^?^km|%u2(p3#lgW
zoe!HB_4z-#2pTey>C|GJk`MRlP7upuwaboQ++1PA-X8`TlZ8hUZn9<`=9cTn?I?Q6
zz<qObMhdjcc^sL`Zzue{*F<{pr!UQ?4dTqdwH-Tn+Y>K5*Z43LyejT!<+<vrn<_&V
z)6v{HwxeT`HzeCjP`xwL=X~zwP4G5442&ajV|7s@<Edj!Ujhe%aMk52QnU7PTGzum
zwRMBW#z<JNjQTb}=qi(x()fETj<b<Wai5~BC-25=uU;8MeN6PZ+3E<^&9I%*U>fj&
zwa`B5K3KrC!*2x9?jYZsRLtA3Q=Qnf1cpFx6mTIBjCARGK5N$yh@GzD-h-{O*qOAd
zR+N9?c6uOo|0iPgAA^c-XK0Df&HW!L^&hdy!pQNT+dsV+E6e|vjr}*V%Fg<)r1<~N
z|AJU;2320xLt~Mq2oH9i@^^;YhFQ#!gc$-58iIyFT%^I*A>5|erhr+@XBH2_$DzC6
z%RPPXZP{^~(d_H^T<-bI^`WIn$t0}`&gh{KUfF@2g)}~d2N9>BntB9eXK!C)XJ=oq
zuxQD*#~RoB7b3t3M}oGrBYVRGRFs8>{~92L3FI55*xUp}&b9&Irv->tgC8dw9{}7t
z+Jk@Nn%|Lt$A@tY$OKGY2Y`HWg-7SCN$v^iLRua~{HdSWl>z`xM*u*E-!pp8fsL;Z
zVHX&{=kjL+w}oi%Swnzs1T^0WDu8eQ^h?o)Zw(&80a;(y(a~AwZ>4ATB7;&8MfImb
zwuPAY@5h&=g=gxg8w5a!r#XUSVs+N^PbEQq8LPFhgLMPt5CDMtgGG*R2<A0z-^vuk
z4v5PNW<E&;sEmW}>KB;u15yw0(}@KT5A!D1(bwpQ61ed#`zK)Fr4<&R%dI>Iv>)3N
z7_fYjvSDC*j~XC8XT6R;9%lN70PhGWaKm3356CwU8zeqO9?TyX{6_@tk82=jzkxM<
z`3zm;Ro^7{R%3KdMsiOL%`hyi(60-xML814m;Lq4)jyYpjoGc`={p*I*hWUiFQLK7
zRe!Awn2U4hxYRGogTCPJswrRqusi$Pd;1#)AiNmBFpTxYPgQqn7w}OV(%aNmfB)vv
zzz(4P4?oZW3`-dISAo|cKP^1K)&$1E^?P3Iujm;+em^v1D6ljEsyx?|Ulm_E!HM6U
z&|^-%t^X=E+y*cZyYKgp1_tl=)b!5m==bj3?zf3rT4KD4yvfhd8(v;<aSv915(>Ef
z@zFj2K!7(t!0yoCXJ6IV(68N1UyUXHnV#9<TU&m2P6rRb_<h*W(DC=o&@r6`{TB;k
zwEypp;K+}_6g<FC-y+-I-aY`IxBu@P@EzCjuiR^2<=1ZUZy#8qOKZdXwdvdS?{B+6
zt31|g9}sTw6|^5Zl*wn<e*NdJyv}%@f@)~GK#tAtDis_UPjpyt&PdR(M!=Re_Lkq3
zd^+_qjA7}YkRY00@bg<;?kfY}mZ0+Wq5MAG>@aHB*x!2|X`Ho>eU$(n=c_m<5HECr
zx7(AS!T2zO&s(SQwSemxUl}4YI68o%BM?V1Klowb13-5mywMftgBPt^09RHnuQwsc
zy@3A<s_sC1t7Un30A3~bN&mxA{dF$zhUY-_SHHj<AOO~Is0;f2p!xCH{I}2b#^Ln+
z&S<co>Ozu$`)^+G{?XiSzi{Ia`mb*=zflNl>l5bz4|W8+^WRv%zSj8gY~biVwi~$A
z$oeWM^WF*s0w<H541`~2^yh+cNiM`=;4nKxOa|SERT;Ugb?U@it1!tdjh0FY&fVj0
ztWN(HmSi*zXMIK`DL%IY7nw~zexMx~XCJe(Ju$m*_k(N$kDLa)%Wy$hBJa$u<%XxJ
zJ((>Udd{jkO%Jut@1Ts|k%6*QG&iXr7n8v!K%HMyS@vK`zcsPA%Z8sas#+K9Rtcd6
zkyI4RQ9`un7L0VJ@@QURp6Cvom7Ie=DcaxcuoplE9E^iMCQ3RKrd&{)8f+OKbzGI~
zd1UksBqkYpbM>RC!q>&G7q&(2A!zaHx1+b5f5?~5ty;94lSuDb@<RjBHVI~geahVq
z^E)4g?G*NtAAJ4M*KZx1oH14t+(#dKvhf^eu#b*ew@1_gu2mcnW~jLG_beupFeKq@
zX2~lPGXfl+Vha95@(yqDVDF3wb^7p7HodKi*bR13AM~n9YoCOYXkPVpE-?}zR^6Kt
z!lraL{3y=LQC)D+vVg;48^R=vtE%SOOz-<yV@K@v)8gm9kn0r1K2*#!ypKt)C@~57
zRg;mlNtG~e@EEskj~)u!P4_95-ZJWF<Q%5y_6|)$`WP*a>wm+N{^S7CkcjHtEWHkH
z#H-F-3of{>9a#&=mhwNhJuV2le7JASVi$#%6@|1EJe9O#jmKhWg2<7k_)7K`!Bq3Z
z1mIq7z+<<9H$0t?L%3C80E3f>)DPvRfx+mR+Jo~4^>{+|xt-lBR9YN?FZ!L2ZW6)k
zUO>m7NSF^Lvha**QtZzPOR1bcCijT~06Xg<!D5@E>)RupizQFcg)*rfcp1<FqWdTA
zUtl`FkURtOnv#h8nXt1;<1V>0zy%nNTTkEZUzelztxRt#H~uv@9l!r&C--lS@E$U+
zycB@x@^B%P-<d-ba;uH~i11H_J-2mQ4*5C=-DZzPnt062w%Td4_q(&wF^7l6@=24Z
z=JC7x7mWXI^#T^%KSbH0uOqC*TO<$Ms^VNl(WzyIiaoc?ptsjKeR1`)_a*(e!q5QP
zQMnobR<@)D`F#FNm#DKx6;%w85WVJwc+Ud7MGi&O{|(*&{R%NC1$ZDco9r=6LK#8#
zXvPBn4g$h!Bdmri^&ntsgOozDcsY28zJD5<+jQBJ*30)$^!2iiBslH>A#VtDw@anF
zd-LGd1$Q;AIQMGl*X}i#z47X+Ti;C5Pxi^ui#`Y=o4IPHMX*m|^73v0HQ&`EB<(fD
z{A4VklU9&97q$FKqOumPDuGA3oYh8T2T7)5rNk>QfGIc>QmJ5O^7qc;xH4IR$VRVs
zu?tP!O@Ps<d-EX4Q)hfTFSWo*JjVtT3|b1fYAbkRw{fWv*EpVzKs(A%g{^oICfCQ(
zR@#dP+byO#*)Kr5i0`W-rxHdhq6S6E6x1-ACS~Ckgg2oq*KgoZA4xdqZ}$$um*8t@
z6utZFi*soiwN@BJ9P`XSVOn;H!Su0BxMSKnxlTw`$M@#*hT7jz+lf5oCaXT}?&j49
zt%8u*JFj%(J*Zbu7O;H_TBK(j4@UKvMheR_u`lZ`0{4Av=eynlCmLS51z96wOHSTm
zEr^E+n>HIusz+Fwy&)zY$wpM!l-aVV=hom?fVsbIAK9{8La>dQ*T*OC=;EjANzm%=
z$DrJ$TLFUEF+0p-N5aE7>}TVOAhE$9qI%NsrMTzI?HEn8A4Sw8oaj%}r#oVzI-s#Q
z8ILb=8mmS6ehC%P%Q_jmB9nF?vF+D68#)^#ctn@aKFyFL2vq=5w8_=RB;VHD!lb+h
zstz%Pwz~U4PEDO7Rg|6$39gjmB#W?QkBu5RV3Pt0k+yNX;T!7M^V>5Wsz*4XAhMpI
z_u}V?45nhlAEzHW-{2Uz`!cTgyd!gmC&|zVBZ3zc>FAse)CD}gO{ChI7p&7ZjQ9q-
zEDr;v-Pb*%)su%A&V-4#Ejo^E)4@2+)gBH45i(|+=SZ^Z`yqJF8PoDtkoy)&B~)3(
z!;7i`{U(q{%c(kLTn8aQ2wc;Xi^g3Htl5Icqo%^mugA;^keL%943w$sRBXrTJ*G}R
z6ygzP-=2!p1y{`O3(3i1E5kJCML><*MBB~Ah*;NCKf8gO-fs_Bd~|XvDxCT@;eP5A
zu%WwrCb`j*aga2=ORj+}ro%Do!-C1o|74Ve6S0-8$7VPAsYTvZ$S_JIe5kuMOQ6U4
zz!o?JbPoBlvF<%>4>2@hceEq1l>GlbX7k`^o?-cjRr2=~m1N{+;*T21#BaA3SX{cz
zP6ix5Badoj*ujue`t=k|gc!e-@hBxsN~P!j7M8OIeFapC8htF{e_~u_^wSzt!i(q=
z80K+uwps=Gg(KFeblgR9JOtBZCzDu+hJT4K>d6@6-yY8sw}FhYWy{mPt4(aUk1L@W
zdeNcHglos2Vr)#vkmUsWRMlEW6W$Mk&|VPyOnOBV(A}gKNjY$>lKEZHqiqhdf=00d
z$FnOow?xEieE?0YV;T;1qY_7BUV{T8cwANP!nh6r9q~(j^e~*+Vs8$T7e#U)1@L$|
zM}oV$2aUP_x1oeQDqPM8{~+hM5PojACQ~|PmXrrRcg6*Gk%A7@gI?De2E@G&m8K*$
z))qV^@^xss@5|r~_WjF@Z>uv!U|3{EE)$I)n%158juA}RbT*k99L<fEd@Zuk2Q;W0
zT2iaLh6|Hu+8ZkU%8=J!00ihhK!09o%zueu;?{rA-0n-PhxEsbj-WL(_fVjTotC}n
zBDyfa;Kuk+W-X$;af29(zJacq4L!j8h|@JGww@5=MJ#k$rtW4EC(jYbAeOxf-VS|%
zI#I}Kp>n$?47qO{un|Enghq{C1k1%&GccJk*MG)=yk;Hr1|e4qUjT_Mnw8jFk4;P~
zh8-=>lk%+x?w*`y?^f2~d_oBzMCGSaZ_Cc@S<FC54QhTxZw^6>gddyHFH|SA$2JAB
z=|9{(>%^*gHPK~CCk@qMQ|5?Mw*yt@RuS`-y$+$-B1z6m=ILF>5_x3}aMq@Q^*v{#
zmPCSEi=>PF^Npu}XC^hSW@V^cQyf3fUGtQH0<O=T_Ka7ZaOxG!I%#%z@%`@oIeTv&
zQKnao!(l4YtS^L~MSz=CVGP-*b!Qs3G#cTy#rb>dTV}(2uYvq;DplL>sMf%~C%3V3
zQD+#LPt6zqb%Vk<zH<qdJoS232gBhL1mo;o1&W1Yzj%27Yh!ESgdks-%nr@JIg{cC
z0|qiVpNYJ!Q7d`J{;afaR$3s@<Zca(otoh)T0%-LY9tFc6VlxdslJD8vZZ^qgG-2N
zAX-xJ89q~J8>HFbHifXMgggkOi*;3RWE~f+)LT9+VHWpJOr(*Koo|}~XZGwQ!yO1s
zV}r`FjpjfmVJc%J&dX8gpU8Y8e7-ui31M<Ld`adsSPt$|c6Q33wT`uiX{s_zp>3X&
z(~W`_b6rz2=tE(25B%myjBSAwEJ|Xrl#x<?F7`^W=NlL~8NuMWb+}l%v;2u_x0miH
zQHA)`=v|HrMVZfl$EFSE-RR!joBt36@8XK+*hlz?Jp(N)S_qZ6g6pfQlm*G2VSD;}
zzB5irrtL<Kv&lz_!MYkSvILcE$Jxe1%2G|NO_x2z|3$Y)35*hp2a6YDbo_Zb&n@)z
z@<a2(CG)qLK_&1C=iaTvX1_(o`0|DwIk(?uJ@<fMIk>hh+Ca21(zka9(i+X^02z1-
zcTMWCf8~wEf)<n53K5krwun10c3IP7o|$hl%rLQj%F*$`O#s$X?{AJ}31<Px#COw5
zXl$Y#`MKlnL0Iy(=`hxEg~d6h`x4uO{__nt@Y9TxiD$8xP%s<@W-nqhA7Pk=*{OFM
zpJ)w2K4g13%8(lrx}0`OMNFNK>PII`gB1(wVYRM6vTX*Z^5X9sL<1?i3F%ex(Yt>e
zTwL>RXic-LVAJtYYayI`#zN<-Icki;HFQjB%J!czsNT<V-gDS3N0}p}w!#nt>-An^
zjR<#ai*F)^_8O0SoRPA<ImMO~R{tdvc;t}T%-o`5`U+MDIHHgGK@q;;9Zi2*{nX29
z%)aO_C)K*R-E-45v(0!nsBvPU;AH<V2K6~kfWvLUymcca)$|+98LlK7<e&)qkDadT
zfp64GmG#Vud*eq*--!>4$BzD+5$`{u!50t4me1oRnoAB22e@J<>O?J^x)BX7W|M`s
zw<gH|ECXrK<Z;zIvr`Nd?m^`;%qL_qOji5qd0v=$gxQH@#|77(lyvt>l1wTV_1e`-
zji|dR`{vSqSuYH@Gpdhg3V4k>>Vgj5+!fR1z^7o%m^KJE*+!}uYviJ4qJ$|QL+`ri
zwYR2d`<)ftY4ZuHO@UxltCGsXhvqZ)a)GgeilX!MQN$4@rC300(E}!N%!Ronj-BOu
zFB{{&Qh!T}>-5}SH?ZRc-rPgk#zb6&6e{Sf@=O*j&H#kqhM;}qHoZSQhKvL-n^Mpi
z*iWS<PK$ev-_*pf|KzH~bS+lHR_28ijbZ@<_j!`VQ6%oZRxMc=9aX=+BJrAznWrN<
z&UyUaw|Zd<UJz6zAIW0*b)pnFyIUxfGUn|hOF7%ThNlCN)QKd#U5&_E-5;MfJ7nSO
zg0DywNsfwDWwN(_ea`^b=_0R)t23(JfG4G5NF#+LSz~$^N9D-PJ6mvf6_F@OEAK*R
zm4I3MK2-?!kQ}3i7yoOB5yuN9{Y)3!+D?qq*ONGZX_6P<R}>h2nIf7^<%pQRzd3qH
zo_3m5>kW`0TfKFkf;?O5q_`wtNSZyO|6oJLm1fjnc0hRxihc#yCz1?%J+@1_zh69`
zamH|o=$&{III$B6T@kT~!H(oz`fhHwMIAEH+%3*iyIX2Y>oPqvxw->%HR@@fGvDM}
zEq%>NIggt`@|rRsJL*ibt@FuXxQl%X4xjXo5~;4MorOZta4Mw|R<Hj+vyJ+QiXbEh
zlI9K>db}puY^;_ul{@2MBH-Ck=jO`n@MIvxU%D=zd^t>X#sElzoW8SW;Yj#-W(pCu
zEYvy-92T}yID!6s7j;qTb6J;HqBwfP<$B>@-5}*Y5lu;zTP3<7cG$g;F*z-04e2#<
z>L2}4bxt+~^AMa_Ot_)%t$$xeRc`Sx*JD<bV~{+LPwEs?&d(-g&Jn!3RH&HGoI5o3
zmxyNRgoZ1%76BvVXedsRp^Qyy-knadPjHf{I^bR>n80lrhau$SW5PmPuu&>npoZO~
zeO=>7kieWU?M@cE%DSKbJ63Fvghm3Toim=xoOj=hwX2OrEW}p2)~*K)hVv5RU5G@`
z663*Gsp8Vx|6qPeZm4bC-jvS{sz#YJPww>>^3l^t!}V|BMf;AD-`-*=D&zIwP3O@(
z($V{)x$&xT^F$W~OGH*xs$y$VWmJ>_VhE@=q8O<hk0N#Iy8?(aaWA^E(Fzy7&`l0z
z1#0DN@qjQB69jF?d3xT^@Od&^?udTOx$N^cp8^(Mp)W|;4Seo|cisHnk8f4lj5r6x
z_o8vZm$M@G2Nu&Zb6Mtc1I5<X22QPVs~O}{)$mV0f_XNPnEloq_A_@VI#EYHY*$<=
zKgCzp>R%@@tktdQd@q7QyxD5%<{_huIB=Ws^1s&@-|CjL8x@k0j&Qt$#WdUl1MMkN
z5t!EO3TR(%96>;Mhg@S%0y$4?dl!|3`f!v@<1j<#*5k7NJMT=>2bq$!EgGu8<ZvxA
zx*}}mq-;Qvw*^}nl&x{D7TZSsfJ&p!h4oG_d05%W2uNM!$FI?{CLfq<D5YT<DY;>J
z=zS89Pi7j5XI~2Fg`On}N{)ycX`9-E31Lj6Z$a2mZ(;bVR;c~NW}gixg|Mp|VR9d>
zV|3Yi%)t~H)GHN)CsN1}xq=`I6rm*5w<>?yBVPDWDxr~Z5!f_?RB-4B%ZI++Cmznx
zk5AnUM~tKz2^|+~FoYp>ot(H<-r0LSZ@B9R3QVVeY-#<}taCRwY7O}Al%!(g-GyQD
zy^SqhnV6^vk~fmm1V}D+Hl@R0Jw;muC8va^l%jtVLTrqt$h!6A$yRp0sNttclb0A=
z<?&vUv7IMyb#M4L`;Lv2;$8agf+sRE)jh@^64@e5zDeV#k@MP4wQ4)dQ{F57$o|MF
z*2Dsr)O_cDc~oO|OUN;!qnf}e_Np)g35}T=IAAZ3$!=T=#p3$0Cc2Tn{LQ8OA&)jA
zjwdpM>XzGuC^{rQSBt2Xt^h(0K>`Y_82-!v0Z`*`qK-IQtL9c4EI-Z##Ff3iZHtZo
zMnC(YLGaND3y2F=qb5d$`;g?LyJN$+yc<b@hviRq)y>AutHR+(&TO0<!4P}v_(rd`
z=ovbFh2t>vNU*#+G+CdgjtAp$H&QqPrCL$V@Ixay-I}@)+k8&{<H~>DhBp@$5`)Gq
zF4XT*|MzU~mBKB0`TWo$MNkj~%go(DSKCd*63|+;mnG|ze=Z2?9U5R(BY6nwf!(^E
zT-indMMRGRaBRE)QZZHO!Ch+6rciV%C&UY69~4QcDU<g!sqpX9QKRo}0@JHXlm^Yh
z!4gzv)M^PtyQf3$V!sXhKtj4<#uQDy<NPD7SE<9`g_h>SHmd;rvze`?T!oHYF;Y}6
zA<My^vu60(6)+P^BLiYq4iua9;`R2u!-e>poA}o#Y|07A=_^*4cB_jZuaejr&o`zs
zm9UE1vcn<K&aT>RHZhTl#n9mj9lPQ8UHW0A-JZ<$zp`X|=i&;*qS<>1E1g^dVWgxS
zNt_Cx>*I~;I1p){X9!hUT@p1ceXB^`o{6HLBcre1r=(*8A01uyJY8^e2lErInwOjW
ze8DptoiU=X*cS2<^;nlQ61uO#BqaAeuYz5I_|<WRf9HO9PrDMkE@K@EJ(o_ag2I>|
zhIX9`(cAgLtjYJj?>XNV8s?VpXPE{k4$x^Jx)<X*W{7~((C3&GuDFMj5#|4i1kvmE
zz*wv*@95e9<7jI?yvD!EYmsS*Q^<%G`DOH!(xS&qMf&nu2K^G+kYTC#)5|WZtyhZ7
z)oq)FSrt0>7XDhV%7zv%j0szzsor(IAnn|FpP+MSrbxaoDiaP{rpSDJ;@3Lyo+!zx
zJo_WSOPo}os54Dmi3rS;d|M6qT*MaX+^%W%)w;!jxB<guyg=MrZFA7OZFa*Yy1wG=
zqDW#javQVO(U4(IfZtGUURXRNyb|D>FQp_L+Ps~V5#HXfXx8dEXZFQF^jH(1v|U%Y
zhIZGU4MKu`)SstlSqF#Xnb`Qy)vKmu$qy`9>?rkFMgdsBq(2bZlCP#wx^v01zdi9-
zZJ3yn&XEM#TGh5$XzD~jNt0oDxAgPvYl$m^cW@%-kV+zu2tj&=c<_KH#!7Hz*Hq_3
zBfh4KNVsGlVQ2MJM~j<hNh9AabF|&;F&pq;mAjq=UB37&fpz4Rkg=~V)5a{8FYwhc
z$+DG|^5bQ^c@Y1-bMH=$XQi)|JSsi0O(v#pV|tJ<>vtUN9_%SH^}Q~3KJzzHF)o(u
z(h5RTE0#1NB&7%~YH^j^5+PVv{c5t?z;Iup%W>RXR2W341k)tL%pwboULk}_q->!4
zn_K`s&K_#V{)wtQFG#roZ*ycGr^5rfuRP65(FxiuQea*epMr_7#niry411DXR$YYE
za1^>Y=Ghyu$Q1X22hsy{TX>qflxv#PFMn9S3MEJ)oD&G*1QY-clA3T|_m<#j%VC=N
z7Tu8r7FLH<=zWp7t0E6p*>loJS#m1NI}E`D7#0;R1qbnQ))6`+hUzz(1VqO^pT?>I
zqRawL<qvM6lh6|f1TCZV+LJEYn-iNqmGIj1CRKP;uxD35?+)QN4St?_(JgL&^!g%F
z?G0H_E1S0sIj8<8*WA{)&%y7cJxWKpe4+%yyK?Xo5t~8VZh<Gw7oPOYTj~34tNGDw
zb}G8dhA(S2*ZpK(?vY~c|GQrNuP41elAukB<UhLv5Gz!Jlcc|rQWW?t@xf{8L_OBr
zySUI>{zmOUr^_>Y^)FefvhVDrbTR@%W=NV-lAngIc|E%x!!4Y{!~B#R>oXO#5ZR3S
zO&0RS<t>mngN28<tGvQ+WEQ%cr(iIFc0HKpOX$-zJdW5|?lxC|^Pc$TVlT+>k$!6<
zz1U6&I0>7hx!tHy`@?ZSvlXV0t4`am<7}X_d`1?6lD=zS<2l1)a3dz}AbP-2<+5ri
zLNFreRP~^H(0k0WP+xh`P1@Y;)k~KZ-6N+wx+i~Y2IxQh7RJ)R1I*G$r-Oe(MfW&f
zL@^|gTlAW^f-_BodxUXG)s>~jgtk*zSss;rj<>T405mIYRzu1iH5-;dwN`3ct5@oS
z$C%spK=)$9dxLYxWn=7P%(DMW?Wy+wZOYSA1N_N(>=;?|xYDT}E>Y}x{Wz0yK%w&4
z>Ry_<b-==7#ChfKvH@4}vZ%ds#B3@vlSvcfLntd4x*n9&B;k<8-~#;wS;F#L@|9`=
z71A}f(I(EBz<g?MQ=<^U-EfY*5^g4}$Y#oXf{}R4(6d1M3C(BAcVOz1STro6njDU)
z5_`i^Dwe&RBS~VH>GU_#Zi@n!7><$>u#-YL6Nb$7990foQw$NZbnH%i4^EH~v)azK
z7oeDzcDQo5EP%IRb)?U-{B9}R`#T1MjFd_!=&)l>GW(Mm%MXrzc>_aDj^>ZQpZV(R
zy%hDYRK%eht7y1Pq)CMl>mvBw-ZuGq1I0=ejlG_sp~H!b#<B^kr6R%(tg3xPR4G80
zA|Ny(45Wd3_7vGt#ns0C8}|=<T7-+yiW=E-VzH3PPN)x+0Wl_E(RUB5NH%gLcf`9j
zD&J>3+s}@YM?7%hJfdAwSC=!GT1o*Qj4d@v8yO#F(X}EdX>6fN63mM|*U`0#kLaTz
zx-JzJYYHo~LljKOSBlC8rDFKGB<J>bmNiLwh=O|#`YQQ!-%!!AS}czuHVSa4PY~&%
zeVwb&tMVP|Fu~D1<}Vt-)wTS6QMO}d!-p%>Oewkk-$?KMi3{JUjc{q2vvU_NQEZmV
zl<ugj<9NU#nrnm^U)9R*@v1o|vklM-BRf~Si&BeM2#!NeqTb?wtz1n75(f)lAr!}n
z^>N)}E;&JVsU~}zY01b$Pvhf)_Qhi)Tc`2P=vU369+)BOinOvMSm}WpJ}6+h{u+H4
z*#|-pg)pizp%a?qTWDZT#f>S3sLH^^Rta{FGTT9=nv)H!$YTR5-Nq26C_wK*3KBC{
zTW=X>^a^7qH~5JyP0@y~D;qnK@U9A6vxJL~3D6Rr?S*w%u9E!0{AR|NhR$>?9cP*h
zHQQ?AL)?QZ=r)fYnnj-+H`D!n?CDsEDoWtl!bnbb5EtNS1VHjh*xKa>&+Y|Z&`mxf
z2K8Y6$a>>ZY}c?LLH+iZ>+U>29E{3OrUgZYBz=Ekz)`F4xCS8-4tQUhn=|&}jD3{G
zvN3HSr99INX^N%ej~B)heT;2Z&)&+JkIK9j{lOCiq4Y^Z6oISal-<9+39=GgJ3lfX
zrt-d4!N8nfJK%-O%gNwe=57ESE*=d^j2iRr5V5r|)i9i0T?jJ)SurL)=Hy&2uh3S_
zJIH?=b{wvk)=#~yN~o%c0o{h3Ce~@mUoUX+@%x<WRmw%LOu%>l%B}Z2(SLAgN<pWZ
zV)=0RUixZfRM-|zFy1lB5ncG6!<0_b>`Y?zcz!Cm0Unjb6l)r-3rweo>2A%ZFh89h
z-=2UH(m%-UPqW1sK~glJooVBGbhgqyPGRw;$t-lO3~J{{0&ez{E((P?ChMA77OEFq
z_kSNm-RH+@6GR%@qDI^NrElY=6ACXJ{nWrvhtPGt9?AaHPxPB{{j^=nq&h&Fa|hyy
zY$eZ3iob;_gs9q;@>;5FYuXv_${fo(-ese%jN#AdjJ~0i6IQuMcsO_LTQ0B6QPlsl
zR`5B*mqoOlwB}qtqiLImsRNXM?=*dBH#djCQ^_7LMnEyAxK-YYScj(0e?Co@Qf?tP
z;uY;{&Y$i)A1TEVgZ8Z|)Y?i3A*Lzs+DkgumZ?>Yjt?`bb}9=YZSY6$`$~;YTVe6|
z>Y2R#BiII!N<&Z>&juh_39$n&MNK=G;b1$A#VzEZZ>QMZG(!E~vk~4glq!soB|Guw
z>P5di+}k&!_JH|L^w*;3`cf!<-1``T-mp@$*7xfrO0g~YdTQR`ODB6c^B36W<#PLf
zf=gKbC%A-(^}pZ}77jM{|DY!S4VSQT&@=z9;Sx6&Wo4UHUW#x?aS11LdBe~@=g8;r
zuwfAB=%)JS6z8Jyf|A037RjRg@u{iuih`X2f+f8RWjm+e-zy)zELJ%jUbj}aK6<Y^
zt9W5qI=kZX5TOl0RYvnSf%*jT(D{W$MHSG00P*9?;lYUoM`vuJoy7)zVdEXL`WtM;
zp*2tV@F~^VhjC7oLfQ}GInkNzSAjwOMF8uAq16@tfB*^e<Dd8WqgO-cL*5Gy0^ktr
z(f)yPBRW(aXn)gBc!9lX7xn7_@|O1npr)arxZ}c+cMLU3kO#+{4`}D=&vC#hfJfF3
z4j|mW;r*o?AiLbVxgjK?zB)c80da6e8q~i&eg_4hEA9f;2X_lH;@PL)L$lyVJAnR;
z%7VvW)4%fnrxP^{7HIbpsJ90=<tHexZ^oh>1BMAQ0@U{E7gxfXcM2%_1+e-Bga`QP
z#sQ!P`RUrqTknG;Sm;Y4kS8Bq2Mv4?D7*#)K?DVRT5bv1>e&Vb0LOfR0vG5ouz!b_
z14jgH7y|Uo!vQL%!T^BB{wG)K6lf4fb7Lc5BfdbB*w-_$f2|G;t<cZT**AA%Yt%bc
z5;5GD-x~P@|7Fo5V;+UN{%nijFEj|(6V}J29ekY^SA%OWy~xAQj=I9j<JrQ22a}M9
zl#BwfR|B|#ae@E&JGeFm`ojhOb3EE`_v$jx4gijg(9VYlIQE_J-YLMn@6WXYd~^Gm
z7vQI5tWOUhB)AR8)y{+Xe;7N5AW@iTNw;m=wsqUK-M4Mqwr$(CZQHhO&z;4an8m+%
z%i5o)Q&IV4rp$|+a~5{Y+u%qw0NOdMdVn1^1Q>s>k8iKWVG2x$K%v)<|8Gu1U3q&$
zealI8FUK#git30Pa8H1qJ-@s#4v3#fACe!*&G7GT@J~-b@7eFmg;1O?-Yp-MMFAoP
z{{=i++vR6u_-XEB|7)q!o4>E?-0<GN_L#eGVnFIR4u}ZPe_V;+TlT~6=C7{Gk1OQY
zYy1+AeAzBQ4<F($JitMe@cS2JKW%g9A6Wt}j4bK7Us%@QUqVY`7^s(BMj2NKSu#m8
z&#emRfZ-s11K+oJn+tJU4r%;zIOjLR^q)JSExQbdU!D?OHk{H7Uvy<5A;vo02PDK)
z00MQIp->oh%`8&5w*Y&tp#E-OdU^typpmviMS!jOZ$J<*sTWIwf&xE=5lkES_hYh8
zHS;oXw8+bE&$hN6-}PQ&m{8Bbd?VyshPloB7}WgeU0rHMcSt(eurTe*tyo?HR&8a&
zyT6POs`20VGEc@+ZHkj;4pXt56|nIEk(%VpTycrhRl1r{Fx$c^#Eb(sm43Sj$y>9q
z?AGw{#?>b#k)H)-X*}Dq+4`-k{s$1huz;)G#r0FHuo^iX4Tp-MxJWx0GWnGt!1jzJ
zPl}2KYLJ4NNlcj&NxKx$Q9X-C4x4H?YaRptLPUwH3)O_Z@*Nw*0q{9<N1A$krbR9Z
z9JPPWEh<3@SH21Lf;{V0qJK#I>EH4gS;A&#s^$3Fl`UDlzltV9ZG5?9l2d$wIaRMi
zs3_*@1DC)L^8Y$|tQ#$0b>7fhRBR;|I?FfSQe!%!sTZ05cysHm*S6YLs!Ng$4PPoM
zKM$*!^GfdlkgXMm=)53g+DpFM;}lr3f53@u8t;NG^q>{{<unl>{Lv|Ektm*|E}12R
zVAnQ1i!kL;F+fYzLi!>)B5<$%oV(JtX|ExfKVLpDQDMjo!M{a$3nCC-gpmFfbUw$+
ze09qYdYg(o><d-oSwt+{{e$udJNcNn^k`mH19`v4lenCyZZF2kxr(evCROpYWXqU%
zY0HaU)BEw5Q@};lPr8_AGFZWqkM?IW<dvxC9#o%CJ45ln;^rMH8up-j*x%NraKQ$5
z_$hH)4yo!bqX|?M7#Oe`R75td{SDrxO7bUVbU}o3keMB&lw`E|{tYwz;TzqfJ$pZ)
zhSZp8{SedCdco3~ewf}fG#W!~R75dLp<+_h7uF+gat1BO9JyruVp1{PCmmf!-lN*J
zx-Gql!3BSQ`pIp<ox=94+$%2XYe%~Qdqai?Y9?x9sFBE3$Sq7K-A&4yVr#u^mOZUm
z#0}UtK}X7YeVuHZJ5!57{8nX#9F`~>vN_{fA`r{#g9I|7x{*igjAi<jzTU<s5#?@A
zlO$TO^Zu!GAHJa>(YTm98_y$<KtU5(p~sJ9F1ouE?P!ZWmnf>V2|LF4qvK3sr#X?O
z)&$gw=8{)B0^eEsjx=XErH#~@*xAIBCspqcoMzsud^yWI0umxOf)$Xd58Y6Rsfsve
zJ&b1kH8WweJuwE4*NWlkM8rjgTNR!bJ981SF>h&!mj}Z9hx25qk9fSOJG-=rgO+*f
z0;=^c+5AV^+k<*%cfqDw`0U1bS`_BTXF(;e>36*Mg77xa_n;THdV}Zar$1Ap2ydz_
zn<ca{!?p!xjc1zd)^oS-PWe@}-CqqPX=IG}mJTfwtMG1t@9uEb09StFDM3#y&)M3d
z_sZ~`(V!b|W141b^zV<@5IGM?_|%nzl%&ygwG4`s%22pZv=+w_QA_lOVIyYURmM}u
zrX{)On?|$&FjLhR%oN2n<hm(EfA#q;<_uy8=zW>Fg{bld>Q9(Ruh586KSAejoX=9X
z=h!B`-Rt8TanE7~vaXKF%H6$0O;6J{)5mTOC;=AMj0FKVcb=T}{_E&R>dV>yjo?~Q
z_>nF^?}Jn3Oj4CStyzb6Bt1v4M%hYm;4FRIbIVq<;8n{5PTSWuNSz(nEzW(uX4-R?
zt!ef6W4+!KC3GN4t*S)9KD-!?6UP}b*83<bw4+^(E{jd~50hi2_+}d?J3a-F438Va
zN<5yI%erU={l{pjgj<_M%ZkSy*xfUJt*ACzY+f80_s5!G-=__B>|)B4qLBjB$0R8I
z4sQ#UnG}+ZFS%OfgJ2lq<7?@*tW=CJkz5|eBh8FGtd_oks=zVeuyb9|wBg}oklE?t
z$5E2#*zVAqQ>?^QoJr8o-d%dyEU?yZ3JV)|O8k_os0kj-Q?*Z~V&=7q()492#PHb&
z_XkezVrS6)*fk7}?HEz{lJ@&xv@qD0iu5=V3H?)?7Oaj%TlHhc(;0Lrj<?7U7A|;F
z!9SzCi-hb%LhbBGE+<N&gHgDmXh@{wJEod`gR_`<Tc~mQYho)p;I85oZM#7{9kt+d
zP#aSsvwZ(jEJJov*=cgPR&sn_5obL^wI*0>Sp=H+&djLwQ9RSF;C59R$Q0(mNhv?X
zc?OBJnH8ryE^*^0KglLKB1K5dh^Y+A!;cT&8mq=0nG6ixIU7EjW_kQB730WAs((12
zT-Nmh+0`!PLvyl43l|=%0akJs&$R6XuL1w$n5V`@6`t0cPN5xJ6@0)E`5A$P+gvL?
zKk_QwNcpCo|6|ywk(B7(ZNx_JywBYB-ml%8p5>6}9TTK3V2nbQ;BV$X)$m7FkCv=f
zeRh9QenB2l<tFnq6jmGyf}TH%;Bs0=eon=dZm2Jm<2zJ5mI^i@c5jB*1Q>6%O0{8G
zc6mMg#CL4g5=5)$`HX1DxDA2-h#(Oa4Sr1+ga$Y#ob_?SAJp$gB>e+P^B(vfT;IpH
zSbg^*b{xFpGyzVs+N1HAbst$=XX&V0K)Ljt`)c#zu4L79jN*+`fJ18_w0UP6^gUw4
zlX{c7P|Gz0Wb9P}pC9z(6K)%=X*b=bA;jM;W;k^np;E(UEEMmhSGB<ncJ`xWPn>(2
zs{9ZjB^$yZO%7;M#3oEnE24FjhzWY(F8euEMuy$TTOaa8Pb(;rAP14^w_5!rHsI{1
z!BRvE%Y?9bGGD-xG8Zy2{2mP=D-Js!r_@X#I5=dy4<T81ttbP!C}$Gw1yZjY4XEwH
z<%8IjJCYZgUgsNud;0n<F>7zP!ociVmHf^%re$g61XBu8OD?==LNU9@aE&8mH8@7w
zxxj$O$LMxo9lSniOl5mpn1UGLAvOkAq8LuWIDmv3O--_hf<xIkU@u$eQP|IFtpSv-
z;9_K)1OVMFkEMA~<1~BE$&2Yf)UDxhN8_fU?N(hvrzJZGV_>^)IHCiF{lXn%kF_(&
z&t7X7B_(5OkJcu2w@$o_OT$=7#>dB!Vc1x*_OhP4{oPDV{C)G19~G*Wqe4_IYHhA1
z<|+Y4x!h~nTV>vC8bri(;mtG4V0+k0FNIep5aFqjg^Ch5v&>DJ1HCG}d_<jj;lfZS
zOs<!vGkI)wnu>gUj$vyJY8S@U4HlCFY;gm<FWzk@diHYHW$qwKT^)-|vp=11mZc%%
z2*%pH5N_Uy=7FXyO{vTU`j~RAyEG9E$$hm%+alDAui|E>N&LkIK&B%Kp+w|wjy6?l
zFRvlStvv$!WWdi;DO^66&Px$mCwVm$(?jh=yKOMWxW5TTI-E@5tI2Ux9hzq5SDqQb
z>8p%rQpiV4{$dt`>XS@YiwZl{x_e%Jvh&DucpaMHrZTFQjw1XfTp+WN<lS42UQ!gN
z_b7*ADoE7_XGA+uJXQ#D#%|?U0LZZ3s`$2qO?K@<w-v>!Lb{9Hx&7{6)3R*+m{yKg
z`4DJZ9joe!p#_6hM0ke%UF=bG?9Z>Z-qmsC5usDjRh|kRmhOljKZ!I+KK{VgYoE33
zv{V|iZhBO~{g>waDCMUV;~!b_VV=WwvpIWtLP9pD@O_}6Yzyb5&mF6<U~naI+nqTG
z#%u8n*?F+=pj9bUz(cIL9l#^q!1t~OC1=`bw6emNbmgo=g$0lkQEP(Sn}=<?sBL5}
zr`}d~noH-r;=YKxmSTr!m?Oc9=F}zI<9L1G5fJy&iH?`kTr*e}jn^YFGL=oWQ(kwv
zLuV{IwXC`wgJ@H0-Qg7E*&B6X%5z2_swQvoo*g_P9~{h!0j-~EvAj<5q;b`4ptepY
zD&&AVVt)SiR4Ndg@)UewFgiFekCI!N%K^2P<saB3)mUyImon?GaU>6RF-}{kHoLOv
z<^+?GbVwV6#aCQWqN>OtodyN66=AjqlU#Uh17*CW=O!B`0mROWb(h925w_q=t(&L6
zu_yoCe+}RoZz1hfhkjwIp+oQ|&1IH|%gCSPJ0_s%$vNJ0BQF3J+v?Y=)^9LA-hH~l
zyUFS+@V;{7JuBfMH-QF|BhRWM+`9C+(beyOm|ma(*5TvKGF#yR)nRg^v2(Jz`lW!4
zlYLrjz^!|?ftd7RqI4^V@0KF{%cA~{*%Jfzf{<}IcL`xY>u!1ZLULOr->3Cb3KeJy
zyhxzr5SMt8YWGZMX!koSDWjTOBoFeK-*RBY|HT2mwlGxp=@2Yk9Xk==hMi~+9*}Oi
z_&Yo-Jf*DR=-Gb|N{)Fob#@U!G+@BEN+3U;s!3oOKTddXzwt2d=rCuhFf>v8L65G=
zNWR~!<!?iW-K>zd2B&`P>*E5-)9VQ2k=5qWd1bKf2L9vJ>|ZMWJ9{kE<k|L!zeb-C
zy{YL&u3o+sd3tSGp|j&jEAZwrRw)HXR%q4}%_OFs^1Z@?r_r~JP(8NB>w36oRh7dv
zbOfC&7O03*a;r@gmPJEa(Yh_!!nGa`;#)C7>XofJ#1F%Y*AL?iQO2zH0)W2BbrvII
z6~w3U`yZ~!*FtY)++sYQR0QnA7KrgV%+zbGlJdg(i1}Zne(d!@&teiE7}MP?^Ln?@
zrf?0PVo<aRJ)OW44ceL_vT~=#qJ`|?fvyxCVQOa_U%_B4i9zC0J_d~v?KqsyS&X16
z;ExGS3eCG|aPnhptw#ixrGHuUhaZfT5wZ5YSF!J0Fcp(bk0rR*s5i&ozfM8N))8cL
zEU$+O@J<a*AUku(=xddic`-gXp6h+$4nrM)SnJ8g{hL{b%WLtk$=a1o29E)N<wS+9
z(MprYbOyHv@M6NBv^3`zxIhUXgAy8L91U*wjf1N$R)lv$MBa~Idp0jQC~Tbn;^ml>
zG)eKvC|JbbmE<xd?|9TeJ`P!(aB`{i{EW*8*UTdt<lE*wG5KkhtsjM&eRtPK@mNrb
zA4SfqBoJ^LHcWy+coKvX*KhTV>GMtVN*L%#H~txB%gi1-__FjS-Cj*Y4f7WI3%``v
z>)$_s<$#Tti%xB<f7IJ*fQ4QbKD*>_esem63r)<ht37Tuf^UvLMofKySC|yCr0sgp
z|DNAWlPj0O`TF8+w5bu8V|MB3u6v4kMdMO~c<z!Vu+>#1HFK?~GoeToZ-;jZ>e;$j
z!9#+?1+@ZH0wp>I#<VYu+0CTNj30Q?_TU{8JN!*a?sug`cIT&8E}Mzyg4Ck*v7xtb
zUeRF!-7VsqhHzhE1-O}hT|5(_feq^)*#@&j_5+=g+dU_kob;R~9qu@FjKmGhncWQY
z1h1UXeDNdtPIBUb9A&j#tY>~Wj=SCVhsl2vbyDnhg7YqL2RE0Vl&57?Z58Bzdo+~y
z@w#V>MSbgqso((pcmoI4$AwqRIXrro>nucO1s>H&0QxP1VaTPK>5oRVU9R)S6ls>S
z48b2k;#<&iyM`&H4mG#=6H*)=O}OL58o_z_4Xps=`TChIY7zyg>1HLlWa;S_8+muz
z7wUC~i#QYc?lyG_Vhio^&cjQNtlg)azDiL8Dw0MRN~WWJ(dPG*tvaG1iq-9Ldb{5q
zrw4e&T|!tR)O}jzYDS;zou*S#HOjgiLqeBtb!mgSBV#kM!c8;Rp@tOaq;P?^aXXIW
z-X5k{O$WfX6l4Fb)-vrh5$bAJm1FbL`oikDIDR?dtz^n%=@N4c3y*9BdJ><b9+w6I
z#EzuDMh}XL@lW-@=_G)R=O08gvz9-CD{hr^f5ViI#~^i~`fIdDyhF7qkci4a$ya+C
z2pn%=0V|#ND>{hU6o7BeKok><gq_b!cvvjo$i4tXM9U!?kI65bte22YR7~8y*kVQm
zE9|N3T$1RwkZ>&ZXraH}zOsPv&f{%~wI9(keX<hPylB~Vm+M|*5HFvHr!{#|%L2H~
z1Vmzyd{&*zp%!?y@rQjI8b}#E?9Zi&j5E2_^4tLyI>Kwa67_~%y;M!h<vqG*YJjZc
z?&RMzn(yky1-B-$V&&q@SS@W&i`|*ay#TwusCQb)RQbq-q!CyWxgfAZ;sbaayw@)}
z0JFau3jdg#Mh@KUQl1)Cr=DsI-e+!eUN2i3w@_>6wXQ~W)X2F!fhkGvCtn$daMGgk
zy61hk(G8jZ>woivzU}LTXlIyk7z*mpy+`c)xBtgH(^Q5>szwXYnDKS%CeYU3-4CP=
z2%D8`RLUT#XP?#GZz;kfStM-UW{-1^<4OtaVm4|L9d44Lh`23WU21Rlam|I*jQYRu
zVh^b_rikuSZ?-wUDC{E=OsYN-2*y51ZR_S)W9`;)J0?9BX>;QZg5|7AwNGy(!pS!`
ze-@=9GI0s;zL}kjN$z2$Mf**r{c%FQHHTT$J8ahl*mn}HH<rd^KxtRS{DG{*fHWF`
zuQdK)p3uvV(S(6U9ydtn+>SE&{cbyy1*|7fu8X*t71p&gCh9qCPo$xhuU&jyM5bEa
zJ_d18{!C2duCX41%N=fyk*Fe0J(6<9Y_{hwE?KEMqk1}s?|sh2vGYvA!D8e>FwcQ#
zE!OYe^D!ld@FntXwi29H3D=}APy4BmpY}bX6mxV+XQ%$7!nZ)4t|cQRtqr}83J|#%
zsNN3t@lw>0Yvkcn{YQ?^y%w~soj<|uHo<k0MpPtwF#?GBoUG?d?TWeV<qVV@JKpFw
z7|r0$(r$lcr$4=H`%ubzk|iwLbB-(|8Cwa;<Sy$;s~bEYrTRT%YI!y=-{CQ^bi+6O
zfR7(%Kksyy)qJak%j^+k#wdSSu2a4KQqZG-^&(k8dD4}?H2oY>n63J+4JcVYK5{pg
z8b(XVz>sj_7S1`eaO_dAqoL9Yf5mlu>d7m4j+ZP#@k&3&9|yiorsu_6Rs?=;+a8}|
z-tKA?W30W$i4*m5-<2z~;jx*pZOprzK2rLEc)T0h57<@wGFEH;W%LkR^vRaAiLXoZ
zV&UBrNhU0K<&=_k*;EH;%?~;5c9vCV$9~j0npOsF%>U^qJf6fyFm612IHXR7o@zq=
z6hj7<h@Pc945)f>M4cSucx1y4xr-vTbuA?;!#3-(UsSm5{nHsoqb)E)!4$550DR7v
z5K0ehsRmu)t$A@|!*pi?*s8R0(B%4PreHuC$}`vIm$*zH|C81yv_KUfLG;m(6a*$k
zEc^6twyc`hSde?|KJ`{>I$qQ-yz+tf@?X-*L@J?%n6t26aS@UiB^N&kvAlbmiOf!b
zknvP6WnN6+tSww+1k?7ofRid?635~>5hsXutxS13%PPI^f{Qxoo-R~o&zX2jvSXd-
zULgzgjEqqJf_D)$)aq4#hQ8jC3|)HPnUr_`hBs8wwTPb&Ty4E;H9!j#K?}Z-T{|3u
zakJ=W#fY6^c?-mSq>l!uK)fL(_g_+ThX!bjeuu?0JXO+He106dh37XqQJioZTqJF?
ze)bhbHBm;}3cG`7lY_gyPJHelsW2)qZ)-rYl{#QIf{`1IY1h}EL*LV0|JCP_IH#M<
zkHKQagr1bd1nm+CZuTMS_Sx?m@mjnT9i|?>Y_a~KTE<@;W%zRC+n2~RAI=g%(fNH-
z2kDhkDn!wpW~Rv)ZHdm`ueMXH_&T^(upN-G^6s{BMB__hHP&zVLm?0q#LtFW1}i&*
zs*9ahi_q=1n`bp{P^sOJeMm_$Oz=)}Z9lRmpi;$`J0`WvF$lCF&_f2}8RRC!*;6<d
z0A^f^<(_*G_Fb?iW*(}O*aWUzjpoz*wADo|B6W>7Z|^*x*v?2#S-2Z&Svu4_PA~Z?
z&vKu@?T$ntA@a=Vc4Q9KYmqRR1Vd|EIT?Ix6$lAw_;U`EI^54XoTgH}^kTa`k7|B;
zO^f>$DR7u4HcT5yevewAj5fcx5^f?D&br7JH+<K4YSK+RUH#WK%Mw^xhV(<Cwl;(<
zlEHQg&)oBSis7>(ReRFIR_5aLdNA!&=j%I>_l8=?(&A$JHg)20EP~wj9R-ciR1nXf
zG7Tq<?jX{j(X^wU&~3twF=n(w6K5FKP)~SV{7a{`uX@R=Jy2n|Obnm*4J&@J=a8J;
z-<8A5C7`paX5x~vi2ou{`7h&YKq!pz05e%jkwG~uuvJS>{6r^?6wJhD<<(hQebk*A
zH+Fm8RfFm~z896f=zr;L?Ej^=v2y&s!l8d=Zg$rH)Y~{X7?}UpdYcQVGRogpwrx^e
zAm9bgCMR*%P$w7$rl~##r`7;*N<wW(V)4`>zb2=^APU$7B-f|v+wULWYR}awR>zsf
z%d76(?$tV`bF90GKYdsH6ATmqYJTt(fNn*_^Z+0L{(@foc?5XWm4q08fZvdZ^;m&>
zczPJh2Ye`a{Q@lzBqe5%{1@i^c>vCG5d8cQ1O!xs1Z039Kp_77_q{0kc94Dr)#z)0
zdBfoHp#lPUZdI{*Ha&KAiOfKlC$+?WgE`0q1ax#GkDE9Iw@?9r*Vg#}v|2&TW2l((
zJ7_=*e(Qk(5WBwZdvOk;1Y0C;@7>+q?^fD8Z+dp*n6h|&>=^qnbKvfNdpZQ*eYHV=
z8!a_?d`yRfhM*W+fjmEbuzE2Nwpttzejo&To(N08=KGM&0R4btdjP<!GJY}G5Feop
zC-_j@eted|2z$tHo7=f7y*U2)z0ua!*ZMU!E%LeyOOSgIA$|Z{6B%9*_#p6oXcu=<
z^JoWvLK~YN>j8u<F5<zv^sS&2lb3*2@sL01IiWl_S0Q(Mj{rhG#bdvduniNE@}Xi3
zYHA25`~I(&-Vu5nV|W@ax<7nemq5YpLf^k#90B=oF}(?PcTR`w0Rh`Q0u~Xz6$FG`
zz6|6DKm<S_K*K}900gc8W1~Cizp0)=y6khd`F->l=>mDZ*i*23VbVY-5H28uzIR_d
zR^9vnAX~^NXTP}tzPooIAOLWBo*;d2M<5{w--o!6fjGZy#F_Bmp8!+-;x~{0e!aZD
zxis-l4t@fJJ-=nYH}t*b;pOQOys!9}zqCs7e(wNZ?!o>5Is%9U{Cnu*Lvf*fzMb!#
z0KTNZ*vrkJzwd3ocV%GCL4ZTQV}Kf6y$^REiD)>!F)-wNyNFHt;&g!kIKT3{Komet
zVm^>xx!`-P<G-=5y<K0nOTV|^l%9eFy~8-Y$G@>_E2uE{-%5ZI#&RGIG);PA`+h&I
z6_97K3M)XIemvU0S`{I6A~B)dOOOw)nEiMYdiZgHbQt=#U*MrX7eEU<ATXfk1KfSR
zDX@O%>vg{ggy1tfpzZS9aor!ZK!m5~yM)PkFASl&f#eiKP<6qB*53DV)nYrs06#!u
z|0d)8tAx!j7amH8Kn7s!2?#KTfn%pO1`6N}RRAIAn*NEMAV&CVujPe~;3&aK_$v_l
zJNkEip%<h;95}9%yus0zaNq#I=LqZT6b|IBlh76ZNf#~{^hfyjS{4Iy6!zf!p55;V
zhHn59?qd|c0qqOIc8!k=9`MVD;0?d8x5DriQVfj$>x90+$#>iLmI7f6+$ffv9kwww
z%1se@-s4_2XC~9tQP?BEd66VKan%=Y=fwSAc~V3p6|)tn581CpUZjz|cKD&PP0sy@
zZ)rK&pAJrq+GEqcX6J&RHxuZcD~#jO`2pPb*Y2mbS9jRs79g7~;3y&OxlDP!vc{7R
zPhOIRY4Xmy8-;uKU9AoV6xQzYRu$3;e_!p7boQCEc9FA9i52e7DoP6z8W4IOIP~*;
z`1_;tbrAEJGu%QCB6giUn=JYG-$Rvt^i(AuspF6UJX{tUme}(1c{z#Dk@YXs7Nw<f
zlds4~G`^V+770|w6NHB%x`%{2YiJW?|7XK|*zIK<A;)VV?Dkp!#49KKakhj?DXg*T
z{V6UK721`0qc96XbcAo0&cXr3%XItF!^EY}$AjG6T|hF(=`2@4tUuqrD;@N(ULRwg
zc*z@HjB|J9-OO`G)mF7v-sHA`bfl(_X~Ur5FdxcOibD*Vp^)OySwW^dm&=2e(wpLx
zzjegH)SCYE{~ACJL({g)gkE1o9DrkVKvb7-Em~`3cQXCm5;a41gCi|=*S*DgxM_;)
z(G(lTqYlO<<uANaT5)D;$Tff~GGXYC`Tkbt9VyY=8!t(J5HWc!jVh8<l`M2~Dsdth
zBA$F6DR%kU?zRn-kqQ*?$C?|mr?|Rx(lzN4ayN*5P3eD5YG|YfpboRA-5=`*zbXa$
zqg#d;AiB?PJPSE+aXT%j92w5<WYx+!A8zohF)QC0I9P{~voR+1XyV_vIbKgIRg{cP
z=&+P7SKiA|ap}!CsMeQdo@j^R95*h8AoORjWkbWE1V|?oqgSPCL7%}_ZGvG%#oCyo
zp25J-Kj6Pr7dXv&;pv!S;pm#)hbpUgq28E-h(~bCiG`9hFiuy6cJXS&pSa;UUSce^
zSsl^p{_*YQGJGI5Gj8>T5ZVWH$wY|zYht8^D*vx;?w_A-NXCafJL~%>Qa5D_)zGWZ
zsW?<*n(4h<*(kk9BovcsGNRy0sqnVVP;0fI)`9o4?C4zJbK*>Abk54JQoU5ygn2sZ
z&>X5jUM17Cx98Qcn<6doyxp+K93$rYrCS{*$+?`;<>4peEs5BhNt>{ky97cf{KE6<
zRn>O%D10fr@{Qrt!ve27Hm{6WQemy*d$<lsxbhw^2rJe(*7-_Wrc!pEG<WDB)r&|m
z$Ns@Y70n&<*4yYVi8Swm4yA;g^}(4072kJ@tW1Y0QUE|5$uH4|eEDJeIj?2kfz8pq
z@7<1*-JtkD3qn?VyVDi30hooYf!u)dPtx0pP<z@*?S>rQ$C)G~wDf$gII$?bvcgF?
zB&o<^CKm8MRu0f^kWUYrM^FHykBmlTL|GYTE(G^uu}NAFY=fy@v${PWM7^2K4$=zZ
ziviPY9j}_@jIZlm&qc<;VTv~mtzB@>mAcfoBK0VYIxouYF@1;Nx5LIk0k$95tUbQl
zG>tH^cgzpd<XvMr*lq#X^DE$tEFM*|9M(^Z96pb#{J71aVcx6u9zn#sUhD<h5}+(b
zscJ;Uc|#q)k54C+?U780ChKk9PC5uI{E*Jm{K1?V%yb=O16Oxb<wGQ|8h(Mq>3tBW
zc{22i{3op^S@Ef;T!cfn&Ax}w+NOv)n-BSqevz9<ODX>$X)zD^^WNEe#&Et8TtR?L
zi_!P6*=%gCJk22PZOc)$YRX@5>qxO^%wXb2F4M(A2NALW-l$FZ?Q|AgUbULVewP3?
zkf`_ES8DM|mEX1vLm)EejN|?<I*k{)(V0&{bx$hZD0q3dTH0Dj%>l_yHGt$5_6CcY
zz@eN?cc_}r33X*8XCPsYMoKsi((j&vQ+?dWNdOPyfddE&nX<6{dUh?y+nJ%x3M<s!
zNQ3*^rG@V+32Yo8_G*jOnGLn(#UE_0B7g!GKqndcPf9f?X}j%AxE3Fi>h0Sa9tT)5
zB?Z)_VAPsOm#V&Y7U>%5%+)_@JnrMv<6kkQ+Zu6fs@kOe+>l^~?y|t3GC#ECiWA<5
z4GUuH51`bi8VKW(zx{AtG2qjUC28`;RU{@^>Paj~VWB@Cjdewy**qc2IM^#>p=K@*
zt^HVl476UB4d>y?iJsK0ugIGa-t0{+x57db4wcm#GuDXfQ5+6jK!4o7G$<y-qUbM!
zy)f~LYB!NB&8MTvpLlyTn8aLZdo5qEy=!oyf~BA+yJ-w>6jRGV^rx_>hcYR);J+-U
z(*5eq=6V52_Q(G~X#05P$w{t@Yb>o4;H-w~Y?NdUw{Dk&GvXaM`rn6aY<LYVy`A$^
z^d#bYw5tS#bhwu4?6;@7<;ihN*t9-2?ceF09#xJQ$xRdng`Ki(A^2)$ImYe0I|Vdn
z5hs@+R9{5YRIj$-N6#|^KX+#7Kg7mPf?%{svVR<iR~|ICeO_$|7La_WN`~4AQ9lJy
zv_?n&yU;a5b7c__6I3tm&W&mV+%@reX);Y9cCTY1oF?L1;&hS?Rdu=-<a-#V8b8xh
z)@*P-fCd2VE3T$8T0j3Hwhk?|X>%nrv6|JpIGR&ek@G*>P(a9&{S0rnmEB*<BNB`c
zP8ieg4(^M9C5_S7BZGGq>{;dyJ$X-C@nKD(zrsoFzcGru7w_wAL|oTvQW+f3SY+&J
zwHUo?kaw_B2rr?tYT~l%Xq4WlO9Hz(in+GQp9XhvKa<y%9qk>@#(A~WI-{FpGB;m2
z5>t>p8fNZW;lB6D!}ig_4qN&#(7D|-lGkXnS+5dzg?jV&JXDA%aSE2X^>~e*wDZd7
zrXT=4<e(O7fY>|~dYue_f;9%X?9jJg1BN9Gcv~aTHa~g~=Vy?9>6|!`h2%vuN!T#5
zM+(~FV<|S$Q@N>15lJQwMsALy6umlDp=T;8U(Bq+^#<E9j3M)5jg7p5TA|^4JY>5$
z+}6%A>Sm9L<2`_U!Y;)$9`tKgs5*Ghefpc@>A#kInv2VTBzcRzlD8_U0m!!2gxfpw
zj`Wl|KfaDMrqSZRfhv^tI6rdTkW3ZCN=ox(UelfgQit&w=KHZ_@Km^w*ewTAILCR~
z>3ks=Pl^2TU{XEAwYUi~5*U3QHxe&<Km|wpxpKTtOk*!gsI(M;YdzNHdzDY560cEf
z(=;sN?HTuM-jPBRP>r~mzZd;mAxoNb7oQ+gbl>WAy4>QArwY}5gm_GpW}`Kmdhfa4
zPg4wOJ#{E3Sbf@Yz<kgdd&oUhsIYFmLX838y8lR)inKu=>GH`#Ci|(w#xSAJ8G>x2
zIiE=*(f|qNnV7==b=Rs+1}XzLX3>>O#CLNMwz-XJ#dO&<PWZ`UwJ=>QZP7mTJ2KMx
z)ULyNv*@3S=26>mmeekZ-XD@AX1}Sr;l~Vq2}GNDH$VZbI{3OVjb(7J!m;&nzSwzk
zR}gjS)3~V9z{Bh+uV?vu<sDG4_NdWlwq1$uMm$j_D*4_?-Z~3U&NA?)Bupi@adl}t
zk9Q>zn@}}VOQa6XYOC1DB@Nv%;<>I__mnG^zY(IsyeGY0j&99m8QTTFK64<DTy5b!
ze`QYX>>|TG>5T)2(!q^Y*AaYF=TK$IeDTwgVzrtEN3-2%jn-A57hK_H-Aol#{eWf-
z4eL0c?fFBOkM#M&A+Nn*tt**6>r03rnlugOhRV0~_CBKP@^GB-=^lzp%_Guj{GB{@
zQAi!EJv+;{;Fg6KZn01-s{Tj$g~N-iKlaiU9;3xiS^i7qPpddN{5A_X+Kzo>V@3Qp
z44VvPD?CO~^bi75fL}>o)JEv0nint+<?~hyvA0jpu+Dyz<q9j5PjYU7V}TFEgojMa
zfnL5hpE*x<_zjy#Gp(M7IJ3%GL}~+q%=Hn^Xi#*hBVkK<lqK1zr5>geN_t?5jy<G5
zrL-@#+=#LC_=5qEjt%<|MK27ox@P+Zy@F;vt1s4xTmB_6P61ZB6yhE3=23^LgFvu;
zM%GYNl!o|z=-Afy^U82W1?Z!2I_F9-|AhEQPIuT#uv>X%R9>1#<iNB<HaOphk90Tk
zXe<&w6b~LzP?Y;|YUtoN6<&9AK2p>N&B6bb%j9bRdQ)@uJF_tA0Pp5FWv8QzTD+W5
ztIuCjuL<&Ay>+$DWHU}Clp)T0Xa(0dH23oRAOy<16ch)v#n83Ak^d$Rj4ki9bC>iP
zXQqDsiLfGj75b23FL{>ERIgK3+wmdA6D&hjZ8`vZmAju#-{wom3|36)R}!!Cy%Izh
z>a>H{bgo%NeAr0q$_ScET2t1LzBHDkz8nK3e<<q6vzmy#Pq1f$xgB|lU_~iNg%=Uv
zdCrcEQVEZCW1?>*#DCgCDm0sX2qfqDQ*hBpcNr1$en?UeYqkbil_5*YhJbOgEO*qC
z_?grVuXX@X;gx{%uU=-(QOr|e;dNm+uKS!JQ<zDMsy`c!t8*VS!q1EsNu2H96$Z0d
za?nmb^VH@`2bH`XhWm)@X4JQB-^;I-_a_XH#m|I*BZ^+RB&UG&m+}BL=+LYn1~fDu
zlO?Zp{Pv=Rwtz6i!T~q}a_>qfO}iypL8e^Ydy7SZ^a|4y<t@MU)bcgffX0Eik7H3U
zV!d+vmLgR;vCM)a(Ij&inUe*pYV$=z@}DsrhL5=j^(178=3Ee_4rB%pUY0E5mJ=B^
z{Zho7D>dWZCIl3-&(_;o1VFRHgo;$jFahQO!~T_)QF5ewN}j@y_*hslAw_kB)9jv(
z3EB9rv11S$3`HeZ_%yM~Q@)RKzza?3uH~)6=w!5{vf@EhTao&dkSD>4QU$)KXQtQ3
z6-IK;31?USWwOrv%rb6TSFKSjo>|^lD!yaTN@imez+FHAFCo~3GIYCDoxO$*^@69q
zI?nXr*;+f5BV&(jw#Ag{j&n#FvJrc^BipBC<Q9XXDIuYr`K`n@TceodSZ7$xMT|Dq
z{z^hr3Ar${@3OHYM6@xdgM<1jZX9!ke9&9E;u^f3tHPB7c#s~Wn*P#|w6)MuG$s(a
zw~XE67;!mBla9B~Fny4YR7cPEhz6S~feuxl-&<(6f&H!KQJk(lfD8Jy+1lM2g5JHu
ztIk_`i5+4Jq**ockOL1oX5sFoKVW(aV`=JlJRn*g0AxC{XQ3or8#cicxl41pNy9VS
zl`DVq*?je1O>c^#%7*__Smt#Ls?S-~V@wQmhm7i=&q&ASFsi_?kld~a+ME5v!Z@`Y
z_b9*TtBp;(>@Gn`Ch25(6?I2sj5ZN*4%Cv1Fx@Gdy5KWMt2TLqsej=DRuS??w9b0l
z_lh@6q+-dIqi1udn#jTVhC-~an~PD%g(38cTOm*FIvfhv0AsH+^~JJ4Fo*66g7qMM
z^t0f?QgX?k%7*HiqYDZ2q%LGZ#M7s}XH1p$;UM|Z`8(`XQSYAYs6}l0mpEQEUd0#v
zz-PMQlzh&xTUO#`btYq8|Ml~y!dKMpn%#@4i%Ml~kt!9YI{J$fkex3Q(L27}p<eB1
z><@>qR;sTm%{-uwrH|4A={#(-*A&C@#5QK=Zxws`isCK*mE!5D<x?`$Xl99crYgbP
zo@}%zSk|^rf3NzuLa()mb)Gs?ck$H)(O3J;xBeSbMP`n1c8}pj=J2;RcW^MPZ=xqs
z{s!&?ynZ-ab0B!m(^Qkqg#mw)Q~JV#lSEsdTRWH@#Yjt%dEu=~#wCh+R^#<M7cB9b
zRY>;VfD>e?(;al3y~zBLc!$-GAYtK0>vGLdZ*4t4W+8B?g4_diro#CekXy7yj+>Uu
zhfySAa9vMPXisKPUYu2dfKz^4C+{-09CQb>CP0ki&M1_{NV!%^UEih*^y1Ca*%#bj
zb3@NGv5%5mhLJ7{l8~Vj$Im!L7lBlEYx0vCT3}p(oL#gx^+mRT2$s9?QdeE@BOkOO
zE3g-^PXt@sv?W7>Qd_}79-Sh<{J+9K!YT;sqoh9M^|ie5BNHq>-fg32BbA&pE4p{c
z-~5B3V0ubgQya#K3BA2f`hA7UE$fzb$A!tm&&)L>5$D+5a+bpzE-~?2(AC$Ii0cd{
zTW#&FqHWbahvc%m*&){KIwWo@RHreeQqGC#I`4F>DJik}+V;%_&wsMFAty7SG+js`
z&?|fJW@ghkeXN%`Pii0omW@g<ud_iAv(QONqr=Cq9DHcFCDek+j0#!N)y5(jeIM1L
z7E%w;g}2O}U%uO(*1V7(7DfI}KZzw63P_xAe57{HXXb7hIoe7myX=<4Jw1Bs8eU*r
znw%)=G9VCNq_G>84Yc=0yWbi4$K_l<W_`7A0lKcQEW*psauhulEtFDjxM$K7=&*t{
zg_ykN@Tlk2EdASGc<!CQDr~^UN#9nlU7t+q=@b3xB90lMpVY<RBJC5_`xU6ZhT)#p
z>?3`c6_1ZP2M?2zqcF!lh!La^oIv@G2<MkkS=QAWoay9Qiexiv*qYUH#y2Jp;5Pv)
z{FR;~5f@5;<<rw8L;i=h`2B_-<-Axgldraie-wA~icv|rmtd2IqV#jjmN_!r7!u6V
zHu;OZe2njtUrx3xm@u<*&~SB`a9fG@I(hl$3&^A7mmL+KWNTkdXrg(f<jQts7fuBZ
zp+)nNMFR=L7sy>+U(nRC5ii2mzL;_!oNiv2&-X_r^R-!cQ*JZrG>tiWagLl;G(z|r
z=;lTAu1QXGA4if%CES|UBi6_JNEy+VH$1W}Mk^8r`9?7Q7{QXh9GN7;m-Sfe?i*sK
zxzGVt7Ef?$WvR)O)C+C~;btbGVrLzqznSb}7uaiJ>cu=V2@7@u+q&K5@~+q@7hre>
zeH32c?85NL;v*}cuCltjP%M3{1J(MV)w_CHwvZVh%N64oW$!OyqQ}@I;UY}hWGJtq
z<K`2IS+U3vRfO2~r{Uc@-%Fop8uYDwkZ<@+En(Z!vFZ^V3ul8i{?dTX_{Yt6?T!`#
z&cYr`i#_GH4~!{oCm+aVNkYouBZX>XqZ;eDJF4Pw#Sg<Mw#i9WadErLFDW;R-!EZq
zcEk5lG%f>+j%|{p29^5P5TW(X{6)-TM~iMz@o0v0^SU}kM8HH-pDW~4vE)ZnB0)S*
z=Q`f_Xpz!6Bk=i{1JJD#%OJDg`05rKw0davC>cKRlnjaZ98G%Zd|V=2O&tPM4-9)D
z2Rg)OKI$E?HKd^WGeT`^9<tQk;l_diEN>rcNi3#|Nl#8<bWr>c&KFtApr@0<bk306
z8imNzjcY#THPo&i*<Q5KP-Z|tjO~E9^@_z(%b4Ec*-m`lG2gt?x?BiJ)()4Thg$&>
zgGGnlYiCz|A7&#LnR+~W7N>TwCUX;MP1lWARzSf<<yKML5x7RohW%Zf<LBNX2T)ev
zixe1Ryq}YiE(u|vU9~F%qo1BikcjUuvAMD<_9}<+bb~jZJwRRlte+K<1P^F5tmrVv
zR#t)WG{GhV?qZz?ybnp!<pNO|Djry}N_kf`Tw8tr!=>hHL$dnoR|cFfXkctk$v5hU
z)=dx6CZvlHG+$Ku?$Q!Y(e3))Bk7f=T@+@6e{^FI@j#~SNwf^#8U8jXLway2XfdyK
zNVinTAzZU`m#?kEyEZERO8EfqZobhv<EPYJHvhVn--+2ZYe;)@fW4s*AdapYu9(4;
zqbPeF?9`ez8@b>$$RH3|v7l4a-jJ_jToNfCrxN}MrJz&YY6gzZah*z8LXd-MMo~C0
zxu%#)n>?_J4>;e>-n2nQw+>6f7}huYtpN35|K{rOq-?Uy6;{tSVwnhHddb;>?cSy+
zJ}^j@D#Q&n_{gUzku;lWV+|#0W@Y~HGN=ZwYuaCa*Ip?(7K6Tvx9y$!%1o7?ZuKxX
zVJ?2i^zx(yLm?6Sow2;odU7vap1!6KT2cvhhqMyE)xbEmAIkf|v`!oWx=~ohg;h^G
z?Wj44V9(-fJUyD)yRVCx-dI_2q<u5c>N85SJybkF^%n(w3ww5x=K_A57>W_vP9^7Y
z>04Zfp`vXk)o|;$6|MP&@Vt!fWFJz@ylyL7O$fwGgxCMQ%BAE3dR%D7HQ<Q@*s(Jb
zeS@k@7}T7oiukl~X4!V<?nqU&w^n?u8S;)%Yc&nHs8+>eRT=G2(vEFdr$zDK>xcoy
z+j3#p!k9{(tp$lVeiiRlty><M;gc|hB+b2N?I#ZJ8UR)Od1i5YZiswSJgJ70&PLOk
zh3i)Owp=Vyr#{N372XHe`?zvx`AXD+k_v(rRI_^jQ!CKpeRG+q%+dR4TaTsA9R!_t
z%t1kq!9`bv*zxxI72Yg_PwsRGYea5G0=ds~qcPC<8q8O*(l8B9Q}lTKItTzJ*CjxQ
zt2~sF9pp+!3A(&X<g?#VxhsMcM0T1v-fp~Ewqxk4Nn2Ps9Y4@9ezef~w1Y%59JL==
zMGTHT>l#BfQi|XuT}l~r7+(*;)7W$uUXlS4^`@WP4u(VA>xuAZIEmt`DzzyHo{e<h
zY;;a*2dDOxF)(eao{d2D7i`lSb>(NF)KR%~L6)U12hJOU>@TdfmLqNZN)x5B3TP$x
z;>l85{<S#BmN5QGL()duqWxOAkU)cAG!;~;Nq61PRgXkM<bFDgJ#0?rt>pQX)XfiS
zih_@bVU&)juE`(qMYi>x*R=<u^GSsOSqu1n)++NJD#4B$5#CHX;AAjS3B!4TBhJ?E
zz(y?{6p}Vu;oe0HSFae){!DFqtJ#2>%IkaChz<q%=$R<)E%iKUSv8A_*ns!|0uOAu
zn0kDMlB5UP>28)Q5KDQCU_y0bsUT{^CY*$%Iwa{wJlOd#og5{cy3&wL+*Z$8tyWJk
zU7P9_lx=>uejX;FPy5WC6=N;IzbV=du7T^9Jx}MRf8YY=Pd%v4)8DtA!TV09R!)Q~
zj2A7a*sL7V-E}0aN#$lnW+#;~TmMCKwxTBLve5I(N4Z><?P6^NqAUAN?v|cYm}!iz
zxM@@$Hp8(pgvsn)JEob-;(YJHQ?6k-LdrZk<<qI&`TRaUw7W>?2-|_t4X6umB73BU
zycQ7dZWuvyHb|-d&3Icgy$M6vtkhY-h43^DimvvV#|c$JPQjekd{VqdWURJ!?RZ2=
zlSpy)<3rTxRF-}CvhQu~Vm?&&Og7bbx!EZ7Y=Fm<s{3;ePsgEz-O(umeJbPcc+?p@
zl&gHEI@H6cTN&k$lYo3s3Yi$JM;?zoxya;Z51k&Rn)`slzDqvqu5GB;CcL{^dP(Zr
zbma9sm|U7uj{Cc#?Oxo5zUuSvDOm%nR`nXVEm{z|1Q~!zbPRLgg~gO?Q+3O6oZi@0
zC26(_d&JkN+U&%jr#%#L@4~`3grCsC>z<zSHf4)QLfVk9J7;}-g^1q!t%2&;E(7pg
zVWI`JNk7^|y)Rr_>~^mecN#ZW8iyAGT(P=ds|;)Pw*{LC56jD8*@v{NeBa%U|5usZ
z04MRThqY=gBFNn8@zKfMf<u27*4aDj(0<`@upcR%#*}XtK6H2A!V?xG_mc#ShTbBd
zqR9)yaVLFY%5(A7t)jzqsU_0vOlA-Q5($^<J21<L792*$)7W1Z^ftOaI~KMXip0Y3
zf-@2j7<*ER(QF}MWH7X?r7978!JrQ^9P`I2oXdLA*e#@R{B|l+Gt&TKB^b-tt0BsN
zRq?O(zH4N#5R{b>Wi(Y2(HW`PX=<f5INiawN!6t6%wu`mCwap)h=Q1{+u*+#&`G36
zhcpJpf8V6Dqi~uiy7BtPvZU)}_a+HI3Q$8tMQUi(LW3%Qa`0X`w@x<=WQ0#cTE%62
z6K7`58$HP;iST%t9B@Y)naK|q*5+n#_~&TYEQfa_xf8ix1Vk}XePlmzYYE;b{KPbl
zLbu4Rvz(H%%`-fua2fq&W10t_aYdTUB$t-+TG}67))@tZZAL;y2HI@nf)UC27IYFX
z$>G{RPBvy6q`9(Nxo)s>V>kYk<=2Rgrzs^{cU?#on?ZwPC0(SpI`$d|Q>|@1W)_BV
z!Mn~b>lsQk+%?R@GAU#`yKe(_Ew|1cptC4Wf5qhq?2Yh|%4OL9=5KDqpNssF<=ZBN
z9QX3@X+odn-%-Vnj{1UMqlztn%2#4jHcp>BL?Zv27j<~jNMU>*fcRKG)re2b$R0?^
zGO@cmr8Fl41;M&q?u4XVfvnkLF*U|iq&B*x=vjI4>{vc4w>3y&we`+Bl|M}aniitV
zuCX=2o5z!F3#QusbT-xIo2?jUGy2kD(ecpE*5dz~-;xC`OFE;)ima~yyE5-hrBCli
zku<Aua??ap$IFJoIG3486_}Hu=Yzo4_z^yREydwNXX5uF)Z|<H0NL$y{rLA^OV{)m
zz4Ed=4%Kz{40qDe*%UsRI+1<X07cmw{&9ZoibeySD@@+~MY4*+y?-YCM3^`gH)X(X
z!54f?4TH;np)H*Mg|@ITGyacxoQZ&qg_He%PXE7^oSlV@^?#4HfXgFmuF?W23ero4
ziYs^^aZz-?QpspSKn5l7L$Laxi0~JM`9UZaQwJyua6yQt5{Y=IR6vQJ#(Ml?Tt2(m
zA9sw%I8Cn|UbsB3nfE(QjHn8(f?R?u^Ayw(!zk3@$|`J$U_k<hMf&v^0q}D%kuKqW
z1A*SA_AzWput;BfuPQJ&P$EZ{^3=OBd9gs3?(M+^hx`#JIm4Q8Fkn!C1C4)Ogbk1U
zEaY{IkmYqz$^u3Ey8*o_%w_>#7S=%{`HpW%<M7D<g2pB!p?~4PsXY4_#W7GomqHD+
z_we43_2pgjD6v9<41s@=1AbGW(Jm>$f!^QW!v%S|MCLI}K>_vi@R2ToSo}Q)8GG!=
z_vkzLfy=<Z*clZ7@aLvL&%eRhM2PEr<Y92az_;QVI3}?1_W~UP4E^33{Yy4H_=V&+
zE@B&Z@WJ)>bk%@^!UTULUe%szg~gX{^(bIMUhaYlfZ`}j34qSwz_BdO!VSLb2ly!_
z&Qpn(wy~pQLq7!LZ{)?g25$%Q`C*L>2~cKl>0NdhU>1-sX)mIkeuojBs9}E+mK9_x
z%;4cUpe|wGRC2M9fJ66fc>ta|t8FNn@S$E!qxlQ65PB&%-rWLh3gdKm?W~*sv5g3O
zd}+)$&`BVH{R<6x1Y6J$uc7UJKBVl>cR{~wf<FCkAA$BcW^x2Ta)5YI!hQFA09ouy
z=x{>@UVHs*zt(TBZ~*=Q*>MasbBH%l!hk=CxbTCBzAtYxhH*cAfAqTU2>9=6XZfhL
zx>~a4C|>=3+kS26#HR&UmxSfc*!O*<si@3+31o$(u_%bhAi)F)3=H_qzlh#;HGcMg
z*<W|d5K-RMtoMG6mP85X_}BSR?p$BlVRw63`hQp3AOL>70|2pV4LRa|`5IaQr2_Qd
z=*NCr-+V*Ac3FO@Cx3-rezjvmVmm)=sekDofAxbs2)2QL8V*&i0*B>-c(M4<%YI#&
z{eCeGyxWi$Mh|<dH`FP7n35D`Zhrp~EocFs!@DvG8tBvcf;_px-<@yAQ?wy&V836c
z14i)o?fo|Fo5G%i_)2!&XMb1+9EzRqid7WqnU(4?lao<`1{pBS0RZ&ezh#pkfcL|f
zB5(b+*7y@BpkPJ910I}%0wbEi?5XjQ4*L^;AkiCfe}MY|2&kjOeEAaUaUX>Kn9>sh
zgMbb&`uh2z0zdZa-2s1S(Y#6i?)>_|?%DZrz%X#eglu=6ew^%d4mudK@x><tz9aUa
zMwS8*wMj@9&N8x^H}qXb-EmI&J2=Q;U!RgX|9BTu)-Z34Y*H<NKTC|jk_(i+gp&<Y
z!}^8iSKfl_T2ZLEIK(wZrcqXdWxIo>hqfbjcP~{9rd}Tt3t1;k+MTWDpX;t`Fm0oA
z_84@1XiBCYG#wR=6>iqE=?52jamLJ!rnO7d5#bmGJazuC6n=seKWPM_|K$o7^xK;j
zJ9y`~bgyqKtnW)tH8I$srRkzsnZgnNeDWS#wWqqI<dV*{6M1iRFJ$8doj=Icg0Ny0
z8bKc~wgn|XHl{-946mu?qW{{mDk-}ZfwUA&mMQL1=Rv0H);f`(Xzy@=+L^uRk?M@b
zKBdU7bsyaJ`ViE7uA{o1C{T7PgPUblb$|cHmTPligfI1KM=5Dzc~w`Os1XS$Yl|vp
zDSNII<U%C)Ka8DIlPJ-mCfl}c?Y4H?wr$(CZQHhO+qP}Hdr!}un3?-<9_~Z^gNlk+
zE9=XImtpD0ITHMly0IKPSfTc_DI*C4GB(}$)2^6M7o%<d?9GB^u)oc}Y1gU6w}*v{
zd@0J$@^HH>Aa6rEOdM1b;&U0D+sy(w?z&wAO<ui06;kq?{VLSY)}AOA0S*dmh$b%%
zlrH|q5WXElLk*lQ3~CI&y}7h%goM+IyTM2Kvk12d-Bv<YIG$*&Hcd;~0Ub@K<I8Bc
zU=edWsV&=$W#l9OD%y}rVFdKXdriqkDv+yZRgsP`FFw(2XixKXe^0#(vH1N(VtzS1
z2u-#~(;z$Wa%SzOK~U1exzgj@8jyMYWz`~58%h-wcxZ6tJf#Do5U+6!GT|d2R?c%L
zo35$0%)@Ib3xk+^=rC#=PC;3%N*WQ62Px??UHHfP5%d|_aS%+jb*9mP5ZMYJ-H{r7
zE1@`Dq-k-N@~%F+20V5PRB9_the5Ivfda05pmLhkZvXGUHL=W61)*FXbGz-WU2DIN
z>0U=g^Ox;2C$PZhte7Opvzf}_Kkn$q<qz%tJV@*tCOIHYhi$gs)WjG&Mvf!RqKS>p
z<us*<z*$R;KJNG?Pa32MtK%7w1aY~XRrUcxUfJ_rF2JjB?@I+o%z0=?dg100DpX8O
zG8788h`3U3)V=XTv!<#`5J*h6<%URQmImHG&%d=;#(!HkDWfvn&;>ccPmJ81;#nAJ
z>-sDmD^jzD@J{D?>uH2CxA)*Lb`^Zvklt{yP&Gea5noZ;i;xb4opjEJJrl{d0A|lS
zj?%t0NV+f6G?N<EzQzMN_-M-NbYh*cqbOgcN}CcHtR$h~#5q^jT91>M^`8ks?n7+z
z@x1$=LAhqOY65B`bT~UN*V|%(c<DrABp&8W$_z5q3(z;q8NZjrU-ExA)r-YsToBWH
zKUP@cT>m{TimD<zfDX^!qD|z4XhuW%+Y5jdjG8XzXF~<b%d;Le4q9|JIm@hV0zz!|
zfLCno<doe#Sk>D>u*-a@>3lm)G+PDA8Tc-3>;+=@?LGI{gyrd~bsxMJcURJ_w7M%)
zG!TayORCx409J%0(?N4FLFJXi#X$X7sb237megl6%#*s{Bt9M)xBG^LDq)Y)IC5&c
z64m(gJ-+$n8q>8cKN_1co5MS*aHeuvaAqhKXknMH?hH3&@;Hmt)feh_ySWf0*=CMI
zUpIB>7hQZ9NhB&^(t^Y_9~j$n{V9KErce5E3e6z9Tm<V}sdywG`Xk*L=LM<VHzSPU
zQrt>6$RhqV$u7Kcy+`;Y9-~109?Q9u!PN5OzMaruo3ji;%nhCISwy}bO1Ooe;jaiI
zlYQj$(vm)SXQWl5-r&8&Y~Yu@?4!q8&v)SwSqyOrXY!}RfZ$zDzdb2L@_-}Vq?Cwk
zmrRVZJB*`RQx@Q6Ri!WMSDRTLfncIU3fRJuolfJ^yNn)}!{J+fQH+CeI#>X{XElqf
za6*#p0z2X!uDMo@fU@hxGw3_gXO%2FcO3u}tLc<hHJV9Ff%G<qk0|9VmxE|iqT%Y0
zyh<WEOpGkAENO^;M2>w~($JX$Wks@I(XBgK>$w&b8cfdmIoG~v-htudC>=+UZ8i1S
zSW4!m_>RnqBdIN(VN^@t!nNXy;1Z~FN2NXuTaXYSQ;s@(oD8ef=<uScC1T=^m1-x5
zMFN#t<Ac!rhr{OJR-d3>;g+R!VpeQ#H120b8>h-wNK;@b>u-05UZD)aph7sHRu!_!
zbbRr(XO8u=VJncynEL6QCNq?%pJdyBW108GrN&}l$_i2+ZgZ2ue3JE59m}?&$#eY3
zwPZKSe2ac8LiVWTiSFb`f`qAd@pS&nTuuu9=N1uLPIWv@$+7@TeBB|HA8`9$7tz6`
zbIx6mvzBI^Zem>J7LqK5T{E`@d-=D=7RMEuR*PBzAnueGiR6Xld-#AFI?;=Bt+LT(
zLtD8A9UFy=ghvF_Xb|_}hh(=7U}XV*D<zgNIw~Fx`k5sWi|wl9ZBtrVy!Vey4+Nh0
zqAd;NqY*3ok|mbWou>Hp_$SD9op$0;(xP%K%GOsA!LUs~G<xO%57$HgXGQoFCF81u
zbG^Bfe!Y~@rZ_M6aCh)Pv~b~;`MIvQ*F59_E7@3PdRIZ8MQif&<_uYB>TTC48Yb5S
zVd%Q(+P^%^poSwBKsy@2MyJXQ#3dEjp(AfKPNFzq4%fS@OS!CYn8~qB7u)jKPULDk
zi-k;&R}CJw<&92!<4DHvnSXs~Te(H|GM<df&17t@FxccW(s89bcPxqjkXyQYVw_<K
znkDd@P8oIzn(ZrR*Bff9Cbcagd{i}~|7A?5mU!~=CimlH%CI_&riztYHBfDp-e99G
z|2MwvchsC<w3#o0H8=>gV$S=k%8_M!OvESW?_1?B-Dp{np<89_TV6gZQ6_i9)hTYs
z%MQ(oj+d%O3DAvH%Ul5da;eRkUy#2rnTOH&%;6M)rPbU;;3au@AeBK~rf58^Q<52<
zhv0FeFwaNQ6BWb8vCOCEAVM=syK0uuQgd6a<RYR=iRMIh`-fAwjlA%f9@#3_@0sl6
zV#ynO#MrhaQGQm|(<%1Q=9b-pR=SPB%3szuhi>Oi^9Ac6)@)(I6d<WC)gyc?X3u%6
zP1P!nqRpPSyxt?qR&;Vynp)<8fDn9xE%i6CBV4H|%Kj=bENvZn<R{3qB@3AWIYvf%
z=>k?jfTf1~oL&7D{5D)z<4dd*c{`3GDiUGarta_(eG31etZSo^1+&SpTCLq#_CqHN
z)aZ4AN`jxVSyMzZPDgdK@XS4eFPki6@aPINp*9wkt%sqa-sBI~y6%-;=p6euuajW{
z@{@s0pM=4SB|F56={RrWEccktS^t!oL_yyg<pY;X067Ii%)`mH|1c*RLP2u*R_HjK
zr=JBWsnayT#ayuWYxbF0>HAw$h+J(h+n|)nMT1{BDJ;CGcE5a$RgY`l5bLDb4J%hn
zB(sl@N1GG|f00O8KNU~_sA>cD`K@7Nw4n%cy)FD&?9dudx^%uki*Tz1vEOTk=Xye*
z#1$tyrc3%M(#6a+*t@Q|mK%VaBx68&>6Hq|f#_Dj3<#m_khC(Hj?Sg*_s%Uh)nkm7
znVvaW0wpQtdy~yWWX98GPNhXDtf(=sn~Kh@Y-`@K>{E0fvEHnKlK8Hmb7o!4cmr}i
zB;2q3`UM4cgm)Z>Sc;>d94tNF!Yp|d^MQYTokE9*VU+6R`dk`K%ae0Cima2TbM}g5
zcSA)y@?NON!l&*NX^(EYO~JClr<uQji*B9X(ZKBV1)N>@iHdGQLIWB*;}Kr9r`pcg
zeHa0ao&j?j(W`G~qxZnUyu72j(zjn|?X~$y5X)IK;BIEw!%|$teZ@QY<*86<p=o>O
z9%f{aD~Ae}w&aOyA~_Sv0Jo6@(I~_);)Z!kr}2w<&_WlM82{?C?HXBp4ct-M)%XEL
z5$T8%gIN?e5LQBb&>Z_pSye}-VoM{5&Ut6<Z&8R}On&rgOAR-M^nvT#x%YFpu*wsE
zs<@7=JV4M=a?@TWC#7=jL+K#Hf!UpfnK;{H<$c@_Qf>%FHk2xFGrvjLl}&3+c5u_q
zFzL@l?6i%>C1cu5r&MM|-dd$L$&1meWG@Vzwqc%C7doW9jjId5ijUKmOZy0UaMy{^
z{1&A3%Sw+@HfsYt5}Q=5X>|wU$y>5Vjtc>gzj|KW=qXN4D-V-w2dx`b>Plb{Q(E*<
z02ABCes$-Hax=n3s%PkU%fjDs$+G89)A7pbrH9{7J2-Y7f(%}$>X4atD982t@n}W`
z19jbu`?V;U^%q2kq;e7h*6{EV9h5+kN=K1Z#Y)ucyF`u~6O@||&KLV-ucuwU@mP_`
z!}xK|4y3-*RiJst@PUD_U&!4maPj#@kg4|d4N;`m&l1cs+9QwU?K6btltQCoK~ett
zcY<HCe#*_GndrOl)4tu-atF~`VU*b!yB?~c(Xq1PWdB@<UT4BzLLY3MICJXbkF=#w
z7tRljzsd%HFE<g%IrOm~tB$*2JNJzon8R{d#rc}LXS7@>k**uJ+?rOEoY>|q8#2Zg
z@pz4$us(Co(!2TQ3kq%xrvTCzYIjjt4jX+e4QF4EkdVz4=Qh8tXt!H2$Jb!#R|49L
zvP5+$48~Mb7wu6a(dAQ)cTBNsL|OJObAmr*uOw-Tr$;-f!-$AajwerigMd_xD9W44
zM`q|}Z{MrPd9;z*&i%lKNM@~+<c#3xk`9jx1Ca(E3!ZSn@GUk#Nt857rXIc>!jbCc
z(~CUfb4S~A=~rv`(h`5GROV2j3JuT~(tZdf`b$6Esa_8fhf!dkmr~WCFDH}6dFWjX
zH?|TP64^!qg8nw5$4y<J_hAO(PI(ORdrYWET}ek1%1qx6*s{)KupR9<p`Eg8uXkCz
z>mi^PecSA|^is_3LN|@T5PI5a+(uK=?>Rq7L4Kd9dtSC2@}!lL*Q-ey8ori2h^(GU
zsz}|}c7_H)dpbUF)c8QyGEub=F3ugMe+{6YWotnYK_p(sk<0TCr;uWIGt^v|!4f6Y
zu*HgKpE_Ss2h&e^!1HQIMrhrkr|lIz8ddqnXg97~>|;5YcRab&@-CwciZMHaN(;-}
z7;;zd3SCuxjPShT7@>vZbx;}*#&o*IH^^xb@2+#)xDs%nTyC$MG!P^VAff`8V^Zd3
z^KV_C#@*34Q65O7S=%fVgl9`_Z*?~|ZywP@rlI3MTC+!WWBN<38yUjw%WU$+{A2}9
z+dMH@wzJc5eY4QOUueq}3UD4kxYc@YLT-%WR;vc!bx3VaX>IQtKeX9g8z6{yBsMjK
zluD>8N(k47R5n5j`2x0fj<|LEojJ);Z1lJ}(kFW;wBIXKs_<X7tZQf7@@>FHON8F;
zKaU&d^!<?qvzQTWXjaoVW3cL=_j5Y1pIDpR`lH%Q+V`iFVtd@E_lQy$--U3s(AQ$I
z+jaWX1rcTvW04l<;z~LGsYDMQT?VskE=am6rXhc~*|4@jC`X(U9=UE5oDn)1nuc$=
zR?dZ-za#tv-UUTD*%i04Htth%$FJ|R2<=f&)F}FS#eud{Fq#=>>A<Q`ERd;|TH~LT
z7x5jV&InW2-VCrsFP-yuz*q4WtZPl`$I-+y1QPcs*W)_cIeBcnuZGfew7fFEJ7;V?
z?$+k?nJXSUj!^d>T6y@aj^j6zJQRt0VgkE|exgi-Z|pDMtjNCp)51jp*zlsD=WDU|
zRt36wRAIXG9{g^MLfS*VsFzK0QZ?(Q0Gj5Acan+Vr_$!IIv>rczWlY7P(!1ye$ktJ
zUXGF-enF*&nX51T@B@l0ImDat!@XD|JJ0z>Ml+)>7GR_GX1(zfN*eC?NzI4N!J4CY
zjZ_cLh{Ig7%V6x-T%HMgM73T^dU`o#Z|8C$RevC@Xqr0R0wgDTYLdi6FHywm-t>2?
zKWq$VcEcNa`!1`qZPAuoj!Gl=*yc);ij2*ffVP4v^H#in{P@#{7$Unm5WtjF<9e+`
zyq8wet|CDfZrRG@1)2|y$+XE30%i=;g48i^YTY8@o~a+=#1Z15in_Vyrmv*ll3&Wt
zGD;M0IGzXPXjP1}o2k5zj#^7X1tPXYM=-C3Jz8_rlsZ$G+0L<BSRHAQhpN(KJo_To
zH`+FT?>E4X9l2?f$H<2Jd<Z;n0&jTbvI@1tYXH^kF%l`7g%CDMZdL0s!rPAmdDN|f
zpw)aHvu$J=fS$6DymL`3#5=+lrqdFu7ojbU!)TC=sGZBu-9hqUP%8*5zH>5q2DMH$
z*q2zVpT9#vSIAyYUq171GiW#vAzV|YlS^Qan{LCngMgG2ex-n|Y8Tf9osI&F>JHI)
zLvR$Lar=Khk!pXqG|l_lM+=bY%#9Tg>A2ZaFnTy{XkmkWcxWOE4oo*+kYgL(6HE-#
z+l#igvwT#Ew)1CSo>e5|5^RqYhLSLf)CqEk9<O{-emA)FWlbX8nHQ91IRK3L#OFyp
z6EL%LR<&U~Cee3Lbdv7a6U}^k*ft|9tBk4UbAQ|Lii{S=M4xh)k!mb@%jahLEZgaT
z72kDSf&B}oW(ABf9ee6o++qn?%cDe%Q9&}9$@omfm4V7tdW#s=;f;rUJX%&-$OM=K
zN^)9nPdYf-?$?2jN50dp6OHmO0mZ0Uj*b%!2j9G(8$KI&3*0pRDsWYmM6L=1z$|g;
z7H8CFimN|*b7C$Kh0f==7-&oOfJc}bORZ}GLh<BRgZN*rKN?H3-4ylCqT1pEPY?Ep
zNyVgEks_VV<n**uc1hL~+_Vjr4pa<j7ThW|j#CZx?q@&Eodtqc^<5aK%22zn?R~h?
zaUA^2BFVlYyEy^~pQ!XCTi-TYi0v?@0}ZM(GoT1W+!qfka8E)-?zC-RHX9F1D5dy2
zB~6msx}|)dH#Y?>y%~5{3sS@2|H()Uca1>Clr!7Hhn$SV?GVa<Z5xyx-<FHMcY~Y_
zlh}6Kh|I*`MqfQNNRH8UoN?PxPXDkO3|i|~Q!NRYJh5~2q+~|{bXlLR0SMWl?2OZ&
zYL`VtV7SL4z+Sd|oH4sGQ>1yQ-mat#+o3MH&6)Pr0org_CW9T##=rR(Nd>|WcUXR<
zJ-M=w?Ioi~Ef;)KNQsbwn?in&Ha@`)i7rb^=Or^)pv-A8K(e@Bf@A@mdhWWvvs%zc
zjHSM)@9+hielE!xw;--TWB%K+P^rq$(2HDS%wHw2tA7=x2Fh{8QXg73k2-9<bAOvj
z76Fck4CY1)h~(WEkKzn<?oa)Le@5P+;uYe-ea(@PwBY9T6=EY!&AtGo`+@*Nd+)XE
zvP*!t>bEwj0w1j)fMGPtsdyUZz{Y0psv<hagx)<QM_n@~UFTtVK}w=-AT7LM%k(nG
zxc<pYoYiZ0wz!v{qiHVF2a7PY+rh2r#JP*@qZ(%kp`E|U!=>GKdm@MDp(THbD4;~^
z+J*vn({;rY8tK_EM@LKg;Md>nq!j<h%9U~81(EQ0t$3yaf7P&nfOqG`GBV?$bRC0i
zfXXF}i(*ceQa!bG#l6Qji)Gx$;k9i|@oDDa<r)fa6#)-RI1aTJC;s|vEsNy#{?sgI
z=URoLc8M^mope_7==|<P{IlOa(?E{T-^V$4?99(rFkD1?eRPrul!orPq*jToiLR&p
zD*+Z`D(20GIKpkdM_G*<t|Kifu<kppM1mL0Aj>O<KXLT!gkq?|C`B4jDE|EM$lTQn
zEKAc?{p0L2HQx82Ds3~w0qu?lOTU81xr+^^h<=#+dIp1mt1I4cTtxkS>e~3ajK+#4
zu-JN@rBD`+mGa?2dlG%?CLjfKd~tjR0#-)0-TxFrhk<$4fE0~{?Xoywbe!bMG=6L@
zGw<%tRX94FknGmoFoR_Ivu4(Fmp6QB@N0MmZupIW!@qn(bZir%=2_Cz@sV7AwWS^P
znov^$&BQ0;<C$wGj!CPPSWnzapv8k>Km81u5qtSlbntbL%!&q96D)DgQ>L!4dPC9H
zgsxf8*|7dswx}6J?>OKO-C;t0QY2d#;YhZY)J(<iUzBpwy2cc05idpxa#YM)6%Eg+
znr^alk*1#FJ9CNALkCekfsGpZ?p23XD@~U2`}=%crJ>@eAiExHN;}vpb-iM;Dz$u@
zNJ1REF_EgVmZ>`sp6X5B$v7hU<Xc7*XpfAfXK^L4yn6OgfH{VAY-HPq(I^vP5{)<{
z8icu(v+jkCdzB#qOCrfVk;Fu<d*GY2;;`vZRjToWrnOK3zXXV!mS6Y?HE-3BPEDju
zc+t7{S^}@Gr-M|N*Cz@8H0dKBd_b<fRxU_8k=#XvD=a!wN}});5+~mGul8;u2y)S}
zRNJdPmgptlwK?8{Rq_|^|EPHz4T;!3eQ(6L1m=H0I-6u=(?|;3`)92VCL;z9%i5$)
zS9ZRQvSjEjlpe$&6N7W%RB-;q|E&7*#i@1m;xtd;$f)ghDU_8Ud)hwUn(imT$<zJe
zzRh_M+4^LHD$^;KC4MeoX$l)-iY|ob@!tnzl*qfr4m}U|pu{VQnOYXrR~^jthG-}b
zH#>Rv$iT86Vl22VZS-iZVy_dc7v!s^4C&Dbc9N@c@o?;PZLn7QYEa#m_s}OC<)I^Y
zA9N7ahN;k4@uIbFjrNKgZE`bG<vzN%+rYDv`Nu8AdSV1#BN6V_(?$>SE#gK=Cgp+=
z)46H*&2V$_51<Rs$mc%*S_X#y2x!^=JD~l`#PS~j?O!Ig|1qF-1651B-sAxSBFavH
zD{^#_Omzwri-83*1ZL^rEb2ro;s-oeQRpZV;ukP41`&$09r^6(eSQ6hKl+Nx8FSq}
zTY2-?Gjr+QQvY89f=xoJeo6?oi2p4hfRtNeq(=q-^5Y}qA&^7JO<qQb2=M<maIYTS
zZzDzlMEj197h$7^je@1vz@LxXj9}LX?27S!3<Q4&$RPjAKoH)GgJ_cgK#C1thRYWT
ze+K{vPJFM9ib%U-Bj*W@(lMi(3IK;d&c`Pp5Ou1`#<zoc1qQm_2dKe90ba+{K{N&i
zM$hM$r<e5Ft6(R_nI}h^@b#6GljFrQBgPYy`R)B{ARtFM2ABgU?zh3y<Lr~20I<e3
zy~DTgdaD8u1gH2N=m7xoyKl7l1DXMVf%@-@IfZd<!Ciszse)saSpqp}_1*2xWc1>?
z0r<j!6ZDbaxpwf*^CI)__Xb$=5d<|x!fs(hwSx2I(bMyZ3MaxJ2Oj{g^<DdLZ1lxJ
zICVvb!lIZMM!LK;J7fDrbm8@ZP2a)ul8nJ#1PDA3=GW!oy!)2$<2N#H$sq1u!GsjX
zz45-5{`Lt1=T2{?|CP4O*aeYqz1E_FK(z*b73rVe4A_E%c60<TC;z<V5q|m7d(uM@
z03{)yq9OwLX#?uf#R31D1q#`r-P0Y>rOycLt%V){1>j!<_!K16djjvFTNnX`;cIUX
z{PzC0cz281;|I_O2PFV#)&C;L_QShAPml578GX}>y#%cXCp0Mw0Pywx@i_rhP0tB}
zbMhVgS&R0_OHZ#TuX^+&_-<Pm05kx-H%UbSxR;Co3IqZIA_Qn)Km_p5_w@Y}<j3G2
z^m4QR&-%8nky5B20zmjK$z16xI$|vE#NHbdOO~In>YPa4GYpvB7x6z)K12eDZ?ZdI
zyZ~Lof4tZKrXG4H{`I;R9l!;CH#mN|y!l?S%*ds^;=?!PY|Edm&k5v_gZ%8)knQaP
zSA(_$c5wb{RmL?A%t3T-<JLIs0vhn*+uvnFDF=E6+B_GKCkWlu_^8A@!=k6asfy$i
z@ZE8pljqy>U7sricM#asj5|yDX7ry=e7^0NutONQIfa0V2m`X(+Oq1ppNHbB6$0o1
zI#X{3_WVv@`;`#H@Z}2vn8o}6Kn%eCGd27bF!(s33@px|fdLE3@mBZ30{z4A`R%Jf
za|~cYxr+Y4LKFbHVnAI4>@4c0`T5cN;m727Wa`fKzQ8!RIts=<)7j@kemDO(!vh9(
z_Yr&zvxA6HPTdQujk;HJWs~2IGGrw$*PID8{!k#IY<?l@f=h2%Et{)?T6UVciZD8%
zQxcV&e4VxN<i>h(dn99bW!0$o4anW-s<Q3T;C#4zP2f$Lh2}NqB20$qkbfr>jq+Jp
z$5_wg7%;kG(ykCUy?-g*E2BF+<`2>KVaj<(3?#{fMkLPOZVY=_jSMwJV6k`#A<3SY
z<eb}-*)ZD&zhhwemdqhaK2CdXbMaWdeSfaD1Ak)*hzetM|1Fp$8Z)Qx!lOTqC4pa%
zBRl3X6EUd!6P87(QbfwQn8YSpM`NfSN#mRQ2g^(r3&p{<X;lTLry7}l<47kKAw6;Y
zR-LDybz_X-Yed$ql$3qLzmz3V*uQxM?$C+tQ8F5#Di1v~0?|)#x7n%sZy*H~FVo_X
z*Ct9NHUg#5yZOURyR(){f?u9+28@)~-Jl|<yf#MRB*f6sb+HqcUsg)8mMX4f=D7W`
z_Yofa?@w&sbCipnf9?{iQ&w>Yx#PhhQf6V27W>0Xve!GkImM?hh)Qk6qT7>%<(;t}
z!)&N#g1&;%`Mv|ZthQfhmCHjNkf0N%AV&m-f<uZPLozZk(l=VCNCuAsO~k^+vUybL
zxqLNgI6j2PiiF9exgap=nBDCJ#ck>Qi)_AIbY@#KQ^H$pz`p|AQm{a^;c=@bo7VC3
zf{^p2JHt~op-dM0!3`WIL7{k~fU3tPf$>oJ4thp?x4F!}6!a){@t+aUvNyPK+iael
zlJXz-`MA7KCda#XWL}!2>6%9(6|aCDHuaUq`A_PQ)RYwi#4-;)0Vm9e9|5taV-nH0
zT65&Z7ROnE03VtD>__XNPgaXu)6woyX`?0q7!6%P?;{CZ&Nc<Ck$BZZ7DNFjL-a-@
zB5p{rgh0&nztiIoNWWpzt4Fsg33r}Q$7&jgUD7FO!^wD_?<Te`&p+~FJOO6wCkK^<
z`M%Dfdc6AYDv3Tdw{jJ9-Z=K%lmv%UWh;cKP{|~v-$|_73qhO5s}Ee6#h2GS_@5;2
zbtLOuUYk~<LNqh$dI4J0nqx)e<G$R$xnlLYfb74Y2Zz6CgMC{aFBL9)SFHqLP9@%2
zm0zaUbyBV>#RB~mXL!a1$ziHE+QduY$-Fy_2|}dI(FBl?Oz~j58#v=8Xbh9H85_#h
zs^0$YeEu<|SNA|zbwGJMHBIsVSk9%U%qC_L+u@rWV5W2qDLG7EvK{S7bHDd~oKf{&
zz*i~5L@uwonID|ucV&<9Os1%rXM9NC6p?lC{$A<zS$=Fq{3ug^8<e=@KzkjiDH){6
z5h1NiA4`4Z(oC!{^|0*XdJmMVw@xEk!jR9cKblYJO{Lyc%=J*E{M#yHa<uK8Q|JHO
zP*Ec~rM#Q5&`@6b^lIyIMpZ(Sq<4Dphkb7mVR}sc{s>+n`UuIDBVK-ZT|h7M;o`I-
zB`x_`JtuPgsMzH~(1J$>Cyyy#uJ$%Oib1g76YRHXckzs%8+{+aK=RwqJ7s9hh#Bzy
z;f_^>L_P_w-bKgIWL9^EI(BJX5+GI>D@t`<Kg8$4Rfl>K%Q(i=GuLyWr(8_nF5gYo
zmbTx|fJS~K$S6%wUqI#isI5dQ9YeJwk5t2hC>F-{sX`BJ5(Y5qewH8>)O2PW#Db{w
zH(<&wQ4b%m4K7DQ(IvV3<Raze39<SVk<mz?WbfjP-=TPzp3qPf!(LB+>~&+WON&Jb
zs-wd5q^n)lfaS?`r!@sMK#?sET#RUM2wm{%$VYVkb5%qv*!{0i!e#~{PU{D5<WUDb
z|I01?BN6!|lbV)@flHP8u~mxA(-eLB5L%Nd7U7yO<&k>YsvbW!mRf9B-y9NqdQ7FI
zu1@tU+|n{7Yh5Y?|1-b}B9=k5l9x_qrB(sd6^kBSg4C*5yF=3eL+Efa62~~4ax9J(
z)x9sZ0cQ0+$Cz|U+KE0?Hd{GP^X@R}9_-^&L>d-m9CfP5k+)<v1Zlgi0$@F=voADd
z1>1yY>O%#|LN!Rw%U(~|r*eyD3|y~irq%*oG1$thip8gsfd^y5S~1?*zJZi;QqZs6
z*C>)QsMv@jE{sh3Qpo*DEqVXUHg-jl1Pg$=-sv^{No&TYTcU{5(ixfi(v4JE;UB$s
zrKjGYp}+h<cwZ)SPK7+p`lfJ%in*B&Zrp)bBV8QlANM?b6ZvnR(G^i;`IPj(L-1cc
zLy6{<wBAz8Hbp|Zu93%zj+IBwr`R+3Gj7M8(3+$!SIgb_o#$?vnGibA26v0kz-sV^
z-^A#h=LYCI^2ltlL91L{Mb}gdBuKe#?hP2=SnM`gd~(zVDx*hczqKjzMK@Q6t)$uX
zchuFtxt>0dMkm=Tyem2iagM;bTN0McFB2K6HF)S^CQ**Uqdp0o@~rL}{)`m(lw>W5
z-nym|;nFjR7HC*It|vv-3uZ44y2kt-lKs6r-kaq<<>;=$zPX3jS3$*lKva+jia!q)
zv+Py4#4cHG*e9nr5ozw-s)SO7ul3On>T3C}c<s6p1Ddg&M!IdlNRiMOp9;y?{P(sx
z)CQ!MuvasWyqv~)8^Sa}hT0YWjl^iqsMsysO}w^@l@TAvNjHc-BQ#^JW+)U%r7~Wa
znG@Ho>XY^J7F?cfNQD|Yu*lH!esk$^Z`7TrYS)uqs>UzIwJ3Pu^vgg=4o<u0(v^{K
z0*8bDYI@A)O*I-{_0x1Mn-*Y40QGeaY%BSWy;DmtHbTMBX+|FcE8~~l<ezI*&CxWD
zSQRvNoeT7|oewQkgHJF*`gO+atBFGFw#{ln$o1@m1^yH@K@TpTTOZ+$IQ|8cVd#1Q
zp>W(Xx=lquBN!Zr-3zJEF;q8W#Z+&ay)Sv=>(zA~_wKY5wH>@_+uIQ_JnfgotYoe+
zE_{g?WELM4*G1E5G2V^4YhVAFr<bs2kL!g;ol9BD#k6mP>F;aKB}C-hV_~TLX+zjo
zGi<80m$*4rTN`nW1UJ3P+EmGNx%oW^*LuK7i9bf}2vX<oHIixTupJZ~mL+O?EL1sy
zf=_jl_xZ}8XcC~|Ocql+&<)Z))L|gz-dN_Vx#u2(r%ce`dzOq-)Rcy?M5SlOFxa{^
z_k!QXCP#4#;)IhwS-M@U_r^MoA0yR~kVEZfMutyd->z2^&oRfqvAKJDyWdEO0XAZi
zH|Z6x9U9U$%UIRcdDN`J6vG#7+qt`M;Lox}MMg@EpxmD@!AkcP<l=eGxW9$>jMdrU
z7d|b?@D=8bl~-6WkKB9fDI?<H;+zR;mw#mGKi60~IS$lF2Z!&lRLZVRWrNdcpi4!X
zM|uRwUF`Jr)RcOyF})UiPAlG^G6hj?EBYWOTpcJB4k#=CG~2K*9!6%)L~XNa!T5Bh
zIblH)Ax<a@wwhADH(Ngb=!v$FtgbbX0fRVF$26!CrB9Qs%SUAPr#9eXxJNoZRC_ge
z+g5|E%G8yMz@H@8BX`ao3?9n6hqPw3?&Zpo+pNxFxfCV5n2^$%$J8QluYEf-S(k&*
z^fJ<M#|cTCc3UD|>2nmRu|#y;P4<iRhCWIUv00%r8lyBGR$yQGy0BmWvi;2HAD%_x
zg2U3y$j0EQ6gFzZsMp=Mw1ME+KI>Z|{2|53M~RWydI`B8C3^}X>eEYV{)g13jFBi%
zj|9FRYoBBXj*k2lL_K*930~J`8nDFJ^c`fWJwC}r=_2eWkS>PPD~G3dev$(Inid-x
z?zfE#Jy9PHxiTy1Scgtc|M@o(zhgdu_OfWod3msZ^}*D67F4sVk0#Nm^<i`B;S;8x
z={FwxT)|b<(OKN@50nkdGOOsw;KW0&syei?kgNwI^de~FGCpW-HPG#kCo0bjvswJU
z{%7MJqtYMbHp9jz;<vi)YQ6+#W>uefqTUO*XU-)P4%&R^Dh*8ir@Ct#KAz0Y?O7k&
zLa7sKDwJg{w48s0PG%Za5y&pEUE4)CsNU_~Sh?*#3Z92I*^bcA@l8Jw0yH>|J(|~-
zvY8%sdAn^Vo;KKFz1XN(;R=Zu+f8y<RFpP3W|4glg}5`F6gNJ(R5!Ed$WUENi@F+f
zYn}F>$s{`Si|C-p-U5n-#dWrc5)w5ov)Jm!^UfBV)jx>3;#o-Gz{#ofQ>wEj8FTdM
z!@rS8LixK~P7|u#$7DT>yL#CUt0L_qTzXTkJWT5oI8lY3sLRAV==(Ca-QoXa8#m!n
z?++L)2dkH?-oIRed6v7xSPZ5vXQsb~(|=Bm>TqZ<$MwesOWpEPJjH7(ZNMkY^T7Ac
zn?sWug*`eKxBNY9o9&{QX?||AG@B~l(mcbdM{|t1heL3}sczX3Ov^iJU-7V!#}S$n
zPZevod>v9{Pj_f5daXCTBbv5A`-2Z%e1A~_Ohfs)G#WlU9zHDK)*6EJ2>@dLr>l(6
zTy=;=Je3oR{f9QmHDliay+rkqMEF)wg}LS0f}ON?@;-Xxko+m+PmMOE;=!5<ugS4^
zV&{J6k%z5aZDiKp1MhXOq9W7INBe;6*p=yggF<8_*v@uY`1SU(8ZGHS7~8&Bxdo@j
zdKu9#w+7UJ8Ro2aV&u5Qm5lGE<>ms%TTh(JzbjR?-c;ve6KNbz7>@7$R%58OE68Id
z0;sOfRhx%&6I8lW@`|?C&dg_rPdN=*bzO1!dEW?(xm2Bo<m4a+B=ratMbhLO>BYIj
zddCY7s)e`3(;KwosR~V=9U1P9W7EZnCBNsh`wG6`q?95~D3ll@zT)f3hTQ5uJQB8!
z`$Ik>?h%i~s~0vb=7^@-)S{QdGUA8UG}SC$BOmkvtAOw=B^mon!^yD%8yM0V@bS+%
zAssh8;!0yNE#VuE+h3zwUGB4#P|<j%OXXgFIaZBrRxx73_G&KDST2Dg<0pYC*%oB(
z^IV*q)-zxgUS!&kYRA~7mfVpI^;c$leNq~7inqQ<c*9G{*6+T?E7Gw7tNA1jH99x)
zY$Hw2@_LHbl~`aA;eU|Pk{?*lEhHjEN17UFMStt)nAIp9lU0<A*M!`Gz)<mQrIDq<
z6<E+6aL<4nuqQNY7lSIC^868Q;2}yplZ$bhnXN^p3yOwxfwpSUg}D<GK#uThoHZ)D
zjcT8ly90!9{odHWM)@!&Y0WuE1tZ5OJ6{5_By_QcMZ2T=jzw>zvU;O~%*wxw)Fhm_
z2&(zcM)%SSK_U?WONTZFY~m-<i+{^A^`Tr7ZG}_Q6Ugt*Ybqqi(daSJL;>GySc%JD
z>SUs+S#m<jCZ*CxzS_K#sTb}T$;N2Jpq+O$OUME&xz|(>E2;Vt>X4UZ$!}FuAq;If
zZt0{uxq9x;j;!+a!gQE099f&>Sc9cuf{8}BoK>IW7wXV`Jh@OuDVDEh#=ErXobP7{
zXu3xW9gp@NDh>F$tzHA?Tz-sDP2`DtH1@uwai)-OT(LZu^!cz(_R}l=q;KyD9=$yH
zl%XH^4_|nZE|#4Zm(6(c{2P7eFWZjiLtF?XI&6-Q@VK#9NI1DLrK7_fGPsD2BV3<7
zr3C9@<%N4K-orv0qKwe0=vc4C+<%G>i)tVdG8t-kUnXOA8QlXd>Q=4ZQbU-XT_dEf
z>YsmjYa7@Xi>8Fu)&)eslR@c+e|4lDq4{{G7nQyVx}+wV7hy-fALfbnb+MD&?TYkZ
zM9!zVcDqI1fq#jc?t$|+J%SdZEB?Ag!VltIfSLlHwil!IL%uMQ9VA{E$2WmwvJhGq
zHBf!BMSWGWLQ0$*KEYBc1u|K;mPuC!Xa1^sX8z(u>DJ+OP>mRq4kvryHG%H9Ku+E3
z%%HN|Z7P121F#3Dbak9Wf(cI&sqZI|k<xU&l^wX2wJEQ(l9+hOQ$R<uhlz3;;RhCq
z35b|EA;qt78oB}JOxI#dMp1S$h)G+i3+;KEl9Nc5lv*dYR(dhe@f6oW)<10v$|6T1
z3h$DQbB>L9q4$Oww#hIN{nKAft>T*3?H`zGj81j4X={&ixs@@BFYf5M7e~_T&6CqG
z6tfa|Qjci@5~Kcc9^07%f&P$qO<h8L%(KnKfT})}9nK@FZ4lmEXgbASd!>kC@L(|d
ziSEohnk)84?Sk}7sR+XR@<gGHMhX7{&UVzmTt^<CV56P3ZlNFWU!6~&FKgoQafEXi
zZ!JhMp0Dn>Xtjr(T+h`&Wq*G5`Njx#6p1Gswi+5kaSQl%Yfa0hYekg{NO9@R=mL0K
zz4(jV6L)g+339u$JTp9$uhQ8VYNG{dc__6la)AUkI+vXQu?hZs%fn`k>@%J@W~Ce)
zuyD<2d-f79REF4AXwj!CGq4!h>}Q5dkX*d9@~U-kOfq6|x6hO@Y_1Fs`OH2#3|zY6
zjM)eqirz?O{BJ*qmOyAIi$c|>Xv+|GNLkV+s9*8=?~Q9f6~D)IYT2=5rCD5!tq|=N
z&Za9x=k|x3(}N6K2-ECCQXpXMxL^YaQPn-T>sqGeY>4p$>yEpH?^I>0zp{i#W7cI@
z)tOC@`-_IO2o<nl8goi;0l8=z4X=!Mqw6;zU{xRmyq#D({p1%$h~LS(LzYtfXJZ6$
zXa6Nbt5Xl|jYcBuVRAc(=|@XdQe~t9Rf(n6AA@_(l@oTwJ(X^37Pr9%ty|8+q=FOi
zd3y!uWYv<>YIyBpn0-o`Np{wC2;j6qmL$cSSmC$7;_8OTzg*SJl)Lw{Wn|6^pE=a<
zo)jbsbFeByU+5B}RUsJp1lQ5;;VvWDsdZ7Zz`^&-TKIloE{47Mp`7ORgen^%5>zdE
z72HLBw$NFA5j}!rTLLSJqm8+ih>#uU#UTeRPT{aB9`7-`&u?1|Fxhr9DrM+F0B^Y!
zY}LtutHkmw6U5dHVeeDRi`h!O2Lq6{r?jryHN$a`Yjo6;$UOxVn_8~>h?y!uzm%@m
zbb212_B4~iadGp==aqkH<U6t`L)x}o_ItHjq!Qh&_ebGOIS~uwy#!y(lWHwOxi4+4
z3uyz+W<pu0=RF~0)KWF9d+EHV{t=?k6y_1x(PR&^^Yc`nSEA%oQef8~)_$oQSC+;!
zw{&MeYx>~XdPUr<dO5ulfn=WU)|}wQqq{lMl~tk^|8_{R--pq>`fy^ef}1zgy$319
z(9`aMcv&O0{D%8e%>C!2GCtc3z14x7CcuOpryY-ebCO)ZJiTsb-z=$ry_82KWY2qs
z#s~eo|M7S@HF?Sv1bh3QDY<`~=yc0FvU#i_RP?IJ4aK?ISeJ>{YD46_JCB>a?5|%u
zD%(pg5R$o>w;i_`y;w@%3Xt0S*k3O^b48SqAZwkPT=_q@dk<BC(V(T`#!Y32M_DLc
z{qTH&Blr=drRLFSprsl&@Q^~&y)yb_H!Do$o=6pr&(4(MX_BL-p4j+h$7_g58pb0o
z?GHBk`T<<}wxTAgQPj&<GAe`T@0WqNc<zXAbsrHDQdqt<SI1^jE0p=cunD#NnU;^i
z`kLH&5=8eNRpKfmarPN6z>g`9P=56rKO@Mk6U6YHuNyjLJ+N@#c*VzEI1zZ24>>gO
zUktZ`9uLb>mN(bJ$m$?1*-F1MjSsRGuc%e!2ltEa6`3OEQ*t|7*;<^8+5B%@qHS;c
zVx}(J61^j}<{fulMmmTY*fE<0uCJEtt|<AvZOpp-Gs**lmW)wXFd;j?+j1ccw>UAr
zL=5q}`aNCoDwk+i_H0tK;Bo8V?XC{1-tvj5Qi@V%lk!+?GX>?>uDl#&hz3>frOmhp
z4XzVn@X{@RrauY(f|kQv&|_ZvCFf;tKAk)rh~JSXc=;$iYIob|DKFOI8fpE-$Vxp9
zP91HcTWGKGQ`mvz7rZ7%6}efWtK?bdeTk@`*i7jkTc@Fe#WLYvVCU^B9g#+yjtw<C
zi7MQq5MLH)j}54QGw22f0PI2$ihfJRW#UC8>+1eUrvg*2;#(S&5Cq4klT0%-T+rQ|
z#@WH>+8d|>fgvL^PPs%3*VvHM023CUzl#3@4BHp?vt2G_^IACZ#mk!(E3WMA!YKp1
zRmgE<76^ULpPinxi%s31j$Y&G>I7@E2jYrHz`Gd|T5pqALiGy;5FOX(ts@PQLlQst
z2XNs&#C4@b0_91OebvwKgFmFxmujrv7utVbQR9YN5K_S0h8)vpvNf2pUKeALuk5+R
z972JpX~tuDLSO3)OT|cF-Yy`wA1Jz4%j@;k5{%|<Wc<_YBfSqe9((-q*FTnSrtNt&
z223t*ZV#Npp$ape5o~HP8TNq>bl_{a*Q+XEh&%!UJZ^?PMRKJ1)vQqt7u<*qC%}UH
z&gk3A;|Kj_ZMDl|cHYbCs$C->b9MD!XB|fk>tER1cPJ;z+ha=VgHJ@Za9K#=>b<;I
zFRS*kb}dEp&x20{Yh(?n4_}vn>QXY5MKEo|RJcvlt5C1zQGK~`>n%0DZWt)H*(FzK
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

diff --git a/Docs/velocity_correction.tex b/Docs/velocity_correction.tex
index 229f69ed7..a19616e22 100644
--- a/Docs/velocity_correction.tex
+++ b/Docs/velocity_correction.tex
@@ -1,43 +1,4 @@
-\documentclass[a4paper,10pt]{article}
-\usepackage[utf8x]{inputenc}
-\usepackage{amsmath}
-% \usepackage{showkeys} % affiche les labels et references
-\usepackage[T1]{fontenc}
-\usepackage{multirow}
-\usepackage{amsthm,amssymb}
-\setlength{\parskip}{12pt} %taille du saut entre deux paragraphes
-\usepackage{graphicx}
-\graphicspath{{./images/}}
-\usepackage{pdfsync} % permet de cliquer sur le pdf pour avoir l endroit ou il y a le code latex
- \usepackage{cancel}
-\usepackage{xcolor}
-\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=2.5cm]{geometry}
-\overfullrule 5pt %Pour d\'esigner les listes couples d'un *full carre noir la ou l on sort
-
-\usepackage[pdftex]{hyperref}
-\hypersetup{
-  pdftitle={Flow past 3D sphere},
-  pdfauthor={Mimeau Chloe},
-  pdfcreator={PARMES},
-  pdfkeywords={sphere, potential flow, velocity correction, flow rate},
-  pdfsubject={Flow past 3D sphere}
-% pagebackref=false,
-%colorlinks=false,citecolor=red,
-%linkcolor=blue,
-%plainpages=false,
-%breaklinks=true,
-% pdfpagelabels=true
-}
-
-
-\theoremstyle{plain}
-\newtheorem{Theoreme}{Th\'eor\`eme}[section]
-%opening
-\title{Correction de vitesse pour la modélisation d'un écoulement incompressible dans une boîte}
-\author{}
-\date{}
-
-\begin{document}
+\subsection{Correction de vitesse pour la modélisation d'un écoulement incompressible dans une boîte}
 
 \maketitle
 Lors de la résolution de l'équation de Poisson $\Delta \mathbf{u} = - \nabla \boldsymbol{\omega} $, le mode 0 des transformées de Fourier rapides de la vitesse est imposé à 0, ce qui entraîne une modification des valeurs moyennes des composantes de la vitesse et donc des composantes de la vitesse elles-mêmes lorsque la transformée de Fourier inverse est appliquée. Une correction de la vitesse est donc nécessaire après la résolution de l'équation de Poisson, à chaque itération.
@@ -219,5 +180,8 @@ u_z &= -u_{\infty} \dfrac{3R^3 xz}{2 r^5}
 % \begin{equation}
 % \underbrace{\iint\limits_S  u_x \ dydz}_{\text{débit souhaité}} = \iint\limits_S \ \dfrac{-u_{\infty} x}{r} \left ( 1 - \dfrac{R^3}{r^3} \right )  \ dydz = -u_{\infty} x_0 \iint\limits_S \ \dfrac{1}{r} \left ( 1 - \dfrac{R^3}{r^3} \right )  \ dydz 
 % \end{equation}
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "manual"
+%%% End: 
 
-\end{document}
diff --git a/Examples/NSDebug.py b/Examples/NSDebug.py
index 1217d0ab5..bbc6095af 100755
--- a/Examples/NSDebug.py
+++ b/Examples/NSDebug.py
@@ -11,7 +11,6 @@ import parmepy as pp
 from parmepy.f2py import fftw2py
 import numpy as np
 from parmepy.fields.continuous import Field
-from parmepy.variables.variables import Variables
 from parmepy.mpi.topology import Cartesian
 from parmepy.domain.obstacle.sphere import Sphere
 from parmepy.operator.advection import Advection
@@ -22,19 +21,17 @@ from parmepy.operator.diffusion import Diffusion
 from parmepy.operator.penalization import Penalization
 from parmepy.operator.differential import Curl
 from parmepy.operator.redistribute import Redistribute
-from parmepy.operator.monitors.printer import Printer
-from parmepy.operator.monitors.energy_enstrophy import Energy_enstrophy
-from parmepy.operator.monitors.compute_forces import Forces
+from parmepy.operator.monitors import Printer, Energy_enstrophy, DragAndLift,\
+    Reprojection_criterion
 from parmepy.problem.simulation import Simulation
 from parmepy.constants import VTK, HDF5
 from parmepy.domain.obstacle.planes import PlaneBoundaries
 from dataNS_bb import dim, nb, NBGHOSTS, ADVECTION_METHOD, VISCOSITY, \
     OUTPUT_FREQ, FILENAME, PROJ, LCFL, CFL, CURL_METHOD, \
     TIMESTEP_METHOD, OBST_Ox, OBST_Oy, OBST_Oz, RADIUS
-from parmepy.operator.monitors.compute_forces import DragAndLift
 from parmepy.domain.obstacle.controlBox import ControlBox
-
-
+import parmepy.tools.numpywrappers as npw
+import parmepy.tools.io_utils as io
 ## ----------- A 3d problem -----------
 print " ========= Start Navier-Stokes 3D (Flow past bluff bodies) ========="
 
@@ -44,8 +41,8 @@ cos = np.cos
 sin = np.sin
 
 ## Domain
-boxlength = [2.0 * pi, pi, pi]
-boxorigin = [0., 0., 0.]
+boxlength = npw.realarray([2.0 * pi, pi, pi])
+boxorigin = npw.realarray([0., 0., 0.])
 box = pp.Box(dim, length=boxlength, origin=boxorigin)
 
 ## Global resolution
@@ -105,76 +102,79 @@ op['stretching'] = Stretching(velo, vorti,
 
 op['diffusion'] = Diffusion(vorti, resolution=nbElem, viscosity=VISCOSITY)
 
-op['poisson'] = Poisson(velo, vorti, resolutions={velo: nbElem, vorti: nbElem},
-                        projection=PROJ)
+op['poisson'] = Poisson(velo, vorti, resolutions={velo: nbElem, vorti: nbElem})
 
 op['curl'] = Curl(velo, vorti, resolutions={velo: nbElem, vorti: nbElem},
                   method=CURL_METHOD)
 
 ## Discretisation of computational operators
-for ope in op:
+for ope in op.values():
     ope.discretize()
 
 # Get fft topology and use it for penalization and correction operators
 opfft = op['poisson']
 topofft = opfft.discreteFields[opfft.vorticity].topology
+topocurl = op['curl'].discreteFields[op['curl'].invar].topology
 
-op['penal'] = Penalization(velo, [sphere, bc], coeff=[1e8], topo=topofft,
-                           resolutions={velo: nbElem})
+op['penalization'] = Penalization(velo, [sphere, bc], coeff=[1e8],
+                                  topo=topofft, resolutions={velo: nbElem})
 
-op['correc'] = VelocityCorrection(velo, vorti,
-                                  resolutions={velo: nbElem, vorti: nbElem},
-                                  uinf=uinf, topo=topofft)
+ref_rate = uinf * box.length[1] * box.length[2]
+op['correction'] = VelocityCorrection(velo, vorti,
+                                      resolutions={velo: nbElem,
+                                                   vorti: nbElem},
+                                      req_flowrate=ref_rate, topo=topofft)
 
-op['penal'].discretize()
-op['correc'].discretize()
+op['penalization'].discretize()
+op['correction'].discretize()
 
 ## === Bridges between the different topologies ===
 distr = {}
+
+distr['fft2curl'] = Redistribute([velo], op['penalization'], op['curl'])
+distr['curl2fft'] = Redistribute([vorti], op['curl'], op['poisson'])
+
 # 1 - Curl_fft to stretching (velocity only)
 distr['Curl2Str'] = Redistribute([velo], op['curl'], op['stretching'])
 # 2 - Advection to stretching (vorticity only)
 distr['Advec2Str_v'] = Redistribute([velo], op['advection'], op['stretching'])
 distr['Advec2Str_w'] = Redistribute([vorti], op['advection'], op['stretching'])
 # 3 - Stretching to Diffusion
-distr['stretch2diff'] = Redistribute([vorti], op['stretching'], op['diffusion'])
-# + - Brigdes required if Curl op. is solved using a FD method
-distrPoissCurl = Redistribute([vorti, velo], poisson, curl)
-distrCurlAdv = Redistribute([vorti, velo], curl, advec)
+distr['Str2diff'] = Redistribute([vorti], op['stretching'], op['diffusion'])
+distr['Curl2Advec'] = Redistribute([vorti], op['curl'], op['advection'])
 
-distrAdvStr_velo.discretize()
-distrAdvStr_vorti.discretize()
-distrStrDiff.discretize()
-distrCurlStr_velo.discretize()
-distrCurlAdv.discretize()
-
-## === Fields initialization ===
-velo.initialize(topo=topofft)
+for ope in distr.values():
+    ope.discretize()
 
-ind = sphere.discretize(topofft)
-vdfft = velo.discreteFields[topofft].data
+# === Simulation setup ===
+simu = Simulation(tinit=0.0, tend=0.2, timeStep=0.005, iterMax=1000000)
 
 ## === Monitoring operators ===
+monitors = {}
+# Save velo and vorti values on topofft
+monitors['printerFFT'] = Printer(variables=[velo, vorti], topo=topofft,
+                                 formattype=HDF5)
+
+monitors['printerCurl'] = Printer(variables=[velo, vorti], topo=topocurl,
+                                  formattype=HDF5, prefix='curl_io_vorti')
+# Compute and save enstrophy/Energy, on topofft
+io_default = {}
+monitors['energy'] = Energy_enstrophy(velo, vorti, topo=topofft, io_params={},
+                                      viscosity=VISCOSITY, isNormalized=False)
+# Setup for reprojection
+reprojection_constant = 0.04
+reprojection_rate = 1
+monitors["reprojection"] = Reprojection_criterion(vorti, reprojection_constant,
+                                                  reprojection_rate, topofft,
+                                                  io_params={})
+
+# Add reprojection for poisson operator
+op["poisson"].activateProjection(monitors["reprojection"])
 
-outputdir = 'res_' + str(topofft.size) + 'procs'
-pref = outputdir + '/vwfft'
-
-printerFFT = Printer(variables=[velo, vorti],
-                     topo=topofft,
-                     frequency=1,
-                     prefix=pref,
-                     formattype=HDF5)
-
-printerFFT.setUp()
-
-prefE = outputdir + '/ener'
-energy = Energy_enstrophy(velo, vorti,
-                          topo=topofft,
-                          viscosity=VISCOSITY,
-                          isNormalized=False,
-                          frequency=1,
-                          prefix=prefE)
+ind = sphere.discretize(topofft)
+vdfft = velo.discreteFields[topofft].data
 
+# Compute and save drag and lift on topofft
 # 3D Control box
 ref_step = topofft.mesh.space_step
 cbpos = boxorigin + boxlength + 10 * ref_step
@@ -183,93 +183,118 @@ cb = ControlBox(box, cbpos, cblength)
 nu = 0.1
 coeffForce = 1.
 # Monitor for forces
-forces = DragAndLift(velo, vorti, nu, coeffForce, topofft, cb,
-                     obstacle=[sphere],
-                     filename=outputdir + 'forces.dat')
-
-## Simulation with fixed time step
-simu = Simulation(tinit=0.0,
-                  tend=5., timeStep=0.005,
-                  iterMax=1000000)
-
-
-curl.setUp()
-advec.setUp()
-stretch.setUp()
-diffusion.setUp()
-poisson.setUp()
-correction.setUp()
-penal.setUp()
-distrAdvStr_velo.setUp()
-distrAdvStr_vorti.setUp()
-distrStrDiff.setUp()
-distrCurlStr_velo.setUp()
-distrCurlAdv.setUp()
-
-energy.setUp()
-
-
-## Initialization of velocity on topofft
-def run():
-    penal.apply(simu)
-    ## end of time loop ##
-
-    ## from parmepy.mpi import MPI
-    ## print "Start computation ..."
-    ## time = MPI.Wtime()
-    if topofft.rank == 0:
-        print "start curl"
-    curl.apply(simu)
-
-    #printerFFT.apply(simu)
-    # From topo fft to topo advec
-    if topofft.rank == 0:
-        print "start d0"
-    distrCurlAdv.apply(simu)
-    if topofft.rank == 0:
-        print "start advec"
-    advec.apply(simu)
-
-    # From topo adv to topo stretch
-    if topofft.rank == 0:
-        print "start d1"
-    distrAdvStr_velo.apply(simu)
-    if topofft.rank == 0:
-        print "start d1"
-    distrAdvStr_vorti.apply(simu)
-    if topofft.rank == 0:
-        print "start stret"
-    stretch.apply(simu)
-
-    if topofft.rank == 0:
-        print "start d2"
-    distrStrDiff.apply(simu)
-    if topofft.rank == 0:
-        print "start diff"
-    diffusion.apply(simu)
-    if topofft.rank == 0:
-        print "start poiss"
-    poisson.apply(simu)
-    if topofft.rank == 0:
-        print "start correc"
-    correction.apply(simu)
-    if topofft.rank == 0:
-        print "start penal"
-    penal.apply(simu)
-    energy.apply(simu)
-    if topofft.rank == 0:
-        print "start printer"
-    printerFFT.apply(simu)
-
-
-#while not simu.isOver:
-for i in xrange(200):
+monitors['forces'] = DragAndLift(velo, vorti, nu, coeffForce, topofft, cb,
+                                 obstacles=[sphere], io_params={})
+
+# === Setup for all declared operators ===
+for ope in op.values():
+    ope.setUp()
+for ope in distr.values():
+    ope.setUp()
+# Set up for monitors
+for monit in monitors.values():
+    monit.setUp()
+
+allops = dict(op.items() + distr.items() + monitors.items())
+
+
+## === Fields initialization ===
+# Initialisation, mode 1:
+# - compute velocity on topofft
+# - penalize
+# - compute vorticity with curl
+def initFields_mode1():
+    # The velocity is initialized on the fftw topology
+    # penalized and distributed on curl topo
+    velo.initialize(topo=topofft)
+    op['penalization'].apply(simu)
+    distr['fft2curl'].apply(simu)
+    # Vorticity is initialized after penalization of velocity
+    op['curl'].apply(simu)
+    # Distribute vorticity on topofft
+    distr['curl2fft'].apply(simu)
+    # From this point both velocity and vorticity are initialized
+    # on topofft and on topocurl
+
+## Call initialization
+initFields_mode1()
+
+##### Check initialize process results #####
+norm_vel_fft = velo.norm(topofft)
+norm_vel_curl = velo.norm(topocurl)
+norm_vort_fft = vorti.norm(topofft)
+norm_vort_curl = vorti.norm(topocurl)
+
+print norm_vort_curl, norm_vort_fft
+print norm_vel_curl, norm_vel_fft
+assert np.allclose(norm_vort_curl, norm_vort_fft)
+assert np.allclose(norm_vel_curl, norm_vel_fft)
+
+## Print initial state
+for mon in monitors.values():
+    mon.apply(simu)
+
+
+## Note Franck : tests init ok, same values on both topologies, for v and w.
+
+# === Definition of the 'one-step' sequence of operators ===
+#
+#  1 - w = curl(v), topocurl
+#  2 - w = advection(v,w), topo-advec
+#  3 - w = stretching(v,w), topostr
+#  4 - w = diffusion(w), topofft
+#  5 - v = poisson(w), topofft
+#  6 - v = correction(v, w), topofft
+#  7 - v = penalization(v), topofft
+#
+fullseq = ['curl', 'printerCurl', 'advection', 'stretching', 'diffusion',
+           'reprojection', 'poisson', 'correction', 'energy', 'forces',
+           'printerFFT']
+
+
+def run(sequence):
+    for name in sequence:
+        assert allops.keys().count(name) > 0 or distr.keys().count(name) > 0\
+            or monitors.keys().count(name) > 0
+        allops[name].apply(simu)
+
+seq = fullseq
+simu.initialize()
+while not simu.isOver:
     simu.printState()
-    run()
+    run(seq)
     simu.advance()
 
 
 ## print 'total time (rank):', MPI.Wtime() - time, '(', topo.rank, ')'
 
+
+print 'aaaa', velo.norm(topofft)
+op['correction'].apply(simu)
+print 'iiii', velo.norm(topofft)
+
+sref = op['correction'].discreteOperator.surfRef
+
+flowrate = velo.integrateOnSurface(sref, topofft)
+print flowrate
+assert (flowrate - ref_rate) < 1e-10
+
+flowratey = velo.integrateOnSurface(sref, topofft, component=1)
+print flowratey
+flowratez = velo.integrateOnSurface(sref, topofft, component=2)
+print flowratez
+
+
+# === Finalize for all declared operators ===
+
+# Note FP : bug in fft finalize. To be checked ...
+# --> clean_fftw must be called only once
+#for ope in op.values():
+#    ope.finalize()
 ## Clean memory buffers
 fftw2py.clean_fftw_solver(box.dimension)
+for ope in distr.values():
+    ope.finalize()
+for monit in monitors.values():
+    monit.finalize()
+
diff --git a/HySoP/hysop/__init__.py.in b/HySoP/hysop/__init__.py.in
index f680e04c9..7d7e22390 100755
--- a/HySoP/hysop/__init__.py.in
+++ b/HySoP/hysop/__init__.py.in
@@ -15,13 +15,13 @@ __FFTW_ENABLED__ = "@WITH_FFTW@" is "ON"
 __SCALES_ENABLED__ = "@WITH_SCALES@" is "ON"
 __VERBOSE__ = "@DEBUG@" in ["1", "3"]
 __DEBUG__ = "@DEBUG@" in ["2", "3"]
-__PROFILE__= "@PROFILE@" in ["0", "1"]
-__OPTIMIZE__= "@OPTIM@" is "ON"
+__PROFILE__ = "@PROFILE@" in ["0", "1"]
+__OPTIMIZE__ = "@OPTIM@" is "ON"
 # MPI
 if __MPI_ENABLED__:
     #import parmepy.mpi as mpi
     #    from mpi import main_rank
-    import mpi
+    import parmepy.mpi
     if(mpi.main_rank == 0):
         print "Starting @PACKAGE_NAME@ version " + str(__version__) + ".\n"
 else:
@@ -30,13 +30,20 @@ else:
 version = "1.0.0"
 
 ## Box-type physical domain
-import domain.box
-Box = domain.box.Box
+import parmepy.domain.box
+Box = parmepy.domain.box.Box
 
 ## Fields
-import fields.continuous
-Field = fields.continuous.Field
+import parmepy.fields.continuous
+Field = parmepy.fields.continuous.Field
 
+## Variable parameters
+import parmepy.variable_parameter
+VariableParameter = parmepy.variable_parameter.VariableParameter
+
+## Simulation parameters
+import parmepy.problem.simulation
+Simulation = parmepy.problem.simulation.Simulation
 
 # ## ## Problem
 # import problem.problem
diff --git a/HySoP/hysop/domain/obstacle/planes.py b/HySoP/hysop/domain/obstacle/planes.py
index 6791bb23f..961ce968b 100644
--- a/HySoP/hysop/domain/obstacle/planes.py
+++ b/HySoP/hysop/domain/obstacle/planes.py
@@ -115,6 +115,7 @@ class SubSpace(HalfSpace):
         self.dist = dist
         self.origin = npw.realarray(point)
         self.max = self.origin + npw.realarray(lengths)
+        self.lengths = npw.realarray(lengths)
         ndir = np.where(self.normal != 0)[0][0]
         if normal[ndir] > 0:
             self.max[ndir] = self.origin[ndir]
diff --git a/HySoP/hysop/domain/tests/test_obstacle.py b/HySoP/hysop/domain/tests/test_obstacle.py
index c40c2a37e..f7810b7ff 100644
--- a/HySoP/hysop/domain/tests/test_obstacle.py
+++ b/HySoP/hysop/domain/tests/test_obstacle.py
@@ -33,7 +33,7 @@ dvol = np.prod(h3d)
 ds = np.prod(h2d)
 import math
 pi = math.pi
-tol = 1e-3
+tol = 1e-6
 lengths = np.asarray([20 * h3d[0], 22 * h3d[1], 31 * h3d[2]])
 rlengths = lengths + h3d
 rlengths2d = lengths[:2] + h2d
diff --git a/HySoP/hysop/fields/continuous.py b/HySoP/hysop/fields/continuous.py
index a60a3d661..1e5007e8a 100644
--- a/HySoP/hysop/fields/continuous.py
+++ b/HySoP/hysop/fields/continuous.py
@@ -6,6 +6,8 @@ Continuous variable description.
 from parmepy.constants import debug
 from parmepy.fields.discrete import DiscreteField
 from parmepy.mpi import main_rank
+import parmepy.tools.numpywrappers as npw
+import numpy as np
 
 
 class Field(object):
@@ -256,3 +258,36 @@ class Field(object):
 
     def finalize(self):
         pass
+
+    def integrate(self, box, topo, useSlice=True,
+                  component=0, root=0, mpiall=True):
+        """
+        integrate the field on a control box, on the current processus
+        @param box : a parmepy.domain.obstacles.controlBox.ControlBox
+        @param topo : discretization used for integration
+        @param useSlice : true if integrate with slices else integrate with
+        boolean numpy array
+        @param component : component number of the field to integrate
+        @param root : root process for mpi reduce
+        @param mpiall : true for allreduce, else reduce on root
+        """
+        return self.discreteFields[topo].integrate(box, useSlice, component,
+                                                   root, mpiall)
+
+    def integrateOnSurface(self, surf, topo, useSlice=True, component=0,
+                           root=0, mpiall=True):
+        """
+        integrate the field on a surface, on the current processus
+        @param surf : a parmepy.domain.obstacles.controlBox.planes.SubPlane
+        @param topo : discretization used for integration
+        @param useSlice : true if integrate with slices else integrate with
+        boolean numpy array
+        @param component : component number of the field to integrate
+        @param root : root process for mpi reduce
+        @param mpiall : true for allreduce, else reduce on root
+        Warning : surf slices or cond must have been computed for integration
+        purpose, that is last point in each dir must not be included.
+        """
+        return self.discreteFields[topo].integrateOnSurface(surf, useSlice,
+                                                            component, root,
+                                                            mpiall)
diff --git a/HySoP/hysop/fields/discrete.py b/HySoP/hysop/fields/discrete.py
index 60704c3ef..cdf9abfa6 100644
--- a/HySoP/hysop/fields/discrete.py
+++ b/HySoP/hysop/fields/discrete.py
@@ -15,7 +15,8 @@ from parmepy.numerics.updateGhosts import UpdateGhosts
 
 
 class DiscreteField(object):
-    """Interface for discrete fields (scalar or vector).
+    """
+    Interface for discrete fields (scalar or vector).
 
     A discrete field represents the data layout on each mpi process for
     a given global resolution.
@@ -187,10 +188,10 @@ class DiscreteField(object):
             # No formula, set all components to zero"
             for d in xrange(self.nbComponents):
                 self.data[d][...] = 0.0
-        if not all([(s == self.resolution).all()
-                    for s in [dat.shape for dat in self.data]]):
-            print "WARNING: The shape of " + self.name + " has changed during"\
-                " field initialisation."
+        assert all([(s == self.resolution).all()
+                    for s in [dat.shape for dat in self.data]]),\
+            "WARNING: The shape of " + self.name + " has changed during"\
+            " field initialisation."
 
     def norm(self):
         """
@@ -209,9 +210,6 @@ class DiscreteField(object):
         self.topology.comm.Allreduce(result, gResult)
         return gResult ** (1. / 2)
 
-    def get_data_method(self):
-        pass
-
     @debug
     @timed_function
     def dump(self, filename, mode=None):
@@ -253,3 +251,79 @@ class DiscreteField(object):
         """ set all components to zero"""
         for dim in xrange(self.nbComponents):
             self.data[dim][...] = 0.0
+
+    def integrate_on_proc(self, box, useSlice=True, component=0):
+        """
+        integrate the field on a control box, on the current processus
+        @param box : a parmepy.domain.obstacles.controlBox.ControlBox
+        @param useSlice : true if integrate with slices else integrate with
+        boolean numpy array
+        @param component : component number of the field to integrate
+        """
+        if useSlice:
+            cond = box.slices[self.topology]
+        else:
+            iC = self.topology.mesh.iCompute
+            cond = box.ind[self.topology][0][iC]
+        dvol = npw.prod(self.topology.mesh.space_step)
+        result = npw.sum(self.data[component][cond])
+        result *= dvol
+        return result
+
+    def integrate(self, box, useSlice=True, component=0,
+                  root=0, mpiall=True):
+        """
+        integrate the field on a control box, on the current processus
+        @param box : a parmepy.domain.obstacles.controlBox.ControlBox
+        @param useSlice : true if integrate with slices else integrate with
+        boolean numpy array
+        @param component : component number of the field to integrate
+        @param root : root process for mpi reduce
+        @param mpiall : true for allreduce, else reduce on root
+        """
+        res = self.integrate_on_proc(box, useSlice, component)
+        if mpiall:
+            return self.topology.comm.allreduce(res)
+        else:
+            return self.topology.comm.reduce(res, root=root)
+
+    def integrateOnSurface(self, surf, useSlice=True, component=0,
+                           root=0, mpiall=True):
+        """
+        integrate the field on a surface, on the current processus
+        @param surf : a parmepy.domain.obstacles.controlBox.planes.SubPlane
+        @param useSlice : true if integrate with slices else integrate with
+        boolean numpy array
+        @param component : component number of the field to integrate
+        @param root : root process for mpi reduce
+        @param mpiall : true for allreduce, else reduce on root
+        Warning : surf slices or cond must have been computed for integration
+        purpose, that is last point in each dir must not be included.
+        """
+        res = self.integrateOnSurf_proc(surf, useSlice, component)
+        if mpiall:
+            return self.topology.comm.allreduce(res)
+        else:
+            return self.topology.comm.reduce(res, root=root)
+
+    def integrateOnSurf_proc(self, surf, useSlice=True, component=0):
+        """
+        integrate the field on a surface, on the current processus
+        @param surf : a parmepy.domain.obstacles.controlBox.planes.Plane
+         or SubPlane
+        @param useSlice : true if integrate with slices else integrate with
+        boolean numpy array
+        @param component : component number of the field to integrate
+        Warning : surf slices or cond must have been computed for integration
+        purpose, that is last point in each dir must not be included.
+        """
+        if useSlice:
+            cond = surf.slices[self.topology]
+        else:
+            iC = self.topology.mesh.iCompute
+            cond = surf.ind[self.topology][0][iC]
+        dirs = np.where(surf.normal == 0)[0]
+        dS = npw.prod(self.topology.mesh.space_step[dirs])
+        result = npw.sum(self.data[component][cond])
+        result *= dS
+        return result
diff --git a/HySoP/hysop/fields/tests/test_field.py b/HySoP/hysop/fields/tests/test_field.py
index 631a81994..020e8df0f 100644
--- a/HySoP/hysop/fields/tests/test_field.py
+++ b/HySoP/hysop/fields/tests/test_field.py
@@ -4,6 +4,7 @@ Testing parmepy.field.continuous.Field
 from parmepy.fields.continuous import Field
 from parmepy.domain.box import Box
 from parmepy.mpi.topology import Cartesian
+from parmepy.domain.obstacle.planes import SubPlane
 import sys
 import numpy as np
 
@@ -63,3 +64,22 @@ def test_discretization():
                     cvf.discreteFields[topo].data[1].shape).all()
     assert np.equal(cvf.discreteFields[topo].resolution,
                     cvf.discreteFields[topo].data[2].shape).all()
+
+
+def test_integrate_onSurf():
+    dom = Box()
+    myf = Field(dom, isVector=True)
+    resolTopo = [33, 33, 17]
+    topo = Cartesian(dom, 3, resolTopo)
+    fdiscr = myf.discretize(topo)
+    fdiscr[0][...] = 1.0
+    normal = [1, 0, 0]
+    hh = topo.mesh.space_step
+    surf = SubPlane(dom, normal=normal, point=dom.origin,
+                    lengths=dom.length - hh,
+                    epsilon=topo.mesh.space_step[0]/2.)
+
+    surf.discretize(topo)
+    res = myf.integrateOnSurface(surf, topo)
+    sref = dom.length[1] * dom.length[2]
+    assert(abs(res - sref) < 1e-6)
diff --git a/HySoP/hysop/gpu/QtRendering.py b/HySoP/hysop/gpu/QtRendering.py
index 81d7a02a0..4a3ccfdbc 100644
--- a/HySoP/hysop/gpu/QtRendering.py
+++ b/HySoP/hysop/gpu/QtRendering.py
@@ -14,6 +14,7 @@ from parmepy.gpu import cl
 from parmepy.gpu.gpu_discrete import GPUDiscreteField
 from parmepy.gpu.gpu_kernel import KernelLauncher
 from parmepy.tools.timers import timed_function
+from parmepy.mpi import main_rank
 
 
 class QtOpenGLRendering(Monitoring):
@@ -164,7 +165,8 @@ class QtOpenGLRendering(Monitoring):
         """
         t = simulation.time
         dt = simulation.timeStep
-        simulation.printState()
+        if main_rank == 0:
+            simulation.printState()
         # OpenCL update
         self.numMethod(self.gpu_field.gpu_data[self.component],
                        self.color)
diff --git a/HySoP/hysop/gpu/tests/test_advection_nullVelocity.py b/HySoP/hysop/gpu/tests/test_advection_nullVelocity.py
index 1613faaf6..7dabdfc4e 100644
--- a/HySoP/hysop/gpu/tests/test_advection_nullVelocity.py
+++ b/HySoP/hysop/gpu/tests/test_advection_nullVelocity.py
@@ -44,7 +44,7 @@ def assertion_2D(scal, velo, advec):
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
 
     scal_d.toHost()
 
@@ -69,8 +69,8 @@ def assertion_2D_withPython(scal, velo, advec, advec_py):
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.01, 1))
-    advec.apply(Simulation(0., 0.01, 1))
+    advec_py.apply(Simulation(0., 1., 0.01))
+    advec.apply(Simulation(0., 1., 0.01))
 
     py_res = scal_d.data[0].copy()
     scal_d.toHost()
@@ -99,7 +99,7 @@ def assertion_3D(scal, velo, advec):
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
 
     scal_d.toHost()
 
@@ -126,8 +126,8 @@ def assertion_3D_withPython(scal, velo, advec, advec_py):
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.01, 1))
-    advec.apply(Simulation(0., 0.01, 1))
+    advec_py.apply(Simulation(0., 1., 0.01))
+    advec.apply(Simulation(0., 1., 0.01))
 
     py_res = scal_d.data[0].copy()
     scal_d.toHost()
@@ -954,8 +954,8 @@ def test_rectangular_domain2D():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec.apply(Simulation(0., 0.01, 1))
-    advec_py.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
+    advec_py.apply(Simulation(0., 1., 0.01))
     scal_py_res = scal_d.data[0].copy()
 
     scal_d.toHost()
@@ -1008,8 +1008,8 @@ def test_rectangular_domain3D():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec.apply(Simulation(0., 0.01, 1))
-    advec_py.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
+    advec_py.apply(Simulation(0., 1., 0.01))
     scal_py_res = scal_d.data[0].copy()
 
     scal_d.toHost()
@@ -1063,8 +1063,8 @@ def test_2D_vector():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec.apply(Simulation(0., 0.01, 1))
-    advec_py.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
+    advec_py.apply(Simulation(0., 1., 0.01))
     scal_py_res_X = scal_d.data[0].copy()
     scal_py_res_Y = scal_d.data[1].copy()
 
@@ -1126,8 +1126,8 @@ def test_3D_vector():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec.apply(Simulation(0., 0.01, 1))
-    advec_py.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
+    advec_py.apply(Simulation(0., 1., 0.01))
     scal_py_res_X = scal_d.data[0].copy()
     scal_py_res_Y = scal_d.data[1].copy()
     scal_py_res_Z = scal_d.data[2].copy()
diff --git a/HySoP/hysop/gpu/tests/test_advection_randomVelocity.py b/HySoP/hysop/gpu/tests/test_advection_randomVelocity.py
index 7e1d32982..e2165bfb0 100644
--- a/HySoP/hysop/gpu/tests/test_advection_randomVelocity.py
+++ b/HySoP/hysop/gpu/tests/test_advection_randomVelocity.py
@@ -2,7 +2,6 @@
 @file parmepy.gpu.tests.test_advection_randomVelocity
 Testing advection kernels with a random velocity field.
 """
-import parmepy
 from parmepy.domain.box import Box
 from parmepy.fields.continuous import Field
 from parmepy.operator.advection import Advection
@@ -49,8 +48,8 @@ def assertion_2D_withPython(scal, velo, advec, advec_py):
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.001, 1))
-    advec.apply(Simulation(0., 0.001, 1))
+    advec_py.apply(Simulation(0., 1., 0.001))
+    advec.apply(Simulation(0., 1., 0.001))
 
     py_res = scal_d.data[0].copy()
     scal_d.toHost()
@@ -82,8 +81,8 @@ def assertion_3D_withPython(scal, velo, advec, advec_py):
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.1, 1))
-    advec.apply(Simulation(0., 0.1, 1))
+    advec_py.apply(Simulation(0., 1., 0.1))
+    advec.apply(Simulation(0., 1., 0.1))
 
     py_res = scal_d.data[0].copy()
     scal_d.toHost()
@@ -834,8 +833,8 @@ def test_rectangular_domain2D():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.1, 1))
-    advec.apply(Simulation(0., 0.1, 1))
+    advec_py.apply(Simulation(0., 1., 0.1))
+    advec.apply(Simulation(0., 1., 0.1))
 
     py_res = scal_d.data[0].copy()
     scal_d.toHost()
@@ -889,8 +888,8 @@ def test_rectangular_domain3D():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.01, 1))
-    advec.apply(Simulation(0., 0.01, 1))
+    advec_py.apply(Simulation(0., 1., 0.01))
+    advec.apply(Simulation(0., 1., 0.01))
 
     py_res = scal_d.data[0].copy()
     scal_d.toHost()
@@ -945,8 +944,8 @@ def test_vector_2D():
     velo_d.toDevice()
 
     print np.max(scal_d.data[0] - scal_d.data[1])
-    advec_py.apply(Simulation(0., 0.01, 1))
-    advec.apply(Simulation(0., 0.01, 1))
+    advec_py.apply(Simulation(0., 1., 0.01))
+    advec.apply(Simulation(0., 1., 0.01))
 
     py_res_X = scal_d.data[0].copy()
     py_res_Y = scal_d.data[1].copy()
@@ -1006,8 +1005,8 @@ def test_vector_3D():
     scal_d.toDevice()
     velo_d.toDevice()
 
-    advec_py.apply(Simulation(0., 0.01, 1))
-    advec.apply(Simulation(0., 0.01, 1))
+    advec_py.apply(Simulation(0., 1., 0.01))
+    advec.apply(Simulation(0., 1., 0.01))
 
     py_res_X = scal_d.data[0].copy()
     py_res_Y = scal_d.data[1].copy()
@@ -1018,4 +1017,3 @@ def test_vector_3D():
     assert np.allclose(py_res_Y, scal_d.data[1], rtol=5e-02, atol=5e-05)
     assert np.allclose(py_res_Z, scal_d.data[2], rtol=5e-02, atol=5e-05)
     advec.finalize()
-
diff --git a/HySoP/hysop/gpu/tests/test_opencl_environment.py b/HySoP/hysop/gpu/tests/test_opencl_environment.py
index 1643ba3bd..46931e9af 100644
--- a/HySoP/hysop/gpu/tests/test_opencl_environment.py
+++ b/HySoP/hysop/gpu/tests/test_opencl_environment.py
@@ -1,6 +1,5 @@
 from parmepy.constants import np
-from parmepy.gpu.tools import get_opencl_environment, \
-    get_opengl_shared_environment
+from parmepy.gpu.tools import get_opencl_environment
 FLOAT_GPU = np.float32
 
 
diff --git a/HySoP/hysop/gpu/tests/test_transposition.py b/HySoP/hysop/gpu/tests/test_transposition.py
index 28873c2d3..fd245a3a5 100644
--- a/HySoP/hysop/gpu/tests/test_transposition.py
+++ b/HySoP/hysop/gpu/tests/test_transposition.py
@@ -256,7 +256,8 @@ def test_transposition_xz3D():
     src_transpose_xz = 'kernels/transpose_xz_noVec.cl'
     build_options = ""
     build_options += " -D NB_I=32 -D NB_II=32 -D NB_III=32"
-    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=4 -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
+    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=4"
+    build_options += " -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
     gwi = (int(resolution[0]),
            int(resolution[1] / 4),
            int(resolution[2] / 4))
@@ -302,7 +303,6 @@ def test_transposition_xz3D():
 
 def test_transposition_xz3D_rect():
     resolution = (32, 32, 64)
-    resolutionT = (64, 32, 32)
     cl_env = get_opencl_environment(0, 0, 'gpu', PARMES_REAL)
     vec = 1
     src_transpose_xz = 'kernels/transpose_xz_noVec.cl'
@@ -310,7 +310,8 @@ def test_transposition_xz3D_rect():
     # Settings are taken from destination layout as current layout.
     # gwi is computed form input layout (appears as transposed layout)
     build_options += " -D NB_I=64 -D NB_II=32 -D NB_III=32"
-    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=4 -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
+    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=4"
+    build_options += " -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
     gwi = (int(resolution[0]),
            int(resolution[1] / 4),
            int(resolution[2] / 4))
@@ -321,7 +322,8 @@ def test_transposition_xz3D_rect():
 
     build_options = ""
     build_options += " -D NB_I=32 -D NB_II=32 -D NB_III=64"
-    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=4 -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
+    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=4"
+    build_options += " -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
     gwi = (int(resolution[2]),
            int(resolution[1] / 4),
            int(resolution[0] / 4))
@@ -373,7 +375,8 @@ def test_transposition_xz3Dslice():
     src_transpose_xz = 'kernels/transpose_xz_slice_noVec.cl'
     build_options = ""
     build_options += " -D NB_I=32 -D NB_II=32 -D NB_III=32"
-    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=1 -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
+    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=1"
+    build_options += " -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
     gwi = (int(resolution[0]),
            int(resolution[1]),
            int(resolution[2] / 4))
@@ -419,7 +422,6 @@ def test_transposition_xz3Dslice():
 
 def test_transposition_xz3Dslice_rect():
     resolution = (32, 32, 64)
-    resolutionT = (64, 32, 32)
     cl_env = get_opencl_environment(0, 0, 'gpu', PARMES_REAL)
     vec = 1
     src_transpose_xz = 'kernels/transpose_xz_slice_noVec.cl'
@@ -427,7 +429,8 @@ def test_transposition_xz3Dslice_rect():
     # Settings are taken from destination layout as current layout.
     # gwi is computed form input layout (appears as transposed layout)
     build_options += " -D NB_I=64 -D NB_II=32 -D NB_III=32"
-    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=1 -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
+    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=1"
+    build_options += " -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
     gwi = (int(resolution[0]),
            int(resolution[1]),
            int(resolution[2] / 4))
@@ -438,7 +441,8 @@ def test_transposition_xz3Dslice_rect():
 
     build_options = ""
     build_options += " -D NB_I=32 -D NB_II=32 -D NB_III=64"
-    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=1 -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
+    build_options += " -D TILE_DIM_XZ=16 -D BLOCK_ROWS_XZ=1"
+    build_options += " -D BLOCK_DEPH_XZ=4 -D PADDING_XZ=1"
     gwi = (int(resolution[2]),
            int(resolution[1]),
            int(resolution[0] / 4))
diff --git a/HySoP/hysop/gpu/tools.py b/HySoP/hysop/gpu/tools.py
index b33a41a73..e6ec65a29 100644
--- a/HySoP/hysop/gpu/tools.py
+++ b/HySoP/hysop/gpu/tools.py
@@ -72,7 +72,6 @@ class OpenCLEnvironment(object):
         self.kernels_config = kernel_cfg
         self._locMem_Buffers = {}
 
-
     def modify(self, platform_id, device_id, device_type,
                precision, gl_sharing=False):
         """
diff --git a/HySoP/hysop/mpi/topology.py b/HySoP/hysop/mpi/topology.py
index 3f8fc6b37..4ddc7e3f6 100644
--- a/HySoP/hysop/mpi/topology.py
+++ b/HySoP/hysop/mpi/topology.py
@@ -75,7 +75,7 @@ class Cartesian(object):
         # to 0 if shape[:] = 1
         ## (Source) Communicator used to build the topology
         if comm is None:
-             from parmepy.mpi.main_var import main_comm as comm
+            from parmepy.mpi.main_var import main_comm as comm
         self._comm_origin = comm
         ## number of process in comm_origin
         self._origin_size = self._comm_origin.Get_size()
@@ -215,10 +215,6 @@ class Cartesian(object):
         newId = self.domain.register(self)
         self.isNew = True
         if newId >= 0:
-            s = "A similar topology already exist in the domain's list."
-            s += "You'd rather destroy this one and use topo of id"
-            s += str(newId)
-            print s
             self.isNew = False
 
     def getParent(self):
@@ -227,12 +223,6 @@ class Cartesian(object):
         """
         return self._comm_origin
 
-    def setParent(self, comm):
-        """
-        returns the communicator used to build this topology
-        """
-        self._comm_origin = comm
-
     @debug
     def setUp(self):
         """Topology set up.
@@ -697,8 +687,6 @@ class Bridge(object):
         return s
 
 
-
-
 class Bridge_intercomm(object):
     """
     This bridge is defined as the Bridge class.
diff --git a/HySoP/hysop/numerics/differential_operations.py b/HySoP/hysop/numerics/differential_operations.py
index 9773a8e19..1575827da 100755
--- a/HySoP/hysop/numerics/differential_operations.py
+++ b/HySoP/hysop/numerics/differential_operations.py
@@ -6,7 +6,7 @@ Library of functions used to perform classical vector calculus
 """
 from parmepy.constants import debug, XDIR, YDIR, ZDIR
 from abc import ABCMeta, abstractmethod
-from parmepy.numerics.finite_differences import FD_C_4, FD2_C_2, FD_C_2
+from parmepy.numerics.finite_differences import FD_C_4, FD2_C_2
 import numpy as np
 
 
@@ -326,107 +326,6 @@ class Laplacian(DifferentialOperation):
         return result
 
 
-class DivStressTensor3D(DifferentialOperation):
-    """
-    Computes the 3D stress tensor T defined by 
-    \f$ T=div(\nabla.(U) + \nabla^{T}.(U)) \f$,
-    \f$U\f$ being a velocity vector field.
-
-    Methods :
-    1 - FD_C_4 (default) : 4th order, centered finite differences, with
-    local workspace and based on fd.compute_and_add.
-    init : func = GradS(topo, method)
-    call : result = func(var, result)
-
-    var stands for the vector field U.
-    result must be a vector field (same number of components as var),
-    each component with the same size as var[i].
-    work must be a three component vector field
-    each component with the same size as var[i].
-
-    """
-    def __init__(self, topo, method=FD_C_2):
-        if method is FD_C_4:
-            raise ValueError("4th order scheme Not yet implemented")
-        else :
-            # - 2nd ordered FD
-            # - with work
-            # - fd.compute_and_add method
-
-            # connect call function
-            self.fcall = self.FDCentral2
-            self.fd_scheme = FD_C_2((topo.mesh.space_step))
-
-    @staticmethod
-    def getWorkLengths(nb_components=None, domain_dim=None, fd_method=None):
-        return 0
-
-    def __call__(self, var, result, ind):
-        assert result[0].shape == var[0].shape
-        return self.fcall(var, result, ind)
-
-    def FDCentral2(self, var, result, ind):
-        """
-        """
-        # compute indices according to "ind" list
-        self._indices = ind
-        self.fd_scheme.computeIndices(self._indices)
-        self.fd_scheme.computeIndices_crossed(self._indices)
-
-        # 1st component of the stress tensor
-        # ----- 2 * d2ux/dx2
-        self.fd_scheme.compute_2nd_deriv(var[XDIR], XDIR, result[XDIR])
-        result[XDIR][...] *= 2.
-        # ----- += d2ux/dy2
-        self.fd_scheme.compute_and_add_2nd_deriv(var[XDIR], YDIR, 
-                                                 result[XDIR])
-        # ----- += d2ux/dz2
-        self.fd_scheme.compute_and_add_2nd_deriv(var[XDIR], ZDIR, 
-                                                 result[XDIR])
-        # ----- += d2uy/dxdy
-        self.fd_scheme.compute_and_add_2nd_crossed_deriv(var[YDIR], XDIR,
-                                                         YDIR, result[XDIR])
-        # ----- += d2uz/dxdz
-        self.fd_scheme.compute_and_add_2nd_crossed_deriv(var[ZDIR], XDIR, 
-                                                         ZDIR, result[XDIR])
-
-        # 2nd component of the stress tensor
-        # ----- 2 * d2uy/dy2
-        self.fd_scheme.compute_2nd_deriv(var[YDIR], YDIR, result[YDIR])
-        result[YDIR][...] *= 2.
-        # ----- += d2uy/dx2
-        self.fd_scheme.compute_and_add_2nd_deriv(var[YDIR], XDIR, 
-                                                 result[YDIR])
-        # ----- += d2uy/dz2
-        self.fd_scheme.compute_and_add_2nd_deriv(var[YDIR], ZDIR, 
-                                                 result[YDIR])
-        # ----- += d2ux/dydx
-        self.fd_scheme.compute_and_add_2nd_crossed_deriv(var[XDIR], YDIR,
-                                                         XDIR, result[YDIR])
-        # ----- += d2uz/dydz
-        self.fd_scheme.compute_and_add_2nd_crossed_deriv(var[ZDIR], YDIR, 
-                                                         ZDIR, result[YDIR])
-
-        # 3rd component of the stress tensor
-        # ----- 2 * d2uz/dz2
-        self.fd_scheme.compute_2nd_deriv(var[ZDIR], ZDIR, result[ZDIR])
-        result[ZDIR][...] *= 2.
-        # ----- += d2uz/dx2
-        self.fd_scheme.compute_and_add_2nd_deriv(var[ZDIR], XDIR, 
-                                                 result[ZDIR])
-        # ----- += d2uz/dy2
-        self.fd_scheme.compute_and_add_2nd_deriv(var[ZDIR], YDIR, 
-                                                 result[ZDIR])
-        # ----- += d2ux/dzdx
-        self.fd_scheme.compute_and_add_2nd_crossed_deriv(var[XDIR], ZDIR,
-                                                         XDIR, result[ZDIR])
-        # ----- += d2uy/dzdy
-        self.fd_scheme.compute_and_add_2nd_crossed_deriv(var[YDIR], ZDIR, 
-                                                         YDIR, result[ZDIR])
-
-        return result
-
-
 class GradS(DifferentialOperation):
     """
     Computes \f$ \nabla\rho \f$, \f$ \rho\f$ a scalar field
diff --git a/HySoP/hysop/numerics/finite_differences.py b/HySoP/hysop/numerics/finite_differences.py
index a260da267..bc05d712a 100644
--- a/HySoP/hysop/numerics/finite_differences.py
+++ b/HySoP/hysop/numerics/finite_differences.py
@@ -19,14 +19,14 @@ class FiniteDifference(object):
     and initialize it with a step from domain discretisation description
 
     \code
-    >>> step = topo.mesh_space_step
-    >>> scheme = FD_C_4(step)
+    >> step = topo.mesh_space_step
+    >> scheme = FD_C_4(step)
     \endcode
 
     - Compute scheme indices, based on topology grid points :
 
     \code
-    >>> scheme.computeIndices(topo.mesh.iCompute)
+    >> scheme.computeIndices(topo.mesh.iCompute)
     \endcode
 
     2 - Computation
@@ -36,14 +36,14 @@ class FiniteDifference(object):
     \f$ result = \frac{\partial tab}{\partial dir}\f$ :
 
     \code
-    >>> scheme.compute(tab, dir, result)
+    >> scheme.compute(tab, dir, result)
     \endcode
 
     or :
     \f$ result = result + \frac{\partial tab}{\partial dir}\f$
 
     \code
-    >>> scheme.compute_and_add(tab, dir, result)
+    >> scheme.compute_and_add(tab, dir, result)
     \endcode
 
     Notes FP :
@@ -270,4 +270,3 @@ class FD_C_4(FiniteDifference):
                                                       tab[self._m1[cdir]]) +
                                                      tab[self._m2[cdir]] -
                                                      tab[self._a2[cdir]])
-
diff --git a/HySoP/hysop/numerics/tests/test_diffOp.py b/HySoP/hysop/numerics/tests/test_diffOp.py
index ecfa40007..c1b5b768c 100755
--- a/HySoP/hysop/numerics/tests/test_diffOp.py
+++ b/HySoP/hysop/numerics/tests/test_diffOp.py
@@ -4,7 +4,6 @@ import numpy as np
 from parmepy.fields.continuous import Field
 from parmepy.mpi.topology import Cartesian
 import parmepy.numerics.differential_operations as diffop
-from parmepy.numerics.updateGhosts import UpdateGhosts
 import parmepy.tools.numpywrappers as npw
 import math as m
 pi = m.pi
@@ -61,11 +60,10 @@ velo = Field(domain=box, formula=computeVel,
              name='Velocity', isVector=True)
 vorti = Field(domain=box, formula=computeVort,
               name='Vorticity', isVector=True)
-vorti.setTopoInit(topo)
 velo.discretize(topo)
 vorti.discretize(topo)
-velo.initialize()
-vorti.initialize()
+velo.initialize(topo=topo)
+vorti.initialize(topo=topo)
 wd = vorti.discreteFields[topo]
 vd = velo.discreteFields[topo]
 ind = topo.mesh.iCompute
@@ -88,13 +86,13 @@ def testDivWV():
     ref = Field(domain=box, formula=analyticalDivWV,
                 name='Analytical', isVector=True)
     ref.discretize(topo)
-    ref.initialize()
+    ref.initialize(topo=topo)
     refd = ref.discreteFields[topo]
     memshape = vd.data[0].shape
     # Div operator
-    lwork = diffop.DivV.getWorkLengths()
+    lwork = diffop.DivWV.getWorkLengths()
     work = [npw.zeros(memshape) for i in xrange(lwork)]
-    divOp = diffop.DivV(topo, work)
+    divOp = diffop.DivWV(topo, work)
     result = [npw.zeros(memshape) for i in xrange(3)]
     result = divOp(vd.data, wd.data, result)
 
@@ -110,7 +108,7 @@ def testGradVxW():
     ref = Field(domain=box, formula=analyticalGradVxW,
                 name='Analytical', isVector=True)
     ref.discretize(topo)
-    ref.initialize()
+    ref.initialize(topo=topo)
     refd = ref.discreteFields[topo]
     memshape = vd.data[0].shape
     lwork = diffop.GradVxW.getWorkLengths()
@@ -125,39 +123,3 @@ def testGradVxW():
     errX = (Lx / (nb - 1)) ** 4
     for i in xrange(3):
         assert np.allclose(refd[i][ind], result[i][ind], rtol=errX)
-
-
-def testDivStressTensor():
-    # Topologies
-#    topo1G = Cartesian(box, box.dimension, nbElem,
-#                       ghosts=[2, 2, 2])
-    topoNoG = Cartesian(box, box.dimension, nbElem)
-    ind = topo.mesh.iCompute
-    # Reference field
-    ref = Field(domain=box, formula=analyticalDivStressTensor,
-                name='Analytical', isVector=True)
-    ref.discretize(topoNoG)
-    ref.initialize()
-    refd = ref.discreteFields[topoNoG]
-    memshape = vd.data[0].shape
-
-    # prepare ghost points synchro for velocity
-    synchronize = UpdateGhosts(topo, velo.nbComponents)
-    synchronize(vd.data)
-
-    divTOp = diffop.DivStressTensor3D(topo)
-    result = [npw.zeros(memshape) for i in xrange(3)]
-    result = divTOp(vd.data, result, ind)
-
-    # Numerical VS analytical
-    Lx = box.length[0]
-    errX = (Lx / (nb - 1)) ** 2
-
-    for i in xrange(3):
-        assert np.allclose(refd[i], result[i][ind], rtol=errX)
-
-if __name__ == "__main__":
-    testDivWV()
-    testGradVxW()
-    testCurl()
-    testDivStressTensor()
diff --git a/HySoP/hysop/operator/__init__.py b/HySoP/hysop/operator/__init__.py
index 09b8f2632..8cebe57a8 100644
--- a/HySoP/hysop/operator/__init__.py
+++ b/HySoP/hysop/operator/__init__.py
@@ -24,3 +24,4 @@
 #  - method["Support"] = GPU, CPU
 #  - method["Formulation"] = Conservative, GradUW (may depends on the operator)
 #  - ...
+
diff --git a/HySoP/hysop/operator/adapt_timestep.py b/HySoP/hysop/operator/adapt_timestep.py
index 6cb987145..70662d439 100755
--- a/HySoP/hysop/operator/adapt_timestep.py
+++ b/HySoP/hysop/operator/adapt_timestep.py
@@ -6,26 +6,27 @@ Definition of the adaptative time step according to the flow fields.
 
 """
 from parmepy.constants import debug
-from parmepy.methods_keys import TimeIntegrator, SpaceDiscretisation, dtAdvecCrit
+from parmepy.methods_keys import TimeIntegrator, SpaceDiscretisation,\
+    dtAdvecCrit
 from parmepy.numerics.integrators.runge_kutta3 import RK3
 from parmepy.numerics.finite_differences import FD_C_4
 from parmepy.operator.discrete.adapt_timestep import AdaptTimeStep_D
 from parmepy.operator.continuous import Operator
+from parmepy.variable_parameter import VariableParameter
 import numpy as np
 
 
 class AdaptTimeStep(Operator):
     """
-    The adaptative Time Step is computed according to the following expression :
+    The adaptative Time Step is computed according
+    to the following expression :
     dt_adapt = min (dt_advection, dt_stretching, dt_cfl)
     """
 
     @debug
-    def __init__(self, velocity, vorticity, resolutions,
-                 dt_adapt=None,
-                 method=None,
-                 topo=None, ghosts=None, prefix='./dt.dat',
-                 task_id=None, comm=None, **other_config):
+    def __init__(self, velocity, vorticity, resolutions, dt_adapt,
+                 method=None, topo=None, ghosts=None, filename='./dt.dat',
+                 task_id=None, comm=None, time_range=None):
         """
         Create a timeStep-evaluation operator from given
         velocity and vorticity variables.
@@ -46,6 +47,11 @@ class AdaptTimeStep(Operator):
         @param topo : a predefined topology to discretize velocity/vorticity
         @param ghosts : number of ghosts points. Default depends on the method.
         Automatically computed if not set.
+        @param time_range : [start, end] use to define a 'window' in which
+        the current operator is applied. Outside start-end, this operator
+        has no effect. Start/end are iteration numbers.
+        Default = [2, endofsimu]
+
         """
         if method is None:
             method = {TimeIntegrator: RK3,
@@ -53,7 +59,6 @@ class AdaptTimeStep(Operator):
                       dtAdvecCrit: 'vort'}
         Operator.__init__(self, [velocity, vorticity], method, topo=topo,
                           ghosts=ghosts, task_id=task_id, comm=comm)
-        self.config = other_config
         ## velocity variable (vector)
         self.velocity = velocity
         ## vorticity variable (vector)
@@ -62,9 +67,12 @@ class AdaptTimeStep(Operator):
         self.resolutions = resolutions
         ## adaptative time step variable ("variable" object)
         self.dt_adapt = dt_adapt
+        assert isinstance(self.dt_adapt, VariableParameter)
+        # Check if 'dt' key is present in dt_adapt dict
+        assert 'dt' in self.dt_adapt.data
         ## Numerical methods for time and space discretization
         self.method = method
-        self.prefix = prefix
+        self.filename = filename
         assert SpaceDiscretisation in self.method.keys()
         assert TimeIntegrator in self.method.keys()
         if not dtAdvecCrit in self.method.keys():
@@ -72,6 +80,7 @@ class AdaptTimeStep(Operator):
 
         self.input = [self.velocity, self.vorticity]
         self.output = [self.vorticity]
+        self.time_range = time_range
 
     def discretize(self):
         if self.method[SpaceDiscretisation] is FD_C_4:
@@ -105,9 +114,8 @@ class AdaptTimeStep(Operator):
         self.discreteOperator =\
             AdaptTimeStep_D(self.discreteFields[self.velocity],
                             self.discreteFields[self.vorticity],
-                            self.dt_adapt,
-                            method=self.method, prefix=self.prefix,
-                            **self.config)
+                            self.dt_adapt, method=self.method,
+                            filename=self.filename, time_range=self.time_range)
 
         self.discreteOperator.setUp()
         self._isUpToDate = True
diff --git a/HySoP/hysop/operator/analytic.py b/HySoP/hysop/operator/analytic.py
index a71394ea9..78a176c42 100644
--- a/HySoP/hysop/operator/analytic.py
+++ b/HySoP/hysop/operator/analytic.py
@@ -77,13 +77,6 @@ class Analytic(Operator):
         for v in self.variables:
             v.initialize(simulation.time)
 
-    @debug
-    def finalize(self):
-        """
-        Memory cleaning.
-        """
-        pass
-
     def __str__(self):
         s = super(Analytic, self).__str__()
         if self.discreteOperator is None:
diff --git a/HySoP/hysop/operator/continuous.py b/HySoP/hysop/operator/continuous.py
index 641629c7f..7a8c0b546 100644
--- a/HySoP/hysop/operator/continuous.py
+++ b/HySoP/hysop/operator/continuous.py
@@ -99,6 +99,8 @@ class Operator(object):
         self.timer = Timer(self)
         ## Redistribute operator list that we must wait for.
         self.requirements = []
+        ## time monitoring
+        self.time_info = None
 
     @staticmethod
     def getWorkLengths():
@@ -133,7 +135,7 @@ class Operator(object):
     @abstractmethod
     def setUp(self):
         """
-        Last step of initializaton. After this, the operator must be
+        Last step of initialization. After this, the operator must be
         ready for apply call.
 
         Main step : setup for discrete operators.
@@ -144,8 +146,9 @@ class Operator(object):
         """
         Memory cleaning.
         """
-        self.discreteOperator.finalize()
-        self.timer = self.timer + self.discreteOperator.timer
+        if self.discreteOperator is not None:
+            self.discreteOperator.finalize()
+            self.timer = self.timer + self.discreteOperator.timer
 
     @debug
     def apply(self, simulation=None):
@@ -169,6 +172,7 @@ class Operator(object):
             shortName = str(self.__class__).rpartition('.')[-1][0:-2]
             s = '[' + str(main_rank) + '] ' + shortName
             s += " : operator not discretized --> no computation, time = 0."
+            print s
 
     def isUp(self):
         """
diff --git a/HySoP/hysop/operator/discrete/adapt_timestep.py b/HySoP/hysop/operator/discrete/adapt_timestep.py
index e49dfe835..c36d5d266 100755
--- a/HySoP/hysop/operator/discrete/adapt_timestep.py
+++ b/HySoP/hysop/operator/discrete/adapt_timestep.py
@@ -6,8 +6,9 @@ Evaluation of the adaptative time step according to the flow fields.
 """
 
 from parmepy.constants import debug
-from parmepy.methods_keys import TimeIntegrator, SpaceDiscretisation, dtAdvecCrit
-from parmepy.numerics.finite_differences import FD_C_4, FD_C_2
+from parmepy.methods_keys import TimeIntegrator, SpaceDiscretisation,\
+    dtAdvecCrit
+from parmepy.numerics.finite_differences import FD_C_4
 from parmepy.operator.discrete.discrete import DiscreteOperator
 from parmepy.numerics.integrators.euler import Euler
 from parmepy.numerics.integrators.runge_kutta2 import RK2
@@ -17,40 +18,48 @@ from parmepy.tools.timers import timed_function
 from parmepy.numerics.differential_operations import GradV
 import parmepy.tools.numpywrappers as npw
 from parmepy.numerics.updateGhosts import UpdateGhosts
-from parmepy.mpi import main_rank
 from parmepy.mpi import MPI
 from parmepy.constants import np, PARMES_MPI_REAL
+import scitools.filetable as ft
 import math
+import os
 ceil = math.ceil
 
 
 class AdaptTimeStep_D(DiscreteOperator):
     """
-    The adaptative Time Step is computed according to the following expression :
+    The adaptative Time Step is computed according
+    to the following expression :
     dt_adapt = min (dt_advection, dt_stretching, dt_cfl)
     """
 
     @debug
-    def __init__(self, velocity, vorticity,
-                 dt_adapt=None,
-                 method={TimeIntegrator: RK3, SpaceDiscretisation: FD_C_4,
-                 dtAdvecCrit: 'vort'},
-                 lcfl=0.125, cfl=0.5, prefix='./dt.dat'):
+    def __init__(self, velocity, vorticity, dt_adapt, method=None,
+                 lcfl=0.125, cfl=0.5, filename='./dt.dat', time_range=None):
         """
         @param velocity : discrete field
         @param vorticity : discrete field
-        @param dt_adapt : adaptative timestep variable
+        @param dt_adapt : adaptative timestep
+        (a parmepy.variable_parameter.VariableParameter)
         @param method : numerical method for space/time discretizations
-        @param lcfl : the lagrangian CFL coefficient used for advection stability
+        @param lcfl : the lagrangian CFL coefficient used
+        for advection stability
         @param cfl : the CFL coefficient.
+        @param filename : output file name
+        @param time_range : [start, end] use to define a 'window' in which
+        the current operator is applied. Outside start-end, this operator
+        has no effect. Start/end are iteration numbers.
+        Default = [2, endofsimu]
         """
         ## velocity discrete field
         self.velocity = velocity
         ## vorticity discrete field
         self.vorticity = vorticity
-        ## adaptative time step variable ("variable" object)
+        ## adaptative time step variable
         self.dt_adapt = dt_adapt
-
+        if method is None:
+            method = {TimeIntegrator: RK3, SpaceDiscretisation: FD_C_4,
+                      dtAdvecCrit: 'vort'}
         DiscreteOperator.__init__(self, [self.velocity, self.vorticity],
                                   method=method)
 
@@ -76,10 +85,17 @@ class AdaptTimeStep_D(DiscreteOperator):
 
         # Definition of criterion for dt_advec computation
         self.dtAdvecCrit = self.method[dtAdvecCrit]
-
-        self.prefix = prefix
-        if (main_rank == 0):
-            self.f = open(self.prefix, 'w')
+        ## Output file name
+        self.filename = filename
+        ## Time range
+        if time_range is None:
+            time_range = [2, np.infty]
+        self.time_range = time_range
+
+        # local buffer :
+        # [time, dt, d1, d2, d3, d4, d5]
+        # for d1...d5 see computation details in apply.
+        self.diagnostics = npw.zeros((7))
 
     def setUp(self):
 
@@ -87,26 +103,32 @@ class AdaptTimeStep_D(DiscreteOperator):
         self._synchronize = UpdateGhosts(self.velocity.topology,
                                          self.velocity.nbComponents)
 
+        if self.velocity.topology.rank == 0:
+            # Create output dir if required
+            d = os.path.dirname(self.filename)
+            if not os.path.exists(d):
+                os.makedirs(d)
+            self._file = open(self.filename, 'w')
         # gradU function
         self._function = GradV(self.velocity.topology,
                                method=self.method[SpaceDiscretisation])
         memshape = self.velocity.data[0].shape
         worklength = self.velocity.nbComponents ** 2
-        # gradU result array
-        self.grad = [npw.zeros(memshape)
-                     for i in xrange(worklength)]
+        # gradU result array.
+        self.grad = [npw.zeros(memshape) for i in xrange(worklength)]
 
         self._isUpToDate = True
 
     @timed_function
-    def apply(self, simulation):
+    def apply(self, simulation=None):
         if simulation is None:
             raise ValueError("Missing simulation value for computation.")
         # current time
         time = simulation.time
         iteration = simulation.currentIteration
-
-        if iteration >= 2:
+        Nmax = min(simulation.iterMax, self.time_range[1])
+        self.diagnostics[0] = time
+        if iteration >= self.time_range[0] and iteration <= Nmax:
             # Calling for requirements completion
             DiscreteOperator.apply(self, simulation)
 
@@ -114,25 +136,30 @@ class AdaptTimeStep_D(DiscreteOperator):
             self._synchronize(self.velocity.data)
             # gradU computation
             self.grad = self._function(self.velocity.data, self.grad)
-
-            diagnostics = npw.zeros((5))
+            self.diagnostics[2:] = 0.0
             nbComponents = self.velocity.nbComponents
             for direc in xrange(nbComponents):
-                # maxima of partial derivatives of velocity : needed for advection stability condition (1st option)
-                diagnostics[0] = max(diagnostics[0],
-                                    np.max(abs(self.grad[(nbComponents + 1) * direc])))
-
-                # maxima of partial derivatives of velocity: needed for stretching stability condition
-                diagnostics[1] = max(diagnostics[1],
-                                    np.max(sum([abs(self.grad[i])
-                                            for i in xrange(nbComponents * direc,
-                                                            nbComponents * (direc +1 ))])))
+                # maxima of partial derivatives of velocity :
+                # needed for advection stability condition (1st option)
+                tmp = np.max(abs(self.grad[(nbComponents + 1) * direc]))
+                self.diagnostics[2] = max(self.diagnostics[2], tmp)
+
+                # maxima of partial derivatives of velocity:
+                # needed for stretching stability condition
+                tmp = np.max(sum([abs(self.grad[i])
+                                  for i in xrange(nbComponents * direc,
+                                                  nbComponents * (direc + 1))
+                                  ]))
+                self.diagnostics[3] = max(self.diagnostics[3], tmp)
+
                 # maxima of velocity : needed for CFL based time step
-                diagnostics[2] = max(diagnostics[2],
-                                    np.max(abs(self.velocity.data[direc])))
-                # maxima of vorticity : needed for advection stability condition (2nd option)
-                diagnostics[3] = max(diagnostics[3],
-                                    np.max(abs(self.vorticity.data[direc])))
+                tmp = np.max(abs(self.velocity.data[direc]))
+                self.diagnostics[4] = max(self.diagnostics[4], tmp)
+
+                # maxima of vorticity :
+                # needed for advection stability condition (2nd option)
+                tmp = np.max(abs(self.vorticity.data[direc]))
+                self.diagnostics[5] = max(self.diagnostics[5], tmp)
 
             # 1/2(gradU + gradU^T) computation
             self.grad[1] += self.grad[3]
@@ -144,26 +171,28 @@ class AdaptTimeStep_D(DiscreteOperator):
             self.grad[3][...] = self.grad[1][...]
             self.grad[6][...] = self.grad[2][...]
             self.grad[7][...] = self.grad[5][...]
+            # maxima of deformation tensor:
+            # needed for advection stability condition (3rd option)
             for direc in xrange(nbComponents):
-                # maxima of deformation tensor: needed for advection stability condition (3rd option)
-                diagnostics[4] = max(diagnostics[4],
-                                    np.max(sum([abs(self.grad[i])
-                                            for i in xrange(nbComponents * direc,
-                                                            nbComponents * (direc +1 ))])))
+                tmp = np.max(sum([abs(self.grad[i])
+                                  for i in xrange(nbComponents * direc,
+                                                  nbComponents * (direc + 1))
+                                  ]))
+                self.diagnostics[6] = max(self.diagnostics[6], tmp)
 
             # definition of dt_advection
             if self.dtAdvecCrit == 'gradU':
             # => based on gradU
-                dt_advec = self.lcfl / diagnostics[0]
+                dt_advec = self.lcfl / self.diagnostics[2]
             elif self.dtAdvecCrit == 'deform':
             # => based on the deformations
-                dt_advec = self.lcfl / diagnostics[4]
+                dt_advec = self.lcfl / self.diagnostics[6]
             else:
             # => based on the vorticity
-                dt_advec = self.lcfl / diagnostics[3]
+                dt_advec = self.lcfl / self.diagnostics[5]
 
             # definition of dt_stretching
-            dt_stretch = self.coef_stretch / diagnostics[1]
+            dt_stretch = self.coef_stretch / self.diagnostics[3]
 
             # round dt_advec
 #            pow_adv = 0
@@ -183,24 +212,24 @@ class AdaptTimeStep_D(DiscreteOperator):
 
             # redefine timestep
             if self.cfl is None:
-                self.dt_adapt.data[0] = min(dt_advec, dt_stretch)
-            else :
+                self.dt_adapt['dt'] = min(dt_advec, dt_stretch)
+            else:
                 # definition of dt_cfl
-                dt_cfl = (self.cfl * self.velocity.topology.mesh.space_step[0]) / (diagnostics[2])
-                self.dt_adapt.data[0] = min(dt_advec, dt_stretch, dt_cfl)
+                h = self.velocity.topology.mesh.space_step[0]
+                dt_cfl = (self.cfl * h) / (self.diagnostics[4])
+                self.dt_adapt['dt'] = min(dt_advec, dt_stretch, dt_cfl)
 
-            self.dt_adapt.data[0] = \
+            self.dt_adapt['dt'] = \
                 self.velocity.topology.comm.allreduce(self.dt_adapt.data[0],
-                                                    PARMES_MPI_REAL, op=MPI.MIN)
-
-
-            if ((main_rank == 0)):
-                self.f = open(self.prefix, 'a')
-                self.f.write("%s   %s   %s   %s   %s   %s   %s\n" % (time,
-                                                                    self.dt_adapt.data[0],
-                                                                    diagnostics[0],
-                                                                    diagnostics[1],
-                                                                    diagnostics[2],
-                                                                    diagnostics[3],
-                                                                    diagnostics[4]))
-                self.f.close()
+                                                      PARMES_MPI_REAL,
+                                                      op=MPI.MIN)
+            self.diagnostics[1] = self.dt_adapt['dt']
+            if self.velocity.topology.rank == 0:
+                self.writeToFile()
+            # Update simulation time step with the new dt
+            simulation.updateTimeStep(self.dt_adapt['dt'])
+
+    def writeToFile(self):
+        self._file = open(self.filename, 'a')
+        ft.write(self._file, self.diagnostics)
+        self._file.close()
diff --git a/HySoP/hysop/operator/discrete/discrete.py b/HySoP/hysop/operator/discrete/discrete.py
index 02d54ba6f..a752db902 100644
--- a/HySoP/hysop/operator/discrete/discrete.py
+++ b/HySoP/hysop/operator/discrete/discrete.py
@@ -101,6 +101,7 @@ class DiscreteOperator(object):
         return self._isUpToDate
 
     @debug
+    @abstractmethod
     def apply(self, simulation=None):
         """
         Apply this operator to its variables.
diff --git a/HySoP/hysop/operator/discrete/poisson_fft.py b/HySoP/hysop/operator/discrete/poisson_fft.py
index ab2df6eeb..9e24ff4f3 100644
--- a/HySoP/hysop/operator/discrete/poisson_fft.py
+++ b/HySoP/hysop/operator/discrete/poisson_fft.py
@@ -5,10 +5,8 @@ Discrete operator for Poisson problem (fftw based)
 """
 import parmepy.tools.numpywrappers as npw
 from parmepy.f2py import fftw2py
-from discrete import DiscreteOperator
+from parmepy.operator.discrete.discrete import DiscreteOperator
 from parmepy.constants import debug, prof
-from parmepy.tools.timers import timed_function
-from parmepy.variables.variables import Variables
 from parmepy.mpi import MPI
 
 
@@ -19,111 +17,157 @@ class PoissonFFT(DiscreteOperator):
     """
 
     @debug
-    def __init__(self, velocity, vorticity, method=None, projection=None,
-                 multires=False, filterSize=None):
+    def __init__(self, velocity, vorticity, projection=None,
+                 multires=False, filterSize=None, correction=None):
         """
         Constructor.
         @param[out] velocity : discretisation of the solution field
         @param[in] vorticity : discretisation of the RHS (mind the minus rhs!)
+        @param projection :
+        @param[in] multires : true if velo/vorticity do not have the same
+        resolution
+        @param filterSize :
+        @param correction : operator used to shift velocity according
+        to a given input (fixed) flowrate.
+        See parmepy.operator.velocity_correction.
+        Default = None.
         """
         ## Solution field
         self.velocity = velocity
         ## RHS field
         self.vorticity = vorticity
         ## Solenoidal projection of vorticity ?
-        if (isinstance(projection, Variables)):
-            self.projection = projection.data
-        else:
-            self.projection = projection
-        ## Multiresolution ?
-        self.multires = multires
+        self.projection = projection
         ## Filter size array = domainLength/(CoarseRes-1)
         self.filterSize = filterSize
         # Base class initialisation
-        DiscreteOperator.__init__(self, [velocity, vorticity], method)
+        DiscreteOperator.__init__(self, [velocity, vorticity])
 
         # If 2D problem, vorticity must be a scalar
-        if self.velocity.dimension == 2:
+        self.dim = self.velocity.domain.dimension
+        if self.dim == 2:
             assert self.vorticity.nbComponents == 1
-            ## fftw solver case (2 or 3D)
-            self.case = '2D'
-        elif self.velocity.dimension == 3:
-            self.case = '3D'
-        else:
+
+        if self.dim != 2 and self.dim != 3:
             raise AttributeError("Wrong problem dimension: only 2D \
                                         and 3D cases are implemented.")
 
         self.input = [self.vorticity]
         self.output = [self.velocity]
-        # If there is a projection, vorticity is also an output
-        if self.projection is not None and self.projection[0]:
-            self.output.append(self.vorticity)
+        ## Multiresolution ?
+        self.multires = multires
 
-    @debug
-    @prof
-    def apply(self, simulation):
-        # Calling for requirements completion
-        DiscreteOperator.apply(self, simulation)
-        ctime = MPI.Wtime()
+        # connexion to the required apply function
+        # (to avoid 'if' calls during apply)
+        if self.dim == 2:
+            self._solve = self._solve2D
+        elif self.dim == 3:
+            # If there is a projection, vorticity is also an output
+            if self.projection is not None:
+                self.output.append(self.vorticity)
+                if self.multires:
+                    self._solve = self._solve3D_proj_multires
+                else:
+                    self._solve = self._solve3D_proj
+            else:
+                if self.multires:
+                    self._solve = self._solve3D_multires
+                else:
+                    self._solve = self._solve3D
+
+        # Operator to shift velocity according to an input required flowrate
+        if correction is not None:
+            self.correctionOp = correction
+            self.solve = self._solve_and_correct
+        else:
+            self.solve = self._solve
+
+    def _solve2D(self, simu=None):
+        """
+        Solve 2D poisson problem
+        """
+        self.velocity.data[0], self.velocity.data[1] =\
+            fftw2py.solve_poisson_2d(self.vorticity.data,
+                                     self.velocity.data[0],
+                                     self.velocity.data[1])
+
+    def _project(self):
+        """
+        apply projection onto vorticity
+        """
+        ghosts_w = self.vorticity.topology.ghosts
+        self.vorticity.data[0], self.vorticity.data[1], \
+            self.vorticity.data[2] = \
+               fftw2py.projection_om_3d(self.vorticity.data[0],
+                                        self.vorticity.data[1],
+                                        self.vorticity.data[2], ghosts_w)
 
-        ite = simulation.currentIteration
+    def _solve3D_multires(self, simu=None):
+        """
+        3D, multiresolution
+        """
+        # Projects vorticity values from fine to coarse grid
+        # in frequencies space by nullifying the smallest modes
+        vortFilter = npw.copy(self.vorticity.data)
+        vortFilter[0], vortFilter[1], vortFilter[2] = \
+           fftw2py.multires_om_3d(self.filterSize[0], self.filterSize[1],
+                                  self.filterSize[2], self.vorticity.data[0],
+                                  self.vorticity.data[1],
+                                  self.vorticity.data[2])
+
+        # Solves Poisson equation using filter vorticity
         ghosts_v = self.velocity.topology.ghosts
         ghosts_w = self.vorticity.topology.ghosts
-        if self.case is '2D':
-            self.velocity.data[0], self.velocity.data[1] =\
-                fftw2py.solve_poisson_2d(self.vorticity.data,
-                                         self.velocity.data[0],
-                                         self.velocity.data[1])
-
-        elif self.case is '3D':
-            #=== SOLENOIDAL PROJECTION OF VORTICITY FIELD ===
-            if (self.projection is not None and self.projection[0] \
-                and ite % self.projection[1] == 0):
-                self.vorticity.data[0], self.vorticity.data[1], \
-                    self.vorticity.data[2] = \
-                    fftw2py.projection_om_3d(self.vorticity.data[0],
-                                             self.vorticity.data[1],
-                                             self.vorticity.data[2],
-                                             ghosts_w)
-
-            if (self.multires):
-                # Projects vorticity values from fine to coarse grid
-                # in frequencies space by nullifying the smallest modes
-                vortFilter = npw.copy(self.vorticity.data)
-                vortFilter[0], vortFilter[1], \
-                    vortFilter[2] = \
-                    fftw2py.multires_om_3d(self.filterSize[0],
-                                           self.filterSize[1],
-                                           self.filterSize[2],
-                                           self.vorticity.data[0],
-                                           self.vorticity.data[1],
-                                           self.vorticity.data[2])
-
-                # Solves Poisson equation using filter vorticity
-                self.velocity.data[0], self.velocity.data[1], \
-                    self.velocity.data[2] = \
-                    fftw2py.solve_poisson_3d(vortFilter[0],
-                                             vortFilter[1],
-                                             vortFilter[2],
-                                             self.velocity.data[0],
-                                             self.velocity.data[1],
-                                             self.velocity.data[2],
-                                             ghosts_w, ghosts_v)
+        self.velocity.data[0], self.velocity.data[1], self.velocity.data[2] = \
+            fftw2py.solve_poisson_3d(vortFilter[0], vortFilter[1],
+                                     vortFilter[2], self.velocity.data[0],
+                                     self.velocity.data[1],
+                                     self.velocity.data[2], ghosts_w, ghosts_v)
 
-            else:
-                # Solves Poisson equation using usual vorticity
-                self.velocity.data[0], self.velocity.data[1], \
-                    self.velocity.data[2] = \
-                    fftw2py.solve_poisson_3d(self.vorticity.data[0],
-                                             self.vorticity.data[1],
-                                             self.vorticity.data[2],
-                                             self.velocity.data[0],
-                                             self.velocity.data[1],
-                                             self.velocity.data[2],
-                                             ghosts_w, ghosts_v)
+    def _solve3D_proj_multires(self, simu):
+        """
+        3D, multiresolution, with projection
+        """
+        ite = simu.currentIteration
+        if self.projection.doProjection(ite):
+            self._project()
+        self._solve3D_multires()
 
-        else:
-            raise ValueError("invalid problem dimension")
+    def _solve3D_proj(self, simu):
+        """
+        3D, with projection
+        """
+        ite = simu.currentIteration
+        if self.projection.doProjection(ite):
+            self._project()
+        self._solve3D()
+
+    def _solve3D(self,simu=None):
+        """
+        Basic solve
+        """
+        # Solves Poisson equation using usual vorticity
+        ghosts_v = self.velocity.topology.ghosts
+        ghosts_w = self.vorticity.topology.ghosts
+        self.velocity.data[0], self.velocity.data[1], self.velocity.data[2] =\
+            fftw2py.solve_poisson_3d(self.vorticity.data[0],
+                                     self.vorticity.data[1],
+                                     self.vorticity.data[2],
+                                     self.velocity.data[0],
+                                     self.velocity.data[1],
+                                     self.velocity.data[2], ghosts_w, ghosts_v)
+
+    def _solve_and_correct(self, simu):
+        self._solve(simu.currentIteration)
+        self.correctionOp.apply(simu)
+
+    @debug
+    @prof
+    def apply(self, simulation=None):
+        # Calling for requirements completion
+        DiscreteOperator.apply(self, simulation)
+        ctime = MPI.Wtime()
+        self.solve(simulation)
         self._apply_timer.append_time(MPI.Wtime() - ctime)
 
     def finalize(self):
diff --git a/HySoP/hysop/operator/discrete/velocity_correction.py b/HySoP/hysop/operator/discrete/velocity_correction.py
index f36f88ad4..e574cf49d 100755
--- a/HySoP/hysop/operator/discrete/velocity_correction.py
+++ b/HySoP/hysop/operator/discrete/velocity_correction.py
@@ -15,116 +15,128 @@ from parmepy.mpi import MPI
 
 class VelocityCorrection_D(DiscreteOperator):
     """
-    The velocity field is corrected after solving the 
-    Poisson equation. For more details about calculations, 
-    see the "velocity_correction.pdf" explanations document 
+    The velocity field is corrected after solving the
+    Poisson equation. For more details about calculations,
+    see the "velocity_correction.pdf" explanations document
     in ParmeDoc directory.
     """
 
     @debug
-    def __init__(self, velocity, vorticity, uinf):
+    def __init__(self, velocity, vorticity, req_flowrate, cb=None):
         """
-        @param velocity : discrete field
+        @param[in, out] velocity field to be corrected
+        @param[in] vorticity field used to compute correction
+        @param[in] req_flowrate : required value for the flowrate
+        @param[in] surf : surface (parmepy.domain.obstacle.planes.SubPlane)
+        used to compute reference flow rates. Default = surface at x_origin,
+        normal to x-dir.
         """
         ## velocity discrete field
         self.velocity = velocity
         ## vorticity discrete field
         self.vorticity = vorticity
-        ## free stream velocity
-        self.uinf = uinf
-
+        ## domain dimension
+        self.dim = self.velocity.domain.dimension
         # If 2D problem, vorticity must be a scalar
-        if self.velocity.dimension == 2:
+        if self.dim == 2:
             assert self.vorticity.nbComponents == 1
-            self.case = '2D'
-        elif self.velocity.dimension == 3:
-            self.case = '3D'
-        else:
-            raise AttributeError("Wrong problem dimension: only 2D \
-                                        and 3D cases are implemented.")
+        assert (self.dim == 2 or self.dim == 3),\
+            "Wrong problem dimension: only 2D and 3D cases are implemented."
 
         DiscreteOperator.__init__(self, [self.velocity, self.vorticity])
 
         self.input = [self.velocity, self.vorticity]
         self.output = [self.velocity]
+        ## Velocity from topology will be used as reference
+        self.topo = self.velocity.topology
+        hh = self.topo.mesh.space_step
+        self.cb = cb
+        self.cb.discretize(self.topo)
+        self.surfRef = cb.lowerS[XDIR]
+        normal = self.surfRef.normal
+        dirs = np.where(normal == 0)[0]
+        self.ds = np.prod(self.surfRef.lengths[dirs] + hh[dirs])
+        ## Expected value for the flow rate through self.surfRef
+        ## warning : divided with area of input surf.
+        self.req_flowrate = req_flowrate / self.ds
+        ## The correction that must be applied on each
+        ## component of the velocity.
+        self.velocity_shift = npw.zeros(self.dim)
+        nbf = self.velocity.nbComponents + self.vorticity.nbComponents
+        # temp buffer, used to save flow rates and mean
+        # values of vorticity
+        self.rates = npw.zeros(nbf)
 
     def setUp(self):
-        spaceStep = self.velocity.topology.mesh.space_step
-        lengths = self.velocity.topology.domain.length
-        self.coeff_mean = np.prod(spaceStep) / np.prod(lengths)
-        self.x0_coord = self.velocity.topology.domain.origin[XDIR]
-        self.x_coord = self.velocity.topology.mesh.coords[XDIR]
-        if self.case is '2D':
-            self.surf = lengths[YDIR]
-            self.dvol = spaceStep[YDIR]
-        elif self.case is '3D':
-            self.surf = lengths[YDIR] * lengths[ZDIR]
-            self.dvol = spaceStep[YDIR] * spaceStep[ZDIR]
-        else:
-            raise ValueError("invalid problem dimension")
-        self.comput_flowrates = npw.zeros((3))
-
+        spaceStep = self.topo.mesh.space_step
+        lengths = self.topo.domain.length
+        self.coeff_mean = npw.prod(spaceStep) / npw.prod(lengths)
+        x0 = self.topo.domain.origin[XDIR]
+        self.x_coord = self.topo.mesh.coords[XDIR] - x0
         self._isUpToDate = True
 
-    @timed_function
-    def apply(self, simulation):
-        ## Calling for requirements completion
-        DiscreteOperator.apply(self, simulation)
-        ctime = MPI.Wtime()
-
-        ## Computation of the flowrates evaluated from 
+    def computeCorrection(self):
+        """
+        Compute the required correction for the current state
+        but do not apply it onto velocity.
+        """
+        ## Computation of the flowrates evaluated from
         ## current (ie non corrected) velocity
-        local_comput_flowrates = npw.zeros((3))
+        ## local flow reduced only on proc 0
+        nbf = self.velocity.nbComponents + self.vorticity.nbComponents
+        localrates = npw.zeros((nbf))
         for i in xrange(self.velocity.nbComponents):
-            local_comput_flowrates[i] = np.sum(self.velocity[i][...])
-
-        recvbuff = npw.zeros((3))
-        self.velocity.topology.topo.Allreduce(local_comput_flowrates, 
-                                              recvbuff)
+            localrates[i] = self.velocity.integrateOnSurf_proc(self.surfRef,
+                                                               component=i)
+        start = self.velocity.nbComponents
+        ## Integrate vorticity over the whole domain
+        for i in xrange(self.vorticity.nbComponents):
+            localrates[start + i] = \
+                self.vorticity.integrate_on_proc(self.cb, component=i)
+
+        # MPI reduction for rates
+        # rates = [flowrate[X], flowrate[Y], flowrate[Z],
+        #          vort_mean[X], ..., vort_mean[Z]]
+        # or (in 2D) = [flowrate[X], flowrate[Y], vort_mean]
+        self.velocity.topology.comm.Allreduce(localrates, self.rates)
+
+        # Set velocity_shift == [Vx_shift, vort_mean[Y], vort_mean[Z]]
+        # or (in 2D) velocity_shift == [Vx_shift, vort_mean]
+        # Velocity shift for main dir component
+        self.velocity_shift[XDIR] = self.req_flowrate\
+            - self.rates[XDIR] / self.ds
+        # Shifts in other directions depend on x coord
+        # and will be computed during apply.
 
-        for i in xrange(self.velocity.nbComponents):
-            self.comput_flowrates[i] = recvbuff[i] * self.dvol
-
-        ## Correction of the X-velocity component
-        self.velocity[XDIR][...] += self.uinf - \
-                                    self.comput_flowrates[XDIR] / self.surf
-
-        ## Correction of the other velocity components
-        if self.case is '2D':
-            # Computation of vorticity mean (in space)
-            local_vort_mean = np.sum(self.vorticity[0][...])
-            recvbuff = 0.0
-            self.velocity.topology.topo.Allreduce(local_vort_mean,
-                                                  recvbuff)
-            vort_mean = recvbuff * self.coeff_mean
+    @timed_function
+    def apply(self, simulation=None):
+        # Calling for requirements completion
+        DiscreteOperator.apply(self, simulation)
+        ctime = MPI.Wtime()
 
+        # Computation of the required velocity shift
+        # for the current state
+        self.computeCorrection()
+        iCompute = self.topo.mesh.iCompute
+
+        # Apply shift to velocity
+        self.velocity[XDIR][iCompute] += self.velocity_shift[XDIR]
+        start = self.velocity.nbComponents
+        # reminder : self.rates =[vx_shift, flowrates[Y], flowrate[Z],
+        #                         vort_mean[X], vort_mean[Y], vort_mean[Z]]
+        # or (in 2D) [vx_shift, flowrates[Y], vort_mean]
+        vort_mean = self.rates[start:]
+        if self.dim == 2:
             # Correction of the Y-velocity component
-            self.velocity[YDIR][...] += vort_mean * \
-                                        (self.x_coord - self.x0_coord) - \
-                                        self.comput_flowrates[YDIR] \
-                                        / self.surf
-
-        elif self.case is '3D':
-            # Computation of Y and Z-vorticity means (in space)
-            local_vort_Y_mean = np.sum(self.vorticity[YDIR][...])
-            local_vort_Z_mean = np.sum(self.vorticity[ZDIR][...])
-
-            sendbuff = npw.zeros((2))
-            recvbuff = npw.zeros((2))
-            sendbuff[:] = [local_vort_Y_mean, local_vort_Z_mean]
-            self.velocity.topology.topo.Allreduce(sendbuff, recvbuff)
-            vort_mean = recvbuff * self.coeff_mean
+            self.velocity[YDIR][...] += vort_mean[XDIR] * self.x_coord \
+                - self.rates[YDIR] / self.ds
 
+        elif self.dim == 3:
             # Correction of the Y and Z-velocity components
-            self.velocity[YDIR][...] += vort_mean[1] * \
-                                        (self.x_coord - self.x0_coord) - \
-                                        self.comput_flowrates[YDIR] \
-                                        / self.surf
-            self.velocity[ZDIR][...] += vort_mean[0] * \
-                                        (self.x_coord - self.x0_coord) - \
-                                        self.comput_flowrates[ZDIR] \
-                                        / self.surf
-
-        else:
-            raise ValueError("invalid problem dimension")
+            self.velocity[YDIR][...] += vort_mean[ZDIR] * self.x_coord - \
+                self.rates[YDIR] / self.ds
+            self.velocity[ZDIR][...] += -vort_mean[YDIR] * self.x_coord - \
+                self.rates[ZDIR] / self.ds
+
         self._apply_timer.append_time(MPI.Wtime() - ctime)
+
diff --git a/HySoP/hysop/operator/energy_enstrophy.py b/HySoP/hysop/operator/energy_enstrophy.py
index cb6819178..33644d0df 100644
--- a/HySoP/hysop/operator/energy_enstrophy.py
+++ b/HySoP/hysop/operator/energy_enstrophy.py
@@ -8,8 +8,6 @@ from parmepy.constants import debug, XDIR
 from parmepy.operator.monitors.monitoring import Monitoring
 from parmepy.tools.timers import timed_function
 import parmepy.tools.numpywrappers as npw
-import scitools.filetable as ft
-import os
 
 
 class Energy_enstrophy(Monitoring):
@@ -25,8 +23,8 @@ class Energy_enstrophy(Monitoring):
     """
 
     def __init__(self, velocity, vorticity,
-                 viscosity, isNormalized, topo, frequency, prefix=None,
-                 filename=None, safeOutput=True, task_id=None):
+                 viscosity, isNormalized, topo,
+                 io_params=None, task_id=None):
         """
         Constructor.
         @param velocity field
@@ -35,16 +33,20 @@ class Energy_enstrophy(Monitoring):
         @param isNormalized : boolean indicating whether the enstrophy
         and energy values have to be normalized by the domain lengths.
         @param topo : the topology on which we want to monitor the fields
-        @param frequency : output file producing frequency.
-        @param filename : output file name. Default is None ==> no output.
-        Full or relative path.
-        @param safeOutput : boolean defining how often output file is written:
-        True --> open/close file everytime data are written
-        False --> open at init and close during finalize (cost less but if simu
-        crashes, data are lost.)
+        @param io_params : parameters (dict) to set file output.
+        If  None, no output. Set io_params = {} if you want output,
+        with default parameters values. Default file name = 'energy_enstrophy'
+        See parmepy.tools.io_utils.Writer for details
         """
-        Monitoring.__init__(self, [velocity, vorticity], topo, frequency,
-                            task_id=task_id)
+        if io_params is not None:
+            if not "filename" in io_params:
+                io_params["filename"] = "energy_enstrophy"
+            # Set output buffer shape
+            io_params["writebuffshape"] = (1, 3)
+
+            io_params["writebuffshape"] = (1, 3)
+        Monitoring.__init__(self, [velocity, vorticity], topo,
+                            io_params, task_id=task_id)
         ## velocity field
         self.velocity = velocity
         ## vorticity field
@@ -63,70 +65,28 @@ class Energy_enstrophy(Monitoring):
         # Note FP : for multiresolution case, it would probably be
         # better to use two different operators for energy and enstrophy.
 
-        # Output file
-        if filename is None:
-            self._writeOuput = False
-            self.filename = None
-        else:
-            self._writeOuput = True
-            self.filename = filename
-            if (self._topo.rank == 0):
-                # Create output dir if required
-                d = os.path.dirname(self.filename)
-                if not os.path.exists(d):
-                    os.makedirs(d)
-            self.safeOutput = safeOutput
-            if self.safeOutput:
-                self._writeFile = self._fullwrite
-            else:
-                self._writeFile = self._partialwrite
-
-            self._file = open(self.filename, 'w')
-
-    def _fullwrite(self, data):
-        self._file = open(self.filename, 'a')
-        self._file.write("%s      %s      %s \n" % (data[0, 0],
-                                                    data[0, 1],
-                                                    data[0, 2]))
-        self._file.close()
-
-    def _partialwrite(self, data):
-#        ft.write(self._file, data)
-        self._file.write("%s      %s      %s \n" % (data[0, 0],
-                                                    data[0, 1],
-                                                    data[0, 2]))
-
     def setUp(self):
-        Monitoring.setUp(self)
-        # Get discrete fields for velocity and vorticity.
-        # Note FP : two options to get the discrete fields:
-        # - 'field.discretization(topo)' that just try
-        # to get the discrete field and return an error
-        # if it does not exist.
-        # - 'field.discretizet(topo) try to get the discrete field and create
-        # a new discretization if it does not exist.
-        # Current choice : no creation.
-        self.discreteFields[self.velocity] = \
-            self.velocity.discretization(self._topo)
-        self.discreteFields[self.vorticity] =\
-            self.vorticity.discretization(self._topo)
-
-        self._isUpToDate = True
-
-        spaceStep = self._topo.mesh.space_step
-        length = self._topo.domain.length
-        if self.isNormalized :
-            self.coeffEnstrophy = (np.prod(spaceStep) /
-                                   np.prod(length))
-        else:
-            self.coeffEnstrophy = np.prod(spaceStep)
-        self.coeffEnergy = 0.5 * self.coeffEnstrophy
+        if not self._isUpToDate:
+            self.discreteFields[self.velocity] = \
+                self.velocity.discretization(self._topo)
+            self.discreteFields[self.vorticity] =\
+                self.vorticity.discretization(self._topo)
+
+            spaceStep = self._topo.mesh.space_step
+            length = self._topo.domain.length
+            if self.isNormalized:
+                self.coeffEnstrophy = (np.prod(spaceStep) /
+                                       np.prod(length))
+            else:
+                self.coeffEnstrophy = np.prod(spaceStep)
+            self.coeffEnergy = 0.5 * self.coeffEnstrophy
 
-        # A work vector for local computations
-        # Warning : we assume one topo for all variables
-        self.ind = self._topo.mesh.iCompute
-        shape = self.discreteFields[self.velocity].data[0][self.ind].shape
-        self._work = npw.zeros(shape)
+            # A work vector for local computations
+            # Warning : we assume one topo for all variables
+            self.ind = self._topo.mesh.iCompute
+            shape = self.discreteFields[self.velocity].data[0][self.ind].shape
+            self._work = npw.zeros(shape)
+            self._isUpToDate = True
 
     @debug
     @timed_function
@@ -139,8 +99,6 @@ class Energy_enstrophy(Monitoring):
             raise ValueError("Missing simulation value for computation.")
 
         #time = MPI.Wtime()
-        t = simulation.time
-        ite = simulation.currentIteration
 
         # --- Kinetic energy computation ---
         vd = self.discreteFields[self.velocity]
@@ -167,6 +125,12 @@ class Energy_enstrophy(Monitoring):
         recvbuff = npw.zeros((2))
         sendbuff[:] = [local_energy, local_enstrophy]
         self._topo.comm.Allreduce(sendbuff, recvbuff)
+        # the other way :
+        #energy = self._topovel.topo.allreduce(local_energy, PARMES_MPI_REAL,
+        #                                     op=MPI.SUM)
+        #enstrophy = self._topovel.topo.allreduce(local_enstrophy,
+        #                                        PARMES_MPI_REAL,
+        #                                        op=MPI.SUM)
 
         # Update global values
         energy = recvbuff[0] * self.coeffEnergy
@@ -179,14 +143,9 @@ class Energy_enstrophy(Monitoring):
         ## self._buffer_1 = energy
 
         # Print results, if required
-        if self._writeOuput and self._topo.rank == 0 \
-            and (ite % self.freq) == 0:
-            dataout = npw.zeros((1, 3))
-            dataout[0, 0] = simulation.time
-            dataout[0, 1] = energy
-            dataout[0, 2] = enstrophy
-            self._writeFile(dataout)
-
-    def finalize(self):
-        if not self.safeOutput:
-            self._file.close()
+        ite = simulation.currentIteration
+        if self._writer is not None and self._writer.doWrite(ite):
+            self._writer.buffer[0, 0] = simulation.time
+            self._writer.buffer[0, 1] = energy
+            self._writer.buffer[0, 2] = enstrophy
+            self._writer.write()
diff --git a/HySoP/hysop/operator/monitors/__init__.py b/HySoP/hysop/operator/monitors/__init__.py
index 905c2429f..5728a8fe9 100644
--- a/HySoP/hysop/operator/monitors/__init__.py
+++ b/HySoP/hysop/operator/monitors/__init__.py
@@ -1,3 +1,19 @@
 ## @package parmepy.operator.monitors
 # Parmes tools for data and fields monitoring.
 #
+# import and alias so that monitors are
+# available with
+# from parmepy.operators.monitors import Printer, ...
+import printer
+Printer = printer.Printer
+import compute_forces
+DragAndLift = compute_forces.DragAndLift
+import reprojection_criterion
+Reprojection_criterion = reprojection_criterion.Reprojection_criterion
+import energy_enstrophy as energy_enstrophy
+Energy_enstrophy = energy_enstrophy.Energy_enstrophy
+
+# Set list for 'import *'
+__all__ = ['DragAndLift', 'Energy_enstrophy',
+           'Reprojection_criterion', 'Printer']
+
diff --git a/HySoP/hysop/operator/monitors/compute_forces.py b/HySoP/hysop/operator/monitors/compute_forces.py
index 038600f8c..00b0c59f3 100644
--- a/HySoP/hysop/operator/monitors/compute_forces.py
+++ b/HySoP/hysop/operator/monitors/compute_forces.py
@@ -3,18 +3,12 @@
 @file compute_forces.py
 Compute forces
 """
-from parmepy.constants import debug, np, ORDER, \
-    PARMES_INTEGER, PI, XDIR, YDIR, ZDIR, PARMES_MPI_REAL
+from parmepy.constants import np, XDIR, YDIR, ZDIR
 from parmepy.numerics.updateGhosts import UpdateGhosts
-from parmepy.numerics.differential_operations import Laplacian,\
-    DivStressTensor3D
+from parmepy.numerics.differential_operations import Laplacian
 from parmepy.numerics.finite_differences import FD_C_2
 from parmepy.operator.monitors.monitoring import Monitoring
-from parmepy.mpi import MPI
-from parmepy.tools.timers import timed_function
 import parmepy.tools.numpywrappers as npw
-import scitools.filetable as ft
-import os
 
 
 class DragAndLift(Monitoring):
@@ -25,8 +19,8 @@ class DragAndLift(Monitoring):
     Integral inside the obstacle is not taken into account.
     """
     def __init__(self, velocity, vorticity, nu, coefForce, topo,
-                 volumeOfControl, obstacles=None, frequency=1,
-                 filename=None, safeOutput=True, task_id=None):
+                 volumeOfControl, obstacles=None, io_params=None,
+                 task_id=None):
         """
         @param velocity field
         @param vorticity field
@@ -36,12 +30,19 @@ class DragAndLift(Monitoring):
         (parmepy.domain.obstacle.controlBox.ControlBox object)
         @param obstacles a list of parmepy.domain.obstacles inside
         the box
-        @param frequency : output rate
-        @param filename output file name. Default is None ==> no output.
-        Full or relative path.
+        @param io_params : parameters (dict) to set file output.
+        If  None, no output. Set io_params = {} if you want output,
+        with default parameters values. Default file name = 'drag_and_lift'
+        See parmepy.tools.io_utils.Writer for details
         """
-        Monitoring.__init__(self, [velocity, vorticity], topo, frequency,
-                            task_id=task_id)
+        if io_params is not None:
+            if not "filename" in io_params:
+                io_params["filename"] = "drag_and_lift"
+            # Set output buffer shape
+            io_params["writebuffshape"] = (1, 4)
+
+        Monitoring.__init__(self, [velocity, vorticity], topo,
+                            io_params, task_id=task_id)
         self.velocity = velocity
         self.vorticity = vorticity
         self._voc = volumeOfControl
@@ -85,40 +86,6 @@ class DragAndLift(Monitoring):
         # Normalizing coefficient for forces
         # (based on the physics of the flow)
         self.coefForce = coefForce
-        # Output file
-        if filename is None:
-            self._writeOuput = False
-            self.filename = None
-        else:
-            self._writeOuput = True
-            self.filename = filename
-            if (self.topo.rank == 0):
-                # Create output dir if required
-                d = os.path.dirname(self.filename)
-                if not os.path.exists(d):
-                    os.makedirs(d)
-            ## Defines how often
-            ## output file is written :
-            ## True --> open/close file everytime
-            ## data are written.
-            ## False --> open at init and close
-            ## during finalize. Cost less but if simu
-            ## crashes, data are lost.
-            self.safeOutput = safeOutput
-            if self.safeOutput:
-                self._writeFile = self._fullwrite
-            else:
-                self._writeFile = self._partialwrite
-
-            self._file = open(self.filename, 'w')
-
-    def _fullwrite(self, data):
-        self._file = open(self.filename, 'a')
-        ft.write(self._file, data)
-        self._file.close()
-
-    def _partialwrite(self, data):
-        ft.write(self._file, data)
 
     def _mpi_allsum(self):
         """
@@ -135,22 +102,24 @@ class DragAndLift(Monitoring):
         """
         self.force = self.topo.comm.reduce(self.force, root=root)
 
-    def discretize(self):
+    def setUp(self):
         """
         """
-        for v in self.variables:
-            # the discrete fields
-            self.discreteFields[v] = v.discretize(self.topo)
-        self.vd = self.discreteFields[self.velocity]
-        self.wd = self.discreteFields[self.vorticity]
-        self._voc.discretize(self.topo)
-        for obs in self.obstacles:
-            obs.discretize(self.topo)
-        # prepare ghost points synchro for velocity and vorticity used
-        # in fd schemes
-        self._synchronize = UpdateGhosts(self.topo,
-                                         self.vd.nbComponents
-                                         + self.wd.nbComponents)
+        if not self._isUpToDate:
+            for v in self.variables:
+                # the discrete fields
+                self.discreteFields[v] = v.discretize(self.topo)
+            self.vd = self.discreteFields[self.velocity]
+            self.wd = self.discreteFields[self.vorticity]
+            self._voc.discretize(self.topo)
+            for obs in self.obstacles:
+                obs.discretize(self.topo)
+            # prepare ghost points synchro for velocity and vorticity used
+            # in fd schemes
+            self._synchronize = UpdateGhosts(self.topo,
+                                             self.vd.nbComponents
+                                             + self.wd.nbComponents)
+            self._isUpToDate = True
 
     def apply(self, simulation=None):
         """
@@ -190,11 +159,10 @@ class DragAndLift(Monitoring):
         self.force *= self.coefForce
 
         # Print results, if required
-        if self._writeOuput and self.topo.rank == 0 and (ite % self.freq) == 0:
-            dataout = npw.zeros((1, 4))
-            dataout[0, 0] = simulation.time
-            dataout[0, 1:] = self.force
-            self._writeFile(dataout)
+        if self._writer is not None and self._writer.doWrite(ite):
+            self._writer.buffer[0, 0] = simulation.time
+            self._writer.buffer[0, 1:] = self.force
+            self._writer.write()
 
         return self.force
 
@@ -317,502 +285,3 @@ class DragAndLift(Monitoring):
 
         res *= self._dvol
         return res
-
-    def finalize(self):
-        if not self.safeOutput:
-            self._file.close()
-
-class Forces(Monitoring):
-    """
-    Compute the forces according the Noca s formula
-    """
-
-    def __init__(self, velocity, vorticity, topo,
-                 obstacle, boxMin= None, boxMax=None, Reynolds=None,
-                 uinf=1.0, method=FD_C_2, frequency=None, prefix=None):
-        """
-        Constructor.
-        @param velocity : Continuous velocity field
-        @param vorticity : Continuous vorticity field
-        @param obstacle :  obstacle upon which the forces are exerced
-        @param topo :  the topology on which we want to monitor the fields
-        @param boxMin : Global minimum coordinates of the control volume
-        @param boxMax : Global maximum coordinates of the control volume
-        @param Reynolds : Reynolds number value
-        @param method : numerical method for Differential operators discretizations
-        @param frequency : output file producing frequency.
-        @param prefix : file name prefix, contains relative path.
-        """
-        Monitoring.__init__(self, [velocity, vorticity], topo, frequency)
-        if prefix is None:
-            self.prefix = './res/Noca_sphere.dat'
-        else:
-            self.prefix = prefix
-        self.velocity = velocity
-        self.vorticity = vorticity
-        self.obstacle = obstacle
-        self.boxMin = boxMin
-        self.boxMax = boxMax
-        if not (boxMin < boxMax):
-            raise ValueError("Error, boxMin has to be lower than " +
-                             "boxMax to define control Noca box")
-        self.Re = Reynolds
-        self.method = method
-        self.prefix = prefix
-        self.input = [velocity, vorticity]
-        self.output = []
-        self.topo = self._predefinedTopo
-
-        # Compute coef used to determine drag coefficient :
-        # cD = coef.Fx = 2.Fx/rho.uinf**2.D
-        self.bufferForce = 0.
-        rho = 1.0
-        self.coef = 2. / (rho * uinf ** 2 * PI * self.obstacle.radius ** 2)
-
-    def setUp(self):
-        Monitoring.setUp(self)
-
-        # Variables Discretization
-        for v in self.variables:
-            self.discreteFields[v] = v.discretize(self.topo)
-        self.velo = self.discreteFields[self.velocity]
-        self.vort = self.discreteFields[self.vorticity]
-
-        # Control box definition
-        self.isForceComputationNeeded = True
-        self.compute_control_box(self.obstacle)
-
-        # prepare ghost points synchro for velocity
-        self._synchronize = UpdateGhosts(self.topo,
-                                         self.velocity.nbComponents)
-
-        # Function for the computation of div(T) where
-        # T is the stress tensor: T = Nabla(U) + Nabla(U)t
-        self.divT = DivStressTensor3D(self.topo, method=self.method)
-        self.fd_scheme = FD_C_2(self.topo.mesh.space_step)
-
-        self._isUpToDate = True
-
-        if (self.topo.comm.Get_rank() == 0):
-            self.f = open(self.prefix, 'w')
-
-    def compute_control_box(self, obst) :
-        """
-        Compute indicator functions for the control box
-        (including the obstacle)
-
-        @param obstacle :  obstacle upon which the forces are exerced
-
-        """
-        # The control box definition is based on velocity topology
-        self.dim = obst.dimension
-        self.ghosts = self.velo.topology.ghosts
-        self.res = self.velo.topology.mesh.resolution - 2 * self.ghosts
-        self.step = self.velo.topology.mesh.space_step
-        self.coords = self.velo.topology.mesh.coords
-        self.coord_start = self.velo.topology.mesh.origin + \
-                        (self.ghosts * self.step)
-        self.coord_end = self.velo.topology.mesh.end - \
-                        (self.ghosts * self.step)
-        local_start = self.velo.topology.mesh.local_start
-        local_end = self.velo.topology.mesh.local_end
-
-        # normal vectors definitions
-        self.normal = npw.zeros([self.dim * 2, self.dim])
-        self.x_minus = 0
-        self.x_plus = 1
-        self.y_minus = 2
-        self.y_plus = 3
-        self.z_minus = 4
-        self.z_plus = 5
-        self.normal[self.x_minus][0] = - 1.0
-        self.normal[self.x_plus][0] = 1.0
-        self.normal[self.y_minus][1] = - 1.0
-        self.normal[self.y_plus][1] = 1.0
-        self.normal[self.z_minus][2] = - 1.0
-        self.normal[self.z_plus][2] = 1.0
-
-        # local indices and coordinates of the control box boundaries
-        ind_boundaries = np.zeros([self.dim, 2], dtype=PARMES_INTEGER, order=ORDER)
-#        coord_boundaries = npw.zeros([self.dim, 2])
-
-        distMin = self.boxMin - self.coord_start
-        distMax = self.boxMax - self.coord_end
-
-        for i in xrange(self.dim):
-            if (distMin[i]>=0. and distMax[i]<=0.):
-            # the control volume is included inside the local domain
-                ind_boundaries[i][0] = local_start[i] + distMin[i] // self.step[i] # interpolation to lower grid point
-                ind_boundaries[i][1] = local_end[i] + distMax[i] // self.step[i] # interpolation to higher grid point
-#                coord_boundaries[i][0] = self.coord_start[i] + distMin[i] // self.step[i] * self.step[i]
-#                coord_boundaries[i][1] = self.coord_end[i] + distMax[i] // self.step[i] * self.step[i]
-
-            elif (distMin[i]>=0. and self.boxMin[i]<= self.coord_end[i] and distMax[i]>0.):
-            # only min corner of control volume is included inside the local domain
-                ind_boundaries[i][0] = local_start[i] + distMin[i] // self.step[i]
-                ind_boundaries[i][1] = local_end[i]
-#                coord_boundaries[i][0] = self.coord_start[i] + distMin[i] // self.step[i] * self.step[i]
-#                coord_boundaries[i][1] = self.coord_end[i]
-
-            elif (distMin[i]<0. and self.boxMax[i]>= self.coord_start[i] and distMax[i]<=0.) :
-            # only max corner of control volume is included inside the local domain
-                ind_boundaries[i][0] = local_start[i]
-                ind_boundaries[i][1] = local_end[i] + distMax[i] // self.step[i]
-#                coord_boundaries[i][0] = self.coord_start[i]
-#                coord_boundaries[i][1] = self.coord_end[i] + distMax[i] // self.step[i] * self.step[i]
-
-            elif (distMin[i]<=0. and distMax[i]>=0.):
-            # the local domain is included inside the control volume
-                ind_boundaries[i][0] = local_start[i]
-                ind_boundaries[i][1] = local_end[i]
-#                coord_boundaries[i][0] = self.coord_start[i]
-#                coord_boundaries[i][1] = self.coord_end[i]
-            else:
-            # there is no part of the volume control inside the local domain
-                self.isForceComputationNeeded = False
-
-#        print 'coord_start, coord_end', self.topo.comm.Get_rank(), self.coord_start, self.coord_end
-#        print 'distMin, distMax, step, res', self.topo.comm.Get_rank(), distMin, distMax, self.step, self.res
-#        print 'ind_bound_ChiX-', self.topo.comm.Get_rank(), ind_boundaries[0][0], coord_boundaries[0][0], self.coords[0][ind_boundaries[0][0], :, :]
-#        print 'ind_bound_ChiX+', self.topo.comm.Get_rank(), ind_boundaries[0][1], coord_boundaries[0][1], self.coords[0][ind_boundaries[0][1], :, :]
-#        print 'ind_bound_ChiY-', self.topo.comm.Get_rank(), ind_boundaries[1][0], coord_boundaries[1][0], self.coords[1][:, ind_boundaries[1][0], :]
-#        print 'ind_bound_ChiY+', self.topo.comm.Get_rank(), ind_boundaries[1][1], coord_boundaries[1][1], self.coords[1][:, ind_boundaries[1][1], :]
-#        print 'ind_bound_ChiZ-', self.topo.comm.Get_rank(), ind_boundaries[2][0], coord_boundaries[2][0], self.coords[2][:, :, ind_boundaries[2][0]]
-#        print 'ind_bound_ChiZ+', self.topo.comm.Get_rank(), ind_boundaries[2][1], coord_boundaries[2][1], self.coords[2][:, :, ind_boundaries[2][1]]
-
-        # definition of the indicator functions of box boundaries
-        self.chi_x_minus = [slice(ind_boundaries[0][0], ind_boundaries[0][0] +1),
-                            slice(ind_boundaries[1][0], ind_boundaries[1][1] +1),
-                            slice(ind_boundaries[2][0], ind_boundaries[2][1] +1)]
-
-        self.chi_x_plus = [slice(ind_boundaries[0][1], ind_boundaries[0][1] +1 ),
-                           slice(ind_boundaries[1][0], ind_boundaries[1][1] +1),
-                           slice(ind_boundaries[2][0], ind_boundaries[2][1] +1)]
-
-        self.chi_y_minus = [slice(ind_boundaries[0][0], ind_boundaries[0][1] +1),
-                            slice(ind_boundaries[1][0], ind_boundaries[1][0] +1),
-                            slice(ind_boundaries[2][0], ind_boundaries[2][1] +1)]
-
-        self.chi_y_plus = [slice(ind_boundaries[0][0], ind_boundaries[0][1] +1),
-                           slice(ind_boundaries[1][0], ind_boundaries[1][0] +1),
-                           slice(ind_boundaries[2][0], ind_boundaries[2][1] +1)]
-
-        self.chi_z_minus = [slice(ind_boundaries[0][0], ind_boundaries[0][1] +1),
-                            slice(ind_boundaries[1][0], ind_boundaries[1][1] +1),
-                            slice(ind_boundaries[2][0], ind_boundaries[2][0] +1)]
-
-        self.chi_z_plus = [slice(ind_boundaries[0][0], ind_boundaries[0][1] +1),
-                           slice(ind_boundaries[1][0], ind_boundaries[1][1] +1),
-                           slice(ind_boundaries[2][1], ind_boundaries[2][1] +1)]
-
-        # definition of the indicator function of the whole box (includind the obstacle)
-        # TODO : defining this indicator function without includind the obstacle
-        self.chi_box = []
-        for d in xrange(self.dim):
-            self.chi_box.append(slice(ind_boundaries[d][0], ind_boundaries[d][1]))
-
-    @debug
-    @timed_function
-    def apply(self, simulation):
-        """
-        Computation of the drag according to the "impulsion" formula presented by
-        Noca et. al in Journal of Fluids and Structures, 1999.
-        Integrals on the obstacle are neglected.
-        \f$ F=-\frac{1}{N-1}\frac{d}{dt}\int_{V}\mathbf{x}\wedge\mathbf{\omega}\, dV
-                +\int_{S}\mathbf{n}\cdot\gamma\, dS \f$
-        """
-        t = simulation.time
-        dt = simulation.timeStep
-        ite = simulation.currentIteration
-
-        velo = self.velo.data
-        vort = self.vort.data
-
-        # Synchronize ghost points of velocity
-        self._synchronize(velo)
-
-        if not self.isForceComputationNeeded:
-            pass
-        else :
-            localForce = npw.zeros(self.dim)
-            force = npw.zeros(self.dim)
-
-            # Surfaces normal to X axis
-            # n=(-1, 0, 0)
-            dsurf = self.step[YDIR] * self.step[ZDIR]
-            localForce = self.integrateOnSurface(localForce, velo, vort, self.chi_x_minus,
-                                                 self.normal[self.x_minus][:],
-                                                 dsurf, direc=XDIR)
-            # n=(1, 0, 0)
-            localForce = self.integrateOnSurface(localForce, velo, vort, self.chi_x_plus,
-                                                 self.normal[self.x_plus][:],
-                                                 dsurf, direc=XDIR)
-            # Surfaces normal to Y axis
-            dsurf = self.step[XDIR] * self.step[ZDIR]
-            # n=(0,-1, 0)
-            localForce = self.integrateOnSurface(localForce, velo, vort, self.chi_y_minus,
-                                                 self.normal[self.y_minus][:],
-                                                 dsurf, direc=YDIR)
-            # n=(0, 1, 0)
-            localForce = self.integrateOnSurface(localForce, velo, vort, self.chi_y_plus,
-                                                 self.normal[self.y_plus][:],
-                                                 dsurf, direc=YDIR)
-            # Surfaces normal to Z axis
-            dsurf = self.step[XDIR] * self.step[YDIR]
-            # n=(0, 0,-1)
-            localForce = self.integrateOnSurface(localForce, velo, vort, self.chi_z_minus,
-                                                 self.normal[self.z_minus][:],
-                                                 dsurf, direc=ZDIR)
-            # n=(0, 0, 1)
-            localForce = self.integrateOnSurface(localForce, velo, vort, self.chi_z_plus,
-                                                 self.normal[self.z_plus][:],
-                                                 dsurf, direc=ZDIR)
-            # Integration over the volume
-            localForce = self.integrateOnBox(localForce, vort, self.chi_box, dt)
-
-            # Reduction operation
-            if self.topo.comm.Get_rank() == 0:
-                comm = self.topo.comm
-                comm.Reduce([localForce, PARMES_MPI_REAL],
-                            [force, PARMES_MPI_REAL],
-                            op=MPI.SUM, root=0)
-                force = force * self.coef
-                # Print drag, lift and side force coefficients in output file
-                if ((ite % self.freq == 0) and (t > dt)):
-                    self.f = open(self.prefix, 'a')
-                    self.f.write("%s   %s   %s   %s\n" % (t,
-                                                          force[XDIR],
-                                                          force[YDIR],
-                                                          force[ZDIR]))
-                    self.f.close()
-
-    def integrateOnBox(self, force, vort, chi, dt):
-    ## WARNING : this routine is available inly if velo and vort
-    ## topologies have the same global mesh resolution !!!
-        """
-        Returns \f$-\frac{1}{2}\frac{d}{dt}
-        \int_{V}\mathbf{x}\wedge\mathbf{\omega}\, dV \f$
-        """
-        dvol = self.step[XDIR] * self.step[YDIR] * self.step[ZDIR]
-        fact = - dvol / ((self.dim - 1) * dt)
-        intbox = npw.zeros(self.dim)
-        work = [npw.zeros_like(vort[0]) for i in xrange(self.dim)]
-
-        # (coord X vorticity)
-        coords = np.asarray(self.coords)
-        work[XDIR][...] = self.coords[YDIR] * vort[ZDIR][...] - \
-                          self.coords[ZDIR] * vort[YDIR][...]
-        work[YDIR][...] = self.coords[ZDIR] * vort[XDIR][...] - \
-                          self.coords[XDIR] * vort[ZDIR][...]
-        work[ZDIR][...] = self.coords[XDIR] * vort[YDIR][...] - \
-                          self.coords[YDIR] * vort[XDIR][...]
-        for i in xrange(self.dim):
-            intbox[i] = np.sum(work[i][chi])
-        force += fact * (intbox - self.bufferForce) # 1st order time integration
-        self.bufferForce = intbox # Save for next time step ...
-
-        return force
-
-
-    def integrateOnSurface(self, force, velo, vort, chi, NormalVec, dsurf, direc):
-    ## WARNING : this routine is available inly if velo and vort
-    ## topologies have the same global mesh resolution !!!
-        """
-        Compute integrals on surface normal to "direc" axis to calculate forces
-        acting on the body. See (2.1) of Noca 1999 or (52) of Plouhmans 2002.
-        Returns \f$ \int_{S}\mathbf{n}\cdot\gamma\, dS \f$, where
-        \f$ \mathbf{n}\cdot\gamma = [(\frac{1}{2} (\mathbf{u}\cdot\mathbf{u})\mathbf{n} -
-        (\mathbf{n}\cdot\mathbf{u})\mathbf{u}) -
-        \frac{1}{N-1}(\mathbf{n}\cdot\mathbf{u})(\mathbf{x}\wedge\mathbf{\omega}) +
-        \frac{1}{N-1}(\mathbf{n}\cdot\mathbf{\omega})(\mathbf{x}\wedge\mathbf{u})] +
-        [\frac{1}{N-1}\mathbf{x}\wedge(\mathbf{n}\wedge\nabla\cdot T)] +
-        [\frac{1}{N-1}\mathbf{n}\cdot T] \f$
-        In the following, the computation of surface integrals is split in three parts :
-        force = [int_part 1] + [int_part 2] + [int_part 3]
-        """
-        fact = 1. / (self.dim - 1)
-        work = [npw.zeros_like(velo[0]) for i in xrange(self.dim)]
-        divT = [npw.zeros_like(velo[0]) for i in xrange(self.dim)]
-        # Divergence of stress tensor T, computed with 2nd order FD
-        divT = self.divT(velo, divT, chi)
-        # Functions to compute part 2 and part 3 of the surface integral, with:
-        # part 2 = 1/(dim-1)(X^(n^Div(T))
-        # part 3 = (1/Re) * n.T
-        if direc==XDIR:
-            self.X_n_DivT = self.part2_Xdir
-            self.n_T = self.part3_Xdir
-        elif direc==YDIR:
-            self.X_n_DivT = self.part2_Ydir
-            self.n_T = self.part3_Ydir
-        else:
-            assert direc==ZDIR
-            self.X_n_DivT = self.part2_Zdir
-            self.n_T = self.part3_Zdir
-
-        # ====================== part 1 =======================
-        # part 1 = 1/2(velocity.velocity)n -
-        # (n.velocity)velocity -
-        # 1/(dim-1)(n.velocity)(coord X vorticity) +
-        # 1/(dim-1)(n.vorticity)(coord X velocity)
-
-        # 1/2(velocity.velocity)n
-        u_u = np.sum(velo[i][chi] * velo[i][chi] for i in xrange(self.dim))
-        force[direc] += 0.5 * np.sum(u_u[...] * NormalVec[direc])
-        # -(n.velocity)velocity
-        n_u = velo[direc][chi] * NormalVec[direc]
-        for i in xrange(self.dim):
-            work[i][chi] = n_u[...] * velo[i][chi]
-        for i in xrange(self.dim):
-            force[i] -= np.sum(work[i][chi])
-
-        # -1/(dim-1)(n.velocity)(coord X vorticity)
-        work[XDIR][...] = self.coords[XDIR] * vort[ZDIR][...] - \
-                          self.coords[ZDIR] * vort[YDIR][...]
-        work[YDIR][...] = self.coords[ZDIR] * vort[XDIR][...] - \
-                          self.coords[XDIR] * vort[ZDIR][...]
-        work[ZDIR][...] = self.coords[XDIR] * vort[YDIR][...] - \
-                          self.coords[YDIR] * vort[XDIR][...]
-        for i in xrange(self.dim):
-            work[i][chi] *= n_u[...]
-        for i in xrange(self.dim):
-            force[i] -= fact * np.sum(work[i][chi])
-
-        # 1/(dim-1)(n.vorticity)(coord X velocity)
-        n_w = vort[direc][chi] * NormalVec[direc]
-        work[XDIR][...] = self.coords[XDIR] * velo[ZDIR][...] - \
-                          self.coords[ZDIR] * velo[YDIR][...]
-        work[YDIR][...] = self.coords[ZDIR] * velo[XDIR][...] - \
-                          self.coords[XDIR] * velo[ZDIR][...]
-        work[ZDIR][...] = self.coords[XDIR] * velo[YDIR][...] - \
-                          self.coords[YDIR] * velo[XDIR][...]
-        for i in xrange(self.dim):
-            work[i][chi] *= n_w[...]
-        for i in xrange(self.dim):
-            force[i] += fact * np.sum(work[i][chi])
-
-        # ====================== part 2 =======================
-        # part 2 = 1/(dim-1)(X^(n^Div(T))
-        work = self.X_n_DivT(chi, divT, work)
-
-        if NormalVec[direc] == 1:
-            for i in xrange(self.dim):
-                force[i] += (fact / self.Re) * np.sum(work[i][chi])
-        else:
-            assert NormalVec[direc] == -1
-            for i in xrange(self.dim):
-                force[i] += (fact / self.Re) * np.sum(-work[i][chi])
-
-        # ====================== part 3 =======================
-        # part 3 = (1/Re) * n.T
-        work = self.n_T(velo, work, chi)
-
-        if NormalVec[direc] == 1:
-            for i in xrange(self.dim):
-                force[i] += (1.0 / self.Re) * np.sum(work[i][chi])
-        else:
-            assert NormalVec[direc] == -1
-            for i in xrange(self.dim):
-                force[i] += (1.0 / self.Re) * np.sum(-work[i][chi])
-
-        force *= dsurf
-
-        return force
-
-    # Functions to compute part 2 of a surface integral
-    def part2_Xdir(self, chi, divT, work):
-        # X^(n^Div(T)) computation for normalVec = (1,0,0)
-        work[XDIR][...] = self.coords[YDIR] * divT[YDIR][...] + \
-                          self.coords[ZDIR] * divT[ZDIR][...]
-        work[YDIR][...] = - self.coords[XDIR] * divT[YDIR][...]
-        work[ZDIR][...] = - self.coords[XDIR] * divT[ZDIR][...]
-
-        return work
-
-    def part2_Ydir(self, chi, divT, work):
-        # X^(n^Div(T)) computation for normalVec = (0,1,0)
-        work[XDIR][...] = - self.coords[YDIR] * divT[XDIR][...]
-        work[YDIR][...] = self.coords[XDIR] * divT[XDIR][...] + \
-                          self.coords[ZDIR] * divT[ZDIR][...]
-        work[ZDIR][...] = - self.coords[YDIR] * divT[ZDIR][...]
-
-        return work
-
-    def part2_Zdir(self, chi, divT, work):
-        # X^(n^Div(T)) computation for normalVec = (0,0,1)
-        work[XDIR][...] = - self.coords[ZDIR] * divT[XDIR][...]
-        work[YDIR][...] = - self.coords[ZDIR] * divT[YDIR][...]
-        work[ZDIR][...] = self.coords[XDIR] * divT[XDIR][...] + \
-                          self.coords[YDIR] * divT[YDIR][...]
-
-        return work
-
-    # Functions to compute part 3 of a surface integral
-    def part3_Xdir(self, velo, work, chi):
-        # n.T[XDIR] = 2 * dux/dx[i,j,k]
-        # n.T[YDIR] = duy/dx[i,j,k] + dux/dy[i,j,k]
-        # n.T[ZDIR] = duz/dx[i,j,k] + dux/dz[i,j,k]
-
-        self.fd_scheme.computeIndices(chi)
-        workJacobian = npw.zeros_like(velo[0])
-
-        # n.T computation for normalVec = (1,0,0)
-        self.fd_scheme.compute_1st_deriv(velo[XDIR], XDIR, workJacobian)
-        work[XDIR][chi] = 2 * workJacobian[chi]
-
-        self.fd_scheme.compute_1st_deriv(velo[YDIR], XDIR, workJacobian)
-        self.fd_scheme.compute_and_add_1st_deriv(velo[XDIR], YDIR, workJacobian)
-        work[YDIR][chi] = workJacobian[chi]
-
-        self.fd_scheme.compute_1st_deriv(velo[ZDIR], XDIR, workJacobian)
-        self.fd_scheme.compute_and_add_1st_deriv(velo[XDIR], ZDIR, workJacobian)
-        work[ZDIR][chi] = workJacobian[chi]
-
-        return work
-
-    def part3_Ydir(self, velo, work, chi):
-        # n.T[XDIR] = dux/dy[i,j,k] + duy/dx[i,j,k]
-        # n.T[YDIR] = 2.0 * duy/dy[i,j,k]
-        # n.T[ZDIR] = duz/dy[i,j,k] + duy/dz[i,j,k]
-
-        self.fd_scheme.computeIndices(chi)
-        workJacobian = npw.zeros_like(velo[0])
-
-        # n.T computation for normalVec = (0,1,0)
-        self.fd_scheme.compute_1st_deriv(velo[XDIR], YDIR, workJacobian)
-        self.fd_scheme.compute_and_add_1st_deriv(velo[YDIR], XDIR, workJacobian)
-        work[XDIR][chi] = workJacobian[chi]
-
-        self.fd_scheme.compute_1st_deriv(velo[YDIR], YDIR, workJacobian)
-        work[YDIR][chi] = 2.* workJacobian[chi]
-
-        self.fd_scheme.compute_1st_deriv(velo[ZDIR], YDIR, workJacobian)
-        self.fd_scheme.compute_and_add_1st_deriv(velo[YDIR], ZDIR, workJacobian)
-        work[ZDIR][chi] = workJacobian[chi]
-
-        return work
-
-    def part3_Zdir(self, velo, work, chi):
-        # n.T[XDIR] = dux/dz[i,j,k] + duz/dx[i,j,k]
-        # n.T[YDIR] = duy/dz[i,j,k] + duz/dy[i,j,k]
-        # n.T[ZDIR] = 2.0 * duz/dz[i,j,k]
-
-        self.fd_scheme.computeIndices(chi)
-        workJacobian = npw.zeros_like(velo[0])
-
-        # n.T computation for normalVec = (0,0,1)
-        self.fd_scheme.compute_1st_deriv(velo[XDIR], ZDIR, workJacobian)
-        self.fd_scheme.compute_and_add_1st_deriv(velo[ZDIR], XDIR, workJacobian)
-        work[XDIR][chi] = workJacobian[chi]
-
-        self.fd_scheme.compute_1st_deriv(velo[YDIR], ZDIR, workJacobian)
-        self.fd_scheme.compute_and_add_1st_deriv(velo[ZDIR], YDIR, workJacobian)
-        work[YDIR][chi] = workJacobian[chi]
-
-        self.fd_scheme.compute_1st_deriv(velo[ZDIR], ZDIR, workJacobian)
-        work[ZDIR][chi] = 2.* workJacobian[chi]
-
-        return work
-
-    def __str__(self):
-        s = "Compute_forces. "
-        return s
diff --git a/HySoP/hysop/operator/monitors/monitoring.py b/HySoP/hysop/operator/monitors/monitoring.py
index c8703fbb4..c96932fdd 100644
--- a/HySoP/hysop/operator/monitors/monitoring.py
+++ b/HySoP/hysop/operator/monitors/monitoring.py
@@ -5,6 +5,7 @@ Global interface for monitors.
 from abc import ABCMeta, abstractmethod
 from parmepy.operator.continuous import Operator
 from parmepy.tools.timers import Timer
+import parmepy.tools.io_utils as io
 
 
 class Monitoring(Operator):
@@ -13,27 +14,45 @@ class Monitoring(Operator):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def __init__(self, variables, topo, frequency, task_id=None):
+    def __init__(self, variables, topo, io_params=None, task_id=None):
         """ Constructor
         @param variables : list of fields to monitor.
         @param topo : topo on which fields are to be monitored
-        @param frequency : output rate.
-        @param name : Monitor name.
+        @param filename output file name. Default is None ==> no output.
+        Full or relative path.
+        @param io_params : parameters (dict) to set file output.
+        If  None, no output. Set io_params = {} if you want output,
+        with default parameters values.
+        See parmepy.tools.io_utils.Writer for details
         """
         Operator.__init__(self, variables, topo=topo, task_id=task_id)
-        ## Monitor frequency
-        self.freq = frequency
         ## Object to store computational times of lower level functions
         self.timer = Timer(self)
         self.requirements = []
+        self._isUpToDate = False
+        # Output file.
+        if io_params is None:
+            self._writer = None
+        else:
+            self._writer = io.Writer(io_params, topo.comm)
 
     def setUp(self):
-        pass
+        """
+        Class-method required
+        to fit with operator base-class interface.
+        """
+        self._isUpToDate = True
 
     def finalize(self):
-        pass
+        if self._writer is not None:
+            self._writer.finalize()
 
     def discretize(self):
+        """
+        Does nothing.
+        No discretization in monitors, but class-method required
+        to fit with operator base-class interface.
+        """
         pass
 
     def addRedistributeRequirement(self, red):
diff --git a/HySoP/hysop/operator/monitors/printer.py b/HySoP/hysop/operator/monitors/printer.py
index 7d9bbc0e7..35022c94c 100644
--- a/HySoP/hysop/operator/monitors/printer.py
+++ b/HySoP/hysop/operator/monitors/printer.py
@@ -1,12 +1,14 @@
 """
 @file printer.py
 
-Classes for handling ouputs.
+File output for field(s) value on a grid.
 """
 from parmepy.constants import np, S_DIR, debug, VTK, HDF5, DATA
 from parmepy.operator.monitors.monitoring import Monitoring
 import parmepy.tools.numpywrappers as npw
+import parmepy.tools.io_utils as io
 import os
+
 try:
     import evtk.hl as evtk
 except ImportError as evtk_error:
@@ -20,29 +22,23 @@ from parmepy.tools.timers import timed_function
 
 class Printer(Monitoring):
     """
-    Basic printer.
-
-    Performs outputs in VTK images.
+    Print field(s) values on a given topo, in HDF5 or VTK format.
     """
-    def __init__(self, variables, topo, frequency=0,
-                 prefix=None, formattype=None, task_id=None):
+    def __init__(self, variables, topo, prefix=None,
+                 frequency=1, formattype=None, task_id=None):
         """
-        Create a results printer for given fields, filename
+        Create a results printer for given fields, prefix
         prefix (relative path) and an output frequency.
 
-        @param fields : list of variables to export.
+        @param variables : list of variables to export.
         @param frequency : output rate (output every freq iteration)
-        @param prefix : output file name prefix.
-        @param ext : output file extension, default=.vtk.
+        @param prefix output file name. Default is None ==> no output.
+        Full or relative path.
+        @param formattype : output file format, default=vtk.
         """
-        Monitoring.__init__(self, variables, topo, frequency,
-                            task_id=task_id)
-        ## output file name prefix
-        if prefix is None:
-            self.prefix = './out_'
-        else:
-            self.prefix = prefix
-
+        Monitoring.__init__(self, variables, topo, task_id=task_id)
+        assert frequency > 0
+        self.frequency = frequency
         ## Default output type
         if formattype is None:
             self.formattype = VTK
@@ -61,41 +57,44 @@ class Printer(Monitoring):
 
         self.input = self.variables
         self.output = []
-        ## Method to collect data in case of distributed data
-        self.get_data_method = None
-        if self.freq > 0:
-            ## Printer core method
-            self.step = self._printStep
+        # If no prefix is given, set it to
+        # the concatenation of variables'names.
+        if prefix is None:
+            prefix = io.io.defaultPath()
+            name = ''
+            for var in self.input:
+                name += var.name
+                name += '_'
+            prefix = os.path.join(prefix, name)
         else:
-            self.step = self._passStep
-        # Internal counter
-        self._call_number = 0
+            if not os.path.isabs(prefix):
+                prefix = os.path.join(io.io.defaultPath(), prefix)
         ## shortcut to topo name
         self.topo = self._predefinedTopo
+        io.io.checkDir(prefix, 0, self.topo.comm)
+        self.prefix = prefix
         self._xmf_data_files = []
-
-
-    def setUp(self):
-        """
-        Print initial state
-        """
-        # Create output dir if required
-        if self.topo.rank == 0:
-            d = os.path.dirname(self.prefix)
-            if not os.path.exists(d):
-                os.makedirs(d)
-        # Force synchro to be sure that all output dirs
-        # have been created.
-        self.topo.comm.barrier()
         if self.formattype == VTK:
+            # filename = prefix_rk_N, rk = current process rank,
+            # N = counter value
             self._get_filename = lambda i: self.prefix + \
-                "{0}_iter_{1:03d}".format(self.topo.rank, i)
+                "_{0}_{1:05d}".format(self.topo.rank, i)
+            self.step = self._step_VTK
         elif self.formattype == HDF5:
+            # filename = prefix_N, N = counter value
             self._get_filename = lambda i: self.prefix + \
-                "{0}procs_iter_{1:03d}".format(self.topo.size, i) + '.h5'
+                "_{0:05d}".format(i) + '.h5'
+            self.step = self._step_HDF5
         elif self.formattype == DATA:
             self._get_filename = lambda i: self.prefix + \
-                "{0}_iter_{1:03d}.dat".format(self.topo.rank, i)
+                "_{0}_{1:05d}.dat".format(self.topo.rank, i)
+            self.step = self._step_DATA
+        self._isUpToDate = True
+        # count the number of calls
+        self._count = 0
+        ## Rank of 'leader' mpi process for output
+        ## Forced to 0. \todo : add a param for this?
+        self.io_rank = 0
 
     @debug
     @timed_function
@@ -103,21 +102,29 @@ class Printer(Monitoring):
         if simulation is None:
             raise ValueError("Missing simulation value for monitoring.")
 
-        self._call_number += 1
-        if self.freq > 0 and (simulation.currentIteration % self.freq) == 0:
+        if simulation.currentIteration % self.frequency == 0:
+            # Transfer from GPU to CPU if required
+            for f in self.variables:
+                df = f.discreteFields[self.topo]
+                try:
+                    if not df.isBatch:
+                    # To host only if data fit in the device memory
+                        df.toHost()
+                        df.wait()
+                except AttributeError:
+                    pass
             self.step(simulation)
+            self._count += 1
 
     def finalize(self):
-        if self.freq == -1:
-            self._printStep(self._call_number)
-        if self.formattype == HDF5 and self.topo.rank == 0:
+        if self.formattype == HDF5 and self.topo.rank == self.io_rank:
             # Write the xmf file driving all h5 files.
             # Writing only one file
             # We have a temporal list of Grid => a single xmf file
             # Manual writing of the xmf file because "XDMF library very
             # difficult to compile and to use"
             #  [Advanced HDF5 & XDMF - Groupe Calcul]
-            f = open(self.prefix + str(self.topo.size) + 'procs.xmf', 'w')
+            f = open(self.prefix + '.xmf', 'w')
             f.write("<?xml version=\"1.0\" ?>\n")
             f.write("<!DOCTYPE Xdmf SYSTEM \"Xdmf.dtd\">\n")
             f.write("<Xdmf Version=\"2.0\">\n")
@@ -151,151 +158,119 @@ class Printer(Monitoring):
                     res[name] = npw.realarray(df.data[d])
         return res
 
-    def set_get_data_method(self, method):
-        """Set data collect method."""
-        if callable(method):
-            self.get_data_method = method
-        else:
-            raise ValueError("Cannot set non callable method to get data " +
-                             "to print. Given method : " + str(method))
-
-    def _passStep(self, simu=None):
-        """A code method that do nothing."""
-        pass
-
-    def _printStep(self, simu=None):
+    def _step_VTK(self, simu):
         """
-        Try to write data into VTK files.
-        If fails, turn to classical ascii output.
-        @param iter : current iteration number
         """
-        ite = simu.currentIteration
-        t = ite * simu.timeStep
-        # Transfer from GPU to CPU if required
-        for f in self.variables:
-            df = f.discreteFields[self.topo]
-            try:
-                if not df.isBatch:
-                    # To host only if data fit in the device memory
-                    df.toHost()
-                    df.wait()
-            except AttributeError:
-                pass
+        orig = [0.] * 3
+        dim = self.topo.mesh.dim
+        orig[:dim] = [self.topo.mesh.origin[i] for i in xrange(dim)]
+        #orig = tuple(orig)
+        #ind = self.topo.mesh.local_start
+        ## orig = tuple([self.topo.mesh.coords[i].flatten()[ind[i]]
+        ##               for i in xrange(self.topo.mesh.dim)])
+        spacing = [0] * 3
+        spacing[:dim] = [self.topo.mesh.space_step[i] for i in xrange(dim)]
+        evtk.imageToVTK(self._get_filename(self._count),
+                        origin=orig, spacing=spacing,
+                        pointData=self._build_vtk_dict())
 
-        ## VTK output \todo: Need fix in 2D, getting an IOError.
-        if self.formattype == VTK:
-            orig = [0.] * 3
-            dim = self.topo.mesh.dim
-            orig[:dim] = [self.topo.mesh.origin[i] for i in xrange(dim)]
-            #orig = tuple(orig)
-            coords = self.topo.mesh.coords
-            #ind = self.topo.mesh.local_start
-            ## orig = tuple([self.topo.mesh.coords[i].flatten()[ind[i]]
-            ##               for i in xrange(self.topo.mesh.dim)])
-            spacing = [0] * 3
-            spacing[:dim] = [self.topo.mesh.space_step[i] for i in xrange(dim)]
-            evtk.imageToVTK(self._get_filename(ite),
-                            origin=orig, spacing=spacing,
-                            pointData=self._build_vtk_dict())
-
-        elif self.formattype == HDF5:
-            filename = self._get_filename(ite)
-            # Write the h5 file
-            # (force np.float64, ParaView seems to not be able to read float32)
-            # Writing compressed hdf5 files (gzip compression seems the best)
-            # In parallel, one file is written, thus filename no longe contains
-            # mpi rank.
-            # TODO: Why gzip compression not working in parallel ??
-            # Remark: h5py must be build with --mpi option
-            if self.topo.size == 1:
-                f = h5py.File(filename, "w")
-                compression = 'gzip'
-            else:
-                f = h5py.File(filename, 'w',
-                              driver='mpio', comm=self.topo.comm)
-                compression = None
+    def _step_HDF5(self, simu):
+        t = simu.time
+        filename = self._get_filename(self._count)
+        # Write the h5 file
+        # (force np.float64, ParaView seems to not be able to read float32)
+        # Writing compressed hdf5 files (gzip compression seems the best)
+        # In parallel, one file is written, thus filename no longe contains
+        # mpi rank.
+        # TODO: Why gzip compression not working in parallel ??
+        # Remark: h5py must be build with --mpi option
+        if self.topo.size == 1:
+            f = h5py.File(filename, "w")
+            compression = 'gzip'
+        else:
+            f = h5py.File(filename, 'w', driver='mpio', comm=self.topo.comm)
+            compression = None
+        g_start = self.topo.mesh.global_start
+        g_end = self.topo.mesh.global_end + 1
+        sl = [slice(g_start[i], g_end[i])
+              for i in xrange(self.domain.dimension)]
+        sl.reverse()
+        sl = tuple(sl)
+        datasetNames = []
+        for field in self.variables:
+            df = field.discreteFields[self.topo]
+            for d in xrange(df.nbComponents):
+                # creating datasets for the vector field
+                currentName = df.name + S_DIR[d]
+                datasetNames.append(currentName)
+                res = list(self.topo.globalMeshResolution - 1)
+                res.reverse()
+                ds = f.create_dataset(currentName,
+                                      res,
+                                      dtype=np.float64,
+                                      compression=compression)
+                # In parallel, each proc must write in the proper part
+                # Of the dataset (of site global resolution)
+                ds[sl] = npw.realarray(df.data[d][self.topo.mesh.iCompute].T)
+        self._xmf_data_files.append((datasetNames, self._count, t))
 
-            g_start = self.topo.mesh.global_start
-            g_end = self.topo.mesh.global_end + 1
-            sl = [slice(g_start[i], g_end[i])
-                  for i in xrange(self.domain.dimension)]
-            sl.reverse()
-            sl = tuple(sl)
-            datasetNames = []
-            for field in self.variables:
-                df = field.discreteFields[self.topo]
-                for d in xrange(df.nbComponents):
-                    # creating datasets for the vector field
-                    currentName = df.name + S_DIR[d]
-                    datasetNames.append(currentName)
-                    res = list(self.topo.globalMeshResolution - 1)
-                    res.reverse()
-                    ds = f.create_dataset(currentName,
-                                          res,
-                                          dtype=np.float64,
-                                          compression=compression)
-                    # In parallel, each proc must write in the proper part
-                    # Of the dataset (of site global resolution)
-                    ds[sl] = \
-                        npw.realarray(df.data[d][self.topo.mesh.iCompute].T)
-            self._xmf_data_files.append((datasetNames, ite, t))
+        f.close()
 
-            f.close()
-        elif self.formattype == DATA:
-            f = open(self._get_filename(ite), 'w')
-            shape = self.topo.mesh.resolution
-            coords = self.topo.mesh.coords
-            pbDimension = self.domain.dimension
-            if pbDimension == 2:
-                if len(shape) == 2:
-                    for i in xrange(shape[0] - 1):
-                        for j in xrange(shape[1] - 1):
-                            f.write("{0:8.12} {1:8.12} ".format(
-                                    coords[0][i, 0], coords[1][0, j]))
-                            for field in self.variables:
-                                df = field.discreteFields[self.topo]
-                                if field.isVector:
-                                    f.write("{0:8.12} {1:8.12} ".format(
-                                            df[0][i, j],
-                                            df[1][i, j]))
-                                else:
-                                    f.write("{0:8.12} ".format(
-                                            df[0][i, j]))
-                            f.write("\n")
-            elif pbDimension == 3:
+    def _step_DATA(self, simu):
+        f = open(self._get_filename(self._count), 'w')
+        shape = self.topo.mesh.resolution
+        coords = self.topo.mesh.coords
+        pbDimension = self.domain.dimension
+        if pbDimension == 2:
+            if len(shape) == 2:
                 for i in xrange(shape[0] - 1):
                     for j in xrange(shape[1] - 1):
-                        for k in xrange(shape[2] - 1):
-                            f.write(
-                                "{0:8.12} {1:8.12} {2:8.12} ".format(
-                                    coords[0][i, 0, 0],
-                                    coords[1][0, j, 0],
-                                    coords[2][0, 0, k]))
-                            for field in self.variables:
-                                df = field.discreteFields[self.topo]
-                                if field.isVector:
-                                    f.write(
-                                        "{0:8.12} {1:8.12} " +
-                                        "{2:8.12} ".format(
-                                            df[0][i, j, k],
-                                            df[1][i, j, k],
-                                            df[2][i, j, k]))
-                                else:
-                                    f.write("{0:8.12} ".format(
-                                            df[0][i, j, k]))
-                            f.write("\n")
-            else:
-                for i in xrange(shape[0] - 1):
-                    f.write("{0:8.12} ".format(coords[0][i]))
-                    for field in self.variables:
-                        df = field.discreteFields[self.topo]
-                        if field.isVector:
-                            f.write(
-                                "{0:8.12} ".format(df[0][i]))
-                        else:
-                            f.write("{0:8.12} ".format(df[i]))
-                            f.write("\n")
-            f.close()
+                        f.write("{0:8.12} {1:8.12} ".format(
+                                coords[0][i, 0], coords[1][0, j]))
+                        for field in self.variables:
+                            df = field.discreteFields[self.topo]
+                            if field.isVector:
+                                f.write("{0:8.12} {1:8.12} ".format(
+                                        df[0][i, j],
+                                        df[1][i, j]))
+                            else:
+                                f.write("{0:8.12} ".format(
+                                        df[0][i, j]))
+                        f.write("\n")
+        elif pbDimension == 3:
+            for i in xrange(shape[0] - 1):
+                for j in xrange(shape[1] - 1):
+                    for k in xrange(shape[2] - 1):
+                        f.write(
+                            "{0:8.12} {1:8.12} {2:8.12} ".format(
+                                coords[0][i, 0, 0],
+                                coords[1][0, j, 0],
+                                coords[2][0, 0, k]))
+                        for field in self.variables:
+                            df = field.discreteFields[self.topo]
+                            if field.isVector:
+                                f.write(
+                                    "{0:8.12} {1:8.12} " +
+                                    "{2:8.12} ".format(
+                                        df[0][i, j, k],
+                                        df[1][i, j, k],
+                                        df[2][i, j, k]))
+                            else:
+                                f.write("{0:8.12} ".format(
+                                        df[0][i, j, k]))
+                        f.write("\n")
+        else:
+            for i in xrange(shape[0] - 1):
+                f.write("{0:8.12} ".format(coords[0][i]))
+                for field in self.variables:
+                    df = field.discreteFields[self.topo]
+                    if field.isVector:
+                        f.write(
+                            "{0:8.12} ".format(df[0][i]))
+                    else:
+                        f.write("{0:8.12} ".format(df[i]))
+                        f.write("\n")
+        f.close()
 
 
 def _listFormat(l):
@@ -332,7 +307,7 @@ def _TemporalGridXMF(topo, datasetNames, ite, t, filename):
     g += "     " + _listFormat(ori) + "\n"
     g += "     </DataItem>\n"
     g += "     <DataItem Dimensions=\"" + str(topo.mesh.dim) + " \""
-    g += " NumberType=\"Float\" Precision=\"4\" Format=\"XML\">\n"
+    g += " NumberType=\"Float\" Precision=\"8\" Format=\"XML\">\n"
     step = list(topo.mesh.space_step)
     step.reverse()
     g += "     " + _listFormat(step) + "\n"
diff --git a/HySoP/hysop/operator/poisson.py b/HySoP/hysop/operator/poisson.py
index 768d56466..a9c7a454f 100644
--- a/HySoP/hysop/operator/poisson.py
+++ b/HySoP/hysop/operator/poisson.py
@@ -7,9 +7,10 @@ Poisson problem.
 from parmepy.operator.continuous import Operator
 from parmepy.f2py import fftw2py
 from parmepy.operator.discrete.poisson_fft import PoissonFFT
-from parmepy.variables.variables import Variables
 from parmepy.constants import debug
 import numpy as np
+from parmepy.mpi.main_var import main_size
+from parmepy.operator.velocity_correction import VelocityCorrection
 
 
 class Poisson(Operator):
@@ -26,14 +27,19 @@ class Poisson(Operator):
 
     @debug
     def __init__(self, velocity, vorticity, resolutions, ghosts=None,
-                 method=None, topo=None, task_id=None, comm=None,
-                 **other_config):
+                 method=None, flowrate=None, topo=None,
+                 task_id=None, comm=None):
         """
         Constructor for the Poisson problem.
 
         @param[out] velocity : solution field
         @param[in] vorticity : rhs field
         @param[in] resolutions :  list of resolutions (one per variable)
+        @param[in] ghosts : ghost layer (optional), default=[0, 0, ...]
+        @param[in] method : numerical method (default = fft)
+        @param[in] flowrate : a flow rate value (through input surf,
+        normal to xdir) used to compute a correction of the solution field.
+        Default = 0 (no correction). See parmepy.operator.velocity_correction.
         """
         ## solution of the problem
         self.velocity = velocity
@@ -45,7 +51,6 @@ class Poisson(Operator):
 
         Operator.__init__(self, [velocity, vorticity], method, ghosts=ghosts,
                           topo=topo, task_id=task_id, comm=comm)
-        self.config = other_config
         if method is None:
             self.method = 'fftw'
         if self.method is 'fftw':
@@ -53,25 +58,20 @@ class Poisson(Operator):
             assert self.resolution == self.resolutions[self.vorticity],\
                 'Poisson error : for fftw, all variables must have\
                 the same global resolution.'
+        else:
+            raise AttributeError("Method not yet implemented.")
         self.input = [self.vorticity]
         self.output = [self.velocity]
-
-        # If there is a projection, vorticity is also an output
-        try:
-            if (isinstance(other_config['projection'], Variables)):
-                proj = other_config['projection'].data
-            else:
-                proj = other_config['projection']
-        except KeyError:
-            proj = None
-        if proj is not None and proj[0]:
-            self.output.append(self.vorticity)
+        if flowrate is not None:
+            self.withCorrection = True
+            self._flowrate = flowrate
+        else:
+            self.withCorrection = False
+        self.correction = None
+        self.projection = None
 
     def discretize(self):
         # Poisson solver based on fftw
-        if self.method is not 'fftw':
-            print self.method
-            raise AttributeError("Method not yet implemented.")
         if self.ghosts is not None:
             raise AttributeError("Ghosts points not yet\
             implemented for poisson operator.")
@@ -88,13 +88,13 @@ class Poisson(Operator):
             self.resolution, self.domain.length, comm=comm.py2f())
 
         if self._predefinedTopo is not None:
-            main_size = self._predefinedTopo.size
+            commsize = self._predefinedTopo.size
         elif self._comm is not None:
-            main_size = self._comm.Get_size()
+            commsize = self._comm.Get_size()
         else:
-            from parmepy.mpi.main_var import main_size
+            commsize = main_size
         topodims = np.ones((self.domain.dimension))
-        topodims[-1] = main_size
+        topodims[-1] = commsize
         #variables discretization
         if self._predefinedTopo is not None:
             topo = self._predefinedTopo
@@ -113,15 +113,32 @@ class Poisson(Operator):
                     ghosts=self.ghosts,
                     comm=self._comm)
                 self.discreteFields[v] = v.discretize(topo)
+        # Build and discretize correction operator, if necessary
+        if self.withCorrection:
+            self.correction = VelocityCorrection(self.velocity, self.vorticity,
+                                                 resolutions=self.resolutions,
+                                                 flowrate=self._flowrate,
+                                                 topo=self.velocity.topology)
+            self.correction.discretize()
 
     @debug
     def setUp(self):
         """
         """
         # Build and setup for the discrete operator
+        if self.withCorrection:
+            self.correction.setUp()
+            cd = self.correction.discreteOperator
+        else:
+            cd = None
         self.discreteOperator = PoissonFFT(self.discreteFields[self.velocity],
                                            self.discreteFields[self.vorticity],
-                                           method=self.method,
-                                           **self.config)
+                                           correction=cd,
+                                           projection=self.projection)
         self.discreteOperator.setUp()
         self._isUpToDate = True
+
+    def activateProjection(self, projection):
+        # If there is a projection, vorticity is also an output
+        self.output.append(self.vorticity)
+        self.projection = projection
diff --git a/HySoP/hysop/operator/redistribute.py b/HySoP/hysop/operator/redistribute.py
index d1f2a8c73..d805e01ea 100644
--- a/HySoP/hysop/operator/redistribute.py
+++ b/HySoP/hysop/operator/redistribute.py
@@ -23,6 +23,7 @@ from parmepy import __VERBOSE__
 from parmepy.constants import debug, PARMES_MPI_REAL, ORDERMPI, np, S_DIR
 from parmepy.operator.continuous import Operator
 from parmepy.mpi.topology import Bridge
+from parmepy.mpi import main_rank, main_comm
 from parmepy.methods_keys import Support
 
 
@@ -365,9 +366,6 @@ class Redistribute(Operator):
                     return res
         return res
 
-    def finalize(self):
-        pass
-
     def addRedistributeRequirement(self, red):
         raise ValueError(
             "Cannot add a requirement to a Redistribute operator.")
diff --git a/HySoP/hysop/operator/redistribute_intercomm.py b/HySoP/hysop/operator/redistribute_intercomm.py
index 9b68569a0..959e4d150 100644
--- a/HySoP/hysop/operator/redistribute_intercomm.py
+++ b/HySoP/hysop/operator/redistribute_intercomm.py
@@ -346,5 +346,3 @@ class RedistributeIntercomm(Operator):
                     return res
         return res
 
-    def finalize(self):
-        pass
diff --git a/HySoP/hysop/operator/reprojection.py b/HySoP/hysop/operator/reprojection.py
index eb3c89f95..a35bb739c 100644
--- a/HySoP/hysop/operator/reprojection.py
+++ b/HySoP/hysop/operator/reprojection.py
@@ -4,10 +4,10 @@
 Compute reprojection criterion and divergence maximum
 """
 import numpy as np
-from parmepy.constants import np, debug, PARMES_REAL, PARMES_MPI_REAL
+from parmepy.constants import debug, PARMES_MPI_REAL
 from parmepy.methods_keys import SpaceDiscretisation
 from parmepy.operator.monitors.monitoring import Monitoring
-from parmepy.numerics.finite_differences import FD_C_4, FD_C_2
+from parmepy.numerics.finite_differences import FD_C_4
 from parmepy.numerics.differential_operations import GradV
 import parmepy.tools.numpywrappers as npw
 from parmepy.numerics.updateGhosts import UpdateGhosts
@@ -21,150 +21,162 @@ class Reprojection_criterion(Monitoring):
     See the related PDF called "vorticity_solenoidal_projection.pdf"
     in ParmesDoc for more details.
     """
-    def __init__(self, vorticity,
-                 need_reproj,
-                 reproj_cst,
-                 topo, frequency,
-                 method={SpaceDiscretisation: FD_C_4},
-                 prefix=None, task_id=None):
+    def __init__(self, vorticity, reproj_cst, reprojRate,
+                 topo, checkCriterion=False, io_params=None,
+                 method=None, task_id=None):
         """
         Constructor.
         @param vorticity field
         @param method : finite difference scheme
         @param topo : the topology on which we want to monitor the fields
-        @param frequency : output file producing frequency.
         @param prefix : output file name.
+        @param checkCriterion :  set behavior of this operator :
+        if True, compute some criterion and force frequency
+        to 1 if reprojection is needed.
+        else (false) performs reprojection every reprojRate iterations.
+        @param reprojRate : set rate of execution of the reprojection
+        @param io_params : parameters (dict) to set file output.
+        If  None, no output. Set io_params = {} if you want output,
+        with default parameters values. Default file name = 'reproj'
+        See parmepy.tools.io_utils.Writer for details
         """
-        Monitoring.__init__(self, [vorticity], topo, frequency,
+        if io_params is not None:
+            if not "filename" in io_params:
+                io_params["filename"] = "reproj"
+            # Set output buffer shape
+            io_params["writebuffshape"] = (1, 5)
+
+        Monitoring.__init__(self, [vorticity], topo, io_params,
                             task_id=task_id)
-        if prefix is None:
-            self.prefix = './res/reproj_crit.dat'
-        else:
-            self.prefix = prefix
-        ## vorticity field
-        self.vorticity = vorticity
-        ## Numerical methods for space discretization
-        assert SpaceDiscretisation in method.keys()
-        self.method = method[SpaceDiscretisation]
-
-        self.input = [vorticity]
-        self.output = []
         # alias for local topo
         self._topo = self._predefinedTopo
         # \todo : rewrite for multiresolution case.
         # Note FP : for multiresolution case, it would probably be
         # better to use two different operators for energy and enstrophy.
-
-        # Boolean : is the reprojection of vorticity needed for
-        # current timestep ?
-        self.need_reproj = need_reproj
-
+        ## Frequency for reprojection
+        self.reprojRate = reprojRate
+        ## The initial value will be used as default during
+        # simulation
+        self.default_rate = reprojRate
+        ## Set behavior of this operator :
+        ## if True, compute some criterion and force frequency
+        ## to 1 if reprojection is needed.
+        ## else (false) performs reprojection every frequency iterations.
+        self.checkCriterion = checkCriterion
         # constant defining the reprojection criterion :
-        # if the latter is greater than this constant, then a reprojection is needed
+        # if the latter is greater than this constant, then a reprojection
+        # is needed
         self.reproj_cst = reproj_cst
-        self.default_reproj_frequency =  need_reproj.data[1]
         self.proj_counter = 0
+        ## local buffer
+        ## diag = [time, projCriterion, d1, d2, proj_counter]
+        ## See apply for details about d1, d2.
+        self.diagnostics = npw.zeros(5)
+        # Connect writer buffer to diagnostics, if required
+        if self._writer is not None:
+            self._writer.buffer = self.diagnostics.reshape(1,5)
+
+        if self.checkCriterion:
+            ## vorticity field
+            self.vorticity = vorticity
+            if method is None:
+                method = {SpaceDiscretisation: FD_C_4}
+            ## Numerical methods for space discretization
+            assert SpaceDiscretisation in method.keys()
+            self.method = method[SpaceDiscretisation]
+
+            self.input = [vorticity]
+        else:
+            self.input = []
+            
+        self.output = []
+
 
     def setUp(self):
-        Monitoring.setUp(self)
-        # Get discrete fields for vorticity.
-        # Note FP : two options to get the discrete fields:
-        # - 'field.discretization(topo)' that just try
-        # to get the discrete field and return an error
-        # if it does not exist.
-        # - 'field.discretizet(topo) try to get the discrete field and create
-        # a new discretization if it does not exist.
-        # Current choice : no creation.
-        self.discreteFields[self.vorticity] =\
-            self.vorticity.discretization(self._topo)
-
-        # prepare ghost points synchro for vorticity
-        self._synchronize = UpdateGhosts(self._topo,
-                                         self.vorticity.nbComponents)
-
-        # grad function
-        self._function = GradV(self._topo,
-                               method=self.method)
-
-        self.vort_d = self.discreteFields[self.vorticity]
-
-        memshape = self.vort_d.data[0].shape
-        worklength = self.vort_d.nbComponents ** 2
-        # gradient result array
-        self.grad = [npw.zeros(memshape)
-                     for i in xrange(worklength)]
+        if not self._isUpToDate and self.checkCriterion:
+            # Get discrete fields for vorticity.
+            # Note FP : two options to get the discrete fields:
+            # - 'field.discretization(topo)' that just try
+            # to get the discrete field and return an error
+            # if it does not exist.
+            # - 'field.discretizet(topo)
+            # try to get the discrete field and create
+            # a new discretization if it does not exist.
+            # Current choice : no creation.
+            self.discreteFields[self.vorticity] =\
+                self.vorticity.discretization(self._topo)
+
+            # prepare ghost points synchro for vorticity
+            self._synchronize = UpdateGhosts(self._topo,
+                                             self.vorticity.nbComponents)
+
+            # grad function
+            self._function = GradV(self._topo, method=self.method)
+
+            self.vort_d = self.discreteFields[self.vorticity]
+
+            memshape = self.vort_d.data[0].shape
+            worklength = self.vort_d.nbComponents ** 2
+            # gradient result array
+            self.grad = [npw.zeros(memshape) for i in xrange(worklength)]
 
         self._isUpToDate = True
 
-        # Open file for output
-        if (self._topo.rank == 0):
-            import os
-            path = os.path.dirname(self.prefix)
-            if not os.path.exists(path):
-                os.mkdir(path)
-
-            self.f = open(self.prefix, 'w')
-
     @debug
     @timed_function
     def apply(self, simulation=None):
         """
         Computes and prints reprojection criterion and divergence maximum
         """
-        t = simulation.time
+        self.diagnostics[0] = simulation.time
         ite = simulation.currentIteration
 
-        self.need_reproj.data[1] = self.default_reproj_frequency
-
-        # Synchronize ghost points of vorticity
-        self._synchronize(self.vort_d.data)
-        # gradU computation
-        self.grad = self._function(self.vort_d.data, self.grad)
-
-        diagnostics = npw.zeros((2))
-        nbComponents = self.vorticity.nbComponents
+        # Reset reprojection frequency to default
+        self.reprojRate = self.default_rate
+
+        # If required, computation of a criterion
+        # and reset frequency
+        if self.checkCriterion:
+            # Synchronize ghost points of vorticity
+            self._synchronize(self.vort_d.data)
+            # gradU computation
+            self.grad = self._function(self.vort_d.data, self.grad)
+            nbComponents = self.vorticity.nbComponents
+            # maxima of vorticity divergence (abs)
+            self.diagnostics[2] = \
+                np.max(abs(sum([(self.grad[(nbComponents + 1) * i])
+                               for i in xrange(nbComponents)])))
+
+            # maxima of partial derivatives of vorticity
+            for grad_n in self.grad:
+                self.diagnostics[3] = max(self.diagnostics[3],
+                                          np.max(abs(grad_n)))
+
+            # computation of the reprojection criterion and reduction
+            # among all proc.
+            projCriterion = self.diagnostics[2] / self.diagnostics[3]
+            projCriterion = \
+                self._topo.comm.allreduce(projCriterion, PARMES_MPI_REAL,
+                                          op=MPI.MAX)
+            self.diagnostics[1] = projCriterion
 
-        # maxima of vorticity divergence (abs)
-        diagnostics[0] = np.max(abs(sum([(self.grad[(nbComponents + 1) * i])
-                                    for i in xrange(nbComponents)])))
+            # is reprojection of vorticity needed for the future time step ?
+            if (projCriterion > self.reproj_cst):
+                self.reprojRate = 1
 
-        # maxima of partial derivatives of vorticity
-        for direc1 in xrange(nbComponents):
-            for direc2 in xrange(nbComponents):
-                diagnostics[1] = max(diagnostics[1],
-                                     np.max(abs(self.grad[nbComponents * \
-                                                          direc1 + direc2])))
+        # Note FP : is counter really useful? Maybe it should be increased
+        # by the operator that use projection (poisson)?
+        if (ite % self.reprojRate == 0):
+            self.proj_counter += 1
+        self.diagnostics[4] = self.proj_counter
 
-        # computation of the reprojection criterion and reduction among all proc.
-        projCriterion = diagnostics[0] / diagnostics[1]
-        projCriterion = \
-            self._topo.comm.allreduce(projCriterion,
-                                      PARMES_MPI_REAL,
-                                      op=MPI.MAX)
+        # Print results, if required
+        # Remark : writer buffer is (pointer) connected to diagnostics
+        if self._writer is not None and self._writer.doWrite(ite):
+            self._writer.write()
 
-        if self.need_reproj.data[0]:
-            # is reprojection of vorticity needed for the future time step ?
-            if ((projCriterion > self.reproj_cst) and (self.need_reproj.data[2])):
-                self.need_reproj.data[1] = 1
-
-            if (ite % self.need_reproj.data[1] == 0):
-                self.proj_counter += 1
-
-        # printer
-        if ((self._topo.comm.Get_rank() == 0) and (ite % self.freq == 0)):
-            self.f = open(self.prefix, 'a')
-            self.f.write("%s   %s   %s   %s    %s\n" % (t, projCriterion,
-                                                        diagnostics[0],
-                                                        diagnostics[1],
-                                                        self.proj_counter))
-            self.f.close()
-
-
-    def __str__(self):
-        s = "Reprojection_criterion. "
-        return s
-
-if __name__ == "__main__":
-    print __doc__
-    print "- Provided class : Reprojection_criterion"
-    print Reprojection_criterion.__doc__
+    def doProjection(self, ite):
+        """
+        True if projection must be done
+        """
+        return ite % self.reprojRate == 0
diff --git a/HySoP/hysop/operator/tests/test_Stretching.py b/HySoP/hysop/operator/tests/test_Stretching.py
index 5af3da16e..1be61b320 100755
--- a/HySoP/hysop/operator/tests/test_Stretching.py
+++ b/HySoP/hysop/operator/tests/test_Stretching.py
@@ -84,5 +84,5 @@ def test_Stretching():
     velo.initialize()
     vorti.initialize()
     stretch.setUp()
-    simulation = Simulation(0, timeStep, 20)
+    simulation = Simulation(0, 20, timeStep)
     stretch.apply(simulation)
diff --git a/HySoP/hysop/operator/tests/test_advec_scales.py b/HySoP/hysop/operator/tests/test_advec_scales.py
index 87087a472..3001b0529 100755
--- a/HySoP/hysop/operator/tests/test_advec_scales.py
+++ b/HySoP/hysop/operator/tests/test_advec_scales.py
@@ -48,8 +48,8 @@ def test_nullVelocity_m4():
         dtype=PARMES_REAL, order=ORDER)
     scal_ref_d.data[0][...] = scal_d.data[0][...]
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1, 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
 
@@ -97,8 +97,8 @@ def test_nullVelocity_vec_m4():
     scal_ref_d.data[1][...] = scal_d.data[1][...]
     scal_ref_d.data[2][...] = scal_d.data[2][...]
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
     assert np.allclose(scal_ref_d.data[1], scal_d.data[1])
@@ -125,7 +125,7 @@ def test_nullVelocity_m6():
                                      dtype=PARMES_REAL, order=ORDER)
     scal_init = npw.copy(scal_d.data[0])
 
-    advec.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_init, scal_d.data[0])
 
@@ -159,7 +159,7 @@ def test_nullVelocity_vec_m6():
     scal_init1 = npw.copy(scal_d.data[1])
     scal_init2 = npw.copy(scal_d.data[2])
 
-    advec.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_init0, scal_d.data[0])
     assert np.allclose(scal_init1, scal_d.data[1])
@@ -201,8 +201,8 @@ def test_nullVelocity_m8():
         dtype=PARMES_REAL, order=ORDER)
     scal_ref_d.data[0][...] = scal_d.data[0]
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
 
@@ -250,8 +250,8 @@ def test_nullVelocity_vec_m8():
     scal_ref_d.data[1][...] = scal_d.data[1][...]
     scal_ref_d.data[2][...] = scal_d.data[2][...]
 
-    advec.apply(Simulation(0., 0.075, 1))
-    advec_py.apply(Simulation(0., 0.075, 1))
+    advec.apply(Simulation(0., 1., 0.075))
+    advec_py.apply(Simulation(0., 1., 0.075))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
     assert np.allclose(scal_ref_d.data[1], scal_d.data[1])
@@ -301,8 +301,8 @@ def _randomVelocity_m4():
         np.random.random(scal_d.data[0].shape),
         dtype=PARMES_REAL, order=ORDER) / (2. * scal_d.resolution[1])
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1,))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
 
@@ -358,8 +358,8 @@ def _randomVelocity_vec_m4():
         np.random.random(scal_d.data[2].shape),
         dtype=PARMES_REAL, order=ORDER) / (2. * scal_d.resolution[1])
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
     assert np.allclose(scal_ref_d.data[1], scal_d.data[1])
@@ -409,8 +409,8 @@ def test_randomVelocity_m6():
         np.random.random(scal_d.data[0].shape),
         dtype=PARMES_REAL, order=ORDER) / (2. * scal_d.resolution[1])
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
 
@@ -466,8 +466,8 @@ def test_randomVelocity_vec_m6():
         np.random.random(scal_d.data[2].shape),
         dtype=PARMES_REAL, order=ORDER) / (2. * scal_d.resolution[1])
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0])
     assert np.allclose(scal_ref_d.data[1], scal_d.data[1])
@@ -517,8 +517,8 @@ def test_randomVelocity_m8():
         np.random.random(scal_d.data[0].shape),
         dtype=PARMES_REAL, order=ORDER) / (2. * scal_d.resolution[1])
 
-    advec.apply(Simulation(0., 0.1, 1))
-    advec_py.apply(Simulation(0., 0.1, 1))
+    advec.apply(Simulation(0., 1., 0.1))
+    advec_py.apply(Simulation(0., 1., 0.1))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0], atol=1e-07)
 
@@ -574,8 +574,8 @@ def test_randomVelocity_vec_m8():
         np.random.random(scal_d.data[2].shape),
         dtype=PARMES_REAL, order=ORDER) / (2. * scal_d.resolution[1])
 
-    advec.apply(Simulation(0., 0.01, 1))
-    advec_py.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
+    advec_py.apply(Simulation(0., 1., 0.01))
 
     assert np.allclose(scal_ref_d.data[0], scal_d.data[0], atol=1e-07)
     assert np.allclose(scal_ref_d.data[1], scal_d.data[1], atol=1e-07)
diff --git a/HySoP/hysop/operator/tests/test_analytic.py b/HySoP/hysop/operator/tests/test_analytic.py
index b71cacc92..2d6240b71 100644
--- a/HySoP/hysop/operator/tests/test_analytic.py
+++ b/HySoP/hysop/operator/tests/test_analytic.py
@@ -70,7 +70,7 @@ res2D = [33, 33]
 L2D = [1., 1.]
 origin2D = [0., 0.]
 nbc = 4
-simu = Simulation(10., 0.1, 1)
+simu = Simulation(0., 1., 0.1)
 
 ## I - Tests with direct calls of field.initialize
 
diff --git a/HySoP/hysop/operator/tests/test_particle_advection.py b/HySoP/hysop/operator/tests/test_particle_advection.py
index 2de911632..d4b604ca8 100644
--- a/HySoP/hysop/operator/tests/test_particle_advection.py
+++ b/HySoP/hysop/operator/tests/test_particle_advection.py
@@ -70,7 +70,7 @@ def assertion(scal, advec):
                                      dtype=PARMES_REAL, order=ORDER)
     scal_init = npw.copy(scal_d.data[0])
 
-    advec.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
     return np.allclose(scal_init, scal_d.data[0])
 
 
@@ -86,7 +86,7 @@ def assertion_vector2D(scal, advec):
     scal1_init = npw.copy(scal_d.data[0])
     scal2_init = npw.copy(scal_d.data[1])
 
-    advec.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
     return np.allclose(scal1_init, scal_d.data[0]) and \
         np.allclose(scal2_init, scal_d.data[1])
 
@@ -106,7 +106,7 @@ def assertion_vector3D(scal, advec):
     scal2_init = npw.copy(scal_d.data[1])
     scal3_init = npw.copy(scal_d.data[2])
 
-    advec.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
     return np.allclose(scal1_init, scal_d.data[0]) and \
         np.allclose(scal2_init, scal_d.data[1]) and \
         np.allclose(scal3_init, scal_d.data[2])
@@ -125,7 +125,7 @@ def assertion_list(scal, advec):
     scal1_init = npw.copy(scal1_d.data[0])
     scal2_init = npw.copy(scal2_d.data[0])
 
-    advec.apply(Simulation(0., 0.01, 1))
+    advec.apply(Simulation(0., 1., 0.01))
     print scal1_init, scal1_d.data[0]
     print scal2_init, scal2_d.data[0]
     return np.allclose(scal1_init, scal1_d.data[0]) and \
diff --git a/HySoP/hysop/operator/tests/test_velocity_correction.py b/HySoP/hysop/operator/tests/test_velocity_correction.py
new file mode 100755
index 000000000..06c2ff23d
--- /dev/null
+++ b/HySoP/hysop/operator/tests/test_velocity_correction.py
@@ -0,0 +1,148 @@
+# -*- coding: utf-8 -*-
+
+import parmepy as pp
+from parmepy.operator.velocity_correction import VelocityCorrection
+from parmepy.problem.simulation import Simulation
+import numpy as np
+from parmepy.mpi.topology import Cartesian
+import math
+pi = math.pi
+sin = np.sin
+cos = np.cos
+import parmepy.tools.numpywrappers as npw
+
+## Physical Domain description
+print " ========= Start Navier-Stokes 3D (Flow past bluff bodies) ========="
+
+## pi constant
+pi = np.pi
+cos = np.cos
+sin = np.sin
+# Upstream flow velocity
+uinf = 1.0
+tol = 1e-12
+
+
+## Function to compute TG velocity
+def computeVel(res, x, y, z, t):
+    res[0][...] = sin(x) * cos(y) * cos(z)
+    res[1][...] = - cos(x) * sin(y) * cos(z)
+    res[2][...] = 0.
+    return res
+
+
+## Function to compute reference vorticity
+def computeVort(res, x, y, z, t):
+    res[0][...] = - cos(x) * sin(y) * sin(z)
+    res[1][...] = - sin(x) * cos(y) * sin(z)
+    res[2][...] = 2. * sin(x) * sin(y) * cos(z)
+    return res
+
+
+## Function to compute TG velocity
+def computeVel2D(res, x, y, t):
+    res[0][...] = sin(x) * cos(y)
+    res[1][...] = - cos(x) * sin(y)
+    return res
+
+
+## Function to compute reference vorticity
+def computeVort2D(res, x, y, t):
+    res[0][...] = - cos(x) * sin(y)
+    return res
+
+
+def test_velocity_correction_3D():
+    dim = 3
+    ## Domain
+    boxlength = npw.realarray([2.0 * pi, pi, pi])
+    boxorigin = npw.realarray([0., 0., 0.])
+    box = pp.Box(dim, length=boxlength, origin=boxorigin)
+
+    ## Global resolution
+    nbElem = [33, 33, 33]
+
+    ## Vector Fields
+    velo = pp.Field(domain=box, formula=computeVel,
+                    name='Velocity', isVector=True)
+    vorti = pp.Field(domain=box, formula=computeVort,
+                     name='Vorticity', isVector=True)
+
+    ## Usual Cartesian topology definition
+    NBGHOSTS = 2
+    ghosts = np.ones((box.dimension)) * NBGHOSTS
+    topo = Cartesian(box, box.dimension, nbElem,
+                     ghosts=ghosts)
+
+    op = {}
+    ref_rate = uinf * box.length[1] * box.length[2]
+    op['correction'] = VelocityCorrection(velo, vorti,
+                                          resolutions={velo: nbElem,
+                                                       vorti: nbElem},
+                                          req_flowrate=ref_rate, topo=topo)
+    op['correction'].discretize()
+    op['correction'].setUp()
+    # === Simulation setup ===
+    simu = Simulation(tinit=0.0, tend=5., timeStep=0.005, iterMax=1000000)
+    # init fields
+    velo.initialize(topo=topo)
+    vorti.initialize(topo=topo)
+
+    # Apply correction
+    op['correction'].apply(simu)
+    # check new flowrate values
+    sref = op['correction'].discreteOperator.surfRef
+    flowrate = velo.integrateOnSurface(sref, topo)
+    print flowrate
+    assert (flowrate - ref_rate) < tol
+    for i in xrange(1, dim):
+        flowrate2 = velo.integrateOnSurface(sref, topo, component=i)
+        assert flowrate2 < tol
+
+
+def test_velocity_correction_2D():
+    dim = 2
+    ## Domain
+    boxlength = npw.realarray([2.0 * pi, pi])
+    boxorigin = npw.realarray([0., 0.])
+    box = pp.Box(dim, length=boxlength, origin=boxorigin)
+
+    ## Global resolution
+    nbElem = [33, 33]
+
+    ## Vector Fields
+    velo = pp.Field(domain=box, formula=computeVel2D,
+                    name='Velocity', isVector=True)
+    vorti = pp.Field(domain=box, formula=computeVort2D,
+                     name='Vorticity', isVector=False)
+
+    ## Usual Cartesian topology definition
+    NBGHOSTS = 2
+    ghosts = np.ones((box.dimension)) * NBGHOSTS
+    topo = Cartesian(box, box.dimension, nbElem,
+                     ghosts=ghosts)
+
+    op = {}
+    ref_rate = uinf * box.length[1]
+    op['correction'] = VelocityCorrection(velo, vorti,
+                                          resolutions={velo: nbElem,
+                                                       vorti: nbElem},
+                                          req_flowrate=ref_rate, topo=topo)
+    op['correction'].discretize()
+    op['correction'].setUp()
+    # === Simulation setup ===
+    simu = Simulation(tinit=0.0, tend=5., timeStep=0.005, iterMax=1000000)
+    # init fields
+    velo.initialize(topo=topo)
+    vorti.initialize(topo=topo)
+
+    # Apply correction
+    op['correction'].apply(simu)
+    # check new flowrate values
+    sref = op['correction'].discreteOperator.surfRef
+    flowrate = velo.integrateOnSurface(sref, topo)
+    print flowrate
+    assert (flowrate - ref_rate) < tol
+    for i in xrange(1, dim):
+        flowrate2 = velo.integrateOnSurface(sref, topo, component=i)
+        assert flowrate2 < tol
diff --git a/HySoP/hysop/operator/velocity_correction.py b/HySoP/hysop/operator/velocity_correction.py
index 72de985cc..0735875e5 100755
--- a/HySoP/hysop/operator/velocity_correction.py
+++ b/HySoP/hysop/operator/velocity_correction.py
@@ -2,13 +2,13 @@
 """
 @file operator/velocity_correction.py
 
-Correction of the velocity field according to the desired flowrate.
+Operator to shift velocity to fit with a required input flowrate.
 
 """
 from parmepy.constants import debug
 from parmepy.operator.discrete.velocity_correction import VelocityCorrection_D
 from parmepy.operator.continuous import Operator
-import numpy as np
+from parmepy.domain.obstacle.controlBox import ControlBox
 
 
 class VelocityCorrection(Operator):
@@ -20,20 +20,24 @@ class VelocityCorrection(Operator):
     """
 
     @debug
-    def __init__(self, velocity, vorticity, resolutions,
-                 topo=None, task_id=None, comm=None, **other_config):
+    def __init__(self, velocity, vorticity, resolutions, req_flowrate,
+                 surf=None, topo=None, comm=None, task_id=None):
         """
         Corrects the values of the velocity field after
         solving Poisson equation in order to prescribe proper
         mean flow and ensure the desired inlet flowrate.
 
-        @param velocity field
-        @param resolutions : grid resolution of velocity
-        @param topo : a predefined topology to discretize velocity
+        @param[in, out] velocity field to be corrected
+        @param[in] vorticity field used to compute correction
+        @param resolutions : grid resolutions of velocity and vorticity
+        @param[in] req_flowrate : required value for the flowrate
+        @param[in] surf : surface (parmepy.domain.obstacle.planes.SubPlane)
+        used to compute reference flow rates. Default = surface at x_origin,
+        normal to x-dir.
+        @param topo : a predefined topology to discretize velocity/vorticity
         """
         Operator.__init__(self, [velocity, vorticity], topo=topo,
                           task_id=task_id, comm=comm)
-        self.config = other_config
         ## velocity variable (vector)
         self.velocity = velocity
         ## velocity variable
@@ -43,6 +47,13 @@ class VelocityCorrection(Operator):
 
         self.input = [self.velocity, self.vorticity]
         self.output = [self.velocity]
+        ## A 'reference' surface on which flow rates will be computed
+        ## (usually, surface normal to the flow at origin)
+        self.surfRef = surf
+        ## Expected value for the flow rate through self.surfRef
+        self.req_flowrate = req_flowrate
+        dom = self.velocity.domain
+        self.cb = ControlBox(dom, dom.origin, dom.length)
 
     def discretize(self):
         if self._predefinedTopo is not None:
@@ -62,7 +73,20 @@ class VelocityCorrection(Operator):
         self.discreteOperator =\
             VelocityCorrection_D(self.discreteFields[self.velocity],
                                  self.discreteFields[self.vorticity],
-                                 **self.config)
+                                 self.req_flowrate, self.cb)
 
         self.discreteOperator.setUp()
         self._isUpToDate = True
+
+    def apply(self, simulation=None):
+        """
+        Compute correction and add it to current velocoty
+        """
+        self.discreteOperator.apply(simulation)
+
+    def computeCorrection(self):
+        """
+        Compute the required correction for the current state
+        but do not apply it onto velocity.
+        """
+        self.discreteOperator.computeCorrection()
diff --git a/HySoP/hysop/problem/problem.py b/HySoP/hysop/problem/problem.py
index 37227c629..5483c7dd1 100644
--- a/HySoP/hysop/problem/problem.py
+++ b/HySoP/hysop/problem/problem.py
@@ -181,7 +181,8 @@ class Problem(object):
         if main_rank == 0:
             print "\n\n Start solving ..."
         while not self.simulation.isOver:
-            self.simulation.printState()
+            if main_rank == 0:
+                self.simulation.printState()
 
             for op in self.operators:
                 if __VERBOSE__:
diff --git a/HySoP/hysop/problem/problem_tasks.py b/HySoP/hysop/problem/problem_tasks.py
index 9749aa4e1..3ec307560 100644
--- a/HySoP/hysop/problem/problem_tasks.py
+++ b/HySoP/hysop/problem/problem_tasks.py
@@ -178,7 +178,8 @@ class ProblemTasks(Problem):
         if self._main_rank == 0:
             print "\n\n Start solving ..."
         while not self.simulation.isOver:
-            self.simulation.printState()
+            if self._main_rank == 0:
+                self.simulation.printState()
             for op in self.operators:
                 op.apply(self.simulation)
             testdump = \
diff --git a/HySoP/hysop/problem/simulation.py b/HySoP/hysop/problem/simulation.py
index df6b3850f..fb16b8076 100644
--- a/HySoP/hysop/problem/simulation.py
+++ b/HySoP/hysop/problem/simulation.py
@@ -3,8 +3,6 @@
 
 Description of the simulation parameters (time, iteration ...)
 """
-from parmepy.mpi import main_rank
-from parmepy.variables.variables import Variables
 
 
 class Simulation(object):
@@ -29,10 +27,13 @@ class Simulation(object):
         @param bridgeOp : Redistribute operator
         @param computeTimeStepOp : Operator which evaluates
         the adaptative time step according to the flow fields
+
+        Notation:
+        iteration number 'currentIteration'
+        between tk and tkp1 = tk + timeStep
         """
         ## Simulation final time
         self.end = tend
-        print 'final time:', tend, self.end, iterMax
         ## Starting time
         self.start = tinit
         ## Simulation current time
@@ -41,25 +42,21 @@ class Simulation(object):
         self.isOver = False
         ## Iteration counter
         self.currentIteration = 0
-        ## Simulation time step variable
-        if (isinstance(timeStep, Variables)):
-            ## Set isAdaptative to True
-            self.isAdaptative = True
-            ## Simulation time step variable
-            self.timeStep_variable = timeStep
-            ## Simulation time step adaptative value
-            self.timeStep = timeStep.data[0]
-            ## Save the initial timestep value
-            self.timeStepInit = timeStep.data[0]
-        else:
-            ## Set isAdaptative to False
-            self.isAdaptative = False
-            ## Simulation time step fixed value
-            self.timeStep = timeStep
-
+        ## Simulation time step
+        self.timeStep = timeStep
+        ## Starting time for the current iteration
+        self.tk = tinit
+        ## tk + dt
+        self.tkp1 = tinit + self.timeStep
         ## Maximum number of iterations
         self.iterMax = iterMax
         self._lastStep = False
+        print self.start, self.timeStep, self.end
+        print self.start + self.timeStep
+        assert self.end > self.start, \
+            'Final time must be greater than initial time'
+        assert (self.start + self.timeStep) <= self.end,\
+            'start + step is bigger than end.'
 
     def init(self):
         self.currentIteration = 1
@@ -71,6 +68,8 @@ class Simulation(object):
         Compute a timestep for the incoming iteration (from a vairable and
         to reach the end of simulation)
         """
+        # Increment iteration counter
+        self.currentIteration += 1
         if self._lastStep:
             # The timestep was adjusted to reach end in the previous call
             # So now the simulation is over
@@ -78,42 +77,33 @@ class Simulation(object):
         else:
             if self.currentIteration < self.iterMax:
                 # Advance time for the iteration just ended
-                self.time += self.timeStep
-                self.currentIteration += 1
-
-                # Prepare the timestep for the following itertation
-                if self.isAdaptative and self.currentIteration >= 2:
-                    self.timeStep = self.timeStep_variable.data[0]
+                self.tk = self.tkp1
+                self.tkp1 = self.tk + self.timeStep
 
-                # Axdjust last timestep to reach self.end
-                if self.end - self.time < self.timeStep:
-                    self.timeStep = self.end - self.time
+                # Adjust last timestep to reach self.end
+                if self.tkp1 > self.end:
+                    self.timeStep = self.end - self.tk
+                    self.tkp1 = self.end
                     self._lastStep = True
             else:
                 # iteration number is reached
                 self.isOver = True
-            # Time is close enough to the end to consider that the simulation
-            # is over.
-            if abs(self.time - self.end) < 1e-10:
-                self.isOver = True
 
-    def printState(self):
+        self.time = self.tkp1
+
+    def updateTimeStep(self, newDt):
         """
-        print current state
+        Update current time step.
+        This function is usually called from Adapt_timestep operator.
         """
-        if main_rank == 0:
-            print "=== Iteration : {0:3d}, start from t ={1:6.3f} \
-to t ={2:6.3f} ===".format(
-                self.currentIteration, self.time, self.time + self.timeStep)
+        self.timeStep = newDt
 
-    def reset(self):
+    def printState(self):
         """
-        set initial time to current and reset iteration counter.
-        Used to initialize simulation after a restart.
+        print current state
         """
-        self.start = self.time
-        self.isOver = False
-        self.currentIteration = 1
+        msg = "== Iteration : {0:3d}, from t = {1:6.5} to t = {2:6.5f} =="
+        print msg.format(self.currentIteration, self.tk, self.time)
 
     def __str__(self):
         s = "Simulation parameters : "
@@ -123,3 +113,8 @@ to t ={2:6.3f} ===".format(
         s += str(self.currentIteration) + ', max number of iterations : '
         s += str(self.iterMax)
         return s
+
+    def initialize(self):
+        self.time = self.tkp1
+        self.isOver = False
+        self.currentIteration = 0
diff --git a/HySoP/hysop/tools/io_utils.py b/HySoP/hysop/tools/io_utils.py
new file mode 100644
index 000000000..1cced5183
--- /dev/null
+++ b/HySoP/hysop/tools/io_utils.py
@@ -0,0 +1,181 @@
+"""
+@file io_utils.py
+Tools related to i/o in parmes.
+"""
+import os
+import scitools.filetable as ft
+import parmepy.tools.numpywrappers as npw
+import inspect
+import parmepy.mpi as mpi
+
+
+class io(object):
+    """
+    Static class with utilities for file i/o
+    """
+    @staticmethod
+    def defaultPath():
+        """
+        Get the default path for io.
+        Used name if set. If not, get basename of the
+        top exec. file.
+        Example : if you run python MyExe.py for your parmes simulation,
+        results will be saved in ./MyExe/p1/, ./MyExe/p4/
+        the number after 'p' being the number of mpi processus
+        set for the simulation.
+        """
+        # Memo for getouterframe usage:
+        #    frame, filename, line_number, function_name, lines, index =\
+        # inspect.getouterframes(inspect.currentframe())[-1]
+        a = inspect.getouterframes(inspect.currentframe())[-1]
+        return os.path.join(a[1].split('.')[0], 'p' + str(mpi.main_size))
+
+    @staticmethod
+    def checkDir(filename, io_rank=0, comm=None):
+        """
+        Check if the directory of 'filename' exists.
+        Creates it if not.
+        @param filename : file name with full or relative path
+        @param io_rank : processus rank that does the check.
+        @param comm : the mpi communicator that does the check
+        """
+        # Create output dir if required
+        if comm is None:
+            comm = mpi.main_comm
+        if comm.Get_rank() == io_rank:
+            d = os.path.dirname(filename)
+            if not os.path.exists(d):
+                os.makedirs(d)
+
+
+class Writer(object):
+    """
+    @param params : dictionnary to set parameters
+    for output file (name, path, ...)
+    available keys are :
+    - filename : file name with full or relative path.
+    Default = data.out, in filepath.
+    If filename contains absolute path, filepath is ignored.
+    - filepath : path to the i/o file.
+    Default =  parmepy.tools.io_utils.io.defaultPath.
+    - frequency : how often output file is written. Default = 1
+    (i.e. every iteration). N means writes every N iteration and
+    0 means write only after last iteration.
+    - io_rank : mpi process rank (in comm) that performs writting. Default = 0
+    - writebuffshape : shape (numpy array) of the output buffer,
+     written in filename. Default = 1.
+    - safeOutput : boolean. Default = True.
+    True --> open/close file everytime data are written.
+    False --> open at init and close during finalize. Cost less but if simu
+    crashes, data are lost.
+    @param comm : mpi communicator that handles this
+    writer. Default = parmepy.mpi.main_comm.
+
+    Usage :
+    \code
+    >>> import parmepy.tools.io_utils as io
+    >>> defaultPath = io.io.defaultPath()
+    >>> params = {"filename": defaultPath + 'r.dat', "writebuffshape": (1, 2)}
+    >>> wr = Writer(params)
+    >>> ite = 3 # current iteration number
+    >>> if wr.doWrite(ite):
+    ...    wr.buffer[...] = 3.
+    ...    wr.write()
+    >>> wr.finalize()
+
+    \endcode
+    result : buffer is written into r.dat.
+    """
+    def __init__(self, params, comm=None):
+        """
+        """
+        # Directory for output
+        if "filepath" in params:
+            filepath = params["filepath"]
+        else:
+            filepath = io.defaultPath()
+        # file name
+        if "filename" in params:
+            filename = params["filename"]
+        else:
+            filename = 'data.out'
+        ## Absolute path + name for i/o file
+        ## Note that if filename contains absolute path
+        ## filepath is ignored
+        self.filename = os.path.join(filepath, filename)
+
+        ## How often i/o must occur
+        if "frequency" in params:
+            self.frequency = params["frequency"]
+        else:
+            self.frequency = 1
+        ## Rank of the mpi process that performs i/o (if any)
+        if "io_rank" in params:
+            self.io_rank = params["io_rank"]
+        else:
+            self.io_rank = 0
+
+        if comm is None:
+            comm = mpi.main_comm
+        ## A reference communicator, just to identify a
+        ## process rank for io.
+        self.comm = comm
+
+        # check if output dir exists, create it if not.
+        io.checkDir(self.filename, self.io_rank, self.comm)
+
+        ## Shape of the output buffer (must be a 2D numpy array)
+        if "writebuffshape" in params:
+            self.buffshape = params["writebuffshape"]
+        else:
+            self.buffshape = (1, 1)
+        assert len(self.buffshape) == 2,\
+            '2D shape required : set writebuffshape: (x,y)'
+        ## The buffer (numpy array) that will be printed to a file
+        self.buffer = npw.zeros(self.buffshape)
+
+        ## Defines how often
+        ## output file is written :
+        ## True --> open/close file everytime
+        ## data are written.
+        ## False --> open at init and close
+        ## during finalize. Cost less but if simu
+        ## crashes, data are lost.
+        if "safeOutput" in params:
+            self.safeOutput = params["safeOutput"]
+        else:
+            self.safeOutput = True
+
+        if self.safeOutput:
+            self.write = self._fullwrite
+        else:
+            self.write = self._partialwrite
+        # Force synchro to be sure that all output dirs
+        # have been created.
+        self.comm.barrier()
+        if self.comm.Get_rank() == self.io_rank:
+            self._file = open(self.filename, 'w')
+
+    def doWrite(self, ite):
+        """
+        True if output is required
+        for iteration ite
+        @param ite : current iteration number
+        """
+        rank = self.comm.Get_rank()
+        return rank == self.io_rank and (ite % self.frequency) == 0
+
+    def _fullwrite(self):
+        if self.comm.Get_rank() == self.io_rank:
+            self._file = open(self.filename, 'a')
+            ft.write(self._file, self.buffer)
+            self._file.close()
+
+    def _partialwrite(self):
+        if self.comm.Get_rank() == self.io_rank:
+            ft.write(self._file, self.buffer)
+
+    def finalize(self):
+        if self.comm.Get_rank() == self.io_rank:
+            if not self._file.closed:
+                self._file.close()
diff --git a/HySoP/hysop/tools/numpywrappers.py b/HySoP/hysop/tools/numpywrappers.py
index 11d8011ba..333d6527d 100644
--- a/HySoP/hysop/tools/numpywrappers.py
+++ b/HySoP/hysop/tools/numpywrappers.py
@@ -6,6 +6,7 @@ Tools to build numpy arrays based on parmepy setup (float type ...)
 """
 from parmepy.constants import PARMES_REAL, ORDER, PARMES_INTEGER, PARMES_INDEX
 import numpy as np
+import scitools.filetable as ft
 
 
 def zeros(shape, dtype=PARMES_REAL):
@@ -100,3 +101,11 @@ def prod(tab, dtype=PARMES_REAL):
     """
     return np.prod(tab, dtype=dtype)
 
+
+def writeToFile(fname, data, mode='a'):
+    """
+    write data (numpy array) to file fname
+    """
+    fout = open(fname, mode)
+    ft.write(fout, data)
+    fout.close()
diff --git a/HySoP/hysop/variable_parameter.py b/HySoP/hysop/variable_parameter.py
new file mode 100644
index 000000000..3cd0bea10
--- /dev/null
+++ b/HySoP/hysop/variable_parameter.py
@@ -0,0 +1,75 @@
+#
+# Definition of the adaptative time step (for example) on the 3D domain:
+# \code
+# dt_adapt = Variable(dom3D, name="adaptative_timestep, data=[0.1]")
+# ...
+# \endcode
+#
+#
+"""
+@file variables/variables.py
+
+Tools to define parameters that do not depend on space but may
+be used as input-output parameter during simulation.
+
+Example : the time step.
+
+\code
+data = {'timestep': 0.1 }
+dt = VariableParameter(data)
+
+## An operator that can change dt
+op = Adaptative_timestep(..., dt)
+simu = Simulation(..., dt, ...)
+
+op.apply(simu) ===> change simu.time_step
+
+\endcode
+
+"""
+
+
+class VariableParameter(object):
+    """
+    Class to embed a user-defined parameter (a dictionnary indeed).
+
+    VariableParameter has a member data which is mutable.
+    """
+
+    def __init__(self, data=None, name=None):
+        """
+        Creates a dictionnary with data
+        @param data: the data used as parameter
+        @param name : optional name, used if data is not a dict.
+
+        If data is a dictionnary, self.data = data, that's it.
+        Else data will be added into self.data dict, with name as a key.
+        """
+        ## name of the variable
+        self.name = name
+        ## data values
+        if isinstance(data, dict):
+            self.data = data
+        else:
+            if name is None:
+                msg = "Name arg is required when data is not a dict."
+                raise AttributeError(msg)
+            self.data = {name: data}
+
+    def __getitem__(self, key):
+        """ Access to the content of the data[key]
+        @param key : requested key.
+        @return component 'key' of the dict
+        """
+        return self.data[key]
+
+    def __setitem__(self, key, value):
+        """
+        Set the data[key] = value
+        """
+        self.data[key] = value
+
+    def __str__(self):
+        s = "Variable parameter, which contains: "
+        s += str(self.data)
+        return s
diff --git a/HySoP/hysop/variables/__init__.py b/HySoP/hysop/variables/__init__.py
deleted file mode 100644
index c876f935e..000000000
--- a/HySoP/hysop/variables/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-## @package parmepy.variables
-# Tools to build and use numpy arrays of 0_d_variables : all the types are allowed
-# to define a variable (real, integer, boolean ...)
-#
-# To define a variable, one must provide :
-# - the domain on which it is defined
-# and optionnaly:
-# - a user defined initialization of the numpy array containing the 0_d_subvariables
-# - a name
-#
-# First of all, one must have defined a domain :
-# \code
-# from parmepy.domain.box import Box
-# from parmepy.fields.continuous import Field
-#
-# # First, the domain : 3D and 2D boxes
-# dom3D = Box()
-# dom2D = Box(dimension=2, length=[1.0, 1.0], origin=[0., 0.])
-#\endcode
-#
-# Definition of the adaptative time step (for example) on the 3D domain:
-# \code
-# dt_adapt = Variable(dom3D, name="adaptative_timestep, data=[0.1]")
-# ...
-# \endcode
-#
-#
diff --git a/HySoP/hysop/variables/variables.py b/HySoP/hysop/variables/variables.py
deleted file mode 100644
index 5163d63e7..000000000
--- a/HySoP/hysop/variables/variables.py
+++ /dev/null
@@ -1,47 +0,0 @@
-"""
-@file variables/variables.py
-
-0_d_Variables description.
-"""
-from parmepy.constants import debug
-#from parmepy.fields.vector import VectorField
-from parmepy.mpi import main_rank
-from parmepy.constants import np
-
-
-class Variables(object):
-    """
-    0_d variable defined on a physical domain.
-    """
-
-    @debug
-    def __new__(cls, *args, **kw):
-        return object.__new__(cls, *args, **kw)
-
-    @debug
-    def __init__(self, domain, name=None, data=None):
-        """
-        Create a scalar of vector field which dimension is determined
-        by its domain of definition.
-
-        @param domain : physical domain where this field is defined.
-        @param name : name of the variable.
-        @param data : list of data subvalues of the variable.
-
-        """
-        ## Physical domain of definition of the variable.
-        self.domain = domain
-        ## name of the variable
-        if(name is not None):
-            self.name = name
-        else:
-            self.name = 'unamed'
-        ## data values
-        self.data = np.asarray(data)
-
-    def __str__(self):
-        """ Variable info display """
-
-        s = '[' + str(main_rank) + '] " ' + self.name + ' ", '
-        s += ' 0D variable with ' + str(len(self.data)) + 'sub_values '
-        return s
diff --git a/HySoP/setup.py.in b/HySoP/setup.py.in
index eef3c0bc9..3c75c9722 100644
--- a/HySoP/setup.py.in
+++ b/HySoP/setup.py.in
@@ -16,7 +16,6 @@ packages = ['parmepy',
             'parmepy.domain',
             'parmepy.domain.obstacle',
             'parmepy.fields',
-            'parmepy.variables',
             'parmepy.operator',
             'parmepy.operator.discrete',
             'parmepy.operator.monitors',
diff --git a/HySoP/src/CMakeLists.txt b/HySoP/src/CMakeLists.txt
index 88df76a15..c03b48f1d 100644
--- a/HySoP/src/CMakeLists.txt
+++ b/HySoP/src/CMakeLists.txt
@@ -23,15 +23,18 @@ if(WITH_FFTW)
     )
 endif()
 
+#set(SCALES_DIR scalesReduced)
+set(SCALES_DIR scalesInterface)
+
 # --- scales ---
 if(WITH_SCALES)
   set(${PARMES_LIBRARY_NAME}_SRCDIRS
     ${${PARMES_LIBRARY_NAME}_SRCDIRS}
-    scalesInterface/
-    scalesInterface/layout
-    scalesInterface/particles
-    scalesInterface/particles/advec_line
-    scalesInterface/output
+    ${SCALES_DIR}/
+    ${SCALES_DIR}/layout
+    ${SCALES_DIR}/particles
+    ${SCALES_DIR}/particles/advec_line
+    ${SCALES_DIR}/output
     )
 endif()
 
-- 
GitLab